diff --git a/assets/About-CL7R6oQV.js b/assets/About-CL7R6oQV.js deleted file mode 100644 index 7e7e754..0000000 --- a/assets/About-CL7R6oQV.js +++ /dev/null @@ -1,2 +0,0 @@ -import{o as c,a,b as e,d as f,u as x,p as b,j as _,y as v,m as o,k as n,i as s,q as $,U as w,V as i,e as k}from"./index-C5qMMmKR.js";import{_ as y}from"./logo-DBgTG2k7.js";import{S as C}from"./SettingsContainer-vLkCKPKC.js";const V={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},L=e("path",{fill:"currentColor",d:"M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"},null,-1),B=[L];function M(l,t){return c(),a("svg",V,[...B])}const A={name:"mdi-github",render:M},q={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},H=e("path",{fill:"currentColor",d:"M11 8v5l4.25 2.52l.77-1.28l-3.52-2.09V8zm10 2V3l-2.64 2.64A8.937 8.937 0 0 0 12 3a9 9 0 1 0 9 9h-2c0 3.86-3.14 7-7 7s-7-3.14-7-7s3.14-7 7-7c1.93 0 3.68.79 4.95 2.05L14 10z"},null,-1),z=[H];function N(l,t){return c(),a("svg",q,[...z])}const S={name:"ic-outline-update",render:N},D={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"},U=e("path",{d:"M379.4 178.3l-87.2 133.4C299 320 303 330.5 303 342c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-3 .3-6 .8-8.9l-57.6-33.5c-8.6 8.3-20.3 13.4-33.3 13.4-8.6 0-16.6-2.3-23.6-6.2L32 364.2v57.2c0 23.5 19.2 42.7 42.7 42.7h362.7c23.5 0 42.7-19.2 42.7-42.7V208.8l-58.6-38.9c-8.1 6.3-18.3 10.1-29.4 10.1-4.4 0-8.7-.6-12.7-1.7z",fill:"currentColor"},null,-1),j=e("path",{d:"M117 217c26.5 0 48 21.5 48 48 0 2.1-.2 4.2-.4 6.2l60.1 33.6c8.3-6.8 18.8-10.8 30.4-10.8 3.6 0 7.1.4 10.4 1.1l87.4-135.4c-5.6-7.8-8.9-17.4-8.9-27.8 0-26.5 21.5-48 48-48s48 21.5 48 48c0 3.9-.5 7.7-1.3 11.3l41.3 27.6V90.7c0-23.5-19.2-42.7-42.7-42.7H74.7C51.2 48 32 67.2 32 90.7V320l40-38.3c-1.9-5.2-3-10.8-3-16.7 0-26.5 21.5-48 48-48z",fill:"currentColor"},null,-1),E=[U,j];function I(l,t){return c(),a("svg",D,[...E])}const Z={name:"ion-md-analytics",render:I},F={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},G=e("path",{fill:"currentColor",d:"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-3 12H7c-.55 0-1-.45-1-1s.45-1 1-1h10c.55 0 1 .45 1 1s-.45 1-1 1m0-3H7c-.55 0-1-.45-1-1s.45-1 1-1h10c.55 0 1 .45 1 1s-.45 1-1 1m0-3H7c-.55 0-1-.45-1-1s.45-1 1-1h10c.55 0 1 .45 1 1s-.45 1-1 1"},null,-1),J=[G];function K(l,t){return c(),a("svg",F,[...J])}const O={name:"ic-round-message",render:K},P={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},Q=e("path",{fill:"currentColor",d:"M216 130.16q.06-2.16 0-4.32l14.92-18.64a8 8 0 0 0 1.48-7.06a107.6 107.6 0 0 0-10.88-26.25a8 8 0 0 0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186 40.54a8 8 0 0 0-3.94-6a107.29 107.29 0 0 0-26.25-10.86a8 8 0 0 0-7.06 1.48L130.16 40h-4.32L107.2 25.11a8 8 0 0 0-7.06-1.48a107.6 107.6 0 0 0-26.25 10.88a8 8 0 0 0-3.93 6l-2.64 23.76q-1.56 1.49-3 3L40.54 70a8 8 0 0 0-6 3.94a107.71 107.71 0 0 0-10.87 26.25a8 8 0 0 0 1.49 7.06L40 125.84v4.32L25.11 148.8a8 8 0 0 0-1.48 7.06a107.6 107.6 0 0 0 10.88 26.25a8 8 0 0 0 6 3.93l23.72 2.64q1.49 1.56 3 3L70 215.46a8 8 0 0 0 3.94 6a107.71 107.71 0 0 0 26.25 10.87a8 8 0 0 0 7.06-1.49L125.84 216q2.16.06 4.32 0l18.64 14.92a8 8 0 0 0 7.06 1.48a107.21 107.21 0 0 0 26.25-10.88a8 8 0 0 0 3.93-6l2.64-23.72q1.56-1.48 3-3l23.78-2.8a8 8 0 0 0 6-3.94a107.71 107.71 0 0 0 10.87-26.25a8 8 0 0 0-1.49-7.06ZM128 168a40 40 0 1 1 40-40a40 40 0 0 1-40 40"},null,-1),R=[Q];function T(l,t){return c(),a("svg",P,[...R])}const W={name:"ph-gear-fill",render:T},X={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Y=e("path",{fill:"currentColor",d:"M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4zm9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8A1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5a5 5 0 0 1-5 5a5 5 0 0 1-5-5a5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3a3 3 0 0 0 3 3a3 3 0 0 0 3-3a3 3 0 0 0-3-3"},null,-1),e1=[Y];function t1(l,t){return c(),a("svg",X,[...e1])}const n1={name:"mdi-instagram",render:t1},o1={class:"mb-4 text-xl font-bold"},s1=["alt"],c1={class:"mb-4 text-center"},a1={class:"mb-2 text-center"},l1={class:"flex flex-col mt-4"},_1=["href"],r1={href:"https://github.com/kiel-live/kiel-live",target:"_blank",rel:"noopener noreferrer",class:"flex items-center py-4 px-2 gap-2"},i1={key:0,class:"flex text-gray-500 dark:text-gray-400 text-sm gap-1"},g1=f({__name:"About",setup(l){const{t}=x();return(d1,m1)=>{const d=n1,m=W,r=v("router-link"),h=O,u=Z,p=S,g=A;return c(),b(C,null,{default:_(()=>[e("h1",o1,o(n(t)("kiel_live")),1),e("img",{src:y,alt:n(t)("logo_alt"),class:"w-36 mx-auto mb-4"},null,8,s1),e("p",c1,o(n(t)("where_is_my_bus")),1),e("p",a1,o(n(t)("support_us")),1),s($,{href:"https://www.instagram.com/kiel.live/",class:"mx-auto mb-auto w-8/10"},{default:_(()=>[s(d,{class:"mr-2"}),e("span",null,o(n(t)("follow_instagram",{account:"@kiel.live"})),1)]),_:1}),e("div",l1,[s(r,{to:{name:"settings-settings"},class:"flex items-center border-b border-t dark:border-gray-600 py-4 px-2 gap-2"},{default:_(()=>[s(m),e("span",null,o(n(t)("settings")),1)]),_:1}),s(r,{to:{name:"settings-contact"},class:"flex items-center border-b dark:border-gray-600 py-4 px-2 gap-2"},{default:_(()=>[s(h),e("span",null,o(n(t)("contact_us")),1)]),_:1}),e("a",{href:n(w),target:"_blank",rel:"noopener noreferrer",class:"flex items-center border-b dark:border-gray-600 py-4 px-2 gap-2"},[s(u),e("span",null,o(n(t)("analytics")),1)],8,_1),s(r,{to:{name:"settings-changelog"},class:"flex items-center py-4 px-2 gap-2 border-b dark:border-gray-600"},{default:_(()=>[s(p),e("span",null,o(n(t)("changelog")),1)]),_:1}),e("a",r1,[s(g),e("span",null,o(n(t)("develop_on_github")),1)])]),n(i)?(c(),a("p",i1,[e("span",null,o(n(t)("version_from")),1),e("span",null,o(n(i)),1)])):k("",!0)]),_:1})}}});export{g1 as default}; -//# sourceMappingURL=About-CL7R6oQV.js.map diff --git a/assets/About-CL7R6oQV.js.map b/assets/About-CL7R6oQV.js.map deleted file mode 100644 index 09dd8d1..0000000 --- a/assets/About-CL7R6oQV.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"About-CL7R6oQV.js","sources":["../../src/views/settings/About.vue"],"sourcesContent":["\n\n\n"],"names":["useI18n"],"mappings":"gqJAuEM,KAAA,CAAE,GAAMA"} \ No newline at end of file diff --git a/assets/About-DBQpOReH.js b/assets/About-DBQpOReH.js new file mode 100644 index 0000000..cd61db6 --- /dev/null +++ b/assets/About-DBQpOReH.js @@ -0,0 +1,2 @@ +import{m as _,a as l,b as t,o as s,d as k,u as C,x as w,l as i,B as y,s as o,p as n,k as a,y as $,R as V,S as p,N as B,e as L}from"./index-KiWmxDDy.js";import{_ as M}from"./logo-DBgTG2k7.js";import{S as A}from"./SettingsContainer-B74Cj-qJ.js";import{u as q}from"./useTrack-DmYPFwPy.js";const H={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function z(r,e){return s(),l("svg",H,e[0]||(e[0]=[t("path",{fill:"currentColor",d:"M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2"},null,-1)]))}const N=_({name:"mdi-github",render:z}),S={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function D(r,e){return s(),l("svg",S,e[0]||(e[0]=[t("path",{fill:"currentColor",d:"M11 8v5l4.25 2.52l.77-1.28l-3.52-2.09V8zm10 2V3l-2.64 2.64A8.94 8.94 0 0 0 12 3a9 9 0 1 0 9 9h-2c0 3.86-3.14 7-7 7s-7-3.14-7-7s3.14-7 7-7c1.93 0 3.68.79 4.95 2.05L14 10z"},null,-1)]))}const R=_({name:"ic-outline-update",render:D}),T={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"};function E(r,e){return s(),l("svg",T,e[0]||(e[0]=[t("path",{d:"M379.4 178.3l-87.2 133.4C299 320 303 330.5 303 342c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-3 .3-6 .8-8.9l-57.6-33.5c-8.6 8.3-20.3 13.4-33.3 13.4-8.6 0-16.6-2.3-23.6-6.2L32 364.2v57.2c0 23.5 19.2 42.7 42.7 42.7h362.7c23.5 0 42.7-19.2 42.7-42.7V208.8l-58.6-38.9c-8.1 6.3-18.3 10.1-29.4 10.1-4.4 0-8.7-.6-12.7-1.7z",fill:"currentColor"},null,-1),t("path",{d:"M117 217c26.5 0 48 21.5 48 48 0 2.1-.2 4.2-.4 6.2l60.1 33.6c8.3-6.8 18.8-10.8 30.4-10.8 3.6 0 7.1.4 10.4 1.1l87.4-135.4c-5.6-7.8-8.9-17.4-8.9-27.8 0-26.5 21.5-48 48-48s48 21.5 48 48c0 3.9-.5 7.7-1.3 11.3l41.3 27.6V90.7c0-23.5-19.2-42.7-42.7-42.7H74.7C51.2 48 32 67.2 32 90.7V320l40-38.3c-1.9-5.2-3-10.8-3-16.7 0-26.5 21.5-48 48-48z",fill:"currentColor"},null,-1)]))}const I=_({name:"ion-md-analytics",render:E}),U={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Z(r,e){return s(),l("svg",U,e[0]||(e[0]=[t("path",{fill:"currentColor",d:"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-3 12H7c-.55 0-1-.45-1-1s.45-1 1-1h10c.55 0 1 .45 1 1s-.45 1-1 1m0-3H7c-.55 0-1-.45-1-1s.45-1 1-1h10c.55 0 1 .45 1 1s-.45 1-1 1m0-3H7c-.55 0-1-.45-1-1s.45-1 1-1h10c.55 0 1 .45 1 1s-.45 1-1 1"},null,-1)]))}const j=_({name:"ic-round-message",render:Z}),F={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function G(r,e){return s(),l("svg",F,e[0]||(e[0]=[t("path",{fill:"currentColor",d:"M216 130.16q.06-2.16 0-4.32l14.92-18.64a8 8 0 0 0 1.48-7.06a107.6 107.6 0 0 0-10.88-26.25a8 8 0 0 0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186 40.54a8 8 0 0 0-3.94-6a107.3 107.3 0 0 0-26.25-10.86a8 8 0 0 0-7.06 1.48L130.16 40h-4.32L107.2 25.11a8 8 0 0 0-7.06-1.48a107.6 107.6 0 0 0-26.25 10.88a8 8 0 0 0-3.93 6l-2.64 23.76q-1.56 1.49-3 3L40.54 70a8 8 0 0 0-6 3.94a107.7 107.7 0 0 0-10.87 26.25a8 8 0 0 0 1.49 7.06L40 125.84v4.32L25.11 148.8a8 8 0 0 0-1.48 7.06a107.6 107.6 0 0 0 10.88 26.25a8 8 0 0 0 6 3.93l23.72 2.64q1.49 1.56 3 3L70 215.46a8 8 0 0 0 3.94 6a107.7 107.7 0 0 0 26.25 10.87a8 8 0 0 0 7.06-1.49L125.84 216q2.16.06 4.32 0l18.64 14.92a8 8 0 0 0 7.06 1.48a107.2 107.2 0 0 0 26.25-10.88a8 8 0 0 0 3.93-6l2.64-23.72q1.56-1.48 3-3l23.78-2.8a8 8 0 0 0 6-3.94a107.7 107.7 0 0 0 10.87-26.25a8 8 0 0 0-1.49-7.06ZM128 168a40 40 0 1 1 40-40a40 40 0 0 1-40 40"},null,-1)]))}const J=_({name:"ph-gear-fill",render:G}),K={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function O(r,e){return s(),l("svg",K,e[0]||(e[0]=[t("path",{fill:"currentColor",d:"M7.8 2h8.4C19.4 2 22 4.6 22 7.8v8.4a5.8 5.8 0 0 1-5.8 5.8H7.8C4.6 22 2 19.4 2 16.2V7.8A5.8 5.8 0 0 1 7.8 2m-.2 2A3.6 3.6 0 0 0 4 7.6v8.8C4 18.39 5.61 20 7.6 20h8.8a3.6 3.6 0 0 0 3.6-3.6V7.6C20 5.61 18.39 4 16.4 4zm9.65 1.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 17.25 8A1.25 1.25 0 0 1 16 6.75a1.25 1.25 0 0 1 1.25-1.25M12 7a5 5 0 0 1 5 5a5 5 0 0 1-5 5a5 5 0 0 1-5-5a5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3a3 3 0 0 0 3 3a3 3 0 0 0 3-3a3 3 0 0 0-3-3"},null,-1)]))}const P=_({name:"mdi-instagram",render:O}),Q={class:"mb-4 text-xl font-bold"},W=["alt"],X={class:"mb-4 text-center"},Y={class:"mb-2 text-center"},e1={class:"flex flex-col mt-4"},t1=["href"],n1={key:0,class:"flex text-gray-500 dark:text-gray-400 text-sm gap-1"},c1=k({__name:"About",setup(r){const{t:e}=C(),{track:u}=q();return(o1,c)=>{const g=P,h=J,m=y("router-link"),f=j,x=I,v=R,b=N;return s(),w(A,null,{default:i(()=>[t("h1",Q,o(n(e)("kiel_live")),1),t("img",{src:M,alt:n(e)("logo_alt"),class:"w-36 mx-auto mb-4"},null,8,W),t("p",X,o(n(e)("where_is_my_bus")),1),t("p",Y,o(n(e)("support_us")),1),a($,{href:"https://www.instagram.com/kiel.live/",class:"mx-auto mb-auto w-8/10",onClick:c[0]||(c[0]=d=>n(u)("click:instagram"))},{default:i(()=>[a(g,{class:"mr-2"}),t("span",null,o(n(e)("follow_instagram",{account:"@kiel.live"})),1)]),_:1}),t("div",e1,[a(m,{to:{name:"settings-settings"},class:"flex items-center border-b border-t dark:border-gray-600 py-4 px-2 gap-2"},{default:i(()=>[a(h),t("span",null,o(n(e)("settings")),1)]),_:1}),a(m,{to:{name:"settings-contact"},class:"flex items-center border-b dark:border-gray-600 py-4 px-2 gap-2"},{default:i(()=>[a(f),t("span",null,o(n(e)("contact_us")),1)]),_:1}),t("a",{href:n(V),target:"_blank",rel:"noopener noreferrer",class:"flex items-center border-b dark:border-gray-600 py-4 px-2 gap-2",onClick:c[1]||(c[1]=d=>n(u)("click:analytics"))},[a(x),t("span",null,o(n(e)("analytics")),1)],8,t1),a(m,{to:{name:"settings-changelog"},class:"flex items-center py-4 px-2 gap-2 border-b dark:border-gray-600"},{default:i(()=>[a(v),t("span",null,o(n(e)("changelog")),1)]),_:1}),t("a",{href:"https://github.com/kiel-live/kiel-live",target:"_blank",rel:"noopener noreferrer",class:"flex items-center py-4 px-2 gap-2",onClick:c[2]||(c[2]=d=>n(u)("click:github"))},[a(b),t("span",null,o(n(e)("develop_on_github")),1)])]),n(p)?(s(),l("p",n1,[t("span",null,o(n(e)("version_from")),1),a(m,{to:{name:"dev"}},{default:i(()=>[B(o(n(p)),1)]),_:1})])):L("",!0)]),_:1})}}});export{c1 as default}; +//# sourceMappingURL=About-DBQpOReH.js.map diff --git a/assets/About-DBQpOReH.js.map b/assets/About-DBQpOReH.js.map new file mode 100644 index 0000000..74bb894 --- /dev/null +++ b/assets/About-DBQpOReH.js.map @@ -0,0 +1 @@ +{"version":3,"file":"About-DBQpOReH.js","sources":["../../src/views/settings/About.vue"],"sourcesContent":["\n\n\n"],"names":["t","useI18n","track","useTrack"],"mappings":"glJA8EM,KAAA,CAAE,EAAAA,CAAE,EAAIC,EAAQ,EAChB,CAAE,MAAAC,CAAM,EAAIC,EAAS"} \ No newline at end of file diff --git a/assets/Changelog-CpiSnnLL.js b/assets/Changelog-CpiSnnLL.js deleted file mode 100644 index bdbedfe..0000000 --- a/assets/Changelog-CpiSnnLL.js +++ /dev/null @@ -1,2 +0,0 @@ -import{o,a as s,b as t,d as i,u as h,p as g,j as m,m as a,k as n,M as p,L as u,i as b,P as f}from"./index-C5qMMmKR.js";import{S as x}from"./SettingsContainer-vLkCKPKC.js";const k={viewBox:"0 0 448 512",width:"1.2em",height:"1.2em"},v=t("path",{fill:"currentColor",d:"M448 384c-28.02 0-31.26-32-74.5-32c-43.43 0-46.825 32-74.75 32c-27.695 0-31.454-32-74.75-32c-42.842 0-47.218 32-74.5 32c-28.148 0-31.202-32-74.75-32c-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48zm0 128H0v-96c43.356 0 46.767-32 74.75-32c27.951 0 31.253 32 74.75 32c42.843 0 47.217-32 74.5-32c28.148 0 31.201 32 74.75 32c43.357 0 46.767-32 74.75-32c27.488 0 31.252 32 74.5 32zM96 96c-17.75 0-32-14.25-32-32c0-31 32-23 32-64c12 0 32 29.5 32 56s-14.25 40-32 40m128 0c-17.75 0-32-14.25-32-32c0-31 32-23 32-64c12 0 32 29.5 32 56s-14.25 40-32 40m128 0c-17.75 0-32-14.25-32-32c0-31 32-23 32-64c12 0 32 29.5 32 56s-14.25 40-32 40"},null,-1),w=[v];function D(r,e){return o(),s("svg",k,[...w])}const y={name:"fa-solid-birthday-cake",render:D},V={class:"mb-2 text-xl font-bold"},B={class:"border-b-1 dark:border-gray-600 mt-2 mb-1 font-bold"},C={class:"border-b-1 dark:border-gray-600 mt-2 mb-1 font-bold"},$=i({__name:"Changelog",setup(r){const{t:e}=h(),l=[{date:new Date("2024-07-05"),text:e("changelog_nok_ferry")},{date:new Date("2022-06-27"),text:e("changelog_trips_path_lite_mode")},{date:new Date("2022-05-03"),text:e("changelog_rewrite_version_2")},{date:new Date("2020-05-13"),text:e("changelog_live_locations")},{date:new Date("2019-06-22"),text:e("changelog_alerts")}];return(S,L)=>{const _=y;return o(),g(x,null,{default:m(()=>[t("h1",V,a(n(e)("changelog")),1),(o(),s(u,null,p(l,(c,d)=>t("div",{key:d},[t("h2",B,a(c.date.toLocaleDateString()),1),t("span",null,a(c.text),1)])),64)),t("h2",C,a(new Date("2019-05-20").toLocaleDateString()),1),t("span",null,[b(_,{class:"align-text-bottom"}),f(" "+a(n(e)("changelog_project_started")),1)])]),_:1})}}});export{$ as default}; -//# sourceMappingURL=Changelog-CpiSnnLL.js.map diff --git a/assets/Changelog-CpiSnnLL.js.map b/assets/Changelog-CpiSnnLL.js.map deleted file mode 100644 index 3fa6112..0000000 --- a/assets/Changelog-CpiSnnLL.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Changelog-CpiSnnLL.js","sources":["../../src/views/settings/Changelog.vue"],"sourcesContent":["\n\n\n"],"names":["t","useI18n","changelog"],"mappings":"qvCAoBM,KAAA,CAAE,EAAAA,GAAMC,IAORC,EAA8B,CAClC,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMF,EAAE,qBAAqB,CAC/B,EACA,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMA,EAAE,gCAAgC,CAC1C,EACA,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMA,EAAE,6BAA6B,CACvC,EACA,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMA,EAAE,0BAA0B,CACpC,EACA,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMA,EAAE,kBAAkB,CAC5B,CAAA"} \ No newline at end of file diff --git a/assets/Changelog-bM6ddPWi.js b/assets/Changelog-bM6ddPWi.js new file mode 100644 index 0000000..d8d46e0 --- /dev/null +++ b/assets/Changelog-bM6ddPWi.js @@ -0,0 +1,2 @@ +import{m as i,a as s,b as t,o,d as h,u as g,x as m,l as p,s as a,p as c,K as u,J as b,k as x,N as f}from"./index-KiWmxDDy.js";import{S as k}from"./SettingsContainer-B74Cj-qJ.js";const w={viewBox:"0 0 448 512",width:"1.06em",height:"1.2em"};function v(r,e){return o(),s("svg",w,e[0]||(e[0]=[t("path",{fill:"currentColor",d:"M448 384c-28.02 0-31.26-32-74.5-32c-43.43 0-46.825 32-74.75 32c-27.695 0-31.454-32-74.75-32c-42.842 0-47.218 32-74.5 32c-28.148 0-31.202-32-74.75-32c-43.547 0-46.653 32-74.75 32v-80c0-26.5 21.5-48 48-48h16V112h64v144h64V112h64v144h64V112h64v144h16c26.5 0 48 21.5 48 48zm0 128H0v-96c43.356 0 46.767-32 74.75-32c27.951 0 31.253 32 74.75 32c42.843 0 47.217-32 74.5-32c28.148 0 31.201 32 74.75 32c43.357 0 46.767-32 74.75-32c27.488 0 31.252 32 74.5 32zM96 96c-17.75 0-32-14.25-32-32c0-31 32-23 32-64c12 0 32 29.5 32 56s-14.25 40-32 40m128 0c-17.75 0-32-14.25-32-32c0-31 32-23 32-64c12 0 32 29.5 32 56s-14.25 40-32 40m128 0c-17.75 0-32-14.25-32-32c0-31 32-23 32-64c12 0 32 29.5 32 56s-14.25 40-32 40"},null,-1)]))}const D=i({name:"fa-solid-birthday-cake",render:v}),y={class:"mb-2 text-xl font-bold"},V={class:"border-b-1 dark:border-gray-600 mt-2 mb-1 font-bold"},B={class:"border-b-1 dark:border-gray-600 mt-2 mb-1 font-bold"},z=h({__name:"Changelog",setup(r){const{t:e}=g(),l=[{date:new Date("2024-07-05"),text:e("changelog_nok_ferry")},{date:new Date("2022-06-27"),text:e("changelog_trips_path_lite_mode")},{date:new Date("2022-05-03"),text:e("changelog_rewrite_version_2")},{date:new Date("2020-05-13"),text:e("changelog_live_locations")},{date:new Date("2019-06-22"),text:e("changelog_alerts")}];return(C,S)=>{const _=D;return o(),m(k,null,{default:p(()=>[t("h1",y,a(c(e)("changelog")),1),(o(),s(b,null,u(l,(n,d)=>t("div",{key:d},[t("h2",V,a(n.date.toLocaleDateString()),1),t("span",null,a(n.text),1)])),64)),t("h2",B,a(new Date("2019-05-20").toLocaleDateString()),1),t("span",null,[x(_,{class:"align-text-bottom"}),f(" "+a(c(e)("changelog_project_started")),1)])]),_:1})}}});export{z as default}; +//# sourceMappingURL=Changelog-bM6ddPWi.js.map diff --git a/assets/Changelog-bM6ddPWi.js.map b/assets/Changelog-bM6ddPWi.js.map new file mode 100644 index 0000000..0be7f1a --- /dev/null +++ b/assets/Changelog-bM6ddPWi.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Changelog-bM6ddPWi.js","sources":["../../src/views/settings/Changelog.vue"],"sourcesContent":["\n\n\n"],"names":["t","useI18n","changelog"],"mappings":"gwCAoBM,KAAA,CAAE,EAAAA,CAAE,EAAIC,EAAQ,EAOhBC,EAA8B,CAClC,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMF,EAAE,qBAAqB,CAC/B,EACA,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMA,EAAE,gCAAgC,CAC1C,EACA,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMA,EAAE,6BAA6B,CACvC,EACA,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMA,EAAE,0BAA0B,CACpC,EACA,CACE,KAAU,IAAA,KAAK,YAAY,EAC3B,KAAMA,EAAE,kBAAkB,CAAA,CAE9B"} \ No newline at end of file diff --git a/assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js b/assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js new file mode 100644 index 0000000..6c1fcb5 --- /dev/null +++ b/assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js @@ -0,0 +1,2 @@ +import{d as a,t as l,o as s,a as u}from"./index-KiWmxDDy.js";const p=["checked"],m=a({__name:"Checkbox",props:{modelValue:{type:Boolean,required:!0}},emits:["update:modelValue"],setup(t){const e=l(t,"modelValue");return(n,o)=>(s(),u("input",{type:"checkbox",class:"w-5 h-5 flex-shrink-0 rounded",checked:e.value,onChange:o[0]||(o[0]=d=>n.$emit("update:modelValue",!e.value))},null,40,p))}});export{m as _}; +//# sourceMappingURL=Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js.map diff --git a/assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js.map b/assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js.map new file mode 100644 index 0000000..0ec7d41 --- /dev/null +++ b/assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js","sources":["../../src/components/atomic/Checkbox.vue"],"sourcesContent":["\n\n\n"],"names":["modelValue","toRef","__props"],"mappings":"2LAuBM,MAAAA,EAAaC,EAXLC,EAWkB,YAAY"} \ No newline at end of file diff --git a/assets/Contact-4hCDClDF.js b/assets/Contact-4hCDClDF.js new file mode 100644 index 0000000..eef206a --- /dev/null +++ b/assets/Contact-4hCDClDF.js @@ -0,0 +1,7 @@ +import{m as b,a as x,b as t,o as d,d as g,u as w,V as k,W as h,x as v,l as r,s as c,p as o,w as y,X as $,U as C,k as m,y as S,Y as V,Z as j,S as B}from"./index-KiWmxDDy.js";import{_ as D}from"./logo-DBgTG2k7.js";import{S as R}from"./SettingsContainer-B74Cj-qJ.js";import{u as U}from"./useTrack-DmYPFwPy.js";const I={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function M(u,e){return d(),x("svg",I,e[0]||(e[0]=[t("path",{fill:"currentColor",d:"m20 8l-8 5l-8-5V6l8 5l8-5m0-2H4c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2"},null,-1)]))}const E=b({name:"mdi-email",render:M}),N={class:"mb-4 text-xl font-bold"},T=["alt"],H={class:"mb-4 text-center"},Y=g({__name:"Contact",setup(u){const{t:e}=w(),{track:_}=U(),a=k(`${h}.contact_message`,e("contact_email_body"));async function p(){const i=encodeURIComponent(e("feedback_subject")),s={version:B},n=encodeURIComponent(`${a.value} + +--- +${Object.entries(s).map(([l,f])=>`${l}: ${f}`).join(` +`)} +`);_("contact:send-email"),window.open(`mailto:${j}?subject=${i}&body=${n}`),a.value=e("contact_email_body")}return(i,s)=>{const n=E;return d(),v(R,null,{default:r(()=>[t("h1",N,c(o(e)("kiel_live")),1),t("img",{src:D,alt:o(e)("logo_alt"),class:"w-36 mx-auto mb-4"},null,8,T),t("p",H,c(o(e)("contact_title")),1),t("form",{class:"flex flex-col gap-4 items-center mx-auto mb-auto w-8/10",onSubmit:V(p,["prevent"])},[y(t("textarea",{"onUpdate:modelValue":s[0]||(s[0]=l=>C(a)?a.value=l:null),rows:"10",class:"w-full p-2 rounded-md border-gray-200 dark:border-dark-800",type:"text"},null,512),[[$,o(a)]]),m(S,{type:"submit"},{default:r(()=>[m(n,{class:"mr-2"}),t("span",null,c(o(e)("send_email")),1)]),_:1})],32)]),_:1})}}});export{Y as default}; +//# sourceMappingURL=Contact-4hCDClDF.js.map diff --git a/assets/Contact-4hCDClDF.js.map b/assets/Contact-4hCDClDF.js.map new file mode 100644 index 0000000..553fc5a --- /dev/null +++ b/assets/Contact-4hCDClDF.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Contact-4hCDClDF.js","sources":["../../src/views/settings/Contact.vue"],"sourcesContent":["\n\n\n"],"names":["t","useI18n","track","useTrack","message","useStorage","localStoragePrefix","sendEmail","subject","additionalData","buildDate","body","key","value","feedbackMail"],"mappings":"msBAkCM,KAAA,CAAE,EAAAA,CAAE,EAAIC,EAAQ,EAChB,CAAE,MAAAC,CAAM,EAAIC,EAAS,EAErBC,EAAUC,EAAW,GAAGC,CAAkB,mBAAoBN,EAAE,oBAAoB,CAAC,EAE3F,eAAeO,GAAY,CACzB,MAAMC,EAAU,mBAAmBR,EAAE,kBAAkB,CAAC,EAClDS,EAAiB,CACrB,QAASC,CACX,EACMC,EAAO,mBACX,GAAGP,EAAQ,KAAK;AAAA;AAAA;AAAA,EAAY,OAAO,QAAQK,CAAc,EACtD,IAAI,CAAC,CAACG,EAAKC,CAAK,IAAM,GAAGD,CAAG,KAAKC,CAAK,EAAE,EACxC,KAAK;AAAA,CAAI,CAAC;AAAA,CACf,EACAX,EAAM,oBAAoB,EAC1B,OAAO,KAAK,UAAUY,CAAY,YAAYN,CAAO,SAASG,CAAI,EAAE,EAC5DP,EAAA,MAAQJ,EAAE,oBAAoB,CAAA"} \ No newline at end of file diff --git a/assets/Contact-BmppTCHn.js b/assets/Contact-BmppTCHn.js deleted file mode 100644 index b1eea3b..0000000 --- a/assets/Contact-BmppTCHn.js +++ /dev/null @@ -1,7 +0,0 @@ -import{o as _,a as f,b as t,d as b,u as x,Y as h,Z as g,p as $,j as r,m as c,k as o,w,$ as v,X as k,i as m,q as y,a0 as C,a1 as j,V as S}from"./index-C5qMMmKR.js";import{_ as V}from"./logo-DBgTG2k7.js";import{S as B}from"./SettingsContainer-vLkCKPKC.js";const D={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},I=t("path",{fill:"currentColor",d:"m20 8l-8 5l-8-5V6l8 5l8-5m0-2H4c-1.11 0-2 .89-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2"},null,-1),M=[I];function R(d,e){return _(),f("svg",D,[...M])}const U={name:"mdi-email",render:R},E={class:"mb-4 text-xl font-bold"},N=["alt"],q={class:"mb-4 text-center"},T=b({__name:"Contact",setup(d){const{t:e}=x(),a=h(`${g}.contact_message`,e("contact_email_body"));async function u(){const i=encodeURIComponent(e("feedback_subject")),s={version:S},n=encodeURIComponent(`${a.value} - ---- -${Object.entries(s).map(([l,p])=>`${l}: ${p}`).join(` -`)} -`);window.open(`mailto:${j}?subject=${i}&body=${n}`),a.value=e("contact_email_body")}return(i,s)=>{const n=U;return _(),$(B,null,{default:r(()=>[t("h1",E,c(o(e)("kiel_live")),1),t("img",{src:V,alt:o(e)("logo_alt"),class:"w-36 mx-auto mb-4"},null,8,N),t("p",q,c(o(e)("contact_title")),1),t("form",{class:"flex flex-col gap-4 items-center mx-auto mb-auto w-8/10",onSubmit:C(u,["prevent"])},[w(t("textarea",{"onUpdate:modelValue":s[0]||(s[0]=l=>k(a)?a.value=l:null),rows:"10",class:"w-full p-2 rounded-md border-gray-200 dark:border-dark-800",type:"text"},null,512),[[v,o(a)]]),m(y,{type:"submit"},{default:r(()=>[m(n,{class:"mr-2"}),t("span",null,c(o(e)("send_email")),1)]),_:1})],32)]),_:1})}}});export{T as default}; -//# sourceMappingURL=Contact-BmppTCHn.js.map diff --git a/assets/Contact-BmppTCHn.js.map b/assets/Contact-BmppTCHn.js.map deleted file mode 100644 index 8a6c4b9..0000000 --- a/assets/Contact-BmppTCHn.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Contact-BmppTCHn.js","sources":["../../src/views/settings/Contact.vue"],"sourcesContent":["\n\n\n"],"names":["t","useI18n","message","useStorage","localStoragePrefix","sendEmail","subject","additionalData","buildDate","body","key","value","feedbackMail"],"mappings":"2oBAiCM,KAAA,CAAE,EAAAA,GAAMC,IAERC,EAAUC,EAAW,GAAGC,CAAkB,mBAAoBJ,EAAE,oBAAoB,CAAC,EAE3F,eAAeK,GAAY,CACzB,MAAMC,EAAU,mBAAmBN,EAAE,kBAAkB,CAAC,EAClDO,EAAiB,CACrB,QAASC,CAAA,EAELC,EAAO,mBACX,GAAGP,EAAQ,KAAK;AAAA;AAAA;AAAA,EAAY,OAAO,QAAQK,CAAc,EACtD,IAAI,CAAC,CAACG,EAAKC,CAAK,IAAM,GAAGD,CAAG,KAAKC,CAAK,EAAE,EACxC,KAAK;AAAA,CAAI,CAAC;AAAA,CAAA,EAEf,OAAO,KAAK,UAAUC,CAAY,YAAYN,CAAO,SAASG,CAAI,EAAE,EAC5DP,EAAA,MAAQF,EAAE,oBAAoB,CACxC"} \ No newline at end of file diff --git a/assets/Development-B5zGRVOi.js b/assets/Development-B5zGRVOi.js new file mode 100644 index 0000000..c294d28 --- /dev/null +++ b/assets/Development-B5zGRVOi.js @@ -0,0 +1,2 @@ +import{_ as x}from"./Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js";import{S as k}from"./SettingsContainer-B74Cj-qJ.js";import{u as b}from"./useFeatureFlags-A7w9DXu8.js";import{u as g}from"./useTrack-DmYPFwPy.js";import{d as h,u as v,x as y,l as c,B as C,o as a,b as e,s as o,p as t,S as d,a as l,k as i,N as V,e as m,K as B,J as N}from"./index-KiWmxDDy.js";const S={class:"mb-2 text-xl font-bold"},D={key:0,class:"flex mb-4 text-gray-500 dark:text-gray-400 text-sm gap-1"},w={class:"text-lg font-bold"},T={class:"mb-2 text-gray-500 dark:text-gray-400 text-sm"},U={class:"flex flex-col gap-2"},j={class:"flex flex-col",for:"lite-mode"},E={key:0,class:"text-sm text-gray-500 dark:text-gray-400"},H=h({__name:"Development",setup(I){const{t:n}=v(),{track:_}=g(),{featureFlags:u}=b();return(J,K)=>{const p=C("router-link"),f=x;return a(),y(k,null,{default:c(()=>[e("h1",S,o(t(n)("kiel_live")),1),t(d)?(a(),l("p",D,[e("span",null,o(t(n)("version_from")),1),i(p,{to:{name:"dev"}},{default:c(()=>[V(o(t(d)),1)]),_:1})])):m("",!0),e("div",null,[e("h2",w,o(t(n)("feature_flags")),1),e("p",T,o(t(n)("feature_flags_description")),1),e("div",U,[(a(!0),l(N,null,B(t(u),s=>(a(),l("div",{key:s.id,class:"flex gap-4 items-center justify-between"},[e("label",j,[e("span",null,o(s.name),1),s.description?(a(),l("span",E,o(s.description),1)):m("",!0)]),i(f,{id:"lite-mode","model-value":s.enabled.value,"onUpdate:modelValue":r=>{s.enabled.value=r,t(_)("feature-flag",{enabled:r,id:s.id})}},null,8,["model-value","onUpdate:modelValue"])]))),128))])])]),_:1})}}});export{H as default}; +//# sourceMappingURL=Development-B5zGRVOi.js.map diff --git a/assets/Development-B5zGRVOi.js.map b/assets/Development-B5zGRVOi.js.map new file mode 100644 index 0000000..f56f0ec --- /dev/null +++ b/assets/Development-B5zGRVOi.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Development-B5zGRVOi.js","sources":["../../src/views/Development.vue"],"sourcesContent":["\n\n\n"],"names":["t","useI18n","track","useTrack","featureFlags","useFeatureFlags"],"mappings":"quBA4CM,KAAA,CAAE,EAAAA,CAAE,EAAIC,EAAQ,EAChB,CAAE,MAAAC,CAAM,EAAIC,EAAS,EAErB,CAAE,aAAAC,CAAa,EAAIC,EAAgB"} \ No newline at end of file diff --git a/assets/Home-9BF4fQiD.js b/assets/Home-9BF4fQiD.js deleted file mode 100644 index ebaca84..0000000 --- a/assets/Home-9BF4fQiD.js +++ /dev/null @@ -1,581 +0,0 @@ -var cm=Object.defineProperty;var hm=(G,B,Z)=>B in G?cm(G,B,{enumerable:!0,configurable:!0,writable:!0,value:Z}):G[B]=Z;var us=(G,B,Z)=>(hm(G,typeof B!="symbol"?B+"":B,Z),Z);import{d as Dr,r as _n,t as ps,c as Zt,_ as Sc,w as Rd,v as Fd,o as Ae,a as rt,b as je,e as Xt,f as Wd,n as bc,g as um,h as dm,u as gn,i as Rt,j as Gt,k as it,l as pm,m as gt,p as xt,q as Qr,s as Hd,x as Xd,y as hl,z as fm,A as mm,B as cl,C as Ds,D as Xn,E as _m,F as Kd,G as Kn,H as Bd,I as Od,J as fn,K as Jd,L as zr,M as Jn,N as Ic,O as Gh,P as Yn,Q as mn,R as gm,S as ym,T as xm}from"./index-C5qMMmKR.js";import{_ as vm}from"./logo-DBgTG2k7.js";const bm=Dr({name:"DetailsPopup",props:{isOpen:{type:Boolean,required:!0},size:{type:String,default:"3/4"},disableResize:{type:Boolean}},emits:{close:()=>!0},setup(G,{emit:B}){const Z=_n(!1),ne=_n(),te=ps(G,"isOpen"),ce=ps(G,"size"),T=ps(G,"disableResize"),p=Zt(()=>{if(T.value&&ce.value==="1")return"full";if(!te.value)return"closed";if(Z.value){if(ne.value===void 0)return"closed";const oe=ne.value/window.innerHeight;return ce.value==="1/2"&&oe>.6||ce.value==="3/4"&&oe>.85?"maximizing":ce.value==="1/2"&&oe<.4||ce.value==="3/4"&&oe<.65?"closing":"defaulting"}return ne.value===0?"closed":ne.value===window.innerHeight?"full":"default"});function _e(oe){T.value||(Z.value=!0,ne.value=window.innerHeight-oe.touches[0].clientY)}function ve(oe){Z.value&&(ne.value=window.innerHeight-oe.touches[0].clientY)}function xe(){Z.value&&(p.value==="maximizing"?ne.value=window.innerHeight:p.value==="closing"?(ne.value=void 0,B("close")):p.value==="defaulting"&&(ne.value=void 0),Z.value=!1)}return{drag:_e,move:ve,drop:xe,actualSize:p,height:ne,dragging:Z}}}),wm={class:"flex-shrink-0 bg-gray-500 w-12 h-1.5 rounded-full mx-auto"};function Sm(G,B,Z,ne,te,ce){return Rd((Ae(),rt("div",{class:bc(["absolute bottom-0 left-0 right-0 flex flex-col w-full z-10 bg-white shadow-top md:shadow-right md:rounded-none md:w-80 md:top-0 md:h-auto transition dark:bg-dark-400 dark:text-gray-300 dark:border-dark-800",{"overflow-hidden max-h-0":G.actualSize==="closed","h-full md:mx-auto md:w-200 md:shadow-none":G.actualSize==="full","h-1/2":G.size==="1/2"&&G.actualSize==="default","h-3/4":G.size==="3/4"&&G.actualSize==="default","p-4 pb-0 pt-2":G.actualSize!=="closed"&&G.actualSize!=="full","rounded-t-2xl":G.actualSize!=="full","rounded-none p-4 pt-16":G.actualSize==="full","opacity-80":G.actualSize==="closing",fade:!G.dragging}]),style:um({height:G.isOpen?G.height===void 0?void 0:`${G.height}px`:0}),onTouchmove:B[1]||(B[1]=(...T)=>G.move&&G.move(...T)),onTouchend:B[2]||(B[2]=(...T)=>G.drop&&G.drop(...T))},[G.disableResize?Xt("",!0):(Ae(),rt("div",{key:0,class:"w-full -mt-4 pt-4 pb-4 md:hidden",onTouchstart:B[0]||(B[0]=(...T)=>G.drag&&G.drag(...T))},[Rd(je("div",wm,null,512),[[Fd,G.actualSize!=="full"]])],32)),Wd(G.$slots,"default",{},void 0,!0)],38)),[[Fd,G.isOpen]])}const Bh=Sc(bm,[["render",Sm],["__scopeId","data-v-c38c53be"]]),Im={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Tm=je("g",{fill:"currentColor"},[je("path",{d:"M12.5 6c-2.294 0-3.71 1.655-4.106 2.447A1 1 0 0 1 7.5 9c-.757 0-1.914.235-2.853.912C3.758 10.552 3 11.626 3 13.5c0 1.458.459 2.415 1.05 3.06c.607.663 1.418 1.062 2.204 1.269a1 1 0 0 1-.508 1.934c-1.049-.276-2.238-.833-3.171-1.852C1.624 16.873 1 15.423 1 13.5c0-2.526 1.075-4.201 2.478-5.212c1.124-.809 2.413-1.163 3.435-1.26C7.751 5.773 9.626 4 12.5 4c2.13 0 3.65 1.08 4.607 2.33a7.133 7.133 0 0 1 1.285 2.745c.785.127 1.695.43 2.505 1.014C22.092 10.948 23 12.373 23 14.5c0 1.516-.462 2.697-1.196 3.571c-.72.86-1.65 1.362-2.498 1.634a1 1 0 1 1-.612-1.904c.586-.188 1.157-.513 1.578-1.015c.408-.486.728-1.202.728-2.286c0-1.474-.592-2.299-1.272-2.789c-.73-.526-1.638-.711-2.228-.711a1 1 0 0 1-1-1c0-.502-.284-1.543-.982-2.455C14.85 6.67 13.87 6 12.5 6zm-.5 4a1 1 0 0 1 1 1v5.586l1.293-1.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 1 1 1.414-1.414L11 16.586V11a1 1 0 0 1 1-1z"})],-1),km=[Tm];function Mm(G,B){return Ae(),rt("svg",Im,[...km])}const Am={name:"majesticons-cloud-download-line",render:Mm},Pm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Cm=je("path",{fill:"currentColor",d:"M19.35 10.04A7.49 7.49 0 0 0 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46a5.497 5.497 0 0 1 8.05 4.87v.5H19c1.66 0 3 1.34 3 3c0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96M3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73L4.27 4zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4z"},null,-1),Em=[Cm];function zm(G,B){return Ae(),rt("svg",Pm,[...Em])}const Dm={name:"ic-baseline-cloud-off",render:zm};function Lm(G={}){const{immediate:B=!1,onNeedRefresh:Z,onOfflineReady:ne,onRegistered:te,onRegisteredSW:ce,onRegisterError:T}=G;let p,_e,ve;const xe=async(W=!0)=>{await _e,await(ve==null?void 0:ve())};async function oe(){if("serviceWorker"in navigator){if(p=await dm(()=>import("./workbox-window.prod.es5-D5gOYdM7.js"),[]).then(({Workbox:W})=>new W("/sw.js",{scope:"/",type:"classic"})).catch(W=>{T==null||T(W)}),!p)return;ve=async()=>{await(p==null?void 0:p.messageSkipWaiting())};{let W=!1;const ke=()=>{W=!0,p==null||p.addEventListener("controlling",Xe=>{Xe.isUpdate&&window.location.reload()}),Z==null||Z()};p.addEventListener("installed",Xe=>{typeof Xe.isUpdate>"u"?typeof Xe.isExternal<"u"?Xe.isExternal?ke():!W&&(ne==null||ne()):Xe.isExternal?window.location.reload():!W&&(ne==null||ne()):Xe.isUpdate||ne==null||ne()}),p.addEventListener("waiting",ke),p.addEventListener("externalwaiting",ke)}p.register({immediate:B}).then(W=>{ce?ce("/sw.js",W):te==null||te(W)}).catch(W=>{T==null||T(W)})}}return _e=oe(),xe}function Rm(G={}){const{immediate:B=!0,onNeedRefresh:Z,onOfflineReady:ne,onRegistered:te,onRegisteredSW:ce,onRegisterError:T}=G,p=_n(!1),_e=_n(!1);return{updateServiceWorker:Lm({immediate:B,onNeedRefresh(){p.value=!0,Z==null||Z()},onOfflineReady(){_e.value=!0,ne==null||ne()},onRegistered:te,onRegisteredSW:ce,onRegisterError:T}),offlineReady:_e,needRefresh:p}}const Fm={class:"absolute top-0 left-0 right-0 mx-2 mt-2 h-12 flex rounded-md py-1 pr-1 gap-x-1 items-center justify-between bg-white border-1 border-gray-200 shadow-xl z-20 md:transform md:-translate-x-1/2 md:right-auto md:left-1/2 md:w-96 dark:bg-dark-400 dark:text-gray-300 dark:border-dark-800"},Bm=["alt"],Om={key:0,class:"flex flex-grow h-full"},Vm=["value","title","placeholder"],$m={key:1,class:"flex gap-x-2 mr-2 items-center"},Nm=Dr({__name:"AppBar",props:{searchInput:{}},emits:["update:search-input"],setup(G,{emit:B}){const Z=G,ne=B,{t:te}=gn(),ce=Hd(),T=Xd(),{needRefresh:p,updateServiceWorker:_e}=Rm(),ve=ps(Z,"searchInput"),xe=Zt({get(){return ve.value},set(oe){ne("update:search-input",oe),oe.length>0&&ce.name!=="search"&&T.push({name:"search"}),oe.length===0&&ce.name==="search"&&T.push({name:"home"})}});return(oe,W)=>{const ke=hl("router-link"),Xe=Dm,Ye=Am;return Ae(),rt("div",Fm,[Rt(ke,{to:{name:"home"},class:"p-2"},{default:Gt(()=>[je("img",{alt:it(te)("logo_alt"),src:vm,class:"w-6 h-6"},null,8,Bm)]),_:1}),it(fm)?(Ae(),rt("div",Om,[je("input",{value:xe.value,type:"text",class:"bg-transparent p-2 border border-transparent focus:outline-none focus-visible:outline-none focus-visible:rounded-md focus-visible:border-gray-300 focus-visible:border-opacity-50 w-full h-full",title:it(te)("search"),placeholder:`${it(te)("search")} ...`,autofocus:"",onInput:W[0]||(W[0]=pt=>xe.value=pt.currentTarget.value),onKeydown:W[1]||(W[1]=pm(pt=>oe.$router.back(),["escape"])),onClick:W[2]||(W[2]=pt=>oe.$router.push({name:"search"}))},null,40,Vm)])):(Ae(),rt("div",$m,[je("span",null,gt(it(te)("no_connection")),1),Rt(Xe,{class:"text-red-600"})])),it(p)?(Ae(),xt(Qr,{key:2,class:"h-full gap-x-1",onClick:W[3]||(W[3]=pt=>it(_e)(!0))},{default:Gt(()=>[Rt(Ye),je("span",null,gt(it(te)("update")),1)]),_:1})):Xt("",!0)])}}});var jm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Yd={exports:{}};/** - * MapLibre GL JS - * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.3.2/LICENSE.txt - */(function(G,B){(function(Z,ne){G.exports=ne()})(jm,function(){var Z={},ne={};function te(T,p,_e){if(ne[T]=_e,T==="index"){var ve="var sharedModule = {}; ("+ne.shared+")(sharedModule); ("+ne.worker+")(sharedModule);",xe={};return ne.shared(xe),ne.index(Z,xe),typeof window<"u"&&Z.setWorkerUrl(window.URL.createObjectURL(new Blob([ve],{type:"text/javascript"}))),Z}}te("shared",["exports"],function(T){function p(i,e,r,n){return new(r||(r=Promise))(function(o,h){function d(x){try{_(n.next(x))}catch(b){h(b)}}function f(x){try{_(n.throw(x))}catch(b){h(b)}}function _(x){var b;x.done?o(x.value):(b=x.value,b instanceof r?b:new r(function(w){w(b)})).then(d,f)}_((n=n.apply(i,e||[])).next())})}function _e(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}typeof SuppressedError=="function"&&SuppressedError;var ve=xe;function xe(i,e){this.x=i,this.y=e}xe.prototype={clone:function(){return new xe(this.x,this.y)},add:function(i){return this.clone()._add(i)},sub:function(i){return this.clone()._sub(i)},multByPoint:function(i){return this.clone()._multByPoint(i)},divByPoint:function(i){return this.clone()._divByPoint(i)},mult:function(i){return this.clone()._mult(i)},div:function(i){return this.clone()._div(i)},rotate:function(i){return this.clone()._rotate(i)},rotateAround:function(i,e){return this.clone()._rotateAround(i,e)},matMult:function(i){return this.clone()._matMult(i)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(i){return this.x===i.x&&this.y===i.y},dist:function(i){return Math.sqrt(this.distSqr(i))},distSqr:function(i){var e=i.x-this.x,r=i.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(i){return Math.atan2(this.y-i.y,this.x-i.x)},angleWith:function(i){return this.angleWithSep(i.x,i.y)},angleWithSep:function(i,e){return Math.atan2(this.x*e-this.y*i,this.x*i+this.y*e)},_matMult:function(i){var e=i[2]*this.x+i[3]*this.y;return this.x=i[0]*this.x+i[1]*this.y,this.y=e,this},_add:function(i){return this.x+=i.x,this.y+=i.y,this},_sub:function(i){return this.x-=i.x,this.y-=i.y,this},_mult:function(i){return this.x*=i,this.y*=i,this},_div:function(i){return this.x/=i,this.y/=i,this},_multByPoint:function(i){return this.x*=i.x,this.y*=i.y,this},_divByPoint:function(i){return this.x/=i.x,this.y/=i.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var i=this.y;return this.y=this.x,this.x=-i,this},_rotate:function(i){var e=Math.cos(i),r=Math.sin(i),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(i,e){var r=Math.cos(i),n=Math.sin(i),o=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=o,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},xe.convert=function(i){return i instanceof xe?i:Array.isArray(i)?new xe(i[0],i[1]):i};var oe=_e(ve),W=ke;function ke(i,e,r,n){this.cx=3*i,this.bx=3*(r-i)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=i,this.p1y=e,this.p2x=r,this.p2y=n}ke.prototype={sampleCurveX:function(i){return((this.ax*i+this.bx)*i+this.cx)*i},sampleCurveY:function(i){return((this.ay*i+this.by)*i+this.cy)*i},sampleCurveDerivativeX:function(i){return(3*this.ax*i+2*this.bx)*i+this.cx},solveCurveX:function(i,e){if(e===void 0&&(e=1e-6),i<0)return 0;if(i>1)return 1;for(var r=i,n=0;n<8;n++){var o=this.sampleCurveX(r)-i;if(Math.abs(o)o?d=r:f=r,r=.5*(f-d)+d;return r},solve:function(i,e){return this.sampleCurveY(this.solveCurveX(i,e))}};var Xe=_e(W);let Ye,pt;function Mt(){return Ye==null&&(Ye=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),Ye}function li(){if(pt==null&&(pt=!1,Mt())){const e=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(e){for(let n=0;n<5*5;n++){const o=4*n;e.fillStyle=`rgb(${o},${o+1},${o+2})`,e.fillRect(n%5,Math.floor(n/5),1,1)}const r=e.getImageData(0,0,5,5).data;for(let n=0;n<5*5*4;n++)if(n%4!=3&&r[n]!==n){pt=!0;break}}}return pt||!1}function zt(i,e,r,n){const o=new Xe(i,e,r,n);return h=>o.solve(h)}const Oi=zt(.25,.1,.25,1);function ci(i,e,r){return Math.min(r,Math.max(e,i))}function bt(i,e,r){const n=r-e,o=((i-e)%n+n)%n+e;return o===e?r:o}function Ie(i,...e){for(const r of e)for(const n in r)i[n]=r[n];return i}let Qe=1;function nt(i,e,r){const n={};for(const o in i)n[o]=e.call(this,i[o],o,i);return n}function Ji(i,e,r){const n={};for(const o in i)e.call(this,i[o],o,i)&&(n[o]=i[o]);return n}function mt(i){return Array.isArray(i)?i.map(mt):typeof i=="object"&&i?nt(i,mt):i}const Kt={};function Wt(i){Kt[i]||(typeof console<"u"&&console.warn(i),Kt[i]=!0)}function Dt(i,e,r){return(r.y-i.y)*(e.x-i.x)>(e.y-i.y)*(r.x-i.x)}function Vi(i){return typeof WorkerGlobalScope<"u"&&i!==void 0&&i instanceof WorkerGlobalScope}let Lr=null;function Tr(i){return typeof ImageBitmap<"u"&&i instanceof ImageBitmap}const ea="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function fs(i,e,r,n,o){return p(this,void 0,void 0,function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");const h=new VideoFrame(i,{timestamp:0});try{const d=h==null?void 0:h.format;if(!d||!d.startsWith("BGR")&&!d.startsWith("RGB"))throw new Error(`Unrecognized format ${d}`);const f=d.startsWith("BGR"),_=new Uint8ClampedArray(n*o*4);if(yield h.copyTo(_,function(x,b,w,k,A){const E=4*Math.max(-b,0),L=(Math.max(0,w)-w)*k*4+E,O=4*k,U=Math.max(0,b),re=Math.max(0,w);return{rect:{x:U,y:re,width:Math.min(x.width,b+k)-U,height:Math.min(x.height,w+A)-re},layout:[{offset:L,stride:O}]}}(i,e,r,n,o)),f)for(let x=0;x<_.length;x+=4){const b=_[x];_[x]=_[x+2],_[x+2]=b}return _}finally{h.close()}})}let Rr,$i;const Yi="AbortError";function dr(){return new Error(Yi)}const Rs={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};function Fr(i){return Rs.REGISTERED_PROTOCOLS[i.substring(0,i.indexOf("://"))]}const Br="global-dispatcher";class pr extends Error{constructor(e,r,n,o){super(`AJAXError: ${r} (${e}): ${n}`),this.status=e,this.statusText=r,this.url=n,this.body=o}}const Or=()=>Vi(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,Fs=function(i,e){if(/:\/\//.test(i.url)&&!/^https?:|^file:/.test(i.url)){const n=Fr(i.url);if(n)return n(i,e);if(Vi(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:i,targetMapId:Br},e)}if(!(/^file:/.test(r=i.url)||/^file:/.test(Or())&&!/^\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(n,o){return p(this,void 0,void 0,function*(){const h=new Request(n.url,{method:n.method||"GET",body:n.body,credentials:n.credentials,headers:n.headers,cache:n.cache,referrer:Or(),signal:o.signal});n.type==="json"&&h.headers.set("Accept","application/json");const d=yield fetch(h);if(!d.ok){const x=yield d.blob();throw new pr(d.status,d.statusText,n.url,x)}let f;f=n.type==="arrayBuffer"||n.type==="image"?d.arrayBuffer():n.type==="json"?d.json():d.text();const _=yield f;if(o.signal.aborted)throw dr();return{data:_,cacheControl:d.headers.get("Cache-Control"),expires:d.headers.get("Expires")}})}(i,e);if(Vi(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:i,mustQueue:!0,targetMapId:Br},e)}var r;return function(n,o){return new Promise((h,d)=>{const f=new XMLHttpRequest;f.open(n.method||"GET",n.url,!0),n.type!=="arrayBuffer"&&n.type!=="image"||(f.responseType="arraybuffer");for(const _ in n.headers)f.setRequestHeader(_,n.headers[_]);n.type==="json"&&(f.responseType="text",f.setRequestHeader("Accept","application/json")),f.withCredentials=n.credentials==="include",f.onerror=()=>{d(new Error(f.statusText))},f.onload=()=>{if(!o.signal.aborted)if((f.status>=200&&f.status<300||f.status===0)&&f.response!==null){let _=f.response;if(n.type==="json")try{_=JSON.parse(f.response)}catch(x){return void d(x)}h({data:_,cacheControl:f.getResponseHeader("Cache-Control"),expires:f.getResponseHeader("Expires")})}else{const _=new Blob([f.response],{type:f.getResponseHeader("Content-Type")});d(new pr(f.status,f.statusText,n.url,_))}},o.signal.addEventListener("abort",()=>{f.abort(),d(dr())}),f.send(n.body)})}(i,e)};function Bs(i){if(!i||i.indexOf("://")<=0||i.indexOf("data:image/")===0||i.indexOf("blob:")===0)return!0;const e=new URL(i),r=window.location;return e.protocol===r.protocol&&e.host===r.host}function ta(i,e,r){r[i]&&r[i].indexOf(e)!==-1||(r[i]=r[i]||[],r[i].push(e))}function kr(i,e,r){if(r&&r[i]){const n=r[i].indexOf(e);n!==-1&&r[i].splice(n,1)}}class es{constructor(e,r={}){Ie(this,r),this.type=e}}class ti extends es{constructor(e,r={}){super("error",Ie({error:e},r))}}class Os{on(e,r){return this._listeners=this._listeners||{},ta(e,r,this._listeners),this}off(e,r){return kr(e,r,this._listeners),kr(e,r,this._oneTimeListeners),this}once(e,r){return r?(this._oneTimeListeners=this._oneTimeListeners||{},ta(e,r,this._oneTimeListeners),this):new Promise(n=>this.once(e,n))}fire(e,r){typeof e=="string"&&(e=new es(e,r||{}));const n=e.type;if(this.listens(n)){e.target=this;const o=this._listeners&&this._listeners[n]?this._listeners[n].slice():[];for(const f of o)f.call(this,e);const h=this._oneTimeListeners&&this._oneTimeListeners[n]?this._oneTimeListeners[n].slice():[];for(const f of h)kr(n,f,this._oneTimeListeners),f.call(this,e);const d=this._eventedParent;d&&(Ie(e,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),d.fire(e))}else e instanceof ti&&console.error(e.error);return this}listens(e){return this._listeners&&this._listeners[e]&&this._listeners[e].length>0||this._oneTimeListeners&&this._oneTimeListeners[e]&&this._oneTimeListeners[e].length>0||this._eventedParent&&this._eventedParent.listens(e)}setEventedParent(e,r){return this._eventedParent=e,this._eventedParentData=r,this}}var he={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const ts=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function xn(i,e){const r={};for(const n in i)n!=="ref"&&(r[n]=i[n]);return ts.forEach(n=>{n in e&&(r[n]=e[n])}),r}function Tt(i,e){if(Array.isArray(i)){if(!Array.isArray(e)||i.length!==e.length)return!1;for(let r=0;r`:i.itemType.kind==="value"?"array":`array<${e}>`}return i.kind}const N=[ms,Se,ct,st,Ci,jr,Ei,P(ot),_i,V,M];function K(i,e){if(e.kind==="error")return null;if(i.kind==="array"){if(e.kind==="array"&&(e.N===0&&e.itemType.kind==="value"||!K(i.itemType,e.itemType))&&(typeof i.N!="number"||i.N===e.N))return null}else{if(i.kind===e.kind)return null;if(i.kind==="value"){for(const r of N)if(!K(r,e))return null}}return`Expected ${z(i)} but found ${z(e)} instead.`}function Y(i,e){return e.some(r=>r.kind===i.kind)}function ie(i,e){return e.some(r=>r==="null"?i===null:r==="array"?Array.isArray(i):r==="object"?i&&!Array.isArray(i)&&typeof i=="object":r===typeof i)}function H(i,e){return i.kind==="array"&&e.kind==="array"?i.itemType.kind===e.itemType.kind&&typeof i.N=="number":i.kind===e.kind}const ae=.96422,ye=.82521,de=4/29,ue=6/29,He=3*ue*ue,We=ue*ue*ue,_t=Math.PI/180,et=180/Math.PI;function vt(i){return(i%=360)<0&&(i+=360),i}function At([i,e,r,n]){let o,h;const d=ii((.2225045*(i=Ft(i))+.7168786*(e=Ft(e))+.0606169*(r=Ft(r)))/1);i===e&&e===r?o=h=d:(o=ii((.4360747*i+.3850649*e+.1430804*r)/ae),h=ii((.0139322*i+.0971045*e+.7141733*r)/ye));const f=116*d-16;return[f<0?0:f,500*(o-d),200*(d-h),n]}function Ft(i){return i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function ii(i){return i>We?Math.pow(i,1/3):i/He+de}function lt([i,e,r,n]){let o=(i+16)/116,h=isNaN(e)?o:o+e/500,d=isNaN(r)?o:o-r/200;return o=1*hi(o),h=ae*hi(h),d=ye*hi(d),[jt(3.1338561*h-1.6168667*o-.4906146*d),jt(-.9787684*h+1.9161415*o+.033454*d),jt(.0719453*h-.2289914*o+1.4052427*d),n]}function jt(i){return(i=i<=.00304?12.92*i:1.055*Math.pow(i,1/2.4)-.055)<0?0:i>1?1:i}function hi(i){return i>ue?i*i*i:He*(i-de)}function Ui(i){return parseInt(i.padEnd(2,i),16)/255}function Qi(i,e){return ui(e?i/100:i,0,1)}function ui(i,e,r){return Math.min(Math.max(e,i),r)}function Us(i){return!i.some(Number.isNaN)}const kc={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class kt{constructor(e,r,n,o=1,h=!0){this.r=e,this.g=r,this.b=n,this.a=o,h||(this.r*=o,this.g*=o,this.b*=o,o||this.overwriteGetter("rgb",[e,r,n,o]))}static parse(e){if(e instanceof kt)return e;if(typeof e!="string")return;const r=function(n){if((n=n.toLowerCase().trim())==="transparent")return[0,0,0,0];const o=kc[n];if(o){const[d,f,_]=o;return[d/255,f/255,_/255,1]}if(n.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(n)){const d=n.length<6?1:2;let f=1;return[Ui(n.slice(f,f+=d)),Ui(n.slice(f,f+=d)),Ui(n.slice(f,f+=d)),Ui(n.slice(f,f+d)||"ff")]}if(n.startsWith("rgb")){const d=n.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(d){const[f,_,x,b,w,k,A,E,L,O,U,re]=d,X=[b||" ",A||" ",O].join("");if(X===" "||X===" /"||X===",,"||X===",,,"){const ee=[x,k,L].join(""),pe=ee==="%%%"?100:ee===""?255:0;if(pe){const me=[ui(+_/pe,0,1),ui(+w/pe,0,1),ui(+E/pe,0,1),U?Qi(+U,re):1];if(Us(me))return me}}return}}const h=n.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(h){const[d,f,_,x,b,w,k,A,E]=h,L=[_||" ",b||" ",k].join("");if(L===" "||L===" /"||L===",,"||L===",,,"){const O=[+f,ui(+x,0,100),ui(+w,0,100),A?Qi(+A,E):1];if(Us(O))return function([U,re,X,ee]){function pe(me){const Re=(me+U/30)%12,qe=re*Math.min(X,1-X);return X-qe*Math.max(-1,Math.min(Re-3,9-Re,1))}return U=vt(U),re/=100,X/=100,[pe(0),pe(8),pe(4),ee]}(O)}}}(e);return r?new kt(...r,!1):void 0}get rgb(){const{r:e,g:r,b:n,a:o}=this,h=o||1/0;return this.overwriteGetter("rgb",[e/h,r/h,n/h,o])}get hcl(){return this.overwriteGetter("hcl",function(e){const[r,n,o,h]=At(e),d=Math.sqrt(n*n+o*o);return[Math.round(1e4*d)?vt(Math.atan2(o,n)*et):NaN,d,r,h]}(this.rgb))}get lab(){return this.overwriteGetter("lab",At(this.rgb))}overwriteGetter(e,r){return Object.defineProperty(this,e,{value:r}),r}toString(){const[e,r,n,o]=this.rgb;return`rgba(${[e,r,n].map(h=>Math.round(255*h)).join(",")},${o})`}}kt.black=new kt(0,0,0,1),kt.white=new kt(1,1,1,1),kt.transparent=new kt(0,0,0,0),kt.red=new kt(1,0,0,1);class Qa{constructor(e,r,n){this.sensitivity=e?r?"variant":"case":r?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,r){return this.collator.compare(e,r)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class eo{constructor(e,r,n,o,h){this.text=e,this.image=r,this.scale=n,this.fontStack=o,this.textColor=h}}class er{constructor(e){this.sections=e}static fromString(e){return new er([new eo(e,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(e=>e.text.length!==0||e.image&&e.image.name.length!==0)}static factory(e){return e instanceof er?e:er.fromString(e)}toString(){return this.sections.length===0?"":this.sections.map(e=>e.text).join("")}}class qi{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof qi)return e;if(typeof e=="number")return new qi([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(const r of e)if(typeof r!="number")return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new qi(e)}}toString(){return JSON.stringify(this.values)}}const bn=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Zi{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof Zi)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let r=0;r=0&&i<=255&&typeof e=="number"&&e>=0&&e<=255&&typeof r=="number"&&r>=0&&r<=255?n===void 0||typeof n=="number"&&n>=0&&n<=1?null:`Invalid rgba value [${[i,e,r,n].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof n=="number"?[i,e,r,n]:[i,e,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Ur(i){if(i===null||typeof i=="string"||typeof i=="boolean"||typeof i=="number"||i instanceof kt||i instanceof Qa||i instanceof er||i instanceof qi||i instanceof Zi||i instanceof cr)return!0;if(Array.isArray(i)){for(const e of i)if(!Ur(e))return!1;return!0}if(typeof i=="object"){for(const e in i)if(!Ur(i[e]))return!1;return!0}return!1}function ri(i){if(i===null)return ms;if(typeof i=="string")return ct;if(typeof i=="boolean")return st;if(typeof i=="number")return Se;if(i instanceof kt)return Ci;if(i instanceof Qa)return Nr;if(i instanceof er)return jr;if(i instanceof qi)return _i;if(i instanceof Zi)return M;if(i instanceof cr)return V;if(Array.isArray(i)){const e=i.length;let r;for(const n of i){const o=ri(n);if(r){if(r===o)continue;r=ot;break}r=o}return P(r||ot,e)}return Ei}function wn(i){const e=typeof i;return i===null?"":e==="string"||e==="number"||e==="boolean"?String(i):i instanceof kt||i instanceof er||i instanceof qi||i instanceof Zi||i instanceof cr?i.toString():JSON.stringify(i)}class _s{constructor(e,r){this.type=e,this.value=r}static parse(e,r){if(e.length!==2)return r.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!Ur(e[1]))return r.error("invalid value");const n=e[1];let o=ri(n);const h=r.expectedType;return o.kind!=="array"||o.N!==0||!h||h.kind!=="array"||typeof h.N=="number"&&h.N!==0||(o=h),new _s(o,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class Jt{constructor(e){this.name="ExpressionEvaluationError",this.message=e}toJSON(){return this.message}}const gs={string:ct,number:Se,boolean:st,object:Ei};class fr{constructor(e,r){this.type=e,this.args=r}static parse(e,r){if(e.length<2)return r.error("Expected at least one argument.");let n,o=1;const h=e[0];if(h==="array"){let f,_;if(e.length>2){const x=e[1];if(typeof x!="string"||!(x in gs)||x==="object")return r.error('The item type argument of "array" must be one of string, number, boolean',1);f=gs[x],o++}else f=ot;if(e.length>3){if(e[2]!==null&&(typeof e[2]!="number"||e[2]<0||e[2]!==Math.floor(e[2])))return r.error('The length argument to "array" must be a positive integer literal',2);_=e[2],o++}n=P(f,_)}else{if(!gs[h])throw new Error(`Types doesn't contain name = ${h}`);n=gs[h]}const d=[];for(;oe.outputDefined())}}const ra={"to-boolean":st,"to-color":Ci,"to-number":Se,"to-string":ct};class Mr{constructor(e,r){this.type=e,this.args=r}static parse(e,r){if(e.length<2)return r.error("Expected at least one argument.");const n=e[0];if(!ra[n])throw new Error(`Can't parse ${n} as it is not part of the known types`);if((n==="to-boolean"||n==="to-string")&&e.length!==2)return r.error("Expected one argument.");const o=ra[n],h=[];for(let d=1;d4?`Invalid rbga value ${JSON.stringify(r)}: expected an array containing either three or four numeric values.`:ul(r[0],r[1],r[2],r[3]),!n))return new kt(r[0]/255,r[1]/255,r[2]/255,r[3])}throw new Jt(n||`Could not parse color from value '${typeof r=="string"?r:JSON.stringify(r)}'`)}case"padding":{let r;for(const n of this.args){r=n.evaluate(e);const o=qi.parse(r);if(o)return o}throw new Jt(`Could not parse padding from value '${typeof r=="string"?r:JSON.stringify(r)}'`)}case"variableAnchorOffsetCollection":{let r;for(const n of this.args){r=n.evaluate(e);const o=Zi.parse(r);if(o)return o}throw new Jt(`Could not parse variableAnchorOffsetCollection from value '${typeof r=="string"?r:JSON.stringify(r)}'`)}case"number":{let r=null;for(const n of this.args){if(r=n.evaluate(e),r===null)return 0;const o=Number(r);if(!isNaN(o))return o}throw new Jt(`Could not convert ${JSON.stringify(r)} to number.`)}case"formatted":return er.fromString(wn(this.args[0].evaluate(e)));case"resolvedImage":return cr.fromString(wn(this.args[0].evaluate(e)));default:return wn(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}const to=["Unknown","Point","LineString","Polygon"];class qs{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?to[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let r=this._parseColorCache[e];return r||(r=this._parseColorCache[e]=kt.parse(e)),r}}class St{constructor(e,r,n=[],o,h=new js,d=[]){this.registry=e,this.path=n,this.key=n.map(f=>`[${f}]`).join(""),this.scope=h,this.errors=d,this.expectedType=o,this._isConstant=r}parse(e,r,n,o,h={}){return r?this.concat(r,n,o)._parse(e,h):this._parse(e,h)}_parse(e,r){function n(o,h,d){return d==="assert"?new fr(h,[o]):d==="coerce"?new Mr(h,[o]):o}if(e!==null&&typeof e!="string"&&typeof e!="boolean"&&typeof e!="number"||(e=["literal",e]),Array.isArray(e)){if(e.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const o=e[0];if(typeof o!="string")return this.error(`Expression name must be a string, but found ${typeof o} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const h=this.registry[o];if(h){let d=h.parse(e,this);if(!d)return null;if(this.expectedType){const f=this.expectedType,_=d.type;if(f.kind!=="string"&&f.kind!=="number"&&f.kind!=="boolean"&&f.kind!=="object"&&f.kind!=="array"||_.kind!=="value")if(f.kind!=="color"&&f.kind!=="formatted"&&f.kind!=="resolvedImage"||_.kind!=="value"&&_.kind!=="string")if(f.kind!=="padding"||_.kind!=="value"&&_.kind!=="number"&&_.kind!=="array")if(f.kind!=="variableAnchorOffsetCollection"||_.kind!=="value"&&_.kind!=="array"){if(this.checkSubtype(f,_))return null}else d=n(d,f,r.typeAnnotation||"coerce");else d=n(d,f,r.typeAnnotation||"coerce");else d=n(d,f,r.typeAnnotation||"coerce");else d=n(d,f,r.typeAnnotation||"assert")}if(!(d instanceof _s)&&d.type.kind!=="resolvedImage"&&this._isConstant(d)){const f=new qs;try{d=new _s(d.type,d.evaluate(f))}catch(_){return this.error(_.message),null}}return d}return this.error(`Unknown expression "${o}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(e===void 0?"'undefined' value invalid. Use null instead.":typeof e=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof e} instead.`)}concat(e,r,n){const o=typeof e=="number"?this.path.concat(e):this.path,h=n?this.scope.concat(n):this.scope;return new St(this.registry,this._isConstant,o,r||null,h,this.errors)}error(e,...r){const n=`${this.key}${r.map(o=>`[${o}]`).join("")}`;this.errors.push(new ji(n,e))}checkSubtype(e,r){const n=K(e,r);return n&&this.error(n),n}}class sa{constructor(e,r){this.type=r.type,this.bindings=[].concat(e),this.result=r}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const r of this.bindings)e(r[1]);e(this.result)}static parse(e,r){if(e.length<4)return r.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const n=[];for(let h=1;h=n.length)throw new Jt(`Array index out of bounds: ${r} > ${n.length-1}.`);if(r!==Math.floor(r))throw new Jt(`Array index must be an integer, but found ${r} instead.`);return n[r]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class na{constructor(e,r){this.type=st,this.needle=e,this.haystack=r}static parse(e,r){if(e.length!==3)return r.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const n=r.parse(e[1],1,ot),o=r.parse(e[2],2,ot);return n&&o?Y(n.type,[st,ct,Se,ms,ot])?new na(n,o):r.error(`Expected first argument to be of type boolean, string, number or null, but found ${z(n.type)} instead`):null}evaluate(e){const r=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!ie(r,["boolean","string","number","null"]))throw new Jt(`Expected first argument to be of type boolean, string, number or null, but found ${z(ri(r))} instead.`);if(!ie(n,["string","array"]))throw new Jt(`Expected second argument to be of type array or string, but found ${z(ri(n))} instead.`);return n.indexOf(r)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class Sn{constructor(e,r,n){this.type=Se,this.needle=e,this.haystack=r,this.fromIndex=n}static parse(e,r){if(e.length<=2||e.length>=5)return r.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const n=r.parse(e[1],1,ot),o=r.parse(e[2],2,ot);if(!n||!o)return null;if(!Y(n.type,[st,ct,Se,ms,ot]))return r.error(`Expected first argument to be of type boolean, string, number or null, but found ${z(n.type)} instead`);if(e.length===4){const h=r.parse(e[3],3,Se);return h?new Sn(n,o,h):null}return new Sn(n,o)}evaluate(e){const r=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!ie(r,["boolean","string","number","null"]))throw new Jt(`Expected first argument to be of type boolean, string, number or null, but found ${z(ri(r))} instead.`);if(!ie(n,["string","array"]))throw new Jt(`Expected second argument to be of type array or string, but found ${z(ri(n))} instead.`);if(this.fromIndex){const o=this.fromIndex.evaluate(e);return n.indexOf(r,o)}return n.indexOf(r)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class ro{constructor(e,r,n,o,h,d){this.inputType=e,this.type=r,this.input=n,this.cases=o,this.outputs=h,this.otherwise=d}static parse(e,r){if(e.length<5)return r.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return r.error("Expected an even number of arguments.");let n,o;r.expectedType&&r.expectedType.kind!=="value"&&(o=r.expectedType);const h={},d=[];for(let x=2;xNumber.MAX_SAFE_INTEGER)return k.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof E=="number"&&Math.floor(E)!==E)return k.error("Numeric branch labels must be integer values.");if(n){if(k.checkSubtype(n,ri(E)))return null}else n=ri(E);if(h[String(E)]!==void 0)return k.error("Branch labels must be unique.");h[String(E)]=d.length}const A=r.parse(w,x,o);if(!A)return null;o=o||A.type,d.push(A)}const f=r.parse(e[1],1,ot);if(!f)return null;const _=r.parse(e[e.length-1],e.length-1,o);return _?f.type.kind!=="value"&&r.concat(1).checkSubtype(n,f.type)?null:new ro(n,o,f,h,d,_):null}evaluate(e){const r=this.input.evaluate(e);return(ri(r)===this.inputType&&this.outputs[this.cases[r]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every(e=>e.outputDefined())&&this.otherwise.outputDefined()}}class aa{constructor(e,r,n){this.type=e,this.branches=r,this.otherwise=n}static parse(e,r){if(e.length<4)return r.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return r.error("Expected an odd number of arguments.");let n;r.expectedType&&r.expectedType.kind!=="value"&&(n=r.expectedType);const o=[];for(let d=1;dr.outputDefined())&&this.otherwise.outputDefined()}}class In{constructor(e,r,n,o){this.type=e,this.input=r,this.beginIndex=n,this.endIndex=o}static parse(e,r){if(e.length<=2||e.length>=5)return r.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const n=r.parse(e[1],1,ot),o=r.parse(e[2],2,Se);if(!n||!o)return null;if(!Y(n.type,[P(ot),ct,ot]))return r.error(`Expected first argument to be of type array or string, but found ${z(n.type)} instead`);if(e.length===4){const h=r.parse(e[3],3,Se);return h?new In(n.type,n,o,h):null}return new In(n.type,n,o)}evaluate(e){const r=this.input.evaluate(e),n=this.beginIndex.evaluate(e);if(!ie(r,["string","array"]))throw new Jt(`Expected first argument to be of type array or string, but found ${z(ri(r))} instead.`);if(this.endIndex){const o=this.endIndex.evaluate(e);return r.slice(n,o)}return r.slice(n)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function oa(i,e){const r=i.length-1;let n,o,h=0,d=r,f=0;for(;h<=d;)if(f=Math.floor((h+d)/2),n=i[f],o=i[f+1],n<=e){if(f===r||ee))throw new Jt("Input is not a number.");d=f-1}return 0}class Tn{constructor(e,r,n){this.type=e,this.input=r,this.labels=[],this.outputs=[];for(const[o,h]of n)this.labels.push(o),this.outputs.push(h)}static parse(e,r){if(e.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return r.error("Expected an even number of arguments.");const n=r.parse(e[1],1,Se);if(!n)return null;const o=[];let h=null;r.expectedType&&r.expectedType.kind!=="value"&&(h=r.expectedType);for(let d=1;d=f)return r.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',x);const w=r.parse(_,b,h);if(!w)return null;h=h||w.type,o.push([f,w])}return new Tn(h,n,o)}evaluate(e){const r=this.labels,n=this.outputs;if(r.length===1)return n[0].evaluate(e);const o=this.input.evaluate(e);if(o<=r[0])return n[0].evaluate(e);const h=r.length;return o>=r[h-1]?n[h-1].evaluate(e):n[oa(r,o)].evaluate(e)}eachChild(e){e(this.input);for(const r of this.outputs)e(r)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}}function Mc(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Ac=so;function so(i,e,r,n){this.cx=3*i,this.bx=3*(r-i)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=i,this.p1y=e,this.p2x=r,this.p2y=n}so.prototype={sampleCurveX:function(i){return((this.ax*i+this.bx)*i+this.cx)*i},sampleCurveY:function(i){return((this.ay*i+this.by)*i+this.cy)*i},sampleCurveDerivativeX:function(i){return(3*this.ax*i+2*this.bx)*i+this.cx},solveCurveX:function(i,e){if(e===void 0&&(e=1e-6),i<0)return 0;if(i>1)return 1;for(var r=i,n=0;n<8;n++){var o=this.sampleCurveX(r)-i;if(Math.abs(o)o?d=r:f=r,r=.5*(f-d)+d;return r},solve:function(i,e){return this.sampleCurveY(this.solveCurveX(i,e))}};var dl=Mc(Ac);function ys(i,e,r){return i+r*(e-i)}function la(i,e,r){return i.map((n,o)=>ys(n,e[o],r))}const zi={number:ys,color:function(i,e,r,n="rgb"){switch(n){case"rgb":{const[o,h,d,f]=la(i.rgb,e.rgb,r);return new kt(o,h,d,f,!1)}case"hcl":{const[o,h,d,f]=i.hcl,[_,x,b,w]=e.hcl;let k,A;if(isNaN(o)||isNaN(_))isNaN(o)?isNaN(_)?k=NaN:(k=_,d!==1&&d!==0||(A=x)):(k=o,b!==1&&b!==0||(A=h));else{let re=_-o;_>o&&re>180?re-=360:_180&&(re+=360),k=o+r*re}const[E,L,O,U]=function([re,X,ee,pe]){return re=isNaN(re)?0:re*_t,lt([ee,Math.cos(re)*X,Math.sin(re)*X,pe])}([k,A??ys(h,x,r),ys(d,b,r),ys(f,w,r)]);return new kt(E,L,O,U,!1)}case"lab":{const[o,h,d,f]=lt(la(i.lab,e.lab,r));return new kt(o,h,d,f,!1)}}},array:la,padding:function(i,e,r){return new qi(la(i.values,e.values,r))},variableAnchorOffsetCollection:function(i,e,r){const n=i.values,o=e.values;if(n.length!==o.length)throw new Jt(`Cannot interpolate values of different length. from: ${i.toString()}, to: ${e.toString()}`);const h=[];for(let d=0;dtypeof b!="number"||b<0||b>1))return r.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);o={name:"cubic-bezier",controlPoints:x}}}if(e.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return r.error("Expected an even number of arguments.");if(h=r.parse(h,2,Se),!h)return null;const f=[];let _=null;n==="interpolate-hcl"||n==="interpolate-lab"?_=Ci:r.expectedType&&r.expectedType.kind!=="value"&&(_=r.expectedType);for(let x=0;x=b)return r.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',k);const E=r.parse(w,A,_);if(!E)return null;_=_||E.type,f.push([b,E])}return H(_,Se)||H(_,Ci)||H(_,_i)||H(_,M)||H(_,P(Se))?new tr(_,n,o,h,f):r.error(`Type ${z(_)} is not interpolatable.`)}evaluate(e){const r=this.labels,n=this.outputs;if(r.length===1)return n[0].evaluate(e);const o=this.input.evaluate(e);if(o<=r[0])return n[0].evaluate(e);const h=r.length;if(o>=r[h-1])return n[h-1].evaluate(e);const d=oa(r,o),f=tr.interpolationFactor(this.interpolation,o,r[d],r[d+1]),_=n[d].evaluate(e),x=n[d+1].evaluate(e);switch(this.operator){case"interpolate":return zi[this.type.kind](_,x,f);case"interpolate-hcl":return zi.color(_,x,f,"hcl");case"interpolate-lab":return zi.color(_,x,f,"lab")}}eachChild(e){e(this.input);for(const r of this.outputs)e(r)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}}function no(i,e,r,n){const o=n-r,h=i-r;return o===0?0:e===1?h/o:(Math.pow(e,h)-1)/(Math.pow(e,o)-1)}class ca{constructor(e,r){this.type=e,this.args=r}static parse(e,r){if(e.length<2)return r.error("Expectected at least one argument.");let n=null;const o=r.expectedType;o&&o.kind!=="value"&&(n=o);const h=[];for(const f of e.slice(1)){const _=r.parse(f,1+h.length,n,void 0,{typeAnnotation:"omit"});if(!_)return null;n=n||_.type,h.push(_)}if(!n)throw new Error("No output type");const d=o&&h.some(f=>K(o,f.type));return new ca(d?ot:n,h)}evaluate(e){let r,n=null,o=0;for(const h of this.args)if(o++,n=h.evaluate(e),n&&n instanceof cr&&!n.available&&(r||(r=n.name),n=null,o===this.args.length&&(n=r)),n!==null)break;return n}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}function ao(i,e){return i==="=="||i==="!="?e.kind==="boolean"||e.kind==="string"||e.kind==="number"||e.kind==="null"||e.kind==="value":e.kind==="string"||e.kind==="number"||e.kind==="value"}function oo(i,e,r,n){return n.compare(e,r)===0}function Gs(i,e,r){const n=i!=="=="&&i!=="!=";return class Qd{constructor(h,d,f){this.type=st,this.lhs=h,this.rhs=d,this.collator=f,this.hasUntypedArgument=h.type.kind==="value"||d.type.kind==="value"}static parse(h,d){if(h.length!==3&&h.length!==4)return d.error("Expected two or three arguments.");const f=h[0];let _=d.parse(h[1],1,ot);if(!_)return null;if(!ao(f,_.type))return d.concat(1).error(`"${f}" comparisons are not supported for type '${z(_.type)}'.`);let x=d.parse(h[2],2,ot);if(!x)return null;if(!ao(f,x.type))return d.concat(2).error(`"${f}" comparisons are not supported for type '${z(x.type)}'.`);if(_.type.kind!==x.type.kind&&_.type.kind!=="value"&&x.type.kind!=="value")return d.error(`Cannot compare types '${z(_.type)}' and '${z(x.type)}'.`);n&&(_.type.kind==="value"&&x.type.kind!=="value"?_=new fr(x.type,[_]):_.type.kind!=="value"&&x.type.kind==="value"&&(x=new fr(_.type,[x])));let b=null;if(h.length===4){if(_.type.kind!=="string"&&x.type.kind!=="string"&&_.type.kind!=="value"&&x.type.kind!=="value")return d.error("Cannot use collator to compare non-string types.");if(b=d.parse(h[3],3,Nr),!b)return null}return new Qd(_,x,b)}evaluate(h){const d=this.lhs.evaluate(h),f=this.rhs.evaluate(h);if(n&&this.hasUntypedArgument){const _=ri(d),x=ri(f);if(_.kind!==x.kind||_.kind!=="string"&&_.kind!=="number")throw new Jt(`Expected arguments for "${i}" to be (string, string) or (number, number), but found (${_.kind}, ${x.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const _=ri(d),x=ri(f);if(_.kind!=="string"||x.kind!=="string")return e(h,d,f)}return this.collator?r(h,d,f,this.collator.evaluate(h)):e(h,d,f)}eachChild(h){h(this.lhs),h(this.rhs),this.collator&&h(this.collator)}outputDefined(){return!0}}}const Pc=Gs("==",function(i,e,r){return e===r},oo),pl=Gs("!=",function(i,e,r){return e!==r},function(i,e,r,n){return!oo(0,e,r,n)}),fl=Gs("<",function(i,e,r){return e",function(i,e,r){return e>r},function(i,e,r,n){return n.compare(e,r)>0}),Ec=Gs("<=",function(i,e,r){return e<=r},function(i,e,r,n){return n.compare(e,r)<=0}),zc=Gs(">=",function(i,e,r){return e>=r},function(i,e,r,n){return n.compare(e,r)>=0});class ha{constructor(e,r,n){this.type=Nr,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=r}static parse(e,r){if(e.length!==2)return r.error("Expected one argument.");const n=e[1];if(typeof n!="object"||Array.isArray(n))return r.error("Collator options argument must be an object.");const o=r.parse(n["case-sensitive"]!==void 0&&n["case-sensitive"],1,st);if(!o)return null;const h=r.parse(n["diacritic-sensitive"]!==void 0&&n["diacritic-sensitive"],1,st);if(!h)return null;let d=null;return n.locale&&(d=r.parse(n.locale,1,ct),!d)?null:new ha(o,h,d)}evaluate(e){return new Qa(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class lo{constructor(e,r,n,o,h){this.type=ct,this.number=e,this.locale=r,this.currency=n,this.minFractionDigits=o,this.maxFractionDigits=h}static parse(e,r){if(e.length!==3)return r.error("Expected two arguments.");const n=r.parse(e[1],1,Se);if(!n)return null;const o=e[2];if(typeof o!="object"||Array.isArray(o))return r.error("NumberFormat options argument must be an object.");let h=null;if(o.locale&&(h=r.parse(o.locale,1,ct),!h))return null;let d=null;if(o.currency&&(d=r.parse(o.currency,1,ct),!d))return null;let f=null;if(o["min-fraction-digits"]&&(f=r.parse(o["min-fraction-digits"],1,Se),!f))return null;let _=null;return o["max-fraction-digits"]&&(_=r.parse(o["max-fraction-digits"],1,Se),!_)?null:new lo(n,h,d,f,_)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class ua{constructor(e){this.type=jr,this.sections=e}static parse(e,r){if(e.length<2)return r.error("Expected at least one argument.");const n=e[1];if(!Array.isArray(n)&&typeof n=="object")return r.error("First argument must be an image or text section.");const o=[];let h=!1;for(let d=1;d<=e.length-1;++d){const f=e[d];if(h&&typeof f=="object"&&!Array.isArray(f)){h=!1;let _=null;if(f["font-scale"]&&(_=r.parse(f["font-scale"],1,Se),!_))return null;let x=null;if(f["text-font"]&&(x=r.parse(f["text-font"],1,P(ct)),!x))return null;let b=null;if(f["text-color"]&&(b=r.parse(f["text-color"],1,Ci),!b))return null;const w=o[o.length-1];w.scale=_,w.font=x,w.textColor=b}else{const _=r.parse(e[d],1,ot);if(!_)return null;const x=_.type.kind;if(x!=="string"&&x!=="value"&&x!=="null"&&x!=="resolvedImage")return r.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");h=!0,o.push({content:_,scale:null,font:null,textColor:null})}}return new ua(o)}evaluate(e){return new er(this.sections.map(r=>{const n=r.content.evaluate(e);return ri(n)===V?new eo("",n,null,null,null):new eo(wn(n),null,r.scale?r.scale.evaluate(e):null,r.font?r.font.evaluate(e).join(","):null,r.textColor?r.textColor.evaluate(e):null)}))}eachChild(e){for(const r of this.sections)e(r.content),r.scale&&e(r.scale),r.font&&e(r.font),r.textColor&&e(r.textColor)}outputDefined(){return!1}}class co{constructor(e){this.type=V,this.input=e}static parse(e,r){if(e.length!==2)return r.error("Expected two arguments.");const n=r.parse(e[1],1,ct);return n?new co(n):r.error("No image name provided.")}evaluate(e){const r=this.input.evaluate(e),n=cr.fromString(r);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(r)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}}class kn{constructor(e){this.type=Se,this.input=e}static parse(e,r){if(e.length!==2)return r.error(`Expected 1 argument, but found ${e.length-1} instead.`);const n=r.parse(e[1],1);return n?n.type.kind!=="array"&&n.type.kind!=="string"&&n.type.kind!=="value"?r.error(`Expected argument of type string or array, but found ${z(n.type)} instead.`):new kn(n):null}evaluate(e){const r=this.input.evaluate(e);if(typeof r=="string"||Array.isArray(r))return r.length;throw new Jt(`Expected value to be of type string or array, but found ${z(ri(r))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}const ir=8192;function It(i,e){const r=(180+i[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+i[1]*Math.PI/360)))/360,o=Math.pow(2,e.z);return[Math.round(r*o*ir),Math.round(n*o*ir)]}function ho(i,e){const r=Math.pow(2,e.z);return[(o=(i[0]/ir+e.x)/r,360*o-180),(n=(i[1]/ir+e.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90)];var n,o}function Mn(i,e){i[0]=Math.min(i[0],e[0]),i[1]=Math.min(i[1],e[1]),i[2]=Math.max(i[2],e[0]),i[3]=Math.max(i[3],e[1])}function An(i,e){return!(i[0]<=e[0]||i[2]>=e[2]||i[1]<=e[1]||i[3]>=e[3])}function Dc(i,e,r){const n=i[0]-e[0],o=i[1]-e[1],h=i[0]-r[0],d=i[1]-r[1];return n*d-h*o==0&&n*h<=0&&o*d<=0}function da(i,e,r,n){return(o=[n[0]-r[0],n[1]-r[1]])[0]*(h=[e[0]-i[0],e[1]-i[1]])[1]-o[1]*h[0]!=0&&!(!_l(i,e,r,n)||!_l(r,n,i,e));var o,h}function Lc(i,e,r){for(const n of r)for(let o=0;o(o=i)[1]!=(d=f[_+1])[1]>o[1]&&o[0]<(d[0]-h[0])*(o[1]-h[1])/(d[1]-h[1])+h[0]&&(n=!n)}var o,h,d;return n}function Rc(i,e){for(const r of e)if(Ws(i,r))return!0;return!1}function ml(i,e){for(const r of i)if(!Ws(r,e))return!1;for(let r=0;r0&&f<0||d<0&&f>0}function uo(i,e,r){const n=[];for(let o=0;or[2]){const o=.5*n;let h=i[0]-r[0]>o?-n:r[0]-i[0]>o?n:0;h===0&&(h=i[0]-r[2]>o?-n:r[2]-i[0]>o?n:0),i[0]+=h}Mn(e,i)}function xl(i,e,r,n){const o=Math.pow(2,n.z)*ir,h=[n.x*ir,n.y*ir],d=[];for(const f of i)for(const _ of f){const x=[_.x+h[0],_.y+h[1]];yl(x,e,r,o),d.push(x)}return d}function vl(i,e,r,n){const o=Math.pow(2,n.z)*ir,h=[n.x*ir,n.y*ir],d=[];for(const _ of i){const x=[];for(const b of _){const w=[b.x+h[0],b.y+h[1]];Mn(e,w),x.push(w)}d.push(x)}if(e[2]-e[0]<=o/2){(f=e)[0]=f[1]=1/0,f[2]=f[3]=-1/0;for(const _ of d)for(const x of _)yl(x,e,r,o)}var f;return d}class xs{constructor(e,r){this.type=st,this.geojson=e,this.geometries=r}static parse(e,r){if(e.length!==2)return r.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(Ur(e[1])){const n=e[1];if(n.type==="FeatureCollection"){const o=[];for(const h of n.features){const{type:d,coordinates:f}=h.geometry;d==="Polygon"&&o.push(f),d==="MultiPolygon"&&o.push(...f)}if(o.length)return new xs(n,{type:"MultiPolygon",coordinates:o})}else if(n.type==="Feature"){const o=n.geometry.type;if(o==="Polygon"||o==="MultiPolygon")return new xs(n,n.geometry)}else if(n.type==="Polygon"||n.type==="MultiPolygon")return new xs(n,n)}return r.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()==="Point")return function(r,n){const o=[1/0,1/0,-1/0,-1/0],h=[1/0,1/0,-1/0,-1/0],d=r.canonicalID();if(n.type==="Polygon"){const f=uo(n.coordinates,h,d),_=xl(r.geometry(),o,h,d);if(!An(o,h))return!1;for(const x of _)if(!Ws(x,f))return!1}if(n.type==="MultiPolygon"){const f=gl(n.coordinates,h,d),_=xl(r.geometry(),o,h,d);if(!An(o,h))return!1;for(const x of _)if(!Rc(x,f))return!1}return!0}(e,this.geometries);if(e.geometryType()==="LineString")return function(r,n){const o=[1/0,1/0,-1/0,-1/0],h=[1/0,1/0,-1/0,-1/0],d=r.canonicalID();if(n.type==="Polygon"){const f=uo(n.coordinates,h,d),_=vl(r.geometry(),o,h,d);if(!An(o,h))return!1;for(const x of _)if(!ml(x,f))return!1}if(n.type==="MultiPolygon"){const f=gl(n.coordinates,h,d),_=vl(r.geometry(),o,h,d);if(!An(o,h))return!1;for(const x of _)if(!Fc(x,f))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let bl=class{constructor(i=[],e=Bc){if(this.data=i,this.length=this.data.length,this.compare=e,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(i){this.data.push(i),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const i=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),i}peek(){return this.data[0]}_up(i){const{data:e,compare:r}=this,n=e[i];for(;i>0;){const o=i-1>>1,h=e[o];if(r(n,h)>=0)break;e[i]=h,i=o}e[i]=n}_down(i){const{data:e,compare:r}=this,n=this.length>>1,o=e[i];for(;i=0)break;e[i]=d,i=h}e[i]=o}};function Bc(i,e){return ie?1:0}function Oc(i,e,r,n,o){wl(i,e,r,n||i.length-1,o||Vc)}function wl(i,e,r,n,o){for(;n>r;){if(n-r>600){var h=n-r+1,d=e-r+1,f=Math.log(h),_=.5*Math.exp(2*f/3),x=.5*Math.sqrt(f*_*(h-_)/h)*(d-h/2<0?-1:1);wl(i,e,Math.max(r,Math.floor(e-d*_/h+x)),Math.min(n,Math.floor(e+(h-d)*_/h+x)),o)}var b=i[e],w=r,k=n;for(Pn(i,r,e),o(i[n],b)>0&&Pn(i,r,n);w0;)k--}o(i[r],b)===0?Pn(i,r,k):Pn(i,++k,n),k<=e&&(r=k+1),e<=k&&(n=k-1)}}function Pn(i,e,r){var n=i[e];i[e]=i[r],i[r]=n}function Vc(i,e){return ie?1:0}function pa(i,e){if(i.length<=1)return[i];const r=[];let n,o;for(const h of i){const d=Nc(h);d!==0&&(h.area=Math.abs(d),o===void 0&&(o=d<0),o===d<0?(n&&r.push(n),n=[h]):n.push(h))}if(n&&r.push(n),e>1)for(let h=0;h1?(x=e[_+1][0],b=e[_+1][1]):A>0&&(x+=w/this.kx*A,b+=k/this.ky*A)),w=this.wrap(r[0]-x)*this.kx,k=(r[1]-b)*this.ky;const E=w*w+k*k;E180;)e-=360;return e}}function kl(i,e){return e[0]-i[0]}function Hs(i){return i[1]-i[0]+1}function qr(i,e){return i[1]>=i[0]&&i[1]i[1])return[null,null];const r=Hs(i);if(e){if(r===2)return[i,null];const o=Math.floor(r/2);return[[i[0],i[0]+o],[i[0]+o,i[1]]]}if(r===1)return[i,null];const n=Math.floor(r/2)-1;return[[i[0],i[0]+n],[i[0]+n+1,i[1]]]}function mo(i,e){if(!qr(e,i.length))return[1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let n=e[0];n<=e[1];++n)Mn(r,i[n]);return r}function _o(i){const e=[1/0,1/0,-1/0,-1/0];for(const r of i)for(const n of r)Mn(e,n);return e}function Yt(i){return i[0]!==-1/0&&i[1]!==-1/0&&i[2]!==1/0&&i[3]!==1/0}function go(i,e,r){if(!Yt(i)||!Yt(e))return NaN;let n=0,o=0;return i[2]e[2]&&(n=i[0]-e[2]),i[1]>e[3]&&(o=i[1]-e[3]),i[3]=n)return n;if(An(o,h)){if(yo(i,e))return 0}else if(yo(e,i))return 0;let d=1/0;for(const f of i)for(let _=0,x=f.length,b=x-1;_0;){const _=d.pop();if(_[0]>=h)continue;const x=_[1],b=e?50:100;if(Hs(x)<=b){if(!qr(x,i.length))return NaN;if(e){const w=Ml(i,x,r,n);if(isNaN(w)||w===0)return w;h=Math.min(h,w)}else for(let w=x[0];w<=x[1];++w){const k=fa(i[w],r,n);if(h=Math.min(h,k),h===0)return 0}}else{const w=fo(x,e);Al(d,h,n,i,f,w[0]),Al(d,h,n,i,f,w[1])}}return h}function En(i,e,r,n,o,h=1/0){let d=Math.min(h,o.distance(i[0],r[0]));if(d===0)return d;const f=new bl([[0,[0,i.length-1],[0,r.length-1]]],kl);for(;f.length>0;){const _=f.pop();if(_[0]>=d)continue;const x=_[1],b=_[2],w=e?50:100,k=n?50:100;if(Hs(x)<=w&&Hs(b)<=k){if(!qr(x,i.length)&&qr(b,r.length))return NaN;let A;if(e&&n)A=Ut(i,x,r,b,o),d=Math.min(d,A);else if(e&&!n){const E=i.slice(x[0],x[1]+1);for(let L=b[0];L<=b[1];++L)if(A=ut(r[L],E,o),d=Math.min(d,A),d===0)return d}else if(!e&&n){const E=r.slice(b[0],b[1]+1);for(let L=x[0];L<=x[1];++L)if(A=ut(i[L],E,o),d=Math.min(d,A),d===0)return d}else A=Nt(i,x,r,b,o),d=Math.min(d,A)}else{const A=fo(x,e),E=fo(b,n);ma(f,d,o,i,r,A[0],E[0]),ma(f,d,o,i,r,A[0],E[1]),ma(f,d,o,i,r,A[1],E[0]),ma(f,d,o,i,r,A[1],E[1])}}return d}function ga(i){return i.type==="MultiPolygon"?i.coordinates.map(e=>({type:"Polygon",coordinates:e})):i.type==="MultiLineString"?i.coordinates.map(e=>({type:"LineString",coordinates:e})):i.type==="MultiPoint"?i.coordinates.map(e=>({type:"Point",coordinates:e})):[i]}class is{constructor(e,r){this.type=Se,this.geojson=e,this.geometries=r}static parse(e,r){if(e.length!==2)return r.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(Ur(e[1])){const n=e[1];if(n.type==="FeatureCollection")return new is(n,n.features.map(o=>ga(o.geometry)).flat());if(n.type==="Feature")return new is(n,ga(n.geometry));if("type"in n&&"coordinates"in n)return new is(n,ga(n))}return r.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(e.geometry()!=null&&e.canonicalID()!=null){if(e.geometryType()==="Point")return function(r,n){const o=r.geometry(),h=o.flat().map(_=>ho([_.x,_.y],r.canonical));if(o.length===0)return NaN;const d=new po(h[0][1]);let f=1/0;for(const _ of n){switch(_.type){case"Point":f=Math.min(f,En(h,!1,[_.coordinates],!1,d,f));break;case"LineString":f=Math.min(f,En(h,!1,_.coordinates,!0,d,f));break;case"Polygon":f=Math.min(f,_a(h,!1,_.coordinates,d,f))}if(f===0)return f}return f}(e,this.geometries);if(e.geometryType()==="LineString")return function(r,n){const o=r.geometry(),h=o.flat().map(_=>ho([_.x,_.y],r.canonical));if(o.length===0)return NaN;const d=new po(h[0][1]);let f=1/0;for(const _ of n){switch(_.type){case"Point":f=Math.min(f,En(h,!0,[_.coordinates],!1,d,f));break;case"LineString":f=Math.min(f,En(h,!0,_.coordinates,!0,d,f));break;case"Polygon":f=Math.min(f,_a(h,!0,_.coordinates,d,f))}if(f===0)return f}return f}(e,this.geometries);if(e.geometryType()==="Polygon")return function(r,n){const o=r.geometry();if(o.length===0||o[0].length===0)return NaN;const h=pa(o,0).map(_=>_.map(x=>x.map(b=>ho([b.x,b.y],r.canonical)))),d=new po(h[0][0][0][1]);let f=1/0;for(const _ of n)for(const x of h){switch(_.type){case"Point":f=Math.min(f,_a([_.coordinates],!1,x,d,f));break;case"LineString":f=Math.min(f,_a(_.coordinates,!0,x,d,f));break;case"Polygon":f=Math.min(f,jc(x,_.coordinates,d,f))}if(f===0)return f}return f}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const vs={"==":Pc,"!=":pl,">":Cc,"<":fl,">=":zc,"<=":Ec,array:fr,at:io,boolean:fr,case:aa,coalesce:ca,collator:ha,format:ua,image:co,in:na,"index-of":Sn,interpolate:tr,"interpolate-hcl":tr,"interpolate-lab":tr,length:kn,let:sa,literal:_s,match:ro,number:fr,"number-format":lo,object:fr,slice:In,step:Tn,string:fr,"to-boolean":Mr,"to-color":Mr,"to-number":Mr,"to-string":Mr,var:Zs,within:xs,distance:is};class Gi{constructor(e,r,n,o){this.name=e,this.type=r,this._evaluate=n,this.args=o}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,r){const n=e[0],o=Gi.definitions[n];if(!o)return r.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const h=Array.isArray(o)?o[0]:o.type,d=Array.isArray(o)?[[o[1],o[2]]]:o.overloads,f=d.filter(([x])=>!Array.isArray(x)||x.length===e.length-1);let _=null;for(const[x,b]of f){_=new St(r.registry,ya,r.path,null,r.scope);const w=[];let k=!1;for(let A=1;A{return k=w,Array.isArray(k)?`(${k.map(z).join(", ")})`:`(${z(k.type)}...)`;var k}).join(" | "),b=[];for(let w=1;w{r=e?r&&ya(n):r&&n instanceof _s}),!!r&&xa(i)&&va(i,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function xa(i){if(i instanceof Gi&&(i.name==="get"&&i.args.length===1||i.name==="feature-state"||i.name==="has"&&i.args.length===1||i.name==="properties"||i.name==="geometry-type"||i.name==="id"||/^filter-/.test(i.name))||i instanceof xs||i instanceof is)return!1;let e=!0;return i.eachChild(r=>{e&&!xa(r)&&(e=!1)}),e}function zn(i){if(i instanceof Gi&&i.name==="feature-state")return!1;let e=!0;return i.eachChild(r=>{e&&!zn(r)&&(e=!1)}),e}function va(i,e){if(i instanceof Gi&&e.indexOf(i.name)>=0)return!1;let r=!0;return i.eachChild(n=>{r&&!va(n,e)&&(r=!1)}),r}function vo(i){return{result:"success",value:i}}function ws(i){return{result:"error",value:i}}function Zr(i){return i["property-type"]==="data-driven"||i["property-type"]==="cross-faded-data-driven"}function El(i){return!!i.expression&&i.expression.parameters.indexOf("zoom")>-1}function ba(i){return!!i.expression&&i.expression.interpolated}function wt(i){return i instanceof Number?"number":i instanceof String?"string":i instanceof Boolean?"boolean":Array.isArray(i)?"array":i===null?"null":typeof i}function Xs(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)}function wa(i){return i}function Dn(i,e){const r=e.type==="color",n=i.stops&&typeof i.stops[0][0]=="object",o=n||!(n||i.property!==void 0),h=i.type||(ba(e)?"exponential":"interval");if(r||e.type==="padding"){const b=r?kt.parse:qi.parse;(i=Ni({},i)).stops&&(i.stops=i.stops.map(w=>[w[0],b(w[1])])),i.default=b(i.default?i.default:e.default)}if(i.colorSpace&&(d=i.colorSpace)!=="rgb"&&d!=="hcl"&&d!=="lab")throw new Error(`Unknown color space: "${i.colorSpace}"`);var d;let f,_,x;if(h==="exponential")f=wo;else if(h==="interval")f=zl;else if(h==="categorical"){f=bo,_=Object.create(null);for(const b of i.stops)_[b[0]]=b[1];x=typeof i.stops[0][0]}else{if(h!=="identity")throw new Error(`Unknown function type "${h}"`);f=Sa}if(n){const b={},w=[];for(let E=0;EE[0]),evaluate:({zoom:E},L)=>wo({stops:k,base:i.base},e,E).evaluate(E,L)}}if(o){const b=h==="exponential"?{name:"exponential",base:i.base!==void 0?i.base:1}:null;return{kind:"camera",interpolationType:b,interpolationFactor:tr.interpolationFactor.bind(void 0,b),zoomStops:i.stops.map(w=>w[0]),evaluate:({zoom:w})=>f(i,e,w,_,x)}}return{kind:"source",evaluate(b,w){const k=w&&w.properties?w.properties[i.property]:void 0;return k===void 0?Ks(i.default,e.default):f(i,e,k,_,x)}}}function Ks(i,e,r){return i!==void 0?i:e!==void 0?e:r!==void 0?r:void 0}function bo(i,e,r,n,o){return Ks(typeof r===o?n[r]:void 0,i.default,e.default)}function zl(i,e,r){if(wt(r)!=="number")return Ks(i.default,e.default);const n=i.stops.length;if(n===1||r<=i.stops[0][0])return i.stops[0][1];if(r>=i.stops[n-1][0])return i.stops[n-1][1];const o=oa(i.stops.map(h=>h[0]),r);return i.stops[o][1]}function wo(i,e,r){const n=i.base!==void 0?i.base:1;if(wt(r)!=="number")return Ks(i.default,e.default);const o=i.stops.length;if(o===1||r<=i.stops[0][0])return i.stops[0][1];if(r>=i.stops[o-1][0])return i.stops[o-1][1];const h=oa(i.stops.map(b=>b[0]),r),d=function(b,w,k,A){const E=A-k,L=b-k;return E===0?0:w===1?L/E:(Math.pow(w,L)-1)/(Math.pow(w,E)-1)}(r,n,i.stops[h][0],i.stops[h+1][0]),f=i.stops[h][1],_=i.stops[h+1][1],x=zi[e.type]||wa;return typeof f.evaluate=="function"?{evaluate(...b){const w=f.evaluate.apply(void 0,b),k=_.evaluate.apply(void 0,b);if(w!==void 0&&k!==void 0)return x(w,k,d,i.colorSpace)}}:x(f,_,d,i.colorSpace)}function Sa(i,e,r){switch(e.type){case"color":r=kt.parse(r);break;case"formatted":r=er.fromString(r.toString());break;case"resolvedImage":r=cr.fromString(r.toString());break;case"padding":r=qi.parse(r);break;default:wt(r)===e.type||e.type==="enum"&&e.values[r]||(r=void 0)}return Ks(r,i.default,e.default)}Gi.register(vs,{error:[{kind:"error"},[ct],(i,[e])=>{throw new Jt(e.evaluate(i))}],typeof:[ct,[ot],(i,[e])=>z(ri(e.evaluate(i)))],"to-rgba":[P(Se,4),[Ci],(i,[e])=>{const[r,n,o,h]=e.evaluate(i).rgb;return[255*r,255*n,255*o,h]}],rgb:[Ci,[Se,Se,Se],Pl],rgba:[Ci,[Se,Se,Se,Se],Pl],has:{type:st,overloads:[[[ct],(i,[e])=>Cl(e.evaluate(i),i.properties())],[[ct,Ei],(i,[e,r])=>Cl(e.evaluate(i),r.evaluate(i))]]},get:{type:ot,overloads:[[[ct],(i,[e])=>xo(e.evaluate(i),i.properties())],[[ct,Ei],(i,[e,r])=>xo(e.evaluate(i),r.evaluate(i))]]},"feature-state":[ot,[ct],(i,[e])=>xo(e.evaluate(i),i.featureState||{})],properties:[Ei,[],i=>i.properties()],"geometry-type":[ct,[],i=>i.geometryType()],id:[ot,[],i=>i.id()],zoom:[Se,[],i=>i.globals.zoom],"heatmap-density":[Se,[],i=>i.globals.heatmapDensity||0],"line-progress":[Se,[],i=>i.globals.lineProgress||0],accumulated:[ot,[],i=>i.globals.accumulated===void 0?null:i.globals.accumulated],"+":[Se,bs(Se),(i,e)=>{let r=0;for(const n of e)r+=n.evaluate(i);return r}],"*":[Se,bs(Se),(i,e)=>{let r=1;for(const n of e)r*=n.evaluate(i);return r}],"-":{type:Se,overloads:[[[Se,Se],(i,[e,r])=>e.evaluate(i)-r.evaluate(i)],[[Se],(i,[e])=>-e.evaluate(i)]]},"/":[Se,[Se,Se],(i,[e,r])=>e.evaluate(i)/r.evaluate(i)],"%":[Se,[Se,Se],(i,[e,r])=>e.evaluate(i)%r.evaluate(i)],ln2:[Se,[],()=>Math.LN2],pi:[Se,[],()=>Math.PI],e:[Se,[],()=>Math.E],"^":[Se,[Se,Se],(i,[e,r])=>Math.pow(e.evaluate(i),r.evaluate(i))],sqrt:[Se,[Se],(i,[e])=>Math.sqrt(e.evaluate(i))],log10:[Se,[Se],(i,[e])=>Math.log(e.evaluate(i))/Math.LN10],ln:[Se,[Se],(i,[e])=>Math.log(e.evaluate(i))],log2:[Se,[Se],(i,[e])=>Math.log(e.evaluate(i))/Math.LN2],sin:[Se,[Se],(i,[e])=>Math.sin(e.evaluate(i))],cos:[Se,[Se],(i,[e])=>Math.cos(e.evaluate(i))],tan:[Se,[Se],(i,[e])=>Math.tan(e.evaluate(i))],asin:[Se,[Se],(i,[e])=>Math.asin(e.evaluate(i))],acos:[Se,[Se],(i,[e])=>Math.acos(e.evaluate(i))],atan:[Se,[Se],(i,[e])=>Math.atan(e.evaluate(i))],min:[Se,bs(Se),(i,e)=>Math.min(...e.map(r=>r.evaluate(i)))],max:[Se,bs(Se),(i,e)=>Math.max(...e.map(r=>r.evaluate(i)))],abs:[Se,[Se],(i,[e])=>Math.abs(e.evaluate(i))],round:[Se,[Se],(i,[e])=>{const r=e.evaluate(i);return r<0?-Math.round(-r):Math.round(r)}],floor:[Se,[Se],(i,[e])=>Math.floor(e.evaluate(i))],ceil:[Se,[Se],(i,[e])=>Math.ceil(e.evaluate(i))],"filter-==":[st,[ct,ot],(i,[e,r])=>i.properties()[e.value]===r.value],"filter-id-==":[st,[ot],(i,[e])=>i.id()===e.value],"filter-type-==":[st,[ct],(i,[e])=>i.geometryType()===e.value],"filter-<":[st,[ct,ot],(i,[e,r])=>{const n=i.properties()[e.value],o=r.value;return typeof n==typeof o&&n{const r=i.id(),n=e.value;return typeof r==typeof n&&r":[st,[ct,ot],(i,[e,r])=>{const n=i.properties()[e.value],o=r.value;return typeof n==typeof o&&n>o}],"filter-id->":[st,[ot],(i,[e])=>{const r=i.id(),n=e.value;return typeof r==typeof n&&r>n}],"filter-<=":[st,[ct,ot],(i,[e,r])=>{const n=i.properties()[e.value],o=r.value;return typeof n==typeof o&&n<=o}],"filter-id-<=":[st,[ot],(i,[e])=>{const r=i.id(),n=e.value;return typeof r==typeof n&&r<=n}],"filter->=":[st,[ct,ot],(i,[e,r])=>{const n=i.properties()[e.value],o=r.value;return typeof n==typeof o&&n>=o}],"filter-id->=":[st,[ot],(i,[e])=>{const r=i.id(),n=e.value;return typeof r==typeof n&&r>=n}],"filter-has":[st,[ot],(i,[e])=>e.value in i.properties()],"filter-has-id":[st,[],i=>i.id()!==null&&i.id()!==void 0],"filter-type-in":[st,[P(ct)],(i,[e])=>e.value.indexOf(i.geometryType())>=0],"filter-id-in":[st,[P(ot)],(i,[e])=>e.value.indexOf(i.id())>=0],"filter-in-small":[st,[ct,P(ot)],(i,[e,r])=>r.value.indexOf(i.properties()[e.value])>=0],"filter-in-large":[st,[ct,P(ot)],(i,[e,r])=>function(n,o,h,d){for(;h<=d;){const f=h+d>>1;if(o[f]===n)return!0;o[f]>n?d=f-1:h=f+1}return!1}(i.properties()[e.value],r.value,0,r.value.length-1)],all:{type:st,overloads:[[[st,st],(i,[e,r])=>e.evaluate(i)&&r.evaluate(i)],[bs(st),(i,e)=>{for(const r of e)if(!r.evaluate(i))return!1;return!0}]]},any:{type:st,overloads:[[[st,st],(i,[e,r])=>e.evaluate(i)||r.evaluate(i)],[bs(st),(i,e)=>{for(const r of e)if(r.evaluate(i))return!0;return!1}]]},"!":[st,[st],(i,[e])=>!e.evaluate(i)],"is-supported-script":[st,[ct],(i,[e])=>{const r=i.globals&&i.globals.isSupportedScript;return!r||r(e.evaluate(i))}],upcase:[ct,[ct],(i,[e])=>e.evaluate(i).toUpperCase()],downcase:[ct,[ct],(i,[e])=>e.evaluate(i).toLowerCase()],concat:[ct,bs(ot),(i,e)=>e.map(r=>wn(r.evaluate(i))).join("")],"resolved-locale":[ct,[Nr],(i,[e])=>e.evaluate(i).resolvedLocale()]});class So{constructor(e,r){var n;this.expression=e,this._warningHistory={},this._evaluator=new qs,this._defaultValue=r?(n=r).type==="color"&&Xs(n.default)?new kt(0,0,0,0):n.type==="color"?kt.parse(n.default)||null:n.type==="padding"?qi.parse(n.default)||null:n.type==="variableAnchorOffsetCollection"?Zi.parse(n.default)||null:n.default===void 0?null:n.default:null,this._enumValues=r&&r.type==="enum"?r.values:null}evaluateWithoutErrorHandling(e,r,n,o,h,d){return this._evaluator.globals=e,this._evaluator.feature=r,this._evaluator.featureState=n,this._evaluator.canonical=o,this._evaluator.availableImages=h||null,this._evaluator.formattedSection=d,this.expression.evaluate(this._evaluator)}evaluate(e,r,n,o,h,d){this._evaluator.globals=e,this._evaluator.feature=r||null,this._evaluator.featureState=n||null,this._evaluator.canonical=o,this._evaluator.availableImages=h||null,this._evaluator.formattedSection=d||null;try{const f=this.expression.evaluate(this._evaluator);if(f==null||typeof f=="number"&&f!=f)return this._defaultValue;if(this._enumValues&&!(f in this._enumValues))throw new Jt(`Expected value to be one of ${Object.keys(this._enumValues).map(_=>JSON.stringify(_)).join(", ")}, but found ${JSON.stringify(f)} instead.`);return f}catch(f){return this._warningHistory[f.message]||(this._warningHistory[f.message]=!0,typeof console<"u"&&console.warn(f.message)),this._defaultValue}}}function Ia(i){return Array.isArray(i)&&i.length>0&&typeof i[0]=="string"&&i[0]in vs}function Ta(i,e){const r=new St(vs,ya,[],e?function(o){const h={color:Ci,string:ct,number:Se,enum:ct,boolean:st,formatted:jr,padding:_i,resolvedImage:V,variableAnchorOffsetCollection:M};return o.type==="array"?P(h[o.value]||ot,o.length):h[o.type]}(e):void 0),n=r.parse(i,void 0,void 0,void 0,e&&e.type==="string"?{typeAnnotation:"coerce"}:void 0);return n?vo(new So(n,e)):ws(r.errors)}class Io{constructor(e,r){this.kind=e,this._styleExpression=r,this.isStateDependent=e!=="constant"&&!zn(r.expression)}evaluateWithoutErrorHandling(e,r,n,o,h,d){return this._styleExpression.evaluateWithoutErrorHandling(e,r,n,o,h,d)}evaluate(e,r,n,o,h,d){return this._styleExpression.evaluate(e,r,n,o,h,d)}}class To{constructor(e,r,n,o){this.kind=e,this.zoomStops=n,this._styleExpression=r,this.isStateDependent=e!=="camera"&&!zn(r.expression),this.interpolationType=o}evaluateWithoutErrorHandling(e,r,n,o,h,d){return this._styleExpression.evaluateWithoutErrorHandling(e,r,n,o,h,d)}evaluate(e,r,n,o,h,d){return this._styleExpression.evaluate(e,r,n,o,h,d)}interpolationFactor(e,r,n){return this.interpolationType?tr.interpolationFactor(this.interpolationType,e,r,n):0}}function Ln(i,e){const r=Ta(i,e);if(r.result==="error")return r;const n=r.value.expression,o=xa(n);if(!o&&!Zr(e))return ws([new ji("","data expressions not supported")]);const h=va(n,["zoom"]);if(!h&&!El(e))return ws([new ji("","zoom expressions not supported")]);const d=bi(n);return d||h?d instanceof ji?ws([d]):d instanceof tr&&!ba(e)?ws([new ji("",'"interpolate" expressions cannot be used with this property')]):vo(d?new To(o?"camera":"composite",r.value,d.labels,d instanceof tr?d.interpolation:void 0):new Io(o?"constant":"source",r.value)):ws([new ji("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class Ss{constructor(e,r){this._parameters=e,this._specification=r,Ni(this,Dn(this._parameters,this._specification))}static deserialize(e){return new Ss(e._parameters,e._specification)}static serialize(e){return{_parameters:e._parameters,_specification:e._specification}}}function bi(i){let e=null;if(i instanceof sa)e=bi(i.result);else if(i instanceof ca){for(const r of i.args)if(e=bi(r),e)break}else(i instanceof Tn||i instanceof tr)&&i.input instanceof Gi&&i.input.name==="zoom"&&(e=i);return e instanceof ji||i.eachChild(r=>{const n=bi(r);n instanceof ji?e=n:!e&&n?e=new ji("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):e&&n&&e!==n&&(e=new ji("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),e}function Is(i){if(i===!0||i===!1)return!0;if(!Array.isArray(i)||i.length===0)return!1;switch(i[0]){case"has":return i.length>=2&&i[1]!=="$id"&&i[1]!=="$type";case"in":return i.length>=3&&(typeof i[1]!="string"||Array.isArray(i[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return i.length!==3||Array.isArray(i[1])||Array.isArray(i[2]);case"any":case"all":for(const e of i.slice(1))if(!Is(e)&&typeof e!="boolean")return!1;return!0;default:return!0}}const Dl={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function ko(i){if(i==null)return{filter:()=>!0,needGeometry:!1};Is(i)||(i=Rn(i));const e=Ta(i,Dl);if(e.result==="error")throw new Error(e.value.map(r=>`${r.key}: ${r.message}`).join(", "));return{filter:(r,n,o)=>e.value.evaluate(r,n,{},o),needGeometry:Js(i)}}function Uc(i,e){return ie?1:0}function Js(i){if(!Array.isArray(i))return!1;if(i[0]==="within"||i[0]==="distance")return!0;for(let e=1;e"||e==="<="||e===">="?Fn(i[1],i[2],e):e==="any"?(r=i.slice(1),["any"].concat(r.map(Rn))):e==="all"?["all"].concat(i.slice(1).map(Rn)):e==="none"?["all"].concat(i.slice(1).map(Rn).map(Ma)):e==="in"?Ll(i[1],i.slice(2)):e==="!in"?Ma(Ll(i[1],i.slice(2))):e==="has"?ka(i[1]):e!=="!has"||Ma(ka(i[1]));var r}function Fn(i,e,r){switch(i){case"$type":return[`filter-type-${r}`,e];case"$id":return[`filter-id-${r}`,e];default:return[`filter-${r}`,i,e]}}function Ll(i,e){if(e.length===0)return!1;switch(i){case"$type":return["filter-type-in",["literal",e]];case"$id":return["filter-id-in",["literal",e]];default:return e.length>200&&!e.some(r=>typeof r!=typeof e[0])?["filter-in-large",i,["literal",e.sort(Uc)]]:["filter-in-small",i,["literal",e]]}}function ka(i){switch(i){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",i]}}function Ma(i){return["!",i]}function Ts(i){const e=typeof i;if(e==="number"||e==="boolean"||e==="string"||i==null)return JSON.stringify(i);if(Array.isArray(i)){let o="[";for(const h of i)o+=`${Ts(h)},`;return`${o}]`}const r=Object.keys(i).sort();let n="{";for(let o=0;on.maximum?[new Me(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Ca(i){const e=i.valueSpec,r=Ht(i.value.type);let n,o,h,d={};const f=r!=="categorical"&&i.value.property===void 0,_=!f,x=wt(i.value.stops)==="array"&&wt(i.value.stops[0])==="array"&&wt(i.value.stops[0][0])==="object",b=rr({key:i.key,value:i.value,valueSpec:i.styleSpec.function,validateSpec:i.validateSpec,style:i.style,styleSpec:i.styleSpec,objectElementValidators:{stops:function(A){if(r==="identity")return[new Me(A.key,A.value,'identity function may not have a "stops" property')];let E=[];const L=A.value;return E=E.concat(Pa({key:A.key,value:L,valueSpec:A.valueSpec,validateSpec:A.validateSpec,style:A.style,styleSpec:A.styleSpec,arrayElementValidator:w})),wt(L)==="array"&&L.length===0&&E.push(new Me(A.key,L,"array must have at least one stop")),E},default:function(A){return A.validateSpec({key:A.key,value:A.value,valueSpec:e,validateSpec:A.validateSpec,style:A.style,styleSpec:A.styleSpec})}}});return r==="identity"&&f&&b.push(new Me(i.key,i.value,'missing required property "property"')),r==="identity"||i.value.stops||b.push(new Me(i.key,i.value,'missing required property "stops"')),r==="exponential"&&i.valueSpec.expression&&!ba(i.valueSpec)&&b.push(new Me(i.key,i.value,"exponential functions not supported")),i.styleSpec.$version>=8&&(_&&!Zr(i.valueSpec)?b.push(new Me(i.key,i.value,"property functions not supported")):f&&!El(i.valueSpec)&&b.push(new Me(i.key,i.value,"zoom functions not supported"))),r!=="categorical"&&!x||i.value.property!==void 0||b.push(new Me(i.key,i.value,'"property" property is required')),b;function w(A){let E=[];const L=A.value,O=A.key;if(wt(L)!=="array")return[new Me(O,L,`array expected, ${wt(L)} found`)];if(L.length!==2)return[new Me(O,L,`array length 2 expected, length ${L.length} found`)];if(x){if(wt(L[0])!=="object")return[new Me(O,L,`object expected, ${wt(L[0])} found`)];if(L[0].zoom===void 0)return[new Me(O,L,"object stop key must have zoom")];if(L[0].value===void 0)return[new Me(O,L,"object stop key must have value")];if(h&&h>Ht(L[0].zoom))return[new Me(O,L[0].zoom,"stop zoom values must appear in ascending order")];Ht(L[0].zoom)!==h&&(h=Ht(L[0].zoom),o=void 0,d={}),E=E.concat(rr({key:`${O}[0]`,value:L[0],valueSpec:{zoom:{}},validateSpec:A.validateSpec,style:A.style,styleSpec:A.styleSpec,objectElementValidators:{zoom:Mo,value:k}}))}else E=E.concat(k({key:`${O}[0]`,value:L[0],valueSpec:{},validateSpec:A.validateSpec,style:A.style,styleSpec:A.styleSpec},L));return Ia(Gr(L[1]))?E.concat([new Me(`${O}[1]`,L[1],"expressions are not allowed in function stops.")]):E.concat(A.validateSpec({key:`${O}[1]`,value:L[1],valueSpec:e,validateSpec:A.validateSpec,style:A.style,styleSpec:A.styleSpec}))}function k(A,E){const L=wt(A.value),O=Ht(A.value),U=A.value!==null?A.value:E;if(n){if(L!==n)return[new Me(A.key,U,`${L} stop domain type must match previous stop domain type ${n}`)]}else n=L;if(L!=="number"&&L!=="string"&&L!=="boolean")return[new Me(A.key,U,"stop domain value must be a number, string, or boolean")];if(L!=="number"&&r!=="categorical"){let re=`number expected, ${L} found`;return Zr(e)&&r===void 0&&(re+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Me(A.key,U,re)]}return r!=="categorical"||L!=="number"||isFinite(O)&&Math.floor(O)===O?r!=="categorical"&&L==="number"&&o!==void 0&&Onew Me(`${i.key}${n.key}`,i.value,n.message));const r=e.value.expression||e.value._styleExpression.expression;if(i.expressionContext==="property"&&i.propertyKey==="text-font"&&!r.outputDefined())return[new Me(i.key,i.value,`Invalid data expression for "${i.propertyKey}". Output values must be contained as literals within the expression.`)];if(i.expressionContext==="property"&&i.propertyType==="layout"&&!zn(r))return[new Me(i.key,i.value,'"feature-state" data expressions are not supported with layout properties.')];if(i.expressionContext==="filter"&&!zn(r))return[new Me(i.key,i.value,'"feature-state" data expressions are not supported with filters.')];if(i.expressionContext&&i.expressionContext.indexOf("cluster")===0){if(!va(r,["zoom","feature-state"]))return[new Me(i.key,i.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(i.expressionContext==="cluster-initial"&&!xa(r))return[new Me(i.key,i.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function Ys(i){const e=i.key,r=i.value,n=i.valueSpec,o=[];return Array.isArray(n.values)?n.values.indexOf(Ht(r))===-1&&o.push(new Me(e,r,`expected one of [${n.values.join(", ")}], ${JSON.stringify(r)} found`)):Object.keys(n.values).indexOf(Ht(r))===-1&&o.push(new Me(e,r,`expected one of [${Object.keys(n.values).join(", ")}], ${JSON.stringify(r)} found`)),o}function Ea(i){return Is(Gr(i.value))?Wr(Ni({},i,{expressionContext:"filter",valueSpec:{value:"boolean"}})):Ao(i)}function Ao(i){const e=i.value,r=i.key;if(wt(e)!=="array")return[new Me(r,e,`array expected, ${wt(e)} found`)];const n=i.styleSpec;let o,h=[];if(e.length<1)return[new Me(r,e,"filter array must have at least 1 element")];switch(h=h.concat(Ys({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:i.style,styleSpec:i.styleSpec})),Ht(e[0])){case"<":case"<=":case">":case">=":e.length>=2&&Ht(e[1])==="$type"&&h.push(new Me(r,e,`"$type" cannot be use with operator "${e[0]}"`));case"==":case"!=":e.length!==3&&h.push(new Me(r,e,`filter array for operator "${e[0]}" must have 3 elements`));case"in":case"!in":e.length>=2&&(o=wt(e[1]),o!=="string"&&h.push(new Me(`${r}[1]`,e[1],`string expected, ${o} found`)));for(let d=2;d{x in r&&e.push(new Me(n,r[x],`"${x}" is prohibited for ref layers`))}),o.layers.forEach(x=>{Ht(x.id)===f&&(_=x)}),_?_.ref?e.push(new Me(n,r.ref,"ref cannot reference another ref layer")):d=Ht(_.type):e.push(new Me(n,r.ref,`ref layer "${f}" not found`))}else if(d!=="background")if(r.source){const _=o.sources&&o.sources[r.source],x=_&&Ht(_.type);_?x==="vector"&&d==="raster"?e.push(new Me(n,r.source,`layer "${r.id}" requires a raster source`)):x!=="raster-dem"&&d==="hillshade"?e.push(new Me(n,r.source,`layer "${r.id}" requires a raster-dem source`)):x==="raster"&&d!=="raster"?e.push(new Me(n,r.source,`layer "${r.id}" requires a vector source`)):x!=="vector"||r["source-layer"]?x==="raster-dem"&&d!=="hillshade"?e.push(new Me(n,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):d!=="line"||!r.paint||!r.paint["line-gradient"]||x==="geojson"&&_.lineMetrics||e.push(new Me(n,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):e.push(new Me(n,r,`layer "${r.id}" must specify a "source-layer"`)):e.push(new Me(n,r.source,`source "${r.source}" not found`))}else e.push(new Me(n,r,'missing required property "source"'));return e=e.concat(rr({key:n,value:r,valueSpec:h.layer,style:i.style,styleSpec:i.styleSpec,validateSpec:i.validateSpec,objectElementValidators:{"*":()=>[],type:()=>i.validateSpec({key:`${n}.type`,value:r.type,valueSpec:h.layer.type,style:i.style,styleSpec:i.styleSpec,validateSpec:i.validateSpec,object:r,objectKey:"type"}),filter:Ea,layout:_=>rr({layer:r,key:_.key,value:_.value,style:_.style,styleSpec:_.styleSpec,validateSpec:_.validateSpec,objectElementValidators:{"*":x=>Co(Ni({layerType:d},x))}}),paint:_=>rr({layer:r,key:_.key,value:_.value,style:_.style,styleSpec:_.styleSpec,validateSpec:_.validateSpec,objectElementValidators:{"*":x=>za(Ni({layerType:d},x))}})}})),e}function rs(i){const e=i.value,r=i.key,n=wt(e);return n!=="string"?[new Me(r,e,`string expected, ${n} found`)]:[]}const Fl={promoteId:function({key:i,value:e}){if(wt(e)==="string")return rs({key:i,value:e});{const r=[];for(const n in e)r.push(...rs({key:`${i}.${n}`,value:e[n]}));return r}}};function Eo(i){const e=i.value,r=i.key,n=i.styleSpec,o=i.style,h=i.validateSpec;if(!e.type)return[new Me(r,e,'"type" is required')];const d=Ht(e.type);let f;switch(d){case"vector":case"raster":return f=rr({key:r,value:e,valueSpec:n[`source_${d.replace("-","_")}`],style:i.style,styleSpec:n,objectElementValidators:Fl,validateSpec:h}),f;case"raster-dem":return f=function(_){var x;const b=(x=_.sourceName)!==null&&x!==void 0?x:"",w=_.value,k=_.styleSpec,A=k.source_raster_dem,E=_.style;let L=[];const O=wt(w);if(w===void 0)return L;if(O!=="object")return L.push(new Me("source_raster_dem",w,`object expected, ${O} found`)),L;const U=Ht(w.encoding)==="custom",re=["redFactor","greenFactor","blueFactor","baseShift"],X=_.value.encoding?`"${_.value.encoding}"`:"Default";for(const ee in w)!U&&re.includes(ee)?L.push(new Me(ee,w[ee],`In "${b}": "${ee}" is only valid when "encoding" is set to "custom". ${X} encoding found`)):A[ee]?L=L.concat(_.validateSpec({key:ee,value:w[ee],valueSpec:A[ee],validateSpec:_.validateSpec,style:E,styleSpec:k})):L.push(new Me(ee,w[ee],`unknown property "${ee}"`));return L}({sourceName:r,value:e,style:i.style,styleSpec:n,validateSpec:h}),f;case"geojson":if(f=rr({key:r,value:e,valueSpec:n.source_geojson,style:o,styleSpec:n,validateSpec:h,objectElementValidators:Fl}),e.cluster)for(const _ in e.clusterProperties){const[x,b]=e.clusterProperties[_],w=typeof x=="string"?[x,["accumulated"],["get",_]]:x;f.push(...Wr({key:`${r}.${_}.map`,value:b,validateSpec:h,expressionContext:"cluster-map"})),f.push(...Wr({key:`${r}.${_}.reduce`,value:w,validateSpec:h,expressionContext:"cluster-reduce"}))}return f;case"video":return rr({key:r,value:e,valueSpec:n.source_video,style:o,validateSpec:h,styleSpec:n});case"image":return rr({key:r,value:e,valueSpec:n.source_image,style:o,validateSpec:h,styleSpec:n});case"canvas":return[new Me(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return Ys({key:`${r}.type`,value:e.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:o,validateSpec:h,styleSpec:n})}}function zo(i){const e=i.value,r=i.styleSpec,n=r.light,o=i.style;let h=[];const d=wt(e);if(e===void 0)return h;if(d!=="object")return h=h.concat([new Me("light",e,`object expected, ${d} found`)]),h;for(const f in e){const _=f.match(/^(.*)-transition$/);h=h.concat(_&&n[_[1]]&&n[_[1]].transition?i.validateSpec({key:f,value:e[f],valueSpec:r.transition,validateSpec:i.validateSpec,style:o,styleSpec:r}):n[f]?i.validateSpec({key:f,value:e[f],valueSpec:n[f],validateSpec:i.validateSpec,style:o,styleSpec:r}):[new Me(f,e[f],`unknown property "${f}"`)])}return h}function Do(i){const e=i.value,r=i.styleSpec,n=r.sky,o=i.style,h=wt(e);if(e===void 0)return[];if(h!=="object")return[new Me("sky",e,`object expected, ${h} found`)];let d=[];for(const f in e)d=d.concat(n[f]?i.validateSpec({key:f,value:e[f],valueSpec:n[f],style:o,styleSpec:r}):[new Me(f,e[f],`unknown property "${f}"`)]);return d}function Bl(i){const e=i.value,r=i.styleSpec,n=r.terrain,o=i.style;let h=[];const d=wt(e);if(e===void 0)return h;if(d!=="object")return h=h.concat([new Me("terrain",e,`object expected, ${d} found`)]),h;for(const f in e)h=h.concat(n[f]?i.validateSpec({key:f,value:e[f],valueSpec:n[f],validateSpec:i.validateSpec,style:o,styleSpec:r}):[new Me(f,e[f],`unknown property "${f}"`)]);return h}function Ol(i){let e=[];const r=i.value,n=i.key;if(Array.isArray(r)){const o=[],h=[];for(const d in r)r[d].id&&o.includes(r[d].id)&&e.push(new Me(n,r,`all the sprites' ids must be unique, but ${r[d].id} is duplicated`)),o.push(r[d].id),r[d].url&&h.includes(r[d].url)&&e.push(new Me(n,r,`all the sprites' URLs must be unique, but ${r[d].url} is duplicated`)),h.push(r[d].url),e=e.concat(rr({key:`${n}[${d}]`,value:r[d],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:i.validateSpec}));return e}return rs({key:n,value:r})}const Lo={"*":()=>[],array:Pa,boolean:function(i){const e=i.value,r=i.key,n=wt(e);return n!=="boolean"?[new Me(r,e,`boolean expected, ${n} found`)]:[]},number:Mo,color:function(i){const e=i.key,r=i.value,n=wt(r);return n!=="string"?[new Me(e,r,`color expected, ${n} found`)]:kt.parse(String(r))?[]:[new Me(e,r,`color expected, "${r}" found`)]},constants:Aa,enum:Ys,filter:Ea,function:Ca,layer:Rl,object:rr,source:Eo,light:zo,sky:Do,terrain:Bl,string:rs,formatted:function(i){return rs(i).length===0?[]:Wr(i)},resolvedImage:function(i){return rs(i).length===0?[]:Wr(i)},padding:function(i){const e=i.key,r=i.value;if(wt(r)==="array"){if(r.length<1||r.length>4)return[new Me(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:"number"};let o=[];for(let h=0;h[]}})),i.constants&&(r=r.concat(Aa({key:"constants",value:i.constants,style:i,styleSpec:e,validateSpec:Qs}))),Vl(r)}function sr(i){return function(e){return i({...e,validateSpec:Qs})}}function Vl(i){return[].concat(i).sort((e,r)=>e.line-r.line)}function ur(i){return function(...e){return Vl(i.apply(this,e))}}hr.source=ur(sr(Eo)),hr.sprite=ur(sr(Ol)),hr.glyphs=ur(sr(Ro)),hr.light=ur(sr(zo)),hr.sky=ur(sr(Do)),hr.terrain=ur(sr(Bl)),hr.layer=ur(sr(Rl)),hr.filter=ur(sr(Ea)),hr.paintProperty=ur(sr(za)),hr.layoutProperty=ur(sr(Co));const Bn=hr,Zc=Bn.light,$l=Bn.paintProperty,Nl=Bn.layoutProperty;function Fo(i,e){let r=!1;if(e&&e.length)for(const n of e)i.fire(new ti(new Error(n.message))),r=!0;return r}class On{constructor(e,r,n){const o=this.cells=[];if(e instanceof ArrayBuffer){this.arrayBuffer=e;const d=new Int32Array(this.arrayBuffer);e=d[0],this.d=(r=d[1])+2*(n=d[2]);for(let _=0;_=w[E+0]&&o>=w[E+1])?(f[A]=!0,d.push(b[A])):f[A]=!1}}}}_forEachCell(e,r,n,o,h,d,f,_){const x=this._convertToCellCoord(e),b=this._convertToCellCoord(r),w=this._convertToCellCoord(n),k=this._convertToCellCoord(o);for(let A=x;A<=w;A++)for(let E=b;E<=k;E++){const L=this.d*E+A;if((!_||_(this._convertFromCellCoord(A),this._convertFromCellCoord(E),this._convertFromCellCoord(A+1),this._convertFromCellCoord(E+1)))&&h.call(this,e,r,n,o,L,d,f,_))return}}_convertFromCellCoord(e){return(e-this.padding)/this.scale}_convertToCellCoord(e){return Math.max(0,Math.min(this.d-1,Math.floor(e*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const e=this.cells,r=3+this.cells.length+1+1;let n=0;for(let d=0;d=0)continue;const d=i[h];o[h]=ss[n].shallow.indexOf(h)>=0?d:Vn(d,e)}i instanceof Error&&(o.message=i.message)}if(o.$name)throw new Error("$name property is reserved for worker serialization logic.");return n!=="Object"&&(o.$name=n),o}throw new Error("can't serialize object of type "+typeof i)}function Ar(i){if(i==null||typeof i=="boolean"||typeof i=="number"||typeof i=="string"||i instanceof Boolean||i instanceof Number||i instanceof String||i instanceof Date||i instanceof RegExp||i instanceof Blob||i instanceof Error||jl(i)||Tr(i)||ArrayBuffer.isView(i)||i instanceof ImageData)return i;if(Array.isArray(i))return i.map(Ar);if(typeof i=="object"){const e=i.$name||"Object";if(!ss[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=ss[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(i);const n=Object.create(r.prototype);for(const o of Object.keys(i)){if(o==="$name")continue;const h=i[o];n[o]=ss[e].shallow.indexOf(o)>=0?h:Ar(h)}return n}throw new Error("can't deserialize object of type "+typeof i)}class Ul{constructor(){this.first=!0}update(e,r){const n=Math.floor(e);return this.first?(this.first=!1,this.lastIntegerZoom=n,this.lastIntegerZoomTime=0,this.lastZoom=e,this.lastFloorZoom=n,!0):(this.lastFloorZoom>n?(this.lastIntegerZoom=n+1,this.lastIntegerZoomTime=r):this.lastFloorZoomi>=128&&i<=255,Arabic:i=>i>=1536&&i<=1791,"Arabic Supplement":i=>i>=1872&&i<=1919,"Arabic Extended-A":i=>i>=2208&&i<=2303,"Hangul Jamo":i=>i>=4352&&i<=4607,"Unified Canadian Aboriginal Syllabics":i=>i>=5120&&i<=5759,Khmer:i=>i>=6016&&i<=6143,"Unified Canadian Aboriginal Syllabics Extended":i=>i>=6320&&i<=6399,"General Punctuation":i=>i>=8192&&i<=8303,"Letterlike Symbols":i=>i>=8448&&i<=8527,"Number Forms":i=>i>=8528&&i<=8591,"Miscellaneous Technical":i=>i>=8960&&i<=9215,"Control Pictures":i=>i>=9216&&i<=9279,"Optical Character Recognition":i=>i>=9280&&i<=9311,"Enclosed Alphanumerics":i=>i>=9312&&i<=9471,"Geometric Shapes":i=>i>=9632&&i<=9727,"Miscellaneous Symbols":i=>i>=9728&&i<=9983,"Miscellaneous Symbols and Arrows":i=>i>=11008&&i<=11263,"CJK Radicals Supplement":i=>i>=11904&&i<=12031,"Kangxi Radicals":i=>i>=12032&&i<=12255,"Ideographic Description Characters":i=>i>=12272&&i<=12287,"CJK Symbols and Punctuation":i=>i>=12288&&i<=12351,Hiragana:i=>i>=12352&&i<=12447,Katakana:i=>i>=12448&&i<=12543,Bopomofo:i=>i>=12544&&i<=12591,"Hangul Compatibility Jamo":i=>i>=12592&&i<=12687,Kanbun:i=>i>=12688&&i<=12703,"Bopomofo Extended":i=>i>=12704&&i<=12735,"CJK Strokes":i=>i>=12736&&i<=12783,"Katakana Phonetic Extensions":i=>i>=12784&&i<=12799,"Enclosed CJK Letters and Months":i=>i>=12800&&i<=13055,"CJK Compatibility":i=>i>=13056&&i<=13311,"CJK Unified Ideographs Extension A":i=>i>=13312&&i<=19903,"Yijing Hexagram Symbols":i=>i>=19904&&i<=19967,"CJK Unified Ideographs":i=>i>=19968&&i<=40959,"Yi Syllables":i=>i>=40960&&i<=42127,"Yi Radicals":i=>i>=42128&&i<=42191,"Hangul Jamo Extended-A":i=>i>=43360&&i<=43391,"Hangul Syllables":i=>i>=44032&&i<=55215,"Hangul Jamo Extended-B":i=>i>=55216&&i<=55295,"Private Use Area":i=>i>=57344&&i<=63743,"CJK Compatibility Ideographs":i=>i>=63744&&i<=64255,"Arabic Presentation Forms-A":i=>i>=64336&&i<=65023,"Vertical Forms":i=>i>=65040&&i<=65055,"CJK Compatibility Forms":i=>i>=65072&&i<=65103,"Small Form Variants":i=>i>=65104&&i<=65135,"Arabic Presentation Forms-B":i=>i>=65136&&i<=65279,"Halfwidth and Fullwidth Forms":i=>i>=65280&&i<=65519};function Bo(i){for(const e of i)if(Oo(e.charCodeAt(0)))return!0;return!1}function Gc(i){for(const e of i)if(!ql(e.charCodeAt(0)))return!1;return!0}function ql(i){return!(Le.Arabic(i)||Le["Arabic Supplement"](i)||Le["Arabic Extended-A"](i)||Le["Arabic Presentation Forms-A"](i)||Le["Arabic Presentation Forms-B"](i))}function Oo(i){return!(i!==746&&i!==747&&(i<4352||!(Le["Bopomofo Extended"](i)||Le.Bopomofo(i)||Le["CJK Compatibility Forms"](i)&&!(i>=65097&&i<=65103)||Le["CJK Compatibility Ideographs"](i)||Le["CJK Compatibility"](i)||Le["CJK Radicals Supplement"](i)||Le["CJK Strokes"](i)||!(!Le["CJK Symbols and Punctuation"](i)||i>=12296&&i<=12305||i>=12308&&i<=12319||i===12336)||Le["CJK Unified Ideographs Extension A"](i)||Le["CJK Unified Ideographs"](i)||Le["Enclosed CJK Letters and Months"](i)||Le["Hangul Compatibility Jamo"](i)||Le["Hangul Jamo Extended-A"](i)||Le["Hangul Jamo Extended-B"](i)||Le["Hangul Jamo"](i)||Le["Hangul Syllables"](i)||Le.Hiragana(i)||Le["Ideographic Description Characters"](i)||Le.Kanbun(i)||Le["Kangxi Radicals"](i)||Le["Katakana Phonetic Extensions"](i)||Le.Katakana(i)&&i!==12540||!(!Le["Halfwidth and Fullwidth Forms"](i)||i===65288||i===65289||i===65293||i>=65306&&i<=65310||i===65339||i===65341||i===65343||i>=65371&&i<=65503||i===65507||i>=65512&&i<=65519)||!(!Le["Small Form Variants"](i)||i>=65112&&i<=65118||i>=65123&&i<=65126)||Le["Unified Canadian Aboriginal Syllabics"](i)||Le["Unified Canadian Aboriginal Syllabics Extended"](i)||Le["Vertical Forms"](i)||Le["Yijing Hexagram Symbols"](i)||Le["Yi Syllables"](i)||Le["Yi Radicals"](i))))}function Zl(i){return!(Oo(i)||function(e){return!!(Le["Latin-1 Supplement"](e)&&(e===167||e===169||e===174||e===177||e===188||e===189||e===190||e===215||e===247)||Le["General Punctuation"](e)&&(e===8214||e===8224||e===8225||e===8240||e===8241||e===8251||e===8252||e===8258||e===8263||e===8264||e===8265||e===8273)||Le["Letterlike Symbols"](e)||Le["Number Forms"](e)||Le["Miscellaneous Technical"](e)&&(e>=8960&&e<=8967||e>=8972&&e<=8991||e>=8996&&e<=9e3||e===9003||e>=9085&&e<=9114||e>=9150&&e<=9165||e===9167||e>=9169&&e<=9179||e>=9186&&e<=9215)||Le["Control Pictures"](e)&&e!==9251||Le["Optical Character Recognition"](e)||Le["Enclosed Alphanumerics"](e)||Le["Geometric Shapes"](e)||Le["Miscellaneous Symbols"](e)&&!(e>=9754&&e<=9759)||Le["Miscellaneous Symbols and Arrows"](e)&&(e>=11026&&e<=11055||e>=11088&&e<=11097||e>=11192&&e<=11243)||Le["CJK Symbols and Punctuation"](e)||Le.Katakana(e)||Le["Private Use Area"](e)||Le["CJK Compatibility Forms"](e)||Le["Small Form Variants"](e)||Le["Halfwidth and Fullwidth Forms"](e)||e===8734||e===8756||e===8757||e>=9984&&e<=10087||e>=10102&&e<=10131||e===65532||e===65533)}(i))}function ns(i){return i>=1424&&i<=2303||Le["Arabic Presentation Forms-A"](i)||Le["Arabic Presentation Forms-B"](i)}function Gl(i,e){return!(!e&&ns(i)||i>=2304&&i<=3583||i>=3840&&i<=4255||Le.Khmer(i))}function Vo(i){for(const e of i)if(ns(e.charCodeAt(0)))return!0;return!1}const as=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(i){this.pluginStatus=i.pluginStatus,this.pluginURL=i.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(i){this.applyArabicShaping=i.applyArabicShaping,this.processBidirectionalText=i.processBidirectionalText,this.processStyledBidirectionalText=i.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Lt{constructor(e,r){this.zoom=e,r?(this.now=r.now,this.fadeDuration=r.fadeDuration,this.zoomHistory=r.zoomHistory,this.transition=r.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Ul,this.transition={})}isSupportedScript(e){return function(r,n){for(const o of r)if(!Gl(o.charCodeAt(0),n))return!1;return!0}(e,as.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const e=this.zoom,r=e-Math.floor(e),n=this.crossFadingFactor();return e>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:r+(1-r)*n}:{fromScale:.5,toScale:1,t:1-(1-n)*r}}}class Da{constructor(e,r){this.property=e,this.value=r,this.expression=function(n,o){if(Xs(n))return new Ss(n,o);if(Ia(n)){const h=Ln(n,o);if(h.result==="error")throw new Error(h.value.map(d=>`${d.key}: ${d.message}`).join(", "));return h.value}{let h=n;return o.type==="color"&&typeof n=="string"?h=kt.parse(n):o.type!=="padding"||typeof n!="number"&&!Array.isArray(n)?o.type==="variableAnchorOffsetCollection"&&Array.isArray(n)&&(h=Zi.parse(n)):h=qi.parse(n),{kind:"constant",evaluate:()=>h}}}(r===void 0?e.specification.default:r,e.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(e,r,n){return this.property.possiblyEvaluate(this,e,r,n)}}class en{constructor(e){this.property=e,this.value=new Da(e,void 0)}transitioned(e,r){return new Wl(this.property,this.value,r,Ie({},e.transition,this.transition),e.now)}untransitioned(){return new Wl(this.property,this.value,null,{},0)}}class tn{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitionablePropertyValues)}getValue(e){return mt(this._values[e].value.value)}setValue(e,r){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new en(this._values[e].property)),this._values[e].value=new Da(this._values[e].property,r===null?void 0:mt(r))}getTransition(e){return mt(this._values[e].transition)}setTransition(e,r){Object.prototype.hasOwnProperty.call(this._values,e)||(this._values[e]=new en(this._values[e].property)),this._values[e].transition=mt(r)||void 0}serialize(){const e={};for(const r of Object.keys(this._values)){const n=this.getValue(r);n!==void 0&&(e[r]=n);const o=this.getTransition(r);o!==void 0&&(e[`${r}-transition`]=o)}return e}transitioned(e,r){const n=new $o(this._properties);for(const o of Object.keys(this._values))n._values[o]=this._values[o].transitioned(e,r._values[o]);return n}untransitioned(){const e=new $o(this._properties);for(const r of Object.keys(this._values))e._values[r]=this._values[r].untransitioned();return e}}class Wl{constructor(e,r,n,o,h){this.property=e,this.value=r,this.begin=h+o.delay||0,this.end=this.begin+o.duration||0,e.specification.transition&&(o.delay||o.duration)&&(this.prior=n)}possiblyEvaluate(e,r,n){const o=e.now||0,h=this.value.possiblyEvaluate(e,r,n),d=this.prior;if(d){if(o>this.end)return this.prior=null,h;if(this.value.isDataDriven())return this.prior=null,h;if(o=1)return 1;const x=_*_,b=x*_;return 4*(_<.5?b:3*(_-x)+b-.75)}(f))}}return h}}class $o{constructor(e){this._properties=e,this._values=Object.create(e.defaultTransitioningPropertyValues)}possiblyEvaluate(e,r,n){const o=new La(this._properties);for(const h of Object.keys(this._values))o._values[h]=this._values[h].possiblyEvaluate(e,r,n);return o}hasTransition(){for(const e of Object.keys(this._values))if(this._values[e].prior)return!0;return!1}}class $n{constructor(e){this._properties=e,this._values=Object.create(e.defaultPropertyValues)}hasValue(e){return this._values[e].value!==void 0}getValue(e){return mt(this._values[e].value)}setValue(e,r){this._values[e]=new Da(this._values[e].property,r===null?void 0:mt(r))}serialize(){const e={};for(const r of Object.keys(this._values)){const n=this.getValue(r);n!==void 0&&(e[r]=n)}return e}possiblyEvaluate(e,r,n){const o=new La(this._properties);for(const h of Object.keys(this._values))o._values[h]=this._values[h].possiblyEvaluate(e,r,n);return o}}class Pr{constructor(e,r,n){this.property=e,this.value=r,this.parameters=n}isConstant(){return this.value.kind==="constant"}constantOr(e){return this.value.kind==="constant"?this.value.value:e}evaluate(e,r,n,o){return this.property.evaluate(this.value,this.parameters,e,r,n,o)}}class La{constructor(e){this._properties=e,this._values=Object.create(e.defaultPossiblyEvaluatedValues)}get(e){return this._values[e]}}class Ze{constructor(e){this.specification=e}possiblyEvaluate(e,r){if(e.isDataDriven())throw new Error("Value should not be data driven");return e.expression.evaluate(r)}interpolate(e,r,n){const o=zi[this.specification.type];return o?o(e,r,n):e}}class Ke{constructor(e,r){this.specification=e,this.overrides=r}possiblyEvaluate(e,r,n,o){return new Pr(this,e.expression.kind==="constant"||e.expression.kind==="camera"?{kind:"constant",value:e.expression.evaluate(r,null,{},n,o)}:e.expression,r)}interpolate(e,r,n){if(e.value.kind!=="constant"||r.value.kind!=="constant")return e;if(e.value.value===void 0||r.value.value===void 0)return new Pr(this,{kind:"constant",value:void 0},e.parameters);const o=zi[this.specification.type];if(o){const h=o(e.value.value,r.value.value,n);return new Pr(this,{kind:"constant",value:h},e.parameters)}return e}evaluate(e,r,n,o,h,d){return e.kind==="constant"?e.value:e.evaluate(r,n,o,h,d)}}class c extends Ke{possiblyEvaluate(e,r,n,o){if(e.value===void 0)return new Pr(this,{kind:"constant",value:void 0},r);if(e.expression.kind==="constant"){const h=e.expression.evaluate(r,null,{},n,o),d=e.property.specification.type==="resolvedImage"&&typeof h!="string"?h.name:h,f=this._calculate(d,d,d,r);return new Pr(this,{kind:"constant",value:f},r)}if(e.expression.kind==="camera"){const h=this._calculate(e.expression.evaluate({zoom:r.zoom-1}),e.expression.evaluate({zoom:r.zoom}),e.expression.evaluate({zoom:r.zoom+1}),r);return new Pr(this,{kind:"constant",value:h},r)}return new Pr(this,e.expression,r)}evaluate(e,r,n,o,h,d){if(e.kind==="source"){const f=e.evaluate(r,n,o,h,d);return this._calculate(f,f,f,r)}return e.kind==="composite"?this._calculate(e.evaluate({zoom:Math.floor(r.zoom)-1},n,o),e.evaluate({zoom:Math.floor(r.zoom)},n,o),e.evaluate({zoom:Math.floor(r.zoom)+1},n,o),r):e.value}_calculate(e,r,n,o){return o.zoom>o.zoomHistory.lastIntegerZoom?{from:e,to:r}:{from:n,to:r}}interpolate(e){return e}}class t{constructor(e){this.specification=e}possiblyEvaluate(e,r,n,o){if(e.value!==void 0){if(e.expression.kind==="constant"){const h=e.expression.evaluate(r,null,{},n,o);return this._calculate(h,h,h,r)}return this._calculate(e.expression.evaluate(new Lt(Math.floor(r.zoom-1),r)),e.expression.evaluate(new Lt(Math.floor(r.zoom),r)),e.expression.evaluate(new Lt(Math.floor(r.zoom+1),r)),r)}}_calculate(e,r,n,o){return o.zoom>o.zoomHistory.lastIntegerZoom?{from:e,to:r}:{from:n,to:r}}interpolate(e){return e}}class s{constructor(e){this.specification=e}possiblyEvaluate(e,r,n,o){return!!e.expression.evaluate(r,null,{},n,o)}interpolate(){return!1}}class a{constructor(e){this.properties=e,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const r in e){const n=e[r];n.specification.overridable&&this.overridableProperties.push(r);const o=this.defaultPropertyValues[r]=new Da(n,void 0),h=this.defaultTransitionablePropertyValues[r]=new en(n);this.defaultTransitioningPropertyValues[r]=h.untransitioned(),this.defaultPossiblyEvaluatedValues[r]=o.possiblyEvaluate({})}}}Oe("DataDrivenProperty",Ke),Oe("DataConstantProperty",Ze),Oe("CrossFadedDataDrivenProperty",c),Oe("CrossFadedProperty",t),Oe("ColorRampProperty",s);const l="-transition";class u extends Os{constructor(e,r){if(super(),this.id=e.id,this.type=e.type,this._featureFilter={filter:()=>!0,needGeometry:!1},e.type!=="custom"&&(this.metadata=e.metadata,this.minzoom=e.minzoom,this.maxzoom=e.maxzoom,e.type!=="background"&&(this.source=e.source,this.sourceLayer=e["source-layer"],this.filter=e.filter),r.layout&&(this._unevaluatedLayout=new $n(r.layout)),r.paint)){this._transitionablePaint=new tn(r.paint);for(const n in e.paint)this.setPaintProperty(n,e.paint[n],{validate:!1});for(const n in e.layout)this.setLayoutProperty(n,e.layout[n],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new La(r.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(e){return e==="visibility"?this.visibility:this._unevaluatedLayout.getValue(e)}setLayoutProperty(e,r,n={}){r!=null&&this._validate(Nl,`layers.${this.id}.layout.${e}`,e,r,n)||(e!=="visibility"?this._unevaluatedLayout.setValue(e,r):this.visibility=r)}getPaintProperty(e){return e.endsWith(l)?this._transitionablePaint.getTransition(e.slice(0,-11)):this._transitionablePaint.getValue(e)}setPaintProperty(e,r,n={}){if(r!=null&&this._validate($l,`layers.${this.id}.paint.${e}`,e,r,n))return!1;if(e.endsWith(l))return this._transitionablePaint.setTransition(e.slice(0,-11),r||void 0),!1;{const o=this._transitionablePaint._values[e],h=o.property.specification["property-type"]==="cross-faded-data-driven",d=o.value.isDataDriven(),f=o.value;this._transitionablePaint.setValue(e,r),this._handleSpecialPaintPropertyUpdate(e);const _=this._transitionablePaint._values[e].value;return _.isDataDriven()||d||h||this._handleOverridablePaintPropertyUpdate(e,f,_)}}_handleSpecialPaintPropertyUpdate(e){}_handleOverridablePaintPropertyUpdate(e,r,n){return!1}isHidden(e){return!!(this.minzoom&&e=this.maxzoom)||this.visibility==="none"}updateTransitions(e){this._transitioningPaint=this._transitionablePaint.transitioned(e,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(e,r){e.getCrossfadeParameters&&(this._crossfadeParameters=e.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(e,void 0,r)),this.paint=this._transitioningPaint.possiblyEvaluate(e,void 0,r)}serialize(){const e={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(e.layout=e.layout||{},e.layout.visibility=this.visibility),Ji(e,(r,n)=>!(r===void 0||n==="layout"&&!Object.keys(r).length||n==="paint"&&!Object.keys(r).length))}_validate(e,r,n,o,h={}){return(!h||h.validate!==!1)&&Fo(this,e.call(Bn,{key:r,layerType:this.type,objectKey:n,value:o,styleSpec:he,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const e in this.paint._values){const r=this.paint.get(e);if(r instanceof Pr&&Zr(r.property.specification)&&(r.value.kind==="source"||r.value.kind==="composite")&&r.value.isStateDependent)return!0}return!1}}const m={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class g{constructor(e,r){this._structArray=e,this._pos1=r*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class y{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(e,r){return e._trim(),r&&(e.isTransferred=!0,r.push(e.arrayBuffer)),{length:e.length,arrayBuffer:e.arrayBuffer}}static deserialize(e){const r=Object.create(this.prototype);return r.arrayBuffer=e.arrayBuffer,r.length=e.length,r.capacity=e.arrayBuffer.byteLength/r.bytesPerElement,r._refreshViews(),r}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(e){this.reserve(e),this.length=e}reserve(e){if(e>this.capacity){this.capacity=Math.max(e,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const r=this.uint8;this._refreshViews(),r&&this.uint8.set(r)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function v(i,e=1){let r=0,n=0;return{members:i.map(o=>{const h=m[o.type].BYTES_PER_ELEMENT,d=r=I(r,Math.max(e,h)),f=o.components||1;return n=Math.max(n,h),r+=h*f,{name:o.name,type:o.type,components:f,offset:d}}),size:I(r,Math.max(n,e)),alignment:e}}function I(i,e){return Math.ceil(i/e)*e}class S extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,r)}emplace(e,r,n){const o=2*e;return this.int16[o+0]=r,this.int16[o+1]=n,e}}S.prototype.bytesPerElement=4,Oe("StructArrayLayout2i4",S);class C extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,r,n)}emplace(e,r,n,o){const h=3*e;return this.int16[h+0]=r,this.int16[h+1]=n,this.int16[h+2]=o,e}}C.prototype.bytesPerElement=6,Oe("StructArrayLayout3i6",C);class D extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,r,n,o){const h=this.length;return this.resize(h+1),this.emplace(h,e,r,n,o)}emplace(e,r,n,o,h){const d=4*e;return this.int16[d+0]=r,this.int16[d+1]=n,this.int16[d+2]=o,this.int16[d+3]=h,e}}D.prototype.bytesPerElement=8,Oe("StructArrayLayout4i8",D);class R extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d){const f=this.length;return this.resize(f+1),this.emplace(f,e,r,n,o,h,d)}emplace(e,r,n,o,h,d,f){const _=6*e;return this.int16[_+0]=r,this.int16[_+1]=n,this.int16[_+2]=o,this.int16[_+3]=h,this.int16[_+4]=d,this.int16[_+5]=f,e}}R.prototype.bytesPerElement=12,Oe("StructArrayLayout2i4i12",R);class j extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d){const f=this.length;return this.resize(f+1),this.emplace(f,e,r,n,o,h,d)}emplace(e,r,n,o,h,d,f){const _=4*e,x=8*e;return this.int16[_+0]=r,this.int16[_+1]=n,this.uint8[x+4]=o,this.uint8[x+5]=h,this.uint8[x+6]=d,this.uint8[x+7]=f,e}}j.prototype.bytesPerElement=8,Oe("StructArrayLayout2i4ub8",j);class F extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,r)}emplace(e,r,n){const o=2*e;return this.float32[o+0]=r,this.float32[o+1]=n,e}}F.prototype.bytesPerElement=8,Oe("StructArrayLayout2f8",F);class q extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d,f,_,x,b){const w=this.length;return this.resize(w+1),this.emplace(w,e,r,n,o,h,d,f,_,x,b)}emplace(e,r,n,o,h,d,f,_,x,b,w){const k=10*e;return this.uint16[k+0]=r,this.uint16[k+1]=n,this.uint16[k+2]=o,this.uint16[k+3]=h,this.uint16[k+4]=d,this.uint16[k+5]=f,this.uint16[k+6]=_,this.uint16[k+7]=x,this.uint16[k+8]=b,this.uint16[k+9]=w,e}}q.prototype.bytesPerElement=20,Oe("StructArrayLayout10ui20",q);class J extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d,f,_,x,b,w,k){const A=this.length;return this.resize(A+1),this.emplace(A,e,r,n,o,h,d,f,_,x,b,w,k)}emplace(e,r,n,o,h,d,f,_,x,b,w,k,A){const E=12*e;return this.int16[E+0]=r,this.int16[E+1]=n,this.int16[E+2]=o,this.int16[E+3]=h,this.uint16[E+4]=d,this.uint16[E+5]=f,this.uint16[E+6]=_,this.uint16[E+7]=x,this.int16[E+8]=b,this.int16[E+9]=w,this.int16[E+10]=k,this.int16[E+11]=A,e}}J.prototype.bytesPerElement=24,Oe("StructArrayLayout4i4ui4i24",J);class $ extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,r,n)}emplace(e,r,n,o){const h=3*e;return this.float32[h+0]=r,this.float32[h+1]=n,this.float32[h+2]=o,e}}$.prototype.bytesPerElement=12,Oe("StructArrayLayout3f12",$);class Q extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(e){const r=this.length;return this.resize(r+1),this.emplace(r,e)}emplace(e,r){return this.uint32[1*e+0]=r,e}}Q.prototype.bytesPerElement=4,Oe("StructArrayLayout1ul4",Q);class se extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d,f,_,x){const b=this.length;return this.resize(b+1),this.emplace(b,e,r,n,o,h,d,f,_,x)}emplace(e,r,n,o,h,d,f,_,x,b){const w=10*e,k=5*e;return this.int16[w+0]=r,this.int16[w+1]=n,this.int16[w+2]=o,this.int16[w+3]=h,this.int16[w+4]=d,this.int16[w+5]=f,this.uint32[k+3]=_,this.uint16[w+8]=x,this.uint16[w+9]=b,e}}se.prototype.bytesPerElement=20,Oe("StructArrayLayout6i1ul2ui20",se);class le extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d){const f=this.length;return this.resize(f+1),this.emplace(f,e,r,n,o,h,d)}emplace(e,r,n,o,h,d,f){const _=6*e;return this.int16[_+0]=r,this.int16[_+1]=n,this.int16[_+2]=o,this.int16[_+3]=h,this.int16[_+4]=d,this.int16[_+5]=f,e}}le.prototype.bytesPerElement=12,Oe("StructArrayLayout2i2i2i12",le);class fe extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h){const d=this.length;return this.resize(d+1),this.emplace(d,e,r,n,o,h)}emplace(e,r,n,o,h,d){const f=4*e,_=8*e;return this.float32[f+0]=r,this.float32[f+1]=n,this.float32[f+2]=o,this.int16[_+6]=h,this.int16[_+7]=d,e}}fe.prototype.bytesPerElement=16,Oe("StructArrayLayout2f1f2i16",fe);class be extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d){const f=this.length;return this.resize(f+1),this.emplace(f,e,r,n,o,h,d)}emplace(e,r,n,o,h,d,f){const _=16*e,x=4*e,b=8*e;return this.uint8[_+0]=r,this.uint8[_+1]=n,this.float32[x+1]=o,this.float32[x+2]=h,this.int16[b+6]=d,this.int16[b+7]=f,e}}be.prototype.bytesPerElement=16,Oe("StructArrayLayout2ub2f2i16",be);class Fe extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,r,n)}emplace(e,r,n,o){const h=3*e;return this.uint16[h+0]=r,this.uint16[h+1]=n,this.uint16[h+2]=o,e}}Fe.prototype.bytesPerElement=6,Oe("StructArrayLayout3ui6",Fe);class Be extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d,f,_,x,b,w,k,A,E,L,O,U){const re=this.length;return this.resize(re+1),this.emplace(re,e,r,n,o,h,d,f,_,x,b,w,k,A,E,L,O,U)}emplace(e,r,n,o,h,d,f,_,x,b,w,k,A,E,L,O,U,re){const X=24*e,ee=12*e,pe=48*e;return this.int16[X+0]=r,this.int16[X+1]=n,this.uint16[X+2]=o,this.uint16[X+3]=h,this.uint32[ee+2]=d,this.uint32[ee+3]=f,this.uint32[ee+4]=_,this.uint16[X+10]=x,this.uint16[X+11]=b,this.uint16[X+12]=w,this.float32[ee+7]=k,this.float32[ee+8]=A,this.uint8[pe+36]=E,this.uint8[pe+37]=L,this.uint8[pe+38]=O,this.uint32[ee+10]=U,this.int16[X+22]=re,e}}Be.prototype.bytesPerElement=48,Oe("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",Be);class we extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,r,n,o,h,d,f,_,x,b,w,k,A,E,L,O,U,re,X,ee,pe,me,Re,qe,ze,Ce,Ve,Ge){const De=this.length;return this.resize(De+1),this.emplace(De,e,r,n,o,h,d,f,_,x,b,w,k,A,E,L,O,U,re,X,ee,pe,me,Re,qe,ze,Ce,Ve,Ge)}emplace(e,r,n,o,h,d,f,_,x,b,w,k,A,E,L,O,U,re,X,ee,pe,me,Re,qe,ze,Ce,Ve,Ge,De){const ge=32*e,Ue=16*e;return this.int16[ge+0]=r,this.int16[ge+1]=n,this.int16[ge+2]=o,this.int16[ge+3]=h,this.int16[ge+4]=d,this.int16[ge+5]=f,this.int16[ge+6]=_,this.int16[ge+7]=x,this.uint16[ge+8]=b,this.uint16[ge+9]=w,this.uint16[ge+10]=k,this.uint16[ge+11]=A,this.uint16[ge+12]=E,this.uint16[ge+13]=L,this.uint16[ge+14]=O,this.uint16[ge+15]=U,this.uint16[ge+16]=re,this.uint16[ge+17]=X,this.uint16[ge+18]=ee,this.uint16[ge+19]=pe,this.uint16[ge+20]=me,this.uint16[ge+21]=Re,this.uint16[ge+22]=qe,this.uint32[Ue+12]=ze,this.float32[Ue+13]=Ce,this.float32[Ue+14]=Ve,this.uint16[ge+30]=Ge,this.uint16[ge+31]=De,e}}we.prototype.bytesPerElement=64,Oe("StructArrayLayout8i15ui1ul2f2ui64",we);class Te extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e){const r=this.length;return this.resize(r+1),this.emplace(r,e)}emplace(e,r){return this.float32[1*e+0]=r,e}}Te.prototype.bytesPerElement=4,Oe("StructArrayLayout1f4",Te);class Ne extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,r,n)}emplace(e,r,n,o){const h=3*e;return this.uint16[6*e+0]=r,this.float32[h+1]=n,this.float32[h+2]=o,e}}Ne.prototype.bytesPerElement=12,Oe("StructArrayLayout1ui2f12",Ne);class tt extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,r,n){const o=this.length;return this.resize(o+1),this.emplace(o,e,r,n)}emplace(e,r,n,o){const h=4*e;return this.uint32[2*e+0]=r,this.uint16[h+2]=n,this.uint16[h+3]=o,e}}tt.prototype.bytesPerElement=8,Oe("StructArrayLayout1ul2ui8",tt);class Pe extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e,r){const n=this.length;return this.resize(n+1),this.emplace(n,e,r)}emplace(e,r,n){const o=2*e;return this.uint16[o+0]=r,this.uint16[o+1]=n,e}}Pe.prototype.bytesPerElement=4,Oe("StructArrayLayout2ui4",Pe);class Ee extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(e){const r=this.length;return this.resize(r+1),this.emplace(r,e)}emplace(e,r){return this.uint16[1*e+0]=r,e}}Ee.prototype.bytesPerElement=2,Oe("StructArrayLayout1ui2",Ee);class Je extends y{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(e,r,n,o){const h=this.length;return this.resize(h+1),this.emplace(h,e,r,n,o)}emplace(e,r,n,o,h){const d=4*e;return this.float32[d+0]=r,this.float32[d+1]=n,this.float32[d+2]=o,this.float32[d+3]=h,e}}Je.prototype.bytesPerElement=16,Oe("StructArrayLayout4f16",Je);class Bt extends g{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new oe(this.anchorPointX,this.anchorPointY)}}Bt.prototype.size=20;class ht extends se{get(e){return new Bt(this,e)}}Oe("CollisionBoxArray",ht);class yt extends g{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(e){this._structArray.uint8[this._pos1+37]=e}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(e){this._structArray.uint8[this._pos1+38]=e}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(e){this._structArray.uint32[this._pos4+10]=e}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}yt.prototype.size=48;class Ot extends Be{get(e){return new yt(this,e)}}Oe("PlacedSymbolArray",Ot);class wi extends g{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(e){this._structArray.uint32[this._pos4+12]=e}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}wi.prototype.size=64;class mr extends we{get(e){return new wi(this,e)}}Oe("SymbolInstanceArray",mr);class Vt extends Te{getoffsetX(e){return this.float32[1*e+0]}}Oe("GlyphOffsetArray",Vt);class Wi extends C{getx(e){return this.int16[3*e+0]}gety(e){return this.int16[3*e+1]}gettileUnitDistanceFromAnchor(e){return this.int16[3*e+2]}}Oe("SymbolLineVertexArray",Wi);class Di extends g{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Di.prototype.size=12;class Si extends Ne{get(e){return new Di(this,e)}}Oe("TextAnchorOffsetArray",Si);class Ii extends g{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ii.prototype.size=8;class _r extends tt{get(e){return new Ii(this,e)}}Oe("FeatureIndexArray",_r);class ks extends S{}class Ra extends S{}class rn extends S{}class Ms extends R{}class Fa extends j{}class No extends F{}class xi extends q{}class gr extends J{}class os extends ${}class sn extends Q{}class Ti extends le{}class ki extends be{}class gi extends Fe{}class qt extends Pe{}const nn=v([{name:"a_pos",components:2,type:"Int16"}],4),{members:jo}=nn;class di{constructor(e=[]){this.segments=e}prepareSegment(e,r,n,o){let h=this.segments[this.segments.length-1];return e>di.MAX_VERTEX_ARRAY_LENGTH&&Wt(`Max vertices per segment is ${di.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${e}`),(!h||h.vertexLength+e>di.MAX_VERTEX_ARRAY_LENGTH||h.sortKey!==o)&&(h={vertexOffset:r.length,primitiveOffset:n.length,vertexLength:0,primitiveLength:0},o!==void 0&&(h.sortKey=o),this.segments.push(h)),h}get(){return this.segments}destroy(){for(const e of this.segments)for(const r in e.vaos)e.vaos[r].destroy()}static simpleSegment(e,r,n,o){return new di([{vertexOffset:e,primitiveOffset:r,vertexLength:n,primitiveLength:o,vaos:{},sortKey:0}])}}function Hl(i,e){return 256*(i=ci(Math.floor(i),0,255))+ci(Math.floor(e),0,255)}di.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Oe("SegmentVector",di);const Ba=v([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var Oa={exports:{}},ls={exports:{}};ls.exports=function(i,e){var r,n,o,h,d,f,_,x;for(n=i.length-(r=3&i.length),o=e,d=3432918353,f=461845907,x=0;x>>16)*d&65535)<<16)&4294967295)<<15|_>>>17))*f+(((_>>>16)*f&65535)<<16)&4294967295)<<13|o>>>19))+((5*(o>>>16)&65535)<<16)&4294967295))+((58964+(h>>>16)&65535)<<16);switch(_=0,r){case 3:_^=(255&i.charCodeAt(x+2))<<16;case 2:_^=(255&i.charCodeAt(x+1))<<8;case 1:o^=_=(65535&(_=(_=(65535&(_^=255&i.charCodeAt(x)))*d+(((_>>>16)*d&65535)<<16)&4294967295)<<15|_>>>17))*f+(((_>>>16)*f&65535)<<16)&4294967295}return o^=i.length,o=2246822507*(65535&(o^=o>>>16))+((2246822507*(o>>>16)&65535)<<16)&4294967295,o=3266489909*(65535&(o^=o>>>13))+((3266489909*(o>>>16)&65535)<<16)&4294967295,(o^=o>>>16)>>>0};var Xl=ls.exports,Uo={exports:{}};Uo.exports=function(i,e){for(var r,n=i.length,o=e^n,h=0;n>=4;)r=1540483477*(65535&(r=255&i.charCodeAt(h)|(255&i.charCodeAt(++h))<<8|(255&i.charCodeAt(++h))<<16|(255&i.charCodeAt(++h))<<24))+((1540483477*(r>>>16)&65535)<<16),o=1540483477*(65535&o)+((1540483477*(o>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++h;switch(n){case 3:o^=(255&i.charCodeAt(h+2))<<16;case 2:o^=(255&i.charCodeAt(h+1))<<8;case 1:o=1540483477*(65535&(o^=255&i.charCodeAt(h)))+((1540483477*(o>>>16)&65535)<<16)}return o=1540483477*(65535&(o^=o>>>13))+((1540483477*(o>>>16)&65535)<<16),(o^=o>>>15)>>>0};var qo=Xl,Zo=Uo.exports;Oa.exports=qo,Oa.exports.murmur3=qo,Oa.exports.murmur2=Zo;var Va=_e(Oa.exports);class an{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(e,r,n,o){this.ids.push(Yh(e)),this.positions.push(r,n,o)}getPositions(e){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const r=Yh(e);let n=0,o=this.ids.length-1;for(;n>1;this.ids[d]>=r?o=d:n=d+1}const h=[];for(;this.ids[n]===r;)h.push({index:this.positions[3*n],start:this.positions[3*n+1],end:this.positions[3*n+2]}),n++;return h}static serialize(e,r){const n=new Float64Array(e.ids),o=new Uint32Array(e.positions);return Wc(n,o,0,n.length-1),r&&r.push(n.buffer,o.buffer),{ids:n,positions:o}}static deserialize(e){const r=new an;return r.ids=e.ids,r.positions=e.positions,r.indexed=!0,r}}function Yh(i){const e=+i;return!isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:Va(String(i))}function Wc(i,e,r,n){for(;r>1];let h=r-1,d=n+1;for(;;){do h++;while(i[h]o);if(h>=d)break;Kl(i,h,d),Kl(e,3*h,3*d),Kl(e,3*h+1,3*d+1),Kl(e,3*h+2,3*d+2)}d-r`u_${o}`),this.type=n}setUniform(e,r,n){e.set(n.constantOr(this.value))}getBinding(e,r,n){return this.type==="color"?new eu(e,r):new Jl(e,r)}}class $a{constructor(e,r){this.uniformNames=r.map(n=>`u_${n}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(e,r){this.pixelRatioFrom=r.pixelRatio,this.pixelRatioTo=e.pixelRatio,this.patternFrom=r.tlbr,this.patternTo=e.tlbr}setUniform(e,r,n,o){const h=o==="u_pattern_to"?this.patternTo:o==="u_pattern_from"?this.patternFrom:o==="u_pixel_ratio_to"?this.pixelRatioTo:o==="u_pixel_ratio_from"?this.pixelRatioFrom:null;h&&e.set(h)}getBinding(e,r,n){return n.substr(0,9)==="u_pattern"?new Qh(e,r):new Jl(e,r)}}class As{constructor(e,r,n,o){this.expression=e,this.type=n,this.maxValue=0,this.paintVertexAttributes=r.map(h=>({name:`a_${h}`,type:"Float32",components:n==="color"?2:1,offset:0})),this.paintVertexArray=new o}populatePaintArray(e,r,n,o,h){const d=this.paintVertexArray.length,f=this.expression.evaluate(new Lt(0),r,{},o,[],h);this.paintVertexArray.resize(e),this._setPaintValue(d,e,f)}updatePaintArray(e,r,n,o){const h=this.expression.evaluate({zoom:0},n,o);this._setPaintValue(e,r,h)}_setPaintValue(e,r,n){if(this.type==="color"){const o=Hc(n);for(let h=e;h`u_${f}_t`),this.type=n,this.useIntegerZoom=o,this.zoom=h,this.maxValue=0,this.paintVertexAttributes=r.map(f=>({name:`a_${f}`,type:"Float32",components:n==="color"?4:2,offset:0})),this.paintVertexArray=new d}populatePaintArray(e,r,n,o,h){const d=this.expression.evaluate(new Lt(this.zoom),r,{},o,[],h),f=this.expression.evaluate(new Lt(this.zoom+1),r,{},o,[],h),_=this.paintVertexArray.length;this.paintVertexArray.resize(e),this._setPaintValue(_,e,d,f)}updatePaintArray(e,r,n,o){const h=this.expression.evaluate({zoom:this.zoom},n,o),d=this.expression.evaluate({zoom:this.zoom+1},n,o);this._setPaintValue(e,r,h,d)}_setPaintValue(e,r,n,o){if(this.type==="color"){const h=Hc(n),d=Hc(o);for(let f=e;f`#define HAS_UNIFORM_${o}`))}return e}getBinderAttributes(){const e=[];for(const r in this.binders){const n=this.binders[r];if(n instanceof As||n instanceof Hr)for(let o=0;o!0){this.programConfigurations={};for(const o of e)this.programConfigurations[o.id]=new tu(o,r,n);this.needsUpload=!1,this._featureMap=new an,this._bufferOffset=0}populatePaintArrays(e,r,n,o,h,d){for(const f in this.programConfigurations)this.programConfigurations[f].populatePaintArrays(e,r,o,h,d);r.id!==void 0&&this._featureMap.add(r.id,n,this._bufferOffset,e),this._bufferOffset=e,this.needsUpload=!0}updatePaintArrays(e,r,n,o){for(const h of n)this.needsUpload=this.programConfigurations[h.id].updatePaintArrays(e,this._featureMap,r,h,o)||this.needsUpload}get(e){return this.programConfigurations[e]}upload(e){if(this.needsUpload){for(const r in this.programConfigurations)this.programConfigurations[r].upload(e);this.needsUpload=!1}}destroy(){for(const e in this.programConfigurations)this.programConfigurations[e].destroy()}}function gp(i,e){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[i]||[i.replace(`${e}-`,"").replace(/-/g,"_")]}function iu(i,e,r){const n={color:{source:F,composite:Je},number:{source:Te,composite:F}},o=function(h){return{"line-pattern":{source:xi,composite:xi},"fill-pattern":{source:xi,composite:xi},"fill-extrusion-pattern":{source:xi,composite:xi}}[h]}(i);return o&&o[r]||n[e][r]}Oe("ConstantBinder",Go),Oe("CrossFadedConstantBinder",$a),Oe("SourceExpressionBinder",As),Oe("CrossFadedCompositeBinder",on),Oe("CompositeExpressionBinder",Hr),Oe("ProgramConfiguration",tu,{omit:["_buffers"]}),Oe("ProgramConfigurationSet",jn);const si=8192,Xc=Math.pow(2,14)-1,ru=-Xc-1;function Un(i){const e=si/i.extent,r=i.loadGeometry();for(let n=0;nd.x+1||_d.y+1)&&Wt("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return r}function qn(i,e){return{type:i.type,id:i.id,properties:i.properties,geometry:e?Un(i):[]}}function Yl(i,e,r,n,o){i.emplaceBack(2*e+(n+1)/2,2*r+(o+1)/2)}class Kc{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(r=>r.id),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new Ra,this.indexArray=new gi,this.segments=new di,this.programConfigurations=new jn(e.layers,e.zoom),this.stateDependentLayerIds=this.layers.filter(r=>r.isStateDependent()).map(r=>r.id)}populate(e,r,n){const o=this.layers[0],h=[];let d=null,f=!1;o.type==="circle"&&(d=o.layout.get("circle-sort-key"),f=!d.isConstant());for(const{feature:_,id:x,index:b,sourceLayerIndex:w}of e){const k=this.layers[0]._featureFilter.needGeometry,A=qn(_,k);if(!this.layers[0]._featureFilter.filter(new Lt(this.zoom),A,n))continue;const E=f?d.evaluate(A,{},n):void 0,L={id:x,properties:_.properties,type:_.type,sourceLayerIndex:w,index:b,geometry:k?A.geometry:Un(_),patterns:{},sortKey:E};h.push(L)}f&&h.sort((_,x)=>_.sortKey-x.sortKey);for(const _ of h){const{geometry:x,index:b,sourceLayerIndex:w}=_,k=e[b].feature;this.addFeature(_,x,b,n),r.featureIndex.insert(k,x,b,w,this.index)}}update(e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,r,this.stateDependentLayers,n)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,jo),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(e,r,n,o){for(const h of r)for(const d of h){const f=d.x,_=d.y;if(f<0||f>=si||_<0||_>=si)continue;const x=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,e.sortKey),b=x.vertexLength;Yl(this.layoutVertexArray,f,_,-1,-1),Yl(this.layoutVertexArray,f,_,1,-1),Yl(this.layoutVertexArray,f,_,1,1),Yl(this.layoutVertexArray,f,_,-1,1),this.indexArray.emplaceBack(b,b+1,b+2),this.indexArray.emplaceBack(b,b+3,b+2),x.vertexLength+=4,x.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,{},o)}}function su(i,e){for(let r=0;r1){if(Jc(i,e))return!0;for(let n=0;n1?r:r.sub(e)._mult(o)._add(e))}function ou(i,e){let r,n,o,h=!1;for(let d=0;de.y!=o.y>e.y&&e.x<(o.x-n.x)*(e.y-n.y)/(o.y-n.y)+n.x&&(h=!h)}return h}function Na(i,e){let r=!1;for(let n=0,o=i.length-1;ne.y!=d.y>e.y&&e.x<(d.x-h.x)*(e.y-h.y)/(d.y-h.y)+h.x&&(r=!r)}return r}function bp(i,e,r){const n=r[0],o=r[2];if(i.xo.x&&e.x>o.x||i.yo.y&&e.y>o.y)return!1;const h=Dt(i,e,r[0]);return h!==Dt(i,e,r[1])||h!==Dt(i,e,r[2])||h!==Dt(i,e,r[3])}function Wo(i,e,r){const n=e.paint.get(i).value;return n.kind==="constant"?n.value:r.programConfigurations.get(e.id).getMaxValue(i)}function Ql(i){return Math.sqrt(i[0]*i[0]+i[1]*i[1])}function ec(i,e,r,n,o){if(!e[0]&&!e[1])return i;const h=oe.convert(e)._mult(o);r==="viewport"&&h._rotate(-n);const d=[];for(let f=0;fuu(O,L))}(x,_),A=w?b*f:b;for(const E of o)for(const L of E){const O=w?L:uu(L,_);let U=A;const re=tc([],[L.x,L.y,0,1],_);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?U*=re[3]/d.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(U*=d.cameraToCenterDistance/re[3]),yp(k,O,U))return!0}return!1}}function uu(i,e){const r=tc([],[i.x,i.y,0,1],e);return new oe(r[0]/r[3],r[1]/r[3])}class du extends Kc{}let pu;Oe("HeatmapBucket",du,{omit:["layers"]});var Tp={get paint(){return pu=pu||new a({"heatmap-radius":new Ke(he.paint_heatmap["heatmap-radius"]),"heatmap-weight":new Ke(he.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new Ze(he.paint_heatmap["heatmap-intensity"]),"heatmap-color":new s(he.paint_heatmap["heatmap-color"]),"heatmap-opacity":new Ze(he.paint_heatmap["heatmap-opacity"])})}};function eh(i,{width:e,height:r},n,o){if(o){if(o instanceof Uint8ClampedArray)o=new Uint8Array(o.buffer);else if(o.length!==e*r*n)throw new RangeError(`mismatched image size. expected: ${o.length} but got: ${e*r*n}`)}else o=new Uint8Array(e*r*n);return i.width=e,i.height=r,i.data=o,i}function fu(i,{width:e,height:r},n){if(e===i.width&&r===i.height)return;const o=eh({},{width:e,height:r},n);th(i,o,{x:0,y:0},{x:0,y:0},{width:Math.min(i.width,e),height:Math.min(i.height,r)},n),i.width=e,i.height=r,i.data=o.data}function th(i,e,r,n,o,h){if(o.width===0||o.height===0)return e;if(o.width>i.width||o.height>i.height||r.x>i.width-o.width||r.y>i.height-o.height)throw new RangeError("out of range source coordinates for image copy");if(o.width>e.width||o.height>e.height||n.x>e.width-o.width||n.y>e.height-o.height)throw new RangeError("out of range destination coordinates for image copy");const d=i.data,f=e.data;if(d===f)throw new Error("srcData equals dstData, so image is already copied");for(let _=0;_{e[i.evaluationKey]=_;const x=i.expression.evaluate(e);o.data[d+f+0]=Math.floor(255*x.r/x.a),o.data[d+f+1]=Math.floor(255*x.g/x.a),o.data[d+f+2]=Math.floor(255*x.b/x.a),o.data[d+f+3]=Math.floor(255*x.a)};if(i.clips)for(let d=0,f=0;d80*r){n=h=i[0],o=d=i[1];for(var E=r;Eh&&(h=f),_>d&&(d=_);x=(x=Math.max(h-n,d-o))!==0?32767/x:0}return Ko(k,A,r,n,o,x,0),A}function gu(i,e,r,n,o){var h,d;if(o===nh(i,e,r,n)>0)for(h=e;h=e;h-=n)d=vu(h,i[h],i[h+1],d);return d&&rc(d,d.next)&&(Yo(d),d=d.next),d}function Zn(i,e){if(!i)return i;e||(e=i);var r,n=i;do if(r=!1,n.steiner||!rc(n,n.next)&&ei(n.prev,n,n.next)!==0)n=n.next;else{if(Yo(n),(n=e=n.prev)===n.next)break;r=!0}while(r||n!==e);return e}function Ko(i,e,r,n,o,h,d){if(i){!d&&h&&function(b,w,k,A){var E=b;do E.z===0&&(E.z=rh(E.x,E.y,w,k,A)),E.prevZ=E.prev,E.nextZ=E.next,E=E.next;while(E!==b);E.prevZ.nextZ=null,E.prevZ=null,function(L){var O,U,re,X,ee,pe,me,Re,qe=1;do{for(U=L,L=null,ee=null,pe=0;U;){for(pe++,re=U,me=0,O=0;O0||Re>0&&re;)me!==0&&(Re===0||!re||U.z<=re.z)?(X=U,U=U.nextZ,me--):(X=re,re=re.nextZ,Re--),ee?ee.nextZ=X:L=X,X.prevZ=ee,ee=X;U=re}ee.nextZ=null,qe*=2}while(pe>1)}(E)}(i,n,o,h);for(var f,_,x=i;i.prev!==i.next;)if(f=i.prev,_=i.next,h?zp(i,n,o,h):Ep(i))e.push(f.i/r|0),e.push(i.i/r|0),e.push(_.i/r|0),Yo(i),i=_.next,x=_.next;else if((i=_)===x){d?d===1?Ko(i=Dp(Zn(i),e,r),e,r,n,o,h,2):d===2&&Lp(i,e,r,n,o,h):Ko(Zn(i),e,r,n,o,h,1);break}}}function Ep(i){var e=i.prev,r=i,n=i.next;if(ei(e,r,n)>=0)return!1;for(var o=e.x,h=r.x,d=n.x,f=e.y,_=r.y,x=n.y,b=oh?o>d?o:d:h>d?h:d,A=f>_?f>x?f:x:_>x?_:x,E=n.next;E!==e;){if(E.x>=b&&E.x<=k&&E.y>=w&&E.y<=A&&Ua(o,f,h,_,d,x,E.x,E.y)&&ei(E.prev,E,E.next)>=0)return!1;E=E.next}return!0}function zp(i,e,r,n){var o=i.prev,h=i,d=i.next;if(ei(o,h,d)>=0)return!1;for(var f=o.x,_=h.x,x=d.x,b=o.y,w=h.y,k=d.y,A=f<_?f_?f>x?f:x:_>x?_:x,O=b>w?b>k?b:k:w>k?w:k,U=rh(A,E,e,r,n),re=rh(L,O,e,r,n),X=i.prevZ,ee=i.nextZ;X&&X.z>=U&&ee&&ee.z<=re;){if(X.x>=A&&X.x<=L&&X.y>=E&&X.y<=O&&X!==o&&X!==d&&Ua(f,b,_,w,x,k,X.x,X.y)&&ei(X.prev,X,X.next)>=0||(X=X.prevZ,ee.x>=A&&ee.x<=L&&ee.y>=E&&ee.y<=O&&ee!==o&&ee!==d&&Ua(f,b,_,w,x,k,ee.x,ee.y)&&ei(ee.prev,ee,ee.next)>=0))return!1;ee=ee.nextZ}for(;X&&X.z>=U;){if(X.x>=A&&X.x<=L&&X.y>=E&&X.y<=O&&X!==o&&X!==d&&Ua(f,b,_,w,x,k,X.x,X.y)&&ei(X.prev,X,X.next)>=0)return!1;X=X.prevZ}for(;ee&&ee.z<=re;){if(ee.x>=A&&ee.x<=L&&ee.y>=E&&ee.y<=O&&ee!==o&&ee!==d&&Ua(f,b,_,w,x,k,ee.x,ee.y)&&ei(ee.prev,ee,ee.next)>=0)return!1;ee=ee.nextZ}return!0}function Dp(i,e,r){var n=i;do{var o=n.prev,h=n.next.next;!rc(o,h)&&yu(o,n,n.next,h)&&Jo(o,h)&&Jo(h,o)&&(e.push(o.i/r|0),e.push(n.i/r|0),e.push(h.i/r|0),Yo(n),Yo(n.next),n=i=h),n=n.next}while(n!==i);return Zn(n)}function Lp(i,e,r,n,o,h){var d=i;do{for(var f=d.next.next;f!==d.prev;){if(d.i!==f.i&&Vp(d,f)){var _=xu(d,f);return d=Zn(d,d.next),_=Zn(_,_.next),Ko(d,e,r,n,o,h,0),void Ko(_,e,r,n,o,h,0)}f=f.next}d=d.next}while(d!==i)}function Rp(i,e){return i.x-e.x}function Fp(i,e){var r=function(o,h){var d,f=h,_=o.x,x=o.y,b=-1/0;do{if(x<=f.y&&x>=f.next.y&&f.next.y!==f.y){var w=f.x+(x-f.y)*(f.next.x-f.x)/(f.next.y-f.y);if(w<=_&&w>b&&(b=w,d=f.x=f.x&&f.x>=E&&_!==f.x&&Ua(xd.x||f.x===d.x&&Bp(d,f)))&&(d=f,O=k)),f=f.next;while(f!==A);return d}(i,e);if(!r)return e;var n=xu(r,i);return Zn(n,n.next),Zn(r,r.next)}function Bp(i,e){return ei(i.prev,i,e.prev)<0&&ei(e.next,i,i.next)<0}function rh(i,e,r,n,o){return(i=1431655765&((i=858993459&((i=252645135&((i=16711935&((i=(i-r)*o|0)|i<<8))|i<<4))|i<<2))|i<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*o|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Op(i){var e=i,r=i;do(e.x=(i-d)*(h-f)&&(i-d)*(n-f)>=(r-d)*(e-f)&&(r-d)*(h-f)>=(o-d)*(n-f)}function Vp(i,e){return i.next.i!==e.i&&i.prev.i!==e.i&&!function(r,n){var o=r;do{if(o.i!==r.i&&o.next.i!==r.i&&o.i!==n.i&&o.next.i!==n.i&&yu(o,o.next,r,n))return!0;o=o.next}while(o!==r);return!1}(i,e)&&(Jo(i,e)&&Jo(e,i)&&function(r,n){var o=r,h=!1,d=(r.x+n.x)/2,f=(r.y+n.y)/2;do o.y>f!=o.next.y>f&&o.next.y!==o.y&&d<(o.next.x-o.x)*(f-o.y)/(o.next.y-o.y)+o.x&&(h=!h),o=o.next;while(o!==r);return h}(i,e)&&(ei(i.prev,i,e.prev)||ei(i,e.prev,e))||rc(i,e)&&ei(i.prev,i,i.next)>0&&ei(e.prev,e,e.next)>0)}function ei(i,e,r){return(e.y-i.y)*(r.x-e.x)-(e.x-i.x)*(r.y-e.y)}function rc(i,e){return i.x===e.x&&i.y===e.y}function yu(i,e,r,n){var o=nc(ei(i,e,r)),h=nc(ei(i,e,n)),d=nc(ei(r,n,i)),f=nc(ei(r,n,e));return o!==h&&d!==f||!(o!==0||!sc(i,r,e))||!(h!==0||!sc(i,n,e))||!(d!==0||!sc(r,i,n))||!(f!==0||!sc(r,e,n))}function sc(i,e,r){return e.x<=Math.max(i.x,r.x)&&e.x>=Math.min(i.x,r.x)&&e.y<=Math.max(i.y,r.y)&&e.y>=Math.min(i.y,r.y)}function nc(i){return i>0?1:i<0?-1:0}function Jo(i,e){return ei(i.prev,i,i.next)<0?ei(i,e,i.next)>=0&&ei(i,i.prev,e)>=0:ei(i,e,i.prev)<0||ei(i,i.next,e)<0}function xu(i,e){var r=new sh(i.i,i.x,i.y),n=new sh(e.i,e.x,e.y),o=i.next,h=e.prev;return i.next=e,e.prev=i,r.next=o,o.prev=r,n.next=r,r.prev=n,h.next=n,n.prev=h,n}function vu(i,e,r,n){var o=new sh(i,e,r);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o}function Yo(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function sh(i,e,r){this.i=i,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1}function nh(i,e,r,n){for(var o=0,h=e,d=r-n;h0&&r.holes.push(n+=i[o-1].length)}return r};var bu=_e(ih.exports);function ah(i,e,r){const n=r.patternDependencies;let o=!1;for(const h of e){const d=h.paint.get(`${i}-pattern`);d.isConstant()||(o=!0);const f=d.constantOr(null);f&&(o=!0,n[f.to]=!0,n[f.from]=!0)}return o}function oh(i,e,r,n,o){const h=o.patternDependencies;for(const d of e){const f=d.paint.get(`${i}-pattern`).value;if(f.kind!=="constant"){let _=f.evaluate({zoom:n-1},r,{},o.availableImages),x=f.evaluate({zoom:n},r,{},o.availableImages),b=f.evaluate({zoom:n+1},r,{},o.availableImages);_=_&&_.name?_.name:_,x=x&&x.name?x.name:x,b=b&&b.name?b.name:b,h[_]=!0,h[x]=!0,h[b]=!0,r.patterns[d.id]={min:_,mid:x,max:b}}}return r}class lh{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(r=>r.id),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new rn,this.indexArray=new gi,this.indexArray2=new qt,this.programConfigurations=new jn(e.layers,e.zoom),this.segments=new di,this.segments2=new di,this.stateDependentLayerIds=this.layers.filter(r=>r.isStateDependent()).map(r=>r.id)}populate(e,r,n){this.hasPattern=ah("fill",this.layers,r);const o=this.layers[0].layout.get("fill-sort-key"),h=!o.isConstant(),d=[];for(const{feature:f,id:_,index:x,sourceLayerIndex:b}of e){const w=this.layers[0]._featureFilter.needGeometry,k=qn(f,w);if(!this.layers[0]._featureFilter.filter(new Lt(this.zoom),k,n))continue;const A=h?o.evaluate(k,{},n,r.availableImages):void 0,E={id:_,properties:f.properties,type:f.type,sourceLayerIndex:b,index:x,geometry:w?k.geometry:Un(f),patterns:{},sortKey:A};d.push(E)}h&&d.sort((f,_)=>f.sortKey-_.sortKey);for(const f of d){const{geometry:_,index:x,sourceLayerIndex:b}=f;if(this.hasPattern){const w=oh("fill",this.layers,f,this.zoom,r);this.patternFeatures.push(w)}else this.addFeature(f,_,x,n,{});r.featureIndex.insert(e[x].feature,_,x,b,this.index)}}update(e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,r,this.stateDependentLayers,n)}addFeatures(e,r,n){for(const o of this.patternFeatures)this.addFeature(o,o.geometry,o.index,r,n)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,Cp),this.indexBuffer=e.createIndexBuffer(this.indexArray),this.indexBuffer2=e.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(e,r,n,o,h){for(const d of pa(r,500)){let f=0;for(const A of d)f+=A.length;const _=this.segments.prepareSegment(f,this.layoutVertexArray,this.indexArray),x=_.vertexLength,b=[],w=[];for(const A of d){if(A.length===0)continue;A!==d[0]&&w.push(b.length/2);const E=this.segments2.prepareSegment(A.length,this.layoutVertexArray,this.indexArray2),L=E.vertexLength;this.layoutVertexArray.emplaceBack(A[0].x,A[0].y),this.indexArray2.emplaceBack(L+A.length-1,L),b.push(A[0].x),b.push(A[0].y);for(let O=1;O>3}if(o--,n===1||n===2)h+=i.readSVarint(),d+=i.readSVarint(),n===1&&(e&&f.push(e),e=[]),e.push(new Zp(h,d));else{if(n!==7)throw new Error("unknown command "+n);e&&e.push(e[0].clone())}}return e&&f.push(e),f},qa.prototype.bbox=function(){var i=this._pbf;i.pos=this._geometry;for(var e=i.readVarint()+i.pos,r=1,n=0,o=0,h=0,d=1/0,f=-1/0,_=1/0,x=-1/0;i.pos>3}if(n--,r===1||r===2)(o+=i.readSVarint())f&&(f=o),(h+=i.readSVarint())<_&&(_=h),h>x&&(x=h);else if(r!==7)throw new Error("unknown command "+r)}return[d,_,f,x]},qa.prototype.toGeoJSON=function(i,e,r){var n,o,h=this.extent*Math.pow(2,r),d=this.extent*i,f=this.extent*e,_=this.loadGeometry(),x=qa.types[this.type];function b(A){for(var E=0;E>3;o=d===1?n.readString():d===2?n.readFloat():d===3?n.readDouble():d===4?n.readVarint64():d===5?n.readVarint():d===6?n.readSVarint():d===7?n.readBoolean():null}return o}(r))}ku.prototype.feature=function(i){if(i<0||i>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[i];var e=this._pbf.readVarint()+this._pbf.pos;return new Hp(this._pbf,e,this.extent,this._keys,this._values)};var Kp=Tu;function Jp(i,e,r){if(i===3){var n=new Kp(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n)}}ln.VectorTile=function(i,e){this.layers=i.readFields(Jp,{},e)},ln.VectorTileFeature=Iu,ln.VectorTileLayer=Tu;const Yp=ln.VectorTileFeature.types,ch=Math.pow(2,13);function Qo(i,e,r,n,o,h,d,f){i.emplaceBack(e,r,2*Math.floor(n*ch)+d,o*ch*2,h*ch*2,Math.round(f))}class hh{constructor(e){this.zoom=e.zoom,this.overscaling=e.overscaling,this.layers=e.layers,this.layerIds=this.layers.map(r=>r.id),this.index=e.index,this.hasPattern=!1,this.layoutVertexArray=new Ms,this.centroidVertexArray=new ks,this.indexArray=new gi,this.programConfigurations=new jn(e.layers,e.zoom),this.segments=new di,this.stateDependentLayerIds=this.layers.filter(r=>r.isStateDependent()).map(r=>r.id)}populate(e,r,n){this.features=[],this.hasPattern=ah("fill-extrusion",this.layers,r);for(const{feature:o,id:h,index:d,sourceLayerIndex:f}of e){const _=this.layers[0]._featureFilter.needGeometry,x=qn(o,_);if(!this.layers[0]._featureFilter.filter(new Lt(this.zoom),x,n))continue;const b={id:h,sourceLayerIndex:f,index:d,geometry:_?x.geometry:Un(o),properties:o.properties,type:o.type,patterns:{}};this.hasPattern?this.features.push(oh("fill-extrusion",this.layers,b,this.zoom,r)):this.addFeature(b,b.geometry,d,n,{}),r.featureIndex.insert(o,b.geometry,d,f,this.index,!0)}}addFeatures(e,r,n){for(const o of this.features){const{geometry:h}=o;this.addFeature(o,h,o.index,r,n)}}update(e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,r,this.stateDependentLayers,n)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,qp),this.centroidVertexBuffer=e.createVertexBuffer(this.centroidVertexArray,Up.members,!0),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(e,r,n,o,h){const d={x:0,y:0,vertexCount:0};for(const f of pa(r,500)){let _=0;for(const E of f)_+=E.length;let x=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const E of f){if(E.length===0||ef(E))continue;let L=0;for(let O=0;O=1){const re=E[O-1];if(!Qp(U,re)){x.vertexLength+4>di.MAX_VERTEX_ARRAY_LENGTH&&(x=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const X=U.sub(re)._perp()._unit(),ee=re.dist(U);L+ee>32768&&(L=0),Qo(this.layoutVertexArray,U.x,U.y,X.x,X.y,0,0,L),Qo(this.layoutVertexArray,U.x,U.y,X.x,X.y,0,1,L),d.x+=2*U.x,d.y+=2*U.y,d.vertexCount+=2,L+=ee,Qo(this.layoutVertexArray,re.x,re.y,X.x,X.y,0,0,L),Qo(this.layoutVertexArray,re.x,re.y,X.x,X.y,0,1,L),d.x+=2*re.x,d.y+=2*re.y,d.vertexCount+=2;const pe=x.vertexLength;this.indexArray.emplaceBack(pe,pe+2,pe+1),this.indexArray.emplaceBack(pe+1,pe+2,pe+3),x.vertexLength+=4,x.primitiveLength+=2}}}}if(x.vertexLength+_>di.MAX_VERTEX_ARRAY_LENGTH&&(x=this.segments.prepareSegment(_,this.layoutVertexArray,this.indexArray)),Yp[e.type]!=="Polygon")continue;const b=[],w=[],k=x.vertexLength;for(const E of f)if(E.length!==0){E!==f[0]&&w.push(b.length/2);for(let L=0;Lsi)||i.y===e.y&&(i.y<0||i.y>si)}function ef(i){return i.every(e=>e.x<0)||i.every(e=>e.x>si)||i.every(e=>e.y<0)||i.every(e=>e.y>si)}let Mu;Oe("FillExtrusionBucket",hh,{omit:["layers","features"]});var tf={get paint(){return Mu=Mu||new a({"fill-extrusion-opacity":new Ze(he["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new Ke(he["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new Ze(he["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new Ze(he["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new c(he["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new Ke(he["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new Ke(he["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new Ze(he["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class rf extends u{constructor(e){super(e,tf)}createBucket(e){return new hh(e)}queryRadius(){return Ql(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(e,r,n,o,h,d,f,_){const x=ec(e,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),d.angle,f),b=this.paint.get("fill-extrusion-height").evaluate(r,n),w=this.paint.get("fill-extrusion-base").evaluate(r,n),k=function(E,L,O,U){const re=[];for(const X of E){const ee=[X.x,X.y,0,1];tc(ee,ee,L),re.push(new oe(ee[0]/ee[3],ee[1]/ee[3]))}return re}(x,_),A=function(E,L,O,U){const re=[],X=[],ee=U[8]*L,pe=U[9]*L,me=U[10]*L,Re=U[11]*L,qe=U[8]*O,ze=U[9]*O,Ce=U[10]*O,Ve=U[11]*O;for(const Ge of E){const De=[],ge=[];for(const Ue of Ge){const $e=Ue.x,at=Ue.y,Ct=U[0]*$e+U[4]*at+U[12],Et=U[1]*$e+U[5]*at+U[13],ni=U[2]*$e+U[6]*at+U[14],vr=U[3]*$e+U[7]*at+U[15],Li=ni+me,fi=vr+Re,vi=Ct+qe,Ri=Et+ze,Xi=ni+Ce,Fi=vr+Ve,ai=new oe((Ct+ee)/fi,(Et+pe)/fi);ai.z=Li/fi,De.push(ai);const yi=new oe(vi/Fi,Ri/Fi);yi.z=Xi/Fi,ge.push(yi)}re.push(De),X.push(ge)}return[re,X]}(o,w,b,_);return function(E,L,O){let U=1/0;nu(O,L)&&(U=Au(O,L[0]));for(let re=0;rer.id),this.index=e.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(r=>{this.gradients[r.id]={}}),this.layoutVertexArray=new Fa,this.layoutVertexArray2=new No,this.indexArray=new gi,this.programConfigurations=new jn(e.layers,e.zoom),this.segments=new di,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(r=>r.isStateDependent()).map(r=>r.id)}populate(e,r,n){this.hasPattern=ah("line",this.layers,r);const o=this.layers[0].layout.get("line-sort-key"),h=!o.isConstant(),d=[];for(const{feature:f,id:_,index:x,sourceLayerIndex:b}of e){const w=this.layers[0]._featureFilter.needGeometry,k=qn(f,w);if(!this.layers[0]._featureFilter.filter(new Lt(this.zoom),k,n))continue;const A=h?o.evaluate(k,{},n):void 0,E={id:_,properties:f.properties,type:f.type,sourceLayerIndex:b,index:x,geometry:w?k.geometry:Un(f),patterns:{},sortKey:A};d.push(E)}h&&d.sort((f,_)=>f.sortKey-_.sortKey);for(const f of d){const{geometry:_,index:x,sourceLayerIndex:b}=f;if(this.hasPattern){const w=oh("line",this.layers,f,this.zoom,r);this.patternFeatures.push(w)}else this.addFeature(f,_,x,n,{});r.featureIndex.insert(e[x].feature,_,x,b,this.index)}}update(e,r,n){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(e,r,this.stateDependentLayers,n)}addFeatures(e,r,n){for(const o of this.patternFeatures)this.addFeature(o,o.geometry,o.index,r,n)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(e){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=e.createVertexBuffer(this.layoutVertexArray2,of)),this.layoutVertexBuffer=e.createVertexBuffer(this.layoutVertexArray,nf),this.indexBuffer=e.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(e),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(e){if(e.properties&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(e.properties,"mapbox_clip_end"))return{start:+e.properties.mapbox_clip_start,end:+e.properties.mapbox_clip_end}}addFeature(e,r,n,o,h){const d=this.layers[0].layout,f=d.get("line-join").evaluate(e,{}),_=d.get("line-cap"),x=d.get("line-miter-limit"),b=d.get("line-round-limit");this.lineClips=this.lineFeatureClips(e);for(const w of r)this.addLine(w,e,f,_,x,b);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,e,n,h,o)}addLine(e,r,n,o,h,d){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let U=0;U=2&&e[_-1].equals(e[_-2]);)_--;let x=0;for(;x<_-1&&e[x].equals(e[x+1]);)x++;if(_<(f?3:2))return;n==="bevel"&&(h=1.05);const b=this.overscaling<=16?15*si/(512*this.overscaling):0,w=this.segments.prepareSegment(10*_,this.layoutVertexArray,this.indexArray);let k,A,E,L,O;this.e1=this.e2=-1,f&&(k=e[_-2],O=e[x].sub(k)._unit()._perp());for(let U=x;U<_;U++){if(E=U===_-1?f?e[x+1]:void 0:e[U+1],E&&e[U].equals(E))continue;O&&(L=O),k&&(A=k),k=e[U],O=E?E.sub(k)._unit()._perp():L,L=L||O;let re=L.add(O);re.x===0&&re.y===0||re._unit();const X=L.x*O.x+L.y*O.y,ee=re.x*O.x+re.y*O.y,pe=ee!==0?1/ee:1/0,me=2*Math.sqrt(2-2*ee),Re=ee0;if(Re&&U>x){const Ve=k.dist(A);if(Ve>2*b){const Ge=k.sub(k.sub(A)._mult(b/Ve)._round());this.updateDistance(A,Ge),this.addCurrentVertex(Ge,L,0,0,w),A=Ge}}const ze=A&&E;let Ce=ze?n:f?"butt":o;if(ze&&Ce==="round"&&(peh&&(Ce="bevel"),Ce==="bevel"&&(pe>2&&(Ce="flipbevel"),pe100)re=O.mult(-1);else{const Ve=pe*L.add(O).mag()/L.sub(O).mag();re._perp()._mult(Ve*(qe?-1:1))}this.addCurrentVertex(k,re,0,0,w),this.addCurrentVertex(k,re.mult(-1),0,0,w)}else if(Ce==="bevel"||Ce==="fakeround"){const Ve=-Math.sqrt(pe*pe-1),Ge=qe?Ve:0,De=qe?0:Ve;if(A&&this.addCurrentVertex(k,L,Ge,De,w),Ce==="fakeround"){const ge=Math.round(180*me/Math.PI/20);for(let Ue=1;Ue2*b){const Ge=k.add(E.sub(k)._mult(b/Ve)._round());this.updateDistance(k,Ge),this.addCurrentVertex(Ge,O,0,0,w),k=Ge}}}}addCurrentVertex(e,r,n,o,h,d=!1){const f=r.y*o-r.x,_=-r.y-r.x*o;this.addHalfVertex(e,r.x+r.y*n,r.y-r.x*n,d,!1,n,h),this.addHalfVertex(e,f,_,d,!0,-o,h),this.distance>Pu/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(e,r,n,o,h,d))}addHalfVertex({x:e,y:r},n,o,h,d,f,_){const x=.5*(this.lineClips?this.scaledDistance*(Pu-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((e<<1)+(h?1:0),(r<<1)+(d?1:0),Math.round(63*n)+128,Math.round(63*o)+128,1+(f===0?0:f<0?-1:1)|(63&x)<<2,x>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const b=_.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,b),_.primitiveLength++),d?this.e2=b:this.e1=b}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(e,r){this.distance+=e.dist(r),this.updateScaledDistance()}}let Cu,Eu;Oe("LineBucket",uh,{omit:["layers","patternFeatures"]});var zu={get paint(){return Eu=Eu||new a({"line-opacity":new Ke(he.paint_line["line-opacity"]),"line-color":new Ke(he.paint_line["line-color"]),"line-translate":new Ze(he.paint_line["line-translate"]),"line-translate-anchor":new Ze(he.paint_line["line-translate-anchor"]),"line-width":new Ke(he.paint_line["line-width"]),"line-gap-width":new Ke(he.paint_line["line-gap-width"]),"line-offset":new Ke(he.paint_line["line-offset"]),"line-blur":new Ke(he.paint_line["line-blur"]),"line-dasharray":new t(he.paint_line["line-dasharray"]),"line-pattern":new c(he.paint_line["line-pattern"]),"line-gradient":new s(he.paint_line["line-gradient"])})},get layout(){return Cu=Cu||new a({"line-cap":new Ze(he.layout_line["line-cap"]),"line-join":new Ke(he.layout_line["line-join"]),"line-miter-limit":new Ze(he.layout_line["line-miter-limit"]),"line-round-limit":new Ze(he.layout_line["line-round-limit"]),"line-sort-key":new Ke(he.layout_line["line-sort-key"])})}};class hf extends Ke{possiblyEvaluate(e,r){return r=new Lt(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),super.possiblyEvaluate(e,r)}evaluate(e,r,n,o){return r=Ie({},r,{zoom:Math.floor(r.zoom)}),super.evaluate(e,r,n,o)}}let ac;class uf extends u{constructor(e){super(e,zu),this.gradientVersion=0,ac||(ac=new hf(zu.paint.properties["line-width"].specification),ac.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(e){if(e==="line-gradient"){const r=this.gradientExpression();this.stepInterpolant=!!function(n){return n._styleExpression!==void 0}(r)&&r._styleExpression.expression instanceof Tn,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(e,r){super.recalculate(e,r),this.paint._values["line-floorwidth"]=ac.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,e)}createBucket(e){return new uh(e)}queryRadius(e){const r=e,n=Du(Wo("line-width",this,r),Wo("line-gap-width",this,r)),o=Wo("line-offset",this,r);return n/2+Math.abs(o)+Ql(this.paint.get("line-translate"))}queryIntersectsFeature(e,r,n,o,h,d,f){const _=ec(e,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),d.angle,f),x=f/2*Du(this.paint.get("line-width").evaluate(r,n),this.paint.get("line-gap-width").evaluate(r,n)),b=this.paint.get("line-offset").evaluate(r,n);return b&&(o=function(w,k){const A=[];for(let E=0;E=3){for(let O=0;O0?e+2*i:i}const df=v([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),pf=v([{name:"a_projected_pos",components:3,type:"Float32"}],4);v([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const ff=v([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);v([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const Lu=v([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),mf=v([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function _f(i,e,r){return i.sections.forEach(n=>{n.text=function(o,h,d){const f=h.layout.get("text-transform").evaluate(d,{});return f==="uppercase"?o=o.toLocaleUpperCase():f==="lowercase"&&(o=o.toLocaleLowerCase()),as.applyArabicShaping&&(o=as.applyArabicShaping(o)),o}(n.text,e,r)}),i}v([{name:"triangle",components:3,type:"Uint16"}]),v([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),v([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),v([{type:"Float32",name:"offsetX"}]),v([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),v([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const tl={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var pi=24,Ru=Pt,Fu=function(i,e,r,n,o){var h,d,f=8*o-n-1,_=(1<>1,b=-7,w=o-1,k=-1,A=i[e+w];for(w+=k,h=A&(1<<-b)-1,A>>=-b,b+=f;b>0;h=256*h+i[e+w],w+=k,b-=8);for(d=h&(1<<-b)-1,h>>=-b,b+=n;b>0;d=256*d+i[e+w],w+=k,b-=8);if(h===0)h=1-x;else{if(h===_)return d?NaN:1/0*(A?-1:1);d+=Math.pow(2,n),h-=x}return(A?-1:1)*d*Math.pow(2,h-n)},Bu=function(i,e,r,n,o,h){var d,f,_,x=8*h-o-1,b=(1<>1,k=o===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=0,E=1,L=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(f=isNaN(e)?1:0,d=b):(d=Math.floor(Math.log(e)/Math.LN2),e*(_=Math.pow(2,-d))<1&&(d--,_*=2),(e+=d+w>=1?k/_:k*Math.pow(2,1-w))*_>=2&&(d++,_/=2),d+w>=b?(f=0,d=b):d+w>=1?(f=(e*_-1)*Math.pow(2,o),d+=w):(f=e*Math.pow(2,w-1)*Math.pow(2,o),d=0));o>=8;i[r+A]=255&f,A+=E,f/=256,o-=8);for(d=d<0;i[r+A]=255&d,A+=E,d/=256,x-=8);i[r+A-E]|=128*L};function Pt(i){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(i)?i:new Uint8Array(i||0),this.pos=0,this.type=0,this.length=this.buf.length}Pt.Varint=0,Pt.Fixed64=1,Pt.Bytes=2,Pt.Fixed32=5;var dh=4294967296,Ou=1/dh,Vu=typeof TextDecoder>"u"?null:new TextDecoder("utf8");function Ps(i){return i.type===Pt.Bytes?i.readVarint()+i.pos:i.pos+1}function Za(i,e,r){return r?4294967296*e+(i>>>0):4294967296*(e>>>0)+(i>>>0)}function $u(i,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var o=r.pos-1;o>=i;o--)r.buf[o+n]=r.buf[o]}function gf(i,e){for(var r=0;r>>8,i[r+2]=e>>>16,i[r+3]=e>>>24}function Nu(i,e){return(i[e]|i[e+1]<<8|i[e+2]<<16)+(i[e+3]<<24)}Pt.prototype={destroy:function(){this.buf=null},readFields:function(i,e,r){for(r=r||this.length;this.pos>3,h=this.pos;this.type=7&n,i(o,e,this),this.pos===h&&this.skip(n)}return e},readMessage:function(i,e){return this.readFields(i,e,this.readVarint()+this.pos)},readFixed32:function(){var i=oc(this.buf,this.pos);return this.pos+=4,i},readSFixed32:function(){var i=Nu(this.buf,this.pos);return this.pos+=4,i},readFixed64:function(){var i=oc(this.buf,this.pos)+oc(this.buf,this.pos+4)*dh;return this.pos+=8,i},readSFixed64:function(){var i=oc(this.buf,this.pos)+Nu(this.buf,this.pos+4)*dh;return this.pos+=8,i},readFloat:function(){var i=Fu(this.buf,this.pos,!0,23,4);return this.pos+=4,i},readDouble:function(){var i=Fu(this.buf,this.pos,!0,52,8);return this.pos+=8,i},readVarint:function(i){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(o,h,d){var f,_,x=d.buf;if(f=(112&(_=x[d.pos++]))>>4,_<128||(f|=(127&(_=x[d.pos++]))<<3,_<128)||(f|=(127&(_=x[d.pos++]))<<10,_<128)||(f|=(127&(_=x[d.pos++]))<<17,_<128)||(f|=(127&(_=x[d.pos++]))<<24,_<128)||(f|=(1&(_=x[d.pos++]))<<31,_<128))return Za(o,f,h);throw new Error("Expected varint not more than 10 bytes")}(e|=(15&(r=n[this.pos]))<<28,i,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var i=this.readVarint();return i%2==1?(i+1)/-2:i/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var i=this.readVarint()+this.pos,e=this.pos;return this.pos=i,i-e>=12&&Vu?function(r,n,o){return Vu.decode(r.subarray(n,o))}(this.buf,e,i):function(r,n,o){for(var h="",d=n;d239?4:b>223?3:b>191?2:1;if(d+k>o)break;k===1?b<128&&(w=b):k===2?(192&(f=r[d+1]))==128&&(w=(31&b)<<6|63&f)<=127&&(w=null):k===3?(_=r[d+2],(192&(f=r[d+1]))==128&&(192&_)==128&&((w=(15&b)<<12|(63&f)<<6|63&_)<=2047||w>=55296&&w<=57343)&&(w=null)):k===4&&(_=r[d+2],x=r[d+3],(192&(f=r[d+1]))==128&&(192&_)==128&&(192&x)==128&&((w=(15&b)<<18|(63&f)<<12|(63&_)<<6|63&x)<=65535||w>=1114112)&&(w=null)),w===null?(w=65533,k=1):w>65535&&(w-=65536,h+=String.fromCharCode(w>>>10&1023|55296),w=56320|1023&w),h+=String.fromCharCode(w),d+=k}return h}(this.buf,e,i)},readBytes:function(){var i=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,i);return this.pos=i,e},readPackedVarint:function(i,e){if(this.type!==Pt.Bytes)return i.push(this.readVarint(e));var r=Ps(this);for(i=i||[];this.pos127;);else if(e===Pt.Bytes)this.pos=this.readVarint()+this.pos;else if(e===Pt.Fixed32)this.pos+=4;else{if(e!==Pt.Fixed64)throw new Error("Unimplemented type: "+e);this.pos+=8}},writeTag:function(i,e){this.writeVarint(i<<3|e)},realloc:function(i){for(var e=this.length||16;e268435455||i<0?function(e,r){var n,o;if(e>=0?(n=e%4294967296|0,o=e/4294967296|0):(o=~(-e/4294967296),4294967295^(n=~(-e%4294967296))?n=n+1|0:(n=0,o=o+1|0)),e>=18446744073709552e3||e<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");r.realloc(10),function(h,d,f){f.buf[f.pos++]=127&h|128,h>>>=7,f.buf[f.pos++]=127&h|128,h>>>=7,f.buf[f.pos++]=127&h|128,h>>>=7,f.buf[f.pos++]=127&h|128,f.buf[f.pos]=127&(h>>>=7)}(n,0,r),function(h,d){var f=(7&h)<<4;d.buf[d.pos++]|=f|((h>>>=3)?128:0),h&&(d.buf[d.pos++]=127&h|((h>>>=7)?128:0),h&&(d.buf[d.pos++]=127&h|((h>>>=7)?128:0),h&&(d.buf[d.pos++]=127&h|((h>>>=7)?128:0),h&&(d.buf[d.pos++]=127&h|((h>>>=7)?128:0),h&&(d.buf[d.pos++]=127&h)))))}(o,r)}(i,this):(this.realloc(4),this.buf[this.pos++]=127&i|(i>127?128:0),i<=127||(this.buf[this.pos++]=127&(i>>>=7)|(i>127?128:0),i<=127||(this.buf[this.pos++]=127&(i>>>=7)|(i>127?128:0),i<=127||(this.buf[this.pos++]=i>>>7&127))))},writeSVarint:function(i){this.writeVarint(i<0?2*-i-1:2*i)},writeBoolean:function(i){this.writeVarint(!!i)},writeString:function(i){i=String(i),this.realloc(4*i.length),this.pos++;var e=this.pos;this.pos=function(n,o,h){for(var d,f,_=0;_55295&&d<57344){if(!f){d>56319||_+1===o.length?(n[h++]=239,n[h++]=191,n[h++]=189):f=d;continue}if(d<56320){n[h++]=239,n[h++]=191,n[h++]=189,f=d;continue}d=f-55296<<10|d-56320|65536,f=null}else f&&(n[h++]=239,n[h++]=191,n[h++]=189,f=null);d<128?n[h++]=d:(d<2048?n[h++]=d>>6|192:(d<65536?n[h++]=d>>12|224:(n[h++]=d>>18|240,n[h++]=d>>12&63|128),n[h++]=d>>6&63|128),n[h++]=63&d|128)}return h}(this.buf,i,this.pos);var r=this.pos-e;r>=128&&$u(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r},writeFloat:function(i){this.realloc(4),Bu(this.buf,i,this.pos,!0,23,4),this.pos+=4},writeDouble:function(i){this.realloc(8),Bu(this.buf,i,this.pos,!0,52,8),this.pos+=8},writeBytes:function(i){var e=i.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&$u(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n},writeMessage:function(i,e,r){this.writeTag(i,Pt.Bytes),this.writeRawMessage(e,r)},writePackedVarint:function(i,e){e.length&&this.writeMessage(i,gf,e)},writePackedSVarint:function(i,e){e.length&&this.writeMessage(i,yf,e)},writePackedBoolean:function(i,e){e.length&&this.writeMessage(i,bf,e)},writePackedFloat:function(i,e){e.length&&this.writeMessage(i,xf,e)},writePackedDouble:function(i,e){e.length&&this.writeMessage(i,vf,e)},writePackedFixed32:function(i,e){e.length&&this.writeMessage(i,wf,e)},writePackedSFixed32:function(i,e){e.length&&this.writeMessage(i,Sf,e)},writePackedFixed64:function(i,e){e.length&&this.writeMessage(i,If,e)},writePackedSFixed64:function(i,e){e.length&&this.writeMessage(i,Tf,e)},writeBytesField:function(i,e){this.writeTag(i,Pt.Bytes),this.writeBytes(e)},writeFixed32Field:function(i,e){this.writeTag(i,Pt.Fixed32),this.writeFixed32(e)},writeSFixed32Field:function(i,e){this.writeTag(i,Pt.Fixed32),this.writeSFixed32(e)},writeFixed64Field:function(i,e){this.writeTag(i,Pt.Fixed64),this.writeFixed64(e)},writeSFixed64Field:function(i,e){this.writeTag(i,Pt.Fixed64),this.writeSFixed64(e)},writeVarintField:function(i,e){this.writeTag(i,Pt.Varint),this.writeVarint(e)},writeSVarintField:function(i,e){this.writeTag(i,Pt.Varint),this.writeSVarint(e)},writeStringField:function(i,e){this.writeTag(i,Pt.Bytes),this.writeString(e)},writeFloatField:function(i,e){this.writeTag(i,Pt.Fixed32),this.writeFloat(e)},writeDoubleField:function(i,e){this.writeTag(i,Pt.Fixed64),this.writeDouble(e)},writeBooleanField:function(i,e){this.writeVarintField(i,!!e)}};var ph=_e(Ru);const fh=3;function kf(i,e,r){i===1&&r.readMessage(Mf,e)}function Mf(i,e,r){if(i===3){const{id:n,bitmap:o,width:h,height:d,left:f,top:_,advance:x}=r.readMessage(Af,{});e.push({id:n,bitmap:new Xo({width:h+2*fh,height:d+2*fh},o),metrics:{width:h,height:d,left:f,top:_,advance:x}})}}function Af(i,e,r){i===1?e.id=r.readVarint():i===2?e.bitmap=r.readBytes():i===3?e.width=r.readVarint():i===4?e.height=r.readVarint():i===5?e.left=r.readSVarint():i===6?e.top=r.readSVarint():i===7&&(e.advance=r.readVarint())}const ju=fh;function Uu(i){let e=0,r=0;for(const d of i)e+=d.w*d.h,r=Math.max(r,d.w);i.sort((d,f)=>f.h-d.h);const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let o=0,h=0;for(const d of i)for(let f=n.length-1;f>=0;f--){const _=n[f];if(!(d.w>_.w||d.h>_.h)){if(d.x=_.x,d.y=_.y,h=Math.max(h,d.y+d.h),o=Math.max(o,d.x+d.w),d.w===_.w&&d.h===_.h){const x=n.pop();f=0&&n>=e&&cc[this.text.charCodeAt(n)];n--)r--;this.text=this.text.substring(e,r),this.sectionIndex=this.sectionIndex.slice(e,r)}substring(e,r){const n=new Wa;return n.text=this.text.substring(e,r),n.sectionIndex=this.sectionIndex.slice(e,r),n.sections=this.sections,n}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((e,r)=>Math.max(e,this.sections[r].scale),0)}addTextSection(e,r){this.text+=e.text,this.sections.push(rl.forText(e.scale,e.fontStack||r));const n=this.sections.length-1;for(let o=0;o=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function lc(i,e,r,n,o,h,d,f,_,x,b,w,k,A,E,L){const O=Wa.fromFeature(i,o);let U;w===T.ah.vertical&&O.verticalizePunctuation();const{processBidirectionalText:re,processStyledBidirectionalText:X}=as;if(re&&O.sections.length===1){U=[];const me=re(O.toString(),_h(O,x,h,e,n,A,E));for(const Re of me){const qe=new Wa;qe.text=Re,qe.sections=O.sections;for(let ze=0;ze0&&Es>or&&(or=Es)}else{const wr=qe[ft.fontStack],lr=wr&&wr[Pi];if(lr&&lr.rect)Xr=lr.rect,Cr=lr.metrics;else{const Es=Re[ft.fontStack],ll=Es&&Es[Pi];if(!ll)continue;Cr=ll.metrics}mi=(yi-ft.scale)*pi}Er?(me.verticalizable=!0,Ai.push({glyph:Pi,imageName:Kr,x:Ct,y:Et+mi,vertical:Er,scale:ft.scale,fontStack:ft.fontStack,sectionIndex:oi,metrics:Cr,rect:Xr}),Ct+=Cs*ft.scale+Ue):(Ai.push({glyph:Pi,imageName:Kr,x:Ct,y:Et+mi,vertical:Er,scale:ft.scale,fontStack:ft.fontStack,sectionIndex:oi,metrics:Cr,rect:Xr}),Ct+=Cr.advance*ft.scale+Ue)}Ai.length!==0&&(ni=Math.max(Ct-Ue,ni),Ef(Ai,0,Ai.length-1,Li,or)),Ct=0;const br=Ve*yi+or;ar.lineOffset=Math.max(or,Ki),Et+=br,vr=Math.max(br,vr),++fi}var vi;const Ri=Et-il,{horizontalAlign:Xi,verticalAlign:Fi}=gh(Ge);(function(ai,yi,Ki,ar,Ai,or,br,Qt,ft){const oi=(yi-Ki)*Ai;let Pi=0;Pi=or!==br?-Qt*ar-il:(-ar*ft+.5)*br;for(const mi of ai)for(const Cr of mi.positionedGlyphs)Cr.x+=oi,Cr.y+=Pi})(me.positionedLines,Li,Xi,Fi,ni,vr,Ve,Ri,Ce.length),me.top+=-Fi*Ri,me.bottom=me.top+Ri,me.left+=-Xi*ni,me.right=me.left+ni}(pe,e,r,n,U,d,f,_,w,x,k,L),!function(me){for(const Re of me)if(Re.positionedGlyphs.length!==0)return!1;return!0}(ee)&&pe}const cc={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Pf={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function Zu(i,e,r,n,o,h){if(e.imageName){const d=n[e.imageName];return d?d.displaySize[0]*e.scale*pi/h+o:0}{const d=r[e.fontStack],f=d&&d[i];return f?f.metrics.advance*e.scale+o:0}}function Gu(i,e,r,n){const o=Math.pow(i-e,2);return n?i=0;let b=0;for(let k=0;kx){const b=Math.ceil(h/x);o*=b/d,d=b}return{x1:n,y1:o,x2:n+h,y2:o+d}}function Ku(i,e,r,n,o,h){const d=i.image;let f;if(d.content){const O=d.content,U=d.pixelRatio||1;f=[O[0]/U,O[1]/U,d.displaySize[0]-O[2]/U,d.displaySize[1]-O[3]/U]}const _=e.left*h,x=e.right*h;let b,w,k,A;r==="width"||r==="both"?(A=o[0]+_-n[3],w=o[0]+x+n[1]):(A=o[0]+(_+x-d.displaySize[0])/2,w=A+d.displaySize[0]);const E=e.top*h,L=e.bottom*h;return r==="height"||r==="both"?(b=o[1]+E-n[0],k=o[1]+L+n[2]):(b=o[1]+(E+L-d.displaySize[1])/2,k=b+d.displaySize[1]),{image:d,top:b,right:w,bottom:k,left:A,collisionPadding:f}}const sl=255,cs=128,hn=sl*cs;function Ju(i,e){const{expression:r}=e;if(r.kind==="constant")return{kind:"constant",layoutSize:r.evaluate(new Lt(i+1))};if(r.kind==="source")return{kind:"source"};{const{zoomStops:n,interpolationType:o}=r;let h=0;for(;hd.id),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=Qc([]),this.placementViewportMatrix=Qc([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Ju(this.zoom,r["text-size"]),this.iconSizeData=Ju(this.zoom,r["icon-size"]);const n=this.layers[0].layout,o=n.get("symbol-sort-key"),h=n.get("symbol-z-order");this.canOverlap=yh(n,"text-overlap","text-allow-overlap")!=="never"||yh(n,"icon-overlap","icon-allow-overlap")!=="never"||n.get("text-ignore-placement")||n.get("icon-ignore-placement"),this.sortFeaturesByKey=h!=="viewport-y"&&!o.isConstant(),this.sortFeaturesByY=(h==="viewport-y"||h==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,n.get("symbol-placement")==="point"&&(this.writingModes=n.get("text-writing-mode").map(d=>T.ah[d])),this.stateDependentLayerIds=this.layers.filter(d=>d.isStateDependent()).map(d=>d.id),this.sourceID=e.sourceID}createArrays(){this.text=new vh(new jn(this.layers,this.zoom,e=>/^text/.test(e))),this.icon=new vh(new jn(this.layers,this.zoom,e=>/^icon/.test(e))),this.glyphOffsetArray=new Vt,this.lineVertexArray=new Wi,this.symbolInstances=new mr,this.textAnchorOffsets=new Si}calculateGlyphDependencies(e,r,n,o,h){for(let d=0;d0)&&(d.value.kind!=="constant"||d.value.value.length>0),b=_.value.kind!=="constant"||!!_.value.value||Object.keys(_.parameters).length>0,w=h.get("symbol-sort-key");if(this.features=[],!x&&!b)return;const k=r.iconDependencies,A=r.glyphDependencies,E=r.availableImages,L=new Lt(this.zoom);for(const{feature:O,id:U,index:re,sourceLayerIndex:X}of e){const ee=o._featureFilter.needGeometry,pe=qn(O,ee);if(!o._featureFilter.filter(L,pe,n))continue;let me,Re;if(ee||(pe.geometry=Un(O)),x){const ze=o.getValueAndResolveTokens("text-field",pe,n,E),Ce=er.factory(ze),Ve=this.hasRTLText=this.hasRTLText||Rf(Ce);(!Ve||as.getRTLTextPluginStatus()==="unavailable"||Ve&&as.isParsed())&&(me=_f(Ce,o,pe))}if(b){const ze=o.getValueAndResolveTokens("icon-image",pe,n,E);Re=ze instanceof cr?ze:cr.fromString(ze)}if(!me&&!Re)continue;const qe=this.sortFeaturesByKey?w.evaluate(pe,{},n):void 0;if(this.features.push({id:U,text:me,icon:Re,index:re,sourceLayerIndex:X,geometry:pe.geometry,properties:O.properties,type:Df[O.type],sortKey:qe}),Re&&(k[Re.name]=!0),me){const ze=d.evaluate(pe,{},n).join(","),Ce=h.get("text-rotation-alignment")!=="viewport"&&h.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(T.ah.vertical)>=0;for(const Ve of me.sections)if(Ve.image)k[Ve.image.name]=!0;else{const Ge=Bo(me.toString()),De=Ve.fontStack||ze,ge=A[De]=A[De]||{};this.calculateGlyphDependencies(Ve.text,ge,Ce,this.allowVerticalPlacement,Ge)}}}h.get("symbol-placement")==="line"&&(this.features=function(O){const U={},re={},X=[];let ee=0;function pe(ze){X.push(O[ze]),ee++}function me(ze,Ce,Ve){const Ge=re[ze];return delete re[ze],re[Ce]=Ge,X[Ge].geometry[0].pop(),X[Ge].geometry[0]=X[Ge].geometry[0].concat(Ve[0]),Ge}function Re(ze,Ce,Ve){const Ge=U[Ce];return delete U[Ce],U[ze]=Ge,X[Ge].geometry[0].shift(),X[Ge].geometry[0]=Ve[0].concat(X[Ge].geometry[0]),Ge}function qe(ze,Ce,Ve){const Ge=Ve?Ce[0][Ce[0].length-1]:Ce[0][0];return`${ze}:${Ge.x}:${Ge.y}`}for(let ze=0;zeze.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((O,U)=>O.sortKey-U.sortKey)}update(e,r,n){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(e,r,this.layers,n),this.icon.programConfigurations.updatePaintArrays(e,r,this.layers,n))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(e){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(e),this.iconCollisionBox.upload(e)),this.text.upload(e,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(e,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(e,r){const n=this.lineVertexArray.length;if(e.segment!==void 0){let o=e.dist(r[e.segment+1]),h=e.dist(r[e.segment]);const d={};for(let f=e.segment+1;f=0;f--)d[f]={x:r[f].x,y:r[f].y,tileUnitDistanceFromAnchor:h},f>0&&(h+=r[f-1].dist(r[f]));for(let f=0;f0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(e,r){const n=e.placedSymbolArray.get(r),o=n.vertexStartIndex+4*n.numGlyphs;for(let h=n.vertexStartIndex;ho[f]-o[_]||h[_]-h[f]),d}addToSortKeyRanges(e,r){const n=this.sortKeyRanges[this.sortKeyRanges.length-1];n&&n.sortKey===r?n.symbolInstanceEnd=e+1:this.sortKeyRanges.push({sortKey:r,symbolInstanceStart:e,symbolInstanceEnd:e+1})}sortFeatures(e){if(this.sortFeaturesByY&&this.sortedAngle!==e&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(e),this.sortedAngle=e,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const r of this.symbolInstanceIndexes){const n=this.symbolInstances.get(r);this.featureSortOrder.push(n.featureIndex),[n.rightJustifiedTextSymbolIndex,n.centerJustifiedTextSymbolIndex,n.leftJustifiedTextSymbolIndex].forEach((o,h,d)=>{o>=0&&d.indexOf(o)===h&&this.addIndicesForPlacedSymbol(this.text,o)}),n.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,n.verticalPlacedTextSymbolIndex),n.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,n.placedIconSymbolIndex),n.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,n.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Yu,Qu;Oe("SymbolBucket",Ha,{omit:["layers","collisionBoxArray","features","compareText"]}),Ha.MAX_GLYPHS=65535,Ha.addDynamicAttributes=xh;var wh={get paint(){return Qu=Qu||new a({"icon-opacity":new Ke(he.paint_symbol["icon-opacity"]),"icon-color":new Ke(he.paint_symbol["icon-color"]),"icon-halo-color":new Ke(he.paint_symbol["icon-halo-color"]),"icon-halo-width":new Ke(he.paint_symbol["icon-halo-width"]),"icon-halo-blur":new Ke(he.paint_symbol["icon-halo-blur"]),"icon-translate":new Ze(he.paint_symbol["icon-translate"]),"icon-translate-anchor":new Ze(he.paint_symbol["icon-translate-anchor"]),"text-opacity":new Ke(he.paint_symbol["text-opacity"]),"text-color":new Ke(he.paint_symbol["text-color"],{runtimeType:Ci,getOverride:i=>i.textColor,hasOverride:i=>!!i.textColor}),"text-halo-color":new Ke(he.paint_symbol["text-halo-color"]),"text-halo-width":new Ke(he.paint_symbol["text-halo-width"]),"text-halo-blur":new Ke(he.paint_symbol["text-halo-blur"]),"text-translate":new Ze(he.paint_symbol["text-translate"]),"text-translate-anchor":new Ze(he.paint_symbol["text-translate-anchor"])})},get layout(){return Yu=Yu||new a({"symbol-placement":new Ze(he.layout_symbol["symbol-placement"]),"symbol-spacing":new Ze(he.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new Ze(he.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new Ke(he.layout_symbol["symbol-sort-key"]),"symbol-z-order":new Ze(he.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new Ze(he.layout_symbol["icon-allow-overlap"]),"icon-overlap":new Ze(he.layout_symbol["icon-overlap"]),"icon-ignore-placement":new Ze(he.layout_symbol["icon-ignore-placement"]),"icon-optional":new Ze(he.layout_symbol["icon-optional"]),"icon-rotation-alignment":new Ze(he.layout_symbol["icon-rotation-alignment"]),"icon-size":new Ke(he.layout_symbol["icon-size"]),"icon-text-fit":new Ze(he.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new Ze(he.layout_symbol["icon-text-fit-padding"]),"icon-image":new Ke(he.layout_symbol["icon-image"]),"icon-rotate":new Ke(he.layout_symbol["icon-rotate"]),"icon-padding":new Ke(he.layout_symbol["icon-padding"]),"icon-keep-upright":new Ze(he.layout_symbol["icon-keep-upright"]),"icon-offset":new Ke(he.layout_symbol["icon-offset"]),"icon-anchor":new Ke(he.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new Ze(he.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new Ze(he.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new Ze(he.layout_symbol["text-rotation-alignment"]),"text-field":new Ke(he.layout_symbol["text-field"]),"text-font":new Ke(he.layout_symbol["text-font"]),"text-size":new Ke(he.layout_symbol["text-size"]),"text-max-width":new Ke(he.layout_symbol["text-max-width"]),"text-line-height":new Ze(he.layout_symbol["text-line-height"]),"text-letter-spacing":new Ke(he.layout_symbol["text-letter-spacing"]),"text-justify":new Ke(he.layout_symbol["text-justify"]),"text-radial-offset":new Ke(he.layout_symbol["text-radial-offset"]),"text-variable-anchor":new Ze(he.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new Ke(he.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new Ke(he.layout_symbol["text-anchor"]),"text-max-angle":new Ze(he.layout_symbol["text-max-angle"]),"text-writing-mode":new Ze(he.layout_symbol["text-writing-mode"]),"text-rotate":new Ke(he.layout_symbol["text-rotate"]),"text-padding":new Ze(he.layout_symbol["text-padding"]),"text-keep-upright":new Ze(he.layout_symbol["text-keep-upright"]),"text-transform":new Ke(he.layout_symbol["text-transform"]),"text-offset":new Ke(he.layout_symbol["text-offset"]),"text-allow-overlap":new Ze(he.layout_symbol["text-allow-overlap"]),"text-overlap":new Ze(he.layout_symbol["text-overlap"]),"text-ignore-placement":new Ze(he.layout_symbol["text-ignore-placement"]),"text-optional":new Ze(he.layout_symbol["text-optional"])})}};class ed{constructor(e){if(e.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=e.property.overrides?e.property.overrides.runtimeType:ms,this.defaultValue=e}evaluate(e){if(e.formattedSection){const r=this.defaultValue.property.overrides;if(r&&r.hasOverride(e.formattedSection))return r.getOverride(e.formattedSection)}return e.feature&&e.featureState?this.defaultValue.evaluate(e.feature,e.featureState):this.defaultValue.property.specification.default}eachChild(e){this.defaultValue.isConstant()||e(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Oe("FormatSectionOverride",ed,{omit:["defaultValue"]});class uc extends u{constructor(e){super(e,wh)}recalculate(e,r){if(super.recalculate(e,r),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout._values["icon-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout._values["text-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){const n=this.layout.get("text-writing-mode");if(n){const o=[];for(const h of n)o.indexOf(h)<0&&o.push(h);this.layout._values["text-writing-mode"]=o}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(e,r,n,o){const h=this.layout.get(e).evaluate(r,{},n,o),d=this._unevaluatedLayout._values[e];return d.isDataDriven()||Ia(d.value)||!h?h:function(f,_){return _.replace(/{([^{}]+)}/g,(x,b)=>f&&b in f?String(f[b]):"")}(r.properties,h)}createBucket(e){return new Ha(e)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const e of wh.paint.overridableProperties){if(!uc.hasPaintOverride(this.layout,e))continue;const r=this.paint.get(e),n=new ed(r),o=new So(n,r.property.specification);let h=null;h=r.value.kind==="constant"||r.value.kind==="source"?new Io("source",o):new To("composite",o,r.value.zoomStops),this.paint._values[e]=new Pr(r.property,h,r.parameters)}}_handleOverridablePaintPropertyUpdate(e,r,n){return!(!this.layout||r.isDataDriven()||n.isDataDriven())&&uc.hasPaintOverride(this.layout,e)}static hasPaintOverride(e,r){const n=e.get("text-field"),o=wh.paint.properties[r];let h=!1;const d=f=>{for(const _ of f)if(o.overrides&&o.overrides.hasOverride(_))return void(h=!0)};if(n.value.kind==="constant"&&n.value.value instanceof er)d(n.value.value.sections);else if(n.value.kind==="source"){const f=x=>{h||(x instanceof _s&&ri(x.value)===jr?d(x.value.sections):x instanceof ua?d(x.sections):x.eachChild(f))},_=n.value;_._styleExpression&&f(_._styleExpression.expression)}return h}}let td;var Ff={get paint(){return td=td||new a({"background-color":new Ze(he.paint_background["background-color"]),"background-pattern":new t(he.paint_background["background-pattern"]),"background-opacity":new Ze(he.paint_background["background-opacity"])})}};class Bf extends u{constructor(e){super(e,Ff)}}let id;var Of={get paint(){return id=id||new a({"raster-opacity":new Ze(he.paint_raster["raster-opacity"]),"raster-hue-rotate":new Ze(he.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new Ze(he.paint_raster["raster-brightness-min"]),"raster-brightness-max":new Ze(he.paint_raster["raster-brightness-max"]),"raster-saturation":new Ze(he.paint_raster["raster-saturation"]),"raster-contrast":new Ze(he.paint_raster["raster-contrast"]),"raster-resampling":new Ze(he.paint_raster["raster-resampling"]),"raster-fade-duration":new Ze(he.paint_raster["raster-fade-duration"])})}};class Vf extends u{constructor(e){super(e,Of)}}class $f extends u{constructor(e){super(e,{}),this.onAdd=r=>{this.implementation.onAdd&&this.implementation.onAdd(r,r.painter.context.gl)},this.onRemove=r=>{this.implementation.onRemove&&this.implementation.onRemove(r,r.painter.context.gl)},this.implementation=e}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Nf{constructor(e){this._methodToThrottle=e,this._triggered=!1,typeof MessageChannel<"u"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Sh=63710088e-1;class un{constructor(e,r){if(isNaN(e)||isNaN(r))throw new Error(`Invalid LngLat object: (${e}, ${r})`);if(this.lng=+e,this.lat=+r,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new un(bt(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(e){const r=Math.PI/180,n=this.lat*r,o=e.lat*r,h=Math.sin(n)*Math.sin(o)+Math.cos(n)*Math.cos(o)*Math.cos((e.lng-this.lng)*r);return Sh*Math.acos(Math.min(h,1))}static convert(e){if(e instanceof un)return e;if(Array.isArray(e)&&(e.length===2||e.length===3))return new un(Number(e[0]),Number(e[1]));if(!Array.isArray(e)&&typeof e=="object"&&e!==null)return new un(Number("lng"in e?e.lng:e.lon),Number(e.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}const rd=2*Math.PI*Sh;function sd(i){return rd*Math.cos(i*Math.PI/180)}function nd(i){return(180+i)/360}function ad(i){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+i*Math.PI/360)))/360}function od(i,e){return i/sd(e)}function Ih(i){return 360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90}class dc{constructor(e,r,n=0){this.x=+e,this.y=+r,this.z=+n}static fromLngLat(e,r=0){const n=un.convert(e);return new dc(nd(n.lng),ad(n.lat),od(r,n.lat))}toLngLat(){return new un(360*this.x-180,Ih(this.y))}toAltitude(){return this.z*sd(Ih(this.y))}meterInMercatorCoordinateUnits(){return 1/rd*(e=Ih(this.y),1/Math.cos(e*Math.PI/180));var e}}function ld(i,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return[i*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class Th{constructor(e,r,n){if(e<0||e>25||n<0||n>=Math.pow(2,e)||r<0||r>=Math.pow(2,e))throw new Error(`x=${r}, y=${n}, z=${e} outside of bounds. 0<=x<${Math.pow(2,e)}, 0<=y<${Math.pow(2,e)} 0<=z<=25 `);this.z=e,this.x=r,this.y=n,this.key=nl(0,e,e,r,n)}equals(e){return this.z===e.z&&this.x===e.x&&this.y===e.y}url(e,r,n){const o=(d=this.y,f=this.z,_=ld(256*(h=this.x),256*(d=Math.pow(2,f)-d-1),f),x=ld(256*(h+1),256*(d+1),f),_[0]+","+_[1]+","+x[0]+","+x[1]);var h,d,f,_,x;const b=function(w,k,A){let E,L="";for(let O=w;O>0;O--)E=1<1?"@2x":"").replace(/{quadkey}/g,b).replace(/{bbox-epsg-3857}/g,o)}isChildOf(e){const r=this.z-e.z;return r>0&&e.x===this.x>>r&&e.y===this.y>>r}getTilePoint(e){const r=Math.pow(2,this.z);return new oe((e.x*r-this.x)*si,(e.y*r-this.y)*si)}toString(){return`${this.z}/${this.x}/${this.y}`}}class cd{constructor(e,r){this.wrap=e,this.canonical=r,this.key=nl(e,r.z,r.z,r.x,r.y)}}class xr{constructor(e,r,n,o,h){if(e= z; overscaledZ = ${e}; z = ${n}`);this.overscaledZ=e,this.wrap=r,this.canonical=new Th(n,+o,+h),this.key=nl(r,e,n,o,h)}clone(){return new xr(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(e){return this.overscaledZ===e.overscaledZ&&this.wrap===e.wrap&&this.canonical.equals(e.canonical)}scaledTo(e){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-e;return e>this.canonical.z?new xr(e,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new xr(e,this.wrap,e,this.canonical.x>>r,this.canonical.y>>r)}calculateScaledKey(e,r){if(e>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${e}; overscaledZ = ${this.overscaledZ}`);const n=this.canonical.z-e;return e>this.canonical.z?nl(this.wrap*+r,e,this.canonical.z,this.canonical.x,this.canonical.y):nl(this.wrap*+r,e,e,this.canonical.x>>n,this.canonical.y>>n)}isChildOf(e){if(e.wrap!==this.wrap)return!1;const r=this.canonical.z-e.canonical.z;return e.overscaledZ===0||e.overscaledZ>r&&e.canonical.y===this.canonical.y>>r}children(e){if(this.overscaledZ>=e)return[new xr(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const r=this.canonical.z+1,n=2*this.canonical.x,o=2*this.canonical.y;return[new xr(r,this.wrap,r,n,o),new xr(r,this.wrap,r,n+1,o),new xr(r,this.wrap,r,n,o+1),new xr(r,this.wrap,r,n+1,o+1)]}isLessThan(e){return this.wrape.wrap)&&(this.overscaledZe.overscaledZ)&&(this.canonical.xe.canonical.x)&&this.canonical.ythis.max&&(this.max=w),w=this.dim+1||r<-1||r>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(r+1)*this.stride+(e+1)}unpack(e,r,n){return e*this.redFactor+r*this.greenFactor+n*this.blueFactor-this.baseShift}getPixels(){return new yr({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(e,r,n){if(this.dim!==e.dim)throw new Error("dem dimension mismatch");let o=r*this.dim,h=r*this.dim+this.dim,d=n*this.dim,f=n*this.dim+this.dim;switch(r){case-1:o=h-1;break;case 1:h=o+1}switch(n){case-1:d=f-1;break;case 1:f=d+1}const _=-r*this.dim,x=-n*this.dim;for(let b=d;b=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${e} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[e]}}class dd{constructor(e,r,n,o,h){this.type="Feature",this._vectorTileFeature=e,e._z=r,e._x=n,e._y=o,this.properties=e.properties,this.id=h}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(e){this._geometry=e}toJSON(){const e={geometry:this.geometry};for(const r in this)r!=="_geometry"&&r!=="_vectorTileFeature"&&(e[r]=this[r]);return e}}class pd{constructor(e,r){this.tileID=e,this.x=e.canonical.x,this.y=e.canonical.y,this.z=e.canonical.z,this.grid=new On(si,16,0),this.grid3D=new On(si,16,0),this.featureIndexArray=new _r,this.promoteId=r}insert(e,r,n,o,h,d){const f=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(n,o,h);const _=d?this.grid3D:this.grid;for(let x=0;x=0&&w[3]>=0&&_.insert(f,w[0],w[1],w[2],w[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ln.VectorTile(new ph(this.rawTileData)).layers,this.sourceLayerCoder=new ud(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(e,r,n,o){this.loadVTLayers();const h=e.params||{},d=si/e.tileSize/e.scale,f=ko(h.filter),_=e.queryGeometry,x=e.queryPadding*d,b=md(_),w=this.grid.query(b.minX-x,b.minY-x,b.maxX+x,b.maxY+x),k=md(e.cameraQueryGeometry),A=this.grid3D.query(k.minX-x,k.minY-x,k.maxX+x,k.maxY+x,(O,U,re,X)=>function(ee,pe,me,Re,qe){for(const Ce of ee)if(pe<=Ce.x&&me<=Ce.y&&Re>=Ce.x&&qe>=Ce.y)return!0;const ze=[new oe(pe,me),new oe(pe,qe),new oe(Re,qe),new oe(Re,me)];if(ee.length>2){for(const Ce of ze)if(Na(ee,Ce))return!0}for(let Ce=0;Ce(X||(X=Un(ee)),pe.queryIntersectsFeature(_,ee,me,X,this.z,e.transform,d,e.pixelPosMatrix)))}return E}loadMatchingFeature(e,r,n,o,h,d,f,_,x,b,w){const k=this.bucketLayerIDs[r];if(d&&!function(O,U){for(let re=0;re=0)return!0;return!1}(d,k))return;const A=this.sourceLayerCoder.decode(n),E=this.vtLayers[A].feature(o);if(h.needGeometry){const O=qn(E,!0);if(!h.filter(new Lt(this.tileID.overscaledZ),O,this.tileID.canonical))return}else if(!h.filter(new Lt(this.tileID.overscaledZ),E))return;const L=this.getId(E,A);for(let O=0;O{const f=e instanceof La?e.get(d):null;return f&&f.evaluate?f.evaluate(r,n,o):f})}function md(i){let e=1/0,r=1/0,n=-1/0,o=-1/0;for(const h of i)e=Math.min(e,h.x),r=Math.min(r,h.y),n=Math.max(n,h.x),o=Math.max(o,h.y);return{minX:e,minY:r,maxX:n,maxY:o}}function jf(i,e){return e-i}function _d(i,e,r,n,o){const h=[];for(let d=0;d=n&&w.x>=n||(b.x>=n?b=new oe(n,b.y+(n-b.x)/(w.x-b.x)*(w.y-b.y))._round():w.x>=n&&(w=new oe(n,b.y+(n-b.x)/(w.x-b.x)*(w.y-b.y))._round()),b.y>=o&&w.y>=o||(b.y>=o?b=new oe(b.x+(o-b.y)/(w.y-b.y)*(w.x-b.x),o)._round():w.y>=o&&(w=new oe(b.x+(o-b.y)/(w.y-b.y)*(w.x-b.x),o)._round()),_&&b.equals(_[_.length-1])||(_=[b],h.push(_)),_.push(w)))))}}return h}Oe("FeatureIndex",pd,{omit:["rawTileData","sourceLayerCoder"]});class dn extends oe{constructor(e,r,n,o){super(e,r),this.angle=n,o!==void 0&&(this.segment=o)}clone(){return new dn(this.x,this.y,this.angle,this.segment)}}function gd(i,e,r,n,o){if(e.segment===void 0||r===0)return!0;let h=e,d=e.segment+1,f=0;for(;f>-r/2;){if(d--,d<0)return!1;f-=i[d].dist(h),h=i[d]}f+=i[d].dist(i[d+1]),d++;const _=[];let x=0;for(;fn;)x-=_.shift().angleDelta;if(x>o)return!1;d++,f+=b.dist(w)}return!0}function yd(i){let e=0;for(let r=0;rx){const E=(x-_)/A,L=zi.number(w.x,k.x,E),O=zi.number(w.y,k.y,E),U=new dn(L,O,k.angleTo(w),b);return U._round(),!d||gd(i,U,f,d,e)?U:void 0}_+=A}}function qf(i,e,r,n,o,h,d,f,_){const x=xd(n,h,d),b=vd(n,o),w=b*d,k=i[0].x===0||i[0].x===_||i[0].y===0||i[0].y===_;return e-w=0&&ee<_&&pe>=0&&pe<_&&k-x>=0&&k+x<=b){const me=new dn(ee,pe,re,E);me._round(),n&&!gd(i,me,h,n,o)||A.push(me)}}w+=U}return f||A.length||d||(A=bd(i,w/2,r,n,o,h,d,!0,_)),A}Oe("Anchor",dn);const Xa=nr;function wd(i,e,r,n){const o=[],h=i.image,d=h.pixelRatio,f=h.paddedRect.w-2*Xa,_=h.paddedRect.h-2*Xa;let x={x1:i.left,y1:i.top,x2:i.right,y2:i.bottom};const b=h.stretchX||[[0,f]],w=h.stretchY||[[0,_]],k=(ge,Ue)=>ge+Ue[1]-Ue[0],A=b.reduce(k,0),E=w.reduce(k,0),L=f-A,O=_-E;let U=0,re=A,X=0,ee=E,pe=0,me=L,Re=0,qe=O;if(h.content&&n){const ge=h.content,Ue=ge[2]-ge[0],$e=ge[3]-ge[1];(h.textFitWidth||h.textFitHeight)&&(x=Xu(i)),U=pc(b,0,ge[0]),X=pc(w,0,ge[1]),re=pc(b,ge[0],ge[2]),ee=pc(w,ge[1],ge[3]),pe=ge[0]-U,Re=ge[1]-X,me=Ue-re,qe=$e-ee}const ze=x.x1,Ce=x.y1,Ve=x.x2-ze,Ge=x.y2-Ce,De=(ge,Ue,$e,at)=>{const Ct=fc(ge.stretch-U,re,Ve,ze),Et=mc(ge.fixed-pe,me,ge.stretch,A),ni=fc(Ue.stretch-X,ee,Ge,Ce),vr=mc(Ue.fixed-Re,qe,Ue.stretch,E),Li=fc($e.stretch-U,re,Ve,ze),fi=mc($e.fixed-pe,me,$e.stretch,A),vi=fc(at.stretch-X,ee,Ge,Ce),Ri=mc(at.fixed-Re,qe,at.stretch,E),Xi=new oe(Ct,ni),Fi=new oe(Li,ni),ai=new oe(Li,vi),yi=new oe(Ct,vi),Ki=new oe(Et/d,vr/d),ar=new oe(fi/d,Ri/d),Ai=e*Math.PI/180;if(Ai){const Qt=Math.sin(Ai),ft=Math.cos(Ai),oi=[ft,-Qt,Qt,ft];Xi._matMult(oi),Fi._matMult(oi),yi._matMult(oi),ai._matMult(oi)}const or=ge.stretch+ge.fixed,br=Ue.stretch+Ue.fixed;return{tl:Xi,tr:Fi,bl:yi,br:ai,tex:{x:h.paddedRect.x+Xa+or,y:h.paddedRect.y+Xa+br,w:$e.stretch+$e.fixed-or,h:at.stretch+at.fixed-br},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:Ki,pixelOffsetBR:ar,minFontScaleX:me/d/Ve,minFontScaleY:qe/d/Ge,isSDF:r}};if(n&&(h.stretchX||h.stretchY)){const ge=Sd(b,L,A),Ue=Sd(w,O,E);for(let $e=0;$e0&&(L=Math.max(10,L),this.circleDiameter=L)}else{const k=!((w=d.image)===null||w===void 0)&&w.content&&(d.image.textFitWidth||d.image.textFitHeight)?Xu(d):{x1:d.left,y1:d.top,x2:d.right,y2:d.bottom};k.y1=k.y1*f-_[0],k.y2=k.y2*f+_[2],k.x1=k.x1*f-_[3],k.x2=k.x2*f+_[1];const A=d.collisionPadding;if(A&&(k.x1-=A[0]*f,k.y1-=A[1]*f,k.x2+=A[2]*f,k.y2+=A[3]*f),b){const E=new oe(k.x1,k.y1),L=new oe(k.x2,k.y1),O=new oe(k.x1,k.y2),U=new oe(k.x2,k.y2),re=b*Math.PI/180;E._rotate(re),L._rotate(re),O._rotate(re),U._rotate(re),k.x1=Math.min(E.x,L.x,O.x,U.x),k.x2=Math.max(E.x,L.x,O.x,U.x),k.y1=Math.min(E.y,L.y,O.y,U.y),k.y2=Math.max(E.y,L.y,O.y,U.y)}e.emplaceBack(r.x,r.y,k.x1,k.y1,k.x2,k.y2,n,o,h)}this.boxEndIndex=e.length}}class Zf{constructor(e=[],r=Gf){if(this.data=e,this.length=this.data.length,this.compare=r,this.length>0)for(let n=(this.length>>1)-1;n>=0;n--)this._down(n)}push(e){this.data.push(e),this.length++,this._up(this.length-1)}pop(){if(this.length===0)return;const e=this.data[0],r=this.data.pop();return this.length--,this.length>0&&(this.data[0]=r,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:r,compare:n}=this,o=r[e];for(;e>0;){const h=e-1>>1,d=r[h];if(n(o,d)>=0)break;r[e]=d,e=h}r[e]=o}_down(e){const{data:r,compare:n}=this,o=this.length>>1,h=r[e];for(;e=0)break;r[e]=f,e=d}r[e]=h}}function Gf(i,e){return ie?1:0}function Wf(i,e=1,r=!1){let n=1/0,o=1/0,h=-1/0,d=-1/0;const f=i[0];for(let A=0;Ah)&&(h=E.x),(!A||E.y>d)&&(d=E.y)}const _=Math.min(h-n,d-o);let x=_/2;const b=new Zf([],Hf);if(_===0)return new oe(n,o);for(let A=n;Aw.d||!w.d)&&(w=A,r&&console.log("found best %d after %d probes",Math.round(1e4*A.d)/1e4,k)),A.max-w.d<=e||(x=A.h/2,b.push(new Ka(A.p.x-x,A.p.y-x,x,i)),b.push(new Ka(A.p.x+x,A.p.y-x,x,i)),b.push(new Ka(A.p.x-x,A.p.y+x,x,i)),b.push(new Ka(A.p.x+x,A.p.y+x,x,i)),k+=4)}return r&&(console.log(`num probes: ${k}`),console.log(`best distance: ${w.d}`)),w.p}function Hf(i,e){return e.max-i.max}function Ka(i,e,r,n){this.p=new oe(i,e),this.h=r,this.d=function(o,h){let d=!1,f=1/0;for(let _=0;_o.y!=E.y>o.y&&o.x<(E.x-A.x)*(o.y-A.y)/(E.y-A.y)+A.x&&(d=!d),f=Math.min(f,au(o,A,E))}}return(d?1:-1)*Math.sqrt(f)}(this.p,n),this.max=this.d+this.h*Math.SQRT2}var Mi;T.aq=void 0,(Mi=T.aq||(T.aq={}))[Mi.center=1]="center",Mi[Mi.left=2]="left",Mi[Mi.right=3]="right",Mi[Mi.top=4]="top",Mi[Mi.bottom=5]="bottom",Mi[Mi["top-left"]=6]="top-left",Mi[Mi["top-right"]=7]="top-right",Mi[Mi["bottom-left"]=8]="bottom-left",Mi[Mi["bottom-right"]=9]="bottom-right";const pn=7,kh=Number.POSITIVE_INFINITY;function Id(i,e){return e[1]!==kh?function(r,n,o){let h=0,d=0;switch(n=Math.abs(n),o=Math.abs(o),r){case"top-right":case"top-left":case"top":d=o-pn;break;case"bottom-right":case"bottom-left":case"bottom":d=-o+pn}switch(r){case"top-right":case"bottom-right":case"right":h=-n;break;case"top-left":case"bottom-left":case"left":h=n}return[h,d]}(i,e[0],e[1]):function(r,n){let o=0,h=0;n<0&&(n=0);const d=n/Math.SQRT2;switch(r){case"top-right":case"top-left":h=d-pn;break;case"bottom-right":case"bottom-left":h=-d+pn;break;case"bottom":h=-n+pn;break;case"top":h=n-pn}switch(r){case"top-right":case"bottom-right":o=-d;break;case"top-left":case"bottom-left":o=d;break;case"left":o=n;break;case"right":o=-n}return[o,h]}(i,e[0])}function Td(i,e,r){var n;const o=i.layout,h=(n=o.get("text-variable-anchor-offset"))===null||n===void 0?void 0:n.evaluate(e,{},r);if(h){const f=h.values,_=[];for(let x=0;xk*pi);b.startsWith("top")?w[1]-=pn:b.startsWith("bottom")&&(w[1]+=pn),_[x+1]=w}return new Zi(_)}const d=o.get("text-variable-anchor");if(d){let f;f=i._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[o.get("text-radial-offset").evaluate(e,{},r)*pi,kh]:o.get("text-offset").evaluate(e,{},r).map(x=>x*pi);const _=[];for(const x of d)_.push(x,Id(x,f));return new Zi(_)}return null}function Mh(i){switch(i){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Xf(i,e,r,n,o,h,d,f,_,x,b){let w=h.textMaxSize.evaluate(e,{});w===void 0&&(w=d);const k=i.layers[0].layout,A=k.get("icon-offset").evaluate(e,{},b),E=Md(r.horizontal),L=d/24,O=i.tilePixelRatio*L,U=i.tilePixelRatio*w/24,re=i.tilePixelRatio*f,X=i.tilePixelRatio*k.get("symbol-spacing"),ee=k.get("text-padding")*i.tilePixelRatio,pe=function(ge,Ue,$e,at=1){const Ct=ge.get("icon-padding").evaluate(Ue,{},$e),Et=Ct&&Ct.values;return[Et[0]*at,Et[1]*at,Et[2]*at,Et[3]*at]}(k,e,b,i.tilePixelRatio),me=k.get("text-max-angle")/180*Math.PI,Re=k.get("text-rotation-alignment")!=="viewport"&&k.get("symbol-placement")!=="point",qe=k.get("icon-rotation-alignment")==="map"&&k.get("symbol-placement")!=="point",ze=k.get("symbol-placement"),Ce=X/2,Ve=k.get("icon-text-fit");let Ge;n&&Ve!=="none"&&(i.allowVerticalPlacement&&r.vertical&&(Ge=Ku(n,r.vertical,Ve,k.get("icon-text-fit-padding"),A,L)),E&&(n=Ku(n,E,Ve,k.get("icon-text-fit-padding"),A,L)));const De=(ge,Ue)=>{Ue.x<0||Ue.x>=si||Ue.y<0||Ue.y>=si||function($e,at,Ct,Et,ni,vr,Li,fi,vi,Ri,Xi,Fi,ai,yi,Ki,ar,Ai,or,br,Qt,ft,oi,Pi,mi,Cr){const Xr=$e.addToLineVertexArray(at,Ct);let Kr,Cs,Er,wr,lr=0,Es=0,ll=0,Ed=0,Rh=-1,Fh=-1;const zs={};let zd=Va("");if($e.allowVerticalPlacement&&Et.vertical){const Bi=fi.layout.get("text-rotate").evaluate(ft,{},mi)+90;Er=new _c(vi,at,Ri,Xi,Fi,Et.vertical,ai,yi,Ki,Bi),Li&&(wr=new _c(vi,at,Ri,Xi,Fi,Li,Ai,or,Ki,Bi))}if(ni){const Bi=fi.layout.get("icon-rotate").evaluate(ft,{}),Sr=fi.layout.get("icon-text-fit")!=="none",Gn=wd(ni,Bi,Pi,Sr),Yr=Li?wd(Li,Bi,Pi,Sr):void 0;Cs=new _c(vi,at,Ri,Xi,Fi,ni,Ai,or,!1,Bi),lr=4*Gn.length;const Wn=$e.iconSizeData;let hs=null;Wn.kind==="source"?(hs=[cs*fi.layout.get("icon-size").evaluate(ft,{})],hs[0]>hn&&Wt(`${$e.layerIds[0]}: Value for "icon-size" is >= ${sl}. Reduce your "icon-size".`)):Wn.kind==="composite"&&(hs=[cs*oi.compositeIconSizes[0].evaluate(ft,{},mi),cs*oi.compositeIconSizes[1].evaluate(ft,{},mi)],(hs[0]>hn||hs[1]>hn)&&Wt(`${$e.layerIds[0]}: Value for "icon-size" is >= ${sl}. Reduce your "icon-size".`)),$e.addSymbols($e.icon,Gn,hs,Qt,br,ft,T.ah.none,at,Xr.lineStartIndex,Xr.lineLength,-1,mi),Rh=$e.icon.placedSymbolArray.length-1,Yr&&(Es=4*Yr.length,$e.addSymbols($e.icon,Yr,hs,Qt,br,ft,T.ah.vertical,at,Xr.lineStartIndex,Xr.lineLength,-1,mi),Fh=$e.icon.placedSymbolArray.length-1)}const Dd=Object.keys(Et.horizontal);for(const Bi of Dd){const Sr=Et.horizontal[Bi];if(!Kr){zd=Va(Sr.text);const Yr=fi.layout.get("text-rotate").evaluate(ft,{},mi);Kr=new _c(vi,at,Ri,Xi,Fi,Sr,ai,yi,Ki,Yr)}const Gn=Sr.positionedLines.length===1;if(ll+=kd($e,at,Sr,vr,fi,Ki,ft,ar,Xr,Et.vertical?T.ah.horizontal:T.ah.horizontalOnly,Gn?Dd:[Bi],zs,Rh,oi,mi),Gn)break}Et.vertical&&(Ed+=kd($e,at,Et.vertical,vr,fi,Ki,ft,ar,Xr,T.ah.vertical,["vertical"],zs,Fh,oi,mi));const Yf=Kr?Kr.boxStartIndex:$e.collisionBoxArray.length,Qf=Kr?Kr.boxEndIndex:$e.collisionBoxArray.length,em=Er?Er.boxStartIndex:$e.collisionBoxArray.length,tm=Er?Er.boxEndIndex:$e.collisionBoxArray.length,im=Cs?Cs.boxStartIndex:$e.collisionBoxArray.length,rm=Cs?Cs.boxEndIndex:$e.collisionBoxArray.length,sm=wr?wr.boxStartIndex:$e.collisionBoxArray.length,nm=wr?wr.boxEndIndex:$e.collisionBoxArray.length;let Jr=-1;const yc=(Bi,Sr)=>Bi&&Bi.circleDiameter?Math.max(Bi.circleDiameter,Sr):Sr;Jr=yc(Kr,Jr),Jr=yc(Er,Jr),Jr=yc(Cs,Jr),Jr=yc(wr,Jr);const Ld=Jr>-1?1:0;Ld&&(Jr*=Cr/pi),$e.glyphOffsetArray.length>=Ha.MAX_GLYPHS&&Wt("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),ft.sortKey!==void 0&&$e.addToSortKeyRanges($e.symbolInstances.length,ft.sortKey);const am=Td(fi,ft,mi),[om,lm]=function(Bi,Sr){const Gn=Bi.length,Yr=Sr==null?void 0:Sr.values;if((Yr==null?void 0:Yr.length)>0)for(let Wn=0;Wn=0?zs.right:-1,zs.center>=0?zs.center:-1,zs.left>=0?zs.left:-1,zs.vertical||-1,Rh,Fh,zd,Yf,Qf,em,tm,im,rm,sm,nm,Ri,ll,Ed,lr,Es,Ld,0,ai,Jr,om,lm)}(i,Ue,ge,r,n,o,Ge,i.layers[0],i.collisionBoxArray,e.index,e.sourceLayerIndex,i.index,O,[ee,ee,ee,ee],Re,_,re,pe,qe,A,e,h,x,b,d)};if(ze==="line")for(const ge of _d(e.geometry,0,0,si,si)){const Ue=qf(ge,X,me,r.vertical||E,n,24,U,i.overscaling,si);for(const $e of Ue)E&&Kf(i,E.text,Ce,$e)||De(ge,$e)}else if(ze==="line-center"){for(const ge of e.geometry)if(ge.length>1){const Ue=Uf(ge,me,r.vertical||E,n,24,U);Ue&&De(ge,Ue)}}else if(e.type==="Polygon")for(const ge of pa(e.geometry,0)){const Ue=Wf(ge,16);De(ge[0],new dn(Ue.x,Ue.y,0))}else if(e.type==="LineString")for(const ge of e.geometry)De(ge,new dn(ge[0].x,ge[0].y,0));else if(e.type==="Point")for(const ge of e.geometry)for(const Ue of ge)De([Ue],new dn(Ue.x,Ue.y,0))}function kd(i,e,r,n,o,h,d,f,_,x,b,w,k,A,E){const L=function(re,X,ee,pe,me,Re,qe,ze){const Ce=pe.layout.get("text-rotate").evaluate(Re,{})*Math.PI/180,Ve=[];for(const Ge of X.positionedLines)for(const De of Ge.positionedGlyphs){if(!De.rect)continue;const ge=De.rect||{};let Ue=ju+1,$e=!0,at=1,Ct=0;const Et=(me||ze)&&De.vertical,ni=De.metrics.advance*De.scale/2;if(ze&&X.verticalizable&&(Ct=Ge.lineOffset/2-(De.imageName?-(pi-De.metrics.width*De.scale)/2:(De.scale-1)*pi)),De.imageName){const Qt=qe[De.imageName];$e=Qt.sdf,at=Qt.pixelRatio,Ue=nr/at}const vr=me?[De.x+ni,De.y]:[0,0];let Li=me?[0,0]:[De.x+ni+ee[0],De.y+ee[1]-Ct],fi=[0,0];Et&&(fi=Li,Li=[0,0]);const vi=De.metrics.isDoubleResolution?2:1,Ri=(De.metrics.left-Ue)*De.scale-ni+Li[0],Xi=(-De.metrics.top-Ue)*De.scale+Li[1],Fi=Ri+ge.w/vi*De.scale/at,ai=Xi+ge.h/vi*De.scale/at,yi=new oe(Ri,Xi),Ki=new oe(Fi,Xi),ar=new oe(Ri,ai),Ai=new oe(Fi,ai);if(Et){const Qt=new oe(-ni,ni-il),ft=-Math.PI/2,oi=pi/2-ni,Pi=new oe(5-il-oi,-(De.imageName?oi:0)),mi=new oe(...fi);yi._rotateAround(ft,Qt)._add(Pi)._add(mi),Ki._rotateAround(ft,Qt)._add(Pi)._add(mi),ar._rotateAround(ft,Qt)._add(Pi)._add(mi),Ai._rotateAround(ft,Qt)._add(Pi)._add(mi)}if(Ce){const Qt=Math.sin(Ce),ft=Math.cos(Ce),oi=[ft,-Qt,Qt,ft];yi._matMult(oi),Ki._matMult(oi),ar._matMult(oi),Ai._matMult(oi)}const or=new oe(0,0),br=new oe(0,0);Ve.push({tl:yi,tr:Ki,bl:ar,br:Ai,tex:ge,writingMode:X.writingMode,glyphOffset:vr,sectionIndex:De.sectionIndex,isSDF:$e,pixelOffsetTL:or,pixelOffsetBR:br,minFontScaleX:0,minFontScaleY:0})}return Ve}(0,r,f,o,h,d,n,i.allowVerticalPlacement),O=i.textSizeData;let U=null;O.kind==="source"?(U=[cs*o.layout.get("text-size").evaluate(d,{})],U[0]>hn&&Wt(`${i.layerIds[0]}: Value for "text-size" is >= ${sl}. Reduce your "text-size".`)):O.kind==="composite"&&(U=[cs*A.compositeTextSizes[0].evaluate(d,{},E),cs*A.compositeTextSizes[1].evaluate(d,{},E)],(U[0]>hn||U[1]>hn)&&Wt(`${i.layerIds[0]}: Value for "text-size" is >= ${sl}. Reduce your "text-size".`)),i.addSymbols(i.text,L,U,f,h,d,x,e,_.lineStartIndex,_.lineLength,k,E);for(const re of b)w[re]=i.text.placedSymbolArray.length-1;return 4*L.length}function Md(i){for(const e in i)return i[e];return null}function Kf(i,e,r,n){const o=i.compareText;if(e in o){const h=o[e];for(let d=h.length-1;d>=0;d--)if(n.dist(h[d])>4;if(o!==1)throw new Error(`Got v${o} data when expected v1.`);const h=Ad[15&n];if(!h)throw new Error("Unrecognized array type.");const[d]=new Uint16Array(e,2,1),[f]=new Uint32Array(e,4,1);return new Ah(f,d,h,e)}constructor(e,r=64,n=Float64Array,o){if(isNaN(e)||e<0)throw new Error(`Unpexpected numItems value: ${e}.`);this.numItems=+e,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=n,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;const h=Ad.indexOf(this.ArrayType),d=2*e*this.ArrayType.BYTES_PER_ELEMENT,f=e*this.IndexArrayType.BYTES_PER_ELEMENT,_=(8-f%8)%8;if(h<0)throw new Error(`Unexpected typed array class: ${n}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+f+_,2*e),this._pos=2*e,this._finished=!0):(this.data=new ArrayBuffer(8+d+f+_),this.ids=new this.IndexArrayType(this.data,8,e),this.coords=new this.ArrayType(this.data,8+f+_,2*e),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+h]),new Uint16Array(this.data,2,1)[0]=r,new Uint32Array(this.data,4,1)[0]=e)}add(e,r){const n=this._pos>>1;return this.ids[n]=n,this.coords[this._pos++]=e,this.coords[this._pos++]=r,n}finish(){const e=this._pos>>1;if(e!==this.numItems)throw new Error(`Added ${e} items when expected ${this.numItems}.`);return Ph(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,r,n,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:h,coords:d,nodeSize:f}=this,_=[0,h.length-1,0],x=[];for(;_.length;){const b=_.pop()||0,w=_.pop()||0,k=_.pop()||0;if(w-k<=f){for(let O=k;O<=w;O++){const U=d[2*O],re=d[2*O+1];U>=e&&U<=n&&re>=r&&re<=o&&x.push(h[O])}continue}const A=k+w>>1,E=d[2*A],L=d[2*A+1];E>=e&&E<=n&&L>=r&&L<=o&&x.push(h[A]),(b===0?e<=E:r<=L)&&(_.push(k),_.push(A-1),_.push(1-b)),(b===0?n>=E:o>=L)&&(_.push(A+1),_.push(w),_.push(1-b))}return x}within(e,r,n){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:o,coords:h,nodeSize:d}=this,f=[0,o.length-1,0],_=[],x=n*n;for(;f.length;){const b=f.pop()||0,w=f.pop()||0,k=f.pop()||0;if(w-k<=d){for(let O=k;O<=w;O++)Cd(h[2*O],h[2*O+1],e,r)<=x&&_.push(o[O]);continue}const A=k+w>>1,E=h[2*A],L=h[2*A+1];Cd(E,L,e,r)<=x&&_.push(o[A]),(b===0?e-n<=E:r-n<=L)&&(f.push(k),f.push(A-1),f.push(1-b)),(b===0?e+n>=E:r+n>=L)&&(f.push(A+1),f.push(w),f.push(1-b))}return _}}function Ph(i,e,r,n,o,h){if(o-n<=r)return;const d=n+o>>1;Pd(i,e,d,n,o,h),Ph(i,e,r,n,d-1,1-h),Ph(i,e,r,d+1,o,1-h)}function Pd(i,e,r,n,o,h){for(;o>n;){if(o-n>600){const x=o-n+1,b=r-n+1,w=Math.log(x),k=.5*Math.exp(2*w/3),A=.5*Math.sqrt(w*k*(x-k)/x)*(b-x/2<0?-1:1);Pd(i,e,r,Math.max(n,Math.floor(r-b*k/x+A)),Math.min(o,Math.floor(r+(x-b)*k/x+A)),h)}const d=e[2*r+h];let f=n,_=o;for(al(i,e,n,r),e[2*o+h]>d&&al(i,e,n,o);f<_;){for(al(i,e,f,_),f++,_--;e[2*f+h]d;)_--}e[2*n+h]===d?al(i,e,n,_):(_++,al(i,e,_,o)),_<=r&&(n=_+1),r<=_&&(o=_-1)}}function al(i,e,r,n){Ch(i,r,n),Ch(e,2*r,2*n),Ch(e,2*r+1,2*n+1)}function Ch(i,e,r){const n=i[e];i[e]=i[r],i[r]=n}function Cd(i,e,r,n){const o=i-r,h=e-n;return o*o+h*h}var Eh;T.be=void 0,(Eh=T.be||(T.be={})).create="create",Eh.load="load",Eh.fullLoad="fullLoad";let gc=null,ol=[];const zh=1e3/60,Dh="loadTime",Lh="fullLoadTime",Jf={mark(i){performance.mark(i)},frame(i){const e=i;gc!=null&&ol.push(e-gc),gc=e},clearMetrics(){gc=null,ol=[],performance.clearMeasures(Dh),performance.clearMeasures(Lh);for(const i in T.be)performance.clearMarks(T.be[i])},getPerformanceMetrics(){performance.measure(Dh,T.be.create,T.be.load),performance.measure(Lh,T.be.create,T.be.fullLoad);const i=performance.getEntriesByName(Dh)[0].duration,e=performance.getEntriesByName(Lh)[0].duration,r=ol.length,n=1/(ol.reduce((h,d)=>h+d,0)/r/1e3),o=ol.filter(h=>h>zh).reduce((h,d)=>h+(d-zh)/zh,0);return{loadTime:i,fullLoadTime:e,fps:n,percentDroppedFrames:o/(r+o)*100,totalFrames:r}}};T.$=di,T.A=ja,T.B=function(i){if(Lr==null){const e=i.navigator?i.navigator.userAgent:null;Lr=!!i.safari||!(!e||!(/\b(iPad|iPhone|iPod)\b/.test(e)||e.match("Safari")&&!e.match("Chrome")))}return Lr},T.C=class{constructor(i,e){this.target=i,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Nf(()=>this.process()),this.subscription=function(r,n,o,h){return r.addEventListener(n,o,!1),{unsubscribe:()=>{r.removeEventListener(n,o,!1)}}}(this.target,"message",r=>this.receive(r)),this.globalScope=Vi(self)?i:window}registerMessageHandler(i,e){this.messageHandlers[i]=e}sendAsync(i,e){return new Promise((r,n)=>{const o=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[o]={resolve:r,reject:n},e&&e.signal.addEventListener("abort",()=>{delete this.resolveRejects[o];const f={id:o,type:"",origin:location.origin,targetMapId:i.targetMapId,sourceMapId:this.mapId};this.target.postMessage(f)},{once:!0});const h=[],d=Object.assign(Object.assign({},i),{id:o,sourceMapId:this.mapId,origin:location.origin,data:Vn(i.data,h)});this.target.postMessage(d,{transfer:h})})}receive(i){const e=i.data,r=e.id;if(!(e.origin!=="file://"&&location.origin!=="file://"&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(e.type===""){delete this.tasks[r];const n=this.abortControllers[r];return delete this.abortControllers[r],void(n&&n.abort())}if(Vi(self)||e.mustQueue)return this.tasks[r]=e,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,e)}}process(){if(this.taskQueue.length===0)return;const i=this.taskQueue.shift(),e=this.tasks[i];delete this.tasks[i],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(i,e)}processTask(i,e){return p(this,void 0,void 0,function*(){if(e.type===""){const o=this.resolveRejects[i];return delete this.resolveRejects[i],o?void(e.error?o.reject(Ar(e.error)):o.resolve(Ar(e.data))):void 0}if(!this.messageHandlers[e.type])return void this.completeTask(i,new Error(`Could not find a registered handler for ${e.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const r=Ar(e.data),n=new AbortController;this.abortControllers[i]=n;try{const o=yield this.messageHandlers[e.type](e.sourceMapId,r,n);this.completeTask(i,null,o)}catch(o){this.completeTask(i,o)}})}completeTask(i,e,r){const n=[];delete this.abortControllers[i];const o={id:i,type:"",sourceMapId:this.mapId,origin:location.origin,error:e?Vn(e):null,data:Vn(r,n)};this.target.postMessage(o,{transfer:n})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},T.D=Ze,T.E=Os,T.F=function(){var i=new ja(16);return ja!=Float32Array&&(i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[11]=0,i[12]=0,i[13]=0,i[14]=0),i[0]=1,i[5]=1,i[10]=1,i[15]=1,i},T.G=Br,T.H=function(i,e,r){var n,o,h,d,f,_,x,b,w,k,A,E,L=r[0],O=r[1],U=r[2];return e===i?(i[12]=e[0]*L+e[4]*O+e[8]*U+e[12],i[13]=e[1]*L+e[5]*O+e[9]*U+e[13],i[14]=e[2]*L+e[6]*O+e[10]*U+e[14],i[15]=e[3]*L+e[7]*O+e[11]*U+e[15]):(o=e[1],h=e[2],d=e[3],f=e[4],_=e[5],x=e[6],b=e[7],w=e[8],k=e[9],A=e[10],E=e[11],i[0]=n=e[0],i[1]=o,i[2]=h,i[3]=d,i[4]=f,i[5]=_,i[6]=x,i[7]=b,i[8]=w,i[9]=k,i[10]=A,i[11]=E,i[12]=n*L+f*O+w*U+e[12],i[13]=o*L+_*O+k*U+e[13],i[14]=h*L+x*O+A*U+e[14],i[15]=d*L+b*O+E*U+e[15]),i},T.I=mh,T.J=function(i,e,r){var n=r[0],o=r[1],h=r[2];return i[0]=e[0]*n,i[1]=e[1]*n,i[2]=e[2]*n,i[3]=e[3]*n,i[4]=e[4]*o,i[5]=e[5]*o,i[6]=e[6]*o,i[7]=e[7]*o,i[8]=e[8]*h,i[9]=e[9]*h,i[10]=e[10]*h,i[11]=e[11]*h,i[12]=e[12],i[13]=e[13],i[14]=e[14],i[15]=e[15],i},T.K=hu,T.L=function(i,e){const r={};for(let n=0;n{const e=window.document.createElement("video");return e.muted=!0,new Promise(r=>{e.onloadstart=()=>{r(e)};for(const n of i){const o=window.document.createElement("source");Bs(n)||(e.crossOrigin="Anonymous"),o.src=n,e.appendChild(o)}})},T.a3=function(){return Qe++},T.a4=ht,T.a5=Ha,T.a6=ko,T.a7=qn,T.a8=Lt,T.a9=dd,T.aA=function(i){if(i.type==="custom")return new $f(i);switch(i.type){case"background":return new Bf(i);case"circle":return new Ip(i);case"fill":return new Np(i);case"fill-extrusion":return new rf(i);case"heatmap":return new kp(i);case"hillshade":return new Ap(i);case"line":return new uf(i);case"raster":return new Vf(i);case"symbol":return new uc(i)}},T.aB=mt,T.aC=function(i,e){if(!i)return[{command:"setStyle",args:[e]}];let r=[];try{if(!Tt(i.version,e.version))return[{command:"setStyle",args:[e]}];Tt(i.center,e.center)||r.push({command:"setCenter",args:[e.center]}),Tt(i.zoom,e.zoom)||r.push({command:"setZoom",args:[e.zoom]}),Tt(i.bearing,e.bearing)||r.push({command:"setBearing",args:[e.bearing]}),Tt(i.pitch,e.pitch)||r.push({command:"setPitch",args:[e.pitch]}),Tt(i.sprite,e.sprite)||r.push({command:"setSprite",args:[e.sprite]}),Tt(i.glyphs,e.glyphs)||r.push({command:"setGlyphs",args:[e.glyphs]}),Tt(i.transition,e.transition)||r.push({command:"setTransition",args:[e.transition]}),Tt(i.light,e.light)||r.push({command:"setLight",args:[e.light]}),Tt(i.terrain,e.terrain)||r.push({command:"setTerrain",args:[e.terrain]}),Tt(i.sky,e.sky)||r.push({command:"setSky",args:[e.sky]});const n={},o=[];(function(d,f,_,x){let b;for(b in f=f||{},d=d||{})Object.prototype.hasOwnProperty.call(d,b)&&(Object.prototype.hasOwnProperty.call(f,b)||Vs(b,_,x));for(b in f)Object.prototype.hasOwnProperty.call(f,b)&&(Object.prototype.hasOwnProperty.call(d,b)?Tt(d[b],f[b])||(d[b].type==="geojson"&&f[b].type==="geojson"&&$s(d,f,b)?$t(_,{command:"setGeoJSONSourceData",args:[b,f[b].data]}):vn(b,f,_,x)):Vr(b,f,_))})(i.sources,e.sources,o,n);const h=[];i.layers&&i.layers.forEach(d=>{"source"in d&&n[d.source]?r.push({command:"removeLayer",args:[d.id]}):h.push(d)}),r=r.concat(o),function(d,f,_){f=f||[];const x=(d=d||[]).map(Ns),b=f.map(Ns),w=d.reduce(ia,{}),k=f.reduce(ia,{}),A=x.slice(),E=Object.create(null);let L,O,U,re,X;for(let ee=0,pe=0;ee@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(r,n,o,h)=>{const d=o||h;return e[n]=!d||d.toLowerCase(),""}),e["max-age"]){const r=parseInt(e["max-age"],10);isNaN(r)?delete e["max-age"]:e["max-age"]=r}return e},T.ab=function(i,e){const r=[];for(const n in i)n in e||r.push(n);return r},T.ac=ci,T.ad=function(i,e,r){var n=Math.sin(r),o=Math.cos(r),h=e[0],d=e[1],f=e[2],_=e[3],x=e[4],b=e[5],w=e[6],k=e[7];return e!==i&&(i[8]=e[8],i[9]=e[9],i[10]=e[10],i[11]=e[11],i[12]=e[12],i[13]=e[13],i[14]=e[14],i[15]=e[15]),i[0]=h*o+x*n,i[1]=d*o+b*n,i[2]=f*o+w*n,i[3]=_*o+k*n,i[4]=x*o-h*n,i[5]=b*o-d*n,i[6]=w*o-f*n,i[7]=k*o-_*n,i},T.ae=function(i){var e=new ja(16);return e[0]=i[0],e[1]=i[1],e[2]=i[2],e[3]=i[3],e[4]=i[4],e[5]=i[5],e[6]=i[6],e[7]=i[7],e[8]=i[8],e[9]=i[9],e[10]=i[10],e[11]=i[11],e[12]=i[12],e[13]=i[13],e[14]=i[14],e[15]=i[15],e},T.af=tc,T.ag=function(i,e){let r=0,n=0;if(i.kind==="constant")n=i.layoutSize;else if(i.kind!=="source"){const{interpolationType:o,minZoom:h,maxZoom:d}=i,f=o?ci(tr.interpolationFactor(o,e,h,d),0,1):0;i.kind==="camera"?n=zi.number(i.minSize,i.maxSize,f):r=f}return{uSizeT:r,uSize:n}},T.ai=function(i,{uSize:e,uSizeT:r},{lowerSize:n,upperSize:o}){return i.kind==="source"?n/cs:i.kind==="composite"?zi.number(n/cs,o/cs,r):e},T.aj=xh,T.ak=function(i,e,r,n){const o=e.y-i.y,h=e.x-i.x,d=n.y-r.y,f=n.x-r.x,_=d*h-f*o;if(_===0)return null;const x=(f*(i.y-r.y)-d*(i.x-r.x))/_;return new oe(i.x+x*h,i.y+x*o)},T.al=_d,T.am=su,T.an=Qc,T.ao=function(i){let e=1/0,r=1/0,n=-1/0,o=-1/0;for(const h of i)e=Math.min(e,h.x),r=Math.min(r,h.y),n=Math.max(n,h.x),o=Math.max(o,h.y);return[e,r,n,o]},T.ap=pi,T.ar=yh,T.as=function(i,e){var r=e[0],n=e[1],o=e[2],h=e[3],d=e[4],f=e[5],_=e[6],x=e[7],b=e[8],w=e[9],k=e[10],A=e[11],E=e[12],L=e[13],O=e[14],U=e[15],re=r*f-n*d,X=r*_-o*d,ee=r*x-h*d,pe=n*_-o*f,me=n*x-h*f,Re=o*x-h*_,qe=b*L-w*E,ze=b*O-k*E,Ce=b*U-A*E,Ve=w*O-k*L,Ge=w*U-A*L,De=k*U-A*O,ge=re*De-X*Ge+ee*Ve+pe*Ce-me*ze+Re*qe;return ge?(i[0]=(f*De-_*Ge+x*Ve)*(ge=1/ge),i[1]=(o*Ge-n*De-h*Ve)*ge,i[2]=(L*Re-O*me+U*pe)*ge,i[3]=(k*me-w*Re-A*pe)*ge,i[4]=(_*Ce-d*De-x*ze)*ge,i[5]=(r*De-o*Ce+h*ze)*ge,i[6]=(O*ee-E*Re-U*X)*ge,i[7]=(b*Re-k*ee+A*X)*ge,i[8]=(d*Ge-f*Ce+x*qe)*ge,i[9]=(n*Ce-r*Ge-h*qe)*ge,i[10]=(E*me-L*ee+U*re)*ge,i[11]=(w*ee-b*me-A*re)*ge,i[12]=(f*ze-d*Ve-_*qe)*ge,i[13]=(r*Ve-n*ze+o*qe)*ge,i[14]=(L*X-E*pe-O*re)*ge,i[15]=(b*pe-w*X+k*re)*ge,i):null},T.at=Mh,T.au=gh,T.av=Ah,T.aw=function(){const i={},e=he.$version;for(const r in he.$root){const n=he.$root[r];if(n.required){let o=null;o=r==="version"?e:n.type==="array"?[]:{},o!=null&&(i[r]=o)}}return i},T.ax=Ul,T.ay=Or,T.az=function(i){i=i.slice();const e=Object.create(null);for(let r=0;rge*pi)}let ze=d?"center":r.get("text-justify").evaluate(x,{},i.canonical);const Ce=r.get("symbol-placement"),Ve=Ce==="point"?r.get("text-max-width").evaluate(x,{},i.canonical)*pi:0,Ge=()=>{i.bucket.allowVerticalPlacement&&Bo(ee)&&(E.vertical=lc(L,i.glyphMap,i.glyphPositions,i.imagePositions,b,Ve,h,Re,"left",me,U,T.ah.vertical,!0,Ce,k,w))};if(!d&&qe){const De=new Set;if(ze==="auto")for(let Ue=0;Uep(void 0,void 0,void 0,function*(){if(i.byteLength===0)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(i)],{type:"image/png"});try{return createImageBitmap(e)}catch(r){throw new Error(`Could not load image because of ${r.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),T.e=Ie,T.f=i=>new Promise((e,r)=>{const n=new Image;n.onload=()=>{e(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame(()=>{n.src=ea})},n.onerror=()=>r(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const o=new Blob([new Uint8Array(i)],{type:"image/png"});n.src=i.byteLength?URL.createObjectURL(o):ea}),T.g=Fr,T.h=(i,e)=>Fs(Ie(i,{type:"json"}),e),T.i=Vi,T.j=ti,T.k=es,T.l=(i,e)=>Fs(Ie(i,{type:"arrayBuffer"}),e),T.m=Fs,T.n=function(i){return new ph(i).readFields(kf,[])},T.o=Xo,T.p=Uu,T.q=a,T.r=Zc,T.s=Bs,T.t=Fo,T.u=Le,T.v=he,T.w=Wt,T.x=Bn,T.y=function([i,e,r]){return e+=90,e*=Math.PI/180,r*=Math.PI/180,{x:i*Math.cos(e)*Math.sin(r),y:i*Math.sin(e)*Math.sin(r),z:i*Math.cos(r)}},T.z=zi}),te("worker",["./shared"],function(T){class p{constructor(M){this.keyCache={},M&&this.replace(M)}replace(M){this._layerConfigs={},this._layers={},this.update(M,[])}update(M,P){for(const N of M){this._layerConfigs[N.id]=N;const K=this._layers[N.id]=T.aA(N);K._featureFilter=T.a6(K.filter),this.keyCache[N.id]&&delete this.keyCache[N.id]}for(const N of P)delete this.keyCache[N],delete this._layerConfigs[N],delete this._layers[N];this.familiesBySource={};const z=T.bi(Object.values(this._layerConfigs),this.keyCache);for(const N of z){const K=N.map(de=>this._layers[de.id]),Y=K[0];if(Y.visibility==="none")continue;const ie=Y.source||"";let H=this.familiesBySource[ie];H||(H=this.familiesBySource[ie]={});const ae=Y.sourceLayer||"_geojsonTileLayer";let ye=H[ae];ye||(ye=H[ae]=[]),ye.push(K)}}}class _e{constructor(M){const P={},z=[];for(const ie in M){const H=M[ie],ae=P[ie]={};for(const ye in H){const de=H[+ye];if(!de||de.bitmap.width===0||de.bitmap.height===0)continue;const ue={x:0,y:0,w:de.bitmap.width+2,h:de.bitmap.height+2};z.push(ue),ae[ye]={rect:ue,metrics:de.metrics}}}const{w:N,h:K}=T.p(z),Y=new T.o({width:N||1,height:K||1});for(const ie in M){const H=M[ie];for(const ae in H){const ye=H[+ae];if(!ye||ye.bitmap.width===0||ye.bitmap.height===0)continue;const de=P[ie][ae].rect;T.o.copy(ye.bitmap,Y,{x:0,y:0},{x:de.x+1,y:de.y+1},ye.bitmap)}}this.image=Y,this.positions=P}}T.bj("GlyphAtlas",_e);class ve{constructor(M){this.tileID=new T.Q(M.tileID.overscaledZ,M.tileID.wrap,M.tileID.canonical.z,M.tileID.canonical.x,M.tileID.canonical.y),this.uid=M.uid,this.zoom=M.zoom,this.pixelRatio=M.pixelRatio,this.tileSize=M.tileSize,this.source=M.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=M.showCollisionBoxes,this.collectResourceTiming=!!M.collectResourceTiming,this.returnDependencies=!!M.returnDependencies,this.promoteId=M.promoteId,this.inFlightDependencies=[]}parse(M,P,z,N){return T._(this,void 0,void 0,function*(){this.status="parsing",this.data=M,this.collisionBoxArray=new T.a4;const K=new T.bk(Object.keys(M.layers).sort()),Y=new T.bl(this.tileID,this.promoteId);Y.bucketLayerIDs=[];const ie={},H={featureIndex:Y,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:z},ae=P.familiesBySource[this.source];for(const lt in ae){const jt=M.layers[lt];if(!jt)continue;jt.version===1&&T.w(`Vector tile source "${this.source}" layer "${lt}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const hi=K.encode(lt),Ui=[];for(let Qi=0;Qi=ui.maxzoom||ui.visibility!=="none"&&(xe(Qi,this.zoom,z),(ie[ui.id]=ui.createBucket({index:Y.bucketLayerIDs.length,layers:Qi,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:hi,sourceID:this.source})).populate(Ui,H,this.tileID.canonical),Y.bucketLayerIDs.push(Qi.map(Us=>Us.id)))}}const ye=T.aF(H.glyphDependencies,lt=>Object.keys(lt).map(Number));this.inFlightDependencies.forEach(lt=>lt==null?void 0:lt.abort()),this.inFlightDependencies=[];let de=Promise.resolve({});if(Object.keys(ye).length){const lt=new AbortController;this.inFlightDependencies.push(lt),de=N.sendAsync({type:"GG",data:{stacks:ye,source:this.source,tileID:this.tileID,type:"glyphs"}},lt)}const ue=Object.keys(H.iconDependencies);let He=Promise.resolve({});if(ue.length){const lt=new AbortController;this.inFlightDependencies.push(lt),He=N.sendAsync({type:"GI",data:{icons:ue,source:this.source,tileID:this.tileID,type:"icons"}},lt)}const We=Object.keys(H.patternDependencies);let _t=Promise.resolve({});if(We.length){const lt=new AbortController;this.inFlightDependencies.push(lt),_t=N.sendAsync({type:"GI",data:{icons:We,source:this.source,tileID:this.tileID,type:"patterns"}},lt)}const[et,vt,At]=yield Promise.all([de,He,_t]),Ft=new _e(et),ii=new T.bm(vt,At);for(const lt in ie){const jt=ie[lt];jt instanceof T.a5?(xe(jt.layers,this.zoom,z),T.bn({bucket:jt,glyphMap:et,glyphPositions:Ft.positions,imageMap:vt,imagePositions:ii.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):jt.hasPattern&&(jt instanceof T.bo||jt instanceof T.bp||jt instanceof T.bq)&&(xe(jt.layers,this.zoom,z),jt.addFeatures(H,this.tileID.canonical,ii.patternPositions))}return this.status="done",{buckets:Object.values(ie).filter(lt=>!lt.isEmpty()),featureIndex:Y,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Ft.image,imageAtlas:ii,glyphMap:this.returnDependencies?et:null,iconMap:this.returnDependencies?vt:null,glyphPositions:this.returnDependencies?Ft.positions:null}})}}function xe(V,M,P){const z=new T.a8(M);for(const N of V)N.recalculate(z,P)}class oe{constructor(M,P,z){this.actor=M,this.layerIndex=P,this.availableImages=z,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(M,P){return T._(this,void 0,void 0,function*(){const z=yield T.l(M.request,P);try{return{vectorTile:new T.br.VectorTile(new T.bs(z.data)),rawData:z.data,cacheControl:z.cacheControl,expires:z.expires}}catch(N){const K=new Uint8Array(z.data);let Y=`Unable to parse the tile at ${M.request.url}, `;throw Y+=K[0]===31&&K[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${N.messge}`,new Error(Y)}})}loadTile(M){return T._(this,void 0,void 0,function*(){const P=M.uid,z=!!(M&&M.request&&M.request.collectResourceTiming)&&new T.bt(M.request),N=new ve(M);this.loading[P]=N;const K=new AbortController;N.abort=K;try{const Y=yield this.loadVectorTile(M,K);if(delete this.loading[P],!Y)return null;const ie=Y.rawData,H={};Y.expires&&(H.expires=Y.expires),Y.cacheControl&&(H.cacheControl=Y.cacheControl);const ae={};if(z){const de=z.finish();de&&(ae.resourceTiming=JSON.parse(JSON.stringify(de)))}N.vectorTile=Y.vectorTile;const ye=N.parse(Y.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[P]=N,this.fetching[P]={rawTileData:ie,cacheControl:H,resourceTiming:ae};try{const de=yield ye;return T.e({rawTileData:ie.slice(0)},de,H,ae)}finally{delete this.fetching[P]}}catch(Y){throw delete this.loading[P],N.status="done",this.loaded[P]=N,Y}})}reloadTile(M){return T._(this,void 0,void 0,function*(){const P=M.uid;if(!this.loaded||!this.loaded[P])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");const z=this.loaded[P];if(z.showCollisionBoxes=M.showCollisionBoxes,z.status==="parsing"){const N=yield z.parse(z.vectorTile,this.layerIndex,this.availableImages,this.actor);let K;if(this.fetching[P]){const{rawTileData:Y,cacheControl:ie,resourceTiming:H}=this.fetching[P];delete this.fetching[P],K=T.e({rawTileData:Y.slice(0)},N,ie,H)}else K=N;return K}if(z.status==="done"&&z.vectorTile)return z.parse(z.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(M){return T._(this,void 0,void 0,function*(){const P=this.loading,z=M.uid;P&&P[z]&&P[z].abort&&(P[z].abort.abort(),delete P[z])})}removeTile(M){return T._(this,void 0,void 0,function*(){this.loaded&&this.loaded[M.uid]&&delete this.loaded[M.uid]})}}class W{constructor(){this.loaded={}}loadTile(M){return T._(this,void 0,void 0,function*(){const{uid:P,encoding:z,rawImageData:N,redFactor:K,greenFactor:Y,blueFactor:ie,baseShift:H}=M,ae=N.width+2,ye=N.height+2,de=T.b(N)?new T.R({width:ae,height:ye},yield T.bu(N,-1,-1,ae,ye)):N,ue=new T.bv(P,de,z,K,Y,ie,H);return this.loaded=this.loaded||{},this.loaded[P]=ue,ue})}removeTile(M){const P=this.loaded,z=M.uid;P&&P[z]&&delete P[z]}}function ke(V,M){if(V.length!==0){Xe(V[0],M);for(var P=1;P=Math.abs(ie)?P-H+ie:ie-H+P,P=H}P+z>=0!=!!M&&V.reverse()}var Ye=T.bw(function V(M,P){var z,N=M&&M.type;if(N==="FeatureCollection")for(z=0;z>31}function Vi(V,M){for(var P=V.loadGeometry(),z=V.type,N=0,K=0,Y=P.length,ie=0;ieV},fs=Math.fround||(Rr=new Float32Array(1),V=>(Rr[0]=+V,Rr[0]));var Rr;const $i=3,Yi=5,dr=6;class Rs{constructor(M){this.options=Object.assign(Object.create(ea),M),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(M){const{log:P,minZoom:z,maxZoom:N}=this.options;P&&console.time("total time");const K=`prepare ${M.length} points`;P&&console.time(K),this.points=M;const Y=[];for(let H=0;H=z;H--){const ae=+Date.now();ie=this.trees[H]=this._createTree(this._cluster(ie,H)),P&&console.log("z%d: %d clusters in %dms",H,ie.numItems,+Date.now()-ae)}return P&&console.timeEnd("total time"),this}getClusters(M,P){let z=((M[0]+180)%360+360)%360-180;const N=Math.max(-90,Math.min(90,M[1]));let K=M[2]===180?180:((M[2]+180)%360+360)%360-180;const Y=Math.max(-90,Math.min(90,M[3]));if(M[2]-M[0]>=360)z=-180,K=180;else if(z>K){const de=this.getClusters([z,N,180,Y],P),ue=this.getClusters([-180,N,K,Y],P);return de.concat(ue)}const ie=this.trees[this._limitZoom(P)],H=ie.range(pr(z),Or(Y),pr(K),Or(N)),ae=ie.data,ye=[];for(const de of H){const ue=this.stride*de;ye.push(ae[ue+Yi]>1?Fr(ae,ue,this.clusterProps):this.points[ae[ue+$i]])}return ye}getChildren(M){const P=this._getOriginId(M),z=this._getOriginZoom(M),N="No cluster with the specified id.",K=this.trees[z];if(!K)throw new Error(N);const Y=K.data;if(P*this.stride>=Y.length)throw new Error(N);const ie=this.options.radius/(this.options.extent*Math.pow(2,z-1)),H=K.within(Y[P*this.stride],Y[P*this.stride+1],ie),ae=[];for(const ye of H){const de=ye*this.stride;Y[de+4]===M&&ae.push(Y[de+Yi]>1?Fr(Y,de,this.clusterProps):this.points[Y[de+$i]])}if(ae.length===0)throw new Error(N);return ae}getLeaves(M,P,z){const N=[];return this._appendLeaves(N,M,P=P||10,z=z||0,0),N}getTile(M,P,z){const N=this.trees[this._limitZoom(M)],K=Math.pow(2,M),{extent:Y,radius:ie}=this.options,H=ie/Y,ae=(z-H)/K,ye=(z+1+H)/K,de={features:[]};return this._addTileFeatures(N.range((P-H)/K,ae,(P+1+H)/K,ye),N.data,P,z,K,de),P===0&&this._addTileFeatures(N.range(1-H/K,ae,1,ye),N.data,K,z,K,de),P===K-1&&this._addTileFeatures(N.range(0,ae,H/K,ye),N.data,-1,z,K,de),de.features.length?de:null}getClusterExpansionZoom(M){let P=this._getOriginZoom(M)-1;for(;P<=this.options.maxZoom;){const z=this.getChildren(M);if(P++,z.length!==1)break;M=z[0].properties.cluster_id}return P}_appendLeaves(M,P,z,N,K){const Y=this.getChildren(P);for(const ie of Y){const H=ie.properties;if(H&&H.cluster?K+H.point_count<=N?K+=H.point_count:K=this._appendLeaves(M,H.cluster_id,z,N,K):K1;let ye,de,ue;if(ae)ye=Br(P,H,this.clusterProps),de=P[H],ue=P[H+1];else{const _t=this.points[P[H+$i]];ye=_t.properties;const[et,vt]=_t.geometry.coordinates;de=pr(et),ue=Or(vt)}const He={type:1,geometry:[[Math.round(this.options.extent*(de*K-z)),Math.round(this.options.extent*(ue*K-N))]],tags:ye};let We;We=ae||this.options.generateId?P[H+$i]:this.points[P[H+$i]].id,We!==void 0&&(He.id=We),Y.features.push(He)}}_limitZoom(M){return Math.max(this.options.minZoom,Math.min(Math.floor(+M),this.options.maxZoom+1))}_cluster(M,P){const{radius:z,extent:N,reduce:K,minPoints:Y}=this.options,ie=z/(N*Math.pow(2,P)),H=M.data,ae=[],ye=this.stride;for(let de=0;deP&&(et+=H[At+Yi])}if(et>_t&&et>=Y){let vt,At=ue*_t,Ft=He*_t,ii=-1;const lt=((de/ye|0)<<5)+(P+1)+this.points.length;for(const jt of We){const hi=jt*ye;if(H[hi+2]<=P)continue;H[hi+2]=P;const Ui=H[hi+Yi];At+=H[hi]*Ui,Ft+=H[hi+1]*Ui,H[hi+4]=lt,K&&(vt||(vt=this._map(H,de,!0),ii=this.clusterProps.length,this.clusterProps.push(vt)),K(vt,this._map(H,hi)))}H[de+4]=lt,ae.push(At/et,Ft/et,1/0,lt,-1,et),K&&ae.push(ii)}else{for(let vt=0;vt1)for(const vt of We){const At=vt*ye;if(!(H[At+2]<=P)){H[At+2]=P;for(let Ft=0;Ft>5}_getOriginZoom(M){return(M-this.points.length)%32}_map(M,P,z){if(M[P+Yi]>1){const Y=this.clusterProps[M[P+dr]];return z?Object.assign({},Y):Y}const N=this.points[M[P+$i]].properties,K=this.options.map(N);return z&&K===N?Object.assign({},K):K}}function Fr(V,M,P){return{type:"Feature",id:V[M+$i],properties:Br(V,M,P),geometry:{type:"Point",coordinates:[(z=V[M],360*(z-.5)),Fs(V[M+1])]}};var z}function Br(V,M,P){const z=V[M+Yi],N=z>=1e4?`${Math.round(z/1e3)}k`:z>=1e3?Math.round(z/100)/10+"k":z,K=V[M+dr],Y=K===-1?{}:Object.assign({},P[K]);return Object.assign(Y,{cluster:!0,cluster_id:V[M+$i],point_count:z,point_count_abbreviated:N})}function pr(V){return V/360+.5}function Or(V){const M=Math.sin(V*Math.PI/180),P=.5-.25*Math.log((1+M)/(1-M))/Math.PI;return P<0?0:P>1?1:P}function Fs(V){const M=(180-360*V)*Math.PI/180;return 360*Math.atan(Math.exp(M))/Math.PI-90}function Bs(V,M,P,z){for(var N,K=z,Y=P-M>>1,ie=P-M,H=V[M],ae=V[M+1],ye=V[P],de=V[P+1],ue=M+3;ueK)N=ue,K=He;else if(He===K){var We=Math.abs(ue-Y);Wez&&(N-M>3&&Bs(V,M,N,z),V[N+2]=K,P-N>3&&Bs(V,N,P,z))}function ta(V,M,P,z,N,K){var Y=N-P,ie=K-z;if(Y!==0||ie!==0){var H=((V-P)*Y+(M-z)*ie)/(Y*Y+ie*ie);H>1?(P=N,z=K):H>0&&(P+=Y*H,z+=ie*H)}return(Y=V-P)*Y+(ie=M-z)*ie}function kr(V,M,P,z){var N={id:V===void 0?null:V,type:M,geometry:P,tags:z,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(K){var Y=K.geometry,ie=K.type;if(ie==="Point"||ie==="MultiPoint"||ie==="LineString")es(K,Y);else if(ie==="Polygon"||ie==="MultiLineString")for(var H=0;H0&&(Y+=z?(N*ae-H*K)/2:Math.sqrt(Math.pow(H-N,2)+Math.pow(ae-K,2))),N=H,K=ae}var ye=M.length-3;M[2]=1,Bs(M,0,ye,P),M[ye+2]=1,M.size=Math.abs(Y),M.start=0,M.end=M.size}function ts(V,M,P,z){for(var N=0;N1?1:P}function $t(V,M,P,z,N,K,Y,ie){if(z/=M,K>=(P/=M)&&Y=z)return null;for(var H=[],ae=0;ae=P&&We=z)){var _t=[];if(ue==="Point"||ue==="MultiPoint")Vr(de,_t,P,z,N);else if(ue==="LineString")Vs(de,_t,P,z,N,!1,ie.lineMetrics);else if(ue==="MultiLineString")$s(de,_t,P,z,N,!1);else if(ue==="Polygon")$s(de,_t,P,z,N,!0);else if(ue==="MultiPolygon")for(var et=0;et=P&&Y<=z&&(M.push(V[K]),M.push(V[K+1]),M.push(V[K+2]))}}function Vs(V,M,P,z,N,K,Y){for(var ie,H,ae=vn(V),ye=N===0?Ns:ia,de=V.start,ue=0;ueP&&(H=ye(ae,He,We,et,vt,P),Y&&(ae.start=de+ie*H)):At>z?Ft=P&&(H=ye(ae,He,We,et,vt,P),ii=!0),Ft>z&&At<=z&&(H=ye(ae,He,We,et,vt,z),ii=!0),!K&&ii&&(Y&&(ae.end=de+ie*H),M.push(ae),ae=vn(V)),Y&&(de+=ie)}var lt=V.length-3;He=V[lt],We=V[lt+1],_t=V[lt+2],(At=N===0?He:We)>=P&&At<=z&&$r(ae,He,We,_t),lt=ae.length-3,K&<>=3&&(ae[lt]!==ae[0]||ae[lt+1]!==ae[1])&&$r(ae,ae[0],ae[1],ae[2]),ae.length&&M.push(ae)}function vn(V){var M=[];return M.size=V.size,M.start=V.start,M.end=V.end,M}function $s(V,M,P,z,N,K){for(var Y=0;YY.maxX&&(Y.maxX=ye),de>Y.maxY&&(Y.maxY=de)}return Y}function Se(V,M,P,z){var N=M.geometry,K=M.type,Y=[];if(K==="Point"||K==="MultiPoint")for(var ie=0;ie0&&M.size<(N?Y:z))P.numPoints+=M.length/3;else{for(var ie=[],H=0;HY)&&(P.numSimplified++,ie.push(M[H]),ie.push(M[H+1])),P.numPoints++;N&&function(ae,ye){for(var de=0,ue=0,He=ae.length,We=He-2;ue0===ye)for(ue=0,He=ae.length;ue24)throw new Error("maxZoom should be in the 0-24 range");if(M.promoteId&&M.generateId)throw new Error("promoteId and generateId cannot be used together.");var z=function(N,K){var Y=[];if(N.type==="FeatureCollection")for(var ie=0;ie1&&console.time("creation"),ue=this.tiles[de]=ms(V,M,P,z,H),this.tileCoords.push({z:M,x:P,y:z}),ae)){ae>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",M,P,z,ue.numFeatures,ue.numPoints,ue.numSimplified),console.timeEnd("creation"));var He="z"+M;this.stats[He]=(this.stats[He]||0)+1,this.total++}if(ue.source=V,N){if(M===H.maxZoom||M===N)continue;var We=1<1&&console.time("clipping");var _t,et,vt,At,Ft,ii,lt=.5*H.buffer/H.extent,jt=.5-lt,hi=.5+lt,Ui=1+lt;_t=et=vt=At=null,Ft=$t(V,ye,P-lt,P+hi,0,ue.minX,ue.maxX,H),ii=$t(V,ye,P+jt,P+Ui,0,ue.minX,ue.maxX,H),V=null,Ft&&(_t=$t(Ft,ye,z-lt,z+hi,1,ue.minY,ue.maxY,H),et=$t(Ft,ye,z+jt,z+Ui,1,ue.minY,ue.maxY,H),Ft=null),ii&&(vt=$t(ii,ye,z-lt,z+hi,1,ue.minY,ue.maxY,H),At=$t(ii,ye,z+jt,z+Ui,1,ue.minY,ue.maxY,H),ii=null),ae>1&&console.timeEnd("clipping"),ie.push(_t||[],M+1,2*P,2*z),ie.push(et||[],M+1,2*P,2*z+1),ie.push(vt||[],M+1,2*P+1,2*z),ie.push(At||[],M+1,2*P+1,2*z+1)}}},st.prototype.getTile=function(V,M,P){var z=this.options,N=z.extent,K=z.debug;if(V<0||V>24)return null;var Y=1<1&&console.log("drilling down to z%d-%d-%d",V,M,P);for(var H,ae=V,ye=M,de=P;!H&&ae>0;)ae--,ye=Math.floor(ye/2),de=Math.floor(de/2),H=this.tiles[Ci(ae,ye,de)];return H&&H.source?(K>1&&console.log("found parent tile z%d-%d-%d",ae,ye,de),K>1&&console.time("drilling down"),this.splitTile(H.source,ae,ye,de,V,M,P),K>1&&console.timeEnd("drilling down"),this.tiles[ie]?ji(this.tiles[ie],N):null):null};class jr extends oe{constructor(){super(...arguments),this._dataUpdateable=new Map}loadVectorTile(M,P){return T._(this,void 0,void 0,function*(){const z=M.tileID.canonical;if(!this._geoJSONIndex)throw new Error("Unable to parse the data into a cluster or geojson");const N=this._geoJSONIndex.getTile(z.z,z.x,z.y);if(!N)return null;const K=new class{constructor(ie){this.layers={_geojsonTileLayer:this},this.name="_geojsonTileLayer",this.extent=T.W,this.length=ie.length,this._features=ie}feature(ie){return new class{constructor(H){this._feature=H,this.extent=T.W,this.type=H.type,this.properties=H.tags,"id"in H&&!isNaN(H.id)&&(this.id=parseInt(H.id,10))}loadGeometry(){if(this._feature.type===1){const H=[];for(const ae of this._feature.geometry)H.push([new T.P(ae[0],ae[1])]);return H}{const H=[];for(const ae of this._feature.geometry){const ye=[];for(const de of ae)ye.push(new T.P(de[0],de[1]));H.push(ye)}return H}}toGeoJSON(H,ae,ye){return pt.call(this,H,ae,ye)}}(this._features[ie])}}(N.features);let Y=Tr(K);return Y.byteOffset===0&&Y.byteLength===Y.buffer.byteLength||(Y=new Uint8Array(Y)),{vectorTile:K,rawData:Y.buffer}})}loadData(M){return T._(this,void 0,void 0,function*(){var P;(P=this._pendingRequest)===null||P===void 0||P.abort();const z=!!(M&&M.request&&M.request.collectResourceTiming)&&new T.bt(M.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(M,this._pendingRequest),this._geoJSONIndex=M.cluster?new Rs(function({superclusterOptions:K,clusterProperties:Y}){if(!Y||!K)return K;const ie={},H={},ae={accumulated:null,zoom:0},ye={properties:null},de=Object.keys(Y);for(const ue of de){const[He,We]=Y[ue],_t=T.bA(We),et=T.bA(typeof He=="string"?[He,["accumulated"],["get",ue]]:He);ie[ue]=_t.value,H[ue]=et.value}return K.map=ue=>{ye.properties=ue;const He={};for(const We of de)He[We]=ie[We].evaluate(ae,ye);return He},K.reduce=(ue,He)=>{ye.properties=He;for(const We of de)ae.accumulated=ue[We],ue[We]=H[We].evaluate(ae,ye)},K}(M)).load((yield this._pendingData).features):new st(yield this._pendingData,M.geojsonVtOptions),this.loaded={};const N={};if(z){const K=z.finish();K&&(N.resourceTiming={},N.resourceTiming[M.source]=JSON.parse(JSON.stringify(K)))}return N}catch(N){if(delete this._pendingRequest,T.bz(N))return{abandoned:!0};throw N}})}getData(){return T._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(M){const P=this.loaded;return P&&P[M.uid]?super.reloadTile(M):this.loadTile(M)}loadAndProcessGeoJSON(M,P){return T._(this,void 0,void 0,function*(){let z=yield this.loadGeoJSON(M,P);if(delete this._pendingRequest,typeof z!="object")throw new Error(`Input data given to '${M.source}' is not a valid GeoJSON object.`);if(Ye(z,!0),M.filter){const N=T.bA(M.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(N.result==="error")throw new Error(N.value.map(Y=>`${Y.key}: ${Y.message}`).join(", "));z={type:"FeatureCollection",features:z.features.filter(Y=>N.value.evaluate({zoom:0},Y))}}return z})}loadGeoJSON(M,P){return T._(this,void 0,void 0,function*(){const{promoteId:z}=M;if(M.request){const N=yield T.h(M.request,P);return this._dataUpdateable=ot(N.data,z)?Nr(N.data,z):void 0,N.data}if(typeof M.data=="string")try{const N=JSON.parse(M.data);return this._dataUpdateable=ot(N,z)?Nr(N,z):void 0,N}catch{throw new Error(`Input data given to '${M.source}' is not a valid GeoJSON object.`)}if(!M.dataDiff)throw new Error(`Input data given to '${M.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${M.source}`);return function(N,K,Y){var ie,H,ae,ye;if(K.removeAll&&N.clear(),K.remove)for(const de of K.remove)N.delete(de);if(K.add)for(const de of K.add){const ue=Ei(de,Y);ue!=null&&N.set(ue,de)}if(K.update)for(const de of K.update){let ue=N.get(de.id);if(ue==null)continue;const He=!de.removeAllProperties&&(((ie=de.removeProperties)===null||ie===void 0?void 0:ie.length)>0||((H=de.addOrUpdateProperties)===null||H===void 0?void 0:H.length)>0);if((de.newGeometry||de.removeAllProperties||He)&&(ue=Object.assign({},ue),N.set(de.id,ue),He&&(ue.properties=Object.assign({},ue.properties))),de.newGeometry&&(ue.geometry=de.newGeometry),de.removeAllProperties)ue.properties={};else if(((ae=de.removeProperties)===null||ae===void 0?void 0:ae.length)>0)for(const We of de.removeProperties)Object.prototype.hasOwnProperty.call(ue.properties,We)&&delete ue.properties[We];if(((ye=de.addOrUpdateProperties)===null||ye===void 0?void 0:ye.length)>0)for(const{key:We,value:_t}of de.addOrUpdateProperties)ue.properties[We]=_t}}(this._dataUpdateable,M.dataDiff,z),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(M){return T._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(M){return this._geoJSONIndex.getClusterExpansionZoom(M.clusterId)}getClusterChildren(M){return this._geoJSONIndex.getChildren(M.clusterId)}getClusterLeaves(M){return this._geoJSONIndex.getLeaves(M.clusterId,M.limit,M.offset)}}class _i{constructor(M){this.self=M,this.actor=new T.C(M),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(P,z)=>{if(this.externalWorkerSourceTypes[P])throw new Error(`Worker source with name "${P}" already registered.`);this.externalWorkerSourceTypes[P]=z},this.self.addProtocol=T.bg,this.self.removeProtocol=T.bh,this.self.registerRTLTextPlugin=P=>{if(T.bB.isParsed())throw new Error("RTL text plugin already registered.");T.bB.setMethods(P)},this.actor.registerMessageHandler("LDT",(P,z)=>this._getDEMWorkerSource(P,z.source).loadTile(z)),this.actor.registerMessageHandler("RDT",(P,z)=>T._(this,void 0,void 0,function*(){this._getDEMWorkerSource(P,z.source).removeTile(z)})),this.actor.registerMessageHandler("GCEZ",(P,z)=>T._(this,void 0,void 0,function*(){return this._getWorkerSource(P,z.type,z.source).getClusterExpansionZoom(z)})),this.actor.registerMessageHandler("GCC",(P,z)=>T._(this,void 0,void 0,function*(){return this._getWorkerSource(P,z.type,z.source).getClusterChildren(z)})),this.actor.registerMessageHandler("GCL",(P,z)=>T._(this,void 0,void 0,function*(){return this._getWorkerSource(P,z.type,z.source).getClusterLeaves(z)})),this.actor.registerMessageHandler("LD",(P,z)=>this._getWorkerSource(P,z.type,z.source).loadData(z)),this.actor.registerMessageHandler("GD",(P,z)=>this._getWorkerSource(P,z.type,z.source).getData()),this.actor.registerMessageHandler("LT",(P,z)=>this._getWorkerSource(P,z.type,z.source).loadTile(z)),this.actor.registerMessageHandler("RT",(P,z)=>this._getWorkerSource(P,z.type,z.source).reloadTile(z)),this.actor.registerMessageHandler("AT",(P,z)=>this._getWorkerSource(P,z.type,z.source).abortTile(z)),this.actor.registerMessageHandler("RMT",(P,z)=>this._getWorkerSource(P,z.type,z.source).removeTile(z)),this.actor.registerMessageHandler("RS",(P,z)=>T._(this,void 0,void 0,function*(){if(!this.workerSources[P]||!this.workerSources[P][z.type]||!this.workerSources[P][z.type][z.source])return;const N=this.workerSources[P][z.type][z.source];delete this.workerSources[P][z.type][z.source],N.removeSource!==void 0&&N.removeSource(z)})),this.actor.registerMessageHandler("RM",P=>T._(this,void 0,void 0,function*(){delete this.layerIndexes[P],delete this.availableImages[P],delete this.workerSources[P],delete this.demWorkerSources[P]})),this.actor.registerMessageHandler("SR",(P,z)=>T._(this,void 0,void 0,function*(){this.referrer=z})),this.actor.registerMessageHandler("SRPS",(P,z)=>this._syncRTLPluginState(P,z)),this.actor.registerMessageHandler("IS",(P,z)=>T._(this,void 0,void 0,function*(){this.self.importScripts(z)})),this.actor.registerMessageHandler("SI",(P,z)=>this._setImages(P,z)),this.actor.registerMessageHandler("UL",(P,z)=>T._(this,void 0,void 0,function*(){this._getLayerIndex(P).update(z.layers,z.removedIds)})),this.actor.registerMessageHandler("SL",(P,z)=>T._(this,void 0,void 0,function*(){this._getLayerIndex(P).replace(z)}))}_setImages(M,P){return T._(this,void 0,void 0,function*(){this.availableImages[M]=P;for(const z in this.workerSources[M]){const N=this.workerSources[M][z];for(const K in N)N[K].availableImages=P}})}_syncRTLPluginState(M,P){return T._(this,void 0,void 0,function*(){if(T.bB.isParsed())return T.bB.getState();if(P.pluginStatus!=="loading")return T.bB.setState(P),P;const z=P.pluginURL;if(this.self.importScripts(z),T.bB.isParsed()){const N={pluginStatus:"loaded",pluginURL:z};return T.bB.setState(N),N}throw T.bB.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${z}`)})}_getAvailableImages(M){let P=this.availableImages[M];return P||(P=[]),P}_getLayerIndex(M){let P=this.layerIndexes[M];return P||(P=this.layerIndexes[M]=new p),P}_getWorkerSource(M,P,z){if(this.workerSources[M]||(this.workerSources[M]={}),this.workerSources[M][P]||(this.workerSources[M][P]={}),!this.workerSources[M][P][z]){const N={sendAsync:(K,Y)=>(K.targetMapId=M,this.actor.sendAsync(K,Y))};switch(P){case"vector":this.workerSources[M][P][z]=new oe(N,this._getLayerIndex(M),this._getAvailableImages(M));break;case"geojson":this.workerSources[M][P][z]=new jr(N,this._getLayerIndex(M),this._getAvailableImages(M));break;default:this.workerSources[M][P][z]=new this.externalWorkerSourceTypes[P](N,this._getLayerIndex(M),this._getAvailableImages(M))}}return this.workerSources[M][P][z]}_getDEMWorkerSource(M,P){return this.demWorkerSources[M]||(this.demWorkerSources[M]={}),this.demWorkerSources[M][P]||(this.demWorkerSources[M][P]=new W),this.demWorkerSources[M][P]}}return T.i(self)&&(self.worker=new _i(self)),_i}),te("index",["exports","./shared"],function(T,p){var _e="4.3.2";let ve,xe;const oe={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:c=>new Promise((t,s)=>{const a=requestAnimationFrame(t);c.signal.addEventListener("abort",()=>{cancelAnimationFrame(a),s(p.c())})}),getImageData(c,t=0){return this.getImageCanvasContext(c).getImageData(-t,-t,c.width+2*t,c.height+2*t)},getImageCanvasContext(c){const t=window.document.createElement("canvas"),s=t.getContext("2d",{willReadFrequently:!0});if(!s)throw new Error("failed to create canvas 2d context");return t.width=c.width,t.height=c.height,s.drawImage(c,0,0,c.width,c.height),s},resolveURL:c=>(ve||(ve=document.createElement("a")),ve.href=c,ve.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(xe==null&&(xe=matchMedia("(prefers-reduced-motion: reduce)")),xe.matches)}};class W{static testProp(t){if(!W.docStyle)return t[0];for(let s=0;s{window.removeEventListener("click",W.suppressClickInternal,!0)},0)}static getScale(t){const s=t.getBoundingClientRect();return{x:s.width/t.offsetWidth||1,y:s.height/t.offsetHeight||1,boundingClientRect:s}}static getPoint(t,s,a){const l=s.boundingClientRect;return new p.P((a.clientX-l.left)/s.x-t.clientLeft,(a.clientY-l.top)/s.y-t.clientTop)}static mousePos(t,s){const a=W.getScale(t);return W.getPoint(t,a,s)}static touchPos(t,s){const a=[],l=W.getScale(t);for(let u=0;u{Xe&&li(Xe),Xe=null,Mt=!0},Ye.onerror=()=>{pt=!0,Xe=null},Ye.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(c){let t,s,a,l;c.resetRequestQueue=()=>{t=[],s=0,a=0,l={}},c.addThrottleControl=y=>{const v=a++;return l[v]=y,v},c.removeThrottleControl=y=>{delete l[y],m()},c.getImage=(y,v,I=!0)=>new Promise((S,C)=>{ke.supported&&(y.headers||(y.headers={}),y.headers.accept="image/webp,*/*"),p.e(y,{type:"image"}),t.push({abortController:v,requestParameters:y,supportImageRefresh:I,state:"queued",onError:D=>{C(D)},onSuccess:D=>{S(D)}}),m()});const u=y=>p._(this,void 0,void 0,function*(){y.state="running";const{requestParameters:v,supportImageRefresh:I,onError:S,onSuccess:C,abortController:D}=y,R=I===!1&&!p.i(self)&&!p.g(v.url)&&(!v.headers||Object.keys(v.headers).reduce((q,J)=>q&&J==="accept",!0));s++;const j=R?g(v,D):p.m(v,D);try{const q=yield j;delete y.abortController,y.state="completed",q.data instanceof HTMLImageElement||p.b(q.data)?C(q):q.data&&C({data:yield(F=q.data,typeof createImageBitmap=="function"?p.d(F):p.f(F)),cacheControl:q.cacheControl,expires:q.expires})}catch(q){delete y.abortController,S(q)}finally{s--,m()}var F}),m=()=>{const y=(()=>{for(const v of Object.keys(l))if(l[v]())return!0;return!1})()?p.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:p.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let v=s;v0;v++){const I=t.shift();I.abortController.signal.aborted?v--:u(I)}},g=(y,v)=>new Promise((I,S)=>{const C=new Image,D=y.url,R=y.credentials;R&&R==="include"?C.crossOrigin="use-credentials":(R&&R==="same-origin"||!p.s(D))&&(C.crossOrigin="anonymous"),v.signal.addEventListener("abort",()=>{C.src="",S(p.c())}),C.fetchPriority="high",C.onload=()=>{C.onerror=C.onload=null,I({data:C})},C.onerror=()=>{C.onerror=C.onload=null,v.signal.aborted||S(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},C.src=D})}(zt||(zt={})),zt.resetRequestQueue();class Oi{constructor(t){this._transformRequestFn=t}transformRequest(t,s){return this._transformRequestFn&&this._transformRequestFn(t,s)||{url:t}}setTransformRequest(t){this._transformRequestFn=t}}function ci(c){var t=new p.A(3);return t[0]=c[0],t[1]=c[1],t[2]=c[2],t}var bt,Ie=function(c,t,s){return c[0]=t[0]-s[0],c[1]=t[1]-s[1],c[2]=t[2]-s[2],c};bt=new p.A(3),p.A!=Float32Array&&(bt[0]=0,bt[1]=0,bt[2]=0);var Qe=function(c){var t=c[0],s=c[1];return t*t+s*s};function nt(c){const t=[];if(typeof c=="string")t.push({id:"default",url:c});else if(c&&c.length>0){const s=[];for(const{id:a,url:l}of c){const u=`${a}${l}`;s.indexOf(u)===-1&&(s.push(u),t.push({id:a,url:l}))}}return t}function Ji(c,t,s){const a=c.split("?");return a[0]+=`${t}${s}`,a.join("?")}(function(){var c=new p.A(2);p.A!=Float32Array&&(c[0]=0,c[1]=0)})();class mt{constructor(t,s,a,l){this.context=t,this.format=a,this.texture=t.gl.createTexture(),this.update(s,l)}update(t,s,a){const{width:l,height:u}=t,m=!(this.size&&this.size[0]===l&&this.size[1]===u||a),{context:g}=this,{gl:y}=g;if(this.useMipmap=!!(s&&s.useMipmap),y.bindTexture(y.TEXTURE_2D,this.texture),g.pixelStoreUnpackFlipY.set(!1),g.pixelStoreUnpack.set(1),g.pixelStoreUnpackPremultiplyAlpha.set(this.format===y.RGBA&&(!s||s.premultiply!==!1)),m)this.size=[l,u],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||p.b(t)?y.texImage2D(y.TEXTURE_2D,0,this.format,this.format,y.UNSIGNED_BYTE,t):y.texImage2D(y.TEXTURE_2D,0,this.format,l,u,0,this.format,y.UNSIGNED_BYTE,t.data);else{const{x:v,y:I}=a||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||p.b(t)?y.texSubImage2D(y.TEXTURE_2D,0,v,I,y.RGBA,y.UNSIGNED_BYTE,t):y.texSubImage2D(y.TEXTURE_2D,0,v,I,l,u,y.RGBA,y.UNSIGNED_BYTE,t.data)}this.useMipmap&&this.isSizePowerOfTwo()&&y.generateMipmap(y.TEXTURE_2D)}bind(t,s,a){const{context:l}=this,{gl:u}=l;u.bindTexture(u.TEXTURE_2D,this.texture),a!==u.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(a=u.LINEAR),t!==this.filter&&(u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MAG_FILTER,t),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_MIN_FILTER,a||t),this.filter=t),s!==this.wrap&&(u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_S,s),u.texParameteri(u.TEXTURE_2D,u.TEXTURE_WRAP_T,s),this.wrap=s)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null}}function Kt(c){const{userImage:t}=c;return!!(t&&t.render&&t.render())&&(c.data.replace(new Uint8Array(t.data.buffer)),!0)}class Wt extends p.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new p.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:s,promiseResolve:a}of this.requestors)a(this._getImagesForIds(s));this.requestors=[]}}getImage(t){const s=this.images[t];if(s&&!s.data&&s.spriteData){const a=s.spriteData;s.data=new p.R({width:a.width,height:a.height},a.context.getImageData(a.x,a.y,a.width,a.height).data),s.spriteData=null}return s}addImage(t,s){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,s)&&(this.images[t]=s)}_validate(t,s){let a=!0;const l=s.data||s.spriteData;return this._validateStretch(s.stretchX,l&&l.width)||(this.fire(new p.j(new Error(`Image "${t}" has invalid "stretchX" value`))),a=!1),this._validateStretch(s.stretchY,l&&l.height)||(this.fire(new p.j(new Error(`Image "${t}" has invalid "stretchY" value`))),a=!1),this._validateContent(s.content,s)||(this.fire(new p.j(new Error(`Image "${t}" has invalid "content" value`))),a=!1),a}_validateStretch(t,s){if(!t)return!0;let a=0;for(const l of t){if(l[0]{let l=!0;if(!this.isLoaded())for(const u of t)this.images[u]||(l=!1);this.isLoaded()||l?s(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:s})})}_getImagesForIds(t){const s={};for(const a of t){let l=this.getImage(a);l||(this.fire(new p.k("styleimagemissing",{id:a})),l=this.getImage(a)),l?s[a]={data:l.data.clone(),pixelRatio:l.pixelRatio,sdf:l.sdf,version:l.version,stretchX:l.stretchX,stretchY:l.stretchY,content:l.content,textFitWidth:l.textFitWidth,textFitHeight:l.textFitHeight,hasRenderCallback:!!(l.userImage&&l.userImage.render)}:p.w(`Image "${a}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return s}getPixelSize(){const{width:t,height:s}=this.atlasImage;return{width:t,height:s}}getPattern(t){const s=this.patterns[t],a=this.getImage(t);if(!a)return null;if(s&&s.position.version===a.version)return s.position;if(s)s.position.version=a.version;else{const l={w:a.data.width+2,h:a.data.height+2,x:0,y:0},u=new p.I(l,a);this.patterns[t]={bin:l,position:u}}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const s=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new mt(t,this.atlasImage,s.RGBA),this.atlasTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE)}_updatePatternAtlas(){const t=[];for(const u in this.patterns)t.push(this.patterns[u].bin);const{w:s,h:a}=p.p(t),l=this.atlasImage;l.resize({width:s||1,height:a||1});for(const u in this.patterns){const{bin:m}=this.patterns[u],g=m.x+1,y=m.y+1,v=this.getImage(u).data,I=v.width,S=v.height;p.R.copy(v,l,{x:0,y:0},{x:g,y},{width:I,height:S}),p.R.copy(v,l,{x:0,y:S-1},{x:g,y:y-1},{width:I,height:1}),p.R.copy(v,l,{x:0,y:0},{x:g,y:y+S},{width:I,height:1}),p.R.copy(v,l,{x:I-1,y:0},{x:g-1,y},{width:1,height:S}),p.R.copy(v,l,{x:0,y:0},{x:g+I,y},{width:1,height:S})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(t){for(const s of t){if(this.callbackDispatchedThisFrame[s])continue;this.callbackDispatchedThisFrame[s]=!0;const a=this.getImage(s);a||p.w(`Image with ID: "${s}" was not found`),Kt(a)&&this.updateImage(s,a)}}}const Dt=1e20;function Vi(c,t,s,a,l,u,m,g,y){for(let v=t;v-1);y++,u[y]=g,m[y]=v,m[y+1]=Dt}for(let g=0,y=0;g65535)throw new Error("glyphs > 65535 not supported");if(a.ranges[u])return{stack:t,id:s,glyph:l};if(!this.url)throw new Error("glyphsUrl is not set");if(!a.requests[u]){const g=Tr.loadGlyphRange(t,u,this.url,this.requestManager);a.requests[u]=g}const m=yield a.requests[u];for(const g in m)this._doesCharSupportLocalGlyph(+g)||(a.glyphs[+g]=m[+g]);return a.ranges[u]=!0,{stack:t,id:s,glyph:m[s]||null}})}_doesCharSupportLocalGlyph(t){return!!this.localIdeographFontFamily&&(p.u["CJK Unified Ideographs"](t)||p.u["Hangul Syllables"](t)||p.u.Hiragana(t)||p.u.Katakana(t))}_tinySDF(t,s,a){const l=this.localIdeographFontFamily;if(!l||!this._doesCharSupportLocalGlyph(a))return;let u=t.tinySDF;if(!u){let g="400";/bold/i.test(s)?g="900":/medium/i.test(s)?g="500":/light/i.test(s)&&(g="200"),u=t.tinySDF=new Tr.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:l,fontWeight:g})}const m=u.draw(String.fromCharCode(a));return{id:a,bitmap:new p.o({width:m.width||60,height:m.height||60},m.data),metrics:{width:m.glyphWidth/2||24,height:m.glyphHeight/2||24,left:m.glyphLeft/2+.5||0,top:m.glyphTop/2-27.5||-8,advance:m.glyphAdvance/2||24,isDoubleResolution:!0}}}}Tr.loadGlyphRange=function(c,t,s,a){return p._(this,void 0,void 0,function*(){const l=256*t,u=l+255,m=a.transformRequest(s.replace("{fontstack}",c).replace("{range}",`${l}-${u}`),"Glyphs"),g=yield p.l(m,new AbortController);if(!g||!g.data)throw new Error(`Could not load glyph range. range: ${t}, ${l}-${u}`);const y={};for(const v of p.n(g.data))y[v.id]=v;return y})},Tr.TinySDF=class{constructor({fontSize:c=24,buffer:t=3,radius:s=8,cutoff:a=.25,fontFamily:l="sans-serif",fontWeight:u="normal",fontStyle:m="normal"}={}){this.buffer=t,this.cutoff=a,this.radius=s;const g=this.size=c+4*t,y=this._createCanvas(g),v=this.ctx=y.getContext("2d",{willReadFrequently:!0});v.font=`${m} ${u} ${c}px ${l}`,v.textBaseline="alphabetic",v.textAlign="left",v.fillStyle="black",this.gridOuter=new Float64Array(g*g),this.gridInner=new Float64Array(g*g),this.f=new Float64Array(g),this.z=new Float64Array(g+1),this.v=new Uint16Array(g)}_createCanvas(c){const t=document.createElement("canvas");return t.width=t.height=c,t}draw(c){const{width:t,actualBoundingBoxAscent:s,actualBoundingBoxDescent:a,actualBoundingBoxLeft:l,actualBoundingBoxRight:u}=this.ctx.measureText(c),m=Math.ceil(s),g=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(u-l))),y=Math.min(this.size-this.buffer,m+Math.ceil(a)),v=g+2*this.buffer,I=y+2*this.buffer,S=Math.max(v*I,0),C=new Uint8ClampedArray(S),D={data:C,width:v,height:I,glyphWidth:g,glyphHeight:y,glyphTop:m,glyphLeft:0,glyphAdvance:t};if(g===0||y===0)return D;const{ctx:R,buffer:j,gridInner:F,gridOuter:q}=this;R.clearRect(j,j,g,y),R.fillText(c,j,j+m);const J=R.getImageData(j,j,g,y);q.fill(Dt,0,S),F.fill(0,0,S);for(let $=0;$0?fe*fe:0,F[le]=fe<0?fe*fe:0}}Vi(q,0,0,v,I,v,this.f,this.v,this.z),Vi(F,j,j,g,y,v,this.f,this.v,this.z);for(let $=0;$1&&(y=t[++g]);const I=Math.abs(v-y.left),S=Math.abs(v-y.right),C=Math.min(I,S);let D;const R=u/a*(l+1);if(y.isDash){const j=l-Math.abs(R);D=Math.sqrt(C*C+j*j)}else D=l-Math.sqrt(C*C+R*R);this.data[m+v]=Math.max(0,Math.min(255,D+128))}}}addRegularDash(t){for(let g=t.length-1;g>=0;--g){const y=t[g],v=t[g+1];y.zeroLength?t.splice(g,1):v&&v.isDash===y.isDash&&(v.left=y.left,t.splice(g,1))}const s=t[0],a=t[t.length-1];s.isDash===a.isDash&&(s.left=a.left-this.width,a.right=s.right+this.width);const l=this.width*this.nextRow;let u=0,m=t[u];for(let g=0;g1&&(m=t[++u]);const y=Math.abs(g-m.left),v=Math.abs(g-m.right),I=Math.min(y,v);this.data[l+g]=Math.max(0,Math.min(255,(m.isDash?I:-I)+128))}}addDash(t,s){const a=s?7:0,l=2*a+1;if(this.nextRow+l>this.height)return p.w("LineAtlas out of space"),null;let u=0;for(let g=0;g{s.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[Yi]}numActive(){return Object.keys(this.active).length}}const Rs=Math.floor(oe.hardwareConcurrency/2);let Fr,Br;function pr(){return Fr||(Fr=new dr),Fr}dr.workerCount=p.B(globalThis)?Math.max(Math.min(Rs,3),1):1;class Or{constructor(t,s){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=s;const a=this.workerPool.acquire(s);for(let l=0;l{s.remove()}),this.actors=[],t&&this.workerPool.release(this.id)}registerMessageHandler(t,s){for(const a of this.actors)a.registerMessageHandler(t,s)}}function Fs(){return Br||(Br=new Or(pr(),p.G),Br.registerMessageHandler("GR",(c,t,s)=>p.m(t,s))),Br}function Bs(c,t){const s=p.F();return p.H(s,s,[1,1,0]),p.J(s,s,[.5*c.width,.5*c.height,1]),p.K(s,s,c.calculatePosMatrix(t.toUnwrapped()))}function ta(c,t,s,a,l,u){const m=function(S,C,D){if(S)for(const R of S){const j=C[R];if(j&&j.source===D&&j.type==="fill-extrusion")return!0}else for(const R in C){const j=C[R];if(j.source===D&&j.type==="fill-extrusion")return!0}return!1}(l&&l.layers,t,c.id),g=u.maxPitchScaleFactor(),y=c.tilesIn(a,g,m);y.sort(kr);const v=[];for(const S of y)v.push({wrappedTileID:S.tileID.wrapped().key,queryResults:S.tile.queryRenderedFeatures(t,s,c._state,S.queryGeometry,S.cameraQueryGeometry,S.scale,l,u,g,Bs(c.transform,S.tileID))});const I=function(S){const C={},D={};for(const R of S){const j=R.queryResults,F=R.wrappedTileID,q=D[F]=D[F]||{};for(const J in j){const $=j[J],Q=q[J]=q[J]||{},se=C[J]=C[J]||[];for(const le of $)Q[le.featureIndex]||(Q[le.featureIndex]=!0,se.push(le))}}return C}(v);for(const S in I)I[S].forEach(C=>{const D=C.feature,R=c.getFeatureState(D.layer["source-layer"],D.id);D.source=D.layer.source,D.layer["source-layer"]&&(D.sourceLayer=D.layer["source-layer"]),D.state=R});return I}function kr(c,t){const s=c.tileID,a=t.tileID;return s.overscaledZ-a.overscaledZ||s.canonical.y-a.canonical.y||s.wrap-a.wrap||s.canonical.x-a.canonical.x}function es(c,t,s){return p._(this,void 0,void 0,function*(){let a=c;if(c.url?a=(yield p.h(t.transformRequest(c.url,"Source"),s)).data:yield oe.frameAsync(s),!a)return null;const l=p.L(p.e(a,c),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in a&&a.vector_layers&&(l.vectorLayerIds=a.vector_layers.map(u=>u.id)),l})}class ti{constructor(t,s){t&&(s?this.setSouthWest(t).setNorthEast(s):Array.isArray(t)&&(t.length===4?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])))}setNorthEast(t){return this._ne=t instanceof p.M?new p.M(t.lng,t.lat):p.M.convert(t),this}setSouthWest(t){return this._sw=t instanceof p.M?new p.M(t.lng,t.lat):p.M.convert(t),this}extend(t){const s=this._sw,a=this._ne;let l,u;if(t instanceof p.M)l=t,u=t;else{if(!(t instanceof ti))return Array.isArray(t)?t.length===4||t.every(Array.isArray)?this.extend(ti.convert(t)):this.extend(p.M.convert(t)):t&&("lng"in t||"lon"in t)&&"lat"in t?this.extend(p.M.convert(t)):this;if(l=t._sw,u=t._ne,!l||!u)return this}return s||a?(s.lng=Math.min(l.lng,s.lng),s.lat=Math.min(l.lat,s.lat),a.lng=Math.max(u.lng,a.lng),a.lat=Math.max(u.lat,a.lat)):(this._sw=new p.M(l.lng,l.lat),this._ne=new p.M(u.lng,u.lat)),this}getCenter(){return new p.M((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new p.M(this.getWest(),this.getNorth())}getSouthEast(){return new p.M(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(t){const{lng:s,lat:a}=p.M.convert(t);let l=this._sw.lng<=s&&s<=this._ne.lng;return this._sw.lng>this._ne.lng&&(l=this._sw.lng>=s&&s>=this._ne.lng),this._sw.lat<=a&&a<=this._ne.lat&&l}static convert(t){return t instanceof ti?t:t&&new ti(t)}static fromLngLat(t,s=0){const a=360*s/40075017,l=a/Math.cos(Math.PI/180*t.lat);return new ti(new p.M(t.lng-l,t.lat-a),new p.M(t.lng+l,t.lat+a))}}class Os{constructor(t,s,a){this.bounds=ti.convert(this.validateBounds(t)),this.minzoom=s||0,this.maxzoom=a||24}validateBounds(t){return Array.isArray(t)&&t.length===4?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const s=Math.pow(2,t.z),a=Math.floor(p.N(this.bounds.getWest())*s),l=Math.floor(p.O(this.bounds.getNorth())*s),u=Math.ceil(p.N(this.bounds.getEast())*s),m=Math.ceil(p.O(this.bounds.getSouth())*s);return t.x>=a&&t.x=l&&t.y{this._options.tiles=t}),this}setUrl(t){return this.setSourceProperty(()=>{this.url=t,this._options.url=t}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return p.e({},this._options)}loadTile(t){return p._(this,void 0,void 0,function*(){const s=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a={request:this.map._requestManager.transformRequest(s,"Tile"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};a.request.collectResourceTiming=this._collectResourceTiming;let l="RT";if(t.actor&&t.state!=="expired"){if(t.state==="loading")return new Promise((u,m)=>{t.reloadPromise={resolve:u,reject:m}})}else t.actor=this.dispatcher.getActor(),l="LT";t.abortController=new AbortController;try{const u=yield t.actor.sendAsync({type:l,data:a},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,u)}catch(u){if(delete t.abortController,t.aborted)return;if(u&&u.status!==404)throw u;this._afterTileLoadWorkerResponse(t,null)}})}_afterTileLoadWorkerResponse(t,s){if(s&&s.resourceTiming&&(t.resourceTiming=s.resourceTiming),s&&this.map._refreshExpiredTiles&&t.setExpiryData(s),t.loadVectorData(s,this.map.painter),t.reloadPromise){const a=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(a.resolve).catch(a.reject)}}abortTile(t){return p._(this,void 0,void 0,function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:"AT",data:{uid:t.uid,type:this.type,source:this.id}}))})}unloadTile(t){return p._(this,void 0,void 0,function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class ts extends p.E{constructor(t,s,a,l){super(),this.id=t,this.dispatcher=a,this.setEventedParent(l),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=p.e({type:"raster"},s),p.e(this,p.L(s,["url","scheme","tileSize"]))}load(){return p._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new p.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const t=yield es(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(p.e(this,t),t.bounds&&(this.tileBounds=new Os(t.bounds,this.minzoom,this.maxzoom)),this.fire(new p.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new p.k("data",{dataType:"source",sourceDataType:"content"})))}catch(t){this._tileJSONRequest=null,this.fire(new p.j(t))}})}loaded(){return this._loaded}onAdd(t){this.map=t,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load()}setTiles(t){return this.setSourceProperty(()=>{this._options.tiles=t}),this}setUrl(t){return this.setSourceProperty(()=>{this.url=t,this._options.url=t}),this}serialize(){return p.e({},this._options)}hasTile(t){return!this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return p._(this,void 0,void 0,function*(){const s=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const a=yield zt.getImage(this.map._requestManager.transformRequest(s,"Tile"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(a&&a.data){this.map._refreshExpiredTiles&&a.cacheControl&&a.expires&&t.setExpiryData({cacheControl:a.cacheControl,expires:a.expires});const l=this.map.painter.context,u=l.gl,m=a.data;t.texture=this.map.painter.getTileTexture(m.width),t.texture?t.texture.update(m,{useMipmap:!0}):(t.texture=new mt(l,m,u.RGBA,{useMipmap:!0}),t.texture.bind(u.LINEAR,u.CLAMP_TO_EDGE,u.LINEAR_MIPMAP_NEAREST),l.extTextureFilterAnisotropic&&u.texParameterf(u.TEXTURE_2D,l.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,l.extTextureFilterAnisotropicMax)),t.state="loaded"}}catch(a){if(delete t.abortController,t.aborted)t.state="unloaded";else if(a)throw t.state="errored",a}})}abortTile(t){return p._(this,void 0,void 0,function*(){t.abortController&&(t.abortController.abort(),delete t.abortController)})}unloadTile(t){return p._(this,void 0,void 0,function*(){t.texture&&this.map.painter.saveTileTexture(t.texture)})}hasTransition(){return!1}}class xn extends ts{constructor(t,s,a,l){super(t,s,a,l),this.type="raster-dem",this.maxzoom=22,this._options=p.e({type:"raster-dem"},s),this.encoding=s.encoding||"mapbox",this.redFactor=s.redFactor,this.greenFactor=s.greenFactor,this.blueFactor=s.blueFactor,this.baseShift=s.baseShift}loadTile(t){return p._(this,void 0,void 0,function*(){const s=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a=this.map._requestManager.transformRequest(s,"Tile");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const l=yield zt.getImage(a,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state="unloaded");if(l&&l.data){const u=l.data;this.map._refreshExpiredTiles&&l.cacheControl&&l.expires&&t.setExpiryData({cacheControl:l.cacheControl,expires:l.expires});const m=p.b(u)&&p.S()?u:yield this.readImageNow(u),g={type:this.type,uid:t.uid,source:this.id,rawImageData:m,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||t.state==="expired"){t.actor=this.dispatcher.getActor();const y=yield t.actor.sendAsync({type:"LDT",data:g});t.dem=y,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state="loaded"}}}catch(l){if(delete t.abortController,t.aborted)t.state="unloaded";else if(l)throw t.state="errored",l}})}readImageNow(t){return p._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&p.U()){const s=t.width+2,a=t.height+2;try{return new p.R({width:s,height:a},yield p.V(t,-1,-1,s,a))}catch{}}return oe.getImageData(t,1)})}_getNeighboringTiles(t){const s=t.canonical,a=Math.pow(2,s.z),l=(s.x-1+a)%a,u=s.x===0?t.wrap-1:t.wrap,m=(s.x+1+a)%a,g=s.x+1===a?t.wrap+1:t.wrap,y={};return y[new p.Q(t.overscaledZ,u,s.z,l,s.y).key]={backfilled:!1},y[new p.Q(t.overscaledZ,g,s.z,m,s.y).key]={backfilled:!1},s.y>0&&(y[new p.Q(t.overscaledZ,u,s.z,l,s.y-1).key]={backfilled:!1},y[new p.Q(t.overscaledZ,t.wrap,s.z,s.x,s.y-1).key]={backfilled:!1},y[new p.Q(t.overscaledZ,g,s.z,m,s.y-1).key]={backfilled:!1}),s.y+10&&p.e(u,{resourceTiming:l}),this.fire(new p.k("data",Object.assign(Object.assign({},u),{sourceDataType:"metadata"}))),this.fire(new p.k("data",Object.assign(Object.assign({},u),{sourceDataType:"content"})))}catch(a){if(this._pendingLoads--,this._removed)return void this.fire(new p.k("dataabort",{dataType:"source"}));this.fire(new p.j(a))}})}loaded(){return this._pendingLoads===0}loadTile(t){return p._(this,void 0,void 0,function*(){const s=t.actor?"RT":"LT";t.actor=this.actor;const a={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.abortController=new AbortController;const l=yield this.actor.sendAsync({type:s,data:a},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(l,this.map.painter,s==="RT")})}abortTile(t){return p._(this,void 0,void 0,function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0})}unloadTile(t){return p._(this,void 0,void 0,function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:t.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return p.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var $t=p.X([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Vr extends p.E{constructor(t,s,a,l){super(),this.id=t,this.dispatcher=a,this.coordinates=s.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(l),this.options=s}load(t){return p._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new p.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const s=yield zt.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,s&&s.data&&(this.image=s.data,t&&(this.coordinates=t),this._finishLoading())}catch(s){this._request=null,this._loaded=!0,this.fire(new p.j(s))}})}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new p.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(t){this.map=t,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(t){this.coordinates=t;const s=t.map(p.Y.fromLngLat);this.tileID=function(l){let u=1/0,m=1/0,g=-1/0,y=-1/0;for(const C of l)u=Math.min(u,C.x),m=Math.min(m,C.y),g=Math.max(g,C.x),y=Math.max(y,C.y);const v=Math.max(g-u,y-m),I=Math.max(0,Math.floor(-Math.log(v)/Math.LN2)),S=Math.pow(2,I);return new p.a0(I,Math.floor((u+g)/2*S),Math.floor((m+y)/2*S))}(s),this.minzoom=this.maxzoom=this.tileID.z;const a=s.map(l=>this.tileID.getTilePoint(l)._round());return this._boundsArray=new p.Z,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,p.W,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,p.W),this._boundsArray.emplaceBack(a[2].x,a[2].y,p.W,p.W),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new p.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;const t=this.map.painter.context,s=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,$t.members)),this.boundsSegments||(this.boundsSegments=p.$.simpleSegment(0,0,4,2)),this.texture||(this.texture=new mt(t,this.image,s.RGBA),this.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE));let a=!1;for(const l in this.tiles){const u=this.tiles[l];u.state!=="loaded"&&(u.state="loaded",u.texture=this.texture,a=!0)}a&&this.fire(new p.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(t){return p._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class Vs extends Vr{constructor(t,s,a,l){super(t,s,a,l),this.roundZoom=!0,this.type="video",this.options=s}load(){return p._(this,void 0,void 0,function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const s of t.urls)this.urls.push(this.map._requestManager.transformRequest(s,"Source").url);try{const s=yield p.a2(this.urls);if(this._loaded=!0,!s)return;this.video=s,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(s){this.fire(new p.j(s))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(t){if(this.video){const s=this.video.seekable;ts.end(0)?this.fire(new p.j(new p.a1(`sources.${this.id}`,null,`Playback for this video can be set only between the ${s.start(0)} and ${s.end(0)}-second mark.`))):this.video.currentTime=t}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;const t=this.map.painter.context,s=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,$t.members)),this.boundsSegments||(this.boundsSegments=p.$.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,this.video)):(this.texture=new mt(t,this.video,s.RGBA),this.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE));let a=!1;for(const l in this.tiles){const u=this.tiles[l];u.state!=="loaded"&&(u.state="loaded",u.texture=this.texture,a=!0)}a&&this.fire(new p.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class vn extends Vr{constructor(t,s,a,l){super(t,s,a,l),s.coordinates?Array.isArray(s.coordinates)&&s.coordinates.length===4&&!s.coordinates.some(u=>!Array.isArray(u)||u.length!==2||u.some(m=>typeof m!="number"))||this.fire(new p.j(new p.a1(`sources.${t}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new p.j(new p.a1(`sources.${t}`,null,'missing required property "coordinates"'))),s.animate&&typeof s.animate!="boolean"&&this.fire(new p.j(new p.a1(`sources.${t}`,null,'optional "animate" property must be a boolean value'))),s.canvas?typeof s.canvas=="string"||s.canvas instanceof HTMLCanvasElement||this.fire(new p.j(new p.a1(`sources.${t}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new p.j(new p.a1(`sources.${t}`,null,'missing required property "canvas"'))),this.options=s,this.animate=s.animate===void 0||s.animate}load(){return p._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new p.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;const s=this.map.painter.context,a=s.gl;this.boundsBuffer||(this.boundsBuffer=s.createVertexBuffer(this._boundsArray,$t.members)),this.boundsSegments||(this.boundsSegments=p.$.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new mt(s,this.canvas,a.RGBA,{premultiply:!0});let l=!1;for(const u in this.tiles){const m=this.tiles[u];m.state!=="loaded"&&(m.state="loaded",m.texture=this.texture,l=!0)}l&&this.fire(new p.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of[this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return!0;return!1}}const $s={},$r=c=>{switch(c){case"geojson":return Tt;case"image":return Vr;case"raster":return ts;case"raster-dem":return xn;case"vector":return he;case"video":return Vs;case"canvas":return vn}return $s[c]},Ns="RTLPluginLoaded";class ia extends p.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=Fs()}_syncState(t){return this.status=t,this.dispatcher.broadcast("SRPS",{pluginStatus:t,pluginURL:this.url}).catch(s=>{throw this.status="error",s})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(t){return p._(this,arguments,void 0,function*(s,a=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=oe.resolveURL(s),!this.url)throw new Error(`requested url ${s} is invalid`);if(this.status==="unavailable"){if(!a)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return p._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new p.k(Ns))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let Me=null;function Ni(){return Me||(Me=new ia),Me}class ji{constructor(t,s){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=p.a3(),this.uses=0,this.tileSize=s,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(t){const s=t+this.timeAdded;su.getLayer(v)).filter(Boolean);if(y.length!==0){g.layers=y,g.stateDependentLayerIds&&(g.stateDependentLayers=g.stateDependentLayerIds.map(v=>y.filter(I=>I.id===v)[0]));for(const v of y)m[v.id]=g}}return m}(t.buckets,s.style),this.hasSymbolBuckets=!1;for(const l in this.buckets){const u=this.buckets[l];if(u instanceof p.a5){if(this.hasSymbolBuckets=!0,!a)break;u.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const l in this.buckets){const u=this.buckets[l];if(u instanceof p.a5&&u.hasRTLText){this.hasRTLText=!0,Ni().lazyLoad();break}}this.queryPadding=0;for(const l in this.buckets){const u=this.buckets[l];this.queryPadding=Math.max(this.queryPadding,s.style.getLayer(l).queryRadius(u))}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage)}else this.collisionBoxArray=new p.a4}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(t){return this.buckets[t.id]}upload(t){for(const a in this.buckets){const l=this.buckets[a];l.uploadPending()&&l.upload(t)}const s=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new mt(t,this.imageAtlas.image,s.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new mt(t,this.glyphAtlasImage,s.ALPHA),this.glyphAtlasImage=null)}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture)}queryRenderedFeatures(t,s,a,l,u,m,g,y,v,I){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:l,cameraQueryGeometry:u,scale:m,tileSize:this.tileSize,pixelPosMatrix:I,transform:y,params:g,queryPadding:this.queryPadding*v},t,s,a):{}}querySourceFeatures(t,s){const a=this.latestFeatureIndex;if(!a||!a.rawTileData)return;const l=a.loadVTLayers(),u=s&&s.sourceLayer?s.sourceLayer:"",m=l._geojsonTileLayer||l[u];if(!m)return;const g=p.a6(s&&s.filter),{z:y,x:v,y:I}=this.tileID.canonical,S={z:y,x:v,y:I};for(let C=0;Ca)l=!1;else if(s)if(this.expirationTime{this.remove(t,u)},a)),this.data[l].push(u),this.order.push(l),this.order.length>this.max){const m=this._getAndRemoveByKey(this.order[0]);m&&this.onRemove(m)}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const s=this.data[t].shift();return s.timeout&&clearTimeout(s.timeout),this.data[t].length===0&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),s.value}getByKey(t){const s=this.data[t];return s?s[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,s){if(!this.has(t))return this;const a=t.wrapped().key,l=s===void 0?0:this.data[a].indexOf(s),u=this.data[a][l];return this.data[a].splice(l,1),u.timeout&&clearTimeout(u.timeout),this.data[a].length===0&&delete this.data[a],this.onRemove(u.value),this.order.splice(this.order.indexOf(a),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const s=this._getAndRemoveByKey(this.order[0]);s&&this.onRemove(s)}return this}filter(t){const s=[];for(const a in this.data)for(const l of this.data[a])t(l.value)||s.push(l);for(const a of s)this.remove(a.value.tileID,a)}}class ms{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(t,s,a){const l=String(s);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][l]=this.stateChanges[t][l]||{},p.e(this.stateChanges[t][l],a),this.deletedStates[t]===null){this.deletedStates[t]={};for(const u in this.state[t])u!==l&&(this.deletedStates[t][u]=null)}else if(this.deletedStates[t]&&this.deletedStates[t][l]===null){this.deletedStates[t][l]={};for(const u in this.state[t][l])a[u]||(this.deletedStates[t][l][u]=null)}else for(const u in a)this.deletedStates[t]&&this.deletedStates[t][l]&&this.deletedStates[t][l][u]===null&&delete this.deletedStates[t][l][u]}removeFeatureState(t,s,a){if(this.deletedStates[t]===null)return;const l=String(s);if(this.deletedStates[t]=this.deletedStates[t]||{},a&&s!==void 0)this.deletedStates[t][l]!==null&&(this.deletedStates[t][l]=this.deletedStates[t][l]||{},this.deletedStates[t][l][a]=null);else if(s!==void 0)if(this.stateChanges[t]&&this.stateChanges[t][l])for(a in this.deletedStates[t][l]={},this.stateChanges[t][l])this.deletedStates[t][l][a]=null;else this.deletedStates[t][l]=null;else this.deletedStates[t]=null}getState(t,s){const a=String(s),l=p.e({},(this.state[t]||{})[a],(this.stateChanges[t]||{})[a]);if(this.deletedStates[t]===null)return{};if(this.deletedStates[t]){const u=this.deletedStates[t][s];if(u===null)return{};for(const m in u)delete l[m]}return l}initializeTileState(t,s){t.setFeatureState(this.state,s)}coalesceChanges(t,s){const a={};for(const l in this.stateChanges){this.state[l]=this.state[l]||{};const u={};for(const m in this.stateChanges[l])this.state[l][m]||(this.state[l][m]={}),p.e(this.state[l][m],this.stateChanges[l][m]),u[m]=this.state[l][m];a[l]=u}for(const l in this.deletedStates){this.state[l]=this.state[l]||{};const u={};if(this.deletedStates[l]===null)for(const m in this.state[l])u[m]={},this.state[l][m]={};else for(const m in this.deletedStates[l]){if(this.deletedStates[l][m]===null)this.state[l][m]={};else for(const g of Object.keys(this.deletedStates[l][m]))delete this.state[l][m][g];u[m]=this.state[l][m]}a[l]=a[l]||{},p.e(a[l],u)}if(this.stateChanges={},this.deletedStates={},Object.keys(a).length!==0)for(const l in t)t[l].setFeatureState(a,s)}}class Se extends p.E{constructor(t,s,a){super(),this.id=t,this.dispatcher=a,this.on("data",l=>this._dataHandler(l)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((l,u,m,g)=>{const y=new($r(u.type))(l,u,m,g);if(y.id!==l)throw new Error(`Expected Source id to be ${l} instead of ${y.id}`);return y})(t,s,a,this),this._tiles={},this._cache=new js(0,l=>this._unloadTile(l)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ms,this._didEmitContent=!1,this._updated=!1}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(t)}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const t in this._tiles){const s=this._tiles[t];if(s.state!=="loaded"&&s.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(t,s,a){return p._(this,void 0,void 0,function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,s,a)}catch(l){t.state="errored",l.status!==404?this._source.fire(new p.j(l,{tile:t})):this.update(this.transform,this.terrain)}})}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t)}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new p.k("dataabort",{tile:t,coord:t.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const s in this._tiles){const a=this._tiles[s];a.upload(t),a.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(t=>t.tileID).sort(ct).map(t=>t.key)}getRenderableIds(t){const s=[];for(const a in this._tiles)this._isIdRenderable(a,t)&&s.push(this._tiles[a]);return t?s.sort((a,l)=>{const u=a.tileID,m=l.tileID,g=new p.P(u.canonical.x,u.canonical.y)._rotate(this.transform.angle),y=new p.P(m.canonical.x,m.canonical.y)._rotate(this.transform.angle);return u.overscaledZ-m.overscaledZ||y.y-g.y||y.x-g.x}).map(a=>a.tileID.key):s.map(a=>a.tileID).sort(ct).map(a=>a.key)}hasRenderableParent(t){const s=this.findLoadedParent(t,0);return!!s&&this._isIdRenderable(s.tileID.key)}_isIdRenderable(t,s){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(s||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const t in this._tiles)this._tiles[t].state!=="errored"&&this._reloadTile(t,"reloading")}}_reloadTile(t,s){return p._(this,void 0,void 0,function*(){const a=this._tiles[t];a&&(a.state!=="loading"&&(a.state=s),yield this._loadTile(a,t,s))})}_tileLoaded(t,s,a){t.timeAdded=oe.now(),a==="expired"&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(s,t),this.getSource().type==="raster-dem"&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new p.k("data",{dataType:"source",tile:t,coord:t.tileID}))}_backfillDEM(t){const s=this.getRenderableIds();for(let l=0;l1||(Math.abs(m)>1&&(Math.abs(m+y)===1?m+=y:Math.abs(m-y)===1&&(m-=y)),u.dem&&l.dem&&(l.dem.backfillBorder(u.dem,m,g),l.neighboringTiles&&l.neighboringTiles[v]&&(l.neighboringTiles[v].backfilled=!0)))}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,s,a,l){for(const u in this._tiles){let m=this._tiles[u];if(l[u]||!m.hasData()||m.tileID.overscaledZ<=s||m.tileID.overscaledZ>a)continue;let g=m.tileID;for(;m&&m.tileID.overscaledZ>s+1;){const v=m.tileID.scaledTo(m.tileID.overscaledZ-1);m=this._tiles[v.key],m&&m.hasData()&&(g=v)}let y=g;for(;y.overscaledZ>s;)if(y=y.scaledTo(y.overscaledZ-1),t[y.key]){l[g.key]=g;break}}}findLoadedParent(t,s){if(t.key in this._loadedParentTiles){const a=this._loadedParentTiles[t.key];return a&&a.tileID.overscaledZ>=s?a:null}for(let a=t.overscaledZ-1;a>=s;a--){const l=t.scaledTo(a),u=this._getLoadedTile(l);if(u)return u}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const s=this._tiles[t.key];return s&&s.hasData()?s:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const s=Math.ceil(t.width/this._source.tileSize)+1,a=Math.ceil(t.height/this._source.tileSize)+1,l=Math.floor(s*a*(this._maxTileCacheZoomLevels===null?p.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),u=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,l):l;this._cache.setMaxSize(u)}handleWrapJump(t){const s=Math.round((t-(this._prevLng===void 0?t:this._prevLng))/360);if(this._prevLng=t,s){const a={};for(const l in this._tiles){const u=this._tiles[l];u.tileID=u.tileID.unwrapTo(u.tileID.wrap+s),a[u.tileID.key]=u}this._tiles=a;for(const l in this._timers)clearTimeout(this._timers[l]),delete this._timers[l];for(const l in this._tiles)this._setTileReloadTimer(l,this._tiles[l])}}_updateCoveredAndRetainedTiles(t,s,a,l,u,m){const g={},y={},v=Object.keys(t),I=oe.now();for(const S of v){const C=t[S],D=this._tiles[S];if(!D||D.fadeEndTime!==0&&D.fadeEndTime<=I)continue;const R=this.findLoadedParent(C,s),j=this.findLoadedSibling(C),F=R||j||null;F&&(this._addTile(F.tileID),g[F.tileID.key]=F.tileID),y[S]=C}this._retainLoadedChildren(y,l,a,t);for(const S in g)t[S]||(this._coveredTiles[S]=!0,t[S]=g[S]);if(m){const S={},C={};for(const D of u)this._tiles[D.key].hasData()?S[D.key]=D:C[D.key]=D;for(const D in C){const R=C[D].children(this._source.maxzoom);this._tiles[R[0].key]&&this._tiles[R[1].key]&&this._tiles[R[2].key]&&this._tiles[R[3].key]&&(S[R[0].key]=t[R[0].key]=R[0],S[R[1].key]=t[R[1].key]=R[1],S[R[2].key]=t[R[2].key]=R[2],S[R[3].key]=t[R[3].key]=R[3],delete C[D])}for(const D in C){const R=C[D],j=this.findLoadedParent(R,this._source.minzoom),F=this.findLoadedSibling(R),q=j||F||null;if(q){S[q.tileID.key]=t[q.tileID.key]=q.tileID;for(const J in S)S[J].isChildOf(q.tileID)&&delete S[J]}}for(const D in this._tiles)S[D]||(this._coveredTiles[D]=!0)}}update(t,s){if(!this._sourceLoaded||this._paused)return;let a;this.transform=t,this.terrain=s,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?a=t.getVisibleUnwrappedCoordinates(this._source.tileID).map(I=>new p.Q(I.canonical.z,I.wrap,I.canonical.z,I.canonical.x,I.canonical.y)):(a=t.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:s}),this._source.hasTile&&(a=a.filter(I=>this._source.hasTile(I)))):a=[];const l=t.coveringZoomLevel(this._source),u=Math.max(l-Se.maxOverzooming,this._source.minzoom),m=Math.max(l+Se.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const I={};for(const S of a)if(S.canonical.z>this._source.minzoom){const C=S.scaledTo(S.canonical.z-1);I[C.key]=C;const D=S.scaledTo(Math.max(this._source.minzoom,Math.min(S.canonical.z,5)));I[D.key]=D}a=a.concat(Object.values(I))}const g=a.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,g&&this.fire(new p.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const y=this._updateRetainedTiles(a,l);st(this._source.type)&&this._updateCoveredAndRetainedTiles(y,u,m,l,a,s);for(const I in y)this._tiles[I].clearFadeHold();const v=p.ab(this._tiles,y);for(const I of v){const S=this._tiles[I];S.hasSymbolBuckets&&!S.holdingForFade()?S.setHoldDuration(this.map._fadeDuration):S.hasSymbolBuckets&&!S.symbolFadeFinished()||this._removeTile(I)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t)}_updateRetainedTiles(t,s){var a;const l={},u={},m=Math.max(s-Se.maxOverzooming,this._source.minzoom),g=Math.max(s+Se.maxUnderzooming,this._source.minzoom),y={};for(const v of t){const I=this._addTile(v);l[v.key]=v,I.hasData()||sthis._source.maxzoom){const C=v.children(this._source.maxzoom)[0],D=this.getTile(C);if(D&&D.hasData()){l[C.key]=C;continue}}else{const C=v.children(this._source.maxzoom);if(l[C[0].key]&&l[C[1].key]&&l[C[2].key]&&l[C[3].key])continue}let S=I.wasRequested();for(let C=v.overscaledZ-1;C>=m;--C){const D=v.scaledTo(C);if(u[D.key])break;if(u[D.key]=!0,I=this.getTile(D),!I&&S&&(I=this._addTile(D)),I){const R=I.hasData();if((R||!(!((a=this.map)===null||a===void 0)&&a.cancelPendingTileRequestsWhileZooming)||S)&&(l[D.key]=D),S=I.wasRequested(),R)break}}}return l}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const s=[];let a,l=this._tiles[t].tileID;for(;l.overscaledZ>0;){if(l.key in this._loadedParentTiles){a=this._loadedParentTiles[l.key];break}s.push(l.key);const u=l.scaledTo(l.overscaledZ-1);if(a=this._getLoadedTile(u),a)break;l=u}for(const u of s)this._loadedParentTiles[u]=a}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const s=this._tiles[t].tileID,a=this._getLoadedTile(s);this._loadedSiblingTiles[s.key]=a}}_addTile(t){let s=this._tiles[t.key];if(s)return s;s=this._cache.getAndRemove(t),s&&(this._setTileReloadTimer(t.key,s),s.tileID=t,this._state.initializeTileState(s,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,s)));const a=s;return s||(s=new ji(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(s,t.key,s.state)),s.uses++,this._tiles[t.key]=s,a||this._source.fire(new p.k("dataloading",{tile:s,coord:s.tileID,dataType:"source"})),s}_setTileReloadTimer(t,s){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const a=s.getExpiryTimeout();a&&(this._timers[t]=setTimeout(()=>{this._reloadTile(t,"expired"),delete this._timers[t]},a))}_removeTile(t){const s=this._tiles[t];s&&(s.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),s.uses>0||(s.hasData()&&s.state!=="reloading"?this._cache.add(s.tileID,s,s.getExpiryTimeout()):(s.aborted=!0,this._abortTile(s),this._unloadTile(s))))}_dataHandler(t){const s=t.sourceDataType;t.dataType==="source"&&s==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&t.dataType==="source"&&s==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset()}tilesIn(t,s,a){const l=[],u=this.transform;if(!u)return l;const m=a?u.getCameraQueryGeometry(t):t,g=t.map(R=>u.pointCoordinate(R,this.terrain)),y=m.map(R=>u.pointCoordinate(R,this.terrain)),v=this.getIds();let I=1/0,S=1/0,C=-1/0,D=-1/0;for(const R of y)I=Math.min(I,R.x),S=Math.min(S,R.y),C=Math.max(C,R.x),D=Math.max(D,R.y);for(let R=0;R=0&&$[1].y+J>=0){const Q=g.map(le=>F.getTilePoint(le)),se=y.map(le=>F.getTilePoint(le));l.push({tile:j,tileID:F,queryGeometry:Q,cameraQueryGeometry:se,scale:q})}}return l}getVisibleCoordinates(t){const s=this.getRenderableIds(t).map(a=>this._tiles[a].tileID);for(const a of s)a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped());return s}hasTransition(){if(this._source.hasTransition())return!0;if(st(this._source.type)){const t=oe.now();for(const s in this._tiles)if(this._tiles[s].fadeEndTime>=t)return!0}return!1}setFeatureState(t,s,a){this._state.updateState(t=t||"_geojsonTileLayer",s,a)}removeFeatureState(t,s,a){this._state.removeFeatureState(t=t||"_geojsonTileLayer",s,a)}getFeatureState(t,s){return this._state.getState(t=t||"_geojsonTileLayer",s)}setDependencies(t,s,a){const l=this._tiles[t];l&&l.setDependencies(s,a)}reloadTilesForDependencies(t,s){for(const a in this._tiles)this._tiles[a].hasDependency(t,s)&&this._reloadTile(a,"reloading");this._cache.filter(a=>!a.hasDependency(t,s))}}function ct(c,t){const s=Math.abs(2*c.wrap)-+(c.wrap<0),a=Math.abs(2*t.wrap)-+(t.wrap<0);return c.overscaledZ-t.overscaledZ||a-s||t.canonical.y-c.canonical.y||t.canonical.x-c.canonical.x}function st(c){return c==="raster"||c==="image"||c==="video"}Se.maxOverzooming=10,Se.maxUnderzooming=3;class Ci{constructor(t,s){this.reset(t,s)}reset(t,s){this.points=t||[],this._distances=[0];for(let a=1;a0?(l-m)/g:0;return this.points[u].mult(1-y).add(this.points[s].mult(y))}}function Ei(c,t){let s=!0;return c==="always"||c!=="never"&&t!=="never"||(s=!1),s}class ot{constructor(t,s,a){const l=this.boxCells=[],u=this.circleCells=[];this.xCellCount=Math.ceil(t/a),this.yCellCount=Math.ceil(s/a);for(let m=0;mthis.width||l<0||s>this.height)return[];const y=[];if(t<=0&&s<=0&&this.width<=a&&this.height<=l){if(u)return[{key:null,x1:t,y1:s,x2:a,y2:l}];for(let v=0;v0}hitTestCircle(t,s,a,l,u){const m=t-a,g=t+a,y=s-a,v=s+a;if(g<0||m>this.width||v<0||y>this.height)return!1;const I=[];return this._forEachCell(m,y,g,v,this._queryCellCircle,I,{hitTest:!0,overlapMode:l,circle:{x:t,y:s,radius:a},seenUids:{box:{},circle:{}}},u),I.length>0}_queryCell(t,s,a,l,u,m,g,y){const{seenUids:v,hitTest:I,overlapMode:S}=g,C=this.boxCells[u];if(C!==null){const R=this.bboxes;for(const j of C)if(!v.box[j]){v.box[j]=!0;const F=4*j,q=this.boxKeys[j];if(t<=R[F+2]&&s<=R[F+3]&&a>=R[F+0]&&l>=R[F+1]&&(!y||y(q))&&(!I||!Ei(S,q.overlapMode))&&(m.push({key:q,x1:R[F],y1:R[F+1],x2:R[F+2],y2:R[F+3]}),I))return!0}}const D=this.circleCells[u];if(D!==null){const R=this.circles;for(const j of D)if(!v.circle[j]){v.circle[j]=!0;const F=3*j,q=this.circleKeys[j];if(this._circleAndRectCollide(R[F],R[F+1],R[F+2],t,s,a,l)&&(!y||y(q))&&(!I||!Ei(S,q.overlapMode))){const J=R[F],$=R[F+1],Q=R[F+2];if(m.push({key:q,x1:J-Q,y1:$-Q,x2:J+Q,y2:$+Q}),I)return!0}}}return!1}_queryCellCircle(t,s,a,l,u,m,g,y){const{circle:v,seenUids:I,overlapMode:S}=g,C=this.boxCells[u];if(C!==null){const R=this.bboxes;for(const j of C)if(!I.box[j]){I.box[j]=!0;const F=4*j,q=this.boxKeys[j];if(this._circleAndRectCollide(v.x,v.y,v.radius,R[F+0],R[F+1],R[F+2],R[F+3])&&(!y||y(q))&&!Ei(S,q.overlapMode))return m.push(!0),!0}}const D=this.circleCells[u];if(D!==null){const R=this.circles;for(const j of D)if(!I.circle[j]){I.circle[j]=!0;const F=3*j,q=this.circleKeys[j];if(this._circlesCollide(R[F],R[F+1],R[F+2],v.x,v.y,v.radius)&&(!y||y(q))&&!Ei(S,q.overlapMode))return m.push(!0),!0}}}_forEachCell(t,s,a,l,u,m,g,y){const v=this._convertToXCellCoord(t),I=this._convertToYCellCoord(s),S=this._convertToXCellCoord(a),C=this._convertToYCellCoord(l);for(let D=v;D<=S;D++)for(let R=I;R<=C;R++)if(u.call(this,t,s,a,l,this.xCellCount*R+D,m,g,y))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,s,a,l,u,m){const g=l-t,y=u-s,v=a+m;return v*v>g*g+y*y}_circleAndRectCollide(t,s,a,l,u,m,g){const y=(m-l)/2,v=Math.abs(t-(l+y));if(v>y+a)return!1;const I=(g-u)/2,S=Math.abs(s-(u+I));if(S>I+a)return!1;if(v<=y||S<=I)return!0;const C=v-y,D=S-I;return C*C+D*D<=a*a}}function Nr(c,t,s,a,l){const u=p.F();return t?(p.J(u,u,[1/l,1/l,1]),s||p.ad(u,u,a.angle)):p.K(u,a.labelPlaneMatrix,c),u}function jr(c,t,s,a,l){if(t){const u=p.ae(c);return p.J(u,u,[l,l,1]),s||p.ad(u,u,-a.angle),u}return a.glCoordMatrix}function _i(c,t,s){let a;s?(a=[c.x,c.y,s(c.x,c.y),1],p.af(a,a,t)):(a=[c.x,c.y,0,1],function(u,m,g){const y=m[0],v=m[1];u[0]=g[0]*y+g[4]*v+g[12],u[1]=g[1]*y+g[5]*v+g[13],u[3]=g[3]*y+g[7]*v+g[15]}(a,a,t));const l=a[3];return{point:new p.P(a[0]/l,a[1]/l),signedDistanceFromCamera:l,isOccluded:!1}}function V(c,t){return .5+c/t*.5}function M(c,t){return c.x>=-t[0]&&c.x<=t[0]&&c.y>=-t[1]&&c.y<=t[1]}function P(c,t,s,a,l,u,m,g,y,v,I,S,C,D,R){const j=a?c.textSizeData:c.iconSizeData,F=p.ag(j,s.transform.zoom),q=[256/s.width*2+1,256/s.height*2+1],J=a?c.text.dynamicLayoutVertexArray:c.icon.dynamicLayoutVertexArray;J.clear();const $=c.lineVertexArray,Q=a?c.text.placedSymbolArray:c.icon.placedSymbolArray,se=s.transform.width/s.transform.height;let le=!1;for(let fe=0;feMath.abs(s.x-t.x)*a?{useVertical:!0}:(c===p.ah.vertical?t.ys.x)?{needsFlipping:!0}:null}function K(c,t,s,a,l,u,m,g,y,v,I){const S=s/24,C=t.lineOffsetX*S,D=t.lineOffsetY*S;let R;if(t.numGlyphs>1){const j=t.glyphStartIndex+t.numGlyphs,F=t.lineStartIndex,q=t.lineStartIndex+t.lineLength,J=z(S,g,C,D,a,t,I,c);if(!J)return{notEnoughRoom:!0};const $=_i(J.first.point,m,c.getElevation).point,Q=_i(J.last.point,m,c.getElevation).point;if(l&&!a){const se=N(t.writingMode,$,Q,v);if(se)return se}R=[J.first];for(let se=t.glyphStartIndex+1;se0?$.point:function(le,fe,be,Fe,Be,we){return Y(le,fe,be,1,Be,we)}(c.tileAnchorPoint,J,F,0,u,c),se=N(t.writingMode,F,Q,v);if(se)return se}const j=de(S*g.getoffsetX(t.glyphStartIndex),C,D,a,t.segment,t.lineStartIndex,t.lineStartIndex+t.lineLength,c,I);if(!j||c.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};R=[j]}for(const j of R)p.aj(y,j.point,j.angle);return{}}function Y(c,t,s,a,l,u){const m=c.add(c.sub(t)._unit()),g=l!==void 0?_i(m,l,u.getElevation).point:H(m.x,m.y,u).point,y=s.sub(g);return s.add(y._mult(a/y.mag()))}function ie(c,t,s){const a=t.projectionCache;if(a.projections[c])return a.projections[c];const l=new p.P(t.lineVertexArray.getx(c),t.lineVertexArray.gety(c)),u=H(l.x,l.y,t);if(u.signedDistanceFromCamera>0)return a.projections[c]=u.point,a.anyProjectionOccluded=a.anyProjectionOccluded||u.isOccluded,u.point;const m=c-s.direction;return function(g,y,v,I,S){return Y(g,y,v,I,void 0,S)}(s.distanceFromAnchor===0?t.tileAnchorPoint:new p.P(t.lineVertexArray.getx(m),t.lineVertexArray.gety(m)),l,s.previousVertex,s.absOffsetX-s.distanceFromAnchor+1,t)}function H(c,t,s){const a=c+s.translation[0],l=t+s.translation[1];let u;return!s.pitchWithMap&&s.projection.useSpecialProjectionForSymbols?(u=s.projection.projectTileCoordinates(a,l,s.unwrappedTileID,s.getElevation),u.point.x=(.5*u.point.x+.5)*s.width,u.point.y=(.5*-u.point.y+.5)*s.height):(u=_i(new p.P(a,l),s.labelPlaneMatrix,s.getElevation),u.isOccluded=!1),u}function ae(c,t,s){return c._unit()._perp()._mult(t*s)}function ye(c,t,s,a,l,u,m,g,y){if(g.projectionCache.offsets[c])return g.projectionCache.offsets[c];const v=s.add(t);if(c+y.direction=l)return g.projectionCache.offsets[c]=v,v;const I=ie(c+y.direction,g,y),S=ae(I.sub(s),m,y.direction),C=s.add(S),D=I.add(S);return g.projectionCache.offsets[c]=p.ak(u,v,C,D)||v,g.projectionCache.offsets[c]}function de(c,t,s,a,l,u,m,g,y){const v=a?c-t:c+t;let I=v>0?1:-1,S=0;a&&(I*=-1,S=Math.PI),I<0&&(S+=Math.PI);let C,D=I>0?u+l:u+l+1;g.projectionCache.cachedAnchorPoint?C=g.projectionCache.cachedAnchorPoint:(C=H(g.tileAnchorPoint.x,g.tileAnchorPoint.y,g).point,g.projectionCache.cachedAnchorPoint=C);let R,j,F=C,q=C,J=0,$=0;const Q=Math.abs(v),se=[];let le;for(;J+$<=Q;){if(D+=I,D=m)return null;J+=$,q=F,j=R;const Fe={absOffsetX:Q,direction:I,distanceFromAnchor:J,previousVertex:q};if(F=ie(D,g,Fe),s===0)se.push(q),le=F.sub(q);else{let Be;const we=F.sub(q);Be=we.mag()===0?ae(ie(D+I,g,Fe).sub(F),s,I):ae(we,s,I),j||(j=q.add(Be)),R=ye(D,Be,F,u,m,j,s,g,Fe),se.push(j),le=R.sub(j)}$=le.mag()}const fe=le._mult((Q-J)/$)._add(j||q),be=S+Math.atan2(F.y-q.y,F.x-q.x);return se.push(fe),{point:fe,angle:y?be:0,path:se}}const ue=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function He(c,t){for(let s=0;s=1;ht--)Ee.push(tt.path[ht]);for(let ht=1;htyt.signedDistanceFromCamera<=0)?[]:ht.map(yt=>yt.point)}let Bt=[];if(Ee.length>0){const ht=Ee[0].clone(),yt=Ee[0].clone();for(let Ot=1;Ot=we.x&&yt.x<=Te.x&&ht.y>=we.y&&yt.y<=Te.y?[Ee]:yt.xTe.x||yt.yTe.y?[]:p.al([Ee],we.x,we.y,Te.x,Te.y)}for(const ht of Bt){Ne.reset(ht,.25*Be);let yt=0;yt=Ne.length<=.5*Be?1:Math.ceil(Ne.paddedLength/Je)+1;for(let Ot=0;Ot_i(l,a,s.getElevation))}queryRenderedSymbols(t){if(t.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};const s=[];let a=1/0,l=1/0,u=-1/0,m=-1/0;for(const I of t){const S=new p.P(I.x+We,I.y+We);a=Math.min(a,S.x),l=Math.min(l,S.y),u=Math.max(u,S.x),m=Math.max(m,S.y),s.push(S)}const g=this.grid.query(a,l,u,m).concat(this.ignoredGrid.query(a,l,u,m)),y={},v={};for(const I of g){const S=I.key;if(y[S.bucketInstanceId]===void 0&&(y[S.bucketInstanceId]={}),y[S.bucketInstanceId][S.featureIndex])continue;const C=[new p.P(I.x1,I.y1),new p.P(I.x2,I.y1),new p.P(I.x2,I.y2),new p.P(I.x1,I.y2)];p.am(s,C)&&(y[S.bucketInstanceId][S.featureIndex]=!0,v[S.bucketInstanceId]===void 0&&(v[S.bucketInstanceId]=[]),v[S.bucketInstanceId].push(S.featureIndex))}return v}insertCollisionBox(t,s,a,l,u,m){(a?this.ignoredGrid:this.grid).insert({bucketInstanceId:l,featureIndex:u,collisionGroupID:m,overlapMode:s},t[0],t[1],t[2],t[3])}insertCollisionCircles(t,s,a,l,u,m){const g=a?this.ignoredGrid:this.grid,y={bucketInstanceId:l,featureIndex:u,collisionGroupID:m,overlapMode:s};for(let v=0;v=this.screenRightBoundary||lthis.screenBottomBoundary}isInsideGrid(t,s,a,l){return a>=0&&t=0&&sthis.projectAndGetPerspectiveRatio(a,we.x,we.y,l,v));Fe=Be.some(we=>!we.isOccluded),be=Be.map(we=>we.point)}else Fe=!0;return{box:p.ao(be),allPointsOccluded:!Fe}}}function et(c,t,s){return t*(p.W/(c.tileSize*Math.pow(2,s-c.tileID.overscaledZ)))}class vt{constructor(t,s,a,l){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?s:-s))):l&&a?1:0,this.placed=a}isHidden(){return this.opacity===0&&!this.placed}}class At{constructor(t,s,a,l,u){this.text=new vt(t?t.text:null,s,a,u),this.icon=new vt(t?t.icon:null,s,l,u)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Ft{constructor(t,s,a){this.text=t,this.icon=s,this.skipFade=a}}class ii{constructor(){this.invProjMatrix=p.F(),this.viewportMatrix=p.F(),this.circles=[]}}class lt{constructor(t,s,a,l,u){this.bucketInstanceId=t,this.featureIndex=s,this.sourceLayerIndex=a,this.bucketIndex=l,this.tileID=u}}class jt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={}}get(t){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[t]){const s=++this.maxGroupID;this.collisionGroups[t]={ID:s,predicate:a=>a.collisionGroupID===s}}return this.collisionGroups[t]}}function hi(c,t,s,a,l){const{horizontalAlign:u,verticalAlign:m}=p.au(c);return new p.P(-(u-.5)*t+a[0]*l,-(m-.5)*s+a[1]*l)}class Ui{constructor(t,s,a,l,u,m){this.transform=t.clone(),this.terrain=a,this.collisionIndex=new _t(this.transform,s),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=l,this.retainedQueryData={},this.collisionGroups=new jt(u),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=m,m&&(m.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(t){const s=this.terrain;return s?(a,l)=>s.getElevation(t,a,l):null}getBucketParts(t,s,a,l){const u=a.getBucket(s),m=a.latestFeatureIndex;if(!u||!m||s.id!==u.layerIds[0])return;const g=a.collisionBoxArray,y=u.layers[0].layout,v=u.layers[0].paint,I=Math.pow(2,this.transform.zoom-a.tileID.overscaledZ),S=a.tileSize/p.W,C=a.tileID.toUnwrapped(),D=this.transform.calculatePosMatrix(C),R=y.get("text-pitch-alignment")==="map",j=y.get("text-rotation-alignment")==="map",F=et(a,1,this.transform.zoom),q=this.collisionIndex.mapProjection.translatePosition(this.transform,a,v.get("text-translate"),v.get("text-translate-anchor")),J=this.collisionIndex.mapProjection.translatePosition(this.transform,a,v.get("icon-translate"),v.get("icon-translate-anchor")),$=Nr(D,R,j,this.transform,F);let Q=null;if(R){const le=jr(D,R,j,this.transform,F);Q=p.K([],this.transform.labelPlaneMatrix,le)}this.retainedQueryData[u.bucketInstanceId]=new lt(u.bucketInstanceId,m,u.sourceLayerIndex,u.index,a.tileID);const se={bucket:u,layout:y,translationText:q,translationIcon:J,posMatrix:D,unwrappedTileID:C,textLabelPlaneMatrix:$,labelToScreenMatrix:Q,scale:I,textPixelRatio:S,holdingForFade:a.holdingForFade(),collisionBoxArray:g,partiallyEvaluatedTextSize:p.ag(u.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(u.sourceID)};if(l)for(const le of u.sortKeyRanges){const{sortKey:fe,symbolInstanceStart:be,symbolInstanceEnd:Fe}=le;t.push({sortKey:fe,symbolInstanceStart:be,symbolInstanceEnd:Fe,parameters:se})}else t.push({symbolInstanceStart:0,symbolInstanceEnd:u.symbolInstances.length,parameters:se})}attemptAnchorPlacement(t,s,a,l,u,m,g,y,v,I,S,C,D,R,j,F,q,J,$){const Q=p.aq[t.textAnchor],se=[t.textOffset0,t.textOffset1],le=hi(Q,a,l,se,u),fe=this.collisionIndex.placeCollisionBox(s,C,y,v,I,g,m,F,S.predicate,$,le);if((!J||this.collisionIndex.placeCollisionBox(J,C,y,v,I,g,m,q,S.predicate,$,le).placeable)&&fe.placeable){let be;if(this.prevPlacement&&this.prevPlacement.variableOffsets[D.crossTileID]&&this.prevPlacement.placements[D.crossTileID]&&this.prevPlacement.placements[D.crossTileID].text&&(be=this.prevPlacement.variableOffsets[D.crossTileID].anchor),D.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[D.crossTileID]={textOffset:se,width:a,height:l,anchor:Q,textBoxScale:u,prevAnchor:be},this.markUsedJustification(R,Q,D,j),R.allowVerticalPlacement&&(this.markUsedOrientation(R,j,D),this.placedOrientations[D.crossTileID]=j),{shift:le,placedGlyphBoxes:fe}}}placeLayerBucketPart(t,s,a){const{bucket:l,layout:u,translationText:m,translationIcon:g,posMatrix:y,unwrappedTileID:v,textLabelPlaneMatrix:I,labelToScreenMatrix:S,textPixelRatio:C,holdingForFade:D,collisionBoxArray:R,partiallyEvaluatedTextSize:j,collisionGroup:F}=t.parameters,q=u.get("text-optional"),J=u.get("icon-optional"),$=p.ar(u,"text-overlap","text-allow-overlap"),Q=$==="always",se=p.ar(u,"icon-overlap","icon-allow-overlap"),le=se==="always",fe=u.get("text-rotation-alignment")==="map",be=u.get("text-pitch-alignment")==="map",Fe=u.get("icon-text-fit")!=="none",Be=u.get("symbol-z-order")==="viewport-y",we=Q&&(le||!l.hasIconData()||J),Te=le&&(Q||!l.hasTextData()||q);!l.collisionArrays&&R&&l.deserializeCollisionBoxes(R);const Ne=this._getTerrainElevationFunc(this.retainedQueryData[l.bucketInstanceId].tileID),tt=(Pe,Ee,Je)=>{var Bt,ht;if(s[Pe.crossTileID])return;if(D)return void(this.placements[Pe.crossTileID]=new Ft(!1,!1,!1));let yt=!1,Ot=!1,wi=!0,mr=null,Vt={box:null,placeable:!1,offscreen:null},Wi={box:null,placeable:!1,offscreen:null},Di=null,Si=null,Ii=null,_r=0,ks=0,Ra=0;Ee.textFeatureIndex?_r=Ee.textFeatureIndex:Pe.useRuntimeCollisionCircles&&(_r=Pe.featureIndex),Ee.verticalTextFeatureIndex&&(ks=Ee.verticalTextFeatureIndex);const rn=Ee.textBox;if(rn){const xi=Ti=>{let ki=p.ah.horizontal;if(l.allowVerticalPlacement&&!Ti&&this.prevPlacement){const gi=this.prevPlacement.placedOrientations[Pe.crossTileID];gi&&(this.placedOrientations[Pe.crossTileID]=gi,ki=gi,this.markUsedOrientation(l,ki,Pe))}return ki},gr=(Ti,ki)=>{if(l.allowVerticalPlacement&&Pe.numVerticalGlyphVertices>0&&Ee.verticalTextBox){for(const gi of l.writingModes)if(gi===p.ah.vertical?(Vt=ki(),Wi=Vt):Vt=Ti(),Vt&&Vt.placeable)break}else Vt=Ti()},os=Pe.textAnchorOffsetStartIndex,sn=Pe.textAnchorOffsetEndIndex;if(sn===os){const Ti=(ki,gi)=>{const qt=this.collisionIndex.placeCollisionBox(ki,$,C,y,v,be,fe,m,F.predicate,Ne);return qt&&qt.placeable&&(this.markUsedOrientation(l,gi,Pe),this.placedOrientations[Pe.crossTileID]=gi),qt};gr(()=>Ti(rn,p.ah.horizontal),()=>{const ki=Ee.verticalTextBox;return l.allowVerticalPlacement&&Pe.numVerticalGlyphVertices>0&&ki?Ti(ki,p.ah.vertical):{box:null,offscreen:null}}),xi(Vt&&Vt.placeable)}else{let Ti=p.aq[(ht=(Bt=this.prevPlacement)===null||Bt===void 0?void 0:Bt.variableOffsets[Pe.crossTileID])===null||ht===void 0?void 0:ht.anchor];const ki=(qt,nn,jo)=>{const di=qt.x2-qt.x1,Hl=qt.y2-qt.y1,Ba=Pe.textBoxScale,Oa=Fe&&se==="never"?nn:null;let ls=null,Xl=$==="never"?1:2,Uo="never";Ti&&Xl++;for(let qo=0;qoki(rn,Ee.iconBox,p.ah.horizontal),()=>{const qt=Ee.verticalTextBox;return l.allowVerticalPlacement&&(!Vt||!Vt.placeable)&&Pe.numVerticalGlyphVertices>0&&qt?ki(qt,Ee.verticalIconBox,p.ah.vertical):{box:null,occluded:!0,offscreen:null}}),Vt&&(yt=Vt.placeable,wi=Vt.offscreen);const gi=xi(Vt&&Vt.placeable);if(!yt&&this.prevPlacement){const qt=this.prevPlacement.variableOffsets[Pe.crossTileID];qt&&(this.variableOffsets[Pe.crossTileID]=qt,this.markUsedJustification(l,qt.anchor,Pe,gi))}}}if(Di=Vt,yt=Di&&Di.placeable,wi=Di&&Di.offscreen,Pe.useRuntimeCollisionCircles){const xi=l.text.placedSymbolArray.get(Pe.centerJustifiedTextSymbolIndex),gr=p.ai(l.textSizeData,j,xi),os=u.get("text-padding");Si=this.collisionIndex.placeCollisionCircles($,xi,l.lineVertexArray,l.glyphOffsetArray,gr,y,v,I,S,a,be,F.predicate,Pe.collisionCircleDiameter,os,m,Ne),Si.circles.length&&Si.collisionDetected&&!a&&p.w("Collisions detected, but collision boxes are not shown"),yt=Q||Si.circles.length>0&&!Si.collisionDetected,wi=wi&&Si.offscreen}if(Ee.iconFeatureIndex&&(Ra=Ee.iconFeatureIndex),Ee.iconBox){const xi=gr=>this.collisionIndex.placeCollisionBox(gr,se,C,y,v,be,fe,g,F.predicate,Ne,Fe&&mr?mr:void 0);Wi&&Wi.placeable&&Ee.verticalIconBox?(Ii=xi(Ee.verticalIconBox),Ot=Ii.placeable):(Ii=xi(Ee.iconBox),Ot=Ii.placeable),wi=wi&&Ii.offscreen}const Ms=q||Pe.numHorizontalGlyphVertices===0&&Pe.numVerticalGlyphVertices===0,Fa=J||Pe.numIconVertices===0;Ms||Fa?Fa?Ms||(Ot=Ot&&yt):yt=Ot&&yt:Ot=yt=Ot&&yt;const No=Ot&&Ii.placeable;if(yt&&Di.placeable&&this.collisionIndex.insertCollisionBox(Di.box,$,u.get("text-ignore-placement"),l.bucketInstanceId,Wi&&Wi.placeable&&ks?ks:_r,F.ID),No&&this.collisionIndex.insertCollisionBox(Ii.box,se,u.get("icon-ignore-placement"),l.bucketInstanceId,Ra,F.ID),Si&&yt&&this.collisionIndex.insertCollisionCircles(Si.circles,$,u.get("text-ignore-placement"),l.bucketInstanceId,_r,F.ID),a&&this.storeCollisionData(l.bucketInstanceId,Je,Ee,Di,Ii,Si),Pe.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(l.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[Pe.crossTileID]=new Ft(yt||we,Ot||Te,wi||l.justReloaded),s[Pe.crossTileID]=!0};if(Be){if(t.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");const Pe=l.getSortedSymbolIndexes(this.transform.angle);for(let Ee=Pe.length-1;Ee>=0;--Ee){const Je=Pe[Ee];tt(l.symbolInstances.get(Je),l.collisionArrays[Je],Je)}}else for(let Pe=t.symbolInstanceStart;Pe=0&&(t.text.placedSymbolArray.get(g).crossTileID=u>=0&&g!==u?0:a.crossTileID)}markUsedOrientation(t,s,a){const l=s===p.ah.horizontal||s===p.ah.horizontalOnly?s:0,u=s===p.ah.vertical?s:0,m=[a.leftJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.rightJustifiedTextSymbolIndex];for(const g of m)t.text.placedSymbolArray.get(g).placedOrientation=l;a.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).placedOrientation=u)}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const s=this.prevPlacement;let a=!1;this.prevZoomAdjustment=s?s.zoomAdjustment(this.transform.zoom):0;const l=s?s.symbolFadeChange(t):1,u=s?s.opacities:{},m=s?s.variableOffsets:{},g=s?s.placedOrientations:{};for(const y in this.placements){const v=this.placements[y],I=u[y];I?(this.opacities[y]=new At(I,l,v.text,v.icon),a=a||v.text!==I.text.placed||v.icon!==I.icon.placed):(this.opacities[y]=new At(null,l,v.text,v.icon,v.skipFade),a=a||v.text||v.icon)}for(const y in u){const v=u[y];if(!this.opacities[y]){const I=new At(v,l,!1,!1);I.isHidden()||(this.opacities[y]=I,a=a||v.text.placed||v.icon.placed)}}for(const y in m)this.variableOffsets[y]||!this.opacities[y]||this.opacities[y].isHidden()||(this.variableOffsets[y]=m[y]);for(const y in g)this.placedOrientations[y]||!this.opacities[y]||this.opacities[y].isHidden()||(this.placedOrientations[y]=g[y]);if(s&&s.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");a?this.lastPlacementChangeTime=t:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=s?s.lastPlacementChangeTime:t)}updateLayerOpacities(t,s){const a={};for(const l of s){const u=l.getBucket(t);u&&l.latestFeatureIndex&&t.id===u.layerIds[0]&&this.updateBucketOpacities(u,l.tileID,a,l.collisionBoxArray)}}updateBucketOpacities(t,s,a,l){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const u=t.layers[0],m=u.layout,g=new At(null,0,!1,!1,!0),y=m.get("text-allow-overlap"),v=m.get("icon-allow-overlap"),I=u._unevaluatedLayout.hasValue("text-variable-anchor")||u._unevaluatedLayout.hasValue("text-variable-anchor-offset"),S=m.get("text-rotation-alignment")==="map",C=m.get("text-pitch-alignment")==="map",D=m.get("icon-text-fit")!=="none",R=new At(null,0,y&&(v||!t.hasIconData()||m.get("icon-optional")),v&&(y||!t.hasTextData()||m.get("text-optional")),!0);!t.collisionArrays&&l&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(l);const j=(q,J,$)=>{for(let Q=0;Q0,be=this.placedOrientations[J.crossTileID],Fe=be===p.ah.vertical,Be=be===p.ah.horizontal||be===p.ah.horizontalOnly;if($>0||Q>0){const Te=qi(le.text);j(t.text,$,Fe?bn:Te),j(t.text,Q,Be?bn:Te);const Ne=le.text.isHidden();[J.rightJustifiedTextSymbolIndex,J.centerJustifiedTextSymbolIndex,J.leftJustifiedTextSymbolIndex].forEach(Ee=>{Ee>=0&&(t.text.placedSymbolArray.get(Ee).hidden=Ne||Fe?1:0)}),J.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(J.verticalPlacedTextSymbolIndex).hidden=Ne||Be?1:0);const tt=this.variableOffsets[J.crossTileID];tt&&this.markUsedJustification(t,tt.anchor,J,be);const Pe=this.placedOrientations[J.crossTileID];Pe&&(this.markUsedJustification(t,"left",J,Pe),this.markUsedOrientation(t,Pe,J))}if(fe){const Te=qi(le.icon),Ne=!(D&&J.verticalPlacedIconSymbolIndex&&Fe);J.placedIconSymbolIndex>=0&&(j(t.icon,J.numIconVertices,Ne?Te:bn),t.icon.placedSymbolArray.get(J.placedIconSymbolIndex).hidden=le.icon.isHidden()),J.verticalPlacedIconSymbolIndex>=0&&(j(t.icon,J.numVerticalIconVertices,Ne?bn:Te),t.icon.placedSymbolArray.get(J.verticalPlacedIconSymbolIndex).hidden=le.icon.isHidden())}const we=F&&F.has(q)?F.get(q):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const Te=t.collisionArrays[q];if(Te){let Ne=new p.P(0,0);if(Te.textBox||Te.verticalTextBox){let tt=!0;if(I){const Pe=this.variableOffsets[se];Pe?(Ne=hi(Pe.anchor,Pe.width,Pe.height,Pe.textOffset,Pe.textBoxScale),S&&Ne._rotate(C?this.transform.angle:-this.transform.angle)):tt=!1}if(Te.textBox||Te.verticalTextBox){let Pe;Te.textBox&&(Pe=Fe),Te.verticalTextBox&&(Pe=Be),Qi(t.textCollisionBox.collisionVertexArray,le.text.placed,!tt||Pe,we.text,Ne.x,Ne.y)}}if(Te.iconBox||Te.verticalIconBox){const tt=!!(!Be&&Te.verticalIconBox);let Pe;Te.iconBox&&(Pe=tt),Te.verticalIconBox&&(Pe=!tt),Qi(t.iconCollisionBox.collisionVertexArray,le.icon.placed,Pe,we.icon,D?Ne.x:0,D?Ne.y:0)}}}}if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(t.bucketInstanceId in this.collisionCircleArrays){const q=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=q.invProjMatrix,t.placementViewportMatrix=q.viewportMatrix,t.collisionCircleArray=q.circles,delete this.collisionCircleArrays[t.bucketInstanceId]}}symbolFadeChange(t){return this.fadeDuration===0?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0}}function Qi(c,t,s,a,l,u){a&&a.length!==0||(a=[0,0,0,0]);const m=a[0]-We,g=a[1]-We,y=a[2]-We,v=a[3]-We;c.emplaceBack(t?1:0,s?1:0,l||0,u||0,m,g),c.emplaceBack(t?1:0,s?1:0,l||0,u||0,y,g),c.emplaceBack(t?1:0,s?1:0,l||0,u||0,y,v),c.emplaceBack(t?1:0,s?1:0,l||0,u||0,m,v)}const ui=Math.pow(2,25),Us=Math.pow(2,24),kc=Math.pow(2,17),kt=Math.pow(2,16),Qa=Math.pow(2,9),eo=Math.pow(2,8),er=Math.pow(2,1);function qi(c){if(c.opacity===0&&!c.placed)return 0;if(c.opacity===1&&c.placed)return 4294967295;const t=c.placed?1:0,s=Math.floor(127*c.opacity);return s*ui+t*Us+s*kc+t*kt+s*Qa+t*eo+s*er+t}const bn=0;function Zi(){return{isOccluded:(c,t,s)=>!1,getPitchedTextCorrection:(c,t,s)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(c,t,s,a){throw new Error("Not implemented.")},translatePosition:(c,t,s,a)=>function(l,u,m,g,y=!1){if(!m[0]&&!m[1])return[0,0];const v=y?g==="map"?l.angle:0:g==="viewport"?-l.angle:0;if(v){const I=Math.sin(v),S=Math.cos(v);m=[m[0]*S-m[1]*I,m[0]*I+m[1]*S]}return[y?m[0]:et(u,m[0],l.zoom),y?m[1]:et(u,m[1],l.zoom)]}(c,t,s,a),getCircleRadiusCorrection:c=>1}}class cr{constructor(t){this._sortAcrossTiles=t.layout.get("symbol-z-order")!=="viewport-y"&&!t.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(t,s,a,l,u){const m=this._bucketParts;for(;this._currentTileIndexg.sortKey-y.sortKey));this._currentPartIndex!this._forceFullPlacement&&oe.now()-l>2;for(;this._currentPlacementIndex>=0;){const m=s[t[this._currentPlacementIndex]],g=this.placement.collisionIndex.transform.zoom;if(m.type==="symbol"&&(!m.minzoom||m.minzoom<=g)&&(!m.maxzoom||m.maxzoom>g)){if(this._inProgressLayer||(this._inProgressLayer=new cr(m)),this._inProgressLayer.continuePlacement(a[m.source],this.placement,this._showCollisionBoxes,m,u))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(t){return this.placement.commit(t),this.placement}}const Ur=512/p.W/2;class ri{constructor(t,s,a){this.tileID=t,this.bucketInstanceId=a,this._symbolsByKey={};const l=new Map;for(let u=0;u({x:Math.floor(y.anchorX*Ur),y:Math.floor(y.anchorY*Ur)})),crossTileIDs:m.map(y=>y.crossTileID)};if(g.positions.length>128){const y=new p.av(g.positions.length,16,Uint16Array);for(const{x:v,y:I}of g.positions)y.add(v,I);y.finish(),delete g.positions,g.index=y}this._symbolsByKey[u]=g}}getScaledCoordinates(t,s){const{x:a,y:l,z:u}=this.tileID.canonical,{x:m,y:g,z:y}=s.canonical,v=Ur/Math.pow(2,y-u),I=(g*p.W+t.anchorY)*v,S=l*p.W*Ur;return{x:Math.floor((m*p.W+t.anchorX)*v-a*p.W*Ur),y:Math.floor(I-S)}}findMatches(t,s,a){const l=this.tileID.canonical.zt)}}class wn{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class _s{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(t){const s=Math.round((t-this.lng)/360);if(s!==0)for(const a in this.indexes){const l=this.indexes[a],u={};for(const m in l){const g=l[m];g.tileID=g.tileID.unwrapTo(g.tileID.wrap+s),u[g.tileID.key]=g}this.indexes[a]=u}this.lng=t}addBucket(t,s,a){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===s.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key])}for(let u=0;ut.overscaledZ)for(const g in m){const y=m[g];y.tileID.isChildOf(t)&&y.findMatches(s.symbolInstances,t,l)}else{const g=m[t.scaledTo(Number(u)).key];g&&g.findMatches(s.symbolInstances,t,l)}}for(let u=0;u{s[a]=!0});for(const a in this.layerIndexes)s[a]||delete this.layerIndexes[a]}}const gs=(c,t)=>p.t(c,t&&t.filter(s=>s.identifier!=="source.canvas")),fr=p.aw();class ra extends p.E{constructor(t,s={}){super(),this._rtlPluginLoaded=()=>{for(const a in this.sourceCaches){const l=this.sourceCaches[a].getSource().type;l!=="vector"&&l!=="geojson"||this.sourceCaches[a].reload()}},this.map=t,this.dispatcher=new Or(pr(),t._getMapId()),this.dispatcher.registerMessageHandler("GG",(a,l)=>this.getGlyphs(a,l)),this.dispatcher.registerMessageHandler("GI",(a,l)=>this.getImages(a,l)),this.imageManager=new Wt,this.imageManager.setEventedParent(this),this.glyphManager=new Tr(t._requestManager,s.localIdeographFontFamily),this.lineAtlas=new $i(256,512),this.crossTileSymbolIndex=new Jt,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new p.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",p.ay()),Ni().on(Ns,this._rtlPluginLoaded),this.on("data",a=>{if(a.dataType!=="source"||a.sourceDataType!=="metadata")return;const l=this.sourceCaches[a.sourceId];if(!l)return;const u=l.getSource();if(u&&u.vectorLayerIds)for(const m in this._layers){const g=this._layers[m];g.source===u.id&&this._validateLayer(g)}})}loadURL(t,s={},a){this.fire(new p.k("dataloading",{dataType:"style"})),s.validate=typeof s.validate!="boolean"||s.validate;const l=this.map._requestManager.transformRequest(t,"Style");this._loadStyleRequest=new AbortController,p.h(l,this._loadStyleRequest).then(u=>{this._loadStyleRequest=null,this._load(u.data,s,a)}).catch(u=>{this._loadStyleRequest=null,u&&this.fire(new p.j(u))})}loadJSON(t,s={},a){this.fire(new p.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,oe.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,s.validate=s.validate!==!1,this._load(t,s,a)}).catch(()=>{})}loadEmpty(){this.fire(new p.k("dataloading",{dataType:"style"})),this._load(fr,{validate:!1})}_load(t,s,a){var l;const u=s.transformStyle?s.transformStyle(a,t):t;if(!s.validate||!gs(this,p.x(u))){this._loaded=!0,this.stylesheet=u;for(const m in u.sources)this.addSource(m,u.sources[m],{validate:!1});u.sprite?this._loadSprite(u.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(u.glyphs),this._createLayers(),this.light=new Rr(this.stylesheet.light),this.map.setTerrain((l=this.stylesheet.terrain)!==null&&l!==void 0?l:null),this.fire(new p.k("data",{dataType:"style"})),this.fire(new p.k("style.load"))}}_createLayers(){const t=p.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",t),this._order=t.map(s=>s.id),this._layers={},this._serializedLayers=null;for(const s of t){const a=p.aA(s);a.setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=a}}_loadSprite(t,s=!1,a=void 0){let l;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(u,m,g,y){return p._(this,void 0,void 0,function*(){const v=nt(u),I=g>1?"@2x":"",S={},C={};for(const{id:D,url:R}of v){const j=m.transformRequest(Ji(R,I,".json"),"SpriteJSON");S[D]=p.h(j,y);const F=m.transformRequest(Ji(R,I,".png"),"SpriteImage");C[D]=zt.getImage(F,y)}return yield Promise.all([...Object.values(S),...Object.values(C)]),function(D,R){return p._(this,void 0,void 0,function*(){const j={};for(const F in D){j[F]={};const q=oe.getImageCanvasContext((yield R[F]).data),J=(yield D[F]).data;for(const $ in J){const{width:Q,height:se,x:le,y:fe,sdf:be,pixelRatio:Fe,stretchX:Be,stretchY:we,content:Te,textFitWidth:Ne,textFitHeight:tt}=J[$];j[F][$]={data:null,pixelRatio:Fe,sdf:be,stretchX:Be,stretchY:we,content:Te,textFitWidth:Ne,textFitHeight:tt,spriteData:{width:Q,height:se,x:le,y:fe,context:q}}}}return j})}(S,C)})}(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(u=>{if(this._spriteRequest=null,u)for(const m in u){this._spritesImagesIds[m]=[];const g=this._spritesImagesIds[m]?this._spritesImagesIds[m].filter(y=>!(y in u)):[];for(const y of g)this.imageManager.removeImage(y),this._changedImages[y]=!0;for(const y in u[m]){const v=m==="default"?y:`${m}:${y}`;this._spritesImagesIds[m].push(v),v in this.imageManager.images?this.imageManager.updateImage(v,u[m][y],!1):this.imageManager.addImage(v,u[m][y]),s&&(this._changedImages[v]=!0)}}}).catch(u=>{this._spriteRequest=null,l=u,this.fire(new p.j(l))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),s&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new p.k("data",{dataType:"style"})),a&&a(l)})}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new p.k("data",{dataType:"style"}))}_validateLayer(t){const s=this.sourceCaches[t.source];if(!s)return;const a=t.sourceLayer;if(!a)return;const l=s.getSource();(l.type==="geojson"||l.vectorLayerIds&&l.vectorLayerIds.indexOf(a)===-1)&&this.fire(new p.j(new Error(`Source layer "${a}" does not exist on source "${l.id}" as specified by style layer "${t.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(t){const s=this._serializedAllLayers();if(!t||t.length===0)return Object.values(s);const a=[];for(const l of t)s[l]&&a.push(s[l]);return a}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const s=Object.keys(this._layers);for(const a of s){const l=this._layers[a];l.type!=="custom"&&(t[a]=l.serialize())}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return!0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return!0;for(const t in this._layers)if(this._layers[t].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(t){if(!this._loaded)return;const s=this._changed;if(s){const l=Object.keys(this._updatedLayers),u=Object.keys(this._removedLayers);(l.length||u.length)&&this._updateWorkerLayers(l,u);for(const m in this._updatedSources){const g=this._updatedSources[m];if(g==="reload")this._reloadSource(m);else{if(g!=="clear")throw new Error(`Invalid action ${g}`);this._clearSource(m)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const m in this._updatedPaintProps)this._layers[m].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates()}const a={};for(const l in this.sourceCaches){const u=this.sourceCaches[l];a[l]=u.used,u.used=!1}for(const l of this._order){const u=this._layers[l];u.recalculate(t,this._availableImages),!u.isHidden(t.zoom)&&u.source&&(this.sourceCaches[u.source].used=!0)}for(const l in a){const u=this.sourceCaches[l];!!a[l]!=!!u.used&&u.fire(new p.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:l}))}this.light.recalculate(t),this.z=t.zoom,s&&this.fire(new p.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const s in this.sourceCaches)this.sourceCaches[s].reloadTilesForDependencies(["icons","patterns"],t);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(t,s){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(t),removedIds:s})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(t,s={}){var a;this._checkLoaded();const l=this.serialize();if(t=s.transformStyle?s.transformStyle(l,t):t,((a=s.validate)===null||a===void 0||a)&&gs(this,p.x(t)))return!1;(t=p.aB(t)).layers=p.az(t.layers);const u=p.aC(l,t),m=this._getOperationsToPerform(u);if(m.unimplemented.length>0)throw new Error(`Unimplemented: ${m.unimplemented.join(", ")}.`);if(m.operations.length===0)return!1;for(const g of m.operations)g();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const s=[],a=[];for(const l of t)switch(l.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":s.push(()=>this.addLayer.apply(this,l.args));break;case"removeLayer":s.push(()=>this.removeLayer.apply(this,l.args));break;case"setPaintProperty":s.push(()=>this.setPaintProperty.apply(this,l.args));break;case"setLayoutProperty":s.push(()=>this.setLayoutProperty.apply(this,l.args));break;case"setFilter":s.push(()=>this.setFilter.apply(this,l.args));break;case"addSource":s.push(()=>this.addSource.apply(this,l.args));break;case"removeSource":s.push(()=>this.removeSource.apply(this,l.args));break;case"setLayerZoomRange":s.push(()=>this.setLayerZoomRange.apply(this,l.args));break;case"setLight":s.push(()=>this.setLight.apply(this,l.args));break;case"setGeoJSONSourceData":s.push(()=>this.setGeoJSONSourceData.apply(this,l.args));break;case"setGlyphs":s.push(()=>this.setGlyphs.apply(this,l.args));break;case"setSprite":s.push(()=>this.setSprite.apply(this,l.args));break;case"setTerrain":s.push(()=>this.map.setTerrain.apply(this,l.args));break;case"setTransition":s.push(()=>{});break;default:a.push(l.command)}return{operations:s,unimplemented:a}}addImage(t,s){if(this.getImage(t))return this.fire(new p.j(new Error(`An image named "${t}" already exists.`)));this.imageManager.addImage(t,s),this._afterImageUpdated(t)}updateImage(t,s){this.imageManager.updateImage(t,s)}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new p.j(new Error(`An image named "${t}" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t)}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new p.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,s,a={}){if(this._checkLoaded(),this.sourceCaches[t]!==void 0)throw new Error(`Source "${t}" already exists.`);if(!s.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(s).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(s.type)>=0&&this._validate(p.x.source,`sources.${t}`,s,null,a))return;this.map&&this.map._collectResourceTiming&&(s.collectResourceTiming=!0);const l=this.sourceCaches[t]=new Se(t,s,this.dispatcher);l.style=this,l.setEventedParent(this,()=>({isSourceLoaded:l.loaded(),source:l.serialize(),sourceId:t})),l.onAdd(this.map),this._changed=!0}removeSource(t){if(this._checkLoaded(),this.sourceCaches[t]===void 0)throw new Error("There is no source with this ID");for(const a in this._layers)if(this._layers[a].source===t)return this.fire(new p.j(new Error(`Source "${t}" cannot be removed while layer "${a}" is using it.`)));const s=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],s.fire(new p.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:t})),s.setEventedParent(null),s.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(t,s){if(this._checkLoaded(),this.sourceCaches[t]===void 0)throw new Error(`There is no source with this ID=${t}`);const a=this.sourceCaches[t].getSource();if(a.type!=="geojson")throw new Error(`geojsonSource.type is ${a.type}, which is !== 'geojson`);a.setData(s),this._changed=!0}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,s,a={}){this._checkLoaded();const l=t.id;if(this.getLayer(l))return void this.fire(new p.j(new Error(`Layer "${l}" already exists on this map.`)));let u;if(t.type==="custom"){if(gs(this,p.aD(t)))return;u=p.aA(t)}else{if("source"in t&&typeof t.source=="object"&&(this.addSource(l,t.source),t=p.aB(t),t=p.e(t,{source:l})),this._validate(p.x.layer,`layers.${l}`,t,{arrayIndex:-1},a))return;u=p.aA(t),this._validateLayer(u),u.setEventedParent(this,{layer:{id:l}})}const m=s?this._order.indexOf(s):this._order.length;if(s&&m===-1)this.fire(new p.j(new Error(`Cannot add layer "${l}" before non-existing layer "${s}".`)));else{if(this._order.splice(m,0,l),this._layerOrderChanged=!0,this._layers[l]=u,this._removedLayers[l]&&u.source&&u.type!=="custom"){const g=this._removedLayers[l];delete this._removedLayers[l],g.type!==u.type?this._updatedSources[u.source]="clear":(this._updatedSources[u.source]="reload",this.sourceCaches[u.source].pause())}this._updateLayer(u),u.onAdd&&u.onAdd(this.map)}}moveLayer(t,s){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new p.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===s)return;const a=this._order.indexOf(t);this._order.splice(a,1);const l=s?this._order.indexOf(s):this._order.length;s&&l===-1?this.fire(new p.j(new Error(`Cannot move layer "${t}" before non-existing layer "${s}".`))):(this._order.splice(l,0,t),this._layerOrderChanged=!0)}removeLayer(t){this._checkLoaded();const s=this._layers[t];if(!s)return void this.fire(new p.j(new Error(`Cannot remove non-existing layer "${t}".`)));s.setEventedParent(null);const a=this._order.indexOf(t);this._order.splice(a,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=s,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],s.onRemove&&s.onRemove(this.map)}getLayer(t){return this._layers[t]}getLayersOrder(){return[...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,s,a){this._checkLoaded();const l=this.getLayer(t);l?l.minzoom===s&&l.maxzoom===a||(s!=null&&(l.minzoom=s),a!=null&&(l.maxzoom=a),this._updateLayer(l)):this.fire(new p.j(new Error(`Cannot set the zoom range of non-existing layer "${t}".`)))}setFilter(t,s,a={}){this._checkLoaded();const l=this.getLayer(t);if(l){if(!p.aE(l.filter,s))return s==null?(l.filter=void 0,void this._updateLayer(l)):void(this._validate(p.x.filter,`layers.${l.id}.filter`,s,null,a)||(l.filter=p.aB(s),this._updateLayer(l)))}else this.fire(new p.j(new Error(`Cannot filter non-existing layer "${t}".`)))}getFilter(t){return p.aB(this.getLayer(t).filter)}setLayoutProperty(t,s,a,l={}){this._checkLoaded();const u=this.getLayer(t);u?p.aE(u.getLayoutProperty(s),a)||(u.setLayoutProperty(s,a,l),this._updateLayer(u)):this.fire(new p.j(new Error(`Cannot style non-existing layer "${t}".`)))}getLayoutProperty(t,s){const a=this.getLayer(t);if(a)return a.getLayoutProperty(s);this.fire(new p.j(new Error(`Cannot get style of non-existing layer "${t}".`)))}setPaintProperty(t,s,a,l={}){this._checkLoaded();const u=this.getLayer(t);u?p.aE(u.getPaintProperty(s),a)||(u.setPaintProperty(s,a,l)&&this._updateLayer(u),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new p.j(new Error(`Cannot style non-existing layer "${t}".`)))}getPaintProperty(t,s){return this.getLayer(t).getPaintProperty(s)}setFeatureState(t,s){this._checkLoaded();const a=t.source,l=t.sourceLayer,u=this.sourceCaches[a];if(u===void 0)return void this.fire(new p.j(new Error(`The source '${a}' does not exist in the map's style.`)));const m=u.getSource().type;m==="geojson"&&l?this.fire(new p.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):m!=="vector"||l?(t.id===void 0&&this.fire(new p.j(new Error("The feature id parameter must be provided."))),u.setFeatureState(l,t.id,s)):this.fire(new p.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(t,s){this._checkLoaded();const a=t.source,l=this.sourceCaches[a];if(l===void 0)return void this.fire(new p.j(new Error(`The source '${a}' does not exist in the map's style.`)));const u=l.getSource().type,m=u==="vector"?t.sourceLayer:void 0;u!=="vector"||m?s&&typeof t.id!="string"&&typeof t.id!="number"?this.fire(new p.j(new Error("A feature id is required to remove its specific state property."))):l.removeFeatureState(m,t.id,s):this.fire(new p.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(t){this._checkLoaded();const s=t.source,a=t.sourceLayer,l=this.sourceCaches[s];if(l!==void 0)return l.getSource().type!=="vector"||a?(t.id===void 0&&this.fire(new p.j(new Error("The feature id parameter must be provided."))),l.getFeatureState(a,t.id)):void this.fire(new p.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new p.j(new Error(`The source '${s}' does not exist in the map's style.`)))}getTransition(){return p.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=p.aF(this.sourceCaches,u=>u.serialize()),s=this._serializeByIds(this._order),a=this.map.getTerrain()||void 0,l=this.stylesheet;return p.aG({version:l.version,name:l.name,metadata:l.metadata,light:l.light,center:l.center,zoom:l.zoom,bearing:l.bearing,pitch:l.pitch,sprite:l.sprite,glyphs:l.glyphs,transition:l.transition,sources:t,layers:s,terrain:a},u=>u!==void 0)}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&this.sourceCaches[t.source].getSource().type!=="raster"&&(this._updatedSources[t.source]="reload",this.sourceCaches[t.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(t){const s=m=>this._layers[m].type==="fill-extrusion",a={},l=[];for(let m=this._order.length-1;m>=0;m--){const g=this._order[m];if(s(g)){a[g]=m;for(const y of t){const v=y[g];if(v)for(const I of v)l.push(I)}}}l.sort((m,g)=>g.intersectionZ-m.intersectionZ);const u=[];for(let m=this._order.length-1;m>=0;m--){const g=this._order[m];if(s(g))for(let y=l.length-1;y>=0;y--){const v=l[y].feature;if(a[v.layer.id]{const be=q.featureSortOrder;if(be){const Fe=be.indexOf(le.featureIndex);return be.indexOf(fe.featureIndex)-Fe}return fe.featureIndex-le.featureIndex});for(const le of se)Q.push(le)}}for(const q in R)R[q].forEach(J=>{const $=J.feature,Q=v[g[q].source].getFeatureState($.layer["source-layer"],$.id);$.source=$.layer.source,$.layer["source-layer"]&&($.sourceLayer=$.layer["source-layer"]),$.state=Q});return R}(this._layers,m,this.sourceCaches,t,s,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(u)}querySourceFeatures(t,s){s&&s.filter&&this._validate(p.x.filter,"querySourceFeatures.filter",s.filter,null,s);const a=this.sourceCaches[t];return a?function(l,u){const m=l.getRenderableIds().map(v=>l.getTileByID(v)),g=[],y={};for(let v=0;vC.getTileByID(D)).sort((D,R)=>R.tileID.overscaledZ-D.tileID.overscaledZ||(D.tileID.isLessThan(R.tileID)?-1:1))}const S=this.crossTileSymbolIndex.addLayer(I,y[I.source],t.center.lng);m=m||S}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((u=u||this._layerOrderChanged||a===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(oe.now(),t.zoom))&&(this.pauseablePlacement=new ul(t,this.map.terrain,this._order,u,s,a,l,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,y),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(oe.now()),g=!0),m&&this.pauseablePlacement.placement.setStale()),g||m)for(const v of this._order){const I=this._layers[v];I.type==="symbol"&&this.placement.updateLayerOpacities(I,y[I.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(oe.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles()}getImages(t,s){return p._(this,void 0,void 0,function*(){const a=yield this.imageManager.getImages(s.icons);this._updateTilesForChangedImages();const l=this.sourceCaches[s.source];return l&&l.setDependencies(s.tileID.key,s.type,s.icons),a})}getGlyphs(t,s){return p._(this,void 0,void 0,function*(){const a=yield this.glyphManager.getGlyphs(s.stacks),l=this.sourceCaches[s.source];return l&&l.setDependencies(s.tileID.key,s.type,[""]),a})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,s={}){this._checkLoaded(),t&&this._validate(p.x.glyphs,"glyphs",t,null,s)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t))}addSprite(t,s,a={},l){this._checkLoaded();const u=[{id:t,url:s}],m=[...nt(this.stylesheet.sprite),...u];this._validate(p.x.sprite,"sprite",m,null,a)||(this.stylesheet.sprite=m,this._loadSprite(u,!0,l))}removeSprite(t){this._checkLoaded();const s=nt(this.stylesheet.sprite);if(s.find(a=>a.id===t)){if(this._spritesImagesIds[t])for(const a of this._spritesImagesIds[t])this.imageManager.removeImage(a),this._changedImages[a]=!0;s.splice(s.findIndex(a=>a.id===t),1),this.stylesheet.sprite=s.length>0?s:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new p.k("data",{dataType:"style"}))}else this.fire(new p.j(new Error(`Sprite "${t}" doesn't exists on this map.`)))}getSprite(){return nt(this.stylesheet.sprite)}setSprite(t,s={},a){this._checkLoaded(),t&&this._validate(p.x.sprite,"sprite",t,null,s)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,a):(this._unloadSprite(),a&&a(null)))}}var Mr=p.X([{name:"a_pos",type:"Int16",components:2}]),to="attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}";const qs={prelude:St(`#ifdef GL_ES -precision mediump float; -#else -#if !defined(lowp) -#define lowp -#endif -#if !defined(mediump) -#define mediump -#endif -#if !defined(highp) -#define highp -#endif -#endif -`,`#ifdef GL_ES -precision highp float; -#else -#if !defined(lowp) -#define lowp -#endif -#if !defined(mediump) -#define mediump -#endif -#if !defined(highp) -#define highp -#endif -#endif -vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0 -);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;} -#ifdef TERRAIN3D -uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth; -#endif -const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) { -#ifdef TERRAIN3D -highp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0)); -#else -return 1.0; -#endif -}float calculate_visibility(vec4 pos) { -#ifdef TERRAIN3D -vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0; -#else -return 1.0; -#endif -}float ele(vec2 pos) { -#ifdef TERRAIN3D -vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a; -#else -return 0.0; -#endif -}float get_elevation(vec2 pos) { -#ifdef TERRAIN3D -vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration; -#else -return 0.0; -#endif -}`),background:St(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:St(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:St(`varying vec3 v_data;varying float v_visibility; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define mediump float radius -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define highp vec4 stroke_color -#pragma mapbox: define mediump float stroke_width -#pragma mapbox: define lowp float stroke_opacity -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize mediump float radius -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize highp vec4 stroke_color -#pragma mapbox: initialize mediump float stroke_width -#pragma mapbox: initialize lowp float stroke_opacity -vec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define mediump float radius -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define highp vec4 stroke_color -#pragma mapbox: define mediump float stroke_width -#pragma mapbox: define lowp float stroke_opacity -void main(void) { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize mediump float radius -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize highp vec4 stroke_color -#pragma mapbox: initialize mediump float stroke_width -#pragma mapbox: initialize lowp float stroke_opacity -vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:St("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:St(`uniform highp float u_intensity;varying vec2 v_extrude; -#pragma mapbox: define highp float weight -#define GAUSS_COEF 0.3989422804014327 -void main() { -#pragma mapbox: initialize highp float weight -float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude; -#pragma mapbox: define highp float weight -#pragma mapbox: define mediump float radius -const highp float ZERO=1.0/255.0/16.0; -#define GAUSS_COEF 0.3989422804014327 -void main(void) { -#pragma mapbox: initialize highp float weight -#pragma mapbox: initialize mediump float radius -vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}`),heatmapTexture:St(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(0.0); -#endif -}`,"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:St("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:St("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:St("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:St(`#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float opacity -gl_FragColor=color*opacity; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`attribute vec2 a_pos;uniform mat4 u_matrix; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:St(`varying vec2 v_pos; -#pragma mapbox: define highp vec4 outline_color -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize highp vec4 outline_color -#pragma mapbox: initialize lowp float opacity -float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos; -#pragma mapbox: define highp vec4 outline_color -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize highp vec4 outline_color -#pragma mapbox: initialize lowp float opacity -gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:St(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -void main() { -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:St(`#ifdef GL_ES -precision highp float; -#endif -uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -void main() { -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b; -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:St(`varying vec4 v_color;void main() {gl_FragColor=v_color; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed; -#ifdef TERRAIN3D -attribute vec2 a_centroid; -#endif -varying vec4 v_color; -#pragma mapbox: define highp float base -#pragma mapbox: define highp float height -#pragma mapbox: define highp vec4 color -void main() { -#pragma mapbox: initialize highp float base -#pragma mapbox: initialize highp float height -#pragma mapbox: initialize highp vec4 color -vec3 normal=a_normal_ed.xyz; -#ifdef TERRAIN3D -float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); -#else -float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; -#endif -base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:St(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; -#pragma mapbox: define lowp float base -#pragma mapbox: define lowp float height -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float base -#pragma mapbox: initialize lowp float height -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed; -#ifdef TERRAIN3D -attribute vec2 a_centroid; -#endif -varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; -#pragma mapbox: define lowp float base -#pragma mapbox: define lowp float height -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float base -#pragma mapbox: initialize lowp float height -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to; -#ifdef TERRAIN3D -float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); -#else -float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; -#endif -base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 -? a_pos -: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:St(`#ifdef GL_ES -precision highp float; -#endif -uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:St(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; -#define PI 3.141592653589793 -void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:St(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; -#endif -v_width2=vec2(outset,inset);}`),lineGradient:St(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; -#endif -v_width2=vec2(outset,inset);}`),linePattern:St(`#ifdef GL_ES -precision highp float; -#endif -uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -#pragma mapbox: define lowp vec4 pattern_from -#pragma mapbox: define lowp vec4 pattern_to -#pragma mapbox: define lowp float pixel_ratio_from -#pragma mapbox: define lowp float pixel_ratio_to -void main() { -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -#pragma mapbox: initialize mediump vec4 pattern_from -#pragma mapbox: initialize mediump vec4 pattern_to -#pragma mapbox: initialize lowp float pixel_ratio_from -#pragma mapbox: initialize lowp float pixel_ratio_to -float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; -#endif -v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:St(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,` -#define scale 0.015873016 -#define LINE_DISTANCE_SCALE 2.0 -attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; -#pragma mapbox: define highp vec4 color -#pragma mapbox: define lowp float blur -#pragma mapbox: define lowp float opacity -#pragma mapbox: define mediump float gapwidth -#pragma mapbox: define lowp float offset -#pragma mapbox: define mediump float width -#pragma mapbox: define lowp float floorwidth -void main() { -#pragma mapbox: initialize highp vec4 color -#pragma mapbox: initialize lowp float blur -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize mediump float gapwidth -#pragma mapbox: initialize lowp float offset -#pragma mapbox: initialize mediump float width -#pragma mapbox: initialize lowp float floorwidth -float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; -#ifdef TERRAIN3D -v_gamma_scale=1.0; -#else -float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; -#endif -v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:St(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:St(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float opacity -lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} -#pragma mapbox: define lowp float opacity -void main() { -#pragma mapbox: initialize lowp float opacity -vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:St(`#define SDF_PX 8.0 -uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:St(`#define SDF_PX 8.0 -#define SDF 1.0 -#define ICON 0.0 -uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha; -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); -#ifdef OVERDRAW_INSPECTOR -gl_FragColor=vec4(1.0); -#endif -}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} -#pragma mapbox: define highp vec4 fill_color -#pragma mapbox: define highp vec4 halo_color -#pragma mapbox: define lowp float opacity -#pragma mapbox: define lowp float halo_width -#pragma mapbox: define lowp float halo_blur -void main() { -#pragma mapbox: initialize highp vec4 fill_color -#pragma mapbox: initialize highp vec4 halo_color -#pragma mapbox: initialize lowp float opacity -#pragma mapbox: initialize lowp float halo_width -#pragma mapbox: initialize lowp float halo_blur -vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? -camera_to_anchor_distance/u_camera_to_center_distance : -u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:St("uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}",to),terrainDepth:St("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}",to),terrainCoords:St("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}",to)};function St(c,t){const s=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,a=t.match(/attribute ([\w]+) ([\w]+)/g),l=c.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),u=t.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),m=u?u.concat(l):l,g={};return{fragmentSource:c=c.replace(s,(y,v,I,S,C)=>(g[C]=!0,v==="define"?` -#ifndef HAS_UNIFORM_u_${C} -varying ${I} ${S} ${C}; -#else -uniform ${I} ${S} u_${C}; -#endif -`:` -#ifdef HAS_UNIFORM_u_${C} - ${I} ${S} ${C} = u_${C}; -#endif -`)),vertexSource:t=t.replace(s,(y,v,I,S,C)=>{const D=S==="float"?"vec2":"vec4",R=C.match(/color/)?"color":D;return g[C]?v==="define"?` -#ifndef HAS_UNIFORM_u_${C} -uniform lowp float u_${C}_t; -attribute ${I} ${D} a_${C}; -varying ${I} ${S} ${C}; -#else -uniform ${I} ${S} u_${C}; -#endif -`:R==="vec4"?` -#ifndef HAS_UNIFORM_u_${C} - ${C} = a_${C}; -#else - ${I} ${S} ${C} = u_${C}; -#endif -`:` -#ifndef HAS_UNIFORM_u_${C} - ${C} = unpack_mix_${R}(a_${C}, u_${C}_t); -#else - ${I} ${S} ${C} = u_${C}; -#endif -`:v==="define"?` -#ifndef HAS_UNIFORM_u_${C} -uniform lowp float u_${C}_t; -attribute ${I} ${D} a_${C}; -#else -uniform ${I} ${S} u_${C}; -#endif -`:R==="vec4"?` -#ifndef HAS_UNIFORM_u_${C} - ${I} ${S} ${C} = a_${C}; -#else - ${I} ${S} ${C} = u_${C}; -#endif -`:` -#ifndef HAS_UNIFORM_u_${C} - ${I} ${S} ${C} = unpack_mix_${R}(a_${C}, u_${C}_t); -#else - ${I} ${S} ${C} = u_${C}; -#endif -`}),staticAttributes:a,staticUniforms:m}}class sa{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(t,s,a,l,u,m,g,y,v){this.context=t;let I=this.boundPaintVertexBuffers.length!==l.length;for(let S=0;!I&&S({u_depth:new p.aH(le,fe.u_depth),u_terrain:new p.aH(le,fe.u_terrain),u_terrain_dim:new p.aI(le,fe.u_terrain_dim),u_terrain_matrix:new p.aJ(le,fe.u_terrain_matrix),u_terrain_unpack:new p.aK(le,fe.u_terrain_unpack),u_terrain_exaggeration:new p.aI(le,fe.u_terrain_exaggeration)}))(t,se),this.binderUniforms=a?a.getUniforms(t,se):[]}draw(t,s,a,l,u,m,g,y,v,I,S,C,D,R,j,F,q,J){const $=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(a),t.setStencilMode(l),t.setColorMode(u),t.setCullFace(m),y){t.activeTexture.set($.TEXTURE2),$.bindTexture($.TEXTURE_2D,y.depthTexture),t.activeTexture.set($.TEXTURE3),$.bindTexture($.TEXTURE_2D,y.texture);for(const se in this.terrainUniforms)this.terrainUniforms[se].set(y[se])}for(const se in this.fixedUniforms)this.fixedUniforms[se].set(g[se]);j&&j.setUniforms(t,this.binderUniforms,D,{zoom:R});let Q=0;switch(s){case $.LINES:Q=2;break;case $.TRIANGLES:Q=3;break;case $.LINE_STRIP:Q=1}for(const se of C.get()){const le=se.vaos||(se.vaos={});(le[v]||(le[v]=new sa)).bind(t,this,I,j?j.getPaintVertexBuffers():[],S,se.vertexOffset,F,q,J),$.drawElements(s,se.primitiveLength*Q,$.UNSIGNED_SHORT,se.primitiveOffset*Q*2)}}}function na(c,t,s){const a=1/et(s,1,t.transform.tileZoom),l=Math.pow(2,s.tileID.overscaledZ),u=s.tileSize*Math.pow(2,t.transform.tileZoom)/l,m=u*(s.tileID.canonical.x+s.tileID.wrap*l),g=u*s.tileID.canonical.y;return{u_image:0,u_texsize:s.imageAtlasTexture.size,u_scale:[a,c.fromScale,c.toScale],u_fade:c.t,u_pixel_coord_upper:[m>>16,g>>16],u_pixel_coord_lower:[65535&m,65535&g]}}const Sn=(c,t,s,a)=>{const l=t.style.light,u=l.properties.get("position"),m=[u.x,u.y,u.z],g=function(){var v=new p.A(9);return p.A!=Float32Array&&(v[1]=0,v[2]=0,v[3]=0,v[5]=0,v[6]=0,v[7]=0),v[0]=1,v[4]=1,v[8]=1,v}();l.properties.get("anchor")==="viewport"&&function(v,I){var S=Math.sin(I),C=Math.cos(I);v[0]=C,v[1]=S,v[2]=0,v[3]=-S,v[4]=C,v[5]=0,v[6]=0,v[7]=0,v[8]=1}(g,-t.transform.angle),function(v,I,S){var C=I[0],D=I[1],R=I[2];v[0]=C*S[0]+D*S[3]+R*S[6],v[1]=C*S[1]+D*S[4]+R*S[7],v[2]=C*S[2]+D*S[5]+R*S[8]}(m,m,g);const y=l.properties.get("color");return{u_matrix:c,u_lightpos:m,u_lightintensity:l.properties.get("intensity"),u_lightcolor:[y.r,y.g,y.b],u_vertical_gradient:+s,u_opacity:a}},ro=(c,t,s,a,l,u,m)=>p.e(Sn(c,t,s,a),na(u,t,m),{u_height_factor:-Math.pow(2,l.overscaledZ)/m.tileSize/8}),aa=c=>({u_matrix:c}),In=(c,t,s,a)=>p.e(aa(c),na(s,t,a)),oa=(c,t)=>({u_matrix:c,u_world:t}),Tn=(c,t,s,a,l)=>p.e(In(c,t,s,a),{u_world:l}),Mc=(c,t,s,a)=>{const l=c.transform;let u,m;if(a.paint.get("circle-pitch-alignment")==="map"){const g=et(s,1,l.zoom);u=!0,m=[g,g]}else u=!1,m=l.pixelsToGLUnits;return{u_camera_to_center_distance:l.cameraToCenterDistance,u_scale_with_map:+(a.paint.get("circle-pitch-scale")==="map"),u_matrix:c.translatePosMatrix(t.posMatrix,s,a.paint.get("circle-translate"),a.paint.get("circle-translate-anchor")),u_pitch_with_map:+u,u_device_pixel_ratio:c.pixelRatio,u_extrude_scale:m}},Ac=(c,t,s)=>({u_matrix:c,u_inv_matrix:t,u_camera_to_center_distance:s.cameraToCenterDistance,u_viewport_size:[s.width,s.height]}),so=(c,t,s=1)=>({u_matrix:c,u_color:t,u_overlay:0,u_overlay_scale:s}),dl=c=>({u_matrix:c}),ys=(c,t,s,a)=>({u_matrix:c,u_extrude_scale:et(t,1,s),u_intensity:a});function la(c,t){const s=Math.pow(2,t.canonical.z),a=t.canonical.y;return[new p.Y(0,a/s).toLngLat().lat,new p.Y(0,(a+1)/s).toLngLat().lat]}const zi=(c,t,s,a)=>{const l=c.transform;return{u_matrix:oo(c,t,s,a),u_ratio:1/et(t,1,l.zoom),u_device_pixel_ratio:c.pixelRatio,u_units_to_pixels:[1/l.pixelsToGLUnits[0],1/l.pixelsToGLUnits[1]]}},tr=(c,t,s,a,l)=>p.e(zi(c,t,s,l),{u_image:0,u_image_height:a}),no=(c,t,s,a,l)=>{const u=c.transform,m=ao(t,u);return{u_matrix:oo(c,t,s,l),u_texsize:t.imageAtlasTexture.size,u_ratio:1/et(t,1,u.zoom),u_device_pixel_ratio:c.pixelRatio,u_image:0,u_scale:[m,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/u.pixelsToGLUnits[0],1/u.pixelsToGLUnits[1]]}},ca=(c,t,s,a,l,u)=>{const m=c.lineAtlas,g=ao(t,c.transform),y=s.layout.get("line-cap")==="round",v=m.getDash(a.from,y),I=m.getDash(a.to,y),S=v.width*l.fromScale,C=I.width*l.toScale;return p.e(zi(c,t,s,u),{u_patternscale_a:[g/S,-v.height/2],u_patternscale_b:[g/C,-I.height/2],u_sdfgamma:m.width/(256*Math.min(S,C)*c.pixelRatio)/2,u_image:0,u_tex_y_a:v.y,u_tex_y_b:I.y,u_mix:l.t})};function ao(c,t){return 1/et(c,1,t.tileZoom)}function oo(c,t,s,a){return c.translatePosMatrix(a?a.posMatrix:t.tileID.posMatrix,t,s.paint.get("line-translate"),s.paint.get("line-translate-anchor"))}const Gs=(c,t,s,a,l)=>{return{u_matrix:c,u_tl_parent:t,u_scale_parent:s,u_buffer_scale:1,u_fade_t:a.mix,u_opacity:a.opacity*l.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:l.paint.get("raster-brightness-min"),u_brightness_high:l.paint.get("raster-brightness-max"),u_saturation_factor:(m=l.paint.get("raster-saturation"),m>0?1-1/(1.001-m):-m),u_contrast_factor:(u=l.paint.get("raster-contrast"),u>0?1/(1-u):1+u),u_spin_weights:Pc(l.paint.get("raster-hue-rotate"))};var u,m};function Pc(c){c*=Math.PI/180;const t=Math.sin(c),s=Math.cos(c);return[(2*s+1)/3,(-Math.sqrt(3)*t-s+1)/3,(Math.sqrt(3)*t-s+1)/3]}const pl=(c,t,s,a,l,u,m,g,y,v,I,S,C,D)=>{const R=m.transform;return{u_is_size_zoom_constant:+(c==="constant"||c==="source"),u_is_size_feature_constant:+(c==="constant"||c==="camera"),u_size_t:t?t.uSizeT:0,u_size:t?t.uSize:0,u_camera_to_center_distance:R.cameraToCenterDistance,u_pitch:R.pitch/360*2*Math.PI,u_rotate_symbol:+s,u_aspect_ratio:R.width/R.height,u_fade_change:m.options.fadeDuration?m.symbolFadeChange:1,u_matrix:g,u_label_plane_matrix:y,u_coord_matrix:v,u_is_text:+S,u_pitch_with_map:+a,u_is_along_line:l,u_is_variable_anchor:u,u_texsize:C,u_texture:0,u_translation:I,u_pitched_scale:D}},fl=(c,t,s,a,l,u,m,g,y,v,I,S,C,D,R)=>{const j=m.transform;return p.e(pl(c,t,s,a,l,u,m,g,y,v,I,S,C,R),{u_gamma_scale:a?Math.cos(j._pitch)*j.cameraToCenterDistance:1,u_device_pixel_ratio:m.pixelRatio,u_is_halo:+D})},Cc=(c,t,s,a,l,u,m,g,y,v,I,S,C,D)=>p.e(fl(c,t,s,a,l,u,m,g,y,v,I,!0,S,!0,D),{u_texsize_icon:C,u_texture_icon:1}),Ec=(c,t,s)=>({u_matrix:c,u_opacity:t,u_color:s}),zc=(c,t,s,a,l,u)=>p.e(function(m,g,y,v){const I=y.imageManager.getPattern(m.from.toString()),S=y.imageManager.getPattern(m.to.toString()),{width:C,height:D}=y.imageManager.getPixelSize(),R=Math.pow(2,v.tileID.overscaledZ),j=v.tileSize*Math.pow(2,y.transform.tileZoom)/R,F=j*(v.tileID.canonical.x+v.tileID.wrap*R),q=j*v.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:I.tl,u_pattern_br_a:I.br,u_pattern_tl_b:S.tl,u_pattern_br_b:S.br,u_texsize:[C,D],u_mix:g.t,u_pattern_size_a:I.displaySize,u_pattern_size_b:S.displaySize,u_scale_a:g.fromScale,u_scale_b:g.toScale,u_tile_units_to_pixels:1/et(v,1,y.transform.tileZoom),u_pixel_coord_upper:[F>>16,q>>16],u_pixel_coord_lower:[65535&F,65535&q]}}(a,u,s,l),{u_matrix:c,u_opacity:t}),ha={fillExtrusion:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_lightpos:new p.aL(c,t.u_lightpos),u_lightintensity:new p.aI(c,t.u_lightintensity),u_lightcolor:new p.aL(c,t.u_lightcolor),u_vertical_gradient:new p.aI(c,t.u_vertical_gradient),u_opacity:new p.aI(c,t.u_opacity)}),fillExtrusionPattern:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_lightpos:new p.aL(c,t.u_lightpos),u_lightintensity:new p.aI(c,t.u_lightintensity),u_lightcolor:new p.aL(c,t.u_lightcolor),u_vertical_gradient:new p.aI(c,t.u_vertical_gradient),u_height_factor:new p.aI(c,t.u_height_factor),u_image:new p.aH(c,t.u_image),u_texsize:new p.aM(c,t.u_texsize),u_pixel_coord_upper:new p.aM(c,t.u_pixel_coord_upper),u_pixel_coord_lower:new p.aM(c,t.u_pixel_coord_lower),u_scale:new p.aL(c,t.u_scale),u_fade:new p.aI(c,t.u_fade),u_opacity:new p.aI(c,t.u_opacity)}),fill:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix)}),fillPattern:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_image:new p.aH(c,t.u_image),u_texsize:new p.aM(c,t.u_texsize),u_pixel_coord_upper:new p.aM(c,t.u_pixel_coord_upper),u_pixel_coord_lower:new p.aM(c,t.u_pixel_coord_lower),u_scale:new p.aL(c,t.u_scale),u_fade:new p.aI(c,t.u_fade)}),fillOutline:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_world:new p.aM(c,t.u_world)}),fillOutlinePattern:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_world:new p.aM(c,t.u_world),u_image:new p.aH(c,t.u_image),u_texsize:new p.aM(c,t.u_texsize),u_pixel_coord_upper:new p.aM(c,t.u_pixel_coord_upper),u_pixel_coord_lower:new p.aM(c,t.u_pixel_coord_lower),u_scale:new p.aL(c,t.u_scale),u_fade:new p.aI(c,t.u_fade)}),circle:(c,t)=>({u_camera_to_center_distance:new p.aI(c,t.u_camera_to_center_distance),u_scale_with_map:new p.aH(c,t.u_scale_with_map),u_pitch_with_map:new p.aH(c,t.u_pitch_with_map),u_extrude_scale:new p.aM(c,t.u_extrude_scale),u_device_pixel_ratio:new p.aI(c,t.u_device_pixel_ratio),u_matrix:new p.aJ(c,t.u_matrix)}),collisionBox:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_pixel_extrude_scale:new p.aM(c,t.u_pixel_extrude_scale)}),collisionCircle:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_inv_matrix:new p.aJ(c,t.u_inv_matrix),u_camera_to_center_distance:new p.aI(c,t.u_camera_to_center_distance),u_viewport_size:new p.aM(c,t.u_viewport_size)}),debug:(c,t)=>({u_color:new p.aN(c,t.u_color),u_matrix:new p.aJ(c,t.u_matrix),u_overlay:new p.aH(c,t.u_overlay),u_overlay_scale:new p.aI(c,t.u_overlay_scale)}),clippingMask:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix)}),heatmap:(c,t)=>({u_extrude_scale:new p.aI(c,t.u_extrude_scale),u_intensity:new p.aI(c,t.u_intensity),u_matrix:new p.aJ(c,t.u_matrix)}),heatmapTexture:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_world:new p.aM(c,t.u_world),u_image:new p.aH(c,t.u_image),u_color_ramp:new p.aH(c,t.u_color_ramp),u_opacity:new p.aI(c,t.u_opacity)}),hillshade:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_image:new p.aH(c,t.u_image),u_latrange:new p.aM(c,t.u_latrange),u_light:new p.aM(c,t.u_light),u_shadow:new p.aN(c,t.u_shadow),u_highlight:new p.aN(c,t.u_highlight),u_accent:new p.aN(c,t.u_accent)}),hillshadePrepare:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_image:new p.aH(c,t.u_image),u_dimension:new p.aM(c,t.u_dimension),u_zoom:new p.aI(c,t.u_zoom),u_unpack:new p.aK(c,t.u_unpack)}),line:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_ratio:new p.aI(c,t.u_ratio),u_device_pixel_ratio:new p.aI(c,t.u_device_pixel_ratio),u_units_to_pixels:new p.aM(c,t.u_units_to_pixels)}),lineGradient:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_ratio:new p.aI(c,t.u_ratio),u_device_pixel_ratio:new p.aI(c,t.u_device_pixel_ratio),u_units_to_pixels:new p.aM(c,t.u_units_to_pixels),u_image:new p.aH(c,t.u_image),u_image_height:new p.aI(c,t.u_image_height)}),linePattern:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_texsize:new p.aM(c,t.u_texsize),u_ratio:new p.aI(c,t.u_ratio),u_device_pixel_ratio:new p.aI(c,t.u_device_pixel_ratio),u_image:new p.aH(c,t.u_image),u_units_to_pixels:new p.aM(c,t.u_units_to_pixels),u_scale:new p.aL(c,t.u_scale),u_fade:new p.aI(c,t.u_fade)}),lineSDF:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_ratio:new p.aI(c,t.u_ratio),u_device_pixel_ratio:new p.aI(c,t.u_device_pixel_ratio),u_units_to_pixels:new p.aM(c,t.u_units_to_pixels),u_patternscale_a:new p.aM(c,t.u_patternscale_a),u_patternscale_b:new p.aM(c,t.u_patternscale_b),u_sdfgamma:new p.aI(c,t.u_sdfgamma),u_image:new p.aH(c,t.u_image),u_tex_y_a:new p.aI(c,t.u_tex_y_a),u_tex_y_b:new p.aI(c,t.u_tex_y_b),u_mix:new p.aI(c,t.u_mix)}),raster:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_tl_parent:new p.aM(c,t.u_tl_parent),u_scale_parent:new p.aI(c,t.u_scale_parent),u_buffer_scale:new p.aI(c,t.u_buffer_scale),u_fade_t:new p.aI(c,t.u_fade_t),u_opacity:new p.aI(c,t.u_opacity),u_image0:new p.aH(c,t.u_image0),u_image1:new p.aH(c,t.u_image1),u_brightness_low:new p.aI(c,t.u_brightness_low),u_brightness_high:new p.aI(c,t.u_brightness_high),u_saturation_factor:new p.aI(c,t.u_saturation_factor),u_contrast_factor:new p.aI(c,t.u_contrast_factor),u_spin_weights:new p.aL(c,t.u_spin_weights)}),symbolIcon:(c,t)=>({u_is_size_zoom_constant:new p.aH(c,t.u_is_size_zoom_constant),u_is_size_feature_constant:new p.aH(c,t.u_is_size_feature_constant),u_size_t:new p.aI(c,t.u_size_t),u_size:new p.aI(c,t.u_size),u_camera_to_center_distance:new p.aI(c,t.u_camera_to_center_distance),u_pitch:new p.aI(c,t.u_pitch),u_rotate_symbol:new p.aH(c,t.u_rotate_symbol),u_aspect_ratio:new p.aI(c,t.u_aspect_ratio),u_fade_change:new p.aI(c,t.u_fade_change),u_matrix:new p.aJ(c,t.u_matrix),u_label_plane_matrix:new p.aJ(c,t.u_label_plane_matrix),u_coord_matrix:new p.aJ(c,t.u_coord_matrix),u_is_text:new p.aH(c,t.u_is_text),u_pitch_with_map:new p.aH(c,t.u_pitch_with_map),u_is_along_line:new p.aH(c,t.u_is_along_line),u_is_variable_anchor:new p.aH(c,t.u_is_variable_anchor),u_texsize:new p.aM(c,t.u_texsize),u_texture:new p.aH(c,t.u_texture),u_translation:new p.aM(c,t.u_translation),u_pitched_scale:new p.aI(c,t.u_pitched_scale)}),symbolSDF:(c,t)=>({u_is_size_zoom_constant:new p.aH(c,t.u_is_size_zoom_constant),u_is_size_feature_constant:new p.aH(c,t.u_is_size_feature_constant),u_size_t:new p.aI(c,t.u_size_t),u_size:new p.aI(c,t.u_size),u_camera_to_center_distance:new p.aI(c,t.u_camera_to_center_distance),u_pitch:new p.aI(c,t.u_pitch),u_rotate_symbol:new p.aH(c,t.u_rotate_symbol),u_aspect_ratio:new p.aI(c,t.u_aspect_ratio),u_fade_change:new p.aI(c,t.u_fade_change),u_matrix:new p.aJ(c,t.u_matrix),u_label_plane_matrix:new p.aJ(c,t.u_label_plane_matrix),u_coord_matrix:new p.aJ(c,t.u_coord_matrix),u_is_text:new p.aH(c,t.u_is_text),u_pitch_with_map:new p.aH(c,t.u_pitch_with_map),u_is_along_line:new p.aH(c,t.u_is_along_line),u_is_variable_anchor:new p.aH(c,t.u_is_variable_anchor),u_texsize:new p.aM(c,t.u_texsize),u_texture:new p.aH(c,t.u_texture),u_gamma_scale:new p.aI(c,t.u_gamma_scale),u_device_pixel_ratio:new p.aI(c,t.u_device_pixel_ratio),u_is_halo:new p.aH(c,t.u_is_halo),u_translation:new p.aM(c,t.u_translation),u_pitched_scale:new p.aI(c,t.u_pitched_scale)}),symbolTextAndIcon:(c,t)=>({u_is_size_zoom_constant:new p.aH(c,t.u_is_size_zoom_constant),u_is_size_feature_constant:new p.aH(c,t.u_is_size_feature_constant),u_size_t:new p.aI(c,t.u_size_t),u_size:new p.aI(c,t.u_size),u_camera_to_center_distance:new p.aI(c,t.u_camera_to_center_distance),u_pitch:new p.aI(c,t.u_pitch),u_rotate_symbol:new p.aH(c,t.u_rotate_symbol),u_aspect_ratio:new p.aI(c,t.u_aspect_ratio),u_fade_change:new p.aI(c,t.u_fade_change),u_matrix:new p.aJ(c,t.u_matrix),u_label_plane_matrix:new p.aJ(c,t.u_label_plane_matrix),u_coord_matrix:new p.aJ(c,t.u_coord_matrix),u_is_text:new p.aH(c,t.u_is_text),u_pitch_with_map:new p.aH(c,t.u_pitch_with_map),u_is_along_line:new p.aH(c,t.u_is_along_line),u_is_variable_anchor:new p.aH(c,t.u_is_variable_anchor),u_texsize:new p.aM(c,t.u_texsize),u_texsize_icon:new p.aM(c,t.u_texsize_icon),u_texture:new p.aH(c,t.u_texture),u_texture_icon:new p.aH(c,t.u_texture_icon),u_gamma_scale:new p.aI(c,t.u_gamma_scale),u_device_pixel_ratio:new p.aI(c,t.u_device_pixel_ratio),u_is_halo:new p.aH(c,t.u_is_halo),u_translation:new p.aM(c,t.u_translation),u_pitched_scale:new p.aI(c,t.u_pitched_scale)}),background:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_opacity:new p.aI(c,t.u_opacity),u_color:new p.aN(c,t.u_color)}),backgroundPattern:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_opacity:new p.aI(c,t.u_opacity),u_image:new p.aH(c,t.u_image),u_pattern_tl_a:new p.aM(c,t.u_pattern_tl_a),u_pattern_br_a:new p.aM(c,t.u_pattern_br_a),u_pattern_tl_b:new p.aM(c,t.u_pattern_tl_b),u_pattern_br_b:new p.aM(c,t.u_pattern_br_b),u_texsize:new p.aM(c,t.u_texsize),u_mix:new p.aI(c,t.u_mix),u_pattern_size_a:new p.aM(c,t.u_pattern_size_a),u_pattern_size_b:new p.aM(c,t.u_pattern_size_b),u_scale_a:new p.aI(c,t.u_scale_a),u_scale_b:new p.aI(c,t.u_scale_b),u_pixel_coord_upper:new p.aM(c,t.u_pixel_coord_upper),u_pixel_coord_lower:new p.aM(c,t.u_pixel_coord_lower),u_tile_units_to_pixels:new p.aI(c,t.u_tile_units_to_pixels)}),terrain:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_texture:new p.aH(c,t.u_texture),u_ele_delta:new p.aI(c,t.u_ele_delta)}),terrainDepth:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_ele_delta:new p.aI(c,t.u_ele_delta)}),terrainCoords:(c,t)=>({u_matrix:new p.aJ(c,t.u_matrix),u_texture:new p.aH(c,t.u_texture),u_terrain_coords_id:new p.aI(c,t.u_terrain_coords_id),u_ele_delta:new p.aI(c,t.u_ele_delta)})};class lo{constructor(t,s,a){this.context=t;const l=t.gl;this.buffer=l.createBuffer(),this.dynamicDraw=!!a,this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),l.bufferData(l.ELEMENT_ARRAY_BUFFER,s.arrayBuffer,this.dynamicDraw?l.DYNAMIC_DRAW:l.STATIC_DRAW),this.dynamicDraw||delete s.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(t){const s=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),s.bufferSubData(s.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const ua={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class co{constructor(t,s,a,l){this.length=s.length,this.attributes=a,this.itemSize=s.bytesPerElement,this.dynamicDraw=l,this.context=t;const u=t.gl;this.buffer=u.createBuffer(),t.bindVertexBuffer.set(this.buffer),u.bufferData(u.ARRAY_BUFFER,s.arrayBuffer,this.dynamicDraw?u.DYNAMIC_DRAW:u.STATIC_DRAW),this.dynamicDraw||delete s.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const s=this.context.gl;this.bind(),s.bufferSubData(s.ARRAY_BUFFER,0,t.arrayBuffer)}enableAttributes(t,s){for(let a=0;a0){const le=p.F();p.aQ(le,$.placementInvProjMatrix,c.transform.glCoordMatrix),p.aQ(le,le,$.placementViewportMatrix),y.push({circleArray:se,circleOffset:I,transform:J.posMatrix,invTransform:le,coord:J}),v+=se.length/4,I=v}Q&&g.draw(u,m.LINES,ut.disabled,Ut.disabled,c.colorModeForRenderPass(),Nt.disabled,{u_matrix:J.posMatrix,u_pixel_extrude_scale:[1/(S=c.transform).width,1/S.height]},c.style.map.terrain&&c.style.map.terrain.getTerrainData(J),s.id,Q.layoutVertexBuffer,Q.indexBuffer,Q.segments,null,c.transform.zoom,null,null,Q.collisionVertexBuffer)}var S;if(!l||!y.length)return;const C=c.useProgram("collisionCircle"),D=new p.aR;D.resize(4*v),D._trim();let R=0;for(const q of y)for(let J=0;J=0&&(q[$.associatedIconIndex]={shiftedAnchor:Je,angle:Bt})}else He($.numGlyphs,j)}if(v){F.clear();const J=c.icon.placedSymbolArray;for(let $=0;$c.style.map.terrain.getElevation(we,jo,di):null,nn=s.layout.get("text-rotation-alignment")==="map";P(Ne,we.posMatrix,c,l,ks,rn,q,v,nn,j,we.toUnwrapped(),R.width,R.height,Ms,qt)}const xi=we.posMatrix,gr=l&&be||No,os=J||gr?yo:ks,sn=Ra,Ti=Ee&&s.paint.get(l?"text-halo-width":"icon-halo-width").constantOr(1)!==0;let ki;ki=Ee?Ne.iconsInText?Cc(Je.kind,yt,$,q,J,gr,c,xi,os,sn,Ms,wi,Di,Be):fl(Je.kind,yt,$,q,J,gr,c,xi,os,sn,Ms,l,wi,!0,Be):pl(Je.kind,yt,$,q,J,gr,c,xi,os,sn,Ms,l,wi,Be);const gi={program:ht,buffers:tt,uniformValues:ki,atlasTexture:mr,atlasTextureIcon:Si,atlasInterpolation:Vt,atlasInterpolationIcon:Wi,isSDF:Ee,hasHalo:Ti};if(se&&Ne.canOverlap){le=!0;const qt=tt.segments.get();for(const nn of qt)Fe.push({segments:new p.$([nn]),sortKey:nn.sortKey,state:gi,terrainData:Ot})}else Fe.push({segments:tt.segments,sortKey:0,state:gi,terrainData:Ot})}le&&Fe.sort((we,Te)=>we.sortKey-Te.sortKey);for(const we of Fe){const Te=we.state;if(C.activeTexture.set(D.TEXTURE0),Te.atlasTexture.bind(Te.atlasInterpolation,D.CLAMP_TO_EDGE),Te.atlasTextureIcon&&(C.activeTexture.set(D.TEXTURE1),Te.atlasTextureIcon&&Te.atlasTextureIcon.bind(Te.atlasInterpolationIcon,D.CLAMP_TO_EDGE)),Te.isSDF){const Ne=Te.uniformValues;Te.hasHalo&&(Ne.u_is_halo=1,ga(Te.buffers,we.segments,s,c,Te.program,fe,I,S,Ne,we.terrainData)),Ne.u_is_halo=0}ga(Te.buffers,we.segments,s,c,Te.program,fe,I,S,Te.uniformValues,we.terrainData)}}function ga(c,t,s,a,l,u,m,g,y,v){const I=a.context;l.draw(I,I.gl.TRIANGLES,u,m,g,Nt.disabled,y,v,s.id,c.layoutVertexBuffer,c.indexBuffer,t,s.paint,a.transform.zoom,c.programConfigurations.get(s.id),c.dynamicLayoutVertexBuffer,c.opacityVertexBuffer)}function is(c,t,s,a,l){if(!s||!a||!a.imageAtlas)return;const u=a.imageAtlas.patternPositions;let m=u[s.to.toString()],g=u[s.from.toString()];if(!m&&g&&(m=g),!g&&m&&(g=m),!m||!g){const y=l.getPaintProperty(t);m=u[y],g=u[y]}m&&g&&c.setConstantPatternPositions(m,g)}function vs(c,t,s,a,l,u,m){const g=c.context.gl,y="fill-pattern",v=s.paint.get(y),I=v&&v.constantOr(1),S=s.getCrossfadeParameters();let C,D,R,j,F;m?(D=I&&!s.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",C=g.LINES):(D=I?"fillPattern":"fill",C=g.TRIANGLES);const q=v.constantOr(null);for(const J of a){const $=t.getTile(J);if(I&&!$.patternsLoaded())continue;const Q=$.getBucket(s);if(!Q)continue;const se=Q.programConfigurations.get(s.id),le=c.useProgram(D,se),fe=c.style.map.terrain&&c.style.map.terrain.getTerrainData(J);I&&(c.context.activeTexture.set(g.TEXTURE0),$.imageAtlasTexture.bind(g.LINEAR,g.CLAMP_TO_EDGE),se.updatePaintBuffers(S)),is(se,y,q,$,s);const be=fe?J:null,Fe=c.translatePosMatrix(be?be.posMatrix:J.posMatrix,$,s.paint.get("fill-translate"),s.paint.get("fill-translate-anchor"));if(m){j=Q.indexBuffer2,F=Q.segments2;const Be=[g.drawingBufferWidth,g.drawingBufferHeight];R=D==="fillOutlinePattern"&&I?Tn(Fe,c,S,$,Be):oa(Fe,Be)}else j=Q.indexBuffer,F=Q.segments,R=I?In(Fe,c,S,$):aa(Fe);le.draw(c.context,C,l,c.stencilModeForClipping(J),u,Nt.disabled,R,fe,s.id,Q.layoutVertexBuffer,j,F,s.paint,c.transform.zoom,se)}}function Gi(c,t,s,a,l,u,m){const g=c.context,y=g.gl,v="fill-extrusion-pattern",I=s.paint.get(v),S=I.constantOr(1),C=s.getCrossfadeParameters(),D=s.paint.get("fill-extrusion-opacity"),R=I.constantOr(null);for(const j of a){const F=t.getTile(j),q=F.getBucket(s);if(!q)continue;const J=c.style.map.terrain&&c.style.map.terrain.getTerrainData(j),$=q.programConfigurations.get(s.id),Q=c.useProgram(S?"fillExtrusionPattern":"fillExtrusion",$);S&&(c.context.activeTexture.set(y.TEXTURE0),F.imageAtlasTexture.bind(y.LINEAR,y.CLAMP_TO_EDGE),$.updatePaintBuffers(C)),is($,v,R,F,s);const se=c.translatePosMatrix(j.posMatrix,F,s.paint.get("fill-extrusion-translate"),s.paint.get("fill-extrusion-translate-anchor")),le=s.paint.get("fill-extrusion-vertical-gradient"),fe=S?ro(se,c,le,D,j,C,F):Sn(se,c,le,D);Q.draw(g,g.gl.TRIANGLES,l,u,m,Nt.backCCW,fe,J,s.id,q.layoutVertexBuffer,q.indexBuffer,q.segments,s.paint,c.transform.zoom,$,c.style.map.terrain&&q.centroidVertexBuffer)}}function Pl(c,t,s,a,l,u,m){const g=c.context,y=g.gl,v=s.fbo;if(!v)return;const I=c.useProgram("hillshade"),S=c.style.map.terrain&&c.style.map.terrain.getTerrainData(t);g.activeTexture.set(y.TEXTURE0),y.bindTexture(y.TEXTURE_2D,v.colorAttachment.get()),I.draw(g,y.TRIANGLES,l,u,m,Nt.disabled,((C,D,R,j)=>{const F=R.paint.get("hillshade-shadow-color"),q=R.paint.get("hillshade-highlight-color"),J=R.paint.get("hillshade-accent-color");let $=R.paint.get("hillshade-illumination-direction")*(Math.PI/180);R.paint.get("hillshade-illumination-anchor")==="viewport"&&($-=C.transform.angle);const Q=!C.options.moving;return{u_matrix:j?j.posMatrix:C.transform.calculatePosMatrix(D.tileID.toUnwrapped(),Q),u_image:0,u_latrange:la(0,D.tileID),u_light:[R.paint.get("hillshade-exaggeration"),$],u_shadow:F,u_highlight:q,u_accent:J}})(c,s,a,S?t:null),S,a.id,c.rasterBoundsBuffer,c.quadTriangleIndexBuffer,c.rasterBoundsSegments)}function Cl(c,t,s,a,l,u){const m=c.context,g=m.gl,y=t.dem;if(y&&y.data){const v=y.dim,I=y.stride,S=y.getPixels();if(m.activeTexture.set(g.TEXTURE1),m.pixelStoreUnpackPremultiplyAlpha.set(!1),t.demTexture=t.demTexture||c.getTileTexture(I),t.demTexture){const D=t.demTexture;D.update(S,{premultiply:!1}),D.bind(g.NEAREST,g.CLAMP_TO_EDGE)}else t.demTexture=new mt(m,S,g.RGBA,{premultiply:!1}),t.demTexture.bind(g.NEAREST,g.CLAMP_TO_EDGE);m.activeTexture.set(g.TEXTURE0);let C=t.fbo;if(!C){const D=new mt(m,{width:v,height:v,data:null},g.RGBA);D.bind(g.LINEAR,g.CLAMP_TO_EDGE),C=t.fbo=m.createFramebuffer(v,v,!0,!1),C.colorAttachment.set(D.texture)}m.bindFramebuffer.set(C.framebuffer),m.viewport.set([0,0,v,v]),c.useProgram("hillshadePrepare").draw(m,g.TRIANGLES,a,l,u,Nt.disabled,((D,R)=>{const j=R.stride,F=p.F();return p.aO(F,0,p.W,-p.W,0,0,1),p.H(F,F,[0,-p.W,0]),{u_matrix:F,u_image:1,u_dimension:[j,j],u_zoom:D.overscaledZ,u_unpack:R.getUnpackVector()}})(t.tileID,y),null,s.id,c.rasterBoundsBuffer,c.quadTriangleIndexBuffer,c.rasterBoundsSegments),t.needsHillshadePrepare=!1}}function xo(c,t,s,a,l,u){const m=a.paint.get("raster-fade-duration");if(!u&&m>0){const g=oe.now(),y=(g-c.timeAdded)/m,v=t?(g-t.timeAdded)/m:-1,I=s.getSource(),S=l.coveringZoomLevel({tileSize:I.tileSize,roundZoom:I.roundZoom}),C=!t||Math.abs(t.tileID.overscaledZ-S)>Math.abs(c.tileID.overscaledZ-S),D=C&&c.refreshedUponExpiration?1:p.ac(C?y:1-v,0,1);return c.refreshedUponExpiration&&y>=1&&(c.refreshedUponExpiration=!1),t?{opacity:1,mix:1-D}:{opacity:D,mix:0}}return{opacity:1,mix:0}}const bs=new p.aP(1,0,0,1),ya=new p.aP(0,1,0,1),xa=new p.aP(0,0,1,1),zn=new p.aP(1,0,1,1),va=new p.aP(0,1,1,1);function vo(c,t,s,a){Zr(c,0,t+s/2,c.transform.width,s,a)}function ws(c,t,s,a){Zr(c,t-s/2,0,s,c.transform.height,a)}function Zr(c,t,s,a,l,u){const m=c.context,g=m.gl;g.enable(g.SCISSOR_TEST),g.scissor(t*c.pixelRatio,s*c.pixelRatio,a*c.pixelRatio,l*c.pixelRatio),m.clear({color:u}),g.disable(g.SCISSOR_TEST)}function El(c,t,s){const a=c.context,l=a.gl,u=s.posMatrix,m=c.useProgram("debug"),g=ut.disabled,y=Ut.disabled,v=c.colorModeForRenderPass(),I="$debug",S=c.style.map.terrain&&c.style.map.terrain.getTerrainData(s);a.activeTexture.set(l.TEXTURE0);const C=t.getTileByID(s.key).latestRawTileData,D=Math.floor((C&&C.byteLength||0)/1024),R=t.getTile(s).tileSize,j=512/Math.min(R,512)*(s.overscaledZ/c.transform.zoom)*.5;let F=s.canonical.toString();s.overscaledZ!==s.canonical.z&&(F+=` => ${s.overscaledZ}`),function(q,J){q.initDebugOverlayCanvas();const $=q.debugOverlayCanvas,Q=q.context.gl,se=q.debugOverlayCanvas.getContext("2d");se.clearRect(0,0,$.width,$.height),se.shadowColor="white",se.shadowBlur=2,se.lineWidth=1.5,se.strokeStyle="white",se.textBaseline="top",se.font="bold 36px Open Sans, sans-serif",se.fillText(J,5,5),se.strokeText(J,5,5),q.debugOverlayTexture.update($),q.debugOverlayTexture.bind(Q.LINEAR,Q.CLAMP_TO_EDGE)}(c,`${F} ${D}kB`),m.draw(a,l.TRIANGLES,g,y,Yt.alphaBlended,Nt.disabled,so(u,p.aP.transparent,j),null,I,c.debugBuffer,c.quadTriangleIndexBuffer,c.debugSegments),m.draw(a,l.LINE_STRIP,g,y,v,Nt.disabled,so(u,p.aP.red),S,I,c.debugBuffer,c.tileBorderIndexBuffer,c.debugSegments)}function ba(c,t,s){const a=c.context,l=a.gl,u=c.colorModeForRenderPass(),m=new ut(l.LEQUAL,ut.ReadWrite,c.depthRangeFor3D),g=c.useProgram("terrain"),y=t.getTerrainMesh();a.bindFramebuffer.set(null),a.viewport.set([0,0,c.width,c.height]);for(const v of s){const I=c.renderToTexture.getTexture(v),S=t.getTerrainData(v.tileID);a.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,I.texture);const C={u_matrix:c.transform.calculatePosMatrix(v.tileID.toUnwrapped()),u_texture:0,u_ele_delta:t.getMeshFrameDelta(c.transform.zoom)};g.draw(a,l.TRIANGLES,m,Ut.disabled,u,Nt.backCCW,C,S,"terrain",y.vertexBuffer,y.indexBuffer,y.segments)}}class wt{constructor(t,s){this.context=new go(t),this.transform=s,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:p.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=Se.maxUnderzooming+Se.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Jt}resize(t,s,a){if(this.width=Math.floor(t*a),this.height=Math.floor(s*a),this.pixelRatio=a,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const l of this.style._order)this.style._layers[l].resize()}setup(){const t=this.context,s=new p.aW;s.emplaceBack(0,0),s.emplaceBack(p.W,0),s.emplaceBack(0,p.W),s.emplaceBack(p.W,p.W),this.tileExtentBuffer=t.createVertexBuffer(s,Mr.members),this.tileExtentSegments=p.$.simpleSegment(0,0,4,2);const a=new p.aW;a.emplaceBack(0,0),a.emplaceBack(p.W,0),a.emplaceBack(0,p.W),a.emplaceBack(p.W,p.W),this.debugBuffer=t.createVertexBuffer(a,Mr.members),this.debugSegments=p.$.simpleSegment(0,0,4,5);const l=new p.Z;l.emplaceBack(0,0,0,0),l.emplaceBack(p.W,0,p.W,0),l.emplaceBack(0,p.W,0,p.W),l.emplaceBack(p.W,p.W,p.W,p.W),this.rasterBoundsBuffer=t.createVertexBuffer(l,$t.members),this.rasterBoundsSegments=p.$.simpleSegment(0,0,4,2);const u=new p.aW;u.emplaceBack(0,0),u.emplaceBack(1,0),u.emplaceBack(0,1),u.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(u,Mr.members),this.viewportSegments=p.$.simpleSegment(0,0,4,2);const m=new p.aX;m.emplaceBack(0),m.emplaceBack(1),m.emplaceBack(3),m.emplaceBack(2),m.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(m);const g=new p.aY;g.emplaceBack(0,1,2),g.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(g);const y=this.context.gl;this.stencilClearMode=new Ut({func:y.ALWAYS,mask:0},0,255,y.ZERO,y.ZERO,y.ZERO)}clearStencil(){const t=this.context,s=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const a=p.F();p.aO(a,0,this.width,this.height,0,0,1),p.J(a,a,[s.drawingBufferWidth,s.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(t,s.TRIANGLES,ut.disabled,this.stencilClearMode,Yt.disabled,Nt.disabled,dl(a),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(t,s){if(this.currentStencilSource===t.source||!t.isTileClipped()||!s||!s.length)return;this.currentStencilSource=t.source;const a=this.context,l=a.gl;this.nextStencilID+s.length>256&&this.clearStencil(),a.setColorMode(Yt.disabled),a.setDepthMode(ut.disabled);const u=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const m of s){const g=this._tileClippingMaskIDs[m.key]=this.nextStencilID++,y=this.style.map.terrain&&this.style.map.terrain.getTerrainData(m);u.draw(a,l.TRIANGLES,ut.disabled,new Ut({func:l.ALWAYS,mask:0},g,255,l.KEEP,l.KEEP,l.REPLACE),Yt.disabled,Nt.disabled,dl(m.posMatrix),y,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,s=this.context.gl;return new Ut({func:s.NOTEQUAL,mask:255},t,255,s.KEEP,s.KEEP,s.REPLACE)}stencilModeForClipping(t){const s=this.context.gl;return new Ut({func:s.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,s.KEEP,s.KEEP,s.REPLACE)}stencilConfigForOverlap(t){const s=this.context.gl,a=t.sort((m,g)=>g.overscaledZ-m.overscaledZ),l=a[a.length-1].overscaledZ,u=a[0].overscaledZ-l+1;if(u>1){this.currentStencilSource=void 0,this.nextStencilID+u>256&&this.clearStencil();const m={};for(let g=0;g=0;this.currentLayer--){const y=this.style._layers[a[this.currentLayer]],v=l[y.source],I=u[y.source];this._renderTileClippingMasks(y,I),this.renderLayer(this,v,y,I)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerF.source&&!F.isHidden(I)?[v.sourceCaches[F.source]]:[]),D=C.filter(F=>F.getSource().type==="vector"),R=C.filter(F=>F.getSource().type!=="vector"),j=F=>{(!S||S.getSource().maxzoomj(F)),S||R.forEach(F=>j(F)),S}(this.style,this.transform.zoom);y&&function(v,I,S){for(let C=0;C0),l&&(p.a$(s,a),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(u,m){const g=u.context,y=g.gl,v=Yt.unblended,I=new ut(y.LEQUAL,ut.ReadWrite,[0,1]),S=m.getTerrainMesh(),C=m.sourceCache.getRenderableTiles(),D=u.useProgram("terrainDepth");g.bindFramebuffer.set(m.getFramebuffer("depth").framebuffer),g.viewport.set([0,0,u.width/devicePixelRatio,u.height/devicePixelRatio]),g.clear({color:p.aP.transparent,depth:1});for(const R of C){const j=m.getTerrainData(R.tileID),F={u_matrix:u.transform.calculatePosMatrix(R.tileID.toUnwrapped()),u_ele_delta:m.getMeshFrameDelta(u.transform.zoom)};D.draw(g,y.TRIANGLES,I,Ut.disabled,v,Nt.backCCW,F,j,"terrain",S.vertexBuffer,S.indexBuffer,S.segments)}g.bindFramebuffer.set(null),g.viewport.set([0,0,u.width,u.height])}(this,this.style.map.terrain),function(u,m){const g=u.context,y=g.gl,v=Yt.unblended,I=new ut(y.LEQUAL,ut.ReadWrite,[0,1]),S=m.getTerrainMesh(),C=m.getCoordsTexture(),D=m.sourceCache.getRenderableTiles(),R=u.useProgram("terrainCoords");g.bindFramebuffer.set(m.getFramebuffer("coords").framebuffer),g.viewport.set([0,0,u.width/devicePixelRatio,u.height/devicePixelRatio]),g.clear({color:p.aP.transparent,depth:1}),m.coordsIndex=[];for(const j of D){const F=m.getTerrainData(j.tileID);g.activeTexture.set(y.TEXTURE0),y.bindTexture(y.TEXTURE_2D,C.texture);const q={u_matrix:u.transform.calculatePosMatrix(j.tileID.toUnwrapped()),u_terrain_coords_id:(255-m.coordsIndex.length)/255,u_texture:0,u_ele_delta:m.getMeshFrameDelta(u.transform.zoom)};R.draw(g,y.TRIANGLES,I,Ut.disabled,v,Nt.backCCW,q,F,"terrain",S.vertexBuffer,S.indexBuffer,S.segments),m.coordsIndex.push(j.tileID.key)}g.bindFramebuffer.set(null),g.viewport.set([0,0,u.width,u.height])}(this,this.style.map.terrain))}renderLayer(t,s,a,l){if(!a.isHidden(this.transform.zoom)&&(a.type==="background"||a.type==="custom"||(l||[]).length))switch(this.id=a.id,a.type){case"symbol":(function(u,m,g,y,v){if(u.renderPass!=="translucent")return;const I=Ut.disabled,S=u.colorModeForRenderPass();(g._unevaluatedLayout.hasValue("text-variable-anchor")||g._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(C,D,R,j,F,q,J,$,Q){const se=D.transform,le=Zi(),fe=F==="map",be=q==="map";for(const Fe of C){const Be=j.getTile(Fe),we=Be.getBucket(R);if(!we||!we.text||!we.text.segments.get().length)continue;const Te=p.ag(we.textSizeData,se.zoom),Ne=et(Be,1,D.transform.zoom),tt=Nr(Fe.posMatrix,be,fe,D.transform,Ne),Pe=R.layout.get("icon-text-fit")!=="none"&&we.hasIconData();if(Te){const Ee=Math.pow(2,se.zoom-Be.tileID.overscaledZ),Je=D.style.map.terrain?(ht,yt)=>D.style.map.terrain.getElevation(Fe,ht,yt):null,Bt=le.translatePosition(se,Be,J,$);ma(we,fe,be,Q,se,tt,Fe.posMatrix,Ee,Te,Pe,le,Bt,Fe.toUnwrapped(),Je)}}}(y,u,g,m,g.layout.get("text-rotation-alignment"),g.layout.get("text-pitch-alignment"),g.paint.get("text-translate"),g.paint.get("text-translate-anchor"),v),g.paint.get("icon-opacity").constantOr(1)!==0&&En(u,m,g,y,!1,g.paint.get("icon-translate"),g.paint.get("icon-translate-anchor"),g.layout.get("icon-rotation-alignment"),g.layout.get("icon-pitch-alignment"),g.layout.get("icon-keep-upright"),I,S),g.paint.get("text-opacity").constantOr(1)!==0&&En(u,m,g,y,!0,g.paint.get("text-translate"),g.paint.get("text-translate-anchor"),g.layout.get("text-rotation-alignment"),g.layout.get("text-pitch-alignment"),g.layout.get("text-keep-upright"),I,S),m.map.showCollisionBoxes&&(Ml(u,m,g,y,!0),Ml(u,m,g,y,!1))})(t,s,a,l,this.style.placement.variableOffsets);break;case"circle":(function(u,m,g,y){if(u.renderPass!=="translucent")return;const v=g.paint.get("circle-opacity"),I=g.paint.get("circle-stroke-width"),S=g.paint.get("circle-stroke-opacity"),C=!g.layout.get("circle-sort-key").isConstant();if(v.constantOr(1)===0&&(I.constantOr(1)===0||S.constantOr(1)===0))return;const D=u.context,R=D.gl,j=u.depthModeForSublayer(0,ut.ReadOnly),F=Ut.disabled,q=u.colorModeForRenderPass(),J=[];for(let $=0;$$.sortKey-Q.sortKey);for(const $ of J){const{programConfiguration:Q,program:se,layoutVertexBuffer:le,indexBuffer:fe,uniformValues:be,terrainData:Fe}=$.state;se.draw(D,R.TRIANGLES,j,F,q,Nt.disabled,be,Fe,g.id,le,fe,$.segments,g.paint,u.transform.zoom,Q)}})(t,s,a,l);break;case"heatmap":(function(u,m,g,y){if(g.paint.get("heatmap-opacity")!==0)if(u.renderPass==="offscreen"){const v=u.context,I=v.gl,S=Ut.disabled,C=new Yt([I.ONE,I.ONE],p.aP.transparent,[!0,!0,!0,!0]);(function(D,R,j){const F=D.gl;D.activeTexture.set(F.TEXTURE1),D.viewport.set([0,0,R.width/4,R.height/4]);let q=j.heatmapFbo;if(q)F.bindTexture(F.TEXTURE_2D,q.colorAttachment.get()),D.bindFramebuffer.set(q.framebuffer);else{const J=F.createTexture();F.bindTexture(F.TEXTURE_2D,J),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_S,F.CLAMP_TO_EDGE),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_WRAP_T,F.CLAMP_TO_EDGE),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_MIN_FILTER,F.LINEAR),F.texParameteri(F.TEXTURE_2D,F.TEXTURE_MAG_FILTER,F.LINEAR),q=j.heatmapFbo=D.createFramebuffer(R.width/4,R.height/4,!1,!1),function($,Q,se,le){var fe,be;const Fe=$.gl,Be=(fe=$.HALF_FLOAT)!==null&&fe!==void 0?fe:Fe.UNSIGNED_BYTE,we=(be=$.RGBA16F)!==null&&be!==void 0?be:Fe.RGBA;Fe.texImage2D(Fe.TEXTURE_2D,0,we,Q.width/4,Q.height/4,0,Fe.RGBA,Be,null),le.colorAttachment.set(se)}(D,R,J,q)}})(v,u,g),v.clear({color:p.aP.transparent});for(let D=0;D{const $=p.F();p.aO($,0,j.width,j.height,0,0,1);const Q=j.context.gl;return{u_matrix:$,u_world:[Q.drawingBufferWidth,Q.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:F.paint.get("heatmap-opacity")}})(v,I),null,I.id,v.viewportBuffer,v.quadTriangleIndexBuffer,v.viewportSegments,I.paint,v.transform.zoom)}(u,g))})(t,s,a,l);break;case"line":(function(u,m,g,y){if(u.renderPass!=="translucent")return;const v=g.paint.get("line-opacity"),I=g.paint.get("line-width");if(v.constantOr(1)===0||I.constantOr(1)===0)return;const S=u.depthModeForSublayer(0,ut.ReadOnly),C=u.colorModeForRenderPass(),D=g.paint.get("line-dasharray"),R=g.paint.get("line-pattern"),j=R.constantOr(1),F=g.paint.get("line-gradient"),q=g.getCrossfadeParameters(),J=j?"linePattern":D?"lineSDF":F?"lineGradient":"line",$=u.context,Q=$.gl;let se=!0;for(const le of y){const fe=m.getTile(le);if(j&&!fe.patternsLoaded())continue;const be=fe.getBucket(g);if(!be)continue;const Fe=be.programConfigurations.get(g.id),Be=u.context.program.get(),we=u.useProgram(J,Fe),Te=se||we.program!==Be,Ne=u.style.map.terrain&&u.style.map.terrain.getTerrainData(le),tt=R.constantOr(null);if(tt&&fe.imageAtlas){const Je=fe.imageAtlas,Bt=Je.patternPositions[tt.to.toString()],ht=Je.patternPositions[tt.from.toString()];Bt&&ht&&Fe.setConstantPatternPositions(Bt,ht)}const Pe=Ne?le:null,Ee=j?no(u,fe,g,q,Pe):D?ca(u,fe,g,D,q,Pe):F?tr(u,fe,g,be.lineClipsArray.length,Pe):zi(u,fe,g,Pe);if(j)$.activeTexture.set(Q.TEXTURE0),fe.imageAtlasTexture.bind(Q.LINEAR,Q.CLAMP_TO_EDGE),Fe.updatePaintBuffers(q);else if(D&&(Te||u.lineAtlas.dirty))$.activeTexture.set(Q.TEXTURE0),u.lineAtlas.bind($);else if(F){const Je=be.gradients[g.id];let Bt=Je.texture;if(g.gradientVersion!==Je.version){let ht=256;if(g.stepInterpolant){const yt=m.getSource().maxzoom,Ot=le.canonical.z===yt?Math.ceil(1<0?s.pop():null}isPatternMissing(t){if(!t)return!1;if(!t.from||!t.to)return!0;const s=this.imageManager.getPattern(t.from.toString()),a=this.imageManager.getPattern(t.to.toString());return!s||!a}useProgram(t,s){this.cache=this.cache||{};const a=t+(s?s.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[a]||(this.cache[a]=new io(this.context,qs[t],s,ha[t],this._showOverdrawInspector,this.style.map.terrain)),this.cache[a]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new mt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:s}=this.context.gl;return this.width!==t||this.height!==s}}class Xs{constructor(t,s){this.points=t,this.planes=s}static fromInvProjectionMatrix(t,s,a){const l=Math.pow(2,a),u=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(g=>{const y=1/(g=p.af([],g,t))[3]/s*l;return p.b0(g,g,[y,y,1/g[3],y])}),m=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(g=>{const y=function(C,D){var R=D[0],j=D[1],F=D[2],q=R*R+j*j+F*F;return q>0&&(q=1/Math.sqrt(q)),C[0]=D[0]*q,C[1]=D[1]*q,C[2]=D[2]*q,C}([],function(C,D,R){var j=D[0],F=D[1],q=D[2],J=R[0],$=R[1],Q=R[2];return C[0]=F*Q-q*$,C[1]=q*J-j*Q,C[2]=j*$-F*J,C}([],Ie([],u[g[0]],u[g[1]]),Ie([],u[g[2]],u[g[1]]))),v=-((I=y)[0]*(S=u[g[1]])[0]+I[1]*S[1]+I[2]*S[2]);var I,S;return y.concat(v)});return new Xs(u,m)}}class wa{constructor(t,s){this.min=t,this.max=s,this.center=function(a,l,u){return a[0]=.5*l[0],a[1]=.5*l[1],a[2]=.5*l[2],a}([],function(a,l,u){return a[0]=l[0]+u[0],a[1]=l[1]+u[1],a[2]=l[2]+u[2],a}([],this.min,this.max))}quadrant(t){const s=[t%2==0,t<2],a=ci(this.min),l=ci(this.max);for(let u=0;u=0&&m++;if(m===0)return 0;m!==s.length&&(a=!1)}if(a)return 2;for(let l=0;l<3;l++){let u=Number.MAX_VALUE,m=-Number.MAX_VALUE;for(let g=0;gthis.max[l]-this.min[l])return 0}return 1}}class Dn{constructor(t=0,s=0,a=0,l=0){if(isNaN(t)||t<0||isNaN(s)||s<0||isNaN(a)||a<0||isNaN(l)||l<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=t,this.bottom=s,this.left=a,this.right=l}interpolate(t,s,a){return s.top!=null&&t.top!=null&&(this.top=p.z.number(t.top,s.top,a)),s.bottom!=null&&t.bottom!=null&&(this.bottom=p.z.number(t.bottom,s.bottom,a)),s.left!=null&&t.left!=null&&(this.left=p.z.number(t.left,s.left,a)),s.right!=null&&t.right!=null&&(this.right=p.z.number(t.right,s.right,a)),this}getCenter(t,s){const a=p.ac((this.left+t-this.right)/2,0,t),l=p.ac((this.top+s-this.bottom)/2,0,s);return new p.P(a,l)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new Dn(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const Ks=85.051129;class bo{constructor(t,s,a,l,u){this.tileSize=512,this._renderWorldCopies=u===void 0||!!u,this._minZoom=t||0,this._maxZoom=s||22,this._minPitch=a??0,this._maxPitch=l??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new p.M(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new Dn,this._posMatrixCache={},this._alignedPosMatrixCache={},this.minElevationForCurrentTile=0}clone(){const t=new bo(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t))}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t))}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t))}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){t===void 0?t=!0:t===null&&(t=!1),this._renderWorldCopies=t}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new p.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(t){const s=-p.b2(t,-180,180)*Math.PI/180;this.angle!==s&&(this._unmodified=!1,this.angle=s,this._calcMatrices(),this.rotationMatrix=function(){var a=new p.A(4);return p.A!=Float32Array&&(a[1]=0,a[2]=0),a[0]=1,a[3]=1,a}(),function(a,l,u){var m=l[0],g=l[1],y=l[2],v=l[3],I=Math.sin(u),S=Math.cos(u);a[0]=m*S+y*I,a[1]=g*S+v*I,a[2]=m*-I+y*S,a[3]=g*-I+v*S}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const s=p.ac(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==s&&(this._unmodified=!1,this._pitch=s,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(t){const s=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==s&&(this._unmodified=!1,this._zoom=s,this.tileZoom=Math.max(0,Math.floor(s)),this.scale=this.zoomScale(s),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,s,a){this._unmodified=!1,this._edgeInsets.interpolate(t,s,a),this._constrain(),this._calcMatrices()}coveringZoomLevel(t){const s=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,s)}getVisibleUnwrappedCoordinates(t){const s=[new p.b3(0,t)];if(this._renderWorldCopies){const a=this.pointCoordinate(new p.P(0,0)),l=this.pointCoordinate(new p.P(this.width,0)),u=this.pointCoordinate(new p.P(this.width,this.height)),m=this.pointCoordinate(new p.P(0,this.height)),g=Math.floor(Math.min(a.x,l.x,u.x,m.x)),y=Math.floor(Math.max(a.x,l.x,u.x,m.x)),v=1;for(let I=g-v;I<=y+v;I++)I!==0&&s.push(new p.b3(I,t))}return s}coveringTiles(t){var s,a;let l=this.coveringZoomLevel(t);const u=l;if(t.minzoom!==void 0&&lt.maxzoom&&(l=t.maxzoom);const m=this.pointCoordinate(this.getCameraPoint()),g=p.Y.fromLngLat(this.center),y=Math.pow(2,l),v=[y*m.x,y*m.y,0],I=[y*g.x,y*g.y,0],S=Xs.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,l);let C=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(C=l);const D=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,R=$=>({aabb:new wa([$*y,0,0],[($+1)*y,y,0]),zoom:0,x:0,y:0,wrap:$,fullyVisible:!1}),j=[],F=[],q=l,J=t.reparseOverscaled?u:l;if(this._renderWorldCopies)for(let $=1;$<=3;$++)j.push(R(-$)),j.push(R($));for(j.push(R(0));j.length>0;){const $=j.pop(),Q=$.x,se=$.y;let le=$.fullyVisible;if(!le){const we=$.aabb.intersects(S);if(we===0)continue;le=we===2}const fe=t.terrain?v:I,be=$.aabb.distanceX(fe),Fe=$.aabb.distanceY(fe),Be=Math.max(Math.abs(be),Math.abs(Fe));if($.zoom===q||Be>D+(1<=C){const we=q-$.zoom,Te=v[0]-.5-(Q<>1),tt=$.zoom+1;let Pe=$.aabb.quadrant(we);if(t.terrain){const Ee=new p.Q(tt,$.wrap,tt,Te,Ne),Je=t.terrain.getMinMaxElevation(Ee),Bt=(s=Je.minElevation)!==null&&s!==void 0?s:this.elevation,ht=(a=Je.maxElevation)!==null&&a!==void 0?a:this.elevation;Pe=new wa([Pe.min[0],Pe.min[1],Bt],[Pe.max[0],Pe.max[1],ht])}j.push({aabb:Pe,zoom:tt,x:Te,y:Ne,wrap:$.wrap,fullyVisible:le})}}return F.sort(($,Q)=>$.distanceSq-Q.distanceSq).map($=>$.tileID)}resize(t,s){this.width=t,this.height=s,this.pixelsToGLUnits=[2/t,-2/s],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(t){const s=p.ac(t.lat,-85.051129,Ks);return new p.P(p.N(t.lng)*this.worldSize,p.O(s)*this.worldSize)}unproject(t){return new p.Y(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const s=this.elevation,a=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,l=this.pointLocation(this.centerPoint,t),u=t.getElevationForLngLatZoom(l,this.tileZoom);if(!(this.elevation-u))return;const m=a+s-u,g=Math.cos(this._pitch)*this.cameraToCenterDistance/m/p.b4(1,l.lat),y=this.scaleZoom(g/this.tileSize);this._elevation=u,this._center=l,this.zoom=y}setLocationAtPoint(t,s){const a=this.pointCoordinate(s),l=this.pointCoordinate(this.centerPoint),u=this.locationCoordinate(t),m=new p.Y(u.x-(a.x-l.x),u.y-(a.y-l.y));this.center=this.coordinateLocation(m),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(t,s){return s?this.coordinatePoint(this.locationCoordinate(t),s.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,s){return this.coordinateLocation(this.pointCoordinate(t,s))}locationCoordinate(t){return p.Y.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,s){if(s){const C=s.pointCoordinate(t);if(C!=null)return C}const a=[t.x,t.y,0,1],l=[t.x,t.y,1,1];p.af(a,a,this.pixelMatrixInverse),p.af(l,l,this.pixelMatrixInverse);const u=a[3],m=l[3],g=a[1]/u,y=l[1]/m,v=a[2]/u,I=l[2]/m,S=v===I?0:(0-v)/(I-v);return new p.Y(p.z.number(a[0]/u,l[0]/m,S)/this.worldSize,p.z.number(g,y,S)/this.worldSize)}coordinatePoint(t,s=0,a=this.pixelMatrix){const l=[t.x*this.worldSize,t.y*this.worldSize,s,1];return p.af(l,l,a),new p.P(l[0]/l[3],l[1]/l[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return new ti().extend(this.pointLocation(new p.P(0,t))).extend(this.pointLocation(new p.P(this.width,t))).extend(this.pointLocation(new p.P(this.width,this.height))).extend(this.pointLocation(new p.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new ti([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,Ks])}calculatePosMatrix(t,s=!1){const a=t.key,l=s?this._alignedPosMatrixCache:this._posMatrixCache;if(l[a])return l[a];const u=t.canonical,m=this.worldSize/this.zoomScale(u.z),g=u.x+Math.pow(2,u.z)*t.wrap,y=p.an(new Float64Array(16));return p.H(y,y,[g*m,u.y*m,0]),p.J(y,y,[m/p.W,m/p.W,1]),p.K(y,s?this.alignedProjMatrix:this.projMatrix,y),l[a]=new Float32Array(y),l[a]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,s){s=p.ac(+s,this.minZoom,this.maxZoom);const a={center:new p.M(t.lng,t.lat),zoom:s};let l=this.lngRange;if(!this._renderWorldCopies&&l===null){const $=179.9999999999;l=[-$,$]}const u=this.tileSize*this.zoomScale(a.zoom);let m=0,g=u,y=0,v=u,I=0,S=0;const{x:C,y:D}=this.size;if(this.latRange){const $=this.latRange;m=p.O($[1])*u,g=p.O($[0])*u,g-mg&&(q=g-$)}if(l){const $=(y+v)/2;let Q=R;this._renderWorldCopies&&(Q=p.b2(R,$-u/2,$+u/2));const se=C/2;Q-sev&&(F=v-se)}if(F!==void 0||q!==void 0){const $=new p.P(F??R,q??j);a.center=this.unproject.call({worldSize:u},$).wrap()}return a}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:s,zoom:a}=this.getConstrained(this.center,this.zoom);this.center=s,this.zoom=a,this._unmodified=t,this._constraining=!1}_calcMatrices(){if(!this.height)return;const t=this.centerOffset,s=this.point.x,a=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=p.b4(1,this.center.lat)*this.worldSize;let l=p.an(new Float64Array(16));p.J(l,l,[this.width/2,-this.height/2,1]),p.H(l,l,[1,-1,0]),this.labelPlaneMatrix=l,l=p.an(new Float64Array(16)),p.J(l,l,[1,-1,1]),p.H(l,l,[-1,-1,0]),p.J(l,l,[2/this.width,2/this.height,1]),this.glCoordMatrix=l;const u=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),m=Math.min(this.elevation,this.minElevationForCurrentTile),g=u-m*this._pixelPerMeter/Math.cos(this._pitch),y=m<0?g:u,v=Math.PI/2+this._pitch,I=this._fov*(.5+t.y/this.height),S=Math.sin(I)*y/Math.sin(p.ac(Math.PI-v-I,.01,Math.PI-.01)),C=this.getHorizon(),D=2*Math.atan(C/this.cameraToCenterDistance)*(.5+t.y/(2*C)),R=Math.sin(D)*y/Math.sin(p.ac(Math.PI-v-D,.01,Math.PI-.01)),j=Math.min(S,R),F=1.01*(Math.cos(Math.PI/2-this._pitch)*j+y),q=this.height/50;l=new Float64Array(16),p.b5(l,this._fov,this.width/this.height,q,F),l[8]=2*-t.x/this.width,l[9]=2*t.y/this.height,p.J(l,l,[1,-1,1]),p.H(l,l,[0,0,-this.cameraToCenterDistance]),p.b6(l,l,this._pitch),p.ad(l,l,this.angle),p.H(l,l,[-s,-a,0]),this.mercatorMatrix=p.J([],l,[this.worldSize,this.worldSize,this.worldSize]),p.J(l,l,[1,1,this._pixelPerMeter]),this.pixelMatrix=p.K(new Float64Array(16),this.labelPlaneMatrix,l),p.H(l,l,[0,0,-this.elevation]),this.projMatrix=l,this.invProjMatrix=p.as([],l),this.pixelMatrix3D=p.K(new Float64Array(16),this.labelPlaneMatrix,l);const J=this.width%2/2,$=this.height%2/2,Q=Math.cos(this.angle),se=Math.sin(this.angle),le=s-Math.round(s)+Q*J+se*$,fe=a-Math.round(a)+Q*$+se*J,be=new Float64Array(l);if(p.H(be,be,[le>.5?le-1:le,fe>.5?fe-1:fe,0]),this.alignedProjMatrix=be,l=p.as(new Float64Array(16),this.pixelMatrix),!l)throw new Error("failed to invert matrix");this.pixelMatrixInverse=l,this._posMatrixCache={},this._alignedPosMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new p.P(0,0)),s=[t.x*this.worldSize,t.y*this.worldSize,0,1];return p.af(s,s,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new p.P(0,t))}getCameraQueryGeometry(t){const s=this.getCameraPoint();if(t.length===1)return[t[0],s];{let a=s.x,l=s.y,u=s.x,m=s.y;for(const g of t)a=Math.min(a,g.x),l=Math.min(l,g.y),u=Math.max(u,g.x),m=Math.max(m,g.y);return[new p.P(a,l),new p.P(u,l),new p.P(u,m),new p.P(a,m),new p.P(a,l)]}}lngLatToCameraDepth(t,s){const a=this.locationCoordinate(t),l=[a.x*this.worldSize,a.y*this.worldSize,s,1];return p.af(l,l,this.projMatrix),l[2]/l[3]}}function zl(c,t){let s,a=!1,l=null,u=null;const m=()=>{l=null,a&&(c.apply(u,s),l=setTimeout(m,t),a=!1)};return(...g)=>(a=!0,u=this,s=g,l||m(),l)}class wo{constructor(t){this._getCurrentHash=()=>{const s=window.location.hash.replace("#","");if(this._hashName){let a;return s.split("&").map(l=>l.split("=")).forEach(l=>{l[0]===this._hashName&&(a=l)}),(a&&a[1]||"").split("/")}return s.split("/")},this._onHashChange=()=>{const s=this._getCurrentHash();if(s.length>=3&&!s.some(a=>isNaN(a))){const a=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(s[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+s[2],+s[1]],zoom:+s[0],bearing:a,pitch:+(s[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const s=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,s)}catch{}},this._updateHash=zl(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t)}addTo(t){return this._map=t,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(t){const s=this._map.getCenter(),a=Math.round(100*this._map.getZoom())/100,l=Math.ceil((a*Math.LN2+Math.log(512/360/.5))/Math.LN10),u=Math.pow(10,l),m=Math.round(s.lng*u)/u,g=Math.round(s.lat*u)/u,y=this._map.getBearing(),v=this._map.getPitch();let I="";if(I+=t?`/${m}/${g}/${a}`:`${a}/${g}/${m}`,(y||v)&&(I+="/"+Math.round(10*y)/10),v&&(I+=`/${Math.round(v)}`),this._hashName){const S=this._hashName;let C=!1;const D=window.location.hash.slice(1).split("&").map(R=>{const j=R.split("=")[0];return j===S?(C=!0,`${j}=${I}`):R}).filter(R=>R);return C||D.push(`${S}=${I}`),`#${D.join("&")}`}return`#${I}`}}const Sa={linearity:.3,easing:p.b7(0,0,.3,1)},So=p.e({deceleration:2500,maxSpeed:1400},Sa),Ia=p.e({deceleration:20,maxSpeed:1400},Sa),Ta=p.e({deceleration:1e3,maxSpeed:360},Sa),Io=p.e({deceleration:1e3,maxSpeed:90},Sa);class To{constructor(t){this._map=t,this.clear()}clear(){this._inertiaBuffer=[]}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:oe.now(),settings:t})}_drainInertiaBuffer(){const t=this._inertiaBuffer,s=oe.now();for(;t.length>0&&s-t[0].time>160;)t.shift()}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const s={zoom:0,bearing:0,pitch:0,pan:new p.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:u}of this._inertiaBuffer)s.zoom+=u.zoomDelta||0,s.bearing+=u.bearingDelta||0,s.pitch+=u.pitchDelta||0,u.panDelta&&s.pan._add(u.panDelta),u.around&&(s.around=u.around),u.pinchAround&&(s.pinchAround=u.pinchAround);const a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,l={};if(s.pan.mag()){const u=Ss(s.pan.mag(),a,p.e({},So,t||{}));l.offset=s.pan.mult(u.amount/s.pan.mag()),l.center=this._map.transform.center,Ln(l,u)}if(s.zoom){const u=Ss(s.zoom,a,Ia);l.zoom=this._map.transform.zoom+u.amount,Ln(l,u)}if(s.bearing){const u=Ss(s.bearing,a,Ta);l.bearing=this._map.transform.bearing+p.ac(u.amount,-179,179),Ln(l,u)}if(s.pitch){const u=Ss(s.pitch,a,Io);l.pitch=this._map.transform.pitch+u.amount,Ln(l,u)}if(l.zoom||l.bearing){const u=s.pinchAround===void 0?s.around:s.pinchAround;l.around=u?this._map.unproject(u):this._map.getCenter()}return this.clear(),p.e(l,{noMoveStart:!0})}}function Ln(c,t){(!c.duration||c.durations.unproject(y)),g=u.reduce((y,v,I,S)=>y.add(v.div(S.length)),new p.P(0,0));super(t,{points:u,point:g,lngLats:m,lngLat:s.unproject(g),originalEvent:a}),this._defaultPrevented=!1}}class Dl extends p.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(t,s,a){super(t,{originalEvent:a}),this._defaultPrevented=!1}}class ko{constructor(t,s){this._map=t,this._clickTolerance=s.clickTolerance}reset(){delete this._mousedownPos}wheel(t){return this._firePreventable(new Dl(t.type,this._map,t))}mousedown(t,s){return this._mousedownPos=s,this._firePreventable(new bi(t.type,this._map,t))}mouseup(t){this._map.fire(new bi(t.type,this._map,t))}click(t,s){this._mousedownPos&&this._mousedownPos.dist(s)>=this._clickTolerance||this._map.fire(new bi(t.type,this._map,t))}dblclick(t){return this._firePreventable(new bi(t.type,this._map,t))}mouseover(t){this._map.fire(new bi(t.type,this._map,t))}mouseout(t){this._map.fire(new bi(t.type,this._map,t))}touchstart(t){return this._firePreventable(new Is(t.type,this._map,t))}touchmove(t){this._map.fire(new Is(t.type,this._map,t))}touchend(t){this._map.fire(new Is(t.type,this._map,t))}touchcancel(t){this._map.fire(new Is(t.type,this._map,t))}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Uc{constructor(t){this._map=t}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(t){this._map.fire(new bi(t.type,this._map,t))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new bi("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new bi(t.type,this._map,t)),this._map.listens("contextmenu")&&t.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class Js{constructor(t){this._map=t}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(p.P.convert(t),this._map.terrain)}}class Rn{constructor(t,s){this._map=t,this._tr=new Js(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=s.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(t,s){this.isEnabled()&&t.shiftKey&&t.button===0&&(W.disableDrag(),this._startPos=this._lastPos=s,this._active=!0)}mousemoveWindow(t,s){if(!this._active)return;const a=s;if(this._lastPos.equals(a)||!this._box&&a.dist(this._startPos)u.fitScreenCoordinates(a,l,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",t)}keydown(t){this._active&&t.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",t))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(W.remove(this._box),this._box=null),W.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(t,s){return this._map.fire(new p.k(t,{originalEvent:s}))}}function Fn(c,t){if(c.length!==t.length)throw new Error(`The number of touches and points are not equal - touches ${c.length}, points ${t.length}`);const s={};for(let a=0;athis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=t.timeStamp),a.length===this.numTouches&&(this.centroid=function(l){const u=new p.P(0,0);for(const m of l)u._add(m);return u.div(l.length)}(s),this.touches=Fn(a,s)))}touchmove(t,s,a){if(this.aborted||!this.centroid)return;const l=Fn(a,s);for(const u in this.touches){const m=l[u];(!m||m.dist(this.touches[u])>30)&&(this.aborted=!0)}}touchend(t,s,a){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),a.length===0){const l=!this.aborted&&this.centroid;if(this.reset(),l)return l}}}class ka{constructor(t){this.singleTap=new Ll(t),this.numTaps=t.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(t,s,a){this.singleTap.touchstart(t,s,a)}touchmove(t,s,a){this.singleTap.touchmove(t,s,a)}touchend(t,s,a){const l=this.singleTap.touchend(t,s,a);if(l){const u=t.timeStamp-this.lastTime<500,m=!this.lastTap||this.lastTap.dist(l)<30;if(u&&m||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=l,this.count===this.numTaps)return this.reset(),l}}}class Ma{constructor(t){this._tr=new Js(t),this._zoomIn=new ka({numTouches:1,numTaps:2}),this._zoomOut=new ka({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(t,s,a){this._zoomIn.touchstart(t,s,a),this._zoomOut.touchstart(t,s,a)}touchmove(t,s,a){this._zoomIn.touchmove(t,s,a),this._zoomOut.touchmove(t,s,a)}touchend(t,s,a){const l=this._zoomIn.touchend(t,s,a),u=this._zoomOut.touchend(t,s,a),m=this._tr;return l?(this._active=!0,t.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:g=>g.easeTo({duration:300,zoom:m.zoom+1,around:m.unproject(l)},{originalEvent:t})}):u?(this._active=!0,t.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:g=>g.easeTo({duration:300,zoom:m.zoom-1,around:m.unproject(u)},{originalEvent:t})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ts{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset()}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t)}_move(...t){const s=this._moveFunction(...t);if(s.bearingDelta||s.pitchDelta||s.around||s.panDelta)return this._active=!0,s}dragStart(t,s){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=s.length?s[0]:s,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(t,s){if(!this.isEnabled())return;const a=this._lastPoint;if(!a)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const l=s.length?s[0]:s;return!this._moved&&l.dist(a){c.mousedown=c.dragStart,c.mousemoveWindow=c.dragMove,c.mouseup=c.dragEnd,c.contextmenu=t=>{t.preventDefault()}},rr=({enable:c,clickTolerance:t,bearingDegreesPerPixelMoved:s=.8})=>{const a=new Aa({checkCorrectEvent:l=>W.mouseButton(l)===0&&l.ctrlKey||W.mouseButton(l)===2});return new Ts({clickTolerance:t,move:(l,u)=>({bearingDelta:(u.x-l.x)*s}),moveStateManager:a,enable:c,assignEvents:Gr})},Pa=({enable:c,clickTolerance:t,pitchDegreesPerPixelMoved:s=-.5})=>{const a=new Aa({checkCorrectEvent:l=>W.mouseButton(l)===0&&l.ctrlKey||W.mouseButton(l)===2});return new Ts({clickTolerance:t,move:(l,u)=>({pitchDelta:(u.y-l.y)*s}),moveStateManager:a,enable:c,assignEvents:Gr})};class Mo{constructor(t,s){this._clickTolerance=t.clickTolerance||1,this._map=s,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new p.P(0,0)}minTouchs(){return this._map.cooperativeGestures.isEnabled()?2:1}touchstart(t,s,a){return this._calculateTransform(t,s,a)}touchmove(t,s,a){if(this._active&&!(a.length0&&(this._active=!0);const l=Fn(a,s),u=new p.P(0,0),m=new p.P(0,0);let g=0;for(const v in l){const I=l[v],S=this._touches[v];S&&(u._add(I),m._add(I.sub(S)),g++,l[v]=I)}if(this._touches=l,gMath.abs(c.x)}class Co extends Ca{constructor(t){super(),this._currentTouchCount=0,this._map=t}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(t,s,a){super.touchstart(t,s,a),this._currentTouchCount=a.length}_start(t){this._lastPoints=t,za(t[0].sub(t[1]))&&(this._valid=!1)}_move(t,s,a){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const l=t[0].sub(this._lastPoints[0]),u=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(l,u,a.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(l.y+u.y)/2*-.5}):void 0}gestureBeginsVertically(t,s,a){if(this._valid!==void 0)return this._valid;const l=t.mag()>=2,u=s.mag()>=2;if(!l&&!u)return;if(!l||!u)return this._firstMove===void 0&&(this._firstMove=a),a-this._firstMove<100&&void 0;const m=t.y>0==s.y>0;return za(t)&&za(s)&&m}}const Rl={panStep:100,bearingStep:15,pitchStep:10};class rs{constructor(t){this._tr=new Js(t);const s=Rl;this._panStep=s.panStep,this._bearingStep=s.bearingStep,this._pitchStep=s.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let s=0,a=0,l=0,u=0,m=0;switch(t.keyCode){case 61:case 107:case 171:case 187:s=1;break;case 189:case 109:case 173:s=-1;break;case 37:t.shiftKey?a=-1:(t.preventDefault(),u=-1);break;case 39:t.shiftKey?a=1:(t.preventDefault(),u=1);break;case 38:t.shiftKey?l=1:(t.preventDefault(),m=-1);break;case 40:t.shiftKey?l=-1:(t.preventDefault(),m=1);break;default:return}return this._rotationDisabled&&(a=0,l=0),{cameraAnimation:g=>{const y=this._tr;g.easeTo({duration:300,easeId:"keyboardHandler",easing:Fl,zoom:s?Math.round(y.zoom)+s*(t.shiftKey?2:1):y.zoom,bearing:y.bearing+a*this._bearingStep,pitch:y.pitch+l*this._pitchStep,offset:[-u*this._panStep,-m*this._panStep],center:y.center},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function Fl(c){return c*(2-c)}const Eo=4.000244140625;class zo{constructor(t,s){this._onTimeout=a=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(a)},this._map=t,this._tr=new Js(t),this._triggerRenderFrame=s,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(t){this._defaultZoomRate=t}setWheelZoomRate(t){this._wheelZoomRate=t}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&t.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}wheel(t){if(!this.isEnabled()||this._map.cooperativeGestures.isEnabled()&&!t[this._map.cooperativeGestures._bypassKey])return;let s=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const a=oe.now(),l=a-(this._lastWheelEventTime||0);this._lastWheelEventTime=a,s!==0&&s%Eo==0?this._type="wheel":s!==0&&Math.abs(s)<4?this._type="trackpad":l>400?(this._type=null,this._lastValue=s,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(l*s)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,s+=this._lastValue)),t.shiftKey&&s&&(s/=4),this._type&&(this._lastWheelEvent=t,this._delta-=s,this._active||this._start(t)),t.preventDefault()}_start(t){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const s=W.mousePos(this._map.getCanvas(),t),a=this._tr;this._around=s.y>a.transform.height/2-a.transform.getHorizon()?p.M.convert(this._aroundCenter?a.center:a.unproject(s)):p.M.convert(a.center),this._aroundPoint=a.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;const t=this._tr.transform;if(this._delta!==0){const g=this._type==="wheel"&&Math.abs(this._delta)>Eo?this._wheelZoomRate:this._defaultZoomRate;let y=2/(1+Math.exp(-Math.abs(this._delta*g)));this._delta<0&&y!==0&&(y=1/y);const v=typeof this._targetZoom=="number"?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(v*y))),this._type==="wheel"&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const s=typeof this._targetZoom=="number"?this._targetZoom:t.zoom,a=this._startZoom,l=this._easing;let u,m=!1;if(this._type==="wheel"&&a&&l){const g=Math.min((oe.now()-this._lastWheelEventTime)/200,1),y=l(g);u=p.z.number(a,s,y),g<1?this._frameId||(this._frameId=!0):m=!0}else u=s,m=!0;return this._active=!0,m&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!m,zoomDelta:u-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let s=p.b8;if(this._prevEase){const a=this._prevEase,l=(oe.now()-a.start)/a.duration,u=a.easing(l+.01)-a.easing(l),m=.27/Math.sqrt(u*u+1e-4)*.01,g=Math.sqrt(.0729-m*m);s=p.b7(m,g,.25,1)}return this._prevEase={start:oe.now(),duration:t,easing:s},s}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Do{constructor(t,s){this._clickZoom=t,this._tapZoom=s}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class Bl{constructor(t){this._tr=new Js(t),this.reset()}reset(){this._active=!1}dblclick(t,s){return t.preventDefault(),{cameraAnimation:a=>{a.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(s)},{originalEvent:t})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Ol{constructor(){this._tap=new ka({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(t,s,a){if(!this._swipePoint)if(this._tapTime){const l=s[0],u=t.timeStamp-this._tapTime<500,m=this._tapPoint.dist(l)<30;u&&m?a.length>0&&(this._swipePoint=l,this._swipeTouch=a[0].identifier):this.reset()}else this._tap.touchstart(t,s,a)}touchmove(t,s,a){if(this._tapTime){if(this._swipePoint){if(a[0].identifier!==this._swipeTouch)return;const l=s[0],u=l.y-this._swipePoint.y;return this._swipePoint=l,t.preventDefault(),this._active=!0,{zoomDelta:u/128}}}else this._tap.touchmove(t,s,a)}touchend(t,s,a){if(this._tapTime)this._swipePoint&&a.length===0&&this.reset();else{const l=this._tap.touchend(t,s,a);l&&(this._tapTime=t.timeStamp,this._tapPoint=l)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Lo{constructor(t,s,a){this._el=t,this._mousePan=s,this._touchPan=a}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Qs{constructor(t,s,a){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=s,this._mousePitch=a}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Ro{constructor(t,s,a,l){this._el=t,this._touchZoom=s,this._touchRotate=a,this._tapDragZoom=l,this._rotationDisabled=!1,this._enabled=!0}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class hr{constructor(t,s){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=t,this._options=s,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add("maplibregl-cooperative-gestures"),this._container=W.create("div","maplibregl-cooperative-gesture-screen",t);let s=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(s=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const a=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),l=document.createElement("div");l.className="maplibregl-desktop-message",l.textContent=s,this._container.appendChild(l);const u=document.createElement("div");u.className="maplibregl-mobile-message",u.textContent=a,this._container.appendChild(u),this._container.setAttribute("aria-hidden","true")}_destoryUI(){this._container&&(W.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destoryUI()}isEnabled(){return this._enabled}touchmove(t){this._onCooperativeGesture(t.touches.length===1)}wheel(t){this._map.scrollZoom.isEnabled()&&this._onCooperativeGesture(!t[this._bypassKey])}_onCooperativeGesture(t){this._enabled&&t&&(this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}const sr=c=>c.zoom||c.drag||c.pitch||c.rotate;class Vl extends p.k{}function ur(c){return c.panDelta&&c.panDelta.mag()||c.zoomDelta||c.bearingDelta||c.pitchDelta}class Bn{constructor(t,s){this.handleWindowEvent=l=>{this.handleEvent(l,`${l.type}Window`)},this.handleEvent=(l,u)=>{if(l.type==="blur")return void this.stop(!0);this._updatingCamera=!0;const m=l.type==="renderFrame"?void 0:l,g={needsRenderFrame:!1},y={},v={},I=l.touches,S=I?this._getMapTouches(I):void 0,C=S?W.touchPos(this._map.getCanvas(),S):W.mousePos(this._map.getCanvas(),l);for(const{handlerName:j,handler:F,allowed:q}of this._handlers){if(!F.isEnabled())continue;let J;this._blockedByActive(v,q,j)?F.reset():F[u||l.type]&&(J=F[u||l.type](l,C,S),this.mergeHandlerResult(g,y,J,j,m),J&&J.needsRenderFrame&&this._triggerRenderFrame()),(J||F.isActive())&&(v[j]=F)}const D={};for(const j in this._previousActiveHandlers)v[j]||(D[j]=m);this._previousActiveHandlers=v,(Object.keys(D).length||ur(g))&&(this._changes.push([g,y,D]),this._triggerRenderFrame()),(Object.keys(v).length||ur(g))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:R}=g;R&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],R(this._map))},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new To(t),this._bearingSnap=s.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(s);const a=this._el;this._listeners=[[a,"touchstart",{passive:!0}],[a,"touchmove",{passive:!1}],[a,"touchend",void 0],[a,"touchcancel",void 0],[a,"mousedown",void 0],[a,"mousemove",void 0],[a,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[a,"mouseover",void 0],[a,"mouseout",void 0],[a,"dblclick",void 0],[a,"click",void 0],[a,"keydown",{capture:!1}],[a,"keyup",void 0],[a,"wheel",{passive:!1}],[a,"contextmenu",void 0],[window,"blur",void 0]];for(const[l,u,m]of this._listeners)W.addEventListener(l,u,l===document?this.handleWindowEvent:this.handleEvent,m)}destroy(){for(const[t,s,a]of this._listeners)W.removeEventListener(t,s,t===document?this.handleWindowEvent:this.handleEvent,a)}_addDefaultHandlers(t){const s=this._map,a=s.getCanvasContainer();this._add("mapEvent",new ko(s,t));const l=s.boxZoom=new Rn(s,t);this._add("boxZoom",l),t.interactive&&t.boxZoom&&l.enable();const u=s.cooperativeGestures=new hr(s,t.cooperativeGestures);this._add("cooperativeGestures",u),t.cooperativeGestures&&u.enable();const m=new Ma(s),g=new Bl(s);s.doubleClickZoom=new Do(g,m),this._add("tapZoom",m),this._add("clickZoom",g),t.interactive&&t.doubleClickZoom&&s.doubleClickZoom.enable();const y=new Ol;this._add("tapDragZoom",y);const v=s.touchPitch=new Co(s);this._add("touchPitch",v),t.interactive&&t.touchPitch&&s.touchPitch.enable(t.touchPitch);const I=rr(t),S=Pa(t);s.dragRotate=new Qs(t,I,S),this._add("mouseRotate",I,["mousePitch"]),this._add("mousePitch",S,["mouseRotate"]),t.interactive&&t.dragRotate&&s.dragRotate.enable();const C=(({enable:J,clickTolerance:$})=>{const Q=new Aa({checkCorrectEvent:se=>W.mouseButton(se)===0&&!se.ctrlKey});return new Ts({clickTolerance:$,move:(se,le)=>({around:le,panDelta:le.sub(se)}),activateOnStart:!0,moveStateManager:Q,enable:J,assignEvents:Gr})})(t),D=new Mo(t,s);s.dragPan=new Lo(a,C,D),this._add("mousePan",C),this._add("touchPan",D,["touchZoom","touchRotate"]),t.interactive&&t.dragPan&&s.dragPan.enable(t.dragPan);const R=new Po,j=new Ea;s.touchZoomRotate=new Ro(a,j,R,y),this._add("touchRotate",R,["touchPan","touchZoom"]),this._add("touchZoom",j,["touchPan","touchRotate"]),t.interactive&&t.touchZoomRotate&&s.touchZoomRotate.enable(t.touchZoomRotate);const F=s.scrollZoom=new zo(s,()=>this._triggerRenderFrame());this._add("scrollZoom",F,["mousePan"]),t.interactive&&t.scrollZoom&&s.scrollZoom.enable(t.scrollZoom);const q=s.keyboard=new rs(s);this._add("keyboard",q),t.interactive&&t.keyboard&&s.keyboard.enable(),this._add("blockableMapEvent",new Uc(s))}_add(t,s,a){this._handlers.push({handlerName:t,handler:s,allowed:a}),this._handlersById[t]=s}stop(t){if(!this._updatingCamera){for(const{handler:s}of this._handlers)s.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[]}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!sr(this._eventsInProgress)||this.isZooming()}_blockedByActive(t,s,a){for(const l in t)if(l!==a&&(!s||s.indexOf(l)<0))return!0;return!1}_getMapTouches(t){const s=[];for(const a of t)this._el.contains(a.target)&&s.push(a);return s}mergeHandlerResult(t,s,a,l,u){if(!a)return;p.e(t,a);const m={handlerName:l,originalEvent:a.originalEvent||u};a.zoomDelta!==void 0&&(s.zoom=m),a.panDelta!==void 0&&(s.drag=m),a.pitchDelta!==void 0&&(s.pitch=m),a.bearingDelta!==void 0&&(s.rotate=m)}_applyChanges(){const t={},s={},a={};for(const[l,u,m]of this._changes)l.panDelta&&(t.panDelta=(t.panDelta||new p.P(0,0))._add(l.panDelta)),l.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+l.zoomDelta),l.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+l.bearingDelta),l.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+l.pitchDelta),l.around!==void 0&&(t.around=l.around),l.pinchAround!==void 0&&(t.pinchAround=l.pinchAround),l.noInertia&&(t.noInertia=l.noInertia),p.e(s,u),p.e(a,m);this._updateMapTransform(t,s,a),this._changes=[]}_updateMapTransform(t,s,a){const l=this._map,u=l._getTransformForUpdate(),m=l.terrain;if(!(ur(t)||m&&this._terrainMovement))return this._fireEvents(s,a,!0);let{panDelta:g,zoomDelta:y,bearingDelta:v,pitchDelta:I,around:S,pinchAround:C}=t;C!==void 0&&(S=C),l._stop(!0),S=S||l.transform.centerPoint;const D=u.pointLocation(g?S.sub(g):S);v&&(u.bearing+=v),I&&(u.pitch+=I),y&&(u.zoom+=y),m?this._terrainMovement||!s.drag&&!s.zoom?s.drag&&this._terrainMovement?u.center=u.pointLocation(u.centerPoint.sub(g)):u.setLocationAtPoint(D,S):(this._terrainMovement=!0,this._map._elevationFreeze=!0,u.setLocationAtPoint(D,S)):u.setLocationAtPoint(D,S),l._applyUpdatedTransform(u),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(s,a,!0)}_fireEvents(t,s,a){const l=sr(this._eventsInProgress),u=sr(t),m={};for(const S in t){const{originalEvent:C}=t[S];this._eventsInProgress[S]||(m[`${S}start`]=C),this._eventsInProgress[S]=t[S]}!l&&u&&this._fireEvent("movestart",u.originalEvent);for(const S in m)this._fireEvent(S,m[S]);u&&this._fireEvent("move",u.originalEvent);for(const S in t){const{originalEvent:C}=t[S];this._fireEvent(S,C)}const g={};let y;for(const S in this._eventsInProgress){const{handlerName:C,originalEvent:D}=this._eventsInProgress[S];this._handlersById[C].isActive()||(delete this._eventsInProgress[S],y=s[C]||D,g[`${S}end`]=y)}for(const S in g)this._fireEvent(S,g[S]);const v=sr(this._eventsInProgress),I=(l||u)&&!v;if(I&&this._terrainMovement&&(this._map._elevationFreeze=!1,this._terrainMovement=!1,this._map.transform.recalculateZoom(this._map.terrain)),a&&I){this._updatingCamera=!0;const S=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),C=D=>D!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new Vl("renderFrame",{timeStamp:t})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Zc extends p.E{constructor(t,s){super(),this._renderFrameCallback=()=>{const a=Math.min((oe.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(a)),a<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=s.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new p.M(this.transform.center.lng,this.transform.center.lat)}setCenter(t,s){return this.jumpTo({center:t},s)}panBy(t,s,a){return t=p.P.convert(t).mult(-1),this.panTo(this.transform.center,p.e({offset:t},s),a)}panTo(t,s,a){return this.easeTo(p.e({center:t},s),a)}getZoom(){return this.transform.zoom}setZoom(t,s){return this.jumpTo({zoom:t},s),this}zoomTo(t,s,a){return this.easeTo(p.e({zoom:t},s),a)}zoomIn(t,s){return this.zoomTo(this.getZoom()+1,t,s),this}zoomOut(t,s){return this.zoomTo(this.getZoom()-1,t,s),this}getBearing(){return this.transform.bearing}setBearing(t,s){return this.jumpTo({bearing:t},s),this}getPadding(){return this.transform.padding}setPadding(t,s){return this.jumpTo({padding:t},s),this}rotateTo(t,s,a){return this.easeTo(p.e({bearing:t},s),a)}resetNorth(t,s){return this.rotateTo(0,p.e({duration:1e3},t),s),this}resetNorthPitch(t,s){return this.easeTo(p.e({bearing:0,pitch:0,duration:1e3},t),s),this}snapToNorth(t,s){return Math.abs(this.getBearing()){if(this._zooming&&(l.zoom=p.z.number(u,F,fe)),this._rotating&&(l.bearing=p.z.number(m,v,fe)),this._pitching&&(l.pitch=p.z.number(g,I,fe)),this._padding&&(l.interpolatePadding(y,S,fe),D=l.centerPoint.add(C)),this.terrain&&!t.freezeElevation&&this._updateElevation(fe),Q)l.setLocationAtPoint(Q,se);else{const be=l.zoomScale(l.zoom-u),Fe=F>u?Math.min(2,$):Math.max(.5,$),Be=Math.pow(Fe,1-fe),we=l.unproject(q.add(J.mult(fe*Be)).mult(be));l.setLocationAtPoint(l.renderWorldCopies?we.wrap():we,D)}this._applyUpdatedTransform(l),this._fireMoveEvents(s)},fe=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(s,fe)},t),this}_prepareEase(t,s,a={}){this._moving=!0,s||a.moving||this.fire(new p.k("movestart",t)),this._zooming&&!a.zooming&&this.fire(new p.k("zoomstart",t)),this._rotating&&!a.rotating&&this.fire(new p.k("rotatestart",t)),this._pitching&&!a.pitching&&this.fire(new p.k("pitchstart",t))}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const s=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&s!==this._elevationTarget){const a=this._elevationTarget-this._elevationStart;this._elevationStart+=t*(a-(s-(a*t+this._elevationStart))/(1-t)),this._elevationTarget=s}this.transform.elevation=p.z.number(this._elevationStart,this._elevationTarget,t)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(t){if(!this.transformCameraUpdate)return;const s=t.clone(),{center:a,zoom:l,pitch:u,bearing:m,elevation:g}=this.transformCameraUpdate(s);a&&(s.center=a),l!==void 0&&(s.zoom=l),u!==void 0&&(s.pitch=u),m!==void 0&&(s.bearing=m),g!==void 0&&(s.elevation=g),this.transform.apply(s)}_fireMoveEvents(t){this.fire(new p.k("move",t)),this._zooming&&this.fire(new p.k("zoom",t)),this._rotating&&this.fire(new p.k("rotate",t)),this._pitching&&this.fire(new p.k("pitch",t))}_afterEase(t,s){if(this._easeId&&s&&this._easeId===s)return;delete this._easeId;const a=this._zooming,l=this._rotating,u=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,a&&this.fire(new p.k("zoomend",t)),l&&this.fire(new p.k("rotateend",t)),u&&this.fire(new p.k("pitchend",t)),this.fire(new p.k("moveend",t))}flyTo(t,s){var a;if(!t.essential&&oe.prefersReducedMotion){const Ee=p.L(t,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Ee,s)}this.stop(),t=p.e({offset:[0,0],speed:1.2,curve:1.42,easing:p.b8},t);const l=this._getTransformForUpdate(),u=this.getZoom(),m=this.getBearing(),g=this.getPitch(),y=this.getPadding(),v="bearing"in t?this._normalizeBearing(t.bearing,m):m,I="pitch"in t?+t.pitch:g,S="padding"in t?t.padding:l.padding,C=p.P.convert(t.offset);let D=l.centerPoint.add(C);const R=l.pointLocation(D),{center:j,zoom:F}=l.getConstrained(p.M.convert(t.center||R),(a=t.zoom)!==null&&a!==void 0?a:u);this._normalizeCenter(j);const q=l.zoomScale(F-u),J=l.project(R),$=l.project(j).sub(J);let Q=t.curve;const se=Math.max(l.width,l.height),le=se/q,fe=$.mag();if("minZoom"in t){const Ee=p.ac(Math.min(t.minZoom,u,F),l.minZoom,l.maxZoom),Je=se/l.zoomScale(Ee-u);Q=Math.sqrt(Je/fe*2)}const be=Q*Q;function Fe(Ee){const Je=(le*le-se*se+(Ee?-1:1)*be*be*fe*fe)/(2*(Ee?le:se)*be*fe);return Math.log(Math.sqrt(Je*Je+1)-Je)}function Be(Ee){return(Math.exp(Ee)-Math.exp(-Ee))/2}function we(Ee){return(Math.exp(Ee)+Math.exp(-Ee))/2}const Te=Fe(!1);let Ne=function(Ee){return we(Te)/we(Te+Q*Ee)},tt=function(Ee){return se*((we(Te)*(Be(Je=Te+Q*Ee)/we(Je))-Be(Te))/be)/fe;var Je},Pe=(Fe(!0)-Te)/Q;if(Math.abs(fe)<1e-6||!isFinite(Pe)){if(Math.abs(se-le)<1e-6)return this.easeTo(t,s);const Ee=le0,Ne=Je=>Math.exp(Ee*Q*Je)}return t.duration="duration"in t?+t.duration:1e3*Pe/("screenSpeed"in t?+t.screenSpeed/Q:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=m!==v,this._pitching=I!==g,this._padding=!l.isPaddingEqual(S),this._prepareEase(s,!1),this.terrain&&this._prepareElevation(j),this._ease(Ee=>{const Je=Ee*Pe,Bt=1/Ne(Je);l.zoom=Ee===1?F:u+l.scaleZoom(Bt),this._rotating&&(l.bearing=p.z.number(m,v,Ee)),this._pitching&&(l.pitch=p.z.number(g,I,Ee)),this._padding&&(l.interpolatePadding(y,S,Ee),D=l.centerPoint.add(C)),this.terrain&&!t.freezeElevation&&this._updateElevation(Ee);const ht=Ee===1?j:l.unproject(J.add($.mult(tt(Je))).mult(Bt));l.setLocationAtPoint(l.renderWorldCopies?ht.wrap():ht,D),this._applyUpdatedTransform(l),this._fireMoveEvents(s)},()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(s)},t),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(t,s){var a;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const l=this._onEaseEnd;delete this._onEaseEnd,l.call(this,s)}return t||(a=this.handlers)===null||a===void 0||a.stop(!1),this}_ease(t,s,a){a.animate===!1||a.duration===0?(t(1),s()):(this._easeStart=oe.now(),this._easeOptions=a,this._onEaseFrame=t,this._onEaseEnd=s,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(t,s){t=p.b2(t,-180,180);const a=Math.abs(t-s);return Math.abs(t-360-s)180?-360:a<-180?360:0}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(p.M.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const $l={compact:!0,customAttribution:'MapLibre'};class Nl{constructor(t=$l){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=s=>{!s||s.sourceDataType!=="metadata"&&s.sourceDataType!=="visibility"&&s.dataType!=="style"&&s.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=t}getDefaultPosition(){return"bottom-right"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=W.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=W.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=W.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){W.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(t,s){const a=this._map._getUIString(`AttributionControl.${s}`);t.title=a,t.setAttribute("aria-label",a)}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map(l=>typeof l!="string"?"":l)):typeof this.options.customAttribution=="string"&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const l=this._map.style.stylesheet;this.styleOwner=l.owner,this.styleId=l.id}const s=this._map.style.sourceCaches;for(const l in s){const u=s[l];if(u.used||u.usedForTerrain){const m=u.getSource();m.attribution&&t.indexOf(m.attribution)<0&&t.push(m.attribution)}}t=t.filter(l=>String(l).trim()),t.sort((l,u)=>l.length-u.length),t=t.filter((l,u)=>{for(let m=u+1;m=0)return!1;return!0});const a=t.join(" | ");a!==this._attribHTML&&(this._attribHTML=a,t.length?(this._innerContainer.innerHTML=a,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Fo{constructor(t={}){this._updateCompact=()=>{const s=this._container.children;if(s.length){const a=s[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&a.classList.add("maplibregl-compact"):a.classList.remove("maplibregl-compact")}},this.options=t}getDefaultPosition(){return"bottom-left"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=W.create("div","maplibregl-ctrl");const s=W.create("a","maplibregl-ctrl-logo");return s.target="_blank",s.rel="noopener nofollow",s.href="https://maplibre.org/",s.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),s.setAttribute("rel","noopener nofollow"),this._container.appendChild(s),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){W.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class On{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(t){const s=++this._id;return this._queue.push({callback:t,id:s,cancelled:!1}),s}remove(t){const s=this._currentlyRunning,a=s?this._queue.concat(s):this._queue;for(const l of a)if(l.id===t)return void(l.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const s=this._currentlyRunning=this._queue;this._queue=[];for(const a of s)if(!a.cancelled&&(a.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var ss=p.X([{name:"a_pos3d",type:"Int16",components:3}]);class Oe extends p.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(t,s){this.sourceCache.update(t,s),this._renderableTilesKeys=[];const a={};for(const l of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:s}))a[l.key]=!0,this._renderableTilesKeys.push(l.key),this._tiles[l.key]||(l.posMatrix=new Float64Array(16),p.aO(l.posMatrix,0,p.W,0,p.W,0,1),this._tiles[l.key]=new ji(l,this.tileSize));for(const l in this._tiles)a[l]||delete this._tiles[l]}freeRtt(t){for(const s in this._tiles){const a=this._tiles[s];(!t||a.tileID.equals(t)||a.tileID.isChildOf(t)||t.isChildOf(a.tileID))&&(a.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(t=>this.getTileByID(t))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const s={};for(const a of this._renderableTilesKeys){const l=this._tiles[a].tileID;if(l.canonical.equals(t.canonical)){const u=t.clone();u.posMatrix=new Float64Array(16),p.aO(u.posMatrix,0,p.W,0,p.W,0,1),s[a]=u}else if(l.canonical.isChildOf(t.canonical)){const u=t.clone();u.posMatrix=new Float64Array(16);const m=l.canonical.z-t.canonical.z,g=l.canonical.x-(l.canonical.x>>m<>m<>m;p.aO(u.posMatrix,0,v,0,v,0,1),p.H(u.posMatrix,u.posMatrix,[-g*v,-y*v,0]),s[a]=u}else if(t.canonical.isChildOf(l.canonical)){const u=t.clone();u.posMatrix=new Float64Array(16);const m=t.canonical.z-l.canonical.z,g=t.canonical.x-(t.canonical.x>>m<>m<>m;p.aO(u.posMatrix,0,p.W,0,p.W,0,1),p.H(u.posMatrix,u.posMatrix,[g*v,y*v,0]),p.J(u.posMatrix,u.posMatrix,[1/2**m,1/2**m,0]),s[a]=u}}return s}getSourceTile(t,s){const a=this.sourceCache._source;let l=t.overscaledZ-this.deltaZoom;if(l>a.maxzoom&&(l=a.maxzoom),l=a.minzoom&&(!u||!u.dem);)u=this.sourceCache.getTileByID(t.scaledTo(l--).key);return u}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter(s=>s.timeAdded>=t)}}class jl{constructor(t,s,a){this.painter=t,this.sourceCache=new Oe(s),this.options=a,this.exaggeration=typeof a.exaggeration=="number"?a.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(t,s,a,l=p.W){var u;if(!(s>=0&&s=0&&at.canonical.z&&(t.canonical.z>=l?u=t.canonical.z-l:p.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const m=t.canonical.x-(t.canonical.x>>u<>u<>8<<4|u>>8,s[m+3]=0;const a=new p.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(s.buffer)),l=new mt(t,a,t.gl.RGBA,{premultiply:!1});return l.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=l,l}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const s=new Uint8Array(4),a=this.painter.context,l=a.gl,u=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),m=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),g=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),l.readPixels(u,g-m-1,1,1,l.RGBA,l.UNSIGNED_BYTE,s),a.bindFramebuffer.set(null);const y=s[0]+(s[2]>>4<<8),v=s[1]+((15&s[2])<<8),I=this.coordsIndex[255-s[3]],S=I&&this.sourceCache.getTileByID(I);if(!S)return null;const C=this._coordsTextureSize,D=(1<t.id!==s),this._recentlyUsed.push(t.id)}stampObject(t){t.stamp=++this._stamp}getOrCreateFreeObject(){for(const s of this._recentlyUsed)if(!this._objects[s].inUse)return this._objects[s];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1}freeAllObjects(){for(const t of this._objects)this.freeObject(t)}isFull(){return!(this._objects.length!t.inUse)===!1}}const Ar={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Ul{constructor(t,s){this.painter=t,this.terrain=s,this.pool=new Vn(t.context,30,s.sourceCache.tileSize*s.qualityFactor)}destruct(){this.pool.destruct()}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,s){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter(a=>!t._layers[a].isHidden(s)),this._coordsDescendingInv={};for(const a in t.sourceCaches){this._coordsDescendingInv[a]={};const l=t.sourceCaches[a].getVisibleCoordinates();for(const u of l){const m=this.terrain.sourceCache.getTerrainCoords(u);for(const g in m)this._coordsDescendingInv[a][g]||(this._coordsDescendingInv[a][g]=[]),this._coordsDescendingInv[a][g].push(m[g])}}this._coordsDescendingInvStr={};for(const a of t._order){const l=t._layers[a],u=l.source;if(Ar[l.type]&&!this._coordsDescendingInvStr[u]){this._coordsDescendingInvStr[u]={};for(const m in this._coordsDescendingInv[u])this._coordsDescendingInvStr[u][m]=this._coordsDescendingInv[u][m].map(g=>g.key).sort().join()}}for(const a of this._renderableTiles)for(const l in this._coordsDescendingInvStr){const u=this._coordsDescendingInvStr[l][a.tileID.key];u&&u!==a.rttCoords[l]&&(a.rtt=[])}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return!1;const s=t.type,a=this.painter,l=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(Ar[s]&&(this._prevType&&Ar[this._prevType]||this._stacks.push([]),this._prevType=s,this._stacks[this._stacks.length-1].push(t.id),!l))return!0;if(Ar[this._prevType]||Ar[s]&&l){this._prevType=s;const u=this._stacks.length-1,m=this._stacks[u]||[];for(const g of this._renderableTiles){if(this.pool.isFull()&&(ba(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(g),g.rtt[u]){const v=this.pool.getObjectForId(g.rtt[u].id);if(v.stamp===g.rtt[u].stamp){this.pool.useObject(v);continue}}const y=this.pool.getOrCreateFreeObject();this.pool.useObject(y),this.pool.stampObject(y),g.rtt[u]={id:y.id,stamp:y.stamp},a.context.bindFramebuffer.set(y.fbo.framebuffer),a.context.clear({color:p.aP.transparent,stencil:0}),a.currentStencilSource=void 0;for(let v=0;v{c.touchstart=c.dragStart,c.touchmoveWindow=c.dragMove,c.touchend=c.dragEnd},Oo={showCompass:!0,showZoom:!0,visualizePitch:!1};class Zl{constructor(t,s,a=!1){this.mousedown=m=>{this.startMouse(p.e({},m,{ctrlKey:!0,preventDefault:()=>m.preventDefault()}),W.mousePos(this.element,m)),W.addEventListener(window,"mousemove",this.mousemove),W.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=m=>{this.moveMouse(m,W.mousePos(this.element,m))},this.mouseup=m=>{this.mouseRotate.dragEnd(m),this.mousePitch&&this.mousePitch.dragEnd(m),this.offTemp()},this.touchstart=m=>{m.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=W.touchPos(this.element,m.targetTouches)[0],this.startTouch(m,this._startPos),W.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),W.addEventListener(window,"touchend",this.touchend))},this.touchmove=m=>{m.targetTouches.length!==1?this.reset():(this._lastPos=W.touchPos(this.element,m.targetTouches)[0],this.moveTouch(m,this._lastPos))},this.touchend=m=>{m.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const l=t.dragRotate._mouseRotate.getClickTolerance(),u=t.dragRotate._mousePitch.getClickTolerance();this.element=s,this.mouseRotate=rr({clickTolerance:l,enable:!0}),this.touchRotate=(({enable:m,clickTolerance:g,bearingDegreesPerPixelMoved:y=.8})=>{const v=new Ht;return new Ts({clickTolerance:g,move:(I,S)=>({bearingDelta:(S.x-I.x)*y}),moveStateManager:v,enable:m,assignEvents:ql})})({clickTolerance:l,enable:!0}),this.map=t,a&&(this.mousePitch=Pa({clickTolerance:u,enable:!0}),this.touchPitch=(({enable:m,clickTolerance:g,pitchDegreesPerPixelMoved:y=-.5})=>{const v=new Ht;return new Ts({clickTolerance:g,move:(I,S)=>({pitchDelta:(S.y-I.y)*y}),moveStateManager:v,enable:m,assignEvents:ql})})({clickTolerance:u,enable:!0})),W.addEventListener(s,"mousedown",this.mousedown),W.addEventListener(s,"touchstart",this.touchstart,{passive:!1}),W.addEventListener(s,"touchcancel",this.reset)}startMouse(t,s){this.mouseRotate.dragStart(t,s),this.mousePitch&&this.mousePitch.dragStart(t,s),W.disableDrag()}startTouch(t,s){this.touchRotate.dragStart(t,s),this.touchPitch&&this.touchPitch.dragStart(t,s),W.disableDrag()}moveMouse(t,s){const a=this.map,{bearingDelta:l}=this.mouseRotate.dragMove(t,s)||{};if(l&&a.setBearing(a.getBearing()+l),this.mousePitch){const{pitchDelta:u}=this.mousePitch.dragMove(t,s)||{};u&&a.setPitch(a.getPitch()+u)}}moveTouch(t,s){const a=this.map,{bearingDelta:l}=this.touchRotate.dragMove(t,s)||{};if(l&&a.setBearing(a.getBearing()+l),this.touchPitch){const{pitchDelta:u}=this.touchPitch.dragMove(t,s)||{};u&&a.setPitch(a.getPitch()+u)}}off(){const t=this.element;W.removeEventListener(t,"mousedown",this.mousedown),W.removeEventListener(t,"touchstart",this.touchstart,{passive:!1}),W.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),W.removeEventListener(window,"touchend",this.touchend),W.removeEventListener(t,"touchcancel",this.reset),this.offTemp()}offTemp(){W.enableDrag(),W.removeEventListener(window,"mousemove",this.mousemove),W.removeEventListener(window,"mouseup",this.mouseup),W.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),W.removeEventListener(window,"touchend",this.touchend)}}let ns;function Gl(c,t,s){const a=new p.M(c.lng,c.lat);if(c=new p.M(c.lng,c.lat),t){const l=new p.M(c.lng-360,c.lat),u=new p.M(c.lng+360,c.lat),m=s.locationPoint(c).distSqr(t);s.locationPoint(l).distSqr(t)180;){const l=s.locationPoint(c);if(l.x>=0&&l.y>=0&&l.x<=s.width&&l.y<=s.height)break;c.lng>s.center.lng?c.lng-=360:c.lng+=360}return c.lng!==a.lng&&s.locationPoint(c).y>s.height/2-s.getHorizon()?c:a}const Vo={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function as(c,t,s){const a=c.classList;for(const l in Vo)a.remove(`maplibregl-${s}-anchor-${l}`);a.add(`maplibregl-${s}-anchor-${t}`)}class Lt extends p.E{constructor(t){if(super(),this._onKeyPress=s=>{const a=s.code,l=s.charCode||s.keyCode;a!=="Space"&&a!=="Enter"&&l!==32&&l!==13||this.togglePopup()},this._onMapClick=s=>{const a=s.originalEvent.target,l=this._element;this._popup&&(a===l||l.contains(a))&&this.togglePopup()},this._update=s=>{var a;if(!this._map)return;const l=this._map.loaded()&&!this._map.isMoving();((s==null?void 0:s.type)==="terrain"||(s==null?void 0:s.type)==="render"&&!l)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Gl(this._lngLat,this._flatPos,this._map.transform):(a=this._lngLat)===null||a===void 0?void 0:a.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let u="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?u=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(u=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let m="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?m="rotateX(0deg)":this._pitchAlignment==="map"&&(m=`rotateX(${this._map.getPitch()}deg)`),s&&s.type!=="moveend"||(this._pos=this._pos.round()),W.setTransform(this._element,`${Vo[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${m} ${u}`),oe.frameAsync(new AbortController).then(()=>{this._updateOpacity(s&&s.type==="moveend")}).catch(()=>{})},this._onMove=s=>{if(!this._isDragging){const a=this._clickTolerance||this._map._clickTolerance;this._isDragging=s.point.dist(this._pointerdownPos)>=a}this._isDragging&&(this._pos=s.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new p.k("dragstart"))),this.fire(new p.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new p.k("dragend")),this._state="inactive"},this._addDragHandler=s=>{this._element.contains(s.originalEvent.target)&&(s.preventDefault(),this._positionDelta=s.point.sub(this._pos).add(this._offset),this._pointerdownPos=s.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=t&&t.anchor||"center",this._color=t&&t.color||"#3FB1CE",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state="inactive",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||"auto",this._pitchAlignment=t&&t.pitchAlignment&&t.pitchAlignment!=="auto"?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(t==null?void 0:t.opacity,t==null?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=p.P.convert(t&&t.offset||[0,0]);else{this._defaultMarker=!0,this._element=W.create("div"),this._element.setAttribute("aria-label","Map marker");const s=W.createNS("http://www.w3.org/2000/svg","svg"),a=41,l=27;s.setAttributeNS(null,"display","block"),s.setAttributeNS(null,"height",`${a}px`),s.setAttributeNS(null,"width",`${l}px`),s.setAttributeNS(null,"viewBox",`0 0 ${l} ${a}`);const u=W.createNS("http://www.w3.org/2000/svg","g");u.setAttributeNS(null,"stroke","none"),u.setAttributeNS(null,"stroke-width","1"),u.setAttributeNS(null,"fill","none"),u.setAttributeNS(null,"fill-rule","evenodd");const m=W.createNS("http://www.w3.org/2000/svg","g");m.setAttributeNS(null,"fill-rule","nonzero");const g=W.createNS("http://www.w3.org/2000/svg","g");g.setAttributeNS(null,"transform","translate(3.0, 29.0)"),g.setAttributeNS(null,"fill","#000000");const y=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const q of y){const J=W.createNS("http://www.w3.org/2000/svg","ellipse");J.setAttributeNS(null,"opacity","0.04"),J.setAttributeNS(null,"cx","10.5"),J.setAttributeNS(null,"cy","5.80029008"),J.setAttributeNS(null,"rx",q.rx),J.setAttributeNS(null,"ry",q.ry),g.appendChild(J)}const v=W.createNS("http://www.w3.org/2000/svg","g");v.setAttributeNS(null,"fill",this._color);const I=W.createNS("http://www.w3.org/2000/svg","path");I.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),v.appendChild(I);const S=W.createNS("http://www.w3.org/2000/svg","g");S.setAttributeNS(null,"opacity","0.25"),S.setAttributeNS(null,"fill","#000000");const C=W.createNS("http://www.w3.org/2000/svg","path");C.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),S.appendChild(C);const D=W.createNS("http://www.w3.org/2000/svg","g");D.setAttributeNS(null,"transform","translate(6.0, 7.0)"),D.setAttributeNS(null,"fill","#FFFFFF");const R=W.createNS("http://www.w3.org/2000/svg","g");R.setAttributeNS(null,"transform","translate(8.0, 8.0)");const j=W.createNS("http://www.w3.org/2000/svg","circle");j.setAttributeNS(null,"fill","#000000"),j.setAttributeNS(null,"opacity","0.25"),j.setAttributeNS(null,"cx","5.5"),j.setAttributeNS(null,"cy","5.5"),j.setAttributeNS(null,"r","5.4999962");const F=W.createNS("http://www.w3.org/2000/svg","circle");F.setAttributeNS(null,"fill","#FFFFFF"),F.setAttributeNS(null,"cx","5.5"),F.setAttributeNS(null,"cy","5.5"),F.setAttributeNS(null,"r","5.4999962"),R.appendChild(j),R.appendChild(F),m.appendChild(g),m.appendChild(v),m.appendChild(S),m.appendChild(D),m.appendChild(R),s.appendChild(m),s.setAttributeNS(null,"height",a*this._scale+"px"),s.setAttributeNS(null,"width",l*this._scale+"px"),this._element.appendChild(s),this._offset=p.P.convert(t&&t.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",s=>{s.preventDefault()}),this._element.addEventListener("mousedown",s=>{s.preventDefault()}),as(this._element,this._anchor,"marker"),t&&t.className)for(const s of t.className.split(" "))this._element.classList.add(s);this._popup=null}addTo(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on("move",this._update),t.on("moveend",this._update),t.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),W.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=p.M.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),t){if(!("offset"in t.options)){const l=Math.abs(13.5)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[l,-1*(38.1-13.5+l)],"bottom-right":[-l,-1*(38.1-13.5+l)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=t,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var s,a;if(!(!((s=this._map)===null||s===void 0)&&s.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}const l=this._map,u=l.terrain.depthAtPoint(this._pos),m=l.terrain.getElevationForLngLatZoom(this._lngLat,l.transform.tileZoom);if(l.transform.lngLatToCameraDepth(this._lngLat,m)-u<.006)return void(this._element.style.opacity=this._opacity);const g=-this._offset.y/l.transform._pixelPerMeter,y=Math.sin(l.getPitch()*Math.PI/180)*g,v=l.terrain.depthAtPoint(new p.P(this._pos.x,this._pos.y-this._offset.y)),I=l.transform.lngLatToCameraDepth(this._lngLat,m+y)-v>.006;!((a=this._popup)===null||a===void 0)&&a.isOpen()&&I&&this._popup.remove(),this._element.style.opacity=I?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(t){return this._offset=p.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t)}removeClassName(t){this._element.classList.remove(t)}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&t!=="auto"?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,s){return t===void 0&&s===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),t!==void 0&&(this._opacity=t),s!==void 0&&(this._opacityWhenCovered=s),this._map&&this._updateOpacity(!0),this}}const Da={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let en=0,tn=!1;const Wl={maxWidth:100,unit:"metric"};function $o(c,t,s){const a=s&&s.maxWidth||100,l=c._container.clientHeight/2,u=c.unproject([0,l]),m=c.unproject([a,l]),g=u.distanceTo(m);if(s&&s.unit==="imperial"){const y=3.2808*g;y>5280?$n(t,a,y/5280,c._getUIString("ScaleControl.Miles")):$n(t,a,y,c._getUIString("ScaleControl.Feet"))}else s&&s.unit==="nautical"?$n(t,a,g/1852,c._getUIString("ScaleControl.NauticalMiles")):g>=1e3?$n(t,a,g/1e3,c._getUIString("ScaleControl.Kilometers")):$n(t,a,g,c._getUIString("ScaleControl.Meters"))}function $n(c,t,s,a){const l=function(u){const m=Math.pow(10,`${Math.floor(u)}`.length-1);let g=u/m;return g=g>=10?10:g>=5?5:g>=3?3:g>=2?2:g>=1?1:function(y){const v=Math.pow(10,Math.ceil(-Math.log(y)/Math.LN10));return Math.round(y*v)/v}(g),m*g}(s);c.style.width=t*(l/s)+"px",c.innerHTML=`${l} ${a}`}const Pr={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},La=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function Ze(c){if(c){if(typeof c=="number"){const t=Math.round(Math.abs(c)/Math.SQRT2);return{center:new p.P(0,0),top:new p.P(0,c),"top-left":new p.P(t,t),"top-right":new p.P(-t,t),bottom:new p.P(0,-c),"bottom-left":new p.P(t,-t),"bottom-right":new p.P(-t,-t),left:new p.P(c,0),right:new p.P(-c,0)}}if(c instanceof p.P||Array.isArray(c)){const t=p.P.convert(c);return{center:t,top:t,"top-left":t,"top-right":t,bottom:t,"bottom-left":t,"bottom-right":t,left:t,right:t}}return{center:p.P.convert(c.center||[0,0]),top:p.P.convert(c.top||[0,0]),"top-left":p.P.convert(c["top-left"]||[0,0]),"top-right":p.P.convert(c["top-right"]||[0,0]),bottom:p.P.convert(c.bottom||[0,0]),"bottom-left":p.P.convert(c["bottom-left"]||[0,0]),"bottom-right":p.P.convert(c["bottom-right"]||[0,0]),left:p.P.convert(c.left||[0,0]),right:p.P.convert(c.right||[0,0])}}return Ze(new p.P(0,0))}const Ke=_e;T.AJAXError=p.bf,T.Evented=p.E,T.LngLat=p.M,T.MercatorCoordinate=p.Y,T.Point=p.P,T.addProtocol=p.bg,T.config=p.a,T.removeProtocol=p.bh,T.AttributionControl=Nl,T.BoxZoomHandler=Rn,T.CanvasSource=vn,T.CooperativeGesturesHandler=hr,T.DoubleClickZoomHandler=Do,T.DragPanHandler=Lo,T.DragRotateHandler=Qs,T.EdgeInsets=Dn,T.FullscreenControl=class extends p.E{constructor(c={}){super(),this._onFullscreenChange=()=>{var t;let s=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((t=s==null?void 0:s.shadowRoot)===null||t===void 0)&&t.fullscreenElement;)s=s.shadowRoot.fullscreenElement;s===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,c&&c.container&&(c.container instanceof HTMLElement?this._container=c.container:p.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(c){return this._map=c,this._container||(this._container=this._map.getContainer()),this._controlContainer=W.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){W.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const c=this._fullscreenButton=W.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);W.create("span","maplibregl-ctrl-icon",c).setAttribute("aria-hidden","true"),c.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const c=this._getTitle();this._fullscreenButton.setAttribute("aria-label",c),this._fullscreenButton.title=c}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new p.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new p.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},T.GeoJSONSource=Tt,T.GeolocateControl=class extends p.E{constructor(c){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new p.k("outofmaxbounds",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(t),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new p.k("geolocate",t)),this._finish()}},this._updateCamera=t=>{const s=new p.M(t.coords.longitude,t.coords.latitude),a=t.coords.accuracy,l=this._map.getBearing(),u=p.e({bearing:l},this.options.fitBoundsOptions),m=ti.fromLngLat(s,a);this._map.fitBounds(m,u,{geolocateSource:!0})},this._updateMarker=t=>{if(t){const s=new p.M(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(s).addTo(this._map),this._userLocationDotMarker.setLngLat(s).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(t.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const s=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=s,this._geolocateButton.setAttribute("aria-label",s),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(t.code===3&&tn)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new p.k("error",t)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=t=>{if(this._map){if(this._container.addEventListener("contextmenu",s=>s.preventDefault()),this._geolocateButton=W.create("button","maplibregl-ctrl-geolocate",this._container),W.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",t===!1){p.w("Geolocation support is not available so the GeolocateControl will be disabled.");const s=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=s,this._geolocateButton.setAttribute("aria-label",s)}else{const s=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.title=s,this._geolocateButton.setAttribute("aria-label",s)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=W.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new Lt({element:this._dotElement}),this._circleElement=W.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new Lt({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",s=>{s.geolocateSource||this._watchState!=="ACTIVE_LOCK"||s.originalEvent&&s.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new p.k("trackuserlocationend")))})}},this.options=p.e({},Da,c)}onAdd(c){return this._map=c,this._container=W.create("div","maplibregl-ctrl maplibregl-ctrl-group"),function(){return p._(this,arguments,void 0,function*(t=!1){if(ns!==void 0&&!t)return ns;if(window.navigator.permissions===void 0)return ns=!!window.navigator.geolocation,ns;try{ns=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{ns=!!window.navigator.geolocation}return ns})}().then(t=>this._setupUI(t)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),W.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,en=0,tn=!1}_isOutOfMapMaxBounds(c){const t=this._map.getMaxBounds(),s=c.coords;return t&&(s.longitudet.getEast()||s.latitudet.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const c=this._map.getBounds(),t=c.getSouthEast(),s=c.getNorthEast(),a=t.distanceTo(s),l=Math.ceil(this._accuracy/(a/this._map._container.clientHeight)*2);this._circleElement.style.width=`${l}px`,this._circleElement.style.height=`${l}px`}trigger(){if(!this._setup)return p.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new p.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":en--,tn=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new p.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new p.k("trackuserlocationstart"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let c;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),en++,en>1?(c={maximumAge:6e5,timeout:0},tn=!0):(c=this.options.positionOptions,tn=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,c)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},T.Hash=wo,T.ImageSource=Vr,T.KeyboardHandler=rs,T.LngLatBounds=ti,T.LogoControl=Fo,T.Map=class extends Zc{constructor(c){if(p.bd.mark(p.be.create),(c=p.e({},Gc,c)).minZoom!=null&&c.maxZoom!=null&&c.minZoom>c.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(c.minPitch!=null&&c.maxPitch!=null&&c.minPitch>c.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(c.minPitch!=null&&c.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(c.maxPitch!=null&&c.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new bo(c.minZoom,c.maxZoom,c.minPitch,c.maxPitch,c.renderWorldCopies),{bearingSnap:c.bearingSnap}),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new p.k("webglcontextlost",{originalEvent:t}))},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new p.k("webglcontextrestored",{originalEvent:t}))},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=c.interactive,this._maxTileCacheSize=c.maxTileCacheSize,this._maxTileCacheZoomLevels=c.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=c.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=c.preserveDrawingBuffer,this._antialias=c.antialias,this._trackResize=c.trackResize,this._bearingSnap=c.bearingSnap,this._refreshExpiredTiles=c.refreshExpiredTiles,this._fadeDuration=c.fadeDuration,this._crossSourceCollisions=c.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=c.collectResourceTiming,this._renderTaskQueue=new On,this._controls=[],this._mapId=p.a3(),this._locale=p.e({},Le,c.locale),this._clickTolerance=c.clickTolerance,this._overridePixelRatio=c.pixelRatio,this._maxCanvasSize=c.maxCanvasSize,this.transformCameraUpdate=c.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=c.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=zt.addThrottleControl(()=>this.isMoving()),this._requestManager=new Oi(c.transformRequest),typeof c.container=="string"){if(this._container=document.getElementById(c.container),!this._container)throw new Error(`Container '${c.container}' not found.`)}else{if(!(c.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=c.container}if(c.maxBounds&&this.setMaxBounds(c.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)),this.on("moveend",()=>this._update(!1)),this.on("zoom",()=>this._update(!0)),this.on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}),this.once("idle",()=>{this._idleTriggered=!0}),typeof window<"u"){addEventListener("online",this._onWindowOnline,!1);let t=!1;const s=zl(a=>{this._trackResize&&!this._removed&&this.resize(a)._update()},50);this._resizeObserver=new ResizeObserver(a=>{t?s(a):t=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Bn(this,c),this._hash=c.hash&&new wo(typeof c.hash=="string"&&c.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:c.center,zoom:c.zoom,bearing:c.bearing,pitch:c.pitch}),c.bounds&&(this.resize(),this.fitBounds(c.bounds,p.e({},c.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=c.localIdeographFontFamily,this._validateStyle=c.validateStyle,c.style&&this.setStyle(c.style,{localIdeographFontFamily:c.localIdeographFontFamily}),c.attributionControl&&this.addControl(new Nl(typeof c.attributionControl=="boolean"?void 0:c.attributionControl)),c.maplibreLogo&&this.addControl(new Fo,c.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",t=>{this._update(t.dataType==="style"),this.fire(new p.k(`${t.dataType}data`,t))}),this.on("dataloading",t=>{this.fire(new p.k(`${t.dataType}dataloading`,t))}),this.on("dataabort",t=>{this.fire(new p.k("sourcedataabort",t))})}_getMapId(){return this._mapId}addControl(c,t){if(t===void 0&&(t=c.getDefaultPosition?c.getDefaultPosition():"top-right"),!c||!c.onAdd)return this.fire(new p.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const s=c.onAdd(this);this._controls.push(c);const a=this._controlPositions[t];return t.indexOf("bottom")!==-1?a.insertBefore(s,a.firstChild):a.appendChild(s),this}removeControl(c){if(!c||!c.onRemove)return this.fire(new p.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const t=this._controls.indexOf(c);return t>-1&&this._controls.splice(t,1),c.onRemove(this),this}hasControl(c){return this._controls.indexOf(c)>-1}calculateCameraOptionsFromTo(c,t,s,a){return a==null&&this.terrain&&(a=this.terrain.getElevationForLngLatZoom(s,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(c,t,s,a)}resize(c){var t;const s=this._containerDimensions(),a=s[0],l=s[1],u=this._getClampedPixelRatio(a,l);if(this._resizeCanvas(a,l,u),this.painter.resize(a,l,u),this.painter.overLimit()){const g=this.painter.context.gl;this._maxCanvasSize=[g.drawingBufferWidth,g.drawingBufferHeight];const y=this._getClampedPixelRatio(a,l);this._resizeCanvas(a,l,y),this.painter.resize(a,l,y)}this.transform.resize(a,l),(t=this._requestedCameraState)===null||t===void 0||t.resize(a,l);const m=!this._moving;return m&&(this.stop(),this.fire(new p.k("movestart",c)).fire(new p.k("move",c))),this.fire(new p.k("resize",c)),m&&this.fire(new p.k("moveend",c)),this}_getClampedPixelRatio(c,t){const{0:s,1:a}=this._maxCanvasSize,l=this.getPixelRatio(),u=c*l,m=t*l;return Math.min(u>s?s/u:1,m>a?a/m:1)*l}getPixelRatio(){var c;return(c=this._overridePixelRatio)!==null&&c!==void 0?c:devicePixelRatio}setPixelRatio(c){this._overridePixelRatio=c,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(c){return this.transform.setMaxBounds(ti.convert(c)),this._update()}setMinZoom(c){if((c=c??-2)>=-2&&c<=this.transform.maxZoom)return this.transform.minZoom=c,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=c,this._update(),this.getZoom()>c&&this.setZoom(c),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(c){if((c=c??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(c>=0&&c<=this.transform.maxPitch)return this.transform.minPitch=c,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(c>=this.transform.minPitch)return this.transform.maxPitch=c,this._update(),this.getPitch()>c&&this.setPitch(c),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(c){return this.transform.renderWorldCopies=c,this._update()}project(c){return this.transform.locationPoint(p.M.convert(c),this.style&&this.terrain)}unproject(c){return this.transform.pointLocation(p.P.convert(c),this.terrain)}isMoving(){var c;return this._moving||((c=this.handlers)===null||c===void 0?void 0:c.isMoving())}isZooming(){var c;return this._zooming||((c=this.handlers)===null||c===void 0?void 0:c.isZooming())}isRotating(){var c;return this._rotating||((c=this.handlers)===null||c===void 0?void 0:c.isRotating())}_createDelegatedListener(c,t,s){if(c==="mouseenter"||c==="mouseover"){let a=!1;return{layer:t,listener:s,delegates:{mousemove:u=>{const m=this.getLayer(t)?this.queryRenderedFeatures(u.point,{layers:[t]}):[];m.length?a||(a=!0,s.call(this,new bi(c,this,u.originalEvent,{features:m}))):a=!1},mouseout:()=>{a=!1}}}}if(c==="mouseleave"||c==="mouseout"){let a=!1;return{layer:t,listener:s,delegates:{mousemove:m=>{(this.getLayer(t)?this.queryRenderedFeatures(m.point,{layers:[t]}):[]).length?a=!0:a&&(a=!1,s.call(this,new bi(c,this,m.originalEvent)))},mouseout:m=>{a&&(a=!1,s.call(this,new bi(c,this,m.originalEvent)))}}}}{const a=l=>{const u=this.getLayer(t)?this.queryRenderedFeatures(l.point,{layers:[t]}):[];u.length&&(l.features=u,s.call(this,l),delete l.features)};return{layer:t,listener:s,delegates:{[c]:a}}}}on(c,t,s){if(s===void 0)return super.on(c,t);const a=this._createDelegatedListener(c,t,s);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[c]=this._delegatedListeners[c]||[],this._delegatedListeners[c].push(a);for(const l in a.delegates)this.on(l,a.delegates[l]);return this}once(c,t,s){if(s===void 0)return super.once(c,t);const a=this._createDelegatedListener(c,t,s);for(const l in a.delegates)this.once(l,a.delegates[l]);return this}off(c,t,s){return s===void 0?super.off(c,t):(this._delegatedListeners&&this._delegatedListeners[c]&&(a=>{const l=this._delegatedListeners[c];for(let u=0;uthis._updateStyle(c,t));const s=this.style&&t.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!c)),c?(this.style=new ra(this,t||{}),this.style.setEventedParent(this,{style:this.style}),typeof c=="string"?this.style.loadURL(c,t,s):this.style.loadJSON(c,t,s),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new ra(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(c,t){if(typeof c=="string"){const s=this._requestManager.transformRequest(c,"Style");p.h(s,new AbortController).then(a=>{this._updateDiff(a.data,t)}).catch(a=>{a&&this.fire(new p.j(a))})}else typeof c=="object"&&this._updateDiff(c,t)}_updateDiff(c,t){try{this.style.setState(c,t)&&this._update(!0)}catch(s){p.w(`Unable to perform style diff: ${s.message||s.error||s}. Rebuilding the style from scratch.`),this._updateStyle(c,t)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():p.w("There is no style added to the map.")}addSource(c,t){return this._lazyInitEmptyStyle(),this.style.addSource(c,t),this._update(!0)}isSourceLoaded(c){const t=this.style&&this.style.sourceCaches[c];if(t!==void 0)return t.loaded();this.fire(new p.j(new Error(`There is no source with ID '${c}'`)))}setTerrain(c){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),c){const t=this.style.sourceCaches[c.source];if(!t)throw new Error(`cannot load terrain, because there exists no source with ID: ${c.source}`);this.terrain===null&&t.reload();for(const s in this.style._layers){const a=this.style._layers[s];a.type==="hillshade"&&a.source===c.source&&p.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new jl(this.painter,t,c),this.painter.renderToTexture=new Ul(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=s=>{s.dataType==="style"?this.terrain.sourceCache.freeRtt():s.dataType==="source"&&s.tile&&(s.sourceId!==c.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(s.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new p.k("terrain",{terrain:c})),this}getTerrain(){var c,t;return(t=(c=this.terrain)===null||c===void 0?void 0:c.options)!==null&&t!==void 0?t:null}areTilesLoaded(){const c=this.style&&this.style.sourceCaches;for(const t in c){const s=c[t]._tiles;for(const a in s){const l=s[a];if(l.state!=="loaded"&&l.state!=="errored")return!1}}return!0}removeSource(c){return this.style.removeSource(c),this._update(!0)}getSource(c){return this.style.getSource(c)}addImage(c,t,s={}){const{pixelRatio:a=1,sdf:l=!1,stretchX:u,stretchY:m,content:g,textFitWidth:y,textFitHeight:v}=s;if(this._lazyInitEmptyStyle(),!(t instanceof HTMLImageElement||p.b(t))){if(t.width===void 0||t.height===void 0)return this.fire(new p.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:I,height:S,data:C}=t,D=t;return this.style.addImage(c,{data:new p.R({width:I,height:S},new Uint8Array(C)),pixelRatio:a,stretchX:u,stretchY:m,content:g,textFitWidth:y,textFitHeight:v,sdf:l,version:0,userImage:D}),D.onAdd&&D.onAdd(this,c),this}}{const{width:I,height:S,data:C}=oe.getImageData(t);this.style.addImage(c,{data:new p.R({width:I,height:S},C),pixelRatio:a,stretchX:u,stretchY:m,content:g,textFitWidth:y,textFitHeight:v,sdf:l,version:0})}}updateImage(c,t){const s=this.style.getImage(c);if(!s)return this.fire(new p.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const a=t instanceof HTMLImageElement||p.b(t)?oe.getImageData(t):t,{width:l,height:u,data:m}=a;if(l===void 0||u===void 0)return this.fire(new p.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(l!==s.data.width||u!==s.data.height)return this.fire(new p.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const g=!(t instanceof HTMLImageElement||p.b(t));return s.data.replace(m,g),this.style.updateImage(c,s),this}getImage(c){return this.style.getImage(c)}hasImage(c){return c?!!this.style.getImage(c):(this.fire(new p.j(new Error("Missing required image id"))),!1)}removeImage(c){this.style.removeImage(c)}loadImage(c){return zt.getImage(this._requestManager.transformRequest(c,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(c,t){return this._lazyInitEmptyStyle(),this.style.addLayer(c,t),this._update(!0)}moveLayer(c,t){return this.style.moveLayer(c,t),this._update(!0)}removeLayer(c){return this.style.removeLayer(c),this._update(!0)}getLayer(c){return this.style.getLayer(c)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(c,t,s){return this.style.setLayerZoomRange(c,t,s),this._update(!0)}setFilter(c,t,s={}){return this.style.setFilter(c,t,s),this._update(!0)}getFilter(c){return this.style.getFilter(c)}setPaintProperty(c,t,s,a={}){return this.style.setPaintProperty(c,t,s,a),this._update(!0)}getPaintProperty(c,t){return this.style.getPaintProperty(c,t)}setLayoutProperty(c,t,s,a={}){return this.style.setLayoutProperty(c,t,s,a),this._update(!0)}getLayoutProperty(c,t){return this.style.getLayoutProperty(c,t)}setGlyphs(c,t={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(c,t),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(c,t,s={}){return this._lazyInitEmptyStyle(),this.style.addSprite(c,t,s,a=>{a||this._update(!0)}),this}removeSprite(c){return this._lazyInitEmptyStyle(),this.style.removeSprite(c),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(c,t={}){return this._lazyInitEmptyStyle(),this.style.setSprite(c,t,s=>{s||this._update(!0)}),this}setLight(c,t={}){return this._lazyInitEmptyStyle(),this.style.setLight(c,t),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(c,t){return this.style.setFeatureState(c,t),this._update()}removeFeatureState(c,t){return this.style.removeFeatureState(c,t),this._update()}getFeatureState(c){return this.style.getFeatureState(c)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let c=0,t=0;return this._container&&(c=this._container.clientWidth||400,t=this._container.clientHeight||300),[c,t]}_setupContainer(){const c=this._container;c.classList.add("maplibregl-map");const t=this._canvasContainer=W.create("div","maplibregl-canvas-container",c);this._interactive&&t.classList.add("maplibregl-interactive"),this._canvas=W.create("canvas","maplibregl-canvas",t),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex","0"),this._canvas.setAttribute("aria-label","Map"),this._canvas.setAttribute("role","region");const s=this._containerDimensions(),a=this._getClampedPixelRatio(s[0],s[1]);this._resizeCanvas(s[0],s[1],a);const l=this._controlContainer=W.create("div","maplibregl-control-container",c),u=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(m=>{u[m]=W.create("div",`maplibregl-ctrl-${m} `,l)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(c,t,s){this._canvas.width=Math.floor(s*c),this._canvas.height=Math.floor(s*t),this._canvas.style.width=`${c}px`,this._canvas.style.height=`${t}px`}_setupPainter(){const c={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let t=null;this._canvas.addEventListener("webglcontextcreationerror",a=>{t={requestedAttributes:c},a&&(t.statusMessage=a.statusMessage,t.type=a.type)},{once:!0});const s=this._canvas.getContext("webgl2",c)||this._canvas.getContext("webgl",c);if(!s){const a="Failed to initialize WebGL";throw t?(t.message=a,new Error(JSON.stringify(t))):new Error(a)}this.painter=new wt(s,this.transform),ke.testSupport(s)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(c){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||c,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(c){return this._update(),this._renderTaskQueue.add(c)}_cancelRenderFrame(c){this._renderTaskQueue.remove(c)}_render(c){const t=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(c),this._removed)return;let s=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const l=this.transform.zoom,u=oe.now();this.style.zoomHistory.update(l,u);const m=new p.a8(l,{now:u,fadeDuration:t,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),g=m.crossFadingFactor();g===1&&g===this._crossFadingFactor||(s=!0,this._crossFadingFactor=g),this.style.update(m)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,t,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:t,showPadding:this.showPadding}),this.fire(new p.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,p.bd.mark(p.be.load),this.fire(new p.k("load"))),this.style&&(this.style.hasTransitions()||s)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const a=this._sourcesDirty||this._styleDirty||this._placementDirty;return a||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new p.k("idle")),!this._loaded||this._fullyLoaded||a||(this._fullyLoaded=!0,p.bd.mark(p.be.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var c;this._hash&&this._hash.remove();for(const s of this._controls)s.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<"u"&&removeEventListener("online",this._onWindowOnline,!1),zt.removeThrottleControl(this._imageQueueHandle),(c=this._resizeObserver)===null||c===void 0||c.disconnect();const t=this.painter.context.gl.getExtension("WEBGL_lose_context");t&&t.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),W.remove(this._canvasContainer),W.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),p.bd.clearMetrics(),this._removed=!0,this.fire(new p.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,oe.frameAsync(this._frameRequest).then(c=>{p.bd.frame(c),this._frameRequest=null,this._render(c)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(c){this._showTileBoundaries!==c&&(this._showTileBoundaries=c,this._update())}get showPadding(){return!!this._showPadding}set showPadding(c){this._showPadding!==c&&(this._showPadding=c,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(c){this._showCollisionBoxes!==c&&(this._showCollisionBoxes=c,c?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(c){this._showOverdrawInspector!==c&&(this._showOverdrawInspector=c,this._update())}get repaint(){return!!this._repaint}set repaint(c){this._repaint!==c&&(this._repaint=c,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(c){this._vertices=c,this._update()}get version(){return Bo}getCameraTargetElevation(){return this.transform.elevation}},T.MapMouseEvent=bi,T.MapTouchEvent=Is,T.MapWheelEvent=Dl,T.Marker=Lt,T.NavigationControl=class{constructor(c){this._updateZoomButtons=()=>{const t=this._map.getZoom(),s=t===this._map.getMaxZoom(),a=t===this._map.getMinZoom();this._zoomInButton.disabled=s,this._zoomOutButton.disabled=a,this._zoomInButton.setAttribute("aria-disabled",s.toString()),this._zoomOutButton.setAttribute("aria-disabled",a.toString())},this._rotateCompassArrow=()=>{const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t},this._setButtonTitle=(t,s)=>{const a=this._map._getUIString(`NavigationControl.${s}`);t.title=a,t.setAttribute("aria-label",a)},this.options=p.e({},Oo,c),this._container=W.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",t=>t.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",t=>this._map.zoomIn({},{originalEvent:t})),W.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",t=>this._map.zoomOut({},{originalEvent:t})),W.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t})}),this._compassIcon=W.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(c){return this._map=c,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Zl(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){W.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(c,t){const s=W.create("button",c,this._container);return s.type="button",s.addEventListener("click",t),s}},T.Popup=class extends p.E{constructor(c){super(),this.remove=()=>(this._content&&W.remove(this._content),this._container&&(W.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new p.k("close"))),this),this._onMouseUp=t=>{this._update(t.point)},this._onMouseMove=t=>{this._update(t.point)},this._onDrag=t=>{this._update(t.point)},this._update=t=>{var s;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=W.create("div","maplibregl-popup",this._map.getContainer()),this._tip=W.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const g of this.options.className.split(" "))this._container.classList.add(g);this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Gl(this._lngLat,this._flatPos,this._map.transform):(s=this._lngLat)===null||s===void 0?void 0:s.wrap(),this._trackPointer&&!t)return;const a=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let l=this.options.anchor;const u=Ze(this.options.offset);if(!l){const g=this._container.offsetWidth,y=this._container.offsetHeight;let v;v=a.y+u.bottom.ythis._map.transform.height-y?["bottom"]:[],a.xthis._map.transform.width-g/2&&v.push("right"),l=v.length===0?"bottom":v.join("-")}let m=a.add(u[l]);this.options.subpixelPositioning||(m=m.round()),W.setTransform(this._container,`${Vo[l]} translate(${m.x}px,${m.y}px)`),as(this._container,l,"popup")},this._onClose=()=>{this.remove()},this.options=p.e(Object.create(Pr),c)}addTo(c){return this._map&&this.remove(),this._map=c,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new p.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(c){return this._lngLat=p.M.convert(c),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(c){return this.setDOMContent(document.createTextNode(c))}setHTML(c){const t=document.createDocumentFragment(),s=document.createElement("body");let a;for(s.innerHTML=c;a=s.firstChild,a;)t.appendChild(a);return this.setDOMContent(t)}getMaxWidth(){var c;return(c=this._container)===null||c===void 0?void 0:c.style.maxWidth}setMaxWidth(c){return this.options.maxWidth=c,this._update(),this}setDOMContent(c){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=W.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(c),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(c){return this._container&&this._container.classList.add(c),this}removeClassName(c){return this._container&&this._container.classList.remove(c),this}setOffset(c){return this.options.offset=c,this._update(),this}toggleClassName(c){if(this._container)return this._container.classList.toggle(c)}setSubpixelPositioning(c){this.options.subpixelPositioning=c}_createCloseButton(){this.options.closeButton&&(this._closeButton=W.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.setAttribute("aria-label","Close popup"),this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const c=this._container.querySelector(La);c&&c.focus()}},T.RasterDEMTileSource=xn,T.RasterTileSource=ts,T.ScaleControl=class{constructor(c){this._onMove=()=>{$o(this._map,this._container,this.options)},this.setUnit=t=>{this.options.unit=t,$o(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Wl),c)}getDefaultPosition(){return"bottom-left"}onAdd(c){return this._map=c,this._container=W.create("div","maplibregl-ctrl maplibregl-ctrl-scale",c.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){W.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},T.ScrollZoomHandler=zo,T.Style=ra,T.TerrainControl=class{constructor(c){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=c}onAdd(c){return this._map=c,this._container=W.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=W.create("button","maplibregl-ctrl-terrain",this._container),W.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){W.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},T.TwoFingersTouchPitchHandler=Co,T.TwoFingersTouchRotateHandler=Po,T.TwoFingersTouchZoomHandler=Ea,T.TwoFingersTouchZoomRotateHandler=Ro,T.VectorTileSource=he,T.VideoSource=Vs,T.addSourceType=(c,t)=>p._(void 0,void 0,void 0,function*(){if($r(c))throw new Error(`A source type called "${c}" already exists.`);((s,a)=>{$s[s]=a})(c,t)}),T.clearPrewarmedResources=function(){const c=Fr;c&&(c.isPreloaded()&&c.numActive()===1?(c.release(Yi),Fr=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},T.getMaxParallelImageRequests=function(){return p.a.MAX_PARALLEL_IMAGE_REQUESTS},T.getRTLTextPluginStatus=function(){return Ni().getRTLTextPluginStatus()},T.getVersion=function(){return Ke},T.getWorkerCount=function(){return dr.workerCount},T.getWorkerUrl=function(){return p.a.WORKER_URL},T.importScriptInWorkers=function(c){return Fs().broadcast("IS",c)},T.prewarm=function(){pr().acquire(Yi)},T.setMaxParallelImageRequests=function(c){p.a.MAX_PARALLEL_IMAGE_REQUESTS=c},T.setRTLTextPlugin=function(c,t){return Ni().setRTLTextPlugin(c,t)},T.setWorkerCount=function(c){dr.workerCount=c},T.setWorkerUrl=function(c){p.a.WORKER_URL=c}});var ce=Z;return ce})})(Yd);var xc=Yd.exports;const Vd="rgb(170, 0, 0)",Oh="#aaa";class Um{constructor(B,Z,ne,te){us(this,"width");us(this,"height");us(this,"data");us(this,"map");us(this,"focused");us(this,"route");us(this,"heading");us(this,"rendered",!1);us(this,"context");this.map=B,this.focused=Z,this.route=ne,this.heading=te,Z?(this.width=100,this.height=100):(this.width=80,this.height=80),this.data=new Uint8ClampedArray(this.width*this.height*4)}onAdd(){const B=document.createElement("canvas");B.width=this.width,B.height=this.height,this.context=B.getContext("2d")||void 0}render(){if(this.rendered||!this.context)return!1;const B=this.width/2*.6,{context:Z}=this;if(Z.save(),Z.fillStyle="#fff",Z.clearRect(0,0,this.width,this.height),Z.translate(this.width/2,this.height/2),this.focused){Z.rotate(this.heading*Math.PI/180);const ne=6;Z.beginPath(),Z.moveTo(0,-this.height/2+ne),Z.lineTo(35-ne,35-ne),Z.lineTo(0,25-ne),Z.lineTo(-35+ne,35-ne),Z.closePath(),Z.lineWidth=ne,Z.strokeStyle=Oh,Z.stroke(),Z.fillStyle=Vd,Z.fill(),Z.rotate(-this.heading*Math.PI/180)}else{if(typeof this.heading<"u"&&this.heading!==null){Z.rotate(this.heading*Math.PI/180),Z.beginPath(),Z.fillStyle=Oh;const ne=15,te=18;Z.moveTo(0,0-B-ne),Z.lineTo(0-te/2,0-B),Z.lineTo(0+te/2,0-B),Z.closePath(),Z.fill("evenodd"),Z.rotate(-this.heading*Math.PI/180)}Z.beginPath(),Z.arc(0,0,B,0,2*Math.PI),Z.lineWidth=4,Z.strokeStyle=Oh,Z.fillStyle=Vd,Z.fill("evenodd"),Z.stroke()}return Z.fillStyle="#eee",Z.font="20px Arial",Z.textAlign="center",Z.textBaseline="middle",Z.fillText(this.route,0,0),Z.restore(),this.data=Z.getImageData(0,0,this.width,this.height).data,this.rendered=!0,!0}}const qm=Dr({__name:"Map",props:{selectedMarker:{default:()=>({})},mapMovedManually:{type:Boolean}},emits:["markerClick","update:mapMovedManually"],setup(G,{emit:B}){const Z=G,ne=B;let te,ce=!0;const T=Zt({get:()=>Z.mapMovedManually,set:Ie=>ne("update:mapMovedManually",Ie)}),p=mm(),_e=Zt(()=>Object.values(cl.value).map(Ie=>{let Qe=Ie.type,nt=`${Ie.type}-selected`;if(Ie.type==="bus"){const Ji={kind:"vehicle",type:Ie.type,name:Ie.name.split(" ")[0],focused:!1,heading:Ie.location.heading};Qe=JSON.stringify(Ji),nt=JSON.stringify({...Ji,focused:!0})}return{type:"Feature",properties:{kind:"vehicle",type:Ie.type,name:Ie.name,id:Ie.id,number:Ie.name.split(" ")[0],to:Ie.name.split(" ").slice(1).join(" "),iconName:Qe,iconNameFocused:nt,iconSize:Ie.type==="bus"?1.2:.8},geometry:{type:"Point",coordinates:[Ie.location.longitude/36e5,Ie.location.latitude/36e5]}}})),ve=Zt(()=>Object.values(Ds.value).map(Ie=>({type:"Feature",properties:{kind:"stop",type:Ie.type,name:Ie.name,id:Ie.id,iconName:Ie.type,iconNameFocused:`${Ie.type}-selected`},geometry:{type:"Point",coordinates:[Ie.location.longitude/36e5,Ie.location.latitude/36e5]}}))),xe=ps(Z,"selectedMarker"),oe=Zt(()=>xe.value.id?cl.value[xe.value.id]:null),W=Zt(()=>!Xn.value||!oe.value?null:Xn.value[oe.value.tripId]),ke=Zt(()=>{var Ie,Qe;return((Ie=oe.value)==null?void 0:Ie.type)==="bus"&&((Qe=W.value)!=null&&Qe.path)?[{type:"Feature",properties:{type:"trip"},geometry:{type:"LineString",coordinates:W.value.path.map(nt=>[nt.longitude/36e5,nt.latitude/36e5])}}]:[]}),Xe=Zt(()=>({type:"FeatureCollection",features:[..._e.value,...ve.value,...ke.value]})),Ye=Zt(()=>{var Ie,Qe;return{id:"stops",type:"symbol",source:"geojson",filter:["==","kind","stop"],paint:{"icon-opacity":["match",["get","number"],((Ie=oe.value)==null?void 0:Ie.name.split(" ")[0])??"",1,xe.value.type==="bus"?.3:1]},layout:{"icon-image":["match",["get","id"],xe.value.id||"",["get","iconNameFocused"],["get","iconName"]],"icon-size":.4,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"symbol-sort-key":["match",["get","number"],((Qe=oe.value)==null?void 0:Qe.name.split(" ")[0])??"",2,1]}}}),pt=Zt(()=>{var Ie,Qe;return{id:"vehicles",type:"symbol",source:"geojson",paint:{"icon-opacity":["match",["get","number"],((Ie=oe.value)==null?void 0:Ie.name.split(" ")[0])??"",1,xe.value.type==="bus"?.3:1]},filter:["==","kind","vehicle"],layout:{"icon-image":["match",["get","id"],xe.value.id||"",["get","iconNameFocused"],["get","iconName"]],"icon-size":["get","iconSize"],"icon-rotation-alignment":"map","icon-allow-overlap":!0,"symbol-sort-key":["match",["get","number"],((Qe=oe.value)==null?void 0:Qe.name.split(" ")[0])??"",2,1]}}}),Mt=Zt(()=>({id:"trips",type:"line",source:"geojson",filter:["==","type","trip"],paint:{"line-width":3,"line-color":"rgb(170, 0, 0)"}})),li=_n(null),{width:zt,height:Oi}=_m(li);function ci(Ie){te&&te.flyTo({center:Ie,padding:{left:zt.value>=768?320:0,bottom:zt.value>=768?0:Oi.value*(2/3)}})}Kd(async()=>{Kn("data.map.vehicle.>",cl),Kn("data.map.stop.>",Ds);const{lastLocation:Ie}=Jd();te=new xc.Map({container:"map",style:p.value==="dark"?Bd:Od,minZoom:5,maxZoom:18,center:Ie.value.center,zoom:Ie.value.zoom,pitch:Ie.value.pitch,bearing:Ie.value.bearing,maxBounds:[5,46,15,57],attributionControl:!1});const Qe=new xc.AttributionControl({compact:!0});te.addControl(Qe,"bottom-left"),te.addControl(new xc.GeolocateControl({positionOptions:{enableHighAccuracy:!0},trackUserLocation:!0}),"bottom-right"),te.addControl(new xc.NavigationControl({}),"bottom-right"),te.on("styleimagemissing",mt=>{if(mt.id[0]!=="{")return;const Kt=JSON.parse(mt.id);Kt.kind==="vehicle"&&Kt.type==="bus"&&te.addImage(mt.id,new Um(te,Kt.focused,Kt.name,Kt.heading),{pixelRatio:2})});async function nt(mt,Kt){const Wt=await te.loadImage(Kt);te.addImage(mt,Wt.data,{pixelRatio:2})}async function Ji(){await nt("bus-stop","/icons/stop-bus.png"),await nt("bus-stop-selected","/icons/stop-bus-selected.png"),await nt("bike-stop","/icons/stop-bike.png"),await nt("bike-stop-selected","/icons/stop-bike-selected.png"),await nt("tram-stop","/icons/stop-tram.png"),await nt("tram-stop-selected","/icons/stop-tram-selected.png"),await nt("train-stop","/icons/stop-train.png"),await nt("train-stop-selected","/icons/stop-train-selected.png"),await nt("ferry-stop","/icons/stop-ferry.png"),await nt("ferry-stop-selected","/icons/stop-ferry-selected.png"),await nt("escooter","/icons/vehicle-escooter.png"),await nt("escooter-selected","/icons/vehicle-escooter-selected.png")}te.on("load",()=>{Ji(),te.addSource("geojson",{type:"geojson",data:Object.freeze(Xe.value)}),te.addLayer(Ye.value),te.addLayer(Mt.value),te.addLayer(pt.value),ce=!1}),te.on("mouseenter","vehicles",()=>{te.getCanvas().style.cursor="pointer"}),te.on("mouseleave","vehicles",()=>{te.getCanvas().style.cursor=""}),te.on("mouseenter","stops",()=>{te.getCanvas().style.cursor="pointer"}),te.on("mouseleave","stops",()=>{te.getCanvas().style.cursor=""}),te.on("click",mt=>{const Kt=te.queryRenderedFeatures(mt.point,{layers:["stops","vehicles"]});if(Kt.length===0){ne("markerClick");return}const Wt=Kt[0];Wt.properties.id!==xe.value.id&&(T.value=!1,ne("markerClick",{type:Wt.properties.type,id:Wt.properties.id}))}),te.on("drag",()=>{T.value=!0}),te.on("move",()=>{Ie.value={center:te.getCenter(),zoom:te.getZoom(),pitch:te.getPitch(),bearing:te.getBearing()}})}),fn(p,()=>{p.value==="dark"?te.setStyle(Bd):te.setStyle(Od),window.location.reload()}),fn(Xe,()=>{if(!te)return;const Ie=te.getSource("geojson");(nt=>(nt==null?void 0:nt.type)==="geojson")(Ie)&&Ie.setData(Object.freeze(Xe.value))}),fn(Ye,()=>{!te||ce||(Ye.value.layout&&Object.keys(Ye.value.layout).forEach(Ie=>{Ye.value.layout&&te.setLayoutProperty("stops",Ie,Ye.value.layout[Ie])}),Ye.value.paint&&Object.keys(Ye.value.paint).forEach(Ie=>{Ye.value.paint&&te.setPaintProperty("stops",Ie,Ye.value.paint[Ie])}))}),fn(pt,()=>{!te||ce||(pt.value.layout&&Object.keys(pt.value.layout).forEach(Ie=>{pt.value.layout&&te.setLayoutProperty("vehicles",Ie,pt.value.layout[Ie])}),pt.value.paint&&Object.keys(pt.value.paint).forEach(Ie=>{pt.value.paint&&te.setPaintProperty("vehicles",Ie,pt.value.paint[Ie])}))});const bt=Zt(()=>{const Ie=xe.value;if(Ie)return Xe.value.features.find(Qe=>Qe.properties.id===Ie.id)});return fn(bt,(Ie,Qe)=>{var nt;!te||!Ie||Ie.properties.id===(Qe==null?void 0:Qe.properties.id)||ci((nt=Ie.geometry)==null?void 0:nt.coordinates)}),(Ie,Qe)=>(Ae(),rt("div",{id:"map",ref_key:"mapElement",ref:li,class:"w-full h-full"},null,512))}}),Zm=Sc(qm,[["__scopeId","data-v-90807c55"]]),Gm={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Wm=je("path",{fill:"currentColor",d:"M18 8H8c-1.1 0-2 .9-2 2v6a2 2 0 0 0 2 2h10c1.11 0 2-.89 2-2v-6a2 2 0 0 0-2-2m-4 8H8v-2h6zm4-4H8v-2h10zm4-6H4v16H2V2h2v2h18z"},null,-1),Hm=[Wm];function Xm(G,B){return Ae(),rt("svg",Gm,[...Hm])}const Wh={name:"mdi-sign-real-estate",render:Xm},Hh="kiel-live-favorites-v1",ep="favoriteStops",$d=localStorage.getItem(ep);if($d!==null){const G=JSON.parse($d);localStorage.setItem(Hh,JSON.stringify(G.map(B=>({id:`kvg-${B.id}`,name:B.name,type:"bus-stop"})))),localStorage.removeItem(ep)}const Nd=_n(JSON.parse(localStorage.getItem(Hh)||"[]")),Ja=Zt({get(){return Nd.value},set(G){Nd.value=G,localStorage.setItem(Hh,JSON.stringify(G))}});function Km({id:G,name:B,type:Z}){Ja.value=[...Ja.value,{id:G,name:B,type:Z}]}function Jm(G){Ja.value=Ja.value.filter(B=>B.id!==G.id)}function Ym(G){return Ja.value.some(B=>B.id===G.id)}function Tc(){return{favorites:Ja,addFavorite:Km,removeFavorite:Jm,isFavorite:Ym}}const Qm={class:"flex flex-col min-h-0 flex-grow"},e_={class:"flex pb-2 mb-2 border-b-1 dark:border-dark-100 space-x-2 items-center"},t_={class:"text-lg"},i_={key:0,class:"m-auto max-w-52 text-center text-xl"},r_={class:"flex flex-col overflow-y-auto"},s_={class:""},n_=Dr({__name:"FavoritesPopup",setup(G){const{t:B}=gn(),{favorites:Z}=Tc();return(ne,te)=>{const ce=Ic,T=Wh,p=hl("router-link");return Ae(),rt("div",Qm,[je("div",e_,[Rt(ce),je("h1",t_,gt(it(B)("favorites")),1)]),it(Z).length===0?(Ae(),rt("div",i_,[je("p",null,gt(it(B)("add_favorites")),1)])):Xt("",!0),je("div",r_,[(Ae(!0),rt(zr,null,Jn(it(Z),_e=>(Ae(),xt(p,{key:_e.id,to:{name:"map-marker",params:{markerType:_e.type,markerId:_e.id}},class:"flex py-2 not-last:border-b-1 dark:border-dark-300"},{default:Gt(()=>[_e.type==="bus-stop"?(Ae(),xt(T,{key:0,class:"mr-2"})):Xt("",!0),je("div",s_,gt(_e.name),1)]),_:2},1032,["to"]))),128))])])}}}),a_={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"},o_=je("path",{fill:"currentColor",d:"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184c-101.689 0-184-82.295-184-184c0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056"},null,-1),l_=[o_];function c_(G,B){return Ae(),rt("svg",a_,[...l_])}const Xh={name:"fa-solid-circle-notch",render:c_},h_={viewBox:"0 0 1536 1792",width:"1.2em",height:"1.2em"},u_=je("path",{fill:"currentColor",d:"M384 1216q0-53-37.5-90.5T256 1088t-90.5 37.5T128 1216t37.5 90.5T256 1344t90.5-37.5T384 1216m1024 0q0-53-37.5-90.5T1280 1088t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5-37.5t37.5-90.5m-46-396l-72-384q-5-23-22.5-37.5T1227 384H309q-23 0-40.5 14.5T246 436l-72 384q-5 30 14 53t49 23h1062q30 0 49-23t14-53m-226-612q0-20-14-34t-34-14H448q-20 0-34 14t-14 34t14 34t34 14h640q20 0 34-14t14-34m400 725v603h-128v128q0 53-37.5 90.5T1280 1792t-90.5-37.5t-37.5-90.5v-128H384v128q0 53-37.5 90.5T256 1792t-90.5-37.5T128 1664v-128H0V933q0-112 25-223l103-454q9-78 97.5-137t230-89T768 0t312.5 30t230 89t97.5 137l105 454q23 102 23 223"},null,-1),d_=[u_];function p_(G,B){return Ae(),rt("svg",h_,[...d_])}const tp={name:"fa-bus",render:p_},f_={viewBox:"0 0 1216 1312",width:"1.2em",height:"1.2em"},m_=je("path",{fill:"currentColor",d:"M1202 1066q0 40-28 68l-136 136q-28 28-68 28t-68-28L608 976l-294 294q-28 28-68 28t-68-28L42 1134q-28-28-28-68t28-68l294-294L42 410q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294l294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68L880 704l294 294q28 28 28 68"},null,-1),__=[m_];function g_(G,B){return Ae(),rt("svg",f_,[...__])}const y_={name:"fa-close",render:g_},x_={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"},v_=je("path",{fill:"currentColor",d:"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248s248-111.034 248-248S392.967 8 256 8m130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676M125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676"},null,-1),b_=[v_];function w_(G,B){return Ae(),rt("svg",x_,[...b_])}const S_={name:"fa-solid-ban",render:w_},I_={class:"flex flex-col items-center flex-grow"},T_={class:"flex flex-col items-center my-2 text-lg"},Qn=Dr({__name:"NoData",setup(G){const{t:B}=gn();return(Z,ne)=>{const te=S_,ce=y_;return Ae(),rt("div",I_,[Rt(te,{class:"text-3xl mt-auto"}),je("div",T_,[Wd(Z.$slots,"default")]),Rt(Qr,{class:"mt-auto mb-4",to:{name:"home"},replace:""},{default:Gt(()=>[Rt(ce,{class:"mr-2"}),je("span",null,gt(it(B)("close")),1)]),_:1})])}}}),k_=G=>(gm("data-v-0ded1eed"),G=G(),ym(),G),M_={key:0,class:"flex flex-col min-h-0 flex-grow"},A_={class:"flex pb-2 mb-2 border-b-1 dark:border-dark-100 space-x-2 items-center"},P_={class:"text-lg"},C_={key:0,class:"overflow-y-auto"},E_={class:"w-14 min-w-12"},z_=k_(()=>je("div",{class:"pulsating border-3 border-red-700 border-solid rounded-full"},null,-1)),D_=[z_],L_={key:1,class:"rounded-full h-4 w-4 flex items-center justify-center bg-gray-800 dark:bg-gray-300"},R_={class:"w-full"},F_=Dr({__name:"BusPopup",props:{marker:{}},setup(G){const B=G,{t:Z}=gn(),ne=ps(B,"marker");let te=null;const ce=Zt(()=>cl.value[ne.value.id]),T=Zt(()=>!Xn.value||!ce.value?null:Xn.value[ce.value.tripId]);return fn(ce,async(p,_e)=>{(p==null?void 0:p.tripId)!==(_e==null?void 0:_e.tripId)&&(te!==null&&mn(te),p&&(te=`data.map.trip.${p.tripId}`,await Kn(te,Xn)))},{immediate:!0}),Gh(()=>{te!==null&&mn(te)}),(p,_e)=>{var W;const ve=tp,xe=hl("router-link"),oe=Xh;return ce.value?(Ae(),rt("div",M_,[je("div",A_,[ce.value.type==="bus"?(Ae(),xt(ve,{key:0})):Xt("",!0),je("h1",P_,gt(ce.value.name),1)]),T.value?(Ae(),rt(zr,{key:0},[(W=T.value.arrivals)!=null&&W.length?(Ae(),rt("div",C_,[(Ae(!0),rt(zr,null,Jn(T.value.arrivals,(ke,Xe)=>(Ae(),xt(xe,{key:ke.id,to:{name:"map-marker",params:{markerType:"bus-stop",markerId:ke.id}},class:bc(["flex w-full items-center",{"text-gray-500 dark:text-gray-400":ke.state==="departed","mt-6":Xe===0&&ke.state==="predicted"}])},{default:Gt(()=>{var Ye;return[je("span",E_,gt(ke.planned),1),je("div",{class:bc(["marker relative flex justify-center items-center mx-4 h-12 w-8 min-w-4 after:absolute after:top-0 after:h-full after:bg-gray-800 after:dark:bg-gray-300",{"after:bg-gray-500 after:dark:bg-gray-400":ke.state==="departed"}])},[ke.state!=="departed"&&(T.value.arrivals[Xe-1]===void 0||T.value.arrivals[Xe-1].state==="departed")?(Ae(),rt("div",{key:0,class:bc(["vehicle before:h-4 before:w-4 before:bg-red-700 before:rounded-full",{driving:ke.state==="predicted"}])},D_,2)):Xt("",!0),ke.state!=="departed"&&((Ye=T.value.arrivals[Xe-1])==null?void 0:Ye.state)!=="departed"||ke.state==="predicted"?(Ae(),rt("div",L_)):Xt("",!0)],2),je("span",R_,gt(ke.name),1)]}),_:2},1032,["to","class"]))),128))])):(Ae(),xt(Qn,{key:1},{default:Gt(()=>[Yn(gt(it(Z)("trip_expired")),1)]),_:1}))],64)):(Ae(),xt(oe,{key:1,class:"mx-auto mt-4 text-3xl animate-spin"}))])):(Ae(),xt(Qn,{key:1},{default:Gt(()=>[Yn(gt(it(Z)("trip_does_not_exist")),1)]),_:1}))}}}),B_=Sc(F_,[["__scopeId","data-v-0ded1eed"]]),O_={viewBox:"0 0 416 512",width:"1.2em",height:"1.2em"},V_=je("path",{fill:"currentColor",d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48s21.49 48 48 48M113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52l-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61M384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37l-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17l-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09c3.19 1 6.41 1.48 9.58 1.48c13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14l31.31-78.28l20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99"},null,-1),$_=[V_];function N_(G,B){return Ae(),rt("svg",O_,[...$_])}const ip={name:"fa-solid-running",render:N_},j_={viewBox:"0 0 448 512",width:"1.2em",height:"1.2em"},U_=je("path",{fill:"currentColor",d:"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007C209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823c-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192.011 192.011 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993"},null,-1),q_=[U_];function Z_(G,B){return Ae(),rt("svg",j_,[...q_])}const rp={name:"fa-solid-hand-paper",render:Z_},G_={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"},W_=je("path",{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248s248-111 248-248S393 8 256 8m92.49 313l-20 25a16 16 0 0 1-22.49 2.5l-67-49.72a40 40 0 0 1-15-31.23V112a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16v144l58 42.5a16 16 0 0 1 2.49 22.5"},null,-1),H_=[W_];function X_(G,B){return Ae(),rt("svg",G_,[...H_])}const sp={name:"fa-solid-clock",render:X_},K_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},J_=je("path",{fill:"currentColor",d:"M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2z"},null,-1),Y_=[J_];function Q_(G,B){return Ae(),rt("svg",K_,[...Y_])}const np={name:"mdi-alert",render:Q_},eg={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},tg=je("path",{fill:"currentColor",d:"M243 96a20.33 20.33 0 0 0-17.74-14l-56.59-4.57l-21.84-52.81a20.36 20.36 0 0 0-37.66 0L87.35 77.44L30.76 82a20.45 20.45 0 0 0-11.66 35.88l43.18 37.24l-13.2 55.7A20.37 20.37 0 0 0 79.57 233L128 203.19L176.43 233a20.39 20.39 0 0 0 30.49-22.15l-13.2-55.7l43.18-37.24A20.43 20.43 0 0 0 243 96m-70.47 45.7a12 12 0 0 0-3.84 11.86L181.58 208l-47.29-29.08a12 12 0 0 0-12.58 0L74.42 208l12.89-54.4a12 12 0 0 0-3.84-11.86l-42.27-36.5l55.4-4.47a12 12 0 0 0 10.13-7.38L128 41.89l21.27 51.5a12 12 0 0 0 10.13 7.38l55.4 4.47Z"},null,-1),ig=[tg];function rg(G,B){return Ae(),rt("svg",eg,[...ig])}const Kh={name:"ph-star-bold",render:rg},sg={key:0,class:"flex flex-col min-h-0 flex-grow"},ng={class:"flex flex-row pb-2 mb-2 border-b-1 dark:border-dark-100 items-center"},ag={class:"text-lg ml-2"},og={class:"flex flex-col flex-grow overflow-y-auto"},lg={key:0,class:"bg-red-300 dark:bg-red-800 bg-opacity-50 dark:bg-opacity-50 p-2 mb-2 rounded-md"},cg={class:"flex items-center border-b-1 border-gray-500 dark:border-gray-300 mb-2"},hg={class:"font-bold"},ug={class:"flex flex-row"},dg={class:"mr-2"},pg={class:"flex-grow"},fg={class:"ml-2"},mg={class:"flex flex-row gap-1 text-gray-500 dark:text-gray-400 text-xs"},_g={class:"ml-auto"},gg=Dr({__name:"BusStopPopup",props:{marker:{}},setup(G){const B=G,{addFavorite:Z,removeFavorite:ne,isFavorite:te}=Tc(),{t:ce}=gn(),T=ps(B,"marker"),p=Zt(()=>Ds.value[B.marker.id]);let _e=null;const ve=W=>{const ke=Math.round(W.eta/60);return W.state==="stopping"?ce("stopping"):ke<1?ce("immediately"):ce("minutes",{minutes:ke})},xe=Zt(()=>p.value===void 0||!p.value.arrivals?null:p.value.arrivals.map(W=>{var Ye;const ke=Xn.value[W.tripId];let Xe;if(ke!==void 0&&ke.arrivals!==void 0){const pt=ke.arrivals.findIndex(Mt=>Mt.id===B.marker.id);pt!==-1&&(Xe=(Ye=ke.arrivals[pt+1])==null?void 0:Ye.name)}return{...W,nextStopName:Xe,eta:ve(W)}}));fn(T,async(W,ke)=>{W.id!==(ke==null?void 0:ke.id)&&(_e!==null&&mn(_e),_e=`data.map.stop.${W.id}`,await Kn(_e,Ds))},{immediate:!0});const oe=new Set;return Gh(()=>{_e!==null&&mn(_e),oe.forEach(W=>{mn(`data.map.trip.${W}`)})}),(W,ke)=>{const Xe=Wh,Ye=Ic,pt=Kh,Mt=np,li=tp,zt=sp,Oi=rp,ci=ip,bt=hl("router-link"),Ie=Xh;return p.value?(Ae(),rt("div",sg,[je("div",ng,[p.value.type==="bus-stop"?(Ae(),xt(Xe,{key:0})):Xt("",!0),je("h1",ag,gt(p.value.name),1),it(te)(p.value)?(Ae(),xt(Qr,{key:1,class:"text-yellow-300 ml-auto border-0",title:it(ce)("remove_favorite"),onClick:ke[0]||(ke[0]=Qe=>it(ne)(p.value))},{default:Gt(()=>[Rt(Ye)]),_:1},8,["title"])):(Ae(),xt(Qr,{key:2,class:"ml-auto border-0",title:it(ce)("add_favorite"),onClick:ke[1]||(ke[1]=Qe=>it(Z)(p.value))},{default:Gt(()=>[Rt(pt)]),_:1},8,["title"]))]),je("div",og,[p.value.alerts&&p.value.alerts.length>=1?(Ae(),rt("div",lg,[je("div",cg,[Rt(Mt,{class:"mr-2"}),je("span",hg,gt(it(ce)("alerts")),1)]),je("ul",null,[(Ae(!0),rt(zr,null,Jn(p.value.alerts,(Qe,nt)=>(Ae(),rt("li",{key:nt,class:"items-center ml-5 list-outside list-disc"},gt(Qe),1))),128))])])):Xt("",!0),xe.value?(Ae(),rt(zr,{key:1},[xe.value.length>0?(Ae(!0),rt(zr,{key:0},Jn(xe.value,Qe=>(Ae(),xt(bt,{key:Qe.tripId,class:"flex flex-col py-2 w-full not-last:border-b-1 dark:border-dark-300",to:{name:"map-marker",params:{markerType:"bus",markerId:Qe.vehicleId}}},{default:Gt(()=>[je("div",ug,[Rt(li,{class:"mr-2"}),je("span",dg,gt(Qe.routeName),1),je("span",pg,gt(Qe.direction),1),je("span",null,gt(Qe.eta),1),je("div",fg,[Qe.state==="planned"?(Ae(),xt(zt,{key:0})):Xt("",!0),Qe.state==="stopping"?(Ae(),xt(Oi,{key:1})):Xt("",!0),Qe.state==="predicted"?(Ae(),xt(ci,{key:2})):Xt("",!0)])]),je("div",mg,[Qe.nextStopName?(Ae(),rt(zr,{key:0},[je("span",null,gt(it(ce)("next_stop")),1),je("span",null,gt(Qe.nextStopName),1)],64)):Xt("",!0),je("span",_g,gt(Qe.platform),1)])]),_:2},1032,["to"]))),128)):(Ae(),xt(Qn,{key:1},{default:Gt(()=>[Yn(gt(it(ce)("no_bus_wants_to_stop_here_right_now")),1)]),_:1}))],64)):(Ae(),xt(Ie,{key:2,class:"m-auto text-3xl animate-spin"}))])])):(Ae(),xt(Qn,{key:1},{default:Gt(()=>[Yn(gt(it(ce)("this_stop_probably_does_not_exist"))+" ",1),it(te)(T.value)?(Ae(),xt(Qr,{key:0,class:"mt-2",onClick:ke[2]||(ke[2]=()=>{it(ne)(T.value),W.$router.replace({name:"home"})})},{default:Gt(()=>[Rt(Ye,{class:"mr-2 text-yellow-300"}),je("span",null,gt(it(ce)("remove_favorite")),1)]),_:1})):Xt("",!0)]),_:1}))}}}),yg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},xg=je("path",{fill:"currentColor",d:"m21 12l-4.95 7H3V5h13.05z"},null,-1),vg=[xg];function bg(G,B){return Ae(),rt("svg",yg,[...vg])}const wg={name:"material-symbols-label-sharp",render:bg},Sg={key:0,class:"flex flex-col min-h-0 flex-grow"},Ig={class:"flex flex-row pb-2 mb-2 border-b-1 dark:border-dark-100 items-center"},Tg={class:"text-lg ml-2"},kg=Dr({__name:"FallbackStopPopup",props:{marker:{}},setup(G){const B=G,{addFavorite:Z,removeFavorite:ne,isFavorite:te}=Tc(),{t:ce}=gn(),T=ps(B,"marker"),p=Zt(()=>Ds.value[B.marker.id]);return(_e,ve)=>{const xe=wg,oe=Ic,W=Kh;return p.value?(Ae(),rt("div",Sg,[je("div",Ig,[Rt(xe),je("h1",Tg,gt(p.value.name),1),it(te)(p.value)?(Ae(),xt(Qr,{key:0,class:"text-yellow-300 ml-auto border-0",title:it(ce)("remove_favorite"),onClick:ve[0]||(ve[0]=ke=>it(ne)(p.value))},{default:Gt(()=>[Rt(oe)]),_:1},8,["title"])):(Ae(),xt(Qr,{key:1,class:"ml-auto border-0",title:it(ce)("add_favorite"),onClick:ve[1]||(ve[1]=ke=>it(Z)(p.value))},{default:Gt(()=>[Rt(W)]),_:1},8,["title"]))])])):(Ae(),xt(Qn,{key:1},{default:Gt(()=>[Yn(gt(it(ce)("this_stop_probably_does_not_exist"))+" ",1),it(te)(T.value)?(Ae(),xt(Qr,{key:0,class:"mt-2",onClick:ve[2]||(ve[2]=()=>{it(ne)(T.value),_e.$router.replace({name:"home"})})},{default:Gt(()=>[Rt(oe,{class:"mr-2 text-yellow-300"}),je("span",null,gt(it(ce)("remove_favorite")),1)]),_:1})):Xt("",!0)]),_:1}))}}}),Mg={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},Ag=je("path",{fill:"currentColor",d:"M6 6h12v3.96L12 8L6 9.96M3.94 19H4c1.6 0 3-.88 4-2c1 1.12 2.4 2 4 2s3-.88 4-2c1 1.12 2.4 2 4 2h.05l1.9-6.69c.08-.25.05-.53-.06-.77c-.13-.24-.34-.42-.6-.5L20 10.62V6a2 2 0 0 0-2-2h-3V1H9v3H6a2 2 0 0 0-2 2v4.62l-1.29.42c-.26.08-.47.26-.6.5c-.11.24-.14.52-.06.77M20 21c-1.39 0-2.78-.47-4-1.33c-2.44 1.71-5.56 1.71-8 0C6.78 20.53 5.39 21 4 21H2v2h2c1.37 0 2.74-.35 4-1c2.5 1.3 5.5 1.3 8 0c1.26.65 2.62 1 4 1h2v-2z"},null,-1),Pg=[Ag];function Cg(G,B){return Ae(),rt("svg",Mg,[...Pg])}const ap={name:"mdi-ferry",render:Cg},Eg={key:0,class:"flex flex-col min-h-0 flex-grow"},zg={class:"flex flex-row pb-2 mb-2 border-b-1 dark:border-dark-100 items-center"},Dg={class:"text-lg ml-2"},Lg={class:"flex flex-col flex-grow overflow-y-auto"},Rg={key:0,class:"bg-red-300 dark:bg-red-800 bg-opacity-50 dark:bg-opacity-50 p-2 mb-2 rounded-md"},Fg={class:"flex items-center border-b-1 border-gray-500 dark:border-gray-300 mb-2"},Bg={class:"font-bold"},Og={class:"flex flex-row"},Vg={class:"mr-2"},$g={class:"flex-grow"},Ng={class:"ml-2"},jg={class:"flex flex-row gap-1 text-gray-500 dark:text-gray-400 text-xs"},Ug={class:"ml-auto"},qg=Dr({__name:"FerryStopPopup",props:{marker:{}},setup(G){const B=G,{addFavorite:Z,removeFavorite:ne,isFavorite:te}=Tc(),{t:ce}=gn(),T=ps(B,"marker"),p=Zt(()=>Ds.value[B.marker.id]);let _e=null;const ve=W=>{const ke=Math.round(W.eta/60);return W.state==="stopping"?ce("stopping"):ke<1?ce("immediately"):ce("minutes",{minutes:ke})},xe=Zt(()=>p.value===void 0||!p.value.arrivals?null:p.value.arrivals.map(W=>{var Ye;const ke=Xn.value[W.tripId];let Xe;if(ke!==void 0&&ke.arrivals!==void 0){const pt=ke.arrivals.findIndex(Mt=>Mt.id===B.marker.id);pt!==-1&&(Xe=(Ye=ke.arrivals[pt+1])==null?void 0:Ye.name)}return{...W,nextStopName:Xe,eta:ve(W)}}));fn(T,async(W,ke)=>{W.id!==(ke==null?void 0:ke.id)&&(_e!==null&&mn(_e),_e=`data.map.stop.${W.id}`,await Kn(_e,Ds))},{immediate:!0});const oe=new Set;return Gh(()=>{_e!==null&&mn(_e),oe.forEach(W=>{mn(`data.map.trip.${W}`)})}),(W,ke)=>{const Xe=ap,Ye=Ic,pt=Kh,Mt=np,li=sp,zt=rp,Oi=ip,ci=Xh;return p.value?(Ae(),rt("div",Eg,[je("div",zg,[Rt(Xe),je("h1",Dg,gt(p.value.name),1),it(te)(p.value)?(Ae(),xt(Qr,{key:0,class:"text-yellow-300 ml-auto border-0",title:it(ce)("remove_favorite"),onClick:ke[0]||(ke[0]=bt=>it(ne)(p.value))},{default:Gt(()=>[Rt(Ye)]),_:1},8,["title"])):(Ae(),xt(Qr,{key:1,class:"ml-auto border-0",title:it(ce)("add_favorite"),onClick:ke[1]||(ke[1]=bt=>it(Z)(p.value))},{default:Gt(()=>[Rt(pt)]),_:1},8,["title"]))]),je("div",Lg,[p.value.alerts&&p.value.alerts.length>=1?(Ae(),rt("div",Rg,[je("div",Fg,[Rt(Mt,{class:"mr-2"}),je("span",Bg,gt(it(ce)("alerts")),1)]),je("ul",null,[(Ae(!0),rt(zr,null,Jn(p.value.alerts,(bt,Ie)=>(Ae(),rt("li",{key:Ie,class:"items-center ml-5 list-outside list-disc"},gt(bt),1))),128))])])):Xt("",!0),xe.value?(Ae(),rt(zr,{key:1},[xe.value.length>0?(Ae(!0),rt(zr,{key:0},Jn(xe.value,bt=>(Ae(),rt("div",{key:bt.tripId,class:"flex flex-col py-2 w-full not-last:border-b-1 dark:border-dark-300"},[je("div",Og,[Rt(Xe,{class:"mr-2"}),je("span",Vg,gt(bt.routeName),1),je("span",$g,gt(bt.direction),1),je("span",null,gt(bt.planned),1),je("div",Ng,[bt.state==="planned"?(Ae(),xt(li,{key:0})):Xt("",!0),bt.state==="stopping"?(Ae(),xt(zt,{key:1})):Xt("",!0),bt.state==="predicted"?(Ae(),xt(Oi,{key:2})):Xt("",!0)])]),je("div",jg,[bt.nextStopName?(Ae(),rt(zr,{key:0},[je("span",null,gt(it(ce)("next_stop")),1),je("span",null,gt(bt.nextStopName),1)],64)):Xt("",!0),je("span",Ug,gt(bt.platform),1)])]))),128)):(Ae(),xt(Qn,{key:1},{default:Gt(()=>[Yn(gt(it(ce)("no_bus_wants_to_stop_here_right_now")),1)]),_:1}))],64)):(Ae(),xt(ci,{key:2,class:"m-auto text-3xl animate-spin"}))])])):(Ae(),xt(Qn,{key:1},{default:Gt(()=>[Yn(gt(it(ce)("this_stop_probably_does_not_exist"))+" ",1),it(te)(T.value)?(Ae(),xt(Qr,{key:0,class:"mt-2",onClick:ke[2]||(ke[2]=()=>{it(ne)(T.value),W.$router.replace({name:"home"})})},{default:Gt(()=>[Rt(Ye,{class:"mr-2 text-yellow-300"}),je("span",null,gt(it(ce)("remove_favorite")),1)]),_:1})):Xt("",!0)]),_:1}))}}}),Zg=Dr({__name:"MarkerPopup",props:{marker:{}},setup(G){return(B,Z)=>B.marker.type==="bus"?(Ae(),xt(B_,{key:0,marker:B.marker},null,8,["marker"])):B.marker.type==="bus-stop"?(Ae(),xt(gg,{key:1,marker:B.marker},null,8,["marker"])):B.marker.type==="ferry-stop"?(Ae(),xt(qg,{key:2,marker:B.marker},null,8,["marker"])):(Ae(),xt(kg,{key:3,marker:B.marker},null,8,["marker"]))}});function Ls(G){return Array.isArray?Array.isArray(G):cp(G)==="[object Array]"}const Gg=1/0;function Wg(G){if(typeof G=="string")return G;let B=G+"";return B=="0"&&1/G==-Gg?"-0":B}function Hg(G){return G==null?"":Wg(G)}function ds(G){return typeof G=="string"}function op(G){return typeof G=="number"}function Xg(G){return G===!0||G===!1||Kg(G)&&cp(G)=="[object Boolean]"}function lp(G){return typeof G=="object"}function Kg(G){return lp(G)&&G!==null}function Ir(G){return G!=null}function Vh(G){return!G.trim().length}function cp(G){return G==null?G===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(G)}const Jg="Incorrect 'index' type",Yg=G=>`Invalid value for key ${G}`,Qg=G=>`Pattern length exceeds max of ${G}.`,ey=G=>`Missing ${G} property in key`,ty=G=>`Property 'weight' in key '${G}' must be a positive integer`,jd=Object.prototype.hasOwnProperty;class iy{constructor(B){this._keys=[],this._keyMap={};let Z=0;B.forEach(ne=>{let te=hp(ne);this._keys.push(te),this._keyMap[te.id]=te,Z+=te.weight}),this._keys.forEach(ne=>{ne.weight/=Z})}get(B){return this._keyMap[B]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function hp(G){let B=null,Z=null,ne=null,te=1,ce=null;if(ds(G)||Ls(G))ne=G,B=Ud(G),Z=$h(G);else{if(!jd.call(G,"name"))throw new Error(ey("name"));const T=G.name;if(ne=T,jd.call(G,"weight")&&(te=G.weight,te<=0))throw new Error(ty(T));B=Ud(T),Z=$h(T),ce=G.getFn}return{path:B,id:Z,weight:te,src:ne,getFn:ce}}function Ud(G){return Ls(G)?G:G.split(".")}function $h(G){return Ls(G)?G.join("."):G}function ry(G,B){let Z=[],ne=!1;const te=(ce,T,p)=>{if(Ir(ce))if(!T[p])Z.push(ce);else{let _e=T[p];const ve=ce[_e];if(!Ir(ve))return;if(p===T.length-1&&(ds(ve)||op(ve)||Xg(ve)))Z.push(Hg(ve));else if(Ls(ve)){ne=!0;for(let xe=0,oe=ve.length;xeG.score===B.score?G.idx{this._keysMap[Z.id]=ne})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,ds(this.docs[0])?this.docs.forEach((B,Z)=>{this._addString(B,Z)}):this.docs.forEach((B,Z)=>{this._addObject(B,Z)}),this.norm.clear())}add(B){const Z=this.size();ds(B)?this._addString(B,Z):this._addObject(B,Z)}removeAt(B){this.records.splice(B,1);for(let Z=B,ne=this.size();Z{let T=te.getFn?te.getFn(B):this.getFn(B,te.path);if(Ir(T)){if(Ls(T)){let p=[];const _e=[{nestedArrIndex:-1,value:T}];for(;_e.length;){const{nestedArrIndex:ve,value:xe}=_e.pop();if(Ir(xe))if(ds(xe)&&!Vh(xe)){let oe={v:xe,i:ve,n:this.norm.get(xe)};p.push(oe)}else Ls(xe)&&xe.forEach((oe,W)=>{_e.push({nestedArrIndex:W,value:oe})})}ne.$[ce]=p}else if(ds(T)&&!Vh(T)){let p={v:T,n:this.norm.get(T)};ne.$[ce]=p}}}),this.records.push(ne)}toJSON(){return{keys:this.keys,records:this.records}}}function up(G,B,{getFn:Z=dt.getFn,fieldNormWeight:ne=dt.fieldNormWeight}={}){const te=new Jh({getFn:Z,fieldNormWeight:ne});return te.setKeys(G.map(hp)),te.setSources(B),te.create(),te}function hy(G,{getFn:B=dt.getFn,fieldNormWeight:Z=dt.fieldNormWeight}={}){const{keys:ne,records:te}=G,ce=new Jh({getFn:B,fieldNormWeight:Z});return ce.setKeys(ne),ce.setIndexRecords(te),ce}function vc(G,{errors:B=0,currentLocation:Z=0,expectedLocation:ne=0,distance:te=dt.distance,ignoreLocation:ce=dt.ignoreLocation}={}){const T=B/G.length;if(ce)return T;const p=Math.abs(ne-Z);return te?T+p/te:p?1:T}function uy(G=[],B=dt.minMatchCharLength){let Z=[],ne=-1,te=-1,ce=0;for(let T=G.length;ce=B&&Z.push([ne,te]),ne=-1)}return G[ce-1]&&ce-ne>=B&&Z.push([ne,ce-1]),Z}const Hn=32;function dy(G,B,Z,{location:ne=dt.location,distance:te=dt.distance,threshold:ce=dt.threshold,findAllMatches:T=dt.findAllMatches,minMatchCharLength:p=dt.minMatchCharLength,includeMatches:_e=dt.includeMatches,ignoreLocation:ve=dt.ignoreLocation}={}){if(B.length>Hn)throw new Error(Qg(Hn));const xe=B.length,oe=G.length,W=Math.max(0,Math.min(ne,oe));let ke=ce,Xe=W;const Ye=p>1||_e,pt=Ye?Array(oe):[];let Mt;for(;(Mt=G.indexOf(B,Xe))>-1;){let Ie=vc(B,{currentLocation:Mt,expectedLocation:W,distance:te,ignoreLocation:ve});if(ke=Math.min(Ie,ke),Xe=Mt+xe,Ye){let Qe=0;for(;Qe=Ji;Dt-=1){let Vi=Dt-1,Lr=Z[G.charAt(Vi)];if(Ye&&(pt[Vi]=+!!Lr),Kt[Dt]=(Kt[Dt+1]<<1|1)&Lr,Ie&&(Kt[Dt]|=(li[Dt+1]|li[Dt])<<1|1|li[Dt+1]),Kt[Dt]&ci&&(zt=vc(B,{errors:Ie,currentLocation:Vi,expectedLocation:W,distance:te,ignoreLocation:ve}),zt<=ke)){if(ke=zt,Xe=Vi,Xe<=W)break;Ji=Math.max(1,2*W-Xe)}}if(vc(B,{errors:Ie+1,currentLocation:W,expectedLocation:W,distance:te,ignoreLocation:ve})>ke)break;li=Kt}const bt={isMatch:Xe>=0,score:Math.max(.001,zt)};if(Ye){const Ie=uy(pt,p);Ie.length?_e&&(bt.indices=Ie):bt.isMatch=!1}return bt}function py(G){let B={};for(let Z=0,ne=G.length;Z{this.chunks.push({pattern:W,alphabet:py(W),startIndex:ke})},oe=this.pattern.length;if(oe>Hn){let W=0;const ke=oe%Hn,Xe=oe-ke;for(;W{const{isMatch:Mt,score:li,indices:zt}=dy(B,Xe,Ye,{location:te+pt,distance:ce,threshold:T,findAllMatches:p,minMatchCharLength:_e,includeMatches:ne,ignoreLocation:ve});Mt&&(W=!0),oe+=li,Mt&&zt&&(xe=[...xe,...zt])});let ke={isMatch:W,score:W?oe/this.chunks.length:1};return W&&ne&&(ke.indices=xe),ke}}class yn{constructor(B){this.pattern=B}static isMultiMatch(B){return qd(B,this.multiRegex)}static isSingleMatch(B){return qd(B,this.singleRegex)}search(){}}function qd(G,B){const Z=G.match(B);return Z?Z[1]:null}class fy extends yn{constructor(B){super(B)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(B){const Z=B===this.pattern;return{isMatch:Z,score:Z?0:1,indices:[0,this.pattern.length-1]}}}class my extends yn{constructor(B){super(B)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(B){const ne=B.indexOf(this.pattern)===-1;return{isMatch:ne,score:ne?0:1,indices:[0,B.length-1]}}}class _y extends yn{constructor(B){super(B)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(B){const Z=B.startsWith(this.pattern);return{isMatch:Z,score:Z?0:1,indices:[0,this.pattern.length-1]}}}class gy extends yn{constructor(B){super(B)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(B){const Z=!B.startsWith(this.pattern);return{isMatch:Z,score:Z?0:1,indices:[0,B.length-1]}}}class yy extends yn{constructor(B){super(B)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(B){const Z=B.endsWith(this.pattern);return{isMatch:Z,score:Z?0:1,indices:[B.length-this.pattern.length,B.length-1]}}}class xy extends yn{constructor(B){super(B)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(B){const Z=!B.endsWith(this.pattern);return{isMatch:Z,score:Z?0:1,indices:[0,B.length-1]}}}class pp extends yn{constructor(B,{location:Z=dt.location,threshold:ne=dt.threshold,distance:te=dt.distance,includeMatches:ce=dt.includeMatches,findAllMatches:T=dt.findAllMatches,minMatchCharLength:p=dt.minMatchCharLength,isCaseSensitive:_e=dt.isCaseSensitive,ignoreLocation:ve=dt.ignoreLocation}={}){super(B),this._bitapSearch=new dp(B,{location:Z,threshold:ne,distance:te,includeMatches:ce,findAllMatches:T,minMatchCharLength:p,isCaseSensitive:_e,ignoreLocation:ve})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(B){return this._bitapSearch.searchIn(B)}}class fp extends yn{constructor(B){super(B)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(B){let Z=0,ne;const te=[],ce=this.pattern.length;for(;(ne=B.indexOf(this.pattern,Z))>-1;)Z=ne+ce,te.push([ne,Z-1]);const T=!!te.length;return{isMatch:T,score:T?0:1,indices:te}}}const Nh=[fy,fp,_y,gy,xy,yy,my,pp],Zd=Nh.length,vy=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,by="|";function wy(G,B={}){return G.split(by).map(Z=>{let ne=Z.trim().split(vy).filter(ce=>ce&&!!ce.trim()),te=[];for(let ce=0,T=ne.length;ce!!(G[wc.AND]||G[wc.OR]),ky=G=>!!G[qh.PATH],My=G=>!Ls(G)&&lp(G)&&!Zh(G),Gd=G=>({[wc.AND]:Object.keys(G).map(B=>({[B]:G[B]}))});function mp(G,B,{auto:Z=!0}={}){const ne=te=>{let ce=Object.keys(te);const T=ky(te);if(!T&&ce.length>1&&!Zh(te))return ne(Gd(te));if(My(te)){const _e=T?te[qh.PATH]:ce[0],ve=T?te[qh.PATTERN]:te[_e];if(!ds(ve))throw new Error(Yg(_e));const xe={keyId:$h(_e),pattern:ve};return Z&&(xe.searcher=Uh(ve,B)),xe}let p={children:[],operator:ce[0]};return ce.forEach(_e=>{const ve=te[_e];Ls(ve)&&ve.forEach(xe=>{p.children.push(ne(xe))})}),p};return Zh(G)||(G=Gd(G)),ne(G)}function Ay(G,{ignoreFieldNorm:B=dt.ignoreFieldNorm}){G.forEach(Z=>{let ne=1;Z.matches.forEach(({key:te,norm:ce,score:T})=>{const p=te?te.weight:null;ne*=Math.pow(T===0&&p?Number.EPSILON:T,(p||1)*(B?1:ce))}),Z.score=ne})}function Py(G,B){const Z=G.matches;B.matches=[],Ir(Z)&&Z.forEach(ne=>{if(!Ir(ne.indices)||!ne.indices.length)return;const{indices:te,value:ce}=ne;let T={indices:te,value:ce};ne.key&&(T.key=ne.key.src),ne.idx>-1&&(T.refIndex=ne.idx),B.matches.push(T)})}function Cy(G,B){B.score=G.score}function Ey(G,B,{includeMatches:Z=dt.includeMatches,includeScore:ne=dt.includeScore}={}){const te=[];return Z&&te.push(Py),ne&&te.push(Cy),G.map(ce=>{const{idx:T}=ce,p={item:B[T],refIndex:T};return te.length&&te.forEach(_e=>{_e(ce,p)}),p})}class Ya{constructor(B,Z={},ne){this.options={...dt,...Z},this.options.useExtendedSearch,this._keyStore=new iy(this.options.keys),this.setCollection(B,ne)}setCollection(B,Z){if(this._docs=B,Z&&!(Z instanceof Jh))throw new Error(Jg);this._myIndex=Z||up(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(B){Ir(B)&&(this._docs.push(B),this._myIndex.add(B))}remove(B=()=>!1){const Z=[];for(let ne=0,te=this._docs.length;ne-1&&(_e=_e.slice(0,Z)),Ey(_e,this._docs,{includeMatches:ne,includeScore:te})}_searchStringList(B){const Z=Uh(B,this.options),{records:ne}=this._myIndex,te=[];return ne.forEach(({v:ce,i:T,n:p})=>{if(!Ir(ce))return;const{isMatch:_e,score:ve,indices:xe}=Z.searchIn(ce);_e&&te.push({item:ce,idx:T,matches:[{score:ve,value:ce,norm:p,indices:xe}]})}),te}_searchLogical(B){const Z=mp(B,this.options),ne=(p,_e,ve)=>{if(!p.children){const{keyId:oe,searcher:W}=p,ke=this._findMatches({key:this._keyStore.get(oe),value:this._myIndex.getValueForItemAtKeyId(_e,oe),searcher:W});return ke&&ke.length?[{idx:ve,item:_e,matches:ke}]:[]}const xe=[];for(let oe=0,W=p.children.length;oe{if(Ir(p)){let ve=ne(Z,p,_e);ve.length&&(ce[_e]||(ce[_e]={idx:_e,item:p,matches:[]},T.push(ce[_e])),ve.forEach(({matches:xe})=>{ce[_e].matches.push(...xe)}))}}),T}_searchObjectList(B){const Z=Uh(B,this.options),{keys:ne,records:te}=this._myIndex,ce=[];return te.forEach(({$:T,i:p})=>{if(!Ir(T))return;let _e=[];ne.forEach((ve,xe)=>{_e.push(...this._findMatches({key:ve,value:T[xe],searcher:Z}))}),_e.length&&ce.push({idx:p,item:T,matches:_e})}),ce}_findMatches({key:B,value:Z,searcher:ne}){if(!Ir(Z))return[];let te=[];if(Ls(Z))Z.forEach(({v:ce,i:T,n:p})=>{if(!Ir(ce))return;const{isMatch:_e,score:ve,indices:xe}=ne.searchIn(ce);_e&&te.push({score:ve,key:B,value:ce,idx:T,norm:p,indices:xe})});else{const{v:ce,n:T}=Z,{isMatch:p,score:_e,indices:ve}=ne.searchIn(ce);p&&te.push({score:_e,key:B,value:ce,norm:T,indices:ve})}return te}}Ya.version="7.0.0";Ya.createIndex=up;Ya.parseIndex=hy;Ya.config=dt;Ya.parseQuery=mp;Ty(Iy);const zy=Dr({name:"SearchPopup",props:{searchInput:{type:String,default:""}},emits:{"update:search-input":G=>!0},setup(G){const{t:B}=gn(),Z=ps(G,"searchInput"),ne=Zt(()=>[...Object.values(Ds.value)]),te=Zt(()=>new Ya(ne.value,{includeScore:!0,keys:["name"],threshold:.4})),ce=Zt(()=>Z.value===""||Z.value.length<3?[]:te.value.search(Z.value).slice(0,20));return Kd(async()=>{Kn("data.map.vehicle.>",cl),Kn("data.map.stop.>",Ds)}),{t:B,searchResults:ce}}}),Dy={class:"flex flex-col min-h-0 flex-grow"},Ly={class:"flex pb-2 mb-2 border-b-1 dark:border-dark-100 space-x-2 items-center"},Ry={class:"text-lg"},Fy={key:0,class:"m-auto max-w-52 text-center text-xl"},By={key:1,class:"m-auto max-w-52 text-center text-xl"},Oy={class:"flex flex-col overflow-y-auto"},Vy={class:""};function $y(G,B,Z,ne,te,ce){const T=xm,p=Wh,_e=ap,ve=hl("router-link");return Ae(),rt("div",Dy,[je("div",Ly,[Rt(T),je("h1",Ry,gt(G.t("search_result")),1)]),G.searchResults.length===0&&G.searchInput.length<3?(Ae(),rt("div",Fy,[je("p",null,gt(G.t("search_stop_vehicle")),1)])):G.searchResults.length===0&&G.searchInput.length>=3?(Ae(),rt("div",By,[je("p",null,gt(G.t("no_entry")),1)])):Xt("",!0),je("div",Oy,[(Ae(!0),rt(zr,null,Jn(G.searchResults,xe=>(Ae(),xt(ve,{key:xe.refIndex,to:{name:"map-marker",params:{markerType:xe.item.type,markerId:xe.item.id}},class:"flex py-2 not-last:border-b-1 dark:border-dark-300 max-w-full",onClick:B[0]||(B[0]=oe=>G.$emit("update:search-input",""))},{default:Gt(()=>[xe.item.type==="bus-stop"?(Ae(),xt(p,{key:0,class:"mr-2"})):xe.item.type==="ferry-stop"?(Ae(),xt(_e,{key:1,class:"mr-2"})):Xt("",!0),je("div",Vy,gt(xe.item.name),1)]),_:2},1032,["to"]))),128))])])}const Ny=Sc(zy,[["render",$y]]),jy={class:"relative h-full w-full items-center justify-center overflow-hidden"},Gy=Dr({__name:"Home",setup(G){const{liteMode:B}=Jd(),Z=Hd(),ne=Xd(),te=Zt({get(){if(Z.name==="map-marker")return{type:Z.params.markerType,id:Z.params.markerId}},set(_e){if(!_e){ne.replace({name:"home"});return}ne.replace({name:"map-marker",params:{markerType:_e.type,markerId:_e.id}})}}),ce=_n(""),T=_n(!1),p=Zt(()=>B.value?"1":Z.name==="search"||Z.name==="favorites"||T.value?"1/2":"3/4");return(_e,ve)=>(Ae(),rt("div",jy,[Rt(Nm,{"search-input":ce.value,"onUpdate:searchInput":ve[0]||(ve[0]=xe=>ce.value=xe)},null,8,["search-input"]),Rt(Bh,{"is-open":!!te.value,"disable-resize":it(B),size:p.value,onClose:ve[1]||(ve[1]=xe=>te.value=void 0)},{default:Gt(()=>[te.value?(Ae(),xt(Zg,{key:0,marker:te.value},null,8,["marker"])):Xt("",!0)]),_:1},8,["is-open","disable-resize","size"]),Rt(Bh,{"is-open":_e.$route.name==="search","disable-resize":it(B),size:p.value,onClose:ve[3]||(ve[3]=xe=>_e.$router.replace({name:"home"}))},{default:Gt(()=>[Rt(Ny,{"search-input":ce.value,"onUpdate:searchInput":ve[2]||(ve[2]=xe=>ce.value=xe)},null,8,["search-input"])]),_:1},8,["is-open","disable-resize","size"]),Rt(Bh,{"is-open":_e.$route.name==="favorites","disable-resize":it(B),size:p.value,onClose:ve[4]||(ve[4]=xe=>_e.$router.replace({name:"home"}))},{default:Gt(()=>[Rt(n_)]),_:1},8,["is-open","disable-resize","size"]),it(B)?Xt("",!0):(Ae(),xt(Zm,{key:0,"map-moved-manually":T.value,"onUpdate:mapMovedManually":ve[5]||(ve[5]=xe=>T.value=xe),"selected-marker":te.value,onMarkerClick:ve[6]||(ve[6]=xe=>te.value=xe)},null,8,["map-moved-manually","selected-marker"]))]))}});export{Gy as default}; -//# sourceMappingURL=Home-9BF4fQiD.js.map diff --git a/assets/Home-9BF4fQiD.js.map b/assets/Home-9BF4fQiD.js.map deleted file mode 100644 index 6888d87..0000000 --- a/assets/Home-9BF4fQiD.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"mappings":"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","names":["_sfc_main$b","defineComponent","props","emit","dragging","ref","height","isOpen","toRef","size","disableResize","actualSize","computed","percentage","drag","e","move","drop","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_createElementBlock","_normalizeClass","_normalizeStyle","args","_createCommentVNode","_openBlock","registerSW","options","immediate","onNeedRefresh","onOfflineReady","onRegistered","onRegisteredSW","onRegisterError","wb","registerPromise","sendSkipWaitingMessage","updateServiceWorker","_reloadPage","register","__vitePreload","Workbox","onNeedRefreshCalled","showSkipWaitingPrompt","event","r","useRegisterSW","needRefresh","offlineReady","__props","__emit","t","useI18n","route","useRoute","router","useRouter","searchInput","internalSearchInput","_searchInput","global","factory","module","this","maplibregl","modules","define","moduleName","_dependencies","moduleFactory","workerBundleString","sharedModule","i","s","a","l","o","n","u","c","h","p","f","d","y","m","g","x","v","b","w","_","A","S","k","M","I","z","P","B","C","V","E","F","T","$","L","D","O","R","U","j","q","N","Z","K","G","J","X","H","Y","W","Q","tt","et","rt","nt","it","st","at","ot","lt","ut","ht","pt","ft","dt","yt","mt","gt","xt","vt","bt","wt","_t","At","St","kt","Mt","It","zt","Pt","Bt","Ct","Vt","Et","Ft","Tt","$t","Dt","Lt","Ot","Ut","Rt","jt","qt","Nt","Zt","Kt","Gt","Jt","Xt","Ht","Yt","Wt","Qt","te","ee","re","ne","ie","se","ae","oe","le","ue","ce","he","pe","fe","de","ye","me","ge","xe","ve","be","we","_e","Ae","Se","ke","Me","Ie","ze","Pe","Be","Ce","Ve","Ee","Fe","Te","$e","Le","De","Oe","Re","Ue","je","qe","Ne","Ze","Ke","Ge","Je","Xe","He","Ye","We","Qe","tr","ar","er","rr","nr","ir","sr","or","lr","ur","cr","hr","pr","fr","dr","yr","mr","xr","gr","vr","wr","br","_r","Ar","Sr","kr","Mr","Ir","zr","Pr","Br","Cr","Vr","Er","Fr","Tr","$r","Lr","Dr","Or","Rr","Ur","jr","qr","Nr","Zr","Kr","Gr","Jr","Xr","tn","Hr","Yr","Wr","Qr","en","nn","rn","sn","an","on","ln","un","cn","hn","pn","fn","gn","mn","yn","xn","dn","vn","bn","wn","_n","An","Sn","Mn","kn","In","zn","Pn","Vn","Cn","Bn","En","$n","Fn","Tn","Ln","Dn","On","Rn","Un","jn","qn","Nn","Zn","Kn","Gn","Jn","Xn","Hn","Yn","Wn","Qn","ti","ei","ri","ni","ii","si","ai","oi","li","ui","ci","pi","hi","fi","di","yi","mi","gi","xi","vi","bi","wi","_i","Ai","Si","ki","Mi","Ii","Bi","zi","Pi","Ci","Vi","Ei","Fi","Ti","$i","Li","Di","Ri","Oi","Ui","Ni","ji","qi","Zi","Ki","Gi","Ji","Xi","Hi","Yi","Wi","Qi","ts","es","rs","ns","is","ss","as","os","ls","us","cs","hs","ps","fs","ds","ys","ms","gs","xs","vs","bs","ws","_s","As","Ss","ks","Ms","Is","zs","Ps","Bs","Cs","Vs","Es","Fs","Ts","$s","Ls","Ds","Os","Rs","Us","js","qs","Ns","Zs","Ks","Gs","Js","Xs","Hs","Ys","Ws","Qs","ta","ea","ra","na","ia","sa","aa","oa","la","ua","ca","ha","pa","fa","da","ya","ma","ga","xa","va","ba","wa","_a","Aa","Sa","ka","Ma","za","Pa","Ia","Ba","Ca","Va","Ea","Fa","Ta","$a","La","Ka","Ua","Da","qa","Oa","Za","Ra","ja","Na","Ga","Ja","Xa","Ha","Ya","Wa","Qa","to","eo","ro","no","io","so","ao","oo","lo","uo","co","ho","po","fo","yo","mo","go","xo","vo","bo","wo","_o","Ao","So","ko","Mo","Io","Do","Fo","To","Po","Yo","Jo","jo","Xo","zo","Uo","Lo","Co","Bo","Vo","Eo","Oo","qo","Ko","Ro","Go","$o","Zo","No","Ho","Wo","Qo","tl","el","rl","nl","il","sl","al","ol","ll","ul","cl","hl","pl","fl","dl","yl","ml","gl","xl","vl","bl","wl","_l","Al","Sl","Ml","kl","Il","zl","Pl","Cl","Bl","Vl","El","Fl","Tl","$l","Ll","Dl","Ol","Rl","Ul","jl","ql","Nl","Zl","Kl","Gl","Jl","Xl","Hl","Yl","Wl","Ql","tu","eu","iu","ru","nu","su","au","ou","lu","uu","cu","hu","pu","fu","du","yu","mu","gu","xu","vu","bu","wu","_u","Au","Su","ku","Mu","Iu","zu","Pu","Bu","Cu","Vu","Eu","Fu","Tu","$u","Du","Lu","Zu","Gu","Ku","Ou","Ru","Uu","ju","qu","Nu","Ju","Hu","Yu","Wu","Qu","tc","ec","rc","nc","ic","sc","ac","oc","lc","uc","cc","hc","pc","fc","dc","yc","mc","gc","xc","vc","bc","wc","_c","Ac","Sc","kc","Mc","Ic","zc","Pc","Bc","Cc","Vc","Ec","$c","Fc","Tc","Lc","Dc","Oc","Rc","jc","qc","Uc","Nc","Zc","Kc","Gc","Jc","Xc","Hc","Yc","Wc","Qc","th","eh","nh","ih","rh","sh","ah","oh","lh","uh","ch","hh","ph","fh","dh","yh","mh","gh","vh","xh","bh","wh","_h","Ah","Ih","Sh","kh","Mh","zh","Ph","Bh","Ch","Vh","Eh","Fh","maplibregl$1","colorPrimary","colorSecondary","PulsingDot","map","focused","heading","__publicField","canvas","radius","context","lineWidth","width","initial","mapMovedManually","value","colorScheme","useColorMode","vehiclesGeoJson","vehicles","iconName","iconNameFocused","iconData","stopsGeoJson","stops","selectedMarker","selectedVehicle","trip","trips","tripsGeoJson","_b","geojson","stopsLayer","vehiclesLayer","tripsLayer","mapElement","useElementSize","flyTo","center","onMounted","subscribe","lastLocation","useUserSettings","Map","darkMapStyle","brightMapStyle","attributionControl","AttributionControl","GeolocateControl","NavigationControl","BusIcon","loadImage","name","url","image","loadImages","features","feature","watch","geoJSONSource","source","key","selectedMarkerItem","marker","newSelectedMarkerItem","oldSelectedMarkerItem","LS_FAVORITES_KEY","LS_LEGACY_FAVORITES_KEY","legacyLocalStorageItem","legacyFavorites","favoritesRaw","favorites","_favorites","addFavorite","id","type","removeFavorite","favorite","isFavorite","useFavorites","subject","vehicle","newVehicle","oldVehicle","unsubscribe","onUnmounted","stop","eta","arrival","minutes","augmentedArrivals","nextStopName","nextStopIndex","newMarker","oldMarker","tripSubscriptions","tripId","isArray","getTag","INFINITY","baseToString","result","toString","isString","isNumber","isBoolean","isObjectLike","isObject","isDefined","isBlank","INCORRECT_INDEX_TYPE","LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY","PATTERN_LENGTH_TOO_LARGE","max","MISSING_KEY_PROPERTY","INVALID_KEY_WEIGHT_VALUE","hasOwn","KeyStore","keys","totalWeight","obj","createKey","keyId","path","src","weight","getFn","createKeyPath","createKeyId","get","list","arr","deepGet","index","len","MatchOptions","BasicOptions","FuzzyOptions","AdvancedOptions","Config","SPACE","norm","mantissa","cache","numTokens","FuseIndex","fieldNormWeight","docs","records","idx","doc","docIndex","item","record","keyIndex","subRecords","stack","nestedArrIndex","subRecord","createIndex","myIndex","parseIndex","data","computeScore$1","pattern","errors","currentLocation","expectedLocation","distance","ignoreLocation","accuracy","proximity","convertMaskToIndices","matchmask","minMatchCharLength","indices","start","end","match","MAX_BITS","search","text","patternAlphabet","location","threshold","findAllMatches","includeMatches","patternLen","textLen","currentThreshold","bestLocation","computeMatches","matchMask","score","lastBitArr","finalScore","binMax","mask","binMin","binMid","finish","bitArr","charMatch","createPatternAlphabet","char","BitapSearch","isCaseSensitive","addChunk","startIndex","remainder","allIndices","totalScore","hasMatches","alphabet","isMatch","BaseMatch","getMatch","exp","matches","ExactMatch","InverseExactMatch","PrefixExactMatch","InversePrefixExactMatch","SuffixExactMatch","InverseSuffixExactMatch","FuzzyMatch","IncludeMatch","searchers","searchersLen","SPACE_RE","OR_TOKEN","parseQuery","query","results","queryItem","found","searcher","token","MultiMatchSet","ExtendedSearch","numMatches","qLen","pLen","registeredSearchers","createSearcher","searcherClass","LogicalOperator","KeyType","isExpression","isPath","isLeaf","convertToExplicit","parse","auto","next","isQueryPath","node","computeScore","ignoreFieldNorm","transformMatches","transformScore","format","includeScore","transformers","transformer","Fuse","predicate","limit","shouldSort","sortFn","expression","evaluate","res","child","resultMap","expResults","_sfc_main$1","searchData","searchIndex","searchResults","_hoisted_1","_hoisted_3","_hoisted_4","_hoisted_5","_resolveComponent","_createElementVNode","_hoisted_2","_createVNode","_component_i_ph_magnifying_glass_bold","_toDisplayString","_hoisted_6","_Fragment","_renderList","searchResult","_createBlock","_component_router_link","$emit","$event","_withCtx","_component_i_mdi_sign_real_estate","_component_i_mdi_ferry","_hoisted_7","liteMode","popupSize"],"ignoreList":[3,13],"sources":["../../src/components/DetailsPopup.vue","../../../../../../../../@vite-plugin-pwa/virtual:pwa-register/vue","../../src/components/layout/AppBar.vue","../../node_modules/.pnpm/maplibre-gl@4.3.2/node_modules/maplibre-gl/dist/maplibre-gl.js","../../src/components/map/busIcon.ts","../../src/components/map/Map.vue","../../src/compositions/useFavorites.ts","../../src/components/popups/FavoritesPopup.vue","../../src/components/NoData.vue","../../src/components/popups/BusPopup.vue","../../src/components/popups/BusStopPopup.vue","../../src/components/popups/FallbackStopPopup.vue","../../src/components/popups/FerryStopPopup.vue","../../node_modules/.pnpm/fuse.js@7.0.0/node_modules/fuse.js/dist/fuse.mjs","../../src/components/popups/SearchPopup.vue","../../src/views/Home.vue"],"sourcesContent":["\n\n\n\n\n","// src/client/build/vue.ts\nimport { ref } from \"vue\";\n\n// src/client/build/register.ts\nvar autoUpdateMode = \"false\";\nvar selfDestroying = \"false\";\nvar auto = autoUpdateMode === \"true\";\nvar autoDestroy = selfDestroying === \"true\";\nfunction registerSW(options = {}) {\n const {\n immediate = false,\n onNeedRefresh,\n onOfflineReady,\n onRegistered,\n onRegisteredSW,\n onRegisterError\n } = options;\n let wb;\n let registerPromise;\n let sendSkipWaitingMessage;\n const updateServiceWorker = async (_reloadPage = true) => {\n await registerPromise;\n if (!auto) {\n await sendSkipWaitingMessage?.();\n }\n };\n async function register() {\n if (\"serviceWorker\" in navigator) {\n wb = await import(\"workbox-window\").then(({ Workbox }) => {\n return new Workbox(\"/sw.js\", { scope: \"/\", type: \"classic\" });\n }).catch((e) => {\n onRegisterError?.(e);\n return void 0;\n });\n if (!wb)\n return;\n sendSkipWaitingMessage = async () => {\n await wb?.messageSkipWaiting();\n };\n if (!autoDestroy) {\n if (auto) {\n wb.addEventListener(\"activated\", (event) => {\n if (event.isUpdate || event.isExternal)\n window.location.reload();\n });\n wb.addEventListener(\"installed\", (event) => {\n if (!event.isUpdate) {\n onOfflineReady?.();\n }\n });\n } else {\n let onNeedRefreshCalled = false;\n const showSkipWaitingPrompt = () => {\n onNeedRefreshCalled = true;\n wb?.addEventListener(\"controlling\", (event) => {\n if (event.isUpdate)\n window.location.reload();\n });\n onNeedRefresh?.();\n };\n wb.addEventListener(\"installed\", (event) => {\n if (typeof event.isUpdate === \"undefined\") {\n if (typeof event.isExternal !== \"undefined\") {\n if (event.isExternal)\n showSkipWaitingPrompt();\n else\n !onNeedRefreshCalled && onOfflineReady?.();\n } else {\n if (event.isExternal)\n window.location.reload();\n else\n !onNeedRefreshCalled && onOfflineReady?.();\n }\n } else if (!event.isUpdate) {\n onOfflineReady?.();\n }\n });\n wb.addEventListener(\"waiting\", showSkipWaitingPrompt);\n wb.addEventListener(\"externalwaiting\", showSkipWaitingPrompt);\n }\n }\n wb.register({ immediate }).then((r) => {\n if (onRegisteredSW)\n onRegisteredSW(\"/sw.js\", r);\n else\n onRegistered?.(r);\n }).catch((e) => {\n onRegisterError?.(e);\n });\n }\n }\n registerPromise = register();\n return updateServiceWorker;\n}\n\n// src/client/build/vue.ts\nfunction useRegisterSW(options = {}) {\n const {\n immediate = true,\n onNeedRefresh,\n onOfflineReady,\n onRegistered,\n onRegisteredSW,\n onRegisterError\n } = options;\n const needRefresh = ref(false);\n const offlineReady = ref(false);\n const updateServiceWorker = registerSW({\n immediate,\n onNeedRefresh() {\n needRefresh.value = true;\n onNeedRefresh?.();\n },\n onOfflineReady() {\n offlineReady.value = true;\n onOfflineReady?.();\n },\n onRegistered,\n onRegisteredSW,\n onRegisterError\n });\n return {\n updateServiceWorker,\n offlineReady,\n needRefresh\n };\n}\nexport {\n useRegisterSW\n};\n","\n\n\n","/**\n * MapLibre GL JS\n * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.3.2/LICENSE.txt\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.maplibregl = factory());\n})(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar maplibregl = {};\nvar modules = {};\nfunction define(moduleName, _dependencies, moduleFactory) {\n modules[moduleName] = moduleFactory;\n\n // to get the list of modules see generated dist/maplibre-gl-dev.js file (look for `define(` calls)\n if (moduleName !== 'index') {\n return;\n }\n\n // we assume that when an index module is initializing then other modules are loaded already\n var workerBundleString = 'var sharedModule = {}; (' + modules.shared + ')(sharedModule); (' + modules.worker + ')(sharedModule);'\n\n var sharedModule = {};\n // the order of arguments of a module factory depends on rollup (it decides who is whose dependency)\n // to check the correct order, see dist/maplibre-gl-dev.js file (look for `define(` calls)\n // we assume that for our 3 chunks it will generate 3 modules and their order is predefined like the following\n modules.shared(sharedModule);\n modules.index(maplibregl, sharedModule);\n\n if (typeof window !== 'undefined') {\n maplibregl.setWorkerUrl(window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' })));\n }\n\n return maplibregl;\n};\n\n\n\ndefine(\"shared\",[\"exports\"],(function(t){\"use strict\";function e(t,e,r,n){return new(r||(r=Promise))((function(i,s){function a(t){try{l(n.next(t));}catch(t){s(t);}}function o(t){try{l(n.throw(t));}catch(t){s(t);}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e);}))).then(a,o);}l((n=n.apply(t,e||[])).next());}))}function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}\"function\"==typeof SuppressedError&&SuppressedError;var n=i;function i(t,e){this.x=t,this.y=e;}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(t){return t instanceof i?t:Array.isArray(t)?new i(t[0],t[1]):t};var s=r(n),a=o;function o(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}o.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=r(a);let u,c;function h(){return null==u&&(u=\"undefined\"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof createImageBitmap),u}function p(){if(null==c&&(c=!1,h())){const t=5,e=new OffscreenCanvas(t,t).getContext(\"2d\",{willReadFrequently:!0});if(e){for(let r=0;ri.solve(t)}const d=f(.25,.1,.25,1);function y(t,e,r){return Math.min(r,Math.max(e,t))}function m(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function g(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let x=1;function v(t,e,r){const n={};for(const r in t)n[r]=e.call(this,t[r],r,t);return n}function b(t,e,r){const n={};for(const r in t)e.call(this,t[r],r,t)&&(n[r]=t[r]);return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?v(t,w):t}const _={};function A(t){_[t]||(\"undefined\"!=typeof console&&console.warn(t),_[t]=!0);}function S(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){return \"undefined\"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let M=null;function I(t){return \"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap}const z=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function P(t,r,n,i,s){return e(this,void 0,void 0,(function*(){if(\"undefined\"==typeof VideoFrame)throw new Error(\"VideoFrame not supported\");const e=new VideoFrame(t,{timestamp:0});try{const a=null==e?void 0:e.format;if(!a||!a.startsWith(\"BGR\")&&!a.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${a}`);const o=a.startsWith(\"BGR\"),l=new Uint8ClampedArray(i*s*4);if(yield e.copyTo(l,function(t,e,r,n,i){const s=4*Math.max(-e,0),a=(Math.max(0,r)-r)*n*4+s,o=4*n,l=Math.max(0,e),u=Math.max(0,r);return {rect:{x:l,y:u,width:Math.min(t.width,e+n)-l,height:Math.min(t.height,r+i)-u},layout:[{offset:a,stride:o}]}}(t,r,n,i,s)),o)for(let t=0;tk(self)?self.worker&&self.worker.referrer:(\"blob:\"===window.location.protocol?window.parent:window).location.href,O=function(t,r){if(/:\\/\\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=T(t.url);if(e)return e(t,r);if(k(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,targetMapId:$},r)}if(!(/^file:/.test(n=t.url)||/^file:/.test(D())&&!/^\\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(t,r){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:D(),signal:r.signal});\"json\"===t.type&&e.headers.set(\"Accept\",\"application/json\");const n=yield fetch(e);if(!n.ok){const e=yield n.blob();throw new L(n.status,n.statusText,t.url,e)}let i;i=\"arrayBuffer\"===t.type||\"image\"===t.type?n.arrayBuffer():\"json\"===t.type?n.json():n.text();const s=yield i;if(r.signal.aborted)throw E();return {data:s,cacheControl:n.headers.get(\"Cache-Control\"),expires:n.headers.get(\"Expires\")}}))}(t,r);if(k(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,mustQueue:!0,targetMapId:$},r)}var n;return function(t,e){return new Promise(((r,n)=>{const i=new XMLHttpRequest;i.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"!==t.type&&\"image\"!==t.type||(i.responseType=\"arraybuffer\");for(const e in t.headers)i.setRequestHeader(e,t.headers[e]);\"json\"===t.type&&(i.responseType=\"text\",i.setRequestHeader(\"Accept\",\"application/json\")),i.withCredentials=\"include\"===t.credentials,i.onerror=()=>{n(new Error(i.statusText));},i.onload=()=>{if(!e.signal.aborted)if((i.status>=200&&i.status<300||0===i.status)&&null!==i.response){let e=i.response;if(\"json\"===t.type)try{e=JSON.parse(i.response);}catch(t){return void n(t)}r({data:e,cacheControl:i.getResponseHeader(\"Cache-Control\"),expires:i.getResponseHeader(\"Expires\")});}else {const e=new Blob([i.response],{type:i.getResponseHeader(\"Content-Type\")});n(new L(i.status,i.statusText,t.url,e));}},e.signal.addEventListener(\"abort\",(()=>{i.abort(),n(E());})),i.send(t.body);}))}(t,r)};function R(t){if(!t||t.indexOf(\"://\")<=0||0===t.indexOf(\"data:image/\")||0===t.indexOf(\"blob:\"))return !0;const e=new URL(t),r=window.location;return e.protocol===r.protocol&&e.host===r.host}function U(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function j(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class q{constructor(t,e={}){g(this,e),this.type=t;}}class N extends q{constructor(t,e={}){super(\"error\",g({error:t},e));}}class Z{on(t,e){return this._listeners=this._listeners||{},U(t,e,this._listeners),this}off(t,e){return j(t,e,this._listeners),j(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},U(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){\"string\"==typeof t&&(t=new q(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)j(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(g(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof N&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var K={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sky:{type:\"sky\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};const G=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function J(t,e){const r={};for(const e in t)\"ref\"!==e&&(r[e]=t[e]);return G.forEach((t=>{t in e&&(r[t]=e[t]);})),r}function X(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return !1;for(let r=0;r`:\"value\"===t.itemType.kind?\"array\":`array<${e}>`}return t.kind}const _t=[lt,ut,ct,ht,pt,mt,ft,bt(dt),gt,xt,vt];function At(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!At(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(const t of _t)if(!At(t,e))return null}return `Expected ${wt(t)} but found ${wt(e)} instead.`}function St(t,e){return e.some((e=>e.kind===t.kind))}function kt(t,e){return e.some((e=>\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t))}function Mt(t,e){return \"array\"===t.kind&&\"array\"===e.kind?t.itemType.kind===e.itemType.kind&&\"number\"==typeof t.N:t.kind===e.kind}const It=.96422,zt=.82521,Pt=4/29,Bt=6/29,Ct=3*Bt*Bt,Vt=Bt*Bt*Bt,Et=Math.PI/180,Ft=180/Math.PI;function Tt(t){return (t%=360)<0&&(t+=360),t}function $t([t,e,r,n]){let i,s;const a=Dt((.2225045*(t=Lt(t))+.7168786*(e=Lt(e))+.0606169*(r=Lt(r)))/1);t===e&&e===r?i=s=a:(i=Dt((.4360747*t+.3850649*e+.1430804*r)/It),s=Dt((.0139322*t+.0971045*e+.7141733*r)/zt));const o=116*a-16;return [o<0?0:o,500*(i-a),200*(a-s),n]}function Lt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Dt(t){return t>Vt?Math.pow(t,1/3):t/Ct+Pt}function Ot([t,e,r,n]){let i=(t+16)/116,s=isNaN(e)?i:i+e/500,a=isNaN(r)?i:i-r/200;return i=1*Ut(i),s=It*Ut(s),a=zt*Ut(a),[Rt(3.1338561*s-1.6168667*i-.4906146*a),Rt(-.9787684*s+1.9161415*i+.033454*a),Rt(.0719453*s-.2289914*i+1.4052427*a),n]}function Rt(t){return (t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Ut(t){return t>Bt?t*t*t:Ct*(t-Pt)}function jt(t){return parseInt(t.padEnd(2,t),16)/255}function qt(t,e){return Nt(e?t/100:t,0,1)}function Nt(t,e,r){return Math.min(Math.max(e,t),r)}function Zt(t){return !t.some(Number.isNaN)}const Kt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Gt{constructor(t,e,r,n=1,i=!0){this.r=t,this.g=e,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter(\"rgb\",[t,e,r,n]));}static parse(t){if(t instanceof Gt)return t;if(\"string\"!=typeof t)return;const e=function(t){if(\"transparent\"===(t=t.toLowerCase().trim()))return [0,0,0,0];const e=Kt[t];if(e){const[t,r,n]=e;return [t/255,r/255,n/255,1]}if(t.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let r=1;return [jt(t.slice(r,r+=e)),jt(t.slice(r,r+=e)),jt(t.slice(r,r+=e)),jt(t.slice(r,r+e)||\"ff\")]}if(t.startsWith(\"rgb\")){const e=t.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(e){const[t,r,n,i,s,a,o,l,u,c,h,p]=e,f=[i||\" \",o||\" \",c].join(\"\");if(\" \"===f||\" /\"===f||\",,\"===f||\",,,\"===f){const t=[n,a,u].join(\"\"),e=\"%%%\"===t?100:\"\"===t?255:0;if(e){const t=[Nt(+r/e,0,1),Nt(+s/e,0,1),Nt(+l/e,0,1),h?qt(+h,p):1];if(Zt(t))return t}}return}}const r=t.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(r){const[t,e,n,i,s,a,o,l,u]=r,c=[n||\" \",s||\" \",o].join(\"\");if(\" \"===c||\" /\"===c||\",,\"===c||\",,,\"===c){const t=[+e,Nt(+i,0,100),Nt(+a,0,100),l?qt(+l,u):1];if(Zt(t))return function([t,e,r,n]){function i(n){const i=(n+t/30)%12,s=e*Math.min(r,1-r);return r-s*Math.max(-1,Math.min(i-3,9-i,1))}return t=Tt(t),e/=100,r/=100,[i(0),i(8),i(4),n]}(t)}}}(t);return e?new Gt(...e,!1):void 0}get rgb(){const{r:t,g:e,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter(\"rgb\",[t/i,e/i,r/i,n])}get hcl(){return this.overwriteGetter(\"hcl\",function(t){const[e,r,n,i]=$t(t),s=Math.sqrt(r*r+n*n);return [Math.round(1e4*s)?Tt(Math.atan2(n,r)*Ft):NaN,s,e,i]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",$t(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,r,n]=this.rgb;return `rgba(${[t,e,r].map((t=>Math.round(255*t))).join(\",\")},${n})`}}Gt.black=new Gt(0,0,0,1),Gt.white=new Gt(1,1,1,1),Gt.transparent=new Gt(0,0,0,0),Gt.red=new Gt(1,0,0,1);class Jt{constructor(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"});}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Xt{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class Ht{constructor(t){this.sections=t;}static fromString(t){return new Ht([new Xt(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Ht?t:Ht.fromString(t)}toString(){return 0===this.sections.length?\"\":this.sections.map((t=>t.text)).join(\"\")}}class Yt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Yt)return t;if(\"number\"==typeof t)return new Yt([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if(\"number\"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]];}return new Yt(t)}}toString(){return JSON.stringify(this.values)}}const Wt=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Qt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Qt)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function re(t){if(null===t||\"string\"==typeof t||\"boolean\"==typeof t||\"number\"==typeof t||t instanceof Gt||t instanceof Jt||t instanceof Ht||t instanceof Yt||t instanceof Qt||t instanceof te)return !0;if(Array.isArray(t)){for(const e of t)if(!re(e))return !1;return !0}if(\"object\"==typeof t){for(const e in t)if(!re(t[e]))return !1;return !0}return !1}function ne(t){if(null===t)return lt;if(\"string\"==typeof t)return ct;if(\"boolean\"==typeof t)return ht;if(\"number\"==typeof t)return ut;if(t instanceof Gt)return pt;if(t instanceof Jt)return yt;if(t instanceof Ht)return mt;if(t instanceof Yt)return gt;if(t instanceof Qt)return vt;if(t instanceof te)return xt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=ne(e);if(r){if(r===t)continue;r=dt;break}r=t;}return bt(r||dt,e)}return ft}function ie(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Gt||t instanceof Ht||t instanceof Yt||t instanceof Qt||t instanceof te?t.toString():JSON.stringify(t)}class se{constructor(t,e){this.type=t,this.value=e;}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!re(t[1]))return e.error(\"invalid value\");const r=t[1];let n=ne(r);const i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new se(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}}class ae{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t;}toJSON(){return this.message}}const oe={string:ct,number:ut,boolean:ht,object:ft};class le{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");let r,n=1;const i=t[0];if(\"array\"===i){let i,s;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in oe)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=oe[r],n++;}else i=dt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);s=t[2],n++;}r=bt(i,s);}else {if(!oe[i])throw new Error(`Types doesn't contain name = ${i}`);r=oe[i];}const s=[];for(;nt.outputDefined()))}}const ue={\"to-boolean\":ht,\"to-color\":pt,\"to-number\":ut,\"to-string\":ct};class ce{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[0];if(!ue[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");const n=ue[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ee(e[0],e[1],e[2],e[3]),!r))return new Gt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ae(r||`Could not parse color from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"padding\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Yt.parse(e);if(n)return n}throw new ae(`Could not parse padding from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"variableAnchorOffsetCollection\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Qt.parse(e);if(n)return n}throw new ae(`Could not parse variableAnchorOffsetCollection from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"number\":{let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new ae(`Could not convert ${JSON.stringify(e)} to number.`)}case\"formatted\":return Ht.fromString(ie(this.args[0].evaluate(t)));case\"resolvedImage\":return te.fromString(ie(this.args[0].evaluate(t)));default:return ie(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const he=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class pe{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?\"number\"==typeof this.feature.type?he[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Gt.parse(t)),e}}class fe{constructor(t,e,r=[],n,i=new ot,s=[]){this.registry=t,this.path=r,this.key=r.map((t=>`[${t}]`)).join(\"\"),this.scope=i,this.errors=s,this.expectedType=n,this._isConstant=e;}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return \"assert\"===r?new le(e,[t]):\"coerce\"===r?new ce(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');const n=t[0];if(\"string\"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if(\"string\"!==t.kind&&\"number\"!==t.kind&&\"boolean\"!==t.kind&&\"object\"!==t.kind&&\"array\"!==t.kind||\"value\"!==i.kind)if(\"color\"!==t.kind&&\"formatted\"!==t.kind&&\"resolvedImage\"!==t.kind||\"value\"!==i.kind&&\"string\"!==i.kind)if(\"padding\"!==t.kind||\"value\"!==i.kind&&\"number\"!==i.kind&&\"array\"!==i.kind)if(\"variableAnchorOffsetCollection\"!==t.kind||\"value\"!==i.kind&&\"array\"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"assert\");}if(!(n instanceof se)&&\"resolvedImage\"!==n.type.kind&&this._isConstant(n)){const t=new pe;try{n=new se(n.type,n.evaluate(t));}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression \"${n}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new fe(this.registry,this._isConstant,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join(\"\")}`;this.errors.push(new at(r,t));}checkSubtype(t,e){const r=At(t,e);return r&&this.error(r),r}}class de{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result);}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new ae(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new ae(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input);}outputDefined(){return !1}}class ge{constructor(t,e){this.type=ht,this.needle=t,this.haystack=e;}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);return r&&n?St(r.type,[ht,ct,ut,lt,dt])?new ge(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${wt(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!kt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${wt(ne(e))} instead.`);if(!kt(r,[\"string\",\"array\"]))throw new ae(`Expected second argument to be of type array or string, but found ${wt(ne(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}}class xe{constructor(t,e,r){this.type=ut,this.needle=t,this.haystack=e,this.fromIndex=r;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);if(!r||!n)return null;if(!St(r.type,[ht,ct,ut,lt,dt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${wt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ut);return i?new xe(r,n,i):null}return new xe(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!kt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${wt(ne(e))} instead.`);if(!kt(r,[\"string\",\"array\"]))throw new ae(`Expected second argument to be of type array or string, but found ${wt(ne(r))} instead.`);if(this.fromIndex){const n=this.fromIndex.evaluate(t);return r.indexOf(e,n)}return r.indexOf(e)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);}outputDefined(){return !1}}class ve{constructor(t,e,r,n,i,s){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=s;}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");let r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},s=[];for(let a=2;aNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof t&&Math.floor(t)!==t)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,ne(t)))return null}else r=ne(t);if(void 0!==i[String(t)])return u.error(\"Branch labels must be unique.\");i[String(t)]=s.length;}const c=e.parse(l,a,n);if(!c)return null;n=n||c.type,s.push(c);}const a=e.parse(t[1],1,dt);if(!a)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?\"value\"!==a.type.kind&&e.concat(1).checkSubtype(r,a.type)?null:new ve(r,n,a,i,s,o):null}evaluate(t){const e=this.input.evaluate(t);return (ne(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class be{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r;}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");let r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}}class we{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,ut);if(!r||!n)return null;if(!St(r.type,[bt(dt),ct,dt]))return e.error(`Expected first argument to be of type array or string, but found ${wt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ut);return i?new we(r.type,r,n,i):null}return new we(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);if(!kt(e,[\"string\",\"array\"]))throw new ae(`Expected first argument to be of type array or string, but found ${wt(ne(e))} instead.`);if(this.endIndex){const n=this.endIndex.evaluate(t);return e.slice(r,n)}return e.slice(r)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);}outputDefined(){return !1}}function _e(t,e){const r=t.length-1;let n,i,s=0,a=r,o=0;for(;s<=a;)if(o=Math.floor((s+a)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new ae(\"Input is not a number.\");a=o-1;}return 0}class Ae{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e);}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");const r=e.parse(t[1],1,ut);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=s)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(a,l,i);if(!u)return null;i=i||u.type,n.push([s,u]);}return new Ae(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[_e(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var ke=Me;function Me(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}Me.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ie=Se(ke);function ze(t,e,r){return t+r*(e-t)}function Pe(t,e,r){return t.map(((t,n)=>ze(t,e[n],r)))}const Be={number:ze,color:function(t,e,r,n=\"rgb\"){switch(n){case\"rgb\":{const[n,i,s,a]=Pe(t.rgb,e.rgb,r);return new Gt(n,i,s,a,!1)}case\"hcl\":{const[n,i,s,a]=t.hcl,[o,l,u,c]=e.hcl;let h,p;if(isNaN(n)||isNaN(o))isNaN(n)?isNaN(o)?h=NaN:(h=o,1!==s&&0!==s||(p=l)):(h=n,1!==u&&0!==u||(p=i));else {let t=o-n;o>n&&t>180?t-=360:o180&&(t+=360),h=n+r*t;}const[f,d,y,m]=function([t,e,r,n]){return t=isNaN(t)?0:t*Et,Ot([r,Math.cos(t)*e,Math.sin(t)*e,n])}([h,null!=p?p:ze(i,l,r),ze(s,u,r),ze(a,c,r)]);return new Gt(f,d,y,m,!1)}case\"lab\":{const[n,i,s,a]=Ot(Pe(t.lab,e.lab,r));return new Gt(n,i,s,a,!1)}}},array:Pe,padding:function(t,e,r){return new Yt(Pe(t.values,e.values,r))},variableAnchorOffsetCollection:function(t,e,r){const n=t.values,i=e.values;if(n.length!==i.length)throw new ae(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const s=[];for(let t=0;t\"number\"!=typeof t||t<0||t>1)))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:t};}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(i=e.parse(i,2,ut),!i)return null;const a=[];let o=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?o=pt:e.expectedType&&\"value\"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,l,o);if(!u)return null;o=o||u.type,a.push([r,u]);}return Mt(o,ut)||Mt(o,pt)||Mt(o,gt)||Mt(o,vt)||Mt(o,bt(ut))?new Ce(o,r,n,i,a):e.error(`Type ${wt(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const s=_e(e,n),a=Ce.interpolationFactor(this.interpolation,n,e[s],e[s+1]),o=r[s].evaluate(t),l=r[s+1].evaluate(t);switch(this.operator){case\"interpolate\":return Be[this.type.kind](o,l,a);case\"interpolate-hcl\":return Be.color(o,l,a,\"hcl\");case\"interpolate-lab\":return Be.color(o,l,a,\"lab\")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ve(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}class Ee{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");let r=null;const n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);const i=[];for(const n of t.slice(1)){const t=e.parse(n,1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!t)return null;r=r||t.type,i.push(t);}if(!r)throw new Error(\"No output type\");const s=n&&i.some((t=>At(n,t.type)));return new Ee(s?dt:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args)if(n++,r=i.evaluate(t),r&&r instanceof te&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}function Fe(t,e){return \"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function Te(t,e,r,n){return 0===n.compare(e,r)}function $e(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=ht,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");const r=t[0];let s=e.parse(t[1],1,dt);if(!s)return null;if(!Fe(r,s.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${wt(s.type)}'.`);let a=e.parse(t[2],2,dt);if(!a)return null;if(!Fe(r,a.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${wt(a.type)}'.`);if(s.type.kind!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(`Cannot compare types '${wt(s.type)}' and '${wt(a.type)}'.`);n&&(\"value\"===s.type.kind&&\"value\"!==a.type.kind?s=new le(a.type,[s]):\"value\"!==s.type.kind&&\"value\"===a.type.kind&&(a=new le(s.type,[a])));let o=null;if(4===t.length){if(\"string\"!==s.type.kind&&\"string\"!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(o=e.parse(t[3],3,yt),!o)return null}return new i(s,a,o)}evaluate(i){const s=this.lhs.evaluate(i),a=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=ne(s),r=ne(a);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new ae(`Expected arguments for \"${t}\" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=ne(s),r=ne(a);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,s,a)}return this.collator?r(i,s,a,this.collator.evaluate(i)):e(i,s,a)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}}}const Le=$e(\"==\",(function(t,e,r){return e===r}),Te),De=$e(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !Te(0,e,r,n)})),Oe=$e(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Ue=$e(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),je=$e(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class qe{constructor(t,e,r){this.type=yt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e;}static parse(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");const r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");const n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,ht);if(!n)return null;const i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,ht);if(!i)return null;let s=null;return r.locale&&(s=e.parse(r.locale,1,ct),!s)?null:new qe(n,i,s)}evaluate(t){return new Jt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale);}outputDefined(){return !1}}class Ne{constructor(t,e,r,n,i){this.type=ct,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;}static parse(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ut);if(!r)return null;const n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ct),!i))return null;let s=null;if(n.currency&&(s=e.parse(n.currency,1,ct),!s))return null;let a=null;if(n[\"min-fraction-digits\"]&&(a=e.parse(n[\"min-fraction-digits\"],1,ut),!a))return null;let o=null;return n[\"max-fraction-digits\"]&&(o=e.parse(n[\"max-fraction-digits\"],1,ut),!o)?null:new Ne(r,i,s,a,o)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);}outputDefined(){return !1}}class Ze{constructor(t){this.type=mt,this.sections=t;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const s=t[r];if(i&&\"object\"==typeof s&&!Array.isArray(s)){i=!1;let t=null;if(s[\"font-scale\"]&&(t=e.parse(s[\"font-scale\"],1,ut),!t))return null;let r=null;if(s[\"text-font\"]&&(r=e.parse(s[\"text-font\"],1,bt(ct)),!r))return null;let a=null;if(s[\"text-color\"]&&(a=e.parse(s[\"text-color\"],1,pt),!a))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=a;}else {const s=e.parse(t[r],1,dt);if(!s)return null;const a=s.type.kind;if(\"string\"!==a&&\"value\"!==a&&\"null\"!==a&&\"resolvedImage\"!==a)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:s,scale:null,font:null,textColor:null});}}return new Ze(n)}evaluate(t){return new Ht(this.sections.map((e=>{const r=e.content.evaluate(t);return ne(r)===xt?new Xt(\"\",r,null,null,null):new Xt(ie(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor);}outputDefined(){return !1}}class Ke{constructor(t){this.type=xt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ct);return r?new Ke(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=te.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}}class Ge{constructor(t){this.type=ut,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${wt(r.type)} instead.`):new Ge(r):null}evaluate(t){const e=this.input.evaluate(t);if(\"string\"==typeof e)return e.length;if(Array.isArray(e))return e.length;throw new ae(`Expected value to be of type string or array, but found ${wt(ne(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}}const Je=8192;function Xe(t,e){const r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*Je),Math.round(n*i*Je)]}function He(t,e){const r=Math.pow(2,e.z);return [(i=(t[0]/Je+e.x)/r,360*i-180),(n=(t[1]/Je+e.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90)];var n,i;}function Ye(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1]);}function We(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Qe(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],s=t[0]-r[0],a=t[1]-r[1];return n*a-s*i==0&&n*s<=0&&i*a<=0}function tr(t,e,r,n){return 0!=(i=[n[0]-r[0],n[1]-r[1]])[0]*(s=[e[0]-t[0],e[1]-t[1]])[1]-i[1]*s[0]&&!(!ar(t,e,r,n)||!ar(r,n,t,e));var i,s;}function er(t,e,r){for(const n of r)for(let r=0;r(i=t)[1]!=(a=o[e+1])[1]>i[1]&&i[0]<(a[0]-s[0])*(i[1]-s[1])/(a[1]-s[1])+s[0]&&(n=!n);}var i,s,a;return n}function nr(t,e){for(const r of e)if(rr(t,r))return !0;return !1}function ir(t,e){for(const r of t)if(!rr(r,e))return !1;for(let r=0;r0&&o<0||a<0&&o>0}function or(t,e,r){const n=[];for(let i=0;ir[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i;}Ye(e,t);}function cr(t,e,r,n){const i=Math.pow(2,n.z)*Je,s=[n.x*Je,n.y*Je],a=[];for(const n of t)for(const t of n){const n=[t.x+s[0],t.y+s[1]];ur(n,e,r,i),a.push(n);}return a}function hr(t,e,r,n){const i=Math.pow(2,n.z)*Je,s=[n.x*Je,n.y*Je],a=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+s[0],n.y+s[1]];Ye(e,r),t.push(r);}a.push(t);}if(e[2]-e[0]<=i/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of a)for(const n of t)ur(n,e,r,i);}var o;return a}class pr{constructor(t,e){this.type=ht,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(re(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type){const t=[];for(const r of e.features){const{type:e,coordinates:n}=r.geometry;\"Polygon\"===e&&t.push(n),\"MultiPolygon\"===e&&t.push(...n);}if(t.length)return new pr(e,{type:\"MultiPolygon\",coordinates:t})}else if(\"Feature\"===e.type){const t=e.geometry.type;if(\"Polygon\"===t||\"MultiPolygon\"===t)return new pr(e,e.geometry)}else if(\"Polygon\"===e.type||\"MultiPolygon\"===e.type)return new pr(e,e)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const s=or(e.coordinates,n,i),a=cr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!rr(t,s))return !1}if(\"MultiPolygon\"===e.type){const s=lr(e.coordinates,n,i),a=cr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!nr(t,s))return !1}return !0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const s=or(e.coordinates,n,i),a=hr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!ir(t,s))return !1}if(\"MultiPolygon\"===e.type){const s=lr(e.coordinates,n,i),a=hr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!sr(t,s))return !1}return !0}(t,this.geometries)}return !1}eachChild(){}outputDefined(){return !0}}let fr=class{constructor(t=[],e=dr){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this.length++,this._up(this.length-1);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(r(n,s)>=0)break;e[t]=s,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=s,t=n;}e[t]=i;}};function dr(t,e){return te?1:0}function yr(t,e,r,n,i){mr(t,e,r,n||t.length-1,i||xr);}function mr(t,e,r,n,i){for(;n>r;){if(n-r>600){var s=n-r+1,a=e-r+1,o=Math.log(s),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(s-l)/s)*(a-s/2<0?-1:1);mr(t,e,Math.max(r,Math.floor(e-a*l/s+u)),Math.min(n,Math.floor(e+(s-a)*l/s+u)),i);}var c=t[e],h=r,p=n;for(gr(t,r,e),i(t[n],c)>0&&gr(t,r,n);h0;)p--;}0===i(t[r],c)?gr(t,r,p):gr(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function gr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function xr(t,e){return te?1:0}function vr(t,e){if(t.length<=1)return [t];const r=[];let n,i;for(const e of t){const t=wr(e);0!==t&&(e.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&r.push(n),n=[e]):n.push(e));}if(n&&r.push(n),e>1)for(let t=0;t1?(l=t[o+1][0],u=t[o+1][1]):p>0&&(l+=c/this.kx*p,u+=h/this.ky*p)),c=this.wrap(e[0]-l)*this.kx,h=(e[1]-u)*this.ky;const f=c*c+h*h;f180;)t-=360;return t}}function Mr(t,e){return e[0]-t[0]}function Ir(t){return t[1]-t[0]+1}function zr(t,e){return t[1]>=t[0]&&t[1]t[1])return [null,null];const r=Ir(t);if(e){if(2===r)return [t,null];const e=Math.floor(r/2);return [[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===r)return [t,null];const n=Math.floor(r/2)-1;return [[t[0],t[0]+n],[t[0]+n+1,t[1]]]}function Br(t,e){if(!zr(e,t.length))return [1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let n=e[0];n<=e[1];++n)Ye(r,t[n]);return r}function Cr(t){const e=[1/0,1/0,-1/0,-1/0];for(const r of t)for(const t of r)Ye(e,t);return e}function Vr(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Er(t,e,r){if(!Vr(t)||!Vr(e))return NaN;let n=0,i=0;return t[2]e[2]&&(n=t[0]-e[2]),t[1]>e[3]&&(i=t[1]-e[3]),t[3]=n)return n;if(We(i,s)){if(Rr(t,e))return 0}else if(Rr(e,t))return 0;let a=1/0;for(const n of t)for(let t=0,i=n.length,s=i-1;t0;){const i=a.pop();if(i[0]>=s)continue;const l=i[1],u=e?50:100;if(Ir(l)<=u){if(!zr(l,t.length))return NaN;if(e){const e=Or(t,l,r,n);if(isNaN(e)||0===e)return e;s=Math.min(s,e);}else for(let e=l[0];e<=l[1];++e){const i=Dr(t[e],r,n);if(s=Math.min(s,i),0===s)return 0}}else {const r=Pr(l,e);jr(a,s,n,t,o,r[0]),jr(a,s,n,t,o,r[1]);}}return s}function Zr(t,e,r,n,i,s=1/0){let a=Math.min(s,i.distance(t[0],r[0]));if(0===a)return a;const o=new fr([[0,[0,t.length-1],[0,r.length-1]]],Mr);for(;o.length>0;){const s=o.pop();if(s[0]>=a)continue;const l=s[1],u=s[2],c=e?50:100,h=n?50:100;if(Ir(l)<=c&&Ir(u)<=h){if(!zr(l,t.length)&&zr(u,r.length))return NaN;let s;if(e&&n)s=$r(t,l,r,u,i),a=Math.min(a,s);else if(e&&!n){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=Fr(r[t],e,i),a=Math.min(a,s),0===a)return a}else if(!e&&n){const e=r.slice(u[0],u[1]+1);for(let r=l[0];r<=l[1];++r)if(s=Fr(t[r],e,i),a=Math.min(a,s),0===a)return a}else s=Lr(t,l,r,u,i),a=Math.min(a,s);}else {const s=Pr(l,e),c=Pr(u,n);qr(o,a,i,t,r,s[0],c[0]),qr(o,a,i,t,r,s[0],c[1]),qr(o,a,i,t,r,s[1],c[0]),qr(o,a,i,t,r,s[1],c[1]);}}return a}function Kr(t){return \"MultiPolygon\"===t.type?t.coordinates.map((t=>({type:\"Polygon\",coordinates:t}))):\"MultiLineString\"===t.type?t.coordinates.map((t=>({type:\"LineString\",coordinates:t}))):\"MultiPoint\"===t.type?t.coordinates.map((t=>({type:\"Point\",coordinates:t}))):[t]}class Gr{constructor(t,e){this.type=ut,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(re(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)return new Gr(e,e.features.map((t=>Kr(t.geometry))).flat());if(\"Feature\"===e.type)return new Gr(e,Kr(e.geometry));if(\"type\"in e&&\"coordinates\"in e)return new Gr(e,Kr(e))}return e.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>He([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new kr(n[0][1]);let s=1/0;for(const t of e){switch(t.type){case\"Point\":s=Math.min(s,Zr(n,!1,[t.coordinates],!1,i,s));break;case\"LineString\":s=Math.min(s,Zr(n,!1,t.coordinates,!0,i,s));break;case\"Polygon\":s=Math.min(s,Nr(n,!1,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>He([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new kr(n[0][1]);let s=1/0;for(const t of e){switch(t.type){case\"Point\":s=Math.min(s,Zr(n,!0,[t.coordinates],!1,i,s));break;case\"LineString\":s=Math.min(s,Zr(n,!0,t.coordinates,!0,i,s));break;case\"Polygon\":s=Math.min(s,Nr(n,!0,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries);if(\"Polygon\"===t.geometryType())return function(t,e){const r=t.geometry();if(0===r.length||0===r[0].length)return NaN;const n=vr(r,0).map((e=>e.map((e=>e.map((e=>He([e.x,e.y],t.canonical))))))),i=new kr(n[0][0][0][1]);let s=1/0;for(const t of e)for(const e of n){switch(t.type){case\"Point\":s=Math.min(s,Nr([t.coordinates],!1,e,i,s));break;case\"LineString\":s=Math.min(s,Nr(t.coordinates,!0,e,i,s));break;case\"Polygon\":s=Math.min(s,Ur(e,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return !0}}const Jr={\"==\":Le,\"!=\":De,\">\":Re,\"<\":Oe,\">=\":je,\"<=\":Ue,array:le,at:me,boolean:le,case:be,coalesce:Ee,collator:qe,format:Ze,image:Ke,in:ge,\"index-of\":xe,interpolate:Ce,\"interpolate-hcl\":Ce,\"interpolate-lab\":Ce,length:Ge,let:de,literal:se,match:ve,number:le,\"number-format\":Ne,object:le,slice:we,step:Ae,string:le,\"to-boolean\":ce,\"to-color\":ce,\"to-number\":ce,\"to-string\":ce,var:ye,within:pr,distance:Gr};class Xr{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t);}outputDefined(){return !1}static parse(t,e){const r=t[0],n=Xr.definitions[r];if(!n)return e.error(`Unknown expression \"${r}\". If you wanted a literal array, use [\"literal\", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,a=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,s]of a){o=new fe(e.registry,tn,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(wt).join(\", \")})`:`(${wt(e.type)}...)`;var e;})).join(\" | \"),n=[];for(let r=1;r{r=e?r&&tn(t):r&&t instanceof se;})),!!r&&en(t)&&nn(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function en(t){if(t instanceof Xr){if(\"get\"===t.name&&1===t.args.length)return !1;if(\"feature-state\"===t.name)return !1;if(\"has\"===t.name&&1===t.args.length)return !1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return !1;if(/^filter-/.test(t.name))return !1}if(t instanceof pr)return !1;if(t instanceof Gr)return !1;let e=!0;return t.eachChild((t=>{e&&!en(t)&&(e=!1);})),e}function rn(t){if(t instanceof Xr&&\"feature-state\"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!rn(t)&&(e=!1);})),e}function nn(t,e){if(t instanceof Xr&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!nn(t,e)&&(r=!1);})),r}function sn(t){return {result:\"success\",value:t}}function an(t){return {result:\"error\",value:t}}function on(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function ln(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function un(t){return !!t.expression&&t.expression.interpolated}function cn(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function hn(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function pn(t){return t}function fn(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),s=t.type||(un(e)?\"exponential\":\"interval\");if(r||\"padding\"===e.type){const n=r?Gt.parse:Yt.parse;(t=st({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],n(t[1])]))),t.default=n(t.default?t.default:e.default);}if(t.colorSpace&&\"rgb\"!==(a=t.colorSpace)&&\"hcl\"!==a&&\"lab\"!==a)throw new Error(`Unknown color space: \"${t.colorSpace}\"`);var a;let o,l,u;if(\"exponential\"===s)o=gn;else if(\"interval\"===s)o=mn;else if(\"categorical\"===s){o=yn,l=Object.create(null);for(const e of t.stops)l[e[0]]=e[1];u=typeof t.stops[0][0];}else {if(\"identity\"!==s)throw new Error(`Unknown function type \"${s}\"`);o=xn;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>gn({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r=\"exponential\"===s?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return {kind:\"camera\",interpolationType:r,interpolationFactor:Ce.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>o(t,e,r,l,u)}}return {kind:\"source\",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?dn(t.default,e.default):o(t,e,i,l,u)}}}function dn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function yn(t,e,r,n,i){return dn(typeof r===i?n[r]:void 0,t.default,e.default)}function mn(t,e,r){if(\"number\"!==cn(r))return dn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=_e(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function gn(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==cn(r))return dn(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const s=_e(t.stops.map((t=>t[0])),r),a=function(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[s][0],t.stops[s+1][0]),o=t.stops[s][1],l=t.stops[s+1][1],u=Be[e.type]||pn;return \"function\"==typeof o.evaluate?{evaluate(...e){const r=o.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return u(r,n,a,t.colorSpace)}}:u(o,l,a,t.colorSpace)}function xn(t,e,r){switch(e.type){case\"color\":r=Gt.parse(r);break;case\"formatted\":r=Ht.fromString(r.toString());break;case\"resolvedImage\":r=te.fromString(r.toString());break;case\"padding\":r=Yt.parse(r);break;default:cn(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0);}return dn(r,t.default,e.default)}Xr.register(Jr,{error:[{kind:\"error\"},[ct],(t,[e])=>{throw new ae(e.evaluate(t))}],typeof:[ct,[dt],(t,[e])=>wt(ne(e.evaluate(t)))],\"to-rgba\":[bt(ut,4),[pt],(t,[e])=>{const[r,n,i,s]=e.evaluate(t).rgb;return [255*r,255*n,255*i,s]}],rgb:[pt,[ut,ut,ut],Hr],rgba:[pt,[ut,ut,ut,ut],Hr],has:{type:ht,overloads:[[[ct],(t,[e])=>Yr(e.evaluate(t),t.properties())],[[ct,ft],(t,[e,r])=>Yr(e.evaluate(t),r.evaluate(t))]]},get:{type:dt,overloads:[[[ct],(t,[e])=>Wr(e.evaluate(t),t.properties())],[[ct,ft],(t,[e,r])=>Wr(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[dt,[ct],(t,[e])=>Wr(e.evaluate(t),t.featureState||{})],properties:[ft,[],t=>t.properties()],\"geometry-type\":[ct,[],t=>t.geometryType()],id:[dt,[],t=>t.id()],zoom:[ut,[],t=>t.globals.zoom],\"heatmap-density\":[ut,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[ut,[],t=>t.globals.lineProgress||0],accumulated:[dt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[ut,Qr(ut),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[ut,Qr(ut),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:ut,overloads:[[[ut,ut],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ut],(t,[e])=>-e.evaluate(t)]]},\"/\":[ut,[ut,ut],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[ut,[ut,ut],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ut,[],()=>Math.LN2],pi:[ut,[],()=>Math.PI],e:[ut,[],()=>Math.E],\"^\":[ut,[ut,ut],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ut,[ut],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))],log2:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ut,[ut],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ut,[ut],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ut,[ut],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ut,[ut],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ut,[ut],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ut,[ut],(t,[e])=>Math.atan(e.evaluate(t))],min:[ut,Qr(ut),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ut,Qr(ut),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ut,[ut],(t,[e])=>Math.abs(e.evaluate(t))],round:[ut,[ut],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ut,[ut],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ut,[ut],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[ht,[ct,dt],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[ht,[dt],(t,[e])=>t.id()===e.value],\"filter-type-==\":[ht,[ct],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[ht,[dt],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[ht,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[ht,[bt(ct)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[ht,[bt(dt)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[ht,[ct,bt(dt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[ht,[ct,bt(dt)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[Qr(ht),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[Qr(ht),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},\"!\":[ht,[ht],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[ht,[ct],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[ct,[ct],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ct,[ct],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ct,Qr(dt),(t,e)=>e.map((e=>ie(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[ct,[yt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class vn{constructor(t,e){var r;this.expression=t,this._warningHistory={},this._evaluator=new pe,this._defaultValue=e?\"color\"===(r=e).type&&hn(r.default)?new Gt(0,0,0,0):\"color\"===r.type?Gt.parse(r.default)||null:\"padding\"===r.type?Yt.parse(r.default)||null:\"variableAnchorOffsetCollection\"===r.type?Qt.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=e&&\"enum\"===e.type?e.values:null;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||\"number\"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new ae(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(\", \")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function bn(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Jr}function wn(t,e){const r=new fe(Jr,tn,[],e?function(t){const e={color:pt,string:ct,number:ut,enum:ct,boolean:ht,formatted:mt,padding:gt,resolvedImage:xt,variableAnchorOffsetCollection:vt};return \"array\"===t.type?bt(e[t.value]||dt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?sn(new vn(n,e)):an(r.errors)}class _n{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!rn(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}}class An{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!rn(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}interpolationFactor(t,e,r){return this.interpolationType?Ce.interpolationFactor(this.interpolationType,t,e,r):0}}function Sn(t,e){const r=wn(t,e);if(\"error\"===r.result)return r;const n=r.value.expression,i=en(n);if(!i&&!on(e))return an([new at(\"\",\"data expressions not supported\")]);const s=nn(n,[\"zoom\"]);if(!s&&!ln(e))return an([new at(\"\",\"zoom expressions not supported\")]);const a=Mn(n);return a||s?a instanceof at?an([a]):a instanceof Ce&&!un(e)?an([new at(\"\",'\"interpolate\" expressions cannot be used with this property')]):sn(a?new An(i?\"camera\":\"composite\",r.value,a.labels,a instanceof Ce?a.interpolation:void 0):new _n(i?\"constant\":\"source\",r.value)):an([new at(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class kn{constructor(t,e){this._parameters=t,this._specification=e,st(this,fn(this._parameters,this._specification));}static deserialize(t){return new kn(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function Mn(t){let e=null;if(t instanceof de)e=Mn(t.result);else if(t instanceof Ee){for(const r of t.args)if(e=Mn(r),e)break}else (t instanceof Ae||t instanceof Ce)&&t.input instanceof Xr&&\"zoom\"===t.input.name&&(e=t);return e instanceof at||t.eachChild((t=>{const r=Mn(t);r instanceof at?e=r:!e&&r?e=new at(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new at(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),e}function In(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return !1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(const e of t.slice(1))if(!In(e)&&\"boolean\"!=typeof e)return !1;return !0;default:return !0}}const zn={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function Pn(t){if(null==t)return {filter:()=>!0,needGeometry:!1};In(t)||(t=Vn(t));const e=wn(t,zn);if(\"error\"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return {filter:(t,r,n)=>e.value.evaluate(t,r,{},n),needGeometry:Cn(t)}}function Bn(t,e){return te?1:0}function Cn(t){if(!Array.isArray(t))return !1;if(\"within\"===t[0]||\"distance\"===t[0])return !0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?En(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(Vn))):\"all\"===e?[\"all\"].concat(t.slice(1).map(Vn)):\"none\"===e?[\"all\"].concat(t.slice(1).map(Vn).map($n)):\"in\"===e?Fn(t[1],t.slice(2)):\"!in\"===e?$n(Fn(t[1],t.slice(2))):\"has\"===e?Tn(t[1]):\"!has\"!==e||$n(Tn(t[1]));var r;}function En(t,e,r){switch(t){case\"$type\":return [`filter-type-${r}`,e];case\"$id\":return [`filter-id-${r}`,e];default:return [`filter-${r}`,t,e]}}function Fn(t,e){if(0===e.length)return !1;switch(t){case\"$type\":return [\"filter-type-in\",[\"literal\",e]];case\"$id\":return [\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?[\"filter-in-large\",t,[\"literal\",e.sort(Bn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function Tn(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function $n(t){return [\"!\",t]}function Ln(t){const e=typeof t;if(\"number\"===e||\"boolean\"===e||\"string\"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e=\"[\";for(const r of t)e+=`${Ln(r)},`;return `${e}]`}const r=Object.keys(t).sort();let n=\"{\";for(let e=0;en.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Zn(t){const e=t.valueSpec,r=Rn(t.value.type);let n,i,s,a={};const o=\"categorical\"!==r&&void 0===t.value.property,l=!o,u=\"array\"===cn(t.value.stops)&&\"array\"===cn(t.value.stops[0])&&\"object\"===cn(t.value.stops[0][0]),c=jn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===r)return [new it(t.key,t.value,'identity function may not have a \"stops\" property')];let e=[];const n=t.value;return e=e.concat(qn({key:t.key,value:n,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===cn(n)&&0===n.length&&e.push(new it(t.key,n,\"array must have at least one stop\")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===r&&o&&c.push(new it(t.key,t.value,'missing required property \"property\"')),\"identity\"===r||t.value.stops||c.push(new it(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===r&&t.valueSpec.expression&&!un(t.valueSpec)&&c.push(new it(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!on(t.valueSpec)?c.push(new it(t.key,t.value,\"property functions not supported\")):o&&!ln(t.valueSpec)&&c.push(new it(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==r&&!u||void 0!==t.value.property||c.push(new it(t.key,t.value,'\"property\" property is required')),c;function h(t){let r=[];const n=t.value,o=t.key;if(\"array\"!==cn(n))return [new it(o,n,`array expected, ${cn(n)} found`)];if(2!==n.length)return [new it(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if(\"object\"!==cn(n[0]))return [new it(o,n,`object expected, ${cn(n[0])} found`)];if(void 0===n[0].zoom)return [new it(o,n,\"object stop key must have zoom\")];if(void 0===n[0].value)return [new it(o,n,\"object stop key must have value\")];if(s&&s>Rn(n[0].zoom))return [new it(o,n[0].zoom,\"stop zoom values must appear in ascending order\")];Rn(n[0].zoom)!==s&&(s=Rn(n[0].zoom),i=void 0,a={}),r=r.concat(jn({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:Nn,value:p}}));}else r=r.concat(p({key:`${o}[0]`,value:n[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},n));return bn(Un(n[1]))?r.concat([new it(`${o}[1]`,n[1],\"expressions are not allowed in function stops.\")]):r.concat(t.validateSpec({key:`${o}[1]`,value:n[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const o=cn(t.value),l=Rn(t.value),u=null!==t.value?t.value:s;if(n){if(o!==n)return [new it(t.key,u,`${o} stop domain type must match previous stop domain type ${n}`)]}else n=o;if(\"number\"!==o&&\"string\"!==o&&\"boolean\"!==o)return [new it(t.key,u,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==o&&\"categorical\"!==r){let n=`number expected, ${o} found`;return on(e)&&void 0===r&&(n+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new it(t.key,u,n)]}return \"categorical\"!==r||\"number\"!==o||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==r&&\"number\"===o&&void 0!==i&&lnew it(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return [new it(t.key,t.value,`Invalid data expression for \"${t.propertyKey}\". Output values must be contained as literals within the expression.`)];if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!rn(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!rn(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!nn(r,[\"zoom\",\"feature-state\"]))return [new it(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!en(r))return [new it(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function Gn(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(Rn(r))&&i.push(new it(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(Rn(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function Jn(t){return In(Un(t.value))?Kn(st({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Xn(t)}function Xn(t){const e=t.value,r=t.key;if(\"array\"!==cn(e))return [new it(r,e,`array expected, ${cn(e)} found`)];const n=t.styleSpec;let i,s=[];if(e.length<1)return [new it(r,e,\"filter array must have at least 1 element\")];switch(s=s.concat(Gn({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),Rn(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===Rn(e[1])&&s.push(new it(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&s.push(new it(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=cn(e[1]),\"string\"!==i&&s.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let a=2;a{t in r&&e.push(new it(n,r[t],`\"${t}\" is prohibited for ref layers`));})),i.layers.forEach((e=>{Rn(e.id)===o&&(t=e);})),t?t.ref?e.push(new it(n,r.ref,\"ref cannot reference another ref layer\")):a=Rn(t.type):e.push(new it(n,r.ref,`ref layer \"${o}\" not found`));}else if(\"background\"!==a)if(r.source){const t=i.sources&&i.sources[r.source],s=t&&Rn(t.type);t?\"vector\"===s&&\"raster\"===a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster-dem\"!==s&&\"hillshade\"===a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster-dem source`)):\"raster\"===s&&\"raster\"!==a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==s||r[\"source-layer\"]?\"raster-dem\"===s&&\"hillshade\"!==a?e.push(new it(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==a||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===s&&t.lineMetrics||e.push(new it(n,r,`layer \"${r.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):e.push(new it(n,r,`layer \"${r.id}\" must specify a \"source-layer\"`)):e.push(new it(n,r.source,`source \"${r.source}\" not found`));}else e.push(new it(n,r,'missing required property \"source\"'));return e=e.concat(jn({key:n,value:r,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>t.validateSpec({key:`${n}.type`,value:r.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:r,objectKey:\"type\"}),filter:Jn,layout:t=>jn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>Wn(st({layerType:a},t))}}),paint:t=>jn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>Yn(st({layerType:a},t))}})}})),e}function ti(t){const e=t.value,r=t.key,n=cn(e);return \"string\"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const ei={promoteId:function({key:t,value:e}){if(\"string\"===cn(e))return ti({key:t,value:e});{const r=[];for(const n in e)r.push(...ti({key:`${t}.${n}`,value:e[n]}));return r}}};function ri(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style,s=t.validateSpec;if(!e.type)return [new it(r,e,'\"type\" is required')];const a=Rn(e.type);let o;switch(a){case\"vector\":case\"raster\":return o=jn({key:r,value:e,valueSpec:n[`source_${a.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:ei,validateSpec:s}),o;case\"raster-dem\":return o=function(t){var e;const r=null!==(e=t.sourceName)&&void 0!==e?e:\"\",n=t.value,i=t.styleSpec,s=i.source_raster_dem,a=t.style;let o=[];const l=cn(n);if(void 0===n)return o;if(\"object\"!==l)return o.push(new it(\"source_raster_dem\",n,`object expected, ${l} found`)),o;const u=\"custom\"===Rn(n.encoding),c=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],h=t.value.encoding?`\"${t.value.encoding}\"`:\"Default\";for(const e in n)!u&&c.includes(e)?o.push(new it(e,n[e],`In \"${r}\": \"${e}\" is only valid when \"encoding\" is set to \"custom\". ${h} encoding found`)):s[e]?o=o.concat(t.validateSpec({key:e,value:n[e],valueSpec:s[e],validateSpec:t.validateSpec,style:a,styleSpec:i})):o.push(new it(e,n[e],`unknown property \"${e}\"`));return o}({sourceName:r,value:e,style:t.style,styleSpec:n,validateSpec:s}),o;case\"geojson\":if(o=jn({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:s,objectElementValidators:ei}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],a=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;o.push(...Kn({key:`${r}.${t}.map`,value:i,validateSpec:s,expressionContext:\"cluster-map\"})),o.push(...Kn({key:`${r}.${t}.reduce`,value:a,validateSpec:s,expressionContext:\"cluster-reduce\"}));}return o;case\"video\":return jn({key:r,value:e,valueSpec:n.source_video,style:i,validateSpec:s,styleSpec:n});case\"image\":return jn({key:r,value:e,valueSpec:n.source_image,style:i,validateSpec:s,styleSpec:n});case\"canvas\":return [new it(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Gn({key:`${r}.type`,value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,validateSpec:s,styleSpec:n})}}function ni(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let s=[];const a=cn(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new it(\"light\",e,`object expected, ${a} found`)]),s;for(const a in e){const o=a.match(/^(.*)-transition$/);s=s.concat(o&&n[o[1]]&&n[o[1]].transition?t.validateSpec({key:a,value:e[a],valueSpec:r.transition,validateSpec:t.validateSpec,style:i,styleSpec:r}):n[a]?t.validateSpec({key:a,value:e[a],valueSpec:n[a],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new it(a,e[a],`unknown property \"${a}\"`)]);}return s}function ii(t){const e=t.value,r=t.styleSpec,n=r.sky,i=t.style,s=cn(e);if(void 0===e)return [];if(\"object\"!==s)return [new it(\"sky\",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new it(s,e[s],`unknown property \"${s}\"`)]);return a}function si(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let s=[];const a=cn(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new it(\"terrain\",e,`object expected, ${a} found`)]),s;for(const a in e)s=s.concat(n[a]?t.validateSpec({key:a,value:e[a],valueSpec:n[a],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new it(a,e[a],`unknown property \"${a}\"`)]);return s}function ai(t){let e=[];const r=t.value,n=t.key;if(Array.isArray(r)){const i=[],s=[];for(const a in r)r[a].id&&i.includes(r[a].id)&&e.push(new it(n,r,`all the sprites' ids must be unique, but ${r[a].id} is duplicated`)),i.push(r[a].id),r[a].url&&s.includes(r[a].url)&&e.push(new it(n,r,`all the sprites' URLs must be unique, but ${r[a].url} is duplicated`)),s.push(r[a].url),e=e.concat(jn({key:`${n}[${a}]`,value:r[a],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:t.validateSpec}));return e}return ti({key:n,value:r})}const oi={\"*\":()=>[],array:qn,boolean:function(t){const e=t.value,r=t.key,n=cn(e);return \"boolean\"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:Nn,color:function(t){const e=t.key,r=t.value,n=cn(r);return \"string\"!==n?[new it(e,r,`color expected, ${n} found`)]:Gt.parse(String(r))?[]:[new it(e,r,`color expected, \"${r}\" found`)]},constants:On,enum:Gn,filter:Jn,function:Zn,layer:Qn,object:jn,source:ri,light:ni,sky:ii,terrain:si,string:ti,formatted:function(t){return 0===ti(t).length?[]:Kn(t)},resolvedImage:function(t){return 0===ti(t).length?[]:Kn(t)},padding:function(t){const e=t.key,r=t.value;if(\"array\"===cn(r)){if(r.length<1||r.length>4)return [new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:\"number\"};let i=[];for(let s=0;s[]}})),t.constants&&(r=r.concat(On({key:\"constants\",value:t.constants,style:t,styleSpec:e,validateSpec:li}))),pi(r)}function hi(t){return function(e){return t({...e,validateSpec:li})}}function pi(t){return [].concat(t).sort(((t,e)=>t.line-e.line))}function fi(t){return function(...e){return pi(t.apply(this,e))}}ci.source=fi(hi(ri)),ci.sprite=fi(hi(ai)),ci.glyphs=fi(hi(ui)),ci.light=fi(hi(ni)),ci.sky=fi(hi(ii)),ci.terrain=fi(hi(si)),ci.layer=fi(hi(Qn)),ci.filter=fi(hi(Jn)),ci.paintProperty=fi(hi(Yn)),ci.layoutProperty=fi(hi(Wn));const di=ci,yi=di.light,mi=di.paintProperty,gi=di.layoutProperty;function xi(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new N(new Error(n.message))),r=!0;return r}class vi{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(let t=0;t=u[l+0]&&n>=u[l+1])?(a[h]=!0,s.push(i[h])):a[h]=!1;}}}}_forEachCell(t,e,r,n,i,s,a,o){const l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let p=l;p<=c;p++)for(let l=u;l<=h;l++){const u=this.d*l+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,u,s,a,o))return}}_convertFromCellCoord(t){return (t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const s=t[r];i[r]=bi[n].shallow.indexOf(r)>=0?s:Ai(s,e);}t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==n&&(i.$name=n),i}throw new Error(\"can't serialize object of type \"+typeof t)}function Si(t){if(null==t||\"boolean\"==typeof t||\"number\"==typeof t||\"string\"==typeof t||t instanceof Boolean||t instanceof Number||t instanceof String||t instanceof Date||t instanceof RegExp||t instanceof Blob||t instanceof Error||_i(t)||I(t)||ArrayBuffer.isView(t)||t instanceof ImageData)return t;if(Array.isArray(t))return t.map(Si);if(\"object\"==typeof t){const e=t.$name||\"Object\";if(!bi[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=bi[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const r of Object.keys(t)){if(\"$name\"===r)continue;const i=t[r];n[r]=bi[e].shallow.indexOf(r)>=0?i:Si(i);}return n}throw new Error(\"can't deserialize object of type \"+typeof t)}class ki{constructor(){this.first=!0;}update(t,e){const r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,Arabic:t=>t>=1536&&t<=1791,\"Arabic Supplement\":t=>t>=1872&&t<=1919,\"Arabic Extended-A\":t=>t>=2208&&t<=2303,\"Hangul Jamo\":t=>t>=4352&&t<=4607,\"Unified Canadian Aboriginal Syllabics\":t=>t>=5120&&t<=5759,Khmer:t=>t>=6016&&t<=6143,\"Unified Canadian Aboriginal Syllabics Extended\":t=>t>=6320&&t<=6399,\"General Punctuation\":t=>t>=8192&&t<=8303,\"Letterlike Symbols\":t=>t>=8448&&t<=8527,\"Number Forms\":t=>t>=8528&&t<=8591,\"Miscellaneous Technical\":t=>t>=8960&&t<=9215,\"Control Pictures\":t=>t>=9216&&t<=9279,\"Optical Character Recognition\":t=>t>=9280&&t<=9311,\"Enclosed Alphanumerics\":t=>t>=9312&&t<=9471,\"Geometric Shapes\":t=>t>=9632&&t<=9727,\"Miscellaneous Symbols\":t=>t>=9728&&t<=9983,\"Miscellaneous Symbols and Arrows\":t=>t>=11008&&t<=11263,\"CJK Radicals Supplement\":t=>t>=11904&&t<=12031,\"Kangxi Radicals\":t=>t>=12032&&t<=12255,\"Ideographic Description Characters\":t=>t>=12272&&t<=12287,\"CJK Symbols and Punctuation\":t=>t>=12288&&t<=12351,Hiragana:t=>t>=12352&&t<=12447,Katakana:t=>t>=12448&&t<=12543,Bopomofo:t=>t>=12544&&t<=12591,\"Hangul Compatibility Jamo\":t=>t>=12592&&t<=12687,Kanbun:t=>t>=12688&&t<=12703,\"Bopomofo Extended\":t=>t>=12704&&t<=12735,\"CJK Strokes\":t=>t>=12736&&t<=12783,\"Katakana Phonetic Extensions\":t=>t>=12784&&t<=12799,\"Enclosed CJK Letters and Months\":t=>t>=12800&&t<=13055,\"CJK Compatibility\":t=>t>=13056&&t<=13311,\"CJK Unified Ideographs Extension A\":t=>t>=13312&&t<=19903,\"Yijing Hexagram Symbols\":t=>t>=19904&&t<=19967,\"CJK Unified Ideographs\":t=>t>=19968&&t<=40959,\"Yi Syllables\":t=>t>=40960&&t<=42127,\"Yi Radicals\":t=>t>=42128&&t<=42191,\"Hangul Jamo Extended-A\":t=>t>=43360&&t<=43391,\"Hangul Syllables\":t=>t>=44032&&t<=55215,\"Hangul Jamo Extended-B\":t=>t>=55216&&t<=55295,\"Private Use Area\":t=>t>=57344&&t<=63743,\"CJK Compatibility Ideographs\":t=>t>=63744&&t<=64255,\"Arabic Presentation Forms-A\":t=>t>=64336&&t<=65023,\"Vertical Forms\":t=>t>=65040&&t<=65055,\"CJK Compatibility Forms\":t=>t>=65072&&t<=65103,\"Small Form Variants\":t=>t>=65104&&t<=65135,\"Arabic Presentation Forms-B\":t=>t>=65136&&t<=65279,\"Halfwidth and Fullwidth Forms\":t=>t>=65280&&t<=65519};function Ii(t){for(const e of t)if(Bi(e.charCodeAt(0)))return !0;return !1}function zi(t){for(const e of t)if(!Pi(e.charCodeAt(0)))return !1;return !0}function Pi(t){return !(Mi.Arabic(t)||Mi[\"Arabic Supplement\"](t)||Mi[\"Arabic Extended-A\"](t)||Mi[\"Arabic Presentation Forms-A\"](t)||Mi[\"Arabic Presentation Forms-B\"](t))}function Bi(t){return !(746!==t&&747!==t&&(t<4352||!(Mi[\"Bopomofo Extended\"](t)||Mi.Bopomofo(t)||Mi[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||Mi[\"CJK Compatibility Ideographs\"](t)||Mi[\"CJK Compatibility\"](t)||Mi[\"CJK Radicals Supplement\"](t)||Mi[\"CJK Strokes\"](t)||!(!Mi[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||Mi[\"CJK Unified Ideographs Extension A\"](t)||Mi[\"CJK Unified Ideographs\"](t)||Mi[\"Enclosed CJK Letters and Months\"](t)||Mi[\"Hangul Compatibility Jamo\"](t)||Mi[\"Hangul Jamo Extended-A\"](t)||Mi[\"Hangul Jamo Extended-B\"](t)||Mi[\"Hangul Jamo\"](t)||Mi[\"Hangul Syllables\"](t)||Mi.Hiragana(t)||Mi[\"Ideographic Description Characters\"](t)||Mi.Kanbun(t)||Mi[\"Kangxi Radicals\"](t)||Mi[\"Katakana Phonetic Extensions\"](t)||Mi.Katakana(t)&&12540!==t||!(!Mi[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!Mi[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||Mi[\"Unified Canadian Aboriginal Syllabics\"](t)||Mi[\"Unified Canadian Aboriginal Syllabics Extended\"](t)||Mi[\"Vertical Forms\"](t)||Mi[\"Yijing Hexagram Symbols\"](t)||Mi[\"Yi Syllables\"](t)||Mi[\"Yi Radicals\"](t))))}function Ci(t){return !(Bi(t)||function(t){return !!(Mi[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||Mi[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||Mi[\"Letterlike Symbols\"](t)||Mi[\"Number Forms\"](t)||Mi[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||Mi[\"Control Pictures\"](t)&&9251!==t||Mi[\"Optical Character Recognition\"](t)||Mi[\"Enclosed Alphanumerics\"](t)||Mi[\"Geometric Shapes\"](t)||Mi[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||Mi[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Mi[\"CJK Symbols and Punctuation\"](t)||Mi.Katakana(t)||Mi[\"Private Use Area\"](t)||Mi[\"CJK Compatibility Forms\"](t)||Mi[\"Small Form Variants\"](t)||Mi[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}function Vi(t){return t>=1424&&t<=2303||Mi[\"Arabic Presentation Forms-A\"](t)||Mi[\"Arabic Presentation Forms-B\"](t)}function Ei(t,e){return !(!e&&Vi(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||Mi.Khmer(t))}function Fi(t){for(const e of t)if(Vi(e.charCodeAt(0)))return !0;return !1}const Ti=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null;}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL;}getState(){return {pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText;}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class $i{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new ki,this.transition={});}isSupportedScript(t){return function(t,e){for(const r of t)if(!Ei(r.charCodeAt(0),e))return !1;return !0}(t,\"loaded\"===Ti.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}}}class Li{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(hn(t))return new kn(t,e);if(bn(t)){const r=Sn(t,e);if(\"error\"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return r.value}{let r=t;return \"color\"===e.type&&\"string\"==typeof t?r=Gt.parse(t):\"padding\"!==e.type||\"number\"!=typeof t&&!Array.isArray(t)?\"variableAnchorOffsetCollection\"===e.type&&Array.isArray(t)&&(r=Qt.parse(t)):r=Yt.parse(t),{kind:\"constant\",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification);}isDataDriven(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class Di{constructor(t){this.property=t,this.value=new Li(t,void 0);}transitioned(t,e){return new Ri(this.property,this.value,e,g({},t.transition,this.transition),t.now)}untransitioned(){return new Ri(this.property,this.value,null,{},0)}}class Oi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return w(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Di(this._values[t].property)),this._values[t].value=new Li(this._values[t].property,null===e?void 0:w(e));}getTransition(t){return w(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Di(this._values[t].property)),this._values[t].transition=w(e)||void 0;}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n);}return t}transitioned(t,e){const r=new Ui(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new Ui(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class Ri{constructor(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),s=this.prior;if(s){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(a))}}return i}}class Ui{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);}possiblyEvaluate(t,e,r){const n=new Ni(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return !0;return !1}}class ji{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);}hasValue(t){return void 0!==this._values[t].value}getValue(t){return w(this._values[t].value)}setValue(t,e){this._values[t]=new Li(this._values[t].property,null===e?void 0:w(e));}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);}return t}possiblyEvaluate(t,e,r){const n=new Ni(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class qi{constructor(t,e,r){this.property=t,this.value=e,this.parameters=r;}isConstant(){return \"constant\"===this.value.kind}constantOr(t){return \"constant\"===this.value.kind?this.value.value:t}evaluate(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)}}class Ni{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);}get(t){return this._values[t]}}class Zi{constructor(t){this.specification=t;}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error(\"Value should not be data driven\");return t.expression.evaluate(e)}interpolate(t,e,r){const n=Be[this.specification.type];return n?n(t,e,r):t}}class Ki{constructor(t,e){this.specification=t,this.overrides=e;}possiblyEvaluate(t,e,r,n){return new qi(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)}interpolate(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new qi(this,{kind:\"constant\",value:void 0},t.parameters);const n=Be[this.specification.type];if(n){const i=n(t.value.value,e.value.value,r);return new qi(this,{kind:\"constant\",value:i},t.parameters)}return t}evaluate(t,e,r,n,i,s){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,s)}}class Gi extends Ki{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new qi(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),s=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,a=this._calculate(s,s,s,e);return new qi(this,{kind:\"constant\",value:a},e)}if(\"camera\"===t.expression.kind){const r=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new qi(this,{kind:\"constant\",value:r},e)}return new qi(this,t.expression,e)}evaluate(t,e,r,n,i,s){if(\"source\"===t.kind){const a=t.evaluate(e,r,n,i,s);return this._calculate(a,a,a,e)}return \"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class Ji{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new $i(Math.floor(e.zoom-1),e)),t.expression.evaluate(new $i(Math.floor(e.zoom),e)),t.expression.evaluate(new $i(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class Xi{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)}interpolate(){return !1}}class Hi{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const r=t[e];r.specification.overridable&&this.overridableProperties.push(e);const n=this.defaultPropertyValues[e]=new Li(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Di(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}}}wi(\"DataDrivenProperty\",Ki),wi(\"DataConstantProperty\",Zi),wi(\"CrossFadedDataDrivenProperty\",Gi),wi(\"CrossFadedProperty\",Ji),wi(\"ColorRampProperty\",Xi);const Yi=\"-transition\";class Wi extends Z{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},\"custom\"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,\"background\"!==t.type&&(this.source=t.source,this.sourceLayer=t[\"source-layer\"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new ji(e.layout)),e.paint)){this._transitionablePaint=new Oi(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Ni(e.paint);}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){null!=e&&this._validate(gi,`layers.${this.id}.layout.${t}`,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return t.endsWith(Yi)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate(mi,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(t.endsWith(Yi))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=\"cross-faded-data-driven\"===r.property.specification[\"property-type\"],i=r.value.isDataDriven(),s=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const a=this._transitionablePaint._values[t].value;return a.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,s,a)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return !1}isHidden(t){return !!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);}serialize(){const t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,((t,e)=>!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return (!i||!1!==i.validate)&&xi(this,t.call(di,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:K,style:{glyphs:!0,sprite:!0}}))}is3D(){return !1}isTileClipped(){return !1}hasOffscreenPass(){return !1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof qi&&on(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}}const Qi={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class ts{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8;}}class es{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0);}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());}clear(){this.length=0;}resize(t){this.reserve(t),this.length=t;}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function rs(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=Qi[t.type].BYTES_PER_ELEMENT,s=r=ns(r,Math.max(e,i)),a=t.components||1;return n=Math.max(n,i),r+=i*a,{name:t.name,type:t.type,components:a,offset:s}})),size:ns(r,Math.max(n,e)),alignment:e}}function ns(t,e){return Math.ceil(t/e)*e}class is extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}is.prototype.bytesPerElement=4,wi(\"StructArrayLayout2i4\",is);class ss extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}ss.prototype.bytesPerElement=6,wi(\"StructArrayLayout3i6\",ss);class as extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,t}}as.prototype.bytesPerElement=8,wi(\"StructArrayLayout4i8\",as);class os extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=s,this.int16[o+5]=a,t}}os.prototype.bytesPerElement=12,wi(\"StructArrayLayout2i4i12\",os);class ls extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=4*t,l=8*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=s,this.uint8[l+7]=a,t}}ls.prototype.bytesPerElement=8,wi(\"StructArrayLayout2i4ub8\",ls);class us extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}us.prototype.bytesPerElement=8,wi(\"StructArrayLayout2f8\",us);class cs extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,s,a,o,l,u)}emplace(t,e,r,n,i,s,a,o,l,u,c){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=s,this.uint16[h+5]=a,this.uint16[h+6]=o,this.uint16[h+7]=l,this.uint16[h+8]=u,this.uint16[h+9]=c,t}}cs.prototype.bytesPerElement=20,wi(\"StructArrayLayout10ui20\",cs);class hs extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,s,a,o,l,u,c,h)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p){const f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=s,this.uint16[f+5]=a,this.uint16[f+6]=o,this.uint16[f+7]=l,this.int16[f+8]=u,this.int16[f+9]=c,this.int16[f+10]=h,this.int16[f+11]=p,t}}hs.prototype.bytesPerElement=24,wi(\"StructArrayLayout4i4ui4i24\",hs);class ps extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}ps.prototype.bytesPerElement=12,wi(\"StructArrayLayout3f12\",ps);class fs extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}fs.prototype.bytesPerElement=4,wi(\"StructArrayLayout1ul4\",fs);class ds extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,s,a,o,l)}emplace(t,e,r,n,i,s,a,o,l,u){const c=10*t,h=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=s,this.int16[c+5]=a,this.uint32[h+3]=o,this.uint16[c+8]=l,this.uint16[c+9]=u,t}}ds.prototype.bytesPerElement=20,wi(\"StructArrayLayout6i1ul2ui20\",ds);class ys extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=s,this.int16[o+5]=a,t}}ys.prototype.bytesPerElement=12,wi(\"StructArrayLayout2i2i2i12\",ys);class ms extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=4*t,o=8*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.int16[o+6]=i,this.int16[o+7]=s,t}}ms.prototype.bytesPerElement=16,wi(\"StructArrayLayout2f1f2i16\",ms);class gs extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=16*t,l=4*t,u=8*t;return this.uint8[o+0]=e,this.uint8[o+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[u+6]=s,this.int16[u+7]=a,t}}gs.prototype.bytesPerElement=16,wi(\"StructArrayLayout2ub2f2i16\",gs);class xs extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}xs.prototype.bytesPerElement=6,wi(\"StructArrayLayout3ui6\",xs);class vs extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m){const g=this.length;return this.resize(g+1),this.emplace(g,t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g){const x=24*t,v=12*t,b=48*t;return this.int16[x+0]=e,this.int16[x+1]=r,this.uint16[x+2]=n,this.uint16[x+3]=i,this.uint32[v+2]=s,this.uint32[v+3]=a,this.uint32[v+4]=o,this.uint16[x+10]=l,this.uint16[x+11]=u,this.uint16[x+12]=c,this.float32[v+7]=h,this.float32[v+8]=p,this.uint8[b+36]=f,this.uint8[b+37]=d,this.uint8[b+38]=y,this.uint32[v+10]=m,this.int16[x+22]=g,t}}vs.prototype.bytesPerElement=48,wi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",vs);class bs extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I){const z=this.length;return this.resize(z+1),this.emplace(z,t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I,z){const P=32*t,B=16*t;return this.int16[P+0]=e,this.int16[P+1]=r,this.int16[P+2]=n,this.int16[P+3]=i,this.int16[P+4]=s,this.int16[P+5]=a,this.int16[P+6]=o,this.int16[P+7]=l,this.uint16[P+8]=u,this.uint16[P+9]=c,this.uint16[P+10]=h,this.uint16[P+11]=p,this.uint16[P+12]=f,this.uint16[P+13]=d,this.uint16[P+14]=y,this.uint16[P+15]=m,this.uint16[P+16]=g,this.uint16[P+17]=x,this.uint16[P+18]=v,this.uint16[P+19]=b,this.uint16[P+20]=w,this.uint16[P+21]=_,this.uint16[P+22]=A,this.uint32[B+12]=S,this.float32[B+13]=k,this.float32[B+14]=M,this.uint16[P+30]=I,this.uint16[P+31]=z,t}}bs.prototype.bytesPerElement=64,wi(\"StructArrayLayout8i15ui1ul2f2ui64\",bs);class ws extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}ws.prototype.bytesPerElement=4,wi(\"StructArrayLayout1f4\",ws);class _s extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[6*t+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}_s.prototype.bytesPerElement=12,wi(\"StructArrayLayout1ui2f12\",_s);class As extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t}}As.prototype.bytesPerElement=8,wi(\"StructArrayLayout1ul2ui8\",As);class Ss extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}Ss.prototype.bytesPerElement=4,wi(\"StructArrayLayout2ui4\",Ss);class ks extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}ks.prototype.bytesPerElement=2,wi(\"StructArrayLayout1ui2\",ks);class Ms extends es{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.float32[s+3]=i,t}}Ms.prototype.bytesPerElement=16,wi(\"StructArrayLayout4f16\",Ms);class Is extends ts{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new s(this.anchorPointX,this.anchorPointY)}}Is.prototype.size=20;class zs extends ds{get(t){return new Is(this,t)}}wi(\"CollisionBoxArray\",zs);class Ps extends ts{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t;}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t;}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t;}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Ps.prototype.size=48;class Bs extends vs{get(t){return new Ps(this,t)}}wi(\"PlacedSymbolArray\",Bs);class Cs extends ts{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t;}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Cs.prototype.size=64;class Vs extends bs{get(t){return new Cs(this,t)}}wi(\"SymbolInstanceArray\",Vs);class Es extends ws{getoffsetX(t){return this.float32[1*t+0]}}wi(\"GlyphOffsetArray\",Es);class Fs extends ss{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}wi(\"SymbolLineVertexArray\",Fs);class Ts extends ts{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Ts.prototype.size=12;class $s extends _s{get(t){return new Ts(this,t)}}wi(\"TextAnchorOffsetArray\",$s);class Ls extends ts{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}Ls.prototype.size=8;class Ds extends As{get(t){return new Ls(this,t)}}wi(\"FeatureIndexArray\",Ds);class Os extends is{}class Rs extends is{}class Us extends is{}class js extends os{}class qs extends ls{}class Ns extends us{}class Zs extends cs{}class Ks extends hs{}class Gs extends ps{}class Js extends fs{}class Xs extends ys{}class Hs extends gs{}class Ys extends xs{}class Ws extends Ss{}const Qs=rs([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:ta}=Qs;class ea{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>ea.MAX_VERTEX_ARRAY_LENGTH&&A(`Max vertices per segment is ${ea.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>ea.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy();}static simpleSegment(t,e,r,n){return new ea([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function ra(t,e){return 256*(t=y(Math.floor(t),0,255))+y(Math.floor(e),0,255)}ea.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,wi(\"SegmentVector\",ea);const na=rs([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var ia={exports:{}},sa={exports:{}};sa.exports=function(t,e){var r,n,i,s,a,o,l,u;for(n=t.length-(r=3&t.length),i=e,a=3432918353,o=461845907,u=0;u>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var aa=sa.exports,oa={exports:{}};oa.exports=function(t,e){for(var r,n=t.length,i=e^n,s=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:i^=(255&t.charCodeAt(s+2))<<16;case 2:i^=(255&t.charCodeAt(s+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(s)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var la=aa,ua=oa.exports;ia.exports=la,ia.exports.murmur3=la,ia.exports.murmur2=ua;var ca=r(ia.exports);class ha{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(pa(t)),this.positions.push(e,r,n);}getPositions(t){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");const e=pa(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1;}const i=[];for(;this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return fa(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new ha;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function pa(t){const e=+t;return !isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:ca(String(t))}function fa(t,e,r,n){for(;r>1];let s=r-1,a=n+1;for(;;){do{s++;}while(t[s]i);if(s>=a)break;da(t,s,a),da(e,3*s,3*a),da(e,3*s+1,3*a+1),da(e,3*s+2,3*a+2);}a-r`u_${t}`)),this.type=r;}setUniform(t,e,r){t.set(r.constantOr(this.value));}getBinding(t,e,r){return \"color\"===this.type?new xa(t,e):new ma(t,e)}}class _a{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;}setUniform(t,e,r,n){const i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&t.set(i);}getBinding(t,e,r){return \"u_pattern\"===r.substr(0,9)?new ga(t,e):new ma(t,e)}}class Aa{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?2:1,offset:0}))),this.paintVertexArray=new n;}populatePaintArray(t,e,r,n,i){const s=this.paintVertexArray.length,a=this.expression.evaluate(new $i(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(s,t,a);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);}_setPaintValue(t,e,r){if(\"color\"===this.type){const n=ba(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?4:2,offset:0}))),this.paintVertexArray=new s;}populatePaintArray(t,e,r,n,i){const s=this.expression.evaluate(new $i(this.zoom),e,{},n,[],i),a=this.expression.evaluate(new $i(this.zoom+1),e,{},n,[],i),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,s,a);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),s=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,s);}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=ba(r),s=ba(n);for(let r=t;r`#define HAS_UNIFORM_${t}`)));}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Aa||r instanceof Sa)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Ma(n,e,r);this.needsUpload=!1,this._featureMap=new ha,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,s){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,s);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload;}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy();}}function za(t,e){return {\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(`${e}-`,\"\").replace(/-/g,\"_\")]}function Pa(t,e,r){const n={color:{source:us,composite:Ms},number:{source:ws,composite:us}},i=function(t){return {\"line-pattern\":{source:Zs,composite:Zs},\"fill-pattern\":{source:Zs,composite:Zs},\"fill-extrusion-pattern\":{source:Zs,composite:Zs}}[t]}(t);return i&&i[r]||n[e][r]}wi(\"ConstantBinder\",wa),wi(\"CrossFadedConstantBinder\",_a),wi(\"SourceExpressionBinder\",Aa),wi(\"CrossFadedCompositeBinder\",ka),wi(\"CompositeExpressionBinder\",Sa),wi(\"ProgramConfiguration\",Ma,{omit:[\"_buffers\"]}),wi(\"ProgramConfigurationSet\",Ia);const Ba=8192,Ca=Math.pow(2,14)-1,Va=-Ca-1;function Ea(t){const e=Ba/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||sr.y+1)&&A(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}}return r}function Fa(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Ea(t):[]}}function Ta(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}class $a{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Rs,this.indexArray=new Ys,this.segments=new ea,this.programConfigurations=new Ia(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){const n=this.layers[0],i=[];let s=null,a=!1;\"circle\"===n.type&&(s=n.layout.get(\"circle-sort-key\"),a=!s.isConstant());for(const{feature:e,id:n,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Fa(e,t);if(!this.layers[0]._featureFilter.filter(new $i(this.zoom),u,r))continue;const c=a?s.evaluate(u,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Ea(e),patterns:{},sortKey:c};i.push(h);}a&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:s,sourceLayerIndex:a}=n,o=t[s].feature;this.addFeature(n,i,s,r),e.featureIndex.insert(o,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ta),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}addFeature(t,e,r,n){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=Ba||n<0||n>=Ba)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=i.vertexLength;Ta(this.layoutVertexArray,r,n,-1,-1),Ta(this.layoutVertexArray,r,n,1,-1),Ta(this.layoutVertexArray,r,n,1,1),Ta(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(s,s+1,s+2),this.indexArray.emplaceBack(s,s+3,s+2),i.vertexLength+=4,i.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);}}function La(t,e){for(let r=0;r1){if(Ua(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function Za(t,e){let r,n,i,s=!1;for(let a=0;ae.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(s=!s);}return s}function Ka(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=a.y>e.y&&e.x<(a.x-s.x)*(e.y-s.y)/(a.y-s.y)+s.x&&(r=!r);}return r}function Ga(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return !1;const s=S(t,e,r[0]);return s!==S(t,e,r[1])||s!==S(t,e,r[2])||s!==S(t,e,r[3])}function Ja(t,e,r){const n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function Xa(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function Ha(t,e,r,n,i){if(!e[0]&&!e[1])return t;const a=s.convert(e)._mult(i);\"viewport\"===r&&a._rotate(-n);const o=[];for(let e=0;elo(t,e)))}(l,o),p=c?u*a:u;for(const t of n)for(const e of t){const t=c?e:lo(e,o);let r=p;const n=ao([],[e.x,e.y,0,1],o);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?r*=n[3]/s.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(r*=s.cameraToCenterDistance/n[3]),Da(h,t,r))return !0}return !1}}function lo(t,e){const r=ao([],[t.x,t.y,0,1],e);return new s(r[0]/r[3],r[1]/r[3])}class uo extends $a{}let co;wi(\"HeatmapBucket\",uo,{omit:[\"layers\"]});var ho={get paint(){return co=co||new Hi({\"heatmap-radius\":new Ki(K.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Ki(K.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Zi(K.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new Xi(K.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Zi(K.paint_heatmap[\"heatmap-opacity\"])})}};function po(t,{width:e,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==e*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${e*r*n}`)}else i=new Uint8Array(e*r*n);return t.width=e,t.height=r,t.data=i,t}function fo(t,{width:e,height:r},n){if(e===t.width&&r===t.height)return;const i=po({},{width:e,height:r},n);yo(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,r)},n),t.width=e,t.height=r,t.data=i.data;}function yo(t,e,r,n,i,s){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");const a=t.data,o=e.data;if(a===o)throw new Error(\"srcData equals dstData, so image is already copied\");for(let l=0;l{e[t.evaluationKey]=s;const a=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*a.r/a.a),i.data[r+n+1]=Math.floor(255*a.g/a.a),i.data[r+n+2]=Math.floor(255*a.b/a.a),i.data[r+n+3]=Math.floor(255*a.a);};if(t.clips)for(let e=0,i=0;e80*r){n=s=t[0],i=a=t[1];for(var d=r;ds&&(s=o),l>a&&(a=l);u=0!==(u=Math.max(s-n,a-i))?32767/u:0;}return Po(p,f,r,n,i,u,0),f}function Io(t,e,r,n,i){var s,a;if(i===Yo(t,e,r,n)>0)for(s=e;s=e;s-=n)a=Jo(s,t[s],t[s+1],a);return a&&jo(a,a.next)&&(Xo(a),a=a.next),a}function zo(t,e){if(!t)return t;e||(e=t);var r,n=t;do{if(r=!1,n.steiner||!jo(n,n.next)&&0!==Uo(n.prev,n,n.next))n=n.next;else {if(Xo(n),(n=e=n.prev)===n.next)break;r=!0;}}while(r||n!==e);return e}function Po(t,e,r,n,i,s,a){if(t){!a&&s&&function(t,e,r,n){var i=t;do{0===i.z&&(i.z=Lo(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){var e,r,n,i,s,a,o,l,u=1;do{for(r=t,t=null,s=null,a=0;r;){for(a++,n=r,o=0,e=0;e0||l>0&&n;)0!==o&&(0===l||!n||r.z<=n.z)?(i=r,r=r.nextZ,o--):(i=n,n=n.nextZ,l--),s?s.nextZ=i:t=i,i.prevZ=s,s=i;r=n;}s.nextZ=null,u*=2;}while(a>1)}(i);}(t,n,i,s);for(var o,l,u=t;t.prev!==t.next;)if(o=t.prev,l=t.next,s?Co(t,n,i,s):Bo(t))e.push(o.i/r|0),e.push(t.i/r|0),e.push(l.i/r|0),Xo(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?Po(t=Vo(zo(t),e,r),e,r,n,i,s,2):2===a&&Eo(t,e,r,n,i,s):Po(zo(t),e,r,n,i,s,1);break}}}function Bo(t){var e=t.prev,r=t,n=t.next;if(Uo(e,r,n)>=0)return !1;for(var i=e.x,s=r.x,a=n.x,o=e.y,l=r.y,u=n.y,c=is?i>a?i:a:s>a?s:a,f=o>l?o>u?o:u:l>u?l:u,d=n.next;d!==e;){if(d.x>=c&&d.x<=p&&d.y>=h&&d.y<=f&&Oo(i,o,s,l,a,u,d.x,d.y)&&Uo(d.prev,d,d.next)>=0)return !1;d=d.next;}return !0}function Co(t,e,r,n){var i=t.prev,s=t,a=t.next;if(Uo(i,s,a)>=0)return !1;for(var o=i.x,l=s.x,u=a.x,c=i.y,h=s.y,p=a.y,f=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=Lo(f,d,e,r,n),x=Lo(y,m,e,r,n),v=t.prevZ,b=t.nextZ;v&&v.z>=g&&b&&b.z<=x;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==a&&Oo(o,c,l,h,u,p,v.x,v.y)&&Uo(v.prev,v,v.next)>=0)return !1;if(v=v.prevZ,b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==a&&Oo(o,c,l,h,u,p,b.x,b.y)&&Uo(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;v&&v.z>=g;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==a&&Oo(o,c,l,h,u,p,v.x,v.y)&&Uo(v.prev,v,v.next)>=0)return !1;v=v.prevZ;}for(;b&&b.z<=x;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==a&&Oo(o,c,l,h,u,p,b.x,b.y)&&Uo(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function Vo(t,e,r){var n=t;do{var i=n.prev,s=n.next.next;!jo(i,s)&&qo(i,n,n.next,s)&&Ko(i,s)&&Ko(s,i)&&(e.push(i.i/r|0),e.push(n.i/r|0),e.push(s.i/r|0),Xo(n),Xo(n.next),n=t=s),n=n.next;}while(n!==t);return zo(n)}function Eo(t,e,r,n,i,s){var a=t;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&Ro(a,o)){var l=Go(a,o);return a=zo(a,a.next),l=zo(l,l.next),Po(a,e,r,n,i,s,0),void Po(l,e,r,n,i,s,0)}o=o.next;}a=a.next;}while(a!==t)}function Fo(t,e){return t.x-e.x}function To(t,e){var r=function(t,e){var r,n=e,i=t.x,s=t.y,a=-1/0;do{if(s<=n.y&&s>=n.next.y&&n.next.y!==n.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=i&&o>a&&(a=o,r=n.x=n.x&&n.x>=c&&i!==n.x&&Oo(sr.x||n.x===r.x&&$o(r,n)))&&(r=n,p=l)),n=n.next;}while(n!==u);return r}(t,e);if(!r)return e;var n=Go(r,t);return zo(n,n.next),zo(r,r.next)}function $o(t,e){return Uo(t.prev,t,e.prev)<0&&Uo(e.next,t,t.next)<0}function Lo(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function Do(t){var e=t,r=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(n-o)>=(r-a)*(e-o)&&(r-a)*(s-o)>=(i-a)*(n-o)}function Ro(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&qo(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(Ko(t,e)&&Ko(e,t)&&function(t,e){var r=t,n=!1,i=(t.x+e.x)/2,s=(t.y+e.y)/2;do{r.y>s!=r.next.y>s&&r.next.y!==r.y&&i<(r.next.x-r.x)*(s-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(Uo(t.prev,t,e.prev)||Uo(t,e.prev,e))||jo(t,e)&&Uo(t.prev,t,t.next)>0&&Uo(e.prev,e,e.next)>0)}function Uo(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function jo(t,e){return t.x===e.x&&t.y===e.y}function qo(t,e,r,n){var i=Zo(Uo(t,e,r)),s=Zo(Uo(t,e,n)),a=Zo(Uo(r,n,t)),o=Zo(Uo(r,n,e));return i!==s&&a!==o||!(0!==i||!No(t,r,e))||!(0!==s||!No(t,n,e))||!(0!==a||!No(r,t,n))||!(0!==o||!No(r,e,n))}function No(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Zo(t){return t>0?1:t<0?-1:0}function Ko(t,e){return Uo(t.prev,t,t.next)<0?Uo(t,e,t.next)>=0&&Uo(t,t.prev,e)>=0:Uo(t,e,t.prev)<0||Uo(t,t.next,e)<0}function Go(t,e){var r=new Ho(t.i,t.x,t.y),n=new Ho(e.i,e.x,e.y),i=t.next,s=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,s.next=n,n.prev=s,n}function Jo(t,e,r,n){var i=new Ho(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function Xo(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ);}function Ho(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=0,this.prevZ=null,this.nextZ=null,this.steiner=!1;}function Yo(t,e,r,n){for(var i=0,s=e,a=r-n;s0&&r.holes.push(n+=t[i-1].length);}return r};var Wo=r(ko.exports);function Qo(t,e,r){const n=r.patternDependencies;let i=!1;for(const r of e){const e=r.paint.get(`${t}-pattern`);e.isConstant()||(i=!0);const s=e.constantOr(null);s&&(i=!0,n[s.to]=!0,n[s.from]=!0);}return i}function tl(t,e,r,n,i){const s=i.patternDependencies;for(const a of e){const e=a.paint.get(`${t}-pattern`).value;if(\"constant\"!==e.kind){let t=e.evaluate({zoom:n-1},r,{},i.availableImages),o=e.evaluate({zoom:n},r,{},i.availableImages),l=e.evaluate({zoom:n+1},r,{},i.availableImages);t=t&&t.name?t.name:t,o=o&&o.name?o.name:o,l=l&&l.name?l.name:l,s[t]=!0,s[o]=!0,s[l]=!0,r.patterns[a.id]={min:t,mid:o,max:l};}}return r}class el{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Us,this.indexArray=new Ys,this.indexArray2=new Ws,this.programConfigurations=new Ia(t.layers,t.zoom),this.segments=new ea,this.segments2=new ea,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=Qo(\"fill\",this.layers,e);const n=this.layers[0].layout.get(\"fill-sort-key\"),i=!n.isConstant(),s=[];for(const{feature:a,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=Fa(a,t);if(!this.layers[0]._featureFilter.filter(new $i(this.zoom),c,r))continue;const h=i?n.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:a.properties,type:a.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:Ea(a),patterns:{},sortKey:h};s.push(p);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=tl(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{});e.featureIndex.insert(t[s].feature,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,So),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());}addFeature(t,e,r,n,i){for(const t of vr(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3;}if(i--,1===n||2===n)s+=t.readSVarint(),a+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new cl(s,a));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},pl.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3;}if(n--,1===r||2===r)(i+=t.readSVarint())o&&(o=i),(s+=t.readSVarint())u&&(u=s);else if(7!==r)throw new Error(\"unknown command \"+r)}return [a,l,o,u]},pl.prototype.toGeoJSON=function(t,e,r){var n,i,s=this.extent*Math.pow(2,r),a=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=pl.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}gl.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new yl(this._pbf,e,this.extent,this._keys,this._values)};var vl=ml;function bl(t,e,r){if(3===t){var n=new vl(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}ul.VectorTile=function(t,e){this.layers=t.readFields(bl,{},e);},ul.VectorTileFeature=hl,ul.VectorTileLayer=ml;const wl=ul.VectorTileFeature.types,_l=Math.pow(2,13);function Al(t,e,r,n,i,s,a,o){t.emplaceBack(e,r,2*Math.floor(n*_l)+a,i*_l*2,s*_l*2,Math.round(o));}class Sl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new js,this.centroidVertexArray=new Os,this.indexArray=new Ys,this.programConfigurations=new Ia(t.layers,t.zoom),this.segments=new ea,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.features=[],this.hasPattern=Qo(\"fill-extrusion\",this.layers,e);for(const{feature:n,id:i,index:s,sourceLayerIndex:a}of t){const t=this.layers[0]._featureFilter.needGeometry,o=Fa(n,t);if(!this.layers[0]._featureFilter.filter(new $i(this.zoom),o,r))continue;const l={id:i,sourceLayerIndex:a,index:s,geometry:t?o.geometry:Ea(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(tl(\"fill-extrusion\",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,s,r,{}),e.featureIndex.insert(n,l.geometry,s,a,this.index,!0);}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,ll),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,ol.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy());}addFeature(t,e,r,n,i){const s={x:0,y:0,vertexCount:0};for(const r of vr(e,500)){let e=0;for(const t of r)e+=t.length;let n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Ml(t))continue;let e=0;for(let r=0;r=1){const a=t[r-1];if(!kl(i,a)){n.vertexLength+4>ea.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=i.sub(a)._perp()._unit(),r=a.dist(i);e+r>32768&&(e=0),Al(this.layoutVertexArray,i.x,i.y,t.x,t.y,0,0,e),Al(this.layoutVertexArray,i.x,i.y,t.x,t.y,0,1,e),s.x+=2*i.x,s.y+=2*i.y,s.vertexCount+=2,e+=r,Al(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,e),Al(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,e),s.x+=2*a.x,s.y+=2*a.y,s.vertexCount+=2;const o=n.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),n.vertexLength+=4,n.primitiveLength+=2;}}}}if(n.vertexLength+e>ea.MAX_VERTEX_ARRAY_LENGTH&&(n=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray)),\"Polygon\"!==wl[t.type])continue;const i=[],a=[],o=n.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&a.push(i.length/2);for(let e=0;eBa)||t.y===e.y&&(t.y<0||t.y>Ba)}function Ml(t){return t.every((t=>t.x<0))||t.every((t=>t.x>Ba))||t.every((t=>t.y<0))||t.every((t=>t.y>Ba))}let Il;wi(\"FillExtrusionBucket\",Sl,{omit:[\"layers\",\"features\"]});var zl={get paint(){return Il=Il||new Hi({\"fill-extrusion-opacity\":new Zi(K[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Ki(K[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Zi(K[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Zi(K[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Gi(K[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Ki(K[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Ki(K[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Zi(K[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class Pl extends Wi{constructor(t){super(t,zl);}createBucket(t){return new Sl(t)}queryRadius(){return Xa(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return !0}queryIntersectsFeature(t,e,r,n,i,a,o,l){const u=Ha(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),a.angle,o),c=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),h=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),p=function(t,e,r,n){const i=[];for(const r of t){const t=[r.x,r.y,0,1];ao(t,t,e),i.push(new s(t[0]/t[3],t[1]/t[3]));}return i}(u,l),f=function(t,e,r,n){const i=[],a=[],o=n[8]*e,l=n[9]*e,u=n[10]*e,c=n[11]*e,h=n[8]*r,p=n[9]*r,f=n[10]*r,d=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,a=i.y,y=n[0]*e+n[4]*a+n[12],m=n[1]*e+n[5]*a+n[13],g=n[2]*e+n[6]*a+n[14],x=n[3]*e+n[7]*a+n[15],v=g+u,b=x+c,w=y+h,_=m+p,A=g+f,S=x+d,k=new s((y+o)/b,(m+l)/b);k.z=v/b,t.push(k);const M=new s(w/S,_/S);M.z=A/S,r.push(M);}i.push(t),a.push(r);}return [i,a]}(n,h,c,l);return function(t,e,r){let n=1/0;Oa(r,e)&&(n=Cl(r,e[0]));for(let i=0;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={};})),this.layoutVertexArray=new qs,this.layoutVertexArray2=new Ns,this.indexArray=new Ys,this.programConfigurations=new Ia(t.layers,t.zoom),this.segments=new ea,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=Qo(\"line\",this.layers,e);const n=this.layers[0].layout.get(\"line-sort-key\"),i=!n.isConstant(),s=[];for(const{feature:e,id:a,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=Fa(e,t);if(!this.layers[0]._featureFilter.filter(new $i(this.zoom),u,r))continue;const c=i?n.evaluate(u,{},r):void 0,h={id:a,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Ea(e),patterns:{},sortKey:c};s.push(h);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=tl(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{});e.featureIndex.insert(t[s].feature,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Tl)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,El),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const s=this.layers[0].layout,a=s.get(\"line-join\").evaluate(t,{}),o=s.get(\"line-cap\"),l=s.get(\"line-miter-limit\"),u=s.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,a,o,l,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);}addLine(t,e,r,n,i,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(w&&e>l){const t=h.dist(p);if(t>2*u){const e=h.sub(h.sub(p)._mult(u/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,d,0,0,c),p=e;}}const A=p&&f;let S=A?r:a?\"butt\":n;if(A&&\"round\"===S&&(vi&&(S=\"bevel\"),\"bevel\"===S&&(v>2&&(S=\"flipbevel\"),v100)m=y.mult(-1);else {const t=v*d.add(y).mag()/d.sub(y).mag();m._perp()._mult(t*(_?-1:1));}this.addCurrentVertex(h,m,0,0,c),this.addCurrentVertex(h,m.mult(-1),0,0,c);}else if(\"bevel\"===S||\"fakeround\"===S){const t=-Math.sqrt(v*v-1),e=_?t:0,r=_?0:t;if(p&&this.addCurrentVertex(h,d,e,r,c),\"fakeround\"===S){const t=Math.round(180*b/Math.PI/20);for(let e=1;e2*u){const e=h.add(f.sub(h)._mult(u/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,y,0,0,c),h=e;}}}}addCurrentVertex(t,e,r,n,i,s=!1){const a=e.y*n-e.x,o=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,s,!1,r,i),this.addHalfVertex(t,a,o,s,!0,-n,i),this.distance>Dl/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,r,n,i,s));}addHalfVertex({x:t,y:e},r,n,i,s,a,o){const l=.5*(this.lineClips?this.scaledDistance*(Dl-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(s?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===a?0:a<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),s?this.e2=u:this.e1=u;}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance();}}let Rl,Ul;wi(\"LineBucket\",Ol,{omit:[\"layers\",\"patternFeatures\"]});var jl={get paint(){return Ul=Ul||new Hi({\"line-opacity\":new Ki(K.paint_line[\"line-opacity\"]),\"line-color\":new Ki(K.paint_line[\"line-color\"]),\"line-translate\":new Zi(K.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Zi(K.paint_line[\"line-translate-anchor\"]),\"line-width\":new Ki(K.paint_line[\"line-width\"]),\"line-gap-width\":new Ki(K.paint_line[\"line-gap-width\"]),\"line-offset\":new Ki(K.paint_line[\"line-offset\"]),\"line-blur\":new Ki(K.paint_line[\"line-blur\"]),\"line-dasharray\":new Ji(K.paint_line[\"line-dasharray\"]),\"line-pattern\":new Gi(K.paint_line[\"line-pattern\"]),\"line-gradient\":new Xi(K.paint_line[\"line-gradient\"])})},get layout(){return Rl=Rl||new Hi({\"line-cap\":new Zi(K.layout_line[\"line-cap\"]),\"line-join\":new Ki(K.layout_line[\"line-join\"]),\"line-miter-limit\":new Zi(K.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Zi(K.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Ki(K.layout_line[\"line-sort-key\"])})}};class ql extends Ki{possiblyEvaluate(t,e){return e=new $i(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=g({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}let Nl;class Zl extends Wi{constructor(t){super(t,jl),this.gradientVersion=0,Nl||(Nl=new ql(jl.paint.properties[\"line-width\"].specification),Nl.useIntegerZoom=!0);}_handleSpecialPaintPropertyUpdate(t){if(\"line-gradient\"===t){const t=this.gradientExpression();this.stepInterpolant=!!function(t){return void 0!==t._styleExpression}(t)&&t._styleExpression.expression instanceof Ae,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER;}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values[\"line-floorwidth\"]=Nl.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,t);}createBucket(t){return new Ol(t)}queryRadius(t){const e=t,r=Kl(Ja(\"line-width\",this,e),Ja(\"line-gap-width\",this,e)),n=Ja(\"line-offset\",this,e);return r/2+Math.abs(n)+Xa(this.paint.get(\"line-translate\"))}queryIntersectsFeature(t,e,r,n,i,a,o){const l=Ha(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),a.angle,o),u=o/2*Kl(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),c=this.paint.get(\"line-offset\").evaluate(e,r);return c&&(n=function(t,e){const r=[];for(let n=0;n=3)for(let e=0;e0?e+2*t:t}const Gl=rs([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Jl=rs([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);rs([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const Xl=rs([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);rs([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);const Hl=rs([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),Yl=rs([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function Wl(t,e,r){return t.sections.forEach((t=>{t.text=function(t,e,r){const n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),Ti.applyArabicShaping&&(t=Ti.applyArabicShaping(t)),t}(t.text,e,r);})),t}rs([{name:\"triangle\",components:3,type:\"Uint16\"}]),rs([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),rs([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),rs([{type:\"Float32\",name:\"offsetX\"}]),rs([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),rs([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);const Ql={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var tu=24,eu=iu,ru=function(t,e,r,n,i){var s,a,o=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,p=r?-1:1,f=t[e+h];for(h+=p,s=f&(1<<-c)-1,f>>=-c,c+=o;c>0;s=256*s+t[e+h],h+=p,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=p,c-=8);if(0===s)s=1-u;else {if(s===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),s-=u;}return (f?-1:1)*a*Math.pow(2,s-n)},nu=function(t,e,r,n,i,s){var a,o,l,u=8*s-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:s-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(o=0,a=c):a+h>=1?(o=(e*l-1)*Math.pow(2,i),a+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+f]=255&o,f+=d,o/=256,i-=8);for(a=a<0;t[r+f]=255&a,f+=d,a/=256,u-=8);t[r+f-d]|=128*y;};function iu(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}iu.Varint=0,iu.Fixed64=1,iu.Bytes=2,iu.Fixed32=5;var su=4294967296,au=1/su,ou=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf8\");function lu(t){return t.type===iu.Bytes?t.readVarint()+t.pos:t.pos+1}function uu(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function cu(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function hu(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function _u(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}iu.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,s=this.pos;this.type=7&n,t(i,e,this),this.pos===s&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=bu(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=_u(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=bu(this.buf,this.pos)+bu(this.buf,this.pos+4)*su;return this.pos+=8,t},readSFixed64:function(){var t=bu(this.buf,this.pos)+_u(this.buf,this.pos+4)*su;return this.pos+=8,t},readFloat:function(){var t=ru(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=ru(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,s=r.buf;if(n=(112&(i=s[r.pos++]))>>4,i<128)return uu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<3,i<128)return uu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<10,i<128)return uu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<17,i<128)return uu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<24,i<128)return uu(t,n,e);if(n|=(1&(i=s[r.pos++]))<<31,i<128)return uu(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&ou?function(t,e,r){return ou.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(s=t[i+1]))&&(u=(31&l)<<6|63&s)<=127&&(u=null):3===c?(a=t[i+2],128==(192&(s=t[i+1]))&&128==(192&a)&&((u=(15&l)<<12|(63&s)<<6|63&a)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+2],o=t[i+3],128==(192&(s=t[i+1]))&&128==(192&a)&&128==(192&o)&&((u=(15&l)<<18|(63&s)<<12|(63&a)<<6|63&o)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==iu.Bytes)return t.push(this.readVarint(e));var r=lu(this);for(t=t||[];this.pos127;);else if(e===iu.Bytes)this.pos=this.readVarint()+this.pos;else if(e===iu.Fixed32)this.pos+=4;else {if(e!==iu.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,s=0;s55295&&n<57344){if(!i){n>56319||s+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&cu(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),nu(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),nu(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&cu(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,iu.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,hu,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,pu,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,yu,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,fu,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,du,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,mu,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,gu,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,xu,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,vu,e);},writeBytesField:function(t,e){this.writeTag(t,iu.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,iu.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,iu.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,iu.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,iu.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,iu.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,iu.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,iu.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,iu.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,iu.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var Au=r(eu);const Su=3;function ku(t,e,r){1===t&&r.readMessage(Mu,e);}function Mu(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:s,left:a,top:o,advance:l}=r.readMessage(Iu,{});e.push({id:t,bitmap:new mo({width:i+2*Su,height:s+2*Su},n),metrics:{width:i,height:s,left:a,top:o,advance:l}});}}function Iu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}const zu=Su;function Pu(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,s=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,s=Math.max(s,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t=0&&r>=t&&Du[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e);}substring(t,e){const r=new $u;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Tu.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Lu(e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m){const g=$u.fromFeature(e,s);let x;p===t.ah.vertical&&g.verticalizePunctuation();const{processBidirectionalText:v,processStyledBidirectionalText:b}=Ti;if(v&&1===g.sections.length){x=[];const t=v(g.toString(),Zu(g,c,a,r,i,d,y));for(const e of t){const t=new $u;t.text=e,t.sections=g.sections;for(let r=0;r0&&n>_&&(_=n);}else {const t=n[y.fontStack],e=t&&t[g];if(e&&e.rect)A=e.rect,b=e.metrics;else {const t=r[y.fontStack],e=t&&t[g];if(!e)continue;b=e.metrics;}x=(s-y.scale)*tu;}M?(e.verticalizable=!0,w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:M,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=k*y.scale+c):(w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:M,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=b.advance*y.scale+c);}0!==w.length&&(y=Math.max(f-c,y),Gu(w,0,w.length-1,g,_)),f=0;const A=a*s+_;b.lineOffset=Math.max(_,l),d+=A,m=Math.max(A,m),++x;}var v;const b=d-Fu,{horizontalAlign:w,verticalAlign:_}=Ku(o);((function(t,e,r,n,i,s,a,o,l){const u=(e-r)*i;let c=0;c=s!==a?-o*n-Fu:(-n*l+.5)*a;for(const e of t)for(const t of e.positionedGlyphs)t.x+=u,t.y+=c;}))(e.positionedLines,g,w,_,y,m,a,b,s.length),e.top+=-_*b,e.bottom=e.top+b,e.left+=-w*y,e.right=e.left+y;}(_,r,n,i,x,o,l,u,p,c,f,m),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return !1;return !0}(w)&&_}const Du={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},Ou={10:!0,32:!0,38:!0,40:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0};function Ru(t,e,r,n,i,s){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*tu/s+i:0}{const n=r[e.fontStack],s=n&&n[t];return s?s.metrics.advance*e.scale+i:0}}function Uu(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let c=0;for(let r=0;ru){const t=Math.ceil(s/u);i*=t/a,a=t;}return {x1:n,y1:i,x2:n+s,y2:i+a}}function Hu(t,e,r,n,i,s){const a=t.image;let o;if(a.content){const t=a.content,e=a.pixelRatio||1;o=[t[0]/e,t[1]/e,a.displaySize[0]-t[2]/e,a.displaySize[1]-t[3]/e];}const l=e.left*s,u=e.right*s;let c,h,p,f;\"width\"===r||\"both\"===r?(f=i[0]+l-n[3],h=i[0]+u+n[1]):(f=i[0]+(l+u-a.displaySize[0])/2,h=f+a.displaySize[0]);const d=e.top*s,y=e.bottom*s;return \"height\"===r||\"both\"===r?(c=i[1]+d-n[0],p=i[1]+y+n[2]):(c=i[1]+(d+y-a.displaySize[1])/2,p=c+a.displaySize[1]),{image:a,top:c,right:h,bottom:p,left:f,collisionPadding:o}}const Yu=255,Wu=128,Qu=Yu*Wu;function tc(t,e){const{expression:r}=e;if(\"constant\"===r.kind)return {kind:\"constant\",layoutSize:r.evaluate(new $i(t+1))};if(\"source\"===r.kind)return {kind:\"source\"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;it.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=ro([]),this.placementViewportMatrix=ro([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=tc(this.zoom,r[\"text-size\"]),this.iconSizeData=tc(this.zoom,r[\"icon-size\"]);const n=this.layers[0].layout,i=n.get(\"symbol-sort-key\"),s=n.get(\"symbol-z-order\");this.canOverlap=\"never\"!==ec(n,\"text-overlap\",\"text-allow-overlap\")||\"never\"!==ec(n,\"icon-overlap\",\"icon-allow-overlap\")||n.get(\"text-ignore-placement\")||n.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==s&&!i.isConstant(),this.sortFeaturesByY=(\"viewport-y\"===s||\"auto\"===s&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===n.get(\"symbol-placement\")&&(this.writingModes=n.get(\"text-writing-mode\").map((e=>t.ah[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID;}createArrays(){this.text=new oc(new Ia(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new oc(new Ia(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Es,this.lineVertexArray=new Fs,this.symbolInstances=new Vs,this.textAnchorOffsets=new $s;}calculateGlyphDependencies(t,e,r,n,i){for(let s=0;s0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),c=\"constant\"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=s.get(\"symbol-sort-key\");if(this.features=[],!u&&!c)return;const p=r.iconDependencies,f=r.glyphDependencies,d=r.availableImages,y=new $i(this.zoom);for(const{feature:r,id:o,index:l,sourceLayerIndex:m}of e){const e=i._featureFilter.needGeometry,g=Fa(r,e);if(!i._featureFilter.filter(y,g,n))continue;let x,v;if(e||(g.geometry=Ea(r)),u){const t=i.getValueAndResolveTokens(\"text-field\",g,n,d),e=Ht.factory(t),r=this.hasRTLText=this.hasRTLText||ac(e);(!r||\"unavailable\"===Ti.getRTLTextPluginStatus()||r&&Ti.isParsed())&&(x=Wl(e,i,g));}if(c){const t=i.getValueAndResolveTokens(\"icon-image\",g,n,d);v=t instanceof te?t:te.fromString(t);}if(!x&&!v)continue;const b=this.sortFeaturesByKey?h.evaluate(g,{},n):void 0;if(this.features.push({id:o,text:x,icon:v,index:l,sourceLayerIndex:m,geometry:g.geometry,properties:r.properties,type:rc[r.type],sortKey:b}),v&&(p[v.name]=!0),x){const e=a.evaluate(g,{},n).join(\",\"),r=\"viewport\"!==s.get(\"text-rotation-alignment\")&&\"point\"!==s.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ah.vertical)>=0;for(const t of x.sections)if(t.image)p[t.image.name]=!0;else {const n=Ii(x.toString()),i=t.fontStack||e,s=f[i]=f[i]||{};this.calculateGlyphDependencies(t.text,s,r,this.allowVerticalPlacement,n);}}}\"line\"===s.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function s(e){n.push(t[e]),i++;}function a(t,e,i){const s=r[t];return delete r[t],r[e]=s,n[s].geometry[0].pop(),n[s].geometry[0]=n[s].geometry[0].concat(i[0]),s}function o(t,r,i){const s=e[r];return delete e[r],e[t]=s,n[s].geometry[0].shift(),n[s].geometry[0]=i[0].concat(n[s].geometry[0]),s}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return `${t}:${n.x}:${n.y}`}for(let u=0;ut.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey));}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),s}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t);})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}}}let cc,hc;wi(\"SymbolBucket\",uc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),uc.MAX_GLYPHS=65535,uc.addDynamicAttributes=sc;var pc={get paint(){return hc=hc||new Hi({\"icon-opacity\":new Ki(K.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Ki(K.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Ki(K.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Ki(K.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Ki(K.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Zi(K.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Zi(K.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Ki(K.paint_symbol[\"text-opacity\"]),\"text-color\":new Ki(K.paint_symbol[\"text-color\"],{runtimeType:pt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new Ki(K.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Ki(K.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Ki(K.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Zi(K.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Zi(K.paint_symbol[\"text-translate-anchor\"])})},get layout(){return cc=cc||new Hi({\"symbol-placement\":new Zi(K.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Zi(K.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Zi(K.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Ki(K.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Zi(K.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Zi(K.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Zi(K.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Zi(K.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Zi(K.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Zi(K.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Ki(K.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Zi(K.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Zi(K.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Ki(K.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Ki(K.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Ki(K.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Zi(K.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Ki(K.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Ki(K.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Zi(K.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Zi(K.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Zi(K.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Ki(K.layout_symbol[\"text-field\"]),\"text-font\":new Ki(K.layout_symbol[\"text-font\"]),\"text-size\":new Ki(K.layout_symbol[\"text-size\"]),\"text-max-width\":new Ki(K.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Zi(K.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Ki(K.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Ki(K.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Ki(K.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Zi(K.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new Ki(K.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new Ki(K.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Zi(K.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Zi(K.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Ki(K.layout_symbol[\"text-rotate\"]),\"text-padding\":new Zi(K.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Zi(K.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Ki(K.layout_symbol[\"text-transform\"]),\"text-offset\":new Ki(K.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Zi(K.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Zi(K.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Zi(K.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Zi(K.layout_symbol[\"text-optional\"])})}};class fc{constructor(t){if(void 0===t.property.overrides)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,this.defaultValue=t;}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);}outputDefined(){return !1}serialize(){return null}}wi(\"FormatSectionOverride\",fc,{omit:[\"defaultValue\"]});class dc extends Wi{constructor(t){super(t,pc);}recalculate(t,e){if(super.recalculate(t,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=\"map\"===this.layout.get(\"text-rotation-alignment\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){const t=this.layout.get(\"text-writing-mode\");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values[\"text-writing-mode\"]=e;}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"];}this._setPaintOverrides();}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||bn(s.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>t&&r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new uc(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(const t of pc.paint.overridableProperties){if(!dc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new fc(e),n=new vn(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new _n(\"source\",n):new An(\"composite\",n,e.value.zoomStops),this.paint._values[t]=new qi(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&dc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=pc.paint.properties[e];let i=!1;const s=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof Ht)s(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{i||(e instanceof se&&ne(e.value)===mt?s(e.value.sections):e instanceof Ze?s(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}}let yc;var mc={get paint(){return yc=yc||new Hi({\"background-color\":new Zi(K.paint_background[\"background-color\"]),\"background-pattern\":new Ji(K.paint_background[\"background-pattern\"]),\"background-opacity\":new Zi(K.paint_background[\"background-opacity\"])})}};class gc extends Wi{constructor(t){super(t,mc);}}let xc;var vc={get paint(){return xc=xc||new Hi({\"raster-opacity\":new Zi(K.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Zi(K.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Zi(K.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Zi(K.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Zi(K.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Zi(K.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Zi(K.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Zi(K.paint_raster[\"raster-fade-duration\"])})}};class bc extends Wi{constructor(t){super(t,vc);}}class wc extends Wi{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);},this.implementation=t;}is3D(){return \"3d\"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return !1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class _c{constructor(t){this._methodToThrottle=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle();}),0));}remove(){delete this._channel,this._methodToThrottle=()=>{};}}const Ac=6371008.8;class Sc{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new Sc(m(this.lng,-180,180),this.lat)}toArray(){return [this.lng,this.lat]}toString(){return `LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return Ac*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof Sc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Sc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Sc(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}const kc=2*Math.PI*Ac;function Mc(t){return kc*Math.cos(t*Math.PI/180)}function Ic(t){return (180+t)/360}function zc(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Pc(t,e){return t/Mc(e)}function Bc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class Cc{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=Sc.convert(t);return new Cc(Ic(r.lng),zc(r.lat),Pc(e,r.lat))}toLngLat(){return new Sc(360*this.x-180,Bc(this.y))}toAltitude(){return this.z*Mc(Bc(this.y))}meterInMercatorCoordinateUnits(){return 1/kc*(t=Bc(this.y),1/Math.cos(t*Math.PI/180));var t;}}function Vc(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class Ec{constructor(t,e,r){if(t<0||t>25||r<0||r>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))throw new Error(`x=${e}, y=${r}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=r,this.key=$c(0,t,t,e,r);}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(s=this.y,a=this.z,o=Vc(256*(i=this.x),256*(s=Math.pow(2,a)-s-1),a),l=Vc(256*(i+1),256*(s+1),a),o[0]+\",\"+o[1]+\",\"+l[0]+\",\"+l[1]);var i,s,a,o,l;const u=function(t,e,r){let n,i=\"\";for(let s=t;s>0;s--)n=1<1?\"@2x\":\"\").replace(/{quadkey}/g,u).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new s((t.x*e-this.x)*Ba,(t.y*e-this.y)*Ba)}toString(){return `${this.z}/${this.x}/${this.y}`}}class Fc{constructor(t,e){this.wrap=t,this.canonical=e,this.key=$c(t,e.z,e.z,e.x,e.y);}}class Tc{constructor(t,e,r,n,i){if(t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Ec(r,+n,+i),this.key=$c(e,t,r,n,i);}clone(){return new Tc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new Tc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new Tc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-t;return t>this.canonical.z?$c(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):$c(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap)return !1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return [new Tc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new Tc(e,this.wrap,e,r,n),new Tc(e,this.wrap,e,r+1,n),new Tc(e,this.wrap,e,r,n+1),new Tc(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return (e+1)*this.stride+(t+1)}unpack(t,e,r){return t*this.redFactor+e*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new go({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");let n=e*this.dim,i=e*this.dim+this.dim,s=r*this.dim,a=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:s=a-1;break;case 1:a=s+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=s;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class Oc{constructor(t,e,r,n,i){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i;}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t;}toJSON(){const t={geometry:this.geometry};for(const e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t}}class Rc{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new vi(Ba,16,0),this.grid3D=new vi(Ba,16,0),this.featureIndexArray=new Ds,this.promoteId=e;}insert(t,e,r,n,i,s){const a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);const o=s?this.grid3D:this.grid;for(let t=0;t=0&&n[3]>=0&&o.insert(a,n[0],n[1],n[2],n[3]);}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new ul.VectorTile(new Au(this.rawTileData)).layers,this.sourceLayerCoder=new Dc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},a=Ba/t.tileSize/t.scale,o=Pn(i.filter),l=t.queryGeometry,u=t.queryPadding*a,c=jc(l),h=this.grid.query(c.minX-u,c.minY-u,c.maxX+u,c.maxY+u),p=jc(t.cameraQueryGeometry),f=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,((e,r,n,i)=>function(t,e,r,n,i){for(const s of t)if(e<=s.x&&r<=s.y&&n>=s.x&&i>=s.y)return !0;const a=[new s(e,r),new s(e,i),new s(n,i),new s(n,r)];if(t.length>2)for(const e of a)if(Ka(t,e))return !0;for(let e=0;e(p||(p=Ea(e)),r.queryIntersectsFeature(l,e,n,p,this.z,t.transform,a,t.pixelPosMatrix))));}return d}loadMatchingFeature(t,e,r,n,i,s,a,o,l,u,c){const h=this.bucketLayerIDs[e];if(s&&!function(t,e){for(let r=0;r=0)return !0;return !1}(s,h))return;const p=this.sourceLayerCoder.decode(r),f=this.vtLayers[p].feature(n);if(i.needGeometry){const t=Fa(f,!0);if(!i.filter(new $i(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new $i(this.tileID.overscaledZ),f))return;const d=this.getId(f,p);for(let e=0;e{const a=e instanceof Ni?e.get(s):null;return a&&a.evaluate?a.evaluate(r,n,i):a}))}function jc(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const s of t)e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);return {minX:e,minY:r,maxX:n,maxY:i}}function qc(t,e){return e-t}function Nc(t,e,r,n,i){const a=[];for(let o=0;o=n&&c.x>=n||(o.x>=n?o=new s(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=n&&(c=new s(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=i&&c.y>=i||(o.y>=i?o=new s(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round():c.y>=i&&(c=new s(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round()),u&&o.equals(u[u.length-1])||(u=[o],a.push(u)),u.push(c)))));}}return a}wi(\"FeatureIndex\",Rc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class Zc extends s{constructor(t,e,r,n){super(t,e),this.angle=r,void 0!==n&&(this.segment=n);}clone(){return new Zc(this.x,this.y,this.angle,this.segment)}}function Kc(t,e,r,n,i){if(void 0===e.segment||0===r)return !0;let s=e,a=e.segment+1,o=0;for(;o>-r/2;){if(a--,a<0)return !1;o-=t[a].dist(s),s=t[a];}o+=t[a].dist(t[a+1]),a++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;a++,o+=e.dist(r);}return !0}function Gc(t){let e=0;for(let r=0;ru){const c=(u-l)/s,h=Be.number(n.x,i.x,c),p=Be.number(n.y,i.y,c),f=new Zc(h,p,i.angleTo(n),r);return f._round(),!a||Kc(t,f,o,a,e)?f:void 0}l+=s;}}function Yc(t,e,r,n,i,s,a,o,l){const u=Jc(n,s,a),c=Xc(n,i),h=c*a,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&g=0&&x=0&&p+u<=c){const r=new Zc(g,x,y,e);r._round(),n&&!Kc(t,r,s,n,i)||f.push(r);}}h+=d;}return o||f.length||a||(f=Wc(t,h/2,r,n,i,s,a,!0,l)),f}wi(\"Anchor\",Zc);const Qc=Bu;function th(t,e,r,n){const i=[],a=t.image,o=a.pixelRatio,l=a.paddedRect.w-2*Qc,u=a.paddedRect.h-2*Qc;let c={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const h=a.stretchX||[[0,l]],p=a.stretchY||[[0,u]],f=(t,e)=>t+e[1]-e[0],d=h.reduce(f,0),y=p.reduce(f,0),m=l-d,g=u-y;let x=0,v=d,b=0,w=y,_=0,A=m,S=0,k=g;if(a.content&&n){const e=a.content,r=e[2]-e[0],n=e[3]-e[1];(a.textFitWidth||a.textFitHeight)&&(c=Xu(t)),x=eh(h,0,e[0]),b=eh(p,0,e[1]),v=eh(h,e[0],e[2]),w=eh(p,e[1],e[3]),_=e[0]-x,S=e[1]-b,A=r-v,k=n-w;}const M=c.x1,I=c.y1,z=c.x2-M,P=c.y2-I,B=(t,n,i,l)=>{const u=nh(t.stretch-x,v,z,M),c=ih(t.fixed-_,A,t.stretch,d),h=nh(n.stretch-b,w,P,I),p=ih(n.fixed-S,k,n.stretch,y),f=nh(i.stretch-x,v,z,M),m=ih(i.fixed-_,A,i.stretch,d),g=nh(l.stretch-b,w,P,I),B=ih(l.fixed-S,k,l.stretch,y),C=new s(u,h),V=new s(f,h),E=new s(f,g),F=new s(u,g),T=new s(c/o,p/o),$=new s(m/o,B/o),L=e*Math.PI/180;if(L){const t=Math.sin(L),e=Math.cos(L),r=[e,-t,t,e];C._matMult(r),V._matMult(r),F._matMult(r),E._matMult(r);}const D=t.stretch+t.fixed,O=n.stretch+n.fixed;return {tl:C,tr:V,bl:F,br:E,tex:{x:a.paddedRect.x+Qc+D,y:a.paddedRect.y+Qc+O,w:i.stretch+i.fixed-D,h:l.stretch+l.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:T,pixelOffsetBR:$,minFontScaleX:A/o/z,minFontScaleY:k/o/P,isSDF:r}};if(n&&(a.stretchX||a.stretchY)){const t=rh(h,m,d),e=rh(p,g,y);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n);}else {const u=(null===(h=a.image)||void 0===h?void 0:h.content)&&(a.image.textFitWidth||a.image.textFitHeight)?Xu(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};u.y1=u.y1*o-l[0],u.y2=u.y2*o+l[2],u.x1=u.x1*o-l[3],u.x2=u.x2*o+l[1];const p=a.collisionPadding;if(p&&(u.x1-=p[0]*o,u.y1-=p[1]*o,u.x2+=p[2]*o,u.y2+=p[3]*o),c){const t=new s(u.x1,u.y1),e=new s(u.x2,u.y1),r=new s(u.x1,u.y2),n=new s(u.x2,u.y2),i=c*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),u.x1=Math.min(t.x,e.x,r.x,n.x),u.x2=Math.max(t.x,e.x,r.x,n.x),u.y1=Math.min(t.y,e.y,r.y,n.y),u.y2=Math.max(t.y,e.y,r.y,n.y);}t.emplaceBack(e.x,e.y,u.x1,u.y1,u.x2,u.y2,r,n,i);}this.boxEndIndex=t.length;}}class ah{constructor(t=[],e=oh){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this.length++,this._up(this.length-1);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return this.length--,this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(r(n,s)>=0)break;e[t]=s,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=s,t=n;}e[t]=i;}}function oh(t,e){return te?1:0}function lh(t,e=1,r=!1){let n=1/0,i=1/0,a=-1/0,o=-1/0;const l=t[0];for(let t=0;ta)&&(a=e.x),(!t||e.y>o)&&(o=e.y);}const u=Math.min(a-n,o-i);let c=u/2;const h=new ah([],uh);if(0===u)return new s(n,i);for(let e=n;ep.d||!p.d)&&(p=n,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*n.d)/1e4,f)),n.max-p.d<=e||(c=n.h/2,h.push(new ch(n.p.x-c,n.p.y-c,c,t)),h.push(new ch(n.p.x+c,n.p.y-c,c,t)),h.push(new ch(n.p.x-c,n.p.y+c,c,t)),h.push(new ch(n.p.x+c,n.p.y+c,c,t)),f+=4);}return r&&(console.log(`num probes: ${f}`),console.log(`best distance: ${p.d}`)),p.p}function uh(t,e){return e.max-t.max}function ch(t,e,r,n){this.p=new s(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(r=!r),n=Math.min(n,Na(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}var hh;t.aq=void 0,(hh=t.aq||(t.aq={}))[hh.center=1]=\"center\",hh[hh.left=2]=\"left\",hh[hh.right=3]=\"right\",hh[hh.top=4]=\"top\",hh[hh.bottom=5]=\"bottom\",hh[hh[\"top-left\"]=6]=\"top-left\",hh[hh[\"top-right\"]=7]=\"top-right\",hh[hh[\"bottom-left\"]=8]=\"bottom-left\",hh[hh[\"bottom-right\"]=9]=\"bottom-right\";const ph=7,fh=Number.POSITIVE_INFINITY;function dh(t,e){return e[1]!==fh?function(t,e,r){let n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-ph;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+ph;}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e;}return [n,i]}(t,e[0],e[1]):function(t,e){let r=0,n=0;e<0&&(e=0);const i=e/Math.SQRT2;switch(t){case\"top-right\":case\"top-left\":n=i-ph;break;case\"bottom-right\":case\"bottom-left\":n=-i+ph;break;case\"bottom\":n=-e+ph;break;case\"top\":n=e-ph;}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e;}return [r,n]}(t,e[0])}function yh(t,e,r){var n;const i=t.layout,s=null===(n=i.get(\"text-variable-anchor-offset\"))||void 0===n?void 0:n.evaluate(e,{},r);if(s){const t=s.values,e=[];for(let r=0;rt*tu));n.startsWith(\"top\")?i[1]-=ph:n.startsWith(\"bottom\")&&(i[1]+=ph),e[r+1]=i;}return new Qt(e)}const a=i.get(\"text-variable-anchor\");if(a){let n;n=void 0!==t._unevaluatedLayout.getValue(\"text-radial-offset\")?[i.get(\"text-radial-offset\").evaluate(e,{},r)*tu,fh]:i.get(\"text-offset\").evaluate(e,{},r).map((t=>t*tu));const s=[];for(const t of a)s.push(t,dh(t,n));return new Qt(s)}return null}function mh(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return \"right\";case\"left\":case\"top-left\":case\"bottom-left\":return \"left\"}return \"center\"}function gh(e,r,n,i,s,a,o,l,u,c,h){let p=a.textMaxSize.evaluate(r,{});void 0===p&&(p=o);const f=e.layers[0].layout,d=f.get(\"icon-offset\").evaluate(r,{},h),y=vh(n.horizontal),m=o/24,g=e.tilePixelRatio*m,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*f.get(\"symbol-spacing\"),w=f.get(\"text-padding\")*e.tilePixelRatio,_=function(t,e,r,n=1){const i=t.get(\"icon-padding\").evaluate(e,{},r),s=i&&i.values;return [s[0]*n,s[1]*n,s[2]*n,s[3]*n]}(f,r,h,e.tilePixelRatio),S=f.get(\"text-max-angle\")/180*Math.PI,k=\"viewport\"!==f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),M=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=f.get(\"symbol-placement\"),z=b/2,P=f.get(\"icon-text-fit\");let B;i&&\"none\"!==P&&(e.allowVerticalPlacement&&n.vertical&&(B=Hu(i,n.vertical,P,f.get(\"icon-text-fit-padding\"),d,m)),y&&(i=Hu(i,y,P,f.get(\"icon-text-fit-padding\"),d,m)));const C=(l,p)=>{p.x<0||p.x>=Ba||p.y<0||p.y>=Ba||function(e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,S,k,M){const I=e.addToLineVertexArray(r,n);let z,P,B,C,V=0,E=0,F=0,T=0,$=-1,L=-1;const D={};let O=ca(\"\");if(e.allowVerticalPlacement&&i.vertical){const t=l.layout.get(\"text-rotate\").evaluate(w,{},k)+90;B=new sh(u,r,c,h,p,i.vertical,f,d,y,t),o&&(C=new sh(u,r,c,h,p,o,g,x,y,t));}if(s){const n=l.layout.get(\"icon-rotate\").evaluate(w,{}),i=\"none\"!==l.layout.get(\"icon-text-fit\"),a=th(s,n,S,i),f=o?th(o,n,S,i):void 0;P=new sh(u,r,c,h,p,s,g,x,!1,n),V=4*a.length;const d=e.iconSizeData;let y=null;\"source\"===d.kind?(y=[Wu*l.layout.get(\"icon-size\").evaluate(w,{})],y[0]>Qu&&A(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${Yu}. Reduce your \"icon-size\".`)):\"composite\"===d.kind&&(y=[Wu*_.compositeIconSizes[0].evaluate(w,{},k),Wu*_.compositeIconSizes[1].evaluate(w,{},k)],(y[0]>Qu||y[1]>Qu)&&A(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${Yu}. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,a,y,b,v,w,t.ah.none,r,I.lineStartIndex,I.lineLength,-1,k),$=e.icon.placedSymbolArray.length-1,f&&(E=4*f.length,e.addSymbols(e.icon,f,y,b,v,w,t.ah.vertical,r,I.lineStartIndex,I.lineLength,-1,k),L=e.icon.placedSymbolArray.length-1);}const R=Object.keys(i.horizontal);for(const n of R){const s=i.horizontal[n];if(!z){O=ca(s.text);const t=l.layout.get(\"text-rotate\").evaluate(w,{},k);z=new sh(u,r,c,h,p,s,f,d,y,t);}const o=1===s.positionedLines.length;if(F+=xh(e,r,s,a,l,y,w,m,I,i.vertical?t.ah.horizontal:t.ah.horizontalOnly,o?R:[n],D,$,_,k),o)break}i.vertical&&(T+=xh(e,r,i.vertical,a,l,y,w,m,I,t.ah.vertical,[\"vertical\"],D,L,_,k));const U=z?z.boxStartIndex:e.collisionBoxArray.length,j=z?z.boxEndIndex:e.collisionBoxArray.length,q=B?B.boxStartIndex:e.collisionBoxArray.length,N=B?B.boxEndIndex:e.collisionBoxArray.length,Z=P?P.boxStartIndex:e.collisionBoxArray.length,K=P?P.boxEndIndex:e.collisionBoxArray.length,G=C?C.boxStartIndex:e.collisionBoxArray.length,J=C?C.boxEndIndex:e.collisionBoxArray.length;let X=-1;const H=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;X=H(z,X),X=H(B,X),X=H(P,X),X=H(C,X);const Y=X>-1?1:0;Y&&(X*=M/tu),e.glyphOffsetArray.length>=uc.MAX_GLYPHS&&A(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==w.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,w.sortKey);const W=yh(l,w,k),[Q,tt]=function(e,r){const n=e.length,i=null==r?void 0:r.values;if((null==i?void 0:i.length)>0)for(let r=0;r=0?D.right:-1,D.center>=0?D.center:-1,D.left>=0?D.left:-1,D.vertical||-1,$,L,O,U,j,q,N,Z,K,G,J,c,F,T,V,E,Y,0,f,X,Q,tt);}(e,p,l,n,i,s,B,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,g,[w,w,w,w],k,u,v,_,M,d,r,a,c,h,o);};if(\"line\"===I)for(const t of Nc(r.geometry,0,0,Ba,Ba)){const r=Yc(t,b,S,n.vertical||y,i,24,x,e.overscaling,Ba);for(const n of r)y&&bh(e,y.text,z,n)||C(t,n);}else if(\"line-center\"===I){for(const t of r.geometry)if(t.length>1){const e=Hc(t,S,n.vertical||y,i,24,x);e&&C(t,e);}}else if(\"Polygon\"===r.type)for(const t of vr(r.geometry,0)){const e=lh(t,16);C(t[0],new Zc(e.x,e.y,0));}else if(\"LineString\"===r.type)for(const t of r.geometry)C(t,new Zc(t[0].x,t[0].y,0));else if(\"Point\"===r.type)for(const t of r.geometry)for(const e of t)C([e],new Zc(e.x,e.y,0));}function xh(t,e,r,n,i,a,o,l,u,c,h,p,f,d,y){const m=function(t,e,r,n,i,a,o,l){const u=n.layout.get(\"text-rotate\").evaluate(a,{})*Math.PI/180,c=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const a=n.rect||{};let h=zu+1,p=!0,f=1,d=0;const y=(i||l)&&n.vertical,m=n.metrics.advance*n.scale/2;if(l&&e.verticalizable&&(d=t.lineOffset/2-(n.imageName?-(tu-n.metrics.width*n.scale)/2:(n.scale-1)*tu)),n.imageName){const t=o[n.imageName];p=t.sdf,f=t.pixelRatio,h=Bu/f;}const g=i?[n.x+m,n.y]:[0,0];let x=i?[0,0]:[n.x+m+r[0],n.y+r[1]-d],v=[0,0];y&&(v=x,x=[0,0]);const b=n.metrics.isDoubleResolution?2:1,w=(n.metrics.left-h)*n.scale-m+x[0],_=(-n.metrics.top-h)*n.scale+x[1],A=w+a.w/b*n.scale/f,S=_+a.h/b*n.scale/f,k=new s(w,_),M=new s(A,_),I=new s(w,S),z=new s(A,S);if(y){const t=new s(-m,m-Fu),e=-Math.PI/2,r=tu/2-m,i=new s(5-Fu-r,-(n.imageName?r:0)),a=new s(...v);k._rotateAround(e,t)._add(i)._add(a),M._rotateAround(e,t)._add(i)._add(a),I._rotateAround(e,t)._add(i)._add(a),z._rotateAround(e,t)._add(i)._add(a);}if(u){const t=Math.sin(u),e=Math.cos(u),r=[e,-t,t,e];k._matMult(r),M._matMult(r),I._matMult(r),z._matMult(r);}const P=new s(0,0),B=new s(0,0);c.push({tl:k,tr:M,bl:I,br:z,tex:a,writingMode:e.writingMode,glyphOffset:g,sectionIndex:n.sectionIndex,isSDF:p,pixelOffsetTL:P,pixelOffsetBR:B,minFontScaleX:0,minFontScaleY:0});}return c}(0,r,l,i,a,o,n,t.allowVerticalPlacement),g=t.textSizeData;let x=null;\"source\"===g.kind?(x=[Wu*i.layout.get(\"text-size\").evaluate(o,{})],x[0]>Qu&&A(`${t.layerIds[0]}: Value for \"text-size\" is >= ${Yu}. Reduce your \"text-size\".`)):\"composite\"===g.kind&&(x=[Wu*d.compositeTextSizes[0].evaluate(o,{},y),Wu*d.compositeTextSizes[1].evaluate(o,{},y)],(x[0]>Qu||x[1]>Qu)&&A(`${t.layerIds[0]}: Value for \"text-size\" is >= ${Yu}. Reduce your \"text-size\".`)),t.addSymbols(t.text,m,x,l,a,o,c,e,u.lineStartIndex,u.lineLength,f,y);for(const e of h)p[e]=t.text.placedSymbolArray.length-1;return 4*m.length}function vh(t){for(const e in t)return t[e];return null}function bh(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=wh[15&r];if(!i)throw new Error(\"Unrecognized array type.\");const[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new _h(a,s,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=wh.indexOf(this.ArrayType),s=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-a%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+s+a+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t);}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Ah(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:i,coords:s,nodeSize:a}=this,o=[0,i.length-1,0],l=[];for(;o.length;){const u=o.pop()||0,c=o.pop()||0,h=o.pop()||0;if(c-h<=a){for(let a=h;a<=c;a++){const o=s[2*a],u=s[2*a+1];o>=t&&o<=r&&u>=e&&u<=n&&l.push(i[a]);}continue}const p=h+c>>1,f=s[2*p],d=s[2*p+1];f>=t&&f<=r&&d>=e&&d<=n&&l.push(i[p]),(0===u?t<=f:e<=d)&&(o.push(h),o.push(p-1),o.push(1-u)),(0===u?r>=f:n>=d)&&(o.push(p+1),o.push(c),o.push(1-u));}return l}within(t,e,r){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:n,coords:i,nodeSize:s}=this,a=[0,n.length-1,0],o=[],l=r*r;for(;a.length;){const u=a.pop()||0,c=a.pop()||0,h=a.pop()||0;if(c-h<=s){for(let r=h;r<=c;r++)Ih(i[2*r],i[2*r+1],t,e)<=l&&o.push(n[r]);continue}const p=h+c>>1,f=i[2*p],d=i[2*p+1];Ih(f,d,t,e)<=l&&o.push(n[p]),(0===u?t-r<=f:e-r<=d)&&(a.push(h),a.push(p-1),a.push(1-u)),(0===u?t+r>=f:e+r>=d)&&(a.push(p+1),a.push(c),a.push(1-u));}return o}}function Ah(t,e,r,n,i,s){if(i-n<=r)return;const a=n+i>>1;Sh(t,e,a,n,i,s),Ah(t,e,r,n,a-1,1-s),Ah(t,e,r,a+1,i,1-s);}function Sh(t,e,r,n,i,s){for(;i>n;){if(i-n>600){const a=i-n+1,o=r-n+1,l=Math.log(a),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(a-u)/a)*(o-a/2<0?-1:1);Sh(t,e,r,Math.max(n,Math.floor(r-o*u/a+c)),Math.min(i,Math.floor(r+(a-o)*u/a+c)),s);}const a=e[2*r+s];let o=n,l=i;for(kh(t,e,n,r),e[2*i+s]>a&&kh(t,e,n,i);oa;)l--;}e[2*n+s]===a?kh(t,e,n,l):(l++,kh(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1);}}function kh(t,e,r,n){Mh(t,r,n),Mh(e,2*r,2*n),Mh(e,2*r+1,2*n+1);}function Mh(t,e,r){const n=t[e];t[e]=t[r],t[r]=n;}function Ih(t,e,r,n){const i=t-r,s=e-n;return i*i+s*s}var zh;t.be=void 0,(zh=t.be||(t.be={})).create=\"create\",zh.load=\"load\",zh.fullLoad=\"fullLoad\";let Ph=null,Bh=[];const Ch=1e3/60,Vh=\"loadTime\",Eh=\"fullLoadTime\",Fh={mark(t){performance.mark(t);},frame(t){const e=t;null!=Ph&&Bh.push(e-Ph),Ph=e;},clearMetrics(){Ph=null,Bh=[],performance.clearMeasures(Vh),performance.clearMeasures(Eh);for(const e in t.be)performance.clearMarks(t.be[e]);},getPerformanceMetrics(){performance.measure(Vh,t.be.create,t.be.load),performance.measure(Eh,t.be.create,t.be.fullLoad);const e=performance.getEntriesByName(Vh)[0].duration,r=performance.getEntriesByName(Eh)[0].duration,n=Bh.length,i=1/(Bh.reduce(((t,e)=>t+e),0)/n/1e3),s=Bh.filter((t=>t>Ch)).reduce(((t,e)=>t+(e-Ch)/Ch),0);return {loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:s/(n+s)*100,totalFrames:n}}};t.$=ea,t.A=eo,t.B=function(t){if(null==M){const e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return M},t.C=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new _c((()=>this.process())),this.subscription=function(t,e,r,n){return t.addEventListener(e,r,!1),{unsubscribe:()=>{t.removeEventListener(e,r,!1);}}}(this.target,\"message\",(t=>this.receive(t))),this.globalScope=k(self)?t:window;}registerMessageHandler(t,e){this.messageHandlers[t]=e;}sendAsync(t,e){return new Promise(((r,n)=>{const i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},e&&e.signal.addEventListener(\"abort\",(()=>{delete this.resolveRejects[i];const e={id:i,type:\"\",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e);}),{once:!0});const s=[],a=Object.assign(Object.assign({},t),{id:i,sourceMapId:this.mapId,origin:location.origin,data:Ai(t.data,s)});this.target.postMessage(a,{transfer:s});}))}receive(t){const e=t.data,r=e.id;if(!(\"file://\"!==e.origin&&\"file://\"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(\"\"===e.type){delete this.tasks[r];const t=this.abortControllers[r];return delete this.abortControllers[r],void(t&&t.abort())}if(k(self)||e.mustQueue)return this.tasks[r]=e,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,e);}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e);}processTask(t,r){return e(this,void 0,void 0,(function*(){if(\"\"===r.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(r.error?e.reject(Si(r.error)):e.resolve(Si(r.data)))}if(!this.messageHandlers[r.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));const e=Si(r.data),n=new AbortController;this.abortControllers[t]=n;try{const i=yield this.messageHandlers[r.type](r.sourceMapId,e,n);this.completeTask(t,null,i);}catch(e){this.completeTask(t,e);}}))}completeTask(t,e,r){const n=[];delete this.abortControllers[t];const i={id:t,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:e?Ai(e):null,data:Ai(r,n)};this.target.postMessage(i,{transfer:n});}remove(){this.invoker.remove(),this.subscription.unsubscribe();}},t.D=Zi,t.E=Z,t.F=function(){var t=new eo(16);return eo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.G=$,t.H=function(t,e,r){var n,i,s,a,o,l,u,c,h,p,f,d,y=r[0],m=r[1],g=r[2];return e===t?(t[12]=e[0]*y+e[4]*m+e[8]*g+e[12],t[13]=e[1]*y+e[5]*m+e[9]*g+e[13],t[14]=e[2]*y+e[6]*m+e[10]*g+e[14],t[15]=e[3]*y+e[7]*m+e[11]*g+e[15]):(i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=e[9],f=e[10],d=e[11],t[0]=n=e[0],t[1]=i,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=p,t[10]=f,t[11]=d,t[12]=n*y+o*m+h*g+e[12],t[13]=i*y+l*m+p*g+e[13],t[14]=s*y+u*m+f*g+e[14],t[15]=a*y+c*m+d*g+e[15]),t},t.I=Cu,t.J=function(t,e,r){var n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.K=no,t.L=function(t,e){const r={};for(let n=0;n{const e=window.document.createElement(\"video\");return e.muted=!0,new Promise((r=>{e.onloadstart=()=>{r(e);};for(const r of t){const t=window.document.createElement(\"source\");R(r)||(e.crossOrigin=\"Anonymous\"),t.src=r,e.appendChild(t);}}))},t.a3=function(){return x++},t.a4=zs,t.a5=uc,t.a6=Pn,t.a7=Fa,t.a8=$i,t.a9=Oc,t.aA=function(t){if(\"custom\"===t.type)return new wc(t);switch(t.type){case\"background\":return new gc(t);case\"circle\":return new oo(t);case\"fill\":return new sl(t);case\"fill-extrusion\":return new Pl(t);case\"heatmap\":return new vo(t);case\"hillshade\":return new _o(t);case\"line\":return new Zl(t);case\"raster\":return new bc(t);case\"symbol\":return new dc(t)}},t.aB=w,t.aC=function(t,e){if(!t)return [{command:\"setStyle\",args:[e]}];let r=[];try{if(!X(t.version,e.version))return [{command:\"setStyle\",args:[e]}];X(t.center,e.center)||r.push({command:\"setCenter\",args:[e.center]}),X(t.zoom,e.zoom)||r.push({command:\"setZoom\",args:[e.zoom]}),X(t.bearing,e.bearing)||r.push({command:\"setBearing\",args:[e.bearing]}),X(t.pitch,e.pitch)||r.push({command:\"setPitch\",args:[e.pitch]}),X(t.sprite,e.sprite)||r.push({command:\"setSprite\",args:[e.sprite]}),X(t.glyphs,e.glyphs)||r.push({command:\"setGlyphs\",args:[e.glyphs]}),X(t.transition,e.transition)||r.push({command:\"setTransition\",args:[e.transition]}),X(t.light,e.light)||r.push({command:\"setLight\",args:[e.light]}),X(t.terrain,e.terrain)||r.push({command:\"setTerrain\",args:[e.terrain]}),X(t.sky,e.sky)||r.push({command:\"setSky\",args:[e.sky]});const n={},i=[];!function(t,e,r,n){let i;for(i in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)||W(i,r,n));for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)?X(t[i],e[i])||(\"geojson\"===t[i].type&&\"geojson\"===e[i].type&&tt(t,e,i)?H(r,{command:\"setGeoJSONSourceData\",args:[i,e[i].data]}):Q(i,e,r,n)):Y(i,e,r));}(t.sources,e.sources,i,n);const s=[];t.layers&&t.layers.forEach((t=>{\"source\"in t&&n[t.source]?r.push({command:\"removeLayer\",args:[t.id]}):s.push(t);})),r=r.concat(i),function(t,e,r){e=e||[];const n=(t=t||[]).map(rt),i=e.map(rt),s=t.reduce(nt,{}),a=e.reduce(nt,{}),o=n.slice(),l=Object.create(null);let u,c,h,p,f;for(let t=0,e=0;t@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const s=n||i;return e[r]=!s||s.toLowerCase(),\"\"})),e[\"max-age\"]){const t=parseInt(e[\"max-age\"],10);isNaN(t)?delete e[\"max-age\"]:e[\"max-age\"]=t;}return e},t.ab=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.ac=y,t.ad=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[0],a=e[1],o=e[2],l=e[3],u=e[4],c=e[5],h=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i+u*n,t[1]=a*i+c*n,t[2]=o*i+h*n,t[3]=l*i+p*n,t[4]=u*i-s*n,t[5]=c*i-a*n,t[6]=h*i-o*n,t[7]=p*i-l*n,t},t.ae=function(t){var e=new eo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.af=ao,t.ag=function(t,e){let r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){const{interpolationType:i,minZoom:s,maxZoom:a}=t,o=i?y(Ce.interpolationFactor(i,e,s,a),0,1):0;\"camera\"===t.kind?n=Be.number(t.minSize,t.maxSize,o):r=o;}return {uSizeT:r,uSize:n}},t.ai=function(t,{uSize:e,uSizeT:r},{lowerSize:n,upperSize:i}){return \"source\"===t.kind?n/Wu:\"composite\"===t.kind?Be.number(n/Wu,i/Wu,r):e},t.aj=sc,t.ak=function(t,e,r,n){const i=e.y-t.y,a=e.x-t.x,o=n.y-r.y,l=n.x-r.x,u=o*a-l*i;if(0===u)return null;const c=(l*(t.y-r.y)-o*(t.x-r.x))/u;return new s(t.x+c*a,t.y+c*i)},t.al=Nc,t.am=La,t.an=ro,t.ao=function(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const s of t)e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);return [e,r,n,i]},t.ap=tu,t.ar=ec,t.as=function(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],p=e[10],f=e[11],d=e[12],y=e[13],m=e[14],g=e[15],x=r*o-n*a,v=r*l-i*a,b=r*u-s*a,w=n*l-i*o,_=n*u-s*o,A=i*u-s*l,S=c*y-h*d,k=c*m-p*d,M=c*g-f*d,I=h*m-p*y,z=h*g-f*y,P=p*g-f*m,B=x*P-v*z+b*I+w*M-_*k+A*S;return B?(t[0]=(o*P-l*z+u*I)*(B=1/B),t[1]=(i*z-n*P-s*I)*B,t[2]=(y*A-m*_+g*w)*B,t[3]=(p*_-h*A-f*w)*B,t[4]=(l*M-a*P-u*k)*B,t[5]=(r*P-i*M+s*k)*B,t[6]=(m*b-d*A-g*v)*B,t[7]=(c*A-p*b+f*v)*B,t[8]=(a*z-o*M+u*S)*B,t[9]=(n*M-r*z-s*S)*B,t[10]=(d*_-y*b+g*x)*B,t[11]=(h*b-c*_-f*x)*B,t[12]=(o*k-a*I-l*S)*B,t[13]=(r*I-n*k+i*S)*B,t[14]=(y*v-d*w-m*x)*B,t[15]=(c*w-h*v+p*x)*B,t):null},t.at=mh,t.au=Ku,t.av=_h,t.aw=function(){const t={},e=K.$version;for(const r in K.$root){const n=K.$root[r];if(n.required){let i=null;i=\"version\"===r?e:\"array\"===n.type?[]:{},null!=i&&(t[r]=i);}}return t},t.ax=ki,t.ay=D,t.az=function(t){t=t.slice();const e=Object.create(null);for(let r=0;rt*tu));}let v=o?\"center\":n.get(\"text-justify\").evaluate(i,{},e.canonical);const b=n.get(\"symbol-placement\"),w=\"point\"===b?n.get(\"text-max-width\").evaluate(i,{},e.canonical)*tu:0,_=()=>{e.bucket.allowVerticalPlacement&&Ii(s)&&(d.vertical=Lu(y,e.glyphMap,e.glyphPositions,e.imagePositions,c,w,a,m,\"left\",f,g,t.ah.vertical,!0,b,p,h));};if(!o&&x){const r=new Set;if(\"auto\"===v)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:\"image/png\"});try{return createImageBitmap(e)}catch(t){throw new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),t.e=g,t.f=t=>new Promise(((e,r)=>{const n=new Image;n.onload=()=>{e(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=z;}));},n.onerror=()=>r(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));const i=new Blob([new Uint8Array(t)],{type:\"image/png\"});n.src=t.byteLength?URL.createObjectURL(i):z;})),t.g=T,t.h=(t,e)=>O(g(t,{type:\"json\"}),e),t.i=k,t.j=N,t.k=q,t.l=(t,e)=>O(g(t,{type:\"arrayBuffer\"}),e),t.m=O,t.n=function(t){return new Au(t).readFields(ku,[])},t.o=mo,t.p=Pu,t.q=Hi,t.r=yi,t.s=R,t.t=xi,t.u=Mi,t.v=K,t.w=A,t.x=di,t.y=function([t,e,r]){return e+=90,e*=Math.PI/180,r*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(r),y:t*Math.sin(e)*Math.sin(r),z:t*Math.cos(r)}},t.z=Be;}));\n\ndefine(\"worker\",[\"./shared\"],(function(e){\"use strict\";class t{constructor(e){this.keyCache={},e&&this.replace(e);}replace(e){this._layerConfigs={},this._layers={},this.update(e,[]);}update(t,r){for(const r of t){this._layerConfigs[r.id]=r;const t=this._layers[r.id]=e.aA(r);t._featureFilter=e.a6(t.filter),this.keyCache[r.id]&&delete this.keyCache[r.id];}for(const e of r)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const i=e.bi(Object.values(this._layerConfigs),this.keyCache);for(const e of i){const t=e.map((e=>this._layers[e.id])),r=t[0];if(\"none\"===r.visibility)continue;const i=r.source||\"\";let o=this.familiesBySource[i];o||(o=this.familiesBySource[i]={});const s=r.sourceLayer||\"_geojsonTileLayer\";let n=o[s];n||(n=o[s]=[]),n.push(t);}}}class r{constructor(t){const r={},i=[];for(const e in t){const o=t[e],s=r[e]={};for(const e in o){const t=o[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const r={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};i.push(r),s[e]={rect:r,metrics:t.metrics};}}const{w:o,h:s}=e.p(i),n=new e.o({width:o||1,height:s||1});for(const i in t){const o=t[i];for(const t in o){const s=o[+t];if(!s||0===s.bitmap.width||0===s.bitmap.height)continue;const a=r[i][t].rect;e.o.copy(s.bitmap,n,{x:0,y:0},{x:a.x+1,y:a.y+1},s.bitmap);}}this.image=n,this.positions=r;}}e.bj(\"GlyphAtlas\",r);class i{constructor(t){this.tileID=new e.Q(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[];}parse(t,i,s,n){return e._(this,void 0,void 0,(function*(){this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.a4;const a=new e.bk(Object.keys(t.layers).sort()),l=new e.bl(this.tileID,this.promoteId);l.bucketLayerIDs=[];const h={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:s},c=i.familiesBySource[this.source];for(const r in c){const i=t.layers[r];if(!i)continue;1===i.version&&e.w(`Vector tile source \"${this.source}\" layer \"${r}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const n=a.encode(r),d=[];for(let e=0;e=r.maxzoom||\"none\"!==r.visibility&&(o(t,this.zoom,s),(h[r.id]=r.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:n,sourceID:this.source})).populate(d,u,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))));}}const d=e.aF(u.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>null==e?void 0:e.abort())),this.inFlightDependencies=[];let p=Promise.resolve({});if(Object.keys(d).length){const e=new AbortController;this.inFlightDependencies.push(e),p=n.sendAsync({type:\"GG\",data:{stacks:d,source:this.source,tileID:this.tileID,type:\"glyphs\"}},e);}const g=Object.keys(u.iconDependencies);let f=Promise.resolve({});if(g.length){const e=new AbortController;this.inFlightDependencies.push(e),f=n.sendAsync({type:\"GI\",data:{icons:g,source:this.source,tileID:this.tileID,type:\"icons\"}},e);}const m=Object.keys(u.patternDependencies);let v=Promise.resolve({});if(m.length){const e=new AbortController;this.inFlightDependencies.push(e),v=n.sendAsync({type:\"GI\",data:{icons:m,source:this.source,tileID:this.tileID,type:\"patterns\"}},e);}const[y,w,x]=yield Promise.all([p,f,v]),b=new r(y),S=new e.bm(w,x);for(const t in h){const r=h[t];r instanceof e.a5?(o(r.layers,this.zoom,s),e.bn({bucket:r,glyphMap:y,glyphPositions:b.positions,imageMap:w,imagePositions:S.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):r.hasPattern&&(r instanceof e.bo||r instanceof e.bp||r instanceof e.bq)&&(o(r.layers,this.zoom,s),r.addFeatures(u,this.tileID.canonical,S.patternPositions));}return this.status=\"done\",{buckets:Object.values(h).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:S,glyphMap:this.returnDependencies?y:null,iconMap:this.returnDependencies?w:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function o(t,r,i){const o=new e.a8(r);for(const e of t)e.recalculate(o,i);}class s{constructor(e,t,r){this.actor=e,this.layerIndex=t,this.availableImages=r,this.fetching={},this.loading={},this.loaded={};}loadVectorTile(t,r){return e._(this,void 0,void 0,(function*(){const i=yield e.l(t.request,r);try{return {vectorTile:new e.br.VectorTile(new e.bs(i.data)),rawData:i.data,cacheControl:i.cacheControl,expires:i.expires}}catch(e){const r=new Uint8Array(i.data);let o=`Unable to parse the tile at ${t.request.url}, `;throw o+=31===r[0]&&139===r[1]?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${e.messge}`,new Error(o)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){const r=t.uid,o=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bt(t.request),s=new i(t);this.loading[r]=s;const n=new AbortController;s.abort=n;try{const i=yield this.loadVectorTile(t,n);if(delete this.loading[r],!i)return null;const a=i.rawData,l={};i.expires&&(l.expires=i.expires),i.cacheControl&&(l.cacheControl=i.cacheControl);const h={};if(o){const e=o.finish();e&&(h.resourceTiming=JSON.parse(JSON.stringify(e)));}s.vectorTile=i.vectorTile;const u=s.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[r]=s,this.fetching[r]={rawTileData:a,cacheControl:l,resourceTiming:h};try{const t=yield u;return e.e({rawTileData:a.slice(0)},t,l,h)}finally{delete this.fetching[r];}}catch(e){throw delete this.loading[r],s.status=\"done\",this.loaded[r]=s,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){const r=t.uid;if(!this.loaded||!this.loaded[r])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");const i=this.loaded[r];if(i.showCollisionBoxes=t.showCollisionBoxes,\"parsing\"===i.status){const t=yield i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor);let o;if(this.fetching[r]){const{rawTileData:i,cacheControl:s,resourceTiming:n}=this.fetching[r];delete this.fetching[r],o=e.e({rawTileData:i.slice(0)},t,s,n);}else o=t;return o}if(\"done\"===i.status&&i.vectorTile)return i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){const e=this.loading,r=t.uid;e&&e[r]&&e[r].abort&&(e[r].abort.abort(),delete e[r]);}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid];}))}}class n{constructor(){this.loaded={};}loadTile(t){return e._(this,void 0,void 0,(function*(){const{uid:r,encoding:i,rawImageData:o,redFactor:s,greenFactor:n,blueFactor:a,baseShift:l}=t,h=o.width+2,u=o.height+2,c=e.b(o)?new e.R({width:h,height:u},yield e.bu(o,-1,-1,h,u)):o,d=new e.bv(r,c,i,s,n,a,l);return this.loaded=this.loaded||{},this.loaded[r]=d,d}))}removeTile(e){const t=this.loaded,r=e.uid;t&&t[r]&&delete t[r];}}function a(e,t){if(0!==e.length){l(e[0],t);for(var r=1;r=Math.abs(a)?r-l+a:a-l+r,r=l;}r+i>=0!=!!t&&e.reverse();}var h=e.bw((function e(t,r){var i,o=t&&t.type;if(\"FeatureCollection\"===o)for(i=0;i>31}function I(e,t){for(var r=e.loadGeometry(),i=e.type,o=0,s=0,n=r.length,a=0;ae},D=Math.fround||(C=new Float32Array(1),e=>(C[0]=+e,C[0]));var C;const L=3,O=5,F=6;class z{constructor(e){this.options=Object.assign(Object.create(T),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[];}load(e){const{log:t,minZoom:r,maxZoom:i}=this.options;t&&console.time(\"total time\");const o=`prepare ${e.length} points`;t&&console.time(o),this.points=e;const s=[];for(let t=0;t=r;e--){const r=+Date.now();n=this.trees[e]=this._createTree(this._cluster(n,e)),t&&console.log(\"z%d: %d clusters in %dms\",e,n.numItems,+Date.now()-r);}return t&&console.timeEnd(\"total time\"),this}getClusters(e,t){let r=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let o=180===e[2]?180:((e[2]+180)%360+360)%360-180;const s=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)r=-180,o=180;else if(r>o){const e=this.getClusters([r,i,180,s],t),n=this.getClusters([-180,i,o,s],t);return e.concat(n)}const n=this.trees[this._limitZoom(t)],a=n.range(G(r),j(s),G(o),j(i)),l=n.data,h=[];for(const e of a){const t=this.stride*e;h.push(l[t+O]>1?A(l,t,this.clusterProps):this.points[l[t+L]]);}return h}getChildren(e){const t=this._getOriginId(e),r=this._getOriginZoom(e),i=\"No cluster with the specified id.\",o=this.trees[r];if(!o)throw new Error(i);const s=o.data;if(t*this.stride>=s.length)throw new Error(i);const n=this.options.radius/(this.options.extent*Math.pow(2,r-1)),a=o.within(s[t*this.stride],s[t*this.stride+1],n),l=[];for(const t of a){const r=t*this.stride;s[r+4]===e&&l.push(s[r+O]>1?A(s,r,this.clusterProps):this.points[s[r+L]]);}if(0===l.length)throw new Error(i);return l}getLeaves(e,t,r){const i=[];return this._appendLeaves(i,e,t=t||10,r=r||0,0),i}getTile(e,t,r){const i=this.trees[this._limitZoom(e)],o=Math.pow(2,e),{extent:s,radius:n}=this.options,a=n/s,l=(r-a)/o,h=(r+1+a)/o,u={features:[]};return this._addTileFeatures(i.range((t-a)/o,l,(t+1+a)/o,h),i.data,t,r,o,u),0===t&&this._addTileFeatures(i.range(1-a/o,l,1,h),i.data,o,r,o,u),t===o-1&&this._addTileFeatures(i.range(0,l,a/o,h),i.data,-1,r,o,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const r=this.getChildren(e);if(t++,1!==r.length)break;e=r[0].properties.cluster_id;}return t}_appendLeaves(e,t,r,i,o){const s=this.getChildren(t);for(const t of s){const s=t.properties;if(s&&s.cluster?o+s.point_count<=i?o+=s.point_count:o=this._appendLeaves(e,s.cluster_id,r,i,o):o1;let l,h,u;if(a)l=E(t,e,this.clusterProps),h=t[e],u=t[e+1];else {const r=this.points[t[e+L]];l=r.properties;const[i,o]=r.geometry.coordinates;h=G(i),u=j(o);}const c={type:1,geometry:[[Math.round(this.options.extent*(h*o-r)),Math.round(this.options.extent*(u*o-i))]],tags:l};let d;d=a||this.options.generateId?t[e+L]:this.points[t[e+L]].id,void 0!==d&&(c.id=d),s.features.push(c);}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:r,extent:i,reduce:o,minPoints:s}=this.options,n=r/(i*Math.pow(2,t)),a=e.data,l=[],h=this.stride;for(let r=0;rt&&(p+=a[r+O]);}if(p>d&&p>=s){let e,s=i*d,n=u*d,g=-1;const f=((r/h|0)<<5)+(t+1)+this.points.length;for(const i of c){const l=i*h;if(a[l+2]<=t)continue;a[l+2]=t;const u=a[l+O];s+=a[l]*u,n+=a[l+1]*u,a[l+4]=f,o&&(e||(e=this._map(a,r,!0),g=this.clusterProps.length,this.clusterProps.push(e)),o(e,this._map(a,l)));}a[r+4]=f,l.push(s/p,n/p,1/0,f,-1,p),o&&l.push(g);}else {for(let e=0;e1)for(const e of c){const r=e*h;if(!(a[r+2]<=t)){a[r+2]=t;for(let e=0;e>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t,r){if(e[t+O]>1){const i=this.clusterProps[e[t+F]];return r?Object.assign({},i):i}const i=this.points[e[t+L]].properties,o=this.options.map(i);return r&&o===i?Object.assign({},o):o}}function A(e,t,r){return {type:\"Feature\",id:e[t+L],properties:E(e,t,r),geometry:{type:\"Point\",coordinates:[(i=e[t],360*(i-.5)),R(e[t+1])]}};var i;}function E(e,t,r){const i=e[t+O],o=i>=1e4?`${Math.round(i/1e3)}k`:i>=1e3?Math.round(i/100)/10+\"k\":i,s=e[t+F],n=-1===s?{}:Object.assign({},r[s]);return Object.assign(n,{cluster:!0,cluster_id:e[t+L],point_count:i,point_count_abbreviated:o})}function G(e){return e/360+.5}function j(e){const t=Math.sin(e*Math.PI/180),r=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return r<0?0:r>1?1:r}function R(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function Z(e,t,r,i){for(var o,s=i,n=r-t>>1,a=r-t,l=e[t],h=e[t+1],u=e[r],c=e[r+1],d=t+3;ds)o=d,s=p;else if(p===s){var g=Math.abs(d-n);gi&&(o-t>3&&Z(e,t,o,i),e[o+2]=s,r-o>3&&Z(e,o,r,i));}function N(e,t,r,i,o,s){var n=o-r,a=s-i;if(0!==n||0!==a){var l=((e-r)*n+(t-i)*a)/(n*n+a*a);l>1?(r=o,i=s):l>0&&(r+=n*l,i+=a*l);}return (n=e-r)*n+(a=t-i)*a}function W(e,t,r,i){var o={id:void 0===e?null:e,type:t,geometry:r,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};return function(e){var t=e.geometry,r=e.type;if(\"Point\"===r||\"MultiPoint\"===r||\"LineString\"===r)J(e,t);else if(\"Polygon\"===r||\"MultiLineString\"===r)for(var i=0;i0&&(n+=i?(o*h-l*s)/2:Math.sqrt(Math.pow(l-o,2)+Math.pow(h-s,2))),o=l,s=h;}var u=t.length-3;t[2]=1,Z(t,0,u,r),t[u+2]=1,t.size=Math.abs(n),t.start=0,t.end=t.size;}function q(e,t,r,i){for(var o=0;o1?1:r}function U(e,t,r,i,o,s,n,a){if(i/=t,s>=(r/=t)&&n=i)return null;for(var l=[],h=0;h=r&&g=i)){var f=[];if(\"Point\"===d||\"MultiPoint\"===d)$(c,f,r,i,o);else if(\"LineString\"===d)Q(c,f,r,i,o,!1,a.lineMetrics);else if(\"MultiLineString\"===d)ee(c,f,r,i,o,!1);else if(\"Polygon\"===d)ee(c,f,r,i,o,!0);else if(\"MultiPolygon\"===d)for(var m=0;m=r&&n<=i&&(t.push(e[s]),t.push(e[s+1]),t.push(e[s+2]));}}function Q(e,t,r,i,o,s,n){for(var a,l,h=K(e),u=0===o?re:ie,c=e.start,d=0;dr&&(l=u(h,p,g,m,v,r),n&&(h.start=c+a*l)):y>i?w=r&&(l=u(h,p,g,m,v,r),x=!0),w>i&&y<=i&&(l=u(h,p,g,m,v,i),x=!0),!s&&x&&(n&&(h.end=c+a*l),t.push(h),h=K(e)),n&&(c+=a);}var b=e.length-3;p=e[b],g=e[b+1],f=e[b+2],(y=0===o?p:g)>=r&&y<=i&&te(h,p,g,f),b=h.length-3,s&&b>=3&&(h[b]!==h[0]||h[b+1]!==h[1])&&te(h,h[0],h[1],h[2]),h.length&&t.push(h);}function K(e){var t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function ee(e,t,r,i,o,s){for(var n=0;nn.maxX&&(n.maxX=u),c>n.maxY&&(n.maxY=c);}return n}function he(e,t,r,i){var o=t.geometry,s=t.type,n=[];if(\"Point\"===s||\"MultiPoint\"===s)for(var a=0;a0&&t.size<(o?n:i))r.numPoints+=t.length/3;else {for(var a=[],l=0;ln)&&(r.numSimplified++,a.push(t[l]),a.push(t[l+1])),r.numPoints++;o&&function(e,t){for(var r=0,i=0,o=e.length,s=o-2;i0===t)for(i=0,o=e.length;i24)throw new Error(\"maxZoom should be in the 0-24 range\");if(t.promoteId&&t.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");var i=function(e,t){var r=[];if(\"FeatureCollection\"===e.type)for(var i=0;i1&&console.time(\"creation\"),d=this.tiles[c]=le(e,t,r,i,l),this.tileCoords.push({z:t,x:r,y:i}),h)){h>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,r,i,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd(\"creation\"));var p=\"z\"+t;this.stats[p]=(this.stats[p]||0)+1,this.total++;}if(d.source=e,o){if(t===l.maxZoom||t===o)continue;var g=1<1&&console.time(\"clipping\");var f,m,v,y,w,x,b=.5*l.buffer/l.extent,S=.5-b,_=.5+b,M=1+b;f=m=v=y=null,w=U(e,u,r-b,r+_,0,d.minX,d.maxX,l),x=U(e,u,r+S,r+M,0,d.minX,d.maxX,l),e=null,w&&(f=U(w,u,i-b,i+_,1,d.minY,d.maxY,l),m=U(w,u,i+S,i+M,1,d.minY,d.maxY,l),w=null),x&&(v=U(x,u,i-b,i+_,1,d.minY,d.maxY,l),y=U(x,u,i+S,i+M,1,d.minY,d.maxY,l),x=null),h>1&&console.timeEnd(\"clipping\"),a.push(f||[],t+1,2*r,2*i),a.push(m||[],t+1,2*r,2*i+1),a.push(v||[],t+1,2*r+1,2*i),a.push(y||[],t+1,2*r+1,2*i+1);}}},ce.prototype.getTile=function(e,t,r){var i=this.options,o=i.extent,s=i.debug;if(e<0||e>24)return null;var n=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,r);for(var l,h=e,u=t,c=r;!l&&h>0;)h--,u=Math.floor(u/2),c=Math.floor(c/2),l=this.tiles[de(h,u,c)];return l&&l.source?(s>1&&console.log(\"found parent tile z%d-%d-%d\",h,u,c),s>1&&console.time(\"drilling down\"),this.splitTile(l.source,h,u,c,e,t,r),s>1&&console.timeEnd(\"drilling down\"),this.tiles[a]?ne(this.tiles[a],o):null):null};class me extends s{constructor(){super(...arguments),this._dataUpdateable=new Map;}loadVectorTile(t,r){return e._(this,void 0,void 0,(function*(){const r=t.tileID.canonical;if(!this._geoJSONIndex)throw new Error(\"Unable to parse the data into a cluster or geojson\");const i=this._geoJSONIndex.getTile(r.z,r.x,r.y);if(!i)return null;const o=new class{constructor(t){this.layers={_geojsonTileLayer:this},this.name=\"_geojsonTileLayer\",this.extent=e.W,this.length=t.length,this._features=t;}feature(t){return new class{constructor(t){this._feature=t,this.extent=e.W,this.type=t.type,this.properties=t.tags,\"id\"in t&&!isNaN(t.id)&&(this.id=parseInt(t.id,10));}loadGeometry(){if(1===this._feature.type){const t=[];for(const r of this._feature.geometry)t.push([new e.P(r[0],r[1])]);return t}{const t=[];for(const r of this._feature.geometry){const i=[];for(const t of r)i.push(new e.P(t[0],t[1]));t.push(i);}return t}}toGeoJSON(e,t,r){return u.call(this,e,t,r)}}(this._features[t])}}(i.features);let s=k(o);return 0===s.byteOffset&&s.byteLength===s.buffer.byteLength||(s=new Uint8Array(s)),{vectorTile:o,rawData:s.buffer}}))}loadData(t){return e._(this,void 0,void 0,(function*(){var r;null===(r=this._pendingRequest)||void 0===r||r.abort();const i=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bt(t.request);this._pendingRequest=new AbortController;try{this._pendingData=this.loadAndProcessGeoJSON(t,this._pendingRequest),this._geoJSONIndex=t.cluster?new z(function({superclusterOptions:t,clusterProperties:r}){if(!r||!t)return t;const i={},o={},s={accumulated:null,zoom:0},n={properties:null},a=Object.keys(r);for(const t of a){const[s,n]=r[t],a=e.bA(n),l=e.bA(\"string\"==typeof s?[s,[\"accumulated\"],[\"get\",t]]:s);i[t]=a.value,o[t]=l.value;}return t.map=e=>{n.properties=e;const t={};for(const e of a)t[e]=i[e].evaluate(s,n);return t},t.reduce=(e,t)=>{n.properties=t;for(const t of a)s.accumulated=e[t],e[t]=o[t].evaluate(s,n);},t}(t)).load((yield this._pendingData).features):new ce(yield this._pendingData,t.geojsonVtOptions),this.loaded={};const r={};if(i){const e=i.finish();e&&(r.resourceTiming={},r.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)));}return r}catch(t){if(delete this._pendingRequest,e.bz(t))return {abandoned:!0};throw t}}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){const t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,r){return e._(this,void 0,void 0,(function*(){let i=yield this.loadGeoJSON(t,r);if(delete this._pendingRequest,\"object\"!=typeof i)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(h(i,!0),t.filter){const r=e.bA(t.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===r.result)throw new Error(r.value.map((e=>`${e.key}: ${e.message}`)).join(\", \"));const o=i.features.filter((e=>r.value.evaluate({zoom:0},e)));i={type:\"FeatureCollection\",features:o};}return i}))}loadGeoJSON(t,r){return e._(this,void 0,void 0,(function*(){const{promoteId:i}=t;if(t.request){const o=yield e.h(t.request,r);return this._dataUpdateable=ge(o.data,i)?fe(o.data,i):void 0,o.data}if(\"string\"==typeof t.data)try{const e=JSON.parse(t.data);return this._dataUpdateable=ge(e,i)?fe(e,i):void 0,e}catch(e){throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,r){var i,o,s,n;if(t.removeAll&&e.clear(),t.remove)for(const r of t.remove)e.delete(r);if(t.add)for(const i of t.add){const t=pe(i,r);null!=t&&e.set(t,i);}if(t.update)for(const r of t.update){let t=e.get(r.id);if(null==t)continue;const a=!r.removeAllProperties&&((null===(i=r.removeProperties)||void 0===i?void 0:i.length)>0||(null===(o=r.addOrUpdateProperties)||void 0===o?void 0:o.length)>0);if((r.newGeometry||r.removeAllProperties||a)&&(t=Object.assign({},t),e.set(r.id,t),a&&(t.properties=Object.assign({},t.properties))),r.newGeometry&&(t.geometry=r.newGeometry),r.removeAllProperties)t.properties={};else if((null===(s=r.removeProperties)||void 0===s?void 0:s.length)>0)for(const e of r.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(n=r.addOrUpdateProperties)||void 0===n?void 0:n.length)>0)for(const{key:e,value:i}of r.addOrUpdateProperties)t.properties[e]=i;}}(this._dataUpdateable,t.dataDiff,i),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort();}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class ve{constructor(t){this.self=t,this.actor=new e.C(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw new Error(`Worker source with name \"${e}\" already registered.`);this.externalWorkerSourceTypes[e]=t;},this.self.addProtocol=e.bg,this.self.removeProtocol=e.bh,this.self.registerRTLTextPlugin=t=>{if(e.bB.isParsed())throw new Error(\"RTL text plugin already registered.\");e.bB.setMethods(t);},this.actor.registerMessageHandler(\"LDT\",((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler(\"RDT\",((t,r)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,r.source).removeTile(r);})))),this.actor.registerMessageHandler(\"GCEZ\",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterExpansionZoom(r)})))),this.actor.registerMessageHandler(\"GCC\",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterChildren(r)})))),this.actor.registerMessageHandler(\"GCL\",((t,r)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,r.type,r.source).getClusterLeaves(r)})))),this.actor.registerMessageHandler(\"LD\",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler(\"GD\",((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler(\"LT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler(\"RT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler(\"AT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler(\"RMT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler(\"RS\",((t,r)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][r.type]||!this.workerSources[t][r.type][r.source])return;const e=this.workerSources[t][r.type][r.source];delete this.workerSources[t][r.type][r.source],void 0!==e.removeSource&&e.removeSource(r);})))),this.actor.registerMessageHandler(\"RM\",(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t];})))),this.actor.registerMessageHandler(\"SR\",((t,r)=>e._(this,void 0,void 0,(function*(){this.referrer=r;})))),this.actor.registerMessageHandler(\"SRPS\",((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler(\"IS\",((t,r)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(r);})))),this.actor.registerMessageHandler(\"SI\",((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler(\"UL\",((t,r)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(r.layers,r.removedIds);})))),this.actor.registerMessageHandler(\"SL\",((t,r)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(r);}))));}_setImages(t,r){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=r;for(const e in this.workerSources[t]){const i=this.workerSources[t][e];for(const e in i)i[e].availableImages=r;}}))}_syncRTLPluginState(t,r){return e._(this,void 0,void 0,(function*(){if(e.bB.isParsed())return e.bB.getState();if(\"loading\"!==r.pluginStatus)return e.bB.setState(r),r;const t=r.pluginURL;if(this.self.importScripts(t),e.bB.isParsed()){const r={pluginStatus:\"loaded\",pluginURL:t};return e.bB.setState(r),r}throw e.bB.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let r=this.layerIndexes[e];return r||(r=this.layerIndexes[e]=new t),r}_getWorkerSource(e,t,r){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][r]){const i={sendAsync:(t,r)=>(t.targetMapId=e,this.actor.sendAsync(t,r))};switch(t){case\"vector\":this.workerSources[e][t][r]=new s(i,this._getLayerIndex(e),this._getAvailableImages(e));break;case\"geojson\":this.workerSources[e][t][r]=new me(i,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][r]=new this.externalWorkerSourceTypes[t](i,this._getLayerIndex(e),this._getAvailableImages(e));}}return this.workerSources[e][t][r]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new n),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new ve(self)),ve}));\n\ndefine(\"index\",[\"exports\",\"./shared\"],(function(t,e){\"use strict\";var i=\"4.3.2\";let a,s;const o={now:\"undefined\"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:t=>new Promise(((i,a)=>{const s=requestAnimationFrame(i);t.signal.addEventListener(\"abort\",(()=>{cancelAnimationFrame(s),a(e.c());}));})),getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement(\"canvas\"),i=e.getContext(\"2d\",{willReadFrequently:!0});if(!i)throw new Error(\"failed to create canvas 2d context\");return e.width=t.width,e.height=t.height,i.drawImage(t,0,0,t.width,t.height),i},resolveURL:t=>(a||(a=document.createElement(\"a\")),a.href=t,a.href),hardwareConcurrency:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return !!matchMedia&&(null==s&&(s=matchMedia(\"(prefers-reduced-motion: reduce)\")),s.matches)}};class r{static testProp(t){if(!r.docStyle)return t[0];for(let e=0;e{window.removeEventListener(\"click\",r.suppressClickInternal,!0);}),0);}static getScale(t){const e=t.getBoundingClientRect();return {x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,i,a){const s=i.boundingClientRect;return new e.P((a.clientX-s.left)/i.x-t.clientLeft,(a.clientY-s.top)/i.y-t.clientTop)}static mousePos(t,e){const i=r.getScale(t);return r.getPoint(t,i,e)}static touchPos(t,e){const i=[],a=r.getScale(t);for(let s=0;s{l&&d(l),l=null,u=!0;},h.onerror=()=>{c=!0,l=null;},h.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(t){let i,a,s,o;t.resetRequestQueue=()=>{i=[],a=0,s=0,o={};},t.addThrottleControl=t=>{const e=s++;return o[e]=t,e},t.removeThrottleControl=t=>{delete o[t],l();},t.getImage=(t,a,s=!0)=>new Promise(((o,r)=>{n.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),e.e(t,{type:\"image\"}),i.push({abortController:a,requestParameters:t,supportImageRefresh:s,state:\"queued\",onError:t=>{r(t);},onSuccess:t=>{o(t);}}),l();}));const r=t=>e._(this,void 0,void 0,(function*(){t.state=\"running\";const{requestParameters:i,supportImageRefresh:s,onError:o,onSuccess:r,abortController:n}=t,c=!1===s&&!e.i(self)&&!e.g(i.url)&&(!i.headers||Object.keys(i.headers).reduce(((t,e)=>t&&\"accept\"===e),!0));a++;const u=c?h(i,n):e.m(i,n);try{const i=yield u;delete t.abortController,t.state=\"completed\",i.data instanceof HTMLImageElement||e.b(i.data)?r(i):i.data&&r({data:yield(d=i.data,\"function\"==typeof createImageBitmap?e.d(d):e.f(d)),cacheControl:i.cacheControl,expires:i.expires});}catch(e){delete t.abortController,o(e);}finally{a--,l();}var d;})),l=()=>{const t=(()=>{for(const t of Object.keys(o))if(o[t]())return !0;return !1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=a;e0;e++){const t=i.shift();t.abortController.signal.aborted?e--:r(t);}},h=(t,i)=>new Promise(((a,s)=>{const o=new Image,r=t.url,n=t.credentials;n&&\"include\"===n?o.crossOrigin=\"use-credentials\":(n&&\"same-origin\"===n||!e.s(r))&&(o.crossOrigin=\"anonymous\"),i.signal.addEventListener(\"abort\",(()=>{o.src=\"\",s(e.c());})),o.fetchPriority=\"high\",o.onload=()=>{o.onerror=o.onload=null,a({data:o});},o.onerror=()=>{o.onerror=o.onload=null,i.signal.aborted||s(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));},o.src=r;}));}(_||(_={})),_.resetRequestQueue();class p{constructor(t){this._transformRequestFn=t;}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t;}}function m(t){var i=new e.A(3);return i[0]=t[0],i[1]=t[1],i[2]=t[2],i}var f,g=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t};f=new e.A(3),e.A!=Float32Array&&(f[0]=0,f[1]=0,f[2]=0);var v=function(t){var e=t[0],i=t[1];return e*e+i*i};function x(t){const e=[];if(\"string\"==typeof t)e.push({id:\"default\",url:t});else if(t&&t.length>0){const i=[];for(const{id:a,url:s}of t){const t=`${a}${s}`;-1===i.indexOf(t)&&(i.push(t),e.push({id:a,url:s}));}}return e}function y(t,e,i){const a=t.split(\"?\");return a[0]+=`${e}${i}`,a.join(\"?\")}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0);}();class b{constructor(t,e,i,a){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,a);}update(t,i,a){const{width:s,height:o}=t,r=!(this.size&&this.size[0]===s&&this.size[1]===o||a),{context:n}=this,{gl:l}=n;if(this.useMipmap=Boolean(i&&i.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),n.pixelStoreUnpackFlipY.set(!1),n.pixelStoreUnpack.set(1),n.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!i||!1!==i.premultiply)),r)this.size=[s,o],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,s,o,0,this.format,l.UNSIGNED_BYTE,t.data);else {const{x:i,y:r}=a||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,i,r,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,i,r,s,o,l.RGBA,l.UNSIGNED_BYTE,t.data);}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D);}bind(t,e,i){const{context:a}=this,{gl:s}=a;s.bindTexture(s.TEXTURE_2D,this.texture),i!==s.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=s.LINEAR),t!==this.filter&&(s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,t),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,i||t),this.filter=t),e!==this.wrap&&(s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,e),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,e),this.wrap=e);}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null;}}function w(t){const{userImage:e}=t;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class T extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0;}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[];}}getImage(t){const i=this.images[t];if(i&&!i.data&&i.spriteData){const t=i.spriteData;i.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),i.spriteData=null;}return i}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e);}_validate(t,i){let a=!0;const s=i.data||i.spriteData;return this._validateStretch(i.stretchX,s&&s.width)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchX\" value`))),a=!1),this._validateStretch(i.stretchY,s&&s.height)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchY\" value`))),a=!1),this._validateContent(i.content,i)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"content\" value`))),a=!1),a}_validateStretch(t,e){if(!t)return !0;let i=0;for(const a of t){if(a[0]{let a=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(a=!1);this.isLoaded()||a?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e});}))}_getImagesForIds(t){const i={};for(const a of t){let t=this.getImage(a);t||(this.fire(new e.k(\"styleimagemissing\",{id:a})),t=this.getImage(a)),t?i[a]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image \"${a}\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.`);}return i}getPixelSize(){const{width:t,height:e}=this.atlasImage;return {width:t,height:e}}getPattern(t){const i=this.patterns[t],a=this.getImage(t);if(!a)return null;if(i&&i.position.version===a.version)return i.position;if(i)i.position.version=a.version;else {const i={w:a.data.width+2,h:a.data.height+2,x:0,y:0},s=new e.I(i,a);this.patterns[t]={bin:i,position:s};}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new b(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE);}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:i,h:a}=e.p(t),s=this.atlasImage;s.resize({width:i||1,height:a||1});for(const t in this.patterns){const{bin:i}=this.patterns[t],a=i.x+1,o=i.y+1,r=this.getImage(t).data,n=r.width,l=r.height;e.R.copy(r,s,{x:0,y:0},{x:a,y:o},{width:n,height:l}),e.R.copy(r,s,{x:0,y:l-1},{x:a,y:o-1},{width:n,height:1}),e.R.copy(r,s,{x:0,y:0},{x:a,y:o+l},{width:n,height:1}),e.R.copy(r,s,{x:n-1,y:0},{x:a-1,y:o},{width:1,height:l}),e.R.copy(r,s,{x:0,y:0},{x:a+n,y:o},{width:1,height:l});}this.dirty=!0;}beginFrame(){this.callbackDispatchedThisFrame={};}dispatchRenderCallbacks(t){for(const i of t){if(this.callbackDispatchedThisFrame[i])continue;this.callbackDispatchedThisFrame[i]=!0;const t=this.getImage(i);t||e.w(`Image with ID: \"${i}\" was not found`),w(t)&&this.updateImage(i,t);}}}const I=1e20;function E(t,e,i,a,s,o,r,n,l){for(let h=e;h-1);l++,o[l]=n,r[l]=h,r[l+1]=I;}for(let n=0,l=0;n65535)throw new Error(\"glyphs > 65535 not supported\");if(e.ranges[s])return {stack:t,id:i,glyph:a};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!e.requests[s]){const i=C.loadGlyphRange(t,s,this.url,this.requestManager);e.requests[s]=i;}const o=yield e.requests[s];for(const t in o)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=o[+t]);return e.ranges[s]=!0,{stack:t,id:i,glyph:o[i]||null}}))}_doesCharSupportLocalGlyph(t){return !!this.localIdeographFontFamily&&(e.u[\"CJK Unified Ideographs\"](t)||e.u[\"Hangul Syllables\"](t)||e.u.Hiragana(t)||e.u.Katakana(t))}_tinySDF(t,i,a){const s=this.localIdeographFontFamily;if(!s)return;if(!this._doesCharSupportLocalGlyph(a))return;let o=t.tinySDF;if(!o){let e=\"400\";/bold/i.test(i)?e=\"900\":/medium/i.test(i)?e=\"500\":/light/i.test(i)&&(e=\"200\"),o=t.tinySDF=new C.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:s,fontWeight:e});}const r=o.draw(String.fromCharCode(a));return {id:a,bitmap:new e.o({width:r.width||60,height:r.height||60},r.data),metrics:{width:r.glyphWidth/2||24,height:r.glyphHeight/2||24,left:r.glyphLeft/2+.5||0,top:r.glyphTop/2-27.5||-8,advance:r.glyphAdvance/2||24,isDoubleResolution:!0}}}}C.loadGlyphRange=function(t,i,a,s){return e._(this,void 0,void 0,(function*(){const o=256*i,r=o+255,n=s.transformRequest(a.replace(\"{fontstack}\",t).replace(\"{range}\",`${o}-${r}`),\"Glyphs\"),l=yield e.l(n,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${i}, ${o}-${r}`);const h={};for(const t of e.n(l.data))h[t.id]=t;return h}))},C.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:a=.25,fontFamily:s=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:r=\"normal\"}={}){this.buffer=e,this.cutoff=a,this.radius=i;const n=this.size=t+4*e,l=this._createCanvas(n),h=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});h.font=`${r} ${o} ${t}px ${s}`,h.textBaseline=\"alphabetic\",h.textAlign=\"left\",h.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Uint16Array(n);}_createCanvas(t){const e=document.createElement(\"canvas\");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:a,actualBoundingBoxLeft:s,actualBoundingBoxRight:o}=this.ctx.measureText(t),r=Math.ceil(i),n=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-s))),l=Math.min(this.size-this.buffer,r+Math.ceil(a)),h=n+2*this.buffer,c=l+2*this.buffer,u=Math.max(h*c,0),d=new Uint8ClampedArray(u),_={data:d,width:h,height:c,glyphWidth:n,glyphHeight:l,glyphTop:r,glyphLeft:0,glyphAdvance:e};if(0===n||0===l)return _;const{ctx:p,buffer:m,gridInner:f,gridOuter:g}=this;p.clearRect(m,m,n,l),p.fillText(t,m,m+r);const v=p.getImageData(m,m,n,l);g.fill(I,0,u),f.fill(0,0,u);for(let t=0;t0?t*t:0,f[a]=t<0?t*t:0;}}E(g,0,0,h,c,h,this.f,this.v,this.z),E(f,m,m,n,l,h,this.f,this.v,this.z);for(let t=0;t1&&(r=t[++o]);const l=Math.abs(n-r.left),h=Math.abs(n-r.right),c=Math.min(l,h);let u;const d=e/i*(a+1);if(r.isDash){const t=a-Math.abs(d);u=Math.sqrt(c*c+t*t);}else u=a-Math.sqrt(c*c+d*d);this.data[s+n]=Math.max(0,Math.min(255,u+128));}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],a=t[e+1];i.zeroLength?t.splice(e,1):a&&a.isDash===i.isDash&&(a.left=i.left,t.splice(e,1));}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const a=this.width*this.nextRow;let s=0,o=t[s];for(let e=0;e1&&(o=t[++s]);const i=Math.abs(e-o.left),r=Math.abs(e-o.right),n=Math.min(i,r);this.data[a+e]=Math.max(0,Math.min(255,(o.isDash?n:-n)+128));}}addDash(t,i){const a=i?7:0,s=2*a+1;if(this.nextRow+s>this.height)return e.w(\"LineAtlas out of space\"),null;let o=0;for(let e=0;e{t.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[A]}numActive(){return Object.keys(this.active).length}}const L=Math.floor(o.hardwareConcurrency/2);let k,F;function B(){return k||(k=new R),k}R.workerCount=e.B(globalThis)?Math.max(Math.min(L,3),1):1;class O{constructor(t,i){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=i;const a=this.workerPool.acquire(i);for(let t=0;t{t.remove();})),this.actors=[],t&&this.workerPool.release(this.id);}registerMessageHandler(t,e){for(const i of this.actors)i.registerMessageHandler(t,e);}}function N(){return F||(F=new O(B(),e.G),F.registerMessageHandler(\"GR\",((t,i,a)=>e.m(i,a)))),F}function j(t,i){const a=e.F();return e.H(a,a,[1,1,0]),e.J(a,a,[.5*t.width,.5*t.height,1]),e.K(a,a,t.calculatePosMatrix(i.toUnwrapped()))}function U(t,e,i,a,s,o){const r=function(t,e,i){if(t)for(const a of t){const t=e[a];if(t&&t.source===i&&\"fill-extrusion\"===t.type)return !0}else for(const t in e){const a=e[t];if(a.source===i&&\"fill-extrusion\"===a.type)return !0}return !1}(s&&s.layers,e,t.id),n=o.maxPitchScaleFactor(),l=t.tilesIn(a,n,r);l.sort(Z);const h=[];for(const a of l)h.push({wrappedTileID:a.tileID.wrapped().key,queryResults:a.tile.queryRenderedFeatures(e,i,t._state,a.queryGeometry,a.cameraQueryGeometry,a.scale,s,o,n,j(t.transform,a.tileID))});const c=function(t){const e={},i={};for(const a of t){const t=a.queryResults,s=a.wrappedTileID,o=i[s]=i[s]||{};for(const i in t){const a=t[i],s=o[i]=o[i]||{},r=e[i]=e[i]||[];for(const t of a)s[t.featureIndex]||(s[t.featureIndex]=!0,r.push(t));}}return e}(h);for(const e in c)c[e].forEach((e=>{const i=e.feature,a=t.getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=a;}));return c}function Z(t,e){const i=t.tileID,a=e.tileID;return i.overscaledZ-a.overscaledZ||i.canonical.y-a.canonical.y||i.wrap-a.wrap||i.canonical.x-a.canonical.x}function q(t,i,a){return e._(this,void 0,void 0,(function*(){let s=t;if(t.url?s=(yield e.h(i.transformRequest(t.url,\"Source\"),a)).data:yield o.frameAsync(a),!s)return null;const r=e.L(e.e(s,t),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return \"vector_layers\"in s&&s.vector_layers&&(r.vectorLayerIds=s.vector_layers.map((t=>t.id))),r}))}class W{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])));}setNorthEast(t){return this._ne=t instanceof e.M?new e.M(t.lng,t.lat):e.M.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.M?new e.M(t.lng,t.lat):e.M.convert(t),this}extend(t){const i=this._sw,a=this._ne;let s,o;if(t instanceof e.M)s=t,o=t;else {if(!(t instanceof W))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(W.convert(t)):this.extend(e.M.convert(t)):t&&(\"lng\"in t||\"lon\"in t)&&\"lat\"in t?this.extend(e.M.convert(t)):this;if(s=t._sw,o=t._ne,!s||!o)return this}return i||a?(i.lng=Math.min(s.lng,i.lng),i.lat=Math.min(s.lat,i.lat),a.lng=Math.max(o.lng,a.lng),a.lat=Math.max(o.lat,a.lat)):(this._sw=new e.M(s.lng,s.lat),this._ne=new e.M(o.lng,o.lat)),this}getCenter(){return new e.M((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new e.M(this.getWest(),this.getNorth())}getSouthEast(){return new e.M(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return [this._sw.toArray(),this._ne.toArray()]}toString(){return `LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return !(this._sw&&this._ne)}contains(t){const{lng:i,lat:a}=e.M.convert(t);let s=this._sw.lng<=i&&i<=this._ne.lng;return this._sw.lng>this._ne.lng&&(s=this._sw.lng>=i&&i>=this._ne.lng),this._sw.lat<=a&&a<=this._ne.lat&&s}static convert(t){return t instanceof W?t:t?new W(t):t}static fromLngLat(t,i=0){const a=360*i/40075017,s=a/Math.cos(Math.PI/180*t.lat);return new W(new e.M(t.lng-s,t.lat-a),new e.M(t.lng+s,t.lat+a))}}class G{constructor(t,e,i){this.bounds=W.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=i||24;}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),a=Math.floor(e.N(this.bounds.getWest())*i),s=Math.floor(e.O(this.bounds.getNorth())*i),o=Math.ceil(e.N(this.bounds.getEast())*i),r=Math.ceil(e.O(this.bounds.getSouth())*i);return t.x>=a&&t.x=s&&t.y{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null);}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),i={request:this.map._requestManager.transformRequest(e,\"Tile\"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};i.request.collectResourceTiming=this._collectResourceTiming;let a=\"RT\";if(t.actor&&\"expired\"!==t.state){if(\"loading\"===t.state)return new Promise(((e,i)=>{t.reloadPromise={resolve:e,reject:i};}))}else t.actor=this.dispatcher.getActor(),a=\"LT\";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:a,data:i},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e);}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null);}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject);}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:\"AT\",data:{uid:t.uid,type:this.type,source:this.id}}));}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}}));}))}hasTransition(){return !1}}class H extends e.E{constructor(t,i,a,s){super(),this.id=t,this.dispatcher=a,this.setEventedParent(s),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=e.e({type:\"raster\"},i),e.e(this,e.L(i,[\"url\",\"scheme\",\"tileSize\"]));}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{const t=yield q(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new G(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t));}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load();}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null);}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load();}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}serialize(){return e.e({},this._options)}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const i=yield _.getImage(this.map._requestManager.transformRequest(e,\"Tile\"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(i&&i.data){this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const e=this.map.painter.context,a=e.gl,s=i.data;t.texture=this.map.painter.getTileTexture(s.width),t.texture?t.texture.update(s,{useMipmap:!0}):(t.texture=new b(e,s,a.RGBA,{useMipmap:!0}),t.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST),e.extTextureFilterAnisotropic&&a.texParameterf(a.TEXTURE_2D,e.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,e.extTextureFilterAnisotropicMax)),t.state=\"loaded\";}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController);}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture);}))}hasTransition(){return !1}}class $ extends H{constructor(t,i,a,s){super(t,i,a,s),this.type=\"raster-dem\",this.maxzoom=22,this._options=e.e({type:\"raster-dem\"},i),this.encoding=i.encoding||\"mapbox\",this.redFactor=i.redFactor,this.greenFactor=i.greenFactor,this.blueFactor=i.blueFactor,this.baseShift=i.baseShift;}loadTile(t){return e._(this,void 0,void 0,(function*(){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a=this.map._requestManager.transformRequest(i,\"Tile\");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const i=yield _.getImage(a,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(i&&i.data){const a=i.data;this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const s=e.b(a)&&e.S()?a:yield this.readImageNow(a),o={type:this.type,uid:t.uid,source:this.id,rawImageData:s,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||\"expired\"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:\"LDT\",data:o});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state=\"loaded\";}}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if(\"undefined\"!=typeof VideoFrame&&e.U()){const i=t.width+2,a=t.height+2;try{return new e.R({width:i,height:a},yield e.V(t,-1,-1,i,a))}catch(t){}}return o.getImageData(t,1)}))}_getNeighboringTiles(t){const i=t.canonical,a=Math.pow(2,i.z),s=(i.x-1+a)%a,o=0===i.x?t.wrap-1:t.wrap,r=(i.x+1+a)%a,n=i.x+1===a?t.wrap+1:t.wrap,l={};return l[new e.Q(t.overscaledZ,o,i.z,s,i.y).key]={backfilled:!1},l[new e.Q(t.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},i.y>0&&(l[new e.Q(t.overscaledZ,o,i.z,s,i.y-1).key]={backfilled:!1},l[new e.Q(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.Q(t.overscaledZ,n,i.z,r,i.y-1).key]={backfilled:!1}),i.y+10&&e.e(s,{resourceTiming:a}),this.fire(new e.k(\"data\",Object.assign(Object.assign({},s),{sourceDataType:\"metadata\"}))),this.fire(new e.k(\"data\",Object.assign(Object.assign({},s),{sourceDataType:\"content\"})));}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k(\"dataabort\",{dataType:\"source\"}));this.fire(new e.j(t));}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?\"RT\":\"LT\";t.actor=this.actor;const i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.abortController=new AbortController;const a=yield this.actor.sendAsync({type:e,data:i},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(a,this.map.painter,\"RT\"===e);}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0;}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}});}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}});}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return !1}}var K=e.X([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class J extends e.E{constructor(t,e,i,a){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=e;}load(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield _.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading());}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t));}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null;})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));}onAdd(t){this.map=t,this.load();}onRemove(){this._request&&(this._request.abort(),this._request=null);}setCoordinates(t){this.coordinates=t;const i=t.map(e.Y.fromLngLat);this.tileID=function(t){let i=1/0,a=1/0,s=-1/0,o=-1/0;for(const e of t)i=Math.min(i,e.x),a=Math.min(a,e.y),s=Math.max(s,e.x),o=Math.max(o,e.y);const r=Math.max(s-i,o-a),n=Math.max(0,Math.floor(-Math.log(r)/Math.LN2)),l=Math.pow(2,n);return new e.a0(n,Math.floor((i+s)/2*l),Math.floor((a+o)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const a=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new e.Z,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,e.W,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,e.W),this._boundsArray.emplaceBack(a[2].x,a[2].y,e.W,e.W),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,K.members)),this.boundsSegments||(this.boundsSegments=e.$.simpleSegment(0,0,4,2)),this.texture||(this.texture=new b(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let a=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,a=!0);}a&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state=\"errored\";}))}serialize(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return !1}}class Y extends J{constructor(t,e,i,a){super(t,e,i,a),this.roundZoom=!0,this.type=\"video\",this.options=e;}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,\"Source\").url);try{const t=yield e.a2(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading();}catch(t){this.fire(new e.j(t));}}))}pause(){this.video&&this.video.pause();}play(){this.video&&this.video.play();}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.j(new e.a1(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=t;}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,K.members)),this.boundsSegments||(this.boundsSegments=e.$.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new b(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let a=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,a=!0);}a&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}serialize(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class Q extends J{constructor(t,i,a,s){super(t,i,a,s),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>\"number\"!=typeof t))))||this.fire(new e.j(new e.a1(`sources.${t}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a1(`sources.${t}`,null,'missing required property \"coordinates\"'))),i.animate&&\"boolean\"!=typeof i.animate&&this.fire(new e.j(new e.a1(`sources.${t}`,null,'optional \"animate\" property must be a boolean value'))),i.canvas?\"string\"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a1(`sources.${t}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.j(new e.a1(`sources.${t}`,null,'missing required property \"canvas\"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());}))}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();}onRemove(){this.pause();}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,a=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,K.members)),this.boundsSegments||(this.boundsSegments=e.$.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new b(i,this.canvas,a.RGBA,{premultiply:!0});let s=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,s=!0);}s&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}serialize(){return {type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of [this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return !0;return !1}}const tt={},et=t=>{switch(t){case\"geojson\":return X;case\"image\":return J;case\"raster\":return H;case\"raster-dem\":return $;case\"vector\":return V;case\"video\":return Y;case\"canvas\":return Q}return tt[t]},it=\"RTLPluginLoaded\";class at extends e.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=N();}_syncState(t){return this.status=t,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status=\"error\",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null;}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=o.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if(\"unavailable\"===this.status){if(!e)return this._requestImport();this.status=\"deferred\",this._syncState(this.status);}else if(\"requested\"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new e.k(it));}))}lazyLoad(){\"unavailable\"===this.status?this.status=\"requested\":\"deferred\"===this.status&&this._requestImport();}}let st=null;function ot(){return st||(st=new at),st}class rt{constructor(t,i){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a3(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\";}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){a.layers=t,a.stateDependentLayerIds&&(a.stateDependentLayers=a.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=a;}}return i}(t.buckets,i.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a5){if(this.hasSymbolBuckets=!0,!a)break;i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a5&&i.hasRTLText){this.hasRTLText=!0,ot().lazyLoad();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage);}else this.collisionBoxArray=new e.a4;}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\";}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t);}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new b(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new b(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,i,a,s,o,r,n,l,h){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:a,cameraQueryGeometry:s,scale:o,tileSize:this.tileSize,pixelPosMatrix:h,transform:n,params:r,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(t,i){const a=this.latestFeatureIndex;if(!a||!a.rawTileData)return;const s=a.loadVTLayers(),o=i&&i.sourceLayer?i.sourceLayer:\"\",r=s._geojsonTileLayer||s[o];if(!r)return;const n=e.a6(i&&i.filter),{z:l,x:h,y:c}=this.tileID.canonical,u={z:l,x:h,y:c};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,s);}),i)),this.data[a].push(s),this.order.push(a),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,a=void 0===e?0:this.data[i].indexOf(e),s=this.data[i][a];return this.data[i].splice(a,1),s.timeout&&clearTimeout(s.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(s.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}filter(t){const e=[];for(const i in this.data)for(const a of this.data[i])t(a.value)||e.push(a);for(const t of e)this.remove(t.value.tileID,t);}}class lt{constructor(){this.state={},this.stateChanges={},this.deletedStates={};}updateState(t,i,a){const s=String(i);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][s]=this.stateChanges[t][s]||{},e.e(this.stateChanges[t][s],a),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==s&&(this.deletedStates[t][e]=null);}else if(this.deletedStates[t]&&null===this.deletedStates[t][s]){this.deletedStates[t][s]={};for(const e in this.state[t][s])a[e]||(this.deletedStates[t][s][e]=null);}else for(const e in a)this.deletedStates[t]&&this.deletedStates[t][s]&&null===this.deletedStates[t][s][e]&&delete this.deletedStates[t][s][e];}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const a=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][a]&&(this.deletedStates[t][a]=this.deletedStates[t][a]||{},this.deletedStates[t][a][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][a])for(i in this.deletedStates[t][a]={},this.stateChanges[t][a])this.deletedStates[t][a][i]=null;else this.deletedStates[t][a]=null;else this.deletedStates[t]=null;}getState(t,i){const a=String(i),s=e.e({},(this.state[t]||{})[a],(this.stateChanges[t]||{})[a]);if(null===this.deletedStates[t])return {};if(this.deletedStates[t]){const e=this.deletedStates[t][i];if(null===e)return {};for(const t in e)delete s[t];}return s}initializeTileState(t,e){t.setFeatureState(this.state,e);}coalesceChanges(t,i){const a={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const i={};for(const a in this.stateChanges[t])this.state[t][a]||(this.state[t][a]={}),e.e(this.state[t][a],this.stateChanges[t][a]),i[a]=this.state[t][a];a[t]=i;}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const i={};if(null===this.deletedStates[t])for(const e in this.state[t])i[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const i of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][i];i[e]=this.state[t][e];}a[t]=a[t]||{},e.e(a[t],i);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(a).length)for(const e in t)t[e].setFeatureState(a,i);}}class ht extends e.E{constructor(t,e,i){super(),this.id=t,this.dispatcher=i,this.on(\"data\",(t=>this._dataHandler(t))),this.on(\"dataloading\",(()=>{this._sourceErrored=!1;})),this.on(\"error\",(()=>{this._sourceErrored=this._source.loaded();})),this._source=((t,e,i,a)=>{const s=new(et(e.type))(t,e,i,a);if(s.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${s.id}`);return s})(t,e,i,this),this._tiles={},this._cache=new nt(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new lt,this._didEmitContent=!1,this._updated=!1;}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(t);}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t);}loaded(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return !0;if(!this._updated)return !1;for(const t in this._tiles){const e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}return !0}getSource(){return this._source}pause(){this._paused=!0;}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain);}_loadTile(t,i,a){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,i,a);}catch(i){t.state=\"errored\",404!==i.status?this._source.fire(new e.j(i,{tile:t})):this.update(this.transform,this.terrain);}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t);}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k(\"dataabort\",{tile:t,coord:t.tileID,dataType:\"source\"}));}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(ct).map((t=>t.key))}getRenderableIds(t){const i=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&i.push(this._tiles[e]);return t?i.sort(((t,i)=>{const a=t.tileID,s=i.tileID,o=new e.P(a.canonical.x,a.canonical.y)._rotate(this.transform.angle),r=new e.P(s.canonical.x,s.canonical.y)._rotate(this.transform.angle);return a.overscaledZ-s.overscaledZ||r.y-o.y||r.x-o.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(ct).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else {this._cache.reset();for(const t in this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\");}}_reloadTile(t,i){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&(\"loading\"!==e.state&&(e.state=i),yield this._loadTile(e,t,i));}))}_tileLoaded(t,i,a){t.timeAdded=o.now(),\"expired\"===a&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(i,t),\"raster-dem\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k(\"data\",{dataType:\"source\",tile:t,coord:t.tileID}));}_backfillDEM(t){const e=this.getRenderableIds();for(let a=0;a1||(Math.abs(i)>1&&(1===Math.abs(i+s)?i+=s:1===Math.abs(i-s)&&(i-=s)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,a),t.neighboringTiles&&t.neighboringTiles[o]&&(t.neighboringTiles[o].backfilled=!0)));}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,a){for(const s in this._tiles){let o=this._tiles[s];if(a[s]||!o.hasData()||o.tileID.overscaledZ<=e||o.tileID.overscaledZ>i)continue;let r=o.tileID;for(;o&&o.tileID.overscaledZ>e+1;){const t=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[t.key],o&&o.hasData()&&(r=t);}let n=r;for(;n.overscaledZ>e;)if(n=n.scaledTo(n.overscaledZ-1),t[n.key]){a[r.key]=r;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),a=this._getLoadedTile(e);if(a)return a}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const i=Math.ceil(t.width/this._source.tileSize)+1,a=Math.ceil(t.height/this._source.tileSize)+1,s=Math.floor(i*a*(null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),o=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,s):s;this._cache.setMaxSize(o);}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+e),t[a.tileID.key]=a;}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(t,this._tiles[t]);}}_updateCoveredAndRetainedTiles(t,e,i,a,s,r){const n={},l={},h=Object.keys(t),c=o.now();for(const i of h){const a=t[i],s=this._tiles[i];if(!s||0!==s.fadeEndTime&&s.fadeEndTime<=c)continue;const o=this.findLoadedParent(a,e),r=this.findLoadedSibling(a),h=o||r||null;h&&(this._addTile(h.tileID),n[h.tileID.key]=h.tileID),l[i]=a;}this._retainLoadedChildren(l,a,i,t);for(const e in n)t[e]||(this._coveredTiles[e]=!0,t[e]=n[e]);if(r){const e={},i={};for(const t of s)this._tiles[t.key].hasData()?e[t.key]=t:i[t.key]=t;for(const a in i){const s=i[a].children(this._source.maxzoom);this._tiles[s[0].key]&&this._tiles[s[1].key]&&this._tiles[s[2].key]&&this._tiles[s[3].key]&&(e[s[0].key]=t[s[0].key]=s[0],e[s[1].key]=t[s[1].key]=s[1],e[s[2].key]=t[s[2].key]=s[2],e[s[3].key]=t[s[3].key]=s[3],delete i[a]);}for(const a in i){const s=i[a],o=this.findLoadedParent(s,this._source.minzoom),r=this.findLoadedSibling(s),n=o||r||null;if(n){e[n.tileID.key]=t[n.tileID.key]=n.tileID;for(const t in e)e[t].isChildOf(n.tileID)&&delete e[t];}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0);}}update(t,i){if(!this._sourceLoaded||this._paused)return;let a;this.transform=t,this.terrain=i,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?a=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.Q(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(a=t.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(a=a.filter((t=>this._source.hasTile(t))))):a=[];const s=t.coveringZoomLevel(this._source),o=Math.max(s-ht.maxOverzooming,this._source.minzoom),r=Math.max(s+ht.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of a)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const a=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[a.key]=a;}a=a.concat(Object.values(t));}const n=0===a.length&&!this._updated&&this._didEmitContent;this._updated=!0,n&&this.fire(new e.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));const l=this._updateRetainedTiles(a,s);ut(this._source.type)&&this._updateCoveredAndRetainedTiles(l,o,r,s,a,i);for(const t in l)this._tiles[t].clearFadeHold();const h=e.ab(this._tiles,l);for(const t of h){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t);}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);}_updateRetainedTiles(t,e){var i;const a={},s={},o=Math.max(e-ht.maxOverzooming,this._source.minzoom),r=Math.max(e+ht.maxUnderzooming,this._source.minzoom),n={};for(const i of t){const t=this._addTile(i);a[i.key]=i,t.hasData()||ethis._source.maxzoom){const t=r.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){a[t.key]=t;continue}}else {const t=r.children(this._source.maxzoom);if(a[t[0].key]&&a[t[1].key]&&a[t[2].key]&&a[t[3].key])continue}let n=t.wasRequested();for(let e=r.overscaledZ-1;e>=o;--e){const o=r.scaledTo(e);if(s[o.key])break;if(s[o.key]=!0,t=this.getTile(o),!t&&n&&(t=this._addTile(o)),t){const e=t.hasData();if((e||!(null===(i=this.map)||void 0===i?void 0:i.cancelPendingTileRequestsWhileZooming)||n)&&(a[o.key]=o),n=t.wasRequested(),e)break}}}return a}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,a=this._tiles[t].tileID;for(;a.overscaledZ>0;){if(a.key in this._loadedParentTiles){i=this._loadedParentTiles[a.key];break}e.push(a.key);const t=a.scaledTo(a.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;a=t;}for(const t of e)this._loadedParentTiles[t]=i;}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,i=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=i;}}_addTile(t){let i=this._tiles[t.key];if(i)return i;i=this._cache.getAndRemove(t),i&&(this._setTileReloadTimer(t.key,i),i.tileID=t,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,i)));const a=i;return i||(i=new rt(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(i,t.key,i.state)),i.uses++,this._tiles[t.key]=i,a||this._source.fire(new e.k(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,\"expired\"),delete this._timers[t];}),i));}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));}_dataHandler(t){const e=t.sourceDataType;\"source\"===t.dataType&&\"metadata\"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0);}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset();}tilesIn(t,i,a){const s=[],o=this.transform;if(!o)return s;const r=a?o.getCameraQueryGeometry(t):t,n=t.map((t=>o.pointCoordinate(t,this.terrain))),l=r.map((t=>o.pointCoordinate(t,this.terrain))),h=this.getIds();let c=1/0,u=1/0,d=-1/0,_=-1/0;for(const t of l)c=Math.min(c,t.x),u=Math.min(u,t.y),d=Math.max(d,t.x),_=Math.max(_,t.y);for(let t=0;t=0&&f[1].y+m>=0){const t=n.map((t=>r.getTilePoint(t))),e=l.map((t=>r.getTilePoint(t)));s.push({tile:a,tileID:r,queryGeometry:t,cameraQueryGeometry:e,scale:p});}}return s}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return !0;if(ut(this._source.type)){const t=o.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)return !0}return !1}setFeatureState(t,e,i){this._state.updateState(t=t||\"_geojsonTileLayer\",e,i);}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,i);}getFeatureState(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)}setDependencies(t,e,i){const a=this._tiles[t];a&&a.setDependencies(e,i);}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,\"reloading\");this._cache.filter((i=>!i.hasDependency(t,e)));}}function ct(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),a=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||a-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function ut(t){return \"raster\"===t||\"image\"===t||\"video\"===t}ht.maxOverzooming=10,ht.maxUnderzooming=3;class dt{constructor(t,e){this.reset(t,e);}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(s-r)/n:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}function _t(t,e){let i=!0;return \"always\"===t||\"never\"!==t&&\"never\"!==e||(i=!1),i}class pt{constructor(t,e,i){const a=this.boxCells=[],s=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||a<0||e>this.height)return [];const n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=a){if(s)return [{key:null,x1:t,y1:e,x2:i,y2:a}];for(let t=0;t0}hitTestCircle(t,e,i,a,s){const o=t-i,r=t+i,n=e-i,l=e+i;if(r<0||o>this.width||l<0||n>this.height)return !1;const h=[];return this._forEachCell(o,n,r,l,this._queryCellCircle,h,{hitTest:!0,overlapMode:a,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},s),h.length>0}_queryCell(t,e,i,a,s,o,r,n){const{seenUids:l,hitTest:h,overlapMode:c}=r,u=this.boxCells[s];if(null!==u){const s=this.bboxes;for(const r of u)if(!l.box[r]){l.box[r]=!0;const u=4*r,d=this.boxKeys[r];if(t<=s[u+2]&&e<=s[u+3]&&i>=s[u+0]&&a>=s[u+1]&&(!n||n(d))&&(!h||!_t(c,d.overlapMode))&&(o.push({key:d,x1:s[u],y1:s[u+1],x2:s[u+2],y2:s[u+3]}),h))return !0}}const d=this.circleCells[s];if(null!==d){const s=this.circles;for(const r of d)if(!l.circle[r]){l.circle[r]=!0;const u=3*r,d=this.circleKeys[r];if(this._circleAndRectCollide(s[u],s[u+1],s[u+2],t,e,i,a)&&(!n||n(d))&&(!h||!_t(c,d.overlapMode))){const t=s[u],e=s[u+1],i=s[u+2];if(o.push({key:d,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),h)return !0}}}return !1}_queryCellCircle(t,e,i,a,s,o,r,n){const{circle:l,seenUids:h,overlapMode:c}=r,u=this.boxCells[s];if(null!==u){const t=this.bboxes;for(const e of u)if(!h.box[e]){h.box[e]=!0;const i=4*e,a=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!n||n(a))&&!_t(c,a.overlapMode))return o.push(!0),!0}}const d=this.circleCells[s];if(null!==d){const t=this.circles;for(const e of d)if(!h.circle[e]){h.circle[e]=!0;const i=3*e,a=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!n||n(a))&&!_t(c,a.overlapMode))return o.push(!0),!0}}}_forEachCell(t,e,i,a,s,o,r,n){const l=this._convertToXCellCoord(t),h=this._convertToYCellCoord(e),c=this._convertToXCellCoord(i),u=this._convertToYCellCoord(a);for(let d=l;d<=c;d++)for(let l=h;l<=u;l++)if(s.call(this,t,e,i,a,this.xCellCount*l+d,o,r,n))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,a,s,o){const r=a-t,n=s-e,l=i+o;return l*l>r*r+n*n}_circleAndRectCollide(t,e,i,a,s,o,r){const n=(o-a)/2,l=Math.abs(t-(a+n));if(l>n+i)return !1;const h=(r-s)/2,c=Math.abs(e-(s+h));if(c>h+i)return !1;if(l<=n||c<=h)return !0;const u=l-n,d=c-h;return u*u+d*d<=i*i}}function mt(t,i,a,s,o){const r=e.F();return i?(e.J(r,r,[1/o,1/o,1]),a||e.ad(r,r,s.angle)):e.K(r,s.labelPlaneMatrix,t),r}function ft(t,i,a,s,o){if(i){const i=e.ae(t);return e.J(i,i,[o,o,1]),a||e.ad(i,i,-s.angle),i}return s.glCoordMatrix}function gt(t,i,a){let s;a?(s=[t.x,t.y,a(t.x,t.y),1],e.af(s,s,i)):(s=[t.x,t.y,0,1],function(t,e,i){const a=e[0],s=e[1];t[0]=i[0]*a+i[4]*s+i[12],t[1]=i[1]*a+i[5]*s+i[13],t[3]=i[3]*a+i[7]*s+i[15];}(s,s,i));const o=s[3];return {point:new e.P(s[0]/o,s[1]/o),signedDistanceFromCamera:o,isOccluded:!1}}function vt(t,e){return .5+t/e*.5}function xt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function yt(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m){const f=s?t.textSizeData:t.iconSizeData,g=e.ag(f,a.transform.zoom),v=[256/a.width*2+1,256/a.height*2+1],x=s?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const y=t.lineVertexArray,b=s?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=a.transform.width/a.transform.height;let T=!1;for(let s=0;sMath.abs(a.x-i.x)*s?{useVertical:!0}:(t===e.ah.vertical?i.ya.x)?{needsFlipping:!0}:null}function Tt(t,i,a,s,o,r,n,l,h,c,u){const d=a/24,_=i.lineOffsetX*d,p=i.lineOffsetY*d;let m;if(i.numGlyphs>1){const e=i.glyphStartIndex+i.numGlyphs,a=i.lineStartIndex,r=i.lineStartIndex+i.lineLength,h=bt(d,l,_,p,s,i,u,t);if(!h)return {notEnoughRoom:!0};const f=gt(h.first.point,n,t.getElevation).point,g=gt(h.last.point,n,t.getElevation).point;if(o&&!s){const t=wt(i.writingMode,f,g,c);if(t)return t}m=[h.first];for(let o=i.glyphStartIndex+1;o0?n.point:function(t,e,i,a,s,o){return It(t,e,i,1,s,o)}(t.tileAnchorPoint,o,a,0,r,t),h=wt(i.writingMode,a,l,c);if(h)return h}const a=Dt(d*l.getoffsetX(i.glyphStartIndex),_,p,s,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,t,u);if(!a||t.projectionCache.anyProjectionOccluded)return {notEnoughRoom:!0};m=[a];}for(const t of m)e.aj(h,t.point,t.angle);return {}}function It(t,e,i,a,s,o){const r=t.add(t.sub(e)._unit()),n=void 0!==s?gt(r,s,o.getElevation).point:Pt(r.x,r.y,o).point,l=i.sub(n);return i.add(l._mult(a/l.mag()))}function Et(t,i,a){const s=i.projectionCache;if(s.projections[t])return s.projections[t];const o=new e.P(i.lineVertexArray.getx(t),i.lineVertexArray.gety(t)),r=Pt(o.x,o.y,i);if(r.signedDistanceFromCamera>0)return s.projections[t]=r.point,s.anyProjectionOccluded=s.anyProjectionOccluded||r.isOccluded,r.point;const n=t-a.direction;return function(t,e,i,a,s){return It(t,e,i,a,void 0,s)}(0===a.distanceFromAnchor?i.tileAnchorPoint:new e.P(i.lineVertexArray.getx(n),i.lineVertexArray.gety(n)),o,a.previousVertex,a.absOffsetX-a.distanceFromAnchor+1,i)}function Pt(t,i,a){const s=t+a.translation[0],o=i+a.translation[1];let r;return !a.pitchWithMap&&a.projection.useSpecialProjectionForSymbols?(r=a.projection.projectTileCoordinates(s,o,a.unwrappedTileID,a.getElevation),r.point.x=(.5*r.point.x+.5)*a.width,r.point.y=(.5*-r.point.y+.5)*a.height):(r=gt(new e.P(s,o),a.labelPlaneMatrix,a.getElevation),r.isOccluded=!1),r}function Ct(t,e,i){return t._unit()._perp()._mult(e*i)}function St(t,i,a,s,o,r,n,l,h){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const c=a.add(i);if(t+h.direction=o)return l.projectionCache.offsets[t]=c,c;const u=Et(t+h.direction,l,h),d=Ct(u.sub(a),n,h.direction),_=a.add(d),p=u.add(d);return l.projectionCache.offsets[t]=e.ak(r,c,_,p)||c,l.projectionCache.offsets[t]}function Dt(t,e,i,a,s,o,r,n,l){const h=a?t-e:t+e;let c=h>0?1:-1,u=0;a&&(c*=-1,u=Math.PI),c<0&&(u+=Math.PI);let d,_=c>0?o+s:o+s+1;n.projectionCache.cachedAnchorPoint?d=n.projectionCache.cachedAnchorPoint:(d=Pt(n.tileAnchorPoint.x,n.tileAnchorPoint.y,n).point,n.projectionCache.cachedAnchorPoint=d);let p,m,f=d,g=d,v=0,x=0;const y=Math.abs(h),b=[];let w;for(;v+x<=y;){if(_+=c,_=r)return null;v+=x,g=f,m=p;const t={absOffsetX:y,direction:c,distanceFromAnchor:v,previousVertex:g};if(f=Et(_,n,t),0===i)b.push(g),w=f.sub(g);else {let e;const a=f.sub(g);e=0===a.mag()?Ct(Et(_+c,n,t).sub(f),i,c):Ct(a,i,c),m||(m=g.add(e)),p=St(_,e,f,o,r,m,i,n,t),b.push(m),w=p.sub(m);}x=w.mag();}const T=w._mult((y-v)/x)._add(m||g),I=u+Math.atan2(f.y-g.y,f.x-g.x);return b.push(T),{point:T,angle:l?I:0,path:b}}const Mt=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function zt(t,e){for(let i=0;i=1;t--)l.push(r.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point));}let m=[];if(l.length>0){const t=l[0].clone(),i=l[0].clone();for(let e=1;e=a.x&&i.x<=s.x&&t.y>=a.y&&i.y<=s.y?[l]:i.xs.x||i.ys.y?[]:e.al([l],a.x,a.y,s.x,s.y);}for(const e of m){o.reset(e,.25*i);let a=0;a=o.length<=.5*i?1:Math.ceil(o.paddedLength/u)+1;for(let e=0;egt(t,i,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return {};const i=[];let a=1/0,s=1/0,o=-1/0,r=-1/0;for(const n of t){const t=new e.P(n.x+At,n.y+At);a=Math.min(a,t.x),s=Math.min(s,t.y),o=Math.max(o,t.x),r=Math.max(r,t.y),i.push(t);}const n=this.grid.query(a,s,o,r).concat(this.ignoredGrid.query(a,s,o,r)),l={},h={};for(const t of n){const a=t.key;if(void 0===l[a.bucketInstanceId]&&(l[a.bucketInstanceId]={}),l[a.bucketInstanceId][a.featureIndex])continue;const s=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.am(i,s)&&(l[a.bucketInstanceId][a.featureIndex]=!0,void 0===h[a.bucketInstanceId]&&(h[a.bucketInstanceId]=[]),h[a.bucketInstanceId].push(a.featureIndex));}return h}insertCollisionBox(t,e,i,a,s,o){(i?this.ignoredGrid:this.grid).insert({bucketInstanceId:a,featureIndex:s,collisionGroupID:o,overlapMode:e},t[0],t[1],t[2],t[3]);}insertCollisionCircles(t,e,i,a,s,o){const r=i?this.ignoredGrid:this.grid,n={bucketInstanceId:a,featureIndex:s,collisionGroupID:o,overlapMode:e};for(let e=0;e=this.screenRightBoundary||athis.screenBottomBoundary}isInsideGrid(t,e,i,a){return i>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(a,t.x,t.y,s,h)));E=t.some((t=>!t.isOccluded)),I=t.map((t=>t.point));}else E=!0;return {box:e.ao(I),allPointsOccluded:!E}}}function Lt(t,i,a){return i*(e.W/(t.tileSize*Math.pow(2,a-t.tileID.overscaledZ)))}class kt{constructor(t,e,i,a){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):a&&i?1:0,this.placed=i;}isHidden(){return 0===this.opacity&&!this.placed}}class Ft{constructor(t,e,i,a,s){this.text=new kt(t?t.text:null,e,i,s),this.icon=new kt(t?t.icon:null,e,a,s);}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Bt{constructor(t,e,i){this.text=t,this.icon=e,this.skipFade=i;}}class Ot{constructor(){this.invProjMatrix=e.F(),this.viewportMatrix=e.F(),this.circles=[];}}class Nt{constructor(t,e,i,a,s){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=a,this.tileID=s;}}class jt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={};}get(t){if(this.crossSourceCollisions)return {ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e};}return this.collisionGroups[t]}}function Ut(t,i,a,s,o){const{horizontalAlign:r,verticalAlign:n}=e.au(t);return new e.P(-(r-.5)*i+s[0]*o,-(n-.5)*a+s[1]*o)}class Zt{constructor(t,e,i,a,s,o){this.transform=t.clone(),this.terrain=i,this.collisionIndex=new Rt(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=a,this.retainedQueryData={},this.collisionGroups=new jt(s),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};}_getTerrainElevationFunc(t){const e=this.terrain;return e?(i,a)=>e.getElevation(t,i,a):null}getBucketParts(t,i,a,s){const o=a.getBucket(i),r=a.latestFeatureIndex;if(!o||!r||i.id!==o.layerIds[0])return;const n=a.collisionBoxArray,l=o.layers[0].layout,h=o.layers[0].paint,c=Math.pow(2,this.transform.zoom-a.tileID.overscaledZ),u=a.tileSize/e.W,d=a.tileID.toUnwrapped(),_=this.transform.calculatePosMatrix(d),p=\"map\"===l.get(\"text-pitch-alignment\"),m=\"map\"===l.get(\"text-rotation-alignment\"),f=Lt(a,1,this.transform.zoom),g=this.collisionIndex.mapProjection.translatePosition(this.transform,a,h.get(\"text-translate\"),h.get(\"text-translate-anchor\")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,a,h.get(\"icon-translate\"),h.get(\"icon-translate-anchor\")),x=mt(_,p,m,this.transform,f);let y=null;if(p){const t=ft(_,p,m,this.transform,f);y=e.K([],this.transform.labelPlaneMatrix,t);}this.retainedQueryData[o.bucketInstanceId]=new Nt(o.bucketInstanceId,r,o.sourceLayerIndex,o.index,a.tileID);const b={bucket:o,layout:l,translationText:g,translationIcon:v,posMatrix:_,unwrappedTileID:d,textLabelPlaneMatrix:x,labelToScreenMatrix:y,scale:c,textPixelRatio:u,holdingForFade:a.holdingForFade(),collisionBoxArray:n,partiallyEvaluatedTextSize:e.ag(o.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(s)for(const e of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:a,symbolInstanceEnd:s}=e;t.push({sortKey:i,symbolInstanceStart:a,symbolInstanceEnd:s,parameters:b});}else t.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:b});}attemptAnchorPlacement(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m,f,g,v,x){const y=e.aq[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=Ut(y,a,s,b,o),T=this.collisionIndex.placeCollisionBox(i,d,l,h,c,n,r,f,u.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,d,l,h,c,n,r,g,u.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[_.crossTileID]&&this.prevPlacement.placements[_.crossTileID]&&this.prevPlacement.placements[_.crossTileID].text&&(t=this.prevPlacement.variableOffsets[_.crossTileID].anchor),0===_.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[_.crossTileID]={textOffset:b,width:a,height:s,anchor:y,textBoxScale:o,prevAnchor:t},this.markUsedJustification(p,y,_,m),p.allowVerticalPlacement&&(this.markUsedOrientation(p,m,_),this.placedOrientations[_.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,a){const{bucket:s,layout:o,translationText:r,translationIcon:n,posMatrix:l,unwrappedTileID:h,textLabelPlaneMatrix:c,labelToScreenMatrix:u,textPixelRatio:d,holdingForFade:_,collisionBoxArray:p,partiallyEvaluatedTextSize:m,collisionGroup:f}=t.parameters,g=o.get(\"text-optional\"),v=o.get(\"icon-optional\"),x=e.ar(o,\"text-overlap\",\"text-allow-overlap\"),y=\"always\"===x,b=e.ar(o,\"icon-overlap\",\"icon-allow-overlap\"),w=\"always\"===b,T=\"map\"===o.get(\"text-rotation-alignment\"),I=\"map\"===o.get(\"text-pitch-alignment\"),E=\"none\"!==o.get(\"icon-text-fit\"),P=\"viewport-y\"===o.get(\"symbol-z-order\"),C=y&&(w||!s.hasIconData()||v),S=w&&(y||!s.hasTextData()||g);!s.collisionArrays&&p&&s.deserializeCollisionBoxes(p);const D=this._getTerrainElevationFunc(this.retainedQueryData[s.bucketInstanceId].tileID),M=(t,p,w)=>{var P,M;if(i[t.crossTileID])return;if(_)return void(this.placements[t.crossTileID]=new Bt(!1,!1,!1));let z=!1,A=!1,R=!0,L=null,k={box:null,placeable:!1,offscreen:null},F={box:null,placeable:!1,offscreen:null},B=null,O=null,N=null,j=0,U=0,Z=0;p.textFeatureIndex?j=p.textFeatureIndex:t.useRuntimeCollisionCircles&&(j=t.featureIndex),p.verticalTextFeatureIndex&&(U=p.verticalTextFeatureIndex);const q=p.textBox;if(q){const i=i=>{let a=e.ah.horizontal;if(s.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,a=e,this.markUsedOrientation(s,a,t));}return a},o=(i,a)=>{if(s.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&p.verticalTextBox){for(const t of s.writingModes)if(t===e.ah.vertical?(k=a(),F=k):k=i(),k&&k.placeable)break}else k=i();},c=t.textAnchorOffsetStartIndex,u=t.textAnchorOffsetEndIndex;if(u===c){const a=(e,i)=>{const a=this.collisionIndex.placeCollisionBox(e,x,d,l,h,I,T,r,f.predicate,D);return a&&a.placeable&&(this.markUsedOrientation(s,i,t),this.placedOrientations[t.crossTileID]=i),a};o((()=>a(q,e.ah.horizontal)),(()=>{const i=p.verticalTextBox;return s.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&i?a(i,e.ah.vertical):{box:null,offscreen:null}})),i(k&&k.placeable);}else {let _=e.aq[null===(M=null===(P=this.prevPlacement)||void 0===P?void 0:P.variableOffsets[t.crossTileID])||void 0===M?void 0:M.anchor];const m=(i,o,p)=>{const m=i.x2-i.x1,g=i.y2-i.y1,v=t.textBoxScale,y=E&&\"never\"===b?o:null;let w=null,P=\"never\"===x?1:2,C=\"never\";_&&P++;for(let e=0;em(q,p.iconBox,e.ah.horizontal)),(()=>{const i=p.verticalTextBox;return s.allowVerticalPlacement&&(!k||!k.placeable)&&t.numVerticalGlyphVertices>0&&i?m(i,p.verticalIconBox,e.ah.vertical):{box:null,occluded:!0,offscreen:null}})),k&&(z=k.placeable,R=k.offscreen);const g=i(k&&k.placeable);if(!z&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(s,e.anchor,t,g));}}}if(B=k,z=B&&B.placeable,R=B&&B.offscreen,t.useRuntimeCollisionCircles){const i=s.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),n=e.ai(s.textSizeData,m,i),d=o.get(\"text-padding\");O=this.collisionIndex.placeCollisionCircles(x,i,s.lineVertexArray,s.glyphOffsetArray,n,l,h,c,u,a,I,f.predicate,t.collisionCircleDiameter,d,r,D),O.circles.length&&O.collisionDetected&&!a&&e.w(\"Collisions detected, but collision boxes are not shown\"),z=y||O.circles.length>0&&!O.collisionDetected,R=R&&O.offscreen;}if(p.iconFeatureIndex&&(Z=p.iconFeatureIndex),p.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,d,l,h,I,T,n,f.predicate,D,E&&L?L:void 0);F&&F.placeable&&p.verticalIconBox?(N=t(p.verticalIconBox),A=N.placeable):(N=t(p.iconBox),A=N.placeable),R=R&&N.offscreen;}const W=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,G=v||0===t.numIconVertices;W||G?G?W||(A=A&&z):z=A&&z:A=z=A&&z;const V=A&&N.placeable;if(z&&B.placeable&&this.collisionIndex.insertCollisionBox(B.box,x,o.get(\"text-ignore-placement\"),s.bucketInstanceId,F&&F.placeable&&U?U:j,f.ID),V&&this.collisionIndex.insertCollisionBox(N.box,b,o.get(\"icon-ignore-placement\"),s.bucketInstanceId,Z,f.ID),O&&z&&this.collisionIndex.insertCollisionCircles(O.circles,x,o.get(\"text-ignore-placement\"),s.bucketInstanceId,j,f.ID),a&&this.storeCollisionData(s.bucketInstanceId,w,p,B,N,O),0===t.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(0===s.bucketInstanceId)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[t.crossTileID]=new Bt(z||C,A||S,R||s.justReloaded),i[t.crossTileID]=!0;};if(P){if(0!==t.symbolInstanceStart)throw new Error(\"bucket.bucketInstanceId should be 0\");const e=s.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const i=e[t];M(s.symbolInstances.get(i),s.collisionArrays[i],i);}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=o>=0&&e!==o?0:a.crossTileID);}markUsedOrientation(t,i,a){const s=i===e.ah.horizontal||i===e.ah.horizontalOnly?i:0,o=i===e.ah.vertical?i:0,r=[a.leftJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.rightJustifiedTextSymbolIndex];for(const e of r)t.text.placedSymbolArray.get(e).placedOrientation=s;a.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).placedOrientation=o);}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const a=e?e.symbolFadeChange(t):1,s=e?e.opacities:{},o=e?e.variableOffsets:{},r=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],o=s[t];o?(this.opacities[t]=new Ft(o,a,e.text,e.icon),i=i||e.text!==o.text.placed||e.icon!==o.icon.placed):(this.opacities[t]=new Ft(null,a,e.text,e.icon,e.skipFade),i=i||e.text||e.icon);}for(const t in s){const e=s[t];if(!this.opacities[t]){const s=new Ft(e,a,!1,!1);s.isHidden()||(this.opacities[t]=s,i=i||e.text.placed||e.icon.placed);}}for(const t in o)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=o[t]);for(const t in r)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=r[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error(\"Last placement time for previous placement is not defined\");i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);}updateLayerOpacities(t,e){const i={};for(const a of e){const e=a.getBucket(t);e&&a.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,a.tileID,i,a.collisionBoxArray);}}updateBucketOpacities(t,i,a,s){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const o=t.layers[0],r=o.layout,n=new Ft(null,0,!1,!1,!0),l=r.get(\"text-allow-overlap\"),h=r.get(\"icon-allow-overlap\"),c=o._unevaluatedLayout.hasValue(\"text-variable-anchor\")||o._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),u=\"map\"===r.get(\"text-rotation-alignment\"),d=\"map\"===r.get(\"text-pitch-alignment\"),_=\"none\"!==r.get(\"icon-text-fit\"),p=new Ft(null,0,l&&(h||!t.hasIconData()||r.get(\"icon-optional\")),h&&(l||!t.hasTextData()||r.get(\"text-optional\")),!0);!t.collisionArrays&&s&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(s);const m=(t,e,i)=>{for(let a=0;a0,v=this.placedOrientations[s.crossTileID],x=v===e.ah.vertical,y=v===e.ah.horizontal||v===e.ah.horizontalOnly;if(o>0||r>0){const e=Jt(h.text);m(t.text,o,x?Yt:e),m(t.text,r,y?Yt:e);const i=h.text.isHidden();[s.rightJustifiedTextSymbolIndex,s.centerJustifiedTextSymbolIndex,s.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=i||x?1:0);})),s.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(s.verticalPlacedTextSymbolIndex).hidden=i||y?1:0);const a=this.variableOffsets[s.crossTileID];a&&this.markUsedJustification(t,a.anchor,s,v);const n=this.placedOrientations[s.crossTileID];n&&(this.markUsedJustification(t,\"left\",s,n),this.markUsedOrientation(t,n,s));}if(g){const e=Jt(h.icon),i=!(_&&s.verticalPlacedIconSymbolIndex&&x);s.placedIconSymbolIndex>=0&&(m(t.icon,s.numIconVertices,i?e:Yt),t.icon.placedSymbolArray.get(s.placedIconSymbolIndex).hidden=h.icon.isHidden()),s.verticalPlacedIconSymbolIndex>=0&&(m(t.icon,s.numVerticalIconVertices,i?Yt:e),t.icon.placedSymbolArray.get(s.verticalPlacedIconSymbolIndex).hidden=h.icon.isHidden());}const b=f&&f.has(i)?f.get(i):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const a=t.collisionArrays[i];if(a){let i=new e.P(0,0);if(a.textBox||a.verticalTextBox){let e=!0;if(c){const t=this.variableOffsets[l];t?(i=Ut(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),u&&i._rotate(d?this.transform.angle:-this.transform.angle)):e=!1;}if(a.textBox||a.verticalTextBox){let s;a.textBox&&(s=x),a.verticalTextBox&&(s=y),qt(t.textCollisionBox.collisionVertexArray,h.text.placed,!e||s,b.text,i.x,i.y);}}if(a.iconBox||a.verticalIconBox){const e=Boolean(!y&&a.verticalIconBox);let s;a.iconBox&&(s=e),a.verticalIconBox&&(s=!e),qt(t.iconCollisionBox.collisionVertexArray,h.icon.placed,s,b.icon,_?i.x:0,_?i.y:0);}}}}if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId];}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0;}}function qt(t,e,i,a,s,o){a&&0!==a.length||(a=[0,0,0,0]);const r=a[0]-At,n=a[1]-At,l=a[2]-At,h=a[3]-At;t.emplaceBack(e?1:0,i?1:0,s||0,o||0,r,n),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,l,n),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,l,h),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,r,h);}const Wt=Math.pow(2,25),Gt=Math.pow(2,24),Vt=Math.pow(2,17),Ht=Math.pow(2,16),$t=Math.pow(2,9),Xt=Math.pow(2,8),Kt=Math.pow(2,1);function Jt(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Wt+e*Gt+i*Vt+e*Ht+i*$t+e*Xt+i*Kt+e}const Yt=0;function Qt(){return {isOccluded:(t,e,i)=>!1,getPitchedTextCorrection:(t,e,i)=>1,get useSpecialProjectionForSymbols(){return !1},projectTileCoordinates(t,e,i,a){throw new Error(\"Not implemented.\")},translatePosition:(t,e,i,a)=>function(t,e,i,a,s=!1){if(!i[0]&&!i[1])return [0,0];const o=s?\"map\"===a?t.angle:0:\"viewport\"===a?-t.angle:0;if(o){const t=Math.sin(o),e=Math.cos(o);i=[i[0]*e-i[1]*t,i[0]*t+i[1]*e];}return [s?i[0]:Lt(e,i[0],t.zoom),s?i[1]:Lt(e,i[1],t.zoom)]}(t,e,i,a),getCircleRadiusCorrection:t=>1}}class te{constructor(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&!t.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];}continuePlacement(t,e,i,a,s){const o=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&o.now()-a>2;for(;this._currentPlacementIndex>=0;){const a=e[t[this._currentPlacementIndex]],o=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===a.type&&(!a.minzoom||a.minzoom<=o)&&(!a.maxzoom||a.maxzoom>o)){if(this._inProgressLayer||(this._inProgressLayer=new te(a)),this._inProgressLayer.continuePlacement(i[a.source],this.placement,this._showCollisionBoxes,a,s))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(t){return this.placement.commit(t),this.placement}}const ie=512/e.W/2;class ae{constructor(t,i,a){this.tileID=t,this.bucketInstanceId=a,this._symbolsByKey={};const s=new Map;for(let t=0;t({x:Math.floor(t.anchorX*ie),y:Math.floor(t.anchorY*ie)}))),crossTileIDs:i.map((t=>t.crossTileID))};if(a.positions.length>128){const t=new e.av(a.positions.length,16,Uint16Array);for(const{x:e,y:i}of a.positions)t.add(e,i);t.finish(),delete a.positions,a.index=t;}this._symbolsByKey[t]=a;}}getScaledCoordinates(t,i){const{x:a,y:s,z:o}=this.tileID.canonical,{x:r,y:n,z:l}=i.canonical,h=ie/Math.pow(2,l-o),c=(n*e.W+t.anchorY)*h,u=s*e.W*ie;return {x:Math.floor((r*e.W+t.anchorX)*h-a*e.W*ie),y:Math.floor(c-u)}}findMatches(t,e,i){const a=this.tileID.canonical.zt))}}class se{constructor(){this.maxCrossTileID=0;}generate(){return ++this.maxCrossTileID}}class oe{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0;}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const i=this.indexes[t],a={};for(const t in i){const s=i[t];s.tileID=s.tileID.unwrapTo(s.tileID.wrap+e),a[s.tileID.key]=s;}this.indexes[t]=a;}this.lng=t;}addBucket(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return !1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key]);}for(let t=0;tt.overscaledZ)for(const i in s){const o=s[i];o.tileID.isChildOf(t)&&o.findMatches(e.symbolInstances,t,a);}else {const o=s[t.scaledTo(Number(i)).key];o&&o.findMatches(e.symbolInstances,t,a);}}for(let t=0;t{e[t]=!0;}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t];}}const ne=(t,i)=>e.t(t,i&&i.filter((t=>\"source.canvas\"!==t.identifier))),le=e.aw();class he extends e.E{constructor(t,i={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;\"vector\"!==e&&\"geojson\"!==e||this.sourceCaches[t].reload();}},this.map=t,this.dispatcher=new O(B(),t._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler(\"GI\",((t,e)=>this.getImages(t,e))),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new C(t._requestManager,i.localIdeographFontFamily),this.lineAtlas=new z(256,512),this.crossTileSymbolIndex=new re,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",e.ay()),ot().on(it,this._rtlPluginLoaded),this.on(\"data\",(t=>{if(\"source\"!==t.dataType||\"metadata\"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e);}}));}loadURL(t,i={},a){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),i.validate=\"boolean\"!=typeof i.validate||i.validate;const s=this.map._requestManager.transformRequest(t,\"Style\");this._loadStyleRequest=new AbortController,e.h(s,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,i,a);})).catch((t=>{this._loadStyleRequest=null,t&&this.fire(new e.j(t));}));}loadJSON(t,i={},a){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,i.validate=!1!==i.validate,this._load(t,i,a);})).catch((()=>{}));}loadEmpty(){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._load(le,{validate:!1});}_load(t,i,a){var s;const o=i.transformStyle?i.transformStyle(a,t):t;if(!i.validate||!ne(this,e.x(o))){this._loaded=!0,this.stylesheet=o;for(const t in o.sources)this.addSource(t,o.sources[t],{validate:!1});o.sprite?this._loadSprite(o.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(o.glyphs),this._createLayers(),this.light=new M(this.stylesheet.light),this.map.setTerrain(null!==(s=this.stylesheet.terrain)&&void 0!==s?s:null),this.fire(new e.k(\"data\",{dataType:\"style\"})),this.fire(new e.k(\"style.load\"));}}_createLayers(){const t=e.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const i of t){const t=e.aA(i);t.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=t;}}_loadSprite(t,i=!1,a=void 0){let s;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(t,i,a,s){return e._(this,void 0,void 0,(function*(){const r=x(t),n=a>1?\"@2x\":\"\",l={},h={};for(const{id:t,url:a}of r){const o=i.transformRequest(y(a,n,\".json\"),\"SpriteJSON\");l[t]=e.h(o,s);const r=i.transformRequest(y(a,n,\".png\"),\"SpriteImage\");h[t]=_.getImage(r,s);}return yield Promise.all([...Object.values(l),...Object.values(h)]),function(t,i){return e._(this,void 0,void 0,(function*(){const e={};for(const a in t){e[a]={};const s=o.getImageCanvasContext((yield i[a]).data),r=(yield t[a]).data;for(const t in r){const{width:i,height:o,x:n,y:l,sdf:h,pixelRatio:c,stretchX:u,stretchY:d,content:_,textFitWidth:p,textFitHeight:m}=r[t];e[a][t]={data:null,pixelRatio:c,sdf:h,stretchX:u,stretchY:d,content:_,textFitWidth:p,textFitHeight:m,spriteData:{width:i,height:o,x:n,y:l,context:s}};}}return e}))}(l,h)}))}(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const a=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of a)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const a in t[e]){const s=\"default\"===e?a:`${e}:${a}`;this._spritesImagesIds[e].push(s),s in this.imageManager.images?this.imageManager.updateImage(s,t[e][a],!1):this.imageManager.addImage(s,t[e][a]),i&&(this._changedImages[s]=!0);}}})).catch((t=>{this._spriteRequest=null,s=t,this.fire(new e.j(s));})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),i&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"})),a&&a(s);}));}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}_validateLayer(t){const i=this.sourceCaches[t.source];if(!i)return;const a=t.sourceLayer;if(!a)return;const s=i.getSource();(\"geojson\"===s.type||s.vectorLayerIds&&-1===s.vectorLayerIds.indexOf(a))&&this.fire(new e.j(new Error(`Source layer \"${a}\" does not exist on source \"${s.id}\" as specified by style layer \"${t.id}\".`)));}loaded(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()}_serializeByIds(t){const e=this._serializedAllLayers();if(!t||0===t.length)return Object.values(e);const i=[];for(const a of t)e[a]&&i.push(e[a]);return i}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const i of e){const e=this._layers[i];\"custom\"!==e.type&&(t[i]=e.serialize());}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return !0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(const t in this._layers)if(this._layers[t].hasTransition())return !0;return !1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(t){if(!this._loaded)return;const i=this._changed;if(i){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const t in this._updatedSources){const e=this._updatedSources[t];if(\"reload\"===e)this._reloadSource(t);else {if(\"clear\"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t);}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this._resetUpdates();}const a={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];a[t]=e.used,e.used=!1;}for(const e of this._order){const i=this._layers[e];i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);}for(const t in a){const i=this.sourceCaches[t];!!a[t]!=!!i.used&&i.fire(new e.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:t}));}this.light.recalculate(t),this.z=t.zoom,i&&this.fire(new e.k(\"data\",{dataType:\"style\"}));}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={};}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1;}}_updateWorkerLayers(t,e){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(t),removedIds:e});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1;}setState(t,i={}){var a;this._checkLoaded();const s=this.serialize();if(t=i.transformStyle?i.transformStyle(s,t):t,(null===(a=i.validate)||void 0===a||a)&&ne(this,e.x(t)))return !1;(t=e.aB(t)).layers=e.az(t.layers);const o=e.aC(s,t),r=this._getOperationsToPerform(o);if(r.unimplemented.length>0)throw new Error(`Unimplemented: ${r.unimplemented.join(\", \")}.`);if(0===r.operations.length)return !1;for(const t of r.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],i=[];for(const a of t)switch(a.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":e.push((()=>this.addLayer.apply(this,a.args)));break;case\"removeLayer\":e.push((()=>this.removeLayer.apply(this,a.args)));break;case\"setPaintProperty\":e.push((()=>this.setPaintProperty.apply(this,a.args)));break;case\"setLayoutProperty\":e.push((()=>this.setLayoutProperty.apply(this,a.args)));break;case\"setFilter\":e.push((()=>this.setFilter.apply(this,a.args)));break;case\"addSource\":e.push((()=>this.addSource.apply(this,a.args)));break;case\"removeSource\":e.push((()=>this.removeSource.apply(this,a.args)));break;case\"setLayerZoomRange\":e.push((()=>this.setLayerZoomRange.apply(this,a.args)));break;case\"setLight\":e.push((()=>this.setLight.apply(this,a.args)));break;case\"setGeoJSONSourceData\":e.push((()=>this.setGeoJSONSourceData.apply(this,a.args)));break;case\"setGlyphs\":e.push((()=>this.setGlyphs.apply(this,a.args)));break;case\"setSprite\":e.push((()=>this.setSprite.apply(this,a.args)));break;case\"setTerrain\":e.push((()=>this.map.setTerrain.apply(this,a.args)));break;case\"setTransition\":e.push((()=>{}));break;default:i.push(a.command);}return {operations:e,unimplemented:i}}addImage(t,i){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" already exists.`)));this.imageManager.addImage(t,i),this._afterImageUpdated(t);}updateImage(t,e){this.imageManager.updateImage(t,e);}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t);}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,i,a={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source \"${t}\" already exists.`);if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(i.type)>=0&&this._validate(e.x.source,`sources.${t}`,i,null,a))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const s=this.sourceCaches[t]=new ht(t,i,this.dispatcher);s.style=this,s.setEventedParent(this,(()=>({isSourceLoaded:s.loaded(),source:s.serialize(),sourceId:t}))),s.onAdd(this.map),this._changed=!0;}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\"There is no source with this ID\");for(const i in this._layers)if(this._layers[i].source===t)return this.fire(new e.j(new Error(`Source \"${t}\" cannot be removed while layer \"${i}\" is using it.`)));const i=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],i.fire(new e.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0;}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const i=this.sourceCaches[t].getSource();if(\"geojson\"!==i.type)throw new Error(`geojsonSource.type is ${i.type}, which is !== 'geojson`);i.setData(e),this._changed=!0;}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,i,a={}){this._checkLoaded();const s=t.id;if(this.getLayer(s))return void this.fire(new e.j(new Error(`Layer \"${s}\" already exists on this map.`)));let o;if(\"custom\"===t.type){if(ne(this,e.aD(t)))return;o=e.aA(t);}else {if(\"source\"in t&&\"object\"==typeof t.source&&(this.addSource(s,t.source),t=e.aB(t),t=e.e(t,{source:s})),this._validate(e.x.layer,`layers.${s}`,t,{arrayIndex:-1},a))return;o=e.aA(t),this._validateLayer(o),o.setEventedParent(this,{layer:{id:s}});}const r=i?this._order.indexOf(i):this._order.length;if(i&&-1===r)this.fire(new e.j(new Error(`Cannot add layer \"${s}\" before non-existing layer \"${i}\".`)));else {if(this._order.splice(r,0,s),this._layerOrderChanged=!0,this._layers[s]=o,this._removedLayers[s]&&o.source&&\"custom\"!==o.type){const t=this._removedLayers[s];delete this._removedLayers[s],t.type!==o.type?this._updatedSources[o.source]=\"clear\":(this._updatedSources[o.source]=\"reload\",this.sourceCaches[o.source].pause());}this._updateLayer(o),o.onAdd&&o.onAdd(this.map);}}moveLayer(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const a=this._order.indexOf(t);this._order.splice(a,1);const s=i?this._order.indexOf(i):this._order.length;i&&-1===s?this.fire(new e.j(new Error(`Cannot move layer \"${t}\" before non-existing layer \"${i}\".`))):(this._order.splice(s,0,t),this._layerOrderChanged=!0);}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer \"${t}\".`)));i.setEventedParent(null);const a=this._order.indexOf(t);this._order.splice(a,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map);}getLayer(t){return this._layers[t]}getLayersOrder(){return [...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,i,a){this._checkLoaded();const s=this.getLayer(t);s?s.minzoom===i&&s.maxzoom===a||(null!=i&&(s.minzoom=i),null!=a&&(s.maxzoom=a),this._updateLayer(s)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer \"${t}\".`)));}setFilter(t,i,a={}){this._checkLoaded();const s=this.getLayer(t);if(s){if(!e.aE(s.filter,i))return null==i?(s.filter=void 0,void this._updateLayer(s)):void(this._validate(e.x.filter,`layers.${s.id}.filter`,i,null,a)||(s.filter=e.aB(i),this._updateLayer(s)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer \"${t}\".`)));}getFilter(t){return e.aB(this.getLayer(t).filter)}setLayoutProperty(t,i,a,s={}){this._checkLoaded();const o=this.getLayer(t);o?e.aE(o.getLayoutProperty(i),a)||(o.setLayoutProperty(i,a,s),this._updateLayer(o)):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)));}getLayoutProperty(t,i){const a=this.getLayer(t);if(a)return a.getLayoutProperty(i);this.fire(new e.j(new Error(`Cannot get style of non-existing layer \"${t}\".`)));}setPaintProperty(t,i,a,s={}){this._checkLoaded();const o=this.getLayer(t);o?e.aE(o.getPaintProperty(i),a)||(o.setPaintProperty(i,a,s)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)));}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,i){this._checkLoaded();const a=t.source,s=t.sourceLayer,o=this.sourceCaches[a];if(void 0===o)return void this.fire(new e.j(new Error(`The source '${a}' does not exist in the map's style.`)));const r=o.getSource().type;\"geojson\"===r&&s?this.fire(new e.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==r||s?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),o.setFeatureState(s,t.id,i)):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}removeFeatureState(t,i){this._checkLoaded();const a=t.source,s=this.sourceCaches[a];if(void 0===s)return void this.fire(new e.j(new Error(`The source '${a}' does not exist in the map's style.`)));const o=s.getSource().type,r=\"vector\"===o?t.sourceLayer:void 0;\"vector\"!==o||r?i&&\"string\"!=typeof t.id&&\"number\"!=typeof t.id?this.fire(new e.j(new Error(\"A feature id is required to remove its specific state property.\"))):s.removeFeatureState(r,t.id,i):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}getFeatureState(t){this._checkLoaded();const i=t.source,a=t.sourceLayer,s=this.sourceCaches[i];if(void 0!==s)return \"vector\"!==s.getSource().type||a?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),s.getFeatureState(a,t.id)):void this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new e.j(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aF(this.sourceCaches,(t=>t.serialize())),i=this._serializeByIds(this._order),a=this.map.getTerrain()||void 0,s=this.stylesheet;return e.aG({version:s.version,name:s.name,metadata:s.metadata,light:s.light,center:s.center,zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,sprite:s.sprite,glyphs:s.glyphs,transition:s.transition,sources:t,layers:i,terrain:a},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._serializedLayers=null,this._changed=!0;}_flattenAndSortRenderedFeatures(t){const e=t=>\"fill-extrusion\"===this._layers[t].type,i={},a=[];for(let s=this._order.length-1;s>=0;s--){const o=this._order[s];if(e(o)){i[o]=s;for(const e of t){const t=e[o];if(t)for(const e of t)a.push(e);}}}a.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const s=[];for(let o=this._order.length-1;o>=0;o--){const r=this._order[o];if(e(r))for(let t=a.length-1;t>=0;t--){const e=a[t].feature;if(i[e.layer.id]{const a=i.featureSortOrder;if(a){const i=a.indexOf(t.featureIndex);return a.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of s)e.push(t);}}for(const e in n)n[e].forEach((a=>{const s=a.feature,o=i[t[e].source].getFeatureState(s.layer[\"source-layer\"],s.id);s.source=s.layer.source,s.layer[\"source-layer\"]&&(s.sourceLayer=s.layer[\"source-layer\"]),s.state=o;}));return n}(this._layers,r,this.sourceCaches,t,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.x.filter,\"querySourceFeatures.filter\",i.filter,null,i);const a=this.sourceCaches[t];return a?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),a=[],s={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)));}const a=this.crossTileSymbolIndex.addLayer(i,l[i.source],t.center.lng);r=r||a;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===i)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(o.now(),t.zoom))&&(this.pauseablePlacement=new ee(t,this.map.terrain,this._order,s,e,i,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(o.now()),n=!0),r&&this.pauseablePlacement.placement.setStale()),n||r)for(const t of this._order){const e=this._layers[t];\"symbol\"===e.type&&this.placement.updateLayerOpacities(e,l[e.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(o.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();}getImages(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(i.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,i.icons),t}))}getGlyphs(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(i.stacks),e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,[\"\"]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,i={}){this._checkLoaded(),t&&this._validate(e.x.glyphs,\"glyphs\",t,null,i)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t));}addSprite(t,i,a={},s){this._checkLoaded();const o=[{id:t,url:i}],r=[...x(this.stylesheet.sprite),...o];this._validate(e.x.sprite,\"sprite\",r,null,a)||(this.stylesheet.sprite=r,this._loadSprite(o,!0,s));}removeSprite(t){this._checkLoaded();const i=x(this.stylesheet.sprite);if(i.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;i.splice(i.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=i.length>0?i:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}else this.fire(new e.j(new Error(`Sprite \"${t}\" doesn't exists on this map.`)));}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,i={},a){this._checkLoaded(),t&&this._validate(e.x.sprite,\"sprite\",t,null,i)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,a):(this._unloadSprite(),a&&a(null)));}}var ce=e.X([{name:\"a_pos\",type:\"Int16\",components:2}]),ue=\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_depth;void main() {float extent=8192.0;float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/extent;gl_Position=u_matrix*vec4(a_pos3d.xy,get_elevation(a_pos3d.xy)-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\";const de={prelude:_e(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\n\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\\n#ifdef TERRAIN3D\\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\\n#endif\\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\\n#ifdef TERRAIN3D\\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\\n#else\\nreturn 1.0;\\n#endif\\n}float calculate_visibility(vec4 pos) {\\n#ifdef TERRAIN3D\\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\\n#else\\nreturn 1.0;\\n#endif\\n}float ele(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\\n#else\\nreturn 0.0;\\n#endif\\n}float get_elevation(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\\n#else\\nreturn 0.0;\\n#endif\\n}\"),background:_e(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:_e(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:_e(\"varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);lowp float antialiasblur=v_data.z;float antialiased_blur=-max(blur,antialiasblur);float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}lowp float antialiasblur=1.0/u_device_pixel_ratio/(radius+stroke_width);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),clippingMask:_e(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:_e(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,0,1);gl_Position=u_matrix*pos;}\"),heatmapTexture:_e(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:_e(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:_e(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:_e(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:_e(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),fillOutline:_e(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillOutlinePattern:_e(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillPattern:_e(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),fillExtrusion:_e(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;\\n#ifdef TERRAIN3D\\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),fillExtrusionPattern:_e(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\\n#ifdef TERRAIN3D\\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),hillshadePrepare:_e(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:_e(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:_e(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_width2=vec2(outset,inset);}\"),lineGradient:_e(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_width2=vec2(outset,inset);}\"),linePattern:_e(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),lineSDF:_e(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),raster:_e(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:_e(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}\"),symbolSDF:_e(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),symbolTextAndIcon:_e(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\"),terrain:_e(\"uniform sampler2D u_texture;varying vec2 v_texture_pos;void main() {gl_FragColor=texture2D(u_texture,v_texture_pos);}\",ue),terrainDepth:_e(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",ue),terrainCoords:_e(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",ue)};function _e(t,e){const i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,a=e.match(/attribute ([\\w]+) ([\\w]+)/g),s=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),o=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),r=o?o.concat(s):s,n={};return {fragmentSource:t=t.replace(i,((t,e,i,a,s)=>(n[s]=!0,\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nvarying ${i} ${a} ${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`))),vertexSource:e=e.replace(i,((t,e,i,a,s)=>{const o=\"float\"===a?\"vec2\":\"vec4\",r=s.match(/color/)?\"color\":o;return n[s]?\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nuniform lowp float u_${s}_t;\\nattribute ${i} ${o} a_${s};\\nvarying ${i} ${a} ${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${s} = a_${s};\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${s} = unpack_mix_${r}(a_${s}, u_${s}_t);\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nuniform lowp float u_${s}_t;\\nattribute ${i} ${o} a_${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = a_${s};\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = unpack_mix_${r}(a_${s}, u_${s}_t);\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`})),staticAttributes:a,staticUniforms:r}}class pe{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;}bind(t,e,i,a,s,o,r,n,l){this.context=t;let h=this.boundPaintVertexBuffers.length!==a.length;for(let t=0;!h&&t({u_depth:new e.aH(t,i.u_depth),u_terrain:new e.aH(t,i.u_terrain),u_terrain_dim:new e.aI(t,i.u_terrain_dim),u_terrain_matrix:new e.aJ(t,i.u_terrain_matrix),u_terrain_unpack:new e.aK(t,i.u_terrain_unpack),u_terrain_exaggeration:new e.aI(t,i.u_terrain_exaggeration)}))(t,b),this.binderUniforms=a?a.getUniforms(t,b):[];}draw(t,e,i,a,s,o,r,n,l,h,c,u,d,_,p,m,f,g){const v=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(a),t.setColorMode(s),t.setCullFace(o),n){t.activeTexture.set(v.TEXTURE2),v.bindTexture(v.TEXTURE_2D,n.depthTexture),t.activeTexture.set(v.TEXTURE3),v.bindTexture(v.TEXTURE_2D,n.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(n[t]);}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(r[t]);p&&p.setUniforms(t,this.binderUniforms,d,{zoom:_});let x=0;switch(e){case v.LINES:x=2;break;case v.TRIANGLES:x=3;break;case v.LINE_STRIP:x=1;}for(const i of u.get()){const a=i.vaos||(i.vaos={});(a[l]||(a[l]=new pe)).bind(t,this,h,p?p.getPaintVertexBuffers():[],c,i.vertexOffset,m,f,g),v.drawElements(e,i.primitiveLength*x,v.UNSIGNED_SHORT,i.primitiveOffset*x*2);}}}function ge(t,e,i){const a=1/Lt(i,1,e.transform.tileZoom),s=Math.pow(2,i.tileID.overscaledZ),o=i.tileSize*Math.pow(2,e.transform.tileZoom)/s,r=o*(i.tileID.canonical.x+i.tileID.wrap*s),n=o*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[a,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[r>>16,n>>16],u_pixel_coord_lower:[65535&r,65535&n]}}const ve=(t,i,a,s)=>{const o=i.style.light,r=o.properties.get(\"position\"),n=[r.x,r.y,r.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();\"viewport\"===o.properties.get(\"anchor\")&&function(t,e){var i=Math.sin(e),a=Math.cos(e);t[0]=a,t[1]=i,t[2]=0,t[3]=-i,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1;}(l,-i.transform.angle),function(t,e,i){var a=e[0],s=e[1],o=e[2];t[0]=a*i[0]+s*i[3]+o*i[6],t[1]=a*i[1]+s*i[4]+o*i[7],t[2]=a*i[2]+s*i[5]+o*i[8];}(n,n,l);const h=o.properties.get(\"color\");return {u_matrix:t,u_lightpos:n,u_lightintensity:o.properties.get(\"intensity\"),u_lightcolor:[h.r,h.g,h.b],u_vertical_gradient:+a,u_opacity:s}},xe=(t,i,a,s,o,r,n)=>e.e(ve(t,i,a,s),ge(r,i,n),{u_height_factor:-Math.pow(2,o.overscaledZ)/n.tileSize/8}),ye=t=>({u_matrix:t}),be=(t,i,a,s)=>e.e(ye(t),ge(a,i,s)),we=(t,e)=>({u_matrix:t,u_world:e}),Te=(t,i,a,s,o)=>e.e(be(t,i,a,s),{u_world:o}),Ie=(t,e,i,a)=>{const s=t.transform;let o,r;if(\"map\"===a.paint.get(\"circle-pitch-alignment\")){const t=Lt(i,1,s.zoom);o=!0,r=[t,t];}else o=!1,r=s.pixelsToGLUnits;return {u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===a.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(e.posMatrix,i,a.paint.get(\"circle-translate\"),a.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+o,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:r}},Ee=(t,e,i)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}),Pe=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),Ce=t=>({u_matrix:t}),Se=(t,e,i,a)=>({u_matrix:t,u_extrude_scale:Lt(e,1,i),u_intensity:a});function De(t,i){const a=Math.pow(2,i.canonical.z),s=i.canonical.y;return [new e.Y(0,s/a).toLngLat().lat,new e.Y(0,(s+1)/a).toLngLat().lat]}const Me=(t,e,i,a)=>{const s=t.transform;return {u_matrix:ke(t,e,i,a),u_ratio:1/Lt(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},ze=(t,i,a,s,o)=>e.e(Me(t,i,a,o),{u_image:0,u_image_height:s}),Ae=(t,e,i,a,s)=>{const o=t.transform,r=Le(e,o);return {u_matrix:ke(t,e,i,s),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Lt(e,1,o.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[r,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},Re=(t,i,a,s,o,r)=>{const n=t.lineAtlas,l=Le(i,t.transform),h=\"round\"===a.layout.get(\"line-cap\"),c=n.getDash(s.from,h),u=n.getDash(s.to,h),d=c.width*o.fromScale,_=u.width*o.toScale;return e.e(Me(t,i,a,r),{u_patternscale_a:[l/d,-c.height/2],u_patternscale_b:[l/_,-u.height/2],u_sdfgamma:n.width/(256*Math.min(d,_)*t.pixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:o.t})};function Le(t,e){return 1/Lt(t,1,e.tileZoom)}function ke(t,e,i,a){return t.translatePosMatrix(a?a.posMatrix:e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}const Fe=(t,e,i,a,s)=>{return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:a.mix,u_opacity:a.opacity*s.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:s.paint.get(\"raster-brightness-min\"),u_brightness_high:s.paint.get(\"raster-brightness-max\"),u_saturation_factor:(r=s.paint.get(\"raster-saturation\"),r>0?1-1/(1.001-r):-r),u_contrast_factor:(o=s.paint.get(\"raster-contrast\"),o>0?1/(1-o):1+o),u_spin_weights:Be(s.paint.get(\"raster-hue-rotate\"))};var o,r;};function Be(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return [(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const Oe=(t,e,i,a,s,o,r,n,l,h,c,u,d,_)=>{const p=r.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:p.cameraToCenterDistance,u_pitch:p.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:p.width/p.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:n,u_label_plane_matrix:l,u_coord_matrix:h,u_is_text:+u,u_pitch_with_map:+a,u_is_along_line:s,u_is_variable_anchor:o,u_texsize:d,u_texture:0,u_translation:c,u_pitched_scale:_}},Ne=(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m)=>{const f=n.transform;return e.e(Oe(t,i,a,s,o,r,n,l,h,c,u,d,_,m),{u_gamma_scale:s?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:n.pixelRatio,u_is_halo:+p})},je=(t,i,a,s,o,r,n,l,h,c,u,d,_,p)=>e.e(Ne(t,i,a,s,o,r,n,l,h,c,u,!0,d,!0,p),{u_texsize_icon:_,u_texture_icon:1}),Ue=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),Ze=(t,i,a,s,o,r)=>e.e(function(t,e,i,a){const s=i.imageManager.getPattern(t.from.toString()),o=i.imageManager.getPattern(t.to.toString()),{width:r,height:n}=i.imageManager.getPixelSize(),l=Math.pow(2,a.tileID.overscaledZ),h=a.tileSize*Math.pow(2,i.transform.tileZoom)/l,c=h*(a.tileID.canonical.x+a.tileID.wrap*l),u=h*a.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:s.tl,u_pattern_br_a:s.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[r,n],u_mix:e.t,u_pattern_size_a:s.displaySize,u_pattern_size_b:o.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Lt(a,1,i.transform.tileZoom),u_pixel_coord_upper:[c>>16,u>>16],u_pixel_coord_lower:[65535&c,65535&u]}}(s,r,a,o),{u_matrix:t,u_opacity:i}),qe={fillExtrusion:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_lightpos:new e.aL(t,i.u_lightpos),u_lightintensity:new e.aI(t,i.u_lightintensity),u_lightcolor:new e.aL(t,i.u_lightcolor),u_vertical_gradient:new e.aI(t,i.u_vertical_gradient),u_opacity:new e.aI(t,i.u_opacity)}),fillExtrusionPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_lightpos:new e.aL(t,i.u_lightpos),u_lightintensity:new e.aI(t,i.u_lightintensity),u_lightcolor:new e.aL(t,i.u_lightcolor),u_vertical_gradient:new e.aI(t,i.u_vertical_gradient),u_height_factor:new e.aI(t,i.u_height_factor),u_image:new e.aH(t,i.u_image),u_texsize:new e.aM(t,i.u_texsize),u_pixel_coord_upper:new e.aM(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aM(t,i.u_pixel_coord_lower),u_scale:new e.aL(t,i.u_scale),u_fade:new e.aI(t,i.u_fade),u_opacity:new e.aI(t,i.u_opacity)}),fill:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix)}),fillPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_texsize:new e.aM(t,i.u_texsize),u_pixel_coord_upper:new e.aM(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aM(t,i.u_pixel_coord_lower),u_scale:new e.aL(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),fillOutline:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aM(t,i.u_world)}),fillOutlinePattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aM(t,i.u_world),u_image:new e.aH(t,i.u_image),u_texsize:new e.aM(t,i.u_texsize),u_pixel_coord_upper:new e.aM(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aM(t,i.u_pixel_coord_lower),u_scale:new e.aL(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),circle:(t,i)=>({u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_scale_with_map:new e.aH(t,i.u_scale_with_map),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_extrude_scale:new e.aM(t,i.u_extrude_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_matrix:new e.aJ(t,i.u_matrix)}),collisionBox:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_pixel_extrude_scale:new e.aM(t,i.u_pixel_extrude_scale)}),collisionCircle:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_inv_matrix:new e.aJ(t,i.u_inv_matrix),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_viewport_size:new e.aM(t,i.u_viewport_size)}),debug:(t,i)=>({u_color:new e.aN(t,i.u_color),u_matrix:new e.aJ(t,i.u_matrix),u_overlay:new e.aH(t,i.u_overlay),u_overlay_scale:new e.aI(t,i.u_overlay_scale)}),clippingMask:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix)}),heatmap:(t,i)=>({u_extrude_scale:new e.aI(t,i.u_extrude_scale),u_intensity:new e.aI(t,i.u_intensity),u_matrix:new e.aJ(t,i.u_matrix)}),heatmapTexture:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aM(t,i.u_world),u_image:new e.aH(t,i.u_image),u_color_ramp:new e.aH(t,i.u_color_ramp),u_opacity:new e.aI(t,i.u_opacity)}),hillshade:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_latrange:new e.aM(t,i.u_latrange),u_light:new e.aM(t,i.u_light),u_shadow:new e.aN(t,i.u_shadow),u_highlight:new e.aN(t,i.u_highlight),u_accent:new e.aN(t,i.u_accent)}),hillshadePrepare:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_dimension:new e.aM(t,i.u_dimension),u_zoom:new e.aI(t,i.u_zoom),u_unpack:new e.aK(t,i.u_unpack)}),line:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aM(t,i.u_units_to_pixels)}),lineGradient:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aM(t,i.u_units_to_pixels),u_image:new e.aH(t,i.u_image),u_image_height:new e.aI(t,i.u_image_height)}),linePattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texsize:new e.aM(t,i.u_texsize),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_image:new e.aH(t,i.u_image),u_units_to_pixels:new e.aM(t,i.u_units_to_pixels),u_scale:new e.aL(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),lineSDF:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aM(t,i.u_units_to_pixels),u_patternscale_a:new e.aM(t,i.u_patternscale_a),u_patternscale_b:new e.aM(t,i.u_patternscale_b),u_sdfgamma:new e.aI(t,i.u_sdfgamma),u_image:new e.aH(t,i.u_image),u_tex_y_a:new e.aI(t,i.u_tex_y_a),u_tex_y_b:new e.aI(t,i.u_tex_y_b),u_mix:new e.aI(t,i.u_mix)}),raster:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_tl_parent:new e.aM(t,i.u_tl_parent),u_scale_parent:new e.aI(t,i.u_scale_parent),u_buffer_scale:new e.aI(t,i.u_buffer_scale),u_fade_t:new e.aI(t,i.u_fade_t),u_opacity:new e.aI(t,i.u_opacity),u_image0:new e.aH(t,i.u_image0),u_image1:new e.aH(t,i.u_image1),u_brightness_low:new e.aI(t,i.u_brightness_low),u_brightness_high:new e.aI(t,i.u_brightness_high),u_saturation_factor:new e.aI(t,i.u_saturation_factor),u_contrast_factor:new e.aI(t,i.u_contrast_factor),u_spin_weights:new e.aL(t,i.u_spin_weights)}),symbolIcon:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aM(t,i.u_texsize),u_texture:new e.aH(t,i.u_texture),u_translation:new e.aM(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),symbolSDF:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aM(t,i.u_texsize),u_texture:new e.aH(t,i.u_texture),u_gamma_scale:new e.aI(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_is_halo:new e.aH(t,i.u_is_halo),u_translation:new e.aM(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),symbolTextAndIcon:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aM(t,i.u_texsize),u_texsize_icon:new e.aM(t,i.u_texsize_icon),u_texture:new e.aH(t,i.u_texture),u_texture_icon:new e.aH(t,i.u_texture_icon),u_gamma_scale:new e.aI(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_is_halo:new e.aH(t,i.u_is_halo),u_translation:new e.aM(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),background:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_opacity:new e.aI(t,i.u_opacity),u_color:new e.aN(t,i.u_color)}),backgroundPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_opacity:new e.aI(t,i.u_opacity),u_image:new e.aH(t,i.u_image),u_pattern_tl_a:new e.aM(t,i.u_pattern_tl_a),u_pattern_br_a:new e.aM(t,i.u_pattern_br_a),u_pattern_tl_b:new e.aM(t,i.u_pattern_tl_b),u_pattern_br_b:new e.aM(t,i.u_pattern_br_b),u_texsize:new e.aM(t,i.u_texsize),u_mix:new e.aI(t,i.u_mix),u_pattern_size_a:new e.aM(t,i.u_pattern_size_a),u_pattern_size_b:new e.aM(t,i.u_pattern_size_b),u_scale_a:new e.aI(t,i.u_scale_a),u_scale_b:new e.aI(t,i.u_scale_b),u_pixel_coord_upper:new e.aM(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aM(t,i.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aI(t,i.u_tile_units_to_pixels)}),terrain:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texture:new e.aH(t,i.u_texture),u_ele_delta:new e.aI(t,i.u_ele_delta)}),terrainDepth:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ele_delta:new e.aI(t,i.u_ele_delta)}),terrainCoords:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texture:new e.aH(t,i.u_texture),u_terrain_coords_id:new e.aI(t,i.u_terrain_coords_id),u_ele_delta:new e.aI(t,i.u_ele_delta)})};class We{constructor(t,e,i){this.context=t;const a=t.gl;this.buffer=a.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindElementBuffer.set(this.buffer);}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);}}const Ge={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class Ve{constructor(t,e,i,a){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=a,this.context=t;const s=t.gl;this.buffer=s.createBuffer(),t.bindVertexBuffer.set(this.buffer),s.bufferData(s.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?s.DYNAMIC_DRAW:s.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindVertexBuffer.set(this.buffer);}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);}enableAttributes(t,e){for(let i=0;i0){const i=e.F();e.aQ(i,m.placementInvProjMatrix,t.transform.glCoordMatrix),e.aQ(i,i,m.placementViewportMatrix),h.push({circleArray:g,circleOffset:u,transform:p.posMatrix,invTransform:i,coord:p}),c+=g.length/4,u=c;}f&&l.draw(r,n.LINES,Li.disabled,Fi.disabled,t.colorModeForRenderPass(),Bi.disabled,{u_matrix:p.posMatrix,u_pixel_extrude_scale:[1/(d=t.transform).width,1/d.height]},t.style.map.terrain&&t.style.map.terrain.getTerrainData(p),a.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,null,t.transform.zoom,null,null,f.collisionVertexBuffer);}var d;if(!o||!h.length)return;const _=t.useProgram(\"collisionCircle\"),p=new e.aR;p.resize(4*c),p._trim();let m=0;for(const t of h)for(let e=0;e=0&&(v[x.associatedIconIndex]={shiftedAnchor:M,angle:z});}else zt(x.numGlyphs,f);}if(c){g.clear();const i=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,i):null,i=\"map\"===a.layout.get(\"text-rotation-alignment\");yt(h,l.posMatrix,t,o,j,Z,v,c,i,f,l.toUnwrapped(),m.width,m.height,q,e);}const V=l.posMatrix,H=o&&E||G,$=x||H?ji:j,X=U,K=_&&0!==a.paint.get(o?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let J;J=_?h.iconsInText?je(I.kind,M,y,v,x,H,t,V,$,X,q,A,F,C):Ne(I.kind,M,y,v,x,H,t,V,$,X,q,o,A,!0,C):Oe(I.kind,M,y,v,x,H,t,V,$,X,q,o,A,C);const Y={program:D,buffers:u,uniformValues:J,atlasTexture:R,atlasTextureIcon:B,atlasInterpolation:L,atlasInterpolationIcon:k,isSDF:_,hasHalo:K};if(w&&h.canOverlap){T=!0;const t=u.segments.get();for(const i of t)P.push({segments:new e.$([i]),sortKey:i.sortKey,state:Y,terrainData:z});}else P.push({segments:u.segments,sortKey:0,state:Y,terrainData:z});}T&&P.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of P){const i=e.state;if(_.activeTexture.set(p.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,p.CLAMP_TO_EDGE),i.atlasTextureIcon&&(_.activeTexture.set(p.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,p.CLAMP_TO_EDGE)),i.isSDF){const s=i.uniformValues;i.hasHalo&&(s.u_is_halo=1,Vi(i.buffers,e.segments,a,t,i.program,I,u,d,s,e.terrainData)),s.u_is_halo=0;}Vi(i.buffers,e.segments,a,t,i.program,I,u,d,i.uniformValues,e.terrainData);}}function Vi(t,e,i,a,s,o,r,n,l,h){const c=a.context;s.draw(c,c.gl.TRIANGLES,o,r,n,Bi.disabled,l,h,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,a.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function Hi(t,e,i,a,s){if(!i||!a||!a.imageAtlas)return;const o=a.imageAtlas.patternPositions;let r=o[i.to.toString()],n=o[i.from.toString()];if(!r&&n&&(r=n),!n&&r&&(n=r),!r||!n){const t=s.getPaintProperty(e);r=o[t],n=o[t];}r&&n&&t.setConstantPatternPositions(r,n);}function $i(t,e,i,a,s,o,r){const n=t.context.gl,l=\"fill-pattern\",h=i.paint.get(l),c=h&&h.constantOr(1),u=i.getCrossfadeParameters();let d,_,p,m,f;r?(_=c&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",d=n.LINES):(_=c?\"fillPattern\":\"fill\",d=n.TRIANGLES);const g=h.constantOr(null);for(const h of a){const a=e.getTile(h);if(c&&!a.patternsLoaded())continue;const v=a.getBucket(i);if(!v)continue;const x=v.programConfigurations.get(i.id),y=t.useProgram(_,x),b=t.style.map.terrain&&t.style.map.terrain.getTerrainData(h);c&&(t.context.activeTexture.set(n.TEXTURE0),a.imageAtlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE),x.updatePaintBuffers(u)),Hi(x,l,g,a,i);const w=b?h:null,T=t.translatePosMatrix(w?w.posMatrix:h.posMatrix,a,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(r){m=v.indexBuffer2,f=v.segments2;const e=[n.drawingBufferWidth,n.drawingBufferHeight];p=\"fillOutlinePattern\"===_&&c?Te(T,t,u,a,e):we(T,e);}else m=v.indexBuffer,f=v.segments,p=c?be(T,t,u,a):ye(T);y.draw(t.context,d,s,t.stencilModeForClipping(h),o,Bi.disabled,p,b,i.id,v.layoutVertexBuffer,m,f,i.paint,t.transform.zoom,x);}}function Xi(t,e,i,a,s,o,r){const n=t.context,l=n.gl,h=\"fill-extrusion-pattern\",c=i.paint.get(h),u=c.constantOr(1),d=i.getCrossfadeParameters(),_=i.paint.get(\"fill-extrusion-opacity\"),p=c.constantOr(null);for(const c of a){const a=e.getTile(c),m=a.getBucket(i);if(!m)continue;const f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(c),g=m.programConfigurations.get(i.id),v=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",g);u&&(t.context.activeTexture.set(l.TEXTURE0),a.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(d)),Hi(g,h,p,a,i);const x=t.translatePosMatrix(c.posMatrix,a,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),y=i.paint.get(\"fill-extrusion-vertical-gradient\"),b=u?xe(x,t,y,_,c,d,a):ve(x,t,y,_);v.draw(n,n.gl.TRIANGLES,s,o,r,Bi.backCCW,b,f,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.map.terrain&&m.centroidVertexBuffer);}}function Ki(t,e,i,a,s,o,r){const n=t.context,l=n.gl,h=i.fbo;if(!h)return;const c=t.useProgram(\"hillshade\"),u=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);n.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,h.colorAttachment.get()),c.draw(n,l.TRIANGLES,s,o,r,Bi.disabled,((t,e,i,a)=>{const s=i.paint.get(\"hillshade-shadow-color\"),o=i.paint.get(\"hillshade-highlight-color\"),r=i.paint.get(\"hillshade-accent-color\");let n=i.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===i.paint.get(\"hillshade-illumination-anchor\")&&(n-=t.transform.angle);const l=!t.options.moving;return {u_matrix:a?a.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:De(0,e.tileID),u_light:[i.paint.get(\"hillshade-exaggeration\"),n],u_shadow:s,u_highlight:o,u_accent:r}})(t,i,a,u?e:null),u,a.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}function Ji(t,i,a,s,o,r){const n=t.context,l=n.gl,h=i.dem;if(h&&h.data){const c=h.dim,u=h.stride,d=h.getPixels();if(n.activeTexture.set(l.TEXTURE1),n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(u),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(l.NEAREST,l.CLAMP_TO_EDGE);}else i.demTexture=new b(n,d,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);n.activeTexture.set(l.TEXTURE0);let _=i.fbo;if(!_){const t=new b(n,{width:c,height:c,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),_=i.fbo=n.createFramebuffer(c,c,!0,!1),_.colorAttachment.set(t.texture);}n.bindFramebuffer.set(_.framebuffer),n.viewport.set([0,0,c,c]),t.useProgram(\"hillshadePrepare\").draw(n,l.TRIANGLES,s,o,r,Bi.disabled,((t,i)=>{const a=i.stride,s=e.F();return e.aO(s,0,e.W,-e.W,0,0,1),e.H(s,s,[0,-e.W,0]),{u_matrix:s,u_image:1,u_dimension:[a,a],u_zoom:t.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,a.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function Yi(t,i,a,s,r,n){const l=s.paint.get(\"raster-fade-duration\");if(!n&&l>0){const s=o.now(),n=(s-t.timeAdded)/l,h=i?(s-i.timeAdded)/l:-1,c=a.getSource(),u=r.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),d=!i||Math.abs(i.tileID.overscaledZ-u)>Math.abs(t.tileID.overscaledZ-u),_=d&&t.refreshedUponExpiration?1:e.ac(d?n:1-h,0,1);return t.refreshedUponExpiration&&n>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-_}:{opacity:_,mix:0}}return {opacity:1,mix:0}}const Qi=new e.aP(1,0,0,1),ta=new e.aP(0,1,0,1),ea=new e.aP(0,0,1,1),ia=new e.aP(1,0,1,1),aa=new e.aP(0,1,1,1);function sa(t,e,i,a){ra(t,0,e+i/2,t.transform.width,i,a);}function oa(t,e,i,a){ra(t,e-i/2,0,i,t.transform.height,a);}function ra(t,e,i,a,s,o){const r=t.context,n=r.gl;n.enable(n.SCISSOR_TEST),n.scissor(e*t.pixelRatio,i*t.pixelRatio,a*t.pixelRatio,s*t.pixelRatio),r.clear({color:o}),n.disable(n.SCISSOR_TEST);}function na(t,i,a){const s=t.context,o=s.gl,r=a.posMatrix,n=t.useProgram(\"debug\"),l=Li.disabled,h=Fi.disabled,c=t.colorModeForRenderPass(),u=\"$debug\",d=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a);s.activeTexture.set(o.TEXTURE0);const _=i.getTileByID(a.key).latestRawTileData,p=Math.floor((_&&_.byteLength||0)/1024),m=i.getTile(a).tileSize,f=512/Math.min(m,512)*(a.overscaledZ/t.transform.zoom)*.5;let g=a.canonical.toString();a.overscaledZ!==a.canonical.z&&(g+=` => ${a.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,a=t.context.gl,s=t.debugOverlayCanvas.getContext(\"2d\");s.clearRect(0,0,i.width,i.height),s.shadowColor=\"white\",s.shadowBlur=2,s.lineWidth=1.5,s.strokeStyle=\"white\",s.textBaseline=\"top\",s.font=\"bold 36px Open Sans, sans-serif\",s.fillText(e,5,5),s.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE);}(t,`${g} ${p}kB`),n.draw(s,o.TRIANGLES,l,h,Ai.alphaBlended,Bi.disabled,Pe(r,e.aP.transparent,f),null,u,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),n.draw(s,o.LINE_STRIP,l,h,c,Bi.disabled,Pe(r,e.aP.red),d,u,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);}function la(t,e,i){const a=t.context,s=a.gl,o=t.colorModeForRenderPass(),r=new Li(s.LEQUAL,Li.ReadWrite,t.depthRangeFor3D),n=t.useProgram(\"terrain\"),l=e.getTerrainMesh();a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);for(const h of i){const i=t.renderToTexture.getTexture(h),c=e.getTerrainData(h.tileID);a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,i.texture);const u={u_matrix:t.transform.calculatePosMatrix(h.tileID.toUnwrapped()),u_texture:0,u_ele_delta:e.getMeshFrameDelta(t.transform.zoom)};n.draw(a,s.TRIANGLES,r,Fi.disabled,o,Bi.backCCW,u,c,\"terrain\",l.vertexBuffer,l.indexBuffer,l.segments);}}class ha{constructor(t,i){this.context=new Ri(t),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=ht.maxUnderzooming+ht.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new re;}resize(t,e,i){if(this.width=Math.floor(t*i),this.height=Math.floor(e*i),this.pixelRatio=i,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize();}setup(){const t=this.context,i=new e.aW;i.emplaceBack(0,0),i.emplaceBack(e.W,0),i.emplaceBack(0,e.W),i.emplaceBack(e.W,e.W),this.tileExtentBuffer=t.createVertexBuffer(i,ce.members),this.tileExtentSegments=e.$.simpleSegment(0,0,4,2);const a=new e.aW;a.emplaceBack(0,0),a.emplaceBack(e.W,0),a.emplaceBack(0,e.W),a.emplaceBack(e.W,e.W),this.debugBuffer=t.createVertexBuffer(a,ce.members),this.debugSegments=e.$.simpleSegment(0,0,4,5);const s=new e.Z;s.emplaceBack(0,0,0,0),s.emplaceBack(e.W,0,e.W,0),s.emplaceBack(0,e.W,0,e.W),s.emplaceBack(e.W,e.W,e.W,e.W),this.rasterBoundsBuffer=t.createVertexBuffer(s,K.members),this.rasterBoundsSegments=e.$.simpleSegment(0,0,4,2);const o=new e.aW;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(o,ce.members),this.viewportSegments=e.$.simpleSegment(0,0,4,2);const r=new e.aX;r.emplaceBack(0),r.emplaceBack(1),r.emplaceBack(3),r.emplaceBack(2),r.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(r);const n=new e.aY;n.emplaceBack(0,1,2),n.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(n);const l=this.context.gl;this.stencilClearMode=new Fi({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO);}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const a=e.F();e.aO(a,0,this.width,this.height,0,0,1),e.J(a,a,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(t,i.TRIANGLES,Li.disabled,this.stencilClearMode,Ai.disabled,Bi.disabled,Ce(a),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const i=this.context,a=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(Ai.disabled),i.setDepthMode(Li.disabled);const s=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,o=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);s.draw(i,a.TRIANGLES,Li.disabled,new Fi({func:a.ALWAYS,mask:0},e,255,a.KEEP,a.KEEP,a.REPLACE),Ai.disabled,Bi.disabled,Ce(t.posMatrix),o,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Fi({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Fi({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),a=i[i.length-1].overscaledZ,s=i[0].overscaledZ-a+1;if(s>1){this.currentStencilSource=void 0,this.nextStencilID+s>256&&this.clearStencil();const t={};for(let i=0;i=0;this.currentLayer--){const t=this.style._layers[a[this.currentLayer]],e=s[t.source],i=r[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayeri.source&&!i.isHidden(e)?[t.sourceCaches[i.source]]:[])),s=a.filter((t=>\"vector\"===t.getSource().type)),o=a.filter((t=>\"vector\"!==t.getSource().type)),r=t=>{(!i||i.getSource().maxzoomr(t))),i||o.forEach((t=>r(t))),i}(this.style,this.transform.zoom);t&&function(t,e,i){for(let a=0;a0),s&&(e.a$(i,a),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,i){const a=t.context,s=a.gl,o=Ai.unblended,r=new Li(s.LEQUAL,Li.ReadWrite,[0,1]),n=i.getTerrainMesh(),l=i.sourceCache.getRenderableTiles(),h=t.useProgram(\"terrainDepth\");a.bindFramebuffer.set(i.getFramebuffer(\"depth\").framebuffer),a.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),a.clear({color:e.aP.transparent,depth:1});for(const e of l){const l=i.getTerrainData(e.tileID),c={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};h.draw(a,s.TRIANGLES,r,Fi.disabled,o,Bi.backCCW,c,l,\"terrain\",n.vertexBuffer,n.indexBuffer,n.segments);}a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);}(this,this.style.map.terrain),function(t,i){const a=t.context,s=a.gl,o=Ai.unblended,r=new Li(s.LEQUAL,Li.ReadWrite,[0,1]),n=i.getTerrainMesh(),l=i.getCoordsTexture(),h=i.sourceCache.getRenderableTiles(),c=t.useProgram(\"terrainCoords\");a.bindFramebuffer.set(i.getFramebuffer(\"coords\").framebuffer),a.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),a.clear({color:e.aP.transparent,depth:1}),i.coordsIndex=[];for(const e of h){const h=i.getTerrainData(e.tileID);a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.texture);const u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-i.coordsIndex.length)/255,u_texture:0,u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};c.draw(a,s.TRIANGLES,r,Fi.disabled,o,Bi.backCCW,u,h,\"terrain\",n.vertexBuffer,n.indexBuffer,n.segments),i.coordsIndex.push(e.tileID.key);}a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);}(this,this.style.map.terrain));}renderLayer(t,i,a,s){if(!a.isHidden(this.transform.zoom)&&(\"background\"===a.type||\"custom\"===a.type||(s||[]).length))switch(this.id=a.id,a.type){case\"symbol\":!function(t,i,a,s,o){if(\"translucent\"!==t.renderPass)return;const r=Fi.disabled,n=t.colorModeForRenderPass();(a._unevaluatedLayout.hasValue(\"text-variable-anchor\")||a._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(t,i,a,s,o,r,n,l,h){const c=i.transform,u=Qt(),d=\"map\"===o,_=\"map\"===r;for(const o of t){const t=s.getTile(o),r=t.getBucket(a);if(!r||!r.text||!r.text.segments.get().length)continue;const p=e.ag(r.textSizeData,c.zoom),m=Lt(t,1,i.transform.zoom),f=mt(o.posMatrix,_,d,i.transform,m),g=\"none\"!==a.layout.get(\"icon-text-fit\")&&r.hasIconData();if(p){const e=Math.pow(2,c.zoom-t.tileID.overscaledZ),a=i.style.map.terrain?(t,e)=>i.style.map.terrain.getElevation(o,t,e):null,s=u.translatePosition(c,t,n,l);qi(r,d,_,h,c,f,o.posMatrix,e,p,g,u,s,o.toUnwrapped(),a);}}}(s,t,a,i,a.layout.get(\"text-rotation-alignment\"),a.layout.get(\"text-pitch-alignment\"),a.paint.get(\"text-translate\"),a.paint.get(\"text-translate-anchor\"),o),0!==a.paint.get(\"icon-opacity\").constantOr(1)&&Gi(t,i,a,s,!1,a.paint.get(\"icon-translate\"),a.paint.get(\"icon-translate-anchor\"),a.layout.get(\"icon-rotation-alignment\"),a.layout.get(\"icon-pitch-alignment\"),a.layout.get(\"icon-keep-upright\"),r,n),0!==a.paint.get(\"text-opacity\").constantOr(1)&&Gi(t,i,a,s,!0,a.paint.get(\"text-translate\"),a.paint.get(\"text-translate-anchor\"),a.layout.get(\"text-rotation-alignment\"),a.layout.get(\"text-pitch-alignment\"),a.layout.get(\"text-keep-upright\"),r,n),i.map.showCollisionBoxes&&(Ni(t,i,a,s,!0),Ni(t,i,a,s,!1));}(t,i,a,s,this.style.placement.variableOffsets);break;case\"circle\":!function(t,i,a,s){if(\"translucent\"!==t.renderPass)return;const o=a.paint.get(\"circle-opacity\"),r=a.paint.get(\"circle-stroke-width\"),n=a.paint.get(\"circle-stroke-opacity\"),l=!a.layout.get(\"circle-sort-key\").isConstant();if(0===o.constantOr(1)&&(0===r.constantOr(1)||0===n.constantOr(1)))return;const h=t.context,c=h.gl,u=t.depthModeForSublayer(0,Li.ReadOnly),d=Fi.disabled,_=t.colorModeForRenderPass(),p=[];for(let o=0;ot.sortKey-e.sortKey));for(const e of p){const{programConfiguration:i,program:s,layoutVertexBuffer:o,indexBuffer:r,uniformValues:n,terrainData:l}=e.state;s.draw(h,c.TRIANGLES,u,d,_,Bi.disabled,n,l,a.id,o,r,e.segments,a.paint,t.transform.zoom,i);}}(t,i,a,s);break;case\"heatmap\":!function(t,i,a,s){if(0!==a.paint.get(\"heatmap-opacity\"))if(\"offscreen\"===t.renderPass){const o=t.context,r=o.gl,n=Fi.disabled,l=new Ai([r.ONE,r.ONE],e.aP.transparent,[!0,!0,!0,!0]);!function(t,e,i){const a=t.gl;t.activeTexture.set(a.TEXTURE1),t.viewport.set([0,0,e.width/4,e.height/4]);let s=i.heatmapFbo;if(s)a.bindTexture(a.TEXTURE_2D,s.colorAttachment.get()),t.bindFramebuffer.set(s.framebuffer);else {const o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,a.CLAMP_TO_EDGE),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,a.LINEAR),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,a.LINEAR),s=i.heatmapFbo=t.createFramebuffer(e.width/4,e.height/4,!1,!1),function(t,e,i,a){var s,o;const r=t.gl,n=null!==(s=t.HALF_FLOAT)&&void 0!==s?s:r.UNSIGNED_BYTE,l=null!==(o=t.RGBA16F)&&void 0!==o?o:r.RGBA;r.texImage2D(r.TEXTURE_2D,0,l,e.width/4,e.height/4,0,r.RGBA,n,null),a.colorAttachment.set(i);}(t,e,o,s);}}(o,t,a),o.clear({color:e.aP.transparent});for(let e=0;e{const o=e.F();e.aO(o,0,t.width,t.height,0,0,1);const r=t.context.gl;return {u_matrix:o,u_world:[r.drawingBufferWidth,r.drawingBufferHeight],u_image:0,u_color_ramp:1,u_opacity:i.paint.get(\"heatmap-opacity\")}})(t,i),null,i.id,t.viewportBuffer,t.quadTriangleIndexBuffer,t.viewportSegments,i.paint,t.transform.zoom);}(t,a));}(t,i,a,s);break;case\"line\":!function(t,i,a,s){if(\"translucent\"!==t.renderPass)return;const o=a.paint.get(\"line-opacity\"),r=a.paint.get(\"line-width\");if(0===o.constantOr(1)||0===r.constantOr(1))return;const n=t.depthModeForSublayer(0,Li.ReadOnly),l=t.colorModeForRenderPass(),h=a.paint.get(\"line-dasharray\"),c=a.paint.get(\"line-pattern\"),u=c.constantOr(1),d=a.paint.get(\"line-gradient\"),_=a.getCrossfadeParameters(),p=u?\"linePattern\":h?\"lineSDF\":d?\"lineGradient\":\"line\",m=t.context,f=m.gl;let g=!0;for(const o of s){const s=i.getTile(o);if(u&&!s.patternsLoaded())continue;const r=s.getBucket(a);if(!r)continue;const v=r.programConfigurations.get(a.id),x=t.context.program.get(),y=t.useProgram(p,v),w=g||y.program!==x,T=t.style.map.terrain&&t.style.map.terrain.getTerrainData(o),I=c.constantOr(null);if(I&&s.imageAtlas){const t=s.imageAtlas,e=t.patternPositions[I.to.toString()],i=t.patternPositions[I.from.toString()];e&&i&&v.setConstantPatternPositions(e,i);}const E=T?o:null,P=u?Ae(t,s,a,_,E):h?Re(t,s,a,h,_,E):d?ze(t,s,a,r.lineClipsArray.length,E):Me(t,s,a,E);if(u)m.activeTexture.set(f.TEXTURE0),s.imageAtlasTexture.bind(f.LINEAR,f.CLAMP_TO_EDGE),v.updatePaintBuffers(_);else if(h&&(w||t.lineAtlas.dirty))m.activeTexture.set(f.TEXTURE0),t.lineAtlas.bind(m);else if(d){const s=r.gradients[a.id];let n=s.texture;if(a.gradientVersion!==s.version){let l=256;if(a.stepInterpolant){const a=i.getSource().maxzoom,s=o.canonical.z===a?Math.ceil(1<0?e.pop():null}isPatternMissing(t){if(!t)return !1;if(!t.from||!t.to)return !0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[i]||(this.cache[i]=new fe(this.context,de[t],e,qe[t],this._showOverdrawInspector,this.style.map.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD);}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new b(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy();}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class ca{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(t,i,a){const s=Math.pow(2,a),o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((a=>{const o=1/(a=e.af([],a,t))[3]/i*s;return e.b0(a,a,[o,o,1/a[3],o])})),r=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=function(t,e){var i=e[0],a=e[1],s=e[2],o=i*i+a*a+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}([],function(t,e,i){var a=e[0],s=e[1],o=e[2],r=i[0],n=i[1],l=i[2];return t[0]=s*l-o*n,t[1]=o*r-a*l,t[2]=a*n-s*r,t}([],g([],o[t[0]],o[t[1]]),g([],o[t[2]],o[t[1]]))),i=-((a=e)[0]*(s=o[t[1]])[0]+a[1]*s[1]+a[2]*s[2]);var a,s;return e.concat(i)}));return new ca(o,r)}}class ua{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e,i){return t[0]=.5*e[0],t[1]=.5*e[1],t[2]=.5*e[2],t}([],function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}([],this.min,this.max));}quadrant(t){const e=[t%2==0,t<2],i=m(this.min),a=m(this.max);for(let t=0;t=0&&r++;if(0===r)return 0;r!==i.length&&(a=!1);}if(a)return 2;for(let e=0;e<3;e++){let i=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let s=0;sthis.max[e]-this.min[e])return 0}return 1}}class da{constructor(t=0,e=0,i=0,a=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(a)||a<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=i,this.right=a;}interpolate(t,i,a){return null!=i.top&&null!=t.top&&(this.top=e.z.number(t.top,i.top,a)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.z.number(t.bottom,i.bottom,a)),null!=i.left&&null!=t.left&&(this.left=e.z.number(t.left,i.left,a)),null!=i.right&&null!=t.right&&(this.right=e.z.number(t.right,i.right,a)),this}getCenter(t,i){const a=e.ac((this.left+t-this.right)/2,0,t),s=e.ac((this.top+i-this.bottom)/2,0,i);return new e.P(a,s)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new da(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const _a=85.051129;class pa{constructor(t,i,a,s,o){this.tileSize=512,this._renderWorldCopies=void 0===o||!!o,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==a?0:a,this._maxPitch=null==s?60:s,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.M(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new da,this._posMatrixCache={},this._alignedPosMatrixCache={},this.minElevationForCurrentTile=0;}clone(){const t=new pa(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices();}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return -this.angle/Math.PI*180}set bearing(t){const i=-e.b2(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,i){var a=e[0],s=e[1],o=e[2],r=e[3],n=Math.sin(i),l=Math.cos(i);t[0]=a*l+o*n,t[1]=s*l+r*n,t[2]=a*-n+o*l,t[3]=s*-n+r*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.ac(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),this._constrain(),this._calcMatrices());}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices());}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(t){const i=[new e.b3(0,t)];if(this._renderWorldCopies){const a=this.pointCoordinate(new e.P(0,0)),s=this.pointCoordinate(new e.P(this.width,0)),o=this.pointCoordinate(new e.P(this.width,this.height)),r=this.pointCoordinate(new e.P(0,this.height)),n=Math.floor(Math.min(a.x,s.x,o.x,r.x)),l=Math.floor(Math.max(a.x,s.x,o.x,r.x)),h=1;for(let a=n-h;a<=l+h;a++)0!==a&&i.push(new e.b3(a,t));}return i}coveringTiles(t){var i,a;let s=this.coveringZoomLevel(t);const o=s;if(void 0!==t.minzoom&&st.maxzoom&&(s=t.maxzoom);const r=this.pointCoordinate(this.getCameraPoint()),n=e.Y.fromLngLat(this.center),l=Math.pow(2,s),h=[l*r.x,l*r.y,0],c=[l*n.x,l*n.y,0],u=ca.fromInvProjectionMatrix(this.invProjMatrix,this.worldSize,s);let d=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=s);const _=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,p=t=>({aabb:new ua([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],f=[],g=s,x=t.reparseOverscaled?o:s;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(p(-t)),m.push(p(t));for(m.push(p(0));m.length>0;){const s=m.pop(),o=s.x,r=s.y;let n=s.fullyVisible;if(!n){const t=s.aabb.intersects(u);if(0===t)continue;n=2===t;}const l=t.terrain?h:c,p=s.aabb.distanceX(l),y=s.aabb.distanceY(l),b=Math.max(Math.abs(p),Math.abs(y));if(s.zoom===g||b>_+(1<=d){const t=g-s.zoom,i=h[0]-.5-(o<>1),u=s.zoom+1;let d=s.aabb.quadrant(l);if(t.terrain){const o=new e.Q(u,s.wrap,u,h,c),r=t.terrain.getMinMaxElevation(o),n=null!==(i=r.minElevation)&&void 0!==i?i:this.elevation,l=null!==(a=r.maxElevation)&&void 0!==a?a:this.elevation;d=new ua([d.min[0],d.min[1],n],[d.max[0],d.max[1],l]);}m.push({aabb:d,zoom:u,x:h,y:c,wrap:s.wrap,fullyVisible:n});}}return f.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(t){const i=e.ac(t.lat,-85.051129,_a);return new e.P(e.N(t.lng)*this.worldSize,e.O(i)*this.worldSize)}unproject(t){return new e.Y(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return {lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const i=this.elevation,a=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,s=this.pointLocation(this.centerPoint,t),o=t.getElevationForLngLatZoom(s,this.tileZoom);if(!(this.elevation-o))return;const r=a+i-o,n=Math.cos(this._pitch)*this.cameraToCenterDistance/r/e.b4(1,s.lat),l=this.scaleZoom(n/this.tileSize);this._elevation=o,this._center=s,this.zoom=l;}setLocationAtPoint(t,i){const a=this.pointCoordinate(i),s=this.pointCoordinate(this.centerPoint),o=this.locationCoordinate(t),r=new e.Y(o.x-(a.x-s.x),o.y-(a.y-s.y));this.center=this.coordinateLocation(r),this._renderWorldCopies&&(this.center=this.center.wrap());}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Y.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,i){if(i){const e=i.pointCoordinate(t);if(null!=e)return e}const a=[t.x,t.y,0,1],s=[t.x,t.y,1,1];e.af(a,a,this.pixelMatrixInverse),e.af(s,s,this.pixelMatrixInverse);const o=a[3],r=s[3],n=a[1]/o,l=s[1]/r,h=a[2]/o,c=s[2]/r,u=h===c?0:(0-h)/(c-h);return new e.Y(e.z.number(a[0]/o,s[0]/r,u)/this.worldSize,e.z.number(n,l,u)/this.worldSize)}coordinatePoint(t,i=0,a=this.pixelMatrix){const s=[t.x*this.worldSize,t.y*this.worldSize,i,1];return e.af(s,s,a),new e.P(s[0]/s[3],s[1]/s[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return (new W).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new W([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,_a]);}calculatePosMatrix(t,i=!1){const a=t.key,s=i?this._alignedPosMatrixCache:this._posMatrixCache;if(s[a])return s[a];const o=t.canonical,r=this.worldSize/this.zoomScale(o.z),n=o.x+Math.pow(2,o.z)*t.wrap,l=e.an(new Float64Array(16));return e.H(l,l,[n*r,o.y*r,0]),e.J(l,l,[r/e.W,r/e.W,1]),e.K(l,i?this.alignedProjMatrix:this.projMatrix,l),s[a]=new Float32Array(l),s[a]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,i){i=e.ac(+i,this.minZoom,this.maxZoom);const a={center:new e.M(t.lng,t.lat),zoom:i};let s=this.lngRange;if(!this._renderWorldCopies&&null===s){const t=180-1e-10;s=[-t,t];}const o=this.tileSize*this.zoomScale(a.zoom);let r=0,n=o,l=0,h=o,c=0,u=0;const{x:d,y:_}=this.size;if(this.latRange){const t=this.latRange;r=e.O(t[1])*o,n=e.O(t[0])*o,n-r<_&&(c=_/(n-r));}s&&(l=e.b2(e.N(s[0])*o,0,o),h=e.b2(e.N(s[1])*o,0,o),hn&&(g=n-t);}if(s){const t=(l+h)/2;let i=p;this._renderWorldCopies&&(i=e.b2(p,t-o/2,t+o/2));const a=d/2;i-ah&&(f=h-a);}if(void 0!==f||void 0!==g){const t=new e.P(null!=f?f:p,null!=g?g:m);a.center=this.unproject.call({worldSize:o},t).wrap();}return a}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:i}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=i,this._unmodified=t,this._constraining=!1;}_calcMatrices(){if(!this.height)return;const t=this.centerOffset,i=this.point.x,a=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=e.b4(1,this.center.lat)*this.worldSize;let s=e.an(new Float64Array(16));e.J(s,s,[this.width/2,-this.height/2,1]),e.H(s,s,[1,-1,0]),this.labelPlaneMatrix=s,s=e.an(new Float64Array(16)),e.J(s,s,[1,-1,1]),e.H(s,s,[-1,-1,0]),e.J(s,s,[2/this.width,2/this.height,1]),this.glCoordMatrix=s;const o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),r=Math.min(this.elevation,this.minElevationForCurrentTile),n=o-r*this._pixelPerMeter/Math.cos(this._pitch),l=r<0?n:o,h=Math.PI/2+this._pitch,c=this._fov*(.5+t.y/this.height),u=Math.sin(c)*l/Math.sin(e.ac(Math.PI-h-c,.01,Math.PI-.01)),d=this.getHorizon(),_=2*Math.atan(d/this.cameraToCenterDistance)*(.5+t.y/(2*d)),p=Math.sin(_)*l/Math.sin(e.ac(Math.PI-h-_,.01,Math.PI-.01)),m=Math.min(u,p),f=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),g=this.height/50;s=new Float64Array(16),e.b5(s,this._fov,this.width/this.height,g,f),s[8]=2*-t.x/this.width,s[9]=2*t.y/this.height,e.J(s,s,[1,-1,1]),e.H(s,s,[0,0,-this.cameraToCenterDistance]),e.b6(s,s,this._pitch),e.ad(s,s,this.angle),e.H(s,s,[-i,-a,0]),this.mercatorMatrix=e.J([],s,[this.worldSize,this.worldSize,this.worldSize]),e.J(s,s,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.K(new Float64Array(16),this.labelPlaneMatrix,s),e.H(s,s,[0,0,-this.elevation]),this.projMatrix=s,this.invProjMatrix=e.as([],s),this.pixelMatrix3D=e.K(new Float64Array(16),this.labelPlaneMatrix,s);const v=this.width%2/2,x=this.height%2/2,y=Math.cos(this.angle),b=Math.sin(this.angle),w=i-Math.round(i)+y*v+b*x,T=a-Math.round(a)+y*x+b*v,I=new Float64Array(s);if(e.H(I,I,[w>.5?w-1:w,T>.5?T-1:T,0]),this.alignedProjMatrix=I,s=e.as(new Float64Array(16),this.pixelMatrix),!s)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=s,this._posMatrixCache={},this._alignedPosMatrixCache={};}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),i=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.af(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,t))}getCameraQueryGeometry(t){const i=this.getCameraPoint();if(1===t.length)return [t[0],i];{let a=i.x,s=i.y,o=i.x,r=i.y;for(const e of t)a=Math.min(a,e.x),s=Math.min(s,e.y),o=Math.max(o,e.x),r=Math.max(r,e.y);return [new e.P(a,s),new e.P(o,s),new e.P(o,r),new e.P(a,r),new e.P(a,s)]}}lngLatToCameraDepth(t,i){const a=this.locationCoordinate(t),s=[a.x*this.worldSize,a.y*this.worldSize,i,1];return e.af(s,s,this.projMatrix),s[2]/s[3]}}function ma(t,e){let i,a=!1,s=null,o=null;const r=()=>{s=null,a&&(t.apply(o,i),s=setTimeout(r,e),a=!1);};return (...t)=>(a=!0,o=this,i=t,s||r(),s)}class fa{constructor(t){this._getCurrentHash=()=>{const t=window.location.hash.replace(\"#\",\"\");if(this._hashName){let e;return t.split(\"&\").map((t=>t.split(\"=\"))).forEach((t=>{t[0]===this._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")}return t.split(\"/\")},this._onHashChange=()=>{const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return !1},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.+)?$/,this.getHashString());try{window.history.replaceState(window.history.state,null,t);}catch(t){}},this._updateHash=ma(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t);}addTo(t){return this._map=t,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,a=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),s=Math.pow(10,a),o=Math.round(e.lng*s)/s,r=Math.round(e.lat*s)/s,n=this._map.getBearing(),l=this._map.getPitch();let h=\"\";if(h+=t?`/${o}/${r}/${i}`:`${i}/${r}/${o}`,(n||l)&&(h+=\"/\"+Math.round(10*n)/10),l&&(h+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split(\"&\").map((i=>{const a=i.split(\"=\")[0];return a===t?(e=!0,`${a}=${h}`):i})).filter((t=>t));return e||i.push(`${t}=${h}`),`#${i.join(\"&\")}`}return `#${h}`}}const ga={linearity:.3,easing:e.b7(0,0,.3,1)},va=e.e({deceleration:2500,maxSpeed:1400},ga),xa=e.e({deceleration:20,maxSpeed:1400},ga),ya=e.e({deceleration:1e3,maxSpeed:360},ga),ba=e.e({deceleration:1e3,maxSpeed:90},ga);class wa{constructor(t){this._map=t,this.clear();}clear(){this._inertiaBuffer=[];}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:o.now(),settings:t});}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=o.now();for(;t.length>0&&e-t[0].time>160;)t.shift();}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(i.pan.mag()){const o=Ia(i.pan.mag(),a,e.e({},va,t||{}));s.offset=i.pan.mult(o.amount/i.pan.mag()),s.center=this._map.transform.center,Ta(s,o);}if(i.zoom){const t=Ia(i.zoom,a,xa);s.zoom=this._map.transform.zoom+t.amount,Ta(s,t);}if(i.bearing){const t=Ia(i.bearing,a,ya);s.bearing=this._map.transform.bearing+e.ac(t.amount,-179,179),Ta(s,t);}if(i.pitch){const t=Ia(i.pitch,a,ba);s.pitch=this._map.transform.pitch+t.amount,Ta(s,t);}if(s.zoom||s.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;s.around=t?this._map.unproject(t):this._map.getCenter();}return this.clear(),e.e(s,{noMoveStart:!0})}}function Ta(t,e){(!t.duration||t.durationi.unproject(t))),l=o.reduce(((t,e,i,a)=>t.add(e.div(a.length))),new e.P(0,0));super(t,{points:o,point:l,lngLats:n,lngLat:i.unproject(l),originalEvent:a}),this._defaultPrevented=!1;}}class Ca extends e.k{preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1;}}class Sa{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance;}reset(){delete this._mousedownPos;}wheel(t){return this._firePreventable(new Ca(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new Ea(t.type,this._map,t))}mouseup(t){this._map.fire(new Ea(t.type,this._map,t));}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new Ea(t.type,this._map,t));}dblclick(t){return this._firePreventable(new Ea(t.type,this._map,t))}mouseover(t){this._map.fire(new Ea(t.type,this._map,t));}mouseout(t){this._map.fire(new Ea(t.type,this._map,t));}touchstart(t){return this._firePreventable(new Pa(t.type,this._map,t))}touchmove(t){this._map.fire(new Pa(t.type,this._map,t));}touchend(t){this._map.fire(new Pa(t.type,this._map,t));}touchcancel(t){this._map.fire(new Pa(t.type,this._map,t));}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Da{constructor(t){this._map=t;}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent;}mousemove(t){this._map.fire(new Ea(t.type,this._map,t));}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new Ea(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new Ea(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Ma{constructor(t){this._map=t;}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return {lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class za{constructor(t,e){this._map=t,this._tr=new Ma(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;}isEnabled(){return !!this._enabled}isActive(){return !!this._active}enable(){this.isEnabled()||(this._enabled=!0);}disable(){this.isEnabled()&&(this._enabled=!1);}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(r.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(a,s,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",t);}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos;}_fireEvent(t,i){return this._map.fire(new e.k(t,{originalEvent:i}))}}function Aa(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const i={};for(let a=0;athis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),a.length===this.numTouches&&(this.centroid=function(t){const i=new e.P(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=Aa(a,i)));}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const a=Aa(i,e);for(const t in this.touches){const e=a[t];(!e||e.dist(this.touches[t])>30)&&(this.aborted=!0);}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class La{constructor(t){this.singleTap=new Ra(t),this.numTaps=t.numTaps,this.reset();}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();}touchstart(t,e,i){this.singleTap.touchstart(t,e,i);}touchmove(t,e,i){this.singleTap.touchmove(t,e,i);}touchend(t,e,i){const a=this.singleTap.touchend(t,e,i);if(a){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(a)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=a,this.count===this.numTaps)return this.reset(),a}}}class ka{constructor(t){this._tr=new Ma(t),this._zoomIn=new La({numTouches:1,numTaps:2}),this._zoomOut=new La({numTouches:2,numTaps:1}),this.reset();}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);}touchend(t,e,i){const a=this._zoomIn.touchend(t,e,i),s=this._zoomOut.touchend(t,e,i),o=this._tr;return a?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:o.zoom+1,around:o.unproject(a)},{originalEvent:t})}):s?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:o.zoom-1,around:o.unproject(s)},{originalEvent:t})}):void 0}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Fa{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset();}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t);}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0));}dragMove(t,e){if(!this.isEnabled())return;const i=this._lastPoint;if(!i)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const a=e.length?e[0]:e;return !this._moved&&a.dist(i){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault();};},Ua=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const a=new Oa({checkCorrectEvent:t=>0===r.mouseButton(t)&&t.ctrlKey||2===r.mouseButton(t)});return new Fa({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:a,enable:t,assignEvents:ja})},Za=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const a=new Oa({checkCorrectEvent:t=>0===r.mouseButton(t)&&t.ctrlKey||2===r.mouseButton(t)});return new Fa({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:a,enable:t,assignEvents:ja})};class qa{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset();}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0);}minTouchs(){return this._map.cooperativeGestures.isEnabled()?2:1}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._active&&!(i.length0&&(this._active=!0);const s=Aa(a,i),o=new e.P(0,0),r=new e.P(0,0);let n=0;for(const t in s){const e=s[t],i=this._touches[t];i&&(o._add(e),r._add(e.sub(i)),n++,s[t]=e);}if(this._touches=s,nMath.abs(t.x)}class Ja extends Wa{constructor(t){super(),this._currentTouchCount=0,this._map=t;}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints;}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length;}_start(t){this._lastPoints=t,Ka(t[0].sub(t[1]))&&(this._valid=!1);}_move(t,e,i){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const a=t[0].sub(this._lastPoints[0]),s=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(a,s,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(a.y+s.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const a=t.mag()>=2,s=e.mag()>=2;if(!a&&!s)return;if(!a||!s)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=t.y>0==e.y>0;return Ka(t)&&Ka(e)&&o}}const Ya={panStep:100,bearingStep:15,pitchStep:10};class Qa{constructor(t){this._tr=new Ma(t);const e=Ya;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1;}reset(){this._active=!1;}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,a=0,s=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),s=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),s=1);break;case 38:t.shiftKey?a=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?a=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,a=0),{cameraAnimation:r=>{const n=this._tr;r.easeTo({duration:300,easeId:\"keyboardHandler\",easing:ts,zoom:e?Math.round(n.zoom)+e*(t.shiftKey?2:1):n.zoom,bearing:n.bearing+i*this._bearingStep,pitch:n.pitch+a*this._pitchStep,offset:[-s*this._panStep,-o*this._panStep],center:n.center},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0;}enableRotation(){this._rotationDisabled=!1;}}function ts(t){return t*(2-t)}const es=4.000244140625;class is{constructor(t,e){this._onTimeout=t=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);},this._map=t,this._tr=new Ma(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222;}setZoomRate(t){this._defaultZoomRate=t;}setWheelZoomRate(t){this._wheelZoomRate=t;}isEnabled(){return !!this._enabled}isActive(){return !!this._active||void 0!==this._finishTimeout}isZooming(){return !!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around);}disable(){this.isEnabled()&&(this._enabled=!1);}wheel(t){if(!this.isEnabled())return;if(this._map.cooperativeGestures.isEnabled()&&!t[this._map.cooperativeGestures._bypassKey])return;let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const i=o.now(),a=i-(this._lastWheelEventTime||0);this._lastWheelEventTime=i,0!==e&&e%es==0?this._type=\"wheel\":0!==e&&Math.abs(e)<4?this._type=\"trackpad\":a>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(a*e)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault();}_start(t){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const i=r.mousePos(this._map.getCanvas(),t),a=this._tr;this._around=i.y>a.transform.height/2-a.transform.getHorizon()?e.M.convert(this._aroundCenter?a.center:a.unproject(i)):e.M.convert(a.center),this._aroundPoint=a.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame());}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e=\"wheel\"===this._type&&Math.abs(this._delta)>es?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==i&&(i=1/i);const a=\"number\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}const i=\"number\"==typeof this._targetZoom?this._targetZoom:t.zoom,a=this._startZoom,s=this._easing;let r,n=!1;if(\"wheel\"===this._type&&a&&s){const t=Math.min((o.now()-this._lastWheelEventTime)/200,1),l=s(t);r=e.z.number(a,i,l),t<1?this._frameId||(this._frameId=!0):n=!0;}else r=i,n=!0;return this._active=!0,n&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!n,zoomDelta:r-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.b8;if(this._prevEase){const t=this._prevEase,a=(o.now()-t.start)/t.duration,s=t.easing(a+.01)-t.easing(a),r=.27/Math.sqrt(s*s+1e-4)*.01,n=Math.sqrt(.0729-r*r);i=e.b7(r,n,.25,1);}return this._prevEase={start:o.now(),duration:t,easing:i},i}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);}}class as{constructor(t,e){this._clickZoom=t,this._tapZoom=e;}enable(){this._clickZoom.enable(),this._tapZoom.enable();}disable(){this._clickZoom.disable(),this._tapZoom.disable();}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class ss{constructor(t){this._tr=new Ma(t),this.reset();}reset(){this._active=!1;}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class os{constructor(){this._tap=new La({numTouches:1,numTaps:1}),this.reset();}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset();}touchstart(t,e,i){if(!this._swipePoint)if(this._tapTime){const a=e[0],s=t.timeStamp-this._tapTime<500,o=this._tapPoint.dist(a)<30;s&&o?i.length>0&&(this._swipePoint=a,this._swipeTouch=i[0].identifier):this.reset();}else this._tap.touchstart(t,e,i);}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const a=e[0],s=a.y-this._swipePoint.y;return this._swipePoint=a,t.preventDefault(),this._active=!0,{zoomDelta:s/128}}}else this._tap.touchmove(t,e,i);}touchend(t,e,i){if(this._tapTime)this._swipePoint&&0===i.length&&this.reset();else {const a=this._tap.touchend(t,e,i);a&&(this._tapTime=t.timeStamp,this._tapPoint=a);}}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class rs{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\");}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\");}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class ns{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i;}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();}disable(){this._mouseRotate.disable(),this._mousePitch.disable();}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class ls{constructor(t,e,i,a){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=a,this._rotationDisabled=!1,this._enabled=!0;}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\");}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\");}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable();}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();}}class hs{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf(\"Mac\")?\"metaKey\":\"ctrlKey\",this._map=t,this._options=e,this._enabled=!1;}isActive(){return !1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add(\"maplibregl-cooperative-gestures\"),this._container=r.create(\"div\",\"maplibregl-cooperative-gesture-screen\",t);let e=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");\"metaKey\"===this._bypassKey&&(e=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));const i=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),a=document.createElement(\"div\");a.className=\"maplibregl-desktop-message\",a.textContent=e,this._container.appendChild(a);const s=document.createElement(\"div\");s.className=\"maplibregl-mobile-message\",s.textContent=i,this._container.appendChild(s),this._container.setAttribute(\"aria-hidden\",\"true\");}_destoryUI(){this._container&&(r.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container;}enable(){this._setupUI(),this._enabled=!0;}disable(){this._enabled=!1,this._destoryUI();}isEnabled(){return this._enabled}touchmove(t){this._onCooperativeGesture(1===t.touches.length);}wheel(t){this._map.scrollZoom.isEnabled()&&this._onCooperativeGesture(!t[this._bypassKey]);}_onCooperativeGesture(t){this._enabled&&t&&(this._container.classList.add(\"maplibregl-show\"),setTimeout((()=>{this._container.classList.remove(\"maplibregl-show\");}),100));}}const cs=t=>t.zoom||t.drag||t.pitch||t.rotate;class us extends e.k{}function ds(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class _s{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`);},this.handleEvent=(t,e)=>{if(\"blur\"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i=\"renderFrame\"===t.type?void 0:t,a={needsRenderFrame:!1},s={},o={},n=t.touches,l=n?this._getMapTouches(n):void 0,h=l?r.touchPos(this._map.getCanvas(),l):r.mousePos(this._map.getCanvas(),t);for(const{handlerName:r,handler:n,allowed:c}of this._handlers){if(!n.isEnabled())continue;let u;this._blockedByActive(o,c,r)?n.reset():n[e||t.type]&&(u=n[e||t.type](t,h,l),this.mergeHandlerResult(a,s,u,r,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||n.isActive())&&(o[r]=n);}const c={};for(const t in this._previousActiveHandlers)o[t]||(c[t]=i);this._previousActiveHandlers=o,(Object.keys(c).length||ds(a))&&(this._changes.push([a,s,c]),this._triggerRenderFrame()),(Object.keys(o).length||ds(a))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=a;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map));},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new wa(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const i=this._el;this._listeners=[[i,\"touchstart\",{passive:!0}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(const[t,e,i]of this._listeners)r.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}destroy(){for(const[t,e,i]of this._listeners)r.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new Sa(e,t));const a=e.boxZoom=new za(e,t);this._add(\"boxZoom\",a),t.interactive&&t.boxZoom&&a.enable();const s=e.cooperativeGestures=new hs(e,t.cooperativeGestures);this._add(\"cooperativeGestures\",s),t.cooperativeGestures&&s.enable();const o=new ka(e),n=new ss(e);e.doubleClickZoom=new as(n,o),this._add(\"tapZoom\",o),this._add(\"clickZoom\",n),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new os;this._add(\"tapDragZoom\",l);const h=e.touchPitch=new Ja(e);this._add(\"touchPitch\",h),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const c=Ua(t),u=Za(t);e.dragRotate=new ns(t,c,u),this._add(\"mouseRotate\",c,[\"mousePitch\"]),this._add(\"mousePitch\",u,[\"mouseRotate\"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const d=(({enable:t,clickTolerance:e})=>{const i=new Oa({checkCorrectEvent:t=>0===r.mouseButton(t)&&!t.ctrlKey});return new Fa({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:i,enable:t,assignEvents:ja})})(t),_=new qa(t,e);e.dragPan=new rs(i,d,_),this._add(\"mousePan\",d),this._add(\"touchPan\",_,[\"touchZoom\",\"touchRotate\"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const p=new Xa,m=new Ha;e.touchZoomRotate=new ls(i,m,p,l),this._add(\"touchRotate\",p,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",m,[\"touchPan\",\"touchRotate\"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const f=e.scrollZoom=new is(e,(()=>this._triggerRenderFrame()));this._add(\"scrollZoom\",f,[\"mousePan\"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const g=e.keyboard=new Qa(e);this._add(\"keyboard\",g),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add(\"blockableMapEvent\",new Da(e));}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return !0;return !1}isZooming(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return !!this._eventsInProgress.rotate}isMoving(){return Boolean(cs(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const a in t)if(a!==i&&(!e||e.indexOf(a)<0))return !0;return !1}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}mergeHandlerResult(t,i,a,s,o){if(!a)return;e.e(t,a);const r={handlerName:s,originalEvent:a.originalEvent||o};void 0!==a.zoomDelta&&(i.zoom=r),void 0!==a.panDelta&&(i.drag=r),void 0!==a.pitchDelta&&(i.pitch=r),void 0!==a.bearingDelta&&(i.rotate=r);}_applyChanges(){const t={},i={},a={};for(const[s,o,r]of this._changes)s.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(s.panDelta)),s.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(t.around=s.around),void 0!==s.pinchAround&&(t.pinchAround=s.pinchAround),s.noInertia&&(t.noInertia=s.noInertia),e.e(i,o),e.e(a,r);this._updateMapTransform(t,i,a),this._changes=[];}_updateMapTransform(t,e,i){const a=this._map,s=a._getTransformForUpdate(),o=a.terrain;if(!(ds(t)||o&&this._terrainMovement))return this._fireEvents(e,i,!0);let{panDelta:r,zoomDelta:n,bearingDelta:l,pitchDelta:h,around:c,pinchAround:u}=t;void 0!==u&&(c=u),a._stop(!0),c=c||a.transform.centerPoint;const d=s.pointLocation(r?c.sub(r):c);l&&(s.bearing+=l),h&&(s.pitch+=h),n&&(s.zoom+=n),o?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?s.center=s.pointLocation(s.centerPoint.sub(r)):s.setLocationAtPoint(d,c):(this._terrainMovement=!0,this._map._elevationFreeze=!0,s.setLocationAtPoint(d,c)):s.setLocationAtPoint(d,c),a._applyUpdatedTransform(s),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0);}_fireEvents(t,i,a){const s=cs(this._eventsInProgress),r=cs(t),n={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(n[`${e}start`]=i),this._eventsInProgress[e]=t[e];}!s&&r&&this._fireEvent(\"movestart\",r.originalEvent);for(const t in n)this._fireEvent(t,n[t]);r&&this._fireEvent(\"move\",r.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i);}const l={};let h;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:a}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],h=i[e]||a,l[`${t}end`]=h);}for(const t in l)this._fireEvent(t,l[t]);const c=cs(this._eventsInProgress),u=(s||r)&&!c;if(u&&this._terrainMovement&&(this._map._elevationFreeze=!1,this._terrainMovement=!1,this._map.transform.recalculateZoom(this._map.terrain)),a&&u){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new us(\"renderFrame\",{timeStamp:t})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}class ps extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((o.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on(\"moveend\",(()=>{delete this._requestedCameraState;}));}getCenter(){return new e.M(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(t,i,a){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},i),a)}panTo(t,i,a){return this.easeTo(e.e({center:t},i),a)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,i,a){return this.easeTo(e.e({zoom:t},i),a)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(t,i,a){return this.easeTo(e.e({bearing:t},i),a)}resetNorth(t,i){return this.rotateTo(0,e.e({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(s.zoom=e.z.number(r,g,a)),this._rotating&&(s.bearing=e.z.number(n,c,a)),this._pitching&&(s.pitch=e.z.number(l,u,a)),this._padding&&(s.interpolatePadding(h,d,a),p=s.centerPoint.add(_)),this.terrain&&!t.freezeElevation&&this._updateElevation(a),b)s.setLocationAtPoint(b,w);else {const t=s.zoomScale(s.zoom-r),e=g>r?Math.min(2,y):Math.max(.5,y),i=Math.pow(e,1-a),o=s.unproject(v.add(x.mult(a*i)).mult(t));s.setLocationAtPoint(s.renderWorldCopies?o.wrap():o,p);}this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i,e);}),t),this}_prepareEase(t,i,a={}){this._moving=!0,i||a.moving||this.fire(new e.k(\"movestart\",t)),this._zooming&&!a.zooming&&this.fire(new e.k(\"zoomstart\",t)),this._rotating&&!a.rotating&&this.fire(new e.k(\"rotatestart\",t)),this._pitching&&!a.pitching&&this.fire(new e.k(\"pitchstart\",t));}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0;}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const i=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&i!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart;this._elevationStart+=t*(e-(i-(e*t+this._elevationStart))/(1-t)),this._elevationTarget=i;}this.transform.elevation=e.z.number(this._elevationStart,this._elevationTarget,t);}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain);}_getTransformForUpdate(){return this.transformCameraUpdate?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_applyUpdatedTransform(t){if(!this.transformCameraUpdate)return;const e=t.clone(),{center:i,zoom:a,pitch:s,bearing:o,elevation:r}=this.transformCameraUpdate(e);i&&(e.center=i),void 0!==a&&(e.zoom=a),void 0!==s&&(e.pitch=s),void 0!==o&&(e.bearing=o),void 0!==r&&(e.elevation=r),this.transform.apply(e);}_fireMoveEvents(t){this.fire(new e.k(\"move\",t)),this._zooming&&this.fire(new e.k(\"zoom\",t)),this._rotating&&this.fire(new e.k(\"rotate\",t)),this._pitching&&this.fire(new e.k(\"pitch\",t));}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId;const a=this._zooming,s=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,a&&this.fire(new e.k(\"zoomend\",t)),s&&this.fire(new e.k(\"rotateend\",t)),o&&this.fire(new e.k(\"pitchend\",t)),this.fire(new e.k(\"moveend\",t));}flyTo(t,i){var a;if(!t.essential&&o.prefersReducedMotion){const a=e.L(t,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(a,i)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b8},t);const s=this._getTransformForUpdate(),r=this.getZoom(),n=this.getBearing(),l=this.getPitch(),h=this.getPadding(),c=\"bearing\"in t?this._normalizeBearing(t.bearing,n):n,u=\"pitch\"in t?+t.pitch:l,d=\"padding\"in t?t.padding:s.padding,_=e.P.convert(t.offset);let p=s.centerPoint.add(_);const m=s.pointLocation(p),{center:f,zoom:g}=s.getConstrained(e.M.convert(t.center||m),null!==(a=t.zoom)&&void 0!==a?a:r);this._normalizeCenter(f);const v=s.zoomScale(g-r),x=s.project(m),y=s.project(f).sub(x);let b=t.curve;const w=Math.max(s.width,s.height),T=w/v,I=y.mag();if(\"minZoom\"in t){const i=e.ac(Math.min(t.minZoom,r,g),s.minZoom,s.maxZoom),a=w/s.zoomScale(i-r);b=Math.sqrt(a/I*2);}const E=b*b;function P(t){const e=(T*T-w*w+(t?-1:1)*E*E*I*I)/(2*(t?T:w)*E*I);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return (Math.exp(t)-Math.exp(-t))/2}function S(t){return (Math.exp(t)+Math.exp(-t))/2}const D=P(!1);let M=function(t){return S(D)/S(D+b*t)},z=function(t){return w*((S(D)*(C(e=D+b*t)/S(e))-C(D))/E)/I;var e;},A=(P(!0)-D)/b;if(Math.abs(I)<1e-6||!isFinite(A)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,i);const e=T0,M=t=>Math.exp(e*b*t);}return t.duration=\"duration\"in t?+t.duration:1e3*A/(\"screenSpeed\"in t?+t.screenSpeed/b:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=n!==c,this._pitching=u!==l,this._padding=!s.isPaddingEqual(d),this._prepareEase(i,!1),this.terrain&&this._prepareElevation(f),this._ease((a=>{const o=a*A,m=1/M(o);s.zoom=1===a?g:r+s.scaleZoom(m),this._rotating&&(s.bearing=e.z.number(n,c,a)),this._pitching&&(s.pitch=e.z.number(l,u,a)),this._padding&&(s.interpolatePadding(h,d,a),p=s.centerPoint.add(_)),this.terrain&&!t.freezeElevation&&this._updateElevation(a);const v=1===a?f:s.unproject(x.add(y.mult(z(o))).mult(m));s.setLocationAtPoint(s.renderWorldCopies?v.wrap():v,p),this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i);}),t),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var i;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e);}return t||null===(i=this.handlers)||void 0===i||i.stop(!1),this}_ease(t,e,i){!1===i.animate||0===i.duration?(t(1),e()):(this._easeStart=o.now(),this._easeOptions=i,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_normalizeBearing(t,i){t=e.b2(t,-180,180);const a=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0;}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.M.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const ms={compact:!0,customAttribution:'MapLibre'};class fs{constructor(t=ms){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")));},this._updateData=t=>{!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType&&\"terrain\"!==t.type||this._updateAttributions();},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"));},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\");},this.options=t;}getDefaultPosition(){return \"bottom-right\"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=r.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=r.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=r.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0;}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>\"string\"!=typeof t?\"\":t))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id;}const e=this._map.style.sourceCaches;for(const i in e){const a=e[i];if(a.used||a.usedForTerrain){const e=a.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution);}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let a=i+1;a=0)return !1;return !0}));const i=t.join(\" | \");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null);}}class gs{constructor(t={}){this._updateCompact=()=>{const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add(\"maplibregl-compact\"):e.classList.remove(\"maplibregl-compact\");}},this.options=t;}getDefaultPosition(){return \"bottom-left\"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=r.create(\"div\",\"maplibregl-ctrl\");const e=r.create(\"a\",\"maplibregl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://maplibre.org/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){r.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0;}}class vs{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1;}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];}}var xs=e.X([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class ys extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom;}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;}update(t,i){this.sourceCache.update(t,i),this._renderableTilesKeys=[];const a={};for(const s of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))a[s.key]=!0,this._renderableTilesKeys.push(s.key),this._tiles[s.key]||(s.posMatrix=new Float64Array(16),e.aO(s.posMatrix,0,e.W,0,e.W,0,1),this._tiles[s.key]=new rt(s,this.tileSize));for(const t in this._tiles)a[t]||delete this._tiles[t];}freeRtt(t){for(const e in this._tiles){const i=this._tiles[e];(!t||i.tileID.equals(t)||i.tileID.isChildOf(t)||t.isChildOf(i.tileID))&&(i.rtt=[]);}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const i={};for(const a of this._renderableTilesKeys){const s=this._tiles[a].tileID;if(s.canonical.equals(t.canonical)){const s=t.clone();s.posMatrix=new Float64Array(16),e.aO(s.posMatrix,0,e.W,0,e.W,0,1),i[a]=s;}else if(s.canonical.isChildOf(t.canonical)){const o=t.clone();o.posMatrix=new Float64Array(16);const r=s.canonical.z-t.canonical.z,n=s.canonical.x-(s.canonical.x>>r<>r<>r;e.aO(o.posMatrix,0,h,0,h,0,1),e.H(o.posMatrix,o.posMatrix,[-n*h,-l*h,0]),i[a]=o;}else if(t.canonical.isChildOf(s.canonical)){const o=t.clone();o.posMatrix=new Float64Array(16);const r=t.canonical.z-s.canonical.z,n=t.canonical.x-(t.canonical.x>>r<>r<>r;e.aO(o.posMatrix,0,e.W,0,e.W,0,1),e.H(o.posMatrix,o.posMatrix,[n*h,l*h,0]),e.J(o.posMatrix,o.posMatrix,[1/2**r,1/2**r,0]),i[a]=o;}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let a=t.overscaledZ-this.deltaZoom;if(a>i.maxzoom&&(a=i.maxzoom),a=i.minzoom&&(!s||!s.dem);)s=this.sourceCache.getTileByID(t.scaledTo(a--).key);return s}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class bs{constructor(t,e,i){this.painter=t,this.sourceCache=new ys(e),this.options=i,this.exaggeration=\"number\"==typeof i.exaggeration?i.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024;}getDEMElevation(t,i,a,s=e.W){var o;if(!(i>=0&&i=0&&at.canonical.z&&(t.canonical.z>=a?s=t.canonical.z-a:e.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));const o=t.canonical.x-(t.canonical.x>>s<>s<>8<<4|t>>8,i[e+3]=0;const a=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),s=new b(t,a,t.gl.RGBA,{premultiply:!1});return s.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=s,s}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const i=new Uint8Array(4),a=this.painter.context,s=a.gl,o=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),r=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),n=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),s.readPixels(o,n-r-1,1,1,s.RGBA,s.UNSIGNED_BYTE,i),a.bindFramebuffer.set(null);const l=i[0]+(i[2]>>4<<8),h=i[1]+((15&i[2])<<8),c=this.coordsIndex[255-i[3]],u=c&&this.sourceCache.getTileByID(c);if(!u)return null;const d=this._coordsTextureSize,_=(1<t.id!==e)),this._recentlyUsed.push(t.id);}stampObject(t){t.stamp=++this._stamp;}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1;}freeAllObjects(){for(const t of this._objects)this.freeObject(t);}isFull(){return !(this._objects.length!t.inUse))}}const Ts={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Is{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new ws(t.context,30,e.sourceCache.tileSize*e.qualityFactor);}destruct(){this.pool.destruct();}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((i=>!t._layers[i].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const i=t.sourceCaches[e].getVisibleCoordinates();for(const t of i){const i=this.terrain.sourceCache.getTerrainCoords(t);for(const t in i)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(i[t]);}}this._coordsDescendingInvStr={};for(const e of t._order){const i=t._layers[e],a=i.source;if(Ts[i.type]&&!this._coordsDescendingInvStr[a]){this._coordsDescendingInvStr[a]={};for(const t in this._coordsDescendingInv[a])this._coordsDescendingInvStr[a][t]=this._coordsDescendingInv[a][t].map((t=>t.key)).sort().join();}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const i=this._coordsDescendingInvStr[e][t.tileID.key];i&&i!==t.rttCoords[e]&&(t.rtt=[]);}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return !1;const i=t.type,a=this.painter,s=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(Ts[i]&&(this._prevType&&Ts[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(t.id),!s))return !0;if(Ts[this._prevType]||Ts[i]&&s){this._prevType=i;const t=this._stacks.length-1,s=this._stacks[t]||[];for(const i of this._renderableTiles){if(this.pool.isFull()&&(la(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[t]){const e=this.pool.getObjectForId(i.rtt[t].id);if(e.stamp===i.rtt[t].stamp){this.pool.useObject(e);continue}}const o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),i.rtt[t]={id:o.id,stamp:o.stamp},a.context.bindFramebuffer.set(o.fbo.framebuffer),a.context.clear({color:e.aP.transparent,stencil:0}),a.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd;},Ds={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ms{constructor(t,i,a=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),r.mousePos(this.element,t)),r.addEventListener(window,\"mousemove\",this.mousemove),r.addEventListener(window,\"mouseup\",this.mouseup);},this.mousemove=t=>{this.moveMouse(t,r.mousePos(this.element,t));},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp();},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),r.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.addEventListener(window,\"touchend\",this.touchend));},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos));},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp();},this._clickTolerance=10;const s=t.dragRotate._mouseRotate.getClickTolerance(),o=t.dragRotate._mousePitch.getClickTolerance();this.element=i,this.mouseRotate=Ua({clickTolerance:s,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const a=new Na;return new Fa({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:a,enable:t,assignEvents:Ss})})({clickTolerance:s,enable:!0}),this.map=t,a&&(this.mousePitch=Za({clickTolerance:o,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const a=new Na;return new Fa({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:a,enable:t,assignEvents:Ss})})({clickTolerance:o,enable:!0})),r.addEventListener(i,\"mousedown\",this.mousedown),r.addEventListener(i,\"touchstart\",this.touchstart,{passive:!1}),r.addEventListener(i,\"touchcancel\",this.reset);}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),r.disableDrag();}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),r.disableDrag();}moveMouse(t,e){const i=this.map,{bearingDelta:a}=this.mouseRotate.dragMove(t,e)||{};if(a&&i.setBearing(i.getBearing()+a),this.mousePitch){const{pitchDelta:a}=this.mousePitch.dragMove(t,e)||{};a&&i.setPitch(i.getPitch()+a);}}moveTouch(t,e){const i=this.map,{bearingDelta:a}=this.touchRotate.dragMove(t,e)||{};if(a&&i.setBearing(i.getBearing()+a),this.touchPitch){const{pitchDelta:a}=this.touchPitch.dragMove(t,e)||{};a&&i.setPitch(i.getPitch()+a);}}off(){const t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.removeEventListener(window,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();}offTemp(){r.enableDrag(),r.removeEventListener(window,\"mousemove\",this.mousemove),r.removeEventListener(window,\"mouseup\",this.mouseup),r.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.removeEventListener(window,\"touchend\",this.touchend);}}let zs;function As(t,i,a){const s=new e.M(t.lng,t.lat);if(t=new e.M(t.lng,t.lat),i){const s=new e.M(t.lng-360,t.lat),o=new e.M(t.lng+360,t.lat),r=a.locationPoint(t).distSqr(i);a.locationPoint(s).distSqr(i)180;){const e=a.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=a.width&&e.y<=a.height)break;t.lng>a.center.lng?t.lng-=360:t.lng+=360;}return t.lng!==s.lng&&a.locationPoint(t).y>a.height/2-a.getHorizon()?t:s}const Rs={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function Ls(t,e,i){const a=t.classList;for(const t in Rs)a.remove(`maplibregl-${i}-anchor-${t}`);a.add(`maplibregl-${i}-anchor-${e}`);}class ks extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();},this._onMapClick=t=>{const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();},this._update=t=>{var e;if(!this._map)return;const i=this._map.loaded()&&!this._map.isMoving();(\"terrain\"===(null==t?void 0:t.type)||\"render\"===(null==t?void 0:t.type)&&!i)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?As(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let a=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?a=`rotateZ(${this._rotation}deg)`:\"map\"===this._rotationAlignment&&(a=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let s=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?s=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(s=`rotateX(${this._map.getPitch()}deg)`),t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,`${Rs[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${s} ${a}`),o.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&\"moveend\"===t.type);})).catch((()=>{}));},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e;}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new e.k(\"dragstart\"))),this.fire(new e.k(\"drag\")));},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new e.k(\"dragend\")),this._state=\"inactive\";},this._addDragHandler=t=>{this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp));},this._anchor=t&&t.anchor||\"center\",this._color=t&&t.color||\"#3FB1CE\",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._isDragging=!1,this._state=\"inactive\",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||\"auto\",this._pitchAlignment=t&&t.pitchAlignment&&\"auto\"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else {this._defaultMarker=!0,this._element=r.create(\"div\"),this._element.setAttribute(\"aria-label\",\"Map marker\");const i=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),a=41,s=27;i.setAttributeNS(null,\"display\",\"block\"),i.setAttributeNS(null,\"height\",`${a}px`),i.setAttributeNS(null,\"width\",`${s}px`),i.setAttributeNS(null,\"viewBox\",`0 0 ${s} ${a}`);const o=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");o.setAttributeNS(null,\"stroke\",\"none\"),o.setAttributeNS(null,\"stroke-width\",\"1\"),o.setAttributeNS(null,\"fill\",\"none\"),o.setAttributeNS(null,\"fill-rule\",\"evenodd\");const n=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"fill-rule\",\"nonzero\");const l=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");const h=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(const t of h){const e=r.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");e.setAttributeNS(null,\"opacity\",\"0.04\"),e.setAttributeNS(null,\"cx\",\"10.5\"),e.setAttributeNS(null,\"cy\",\"5.80029008\"),e.setAttributeNS(null,\"rx\",t.rx),e.setAttributeNS(null,\"ry\",t.ry),l.appendChild(e);}const c=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");c.setAttributeNS(null,\"fill\",this._color);const u=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");u.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),c.appendChild(u);const d=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"opacity\",\"0.25\"),d.setAttributeNS(null,\"fill\",\"#000000\");const _=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),d.appendChild(_);const p=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),p.setAttributeNS(null,\"fill\",\"#FFFFFF\");const m=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");const f=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");f.setAttributeNS(null,\"fill\",\"#000000\"),f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"cx\",\"5.5\"),f.setAttributeNS(null,\"cy\",\"5.5\"),f.setAttributeNS(null,\"r\",\"5.4999962\");const g=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");g.setAttributeNS(null,\"fill\",\"#FFFFFF\"),g.setAttributeNS(null,\"cx\",\"5.5\"),g.setAttributeNS(null,\"cy\",\"5.5\"),g.setAttributeNS(null,\"r\",\"5.4999962\"),m.appendChild(f),m.appendChild(g),n.appendChild(l),n.appendChild(c),n.appendChild(d),n.appendChild(p),n.appendChild(m),i.appendChild(n),i.setAttributeNS(null,\"height\",a*this._scale+\"px\"),i.setAttributeNS(null,\"width\",s*this._scale+\"px\"),this._element.appendChild(i),this._offset=e.P.convert(t&&t.offset||[0,-14]);}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",(t=>{t.preventDefault();})),this._element.addEventListener(\"mousedown\",(t=>{t.preventDefault();})),Ls(this._element,this._anchor,\"marker\"),t&&t.className)for(const e of t.className.split(\" \"))this._element.classList.add(e);this._popup=null;}addTo(t){return this.remove(),this._map=t,t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),t.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),r.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.M.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){const e=38.1,i=13.5,a=Math.abs(i)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-e],\"bottom-left\":[a,-1*(e-i+a)],\"bottom-right\":[-a,-1*(e-i+a)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset;}this._popup=t,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var i,a;if(!(null===(i=this._map)||void 0===i?void 0:i.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else {if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null;}),100);}const s=this._map,o=s.terrain.depthAtPoint(this._pos),r=s.terrain.getElevationForLngLatZoom(this._lngLat,s.transform.tileZoom);if(s.transform.lngLatToCameraDepth(this._lngLat,r)-o<.006)return void(this._element.style.opacity=this._opacity);const n=-this._offset.y/s.transform._pixelPerMeter,l=Math.sin(s.getPitch()*Math.PI/180)*n,h=s.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),c=s.transform.lngLatToCameraDepth(this._lngLat,r+l)-h>.006;(null===(a=this._popup)||void 0===a?void 0:a.isOpen())&&c&&this._popup.remove(),this._element.style.opacity=c?this._opacityWhenCovered:this._opacity;}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t);}removeClassName(t){this._element.classList.remove(t);}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const Fs={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Bs=0,Os=!1;const Ns={maxWidth:100,unit:\"metric\"};function js(t,e,i){const a=i&&i.maxWidth||100,s=t._container.clientHeight/2,o=t.unproject([0,s]),r=t.unproject([a,s]),n=o.distanceTo(r);if(i&&\"imperial\"===i.unit){const i=3.2808*n;i>5280?Us(e,a,i/5280,t._getUIString(\"ScaleControl.Miles\")):Us(e,a,i,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?Us(e,a,n/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):n>=1e3?Us(e,a,n/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Us(e,a,n,t._getUIString(\"ScaleControl.Meters\"));}function Us(t,e,i,a){const s=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(s/i)+\"px\",t.innerHTML=`${s} ${a}`;}const Zs={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},qs=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function Ws(t){if(t){if(\"number\"==typeof t){const i=Math.round(Math.abs(t)/Math.SQRT2);return {center:new e.P(0,0),top:new e.P(0,t),\"top-left\":new e.P(i,i),\"top-right\":new e.P(-i,i),bottom:new e.P(0,-t),\"bottom-left\":new e.P(i,-i),\"bottom-right\":new e.P(-i,-i),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const i=e.P.convert(t);return {center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return {center:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),\"top-left\":e.P.convert(t[\"top-left\"]||[0,0]),\"top-right\":e.P.convert(t[\"top-right\"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),\"bottom-left\":e.P.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":e.P.convert(t[\"bottom-right\"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return Ws(new e.P(0,0))}const Gs=i;t.AJAXError=e.bf,t.Evented=e.E,t.LngLat=e.M,t.MercatorCoordinate=e.Y,t.Point=e.P,t.addProtocol=e.bg,t.config=e.a,t.removeProtocol=e.bh,t.AttributionControl=fs,t.BoxZoomHandler=za,t.CanvasSource=Q,t.CooperativeGesturesHandler=hs,t.DoubleClickZoomHandler=as,t.DragPanHandler=rs,t.DragRotateHandler=ns,t.EdgeInsets=da,t.FullscreenControl=class extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange();},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen();},this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\");}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){r.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange);}_setupUI(){const t=this._fullscreenButton=r.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"maplibregl-ctrl-icon\",t).setAttribute(\"aria-hidden\",\"true\"),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange);}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t;}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new e.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable());}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen();}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen();}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize();}},t.GeoJSONSource=X,t.GeolocateControl=class extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k(\"outofmaxbounds\",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"geolocate\",t)),this._finish();}},this._updateCamera=t=>{const i=new e.M(t.coords.longitude,t.coords.latitude),a=t.coords.accuracy,s=this._map.getBearing(),o=e.e({bearing:s},this.options.fitBoundsOptions),r=W.fromLngLat(i,a);this._map.fitBounds(r,o,{geolocateSource:!0});},this._updateMarker=t=>{if(t){const i=new e.M(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===t.code&&Os)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"error\",t)),this._finish();}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},this._setupUI=t=>{if(this._map){if(this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this._geolocateButton=r.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),r.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",!1===t){e.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}else {const t=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new ks({element:this._dotElement}),this._circleElement=r.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new ks({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(t=>{t.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||t.originalEvent&&\"resize\"===t.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new e.k(\"trackuserlocationend\")));}));}},this.options=e.e({},Fs,t);}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==zs&&!t)return zs;if(void 0===window.navigator.permissions)return zs=!!window.navigator.geolocation,zs;try{const t=yield window.navigator.permissions.query({name:\"geolocation\"});zs=\"denied\"!==t.state;}catch(t){zs=!!window.navigator.geolocation;}return zs}))}().then((t=>this._setupUI(t))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Bs=0,Os=!1;}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),i=t.getNorthEast(),a=e.distanceTo(i),s=Math.ceil(this._accuracy/(a/this._map._container.clientHeight)*2);this._circleElement.style.width=`${s}px`,this._circleElement.style.height=`${s}px`;}trigger(){if(!this._setup)return e.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new e.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Bs--,Os=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new e.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k(\"trackuserlocationstart\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Bs++,Bs>1?(t={maximumAge:6e5,timeout:0},Os=!0):(t=this.options.positionOptions,Os=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t);}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);}},t.Hash=fa,t.ImageSource=J,t.KeyboardHandler=Qa,t.LngLatBounds=W,t.LogoControl=gs,t.Map=class extends ps{constructor(t){if(e.bd.mark(e.be.create),null!=(t=e.e({},Cs,t)).minZoom&&null!=t.maxZoom&&t.minZoom>t.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=t.minPitch&&null!=t.maxPitch&&t.minPitch>t.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=t.minPitch&&t.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=t.maxPitch&&t.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new pa(t.minZoom,t.maxZoom,t.minPitch,t.maxPitch,t.renderWorldCopies),{bearingSnap:t.bearingSnap}),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k(\"webglcontextlost\",{originalEvent:t}));},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k(\"webglcontextrestored\",{originalEvent:t}));},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update();},this._interactive=t.interactive,this._maxTileCacheSize=t.maxTileCacheSize,this._maxTileCacheZoomLevels=t.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=t.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=t.preserveDrawingBuffer,this._antialias=t.antialias,this._trackResize=t.trackResize,this._bearingSnap=t.bearingSnap,this._refreshExpiredTiles=t.refreshExpiredTiles,this._fadeDuration=t.fadeDuration,this._crossSourceCollisions=t.crossSourceCollisions,this._crossFadingFactor=1,this._collectResourceTiming=t.collectResourceTiming,this._renderTaskQueue=new vs,this._controls=[],this._mapId=e.a3(),this._locale=e.e({},Es,t.locale),this._clickTolerance=t.clickTolerance,this._overridePixelRatio=t.pixelRatio,this._maxCanvasSize=t.maxCanvasSize,this.transformCameraUpdate=t.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=t.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=_.addThrottleControl((()=>this.isMoving())),this._requestManager=new p(t.transformRequest),\"string\"==typeof t.container){if(this._container=document.getElementById(t.container),!this._container)throw new Error(`Container '${t.container}' not found.`)}else {if(!(t.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=t.container;}if(t.maxBounds&&this.setMaxBounds(t.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",(()=>this._update(!1))),this.on(\"moveend\",(()=>this._update(!1))),this.on(\"zoom\",(()=>this._update(!0))),this.on(\"terrain\",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0);})),this.once(\"idle\",(()=>{this._idleTriggered=!0;})),\"undefined\"!=typeof window){addEventListener(\"online\",this._onWindowOnline,!1);let t=!1;const e=ma((t=>{this._trackResize&&!this._removed&&this.resize(t)._update();}),50);this._resizeObserver=new ResizeObserver((i=>{t?e(i):t=!0;})),this._resizeObserver.observe(this._container);}this.handlers=new _s(this,t),this._hash=t.hash&&new fa(\"string\"==typeof t.hash&&t.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:t.center,zoom:t.zoom,bearing:t.bearing,pitch:t.pitch}),t.bounds&&(this.resize(),this.fitBounds(t.bounds,e.e({},t.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=t.localIdeographFontFamily,this._validateStyle=t.validateStyle,t.style&&this.setStyle(t.style,{localIdeographFontFamily:t.localIdeographFontFamily}),t.attributionControl&&this.addControl(new fs(\"boolean\"==typeof t.attributionControl?void 0:t.attributionControl)),t.maplibreLogo&&this.addControl(new gs,t.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on(\"data\",(t=>{this._update(\"style\"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t));})),this.on(\"dataloading\",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t));})),this.on(\"dataabort\",(t=>{this.fire(new e.k(\"sourcedataabort\",t));}));}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():\"top-right\"),!t||!t.onAdd)return this.fire(new e.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const a=t.onAdd(this);this._controls.push(t);const s=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?s.insertBefore(a,s.firstChild):s.appendChild(a),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,a){return null==a&&this.terrain&&(a=this.terrain.getElevationForLngLatZoom(i,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,i,a)}resize(t){var i;const a=this._containerDimensions(),s=a[0],o=a[1],r=this._getClampedPixelRatio(s,o);if(this._resizeCanvas(s,o,r),this.painter.resize(s,o,r),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(s,o);this._resizeCanvas(s,o,e),this.painter.resize(s,o,e);}this.transform.resize(s,o),null===(i=this._requestedCameraState)||void 0===i||i.resize(s,o);const n=!this._moving;return n&&(this.stop(),this.fire(new e.k(\"movestart\",t)).fire(new e.k(\"move\",t))),this.fire(new e.k(\"resize\",t)),n&&this.fire(new e.k(\"moveend\",t)),this}_getClampedPixelRatio(t,e){const{0:i,1:a}=this._maxCanvasSize,s=this.getPixelRatio(),o=t*s,r=e*s;return Math.min(o>i?i/o:1,r>a?a/r:1)*s}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize();}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(W.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(t){return this.transform.locationPoint(e.M.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.isRotating())}_createDelegatedListener(t,e,i){if(\"mouseenter\"===t||\"mouseover\"===t){let a=!1;const s=s=>{const o=this.getLayer(e)?this.queryRenderedFeatures(s.point,{layers:[e]}):[];o.length?a||(a=!0,i.call(this,new Ea(t,this,s.originalEvent,{features:o}))):a=!1;};return {layer:e,listener:i,delegates:{mousemove:s,mouseout:()=>{a=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){let a=!1;const s=s=>{(this.getLayer(e)?this.queryRenderedFeatures(s.point,{layers:[e]}):[]).length?a=!0:a&&(a=!1,i.call(this,new Ea(t,this,s.originalEvent)));},o=e=>{a&&(a=!1,i.call(this,new Ea(t,this,e.originalEvent)));};return {layer:e,listener:i,delegates:{mousemove:s,mouseout:o}}}{const a=t=>{const a=this.getLayer(e)?this.queryRenderedFeatures(t.point,{layers:[e]}):[];a.length&&(t.features=a,i.call(this,t),delete t.features);};return {layer:e,listener:i,delegates:{[t]:a}}}}on(t,e,i){if(void 0===i)return super.on(t,e);const a=this._createDelegatedListener(t,e,i);this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(a);for(const t in a.delegates)this.on(t,a.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const a=this._createDelegatedListener(t,e,i);for(const t in a.delegates)this.once(t,a.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._delegatedListeners&&this._delegatedListeners[t]&&(a=>{const s=this._delegatedListeners[t];for(let t=0;tthis._updateStyle(t,e)));const i=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new he(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t,e,i):this.style.loadJSON(t,e,i),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new he(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());}_diffStyle(t,i){if(\"string\"==typeof t){const a=this._requestManager.transformRequest(t,\"Style\");e.h(a,new AbortController).then((t=>{this._updateDiff(t.data,i);})).catch((t=>{t&&this.fire(new e.j(t));}));}else \"object\"==typeof t&&this._updateDiff(t,i);}_updateDiff(t,i){try{this.style.setState(t,i)&&this._update(!0);}catch(a){e.w(`Unable to perform style diff: ${a.message||a.error||a}. Rebuilding the style from scratch.`),this._updateStyle(t,i);}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w(\"There is no style added to the map.\")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const i=this.style&&this.style.sourceCaches[t];if(void 0!==i)return i.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)));}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),t){const i=this.style.sourceCaches[t.source];if(!i)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&i.reload();for(const i in this.style._layers){const a=this.style._layers[i];\"hillshade\"===a.type&&a.source===t.source&&e.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\");}this.terrain=new bs(this.painter,i,t),this.painter.renderToTexture=new Is(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{\"style\"===e.dataType?this.terrain.sourceCache.freeRtt():\"source\"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID));},this.style.on(\"data\",this._terrainDataCallback);}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k(\"terrain\",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}}return !0}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,i,a={}){const{pixelRatio:s=1,sdf:r=!1,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u}=a;if(this._lazyInitEmptyStyle(),!(i instanceof HTMLImageElement||e.b(i))){if(void 0===i.width||void 0===i.height)return this.fire(new e.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{const{width:a,height:o,data:d}=i,_=i;return this.style.addImage(t,{data:new e.R({width:a,height:o},new Uint8Array(d)),pixelRatio:s,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u,sdf:r,version:0,userImage:_}),_.onAdd&&_.onAdd(this,t),this}}{const{width:a,height:d,data:_}=o.getImageData(i);this.style.addImage(t,{data:new e.R({width:a,height:d},_),pixelRatio:s,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u,sdf:r,version:0});}}updateImage(t,i){const a=this.style.getImage(t);if(!a)return this.fire(new e.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const s=i instanceof HTMLImageElement||e.b(i)?o.getImageData(i):i,{width:r,height:n,data:l}=s;if(void 0===r||void 0===n)return this.fire(new e.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(r!==a.data.width||n!==a.data.height)return this.fire(new e.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));const h=!(i instanceof HTMLImageElement||e.b(i));return a.data.replace(l,h),this.style.updateImage(t,a),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error(\"Missing required image id\"))),!1)}removeImage(t){this.style.removeImage(t);}loadImage(t){return _.getImage(this._requestManager.transformRequest(t,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,a={}){return this.style.setPaintProperty(t,e,i,a),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,a={}){return this.style.setLayoutProperty(t,e,i,a),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,i={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,i,(t=>{t||this._update(!0);})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0);})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add(\"maplibregl-map\");const e=this._canvasContainer=r.create(\"div\",\"maplibregl-canvas-container\",t);this._interactive&&e.classList.add(\"maplibregl-interactive\"),this._canvas=r.create(\"canvas\",\"maplibregl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",\"0\"),this._canvas.setAttribute(\"aria-label\",\"Map\"),this._canvas.setAttribute(\"role\",\"region\");const i=this._containerDimensions(),a=this._getClampedPixelRatio(i[0],i[1]);this._resizeCanvas(i[0],i[1],a);const s=this._controlContainer=r.create(\"div\",\"maplibregl-control-container\",t),o=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((t=>{o[t]=r.create(\"div\",`maplibregl-ctrl-${t} `,s);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);}_resizeCanvas(t,e,i){this._canvas.width=Math.floor(i*t),this._canvas.height=Math.floor(i*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`;}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener(\"webglcontextcreationerror\",(i=>{e={requestedAttributes:t},i&&(e.statusMessage=i.statusMessage,e.type=i.type);}),{once:!0});const i=this._canvas.getContext(\"webgl2\",t)||this._canvas.getContext(\"webgl\",t);if(!i){const t=\"Failed to initialize WebGL\";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new ha(i,this.transform),n.testSupport(i);}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t);}_render(t){const i=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,s=o.now();this.style.zoomHistory.update(t,s);const r=new e.a8(t,{now:s,fadeDuration:i,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),n=r.crossFadingFactor();1===n&&n===this._crossFadingFactor||(a=!0,this._crossFadingFactor=n),this.style.update(r);}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,i,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:i,showPadding:this.showPadding}),this.fire(new e.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.bd.mark(e.be.load),this.fire(new e.k(\"load\"))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const s=this._sourcesDirty||this._styleDirty||this._placementDirty;return s||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k(\"idle\")),!this._loaded||this._fullyLoaded||s||(this._fullyLoaded=!0,e.bd.mark(e.be.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),\"undefined\"!=typeof window&&removeEventListener(\"online\",this._onWindowOnline,!1),_.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const i=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");i&&i.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),r.remove(this._canvasContainer),r.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),e.bd.clearMetrics(),this._removed=!0,this.fire(new e.k(\"remove\"));}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((t=>{e.bd.frame(t),this._frameRequest=null,this._render(t);})).catch((()=>{})));}get showTileBoundaries(){return !!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());}get showPadding(){return !!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update());}get showCollisionBoxes(){return !!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());}get showOverdrawInspector(){return !!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());}get repaint(){return !!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());}get vertices(){return !!this._vertices}set vertices(t){this._vertices=t,this._update();}get version(){return Ps}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=Ea,t.MapTouchEvent=Pa,t.MapWheelEvent=Ca,t.Marker=ks,t.NavigationControl=class{constructor(t){this._updateZoomButtons=()=>{const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute(\"aria-disabled\",e.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",i.toString());},this._rotateCompassArrow=()=>{const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t;},this._setButtonTitle=(t,e)=>{const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);},this.options=e.e({},Ds,t),this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",(t=>this._map.zoomIn({},{originalEvent:t}))),r.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",(t=>this._map.zoomOut({},{originalEvent:t}))),r.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t});})),this._compassIcon=r.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"));}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ms(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){r.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;}_createButton(t,e){const i=r.create(\"button\",t,this._container);return i.type=\"button\",i.addEventListener(\"click\",e),i}},t.Popup=class extends e.E{constructor(t){super(),this.remove=()=>(this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new e.k(\"close\"))),this),this._onMouseUp=t=>{this._update(t.point);},this._onMouseMove=t=>{this._update(t.point);},this._onDrag=t=>{this._update(t.point);},this._update=t=>{var e;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=r.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(\" \"))this._container.classList.add(t);this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\");}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?As(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const i=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let a=this.options.anchor;const s=Ws(this.options.offset);if(!a){const t=this._container.offsetWidth,e=this._container.offsetHeight;let o;o=i.y+s.bottom.ythis._map.transform.height-e?[\"bottom\"]:[],i.xthis._map.transform.width-t/2&&o.push(\"right\"),a=0===o.length?\"bottom\":o.join(\"-\");}let o=i.add(s[a]);this.options.subpixelPositioning||(o=o.round()),r.setTransform(this._container,`${Rs[a]} translate(${o.x}px,${o.y}px)`),Ls(this._container,a,\"popup\");},this._onClose=()=>{this.remove();},this.options=e.e(Object.create(Zs),t);}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new e.k(\"open\")),this}isOpen(){return !!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.M.convert(t),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement(\"body\");let a;for(i.innerHTML=t;a=i.firstChild,a;)e.appendChild(a);return this.setDOMContent(e)}getMaxWidth(){var t;return null===(t=this._container)||void 0===t?void 0:t.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t;}_createCloseButton(){this.options.closeButton&&(this._closeButton=r.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.setAttribute(\"aria-label\",\"Close popup\"),this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(qs);t&&t.focus();}},t.RasterDEMTileSource=$,t.RasterTileSource=H,t.ScaleControl=class{constructor(t){this._onMove=()=>{js(this._map,this._container,this.options);},this.setUnit=t=>{this.options.unit=t,js(this._map,this._container,this.options);},this.options=Object.assign(Object.assign({},Ns),t);}getDefaultPosition(){return \"bottom-left\"}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;}},t.ScrollZoomHandler=is,t.Style=he,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon();},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"));},this.options=t;}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=r.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),r.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){r.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0;}},t.TwoFingersTouchPitchHandler=Ja,t.TwoFingersTouchRotateHandler=Xa,t.TwoFingersTouchZoomHandler=Ha,t.TwoFingersTouchZoomRotateHandler=ls,t.VectorTileSource=V,t.VideoSource=Y,t.addSourceType=(t,i)=>e._(void 0,void 0,void 0,(function*(){if(et(t))throw new Error(`A source type called \"${t}\" already exists.`);((t,e)=>{tt[t]=e;})(t,i);})),t.clearPrewarmedResources=function(){const t=k;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(A),k=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"));},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return ot().getRTLTextPluginStatus()},t.getVersion=function(){return Gs},t.getWorkerCount=function(){return R.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return N().broadcast(\"IS\",t)},t.prewarm=function(){B().acquire(A);},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t;},t.setRTLTextPlugin=function(t,e){return ot().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){R.workerCount=t;},t.setWorkerUrl=function(t){e.a.WORKER_URL=t;};}));\n\n//\n// Our custom intro provides a specialized \"define()\" function, called by the\n// AMD modules below, that sets up the worker blob URL and then executes the\n// main module, storing its exported value as 'maplibregl'\n\n\nvar maplibregl$1 = maplibregl;\n\nreturn maplibregl$1;\n\n}));\n//# sourceMappingURL=maplibre-gl.js.map\n","import maplibregl from 'maplibre-gl';\n\nconst colorPrimary = 'rgb(170, 0, 0)';\nconst colorSecondary = '#aaa';\n\nexport default class PulsingDot {\n width: number;\n\n height: number;\n\n data: Uint8ClampedArray;\n\n map: maplibregl.Map;\n\n focused: boolean;\n\n route: string;\n\n heading: number;\n\n rendered = false;\n\n context: CanvasRenderingContext2D | undefined;\n\n constructor(map: maplibregl.Map, focused: boolean, route: string, heading: number) {\n this.map = map;\n this.focused = focused;\n this.route = route;\n this.heading = heading;\n if (focused) {\n this.width = 100;\n this.height = 100;\n } else {\n this.width = 80;\n this.height = 80;\n }\n this.data = new Uint8ClampedArray(this.width * this.height * 4);\n }\n\n // get rendering context for the map canvas when layer is added to the map\n onAdd() {\n const canvas = document.createElement('canvas');\n canvas.width = this.width;\n canvas.height = this.height;\n this.context = canvas.getContext('2d') || undefined;\n }\n\n // called once before every frame where the icon will be used\n render() {\n if (this.rendered || !this.context) {\n return false;\n }\n const radius = (this.width / 2) * 0.6;\n const { context } = this;\n\n // clear canvas\n context.save();\n context.fillStyle = '#fff';\n context.clearRect(0, 0, this.width, this.height);\n // context.fillRect(0, 0, this.width, this.height);\n\n context.translate(this.width / 2, this.height / 2);\n\n if (this.focused) {\n // draw arrow\n context.rotate((this.heading * Math.PI) / 180);\n const lineWidth = 6;\n\n context.beginPath();\n context.moveTo(0, -this.height / 2 + lineWidth);\n context.lineTo(35 - lineWidth, 35 - lineWidth);\n context.lineTo(0, 25 - lineWidth);\n context.lineTo(-35 + lineWidth, 35 - lineWidth);\n context.closePath();\n\n context.lineWidth = lineWidth;\n context.strokeStyle = colorSecondary;\n context.stroke();\n\n context.fillStyle = colorPrimary;\n context.fill();\n\n context.rotate((-this.heading * Math.PI) / 180);\n } else {\n // draw heading nose\n if (typeof this.heading !== 'undefined' && this.heading !== null) {\n context.rotate((this.heading * Math.PI) / 180);\n context.beginPath();\n context.fillStyle = colorSecondary;\n const height = 15;\n const width = 18;\n context.moveTo(0, 0 - radius - height);\n context.lineTo(0 - width / 2, 0 - radius);\n context.lineTo(0 + width / 2, 0 - radius);\n context.closePath();\n context.fill('evenodd');\n context.rotate((-this.heading * Math.PI) / 180);\n }\n\n // draw base (circle)\n context.beginPath();\n context.arc(0, 0, radius, 0, 2 * Math.PI);\n context.lineWidth = 4;\n context.strokeStyle = colorSecondary;\n context.fillStyle = colorPrimary;\n context.fill('evenodd');\n context.stroke();\n }\n // draw text (route)\n context.fillStyle = '#eee';\n context.font = '20px Arial';\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.fillText(this.route, 0, 0);\n\n context.restore();\n\n // update this image's data with data from the canvas\n this.data = context.getImageData(0, 0, this.width, this.height).data;\n this.rendered = true;\n\n // return `true` to let the map know that the image was updated\n return true;\n }\n}\n","\n\n\n\n\n","import { computed, ref } from 'vue';\n\ntype Favorite = {\n id: string;\n type: string;\n name: string;\n};\nconst LS_FAVORITES_KEY = 'kiel-live-favorites-v1';\n\n// migrate legacy favorites\ntype LegacyFavorite = {\n id: string;\n name: string;\n favorite: true;\n};\nconst LS_LEGACY_FAVORITES_KEY = 'favoriteStops';\nconst legacyLocalStorageItem = localStorage.getItem(LS_LEGACY_FAVORITES_KEY);\nif (legacyLocalStorageItem !== null) {\n const legacyFavorites = JSON.parse(legacyLocalStorageItem) as LegacyFavorite[];\n localStorage.setItem(\n LS_FAVORITES_KEY,\n JSON.stringify(legacyFavorites.map((f) => ({ id: `kvg-${f.id}`, name: f.name, type: 'bus-stop' }))),\n );\n localStorage.removeItem(LS_LEGACY_FAVORITES_KEY);\n}\n\nconst favoritesRaw = ref(JSON.parse(localStorage.getItem(LS_FAVORITES_KEY) || '[]') as Favorite[]);\n\nconst favorites = computed({\n get() {\n return favoritesRaw.value;\n },\n set(_favorites: Favorite[]) {\n favoritesRaw.value = _favorites;\n localStorage.setItem(LS_FAVORITES_KEY, JSON.stringify(_favorites));\n },\n});\n\nfunction addFavorite({ id, name, type }: Favorite) {\n favorites.value = [...favorites.value, { id, name, type }];\n}\n\nfunction removeFavorite(favorite: Pick) {\n favorites.value = favorites.value.filter((f) => f.id !== favorite.id);\n}\n\nfunction isFavorite(favorite: Pick) {\n return favorites.value.some((f) => f.id === favorite.id);\n}\n\nexport function useFavorites() {\n return { favorites, addFavorite, removeFavorite, isFavorite };\n}\n","\n\n\n","\n\n\n","\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n","/**\n * Fuse.js v7.0.0 - Lightweight fuzzy-search (http://fusejs.io)\n *\n * Copyright (c) 2023 Kiro Risk (http://kiro.me)\n * All Rights Reserved. Apache Software License 2.0\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nfunction isArray(value) {\n return !Array.isArray\n ? getTag(value) === '[object Array]'\n : Array.isArray(value)\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js\nconst INFINITY = 1 / 0;\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value\n }\n let result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result\n}\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value)\n}\n\nfunction isString(value) {\n return typeof value === 'string'\n}\n\nfunction isNumber(value) {\n return typeof value === 'number'\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js\nfunction isBoolean(value) {\n return (\n value === true ||\n value === false ||\n (isObjectLike(value) && getTag(value) == '[object Boolean]')\n )\n}\n\nfunction isObject(value) {\n return typeof value === 'object'\n}\n\n// Checks if `value` is object-like.\nfunction isObjectLike(value) {\n return isObject(value) && value !== null\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null\n}\n\nfunction isBlank(value) {\n return !value.trim().length\n}\n\n// Gets the `toStringTag` of `value`.\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js\nfunction getTag(value) {\n return value == null\n ? value === undefined\n ? '[object Undefined]'\n : '[object Null]'\n : Object.prototype.toString.call(value)\n}\n\nconst EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';\n\nconst INCORRECT_INDEX_TYPE = \"Incorrect 'index' type\";\n\nconst LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) =>\n `Invalid value for key ${key}`;\n\nconst PATTERN_LENGTH_TOO_LARGE = (max) =>\n `Pattern length exceeds max of ${max}.`;\n\nconst MISSING_KEY_PROPERTY = (name) => `Missing ${name} property in key`;\n\nconst INVALID_KEY_WEIGHT_VALUE = (key) =>\n `Property 'weight' in key '${key}' must be a positive integer`;\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nclass KeyStore {\n constructor(keys) {\n this._keys = [];\n this._keyMap = {};\n\n let totalWeight = 0;\n\n keys.forEach((key) => {\n let obj = createKey(key);\n\n this._keys.push(obj);\n this._keyMap[obj.id] = obj;\n\n totalWeight += obj.weight;\n });\n\n // Normalize weights so that their sum is equal to 1\n this._keys.forEach((key) => {\n key.weight /= totalWeight;\n });\n }\n get(keyId) {\n return this._keyMap[keyId]\n }\n keys() {\n return this._keys\n }\n toJSON() {\n return JSON.stringify(this._keys)\n }\n}\n\nfunction createKey(key) {\n let path = null;\n let id = null;\n let src = null;\n let weight = 1;\n let getFn = null;\n\n if (isString(key) || isArray(key)) {\n src = key;\n path = createKeyPath(key);\n id = createKeyId(key);\n } else {\n if (!hasOwn.call(key, 'name')) {\n throw new Error(MISSING_KEY_PROPERTY('name'))\n }\n\n const name = key.name;\n src = name;\n\n if (hasOwn.call(key, 'weight')) {\n weight = key.weight;\n\n if (weight <= 0) {\n throw new Error(INVALID_KEY_WEIGHT_VALUE(name))\n }\n }\n\n path = createKeyPath(name);\n id = createKeyId(name);\n getFn = key.getFn;\n }\n\n return { path, id, weight, src, getFn }\n}\n\nfunction createKeyPath(key) {\n return isArray(key) ? key : key.split('.')\n}\n\nfunction createKeyId(key) {\n return isArray(key) ? key.join('.') : key\n}\n\nfunction get(obj, path) {\n let list = [];\n let arr = false;\n\n const deepGet = (obj, path, index) => {\n if (!isDefined(obj)) {\n return\n }\n if (!path[index]) {\n // If there's no path left, we've arrived at the object we care about.\n list.push(obj);\n } else {\n let key = path[index];\n\n const value = obj[key];\n\n if (!isDefined(value)) {\n return\n }\n\n // If we're at the last value in the path, and if it's a string/number/bool,\n // add it to the list\n if (\n index === path.length - 1 &&\n (isString(value) || isNumber(value) || isBoolean(value))\n ) {\n list.push(toString(value));\n } else if (isArray(value)) {\n arr = true;\n // Search each item in the array.\n for (let i = 0, len = value.length; i < len; i += 1) {\n deepGet(value[i], path, index + 1);\n }\n } else if (path.length) {\n // An object. Recurse further.\n deepGet(value, path, index + 1);\n }\n }\n };\n\n // Backwards compatibility (since path used to be a string)\n deepGet(obj, isString(path) ? path.split('.') : path, 0);\n\n return arr ? list : list[0]\n}\n\nconst MatchOptions = {\n // Whether the matches should be included in the result set. When `true`, each record in the result\n // set will include the indices of the matched characters.\n // These can consequently be used for highlighting purposes.\n includeMatches: false,\n // When `true`, the matching function will continue to the end of a search pattern even if\n // a perfect match has already been located in the string.\n findAllMatches: false,\n // Minimum number of characters that must be matched before a result is considered a match\n minMatchCharLength: 1\n};\n\nconst BasicOptions = {\n // When `true`, the algorithm continues searching to the end of the input even if a perfect\n // match is found before the end of the same input.\n isCaseSensitive: false,\n // When true, the matching function will continue to the end of a search pattern even if\n includeScore: false,\n // List of properties that will be searched. This also supports nested properties.\n keys: [],\n // Whether to sort the result list, by score\n shouldSort: true,\n // Default sort function: sort by ascending score, ascending index\n sortFn: (a, b) =>\n a.score === b.score ? (a.idx < b.idx ? -1 : 1) : a.score < b.score ? -1 : 1\n};\n\nconst FuzzyOptions = {\n // Approximately where in the text is the pattern expected to be found?\n location: 0,\n // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match\n // (of both letters and location), a threshold of '1.0' would match anything.\n threshold: 0.6,\n // Determines how close the match must be to the fuzzy location (specified above).\n // An exact letter match which is 'distance' characters away from the fuzzy location\n // would score as a complete mismatch. A distance of '0' requires the match be at\n // the exact location specified, a threshold of '1000' would require a perfect match\n // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.\n distance: 100\n};\n\nconst AdvancedOptions = {\n // When `true`, it enables the use of unix-like search commands\n useExtendedSearch: false,\n // The get function to use when fetching an object's properties.\n // The default will search nested paths *ie foo.bar.baz*\n getFn: get,\n // When `true`, search will ignore `location` and `distance`, so it won't matter\n // where in the string the pattern appears.\n // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score\n ignoreLocation: false,\n // When `true`, the calculation for the relevance score (used for sorting) will\n // ignore the field-length norm.\n // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm\n ignoreFieldNorm: false,\n // The weight to determine how much field length norm effects scoring.\n fieldNormWeight: 1\n};\n\nvar Config = {\n ...BasicOptions,\n ...MatchOptions,\n ...FuzzyOptions,\n ...AdvancedOptions\n};\n\nconst SPACE = /[^ ]+/g;\n\n// Field-length norm: the shorter the field, the higher the weight.\n// Set to 3 decimals to reduce index size.\nfunction norm(weight = 1, mantissa = 3) {\n const cache = new Map();\n const m = Math.pow(10, mantissa);\n\n return {\n get(value) {\n const numTokens = value.match(SPACE).length;\n\n if (cache.has(numTokens)) {\n return cache.get(numTokens)\n }\n\n // Default function is 1/sqrt(x), weight makes that variable\n const norm = 1 / Math.pow(numTokens, 0.5 * weight);\n\n // In place of `toFixed(mantissa)`, for faster computation\n const n = parseFloat(Math.round(norm * m) / m);\n\n cache.set(numTokens, n);\n\n return n\n },\n clear() {\n cache.clear();\n }\n }\n}\n\nclass FuseIndex {\n constructor({\n getFn = Config.getFn,\n fieldNormWeight = Config.fieldNormWeight\n } = {}) {\n this.norm = norm(fieldNormWeight, 3);\n this.getFn = getFn;\n this.isCreated = false;\n\n this.setIndexRecords();\n }\n setSources(docs = []) {\n this.docs = docs;\n }\n setIndexRecords(records = []) {\n this.records = records;\n }\n setKeys(keys = []) {\n this.keys = keys;\n this._keysMap = {};\n keys.forEach((key, idx) => {\n this._keysMap[key.id] = idx;\n });\n }\n create() {\n if (this.isCreated || !this.docs.length) {\n return\n }\n\n this.isCreated = true;\n\n // List is Array\n if (isString(this.docs[0])) {\n this.docs.forEach((doc, docIndex) => {\n this._addString(doc, docIndex);\n });\n } else {\n // List is Array\n this.docs.forEach((doc, docIndex) => {\n this._addObject(doc, docIndex);\n });\n }\n\n this.norm.clear();\n }\n // Adds a doc to the end of the index\n add(doc) {\n const idx = this.size();\n\n if (isString(doc)) {\n this._addString(doc, idx);\n } else {\n this._addObject(doc, idx);\n }\n }\n // Removes the doc at the specified index of the index\n removeAt(idx) {\n this.records.splice(idx, 1);\n\n // Change ref index of every subsquent doc\n for (let i = idx, len = this.size(); i < len; i += 1) {\n this.records[i].i -= 1;\n }\n }\n getValueForItemAtKeyId(item, keyId) {\n return item[this._keysMap[keyId]]\n }\n size() {\n return this.records.length\n }\n _addString(doc, docIndex) {\n if (!isDefined(doc) || isBlank(doc)) {\n return\n }\n\n let record = {\n v: doc,\n i: docIndex,\n n: this.norm.get(doc)\n };\n\n this.records.push(record);\n }\n _addObject(doc, docIndex) {\n let record = { i: docIndex, $: {} };\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n this.keys.forEach((key, keyIndex) => {\n let value = key.getFn ? key.getFn(doc) : this.getFn(doc, key.path);\n\n if (!isDefined(value)) {\n return\n }\n\n if (isArray(value)) {\n let subRecords = [];\n const stack = [{ nestedArrIndex: -1, value }];\n\n while (stack.length) {\n const { nestedArrIndex, value } = stack.pop();\n\n if (!isDefined(value)) {\n continue\n }\n\n if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n i: nestedArrIndex,\n n: this.norm.get(value)\n };\n\n subRecords.push(subRecord);\n } else if (isArray(value)) {\n value.forEach((item, k) => {\n stack.push({\n nestedArrIndex: k,\n value: item\n });\n });\n } else ;\n }\n record.$[keyIndex] = subRecords;\n } else if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n n: this.norm.get(value)\n };\n\n record.$[keyIndex] = subRecord;\n }\n });\n\n this.records.push(record);\n }\n toJSON() {\n return {\n keys: this.keys,\n records: this.records\n }\n }\n}\n\nfunction createIndex(\n keys,\n docs,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys.map(createKey));\n myIndex.setSources(docs);\n myIndex.create();\n return myIndex\n}\n\nfunction parseIndex(\n data,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const { keys, records } = data;\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys);\n myIndex.setIndexRecords(records);\n return myIndex\n}\n\nfunction computeScore$1(\n pattern,\n {\n errors = 0,\n currentLocation = 0,\n expectedLocation = 0,\n distance = Config.distance,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n const accuracy = errors / pattern.length;\n\n if (ignoreLocation) {\n return accuracy\n }\n\n const proximity = Math.abs(expectedLocation - currentLocation);\n\n if (!distance) {\n // Dodge divide by zero error.\n return proximity ? 1.0 : accuracy\n }\n\n return accuracy + proximity / distance\n}\n\nfunction convertMaskToIndices(\n matchmask = [],\n minMatchCharLength = Config.minMatchCharLength\n) {\n let indices = [];\n let start = -1;\n let end = -1;\n let i = 0;\n\n for (let len = matchmask.length; i < len; i += 1) {\n let match = matchmask[i];\n if (match && start === -1) {\n start = i;\n } else if (!match && start !== -1) {\n end = i - 1;\n if (end - start + 1 >= minMatchCharLength) {\n indices.push([start, end]);\n }\n start = -1;\n }\n }\n\n // (i-1 - start) + 1 => i - start\n if (matchmask[i - 1] && i - start >= minMatchCharLength) {\n indices.push([start, i - 1]);\n }\n\n return indices\n}\n\n// Machine word size\nconst MAX_BITS = 32;\n\nfunction search(\n text,\n pattern,\n patternAlphabet,\n {\n location = Config.location,\n distance = Config.distance,\n threshold = Config.threshold,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n includeMatches = Config.includeMatches,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n if (pattern.length > MAX_BITS) {\n throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS))\n }\n\n const patternLen = pattern.length;\n // Set starting location at beginning text and initialize the alphabet.\n const textLen = text.length;\n // Handle the case when location > text.length\n const expectedLocation = Math.max(0, Math.min(location, textLen));\n // Highest score beyond which we give up.\n let currentThreshold = threshold;\n // Is there a nearby exact match? (speedup)\n let bestLocation = expectedLocation;\n\n // Performance: only computer matches when the minMatchCharLength > 1\n // OR if `includeMatches` is true.\n const computeMatches = minMatchCharLength > 1 || includeMatches;\n // A mask of the matches, used for building the indices\n const matchMask = computeMatches ? Array(textLen) : [];\n\n let index;\n\n // Get all exact matches, here for speed up\n while ((index = text.indexOf(pattern, bestLocation)) > -1) {\n let score = computeScore$1(pattern, {\n currentLocation: index,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n currentThreshold = Math.min(score, currentThreshold);\n bestLocation = index + patternLen;\n\n if (computeMatches) {\n let i = 0;\n while (i < patternLen) {\n matchMask[index + i] = 1;\n i += 1;\n }\n }\n }\n\n // Reset the best location\n bestLocation = -1;\n\n let lastBitArr = [];\n let finalScore = 1;\n let binMax = patternLen + textLen;\n\n const mask = 1 << (patternLen - 1);\n\n for (let i = 0; i < patternLen; i += 1) {\n // Scan for the best match; each iteration allows for one more error.\n // Run a binary search to determine how far from the match location we can stray\n // at this error level.\n let binMin = 0;\n let binMid = binMax;\n\n while (binMin < binMid) {\n const score = computeScore$1(pattern, {\n errors: i,\n currentLocation: expectedLocation + binMid,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score <= currentThreshold) {\n binMin = binMid;\n } else {\n binMax = binMid;\n }\n\n binMid = Math.floor((binMax - binMin) / 2 + binMin);\n }\n\n // Use the result from this iteration as the maximum for the next.\n binMax = binMid;\n\n let start = Math.max(1, expectedLocation - binMid + 1);\n let finish = findAllMatches\n ? textLen\n : Math.min(expectedLocation + binMid, textLen) + patternLen;\n\n // Initialize the bit array\n let bitArr = Array(finish + 2);\n\n bitArr[finish + 1] = (1 << i) - 1;\n\n for (let j = finish; j >= start; j -= 1) {\n let currentLocation = j - 1;\n let charMatch = patternAlphabet[text.charAt(currentLocation)];\n\n if (computeMatches) {\n // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)\n matchMask[currentLocation] = +!!charMatch;\n }\n\n // First pass: exact match\n bitArr[j] = ((bitArr[j + 1] << 1) | 1) & charMatch;\n\n // Subsequent passes: fuzzy match\n if (i) {\n bitArr[j] |=\n ((lastBitArr[j + 1] | lastBitArr[j]) << 1) | 1 | lastBitArr[j + 1];\n }\n\n if (bitArr[j] & mask) {\n finalScore = computeScore$1(pattern, {\n errors: i,\n currentLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n // This match will almost certainly be better than any existing match.\n // But check anyway.\n if (finalScore <= currentThreshold) {\n // Indeed it is\n currentThreshold = finalScore;\n bestLocation = currentLocation;\n\n // Already passed `loc`, downhill from here on in.\n if (bestLocation <= expectedLocation) {\n break\n }\n\n // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.\n start = Math.max(1, 2 * expectedLocation - bestLocation);\n }\n }\n }\n\n // No hope for a (better) match at greater error levels.\n const score = computeScore$1(pattern, {\n errors: i + 1,\n currentLocation: expectedLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score > currentThreshold) {\n break\n }\n\n lastBitArr = bitArr;\n }\n\n const result = {\n isMatch: bestLocation >= 0,\n // Count exact matches (those with a score of 0) to be \"almost\" exact\n score: Math.max(0.001, finalScore)\n };\n\n if (computeMatches) {\n const indices = convertMaskToIndices(matchMask, minMatchCharLength);\n if (!indices.length) {\n result.isMatch = false;\n } else if (includeMatches) {\n result.indices = indices;\n }\n }\n\n return result\n}\n\nfunction createPatternAlphabet(pattern) {\n let mask = {};\n\n for (let i = 0, len = pattern.length; i < len; i += 1) {\n const char = pattern.charAt(i);\n mask[char] = (mask[char] || 0) | (1 << (len - i - 1));\n }\n\n return mask\n}\n\nclass BitapSearch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n this.options = {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n\n this.chunks = [];\n\n if (!this.pattern.length) {\n return\n }\n\n const addChunk = (pattern, startIndex) => {\n this.chunks.push({\n pattern,\n alphabet: createPatternAlphabet(pattern),\n startIndex\n });\n };\n\n const len = this.pattern.length;\n\n if (len > MAX_BITS) {\n let i = 0;\n const remainder = len % MAX_BITS;\n const end = len - remainder;\n\n while (i < end) {\n addChunk(this.pattern.substr(i, MAX_BITS), i);\n i += MAX_BITS;\n }\n\n if (remainder) {\n const startIndex = len - MAX_BITS;\n addChunk(this.pattern.substr(startIndex), startIndex);\n }\n } else {\n addChunk(this.pattern, 0);\n }\n }\n\n searchIn(text) {\n const { isCaseSensitive, includeMatches } = this.options;\n\n if (!isCaseSensitive) {\n text = text.toLowerCase();\n }\n\n // Exact match\n if (this.pattern === text) {\n let result = {\n isMatch: true,\n score: 0\n };\n\n if (includeMatches) {\n result.indices = [[0, text.length - 1]];\n }\n\n return result\n }\n\n // Otherwise, use Bitap algorithm\n const {\n location,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n ignoreLocation\n } = this.options;\n\n let allIndices = [];\n let totalScore = 0;\n let hasMatches = false;\n\n this.chunks.forEach(({ pattern, alphabet, startIndex }) => {\n const { isMatch, score, indices } = search(text, pattern, alphabet, {\n location: location + startIndex,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n includeMatches,\n ignoreLocation\n });\n\n if (isMatch) {\n hasMatches = true;\n }\n\n totalScore += score;\n\n if (isMatch && indices) {\n allIndices = [...allIndices, ...indices];\n }\n });\n\n let result = {\n isMatch: hasMatches,\n score: hasMatches ? totalScore / this.chunks.length : 1\n };\n\n if (hasMatches && includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n}\n\nclass BaseMatch {\n constructor(pattern) {\n this.pattern = pattern;\n }\n static isMultiMatch(pattern) {\n return getMatch(pattern, this.multiRegex)\n }\n static isSingleMatch(pattern) {\n return getMatch(pattern, this.singleRegex)\n }\n search(/*text*/) {}\n}\n\nfunction getMatch(pattern, exp) {\n const matches = pattern.match(exp);\n return matches ? matches[1] : null\n}\n\n// Token: 'file\n\nclass ExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'exact'\n }\n static get multiRegex() {\n return /^=\"(.*)\"$/\n }\n static get singleRegex() {\n return /^=(.*)$/\n }\n search(text) {\n const isMatch = text === this.pattern;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !fire\n\nclass InverseExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!(.*)$/\n }\n search(text) {\n const index = text.indexOf(this.pattern);\n const isMatch = index === -1;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: ^file\n\nclass PrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'prefix-exact'\n }\n static get multiRegex() {\n return /^\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^\\^(.*)$/\n }\n search(text) {\n const isMatch = text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !^fire\n\nclass InversePrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-prefix-exact'\n }\n static get multiRegex() {\n return /^!\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!\\^(.*)$/\n }\n search(text) {\n const isMatch = !text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: .file$\n\nclass SuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'suffix-exact'\n }\n static get multiRegex() {\n return /^\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^(.*)\\$$/\n }\n search(text) {\n const isMatch = text.endsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [text.length - this.pattern.length, text.length - 1]\n }\n }\n}\n\n// Token: !.file$\n\nclass InverseSuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-suffix-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^!(.*)\\$$/\n }\n search(text) {\n const isMatch = !text.endsWith(this.pattern);\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\nclass FuzzyMatch extends BaseMatch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n super(pattern);\n this._bitapSearch = new BitapSearch(pattern, {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n });\n }\n static get type() {\n return 'fuzzy'\n }\n static get multiRegex() {\n return /^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^(.*)$/\n }\n search(text) {\n return this._bitapSearch.searchIn(text)\n }\n}\n\n// Token: 'file\n\nclass IncludeMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'include'\n }\n static get multiRegex() {\n return /^'\"(.*)\"$/\n }\n static get singleRegex() {\n return /^'(.*)$/\n }\n search(text) {\n let location = 0;\n let index;\n\n const indices = [];\n const patternLen = this.pattern.length;\n\n // Get all exact matches\n while ((index = text.indexOf(this.pattern, location)) > -1) {\n location = index + patternLen;\n indices.push([index, location - 1]);\n }\n\n const isMatch = !!indices.length;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices\n }\n }\n}\n\n// ❗Order is important. DO NOT CHANGE.\nconst searchers = [\n ExactMatch,\n IncludeMatch,\n PrefixExactMatch,\n InversePrefixExactMatch,\n InverseSuffixExactMatch,\n SuffixExactMatch,\n InverseExactMatch,\n FuzzyMatch\n];\n\nconst searchersLen = searchers.length;\n\n// Regex to split by spaces, but keep anything in quotes together\nconst SPACE_RE = / +(?=(?:[^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)/;\nconst OR_TOKEN = '|';\n\n// Return a 2D array representation of the query, for simpler parsing.\n// Example:\n// \"^core go$ | rb$ | py$ xy$\" => [[\"^core\", \"go$\"], [\"rb$\"], [\"py$\", \"xy$\"]]\nfunction parseQuery(pattern, options = {}) {\n return pattern.split(OR_TOKEN).map((item) => {\n let query = item\n .trim()\n .split(SPACE_RE)\n .filter((item) => item && !!item.trim());\n\n let results = [];\n for (let i = 0, len = query.length; i < len; i += 1) {\n const queryItem = query[i];\n\n // 1. Handle multiple query match (i.e, once that are quoted, like `\"hello world\"`)\n let found = false;\n let idx = -1;\n while (!found && ++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isMultiMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n found = true;\n }\n }\n\n if (found) {\n continue\n }\n\n // 2. Handle single query matches (i.e, once that are *not* quoted)\n idx = -1;\n while (++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isSingleMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n break\n }\n }\n }\n\n return results\n })\n}\n\n// These extended matchers can return an array of matches, as opposed\n// to a singl match\nconst MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]);\n\n/**\n * Command-like searching\n * ======================\n *\n * Given multiple search terms delimited by spaces.e.g. `^jscript .python$ ruby !java`,\n * search in a given text.\n *\n * Search syntax:\n *\n * | Token | Match type | Description |\n * | ----------- | -------------------------- | -------------------------------------- |\n * | `jscript` | fuzzy-match | Items that fuzzy match `jscript` |\n * | `=scheme` | exact-match | Items that are `scheme` |\n * | `'python` | include-match | Items that include `python` |\n * | `!ruby` | inverse-exact-match | Items that do not include `ruby` |\n * | `^java` | prefix-exact-match | Items that start with `java` |\n * | `!^earlang` | inverse-prefix-exact-match | Items that do not start with `earlang` |\n * | `.js$` | suffix-exact-match | Items that end with `.js` |\n * | `!.go$` | inverse-suffix-exact-match | Items that do not end with `.go` |\n *\n * A single pipe character acts as an OR operator. For example, the following\n * query matches entries that start with `core` and end with either`go`, `rb`,\n * or`py`.\n *\n * ```\n * ^core go$ | rb$ | py$\n * ```\n */\nclass ExtendedSearch {\n constructor(\n pattern,\n {\n isCaseSensitive = Config.isCaseSensitive,\n includeMatches = Config.includeMatches,\n minMatchCharLength = Config.minMatchCharLength,\n ignoreLocation = Config.ignoreLocation,\n findAllMatches = Config.findAllMatches,\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance\n } = {}\n ) {\n this.query = null;\n this.options = {\n isCaseSensitive,\n includeMatches,\n minMatchCharLength,\n findAllMatches,\n ignoreLocation,\n location,\n threshold,\n distance\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n this.query = parseQuery(this.pattern, this.options);\n }\n\n static condition(_, options) {\n return options.useExtendedSearch\n }\n\n searchIn(text) {\n const query = this.query;\n\n if (!query) {\n return {\n isMatch: false,\n score: 1\n }\n }\n\n const { includeMatches, isCaseSensitive } = this.options;\n\n text = isCaseSensitive ? text : text.toLowerCase();\n\n let numMatches = 0;\n let allIndices = [];\n let totalScore = 0;\n\n // ORs\n for (let i = 0, qLen = query.length; i < qLen; i += 1) {\n const searchers = query[i];\n\n // Reset indices\n allIndices.length = 0;\n numMatches = 0;\n\n // ANDs\n for (let j = 0, pLen = searchers.length; j < pLen; j += 1) {\n const searcher = searchers[j];\n const { isMatch, indices, score } = searcher.search(text);\n\n if (isMatch) {\n numMatches += 1;\n totalScore += score;\n if (includeMatches) {\n const type = searcher.constructor.type;\n if (MultiMatchSet.has(type)) {\n allIndices = [...allIndices, ...indices];\n } else {\n allIndices.push(indices);\n }\n }\n } else {\n totalScore = 0;\n numMatches = 0;\n allIndices.length = 0;\n break\n }\n }\n\n // OR condition, so if TRUE, return\n if (numMatches) {\n let result = {\n isMatch: true,\n score: totalScore / numMatches\n };\n\n if (includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n }\n\n // Nothing was matched\n return {\n isMatch: false,\n score: 1\n }\n }\n}\n\nconst registeredSearchers = [];\n\nfunction register(...args) {\n registeredSearchers.push(...args);\n}\n\nfunction createSearcher(pattern, options) {\n for (let i = 0, len = registeredSearchers.length; i < len; i += 1) {\n let searcherClass = registeredSearchers[i];\n if (searcherClass.condition(pattern, options)) {\n return new searcherClass(pattern, options)\n }\n }\n\n return new BitapSearch(pattern, options)\n}\n\nconst LogicalOperator = {\n AND: '$and',\n OR: '$or'\n};\n\nconst KeyType = {\n PATH: '$path',\n PATTERN: '$val'\n};\n\nconst isExpression = (query) =>\n !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);\n\nconst isPath = (query) => !!query[KeyType.PATH];\n\nconst isLeaf = (query) =>\n !isArray(query) && isObject(query) && !isExpression(query);\n\nconst convertToExplicit = (query) => ({\n [LogicalOperator.AND]: Object.keys(query).map((key) => ({\n [key]: query[key]\n }))\n});\n\n// When `auto` is `true`, the parse function will infer and initialize and add\n// the appropriate `Searcher` instance\nfunction parse(query, options, { auto = true } = {}) {\n const next = (query) => {\n let keys = Object.keys(query);\n\n const isQueryPath = isPath(query);\n\n if (!isQueryPath && keys.length > 1 && !isExpression(query)) {\n return next(convertToExplicit(query))\n }\n\n if (isLeaf(query)) {\n const key = isQueryPath ? query[KeyType.PATH] : keys[0];\n\n const pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];\n\n if (!isString(pattern)) {\n throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key))\n }\n\n const obj = {\n keyId: createKeyId(key),\n pattern\n };\n\n if (auto) {\n obj.searcher = createSearcher(pattern, options);\n }\n\n return obj\n }\n\n let node = {\n children: [],\n operator: keys[0]\n };\n\n keys.forEach((key) => {\n const value = query[key];\n\n if (isArray(value)) {\n value.forEach((item) => {\n node.children.push(next(item));\n });\n }\n });\n\n return node\n };\n\n if (!isExpression(query)) {\n query = convertToExplicit(query);\n }\n\n return next(query)\n}\n\n// Practical scoring function\nfunction computeScore(\n results,\n { ignoreFieldNorm = Config.ignoreFieldNorm }\n) {\n results.forEach((result) => {\n let totalScore = 1;\n\n result.matches.forEach(({ key, norm, score }) => {\n const weight = key ? key.weight : null;\n\n totalScore *= Math.pow(\n score === 0 && weight ? Number.EPSILON : score,\n (weight || 1) * (ignoreFieldNorm ? 1 : norm)\n );\n });\n\n result.score = totalScore;\n });\n}\n\nfunction transformMatches(result, data) {\n const matches = result.matches;\n data.matches = [];\n\n if (!isDefined(matches)) {\n return\n }\n\n matches.forEach((match) => {\n if (!isDefined(match.indices) || !match.indices.length) {\n return\n }\n\n const { indices, value } = match;\n\n let obj = {\n indices,\n value\n };\n\n if (match.key) {\n obj.key = match.key.src;\n }\n\n if (match.idx > -1) {\n obj.refIndex = match.idx;\n }\n\n data.matches.push(obj);\n });\n}\n\nfunction transformScore(result, data) {\n data.score = result.score;\n}\n\nfunction format(\n results,\n docs,\n {\n includeMatches = Config.includeMatches,\n includeScore = Config.includeScore\n } = {}\n) {\n const transformers = [];\n\n if (includeMatches) transformers.push(transformMatches);\n if (includeScore) transformers.push(transformScore);\n\n return results.map((result) => {\n const { idx } = result;\n\n const data = {\n item: docs[idx],\n refIndex: idx\n };\n\n if (transformers.length) {\n transformers.forEach((transformer) => {\n transformer(result, data);\n });\n }\n\n return data\n })\n}\n\nclass Fuse {\n constructor(docs, options = {}, index) {\n this.options = { ...Config, ...options };\n\n if (\n this.options.useExtendedSearch &&\n !true\n ) {\n throw new Error(EXTENDED_SEARCH_UNAVAILABLE)\n }\n\n this._keyStore = new KeyStore(this.options.keys);\n\n this.setCollection(docs, index);\n }\n\n setCollection(docs, index) {\n this._docs = docs;\n\n if (index && !(index instanceof FuseIndex)) {\n throw new Error(INCORRECT_INDEX_TYPE)\n }\n\n this._myIndex =\n index ||\n createIndex(this.options.keys, this._docs, {\n getFn: this.options.getFn,\n fieldNormWeight: this.options.fieldNormWeight\n });\n }\n\n add(doc) {\n if (!isDefined(doc)) {\n return\n }\n\n this._docs.push(doc);\n this._myIndex.add(doc);\n }\n\n remove(predicate = (/* doc, idx */) => false) {\n const results = [];\n\n for (let i = 0, len = this._docs.length; i < len; i += 1) {\n const doc = this._docs[i];\n if (predicate(doc, i)) {\n this.removeAt(i);\n i -= 1;\n len -= 1;\n\n results.push(doc);\n }\n }\n\n return results\n }\n\n removeAt(idx) {\n this._docs.splice(idx, 1);\n this._myIndex.removeAt(idx);\n }\n\n getIndex() {\n return this._myIndex\n }\n\n search(query, { limit = -1 } = {}) {\n const {\n includeMatches,\n includeScore,\n shouldSort,\n sortFn,\n ignoreFieldNorm\n } = this.options;\n\n let results = isString(query)\n ? isString(this._docs[0])\n ? this._searchStringList(query)\n : this._searchObjectList(query)\n : this._searchLogical(query);\n\n computeScore(results, { ignoreFieldNorm });\n\n if (shouldSort) {\n results.sort(sortFn);\n }\n\n if (isNumber(limit) && limit > -1) {\n results = results.slice(0, limit);\n }\n\n return format(results, this._docs, {\n includeMatches,\n includeScore\n })\n }\n\n _searchStringList(query) {\n const searcher = createSearcher(query, this.options);\n const { records } = this._myIndex;\n const results = [];\n\n // Iterate over every string in the index\n records.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n results.push({\n item: text,\n idx,\n matches: [{ score, value: text, norm, indices }]\n });\n }\n });\n\n return results\n }\n\n _searchLogical(query) {\n\n const expression = parse(query, this.options);\n\n const evaluate = (node, item, idx) => {\n if (!node.children) {\n const { keyId, searcher } = node;\n\n const matches = this._findMatches({\n key: this._keyStore.get(keyId),\n value: this._myIndex.getValueForItemAtKeyId(item, keyId),\n searcher\n });\n\n if (matches && matches.length) {\n return [\n {\n idx,\n item,\n matches\n }\n ]\n }\n\n return []\n }\n\n const res = [];\n for (let i = 0, len = node.children.length; i < len; i += 1) {\n const child = node.children[i];\n const result = evaluate(child, item, idx);\n if (result.length) {\n res.push(...result);\n } else if (node.operator === LogicalOperator.AND) {\n return []\n }\n }\n return res\n };\n\n const records = this._myIndex.records;\n const resultMap = {};\n const results = [];\n\n records.forEach(({ $: item, i: idx }) => {\n if (isDefined(item)) {\n let expResults = evaluate(expression, item, idx);\n\n if (expResults.length) {\n // Dedupe when adding\n if (!resultMap[idx]) {\n resultMap[idx] = { idx, item, matches: [] };\n results.push(resultMap[idx]);\n }\n expResults.forEach(({ matches }) => {\n resultMap[idx].matches.push(...matches);\n });\n }\n }\n });\n\n return results\n }\n\n _searchObjectList(query) {\n const searcher = createSearcher(query, this.options);\n const { keys, records } = this._myIndex;\n const results = [];\n\n // List is Array\n records.forEach(({ $: item, i: idx }) => {\n if (!isDefined(item)) {\n return\n }\n\n let matches = [];\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n keys.forEach((key, keyIndex) => {\n matches.push(\n ...this._findMatches({\n key,\n value: item[keyIndex],\n searcher\n })\n );\n });\n\n if (matches.length) {\n results.push({\n idx,\n item,\n matches\n });\n }\n });\n\n return results\n }\n _findMatches({ key, value, searcher }) {\n if (!isDefined(value)) {\n return []\n }\n\n let matches = [];\n\n if (isArray(value)) {\n value.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({\n score,\n key,\n value: text,\n idx,\n norm,\n indices\n });\n }\n });\n } else {\n const { v: text, n: norm } = value;\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({ score, key, value: text, norm, indices });\n }\n }\n\n return matches\n }\n}\n\nFuse.version = '7.0.0';\nFuse.createIndex = createIndex;\nFuse.parseIndex = parseIndex;\nFuse.config = Config;\n\n{\n Fuse.parseQuery = parse;\n}\n\n{\n register(ExtendedSearch);\n}\n\nexport { Fuse as default };\n","\n\n\n","\n\n\n"],"file":"assets/Home-9BF4fQiD.js"} \ No newline at end of file diff --git a/assets/Home-KcWzUXV1.css b/assets/Home-KcWzUXV1.css deleted file mode 100644 index 5dae27e..0000000 --- a/assets/Home-KcWzUXV1.css +++ /dev/null @@ -1 +0,0 @@ -.fade[data-v-c38c53be]{transition:height .15s ease}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23999' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (-ms-high-contrast:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%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.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (-ms-high-contrast:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%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}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%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){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%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")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-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}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.dark #map[data-v-90807c55] .maplibregl-ctrl-attrib{--tw-bg-opacity: 1;background-color:rgba(34,34,34,var(--tw-bg-opacity))}.dark #map[data-v-90807c55] .maplibregl-ctrl-attrib a{--tw-text-opacity: 1;color:rgba(209,213,219,var(--tw-text-opacity))}.dark #map[data-v-90807c55] .maplibregl-ctrl-attrib-button{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );-webkit-filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);--tw-invert: invert(100%)}.dark #map[data-v-90807c55] .maplibregl-ctrl-group{--tw-bg-opacity: 1;background-color:rgba(34,34,34,var(--tw-bg-opacity))}.dark #map[data-v-90807c55] .maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #3c3c3c}.dark #map[data-v-90807c55] .maplibregl-ctrl-group button+button{--tw-border-opacity: 1;border-top-color:rgba(60,60,60,var(--tw-border-opacity))}.dark #map[data-v-90807c55] .maplibregl-ctrl button .maplibregl-ctrl-icon{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );-webkit-filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);--tw-invert: invert(100%)}.marker[data-v-0ded1eed]:after{left:calc(50% - 1px);width:2px;content:""}.vehicle[data-v-0ded1eed]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.vehicle.driving[data-v-0ded1eed]{top:-.25rem}.vehicle[data-v-0ded1eed]:before{display:block;content:""}.pulsating[data-v-0ded1eed]{position:absolute;width:2rem;height:2rem;left:calc(50% - 1rem);top:calc(50% - 1rem);transform:translate(-50%,-50%);animation:pulsate-0ded1eed 1.5s ease-out;animation-iteration-count:infinite;opacity:0}@keyframes pulsate-0ded1eed{0%{transform:scale(.1);opacity:0}50%{opacity:1}to{transform:scale(1.2);opacity:0}} diff --git a/assets/Home-NgBe9E8J.js b/assets/Home-NgBe9E8J.js new file mode 100644 index 0000000..8d5c3e1 --- /dev/null +++ b/assets/Home-NgBe9E8J.js @@ -0,0 +1,608 @@ +var Gg=Object.defineProperty;var Hg=(g,n,u)=>n in g?Gg(g,n,{enumerable:!0,configurable:!0,writable:!0,value:u}):g[n]=u;var U=(g,n,u)=>Hg(g,typeof n!="symbol"?n+"":n,u);import{d as qs,r as Gi,t as Uo,c as _i,_ as Cd,w as Ef,v as Af,o as Le,a as mt,b as Qe,e as zi,f as lm,n as Ih,g as Zg,m as Ti,h as Wg,i as io,j as Xg,u as Go,k as Vi,l as tr,p as st,q as Jg,s as hi,x as Ft,y as Na,z as cm,A as hm,B as lc,C as Kg,D as Yg,E as Qg,F as Pf,G as Cf,H as um,I as dm,J as $s,K as Vo,L as pm,M as fm,N as Ah,O as ey,P as ty,Q as iy}from"./index-KiWmxDDy.js";import{_ as ry}from"./logo-DBgTG2k7.js";import{u as sy}from"./useTrack-DmYPFwPy.js";import{u as ny}from"./useFeatureFlags-A7w9DXu8.js";const oy=qs({name:"DetailsPopup",props:{isOpen:{type:Boolean,required:!0},size:{type:String,default:"3/4"},disableResize:{type:Boolean}},emits:{close:()=>!0},setup(g,{emit:n}){const u=Gi(!1),_=Gi(),x=Uo(g,"isOpen"),k=Uo(g,"size"),S=Uo(g,"disableResize"),h=_i(()=>{if(S.value&&k.value==="1")return"full";if(!x.value)return"closed";if(u.value){if(_.value===void 0)return"closed";const J=_.value/window.innerHeight;return k.value==="1/2"&&J>.6||k.value==="3/4"&&J>.85?"maximizing":k.value==="1/2"&&J<.4||k.value==="3/4"&&J<.65?"closing":"defaulting"}return _.value===0?"closed":_.value===window.innerHeight?"full":"default"});function N(J){S.value||(u.value=!0,_.value=window.innerHeight-J.touches[0].clientY)}function q(J){u.value&&(_.value=window.innerHeight-J.touches[0].clientY)}function ne(){u.value&&(h.value==="maximizing"?_.value=window.innerHeight:h.value==="closing"?(_.value=void 0,n("close")):h.value==="defaulting"&&(_.value=void 0),u.value=!1)}return{drag:N,move:q,drop:ne,actualSize:h,height:_,dragging:u}}}),ay={class:"flex-shrink-0 bg-gray-500 w-12 h-1.5 rounded-full mx-auto"};function ly(g,n,u,_,x,k){return Ef((Le(),mt("div",{class:Ih(["absolute bottom-0 left-0 right-0 flex flex-col w-full z-10 bg-white shadow-top md:shadow-right md:rounded-none md:w-80 md:top-0 md:h-auto transition dark:bg-dark-400 dark:text-gray-300 dark:border-dark-800",{"overflow-hidden max-h-0":g.actualSize==="closed","h-full md:mx-auto md:w-200 md:shadow-none":g.actualSize==="full","h-1/2":g.size==="1/2"&&g.actualSize==="default","h-3/4":g.size==="3/4"&&g.actualSize==="default","p-4 pb-0 pt-2":g.actualSize!=="closed"&&g.actualSize!=="full","rounded-t-2xl":g.actualSize!=="full","rounded-none p-4 pt-16":g.actualSize==="full","opacity-80":g.actualSize==="closing",fade:!g.dragging}]),style:Zg({height:g.isOpen?g.height===void 0?void 0:`${g.height}px`:0}),onTouchmove:n[1]||(n[1]=(...S)=>g.move&&g.move(...S)),onTouchend:n[2]||(n[2]=(...S)=>g.drop&&g.drop(...S))},[g.disableResize?zi("",!0):(Le(),mt("div",{key:0,class:"w-full -mt-4 pt-4 pb-4 md:hidden",onTouchstart:n[0]||(n[0]=(...S)=>g.drag&&g.drag(...S))},[Ef(Qe("div",ay,null,512),[[Af,g.actualSize!=="full"]])],32)),lm(g.$slots,"default",{},void 0,!0)],38)),[[Af,g.isOpen]])}const id=Cd(oy,[["render",ly],["__scopeId","data-v-7a2783e8"]]),cy={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function hy(g,n){return Le(),mt("svg",cy,n[0]||(n[0]=[Qe("g",{fill:"currentColor"},[Qe("path",{d:"M12.5 6c-2.294 0-3.71 1.655-4.106 2.447A1 1 0 0 1 7.5 9c-.757 0-1.914.235-2.853.912C3.758 10.552 3 11.626 3 13.5c0 1.458.459 2.415 1.05 3.06c.607.663 1.418 1.062 2.204 1.269a1 1 0 0 1-.508 1.934c-1.049-.276-2.238-.833-3.171-1.852C1.624 16.873 1 15.423 1 13.5c0-2.526 1.075-4.201 2.478-5.212c1.124-.809 2.413-1.163 3.435-1.26C7.751 5.773 9.626 4 12.5 4c2.13 0 3.65 1.08 4.607 2.33a7.133 7.133 0 0 1 1.285 2.745c.785.127 1.695.43 2.505 1.014C22.092 10.948 23 12.373 23 14.5c0 1.516-.462 2.697-1.196 3.571c-.72.86-1.65 1.362-2.498 1.634a1 1 0 1 1-.612-1.904c.586-.188 1.157-.513 1.578-1.015c.408-.486.728-1.202.728-2.286c0-1.474-.592-2.299-1.272-2.789c-.73-.526-1.638-.711-2.228-.711a1 1 0 0 1-1-1c0-.502-.284-1.543-.982-2.455C14.85 6.67 13.87 6 12.5 6zm-.5 4a1 1 0 0 1 1 1v5.586l1.293-1.293a1 1 0 0 1 1.414 1.414l-3 3a1 1 0 0 1-1.414 0l-3-3a1 1 0 1 1 1.414-1.414L11 16.586V11a1 1 0 0 1 1-1z"})],-1)]))}const uy=Ti({name:"majesticons-cloud-download-line",render:hy}),dy={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function py(g,n){return Le(),mt("svg",dy,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M19.35 10.04A7.49 7.49 0 0 0 12 4c-1.48 0-2.85.43-4.01 1.17l1.46 1.46a5.497 5.497 0 0 1 8.05 4.87v.5H19c1.66 0 3 1.34 3 3c0 1.13-.64 2.11-1.56 2.62l1.45 1.45C23.16 18.16 24 16.68 24 15c0-2.64-2.05-4.78-4.65-4.96M3 5.27l2.75 2.74C2.56 8.15 0 10.77 0 14c0 3.31 2.69 6 6 6h11.73l2 2L21 20.73L4.27 4zM7.73 10l8 8H6c-2.21 0-4-1.79-4-4s1.79-4 4-4z"},null,-1)]))}const fy=Ti({name:"ic-baseline-cloud-off",render:py});function my(g={}){const{immediate:n=!1,onNeedRefresh:u,onOfflineReady:_,onRegistered:x,onRegisteredSW:k,onRegisterError:S}=g;let h,N,q;const ne=async(G=!0)=>{await N,q==null||q()};async function J(){if("serviceWorker"in navigator){if(h=await Wg(async()=>{const{Workbox:G}=await import("./workbox-window.prod.es5-B9K5rw8f.js");return{Workbox:G}},[]).then(({Workbox:G})=>new G("/sw.js",{scope:"/",type:"classic"})).catch(G=>{S==null||S(G)}),!h)return;q=()=>{h==null||h.messageSkipWaiting()};{let G=!1;const ve=()=>{G=!0,h==null||h.addEventListener("controlling",Ee=>{Ee.isUpdate&&window.location.reload()}),u==null||u()};h.addEventListener("installed",Ee=>{typeof Ee.isUpdate>"u"?typeof Ee.isExternal<"u"&&Ee.isExternal?ve():!G&&(_==null||_()):Ee.isUpdate||_==null||_()}),h.addEventListener("waiting",ve)}h.register({immediate:n}).then(G=>{k?k("/sw.js",G):x==null||x(G)}).catch(G=>{S==null||S(G)})}}return N=J(),ne}function _y(g={}){const{immediate:n=!0,onNeedRefresh:u,onOfflineReady:_,onRegistered:x,onRegisteredSW:k,onRegisterError:S}=g,h=Gi(!1),N=Gi(!1);return{updateServiceWorker:my({immediate:n,onNeedRefresh(){h.value=!0,u==null||u()},onOfflineReady(){N.value=!0,_==null||_()},onRegistered:x,onRegisteredSW:k,onRegisterError:S}),offlineReady:N,needRefresh:h}}const bs=new Uint8Array(0),Ho=new TextEncoder,xs=new TextDecoder;function gy(...g){let n=0;for(let x=0;x=12;u--)this.buf[u]=zf.charCodeAt(n%Df),n=Math.floor(n/Df)}next(){return this.inited||this.init(),this.seq+=this.inc,this.seq>0xcfd41b9100000&&(this.setPre(),this.initSeqAndInc()),this.fillSeq(),String.fromCharCode.apply(String,this.buf)}reset(){this.init()}}const Zo=new wy;var Ns;(function(g){g.Disconnect="disconnect",g.Reconnect="reconnect",g.Update="update",g.LDM="ldm",g.Error="error"})(Ns||(Ns={}));var $a;(function(g){g.Reconnecting="reconnecting",g.PingTimer="pingTimer",g.StaleConnection="staleConnection",g.ClientInitiatedReconnect="client initiated reconnect"})($a||($a={}));var He;(function(g){g.ApiError="BAD API",g.BadAuthentication="BAD_AUTHENTICATION",g.BadCreds="BAD_CREDS",g.BadHeader="BAD_HEADER",g.BadJson="BAD_JSON",g.BadPayload="BAD_PAYLOAD",g.BadSubject="BAD_SUBJECT",g.Cancelled="CANCELLED",g.ConnectionClosed="CONNECTION_CLOSED",g.ConnectionDraining="CONNECTION_DRAINING",g.ConnectionRefused="CONNECTION_REFUSED",g.ConnectionTimeout="CONNECTION_TIMEOUT",g.Disconnect="DISCONNECT",g.InvalidOption="INVALID_OPTION",g.InvalidPayload="INVALID_PAYLOAD",g.MaxPayloadExceeded="MAX_PAYLOAD_EXCEEDED",g.NoResponders="503",g.NotFunction="NOT_FUNC",g.RequestError="REQUEST_ERROR",g.ServerOptionNotAvailable="SERVER_OPT_NA",g.SubClosed="SUB_CLOSED",g.SubDraining="SUB_DRAINING",g.Timeout="TIMEOUT",g.Tls="TLS",g.Unknown="UNKNOWN_ERROR",g.WssRequired="WSS_REQUIRED",g.JetStreamInvalidAck="JESTREAM_INVALID_ACK",g.JetStream404NoMessages="404",g.JetStream408RequestTimeout="408",g.JetStream409MaxAckPendingExceeded="409",g.JetStream409="409",g.JetStreamNotEnabled="503",g.JetStreamIdleHeartBeat="IDLE_HEARTBEAT",g.AuthorizationViolation="AUTHORIZATION_VIOLATION",g.AuthenticationExpired="AUTHENTICATION_EXPIRED",g.ProtocolError="NATS_PROTOCOL_ERR",g.PermissionsViolation="PERMISSIONS_VIOLATION",g.AuthenticationTimeout="AUTHENTICATION_TIMEOUT",g.AccountExpired="ACCOUNT_EXPIRED"})(He||(He={}));function Sy(g){return typeof g.code=="string"}class mm{constructor(){U(this,"messages");this.messages=new Map,this.messages.set(He.InvalidPayload,"Invalid payload type - payloads can be 'binary', 'string', or 'json'"),this.messages.set(He.BadJson,"Bad JSON"),this.messages.set(He.WssRequired,"TLS is required, therefore a secure websocket connection is also required")}static getMessage(n){return Iy.getMessage(n)}getMessage(n){return this.messages.get(n)||n}}const Iy=new mm;class ht extends Error{constructor(u,_,x){super(u);U(this,"name");U(this,"message");U(this,"code");U(this,"permissionContext");U(this,"chainedError");U(this,"api_error");this.name="NatsError",this.message=u,this.code=_,this.chainedError=x}static errorForCode(u,_){const x=mm.getMessage(u);return new ht(x,u,_)}isAuthError(){return this.code===He.AuthenticationExpired||this.code===He.AuthorizationViolation||this.code===He.AccountExpired}isAuthTimeout(){return this.code===He.AuthenticationTimeout}isPermissionError(){return this.code===He.PermissionsViolation}isProtocolError(){return this.code===He.ProtocolError}isJetStreamError(){return this.api_error!==void 0}jsError(){return this.api_error?this.api_error:null}}var _s;(function(g){g[g.Exact=0]="Exact",g[g.CanonicalMIME=1]="CanonicalMIME",g[g.IgnoreCase=2]="IgnoreCase"})(_s||(_s={}));var Us;(function(g){g.Timer="timer",g.Count="count",g.JitterTimer="jitterTimer",g.SentinelMsg="sentinelMsg"})(Us||(Us={}));var ec;(function(g){g.STATS="io.nats.micro.v1.stats_response",g.INFO="io.nats.micro.v1.info_response",g.PING="io.nats.micro.v1.ping_response"})(ec||(ec={}));const Ph="Nats-Service-Error",Ch="Nats-Service-Error-Code";class Mh extends Error{constructor(u,_){super(_);U(this,"code");this.code=u}static isServiceError(u){return Mh.toServiceError(u)!==null}static toServiceError(u){var x,k;const _=((x=u==null?void 0:u.headers)==null?void 0:x.get(Ch))||"";if(_!==""){const S=parseInt(_)||400,h=((k=u==null?void 0:u.headers)==null?void 0:k.get(Ph))||"";return new Mh(S,h.length?h:_)}return null}}function nn(g=""){if(g=g||"_INBOX",typeof g!="string")throw new Error("prefix must be a string");return g.split(".").forEach(n=>{if(n==="*"||n===">")throw new Error(`inbox prefixes cannot have wildcards '${g}'`)}),`${g}.${Zo.next()}`}const dd="127.0.0.1";var ro;(function(g){g.PING="PING",g.STATS="STATS",g.INFO="INFO"})(ro||(ro={}));function Bh(g,...n){for(let u=0;u{_={cancel:()=>{x&&clearTimeout(x)}},x=setTimeout(()=>{h(u===null?ht.errorForCode(He.Timeout):u)},g)});return Object.assign(k,_)}function Wa(g=0){let n;const u=new Promise(_=>{const x=setTimeout(()=>{_()},g);n={cancel:()=>{x&&clearTimeout(x)}}});return Object.assign(u,n)}function Di(){let g={};const n=new Promise((u,_)=>{g={resolve:u,reject:_}});return Object.assign(n,g)}function _m(g){for(let n=g.length-1;n>0;n--){const u=Math.floor(Math.random()*(n+1));[g[n],g[u]]=[g[u],g[n]]}return g}function Ty(g){return g===0?0:Math.floor(g/2+Math.random()*g)}function Md(g=[0,250,250,500,500,3e3,5e3]){Array.isArray(g)||(g=[0,250,250,500,500,3e3,5e3]);const n=g.length-1;return{backoff(u){return Ty(u>n?g[n]:g[u])}}}function Bi(g){return g*1e6}function zd(g){return Math.floor(g/1e6)}function Of(g){let _=!0;const x=new Array(g.length);for(let k=0;k126)throw new ht(`'${g[k]}' is not a valid character for a header key`,He.BadHeader);_&&97<=S&&S<=122?S-=32:!_&&65<=S&&S<=90&&(S+=32),x[k]=S,_=S==45}return String.fromCharCode(...x)}function Dn(g=0,n=""){if(g===0&&n!==""||g>0&&n==="")throw new Error("setting status requires both code and description");return new so(g,n)}const rd="NATS/1.0";class so{constructor(n=0,u=""){U(this,"_code");U(this,"headers");U(this,"_description");this._code=n,this._description=u,this.headers=new Map}[Symbol.iterator](){return this.headers.entries()}size(){return this.headers.size}equals(n){if(n&&this.headers.size===n.headers.size&&this._code===n._code){for(const[u,_]of this.headers){const x=n.values(u);if(_.length!==x.length)return!1;const k=[..._].sort(),S=[...x].sort();for(let h=0;h0){u._code=parseInt(S,10),isNaN(u._code)&&(u._code=0);const h=u._code.toString();S=S.replace(h,""),u._description=S.trim()}}return x.length>=1&&x.slice(1).map(S=>{if(S){const h=S.indexOf(":");if(h>-1){const N=S.slice(0,h),q=S.slice(h+1).trim();u.append(N,q)}}}),u}toString(){if(this.headers.size===0&&this._code===0)return"";let n=rd;this._code>0&&this._description!==""&&(n+=` ${this._code} ${this._description}`);for(const[u,_]of this.headers)for(let x=0;x<_.length;x++)n=`${n}\r +${u}: ${_[x]}`;return`${n}\r +\r +`}encode(){return Ho.encode(this.toString())}static validHeaderValue(n){if(/[\r\n]/.test(n))throw new ht("invalid header value - \\r and \\n are not allowed.",He.BadHeader);return n.trim()}keys(){const n=[];for(const u of this.headers.keys())n.push(u);return n}findKeys(n,u=_s.Exact){const _=this.keys();switch(u){case _s.Exact:return _.filter(x=>x===n);case _s.CanonicalMIME:return n=Of(n),_.filter(x=>x===n);default:{const x=n.toLowerCase();return _.filter(k=>x===k.toLowerCase())}}}get(n,u=_s.Exact){const _=this.findKeys(n,u);if(_.length){const x=this.headers.get(_[0]);if(x)return Array.isArray(x)?x[0]:x}return""}last(n,u=_s.Exact){const _=this.findKeys(n,u);if(_.length){const x=this.headers.get(_[0]);if(x)return Array.isArray(x)?x[x.length-1]:x}return""}has(n,u=_s.Exact){return this.findKeys(n,u).length>0}set(n,u,_=_s.Exact){this.delete(n,_),this.append(n,u,_)}append(n,u,_=_s.Exact){const x=Of(n);_===_s.CanonicalMIME&&(n=x);const k=this.findKeys(n,_);n=k.length>0?k[0]:n;const S=so.validHeaderValue(u);let h=this.headers.get(n);h||(h=[],this.headers.set(n,h)),h.push(S)}values(n,u=_s.Exact){const _=[];return this.findKeys(n,u).forEach(k=>{const S=this.headers.get(k);S&&_.push(...S)}),_}delete(n,u=_s.Exact){this.findKeys(n,u).forEach(x=>{this.headers.delete(x)})}get hasError(){return this._code>=300}get status(){return`${this._code} ${this._description}`.trim()}toRecord(){const n={};return this.keys().forEach(u=>{n[u]=this.values(u)}),n}get code(){return this._code}get description(){return this._description}static fromRecord(n){const u=new so;for(const _ in n)u.headers.set(_,n[_]);return u}}function pd(){return{encode(g){return Ho.encode(g)},decode(g){return xs.decode(g)}}}function Vs(g){return{encode(n){try{return n===void 0&&(n=null),Ho.encode(JSON.stringify(n))}catch(u){throw ht.errorForCode(He.BadJson,u)}},decode(n){try{return JSON.parse(xs.decode(n),g)}catch(u){throw ht.errorForCode(He.BadJson,u)}}}}function gm(g){var n;return g&&g.data.length===0&&((n=g.headers)==null?void 0:n.code)===503?ht.errorForCode(He.NoResponders):null}class Dd{constructor(n,u,_){U(this,"_headers");U(this,"_msg");U(this,"_rdata");U(this,"_reply");U(this,"_subject");U(this,"publisher");this._msg=n,this._rdata=u,this.publisher=_}get subject(){return this._subject?this._subject:(this._subject=xs.decode(this._msg.subject),this._subject)}get reply(){return this._reply?this._reply:(this._reply=xs.decode(this._msg.reply),this._reply)}get sid(){return this._msg.sid}get headers(){if(this._msg.hdr>-1&&!this._headers){const n=this._rdata.subarray(0,this._msg.hdr);this._headers=so.decode(n)}return this._headers}get data(){return this._rdata?this._msg.hdr>-1?this._rdata.subarray(this._msg.hdr):this._rdata:new Uint8Array(0)}respond(n=bs,u){return this.reply?(this.publisher.publish(this.reply,n,u),!0):!1}size(){var x;const n=this._msg.subject.length,u=((x=this._msg.reply)==null?void 0:x.length)||0,_=this._msg.size===-1?0:this._msg.size;return n+u+_}json(n){return Vs(n).decode(this.data)}string(){return xs.decode(this.data)}requestInfo(){var u;const n=(u=this.headers)==null?void 0:u.get("Nats-Request-Info");return n?JSON.parse(n,function(_,x){return(_==="start"||_==="stop")&&x!==""?new Date(Date.parse(x)):x}):null}}U(Dd,"jc");function Ua(g){return jh("durable",g)}function Vr(g){return jh("stream",g)}function jh(g,n=""){if(n==="")throw Error(`${g} name required`);return[".","*",">","/","\\"," "," ",` +`,"\r"].forEach(_=>{if(n.indexOf(_)!==-1){switch(_){case` +`:_="\\n";break;case"\r":_="\\r";break;case" ":_="\\t";break}throw Error(`invalid ${g} name - ${g} name cannot contain '${_}'`)}}),""}function Kl(g,n=""){if(n==="")throw Error(`${g} name required`);const u=ky(n);if(u.length)throw new Error(`invalid ${g} name - ${g} name ${u}`)}function ky(g=""){if(g==="")throw Error("name required");const n=/^[-\w]+$/g;if(g.match(n)===null){for(const _ of g.split(""))if(_.match(n)===null)return`cannot contain '${_}'`}return""}function fd(g){if(g.data.length>0)return!1;const n=g.headers;return n?n.code>=100&&n.code<200:!1}function md(g){var n;return fd(g)&&((n=g.headers)==null?void 0:n.description)==="Idle Heartbeat"}function Ey(g,n,u){const _=Dn(g,n),x={hdr:1,sid:0,size:0},k=new Dd(x,bs,{});return k._headers=_,k._subject=u,k}function Va(g){if(g.data.length!==0)return null;const n=g.headers;return n?ym(n.code,n.description):null}var Ms;(function(g){g.MaxBatchExceeded="exceeded maxrequestbatch of",g.MaxExpiresExceeded="exceeded maxrequestexpires of",g.MaxBytesExceeded="exceeded maxrequestmaxbytes of",g.MaxMessageSizeExceeded="message size exceeds maxbytes",g.PushConsumer="consumer is push based",g.MaxWaitingExceeded="exceeded maxwaiting",g.IdleHeartbeatMissed="idle heartbeats missed",g.ConsumerDeleted="consumer deleted"})(Ms||(Ms={}));function Ay(g){return g.code!==He.JetStream409?!1:[Ms.MaxBatchExceeded,Ms.MaxExpiresExceeded,Ms.MaxBytesExceeded,Ms.MaxMessageSizeExceeded,Ms.PushConsumer,Ms.IdleHeartbeatMissed,Ms.ConsumerDeleted].find(u=>g.message.indexOf(u)!==-1)!==void 0}function ym(g,n=""){if(g<300)return null;switch(n=n.toLowerCase(),g){case 404:return new ht(n,He.JetStream404NoMessages);case 408:return new ht(n,He.JetStream408RequestTimeout);case 409:{const u=n.startsWith(Ms.IdleHeartbeatMissed)?He.JetStreamIdleHeartBeat:He.JetStream409;return new ht(n,u)}case 503:return ht.errorForCode(He.JetStreamNotEnabled,new Error(n));default:return n===""&&(n=He.Unknown),new ht(n,`${g}`)}}class hr{constructor(){U(this,"inflight");U(this,"processed");U(this,"received");U(this,"noIterator");U(this,"iterClosed");U(this,"done");U(this,"signal");U(this,"yields");U(this,"filtered");U(this,"pendingFiltered");U(this,"ingestionFilterFn");U(this,"protocolFilterFn");U(this,"dispatchedFn");U(this,"ctx");U(this,"_data");U(this,"err");U(this,"time");U(this,"yielding");this.inflight=0,this.filtered=0,this.pendingFiltered=0,this.processed=0,this.received=0,this.noIterator=!1,this.done=!1,this.signal=Di(),this.yields=[],this.iterClosed=Di(),this.time=0,this.yielding=!1}[Symbol.asyncIterator](){return this.iterate()}push(n){if(this.done)return;if(typeof n=="function"){this.yields.push(n),this.signal.resolve();return}const{ingest:u,protocol:_}=this.ingestionFilterFn?this.ingestionFilterFn(n,this.ctx||this):{ingest:!0,protocol:!1};u&&(_&&(this.filtered++,this.pendingFiltered++),this.yields.push(n),this.signal.resolve())}async*iterate(){if(this.noIterator)throw new ht("unsupported iterator",He.ApiError);if(this.yielding)throw new ht("already yielding",He.ApiError);this.yielding=!0;try{for(;;){if(this.yields.length===0&&await this.signal,this.err)throw this.err;const n=this.yields;this.inflight=n.length,this.yields=[];for(let u=0;u0&&(this.autoCancelTimer=setTimeout(()=>{this.cancel()},this.cancelAfter)),this.timer=setInterval(()=>{if(this.count++,Date.now()-this.last>this.interval&&this.missed++,this.missed>=this.maxOut)try{this.callback(this.missed)===!0&&this.cancel()}catch(n){console.log(n)}},this.interval)}}var _d;(function(g){g.Limits="limits",g.Interest="interest",g.Workqueue="workqueue"})(_d||(_d={}));var sc;(function(g){g.Old="old",g.New="new"})(sc||(sc={}));var gd;(function(g){g.File="file",g.Memory="memory"})(gd||(gd={}));var Hi;(function(g){g.All="all",g.Last="last",g.New="new",g.StartSequence="by_start_sequence",g.StartTime="by_start_time",g.LastPerSubject="last_per_subject"})(Hi||(Hi={}));var cr;(function(g){g.None="none",g.All="all",g.Explicit="explicit",g.NotSet=""})(cr||(cr={}));var Ha;(function(g){g.Instant="instant",g.Original="original"})(Ha||(Ha={}));var oo;(function(g){g.None="none",g.S2="s2"})(oo||(oo={}));var zh;(function(g){g.CreateOrUpdate="",g.Update="update",g.Create="create"})(zh||(zh={}));function Py(g,n={}){return Object.assign({name:g,deliver_policy:Hi.All,ack_policy:cr.Explicit,ack_wait:Bi(30*1e3),replay_policy:Ha.Instant},n)}var Ff;(function(g){g.API="api_audit",g.StreamAction="stream_action",g.ConsumerAction="consumer_action",g.SnapshotCreate="snapshot_create",g.SnapshotComplete="snapshot_complete",g.RestoreCreate="restore_create",g.RestoreComplete="restore_complete",g.MaxDeliver="max_deliver",g.Terminated="terminated",g.Ack="consumer_ack",g.StreamLeaderElected="stream_leader_elected",g.StreamQuorumLost="stream_quorum_lost",g.ConsumerLeaderElected="consumer_leader_elected",g.ConsumerQuorumLost="consumer_quorum_lost"})(Ff||(Ff={}));var Gr;(function(g){g.StreamSourceHdr="Nats-Stream-Source",g.LastConsumerSeqHdr="Nats-Last-Consumer",g.LastStreamSeqHdr="Nats-Last-Stream",g.ConsumerStalledHdr="Nats-Consumer-Stalled",g.MessageSizeHdr="Nats-Msg-Size",g.RollupHdr="Nats-Rollup",g.RollupValueSubject="sub",g.RollupValueAll="all",g.PendingMessagesHdr="Nats-Pending-Messages",g.PendingBytesHdr="Nats-Pending-Bytes"})(Gr||(Gr={}));var js;(function(g){g.LastValue="",g.AllHistory="history",g.UpdatesOnly="updates"})(js||(js={}));var ja;(function(g){g.Stream="Nats-Stream",g.Sequence="Nats-Sequence",g.TimeStamp="Nats-Time-Stamp",g.Subject="Nats-Subject"})(ja||(ja={}));var Bf;(function(g){g.Stream="Nats-Stream",g.Subject="Nats-Subject",g.Sequence="Nats-Sequence",g.LastSequence="Nats-Last-Sequence",g.Size="Nats-Msg-Size"})(Bf||(Bf={}));const gs="KV_";class Cy{constructor(n){U(this,"config");U(this,"ordered");U(this,"mack");U(this,"stream");U(this,"callbackFn");U(this,"max");U(this,"qname");U(this,"isBind");U(this,"filters");this.stream="",this.mack=!1,this.ordered=!1,this.config=Py("",n||{})}getOpts(){var u;const n={};if(n.config=Object.assign({},this.config),n.config.filter_subject&&(this.filterSubject(n.config.filter_subject),n.config.filter_subject=void 0),n.config.filter_subjects&&((u=n.config.filter_subjects)==null||u.forEach(_=>{this.filterSubject(_)}),n.config.filter_subjects=void 0),n.mack=this.mack,n.stream=this.stream,n.callbackFn=this.callbackFn,n.max=this.max,n.queue=this.qname,n.ordered=this.ordered,n.config.ack_policy=n.ordered?cr.None:n.config.ack_policy,n.isBind=n.isBind||!1,this.filters)switch(this.filters.length){case 0:break;case 1:n.config.filter_subject=this.filters[0];break;default:n.config.filter_subjects=this.filters}return n}description(n){return this.config.description=n,this}deliverTo(n){return this.config.deliver_subject=n,this}durable(n){return Ua(n),this.config.durable_name=n,this}startSequence(n){if(n<=0)throw new Error("sequence must be greater than 0");return this.config.deliver_policy=Hi.StartSequence,this.config.opt_start_seq=n,this}startTime(n){return this.config.deliver_policy=Hi.StartTime,this.config.opt_start_time=n.toISOString(),this}deliverAll(){return this.config.deliver_policy=Hi.All,this}deliverLastPerSubject(){return this.config.deliver_policy=Hi.LastPerSubject,this}deliverLast(){return this.config.deliver_policy=Hi.Last,this}deliverNew(){return this.config.deliver_policy=Hi.New,this}startAtTimeDelta(n){return this.startTime(new Date(Date.now()-n)),this}headersOnly(){return this.config.headers_only=!0,this}ackNone(){return this.config.ack_policy=cr.None,this}ackAll(){return this.config.ack_policy=cr.All,this}ackExplicit(){return this.config.ack_policy=cr.Explicit,this}ackWait(n){return this.config.ack_wait=Bi(n),this}maxDeliver(n){return this.config.max_deliver=n,this}filterSubject(n){return this.filters=this.filters||[],this.filters.push(n),this}replayInstantly(){return this.config.replay_policy=Ha.Instant,this}replayOriginal(){return this.config.replay_policy=Ha.Original,this}sample(n){if(n=Math.trunc(n),n<0||n>100)throw new Error("value must be between 0-100");return this.config.sample_freq=`${n}%`,this}limit(n){return this.config.rate_limit_bps=n,this}maxWaiting(n){return this.config.max_waiting=n,this}maxAckPending(n){return this.config.max_ack_pending=n,this}idleHeartbeat(n){return this.config.idle_heartbeat=Bi(n),this}flowControl(){return this.config.flow_control=!0,this}deliverGroup(n){return this.queue(n),this}manualAck(){return this.mack=!0,this}maxMessages(n){return this.max=n,this}callback(n){return this.callbackFn=n,this}queue(n){return this.qname=n,this.config.deliver_group=n,this}orderedConsumer(){return this.ordered=!0,this}bind(n,u){return this.stream=n,this.config.durable_name=u,this.isBind=!0,this}bindStream(n){return this.stream=n,this}inactiveEphemeralThreshold(n){return this.config.inactive_threshold=Bi(n),this}maxPullBatch(n){return this.config.max_batch=n,this}maxPullRequestExpires(n){return this.config.max_expires=Bi(n),this}memory(){return this.config.mem_storage=!0,this}numReplicas(n){return this.config.num_replicas=n,this}consumerName(n){return this.config.name=n,this}}function zn(g){return new Cy(g)}function jf(g){return typeof g.getOpts=="function"}class My{static encode(n){if(typeof n=="string")return btoa(n);const u=Array.from(n);return btoa(String.fromCharCode(...u))}static decode(n,u=!1){const _=atob(n);return u?Uint8Array.from(_,x=>x.charCodeAt(0)):_}}class tc{static encode(n){return tc.toB64URLEncoding(My.encode(n))}static decode(n,u=!1){return tc.decode(tc.fromB64URLEncoding(n),u)}static toB64URLEncoding(n){return n.replace(/\+/g,"-").replace(/\//g,"_")}static fromB64URLEncoding(n){return n.replace(/_/g,"/").replace(/-/g,"+")}}class Za{constructor(){U(this,"buffers");U(this,"byteLength");this.buffers=[],this.byteLength=0}static concat(...n){let u=0;for(let k=0;k1){const n=new Uint8Array(this.byteLength);let u=0;for(let _=0;__)&&(n=_);const x=u.subarray(0,n);return _>n&&this.buffers.push(u.subarray(n)),this.byteLength=_-n,x}}return new Uint8Array(0)}fill(n,...u){n&&(this.buffers.push(n),this.byteLength+=n.length);for(let _=0;_>18&63]+g[S>>12&63]+g[S>>6&63]+g[S&63]}function k(S,h,N){const q=new Array((N-h)/3);for(let ne=h,J=0;ne>16&255,q[G++]=J>>8&255,q[G++]=J&255;return N===2?(J=n[S.charCodeAt(ve)]<<2|n[S.charCodeAt(ve+1)]>>4,q[G++]=J&255):N===1&&(J=n[S.charCodeAt(ve)]<<10|n[S.charCodeAt(ve+1)]<<4|n[S.charCodeAt(ve+2)]>>2,q[G++]=J>>8&255,q[G++]=J&255),q},fromUint8Array(S){const N=S.length,q=N%3,ne=N-q,J=new Array(Math.ceil(ne/16383)+(q?1:0));let G=0,ve;for(let $e=0;$ene?ne:ve);let Ee;return q===1?(Ee=S[ne],J[G]=g[Ee>>2]+g[Ee<<4&63],u||(J[G]+="==")):q===2&&(Ee=S[ne]<<8|S[ne+1]&255,J[G]=g[Ee>>10]+g[Ee>>4&63]+g[Ee<<2&63],u||(J[G]+="=")),J.join("")}}}const xm=[],vm=[],sd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";for(let g=0,n=sd.length;g`${n}${u<16?"0":""}${u.toString(16)}`,"")}function By(g){const n=g.length;if(n%2||!/^[0-9a-fA-F]+$/.test(g))throw new TypeError("Invalid hex string.");g=g.toLowerCase();const u=new Uint8Array(Math.floor(n/2)),_=n/2;for(let x=0;x<_;++x)u[x]=parseInt(g.substr(x*2,2),16);return u}function jy(g,n="utf8"){if(/^utf-?8$/i.test(n))return Ry.decode(g);if(/^base64$/i.test(n))return Ly(g);if(/^hex(?:adecimal)?$/i.test(n))return Fy(g);throw new TypeError("Unsupported string encoding.")}function Ny(g,n="utf8"){if(/^utf-?8$/i.test(n))return Oy.encode(g);if(/^base64$/i.test(n))return Dy(g);if(/^hex(?:adecimal)?$/i.test(n))return By(g);throw new TypeError("Unsupported string encoding.")}class $f{constructor(){U(this,"hashSize",32);U(this,"_buf");U(this,"_bufIdx");U(this,"_count");U(this,"_K");U(this,"_H");U(this,"_finalized");this._buf=new Uint8Array(64),this._K=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),this.init()}init(){return this._H=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),this._bufIdx=0,this._count=new Uint32Array(2),this._buf.fill(0),this._finalized=!1,this}update(n,u){if(n===null)throw new TypeError("msg must be a string or Uint8Array.");typeof n=="string"&&(n=Ny(n,u));for(let x=0,k=n.length;x>>29,this}digest(n){if(this._finalized)throw new Error("digest has already been called.");this._finalized=!0;const u=this._buf;let _=this._bufIdx;for(u[_++]=128;_!==56;)_===64&&(this._transform(),_=0),u[_++]=0;const x=this._count;u[56]=x[1]>>>24&255,u[57]=x[1]>>>16&255,u[58]=x[1]>>>8&255,u[59]=x[1]>>>0&255,u[60]=x[0]>>>24&255,u[61]=x[0]>>>16&255,u[62]=x[0]>>>8&255,u[63]=x[0]>>>0&255,this._transform();const k=new Uint8Array(32);for(let S=0;S<8;S++)k[(S<<2)+0]=this._H[S]>>>24&255,k[(S<<2)+1]=this._H[S]>>>16&255,k[(S<<2)+2]=this._H[S]>>>8&255,k[(S<<2)+3]=this._H[S]>>>0&255;return this.init(),n?jy(k,n):k}_transform(){const n=this._H;let u=n[0],_=n[1],x=n[2],k=n[3],S=n[4],h=n[5],N=n[6],q=n[7];const ne=new Uint32Array(16);let J;for(J=0;J<16;J++)ne[J]=this._buf[(J<<2)+3]|this._buf[(J<<2)+2]<<8|this._buf[(J<<2)+1]<<16|this._buf[J<<2]<<24;for(J=0;J<64;J++){let G;if(J<16)G=ne[J];else{let ve=ne[J+1&15],Ee=ne[J+14&15];G=ne[J&15]=(ve>>>7^ve>>>18^ve>>>3^ve<<25^ve<<14)+(Ee>>>17^Ee>>>19^Ee>>>10^Ee<<15^Ee<<13)+ne[J&15]+ne[J+9&15]|0}G=G+q+(S>>>6^S>>>11^S>>>25^S<<26^S<<21^S<<7)+(N^S&(h^N))+this._K[J]|0,q=N,N=h,h=S,S=k+G,k=x,x=_,_=u,u=G+(_&x^k&(_^x))+(_>>>2^_>>>13^_>>>22^_<<30^_<<19^_<<10)|0}n[0]=n[0]+u|0,n[1]=n[1]+_|0,n[2]=n[2]+x|0,n[3]=n[3]+k|0,n[4]=n[4]+S|0,n[5]=n[5]+h|0,n[6]=n[6]+N|0,n[7]=n[7]+q|0}}class bm{constructor(n,u,_=!0){U(this,"token");U(this,"received");U(this,"ctx");U(this,"requestSubject");U(this,"mux");this.mux=n,this.requestSubject=u,this.received=0,this.token=Zo.next(),_&&(this.ctx=new Error)}}class $y extends bm{constructor(u,_,x={maxWait:1e3}){super(u,_);U(this,"callback");U(this,"done");U(this,"timer");U(this,"max");U(this,"opts");if(this.opts=x,typeof this.opts.callback!="function")throw new Error("callback is required");this.callback=this.opts.callback,this.max=typeof x.maxMessages=="number"&&x.maxMessages>0?x.maxMessages:-1,this.done=Di(),this.done.then(()=>{this.callback(null,null)}),this.timer=setTimeout(()=>{this.cancel()},x.maxWait)}cancel(u){u&&this.callback(u,null),clearTimeout(this.timer),this.mux.cancel(this),this.done.resolve()}resolver(u,_){u?(this.ctx&&(u.stack+=` + +${this.ctx.stack}`),this.cancel(u)):(this.callback(null,_),this.opts.strategy===Us.Count&&(this.max--,this.max===0&&this.cancel()),this.opts.strategy===Us.JitterTimer&&(clearTimeout(this.timer),this.timer=setTimeout(()=>{this.cancel()},this.opts.jitter||300)),this.opts.strategy===Us.SentinelMsg&&_&&_.data.length===0&&this.cancel())}}class wm extends bm{constructor(u,_,x={timeout:1e3},k=!0){super(u,_,k);U(this,"deferred");U(this,"timer");this.deferred=Di(),this.timer=Ga(x.timeout,k)}resolver(u,_){this.timer&&this.timer.cancel(),u?(this.ctx&&(u.stack+=` + +${this.ctx.stack}`),this.deferred.reject(u)):this.deferred.resolve(_),this.cancel()}cancel(u){this.timer&&this.timer.cancel(),this.mux.cancel(this),this.deferred.reject(u||ht.errorForCode(He.Cancelled))}}const Uy="$JS.API";function Vy(g){return g=g||{},g.domain&&(g.apiPrefix=`$JS.${g.domain}.API`,delete g.domain),Bh({apiPrefix:Uy,timeout:5e3},g)}class cc{constructor(n,u){U(this,"nc");U(this,"opts");U(this,"prefix");U(this,"timeout");U(this,"jc");this.nc=n,this.opts=Vy(u),this._parseOpts(),this.prefix=this.opts.apiPrefix,this.timeout=this.opts.timeout,this.jc=Vs()}getOptions(){return Object.assign({},this.opts)}_parseOpts(){let n=this.opts.apiPrefix;if(!n||n.length===0)throw new Error("invalid empty prefix");n[n.length-1]==="."&&(n=n.substr(0,n.length-1)),this.opts.apiPrefix=n}async _request(n,u=null,_){_=_||{},_.timeout=this.timeout;let x=bs;u&&(x=this.jc.encode(u));let{retries:k}=_;k=k||1,k=k===-1?Number.MAX_SAFE_INTEGER:k;const S=Md();for(let h=0;h=this.pageInfo.total)return[];const n={offset:this.offset};this.payload&&Object.assign(n,this.payload);try{const u=await this.jsm._request(this.subject,n,{timeout:this.jsm.timeout});this.pageInfo=u;const _=this.countResponse(u);return _===0?[]:(this.offset+=_,this.filter(u))}catch(u){throw this.err=u,u}}countResponse(n){var u,_,x;switch(n==null?void 0:n.type){case"io.nats.jetstream.api.v1.stream_names_response":case"io.nats.jetstream.api.v1.stream_list_response":return((u=n.streams)==null?void 0:u.length)||0;case"io.nats.jetstream.api.v1.consumer_list_response":return((_=n.consumers)==null?void 0:_.length)||0;default:return console.error(`jslister.ts: unknown API response for paged output: ${n==null?void 0:n.type}`),((x=n.streams)==null?void 0:x.length)||0}return 0}async*[Symbol.asyncIterator](){let n=await this.next();for(;n.length>0;){for(const u of n)yield u;n=await this.next()}}}function qo(g=""){const n=g.match(/(\d+).(\d+).(\d+)/);if(n)return{major:parseInt(n[1]),minor:parseInt(n[2]),micro:parseInt(n[3])};throw new Error(`'${g}' is not a semver value`)}function yd(g,n){return g.majorn.major?1:g.minorn.minor?1:g.micron.micro?1:0}var ii;(function(g){g.JS_KV="js_kv",g.JS_OBJECTSTORE="js_objectstore",g.JS_PULL_MAX_BYTES="js_pull_max_bytes",g.JS_NEW_CONSUMER_CREATE_API="js_new_consumer_create",g.JS_ALLOW_DIRECT="js_allow_direct",g.JS_MULTIPLE_CONSUMER_FILTER="js_multiple_consumer_filter",g.JS_SIMPLIFICATION="js_simplification",g.JS_STREAM_CONSUMER_METADATA="js_stream_consumer_metadata",g.JS_CONSUMER_FILTER_SUBJECTS="js_consumer_filter_subjects",g.JS_STREAM_FIRST_SEQ="js_stream_first_seq",g.JS_STREAM_SUBJECT_TRANSFORM="js_stream_subject_transform",g.JS_STREAM_SOURCE_SUBJECT_TRANSFORM="js_stream_source_subject_transform",g.JS_STREAM_COMPRESSION="js_stream_compression",g.JS_DEFAULT_CONSUMER_LIMITS="js_default_consumer_limits",g.JS_BATCH_DIRECT_GET="js_batch_direct_get"})(ii||(ii={}));class qy{constructor(n){U(this,"server");U(this,"features");U(this,"disabled");this.features=new Map,this.disabled=[],this.update(n)}resetDisabled(){this.disabled.length=0,this.update(this.server)}disable(n){this.disabled.push(n),this.update(this.server)}isDisabled(n){return this.disabled.indexOf(n)!==-1}update(n){typeof n=="string"&&(n=qo(n)),this.server=n,this.set(ii.JS_KV,"2.6.2"),this.set(ii.JS_OBJECTSTORE,"2.6.3"),this.set(ii.JS_PULL_MAX_BYTES,"2.8.3"),this.set(ii.JS_NEW_CONSUMER_CREATE_API,"2.9.0"),this.set(ii.JS_ALLOW_DIRECT,"2.9.0"),this.set(ii.JS_MULTIPLE_CONSUMER_FILTER,"2.10.0"),this.set(ii.JS_SIMPLIFICATION,"2.9.4"),this.set(ii.JS_STREAM_CONSUMER_METADATA,"2.10.0"),this.set(ii.JS_CONSUMER_FILTER_SUBJECTS,"2.10.0"),this.set(ii.JS_STREAM_FIRST_SEQ,"2.10.0"),this.set(ii.JS_STREAM_SUBJECT_TRANSFORM,"2.10.0"),this.set(ii.JS_STREAM_SOURCE_SUBJECT_TRANSFORM,"2.10.0"),this.set(ii.JS_STREAM_COMPRESSION,"2.10.0"),this.set(ii.JS_DEFAULT_CONSUMER_LIMITS,"2.10.0"),this.set(ii.JS_BATCH_DIRECT_GET,"2.11.0"),this.disabled.forEach(u=>{this.features.delete(u)})}set(n,u){this.features.set(n,{min:u,ok:yd(this.server,qo(u))>=0})}get(n){return this.features.get(n)||{min:"unknown",ok:!1}}supports(n){var u;return((u=this.get(n))==null?void 0:u.ok)||!1}require(n){return typeof n=="string"&&(n=qo(n)),yd(this.server,n)>=0}}class Rd extends cc{constructor(n,u){super(n,u)}async add(n,u,_=zh.Create){if(Vr(n),u.deliver_group&&u.flow_control)throw new Error("jetstream flow control is not supported with queue groups");if(u.deliver_group&&u.idle_heartbeat)throw new Error("jetstream idle heartbeat is not supported with queue groups");const x={};x.config=u,x.stream_name=n,x.action=_,x.config.durable_name&&Ua(x.config.durable_name);const k=this.nc;let{min:S,ok:h}=k.features.get(ii.JS_NEW_CONSUMER_CREATE_API);const N=u.name===""?void 0:u.name;if(N&&!h)throw new Error(`consumer 'name' requires server ${S}`);if(N)try{jh("name",N)}catch(G){const ve=G.message,Ee=ve.indexOf("cannot contain");throw Ee!==-1?new Error(`consumer 'name' ${ve.substring(Ee)}`):G}let q,ne="";if(Array.isArray(u.filter_subjects)){const{min:G,ok:ve}=k.features.get(ii.JS_MULTIPLE_CONSUMER_FILTER);if(!ve)throw new Error(`consumer 'filter_subjects' requires server ${G}`);h=!1}if(u.metadata){const{min:G,ok:ve}=k.features.get(ii.JS_STREAM_CONSUMER_METADATA);if(!ve)throw new Error(`consumer 'metadata' requires server ${G}`)}if(h&&(ne=u.name??u.durable_name??""),ne!==""){let G=u.filter_subject??void 0;G===">"&&(G=void 0),q=G!==void 0?`${this.prefix}.CONSUMER.CREATE.${n}.${ne}.${G}`:`${this.prefix}.CONSUMER.CREATE.${n}.${ne}`}else q=u.durable_name?`${this.prefix}.CONSUMER.DURABLE.CREATE.${n}.${u.durable_name}`:`${this.prefix}.CONSUMER.CREATE.${n}`;return await this._request(q,x)}async update(n,u,_){const x=await this.info(n,u),k=_;return this.add(n,Object.assign(x.config,k),zh.Update)}async info(n,u){return Vr(n),Ua(u),await this._request(`${this.prefix}.CONSUMER.INFO.${n}.${u}`)}async delete(n,u){return Vr(n),Ua(u),(await this._request(`${this.prefix}.CONSUMER.DELETE.${n}.${u}`)).success}list(n){Vr(n);const u=x=>x.consumers,_=`${this.prefix}.CONSUMER.LIST.${n}`;return new Yl(_,u,this)}pause(n,u,_){const x=`${this.prefix}.CONSUMER.PAUSE.${n}.${u}`,k={pause_until:_.toISOString()};return this._request(x,k)}resume(n,u){return this.pause(n,u,new Date(0))}}function Ba(g,n,u=!1){if(u===!0&&!g)throw ht.errorForCode(He.ApiError,new Error(`${n} is not a function`));if(g&&typeof g!="function")throw ht.errorForCode(He.ApiError,new Error(`${n} is not a function`))}class Gy extends hr{constructor(u,_,x){super();U(this,"sub");U(this,"adapter");U(this,"subIterDone");Ba(x.adapter,"adapter",!0),this.adapter=x.adapter,x.callback&&Ba(x.callback,"callback"),this.noIterator=typeof x.callback=="function",x.ingestionFilterFn&&(Ba(x.ingestionFilterFn,"ingestionFilterFn"),this.ingestionFilterFn=x.ingestionFilterFn),x.protocolFilterFn&&(Ba(x.protocolFilterFn,"protocolFilterFn"),this.protocolFilterFn=x.protocolFilterFn),x.dispatchedFn&&(Ba(x.dispatchedFn,"dispatchedFn"),this.dispatchedFn=x.dispatchedFn),x.cleanupFn&&Ba(x.cleanupFn,"cleanupFn");let k=(ne,J)=>{this.callback(ne,J)};if(x.callback){const ne=x.callback;k=(J,G)=>{const[ve,Ee]=this.adapter(J,G);if(ve){ne(ve,null);return}const{ingest:$e}=this.ingestionFilterFn?this.ingestionFilterFn(Ee,this):{ingest:!0};$e&&(!this.protocolFilterFn||this.protocolFilterFn(Ee))&&(ne(ve,Ee),this.dispatchedFn&&Ee&&this.dispatchedFn(Ee))}}const{max:S,queue:h,timeout:N}=x,q={queue:h,timeout:N,callback:k};S&&S>0&&(q.max=S),this.sub=u.subscribe(_,q),x.cleanupFn&&(this.sub.cleanupFn=x.cleanupFn),this.noIterator||this.iterClosed.then(()=>{this.unsubscribe()}),this.subIterDone=Di(),Promise.all([this.sub.closed,this.iterClosed]).then(()=>{this.subIterDone.resolve()}).catch(()=>{this.subIterDone.resolve()}),(async ne=>{await ne.closed,this.stop()})(this.sub).then().catch()}unsubscribe(u){this.sub.unsubscribe(u)}drain(){return this.sub.drain()}isDraining(){return this.sub.isDraining()}isClosed(){return this.sub.isClosed()}callback(u,_){this.sub.cancelTimeout();const[x,k]=this.adapter(u,_);x&&this.stop(x),k&&this.push(k)}getSubject(){return this.sub.getSubject()}getReceived(){return this.sub.getReceived()}getProcessed(){return this.sub.getProcessed()}getPending(){return this.sub.getPending()}getID(){return this.sub.getID()}getMax(){return this.sub.getMax()}get closed(){return this.sub.closed}}let vs;function Hy(g){vs=g}function Sm(){return vs!==void 0&&vs.defaultPort!==void 0?vs.defaultPort:4222}function nd(){return vs!==void 0&&vs.urlParseFn?vs.urlParseFn:void 0}function Zy(){if(!vs||typeof vs.factory!="function")throw new Error("transport fn is not set");return vs.factory()}function xd(){return vs!==void 0&&vs.dnsResolveFn?vs.dnsResolveFn:void 0}const Th=`\r +`,Dh=Za.fromAscii(Th),Wy=new Uint8Array(Dh)[0],Xy=new Uint8Array(Dh)[1];function Jy(g){for(let n=0;nu&&g[n]===Wy&&g[u]===Xy)return u+1}return 0}function Ky(g){const n=Jy(g);if(n>0){const _=new Uint8Array(g).slice(0,n);return xs.decode(_)}return""}const Yy=4,Im=48,Qy=65,e0=97;function t0(g,n,u,_){const x=new Uint8Array(16);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((S,h)=>{x[h]=S}),x[12]=g,x[13]=n,x[14]=u,x[15]=_,x}function vd(g){return i0(g)!==void 0}function i0(g){for(let n=0;n0){if(g[0]!==".")return;g=g.substring(1)}const{n:_,c:x,ok:k}=s0(g);if(!k||_>255)return;g=g.substring(x),n[u]=_}return t0(n[0],n[1],n[2],n[3])}function r0(g){const n=new Uint8Array(16);let u=-1;if(g.length>=2&&g[0]===":"&&g[1]===":"&&(u=0,g=g.substring(2),g.length===0))return n;let _=0;for(;_<16;){const{n:x,c:k,ok:S}=n0(g);if(!S||x>65535)return;if(k16)return;const h=Tm(g);if(h===void 0)return;n[_]=h[12],n[_+1]=h[13],n[_+2]=h[14],n[_+3]=h[15],g="",_+=Yy;break}if(n[_]=x>>8,n[_+1]=x,_+=2,g=g.substring(k),g.length===0)break;if(g[0]!==":"||g.length==1)return;if(g=g.substring(1),g[0]===":"){if(u>=0)return;if(u=_,g=g.substring(1),g.length===0)break}}if(g.length===0){if(_<16){if(u<0)return;const x=16-_;for(let k=_-1;k>=u;k--)n[k+x]=n[k];for(let k=u+x-1;k>=u;k--)n[k]=0}else if(u>=0)return;return n}}function s0(g){let n=0,u=0;for(n=0;n=16777215)return{n:16777215,c:n,ok:!1};return n===0?{n:0,c:0,ok:!1}:{n:u,c:n,ok:!0}}function n0(g){let n=0,u=0;for(u=0;u=16777215)return{n:0,c:u,ok:!1}}return u===0?{n:0,c:u,ok:!1}:{n,c:u,ok:!0}}function o0(g){return g.indexOf("[")!==-1||g.indexOf("::")!==-1?!1:g.indexOf(".")!==-1||g.split(":").length<=2}function bd(g){return!o0(g)}function a0(g){const n="::FFFF:",u=g.toUpperCase().indexOf(n);if(u!==-1&&g.indexOf(".")!==-1){let _=g.substring(u+n.length);return _=_.replace("[",""),_.replace("]","")}return g}function l0(g){g=g.trim(),g.match(/^(.*:\/\/)(.*)/m)&&(g=g.replace(/^(.*:\/\/)(.*)/gm,"$2")),g=a0(g),bd(g)&&g.indexOf("[")===-1&&(g=`[${g}]`);const n=bd(g)?g.match(/(]:)(\d+)/):g.match(/(:)(\d+)/),u=n&&n.length===3&&n[1]&&n[2]?parseInt(n[2]):4222,_=u===80?"https":"http",x=new URL(`${_}://${g}`);x.port=`${u}`;let k=x.hostname;return k.charAt(0)==="["&&(k=k.substring(1,k.length-1)),{listen:x.host,hostname:k,port:u}}class ic{constructor(n,u=!1){U(this,"src");U(this,"listen");U(this,"hostname");U(this,"port");U(this,"didConnect");U(this,"reconnects");U(this,"lastConnect");U(this,"gossiped");U(this,"tlsName");U(this,"resolves");this.src=n,this.tlsName="";const _=l0(n);this.listen=_.listen,this.hostname=_.hostname,this.port=_.port,this.didConnect=!1,this.reconnects=0,this.lastConnect=0,this.gossiped=u}toString(){return this.listen}async resolve(n){if(!n.fn||n.resolve===!1)return[this];const u=[];if(vd(this.hostname))return[this];{const _=await n.fn(this.hostname);n.debug&&console.log(`resolve ${this.hostname} = ${_.join(",")}`);for(const x of _){const k=this.port===80?"https":"http",S=new URL(`${k}://${bd(x)?"["+x+"]":x}`);S.port=`${this.port}`;const h=new ic(S.host,!1);h.tlsName=this.hostname,u.push(h)}}return n.randomize&&_m(u),this.resolves=u,u}}class c0{constructor(n=[],u={}){U(this,"firstSelect");U(this,"servers");U(this,"currentServer");U(this,"tlsName");U(this,"randomize");this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=u.randomize||!1;const _=nd();n&&(n.forEach(x=>{x=_?_(x):x,this.servers.push(new ic(x))}),this.randomize&&(this.servers=_m(this.servers))),this.servers.length===0&&this.addServer(`${dd}:${Sm()}`,!1),this.currentServer=this.servers[0]}clear(){this.servers.length=0}updateTLSName(){const n=this.getCurrentServer();vd(n.hostname)||(this.tlsName=n.hostname,this.servers.forEach(u=>{u.gossiped&&(u.tlsName=this.tlsName)}))}getCurrentServer(){return this.currentServer}addServer(n,u=!1){const _=nd();n=_?_(n):n;const x=new ic(n,u);vd(x.hostname)&&(x.tlsName=this.tlsName),this.servers.push(x)}selectServer(){if(this.firstSelect)return this.firstSelect=!1,this.currentServer;const n=this.servers.shift();return n&&(this.servers.push(n),this.currentServer=n),n}removeCurrentServer(){this.removeServer(this.currentServer)}removeServer(n){if(n){const u=this.servers.indexOf(n);this.servers.splice(u,1)}}length(){return this.servers.length}next(){return this.servers.length?this.servers[0]:void 0}getServers(){return this.servers}update(n,u){const _=[];let x=[];const k=nd(),S=new Map;n.connect_urls&&n.connect_urls.length>0&&n.connect_urls.forEach(N=>{N=k?k(N,u):N;const q=new ic(N,!0);S.set(N,q)});const h=[];return this.servers.forEach((N,q)=>{const ne=N.listen;N.gossiped&&this.currentServer.listen!==ne&&S.get(ne)===void 0&&h.push(q),S.delete(ne)}),h.reverse(),h.forEach(N=>{const q=this.servers.splice(N,1);x=x.concat(q[0].listen)}),S.forEach((N,q)=>{this.servers.push(N),_.push(q)}),{added:_,deleted:x}}}class h0{constructor(){U(this,"baseInbox");U(this,"reqs");this.reqs=new Map}size(){return this.reqs.size}init(n){return this.baseInbox=`${nn(n)}.`,this.baseInbox}add(n){isNaN(n.received)||(n.received=0),this.reqs.set(n.token,n)}get(n){return this.reqs.get(n)}cancel(n){this.reqs.delete(n.token)}getToken(n){const u=n.subject||"";return u.indexOf(this.baseInbox)===0?u.substring(this.baseInbox.length):null}all(){return Array.from(this.reqs.values())}handleError(n,u){if(u&&u.permissionContext){if(n)return this.all().forEach(x=>{x.resolver(u,{})}),!0;const _=u.permissionContext;if(_.operation==="publish"){const x=this.all().find(k=>k.requestSubject===_.subject);if(x)return x.resolver(u,{}),!0}}return!1}dispatcher(){return(n,u)=>{const _=this.getToken(u);if(_){const x=this.get(_);x&&(n===null&&u.headers&&(n=gm(u)),x.resolver(n,u))}}}close(){const n=ht.errorForCode(He.Timeout);this.reqs.forEach(u=>{u.resolver(n,{})})}}class u0{constructor(n,u,_){U(this,"ph");U(this,"interval");U(this,"maxOut");U(this,"timer");U(this,"pendings");this.ph=n,this.interval=u,this.maxOut=_,this.pendings=[]}start(){this.cancel(),this._schedule()}cancel(n){this.timer&&(clearTimeout(this.timer),this.timer=void 0),this._reset(),n&&this.ph.disconnect()}_schedule(){this.timer=setTimeout(()=>{if(this.ph.dispatchStatus({type:$a.PingTimer,data:`${this.pendings.length+1}`}),this.pendings.length===this.maxOut){this.cancel(!0);return}const n=Di();this.ph.flush(n).then(()=>{this._reset()}).catch(()=>{this.cancel()}),this.pendings.push(n),this._schedule()},this.interval)}_reset(){this.pendings=this.pendings.filter(n=>(n.resolve(),!1))}}class d0 extends Error{constructor(n){super(n),this.name="AssertionError"}}function p0(g,n="Assertion failed."){if(!g)throw new d0(n)}const Uf=32*1024,od=2**32-2;function xh(g,n,u=0){const _=n.byteLength-u;return g.byteLength>_&&(g=g.subarray(0,_)),n.set(g,u),g.byteLength}class ad{constructor(n){U(this,"_buf");U(this,"_off");if(this._off=0,n==null){this._buf=new Uint8Array(0);return}this._buf=new Uint8Array(n)}bytes(n={copy:!0}){return n.copy===!1?this._buf.subarray(this._off):this._buf.slice(this._off)}empty(){return this._buf.byteLength<=this._off}get length(){return this._buf.byteLength-this._off}get capacity(){return this._buf.buffer.byteLength}truncate(n){if(n===0){this.reset();return}if(n<0||n>this.length)throw Error("bytes.Buffer: truncation out of range");this._reslice(this._off+n)}reset(){this._reslice(0),this._off=0}_tryGrowByReslice(n){const u=this._buf.byteLength;return n<=this.capacity-u?(this._reslice(u+n),u):-1}_reslice(n){p0(n<=this._buf.buffer.byteLength),this._buf=new Uint8Array(this._buf.buffer,0,n)}readByte(){const n=new Uint8Array(1);return this.read(n)?n[0]:null}read(n){if(this.empty())return this.reset(),n.byteLength===0?0:null;const u=xh(this._buf.subarray(this._off),n);return this._off+=u,u}writeByte(n){return this.write(Uint8Array.of(n))}writeString(n){return this.write(Ho.encode(n))}write(n){const u=this._grow(n.byteLength);return xh(n,this._buf,u)}_grow(n){const u=this.length;u===0&&this._off!==0&&this.reset();const _=this._tryGrowByReslice(n);if(_>=0)return _;const x=this.capacity;if(n<=Math.floor(x/2)-u)xh(this._buf.subarray(this._off),this._buf);else{if(x+n>od)throw new Error("The buffer cannot be grown beyond the maximum size.");{const k=new Uint8Array(Math.min(2*x+n,od));xh(this._buf.subarray(this._off),k),this._buf=k}}return this._off=0,this._reslice(Math.min(u+n,od)),u}grow(n){if(n<0)throw Error("Buffer._grow: negative count");const u=this._grow(n);this._reslice(u)}readFrom(n){let u=0;const _=new Uint8Array(Uf);for(;;){const x=this.capacity-this.length=this.ma.size){const x=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:qr.MSG,msg:this.ma,data:x}),this.argBuf=void 0,this.msgBuf=void 0,this.state=et.MSG_END}else{let x=this.ma.size-this.msgBuf.length;const k=n.length-u;k0?(this.msgBuf.write(n.subarray(u,u+x)),u=u+x-1):this.msgBuf.writeByte(_)}else u-this.as>=this.ma.size&&(this.dispatcher.push({kind:qr.MSG,msg:this.ma,data:n.subarray(this.as,u)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=et.MSG_END);break;case et.MSG_END:switch(_){case tt.NL:this.drop=0,this.as=u+1,this.state=et.OP_START;break;default:continue}break;case et.OP_PLUS:switch(_){case tt.O:case tt.o:this.state=et.OP_PLUS_O;break;default:throw this.fail(n.subarray(u))}break;case et.OP_PLUS_O:switch(_){case tt.K:case tt.k:this.state=et.OP_PLUS_OK;break;default:throw this.fail(n.subarray(u))}break;case et.OP_PLUS_OK:switch(_){case tt.NL:this.dispatcher.push({kind:qr.OK}),this.drop=0,this.state=et.OP_START;break}break;case et.OP_MINUS:switch(_){case tt.E:case tt.e:this.state=et.OP_MINUS_E;break;default:throw this.fail(n.subarray(u))}break;case et.OP_MINUS_E:switch(_){case tt.R:case tt.r:this.state=et.OP_MINUS_ER;break;default:throw this.fail(n.subarray(u))}break;case et.OP_MINUS_ER:switch(_){case tt.R:case tt.r:this.state=et.OP_MINUS_ERR;break;default:throw this.fail(n.subarray(u))}break;case et.OP_MINUS_ERR:switch(_){case tt.SPACE:case tt.TAB:this.state=et.OP_MINUS_ERR_SPC;break;default:throw this.fail(n.subarray(u))}break;case et.OP_MINUS_ERR_SPC:switch(_){case tt.SPACE:case tt.TAB:continue;default:this.state=et.MINUS_ERR_ARG,this.as=u}break;case et.MINUS_ERR_ARG:switch(_){case tt.CR:this.drop=1;break;case tt.NL:{let x;this.argBuf?(x=this.argBuf.bytes(),this.argBuf=void 0):x=n.subarray(this.as,u-this.drop),this.dispatcher.push({kind:qr.ERR,data:x}),this.drop=0,this.as=u+1,this.state=et.OP_START;break}default:this.argBuf&&this.argBuf.write(Uint8Array.of(_))}break;case et.OP_P:switch(_){case tt.I:case tt.i:this.state=et.OP_PI;break;case tt.O:case tt.o:this.state=et.OP_PO;break;default:throw this.fail(n.subarray(u))}break;case et.OP_PO:switch(_){case tt.N:case tt.n:this.state=et.OP_PON;break;default:throw this.fail(n.subarray(u))}break;case et.OP_PON:switch(_){case tt.G:case tt.g:this.state=et.OP_PONG;break;default:throw this.fail(n.subarray(u))}break;case et.OP_PONG:switch(_){case tt.NL:this.dispatcher.push({kind:qr.PONG}),this.drop=0,this.state=et.OP_START;break}break;case et.OP_PI:switch(_){case tt.N:case tt.n:this.state=et.OP_PIN;break;default:throw this.fail(n.subarray(u))}break;case et.OP_PIN:switch(_){case tt.G:case tt.g:this.state=et.OP_PING;break;default:throw this.fail(n.subarray(u))}break;case et.OP_PING:switch(_){case tt.NL:this.dispatcher.push({kind:qr.PING}),this.drop=0,this.state=et.OP_START;break}break;case et.OP_I:switch(_){case tt.N:case tt.n:this.state=et.OP_IN;break;default:throw this.fail(n.subarray(u))}break;case et.OP_IN:switch(_){case tt.F:case tt.f:this.state=et.OP_INF;break;default:throw this.fail(n.subarray(u))}break;case et.OP_INF:switch(_){case tt.O:case tt.o:this.state=et.OP_INFO;break;default:throw this.fail(n.subarray(u))}break;case et.OP_INFO:switch(_){case tt.SPACE:case tt.TAB:this.state=et.OP_INFO_SPC;break;default:throw this.fail(n.subarray(u))}break;case et.OP_INFO_SPC:switch(_){case tt.SPACE:case tt.TAB:continue;default:this.state=et.INFO_ARG,this.as=u}break;case et.INFO_ARG:switch(_){case tt.CR:this.drop=1;break;case tt.NL:{let x;this.argBuf?(x=this.argBuf.bytes(),this.argBuf=void 0):x=n.subarray(this.as,u-this.drop),this.dispatcher.push({kind:qr.INFO,data:x}),this.drop=0,this.as=u+1,this.state=et.OP_START;break}default:this.argBuf&&this.argBuf.writeByte(_)}break;default:throw this.fail(n.subarray(u))}}(this.state===et.MSG_ARG||this.state===et.MINUS_ERR_ARG||this.state===et.INFO_ARG)&&!this.argBuf&&(this.argBuf=new ad(n.subarray(this.as,u-this.drop))),this.state===et.MSG_PAYLOAD&&!this.msgBuf&&(this.argBuf||this.cloneMsgArg(),this.msgBuf=new ad(n.subarray(this.as)))}cloneMsgArg(){const n=this.ma.subject.length,u=this.ma.reply?this.ma.reply.length:0,_=new Uint8Array(n+u);_.set(this.ma.subject),this.ma.reply&&_.set(this.ma.reply,n),this.argBuf=new ad(_),this.ma.subject=_.subarray(0,n),this.ma.reply&&(this.ma.reply=_.subarray(n))}processMsgArgs(n){if(this.hdr>=0)return this.processHeaderMsgArgs(n);const u=[];let _=-1;for(let x=0;x=0&&(u.push(n.subarray(_,x)),_=-1);break;default:_<0&&(_=x)}switch(_>=0&&u.push(n.subarray(_)),u.length){case 3:this.ma.subject=u[0],this.ma.sid=this.protoParseInt(u[1]),this.ma.reply=void 0,this.ma.size=this.protoParseInt(u[2]);break;case 4:this.ma.subject=u[0],this.ma.sid=this.protoParseInt(u[1]),this.ma.reply=u[2],this.ma.size=this.protoParseInt(u[3]);break;default:throw this.fail(n,"processMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail(n,"processMsgArgs Bad or Missing Sid Error");if(this.ma.size<0)throw this.fail(n,"processMsgArgs Bad or Missing Size Error")}fail(n,u=""){return u?u=`${u} [${this.state}]`:u=`parse error [${this.state}]`,new Error(`${u}: ${xs.decode(n)}`)}processHeaderMsgArgs(n){const u=[];let _=-1;for(let x=0;x=0&&(u.push(n.subarray(_,x)),_=-1);break;default:_<0&&(_=x)}switch(_>=0&&u.push(n.subarray(_)),u.length){case 4:this.ma.subject=u[0],this.ma.sid=this.protoParseInt(u[1]),this.ma.reply=void 0,this.ma.hdr=this.protoParseInt(u[2]),this.ma.size=this.protoParseInt(u[3]);break;case 5:this.ma.subject=u[0],this.ma.sid=this.protoParseInt(u[1]),this.ma.reply=u[2],this.ma.hdr=this.protoParseInt(u[3]),this.ma.size=this.protoParseInt(u[4]);break;default:throw this.fail(n,"processHeaderMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail(n,"processHeaderMsgArgs Bad or Missing Sid Error");if(this.ma.hdr<0||this.ma.hdr>this.ma.size)throw this.fail(n,"processHeaderMsgArgs Bad or Missing Header Size Error");if(this.ma.size<0)throw this.fail(n,"processHeaderMsgArgs Bad or Missing Size Error")}protoParseInt(n){if(n.length===0)return-1;let u=0;for(let _=0;_57)return-1;u=u*10+(n[_]-f0)}return u}}var et;(function(g){g[g.OP_START=0]="OP_START",g[g.OP_PLUS=1]="OP_PLUS",g[g.OP_PLUS_O=2]="OP_PLUS_O",g[g.OP_PLUS_OK=3]="OP_PLUS_OK",g[g.OP_MINUS=4]="OP_MINUS",g[g.OP_MINUS_E=5]="OP_MINUS_E",g[g.OP_MINUS_ER=6]="OP_MINUS_ER",g[g.OP_MINUS_ERR=7]="OP_MINUS_ERR",g[g.OP_MINUS_ERR_SPC=8]="OP_MINUS_ERR_SPC",g[g.MINUS_ERR_ARG=9]="MINUS_ERR_ARG",g[g.OP_M=10]="OP_M",g[g.OP_MS=11]="OP_MS",g[g.OP_MSG=12]="OP_MSG",g[g.OP_MSG_SPC=13]="OP_MSG_SPC",g[g.MSG_ARG=14]="MSG_ARG",g[g.MSG_PAYLOAD=15]="MSG_PAYLOAD",g[g.MSG_END=16]="MSG_END",g[g.OP_H=17]="OP_H",g[g.OP_P=18]="OP_P",g[g.OP_PI=19]="OP_PI",g[g.OP_PIN=20]="OP_PIN",g[g.OP_PING=21]="OP_PING",g[g.OP_PO=22]="OP_PO",g[g.OP_PON=23]="OP_PON",g[g.OP_PONG=24]="OP_PONG",g[g.OP_I=25]="OP_I",g[g.OP_IN=26]="OP_IN",g[g.OP_INF=27]="OP_INF",g[g.OP_INFO=28]="OP_INFO",g[g.OP_INFO_SPC=29]="OP_INFO_SPC",g[g.INFO_ARG=30]="INFO_ARG"})(et||(et={}));var tt;(function(g){g[g.CR=13]="CR",g[g.E=69]="E",g[g.e=101]="e",g[g.F=70]="F",g[g.f=102]="f",g[g.G=71]="G",g[g.g=103]="g",g[g.H=72]="H",g[g.h=104]="h",g[g.I=73]="I",g[g.i=105]="i",g[g.K=75]="K",g[g.k=107]="k",g[g.M=77]="M",g[g.m=109]="m",g[g.MINUS=45]="MINUS",g[g.N=78]="N",g[g.n=110]="n",g[g.NL=10]="NL",g[g.O=79]="O",g[g.o=111]="o",g[g.P=80]="P",g[g.p=112]="p",g[g.PLUS=43]="PLUS",g[g.R=82]="R",g[g.r=114]="r",g[g.S=83]="S",g[g.s=115]="s",g[g.SPACE=32]="SPACE",g[g.TAB=9]="TAB"})(tt||(tt={}));(function(g){var n=function(B,W){this.hi=B|0,this.lo=W|0},u=function(B){var W,Z=new Float64Array(16);if(B)for(W=0;W>>32-W}function $e(B,W){var Z=B[W+3]&255;return Z=Z<<8|B[W+2]&255,Z=Z<<8|B[W+1]&255,Z<<8|B[W+0]&255}function _t(B,W){var Z=B[W]<<24|B[W+1]<<16|B[W+2]<<8|B[W+3],X=B[W+4]<<24|B[W+5]<<16|B[W+6]<<8|B[W+7];return new n(Z,X)}function Tt(B,W,Z){var X;for(X=0;X<4;X++)B[W+X]=Z&255,Z>>>=8}function xt(B,W,Z){B[W]=Z.hi>>24&255,B[W+1]=Z.hi>>16&255,B[W+2]=Z.hi>>8&255,B[W+3]=Z.hi&255,B[W+4]=Z.lo>>24&255,B[W+5]=Z.lo>>16&255,B[W+6]=Z.lo>>8&255,B[W+7]=Z.lo&255}function Ct(B,W,Z,X,de){var ge,Ae=0;for(ge=0;ge>>8)-1}function Li(B,W,Z,X){return Ct(B,W,Z,X,16)}function Yt(B,W,Z,X){return Ct(B,W,Z,X,32)}function Vt(B,W,Z,X,de){var ge=new Uint32Array(16),Ae=new Uint32Array(16),Me=new Uint32Array(16),Ie=new Uint32Array(4),Te,Ke,Rt;for(Te=0;Te<4;Te++)Ae[5*Te]=$e(X,4*Te),Ae[1+Te]=$e(Z,4*Te),Ae[6+Te]=$e(W,4*Te),Ae[11+Te]=$e(Z,16+4*Te);for(Te=0;Te<16;Te++)Me[Te]=Ae[Te];for(Te=0;Te<20;Te++){for(Ke=0;Ke<4;Ke++){for(Rt=0;Rt<4;Rt++)Ie[Rt]=Ae[(5*Ke+4*Rt)%16];for(Ie[1]^=Ee(Ie[0]+Ie[3]|0,7),Ie[2]^=Ee(Ie[1]+Ie[0]|0,9),Ie[3]^=Ee(Ie[2]+Ie[1]|0,13),Ie[0]^=Ee(Ie[3]+Ie[2]|0,18),Rt=0;Rt<4;Rt++)ge[4*Ke+(Ke+Rt)%4]=Ie[Rt]}for(Rt=0;Rt<16;Rt++)Ae[Rt]=ge[Rt]}if(de){for(Te=0;Te<16;Te++)Ae[Te]=Ae[Te]+Me[Te]|0;for(Te=0;Te<4;Te++)Ae[5*Te]=Ae[5*Te]-$e(X,4*Te)|0,Ae[6+Te]=Ae[6+Te]-$e(W,4*Te)|0;for(Te=0;Te<4;Te++)Tt(B,4*Te,Ae[5*Te]),Tt(B,16+4*Te,Ae[6+Te])}else for(Te=0;Te<16;Te++)Tt(B,4*Te,Ae[Te]+Me[Te]|0)}function yt(B,W,Z,X){return Vt(B,W,Z,X,!1),0}function ri(B,W,Z,X){return Vt(B,W,Z,X,!0),0}var Bt=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function ji(B,W,Z,X,de,ge,Ae){var Me=new Uint8Array(16),Ie=new Uint8Array(64),Te,Ke;if(!de)return 0;for(Ke=0;Ke<16;Ke++)Me[Ke]=0;for(Ke=0;Ke<8;Ke++)Me[Ke]=ge[Ke];for(;de>=64;){for(yt(Ie,Me,Ae,Bt),Ke=0;Ke<64;Ke++)B[W+Ke]=(Z?Z[X+Ke]:0)^Ie[Ke];for(Te=1,Ke=8;Ke<16;Ke++)Te=Te+(Me[Ke]&255)|0,Me[Ke]=Te&255,Te>>>=8;de-=64,W+=64,Z&&(X+=64)}if(de>0)for(yt(Ie,Me,Ae,Bt),Ke=0;Ke>>=8}var Ut=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function ni(B,W,Z,X,de,ge){var Ae,Me,Ie,Te,Ke=new Uint32Array(17),Rt=new Uint32Array(17),Qt=new Uint32Array(17),Jt=new Uint32Array(17),Xr=new Uint32Array(17);for(Ie=0;Ie<17;Ie++)Rt[Ie]=Qt[Ie]=0;for(Ie=0;Ie<16;Ie++)Rt[Ie]=ge[Ie];for(Rt[3]&=15,Rt[4]&=252,Rt[7]&=15,Rt[8]&=252,Rt[11]&=15,Rt[12]&=252,Rt[15]&=15;de>0;){for(Ie=0;Ie<17;Ie++)Jt[Ie]=0;for(Ie=0;Ie<16&&Ie>>=8;for(Te=Te+Qt[16]|0,Qt[16]=Te&3,Te=5*(Te>>>2)|0,Ie=0;Ie<16;Ie++)Te=Te+Qt[Ie]|0,Qt[Ie]=Te&255,Te>>>=8;Te=Te+Qt[16]|0,Qt[16]=Te}for(Ie=0;Ie<17;Ie++)Xr[Ie]=Qt[Ie];for(De(Qt,Ut),Ae=-(Qt[16]>>>7)|0,Ie=0;Ie<17;Ie++)Qt[Ie]^=Ae&(Xr[Ie]^Qt[Ie]);for(Ie=0;Ie<16;Ie++)Jt[Ie]=ge[Ie+16];for(Jt[16]=0,De(Qt,Jt),Ie=0;Ie<16;Ie++)B[W+Ie]=Qt[Ie];return 0}function oi(B,W,Z,X,de,ge){var Ae=new Uint8Array(16);return ni(Ae,0,Z,X,de,ge),Li(B,W,Ae,0)}function ws(B,W,Z,X,de){var ge;if(Z<32)return-1;for(pi(B,0,W,0,Z,X,de),ni(B,16,B,32,Z-32,B),ge=0;ge<16;ge++)B[ge]=0;return 0}function Ni(B,W,Z,X,de){var ge,Ae=new Uint8Array(32);if(Z<32||(kt(Ae,0,32,X,de),oi(W,16,W,32,Z-32,Ae)!==0))return-1;for(pi(B,0,W,0,Z,X,de),ge=0;ge<32;ge++)B[ge]=0;return 0}function si(B,W){var Z;for(Z=0;Z<16;Z++)B[Z]=W[Z]|0}function gi(B){var W,Z;for(Z=0;Z<16;Z++)B[Z]+=65536,W=Math.floor(B[Z]/65536),B[(Z+1)*(Z<15?1:0)]+=W-1+37*(W-1)*(Z===15?1:0),B[Z]-=W*65536}function Zi(B,W,Z){for(var X,de=~(Z-1),ge=0;ge<16;ge++)X=de&(B[ge]^W[ge]),B[ge]^=X,W[ge]^=X}function Dr(B,W){var Z,X,de,ge=u(),Ae=u();for(Z=0;Z<16;Z++)Ae[Z]=W[Z];for(gi(Ae),gi(Ae),gi(Ae),X=0;X<2;X++){for(ge[0]=Ae[0]-65517,Z=1;Z<15;Z++)ge[Z]=Ae[Z]-65535-(ge[Z-1]>>16&1),ge[Z-1]&=65535;ge[15]=Ae[15]-32767-(ge[14]>>16&1),de=ge[15]>>16&1,ge[14]&=65535,Zi(Ae,ge,1-de)}for(Z=0;Z<16;Z++)B[2*Z]=Ae[Z]&255,B[2*Z+1]=Ae[Z]>>8}function Yr(B,W){var Z=new Uint8Array(32),X=new Uint8Array(32);return Dr(Z,B),Dr(X,W),Yt(Z,0,X,0)}function Lr(B){var W=new Uint8Array(32);return Dr(W,B),W[0]&1}function Ss(B,W){var Z;for(Z=0;Z<16;Z++)B[Z]=W[2*Z]+(W[2*Z+1]<<8);B[15]&=32767}function wi(B,W,Z){var X;for(X=0;X<16;X++)B[X]=W[X]+Z[X]|0}function ki(B,W,Z){var X;for(X=0;X<16;X++)B[X]=W[X]-Z[X]|0}function Mt(B,W,Z){var X,de,ge=new Float64Array(31);for(X=0;X<31;X++)ge[X]=0;for(X=0;X<16;X++)for(de=0;de<16;de++)ge[X+de]+=W[X]*Z[de];for(X=0;X<15;X++)ge[X]+=38*ge[X+16];for(X=0;X<16;X++)B[X]=ge[X];gi(B),gi(B)}function $i(B,W){Mt(B,W,W)}function Gs(B,W){var Z=u(),X;for(X=0;X<16;X++)Z[X]=W[X];for(X=253;X>=0;X--)$i(Z,Z),X!==2&&X!==4&&Mt(Z,Z,W);for(X=0;X<16;X++)B[X]=Z[X]}function Hr(B,W){var Z=u(),X;for(X=0;X<16;X++)Z[X]=W[X];for(X=250;X>=0;X--)$i(Z,Z),X!==1&&Mt(Z,Z,W);for(X=0;X<16;X++)B[X]=Z[X]}function Rr(B,W,Z){var X=new Uint8Array(32),de=new Float64Array(80),ge,Ae,Me=u(),Ie=u(),Te=u(),Ke=u(),Rt=u(),Qt=u();for(Ae=0;Ae<31;Ae++)X[Ae]=W[Ae];for(X[31]=W[31]&127|64,X[0]&=248,Ss(de,Z),Ae=0;Ae<16;Ae++)Ie[Ae]=de[Ae],Ke[Ae]=Me[Ae]=Te[Ae]=0;for(Me[0]=Ke[0]=1,Ae=254;Ae>=0;--Ae)ge=X[Ae>>>3]>>>(Ae&7)&1,Zi(Me,Ie,ge),Zi(Te,Ke,ge),wi(Rt,Me,Te),ki(Me,Me,Te),wi(Te,Ie,Ke),ki(Ie,Ie,Ke),$i(Ke,Rt),$i(Qt,Me),Mt(Me,Te,Me),Mt(Te,Ie,Rt),wi(Rt,Me,Te),ki(Me,Me,Te),$i(Ie,Me),ki(Te,Ke,Qt),Mt(Me,Te,N),wi(Me,Me,Ke),Mt(Te,Te,Me),Mt(Me,Ke,Qt),Mt(Ke,Ie,de),$i(Ie,Rt),Zi(Me,Ie,ge),Zi(Te,Ke,ge);for(Ae=0;Ae<16;Ae++)de[Ae+16]=Me[Ae],de[Ae+32]=Te[Ae],de[Ae+48]=Ie[Ae],de[Ae+64]=Ke[Ae];var Jt=de.subarray(32),Xr=de.subarray(16);return Gs(Jt,Jt),Mt(Xr,Xr,Jt),Dr(B,Xr),0}function Or(B,W){return Rr(B,W,k)}function zs(B,W){return _(W,32),Or(B,W)}function be(B,W,Z){var X=new Uint8Array(32);return Rr(X,Z,W),ri(B,x,X,Bt)}var Is=ws,on=Ni;function Gt(B,W,Z,X,de,ge){var Ae=new Uint8Array(32);return be(Ae,de,ge),Is(B,W,Z,X,Ae)}function Si(B,W,Z,X,de,ge){var Ae=new Uint8Array(32);return be(Ae,de,ge),on(B,W,Z,X,Ae)}function Qr(){var B=0,W=0,Z=0,X=0,de=65535,ge,Ae,Me;for(Me=0;Me>>16,Z+=Ae&de,X+=Ae>>>16;return W+=B>>>16,Z+=W>>>16,X+=Z>>>16,new n(Z&de|X<<16,B&de|W<<16)}function es(B,W){return new n(B.hi>>>W,B.lo>>>W|B.hi<<32-W)}function vr(){var B=0,W=0,Z;for(Z=0;Z>>W|B.lo<>>W|B.hi<>>W|B.hi<>>W|B.lo<=128;){for(Ie=0;Ie<16;Ie++)Ae[Ie]=_t(W,8*Ie+Ke);for(Ie=0;Ie<80;Ie++){for(Te=0;Te<8;Te++)de[Te]=ge[Te];for(Me=Qr(ge[7],Oe(ge[4]),br(ge[4],ge[5],ge[6]),Wr[Ie],Ae[Ie%16]),de[7]=Qr(Me,ln(ge[0]),an(ge[0],ge[1],ge[2])),de[3]=Qr(de[3],Me),Te=0;Te<8;Te++)ge[(Te+1)%8]=de[Te];if(Ie%16===15)for(Te=0;Te<16;Te++)Ae[Te]=Qr(Ae[Te],Ae[(Te+9)%16],Zr(Ae[(Te+1)%16]),Yi(Ae[(Te+14)%16]))}for(Ie=0;Ie<8;Ie++)ge[Ie]=Qr(ge[Ie],X[Ie]),X[Ie]=ge[Ie];Ke+=128,Z-=128}for(Ie=0;Ie<8;Ie++)xt(B,8*Ie,X[Ie]);return Z}var je=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function St(B,W,Z){var X=new Uint8Array(64),de=new Uint8Array(256),ge,Ae=Z;for(ge=0;ge<64;ge++)X[ge]=je[ge];for(ts(X,W,Z),Z%=128,ge=0;ge<256;ge++)de[ge]=0;for(ge=0;ge=0;--de)X=Z[de/8|0]>>(de&7)&1,Qi(B,W,X),pt(W,B),pt(B,B),Qi(B,W,X)}function dr(B,W){var Z=[u(),u(),u(),u()];si(Z[0],J),si(Z[1],G),si(Z[2],h),Mt(Z[3],J,G),vt(B,Z,W)}function Fr(B,W,Z){var X=new Uint8Array(64),de=[u(),u(),u(),u()],ge;for(Z||_(W,32),St(X,W,32),X[0]&=248,X[31]&=127,X[31]|=64,dr(de,X),ur(B,de),ge=0;ge<32;ge++)W[ge+32]=B[ge];return 0}var Br=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function wr(B,W){var Z,X,de,ge;for(X=63;X>=32;--X){for(Z=0,de=X-32,ge=X-12;de>4)*Br[de],Z=W[de]>>8,W[de]&=255;for(de=0;de<32;de++)W[de]-=Z*Br[de];for(X=0;X<32;X++)W[X+1]+=W[X]>>8,B[X]=W[X]&255}function te(B){var W=new Float64Array(64),Z;for(Z=0;Z<64;Z++)W[Z]=B[Z];for(Z=0;Z<64;Z++)B[Z]=0;wr(B,W)}function D(B,W,Z,X){var de=new Uint8Array(64),ge=new Uint8Array(64),Ae=new Uint8Array(64),Me,Ie,Te=new Float64Array(64),Ke=[u(),u(),u(),u()];St(de,X,32),de[0]&=248,de[31]&=127,de[31]|=64;var Rt=Z+64;for(Me=0;Me>7&&ki(B[0],S,B[0]),Mt(B[3],B[0],B[1]),0)}function j(B,W,Z,X){var de,ge=new Uint8Array(32),Ae=new Uint8Array(64),Me=[u(),u(),u(),u()],Ie=[u(),u(),u(),u()];if(Z<64||L(Ie,X))return-1;for(de=0;de=0},g.sign.keyPair=function(){var B=new Uint8Array(zt),W=new Uint8Array(Et);return Fr(B,W),{publicKey:B,secretKey:W}},g.sign.keyPair.fromSecretKey=function(B){if(jt(B),B.length!==Et)throw new Error("bad secret key size");for(var W=new Uint8Array(zt),Z=0;Z{let u={};return g.forEach(_=>{const x=_(n)||{};u=Object.assign(u,x)}),u}}function _0(){return()=>{}}function g0(g,n){return()=>{const u=typeof g=="function"?g():g,_=typeof n=="function"?n():n;return{user:u,pass:_}}}function y0(g){return()=>({auth_token:typeof g=="function"?g():g})}const km=2*60*1e3,x0=2,Em=2*1e3;function v0(){return{maxPingOut:2,maxReconnectAttempts:10,noRandomize:!1,pedantic:!1,pingInterval:km,reconnect:!0,reconnectJitter:100,reconnectJitterTLS:1e3,reconnectTimeWait:Em,tls:void 0,verbose:!1,waitOnFirstConnect:!1,ignoreAuthErrorAbort:!1}}function b0(g){const n=[];return typeof g.authenticator=="function"&&n.push(g.authenticator),Array.isArray(g.authenticator)&&n.push(...g.authenticator),g.token&&n.push(y0(g.token)),g.user&&n.push(g0(g.user,g.pass)),n.length===0?_0():m0(n)}function w0(g){const n=`${dd}:${Sm()}`;if(g=g||{servers:[n]},g.servers=g.servers||[],typeof g.servers=="string"&&(g.servers=[g.servers]),g.servers.length>0&&g.port)throw new ht("port and servers options are mutually exclusive",He.InvalidOption);g.servers.length===0&&g.port&&(g.servers=[`${dd}:${g.port}`]),g.servers&&g.servers.length===0&&(g.servers=[n]);const u=Bh(v0(),g);if(u.authenticator=b0(u),["reconnectDelayHandler","authenticator"].forEach(_=>{if(u[_]&&typeof u[_]!="function")throw new ht(`${_} option should be a function`,He.NotFunction)}),u.reconnectDelayHandler||(u.reconnectDelayHandler=()=>{let _=u.tls?u.reconnectJitterTLS:u.reconnectJitter;return _&&(_++,_=Math.floor(Math.random()*_)),u.reconnectTimeWait+_}),u.inboxPrefix)try{nn(u.inboxPrefix)}catch(_){throw new ht(_.message,He.ApiError)}if(u.resolve===void 0&&(u.resolve=typeof xd()=="function"),u.resolve&&typeof xd()!="function")throw new ht("'resolve' is not supported on this client",He.InvalidOption);return u}function S0(g,n){const{proto:u,tls_required:_,tls_available:x}=g;if((u===void 0||u<1)&&n.noEcho)throw new ht("noEcho",He.ServerOptionNotAvailable);const k=_||x||!1;if(n.tls&&!k)throw new ht("tls",He.ServerOptionNotAvailable)}const I0=1024*32,T0=/^INFO\s+([^\r\n]+)\r\n/i,k0=Ql(`PONG\r +`),Zf=Ql(`PING\r +`);class E0{constructor(n,u,_){U(this,"echo");U(this,"no_responders");U(this,"protocol");U(this,"verbose");U(this,"pedantic");U(this,"jwt");U(this,"nkey");U(this,"sig");U(this,"user");U(this,"pass");U(this,"auth_token");U(this,"tls_required");U(this,"name");U(this,"lang");U(this,"version");U(this,"headers");this.protocol=1,this.version=n.version,this.lang=n.lang,this.echo=u.noEcho?!1:void 0,this.verbose=u.verbose,this.pedantic=u.pedantic,this.tls_required=u.tls?!0:void 0,this.name=u.name;const x=(u&&typeof u.authenticator=="function"?u.authenticator(_):{})||{};Bh(this,x)}}class Am extends hr{constructor(u,_,x={}){var S;super();U(this,"sid");U(this,"queue");U(this,"draining");U(this,"max");U(this,"subject");U(this,"drained");U(this,"protocol");U(this,"timer");U(this,"info");U(this,"cleanupFn");U(this,"closed");U(this,"requestSubject");Bh(this,x),this.protocol=u,this.subject=_,this.draining=!1,this.noIterator=typeof x.callback=="function",this.closed=Di();const k=!((S=u.options)!=null&&S.noAsyncTraces);x.timeout&&(this.timer=Ga(x.timeout,k),this.timer.then(()=>{this.timer=void 0}).catch(h=>{this.stop(h),this.noIterator&&this.callback(h,{})})),this.noIterator||this.iterClosed.then(()=>{this.closed.resolve(),this.unsubscribe()})}setPrePostHandlers(u){if(this.noIterator){const _=this.callback,x=u.ingestionFilterFn?u.ingestionFilterFn:()=>({ingest:!0,protocol:!1}),k=u.protocolFilterFn?u.protocolFilterFn:()=>!0,S=u.dispatchedFn?u.dispatchedFn:()=>{};this.callback=(h,N)=>{const{ingest:q}=x(N);q&&k(N)&&(_(h,N),S(N))}}else this.protocolFilterFn=u.protocolFilterFn,this.dispatchedFn=u.dispatchedFn}callback(u,_){this.cancelTimeout(),u?this.stop(u):this.push(_)}close(){if(!this.isClosed()){this.cancelTimeout();const u=()=>{if(this.stop(),this.cleanupFn)try{this.cleanupFn(this,this.info)}catch{}this.closed.resolve()};this.noIterator?u():this.push(u)}}unsubscribe(u){this.protocol.unsubscribe(this,u)}cancelTimeout(){this.timer&&(this.timer.cancel(),this.timer=void 0)}drain(){return this.protocol.isClosed()?Promise.reject(ht.errorForCode(He.ConnectionClosed)):this.isClosed()?Promise.reject(ht.errorForCode(He.SubClosed)):(this.drained||(this.draining=!0,this.protocol.unsub(this),this.drained=this.protocol.flush(Di()).then(()=>{this.protocol.subscriptions.cancel(this)}).catch(()=>{this.protocol.subscriptions.cancel(this)})),this.drained)}isDraining(){return this.draining}isClosed(){return this.done}getSubject(){return this.subject}getMax(){return this.max}getID(){return this.sid}}class A0{constructor(){U(this,"mux");U(this,"subs");U(this,"sidCounter");this.sidCounter=0,this.mux=null,this.subs=new Map}size(){return this.subs.size}add(n){return this.sidCounter++,n.sid=this.sidCounter,this.subs.set(n.sid,n),n}setMux(n){return this.mux=n,n}getMux(){return this.mux}get(n){return this.subs.get(n)}resub(n){return this.sidCounter++,this.subs.delete(n.sid),n.sid=this.sidCounter,this.subs.set(n.sid,n),n}all(){return Array.from(this.subs.values())}cancel(n){n&&(n.close(),this.subs.delete(n.sid))}handleError(n){if(n&&n.permissionContext){const u=n.permissionContext,_=this.all();let x;if(u.operation==="subscription"&&(x=_.find(k=>k.subject===u.subject&&k.queue===u.queue)),u.operation==="publish"&&(x=_.find(k=>k.requestSubject===u.subject)),x)return x.callback(n,{}),x.close(),this.subs.delete(x.sid),x!==this.mux}return!1}close(){this.subs.forEach(n=>{n.close()})}}class Lh{constructor(n,u){U(this,"connected");U(this,"connectedOnce");U(this,"infoReceived");U(this,"info");U(this,"muxSubscriptions");U(this,"options");U(this,"outbound");U(this,"pongs");U(this,"subscriptions");U(this,"transport");U(this,"noMorePublishing");U(this,"connectError");U(this,"publisher");U(this,"_closed");U(this,"closed");U(this,"listeners");U(this,"heartbeats");U(this,"parser");U(this,"outMsgs");U(this,"inMsgs");U(this,"outBytes");U(this,"inBytes");U(this,"pendingLimit");U(this,"lastError");U(this,"abortReconnect");U(this,"whyClosed");U(this,"servers");U(this,"server");U(this,"features");U(this,"connectPromise");this._closed=!1,this.connected=!1,this.connectedOnce=!1,this.infoReceived=!1,this.noMorePublishing=!1,this.abortReconnect=!1,this.listeners=[],this.pendingLimit=I0,this.outMsgs=0,this.inMsgs=0,this.outBytes=0,this.inBytes=0,this.options=n,this.publisher=u,this.subscriptions=new A0,this.muxSubscriptions=new h0,this.outbound=new Za,this.pongs=[],this.whyClosed="",this.pendingLimit=n.pendingLimit||this.pendingLimit,this.features=new qy({major:0,minor:0,micro:0}),this.connectPromise=null;const _=typeof n.servers=="string"?[n.servers]:n.servers;this.servers=new c0(_,{randomize:!n.noRandomize}),this.closed=Di(),this.parser=new qf(this),this.heartbeats=new u0(this,this.options.pingInterval||km,this.options.maxPingOut||x0)}resetOutbound(){this.outbound.reset();const n=this.pongs;this.pongs=[];const u=ht.errorForCode(He.Disconnect);u.stack="",n.forEach(_=>{_.reject(u)}),this.parser=new qf(this),this.infoReceived=!1}dispatchStatus(n){this.listeners.forEach(u=>{u.push(n)})}status(){const n=new hr;return this.listeners.push(n),n}prepare(){this.transport&&this.transport.discard(),this.info=void 0,this.resetOutbound();const n=Di();return n.catch(()=>{}),this.pongs.unshift(n),this.connectError=u=>{n.reject(u)},this.transport=Zy(),this.transport.closed().then(async u=>{if(this.connected=!1,!this.isClosed()){await this.disconnected(this.transport.closeError||this.lastError);return}}),n}disconnect(){this.dispatchStatus({type:$a.StaleConnection,data:""}),this.transport.disconnect()}reconnect(){return this.connected&&(this.dispatchStatus({type:$a.ClientInitiatedReconnect,data:""}),this.transport.disconnect()),Promise.resolve()}async disconnected(n){this.dispatchStatus({type:Ns.Disconnect,data:this.servers.getCurrentServer().toString()}),this.options.reconnect?await this.dialLoop().then(()=>{var u;this.dispatchStatus({type:Ns.Reconnect,data:this.servers.getCurrentServer().toString()}),((u=this.lastError)==null?void 0:u.code)===He.AuthenticationExpired&&(this.lastError=void 0)}).catch(u=>{this._close(u)}):await this._close(n)}async dial(n){const u=this.prepare();let _;try{_=Ga(this.options.timeout||2e4);const x=this.transport.connect(n,this.options);await Promise.race([x,_]),(async()=>{try{for await(const k of this.transport)this.parser.parse(k)}catch(k){console.log("reader closed",k)}})().then()}catch(x){u.reject(x)}try{await Promise.race([_,u]),_&&_.cancel(),this.connected=!0,this.connectError=void 0,this.sendSubscriptions(),this.connectedOnce=!0,this.server.didConnect=!0,this.server.reconnects=0,this.flushPending(),this.heartbeats.start()}catch(x){throw _&&_.cancel(),await this.transport.close(x),x}}async _doDial(n){const{resolve:u}=this.options,_=await n.resolve({fn:xd(),debug:this.options.debug,randomize:!this.options.noRandomize,resolve:u});let x=null;for(const k of _)try{x=null,this.dispatchStatus({type:$a.Reconnecting,data:k.toString()}),await this.dial(k);return}catch(S){x=S}throw x}dialLoop(){return this.connectPromise===null&&(this.connectPromise=this.dodialLoop(),this.connectPromise.then(()=>{}).catch(()=>{}).finally(()=>{this.connectPromise=null})),this.connectPromise}async dodialLoop(){let n;for(;;){this._closed&&this.servers.clear();const u=this.options.reconnectDelayHandler?this.options.reconnectDelayHandler():Em;let _=u;const x=this.selectServer();if(!x||this.abortReconnect)throw n||(this.lastError?this.lastError:ht.errorForCode(He.ConnectionRefused));const k=Date.now();if(x.lastConnect===0||x.lastConnect+u<=k){x.lastConnect=Date.now();try{await this._doDial(x);break}catch(S){if(n=S,!this.connectedOnce){if(this.options.waitOnFirstConnect)continue;this.servers.removeCurrentServer()}x.reconnects++;const h=this.options.maxReconnectAttempts||0;h!==-1&&x.reconnects>=h&&this.servers.removeCurrentServer()}}else _=Math.min(_,x.lastConnect+u-k),await Wa(_)}}static async connect(n,u){const _=new Lh(n,u);return await _.dialLoop(),_}static toError(n){const u=n?n.toLowerCase():"";if(u.indexOf("permissions violation")!==-1){const _=new ht(n,He.PermissionsViolation),x=n.match(/(Publish|Subscription) to "(\S+)"/);if(x){_.permissionContext={operation:x[1].toLowerCase(),subject:x[2],queue:void 0};const k=n.match(/using queue "(\S+)"/);k&&(_.permissionContext.queue=k[1])}return _}else return u.indexOf("authorization violation")!==-1?new ht(n,He.AuthorizationViolation):u.indexOf("user authentication expired")!==-1?new ht(n,He.AuthenticationExpired):u.indexOf("account authentication expired")!=-1?new ht(n,He.AccountExpired):u.indexOf("authentication timeout")!==-1?new ht(n,He.AuthenticationTimeout):new ht(n,He.ProtocolError)}processMsg(n,u){if(this.inMsgs++,this.inBytes+=u.length,!this.subscriptions.sidCounter)return;const _=this.subscriptions.get(n.sid);_&&(_.received+=1,_.callback&&_.callback(null,new Dd(n,u,this)),_.max!==void 0&&_.received>=_.max&&_.unsubscribe())}processError(n){const u=Mf(n),_=Lh.toError(u),x={type:Ns.Error,data:_.code};if(_.isPermissionError()){let k=!1;if(_.permissionContext){x.permissionContext=_.permissionContext;const S=this.subscriptions.getMux();k=(S==null?void 0:S.subject)===_.permissionContext.subject}this.subscriptions.handleError(_),this.muxSubscriptions.handleError(k,_),k&&this.subscriptions.setMux(null)}this.dispatchStatus(x),this.handleError(_)}handleError(n){n.isAuthError()?this.handleAuthError(n):n.isProtocolError()?this.lastError=n:n.isAuthTimeout()&&(this.lastError=n),n.isPermissionError()||(this.lastError=n)}handleAuthError(n){this.lastError&&n.code===this.lastError.code&&this.options.ignoreAuthErrorAbort===!1&&(this.abortReconnect=!0),this.connectError?this.connectError(n):this.disconnect()}processPing(){this.transport.send(k0)}processPong(){const n=this.pongs.shift();n&&n.resolve()}processInfo(n){const u=JSON.parse(Mf(n));this.info=u;const _=this.options&&this.options.ignoreClusterUpdates?void 0:this.servers.update(u,this.transport.isEncrypted());if(!this.infoReceived){this.features.update(qo(u.version)),this.infoReceived=!0,this.transport.isEncrypted()&&this.servers.updateTLSName();const{version:k,lang:S}=this.transport;try{const h=new E0({version:k,lang:S},this.options,u.nonce);u.headers&&(h.headers=!0,h.no_responders=!0);const N=JSON.stringify(h);this.transport.send(Ql(`CONNECT ${N}${Th}`)),this.transport.send(Zf)}catch(h){this._close(h)}}_&&this.dispatchStatus({type:Ns.Update,data:_}),(u.ldm!==void 0?u.ldm:!1)&&this.dispatchStatus({type:Ns.LDM,data:this.servers.getCurrentServer().toString()})}push(n){switch(n.kind){case qr.MSG:{const{msg:u,data:_}=n;this.processMsg(u,_);break}case qr.OK:break;case qr.ERR:this.processError(n.data);break;case qr.PING:this.processPing();break;case qr.PONG:this.processPong();break;case qr.INFO:this.processInfo(n.data);break}}sendCommand(n,...u){const _=this.outbound.length();let x;typeof n=="string"?x=Ql(n):x=n,this.outbound.fill(x,...u),_===0?queueMicrotask(()=>{this.flushPending()}):this.outbound.size()>=this.pendingLimit&&this.flushPending()}publish(n,u=bs,_){let x;if(u instanceof Uint8Array)x=u;else if(typeof u=="string")x=Ho.encode(u);else throw ht.errorForCode(He.BadPayload);let k=x.length;_=_||{},_.reply=_.reply||"";let S=bs,h=0;if(_.headers){if(this.info&&!this.info.headers)throw new ht("headers",He.ServerOptionNotAvailable);S=_.headers.encode(),h=S.length,k=x.length+h}if(this.info&&k>this.info.max_payload)throw ht.errorForCode(He.MaxPayloadExceeded);this.outBytes+=k,this.outMsgs++;let N;_.headers?(_.reply?N=`HPUB ${n} ${_.reply} ${h} ${k}\r +`:N=`HPUB ${n} ${h} ${k}\r +`,this.sendCommand(N,S,x,Dh)):(_.reply?N=`PUB ${n} ${_.reply} ${k}\r +`:N=`PUB ${n} ${k}\r +`,this.sendCommand(N,x,Dh))}request(n){return this.initMux(),this.muxSubscriptions.add(n),n}subscribe(n){return this.subscriptions.add(n),this._subunsub(n),n}_sub(n){n.queue?this.sendCommand(`SUB ${n.subject} ${n.queue} ${n.sid}\r +`):this.sendCommand(`SUB ${n.subject} ${n.sid}\r +`)}_subunsub(n){return this._sub(n),n.max&&this.unsubscribe(n,n.max),n}unsubscribe(n,u){this.unsub(n,u),(n.max===void 0||n.received>=n.max)&&this.subscriptions.cancel(n)}unsub(n,u){!n||this.isClosed()||(u?this.sendCommand(`UNSUB ${n.sid} ${u}\r +`):this.sendCommand(`UNSUB ${n.sid}\r +`),n.max=u)}resub(n,u){!n||this.isClosed()||(this.unsub(n),n.subject=u,this.subscriptions.resub(n),this._sub(n))}flush(n){return n||(n=Di()),this.pongs.push(n),this.outbound.fill(Zf),this.flushPending(),n}sendSubscriptions(){const n=[];this.subscriptions.all().forEach(u=>{const _=u;_.queue?n.push(`SUB ${_.subject} ${_.queue} ${_.sid}${Th}`):n.push(`SUB ${_.subject} ${_.sid}${Th}`)}),n.length&&this.transport.send(Ql(n.join("")))}async _close(n){this._closed||(this.whyClosed=new Error("close trace").stack||"",this.heartbeats.cancel(),this.connectError&&(this.connectError(n),this.connectError=void 0),this.muxSubscriptions.close(),this.subscriptions.close(),this.listeners.forEach(u=>{u.stop()}),this._closed=!0,await this.transport.close(n),await this.closed.resolve(n))}close(){return this._close()}isClosed(){return this._closed}drain(){const n=this.subscriptions.all(),u=[];return n.forEach(_=>{u.push(_.drain())}),Promise.all(u).then(async()=>(this.noMorePublishing=!0,await this.flush(),this.close())).catch(()=>{})}flushPending(){if(!(!this.infoReceived||!this.connected)&&this.outbound.size()){const n=this.outbound.drain();this.transport.send(n)}}initMux(){if(!this.subscriptions.getMux()){const u=this.muxSubscriptions.init(this.options.inboxPrefix),_=new Am(this,`${u}*`);_.callback=this.muxSubscriptions.dispatcher(),this.subscriptions.setMux(_),this.subscribe(_)}}selectServer(){const n=this.servers.selectServer();if(n!==void 0)return this.server=n,this.server}getServer(){return this.server}}const P0="$SRV";class Wf{constructor(n){U(this,"msg");this.msg=n}get data(){return this.msg.data}get sid(){return this.msg.sid}get subject(){return this.msg.subject}get reply(){return this.msg.reply||""}get headers(){return this.msg.headers}respond(n,u){return this.msg.respond(n,u)}respondError(n,u,_,x){var k,S;return x=x||{},x.headers=x.headers||Dn(),(k=x.headers)==null||k.set(Ch,`${n}`),(S=x.headers)==null||S.set(Ph,u),this.msg.respond(_,x)}json(n){return this.msg.json(n)}string(){return this.msg.string()}}class nc{constructor(n,u="",_=""){U(this,"subject");U(this,"queue");U(this,"srv");u!==""&&M0("service group",u);let x="";if(n instanceof hc)this.srv=n,x="";else if(n instanceof nc){const k=n;this.srv=k.srv,_===""&&k.queue!==""&&(_=k.queue),x=k.subject}else throw new Error("unknown ServiceGroup type");this.subject=this.calcSubject(x,u),this.queue=_}calcSubject(n,u=""){return u===""?n:n!==""?`${n}.${u}`:u}addEndpoint(n="",u){u=u||{subject:n};const _=typeof u=="function"?{handler:u,subject:n}:u;Kl("endpoint",n);let{subject:x,handler:k,metadata:S,queue:h}=_;x=x||n,h=h||this.queue,C0("endpoint subject",x),x=this.calcSubject(this.subject,x);const N={name:n,subject:x,queue:h,handler:k,metadata:S};return this.srv._addEndpoint(N)}addGroup(n="",u=""){return new nc(this,n,u)}}function C0(g,n){if(n==="")throw new Error(`${g} cannot be empty`);if(n.indexOf(" ")!==-1)throw new Error(`${g} cannot contain spaces: '${n}'`);const u=n.split(".");u.forEach((_,x)=>{if(_===">"&&x!==u.length-1)throw new Error(`${g} cannot have internal '>': '${n}'`)})}function M0(g,n){if(n.indexOf(" ")!==-1)throw new Error(`${g} cannot contain spaces: '${n}'`);n.split(".").forEach(_=>{if(_===">")throw new Error(`${g} name cannot contain internal '>': '${n}'`)})}class hc{constructor(n,u={name:"",version:""}){U(this,"nc");U(this,"_id");U(this,"config");U(this,"handlers");U(this,"internal");U(this,"_stopped");U(this,"_done");U(this,"started");this.nc=n,this.config=Object.assign({},u),this.config.queue||(this.config.queue="q"),Kl("name",this.config.name),Kl("queue",this.config.queue),qo(this.config.version),this._id=Zo.next(),this.internal=[],this._done=Di(),this._stopped=!1,this.handlers=[],this.started=new Date().toISOString(),this.reset(),this.nc.closed().then(()=>{this.close().catch()}).catch(_=>{this.close(_).catch()})}static controlSubject(n,u="",_="",x){const k=x??P0;return u===""&&_===""?`${k}.${n}`:(Kl("control subject name",u),_!==""?(Kl("control subject id",_),`${k}.${n}.${u}.${_}`):`${k}.${n}.${u}`)}get subjects(){return this.handlers.filter(n=>n.internal===!1).map(n=>n.subject)}get id(){return this._id}get name(){return this.config.name}get description(){return this.config.description??""}get version(){return this.config.version}get metadata(){return this.config.metadata}errorToHeader(n){const u=Dn();if(n instanceof Mh){const _=n;u.set(Ph,_.message),u.set(Ch,`${_.code}`)}else u.set(Ph,n.message),u.set(Ch,"500");return u}setupHandler(n,u=!1){const _=u?"":n.queue?n.queue:this.config.queue,{name:x,subject:k,handler:S}=n,h=n;h.internal=u,u&&this.internal.push(h),h.stats=new z0(x,k,_),h.queue=_;const N=S?(q,ne)=>{if(q){this.close(q);return}const J=Date.now();try{S(q,new Wf(ne))}catch(G){h.stats.countError(G),ne==null||ne.respond(bs,{headers:this.errorToHeader(G)})}finally{h.stats.countLatency(J)}}:void 0;return h.sub=this.nc.subscribe(k,{callback:N,queue:_}),h.sub.closed.then(()=>{this._stopped||this.close(new Error(`required subscription ${n.subject} stopped`)).catch()}).catch(q=>{if(!this._stopped){const ne=new Error(`required subscription ${n.subject} errored: ${q.message}`);ne.stack=q.stack,this.close(ne).catch()}}),h}info(){return{type:ec.INFO,name:this.name,id:this.id,version:this.version,description:this.description,metadata:this.metadata,endpoints:this.endpoints()}}endpoints(){return this.handlers.map(n=>{const{subject:u,metadata:_,name:x,queue:k}=n;return{subject:u,metadata:_,name:x,queue_group:k}})}async stats(){const n=[];for(const u of this.handlers){if(typeof this.config.statsHandler=="function")try{u.stats.data=await this.config.statsHandler(u)}catch(_){u.stats.countError(_)}n.push(u.stats.stats(u.qi))}return{type:ec.STATS,name:this.name,id:this.id,version:this.version,started:this.started,metadata:this.metadata,endpoints:n}}addInternalHandler(n,u){const _=`${n}`.toUpperCase();this._doAddInternalHandler(`${_}-all`,n,u),this._doAddInternalHandler(`${_}-kind`,n,u,this.name),this._doAddInternalHandler(`${_}`,n,u,this.name,this.id)}_doAddInternalHandler(n,u,_,x="",k=""){const S={};S.name=n,S.subject=hc.controlSubject(u,x,k),S.handler=_,this.setupHandler(S,!0)}start(){const n=Vs(),u=(S,h)=>S?(this.close(S),Promise.reject(S)):this.stats().then(N=>(h==null||h.respond(n.encode(N)),Promise.resolve())),_=(S,h)=>S?(this.close(S),Promise.reject(S)):(h==null||h.respond(n.encode(this.info())),Promise.resolve()),x=n.encode(this.ping()),k=(S,h)=>S?(this.close(S).then().catch(),Promise.reject(S)):(h.respond(x),Promise.resolve());return this.addInternalHandler(ro.PING,k),this.addInternalHandler(ro.STATS,u),this.addInternalHandler(ro.INFO,_),this.handlers.forEach(S=>{const{subject:h}=S;typeof h=="string"&&S.handler!==null&&this.setupHandler(S)}),Promise.resolve(this)}close(n){if(this._stopped)return this._done;this._stopped=!0;let u=[];return this.nc.isClosed()||(u=this.handlers.concat(this.internal).map(_=>_.sub.drain())),Promise.allSettled(u).then(()=>{this._done.resolve(n||null)}),this._done}get stopped(){return this._done}get isStopped(){return this._stopped}stop(n){return this.close(n)}ping(){return{type:ec.PING,name:this.name,id:this.id,version:this.version,metadata:this.metadata}}reset(){if(this.started=new Date().toISOString(),this.handlers)for(const n of this.handlers)n.stats.reset(n.qi)}addGroup(n,u){return new nc(this,n,u)}addEndpoint(n,u){return new nc(this).addEndpoint(n,u)}_addEndpoint(n){const u=new hr;u.noIterator=typeof n.handler=="function",u.noIterator||(n.handler=(x,k)=>{x?this.stop(x).catch():u.push(new Wf(k))},u.iterClosed.then(()=>{this.close().catch()}));const _=this.setupHandler(n,!1);return _.qi=u,this.handlers.push(_),u}}class z0{constructor(n,u,_=""){U(this,"name");U(this,"subject");U(this,"average_processing_time");U(this,"num_requests");U(this,"processing_time");U(this,"num_errors");U(this,"last_error");U(this,"data");U(this,"metadata");U(this,"queue");this.name=n,this.subject=u,this.average_processing_time=0,this.num_errors=0,this.num_requests=0,this.processing_time=0,this.queue=_}reset(n){this.num_requests=0,this.processing_time=0,this.average_processing_time=0,this.num_errors=0,this.last_error=void 0,this.data=void 0;const u=n;u&&(u.time=0,u.processed=0)}countLatency(n){this.num_requests++,this.processing_time+=Bi(Date.now()-n),this.average_processing_time=Math.round(this.processing_time/this.num_requests)}countError(n){this.num_errors++,this.last_error=n.message}_stats(){const{name:n,subject:u,average_processing_time:_,num_errors:x,num_requests:k,processing_time:S,last_error:h,data:N,queue:q}=this;return{name:n,subject:u,average_processing_time:_,num_errors:x,num_requests:k,processing_time:S,last_error:h,data:N,queue_group:q}}stats(n){const u=n;return(u==null?void 0:u.noIterator)===!1&&(this.processing_time=u.time,this.num_requests=u.processed,this.average_processing_time=this.processing_time>0&&this.num_requests>0?this.processing_time/this.num_requests:0),this._stats()}}class D0{constructor(n,u={strategy:Us.JitterTimer,maxWait:2e3},_){U(this,"nc");U(this,"prefix");U(this,"opts");this.nc=n,this.prefix=_,this.opts=u}ping(n="",u=""){return this.q(ro.PING,n,u)}stats(n="",u=""){return this.q(ro.STATS,n,u)}info(n="",u=""){return this.q(ro.INFO,n,u)}async q(n,u="",_=""){const x=new hr,k=Vs(),S=hc.controlSubject(n,u,_,this.prefix),h=await this.nc.requestMany(S,bs,this.opts);return(async()=>{for await(const N of h)try{const q=k.decode(N.data);x.push(q)}catch(q){x.push(()=>{x.stop(q)})}x.push(()=>{x.stop()})})().catch(N=>{x.stop(N)}),x}}function Pm(){return{key:{encode(g){return g},decode(g){return g}},value:{encode(g){return g},decode(g){return g}}}}function L0(){return{replicas:1,history:1,timeout:2e3,max_bytes:-1,maxValueSize:-1,codec:Pm(),storage:gd.File}}const Rh="KV-Operation",Xf="$KV",R0=/^[-/=.\w]+$/,O0=/^[-/=.>*\w]+$/,F0=/^[-\w]+$/;function B0(g){if(g.startsWith(".")||g.endsWith(".")||!R0.test(g))throw new Error(`invalid key: ${g}`)}function j0(g){if(g.startsWith(".")||g.endsWith(".")||!O0.test(g))throw new Error(`invalid key: ${g}`)}function N0(g){if(g.startsWith(".")||g.endsWith("."))throw new Error(`invalid key: ${g}`);const n=g.split(".");let u=!1;for(let _=0;_":if(_!==n.length-1)throw new Error(`invalid key: ${g}`);u=!0;break}return u}function kh(g){if(!F0.test(g))throw new Error(`invalid bucket name: ${g}`)}var rn;(function(g){g.MsgIdHdr="Nats-Msg-Id",g.ExpectedStreamHdr="Nats-Expected-Stream",g.ExpectedLastSeqHdr="Nats-Expected-Last-Sequence",g.ExpectedLastMsgIdHdr="Nats-Expected-Last-Msg-Id",g.ExpectedLastSubjectSequenceHdr="Nats-Expected-Last-Subject-Sequence"})(rn||(rn={}));class oc{constructor(n,u,_){U(this,"js");U(this,"jsm");U(this,"stream");U(this,"bucket");U(this,"direct");U(this,"codec");U(this,"prefix");U(this,"editPrefix");U(this,"useJsPrefix");U(this,"_prefixLen");U(this,"validateKey",B0);U(this,"validateSearchKey",j0);U(this,"hasWildcards",N0);kh(n),this.js=u,this.jsm=_,this.bucket=n,this.prefix=Xf,this.editPrefix="",this.useJsPrefix=!1,this._prefixLen=0}static async create(n,u,_={}){kh(u);const x=await n.jetstreamManager(),k=new oc(u,n,x);return await k.init(_),k}static async bind(n,u,_={}){const x=await n.jetstreamManager(),k={config:{allow_direct:_.allow_direct}};kh(u);const S=new oc(u,n,x);return k.config.name=_.streamName??S.bucketName(),Object.assign(S,k),S.stream=k.config.name,S.codec=_.codec||Pm(),S.direct=k.config.allow_direct??!1,S.initializePrefixes(k),S}async init(n={}){const u=Object.assign(L0(),n);this.codec=u.codec;const _={};this.stream=_.name=n.streamName??this.bucketName(),_.retention=_d.Limits,_.max_msgs_per_subject=u.history,u.maxBucketSize&&(u.max_bytes=u.maxBucketSize),u.max_bytes&&(_.max_bytes=u.max_bytes),_.max_msg_size=u.maxValueSize,_.storage=u.storage;const x=n.placementCluster??"";if(x&&(n.placement={},n.placement.cluster=x,n.placement.tags=[]),n.placement&&(_.placement=n.placement),n.republish&&(_.republish=n.republish),n.description&&(_.description=n.description),n.mirror){const J=Object.assign({},n.mirror);J.name.startsWith(gs)||(J.name=`${gs}${J.name}`),_.mirror=J,_.mirror_direct=!0}else if(n.sources){const J=n.sources.map(G=>{const ve=Object.assign({},G),Ee=ve.name.startsWith(gs)?ve.name.substring(gs.length):ve.name;return ve.name.startsWith(gs)||(ve.name=`${gs}${ve.name}`),!G.external&&Ee!==this.bucket&&(ve.subject_transforms=[{src:`$KV.${Ee}.>`,dest:`$KV.${this.bucket}.>`}]),ve});_.sources=J,_.subjects=[this.subjectForBucket()]}else _.subjects=[this.subjectForBucket()];n.metadata&&(_.metadata=n.metadata),typeof n.compression=="boolean"&&(_.compression=n.compression?oo.S2:oo.None);const k=this.js.nc,S=k.getServerVersion(),h=S?yd(S,qo("2.7.2"))>=0:!1;_.discard=h?sc.New:sc.Old;const{ok:N,min:q}=k.features.get(ii.JS_ALLOW_DIRECT);if(!N&&n.allow_direct===!0){const J=S?`${S.major}.${S.minor}.${S.micro}`:"unknown";return Promise.reject(new Error(`allow_direct is not available on server version ${J} - requires ${q}`))}n.allow_direct=typeof n.allow_direct=="boolean"?n.allow_direct:N,_.allow_direct=n.allow_direct,this.direct=_.allow_direct,_.num_replicas=u.replicas,u.ttl&&(_.max_age=Bi(u.ttl)),_.allow_rollup_hdrs=!0;let ne;try{ne=await this.jsm.streams.info(_.name),!ne.config.allow_direct&&this.direct===!0&&(this.direct=!1)}catch(J){if(J.message==="stream not found")ne=await this.jsm.streams.add(_);else throw J}this.initializePrefixes(ne)}initializePrefixes(n){this._prefixLen=0,this.prefix=`$KV.${this.bucket}`,this.useJsPrefix=this.js.apiPrefix!=="$JS.API";const{mirror:u}=n.config;if(u){let _=u.name;if(_.startsWith(gs)&&(_=_.substring(gs.length)),u.external&&u.external.api!==""){const x=u.name.substring(gs.length);this.useJsPrefix=!1,this.prefix=`$KV.${x}`,this.editPrefix=`${u.external.api}.$KV.${_}`}else this.editPrefix=this.prefix}}bucketName(){return this.stream??`${gs}${this.bucket}`}subjectForBucket(){return`${this.prefix}.${this.bucket}.>`}subjectForKey(n,u=!1){const _=[];return u?(this.useJsPrefix&&_.push(this.js.apiPrefix),this.editPrefix!==""?_.push(this.editPrefix):_.push(this.prefix)):this.prefix&&_.push(this.prefix),_.push(n),_.join(".")}fullKeyName(n){return this.prefix!==""?`${this.prefix}.${n}`:`${Xf}.${this.bucket}.${n}`}get prefixLen(){return this._prefixLen===0&&(this._prefixLen=this.prefix.length+1),this._prefixLen}encodeKey(n){const u=[];for(const _ of n.split("."))switch(_){case">":case"*":u.push(_);break;default:u.push(this.codec.key.encode(_));break}return u.join(".")}decodeKey(n){const u=[];for(const _ of n.split("."))switch(_){case">":case"*":u.push(_);break;default:u.push(this.codec.key.decode(_));break}return u.join(".")}close(){return Promise.resolve()}dataLen(n,u){const _=u&&u.get(Gr.MessageSizeHdr)||"";return _!==""?parseInt(_,10):n.length}smToEntry(n){return new tx(this.bucket,this.prefixLen,n)}jmToEntry(n){const u=this.decodeKey(n.subject.substring(this.prefixLen));return new ix(this.bucket,u,n)}async create(n,u){var k;let _;try{const S=await this.put(n,u,{previousSeq:0});return Promise.resolve(S)}catch(S){if(_=S,((k=S==null?void 0:S.api_error)==null?void 0:k.err_code)!==10071)return Promise.reject(S)}let x=0;try{const S=await this.get(n);return(S==null?void 0:S.operation)==="DEL"||(S==null?void 0:S.operation)==="PURGE"?(x=S!==null?S.revision:0,this.update(n,u,x)):Promise.reject(_)}catch(S){return Promise.reject(S)}}update(n,u,_){if(_<=0)throw new Error("version must be greater than 0");return this.put(n,u,{previousSeq:_})}async put(n,u,_={}){var S,h;const x=this.encodeKey(n);this.validateKey(x);const k={};if(_.previousSeq!==void 0){const N=Dn();k.headers=N,N.set(rn.ExpectedLastSubjectSequenceHdr,`${_.previousSeq}`)}try{return(await this.js.publish(this.subjectForKey(x,!0),u,k)).seq}catch(N){const q=N;return q.isJetStreamError()?(q.message=(S=q.api_error)==null?void 0:S.description,q.code=`${(h=q.api_error)==null?void 0:h.code}`,Promise.reject(q)):Promise.reject(N)}}async get(n,u){const _=this.encodeKey(n);this.validateKey(_);let x={last_by_subj:this.subjectForKey(_)};u&&u.revision>0&&(x={seq:u.revision});let k;try{this.direct?k=await this.jsm.direct.getMessage(this.bucketName(),x):k=await this.jsm.streams.getMessage(this.bucketName(),x);const S=this.smToEntry(k);return S.key!==_?null:S}catch(S){if(S.code===He.JetStream404NoMessages)return null;throw S}}purge(n,u){return this._deleteOrPurge(n,"PURGE",u)}delete(n,u){return this._deleteOrPurge(n,"DEL",u)}async purgeDeletes(n=30*60*1e3){const u=Di(),_=[],x=await this.watch({key:">",initializedFn:()=>{u.resolve()}});(async()=>{for await(const N of x)(N.operation==="DEL"||N.operation==="PURGE")&&_.push(N)})().then(),await u,x.stop();const k=Date.now()-n,S=_.map(N=>{const q=this.subjectForKey(N.key);return N.created.getTime()>=k?this.jsm.streams.purge(this.stream,{filter:q,keep:1}):this.jsm.streams.purge(this.stream,{filter:q,keep:0})}),h=await Promise.all(S);return h.unshift({success:!0,purged:0}),h.reduce((N,q)=>(N.purged+=q.purged,N))}async _deleteOrPurge(n,u,_){if(!this.hasWildcards(n))return this._doDeleteOrPurge(n,u,_);const x=await this.keys(n),k=[];for await(const S of x)k.push(this._doDeleteOrPurge(S,u)),k.length===100&&(await Promise.all(k),k.length=0);k.length>0&&await Promise.all(k)}async _doDeleteOrPurge(n,u,_){const x=this.encodeKey(n);this.validateKey(x);const k=Dn();k.set(Rh,u),u==="PURGE"&&k.set(Gr.RollupHdr,Gr.RollupValueSubject),_!=null&&_.previousSeq&&k.set(rn.ExpectedLastSubjectSequenceHdr,`${_.previousSeq}`),await this.js.publish(this.subjectForKey(x,!0),bs,{headers:k})}_buildCC(n,u,_={}){let k=(Array.isArray(n)?n:[n]).map(N=>{const q=this.encodeKey(N);return this.validateSearchKey(N),this.fullKeyName(q)}),S=Hi.LastPerSubject;u===js.AllHistory&&(S=Hi.All),u===js.UpdatesOnly&&(S=Hi.New);let h;return k.length===1&&(h=k[0],k=void 0),Object.assign({deliver_policy:S,ack_policy:cr.None,filter_subjects:k,filter_subject:h,flow_control:!0,idle_heartbeat:Bi(5*1e3)},_)}remove(n){return this.purge(n)}async history(n={}){const u=n.key??">",_=new hr,x={};x.headers_only=n.headers_only||!1;let k;k=()=>{_.stop()};let S=0;const h=this._buildCC(u,js.AllHistory,x),N=h.filter_subject,q=zn(h);q.bindStream(this.stream),q.orderedConsumer(),q.callback((J,G)=>{if(J){_.stop(J);return}if(G){const ve=this.jmToEntry(G);_.push(ve),_.received++,(k&&S>0&&_.received>=S||G.info.pending===0)&&(_.push(k),k=void 0)}});const ne=await this.js.subscribe(N,q);if(k){const{info:{last:J}}=ne,G=J.num_pending+J.delivered.consumer_seq;if(G===0||_.received>=G)try{k()}catch(ve){_.stop(ve)}finally{k=void 0}else S=G}return _._data=ne,_.iterClosed.then(()=>{ne.unsubscribe()}),ne.closed.then(()=>{_.stop()}).catch(J=>{_.stop(J)}),_}canSetWatcherName(){const u=this.js.nc,{ok:_}=u.features.get(ii.JS_NEW_CONSUMER_CREATE_API);return _}async watch(n={}){const u=n.key??">",_=new hr,x={};x.headers_only=n.headers_only||!1;let k=js.LastValue;n.include===js.AllHistory?k=js.AllHistory:n.include===js.UpdatesOnly&&(k=js.UpdatesOnly);const S=n.ignoreDeletes===!0;let h=n.initializedFn,N=0;const q=this._buildCC(u,k,x),ne=q.filter_subject,J=zn(q);this.canSetWatcherName()&&J.consumerName(Zo.next()),J.bindStream(this.stream),n.resumeFromRevision&&n.resumeFromRevision>0&&J.startSequence(n.resumeFromRevision),J.orderedConsumer(),J.callback((ve,Ee)=>{if(ve){_.stop(ve);return}if(Ee){const $e=this.jmToEntry(Ee);if(S&&$e.operation==="DEL")return;_.push($e),_.received++,h&&(N>0&&_.received>=N||Ee.info.pending===0)&&(_.push(h),h=void 0)}});const G=await this.js.subscribe(ne,J);if(h){const{info:{last:ve}}=G,Ee=ve.num_pending+ve.delivered.consumer_seq;if(Ee===0||_.received>=Ee)try{h()}catch($e){_.stop($e)}finally{h=void 0}else N=Ee}return _._data=G,_.iterClosed.then(()=>{G.unsubscribe()}),G.closed.then(()=>{_.stop()}).catch(ve=>{_.stop(ve)}),_}async keys(n=">"){const u=new hr,_=this._buildCC(n,js.LastValue,{headers_only:!0}),x=Array.isArray(n)?">":_.filter_subject,k=zn(_);k.bindStream(this.stream),k.orderedConsumer();const S=await this.js.subscribe(x,k);return(async()=>{var N;for await(const q of S){const ne=(N=q.headers)==null?void 0:N.get(Rh);if(ne!=="DEL"&&ne!=="PURGE"){const J=this.decodeKey(q.subject.substring(this.prefixLen));u.push(J)}q.info.pending===0&&S.unsubscribe()}})().then(()=>{u.stop()}).catch(N=>{u.stop(N)}),S.info.last.num_pending===0&&S.unsubscribe(),u}purgeBucket(n){return this.jsm.streams.purge(this.bucketName(),n)}destroy(){return this.jsm.streams.delete(this.bucketName())}async status(){var k;const u=((k=this.js.nc.info)==null?void 0:k.cluster)??"",_=this.bucketName(),x=await this.jsm.streams.info(_);return new Cm(x,u)}}class Cm{constructor(n,u=""){U(this,"si");U(this,"cluster");this.si=n,this.cluster=u}get bucket(){return this.si.config.name.startsWith(gs)?this.si.config.name.substring(gs.length):this.si.config.name}get values(){return this.si.state.messages}get history(){return this.si.config.max_msgs_per_subject}get ttl(){return zd(this.si.config.max_age)}get bucket_location(){return this.cluster}get backingStore(){return this.si.config.storage}get storage(){return this.si.config.storage}get replicas(){return this.si.config.num_replicas}get description(){return this.si.config.description??""}get maxBucketSize(){return this.si.config.max_bytes}get maxValueSize(){return this.si.config.max_msg_size}get max_bytes(){return this.si.config.max_bytes}get placement(){return this.si.config.placement||{cluster:"",tags:[]}}get placementCluster(){var n;return((n=this.si.config.placement)==null?void 0:n.cluster)??""}get republish(){return this.si.config.republish??{src:"",dest:""}}get streamInfo(){return this.si}get size(){return this.si.state.bytes}get metadata(){return this.si.config.metadata??{}}get compression(){return this.si.config.compression?this.si.config.compression!==oo.None:!1}}const Od="OBJ_",Jf="SHA-256=";function $0(g){return kh(g),`${Od}${g}`}function U0(g){return g.startsWith(Od)?g.substring(4):g}class wd{constructor(n){U(this,"si");U(this,"backingStore");this.si=n,this.backingStore="JetStream"}get bucket(){return U0(this.si.config.name)}get description(){return this.si.config.description??""}get ttl(){return this.si.config.max_age}get storage(){return this.si.config.storage}get replicas(){return this.si.config.num_replicas}get sealed(){return this.si.config.sealed}get size(){return this.si.state.bytes}get streamInfo(){return this.si}get metadata(){return this.si.config.metadata}get compression(){return this.si.config.compression?this.si.config.compression!==oo.None:!1}}function bh(g){if(g===void 0)return;const{domain:n}=g;if(n===void 0)return g;const u=Object.assign({},g);if(delete u.domain,n==="")return u;if(u.external)throw new Error("domain and external are both set");return u.external={api:`$JS.${n}.API`},u}var Cs;(function(g){g[g.Unset=-1]="Unset",g[g.Consume=0]="Consume",g[g.Fetch=1]="Fetch"})(Cs||(Cs={}));var Cn;(function(g){g.HeartbeatsMissed="heartbeats_missed",g.ConsumerNotFound="consumer_not_found",g.StreamNotFound="stream_not_found",g.ConsumerDeleted="consumer_deleted",g.OrderedConsumerRecreated="ordered_consumer_recreated"})(Cn||(Cn={}));var qa;(function(g){g.DebugEvent="debug",g.Discard="discard",g.Reset="reset",g.Next="next"})(qa||(qa={}));const Kf=Uint8Array.of(43,65,67,75),V0=Uint8Array.of(45,78,65,75),Jl=Uint8Array.of(43,87,80,73),q0=Uint8Array.of(43,78,88,84),G0=Uint8Array.of(43,84,69,82,77),H0=Uint8Array.of(32);function ac(g,n=5e3){return new cx(g,n)}class ld extends hr{constructor(u,_,x=!1){super();U(this,"consumer");U(this,"opts");U(this,"sub");U(this,"monitor");U(this,"pending");U(this,"inbox");U(this,"refilling");U(this,"pong");U(this,"callback");U(this,"timeout");U(this,"cleanupHandler");U(this,"listeners");U(this,"statusIterator");U(this,"forOrderedConsumer");U(this,"resetHandler");U(this,"abortOnMissingResource");U(this,"bind");this.consumer=u;const k=_;this.opts=this.parseOptions(_,x),this.callback=k.callback||null,this.noIterator=typeof this.callback=="function",this.monitor=null,this.pong=null,this.pending={msgs:0,bytes:0,requests:0},this.refilling=x,this.timeout=null,this.inbox=nn(u.api.nc.options.inboxPrefix),this.listeners=[],this.forOrderedConsumer=!1,this.abortOnMissingResource=k.abort_on_missing_resource===!0,this.bind=k.bind===!0,this.start()}start(){const{max_messages:u,max_bytes:_,idle_heartbeat:x,threshold_bytes:k,threshold_messages:S}=this.opts;this.closed().then(N=>{if(this.cleanupHandler)try{this.cleanupHandler(N)}catch{}});const{sub:h}=this;h&&h.unsubscribe(),this.sub=this.consumer.api.nc.subscribe(this.inbox,{callback:(N,q)=>{var J,G,ve,Ee;if(N){this.stop(N);return}if((J=this.monitor)==null||J.work(),q.subject===this.inbox){if(md(q))return;const $e=(G=q.headers)==null?void 0:G.code,_t=((Ee=(ve=q.headers)==null?void 0:ve.description)==null?void 0:Ee.toLowerCase())||"unknown",{msgsLeft:Tt,bytesLeft:xt}=this.parseDiscard(q.headers);if(Tt>0||xt>0)this.pending.msgs-=Tt,this.pending.bytes-=xt,this.pending.requests--,this.notify(qa.Discard,{msgsLeft:Tt,bytesLeft:xt});else if($e===400){this.stop(new ht(_t,`${$e}`));return}else if($e===409&&_t==="consumer deleted"){if(this.notify(Cn.ConsumerDeleted,`${$e} ${_t}`),!this.refilling||this.abortOnMissingResource){const Ct=new ht(_t,`${$e}`);this.stop(Ct);return}}else this.notify(qa.DebugEvent,`${$e} ${_t}`)}else this._push(ac(q,this.consumer.api.timeout)),this.received++,this.pending.msgs&&this.pending.msgs--,this.pending.bytes&&(this.pending.bytes-=q.size());if(this.pending.msgs===0&&this.pending.bytes===0&&(this.pending.requests=0),this.refilling){if(u&&this.pending.msgs<=S||_&&this.pending.bytes<=k){const $e=this.pullOptions();this.pull($e)}}else this.pending.requests===0&&this._push(()=>{this.stop()})}}),this.sub.closed.then(()=>{this.sub.draining&&this._push(()=>{this.stop()})}),x&&(this.monitor=new Ld(x,N=>(this.notify(Cn.HeartbeatsMissed,N),this.resetPending().then(()=>{}).catch(()=>{}),!1),{maxOut:2})),(async()=>{var q;const N=this.consumer.api.nc.status();this.statusIterator=N;for await(const ne of N)switch(ne.type){case Ns.Disconnect:(q=this.monitor)==null||q.cancel();break;case Ns.Reconnect:this.resetPending().then(J=>{var G;J&&((G=this.monitor)==null||G.restart())}).catch(()=>{});break}})(),this.pull(this.pullOptions())}_push(u){if(!this.callback)super.push(u);else{const _=typeof u=="function"?u:null;try{_?_():this.callback(u)}catch(x){this.stop(x)}}}notify(u,_){this.listeners.length>0&&this.listeners.forEach(x=>{x.done||x.push({type:u,data:_})})}resetPending(){return this.bind?this.resetPendingNoInfo():this.resetPendingWithInfo()}resetPendingNoInfo(){return this.pending.msgs=0,this.pending.bytes=0,this.pending.requests=0,this.pull(this.pullOptions()),Promise.resolve(!0)}async resetPendingWithInfo(){let u=0,_=0;const x=Md();let k=0;for(;;){if(this.done)return!1;if(this.consumer.api.nc.isClosed())return console.error("aborting resetPending - connection is closed"),!1;try{return await this.consumer.info(),u=0,this.pending.msgs=0,this.pending.bytes=0,this.pending.requests=0,this.pull(this.pullOptions()),!0}catch(S){if(S.message==="stream not found"){if(_++,this.notify(Cn.StreamNotFound,_),!this.refilling||this.abortOnMissingResource)return this.stop(S),!1}else if(S.message==="consumer not found"){if(u++,this.notify(Cn.ConsumerNotFound,u),this.resetHandler)try{this.resetHandler()}catch{}if(!this.refilling||this.abortOnMissingResource)return this.stop(S),!1;if(this.forOrderedConsumer)return!1}else u=0,_=0;const h=x.backoff(k),N=Wa(h);await Promise.race([N,this.consumer.api.nc.closed()]),N.cancel(),k++}}}pull(u){this.pending.bytes+=u.max_bytes??0,this.pending.msgs+=u.batch??0,this.pending.requests++;const _=this.consumer.api.nc;this._push(()=>{_.publish(`${this.consumer.api.prefix}.CONSUMER.MSG.NEXT.${this.consumer.stream}.${this.consumer.name}`,this.consumer.api.jc.encode(u),{reply:this.inbox}),this.notify(qa.Next,u)})}pullOptions(){const u=this.opts.max_messages-this.pending.msgs,_=this.opts.max_bytes-this.pending.bytes,x=Bi(this.opts.idle_heartbeat),k=Bi(this.opts.expires);return{batch:u,max_bytes:_,idle_heartbeat:x,expires:k}}parseDiscard(u){const _={msgsLeft:0,bytesLeft:0},x=u==null?void 0:u.get(Gr.PendingMessagesHdr);x&&(_.msgsLeft=parseInt(x));const k=u==null?void 0:u.get(Gr.PendingBytesHdr);return k&&(_.bytesLeft=parseInt(k)),_}trackTimeout(u){this.timeout=u}close(){return this.stop(),this.iterClosed}closed(){return this.iterClosed}clearTimers(){var u,_;(u=this.monitor)==null||u.cancel(),this.monitor=null,(_=this.timeout)==null||_.cancel(),this.timeout=null}setCleanupHandler(u){this.cleanupHandler=u}stop(u){var _,x;this.done||((_=this.sub)==null||_.unsubscribe(),this.clearTimers(),(x=this.statusIterator)==null||x.stop(),this._push(()=>{super.stop(u),this.listeners.forEach(k=>{k.stop()})}))}parseOptions(u,_=!1){const x=u||{};if(x.max_messages=x.max_messages||0,x.max_bytes=x.max_bytes||0,x.max_messages!==0&&x.max_bytes!==0)throw new Error("only specify one of max_messages or max_bytes");if(x.max_messages===0&&(x.max_messages=100),x.expires=x.expires||3e4,x.expires<1e3)throw new Error("expires should be at least 1000ms");if(x.idle_heartbeat=x.idle_heartbeat||x.expires/2,x.idle_heartbeat=x.idle_heartbeat>3e4?3e4:x.idle_heartbeat,_){const k=Math.round(x.max_messages*.75)||1;x.threshold_messages=x.threshold_messages||k;const S=Math.round(x.max_bytes*.75)||1;x.threshold_bytes=x.threshold_bytes||S}return x}status(){const u=new hr;return this.listeners.push(u),Promise.resolve(u)}}class Z0 extends hr{constructor(){super();U(this,"src");U(this,"listeners");this.listeners=[]}setSource(u){this.src&&(this.src.resetHandler=void 0,this.src.setCleanupHandler(),this.src.stop()),this.src=u,this.src.setCleanupHandler(_=>{this.stop(_||void 0)}),(async()=>{const _=await this.src.status();for await(const x of _)this.notify(x.type,x.data)})().catch(()=>{})}notify(u,_){this.listeners.length>0&&this.listeners.forEach(x=>{x.done||x.push({type:u,data:_})})}stop(u){var _;this.done||((_=this.src)==null||_.stop(u),super.stop(u),this.listeners.forEach(x=>{x.stop()}))}close(){return this.stop(),this.iterClosed}closed(){return this.iterClosed}status(){const u=new hr;return this.listeners.push(u),Promise.resolve(u)}}class Mm{constructor(n,u){U(this,"api");U(this,"_info");U(this,"stream");U(this,"name");this.api=n,this._info=u,this.stream=u.stream_name,this.name=u.name}consume(n={max_messages:100,expires:3e4}){return Promise.resolve(new ld(this,n,!0))}fetch(n={max_messages:100,expires:3e4}){const u=new ld(this,n,!1),_=Math.round(u.opts.expires*1.05),x=Ga(_);return u.closed().catch(()=>{}).finally(()=>{x.cancel()}),x.catch(()=>{u.close().catch()}),u.trackTimeout(x),Promise.resolve(u)}next(n={expires:3e4}){const u=Di(),_=n;_.max_messages=1;const x=new ld(this,_,!1),k=Math.round(x.opts.expires*1.05);k>=6e4&&(async()=>{for await(const h of await x.status())if(h.type===Cn.HeartbeatsMissed&&h.data>=2){u.reject(new Error("consumer missed heartbeats"));break}})().catch(),(async()=>{for await(const h of x){u.resolve(h);break}})().catch(()=>{});const S=Ga(k);return x.closed().then(h=>{h?u.reject(h):u.resolve(null)}).catch(h=>{u.reject(h)}).finally(()=>{S.cancel()}),S.catch(h=>{u.resolve(null),x.close().catch()}),x.trackTimeout(S),u}delete(){const{stream_name:n,name:u}=this._info;return this.api.delete(n,u)}info(n=!1){if(n)return Promise.resolve(this._info);const{stream_name:u,name:_}=this._info;return this.api.info(u,_).then(x=>(this._info=x,this._info))}}class W0{constructor(n,u,_={}){U(this,"api");U(this,"consumerOpts");U(this,"consumer");U(this,"opts");U(this,"cursor");U(this,"stream");U(this,"namePrefix");U(this,"serial");U(this,"currentConsumer");U(this,"userCallback");U(this,"iter");U(this,"type");U(this,"startSeq");this.api=n,this.stream=u,this.cursor={stream_seq:1,deliver_seq:0},this.namePrefix=Zo.next(),typeof _.name_prefix=="string"&&(jh("name_prefix",_.name_prefix),this.namePrefix=_.name_prefix+this.namePrefix),this.serial=0,this.currentConsumer=null,this.userCallback=null,this.iter=null,this.type=Cs.Unset,this.consumerOpts=_,this.startSeq=this.consumerOpts.opt_start_seq||0,this.cursor.stream_seq=this.startSeq>0?this.startSeq-1:0}getConsumerOpts(n){this.serial++;const u=`${this.namePrefix}_${this.serial}`;n=n===0?1:n;const _={name:u,deliver_policy:Hi.StartSequence,opt_start_seq:n,ack_policy:cr.None,inactive_threshold:Bi(5*60*1e3),num_replicas:1};return this.consumerOpts.headers_only===!0&&(_.headers_only=!0),Array.isArray(this.consumerOpts.filterSubjects)&&(_.filter_subjects=this.consumerOpts.filterSubjects),typeof this.consumerOpts.filterSubjects=="string"&&(_.filter_subject=this.consumerOpts.filterSubjects),this.consumerOpts.replay_policy&&(_.replay_policy=this.consumerOpts.replay_policy),n===this.startSeq+1&&(_.deliver_policy=this.consumerOpts.deliver_policy||Hi.StartSequence,(this.consumerOpts.deliver_policy===Hi.LastPerSubject||this.consumerOpts.deliver_policy===Hi.New||this.consumerOpts.deliver_policy===Hi.Last)&&(delete _.opt_start_seq,_.deliver_policy=this.consumerOpts.deliver_policy),_.deliver_policy===Hi.LastPerSubject&&typeof _.filter_subjects>"u"&&typeof _.filter_subject>"u"&&(_.filter_subject=">"),this.consumerOpts.opt_start_time&&(delete _.opt_start_seq,_.deliver_policy=Hi.StartTime,_.opt_start_time=this.consumerOpts.opt_start_time),this.consumerOpts.inactive_threshold&&(_.inactive_threshold=Bi(this.consumerOpts.inactive_threshold))),_}async resetConsumer(n=0){var k,S,h,N;(k=this.consumer)==null||k.delete().catch(()=>{}),n=n===0?1:n,this.cursor.deliver_seq=0;const u=this.getConsumerOpts(n);u.max_deliver=1,u.mem_storage=!0;const _=Md();let x;for(let q=0;;q++)try{x=await this.api.add(this.stream,u),(S=this.iter)==null||S.notify(Cn.OrderedConsumerRecreated,x.name);break}catch(ne){if(ne.message==="stream not found"&&((h=this.iter)==null||h.notify(Cn.StreamNotFound,q),this.type===Cs.Fetch||this.opts.abort_on_missing_resource===!0))return(N=this.iter)==null||N.stop(ne),Promise.reject(ne);if(n===0&&q>=30)throw ne;await Wa(_.backoff(q+1))}return x}internalHandler(n){return u=>{var x;if(this.serial!==n)return;const _=u.info.deliverySequence;if(_!==this.cursor.deliver_seq+1){this.notifyOrderedResetAndReset();return}this.cursor.deliver_seq=_,this.cursor.stream_seq=u.info.streamSequence,this.userCallback?this.userCallback(u):(x=this.iter)==null||x.push(u)}}async reset(n={max_messages:100,expires:3e4},u){var N,q;u=u||{};const _=u.fromFetch||!1,x=u.orderedReset||!1;if(this.type===Cs.Fetch&&x){(N=this.iter)==null||N.src.stop(),await((q=this.iter)==null?void 0:q.closed()),this.currentConsumer=null;return}(this.currentConsumer===null||x)&&(this.currentConsumer=await this.resetConsumer(this.cursor.stream_seq+1)),(this.iter===null||_)&&(this.iter=new Z0),this.consumer=new Mm(this.api,this.currentConsumer);const k=n;k.callback=this.internalHandler(this.serial);let S=null;this.type===Cs.Fetch&&_?S=await this.consumer.fetch(n):this.type===Cs.Consume&&(S=await this.consumer.consume(n));const h=S;h.forOrderedConsumer=!0,h.resetHandler=()=>{this.notifyOrderedResetAndReset()},this.iter.setSource(h)}notifyOrderedResetAndReset(){var n;(n=this.iter)==null||n.notify(qa.Reset,""),this.reset(this.opts,{orderedReset:!0})}async consume(n={max_messages:100,expires:3e4}){if(n.bind)return Promise.reject(new Error("bind is not supported"));if(this.type===Cs.Fetch)return Promise.reject(new Error("ordered consumer initialized as fetch"));if(this.type===Cs.Consume)return Promise.reject(new Error("ordered consumer doesn't support concurrent consume"));const{callback:_}=n;return _&&(this.userCallback=_),this.type=Cs.Consume,this.opts=n,await this.reset(n),this.iter}async fetch(n={max_messages:100,expires:3e4}){var x;if(n.bind)return Promise.reject(new Error("bind is not supported"));if(this.type===Cs.Consume)return Promise.reject(new Error("ordered consumer already initialized as consume"));if(((x=this.iter)==null?void 0:x.done)===!1)return Promise.reject(new Error("ordered consumer doesn't support concurrent fetch"));const{callback:_}=n;return _&&(this.userCallback=_),this.type=Cs.Fetch,this.opts=n,await this.reset(n,{fromFetch:!0}),this.iter}async next(n={expires:3e4}){const u=n;if(u.bind)return Promise.reject(new Error("bind is not supported"));u.max_messages=1;const _=Di();return u.callback=k=>{this.userCallback=null,_.resolve(k)},(await this.fetch(u)).iterClosed.then(k=>{k&&_.reject(k),_.resolve(null)}).catch(k=>{_.reject(k)}),_}delete(){return this.currentConsumer?this.api.delete(this.stream,this.currentConsumer.name).then(n=>Promise.resolve(n)).catch(n=>Promise.reject(n)).finally(()=>{this.currentConsumer=null}):Promise.resolve(!1)}async info(n){return this.currentConsumer==null?(this.currentConsumer=await this.resetConsumer(this.serial),Promise.resolve(this.currentConsumer)):n&&this.currentConsumer?Promise.resolve(this.currentConsumer):this.api.info(this.stream,this.currentConsumer.name)}}class zm{constructor(n){U(this,"api");U(this,"notified");this.api=n,this.notified=!1}checkVersion(){const n=this.api.nc.features.get(ii.JS_SIMPLIFICATION);return n.ok?Promise.resolve():Promise.reject(new Error(`consumers framework is only supported on servers ${n.min} or better`))}async get(n,u={}){return typeof u=="object"?this.ordered(n,u):(await this.checkVersion(),this.api.info(n,u).then(_=>_.config.deliver_subject!==void 0?Promise.reject(new Error("push consumer not supported")):new Mm(this.api,_)).catch(_=>Promise.reject(_)))}async ordered(n,u){await this.checkVersion();const _=this.api;return new Fd(_.nc,_.opts).info(n).then(k=>Promise.resolve(new W0(this.api,n,u))).catch(k=>Promise.reject(k))}}class Nh{constructor(n,u){U(this,"api");U(this,"_info");this.api=n,this._info=u}get name(){return this._info.config.name}alternates(){return this.info().then(n=>n.alternates?n.alternates:[])}async best(){if(await this.info(),this._info.alternates){const n=await this.api.info(this._info.alternates[0].name);return new Nh(this.api,n)}else return this}info(n=!1,u){return n?Promise.resolve(this._info):this.api.info(this.name,u).then(_=>(this._info=_,this._info))}getConsumer(n){return new zm(new Rd(this.api.nc,this.api.opts)).get(this.name,n)}getMessage(n){return this.api.getMessage(this.name,n)}deleteMessage(n,u){return this.api.deleteMessage(this.name,n,u)}}class Fd extends cc{constructor(n,u){super(n,u)}checkStreamConfigVersions(n){const u=this.nc;if(n.metadata){const{min:x,ok:k}=u.features.get(ii.JS_STREAM_CONSUMER_METADATA);if(!k)throw new Error(`stream 'metadata' requires server ${x}`)}if(n.first_seq){const{min:x,ok:k}=u.features.get(ii.JS_STREAM_FIRST_SEQ);if(!k)throw new Error(`stream 'first_seq' requires server ${x}`)}if(n.subject_transform){const{min:x,ok:k}=u.features.get(ii.JS_STREAM_SUBJECT_TRANSFORM);if(!k)throw new Error(`stream 'subject_transform' requires server ${x}`)}if(n.compression){const{min:x,ok:k}=u.features.get(ii.JS_STREAM_COMPRESSION);if(!k)throw new Error(`stream 'compression' requires server ${x}`)}if(n.consumer_limits){const{min:x,ok:k}=u.features.get(ii.JS_DEFAULT_CONSUMER_LIMITS);if(!k)throw new Error(`stream 'consumer_limits' requires server ${x}`)}function _(x,k){var h;if((((h=k==null?void 0:k.subject_transforms)==null?void 0:h.length)||0)>0){const{min:N,ok:q}=u.features.get(ii.JS_STREAM_SOURCE_SUBJECT_TRANSFORM);if(!q)throw new Error(`${x} 'subject_transforms' requires server ${N}`)}}n.sources&&n.sources.forEach(x=>{_("stream sources",x)}),n.mirror&&_("stream mirror",n.mirror)}async add(n={}){var x;this.checkStreamConfigVersions(n),Vr(n.name),n.mirror=bh(n.mirror),n.sources=(x=n.sources)==null?void 0:x.map(bh);const _=await this._request(`${this.prefix}.STREAM.CREATE.${n.name}`,n);return this._fixInfo(_),_}async delete(n){return Vr(n),(await this._request(`${this.prefix}.STREAM.DELETE.${n}`)).success}async update(n,u={}){var h;if(typeof n=="object"){const N=n;n=N.name,u=N,console.trace("\x1B[33m >> streams.update(config: StreamConfig) api changed to streams.update(name: string, config: StreamUpdateConfig) - this shim will be removed - update your code. \x1B[0m")}this.checkStreamConfigVersions(u),Vr(n);const _=await this.info(n),x=Object.assign(_.config,u);x.mirror=bh(x.mirror),x.sources=(h=x.sources)==null?void 0:h.map(bh);const S=await this._request(`${this.prefix}.STREAM.UPDATE.${n}`,x);return this._fixInfo(S),S}async info(n,u){Vr(n);const _=`${this.prefix}.STREAM.INFO.${n}`;let k=await this._request(_,u),{total:S,limit:h}=k,N=k.state.subjects?Object.getOwnPropertyNames(k.state.subjects).length:1;if(S&&S>N){const q=[k],ne=u||{};let J=0;for(;S>N;){J++,ne.offset=h*J;const ve=await this._request(_,ne);S=ve.total,q.push(ve);const Ee=Object.getOwnPropertyNames(ve.state.subjects).length;if(N+=Ee,Ee{const S=k;return S.streams.forEach(h=>{this._fixInfo(h)}),S.streams},x=`${this.prefix}.STREAM.LIST`;return new Yl(x,_,this,u)}_fixInfo(n){n.config.sealed=n.config.sealed||!1,n.config.deny_delete=n.config.deny_delete||!1,n.config.deny_purge=n.config.deny_purge||!1,n.config.allow_rollup_hdrs=n.config.allow_rollup_hdrs||!1}async purge(n,u){if(u){const{keep:x,seq:k}=u;if(typeof x=="number"&&typeof k=="number")throw new Error("can specify one of keep or seq")}return Vr(n),await this._request(`${this.prefix}.STREAM.PURGE.${n}`,u)}async deleteMessage(n,u,_=!0){Vr(n);const x={seq:u};return _||(x.no_erase=!0),(await this._request(`${this.prefix}.STREAM.MSG.DELETE.${n}`,x)).success}async getMessage(n,u){Vr(n);const x=await this._request(`${this.prefix}.STREAM.MSG.GET.${n}`,u);return new Dm(x)}find(n){return this.findStream(n)}listKvs(){const n=_=>{var N;const k=_.streams.filter(q=>q.config.name.startsWith(gs));k.forEach(q=>{this._fixInfo(q)});let S="";return k.length&&(S=((N=this.nc.info)==null?void 0:N.cluster)??""),k.map(q=>new Cm(q,S))},u=`${this.prefix}.STREAM.LIST`;return new Yl(u,n,this)}listObjectStores(){const n=_=>{const k=_.streams.filter(h=>h.config.name.startsWith(Od));return k.forEach(h=>{this._fixInfo(h)}),k.map(h=>new wd(h))},u=`${this.prefix}.STREAM.LIST`;return new Yl(u,n,this)}names(n=""){const u=n!=null&&n.length?{subject:n}:{},_=k=>k.streams,x=`${this.prefix}.STREAM.NAMES`;return new Yl(x,_,this,u)}async get(n){const u=await this.info(n);return Promise.resolve(new Nh(this,u))}}class X0 extends cc{constructor(n,u){super(n,u)}async getMessage(n,u){Vr(n);let _=u;const{last_by_subj:x}=_;x&&(_=null);const k=_?this.jc.encode(_):bs,S=this.opts.apiPrefix||"$JS.API",h=x?`${S}.DIRECT.GET.${n}.${x}`:`${S}.DIRECT.GET.${n}`,N=await this.nc.request(h,k),q=Va(N);if(q)return Promise.reject(q);const ne=new Sd(N);return Promise.resolve(ne)}async getBatch(n,u){Vr(n);const x=`${this.opts.apiPrefix||"$JS.API"}.DIRECT.GET.${n}`;if(!Array.isArray(u.multi_last)||u.multi_last.length===0)return Promise.reject("multi_last is required");const k=JSON.stringify(u,(N,q)=>N==="up_to_time"&&q instanceof Date?q.toISOString():q),S=new hr,h=await this.nc.requestMany(x,k,{strategy:Us.SentinelMsg});return(async()=>{var J,G,ve;let N=!1,q=!1,ne;for await(const Ee of h){if(!N){N=!0;const $e=((J=Ee.headers)==null?void 0:J.code)||0;if($e!==0&&$e<200||$e>299){ne=(G=Ee.headers)==null?void 0:G.description.toLowerCase();break}if(((ve=Ee.headers)==null?void 0:ve.get("Nats-Num-Pending"))===""){q=!0;break}}if(Ee.data.length===0)break;S.push(new Sd(Ee))}S.push(()=>{if(q)throw new Error("batch direct get not supported by the server");if(ne)throw new Error(`bad request: ${ne}`);S.stop()})})(),Promise.resolve(S)}}class Sd{constructor(n){U(this,"data");U(this,"header");if(!n.headers)throw new Error("headers expected");this.data=n.data,this.header=n.headers}get subject(){return this.header.last(ja.Subject)}get seq(){const n=this.header.last(ja.Sequence);return typeof n=="string"?parseInt(n):0}get time(){return new Date(Date.parse(this.timestamp))}get timestamp(){return this.header.last(ja.TimeStamp)}get stream(){return this.header.last(ja.Stream)}json(n){return Vs(n).decode(this.data)}string(){return xs.decode(this.data)}}U(Sd,"jc");class J0 extends cc{constructor(u,_){super(u,_);U(this,"streams");U(this,"consumers");U(this,"direct");this.streams=new Fd(u,_),this.consumers=new Rd(u,_),this.direct=new X0(u,_)}async getAccountInfo(){return await this._request(`${this.prefix}.INFO`)}jetstream(){return this.nc.jetstream(this.getOptions())}advisories(){const u=new hr;return this.nc.subscribe("$JS.EVENT.ADVISORY.>",{callback:(_,x)=>{if(_)throw _;try{const k=this.parseJsResponse(x),S=k.type.split("."),h=S[S.length-1];u.push({kind:h,data:k})}catch(k){u.stop(k)}}}),u}}class Dm{constructor(n){U(this,"_header");U(this,"smr");this.smr=n}get subject(){return this.smr.message.subject}get seq(){return this.smr.message.seq}get timestamp(){return this.smr.message.time}get time(){return new Date(Date.parse(this.timestamp))}get data(){return this.smr.message.data?this._parse(this.smr.message.data):bs}get header(){if(!this._header)if(this.smr.message.hdrs){const n=this._parse(this.smr.message.hdrs);this._header=so.decode(n)}else this._header=Dn();return this._header}_parse(n){const u=atob(n),_=u.length,x=new Uint8Array(_);for(let k=0;k<_;k++)x[k]=u.charCodeAt(k);return x}json(n){return Vs(n).decode(this.data)}string(){return xs.decode(this.data)}}U(Dm,"jc");class K0{constructor(n){U(this,"api");this.api=n}get(n){return this.api.info(n).then(u=>new Nh(this.api,u))}}class cd{constructor(n){U(this,"info");U(this,"hdrs");this.info=n}get name(){return this.info.name}get description(){return this.info.description??""}get headers(){return this.hdrs||(this.hdrs=so.fromRecord(this.info.headers||{})),this.hdrs}get options(){return this.info.options}get bucket(){return this.info.bucket}get chunks(){return this.info.chunks}get deleted(){return this.info.deleted??!1}get digest(){return this.info.digest}get mtime(){return this.info.mtime}get nuid(){return this.info.nuid}get size(){return this.info.size}get revision(){return this.info.revision}get metadata(){return this.info.metadata||{}}isLink(){var n,u;return((n=this.info.options)==null?void 0:n.link)!==void 0&&((u=this.info.options)==null?void 0:u.link)!==null}}function Yf(g){const n={name:g.name,description:g.description??"",options:g.options,metadata:g.metadata};if(g.headers){const u=g.headers;n.headers=u.toRecord()}return n}function Y0(){return new ReadableStream({pull(g){g.enqueue(new Uint8Array(0)),g.close()}})}class rc{constructor(n,u,_){U(this,"jsm");U(this,"js");U(this,"stream");U(this,"name");this.name=n,this.jsm=u,this.js=_}_checkNotEmpty(n){return!n||n.length===0?{name:n,error:new Error("name cannot be empty")}:{name:n}}async info(n){const u=await this.rawInfo(n);return u?new cd(u):null}async list(){const n=[],u=await this.watch({ignoreDeletes:!0,includeHistory:!0});for await(const _ of u){if(_===null)break;n.push(_)}return Promise.resolve(n)}async rawInfo(n){const{name:u,error:_}=this._checkNotEmpty(n);if(_)return Promise.reject(_);const x=this._metaSubject(u);try{const k=await this.jsm.streams.getMessage(this.stream,{last_by_subj:x}),h=Vs().decode(k.data);return h.revision=k.seq,h}catch(k){return k.code==="404"?null:Promise.reject(k)}}async _si(n){try{return await this.jsm.streams.info(this.stream,n)}catch(u){return u.code==="404"?null:Promise.reject(u)}}async seal(){let n=await this._si();return n===null?Promise.reject(new Error("object store not found")):(n.config.sealed=!0,n=await this.jsm.streams.update(this.stream,n.config),Promise.resolve(new wd(n)))}async status(n){const u=await this._si(n);return u===null?Promise.reject(new Error("object store not found")):Promise.resolve(new wd(u))}destroy(){return this.jsm.streams.delete(this.stream)}async _put(n,u,_){var Li;const x=this.js.getOptions();_=_||{timeout:x.timeout},_.timeout=_.timeout||x.timeout,_.previousRevision=_.previousRevision??void 0;const{timeout:k,previousRevision:S}=_,h=this.js.nc.info,N=(h==null?void 0:h.max_payload)||1024;n=n||{},n.options=n.options||{};let q=((Li=n.options)==null?void 0:Li.max_chunk_size)||128*1024;q=q>N?N:q,n.options.max_chunk_size=q;const ne=await this.info(n.name),{name:J,error:G}=this._checkNotEmpty(n.name);if(G)return Promise.reject(G);const ve=Zo.next(),Ee=this._chunkSubject(ve),$e=this._metaSubject(J),_t=Object.assign({bucket:this.name,nuid:ve,size:0,chunks:0},Yf(n)),Tt=Di(),xt=[],Ct=new Za;try{const Yt=u?u.getReader():null,Vt=new $f;for(;;){const{done:yt,value:ri}=Yt?await Yt.read():{done:!0,value:void 0};if(yt){if(Ct.size()>0){const De=Ct.drain();Vt.update(De),_t.chunks++,_t.size+=De.length,xt.push(this.js.publish(Ee,De,{timeout:k}))}await Promise.all(xt),xt.length=0,_t.mtime=new Date().toISOString();const Bt=Vt.digest("base64"),ji=Bt.length%3,Lt=ji>0?"=".repeat(ji):"";_t.digest=`${Jf}${Bt}${Lt}`,_t.deleted=!1;const kt=Dn();typeof S=="number"&&kt.set(rn.ExpectedLastSubjectSequenceHdr,`${S}`),kt.set(Gr.RollupHdr,Gr.RollupValueSubject);const pi=await this.js.publish($e,Vs().encode(_t),{headers:kt,timeout:k});if(_t.revision=pi.seq,ne)try{await this.jsm.streams.purge(this.stream,{filter:`$O.${this.name}.C.${ne.nuid}`})}catch{}Tt.resolve(new cd(_t));break}if(ri)for(Ct.fill(ri);Ct.size()>q;){_t.chunks++,_t.size+=q;const Bt=Ct.drain(n.options.max_chunk_size);Vt.update(Bt),xt.push(this.js.publish(Ee,Bt,{timeout:k}))}}}catch(Yt){await this.jsm.streams.purge(this.stream,{filter:Ee}),Tt.reject(Yt)}return Tt}putBlob(n,u,_){function x(k){return new ReadableStream({pull(S){S.enqueue(k),S.close()}})}return u===null&&(u=new Uint8Array(0)),this.put(n,x(u),_)}put(n,u,_){var x;return(x=n==null?void 0:n.options)!=null&&x.link?Promise.reject(new Error("link cannot be set when putting the object in bucket")):this._put(n,u,_)}async getBlob(n){async function u(k){const S=new Za,h=k.getReader();for(;;){const{done:N,value:q}=await h.read();if(N)return S.drain();q&&q.length&&S.fill(q)}}const _=await this.get(n);if(_===null)return Promise.resolve(null);const x=await Promise.all([_.error,u(_.data)]);return x[0]?Promise.reject(x[0]):Promise.resolve(x[1])}async get(n){const u=await this.rawInfo(n);if(u===null||u.deleted)return Promise.resolve(null);if(u.options&&u.options.link){const ne=u.options.link.name||"";if(ne==="")throw new Error("link is a bucket");return(u.options.link.bucket!==this.name?await rc.create(this.js,u.options.link.bucket):this).get(ne)}const _=Di(),x={info:new cd(u),error:_};if(u.size===0)return x.data=Y0(),_.resolve(null),Promise.resolve(x);let k;const S=zn();S.orderedConsumer();const h=new $f,N=`$O.${this.name}.C.${u.nuid}`,q=await this.js.subscribe(N,S);return(async()=>{for await(const ne of q)if(ne.data.length>0&&(h.update(ne.data),k.enqueue(ne.data)),ne.info.pending===0){const J=h.digest("base64"),G=J.length%3,ve=G>0?"=".repeat(G):"",Ee=`${Jf}${J}${ve}`;Ee!==u.digest?k.error(new Error(`received a corrupt object, digests do not match received: ${u.digest} calculated ${Ee}`)):k.close(),q.unsubscribe()}})().then(()=>{_.resolve()}).catch(ne=>{k.error(ne),_.reject(ne)}),x.data=new ReadableStream({start(ne){k=ne},cancel(){q.unsubscribe()}}),x}linkStore(n,u){if(!(u instanceof rc))return Promise.reject("bucket required");const _=u,{name:x,error:k}=this._checkNotEmpty(n);if(k)return Promise.reject(k);const S={name:x,options:{link:{bucket:_.name}}};return this._put(S,null)}async link(n,u){const{name:_,error:x}=this._checkNotEmpty(n);if(x)return Promise.reject(x);if(u.deleted)return Promise.reject(new Error("src object is deleted"));if(u.isLink())return Promise.reject(new Error("src object is a link"));const k=await this.rawInfo(n);if(k!==null&&!k.deleted)return Promise.reject(new Error("an object already exists with that name"));const S={bucket:u.bucket,name:u.name},h={name:_,bucket:u.bucket,options:{link:S}};await this.js.publish(this._metaSubject(n),JSON.stringify(h));const N=await this.info(n);return Promise.resolve(N)}async delete(n){const u=await this.rawInfo(n);if(u===null)return Promise.resolve({purged:0,success:!1});u.deleted=!0,u.size=0,u.chunks=0,u.digest="";const _=Vs(),x=Dn();return x.set(Gr.RollupHdr,Gr.RollupValueSubject),await this.js.publish(this._metaSubject(u.name),_.encode(u),{headers:x}),this.jsm.streams.purge(this.stream,{filter:this._chunkSubject(u.nuid)})}async update(n,u={}){const _=await this.rawInfo(n);if(_===null)return Promise.reject(new Error("object not found"));if(_.deleted)return Promise.reject(new Error("cannot update meta for a deleted object"));u.name=u.name??_.name;const{name:x,error:k}=this._checkNotEmpty(u.name);if(k)return Promise.reject(k);if(n!==u.name){const N=await this.info(u.name);if(N&&!N.deleted)return Promise.reject(new Error("an object already exists with that name"))}u.name=x;const S=Object.assign({},_,Yf(u)),h=await this.js.publish(this._metaSubject(S.name),JSON.stringify(S));return n!==u.name&&await this.jsm.streams.purge(this.stream,{filter:this._metaSubject(n)}),Promise.resolve(h)}async watch(n={}){n.includeHistory=n.includeHistory??!1,n.ignoreDeletes=n.ignoreDeletes??!1;let u=!1;const _=new hr,x=this._metaSubjectAll();try{await this.jsm.streams.getMessage(this.stream,{last_by_subj:x})}catch(N){N.code==="404"?(_.push(null),u=!0):_.stop(N)}const k=Vs(),S=zn();S.orderedConsumer(),n.includeHistory?S.deliverLastPerSubject():(u=!0,S.deliverNew()),S.callback((N,q)=>{var ne;if(N){_.stop(N);return}if(q!==null){const J=k.decode(q.data);J.deleted&&n.ignoreDeletes===!0||_.push(J),((ne=q.info)==null?void 0:ne.pending)===0&&!u&&(u=!0,_.push(null))}});const h=await this.js.subscribe(x,S);return _._data=h,_.iterClosed.then(()=>{h.unsubscribe()}),h.closed.then(()=>{_.stop()}).catch(N=>{_.stop(N)}),_}_chunkSubject(n){return`$O.${this.name}.C.${n}`}_metaSubject(n){return`$O.${this.name}.M.${tc.encode(n)}`}_metaSubjectAll(){return`$O.${this.name}.M.>`}async init(n={}){try{this.stream=$0(this.name)}catch(x){return Promise.reject(x)}const u=(n==null?void 0:n.ttl)||0;delete n.ttl;const _=Object.assign({max_age:u},n);_.name=this.stream,_.num_replicas=n.replicas??1,_.allow_direct=!0,_.allow_rollup_hdrs=!0,_.discard=sc.New,_.subjects=[`$O.${this.name}.C.>`,`$O.${this.name}.M.>`],n.placement&&(_.placement=n.placement),n.metadata&&(_.metadata=n.metadata),typeof n.compression=="boolean"&&(_.compression=n.compression?oo.S2:oo.None);try{await this.jsm.streams.info(_.name)}catch(x){x.message==="stream not found"&&await this.jsm.streams.add(_)}}static async create(n,u,_={}){const x=await n.jetstreamManager(),k=new rc(u,x,n);return await k.init(_),Promise.resolve(k)}}class Q0{constructor(n){U(this,"js");this.js=n}kv(n,u={}){const _=this.js,{ok:x,min:k}=_.nc.features.get(ii.JS_KV);return x?u.bindOnly?oc.bind(this.js,n,u):oc.create(this.js,n,u):Promise.reject(new Error(`kv is only supported on servers ${k} or better`))}os(n,u={}){var S;if(typeof((S=crypto==null?void 0:crypto.subtle)==null?void 0:S.digest)!="function")return Promise.reject(new Error("objectstore: unable to calculate hashes - crypto.subtle.digest with sha256 support is required"));const _=this.js,{ok:x,min:k}=_.nc.features.get(ii.JS_OBJECTSTORE);return x?rc.create(this.js,n,u):Promise.reject(new Error(`objectstore is only supported on servers ${k} or better`))}}class Bd extends cc{constructor(u,_){super(u,_);U(this,"consumers");U(this,"streams");U(this,"consumerAPI");U(this,"streamAPI");this.consumerAPI=new Rd(u,_),this.streamAPI=new Fd(u,_),this.consumers=new zm(this.consumerAPI),this.streams=new K0(this.streamAPI)}jetstreamManager(u){u===void 0&&(u=this.opts.checkAPI);const _=Object.assign({},this.opts,{checkAPI:u});return this.nc.jetstreamManager(_)}get apiPrefix(){return this.prefix}get views(){return new Q0(this)}async publish(u,_=bs,x){x=x||{},x.expect=x.expect||{};const k=(x==null?void 0:x.headers)||Dn();x&&(x.msgID&&k.set(rn.MsgIdHdr,x.msgID),x.expect.lastMsgID&&k.set(rn.ExpectedLastMsgIdHdr,x.expect.lastMsgID),x.expect.streamName&&k.set(rn.ExpectedStreamHdr,x.expect.streamName),typeof x.expect.lastSequence=="number"&&k.set(rn.ExpectedLastSeqHdr,`${x.expect.lastSequence}`),typeof x.expect.lastSubjectSequence=="number"&&k.set(rn.ExpectedLastSubjectSequenceHdr,`${x.expect.lastSubjectSequence}`));const S=x.timeout||this.timeout,h={};S&&(h.timeout=S),x&&(h.headers=k);let{retries:N,retry_delay:q}=x;N=N||1,q=q||250;let ne;for(let G=0;Gk&&(k=x),x=x<0?0:Bi(x);const S={batch:1,no_wait:x===0,expires:x},h=await this.nc.request(`${this.prefix}.CONSUMER.MSG.NEXT.${u}.${_}`,this.jc.encode(S),{noMux:!0,timeout:k}),N=Va(h);if(N)throw N;return ac(h,this.timeout)}fetch(u,_,x={}){Vr(u),Ua(_);let k=null;const S=(x.max_bytes??0)>0;let h=0;const N=S?x.max_bytes:0;let q=null;const ne={};if(ne.batch=x.batch||1,N){const xt=this.nc.features.get(ii.JS_PULL_MAX_BYTES);if(!xt.ok)throw new Error(`max_bytes is only supported on servers ${xt.min} or better`);ne.max_bytes=N}ne.no_wait=x.no_wait||!1,ne.no_wait&&ne.expires&&(ne.expires=0);const J=x.expires||0;if(J&&(ne.expires=Bi(J)),J===0&&ne.no_wait===!1)throw new Error("expires or no_wait is required");const G=x.idle_heartbeat||0;G&&(ne.idle_heartbeat=Bi(G),x.delay_heartbeat===!0&&(ne.idle_heartbeat=Bi(G*4)));const ve=new hr,Ee=ne.batch;let $e=0;ve.protocolFilterFn=(xt,Ct=!1)=>md(xt.msg)?(q==null||q.work(),!1):!0,ve.dispatchedFn=xt=>{if(xt){if(S&&(h+=xt.data.length),$e++,k&&xt.info.pending===0)return;(ve.getPending()===1&&xt.info.pending===0||Ee===$e||N>0&&h>=N)&&ve.stop()}};const _t=nn(this.nc.options.inboxPrefix),Tt=this.nc.subscribe(_t,{max:x.batch,callback:(xt,Ct)=>{xt===null&&(xt=Va(Ct)),xt!==null?(k&&(k.cancel(),k=null),Sy(xt)?ve.stop(Rm(xt)===null?void 0:xt):ve.stop(xt)):(q==null||q.work(),ve.received++,ve.push(ac(Ct,this.timeout)))}});return J&&(k=Ga(J),k.catch(()=>{Tt.isClosed()||(Tt.drain().catch(()=>{}),k=null),q&&q.cancel()})),(async()=>{try{G&&(q=new Ld(G,xt=>(ve.push(()=>{ve.err=new ht(`${Ms.IdleHeartbeatMissed}: ${xt}`,He.JetStreamIdleHeartBeat)}),!0)))}catch{}await Tt.closed,k!==null&&(k.cancel(),k=null),q&&q.cancel(),ve.stop()})().catch(),this.nc.publish(`${this.prefix}.CONSUMER.MSG.NEXT.${u}.${_}`,this.jc.encode(ne),{reply:_t}),ve}async pullSubscribe(u,_=zn()){const x=await this._processOptions(u,_);if(x.ordered)throw new Error("pull subscribers cannot be be ordered");if(x.config.deliver_subject)throw new Error("consumer info specifies deliver_subject - pull consumers cannot have deliver_subject set");const k=x.config.ack_policy;if(k===cr.None||k===cr.All)throw new Error("ack policy for pull consumers must be explicit");const S=this._buildTypedSubscriptionOpts(x),h=new rx(this,x.deliver,S);h.info=x;try{await this._maybeCreateConsumer(x)}catch(N){throw h.unsubscribe(),N}return h}async subscribe(u,_=zn()){const x=await this._processOptions(u,_);if(!x.isBind&&!x.config.deliver_subject)throw new Error("push consumer requires deliver_subject");const k=this._buildTypedSubscriptionOpts(x),S=new Lm(this,x.deliver,k);S.info=x;try{await this._maybeCreateConsumer(x)}catch(h){throw S.unsubscribe(),h}return S._maybeSetupHbMonitoring(),S}async _processOptions(u,_=zn()){const x=jf(_)?_.getOpts():_;if(x.isBind=jf(_)?_.isBind:!1,x.flow_control={heartbeat_count:0,fc_count:0,consumer_restarts:0},x.ordered){if(x.ordered_consumer_sequence={stream_seq:0,delivery_seq:0},x.config.ack_policy!==cr.NotSet&&x.config.ack_policy!==cr.None)throw new ht("ordered consumer: ack_policy can only be set to 'none'",He.ApiError);if(x.config.durable_name&&x.config.durable_name.length>0)throw new ht("ordered consumer: durable_name cannot be set",He.ApiError);if(x.config.deliver_subject&&x.config.deliver_subject.length>0)throw new ht("ordered consumer: deliver_subject cannot be set",He.ApiError);if(x.config.max_deliver!==void 0&&x.config.max_deliver>1)throw new ht("ordered consumer: max_deliver cannot be set",He.ApiError);if(x.config.deliver_group&&x.config.deliver_group.length>0)throw new ht("ordered consumer: deliver_group cannot be set",He.ApiError);x.config.deliver_subject=nn(this.nc.options.inboxPrefix),x.config.ack_policy=cr.None,x.config.max_deliver=1,x.config.flow_control=!0,x.config.idle_heartbeat=x.config.idle_heartbeat||Bi(5e3),x.config.ack_wait=Bi(22*60*60*1e3),x.config.mem_storage=!0,x.config.num_replicas=1}if(x.config.ack_policy===cr.NotSet&&(x.config.ack_policy=cr.All),x.api=this,x.config=x.config||{},x.stream=x.stream?x.stream:await this.findStream(u),x.attached=!1,x.config.durable_name)try{const k=await this.consumerAPI.info(x.stream,x.config.durable_name);if(k){if(k.config.filter_subject&&k.config.filter_subject!==u)throw new Error("subject does not match consumer");const S=x.config.deliver_group??"";if(S===""&&k.push_bound===!0)throw new Error("duplicate subscription");const h=k.config.deliver_group??"";if(S!==h)throw h===""?new Error("durable requires no queue group"):new Error(`durable requires queue group '${h}'`);x.last=k,x.config=k.config,x.attached=!0,x.config.durable_name||(x.name=k.name)}}catch(k){if(k.code!=="404")throw k}return!x.attached&&x.config.filter_subject===void 0&&x.config.filter_subjects===void 0&&(x.config.filter_subject=u),x.deliver=x.config.deliver_subject||nn(this.nc.options.inboxPrefix),x}_buildTypedSubscriptionOpts(u){const _={};return _.adapter=sx(u.callbackFn===void 0,this.timeout),_.ingestionFilterFn=Bd.ingestionFn(u.ordered),_.protocolFilterFn=(x,k=!1)=>{const S=x;return fd(S.msg)?(k||S.msg.respond(),!1):!0},!u.mack&&u.config.ack_policy!==cr.None&&(_.dispatchedFn=ax),u.callbackFn&&(_.callback=u.callbackFn),_.max=u.max||0,_.queue=u.queue,_}async _maybeCreateConsumer(u){if(u.attached)return;if(u.isBind)throw new Error(`unable to bind - durable consumer ${u.config.durable_name} doesn't exist in ${u.stream}`);u.config=Object.assign({deliver_policy:Hi.All,ack_policy:cr.Explicit,ack_wait:Bi(30*1e3),replay_policy:Ha.Instant},u.config);const _=await this.consumerAPI.add(u.stream,u.config);if(Array.isArray(u.config.filter_subjects&&!Array.isArray(_.config.filter_subjects)))throw new Error("jetstream server doesn't support consumers with multiple filter subjects");u.name=_.name,u.config=_.config,u.last=_}static ingestionFn(u){return(_,x)=>{var N;const k=x;if(!_)return{ingest:!1,protocol:!1};const S=_;if(Va(S.msg)||(N=k.monitor)==null||N.work(),md(S.msg)){const q=u?k._checkHbOrderConsumer(S.msg):!0;return u||k.info.flow_control.heartbeat_count++,{ingest:q,protocol:!0}}else if(fd(S.msg))return k.info.flow_control.fc_count++,{ingest:!0,protocol:!0};return{ingest:u?k._checkOrderedConsumer(_):!0,protocol:!1}}}}class jd{constructor(n){U(this,"options");U(this,"protocol");U(this,"draining");U(this,"listeners");U(this,"_services");this.draining=!1,this.options=w0(n),this.listeners=[]}static connect(n={}){return new Promise((u,_)=>{const x=new jd(n);Lh.connect(x.options,x).then(k=>{x.protocol=k,async function(){for await(const S of k.status())x.listeners.forEach(h=>{h.push(S)})}(),u(x)}).catch(k=>{_(k)})})}closed(){return this.protocol.closed}async close(){await this.protocol.close()}_check(n,u,_){if(this.isClosed())throw ht.errorForCode(He.ConnectionClosed);if(u&&this.isDraining()||_&&this.protocol.noMorePublishing)throw ht.errorForCode(He.ConnectionDraining);if(n=n||"",n.length===0)throw ht.errorForCode(He.BadSubject)}publish(n,u,_){this._check(n,!1,!0),this.protocol.publish(n,u,_)}publishMessage(n){return this.publish(n.subject,n.data,{reply:n.reply,headers:n.headers})}respondMessage(n){return n.reply?(this.publish(n.reply,n.data,{reply:n.reply,headers:n.headers}),!0):!1}subscribe(n,u={}){this._check(n,!0,!1);const _=new Am(this.protocol,n,u);return this.protocol.subscribe(_),_}_resub(n,u,_){this._check(u,!0,!1);const x=n;x.max=_,_&&(x.max=_+x.received),this.protocol.resub(x,u)}requestMany(n,u=bs,_={maxWait:1e3,maxMessages:-1}){const x=!this.protocol.options.noAsyncTraces;try{this._check(n,!0,!0)}catch(N){return Promise.reject(N)}if(_.strategy=_.strategy||Us.Timer,_.maxWait=_.maxWait||1e3,_.maxWait<1)return Promise.reject(new ht("timeout",He.InvalidOption));const k=new hr;function S(N){k.push(()=>{k.stop(N)})}function h(N,q){N||q===null?S(N===null?void 0:N):k.push(q)}if(_.noMux){const N=x?new Error().stack:null;let q=typeof _.maxMessages=="number"&&_.maxMessages>0?_.maxMessages:-1;const ne=this.subscribe(nn(this.options.inboxPrefix),{callback:(Ee,$e)=>{var _t,Tt;if(((_t=$e==null?void 0:$e.data)==null?void 0:_t.length)===0&&((Tt=$e==null?void 0:$e.headers)==null?void 0:Tt.status)===He.NoResponders&&(Ee=ht.errorForCode(He.NoResponders)),Ee){N&&(Ee.stack+=` + +${N}`),J(Ee);return}h(null,$e),_.strategy===Us.Count&&(q--,q===0&&J()),_.strategy===Us.JitterTimer&&(ve(),G=setTimeout(()=>{J()},300)),_.strategy===Us.SentinelMsg&&$e&&$e.data.length===0&&J()}});ne.requestSubject=n,ne.closed.then(()=>{S()}).catch(Ee=>{k.stop(Ee)});const J=Ee=>{Ee&&k.push(()=>{throw Ee}),ve(),ne.drain().then(()=>{S()}).catch($e=>{S()})};k.iterClosed.then(()=>{ve(),ne==null||ne.unsubscribe()}).catch(Ee=>{ve(),ne==null||ne.unsubscribe()});try{this.publish(n,u,{reply:ne.getSubject()})}catch(Ee){J(Ee)}let G=setTimeout(()=>{J()},_.maxWait);const ve=()=>{G&&clearTimeout(G)}}else{const N=_;N.callback=h,k.iterClosed.then(()=>{q.cancel()}).catch(ne=>{q.cancel(ne)});const q=new $y(this.protocol.muxSubscriptions,n,N);this.protocol.request(q);try{this.publish(n,u,{reply:`${this.protocol.muxSubscriptions.baseInbox}${q.token}`,headers:_.headers})}catch(ne){q.cancel(ne)}}return Promise.resolve(k)}request(n,u,_={timeout:1e3,noMux:!1}){try{this._check(n,!0,!0)}catch(k){return Promise.reject(k)}const x=!this.protocol.options.noAsyncTraces;if(_.timeout=_.timeout||1e3,_.timeout<1)return Promise.reject(new ht("timeout",He.InvalidOption));if(!_.noMux&&_.reply)return Promise.reject(new ht("reply can only be used with noMux",He.InvalidOption));if(_.noMux){const k=_.reply?_.reply:nn(this.options.inboxPrefix),S=Di(),h=x?new Error:null,N=this.subscribe(k,{max:1,timeout:_.timeout,callback:(q,ne)=>{q?(h&&q.code!==He.Timeout&&(q.stack+=` + +${h.stack}`),N.unsubscribe(),S.reject(q)):(q=gm(ne),q?(h&&(q.stack+=` + +${h.stack}`),S.reject(q)):S.resolve(ne))}});return N.requestSubject=n,this.protocol.publish(n,u,{reply:k,headers:_.headers}),S}else{const k=new wm(this.protocol.muxSubscriptions,n,_,x);this.protocol.request(k);try{this.publish(n,u,{reply:`${this.protocol.muxSubscriptions.baseInbox}${k.token}`,headers:_.headers})}catch(h){k.cancel(h)}const S=Promise.race([k.timer,k.deferred]);return S.catch(()=>{k.cancel()}),S}}flush(){return this.isClosed()?Promise.reject(ht.errorForCode(He.ConnectionClosed)):this.protocol.flush()}drain(){return this.isClosed()?Promise.reject(ht.errorForCode(He.ConnectionClosed)):this.isDraining()?Promise.reject(ht.errorForCode(He.ConnectionDraining)):(this.draining=!0,this.protocol.drain())}isClosed(){return this.protocol.isClosed()}isDraining(){return this.draining}getServer(){const n=this.protocol.getServer();return n?n.listen:""}status(){const n=new hr;return n.iterClosed.then(()=>{const u=this.listeners.indexOf(n);this.listeners.splice(u,1)}),this.listeners.push(n),n}get info(){return this.protocol.isClosed()?void 0:this.protocol.info}async context(){return(await this.request("$SYS.REQ.USER.INFO")).json((u,_)=>u==="time"?new Date(Date.parse(_)):_)}stats(){return{inBytes:this.protocol.inBytes,outBytes:this.protocol.outBytes,inMsgs:this.protocol.inMsgs,outMsgs:this.protocol.outMsgs}}async jetstreamManager(n={}){const u=new J0(this,n);if(n.checkAPI!==!1)try{await u.getAccountInfo()}catch(_){const x=_;throw x.code===He.NoResponders&&(x.code=He.JetStreamNotEnabled),x}return u}jetstream(n={}){return new Bd(this,n)}getServerVersion(){const n=this.info;return n?qo(n.version):void 0}async rtt(){if(!this.protocol._closed&&!this.protocol.connected)throw ht.errorForCode(He.Disconnect);const n=Date.now();return await this.flush(),Date.now()-n}get features(){return this.protocol.features}get services(){return this._services||(this._services=new ex(this)),this._services}reconnect(){return this.isClosed()?Promise.reject(ht.errorForCode(He.ConnectionClosed)):this.isDraining()?Promise.reject(ht.errorForCode(He.ConnectionDraining)):this.protocol.reconnect()}}class ex{constructor(n){U(this,"nc");this.nc=n}add(n){try{return new hc(this.nc,n).start()}catch(u){return Promise.reject(u)}}client(n,u){return new D0(this.nc,n,u)}}class tx{constructor(n,u,_){U(this,"bucket");U(this,"sm");U(this,"prefixLen");this.bucket=n,this.prefixLen=u,this.sm=_}get key(){return this.sm.subject.substring(this.prefixLen)}get value(){return this.sm.data}get delta(){return 0}get created(){return this.sm.time}get revision(){return this.sm.seq}get operation(){return this.sm.header.get(Rh)||"PUT"}get length(){const n=this.sm.header.get(Gr.MessageSizeHdr)||"";return n!==""?parseInt(n,10):this.sm.data.length}json(){return this.sm.json()}string(){return this.sm.string()}}class ix{constructor(n,u,_){U(this,"bucket");U(this,"key");U(this,"sm");this.bucket=n,this.key=u,this.sm=_}get value(){return this.sm.data}get created(){return new Date(zd(this.sm.info.timestampNanos))}get revision(){return this.sm.seq}get operation(){var n;return((n=this.sm.headers)==null?void 0:n.get(Rh))||"PUT"}get delta(){return this.sm.info.pending}get length(){var u;const n=((u=this.sm.headers)==null?void 0:u.get(Gr.MessageSizeHdr))||"";return n!==""?parseInt(n,10):this.sm.data.length}json(){return this.sm.json()}string(){return this.sm.string()}}class Lm extends Gy{constructor(u,_,x){super(u.nc,_,x);U(this,"js");U(this,"monitor");this.js=u,this.monitor=null,this.sub.closed.then(()=>{this.monitor&&this.monitor.cancel()})}set info(u){this.sub.info=u}get info(){return this.sub.info}_resetOrderedConsumer(u){if(this.info===null||this.sub.isClosed())return;const _=nn(this.js.nc.options.inboxPrefix);this.js.nc._resub(this.sub,_);const k=this.info;k.config.name=Zo.next(),k.ordered_consumer_sequence.delivery_seq=0,k.flow_control.heartbeat_count=0,k.flow_control.fc_count=0,k.flow_control.consumer_restarts++,k.deliver=_,k.config.deliver_subject=_,k.config.deliver_policy=Hi.StartSequence,k.config.opt_start_seq=u;const S={};S.stream_name=this.info.stream,S.config=k.config;const h=`${k.api.prefix}.CONSUMER.CREATE.${k.stream}`;this.js._request(h,S,{retries:-1}).then(N=>{const q=N,ne=this.sub.info;ne.last=q,this.info.config=q.config,this.info.name=q.name}).catch(N=>{const q=new ht(`unable to recreate ordered consumer ${k.stream} at seq ${u}`,He.RequestError,N);this.sub.callback(q,{})})}_maybeSetupHbMonitoring(){var _,x;const u=((x=(_=this.info)==null?void 0:_.config)==null?void 0:x.idle_heartbeat)||0;u&&this._setupHbMonitoring(zd(u))}_setupHbMonitoring(u,_=0){const x={cancelAfter:0,maxOut:2};_&&(x.cancelAfter=_);const k=this.sub,S=h=>{var ne,J,G,ve;const N=Ey(409,`${Ms.IdleHeartbeatMissed}: ${h}`,this.sub.subject);if(!((ne=this.info)==null?void 0:ne.ordered))this.sub.callback(null,N);else{if(!this.js.nc.protocol.connected)return!1;const Ee=((G=(J=this.info)==null?void 0:J.ordered_consumer_sequence)==null?void 0:G.stream_seq)||0;return this._resetOrderedConsumer(Ee+1),(ve=this.monitor)==null||ve.restart(),!1}return!k.noIterator};this.monitor=new Ld(u,S,x)}_checkHbOrderConsumer(u){const _=u.headers.get(Gr.ConsumerStalledHdr);_!==""&&this.js.nc.publish(_);const x=parseInt(u.headers.get(Gr.LastConsumerSeqHdr),10),k=this.info.ordered_consumer_sequence;return this.info.flow_control.heartbeat_count++,x!==k.delivery_seq&&this._resetOrderedConsumer(k.stream_seq+1),!1}_checkOrderedConsumer(u){const _=this.info.ordered_consumer_sequence,x=u.info.streamSequence,k=u.info.deliverySequence;return k!=_.delivery_seq+1?(this._resetOrderedConsumer(_.stream_seq+1),!1):(_.delivery_seq=k,_.stream_seq=x,!0)}async destroy(){this.isClosed()||await this.drain();const u=this.sub.info,_=u.config.durable_name||u.name,x=`${u.api.prefix}.CONSUMER.DELETE.${u.stream}.${_}`;await u.api._request(x)}async consumerInfo(){const u=this.sub.info,_=u.config.durable_name||u.name,x=`${u.api.prefix}.CONSUMER.INFO.${u.stream}.${_}`,k=await u.api._request(x);return u.last=k,k}}class rx extends Lm{constructor(n,u,_){super(n,u,_)}pull(n={batch:1}){const{stream:u,config:_,name:x}=this.sub.info,k=_.durable_name??x,S={};if(S.batch=n.batch||1,S.no_wait=n.no_wait||!1,(n.max_bytes??0)>0){const q=this.js.nc.features.get(ii.JS_PULL_MAX_BYTES);if(!q.ok)throw new Error(`max_bytes is only supported on servers ${q.min} or better`);S.max_bytes=n.max_bytes}let h=0;n.expires&&n.expires>0&&(h=n.expires,S.expires=Bi(h));let N=0;if(n.idle_heartbeat&&n.idle_heartbeat>0&&(N=n.idle_heartbeat,S.idle_heartbeat=Bi(N)),N&&h===0)throw new Error("idle_heartbeat requires expires");if(N>h)throw new Error("expires must be greater than idle_heartbeat");if(this.info){this.monitor&&this.monitor.cancel(),h&&N&&(this.monitor?this.monitor._change(N,h):this._setupHbMonitoring(N,h));const q=this.info.api,ne=`${q.prefix}.CONSUMER.MSG.NEXT.${u}.${k}`,J=this.sub.subject;q.nc.publish(ne,q.jc.encode(S),{reply:J})}}}function sx(g,n){return g?ox(n):nx(n)}function nx(g){return(n,u)=>n?[n,null]:(n=Va(u),n?[n,null]:[null,ac(u,g)])}function ox(g){return(n,u)=>{if(n)return[n,null];const _=Va(u);return _!==null?[Rm(_),null]:[null,ac(u,g)]}}function Rm(g){if(g!==null)switch(g.code){case He.JetStream404NoMessages:case He.JetStream408RequestTimeout:return null;case He.JetStream409:return Ay(g)?g:null;default:return g}return null}function ax(g){g&&g.ack()}function lx(g){const n=g.split(".");if(n.length===9&&n.splice(2,0,"_",""),n.length<11||n[0]!=="$JS"||n[1]!=="ACK")throw new Error("not js message");const u={};return u.domain=n[2]==="_"?"":n[2],u.account_hash=n[3],u.stream=n[4],u.consumer=n[5],u.redeliveryCount=parseInt(n[6],10),u.redelivered=u.redeliveryCount>1,u.streamSequence=parseInt(n[7],10),u.deliverySequence=parseInt(n[8],10),u.timestampNanos=parseInt(n[9],10),u.pending=parseInt(n[10],10),u}class cx{constructor(n,u){U(this,"msg");U(this,"di");U(this,"didAck");U(this,"timeout");this.msg=n,this.didAck=!1,this.timeout=u}get subject(){return this.msg.subject}get sid(){return this.msg.sid}get data(){return this.msg.data}get headers(){return this.msg.headers}get info(){return this.di||(this.di=lx(this.reply)),this.di}get redelivered(){return this.info.redeliveryCount>1}get reply(){return this.msg.reply||""}get seq(){return this.info.streamSequence}doAck(n){this.didAck||(this.didAck=!this.isWIP(n),this.msg.respond(n))}isWIP(n){return n.length===4&&n[0]===Jl[0]&&n[1]===Jl[1]&&n[2]===Jl[2]&&n[3]===Jl[3]}async ackAck(n){var _;n=n||{},n.timeout=n.timeout||this.timeout;const u=Di();if(this.didAck)u.resolve(!1);else if(this.didAck=!0,this.msg.reply){const k=this.msg.publisher,S=!((_=k.options)!=null&&_.noAsyncTraces),h=new wm(k.muxSubscriptions,this.msg.reply,{timeout:n.timeout},S);k.request(h);try{k.publish(this.msg.reply,Kf,{reply:`${k.muxSubscriptions.baseInbox}${h.token}`})}catch(N){h.cancel(N)}try{await Promise.race([h.timer,h.deferred]),u.resolve(!0)}catch(N){h.cancel(N),u.reject(N)}}else u.resolve(!1);return u}ack(){this.doAck(Kf)}nak(n){let u=V0;n&&(u=pd().encode(`-NAK ${JSON.stringify({delay:Bi(n)})}`)),this.doAck(u)}working(){this.doAck(Jl)}next(n,u={batch:1}){const _={};_.batch=u.batch||1,_.no_wait=u.no_wait||!1,u.expires&&u.expires>0&&(_.expires=Bi(u.expires));const x=Vs().encode(_),k=Za.concat(q0,H0,x),S=n?{reply:n}:void 0;this.msg.respond(k,S)}term(n=""){let u=G0;(n==null?void 0:n.length)>0&&(u=pd().encode(`+TERM ${n}`)),this.doAck(u)}json(){return this.msg.json()}string(){return this.msg.string()}}const hx="1.29.2",ux="nats.ws";class dx{constructor(){U(this,"version");U(this,"lang");U(this,"closeError");U(this,"connected");U(this,"done");U(this,"socket");U(this,"options");U(this,"socketClosed");U(this,"encrypted");U(this,"peeked");U(this,"yields");U(this,"signal");U(this,"closedNotification");this.version=hx,this.lang=ux,this.connected=!1,this.done=!1,this.socketClosed=!1,this.encrypted=!1,this.peeked=!1,this.yields=[],this.signal=Di(),this.closedNotification=Di()}async connect(n,u){const _=Di();if(u.tls)return _.reject(new ht("tls",He.InvalidOption)),_;this.options=u;const x=n.src;if(u.wsFactory){const{socket:k,encrypted:S}=await u.wsFactory(n.src,u);this.socket=k,this.encrypted=S}else this.encrypted=x.indexOf("wss://")===0,this.socket=new WebSocket(x);return this.socket.binaryType="arraybuffer",this.socket.onopen=()=>{this.isDiscarded()},this.socket.onmessage=k=>{if(this.isDiscarded())return;if(this.yields.push(new Uint8Array(k.data)),this.peeked){this.signal.resolve();return}const S=Za.concat(...this.yields),h=Ky(S);if(h!==""){const N=T0.exec(h);if(!N){u.debug&&console.error("!!!",yh(S)),_.reject(new Error("unexpected response from server"));return}try{const q=JSON.parse(N[1]);S0(q,this.options),this.peeked=!0,this.connected=!0,this.signal.resolve(),_.resolve()}catch(q){_.reject(q);return}}},this.socket.onclose=k=>{if(this.isDiscarded())return;this.socketClosed=!0;let S;this.done||(k.wasClean||(S=new Error(k.reason)),this._closed(S))},this.socket.onerror=k=>{if(this.isDiscarded())return;const S=k,h=new ht(S.message,He.Unknown,new Error(S.error));_.reject(h)},_}disconnect(){this._closed(void 0,!0)}async _closed(n,u=!0){if(!this.isDiscarded()&&this.connected&&!this.done){if(this.closeError=n,!n)for(;!this.socketClosed&&this.socket.bufferedAmount>0;)await Wa(100);this.done=!0;try{this.socket.close(n?1002:1e3,n?n.message:void 0)}catch{}u&&this.closedNotification.resolve(n)}}get isClosed(){return this.done}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){for(;;){if(this.isDiscarded())return;this.yields.length===0&&await this.signal;const n=this.yields;this.yields=[];for(let u=0;u ${yh(n[u])}`),yield n[u];if(this.done)break;this.yields.length===0&&(n.length=0,this.yields=n,this.signal=Di())}}isEncrypted(){return this.connected&&this.encrypted}send(n){if(!this.isDiscarded())try{this.socket.send(n.buffer),this.options.debug&&console.info(`< ${yh(n)}`);return}catch(u){this.options.debug&&console.error(`!!! ${yh(n)}: ${u}`)}}close(n){return this._closed(n,!1)}closed(){return this.closedNotification}isDiscarded(){return this.done?(this.discard(),!0):!1}discard(){var n;this.done=!0;try{(n=this.socket)==null||n.close()}catch{}}}function px(g,n){/^(.*:\/\/)(.*)/.test(g)||(typeof n=="boolean"?g=`${n===!0?"https":"http"}://${g}`:g=`https://${g}`);let _=new URL(g);const x=_.protocol.toLowerCase();x==="ws:"&&(n=!1),x==="wss:"&&(n=!0),x!=="https:"&&x!=="http"&&(g=g.replace(/^(.*:\/\/)(.*)/gm,"$2"),_=new URL(`http://${g}`));let k,S;const h=_.hostname,N=_.pathname,q=_.search||"";switch(x){case"http:":case"ws:":case"nats:":S=_.port||"80",k="ws:";break;case"https:":case"wss:":case"tls:":S=_.port||"443",k="wss:";break;default:S=_.port||n===!0?"443":"80",k=n===!0?"wss:":"ws:";break}return`${k}//${h}:${S}${N}${q}`}function fx(g={}){return Hy({defaultPort:443,urlParseFn:px,factory:()=>new dx}),jd.connect(g)}const mx=pd(),_x="---";class gx{constructor(n=!0){U(this,"isConnected",Gi(!1));U(this,"vehicles",Gi({}));U(this,"stops",Gi({}));U(this,"trips",Gi({}));U(this,"subscriptions",Gi({}));U(this,"subscriptionsQueue",{});U(this,"nc");U(this,"js",Gi());n&&this.load()}async load(){this.nc=await fx({servers:[Xg],waitOnFirstConnect:!0,maxReconnectAttempts:-1}),this.isConnected.value=!0,this.js.value=this.nc.jetstream(),await this.processSubscriptionsQueue(),(async()=>{if(!this.nc)throw new Error("NATS connection is not initialized");for await(const n of this.nc.status())n.type===Ns.Disconnect&&(this.isConnected.value=!1),n.type===Ns.Reconnect&&(this.isConnected.value=!0,await this.processSubscriptionsQueue())})()}async subscribe(n,u){if(this.subscriptions.value[n])return;if(!this.isConnected.value||!this.js.value){this.subscriptionsQueue[n]=u;return}let _=()=>{};this.subscriptions.value[n]={pending:new Promise(S=>{_=S})};const x=zn();x.deliverTo(nn()),x.deliverAll(),x.ackNone(),x.replayInstantly();const k=await this.js.value.subscribe(n,x);this.subscriptions.value[n].subscription=k,_(),(async()=>{for await(const S of k){const h=mx.decode(S.data);if(h!==_x){const N=JSON.parse(h);h!==JSON.stringify(u.value[N.id])&&(u.value=Object.freeze({...u.value,[N.id]:Object.freeze(N)}))}}})()}async unsubscribe(n){var u,_;if(this.subscriptions.value[n]){const{pending:x}=this.subscriptions.value[n];x&&await x,(_=(u=this.subscriptions.value[n])==null?void 0:u.subscription)==null||_.unsubscribe(),delete this.subscriptions.value[n]}this.subscriptionsQueue[n]&&delete this.subscriptionsQueue[n]}async processSubscriptionsQueue(){await Promise.all(Object.keys(this.subscriptionsQueue).map(async n=>{await this.subscribe(n,this.subscriptionsQueue[n]),delete this.subscriptionsQueue[n]}))}useStops(){return this.subscribe("data.map.stop.>",this.stops),{stops:_i(()=>Object.values(this.stops.value)),loading:Gi(!1),unsubscribe:async()=>{await this.unsubscribe("data.map.stop.>")}}}useVehicles(){return this.subscribe("data.map.vehicle.>",this.vehicles),{vehicles:_i(()=>Object.values(this.vehicles.value)),loading:Gi(!1),unsubscribe:async()=>{await this.unsubscribe("data.map.vehicle.>")}}}useStop(n){return n&&this.subscribe(`data.map.stop.${n.value}`,this.stops),io(n,async(u,_)=>{_&&await this.unsubscribe(`data.map.stop.${_}`),u&&await this.subscribe(`data.map.stop.${u}`,this.stops)}),{stop:_i(()=>n.value?this.stops.value[n.value]??null:null),loading:Gi(!1),unsubscribe:async()=>{await this.unsubscribe(`data.map.stop.${n.value}`)}}}useVehicle(n){return n&&this.subscribe(`data.map.vehicle.${n.value}`,this.vehicles),io(n,async(u,_)=>{_&&await this.unsubscribe(`data.map.vehicle.${_}`),u&&await this.subscribe(`data.map.vehicle.${u}`,this.vehicles)}),{vehicle:_i(()=>n.value?this.vehicles.value[n.value]??null:null),loading:Gi(!1),unsubscribe:async()=>{await this.unsubscribe(`data.map.vehicle.${n.value}`)}}}useTrip(n){return n.value&&this.subscribe(`data.map.trip.${n.value}`,this.trips),io(n,async(u,_)=>{_&&await this.unsubscribe(`data.map.trip.${_}`),u&&await this.subscribe(`data.map.trip.${u}`,this.trips)}),{trip:_i(()=>n.value?this.trips.value[n.value]??null:null),loading:Gi(!1),unsubscribe:async()=>{await this.unsubscribe(`data.map.trip.${n.value}`)}}}}const Mn=new gx,yx={class:"absolute top-0 left-0 right-0 mx-2 mt-2 h-12 flex rounded-md py-1 pr-1 gap-x-1 items-center justify-between bg-white border-1 border-gray-200 shadow-xl z-20 md:transform md:-translate-x-1/2 md:right-auto md:left-1/2 md:w-96 dark:bg-dark-400 dark:text-gray-300 dark:border-dark-800"},xx=["alt"],vx={key:0,class:"flex flex-grow h-full"},bx=["value","title","placeholder"],wx={key:1,class:"flex gap-x-2 mr-2 items-center"},Sx=qs({__name:"AppBar",props:{searchInput:{}},emits:["update:search-input"],setup(g,{emit:n}){const u=g,_=n,{isConnected:x}=Mn,{t:k}=Go(),S=cm(),h=hm(),{needRefresh:N,updateServiceWorker:q}=_y(),ne=Uo(u,"searchInput"),J=_i({get(){return ne.value},set(G){_("update:search-input",G),G.length>0&&S.name!=="search"&&h.push({name:"search"}),G.length===0&&S.name==="search"&&h.push({name:"home"})}});return(G,ve)=>{const Ee=lc("router-link"),$e=fy,_t=uy;return Le(),mt("div",yx,[Vi(Ee,{to:{name:"home"},class:"p-2"},{default:tr(()=>[Qe("img",{alt:st(k)("logo_alt"),src:ry,class:"w-6 h-6"},null,8,xx)]),_:1}),st(x)?(Le(),mt("div",vx,[Qe("input",{value:J.value,type:"text",class:"bg-transparent p-2 border border-transparent focus:outline-none focus-visible:outline-none focus-visible:rounded-md focus-visible:border-gray-300 focus-visible:border-opacity-50 w-full h-full",title:st(k)("search"),placeholder:`${st(k)("search")} ...`,autofocus:"",onInput:ve[0]||(ve[0]=Tt=>J.value=Tt.currentTarget.value),onKeydown:ve[1]||(ve[1]=Jg(Tt=>G.$router.back(),["escape"])),onClick:ve[2]||(ve[2]=Tt=>G.$router.push({name:"search"}))},null,40,bx)])):(Le(),mt("div",wx,[Qe("span",null,hi(st(k)("no_connection")),1),Vi($e,{class:"text-red-600"})])),st(N)?(Le(),Ft(Na,{key:2,class:"h-full gap-x-1",onClick:ve[3]||(ve[3]=Tt=>st(q)(!0))},{default:tr(()=>[Vi(_t),Qe("span",null,hi(st(k)("update")),1)]),_:1})):zi("",!0)])}}});var Eh={exports:{}};/** + * MapLibre GL JS + * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt + */var Ix=Eh.exports,Qf;function Tx(){return Qf||(Qf=1,function(g,n){(function(u,_){g.exports=_()})(Ix,function(){var u={},_={};function x(S,h,N){if(_[S]=N,S==="index"){var q="var sharedModule = {}; ("+_.shared+")(sharedModule); ("+_.worker+")(sharedModule);",ne={};return _.shared(ne),_.index(u,ne),typeof window<"u"&&u.setWorkerUrl(window.URL.createObjectURL(new Blob([q],{type:"text/javascript"}))),u}}x("shared",["exports"],function(S){function h(i,t,r,o){return new(r||(r=Promise))(function(c,f){function m(T){try{b(o.next(T))}catch(E){f(E)}}function y(T){try{b(o.throw(T))}catch(E){f(E)}}function b(T){var E;T.done?c(T.value):(E=T.value,E instanceof r?E:new r(function(P){P(E)})).then(m,y)}b((o=o.apply(i,t||[])).next())})}function N(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}typeof SuppressedError=="function"&&SuppressedError;var q=ne;function ne(i,t){this.x=i,this.y=t}ne.prototype={clone:function(){return new ne(this.x,this.y)},add:function(i){return this.clone()._add(i)},sub:function(i){return this.clone()._sub(i)},multByPoint:function(i){return this.clone()._multByPoint(i)},divByPoint:function(i){return this.clone()._divByPoint(i)},mult:function(i){return this.clone()._mult(i)},div:function(i){return this.clone()._div(i)},rotate:function(i){return this.clone()._rotate(i)},rotateAround:function(i,t){return this.clone()._rotateAround(i,t)},matMult:function(i){return this.clone()._matMult(i)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(i){return this.x===i.x&&this.y===i.y},dist:function(i){return Math.sqrt(this.distSqr(i))},distSqr:function(i){var t=i.x-this.x,r=i.y-this.y;return t*t+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(i){return Math.atan2(this.y-i.y,this.x-i.x)},angleWith:function(i){return this.angleWithSep(i.x,i.y)},angleWithSep:function(i,t){return Math.atan2(this.x*t-this.y*i,this.x*i+this.y*t)},_matMult:function(i){var t=i[2]*this.x+i[3]*this.y;return this.x=i[0]*this.x+i[1]*this.y,this.y=t,this},_add:function(i){return this.x+=i.x,this.y+=i.y,this},_sub:function(i){return this.x-=i.x,this.y-=i.y,this},_mult:function(i){return this.x*=i,this.y*=i,this},_div:function(i){return this.x/=i,this.y/=i,this},_multByPoint:function(i){return this.x*=i.x,this.y*=i.y,this},_divByPoint:function(i){return this.x/=i.x,this.y/=i.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var i=this.y;return this.y=this.x,this.x=-i,this},_rotate:function(i){var t=Math.cos(i),r=Math.sin(i),o=r*this.x+t*this.y;return this.x=t*this.x-r*this.y,this.y=o,this},_rotateAround:function(i,t){var r=Math.cos(i),o=Math.sin(i),c=t.y+o*(this.x-t.x)+r*(this.y-t.y);return this.x=t.x+r*(this.x-t.x)-o*(this.y-t.y),this.y=c,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},ne.convert=function(i){return i instanceof ne?i:Array.isArray(i)?new ne(i[0],i[1]):i};var J=N(q),G=ve;function ve(i,t,r,o){this.cx=3*i,this.bx=3*(r-i)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(o-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=i,this.p1y=t,this.p2x=r,this.p2y=o}ve.prototype={sampleCurveX:function(i){return((this.ax*i+this.bx)*i+this.cx)*i},sampleCurveY:function(i){return((this.ay*i+this.by)*i+this.cy)*i},sampleCurveDerivativeX:function(i){return(3*this.ax*i+2*this.bx)*i+this.cx},solveCurveX:function(i,t){if(t===void 0&&(t=1e-6),i<0)return 0;if(i>1)return 1;for(var r=i,o=0;o<8;o++){var c=this.sampleCurveX(r)-i;if(Math.abs(c)c?m=r:y=r,r=.5*(y-m)+m;return r},solve:function(i,t){return this.sampleCurveY(this.solveCurveX(i,t))}};var Ee=N(G);let $e,_t;function Tt(){return $e==null&&($e=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),$e}function xt(){if(_t==null&&(_t=!1,Tt())){const t=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(t){for(let o=0;o<5*5;o++){const c=4*o;t.fillStyle=`rgb(${c},${c+1},${c+2})`,t.fillRect(o%5,Math.floor(o/5),1,1)}const r=t.getImageData(0,0,5,5).data;for(let o=0;o<5*5*4;o++)if(o%4!=3&&r[o]!==o){_t=!0;break}}}return _t||!1}function Ct(i,t,r,o){const c=new Ee(i,t,r,o);return f=>c.solve(f)}const Li=Ct(.25,.1,.25,1);function Yt(i,t,r){return Math.min(r,Math.max(t,i))}function Vt(i,t,r){const o=r-t,c=((i-t)%o+o)%o+t;return c===t?r:c}function yt(i,...t){for(const r of t)for(const o in r)i[o]=r[o];return i}let ri=1;function Bt(i,t,r){const o={};for(const c in i)o[c]=t.call(this,i[c],c,i);return o}function ji(i,t,r){const o={};for(const c in i)t.call(this,i[c],c,i)&&(o[c]=i[c]);return o}function Lt(i){return Array.isArray(i)?i.map(Lt):typeof i=="object"&&i?Bt(i,Lt):i}const kt={};function pi(i){kt[i]||(typeof console<"u"&&console.warn(i),kt[i]=!0)}function De(i,t,r){return(r.y-i.y)*(t.x-i.x)>(t.y-i.y)*(r.x-i.x)}function Ut(i){return typeof WorkerGlobalScope<"u"&&i!==void 0&&i instanceof WorkerGlobalScope}let ni=null;function oi(i){return typeof ImageBitmap<"u"&&i instanceof ImageBitmap}const ws="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=";function Ni(i,t,r,o,c){return h(this,void 0,void 0,function*(){if(typeof VideoFrame>"u")throw new Error("VideoFrame not supported");const f=new VideoFrame(i,{timestamp:0});try{const m=f==null?void 0:f.format;if(!m||!m.startsWith("BGR")&&!m.startsWith("RGB"))throw new Error(`Unrecognized format ${m}`);const y=m.startsWith("BGR"),b=new Uint8ClampedArray(o*c*4);if(yield f.copyTo(b,function(T,E,P,z,R){const F=4*Math.max(-E,0),$=(Math.max(0,P)-P)*z*4+F,Q=4*z,ie=Math.max(0,E),_e=Math.max(0,P);return{rect:{x:ie,y:_e,width:Math.min(T.width,E+z)-ie,height:Math.min(T.height,P+R)-_e},layout:[{offset:$,stride:Q}]}}(i,t,r,o,c)),y)for(let T=0;TUt(self)?self.worker&&self.worker.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href,Mt=function(i,t){if(/:\/\//.test(i.url)&&!/^https?:|^file:/.test(i.url)){const o=Lr(i.url);if(o)return o(i,t);if(Ut(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:i,targetMapId:Ss},t)}if(!(/^file:/.test(r=i.url)||/^file:/.test(ki())&&!/^\w+:/.test(r))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,"signal"))return function(o,c){return h(this,void 0,void 0,function*(){const f=new Request(o.url,{method:o.method||"GET",body:o.body,credentials:o.credentials,headers:o.headers,cache:o.cache,referrer:ki(),signal:c.signal});o.type!=="json"||f.headers.has("Accept")||f.headers.set("Accept","application/json");const m=yield fetch(f);if(!m.ok){const T=yield m.blob();throw new wi(m.status,m.statusText,o.url,T)}let y;y=o.type==="arrayBuffer"||o.type==="image"?m.arrayBuffer():o.type==="json"?m.json():m.text();const b=yield y;if(c.signal.aborted)throw Dr();return{data:b,cacheControl:m.headers.get("Cache-Control"),expires:m.headers.get("Expires")}})}(i,t);if(Ut(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:"GR",data:i,mustQueue:!0,targetMapId:Ss},t)}var r;return function(o,c){return new Promise((f,m)=>{var y;const b=new XMLHttpRequest;b.open(o.method||"GET",o.url,!0),o.type!=="arrayBuffer"&&o.type!=="image"||(b.responseType="arraybuffer");for(const T in o.headers)b.setRequestHeader(T,o.headers[T]);o.type==="json"&&(b.responseType="text",!((y=o.headers)===null||y===void 0)&&y.Accept||b.setRequestHeader("Accept","application/json")),b.withCredentials=o.credentials==="include",b.onerror=()=>{m(new Error(b.statusText))},b.onload=()=>{if(!c.signal.aborted)if((b.status>=200&&b.status<300||b.status===0)&&b.response!==null){let T=b.response;if(o.type==="json")try{T=JSON.parse(b.response)}catch(E){return void m(E)}f({data:T,cacheControl:b.getResponseHeader("Cache-Control"),expires:b.getResponseHeader("Expires")})}else{const T=new Blob([b.response],{type:b.getResponseHeader("Content-Type")});m(new wi(b.status,b.statusText,o.url,T))}},c.signal.addEventListener("abort",()=>{b.abort(),m(Dr())}),b.send(o.body)})}(i,t)};function $i(i){if(!i||i.indexOf("://")<=0||i.indexOf("data:image/")===0||i.indexOf("blob:")===0)return!0;const t=new URL(i),r=window.location;return t.protocol===r.protocol&&t.host===r.host}function Gs(i,t,r){r[i]&&r[i].indexOf(t)!==-1||(r[i]=r[i]||[],r[i].push(t))}function Hr(i,t,r){if(r&&r[i]){const o=r[i].indexOf(t);o!==-1&&r[i].splice(o,1)}}class Rr{constructor(t,r={}){yt(this,r),this.type=t}}class Or extends Rr{constructor(t,r={}){super("error",yt({error:t},r))}}class zs{on(t,r){return this._listeners=this._listeners||{},Gs(t,r,this._listeners),this}off(t,r){return Hr(t,r,this._listeners),Hr(t,r,this._oneTimeListeners),this}once(t,r){return r?(this._oneTimeListeners=this._oneTimeListeners||{},Gs(t,r,this._oneTimeListeners),this):new Promise(o=>this.once(t,o))}fire(t,r){typeof t=="string"&&(t=new Rr(t,r||{}));const o=t.type;if(this.listens(o)){t.target=this;const c=this._listeners&&this._listeners[o]?this._listeners[o].slice():[];for(const y of c)y.call(this,t);const f=this._oneTimeListeners&&this._oneTimeListeners[o]?this._oneTimeListeners[o].slice():[];for(const y of f)Hr(o,y,this._oneTimeListeners),y.call(this,t);const m=this._eventedParent;m&&(yt(t,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),m.fire(t))}else t instanceof Or&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,r){return this._eventedParent=t,this._eventedParentData=r,this}}var be={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"enum",default:"mercator",values:{mercator:{},globe:{}}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"number",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"color",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const Is=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function on(i,t){const r={};for(const o in i)o!=="ref"&&(r[o]=i[o]);return Is.forEach(o=>{o in t&&(r[o]=t[o])}),r}function Gt(i,t){if(Array.isArray(i)){if(!Array.isArray(t)||i.length!==t.length)return!1;for(let r=0;r`:i.itemType.kind==="value"?"array":`array<${t}>`}return i.kind}const j=[ts,je,St,pt,Qi,Fr,ur,D(vt),Br,wr,te];function K(i,t){if(t.kind==="error")return null;if(i.kind==="array"){if(t.kind==="array"&&(t.N===0&&t.itemType.kind==="value"||!K(i.itemType,t.itemType))&&(typeof i.N!="number"||i.N===t.N))return null}else{if(i.kind===t.kind)return null;if(i.kind==="value"){for(const r of j)if(!K(r,t))return null}}return`Expected ${L(i)} but found ${L(t)} instead.`}function le(i,t){return t.some(r=>r.kind===i.kind)}function he(i,t){return t.some(r=>r==="null"?i===null:r==="array"?Array.isArray(i):r==="object"?i&&!Array.isArray(i)&&typeof i=="object":r===typeof i)}function fe(i,t){return i.kind==="array"&&t.kind==="array"?i.itemType.kind===t.itemType.kind&&typeof i.N=="number":i.kind===t.kind}const oe=.96422,we=.82521,Pe=4/29,xe=6/29,Fe=3*xe*xe,ot=xe*xe*xe,ut=Math.PI/180,qt=180/Math.PI;function gt(i){return(i%=360)<0&&(i+=360),i}function zt([i,t,r,o]){let c,f;const m=Ii((.2225045*(i=Et(i))+.7168786*(t=Et(t))+.0606169*(r=Et(r)))/1);i===t&&t===r?c=f=m:(c=Ii((.4360747*i+.3850649*t+.1430804*r)/oe),f=Ii((.0139322*i+.0971045*t+.7141733*r)/we));const y=116*m-16;return[y<0?0:y,500*(c-m),200*(m-f),o]}function Et(i){return i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)}function Ii(i){return i>ot?Math.pow(i,1/3):i/Fe+Pe}function fi([i,t,r,o]){let c=(i+16)/116,f=isNaN(t)?c:c+t/500,m=isNaN(r)?c:c-r/200;return c=1*Xt(c),f=oe*Xt(f),m=we*Xt(m),[At(3.1338561*f-1.6168667*c-.4906146*m),At(-.9787684*f+1.9161415*c+.033454*m),At(.0719453*f-.2289914*c+1.4052427*m),o]}function At(i){return(i=i<=.00304?12.92*i:1.055*Math.pow(i,1/2.4)-.055)<0?0:i>1?1:i}function Xt(i){return i>xe?i*i*i:Fe*(i-Pe)}function jt(i){return parseInt(i.padEnd(2,i),16)/255}function Ri(i,t){return B(t?i/100:i,0,1)}function B(i,t,r){return Math.min(Math.max(t,i),r)}function W(i){return!i.some(Number.isNaN)}const Z={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class X{constructor(t,r,o,c=1,f=!0){this.r=t,this.g=r,this.b=o,this.a=c,f||(this.r*=c,this.g*=c,this.b*=c,c||this.overwriteGetter("rgb",[t,r,o,c]))}static parse(t){if(t instanceof X)return t;if(typeof t!="string")return;const r=function(o){if((o=o.toLowerCase().trim())==="transparent")return[0,0,0,0];const c=Z[o];if(c){const[m,y,b]=c;return[m/255,y/255,b/255,1]}if(o.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(o)){const m=o.length<6?1:2;let y=1;return[jt(o.slice(y,y+=m)),jt(o.slice(y,y+=m)),jt(o.slice(y,y+=m)),jt(o.slice(y,y+m)||"ff")]}if(o.startsWith("rgb")){const m=o.match(/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(m){const[y,b,T,E,P,z,R,F,$,Q,ie,_e]=m,ce=[E||" ",R||" ",Q].join("");if(ce===" "||ce===" /"||ce===",,"||ce===",,,"){const me=[T,z,$].join(""),Se=me==="%%%"?100:me===""?255:0;if(Se){const ze=[B(+b/Se,0,1),B(+P/Se,0,1),B(+F/Se,0,1),ie?Ri(+ie,_e):1];if(W(ze))return ze}}return}}const f=o.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(f){const[m,y,b,T,E,P,z,R,F]=f,$=[b||" ",E||" ",z].join("");if($===" "||$===" /"||$===",,"||$===",,,"){const Q=[+y,B(+T,0,100),B(+P,0,100),R?Ri(+R,F):1];if(W(Q))return function([ie,_e,ce,me]){function Se(ze){const We=(ze+ie/30)%12,ft=_e*Math.min(ce,1-ce);return ce-ft*Math.max(-1,Math.min(We-3,9-We,1))}return ie=gt(ie),_e/=100,ce/=100,[Se(0),Se(8),Se(4),me]}(Q)}}}(t);return r?new X(...r,!1):void 0}get rgb(){const{r:t,g:r,b:o,a:c}=this,f=c||1/0;return this.overwriteGetter("rgb",[t/f,r/f,o/f,c])}get hcl(){return this.overwriteGetter("hcl",function(t){const[r,o,c,f]=zt(t),m=Math.sqrt(o*o+c*c);return[Math.round(1e4*m)?gt(Math.atan2(c,o)*qt):NaN,m,r,f]}(this.rgb))}get lab(){return this.overwriteGetter("lab",zt(this.rgb))}overwriteGetter(t,r){return Object.defineProperty(this,t,{value:r}),r}toString(){const[t,r,o,c]=this.rgb;return`rgba(${[t,r,o].map(f=>Math.round(255*f)).join(",")},${c})`}}X.black=new X(0,0,0,1),X.white=new X(1,1,1,1),X.transparent=new X(0,0,0,0),X.red=new X(1,0,0,1);class de{constructor(t,r,o){this.sensitivity=t?r?"variant":"case":r?"accent":"base",this.locale=o,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(t,r){return this.collator.compare(t,r)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class ge{constructor(t,r,o,c,f){this.text=t,this.image=r,this.scale=o,this.fontStack=c,this.textColor=f}}class Ae{constructor(t){this.sections=t}static fromString(t){return new Ae([new ge(t,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some(t=>t.text.length!==0||t.image&&t.image.name.length!==0)}static factory(t){return t instanceof Ae?t:Ae.fromString(t)}toString(){return this.sections.length===0?"":this.sections.map(t=>t.text).join("")}}class Me{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Me)return t;if(typeof t=="number")return new Me([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const r of t)if(typeof r!="number")return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]]}return new Me(t)}}toString(){return JSON.stringify(this.values)}}const Ie=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class Te{constructor(t){this.values=t.slice()}static parse(t){if(t instanceof Te)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let r=0;r=0&&i<=255&&typeof t=="number"&&t>=0&&t<=255&&typeof r=="number"&&r>=0&&r<=255?o===void 0||typeof o=="number"&&o>=0&&o<=1?null:`Invalid rgba value [${[i,t,r,o].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof o=="number"?[i,t,r,o]:[i,t,r]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Qt(i){if(i===null||typeof i=="string"||typeof i=="boolean"||typeof i=="number"||i instanceof X||i instanceof de||i instanceof Ae||i instanceof Me||i instanceof Te||i instanceof Ke)return!0;if(Array.isArray(i)){for(const t of i)if(!Qt(t))return!1;return!0}if(typeof i=="object"){for(const t in i)if(!Qt(i[t]))return!1;return!0}return!1}function Jt(i){if(i===null)return ts;if(typeof i=="string")return St;if(typeof i=="boolean")return pt;if(typeof i=="number")return je;if(i instanceof X)return Qi;if(i instanceof de)return dr;if(i instanceof Ae)return Fr;if(i instanceof Me)return Br;if(i instanceof Te)return te;if(i instanceof Ke)return wr;if(Array.isArray(i)){const t=i.length;let r;for(const o of i){const c=Jt(o);if(r){if(r===c)continue;r=vt;break}r=c}return D(r||vt,t)}return ur}function Xr(i){const t=typeof i;return i===null?"":t==="string"||t==="number"||t==="boolean"?String(i):i instanceof X||i instanceof Ae||i instanceof Me||i instanceof Te||i instanceof Ke?i.toString():JSON.stringify(i)}class is{constructor(t,r){this.type=t,this.value=r}static parse(t,r){if(t.length!==2)return r.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!Qt(t[1]))return r.error("invalid value");const o=t[1];let c=Jt(o);const f=r.expectedType;return c.kind!=="array"||c.N!==0||!f||f.kind!=="array"||typeof f.N=="number"&&f.N!==0||(c=f),new is(c,o)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}class Oi{constructor(t){this.name="ExpressionEvaluationError",this.message=t}toJSON(){return this.message}}const Wo={string:St,number:je,boolean:pt,object:ur};class rs{constructor(t,r){this.type=t,this.args=r}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");let o,c=1;const f=t[0];if(f==="array"){let y,b;if(t.length>2){const T=t[1];if(typeof T!="string"||!(T in Wo)||T==="object")return r.error('The item type argument of "array" must be one of string, number, boolean',1);y=Wo[T],c++}else y=vt;if(t.length>3){if(t[2]!==null&&(typeof t[2]!="number"||t[2]<0||t[2]!==Math.floor(t[2])))return r.error('The length argument to "array" must be a positive integer literal',2);b=t[2],c++}o=D(y,b)}else{if(!Wo[f])throw new Error(`Types doesn't contain name = ${f}`);o=Wo[f]}const m=[];for(;ct.outputDefined())}}const Ja={"to-boolean":pt,"to-color":Qi,"to-number":je,"to-string":St};class ss{constructor(t,r){this.type=t,this.args=r}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");const o=t[0];if(!Ja[o])throw new Error(`Can't parse ${o} as it is not part of the known types`);if((o==="to-boolean"||o==="to-string")&&t.length!==2)return r.error("Expected one argument.");const c=Ja[o],f=[];for(let m=1;m4?`Invalid rbga value ${JSON.stringify(r)}: expected an array containing either three or four numeric values.`:Rt(r[0],r[1],r[2],r[3]),!o))return new X(r[0]/255,r[1]/255,r[2]/255,r[3])}throw new Oi(o||`Could not parse color from value '${typeof r=="string"?r:JSON.stringify(r)}'`)}case"padding":{let r;for(const o of this.args){r=o.evaluate(t);const c=Me.parse(r);if(c)return c}throw new Oi(`Could not parse padding from value '${typeof r=="string"?r:JSON.stringify(r)}'`)}case"variableAnchorOffsetCollection":{let r;for(const o of this.args){r=o.evaluate(t);const c=Te.parse(r);if(c)return c}throw new Oi(`Could not parse variableAnchorOffsetCollection from value '${typeof r=="string"?r:JSON.stringify(r)}'`)}case"number":{let r=null;for(const o of this.args){if(r=o.evaluate(t),r===null)return 0;const c=Number(r);if(!isNaN(c))return c}throw new Oi(`Could not convert ${JSON.stringify(r)} to number.`)}case"formatted":return Ae.fromString(Xr(this.args[0].evaluate(t)));case"resolvedImage":return Ke.fromString(Xr(this.args[0].evaluate(t)));default:return Xr(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}const $h=["Unknown","Point","LineString","Polygon"];class Xo{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?typeof this.feature.type=="number"?$h[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let r=this._parseColorCache[t];return r||(r=this._parseColorCache[t]=X.parse(t)),r}}class cn{constructor(t,r,o=[],c,f=new Wr,m=[]){this.registry=t,this.path=o,this.key=o.map(y=>`[${y}]`).join(""),this.scope=f,this.errors=m,this.expectedType=c,this._isConstant=r}parse(t,r,o,c,f={}){return r?this.concat(r,o,c)._parse(t,f):this._parse(t,f)}_parse(t,r){function o(c,f,m){return m==="assert"?new rs(f,[c]):m==="coerce"?new ss(f,[c]):c}if(t!==null&&typeof t!="string"&&typeof t!="boolean"&&typeof t!="number"||(t=["literal",t]),Array.isArray(t)){if(t.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const c=t[0];if(typeof c!="string")return this.error(`Expression name must be a string, but found ${typeof c} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const f=this.registry[c];if(f){let m=f.parse(t,this);if(!m)return null;if(this.expectedType){const y=this.expectedType,b=m.type;if(y.kind!=="string"&&y.kind!=="number"&&y.kind!=="boolean"&&y.kind!=="object"&&y.kind!=="array"||b.kind!=="value")if(y.kind!=="color"&&y.kind!=="formatted"&&y.kind!=="resolvedImage"||b.kind!=="value"&&b.kind!=="string")if(y.kind!=="padding"||b.kind!=="value"&&b.kind!=="number"&&b.kind!=="array")if(y.kind!=="variableAnchorOffsetCollection"||b.kind!=="value"&&b.kind!=="array"){if(this.checkSubtype(y,b))return null}else m=o(m,y,r.typeAnnotation||"coerce");else m=o(m,y,r.typeAnnotation||"coerce");else m=o(m,y,r.typeAnnotation||"coerce");else m=o(m,y,r.typeAnnotation||"assert")}if(!(m instanceof is)&&m.type.kind!=="resolvedImage"&&this._isConstant(m)){const y=new Xo;try{m=new is(m.type,m.evaluate(y))}catch(b){return this.error(b.message),null}}return m}return this.error(`Unknown expression "${c}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(t===void 0?"'undefined' value invalid. Use null instead.":typeof t=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,r,o){const c=typeof t=="number"?this.path.concat(t):this.path,f=o?this.scope.concat(o):this.scope;return new cn(this.registry,this._isConstant,c,r||null,f,this.errors)}error(t,...r){const o=`${this.key}${r.map(c=>`[${c}]`).join("")}`;this.errors.push(new Yi(o,t))}checkSubtype(t,r){const o=K(t,r);return o&&this.error(o),o}}class Hs{constructor(t,r){this.type=r.type,this.bindings=[].concat(t),this.result=r}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const r of this.bindings)t(r[1]);t(this.result)}static parse(t,r){if(t.length<4)return r.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const o=[];for(let f=1;f=o.length)throw new Oi(`Array index out of bounds: ${r} > ${o.length-1}.`);if(r!==Math.floor(r))throw new Oi(`Array index must be an integer, but found ${r} instead.`);return o[r]}eachChild(t){t(this.index),t(this.input)}outputDefined(){return!1}}class Ya{constructor(t,r){this.type=pt,this.needle=t,this.haystack=r}static parse(t,r){if(t.length!==3)return r.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const o=r.parse(t[1],1,vt),c=r.parse(t[2],2,vt);return o&&c?le(o.type,[pt,St,je,ts,vt])?new Ya(o,c):r.error(`Expected first argument to be of type boolean, string, number or null, but found ${L(o.type)} instead`):null}evaluate(t){const r=this.needle.evaluate(t),o=this.haystack.evaluate(t);if(!o)return!1;if(!he(r,["boolean","string","number","null"]))throw new Oi(`Expected first argument to be of type boolean, string, number or null, but found ${L(Jt(r))} instead.`);if(!he(o,["string","array"]))throw new Oi(`Expected second argument to be of type array or string, but found ${L(Jt(o))} instead.`);return o.indexOf(r)>=0}eachChild(t){t(this.needle),t(this.haystack)}outputDefined(){return!0}}class Rn{constructor(t,r,o){this.type=je,this.needle=t,this.haystack=r,this.fromIndex=o}static parse(t,r){if(t.length<=2||t.length>=5)return r.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const o=r.parse(t[1],1,vt),c=r.parse(t[2],2,vt);if(!o||!c)return null;if(!le(o.type,[pt,St,je,ts,vt]))return r.error(`Expected first argument to be of type boolean, string, number or null, but found ${L(o.type)} instead`);if(t.length===4){const f=r.parse(t[3],3,je);return f?new Rn(o,c,f):null}return new Rn(o,c)}evaluate(t){const r=this.needle.evaluate(t),o=this.haystack.evaluate(t);if(!he(r,["boolean","string","number","null"]))throw new Oi(`Expected first argument to be of type boolean, string, number or null, but found ${L(Jt(r))} instead.`);let c;if(this.fromIndex&&(c=this.fromIndex.evaluate(t)),he(o,["string"])){const f=o.indexOf(r,c);return f===-1?-1:[...o.slice(0,f)].length}if(he(o,["array"]))return o.indexOf(r,c);throw new Oi(`Expected second argument to be of type array or string, but found ${L(Jt(o))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex)}outputDefined(){return!1}}class Qa{constructor(t,r,o,c,f,m){this.inputType=t,this.type=r,this.input=o,this.cases=c,this.outputs=f,this.otherwise=m}static parse(t,r){if(t.length<5)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return r.error("Expected an even number of arguments.");let o,c;r.expectedType&&r.expectedType.kind!=="value"&&(c=r.expectedType);const f={},m=[];for(let T=2;TNumber.MAX_SAFE_INTEGER)return z.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof F=="number"&&Math.floor(F)!==F)return z.error("Numeric branch labels must be integer values.");if(o){if(z.checkSubtype(o,Jt(F)))return null}else o=Jt(F);if(f[String(F)]!==void 0)return z.error("Branch labels must be unique.");f[String(F)]=m.length}const R=r.parse(P,T,c);if(!R)return null;c=c||R.type,m.push(R)}const y=r.parse(t[1],1,vt);if(!y)return null;const b=r.parse(t[t.length-1],t.length-1,c);return b?y.type.kind!=="value"&&r.concat(1).checkSubtype(o,y.type)?null:new Qa(o,c,y,f,m,b):null}evaluate(t){const r=this.input.evaluate(t);return(Jt(r)===this.inputType&&this.outputs[this.cases[r]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise)}outputDefined(){return this.outputs.every(t=>t.outputDefined())&&this.otherwise.outputDefined()}}class Jo{constructor(t,r,o){this.type=t,this.branches=r,this.otherwise=o}static parse(t,r){if(t.length<4)return r.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return r.error("Expected an odd number of arguments.");let o;r.expectedType&&r.expectedType.kind!=="value"&&(o=r.expectedType);const c=[];for(let m=1;mr.outputDefined())&&this.otherwise.outputDefined()}}class lo{constructor(t,r,o,c){this.type=t,this.input=r,this.beginIndex=o,this.endIndex=c}static parse(t,r){if(t.length<=2||t.length>=5)return r.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const o=r.parse(t[1],1,vt),c=r.parse(t[2],2,je);if(!o||!c)return null;if(!le(o.type,[D(vt),St,vt]))return r.error(`Expected first argument to be of type array or string, but found ${L(o.type)} instead`);if(t.length===4){const f=r.parse(t[3],3,je);return f?new lo(o.type,o,c,f):null}return new lo(o.type,o,c)}evaluate(t){const r=this.input.evaluate(t),o=this.beginIndex.evaluate(t);let c;if(this.endIndex&&(c=this.endIndex.evaluate(t)),he(r,["string"]))return[...r].slice(o,c).join("");if(he(r,["array"]))return r.slice(o,c);throw new Oi(`Expected first argument to be of type array or string, but found ${L(Jt(r))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex)}outputDefined(){return!1}}function Ko(i,t){const r=i.length-1;let o,c,f=0,m=r,y=0;for(;f<=m;)if(y=Math.floor((f+m)/2),o=i[y],c=i[y+1],o<=t){if(y===r||tt))throw new Oi("Input is not a number.");m=y-1}return 0}class On{constructor(t,r,o){this.type=t,this.input=r,this.labels=[],this.outputs=[];for(const[c,f]of o)this.labels.push(c),this.outputs.push(f)}static parse(t,r){if(t.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return r.error("Expected an even number of arguments.");const o=r.parse(t[1],1,je);if(!o)return null;const c=[];let f=null;r.expectedType&&r.expectedType.kind!=="value"&&(f=r.expectedType);for(let m=1;m=y)return r.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',T);const P=r.parse(b,E,f);if(!P)return null;f=f||P.type,c.push([y,P])}return new On(f,o,c)}evaluate(t){const r=this.labels,o=this.outputs;if(r.length===1)return o[0].evaluate(t);const c=this.input.evaluate(t);if(c<=r[0])return o[0].evaluate(t);const f=r.length;return c>=r[f-1]?o[f-1].evaluate(t):o[Ko(r,c)].evaluate(t)}eachChild(t){t(this.input);for(const r of this.outputs)t(r)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function uc(i){return i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var Uh=dc;function dc(i,t,r,o){this.cx=3*i,this.bx=3*(r-i)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(o-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=i,this.p1y=t,this.p2x=r,this.p2y=o}dc.prototype={sampleCurveX:function(i){return((this.ax*i+this.bx)*i+this.cx)*i},sampleCurveY:function(i){return((this.ay*i+this.by)*i+this.cy)*i},sampleCurveDerivativeX:function(i){return(3*this.ax*i+2*this.bx)*i+this.cx},solveCurveX:function(i,t){if(t===void 0&&(t=1e-6),i<0)return 0;if(i>1)return 1;for(var r=i,o=0;o<8;o++){var c=this.sampleCurveX(r)-i;if(Math.abs(c)c?m=r:y=r,r=.5*(y-m)+m;return r},solve:function(i,t){return this.sampleCurveY(this.solveCurveX(i,t))}};var Vh=uc(Uh);function hn(i,t,r){return i+r*(t-i)}function co(i,t,r){return i.map((o,c)=>hn(o,t[c],r))}const Sr={number:hn,color:function(i,t,r,o="rgb"){switch(o){case"rgb":{const[c,f,m,y]=co(i.rgb,t.rgb,r);return new X(c,f,m,y,!1)}case"hcl":{const[c,f,m,y]=i.hcl,[b,T,E,P]=t.hcl;let z,R;if(isNaN(c)||isNaN(b))isNaN(c)?isNaN(b)?z=NaN:(z=b,m!==1&&m!==0||(R=T)):(z=c,E!==1&&E!==0||(R=f));else{let _e=b-c;b>c&&_e>180?_e-=360:b180&&(_e+=360),z=c+r*_e}const[F,$,Q,ie]=function([_e,ce,me,Se]){return _e=isNaN(_e)?0:_e*ut,fi([me,Math.cos(_e)*ce,Math.sin(_e)*ce,Se])}([z,R??hn(f,T,r),hn(m,E,r),hn(y,P,r)]);return new X(F,$,Q,ie,!1)}case"lab":{const[c,f,m,y]=fi(co(i.lab,t.lab,r));return new X(c,f,m,y,!1)}}},array:co,padding:function(i,t,r){return new Me(co(i.values,t.values,r))},variableAnchorOffsetCollection:function(i,t,r){const o=i.values,c=t.values;if(o.length!==c.length)throw new Oi(`Cannot interpolate values of different length. from: ${i.toString()}, to: ${t.toString()}`);const f=[];for(let m=0;mtypeof E!="number"||E<0||E>1))return r.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);c={name:"cubic-bezier",controlPoints:T}}}if(t.length-1<4)return r.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return r.error("Expected an even number of arguments.");if(f=r.parse(f,2,je),!f)return null;const y=[];let b=null;o==="interpolate-hcl"||o==="interpolate-lab"?b=Qi:r.expectedType&&r.expectedType.kind!=="value"&&(b=r.expectedType);for(let T=0;T=E)return r.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',z);const F=r.parse(P,R,b);if(!F)return null;b=b||F.type,y.push([E,F])}return fe(b,je)||fe(b,Qi)||fe(b,Br)||fe(b,te)||fe(b,D(je))?new Ir(b,o,c,f,y):r.error(`Type ${L(b)} is not interpolatable.`)}evaluate(t){const r=this.labels,o=this.outputs;if(r.length===1)return o[0].evaluate(t);const c=this.input.evaluate(t);if(c<=r[0])return o[0].evaluate(t);const f=r.length;if(c>=r[f-1])return o[f-1].evaluate(t);const m=Ko(r,c),y=Ir.interpolationFactor(this.interpolation,c,r[m],r[m+1]),b=o[m].evaluate(t),T=o[m+1].evaluate(t);switch(this.operator){case"interpolate":return Sr[this.type.kind](b,T,y);case"interpolate-hcl":return Sr.color(b,T,y,"hcl");case"interpolate-lab":return Sr.color(b,T,y,"lab")}}eachChild(t){t(this.input);for(const r of this.outputs)t(r)}outputDefined(){return this.outputs.every(t=>t.outputDefined())}}function Yo(i,t,r,o){const c=o-r,f=i-r;return c===0?0:t===1?f/c:(Math.pow(t,f)-1)/(Math.pow(t,c)-1)}class Qo{constructor(t,r){this.type=t,this.args=r}static parse(t,r){if(t.length<2)return r.error("Expectected at least one argument.");let o=null;const c=r.expectedType;c&&c.kind!=="value"&&(o=c);const f=[];for(const y of t.slice(1)){const b=r.parse(y,1+f.length,o,void 0,{typeAnnotation:"omit"});if(!b)return null;o=o||b.type,f.push(b)}if(!o)throw new Error("No output type");const m=c&&f.some(y=>K(c,y.type));return new Qo(m?vt:o,f)}evaluate(t){let r,o=null,c=0;for(const f of this.args)if(c++,o=f.evaluate(t),o&&o instanceof Ke&&!o.available&&(r||(r=o.name),o=null,c===this.args.length&&(o=r)),o!==null)break;return o}eachChild(t){this.args.forEach(t)}outputDefined(){return this.args.every(t=>t.outputDefined())}}function ea(i,t){return i==="=="||i==="!="?t.kind==="boolean"||t.kind==="string"||t.kind==="number"||t.kind==="null"||t.kind==="value":t.kind==="string"||t.kind==="number"||t.kind==="value"}function pc(i,t,r,o){return o.compare(t,r)===0}function Fn(i,t,r){const o=i!=="=="&&i!=="!=";return class Om{constructor(f,m,y){this.type=pt,this.lhs=f,this.rhs=m,this.collator=y,this.hasUntypedArgument=f.type.kind==="value"||m.type.kind==="value"}static parse(f,m){if(f.length!==3&&f.length!==4)return m.error("Expected two or three arguments.");const y=f[0];let b=m.parse(f[1],1,vt);if(!b)return null;if(!ea(y,b.type))return m.concat(1).error(`"${y}" comparisons are not supported for type '${L(b.type)}'.`);let T=m.parse(f[2],2,vt);if(!T)return null;if(!ea(y,T.type))return m.concat(2).error(`"${y}" comparisons are not supported for type '${L(T.type)}'.`);if(b.type.kind!==T.type.kind&&b.type.kind!=="value"&&T.type.kind!=="value")return m.error(`Cannot compare types '${L(b.type)}' and '${L(T.type)}'.`);o&&(b.type.kind==="value"&&T.type.kind!=="value"?b=new rs(T.type,[b]):b.type.kind!=="value"&&T.type.kind==="value"&&(T=new rs(b.type,[T])));let E=null;if(f.length===4){if(b.type.kind!=="string"&&T.type.kind!=="string"&&b.type.kind!=="value"&&T.type.kind!=="value")return m.error("Cannot use collator to compare non-string types.");if(E=m.parse(f[3],3,dr),!E)return null}return new Om(b,T,E)}evaluate(f){const m=this.lhs.evaluate(f),y=this.rhs.evaluate(f);if(o&&this.hasUntypedArgument){const b=Jt(m),T=Jt(y);if(b.kind!==T.kind||b.kind!=="string"&&b.kind!=="number")throw new Oi(`Expected arguments for "${i}" to be (string, string) or (number, number), but found (${b.kind}, ${T.kind}) instead.`)}if(this.collator&&!o&&this.hasUntypedArgument){const b=Jt(m),T=Jt(y);if(b.kind!=="string"||T.kind!=="string")return t(f,m,y)}return this.collator?r(f,m,y,this.collator.evaluate(f)):t(f,m,y)}eachChild(f){f(this.lhs),f(this.rhs),this.collator&&f(this.collator)}outputDefined(){return!0}}}const qh=Fn("==",function(i,t,r){return t===r},pc),fc=Fn("!=",function(i,t,r){return t!==r},function(i,t,r,o){return!pc(0,t,r,o)}),mc=Fn("<",function(i,t,r){return t",function(i,t,r){return t>r},function(i,t,r,o){return o.compare(t,r)>0}),Hh=Fn("<=",function(i,t,r){return t<=r},function(i,t,r,o){return o.compare(t,r)<=0}),_c=Fn(">=",function(i,t,r){return t>=r},function(i,t,r,o){return o.compare(t,r)>=0});class ho{constructor(t,r,o){this.type=dr,this.locale=o,this.caseSensitive=t,this.diacriticSensitive=r}static parse(t,r){if(t.length!==2)return r.error("Expected one argument.");const o=t[1];if(typeof o!="object"||Array.isArray(o))return r.error("Collator options argument must be an object.");const c=r.parse(o["case-sensitive"]!==void 0&&o["case-sensitive"],1,pt);if(!c)return null;const f=r.parse(o["diacritic-sensitive"]!==void 0&&o["diacritic-sensitive"],1,pt);if(!f)return null;let m=null;return o.locale&&(m=r.parse(o.locale,1,St),!m)?null:new ho(c,f,m)}evaluate(t){return new de(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale)}outputDefined(){return!1}}class el{constructor(t,r,o,c,f){this.type=St,this.number=t,this.locale=r,this.currency=o,this.minFractionDigits=c,this.maxFractionDigits=f}static parse(t,r){if(t.length!==3)return r.error("Expected two arguments.");const o=r.parse(t[1],1,je);if(!o)return null;const c=t[2];if(typeof c!="object"||Array.isArray(c))return r.error("NumberFormat options argument must be an object.");let f=null;if(c.locale&&(f=r.parse(c.locale,1,St),!f))return null;let m=null;if(c.currency&&(m=r.parse(c.currency,1,St),!m))return null;let y=null;if(c["min-fraction-digits"]&&(y=r.parse(c["min-fraction-digits"],1,je),!y))return null;let b=null;return c["max-fraction-digits"]&&(b=r.parse(c["max-fraction-digits"],1,je),!b)?null:new el(o,f,m,y,b)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits)}outputDefined(){return!1}}class ta{constructor(t){this.type=Fr,this.sections=t}static parse(t,r){if(t.length<2)return r.error("Expected at least one argument.");const o=t[1];if(!Array.isArray(o)&&typeof o=="object")return r.error("First argument must be an image or text section.");const c=[];let f=!1;for(let m=1;m<=t.length-1;++m){const y=t[m];if(f&&typeof y=="object"&&!Array.isArray(y)){f=!1;let b=null;if(y["font-scale"]&&(b=r.parse(y["font-scale"],1,je),!b))return null;let T=null;if(y["text-font"]&&(T=r.parse(y["text-font"],1,D(St)),!T))return null;let E=null;if(y["text-color"]&&(E=r.parse(y["text-color"],1,Qi),!E))return null;const P=c[c.length-1];P.scale=b,P.font=T,P.textColor=E}else{const b=r.parse(t[m],1,vt);if(!b)return null;const T=b.type.kind;if(T!=="string"&&T!=="value"&&T!=="null"&&T!=="resolvedImage")return r.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");f=!0,c.push({content:b,scale:null,font:null,textColor:null})}}return new ta(c)}evaluate(t){return new Ae(this.sections.map(r=>{const o=r.content.evaluate(t);return Jt(o)===wr?new ge("",o,null,null,null):new ge(Xr(o),null,r.scale?r.scale.evaluate(t):null,r.font?r.font.evaluate(t).join(","):null,r.textColor?r.textColor.evaluate(t):null)}))}eachChild(t){for(const r of this.sections)t(r.content),r.scale&&t(r.scale),r.font&&t(r.font),r.textColor&&t(r.textColor)}outputDefined(){return!1}}class tl{constructor(t){this.type=wr,this.input=t}static parse(t,r){if(t.length!==2)return r.error("Expected two arguments.");const o=r.parse(t[1],1,St);return o?new tl(o):r.error("No image name provided.")}evaluate(t){const r=this.input.evaluate(t),o=Ke.fromString(r);return o&&t.availableImages&&(o.available=t.availableImages.indexOf(r)>-1),o}eachChild(t){t(this.input)}outputDefined(){return!1}}class il{constructor(t){this.type=je,this.input=t}static parse(t,r){if(t.length!==2)return r.error(`Expected 1 argument, but found ${t.length-1} instead.`);const o=r.parse(t[1],1);return o?o.type.kind!=="array"&&o.type.kind!=="string"&&o.type.kind!=="value"?r.error(`Expected argument of type string or array, but found ${L(o.type)} instead.`):new il(o):null}evaluate(t){const r=this.input.evaluate(t);if(typeof r=="string")return[...r].length;if(Array.isArray(r))return r.length;throw new Oi(`Expected value to be of type string or array, but found ${L(Jt(r))} instead.`)}eachChild(t){t(this.input)}outputDefined(){return!1}}const Ts=8192;function Zh(i,t){const r=(180+i[0])/360,o=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+i[1]*Math.PI/360)))/360,c=Math.pow(2,t.z);return[Math.round(r*c*Ts),Math.round(o*c*Ts)]}function rl(i,t){const r=Math.pow(2,t.z);return[(c=(i[0]/Ts+t.x)/r,360*c-180),(o=(i[1]/Ts+t.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*o)*Math.PI/180))-90)];var o,c}function un(i,t){i[0]=Math.min(i[0],t[0]),i[1]=Math.min(i[1],t[1]),i[2]=Math.max(i[2],t[0]),i[3]=Math.max(i[3],t[1])}function Zs(i,t){return!(i[0]<=t[0]||i[2]>=t[2]||i[1]<=t[1]||i[3]>=t[3])}function Kt(i,t,r){const o=i[0]-t[0],c=i[1]-t[1],f=i[0]-r[0],m=i[1]-r[1];return o*m-f*c==0&&o*f<=0&&c*m<=0}function ia(i,t,r,o){return(c=[o[0]-r[0],o[1]-r[1]])[0]*(f=[t[0]-i[0],t[1]-i[1]])[1]-c[1]*f[0]!=0&&!(!yc(i,t,r,o)||!yc(r,o,i,t));var c,f}function Wh(i,t,r){for(const o of r)for(let c=0;c(c=i)[1]!=(m=y[b+1])[1]>c[1]&&c[0]<(m[0]-f[0])*(c[1]-f[1])/(m[1]-f[1])+f[0]&&(o=!o)}var c,f,m;return o}function Xh(i,t){for(const r of t)if(Bn(i,r))return!0;return!1}function gc(i,t){for(const r of i)if(!Bn(r,t))return!1;for(let r=0;r0&&y<0||m<0&&y>0}function sl(i,t,r){const o=[];for(let c=0;cr[2]){const c=.5*o;let f=i[0]-r[0]>c?-o:r[0]-i[0]>c?o:0;f===0&&(f=i[0]-r[2]>c?-o:r[2]-i[0]>c?o:0),i[0]+=f}un(t,i)}function bc(i,t,r,o){const c=Math.pow(2,o.z)*Ts,f=[o.x*Ts,o.y*Ts],m=[];for(const y of i)for(const b of y){const T=[b.x+f[0],b.y+f[1]];vc(T,t,r,c),m.push(T)}return m}function wc(i,t,r,o){const c=Math.pow(2,o.z)*Ts,f=[o.x*Ts,o.y*Ts],m=[];for(const b of i){const T=[];for(const E of b){const P=[E.x+f[0],E.y+f[1]];un(t,P),T.push(P)}m.push(T)}if(t[2]-t[0]<=c/2){(y=t)[0]=y[1]=1/0,y[2]=y[3]=-1/0;for(const b of m)for(const T of b)vc(T,t,r,c)}var y;return m}class dn{constructor(t,r){this.type=pt,this.geojson=t,this.geometries=r}static parse(t,r){if(t.length!==2)return r.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Qt(t[1])){const o=t[1];if(o.type==="FeatureCollection"){const c=[];for(const f of o.features){const{type:m,coordinates:y}=f.geometry;m==="Polygon"&&c.push(y),m==="MultiPolygon"&&c.push(...y)}if(c.length)return new dn(o,{type:"MultiPolygon",coordinates:c})}else if(o.type==="Feature"){const c=o.geometry.type;if(c==="Polygon"||c==="MultiPolygon")return new dn(o,o.geometry)}else if(o.type==="Polygon"||o.type==="MultiPolygon")return new dn(o,o)}return r.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return function(r,o){const c=[1/0,1/0,-1/0,-1/0],f=[1/0,1/0,-1/0,-1/0],m=r.canonicalID();if(o.type==="Polygon"){const y=sl(o.coordinates,f,m),b=bc(r.geometry(),c,f,m);if(!Zs(c,f))return!1;for(const T of b)if(!Bn(T,y))return!1}if(o.type==="MultiPolygon"){const y=xc(o.coordinates,f,m),b=bc(r.geometry(),c,f,m);if(!Zs(c,f))return!1;for(const T of b)if(!Xh(T,y))return!1}return!0}(t,this.geometries);if(t.geometryType()==="LineString")return function(r,o){const c=[1/0,1/0,-1/0,-1/0],f=[1/0,1/0,-1/0,-1/0],m=r.canonicalID();if(o.type==="Polygon"){const y=sl(o.coordinates,f,m),b=wc(r.geometry(),c,f,m);if(!Zs(c,f))return!1;for(const T of b)if(!gc(T,y))return!1}if(o.type==="MultiPolygon"){const y=xc(o.coordinates,f,m),b=wc(r.geometry(),c,f,m);if(!Zs(c,f))return!1;for(const T of b)if(!Jh(T,y))return!1}return!0}(t,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}let Sc=class{constructor(i=[],t=(r,o)=>ro?1:0){if(this.data=i,this.length=this.data.length,this.compare=t,this.length>0)for(let r=(this.length>>1)-1;r>=0;r--)this._down(r)}push(i){this.data.push(i),this._up(this.length++)}pop(){if(this.length===0)return;const i=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),i}peek(){return this.data[0]}_up(i){const{data:t,compare:r}=this,o=t[i];for(;i>0;){const c=i-1>>1,f=t[c];if(r(o,f)>=0)break;t[i]=f,i=c}t[i]=o}_down(i){const{data:t,compare:r}=this,o=this.length>>1,c=t[i];for(;i=0)break;t[i]=t[f],i=f}t[i]=c}};function Kh(i,t,r,o,c){Ic(i,t,r,o||i.length-1,c)}function Ic(i,t,r,o,c){for(;o>r;){if(o-r>600){var f=o-r+1,m=t-r+1,y=Math.log(f),b=.5*Math.exp(2*y/3),T=.5*Math.sqrt(y*b*(f-b)/f)*(m-f/2<0?-1:1);Ic(i,t,Math.max(r,Math.floor(t-m*b/f+T)),Math.min(o,Math.floor(t+(f-m)*b/f+T)),c)}var E=i[t],P=r,z=o;for(uo(i,r,t),c(i[o],E)>0&&uo(i,r,o);P0;)z--}c(i[r],E)===0?uo(i,r,z):uo(i,++z,o),z<=t&&(r=z+1),t<=z&&(o=z-1)}}function uo(i,t,r){var o=i[t];i[t]=i[r],i[r]=o}function ra(i,t){if(i.length<=1)return[i];const r=[];let o,c;for(const f of i){const m=Qh(f);m!==0&&(f.area=Math.abs(m),c===void 0&&(c=m<0),c===m<0?(o&&r.push(o),o=[f]):o.push(f))}if(o&&r.push(o),t>1)for(let f=0;f1?(T=t[b+1][0],E=t[b+1][1]):R>0&&(T+=P/this.kx*R,E+=z/this.ky*R)),P=this.wrap(r[0]-T)*this.kx,z=(r[1]-E)*this.ky;const F=P*P+z*z;F180;)t-=360;return t}}function Ac(i,t){return t[0]-i[0]}function sa(i){return i[1]-i[0]+1}function Ds(i,t){return i[1]>=i[0]&&i[1]i[1])return[null,null];const r=sa(i);if(t){if(r===2)return[i,null];const c=Math.floor(r/2);return[[i[0],i[0]+c],[i[0]+c,i[1]]]}if(r===1)return[i,null];const o=Math.floor(r/2)-1;return[[i[0],i[0]+o],[i[0]+o+1,i[1]]]}function al(i,t){if(!Ds(t,i.length))return[1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let o=t[0];o<=t[1];++o)un(r,i[o]);return r}function ll(i){const t=[1/0,1/0,-1/0,-1/0];for(const r of i)for(const o of r)un(t,o);return t}function Pc(i){return i[0]!==-1/0&&i[1]!==-1/0&&i[2]!==1/0&&i[3]!==1/0}function po(i,t,r){if(!Pc(i)||!Pc(t))return NaN;let o=0,c=0;return i[2]t[2]&&(o=i[0]-t[2]),i[1]>t[3]&&(c=i[1]-t[3]),i[3]=o)return o;if(Zs(c,f)){if(Ot(i,t))return 0}else if(Ot(t,i))return 0;let m=1/0;for(const y of i)for(let b=0,T=y.length,E=T-1;b0;){const b=m.pop();if(b[0]>=f)continue;const T=b[1],E=t?50:100;if(sa(T)<=E){if(!Ds(T,i.length))return NaN;if(t){const P=iu(i,T,r,o);if(isNaN(P)||P===0)return P;f=Math.min(f,P)}else for(let P=T[0];P<=T[1];++P){const z=Pi(i[P],r,o);if(f=Math.min(f,z),f===0)return 0}}else{const P=ol(T,t);ui(m,f,o,i,y,P[0]),ui(m,f,o,i,y,P[1])}}return f}function fo(i,t,r,o,c,f=1/0){let m=Math.min(f,c.distance(i[0],r[0]));if(m===0)return m;const y=new Sc([[0,[0,i.length-1],[0,r.length-1]]],Ac);for(;y.length>0;){const b=y.pop();if(b[0]>=m)continue;const T=b[1],E=b[2],P=t?50:100,z=o?50:100;if(sa(T)<=P&&sa(E)<=z){if(!Ds(T,i.length)&&Ds(E,r.length))return NaN;let R;if(t&&o)R=eu(i,T,r,E,c),m=Math.min(m,R);else if(t&&!o){const F=i.slice(T[0],T[1]+1);for(let $=E[0];$<=E[1];++$)if(R=pn(r[$],F,c),m=Math.min(m,R),m===0)return m}else if(!t&&o){const F=r.slice(E[0],E[1]+1);for(let $=T[0];$<=T[1];++$)if(R=pn(i[$],F,c),m=Math.min(m,R),m===0)return m}else R=tu(i,T,r,E,c),m=Math.min(m,R)}else{const R=ol(T,t),F=ol(E,o);ei(y,m,c,i,r,R[0],F[0]),ei(y,m,c,i,r,R[0],F[1]),ei(y,m,c,i,r,R[1],F[0]),ei(y,m,c,i,r,R[1],F[1])}}return m}function na(i){return i.type==="MultiPolygon"?i.coordinates.map(t=>({type:"Polygon",coordinates:t})):i.type==="MultiLineString"?i.coordinates.map(t=>({type:"LineString",coordinates:t})):i.type==="MultiPoint"?i.coordinates.map(t=>({type:"Point",coordinates:t})):[i]}class mn{constructor(t,r){this.type=je,this.geojson=t,this.geometries=r}static parse(t,r){if(t.length!==2)return r.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(Qt(t[1])){const o=t[1];if(o.type==="FeatureCollection")return new mn(o,o.features.map(c=>na(c.geometry)).flat());if(o.type==="Feature")return new mn(o,na(o.geometry));if("type"in o&&"coordinates"in o)return new mn(o,na(o))}return r.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(t){if(t.geometry()!=null&&t.canonicalID()!=null){if(t.geometryType()==="Point")return function(r,o){const c=r.geometry(),f=c.flat().map(b=>rl([b.x,b.y],r.canonical));if(c.length===0)return NaN;const m=new nl(f[0][1]);let y=1/0;for(const b of o){switch(b.type){case"Point":y=Math.min(y,fo(f,!1,[b.coordinates],!1,m,y));break;case"LineString":y=Math.min(y,fo(f,!1,b.coordinates,!0,m,y));break;case"Polygon":y=Math.min(y,fn(f,!1,b.coordinates,m,y))}if(y===0)return y}return y}(t,this.geometries);if(t.geometryType()==="LineString")return function(r,o){const c=r.geometry(),f=c.flat().map(b=>rl([b.x,b.y],r.canonical));if(c.length===0)return NaN;const m=new nl(f[0][1]);let y=1/0;for(const b of o){switch(b.type){case"Point":y=Math.min(y,fo(f,!0,[b.coordinates],!1,m,y));break;case"LineString":y=Math.min(y,fo(f,!0,b.coordinates,!0,m,y));break;case"Polygon":y=Math.min(y,fn(f,!0,b.coordinates,m,y))}if(y===0)return y}return y}(t,this.geometries);if(t.geometryType()==="Polygon")return function(r,o){const c=r.geometry();if(c.length===0||c[0].length===0)return NaN;const f=ra(c,0).map(b=>b.map(T=>T.map(E=>rl([E.x,E.y],r.canonical)))),m=new nl(f[0][0][0][1]);let y=1/0;for(const b of o)for(const T of f){switch(b.type){case"Point":y=Math.min(y,fn([b.coordinates],!1,T,m,y));break;case"LineString":y=Math.min(y,fn(b.coordinates,!0,T,m,y));break;case"Polygon":y=Math.min(y,hl(T,b.coordinates,m,y))}if(y===0)return y}return y}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}const jn={"==":qh,"!=":fc,">":Gh,"<":mc,">=":_c,"<=":Hh,array:rs,at:Ka,boolean:rs,case:Jo,coalesce:Qo,collator:ho,format:ta,image:tl,in:Ya,"index-of":Rn,interpolate:Ir,"interpolate-hcl":Ir,"interpolate-lab":Ir,length:il,let:Hs,literal:is,match:Qa,number:rs,"number-format":el,object:rs,slice:lo,step:On,string:rs,"to-boolean":ss,"to-color":ss,"to-number":ss,"to-string":ss,var:Wt,within:dn,distance:mn};class Jr{constructor(t,r,o,c){this.name=t,this.type=r,this._evaluate=o,this.args=c}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t)}outputDefined(){return!1}static parse(t,r){const o=t[0],c=Jr.definitions[o];if(!c)return r.error(`Unknown expression "${o}". If you wanted a literal array, use ["literal", [...]].`,0);const f=Array.isArray(c)?c[0]:c.type,m=Array.isArray(c)?[[c[1],c[2]]]:c.overloads,y=m.filter(([T])=>!Array.isArray(T)||T.length===t.length-1);let b=null;for(const[T,E]of y){b=new cn(r.registry,aa,r.path,null,r.scope);const P=[];let z=!1;for(let R=1;R{return z=P,Array.isArray(z)?`(${z.map(L).join(", ")})`:`(${L(z.type)}...)`;var z}).join(" | "),E=[];for(let P=1;P{r=t?r&&aa(o):r&&o instanceof is}),!!r&&mo(i)&&_o(i,["zoom","heatmap-density","line-progress","accumulated","is-supported-script"])}function mo(i){if(i instanceof Jr&&(i.name==="get"&&i.args.length===1||i.name==="feature-state"||i.name==="has"&&i.args.length===1||i.name==="properties"||i.name==="geometry-type"||i.name==="id"||/^filter-/.test(i.name))||i instanceof dn||i instanceof mn)return!1;let t=!0;return i.eachChild(r=>{t&&!mo(r)&&(t=!1)}),t}function Nn(i){if(i instanceof Jr&&i.name==="feature-state")return!1;let t=!0;return i.eachChild(r=>{t&&!Nn(r)&&(t=!1)}),t}function _o(i,t){if(i instanceof Jr&&t.indexOf(i.name)>=0)return!1;let r=!0;return i.eachChild(o=>{r&&!_o(o,t)&&(r=!1)}),r}function dl(i){return{result:"success",value:i}}function Ws(i){return{result:"error",value:i}}function $n(i){return i["property-type"]==="data-driven"||i["property-type"]==="cross-faded-data-driven"}function Mc(i){return!!i.expression&&i.expression.parameters.indexOf("zoom")>-1}function pl(i){return!!i.expression&&i.expression.interpolated}function Ht(i){return i instanceof Number?"number":i instanceof String?"string":i instanceof Boolean?"boolean":Array.isArray(i)?"array":i===null?"null":typeof i}function la(i){return typeof i=="object"&&i!==null&&!Array.isArray(i)}function ru(i){return i}function zc(i,t){const r=t.type==="color",o=i.stops&&typeof i.stops[0][0]=="object",c=o||!(o||i.property!==void 0),f=i.type||(pl(t)?"exponential":"interval");if(r||t.type==="padding"){const E=r?X.parse:Me.parse;(i=Zr({},i)).stops&&(i.stops=i.stops.map(P=>[P[0],E(P[1])])),i.default=E(i.default?i.default:t.default)}if(i.colorSpace&&(m=i.colorSpace)!=="rgb"&&m!=="hcl"&&m!=="lab")throw new Error(`Unknown color space: "${i.colorSpace}"`);var m;let y,b,T;if(f==="exponential")y=yo;else if(f==="interval")y=Lc;else if(f==="categorical"){y=Dc,b=Object.create(null);for(const E of i.stops)b[E[0]]=E[1];T=typeof i.stops[0][0]}else{if(f!=="identity")throw new Error(`Unknown function type "${f}"`);y=su}if(o){const E={},P=[];for(let F=0;FF[0]),evaluate:({zoom:F},$)=>yo({stops:z,base:i.base},t,F).evaluate(F,$)}}if(c){const E=f==="exponential"?{name:"exponential",base:i.base!==void 0?i.base:1}:null;return{kind:"camera",interpolationType:E,interpolationFactor:Ir.interpolationFactor.bind(void 0,E),zoomStops:i.stops.map(P=>P[0]),evaluate:({zoom:P})=>y(i,t,P,b,T)}}return{kind:"source",evaluate(E,P){const z=P&&P.properties?P.properties[i.property]:void 0;return z===void 0?go(i.default,t.default):y(i,t,z,b,T)}}}function go(i,t,r){return i!==void 0?i:t!==void 0?t:r!==void 0?r:void 0}function Dc(i,t,r,o,c){return go(typeof r===c?o[r]:void 0,i.default,t.default)}function Lc(i,t,r){if(Ht(r)!=="number")return go(i.default,t.default);const o=i.stops.length;if(o===1||r<=i.stops[0][0])return i.stops[0][1];if(r>=i.stops[o-1][0])return i.stops[o-1][1];const c=Ko(i.stops.map(f=>f[0]),r);return i.stops[c][1]}function yo(i,t,r){const o=i.base!==void 0?i.base:1;if(Ht(r)!=="number")return go(i.default,t.default);const c=i.stops.length;if(c===1||r<=i.stops[0][0])return i.stops[0][1];if(r>=i.stops[c-1][0])return i.stops[c-1][1];const f=Ko(i.stops.map(E=>E[0]),r),m=function(E,P,z,R){const F=R-z,$=E-z;return F===0?0:P===1?$/F:(Math.pow(P,$)-1)/(Math.pow(P,F)-1)}(r,o,i.stops[f][0],i.stops[f+1][0]),y=i.stops[f][1],b=i.stops[f+1][1],T=Sr[t.type]||ru;return typeof y.evaluate=="function"?{evaluate(...E){const P=y.evaluate.apply(void 0,E),z=b.evaluate.apply(void 0,E);if(P!==void 0&&z!==void 0)return T(P,z,m,i.colorSpace)}}:T(y,b,m,i.colorSpace)}function su(i,t,r){switch(t.type){case"color":r=X.parse(r);break;case"formatted":r=Ae.fromString(r.toString());break;case"resolvedImage":r=Ke.fromString(r.toString());break;case"padding":r=Me.parse(r);break;default:Ht(r)===t.type||t.type==="enum"&&t.values[r]||(r=void 0)}return go(r,i.default,t.default)}Jr.register(jn,{error:[{kind:"error"},[St],(i,[t])=>{throw new Oi(t.evaluate(i))}],typeof:[St,[vt],(i,[t])=>L(Jt(t.evaluate(i)))],"to-rgba":[D(je,4),[Qi],(i,[t])=>{const[r,o,c,f]=t.evaluate(i).rgb;return[255*r,255*o,255*c,f]}],rgb:[Qi,[je,je,je],Cc],rgba:[Qi,[je,je,je,je],Cc],has:{type:pt,overloads:[[[St],(i,[t])=>ul(t.evaluate(i),i.properties())],[[St,ur],(i,[t,r])=>ul(t.evaluate(i),r.evaluate(i))]]},get:{type:vt,overloads:[[[St],(i,[t])=>oa(t.evaluate(i),i.properties())],[[St,ur],(i,[t,r])=>oa(t.evaluate(i),r.evaluate(i))]]},"feature-state":[vt,[St],(i,[t])=>oa(t.evaluate(i),i.featureState||{})],properties:[ur,[],i=>i.properties()],"geometry-type":[St,[],i=>i.geometryType()],id:[vt,[],i=>i.id()],zoom:[je,[],i=>i.globals.zoom],"heatmap-density":[je,[],i=>i.globals.heatmapDensity||0],"line-progress":[je,[],i=>i.globals.lineProgress||0],accumulated:[vt,[],i=>i.globals.accumulated===void 0?null:i.globals.accumulated],"+":[je,_n(je),(i,t)=>{let r=0;for(const o of t)r+=o.evaluate(i);return r}],"*":[je,_n(je),(i,t)=>{let r=1;for(const o of t)r*=o.evaluate(i);return r}],"-":{type:je,overloads:[[[je,je],(i,[t,r])=>t.evaluate(i)-r.evaluate(i)],[[je],(i,[t])=>-t.evaluate(i)]]},"/":[je,[je,je],(i,[t,r])=>t.evaluate(i)/r.evaluate(i)],"%":[je,[je,je],(i,[t,r])=>t.evaluate(i)%r.evaluate(i)],ln2:[je,[],()=>Math.LN2],pi:[je,[],()=>Math.PI],e:[je,[],()=>Math.E],"^":[je,[je,je],(i,[t,r])=>Math.pow(t.evaluate(i),r.evaluate(i))],sqrt:[je,[je],(i,[t])=>Math.sqrt(t.evaluate(i))],log10:[je,[je],(i,[t])=>Math.log(t.evaluate(i))/Math.LN10],ln:[je,[je],(i,[t])=>Math.log(t.evaluate(i))],log2:[je,[je],(i,[t])=>Math.log(t.evaluate(i))/Math.LN2],sin:[je,[je],(i,[t])=>Math.sin(t.evaluate(i))],cos:[je,[je],(i,[t])=>Math.cos(t.evaluate(i))],tan:[je,[je],(i,[t])=>Math.tan(t.evaluate(i))],asin:[je,[je],(i,[t])=>Math.asin(t.evaluate(i))],acos:[je,[je],(i,[t])=>Math.acos(t.evaluate(i))],atan:[je,[je],(i,[t])=>Math.atan(t.evaluate(i))],min:[je,_n(je),(i,t)=>Math.min(...t.map(r=>r.evaluate(i)))],max:[je,_n(je),(i,t)=>Math.max(...t.map(r=>r.evaluate(i)))],abs:[je,[je],(i,[t])=>Math.abs(t.evaluate(i))],round:[je,[je],(i,[t])=>{const r=t.evaluate(i);return r<0?-Math.round(-r):Math.round(r)}],floor:[je,[je],(i,[t])=>Math.floor(t.evaluate(i))],ceil:[je,[je],(i,[t])=>Math.ceil(t.evaluate(i))],"filter-==":[pt,[St,vt],(i,[t,r])=>i.properties()[t.value]===r.value],"filter-id-==":[pt,[vt],(i,[t])=>i.id()===t.value],"filter-type-==":[pt,[St],(i,[t])=>i.geometryType()===t.value],"filter-<":[pt,[St,vt],(i,[t,r])=>{const o=i.properties()[t.value],c=r.value;return typeof o==typeof c&&o{const r=i.id(),o=t.value;return typeof r==typeof o&&r":[pt,[St,vt],(i,[t,r])=>{const o=i.properties()[t.value],c=r.value;return typeof o==typeof c&&o>c}],"filter-id->":[pt,[vt],(i,[t])=>{const r=i.id(),o=t.value;return typeof r==typeof o&&r>o}],"filter-<=":[pt,[St,vt],(i,[t,r])=>{const o=i.properties()[t.value],c=r.value;return typeof o==typeof c&&o<=c}],"filter-id-<=":[pt,[vt],(i,[t])=>{const r=i.id(),o=t.value;return typeof r==typeof o&&r<=o}],"filter->=":[pt,[St,vt],(i,[t,r])=>{const o=i.properties()[t.value],c=r.value;return typeof o==typeof c&&o>=c}],"filter-id->=":[pt,[vt],(i,[t])=>{const r=i.id(),o=t.value;return typeof r==typeof o&&r>=o}],"filter-has":[pt,[vt],(i,[t])=>t.value in i.properties()],"filter-has-id":[pt,[],i=>i.id()!==null&&i.id()!==void 0],"filter-type-in":[pt,[D(St)],(i,[t])=>t.value.indexOf(i.geometryType())>=0],"filter-id-in":[pt,[D(vt)],(i,[t])=>t.value.indexOf(i.id())>=0],"filter-in-small":[pt,[St,D(vt)],(i,[t,r])=>r.value.indexOf(i.properties()[t.value])>=0],"filter-in-large":[pt,[St,D(vt)],(i,[t,r])=>function(o,c,f,m){for(;f<=m;){const y=f+m>>1;if(c[y]===o)return!0;c[y]>o?m=y-1:f=y+1}return!1}(i.properties()[t.value],r.value,0,r.value.length-1)],all:{type:pt,overloads:[[[pt,pt],(i,[t,r])=>t.evaluate(i)&&r.evaluate(i)],[_n(pt),(i,t)=>{for(const r of t)if(!r.evaluate(i))return!1;return!0}]]},any:{type:pt,overloads:[[[pt,pt],(i,[t,r])=>t.evaluate(i)||r.evaluate(i)],[_n(pt),(i,t)=>{for(const r of t)if(r.evaluate(i))return!0;return!1}]]},"!":[pt,[pt],(i,[t])=>!t.evaluate(i)],"is-supported-script":[pt,[St],(i,[t])=>{const r=i.globals&&i.globals.isSupportedScript;return!r||r(t.evaluate(i))}],upcase:[St,[St],(i,[t])=>t.evaluate(i).toUpperCase()],downcase:[St,[St],(i,[t])=>t.evaluate(i).toLowerCase()],concat:[St,_n(vt),(i,t)=>t.map(r=>Xr(r.evaluate(i))).join("")],"resolved-locale":[St,[dr],(i,[t])=>t.evaluate(i).resolvedLocale()]});class ca{constructor(t,r){var o;this.expression=t,this._warningHistory={},this._evaluator=new Xo,this._defaultValue=r?(o=r).type==="color"&&la(o.default)?new X(0,0,0,0):o.type==="color"?X.parse(o.default)||null:o.type==="padding"?Me.parse(o.default)||null:o.type==="variableAnchorOffsetCollection"?Te.parse(o.default)||null:o.default===void 0?null:o.default:null,this._enumValues=r&&r.type==="enum"?r.values:null}evaluateWithoutErrorHandling(t,r,o,c,f,m){return this._evaluator.globals=t,this._evaluator.feature=r,this._evaluator.featureState=o,this._evaluator.canonical=c,this._evaluator.availableImages=f||null,this._evaluator.formattedSection=m,this.expression.evaluate(this._evaluator)}evaluate(t,r,o,c,f,m){this._evaluator.globals=t,this._evaluator.feature=r||null,this._evaluator.featureState=o||null,this._evaluator.canonical=c,this._evaluator.availableImages=f||null,this._evaluator.formattedSection=m||null;try{const y=this.expression.evaluate(this._evaluator);if(y==null||typeof y=="number"&&y!=y)return this._defaultValue;if(this._enumValues&&!(y in this._enumValues))throw new Oi(`Expected value to be one of ${Object.keys(this._enumValues).map(b=>JSON.stringify(b)).join(", ")}, but found ${JSON.stringify(y)} instead.`);return y}catch(y){return this._warningHistory[y.message]||(this._warningHistory[y.message]=!0,typeof console<"u"&&console.warn(y.message)),this._defaultValue}}}function xo(i){return Array.isArray(i)&&i.length>0&&typeof i[0]=="string"&&i[0]in jn}function ha(i,t){const r=new cn(jn,aa,[],t?function(c){const f={color:Qi,string:St,number:je,enum:St,boolean:pt,formatted:Fr,padding:Br,resolvedImage:wr,variableAnchorOffsetCollection:te};return c.type==="array"?D(f[c.value]||vt,c.length):f[c.type]}(t):void 0),o=r.parse(i,void 0,void 0,void 0,t&&t.type==="string"?{typeAnnotation:"coerce"}:void 0);return o?dl(new ca(o,t)):Ws(r.errors)}class vo{constructor(t,r){this.kind=t,this._styleExpression=r,this.isStateDependent=t!=="constant"&&!Nn(r.expression)}evaluateWithoutErrorHandling(t,r,o,c,f,m){return this._styleExpression.evaluateWithoutErrorHandling(t,r,o,c,f,m)}evaluate(t,r,o,c,f,m){return this._styleExpression.evaluate(t,r,o,c,f,m)}}class Un{constructor(t,r,o,c){this.kind=t,this.zoomStops=o,this._styleExpression=r,this.isStateDependent=t!=="camera"&&!Nn(r.expression),this.interpolationType=c}evaluateWithoutErrorHandling(t,r,o,c,f,m){return this._styleExpression.evaluateWithoutErrorHandling(t,r,o,c,f,m)}evaluate(t,r,o,c,f,m){return this._styleExpression.evaluate(t,r,o,c,f,m)}interpolationFactor(t,r,o){return this.interpolationType?Ir.interpolationFactor(this.interpolationType,t,r,o):0}}function bo(i,t){const r=ha(i,t);if(r.result==="error")return r;const o=r.value.expression,c=mo(o);if(!c&&!$n(t))return Ws([new Yi("","data expressions not supported")]);const f=_o(o,["zoom"]);if(!f&&!Mc(t))return Ws([new Yi("","zoom expressions not supported")]);const m=Vn(o);return m||f?m instanceof Yi?Ws([m]):m instanceof Ir&&!pl(t)?Ws([new Yi("",'"interpolate" expressions cannot be used with this property')]):dl(m?new Un(c?"camera":"composite",r.value,m.labels,m instanceof Ir?m.interpolation:void 0):new vo(c?"constant":"source",r.value)):Ws([new Yi("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class wo{constructor(t,r){this._parameters=t,this._specification=r,Zr(this,zc(this._parameters,this._specification))}static deserialize(t){return new wo(t._parameters,t._specification)}static serialize(t){return{_parameters:t._parameters,_specification:t._specification}}}function Vn(i){let t=null;if(i instanceof Hs)t=Vn(i.result);else if(i instanceof Qo){for(const r of i.args)if(t=Vn(r),t)break}else(i instanceof On||i instanceof Ir)&&i.input instanceof Jr&&i.input.name==="zoom"&&(t=i);return t instanceof Yi||i.eachChild(r=>{const o=Vn(r);o instanceof Yi?t=o:!t&&o?t=new Yi("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&o&&t!==o&&(t=new Yi("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),t}function ua(i){if(i===!0||i===!1)return!0;if(!Array.isArray(i)||i.length===0)return!1;switch(i[0]){case"has":return i.length>=2&&i[1]!=="$id"&&i[1]!=="$type";case"in":return i.length>=3&&(typeof i[1]!="string"||Array.isArray(i[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return i.length!==3||Array.isArray(i[1])||Array.isArray(i[2]);case"any":case"all":for(const t of i.slice(1))if(!ua(t)&&typeof t!="boolean")return!1;return!0;default:return!0}}const Rc={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function qn(i){if(i==null)return{filter:()=>!0,needGeometry:!1};ua(i)||(i=da(i));const t=ha(i,Rc);if(t.result==="error")throw new Error(t.value.map(r=>`${r.key}: ${r.message}`).join(", "));return{filter:(r,o,c)=>t.value.evaluate(r,o,{},c),needGeometry:Oc(i)}}function nu(i,t){return it?1:0}function Oc(i){if(!Array.isArray(i))return!1;if(i[0]==="within"||i[0]==="distance")return!0;for(let t=1;t"||t==="<="||t===">="?fl(i[1],i[2],t):t==="any"?(r=i.slice(1),["any"].concat(r.map(da))):t==="all"?["all"].concat(i.slice(1).map(da)):t==="none"?["all"].concat(i.slice(1).map(da).map(gn)):t==="in"?Fc(i[1],i.slice(2)):t==="!in"?gn(Fc(i[1],i.slice(2))):t==="has"?So(i[1]):t!=="!has"||gn(So(i[1]));var r}function fl(i,t,r){switch(i){case"$type":return[`filter-type-${r}`,t];case"$id":return[`filter-id-${r}`,t];default:return[`filter-${r}`,i,t]}}function Fc(i,t){if(t.length===0)return!1;switch(i){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some(r=>typeof r!=typeof t[0])?["filter-in-large",i,["literal",t.sort(nu)]]:["filter-in-small",i,["literal",t]]}}function So(i){switch(i){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",i]}}function gn(i){return["!",i]}function pr(i){const t=typeof i;if(t==="number"||t==="boolean"||t==="string"||i==null)return JSON.stringify(i);if(Array.isArray(i)){let c="[";for(const f of i)c+=`${pr(f)},`;return`${c}]`}const r=Object.keys(i).sort();let o="{";for(let c=0;co.maximum?[new Oe(t,r,`${r} is greater than the maximum value ${o.maximum}`)]:[]}function Bc(i){const t=i.valueSpec,r=Ci(i.value.type);let o,c,f,m={};const y=r!=="categorical"&&i.value.property===void 0,b=!y,T=Ht(i.value.stops)==="array"&&Ht(i.value.stops[0])==="array"&&Ht(i.value.stops[0][0])==="object",E=ir({key:i.key,value:i.value,valueSpec:i.styleSpec.function,validateSpec:i.validateSpec,style:i.style,styleSpec:i.styleSpec,objectElementValidators:{stops:function(R){if(r==="identity")return[new Oe(R.key,R.value,'identity function may not have a "stops" property')];let F=[];const $=R.value;return F=F.concat(pa({key:R.key,value:$,valueSpec:R.valueSpec,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,arrayElementValidator:P})),Ht($)==="array"&&$.length===0&&F.push(new Oe(R.key,$,"array must have at least one stop")),F},default:function(R){return R.validateSpec({key:R.key,value:R.value,valueSpec:t,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec})}}});return r==="identity"&&y&&E.push(new Oe(i.key,i.value,'missing required property "property"')),r==="identity"||i.value.stops||E.push(new Oe(i.key,i.value,'missing required property "stops"')),r==="exponential"&&i.valueSpec.expression&&!pl(i.valueSpec)&&E.push(new Oe(i.key,i.value,"exponential functions not supported")),i.styleSpec.$version>=8&&(b&&!$n(i.valueSpec)?E.push(new Oe(i.key,i.value,"property functions not supported")):y&&!Mc(i.valueSpec)&&E.push(new Oe(i.key,i.value,"zoom functions not supported"))),r!=="categorical"&&!T||i.value.property!==void 0||E.push(new Oe(i.key,i.value,'"property" property is required')),E;function P(R){let F=[];const $=R.value,Q=R.key;if(Ht($)!=="array")return[new Oe(Q,$,`array expected, ${Ht($)} found`)];if($.length!==2)return[new Oe(Q,$,`array length 2 expected, length ${$.length} found`)];if(T){if(Ht($[0])!=="object")return[new Oe(Q,$,`object expected, ${Ht($[0])} found`)];if($[0].zoom===void 0)return[new Oe(Q,$,"object stop key must have zoom")];if($[0].value===void 0)return[new Oe(Q,$,"object stop key must have value")];if(f&&f>Ci($[0].zoom))return[new Oe(Q,$[0].zoom,"stop zoom values must appear in ascending order")];Ci($[0].zoom)!==f&&(f=Ci($[0].zoom),c=void 0,m={}),F=F.concat(ir({key:`${Q}[0]`,value:$[0],valueSpec:{zoom:{}},validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec,objectElementValidators:{zoom:To,value:z}}))}else F=F.concat(z({key:`${Q}[0]`,value:$[0],valueSpec:{},validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec},$));return xo(yn($[1]))?F.concat([new Oe(`${Q}[1]`,$[1],"expressions are not allowed in function stops.")]):F.concat(R.validateSpec({key:`${Q}[1]`,value:$[1],valueSpec:t,validateSpec:R.validateSpec,style:R.style,styleSpec:R.styleSpec}))}function z(R,F){const $=Ht(R.value),Q=Ci(R.value),ie=R.value!==null?R.value:F;if(o){if($!==o)return[new Oe(R.key,ie,`${$} stop domain type must match previous stop domain type ${o}`)]}else o=$;if($!=="number"&&$!=="string"&&$!=="boolean")return[new Oe(R.key,ie,"stop domain value must be a number, string, or boolean")];if($!=="number"&&r!=="categorical"){let _e=`number expected, ${$} found`;return $n(t)&&r===void 0&&(_e+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new Oe(R.key,ie,_e)]}return r!=="categorical"||$!=="number"||isFinite(Q)&&Math.floor(Q)===Q?r!=="categorical"&&$==="number"&&c!==void 0&&Qnew Oe(`${i.key}${o.key}`,i.value,o.message));const r=t.value.expression||t.value._styleExpression.expression;if(i.expressionContext==="property"&&i.propertyKey==="text-font"&&!r.outputDefined())return[new Oe(i.key,i.value,`Invalid data expression for "${i.propertyKey}". Output values must be contained as literals within the expression.`)];if(i.expressionContext==="property"&&i.propertyType==="layout"&&!Nn(r))return[new Oe(i.key,i.value,'"feature-state" data expressions are not supported with layout properties.')];if(i.expressionContext==="filter"&&!Nn(r))return[new Oe(i.key,i.value,'"feature-state" data expressions are not supported with filters.')];if(i.expressionContext&&i.expressionContext.indexOf("cluster")===0){if(!_o(r,["zoom","feature-state"]))return[new Oe(i.key,i.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(i.expressionContext==="cluster-initial"&&!mo(r))return[new Oe(i.key,i.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function ko(i){const t=i.key,r=i.value,o=i.valueSpec,c=[];return Array.isArray(o.values)?o.values.indexOf(Ci(r))===-1&&c.push(new Oe(t,r,`expected one of [${o.values.join(", ")}], ${JSON.stringify(r)} found`)):Object.keys(o.values).indexOf(Ci(r))===-1&&c.push(new Oe(t,r,`expected one of [${Object.keys(o.values).join(", ")}], ${JSON.stringify(r)} found`)),c}function xn(i){return ua(yn(i.value))?Xs(Zr({},i,{expressionContext:"filter",valueSpec:{value:"boolean"}})):jc(i)}function jc(i){const t=i.value,r=i.key;if(Ht(t)!=="array")return[new Oe(r,t,`array expected, ${Ht(t)} found`)];const o=i.styleSpec;let c,f=[];if(t.length<1)return[new Oe(r,t,"filter array must have at least 1 element")];switch(f=f.concat(ko({key:`${r}[0]`,value:t[0],valueSpec:o.filter_operator,style:i.style,styleSpec:i.styleSpec})),Ci(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&Ci(t[1])==="$type"&&f.push(new Oe(r,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":t.length!==3&&f.push(new Oe(r,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(c=Ht(t[1]),c!=="string"&&f.push(new Oe(`${r}[1]`,t[1],`string expected, ${c} found`)));for(let m=2;m{T in r&&t.push(new Oe(o,r[T],`"${T}" is prohibited for ref layers`))}),c.layers.forEach(T=>{Ci(T.id)===y&&(b=T)}),b?b.ref?t.push(new Oe(o,r.ref,"ref cannot reference another ref layer")):m=Ci(b.type):t.push(new Oe(o,r.ref,`ref layer "${y}" not found`))}else if(m!=="background")if(r.source){const b=c.sources&&c.sources[r.source],T=b&&Ci(b.type);b?T==="vector"&&m==="raster"?t.push(new Oe(o,r.source,`layer "${r.id}" requires a raster source`)):T!=="raster-dem"&&m==="hillshade"?t.push(new Oe(o,r.source,`layer "${r.id}" requires a raster-dem source`)):T==="raster"&&m!=="raster"?t.push(new Oe(o,r.source,`layer "${r.id}" requires a vector source`)):T!=="vector"||r["source-layer"]?T==="raster-dem"&&m!=="hillshade"?t.push(new Oe(o,r.source,"raster-dem source can only be used with layer type 'hillshade'.")):m!=="line"||!r.paint||!r.paint["line-gradient"]||T==="geojson"&&b.lineMetrics||t.push(new Oe(o,r,`layer "${r.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new Oe(o,r,`layer "${r.id}" must specify a "source-layer"`)):t.push(new Oe(o,r.source,`source "${r.source}" not found`))}else t.push(new Oe(o,r,'missing required property "source"'));return t=t.concat(ir({key:o,value:r,valueSpec:f.layer,style:i.style,styleSpec:i.styleSpec,validateSpec:i.validateSpec,objectElementValidators:{"*":()=>[],type:()=>i.validateSpec({key:`${o}.type`,value:r.type,valueSpec:f.layer.type,style:i.style,styleSpec:i.styleSpec,validateSpec:i.validateSpec,object:r,objectKey:"type"}),filter:xn,layout:b=>ir({layer:r,key:b.key,value:b.value,style:b.style,styleSpec:b.styleSpec,validateSpec:b.validateSpec,objectElementValidators:{"*":T=>ma(Zr({layerType:m},T))}}),paint:b=>ir({layer:r,key:b.key,value:b.value,style:b.style,styleSpec:b.styleSpec,validateSpec:b.validateSpec,objectElementValidators:{"*":T=>_l(Zr({layerType:m},T))}})}})),t}function Js(i){const t=i.value,r=i.key,o=Ht(t);return o!=="string"?[new Oe(r,t,`string expected, ${o} found`)]:[]}const Nc={promoteId:function({key:i,value:t}){if(Ht(t)==="string")return Js({key:i,value:t});{const r=[];for(const o in t)r.push(...Js({key:`${i}.${o}`,value:t[o]}));return r}}};function _a(i){const t=i.value,r=i.key,o=i.styleSpec,c=i.style,f=i.validateSpec;if(!t.type)return[new Oe(r,t,'"type" is required')];const m=Ci(t.type);let y;switch(m){case"vector":case"raster":return y=ir({key:r,value:t,valueSpec:o[`source_${m.replace("-","_")}`],style:i.style,styleSpec:o,objectElementValidators:Nc,validateSpec:f}),y;case"raster-dem":return y=function(b){var T;const E=(T=b.sourceName)!==null&&T!==void 0?T:"",P=b.value,z=b.styleSpec,R=z.source_raster_dem,F=b.style;let $=[];const Q=Ht(P);if(P===void 0)return $;if(Q!=="object")return $.push(new Oe("source_raster_dem",P,`object expected, ${Q} found`)),$;const ie=Ci(P.encoding)==="custom",_e=["redFactor","greenFactor","blueFactor","baseShift"],ce=b.value.encoding?`"${b.value.encoding}"`:"Default";for(const me in P)!ie&&_e.includes(me)?$.push(new Oe(me,P[me],`In "${E}": "${me}" is only valid when "encoding" is set to "custom". ${ce} encoding found`)):R[me]?$=$.concat(b.validateSpec({key:me,value:P[me],valueSpec:R[me],validateSpec:b.validateSpec,style:F,styleSpec:z})):$.push(new Oe(me,P[me],`unknown property "${me}"`));return $}({sourceName:r,value:t,style:i.style,styleSpec:o,validateSpec:f}),y;case"geojson":if(y=ir({key:r,value:t,valueSpec:o.source_geojson,style:c,styleSpec:o,validateSpec:f,objectElementValidators:Nc}),t.cluster)for(const b in t.clusterProperties){const[T,E]=t.clusterProperties[b],P=typeof T=="string"?[T,["accumulated"],["get",b]]:T;y.push(...Xs({key:`${r}.${b}.map`,value:E,validateSpec:f,expressionContext:"cluster-map"})),y.push(...Xs({key:`${r}.${b}.reduce`,value:P,validateSpec:f,expressionContext:"cluster-reduce"}))}return y;case"video":return ir({key:r,value:t,valueSpec:o.source_video,style:c,validateSpec:f,styleSpec:o});case"image":return ir({key:r,value:t,valueSpec:o.source_image,style:c,validateSpec:f,styleSpec:o});case"canvas":return[new Oe(r,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ko({key:`${r}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]},style:c,validateSpec:f,styleSpec:o})}}function Eo(i){const t=i.value,r=i.styleSpec,o=r.light,c=i.style;let f=[];const m=Ht(t);if(t===void 0)return f;if(m!=="object")return f=f.concat([new Oe("light",t,`object expected, ${m} found`)]),f;for(const y in t){const b=y.match(/^(.*)-transition$/);f=f.concat(b&&o[b[1]]&&o[b[1]].transition?i.validateSpec({key:y,value:t[y],valueSpec:r.transition,validateSpec:i.validateSpec,style:c,styleSpec:r}):o[y]?i.validateSpec({key:y,value:t[y],valueSpec:o[y],validateSpec:i.validateSpec,style:c,styleSpec:r}):[new Oe(y,t[y],`unknown property "${y}"`)])}return f}function yl(i){const t=i.value,r=i.styleSpec,o=r.sky,c=i.style,f=Ht(t);if(t===void 0)return[];if(f!=="object")return[new Oe("sky",t,`object expected, ${f} found`)];let m=[];for(const y in t)m=m.concat(o[y]?i.validateSpec({key:y,value:t[y],valueSpec:o[y],style:c,styleSpec:r}):[new Oe(y,t[y],`unknown property "${y}"`)]);return m}function xl(i){const t=i.value,r=i.styleSpec,o=r.terrain,c=i.style;let f=[];const m=Ht(t);if(t===void 0)return f;if(m!=="object")return f=f.concat([new Oe("terrain",t,`object expected, ${m} found`)]),f;for(const y in t)f=f.concat(o[y]?i.validateSpec({key:y,value:t[y],valueSpec:o[y],validateSpec:i.validateSpec,style:c,styleSpec:r}):[new Oe(y,t[y],`unknown property "${y}"`)]);return f}function vl(i){let t=[];const r=i.value,o=i.key;if(Array.isArray(r)){const c=[],f=[];for(const m in r)r[m].id&&c.includes(r[m].id)&&t.push(new Oe(o,r,`all the sprites' ids must be unique, but ${r[m].id} is duplicated`)),c.push(r[m].id),r[m].url&&f.includes(r[m].url)&&t.push(new Oe(o,r,`all the sprites' URLs must be unique, but ${r[m].url} is duplicated`)),f.push(r[m].url),t=t.concat(ir({key:`${o}[${m}]`,value:r[m],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:i.validateSpec}));return t}return Js({key:o,value:r})}const bl={"*":()=>[],array:pa,boolean:function(i){const t=i.value,r=i.key,o=Ht(t);return o!=="boolean"?[new Oe(r,t,`boolean expected, ${o} found`)]:[]},number:To,color:function(i){const t=i.key,r=i.value,o=Ht(r);return o!=="string"?[new Oe(t,r,`color expected, ${o} found`)]:X.parse(String(r))?[]:[new Oe(t,r,`color expected, "${r}" found`)]},constants:ml,enum:ko,filter:xn,function:Bc,layer:gl,object:ir,source:_a,light:Eo,sky:yl,terrain:xl,projection:function(i){const t=i.value,r=i.styleSpec,o=r.projection,c=i.style,f=Ht(t);if(t===void 0)return[];if(f!=="object")return[new Oe("projection",t,`object expected, ${f} found`)];let m=[];for(const y in t)m=m.concat(o[y]?i.validateSpec({key:y,value:t[y],valueSpec:o[y],style:c,styleSpec:r}):[new Oe(y,t[y],`unknown property "${y}"`)]);return m},string:Js,formatted:function(i){return Js(i).length===0?[]:Xs(i)},resolvedImage:function(i){return Js(i).length===0?[]:Xs(i)},padding:function(i){const t=i.key,r=i.value;if(Ht(r)==="array"){if(r.length<1||r.length>4)return[new Oe(t,r,`padding requires 1 to 4 values; ${r.length} values found`)];const o={type:"number"};let c=[];for(let f=0;f[]}})),i.constants&&(r=r.concat(ml({key:"constants",value:i.constants,style:i,styleSpec:t,validateSpec:vn}))),$c(r)}function os(i){return function(t){return i({...t,validateSpec:vn})}}function $c(i){return[].concat(i).sort((t,r)=>t.line-r.line)}function as(i){return function(...t){return $c(i.apply(this,t))}}ns.source=as(os(_a)),ns.sprite=as(os(vl)),ns.glyphs=as(os(wl)),ns.light=as(os(Eo)),ns.sky=as(os(yl)),ns.terrain=as(os(xl)),ns.layer=as(os(gl)),ns.filter=as(os(xn)),ns.paintProperty=as(os(_l)),ns.layoutProperty=as(os(ma));const bn=ns,Uc=bn.light,ou=bn.sky,au=bn.paintProperty,Vc=bn.layoutProperty;function Sl(i,t){let r=!1;if(t&&t.length)for(const o of t)i.fire(new Or(new Error(o.message))),r=!0;return r}class Gn{constructor(t,r,o){const c=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const m=new Int32Array(this.arrayBuffer);t=m[0],this.d=(r=m[1])+2*(o=m[2]);for(let b=0;b=P[F+0]&&c>=P[F+1])?(y[R]=!0,m.push(E[R])):y[R]=!1}}}}_forEachCell(t,r,o,c,f,m,y,b){const T=this._convertToCellCoord(t),E=this._convertToCellCoord(r),P=this._convertToCellCoord(o),z=this._convertToCellCoord(c);for(let R=T;R<=P;R++)for(let F=E;F<=z;F++){const $=this.d*F+R;if((!b||b(this._convertFromCellCoord(R),this._convertFromCellCoord(F),this._convertFromCellCoord(R+1),this._convertFromCellCoord(F+1)))&&f.call(this,t,r,o,c,$,m,y,b))return}}_convertFromCellCoord(t){return(t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,r=3+this.cells.length+1+1;let o=0;for(let m=0;m=0)continue;const m=i[f];c[f]=ks[r].shallow.indexOf(f)>=0?m:Po(m,t)}i instanceof Error&&(c.message=i.message)}if(c.$name)throw new Error("$name property is reserved for worker serialization logic.");return r!=="Object"&&(c.$name=r),c}function Hn(i){if(Gc(i))return i;if(Array.isArray(i))return i.map(Hn);if(typeof i!="object")throw new Error("can't deserialize object of type "+typeof i);const t=Ao(i)||"Object";if(!ks[t])throw new Error(`can't deserialize unregistered class ${t}`);const{klass:r}=ks[t];if(!r)throw new Error(`can't deserialize unregistered class ${t}`);if(r.deserialize)return r.deserialize(i);const o=Object.create(r.prototype);for(const c of Object.keys(i)){if(c==="$name")continue;const f=i[c];o[c]=ks[t].shallow.indexOf(c)>=0?f:Hn(f)}return o}class Il{constructor(){this.first=!0}update(t,r){const o=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=o,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=o,!0):(this.lastFloorZoom>o?(this.lastIntegerZoom=o+1,this.lastIntegerZoomTime=r):this.lastFloorZoomi>=128&&i<=255,"Hangul Jamo":i=>i>=4352&&i<=4607,Khmer:i=>i>=6016&&i<=6143,"General Punctuation":i=>i>=8192&&i<=8303,"Letterlike Symbols":i=>i>=8448&&i<=8527,"Number Forms":i=>i>=8528&&i<=8591,"Miscellaneous Technical":i=>i>=8960&&i<=9215,"Control Pictures":i=>i>=9216&&i<=9279,"Optical Character Recognition":i=>i>=9280&&i<=9311,"Enclosed Alphanumerics":i=>i>=9312&&i<=9471,"Geometric Shapes":i=>i>=9632&&i<=9727,"Miscellaneous Symbols":i=>i>=9728&&i<=9983,"Miscellaneous Symbols and Arrows":i=>i>=11008&&i<=11263,"Ideographic Description Characters":i=>i>=12272&&i<=12287,"CJK Symbols and Punctuation":i=>i>=12288&&i<=12351,Katakana:i=>i>=12448&&i<=12543,Kanbun:i=>i>=12688&&i<=12703,"CJK Strokes":i=>i>=12736&&i<=12783,"Enclosed CJK Letters and Months":i=>i>=12800&&i<=13055,"CJK Compatibility":i=>i>=13056&&i<=13311,"Yijing Hexagram Symbols":i=>i>=19904&&i<=19967,"Private Use Area":i=>i>=57344&&i<=63743,"Vertical Forms":i=>i>=65040&&i<=65055,"CJK Compatibility Forms":i=>i>=65072&&i<=65103,"Small Form Variants":i=>i>=65104&&i<=65135,"Halfwidth and Fullwidth Forms":i=>i>=65280&&i<=65519};function Tl(i){for(const t of i)if(El(t.charCodeAt(0)))return!0;return!1}function lu(i){for(const t of i)if(!hu(t.charCodeAt(0)))return!1;return!0}function kl(i){const t=i.map(r=>{try{return new RegExp(`\\p{sc=${r}}`,"u").source}catch{return null}}).filter(r=>r);return new RegExp(t.join("|"),"u")}const cu=kl(["Arab","Dupl","Mong","Ougr","Syrc"]);function hu(i){return!cu.test(String.fromCodePoint(i))}const wn=kl(["Bopo","Hani","Hira","Kana","Kits","Nshu","Tang","Yiii"]);function El(i){return!(i!==746&&i!==747&&(i<4352||!(Nt["CJK Compatibility Forms"](i)&&!(i>=65097&&i<=65103)||Nt["CJK Compatibility"](i)||Nt["CJK Strokes"](i)||!(!Nt["CJK Symbols and Punctuation"](i)||i>=12296&&i<=12305||i>=12308&&i<=12319||i===12336)||Nt["Enclosed CJK Letters and Months"](i)||Nt["Ideographic Description Characters"](i)||Nt.Kanbun(i)||Nt.Katakana(i)&&i!==12540||!(!Nt["Halfwidth and Fullwidth Forms"](i)||i===65288||i===65289||i===65293||i>=65306&&i<=65310||i===65339||i===65341||i===65343||i>=65371&&i<=65503||i===65507||i>=65512&&i<=65519)||!(!Nt["Small Form Variants"](i)||i>=65112&&i<=65118||i>=65123&&i<=65126)||Nt["Vertical Forms"](i)||Nt["Yijing Hexagram Symbols"](i)||new RegExp("\\p{sc=Cans}","u").test(String.fromCodePoint(i))||new RegExp("\\p{sc=Hang}","u").test(String.fromCodePoint(i))||wn.test(String.fromCodePoint(i)))))}function Hc(i){return!(El(i)||function(t){return!!(Nt["Latin-1 Supplement"](t)&&(t===167||t===169||t===174||t===177||t===188||t===189||t===190||t===215||t===247)||Nt["General Punctuation"](t)&&(t===8214||t===8224||t===8225||t===8240||t===8241||t===8251||t===8252||t===8258||t===8263||t===8264||t===8265||t===8273)||Nt["Letterlike Symbols"](t)||Nt["Number Forms"](t)||Nt["Miscellaneous Technical"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||t===9003||t>=9085&&t<=9114||t>=9150&&t<=9165||t===9167||t>=9169&&t<=9179||t>=9186&&t<=9215)||Nt["Control Pictures"](t)&&t!==9251||Nt["Optical Character Recognition"](t)||Nt["Enclosed Alphanumerics"](t)||Nt["Geometric Shapes"](t)||Nt["Miscellaneous Symbols"](t)&&!(t>=9754&&t<=9759)||Nt["Miscellaneous Symbols and Arrows"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||Nt["CJK Symbols and Punctuation"](t)||Nt.Katakana(t)||Nt["Private Use Area"](t)||Nt["CJK Compatibility Forms"](t)||Nt["Small Form Variants"](t)||Nt["Halfwidth and Fullwidth Forms"](t)||t===8734||t===8756||t===8757||t>=9984&&t<=10087||t>=10102&&t<=10131||t===65532||t===65533)}(i))}const uu=kl(["Adlm","Arab","Armi","Avst","Chrs","Cprt","Egyp","Elym","Gara","Hatr","Hebr","Hung","Khar","Lydi","Mand","Mani","Mend","Merc","Mero","Narb","Nbat","Nkoo","Orkh","Palm","Phli","Phlp","Phnx","Prti","Rohg","Samr","Sarb","Sogo","Syrc","Thaa","Todr","Yezi"]);function Zc(i){return uu.test(String.fromCodePoint(i))}function Wc(i,t){return!(!t&&Zc(i)||i>=2304&&i<=3583||i>=3840&&i<=4255||Nt.Khmer(i))}function du(i){for(const t of i)if(Zc(t.charCodeAt(0)))return!0;return!1}const Sn=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null}setState(i){this.pluginStatus=i.pluginStatus,this.pluginURL=i.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(i){this.applyArabicShaping=i.applyArabicShaping,this.processBidirectionalText=i.processBidirectionalText,this.processStyledBidirectionalText=i.processStyledBidirectionalText}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class ti{constructor(t,r){this.zoom=t,r?(this.now=r.now,this.fadeDuration=r.fadeDuration,this.zoomHistory=r.zoomHistory,this.transition=r.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Il,this.transition={})}isSupportedScript(t){return function(r,o){for(const c of r)if(!Wc(c.charCodeAt(0),o))return!1;return!0}(t,Sn.getRTLTextPluginStatus()==="loaded")}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,r=t-Math.floor(t),o=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:r+(1-r)*o}:{fromScale:.5,toScale:1,t:1-(1-o)*r}}}class Co{constructor(t,r){this.property=t,this.value=r,this.expression=function(o,c){if(la(o))return new wo(o,c);if(xo(o)){const f=bo(o,c);if(f.result==="error")throw new Error(f.value.map(m=>`${m.key}: ${m.message}`).join(", "));return f.value}{let f=o;return c.type==="color"&&typeof o=="string"?f=X.parse(o):c.type!=="padding"||typeof o!="number"&&!Array.isArray(o)?c.type==="variableAnchorOffsetCollection"&&Array.isArray(o)&&(f=Te.parse(o)):f=Me.parse(o),{kind:"constant",evaluate:()=>f}}}(r===void 0?t.specification.default:r,t.specification)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}possiblyEvaluate(t,r,o){return this.property.possiblyEvaluate(this,t,r,o)}}class Mo{constructor(t){this.property=t,this.value=new Co(t,void 0)}transitioned(t,r){return new ga(this.property,this.value,r,yt({},t.transition,this.transition),t.now)}untransitioned(){return new ga(this.property,this.value,null,{},0)}}class Al{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues)}getValue(t){return Lt(this._values[t].value.value)}setValue(t,r){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Mo(this._values[t].property)),this._values[t].value=new Co(this._values[t].property,r===null?void 0:Lt(r))}getTransition(t){return Lt(this._values[t].transition)}setTransition(t,r){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Mo(this._values[t].property)),this._values[t].transition=Lt(r)||void 0}serialize(){const t={};for(const r of Object.keys(this._values)){const o=this.getValue(r);o!==void 0&&(t[r]=o);const c=this.getTransition(r);c!==void 0&&(t[`${r}-transition`]=c)}return t}transitioned(t,r){const o=new Xc(this._properties);for(const c of Object.keys(this._values))o._values[c]=this._values[c].transitioned(t,r._values[c]);return o}untransitioned(){const t=new Xc(this._properties);for(const r of Object.keys(this._values))t._values[r]=this._values[r].untransitioned();return t}}class ga{constructor(t,r,o,c,f){this.property=t,this.value=r,this.begin=f+c.delay||0,this.end=this.begin+c.duration||0,t.specification.transition&&(c.delay||c.duration)&&(this.prior=o)}possiblyEvaluate(t,r,o){const c=t.now||0,f=this.value.possiblyEvaluate(t,r,o),m=this.prior;if(m){if(c>this.end)return this.prior=null,f;if(this.value.isDataDriven())return this.prior=null,f;if(c=1)return 1;const T=b*b,E=T*b;return 4*(b<.5?E:3*(b-T)+E-.75)}(y))}}return f}}class Xc{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues)}possiblyEvaluate(t,r,o){const c=new xa(this._properties);for(const f of Object.keys(this._values))c._values[f]=this._values[f].possiblyEvaluate(t,r,o);return c}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return!0;return!1}}class ya{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues)}hasValue(t){return this._values[t].value!==void 0}getValue(t){return Lt(this._values[t].value)}setValue(t,r){this._values[t]=new Co(this._values[t].property,r===null?void 0:Lt(r))}serialize(){const t={};for(const r of Object.keys(this._values)){const o=this.getValue(r);o!==void 0&&(t[r]=o)}return t}possiblyEvaluate(t,r,o){const c=new xa(this._properties);for(const f of Object.keys(this._values))c._values[f]=this._values[f].possiblyEvaluate(t,r,o);return c}}class Tr{constructor(t,r,o){this.property=t,this.value=r,this.parameters=o}isConstant(){return this.value.kind==="constant"}constantOr(t){return this.value.kind==="constant"?this.value.value:t}evaluate(t,r,o,c){return this.property.evaluate(this.value,this.parameters,t,r,o,c)}}class xa{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues)}get(t){return this._values[t]}}class lt{constructor(t){this.specification=t}possiblyEvaluate(t,r){if(t.isDataDriven())throw new Error("Value should not be data driven");return t.expression.evaluate(r)}interpolate(t,r,o){const c=Sr[this.specification.type];return c?c(t,r,o):t}}class dt{constructor(t,r){this.specification=t,this.overrides=r}possiblyEvaluate(t,r,o,c){return new Tr(this,t.expression.kind==="constant"||t.expression.kind==="camera"?{kind:"constant",value:t.expression.evaluate(r,null,{},o,c)}:t.expression,r)}interpolate(t,r,o){if(t.value.kind!=="constant"||r.value.kind!=="constant")return t;if(t.value.value===void 0||r.value.value===void 0)return new Tr(this,{kind:"constant",value:void 0},t.parameters);const c=Sr[this.specification.type];if(c){const f=c(t.value.value,r.value.value,o);return new Tr(this,{kind:"constant",value:f},t.parameters)}return t}evaluate(t,r,o,c,f,m){return t.kind==="constant"?t.value:t.evaluate(r,o,c,f,m)}}class va extends dt{possiblyEvaluate(t,r,o,c){if(t.value===void 0)return new Tr(this,{kind:"constant",value:void 0},r);if(t.expression.kind==="constant"){const f=t.expression.evaluate(r,null,{},o,c),m=t.property.specification.type==="resolvedImage"&&typeof f!="string"?f.name:f,y=this._calculate(m,m,m,r);return new Tr(this,{kind:"constant",value:y},r)}if(t.expression.kind==="camera"){const f=this._calculate(t.expression.evaluate({zoom:r.zoom-1}),t.expression.evaluate({zoom:r.zoom}),t.expression.evaluate({zoom:r.zoom+1}),r);return new Tr(this,{kind:"constant",value:f},r)}return new Tr(this,t.expression,r)}evaluate(t,r,o,c,f,m){if(t.kind==="source"){const y=t.evaluate(r,o,c,f,m);return this._calculate(y,y,y,r)}return t.kind==="composite"?this._calculate(t.evaluate({zoom:Math.floor(r.zoom)-1},o,c),t.evaluate({zoom:Math.floor(r.zoom)},o,c),t.evaluate({zoom:Math.floor(r.zoom)+1},o,c),r):t.value}_calculate(t,r,o,c){return c.zoom>c.zoomHistory.lastIntegerZoom?{from:t,to:r}:{from:o,to:r}}interpolate(t){return t}}class Pl{constructor(t){this.specification=t}possiblyEvaluate(t,r,o,c){if(t.value!==void 0){if(t.expression.kind==="constant"){const f=t.expression.evaluate(r,null,{},o,c);return this._calculate(f,f,f,r)}return this._calculate(t.expression.evaluate(new ti(Math.floor(r.zoom-1),r)),t.expression.evaluate(new ti(Math.floor(r.zoom),r)),t.expression.evaluate(new ti(Math.floor(r.zoom+1),r)),r)}}_calculate(t,r,o,c){return c.zoom>c.zoomHistory.lastIntegerZoom?{from:t,to:r}:{from:o,to:r}}interpolate(t){return t}}class ba{constructor(t){this.specification=t}possiblyEvaluate(t,r,o,c){return!!t.expression.evaluate(r,null,{},o,c)}interpolate(){return!1}}class kr{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const r in t){const o=t[r];o.specification.overridable&&this.overridableProperties.push(r);const c=this.defaultPropertyValues[r]=new Co(o,void 0),f=this.defaultTransitionablePropertyValues[r]=new Mo(o);this.defaultTransitioningPropertyValues[r]=f.untransitioned(),this.defaultPossiblyEvaluatedValues[r]=c.possiblyEvaluate({})}}}Xe("DataDrivenProperty",dt),Xe("DataConstantProperty",lt),Xe("CrossFadedDataDrivenProperty",va),Xe("CrossFadedProperty",Pl),Xe("ColorRampProperty",ba);const p="-transition";class e extends zs{constructor(t,r){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},t.type!=="custom"&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,t.type!=="background"&&(this.source=t.source,this.sourceLayer=t["source-layer"],this.filter=t.filter),r.layout&&(this._unevaluatedLayout=new ya(r.layout)),r.paint)){this._transitionablePaint=new Al(r.paint);for(const o in t.paint)this.setPaintProperty(o,t.paint[o],{validate:!1});for(const o in t.layout)this.setLayoutProperty(o,t.layout[o],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new xa(r.paint)}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return t==="visibility"?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,r,o={}){r!=null&&this._validate(Vc,`layers.${this.id}.layout.${t}`,t,r,o)||(t!=="visibility"?this._unevaluatedLayout.setValue(t,r):this.visibility=r)}getPaintProperty(t){return t.endsWith(p)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,r,o={}){if(r!=null&&this._validate(au,`layers.${this.id}.paint.${t}`,t,r,o))return!1;if(t.endsWith(p))return this._transitionablePaint.setTransition(t.slice(0,-11),r||void 0),!1;{const c=this._transitionablePaint._values[t],f=c.property.specification["property-type"]==="cross-faded-data-driven",m=c.value.isDataDriven(),y=c.value;this._transitionablePaint.setValue(t,r),this._handleSpecialPaintPropertyUpdate(t);const b=this._transitionablePaint._values[t].value;return b.isDataDriven()||m||f||this._handleOverridablePaintPropertyUpdate(t,y,b)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,r,o){return!1}isHidden(t){return!!(this.minzoom&&t=this.maxzoom)||this.visibility==="none"}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,r){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,r)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,r)}serialize(){const t={id:this.id,type:this.type,source:this.source,"source-layer":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),ji(t,(r,o)=>!(r===void 0||o==="layout"&&!Object.keys(r).length||o==="paint"&&!Object.keys(r).length))}_validate(t,r,o,c,f={}){return(!f||f.validate!==!1)&&Sl(this,t.call(bn,{key:r,layerType:this.type,objectKey:o,value:c,styleSpec:be,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(const t in this.paint._values){const r=this.paint.get(t);if(r instanceof Tr&&$n(r.property.specification)&&(r.value.kind==="source"||r.value.kind==="composite")&&r.value.isStateDependent)return!0}return!1}}const s={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class a{constructor(t,r){this._structArray=t,this._pos1=r*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class l{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(t,r){return t._trim(),r&&(t.isTransferred=!0,r.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const r=Object.create(this.prototype);return r.arrayBuffer=t.arrayBuffer,r.length=t.length,r.capacity=t.arrayBuffer.byteLength/r.bytesPerElement,r._refreshViews(),r}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews())}clear(){this.length=0}resize(t){this.reserve(t),this.length=t}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const r=this.uint8;this._refreshViews(),r&&this.uint8.set(r)}}_refreshViews(){throw new Error("_refreshViews() must be implemented by each concrete StructArray layout")}}function d(i,t=1){let r=0,o=0;return{members:i.map(c=>{const f=s[c.type].BYTES_PER_ELEMENT,m=r=v(r,Math.max(t,f)),y=c.components||1;return o=Math.max(o,f),r+=f*y,{name:c.name,type:c.type,components:y,offset:m}}),size:v(r,Math.max(o,t)),alignment:t}}function v(i,t){return Math.ceil(i/t)*t}class w extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,r)}emplace(t,r,o){const c=2*t;return this.int16[c+0]=r,this.int16[c+1]=o,t}}w.prototype.bytesPerElement=4,Xe("StructArrayLayout2i4",w);class I extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,r,o){const c=this.length;return this.resize(c+1),this.emplace(c,t,r,o)}emplace(t,r,o,c){const f=3*t;return this.int16[f+0]=r,this.int16[f+1]=o,this.int16[f+2]=c,t}}I.prototype.bytesPerElement=6,Xe("StructArrayLayout3i6",I);class A extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,r,o,c){const f=this.length;return this.resize(f+1),this.emplace(f,t,r,o,c)}emplace(t,r,o,c,f){const m=4*t;return this.int16[m+0]=r,this.int16[m+1]=o,this.int16[m+2]=c,this.int16[m+3]=f,t}}A.prototype.bytesPerElement=8,Xe("StructArrayLayout4i8",A);class C extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m){const y=this.length;return this.resize(y+1),this.emplace(y,t,r,o,c,f,m)}emplace(t,r,o,c,f,m,y){const b=6*t;return this.int16[b+0]=r,this.int16[b+1]=o,this.int16[b+2]=c,this.int16[b+3]=f,this.int16[b+4]=m,this.int16[b+5]=y,t}}C.prototype.bytesPerElement=12,Xe("StructArrayLayout2i4i12",C);class M extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m){const y=this.length;return this.resize(y+1),this.emplace(y,t,r,o,c,f,m)}emplace(t,r,o,c,f,m,y){const b=4*t,T=8*t;return this.int16[b+0]=r,this.int16[b+1]=o,this.uint8[T+4]=c,this.uint8[T+5]=f,this.uint8[T+6]=m,this.uint8[T+7]=y,t}}M.prototype.bytesPerElement=8,Xe("StructArrayLayout2i4ub8",M);class O extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,r)}emplace(t,r,o){const c=2*t;return this.float32[c+0]=r,this.float32[c+1]=o,t}}O.prototype.bytesPerElement=8,Xe("StructArrayLayout2f8",O);class V extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m,y,b,T,E){const P=this.length;return this.resize(P+1),this.emplace(P,t,r,o,c,f,m,y,b,T,E)}emplace(t,r,o,c,f,m,y,b,T,E,P){const z=10*t;return this.uint16[z+0]=r,this.uint16[z+1]=o,this.uint16[z+2]=c,this.uint16[z+3]=f,this.uint16[z+4]=m,this.uint16[z+5]=y,this.uint16[z+6]=b,this.uint16[z+7]=T,this.uint16[z+8]=E,this.uint16[z+9]=P,t}}V.prototype.bytesPerElement=20,Xe("StructArrayLayout10ui20",V);class H extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m,y,b,T,E,P,z){const R=this.length;return this.resize(R+1),this.emplace(R,t,r,o,c,f,m,y,b,T,E,P,z)}emplace(t,r,o,c,f,m,y,b,T,E,P,z,R){const F=12*t;return this.int16[F+0]=r,this.int16[F+1]=o,this.int16[F+2]=c,this.int16[F+3]=f,this.uint16[F+4]=m,this.uint16[F+5]=y,this.uint16[F+6]=b,this.uint16[F+7]=T,this.int16[F+8]=E,this.int16[F+9]=P,this.int16[F+10]=z,this.int16[F+11]=R,t}}H.prototype.bytesPerElement=24,Xe("StructArrayLayout4i4ui4i24",H);class ee extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,r,o){const c=this.length;return this.resize(c+1),this.emplace(c,t,r,o)}emplace(t,r,o,c){const f=3*t;return this.float32[f+0]=r,this.float32[f+1]=o,this.float32[f+2]=c,t}}ee.prototype.bytesPerElement=12,Xe("StructArrayLayout3f12",ee);class re extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(t){const r=this.length;return this.resize(r+1),this.emplace(r,t)}emplace(t,r){return this.uint32[1*t+0]=r,t}}re.prototype.bytesPerElement=4,Xe("StructArrayLayout1ul4",re);class se extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m,y,b,T){const E=this.length;return this.resize(E+1),this.emplace(E,t,r,o,c,f,m,y,b,T)}emplace(t,r,o,c,f,m,y,b,T,E){const P=10*t,z=5*t;return this.int16[P+0]=r,this.int16[P+1]=o,this.int16[P+2]=c,this.int16[P+3]=f,this.int16[P+4]=m,this.int16[P+5]=y,this.uint32[z+3]=b,this.uint16[P+8]=T,this.uint16[P+9]=E,t}}se.prototype.bytesPerElement=20,Xe("StructArrayLayout6i1ul2ui20",se);class ae extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m){const y=this.length;return this.resize(y+1),this.emplace(y,t,r,o,c,f,m)}emplace(t,r,o,c,f,m,y){const b=6*t;return this.int16[b+0]=r,this.int16[b+1]=o,this.int16[b+2]=c,this.int16[b+3]=f,this.int16[b+4]=m,this.int16[b+5]=y,t}}ae.prototype.bytesPerElement=12,Xe("StructArrayLayout2i2i2i12",ae);class Y extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f){const m=this.length;return this.resize(m+1),this.emplace(m,t,r,o,c,f)}emplace(t,r,o,c,f,m){const y=4*t,b=8*t;return this.float32[y+0]=r,this.float32[y+1]=o,this.float32[y+2]=c,this.int16[b+6]=f,this.int16[b+7]=m,t}}Y.prototype.bytesPerElement=16,Xe("StructArrayLayout2f1f2i16",Y);class ue extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m){const y=this.length;return this.resize(y+1),this.emplace(y,t,r,o,c,f,m)}emplace(t,r,o,c,f,m,y){const b=16*t,T=4*t,E=8*t;return this.uint8[b+0]=r,this.uint8[b+1]=o,this.float32[T+1]=c,this.float32[T+2]=f,this.int16[E+6]=m,this.int16[E+7]=y,t}}ue.prototype.bytesPerElement=16,Xe("StructArrayLayout2ub2f2i16",ue);class pe extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,r,o){const c=this.length;return this.resize(c+1),this.emplace(c,t,r,o)}emplace(t,r,o,c){const f=3*t;return this.uint16[f+0]=r,this.uint16[f+1]=o,this.uint16[f+2]=c,t}}pe.prototype.bytesPerElement=6,Xe("StructArrayLayout3ui6",pe);class ye extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m,y,b,T,E,P,z,R,F,$,Q,ie){const _e=this.length;return this.resize(_e+1),this.emplace(_e,t,r,o,c,f,m,y,b,T,E,P,z,R,F,$,Q,ie)}emplace(t,r,o,c,f,m,y,b,T,E,P,z,R,F,$,Q,ie,_e){const ce=24*t,me=12*t,Se=48*t;return this.int16[ce+0]=r,this.int16[ce+1]=o,this.uint16[ce+2]=c,this.uint16[ce+3]=f,this.uint32[me+2]=m,this.uint32[me+3]=y,this.uint32[me+4]=b,this.uint16[ce+10]=T,this.uint16[ce+11]=E,this.uint16[ce+12]=P,this.float32[me+7]=z,this.float32[me+8]=R,this.uint8[Se+36]=F,this.uint8[Se+37]=$,this.uint8[Se+38]=Q,this.uint32[me+10]=ie,this.int16[ce+22]=_e,t}}ye.prototype.bytesPerElement=48,Xe("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",ye);class Ce extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,r,o,c,f,m,y,b,T,E,P,z,R,F,$,Q,ie,_e,ce,me,Se,ze,We,ft,Ge,Ve,at,it){const Ye=this.length;return this.resize(Ye+1),this.emplace(Ye,t,r,o,c,f,m,y,b,T,E,P,z,R,F,$,Q,ie,_e,ce,me,Se,ze,We,ft,Ge,Ve,at,it)}emplace(t,r,o,c,f,m,y,b,T,E,P,z,R,F,$,Q,ie,_e,ce,me,Se,ze,We,ft,Ge,Ve,at,it,Ye){const ke=32*t,ct=16*t;return this.int16[ke+0]=r,this.int16[ke+1]=o,this.int16[ke+2]=c,this.int16[ke+3]=f,this.int16[ke+4]=m,this.int16[ke+5]=y,this.int16[ke+6]=b,this.int16[ke+7]=T,this.uint16[ke+8]=E,this.uint16[ke+9]=P,this.uint16[ke+10]=z,this.uint16[ke+11]=R,this.uint16[ke+12]=F,this.uint16[ke+13]=$,this.uint16[ke+14]=Q,this.uint16[ke+15]=ie,this.uint16[ke+16]=_e,this.uint16[ke+17]=ce,this.uint16[ke+18]=me,this.uint16[ke+19]=Se,this.uint16[ke+20]=ze,this.uint16[ke+21]=We,this.uint16[ke+22]=ft,this.uint32[ct+12]=Ge,this.float32[ct+13]=Ve,this.float32[ct+14]=at,this.uint16[ke+30]=it,this.uint16[ke+31]=Ye,t}}Ce.prototype.bytesPerElement=64,Xe("StructArrayLayout8i15ui1ul2f2ui64",Ce);class Re extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t){const r=this.length;return this.resize(r+1),this.emplace(r,t)}emplace(t,r){return this.float32[1*t+0]=r,t}}Re.prototype.bytesPerElement=4,Xe("StructArrayLayout1f4",Re);class qe extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,r,o){const c=this.length;return this.resize(c+1),this.emplace(c,t,r,o)}emplace(t,r,o,c){const f=3*t;return this.uint16[6*t+0]=r,this.float32[f+1]=o,this.float32[f+2]=c,t}}qe.prototype.bytesPerElement=12,Xe("StructArrayLayout1ui2f12",qe);class Je extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,r,o){const c=this.length;return this.resize(c+1),this.emplace(c,t,r,o)}emplace(t,r,o,c){const f=4*t;return this.uint32[2*t+0]=r,this.uint16[f+2]=o,this.uint16[f+3]=c,t}}Je.prototype.bytesPerElement=8,Xe("StructArrayLayout1ul2ui8",Je);class Ne extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t,r){const o=this.length;return this.resize(o+1),this.emplace(o,t,r)}emplace(t,r,o){const c=2*t;return this.uint16[c+0]=r,this.uint16[c+1]=o,t}}Ne.prototype.bytesPerElement=4,Xe("StructArrayLayout2ui4",Ne);class Be extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(t){const r=this.length;return this.resize(r+1),this.emplace(r,t)}emplace(t,r){return this.uint16[1*t+0]=r,t}}Be.prototype.bytesPerElement=2,Xe("StructArrayLayout1ui2",Be);class rt extends l{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(t,r,o,c){const f=this.length;return this.resize(f+1),this.emplace(f,t,r,o,c)}emplace(t,r,o,c,f){const m=4*t;return this.float32[m+0]=r,this.float32[m+1]=o,this.float32[m+2]=c,this.float32[m+3]=f,t}}rt.prototype.bytesPerElement=16,Xe("StructArrayLayout4f16",rt);class It extends a{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new J(this.anchorPointX,this.anchorPointY)}}It.prototype.size=20;class Ue extends se{get(t){return new It(this,t)}}Xe("CollisionBoxArray",Ue);class Ze extends a{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Ze.prototype.size=48;class bt extends ye{get(t){return new Ze(this,t)}}Xe("PlacedSymbolArray",bt);class yi extends a{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}yi.prototype.size=64;class Pt extends Ce{get(t){return new yi(this,t)}}Xe("SymbolInstanceArray",Pt);class $t extends Re{getoffsetX(t){return this.float32[1*t+0]}}Xe("GlyphOffsetArray",$t);class xi extends I{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}Xe("SymbolLineVertexArray",xi);class rr extends a{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}rr.prototype.size=12;class ls extends qe{get(t){return new rr(this,t)}}Xe("TextAnchorOffsetArray",ls);class vi extends a{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}vi.prototype.size=8;class Er extends Je{get(t){return new vi(this,t)}}Xe("FeatureIndexArray",Er);class fr extends w{}class mr extends w{}class _r extends w{}class Es extends C{}class Zn extends M{}class wa extends O{}class cs extends V{}class In extends H{}class Sa extends ee{}class Cl extends re{}class jr extends ae{}class hs extends ue{}class Nr extends pe{}class Ks extends Ne{}const gr=d([{name:"a_pos",components:2,type:"Int16"}],4),{members:sr}=gr;class ai{constructor(t=[]){this.segments=t}prepareSegment(t,r,o,c){let f=this.segments[this.segments.length-1];return t>ai.MAX_VERTEX_ARRAY_LENGTH&&pi(`Max vertices per segment is ${ai.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!f||f.vertexLength+t>ai.MAX_VERTEX_ARRAY_LENGTH||f.sortKey!==c)&&(f={vertexOffset:r.length,primitiveOffset:o.length,vertexLength:0,primitiveLength:0},c!==void 0&&(f.sortKey=c),this.segments.push(f)),f}get(){return this.segments}destroy(){for(const t of this.segments)for(const r in t.vaos)t.vaos[r].destroy()}static simpleSegment(t,r,o,c){return new ai([{vertexOffset:t,primitiveOffset:r,vertexLength:o,primitiveLength:c,vaos:{},sortKey:0}])}}function Ei(i,t){return 256*(i=Yt(Math.floor(i),0,255))+Yt(Math.floor(t),0,255)}ai.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,Xe("SegmentVector",ai);const Ls=d([{name:"a_pattern_from",components:4,type:"Uint16"},{name:"a_pattern_to",components:4,type:"Uint16"},{name:"a_pixel_ratio_from",components:1,type:"Uint16"},{name:"a_pixel_ratio_to",components:1,type:"Uint16"}]);var Wn={exports:{}},Ia={exports:{}};Ia.exports=function(i,t){var r,o,c,f,m,y,b,T;for(o=i.length-(r=3&i.length),c=t,m=3432918353,y=461845907,T=0;T>>16)*m&65535)<<16)&4294967295)<<15|b>>>17))*y+(((b>>>16)*y&65535)<<16)&4294967295)<<13|c>>>19))+((5*(c>>>16)&65535)<<16)&4294967295))+((58964+(f>>>16)&65535)<<16);switch(b=0,r){case 3:b^=(255&i.charCodeAt(T+2))<<16;case 2:b^=(255&i.charCodeAt(T+1))<<8;case 1:c^=b=(65535&(b=(b=(65535&(b^=255&i.charCodeAt(T)))*m+(((b>>>16)*m&65535)<<16)&4294967295)<<15|b>>>17))*y+(((b>>>16)*y&65535)<<16)&4294967295}return c^=i.length,c=2246822507*(65535&(c^=c>>>16))+((2246822507*(c>>>16)&65535)<<16)&4294967295,c=3266489909*(65535&(c^=c>>>13))+((3266489909*(c>>>16)&65535)<<16)&4294967295,(c^=c>>>16)>>>0};var pu=Ia.exports,Jc={exports:{}};Jc.exports=function(i,t){for(var r,o=i.length,c=t^o,f=0;o>=4;)r=1540483477*(65535&(r=255&i.charCodeAt(f)|(255&i.charCodeAt(++f))<<8|(255&i.charCodeAt(++f))<<16|(255&i.charCodeAt(++f))<<24))+((1540483477*(r>>>16)&65535)<<16),c=1540483477*(65535&c)+((1540483477*(c>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),o-=4,++f;switch(o){case 3:c^=(255&i.charCodeAt(f+2))<<16;case 2:c^=(255&i.charCodeAt(f+1))<<8;case 1:c=1540483477*(65535&(c^=255&i.charCodeAt(f)))+((1540483477*(c>>>16)&65535)<<16)}return c=1540483477*(65535&(c^=c>>>13))+((1540483477*(c>>>16)&65535)<<16),(c^=c>>>15)>>>0};var Kc=pu,Tn=Jc.exports;Wn.exports=Kc,Wn.exports.murmur3=Kc,Wn.exports.murmur2=Tn;var Ta=N(Wn.exports);class zo{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(t,r,o,c){this.ids.push(Ml(t)),this.positions.push(r,o,c)}getPositions(t){if(!this.indexed)throw new Error("Trying to get index, but feature positions are not indexed");const r=Ml(t);let o=0,c=this.ids.length-1;for(;o>1;this.ids[m]>=r?c=m:o=m+1}const f=[];for(;this.ids[o]===r;)f.push({index:this.positions[3*o],start:this.positions[3*o+1],end:this.positions[3*o+2]}),o++;return f}static serialize(t,r){const o=new Float64Array(t.ids),c=new Uint32Array(t.positions);return Do(o,c,0,o.length-1),r&&r.push(o.buffer,c.buffer),{ids:o,positions:c}}static deserialize(t){const r=new zo;return r.ids=t.ids,r.positions=t.positions,r.indexed=!0,r}}function Ml(i){const t=+i;return!isNaN(t)&&t<=Number.MAX_SAFE_INTEGER?t:Ta(String(i))}function Do(i,t,r,o){for(;r>1];let f=r-1,m=o+1;for(;;){do f++;while(i[f]c);if(f>=m)break;Lo(i,f,m),Lo(t,3*f,3*m),Lo(t,3*f+1,3*m+1),Lo(t,3*f+2,3*m+2)}m-r`u_${c}`),this.type=o}setUniform(t,r,o){t.set(o.constantOr(this.value))}getBinding(t,r,o){return this.type==="color"?new qd(t,r):new Yc(t,r)}}class ka{constructor(t,r){this.uniformNames=r.map(o=>`u_${o}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(t,r){this.pixelRatioFrom=r.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=r.tlbr,this.patternTo=t.tlbr}setUniform(t,r,o,c){const f=c==="u_pattern_to"?this.patternTo:c==="u_pattern_from"?this.patternFrom:c==="u_pixel_ratio_to"?this.pixelRatioTo:c==="u_pixel_ratio_from"?this.pixelRatioFrom:null;f&&t.set(f)}getBinding(t,r,o){return o.substr(0,9)==="u_pattern"?new Vd(t,r):new Yc(t,r)}}class kn{constructor(t,r,o,c){this.expression=t,this.type=o,this.maxValue=0,this.paintVertexAttributes=r.map(f=>({name:`a_${f}`,type:"Float32",components:o==="color"?2:1,offset:0})),this.paintVertexArray=new c}populatePaintArray(t,r,o,c,f){const m=this.paintVertexArray.length,y=this.expression.evaluate(new ti(0),r,{},c,[],f);this.paintVertexArray.resize(t),this._setPaintValue(m,t,y)}updatePaintArray(t,r,o,c){const f=this.expression.evaluate({zoom:0},o,c);this._setPaintValue(t,r,f)}_setPaintValue(t,r,o){if(this.type==="color"){const c=fu(o);for(let f=t;f`u_${y}_t`),this.type=o,this.useIntegerZoom=c,this.zoom=f,this.maxValue=0,this.paintVertexAttributes=r.map(y=>({name:`a_${y}`,type:"Float32",components:o==="color"?4:2,offset:0})),this.paintVertexArray=new m}populatePaintArray(t,r,o,c,f){const m=this.expression.evaluate(new ti(this.zoom),r,{},c,[],f),y=this.expression.evaluate(new ti(this.zoom+1),r,{},c,[],f),b=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(b,t,m,y)}updatePaintArray(t,r,o,c){const f=this.expression.evaluate({zoom:this.zoom},o,c),m=this.expression.evaluate({zoom:this.zoom+1},o,c);this._setPaintValue(t,r,f,m)}_setPaintValue(t,r,o,c){if(this.type==="color"){const f=fu(o),m=fu(c);for(let y=t;y`#define HAS_UNIFORM_${c}`))}return t}getBinderAttributes(){const t=[];for(const r in this.binders){const o=this.binders[r];if(o instanceof kn||o instanceof Os)for(let c=0;c!0){this.programConfigurations={};for(const c of t)this.programConfigurations[c.id]=new Gd(c,r,o);this.needsUpload=!1,this._featureMap=new zo,this._bufferOffset=0}populatePaintArrays(t,r,o,c,f,m){for(const y in this.programConfigurations)this.programConfigurations[y].populatePaintArrays(t,r,c,f,m);r.id!==void 0&&this._featureMap.add(r.id,o,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0}updatePaintArrays(t,r,o,c){for(const f of o)this.needsUpload=this.programConfigurations[f.id].updatePaintArrays(t,this._featureMap,r,f,c)||this.needsUpload}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const r in this.programConfigurations)this.programConfigurations[r].upload(t);this.needsUpload=!1}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy()}}function e_(i,t){return{"text-opacity":["opacity"],"icon-opacity":["opacity"],"text-color":["fill_color"],"icon-color":["fill_color"],"text-halo-color":["halo_color"],"icon-halo-color":["halo_color"],"text-halo-blur":["halo_blur"],"icon-halo-blur":["halo_blur"],"text-halo-width":["halo_width"],"icon-halo-width":["halo_width"],"line-gap-width":["gapwidth"],"line-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"],"fill-extrusion-pattern":["pattern_to","pattern_from","pixel_ratio_to","pixel_ratio_from"]}[i]||[i.replace(`${t}-`,"").replace(/-/g,"_")]}function Hd(i,t,r){const o={color:{source:O,composite:rt},number:{source:Re,composite:O}},c=function(f){return{"line-pattern":{source:cs,composite:cs},"fill-pattern":{source:cs,composite:cs},"fill-extrusion-pattern":{source:cs,composite:cs}}[f]}(i);return c&&c[r]||o[t][r]}Xe("ConstantBinder",zl),Xe("CrossFadedConstantBinder",ka),Xe("SourceExpressionBinder",kn),Xe("CrossFadedCompositeBinder",Xn),Xe("CompositeExpressionBinder",Os),Xe("ProgramConfiguration",Gd,{omit:["_buffers"]}),Xe("ProgramConfigurationSet",Ro);const Ui=8192,mu=Math.pow(2,14)-1,Zd=-mu-1;function Oo(i){const t=Ui/i.extent,r=i.loadGeometry();for(let o=0;om.x+1||bm.y+1)&&pi("Geometry exceeds allowed extent, reduce your vector tile buffer size")}}return r}function Fo(i,t){return{type:i.type,id:i.id,properties:i.properties,geometry:t?Oo(i):[]}}function Qc(i,t,r,o,c){i.emplaceBack(2*t+(o+1)/2,2*r+(c+1)/2)}class _u{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(r=>r.id),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new mr,this.indexArray=new Nr,this.segments=new ai,this.programConfigurations=new Ro(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter(r=>r.isStateDependent()).map(r=>r.id)}populate(t,r,o){const c=this.layers[0],f=[];let m=null,y=!1;c.type==="circle"&&(m=c.layout.get("circle-sort-key"),y=!m.isConstant());for(const{feature:b,id:T,index:E,sourceLayerIndex:P}of t){const z=this.layers[0]._featureFilter.needGeometry,R=Fo(b,z);if(!this.layers[0]._featureFilter.filter(new ti(this.zoom),R,o))continue;const F=y?m.evaluate(R,{},o):void 0,$={id:T,properties:b.properties,type:b.type,sourceLayerIndex:P,index:E,geometry:z?R.geometry:Oo(b),patterns:{},sortKey:F};f.push($)}y&&f.sort((b,T)=>b.sortKey-T.sortKey);for(const b of f){const{geometry:T,index:E,sourceLayerIndex:P}=b,z=t[E].feature;this.addFeature(b,T,E,o),r.featureIndex.insert(z,T,E,P,this.index)}}update(t,r,o){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,r,this.stateDependentLayers,o)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,sr),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(t,r,o,c){for(const f of r)for(const m of f){const y=m.x,b=m.y;if(y<0||y>=Ui||b<0||b>=Ui)continue;const T=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),E=T.vertexLength;Qc(this.layoutVertexArray,y,b,-1,-1),Qc(this.layoutVertexArray,y,b,1,-1),Qc(this.layoutVertexArray,y,b,1,1),Qc(this.layoutVertexArray,y,b,-1,1),this.indexArray.emplaceBack(E,E+1,E+2),this.indexArray.emplaceBack(E,E+3,E+2),T.vertexLength+=4,T.primitiveLength+=2}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,o,{},c)}}function Wd(i,t){for(let r=0;r1){if(gu(i,t))return!0;for(let o=0;o1?r:r.sub(t)._mult(c)._add(t))}function Kd(i,t){let r,o,c,f=!1;for(let m=0;mt.y!=c.y>t.y&&t.x<(c.x-o.x)*(t.y-o.y)/(c.y-o.y)+o.x&&(f=!f)}return f}function Ea(i,t){let r=!1;for(let o=0,c=i.length-1;ot.y!=m.y>t.y&&t.x<(m.x-f.x)*(t.y-f.y)/(m.y-f.y)+f.x&&(r=!r)}return r}function s_(i,t,r){const o=r[0],c=r[2];if(i.xc.x&&t.x>c.x||i.yc.y&&t.y>c.y)return!1;const f=De(i,t,r[0]);return f!==De(i,t,r[1])||f!==De(i,t,r[2])||f!==De(i,t,r[3])}function Dl(i,t,r){const o=t.paint.get(i).value;return o.kind==="constant"?o.value:r.programConfigurations.get(t.id).getMaxValue(i)}function eh(i){return Math.sqrt(i[0]*i[0]+i[1]*i[1])}function th(i,t,r,o,c){if(!t[0]&&!t[1])return i;const f=J.convert(t)._mult(c);r==="viewport"&&f._rotate(-o);const m=[];for(let y=0;ytp(Q,$))}(T,b),R=P?E*y:E;for(const F of c)for(const $ of F){const Q=P?$:tp($,b);let ie=R;const _e=ih([],[$.x,$.y,0,1],b);if(this.paint.get("circle-pitch-scale")==="viewport"&&this.paint.get("circle-pitch-alignment")==="map"?ie*=_e[3]/m.cameraToCenterDistance:this.paint.get("circle-pitch-scale")==="map"&&this.paint.get("circle-pitch-alignment")==="viewport"&&(ie*=m.cameraToCenterDistance/_e[3]),t_(z,Q,ie))return!0}return!1}}function tp(i,t){const r=ih([],[i.x,i.y,0,1],t);return new J(r[0]/r[3],r[1]/r[3])}class ip extends _u{}let rp;Xe("HeatmapBucket",ip,{omit:["layers"]});var l_={get paint(){return rp=rp||new kr({"heatmap-radius":new dt(be.paint_heatmap["heatmap-radius"]),"heatmap-weight":new dt(be.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new lt(be.paint_heatmap["heatmap-intensity"]),"heatmap-color":new ba(be.paint_heatmap["heatmap-color"]),"heatmap-opacity":new lt(be.paint_heatmap["heatmap-opacity"])})}};function vu(i,{width:t,height:r},o,c){if(c){if(c instanceof Uint8ClampedArray)c=new Uint8Array(c.buffer);else if(c.length!==t*r*o)throw new RangeError(`mismatched image size. expected: ${c.length} but got: ${t*r*o}`)}else c=new Uint8Array(t*r*o);return i.width=t,i.height=r,i.data=c,i}function sp(i,{width:t,height:r},o){if(t===i.width&&r===i.height)return;const c=vu({},{width:t,height:r},o);bu(i,c,{x:0,y:0},{x:0,y:0},{width:Math.min(i.width,t),height:Math.min(i.height,r)},o),i.width=t,i.height=r,i.data=c.data}function bu(i,t,r,o,c,f){if(c.width===0||c.height===0)return t;if(c.width>i.width||c.height>i.height||r.x>i.width-c.width||r.y>i.height-c.height)throw new RangeError("out of range source coordinates for image copy");if(c.width>t.width||c.height>t.height||o.x>t.width-c.width||o.y>t.height-c.height)throw new RangeError("out of range destination coordinates for image copy");const m=i.data,y=t.data;if(m===y)throw new Error("srcData equals dstData, so image is already copied");for(let b=0;b{t[i.evaluationKey]=b;const T=i.expression.evaluate(t);c.data[m+y+0]=Math.floor(255*T.r/T.a),c.data[m+y+1]=Math.floor(255*T.g/T.a),c.data[m+y+2]=Math.floor(255*T.b/T.a),c.data[m+y+3]=Math.floor(255*T.a)};if(i.clips)for(let m=0,y=0;m80*r){y=1/0,b=1/0;let E=-1/0,P=-1/0;for(let z=r;zE&&(E=R),F>P&&(P=F)}T=Math.max(E-y,P-b),T=T!==0?32767/T:0}return Ol(f,m,r,y,b,T,0),m}function lp(i,t,r,o,c){let f;if(c===function(m,y,b,T){let E=0;for(let P=y,z=b-T;P0)for(let m=t;m=t;m-=o)f=up(m/o|0,i[m],i[m+1],f);return f&&rh(f,f.next)&&(Bl(f),f=f.next),f}function Bo(i,t){if(!i)return i;t||(t=i);let r,o=i;do if(r=!1,o.steiner||!rh(o,o.next)&&Fi(o.prev,o,o.next)!==0)o=o.next;else{if(Bl(o),o=t=o.prev,o===o.next)break;r=!0}while(r||o!==t);return t}function Ol(i,t,r,o,c,f,m){if(!i)return;!m&&f&&function(b,T,E,P){let z=b;do z.z===0&&(z.z=Su(z.x,z.y,T,E,P)),z.prevZ=z.prev,z.nextZ=z.next,z=z.next;while(z!==b);z.prevZ.nextZ=null,z.prevZ=null,function(R){let F,$=1;do{let Q,ie=R;R=null;let _e=null;for(F=0;ie;){F++;let ce=ie,me=0;for(let ze=0;ze<$&&(me++,ce=ce.nextZ,ce);ze++);let Se=$;for(;me>0||Se>0&&ce;)me!==0&&(Se===0||!ce||ie.z<=ce.z)?(Q=ie,ie=ie.nextZ,me--):(Q=ce,ce=ce.nextZ,Se--),_e?_e.nextZ=Q:R=Q,Q.prevZ=_e,_e=Q;ie=ce}_e.nextZ=null,$*=2}while(F>1)}(z)}(i,o,c,f);let y=i;for(;i.prev!==i.next;){const b=i.prev,T=i.next;if(f?m_(i,o,c,f):f_(i))t.push(b.i,i.i,T.i),Bl(i),i=T.next,y=T.next;else if((i=T)===y){m?m===1?Ol(i=__(Bo(i),t),t,r,o,c,f,2):m===2&&g_(i,t,r,o,c,f):Ol(Bo(i),t,r,o,c,f,1);break}}}function f_(i){const t=i.prev,r=i,o=i.next;if(Fi(t,r,o)>=0)return!1;const c=t.x,f=r.x,m=o.x,y=t.y,b=r.y,T=o.y,E=cf?c>m?c:m:f>m?f:m,R=y>b?y>T?y:T:b>T?b:T;let F=o.next;for(;F!==t;){if(F.x>=E&&F.x<=z&&F.y>=P&&F.y<=R&&Pa(c,y,f,b,m,T,F.x,F.y)&&Fi(F.prev,F,F.next)>=0)return!1;F=F.next}return!0}function m_(i,t,r,o){const c=i.prev,f=i,m=i.next;if(Fi(c,f,m)>=0)return!1;const y=c.x,b=f.x,T=m.x,E=c.y,P=f.y,z=m.y,R=yb?y>T?y:T:b>T?b:T,Q=E>P?E>z?E:z:P>z?P:z,ie=Su(R,F,t,r,o),_e=Su($,Q,t,r,o);let ce=i.prevZ,me=i.nextZ;for(;ce&&ce.z>=ie&&me&&me.z<=_e;){if(ce.x>=R&&ce.x<=$&&ce.y>=F&&ce.y<=Q&&ce!==c&&ce!==m&&Pa(y,E,b,P,T,z,ce.x,ce.y)&&Fi(ce.prev,ce,ce.next)>=0||(ce=ce.prevZ,me.x>=R&&me.x<=$&&me.y>=F&&me.y<=Q&&me!==c&&me!==m&&Pa(y,E,b,P,T,z,me.x,me.y)&&Fi(me.prev,me,me.next)>=0))return!1;me=me.nextZ}for(;ce&&ce.z>=ie;){if(ce.x>=R&&ce.x<=$&&ce.y>=F&&ce.y<=Q&&ce!==c&&ce!==m&&Pa(y,E,b,P,T,z,ce.x,ce.y)&&Fi(ce.prev,ce,ce.next)>=0)return!1;ce=ce.prevZ}for(;me&&me.z<=_e;){if(me.x>=R&&me.x<=$&&me.y>=F&&me.y<=Q&&me!==c&&me!==m&&Pa(y,E,b,P,T,z,me.x,me.y)&&Fi(me.prev,me,me.next)>=0)return!1;me=me.nextZ}return!0}function __(i,t){let r=i;do{const o=r.prev,c=r.next.next;!rh(o,c)&&cp(o,r,r.next,c)&&Fl(o,c)&&Fl(c,o)&&(t.push(o.i,r.i,c.i),Bl(r),Bl(r.next),r=i=c),r=r.next}while(r!==i);return Bo(r)}function g_(i,t,r,o,c,f){let m=i;do{let y=m.next.next;for(;y!==m.prev;){if(m.i!==y.i&&w_(m,y)){let b=hp(m,y);return m=Bo(m,m.next),b=Bo(b,b.next),Ol(m,t,r,o,c,f,0),void Ol(b,t,r,o,c,f,0)}y=y.next}m=m.next}while(m!==i)}function y_(i,t){return i.x-t.x}function x_(i,t){const r=function(c,f){let m=f;const y=c.x,b=c.y;let T,E=-1/0;do{if(b<=m.y&&b>=m.next.y&&m.next.y!==m.y){const $=m.x+(b-m.y)*(m.next.x-m.x)/(m.next.y-m.y);if($<=y&&$>E&&(E=$,T=m.x=m.x&&m.x>=z&&y!==m.x&&Pa(bT.x||m.x===T.x&&v_(T,m)))&&(T=m,F=$)}m=m.next}while(m!==P);return T}(i,t);if(!r)return t;const o=hp(r,i);return Bo(o,o.next),Bo(r,r.next)}function v_(i,t){return Fi(i.prev,i,t.prev)<0&&Fi(t.next,i,i.next)<0}function Su(i,t,r,o,c){return(i=1431655765&((i=858993459&((i=252645135&((i=16711935&((i=(i-r)*c|0)|i<<8))|i<<4))|i<<2))|i<<1))|(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-o)*c|0)|t<<8))|t<<4))|t<<2))|t<<1))<<1}function b_(i){let t=i,r=i;do(t.x=(i-m)*(f-y)&&(i-m)*(o-y)>=(r-m)*(t-y)&&(r-m)*(f-y)>=(c-m)*(o-y)}function w_(i,t){return i.next.i!==t.i&&i.prev.i!==t.i&&!function(r,o){let c=r;do{if(c.i!==r.i&&c.next.i!==r.i&&c.i!==o.i&&c.next.i!==o.i&&cp(c,c.next,r,o))return!0;c=c.next}while(c!==r);return!1}(i,t)&&(Fl(i,t)&&Fl(t,i)&&function(r,o){let c=r,f=!1;const m=(r.x+o.x)/2,y=(r.y+o.y)/2;do c.y>y!=c.next.y>y&&c.next.y!==c.y&&m<(c.next.x-c.x)*(y-c.y)/(c.next.y-c.y)+c.x&&(f=!f),c=c.next;while(c!==r);return f}(i,t)&&(Fi(i.prev,i,t.prev)||Fi(i,t.prev,t))||rh(i,t)&&Fi(i.prev,i,i.next)>0&&Fi(t.prev,t,t.next)>0)}function Fi(i,t,r){return(t.y-i.y)*(r.x-t.x)-(t.x-i.x)*(r.y-t.y)}function rh(i,t){return i.x===t.x&&i.y===t.y}function cp(i,t,r,o){const c=nh(Fi(i,t,r)),f=nh(Fi(i,t,o)),m=nh(Fi(r,o,i)),y=nh(Fi(r,o,t));return c!==f&&m!==y||!(c!==0||!sh(i,r,t))||!(f!==0||!sh(i,o,t))||!(m!==0||!sh(r,i,o))||!(y!==0||!sh(r,t,o))}function sh(i,t,r){return t.x<=Math.max(i.x,r.x)&&t.x>=Math.min(i.x,r.x)&&t.y<=Math.max(i.y,r.y)&&t.y>=Math.min(i.y,r.y)}function nh(i){return i>0?1:i<0?-1:0}function Fl(i,t){return Fi(i.prev,i,i.next)<0?Fi(i,t,i.next)>=0&&Fi(i,i.prev,t)>=0:Fi(i,t,i.prev)<0||Fi(i,i.next,t)<0}function hp(i,t){const r=Iu(i.i,i.x,i.y),o=Iu(t.i,t.x,t.y),c=i.next,f=t.prev;return i.next=t,t.prev=i,r.next=c,c.prev=r,o.next=r,r.prev=o,f.next=o,o.prev=f,o}function up(i,t,r,o){const c=Iu(i,t,r);return o?(c.next=o.next,c.prev=o,o.next.prev=c,o.next=c):(c.prev=c,c.next=c),c}function Bl(i){i.next.prev=i.prev,i.prev.next=i.next,i.prevZ&&(i.prevZ.nextZ=i.nextZ),i.nextZ&&(i.nextZ.prevZ=i.prevZ)}function Iu(i,t,r){return{i,x:t,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function Tu(i,t,r){const o=r.patternDependencies;let c=!1;for(const f of t){const m=f.paint.get(`${i}-pattern`);m.isConstant()||(c=!0);const y=m.constantOr(null);y&&(c=!0,o[y.to]=!0,o[y.from]=!0)}return c}function ku(i,t,r,o,c){const f=c.patternDependencies;for(const m of t){const y=m.paint.get(`${i}-pattern`).value;if(y.kind!=="constant"){let b=y.evaluate({zoom:o-1},r,{},c.availableImages),T=y.evaluate({zoom:o},r,{},c.availableImages),E=y.evaluate({zoom:o+1},r,{},c.availableImages);b=b&&b.name?b.name:b,T=T&&T.name?T.name:T,E=E&&E.name?E.name:E,f[b]=!0,f[T]=!0,f[E]=!0,r.patterns[m.id]={min:b,mid:T,max:E}}}return r}class Eu{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(r=>r.id),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new _r,this.indexArray=new Nr,this.indexArray2=new Ks,this.programConfigurations=new Ro(t.layers,t.zoom),this.segments=new ai,this.segments2=new ai,this.stateDependentLayerIds=this.layers.filter(r=>r.isStateDependent()).map(r=>r.id)}populate(t,r,o){this.hasPattern=Tu("fill",this.layers,r);const c=this.layers[0].layout.get("fill-sort-key"),f=!c.isConstant(),m=[];for(const{feature:y,id:b,index:T,sourceLayerIndex:E}of t){const P=this.layers[0]._featureFilter.needGeometry,z=Fo(y,P);if(!this.layers[0]._featureFilter.filter(new ti(this.zoom),z,o))continue;const R=f?c.evaluate(z,{},o,r.availableImages):void 0,F={id:b,properties:y.properties,type:y.type,sourceLayerIndex:E,index:T,geometry:P?z.geometry:Oo(y),patterns:{},sortKey:R};m.push(F)}f&&m.sort((y,b)=>y.sortKey-b.sortKey);for(const y of m){const{geometry:b,index:T,sourceLayerIndex:E}=y;if(this.hasPattern){const P=ku("fill",this.layers,y,this.zoom,r);this.patternFeatures.push(P)}else this.addFeature(y,b,T,o,{});r.featureIndex.insert(t[T].feature,b,T,E,this.index)}}update(t,r,o){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,r,this.stateDependentLayers,o)}addFeatures(t,r,o){for(const c of this.patternFeatures)this.addFeature(c,c.geometry,c.index,r,o)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,p_),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy())}addFeature(t,r,o,c,f){for(const m of ra(r,500)){let y=0;for(const R of m)y+=R.length;const b=this.segments.prepareSegment(y,this.layoutVertexArray,this.indexArray),T=b.vertexLength,E=[],P=[];for(const R of m){if(R.length===0)continue;R!==m[0]&&P.push(E.length/2);const F=this.segments2.prepareSegment(R.length,this.layoutVertexArray,this.indexArray2),$=F.vertexLength;this.layoutVertexArray.emplaceBack(R[0].x,R[0].y),this.indexArray2.emplaceBack($+R.length-1,$),E.push(R[0].x),E.push(R[0].y);for(let Q=1;Q>3}if(c--,o===1||o===2)f+=i.readSVarint(),m+=i.readSVarint(),o===1&&(t&&y.push(t),t=[]),t.push(new A_(f,m));else{if(o!==7)throw new Error("unknown command "+o);t&&t.push(t[0].clone())}}return t&&y.push(t),y},Ca.prototype.bbox=function(){var i=this._pbf;i.pos=this._geometry;for(var t=i.readVarint()+i.pos,r=1,o=0,c=0,f=0,m=1/0,y=-1/0,b=1/0,T=-1/0;i.pos>3}if(o--,r===1||r===2)(c+=i.readSVarint())y&&(y=c),(f+=i.readSVarint())T&&(T=f);else if(r!==7)throw new Error("unknown command "+r)}return[m,b,y,T]},Ca.prototype.toGeoJSON=function(i,t,r){var o,c,f=this.extent*Math.pow(2,r),m=this.extent*i,y=this.extent*t,b=this.loadGeometry(),T=Ca.types[this.type];function E(R){for(var F=0;F>3;c=m===1?o.readString():m===2?o.readFloat():m===3?o.readDouble():m===4?o.readVarint64():m===5?o.readVarint():m===6?o.readSVarint():m===7?o.readBoolean():null}return c}(r))}_p.prototype.feature=function(i){if(i<0||i>=this._features.length)throw new Error("feature index out of bounds");this._pbf.pos=this._features[i];var t=this._pbf.readVarint()+this._pbf.pos;return new M_(this._pbf,t,this.extent,this._keys,this._values)};var D_=mp;function L_(i,t,r){if(i===3){var o=new D_(r,r.readVarint()+r.pos);o.length&&(t[o.name]=o)}}Jn.VectorTile=function(i,t){this.layers=i.readFields(L_,{},t)},Jn.VectorTileFeature=fp,Jn.VectorTileLayer=mp;const R_=Jn.VectorTileFeature.types,Au=Math.pow(2,13);function jl(i,t,r,o,c,f,m,y){i.emplaceBack(t,r,2*Math.floor(o*Au)+m,c*Au*2,f*Au*2,Math.round(y))}class Pu{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map(r=>r.id),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Es,this.centroidVertexArray=new fr,this.indexArray=new Nr,this.programConfigurations=new Ro(t.layers,t.zoom),this.segments=new ai,this.stateDependentLayerIds=this.layers.filter(r=>r.isStateDependent()).map(r=>r.id)}populate(t,r,o){this.features=[],this.hasPattern=Tu("fill-extrusion",this.layers,r);for(const{feature:c,id:f,index:m,sourceLayerIndex:y}of t){const b=this.layers[0]._featureFilter.needGeometry,T=Fo(c,b);if(!this.layers[0]._featureFilter.filter(new ti(this.zoom),T,o))continue;const E={id:f,sourceLayerIndex:y,index:m,geometry:b?T.geometry:Oo(c),properties:c.properties,type:c.type,patterns:{}};this.hasPattern?this.features.push(ku("fill-extrusion",this.layers,E,this.zoom,r)):this.addFeature(E,E.geometry,m,o,{}),r.featureIndex.insert(c,E.geometry,m,y,this.index,!0)}}addFeatures(t,r,o){for(const c of this.features){const{geometry:f}=c;this.addFeature(c,f,c.index,r,o)}}update(t,r,o){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,r,this.stateDependentLayers,o)}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,E_),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,k_.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(t,r,o,c,f){for(const m of ra(r,500)){const y={x:0,y:0,vertexCount:0};let b=0;for(const F of m)b+=F.length;let T=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const F of m){if(F.length===0||F_(F))continue;let $=0;for(let Q=0;Q=1){const _e=F[Q-1];if(!O_(ie,_e)){T.vertexLength+4>ai.MAX_VERTEX_ARRAY_LENGTH&&(T=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const ce=ie.sub(_e)._perp()._unit(),me=_e.dist(ie);$+me>32768&&($=0),jl(this.layoutVertexArray,ie.x,ie.y,ce.x,ce.y,0,0,$),jl(this.layoutVertexArray,ie.x,ie.y,ce.x,ce.y,0,1,$),y.x+=2*ie.x,y.y+=2*ie.y,y.vertexCount+=2,$+=me,jl(this.layoutVertexArray,_e.x,_e.y,ce.x,ce.y,0,0,$),jl(this.layoutVertexArray,_e.x,_e.y,ce.x,ce.y,0,1,$),y.x+=2*_e.x,y.y+=2*_e.y,y.vertexCount+=2;const Se=T.vertexLength;this.indexArray.emplaceBack(Se,Se+2,Se+1),this.indexArray.emplaceBack(Se+1,Se+2,Se+3),T.vertexLength+=4,T.primitiveLength+=2}}}}if(T.vertexLength+b>ai.MAX_VERTEX_ARRAY_LENGTH&&(T=this.segments.prepareSegment(b,this.layoutVertexArray,this.indexArray)),R_[t.type]!=="Polygon")continue;const E=[],P=[],z=T.vertexLength;for(const F of m)if(F.length!==0){F!==m[0]&&P.push(E.length/2);for(let $=0;$Ui)||i.y===t.y&&(i.y<0||i.y>Ui)}function F_(i){return i.every(t=>t.x<0)||i.every(t=>t.x>Ui)||i.every(t=>t.y<0)||i.every(t=>t.y>Ui)}let gp;Xe("FillExtrusionBucket",Pu,{omit:["layers","features"]});var B_={get paint(){return gp=gp||new kr({"fill-extrusion-opacity":new lt(be["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new dt(be["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new lt(be["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new lt(be["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new va(be["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new dt(be["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new dt(be["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new lt(be["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class j_ extends e{constructor(t){super(t,B_)}createBucket(t){return new Pu(t)}queryRadius(){return eh(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature(t,r,o,c,f,m,y,b){const T=th(t,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),m.angle,y),E=this.paint.get("fill-extrusion-height").evaluate(r,o),P=this.paint.get("fill-extrusion-base").evaluate(r,o),z=function(F,$,Q,ie){const _e=[];for(const ce of F){const me=[ce.x,ce.y,0,1];ih(me,me,$),_e.push(new J(me[0]/me[3],me[1]/me[3]))}return _e}(T,b),R=function(F,$,Q,ie){const _e=[],ce=[],me=ie[8]*$,Se=ie[9]*$,ze=ie[10]*$,We=ie[11]*$,ft=ie[8]*Q,Ge=ie[9]*Q,Ve=ie[10]*Q,at=ie[11]*Q;for(const it of F){const Ye=[],ke=[];for(const ct of it){const nt=ct.x,wt=ct.y,di=ie[0]*nt+ie[4]*wt+ie[12],ci=ie[1]*nt+ie[5]*wt+ie[13],Wi=ie[2]*nt+ie[6]*wt+ie[14],As=ie[3]*nt+ie[7]*wt+ie[15],or=Wi+ze,Xi=As+We,Pr=di+ft,Cr=ci+Ge,Mr=Wi+Ve,Mi=As+at,Ji=new J((di+me)/Xi,(ci+Se)/Xi);Ji.z=or/Xi,Ye.push(Ji);const yr=new J(Pr/Mi,Cr/Mi);yr.z=Mr/Mi,ke.push(yr)}_e.push(Ye),ce.push(ke)}return[_e,ce]}(c,P,E,b);return function(F,$,Q){let ie=1/0;Xd(Q,$)&&(ie=yp(Q,$[0]));for(let _e=0;_e<$.length;_e++){const ce=$[_e],me=F[_e];for(let Se=0;Ser.id),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach(r=>{this.gradients[r.id]={}}),this.layoutVertexArray=new Zn,this.layoutVertexArray2=new wa,this.indexArray=new Nr,this.programConfigurations=new Ro(t.layers,t.zoom),this.segments=new ai,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter(r=>r.isStateDependent()).map(r=>r.id)}populate(t,r,o){this.hasPattern=Tu("line",this.layers,r);const c=this.layers[0].layout.get("line-sort-key"),f=!c.isConstant(),m=[];for(const{feature:y,id:b,index:T,sourceLayerIndex:E}of t){const P=this.layers[0]._featureFilter.needGeometry,z=Fo(y,P);if(!this.layers[0]._featureFilter.filter(new ti(this.zoom),z,o))continue;const R=f?c.evaluate(z,{},o):void 0,F={id:b,properties:y.properties,type:y.type,sourceLayerIndex:E,index:T,geometry:P?z.geometry:Oo(y),patterns:{},sortKey:R};m.push(F)}f&&m.sort((y,b)=>y.sortKey-b.sortKey);for(const y of m){const{geometry:b,index:T,sourceLayerIndex:E}=y;if(this.hasPattern){const P=ku("line",this.layers,y,this.zoom,r);this.patternFeatures.push(P)}else this.addFeature(y,b,T,o,{});r.featureIndex.insert(t[T].feature,b,T,E,this.index)}}update(t,r,o){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,r,this.stateDependentLayers,o)}addFeatures(t,r,o){for(const c of this.patternFeatures)this.addFeature(c,c.geometry,c.index,r,o)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,V_)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,$_),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_start")&&Object.prototype.hasOwnProperty.call(t.properties,"mapbox_clip_end"))return{start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,r,o,c,f){const m=this.layers[0].layout,y=m.get("line-join").evaluate(t,{}),b=m.get("line-cap"),T=m.get("line-miter-limit"),E=m.get("line-round-limit");this.lineClips=this.lineFeatureClips(t);for(const P of r)this.addLine(P,t,y,b,T,E);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,o,f,c)}addLine(t,r,o,c,f,m){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let ie=0;ie=2&&t[b-1].equals(t[b-2]);)b--;let T=0;for(;T0;if(We&&ie>T){const at=z.dist(R);if(at>2*E){const it=z.sub(z.sub(R)._mult(E/at)._round());this.updateDistance(R,it),this.addCurrentVertex(it,$,0,0,P),R=it}}const Ge=R&&F;let Ve=Ge?o:y?"butt":c;if(Ge&&Ve==="round"&&(Sef&&(Ve="bevel"),Ve==="bevel"&&(Se>2&&(Ve="flipbevel"),Se100)_e=Q.mult(-1);else{const at=Se*$.add(Q).mag()/$.sub(Q).mag();_e._perp()._mult(at*(ft?-1:1))}this.addCurrentVertex(z,_e,0,0,P),this.addCurrentVertex(z,_e.mult(-1),0,0,P)}else if(Ve==="bevel"||Ve==="fakeround"){const at=-Math.sqrt(Se*Se-1),it=ft?at:0,Ye=ft?0:at;if(R&&this.addCurrentVertex(z,$,it,Ye,P),Ve==="fakeround"){const ke=Math.round(180*ze/Math.PI/20);for(let ct=1;ct2*E){const it=z.add(F.sub(z)._mult(E/at)._round());this.updateDistance(z,it),this.addCurrentVertex(it,Q,0,0,P),z=it}}}}addCurrentVertex(t,r,o,c,f,m=!1){const y=r.y*c-r.x,b=-r.y-r.x*c;this.addHalfVertex(t,r.x+r.y*o,r.y-r.x*o,m,!1,o,f),this.addHalfVertex(t,y,b,m,!0,-c,f),this.distance>xp/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,r,o,c,f,m))}addHalfVertex({x:t,y:r},o,c,f,m,y,b){const T=.5*(this.lineClips?this.scaledDistance*(xp-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(f?1:0),(r<<1)+(m?1:0),Math.round(63*o)+128,Math.round(63*c)+128,1+(y===0?0:y<0?-1:1)|(63&T)<<2,T>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const E=b.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,E),b.primitiveLength++),m?this.e2=E:this.e1=E}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(t,r){this.distance+=t.dist(r),this.updateScaledDistance()}}let vp,bp;Xe("LineBucket",Cu,{omit:["layers","patternFeatures"]});var wp={get paint(){return bp=bp||new kr({"line-opacity":new dt(be.paint_line["line-opacity"]),"line-color":new dt(be.paint_line["line-color"]),"line-translate":new lt(be.paint_line["line-translate"]),"line-translate-anchor":new lt(be.paint_line["line-translate-anchor"]),"line-width":new dt(be.paint_line["line-width"]),"line-gap-width":new dt(be.paint_line["line-gap-width"]),"line-offset":new dt(be.paint_line["line-offset"]),"line-blur":new dt(be.paint_line["line-blur"]),"line-dasharray":new Pl(be.paint_line["line-dasharray"]),"line-pattern":new va(be.paint_line["line-pattern"]),"line-gradient":new ba(be.paint_line["line-gradient"])})},get layout(){return vp=vp||new kr({"line-cap":new lt(be.layout_line["line-cap"]),"line-join":new dt(be.layout_line["line-join"]),"line-miter-limit":new lt(be.layout_line["line-miter-limit"]),"line-round-limit":new lt(be.layout_line["line-round-limit"]),"line-sort-key":new dt(be.layout_line["line-sort-key"])})}};class H_ extends dt{possiblyEvaluate(t,r){return r=new ti(Math.floor(r.zoom),{now:r.now,fadeDuration:r.fadeDuration,zoomHistory:r.zoomHistory,transition:r.transition}),super.possiblyEvaluate(t,r)}evaluate(t,r,o,c){return r=yt({},r,{zoom:Math.floor(r.zoom)}),super.evaluate(t,r,o,c)}}let oh;class Z_ extends e{constructor(t){super(t,wp),this.gradientVersion=0,oh||(oh=new H_(wp.paint.properties["line-width"].specification),oh.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(t){if(t==="line-gradient"){const r=this.gradientExpression();this.stepInterpolant=!!function(o){return o._styleExpression!==void 0}(r)&&r._styleExpression.expression instanceof On,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(t,r){super.recalculate(t,r),this.paint._values["line-floorwidth"]=oh.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,t)}createBucket(t){return new Cu(t)}queryRadius(t){const r=t,o=Sp(Dl("line-width",this,r),Dl("line-gap-width",this,r)),c=Dl("line-offset",this,r);return o/2+Math.abs(c)+eh(this.paint.get("line-translate"))}queryIntersectsFeature(t,r,o,c,f,m,y){const b=th(t,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),m.angle,y),T=y/2*Sp(this.paint.get("line-width").evaluate(r,o),this.paint.get("line-gap-width").evaluate(r,o)),E=this.paint.get("line-offset").evaluate(r,o);return E&&(c=function(P,z){const R=[];for(let F=0;F=3){for(let Q=0;Q<$.length;Q++)if(Ea(P,$[Q]))return!0}if(i_(P,$,R))return!0}return!1}(b,c,T)}isTileClipped(){return!0}}function Sp(i,t){return t>0?t+2*i:i}const W_=d([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),X_=d([{name:"a_projected_pos",components:3,type:"Float32"}],4);d([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);const J_=d([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);d([{type:"Int16",name:"anchorPointX"},{type:"Int16",name:"anchorPointY"},{type:"Int16",name:"x1"},{type:"Int16",name:"y1"},{type:"Int16",name:"x2"},{type:"Int16",name:"y2"},{type:"Uint32",name:"featureIndex"},{type:"Uint16",name:"sourceLayerIndex"},{type:"Uint16",name:"bucketIndex"}]);const Ip=d([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),K_=d([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Y_(i,t,r){return i.sections.forEach(o=>{o.text=function(c,f,m){const y=f.layout.get("text-transform").evaluate(m,{});return y==="uppercase"?c=c.toLocaleUpperCase():y==="lowercase"&&(c=c.toLocaleLowerCase()),Sn.applyArabicShaping&&(c=Sn.applyArabicShaping(c)),c}(o.text,t,r)}),i}d([{name:"triangle",components:3,type:"Uint16"}]),d([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Uint16",name:"glyphStartIndex"},{type:"Uint16",name:"numGlyphs"},{type:"Uint32",name:"vertexStartIndex"},{type:"Uint32",name:"lineStartIndex"},{type:"Uint32",name:"lineLength"},{type:"Uint16",name:"segment"},{type:"Uint16",name:"lowerSize"},{type:"Uint16",name:"upperSize"},{type:"Float32",name:"lineOffsetX"},{type:"Float32",name:"lineOffsetY"},{type:"Uint8",name:"writingMode"},{type:"Uint8",name:"placedOrientation"},{type:"Uint8",name:"hidden"},{type:"Uint32",name:"crossTileID"},{type:"Int16",name:"associatedIconIndex"}]),d([{type:"Int16",name:"anchorX"},{type:"Int16",name:"anchorY"},{type:"Int16",name:"rightJustifiedTextSymbolIndex"},{type:"Int16",name:"centerJustifiedTextSymbolIndex"},{type:"Int16",name:"leftJustifiedTextSymbolIndex"},{type:"Int16",name:"verticalPlacedTextSymbolIndex"},{type:"Int16",name:"placedIconSymbolIndex"},{type:"Int16",name:"verticalPlacedIconSymbolIndex"},{type:"Uint16",name:"key"},{type:"Uint16",name:"textBoxStartIndex"},{type:"Uint16",name:"textBoxEndIndex"},{type:"Uint16",name:"verticalTextBoxStartIndex"},{type:"Uint16",name:"verticalTextBoxEndIndex"},{type:"Uint16",name:"iconBoxStartIndex"},{type:"Uint16",name:"iconBoxEndIndex"},{type:"Uint16",name:"verticalIconBoxStartIndex"},{type:"Uint16",name:"verticalIconBoxEndIndex"},{type:"Uint16",name:"featureIndex"},{type:"Uint16",name:"numHorizontalGlyphVertices"},{type:"Uint16",name:"numVerticalGlyphVertices"},{type:"Uint16",name:"numIconVertices"},{type:"Uint16",name:"numVerticalIconVertices"},{type:"Uint16",name:"useRuntimeCollisionCircles"},{type:"Uint32",name:"crossTileID"},{type:"Float32",name:"textBoxScale"},{type:"Float32",name:"collisionCircleDiameter"},{type:"Uint16",name:"textAnchorOffsetStartIndex"},{type:"Uint16",name:"textAnchorOffsetEndIndex"}]),d([{type:"Float32",name:"offsetX"}]),d([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),d([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);const $l={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","<":"︿","=":"=",">":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"};var qi=24,Tp=li,kp=function(i,t,r,o,c){var f,m,y=8*c-o-1,b=(1<>1,E=-7,P=c-1,z=-1,R=i[t+P];for(P+=z,f=R&(1<<-E)-1,R>>=-E,E+=y;E>0;f=256*f+i[t+P],P+=z,E-=8);for(m=f&(1<<-E)-1,f>>=-E,E+=o;E>0;m=256*m+i[t+P],P+=z,E-=8);if(f===0)f=1-T;else{if(f===b)return m?NaN:1/0*(R?-1:1);m+=Math.pow(2,o),f-=T}return(R?-1:1)*m*Math.pow(2,f-o)},Ep=function(i,t,r,o,c,f){var m,y,b,T=8*f-c-1,E=(1<>1,z=c===23?Math.pow(2,-24)-Math.pow(2,-77):0,R=0,F=1,$=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(y=isNaN(t)?1:0,m=E):(m=Math.floor(Math.log(t)/Math.LN2),t*(b=Math.pow(2,-m))<1&&(m--,b*=2),(t+=m+P>=1?z/b:z*Math.pow(2,1-P))*b>=2&&(m++,b/=2),m+P>=E?(y=0,m=E):m+P>=1?(y=(t*b-1)*Math.pow(2,c),m+=P):(y=t*Math.pow(2,P-1)*Math.pow(2,c),m=0));c>=8;i[r+R]=255&y,R+=F,y/=256,c-=8);for(m=m<0;i[r+R]=255&m,R+=F,m/=256,T-=8);i[r+R-F]|=128*$};function li(i){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(i)?i:new Uint8Array(i||0),this.pos=0,this.type=0,this.length=this.buf.length}li.Varint=0,li.Fixed64=1,li.Bytes=2,li.Fixed32=5;var Mu=4294967296,Ap=1/Mu,Pp=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");function En(i){return i.type===li.Bytes?i.readVarint()+i.pos:i.pos+1}function Ma(i,t,r){return r?4294967296*t+(i>>>0):4294967296*(t>>>0)+(i>>>0)}function Cp(i,t,r){var o=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));r.realloc(o);for(var c=r.pos-1;c>=i;c--)r.buf[c+o]=r.buf[c]}function Q_(i,t){for(var r=0;r>>8,i[r+2]=t>>>16,i[r+3]=t>>>24}function Mp(i,t){return(i[t]|i[t+1]<<8|i[t+2]<<16)+(i[t+3]<<24)}li.prototype={destroy:function(){this.buf=null},readFields:function(i,t,r){for(r=r||this.length;this.pos>3,f=this.pos;this.type=7&o,i(c,t,this),this.pos===f&&this.skip(o)}return t},readMessage:function(i,t){return this.readFields(i,t,this.readVarint()+this.pos)},readFixed32:function(){var i=ah(this.buf,this.pos);return this.pos+=4,i},readSFixed32:function(){var i=Mp(this.buf,this.pos);return this.pos+=4,i},readFixed64:function(){var i=ah(this.buf,this.pos)+ah(this.buf,this.pos+4)*Mu;return this.pos+=8,i},readSFixed64:function(){var i=ah(this.buf,this.pos)+Mp(this.buf,this.pos+4)*Mu;return this.pos+=8,i},readFloat:function(){var i=kp(this.buf,this.pos,!0,23,4);return this.pos+=4,i},readDouble:function(){var i=kp(this.buf,this.pos,!0,52,8);return this.pos+=8,i},readVarint:function(i){var t,r,o=this.buf;return t=127&(r=o[this.pos++]),r<128?t:(t|=(127&(r=o[this.pos++]))<<7,r<128?t:(t|=(127&(r=o[this.pos++]))<<14,r<128?t:(t|=(127&(r=o[this.pos++]))<<21,r<128?t:function(c,f,m){var y,b,T=m.buf;if(y=(112&(b=T[m.pos++]))>>4,b<128||(y|=(127&(b=T[m.pos++]))<<3,b<128)||(y|=(127&(b=T[m.pos++]))<<10,b<128)||(y|=(127&(b=T[m.pos++]))<<17,b<128)||(y|=(127&(b=T[m.pos++]))<<24,b<128)||(y|=(1&(b=T[m.pos++]))<<31,b<128))return Ma(c,y,f);throw new Error("Expected varint not more than 10 bytes")}(t|=(15&(r=o[this.pos]))<<28,i,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var i=this.readVarint();return i%2==1?(i+1)/-2:i/2},readBoolean:function(){return!!this.readVarint()},readString:function(){var i=this.readVarint()+this.pos,t=this.pos;return this.pos=i,i-t>=12&&Pp?function(r,o,c){return Pp.decode(r.subarray(o,c))}(this.buf,t,i):function(r,o,c){for(var f="",m=o;m239?4:E>223?3:E>191?2:1;if(m+z>c)break;z===1?E<128&&(P=E):z===2?(192&(y=r[m+1]))==128&&(P=(31&E)<<6|63&y)<=127&&(P=null):z===3?(b=r[m+2],(192&(y=r[m+1]))==128&&(192&b)==128&&((P=(15&E)<<12|(63&y)<<6|63&b)<=2047||P>=55296&&P<=57343)&&(P=null)):z===4&&(b=r[m+2],T=r[m+3],(192&(y=r[m+1]))==128&&(192&b)==128&&(192&T)==128&&((P=(15&E)<<18|(63&y)<<12|(63&b)<<6|63&T)<=65535||P>=1114112)&&(P=null)),P===null?(P=65533,z=1):P>65535&&(P-=65536,f+=String.fromCharCode(P>>>10&1023|55296),P=56320|1023&P),f+=String.fromCharCode(P),m+=z}return f}(this.buf,t,i)},readBytes:function(){var i=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,i);return this.pos=i,t},readPackedVarint:function(i,t){if(this.type!==li.Bytes)return i.push(this.readVarint(t));var r=En(this);for(i=i||[];this.pos127;);else if(t===li.Bytes)this.pos=this.readVarint()+this.pos;else if(t===li.Fixed32)this.pos+=4;else{if(t!==li.Fixed64)throw new Error("Unimplemented type: "+t);this.pos+=8}},writeTag:function(i,t){this.writeVarint(i<<3|t)},realloc:function(i){for(var t=this.length||16;t268435455||i<0?function(t,r){var o,c;if(t>=0?(o=t%4294967296|0,c=t/4294967296|0):(c=~(-t/4294967296),4294967295^(o=~(-t%4294967296))?o=o+1|0:(o=0,c=c+1|0)),t>=18446744073709552e3||t<-18446744073709552e3)throw new Error("Given varint doesn't fit into 10 bytes");r.realloc(10),function(f,m,y){y.buf[y.pos++]=127&f|128,f>>>=7,y.buf[y.pos++]=127&f|128,f>>>=7,y.buf[y.pos++]=127&f|128,f>>>=7,y.buf[y.pos++]=127&f|128,y.buf[y.pos]=127&(f>>>=7)}(o,0,r),function(f,m){var y=(7&f)<<4;m.buf[m.pos++]|=y|((f>>>=3)?128:0),f&&(m.buf[m.pos++]=127&f|((f>>>=7)?128:0),f&&(m.buf[m.pos++]=127&f|((f>>>=7)?128:0),f&&(m.buf[m.pos++]=127&f|((f>>>=7)?128:0),f&&(m.buf[m.pos++]=127&f|((f>>>=7)?128:0),f&&(m.buf[m.pos++]=127&f)))))}(c,r)}(i,this):(this.realloc(4),this.buf[this.pos++]=127&i|(i>127?128:0),i<=127||(this.buf[this.pos++]=127&(i>>>=7)|(i>127?128:0),i<=127||(this.buf[this.pos++]=127&(i>>>=7)|(i>127?128:0),i<=127||(this.buf[this.pos++]=i>>>7&127))))},writeSVarint:function(i){this.writeVarint(i<0?2*-i-1:2*i)},writeBoolean:function(i){this.writeVarint(!!i)},writeString:function(i){i=String(i),this.realloc(4*i.length),this.pos++;var t=this.pos;this.pos=function(o,c,f){for(var m,y,b=0;b55295&&m<57344){if(!y){m>56319||b+1===c.length?(o[f++]=239,o[f++]=191,o[f++]=189):y=m;continue}if(m<56320){o[f++]=239,o[f++]=191,o[f++]=189,y=m;continue}m=y-55296<<10|m-56320|65536,y=null}else y&&(o[f++]=239,o[f++]=191,o[f++]=189,y=null);m<128?o[f++]=m:(m<2048?o[f++]=m>>6|192:(m<65536?o[f++]=m>>12|224:(o[f++]=m>>18|240,o[f++]=m>>12&63|128),o[f++]=m>>6&63|128),o[f++]=63&m|128)}return f}(this.buf,i,this.pos);var r=this.pos-t;r>=128&&Cp(t,r,this),this.pos=t-1,this.writeVarint(r),this.pos+=r},writeFloat:function(i){this.realloc(4),Ep(this.buf,i,this.pos,!0,23,4),this.pos+=4},writeDouble:function(i){this.realloc(8),Ep(this.buf,i,this.pos,!0,52,8),this.pos+=8},writeBytes:function(i){var t=i.length;this.writeVarint(t),this.realloc(t);for(var r=0;r=128&&Cp(r,o,this),this.pos=r-1,this.writeVarint(o),this.pos+=o},writeMessage:function(i,t,r){this.writeTag(i,li.Bytes),this.writeRawMessage(t,r)},writePackedVarint:function(i,t){t.length&&this.writeMessage(i,Q_,t)},writePackedSVarint:function(i,t){t.length&&this.writeMessage(i,eg,t)},writePackedBoolean:function(i,t){t.length&&this.writeMessage(i,rg,t)},writePackedFloat:function(i,t){t.length&&this.writeMessage(i,tg,t)},writePackedDouble:function(i,t){t.length&&this.writeMessage(i,ig,t)},writePackedFixed32:function(i,t){t.length&&this.writeMessage(i,sg,t)},writePackedSFixed32:function(i,t){t.length&&this.writeMessage(i,ng,t)},writePackedFixed64:function(i,t){t.length&&this.writeMessage(i,og,t)},writePackedSFixed64:function(i,t){t.length&&this.writeMessage(i,ag,t)},writeBytesField:function(i,t){this.writeTag(i,li.Bytes),this.writeBytes(t)},writeFixed32Field:function(i,t){this.writeTag(i,li.Fixed32),this.writeFixed32(t)},writeSFixed32Field:function(i,t){this.writeTag(i,li.Fixed32),this.writeSFixed32(t)},writeFixed64Field:function(i,t){this.writeTag(i,li.Fixed64),this.writeFixed64(t)},writeSFixed64Field:function(i,t){this.writeTag(i,li.Fixed64),this.writeSFixed64(t)},writeVarintField:function(i,t){this.writeTag(i,li.Varint),this.writeVarint(t)},writeSVarintField:function(i,t){this.writeTag(i,li.Varint),this.writeSVarint(t)},writeStringField:function(i,t){this.writeTag(i,li.Bytes),this.writeString(t)},writeFloatField:function(i,t){this.writeTag(i,li.Fixed32),this.writeFloat(t)},writeDoubleField:function(i,t){this.writeTag(i,li.Fixed64),this.writeDouble(t)},writeBooleanField:function(i,t){this.writeVarintField(i,!!t)}};var zu=N(Tp);const Du=3;function lg(i,t,r){i===1&&r.readMessage(cg,t)}function cg(i,t,r){if(i===3){const{id:o,bitmap:c,width:f,height:m,left:y,top:b,advance:T}=r.readMessage(hg,{});t.push({id:o,bitmap:new Rl({width:f+2*Du,height:m+2*Du},c),metrics:{width:f,height:m,left:y,top:b,advance:T}})}}function hg(i,t,r){i===1?t.id=r.readVarint():i===2?t.bitmap=r.readBytes():i===3?t.width=r.readVarint():i===4?t.height=r.readVarint():i===5?t.left=r.readSVarint():i===6?t.top=r.readSVarint():i===7&&(t.advance=r.readVarint())}const zp=Du;function Dp(i){let t=0,r=0;for(const m of i)t+=m.w*m.h,r=Math.max(r,m.w);i.sort((m,y)=>y.h-m.h);const o=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(t/.95)),r),h:1/0}];let c=0,f=0;for(const m of i)for(let y=o.length-1;y>=0;y--){const b=o[y];if(!(m.w>b.w||m.h>b.h)){if(m.x=b.x,m.y=b.y,f=Math.max(f,m.y+m.h),c=Math.max(c,m.x+m.w),m.w===b.w&&m.h===b.h){const T=o.pop();y=0&&o>=t&&ch[this.text.charCodeAt(o)];o--)r--;this.text=this.text.substring(t,r),this.sectionIndex=this.sectionIndex.slice(t,r)}substring(t,r){const o=new Da;return o.text=this.text.substring(t,r),o.sectionIndex=this.sectionIndex.slice(t,r),o.sections=this.sections,o}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce((t,r)=>Math.max(t,this.sections[r].scale),0)}addTextSection(t,r){this.text+=t.text,this.sections.push(Vl.forText(t.scale,t.fontStack||r));const o=this.sections.length-1;for(let c=0;c=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function lh(i,t,r,o,c,f,m,y,b,T,E,P,z,R,F){const $=Da.fromFeature(i,c);let Q;P===S.ah.vertical&&$.verticalizePunctuation();const{processBidirectionalText:ie,processStyledBidirectionalText:_e}=Sn;if(ie&&$.sections.length===1){Q=[];const Se=ie($.toString(),Ru($,T,f,t,o,R));for(const ze of Se){const We=new Da;We.text=ze,We.sections=$.sections;for(let ft=0;ft0&&An>lr&&(lr=An)}else{const fs=We[Zt.fontStack],er=fs&&fs[bi];if(er&&er.rect)Fa=er.rect,Ai=er.metrics;else{const An=ze[Zt.fontStack],Xl=An&&An[bi];if(!Xl)continue;Ai=Xl.metrics}Kr=(Ji-Zt.scale)*qi}Ps?(Se.verticalizable=!0,zr.push({glyph:bi,imageName:Qs,x:wt,y:di+Kr,vertical:Ps,scale:Zt.scale,fontStack:Zt.fontStack,sectionIndex:mi,metrics:Ai,rect:Fa}),wt+=en*Zt.scale+ke):(zr.push({glyph:bi,imageName:Qs,x:wt,y:di+Kr,vertical:Ps,scale:Zt.scale,fontStack:Zt.fontStack,sectionIndex:mi,metrics:Ai,rect:Fa}),wt+=Ai.advance*Zt.scale+ke)}zr.length!==0&&(ci=Math.max(wt-ke,ci),fg(zr,0,zr.length-1,As,lr)),wt=0;const ps=Ve*Ji+lr;ar.lineOffset=Math.max(lr,yr),di+=ps,Wi=Math.max(ps,Wi),++or}var Xi;const Pr=di-Ul,{horizontalAlign:Cr,verticalAlign:Mr}=Ou(at);(function(Mi,Ji,yr,ar,zr,lr,ps,Ur,Zt){const mi=(Ji-yr)*zr;let bi=0;bi=lr!==ps?-Ur*ar-Ul:(-ar*Zt+.5)*ps;for(const Kr of Mi)for(const Ai of Kr.positionedGlyphs)Ai.x+=mi,Ai.y+=bi})(Se.positionedLines,As,Cr,Mr,ci,Wi,Ve,Pr,Ge.length),Se.top+=-Mr*Pr,Se.bottom=Se.top+Pr,Se.left+=-Cr*ci,Se.right=Se.left+ci}(me,t,r,o,Q,m,y,b,P,T,z,F),!function(Se){for(const ze of Se)if(ze.positionedGlyphs.length!==0)return!1;return!0}(ce)&&me}const ch={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},ug={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},dg={40:!0};function Rp(i,t,r,o,c,f){if(t.imageName){const m=o[t.imageName];return m?m.displaySize[0]*t.scale*qi/f+c:0}{const m=r[t.fontStack],y=m&&m[i];return y?y.metrics.advance*t.scale+c:0}}function Op(i,t,r,o){const c=Math.pow(i-t,2);return o?i=0;let T=0;for(let P=0;PT){const E=Math.ceil(f/T);c*=E/m,m=E}return{x1:o,y1:c,x2:o+f,y2:c+m}}function Np(i,t,r,o,c,f){const m=i.image;let y;if(m.content){const Q=m.content,ie=m.pixelRatio||1;y=[Q[0]/ie,Q[1]/ie,m.displaySize[0]-Q[2]/ie,m.displaySize[1]-Q[3]/ie]}const b=t.left*f,T=t.right*f;let E,P,z,R;r==="width"||r==="both"?(R=c[0]+b-o[3],P=c[0]+T+o[1]):(R=c[0]+(b+T-m.displaySize[0])/2,P=R+m.displaySize[0]);const F=t.top*f,$=t.bottom*f;return r==="height"||r==="both"?(E=c[1]+F-o[0],z=c[1]+$+o[2]):(E=c[1]+(F+$-m.displaySize[1])/2,z=E+m.displaySize[1]),{image:m,top:E,right:P,bottom:z,left:R,collisionPadding:y}}const ql=255,Ys=128,Yn=ql*Ys;function $p(i,t){const{expression:r}=t;if(r.kind==="constant")return{kind:"constant",layoutSize:r.evaluate(new ti(i+1))};if(r.kind==="source")return{kind:"source"};{const{zoomStops:o,interpolationType:c}=r;let f=0;for(;fm.id),this.index=t.index,this.pixelRatio=t.pixelRatio,this.sourceLayerIndex=t.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=xu([]),this.placementViewportMatrix=xu([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=$p(this.zoom,r["text-size"]),this.iconSizeData=$p(this.zoom,r["icon-size"]);const o=this.layers[0].layout,c=o.get("symbol-sort-key"),f=o.get("symbol-z-order");this.canOverlap=Fu(o,"text-overlap","text-allow-overlap")!=="never"||Fu(o,"icon-overlap","icon-allow-overlap")!=="never"||o.get("text-ignore-placement")||o.get("icon-ignore-placement"),this.sortFeaturesByKey=f!=="viewport-y"&&!c.isConstant(),this.sortFeaturesByY=(f==="viewport-y"||f==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,o.get("symbol-placement")==="point"&&(this.writingModes=o.get("text-writing-mode").map(m=>S.ah[m])),this.stateDependentLayerIds=this.layers.filter(m=>m.isStateDependent()).map(m=>m.id),this.sourceID=t.sourceID}createArrays(){this.text=new ju(new Ro(this.layers,this.zoom,t=>/^text/.test(t))),this.icon=new ju(new Ro(this.layers,this.zoom,t=>/^icon/.test(t))),this.glyphOffsetArray=new $t,this.lineVertexArray=new xi,this.symbolInstances=new Pt,this.textAnchorOffsets=new ls}calculateGlyphDependencies(t,r,o,c,f){for(let m=0;m0)&&(m.value.kind!=="constant"||m.value.value.length>0),E=b.value.kind!=="constant"||!!b.value.value||Object.keys(b.parameters).length>0,P=f.get("symbol-sort-key");if(this.features=[],!T&&!E)return;const z=r.iconDependencies,R=r.glyphDependencies,F=r.availableImages,$=new ti(this.zoom);for(const{feature:Q,id:ie,index:_e,sourceLayerIndex:ce}of t){const me=c._featureFilter.needGeometry,Se=Fo(Q,me);if(!c._featureFilter.filter($,Se,o))continue;let ze,We;if(me||(Se.geometry=Oo(Q)),T){const Ge=c.getValueAndResolveTokens("text-field",Se,o,F),Ve=Ae.factory(Ge),at=this.hasRTLText=this.hasRTLText||yg(Ve);(!at||Sn.getRTLTextPluginStatus()==="unavailable"||at&&Sn.isParsed())&&(ze=Y_(Ve,c,Se))}if(E){const Ge=c.getValueAndResolveTokens("icon-image",Se,o,F);We=Ge instanceof Ke?Ge:Ke.fromString(Ge)}if(!ze&&!We)continue;const ft=this.sortFeaturesByKey?P.evaluate(Se,{},o):void 0;if(this.features.push({id:ie,text:ze,icon:We,index:_e,sourceLayerIndex:ce,geometry:Se.geometry,properties:Q.properties,type:_g[Q.type],sortKey:ft}),We&&(z[We.name]=!0),ze){const Ge=m.evaluate(Se,{},o).join(","),Ve=f.get("text-rotation-alignment")!=="viewport"&&f.get("symbol-placement")!=="point";this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(S.ah.vertical)>=0;for(const at of ze.sections)if(at.image)z[at.image.name]=!0;else{const it=Tl(ze.toString()),Ye=at.fontStack||Ge,ke=R[Ye]=R[Ye]||{};this.calculateGlyphDependencies(at.text,ke,Ve,this.allowVerticalPlacement,it)}}}f.get("symbol-placement")==="line"&&(this.features=function(Q){const ie={},_e={},ce=[];let me=0;function Se(Ge){ce.push(Q[Ge]),me++}function ze(Ge,Ve,at){const it=_e[Ge];return delete _e[Ge],_e[Ve]=it,ce[it].geometry[0].pop(),ce[it].geometry[0]=ce[it].geometry[0].concat(at[0]),it}function We(Ge,Ve,at){const it=ie[Ve];return delete ie[Ve],ie[Ge]=it,ce[it].geometry[0].shift(),ce[it].geometry[0]=at[0].concat(ce[it].geometry[0]),it}function ft(Ge,Ve,at){const it=at?Ve[0][Ve[0].length-1]:Ve[0][0];return`${Ge}:${it.x}:${it.y}`}for(let Ge=0;GeGe.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((Q,ie)=>Q.sortKey-ie.sortKey)}update(t,r,o){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,r,this.layers,o),this.icon.programConfigurations.updatePaintArrays(t,r,this.layers,o))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy()}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData()}addToLineVertexArray(t,r){const o=this.lineVertexArray.length;if(t.segment!==void 0){let c=t.dist(r[t.segment+1]),f=t.dist(r[t.segment]);const m={};for(let y=t.segment+1;y=0;y--)m[y]={x:r[y].x,y:r[y].y,tileUnitDistanceFromAnchor:f},y>0&&(f+=r[y-1].dist(r[y]));for(let y=0;y0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,r){const o=t.placedSymbolArray.get(r),c=o.vertexStartIndex+4*o.numGlyphs;for(let f=o.vertexStartIndex;fc[y]-c[b]||f[b]-f[y]),m}addToSortKeyRanges(t,r){const o=this.sortKeyRanges[this.sortKeyRanges.length-1];o&&o.sortKey===r?o.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:r,symbolInstanceStart:t,symbolInstanceEnd:t+1})}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const r of this.symbolInstanceIndexes){const o=this.symbolInstances.get(r);this.featureSortOrder.push(o.featureIndex),[o.rightJustifiedTextSymbolIndex,o.centerJustifiedTextSymbolIndex,o.leftJustifiedTextSymbolIndex].forEach((c,f,m)=>{c>=0&&m.indexOf(c)===f&&this.addIndicesForPlacedSymbol(this.text,c)}),o.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,o.verticalPlacedTextSymbolIndex),o.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,o.placedIconSymbolIndex),o.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,o.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Up,Vp;Xe("SymbolBucket",La,{omit:["layers","collisionBoxArray","features","compareText"]}),La.MAX_GLYPHS=65535,La.addDynamicAttributes=Bu;var $u={get paint(){return Vp=Vp||new kr({"icon-opacity":new dt(be.paint_symbol["icon-opacity"]),"icon-color":new dt(be.paint_symbol["icon-color"]),"icon-halo-color":new dt(be.paint_symbol["icon-halo-color"]),"icon-halo-width":new dt(be.paint_symbol["icon-halo-width"]),"icon-halo-blur":new dt(be.paint_symbol["icon-halo-blur"]),"icon-translate":new lt(be.paint_symbol["icon-translate"]),"icon-translate-anchor":new lt(be.paint_symbol["icon-translate-anchor"]),"text-opacity":new dt(be.paint_symbol["text-opacity"]),"text-color":new dt(be.paint_symbol["text-color"],{runtimeType:Qi,getOverride:i=>i.textColor,hasOverride:i=>!!i.textColor}),"text-halo-color":new dt(be.paint_symbol["text-halo-color"]),"text-halo-width":new dt(be.paint_symbol["text-halo-width"]),"text-halo-blur":new dt(be.paint_symbol["text-halo-blur"]),"text-translate":new lt(be.paint_symbol["text-translate"]),"text-translate-anchor":new lt(be.paint_symbol["text-translate-anchor"])})},get layout(){return Up=Up||new kr({"symbol-placement":new lt(be.layout_symbol["symbol-placement"]),"symbol-spacing":new lt(be.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new lt(be.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new dt(be.layout_symbol["symbol-sort-key"]),"symbol-z-order":new lt(be.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new lt(be.layout_symbol["icon-allow-overlap"]),"icon-overlap":new lt(be.layout_symbol["icon-overlap"]),"icon-ignore-placement":new lt(be.layout_symbol["icon-ignore-placement"]),"icon-optional":new lt(be.layout_symbol["icon-optional"]),"icon-rotation-alignment":new lt(be.layout_symbol["icon-rotation-alignment"]),"icon-size":new dt(be.layout_symbol["icon-size"]),"icon-text-fit":new lt(be.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new lt(be.layout_symbol["icon-text-fit-padding"]),"icon-image":new dt(be.layout_symbol["icon-image"]),"icon-rotate":new dt(be.layout_symbol["icon-rotate"]),"icon-padding":new dt(be.layout_symbol["icon-padding"]),"icon-keep-upright":new lt(be.layout_symbol["icon-keep-upright"]),"icon-offset":new dt(be.layout_symbol["icon-offset"]),"icon-anchor":new dt(be.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new lt(be.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new lt(be.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new lt(be.layout_symbol["text-rotation-alignment"]),"text-field":new dt(be.layout_symbol["text-field"]),"text-font":new dt(be.layout_symbol["text-font"]),"text-size":new dt(be.layout_symbol["text-size"]),"text-max-width":new dt(be.layout_symbol["text-max-width"]),"text-line-height":new lt(be.layout_symbol["text-line-height"]),"text-letter-spacing":new dt(be.layout_symbol["text-letter-spacing"]),"text-justify":new dt(be.layout_symbol["text-justify"]),"text-radial-offset":new dt(be.layout_symbol["text-radial-offset"]),"text-variable-anchor":new lt(be.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new dt(be.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new dt(be.layout_symbol["text-anchor"]),"text-max-angle":new lt(be.layout_symbol["text-max-angle"]),"text-writing-mode":new lt(be.layout_symbol["text-writing-mode"]),"text-rotate":new dt(be.layout_symbol["text-rotate"]),"text-padding":new lt(be.layout_symbol["text-padding"]),"text-keep-upright":new lt(be.layout_symbol["text-keep-upright"]),"text-transform":new dt(be.layout_symbol["text-transform"]),"text-offset":new dt(be.layout_symbol["text-offset"]),"text-allow-overlap":new lt(be.layout_symbol["text-allow-overlap"]),"text-overlap":new lt(be.layout_symbol["text-overlap"]),"text-ignore-placement":new lt(be.layout_symbol["text-ignore-placement"]),"text-optional":new lt(be.layout_symbol["text-optional"])})}};class qp{constructor(t){if(t.property.overrides===void 0)throw new Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=t.property.overrides?t.property.overrides.runtimeType:ts,this.defaultValue=t}evaluate(t){if(t.formattedSection){const r=this.defaultValue.property.overrides;if(r&&r.hasOverride(t.formattedSection))return r.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}Xe("FormatSectionOverride",qp,{omit:["defaultValue"]});class uh extends e{constructor(t){super(t,$u)}recalculate(t,r){if(super.recalculate(t,r),this.layout.get("icon-rotation-alignment")==="auto"&&(this.layout._values["icon-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-rotation-alignment")==="auto"&&(this.layout._values["text-rotation-alignment"]=this.layout.get("symbol-placement")!=="point"?"map":"viewport"),this.layout.get("text-pitch-alignment")==="auto"&&(this.layout._values["text-pitch-alignment"]=this.layout.get("text-rotation-alignment")==="map"?"map":"viewport"),this.layout.get("icon-pitch-alignment")==="auto"&&(this.layout._values["icon-pitch-alignment"]=this.layout.get("icon-rotation-alignment")),this.layout.get("symbol-placement")==="point"){const o=this.layout.get("text-writing-mode");if(o){const c=[];for(const f of o)c.indexOf(f)<0&&c.push(f);this.layout._values["text-writing-mode"]=c}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(t,r,o,c){const f=this.layout.get(t).evaluate(r,{},o,c),m=this._unevaluatedLayout._values[t];return m.isDataDriven()||xo(m.value)||!f?f:function(y,b){return b.replace(/{([^{}]+)}/g,(T,E)=>y&&E in y?String(y[E]):"")}(r.properties,f)}createBucket(t){return new La(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(const t of $u.paint.overridableProperties){if(!uh.hasPaintOverride(this.layout,t))continue;const r=this.paint.get(t),o=new qp(r),c=new ca(o,r.property.specification);let f=null;f=r.value.kind==="constant"||r.value.kind==="source"?new vo("source",c):new Un("composite",c,r.value.zoomStops),this.paint._values[t]=new Tr(r.property,f,r.parameters)}}_handleOverridablePaintPropertyUpdate(t,r,o){return!(!this.layout||r.isDataDriven()||o.isDataDriven())&&uh.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,r){const o=t.get("text-field"),c=$u.paint.properties[r];let f=!1;const m=y=>{for(const b of y)if(c.overrides&&c.overrides.hasOverride(b))return void(f=!0)};if(o.value.kind==="constant"&&o.value.value instanceof Ae)m(o.value.value.sections);else if(o.value.kind==="source"){const y=T=>{f||(T instanceof is&&Jt(T.value)===Fr?m(T.value.sections):T instanceof ta?m(T.sections):T.eachChild(y))},b=o.value;b._styleExpression&&y(b._styleExpression.expression)}return f}}let Gp;var xg={get paint(){return Gp=Gp||new kr({"background-color":new lt(be.paint_background["background-color"]),"background-pattern":new Pl(be.paint_background["background-pattern"]),"background-opacity":new lt(be.paint_background["background-opacity"])})}};class vg extends e{constructor(t){super(t,xg)}}let Hp;var bg={get paint(){return Hp=Hp||new kr({"raster-opacity":new lt(be.paint_raster["raster-opacity"]),"raster-hue-rotate":new lt(be.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new lt(be.paint_raster["raster-brightness-min"]),"raster-brightness-max":new lt(be.paint_raster["raster-brightness-max"]),"raster-saturation":new lt(be.paint_raster["raster-saturation"]),"raster-contrast":new lt(be.paint_raster["raster-contrast"]),"raster-resampling":new lt(be.paint_raster["raster-resampling"]),"raster-fade-duration":new lt(be.paint_raster["raster-fade-duration"])})}};class wg extends e{constructor(t){super(t,bg)}}class Sg extends e{constructor(t){super(t,{}),this.onAdd=r=>{this.implementation.onAdd&&this.implementation.onAdd(r,r.painter.context.gl)},this.onRemove=r=>{this.implementation.onRemove&&this.implementation.onRemove(r,r.painter.context.gl)},this.implementation=t}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw new Error("Custom layers cannot be serialized")}}class Ig{constructor(t){this._methodToThrottle=t,this._triggered=!1,typeof MessageChannel<"u"&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()})}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout(()=>{this._triggered=!1,this._methodToThrottle()},0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}const Uu=63710088e-1;class Qn{constructor(t,r){if(isNaN(t)||isNaN(r))throw new Error(`Invalid LngLat object: (${t}, ${r})`);if(this.lng=+t,this.lat=+r,this.lat>90||this.lat<-90)throw new Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new Qn(Vt(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const r=Math.PI/180,o=this.lat*r,c=t.lat*r,f=Math.sin(o)*Math.sin(c)+Math.cos(o)*Math.cos(c)*Math.cos((t.lng-this.lng)*r);return Uu*Math.acos(Math.min(f,1))}static convert(t){if(t instanceof Qn)return t;if(Array.isArray(t)&&(t.length===2||t.length===3))return new Qn(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&typeof t=="object"&&t!==null)return new Qn(Number("lng"in t?t.lng:t.lon),Number(t.lat));throw new Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}const Zp=2*Math.PI*Uu;function Wp(i){return Zp*Math.cos(i*Math.PI/180)}function Xp(i){return(180+i)/360}function Jp(i){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+i*Math.PI/360)))/360}function Kp(i,t){return i/Wp(t)}function Vu(i){return 360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90}class Gl{constructor(t,r,o=0){this.x=+t,this.y=+r,this.z=+o}static fromLngLat(t,r=0){const o=Qn.convert(t);return new Gl(Xp(o.lng),Jp(o.lat),Kp(r,o.lat))}toLngLat(){return new Qn(360*this.x-180,Vu(this.y))}toAltitude(){return this.z*Wp(Vu(this.y))}meterInMercatorCoordinateUnits(){return 1/Zp*(t=Vu(this.y),1/Math.cos(t*Math.PI/180));var t}}function Yp(i,t,r){var o=2*Math.PI*6378137/256/Math.pow(2,r);return[i*o-2*Math.PI*6378137/2,t*o-2*Math.PI*6378137/2]}class qu{constructor(t,r,o){if(!function(c,f,m){return!(c<0||c>25||m<0||m>=Math.pow(2,c)||f<0||f>=Math.pow(2,c))}(t,r,o))throw new Error(`x=${r}, y=${o}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=r,this.y=o,this.key=Hl(0,t,t,r,o)}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,r,o){const c=(m=this.y,y=this.z,b=Yp(256*(f=this.x),256*(m=Math.pow(2,y)-m-1),y),T=Yp(256*(f+1),256*(m+1),y),b[0]+","+b[1]+","+T[0]+","+T[1]);var f,m,y,b,T;const E=function(P,z,R){let F,$="";for(let Q=P;Q>0;Q--)F=1<1?"@2x":"").replace(/{quadkey}/g,E).replace(/{bbox-epsg-3857}/g,c)}isChildOf(t){const r=this.z-t.z;return r>0&&t.x===this.x>>r&&t.y===this.y>>r}getTilePoint(t){const r=Math.pow(2,this.z);return new J((t.x*r-this.x)*Ui,(t.y*r-this.y)*Ui)}toString(){return`${this.z}/${this.x}/${this.y}`}}class Qp{constructor(t,r){this.wrap=t,this.canonical=r,this.key=Hl(t,r.z,r.z,r.x,r.y)}}class ds{constructor(t,r,o,c,f){if(t= z; overscaledZ = ${t}; z = ${o}`);this.overscaledZ=t,this.wrap=r,this.canonical=new qu(o,+c,+f),this.key=Hl(r,t,o,c,f)}clone(){return new ds(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-t;return t>this.canonical.z?new ds(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new ds(t,this.wrap,t,this.canonical.x>>r,this.canonical.y>>r)}calculateScaledKey(t,r){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const o=this.canonical.z-t;return t>this.canonical.z?Hl(this.wrap*+r,t,this.canonical.z,this.canonical.x,this.canonical.y):Hl(this.wrap*+r,t,t,this.canonical.x>>o,this.canonical.y>>o)}isChildOf(t){if(t.wrap!==this.wrap)return!1;const r=this.canonical.z-t.canonical.z;return t.overscaledZ===0||t.overscaledZ>r&&t.canonical.y===this.canonical.y>>r}children(t){if(this.overscaledZ>=t)return[new ds(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const r=this.canonical.z+1,o=2*this.canonical.x,c=2*this.canonical.y;return[new ds(r,this.wrap,r,o,c),new ds(r,this.wrap,r,o+1,c),new ds(r,this.wrap,r,o,c+1),new ds(r,this.wrap,r,o+1,c+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=P),P=this.dim+1||r<-1||r>=this.dim+1)throw new RangeError("out of range source coordinates for DEM data");return(r+1)*this.stride+(t+1)}unpack(t,r,o){return t*this.redFactor+r*this.greenFactor+o*this.blueFactor-this.baseShift}getPixels(){return new us({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,r,o){if(this.dim!==t.dim)throw new Error("dem dimension mismatch");let c=r*this.dim,f=r*this.dim+this.dim,m=o*this.dim,y=o*this.dim+this.dim;switch(r){case-1:c=f-1;break;case 1:f=c+1}switch(o){case-1:m=y-1;break;case 1:y=m+1}const b=-r*this.dim,T=-o*this.dim;for(let E=m;E=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class rf{constructor(t,r,o,c,f){this.type="Feature",this._vectorTileFeature=t,t._z=r,t._x=o,t._y=c,this.properties=t.properties,this.id=f}get geometry(){return this._geometry===void 0&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t}toJSON(){const t={geometry:this.geometry};for(const r in this)r!=="_geometry"&&r!=="_vectorTileFeature"&&(t[r]=this[r]);return t}}class sf{constructor(t,r){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new Gn(Ui,16,0),this.grid3D=new Gn(Ui,16,0),this.featureIndexArray=new Er,this.promoteId=r}insert(t,r,o,c,f,m){const y=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(o,c,f);const b=m?this.grid3D:this.grid;for(let T=0;T=0&&P[3]>=0&&b.insert(y,P[0],P[1],P[2],P[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new Jn.VectorTile(new zu(this.rawTileData)).layers,this.sourceLayerCoder=new tf(this.vtLayers?Object.keys(this.vtLayers).sort():["_geojsonTileLayer"])),this.vtLayers}query(t,r,o,c){this.loadVTLayers();const f=t.params||{},m=Ui/t.tileSize/t.scale,y=qn(f.filter),b=t.queryGeometry,T=t.queryPadding*m,E=of(b),P=this.grid.query(E.minX-T,E.minY-T,E.maxX+T,E.maxY+T),z=of(t.cameraQueryGeometry),R=this.grid3D.query(z.minX-T,z.minY-T,z.maxX+T,z.maxY+T,(Q,ie,_e,ce)=>function(me,Se,ze,We,ft){for(const Ve of me)if(Se<=Ve.x&&ze<=Ve.y&&We>=Ve.x&&ft>=Ve.y)return!0;const Ge=[new J(Se,ze),new J(Se,ft),new J(We,ft),new J(We,ze)];if(me.length>2){for(const Ve of Ge)if(Ea(me,Ve))return!0}for(let Ve=0;Ve(ce||(ce=Oo(me)),Se.queryIntersectsFeature(b,me,ze,ce,this.z,t.transform,m,t.pixelPosMatrix)))}return F}loadMatchingFeature(t,r,o,c,f,m,y,b,T,E,P){const z=this.bucketLayerIDs[r];if(m&&!function(Q,ie){for(let _e=0;_e=0)return!0;return!1}(m,z))return;const R=this.sourceLayerCoder.decode(o),F=this.vtLayers[R].feature(c);if(f.needGeometry){const Q=Fo(F,!0);if(!f.filter(new ti(this.tileID.overscaledZ),Q,this.tileID.canonical))return}else if(!f.filter(new ti(this.tileID.overscaledZ),F))return;const $=this.getId(F,R);for(let Q=0;Q{const y=t instanceof xa?t.get(m):null;return y&&y.evaluate?y.evaluate(r,o,c):y})}function of(i){let t=1/0,r=1/0,o=-1/0,c=-1/0;for(const f of i)t=Math.min(t,f.x),r=Math.min(r,f.y),o=Math.max(o,f.x),c=Math.max(c,f.y);return{minX:t,minY:r,maxX:o,maxY:c}}function Tg(i,t){return t-i}function af(i,t,r,o,c){const f=[];for(let m=0;m=o&&P.x>=o||(E.x>=o?E=new J(o,E.y+(o-E.x)/(P.x-E.x)*(P.y-E.y))._round():P.x>=o&&(P=new J(o,E.y+(o-E.x)/(P.x-E.x)*(P.y-E.y))._round()),E.y>=c&&P.y>=c||(E.y>=c?E=new J(E.x+(c-E.y)/(P.y-E.y)*(P.x-E.x),c)._round():P.y>=c&&(P=new J(E.x+(c-E.y)/(P.y-E.y)*(P.x-E.x),c)._round()),b&&E.equals(b[b.length-1])||(b=[E],f.push(b)),b.push(P)))))}}return f}Xe("FeatureIndex",sf,{omit:["rawTileData","sourceLayerCoder"]});class eo extends J{constructor(t,r,o,c){super(t,r),this.angle=o,c!==void 0&&(this.segment=c)}clone(){return new eo(this.x,this.y,this.angle,this.segment)}}function lf(i,t,r,o,c){if(t.segment===void 0||r===0)return!0;let f=t,m=t.segment+1,y=0;for(;y>-r/2;){if(m--,m<0)return!1;y-=i[m].dist(f),f=i[m]}y+=i[m].dist(i[m+1]),m++;const b=[];let T=0;for(;yo;)T-=b.shift().angleDelta;if(T>c)return!1;m++,y+=E.dist(P)}return!0}function cf(i){let t=0;for(let r=0;rT){const F=(T-b)/R,$=Sr.number(P.x,z.x,F),Q=Sr.number(P.y,z.y,F),ie=new eo($,Q,z.angleTo(P),E);return ie._round(),!m||lf(i,ie,y,m,t)?ie:void 0}b+=R}}function Eg(i,t,r,o,c,f,m,y,b){const T=hf(o,f,m),E=uf(o,c),P=E*m,z=i[0].x===0||i[0].x===b||i[0].y===0||i[0].y===b;return t-P=0&&me=0&&Se=0&&z+T<=E){const ze=new eo(me,Se,_e,F);ze._round(),o&&!lf(i,ze,f,o,c)||R.push(ze)}}P+=ie}return y||R.length||m||(R=df(i,P/2,r,o,c,f,m,!0,b)),R}Xe("Anchor",eo);const Ra=$r;function pf(i,t,r,o){const c=[],f=i.image,m=f.pixelRatio,y=f.paddedRect.w-2*Ra,b=f.paddedRect.h-2*Ra;let T={x1:i.left,y1:i.top,x2:i.right,y2:i.bottom};const E=f.stretchX||[[0,y]],P=f.stretchY||[[0,b]],z=(ke,ct)=>ke+ct[1]-ct[0],R=E.reduce(z,0),F=P.reduce(z,0),$=y-R,Q=b-F;let ie=0,_e=R,ce=0,me=F,Se=0,ze=$,We=0,ft=Q;if(f.content&&o){const ke=f.content,ct=ke[2]-ke[0],nt=ke[3]-ke[1];(f.textFitWidth||f.textFitHeight)&&(T=jp(i)),ie=dh(E,0,ke[0]),ce=dh(P,0,ke[1]),_e=dh(E,ke[0],ke[2]),me=dh(P,ke[1],ke[3]),Se=ke[0]-ie,We=ke[1]-ce,ze=ct-_e,ft=nt-me}const Ge=T.x1,Ve=T.y1,at=T.x2-Ge,it=T.y2-Ve,Ye=(ke,ct,nt,wt)=>{const di=ph(ke.stretch-ie,_e,at,Ge),ci=fh(ke.fixed-Se,ze,ke.stretch,R),Wi=ph(ct.stretch-ce,me,it,Ve),As=fh(ct.fixed-We,ft,ct.stretch,F),or=ph(nt.stretch-ie,_e,at,Ge),Xi=fh(nt.fixed-Se,ze,nt.stretch,R),Pr=ph(wt.stretch-ce,me,it,Ve),Cr=fh(wt.fixed-We,ft,wt.stretch,F),Mr=new J(di,Wi),Mi=new J(or,Wi),Ji=new J(or,Pr),yr=new J(di,Pr),ar=new J(ci/m,As/m),zr=new J(Xi/m,Cr/m),lr=t*Math.PI/180;if(lr){const Zt=Math.sin(lr),mi=Math.cos(lr),bi=[mi,-Zt,Zt,mi];Mr._matMult(bi),Mi._matMult(bi),yr._matMult(bi),Ji._matMult(bi)}const ps=ke.stretch+ke.fixed,Ur=ct.stretch+ct.fixed;return{tl:Mr,tr:Mi,bl:yr,br:Ji,tex:{x:f.paddedRect.x+Ra+ps,y:f.paddedRect.y+Ra+Ur,w:nt.stretch+nt.fixed-ps,h:wt.stretch+wt.fixed-Ur},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:ar,pixelOffsetBR:zr,minFontScaleX:ze/m/at,minFontScaleY:ft/m/it,isSDF:r}};if(o&&(f.stretchX||f.stretchY)){const ke=ff(E,$,R),ct=ff(P,Q,F);for(let nt=0;nt0&&($=Math.max(10,$),this.circleDiameter=$)}else{const z=!((P=m.image)===null||P===void 0)&&P.content&&(m.image.textFitWidth||m.image.textFitHeight)?jp(m):{x1:m.left,y1:m.top,x2:m.right,y2:m.bottom};z.y1=z.y1*y-b[0],z.y2=z.y2*y+b[2],z.x1=z.x1*y-b[3],z.x2=z.x2*y+b[1];const R=m.collisionPadding;if(R&&(z.x1-=R[0]*y,z.y1-=R[1]*y,z.x2+=R[2]*y,z.y2+=R[3]*y),E){const F=new J(z.x1,z.y1),$=new J(z.x2,z.y1),Q=new J(z.x1,z.y2),ie=new J(z.x2,z.y2),_e=E*Math.PI/180;F._rotate(_e),$._rotate(_e),Q._rotate(_e),ie._rotate(_e),z.x1=Math.min(F.x,$.x,Q.x,ie.x),z.x2=Math.max(F.x,$.x,Q.x,ie.x),z.y1=Math.min(F.y,$.y,Q.y,ie.y),z.y2=Math.max(F.y,$.y,Q.y,ie.y)}t.emplaceBack(r.x,r.y,z.x1,z.y1,z.x2,z.y2,o,c,f)}this.boxEndIndex=t.length}}class Ag{constructor(t=[],r=(o,c)=>oc?1:0){if(this.data=t,this.length=this.data.length,this.compare=r,this.length>0)for(let o=(this.length>>1)-1;o>=0;o--)this._down(o)}push(t){this.data.push(t),this._up(this.length++)}pop(){if(this.length===0)return;const t=this.data[0],r=this.data.pop();return--this.length>0&&(this.data[0]=r,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:r,compare:o}=this,c=r[t];for(;t>0;){const f=t-1>>1,m=r[f];if(o(c,m)>=0)break;r[t]=m,t=f}r[t]=c}_down(t){const{data:r,compare:o}=this,c=this.length>>1,f=r[t];for(;t=0)break;r[t]=r[m],t=m}r[t]=f}}function Pg(i,t=1,r=!1){let o=1/0,c=1/0,f=-1/0,m=-1/0;const y=i[0];for(let R=0;Rf)&&(f=F.x),(!R||F.y>m)&&(m=F.y)}const b=Math.min(f-o,m-c);let T=b/2;const E=new Ag([],Cg);if(b===0)return new J(o,c);for(let R=o;RP.d||!P.d)&&(P=R,r&&console.log("found best %d after %d probes",Math.round(1e4*R.d)/1e4,z)),R.max-P.d<=t||(T=R.h/2,E.push(new Oa(R.p.x-T,R.p.y-T,T,i)),E.push(new Oa(R.p.x+T,R.p.y-T,T,i)),E.push(new Oa(R.p.x-T,R.p.y+T,T,i)),E.push(new Oa(R.p.x+T,R.p.y+T,T,i)),z+=4)}return r&&(console.log(`num probes: ${z}`),console.log(`best distance: ${P.d}`)),P.p}function Cg(i,t){return t.max-i.max}function Oa(i,t,r,o){this.p=new J(i,t),this.h=r,this.d=function(c,f){let m=!1,y=1/0;for(let b=0;bc.y!=F.y>c.y&&c.x<(F.x-R.x)*(c.y-R.y)/(F.y-R.y)+R.x&&(m=!m),y=Math.min(y,Jd(c,R,F))}}return(m?1:-1)*Math.sqrt(y)}(this.p,o),this.max=this.d+this.h*Math.SQRT2}var nr;S.aq=void 0,(nr=S.aq||(S.aq={}))[nr.center=1]="center",nr[nr.left=2]="left",nr[nr.right=3]="right",nr[nr.top=4]="top",nr[nr.bottom=5]="bottom",nr[nr["top-left"]=6]="top-left",nr[nr["top-right"]=7]="top-right",nr[nr["bottom-left"]=8]="bottom-left",nr[nr["bottom-right"]=9]="bottom-right";const to=7,Gu=Number.POSITIVE_INFINITY;function mf(i,t){return t[1]!==Gu?function(r,o,c){let f=0,m=0;switch(o=Math.abs(o),c=Math.abs(c),r){case"top-right":case"top-left":case"top":m=c-to;break;case"bottom-right":case"bottom-left":case"bottom":m=-c+to}switch(r){case"top-right":case"bottom-right":case"right":f=-o;break;case"top-left":case"bottom-left":case"left":f=o}return[f,m]}(i,t[0],t[1]):function(r,o){let c=0,f=0;o<0&&(o=0);const m=o/Math.SQRT2;switch(r){case"top-right":case"top-left":f=m-to;break;case"bottom-right":case"bottom-left":f=-m+to;break;case"bottom":f=-o+to;break;case"top":f=o-to}switch(r){case"top-right":case"bottom-right":c=-m;break;case"top-left":case"bottom-left":c=m;break;case"left":c=o;break;case"right":c=-o}return[c,f]}(i,t[0])}function _f(i,t,r){var o;const c=i.layout,f=(o=c.get("text-variable-anchor-offset"))===null||o===void 0?void 0:o.evaluate(t,{},r);if(f){const y=f.values,b=[];for(let T=0;Tz*qi);E.startsWith("top")?P[1]-=to:E.startsWith("bottom")&&(P[1]+=to),b[T+1]=P}return new Te(b)}const m=c.get("text-variable-anchor");if(m){let y;y=i._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[c.get("text-radial-offset").evaluate(t,{},r)*qi,Gu]:c.get("text-offset").evaluate(t,{},r).map(T=>T*qi);const b=[];for(const T of m)b.push(T,mf(T,y));return new Te(b)}return null}function Hu(i){switch(i){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function Mg(i,t,r,o,c,f,m,y,b,T,E){let P=f.textMaxSize.evaluate(t,{});P===void 0&&(P=m);const z=i.layers[0].layout,R=z.get("icon-offset").evaluate(t,{},E),F=yf(r.horizontal),$=m/24,Q=i.tilePixelRatio*$,ie=i.tilePixelRatio*P/24,_e=i.tilePixelRatio*y,ce=i.tilePixelRatio*z.get("symbol-spacing"),me=z.get("text-padding")*i.tilePixelRatio,Se=function(ke,ct,nt,wt=1){const di=ke.get("icon-padding").evaluate(ct,{},nt),ci=di&&di.values;return[ci[0]*wt,ci[1]*wt,ci[2]*wt,ci[3]*wt]}(z,t,E,i.tilePixelRatio),ze=z.get("text-max-angle")/180*Math.PI,We=z.get("text-rotation-alignment")!=="viewport"&&z.get("symbol-placement")!=="point",ft=z.get("icon-rotation-alignment")==="map"&&z.get("symbol-placement")!=="point",Ge=z.get("symbol-placement"),Ve=ce/2,at=z.get("icon-text-fit");let it;o&&at!=="none"&&(i.allowVerticalPlacement&&r.vertical&&(it=Np(o,r.vertical,at,z.get("icon-text-fit-padding"),R,$)),F&&(o=Np(o,F,at,z.get("icon-text-fit-padding"),R,$)));const Ye=(ke,ct)=>{ct.x<0||ct.x>=Ui||ct.y<0||ct.y>=Ui||function(nt,wt,di,ci,Wi,As,or,Xi,Pr,Cr,Mr,Mi,Ji,yr,ar,zr,lr,ps,Ur,Zt,mi,bi,Kr,Ai,Fa){const Qs=nt.addToLineVertexArray(wt,di);let en,Ps,fs,er,An=0,Xl=0,wf=0,Sf=0,ed=-1,td=-1;const Pn={};let If=Ta("");if(nt.allowVerticalPlacement&&ci.vertical){const xr=Xi.layout.get("text-rotate").evaluate(mi,{},Ai)+90;fs=new mh(Pr,wt,Cr,Mr,Mi,ci.vertical,Ji,yr,ar,xr),or&&(er=new mh(Pr,wt,Cr,Mr,Mi,or,lr,ps,ar,xr))}if(Wi){const xr=Xi.layout.get("icon-rotate").evaluate(mi,{}),ms=Xi.layout.get("icon-text-fit")!=="none",jo=pf(Wi,xr,Kr,ms),Bs=or?pf(or,xr,Kr,ms):void 0;Ps=new mh(Pr,wt,Cr,Mr,Mi,Wi,lr,ps,!1,xr),An=4*jo.length;const No=nt.iconSizeData;let tn=null;No.kind==="source"?(tn=[Ys*Xi.layout.get("icon-size").evaluate(mi,{})],tn[0]>Yn&&pi(`${nt.layerIds[0]}: Value for "icon-size" is >= ${ql}. Reduce your "icon-size".`)):No.kind==="composite"&&(tn=[Ys*bi.compositeIconSizes[0].evaluate(mi,{},Ai),Ys*bi.compositeIconSizes[1].evaluate(mi,{},Ai)],(tn[0]>Yn||tn[1]>Yn)&&pi(`${nt.layerIds[0]}: Value for "icon-size" is >= ${ql}. Reduce your "icon-size".`)),nt.addSymbols(nt.icon,jo,tn,Zt,Ur,mi,S.ah.none,wt,Qs.lineStartIndex,Qs.lineLength,-1,Ai),ed=nt.icon.placedSymbolArray.length-1,Bs&&(Xl=4*Bs.length,nt.addSymbols(nt.icon,Bs,tn,Zt,Ur,mi,S.ah.vertical,wt,Qs.lineStartIndex,Qs.lineLength,-1,Ai),td=nt.icon.placedSymbolArray.length-1)}const Tf=Object.keys(ci.horizontal);for(const xr of Tf){const ms=ci.horizontal[xr];if(!en){If=Ta(ms.text);const Bs=Xi.layout.get("text-rotate").evaluate(mi,{},Ai);en=new mh(Pr,wt,Cr,Mr,Mi,ms,Ji,yr,ar,Bs)}const jo=ms.positionedLines.length===1;if(wf+=gf(nt,wt,ms,As,Xi,ar,mi,zr,Qs,ci.vertical?S.ah.horizontal:S.ah.horizontalOnly,jo?Tf:[xr],Pn,ed,bi,Ai),jo)break}ci.vertical&&(Sf+=gf(nt,wt,ci.vertical,As,Xi,ar,mi,zr,Qs,S.ah.vertical,["vertical"],Pn,td,bi,Ai));const Lg=en?en.boxStartIndex:nt.collisionBoxArray.length,Rg=en?en.boxEndIndex:nt.collisionBoxArray.length,Og=fs?fs.boxStartIndex:nt.collisionBoxArray.length,Fg=fs?fs.boxEndIndex:nt.collisionBoxArray.length,Bg=Ps?Ps.boxStartIndex:nt.collisionBoxArray.length,jg=Ps?Ps.boxEndIndex:nt.collisionBoxArray.length,Ng=er?er.boxStartIndex:nt.collisionBoxArray.length,$g=er?er.boxEndIndex:nt.collisionBoxArray.length;let Fs=-1;const gh=(xr,ms)=>xr&&xr.circleDiameter?Math.max(xr.circleDiameter,ms):ms;Fs=gh(en,Fs),Fs=gh(fs,Fs),Fs=gh(Ps,Fs),Fs=gh(er,Fs);const kf=Fs>-1?1:0;kf&&(Fs*=Fa/qi),nt.glyphOffsetArray.length>=La.MAX_GLYPHS&&pi("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),mi.sortKey!==void 0&&nt.addToSortKeyRanges(nt.symbolInstances.length,mi.sortKey);const Ug=_f(Xi,mi,Ai),[Vg,qg]=function(xr,ms){const jo=xr.length,Bs=ms==null?void 0:ms.values;if((Bs==null?void 0:Bs.length)>0)for(let No=0;No=0?Pn.right:-1,Pn.center>=0?Pn.center:-1,Pn.left>=0?Pn.left:-1,Pn.vertical||-1,ed,td,If,Lg,Rg,Og,Fg,Bg,jg,Ng,$g,Cr,wf,Sf,An,Xl,kf,0,Ji,Fs,Vg,qg)}(i,ct,ke,r,o,c,it,i.layers[0],i.collisionBoxArray,t.index,t.sourceLayerIndex,i.index,Q,[me,me,me,me],We,b,_e,Se,ft,R,t,f,T,E,m)};if(Ge==="line")for(const ke of af(t.geometry,0,0,Ui,Ui)){const ct=Eg(ke,ce,ze,r.vertical||F,o,24,ie,i.overscaling,Ui);for(const nt of ct)F&&zg(i,F.text,Ve,nt)||Ye(ke,nt)}else if(Ge==="line-center"){for(const ke of t.geometry)if(ke.length>1){const ct=kg(ke,ze,r.vertical||F,o,24,ie);ct&&Ye(ke,ct)}}else if(t.type==="Polygon")for(const ke of ra(t.geometry,0)){const ct=Pg(ke,16);Ye(ke[0],new eo(ct.x,ct.y,0))}else if(t.type==="LineString")for(const ke of t.geometry)Ye(ke,new eo(ke[0].x,ke[0].y,0));else if(t.type==="Point")for(const ke of t.geometry)for(const ct of ke)Ye([ct],new eo(ct.x,ct.y,0))}function gf(i,t,r,o,c,f,m,y,b,T,E,P,z,R,F){const $=function(_e,ce,me,Se,ze,We,ft,Ge){const Ve=Se.layout.get("text-rotate").evaluate(We,{})*Math.PI/180,at=[];for(const it of ce.positionedLines)for(const Ye of it.positionedGlyphs){if(!Ye.rect)continue;const ke=Ye.rect||{};let ct=zp+1,nt=!0,wt=1,di=0;const ci=(ze||Ge)&&Ye.vertical,Wi=Ye.metrics.advance*Ye.scale/2;if(Ge&&ce.verticalizable&&(di=it.lineOffset/2-(Ye.imageName?-(qi-Ye.metrics.width*Ye.scale)/2:(Ye.scale-1)*qi)),Ye.imageName){const Zt=ft[Ye.imageName];nt=Zt.sdf,wt=Zt.pixelRatio,ct=$r/wt}const As=ze?[Ye.x+Wi,Ye.y]:[0,0];let or=ze?[0,0]:[Ye.x+Wi+me[0],Ye.y+me[1]-di],Xi=[0,0];ci&&(Xi=or,or=[0,0]);const Pr=Ye.metrics.isDoubleResolution?2:1,Cr=(Ye.metrics.left-ct)*Ye.scale-Wi+or[0],Mr=(-Ye.metrics.top-ct)*Ye.scale+or[1],Mi=Cr+ke.w/Pr*Ye.scale/wt,Ji=Mr+ke.h/Pr*Ye.scale/wt,yr=new J(Cr,Mr),ar=new J(Mi,Mr),zr=new J(Cr,Ji),lr=new J(Mi,Ji);if(ci){const Zt=new J(-Wi,Wi-Ul),mi=-Math.PI/2,bi=qi/2-Wi,Kr=new J(5-Ul-bi,-(Ye.imageName?bi:0)),Ai=new J(...Xi);yr._rotateAround(mi,Zt)._add(Kr)._add(Ai),ar._rotateAround(mi,Zt)._add(Kr)._add(Ai),zr._rotateAround(mi,Zt)._add(Kr)._add(Ai),lr._rotateAround(mi,Zt)._add(Kr)._add(Ai)}if(Ve){const Zt=Math.sin(Ve),mi=Math.cos(Ve),bi=[mi,-Zt,Zt,mi];yr._matMult(bi),ar._matMult(bi),zr._matMult(bi),lr._matMult(bi)}const ps=new J(0,0),Ur=new J(0,0);at.push({tl:yr,tr:ar,bl:zr,br:lr,tex:ke,writingMode:ce.writingMode,glyphOffset:As,sectionIndex:Ye.sectionIndex,isSDF:nt,pixelOffsetTL:ps,pixelOffsetBR:Ur,minFontScaleX:0,minFontScaleY:0})}return at}(0,r,y,c,f,m,o,i.allowVerticalPlacement),Q=i.textSizeData;let ie=null;Q.kind==="source"?(ie=[Ys*c.layout.get("text-size").evaluate(m,{})],ie[0]>Yn&&pi(`${i.layerIds[0]}: Value for "text-size" is >= ${ql}. Reduce your "text-size".`)):Q.kind==="composite"&&(ie=[Ys*R.compositeTextSizes[0].evaluate(m,{},F),Ys*R.compositeTextSizes[1].evaluate(m,{},F)],(ie[0]>Yn||ie[1]>Yn)&&pi(`${i.layerIds[0]}: Value for "text-size" is >= ${ql}. Reduce your "text-size".`)),i.addSymbols(i.text,$,ie,y,f,m,T,t,b.lineStartIndex,b.lineLength,z,F);for(const _e of E)P[_e]=i.text.placedSymbolArray.length-1;return 4*$.length}function yf(i){for(const t in i)return i[t];return null}function zg(i,t,r,o){const c=i.compareText;if(t in c){const f=c[t];for(let m=f.length-1;m>=0;m--)if(o.dist(f[m])>4;if(c!==1)throw new Error(`Got v${c} data when expected v1.`);const f=xf[15&o];if(!f)throw new Error("Unrecognized array type.");const[m]=new Uint16Array(t,2,1),[y]=new Uint32Array(t,4,1);return new Zu(y,m,f,t)}constructor(t,r=64,o=Float64Array,c){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.ArrayType=o,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const f=xf.indexOf(this.ArrayType),m=2*t*this.ArrayType.BYTES_PER_ELEMENT,y=t*this.IndexArrayType.BYTES_PER_ELEMENT,b=(8-y%8)%8;if(f<0)throw new Error(`Unexpected typed array class: ${o}.`);c&&c instanceof ArrayBuffer?(this.data=c,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+y+b,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+m+y+b),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+y+b,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+f]),new Uint16Array(this.data,2,1)[0]=r,new Uint32Array(this.data,4,1)[0]=t)}add(t,r){const o=this._pos>>1;return this.ids[o]=o,this.coords[this._pos++]=t,this.coords[this._pos++]=r,o}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Wu(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,r,o,c){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:f,coords:m,nodeSize:y}=this,b=[0,f.length-1,0],T=[];for(;b.length;){const E=b.pop()||0,P=b.pop()||0,z=b.pop()||0;if(P-z<=y){for(let Q=z;Q<=P;Q++){const ie=m[2*Q],_e=m[2*Q+1];ie>=t&&ie<=o&&_e>=r&&_e<=c&&T.push(f[Q])}continue}const R=z+P>>1,F=m[2*R],$=m[2*R+1];F>=t&&F<=o&&$>=r&&$<=c&&T.push(f[R]),(E===0?t<=F:r<=$)&&(b.push(z),b.push(R-1),b.push(1-E)),(E===0?o>=F:c>=$)&&(b.push(R+1),b.push(P),b.push(1-E))}return T}within(t,r,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");const{ids:c,coords:f,nodeSize:m}=this,y=[0,c.length-1,0],b=[],T=o*o;for(;y.length;){const E=y.pop()||0,P=y.pop()||0,z=y.pop()||0;if(P-z<=m){for(let Q=z;Q<=P;Q++)bf(f[2*Q],f[2*Q+1],t,r)<=T&&b.push(c[Q]);continue}const R=z+P>>1,F=f[2*R],$=f[2*R+1];bf(F,$,t,r)<=T&&b.push(c[R]),(E===0?t-o<=F:r-o<=$)&&(y.push(z),y.push(R-1),y.push(1-E)),(E===0?t+o>=F:r+o>=$)&&(y.push(R+1),y.push(P),y.push(1-E))}return b}}function Wu(i,t,r,o,c,f){if(c-o<=r)return;const m=o+c>>1;vf(i,t,m,o,c,f),Wu(i,t,r,o,m-1,1-f),Wu(i,t,r,m+1,c,1-f)}function vf(i,t,r,o,c,f){for(;c>o;){if(c-o>600){const T=c-o+1,E=r-o+1,P=Math.log(T),z=.5*Math.exp(2*P/3),R=.5*Math.sqrt(P*z*(T-z)/T)*(E-T/2<0?-1:1);vf(i,t,r,Math.max(o,Math.floor(r-E*z/T+R)),Math.min(c,Math.floor(r+(T-E)*z/T+R)),f)}const m=t[2*r+f];let y=o,b=c;for(Zl(i,t,o,r),t[2*c+f]>m&&Zl(i,t,o,c);ym;)b--}t[2*o+f]===m?Zl(i,t,o,b):(b++,Zl(i,t,b,c)),b<=r&&(o=b+1),r<=b&&(c=b-1)}}function Zl(i,t,r,o){Xu(i,r,o),Xu(t,2*r,2*o),Xu(t,2*r+1,2*o+1)}function Xu(i,t,r){const o=i[t];i[t]=i[r],i[r]=o}function bf(i,t,r,o){const c=i-r,f=t-o;return c*c+f*f}var Ju;S.bg=void 0,(Ju=S.bg||(S.bg={})).create="create",Ju.load="load",Ju.fullLoad="fullLoad";let _h=null,Wl=[];const Ku=1e3/60,Yu="loadTime",Qu="fullLoadTime",Dg={mark(i){performance.mark(i)},frame(i){const t=i;_h!=null&&Wl.push(t-_h),_h=t},clearMetrics(){_h=null,Wl=[],performance.clearMeasures(Yu),performance.clearMeasures(Qu);for(const i in S.bg)performance.clearMarks(S.bg[i])},getPerformanceMetrics(){performance.measure(Yu,S.bg.create,S.bg.load),performance.measure(Qu,S.bg.create,S.bg.fullLoad);const i=performance.getEntriesByName(Yu)[0].duration,t=performance.getEntriesByName(Qu)[0].duration,r=Wl.length,o=1/(Wl.reduce((f,m)=>f+m,0)/r/1e3),c=Wl.filter(f=>f>Ku).reduce((f,m)=>f+(m-Ku)/Ku,0);return{loadTime:i,fullLoadTime:t,fps:o,percentDroppedFrames:c/(r+c)*100,totalFrames:r}}};S.$=class extends A{},S.A=Aa,S.B=ou,S.C=function(i){if(ni==null){const t=i.navigator?i.navigator.userAgent:null;ni=!!i.safari||!(!t||!(/\b(iPad|iPhone|iPod)\b/.test(t)||t.match("Safari")&&!t.match("Chrome")))}return ni},S.D=lt,S.E=zs,S.F=class{constructor(i,t){this.target=i,this.mapId=t,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Ig(()=>this.process()),this.subscription=function(r,o,c,f){return r.addEventListener(o,c,!1),{unsubscribe:()=>{r.removeEventListener(o,c,!1)}}}(this.target,"message",r=>this.receive(r)),this.globalScope=Ut(self)?i:window}registerMessageHandler(i,t){this.messageHandlers[i]=t}sendAsync(i,t){return new Promise((r,o)=>{const c=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[c]={resolve:r,reject:o},t&&t.signal.addEventListener("abort",()=>{delete this.resolveRejects[c];const y={id:c,type:"",origin:location.origin,targetMapId:i.targetMapId,sourceMapId:this.mapId};this.target.postMessage(y)},{once:!0});const f=[],m=Object.assign(Object.assign({},i),{id:c,sourceMapId:this.mapId,origin:location.origin,data:Po(i.data,f)});this.target.postMessage(m,{transfer:f})})}receive(i){const t=i.data,r=t.id;if(!(t.origin!=="file://"&&location.origin!=="file://"&&t.origin!=="resource://android"&&location.origin!=="resource://android"&&t.origin!==location.origin||t.targetMapId&&this.mapId!==t.targetMapId)){if(t.type===""){delete this.tasks[r];const o=this.abortControllers[r];return delete this.abortControllers[r],void(o&&o.abort())}if(Ut(self)||t.mustQueue)return this.tasks[r]=t,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,t)}}process(){if(this.taskQueue.length===0)return;const i=this.taskQueue.shift(),t=this.tasks[i];delete this.tasks[i],this.taskQueue.length>0&&this.invoker.trigger(),t&&this.processTask(i,t)}processTask(i,t){return h(this,void 0,void 0,function*(){if(t.type===""){const c=this.resolveRejects[i];return delete this.resolveRejects[i],c?void(t.error?c.reject(Hn(t.error)):c.resolve(Hn(t.data))):void 0}if(!this.messageHandlers[t.type])return void this.completeTask(i,new Error(`Could not find a registered handler for ${t.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));const r=Hn(t.data),o=new AbortController;this.abortControllers[i]=o;try{const c=yield this.messageHandlers[t.type](t.sourceMapId,r,o);this.completeTask(i,null,c)}catch(c){this.completeTask(i,c)}})}completeTask(i,t,r){const o=[];delete this.abortControllers[i];const c={id:i,type:"",sourceMapId:this.mapId,origin:location.origin,error:t?Po(t):null,data:Po(r,o)};this.target.postMessage(c,{transfer:o})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},S.G=Ss,S.H=function(){var i=new Aa(16);return Aa!=Float32Array&&(i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[11]=0,i[12]=0,i[13]=0,i[14]=0),i[0]=1,i[5]=1,i[10]=1,i[15]=1,i},S.I=Lu,S.J=function(i,t,r){var o,c,f,m,y,b,T,E,P,z,R,F,$=r[0],Q=r[1],ie=r[2];return t===i?(i[12]=t[0]*$+t[4]*Q+t[8]*ie+t[12],i[13]=t[1]*$+t[5]*Q+t[9]*ie+t[13],i[14]=t[2]*$+t[6]*Q+t[10]*ie+t[14],i[15]=t[3]*$+t[7]*Q+t[11]*ie+t[15]):(c=t[1],f=t[2],m=t[3],y=t[4],b=t[5],T=t[6],E=t[7],P=t[8],z=t[9],R=t[10],F=t[11],i[0]=o=t[0],i[1]=c,i[2]=f,i[3]=m,i[4]=y,i[5]=b,i[6]=T,i[7]=E,i[8]=P,i[9]=z,i[10]=R,i[11]=F,i[12]=o*$+y*Q+P*ie+t[12],i[13]=c*$+b*Q+z*ie+t[13],i[14]=f*$+T*Q+R*ie+t[14],i[15]=m*$+E*Q+F*ie+t[15]),i},S.K=function(i,t,r){var o=r[0],c=r[1],f=r[2];return i[0]=t[0]*o,i[1]=t[1]*o,i[2]=t[2]*o,i[3]=t[3]*o,i[4]=t[4]*c,i[5]=t[5]*c,i[6]=t[6]*c,i[7]=t[7]*c,i[8]=t[8]*f,i[9]=t[9]*f,i[10]=t[10]*f,i[11]=t[11]*f,i[12]=t[12],i[13]=t[13],i[14]=t[14],i[15]=t[15],i},S.L=ep,S.M=function(i,t){const r={};for(let o=0;o{const t=window.document.createElement("video");return t.muted=!0,new Promise(r=>{t.onloadstart=()=>{r(t)};for(const o of i){const c=window.document.createElement("source");$i(o)||(t.crossOrigin="Anonymous"),c.src=o,t.appendChild(c)}})},S.a4=function(){return ri++},S.a5=Ue,S.a6=La,S.a7=qn,S.a8=Fo,S.a9=rf,S.aA=function(i){if(i.type==="custom")return new Sg(i);switch(i.type){case"background":return new vg(i);case"circle":return new a_(i);case"fill":return new I_(i);case"fill-extrusion":return new j_(i);case"heatmap":return new c_(i);case"hillshade":return new u_(i);case"line":return new Z_(i);case"raster":return new wg(i);case"symbol":return new uh(i)}},S.aB=Lt,S.aC=function(i,t){if(!i)return[{command:"setStyle",args:[t]}];let r=[];try{if(!Gt(i.version,t.version))return[{command:"setStyle",args:[t]}];Gt(i.center,t.center)||r.push({command:"setCenter",args:[t.center]}),Gt(i.zoom,t.zoom)||r.push({command:"setZoom",args:[t.zoom]}),Gt(i.bearing,t.bearing)||r.push({command:"setBearing",args:[t.bearing]}),Gt(i.pitch,t.pitch)||r.push({command:"setPitch",args:[t.pitch]}),Gt(i.sprite,t.sprite)||r.push({command:"setSprite",args:[t.sprite]}),Gt(i.glyphs,t.glyphs)||r.push({command:"setGlyphs",args:[t.glyphs]}),Gt(i.transition,t.transition)||r.push({command:"setTransition",args:[t.transition]}),Gt(i.light,t.light)||r.push({command:"setLight",args:[t.light]}),Gt(i.terrain,t.terrain)||r.push({command:"setTerrain",args:[t.terrain]}),Gt(i.sky,t.sky)||r.push({command:"setSky",args:[t.sky]}),Gt(i.projection,t.projection)||r.push({command:"setProjection",args:[t.projection]});const o={},c=[];(function(m,y,b,T){let E;for(E in y=y||{},m=m||{})Object.prototype.hasOwnProperty.call(m,E)&&(Object.prototype.hasOwnProperty.call(y,E)||es(E,b,T));for(E in y)Object.prototype.hasOwnProperty.call(y,E)&&(Object.prototype.hasOwnProperty.call(m,E)?Gt(m[E],y[E])||(m[E].type==="geojson"&&y[E].type==="geojson"&&Ki(m,y,E)?Si(b,{command:"setGeoJSONSourceData",args:[E,y[E].data]}):vr(E,y,b,T)):Qr(E,y,b))})(i.sources,t.sources,c,o);const f=[];i.layers&&i.layers.forEach(m=>{"source"in m&&o[m.source]?r.push({command:"removeLayer",args:[m.id]}):f.push(m)}),r=r.concat(c),function(m,y,b){y=y||[];const T=(m=m||[]).map(an),E=y.map(an),P=m.reduce(ln,{}),z=y.reduce(ln,{}),R=T.slice(),F=Object.create(null);let $,Q,ie,_e,ce;for(let me=0,Se=0;me@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)<>@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(r,o,c,f)=>{const m=c||f;return t[o]=!m||m.toLowerCase(),""}),t["max-age"]){const r=parseInt(t["max-age"],10);isNaN(r)?delete t["max-age"]:t["max-age"]=r}return t},S.ab=function(i,t){const r=[];for(const o in i)o in t||r.push(o);return r},S.ac=Yt,S.ad=function(i,t,r){var o=Math.sin(r),c=Math.cos(r),f=t[0],m=t[1],y=t[2],b=t[3],T=t[4],E=t[5],P=t[6],z=t[7];return t!==i&&(i[8]=t[8],i[9]=t[9],i[10]=t[10],i[11]=t[11],i[12]=t[12],i[13]=t[13],i[14]=t[14],i[15]=t[15]),i[0]=f*c+T*o,i[1]=m*c+E*o,i[2]=y*c+P*o,i[3]=b*c+z*o,i[4]=T*c-f*o,i[5]=E*c-m*o,i[6]=P*c-y*o,i[7]=z*c-b*o,i},S.ae=function(i){var t=new Aa(16);return t[0]=i[0],t[1]=i[1],t[2]=i[2],t[3]=i[3],t[4]=i[4],t[5]=i[5],t[6]=i[6],t[7]=i[7],t[8]=i[8],t[9]=i[9],t[10]=i[10],t[11]=i[11],t[12]=i[12],t[13]=i[13],t[14]=i[14],t[15]=i[15],t},S.af=ih,S.ag=function(i,t){let r=0,o=0;if(i.kind==="constant")o=i.layoutSize;else if(i.kind!=="source"){const{interpolationType:c,minZoom:f,maxZoom:m}=i,y=c?Yt(Ir.interpolationFactor(c,t,f,m),0,1):0;i.kind==="camera"?o=Sr.number(i.minSize,i.maxSize,y):r=y}return{uSizeT:r,uSize:o}},S.ai=function(i,{uSize:t,uSizeT:r},{lowerSize:o,upperSize:c}){return i.kind==="source"?o/Ys:i.kind==="composite"?Sr.number(o/Ys,c/Ys,r):t},S.aj=Bu,S.ak=function(i,t,r,o){const c=t.y-i.y,f=t.x-i.x,m=o.y-r.y,y=o.x-r.x,b=m*f-y*c;if(b===0)return null;const T=(y*(i.y-r.y)-m*(i.x-r.x))/b;return new J(i.x+T*f,i.y+T*c)},S.al=af,S.am=Wd,S.an=xu,S.ao=function(i){let t=1/0,r=1/0,o=-1/0,c=-1/0;for(const f of i)t=Math.min(t,f.x),r=Math.min(r,f.y),o=Math.max(o,f.x),c=Math.max(c,f.y);return[t,r,o,c]},S.ap=qi,S.ar=Fu,S.as=function(i,t){var r=t[0],o=t[1],c=t[2],f=t[3],m=t[4],y=t[5],b=t[6],T=t[7],E=t[8],P=t[9],z=t[10],R=t[11],F=t[12],$=t[13],Q=t[14],ie=t[15],_e=r*y-o*m,ce=r*b-c*m,me=r*T-f*m,Se=o*b-c*y,ze=o*T-f*y,We=c*T-f*b,ft=E*$-P*F,Ge=E*Q-z*F,Ve=E*ie-R*F,at=P*Q-z*$,it=P*ie-R*$,Ye=z*ie-R*Q,ke=_e*Ye-ce*it+me*at+Se*Ve-ze*Ge+We*ft;return ke?(i[0]=(y*Ye-b*it+T*at)*(ke=1/ke),i[1]=(c*it-o*Ye-f*at)*ke,i[2]=($*We-Q*ze+ie*Se)*ke,i[3]=(z*ze-P*We-R*Se)*ke,i[4]=(b*Ve-m*Ye-T*Ge)*ke,i[5]=(r*Ye-c*Ve+f*Ge)*ke,i[6]=(Q*me-F*We-ie*ce)*ke,i[7]=(E*We-z*me+R*ce)*ke,i[8]=(m*it-y*Ve+T*ft)*ke,i[9]=(o*Ve-r*it-f*ft)*ke,i[10]=(F*ze-$*me+ie*_e)*ke,i[11]=(P*me-E*ze-R*_e)*ke,i[12]=(y*Ge-m*at-b*ft)*ke,i[13]=(r*at-o*Ge+c*ft)*ke,i[14]=($*ce-F*Se-Q*_e)*ke,i[15]=(E*Se-P*ce+z*_e)*ke,i):null},S.at=Hu,S.au=Ou,S.av=Zu,S.aw=function(){const i={},t=be.$version;for(const r in be.$root){const o=be.$root[r];if(o.required){let c=null;c=r==="version"?t:o.type==="array"?[]:{},c!=null&&(i[r]=c)}}return i},S.ax=Il,S.ay=ki,S.az=function(i){i=i.slice();const t=Object.create(null);for(let r=0;r25||o<0||o>=1||r<0||r>=1)},S.bc=function(i,t){return i[0]=t[0],i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=t[1],i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=t[2],i[11]=0,i[12]=0,i[13]=0,i[14]=0,i[15]=1,i},S.bd=class extends I{},S.be=Uu,S.bf=Dg,S.bh=wi,S.bi=function(i,t){Yr.REGISTERED_PROTOCOLS[i]=t},S.bj=function(i){delete Yr.REGISTERED_PROTOCOLS[i]},S.bk=function(i,t){const r={};for(let c=0;cYe*qi)}let Ge=m?"center":r.get("text-justify").evaluate(T,{},i.canonical);const Ve=r.get("symbol-placement")==="point"?r.get("text-max-width").evaluate(T,{},i.canonical)*qi:1/0,at=()=>{i.bucket.allowVerticalPlacement&&Tl(me)&&(F.vertical=lh($,i.glyphMap,i.glyphPositions,i.imagePositions,E,Ve,f,We,"left",ze,ie,S.ah.vertical,!0,z,P))};if(!m&&ft){const it=new Set;if(Ge==="auto")for(let ke=0;keh(void 0,void 0,void 0,function*(){if(i.byteLength===0)return createImageBitmap(new ImageData(1,1));const t=new Blob([new Uint8Array(i)],{type:"image/png"});try{return createImageBitmap(t)}catch(r){throw new Error(`Could not load image because of ${r.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),S.e=yt,S.f=i=>new Promise((t,r)=>{const o=new Image;o.onload=()=>{t(o),URL.revokeObjectURL(o.src),o.onload=null,window.requestAnimationFrame(()=>{o.src=ws})},o.onerror=()=>r(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."));const c=new Blob([new Uint8Array(i)],{type:"image/png"});o.src=i.byteLength?URL.createObjectURL(c):ws}),S.g=Lr,S.h=(i,t)=>Mt(yt(i,{type:"json"}),t),S.i=Ut,S.j=Or,S.k=Rr,S.l=(i,t)=>Mt(yt(i,{type:"arrayBuffer"}),t),S.m=Mt,S.n=function(i){return new zu(i).readFields(lg,[])},S.o=Rl,S.p=Dp,S.q=kr,S.r=Uc,S.s=$i,S.t=Sl,S.u=bn,S.v=be,S.w=pi,S.x=function([i,t,r]){return t+=90,t*=Math.PI/180,r*=Math.PI/180,{x:i*Math.cos(t)*Math.sin(r),y:i*Math.sin(t)*Math.sin(r),z:i*Math.cos(r)}},S.y=Sr,S.z=ti}),x("worker",["./shared"],function(S){class h{constructor(D){this.keyCache={},D&&this.replace(D)}replace(D){this._layerConfigs={},this._layers={},this.update(D,[])}update(D,L){for(const K of D){this._layerConfigs[K.id]=K;const le=this._layers[K.id]=S.aA(K);le._featureFilter=S.a7(le.filter),this.keyCache[K.id]&&delete this.keyCache[K.id]}for(const K of L)delete this.keyCache[K],delete this._layerConfigs[K],delete this._layers[K];this.familiesBySource={};const j=S.bk(Object.values(this._layerConfigs),this.keyCache);for(const K of j){const le=K.map(xe=>this._layers[xe.id]),he=le[0];if(he.visibility==="none")continue;const fe=he.source||"";let oe=this.familiesBySource[fe];oe||(oe=this.familiesBySource[fe]={});const we=he.sourceLayer||"_geojsonTileLayer";let Pe=oe[we];Pe||(Pe=oe[we]=[]),Pe.push(le)}}}class N{constructor(D){const L={},j=[];for(const fe in D){const oe=D[fe],we=L[fe]={};for(const Pe in oe){const xe=oe[+Pe];if(!xe||xe.bitmap.width===0||xe.bitmap.height===0)continue;const Fe={x:0,y:0,w:xe.bitmap.width+2,h:xe.bitmap.height+2};j.push(Fe),we[Pe]={rect:Fe,metrics:xe.metrics}}}const{w:K,h:le}=S.p(j),he=new S.o({width:K||1,height:le||1});for(const fe in D){const oe=D[fe];for(const we in oe){const Pe=oe[+we];if(!Pe||Pe.bitmap.width===0||Pe.bitmap.height===0)continue;const xe=L[fe][we].rect;S.o.copy(Pe.bitmap,he,{x:0,y:0},{x:xe.x+1,y:xe.y+1},Pe.bitmap)}}this.image=he,this.positions=L}}S.bl("GlyphAtlas",N);class q{constructor(D){this.tileID=new S.S(D.tileID.overscaledZ,D.tileID.wrap,D.tileID.canonical.z,D.tileID.canonical.x,D.tileID.canonical.y),this.uid=D.uid,this.zoom=D.zoom,this.pixelRatio=D.pixelRatio,this.tileSize=D.tileSize,this.source=D.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=D.showCollisionBoxes,this.collectResourceTiming=!!D.collectResourceTiming,this.returnDependencies=!!D.returnDependencies,this.promoteId=D.promoteId,this.inFlightDependencies=[]}parse(D,L,j,K){return S._(this,void 0,void 0,function*(){this.status="parsing",this.data=D,this.collisionBoxArray=new S.a5;const le=new S.bm(Object.keys(D.layers).sort()),he=new S.bn(this.tileID,this.promoteId);he.bucketLayerIDs=[];const fe={},oe={featureIndex:he,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:j},we=L.familiesBySource[this.source];for(const At in we){const Xt=D.layers[At];if(!Xt)continue;Xt.version===1&&S.w(`Vector tile source "${this.source}" layer "${At}" does not use vector tile spec v2 and therefore may have some rendering errors.`);const jt=le.encode(At),Ri=[];for(let B=0;B=W.maxzoom||W.visibility!=="none"&&(ne(B,this.zoom,j),(fe[W.id]=W.createBucket({index:he.bucketLayerIDs.length,layers:B,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:jt,sourceID:this.source})).populate(Ri,oe,this.tileID.canonical),he.bucketLayerIDs.push(B.map(Z=>Z.id)))}}const Pe=S.aF(oe.glyphDependencies,At=>Object.keys(At).map(Number));this.inFlightDependencies.forEach(At=>At==null?void 0:At.abort()),this.inFlightDependencies=[];let xe=Promise.resolve({});if(Object.keys(Pe).length){const At=new AbortController;this.inFlightDependencies.push(At),xe=K.sendAsync({type:"GG",data:{stacks:Pe,source:this.source,tileID:this.tileID,type:"glyphs"}},At)}const Fe=Object.keys(oe.iconDependencies);let ot=Promise.resolve({});if(Fe.length){const At=new AbortController;this.inFlightDependencies.push(At),ot=K.sendAsync({type:"GI",data:{icons:Fe,source:this.source,tileID:this.tileID,type:"icons"}},At)}const ut=Object.keys(oe.patternDependencies);let qt=Promise.resolve({});if(ut.length){const At=new AbortController;this.inFlightDependencies.push(At),qt=K.sendAsync({type:"GI",data:{icons:ut,source:this.source,tileID:this.tileID,type:"patterns"}},At)}const[gt,zt,Et]=yield Promise.all([xe,ot,qt]),Ii=new N(gt),fi=new S.bo(zt,Et);for(const At in fe){const Xt=fe[At];Xt instanceof S.a6?(ne(Xt.layers,this.zoom,j),S.bp({bucket:Xt,glyphMap:gt,glyphPositions:Ii.positions,imageMap:zt,imagePositions:fi.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):Xt.hasPattern&&(Xt instanceof S.bq||Xt instanceof S.br||Xt instanceof S.bs)&&(ne(Xt.layers,this.zoom,j),Xt.addFeatures(oe,this.tileID.canonical,fi.patternPositions))}return this.status="done",{buckets:Object.values(fe).filter(At=>!At.isEmpty()),featureIndex:he,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:Ii.image,imageAtlas:fi,glyphMap:this.returnDependencies?gt:null,iconMap:this.returnDependencies?zt:null,glyphPositions:this.returnDependencies?Ii.positions:null}})}}function ne(te,D,L){const j=new S.z(D);for(const K of te)K.recalculate(j,L)}class J{constructor(D,L,j){this.actor=D,this.layerIndex=L,this.availableImages=j,this.fetching={},this.loading={},this.loaded={}}loadVectorTile(D,L){return S._(this,void 0,void 0,function*(){const j=yield S.l(D.request,L);try{return{vectorTile:new S.bt.VectorTile(new S.bu(j.data)),rawData:j.data,cacheControl:j.cacheControl,expires:j.expires}}catch(K){const le=new Uint8Array(j.data);let he=`Unable to parse the tile at ${D.request.url}, `;throw he+=le[0]===31&&le[1]===139?"please make sure the data is not gzipped and that you have configured the relevant header in the server":`got error: ${K.message}`,new Error(he)}})}loadTile(D){return S._(this,void 0,void 0,function*(){const L=D.uid,j=!!(D&&D.request&&D.request.collectResourceTiming)&&new S.bv(D.request),K=new q(D);this.loading[L]=K;const le=new AbortController;K.abort=le;try{const he=yield this.loadVectorTile(D,le);if(delete this.loading[L],!he)return null;const fe=he.rawData,oe={};he.expires&&(oe.expires=he.expires),he.cacheControl&&(oe.cacheControl=he.cacheControl);const we={};if(j){const xe=j.finish();xe&&(we.resourceTiming=JSON.parse(JSON.stringify(xe)))}K.vectorTile=he.vectorTile;const Pe=K.parse(he.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[L]=K,this.fetching[L]={rawTileData:fe,cacheControl:oe,resourceTiming:we};try{const xe=yield Pe;return S.e({rawTileData:fe.slice(0)},xe,oe,we)}finally{delete this.fetching[L]}}catch(he){throw delete this.loading[L],K.status="done",this.loaded[L]=K,he}})}reloadTile(D){return S._(this,void 0,void 0,function*(){const L=D.uid;if(!this.loaded||!this.loaded[L])throw new Error("Should not be trying to reload a tile that was never loaded or has been removed");const j=this.loaded[L];if(j.showCollisionBoxes=D.showCollisionBoxes,j.status==="parsing"){const K=yield j.parse(j.vectorTile,this.layerIndex,this.availableImages,this.actor);let le;if(this.fetching[L]){const{rawTileData:he,cacheControl:fe,resourceTiming:oe}=this.fetching[L];delete this.fetching[L],le=S.e({rawTileData:he.slice(0)},K,fe,oe)}else le=K;return le}if(j.status==="done"&&j.vectorTile)return j.parse(j.vectorTile,this.layerIndex,this.availableImages,this.actor)})}abortTile(D){return S._(this,void 0,void 0,function*(){const L=this.loading,j=D.uid;L&&L[j]&&L[j].abort&&(L[j].abort.abort(),delete L[j])})}removeTile(D){return S._(this,void 0,void 0,function*(){this.loaded&&this.loaded[D.uid]&&delete this.loaded[D.uid]})}}class G{constructor(){this.loaded={}}loadTile(D){return S._(this,void 0,void 0,function*(){const{uid:L,encoding:j,rawImageData:K,redFactor:le,greenFactor:he,blueFactor:fe,baseShift:oe}=D,we=K.width+2,Pe=K.height+2,xe=S.b(K)?new S.R({width:we,height:Pe},yield S.bw(K,-1,-1,we,Pe)):K,Fe=new S.bx(L,xe,j,le,he,fe,oe);return this.loaded=this.loaded||{},this.loaded[L]=Fe,Fe})}removeTile(D){const L=this.loaded,j=D.uid;L&&L[j]&&delete L[j]}}function ve(te,D){if(te.length!==0){Ee(te[0],D);for(var L=1;L=Math.abs(fe)?L-oe+fe:fe-oe+L,L=oe}L+j>=0!=!!D&&te.reverse()}var $e=S.by(function te(D,L){var j,K=D&&D.type;if(K==="FeatureCollection")for(j=0;j>31}function Ut(te,D){for(var L=te.loadGeometry(),j=te.type,K=0,le=0,he=L.length,fe=0;fete},Ni=Math.fround||(si=new Float32Array(1),te=>(si[0]=+te,si[0]));var si;const gi=3,Zi=5,Dr=6;class Yr{constructor(D){this.options=Object.assign(Object.create(ws),D),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(D){const{log:L,minZoom:j,maxZoom:K}=this.options;L&&console.time("total time");const le=`prepare ${D.length} points`;L&&console.time(le),this.points=D;const he=[];for(let oe=0;oe=j;oe--){const we=+Date.now();fe=this.trees[oe]=this._createTree(this._cluster(fe,oe)),L&&console.log("z%d: %d clusters in %dms",oe,fe.numItems,+Date.now()-we)}return L&&console.timeEnd("total time"),this}getClusters(D,L){let j=((D[0]+180)%360+360)%360-180;const K=Math.max(-90,Math.min(90,D[1]));let le=D[2]===180?180:((D[2]+180)%360+360)%360-180;const he=Math.max(-90,Math.min(90,D[3]));if(D[2]-D[0]>=360)j=-180,le=180;else if(j>le){const xe=this.getClusters([j,K,180,he],L),Fe=this.getClusters([-180,K,le,he],L);return xe.concat(Fe)}const fe=this.trees[this._limitZoom(L)],oe=fe.range(wi(j),ki(he),wi(le),ki(K)),we=fe.data,Pe=[];for(const xe of oe){const Fe=this.stride*xe;Pe.push(we[Fe+Zi]>1?Lr(we,Fe,this.clusterProps):this.points[we[Fe+gi]])}return Pe}getChildren(D){const L=this._getOriginId(D),j=this._getOriginZoom(D),K="No cluster with the specified id.",le=this.trees[j];if(!le)throw new Error(K);const he=le.data;if(L*this.stride>=he.length)throw new Error(K);const fe=this.options.radius/(this.options.extent*Math.pow(2,j-1)),oe=le.within(he[L*this.stride],he[L*this.stride+1],fe),we=[];for(const Pe of oe){const xe=Pe*this.stride;he[xe+4]===D&&we.push(he[xe+Zi]>1?Lr(he,xe,this.clusterProps):this.points[he[xe+gi]])}if(we.length===0)throw new Error(K);return we}getLeaves(D,L,j){const K=[];return this._appendLeaves(K,D,L=L||10,j=j||0,0),K}getTile(D,L,j){const K=this.trees[this._limitZoom(D)],le=Math.pow(2,D),{extent:he,radius:fe}=this.options,oe=fe/he,we=(j-oe)/le,Pe=(j+1+oe)/le,xe={features:[]};return this._addTileFeatures(K.range((L-oe)/le,we,(L+1+oe)/le,Pe),K.data,L,j,le,xe),L===0&&this._addTileFeatures(K.range(1-oe/le,we,1,Pe),K.data,le,j,le,xe),L===le-1&&this._addTileFeatures(K.range(0,we,oe/le,Pe),K.data,-1,j,le,xe),xe.features.length?xe:null}getClusterExpansionZoom(D){let L=this._getOriginZoom(D)-1;for(;L<=this.options.maxZoom;){const j=this.getChildren(D);if(L++,j.length!==1)break;D=j[0].properties.cluster_id}return L}_appendLeaves(D,L,j,K,le){const he=this.getChildren(L);for(const fe of he){const oe=fe.properties;if(oe&&oe.cluster?le+oe.point_count<=K?le+=oe.point_count:le=this._appendLeaves(D,oe.cluster_id,j,K,le):le1;let Pe,xe,Fe;if(we)Pe=Ss(L,oe,this.clusterProps),xe=L[oe],Fe=L[oe+1];else{const qt=this.points[L[oe+gi]];Pe=qt.properties;const[gt,zt]=qt.geometry.coordinates;xe=wi(gt),Fe=ki(zt)}const ot={type:1,geometry:[[Math.round(this.options.extent*(xe*le-j)),Math.round(this.options.extent*(Fe*le-K))]],tags:Pe};let ut;ut=we||this.options.generateId?L[oe+gi]:this.points[L[oe+gi]].id,ut!==void 0&&(ot.id=ut),he.features.push(ot)}}_limitZoom(D){return Math.max(this.options.minZoom,Math.min(Math.floor(+D),this.options.maxZoom+1))}_cluster(D,L){const{radius:j,extent:K,reduce:le,minPoints:he}=this.options,fe=j/(K*Math.pow(2,L)),oe=D.data,we=[],Pe=this.stride;for(let xe=0;xeL&&(gt+=oe[Et+Zi])}if(gt>qt&>>=he){let zt,Et=Fe*qt,Ii=ot*qt,fi=-1;const At=((xe/Pe|0)<<5)+(L+1)+this.points.length;for(const Xt of ut){const jt=Xt*Pe;if(oe[jt+2]<=L)continue;oe[jt+2]=L;const Ri=oe[jt+Zi];Et+=oe[jt]*Ri,Ii+=oe[jt+1]*Ri,oe[jt+4]=At,le&&(zt||(zt=this._map(oe,xe,!0),fi=this.clusterProps.length,this.clusterProps.push(zt)),le(zt,this._map(oe,jt)))}oe[xe+4]=At,we.push(Et/gt,Ii/gt,1/0,At,-1,gt),le&&we.push(fi)}else{for(let zt=0;zt1)for(const zt of ut){const Et=zt*Pe;if(!(oe[Et+2]<=L)){oe[Et+2]=L;for(let Ii=0;Ii>5}_getOriginZoom(D){return(D-this.points.length)%32}_map(D,L,j){if(D[L+Zi]>1){const he=this.clusterProps[D[L+Dr]];return j?Object.assign({},he):he}const K=this.points[D[L+gi]].properties,le=this.options.map(K);return j&&le===K?Object.assign({},le):le}}function Lr(te,D,L){return{type:"Feature",id:te[D+gi],properties:Ss(te,D,L),geometry:{type:"Point",coordinates:[(j=te[D],360*(j-.5)),Mt(te[D+1])]}};var j}function Ss(te,D,L){const j=te[D+Zi],K=j>=1e4?`${Math.round(j/1e3)}k`:j>=1e3?Math.round(j/100)/10+"k":j,le=te[D+Dr],he=le===-1?{}:Object.assign({},L[le]);return Object.assign(he,{cluster:!0,cluster_id:te[D+gi],point_count:j,point_count_abbreviated:K})}function wi(te){return te/360+.5}function ki(te){const D=Math.sin(te*Math.PI/180),L=.5-.25*Math.log((1+D)/(1-D))/Math.PI;return L<0?0:L>1?1:L}function Mt(te){const D=(180-360*te)*Math.PI/180;return 360*Math.atan(Math.exp(D))/Math.PI-90}function $i(te,D,L,j){let K=j;const le=D+(L-D>>1);let he,fe=L-D;const oe=te[D],we=te[D+1],Pe=te[L],xe=te[L+1];for(let Fe=D+3;FeK)he=Fe,K=ot;else if(ot===K){const ut=Math.abs(Fe-le);utj&&(he-D>3&&$i(te,D,he,j),te[he+2]=K,L-he>3&&$i(te,he,L,j))}function Gs(te,D,L,j,K,le){let he=K-L,fe=le-j;if(he!==0||fe!==0){const oe=((te-L)*he+(D-j)*fe)/(he*he+fe*fe);oe>1?(L=K,j=le):oe>0&&(L+=he*oe,j+=fe*oe)}return he=te-L,fe=D-j,he*he+fe*fe}function Hr(te,D,L,j){const K={id:te??null,type:D,geometry:L,tags:j,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(D==="Point"||D==="MultiPoint"||D==="LineString")Rr(K,L);else if(D==="Polygon")Rr(K,L[0]);else if(D==="MultiLineString")for(const le of L)Rr(K,le);else if(D==="MultiPolygon")for(const le of L)Rr(K,le[0]);return K}function Rr(te,D){for(let L=0;L0&&(he+=j?(K*Pe-we*le)/2:Math.sqrt(Math.pow(we-K,2)+Math.pow(Pe-le,2))),K=we,le=Pe}const fe=D.length-3;D[2]=1,$i(D,0,fe,L),D[fe+2]=1,D.size=Math.abs(he),D.start=0,D.end=D.size}function Is(te,D,L,j){for(let K=0;K1?1:L}function Si(te,D,L,j,K,le,he,fe){if(j/=D,le>=(L/=D)&&he=j)return null;const oe=[];for(const we of te){const Pe=we.geometry;let xe=we.type;const Fe=K===0?we.minX:we.minY,ot=K===0?we.maxX:we.maxY;if(Fe>=L&&ot=j)continue;let ut=[];if(xe==="Point"||xe==="MultiPoint")Qr(Pe,ut,L,j,K);else if(xe==="LineString")es(Pe,ut,L,j,K,!1,fe.lineMetrics);else if(xe==="MultiLineString")Ki(Pe,ut,L,j,K,!1);else if(xe==="Polygon")Ki(Pe,ut,L,j,K,!0);else if(xe==="MultiPolygon")for(const qt of Pe){const gt=[];Ki(qt,gt,L,j,K,!0),gt.length&&ut.push(gt)}if(ut.length){if(fe.lineMetrics&&xe==="LineString"){for(const qt of ut)oe.push(Hr(we.id,xe,qt,we.tags));continue}xe!=="LineString"&&xe!=="MultiLineString"||(ut.length===1?(xe="LineString",ut=ut[0]):xe="MultiLineString"),xe!=="Point"&&xe!=="MultiPoint"||(xe=ut.length===3?"Point":"MultiPoint"),oe.push(Hr(we.id,xe,ut,we.tags))}}return oe.length?oe:null}function Qr(te,D,L,j,K){for(let le=0;le=L&&he<=j&&br(D,te[le],te[le+1],te[le+2])}}function es(te,D,L,j,K,le,he){let fe=vr(te);const oe=K===0?an:ln;let we,Pe,xe=te.start;for(let gt=0;gtL&&(Pe=oe(fe,zt,Et,fi,At,L),he&&(fe.start=xe+we*Pe)):Xt>j?jt=L&&(Pe=oe(fe,zt,Et,fi,At,L),Ri=!0),jt>j&&Xt<=j&&(Pe=oe(fe,zt,Et,fi,At,j),Ri=!0),!le&&Ri&&(he&&(fe.end=xe+we*Pe),D.push(fe),fe=vr(te)),he&&(xe+=we)}let Fe=te.length-3;const ot=te[Fe],ut=te[Fe+1],qt=K===0?ot:ut;qt>=L&&qt<=j&&br(fe,ot,ut,te[Fe+2]),Fe=fe.length-3,le&&Fe>=3&&(fe[Fe]!==fe[0]||fe[Fe+1]!==fe[1])&&br(fe,fe[0],fe[1],fe[2]),fe.length&&D.push(fe)}function vr(te){const D=[];return D.size=te.size,D.start=te.start,D.end=te.end,D}function Ki(te,D,L,j,K,le){for(const he of te)es(he,D,L,j,K,le,!1)}function br(te,D,L,j){te.push(D,L,j)}function an(te,D,L,j,K,le){const he=(le-D)/(j-D);return br(te,le,L+(K-L)*he,1),he}function ln(te,D,L,j,K,le){const he=(le-L)/(K-L);return br(te,D+(j-D)*he,le,1),he}function Oe(te,D){const L=[];for(let j=0;j0&&D.size<(K?he:j))return void(L.numPoints+=D.length/3);const fe=[];for(let oe=0;oehe)&&(L.numSimplified++,fe.push(D[oe],D[oe+1])),L.numPoints++;K&&function(oe,we){let Pe=0;for(let xe=0,Fe=oe.length,ot=Fe-2;xe0===we)for(let xe=0,Fe=oe.length;xe24)throw new Error("maxZoom should be in the 0-24 range");if(L.promoteId&&L.generateId)throw new Error("promoteId and generateId cannot be used together.");let K=function(le,he){const fe=[];if(le.type==="FeatureCollection")for(let oe=0;oe1&&console.time("creation"),ot=this.tiles[Fe]=ts(D,L,j,K,we),this.tileCoords.push({z:L,x:j,y:K}),Pe)){Pe>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",L,j,K,ot.numFeatures,ot.numPoints,ot.numSimplified),console.timeEnd("creation"));const Ri=`z${L}`;this.stats[Ri]=(this.stats[Ri]||0)+1,this.total++}if(ot.source=D,le==null){if(L===we.indexMaxZoom||ot.numPoints<=we.indexMaxPoints)continue}else{if(L===we.maxZoom||L===le)continue;if(le!=null){const Ri=le-L;if(j!==he>>Ri||K!==fe>>Ri)continue}}if(ot.source=null,D.length===0)continue;Pe>1&&console.time("clipping");const ut=.5*we.buffer/we.extent,qt=.5-ut,gt=.5+ut,zt=1+ut;let Et=null,Ii=null,fi=null,At=null,Xt=Si(D,xe,j-ut,j+gt,0,ot.minX,ot.maxX,we),jt=Si(D,xe,j+qt,j+zt,0,ot.minX,ot.maxX,we);D=null,Xt&&(Et=Si(Xt,xe,K-ut,K+gt,1,ot.minY,ot.maxY,we),Ii=Si(Xt,xe,K+qt,K+zt,1,ot.minY,ot.maxY,we),Xt=null),jt&&(fi=Si(jt,xe,K-ut,K+gt,1,ot.minY,ot.maxY,we),At=Si(jt,xe,K+qt,K+zt,1,ot.minY,ot.maxY,we),jt=null),Pe>1&&console.timeEnd("clipping"),oe.push(Et||[],L+1,2*j,2*K),oe.push(Ii||[],L+1,2*j,2*K+1),oe.push(fi||[],L+1,2*j+1,2*K),oe.push(At||[],L+1,2*j+1,2*K+1)}}getTile(D,L,j){D=+D,L=+L,j=+j;const K=this.options,{extent:le,debug:he}=K;if(D<0||D>24)return null;const fe=1<1&&console.log("drilling down to z%d-%d-%d",D,L,j);let we,Pe=D,xe=L,Fe=j;for(;!we&&Pe>0;)Pe--,xe>>=1,Fe>>=1,we=this.tiles[ur(Pe,xe,Fe)];return we&&we.source?(he>1&&(console.log("found parent tile z%d-%d-%d",Pe,xe,Fe),console.time("drilling down")),this.splitTile(we.source,Pe,xe,Fe,D,L,j),he>1&&console.timeEnd("drilling down"),this.tiles[oe]?Yi(this.tiles[oe],le):null):null}}function ur(te,D,L){return 32*((1<{xe.properties=ot;const ut={};for(const qt of Fe)ut[qt]=oe[qt].evaluate(Pe,xe);return ut},he.reduce=(ot,ut)=>{xe.properties=ut;for(const qt of Fe)Pe.accumulated=ot[qt],ot[qt]=we[qt].evaluate(Pe,xe)},he}(D)).load((yield this._pendingData).features):(K=yield this._pendingData,new Qi(K,D.geojsonVtOptions)),this.loaded={};const le={};if(j){const he=j.finish();he&&(le.resourceTiming={},le.resourceTiming[D.source]=JSON.parse(JSON.stringify(he)))}return le}catch(le){if(delete this._pendingRequest,S.bB(le))return{abandoned:!0};throw le}var K})}getData(){return S._(this,void 0,void 0,function*(){return this._pendingData})}reloadTile(D){const L=this.loaded;return L&&L[D.uid]?super.reloadTile(D):this.loadTile(D)}loadAndProcessGeoJSON(D,L){return S._(this,void 0,void 0,function*(){let j=yield this.loadGeoJSON(D,L);if(delete this._pendingRequest,typeof j!="object")throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`);if($e(j,!0),D.filter){const K=S.bC(D.filter,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(K.result==="error")throw new Error(K.value.map(he=>`${he.key}: ${he.message}`).join(", "));j={type:"FeatureCollection",features:j.features.filter(he=>K.value.evaluate({zoom:0},he))}}return j})}loadGeoJSON(D,L){return S._(this,void 0,void 0,function*(){const{promoteId:j}=D;if(D.request){const K=yield S.h(D.request,L);return this._dataUpdateable=dr(K.data,j)?Fr(K.data,j):void 0,K.data}if(typeof D.data=="string")try{const K=JSON.parse(D.data);return this._dataUpdateable=dr(K,j)?Fr(K,j):void 0,K}catch{throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`)}if(!D.dataDiff)throw new Error(`Input data given to '${D.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${D.source}`);return function(K,le,he){var fe,oe,we,Pe;if(le.removeAll&&K.clear(),le.remove)for(const xe of le.remove)K.delete(xe);if(le.add)for(const xe of le.add){const Fe=vt(xe,he);Fe!=null&&K.set(Fe,xe)}if(le.update)for(const xe of le.update){let Fe=K.get(xe.id);if(Fe==null)continue;const ot=!xe.removeAllProperties&&(((fe=xe.removeProperties)===null||fe===void 0?void 0:fe.length)>0||((oe=xe.addOrUpdateProperties)===null||oe===void 0?void 0:oe.length)>0);if((xe.newGeometry||xe.removeAllProperties||ot)&&(Fe=Object.assign({},Fe),K.set(xe.id,Fe),ot&&(Fe.properties=Object.assign({},Fe.properties))),xe.newGeometry&&(Fe.geometry=xe.newGeometry),xe.removeAllProperties)Fe.properties={};else if(((we=xe.removeProperties)===null||we===void 0?void 0:we.length)>0)for(const ut of xe.removeProperties)Object.prototype.hasOwnProperty.call(Fe.properties,ut)&&delete Fe.properties[ut];if(((Pe=xe.addOrUpdateProperties)===null||Pe===void 0?void 0:Pe.length)>0)for(const{key:ut,value:qt}of xe.addOrUpdateProperties)Fe.properties[ut]=qt}}(this._dataUpdateable,D.dataDiff,j),{type:"FeatureCollection",features:Array.from(this._dataUpdateable.values())}})}removeSource(D){return S._(this,void 0,void 0,function*(){this._pendingRequest&&this._pendingRequest.abort()})}getClusterExpansionZoom(D){return this._geoJSONIndex.getClusterExpansionZoom(D.clusterId)}getClusterChildren(D){return this._geoJSONIndex.getChildren(D.clusterId)}getClusterLeaves(D){return this._geoJSONIndex.getLeaves(D.clusterId,D.limit,D.offset)}}class wr{constructor(D){this.self=D,this.actor=new S.F(D),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(L,j)=>{if(this.externalWorkerSourceTypes[L])throw new Error(`Worker source with name "${L}" already registered.`);this.externalWorkerSourceTypes[L]=j},this.self.addProtocol=S.bi,this.self.removeProtocol=S.bj,this.self.registerRTLTextPlugin=L=>{if(S.bD.isParsed())throw new Error("RTL text plugin already registered.");S.bD.setMethods(L)},this.actor.registerMessageHandler("LDT",(L,j)=>this._getDEMWorkerSource(L,j.source).loadTile(j)),this.actor.registerMessageHandler("RDT",(L,j)=>S._(this,void 0,void 0,function*(){this._getDEMWorkerSource(L,j.source).removeTile(j)})),this.actor.registerMessageHandler("GCEZ",(L,j)=>S._(this,void 0,void 0,function*(){return this._getWorkerSource(L,j.type,j.source).getClusterExpansionZoom(j)})),this.actor.registerMessageHandler("GCC",(L,j)=>S._(this,void 0,void 0,function*(){return this._getWorkerSource(L,j.type,j.source).getClusterChildren(j)})),this.actor.registerMessageHandler("GCL",(L,j)=>S._(this,void 0,void 0,function*(){return this._getWorkerSource(L,j.type,j.source).getClusterLeaves(j)})),this.actor.registerMessageHandler("LD",(L,j)=>this._getWorkerSource(L,j.type,j.source).loadData(j)),this.actor.registerMessageHandler("GD",(L,j)=>this._getWorkerSource(L,j.type,j.source).getData()),this.actor.registerMessageHandler("LT",(L,j)=>this._getWorkerSource(L,j.type,j.source).loadTile(j)),this.actor.registerMessageHandler("RT",(L,j)=>this._getWorkerSource(L,j.type,j.source).reloadTile(j)),this.actor.registerMessageHandler("AT",(L,j)=>this._getWorkerSource(L,j.type,j.source).abortTile(j)),this.actor.registerMessageHandler("RMT",(L,j)=>this._getWorkerSource(L,j.type,j.source).removeTile(j)),this.actor.registerMessageHandler("RS",(L,j)=>S._(this,void 0,void 0,function*(){if(!this.workerSources[L]||!this.workerSources[L][j.type]||!this.workerSources[L][j.type][j.source])return;const K=this.workerSources[L][j.type][j.source];delete this.workerSources[L][j.type][j.source],K.removeSource!==void 0&&K.removeSource(j)})),this.actor.registerMessageHandler("RM",L=>S._(this,void 0,void 0,function*(){delete this.layerIndexes[L],delete this.availableImages[L],delete this.workerSources[L],delete this.demWorkerSources[L]})),this.actor.registerMessageHandler("SR",(L,j)=>S._(this,void 0,void 0,function*(){this.referrer=j})),this.actor.registerMessageHandler("SRPS",(L,j)=>this._syncRTLPluginState(L,j)),this.actor.registerMessageHandler("IS",(L,j)=>S._(this,void 0,void 0,function*(){this.self.importScripts(j)})),this.actor.registerMessageHandler("SI",(L,j)=>this._setImages(L,j)),this.actor.registerMessageHandler("UL",(L,j)=>S._(this,void 0,void 0,function*(){this._getLayerIndex(L).update(j.layers,j.removedIds)})),this.actor.registerMessageHandler("SL",(L,j)=>S._(this,void 0,void 0,function*(){this._getLayerIndex(L).replace(j)}))}_setImages(D,L){return S._(this,void 0,void 0,function*(){this.availableImages[D]=L;for(const j in this.workerSources[D]){const K=this.workerSources[D][j];for(const le in K)K[le].availableImages=L}})}_syncRTLPluginState(D,L){return S._(this,void 0,void 0,function*(){if(S.bD.isParsed())return S.bD.getState();if(L.pluginStatus!=="loading")return S.bD.setState(L),L;const j=L.pluginURL;if(this.self.importScripts(j),S.bD.isParsed()){const K={pluginStatus:"loaded",pluginURL:j};return S.bD.setState(K),K}throw S.bD.setState({pluginStatus:"error",pluginURL:""}),new Error(`RTL Text Plugin failed to import scripts from ${j}`)})}_getAvailableImages(D){let L=this.availableImages[D];return L||(L=[]),L}_getLayerIndex(D){let L=this.layerIndexes[D];return L||(L=this.layerIndexes[D]=new h),L}_getWorkerSource(D,L,j){if(this.workerSources[D]||(this.workerSources[D]={}),this.workerSources[D][L]||(this.workerSources[D][L]={}),!this.workerSources[D][L][j]){const K={sendAsync:(le,he)=>(le.targetMapId=D,this.actor.sendAsync(le,he))};switch(L){case"vector":this.workerSources[D][L][j]=new J(K,this._getLayerIndex(D),this._getAvailableImages(D));break;case"geojson":this.workerSources[D][L][j]=new Br(K,this._getLayerIndex(D),this._getAvailableImages(D));break;default:this.workerSources[D][L][j]=new this.externalWorkerSourceTypes[L](K,this._getLayerIndex(D),this._getAvailableImages(D))}}return this.workerSources[D][L][j]}_getDEMWorkerSource(D,L){return this.demWorkerSources[D]||(this.demWorkerSources[D]={}),this.demWorkerSources[D][L]||(this.demWorkerSources[D][L]=new G),this.demWorkerSources[D][L]}}return S.i(self)&&(self.worker=new wr(self)),wr}),x("index",["exports","./shared"],function(S,h){var N="4.7.1";let q,ne;const J={now:typeof performance<"u"&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:p=>new Promise((e,s)=>{const a=requestAnimationFrame(e);p.signal.addEventListener("abort",()=>{cancelAnimationFrame(a),s(h.c())})}),getImageData(p,e=0){return this.getImageCanvasContext(p).getImageData(-e,-e,p.width+2*e,p.height+2*e)},getImageCanvasContext(p){const e=window.document.createElement("canvas"),s=e.getContext("2d",{willReadFrequently:!0});if(!s)throw new Error("failed to create canvas 2d context");return e.width=p.width,e.height=p.height,s.drawImage(p,0,0,p.width,p.height),s},resolveURL:p=>(q||(q=document.createElement("a")),q.href=p,q.href),hardwareConcurrency:typeof navigator<"u"&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return!!matchMedia&&(ne==null&&(ne=matchMedia("(prefers-reduced-motion: reduce)")),ne.matches)}};class G{static testProp(e){if(!G.docStyle)return e[0];for(let s=0;s{window.removeEventListener("click",G.suppressClickInternal,!0)},0)}static getScale(e){const s=e.getBoundingClientRect();return{x:s.width/e.offsetWidth||1,y:s.height/e.offsetHeight||1,boundingClientRect:s}}static getPoint(e,s,a){const l=s.boundingClientRect;return new h.P((a.clientX-l.left)/s.x-e.clientLeft,(a.clientY-l.top)/s.y-e.clientTop)}static mousePos(e,s){const a=G.getScale(e);return G.getPoint(e,a,s)}static touchPos(e,s){const a=[],l=G.getScale(e);for(let d=0;d{Ee&&xt(Ee),Ee=null,Tt=!0},$e.onerror=()=>{_t=!0,Ee=null},$e.src="data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA="),function(p){let e,s,a,l;p.resetRequestQueue=()=>{e=[],s=0,a=0,l={}},p.addThrottleControl=I=>{const A=a++;return l[A]=I,A},p.removeThrottleControl=I=>{delete l[I],v()},p.getImage=(I,A,C=!0)=>new Promise((M,O)=>{ve.supported&&(I.headers||(I.headers={}),I.headers.accept="image/webp,*/*"),h.e(I,{type:"image"}),e.push({abortController:A,requestParameters:I,supportImageRefresh:C,state:"queued",onError:V=>{O(V)},onSuccess:V=>{M(V)}}),v()});const d=I=>h._(this,void 0,void 0,function*(){I.state="running";const{requestParameters:A,supportImageRefresh:C,onError:M,onSuccess:O,abortController:V}=I,H=C===!1&&!h.i(self)&&!h.g(A.url)&&(!A.headers||Object.keys(A.headers).reduce((se,ae)=>se&&ae==="accept",!0));s++;const ee=H?w(A,V):h.m(A,V);try{const se=yield ee;delete I.abortController,I.state="completed",se.data instanceof HTMLImageElement||h.b(se.data)?O(se):se.data&&O({data:yield(re=se.data,typeof createImageBitmap=="function"?h.d(re):h.f(re)),cacheControl:se.cacheControl,expires:se.expires})}catch(se){delete I.abortController,M(se)}finally{s--,v()}var re}),v=()=>{const I=(()=>{for(const A of Object.keys(l))if(l[A]())return!0;return!1})()?h.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:h.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let A=s;A0;A++){const C=e.shift();C.abortController.signal.aborted?A--:d(C)}},w=(I,A)=>new Promise((C,M)=>{const O=new Image,V=I.url,H=I.credentials;H&&H==="include"?O.crossOrigin="use-credentials":(H&&H==="same-origin"||!h.s(V))&&(O.crossOrigin="anonymous"),A.signal.addEventListener("abort",()=>{O.src="",M(h.c())}),O.fetchPriority="high",O.onload=()=>{O.onerror=O.onload=null,C({data:O})},O.onerror=()=>{O.onerror=O.onload=null,A.signal.aborted||M(new Error("Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported."))},O.src=V})}(Ct||(Ct={})),Ct.resetRequestQueue();class Li{constructor(e){this._transformRequestFn=e}transformRequest(e,s){return this._transformRequestFn&&this._transformRequestFn(e,s)||{url:e}}setTransformRequest(e){this._transformRequestFn=e}}function Yt(p){var e=new h.A(3);return e[0]=p[0],e[1]=p[1],e[2]=p[2],e}var Vt,yt=function(p,e,s){return p[0]=e[0]-s[0],p[1]=e[1]-s[1],p[2]=e[2]-s[2],p};Vt=new h.A(3),h.A!=Float32Array&&(Vt[0]=0,Vt[1]=0,Vt[2]=0);var ri=function(p){var e=p[0],s=p[1];return e*e+s*s};function Bt(p){const e=[];if(typeof p=="string")e.push({id:"default",url:p});else if(p&&p.length>0){const s=[];for(const{id:a,url:l}of p){const d=`${a}${l}`;s.indexOf(d)===-1&&(s.push(d),e.push({id:a,url:l}))}}return e}function ji(p,e,s){const a=p.split("?");return a[0]+=`${e}${s}`,a.join("?")}(function(){var p=new h.A(2);h.A!=Float32Array&&(p[0]=0,p[1]=0)})();class Lt{constructor(e,s,a,l){this.context=e,this.format=a,this.texture=e.gl.createTexture(),this.update(s,l)}update(e,s,a){const{width:l,height:d}=e,v=!(this.size&&this.size[0]===l&&this.size[1]===d||a),{context:w}=this,{gl:I}=w;if(this.useMipmap=!!(s&&s.useMipmap),I.bindTexture(I.TEXTURE_2D,this.texture),w.pixelStoreUnpackFlipY.set(!1),w.pixelStoreUnpack.set(1),w.pixelStoreUnpackPremultiplyAlpha.set(this.format===I.RGBA&&(!s||s.premultiply!==!1)),v)this.size=[l,d],e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||h.b(e)?I.texImage2D(I.TEXTURE_2D,0,this.format,this.format,I.UNSIGNED_BYTE,e):I.texImage2D(I.TEXTURE_2D,0,this.format,l,d,0,this.format,I.UNSIGNED_BYTE,e.data);else{const{x:A,y:C}=a||{x:0,y:0};e instanceof HTMLImageElement||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageData||h.b(e)?I.texSubImage2D(I.TEXTURE_2D,0,A,C,I.RGBA,I.UNSIGNED_BYTE,e):I.texSubImage2D(I.TEXTURE_2D,0,A,C,l,d,I.RGBA,I.UNSIGNED_BYTE,e.data)}this.useMipmap&&this.isSizePowerOfTwo()&&I.generateMipmap(I.TEXTURE_2D)}bind(e,s,a){const{context:l}=this,{gl:d}=l;d.bindTexture(d.TEXTURE_2D,this.texture),a!==d.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(a=d.LINEAR),e!==this.filter&&(d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,e),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,a||e),this.filter=e),s!==this.wrap&&(d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_S,s),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_T,s),this.wrap=s)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:e}=this.context;e.deleteTexture(this.texture),this.texture=null}}function kt(p){const{userImage:e}=p;return!!(e&&e.render&&e.render())&&(p.data.replace(new Uint8Array(e.data.buffer)),!0)}class pi extends h.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new h.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(e){if(this.loaded!==e&&(this.loaded=e,e)){for(const{ids:s,promiseResolve:a}of this.requestors)a(this._getImagesForIds(s));this.requestors=[]}}getImage(e){const s=this.images[e];if(s&&!s.data&&s.spriteData){const a=s.spriteData;s.data=new h.R({width:a.width,height:a.height},a.context.getImageData(a.x,a.y,a.width,a.height).data),s.spriteData=null}return s}addImage(e,s){if(this.images[e])throw new Error(`Image id ${e} already exist, use updateImage instead`);this._validate(e,s)&&(this.images[e]=s)}_validate(e,s){let a=!0;const l=s.data||s.spriteData;return this._validateStretch(s.stretchX,l&&l.width)||(this.fire(new h.j(new Error(`Image "${e}" has invalid "stretchX" value`))),a=!1),this._validateStretch(s.stretchY,l&&l.height)||(this.fire(new h.j(new Error(`Image "${e}" has invalid "stretchY" value`))),a=!1),this._validateContent(s.content,s)||(this.fire(new h.j(new Error(`Image "${e}" has invalid "content" value`))),a=!1),a}_validateStretch(e,s){if(!e)return!0;let a=0;for(const l of e){if(l[0]{let l=!0;if(!this.isLoaded())for(const d of e)this.images[d]||(l=!1);this.isLoaded()||l?s(this._getImagesForIds(e)):this.requestors.push({ids:e,promiseResolve:s})})}_getImagesForIds(e){const s={};for(const a of e){let l=this.getImage(a);l||(this.fire(new h.k("styleimagemissing",{id:a})),l=this.getImage(a)),l?s[a]={data:l.data.clone(),pixelRatio:l.pixelRatio,sdf:l.sdf,version:l.version,stretchX:l.stretchX,stretchY:l.stretchY,content:l.content,textFitWidth:l.textFitWidth,textFitHeight:l.textFitHeight,hasRenderCallback:!!(l.userImage&&l.userImage.render)}:h.w(`Image "${a}" could not be loaded. Please make sure you have added the image with map.addImage() or a "sprite" property in your style. You can provide missing images by listening for the "styleimagemissing" map event.`)}return s}getPixelSize(){const{width:e,height:s}=this.atlasImage;return{width:e,height:s}}getPattern(e){const s=this.patterns[e],a=this.getImage(e);if(!a)return null;if(s&&s.position.version===a.version)return s.position;if(s)s.position.version=a.version;else{const l={w:a.data.width+2,h:a.data.height+2,x:0,y:0},d=new h.I(l,a);this.patterns[e]={bin:l,position:d}}return this._updatePatternAtlas(),this.patterns[e].position}bind(e){const s=e.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new Lt(e,this.atlasImage,s.RGBA),this.atlasTexture.bind(s.LINEAR,s.CLAMP_TO_EDGE)}_updatePatternAtlas(){const e=[];for(const d in this.patterns)e.push(this.patterns[d].bin);const{w:s,h:a}=h.p(e),l=this.atlasImage;l.resize({width:s||1,height:a||1});for(const d in this.patterns){const{bin:v}=this.patterns[d],w=v.x+1,I=v.y+1,A=this.getImage(d).data,C=A.width,M=A.height;h.R.copy(A,l,{x:0,y:0},{x:w,y:I},{width:C,height:M}),h.R.copy(A,l,{x:0,y:M-1},{x:w,y:I-1},{width:C,height:1}),h.R.copy(A,l,{x:0,y:0},{x:w,y:I+M},{width:C,height:1}),h.R.copy(A,l,{x:C-1,y:0},{x:w-1,y:I},{width:1,height:M}),h.R.copy(A,l,{x:0,y:0},{x:w+C,y:I},{width:1,height:M})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(e){for(const s of e){if(this.callbackDispatchedThisFrame[s])continue;this.callbackDispatchedThisFrame[s]=!0;const a=this.getImage(s);a||h.w(`Image with ID: "${s}" was not found`),kt(a)&&this.updateImage(s,a)}}}const De=1e20;function Ut(p,e,s,a,l,d,v,w,I){for(let A=e;A-1);I++,d[I]=w,v[I]=A,v[I+1]=De}for(let w=0,I=0;w65535)throw new Error("glyphs > 65535 not supported");if(a.ranges[d])return{stack:e,id:s,glyph:l};if(!this.url)throw new Error("glyphsUrl is not set");if(!a.requests[d]){const w=oi.loadGlyphRange(e,d,this.url,this.requestManager);a.requests[d]=w}const v=yield a.requests[d];for(const w in v)this._doesCharSupportLocalGlyph(+w)||(a.glyphs[+w]=v[+w]);return a.ranges[d]=!0,{stack:e,id:s,glyph:v[s]||null}})}_doesCharSupportLocalGlyph(e){return!!this.localIdeographFontFamily&&new RegExp("\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}","u").test(String.fromCodePoint(e))}_tinySDF(e,s,a){const l=this.localIdeographFontFamily;if(!l||!this._doesCharSupportLocalGlyph(a))return;let d=e.tinySDF;if(!d){let w="400";/bold/i.test(s)?w="900":/medium/i.test(s)?w="500":/light/i.test(s)&&(w="200"),d=e.tinySDF=new oi.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:l,fontWeight:w})}const v=d.draw(String.fromCharCode(a));return{id:a,bitmap:new h.o({width:v.width||60,height:v.height||60},v.data),metrics:{width:v.glyphWidth/2||24,height:v.glyphHeight/2||24,left:v.glyphLeft/2+.5||0,top:v.glyphTop/2-27.5||-8,advance:v.glyphAdvance/2||24,isDoubleResolution:!0}}}}oi.loadGlyphRange=function(p,e,s,a){return h._(this,void 0,void 0,function*(){const l=256*e,d=l+255,v=a.transformRequest(s.replace("{fontstack}",p).replace("{range}",`${l}-${d}`),"Glyphs"),w=yield h.l(v,new AbortController);if(!w||!w.data)throw new Error(`Could not load glyph range. range: ${e}, ${l}-${d}`);const I={};for(const A of h.n(w.data))I[A.id]=A;return I})},oi.TinySDF=class{constructor({fontSize:p=24,buffer:e=3,radius:s=8,cutoff:a=.25,fontFamily:l="sans-serif",fontWeight:d="normal",fontStyle:v="normal"}={}){this.buffer=e,this.cutoff=a,this.radius=s;const w=this.size=p+4*e,I=this._createCanvas(w),A=this.ctx=I.getContext("2d",{willReadFrequently:!0});A.font=`${v} ${d} ${p}px ${l}`,A.textBaseline="alphabetic",A.textAlign="left",A.fillStyle="black",this.gridOuter=new Float64Array(w*w),this.gridInner=new Float64Array(w*w),this.f=new Float64Array(w),this.z=new Float64Array(w+1),this.v=new Uint16Array(w)}_createCanvas(p){const e=document.createElement("canvas");return e.width=e.height=p,e}draw(p){const{width:e,actualBoundingBoxAscent:s,actualBoundingBoxDescent:a,actualBoundingBoxLeft:l,actualBoundingBoxRight:d}=this.ctx.measureText(p),v=Math.ceil(s),w=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(d-l))),I=Math.min(this.size-this.buffer,v+Math.ceil(a)),A=w+2*this.buffer,C=I+2*this.buffer,M=Math.max(A*C,0),O=new Uint8ClampedArray(M),V={data:O,width:A,height:C,glyphWidth:w,glyphHeight:I,glyphTop:v,glyphLeft:0,glyphAdvance:e};if(w===0||I===0)return V;const{ctx:H,buffer:ee,gridInner:re,gridOuter:se}=this;H.clearRect(ee,ee,w,I),H.fillText(p,ee,ee+v);const ae=H.getImageData(ee,ee,w,I);se.fill(De,0,M),re.fill(0,0,M);for(let Y=0;Y0?Ce*Ce:0,re[ye]=Ce<0?Ce*Ce:0}}Ut(se,0,0,A,C,A,this.f,this.v,this.z),Ut(re,ee,ee,w,I,A,this.f,this.v,this.z);for(let Y=0;Y1&&(I=e[++w]);const C=Math.abs(A-I.left),M=Math.abs(A-I.right),O=Math.min(C,M);let V;const H=d/a*(l+1);if(I.isDash){const ee=l-Math.abs(H);V=Math.sqrt(O*O+ee*ee)}else V=l-Math.sqrt(O*O+H*H);this.data[v+A]=Math.max(0,Math.min(255,V+128))}}}addRegularDash(e){for(let w=e.length-1;w>=0;--w){const I=e[w],A=e[w+1];I.zeroLength?e.splice(w,1):A&&A.isDash===I.isDash&&(A.left=I.left,e.splice(w,1))}const s=e[0],a=e[e.length-1];s.isDash===a.isDash&&(s.left=a.left-this.width,a.right=s.right+this.width);const l=this.width*this.nextRow;let d=0,v=e[d];for(let w=0;w1&&(v=e[++d]);const I=Math.abs(w-v.left),A=Math.abs(w-v.right),C=Math.min(I,A);this.data[l+w]=Math.max(0,Math.min(255,(v.isDash?C:-C)+128))}}addDash(e,s){const a=s?7:0,l=2*a+1;if(this.nextRow+l>this.height)return h.w("LineAtlas out of space"),null;let d=0;for(let w=0;w{s.terminate()}),this.workers=null)}isPreloaded(){return!!this.active[Yr]}numActive(){return Object.keys(this.active).length}}const Ss=Math.floor(J.hardwareConcurrency/2);let wi,ki;function Mt(){return wi||(wi=new Lr),wi}Lr.workerCount=h.C(globalThis)?Math.max(Math.min(Ss,3),1):1;class $i{constructor(e,s){this.workerPool=e,this.actors=[],this.currentActor=0,this.id=s;const a=this.workerPool.acquire(s);for(let l=0;l{s.remove()}),this.actors=[],e&&this.workerPool.release(this.id)}registerMessageHandler(e,s){for(const a of this.actors)a.registerMessageHandler(e,s)}}function Gs(){return ki||(ki=new $i(Mt(),h.G),ki.registerMessageHandler("GR",(p,e,s)=>h.m(e,s))),ki}function Hr(p,e){const s=h.H();return h.J(s,s,[1,1,0]),h.K(s,s,[.5*p.width,.5*p.height,1]),h.L(s,s,p.calculatePosMatrix(e.toUnwrapped()))}function Rr(p,e,s,a,l,d){const v=function(M,O,V){if(M)for(const H of M){const ee=O[H];if(ee&&ee.source===V&&ee.type==="fill-extrusion")return!0}else for(const H in O){const ee=O[H];if(ee.source===V&&ee.type==="fill-extrusion")return!0}return!1}(l&&l.layers,e,p.id),w=d.maxPitchScaleFactor(),I=p.tilesIn(a,w,v);I.sort(Or);const A=[];for(const M of I)A.push({wrappedTileID:M.tileID.wrapped().key,queryResults:M.tile.queryRenderedFeatures(e,s,p._state,M.queryGeometry,M.cameraQueryGeometry,M.scale,l,d,w,Hr(p.transform,M.tileID))});const C=function(M){const O={},V={};for(const H of M){const ee=H.queryResults,re=H.wrappedTileID,se=V[re]=V[re]||{};for(const ae in ee){const Y=ee[ae],ue=se[ae]=se[ae]||{},pe=O[ae]=O[ae]||[];for(const ye of Y)ue[ye.featureIndex]||(ue[ye.featureIndex]=!0,pe.push(ye))}}return O}(A);for(const M in C)C[M].forEach(O=>{const V=O.feature,H=p.getFeatureState(V.layer["source-layer"],V.id);V.source=V.layer.source,V.layer["source-layer"]&&(V.sourceLayer=V.layer["source-layer"]),V.state=H});return C}function Or(p,e){const s=p.tileID,a=e.tileID;return s.overscaledZ-a.overscaledZ||s.canonical.y-a.canonical.y||s.wrap-a.wrap||s.canonical.x-a.canonical.x}function zs(p,e,s){return h._(this,void 0,void 0,function*(){let a=p;if(p.url?a=(yield h.h(e.transformRequest(p.url,"Source"),s)).data:yield J.frameAsync(s),!a)return null;const l=h.M(h.e(a,p),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in a&&a.vector_layers&&(l.vectorLayerIds=a.vector_layers.map(d=>d.id)),l})}class be{constructor(e,s){e&&(s?this.setSouthWest(e).setNorthEast(s):Array.isArray(e)&&(e.length===4?this.setSouthWest([e[0],e[1]]).setNorthEast([e[2],e[3]]):this.setSouthWest(e[0]).setNorthEast(e[1])))}setNorthEast(e){return this._ne=e instanceof h.N?new h.N(e.lng,e.lat):h.N.convert(e),this}setSouthWest(e){return this._sw=e instanceof h.N?new h.N(e.lng,e.lat):h.N.convert(e),this}extend(e){const s=this._sw,a=this._ne;let l,d;if(e instanceof h.N)l=e,d=e;else{if(!(e instanceof be))return Array.isArray(e)?e.length===4||e.every(Array.isArray)?this.extend(be.convert(e)):this.extend(h.N.convert(e)):e&&("lng"in e||"lon"in e)&&"lat"in e?this.extend(h.N.convert(e)):this;if(l=e._sw,d=e._ne,!l||!d)return this}return s||a?(s.lng=Math.min(l.lng,s.lng),s.lat=Math.min(l.lat,s.lat),a.lng=Math.max(d.lng,a.lng),a.lat=Math.max(d.lat,a.lat)):(this._sw=new h.N(l.lng,l.lat),this._ne=new h.N(d.lng,d.lat)),this}getCenter(){return new h.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new h.N(this.getWest(),this.getNorth())}getSouthEast(){return new h.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return[this._sw.toArray(),this._ne.toArray()]}toString(){return`LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return!(this._sw&&this._ne)}contains(e){const{lng:s,lat:a}=h.N.convert(e);let l=this._sw.lng<=s&&s<=this._ne.lng;return this._sw.lng>this._ne.lng&&(l=this._sw.lng>=s&&s>=this._ne.lng),this._sw.lat<=a&&a<=this._ne.lat&&l}static convert(e){return e instanceof be?e:e&&new be(e)}static fromLngLat(e,s=0){const a=360*s/40075017,l=a/Math.cos(Math.PI/180*e.lat);return new be(new h.N(e.lng-l,e.lat-a),new h.N(e.lng+l,e.lat+a))}adjustAntiMeridian(){const e=new h.N(this._sw.lng,this._sw.lat),s=new h.N(this._ne.lng,this._ne.lat);return new be(e,e.lng>s.lng?new h.N(s.lng+360,s.lat):s)}}class Is{constructor(e,s,a){this.bounds=be.convert(this.validateBounds(e)),this.minzoom=s||0,this.maxzoom=a||24}validateBounds(e){return Array.isArray(e)&&e.length===4?[Math.max(-180,e[0]),Math.max(-90,e[1]),Math.min(180,e[2]),Math.min(90,e[3])]:[-180,-90,180,90]}contains(e){const s=Math.pow(2,e.z),a=Math.floor(h.O(this.bounds.getWest())*s),l=Math.floor(h.Q(this.bounds.getNorth())*s),d=Math.ceil(h.O(this.bounds.getEast())*s),v=Math.ceil(h.Q(this.bounds.getSouth())*s);return e.x>=a&&e.x=l&&e.y{this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return h.e({},this._options)}loadTile(e){return h._(this,void 0,void 0,function*(){const s=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a={request:this.map._requestManager.transformRequest(s,"Tile"),uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,tileSize:this.tileSize*e.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};a.request.collectResourceTiming=this._collectResourceTiming;let l="RT";if(e.actor&&e.state!=="expired"){if(e.state==="loading")return new Promise((d,v)=>{e.reloadPromise={resolve:d,reject:v}})}else e.actor=this.dispatcher.getActor(),l="LT";e.abortController=new AbortController;try{const d=yield e.actor.sendAsync({type:l,data:a},e.abortController);if(delete e.abortController,e.aborted)return;this._afterTileLoadWorkerResponse(e,d)}catch(d){if(delete e.abortController,e.aborted)return;if(d&&d.status!==404)throw d;this._afterTileLoadWorkerResponse(e,null)}})}_afterTileLoadWorkerResponse(e,s){if(s&&s.resourceTiming&&(e.resourceTiming=s.resourceTiming),s&&this.map._refreshExpiredTiles&&e.setExpiryData(s),e.loadVectorData(s,this.map.painter),e.reloadPromise){const a=e.reloadPromise;e.reloadPromise=null,this.loadTile(e).then(a.resolve).catch(a.reject)}}abortTile(e){return h._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.actor&&(yield e.actor.sendAsync({type:"AT",data:{uid:e.uid,type:this.type,source:this.id}}))})}unloadTile(e){return h._(this,void 0,void 0,function*(){e.unloadVectorData(),e.actor&&(yield e.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}}))})}hasTransition(){return!1}}class Gt extends h.E{constructor(e,s,a,l){super(),this.id=e,this.dispatcher=a,this.setEventedParent(l),this.type="raster",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme="xyz",this.tileSize=512,this._loaded=!1,this._options=h.e({type:"raster"},s),h.e(this,h.M(s,["url","scheme","tileSize"]))}load(){return h._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new h.k("dataloading",{dataType:"source"})),this._tileJSONRequest=new AbortController;try{const e=yield zs(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,e&&(h.e(this,e),e.bounds&&(this.tileBounds=new Is(e.bounds,this.minzoom,this.maxzoom)),this.fire(new h.k("data",{dataType:"source",sourceDataType:"metadata"})),this.fire(new h.k("data",{dataType:"source",sourceDataType:"content"})))}catch(e){this._tileJSONRequest=null,this.fire(new h.j(e))}})}loaded(){return this._loaded}onAdd(e){this.map=e,this.load()}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}setSourceProperty(e){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),e(),this.load()}setTiles(e){return this.setSourceProperty(()=>{this._options.tiles=e}),this}setUrl(e){return this.setSourceProperty(()=>{this.url=e,this._options.url=e}),this}serialize(){return h.e({},this._options)}hasTile(e){return!this.tileBounds||this.tileBounds.contains(e.canonical)}loadTile(e){return h._(this,void 0,void 0,function*(){const s=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);e.abortController=new AbortController;try{const a=yield Ct.getImage(this.map._requestManager.transformRequest(s,"Tile"),e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(a&&a.data){this.map._refreshExpiredTiles&&a.cacheControl&&a.expires&&e.setExpiryData({cacheControl:a.cacheControl,expires:a.expires});const l=this.map.painter.context,d=l.gl,v=a.data;e.texture=this.map.painter.getTileTexture(v.width),e.texture?e.texture.update(v,{useMipmap:!0}):(e.texture=new Lt(l,v,d.RGBA,{useMipmap:!0}),e.texture.bind(d.LINEAR,d.CLAMP_TO_EDGE,d.LINEAR_MIPMAP_NEAREST)),e.state="loaded"}}catch(a){if(delete e.abortController,e.aborted)e.state="unloaded";else if(a)throw e.state="errored",a}})}abortTile(e){return h._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController)})}unloadTile(e){return h._(this,void 0,void 0,function*(){e.texture&&this.map.painter.saveTileTexture(e.texture)})}hasTransition(){return!1}}class Si extends Gt{constructor(e,s,a,l){super(e,s,a,l),this.type="raster-dem",this.maxzoom=22,this._options=h.e({type:"raster-dem"},s),this.encoding=s.encoding||"mapbox",this.redFactor=s.redFactor,this.greenFactor=s.greenFactor,this.blueFactor=s.blueFactor,this.baseShift=s.baseShift}loadTile(e){return h._(this,void 0,void 0,function*(){const s=e.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a=this.map._requestManager.transformRequest(s,"Tile");e.neighboringTiles=this._getNeighboringTiles(e.tileID),e.abortController=new AbortController;try{const l=yield Ct.getImage(a,e.abortController,this.map._refreshExpiredTiles);if(delete e.abortController,e.aborted)return void(e.state="unloaded");if(l&&l.data){const d=l.data;this.map._refreshExpiredTiles&&l.cacheControl&&l.expires&&e.setExpiryData({cacheControl:l.cacheControl,expires:l.expires});const v=h.b(d)&&h.U()?d:yield this.readImageNow(d),w={type:this.type,uid:e.uid,source:this.id,rawImageData:v,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!e.actor||e.state==="expired"){e.actor=this.dispatcher.getActor();const I=yield e.actor.sendAsync({type:"LDT",data:w});e.dem=I,e.needsHillshadePrepare=!0,e.needsTerrainPrepare=!0,e.state="loaded"}}}catch(l){if(delete e.abortController,e.aborted)e.state="unloaded";else if(l)throw e.state="errored",l}})}readImageNow(e){return h._(this,void 0,void 0,function*(){if(typeof VideoFrame<"u"&&h.V()){const s=e.width+2,a=e.height+2;try{return new h.R({width:s,height:a},yield h.W(e,-1,-1,s,a))}catch{}}return J.getImageData(e,1)})}_getNeighboringTiles(e){const s=e.canonical,a=Math.pow(2,s.z),l=(s.x-1+a)%a,d=s.x===0?e.wrap-1:e.wrap,v=(s.x+1+a)%a,w=s.x+1===a?e.wrap+1:e.wrap,I={};return I[new h.S(e.overscaledZ,d,s.z,l,s.y).key]={backfilled:!1},I[new h.S(e.overscaledZ,w,s.z,v,s.y).key]={backfilled:!1},s.y>0&&(I[new h.S(e.overscaledZ,d,s.z,l,s.y-1).key]={backfilled:!1},I[new h.S(e.overscaledZ,e.wrap,s.z,s.x,s.y-1).key]={backfilled:!1},I[new h.S(e.overscaledZ,w,s.z,v,s.y-1).key]={backfilled:!1}),s.y+10&&h.e(d,{resourceTiming:l}),this.fire(new h.k("data",Object.assign(Object.assign({},d),{sourceDataType:"metadata"}))),this.fire(new h.k("data",Object.assign(Object.assign({},d),{sourceDataType:"content"})))}catch(a){if(this._pendingLoads--,this._removed)return void this.fire(new h.k("dataabort",{dataType:"source"}));this.fire(new h.j(a))}})}loaded(){return this._pendingLoads===0}loadTile(e){return h._(this,void 0,void 0,function*(){const s=e.actor?"RT":"LT";e.actor=this.actor;const a={type:this.type,uid:e.uid,tileID:e.tileID,zoom:e.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};e.abortController=new AbortController;const l=yield this.actor.sendAsync({type:s,data:a},e.abortController);delete e.abortController,e.unloadVectorData(),e.aborted||e.loadVectorData(l,this.map.painter,s==="RT")})}abortTile(e){return h._(this,void 0,void 0,function*(){e.abortController&&(e.abortController.abort(),delete e.abortController),e.aborted=!0})}unloadTile(e){return h._(this,void 0,void 0,function*(){e.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:e.uid,type:this.type,source:this.id}})})}onRemove(){this._removed=!0,this.actor.sendAsync({type:"RS",data:{type:this.type,source:this.id}})}serialize(){return h.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return!1}}var es=h.Y([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class vr extends h.E{constructor(e,s,a,l){super(),this.id=e,this.dispatcher=a,this.coordinates=s.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(l),this.options=s}load(e){return h._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new h.k("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{const s=yield Ct.getImage(this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,s&&s.data&&(this.image=s.data,e&&(this.coordinates=e),this._finishLoading())}catch(s){this._request=null,this._loaded=!0,this.fire(new h.j(s))}})}loaded(){return this._loaded}updateImage(e){return e.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=e.url,this.load(e.coordinates).finally(()=>{this.texture=null}),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new h.k("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(e){this.map=e,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(e){this.coordinates=e;const s=e.map(h.Z.fromLngLat);this.tileID=function(l){let d=1/0,v=1/0,w=-1/0,I=-1/0;for(const O of l)d=Math.min(d,O.x),v=Math.min(v,O.y),w=Math.max(w,O.x),I=Math.max(I,O.y);const A=Math.max(w-d,I-v),C=Math.max(0,Math.floor(-Math.log(A)/Math.LN2)),M=Math.pow(2,C);return new h.a1(C,Math.floor((d+w)/2*M),Math.floor((v+I)/2*M))}(s),this.minzoom=this.maxzoom=this.tileID.z;const a=s.map(l=>this.tileID.getTilePoint(l)._round());return this._boundsArray=new h.$,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,h.X,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,h.X),this._boundsArray.emplaceBack(a[2].x,a[2].y,h.X,h.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new h.k("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;const e=this.map.painter.context,s=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,es.members)),this.boundsSegments||(this.boundsSegments=h.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new Lt(e,this.image,s.RGBA),this.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE));let a=!1;for(const l in this.tiles){const d=this.tiles[l];d.state!=="loaded"&&(d.state="loaded",d.texture=this.texture,a=!0)}a&&this.fire(new h.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(e){return h._(this,void 0,void 0,function*(){this.tileID&&this.tileID.equals(e.tileID.canonical)?(this.tiles[String(e.tileID.wrap)]=e,e.buckets={}):e.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}}class Ki extends vr{constructor(e,s,a,l){super(e,s,a,l),this.roundZoom=!0,this.type="video",this.options=s}load(){return h._(this,void 0,void 0,function*(){this._loaded=!1;const e=this.options;this.urls=[];for(const s of e.urls)this.urls.push(this.map._requestManager.transformRequest(s,"Source").url);try{const s=yield h.a3(this.urls);if(this._loaded=!0,!s)return;this.video=s,this.video.loop=!0,this.video.addEventListener("playing",()=>{this.map.triggerRepaint()}),this.map&&this.video.play(),this._finishLoading()}catch(s){this.fire(new h.j(s))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(e){if(this.video){const s=this.video.seekable;es.end(0)?this.fire(new h.j(new h.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${s.start(0)} and ${s.end(0)}-second mark.`))):this.video.currentTime=e}}getVideo(){return this.video}onAdd(e){this.map||(this.map=e,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState<2)return;const e=this.map.painter.context,s=e.gl;this.boundsBuffer||(this.boundsBuffer=e.createVertexBuffer(this._boundsArray,es.members)),this.boundsSegments||(this.boundsSegments=h.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,this.video)):(this.texture=new Lt(e,this.video,s.RGBA),this.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE));let a=!1;for(const l in this.tiles){const d=this.tiles[l];d.state!=="loaded"&&(d.state="loaded",d.texture=this.texture,a=!0)}a&&this.fire(new h.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"video",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class br extends vr{constructor(e,s,a,l){super(e,s,a,l),s.coordinates?Array.isArray(s.coordinates)&&s.coordinates.length===4&&!s.coordinates.some(d=>!Array.isArray(d)||d.length!==2||d.some(v=>typeof v!="number"))||this.fire(new h.j(new h.a2(`sources.${e}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new h.j(new h.a2(`sources.${e}`,null,'missing required property "coordinates"'))),s.animate&&typeof s.animate!="boolean"&&this.fire(new h.j(new h.a2(`sources.${e}`,null,'optional "animate" property must be a boolean value'))),s.canvas?typeof s.canvas=="string"||s.canvas instanceof HTMLCanvasElement||this.fire(new h.j(new h.a2(`sources.${e}`,null,'"canvas" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new h.j(new h.a2(`sources.${e}`,null,'missing required property "canvas"'))),this.options=s,this.animate=s.animate===void 0||s.animate}load(){return h._(this,void 0,void 0,function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new h.j(new Error("Canvas dimensions cannot be less than or equal to zero."))):(this.play=function(){this._playing=!0,this.map.triggerRepaint()},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1)},this._finishLoading())})}getCanvas(){return this.canvas}onAdd(e){this.map=e,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let e=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,e=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,e=!0),this._hasInvalidDimensions()||Object.keys(this.tiles).length===0)return;const s=this.map.painter.context,a=s.gl;this.boundsBuffer||(this.boundsBuffer=s.createVertexBuffer(this._boundsArray,es.members)),this.boundsSegments||(this.boundsSegments=h.a0.simpleSegment(0,0,4,2)),this.texture?(e||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new Lt(s,this.canvas,a.RGBA,{premultiply:!0});let l=!1;for(const d in this.tiles){const v=this.tiles[d];v.state!=="loaded"&&(v.state="loaded",v.texture=this.texture,l=!0)}l&&this.fire(new h.k("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const e of[this.canvas.width,this.canvas.height])if(isNaN(e)||e<=0)return!0;return!1}}const an={},ln=p=>{switch(p){case"geojson":return Qr;case"image":return vr;case"raster":return Gt;case"raster-dem":return Si;case"vector":return on;case"video":return Ki;case"canvas":return br}return an[p]},Oe="RTLPluginLoaded";class Zr extends h.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=Gs()}_syncState(e){return this.status=e,this.dispatcher.broadcast("SRPS",{pluginStatus:e,pluginURL:this.url}).catch(s=>{throw this.status="error",s})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(e){return h._(this,arguments,void 0,function*(s,a=!1){if(this.url)throw new Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=J.resolveURL(s),!this.url)throw new Error(`requested url ${s} is invalid`);if(this.status==="unavailable"){if(!a)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return h._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new h.k(Oe))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let Yi=null;function Wr(){return Yi||(Yi=new Zr),Yi}class ts{constructor(e,s){this.timeAdded=0,this.fadeEndTime=0,this.tileID=e,this.uid=h.a4(),this.uses=0,this.tileSize=s,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state="loading"}registerFadeDuration(e){const s=e+this.timeAdded;sd.getLayer(A)).filter(Boolean);if(I.length!==0){w.layers=I,w.stateDependentLayerIds&&(w.stateDependentLayers=w.stateDependentLayerIds.map(A=>I.filter(C=>C.id===A)[0]));for(const A of I)v[A.id]=w}}return v}(e.buckets,s.style),this.hasSymbolBuckets=!1;for(const l in this.buckets){const d=this.buckets[l];if(d instanceof h.a6){if(this.hasSymbolBuckets=!0,!a)break;d.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const l in this.buckets){const d=this.buckets[l];if(d instanceof h.a6&&d.hasRTLText){this.hasRTLText=!0,Wr().lazyLoad();break}}this.queryPadding=0;for(const l in this.buckets){const d=this.buckets[l];this.queryPadding=Math.max(this.queryPadding,s.style.getLayer(l).queryRadius(d))}e.imageAtlas&&(this.imageAtlas=e.imageAtlas),e.glyphAtlasImage&&(this.glyphAtlasImage=e.glyphAtlasImage)}else this.collisionBoxArray=new h.a5}unloadVectorData(){for(const e in this.buckets)this.buckets[e].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state="unloaded"}getBucket(e){return this.buckets[e.id]}upload(e){for(const a in this.buckets){const l=this.buckets[a];l.uploadPending()&&l.upload(e)}const s=e.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new Lt(e,this.imageAtlas.image,s.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new Lt(e,this.glyphAtlasImage,s.ALPHA),this.glyphAtlasImage=null)}prepare(e){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(e,this.imageAtlasTexture)}queryRenderedFeatures(e,s,a,l,d,v,w,I,A,C){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:l,cameraQueryGeometry:d,scale:v,tileSize:this.tileSize,pixelPosMatrix:C,transform:I,params:w,queryPadding:this.queryPadding*A},e,s,a):{}}querySourceFeatures(e,s){const a=this.latestFeatureIndex;if(!a||!a.rawTileData)return;const l=a.loadVTLayers(),d=s&&s.sourceLayer?s.sourceLayer:"",v=l._geojsonTileLayer||l[d];if(!v)return;const w=h.a7(s&&s.filter),{z:I,x:A,y:C}=this.tileID.canonical,M={z:I,x:A,y:C};for(let O=0;Oa)l=!1;else if(s)if(this.expirationTime{this.remove(e,d)},a)),this.data[l].push(d),this.order.push(l),this.order.length>this.max){const v=this._getAndRemoveByKey(this.order[0]);v&&this.onRemove(v)}return this}has(e){return e.wrapped().key in this.data}getAndRemove(e){return this.has(e)?this._getAndRemoveByKey(e.wrapped().key):null}_getAndRemoveByKey(e){const s=this.data[e].shift();return s.timeout&&clearTimeout(s.timeout),this.data[e].length===0&&delete this.data[e],this.order.splice(this.order.indexOf(e),1),s.value}getByKey(e){const s=this.data[e];return s?s[0].value:null}get(e){return this.has(e)?this.data[e.wrapped().key][0].value:null}remove(e,s){if(!this.has(e))return this;const a=e.wrapped().key,l=s===void 0?0:this.data[a].indexOf(s),d=this.data[a][l];return this.data[a].splice(l,1),d.timeout&&clearTimeout(d.timeout),this.data[a].length===0&&delete this.data[a],this.onRemove(d.value),this.order.splice(this.order.indexOf(a),1),this}setMaxSize(e){for(this.max=e;this.order.length>this.max;){const s=this._getAndRemoveByKey(this.order[0]);s&&this.onRemove(s)}return this}filter(e){const s=[];for(const a in this.data)for(const l of this.data[a])e(l.value)||s.push(l);for(const a of s)this.remove(a.value.tileID,a)}}class St{constructor(){this.state={},this.stateChanges={},this.deletedStates={}}updateState(e,s,a){const l=String(s);if(this.stateChanges[e]=this.stateChanges[e]||{},this.stateChanges[e][l]=this.stateChanges[e][l]||{},h.e(this.stateChanges[e][l],a),this.deletedStates[e]===null){this.deletedStates[e]={};for(const d in this.state[e])d!==l&&(this.deletedStates[e][d]=null)}else if(this.deletedStates[e]&&this.deletedStates[e][l]===null){this.deletedStates[e][l]={};for(const d in this.state[e][l])a[d]||(this.deletedStates[e][l][d]=null)}else for(const d in a)this.deletedStates[e]&&this.deletedStates[e][l]&&this.deletedStates[e][l][d]===null&&delete this.deletedStates[e][l][d]}removeFeatureState(e,s,a){if(this.deletedStates[e]===null)return;const l=String(s);if(this.deletedStates[e]=this.deletedStates[e]||{},a&&s!==void 0)this.deletedStates[e][l]!==null&&(this.deletedStates[e][l]=this.deletedStates[e][l]||{},this.deletedStates[e][l][a]=null);else if(s!==void 0)if(this.stateChanges[e]&&this.stateChanges[e][l])for(a in this.deletedStates[e][l]={},this.stateChanges[e][l])this.deletedStates[e][l][a]=null;else this.deletedStates[e][l]=null;else this.deletedStates[e]=null}getState(e,s){const a=String(s),l=h.e({},(this.state[e]||{})[a],(this.stateChanges[e]||{})[a]);if(this.deletedStates[e]===null)return{};if(this.deletedStates[e]){const d=this.deletedStates[e][s];if(d===null)return{};for(const v in d)delete l[v]}return l}initializeTileState(e,s){e.setFeatureState(this.state,s)}coalesceChanges(e,s){const a={};for(const l in this.stateChanges){this.state[l]=this.state[l]||{};const d={};for(const v in this.stateChanges[l])this.state[l][v]||(this.state[l][v]={}),h.e(this.state[l][v],this.stateChanges[l][v]),d[v]=this.state[l][v];a[l]=d}for(const l in this.deletedStates){this.state[l]=this.state[l]||{};const d={};if(this.deletedStates[l]===null)for(const v in this.state[l])d[v]={},this.state[l][v]={};else for(const v in this.deletedStates[l]){if(this.deletedStates[l][v]===null)this.state[l][v]={};else for(const w of Object.keys(this.deletedStates[l][v]))delete this.state[l][v][w];d[v]=this.state[l][v]}a[l]=a[l]||{},h.e(a[l],d)}if(this.stateChanges={},this.deletedStates={},Object.keys(a).length!==0)for(const l in e)e[l].setFeatureState(a,s)}}class pt extends h.E{constructor(e,s,a){super(),this.id=e,this.dispatcher=a,this.on("data",l=>this._dataHandler(l)),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((l,d,v,w)=>{const I=new(ln(d.type))(l,d,v,w);if(I.id!==l)throw new Error(`Expected Source id to be ${l} instead of ${I.id}`);return I})(e,s,a,this),this._tiles={},this._cache=new je(0,l=>this._unloadTile(l)),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new St,this._didEmitContent=!1,this._updated=!1}onAdd(e){this.map=e,this._maxTileCacheSize=e?e._maxTileCacheSize:null,this._maxTileCacheZoomLevels=e?e._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(e)}onRemove(e){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(e)}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded||!this._source.loaded())return!1;if(!(this.used===void 0&&this.usedForTerrain===void 0||this.used||this.usedForTerrain))return!0;if(!this._updated)return!1;for(const e in this._tiles){const s=this._tiles[e];if(s.state!=="loaded"&&s.state!=="errored")return!1}return!0}getSource(){return this._source}pause(){this._paused=!0}resume(){if(!this._paused)return;const e=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,e&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(e,s,a){return h._(this,void 0,void 0,function*(){try{yield this._source.loadTile(e),this._tileLoaded(e,s,a)}catch(l){e.state="errored",l.status!==404?this._source.fire(new h.j(l,{tile:e})):this.update(this.transform,this.terrain)}})}_unloadTile(e){this._source.unloadTile&&this._source.unloadTile(e)}_abortTile(e){this._source.abortTile&&this._source.abortTile(e),this._source.fire(new h.k("dataabort",{tile:e,coord:e.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(e){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const s in this._tiles){const a=this._tiles[s];a.upload(e),a.prepare(this.map.style.imageManager)}}getIds(){return Object.values(this._tiles).map(e=>e.tileID).sort(Qi).map(e=>e.key)}getRenderableIds(e){const s=[];for(const a in this._tiles)this._isIdRenderable(a,e)&&s.push(this._tiles[a]);return e?s.sort((a,l)=>{const d=a.tileID,v=l.tileID,w=new h.P(d.canonical.x,d.canonical.y)._rotate(this.transform.angle),I=new h.P(v.canonical.x,v.canonical.y)._rotate(this.transform.angle);return d.overscaledZ-v.overscaledZ||I.y-w.y||I.x-w.x}).map(a=>a.tileID.key):s.map(a=>a.tileID).sort(Qi).map(a=>a.key)}hasRenderableParent(e){const s=this.findLoadedParent(e,0);return!!s&&this._isIdRenderable(s.tileID.key)}_isIdRenderable(e,s){return this._tiles[e]&&this._tiles[e].hasData()&&!this._coveredTiles[e]&&(s||!this._tiles[e].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else{this._cache.reset();for(const e in this._tiles)this._tiles[e].state!=="errored"&&this._reloadTile(e,"reloading")}}_reloadTile(e,s){return h._(this,void 0,void 0,function*(){const a=this._tiles[e];a&&(a.state!=="loading"&&(a.state=s),yield this._loadTile(a,e,s))})}_tileLoaded(e,s,a){e.timeAdded=J.now(),a==="expired"&&(e.refreshedUponExpiration=!0),this._setTileReloadTimer(s,e),this.getSource().type==="raster-dem"&&e.dem&&this._backfillDEM(e),this._state.initializeTileState(e,this.map?this.map.painter:null),e.aborted||this._source.fire(new h.k("data",{dataType:"source",tile:e,coord:e.tileID}))}_backfillDEM(e){const s=this.getRenderableIds();for(let l=0;l1||(Math.abs(v)>1&&(Math.abs(v+I)===1?v+=I:Math.abs(v-I)===1&&(v-=I)),d.dem&&l.dem&&(l.dem.backfillBorder(d.dem,v,w),l.neighboringTiles&&l.neighboringTiles[A]&&(l.neighboringTiles[A].backfilled=!0)))}}getTile(e){return this.getTileByID(e.key)}getTileByID(e){return this._tiles[e]}_retainLoadedChildren(e,s,a,l){for(const d in this._tiles){let v=this._tiles[d];if(l[d]||!v.hasData()||v.tileID.overscaledZ<=s||v.tileID.overscaledZ>a)continue;let w=v.tileID;for(;v&&v.tileID.overscaledZ>s+1;){const A=v.tileID.scaledTo(v.tileID.overscaledZ-1);v=this._tiles[A.key],v&&v.hasData()&&(w=A)}let I=w;for(;I.overscaledZ>s;)if(I=I.scaledTo(I.overscaledZ-1),e[I.key]){l[w.key]=w;break}}}findLoadedParent(e,s){if(e.key in this._loadedParentTiles){const a=this._loadedParentTiles[e.key];return a&&a.tileID.overscaledZ>=s?a:null}for(let a=e.overscaledZ-1;a>=s;a--){const l=e.scaledTo(a),d=this._getLoadedTile(l);if(d)return d}}findLoadedSibling(e){return this._getLoadedTile(e)}_getLoadedTile(e){const s=this._tiles[e.key];return s&&s.hasData()?s:this._cache.getByKey(e.wrapped().key)}updateCacheSize(e){const s=Math.ceil(e.width/this._source.tileSize)+1,a=Math.ceil(e.height/this._source.tileSize)+1,l=Math.floor(s*a*(this._maxTileCacheZoomLevels===null?h.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),d=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,l):l;this._cache.setMaxSize(d)}handleWrapJump(e){const s=Math.round((e-(this._prevLng===void 0?e:this._prevLng))/360);if(this._prevLng=e,s){const a={};for(const l in this._tiles){const d=this._tiles[l];d.tileID=d.tileID.unwrapTo(d.tileID.wrap+s),a[d.tileID.key]=d}this._tiles=a;for(const l in this._timers)clearTimeout(this._timers[l]),delete this._timers[l];for(const l in this._tiles)this._setTileReloadTimer(l,this._tiles[l])}}_updateCoveredAndRetainedTiles(e,s,a,l,d,v){const w={},I={},A=Object.keys(e),C=J.now();for(const M of A){const O=e[M],V=this._tiles[M];if(!V||V.fadeEndTime!==0&&V.fadeEndTime<=C)continue;const H=this.findLoadedParent(O,s),ee=this.findLoadedSibling(O),re=H||ee||null;re&&(this._addTile(re.tileID),w[re.tileID.key]=re.tileID),I[M]=O}this._retainLoadedChildren(I,l,a,e);for(const M in w)e[M]||(this._coveredTiles[M]=!0,e[M]=w[M]);if(v){const M={},O={};for(const V of d)this._tiles[V.key].hasData()?M[V.key]=V:O[V.key]=V;for(const V in O){const H=O[V].children(this._source.maxzoom);this._tiles[H[0].key]&&this._tiles[H[1].key]&&this._tiles[H[2].key]&&this._tiles[H[3].key]&&(M[H[0].key]=e[H[0].key]=H[0],M[H[1].key]=e[H[1].key]=H[1],M[H[2].key]=e[H[2].key]=H[2],M[H[3].key]=e[H[3].key]=H[3],delete O[V])}for(const V in O){const H=O[V],ee=this.findLoadedParent(H,this._source.minzoom),re=this.findLoadedSibling(H),se=ee||re||null;if(se){M[se.tileID.key]=e[se.tileID.key]=se.tileID;for(const ae in M)M[ae].isChildOf(se.tileID)&&delete M[ae]}}for(const V in this._tiles)M[V]||(this._coveredTiles[V]=!0)}}update(e,s){if(!this._sourceLoaded||this._paused)return;let a;this.transform=e,this.terrain=s,this.updateCacheSize(e),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?a=e.getVisibleUnwrappedCoordinates(this._source.tileID).map(C=>new h.S(C.canonical.z,C.wrap,C.canonical.z,C.canonical.x,C.canonical.y)):(a=e.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:s}),this._source.hasTile&&(a=a.filter(C=>this._source.hasTile(C)))):a=[];const l=e.coveringZoomLevel(this._source),d=Math.max(l-pt.maxOverzooming,this._source.minzoom),v=Math.max(l+pt.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const C={};for(const M of a)if(M.canonical.z>this._source.minzoom){const O=M.scaledTo(M.canonical.z-1);C[O.key]=O;const V=M.scaledTo(Math.max(this._source.minzoom,Math.min(M.canonical.z,5)));C[V.key]=V}a=a.concat(Object.values(C))}const w=a.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,w&&this.fire(new h.k("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));const I=this._updateRetainedTiles(a,l);ur(this._source.type)&&this._updateCoveredAndRetainedTiles(I,d,v,l,a,s);for(const C in I)this._tiles[C].clearFadeHold();const A=h.ab(this._tiles,I);for(const C of A){const M=this._tiles[C];M.hasSymbolBuckets&&!M.holdingForFade()?M.setHoldDuration(this.map._fadeDuration):M.hasSymbolBuckets&&!M.symbolFadeFinished()||this._removeTile(C)}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache()}releaseSymbolFadeTiles(){for(const e in this._tiles)this._tiles[e].holdingForFade()&&this._removeTile(e)}_updateRetainedTiles(e,s){var a;const l={},d={},v=Math.max(s-pt.maxOverzooming,this._source.minzoom),w=Math.max(s+pt.maxUnderzooming,this._source.minzoom),I={};for(const A of e){const C=this._addTile(A);l[A.key]=A,C.hasData()||sthis._source.maxzoom){const O=A.children(this._source.maxzoom)[0],V=this.getTile(O);if(V&&V.hasData()){l[O.key]=O;continue}}else{const O=A.children(this._source.maxzoom);if(l[O[0].key]&&l[O[1].key]&&l[O[2].key]&&l[O[3].key])continue}let M=C.wasRequested();for(let O=A.overscaledZ-1;O>=v;--O){const V=A.scaledTo(O);if(d[V.key])break;if(d[V.key]=!0,C=this.getTile(V),!C&&M&&(C=this._addTile(V)),C){const H=C.hasData();if((H||!(!((a=this.map)===null||a===void 0)&&a.cancelPendingTileRequestsWhileZooming)||M)&&(l[V.key]=V),M=C.wasRequested(),H)break}}}return l}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const e in this._tiles){const s=[];let a,l=this._tiles[e].tileID;for(;l.overscaledZ>0;){if(l.key in this._loadedParentTiles){a=this._loadedParentTiles[l.key];break}s.push(l.key);const d=l.scaledTo(l.overscaledZ-1);if(a=this._getLoadedTile(d),a)break;l=d}for(const d of s)this._loadedParentTiles[d]=a}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const e in this._tiles){const s=this._tiles[e].tileID,a=this._getLoadedTile(s);this._loadedSiblingTiles[s.key]=a}}_addTile(e){let s=this._tiles[e.key];if(s)return s;s=this._cache.getAndRemove(e),s&&(this._setTileReloadTimer(e.key,s),s.tileID=e,this._state.initializeTileState(s,this.map?this.map.painter:null),this._cacheTimers[e.key]&&(clearTimeout(this._cacheTimers[e.key]),delete this._cacheTimers[e.key],this._setTileReloadTimer(e.key,s)));const a=s;return s||(s=new ts(e,this._source.tileSize*e.overscaleFactor()),this._loadTile(s,e.key,s.state)),s.uses++,this._tiles[e.key]=s,a||this._source.fire(new h.k("dataloading",{tile:s,coord:s.tileID,dataType:"source"})),s}_setTileReloadTimer(e,s){e in this._timers&&(clearTimeout(this._timers[e]),delete this._timers[e]);const a=s.getExpiryTimeout();a&&(this._timers[e]=setTimeout(()=>{this._reloadTile(e,"expired"),delete this._timers[e]},a))}_removeTile(e){const s=this._tiles[e];s&&(s.uses--,delete this._tiles[e],this._timers[e]&&(clearTimeout(this._timers[e]),delete this._timers[e]),s.uses>0||(s.hasData()&&s.state!=="reloading"?this._cache.add(s.tileID,s,s.getExpiryTimeout()):(s.aborted=!0,this._abortTile(s),this._unloadTile(s))))}_dataHandler(e){const s=e.sourceDataType;e.dataType==="source"&&s==="metadata"&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&e.dataType==="source"&&s==="content"&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const e in this._tiles)this._removeTile(e);this._cache.reset()}tilesIn(e,s,a){const l=[],d=this.transform;if(!d)return l;const v=a?d.getCameraQueryGeometry(e):e,w=e.map(H=>d.pointCoordinate(H,this.terrain)),I=v.map(H=>d.pointCoordinate(H,this.terrain)),A=this.getIds();let C=1/0,M=1/0,O=-1/0,V=-1/0;for(const H of I)C=Math.min(C,H.x),M=Math.min(M,H.y),O=Math.max(O,H.x),V=Math.max(V,H.y);for(let H=0;H=0&&Y[1].y+ae>=0){const ue=w.map(ye=>re.getTilePoint(ye)),pe=I.map(ye=>re.getTilePoint(ye));l.push({tile:ee,tileID:re,queryGeometry:ue,cameraQueryGeometry:pe,scale:se})}}return l}getVisibleCoordinates(e){const s=this.getRenderableIds(e).map(a=>this._tiles[a].tileID);for(const a of s)a.posMatrix=this.transform.calculatePosMatrix(a.toUnwrapped());return s}hasTransition(){if(this._source.hasTransition())return!0;if(ur(this._source.type)){const e=J.now();for(const s in this._tiles)if(this._tiles[s].fadeEndTime>=e)return!0}return!1}setFeatureState(e,s,a){this._state.updateState(e=e||"_geojsonTileLayer",s,a)}removeFeatureState(e,s,a){this._state.removeFeatureState(e=e||"_geojsonTileLayer",s,a)}getFeatureState(e,s){return this._state.getState(e=e||"_geojsonTileLayer",s)}setDependencies(e,s,a){const l=this._tiles[e];l&&l.setDependencies(s,a)}reloadTilesForDependencies(e,s){for(const a in this._tiles)this._tiles[a].hasDependency(e,s)&&this._reloadTile(a,"reloading");this._cache.filter(a=>!a.hasDependency(e,s))}}function Qi(p,e){const s=Math.abs(2*p.wrap)-+(p.wrap<0),a=Math.abs(2*e.wrap)-+(e.wrap<0);return p.overscaledZ-e.overscaledZ||a-s||e.canonical.y-p.canonical.y||e.canonical.x-p.canonical.x}function ur(p){return p==="raster"||p==="image"||p==="video"}pt.maxOverzooming=10,pt.maxUnderzooming=3;class vt{constructor(e,s){this.reset(e,s)}reset(e,s){this.points=e||[],this._distances=[0];for(let a=1;a0?(l-v)/w:0;return this.points[d].mult(1-I).add(this.points[s].mult(I))}}function dr(p,e){let s=!0;return p==="always"||p!=="never"&&e!=="never"||(s=!1),s}class Fr{constructor(e,s,a){const l=this.boxCells=[],d=this.circleCells=[];this.xCellCount=Math.ceil(e/a),this.yCellCount=Math.ceil(s/a);for(let v=0;vthis.width||l<0||s>this.height)return[];const I=[];if(e<=0&&s<=0&&this.width<=a&&this.height<=l){if(d)return[{key:null,x1:e,y1:s,x2:a,y2:l}];for(let A=0;A0}hitTestCircle(e,s,a,l,d){const v=e-a,w=e+a,I=s-a,A=s+a;if(w<0||v>this.width||A<0||I>this.height)return!1;const C=[];return this._forEachCell(v,I,w,A,this._queryCellCircle,C,{hitTest:!0,overlapMode:l,circle:{x:e,y:s,radius:a},seenUids:{box:{},circle:{}}},d),C.length>0}_queryCell(e,s,a,l,d,v,w,I){const{seenUids:A,hitTest:C,overlapMode:M}=w,O=this.boxCells[d];if(O!==null){const H=this.bboxes;for(const ee of O)if(!A.box[ee]){A.box[ee]=!0;const re=4*ee,se=this.boxKeys[ee];if(e<=H[re+2]&&s<=H[re+3]&&a>=H[re+0]&&l>=H[re+1]&&(!I||I(se))&&(!C||!dr(M,se.overlapMode))&&(v.push({key:se,x1:H[re],y1:H[re+1],x2:H[re+2],y2:H[re+3]}),C))return!0}}const V=this.circleCells[d];if(V!==null){const H=this.circles;for(const ee of V)if(!A.circle[ee]){A.circle[ee]=!0;const re=3*ee,se=this.circleKeys[ee];if(this._circleAndRectCollide(H[re],H[re+1],H[re+2],e,s,a,l)&&(!I||I(se))&&(!C||!dr(M,se.overlapMode))){const ae=H[re],Y=H[re+1],ue=H[re+2];if(v.push({key:se,x1:ae-ue,y1:Y-ue,x2:ae+ue,y2:Y+ue}),C)return!0}}}return!1}_queryCellCircle(e,s,a,l,d,v,w,I){const{circle:A,seenUids:C,overlapMode:M}=w,O=this.boxCells[d];if(O!==null){const H=this.bboxes;for(const ee of O)if(!C.box[ee]){C.box[ee]=!0;const re=4*ee,se=this.boxKeys[ee];if(this._circleAndRectCollide(A.x,A.y,A.radius,H[re+0],H[re+1],H[re+2],H[re+3])&&(!I||I(se))&&!dr(M,se.overlapMode))return v.push(!0),!0}}const V=this.circleCells[d];if(V!==null){const H=this.circles;for(const ee of V)if(!C.circle[ee]){C.circle[ee]=!0;const re=3*ee,se=this.circleKeys[ee];if(this._circlesCollide(H[re],H[re+1],H[re+2],A.x,A.y,A.radius)&&(!I||I(se))&&!dr(M,se.overlapMode))return v.push(!0),!0}}}_forEachCell(e,s,a,l,d,v,w,I){const A=this._convertToXCellCoord(e),C=this._convertToYCellCoord(s),M=this._convertToXCellCoord(a),O=this._convertToYCellCoord(l);for(let V=A;V<=M;V++)for(let H=C;H<=O;H++)if(d.call(this,e,s,a,l,this.xCellCount*H+V,v,w,I))return}_convertToXCellCoord(e){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(e*this.xScale)))}_convertToYCellCoord(e){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(e*this.yScale)))}_circlesCollide(e,s,a,l,d,v){const w=l-e,I=d-s,A=a+v;return A*A>w*w+I*I}_circleAndRectCollide(e,s,a,l,d,v,w){const I=(v-l)/2,A=Math.abs(e-(l+I));if(A>I+a)return!1;const C=(w-d)/2,M=Math.abs(s-(d+C));if(M>C+a)return!1;if(A<=I||M<=C)return!0;const O=A-I,V=M-C;return O*O+V*V<=a*a}}function Br(p,e,s,a,l){const d=h.H();return e?(h.K(d,d,[1/l,1/l,1]),s||h.ad(d,d,a.angle)):h.L(d,a.labelPlaneMatrix,p),d}function wr(p,e,s,a,l){if(e){const d=h.ae(p);return h.K(d,d,[l,l,1]),s||h.ad(d,d,-a.angle),d}return a.glCoordMatrix}function te(p,e,s,a){let l;a?(l=[p,e,a(p,e),1],h.af(l,l,s)):(l=[p,e,0,1],qt(l,l,s));const d=l[3];return{point:new h.P(l[0]/d,l[1]/d),signedDistanceFromCamera:d,isOccluded:!1}}function D(p,e){return .5+p/e*.5}function L(p,e){return p.x>=-e[0]&&p.x<=e[0]&&p.y>=-e[1]&&p.y<=e[1]}function j(p,e,s,a,l,d,v,w,I,A,C,M,O,V,H){const ee=a?p.textSizeData:p.iconSizeData,re=h.ag(ee,s.transform.zoom),se=[256/s.width*2+1,256/s.height*2+1],ae=a?p.text.dynamicLayoutVertexArray:p.icon.dynamicLayoutVertexArray;ae.clear();const Y=p.lineVertexArray,ue=a?p.text.placedSymbolArray:p.icon.placedSymbolArray,pe=s.transform.width/s.transform.height;let ye=!1;for(let Ce=0;CeMath.abs(s.x-e.x)*a?{useVertical:!0}:(p===h.ah.vertical?e.ys.x)?{needsFlipping:!0}:null}function he(p,e,s,a,l,d,v,w,I,A,C){const M=s/24,O=e.lineOffsetX*M,V=e.lineOffsetY*M;let H;if(e.numGlyphs>1){const ee=e.glyphStartIndex+e.numGlyphs,re=e.lineStartIndex,se=e.lineStartIndex+e.lineLength,ae=K(M,w,O,V,a,e,C,p);if(!ae)return{notEnoughRoom:!0};const Y=te(ae.first.point.x,ae.first.point.y,v,p.getElevation).point,ue=te(ae.last.point.x,ae.last.point.y,v,p.getElevation).point;if(l&&!a){const pe=le(e.writingMode,Y,ue,A);if(pe)return pe}H=[ae.first];for(let pe=e.glyphStartIndex+1;pe0?Y.point:function(ye,Ce,Re,qe,Je,Ne){return fe(ye,Ce,Re,1,Je,Ne)}(p.tileAnchorPoint,ae,re,0,d,p),pe=le(e.writingMode,re,ue,A);if(pe)return pe}const ee=Fe(M*w.getoffsetX(e.glyphStartIndex),O,V,a,e.segment,e.lineStartIndex,e.lineStartIndex+e.lineLength,p,C);if(!ee||p.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};H=[ee]}for(const ee of H)h.aj(I,ee.point,ee.angle);return{}}function fe(p,e,s,a,l,d){const v=p.add(p.sub(e)._unit()),w=l!==void 0?te(v.x,v.y,l,d.getElevation).point:we(v.x,v.y,d).point,I=s.sub(w);return s.add(I._mult(a/I.mag()))}function oe(p,e,s){const a=e.projectionCache;if(a.projections[p])return a.projections[p];const l=new h.P(e.lineVertexArray.getx(p),e.lineVertexArray.gety(p)),d=we(l.x,l.y,e);if(d.signedDistanceFromCamera>0)return a.projections[p]=d.point,a.anyProjectionOccluded=a.anyProjectionOccluded||d.isOccluded,d.point;const v=p-s.direction;return function(w,I,A,C,M){return fe(w,I,A,C,void 0,M)}(s.distanceFromAnchor===0?e.tileAnchorPoint:new h.P(e.lineVertexArray.getx(v),e.lineVertexArray.gety(v)),l,s.previousVertex,s.absOffsetX-s.distanceFromAnchor+1,e)}function we(p,e,s){const a=p+s.translation[0],l=e+s.translation[1];let d;return!s.pitchWithMap&&s.projection.useSpecialProjectionForSymbols?(d=s.projection.projectTileCoordinates(a,l,s.unwrappedTileID,s.getElevation),d.point.x=(.5*d.point.x+.5)*s.width,d.point.y=(.5*-d.point.y+.5)*s.height):(d=te(a,l,s.labelPlaneMatrix,s.getElevation),d.isOccluded=!1),d}function Pe(p,e,s){return p._unit()._perp()._mult(e*s)}function xe(p,e,s,a,l,d,v,w,I){if(w.projectionCache.offsets[p])return w.projectionCache.offsets[p];const A=s.add(e);if(p+I.direction=l)return w.projectionCache.offsets[p]=A,A;const C=oe(p+I.direction,w,I),M=Pe(C.sub(s),v,I.direction),O=s.add(M),V=C.add(M);return w.projectionCache.offsets[p]=h.ak(d,A,O,V)||A,w.projectionCache.offsets[p]}function Fe(p,e,s,a,l,d,v,w,I){const A=a?p-e:p+e;let C=A>0?1:-1,M=0;a&&(C*=-1,M=Math.PI),C<0&&(M+=Math.PI);let O,V=C>0?d+l:d+l+1;w.projectionCache.cachedAnchorPoint?O=w.projectionCache.cachedAnchorPoint:(O=we(w.tileAnchorPoint.x,w.tileAnchorPoint.y,w).point,w.projectionCache.cachedAnchorPoint=O);let H,ee,re=O,se=O,ae=0,Y=0;const ue=Math.abs(A),pe=[];let ye;for(;ae+Y<=ue;){if(V+=C,V=v)return null;ae+=Y,se=re,ee=H;const qe={absOffsetX:ue,direction:C,distanceFromAnchor:ae,previousVertex:se};if(re=oe(V,w,qe),s===0)pe.push(se),ye=re.sub(se);else{let Je;const Ne=re.sub(se);Je=Ne.mag()===0?Pe(oe(V+C,w,qe).sub(re),s,C):Pe(Ne,s,C),ee||(ee=se.add(Je)),H=xe(V,Je,re,d,v,ee,s,w,qe),pe.push(ee),ye=H.sub(ee)}Y=ye.mag()}const Ce=ye._mult((ue-ae)/Y)._add(ee||se),Re=M+Math.atan2(re.y-se.y,re.x-se.x);return pe.push(Ce),{point:Ce,angle:I?Re:0,path:pe}}const ot=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function ut(p,e){for(let s=0;s=1;Pt--)Ze.push(It.path[Pt]);for(let Pt=1;Pt$t.signedDistanceFromCamera<=0)?[]:Pt.map($t=>$t.point)}let yi=[];if(Ze.length>0){const Pt=Ze[0].clone(),$t=Ze[0].clone();for(let xi=1;xi=Ne.x&&$t.x<=Be.x&&Pt.y>=Ne.y&&$t.y<=Be.y?[Ze]:$t.xBe.x||$t.yBe.y?[]:h.al([Ze],Ne.x,Ne.y,Be.x,Be.y)}for(const Pt of yi){rt.reset(Pt,.25*Je);let $t=0;$t=rt.length<=.5*Je?1:Math.ceil(rt.paddedLength/bt)+1;for(let xi=0;xi<$t;xi++){const rr=xi/Math.max($t-1,1),ls=rt.lerp(rr),vi=ls.x+gt,Er=ls.y+gt;se.push(vi,Er,Je,0);const fr=vi-Je,mr=Er-Je,_r=vi+Je,Es=Er+Je;if(qe=qe&&this.isOffscreen(fr,mr,_r,Es),Re=Re||this.isInsideGrid(fr,mr,_r,Es),e!=="always"&&this.grid.hitTestCircle(vi,Er,Je,e,O)&&(Ce=!0,!C))return{circles:[],offscreen:!1,collisionDetected:Ce}}}}return{circles:!C&&Ce||!Re||Yte(l.x,l.y,a,s.getElevation))}queryRenderedSymbols(e){if(e.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};const s=[];let a=1/0,l=1/0,d=-1/0,v=-1/0;for(const C of e){const M=new h.P(C.x+gt,C.y+gt);a=Math.min(a,M.x),l=Math.min(l,M.y),d=Math.max(d,M.x),v=Math.max(v,M.y),s.push(M)}const w=this.grid.query(a,l,d,v).concat(this.ignoredGrid.query(a,l,d,v)),I={},A={};for(const C of w){const M=C.key;if(I[M.bucketInstanceId]===void 0&&(I[M.bucketInstanceId]={}),I[M.bucketInstanceId][M.featureIndex])continue;const O=[new h.P(C.x1,C.y1),new h.P(C.x2,C.y1),new h.P(C.x2,C.y2),new h.P(C.x1,C.y2)];h.am(s,O)&&(I[M.bucketInstanceId][M.featureIndex]=!0,A[M.bucketInstanceId]===void 0&&(A[M.bucketInstanceId]=[]),A[M.bucketInstanceId].push(M.featureIndex))}return A}insertCollisionBox(e,s,a,l,d,v){(a?this.ignoredGrid:this.grid).insert({bucketInstanceId:l,featureIndex:d,collisionGroupID:v,overlapMode:s},e[0],e[1],e[2],e[3])}insertCollisionCircles(e,s,a,l,d,v){const w=a?this.ignoredGrid:this.grid,I={bucketInstanceId:l,featureIndex:d,collisionGroupID:v,overlapMode:s};for(let A=0;A=this.screenRightBoundary||lthis.screenBottomBoundary}isInsideGrid(e,s,a,l){return a>=0&&e=0&&sthis.projectAndGetPerspectiveRatio(a,Je.x,Je.y,l,A));Re=qe.some(Je=>!Je.isOccluded),Ce=qe.map(Je=>Je.point)}else Re=!0;return{box:h.ao(Ce),allPointsOccluded:!Re}}}function Et(p,e,s){return e*(h.X/(p.tileSize*Math.pow(2,s-p.tileID.overscaledZ)))}class Ii{constructor(e,s,a,l){this.opacity=e?Math.max(0,Math.min(1,e.opacity+(e.placed?s:-s))):l&&a?1:0,this.placed=a}isHidden(){return this.opacity===0&&!this.placed}}class fi{constructor(e,s,a,l,d){this.text=new Ii(e?e.text:null,s,a,d),this.icon=new Ii(e?e.icon:null,s,l,d)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class At{constructor(e,s,a){this.text=e,this.icon=s,this.skipFade=a}}class Xt{constructor(){this.invProjMatrix=h.H(),this.viewportMatrix=h.H(),this.circles=[]}}class jt{constructor(e,s,a,l,d){this.bucketInstanceId=e,this.featureIndex=s,this.sourceLayerIndex=a,this.bucketIndex=l,this.tileID=d}}class Ri{constructor(e){this.crossSourceCollisions=e,this.maxGroupID=0,this.collisionGroups={}}get(e){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[e]){const s=++this.maxGroupID;this.collisionGroups[e]={ID:s,predicate:a=>a.collisionGroupID===s}}return this.collisionGroups[e]}}function B(p,e,s,a,l){const{horizontalAlign:d,verticalAlign:v}=h.au(p);return new h.P(-(d-.5)*e+a[0]*l,-(v-.5)*s+a[1]*l)}class W{constructor(e,s,a,l,d,v){this.transform=e.clone(),this.terrain=a,this.collisionIndex=new zt(this.transform,s),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=l,this.retainedQueryData={},this.collisionGroups=new Ri(d),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=v,v&&(v.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(e){const s=this.terrain;return s?(a,l)=>s.getElevation(e,a,l):null}getBucketParts(e,s,a,l){const d=a.getBucket(s),v=a.latestFeatureIndex;if(!d||!v||s.id!==d.layerIds[0])return;const w=a.collisionBoxArray,I=d.layers[0].layout,A=d.layers[0].paint,C=Math.pow(2,this.transform.zoom-a.tileID.overscaledZ),M=a.tileSize/h.X,O=a.tileID.toUnwrapped(),V=this.transform.calculatePosMatrix(O),H=I.get("text-pitch-alignment")==="map",ee=I.get("text-rotation-alignment")==="map",re=Et(a,1,this.transform.zoom),se=this.collisionIndex.mapProjection.translatePosition(this.transform,a,A.get("text-translate"),A.get("text-translate-anchor")),ae=this.collisionIndex.mapProjection.translatePosition(this.transform,a,A.get("icon-translate"),A.get("icon-translate-anchor")),Y=Br(V,H,ee,this.transform,re);let ue=null;if(H){const ye=wr(V,H,ee,this.transform,re);ue=h.L([],this.transform.labelPlaneMatrix,ye)}this.retainedQueryData[d.bucketInstanceId]=new jt(d.bucketInstanceId,v,d.sourceLayerIndex,d.index,a.tileID);const pe={bucket:d,layout:I,translationText:se,translationIcon:ae,posMatrix:V,unwrappedTileID:O,textLabelPlaneMatrix:Y,labelToScreenMatrix:ue,scale:C,textPixelRatio:M,holdingForFade:a.holdingForFade(),collisionBoxArray:w,partiallyEvaluatedTextSize:h.ag(d.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(d.sourceID)};if(l)for(const ye of d.sortKeyRanges){const{sortKey:Ce,symbolInstanceStart:Re,symbolInstanceEnd:qe}=ye;e.push({sortKey:Ce,symbolInstanceStart:Re,symbolInstanceEnd:qe,parameters:pe})}else e.push({symbolInstanceStart:0,symbolInstanceEnd:d.symbolInstances.length,parameters:pe})}attemptAnchorPlacement(e,s,a,l,d,v,w,I,A,C,M,O,V,H,ee,re,se,ae,Y){const ue=h.aq[e.textAnchor],pe=[e.textOffset0,e.textOffset1],ye=B(ue,a,l,pe,d),Ce=this.collisionIndex.placeCollisionBox(s,O,I,A,C,w,v,re,M.predicate,Y,ye);if((!ae||this.collisionIndex.placeCollisionBox(ae,O,I,A,C,w,v,se,M.predicate,Y,ye).placeable)&&Ce.placeable){let Re;if(this.prevPlacement&&this.prevPlacement.variableOffsets[V.crossTileID]&&this.prevPlacement.placements[V.crossTileID]&&this.prevPlacement.placements[V.crossTileID].text&&(Re=this.prevPlacement.variableOffsets[V.crossTileID].anchor),V.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[V.crossTileID]={textOffset:pe,width:a,height:l,anchor:ue,textBoxScale:d,prevAnchor:Re},this.markUsedJustification(H,ue,V,ee),H.allowVerticalPlacement&&(this.markUsedOrientation(H,ee,V),this.placedOrientations[V.crossTileID]=ee),{shift:ye,placedGlyphBoxes:Ce}}}placeLayerBucketPart(e,s,a){const{bucket:l,layout:d,translationText:v,translationIcon:w,posMatrix:I,unwrappedTileID:A,textLabelPlaneMatrix:C,labelToScreenMatrix:M,textPixelRatio:O,holdingForFade:V,collisionBoxArray:H,partiallyEvaluatedTextSize:ee,collisionGroup:re}=e.parameters,se=d.get("text-optional"),ae=d.get("icon-optional"),Y=h.ar(d,"text-overlap","text-allow-overlap"),ue=Y==="always",pe=h.ar(d,"icon-overlap","icon-allow-overlap"),ye=pe==="always",Ce=d.get("text-rotation-alignment")==="map",Re=d.get("text-pitch-alignment")==="map",qe=d.get("icon-text-fit")!=="none",Je=d.get("symbol-z-order")==="viewport-y",Ne=ue&&(ye||!l.hasIconData()||ae),Be=ye&&(ue||!l.hasTextData()||se);!l.collisionArrays&&H&&l.deserializeCollisionBoxes(H);const rt=this._getTerrainElevationFunc(this.retainedQueryData[l.bucketInstanceId].tileID),It=(Ue,Ze,bt)=>{var yi,Pt;if(s[Ue.crossTileID])return;if(V)return void(this.placements[Ue.crossTileID]=new At(!1,!1,!1));let $t=!1,xi=!1,rr=!0,ls=null,vi={box:null,placeable:!1,offscreen:null},Er={box:null,placeable:!1,offscreen:null},fr=null,mr=null,_r=null,Es=0,Zn=0,wa=0;Ze.textFeatureIndex?Es=Ze.textFeatureIndex:Ue.useRuntimeCollisionCircles&&(Es=Ue.featureIndex),Ze.verticalTextFeatureIndex&&(Zn=Ze.verticalTextFeatureIndex);const cs=Ze.textBox;if(cs){const jr=gr=>{let sr=h.ah.horizontal;if(l.allowVerticalPlacement&&!gr&&this.prevPlacement){const ai=this.prevPlacement.placedOrientations[Ue.crossTileID];ai&&(this.placedOrientations[Ue.crossTileID]=ai,sr=ai,this.markUsedOrientation(l,sr,Ue))}return sr},hs=(gr,sr)=>{if(l.allowVerticalPlacement&&Ue.numVerticalGlyphVertices>0&&Ze.verticalTextBox){for(const ai of l.writingModes)if(ai===h.ah.vertical?(vi=sr(),Er=vi):vi=gr(),vi&&vi.placeable)break}else vi=gr()},Nr=Ue.textAnchorOffsetStartIndex,Ks=Ue.textAnchorOffsetEndIndex;if(Ks===Nr){const gr=(sr,ai)=>{const Ei=this.collisionIndex.placeCollisionBox(sr,Y,O,I,A,Re,Ce,v,re.predicate,rt);return Ei&&Ei.placeable&&(this.markUsedOrientation(l,ai,Ue),this.placedOrientations[Ue.crossTileID]=ai),Ei};hs(()=>gr(cs,h.ah.horizontal),()=>{const sr=Ze.verticalTextBox;return l.allowVerticalPlacement&&Ue.numVerticalGlyphVertices>0&&sr?gr(sr,h.ah.vertical):{box:null,offscreen:null}}),jr(vi&&vi.placeable)}else{let gr=h.aq[(Pt=(yi=this.prevPlacement)===null||yi===void 0?void 0:yi.variableOffsets[Ue.crossTileID])===null||Pt===void 0?void 0:Pt.anchor];const sr=(Ei,Ls,Wn)=>{const Ia=Ei.x2-Ei.x1,pu=Ei.y2-Ei.y1,Jc=Ue.textBoxScale,Kc=qe&&pe==="never"?Ls:null;let Tn=null,Ta=Y==="never"?1:2,zo="never";gr&&Ta++;for(let Ml=0;Mlsr(cs,Ze.iconBox,h.ah.horizontal),()=>{const Ei=Ze.verticalTextBox;return l.allowVerticalPlacement&&(!vi||!vi.placeable)&&Ue.numVerticalGlyphVertices>0&&Ei?sr(Ei,Ze.verticalIconBox,h.ah.vertical):{box:null,occluded:!0,offscreen:null}}),vi&&($t=vi.placeable,rr=vi.offscreen);const ai=jr(vi&&vi.placeable);if(!$t&&this.prevPlacement){const Ei=this.prevPlacement.variableOffsets[Ue.crossTileID];Ei&&(this.variableOffsets[Ue.crossTileID]=Ei,this.markUsedJustification(l,Ei.anchor,Ue,ai))}}}if(fr=vi,$t=fr&&fr.placeable,rr=fr&&fr.offscreen,Ue.useRuntimeCollisionCircles){const jr=l.text.placedSymbolArray.get(Ue.centerJustifiedTextSymbolIndex),hs=h.ai(l.textSizeData,ee,jr),Nr=d.get("text-padding");mr=this.collisionIndex.placeCollisionCircles(Y,jr,l.lineVertexArray,l.glyphOffsetArray,hs,I,A,C,M,a,Re,re.predicate,Ue.collisionCircleDiameter,Nr,v,rt),mr.circles.length&&mr.collisionDetected&&!a&&h.w("Collisions detected, but collision boxes are not shown"),$t=ue||mr.circles.length>0&&!mr.collisionDetected,rr=rr&&mr.offscreen}if(Ze.iconFeatureIndex&&(wa=Ze.iconFeatureIndex),Ze.iconBox){const jr=hs=>this.collisionIndex.placeCollisionBox(hs,pe,O,I,A,Re,Ce,w,re.predicate,rt,qe&&ls?ls:void 0);Er&&Er.placeable&&Ze.verticalIconBox?(_r=jr(Ze.verticalIconBox),xi=_r.placeable):(_r=jr(Ze.iconBox),xi=_r.placeable),rr=rr&&_r.offscreen}const In=se||Ue.numHorizontalGlyphVertices===0&&Ue.numVerticalGlyphVertices===0,Sa=ae||Ue.numIconVertices===0;In||Sa?Sa?In||(xi=xi&&$t):$t=xi&&$t:xi=$t=xi&&$t;const Cl=xi&&_r.placeable;if($t&&fr.placeable&&this.collisionIndex.insertCollisionBox(fr.box,Y,d.get("text-ignore-placement"),l.bucketInstanceId,Er&&Er.placeable&&Zn?Zn:Es,re.ID),Cl&&this.collisionIndex.insertCollisionBox(_r.box,pe,d.get("icon-ignore-placement"),l.bucketInstanceId,wa,re.ID),mr&&$t&&this.collisionIndex.insertCollisionCircles(mr.circles,Y,d.get("text-ignore-placement"),l.bucketInstanceId,Es,re.ID),a&&this.storeCollisionData(l.bucketInstanceId,bt,Ze,fr,_r,mr),Ue.crossTileID===0)throw new Error("symbolInstance.crossTileID can't be 0");if(l.bucketInstanceId===0)throw new Error("bucket.bucketInstanceId can't be 0");this.placements[Ue.crossTileID]=new At($t||Ne,xi||Be,rr||l.justReloaded),s[Ue.crossTileID]=!0};if(Je){if(e.symbolInstanceStart!==0)throw new Error("bucket.bucketInstanceId should be 0");const Ue=l.getSortedSymbolIndexes(this.transform.angle);for(let Ze=Ue.length-1;Ze>=0;--Ze){const bt=Ue[Ze];It(l.symbolInstances.get(bt),l.collisionArrays[bt],bt)}}else for(let Ue=e.symbolInstanceStart;Ue=0&&(e.text.placedSymbolArray.get(w).crossTileID=d>=0&&w!==d?0:a.crossTileID)}markUsedOrientation(e,s,a){const l=s===h.ah.horizontal||s===h.ah.horizontalOnly?s:0,d=s===h.ah.vertical?s:0,v=[a.leftJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.rightJustifiedTextSymbolIndex];for(const w of v)e.text.placedSymbolArray.get(w).placedOrientation=l;a.verticalPlacedTextSymbolIndex&&(e.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).placedOrientation=d)}commit(e){this.commitTime=e,this.zoomAtLastRecencyCheck=this.transform.zoom;const s=this.prevPlacement;let a=!1;this.prevZoomAdjustment=s?s.zoomAdjustment(this.transform.zoom):0;const l=s?s.symbolFadeChange(e):1,d=s?s.opacities:{},v=s?s.variableOffsets:{},w=s?s.placedOrientations:{};for(const I in this.placements){const A=this.placements[I],C=d[I];C?(this.opacities[I]=new fi(C,l,A.text,A.icon),a=a||A.text!==C.text.placed||A.icon!==C.icon.placed):(this.opacities[I]=new fi(null,l,A.text,A.icon,A.skipFade),a=a||A.text||A.icon)}for(const I in d){const A=d[I];if(!this.opacities[I]){const C=new fi(A,l,!1,!1);C.isHidden()||(this.opacities[I]=C,a=a||A.text.placed||A.icon.placed)}}for(const I in v)this.variableOffsets[I]||!this.opacities[I]||this.opacities[I].isHidden()||(this.variableOffsets[I]=v[I]);for(const I in w)this.placedOrientations[I]||!this.opacities[I]||this.opacities[I].isHidden()||(this.placedOrientations[I]=w[I]);if(s&&s.lastPlacementChangeTime===void 0)throw new Error("Last placement time for previous placement is not defined");a?this.lastPlacementChangeTime=e:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=s?s.lastPlacementChangeTime:e)}updateLayerOpacities(e,s){const a={};for(const l of s){const d=l.getBucket(e);d&&l.latestFeatureIndex&&e.id===d.layerIds[0]&&this.updateBucketOpacities(d,l.tileID,a,l.collisionBoxArray)}}updateBucketOpacities(e,s,a,l){e.hasTextData()&&(e.text.opacityVertexArray.clear(),e.text.hasVisibleVertices=!1),e.hasIconData()&&(e.icon.opacityVertexArray.clear(),e.icon.hasVisibleVertices=!1),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexArray.clear(),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexArray.clear();const d=e.layers[0],v=d.layout,w=new fi(null,0,!1,!1,!0),I=v.get("text-allow-overlap"),A=v.get("icon-allow-overlap"),C=d._unevaluatedLayout.hasValue("text-variable-anchor")||d._unevaluatedLayout.hasValue("text-variable-anchor-offset"),M=v.get("text-rotation-alignment")==="map",O=v.get("text-pitch-alignment")==="map",V=v.get("icon-text-fit")!=="none",H=new fi(null,0,I&&(A||!e.hasIconData()||v.get("icon-optional")),A&&(I||!e.hasTextData()||v.get("text-optional")),!0);!e.collisionArrays&&l&&(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData())&&e.deserializeCollisionBoxes(l);const ee=(se,ae,Y)=>{for(let ue=0;ue0,Re=this.placedOrientations[ae.crossTileID],qe=Re===h.ah.vertical,Je=Re===h.ah.horizontal||Re===h.ah.horizontalOnly;if(Y>0||ue>0){const Be=Ke(ye.text);ee(e.text,Y,qe?Rt:Be),ee(e.text,ue,Je?Rt:Be);const rt=ye.text.isHidden();[ae.rightJustifiedTextSymbolIndex,ae.centerJustifiedTextSymbolIndex,ae.leftJustifiedTextSymbolIndex].forEach(Ze=>{Ze>=0&&(e.text.placedSymbolArray.get(Ze).hidden=rt||qe?1:0)}),ae.verticalPlacedTextSymbolIndex>=0&&(e.text.placedSymbolArray.get(ae.verticalPlacedTextSymbolIndex).hidden=rt||Je?1:0);const It=this.variableOffsets[ae.crossTileID];It&&this.markUsedJustification(e,It.anchor,ae,Re);const Ue=this.placedOrientations[ae.crossTileID];Ue&&(this.markUsedJustification(e,"left",ae,Ue),this.markUsedOrientation(e,Ue,ae))}if(Ce){const Be=Ke(ye.icon),rt=!(V&&ae.verticalPlacedIconSymbolIndex&&qe);ae.placedIconSymbolIndex>=0&&(ee(e.icon,ae.numIconVertices,rt?Be:Rt),e.icon.placedSymbolArray.get(ae.placedIconSymbolIndex).hidden=ye.icon.isHidden()),ae.verticalPlacedIconSymbolIndex>=0&&(ee(e.icon,ae.numVerticalIconVertices,rt?Rt:Be),e.icon.placedSymbolArray.get(ae.verticalPlacedIconSymbolIndex).hidden=ye.icon.isHidden())}const Ne=re&&re.has(se)?re.get(se):{text:null,icon:null};if(e.hasIconCollisionBoxData()||e.hasTextCollisionBoxData()){const Be=e.collisionArrays[se];if(Be){let rt=new h.P(0,0);if(Be.textBox||Be.verticalTextBox){let It=!0;if(C){const Ue=this.variableOffsets[pe];Ue?(rt=B(Ue.anchor,Ue.width,Ue.height,Ue.textOffset,Ue.textBoxScale),M&&rt._rotate(O?this.transform.angle:-this.transform.angle)):It=!1}if(Be.textBox||Be.verticalTextBox){let Ue;Be.textBox&&(Ue=qe),Be.verticalTextBox&&(Ue=Je),Z(e.textCollisionBox.collisionVertexArray,ye.text.placed,!It||Ue,Ne.text,rt.x,rt.y)}}if(Be.iconBox||Be.verticalIconBox){const It=!!(!Je&&Be.verticalIconBox);let Ue;Be.iconBox&&(Ue=It),Be.verticalIconBox&&(Ue=!It),Z(e.iconCollisionBox.collisionVertexArray,ye.icon.placed,Ue,Ne.icon,V?rt.x:0,V?rt.y:0)}}}}if(e.sortFeatures(this.transform.angle),this.retainedQueryData[e.bucketInstanceId]&&(this.retainedQueryData[e.bucketInstanceId].featureSortOrder=e.featureSortOrder),e.hasTextData()&&e.text.opacityVertexBuffer&&e.text.opacityVertexBuffer.updateData(e.text.opacityVertexArray),e.hasIconData()&&e.icon.opacityVertexBuffer&&e.icon.opacityVertexBuffer.updateData(e.icon.opacityVertexArray),e.hasIconCollisionBoxData()&&e.iconCollisionBox.collisionVertexBuffer&&e.iconCollisionBox.collisionVertexBuffer.updateData(e.iconCollisionBox.collisionVertexArray),e.hasTextCollisionBoxData()&&e.textCollisionBox.collisionVertexBuffer&&e.textCollisionBox.collisionVertexBuffer.updateData(e.textCollisionBox.collisionVertexArray),e.text.opacityVertexArray.length!==e.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${e.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${e.text.layoutVertexArray.length}) / 4`);if(e.icon.opacityVertexArray.length!==e.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${e.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${e.icon.layoutVertexArray.length}) / 4`);if(e.bucketInstanceId in this.collisionCircleArrays){const se=this.collisionCircleArrays[e.bucketInstanceId];e.placementInvProjMatrix=se.invProjMatrix,e.placementViewportMatrix=se.viewportMatrix,e.collisionCircleArray=se.circles,delete this.collisionCircleArrays[e.bucketInstanceId]}}symbolFadeChange(e){return this.fadeDuration===0?1:(e-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(e){return Math.max(0,(this.transform.zoom-e)/1.5)}hasTransitions(e){return this.stale||e-this.lastPlacementChangeTimee}setStale(){this.stale=!0}}function Z(p,e,s,a,l,d){a&&a.length!==0||(a=[0,0,0,0]);const v=a[0]-gt,w=a[1]-gt,I=a[2]-gt,A=a[3]-gt;p.emplaceBack(e?1:0,s?1:0,l||0,d||0,v,w),p.emplaceBack(e?1:0,s?1:0,l||0,d||0,I,w),p.emplaceBack(e?1:0,s?1:0,l||0,d||0,I,A),p.emplaceBack(e?1:0,s?1:0,l||0,d||0,v,A)}const X=Math.pow(2,25),de=Math.pow(2,24),ge=Math.pow(2,17),Ae=Math.pow(2,16),Me=Math.pow(2,9),Ie=Math.pow(2,8),Te=Math.pow(2,1);function Ke(p){if(p.opacity===0&&!p.placed)return 0;if(p.opacity===1&&p.placed)return 4294967295;const e=p.placed?1:0,s=Math.floor(127*p.opacity);return s*X+e*de+s*ge+e*Ae+s*Me+e*Ie+s*Te+e}const Rt=0;function Qt(){return{isOccluded:(p,e,s)=>!1,getPitchedTextCorrection:(p,e,s)=>1,get useSpecialProjectionForSymbols(){return!1},projectTileCoordinates(p,e,s,a){throw new Error("Not implemented.")},translatePosition:(p,e,s,a)=>function(l,d,v,w,I=!1){if(!v[0]&&!v[1])return[0,0];const A=I?w==="map"?l.angle:0:w==="viewport"?-l.angle:0;if(A){const C=Math.sin(A),M=Math.cos(A);v=[v[0]*M-v[1]*C,v[0]*C+v[1]*M]}return[I?v[0]:Et(d,v[0],l.zoom),I?v[1]:Et(d,v[1],l.zoom)]}(p,e,s,a),getCircleRadiusCorrection:p=>1}}class Jt{constructor(e){this._sortAcrossTiles=e.layout.get("symbol-z-order")!=="viewport-y"&&!e.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(e,s,a,l,d){const v=this._bucketParts;for(;this._currentTileIndexw.sortKey-I.sortKey));this._currentPartIndex!this._forceFullPlacement&&J.now()-l>2;for(;this._currentPlacementIndex>=0;){const v=s[e[this._currentPlacementIndex]],w=this.placement.collisionIndex.transform.zoom;if(v.type==="symbol"&&(!v.minzoom||v.minzoom<=w)&&(!v.maxzoom||v.maxzoom>w)){if(this._inProgressLayer||(this._inProgressLayer=new Jt(v)),this._inProgressLayer.continuePlacement(a[v.source],this.placement,this._showCollisionBoxes,v,d))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(e){return this.placement.commit(e),this.placement}}const is=512/h.X/2;class Oi{constructor(e,s,a){this.tileID=e,this.bucketInstanceId=a,this._symbolsByKey={};const l=new Map;for(let d=0;d({x:Math.floor(I.anchorX*is),y:Math.floor(I.anchorY*is)})),crossTileIDs:v.map(I=>I.crossTileID)};if(w.positions.length>128){const I=new h.av(w.positions.length,16,Uint16Array);for(const{x:A,y:C}of w.positions)I.add(A,C);I.finish(),delete w.positions,w.index=I}this._symbolsByKey[d]=w}}getScaledCoordinates(e,s){const{x:a,y:l,z:d}=this.tileID.canonical,{x:v,y:w,z:I}=s.canonical,A=is/Math.pow(2,I-d),C=(w*h.X+e.anchorY)*A,M=l*h.X*is;return{x:Math.floor((v*h.X+e.anchorX)*A-a*h.X*is),y:Math.floor(C-M)}}findMatches(e,s,a){const l=this.tileID.canonical.ze)}}class Wo{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class rs{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(e){const s=Math.round((e-this.lng)/360);if(s!==0)for(const a in this.indexes){const l=this.indexes[a],d={};for(const v in l){const w=l[v];w.tileID=w.tileID.unwrapTo(w.tileID.wrap+s),d[w.tileID.key]=w}this.indexes[a]=d}this.lng=e}addBucket(e,s,a){if(this.indexes[e.overscaledZ]&&this.indexes[e.overscaledZ][e.key]){if(this.indexes[e.overscaledZ][e.key].bucketInstanceId===s.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(e.overscaledZ,this.indexes[e.overscaledZ][e.key])}for(let d=0;de.overscaledZ)for(const w in v){const I=v[w];I.tileID.isChildOf(e)&&I.findMatches(s.symbolInstances,e,l)}else{const w=v[e.scaledTo(Number(d)).key];w&&w.findMatches(s.symbolInstances,e,l)}}for(let d=0;d{s[a]=!0});for(const a in this.layerIndexes)s[a]||delete this.layerIndexes[a]}}const ss=(p,e)=>h.t(p,e&&e.filter(s=>s.identifier!=="source.canvas")),$h=h.aw();class Xo extends h.E{constructor(e,s={}){super(),this._rtlPluginLoaded=()=>{for(const a in this.sourceCaches){const l=this.sourceCaches[a].getSource().type;l!=="vector"&&l!=="geojson"||this.sourceCaches[a].reload()}},this.map=e,this.dispatcher=new $i(Mt(),e._getMapId()),this.dispatcher.registerMessageHandler("GG",(a,l)=>this.getGlyphs(a,l)),this.dispatcher.registerMessageHandler("GI",(a,l)=>this.getImages(a,l)),this.imageManager=new pi,this.imageManager.setEventedParent(this),this.glyphManager=new oi(e._requestManager,s.localIdeographFontFamily),this.lineAtlas=new Dr(256,512),this.crossTileSymbolIndex=new Ja,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new h.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast("SR",h.ay()),Wr().on(Oe,this._rtlPluginLoaded),this.on("data",a=>{if(a.dataType!=="source"||a.sourceDataType!=="metadata")return;const l=this.sourceCaches[a.sourceId];if(!l)return;const d=l.getSource();if(d&&d.vectorLayerIds)for(const v in this._layers){const w=this._layers[v];w.source===d.id&&this._validateLayer(w)}})}loadURL(e,s={},a){this.fire(new h.k("dataloading",{dataType:"style"})),s.validate=typeof s.validate!="boolean"||s.validate;const l=this.map._requestManager.transformRequest(e,"Style");this._loadStyleRequest=new AbortController;const d=this._loadStyleRequest;h.h(l,this._loadStyleRequest).then(v=>{this._loadStyleRequest=null,this._load(v.data,s,a)}).catch(v=>{this._loadStyleRequest=null,v&&!d.signal.aborted&&this.fire(new h.j(v))})}loadJSON(e,s={},a){this.fire(new h.k("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,J.frameAsync(this._frameRequest).then(()=>{this._frameRequest=null,s.validate=s.validate!==!1,this._load(e,s,a)}).catch(()=>{})}loadEmpty(){this.fire(new h.k("dataloading",{dataType:"style"})),this._load($h,{validate:!1})}_load(e,s,a){var l;const d=s.transformStyle?s.transformStyle(a,e):e;if(!s.validate||!ss(this,h.u(d))){this._loaded=!0,this.stylesheet=d;for(const v in d.sources)this.addSource(v,d.sources[v],{validate:!1});d.sprite?this._loadSprite(d.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(d.glyphs),this._createLayers(),this.light=new si(this.stylesheet.light),this.sky=new Zi(this.stylesheet.sky),this.map.setTerrain((l=this.stylesheet.terrain)!==null&&l!==void 0?l:null),this.fire(new h.k("data",{dataType:"style"})),this.fire(new h.k("style.load"))}}_createLayers(){const e=h.az(this.stylesheet.layers);this.dispatcher.broadcast("SL",e),this._order=e.map(s=>s.id),this._layers={},this._serializedLayers=null;for(const s of e){const a=h.aA(s);a.setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=a}}_loadSprite(e,s=!1,a=void 0){let l;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(d,v,w,I){return h._(this,void 0,void 0,function*(){const A=Bt(d),C=w>1?"@2x":"",M={},O={};for(const{id:V,url:H}of A){const ee=v.transformRequest(ji(H,C,".json"),"SpriteJSON");M[V]=h.h(ee,I);const re=v.transformRequest(ji(H,C,".png"),"SpriteImage");O[V]=Ct.getImage(re,I)}return yield Promise.all([...Object.values(M),...Object.values(O)]),function(V,H){return h._(this,void 0,void 0,function*(){const ee={};for(const re in V){ee[re]={};const se=J.getImageCanvasContext((yield H[re]).data),ae=(yield V[re]).data;for(const Y in ae){const{width:ue,height:pe,x:ye,y:Ce,sdf:Re,pixelRatio:qe,stretchX:Je,stretchY:Ne,content:Be,textFitWidth:rt,textFitHeight:It}=ae[Y];ee[re][Y]={data:null,pixelRatio:qe,sdf:Re,stretchX:Je,stretchY:Ne,content:Be,textFitWidth:rt,textFitHeight:It,spriteData:{width:ue,height:pe,x:ye,y:Ce,context:se}}}}return ee})}(M,O)})}(e,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then(d=>{if(this._spriteRequest=null,d)for(const v in d){this._spritesImagesIds[v]=[];const w=this._spritesImagesIds[v]?this._spritesImagesIds[v].filter(I=>!(I in d)):[];for(const I of w)this.imageManager.removeImage(I),this._changedImages[I]=!0;for(const I in d[v]){const A=v==="default"?I:`${v}:${I}`;this._spritesImagesIds[v].push(A),A in this.imageManager.images?this.imageManager.updateImage(A,d[v][I],!1):this.imageManager.addImage(A,d[v][I]),s&&(this._changedImages[A]=!0)}}}).catch(d=>{this._spriteRequest=null,l=d,this.fire(new h.j(l))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),s&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new h.k("data",{dataType:"style"})),a&&a(l)})}_unloadSprite(){for(const e of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(e),this._changedImages[e]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new h.k("data",{dataType:"style"}))}_validateLayer(e){const s=this.sourceCaches[e.source];if(!s)return;const a=e.sourceLayer;if(!a)return;const l=s.getSource();(l.type==="geojson"||l.vectorLayerIds&&l.vectorLayerIds.indexOf(a)===-1)&&this.fire(new h.j(new Error(`Source layer "${a}" does not exist on source "${l.id}" as specified by style layer "${e.id}".`)))}loaded(){if(!this._loaded||Object.keys(this._updatedSources).length)return!1;for(const e in this.sourceCaches)if(!this.sourceCaches[e].loaded())return!1;return!!this.imageManager.isLoaded()}_serializeByIds(e,s=!1){const a=this._serializedAllLayers();if(!e||e.length===0)return Object.values(s?h.aB(a):a);const l=[];for(const d of e)if(a[d]){const v=s?h.aB(a[d]):a[d];l.push(v)}return l}_serializedAllLayers(){let e=this._serializedLayers;if(e)return e;e=this._serializedLayers={};const s=Object.keys(this._layers);for(const a of s){const l=this._layers[a];l.type!=="custom"&&(e[a]=l.serialize())}return e}hasTransitions(){if(this.light&&this.light.hasTransition()||this.sky&&this.sky.hasTransition())return!0;for(const e in this.sourceCaches)if(this.sourceCaches[e].hasTransition())return!0;for(const e in this._layers)if(this._layers[e].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw new Error("Style is not done loading.")}update(e){if(!this._loaded)return;const s=this._changed;if(s){const l=Object.keys(this._updatedLayers),d=Object.keys(this._removedLayers);(l.length||d.length)&&this._updateWorkerLayers(l,d);for(const v in this._updatedSources){const w=this._updatedSources[v];if(w==="reload")this._reloadSource(v);else{if(w!=="clear")throw new Error(`Invalid action ${w}`);this._clearSource(v)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const v in this._updatedPaintProps)this._layers[v].updateTransitions(e);this.light.updateTransitions(e),this.sky.updateTransitions(e),this._resetUpdates()}const a={};for(const l in this.sourceCaches){const d=this.sourceCaches[l];a[l]=d.used,d.used=!1}for(const l of this._order){const d=this._layers[l];d.recalculate(e,this._availableImages),!d.isHidden(e.zoom)&&d.source&&(this.sourceCaches[d.source].used=!0)}for(const l in a){const d=this.sourceCaches[l];!!a[l]!=!!d.used&&d.fire(new h.k("data",{sourceDataType:"visibility",dataType:"source",sourceId:l}))}this.light.recalculate(e),this.sky.recalculate(e),this.z=e.zoom,s&&this.fire(new h.k("data",{dataType:"style"}))}_updateTilesForChangedImages(){const e=Object.keys(this._changedImages);if(e.length){for(const s in this.sourceCaches)this.sourceCaches[s].reloadTilesForDependencies(["icons","patterns"],e);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(e,s){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(e,!1),removedIds:s})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(e,s={}){var a;this._checkLoaded();const l=this.serialize();if(e=s.transformStyle?s.transformStyle(l,e):e,((a=s.validate)===null||a===void 0||a)&&ss(this,h.u(e)))return!1;(e=h.aB(e)).layers=h.az(e.layers);const d=h.aC(l,e),v=this._getOperationsToPerform(d);if(v.unimplemented.length>0)throw new Error(`Unimplemented: ${v.unimplemented.join(", ")}.`);if(v.operations.length===0)return!1;for(const w of v.operations)w();return this.stylesheet=e,this._serializedLayers=null,!0}_getOperationsToPerform(e){const s=[],a=[];for(const l of e)switch(l.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":continue;case"addLayer":s.push(()=>this.addLayer.apply(this,l.args));break;case"removeLayer":s.push(()=>this.removeLayer.apply(this,l.args));break;case"setPaintProperty":s.push(()=>this.setPaintProperty.apply(this,l.args));break;case"setLayoutProperty":s.push(()=>this.setLayoutProperty.apply(this,l.args));break;case"setFilter":s.push(()=>this.setFilter.apply(this,l.args));break;case"addSource":s.push(()=>this.addSource.apply(this,l.args));break;case"removeSource":s.push(()=>this.removeSource.apply(this,l.args));break;case"setLayerZoomRange":s.push(()=>this.setLayerZoomRange.apply(this,l.args));break;case"setLight":s.push(()=>this.setLight.apply(this,l.args));break;case"setGeoJSONSourceData":s.push(()=>this.setGeoJSONSourceData.apply(this,l.args));break;case"setGlyphs":s.push(()=>this.setGlyphs.apply(this,l.args));break;case"setSprite":s.push(()=>this.setSprite.apply(this,l.args));break;case"setSky":s.push(()=>this.setSky.apply(this,l.args));break;case"setTerrain":s.push(()=>this.map.setTerrain.apply(this,l.args));break;case"setTransition":s.push(()=>{});break;default:a.push(l.command)}return{operations:s,unimplemented:a}}addImage(e,s){if(this.getImage(e))return this.fire(new h.j(new Error(`An image named "${e}" already exists.`)));this.imageManager.addImage(e,s),this._afterImageUpdated(e)}updateImage(e,s){this.imageManager.updateImage(e,s)}getImage(e){return this.imageManager.getImage(e)}removeImage(e){if(!this.getImage(e))return this.fire(new h.j(new Error(`An image named "${e}" does not exist.`)));this.imageManager.removeImage(e),this._afterImageUpdated(e)}_afterImageUpdated(e){this._availableImages=this.imageManager.listImages(),this._changedImages[e]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new h.k("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(e,s,a={}){if(this._checkLoaded(),this.sourceCaches[e]!==void 0)throw new Error(`Source "${e}" already exists.`);if(!s.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(s).join(", ")}.`);if(["vector","raster","geojson","video","image"].indexOf(s.type)>=0&&this._validate(h.u.source,`sources.${e}`,s,null,a))return;this.map&&this.map._collectResourceTiming&&(s.collectResourceTiming=!0);const l=this.sourceCaches[e]=new pt(e,s,this.dispatcher);l.style=this,l.setEventedParent(this,()=>({isSourceLoaded:l.loaded(),source:l.serialize(),sourceId:e})),l.onAdd(this.map),this._changed=!0}removeSource(e){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw new Error("There is no source with this ID");for(const a in this._layers)if(this._layers[a].source===e)return this.fire(new h.j(new Error(`Source "${e}" cannot be removed while layer "${a}" is using it.`)));const s=this.sourceCaches[e];delete this.sourceCaches[e],delete this._updatedSources[e],s.fire(new h.k("data",{sourceDataType:"metadata",dataType:"source",sourceId:e})),s.setEventedParent(null),s.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(e,s){if(this._checkLoaded(),this.sourceCaches[e]===void 0)throw new Error(`There is no source with this ID=${e}`);const a=this.sourceCaches[e].getSource();if(a.type!=="geojson")throw new Error(`geojsonSource.type is ${a.type}, which is !== 'geojson`);a.setData(s),this._changed=!0}getSource(e){return this.sourceCaches[e]&&this.sourceCaches[e].getSource()}addLayer(e,s,a={}){this._checkLoaded();const l=e.id;if(this.getLayer(l))return void this.fire(new h.j(new Error(`Layer "${l}" already exists on this map.`)));let d;if(e.type==="custom"){if(ss(this,h.aD(e)))return;d=h.aA(e)}else{if("source"in e&&typeof e.source=="object"&&(this.addSource(l,e.source),e=h.aB(e),e=h.e(e,{source:l})),this._validate(h.u.layer,`layers.${l}`,e,{arrayIndex:-1},a))return;d=h.aA(e),this._validateLayer(d),d.setEventedParent(this,{layer:{id:l}})}const v=s?this._order.indexOf(s):this._order.length;if(s&&v===-1)this.fire(new h.j(new Error(`Cannot add layer "${l}" before non-existing layer "${s}".`)));else{if(this._order.splice(v,0,l),this._layerOrderChanged=!0,this._layers[l]=d,this._removedLayers[l]&&d.source&&d.type!=="custom"){const w=this._removedLayers[l];delete this._removedLayers[l],w.type!==d.type?this._updatedSources[d.source]="clear":(this._updatedSources[d.source]="reload",this.sourceCaches[d.source].pause())}this._updateLayer(d),d.onAdd&&d.onAdd(this.map)}}moveLayer(e,s){if(this._checkLoaded(),this._changed=!0,!this._layers[e])return void this.fire(new h.j(new Error(`The layer '${e}' does not exist in the map's style and cannot be moved.`)));if(e===s)return;const a=this._order.indexOf(e);this._order.splice(a,1);const l=s?this._order.indexOf(s):this._order.length;s&&l===-1?this.fire(new h.j(new Error(`Cannot move layer "${e}" before non-existing layer "${s}".`))):(this._order.splice(l,0,e),this._layerOrderChanged=!0)}removeLayer(e){this._checkLoaded();const s=this._layers[e];if(!s)return void this.fire(new h.j(new Error(`Cannot remove non-existing layer "${e}".`)));s.setEventedParent(null);const a=this._order.indexOf(e);this._order.splice(a,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[e]=s,delete this._layers[e],this._serializedLayers&&delete this._serializedLayers[e],delete this._updatedLayers[e],delete this._updatedPaintProps[e],s.onRemove&&s.onRemove(this.map)}getLayer(e){return this._layers[e]}getLayersOrder(){return[...this._order]}hasLayer(e){return e in this._layers}setLayerZoomRange(e,s,a){this._checkLoaded();const l=this.getLayer(e);l?l.minzoom===s&&l.maxzoom===a||(s!=null&&(l.minzoom=s),a!=null&&(l.maxzoom=a),this._updateLayer(l)):this.fire(new h.j(new Error(`Cannot set the zoom range of non-existing layer "${e}".`)))}setFilter(e,s,a={}){this._checkLoaded();const l=this.getLayer(e);if(l){if(!h.aE(l.filter,s))return s==null?(l.filter=void 0,void this._updateLayer(l)):void(this._validate(h.u.filter,`layers.${l.id}.filter`,s,null,a)||(l.filter=h.aB(s),this._updateLayer(l)))}else this.fire(new h.j(new Error(`Cannot filter non-existing layer "${e}".`)))}getFilter(e){return h.aB(this.getLayer(e).filter)}setLayoutProperty(e,s,a,l={}){this._checkLoaded();const d=this.getLayer(e);d?h.aE(d.getLayoutProperty(s),a)||(d.setLayoutProperty(s,a,l),this._updateLayer(d)):this.fire(new h.j(new Error(`Cannot style non-existing layer "${e}".`)))}getLayoutProperty(e,s){const a=this.getLayer(e);if(a)return a.getLayoutProperty(s);this.fire(new h.j(new Error(`Cannot get style of non-existing layer "${e}".`)))}setPaintProperty(e,s,a,l={}){this._checkLoaded();const d=this.getLayer(e);d?h.aE(d.getPaintProperty(s),a)||(d.setPaintProperty(s,a,l)&&this._updateLayer(d),this._changed=!0,this._updatedPaintProps[e]=!0,this._serializedLayers=null):this.fire(new h.j(new Error(`Cannot style non-existing layer "${e}".`)))}getPaintProperty(e,s){return this.getLayer(e).getPaintProperty(s)}setFeatureState(e,s){this._checkLoaded();const a=e.source,l=e.sourceLayer,d=this.sourceCaches[a];if(d===void 0)return void this.fire(new h.j(new Error(`The source '${a}' does not exist in the map's style.`)));const v=d.getSource().type;v==="geojson"&&l?this.fire(new h.j(new Error("GeoJSON sources cannot have a sourceLayer parameter."))):v!=="vector"||l?(e.id===void 0&&this.fire(new h.j(new Error("The feature id parameter must be provided."))),d.setFeatureState(l,e.id,s)):this.fire(new h.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(e,s){this._checkLoaded();const a=e.source,l=this.sourceCaches[a];if(l===void 0)return void this.fire(new h.j(new Error(`The source '${a}' does not exist in the map's style.`)));const d=l.getSource().type,v=d==="vector"?e.sourceLayer:void 0;d!=="vector"||v?s&&typeof e.id!="string"&&typeof e.id!="number"?this.fire(new h.j(new Error("A feature id is required to remove its specific state property."))):l.removeFeatureState(v,e.id,s):this.fire(new h.j(new Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(e){this._checkLoaded();const s=e.source,a=e.sourceLayer,l=this.sourceCaches[s];if(l!==void 0)return l.getSource().type!=="vector"||a?(e.id===void 0&&this.fire(new h.j(new Error("The feature id parameter must be provided."))),l.getFeatureState(a,e.id)):void this.fire(new h.j(new Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new h.j(new Error(`The source '${s}' does not exist in the map's style.`)))}getTransition(){return h.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const e=h.aF(this.sourceCaches,d=>d.serialize()),s=this._serializeByIds(this._order,!0),a=this.map.getTerrain()||void 0,l=this.stylesheet;return h.aG({version:l.version,name:l.name,metadata:l.metadata,light:l.light,sky:l.sky,center:l.center,zoom:l.zoom,bearing:l.bearing,pitch:l.pitch,sprite:l.sprite,glyphs:l.glyphs,transition:l.transition,sources:e,layers:s,terrain:a},d=>d!==void 0)}_updateLayer(e){this._updatedLayers[e.id]=!0,e.source&&!this._updatedSources[e.source]&&this.sourceCaches[e.source].getSource().type!=="raster"&&(this._updatedSources[e.source]="reload",this.sourceCaches[e.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(e){const s=v=>this._layers[v].type==="fill-extrusion",a={},l=[];for(let v=this._order.length-1;v>=0;v--){const w=this._order[v];if(s(w)){a[w]=v;for(const I of e){const A=I[w];if(A)for(const C of A)l.push(C)}}}l.sort((v,w)=>w.intersectionZ-v.intersectionZ);const d=[];for(let v=this._order.length-1;v>=0;v--){const w=this._order[v];if(s(w))for(let I=l.length-1;I>=0;I--){const A=l[I].feature;if(a[A.layer.id]{const Re=se.featureSortOrder;if(Re){const qe=Re.indexOf(ye.featureIndex);return Re.indexOf(Ce.featureIndex)-qe}return Ce.featureIndex-ye.featureIndex});for(const ye of pe)ue.push(ye)}}for(const se in H)H[se].forEach(ae=>{const Y=ae.feature,ue=A[w[se].source].getFeatureState(Y.layer["source-layer"],Y.id);Y.source=Y.layer.source,Y.layer["source-layer"]&&(Y.sourceLayer=Y.layer["source-layer"]),Y.state=ue});return H}(this._layers,v,this.sourceCaches,e,s,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(d)}querySourceFeatures(e,s){s&&s.filter&&this._validate(h.u.filter,"querySourceFeatures.filter",s.filter,null,s);const a=this.sourceCaches[e];return a?function(l,d){const v=l.getRenderableIds().map(A=>l.getTileByID(A)),w=[],I={};for(let A=0;AO.getTileByID(V)).sort((V,H)=>H.tileID.overscaledZ-V.tileID.overscaledZ||(V.tileID.isLessThan(H.tileID)?-1:1))}const M=this.crossTileSymbolIndex.addLayer(C,I[C.source],e.center.lng);v=v||M}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((d=d||this._layerOrderChanged||a===0)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(J.now(),e.zoom))&&(this.pauseablePlacement=new Xr(e,this.map.terrain,this._order,d,s,a,l,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,I),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(J.now()),w=!0),v&&this.pauseablePlacement.placement.setStale()),w||v)for(const A of this._order){const C=this._layers[A];C.type==="symbol"&&this.placement.updateLayerOpacities(C,I[C.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(J.now())}_releaseSymbolFadeTiles(){for(const e in this.sourceCaches)this.sourceCaches[e].releaseSymbolFadeTiles()}getImages(e,s){return h._(this,void 0,void 0,function*(){const a=yield this.imageManager.getImages(s.icons);this._updateTilesForChangedImages();const l=this.sourceCaches[s.source];return l&&l.setDependencies(s.tileID.key,s.type,s.icons),a})}getGlyphs(e,s){return h._(this,void 0,void 0,function*(){const a=yield this.glyphManager.getGlyphs(s.stacks),l=this.sourceCaches[s.source];return l&&l.setDependencies(s.tileID.key,s.type,[""]),a})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(e,s={}){this._checkLoaded(),e&&this._validate(h.u.glyphs,"glyphs",e,null,s)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=e,this.glyphManager.entries={},this.glyphManager.setURL(e))}addSprite(e,s,a={},l){this._checkLoaded();const d=[{id:e,url:s}],v=[...Bt(this.stylesheet.sprite),...d];this._validate(h.u.sprite,"sprite",v,null,a)||(this.stylesheet.sprite=v,this._loadSprite(d,!0,l))}removeSprite(e){this._checkLoaded();const s=Bt(this.stylesheet.sprite);if(s.find(a=>a.id===e)){if(this._spritesImagesIds[e])for(const a of this._spritesImagesIds[e])this.imageManager.removeImage(a),this._changedImages[a]=!0;s.splice(s.findIndex(a=>a.id===e),1),this.stylesheet.sprite=s.length>0?s:void 0,delete this._spritesImagesIds[e],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new h.k("data",{dataType:"style"}))}else this.fire(new h.j(new Error(`Sprite "${e}" doesn't exists on this map.`)))}getSprite(){return Bt(this.stylesheet.sprite)}setSprite(e,s={},a){this._checkLoaded(),e&&this._validate(h.u.sprite,"sprite",e,null,s)||(this.stylesheet.sprite=e,e?this._loadSprite(e,!0,a):(this._unloadSprite(),a&&a(null)))}}var cn=h.Y([{name:"a_pos",type:"Int16",components:2}]);const Hs={prelude:Wt(`#ifdef GL_ES +precision mediump float; +#else +#if !defined(lowp) +#define lowp +#endif +#if !defined(mediump) +#define mediump +#endif +#if !defined(highp) +#define highp +#endif +#endif +`,`#ifdef GL_ES +precision highp float; +#else +#if !defined(lowp) +#define lowp +#endif +#if !defined(mediump) +#define mediump +#endif +#if !defined(highp) +#define highp +#endif +#endif +vec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0 +);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;} +#ifdef TERRAIN3D +uniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth; +#endif +const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) { +#ifdef TERRAIN3D +highp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0)); +#else +return 1.0; +#endif +}float calculate_visibility(vec4 pos) { +#ifdef TERRAIN3D +vec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0; +#else +return 1.0; +#endif +}float ele(vec2 pos) { +#ifdef TERRAIN3D +vec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a; +#else +return 0.0; +#endif +}float get_elevation(vec2 pos) { +#ifdef TERRAIN3D +vec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration; +#else +return 0.0; +#endif +}`),background:Wt(`uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),backgroundPattern:Wt(`uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}"),circle:Wt(`varying vec3 v_data;varying float v_visibility; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define mediump float radius +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define highp vec4 stroke_color +#pragma mapbox: define mediump float stroke_width +#pragma mapbox: define lowp float stroke_opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize mediump float radius +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize highp vec4 stroke_color +#pragma mapbox: initialize mediump float stroke_width +#pragma mapbox: initialize lowp float stroke_opacity +vec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define mediump float radius +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define highp vec4 stroke_color +#pragma mapbox: define mediump float stroke_width +#pragma mapbox: define lowp float stroke_opacity +void main(void) { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize mediump float radius +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize highp vec4 stroke_color +#pragma mapbox: initialize mediump float stroke_width +#pragma mapbox: initialize lowp float stroke_opacity +vec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}`),clippingMask:Wt("void main() {gl_FragColor=vec4(1.0);}","attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}"),heatmap:Wt(`uniform highp float u_intensity;varying vec2 v_extrude; +#pragma mapbox: define highp float weight +#define GAUSS_COEF 0.3989422804014327 +void main() { +#pragma mapbox: initialize highp float weight +float d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude; +#pragma mapbox: define highp float weight +#pragma mapbox: define mediump float radius +const highp float ZERO=1.0/255.0/16.0; +#define GAUSS_COEF 0.3989422804014327 +void main(void) { +#pragma mapbox: initialize highp float weight +#pragma mapbox: initialize mediump float radius +vec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}`),heatmapTexture:Wt(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(0.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}"),collisionBox:Wt("varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}","attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}"),collisionCircle:Wt("varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}","attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}"),debug:Wt("uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}","attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}"),fill:Wt(`#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float opacity +gl_FragColor=color*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec2 a_pos;uniform mat4 u_matrix; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float opacity +gl_Position=u_matrix*vec4(a_pos,0,1);}`),fillOutline:Wt(`varying vec2 v_pos; +#pragma mapbox: define highp vec4 outline_color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 outline_color +#pragma mapbox: initialize lowp float opacity +float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos; +#pragma mapbox: define highp vec4 outline_color +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 outline_color +#pragma mapbox: initialize lowp float opacity +gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillOutlinePattern:Wt(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}`),fillPattern:Wt(`#ifdef GL_ES +precision highp float; +#endif +uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b; +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}`),fillExtrusion:Wt(`varying vec4 v_color;void main() {gl_FragColor=v_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed; +#ifdef TERRAIN3D +attribute vec2 a_centroid; +#endif +varying vec4 v_color; +#pragma mapbox: define highp float base +#pragma mapbox: define highp float height +#pragma mapbox: define highp vec4 color +void main() { +#pragma mapbox: initialize highp float base +#pragma mapbox: initialize highp float height +#pragma mapbox: initialize highp vec4 color +vec3 normal=a_normal_ed.xyz; +#ifdef TERRAIN3D +float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); +#else +float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; +#endif +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}`),fillExtrusionPattern:Wt(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed; +#ifdef TERRAIN3D +attribute vec2 a_centroid; +#endif +varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting; +#pragma mapbox: define lowp float base +#pragma mapbox: define lowp float height +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float base +#pragma mapbox: initialize lowp float height +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to; +#ifdef TERRAIN3D +float height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0); +#else +float height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0; +#endif +base=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 +? a_pos +: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}`),hillshadePrepare:Wt(`#ifdef GL_ES +precision highp float; +#endif +uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}"),hillshade:Wt(`uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent; +#define PI 3.141592653589793 +void main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}"),line:Wt(`uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_width2=vec2(outset,inset);}`),lineGradient:Wt(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +attribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_width2=vec2(outset,inset);}`),linePattern:Wt(`#ifdef GL_ES +precision highp float; +#endif +uniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +vec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width; +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +#pragma mapbox: define lowp vec4 pattern_from +#pragma mapbox: define lowp vec4 pattern_to +#pragma mapbox: define lowp float pixel_ratio_from +#pragma mapbox: define lowp float pixel_ratio_to +void main() { +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +#pragma mapbox: initialize mediump vec4 pattern_from +#pragma mapbox: initialize mediump vec4 pattern_to +#pragma mapbox: initialize lowp float pixel_ratio_from +#pragma mapbox: initialize lowp float pixel_ratio_to +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}`),lineSDF:Wt(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,` +#define scale 0.015873016 +#define LINE_DISTANCE_SCALE 2.0 +attribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale; +#pragma mapbox: define highp vec4 color +#pragma mapbox: define lowp float blur +#pragma mapbox: define lowp float opacity +#pragma mapbox: define mediump float gapwidth +#pragma mapbox: define lowp float offset +#pragma mapbox: define mediump float width +#pragma mapbox: define lowp float floorwidth +void main() { +#pragma mapbox: initialize highp vec4 color +#pragma mapbox: initialize lowp float blur +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize mediump float gapwidth +#pragma mapbox: initialize lowp float offset +#pragma mapbox: initialize mediump float width +#pragma mapbox: initialize lowp float floorwidth +float ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude; +#ifdef TERRAIN3D +v_gamma_scale=1.0; +#else +float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; +#endif +v_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}`),raster:Wt(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}"),symbolIcon:Wt(`uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity; +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +lowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define lowp float opacity +void main() { +#pragma mapbox: initialize lowp float opacity +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}`),symbolSDF:Wt(`#define SDF_PX 8.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}`),symbolTextAndIcon:Wt(`#define SDF_PX 8.0 +#define SDF 1.0 +#define ICON 0.0 +uniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1; +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +float fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha; +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +return;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity); +#ifdef OVERDRAW_INSPECTOR +gl_FragColor=vec4(1.0); +#endif +}`,`attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);} +#pragma mapbox: define highp vec4 fill_color +#pragma mapbox: define highp vec4 halo_color +#pragma mapbox: define lowp float opacity +#pragma mapbox: define lowp float halo_width +#pragma mapbox: define lowp float halo_blur +void main() { +#pragma mapbox: initialize highp vec4 fill_color +#pragma mapbox: initialize highp vec4 halo_color +#pragma mapbox: initialize lowp float opacity +#pragma mapbox: initialize lowp float halo_width +#pragma mapbox: initialize lowp float halo_blur +vec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ? +camera_to_anchor_distance/u_camera_to_center_distance : +u_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}`),terrain:Wt("uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:Wt("varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:Wt("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}"),sky:Wt("uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}","attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}")};function Wt(p,e){const s=/#pragma mapbox: ([\w]+) ([\w]+) ([\w]+) ([\w]+)/g,a=e.match(/attribute ([\w]+) ([\w]+)/g),l=p.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),d=e.match(/uniform ([\w]+) ([\w]+)([\s]*)([\w]*)/g),v=d?d.concat(l):l,w={};return{fragmentSource:p=p.replace(s,(I,A,C,M,O)=>(w[O]=!0,A==="define"?` +#ifndef HAS_UNIFORM_u_${O} +varying ${C} ${M} ${O}; +#else +uniform ${C} ${M} u_${O}; +#endif +`:` +#ifdef HAS_UNIFORM_u_${O} + ${C} ${M} ${O} = u_${O}; +#endif +`)),vertexSource:e=e.replace(s,(I,A,C,M,O)=>{const V=M==="float"?"vec2":"vec4",H=O.match(/color/)?"color":V;return w[O]?A==="define"?` +#ifndef HAS_UNIFORM_u_${O} +uniform lowp float u_${O}_t; +attribute ${C} ${V} a_${O}; +varying ${C} ${M} ${O}; +#else +uniform ${C} ${M} u_${O}; +#endif +`:H==="vec4"?` +#ifndef HAS_UNIFORM_u_${O} + ${O} = a_${O}; +#else + ${C} ${M} ${O} = u_${O}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${O} + ${O} = unpack_mix_${H}(a_${O}, u_${O}_t); +#else + ${C} ${M} ${O} = u_${O}; +#endif +`:A==="define"?` +#ifndef HAS_UNIFORM_u_${O} +uniform lowp float u_${O}_t; +attribute ${C} ${V} a_${O}; +#else +uniform ${C} ${M} u_${O}; +#endif +`:H==="vec4"?` +#ifndef HAS_UNIFORM_u_${O} + ${C} ${M} ${O} = a_${O}; +#else + ${C} ${M} ${O} = u_${O}; +#endif +`:` +#ifndef HAS_UNIFORM_u_${O} + ${C} ${M} ${O} = unpack_mix_${H}(a_${O}, u_${O}_t); +#else + ${C} ${M} ${O} = u_${O}; +#endif +`}),staticAttributes:a,staticUniforms:v}}class Ka{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(e,s,a,l,d,v,w,I,A){this.context=e;let C=this.boundPaintVertexBuffers.length!==l.length;for(let M=0;!C&&M({u_matrix:p,u_texture:0,u_ele_delta:e,u_fog_matrix:s,u_fog_color:a?a.properties.get("fog-color"):h.aM.white,u_fog_ground_blend:a?a.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:a?a.calculateFogBlendOpacity(l):0,u_horizon_color:a?a.properties.get("horizon-color"):h.aM.white,u_horizon_fog_blend:a?a.properties.get("horizon-fog-blend"):1});function Rn(p){const e=[];for(let s=0;s({u_depth:new h.aH(ye,Ce.u_depth),u_terrain:new h.aH(ye,Ce.u_terrain),u_terrain_dim:new h.aI(ye,Ce.u_terrain_dim),u_terrain_matrix:new h.aJ(ye,Ce.u_terrain_matrix),u_terrain_unpack:new h.aK(ye,Ce.u_terrain_unpack),u_terrain_exaggeration:new h.aI(ye,Ce.u_terrain_exaggeration)}))(e,pe),this.binderUniforms=a?a.getUniforms(e,pe):[]}draw(e,s,a,l,d,v,w,I,A,C,M,O,V,H,ee,re,se,ae){const Y=e.gl;if(this.failedToCreate)return;if(e.program.set(this.program),e.setDepthMode(a),e.setStencilMode(l),e.setColorMode(d),e.setCullFace(v),I){e.activeTexture.set(Y.TEXTURE2),Y.bindTexture(Y.TEXTURE_2D,I.depthTexture),e.activeTexture.set(Y.TEXTURE3),Y.bindTexture(Y.TEXTURE_2D,I.texture);for(const pe in this.terrainUniforms)this.terrainUniforms[pe].set(I[pe])}for(const pe in this.fixedUniforms)this.fixedUniforms[pe].set(w[pe]);ee&&ee.setUniforms(e,this.binderUniforms,V,{zoom:H});let ue=0;switch(s){case Y.LINES:ue=2;break;case Y.TRIANGLES:ue=3;break;case Y.LINE_STRIP:ue=1}for(const pe of O.get()){const ye=pe.vaos||(pe.vaos={});(ye[A]||(ye[A]=new Ka)).bind(e,this,C,ee?ee.getPaintVertexBuffers():[],M,pe.vertexOffset,re,se,ae),Y.drawElements(s,pe.primitiveLength*ue,Y.UNSIGNED_SHORT,pe.primitiveOffset*ue*2)}}}function Jo(p,e,s){const a=1/Et(s,1,e.transform.tileZoom),l=Math.pow(2,s.tileID.overscaledZ),d=s.tileSize*Math.pow(2,e.transform.tileZoom)/l,v=d*(s.tileID.canonical.x+s.tileID.wrap*l),w=d*s.tileID.canonical.y;return{u_image:0,u_texsize:s.imageAtlasTexture.size,u_scale:[a,p.fromScale,p.toScale],u_fade:p.t,u_pixel_coord_upper:[v>>16,w>>16],u_pixel_coord_lower:[65535&v,65535&w]}}const lo=(p,e,s,a)=>{const l=e.style.light,d=l.properties.get("position"),v=[d.x,d.y,d.z],w=function(){var A=new h.A(9);return h.A!=Float32Array&&(A[1]=0,A[2]=0,A[3]=0,A[5]=0,A[6]=0,A[7]=0),A[0]=1,A[4]=1,A[8]=1,A}();l.properties.get("anchor")==="viewport"&&function(A,C){var M=Math.sin(C),O=Math.cos(C);A[0]=O,A[1]=M,A[2]=0,A[3]=-M,A[4]=O,A[5]=0,A[6]=0,A[7]=0,A[8]=1}(w,-e.transform.angle),function(A,C,M){var O=C[0],V=C[1],H=C[2];A[0]=O*M[0]+V*M[3]+H*M[6],A[1]=O*M[1]+V*M[4]+H*M[7],A[2]=O*M[2]+V*M[5]+H*M[8]}(v,v,w);const I=l.properties.get("color");return{u_matrix:p,u_lightpos:v,u_lightintensity:l.properties.get("intensity"),u_lightcolor:[I.r,I.g,I.b],u_vertical_gradient:+s,u_opacity:a}},Ko=(p,e,s,a,l,d,v)=>h.e(lo(p,e,s,a),Jo(d,e,v),{u_height_factor:-Math.pow(2,l.overscaledZ)/v.tileSize/8}),On=p=>({u_matrix:p}),uc=(p,e,s,a)=>h.e(On(p),Jo(s,e,a)),Uh=(p,e)=>({u_matrix:p,u_world:e}),dc=(p,e,s,a,l)=>h.e(uc(p,e,s,a),{u_world:l}),Vh=(p,e,s,a)=>{const l=p.transform;let d,v;if(a.paint.get("circle-pitch-alignment")==="map"){const w=Et(s,1,l.zoom);d=!0,v=[w,w]}else d=!1,v=l.pixelsToGLUnits;return{u_camera_to_center_distance:l.cameraToCenterDistance,u_scale_with_map:+(a.paint.get("circle-pitch-scale")==="map"),u_matrix:p.translatePosMatrix(e.posMatrix,s,a.paint.get("circle-translate"),a.paint.get("circle-translate-anchor")),u_pitch_with_map:+d,u_device_pixel_ratio:p.pixelRatio,u_extrude_scale:v}},hn=(p,e,s)=>({u_matrix:p,u_inv_matrix:e,u_camera_to_center_distance:s.cameraToCenterDistance,u_viewport_size:[s.width,s.height]}),co=(p,e,s=1)=>({u_matrix:p,u_color:e,u_overlay:0,u_overlay_scale:s}),Sr=p=>({u_matrix:p}),Ir=(p,e,s,a)=>({u_matrix:p,u_extrude_scale:Et(e,1,s),u_intensity:a}),Yo=(p,e,s,a)=>{const l=h.H();h.aP(l,0,p.width,p.height,0,0,1);const d=p.context.gl;return{u_matrix:l,u_world:[d.drawingBufferWidth,d.drawingBufferHeight],u_image:s,u_color_ramp:a,u_opacity:e.paint.get("heatmap-opacity")}};function Qo(p,e){const s=Math.pow(2,e.canonical.z),a=e.canonical.y;return[new h.Z(0,a/s).toLngLat().lat,new h.Z(0,(a+1)/s).toLngLat().lat]}const ea=(p,e,s,a)=>{const l=p.transform;return{u_matrix:mc(p,e,s,a),u_ratio:1/Et(e,1,l.zoom),u_device_pixel_ratio:p.pixelRatio,u_units_to_pixels:[1/l.pixelsToGLUnits[0],1/l.pixelsToGLUnits[1]]}},pc=(p,e,s,a,l)=>h.e(ea(p,e,s,l),{u_image:0,u_image_height:a}),Fn=(p,e,s,a,l)=>{const d=p.transform,v=fc(e,d);return{u_matrix:mc(p,e,s,l),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Et(e,1,d.zoom),u_device_pixel_ratio:p.pixelRatio,u_image:0,u_scale:[v,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/d.pixelsToGLUnits[0],1/d.pixelsToGLUnits[1]]}},qh=(p,e,s,a,l,d)=>{const v=p.lineAtlas,w=fc(e,p.transform),I=s.layout.get("line-cap")==="round",A=v.getDash(a.from,I),C=v.getDash(a.to,I),M=A.width*l.fromScale,O=C.width*l.toScale;return h.e(ea(p,e,s,d),{u_patternscale_a:[w/M,-A.height/2],u_patternscale_b:[w/O,-C.height/2],u_sdfgamma:v.width/(256*Math.min(M,O)*p.pixelRatio)/2,u_image:0,u_tex_y_a:A.y,u_tex_y_b:C.y,u_mix:l.t})};function fc(p,e){return 1/Et(p,1,e.tileZoom)}function mc(p,e,s,a){return p.translatePosMatrix(a?a.posMatrix:e.tileID.posMatrix,e,s.paint.get("line-translate"),s.paint.get("line-translate-anchor"))}const Gh=(p,e,s,a,l)=>{return{u_matrix:p,u_tl_parent:e,u_scale_parent:s,u_buffer_scale:1,u_fade_t:a.mix,u_opacity:a.opacity*l.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:l.paint.get("raster-brightness-min"),u_brightness_high:l.paint.get("raster-brightness-max"),u_saturation_factor:(v=l.paint.get("raster-saturation"),v>0?1-1/(1.001-v):-v),u_contrast_factor:(d=l.paint.get("raster-contrast"),d>0?1/(1-d):1+d),u_spin_weights:Hh(l.paint.get("raster-hue-rotate"))};var d,v};function Hh(p){p*=Math.PI/180;const e=Math.sin(p),s=Math.cos(p);return[(2*s+1)/3,(-Math.sqrt(3)*e-s+1)/3,(Math.sqrt(3)*e-s+1)/3]}const _c=(p,e,s,a,l,d,v,w,I,A,C,M,O,V)=>{const H=v.transform;return{u_is_size_zoom_constant:+(p==="constant"||p==="source"),u_is_size_feature_constant:+(p==="constant"||p==="camera"),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:H.cameraToCenterDistance,u_pitch:H.pitch/360*2*Math.PI,u_rotate_symbol:+s,u_aspect_ratio:H.width/H.height,u_fade_change:v.options.fadeDuration?v.symbolFadeChange:1,u_matrix:w,u_label_plane_matrix:I,u_coord_matrix:A,u_is_text:+M,u_pitch_with_map:+a,u_is_along_line:l,u_is_variable_anchor:d,u_texsize:O,u_texture:0,u_translation:C,u_pitched_scale:V}},ho=(p,e,s,a,l,d,v,w,I,A,C,M,O,V,H)=>{const ee=v.transform;return h.e(_c(p,e,s,a,l,d,v,w,I,A,C,M,O,H),{u_gamma_scale:a?Math.cos(ee._pitch)*ee.cameraToCenterDistance:1,u_device_pixel_ratio:v.pixelRatio,u_is_halo:+V})},el=(p,e,s,a,l,d,v,w,I,A,C,M,O,V)=>h.e(ho(p,e,s,a,l,d,v,w,I,A,C,!0,M,!0,V),{u_texsize_icon:O,u_texture_icon:1}),ta=(p,e,s)=>({u_matrix:p,u_opacity:e,u_color:s}),tl=(p,e,s,a,l,d)=>h.e(function(v,w,I,A){const C=I.imageManager.getPattern(v.from.toString()),M=I.imageManager.getPattern(v.to.toString()),{width:O,height:V}=I.imageManager.getPixelSize(),H=Math.pow(2,A.tileID.overscaledZ),ee=A.tileSize*Math.pow(2,I.transform.tileZoom)/H,re=ee*(A.tileID.canonical.x+A.tileID.wrap*H),se=ee*A.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:C.tl,u_pattern_br_a:C.br,u_pattern_tl_b:M.tl,u_pattern_br_b:M.br,u_texsize:[O,V],u_mix:w.t,u_pattern_size_a:C.displaySize,u_pattern_size_b:M.displaySize,u_scale_a:w.fromScale,u_scale_b:w.toScale,u_tile_units_to_pixels:1/Et(A,1,I.transform.tileZoom),u_pixel_coord_upper:[re>>16,se>>16],u_pixel_coord_lower:[65535&re,65535&se]}}(a,d,s,l),{u_matrix:p,u_opacity:e}),il={fillExtrusion:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_lightpos:new h.aN(p,e.u_lightpos),u_lightintensity:new h.aI(p,e.u_lightintensity),u_lightcolor:new h.aN(p,e.u_lightcolor),u_vertical_gradient:new h.aI(p,e.u_vertical_gradient),u_opacity:new h.aI(p,e.u_opacity)}),fillExtrusionPattern:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_lightpos:new h.aN(p,e.u_lightpos),u_lightintensity:new h.aI(p,e.u_lightintensity),u_lightcolor:new h.aN(p,e.u_lightcolor),u_vertical_gradient:new h.aI(p,e.u_vertical_gradient),u_height_factor:new h.aI(p,e.u_height_factor),u_image:new h.aH(p,e.u_image),u_texsize:new h.aO(p,e.u_texsize),u_pixel_coord_upper:new h.aO(p,e.u_pixel_coord_upper),u_pixel_coord_lower:new h.aO(p,e.u_pixel_coord_lower),u_scale:new h.aN(p,e.u_scale),u_fade:new h.aI(p,e.u_fade),u_opacity:new h.aI(p,e.u_opacity)}),fill:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix)}),fillPattern:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_image:new h.aH(p,e.u_image),u_texsize:new h.aO(p,e.u_texsize),u_pixel_coord_upper:new h.aO(p,e.u_pixel_coord_upper),u_pixel_coord_lower:new h.aO(p,e.u_pixel_coord_lower),u_scale:new h.aN(p,e.u_scale),u_fade:new h.aI(p,e.u_fade)}),fillOutline:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_world:new h.aO(p,e.u_world)}),fillOutlinePattern:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_world:new h.aO(p,e.u_world),u_image:new h.aH(p,e.u_image),u_texsize:new h.aO(p,e.u_texsize),u_pixel_coord_upper:new h.aO(p,e.u_pixel_coord_upper),u_pixel_coord_lower:new h.aO(p,e.u_pixel_coord_lower),u_scale:new h.aN(p,e.u_scale),u_fade:new h.aI(p,e.u_fade)}),circle:(p,e)=>({u_camera_to_center_distance:new h.aI(p,e.u_camera_to_center_distance),u_scale_with_map:new h.aH(p,e.u_scale_with_map),u_pitch_with_map:new h.aH(p,e.u_pitch_with_map),u_extrude_scale:new h.aO(p,e.u_extrude_scale),u_device_pixel_ratio:new h.aI(p,e.u_device_pixel_ratio),u_matrix:new h.aJ(p,e.u_matrix)}),collisionBox:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_pixel_extrude_scale:new h.aO(p,e.u_pixel_extrude_scale)}),collisionCircle:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_inv_matrix:new h.aJ(p,e.u_inv_matrix),u_camera_to_center_distance:new h.aI(p,e.u_camera_to_center_distance),u_viewport_size:new h.aO(p,e.u_viewport_size)}),debug:(p,e)=>({u_color:new h.aL(p,e.u_color),u_matrix:new h.aJ(p,e.u_matrix),u_overlay:new h.aH(p,e.u_overlay),u_overlay_scale:new h.aI(p,e.u_overlay_scale)}),clippingMask:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix)}),heatmap:(p,e)=>({u_extrude_scale:new h.aI(p,e.u_extrude_scale),u_intensity:new h.aI(p,e.u_intensity),u_matrix:new h.aJ(p,e.u_matrix)}),heatmapTexture:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_world:new h.aO(p,e.u_world),u_image:new h.aH(p,e.u_image),u_color_ramp:new h.aH(p,e.u_color_ramp),u_opacity:new h.aI(p,e.u_opacity)}),hillshade:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_image:new h.aH(p,e.u_image),u_latrange:new h.aO(p,e.u_latrange),u_light:new h.aO(p,e.u_light),u_shadow:new h.aL(p,e.u_shadow),u_highlight:new h.aL(p,e.u_highlight),u_accent:new h.aL(p,e.u_accent)}),hillshadePrepare:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_image:new h.aH(p,e.u_image),u_dimension:new h.aO(p,e.u_dimension),u_zoom:new h.aI(p,e.u_zoom),u_unpack:new h.aK(p,e.u_unpack)}),line:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_ratio:new h.aI(p,e.u_ratio),u_device_pixel_ratio:new h.aI(p,e.u_device_pixel_ratio),u_units_to_pixels:new h.aO(p,e.u_units_to_pixels)}),lineGradient:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_ratio:new h.aI(p,e.u_ratio),u_device_pixel_ratio:new h.aI(p,e.u_device_pixel_ratio),u_units_to_pixels:new h.aO(p,e.u_units_to_pixels),u_image:new h.aH(p,e.u_image),u_image_height:new h.aI(p,e.u_image_height)}),linePattern:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_texsize:new h.aO(p,e.u_texsize),u_ratio:new h.aI(p,e.u_ratio),u_device_pixel_ratio:new h.aI(p,e.u_device_pixel_ratio),u_image:new h.aH(p,e.u_image),u_units_to_pixels:new h.aO(p,e.u_units_to_pixels),u_scale:new h.aN(p,e.u_scale),u_fade:new h.aI(p,e.u_fade)}),lineSDF:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_ratio:new h.aI(p,e.u_ratio),u_device_pixel_ratio:new h.aI(p,e.u_device_pixel_ratio),u_units_to_pixels:new h.aO(p,e.u_units_to_pixels),u_patternscale_a:new h.aO(p,e.u_patternscale_a),u_patternscale_b:new h.aO(p,e.u_patternscale_b),u_sdfgamma:new h.aI(p,e.u_sdfgamma),u_image:new h.aH(p,e.u_image),u_tex_y_a:new h.aI(p,e.u_tex_y_a),u_tex_y_b:new h.aI(p,e.u_tex_y_b),u_mix:new h.aI(p,e.u_mix)}),raster:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_tl_parent:new h.aO(p,e.u_tl_parent),u_scale_parent:new h.aI(p,e.u_scale_parent),u_buffer_scale:new h.aI(p,e.u_buffer_scale),u_fade_t:new h.aI(p,e.u_fade_t),u_opacity:new h.aI(p,e.u_opacity),u_image0:new h.aH(p,e.u_image0),u_image1:new h.aH(p,e.u_image1),u_brightness_low:new h.aI(p,e.u_brightness_low),u_brightness_high:new h.aI(p,e.u_brightness_high),u_saturation_factor:new h.aI(p,e.u_saturation_factor),u_contrast_factor:new h.aI(p,e.u_contrast_factor),u_spin_weights:new h.aN(p,e.u_spin_weights)}),symbolIcon:(p,e)=>({u_is_size_zoom_constant:new h.aH(p,e.u_is_size_zoom_constant),u_is_size_feature_constant:new h.aH(p,e.u_is_size_feature_constant),u_size_t:new h.aI(p,e.u_size_t),u_size:new h.aI(p,e.u_size),u_camera_to_center_distance:new h.aI(p,e.u_camera_to_center_distance),u_pitch:new h.aI(p,e.u_pitch),u_rotate_symbol:new h.aH(p,e.u_rotate_symbol),u_aspect_ratio:new h.aI(p,e.u_aspect_ratio),u_fade_change:new h.aI(p,e.u_fade_change),u_matrix:new h.aJ(p,e.u_matrix),u_label_plane_matrix:new h.aJ(p,e.u_label_plane_matrix),u_coord_matrix:new h.aJ(p,e.u_coord_matrix),u_is_text:new h.aH(p,e.u_is_text),u_pitch_with_map:new h.aH(p,e.u_pitch_with_map),u_is_along_line:new h.aH(p,e.u_is_along_line),u_is_variable_anchor:new h.aH(p,e.u_is_variable_anchor),u_texsize:new h.aO(p,e.u_texsize),u_texture:new h.aH(p,e.u_texture),u_translation:new h.aO(p,e.u_translation),u_pitched_scale:new h.aI(p,e.u_pitched_scale)}),symbolSDF:(p,e)=>({u_is_size_zoom_constant:new h.aH(p,e.u_is_size_zoom_constant),u_is_size_feature_constant:new h.aH(p,e.u_is_size_feature_constant),u_size_t:new h.aI(p,e.u_size_t),u_size:new h.aI(p,e.u_size),u_camera_to_center_distance:new h.aI(p,e.u_camera_to_center_distance),u_pitch:new h.aI(p,e.u_pitch),u_rotate_symbol:new h.aH(p,e.u_rotate_symbol),u_aspect_ratio:new h.aI(p,e.u_aspect_ratio),u_fade_change:new h.aI(p,e.u_fade_change),u_matrix:new h.aJ(p,e.u_matrix),u_label_plane_matrix:new h.aJ(p,e.u_label_plane_matrix),u_coord_matrix:new h.aJ(p,e.u_coord_matrix),u_is_text:new h.aH(p,e.u_is_text),u_pitch_with_map:new h.aH(p,e.u_pitch_with_map),u_is_along_line:new h.aH(p,e.u_is_along_line),u_is_variable_anchor:new h.aH(p,e.u_is_variable_anchor),u_texsize:new h.aO(p,e.u_texsize),u_texture:new h.aH(p,e.u_texture),u_gamma_scale:new h.aI(p,e.u_gamma_scale),u_device_pixel_ratio:new h.aI(p,e.u_device_pixel_ratio),u_is_halo:new h.aH(p,e.u_is_halo),u_translation:new h.aO(p,e.u_translation),u_pitched_scale:new h.aI(p,e.u_pitched_scale)}),symbolTextAndIcon:(p,e)=>({u_is_size_zoom_constant:new h.aH(p,e.u_is_size_zoom_constant),u_is_size_feature_constant:new h.aH(p,e.u_is_size_feature_constant),u_size_t:new h.aI(p,e.u_size_t),u_size:new h.aI(p,e.u_size),u_camera_to_center_distance:new h.aI(p,e.u_camera_to_center_distance),u_pitch:new h.aI(p,e.u_pitch),u_rotate_symbol:new h.aH(p,e.u_rotate_symbol),u_aspect_ratio:new h.aI(p,e.u_aspect_ratio),u_fade_change:new h.aI(p,e.u_fade_change),u_matrix:new h.aJ(p,e.u_matrix),u_label_plane_matrix:new h.aJ(p,e.u_label_plane_matrix),u_coord_matrix:new h.aJ(p,e.u_coord_matrix),u_is_text:new h.aH(p,e.u_is_text),u_pitch_with_map:new h.aH(p,e.u_pitch_with_map),u_is_along_line:new h.aH(p,e.u_is_along_line),u_is_variable_anchor:new h.aH(p,e.u_is_variable_anchor),u_texsize:new h.aO(p,e.u_texsize),u_texsize_icon:new h.aO(p,e.u_texsize_icon),u_texture:new h.aH(p,e.u_texture),u_texture_icon:new h.aH(p,e.u_texture_icon),u_gamma_scale:new h.aI(p,e.u_gamma_scale),u_device_pixel_ratio:new h.aI(p,e.u_device_pixel_ratio),u_is_halo:new h.aH(p,e.u_is_halo),u_translation:new h.aO(p,e.u_translation),u_pitched_scale:new h.aI(p,e.u_pitched_scale)}),background:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_opacity:new h.aI(p,e.u_opacity),u_color:new h.aL(p,e.u_color)}),backgroundPattern:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_opacity:new h.aI(p,e.u_opacity),u_image:new h.aH(p,e.u_image),u_pattern_tl_a:new h.aO(p,e.u_pattern_tl_a),u_pattern_br_a:new h.aO(p,e.u_pattern_br_a),u_pattern_tl_b:new h.aO(p,e.u_pattern_tl_b),u_pattern_br_b:new h.aO(p,e.u_pattern_br_b),u_texsize:new h.aO(p,e.u_texsize),u_mix:new h.aI(p,e.u_mix),u_pattern_size_a:new h.aO(p,e.u_pattern_size_a),u_pattern_size_b:new h.aO(p,e.u_pattern_size_b),u_scale_a:new h.aI(p,e.u_scale_a),u_scale_b:new h.aI(p,e.u_scale_b),u_pixel_coord_upper:new h.aO(p,e.u_pixel_coord_upper),u_pixel_coord_lower:new h.aO(p,e.u_pixel_coord_lower),u_tile_units_to_pixels:new h.aI(p,e.u_tile_units_to_pixels)}),terrain:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_texture:new h.aH(p,e.u_texture),u_ele_delta:new h.aI(p,e.u_ele_delta),u_fog_matrix:new h.aJ(p,e.u_fog_matrix),u_fog_color:new h.aL(p,e.u_fog_color),u_fog_ground_blend:new h.aI(p,e.u_fog_ground_blend),u_fog_ground_blend_opacity:new h.aI(p,e.u_fog_ground_blend_opacity),u_horizon_color:new h.aL(p,e.u_horizon_color),u_horizon_fog_blend:new h.aI(p,e.u_horizon_fog_blend)}),terrainDepth:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_ele_delta:new h.aI(p,e.u_ele_delta)}),terrainCoords:(p,e)=>({u_matrix:new h.aJ(p,e.u_matrix),u_texture:new h.aH(p,e.u_texture),u_terrain_coords_id:new h.aI(p,e.u_terrain_coords_id),u_ele_delta:new h.aI(p,e.u_ele_delta)}),sky:(p,e)=>({u_sky_color:new h.aL(p,e.u_sky_color),u_horizon_color:new h.aL(p,e.u_horizon_color),u_horizon:new h.aI(p,e.u_horizon),u_sky_horizon_blend:new h.aI(p,e.u_sky_horizon_blend)})};class Ts{constructor(e,s,a){this.context=e;const l=e.gl;this.buffer=l.createBuffer(),this.dynamicDraw=!!a,this.context.unbindVAO(),e.bindElementBuffer.set(this.buffer),l.bufferData(l.ELEMENT_ARRAY_BUFFER,s.arrayBuffer,this.dynamicDraw?l.DYNAMIC_DRAW:l.STATIC_DRAW),this.dynamicDraw||delete s.arrayBuffer}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(e){const s=this.context.gl;if(!this.dynamicDraw)throw new Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),s.bufferSubData(s.ELEMENT_ARRAY_BUFFER,0,e.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}const Zh={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class rl{constructor(e,s,a,l){this.length=s.length,this.attributes=a,this.itemSize=s.bytesPerElement,this.dynamicDraw=l,this.context=e;const d=e.gl;this.buffer=d.createBuffer(),e.bindVertexBuffer.set(this.buffer),d.bufferData(d.ARRAY_BUFFER,s.arrayBuffer,this.dynamicDraw?d.DYNAMIC_DRAW:d.STATIC_DRAW),this.dynamicDraw||delete s.arrayBuffer}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(e){if(e.length!==this.length)throw new Error(`Length of new data is ${e.length}, which doesn't match current length of ${this.length}`);const s=this.context.gl;this.bind(),s.bufferSubData(s.ARRAY_BUFFER,0,e.arrayBuffer)}enableAttributes(e,s){for(let a=0;a0){const ye=h.H();h.aQ(ye,Y.placementInvProjMatrix,p.transform.glCoordMatrix),h.aQ(ye,ye,Y.placementViewportMatrix),I.push({circleArray:pe,circleOffset:C,transform:ae.posMatrix,invTransform:ye,coord:ae}),A+=pe.length/4,C=A}ue&&w.draw(d,v.LINES,Ot.disabled,ui.disabled,p.colorModeForRenderPass(),ei.disabled,{u_matrix:ae.posMatrix,u_pixel_extrude_scale:[1/(M=p.transform).width,1/M.height]},p.style.map.terrain&&p.style.map.terrain.getTerrainData(ae),s.id,ue.layoutVertexBuffer,ue.indexBuffer,ue.segments,null,p.transform.zoom,null,null,ue.collisionVertexBuffer)}var M;if(!l||!I.length)return;const O=p.useProgram("collisionCircle"),V=new h.aR;V.resize(4*A),V._trim();let H=0;for(const se of I)for(let ae=0;ae=0&&(se[Y.associatedIconIndex]={shiftedAnchor:bt,angle:yi})}else ut(Y.numGlyphs,ee)}if(A){re.clear();const ae=p.icon.placedSymbolArray;for(let Y=0;Yp.style.map.terrain.getElevation(Ne,Wn,Ia):null,Ls=s.layout.get("text-rotation-alignment")==="map";j(rt,Ne.posMatrix,p,l,Zn,cs,se,A,Ls,ee,Ne.toUnwrapped(),H.width,H.height,In,Ei)}const jr=Ne.posMatrix,hs=l&&Re||Cl,Nr=ae||hs?na:Zn,Ks=wa,gr=Ze&&s.paint.get(l?"text-halo-width":"icon-halo-width").constantOr(1)!==0;let sr;sr=Ze?rt.iconsInText?el(bt.kind,$t,Y,se,ae,hs,p,jr,Nr,Ks,In,rr,fr,Je):ho(bt.kind,$t,Y,se,ae,hs,p,jr,Nr,Ks,In,l,rr,!0,Je):_c(bt.kind,$t,Y,se,ae,hs,p,jr,Nr,Ks,In,l,rr,Je);const ai={program:Pt,buffers:It,uniformValues:sr,atlasTexture:ls,atlasTextureIcon:mr,atlasInterpolation:vi,atlasInterpolationIcon:Er,isSDF:Ze,hasHalo:gr};if(pe&&rt.canOverlap){ye=!0;const Ei=It.segments.get();for(const Ls of Ei)qe.push({segments:new h.a0([Ls]),sortKey:Ls.sortKey,state:ai,terrainData:xi})}else qe.push({segments:It.segments,sortKey:0,state:ai,terrainData:xi})}ye&&qe.sort((Ne,Be)=>Ne.sortKey-Be.sortKey);for(const Ne of qe){const Be=Ne.state;if(O.activeTexture.set(V.TEXTURE0),Be.atlasTexture.bind(Be.atlasInterpolation,V.CLAMP_TO_EDGE),Be.atlasTextureIcon&&(O.activeTexture.set(V.TEXTURE1),Be.atlasTextureIcon&&Be.atlasTextureIcon.bind(Be.atlasInterpolationIcon,V.CLAMP_TO_EDGE)),Be.isSDF){const rt=Be.uniformValues;Be.hasHalo&&(rt.u_is_halo=1,oa(Be.buffers,Ne.segments,s,p,Be.program,Ce,C,M,rt,Ne.terrainData)),rt.u_is_halo=0}oa(Be.buffers,Ne.segments,s,p,Be.program,Ce,C,M,Be.uniformValues,Ne.terrainData)}}function oa(p,e,s,a,l,d,v,w,I,A){const C=a.context;l.draw(C,C.gl.TRIANGLES,d,v,w,ei.disabled,I,A,s.id,p.layoutVertexBuffer,p.indexBuffer,e,s.paint,a.transform.zoom,p.programConfigurations.get(s.id),p.dynamicLayoutVertexBuffer,p.opacityVertexBuffer)}function _n(p,e,s,a){const l=p.context,d=l.gl,v=ui.disabled,w=new Pi([d.ONE,d.ONE],h.aM.transparent,[!0,!0,!0,!0]),I=e.getBucket(s);if(!I)return;const A=a.key;let C=s.heatmapFbos.get(A);C||(C=mo(l,e.tileSize,e.tileSize),s.heatmapFbos.set(A,C)),l.bindFramebuffer.set(C.framebuffer),l.viewport.set([0,0,e.tileSize,e.tileSize]),l.clear({color:h.aM.transparent});const M=I.programConfigurations.get(s.id),O=p.useProgram("heatmap",M),V=p.style.map.terrain.getTerrainData(a);O.draw(l,d.TRIANGLES,Ot.disabled,v,w,ei.disabled,Ir(a.posMatrix,e,p.transform.zoom,s.paint.get("heatmap-intensity")),V,s.id,I.layoutVertexBuffer,I.indexBuffer,I.segments,s.paint,p.transform.zoom,M)}function aa(p,e,s){const a=p.context,l=a.gl;a.setColorMode(p.colorModeForRenderPass());const d=Nn(a,e),v=s.key,w=e.heatmapFbos.get(v);w&&(a.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,w.colorAttachment.get()),a.activeTexture.set(l.TEXTURE1),d.bind(l.LINEAR,l.CLAMP_TO_EDGE),p.useProgram("heatmapTexture").draw(a,l.TRIANGLES,Ot.disabled,ui.disabled,p.colorModeForRenderPass(),ei.disabled,Yo(p,e,0,1),null,e.id,p.rasterBoundsBuffer,p.quadTriangleIndexBuffer,p.rasterBoundsSegments,e.paint,p.transform.zoom),w.destroy(),e.heatmapFbos.delete(v))}function mo(p,e,s){var a,l;const d=p.gl,v=d.createTexture();d.bindTexture(d.TEXTURE_2D,v),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_S,d.CLAMP_TO_EDGE),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_WRAP_T,d.CLAMP_TO_EDGE),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MIN_FILTER,d.LINEAR),d.texParameteri(d.TEXTURE_2D,d.TEXTURE_MAG_FILTER,d.LINEAR);const w=(a=p.HALF_FLOAT)!==null&&a!==void 0?a:d.UNSIGNED_BYTE,I=(l=p.RGBA16F)!==null&&l!==void 0?l:d.RGBA;d.texImage2D(d.TEXTURE_2D,0,I,e,s,0,d.RGBA,w,null);const A=p.createFramebuffer(e,s,!1,!1);return A.colorAttachment.set(v),A}function Nn(p,e){return e.colorRampTexture||(e.colorRampTexture=new Lt(p,e.colorRamp,p.gl.RGBA)),e.colorRampTexture}function _o(p,e,s,a,l){if(!s||!a||!a.imageAtlas)return;const d=a.imageAtlas.patternPositions;let v=d[s.to.toString()],w=d[s.from.toString()];if(!v&&w&&(v=w),!w&&v&&(w=v),!v||!w){const I=l.getPaintProperty(e);v=d[I],w=d[I]}v&&w&&p.setConstantPatternPositions(v,w)}function dl(p,e,s,a,l,d,v){const w=p.context.gl,I="fill-pattern",A=s.paint.get(I),C=A&&A.constantOr(1),M=s.getCrossfadeParameters();let O,V,H,ee,re;v?(V=C&&!s.getPaintProperty("fill-outline-color")?"fillOutlinePattern":"fillOutline",O=w.LINES):(V=C?"fillPattern":"fill",O=w.TRIANGLES);const se=A.constantOr(null);for(const ae of a){const Y=e.getTile(ae);if(C&&!Y.patternsLoaded())continue;const ue=Y.getBucket(s);if(!ue)continue;const pe=ue.programConfigurations.get(s.id),ye=p.useProgram(V,pe),Ce=p.style.map.terrain&&p.style.map.terrain.getTerrainData(ae);C&&(p.context.activeTexture.set(w.TEXTURE0),Y.imageAtlasTexture.bind(w.LINEAR,w.CLAMP_TO_EDGE),pe.updatePaintBuffers(M)),_o(pe,I,se,Y,s);const Re=Ce?ae:null,qe=p.translatePosMatrix(Re?Re.posMatrix:ae.posMatrix,Y,s.paint.get("fill-translate"),s.paint.get("fill-translate-anchor"));if(v){ee=ue.indexBuffer2,re=ue.segments2;const Je=[w.drawingBufferWidth,w.drawingBufferHeight];H=V==="fillOutlinePattern"&&C?dc(qe,p,M,Y,Je):Uh(qe,Je)}else ee=ue.indexBuffer,re=ue.segments,H=C?uc(qe,p,M,Y):On(qe);ye.draw(p.context,O,l,p.stencilModeForClipping(ae),d,ei.disabled,H,Ce,s.id,ue.layoutVertexBuffer,ee,re,s.paint,p.transform.zoom,pe)}}function Ws(p,e,s,a,l,d,v){const w=p.context,I=w.gl,A="fill-extrusion-pattern",C=s.paint.get(A),M=C.constantOr(1),O=s.getCrossfadeParameters(),V=s.paint.get("fill-extrusion-opacity"),H=C.constantOr(null);for(const ee of a){const re=e.getTile(ee),se=re.getBucket(s);if(!se)continue;const ae=p.style.map.terrain&&p.style.map.terrain.getTerrainData(ee),Y=se.programConfigurations.get(s.id),ue=p.useProgram(M?"fillExtrusionPattern":"fillExtrusion",Y);M&&(p.context.activeTexture.set(I.TEXTURE0),re.imageAtlasTexture.bind(I.LINEAR,I.CLAMP_TO_EDGE),Y.updatePaintBuffers(O)),_o(Y,A,H,re,s);const pe=p.translatePosMatrix(ee.posMatrix,re,s.paint.get("fill-extrusion-translate"),s.paint.get("fill-extrusion-translate-anchor")),ye=s.paint.get("fill-extrusion-vertical-gradient"),Ce=M?Ko(pe,p,ye,V,ee,O,re):lo(pe,p,ye,V);ue.draw(w,w.gl.TRIANGLES,l,d,v,ei.backCCW,Ce,ae,s.id,se.layoutVertexBuffer,se.indexBuffer,se.segments,s.paint,p.transform.zoom,Y,p.style.map.terrain&&se.centroidVertexBuffer)}}function $n(p,e,s,a,l,d,v){const w=p.context,I=w.gl,A=s.fbo;if(!A)return;const C=p.useProgram("hillshade"),M=p.style.map.terrain&&p.style.map.terrain.getTerrainData(e);w.activeTexture.set(I.TEXTURE0),I.bindTexture(I.TEXTURE_2D,A.colorAttachment.get()),C.draw(w,I.TRIANGLES,l,d,v,ei.disabled,((O,V,H,ee)=>{const re=H.paint.get("hillshade-shadow-color"),se=H.paint.get("hillshade-highlight-color"),ae=H.paint.get("hillshade-accent-color");let Y=H.paint.get("hillshade-illumination-direction")*(Math.PI/180);H.paint.get("hillshade-illumination-anchor")==="viewport"&&(Y-=O.transform.angle);const ue=!O.options.moving;return{u_matrix:ee?ee.posMatrix:O.transform.calculatePosMatrix(V.tileID.toUnwrapped(),ue),u_image:0,u_latrange:Qo(0,V.tileID),u_light:[H.paint.get("hillshade-exaggeration"),Y],u_shadow:re,u_highlight:se,u_accent:ae}})(p,s,a,M?e:null),M,a.id,p.rasterBoundsBuffer,p.quadTriangleIndexBuffer,p.rasterBoundsSegments)}function Mc(p,e,s,a,l,d){const v=p.context,w=v.gl,I=e.dem;if(I&&I.data){const A=I.dim,C=I.stride,M=I.getPixels();if(v.activeTexture.set(w.TEXTURE1),v.pixelStoreUnpackPremultiplyAlpha.set(!1),e.demTexture=e.demTexture||p.getTileTexture(C),e.demTexture){const V=e.demTexture;V.update(M,{premultiply:!1}),V.bind(w.NEAREST,w.CLAMP_TO_EDGE)}else e.demTexture=new Lt(v,M,w.RGBA,{premultiply:!1}),e.demTexture.bind(w.NEAREST,w.CLAMP_TO_EDGE);v.activeTexture.set(w.TEXTURE0);let O=e.fbo;if(!O){const V=new Lt(v,{width:A,height:A,data:null},w.RGBA);V.bind(w.LINEAR,w.CLAMP_TO_EDGE),O=e.fbo=v.createFramebuffer(A,A,!0,!1),O.colorAttachment.set(V.texture)}v.bindFramebuffer.set(O.framebuffer),v.viewport.set([0,0,A,A]),p.useProgram("hillshadePrepare").draw(v,w.TRIANGLES,a,l,d,ei.disabled,((V,H)=>{const ee=H.stride,re=h.H();return h.aP(re,0,h.X,-h.X,0,0,1),h.J(re,re,[0,-h.X,0]),{u_matrix:re,u_image:1,u_dimension:[ee,ee],u_zoom:V.overscaledZ,u_unpack:H.getUnpackVector()}})(e.tileID,I),null,s.id,p.rasterBoundsBuffer,p.quadTriangleIndexBuffer,p.rasterBoundsSegments),e.needsHillshadePrepare=!1}}function pl(p,e,s,a,l,d){const v=a.paint.get("raster-fade-duration");if(!d&&v>0){const w=J.now(),I=(w-p.timeAdded)/v,A=e?(w-e.timeAdded)/v:-1,C=s.getSource(),M=l.coveringZoomLevel({tileSize:C.tileSize,roundZoom:C.roundZoom}),O=!e||Math.abs(e.tileID.overscaledZ-M)>Math.abs(p.tileID.overscaledZ-M),V=O&&p.refreshedUponExpiration?1:h.ac(O?I:1-A,0,1);return p.refreshedUponExpiration&&I>=1&&(p.refreshedUponExpiration=!1),e?{opacity:1,mix:1-V}:{opacity:V,mix:0}}return{opacity:1,mix:0}}const Ht=new h.aM(1,0,0,1),la=new h.aM(0,1,0,1),ru=new h.aM(0,0,1,1),zc=new h.aM(1,0,1,1),go=new h.aM(0,1,1,1);function Dc(p,e,s,a){yo(p,0,e+s/2,p.transform.width,s,a)}function Lc(p,e,s,a){yo(p,e-s/2,0,s,p.transform.height,a)}function yo(p,e,s,a,l,d){const v=p.context,w=v.gl;w.enable(w.SCISSOR_TEST),w.scissor(e*p.pixelRatio,s*p.pixelRatio,a*p.pixelRatio,l*p.pixelRatio),v.clear({color:d}),w.disable(w.SCISSOR_TEST)}function su(p,e,s){const a=p.context,l=a.gl,d=s.posMatrix,v=p.useProgram("debug"),w=Ot.disabled,I=ui.disabled,A=p.colorModeForRenderPass(),C="$debug",M=p.style.map.terrain&&p.style.map.terrain.getTerrainData(s);a.activeTexture.set(l.TEXTURE0);const O=e.getTileByID(s.key).latestRawTileData,V=Math.floor((O&&O.byteLength||0)/1024),H=e.getTile(s).tileSize,ee=512/Math.min(H,512)*(s.overscaledZ/p.transform.zoom)*.5;let re=s.canonical.toString();s.overscaledZ!==s.canonical.z&&(re+=` => ${s.overscaledZ}`),function(se,ae){se.initDebugOverlayCanvas();const Y=se.debugOverlayCanvas,ue=se.context.gl,pe=se.debugOverlayCanvas.getContext("2d");pe.clearRect(0,0,Y.width,Y.height),pe.shadowColor="white",pe.shadowBlur=2,pe.lineWidth=1.5,pe.strokeStyle="white",pe.textBaseline="top",pe.font="bold 36px Open Sans, sans-serif",pe.fillText(ae,5,5),pe.strokeText(ae,5,5),se.debugOverlayTexture.update(Y),se.debugOverlayTexture.bind(ue.LINEAR,ue.CLAMP_TO_EDGE)}(p,`${re} ${V}kB`),v.draw(a,l.TRIANGLES,w,I,Pi.alphaBlended,ei.disabled,co(d,h.aM.transparent,ee),null,C,p.debugBuffer,p.quadTriangleIndexBuffer,p.debugSegments),v.draw(a,l.LINE_STRIP,w,I,A,ei.disabled,co(d,h.aM.red),M,C,p.debugBuffer,p.tileBorderIndexBuffer,p.debugSegments)}function ca(p,e,s){const a=p.context,l=a.gl,d=p.colorModeForRenderPass(),v=new Ot(l.LEQUAL,Ot.ReadWrite,p.depthRangeFor3D),w=p.useProgram("terrain"),I=e.getTerrainMesh();a.bindFramebuffer.set(null),a.viewport.set([0,0,p.width,p.height]);for(const A of s){const C=p.renderToTexture.getTexture(A),M=e.getTerrainData(A.tileID);a.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,C.texture);const O=p.transform.calculatePosMatrix(A.tileID.toUnwrapped()),V=e.getMeshFrameDelta(p.transform.zoom),H=p.transform.calculateFogMatrix(A.tileID.toUnwrapped()),ee=Ya(O,V,H,p.style.sky,p.transform.pitch);w.draw(a,l.TRIANGLES,v,ui.disabled,d,ei.backCCW,ee,M,"terrain",I.vertexBuffer,I.indexBuffer,I.segments)}}class xo{constructor(e,s,a){this.vertexBuffer=e,this.indexBuffer=s,this.segments=a}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}class ha{constructor(e,s){this.context=new iu(e),this.transform=s,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:h.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=pt.maxUnderzooming+pt.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Ja}resize(e,s,a){if(this.width=Math.floor(e*a),this.height=Math.floor(s*a),this.pixelRatio=a,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const l of this.style._order)this.style._layers[l].resize()}setup(){const e=this.context,s=new h.aX;s.emplaceBack(0,0),s.emplaceBack(h.X,0),s.emplaceBack(0,h.X),s.emplaceBack(h.X,h.X),this.tileExtentBuffer=e.createVertexBuffer(s,cn.members),this.tileExtentSegments=h.a0.simpleSegment(0,0,4,2);const a=new h.aX;a.emplaceBack(0,0),a.emplaceBack(h.X,0),a.emplaceBack(0,h.X),a.emplaceBack(h.X,h.X),this.debugBuffer=e.createVertexBuffer(a,cn.members),this.debugSegments=h.a0.simpleSegment(0,0,4,5);const l=new h.$;l.emplaceBack(0,0,0,0),l.emplaceBack(h.X,0,h.X,0),l.emplaceBack(0,h.X,0,h.X),l.emplaceBack(h.X,h.X,h.X,h.X),this.rasterBoundsBuffer=e.createVertexBuffer(l,es.members),this.rasterBoundsSegments=h.a0.simpleSegment(0,0,4,2);const d=new h.aX;d.emplaceBack(0,0),d.emplaceBack(1,0),d.emplaceBack(0,1),d.emplaceBack(1,1),this.viewportBuffer=e.createVertexBuffer(d,cn.members),this.viewportSegments=h.a0.simpleSegment(0,0,4,2);const v=new h.aZ;v.emplaceBack(0),v.emplaceBack(1),v.emplaceBack(3),v.emplaceBack(2),v.emplaceBack(0),this.tileBorderIndexBuffer=e.createIndexBuffer(v);const w=new h.aY;w.emplaceBack(0,1,2),w.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=e.createIndexBuffer(w);const I=this.context.gl;this.stencilClearMode=new ui({func:I.ALWAYS,mask:0},0,255,I.ZERO,I.ZERO,I.ZERO)}clearStencil(){const e=this.context,s=e.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const a=h.H();h.aP(a,0,this.width,this.height,0,0,1),h.K(a,a,[s.drawingBufferWidth,s.drawingBufferHeight,0]),this.useProgram("clippingMask").draw(e,s.TRIANGLES,Ot.disabled,this.stencilClearMode,Pi.disabled,ei.disabled,Sr(a),null,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(e,s){if(this.currentStencilSource===e.source||!e.isTileClipped()||!s||!s.length)return;this.currentStencilSource=e.source;const a=this.context,l=a.gl;this.nextStencilID+s.length>256&&this.clearStencil(),a.setColorMode(Pi.disabled),a.setDepthMode(Ot.disabled);const d=this.useProgram("clippingMask");this._tileClippingMaskIDs={};for(const v of s){const w=this._tileClippingMaskIDs[v.key]=this.nextStencilID++,I=this.style.map.terrain&&this.style.map.terrain.getTerrainData(v);d.draw(a,l.TRIANGLES,Ot.disabled,new ui({func:l.ALWAYS,mask:0},w,255,l.KEEP,l.KEEP,l.REPLACE),Pi.disabled,ei.disabled,Sr(v.posMatrix),I,"$clipping",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const e=this.nextStencilID++,s=this.context.gl;return new ui({func:s.NOTEQUAL,mask:255},e,255,s.KEEP,s.KEEP,s.REPLACE)}stencilModeForClipping(e){const s=this.context.gl;return new ui({func:s.EQUAL,mask:255},this._tileClippingMaskIDs[e.key],0,s.KEEP,s.KEEP,s.REPLACE)}stencilConfigForOverlap(e){const s=this.context.gl,a=e.sort((v,w)=>w.overscaledZ-v.overscaledZ),l=a[a.length-1].overscaledZ,d=a[0].overscaledZ-l+1;if(d>1){this.currentStencilSource=void 0,this.nextStencilID+d>256&&this.clearStencil();const v={};for(let w=0;w({u_sky_color:se.properties.get("sky-color"),u_horizon_color:se.properties.get("horizon-color"),u_horizon:(ae.height/2+ae.getHorizon())*Y,u_sky_horizon_blend:se.properties.get("sky-horizon-blend")*ae.height/2*Y}))(A,I.style.map.transform,I.pixelRatio),V=new Ot(M.LEQUAL,Ot.ReadWrite,[0,1]),H=ui.disabled,ee=I.colorModeForRenderPass(),re=I.useProgram("sky");if(!A.mesh){const se=new h.aX;se.emplaceBack(-1,-1),se.emplaceBack(1,-1),se.emplaceBack(1,1),se.emplaceBack(-1,1);const ae=new h.aY;ae.emplaceBack(0,1,2),ae.emplaceBack(0,2,3),A.mesh=new xo(C.createVertexBuffer(se,cn.members),C.createIndexBuffer(ae),h.a0.simpleSegment(0,0,se.length,ae.length))}re.draw(C,M.TRIANGLES,V,H,ee,ei.disabled,O,void 0,"sky",A.mesh.vertexBuffer,A.mesh.indexBuffer,A.mesh.segments)}(this,this.style.sky),this._showOverdrawInspector=s.showOverdrawInspector,this.depthRangeFor3D=[0,1-(e._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=a.length-1;this.currentLayer>=0;this.currentLayer--){const I=this.style._layers[a[this.currentLayer]],A=l[I.source],C=d[I.source];this._renderTileClippingMasks(I,C),this.renderLayer(this,A,I,C)}for(this.renderPass="translucent",this.currentLayer=0;this.currentLayerre.source&&!re.isHidden(C)?[A.sourceCaches[re.source]]:[]),V=O.filter(re=>re.getSource().type==="vector"),H=O.filter(re=>re.getSource().type!=="vector"),ee=re=>{(!M||M.getSource().maxzoomee(re)),M||H.forEach(re=>ee(re)),M}(this.style,this.transform.zoom);I&&function(A,C,M){for(let O=0;O0),l&&(h.b0(s,a),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(d,v){const w=d.context,I=w.gl,A=Pi.unblended,C=new Ot(I.LEQUAL,Ot.ReadWrite,[0,1]),M=v.getTerrainMesh(),O=v.sourceCache.getRenderableTiles(),V=d.useProgram("terrainDepth");w.bindFramebuffer.set(v.getFramebuffer("depth").framebuffer),w.viewport.set([0,0,d.width/devicePixelRatio,d.height/devicePixelRatio]),w.clear({color:h.aM.transparent,depth:1});for(const H of O){const ee=v.getTerrainData(H.tileID),re={u_matrix:d.transform.calculatePosMatrix(H.tileID.toUnwrapped()),u_ele_delta:v.getMeshFrameDelta(d.transform.zoom)};V.draw(w,I.TRIANGLES,C,ui.disabled,A,ei.backCCW,re,ee,"terrain",M.vertexBuffer,M.indexBuffer,M.segments)}w.bindFramebuffer.set(null),w.viewport.set([0,0,d.width,d.height])}(this,this.style.map.terrain),function(d,v){const w=d.context,I=w.gl,A=Pi.unblended,C=new Ot(I.LEQUAL,Ot.ReadWrite,[0,1]),M=v.getTerrainMesh(),O=v.getCoordsTexture(),V=v.sourceCache.getRenderableTiles(),H=d.useProgram("terrainCoords");w.bindFramebuffer.set(v.getFramebuffer("coords").framebuffer),w.viewport.set([0,0,d.width/devicePixelRatio,d.height/devicePixelRatio]),w.clear({color:h.aM.transparent,depth:1}),v.coordsIndex=[];for(const ee of V){const re=v.getTerrainData(ee.tileID);w.activeTexture.set(I.TEXTURE0),I.bindTexture(I.TEXTURE_2D,O.texture);const se={u_matrix:d.transform.calculatePosMatrix(ee.tileID.toUnwrapped()),u_terrain_coords_id:(255-v.coordsIndex.length)/255,u_texture:0,u_ele_delta:v.getMeshFrameDelta(d.transform.zoom)};H.draw(w,I.TRIANGLES,C,ui.disabled,A,ei.backCCW,se,re,"terrain",M.vertexBuffer,M.indexBuffer,M.segments),v.coordsIndex.push(ee.tileID.key)}w.bindFramebuffer.set(null),w.viewport.set([0,0,d.width,d.height])}(this,this.style.map.terrain))}renderLayer(e,s,a,l){if(!a.isHidden(this.transform.zoom)&&(a.type==="background"||a.type==="custom"||(l||[]).length))switch(this.id=a.id,a.type){case"symbol":(function(d,v,w,I,A){if(d.renderPass!=="translucent")return;const C=ui.disabled,M=d.colorModeForRenderPass();(w._unevaluatedLayout.hasValue("text-variable-anchor")||w._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(O,V,H,ee,re,se,ae,Y,ue){const pe=V.transform,ye=Qt(),Ce=re==="map",Re=se==="map";for(const qe of O){const Je=ee.getTile(qe),Ne=Je.getBucket(H);if(!Ne||!Ne.text||!Ne.text.segments.get().length)continue;const Be=h.ag(Ne.textSizeData,pe.zoom),rt=Et(Je,1,V.transform.zoom),It=Br(qe.posMatrix,Re,Ce,V.transform,rt),Ue=H.layout.get("icon-text-fit")!=="none"&&Ne.hasIconData();if(Be){const Ze=Math.pow(2,pe.zoom-Je.tileID.overscaledZ),bt=V.style.map.terrain?(Pt,$t)=>V.style.map.terrain.getElevation(qe,Pt,$t):null,yi=ye.translatePosition(pe,Je,ae,Y);Jr(Ne,Ce,Re,ue,pe,It,qe.posMatrix,Ze,Be,Ue,ye,yi,qe.toUnwrapped(),bt)}}}(I,d,w,v,w.layout.get("text-rotation-alignment"),w.layout.get("text-pitch-alignment"),w.paint.get("text-translate"),w.paint.get("text-translate-anchor"),A),w.paint.get("icon-opacity").constantOr(1)!==0&&ul(d,v,w,I,!1,w.paint.get("icon-translate"),w.paint.get("icon-translate-anchor"),w.layout.get("icon-rotation-alignment"),w.layout.get("icon-pitch-alignment"),w.layout.get("icon-keep-upright"),C,M),w.paint.get("text-opacity").constantOr(1)!==0&&ul(d,v,w,I,!0,w.paint.get("text-translate"),w.paint.get("text-translate-anchor"),w.layout.get("text-rotation-alignment"),w.layout.get("text-pitch-alignment"),w.layout.get("text-keep-upright"),C,M),v.map.showCollisionBoxes&&(fo(d,v,w,I,!0),fo(d,v,w,I,!1))})(e,s,a,l,this.style.placement.variableOffsets);break;case"circle":(function(d,v,w,I){if(d.renderPass!=="translucent")return;const A=w.paint.get("circle-opacity"),C=w.paint.get("circle-stroke-width"),M=w.paint.get("circle-stroke-opacity"),O=!w.layout.get("circle-sort-key").isConstant();if(A.constantOr(1)===0&&(C.constantOr(1)===0||M.constantOr(1)===0))return;const V=d.context,H=V.gl,ee=d.depthModeForSublayer(0,Ot.ReadOnly),re=ui.disabled,se=d.colorModeForRenderPass(),ae=[];for(let Y=0;YY.sortKey-ue.sortKey);for(const Y of ae){const{programConfiguration:ue,program:pe,layoutVertexBuffer:ye,indexBuffer:Ce,uniformValues:Re,terrainData:qe}=Y.state;pe.draw(V,H.TRIANGLES,ee,re,se,ei.disabled,Re,qe,w.id,ye,Ce,Y.segments,w.paint,d.transform.zoom,ue)}})(e,s,a,l);break;case"heatmap":(function(d,v,w,I){if(w.paint.get("heatmap-opacity")===0)return;const A=d.context;if(d.style.map.terrain){for(const C of I){const M=v.getTile(C);v.hasRenderableParent(C)||(d.renderPass==="offscreen"?_n(d,M,w,C):d.renderPass==="translucent"&&aa(d,w,C))}A.viewport.set([0,0,d.width,d.height])}else d.renderPass==="offscreen"?function(C,M,O,V){const H=C.context,ee=H.gl,re=ui.disabled,se=new Pi([ee.ONE,ee.ONE],h.aM.transparent,[!0,!0,!0,!0]);(function(ae,Y,ue){const pe=ae.gl;ae.activeTexture.set(pe.TEXTURE1),ae.viewport.set([0,0,Y.width/4,Y.height/4]);let ye=ue.heatmapFbos.get(h.aU);ye?(pe.bindTexture(pe.TEXTURE_2D,ye.colorAttachment.get()),ae.bindFramebuffer.set(ye.framebuffer)):(ye=mo(ae,Y.width/4,Y.height/4),ue.heatmapFbos.set(h.aU,ye))})(H,C,O),H.clear({color:h.aM.transparent});for(let ae=0;ae20&&C.texParameterf(C.TEXTURE_2D,A.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,A.extTextureFilterAnisotropicMax);const Ne=d.style.map.terrain&&d.style.map.terrain.getTerrainData(ae),Be=Ne?ae:null,rt=Be?Be.posMatrix:d.transform.calculatePosMatrix(ae.toUnwrapped(),se),It=Gh(rt,qe||[0,0],Re||1,Ce,w);M instanceof vr?O.draw(A,C.TRIANGLES,Y,ui.disabled,V,ei.disabled,It,Ne,w.id,M.boundsBuffer,d.quadTriangleIndexBuffer,M.boundsSegments):O.draw(A,C.TRIANGLES,Y,H[ae.overscaledZ],V,ei.disabled,It,Ne,w.id,d.rasterBoundsBuffer,d.quadTriangleIndexBuffer,d.rasterBoundsSegments)}})(e,s,a,l);break;case"background":(function(d,v,w,I){const A=w.paint.get("background-color"),C=w.paint.get("background-opacity");if(C===0)return;const M=d.context,O=M.gl,V=d.transform,H=V.tileSize,ee=w.paint.get("background-pattern");if(d.isPatternMissing(ee))return;const re=!ee&&A.a===1&&C===1&&d.opaquePassEnabledForLayer()?"opaque":"translucent";if(d.renderPass!==re)return;const se=ui.disabled,ae=d.depthModeForSublayer(0,re==="opaque"?Ot.ReadWrite:Ot.ReadOnly),Y=d.colorModeForRenderPass(),ue=d.useProgram(ee?"backgroundPattern":"background"),pe=I||V.coveringTiles({tileSize:H,terrain:d.style.map.terrain});ee&&(M.activeTexture.set(O.TEXTURE0),d.imageManager.bind(d.context));const ye=w.getCrossfadeParameters();for(const Ce of pe){const Re=I?Ce.posMatrix:d.transform.calculatePosMatrix(Ce.toUnwrapped()),qe=ee?tl(Re,C,d,ee,{tileID:Ce,tileSize:H},ye):ta(Re,C,A),Je=d.style.map.terrain&&d.style.map.terrain.getTerrainData(Ce);ue.draw(M,O.TRIANGLES,ae,se,Y,ei.disabled,qe,Je,w.id,d.tileExtentBuffer,d.quadTriangleIndexBuffer,d.tileExtentSegments)}})(e,0,a,l);break;case"custom":(function(d,v,w){const I=d.context,A=w.implementation;if(d.renderPass==="offscreen"){const C=A.prerender;C&&(d.setCustomLayerDefaults(),I.setColorMode(d.colorModeForRenderPass()),C.call(A,I.gl,d.transform.customLayerMatrix()),I.setDirty(),d.setBaseState())}else if(d.renderPass==="translucent"){d.setCustomLayerDefaults(),I.setColorMode(d.colorModeForRenderPass()),I.setStencilMode(ui.disabled);const C=A.renderingMode==="3d"?new Ot(d.context.gl.LEQUAL,Ot.ReadWrite,d.depthRangeFor3D):d.depthModeForSublayer(0,Ot.ReadOnly);I.setDepthMode(C),A.render(I.gl,d.transform.customLayerMatrix(),{farZ:d.transform.farZ,nearZ:d.transform.nearZ,fov:d.transform._fov,modelViewProjectionMatrix:d.transform.modelViewProjectionMatrix,projectionMatrix:d.transform.projectionMatrix}),I.setDirty(),d.setBaseState(),I.bindFramebuffer.set(null)}})(e,0,a)}}translatePosMatrix(e,s,a,l,d){if(!a[0]&&!a[1])return e;const v=d?l==="map"?this.transform.angle:0:l==="viewport"?-this.transform.angle:0;if(v){const A=Math.sin(v),C=Math.cos(v);a=[a[0]*C-a[1]*A,a[0]*A+a[1]*C]}const w=[d?a[0]:Et(s,a[0],this.transform.zoom),d?a[1]:Et(s,a[1],this.transform.zoom),0],I=new Float32Array(16);return h.J(I,e,w),I}saveTileTexture(e){const s=this._tileTextures[e.size[0]];s?s.push(e):this._tileTextures[e.size[0]]=[e]}getTileTexture(e){const s=this._tileTextures[e];return s&&s.length>0?s.pop():null}isPatternMissing(e){if(!e)return!1;if(!e.from||!e.to)return!0;const s=this.imageManager.getPattern(e.from.toString()),a=this.imageManager.getPattern(e.to.toString());return!s||!a}useProgram(e,s){this.cache=this.cache||{};const a=e+(s?s.cacheKey:"")+(this._showOverdrawInspector?"/overdraw":"")+(this.style.map.terrain?"/terrain":"");return this.cache[a]||(this.cache[a]=new Qa(this.context,Hs[e],s,il[e],this._showOverdrawInspector,this.style.map.terrain)),this.cache[a]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault()}setBaseState(){const e=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(e.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new Lt(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy()}overLimit(){const{drawingBufferWidth:e,drawingBufferHeight:s}=this.context.gl;return this.width!==e||this.height!==s}}class vo{constructor(e,s){this.points=e,this.planes=s}static fromInvProjectionMatrix(e,s,a){const l=Math.pow(2,a),d=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map(w=>{const I=1/(w=h.af([],w,e))[3]/s*l;return h.b1(w,w,[I,I,1/w[3],I])}),v=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map(w=>{const I=function(O,V){var H=V[0],ee=V[1],re=V[2],se=H*H+ee*ee+re*re;return se>0&&(se=1/Math.sqrt(se)),O[0]=V[0]*se,O[1]=V[1]*se,O[2]=V[2]*se,O}([],function(O,V,H){var ee=V[0],re=V[1],se=V[2],ae=H[0],Y=H[1],ue=H[2];return O[0]=re*ue-se*Y,O[1]=se*ae-ee*ue,O[2]=ee*Y-re*ae,O}([],yt([],d[w[0]],d[w[1]]),yt([],d[w[2]],d[w[1]]))),A=-((C=I)[0]*(M=d[w[1]])[0]+C[1]*M[1]+C[2]*M[2]);var C,M;return I.concat(A)});return new vo(d,v)}}class Un{constructor(e,s){this.min=e,this.max=s,this.center=function(a,l,d){return a[0]=.5*l[0],a[1]=.5*l[1],a[2]=.5*l[2],a}([],function(a,l,d){return a[0]=l[0]+d[0],a[1]=l[1]+d[1],a[2]=l[2]+d[2],a}([],this.min,this.max))}quadrant(e){const s=[e%2==0,e<2],a=Yt(this.min),l=Yt(this.max);for(let d=0;d=0&&v++;if(v===0)return 0;v!==s.length&&(a=!1)}if(a)return 2;for(let l=0;l<3;l++){let d=Number.MAX_VALUE,v=-Number.MAX_VALUE;for(let w=0;wthis.max[l]-this.min[l])return 0}return 1}}class bo{constructor(e=0,s=0,a=0,l=0){if(isNaN(e)||e<0||isNaN(s)||s<0||isNaN(a)||a<0||isNaN(l)||l<0)throw new Error("Invalid value for edge-insets, top, bottom, left and right must all be numbers");this.top=e,this.bottom=s,this.left=a,this.right=l}interpolate(e,s,a){return s.top!=null&&e.top!=null&&(this.top=h.y.number(e.top,s.top,a)),s.bottom!=null&&e.bottom!=null&&(this.bottom=h.y.number(e.bottom,s.bottom,a)),s.left!=null&&e.left!=null&&(this.left=h.y.number(e.left,s.left,a)),s.right!=null&&e.right!=null&&(this.right=h.y.number(e.right,s.right,a)),this}getCenter(e,s){const a=h.ac((this.left+e-this.right)/2,0,e),l=h.ac((this.top+s-this.bottom)/2,0,s);return new h.P(a,l)}equals(e){return this.top===e.top&&this.bottom===e.bottom&&this.left===e.left&&this.right===e.right}clone(){return new bo(this.top,this.bottom,this.left,this.right)}toJSON(){return{top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const wo=85.051129;class Vn{constructor(e,s,a,l,d){this.tileSize=512,this._renderWorldCopies=d===void 0||!!d,this._minZoom=e||0,this._maxZoom=s||22,this._minPitch=a??0,this._maxPitch=l??60,this.setMaxBounds(),this.width=0,this.height=0,this._center=new h.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new bo,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0}clone(){const e=new Vn(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return e.apply(this),e}apply(e){this.tileSize=e.tileSize,this.latRange=e.latRange,this.lngRange=e.lngRange,this.width=e.width,this.height=e.height,this._center=e._center,this._elevation=e._elevation,this.minElevationForCurrentTile=e.minElevationForCurrentTile,this.zoom=e.zoom,this.angle=e.angle,this._fov=e._fov,this._pitch=e._pitch,this._unmodified=e._unmodified,this._edgeInsets=e._edgeInsets.clone(),this._calcMatrices()}get minZoom(){return this._minZoom}set minZoom(e){this._minZoom!==e&&(this._minZoom=e,this.zoom=Math.max(this.zoom,e))}get maxZoom(){return this._maxZoom}set maxZoom(e){this._maxZoom!==e&&(this._maxZoom=e,this.zoom=Math.min(this.zoom,e))}get minPitch(){return this._minPitch}set minPitch(e){this._minPitch!==e&&(this._minPitch=e,this.pitch=Math.max(this.pitch,e))}get maxPitch(){return this._maxPitch}set maxPitch(e){this._maxPitch!==e&&(this._maxPitch=e,this.pitch=Math.min(this.pitch,e))}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(e){e===void 0?e=!0:e===null&&(e=!1),this._renderWorldCopies=e}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new h.P(this.width,this.height)}get bearing(){return-this.angle/Math.PI*180}set bearing(e){const s=-h.b3(e,-180,180)*Math.PI/180;this.angle!==s&&(this._unmodified=!1,this.angle=s,this._calcMatrices(),this.rotationMatrix=function(){var a=new h.A(4);return h.A!=Float32Array&&(a[1]=0,a[2]=0),a[0]=1,a[3]=1,a}(),function(a,l,d){var v=l[0],w=l[1],I=l[2],A=l[3],C=Math.sin(d),M=Math.cos(d);a[0]=v*M+I*C,a[1]=w*M+A*C,a[2]=v*-C+I*M,a[3]=w*-C+A*M}(this.rotationMatrix,this.rotationMatrix,this.angle))}get pitch(){return this._pitch/Math.PI*180}set pitch(e){const s=h.ac(e,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==s&&(this._unmodified=!1,this._pitch=s,this._calcMatrices())}get fov(){return this._fov/Math.PI*180}set fov(e){e=Math.max(.01,Math.min(60,e)),this._fov!==e&&(this._unmodified=!1,this._fov=e/180*Math.PI,this._calcMatrices())}get zoom(){return this._zoom}set zoom(e){const s=Math.min(Math.max(e,this.minZoom),this.maxZoom);this._zoom!==s&&(this._unmodified=!1,this._zoom=s,this.tileZoom=Math.max(0,Math.floor(s)),this.scale=this.zoomScale(s),this._constrain(),this._calcMatrices())}get center(){return this._center}set center(e){e.lat===this._center.lat&&e.lng===this._center.lng||(this._unmodified=!1,this._center=e,this._constrain(),this._calcMatrices())}get elevation(){return this._elevation}set elevation(e){e!==this._elevation&&(this._elevation=e,this._constrain(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}set padding(e){this._edgeInsets.equals(e)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,e,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(e){return this._edgeInsets.equals(e)}interpolatePadding(e,s,a){this._unmodified=!1,this._edgeInsets.interpolate(e,s,a),this._constrain(),this._calcMatrices()}coveringZoomLevel(e){const s=(e.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/e.tileSize));return Math.max(0,s)}getVisibleUnwrappedCoordinates(e){const s=[new h.b4(0,e)];if(this._renderWorldCopies){const a=this.pointCoordinate(new h.P(0,0)),l=this.pointCoordinate(new h.P(this.width,0)),d=this.pointCoordinate(new h.P(this.width,this.height)),v=this.pointCoordinate(new h.P(0,this.height)),w=Math.floor(Math.min(a.x,l.x,d.x,v.x)),I=Math.floor(Math.max(a.x,l.x,d.x,v.x)),A=1;for(let C=w-A;C<=I+A;C++)C!==0&&s.push(new h.b4(C,e))}return s}coveringTiles(e){var s,a;let l=this.coveringZoomLevel(e);const d=l;if(e.minzoom!==void 0&&le.maxzoom&&(l=e.maxzoom);const v=this.pointCoordinate(this.getCameraPoint()),w=h.Z.fromLngLat(this.center),I=Math.pow(2,l),A=[I*v.x,I*v.y,0],C=[I*w.x,I*w.y,0],M=vo.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,l);let O=e.minzoom||0;!e.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(O=l);const V=e.terrain?2/Math.min(this.tileSize,e.tileSize)*this.tileSize:3,H=Y=>({aabb:new Un([Y*I,0,0],[(Y+1)*I,I,0]),zoom:0,x:0,y:0,wrap:Y,fullyVisible:!1}),ee=[],re=[],se=l,ae=e.reparseOverscaled?d:l;if(this._renderWorldCopies)for(let Y=1;Y<=3;Y++)ee.push(H(-Y)),ee.push(H(Y));for(ee.push(H(0));ee.length>0;){const Y=ee.pop(),ue=Y.x,pe=Y.y;let ye=Y.fullyVisible;if(!ye){const Ne=Y.aabb.intersects(M);if(Ne===0)continue;ye=Ne===2}const Ce=e.terrain?A:C,Re=Y.aabb.distanceX(Ce),qe=Y.aabb.distanceY(Ce),Je=Math.max(Math.abs(Re),Math.abs(qe));if(Y.zoom===se||Je>V+(1<=O){const Ne=se-Y.zoom,Be=A[0]-.5-(ue<>1),It=Y.zoom+1;let Ue=Y.aabb.quadrant(Ne);if(e.terrain){const Ze=new h.S(It,Y.wrap,It,Be,rt),bt=e.terrain.getMinMaxElevation(Ze),yi=(s=bt.minElevation)!==null&&s!==void 0?s:this.elevation,Pt=(a=bt.maxElevation)!==null&&a!==void 0?a:this.elevation;Ue=new Un([Ue.min[0],Ue.min[1],yi],[Ue.max[0],Ue.max[1],Pt])}ee.push({aabb:Ue,zoom:It,x:Be,y:rt,wrap:Y.wrap,fullyVisible:ye})}}return re.sort((Y,ue)=>Y.distanceSq-ue.distanceSq).map(Y=>Y.tileID)}resize(e,s){this.width=e,this.height=s,this.pixelsToGLUnits=[2/e,-2/s],this._constrain(),this._calcMatrices()}get unmodified(){return this._unmodified}zoomScale(e){return Math.pow(2,e)}scaleZoom(e){return Math.log(e)/Math.LN2}project(e){const s=h.ac(e.lat,-85.051129,wo);return new h.P(h.O(e.lng)*this.worldSize,h.Q(s)*this.worldSize)}unproject(e){return new h.Z(e.x/this.worldSize,e.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return{lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(e){const s=this.elevation,a=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,l=this.pointLocation(this.centerPoint,e),d=e.getElevationForLngLatZoom(l,this.tileZoom);if(!(this.elevation-d))return;const v=a+s-d,w=Math.cos(this._pitch)*this.cameraToCenterDistance/v/h.b5(1,l.lat),I=this.scaleZoom(w/this.tileSize);this._elevation=d,this._center=l,this.zoom=I}setLocationAtPoint(e,s){const a=this.pointCoordinate(s),l=this.pointCoordinate(this.centerPoint),d=this.locationCoordinate(e),v=new h.Z(d.x-(a.x-l.x),d.y-(a.y-l.y));this.center=this.coordinateLocation(v),this._renderWorldCopies&&(this.center=this.center.wrap())}locationPoint(e,s){return s?this.coordinatePoint(this.locationCoordinate(e),s.getElevationForLngLatZoom(e,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(e))}pointLocation(e,s){return this.coordinateLocation(this.pointCoordinate(e,s))}locationCoordinate(e){return h.Z.fromLngLat(e)}coordinateLocation(e){return e&&e.toLngLat()}pointCoordinate(e,s){if(s){const O=s.pointCoordinate(e);if(O!=null)return O}const a=[e.x,e.y,0,1],l=[e.x,e.y,1,1];h.af(a,a,this.pixelMatrixInverse),h.af(l,l,this.pixelMatrixInverse);const d=a[3],v=l[3],w=a[1]/d,I=l[1]/v,A=a[2]/d,C=l[2]/v,M=A===C?0:(0-A)/(C-A);return new h.Z(h.y.number(a[0]/d,l[0]/v,M)/this.worldSize,h.y.number(w,I,M)/this.worldSize)}coordinatePoint(e,s=0,a=this.pixelMatrix){const l=[e.x*this.worldSize,e.y*this.worldSize,s,1];return h.af(l,l,a),new h.P(l[0]/l[3],l[1]/l[3])}getBounds(){const e=Math.max(0,this.height/2-this.getHorizon());return new be().extend(this.pointLocation(new h.P(0,e))).extend(this.pointLocation(new h.P(this.width,e))).extend(this.pointLocation(new h.P(this.width,this.height))).extend(this.pointLocation(new h.P(0,this.height)))}getMaxBounds(){return this.latRange&&this.latRange.length===2&&this.lngRange&&this.lngRange.length===2?new be([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(e){e?(this.lngRange=[e.getWest(),e.getEast()],this.latRange=[e.getSouth(),e.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,wo])}calculateTileMatrix(e){const s=e.canonical,a=this.worldSize/this.zoomScale(s.z),l=s.x+Math.pow(2,s.z)*e.wrap,d=h.an(new Float64Array(16));return h.J(d,d,[l*a,s.y*a,0]),h.K(d,d,[a/h.X,a/h.X,1]),d}calculatePosMatrix(e,s=!1){const a=e.key,l=s?this._alignedPosMatrixCache:this._posMatrixCache;if(l[a])return l[a];const d=this.calculateTileMatrix(e);return h.L(d,s?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,d),l[a]=new Float32Array(d),l[a]}calculateFogMatrix(e){const s=e.key,a=this._fogMatrixCache;if(a[s])return a[s];const l=this.calculateTileMatrix(e);return h.L(l,this.fogMatrix,l),a[s]=new Float32Array(l),a[s]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(e,s){s=h.ac(+s,this.minZoom,this.maxZoom);const a={center:new h.N(e.lng,e.lat),zoom:s};let l=this.lngRange;if(!this._renderWorldCopies&&l===null){const Y=179.9999999999;l=[-Y,Y]}const d=this.tileSize*this.zoomScale(a.zoom);let v=0,w=d,I=0,A=d,C=0,M=0;const{x:O,y:V}=this.size;if(this.latRange){const Y=this.latRange;v=h.Q(Y[1])*d,w=h.Q(Y[0])*d,w-vw&&(se=w-Y)}if(l){const Y=(I+A)/2;let ue=H;this._renderWorldCopies&&(ue=h.b3(H,Y-d/2,Y+d/2));const pe=O/2;ue-peA&&(re=A-pe)}if(re!==void 0||se!==void 0){const Y=new h.P(re??H,se??ee);a.center=this.unproject.call({worldSize:d},Y).wrap()}return a}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const e=this._unmodified,{center:s,zoom:a}=this.getConstrained(this.center,this.zoom);this.center=s,this.zoom=a,this._unmodified=e,this._constraining=!1}_calcMatrices(){if(!this.height)return;const e=this.centerOffset,s=this.point.x,a=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=h.b5(1,this.center.lat)*this.worldSize;let l=h.an(new Float64Array(16));h.K(l,l,[this.width/2,-this.height/2,1]),h.J(l,l,[1,-1,0]),this.labelPlaneMatrix=l,l=h.an(new Float64Array(16)),h.K(l,l,[1,-1,1]),h.J(l,l,[-1,-1,0]),h.K(l,l,[2/this.width,2/this.height,1]),this.glCoordMatrix=l;const d=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),v=Math.min(this.elevation,this.minElevationForCurrentTile),w=d-v*this._pixelPerMeter/Math.cos(this._pitch),I=v<0?w:d,A=Math.PI/2+this._pitch,C=this._fov*(.5+e.y/this.height),M=Math.sin(C)*I/Math.sin(h.ac(Math.PI-A-C,.01,Math.PI-.01)),O=this.getHorizon(),V=2*Math.atan(O/this.cameraToCenterDistance)*(.5+e.y/(2*O)),H=Math.sin(V)*I/Math.sin(h.ac(Math.PI-A-V,.01,Math.PI-.01)),ee=Math.min(M,H);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*ee+I),this.nearZ=this.height/50,l=new Float64Array(16),h.b6(l,this._fov,this.width/this.height,this.nearZ,this.farZ),l[8]=2*-e.x/this.width,l[9]=2*e.y/this.height,this.projectionMatrix=h.ae(l),h.K(l,l,[1,-1,1]),h.J(l,l,[0,0,-this.cameraToCenterDistance]),h.b7(l,l,this._pitch),h.ad(l,l,this.angle),h.J(l,l,[-s,-a,0]),this.mercatorMatrix=h.K([],l,[this.worldSize,this.worldSize,this.worldSize]),h.K(l,l,[1,1,this._pixelPerMeter]),this.pixelMatrix=h.L(new Float64Array(16),this.labelPlaneMatrix,l),h.J(l,l,[0,0,-this.elevation]),this.modelViewProjectionMatrix=l,this.invModelViewProjectionMatrix=h.as([],l),this.fogMatrix=new Float64Array(16),h.b6(this.fogMatrix,this._fov,this.width/this.height,d,this.farZ),this.fogMatrix[8]=2*-e.x/this.width,this.fogMatrix[9]=2*e.y/this.height,h.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),h.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),h.b7(this.fogMatrix,this.fogMatrix,this._pitch),h.ad(this.fogMatrix,this.fogMatrix,this.angle),h.J(this.fogMatrix,this.fogMatrix,[-s,-a,0]),h.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),h.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=h.L(new Float64Array(16),this.labelPlaneMatrix,l);const re=this.width%2/2,se=this.height%2/2,ae=Math.cos(this.angle),Y=Math.sin(this.angle),ue=s-Math.round(s)+ae*re+Y*se,pe=a-Math.round(a)+ae*se+Y*re,ye=new Float64Array(l);if(h.J(ye,ye,[ue>.5?ue-1:ue,pe>.5?pe-1:pe,0]),this.alignedModelViewProjectionMatrix=ye,l=h.as(new Float64Array(16),this.pixelMatrix),!l)throw new Error("failed to invert matrix");this.pixelMatrixInverse=l,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={}}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const e=this.pointCoordinate(new h.P(0,0)),s=[e.x*this.worldSize,e.y*this.worldSize,0,1];return h.af(s,s,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const e=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new h.P(0,e))}getCameraQueryGeometry(e){const s=this.getCameraPoint();if(e.length===1)return[e[0],s];{let a=s.x,l=s.y,d=s.x,v=s.y;for(const w of e)a=Math.min(a,w.x),l=Math.min(l,w.y),d=Math.max(d,w.x),v=Math.max(v,w.y);return[new h.P(a,l),new h.P(d,l),new h.P(d,v),new h.P(a,v),new h.P(a,l)]}}lngLatToCameraDepth(e,s){const a=this.locationCoordinate(e),l=[a.x*this.worldSize,a.y*this.worldSize,s,1];return h.af(l,l,this.modelViewProjectionMatrix),l[2]/l[3]}}function ua(p,e){let s,a=!1,l=null,d=null;const v=()=>{l=null,a&&(p.apply(d,s),l=setTimeout(v,e),a=!1)};return(...w)=>(a=!0,d=this,s=w,l||v(),l)}class Rc{constructor(e){this._getCurrentHash=()=>{const s=window.location.hash.replace("#","");if(this._hashName){let a;return s.split("&").map(l=>l.split("=")).forEach(l=>{l[0]===this._hashName&&(a=l)}),(a&&a[1]||"").split("/")}return s.split("/")},this._onHashChange=()=>{const s=this._getCurrentHash();if(s.length>=3&&!s.some(a=>isNaN(a))){const a=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(s[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+s[2],+s[1]],zoom:+s[0],bearing:a,pitch:+(s[4]||0)}),!0}return!1},this._updateHashUnthrottled=()=>{const s=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,s)},this._removeHash=()=>{const s=this._getCurrentHash();if(s.length===0)return;const a=s.join("/");let l=a;l.split("&").length>0&&(l=l.split("&")[0]),this._hashName&&(l=`${this._hashName}=${a}`);let d=window.location.hash.replace(l,"");d.startsWith("#&")?d=d.slice(0,1)+d.slice(2):d==="#"&&(d="");let v=window.location.href.replace(/(#.+)?$/,d);v=v.replace("&&","&"),window.history.replaceState(window.history.state,null,v)},this._updateHash=ua(this._updateHashUnthrottled,300),this._hashName=e&&encodeURIComponent(e)}addTo(e){return this._map=e,addEventListener("hashchange",this._onHashChange,!1),this._map.on("moveend",this._updateHash),this}remove(){return removeEventListener("hashchange",this._onHashChange,!1),this._map.off("moveend",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(e){const s=this._map.getCenter(),a=Math.round(100*this._map.getZoom())/100,l=Math.ceil((a*Math.LN2+Math.log(512/360/.5))/Math.LN10),d=Math.pow(10,l),v=Math.round(s.lng*d)/d,w=Math.round(s.lat*d)/d,I=this._map.getBearing(),A=this._map.getPitch();let C="";if(C+=e?`/${v}/${w}/${a}`:`${a}/${w}/${v}`,(I||A)&&(C+="/"+Math.round(10*I)/10),A&&(C+=`/${Math.round(A)}`),this._hashName){const M=this._hashName;let O=!1;const V=window.location.hash.slice(1).split("&").map(H=>{const ee=H.split("=")[0];return ee===M?(O=!0,`${ee}=${C}`):H}).filter(H=>H);return O||V.push(`${M}=${C}`),`#${V.join("&")}`}return`#${C}`}}const qn={linearity:.3,easing:h.b8(0,0,.3,1)},nu=h.e({deceleration:2500,maxSpeed:1400},qn),Oc=h.e({deceleration:20,maxSpeed:1400},qn),da=h.e({deceleration:1e3,maxSpeed:360},qn),fl=h.e({deceleration:1e3,maxSpeed:90},qn);class Fc{constructor(e){this._map=e,this.clear()}clear(){this._inertiaBuffer=[]}record(e){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:J.now(),settings:e})}_drainInertiaBuffer(){const e=this._inertiaBuffer,s=J.now();for(;e.length>0&&s-e[0].time>160;)e.shift()}_onMoveEnd(e){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const s={zoom:0,bearing:0,pitch:0,pan:new h.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:d}of this._inertiaBuffer)s.zoom+=d.zoomDelta||0,s.bearing+=d.bearingDelta||0,s.pitch+=d.pitchDelta||0,d.panDelta&&s.pan._add(d.panDelta),d.around&&(s.around=d.around),d.pinchAround&&(s.pinchAround=d.pinchAround);const a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,l={};if(s.pan.mag()){const d=gn(s.pan.mag(),a,h.e({},nu,e||{}));l.offset=s.pan.mult(d.amount/s.pan.mag()),l.center=this._map.transform.center,So(l,d)}if(s.zoom){const d=gn(s.zoom,a,Oc);l.zoom=this._map.transform.zoom+d.amount,So(l,d)}if(s.bearing){const d=gn(s.bearing,a,da);l.bearing=this._map.transform.bearing+h.ac(d.amount,-179,179),So(l,d)}if(s.pitch){const d=gn(s.pitch,a,fl);l.pitch=this._map.transform.pitch+d.amount,So(l,d)}if(l.zoom||l.bearing){const d=s.pinchAround===void 0?s.around:s.pinchAround;l.around=d?this._map.unproject(d):this._map.getCenter()}return this.clear(),h.e(l,{noMoveStart:!0})}}function So(p,e){(!p.duration||p.durations.unproject(I)),w=d.reduce((I,A,C,M)=>I.add(A.div(M.length)),new h.P(0,0));super(e,{points:d,point:w,lngLats:v,lngLat:s.unproject(w),originalEvent:a}),this._defaultPrevented=!1}}class ml extends h.k{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(e,s,a){super(e,{originalEvent:a}),this._defaultPrevented=!1}}class Ci{constructor(e,s){this._map=e,this._clickTolerance=s.clickTolerance}reset(){delete this._mousedownPos}wheel(e){return this._firePreventable(new ml(e.type,this._map,e))}mousedown(e,s){return this._mousedownPos=s,this._firePreventable(new pr(e.type,this._map,e))}mouseup(e){this._map.fire(new pr(e.type,this._map,e))}click(e,s){this._mousedownPos&&this._mousedownPos.dist(s)>=this._clickTolerance||this._map.fire(new pr(e.type,this._map,e))}dblclick(e){return this._firePreventable(new pr(e.type,this._map,e))}mouseover(e){this._map.fire(new pr(e.type,this._map,e))}mouseout(e){this._map.fire(new pr(e.type,this._map,e))}touchstart(e){return this._firePreventable(new Io(e.type,this._map,e))}touchmove(e){this._map.fire(new Io(e.type,this._map,e))}touchend(e){this._map.fire(new Io(e.type,this._map,e))}touchcancel(e){this._map.fire(new Io(e.type,this._map,e))}_firePreventable(e){if(this._map.fire(e),e.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class yn{constructor(e){this._map=e}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(e){this._map.fire(new pr(e.type,this._map,e))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new pr("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(e){this._delayContextMenu?this._contextMenuEvent=e:this._ignoreContextMenu||this._map.fire(new pr(e.type,this._map,e)),this._map.listens("contextmenu")&&e.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class ir{constructor(e){this._map=e}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return{lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(e){return this.transform.pointLocation(h.P.convert(e),this._map.terrain)}}class pa{constructor(e,s){this._map=e,this._tr=new ir(e),this._el=e.getCanvasContainer(),this._container=e.getContainer(),this._clickTolerance=s.clickTolerance||1}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(e,s){this.isEnabled()&&e.shiftKey&&e.button===0&&(G.disableDrag(),this._startPos=this._lastPos=s,this._active=!0)}mousemoveWindow(e,s){if(!this._active)return;const a=s;if(this._lastPos.equals(a)||!this._box&&a.dist(this._startPos)d.fitScreenCoordinates(a,l,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",e)}keydown(e){this._active&&e.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",e))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(G.remove(this._box),this._box=null),G.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(e,s){return this._map.fire(new h.k(e,{originalEvent:s}))}}function To(p,e){if(p.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${p.length}, points ${e.length}`);const s={};for(let a=0;athis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=e.timeStamp),a.length===this.numTouches&&(this.centroid=function(l){const d=new h.P(0,0);for(const v of l)d._add(v);return d.div(l.length)}(s),this.touches=To(a,s)))}touchmove(e,s,a){if(this.aborted||!this.centroid)return;const l=To(a,s);for(const d in this.touches){const v=l[d];(!v||v.dist(this.touches[d])>30)&&(this.aborted=!0)}}touchend(e,s,a){if((!this.centroid||e.timeStamp-this.startTime>500)&&(this.aborted=!0),a.length===0){const l=!this.aborted&&this.centroid;if(this.reset(),l)return l}}}class Xs{constructor(e){this.singleTap=new Bc(e),this.numTaps=e.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(e,s,a){this.singleTap.touchstart(e,s,a)}touchmove(e,s,a){this.singleTap.touchmove(e,s,a)}touchend(e,s,a){const l=this.singleTap.touchend(e,s,a);if(l){const d=e.timeStamp-this.lastTime<500,v=!this.lastTap||this.lastTap.dist(l)<30;if(d&&v||this.reset(),this.count++,this.lastTime=e.timeStamp,this.lastTap=l,this.count===this.numTaps)return this.reset(),l}}}class ko{constructor(e){this._tr=new ir(e),this._zoomIn=new Xs({numTouches:1,numTaps:2}),this._zoomOut=new Xs({numTouches:2,numTaps:1}),this.reset()}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset()}touchstart(e,s,a){this._zoomIn.touchstart(e,s,a),this._zoomOut.touchstart(e,s,a)}touchmove(e,s,a){this._zoomIn.touchmove(e,s,a),this._zoomOut.touchmove(e,s,a)}touchend(e,s,a){const l=this._zoomIn.touchend(e,s,a),d=this._zoomOut.touchend(e,s,a),v=this._tr;return l?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:w=>w.easeTo({duration:300,zoom:v.zoom+1,around:v.unproject(l)},{originalEvent:e})}):d?(this._active=!0,e.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:w=>w.easeTo({duration:300,zoom:v.zoom-1,around:v.unproject(d)},{originalEvent:e})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class xn{constructor(e){this._enabled=!!e.enable,this._moveStateManager=e.moveStateManager,this._clickTolerance=e.clickTolerance||1,this._moveFunction=e.move,this._activateOnStart=!!e.activateOnStart,e.assignEvents(this),this.reset()}reset(e){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(e)}_move(...e){const s=this._moveFunction(...e);if(s.bearingDelta||s.pitchDelta||s.around||s.panDelta)return this._active=!0,s}dragStart(e,s){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(e)&&(this._moveStateManager.startMove(e),this._lastPoint=s.length?s[0]:s,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(e,s){if(!this.isEnabled())return;const a=this._lastPoint;if(!a)return;if(e.preventDefault(),!this._moveStateManager.isValidMoveEvent(e))return void this.reset(e);const l=s.length?s[0]:s;return!this._moved&&l.dist(a){p.mousedown=p.dragStart,p.mousemoveWindow=p.dragMove,p.mouseup=p.dragEnd,p.contextmenu=e=>{e.preventDefault()}},gl=({enable:p,clickTolerance:e,bearingDegreesPerPixelMoved:s=.8})=>{const a=new fa({checkCorrectEvent:l=>G.mouseButton(l)===0&&l.ctrlKey||G.mouseButton(l)===2});return new xn({clickTolerance:e,move:(l,d)=>({bearingDelta:(d.x-l.x)*s}),moveStateManager:a,enable:p,assignEvents:ma})},Js=({enable:p,clickTolerance:e,pitchDegreesPerPixelMoved:s=-.5})=>{const a=new fa({checkCorrectEvent:l=>G.mouseButton(l)===0&&l.ctrlKey||G.mouseButton(l)===2});return new xn({clickTolerance:e,move:(l,d)=>({pitchDelta:(d.y-l.y)*s}),moveStateManager:a,enable:p,assignEvents:ma})};class Nc{constructor(e,s){this._clickTolerance=e.clickTolerance||1,this._map=s,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new h.P(0,0)}_shouldBePrevented(e){return e<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(e,s,a){return this._calculateTransform(e,s,a)}touchmove(e,s,a){if(this._active){if(!this._shouldBePrevented(a.length))return e.preventDefault(),this._calculateTransform(e,s,a);this._map.cooperativeGestures.notifyGestureBlocked("touch_pan",e)}}touchend(e,s,a){this._calculateTransform(e,s,a),this._active&&this._shouldBePrevented(a.length)&&this.reset()}touchcancel(){this.reset()}_calculateTransform(e,s,a){a.length>0&&(this._active=!0);const l=To(a,s),d=new h.P(0,0),v=new h.P(0,0);let w=0;for(const A in l){const C=l[A],M=this._touches[A];M&&(d._add(C),v._add(C.sub(M)),w++,l[A]=C)}if(this._touches=l,this._shouldBePrevented(w)||!v.mag())return;const I=v.div(w);return this._sum._add(I),this._sum.mag()Math.abs(p.x)}class wl extends _a{constructor(e){super(),this._currentTouchCount=0,this._map=e}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(e,s,a){super.touchstart(e,s,a),this._currentTouchCount=a.length}_start(e){this._lastPoints=e,vn(e[0].sub(e[1]))&&(this._valid=!1)}_move(e,s,a){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const l=e[0].sub(this._lastPoints[0]),d=e[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(l,d,a.timeStamp),this._valid?(this._lastPoints=e,this._active=!0,{pitchDelta:(l.y+d.y)/2*-.5}):void 0}gestureBeginsVertically(e,s,a){if(this._valid!==void 0)return this._valid;const l=e.mag()>=2,d=s.mag()>=2;if(!l&&!d)return;if(!l||!d)return this._firstMove===void 0&&(this._firstMove=a),a-this._firstMove<100&&void 0;const v=e.y>0==s.y>0;return vn(e)&&vn(s)&&v}}const ns={panStep:100,bearingStep:15,pitchStep:10};class os{constructor(e){this._tr=new ir(e);const s=ns;this._panStep=s.panStep,this._bearingStep=s.bearingStep,this._pitchStep=s.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(e){if(e.altKey||e.ctrlKey||e.metaKey)return;let s=0,a=0,l=0,d=0,v=0;switch(e.keyCode){case 61:case 107:case 171:case 187:s=1;break;case 189:case 109:case 173:s=-1;break;case 37:e.shiftKey?a=-1:(e.preventDefault(),d=-1);break;case 39:e.shiftKey?a=1:(e.preventDefault(),d=1);break;case 38:e.shiftKey?l=1:(e.preventDefault(),v=-1);break;case 40:e.shiftKey?l=-1:(e.preventDefault(),v=1);break;default:return}return this._rotationDisabled&&(a=0,l=0),{cameraAnimation:w=>{const I=this._tr;w.easeTo({duration:300,easeId:"keyboardHandler",easing:$c,zoom:s?Math.round(I.zoom)+s*(e.shiftKey?2:1):I.zoom,bearing:I.bearing+a*this._bearingStep,pitch:I.pitch+l*this._pitchStep,offset:[-d*this._panStep,-v*this._panStep],center:I.center},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0}enableRotation(){this._rotationDisabled=!1}}function $c(p){return p*(2-p)}const as=4.000244140625;class bn{constructor(e,s){this._onTimeout=a=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(a)},this._map=e,this._tr=new ir(e),this._triggerRenderFrame=s,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222}setZoomRate(e){this._defaultZoomRate=e}setWheelZoomRate(e){this._wheelZoomRate=e}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(e){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!e&&e.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(e){return!!this._map.cooperativeGestures.isEnabled()&&!(e.ctrlKey||this._map.cooperativeGestures.isBypassed(e))}wheel(e){if(!this.isEnabled())return;if(this._shouldBePrevented(e))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",e);let s=e.deltaMode===WheelEvent.DOM_DELTA_LINE?40*e.deltaY:e.deltaY;const a=J.now(),l=a-(this._lastWheelEventTime||0);this._lastWheelEventTime=a,s!==0&&s%as==0?this._type="wheel":s!==0&&Math.abs(s)<4?this._type="trackpad":l>400?(this._type=null,this._lastValue=s,this._timeout=setTimeout(this._onTimeout,40,e)):this._type||(this._type=Math.abs(l*s)<200?"trackpad":"wheel",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,s+=this._lastValue)),e.shiftKey&&s&&(s/=4),this._type&&(this._lastWheelEvent=e,this._delta-=s,this._active||this._start(e)),e.preventDefault()}_start(e){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const s=G.mousePos(this._map.getCanvas(),e),a=this._tr;this._around=s.y>a.transform.height/2-a.transform.getHorizon()?h.N.convert(this._aroundCenter?a.center:a.unproject(s)):h.N.convert(a.center),this._aroundPoint=a.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame())}renderFrame(){if(!this._frameId||(this._frameId=null,!this.isActive()))return;const e=this._tr.transform;if(this._delta!==0){const I=this._type==="wheel"&&Math.abs(this._delta)>as?this._wheelZoomRate:this._defaultZoomRate;let A=2/(1+Math.exp(-Math.abs(this._delta*I)));this._delta<0&&A!==0&&(A=1/A);const C=typeof this._targetZoom=="number"?e.zoomScale(this._targetZoom):e.scale;this._targetZoom=Math.min(e.maxZoom,Math.max(e.minZoom,e.scaleZoom(C*A))),this._type==="wheel"&&(this._startZoom=e.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}const s=typeof this._targetZoom=="number"?this._targetZoom:e.zoom,a=this._startZoom,l=this._easing;let d,v=!1;const w=J.now()-this._lastWheelEventTime;if(this._type==="wheel"&&a&&l&&w){const I=Math.min(w/200,1),A=l(I);d=h.y.number(a,s,A),I<1?this._frameId||(this._frameId=!0):v=!0}else d=s,v=!0;return this._active=!0,v&&(this._active=!1,this._finishTimeout=setTimeout(()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout},200)),{noInertia:!0,needsRenderFrame:!v,zoomDelta:d-e.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(e){let s=h.b9;if(this._prevEase){const a=this._prevEase,l=(J.now()-a.start)/a.duration,d=a.easing(l+.01)-a.easing(l),v=.27/Math.sqrt(d*d+1e-4)*.01,w=Math.sqrt(.0729-v*v);s=h.b8(v,w,.25,1)}return this._prevEase={start:J.now(),duration:e,easing:s},s}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class Uc{constructor(e,s){this._clickZoom=e,this._tapZoom=s}enable(){this._clickZoom.enable(),this._tapZoom.enable()}disable(){this._clickZoom.disable(),this._tapZoom.disable()}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class ou{constructor(e){this._tr=new ir(e),this.reset()}reset(){this._active=!1}dblclick(e,s){return e.preventDefault(),{cameraAnimation:a=>{a.easeTo({duration:300,zoom:this._tr.zoom+(e.shiftKey?-1:1),around:this._tr.unproject(s)},{originalEvent:e})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class au{constructor(){this._tap=new Xs({numTouches:1,numTaps:1}),this.reset()}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(e,s,a){if(!this._swipePoint)if(this._tapTime){const l=s[0],d=e.timeStamp-this._tapTime<500,v=this._tapPoint.dist(l)<30;d&&v?a.length>0&&(this._swipePoint=l,this._swipeTouch=a[0].identifier):this.reset()}else this._tap.touchstart(e,s,a)}touchmove(e,s,a){if(this._tapTime){if(this._swipePoint){if(a[0].identifier!==this._swipeTouch)return;const l=s[0],d=l.y-this._swipePoint.y;return this._swipePoint=l,e.preventDefault(),this._active=!0,{zoomDelta:d/128}}}else this._tap.touchmove(e,s,a)}touchend(e,s,a){if(this._tapTime)this._swipePoint&&a.length===0&&this.reset();else{const l=this._tap.touchend(e,s,a);l&&(this._tapTime=e.timeStamp,this._tapPoint=l)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Vc{constructor(e,s,a){this._el=e,this._mousePan=s,this._touchPan=a}enable(e){this._inertiaOptions=e||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add("maplibregl-touch-drag-pan")}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove("maplibregl-touch-drag-pan")}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class Sl{constructor(e,s,a){this._pitchWithRotate=e.pitchWithRotate,this._mouseRotate=s,this._mousePitch=a}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class Gn{constructor(e,s,a,l){this._el=e,this._touchZoom=s,this._touchRotate=a,this._tapDragZoom=l,this._rotationDisabled=!1,this._enabled=!0}enable(e){this._touchZoom.enable(e),this._rotationDisabled||this._touchRotate.enable(e),this._tapDragZoom.enable(),this._el.classList.add("maplibregl-touch-zoom-rotate")}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove("maplibregl-touch-zoom-rotate")}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class ks{constructor(e,s){this._bypassKey=navigator.userAgent.indexOf("Mac")!==-1?"metaKey":"ctrlKey",this._map=e,this._options=s,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;const e=this._map.getCanvasContainer();e.classList.add("maplibregl-cooperative-gestures"),this._container=G.create("div","maplibregl-cooperative-gesture-screen",e);let s=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(s=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));const a=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),l=document.createElement("div");l.className="maplibregl-desktop-message",l.textContent=s,this._container.appendChild(l);const d=document.createElement("div");d.className="maplibregl-mobile-message",d.textContent=a,this._container.appendChild(d),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(G.remove(this._container),this._map.getCanvasContainer().classList.remove("maplibregl-cooperative-gestures")),delete this._container}enable(){this._setupUI(),this._enabled=!0}disable(){this._enabled=!1,this._destroyUI()}isEnabled(){return this._enabled}isBypassed(e){return e[this._bypassKey]}notifyGestureBlocked(e,s){this._enabled&&(this._map.fire(new h.k("cooperativegestureprevented",{gestureType:e,originalEvent:s})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}const Xe=p=>p.zoom||p.drag||p.pitch||p.rotate;class qc extends h.k{}function Ao(p){return p.panDelta&&p.panDelta.mag()||p.zoomDelta||p.bearingDelta||p.pitchDelta}class Gc{constructor(e,s){this.handleWindowEvent=l=>{this.handleEvent(l,`${l.type}Window`)},this.handleEvent=(l,d)=>{if(l.type==="blur")return void this.stop(!0);this._updatingCamera=!0;const v=l.type==="renderFrame"?void 0:l,w={needsRenderFrame:!1},I={},A={},C=l.touches,M=C?this._getMapTouches(C):void 0,O=M?G.touchPos(this._map.getCanvas(),M):G.mousePos(this._map.getCanvas(),l);for(const{handlerName:ee,handler:re,allowed:se}of this._handlers){if(!re.isEnabled())continue;let ae;this._blockedByActive(A,se,ee)?re.reset():re[d||l.type]&&(ae=re[d||l.type](l,O,M),this.mergeHandlerResult(w,I,ae,ee,v),ae&&ae.needsRenderFrame&&this._triggerRenderFrame()),(ae||re.isActive())&&(A[ee]=re)}const V={};for(const ee in this._previousActiveHandlers)A[ee]||(V[ee]=v);this._previousActiveHandlers=A,(Object.keys(V).length||Ao(w))&&(this._changes.push([w,I,V]),this._triggerRenderFrame()),(Object.keys(A).length||Ao(w))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:H}=w;H&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],H(this._map))},this._map=e,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Fc(e),this._bearingSnap=s.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(s);const a=this._el;this._listeners=[[a,"touchstart",{passive:!0}],[a,"touchmove",{passive:!1}],[a,"touchend",void 0],[a,"touchcancel",void 0],[a,"mousedown",void 0],[a,"mousemove",void 0],[a,"mouseup",void 0],[document,"mousemove",{capture:!0}],[document,"mouseup",void 0],[a,"mouseover",void 0],[a,"mouseout",void 0],[a,"dblclick",void 0],[a,"click",void 0],[a,"keydown",{capture:!1}],[a,"keyup",void 0],[a,"wheel",{passive:!1}],[a,"contextmenu",void 0],[window,"blur",void 0]];for(const[l,d,v]of this._listeners)G.addEventListener(l,d,l===document?this.handleWindowEvent:this.handleEvent,v)}destroy(){for(const[e,s,a]of this._listeners)G.removeEventListener(e,s,e===document?this.handleWindowEvent:this.handleEvent,a)}_addDefaultHandlers(e){const s=this._map,a=s.getCanvasContainer();this._add("mapEvent",new Ci(s,e));const l=s.boxZoom=new pa(s,e);this._add("boxZoom",l),e.interactive&&e.boxZoom&&l.enable();const d=s.cooperativeGestures=new ks(s,e.cooperativeGestures);this._add("cooperativeGestures",d),e.cooperativeGestures&&d.enable();const v=new ko(s),w=new ou(s);s.doubleClickZoom=new Uc(w,v),this._add("tapZoom",v),this._add("clickZoom",w),e.interactive&&e.doubleClickZoom&&s.doubleClickZoom.enable();const I=new au;this._add("tapDragZoom",I);const A=s.touchPitch=new wl(s);this._add("touchPitch",A),e.interactive&&e.touchPitch&&s.touchPitch.enable(e.touchPitch);const C=gl(e),M=Js(e);s.dragRotate=new Sl(e,C,M),this._add("mouseRotate",C,["mousePitch"]),this._add("mousePitch",M,["mouseRotate"]),e.interactive&&e.dragRotate&&s.dragRotate.enable();const O=(({enable:ae,clickTolerance:Y})=>{const ue=new fa({checkCorrectEvent:pe=>G.mouseButton(pe)===0&&!pe.ctrlKey});return new xn({clickTolerance:Y,move:(pe,ye)=>({around:ye,panDelta:ye.sub(pe)}),activateOnStart:!0,moveStateManager:ue,enable:ae,assignEvents:ma})})(e),V=new Nc(e,s);s.dragPan=new Vc(a,O,V),this._add("mousePan",O),this._add("touchPan",V,["touchZoom","touchRotate"]),e.interactive&&e.dragPan&&s.dragPan.enable(e.dragPan);const H=new bl,ee=new xl;s.touchZoomRotate=new Gn(a,ee,H,I),this._add("touchRotate",H,["touchPan","touchZoom"]),this._add("touchZoom",ee,["touchPan","touchRotate"]),e.interactive&&e.touchZoomRotate&&s.touchZoomRotate.enable(e.touchZoomRotate);const re=s.scrollZoom=new bn(s,()=>this._triggerRenderFrame());this._add("scrollZoom",re,["mousePan"]),e.interactive&&e.scrollZoom&&s.scrollZoom.enable(e.scrollZoom);const se=s.keyboard=new os(s);this._add("keyboard",se),e.interactive&&e.keyboard&&s.keyboard.enable(),this._add("blockableMapEvent",new yn(s))}_add(e,s,a){this._handlers.push({handlerName:e,handler:s,allowed:a}),this._handlersById[e]=s}stop(e){if(!this._updatingCamera){for(const{handler:s}of this._handlers)s.reset();this._inertia.clear(),this._fireEvents({},{},e),this._changes=[]}}isActive(){for(const{handler:e}of this._handlers)if(e.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return!!Xe(this._eventsInProgress)||this.isZooming()}_blockedByActive(e,s,a){for(const l in e)if(l!==a&&(!s||s.indexOf(l)<0))return!0;return!1}_getMapTouches(e){const s=[];for(const a of e)this._el.contains(a.target)&&s.push(a);return s}mergeHandlerResult(e,s,a,l,d){if(!a)return;h.e(e,a);const v={handlerName:l,originalEvent:a.originalEvent||d};a.zoomDelta!==void 0&&(s.zoom=v),a.panDelta!==void 0&&(s.drag=v),a.pitchDelta!==void 0&&(s.pitch=v),a.bearingDelta!==void 0&&(s.rotate=v)}_applyChanges(){const e={},s={},a={};for(const[l,d,v]of this._changes)l.panDelta&&(e.panDelta=(e.panDelta||new h.P(0,0))._add(l.panDelta)),l.zoomDelta&&(e.zoomDelta=(e.zoomDelta||0)+l.zoomDelta),l.bearingDelta&&(e.bearingDelta=(e.bearingDelta||0)+l.bearingDelta),l.pitchDelta&&(e.pitchDelta=(e.pitchDelta||0)+l.pitchDelta),l.around!==void 0&&(e.around=l.around),l.pinchAround!==void 0&&(e.pinchAround=l.pinchAround),l.noInertia&&(e.noInertia=l.noInertia),h.e(s,d),h.e(a,v);this._updateMapTransform(e,s,a),this._changes=[]}_updateMapTransform(e,s,a){const l=this._map,d=l._getTransformForUpdate(),v=l.terrain;if(!(Ao(e)||v&&this._terrainMovement))return this._fireEvents(s,a,!0);let{panDelta:w,zoomDelta:I,bearingDelta:A,pitchDelta:C,around:M,pinchAround:O}=e;O!==void 0&&(M=O),l._stop(!0),M=M||l.transform.centerPoint;const V=d.pointLocation(w?M.sub(w):M);A&&(d.bearing+=A),C&&(d.pitch+=C),I&&(d.zoom+=I),v?this._terrainMovement||!s.drag&&!s.zoom?s.drag&&this._terrainMovement?d.center=d.pointLocation(d.centerPoint.sub(w)):d.setLocationAtPoint(V,M):(this._terrainMovement=!0,this._map._elevationFreeze=!0,d.setLocationAtPoint(V,M)):d.setLocationAtPoint(V,M),l._applyUpdatedTransform(d),this._map._update(),e.noInertia||this._inertia.record(e),this._fireEvents(s,a,!0)}_fireEvents(e,s,a){const l=Xe(this._eventsInProgress),d=Xe(e),v={};for(const M in e){const{originalEvent:O}=e[M];this._eventsInProgress[M]||(v[`${M}start`]=O),this._eventsInProgress[M]=e[M]}!l&&d&&this._fireEvent("movestart",d.originalEvent);for(const M in v)this._fireEvent(M,v[M]);d&&this._fireEvent("move",d.originalEvent);for(const M in e){const{originalEvent:O}=e[M];this._fireEvent(M,O)}const w={};let I;for(const M in this._eventsInProgress){const{handlerName:O,originalEvent:V}=this._eventsInProgress[M];this._handlersById[O].isActive()||(delete this._eventsInProgress[M],I=s[O]||V,w[`${M}end`]=I)}for(const M in w)this._fireEvent(M,w[M]);const A=Xe(this._eventsInProgress),C=(l||d)&&!A;if(C&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const M=this._map._getTransformForUpdate();M.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(M)}if(a&&C){this._updatingCamera=!0;const M=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),O=V=>V!==0&&-this._bearingSnap{delete this._frameId,this.handleEvent(new qc("renderFrame",{timeStamp:e})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class Po extends h.E{constructor(e,s){super(),this._renderFrameCallback=()=>{const a=Math.min((J.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(a)),a<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop()},this._moving=!1,this._zooming=!1,this.transform=e,this._bearingSnap=s.bearingSnap,this.on("moveend",()=>{delete this._requestedCameraState})}getCenter(){return new h.N(this.transform.center.lng,this.transform.center.lat)}setCenter(e,s){return this.jumpTo({center:e},s)}panBy(e,s,a){return e=h.P.convert(e).mult(-1),this.panTo(this.transform.center,h.e({offset:e},s),a)}panTo(e,s,a){return this.easeTo(h.e({center:e},s),a)}getZoom(){return this.transform.zoom}setZoom(e,s){return this.jumpTo({zoom:e},s),this}zoomTo(e,s,a){return this.easeTo(h.e({zoom:e},s),a)}zoomIn(e,s){return this.zoomTo(this.getZoom()+1,e,s),this}zoomOut(e,s){return this.zoomTo(this.getZoom()-1,e,s),this}getBearing(){return this.transform.bearing}setBearing(e,s){return this.jumpTo({bearing:e},s),this}getPadding(){return this.transform.padding}setPadding(e,s){return this.jumpTo({padding:e},s),this}rotateTo(e,s,a){return this.easeTo(h.e({bearing:e},s),a)}resetNorth(e,s){return this.rotateTo(0,h.e({duration:1e3},e),s),this}resetNorthPitch(e,s){return this.easeTo(h.e({bearing:0,pitch:0,duration:1e3},e),s),this}snapToNorth(e,s){return Math.abs(this.getBearing()){if(this._zooming&&(l.zoom=h.y.number(d,re,Ce)),this._rotating&&(l.bearing=h.y.number(v,A,Ce)),this._pitching&&(l.pitch=h.y.number(w,C,Ce)),this._padding&&(l.interpolatePadding(I,M,Ce),V=l.centerPoint.add(O)),this.terrain&&!e.freezeElevation&&this._updateElevation(Ce),ue)l.setLocationAtPoint(ue,pe);else{const Re=l.zoomScale(l.zoom-d),qe=re>d?Math.min(2,Y):Math.max(.5,Y),Je=Math.pow(qe,1-Ce),Ne=l.unproject(se.add(ae.mult(Ce*Je)).mult(Re));l.setLocationAtPoint(l.renderWorldCopies?Ne.wrap():Ne,V)}this._applyUpdatedTransform(l),this._fireMoveEvents(s)},Ce=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(s,Ce)},e),this}_prepareEase(e,s,a={}){this._moving=!0,s||a.moving||this.fire(new h.k("movestart",e)),this._zooming&&!a.zooming&&this.fire(new h.k("zoomstart",e)),this._rotating&&!a.rotating&&this.fire(new h.k("rotatestart",e)),this._pitching&&!a.pitching&&this.fire(new h.k("pitchstart",e))}_prepareElevation(e){this._elevationCenter=e,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(e,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(e){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const s=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(e<1&&s!==this._elevationTarget){const a=this._elevationTarget-this._elevationStart;this._elevationStart+=e*(a-(s-(a*e+this._elevationStart))/(1-e)),this._elevationTarget=s}this.transform.elevation=h.y.number(this._elevationStart,this._elevationTarget,e)}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain)}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(e){const s=e.getCameraPosition(),a=this.terrain.getElevationForLngLatZoom(s.lngLat,e.zoom);if(s.altitudethis._elevateCameraIfInsideTerrain(l)),this.transformCameraUpdate&&s.push(l=>this.transformCameraUpdate(l)),!s.length)return;const a=e.clone();for(const l of s){const d=a.clone(),{center:v,zoom:w,pitch:I,bearing:A,elevation:C}=l(d);v&&(d.center=v),w!==void 0&&(d.zoom=w),I!==void 0&&(d.pitch=I),A!==void 0&&(d.bearing=A),C!==void 0&&(d.elevation=C),a.apply(d)}this.transform.apply(a)}_fireMoveEvents(e){this.fire(new h.k("move",e)),this._zooming&&this.fire(new h.k("zoom",e)),this._rotating&&this.fire(new h.k("rotate",e)),this._pitching&&this.fire(new h.k("pitch",e))}_afterEase(e,s){if(this._easeId&&s&&this._easeId===s)return;delete this._easeId;const a=this._zooming,l=this._rotating,d=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,a&&this.fire(new h.k("zoomend",e)),l&&this.fire(new h.k("rotateend",e)),d&&this.fire(new h.k("pitchend",e)),this.fire(new h.k("moveend",e))}flyTo(e,s){var a;if(!e.essential&&J.prefersReducedMotion){const Ze=h.M(e,["center","zoom","bearing","pitch","around"]);return this.jumpTo(Ze,s)}this.stop(),e=h.e({offset:[0,0],speed:1.2,curve:1.42,easing:h.b9},e);const l=this._getTransformForUpdate(),d=l.zoom,v=l.bearing,w=l.pitch,I=l.padding,A="bearing"in e?this._normalizeBearing(e.bearing,v):v,C="pitch"in e?+e.pitch:w,M="padding"in e?e.padding:l.padding,O=h.P.convert(e.offset);let V=l.centerPoint.add(O);const H=l.pointLocation(V),{center:ee,zoom:re}=l.getConstrained(h.N.convert(e.center||H),(a=e.zoom)!==null&&a!==void 0?a:d);this._normalizeCenter(ee,l);const se=l.zoomScale(re-d),ae=l.project(H),Y=l.project(ee).sub(ae);let ue=e.curve;const pe=Math.max(l.width,l.height),ye=pe/se,Ce=Y.mag();if("minZoom"in e){const Ze=h.ac(Math.min(e.minZoom,d,re),l.minZoom,l.maxZoom),bt=pe/l.zoomScale(Ze-d);ue=Math.sqrt(bt/Ce*2)}const Re=ue*ue;function qe(Ze){const bt=(ye*ye-pe*pe+(Ze?-1:1)*Re*Re*Ce*Ce)/(2*(Ze?ye:pe)*Re*Ce);return Math.log(Math.sqrt(bt*bt+1)-bt)}function Je(Ze){return(Math.exp(Ze)-Math.exp(-Ze))/2}function Ne(Ze){return(Math.exp(Ze)+Math.exp(-Ze))/2}const Be=qe(!1);let rt=function(Ze){return Ne(Be)/Ne(Be+ue*Ze)},It=function(Ze){return pe*((Ne(Be)*(Je(bt=Be+ue*Ze)/Ne(bt))-Je(Be))/Re)/Ce;var bt},Ue=(qe(!0)-Be)/ue;if(Math.abs(Ce)<1e-6||!isFinite(Ue)){if(Math.abs(pe-ye)<1e-6)return this.easeTo(e,s);const Ze=ye0,rt=bt=>Math.exp(Ze*ue*bt)}return e.duration="duration"in e?+e.duration:1e3*Ue/("screenSpeed"in e?+e.screenSpeed/ue:+e.speed),e.maxDuration&&e.duration>e.maxDuration&&(e.duration=0),this._zooming=!0,this._rotating=v!==A,this._pitching=C!==w,this._padding=!l.isPaddingEqual(M),this._prepareEase(s,!1),this.terrain&&this._prepareElevation(ee),this._ease(Ze=>{const bt=Ze*Ue,yi=1/rt(bt);l.zoom=Ze===1?re:d+l.scaleZoom(yi),this._rotating&&(l.bearing=h.y.number(v,A,Ze)),this._pitching&&(l.pitch=h.y.number(w,C,Ze)),this._padding&&(l.interpolatePadding(I,M,Ze),V=l.centerPoint.add(O)),this.terrain&&!e.freezeElevation&&this._updateElevation(Ze);const Pt=Ze===1?ee:l.unproject(ae.add(Y.mult(It(bt))).mult(yi));l.setLocationAtPoint(l.renderWorldCopies?Pt.wrap():Pt,V),this._applyUpdatedTransform(l),this._fireMoveEvents(s)},()=>{this.terrain&&e.freezeElevation&&this._finalizeElevation(),this._afterEase(s)},e),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(e,s){var a;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const l=this._onEaseEnd;delete this._onEaseEnd,l.call(this,s)}return e||(a=this.handlers)===null||a===void 0||a.stop(!1),this}_ease(e,s,a){a.animate===!1||a.duration===0?(e(1),s()):(this._easeStart=J.now(),this._easeOptions=a,this._onEaseFrame=e,this._onEaseEnd=s,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(e,s){e=h.b3(e,-180,180);const a=Math.abs(e-s);return Math.abs(e-360-s)180?-360:a<-180?360:0}queryTerrainElevation(e){return this.terrain?this.terrain.getElevationForLngLatZoom(h.N.convert(e),this.transform.tileZoom)-this.transform.elevation:null}}const Hn={compact:!0,customAttribution:'MapLibre'};class Il{constructor(e=Hn){this._toggleAttribution=()=>{this._container.classList.contains("maplibregl-compact")&&(this._container.classList.contains("maplibregl-compact-show")?(this._container.setAttribute("open",""),this._container.classList.remove("maplibregl-compact-show")):(this._container.classList.add("maplibregl-compact-show"),this._container.removeAttribute("open")))},this._updateData=s=>{!s||s.sourceDataType!=="metadata"&&s.sourceDataType!=="visibility"&&s.dataType!=="style"&&s.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact===!1?this._container.setAttribute("open",""):this._container.classList.contains("maplibregl-compact")||this._container.classList.contains("maplibregl-attrib-empty")||(this._container.setAttribute("open",""),this._container.classList.add("maplibregl-compact","maplibregl-compact-show")):(this._container.setAttribute("open",""),this._container.classList.contains("maplibregl-compact")&&this._container.classList.remove("maplibregl-compact","maplibregl-compact-show"))},this._updateCompactMinimize=()=>{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=e}getDefaultPosition(){return"bottom-right"}onAdd(e){return this._map=e,this._compact=this.options.compact,this._container=G.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=G.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=G.create("div","maplibregl-ctrl-attrib-inner",this._container),this._updateAttributions(),this._updateCompact(),this._map.on("styledata",this._updateData),this._map.on("sourcedata",this._updateData),this._map.on("terrain",this._updateData),this._map.on("resize",this._updateCompact),this._map.on("drag",this._updateCompactMinimize),this._container}onRemove(){G.remove(this._container),this._map.off("styledata",this._updateData),this._map.off("sourcedata",this._updateData),this._map.off("terrain",this._updateData),this._map.off("resize",this._updateCompact),this._map.off("drag",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0}_setElementTitle(e,s){const a=this._map._getUIString(`AttributionControl.${s}`);e.title=a,e.setAttribute("aria-label",a)}_updateAttributions(){if(!this._map.style)return;let e=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?e=e.concat(this.options.customAttribution.map(l=>typeof l!="string"?"":l)):typeof this.options.customAttribution=="string"&&e.push(this.options.customAttribution)),this._map.style.stylesheet){const l=this._map.style.stylesheet;this.styleOwner=l.owner,this.styleId=l.id}const s=this._map.style.sourceCaches;for(const l in s){const d=s[l];if(d.used||d.usedForTerrain){const v=d.getSource();v.attribution&&e.indexOf(v.attribution)<0&&e.push(v.attribution)}}e=e.filter(l=>String(l).trim()),e.sort((l,d)=>l.length-d.length),e=e.filter((l,d)=>{for(let v=d+1;v=0)return!1;return!0});const a=e.join(" | ");a!==this._attribHTML&&(this._attribHTML=a,e.length?(this._innerContainer.innerHTML=a,this._container.classList.remove("maplibregl-attrib-empty")):this._container.classList.add("maplibregl-attrib-empty"),this._updateCompact(),this._editLink=null)}}class Nt{constructor(e={}){this._updateCompact=()=>{const s=this._container.children;if(s.length){const a=s[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?this._compact!==!1&&a.classList.add("maplibregl-compact"):a.classList.remove("maplibregl-compact")}},this.options=e}getDefaultPosition(){return"bottom-left"}onAdd(e){this._map=e,this._compact=this.options&&this.options.compact,this._container=G.create("div","maplibregl-ctrl");const s=G.create("a","maplibregl-ctrl-logo");return s.target="_blank",s.rel="noopener nofollow",s.href="https://maplibre.org/",s.setAttribute("aria-label",this._map._getUIString("LogoControl.Title")),s.setAttribute("rel","noopener nofollow"),this._container.appendChild(s),this._container.style.display="block",this._map.on("resize",this._updateCompact),this._updateCompact(),this._container}onRemove(){G.remove(this._container),this._map.off("resize",this._updateCompact),this._map=void 0,this._compact=void 0}}class Tl{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1}add(e){const s=++this._id;return this._queue.push({callback:e,id:s,cancelled:!1}),s}remove(e){const s=this._currentlyRunning,a=s?this._queue.concat(s):this._queue;for(const l of a)if(l.id===e)return void(l.cancelled=!0)}run(e=0){if(this._currentlyRunning)throw new Error("Attempting to run(), but is already running.");const s=this._currentlyRunning=this._queue;this._queue=[];for(const a of s)if(!a.cancelled&&(a.callback(e),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[]}}var lu=h.Y([{name:"a_pos3d",type:"Int16",components:3}]);class kl extends h.E{constructor(e){super(),this.sourceCache=e,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,e.usedForTerrain=!0,e.tileSize=this.tileSize*2**this.deltaZoom}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null}update(e,s){this.sourceCache.update(e,s),this._renderableTilesKeys=[];const a={};for(const l of e.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:s}))a[l.key]=!0,this._renderableTilesKeys.push(l.key),this._tiles[l.key]||(l.posMatrix=new Float64Array(16),h.aP(l.posMatrix,0,h.X,0,h.X,0,1),this._tiles[l.key]=new ts(l,this.tileSize));for(const l in this._tiles)a[l]||delete this._tiles[l]}freeRtt(e){for(const s in this._tiles){const a=this._tiles[s];(!e||a.tileID.equals(e)||a.tileID.isChildOf(e)||e.isChildOf(a.tileID))&&(a.rtt=[])}}getRenderableTiles(){return this._renderableTilesKeys.map(e=>this.getTileByID(e))}getTileByID(e){return this._tiles[e]}getTerrainCoords(e){const s={};for(const a of this._renderableTilesKeys){const l=this._tiles[a].tileID;if(l.canonical.equals(e.canonical)){const d=e.clone();d.posMatrix=new Float64Array(16),h.aP(d.posMatrix,0,h.X,0,h.X,0,1),s[a]=d}else if(l.canonical.isChildOf(e.canonical)){const d=e.clone();d.posMatrix=new Float64Array(16);const v=l.canonical.z-e.canonical.z,w=l.canonical.x-(l.canonical.x>>v<>v<>v;h.aP(d.posMatrix,0,A,0,A,0,1),h.J(d.posMatrix,d.posMatrix,[-w*A,-I*A,0]),s[a]=d}else if(e.canonical.isChildOf(l.canonical)){const d=e.clone();d.posMatrix=new Float64Array(16);const v=e.canonical.z-l.canonical.z,w=e.canonical.x-(e.canonical.x>>v<>v<>v;h.aP(d.posMatrix,0,h.X,0,h.X,0,1),h.J(d.posMatrix,d.posMatrix,[w*A,I*A,0]),h.K(d.posMatrix,d.posMatrix,[1/2**v,1/2**v,0]),s[a]=d}}return s}getSourceTile(e,s){const a=this.sourceCache._source;let l=e.overscaledZ-this.deltaZoom;if(l>a.maxzoom&&(l=a.maxzoom),l=a.minzoom&&(!d||!d.dem);)d=this.sourceCache.getTileByID(e.scaledTo(l--).key);return d}tilesAfterTime(e=Date.now()){return Object.values(this._tiles).filter(s=>s.timeAdded>=e)}}class cu{constructor(e,s,a){this.painter=e,this.sourceCache=new kl(s),this.options=a,this.exaggeration=typeof a.exaggeration=="number"?a.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024}getDEMElevation(e,s,a,l=h.X){var d;if(!(s>=0&&s=0&&ae.canonical.z&&(e.canonical.z>=l?d=e.canonical.z-l:h.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));const v=e.canonical.x-(e.canonical.x>>d<>d<>8<<4|d>>8,s[v+3]=0;const a=new h.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(s.buffer)),l=new Lt(e,a,e.gl.RGBA,{premultiply:!1});return l.bind(e.gl.NEAREST,e.gl.CLAMP_TO_EDGE),this._coordsTexture=l,l}pointCoordinate(e){this.painter.maybeDrawDepthAndCoords(!0);const s=new Uint8Array(4),a=this.painter.context,l=a.gl,d=Math.round(e.x*this.painter.pixelRatio/devicePixelRatio),v=Math.round(e.y*this.painter.pixelRatio/devicePixelRatio),w=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),l.readPixels(d,w-v-1,1,1,l.RGBA,l.UNSIGNED_BYTE,s),a.bindFramebuffer.set(null);const I=s[0]+(s[2]>>4<<8),A=s[1]+((15&s[2])<<8),C=this.coordsIndex[255-s[3]],M=C&&this.sourceCache.getTileByID(C);if(!M)return null;const O=this._coordsTextureSize,V=(1<e.id!==s),this._recentlyUsed.push(e.id)}stampObject(e){e.stamp=++this._stamp}getOrCreateFreeObject(){for(const s of this._recentlyUsed)if(!this._objects[s].inUse)return this._objects[s];if(this._objects.length>=this._size)throw new Error("No free RenderPool available, call freeAllObjects() required!");const e=this._createObject(this._objects.length);return this._objects.push(e),e}freeObject(e){e.inUse=!1}freeAllObjects(){for(const e of this._objects)this.freeObject(e)}isFull(){return!(this._objects.length!e.inUse)===!1}}const wn={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class El{constructor(e,s){this.painter=e,this.terrain=s,this.pool=new hu(e.context,30,s.sourceCache.tileSize*s.qualityFactor)}destruct(){this.pool.destruct()}getTexture(e){return this.pool.getObjectForId(e.rtt[this._stacks.length-1].id).texture}prepareForRender(e,s){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=e._order.filter(a=>!e._layers[a].isHidden(s)),this._coordsDescendingInv={};for(const a in e.sourceCaches){this._coordsDescendingInv[a]={};const l=e.sourceCaches[a].getVisibleCoordinates();for(const d of l){const v=this.terrain.sourceCache.getTerrainCoords(d);for(const w in v)this._coordsDescendingInv[a][w]||(this._coordsDescendingInv[a][w]=[]),this._coordsDescendingInv[a][w].push(v[w])}}this._coordsDescendingInvStr={};for(const a of e._order){const l=e._layers[a],d=l.source;if(wn[l.type]&&!this._coordsDescendingInvStr[d]){this._coordsDescendingInvStr[d]={};for(const v in this._coordsDescendingInv[d])this._coordsDescendingInvStr[d][v]=this._coordsDescendingInv[d][v].map(w=>w.key).sort().join()}}for(const a of this._renderableTiles)for(const l in this._coordsDescendingInvStr){const d=this._coordsDescendingInvStr[l][a.tileID.key];d&&d!==a.rttCoords[l]&&(a.rtt=[])}}renderLayer(e){if(e.isHidden(this.painter.transform.zoom))return!1;const s=e.type,a=this.painter,l=this._renderableLayerIds[this._renderableLayerIds.length-1]===e.id;if(wn[s]&&(this._prevType&&wn[this._prevType]||this._stacks.push([]),this._prevType=s,this._stacks[this._stacks.length-1].push(e.id),!l))return!0;if(wn[this._prevType]||wn[s]&&l){this._prevType=s;const d=this._stacks.length-1,v=this._stacks[d]||[];for(const w of this._renderableTiles){if(this.pool.isFull()&&(ca(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(w),w.rtt[d]){const A=this.pool.getObjectForId(w.rtt[d].id);if(A.stamp===w.rtt[d].stamp){this.pool.useObject(A);continue}}const I=this.pool.getOrCreateFreeObject();this.pool.useObject(I),this.pool.stampObject(I),w.rtt[d]={id:I.id,stamp:I.stamp},a.context.bindFramebuffer.set(I.fbo.framebuffer),a.context.clear({color:h.aM.transparent,stencil:0}),a.currentStencilSource=void 0;for(let A=0;A{p.touchstart=p.dragStart,p.touchmoveWindow=p.dragMove,p.touchend=p.dragEnd},du={showCompass:!0,showZoom:!0,visualizePitch:!1};class Sn{constructor(e,s,a=!1){this.mousedown=v=>{this.startMouse(h.e({},v,{ctrlKey:!0,preventDefault:()=>v.preventDefault()}),G.mousePos(this.element,v)),G.addEventListener(window,"mousemove",this.mousemove),G.addEventListener(window,"mouseup",this.mouseup)},this.mousemove=v=>{this.moveMouse(v,G.mousePos(this.element,v))},this.mouseup=v=>{this.mouseRotate.dragEnd(v),this.mousePitch&&this.mousePitch.dragEnd(v),this.offTemp()},this.touchstart=v=>{v.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=G.touchPos(this.element,v.targetTouches)[0],this.startTouch(v,this._startPos),G.addEventListener(window,"touchmove",this.touchmove,{passive:!1}),G.addEventListener(window,"touchend",this.touchend))},this.touchmove=v=>{v.targetTouches.length!==1?this.reset():(this._lastPos=G.touchPos(this.element,v.targetTouches)[0],this.moveTouch(v,this._lastPos))},this.touchend=v=>{v.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10;const l=e.dragRotate._mouseRotate.getClickTolerance(),d=e.dragRotate._mousePitch.getClickTolerance();this.element=s,this.mouseRotate=gl({clickTolerance:l,enable:!0}),this.touchRotate=(({enable:v,clickTolerance:w,bearingDegreesPerPixelMoved:I=.8})=>{const A=new _l;return new xn({clickTolerance:w,move:(C,M)=>({bearingDelta:(M.x-C.x)*I}),moveStateManager:A,enable:v,assignEvents:Wc})})({clickTolerance:l,enable:!0}),this.map=e,a&&(this.mousePitch=Js({clickTolerance:d,enable:!0}),this.touchPitch=(({enable:v,clickTolerance:w,pitchDegreesPerPixelMoved:I=-.5})=>{const A=new _l;return new xn({clickTolerance:w,move:(C,M)=>({pitchDelta:(M.y-C.y)*I}),moveStateManager:A,enable:v,assignEvents:Wc})})({clickTolerance:d,enable:!0})),G.addEventListener(s,"mousedown",this.mousedown),G.addEventListener(s,"touchstart",this.touchstart,{passive:!1}),G.addEventListener(s,"touchcancel",this.reset)}startMouse(e,s){this.mouseRotate.dragStart(e,s),this.mousePitch&&this.mousePitch.dragStart(e,s),G.disableDrag()}startTouch(e,s){this.touchRotate.dragStart(e,s),this.touchPitch&&this.touchPitch.dragStart(e,s),G.disableDrag()}moveMouse(e,s){const a=this.map,{bearingDelta:l}=this.mouseRotate.dragMove(e,s)||{};if(l&&a.setBearing(a.getBearing()+l),this.mousePitch){const{pitchDelta:d}=this.mousePitch.dragMove(e,s)||{};d&&a.setPitch(a.getPitch()+d)}}moveTouch(e,s){const a=this.map,{bearingDelta:l}=this.touchRotate.dragMove(e,s)||{};if(l&&a.setBearing(a.getBearing()+l),this.touchPitch){const{pitchDelta:d}=this.touchPitch.dragMove(e,s)||{};d&&a.setPitch(a.getPitch()+d)}}off(){const e=this.element;G.removeEventListener(e,"mousedown",this.mousedown),G.removeEventListener(e,"touchstart",this.touchstart,{passive:!1}),G.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),G.removeEventListener(window,"touchend",this.touchend),G.removeEventListener(e,"touchcancel",this.reset),this.offTemp()}offTemp(){G.enableDrag(),G.removeEventListener(window,"mousemove",this.mousemove),G.removeEventListener(window,"mouseup",this.mouseup),G.removeEventListener(window,"touchmove",this.touchmove,{passive:!1}),G.removeEventListener(window,"touchend",this.touchend)}}let ti;function Co(p,e,s){const a=new h.N(p.lng,p.lat);if(p=new h.N(p.lng,p.lat),e){const l=new h.N(p.lng-360,p.lat),d=new h.N(p.lng+360,p.lat),v=s.locationPoint(p).distSqr(e);s.locationPoint(l).distSqr(e)180;){const l=s.locationPoint(p);if(l.x>=0&&l.y>=0&&l.x<=s.width&&l.y<=s.height)break;p.lng>s.center.lng?p.lng-=360:p.lng+=360}return p.lng!==a.lng&&s.locationPoint(p).y>s.height/2-s.getHorizon()?p:a}const Mo={center:"translate(-50%,-50%)",top:"translate(-50%,0)","top-left":"translate(0,0)","top-right":"translate(-100%,0)",bottom:"translate(-50%,-100%)","bottom-left":"translate(0,-100%)","bottom-right":"translate(-100%,-100%)",left:"translate(0,-50%)",right:"translate(-100%,-50%)"};function Al(p,e,s){const a=p.classList;for(const l in Mo)a.remove(`maplibregl-${s}-anchor-${l}`);a.add(`maplibregl-${s}-anchor-${e}`)}class ga extends h.E{constructor(e){if(super(),this._onKeyPress=s=>{const a=s.code,l=s.charCode||s.keyCode;a!=="Space"&&a!=="Enter"&&l!==32&&l!==13||this.togglePopup()},this._onMapClick=s=>{const a=s.originalEvent.target,l=this._element;this._popup&&(a===l||l.contains(a))&&this.togglePopup()},this._update=s=>{var a;if(!this._map)return;const l=this._map.loaded()&&!this._map.isMoving();((s==null?void 0:s.type)==="terrain"||(s==null?void 0:s.type)==="render"&&!l)&&this._map.once("render",this._update),this._lngLat=this._map.transform.renderWorldCopies?Co(this._lngLat,this._flatPos,this._map.transform):(a=this._lngLat)===null||a===void 0?void 0:a.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let d="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?d=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(d=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let v="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?v="rotateX(0deg)":this._pitchAlignment==="map"&&(v=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||s&&s.type!=="moveend"||(this._pos=this._pos.round()),G.setTransform(this._element,`${Mo[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${v} ${d}`),J.frameAsync(new AbortController).then(()=>{this._updateOpacity(s&&s.type==="moveend")}).catch(()=>{})},this._onMove=s=>{if(!this._isDragging){const a=this._clickTolerance||this._map._clickTolerance;this._isDragging=s.point.dist(this._pointerdownPos)>=a}this._isDragging&&(this._pos=s.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents="none",this._state==="pending"&&(this._state="active",this.fire(new h.k("dragstart"))),this.fire(new h.k("drag")))},this._onUp=()=>{this._element.style.pointerEvents="auto",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),this._state==="active"&&this.fire(new h.k("dragend")),this._state="inactive"},this._addDragHandler=s=>{this._element.contains(s.originalEvent.target)&&(s.preventDefault(),this._positionDelta=s.point.sub(this._pos).add(this._offset),this._pointerdownPos=s.point,this._state="pending",this._map.on("mousemove",this._onMove),this._map.on("touchmove",this._onMove),this._map.once("mouseup",this._onUp),this._map.once("touchend",this._onUp))},this._anchor=e&&e.anchor||"center",this._color=e&&e.color||"#3FB1CE",this._scale=e&&e.scale||1,this._draggable=e&&e.draggable||!1,this._clickTolerance=e&&e.clickTolerance||0,this._subpixelPositioning=e&&e.subpixelPositioning||!1,this._isDragging=!1,this._state="inactive",this._rotation=e&&e.rotation||0,this._rotationAlignment=e&&e.rotationAlignment||"auto",this._pitchAlignment=e&&e.pitchAlignment&&e.pitchAlignment!=="auto"?e.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(e==null?void 0:e.opacity,e==null?void 0:e.opacityWhenCovered),e&&e.element)this._element=e.element,this._offset=h.P.convert(e&&e.offset||[0,0]);else{this._defaultMarker=!0,this._element=G.create("div");const s=G.createNS("http://www.w3.org/2000/svg","svg"),a=41,l=27;s.setAttributeNS(null,"display","block"),s.setAttributeNS(null,"height",`${a}px`),s.setAttributeNS(null,"width",`${l}px`),s.setAttributeNS(null,"viewBox",`0 0 ${l} ${a}`);const d=G.createNS("http://www.w3.org/2000/svg","g");d.setAttributeNS(null,"stroke","none"),d.setAttributeNS(null,"stroke-width","1"),d.setAttributeNS(null,"fill","none"),d.setAttributeNS(null,"fill-rule","evenodd");const v=G.createNS("http://www.w3.org/2000/svg","g");v.setAttributeNS(null,"fill-rule","nonzero");const w=G.createNS("http://www.w3.org/2000/svg","g");w.setAttributeNS(null,"transform","translate(3.0, 29.0)"),w.setAttributeNS(null,"fill","#000000");const I=[{rx:"10.5",ry:"5.25002273"},{rx:"10.5",ry:"5.25002273"},{rx:"9.5",ry:"4.77275007"},{rx:"8.5",ry:"4.29549936"},{rx:"7.5",ry:"3.81822308"},{rx:"6.5",ry:"3.34094679"},{rx:"5.5",ry:"2.86367051"},{rx:"4.5",ry:"2.38636864"}];for(const se of I){const ae=G.createNS("http://www.w3.org/2000/svg","ellipse");ae.setAttributeNS(null,"opacity","0.04"),ae.setAttributeNS(null,"cx","10.5"),ae.setAttributeNS(null,"cy","5.80029008"),ae.setAttributeNS(null,"rx",se.rx),ae.setAttributeNS(null,"ry",se.ry),w.appendChild(ae)}const A=G.createNS("http://www.w3.org/2000/svg","g");A.setAttributeNS(null,"fill",this._color);const C=G.createNS("http://www.w3.org/2000/svg","path");C.setAttributeNS(null,"d","M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z"),A.appendChild(C);const M=G.createNS("http://www.w3.org/2000/svg","g");M.setAttributeNS(null,"opacity","0.25"),M.setAttributeNS(null,"fill","#000000");const O=G.createNS("http://www.w3.org/2000/svg","path");O.setAttributeNS(null,"d","M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z"),M.appendChild(O);const V=G.createNS("http://www.w3.org/2000/svg","g");V.setAttributeNS(null,"transform","translate(6.0, 7.0)"),V.setAttributeNS(null,"fill","#FFFFFF");const H=G.createNS("http://www.w3.org/2000/svg","g");H.setAttributeNS(null,"transform","translate(8.0, 8.0)");const ee=G.createNS("http://www.w3.org/2000/svg","circle");ee.setAttributeNS(null,"fill","#000000"),ee.setAttributeNS(null,"opacity","0.25"),ee.setAttributeNS(null,"cx","5.5"),ee.setAttributeNS(null,"cy","5.5"),ee.setAttributeNS(null,"r","5.4999962");const re=G.createNS("http://www.w3.org/2000/svg","circle");re.setAttributeNS(null,"fill","#FFFFFF"),re.setAttributeNS(null,"cx","5.5"),re.setAttributeNS(null,"cy","5.5"),re.setAttributeNS(null,"r","5.4999962"),H.appendChild(ee),H.appendChild(re),v.appendChild(w),v.appendChild(A),v.appendChild(M),v.appendChild(V),v.appendChild(H),s.appendChild(v),s.setAttributeNS(null,"height",a*this._scale+"px"),s.setAttributeNS(null,"width",l*this._scale+"px"),this._element.appendChild(s),this._offset=h.P.convert(e&&e.offset||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",s=>{s.preventDefault()}),this._element.addEventListener("mousedown",s=>{s.preventDefault()}),Al(this._element,this._anchor,"marker"),e&&e.className)for(const s of e.className.split(" "))this._element.classList.add(s);this._popup=null}addTo(e){return this.remove(),this._map=e,this._element.setAttribute("aria-label",e._getUIString("Marker.Title")),e.getCanvasContainer().appendChild(this._element),e.on("move",this._update),e.on("moveend",this._update),e.on("terrain",this._update),this.setDraggable(this._draggable),this._update(),this._map.on("click",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off("click",this._onMapClick),this._map.off("move",this._update),this._map.off("moveend",this._update),this._map.off("terrain",this._update),this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler),this._map.off("mouseup",this._onUp),this._map.off("touchend",this._onUp),this._map.off("mousemove",this._onMove),this._map.off("touchmove",this._onMove),delete this._map),G.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(e){return this._lngLat=h.N.convert(e),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(e){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),e){if(!("offset"in e.options)){const l=Math.abs(13.5)/Math.SQRT2;e.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[l,-1*(38.1-13.5+l)],"bottom-right":[-l,-1*(38.1-13.5+l)],left:[13.5,-1*(38.1-13.5)],right:[-13.5,-1*(38.1-13.5)]}:this._offset}this._popup=e,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(e){return this._subpixelPositioning=e,this}getPopup(){return this._popup}togglePopup(){const e=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:e?(e.isOpen()?e.remove():(e.setLngLat(this._lngLat),e.addTo(this._map)),this):this}_updateOpacity(e=!1){var s,a;if(!(!((s=this._map)===null||s===void 0)&&s.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(e)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}const l=this._map,d=l.terrain.depthAtPoint(this._pos),v=l.terrain.getElevationForLngLatZoom(this._lngLat,l.transform.tileZoom);if(l.transform.lngLatToCameraDepth(this._lngLat,v)-d<.006)return void(this._element.style.opacity=this._opacity);const w=-this._offset.y/l.transform._pixelPerMeter,I=Math.sin(l.getPitch()*Math.PI/180)*w,A=l.terrain.depthAtPoint(new h.P(this._pos.x,this._pos.y-this._offset.y)),C=l.transform.lngLatToCameraDepth(this._lngLat,v+I)-A>.006;!((a=this._popup)===null||a===void 0)&&a.isOpen()&&C&&this._popup.remove(),this._element.style.opacity=C?this._opacityWhenCovered:this._opacity}getOffset(){return this._offset}setOffset(e){return this._offset=h.P.convert(e),this._update(),this}addClassName(e){this._element.classList.add(e)}removeClassName(e){this._element.classList.remove(e)}toggleClassName(e){return this._element.classList.toggle(e)}setDraggable(e){return this._draggable=!!e,this._map&&(e?(this._map.on("mousedown",this._addDragHandler),this._map.on("touchstart",this._addDragHandler)):(this._map.off("mousedown",this._addDragHandler),this._map.off("touchstart",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(e){return this._rotation=e||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(e){return this._rotationAlignment=e||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(e){return this._pitchAlignment=e&&e!=="auto"?e:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(e,s){return e===void 0&&s===void 0&&(this._opacity="1",this._opacityWhenCovered="0.2"),e!==void 0&&(this._opacity=e),s!==void 0&&(this._opacityWhenCovered=s),this._map&&this._updateOpacity(!0),this}}const Xc={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let ya=0,Tr=!1;const xa={maxWidth:100,unit:"metric"};function lt(p,e,s){const a=s&&s.maxWidth||100,l=p._container.clientHeight/2,d=p.unproject([0,l]),v=p.unproject([a,l]),w=d.distanceTo(v);if(s&&s.unit==="imperial"){const I=3.2808*w;I>5280?dt(e,a,I/5280,p._getUIString("ScaleControl.Miles")):dt(e,a,I,p._getUIString("ScaleControl.Feet"))}else s&&s.unit==="nautical"?dt(e,a,w/1852,p._getUIString("ScaleControl.NauticalMiles")):w>=1e3?dt(e,a,w/1e3,p._getUIString("ScaleControl.Kilometers")):dt(e,a,w,p._getUIString("ScaleControl.Meters"))}function dt(p,e,s,a){const l=function(d){const v=Math.pow(10,`${Math.floor(d)}`.length-1);let w=d/v;return w=w>=10?10:w>=5?5:w>=3?3:w>=2?2:w>=1?1:function(I){const A=Math.pow(10,Math.ceil(-Math.log(I)/Math.LN10));return Math.round(I*A)/A}(w),v*w}(s);p.style.width=e*(l/s)+"px",p.innerHTML=`${l} ${a}`}const va={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1},Pl=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function ba(p){if(p){if(typeof p=="number"){const e=Math.round(Math.abs(p)/Math.SQRT2);return{center:new h.P(0,0),top:new h.P(0,p),"top-left":new h.P(e,e),"top-right":new h.P(-e,e),bottom:new h.P(0,-p),"bottom-left":new h.P(e,-e),"bottom-right":new h.P(-e,-e),left:new h.P(p,0),right:new h.P(-p,0)}}if(p instanceof h.P||Array.isArray(p)){const e=h.P.convert(p);return{center:e,top:e,"top-left":e,"top-right":e,bottom:e,"bottom-left":e,"bottom-right":e,left:e,right:e}}return{center:h.P.convert(p.center||[0,0]),top:h.P.convert(p.top||[0,0]),"top-left":h.P.convert(p["top-left"]||[0,0]),"top-right":h.P.convert(p["top-right"]||[0,0]),bottom:h.P.convert(p.bottom||[0,0]),"bottom-left":h.P.convert(p["bottom-left"]||[0,0]),"bottom-right":h.P.convert(p["bottom-right"]||[0,0]),left:h.P.convert(p.left||[0,0]),right:h.P.convert(p.right||[0,0])}}return ba(new h.P(0,0))}const kr=N;S.AJAXError=h.bh,S.Evented=h.E,S.LngLat=h.N,S.MercatorCoordinate=h.Z,S.Point=h.P,S.addProtocol=h.bi,S.config=h.a,S.removeProtocol=h.bj,S.AttributionControl=Il,S.BoxZoomHandler=pa,S.CanvasSource=br,S.CooperativeGesturesHandler=ks,S.DoubleClickZoomHandler=Uc,S.DragPanHandler=Vc,S.DragRotateHandler=Sl,S.EdgeInsets=bo,S.FullscreenControl=class extends h.E{constructor(p={}){super(),this._onFullscreenChange=()=>{var e;let s=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;!((e=s==null?void 0:s.shadowRoot)===null||e===void 0)&&e.fullscreenElement;)s=s.shadowRoot.fullscreenElement;s===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,p&&p.container&&(p.container instanceof HTMLElement?this._container=p.container:h.w("Full screen control 'container' must be a DOM element.")),"onfullscreenchange"in document?this._fullscreenchange="fullscreenchange":"onmozfullscreenchange"in document?this._fullscreenchange="mozfullscreenchange":"onwebkitfullscreenchange"in document?this._fullscreenchange="webkitfullscreenchange":"onmsfullscreenchange"in document&&(this._fullscreenchange="MSFullscreenChange")}onAdd(p){return this._map=p,this._container||(this._container=this._map.getContainer()),this._controlContainer=G.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){G.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){const p=this._fullscreenButton=G.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);G.create("span","maplibregl-ctrl-icon",p).setAttribute("aria-hidden","true"),p.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){const p=this._getTitle();this._fullscreenButton.setAttribute("aria-label",p),this._fullscreenButton.title=p}_getTitle(){return this._map._getUIString(this._isFullscreen()?"FullscreenControl.Exit":"FullscreenControl.Enter")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle("maplibregl-ctrl-shrink"),this._fullscreenButton.classList.toggle("maplibregl-ctrl-fullscreen"),this._updateTitle(),this._fullscreen?(this.fire(new h.k("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new h.k("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},S.GeoJSONSource=Qr,S.GeolocateControl=class extends h.E{constructor(p){super(),this._onSuccess=e=>{if(this._map){if(this._isOutOfMapMaxBounds(e))return this._setErrorState(),this.fire(new h.k("outofmaxbounds",e)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=e,this._watchState){case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"BACKGROUND":case"BACKGROUND_ERROR":this._watchState="BACKGROUND",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(e),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(e),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new h.k("geolocate",e)),this._finish()}},this._updateCamera=e=>{const s=new h.N(e.coords.longitude,e.coords.latitude),a=e.coords.accuracy,l=this._map.getBearing(),d=h.e({bearing:l},this.options.fitBoundsOptions),v=be.fromLngLat(s,a);this._map.fitBounds(v,d,{geolocateSource:!0})},this._updateMarker=e=>{if(e){const s=new h.N(e.coords.longitude,e.coords.latitude);this._accuracyCircleMarker.setLngLat(s).addTo(this._map),this._userLocationDotMarker.setLngLat(s).addTo(this._map),this._accuracy=e.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius()},this._onError=e=>{if(this._map){if(this.options.trackUserLocation)if(e.code===1){this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.disabled=!0;const s=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=s,this._geolocateButton.setAttribute("aria-label",s),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(e.code===3&&Tr)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new h.k("error",e)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",e=>e.preventDefault()),this._geolocateButton=G.create("button","maplibregl-ctrl-geolocate",this._container),G.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=e=>{if(this._map){if(e===!1){h.w("Geolocation support is not available so the GeolocateControl will be disabled.");const s=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=s,this._geolocateButton.setAttribute("aria-label",s)}else{const s=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=s,this._geolocateButton.setAttribute("aria-label",s)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=G.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new ga({element:this._dotElement}),this._circleElement=G.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new ga({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onZoom)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",s=>{s.geolocateSource||this._watchState!=="ACTIVE_LOCK"||s.originalEvent&&s.originalEvent.type==="resize"||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new h.k("trackuserlocationend")),this.fire(new h.k("userlocationlostfocus")))})}},this.options=h.e({},Xc,p)}onAdd(p){return this._map=p,this._container=G.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return h._(this,arguments,void 0,function*(e=!1){if(ti!==void 0&&!e)return ti;if(window.navigator.permissions===void 0)return ti=!!window.navigator.geolocation,ti;try{ti=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch{ti=!!window.navigator.geolocation}return ti})}().then(e=>this._finishSetupUI(e)),this._container}onRemove(){this._geolocationWatchID!==void 0&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),G.remove(this._container),this._map.off("zoom",this._onZoom),this._map=void 0,ya=0,Tr=!1}_isOutOfMapMaxBounds(p){const e=this._map.getMaxBounds(),s=p.coords;return e&&(s.longitudee.getEast()||s.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case"WAITING_ACTIVE":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error");break;case"ACTIVE_LOCK":this._watchState="ACTIVE_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"BACKGROUND":this._watchState="BACKGROUND_ERROR",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background-error"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting");break;case"ACTIVE_ERROR":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const p=this._map.getBounds(),e=p.getSouthEast(),s=p.getNorthEast(),a=e.distanceTo(s),l=Math.ceil(this._accuracy/(a/this._map._container.clientHeight)*2);this._circleElement.style.width=`${l}px`,this._circleElement.style.height=`${l}px`}trigger(){if(!this._setup)return h.w("Geolocate control triggered before added to a map"),!1;if(this.options.trackUserLocation){switch(this._watchState){case"OFF":this._watchState="WAITING_ACTIVE",this.fire(new h.k("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":ya--,Tr=!1,this._watchState="OFF",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active-error"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background-error"),this.fire(new h.k("trackuserlocationend"));break;case"BACKGROUND":this._watchState="ACTIVE_LOCK",this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-background"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new h.k("trackuserlocationstart")),this.fire(new h.k("userlocationfocus"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case"WAITING_ACTIVE":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"ACTIVE_LOCK":this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-active");break;case"OFF":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let p;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),ya++,ya>1?(p={maximumAge:6e5,timeout:0},Tr=!0):(p=this.options.positionOptions,Tr=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,p)}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return!0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","false"),this.options.showUserLocation&&this._updateMarker(null)}},S.Hash=Rc,S.ImageSource=vr,S.KeyboardHandler=os,S.LngLatBounds=be,S.LogoControl=Nt,S.Map=class extends Po{constructor(p){h.bf.mark(h.bg.create);const e=Object.assign(Object.assign({},Zc),p);if(e.minZoom!=null&&e.maxZoom!=null&&e.minZoom>e.maxZoom)throw new Error("maxZoom must be greater than or equal to minZoom");if(e.minPitch!=null&&e.maxPitch!=null&&e.minPitch>e.maxPitch)throw new Error("maxPitch must be greater than or equal to minPitch");if(e.minPitch!=null&&e.minPitch<0)throw new Error("minPitch must be greater than or equal to 0");if(e.maxPitch!=null&&e.maxPitch>85)throw new Error("maxPitch must be less than or equal to 85");if(super(new Vn(e.minZoom,e.maxZoom,e.minPitch,e.maxPitch,e.renderWorldCopies),{bearingSnap:e.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Tl,this._controls=[],this._mapId=h.a4(),this._contextLost=s=>{s.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new h.k("webglcontextlost",{originalEvent:s}))},this._contextRestored=s=>{this._setupPainter(),this.resize(),this._update(),this.fire(new h.k("webglcontextrestored",{originalEvent:s}))},this._onMapScroll=s=>{if(s.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=e.interactive,this._maxTileCacheSize=e.maxTileCacheSize,this._maxTileCacheZoomLevels=e.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=e.failIfMajorPerformanceCaveat===!0,this._preserveDrawingBuffer=e.preserveDrawingBuffer===!0,this._antialias=e.antialias===!0,this._trackResize=e.trackResize===!0,this._bearingSnap=e.bearingSnap,this._refreshExpiredTiles=e.refreshExpiredTiles===!0,this._fadeDuration=e.fadeDuration,this._crossSourceCollisions=e.crossSourceCollisions===!0,this._collectResourceTiming=e.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},Hc),e.locale),this._clickTolerance=e.clickTolerance,this._overridePixelRatio=e.pixelRatio,this._maxCanvasSize=e.maxCanvasSize,this.transformCameraUpdate=e.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=e.cancelPendingTileRequestsWhileZooming===!0,this._imageQueueHandle=Ct.addThrottleControl(()=>this.isMoving()),this._requestManager=new Li(e.transformRequest),typeof e.container=="string"){if(this._container=document.getElementById(e.container),!this._container)throw new Error(`Container '${e.container}' not found.`)}else{if(!(e.container instanceof HTMLElement))throw new Error("Invalid type: 'container' must be a String or HTMLElement.");this._container=e.container}if(e.maxBounds&&this.setMaxBounds(e.maxBounds),this._setupContainer(),this._setupPainter(),this.on("move",()=>this._update(!1)).on("moveend",()=>this._update(!1)).on("zoom",()=>this._update(!0)).on("terrain",()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0)}).once("idle",()=>{this._idleTriggered=!0}),typeof window<"u"){addEventListener("online",this._onWindowOnline,!1);let s=!1;const a=ua(l=>{this._trackResize&&!this._removed&&(this.resize(l),this.redraw())},50);this._resizeObserver=new ResizeObserver(l=>{s?a(l):s=!0}),this._resizeObserver.observe(this._container)}this.handlers=new Gc(this,e),this._hash=e.hash&&new Rc(typeof e.hash=="string"&&e.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:e.center,zoom:e.zoom,bearing:e.bearing,pitch:e.pitch}),e.bounds&&(this.resize(),this.fitBounds(e.bounds,h.e({},e.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=e.localIdeographFontFamily,this._validateStyle=e.validateStyle,e.style&&this.setStyle(e.style,{localIdeographFontFamily:e.localIdeographFontFamily}),e.attributionControl&&this.addControl(new Il(typeof e.attributionControl=="boolean"?void 0:e.attributionControl)),e.maplibreLogo&&this.addControl(new Nt,e.logoPosition),this.on("style.load",()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet)}),this.on("data",s=>{this._update(s.dataType==="style"),this.fire(new h.k(`${s.dataType}data`,s))}),this.on("dataloading",s=>{this.fire(new h.k(`${s.dataType}dataloading`,s))}),this.on("dataabort",s=>{this.fire(new h.k("sourcedataabort",s))})}_getMapId(){return this._mapId}addControl(p,e){if(e===void 0&&(e=p.getDefaultPosition?p.getDefaultPosition():"top-right"),!p||!p.onAdd)return this.fire(new h.j(new Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));const s=p.onAdd(this);this._controls.push(p);const a=this._controlPositions[e];return e.indexOf("bottom")!==-1?a.insertBefore(s,a.firstChild):a.appendChild(s),this}removeControl(p){if(!p||!p.onRemove)return this.fire(new h.j(new Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));const e=this._controls.indexOf(p);return e>-1&&this._controls.splice(e,1),p.onRemove(this),this}hasControl(p){return this._controls.indexOf(p)>-1}calculateCameraOptionsFromTo(p,e,s,a){return a==null&&this.terrain&&(a=this.terrain.getElevationForLngLatZoom(s,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(p,e,s,a)}resize(p){var e;const s=this._containerDimensions(),a=s[0],l=s[1],d=this._getClampedPixelRatio(a,l);if(this._resizeCanvas(a,l,d),this.painter.resize(a,l,d),this.painter.overLimit()){const w=this.painter.context.gl;this._maxCanvasSize=[w.drawingBufferWidth,w.drawingBufferHeight];const I=this._getClampedPixelRatio(a,l);this._resizeCanvas(a,l,I),this.painter.resize(a,l,I)}this.transform.resize(a,l),(e=this._requestedCameraState)===null||e===void 0||e.resize(a,l);const v=!this._moving;return v&&(this.stop(),this.fire(new h.k("movestart",p)).fire(new h.k("move",p))),this.fire(new h.k("resize",p)),v&&this.fire(new h.k("moveend",p)),this}_getClampedPixelRatio(p,e){const{0:s,1:a}=this._maxCanvasSize,l=this.getPixelRatio(),d=p*l,v=e*l;return Math.min(d>s?s/d:1,v>a?a/v:1)*l}getPixelRatio(){var p;return(p=this._overridePixelRatio)!==null&&p!==void 0?p:devicePixelRatio}setPixelRatio(p){this._overridePixelRatio=p,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(p){return this.transform.setMaxBounds(be.convert(p)),this._update()}setMinZoom(p){if((p=p??-2)>=-2&&p<=this.transform.maxZoom)return this.transform.minZoom=p,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=p,this._update(),this.getZoom()>p&&this.setZoom(p),this;throw new Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(p){if((p=p??0)<0)throw new Error("minPitch must be greater than or equal to 0");if(p>=0&&p<=this.transform.maxPitch)return this.transform.minPitch=p,this._update(),this.getPitch()85)throw new Error("maxPitch must be less than or equal to 85");if(p>=this.transform.minPitch)return this.transform.maxPitch=p,this._update(),this.getPitch()>p&&this.setPitch(p),this;throw new Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(p){return this.transform.renderWorldCopies=p,this._update()}project(p){return this.transform.locationPoint(h.N.convert(p),this.style&&this.terrain)}unproject(p){return this.transform.pointLocation(h.P.convert(p),this.terrain)}isMoving(){var p;return this._moving||((p=this.handlers)===null||p===void 0?void 0:p.isMoving())}isZooming(){var p;return this._zooming||((p=this.handlers)===null||p===void 0?void 0:p.isZooming())}isRotating(){var p;return this._rotating||((p=this.handlers)===null||p===void 0?void 0:p.isRotating())}_createDelegatedListener(p,e,s){if(p==="mouseenter"||p==="mouseover"){let a=!1;return{layers:e,listener:s,delegates:{mousemove:d=>{const v=e.filter(I=>this.getLayer(I)),w=v.length!==0?this.queryRenderedFeatures(d.point,{layers:v}):[];w.length?a||(a=!0,s.call(this,new pr(p,this,d.originalEvent,{features:w}))):a=!1},mouseout:()=>{a=!1}}}}if(p==="mouseleave"||p==="mouseout"){let a=!1;return{layers:e,listener:s,delegates:{mousemove:v=>{const w=e.filter(I=>this.getLayer(I));(w.length!==0?this.queryRenderedFeatures(v.point,{layers:w}):[]).length?a=!0:a&&(a=!1,s.call(this,new pr(p,this,v.originalEvent)))},mouseout:v=>{a&&(a=!1,s.call(this,new pr(p,this,v.originalEvent)))}}}}{const a=l=>{const d=e.filter(w=>this.getLayer(w)),v=d.length!==0?this.queryRenderedFeatures(l.point,{layers:d}):[];v.length&&(l.features=v,s.call(this,l),delete l.features)};return{layers:e,listener:s,delegates:{[p]:a}}}}_saveDelegatedListener(p,e){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[p]=this._delegatedListeners[p]||[],this._delegatedListeners[p].push(e)}_removeDelegatedListener(p,e,s){if(!this._delegatedListeners||!this._delegatedListeners[p])return;const a=this._delegatedListeners[p];for(let l=0;le.includes(v))){for(const v in d.delegates)this.off(v,d.delegates[v]);return void a.splice(l,1)}}}on(p,e,s){if(s===void 0)return super.on(p,e);const a=this._createDelegatedListener(p,typeof e=="string"?[e]:e,s);this._saveDelegatedListener(p,a);for(const l in a.delegates)this.on(l,a.delegates[l]);return this}once(p,e,s){if(s===void 0)return super.once(p,e);const a=typeof e=="string"?[e]:e,l=this._createDelegatedListener(p,a,s);for(const d in l.delegates){const v=l.delegates[d];l.delegates[d]=(...w)=>{this._removeDelegatedListener(p,a,s),v(...w)}}this._saveDelegatedListener(p,l);for(const d in l.delegates)this.once(d,l.delegates[d]);return this}off(p,e,s){return s===void 0?super.off(p,e):(this._removeDelegatedListener(p,typeof e=="string"?[e]:e,s),this)}queryRenderedFeatures(p,e){if(!this.style)return[];let s;const a=p instanceof h.P||Array.isArray(p),l=a?p:[[0,0],[this.transform.width,this.transform.height]];if(e=e||(a?{}:p)||{},l instanceof h.P||typeof l[0]=="number")s=[h.P.convert(l)];else{const d=h.P.convert(l[0]),v=h.P.convert(l[1]);s=[d,new h.P(v.x,d.y),v,new h.P(d.x,v.y),d]}return this.style.queryRenderedFeatures(s,e,this.transform)}querySourceFeatures(p,e){return this.style.querySourceFeatures(p,e)}setStyle(p,e){return(e=h.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},e)).diff!==!1&&e.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&p?(this._diffStyle(p,e),this):(this._localIdeographFontFamily=e.localIdeographFontFamily,this._updateStyle(p,e))}setTransformRequest(p){return this._requestManager.setTransformRequest(p),this}_getUIString(p){const e=this._locale[p];if(e==null)throw new Error(`Missing UI string '${p}'`);return e}_updateStyle(p,e){if(e.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(p,e));const s=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!p)),p?(this.style=new Xo(this,e||{}),this.style.setEventedParent(this,{style:this.style}),typeof p=="string"?this.style.loadURL(p,e,s):this.style.loadJSON(p,e,s),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new Xo(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(p,e){if(typeof p=="string"){const s=this._requestManager.transformRequest(p,"Style");h.h(s,new AbortController).then(a=>{this._updateDiff(a.data,e)}).catch(a=>{a&&this.fire(new h.j(a))})}else typeof p=="object"&&this._updateDiff(p,e)}_updateDiff(p,e){try{this.style.setState(p,e)&&this._update(!0)}catch(s){h.w(`Unable to perform style diff: ${s.message||s.error||s}. Rebuilding the style from scratch.`),this._updateStyle(p,e)}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():h.w("There is no style added to the map.")}addSource(p,e){return this._lazyInitEmptyStyle(),this.style.addSource(p,e),this._update(!0)}isSourceLoaded(p){const e=this.style&&this.style.sourceCaches[p];if(e!==void 0)return e.loaded();this.fire(new h.j(new Error(`There is no source with ID '${p}'`)))}setTerrain(p){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),p){const e=this.style.sourceCaches[p.source];if(!e)throw new Error(`cannot load terrain, because there exists no source with ID: ${p.source}`);this.terrain===null&&e.reload();for(const s in this.style._layers){const a=this.style._layers[s];a.type==="hillshade"&&a.source===p.source&&h.w("You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new cu(this.painter,e,p),this.painter.renderToTexture=new El(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=s=>{s.dataType==="style"?this.terrain.sourceCache.freeRtt():s.dataType==="source"&&s.tile&&(s.sourceId!==p.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(s.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new h.k("terrain",{terrain:p})),this}getTerrain(){var p,e;return(e=(p=this.terrain)===null||p===void 0?void 0:p.options)!==null&&e!==void 0?e:null}areTilesLoaded(){const p=this.style&&this.style.sourceCaches;for(const e in p){const s=p[e]._tiles;for(const a in s){const l=s[a];if(l.state!=="loaded"&&l.state!=="errored")return!1}}return!0}removeSource(p){return this.style.removeSource(p),this._update(!0)}getSource(p){return this.style.getSource(p)}addImage(p,e,s={}){const{pixelRatio:a=1,sdf:l=!1,stretchX:d,stretchY:v,content:w,textFitWidth:I,textFitHeight:A}=s;if(this._lazyInitEmptyStyle(),!(e instanceof HTMLImageElement||h.b(e))){if(e.width===void 0||e.height===void 0)return this.fire(new h.j(new Error("Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));{const{width:C,height:M,data:O}=e,V=e;return this.style.addImage(p,{data:new h.R({width:C,height:M},new Uint8Array(O)),pixelRatio:a,stretchX:d,stretchY:v,content:w,textFitWidth:I,textFitHeight:A,sdf:l,version:0,userImage:V}),V.onAdd&&V.onAdd(this,p),this}}{const{width:C,height:M,data:O}=J.getImageData(e);this.style.addImage(p,{data:new h.R({width:C,height:M},O),pixelRatio:a,stretchX:d,stretchY:v,content:w,textFitWidth:I,textFitHeight:A,sdf:l,version:0})}}updateImage(p,e){const s=this.style.getImage(p);if(!s)return this.fire(new h.j(new Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));const a=e instanceof HTMLImageElement||h.b(e)?J.getImageData(e):e,{width:l,height:d,data:v}=a;if(l===void 0||d===void 0)return this.fire(new h.j(new Error("Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`")));if(l!==s.data.width||d!==s.data.height)return this.fire(new h.j(new Error("The width and height of the updated image must be that same as the previous version of the image")));const w=!(e instanceof HTMLImageElement||h.b(e));return s.data.replace(v,w),this.style.updateImage(p,s),this}getImage(p){return this.style.getImage(p)}hasImage(p){return p?!!this.style.getImage(p):(this.fire(new h.j(new Error("Missing required image id"))),!1)}removeImage(p){this.style.removeImage(p)}loadImage(p){return Ct.getImage(this._requestManager.transformRequest(p,"Image"),new AbortController)}listImages(){return this.style.listImages()}addLayer(p,e){return this._lazyInitEmptyStyle(),this.style.addLayer(p,e),this._update(!0)}moveLayer(p,e){return this.style.moveLayer(p,e),this._update(!0)}removeLayer(p){return this.style.removeLayer(p),this._update(!0)}getLayer(p){return this.style.getLayer(p)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(p,e,s){return this.style.setLayerZoomRange(p,e,s),this._update(!0)}setFilter(p,e,s={}){return this.style.setFilter(p,e,s),this._update(!0)}getFilter(p){return this.style.getFilter(p)}setPaintProperty(p,e,s,a={}){return this.style.setPaintProperty(p,e,s,a),this._update(!0)}getPaintProperty(p,e){return this.style.getPaintProperty(p,e)}setLayoutProperty(p,e,s,a={}){return this.style.setLayoutProperty(p,e,s,a),this._update(!0)}getLayoutProperty(p,e){return this.style.getLayoutProperty(p,e)}setGlyphs(p,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(p,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(p,e,s={}){return this._lazyInitEmptyStyle(),this.style.addSprite(p,e,s,a=>{a||this._update(!0)}),this}removeSprite(p){return this._lazyInitEmptyStyle(),this.style.removeSprite(p),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(p,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(p,e,s=>{s||this._update(!0)}),this}setLight(p,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(p,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(p){return this._lazyInitEmptyStyle(),this.style.setSky(p),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(p,e){return this.style.setFeatureState(p,e),this._update()}removeFeatureState(p,e){return this.style.removeFeatureState(p,e),this._update()}getFeatureState(p){return this.style.getFeatureState(p)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let p=0,e=0;return this._container&&(p=this._container.clientWidth||400,e=this._container.clientHeight||300),[p,e]}_setupContainer(){const p=this._container;p.classList.add("maplibregl-map");const e=this._canvasContainer=G.create("div","maplibregl-canvas-container",p);this._interactive&&e.classList.add("maplibregl-interactive"),this._canvas=G.create("canvas","maplibregl-canvas",e),this._canvas.addEventListener("webglcontextlost",this._contextLost,!1),this._canvas.addEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.setAttribute("tabindex",this._interactive?"0":"-1"),this._canvas.setAttribute("aria-label",this._getUIString("Map.Title")),this._canvas.setAttribute("role","region");const s=this._containerDimensions(),a=this._getClampedPixelRatio(s[0],s[1]);this._resizeCanvas(s[0],s[1],a);const l=this._controlContainer=G.create("div","maplibregl-control-container",p),d=this._controlPositions={};["top-left","top-right","bottom-left","bottom-right"].forEach(v=>{d[v]=G.create("div",`maplibregl-ctrl-${v} `,l)}),this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(p,e,s){this._canvas.width=Math.floor(s*p),this._canvas.height=Math.floor(s*e),this._canvas.style.width=`${p}px`,this._canvas.style.height=`${e}px`}_setupPainter(){const p={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener("webglcontextcreationerror",a=>{e={requestedAttributes:p},a&&(e.statusMessage=a.statusMessage,e.type=a.type)},{once:!0});const s=this._canvas.getContext("webgl2",p)||this._canvas.getContext("webgl",p);if(!s){const a="Failed to initialize WebGL";throw e?(e.message=a,new Error(JSON.stringify(e))):new Error(a)}this.painter=new ha(s,this.transform),ve.testSupport(s)}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(p){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||p,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(p){return this._update(),this._renderTaskQueue.add(p)}_cancelRenderFrame(p){this._renderTaskQueue.remove(p)}_render(p){const e=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(p),this._removed)return;let s=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const l=this.transform.zoom,d=J.now();this.style.zoomHistory.update(l,d);const v=new h.z(l,{now:d,fadeDuration:e,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),w=v.crossFadingFactor();w===1&&w===this._crossFadingFactor||(s=!0,this._crossFadingFactor=w),this.style.update(v)}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,e,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:e,showPadding:this.showPadding}),this.fire(new h.k("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,h.bf.mark(h.bg.load),this.fire(new h.k("load"))),this.style&&(this.style.hasTransitions()||s)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const a=this._sourcesDirty||this._styleDirty||this._placementDirty;return a||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new h.k("idle")),!this._loaded||this._fullyLoaded||a||(this._fullyLoaded=!0,h.bf.mark(h.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var p;this._hash&&this._hash.remove();for(const s of this._controls)s.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window<"u"&&removeEventListener("online",this._onWindowOnline,!1),Ct.removeThrottleControl(this._imageQueueHandle),(p=this._resizeObserver)===null||p===void 0||p.disconnect();const e=this.painter.context.gl.getExtension("WEBGL_lose_context");e!=null&&e.loseContext&&e.loseContext(),this._canvas.removeEventListener("webglcontextrestored",this._contextRestored,!1),this._canvas.removeEventListener("webglcontextlost",this._contextLost,!1),G.remove(this._canvasContainer),G.remove(this._controlContainer),this._container.classList.remove("maplibregl-map"),h.bf.clearMetrics(),this._removed=!0,this.fire(new h.k("remove"))}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,J.frameAsync(this._frameRequest).then(p=>{h.bf.frame(p),this._frameRequest=null,this._render(p)}).catch(()=>{}))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(p){this._showTileBoundaries!==p&&(this._showTileBoundaries=p,this._update())}get showPadding(){return!!this._showPadding}set showPadding(p){this._showPadding!==p&&(this._showPadding=p,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(p){this._showCollisionBoxes!==p&&(this._showCollisionBoxes=p,p?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(p){this._showOverdrawInspector!==p&&(this._showOverdrawInspector=p,this._update())}get repaint(){return!!this._repaint}set repaint(p){this._repaint!==p&&(this._repaint=p,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(p){this._vertices=p,this._update()}get version(){return uu}getCameraTargetElevation(){return this.transform.elevation}},S.MapMouseEvent=pr,S.MapTouchEvent=Io,S.MapWheelEvent=ml,S.Marker=ga,S.NavigationControl=class{constructor(p){this._updateZoomButtons=()=>{const e=this._map.getZoom(),s=e===this._map.getMaxZoom(),a=e===this._map.getMinZoom();this._zoomInButton.disabled=s,this._zoomOutButton.disabled=a,this._zoomInButton.setAttribute("aria-disabled",s.toString()),this._zoomOutButton.setAttribute("aria-disabled",a.toString())},this._rotateCompassArrow=()=>{const e=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=e},this._setButtonTitle=(e,s)=>{const a=this._map._getUIString(`NavigationControl.${s}`);e.title=a,e.setAttribute("aria-label",a)},this.options=h.e({},du,p),this._container=G.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",e=>e.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",e=>this._map.zoomIn({},{originalEvent:e})),G.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",e=>this._map.zoomOut({},{originalEvent:e})),G.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",e=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:e}):this._map.resetNorth({},{originalEvent:e})}),this._compassIcon=G.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(p){return this._map=p,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,"ZoomIn"),this._setButtonTitle(this._zoomOutButton,"ZoomOut"),this._map.on("zoom",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,"ResetBearing"),this.options.visualizePitch&&this._map.on("pitch",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Sn(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){G.remove(this._container),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(p,e){const s=G.create("button",p,this._container);return s.type="button",s.addEventListener("click",e),s}},S.Popup=class extends h.E{constructor(p){super(),this.remove=()=>(this._content&&G.remove(this._content),this._container&&(G.remove(this._container),delete this._container),this._map&&(this._map.off("move",this._update),this._map.off("move",this._onClose),this._map.off("click",this._onClose),this._map.off("remove",this.remove),this._map.off("mousemove",this._onMouseMove),this._map.off("mouseup",this._onMouseUp),this._map.off("drag",this._onDrag),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new h.k("close"))),this),this._onMouseUp=e=>{this._update(e.point)},this._onMouseMove=e=>{this._update(e.point)},this._onDrag=e=>{this._update(e.point)},this._update=e=>{var s;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=G.create("div","maplibregl-popup",this._map.getContainer()),this._tip=G.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(const w of this.options.className.split(" "))this._container.classList.add(w);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?Co(this._lngLat,this._flatPos,this._map.transform):(s=this._lngLat)===null||s===void 0?void 0:s.wrap(),this._trackPointer&&!e)return;const a=this._flatPos=this._pos=this._trackPointer&&e?e:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&e?e:this._map.transform.locationPoint(this._lngLat));let l=this.options.anchor;const d=ba(this.options.offset);if(!l){const w=this._container.offsetWidth,I=this._container.offsetHeight;let A;A=a.y+d.bottom.ythis._map.transform.height-I?["bottom"]:[],a.xthis._map.transform.width-w/2&&A.push("right"),l=A.length===0?"bottom":A.join("-")}let v=a.add(d[l]);this.options.subpixelPositioning||(v=v.round()),G.setTransform(this._container,`${Mo[l]} translate(${v.x}px,${v.y}px)`),Al(this._container,l,"popup")},this._onClose=()=>{this.remove()},this.options=h.e(Object.create(va),p)}addTo(p){return this._map&&this.remove(),this._map=p,this.options.closeOnClick&&this._map.on("click",this._onClose),this.options.closeOnMove&&this._map.on("move",this._onClose),this._map.on("remove",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._onMouseMove),this._map.on("mouseup",this._onMouseUp),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")):this._map.on("move",this._update),this.fire(new h.k("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(p){return this._lngLat=h.N.convert(p),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._onMouseMove),this._container&&this._container.classList.remove("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.remove("maplibregl-track-pointer")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off("move",this._update),this._map.on("mousemove",this._onMouseMove),this._map.on("drag",this._onDrag),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(p){return this.setDOMContent(document.createTextNode(p))}setHTML(p){const e=document.createDocumentFragment(),s=document.createElement("body");let a;for(s.innerHTML=p;a=s.firstChild,a;)e.appendChild(a);return this.setDOMContent(e)}getMaxWidth(){var p;return(p=this._container)===null||p===void 0?void 0:p.style.maxWidth}setMaxWidth(p){return this.options.maxWidth=p,this._update(),this}setDOMContent(p){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=G.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(p),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(p){return this._container&&this._container.classList.add(p),this}removeClassName(p){return this._container&&this._container.classList.remove(p),this}setOffset(p){return this.options.offset=p,this._update(),this}toggleClassName(p){if(this._container)return this._container.classList.toggle(p)}setSubpixelPositioning(p){this.options.subpixelPositioning=p}_createCloseButton(){this.options.closeButton&&(this._closeButton=G.create("button","maplibregl-popup-close-button",this._content),this._closeButton.type="button",this._closeButton.innerHTML="×",this._closeButton.addEventListener("click",this._onClose))}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const p=this._container.querySelector(Pl);p&&p.focus()}},S.RasterDEMTileSource=Si,S.RasterTileSource=Gt,S.ScaleControl=class{constructor(p){this._onMove=()=>{lt(this._map,this._container,this.options)},this.setUnit=e=>{this.options.unit=e,lt(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},xa),p)}getDefaultPosition(){return"bottom-left"}onAdd(p){return this._map=p,this._container=G.create("div","maplibregl-ctrl maplibregl-ctrl-scale",p.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){G.remove(this._container),this._map.off("move",this._onMove),this._map=void 0}},S.ScrollZoomHandler=bn,S.Style=Xo,S.TerrainControl=class{constructor(p){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon()},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove("maplibregl-ctrl-terrain"),this._terrainButton.classList.remove("maplibregl-ctrl-terrain-enabled"),this._map.terrain?(this._terrainButton.classList.add("maplibregl-ctrl-terrain-enabled"),this._terrainButton.title=this._map._getUIString("TerrainControl.Disable")):(this._terrainButton.classList.add("maplibregl-ctrl-terrain"),this._terrainButton.title=this._map._getUIString("TerrainControl.Enable"))},this.options=p}onAdd(p){return this._map=p,this._container=G.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=G.create("button","maplibregl-ctrl-terrain",this._container),G.create("span","maplibregl-ctrl-icon",this._terrainButton).setAttribute("aria-hidden","true"),this._terrainButton.type="button",this._terrainButton.addEventListener("click",this._toggleTerrain),this._updateTerrainIcon(),this._map.on("terrain",this._updateTerrainIcon),this._container}onRemove(){G.remove(this._container),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},S.TwoFingersTouchPitchHandler=wl,S.TwoFingersTouchRotateHandler=bl,S.TwoFingersTouchZoomHandler=xl,S.TwoFingersTouchZoomRotateHandler=Gn,S.VectorTileSource=on,S.VideoSource=Ki,S.addSourceType=(p,e)=>h._(void 0,void 0,void 0,function*(){if(ln(p))throw new Error(`A source type called "${p}" already exists.`);((s,a)=>{an[s]=a})(p,e)}),S.clearPrewarmedResources=function(){const p=wi;p&&(p.isPreloaded()&&p.numActive()===1?(p.release(Yr),wi=null):console.warn("Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()"))},S.getMaxParallelImageRequests=function(){return h.a.MAX_PARALLEL_IMAGE_REQUESTS},S.getRTLTextPluginStatus=function(){return Wr().getRTLTextPluginStatus()},S.getVersion=function(){return kr},S.getWorkerCount=function(){return Lr.workerCount},S.getWorkerUrl=function(){return h.a.WORKER_URL},S.importScriptInWorkers=function(p){return Gs().broadcast("IS",p)},S.prewarm=function(){Mt().acquire(Yr)},S.setMaxParallelImageRequests=function(p){h.a.MAX_PARALLEL_IMAGE_REQUESTS=p},S.setRTLTextPlugin=function(p,e){return Wr().setRTLTextPlugin(p,e)},S.setWorkerCount=function(p){Lr.workerCount=p},S.setWorkerUrl=function(p){h.a.WORKER_URL=p}});var k=u;return k})}(Eh)),Eh.exports}var wh=Tx();const em="rgb(170, 0, 0)",hd="#aaa";class kx{constructor(n,u,_,x){U(this,"width");U(this,"height");U(this,"data");U(this,"map");U(this,"focused");U(this,"route");U(this,"heading");U(this,"rendered",!1);U(this,"context");this.map=n,this.focused=u,this.route=_,this.heading=x,u?(this.width=100,this.height=100):(this.width=80,this.height=80),this.data=new Uint8ClampedArray(this.width*this.height*4)}onAdd(){const n=document.createElement("canvas");n.width=this.width,n.height=this.height,this.context=n.getContext("2d")||void 0}render(){if(this.rendered||!this.context)return!1;const n=this.width/2*.6,{context:u}=this;if(u.save(),u.fillStyle="#fff",u.clearRect(0,0,this.width,this.height),u.translate(this.width/2,this.height/2),this.focused){u.rotate(this.heading*Math.PI/180);const _=6;u.beginPath(),u.moveTo(0,-this.height/2+_),u.lineTo(35-_,35-_),u.lineTo(0,25-_),u.lineTo(-35+_,35-_),u.closePath(),u.lineWidth=_,u.strokeStyle=hd,u.stroke(),u.fillStyle=em,u.fill(),u.rotate(-this.heading*Math.PI/180)}else{if(typeof this.heading<"u"&&this.heading!==null){u.rotate(this.heading*Math.PI/180),u.beginPath(),u.fillStyle=hd;const _=15,x=18;u.moveTo(0,0-n-_),u.lineTo(0-x/2,0-n),u.lineTo(0+x/2,0-n),u.closePath(),u.fill("evenodd"),u.rotate(-this.heading*Math.PI/180)}u.beginPath(),u.arc(0,0,n,0,2*Math.PI),u.lineWidth=4,u.strokeStyle=hd,u.fillStyle=em,u.fill("evenodd"),u.stroke()}return u.fillStyle="#eee",u.font="20px Arial",u.textAlign="center",u.textBaseline="middle",u.fillText(this.route,0,0),u.restore(),this.data=u.getImageData(0,0,this.width,this.height).data,this.rendered=!0,!0}}const Ex=qs({__name:"Map",props:{selectedMarker:{default:()=>({})},mapMovedManually:{type:Boolean}},emits:["markerClick","update:mapMovedManually"],setup(g,{emit:n}){const u=g,_=n;let x,k=!0;const S=_i({get:()=>u.mapMovedManually,set:De=>_("update:mapMovedManually",De)}),h=Kg(),N=Gi({east:0,west:0,north:0,south:0}),{stops:q,unsubscribe:ne}=Mn.useStops(N),{vehicles:J,unsubscribe:G}=Mn.useVehicles(N),ve=_i(()=>Object.values(J.value).map(De=>{let Ut=De.type,ni=`${De.type}-selected`;if(De.type==="bus"){const oi={kind:"vehicle",type:De.type,name:De.name.split(" ")[0],focused:!1,heading:De.location.heading};Ut=JSON.stringify(oi),ni=JSON.stringify({...oi,focused:!0})}return{type:"Feature",properties:{kind:"vehicle",type:De.type,name:De.name,id:De.id,number:De.name.split(" ")[0],to:De.name.split(" ").slice(1).join(" "),iconName:Ut,iconNameFocused:ni,iconSize:De.type==="bus"?1.2:.8},geometry:{type:"Point",coordinates:[De.location.longitude/36e5,De.location.latitude/36e5]}}})),Ee=_i(()=>Object.values(q.value).map(De=>({type:"Feature",properties:{kind:"stop",type:De.type,name:De.name,id:De.id,iconName:De.type,iconNameFocused:`${De.type}-selected`},geometry:{type:"Point",coordinates:[De.location.longitude/36e5,De.location.latitude/36e5]}}))),$e=Uo(u,"selectedMarker"),{vehicle:_t,unsubscribe:Tt}=Mn.useVehicle(_i(()=>$e.value.id)),{trip:xt,unsubscribe:Ct}=Mn.useTrip(_i(()=>{var De;return(De=_t.value)==null?void 0:De.tripId})),Li=_i(()=>{var De,Ut;return((De=_t.value)==null?void 0:De.type)==="bus"&&((Ut=xt.value)!=null&&Ut.path)?[{type:"Feature",properties:{type:"trip"},geometry:{type:"LineString",coordinates:xt.value.path.map(ni=>[ni.longitude/36e5,ni.latitude/36e5])}}]:[]}),Yt=_i(()=>({type:"FeatureCollection",features:[...ve.value,...Ee.value,...Li.value]})),Vt=_i(()=>{var De,Ut;return{id:"stops",type:"symbol",source:"geojson",filter:["==","kind","stop"],paint:{"icon-opacity":["match",["get","number"],((De=_t.value)==null?void 0:De.name.split(" ")[0])??"",1,$e.value.type==="bus"?.3:1]},layout:{"icon-image":["match",["get","id"],$e.value.id||"",["get","iconNameFocused"],["get","iconName"]],"icon-size":.4,"icon-rotation-alignment":"map","icon-allow-overlap":!0,"symbol-sort-key":["match",["get","number"],((Ut=_t.value)==null?void 0:Ut.name.split(" ")[0])??"",2,1]}}}),yt=_i(()=>{var De,Ut;return{id:"vehicles",type:"symbol",source:"geojson",paint:{"icon-opacity":["match",["get","number"],((De=_t.value)==null?void 0:De.name.split(" ")[0])??"",1,$e.value.type==="bus"?.3:1]},filter:["==","kind","vehicle"],layout:{"icon-image":["match",["get","id"],$e.value.id||"",["get","iconNameFocused"],["get","iconName"]],"icon-size":["get","iconSize"],"icon-rotation-alignment":"map","icon-allow-overlap":!0,"symbol-sort-key":["match",["get","number"],((Ut=_t.value)==null?void 0:Ut.name.split(" ")[0])??"",2,1]}}}),ri=_i(()=>({id:"trips",type:"line",source:"geojson",filter:["==","type","trip"],paint:{"line-width":3,"line-color":"rgb(170, 0, 0)"}})),Bt=Gi(null),{width:ji,height:Lt}=Yg(Bt);function kt(De){x&&x.flyTo({center:De,padding:{left:ji.value>=768?320:0,bottom:ji.value>=768?0:Lt.value*(2/3)}})}Qg(async()=>{const{lastLocation:De}=dm();x=new wh.Map({container:"map",style:h.value==="dark"?Pf:Cf,minZoom:5,maxZoom:18,center:De.value.center,zoom:De.value.zoom,pitch:De.value.pitch,bearing:De.value.bearing,maxBounds:[5,46,15,57],attributionControl:!1});const Ut=new wh.AttributionControl({compact:!0});x.addControl(Ut,"bottom-left");const ni=new wh.GeolocateControl({positionOptions:{enableHighAccuracy:!0},trackUserLocation:!0});x.addControl(ni,"bottom-right"),x.addControl(new wh.NavigationControl({}),"bottom-right"),navigator.permissions&&(await navigator.permissions.query({name:"geolocation"})).state==="granted"&&ni.trigger(),x.on("styleimagemissing",Ni=>{if(Ni.id[0]!=="{")return;const si=JSON.parse(Ni.id);si.kind==="vehicle"&&si.type==="bus"&&x.addImage(Ni.id,new kx(x,si.focused,si.name,si.heading),{pixelRatio:2})});async function oi(Ni,si){const gi=await x.loadImage(si);x.addImage(Ni,gi.data,{pixelRatio:2})}async function ws(){await oi("bus-stop","/icons/stop-bus.png"),await oi("bus-stop-selected","/icons/stop-bus-selected.png"),await oi("bike-stop","/icons/stop-bike.png"),await oi("bike-stop-selected","/icons/stop-bike-selected.png"),await oi("tram-stop","/icons/stop-tram.png"),await oi("tram-stop-selected","/icons/stop-tram-selected.png"),await oi("train-stop","/icons/stop-train.png"),await oi("train-stop-selected","/icons/stop-train-selected.png"),await oi("ferry-stop","/icons/stop-ferry.png"),await oi("ferry-stop-selected","/icons/stop-ferry-selected.png"),await oi("escooter","/icons/vehicle-escooter.png"),await oi("escooter-selected","/icons/vehicle-escooter-selected.png")}x.on("load",()=>{ws(),x.addSource("geojson",{type:"geojson",data:Object.freeze(Yt.value)}),x.addLayer(Vt.value),x.addLayer(ri.value),x.addLayer(yt.value),k=!1}),x.on("mouseenter","vehicles",()=>{x.getCanvas().style.cursor="pointer"}),x.on("mouseleave","vehicles",()=>{x.getCanvas().style.cursor=""}),x.on("mouseenter","stops",()=>{x.getCanvas().style.cursor="pointer"}),x.on("mouseleave","stops",()=>{x.getCanvas().style.cursor=""}),x.on("click",Ni=>{const si=x.queryRenderedFeatures(Ni.point,{layers:["stops","vehicles"]});if(si.length===0){_("markerClick");return}const gi=si[0];gi.properties.id!==$e.value.id&&(S.value=!1,_("markerClick",{type:gi.properties.type,id:gi.properties.id}))}),x.on("drag",()=>{S.value=!0}),x.on("move",()=>{De.value={center:x.getCenter(),zoom:x.getZoom(),pitch:x.getPitch(),bearing:x.getBearing()},N.value={north:x.getBounds().getNorth(),east:x.getBounds().getEast(),south:x.getBounds().getSouth(),west:x.getBounds().getWest()}})}),um(async()=>{await ne(),await G(),await Tt(),await Ct()}),io(h,()=>{h.value==="dark"?x.setStyle(Pf):x.setStyle(Cf),window.location.reload()}),io(Yt,()=>{if(!x)return;const De=x.getSource("geojson");(ni=>(ni==null?void 0:ni.type)==="geojson")(De)&&De.setData(Object.freeze(Yt.value))}),io(Vt,()=>{!x||k||(Vt.value.layout&&Object.keys(Vt.value.layout).forEach(De=>{Vt.value.layout&&x.setLayoutProperty("stops",De,Vt.value.layout[De])}),Vt.value.paint&&Object.keys(Vt.value.paint).forEach(De=>{Vt.value.paint&&x.setPaintProperty("stops",De,Vt.value.paint[De])}))}),io(yt,()=>{!x||k||(yt.value.layout&&Object.keys(yt.value.layout).forEach(De=>{yt.value.layout&&x.setLayoutProperty("vehicles",De,yt.value.layout[De])}),yt.value.paint&&Object.keys(yt.value.paint).forEach(De=>{yt.value.paint&&x.setPaintProperty("vehicles",De,yt.value.paint[De])}))});const pi=_i(()=>{const De=$e.value;if(De)return Yt.value.features.find(Ut=>Ut.properties.id===De.id)});return io(pi,(De,Ut)=>{var ni;!x||!De||De.properties.id===(Ut==null?void 0:Ut.properties.id)||kt((ni=De.geometry)==null?void 0:ni.coordinates)}),(De,Ut)=>(Le(),mt("div",{id:"map",ref_key:"mapElement",ref:Bt,class:"w-full h-full"},null,512))}}),Ax=Cd(Ex,[["__scopeId","data-v-0ac17b1b"]]),Px={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function Cx(g,n){return Le(),mt("svg",Px,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M18 8H8c-1.1 0-2 .9-2 2v6a2 2 0 0 0 2 2h10c1.11 0 2-.89 2-2v-6a2 2 0 0 0-2-2m-4 8H8v-2h6zm4-4H8v-2h10zm4-6H4v16H2V2h2v2h18z"},null,-1)]))}const Nd=Ti({name:"mdi-sign-real-estate",render:Cx}),$d="kiel-live-favorites-v1",Fm="favoriteStops",tm=localStorage.getItem(Fm);if(tm!==null){const g=JSON.parse(tm);localStorage.setItem($d,JSON.stringify(g.map(n=>({id:`kvg-${n.id}`,name:n.name,type:"bus-stop"})))),localStorage.removeItem(Fm)}const im=Gi(JSON.parse(localStorage.getItem($d)??"[]")),no=_i({get(){return im.value},set(g){im.value=g,localStorage.setItem($d,JSON.stringify(g))}}),{track:Bm}=sy();function Mx({id:g,name:n,type:u}){no.value=[...no.value,{id:g,name:n,type:u}],Bm("favorite:add",{favorites:no.value.length})}function zx(g){no.value=no.value.filter(n=>n.id!==g.id),Bm("favorite:remove",{favorites:no.value.length})}function Dx(g){return no.value.some(n=>n.id===g.id)}function jm(){return{favorites:no,addFavorite:Mx,removeFavorite:zx,isFavorite:Dx}}const Lx={class:"flex flex-col min-h-0 flex-grow"},Rx={class:"flex pb-2 mb-2 border-b-1 dark:border-dark-100 space-x-2 items-center"},Ox={class:"text-lg"},Fx={key:0,class:"m-auto max-w-52 text-center text-xl"},Bx={class:"flex flex-col overflow-y-auto"},jx={class:""},Nx=qs({__name:"FavoritesPopup",setup(g){const{t:n}=Go(),{favorites:u}=jm();return(_,x)=>{const k=pm,S=Nd,h=lc("router-link");return Le(),mt("div",Lx,[Qe("div",Rx,[Vi(k),Qe("h1",Ox,hi(st(n)("favorites")),1)]),st(u).length===0?(Le(),mt("div",Fx,[Qe("p",null,hi(st(n)("add_favorites")),1)])):zi("",!0),Qe("div",Bx,[(Le(!0),mt($s,null,Vo(st(u),N=>(Le(),Ft(h,{key:N.id,to:{name:"map-marker",params:{markerType:N.type,markerId:N.id}},class:"flex py-2 not-last:border-b-1 dark:border-dark-300"},{default:tr(()=>[N.type==="bus-stop"?(Le(),Ft(S,{key:0,class:"mr-2"})):zi("",!0),Qe("div",jx,hi(N.name),1)]),_:2},1032,["to"]))),128))])])}}}),$x={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"};function Ux(g,n){return Le(),mt("svg",$x,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M288 39.056v16.659c0 10.804 7.281 20.159 17.686 23.066C383.204 100.434 440 171.518 440 256c0 101.689-82.295 184-184 184c-101.689 0-184-82.295-184-184c0-84.47 56.786-155.564 134.312-177.219C216.719 75.874 224 66.517 224 55.712V39.064c0-15.709-14.834-27.153-30.046-23.234C86.603 43.482 7.394 141.206 8.003 257.332c.72 137.052 111.477 246.956 248.531 246.667C393.255 503.711 504 392.788 504 256c0-115.633-79.14-212.779-186.211-240.236C302.678 11.889 288 23.456 288 39.056"},null,-1)]))}const Nm=Ti({name:"fa-solid-circle-notch",render:Ux}),Vx={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function qx(g,n){return Le(),mt("svg",Vx,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"m18.18 10l-1.7-4.68A2.01 2.01 0 0 0 14.6 4H12v2h2.6l1.46 4h-4.81l-.36-1H12V7H7v2h1.75l1.82 5H9.9c-.44-2.23-2.31-3.88-4.65-3.99C2.45 9.87 0 12.2 0 15s2.2 5 5 5c2.46 0 4.45-1.69 4.9-4h4.2c.44 2.23 2.31 3.88 4.65 3.99c2.8.13 5.25-2.19 5.25-5c0-2.8-2.2-5-5-5h-.82zM7.82 16c-.4 1.17-1.49 2-2.82 2c-1.68 0-3-1.32-3-3s1.32-3 3-3c1.33 0 2.42.83 2.82 2H5v2zm6.28-2h-1.4l-.73-2H15c-.44.58-.76 1.25-.9 2m4.9 4c-1.68 0-3-1.32-3-3c0-.93.41-1.73 1.05-2.28l.96 2.64l1.88-.68l-.97-2.67c.03 0 .06-.01.09-.01c1.68 0 3 1.32 3 3s-1.33 3-3.01 3"},null,-1)]))}const $m=Ti({name:"ic-outline-pedal-bike",render:qx}),Gx={viewBox:"0 0 416 512",width:"0.99em",height:"1.2em"};function Hx(g,n){return Le(),mt("svg",Gx,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M272 96c26.51 0 48-21.49 48-48S298.51 0 272 0s-48 21.49-48 48s21.49 48 48 48M113.69 317.47l-14.8 34.52H32c-17.67 0-32 14.33-32 32s14.33 32 32 32h77.45c19.25 0 36.58-11.44 44.11-29.09l8.79-20.52l-10.67-6.3c-17.32-10.23-30.06-25.37-37.99-42.61M384 223.99h-44.03l-26.06-53.25c-12.5-25.55-35.45-44.23-61.78-50.94l-71.08-21.14c-28.3-6.8-57.77-.55-80.84 17.14l-39.67 30.41c-14.03 10.75-16.69 30.83-5.92 44.86s30.84 16.66 44.86 5.92l39.69-30.41c7.67-5.89 17.44-8 25.27-6.14l14.7 4.37l-37.46 87.39c-12.62 29.48-1.31 64.01 26.3 80.31l84.98 50.17l-27.47 87.73c-5.28 16.86 4.11 34.81 20.97 40.09c3.19 1 6.41 1.48 9.58 1.48c13.61 0 26.23-8.77 30.52-22.45l31.64-101.06c5.91-20.77-2.89-43.08-21.64-54.39l-61.24-36.14l31.31-78.28l20.27 41.43c8 16.34 24.92 26.89 43.11 26.89H384c17.67 0 32-14.33 32-32s-14.33-31.99-32-31.99"},null,-1)]))}const Zx=Ti({name:"fa-solid-running",render:Hx}),Wx={viewBox:"0 0 448 512",width:"1.06em",height:"1.2em"};function Xx(g,n){return Le(),mt("svg",Wx,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M408.781 128.007C386.356 127.578 368 146.36 368 168.79V256h-8V79.79c0-22.43-18.356-41.212-40.781-40.783C297.488 39.423 280 57.169 280 79v177h-8V40.79C272 18.36 253.644-.422 231.219.007C209.488.423 192 18.169 192 40v216h-8V80.79c0-22.43-18.356-41.212-40.781-40.783C121.488 40.423 104 58.169 104 80v235.992l-31.648-43.519c-12.993-17.866-38.009-21.817-55.877-8.823c-17.865 12.994-21.815 38.01-8.822 55.877l125.601 172.705A48 48 0 0 0 172.073 512h197.59c22.274 0 41.622-15.324 46.724-37.006l26.508-112.66a192 192 0 0 0 5.104-43.975V168c.001-21.831-17.487-39.577-39.218-39.993"},null,-1)]))}const Jx=Ti({name:"fa-solid-hand-paper",render:Xx}),Kx={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"};function Yx(g,n){return Le(),mt("svg",Kx,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248s248-111 248-248S393 8 256 8m92.49 313l-20 25a16 16 0 0 1-22.49 2.5l-67-49.72a40 40 0 0 1-15-31.23V112a16 16 0 0 1 16-16h32a16 16 0 0 1 16 16v144l58 42.5a16 16 0 0 1 2.49 22.5"},null,-1)]))}const Qx=Ti({name:"fa-solid-clock",render:Yx}),e1={viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function t1(g,n){return Le(),mt("svg",e1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M30 25H2v2h2v2h2v-2h5v2h2v-2h5v2h2v-2h5v2h2v-2h3zM8 16H2v-2h6v-2H2v-2h6a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2"},null,-1),Qe("path",{fill:"currentColor",d:"m28.55 14.23l-8.58-7.864A8.98 8.98 0 0 0 13.888 4H2v2h10v4a2 2 0 0 0 2 2h9.157l4.041 3.705A2.472 2.472 0 0 1 25.528 20H2v2h23.527a4.473 4.473 0 0 0 3.023-7.77M14 10V6.005a6.98 6.98 0 0 1 4.618 1.835L20.975 10Z"},null,-1)]))}const i1=Ti({name:"carbon-train-profile",render:t1}),r1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function s1(g,n){return Le(),mt("svg",r1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M19 16.94V8.5c0-2.79-2.61-3.4-6-3.5l.75-1.5H17V2H7v1.5h4.75L11 5c-3.14.11-6 .73-6 3.5v8.44c0 1.45 1.19 2.66 2.59 2.97L6 21.5v.5h2.23l2-2H14l2 2h2v-.5L16.5 20h-.08c1.69 0 2.58-1.37 2.58-3.06m-7 1.56a1.5 1.5 0 0 1-1.5-1.5a1.5 1.5 0 0 1 1.5-1.5a1.5 1.5 0 0 1 1.5 1.5a1.5 1.5 0 0 1-1.5 1.5m5-4.5H7V9h10z"},null,-1)]))}const n1=Ti({name:"mdi-tram",render:s1}),o1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function a1(g,n){return Le(),mt("svg",o1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M18 11H6V6h12m-1.5 11a1.5 1.5 0 0 1-1.5-1.5a1.5 1.5 0 0 1 1.5-1.5a1.5 1.5 0 0 1 1.5 1.5a1.5 1.5 0 0 1-1.5 1.5m-9 0A1.5 1.5 0 0 1 6 15.5A1.5 1.5 0 0 1 7.5 14A1.5 1.5 0 0 1 9 15.5A1.5 1.5 0 0 1 7.5 17M4 16c0 .88.39 1.67 1 2.22V20a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1h8v1a1 1 0 0 0 1 1h1a1 1 0 0 0 1-1v-1.78c.61-.55 1-1.34 1-2.22V6c0-3.5-3.58-4-8-4s-8 .5-8 4z"},null,-1)]))}const l1=Ti({name:"mdi-bus",render:a1}),c1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function h1(g,n){return Le(),mt("svg",c1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2z"},null,-1)]))}const u1=Ti({name:"mdi-alert",render:h1}),d1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function p1(g,n){return Le(),mt("svg",d1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M8 5v14l11-7z"},null,-1)]))}const f1=Ti({name:"ic-baseline-play-arrow",render:p1}),m1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function _1(g,n){return Le(),mt("svg",m1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"m21.41 10.59l-7.99-8c-.78-.78-2.05-.78-2.83 0l-8.01 8c-.78.78-.78 2.05 0 2.83l8.01 8c.78.78 2.05.78 2.83 0l7.99-8c.79-.79.79-2.05 0-2.83M13.5 14.5V12H10v3H8v-4c0-.55.45-1 1-1h4.5V7.5L17 11z"},null,-1)]))}const g1=Ti({name:"ic-baseline-directions",render:_1}),y1={key:0,class:"flex mt-2 overflow-x-auto"},x1={class:"inline-flex w-min gap-2 pb-4"},v1={key:2},Um=qs({__name:"Actions",props:{actions:{required:!0},actionsModifiers:{}},emits:["update:actions"],setup(g){const{t:n}=Go(),u=fm(g,"actions"),{checkFeatureFlag:_}=ny();return(x,k)=>{const S=g1,h=f1;return u.value.length>0&&st(_)("vehicle_stop_actions").value?(Le(),mt("div",y1,[Qe("div",x1,[(Le(!0),mt($s,null,Vo(u.value,N=>(Le(),Ft(Na,{key:N.url,href:N.url,rounded:"",class:"gap-2 flex-shrink-0 px-4 py-2"},{default:tr(()=>[N.type==="navigate-to"?(Le(),mt($s,{key:0},[Vi(S),Qe("span",null,hi(st(n)("navigate_to")),1)],64)):N.type==="rent"?(Le(),mt($s,{key:1},[Vi(h),Qe("span",null,hi(st(n)("rent_vehicle")),1)],64)):(Le(),mt("span",v1,hi(N.name),1))]),_:2},1032,["href"]))),128))])])):zi("",!0)}}}),b1={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function w1(g,n){return Le(),mt("svg",b1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M243 96a20.33 20.33 0 0 0-17.74-14l-56.59-4.57l-21.84-52.81a20.36 20.36 0 0 0-37.66 0L87.35 77.44L30.76 82a20.45 20.45 0 0 0-11.66 35.88l43.18 37.24l-13.2 55.7A20.37 20.37 0 0 0 79.57 233L128 203.19L176.43 233a20.39 20.39 0 0 0 30.49-22.15l-13.2-55.7l43.18-37.24A20.43 20.43 0 0 0 243 96m-70.47 45.7a12 12 0 0 0-3.84 11.86L181.58 208l-47.29-29.08a12 12 0 0 0-12.58 0L74.42 208l12.89-54.4a12 12 0 0 0-3.84-11.86l-42.27-36.5l55.4-4.47a12 12 0 0 0 10.13-7.38L128 41.89l21.27 51.5a12 12 0 0 0 10.13 7.38l55.4 4.47Z"},null,-1)]))}const S1=Ti({name:"ph-star-bold",render:w1}),I1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function T1(g,n){return Le(),mt("svg",I1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M6 6h12v3.96L12 8L6 9.96M3.94 19H4c1.6 0 3-.88 4-2c1 1.12 2.4 2 4 2s3-.88 4-2c1 1.12 2.4 2 4 2h.05l1.9-6.69c.08-.25.05-.53-.06-.77c-.13-.24-.34-.42-.6-.5L20 10.62V6a2 2 0 0 0-2-2h-3V1H9v3H6a2 2 0 0 0-2 2v4.62l-1.29.42c-.26.08-.47.26-.6.5c-.11.24-.14.52-.06.77M20 21c-1.39 0-2.78-.47-4-1.33c-2.44 1.71-5.56 1.71-8 0C6.78 20.53 5.39 21 4 21H2v2h2c1.37 0 2.74-.35 4-1c2.5 1.3 5.5 1.3 8 0c1.26.65 2.62 1 4 1h2v-2z"},null,-1)]))}const Vm=Ti({name:"mdi-ferry",render:T1}),k1={viewBox:"0 0 1216 1312",width:"1.12em",height:"1.2em"};function E1(g,n){return Le(),mt("svg",k1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M1202 1066q0 40-28 68l-136 136q-28 28-68 28t-68-28L608 976l-294 294q-28 28-68 28t-68-28L42 1134q-28-28-28-68t28-68l294-294L42 410q-28-28-28-68t28-68l136-136q28-28 68-28t68 28l294 294l294-294q28-28 68-28t68 28l136 136q28 28 28 68t-28 68L880 704l294 294q28 28 28 68"},null,-1)]))}const A1=Ti({name:"fa-close",render:E1}),P1={viewBox:"0 0 512 512",width:"1.2em",height:"1.2em"};function C1(g,n){return Le(),mt("svg",P1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M256 8C119.034 8 8 119.033 8 256s111.034 248 248 248s248-111.034 248-248S392.967 8 256 8m130.108 117.892c65.448 65.448 70 165.481 20.677 235.637L150.47 105.216c70.204-49.356 170.226-44.735 235.638 20.676M125.892 386.108c-65.448-65.448-70-165.481-20.677-235.637L361.53 406.784c-70.203 49.356-170.226 44.736-235.638-20.676"},null,-1)]))}const M1=Ti({name:"fa-solid-ban",render:C1}),z1={class:"flex flex-col items-center flex-grow"},D1={class:"flex flex-col items-center my-2 text-lg"},Oh=qs({__name:"NoData",setup(g){const{t:n}=Go();return(u,_)=>{const x=M1,k=A1;return Le(),mt("div",z1,[Vi(x,{class:"text-3xl mt-auto"}),Qe("div",D1,[lm(u.$slots,"default")]),Vi(Na,{class:"mt-auto mb-4",to:{name:"home"},replace:""},{default:tr(()=>[Vi(k,{class:"mr-2"}),Qe("span",null,hi(st(n)("close")),1)]),_:1})])}}}),L1={key:0,class:"flex flex-col min-h-0 flex-grow"},R1={class:"flex flex-row pb-2 mb-2 border-b-1 dark:border-dark-100 items-center"},O1={class:"text-lg ml-2"},F1={class:"flex flex-col flex-grow overflow-y-auto"},B1={key:0,class:"bg-red-300 dark:bg-red-800 bg-opacity-50 dark:bg-opacity-50 p-2 mb-2 rounded-md"},j1={class:"flex items-center border-b-1 border-gray-500 dark:border-gray-300 mb-2"},N1={class:"font-bold"},$1={class:"flex flex-row items-center"},U1={class:"mr-2"},V1={class:"flex-grow"},q1={class:"ml-2 flex items-center"},G1={class:"flex flex-row gap-1 text-gray-500 dark:text-gray-400 text-xs"},H1={class:"ml-auto"},Z1={class:"flex flex-row"},W1={class:"mr-2"},X1=qs({__name:"StopPopup",props:{marker:{}},setup(g){const n=g,{addFavorite:u,removeFavorite:_,isFavorite:x}=jm(),{t:k}=Go(),S=Uo(n,"marker"),{stop:h,unsubscribe:N}=Mn.useStop(_i(()=>n.marker.id)),q=J=>{if(J.eta===0)return null;const G=Math.round(J.eta/60);return J.state==="stopping"?k("stopping"):G<1?k("immediately"):k("minutes",{minutes:G})},ne=_i(()=>{var J;return(J=h.value)!=null&&J.arrivals?h.value.arrivals.toSorted((G,ve)=>G.eta===0||ve.eta===0?G.planned.localeCompare(ve.planned):G.eta-ve.eta).map(G=>({...G,nextStopName:void 0,eta:q(G)})):null});return um(async()=>{await N()}),(J,G)=>{const ve=Vm,Ee=Nd,$e=pm,_t=S1,Tt=Um,xt=u1,Ct=l1,Li=n1,Yt=i1,Vt=Qx,yt=Jx,ri=Zx,Bt=lc("router-link"),ji=$m,Lt=Nm;return st(h)?(Le(),mt("div",L1,[Qe("div",R1,[st(h).type==="ferry-stop"?(Le(),Ft(ve,{key:0})):(Le(),Ft(Ee,{key:1})),Qe("h1",O1,hi(st(h).name),1),st(x)(st(h))?(Le(),Ft(Na,{key:2,class:"text-yellow-300 ml-auto border-0",title:st(k)("remove_favorite"),onClick:G[0]||(G[0]=kt=>st(_)(st(h)))},{default:tr(()=>[Vi($e)]),_:1},8,["title"])):(Le(),Ft(Na,{key:3,class:"ml-auto border-0",title:st(k)("add_favorite"),onClick:G[1]||(G[1]=kt=>st(u)(st(h)))},{default:tr(()=>[Vi(_t)]),_:1},8,["title"]))]),Vi(Tt,{actions:st(h).actions??[]},null,8,["actions"]),Qe("div",F1,[st(h).alerts&&st(h).alerts.length>=1?(Le(),mt("div",B1,[Qe("div",j1,[Vi(xt,{class:"mr-2"}),Qe("span",N1,hi(st(k)("alerts")),1)]),Qe("ul",null,[(Le(!0),mt($s,null,Vo(st(h).alerts,(kt,pi)=>(Le(),mt("li",{key:pi,class:"items-center ml-5 list-outside list-disc"},hi(kt),1))),128))])])):zi("",!0),(Le(!0),mt($s,null,Vo(ne.value,kt=>(Le(),Ft(Bt,{key:kt.tripId,class:"flex flex-col py-2 w-full not-last:border-b-1 dark:border-dark-300",to:{name:"map-marker",params:{markerType:st(h).type.replace("-stop",""),markerId:kt.vehicleId}}},{default:tr(()=>[Qe("div",$1,[kt.type==="bus"?(Le(),Ft(Ct,{key:0,class:"mr-2 w-6 h-6"})):kt.type==="ferry"?(Le(),Ft(ve,{key:1,class:"mr-2"})):kt.type==="tram"?(Le(),Ft(Li,{key:2,class:"mr-2 w-6 h-6"})):kt.type==="train"?(Le(),Ft(Yt,{key:3,class:"mr-2"})):zi("",!0),Qe("span",U1,hi(kt.routeName),1),Qe("span",V1,hi(kt.direction),1),Qe("span",null,hi(kt.eta??kt.planned),1),Qe("div",q1,[kt.state==="planned"?(Le(),Ft(Vt,{key:0})):zi("",!0),kt.state==="stopping"?(Le(),Ft(yt,{key:1})):zi("",!0),kt.state==="predicted"?(Le(),Ft(ri,{key:2})):zi("",!0)])]),Qe("div",G1,[kt.nextStopName?(Le(),mt($s,{key:0},[Qe("span",null,hi(st(k)("next_stop")),1),Qe("span",null,hi(kt.nextStopName),1)],64)):zi("",!0),Qe("span",H1,hi(kt.platform),1)])]),_:2},1032,["to"]))),128)),(Le(!0),mt($s,null,Vo(st(h).vehicles,kt=>(Le(),Ft(Bt,{key:kt.id,class:"flex flex-col py-2 w-full not-last:border-b-1 dark:border-dark-300",to:{name:"map-marker",params:{markerType:kt.type,markerId:kt.id}}},{default:tr(()=>[Qe("div",Z1,[kt.type==="bike"?(Le(),Ft(ji,{key:0,class:"mr-2"})):kt.type==="ferry"?(Le(),Ft(ve,{key:1,class:"mr-2"})):zi("",!0),Qe("span",W1,hi(kt.name),1)])]),_:2},1032,["to"]))),128)),ne.value&&ne.value.length===0?(Le(),Ft(Oh,{key:1},{default:tr(()=>[Ah(hi(st(k)("no_bus_wants_to_stop_here_right_now")),1)]),_:1})):zi("",!0),ne.value===null&&st(h).vehicles===null?(Le(),Ft(Lt,{key:2,class:"m-auto text-3xl animate-spin"})):zi("",!0)])])):(Le(),Ft(Oh,{key:1},{default:tr(()=>[Ah(hi(st(k)("this_stop_probably_does_not_exist"))+" ",1),st(x)(S.value)?(Le(),Ft(Na,{key:0,class:"mt-2",onClick:G[2]||(G[2]=()=>{st(_)(S.value),J.$router.replace({name:"home"})})},{default:tr(()=>[Vi($e,{class:"mr-2 text-yellow-300"}),Qe("span",null,hi(st(k)("remove_favorite")),1)]),_:1})):zi("",!0)]),_:1}))}}}),J1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function K1(g,n){return Le(),mt("svg",J1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M19 5c0-1.1-.9-2-2-2h-3v2h3v2.65L13.52 12H10V7H6c-2.21 0-4 1.79-4 4v3h2c0 1.66 1.34 3 3 3s3-1.34 3-3h4.48L19 8.35zM7 15c-.55 0-1-.45-1-1h2c0 .55-.45 1-1 1"},null,-1),Qe("path",{fill:"currentColor",d:"M5 4h5v2H5zm14 7c-1.66 0-3 1.34-3 3s1.34 3 3 3s3-1.34 3-3s-1.34-3-3-3m0 4c-.55 0-1-.45-1-1s.45-1 1-1s1 .45 1 1s-.45 1-1 1M7 20h4v-2l6 3h-4v2z"},null,-1)]))}const Y1=Ti({name:"ic-baseline-electric-moped",render:K1}),Q1={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ev(g,n){return Le(),mt("svg",Q1,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M19 7c0-1.1-.9-2-2-2h-3v2h3v2.65L13.52 14H10V9H6c-2.21 0-4 1.79-4 4v3h2c0 1.66 1.34 3 3 3s3-1.34 3-3h4.48L19 10.35zM7 17c-.55 0-1-.45-1-1h2c0 .55-.45 1-1 1"},null,-1),Qe("path",{fill:"currentColor",d:"M5 6h5v2H5zm14 7c-1.66 0-3 1.34-3 3s1.34 3 3 3s3-1.34 3-3s-1.34-3-3-3m0 4c-.55 0-1-.45-1-1s.45-1 1-1s1 .45 1 1s-.45 1-1 1"},null,-1)]))}const tv=Ti({name:"ic-baseline-moped",render:ev}),iv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function rv(g,n){return Le(),mt("svg",iv,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M19 16.94V8.5c0-2.79-2.61-3.4-6.01-3.49l.76-1.51H17V2H7v1.5h4.75l-.76 1.52C7.86 5.11 5 5.73 5 8.5v8.44c0 1.45 1.19 2.66 2.59 2.97L6 21.5v.5h2.23l2-2H14l2 2h2v-.5L16.5 20h-.08c1.69 0 2.58-1.37 2.58-3.06m-7 1.56c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5s1.5.67 1.5 1.5s-.67 1.5-1.5 1.5m5-4.5H7V9h10z"},null,-1)]))}const sv=Ti({name:"ic-baseline-tram",render:rv}),nv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function ov(g,n){return Le(),mt("svg",nv,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M17.8 2.8C16 2.09 13.86 2 12 2s-4 .09-5.8.8C3.53 3.84 2 6.05 2 8.86V22h20V8.86c0-2.81-1.53-5.02-4.2-6.06M9.17 20l1.5-1.5h2.66l1.5 1.5zm-2.16-6V9h10v5zm9.49 2c0 .55-.45 1-1 1s-1-.45-1-1s.45-1 1-1s1 .45 1 1m-8-1c.55 0 1 .45 1 1s-.45 1-1 1s-1-.45-1-1s.45-1 1-1M20 20h-3.5v-.38l-1.15-1.16A2.98 2.98 0 0 0 18 15.5V9c0-2.63-3-3-6-3s-6 .37-6 3v6.5c0 1.54 1.16 2.79 2.65 2.96L7.5 19.62V20H4V8.86c0-2 1.01-3.45 2.93-4.2C8.41 4.08 10.32 4 12 4s3.59.08 5.07.66c1.92.75 2.93 2.2 2.93 4.2z"},null,-1)]))}const av=Ti({name:"ic-outline-subway",render:ov}),lv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function cv(g,n){return Le(),mt("svg",lv,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M12 2c-4 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h2.23l2-2H14l2 2h2v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4M7.5 17c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17m3.5-7H6V6h5zm2 0V6h5v4zm3.5 7c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5s1.5.67 1.5 1.5s-.67 1.5-1.5 1.5"},null,-1)]))}const hv=Ti({name:"ic-baseline-train",render:cv}),uv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function dv(g,n){return Le(),mt("svg",uv,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M7.82 16H15v-1c0-2.21 1.79-4 4-4h.74l-1.9-8.44A2.01 2.01 0 0 0 15.89 1H12v2h3.89l1.4 6.25h-.01A6.01 6.01 0 0 0 13.09 14H7.82a2.996 2.996 0 0 0-3.42-1.94c-1.18.23-2.13 1.2-2.35 2.38A3.002 3.002 0 0 0 5 18c1.3 0 2.4-.84 2.82-2M5 16c-.55 0-1-.45-1-1s.45-1 1-1s1 .45 1 1s-.45 1-1 1"},null,-1),Qe("path",{fill:"currentColor",d:"M19 12c-1.66 0-3 1.34-3 3s1.34 3 3 3s3-1.34 3-3s-1.34-3-3-3m0 4c-.55 0-1-.45-1-1s.45-1 1-1s1 .45 1 1s-.45 1-1 1m-8 4H7l6 3v-2h4l-6-3z"},null,-1)]))}const pv=Ti({name:"ic-twotone-electric-scooter",render:dv}),fv={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function mv(g,n){return Le(),mt("svg",fv,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M18.92 6.01C18.72 5.42 18.16 5 17.5 5h-11c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8zM6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16m11 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5s1.5.67 1.5 1.5s-.67 1.5-1.5 1.5M5 11l1.5-4.5h11L19 11z"},null,-1)]))}const _v=Ti({name:"ic-baseline-directions-car",render:mv}),gv={viewBox:"0 0 1536 1792",width:"1.04em",height:"1.2em"};function yv(g,n){return Le(),mt("svg",gv,n[0]||(n[0]=[Qe("path",{fill:"currentColor",d:"M384 1216q0-53-37.5-90.5T256 1088t-90.5 37.5T128 1216t37.5 90.5T256 1344t90.5-37.5T384 1216m1024 0q0-53-37.5-90.5T1280 1088t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5-37.5t37.5-90.5m-46-396l-72-384q-5-23-22.5-37.5T1227 384H309q-23 0-40.5 14.5T246 436l-72 384q-5 30 14 53t49 23h1062q30 0 49-23t14-53m-226-612q0-20-14-34t-34-14H448q-20 0-34 14t-14 34t14 34t34 14h640q20 0 34-14t14-34m400 725v603h-128v128q0 53-37.5 90.5T1280 1792t-90.5-37.5t-37.5-90.5v-128H384v128q0 53-37.5 90.5T256 1792t-90.5-37.5T128 1664v-128H0V933q0-112 25-223l103-454q9-78 97.5-137t230-89T768 0t312.5 30t230 89t97.5 137l105 454q23 102 23 223"},null,-1)]))}const xv=Ti({name:"fa-bus",render:yv}),vv={key:0,class:"flex flex-col min-h-0 flex-grow"},bv={class:"border-b-1 dark:border-dark-100 mb-2"},wv={class:"flex pb-2 space-x-2 items-center"},Sv={class:"text-lg"},Iv={key:0,class:"overflow-y-auto"},Tv={class:"w-14 min-w-12"},kv={key:1,class:"rounded-full h-4 w-4 flex items-center justify-center bg-gray-800 dark:bg-gray-300"},Ev={class:"w-full"},Av=["innerHTML"],Pv=qs({__name:"VehiclePopup",props:{marker:{}},setup(g){const n=g,{t:u}=Go(),_=Uo(n,"marker"),{vehicle:x,unsubscribe:k}=Mn.useVehicle(_i(()=>_.value.id)),{trip:S,unsubscribe:h}=Mn.useTrip(_i(()=>{var q;return(q=x.value)==null?void 0:q.tripId})),N=_i(()=>{var q;return(q=x.value)!=null&&q.description?ey(x.value.description.trim()):null});return ty(async()=>{await k(),await h()}),(q,ne)=>{var Vt;const J=xv,G=$m,ve=_v,Ee=pv,$e=hv,_t=av,Tt=sv,xt=tv,Ct=Y1,Li=lc("router-link"),Yt=Nm;return st(x)?(Le(),mt("div",vv,[Qe("header",bv,[Qe("div",wv,[st(x).type==="bus"?(Le(),Ft(J,{key:0})):st(x).type==="bike"?(Le(),Ft(G,{key:1})):st(x).type==="car"?(Le(),Ft(ve,{key:2})):st(x).type==="e-scooter"?(Le(),Ft(Ee,{key:3})):st(x).type==="ferry"?(Le(),Ft(Ee,{key:4})):st(x).type==="train"?(Le(),Ft($e,{key:5})):st(x).type==="subway"?(Le(),Ft(_t,{key:6})):st(x).type==="tram"?(Le(),Ft(Tt,{key:7})):st(x).type==="moped"?(Le(),Ft(xt,{key:8})):st(x).type==="e-moped"?(Le(),Ft(Ct,{key:9})):zi("",!0),Qe("h1",Sv,hi(st(x).name),1)]),Vi(Um,{actions:st(x).actions??[]},null,8,["actions"])]),st(S)?(Le(),mt($s,{key:0},[(Vt=st(S).arrivals)!=null&&Vt.length?(Le(),mt("div",Iv,[(Le(!0),mt($s,null,Vo(st(S).arrivals,(yt,ri)=>(Le(),Ft(Li,{key:yt.id,to:{name:"map-marker",params:{markerType:`${st(x).type}-stop`,markerId:yt.id}},class:Ih(["flex w-full items-center",{"text-gray-500 dark:text-gray-400":yt.state==="departed","mt-6":ri===0&&yt.state==="predicted"}])},{default:tr(()=>{var Bt;return[Qe("span",Tv,hi(yt.planned),1),Qe("div",{class:Ih(["marker relative flex justify-center items-center mx-4 h-12 w-8 min-w-4 after:absolute after:top-0 after:h-full after:bg-gray-800 after:dark:bg-gray-300",{"after:bg-gray-500 after:dark:bg-gray-400":yt.state==="departed"}])},[yt.state!=="departed"&&(st(S).arrivals[ri-1]===void 0||st(S).arrivals[ri-1].state==="departed")?(Le(),mt("div",{key:0,class:Ih(["vehicle before:h-4 before:w-4 before:bg-red-700 before:rounded-full",{driving:yt.state==="predicted"}])},ne[0]||(ne[0]=[Qe("div",{class:"pulsating border-3 border-red-700 border-solid rounded-full"},null,-1)]),2)):zi("",!0),yt.state!=="departed"&&((Bt=st(S).arrivals[ri-1])==null?void 0:Bt.state)!=="departed"||yt.state==="predicted"?(Le(),mt("div",kv)):zi("",!0)],2),Qe("span",Ev,hi(yt.name),1)]}),_:2},1032,["to","class"]))),128))])):(Le(),Ft(Oh,{key:1},{default:tr(()=>[Ah(hi(st(u)("trip_expired")),1)]),_:1}))],64)):st(x).tripId!==""?(Le(),Ft(Yt,{key:1,class:"mx-auto mt-4 text-3xl animate-spin"})):zi("",!0),N.value?(Le(),mt("span",{key:2,class:"prose",innerHTML:N.value},null,8,Av)):zi("",!0)])):(Le(),Ft(Oh,{key:1},{default:tr(()=>[Ah(hi(st(u)("trip_does_not_exist")),1)]),_:1}))}}}),Cv=Cd(Pv,[["__scopeId","data-v-8a4d75f0"]]),Mv=qs({__name:"MarkerPopup",props:{marker:{}},setup(g){return(n,u)=>n.marker.type.endsWith("-stop")?(Le(),Ft(X1,{key:0,marker:n.marker},null,8,["marker"])):(Le(),Ft(Cv,{key:1,marker:n.marker},null,8,["marker"]))}});function Ln(g){return Array.isArray?Array.isArray(g):Hm(g)==="[object Array]"}const zv=1/0;function Dv(g){if(typeof g=="string")return g;let n=g+"";return n=="0"&&1/g==-zv?"-0":n}function Lv(g){return g==null?"":Dv(g)}function sn(g){return typeof g=="string"}function qm(g){return typeof g=="number"}function Rv(g){return g===!0||g===!1||Ov(g)&&Hm(g)=="[object Boolean]"}function Gm(g){return typeof g=="object"}function Ov(g){return Gm(g)&&g!==null}function ys(g){return g!=null}function ud(g){return!g.trim().length}function Hm(g){return g==null?g===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(g)}const Fv="Incorrect 'index' type",Bv=g=>`Invalid value for key ${g}`,jv=g=>`Pattern length exceeds max of ${g}.`,Nv=g=>`Missing ${g} property in key`,$v=g=>`Property 'weight' in key '${g}' must be a positive integer`,rm=Object.prototype.hasOwnProperty;class Uv{constructor(n){this._keys=[],this._keyMap={};let u=0;n.forEach(_=>{let x=Zm(_);this._keys.push(x),this._keyMap[x.id]=x,u+=x.weight}),this._keys.forEach(_=>{_.weight/=u})}get(n){return this._keyMap[n]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function Zm(g){let n=null,u=null,_=null,x=1,k=null;if(sn(g)||Ln(g))_=g,n=sm(g),u=Id(g);else{if(!rm.call(g,"name"))throw new Error(Nv("name"));const S=g.name;if(_=S,rm.call(g,"weight")&&(x=g.weight,x<=0))throw new Error($v(S));n=sm(S),u=Id(S),k=g.getFn}return{path:n,id:u,weight:x,src:_,getFn:k}}function sm(g){return Ln(g)?g:g.split(".")}function Id(g){return Ln(g)?g.join("."):g}function Vv(g,n){let u=[],_=!1;const x=(k,S,h)=>{if(ys(k))if(!S[h])u.push(k);else{let N=S[h];const q=k[N];if(!ys(q))return;if(h===S.length-1&&(sn(q)||qm(q)||Rv(q)))u.push(Lv(q));else if(Ln(q)){_=!0;for(let ne=0,J=q.length;neg.score===n.score?g.idx{this._keysMap[u.id]=_})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,sn(this.docs[0])?this.docs.forEach((n,u)=>{this._addString(n,u)}):this.docs.forEach((n,u)=>{this._addObject(n,u)}),this.norm.clear())}add(n){const u=this.size();sn(n)?this._addString(n,u):this._addObject(n,u)}removeAt(n){this.records.splice(n,1);for(let u=n,_=this.size();u<_;u+=1)this.records[u].i-=1}getValueForItemAtKeyId(n,u){return n[this._keysMap[u]]}size(){return this.records.length}_addString(n,u){if(!ys(n)||ud(n))return;let _={v:n,i:u,n:this.norm.get(n)};this.records.push(_)}_addObject(n,u){let _={i:u,$:{}};this.keys.forEach((x,k)=>{let S=x.getFn?x.getFn(n):this.getFn(n,x.path);if(ys(S)){if(Ln(S)){let h=[];const N=[{nestedArrIndex:-1,value:S}];for(;N.length;){const{nestedArrIndex:q,value:ne}=N.pop();if(ys(ne))if(sn(ne)&&!ud(ne)){let J={v:ne,i:q,n:this.norm.get(ne)};h.push(J)}else Ln(ne)&&ne.forEach((J,G)=>{N.push({nestedArrIndex:G,value:J})})}_.$[k]=h}else if(sn(S)&&!ud(S)){let h={v:S,n:this.norm.get(S)};_.$[k]=h}}}),this.records.push(_)}toJSON(){return{keys:this.keys,records:this.records}}}function Wm(g,n,{getFn:u=Dt.getFn,fieldNormWeight:_=Dt.fieldNormWeight}={}){const x=new Ud({getFn:u,fieldNormWeight:_});return x.setKeys(g.map(Zm)),x.setSources(n),x.create(),x}function Jv(g,{getFn:n=Dt.getFn,fieldNormWeight:u=Dt.fieldNormWeight}={}){const{keys:_,records:x}=g,k=new Ud({getFn:n,fieldNormWeight:u});return k.setKeys(_),k.setIndexRecords(x),k}function Sh(g,{errors:n=0,currentLocation:u=0,expectedLocation:_=0,distance:x=Dt.distance,ignoreLocation:k=Dt.ignoreLocation}={}){const S=n/g.length;if(k)return S;const h=Math.abs(_-u);return x?S+h/x:h?1:S}function Kv(g=[],n=Dt.minMatchCharLength){let u=[],_=-1,x=-1,k=0;for(let S=g.length;k=n&&u.push([_,x]),_=-1)}return g[k-1]&&k-_>=n&&u.push([_,k-1]),u}const $o=32;function Yv(g,n,u,{location:_=Dt.location,distance:x=Dt.distance,threshold:k=Dt.threshold,findAllMatches:S=Dt.findAllMatches,minMatchCharLength:h=Dt.minMatchCharLength,includeMatches:N=Dt.includeMatches,ignoreLocation:q=Dt.ignoreLocation}={}){if(n.length>$o)throw new Error(jv($o));const ne=n.length,J=g.length,G=Math.max(0,Math.min(_,J));let ve=k,Ee=G;const $e=h>1||N,_t=$e?Array(J):[];let Tt;for(;(Tt=g.indexOf(n,Ee))>-1;){let yt=Sh(n,{currentLocation:Tt,expectedLocation:G,distance:x,ignoreLocation:q});if(ve=Math.min(yt,ve),Ee=Tt+ne,$e){let ri=0;for(;ri=ji;De-=1){let Ut=De-1,ni=u[g.charAt(Ut)];if($e&&(_t[Ut]=+!!ni),kt[De]=(kt[De+1]<<1|1)&ni,yt&&(kt[De]|=(xt[De+1]|xt[De])<<1|1|xt[De+1]),kt[De]&Yt&&(Ct=Sh(n,{errors:yt,currentLocation:Ut,expectedLocation:G,distance:x,ignoreLocation:q}),Ct<=ve)){if(ve=Ct,Ee=Ut,Ee<=G)break;ji=Math.max(1,2*G-Ee)}}if(Sh(n,{errors:yt+1,currentLocation:G,expectedLocation:G,distance:x,ignoreLocation:q})>ve)break;xt=kt}const Vt={isMatch:Ee>=0,score:Math.max(.001,Ct)};if($e){const yt=Kv(_t,h);yt.length?N&&(Vt.indices=yt):Vt.isMatch=!1}return Vt}function Qv(g){let n={};for(let u=0,_=g.length;u<_;u+=1){const x=g.charAt(u);n[x]=(n[x]||0)|1<<_-u-1}return n}class Xm{constructor(n,{location:u=Dt.location,threshold:_=Dt.threshold,distance:x=Dt.distance,includeMatches:k=Dt.includeMatches,findAllMatches:S=Dt.findAllMatches,minMatchCharLength:h=Dt.minMatchCharLength,isCaseSensitive:N=Dt.isCaseSensitive,ignoreLocation:q=Dt.ignoreLocation}={}){if(this.options={location:u,threshold:_,distance:x,includeMatches:k,findAllMatches:S,minMatchCharLength:h,isCaseSensitive:N,ignoreLocation:q},this.pattern=N?n:n.toLowerCase(),this.chunks=[],!this.pattern.length)return;const ne=(G,ve)=>{this.chunks.push({pattern:G,alphabet:Qv(G),startIndex:ve})},J=this.pattern.length;if(J>$o){let G=0;const ve=J%$o,Ee=J-ve;for(;G{const{isMatch:Tt,score:xt,indices:Ct}=Yv(n,Ee,$e,{location:x+_t,distance:k,threshold:S,findAllMatches:h,minMatchCharLength:N,includeMatches:_,ignoreLocation:q});Tt&&(G=!0),J+=xt,Tt&&Ct&&(ne=[...ne,...Ct])});let ve={isMatch:G,score:G?J/this.chunks.length:1};return G&&_&&(ve.indices=ne),ve}}class ao{constructor(n){this.pattern=n}static isMultiMatch(n){return nm(n,this.multiRegex)}static isSingleMatch(n){return nm(n,this.singleRegex)}search(){}}function nm(g,n){const u=g.match(n);return u?u[1]:null}class eb extends ao{constructor(n){super(n)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(n){const u=n===this.pattern;return{isMatch:u,score:u?0:1,indices:[0,this.pattern.length-1]}}}class tb extends ao{constructor(n){super(n)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(n){const _=n.indexOf(this.pattern)===-1;return{isMatch:_,score:_?0:1,indices:[0,n.length-1]}}}class ib extends ao{constructor(n){super(n)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(n){const u=n.startsWith(this.pattern);return{isMatch:u,score:u?0:1,indices:[0,this.pattern.length-1]}}}class rb extends ao{constructor(n){super(n)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(n){const u=!n.startsWith(this.pattern);return{isMatch:u,score:u?0:1,indices:[0,n.length-1]}}}class sb extends ao{constructor(n){super(n)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(n){const u=n.endsWith(this.pattern);return{isMatch:u,score:u?0:1,indices:[n.length-this.pattern.length,n.length-1]}}}class nb extends ao{constructor(n){super(n)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(n){const u=!n.endsWith(this.pattern);return{isMatch:u,score:u?0:1,indices:[0,n.length-1]}}}class Jm extends ao{constructor(n,{location:u=Dt.location,threshold:_=Dt.threshold,distance:x=Dt.distance,includeMatches:k=Dt.includeMatches,findAllMatches:S=Dt.findAllMatches,minMatchCharLength:h=Dt.minMatchCharLength,isCaseSensitive:N=Dt.isCaseSensitive,ignoreLocation:q=Dt.ignoreLocation}={}){super(n),this._bitapSearch=new Xm(n,{location:u,threshold:_,distance:x,includeMatches:k,findAllMatches:S,minMatchCharLength:h,isCaseSensitive:N,ignoreLocation:q})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(n){return this._bitapSearch.searchIn(n)}}class Km extends ao{constructor(n){super(n)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(n){let u=0,_;const x=[],k=this.pattern.length;for(;(_=n.indexOf(this.pattern,u))>-1;)u=_+k,x.push([_,u-1]);const S=!!x.length;return{isMatch:S,score:S?0:1,indices:x}}}const Td=[eb,Km,ib,rb,nb,sb,tb,Jm],om=Td.length,ob=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,ab="|";function lb(g,n={}){return g.split(ab).map(u=>{let _=u.trim().split(ob).filter(k=>k&&!!k.trim()),x=[];for(let k=0,S=_.length;k!!(g[Fh.AND]||g[Fh.OR]),db=g=>!!g[Ad.PATH],pb=g=>!Ln(g)&&Gm(g)&&!Pd(g),am=g=>({[Fh.AND]:Object.keys(g).map(n=>({[n]:g[n]}))});function Ym(g,n,{auto:u=!0}={}){const _=x=>{let k=Object.keys(x);const S=db(x);if(!S&&k.length>1&&!Pd(x))return _(am(x));if(pb(x)){const N=S?x[Ad.PATH]:k[0],q=S?x[Ad.PATTERN]:x[N];if(!sn(q))throw new Error(Bv(N));const ne={keyId:Id(N),pattern:q};return u&&(ne.searcher=Ed(q,n)),ne}let h={children:[],operator:k[0]};return k.forEach(N=>{const q=x[N];Ln(q)&&q.forEach(ne=>{h.children.push(_(ne))})}),h};return Pd(g)||(g=am(g)),_(g)}function fb(g,{ignoreFieldNorm:n=Dt.ignoreFieldNorm}){g.forEach(u=>{let _=1;u.matches.forEach(({key:x,norm:k,score:S})=>{const h=x?x.weight:null;_*=Math.pow(S===0&&h?Number.EPSILON:S,(h||1)*(n?1:k))}),u.score=_})}function mb(g,n){const u=g.matches;n.matches=[],ys(u)&&u.forEach(_=>{if(!ys(_.indices)||!_.indices.length)return;const{indices:x,value:k}=_;let S={indices:x,value:k};_.key&&(S.key=_.key.src),_.idx>-1&&(S.refIndex=_.idx),n.matches.push(S)})}function _b(g,n){n.score=g.score}function gb(g,n,{includeMatches:u=Dt.includeMatches,includeScore:_=Dt.includeScore}={}){const x=[];return u&&x.push(mb),_&&x.push(_b),g.map(k=>{const{idx:S}=k,h={item:n[S],refIndex:S};return x.length&&x.forEach(N=>{N(k,h)}),h})}class Xa{constructor(n,u={},_){this.options={...Dt,...u},this.options.useExtendedSearch,this._keyStore=new Uv(this.options.keys),this.setCollection(n,_)}setCollection(n,u){if(this._docs=n,u&&!(u instanceof Ud))throw new Error(Fv);this._myIndex=u||Wm(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(n){ys(n)&&(this._docs.push(n),this._myIndex.add(n))}remove(n=()=>!1){const u=[];for(let _=0,x=this._docs.length;_-1&&(N=N.slice(0,u)),gb(N,this._docs,{includeMatches:_,includeScore:x})}_searchStringList(n){const u=Ed(n,this.options),{records:_}=this._myIndex,x=[];return _.forEach(({v:k,i:S,n:h})=>{if(!ys(k))return;const{isMatch:N,score:q,indices:ne}=u.searchIn(k);N&&x.push({item:k,idx:S,matches:[{score:q,value:k,norm:h,indices:ne}]})}),x}_searchLogical(n){const u=Ym(n,this.options),_=(h,N,q)=>{if(!h.children){const{keyId:J,searcher:G}=h,ve=this._findMatches({key:this._keyStore.get(J),value:this._myIndex.getValueForItemAtKeyId(N,J),searcher:G});return ve&&ve.length?[{idx:q,item:N,matches:ve}]:[]}const ne=[];for(let J=0,G=h.children.length;J{if(ys(h)){let q=_(u,h,N);q.length&&(k[N]||(k[N]={idx:N,item:h,matches:[]},S.push(k[N])),q.forEach(({matches:ne})=>{k[N].matches.push(...ne)}))}}),S}_searchObjectList(n){const u=Ed(n,this.options),{keys:_,records:x}=this._myIndex,k=[];return x.forEach(({$:S,i:h})=>{if(!ys(S))return;let N=[];_.forEach((q,ne)=>{N.push(...this._findMatches({key:q,value:S[ne],searcher:u}))}),N.length&&k.push({idx:h,item:S,matches:N})}),k}_findMatches({key:n,value:u,searcher:_}){if(!ys(u))return[];let x=[];if(Ln(u))u.forEach(({v:k,i:S,n:h})=>{if(!ys(k))return;const{isMatch:N,score:q,indices:ne}=_.searchIn(k);N&&x.push({score:q,key:n,value:k,idx:S,norm:h,indices:ne})});else{const{v:k,n:S}=u,{isMatch:h,score:N,indices:q}=_.searchIn(k);h&&x.push({score:N,key:n,value:k,norm:S,indices:q})}return x}}Xa.version="7.0.0";Xa.createIndex=Wm;Xa.parseIndex=Jv;Xa.config=Dt;Xa.parseQuery=Ym;ub(hb);const yb={class:"flex flex-col min-h-0 flex-grow"},xb={class:"flex pb-2 mb-2 border-b-1 dark:border-dark-100 space-x-2 items-center"},vb={class:"text-lg"},bb={key:0,class:"m-auto max-w-52 text-center text-xl"},wb={key:1,class:"m-auto max-w-52 text-center text-xl"},Sb={class:"flex flex-col overflow-y-auto"},Ib={class:""},Tb=qs({__name:"SearchPopup",props:{searchInput:{default:""},searchInputModifiers:{}},emits:["update:searchInput"],setup(g){const n=fm(g,"searchInput"),{t:u}=Go(),_=Gi({east:0,west:0,north:0,south:0}),{stops:x}=Mn.useStops(_),k=_i(()=>[...Object.values(x.value)]),S=_i(()=>new Xa(k.value,{includeScore:!0,keys:["name"],threshold:.4})),h=_i(()=>n.value===""||n.value.length<3?[]:S.value.search(n.value).slice(0,20));return(N,q)=>{const ne=iy,J=Nd,G=Vm,ve=lc("router-link");return Le(),mt("div",yb,[Qe("div",xb,[Vi(ne),Qe("h1",vb,hi(st(u)("search_result")),1)]),h.value.length===0&&n.value.length<3?(Le(),mt("div",bb,[Qe("p",null,hi(st(u)("search_stop_vehicle")),1)])):h.value.length===0&&n.value.length>=3?(Le(),mt("div",wb,[Qe("p",null,hi(st(u)("no_entry")),1)])):zi("",!0),Qe("div",Sb,[(Le(!0),mt($s,null,Vo(h.value,Ee=>(Le(),Ft(ve,{key:Ee.refIndex,to:{name:"map-marker",params:{markerType:Ee.item.type,markerId:Ee.item.id}},class:"flex py-2 not-last:border-b-1 dark:border-dark-300 max-w-full",onClick:q[0]||(q[0]=$e=>n.value="")},{default:tr(()=>[Ee.item.type==="bus-stop"?(Le(),Ft(J,{key:0,class:"mr-2"})):Ee.item.type==="ferry-stop"?(Le(),Ft(G,{key:1,class:"mr-2"})):zi("",!0),Qe("div",Ib,hi(Ee.item.name),1)]),_:2},1032,["to"]))),128))])])}}}),kb={class:"relative h-full w-full items-center justify-center overflow-hidden"},Db=qs({__name:"Home",setup(g){const{liteMode:n}=dm(),u=cm(),_=hm(),x=_i({get(){if(u.name==="map-marker")return{type:u.params.markerType,id:u.params.markerId}},set(N){if(!N){_.replace({name:"home"});return}_.replace({name:"map-marker",params:{markerType:N.type,markerId:N.id}})}}),k=Gi(""),S=Gi(!1),h=_i(()=>n.value?"1":u.name==="search"||u.name==="favorites"||S.value?"1/2":"3/4");return(N,q)=>(Le(),mt("div",kb,[Vi(Sx,{"search-input":k.value,"onUpdate:searchInput":q[0]||(q[0]=ne=>k.value=ne)},null,8,["search-input"]),Vi(id,{"is-open":!!x.value,"disable-resize":st(n),size:h.value,onClose:q[1]||(q[1]=ne=>x.value=void 0)},{default:tr(()=>[x.value?(Le(),Ft(Mv,{key:0,marker:x.value},null,8,["marker"])):zi("",!0)]),_:1},8,["is-open","disable-resize","size"]),Vi(id,{"is-open":N.$route.name==="search","disable-resize":st(n),size:h.value,onClose:q[3]||(q[3]=ne=>N.$router.replace({name:"home"}))},{default:tr(()=>[Vi(Tb,{"search-input":k.value,"onUpdate:searchInput":q[2]||(q[2]=ne=>k.value=ne)},null,8,["search-input"])]),_:1},8,["is-open","disable-resize","size"]),Vi(id,{"is-open":N.$route.name==="favorites","disable-resize":st(n),size:h.value,onClose:q[4]||(q[4]=ne=>N.$router.replace({name:"home"}))},{default:tr(()=>[Vi(Nx)]),_:1},8,["is-open","disable-resize","size"]),st(n)?zi("",!0):(Le(),Ft(Ax,{key:0,"map-moved-manually":S.value,"onUpdate:mapMovedManually":q[5]||(q[5]=ne=>S.value=ne),"selected-marker":x.value,onMarkerClick:q[6]||(q[6]=ne=>x.value=ne)},null,8,["map-moved-manually","selected-marker"]))]))}});export{Db as default}; +//# sourceMappingURL=Home-NgBe9E8J.js.map diff --git a/assets/Home-NgBe9E8J.js.map b/assets/Home-NgBe9E8J.js.map new file mode 100644 index 0000000..7d63033 --- /dev/null +++ b/assets/Home-NgBe9E8J.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":"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,IAAIA,EAAI,UAAY,SAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,SAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,SAAU,EAC9B,IAAIA,EAAI,UAAY,SAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,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","names":["_sfc_main$a","defineComponent","props","emit","dragging","ref","height","isOpen","toRef","size","disableResize","actualSize","computed","percentage","drag","e","move","drop","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_createElementBlock","_normalizeClass","_normalizeStyle","args","_createCommentVNode","_openBlock","registerSW","options","immediate","onNeedRefresh","onOfflineReady","onRegistered","onRegisteredSW","onRegisterError","wb","registerPromise","sendSkipWaitingMessage","updateServiceWorker","_reloadPage","register","__vitePreload","Workbox","onNeedRefreshCalled","showSkipWaitingPrompt","event","r","useRegisterSW","needRefresh","offlineReady","Empty","TE","TD","concat","bufs","max","i","out","index","encode","a","decode","digits","base","maxSeq","minInc","maxInc","totalLen","_getRandomValues","fillRandom","_a","Nuid","__publicField","cbuf","di","nuid","Events","DebugEvents","ErrorCode","isNatsError","err","Messages","s","messages","NatsError","message","code","chainedError","m","Match","RequestStrategy","ServiceResponseType","ServiceErrorHeader","ServiceErrorCodeHeader","ServiceError","msg","scode","description","_b","createInbox","prefix","v","DEFAULT_HOST","ServiceVerb","extend","b","o","k","render","frame","timeout","ms","asyncTraces","methods","timer","p","_resolve","reject","delay","resolve","deferred","shuffle","j","jitter","n","backoff","policy","attempt","nanos","millis","ns","canonicalMIMEHeaderKey","upper","buf","c","headers","MsgHdrsImpl","HEADER","mh","vv","aa","lines","h","str","idx","keys","sk","match","lci","ck","value","values","data","StringCodec","d","JSONCodec","reviver","isRequestError","MsgImpl","publisher","opts","subj","reply","payloadAndHeaders","key","validateDurableName","name","minValidation","validateStreamName","context","validateName","validName","RE","isFlowControlMsg","isHeartbeatMsg","newJsErrorMsg","subject","arg","checkJsError","checkJsErrorCode","Js409Errors","isTerminal409","ec","QueuedIteratorImpl","ingest","protocol","yields","fn","start","IdleHeartbeatMonitor","interval","cb","cancelAfter","maxOut","RetentionPolicy","DiscardPolicy","StorageType","DeliverPolicy","AckPolicy","ReplayPolicy","StoreCompression","ConsumerApiAction","defaultConsumer","AdvisoryKind","JsHeaders","KvWatchInclude","DirectMsgHeaders","RepublishHeaders","kvPrefix","ConsumerOptsBuilderImpl","seq","time","stream","durable","consumerOpts","isConsumerOptsBuilder","Base64Codec","bytes","binary","bin","Base64UrlPaddedCodec","b64str","DataBuffer","getLengths","b64","len","validLen","placeHoldersLen","init","lookup","revLookup","urlsafe","_byteLength","tripletToBase64","num","encodeChunk","end","curTriplet","tmp","curByte","extraBytes","len2","parts","curChunk","chunkEnd","l","byteLength","toUint8Array","fromUint8Array","decoder","encoder","toHexString","hex","__byte","fromHexString","decode1","encoding","encode1","SHA256","inputEncoding","outputEncoding","hash","h0","h1","h2","h3","h4","h5","h6","h7","w","BaseRequest","mux","requestSubject","RequestMany","RequestOne","defaultPrefix","defaultJsOptions","BaseApiClient","nc","retries","bo","ne","q","names","ListerImpl","filter","jsm","payload","offset","count","_c","page","item","parseSemVer","compare","Feature","Features","f","requires","ConsumerAPIImpl","cfg","action","cr","nci","min","newAPI","consumerName","ok","fs","ci","changable","until","checkFn","required","TypedSubscription","callback","uh","jer","tm","queue","sopts","transportConfig","setTransportFactory","config","defaultPort","getUrlParseFn","newTransport","getResolveFn","CR_LF","CRLF","CR","LF","protoLen","ba","extractProtocolMessage","IPv4LEN","ASCII0","ASCIIA","ASCIIa","ipV4","ip","isIP","parseIP","parseIPv4","parseIPv6","dtoi","ellipsis","xtoi","ip4","isIPV4OrHostname","hp","isIPV6","filterIpv6MappedToIpv4","hostPort","u","op","port","url","hostname","ServerImpl","gossiped","ips","proto","ss","Servers","listens","urlParseFn","cs","implicit","t","server","info","encrypted","added","deleted","discovered","toDelete","removed","MuxSubscription","token","isMuxPermissionError","ctx","req","Heartbeat","ph","stale","ping","AssertionError","assert","cond","MIN_READ","MAX_SIZE","copy","src","dst","off","DenoBuffer","ab","nread","shouldGrow","Kind","newMsgArg","ma","ASCII_0","Parser","dispatcher","State","cc","toCopy","avail","label","nacl","u64","gf","randombytes","_0","_9","gf0","gf1","_121665","D","D2","X","Y","I","L32","x","ld32","dl64","st32","ts64","vn","xi","y","yi","crypto_verify_16","crypto_verify_32","core","inp","crypto_core_salsa20","crypto_core_hsalsa20","sigma","crypto_stream_salsa20_xor","cpos","mpos","z","crypto_stream_salsa20","crypto_stream","crypto_stream_xor","add1305","minusp","crypto_onetimeauth","outpos","g","crypto_onetimeauth_verify","hpos","crypto_secretbox","crypto_secretbox_open","set25519","car25519","sel25519","pack25519","neq25519","par25519","unpack25519","A","Z","M","S","inv25519","pow2523","crypto_scalarmult","x32","x16","crypto_scalarmult_base","crypto_box_keypair","crypto_box_beforenm","crypto_box_afternm","crypto_box_open_afternm","crypto_box","crypto_box_open","add64","m16","shr64","xor64","R","c1","Ch","Maj","Sigma0","Sigma1","sigma0","sigma1","K","crypto_hashblocks","pos","iv","crypto_hash","add","cswap","pack","tx","ty","zi","scalarmult","scalarbase","crypto_sign_keypair","pk","seeded","L","modL","carry","reduce","crypto_sign","sm","smlen","unpackneg","chk","den","den2","den4","den6","crypto_sign_open","crypto_secretbox_KEYBYTES","crypto_secretbox_NONCEBYTES","crypto_secretbox_ZEROBYTES","crypto_secretbox_BOXZEROBYTES","crypto_scalarmult_BYTES","crypto_scalarmult_SCALARBYTES","crypto_box_PUBLICKEYBYTES","crypto_box_SECRETKEYBYTES","crypto_box_BEFORENMBYTES","crypto_box_NONCEBYTES","crypto_box_ZEROBYTES","crypto_box_BOXZEROBYTES","crypto_sign_BYTES","crypto_sign_PUBLICKEYBYTES","crypto_sign_SECRETKEYBYTES","crypto_sign_SEEDBYTES","crypto_hash_BYTES","checkLengths","checkBoxLengths","checkArrayTypes","cleanup","arr","nonce","box","publicKey","secretKey","signedMsg","mlen","sig","seed","crypto1","QUOTA","NKeysErrorCode","Prefix","multiAuthenticator","authenticators","auth","noAuthFn","usernamePasswordAuthenticator","user","pass","tokenAuthenticator","DEFAULT_PING_INTERVAL","DEFAULT_MAX_PING_OUT","DEFAULT_RECONNECT_TIME_WAIT","defaultOptions","buildAuthenticator","parseOptions","dhp","extra","checkOptions","tlsRequired","tlsAvailable","tls","FLUSH_THRESHOLD","INFO","PONG_CMD","PING_CMD","Connect","transport","creds","SubscriptionImpl","uc","ingestion","dispatched","Subscriptions","sid","subs","sub","ProtocolHandler","servers","pongs","status","iter","pong","_err","srv","cp","alts","lastErr","lastError","wait","maxWait","now","mra","qm","updates","version","lang","cmd","payloads","hlen","cmds","promises","inbox","ServiceApiPrefix","ServiceMsgImpl","ServiceGroupImpl","parent","validInternalToken","root","ServiceImpl","sg","handler","metadata","validSubjectName","tokens","verb","id","pre","se","internal","sv","NamedEndpointStatsImpl","endpoints","kind","endpoint","jc","statsHandler","infoHandler","pingHandler","qi","qii","average_processing_time","num_errors","num_requests","processing_time","last_error","ServiceClientImpl","responses","NoopKvCodecs","defaultBucketOpts","kvOperationHdr","kvSubjectPrefix","validKeyRe","validSearchKey","validBucketRe","validateKey","validateSearchKey","hasWildcards","chunks","validateBucket","PubHeaders","Bucket","bucket","js","sc","location","mirror","sources","srcBucketName","have","discardNew","direct","mb","edit","builder","ekey","slen","KvStoredEntryImpl","jm","KvJsMsgEntryImpl","firstErr","rev","ek","ke","olderMillis","done","proms","purged","pv","cv","content","filter_subjects","deliver_policy","filter_subject","co","copts","last","expect","ignoreDeletes","cluster","bn","si","KvStatusImpl","osPrefix","digestType","objectStoreStreamName","objectStoreBucketName","ObjectStoreStatusImpl","convertStreamSourceDomain","domain","PullConsumerType","ConsumerEvents","ConsumerDebugEvents","ACK","NAK","WPI","NXT","TERM","SPACE","toJsMsg","ackTimeout","JsMsgImpl","PullConsumerMessagesImpl","refilling","max_messages","max_bytes","idle_heartbeat","threshold_bytes","threshold_messages","_d","msgsLeft","bytesLeft","error","batch","type","notFound","streamNotFound","to","de","expires","discard","minMsgs","minBytes","OrderedConsumerMessages","PullConsumerImpl","api","fopts","stream_name","cached","OrderedPullConsumerImpl","serial","dseq","fromFetch","orderedReset","msgs","msgsImpl","tf","ConsumersImpl","fv","impl","StreamAPIImpl","_si","StreamImpl","asi","query","erase","validateStreamSource","old","update","total","limit","infos","paged","subjects","listerFilter","slr","keep","dr","StoredMsgImpl","kvStreams","objStreams","DirectStreamAPIImpl","qq","last_by_subj","dm","DirectMsgImpl","raw","gotFirst","badServer","badRequest","JetStreamManagerImpl","smr","hd","bs","StreamsImpl","ObjectInfoImpl","oi","toServerObjectStoreMeta","meta","mhi","emptyReadableStream","ObjectStoreImpl","obj","soi","rs","jsopts","previousRevision","maxPayload","maxChunk","chunkSubj","metaSubj","db","reader","sha","digest","pad","padding","pa","readableStreamFrom","controller","fromReadableStream","vs","ln","oc","osi","dest","link","mm","ii","ack","initialized","max_age","os","ViewsImpl","jsi","JetStreamClientImpl","checkAPI","ro","retry_delay","pullOpts","trackBytes","receivedBytes","monitor","hb","wants","received","_ingest","hideNonTerminalJsErrors","cso","ackPolicy","so","JetStreamPullSubscriptionImpl","JetStreamSubscriptionImpl","qn","rqn","msgAdapter","jsmi","autoAckJsMsg","ordered","jsub","jmi","NatsConnectionImpl","pub","stop","stack","cancel","clearTimers","rmo","errCtx","adm","ServicesFactory","prefixLen","sseq","newDeliver","jinfo","nerr","rm","lastDelivered","consumer","iterator","iterMsgAdapter","cbMsgAdapter","parseInfo","trace","reqOpts","reason","term","VERSION","LANG","WsTransport","connLock","socket","me","pm","evt","wsUrlParseFn","srcProto","host","path","search","connect","DeletePayload","NatsApi","autoLoad","natsServerUrl","state","resolvePendingSubscription","newModel","pending","stopId","watch","newId","oldId","vehicleId","tripId","__props","__emit","isConnected","useI18n","route","useRoute","router","useRouter","searchInput","internalSearchInput","_searchInput","global","factory","module","this","maplibregl","modules","define","moduleName","_dependencies","moduleFactory","workerBundleString","sharedModule","_","P","C","B","V","E","F","T","$","O","U","N","G","H","J","W","Q","tt","et","rt","nt","it","st","at","ot","lt","ut","ct","ht","pt","ft","dt","yt","mt","gt","xt","vt","bt","wt","_t","At","St","kt","Mt","It","zt","Pt","Ct","Bt","Vt","Et","Ft","Tt","$t","Dt","Lt","Ot","Rt","jt","Ut","qt","Nt","Zt","Gt","Kt","Xt","Ht","Yt","Jt","Wt","Qt","te","ee","re","ie","ae","oe","le","ue","ce","he","pe","fe","ye","ge","xe","ve","be","we","_e","Ae","Se","Me","Ie","ze","Pe","Ce","Be","Ve","Ee","Fe","Te","$e","Le","De","Oe","je","Re","Ue","qe","Ne","Ze","Ge","Ke","Xe","He","Ye","Je","We","Qe","tr","ar","er","rr","nr","ir","sr","or","lr","ur","hr","pr","fr","yr","mr","xr","br","vr","wr","_r","Ar","Sr","kr","Mr","Ir","zr","Pr","Cr","Br","Vr","Er","Fr","Tr","$r","Lr","Dr","Or","jr","Rr","Ur","qr","Nr","Zr","Gr","Kr","Xr","Qr","Hr","Yr","Jr","Wr","tn","rn","en","nn","sn","an","on","un","cn","hn","pn","mn","yn","dn","gn","xn","wn","_n","An","kn","Sn","Mn","In","zn","Bn","Cn","Pn","Vn","Tn","En","Fn","$n","Ln","Dn","On","jn","Rn","Un","Nn","Zn","Gn","Kn","Xn","Hn","Yn","Jn","Wn","Qn","ti","ei","ri","ni","ai","li","ui","hi","pi","fi","mi","gi","vi","bi","wi","_i","Ai","Si","ki","Mi","Ii","Pi","Ti","Ci","Ei","Bi","Vi","Fi","$i","Li","Di","Oi","ji","Ri","Ui","Ni","Gi","Zi","Ki","Yi","Xi","Hi","Ji","Wi","Qi","ts","es","is","as","ls","us","hs","ps","ds","ys","gs","xs","ws","_s","As","Ss","ks","Ms","Is","zs","Ps","Cs","Bs","Vs","Es","Fs","Ts","$s","Ls","Ds","Os","Rs","Us","qs","Ns","Zs","Gs","Ks","Xs","Hs","Ys","Js","Ws","Qs","ta","ea","ra","na","ia","sa","oa","la","ua","ca","ha","fa","da","ya","ga","xa","va","wa","Aa","Sa","ka","Ma","Ia","za","Pa","Ca","Ba","Va","Fa","Ta","Ea","$a","La","Da","Oa","ja","Ra","Ua","qa","Wa","Ka","Na","Ha","Za","Ja","Ga","Xa","Ya","Qa","eo","no","io","ao","oo","lo","uo","ho","po","fo","yo","mo","go","xo","vo","wo","_o","Ao","So","ko","Mo","Io","zo","Po","Co","Bo","Vo","Eo","No","jo","Ro","To","tl","Xo","el","Fo","Ko","qo","Lo","$o","Do","Oo","Zo","Ho","Wo","Go","Qo","Uo","Jo","Yo","rl","nl","il","sl","al","ol","ll","ul","cl","hl","pl","fl","dl","yl","ml","gl","xl","vl","bl","wl","_l","Al","Sl","kl","Ml","Il","zl","Cl","Pl","Bl","Vl","El","Tl","Fl","$l","Ll","Dl","Ol","jl","Rl","Ul","ql","Nl","Zl","Gl","Kl","Xl","Hl","Yl","Jl","Wl","Ql","tu","eu","ru","nu","iu","su","lu","au","ou","uu","cu","hu","pu","fu","du","yu","mu","gu","xu","vu","bu","wu","_u","Au","Su","ku","Mu","Iu","zu","Pu","Cu","Bu","Vu","Eu","Fu","Tu","$u","Lu","Du","Ou","ju","Uu","Ru","Yu","Wu","Ju","qu","Nu","Zu","Gu","Ku","Xu","Hu","Qu","tc","rc","ic","ac","lc","hc","pc","fc","dc","yc","mc","gc","xc","vc","bc","wc","Ac","Sc","kc","Mc","Ic","zc","Pc","Cc","Bc","Vc","Ec","Fc","Tc","$c","Lc","Dc","Rc","Oc","Uc","qc","Nc","Zc","Kc","Xc","Gc","Hc","Yc","Jc","Wc","Qc","th","eh","rh","nh","ih","sh","ah","lh","oh","ch","hh","fh","dh","yh","gh","xh","vh","bh","wh","Ah","_h","Sh","kh","Mh","Ih","Bh","zh","Ph","Vh","Eh","Fh","Th","$h","Lh","Dh","maplibregl$1","colorPrimary","colorSecondary","PulsingDot","map","focused","heading","canvas","radius","lineWidth","width","initial","mapMovedManually","colorScheme","useColorMode","bounds","stops","unsubscribeStops","vehicles","unsubscribeVehicles","vehiclesGeoJson","iconName","iconNameFocused","iconData","stopsGeoJson","selectedMarker","selectedVehicle","unsubscribeSelectedVehicle","trip","unsubscribeTrip","tripsGeoJson","geojson","stopsLayer","vehiclesLayer","tripsLayer","mapElement","useElementSize","flyTo","center","onMounted","lastLocation","useUserSettings","Map","darkMapStyle","brightMapStyle","attributionControl","AttributionControl","geolocateControl","GeolocateControl","NavigationControl","BusIcon","loadImage","image","loadImages","features","feature","onBeforeUnmount","geoJSONSource","source","selectedMarkerItem","marker","newSelectedMarkerItem","oldSelectedMarkerItem","LS_FAVORITES_KEY","LS_LEGACY_FAVORITES_KEY","legacyLocalStorageItem","legacyFavorites","favoritesRaw","favorites","_favorites","track","useTrack","addFavorite","removeFavorite","favorite","isFavorite","useFavorites","actions","_useModel","checkFeatureFlag","useFeatureFlags","unsubscribeStop","eta","arrival","minutes","augmentedArrivals","vehicle","unsubscribeVehicle","vehicleDescription","micromark","onUnmounted","isArray","getTag","INFINITY","baseToString","result","toString","isString","isNumber","isBoolean","isObjectLike","isObject","isDefined","isBlank","INCORRECT_INDEX_TYPE","LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY","PATTERN_LENGTH_TOO_LARGE","MISSING_KEY_PROPERTY","INVALID_KEY_WEIGHT_VALUE","hasOwn","KeyStore","totalWeight","createKey","keyId","weight","getFn","createKeyPath","createKeyId","get","list","deepGet","MatchOptions","BasicOptions","FuzzyOptions","AdvancedOptions","Config","norm","mantissa","cache","numTokens","FuseIndex","fieldNormWeight","docs","records","doc","docIndex","record","keyIndex","subRecords","nestedArrIndex","subRecord","createIndex","myIndex","parseIndex","computeScore$1","pattern","errors","currentLocation","expectedLocation","distance","ignoreLocation","accuracy","proximity","convertMaskToIndices","matchmask","minMatchCharLength","indices","MAX_BITS","text","patternAlphabet","threshold","findAllMatches","includeMatches","patternLen","textLen","currentThreshold","bestLocation","computeMatches","matchMask","score","lastBitArr","finalScore","binMax","mask","binMin","binMid","finish","bitArr","charMatch","createPatternAlphabet","char","BitapSearch","isCaseSensitive","addChunk","startIndex","remainder","allIndices","totalScore","hasMatches","alphabet","isMatch","BaseMatch","getMatch","exp","matches","ExactMatch","InverseExactMatch","PrefixExactMatch","InversePrefixExactMatch","SuffixExactMatch","InverseSuffixExactMatch","FuzzyMatch","IncludeMatch","searchers","searchersLen","SPACE_RE","OR_TOKEN","parseQuery","results","queryItem","found","searcher","MultiMatchSet","ExtendedSearch","numMatches","qLen","pLen","registeredSearchers","createSearcher","searcherClass","LogicalOperator","KeyType","isExpression","isPath","isLeaf","convertToExplicit","parse","auto","next","isQueryPath","node","computeScore","ignoreFieldNorm","transformMatches","transformScore","format","includeScore","transformers","transformer","Fuse","predicate","shouldSort","sortFn","expression","evaluate","res","child","resultMap","expResults","searchData","searchIndex","searchResults","liteMode","popupSize"],"ignoreList":[2,6,15],"sources":["../../src/components/DetailsPopup.vue","../../../../../../../../@vite-plugin-pwa/virtual:pwa-register/vue","../../node_modules/.pnpm/nats.ws@1.29.2/node_modules/nats.ws/esm/nats.js","../../src/api/nats.ts","../../src/api/index.ts","../../src/components/layout/AppBar.vue","../../node_modules/.pnpm/maplibre-gl@4.7.1/node_modules/maplibre-gl/dist/maplibre-gl.js","../../src/components/map/busIcon.ts","../../src/components/map/Map.vue","../../src/compositions/useFavorites.ts","../../src/components/popups/FavoritesPopup.vue","../../src/components/popups/Actions.vue","../../src/components/NoData.vue","../../src/components/popups/StopPopup.vue","../../src/components/popups/VehiclePopup.vue","../../node_modules/.pnpm/fuse.js@7.0.0/node_modules/fuse.js/dist/fuse.mjs","../../src/components/popups/SearchPopup.vue","../../src/views/Home.vue"],"sourcesContent":["\n\n\n\n\n","// src/client/build/vue.ts\nimport { ref } from \"vue\";\n\n// src/client/build/register.ts\nvar autoUpdateMode = \"false\";\nvar selfDestroying = \"false\";\nvar auto = autoUpdateMode === \"true\";\nvar autoDestroy = selfDestroying === \"true\";\nfunction registerSW(options = {}) {\n const {\n immediate = false,\n onNeedRefresh,\n onOfflineReady,\n onRegistered,\n onRegisteredSW,\n onRegisterError\n } = options;\n let wb;\n let registerPromise;\n let sendSkipWaitingMessage;\n const updateServiceWorker = async (_reloadPage = true) => {\n await registerPromise;\n if (!auto) {\n sendSkipWaitingMessage?.();\n }\n };\n async function register() {\n if (\"serviceWorker\" in navigator) {\n wb = await import(\"workbox-window\").then(({ Workbox }) => {\n return new Workbox(\"/sw.js\", { scope: \"/\", type: \"classic\" });\n }).catch((e) => {\n onRegisterError?.(e);\n return void 0;\n });\n if (!wb)\n return;\n sendSkipWaitingMessage = () => {\n wb?.messageSkipWaiting();\n };\n if (!autoDestroy) {\n if (auto) {\n wb.addEventListener(\"activated\", (event) => {\n if (event.isUpdate || event.isExternal)\n window.location.reload();\n });\n wb.addEventListener(\"installed\", (event) => {\n if (!event.isUpdate) {\n onOfflineReady?.();\n }\n });\n } else {\n let onNeedRefreshCalled = false;\n const showSkipWaitingPrompt = () => {\n onNeedRefreshCalled = true;\n wb?.addEventListener(\"controlling\", (event) => {\n if (event.isUpdate)\n window.location.reload();\n });\n onNeedRefresh?.();\n };\n wb.addEventListener(\"installed\", (event) => {\n if (typeof event.isUpdate === \"undefined\") {\n if (typeof event.isExternal !== \"undefined\") {\n if (event.isExternal)\n showSkipWaitingPrompt();\n else\n !onNeedRefreshCalled && onOfflineReady?.();\n } else {\n !onNeedRefreshCalled && onOfflineReady?.();\n }\n } else if (!event.isUpdate) {\n onOfflineReady?.();\n }\n });\n wb.addEventListener(\"waiting\", showSkipWaitingPrompt);\n }\n }\n wb.register({ immediate }).then((r) => {\n if (onRegisteredSW)\n onRegisteredSW(\"/sw.js\", r);\n else\n onRegistered?.(r);\n }).catch((e) => {\n onRegisterError?.(e);\n });\n }\n }\n registerPromise = register();\n return updateServiceWorker;\n}\n\n// src/client/build/vue.ts\nfunction useRegisterSW(options = {}) {\n const {\n immediate = true,\n onNeedRefresh,\n onOfflineReady,\n onRegistered,\n onRegisteredSW,\n onRegisterError\n } = options;\n const needRefresh = ref(false);\n const offlineReady = ref(false);\n const updateServiceWorker = registerSW({\n immediate,\n onNeedRefresh() {\n needRefresh.value = true;\n onNeedRefresh?.();\n },\n onOfflineReady() {\n offlineReady.value = true;\n onOfflineReady?.();\n },\n onRegistered,\n onRegisteredSW,\n onRegisterError\n });\n return {\n updateServiceWorker,\n offlineReady,\n needRefresh\n };\n}\nexport {\n useRegisterSW\n};\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\n// This code was bundled using `deno bundle` and it's not recommended to edit it manually\n\nconst Empty = new Uint8Array(0);\nconst TE = new TextEncoder();\nconst TD = new TextDecoder();\nfunction concat(...bufs) {\n let max = 0;\n for(let i = 0; i < bufs.length; i++){\n max += bufs[i].length;\n }\n const out = new Uint8Array(max);\n let index = 0;\n for(let i = 0; i < bufs.length; i++){\n out.set(bufs[i], index);\n index += bufs[i].length;\n }\n return out;\n}\nfunction encode(...a) {\n const bufs = [];\n for(let i = 0; i < a.length; i++){\n bufs.push(TE.encode(a[i]));\n }\n if (bufs.length === 0) {\n return Empty;\n }\n if (bufs.length === 1) {\n return bufs[0];\n }\n return concat(...bufs);\n}\nfunction decode(a) {\n if (!a || a.length === 0) {\n return \"\";\n }\n return TD.decode(a);\n}\n\"use strict\";\nconst digits = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\nconst base = 36;\nconst maxSeq = 3656158440062976;\nconst minInc = 33;\nconst maxInc = 333;\nconst totalLen = 12 + 10;\nfunction _getRandomValues(a) {\n for(let i = 0; i < a.length; i++){\n a[i] = Math.floor(Math.random() * 255);\n }\n}\nfunction fillRandom(a) {\n if (globalThis?.crypto?.getRandomValues) {\n globalThis.crypto.getRandomValues(a);\n } else {\n _getRandomValues(a);\n }\n}\nclass Nuid {\n buf;\n seq;\n inc;\n inited;\n constructor(){\n this.buf = new Uint8Array(totalLen);\n this.inited = false;\n }\n init() {\n this.inited = true;\n this.setPre();\n this.initSeqAndInc();\n this.fillSeq();\n }\n initSeqAndInc() {\n this.seq = Math.floor(Math.random() * maxSeq);\n this.inc = Math.floor(Math.random() * (maxInc - minInc) + minInc);\n }\n setPre() {\n const cbuf = new Uint8Array(12);\n fillRandom(cbuf);\n for(let i = 0; i < 12; i++){\n const di = cbuf[i] % 36;\n this.buf[i] = digits.charCodeAt(di);\n }\n }\n fillSeq() {\n let n = this.seq;\n for(let i = totalLen - 1; i >= 12; i--){\n this.buf[i] = digits.charCodeAt(n % base);\n n = Math.floor(n / base);\n }\n }\n next() {\n if (!this.inited) {\n this.init();\n }\n this.seq += this.inc;\n if (this.seq > 3656158440062976) {\n this.setPre();\n this.initSeqAndInc();\n }\n this.fillSeq();\n return String.fromCharCode.apply(String, this.buf);\n }\n reset() {\n this.init();\n }\n}\nconst nuid = new Nuid();\nvar Events;\n(function(Events) {\n Events[\"Disconnect\"] = \"disconnect\";\n Events[\"Reconnect\"] = \"reconnect\";\n Events[\"Update\"] = \"update\";\n Events[\"LDM\"] = \"ldm\";\n Events[\"Error\"] = \"error\";\n})(Events || (Events = {}));\nvar DebugEvents;\n(function(DebugEvents) {\n DebugEvents[\"Reconnecting\"] = \"reconnecting\";\n DebugEvents[\"PingTimer\"] = \"pingTimer\";\n DebugEvents[\"StaleConnection\"] = \"staleConnection\";\n DebugEvents[\"ClientInitiatedReconnect\"] = \"client initiated reconnect\";\n})(DebugEvents || (DebugEvents = {}));\nvar ErrorCode;\n(function(ErrorCode) {\n ErrorCode[\"ApiError\"] = \"BAD API\";\n ErrorCode[\"BadAuthentication\"] = \"BAD_AUTHENTICATION\";\n ErrorCode[\"BadCreds\"] = \"BAD_CREDS\";\n ErrorCode[\"BadHeader\"] = \"BAD_HEADER\";\n ErrorCode[\"BadJson\"] = \"BAD_JSON\";\n ErrorCode[\"BadPayload\"] = \"BAD_PAYLOAD\";\n ErrorCode[\"BadSubject\"] = \"BAD_SUBJECT\";\n ErrorCode[\"Cancelled\"] = \"CANCELLED\";\n ErrorCode[\"ConnectionClosed\"] = \"CONNECTION_CLOSED\";\n ErrorCode[\"ConnectionDraining\"] = \"CONNECTION_DRAINING\";\n ErrorCode[\"ConnectionRefused\"] = \"CONNECTION_REFUSED\";\n ErrorCode[\"ConnectionTimeout\"] = \"CONNECTION_TIMEOUT\";\n ErrorCode[\"Disconnect\"] = \"DISCONNECT\";\n ErrorCode[\"InvalidOption\"] = \"INVALID_OPTION\";\n ErrorCode[\"InvalidPayload\"] = \"INVALID_PAYLOAD\";\n ErrorCode[\"MaxPayloadExceeded\"] = \"MAX_PAYLOAD_EXCEEDED\";\n ErrorCode[\"NoResponders\"] = \"503\";\n ErrorCode[\"NotFunction\"] = \"NOT_FUNC\";\n ErrorCode[\"RequestError\"] = \"REQUEST_ERROR\";\n ErrorCode[\"ServerOptionNotAvailable\"] = \"SERVER_OPT_NA\";\n ErrorCode[\"SubClosed\"] = \"SUB_CLOSED\";\n ErrorCode[\"SubDraining\"] = \"SUB_DRAINING\";\n ErrorCode[\"Timeout\"] = \"TIMEOUT\";\n ErrorCode[\"Tls\"] = \"TLS\";\n ErrorCode[\"Unknown\"] = \"UNKNOWN_ERROR\";\n ErrorCode[\"WssRequired\"] = \"WSS_REQUIRED\";\n ErrorCode[\"JetStreamInvalidAck\"] = \"JESTREAM_INVALID_ACK\";\n ErrorCode[\"JetStream404NoMessages\"] = \"404\";\n ErrorCode[\"JetStream408RequestTimeout\"] = \"408\";\n ErrorCode[\"JetStream409MaxAckPendingExceeded\"] = \"409\";\n ErrorCode[\"JetStream409\"] = \"409\";\n ErrorCode[\"JetStreamNotEnabled\"] = \"503\";\n ErrorCode[\"JetStreamIdleHeartBeat\"] = \"IDLE_HEARTBEAT\";\n ErrorCode[\"AuthorizationViolation\"] = \"AUTHORIZATION_VIOLATION\";\n ErrorCode[\"AuthenticationExpired\"] = \"AUTHENTICATION_EXPIRED\";\n ErrorCode[\"ProtocolError\"] = \"NATS_PROTOCOL_ERR\";\n ErrorCode[\"PermissionsViolation\"] = \"PERMISSIONS_VIOLATION\";\n ErrorCode[\"AuthenticationTimeout\"] = \"AUTHENTICATION_TIMEOUT\";\n ErrorCode[\"AccountExpired\"] = \"ACCOUNT_EXPIRED\";\n})(ErrorCode || (ErrorCode = {}));\nfunction isNatsError(err) {\n return typeof err.code === \"string\";\n}\nclass Messages {\n messages;\n constructor(){\n this.messages = new Map();\n this.messages.set(ErrorCode.InvalidPayload, \"Invalid payload type - payloads can be 'binary', 'string', or 'json'\");\n this.messages.set(ErrorCode.BadJson, \"Bad JSON\");\n this.messages.set(ErrorCode.WssRequired, \"TLS is required, therefore a secure websocket connection is also required\");\n }\n static getMessage(s) {\n return messages.getMessage(s);\n }\n getMessage(s) {\n return this.messages.get(s) || s;\n }\n}\nconst messages = new Messages();\nclass NatsError extends Error {\n name;\n message;\n code;\n permissionContext;\n chainedError;\n api_error;\n constructor(message, code, chainedError){\n super(message);\n this.name = \"NatsError\";\n this.message = message;\n this.code = code;\n this.chainedError = chainedError;\n }\n static errorForCode(code, chainedError) {\n const m = Messages.getMessage(code);\n return new NatsError(m, code, chainedError);\n }\n isAuthError() {\n return this.code === ErrorCode.AuthenticationExpired || this.code === ErrorCode.AuthorizationViolation || this.code === ErrorCode.AccountExpired;\n }\n isAuthTimeout() {\n return this.code === ErrorCode.AuthenticationTimeout;\n }\n isPermissionError() {\n return this.code === ErrorCode.PermissionsViolation;\n }\n isProtocolError() {\n return this.code === ErrorCode.ProtocolError;\n }\n isJetStreamError() {\n return this.api_error !== undefined;\n }\n jsError() {\n return this.api_error ? this.api_error : null;\n }\n}\nvar Match;\n(function(Match) {\n Match[Match[\"Exact\"] = 0] = \"Exact\";\n Match[Match[\"CanonicalMIME\"] = 1] = \"CanonicalMIME\";\n Match[Match[\"IgnoreCase\"] = 2] = \"IgnoreCase\";\n})(Match || (Match = {}));\nvar RequestStrategy;\n(function(RequestStrategy) {\n RequestStrategy[\"Timer\"] = \"timer\";\n RequestStrategy[\"Count\"] = \"count\";\n RequestStrategy[\"JitterTimer\"] = \"jitterTimer\";\n RequestStrategy[\"SentinelMsg\"] = \"sentinelMsg\";\n})(RequestStrategy || (RequestStrategy = {}));\nfunction syncIterator(src) {\n const iter = src[Symbol.asyncIterator]();\n return {\n async next () {\n const m = await iter.next();\n if (m.done) {\n return Promise.resolve(null);\n }\n return Promise.resolve(m.value);\n }\n };\n}\nvar ServiceResponseType;\n(function(ServiceResponseType) {\n ServiceResponseType[\"STATS\"] = \"io.nats.micro.v1.stats_response\";\n ServiceResponseType[\"INFO\"] = \"io.nats.micro.v1.info_response\";\n ServiceResponseType[\"PING\"] = \"io.nats.micro.v1.ping_response\";\n})(ServiceResponseType || (ServiceResponseType = {}));\nconst ServiceErrorHeader = \"Nats-Service-Error\";\nconst ServiceErrorCodeHeader = \"Nats-Service-Error-Code\";\nclass ServiceError extends Error {\n code;\n constructor(code, message){\n super(message);\n this.code = code;\n }\n static isServiceError(msg) {\n return ServiceError.toServiceError(msg) !== null;\n }\n static toServiceError(msg) {\n const scode = msg?.headers?.get(ServiceErrorCodeHeader) || \"\";\n if (scode !== \"\") {\n const code = parseInt(scode) || 400;\n const description = msg?.headers?.get(ServiceErrorHeader) || \"\";\n return new ServiceError(code, description.length ? description : scode);\n }\n return null;\n }\n}\nfunction createInbox(prefix = \"\") {\n prefix = prefix || \"_INBOX\";\n if (typeof prefix !== \"string\") {\n throw new Error(\"prefix must be a string\");\n }\n prefix.split(\".\").forEach((v)=>{\n if (v === \"*\" || v === \">\") {\n throw new Error(`inbox prefixes cannot have wildcards '${prefix}'`);\n }\n });\n return `${prefix}.${nuid.next()}`;\n}\nconst DEFAULT_HOST = \"127.0.0.1\";\nvar ServiceVerb;\n(function(ServiceVerb) {\n ServiceVerb[\"PING\"] = \"PING\";\n ServiceVerb[\"STATS\"] = \"STATS\";\n ServiceVerb[\"INFO\"] = \"INFO\";\n})(ServiceVerb || (ServiceVerb = {}));\nfunction extend(a, ...b) {\n for(let i = 0; i < b.length; i++){\n const o = b[i];\n Object.keys(o).forEach(function(k) {\n a[k] = o[k];\n });\n }\n return a;\n}\nfunction render(frame) {\n const cr = \"␍\";\n const lf = \"␊\";\n return TD.decode(frame).replace(/\\n/g, lf).replace(/\\r/g, cr);\n}\nfunction timeout(ms, asyncTraces = true) {\n const err = asyncTraces ? NatsError.errorForCode(ErrorCode.Timeout) : null;\n let methods;\n let timer;\n const p = new Promise((_resolve, reject)=>{\n const cancel = ()=>{\n if (timer) {\n clearTimeout(timer);\n }\n };\n methods = {\n cancel\n };\n timer = setTimeout(()=>{\n if (err === null) {\n reject(NatsError.errorForCode(ErrorCode.Timeout));\n } else {\n reject(err);\n }\n }, ms);\n });\n return Object.assign(p, methods);\n}\nfunction delay(ms = 0) {\n let methods;\n const p = new Promise((resolve)=>{\n const timer = setTimeout(()=>{\n resolve();\n }, ms);\n const cancel = ()=>{\n if (timer) {\n clearTimeout(timer);\n }\n };\n methods = {\n cancel\n };\n });\n return Object.assign(p, methods);\n}\nfunction deadline(p, millis = 1000) {\n const err = new Error(`deadline exceeded`);\n const d = deferred();\n const timer = setTimeout(()=>d.reject(err), millis);\n return Promise.race([\n p,\n d\n ]).finally(()=>clearTimeout(timer));\n}\nfunction deferred() {\n let methods = {};\n const p = new Promise((resolve, reject)=>{\n methods = {\n resolve,\n reject\n };\n });\n return Object.assign(p, methods);\n}\nfunction shuffle(a) {\n for(let i = a.length - 1; i > 0; i--){\n const j = Math.floor(Math.random() * (i + 1));\n [a[i], a[j]] = [\n a[j],\n a[i]\n ];\n }\n return a;\n}\nclass Perf {\n timers;\n measures;\n constructor(){\n this.timers = new Map();\n this.measures = new Map();\n }\n mark(key) {\n this.timers.set(key, performance.now());\n }\n measure(key, startKey, endKey) {\n const s = this.timers.get(startKey);\n if (s === undefined) {\n throw new Error(`${startKey} is not defined`);\n }\n const e = this.timers.get(endKey);\n if (e === undefined) {\n throw new Error(`${endKey} is not defined`);\n }\n this.measures.set(key, e - s);\n }\n getEntries() {\n const values = [];\n this.measures.forEach((v, k)=>{\n values.push({\n name: k,\n duration: v\n });\n });\n return values;\n }\n}\nfunction jitter(n) {\n if (n === 0) {\n return 0;\n }\n return Math.floor(n / 2 + Math.random() * n);\n}\nfunction backoff(policy = [\n 0,\n 250,\n 250,\n 500,\n 500,\n 3000,\n 5000\n]) {\n if (!Array.isArray(policy)) {\n policy = [\n 0,\n 250,\n 250,\n 500,\n 500,\n 3000,\n 5000\n ];\n }\n const max = policy.length - 1;\n return {\n backoff (attempt) {\n return jitter(attempt > max ? policy[max] : policy[attempt]);\n }\n };\n}\nfunction nanos(millis) {\n return millis * 1000000;\n}\nfunction millis(ns) {\n return Math.floor(ns / 1000000);\n}\nfunction canonicalMIMEHeaderKey(k) {\n const dash = 45;\n const toLower = 97 - 65;\n let upper = true;\n const buf = new Array(k.length);\n for(let i = 0; i < k.length; i++){\n let c = k.charCodeAt(i);\n if (c === 58 || c < 33 || c > 126) {\n throw new NatsError(`'${k[i]}' is not a valid character for a header key`, ErrorCode.BadHeader);\n }\n if (upper && 97 <= c && c <= 122) {\n c -= toLower;\n } else if (!upper && 65 <= c && c <= 90) {\n c += toLower;\n }\n buf[i] = c;\n upper = c == dash;\n }\n return String.fromCharCode(...buf);\n}\nfunction headers(code = 0, description = \"\") {\n if (code === 0 && description !== \"\" || code > 0 && description === \"\") {\n throw new Error(\"setting status requires both code and description\");\n }\n return new MsgHdrsImpl(code, description);\n}\nconst HEADER = \"NATS/1.0\";\nclass MsgHdrsImpl {\n _code;\n headers;\n _description;\n constructor(code = 0, description = \"\"){\n this._code = code;\n this._description = description;\n this.headers = new Map();\n }\n [Symbol.iterator]() {\n return this.headers.entries();\n }\n size() {\n return this.headers.size;\n }\n equals(mh) {\n if (mh && this.headers.size === mh.headers.size && this._code === mh._code) {\n for (const [k, v] of this.headers){\n const a = mh.values(k);\n if (v.length !== a.length) {\n return false;\n }\n const vv = [\n ...v\n ].sort();\n const aa = [\n ...a\n ].sort();\n for(let i = 0; i < vv.length; i++){\n if (vv[i] !== aa[i]) {\n return false;\n }\n }\n }\n return true;\n }\n return false;\n }\n static decode(a) {\n const mh = new MsgHdrsImpl();\n const s = TD.decode(a);\n const lines = s.split(\"\\r\\n\");\n const h = lines[0];\n if (h !== HEADER) {\n let str = h.replace(HEADER, \"\").trim();\n if (str.length > 0) {\n mh._code = parseInt(str, 10);\n if (isNaN(mh._code)) {\n mh._code = 0;\n }\n const scode = mh._code.toString();\n str = str.replace(scode, \"\");\n mh._description = str.trim();\n }\n }\n if (lines.length >= 1) {\n lines.slice(1).map((s)=>{\n if (s) {\n const idx = s.indexOf(\":\");\n if (idx > -1) {\n const k = s.slice(0, idx);\n const v = s.slice(idx + 1).trim();\n mh.append(k, v);\n }\n }\n });\n }\n return mh;\n }\n toString() {\n if (this.headers.size === 0 && this._code === 0) {\n return \"\";\n }\n let s = HEADER;\n if (this._code > 0 && this._description !== \"\") {\n s += ` ${this._code} ${this._description}`;\n }\n for (const [k, v] of this.headers){\n for(let i = 0; i < v.length; i++){\n s = `${s}\\r\\n${k}: ${v[i]}`;\n }\n }\n return `${s}\\r\\n\\r\\n`;\n }\n encode() {\n return TE.encode(this.toString());\n }\n static validHeaderValue(k) {\n const inv = /[\\r\\n]/;\n if (inv.test(k)) {\n throw new NatsError(\"invalid header value - \\\\r and \\\\n are not allowed.\", ErrorCode.BadHeader);\n }\n return k.trim();\n }\n keys() {\n const keys = [];\n for (const sk of this.headers.keys()){\n keys.push(sk);\n }\n return keys;\n }\n findKeys(k, match = Match.Exact) {\n const keys = this.keys();\n switch(match){\n case Match.Exact:\n return keys.filter((v)=>{\n return v === k;\n });\n case Match.CanonicalMIME:\n k = canonicalMIMEHeaderKey(k);\n return keys.filter((v)=>{\n return v === k;\n });\n default:\n {\n const lci = k.toLowerCase();\n return keys.filter((v)=>{\n return lci === v.toLowerCase();\n });\n }\n }\n }\n get(k, match = Match.Exact) {\n const keys = this.findKeys(k, match);\n if (keys.length) {\n const v = this.headers.get(keys[0]);\n if (v) {\n return Array.isArray(v) ? v[0] : v;\n }\n }\n return \"\";\n }\n last(k, match = Match.Exact) {\n const keys = this.findKeys(k, match);\n if (keys.length) {\n const v = this.headers.get(keys[0]);\n if (v) {\n return Array.isArray(v) ? v[v.length - 1] : v;\n }\n }\n return \"\";\n }\n has(k, match = Match.Exact) {\n return this.findKeys(k, match).length > 0;\n }\n set(k, v, match = Match.Exact) {\n this.delete(k, match);\n this.append(k, v, match);\n }\n append(k, v, match = Match.Exact) {\n const ck = canonicalMIMEHeaderKey(k);\n if (match === Match.CanonicalMIME) {\n k = ck;\n }\n const keys = this.findKeys(k, match);\n k = keys.length > 0 ? keys[0] : k;\n const value = MsgHdrsImpl.validHeaderValue(v);\n let a = this.headers.get(k);\n if (!a) {\n a = [];\n this.headers.set(k, a);\n }\n a.push(value);\n }\n values(k, match = Match.Exact) {\n const buf = [];\n const keys = this.findKeys(k, match);\n keys.forEach((v)=>{\n const values = this.headers.get(v);\n if (values) {\n buf.push(...values);\n }\n });\n return buf;\n }\n delete(k, match = Match.Exact) {\n const keys = this.findKeys(k, match);\n keys.forEach((v)=>{\n this.headers.delete(v);\n });\n }\n get hasError() {\n return this._code >= 300;\n }\n get status() {\n return `${this._code} ${this._description}`.trim();\n }\n toRecord() {\n const data = {};\n this.keys().forEach((v)=>{\n data[v] = this.values(v);\n });\n return data;\n }\n get code() {\n return this._code;\n }\n get description() {\n return this._description;\n }\n static fromRecord(r) {\n const h = new MsgHdrsImpl();\n for(const k in r){\n h.headers.set(k, r[k]);\n }\n return h;\n }\n}\nfunction StringCodec() {\n return {\n encode (d) {\n return TE.encode(d);\n },\n decode (a) {\n return TD.decode(a);\n }\n };\n}\nfunction JSONCodec(reviver) {\n return {\n encode (d) {\n try {\n if (d === undefined) {\n d = null;\n }\n return TE.encode(JSON.stringify(d));\n } catch (err) {\n throw NatsError.errorForCode(ErrorCode.BadJson, err);\n }\n },\n decode (a) {\n try {\n return JSON.parse(TD.decode(a), reviver);\n } catch (err) {\n throw NatsError.errorForCode(ErrorCode.BadJson, err);\n }\n }\n };\n}\nfunction isRequestError(msg) {\n if (msg && msg.data.length === 0 && msg.headers?.code === 503) {\n return NatsError.errorForCode(ErrorCode.NoResponders);\n }\n return null;\n}\nclass MsgImpl {\n _headers;\n _msg;\n _rdata;\n _reply;\n _subject;\n publisher;\n static jc;\n constructor(msg, data, publisher){\n this._msg = msg;\n this._rdata = data;\n this.publisher = publisher;\n }\n get subject() {\n if (this._subject) {\n return this._subject;\n }\n this._subject = TD.decode(this._msg.subject);\n return this._subject;\n }\n get reply() {\n if (this._reply) {\n return this._reply;\n }\n this._reply = TD.decode(this._msg.reply);\n return this._reply;\n }\n get sid() {\n return this._msg.sid;\n }\n get headers() {\n if (this._msg.hdr > -1 && !this._headers) {\n const buf = this._rdata.subarray(0, this._msg.hdr);\n this._headers = MsgHdrsImpl.decode(buf);\n }\n return this._headers;\n }\n get data() {\n if (!this._rdata) {\n return new Uint8Array(0);\n }\n return this._msg.hdr > -1 ? this._rdata.subarray(this._msg.hdr) : this._rdata;\n }\n respond(data = Empty, opts) {\n if (this.reply) {\n this.publisher.publish(this.reply, data, opts);\n return true;\n }\n return false;\n }\n size() {\n const subj = this._msg.subject.length;\n const reply = this._msg.reply?.length || 0;\n const payloadAndHeaders = this._msg.size === -1 ? 0 : this._msg.size;\n return subj + reply + payloadAndHeaders;\n }\n json(reviver) {\n return JSONCodec(reviver).decode(this.data);\n }\n string() {\n return TD.decode(this.data);\n }\n requestInfo() {\n const v = this.headers?.get(\"Nats-Request-Info\");\n if (v) {\n return JSON.parse(v, function(key, value) {\n if ((key === \"start\" || key === \"stop\") && value !== \"\") {\n return new Date(Date.parse(value));\n }\n return value;\n });\n }\n return null;\n }\n}\nfunction validateDurableName(name) {\n return minValidation(\"durable\", name);\n}\nfunction validateStreamName(name) {\n return minValidation(\"stream\", name);\n}\nfunction minValidation(context, name = \"\") {\n if (name === \"\") {\n throw Error(`${context} name required`);\n }\n const bad = [\n \".\",\n \"*\",\n \">\",\n \"/\",\n \"\\\\\",\n \" \",\n \"\\t\",\n \"\\n\",\n \"\\r\"\n ];\n bad.forEach((v)=>{\n if (name.indexOf(v) !== -1) {\n switch(v){\n case \"\\n\":\n v = \"\\\\n\";\n break;\n case \"\\r\":\n v = \"\\\\r\";\n break;\n case \"\\t\":\n v = \"\\\\t\";\n break;\n default:\n }\n throw Error(`invalid ${context} name - ${context} name cannot contain '${v}'`);\n }\n });\n return \"\";\n}\nfunction validateName(context, name = \"\") {\n if (name === \"\") {\n throw Error(`${context} name required`);\n }\n const m = validName(name);\n if (m.length) {\n throw new Error(`invalid ${context} name - ${context} name ${m}`);\n }\n}\nfunction validName(name = \"\") {\n if (name === \"\") {\n throw Error(`name required`);\n }\n const RE = /^[-\\w]+$/g;\n const m = name.match(RE);\n if (m === null) {\n for (const c of name.split(\"\")){\n const mm = c.match(RE);\n if (mm === null) {\n return `cannot contain '${c}'`;\n }\n }\n }\n return \"\";\n}\nfunction isFlowControlMsg(msg) {\n if (msg.data.length > 0) {\n return false;\n }\n const h = msg.headers;\n if (!h) {\n return false;\n }\n return h.code >= 100 && h.code < 200;\n}\nfunction isHeartbeatMsg(msg) {\n return isFlowControlMsg(msg) && msg.headers?.description === \"Idle Heartbeat\";\n}\nfunction newJsErrorMsg(code, description, subject) {\n const h = headers(code, description);\n const arg = {\n hdr: 1,\n sid: 0,\n size: 0\n };\n const msg = new MsgImpl(arg, Empty, {});\n msg._headers = h;\n msg._subject = subject;\n return msg;\n}\nfunction checkJsError(msg) {\n if (msg.data.length !== 0) {\n return null;\n }\n const h = msg.headers;\n if (!h) {\n return null;\n }\n return checkJsErrorCode(h.code, h.description);\n}\nvar Js409Errors;\n(function(Js409Errors) {\n Js409Errors[\"MaxBatchExceeded\"] = \"exceeded maxrequestbatch of\";\n Js409Errors[\"MaxExpiresExceeded\"] = \"exceeded maxrequestexpires of\";\n Js409Errors[\"MaxBytesExceeded\"] = \"exceeded maxrequestmaxbytes of\";\n Js409Errors[\"MaxMessageSizeExceeded\"] = \"message size exceeds maxbytes\";\n Js409Errors[\"PushConsumer\"] = \"consumer is push based\";\n Js409Errors[\"MaxWaitingExceeded\"] = \"exceeded maxwaiting\";\n Js409Errors[\"IdleHeartbeatMissed\"] = \"idle heartbeats missed\";\n Js409Errors[\"ConsumerDeleted\"] = \"consumer deleted\";\n})(Js409Errors || (Js409Errors = {}));\nlet MAX_WAITING_FAIL = false;\nfunction isTerminal409(err) {\n if (err.code !== ErrorCode.JetStream409) {\n return false;\n }\n const fatal = [\n Js409Errors.MaxBatchExceeded,\n Js409Errors.MaxExpiresExceeded,\n Js409Errors.MaxBytesExceeded,\n Js409Errors.MaxMessageSizeExceeded,\n Js409Errors.PushConsumer,\n Js409Errors.IdleHeartbeatMissed,\n Js409Errors.ConsumerDeleted\n ];\n if (MAX_WAITING_FAIL) {\n fatal.push(Js409Errors.MaxWaitingExceeded);\n }\n return fatal.find((s)=>{\n return err.message.indexOf(s) !== -1;\n }) !== undefined;\n}\nfunction checkJsErrorCode(code, description = \"\") {\n if (code < 300) {\n return null;\n }\n description = description.toLowerCase();\n switch(code){\n case 404:\n return new NatsError(description, ErrorCode.JetStream404NoMessages);\n case 408:\n return new NatsError(description, ErrorCode.JetStream408RequestTimeout);\n case 409:\n {\n const ec = description.startsWith(Js409Errors.IdleHeartbeatMissed) ? ErrorCode.JetStreamIdleHeartBeat : ErrorCode.JetStream409;\n return new NatsError(description, ec);\n }\n case 503:\n return NatsError.errorForCode(ErrorCode.JetStreamNotEnabled, new Error(description));\n default:\n if (description === \"\") {\n description = ErrorCode.Unknown;\n }\n return new NatsError(description, `${code}`);\n }\n}\nclass QueuedIteratorImpl {\n inflight;\n processed;\n received;\n noIterator;\n iterClosed;\n done;\n signal;\n yields;\n filtered;\n pendingFiltered;\n ingestionFilterFn;\n protocolFilterFn;\n dispatchedFn;\n ctx;\n _data;\n err;\n time;\n yielding;\n constructor(){\n this.inflight = 0;\n this.filtered = 0;\n this.pendingFiltered = 0;\n this.processed = 0;\n this.received = 0;\n this.noIterator = false;\n this.done = false;\n this.signal = deferred();\n this.yields = [];\n this.iterClosed = deferred();\n this.time = 0;\n this.yielding = false;\n }\n [Symbol.asyncIterator]() {\n return this.iterate();\n }\n push(v) {\n if (this.done) {\n return;\n }\n if (typeof v === \"function\") {\n this.yields.push(v);\n this.signal.resolve();\n return;\n }\n const { ingest, protocol } = this.ingestionFilterFn ? this.ingestionFilterFn(v, this.ctx || this) : {\n ingest: true,\n protocol: false\n };\n if (ingest) {\n if (protocol) {\n this.filtered++;\n this.pendingFiltered++;\n }\n this.yields.push(v);\n this.signal.resolve();\n }\n }\n async *iterate() {\n if (this.noIterator) {\n throw new NatsError(\"unsupported iterator\", ErrorCode.ApiError);\n }\n if (this.yielding) {\n throw new NatsError(\"already yielding\", ErrorCode.ApiError);\n }\n this.yielding = true;\n try {\n while(true){\n if (this.yields.length === 0) {\n await this.signal;\n }\n if (this.err) {\n throw this.err;\n }\n const yields = this.yields;\n this.inflight = yields.length;\n this.yields = [];\n for(let i = 0; i < yields.length; i++){\n if (typeof yields[i] === \"function\") {\n const fn = yields[i];\n try {\n fn();\n } catch (err) {\n throw err;\n }\n if (this.err) {\n throw this.err;\n }\n continue;\n }\n const ok = this.protocolFilterFn ? this.protocolFilterFn(yields[i]) : true;\n if (ok) {\n this.processed++;\n const start = Date.now();\n yield yields[i];\n this.time = Date.now() - start;\n if (this.dispatchedFn && yields[i]) {\n this.dispatchedFn(yields[i]);\n }\n } else {\n this.pendingFiltered--;\n }\n this.inflight--;\n }\n if (this.done) {\n break;\n } else if (this.yields.length === 0) {\n yields.length = 0;\n this.yields = yields;\n this.signal = deferred();\n }\n }\n } finally{\n this.stop();\n }\n }\n stop(err) {\n if (this.done) {\n return;\n }\n this.err = err;\n this.done = true;\n this.signal.resolve();\n this.iterClosed.resolve(err);\n }\n getProcessed() {\n return this.noIterator ? this.received : this.processed;\n }\n getPending() {\n return this.yields.length + this.inflight - this.pendingFiltered;\n }\n getReceived() {\n return this.received - this.filtered;\n }\n}\nclass IdleHeartbeatMonitor {\n interval;\n maxOut;\n cancelAfter;\n timer;\n autoCancelTimer;\n last;\n missed;\n count;\n callback;\n constructor(interval, cb, opts = {\n maxOut: 2\n }){\n this.interval = interval;\n this.maxOut = opts?.maxOut || 2;\n this.cancelAfter = opts?.cancelAfter || 0;\n this.last = Date.now();\n this.missed = 0;\n this.count = 0;\n this.callback = cb;\n this._schedule();\n }\n cancel() {\n if (this.autoCancelTimer) {\n clearTimeout(this.autoCancelTimer);\n }\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = 0;\n this.autoCancelTimer = 0;\n this.missed = 0;\n }\n work() {\n this.last = Date.now();\n this.missed = 0;\n }\n _change(interval, cancelAfter = 0, maxOut = 2) {\n this.interval = interval;\n this.maxOut = maxOut;\n this.cancelAfter = cancelAfter;\n this.restart();\n }\n restart() {\n this.cancel();\n this._schedule();\n }\n _schedule() {\n if (this.cancelAfter > 0) {\n this.autoCancelTimer = setTimeout(()=>{\n this.cancel();\n }, this.cancelAfter);\n }\n this.timer = setInterval(()=>{\n this.count++;\n if (Date.now() - this.last > this.interval) {\n this.missed++;\n }\n if (this.missed >= this.maxOut) {\n try {\n if (this.callback(this.missed) === true) {\n this.cancel();\n }\n } catch (err) {\n console.log(err);\n }\n }\n }, this.interval);\n }\n}\nvar RetentionPolicy;\n(function(RetentionPolicy) {\n RetentionPolicy[\"Limits\"] = \"limits\";\n RetentionPolicy[\"Interest\"] = \"interest\";\n RetentionPolicy[\"Workqueue\"] = \"workqueue\";\n})(RetentionPolicy || (RetentionPolicy = {}));\nvar DiscardPolicy;\n(function(DiscardPolicy) {\n DiscardPolicy[\"Old\"] = \"old\";\n DiscardPolicy[\"New\"] = \"new\";\n})(DiscardPolicy || (DiscardPolicy = {}));\nvar StorageType;\n(function(StorageType) {\n StorageType[\"File\"] = \"file\";\n StorageType[\"Memory\"] = \"memory\";\n})(StorageType || (StorageType = {}));\nvar DeliverPolicy;\n(function(DeliverPolicy) {\n DeliverPolicy[\"All\"] = \"all\";\n DeliverPolicy[\"Last\"] = \"last\";\n DeliverPolicy[\"New\"] = \"new\";\n DeliverPolicy[\"StartSequence\"] = \"by_start_sequence\";\n DeliverPolicy[\"StartTime\"] = \"by_start_time\";\n DeliverPolicy[\"LastPerSubject\"] = \"last_per_subject\";\n})(DeliverPolicy || (DeliverPolicy = {}));\nvar AckPolicy;\n(function(AckPolicy) {\n AckPolicy[\"None\"] = \"none\";\n AckPolicy[\"All\"] = \"all\";\n AckPolicy[\"Explicit\"] = \"explicit\";\n AckPolicy[\"NotSet\"] = \"\";\n})(AckPolicy || (AckPolicy = {}));\nvar ReplayPolicy;\n(function(ReplayPolicy) {\n ReplayPolicy[\"Instant\"] = \"instant\";\n ReplayPolicy[\"Original\"] = \"original\";\n})(ReplayPolicy || (ReplayPolicy = {}));\nvar StoreCompression;\n(function(StoreCompression) {\n StoreCompression[\"None\"] = \"none\";\n StoreCompression[\"S2\"] = \"s2\";\n})(StoreCompression || (StoreCompression = {}));\nvar ConsumerApiAction;\n(function(ConsumerApiAction) {\n ConsumerApiAction[\"CreateOrUpdate\"] = \"\";\n ConsumerApiAction[\"Update\"] = \"update\";\n ConsumerApiAction[\"Create\"] = \"create\";\n})(ConsumerApiAction || (ConsumerApiAction = {}));\nfunction defaultConsumer(name, opts = {}) {\n return Object.assign({\n name: name,\n deliver_policy: DeliverPolicy.All,\n ack_policy: AckPolicy.Explicit,\n ack_wait: nanos(30 * 1000),\n replay_policy: ReplayPolicy.Instant\n }, opts);\n}\nvar AdvisoryKind;\n(function(AdvisoryKind) {\n AdvisoryKind[\"API\"] = \"api_audit\";\n AdvisoryKind[\"StreamAction\"] = \"stream_action\";\n AdvisoryKind[\"ConsumerAction\"] = \"consumer_action\";\n AdvisoryKind[\"SnapshotCreate\"] = \"snapshot_create\";\n AdvisoryKind[\"SnapshotComplete\"] = \"snapshot_complete\";\n AdvisoryKind[\"RestoreCreate\"] = \"restore_create\";\n AdvisoryKind[\"RestoreComplete\"] = \"restore_complete\";\n AdvisoryKind[\"MaxDeliver\"] = \"max_deliver\";\n AdvisoryKind[\"Terminated\"] = \"terminated\";\n AdvisoryKind[\"Ack\"] = \"consumer_ack\";\n AdvisoryKind[\"StreamLeaderElected\"] = \"stream_leader_elected\";\n AdvisoryKind[\"StreamQuorumLost\"] = \"stream_quorum_lost\";\n AdvisoryKind[\"ConsumerLeaderElected\"] = \"consumer_leader_elected\";\n AdvisoryKind[\"ConsumerQuorumLost\"] = \"consumer_quorum_lost\";\n})(AdvisoryKind || (AdvisoryKind = {}));\nvar JsHeaders;\n(function(JsHeaders) {\n JsHeaders[\"StreamSourceHdr\"] = \"Nats-Stream-Source\";\n JsHeaders[\"LastConsumerSeqHdr\"] = \"Nats-Last-Consumer\";\n JsHeaders[\"LastStreamSeqHdr\"] = \"Nats-Last-Stream\";\n JsHeaders[\"ConsumerStalledHdr\"] = \"Nats-Consumer-Stalled\";\n JsHeaders[\"MessageSizeHdr\"] = \"Nats-Msg-Size\";\n JsHeaders[\"RollupHdr\"] = \"Nats-Rollup\";\n JsHeaders[\"RollupValueSubject\"] = \"sub\";\n JsHeaders[\"RollupValueAll\"] = \"all\";\n JsHeaders[\"PendingMessagesHdr\"] = \"Nats-Pending-Messages\";\n JsHeaders[\"PendingBytesHdr\"] = \"Nats-Pending-Bytes\";\n})(JsHeaders || (JsHeaders = {}));\nvar KvWatchInclude;\n(function(KvWatchInclude) {\n KvWatchInclude[\"LastValue\"] = \"\";\n KvWatchInclude[\"AllHistory\"] = \"history\";\n KvWatchInclude[\"UpdatesOnly\"] = \"updates\";\n})(KvWatchInclude || (KvWatchInclude = {}));\nvar DirectMsgHeaders;\n(function(DirectMsgHeaders) {\n DirectMsgHeaders[\"Stream\"] = \"Nats-Stream\";\n DirectMsgHeaders[\"Sequence\"] = \"Nats-Sequence\";\n DirectMsgHeaders[\"TimeStamp\"] = \"Nats-Time-Stamp\";\n DirectMsgHeaders[\"Subject\"] = \"Nats-Subject\";\n})(DirectMsgHeaders || (DirectMsgHeaders = {}));\nvar RepublishHeaders;\n(function(RepublishHeaders) {\n RepublishHeaders[\"Stream\"] = \"Nats-Stream\";\n RepublishHeaders[\"Subject\"] = \"Nats-Subject\";\n RepublishHeaders[\"Sequence\"] = \"Nats-Sequence\";\n RepublishHeaders[\"LastSequence\"] = \"Nats-Last-Sequence\";\n RepublishHeaders[\"Size\"] = \"Nats-Msg-Size\";\n})(RepublishHeaders || (RepublishHeaders = {}));\nconst kvPrefix = \"KV_\";\nclass ConsumerOptsBuilderImpl {\n config;\n ordered;\n mack;\n stream;\n callbackFn;\n max;\n qname;\n isBind;\n filters;\n constructor(opts){\n this.stream = \"\";\n this.mack = false;\n this.ordered = false;\n this.config = defaultConsumer(\"\", opts || {});\n }\n getOpts() {\n const o = {};\n o.config = Object.assign({}, this.config);\n if (o.config.filter_subject) {\n this.filterSubject(o.config.filter_subject);\n o.config.filter_subject = undefined;\n }\n if (o.config.filter_subjects) {\n o.config.filter_subjects?.forEach((v)=>{\n this.filterSubject(v);\n });\n o.config.filter_subjects = undefined;\n }\n o.mack = this.mack;\n o.stream = this.stream;\n o.callbackFn = this.callbackFn;\n o.max = this.max;\n o.queue = this.qname;\n o.ordered = this.ordered;\n o.config.ack_policy = o.ordered ? AckPolicy.None : o.config.ack_policy;\n o.isBind = o.isBind || false;\n if (this.filters) {\n switch(this.filters.length){\n case 0:\n break;\n case 1:\n o.config.filter_subject = this.filters[0];\n break;\n default:\n o.config.filter_subjects = this.filters;\n }\n }\n return o;\n }\n description(description) {\n this.config.description = description;\n return this;\n }\n deliverTo(subject) {\n this.config.deliver_subject = subject;\n return this;\n }\n durable(name) {\n validateDurableName(name);\n this.config.durable_name = name;\n return this;\n }\n startSequence(seq) {\n if (seq <= 0) {\n throw new Error(\"sequence must be greater than 0\");\n }\n this.config.deliver_policy = DeliverPolicy.StartSequence;\n this.config.opt_start_seq = seq;\n return this;\n }\n startTime(time) {\n this.config.deliver_policy = DeliverPolicy.StartTime;\n this.config.opt_start_time = time.toISOString();\n return this;\n }\n deliverAll() {\n this.config.deliver_policy = DeliverPolicy.All;\n return this;\n }\n deliverLastPerSubject() {\n this.config.deliver_policy = DeliverPolicy.LastPerSubject;\n return this;\n }\n deliverLast() {\n this.config.deliver_policy = DeliverPolicy.Last;\n return this;\n }\n deliverNew() {\n this.config.deliver_policy = DeliverPolicy.New;\n return this;\n }\n startAtTimeDelta(millis) {\n this.startTime(new Date(Date.now() - millis));\n return this;\n }\n headersOnly() {\n this.config.headers_only = true;\n return this;\n }\n ackNone() {\n this.config.ack_policy = AckPolicy.None;\n return this;\n }\n ackAll() {\n this.config.ack_policy = AckPolicy.All;\n return this;\n }\n ackExplicit() {\n this.config.ack_policy = AckPolicy.Explicit;\n return this;\n }\n ackWait(millis) {\n this.config.ack_wait = nanos(millis);\n return this;\n }\n maxDeliver(max) {\n this.config.max_deliver = max;\n return this;\n }\n filterSubject(s) {\n this.filters = this.filters || [];\n this.filters.push(s);\n return this;\n }\n replayInstantly() {\n this.config.replay_policy = ReplayPolicy.Instant;\n return this;\n }\n replayOriginal() {\n this.config.replay_policy = ReplayPolicy.Original;\n return this;\n }\n sample(n) {\n n = Math.trunc(n);\n if (n < 0 || n > 100) {\n throw new Error(`value must be between 0-100`);\n }\n this.config.sample_freq = `${n}%`;\n return this;\n }\n limit(n) {\n this.config.rate_limit_bps = n;\n return this;\n }\n maxWaiting(max) {\n this.config.max_waiting = max;\n return this;\n }\n maxAckPending(max) {\n this.config.max_ack_pending = max;\n return this;\n }\n idleHeartbeat(millis) {\n this.config.idle_heartbeat = nanos(millis);\n return this;\n }\n flowControl() {\n this.config.flow_control = true;\n return this;\n }\n deliverGroup(name) {\n this.queue(name);\n return this;\n }\n manualAck() {\n this.mack = true;\n return this;\n }\n maxMessages(max) {\n this.max = max;\n return this;\n }\n callback(fn) {\n this.callbackFn = fn;\n return this;\n }\n queue(n) {\n this.qname = n;\n this.config.deliver_group = n;\n return this;\n }\n orderedConsumer() {\n this.ordered = true;\n return this;\n }\n bind(stream, durable) {\n this.stream = stream;\n this.config.durable_name = durable;\n this.isBind = true;\n return this;\n }\n bindStream(stream) {\n this.stream = stream;\n return this;\n }\n inactiveEphemeralThreshold(millis) {\n this.config.inactive_threshold = nanos(millis);\n return this;\n }\n maxPullBatch(n) {\n this.config.max_batch = n;\n return this;\n }\n maxPullRequestExpires(millis) {\n this.config.max_expires = nanos(millis);\n return this;\n }\n memory() {\n this.config.mem_storage = true;\n return this;\n }\n numReplicas(n) {\n this.config.num_replicas = n;\n return this;\n }\n consumerName(n) {\n this.config.name = n;\n return this;\n }\n}\nfunction consumerOpts(opts) {\n return new ConsumerOptsBuilderImpl(opts);\n}\nfunction isConsumerOptsBuilder(o) {\n return typeof o.getOpts === \"function\";\n}\nclass Base64Codec {\n static encode(bytes) {\n if (typeof bytes === \"string\") {\n return btoa(bytes);\n }\n const a = Array.from(bytes);\n return btoa(String.fromCharCode(...a));\n }\n static decode(s, binary = false) {\n const bin = atob(s);\n if (!binary) {\n return bin;\n }\n return Uint8Array.from(bin, (c)=>c.charCodeAt(0));\n }\n}\nclass Base64UrlPaddedCodec {\n static encode(bytes) {\n return Base64UrlPaddedCodec.toB64URLEncoding(Base64Codec.encode(bytes));\n }\n static decode(s, binary = false) {\n return Base64UrlPaddedCodec.decode(Base64UrlPaddedCodec.fromB64URLEncoding(s), binary);\n }\n static toB64URLEncoding(b64str) {\n return b64str.replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n }\n static fromB64URLEncoding(b64str) {\n return b64str.replace(/_/g, \"/\").replace(/-/g, \"+\");\n }\n}\nclass DataBuffer {\n buffers;\n byteLength;\n constructor(){\n this.buffers = [];\n this.byteLength = 0;\n }\n static concat(...bufs) {\n let max = 0;\n for(let i = 0; i < bufs.length; i++){\n max += bufs[i].length;\n }\n const out = new Uint8Array(max);\n let index = 0;\n for(let i = 0; i < bufs.length; i++){\n out.set(bufs[i], index);\n index += bufs[i].length;\n }\n return out;\n }\n static fromAscii(m) {\n if (!m) {\n m = \"\";\n }\n return TE.encode(m);\n }\n static toAscii(a) {\n return TD.decode(a);\n }\n reset() {\n this.buffers.length = 0;\n this.byteLength = 0;\n }\n pack() {\n if (this.buffers.length > 1) {\n const v = new Uint8Array(this.byteLength);\n let index = 0;\n for(let i = 0; i < this.buffers.length; i++){\n v.set(this.buffers[i], index);\n index += this.buffers[i].length;\n }\n this.buffers.length = 0;\n this.buffers.push(v);\n }\n }\n shift() {\n if (this.buffers.length) {\n const a = this.buffers.shift();\n if (a) {\n this.byteLength -= a.length;\n return a;\n }\n }\n return new Uint8Array(0);\n }\n drain(n) {\n if (this.buffers.length) {\n this.pack();\n const v = this.buffers.pop();\n if (v) {\n const max = this.byteLength;\n if (n === undefined || n > max) {\n n = max;\n }\n const d = v.subarray(0, n);\n if (max > n) {\n this.buffers.push(v.subarray(n));\n }\n this.byteLength = max - n;\n return d;\n }\n }\n return new Uint8Array(0);\n }\n fill(a, ...bufs) {\n if (a) {\n this.buffers.push(a);\n this.byteLength += a.length;\n }\n for(let i = 0; i < bufs.length; i++){\n if (bufs[i] && bufs[i].length) {\n this.buffers.push(bufs[i]);\n this.byteLength += bufs[i].length;\n }\n }\n }\n peek() {\n if (this.buffers.length) {\n this.pack();\n return this.buffers[0];\n }\n return new Uint8Array(0);\n }\n size() {\n return this.byteLength;\n }\n length() {\n return this.buffers.length;\n }\n}\nfunction getLengths(b64) {\n const len = b64.length;\n let validLen = b64.indexOf(\"=\");\n if (validLen === -1) {\n validLen = len;\n }\n const placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [\n validLen,\n placeHoldersLen\n ];\n}\nfunction init(lookup, revLookup, urlsafe = false) {\n function _byteLength(validLen, placeHoldersLen) {\n return Math.floor((validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen);\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 0x3f] + lookup[num >> 12 & 0x3f] + lookup[num >> 6 & 0x3f] + lookup[num & 0x3f];\n }\n function encodeChunk(buf, start, end) {\n const out = new Array((end - start) / 3);\n for(let i = start, curTriplet = 0; i < end; i += 3){\n out[curTriplet++] = tripletToBase64((buf[i] << 16) + (buf[i + 1] << 8) + buf[i + 2]);\n }\n return out.join(\"\");\n }\n return {\n byteLength (b64) {\n return _byteLength.apply(null, getLengths(b64));\n },\n toUint8Array (b64) {\n const [validLen, placeHoldersLen] = getLengths(b64);\n const buf = new Uint8Array(_byteLength(validLen, placeHoldersLen));\n const len = placeHoldersLen ? validLen - 4 : validLen;\n let tmp;\n let curByte = 0;\n let i;\n for(i = 0; i < len; i += 4){\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n buf[curByte++] = tmp >> 16 & 0xff;\n buf[curByte++] = tmp >> 8 & 0xff;\n buf[curByte++] = tmp & 0xff;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n buf[curByte++] = tmp & 0xff;\n } else if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n buf[curByte++] = tmp >> 8 & 0xff;\n buf[curByte++] = tmp & 0xff;\n }\n return buf;\n },\n fromUint8Array (buf) {\n const maxChunkLength = 16383;\n const len = buf.length;\n const extraBytes = len % 3;\n const len2 = len - extraBytes;\n const parts = new Array(Math.ceil(len2 / 16383) + (extraBytes ? 1 : 0));\n let curChunk = 0;\n let chunkEnd;\n for(let i = 0; i < len2; i += maxChunkLength){\n chunkEnd = i + maxChunkLength;\n parts[curChunk++] = encodeChunk(buf, i, chunkEnd > len2 ? len2 : chunkEnd);\n }\n let tmp;\n if (extraBytes === 1) {\n tmp = buf[len2];\n parts[curChunk] = lookup[tmp >> 2] + lookup[tmp << 4 & 0x3f];\n if (!urlsafe) parts[curChunk] += \"==\";\n } else if (extraBytes === 2) {\n tmp = buf[len2] << 8 | buf[len2 + 1] & 0xff;\n parts[curChunk] = lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3f] + lookup[tmp << 2 & 0x3f];\n if (!urlsafe) parts[curChunk] += \"=\";\n }\n return parts.join(\"\");\n }\n };\n}\nconst lookup = [];\nconst revLookup = [];\nconst code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\";\nfor(let i = 0, l = code.length; i < l; ++i){\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\nconst { byteLength, toUint8Array, fromUint8Array } = init(lookup, revLookup, true);\nconst decoder = new TextDecoder();\nconst encoder = new TextEncoder();\nfunction toHexString(buf) {\n return buf.reduce((hex, __byte)=>`${hex}${__byte < 16 ? \"0\" : \"\"}${__byte.toString(16)}`, \"\");\n}\nfunction fromHexString(hex) {\n const len = hex.length;\n if (len % 2 || !/^[0-9a-fA-F]+$/.test(hex)) {\n throw new TypeError(\"Invalid hex string.\");\n }\n hex = hex.toLowerCase();\n const buf = new Uint8Array(Math.floor(len / 2));\n const end = len / 2;\n for(let i = 0; i < end; ++i){\n buf[i] = parseInt(hex.substr(i * 2, 2), 16);\n }\n return buf;\n}\nfunction decode1(buf, encoding = \"utf8\") {\n if (/^utf-?8$/i.test(encoding)) {\n return decoder.decode(buf);\n } else if (/^base64$/i.test(encoding)) {\n return fromUint8Array(buf);\n } else if (/^hex(?:adecimal)?$/i.test(encoding)) {\n return toHexString(buf);\n } else {\n throw new TypeError(\"Unsupported string encoding.\");\n }\n}\nfunction encode1(str, encoding = \"utf8\") {\n if (/^utf-?8$/i.test(encoding)) {\n return encoder.encode(str);\n } else if (/^base64$/i.test(encoding)) {\n return toUint8Array(str);\n } else if (/^hex(?:adecimal)?$/i.test(encoding)) {\n return fromHexString(str);\n } else {\n throw new TypeError(\"Unsupported string encoding.\");\n }\n}\nclass SHA256 {\n hashSize = 32;\n _buf;\n _bufIdx;\n _count;\n _K;\n _H;\n _finalized;\n constructor(){\n this._buf = new Uint8Array(64);\n this._K = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n ]);\n this.init();\n }\n init() {\n this._H = new Uint32Array([\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n ]);\n this._bufIdx = 0;\n this._count = new Uint32Array(2);\n this._buf.fill(0);\n this._finalized = false;\n return this;\n }\n update(msg, inputEncoding) {\n if (msg === null) {\n throw new TypeError(\"msg must be a string or Uint8Array.\");\n } else if (typeof msg === \"string\") {\n msg = encode1(msg, inputEncoding);\n }\n for(let i = 0, len = msg.length; i < len; i++){\n this._buf[this._bufIdx++] = msg[i];\n if (this._bufIdx === 64) {\n this._transform();\n this._bufIdx = 0;\n }\n }\n const c = this._count;\n if ((c[0] += msg.length << 3) < msg.length << 3) {\n c[1]++;\n }\n c[1] += msg.length >>> 29;\n return this;\n }\n digest(outputEncoding) {\n if (this._finalized) {\n throw new Error(\"digest has already been called.\");\n }\n this._finalized = true;\n const b = this._buf;\n let idx = this._bufIdx;\n b[idx++] = 0x80;\n while(idx !== 56){\n if (idx === 64) {\n this._transform();\n idx = 0;\n }\n b[idx++] = 0;\n }\n const c = this._count;\n b[56] = c[1] >>> 24 & 0xff;\n b[57] = c[1] >>> 16 & 0xff;\n b[58] = c[1] >>> 8 & 0xff;\n b[59] = c[1] >>> 0 & 0xff;\n b[60] = c[0] >>> 24 & 0xff;\n b[61] = c[0] >>> 16 & 0xff;\n b[62] = c[0] >>> 8 & 0xff;\n b[63] = c[0] >>> 0 & 0xff;\n this._transform();\n const hash = new Uint8Array(32);\n for(let i = 0; i < 8; i++){\n hash[(i << 2) + 0] = this._H[i] >>> 24 & 0xff;\n hash[(i << 2) + 1] = this._H[i] >>> 16 & 0xff;\n hash[(i << 2) + 2] = this._H[i] >>> 8 & 0xff;\n hash[(i << 2) + 3] = this._H[i] >>> 0 & 0xff;\n }\n this.init();\n return outputEncoding ? decode1(hash, outputEncoding) : hash;\n }\n _transform() {\n const h = this._H;\n let h0 = h[0];\n let h1 = h[1];\n let h2 = h[2];\n let h3 = h[3];\n let h4 = h[4];\n let h5 = h[5];\n let h6 = h[6];\n let h7 = h[7];\n const w = new Uint32Array(16);\n let i;\n for(i = 0; i < 16; i++){\n w[i] = this._buf[(i << 2) + 3] | this._buf[(i << 2) + 2] << 8 | this._buf[(i << 2) + 1] << 16 | this._buf[i << 2] << 24;\n }\n for(i = 0; i < 64; i++){\n let tmp;\n if (i < 16) {\n tmp = w[i];\n } else {\n let a = w[i + 1 & 15];\n let b = w[i + 14 & 15];\n tmp = w[i & 15] = (a >>> 7 ^ a >>> 18 ^ a >>> 3 ^ a << 25 ^ a << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + w[i & 15] + w[i + 9 & 15] | 0;\n }\n tmp = tmp + h7 + (h4 >>> 6 ^ h4 >>> 11 ^ h4 >>> 25 ^ h4 << 26 ^ h4 << 21 ^ h4 << 7) + (h6 ^ h4 & (h5 ^ h6)) + this._K[i] | 0;\n h7 = h6;\n h6 = h5;\n h5 = h4;\n h4 = h3 + tmp;\n h3 = h2;\n h2 = h1;\n h1 = h0;\n h0 = tmp + (h1 & h2 ^ h3 & (h1 ^ h2)) + (h1 >>> 2 ^ h1 >>> 13 ^ h1 >>> 22 ^ h1 << 30 ^ h1 << 19 ^ h1 << 10) | 0;\n }\n h[0] = h[0] + h0 | 0;\n h[1] = h[1] + h1 | 0;\n h[2] = h[2] + h2 | 0;\n h[3] = h[3] + h3 | 0;\n h[4] = h[4] + h4 | 0;\n h[5] = h[5] + h5 | 0;\n h[6] = h[6] + h6 | 0;\n h[7] = h[7] + h7 | 0;\n }\n}\nclass BaseRequest {\n token;\n received;\n ctx;\n requestSubject;\n mux;\n constructor(mux, requestSubject, asyncTraces = true){\n this.mux = mux;\n this.requestSubject = requestSubject;\n this.received = 0;\n this.token = nuid.next();\n if (asyncTraces) {\n this.ctx = new Error();\n }\n }\n}\nclass RequestMany extends BaseRequest {\n callback;\n done;\n timer;\n max;\n opts;\n constructor(mux, requestSubject, opts = {\n maxWait: 1000\n }){\n super(mux, requestSubject);\n this.opts = opts;\n if (typeof this.opts.callback !== \"function\") {\n throw new Error(\"callback is required\");\n }\n this.callback = this.opts.callback;\n this.max = typeof opts.maxMessages === \"number\" && opts.maxMessages > 0 ? opts.maxMessages : -1;\n this.done = deferred();\n this.done.then(()=>{\n this.callback(null, null);\n });\n this.timer = setTimeout(()=>{\n this.cancel();\n }, opts.maxWait);\n }\n cancel(err) {\n if (err) {\n this.callback(err, null);\n }\n clearTimeout(this.timer);\n this.mux.cancel(this);\n this.done.resolve();\n }\n resolver(err, msg) {\n if (err) {\n if (this.ctx) {\n err.stack += `\\n\\n${this.ctx.stack}`;\n }\n this.cancel(err);\n } else {\n this.callback(null, msg);\n if (this.opts.strategy === RequestStrategy.Count) {\n this.max--;\n if (this.max === 0) {\n this.cancel();\n }\n }\n if (this.opts.strategy === RequestStrategy.JitterTimer) {\n clearTimeout(this.timer);\n this.timer = setTimeout(()=>{\n this.cancel();\n }, this.opts.jitter || 300);\n }\n if (this.opts.strategy === RequestStrategy.SentinelMsg) {\n if (msg && msg.data.length === 0) {\n this.cancel();\n }\n }\n }\n }\n}\nclass RequestOne extends BaseRequest {\n deferred;\n timer;\n constructor(mux, requestSubject, opts = {\n timeout: 1000\n }, asyncTraces = true){\n super(mux, requestSubject, asyncTraces);\n this.deferred = deferred();\n this.timer = timeout(opts.timeout, asyncTraces);\n }\n resolver(err, msg) {\n if (this.timer) {\n this.timer.cancel();\n }\n if (err) {\n if (this.ctx) {\n err.stack += `\\n\\n${this.ctx.stack}`;\n }\n this.deferred.reject(err);\n } else {\n this.deferred.resolve(msg);\n }\n this.cancel();\n }\n cancel(err) {\n if (this.timer) {\n this.timer.cancel();\n }\n this.mux.cancel(this);\n this.deferred.reject(err ? err : NatsError.errorForCode(ErrorCode.Cancelled));\n }\n}\nconst defaultPrefix = \"$JS.API\";\nfunction defaultJsOptions(opts) {\n opts = opts || {};\n if (opts.domain) {\n opts.apiPrefix = `$JS.${opts.domain}.API`;\n delete opts.domain;\n }\n return extend({\n apiPrefix: defaultPrefix,\n timeout: 5000\n }, opts);\n}\nclass BaseApiClient {\n nc;\n opts;\n prefix;\n timeout;\n jc;\n constructor(nc, opts){\n this.nc = nc;\n this.opts = defaultJsOptions(opts);\n this._parseOpts();\n this.prefix = this.opts.apiPrefix;\n this.timeout = this.opts.timeout;\n this.jc = JSONCodec();\n }\n getOptions() {\n return Object.assign({}, this.opts);\n }\n _parseOpts() {\n let prefix = this.opts.apiPrefix;\n if (!prefix || prefix.length === 0) {\n throw new Error(\"invalid empty prefix\");\n }\n const c = prefix[prefix.length - 1];\n if (c === \".\") {\n prefix = prefix.substr(0, prefix.length - 1);\n }\n this.opts.apiPrefix = prefix;\n }\n async _request(subj, data = null, opts) {\n opts = opts || {};\n opts.timeout = this.timeout;\n let a = Empty;\n if (data) {\n a = this.jc.encode(data);\n }\n let { retries } = opts;\n retries = retries || 1;\n retries = retries === -1 ? Number.MAX_SAFE_INTEGER : retries;\n const bo = backoff();\n for(let i = 0; i < retries; i++){\n try {\n const m = await this.nc.request(subj, a, opts);\n return this.parseJsResponse(m);\n } catch (err) {\n const ne = err;\n if ((ne.code === \"503\" || ne.code === ErrorCode.Timeout) && i + 1 < retries) {\n await delay(bo.backoff(i));\n } else {\n throw err;\n }\n }\n }\n }\n async findStream(subject) {\n const q = {\n subject\n };\n const r = await this._request(`${this.prefix}.STREAM.NAMES`, q);\n const names = r;\n if (!names.streams || names.streams.length !== 1) {\n throw new Error(\"no stream matches subject\");\n }\n return names.streams[0];\n }\n getConnection() {\n return this.nc;\n }\n parseJsResponse(m) {\n const v = this.jc.decode(m.data);\n const r = v;\n if (r.error) {\n const err = checkJsErrorCode(r.error.code, r.error.description);\n if (err !== null) {\n err.api_error = r.error;\n throw err;\n }\n }\n return v;\n }\n}\nclass ListerImpl {\n err;\n offset;\n pageInfo;\n subject;\n jsm;\n filter;\n payload;\n constructor(subject, filter, jsm, payload){\n if (!subject) {\n throw new Error(\"subject is required\");\n }\n this.subject = subject;\n this.jsm = jsm;\n this.offset = 0;\n this.pageInfo = {};\n this.filter = filter;\n this.payload = payload || {};\n }\n async next() {\n if (this.err) {\n return [];\n }\n if (this.pageInfo && this.offset >= this.pageInfo.total) {\n return [];\n }\n const offset = {\n offset: this.offset\n };\n if (this.payload) {\n Object.assign(offset, this.payload);\n }\n try {\n const r = await this.jsm._request(this.subject, offset, {\n timeout: this.jsm.timeout\n });\n this.pageInfo = r;\n const count = this.countResponse(r);\n if (count === 0) {\n return [];\n }\n this.offset += count;\n const a = this.filter(r);\n return a;\n } catch (err) {\n this.err = err;\n throw err;\n }\n }\n countResponse(r) {\n switch(r?.type){\n case \"io.nats.jetstream.api.v1.stream_names_response\":\n case \"io.nats.jetstream.api.v1.stream_list_response\":\n return r.streams?.length || 0;\n case \"io.nats.jetstream.api.v1.consumer_list_response\":\n return r.consumers?.length || 0;\n default:\n console.error(`jslister.ts: unknown API response for paged output: ${r?.type}`);\n return r.streams?.length || 0;\n }\n return 0;\n }\n async *[Symbol.asyncIterator]() {\n let page = await this.next();\n while(page.length > 0){\n for (const item of page){\n yield item;\n }\n page = await this.next();\n }\n }\n}\nfunction parseSemVer(s = \"\") {\n const m = s.match(/(\\d+).(\\d+).(\\d+)/);\n if (m) {\n return {\n major: parseInt(m[1]),\n minor: parseInt(m[2]),\n micro: parseInt(m[3])\n };\n }\n throw new Error(`'${s}' is not a semver value`);\n}\nfunction compare(a, b) {\n if (a.major < b.major) return -1;\n if (a.major > b.major) return 1;\n if (a.minor < b.minor) return -1;\n if (a.minor > b.minor) return 1;\n if (a.micro < b.micro) return -1;\n if (a.micro > b.micro) return 1;\n return 0;\n}\nvar Feature;\n(function(Feature) {\n Feature[\"JS_KV\"] = \"js_kv\";\n Feature[\"JS_OBJECTSTORE\"] = \"js_objectstore\";\n Feature[\"JS_PULL_MAX_BYTES\"] = \"js_pull_max_bytes\";\n Feature[\"JS_NEW_CONSUMER_CREATE_API\"] = \"js_new_consumer_create\";\n Feature[\"JS_ALLOW_DIRECT\"] = \"js_allow_direct\";\n Feature[\"JS_MULTIPLE_CONSUMER_FILTER\"] = \"js_multiple_consumer_filter\";\n Feature[\"JS_SIMPLIFICATION\"] = \"js_simplification\";\n Feature[\"JS_STREAM_CONSUMER_METADATA\"] = \"js_stream_consumer_metadata\";\n Feature[\"JS_CONSUMER_FILTER_SUBJECTS\"] = \"js_consumer_filter_subjects\";\n Feature[\"JS_STREAM_FIRST_SEQ\"] = \"js_stream_first_seq\";\n Feature[\"JS_STREAM_SUBJECT_TRANSFORM\"] = \"js_stream_subject_transform\";\n Feature[\"JS_STREAM_SOURCE_SUBJECT_TRANSFORM\"] = \"js_stream_source_subject_transform\";\n Feature[\"JS_STREAM_COMPRESSION\"] = \"js_stream_compression\";\n Feature[\"JS_DEFAULT_CONSUMER_LIMITS\"] = \"js_default_consumer_limits\";\n Feature[\"JS_BATCH_DIRECT_GET\"] = \"js_batch_direct_get\";\n})(Feature || (Feature = {}));\nclass Features {\n server;\n features;\n disabled;\n constructor(v){\n this.features = new Map();\n this.disabled = [];\n this.update(v);\n }\n resetDisabled() {\n this.disabled.length = 0;\n this.update(this.server);\n }\n disable(f) {\n this.disabled.push(f);\n this.update(this.server);\n }\n isDisabled(f) {\n return this.disabled.indexOf(f) !== -1;\n }\n update(v) {\n if (typeof v === \"string\") {\n v = parseSemVer(v);\n }\n this.server = v;\n this.set(Feature.JS_KV, \"2.6.2\");\n this.set(Feature.JS_OBJECTSTORE, \"2.6.3\");\n this.set(Feature.JS_PULL_MAX_BYTES, \"2.8.3\");\n this.set(Feature.JS_NEW_CONSUMER_CREATE_API, \"2.9.0\");\n this.set(Feature.JS_ALLOW_DIRECT, \"2.9.0\");\n this.set(Feature.JS_MULTIPLE_CONSUMER_FILTER, \"2.10.0\");\n this.set(Feature.JS_SIMPLIFICATION, \"2.9.4\");\n this.set(Feature.JS_STREAM_CONSUMER_METADATA, \"2.10.0\");\n this.set(Feature.JS_CONSUMER_FILTER_SUBJECTS, \"2.10.0\");\n this.set(Feature.JS_STREAM_FIRST_SEQ, \"2.10.0\");\n this.set(Feature.JS_STREAM_SUBJECT_TRANSFORM, \"2.10.0\");\n this.set(Feature.JS_STREAM_SOURCE_SUBJECT_TRANSFORM, \"2.10.0\");\n this.set(Feature.JS_STREAM_COMPRESSION, \"2.10.0\");\n this.set(Feature.JS_DEFAULT_CONSUMER_LIMITS, \"2.10.0\");\n this.set(Feature.JS_BATCH_DIRECT_GET, \"2.11.0\");\n this.disabled.forEach((f)=>{\n this.features.delete(f);\n });\n }\n set(f, requires) {\n this.features.set(f, {\n min: requires,\n ok: compare(this.server, parseSemVer(requires)) >= 0\n });\n }\n get(f) {\n return this.features.get(f) || {\n min: \"unknown\",\n ok: false\n };\n }\n supports(f) {\n return this.get(f)?.ok || false;\n }\n require(v) {\n if (typeof v === \"string\") {\n v = parseSemVer(v);\n }\n return compare(this.server, v) >= 0;\n }\n}\nclass ConsumerAPIImpl extends BaseApiClient {\n constructor(nc, opts){\n super(nc, opts);\n }\n async add(stream, cfg, action = ConsumerApiAction.Create) {\n validateStreamName(stream);\n if (cfg.deliver_group && cfg.flow_control) {\n throw new Error(\"jetstream flow control is not supported with queue groups\");\n }\n if (cfg.deliver_group && cfg.idle_heartbeat) {\n throw new Error(\"jetstream idle heartbeat is not supported with queue groups\");\n }\n const cr = {};\n cr.config = cfg;\n cr.stream_name = stream;\n cr.action = action;\n if (cr.config.durable_name) {\n validateDurableName(cr.config.durable_name);\n }\n const nci = this.nc;\n let { min, ok: newAPI } = nci.features.get(Feature.JS_NEW_CONSUMER_CREATE_API);\n const name = cfg.name === \"\" ? undefined : cfg.name;\n if (name && !newAPI) {\n throw new Error(`consumer 'name' requires server ${min}`);\n }\n if (name) {\n try {\n minValidation(\"name\", name);\n } catch (err) {\n const m = err.message;\n const idx = m.indexOf(\"cannot contain\");\n if (idx !== -1) {\n throw new Error(`consumer 'name' ${m.substring(idx)}`);\n }\n throw err;\n }\n }\n let subj;\n let consumerName = \"\";\n if (Array.isArray(cfg.filter_subjects)) {\n const { min, ok } = nci.features.get(Feature.JS_MULTIPLE_CONSUMER_FILTER);\n if (!ok) {\n throw new Error(`consumer 'filter_subjects' requires server ${min}`);\n }\n newAPI = false;\n }\n if (cfg.metadata) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_CONSUMER_METADATA);\n if (!ok) {\n throw new Error(`consumer 'metadata' requires server ${min}`);\n }\n }\n if (newAPI) {\n consumerName = cfg.name ?? cfg.durable_name ?? \"\";\n }\n if (consumerName !== \"\") {\n let fs = cfg.filter_subject ?? undefined;\n if (fs === \">\") {\n fs = undefined;\n }\n subj = fs !== undefined ? `${this.prefix}.CONSUMER.CREATE.${stream}.${consumerName}.${fs}` : `${this.prefix}.CONSUMER.CREATE.${stream}.${consumerName}`;\n } else {\n subj = cfg.durable_name ? `${this.prefix}.CONSUMER.DURABLE.CREATE.${stream}.${cfg.durable_name}` : `${this.prefix}.CONSUMER.CREATE.${stream}`;\n }\n const r = await this._request(subj, cr);\n return r;\n }\n async update(stream, durable, cfg) {\n const ci = await this.info(stream, durable);\n const changable = cfg;\n return this.add(stream, Object.assign(ci.config, changable), ConsumerApiAction.Update);\n }\n async info(stream, name) {\n validateStreamName(stream);\n validateDurableName(name);\n const r = await this._request(`${this.prefix}.CONSUMER.INFO.${stream}.${name}`);\n return r;\n }\n async delete(stream, name) {\n validateStreamName(stream);\n validateDurableName(name);\n const r = await this._request(`${this.prefix}.CONSUMER.DELETE.${stream}.${name}`);\n const cr = r;\n return cr.success;\n }\n list(stream) {\n validateStreamName(stream);\n const filter = (v)=>{\n const clr = v;\n return clr.consumers;\n };\n const subj = `${this.prefix}.CONSUMER.LIST.${stream}`;\n return new ListerImpl(subj, filter, this);\n }\n pause(stream, name, until) {\n const subj = `${this.prefix}.CONSUMER.PAUSE.${stream}.${name}`;\n const opts = {\n pause_until: until.toISOString()\n };\n return this._request(subj, opts);\n }\n resume(stream, name) {\n return this.pause(stream, name, new Date(0));\n }\n}\nfunction checkFn(fn, name, required = false) {\n if (required === true && !fn) {\n throw NatsError.errorForCode(ErrorCode.ApiError, new Error(`${name} is not a function`));\n }\n if (fn && typeof fn !== \"function\") {\n throw NatsError.errorForCode(ErrorCode.ApiError, new Error(`${name} is not a function`));\n }\n}\nclass TypedSubscription extends QueuedIteratorImpl {\n sub;\n adapter;\n subIterDone;\n constructor(nc, subject, opts){\n super();\n checkFn(opts.adapter, \"adapter\", true);\n this.adapter = opts.adapter;\n if (opts.callback) {\n checkFn(opts.callback, \"callback\");\n }\n this.noIterator = typeof opts.callback === \"function\";\n if (opts.ingestionFilterFn) {\n checkFn(opts.ingestionFilterFn, \"ingestionFilterFn\");\n this.ingestionFilterFn = opts.ingestionFilterFn;\n }\n if (opts.protocolFilterFn) {\n checkFn(opts.protocolFilterFn, \"protocolFilterFn\");\n this.protocolFilterFn = opts.protocolFilterFn;\n }\n if (opts.dispatchedFn) {\n checkFn(opts.dispatchedFn, \"dispatchedFn\");\n this.dispatchedFn = opts.dispatchedFn;\n }\n if (opts.cleanupFn) {\n checkFn(opts.cleanupFn, \"cleanupFn\");\n }\n let callback = (err, msg)=>{\n this.callback(err, msg);\n };\n if (opts.callback) {\n const uh = opts.callback;\n callback = (err, msg)=>{\n const [jer, tm] = this.adapter(err, msg);\n if (jer) {\n uh(jer, null);\n return;\n }\n const { ingest } = this.ingestionFilterFn ? this.ingestionFilterFn(tm, this) : {\n ingest: true\n };\n if (ingest) {\n const ok = this.protocolFilterFn ? this.protocolFilterFn(tm) : true;\n if (ok) {\n uh(jer, tm);\n if (this.dispatchedFn && tm) {\n this.dispatchedFn(tm);\n }\n }\n }\n };\n }\n const { max, queue, timeout } = opts;\n const sopts = {\n queue,\n timeout,\n callback\n };\n if (max && max > 0) {\n sopts.max = max;\n }\n this.sub = nc.subscribe(subject, sopts);\n if (opts.cleanupFn) {\n this.sub.cleanupFn = opts.cleanupFn;\n }\n if (!this.noIterator) {\n this.iterClosed.then(()=>{\n this.unsubscribe();\n });\n }\n this.subIterDone = deferred();\n Promise.all([\n this.sub.closed,\n this.iterClosed\n ]).then(()=>{\n this.subIterDone.resolve();\n }).catch(()=>{\n this.subIterDone.resolve();\n });\n (async (s)=>{\n await s.closed;\n this.stop();\n })(this.sub).then().catch();\n }\n unsubscribe(max) {\n this.sub.unsubscribe(max);\n }\n drain() {\n return this.sub.drain();\n }\n isDraining() {\n return this.sub.isDraining();\n }\n isClosed() {\n return this.sub.isClosed();\n }\n callback(e, msg) {\n this.sub.cancelTimeout();\n const [err, tm] = this.adapter(e, msg);\n if (err) {\n this.stop(err);\n }\n if (tm) {\n this.push(tm);\n }\n }\n getSubject() {\n return this.sub.getSubject();\n }\n getReceived() {\n return this.sub.getReceived();\n }\n getProcessed() {\n return this.sub.getProcessed();\n }\n getPending() {\n return this.sub.getPending();\n }\n getID() {\n return this.sub.getID();\n }\n getMax() {\n return this.sub.getMax();\n }\n get closed() {\n return this.sub.closed;\n }\n}\nlet transportConfig;\nfunction setTransportFactory(config) {\n transportConfig = config;\n}\nfunction defaultPort() {\n return transportConfig !== undefined && transportConfig.defaultPort !== undefined ? transportConfig.defaultPort : 4222;\n}\nfunction getUrlParseFn() {\n return transportConfig !== undefined && transportConfig.urlParseFn ? transportConfig.urlParseFn : undefined;\n}\nfunction newTransport() {\n if (!transportConfig || typeof transportConfig.factory !== \"function\") {\n throw new Error(\"transport fn is not set\");\n }\n return transportConfig.factory();\n}\nfunction getResolveFn() {\n return transportConfig !== undefined && transportConfig.dnsResolveFn ? transportConfig.dnsResolveFn : undefined;\n}\nconst CR_LF = \"\\r\\n\";\nCR_LF.length;\nconst CRLF = DataBuffer.fromAscii(CR_LF);\nconst CR = new Uint8Array(CRLF)[0];\nconst LF = new Uint8Array(CRLF)[1];\nfunction protoLen(ba) {\n for(let i = 0; i < ba.length; i++){\n const n = i + 1;\n if (ba.byteLength > n && ba[i] === CR && ba[n] === LF) {\n return n + 1;\n }\n }\n return 0;\n}\nfunction extractProtocolMessage(a) {\n const len = protoLen(a);\n if (len > 0) {\n const ba = new Uint8Array(a);\n const out = ba.slice(0, len);\n return TD.decode(out);\n }\n return \"\";\n}\nconst IPv4LEN = 4;\nconst ASCII0 = 48;\nconst ASCIIA = 65;\nconst ASCIIa = 97;\nfunction ipV4(a, b, c, d) {\n const ip = new Uint8Array(16);\n const prefix = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0xff,\n 0xff\n ];\n prefix.forEach((v, idx)=>{\n ip[idx] = v;\n });\n ip[12] = a;\n ip[13] = b;\n ip[14] = c;\n ip[15] = d;\n return ip;\n}\nfunction isIP(h) {\n return parseIP(h) !== undefined;\n}\nfunction parseIP(h) {\n for(let i = 0; i < h.length; i++){\n switch(h[i]){\n case \".\":\n return parseIPv4(h);\n case \":\":\n return parseIPv6(h);\n }\n }\n return;\n}\nfunction parseIPv4(s) {\n const ip = new Uint8Array(4);\n for(let i = 0; i < 4; i++){\n if (s.length === 0) {\n return undefined;\n }\n if (i > 0) {\n if (s[0] !== \".\") {\n return undefined;\n }\n s = s.substring(1);\n }\n const { n, c, ok } = dtoi(s);\n if (!ok || n > 0xFF) {\n return undefined;\n }\n s = s.substring(c);\n ip[i] = n;\n }\n return ipV4(ip[0], ip[1], ip[2], ip[3]);\n}\nfunction parseIPv6(s) {\n const ip = new Uint8Array(16);\n let ellipsis = -1;\n if (s.length >= 2 && s[0] === \":\" && s[1] === \":\") {\n ellipsis = 0;\n s = s.substring(2);\n if (s.length === 0) {\n return ip;\n }\n }\n let i = 0;\n while(i < 16){\n const { n, c, ok } = xtoi(s);\n if (!ok || n > 0xFFFF) {\n return undefined;\n }\n if (c < s.length && s[c] === \".\") {\n if (ellipsis < 0 && i != 16 - 4) {\n return undefined;\n }\n if (i + 4 > 16) {\n return undefined;\n }\n const ip4 = parseIPv4(s);\n if (ip4 === undefined) {\n return undefined;\n }\n ip[i] = ip4[12];\n ip[i + 1] = ip4[13];\n ip[i + 2] = ip4[14];\n ip[i + 3] = ip4[15];\n s = \"\";\n i += IPv4LEN;\n break;\n }\n ip[i] = n >> 8;\n ip[i + 1] = n;\n i += 2;\n s = s.substring(c);\n if (s.length === 0) {\n break;\n }\n if (s[0] !== \":\" || s.length == 1) {\n return undefined;\n }\n s = s.substring(1);\n if (s[0] === \":\") {\n if (ellipsis >= 0) {\n return undefined;\n }\n ellipsis = i;\n s = s.substring(1);\n if (s.length === 0) {\n break;\n }\n }\n }\n if (s.length !== 0) {\n return undefined;\n }\n if (i < 16) {\n if (ellipsis < 0) {\n return undefined;\n }\n const n = 16 - i;\n for(let j = i - 1; j >= ellipsis; j--){\n ip[j + n] = ip[j];\n }\n for(let j = ellipsis + n - 1; j >= ellipsis; j--){\n ip[j] = 0;\n }\n } else if (ellipsis >= 0) {\n return undefined;\n }\n return ip;\n}\nfunction dtoi(s) {\n let i = 0;\n let n = 0;\n for(i = 0; i < s.length && 48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57; i++){\n n = n * 10 + (s.charCodeAt(i) - ASCII0);\n if (n >= 0xFFFFFF) {\n return {\n n: 0xFFFFFF,\n c: i,\n ok: false\n };\n }\n }\n if (i === 0) {\n return {\n n: 0,\n c: 0,\n ok: false\n };\n }\n return {\n n: n,\n c: i,\n ok: true\n };\n}\nfunction xtoi(s) {\n let n = 0;\n let i = 0;\n for(i = 0; i < s.length; i++){\n if (48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57) {\n n *= 16;\n n += s.charCodeAt(i) - ASCII0;\n } else if (97 <= s.charCodeAt(i) && s.charCodeAt(i) <= 102) {\n n *= 16;\n n += s.charCodeAt(i) - ASCIIa + 10;\n } else if (65 <= s.charCodeAt(i) && s.charCodeAt(i) <= 70) {\n n *= 16;\n n += s.charCodeAt(i) - ASCIIA + 10;\n } else {\n break;\n }\n if (n >= 0xFFFFFF) {\n return {\n n: 0,\n c: i,\n ok: false\n };\n }\n }\n if (i === 0) {\n return {\n n: 0,\n c: i,\n ok: false\n };\n }\n return {\n n: n,\n c: i,\n ok: true\n };\n}\nfunction isIPV4OrHostname(hp) {\n if (hp.indexOf(\"[\") !== -1 || hp.indexOf(\"::\") !== -1) {\n return false;\n }\n if (hp.indexOf(\".\") !== -1) {\n return true;\n }\n if (hp.split(\":\").length <= 2) {\n return true;\n }\n return false;\n}\nfunction isIPV6(hp) {\n return !isIPV4OrHostname(hp);\n}\nfunction filterIpv6MappedToIpv4(hp) {\n const prefix = \"::FFFF:\";\n const idx = hp.toUpperCase().indexOf(prefix);\n if (idx !== -1 && hp.indexOf(\".\") !== -1) {\n let ip = hp.substring(idx + prefix.length);\n ip = ip.replace(\"[\", \"\");\n return ip.replace(\"]\", \"\");\n }\n return hp;\n}\nfunction hostPort(u) {\n u = u.trim();\n if (u.match(/^(.*:\\/\\/)(.*)/m)) {\n u = u.replace(/^(.*:\\/\\/)(.*)/gm, \"$2\");\n }\n u = filterIpv6MappedToIpv4(u);\n if (isIPV6(u) && u.indexOf(\"[\") === -1) {\n u = `[${u}]`;\n }\n const op = isIPV6(u) ? u.match(/(]:)(\\d+)/) : u.match(/(:)(\\d+)/);\n const port = op && op.length === 3 && op[1] && op[2] ? parseInt(op[2]) : 4222;\n const protocol = port === 80 ? \"https\" : \"http\";\n const url = new URL(`${protocol}://${u}`);\n url.port = `${port}`;\n let hostname = url.hostname;\n if (hostname.charAt(0) === \"[\") {\n hostname = hostname.substring(1, hostname.length - 1);\n }\n const listen = url.host;\n return {\n listen,\n hostname,\n port\n };\n}\nclass ServerImpl {\n src;\n listen;\n hostname;\n port;\n didConnect;\n reconnects;\n lastConnect;\n gossiped;\n tlsName;\n resolves;\n constructor(u, gossiped = false){\n this.src = u;\n this.tlsName = \"\";\n const v = hostPort(u);\n this.listen = v.listen;\n this.hostname = v.hostname;\n this.port = v.port;\n this.didConnect = false;\n this.reconnects = 0;\n this.lastConnect = 0;\n this.gossiped = gossiped;\n }\n toString() {\n return this.listen;\n }\n async resolve(opts) {\n if (!opts.fn || opts.resolve === false) {\n return [\n this\n ];\n }\n const buf = [];\n if (isIP(this.hostname)) {\n return [\n this\n ];\n } else {\n const ips = await opts.fn(this.hostname);\n if (opts.debug) {\n console.log(`resolve ${this.hostname} = ${ips.join(\",\")}`);\n }\n for (const ip of ips){\n const proto = this.port === 80 ? \"https\" : \"http\";\n const url = new URL(`${proto}://${isIPV6(ip) ? \"[\" + ip + \"]\" : ip}`);\n url.port = `${this.port}`;\n const ss = new ServerImpl(url.host, false);\n ss.tlsName = this.hostname;\n buf.push(ss);\n }\n }\n if (opts.randomize) {\n shuffle(buf);\n }\n this.resolves = buf;\n return buf;\n }\n}\nclass Servers {\n firstSelect;\n servers;\n currentServer;\n tlsName;\n randomize;\n constructor(listens = [], opts = {}){\n this.firstSelect = true;\n this.servers = [];\n this.tlsName = \"\";\n this.randomize = opts.randomize || false;\n const urlParseFn = getUrlParseFn();\n if (listens) {\n listens.forEach((hp)=>{\n hp = urlParseFn ? urlParseFn(hp) : hp;\n this.servers.push(new ServerImpl(hp));\n });\n if (this.randomize) {\n this.servers = shuffle(this.servers);\n }\n }\n if (this.servers.length === 0) {\n this.addServer(`${DEFAULT_HOST}:${defaultPort()}`, false);\n }\n this.currentServer = this.servers[0];\n }\n clear() {\n this.servers.length = 0;\n }\n updateTLSName() {\n const cs = this.getCurrentServer();\n if (!isIP(cs.hostname)) {\n this.tlsName = cs.hostname;\n this.servers.forEach((s)=>{\n if (s.gossiped) {\n s.tlsName = this.tlsName;\n }\n });\n }\n }\n getCurrentServer() {\n return this.currentServer;\n }\n addServer(u, implicit = false) {\n const urlParseFn = getUrlParseFn();\n u = urlParseFn ? urlParseFn(u) : u;\n const s = new ServerImpl(u, implicit);\n if (isIP(s.hostname)) {\n s.tlsName = this.tlsName;\n }\n this.servers.push(s);\n }\n selectServer() {\n if (this.firstSelect) {\n this.firstSelect = false;\n return this.currentServer;\n }\n const t = this.servers.shift();\n if (t) {\n this.servers.push(t);\n this.currentServer = t;\n }\n return t;\n }\n removeCurrentServer() {\n this.removeServer(this.currentServer);\n }\n removeServer(server) {\n if (server) {\n const index = this.servers.indexOf(server);\n this.servers.splice(index, 1);\n }\n }\n length() {\n return this.servers.length;\n }\n next() {\n return this.servers.length ? this.servers[0] : undefined;\n }\n getServers() {\n return this.servers;\n }\n update(info, encrypted) {\n const added = [];\n let deleted = [];\n const urlParseFn = getUrlParseFn();\n const discovered = new Map();\n if (info.connect_urls && info.connect_urls.length > 0) {\n info.connect_urls.forEach((hp)=>{\n hp = urlParseFn ? urlParseFn(hp, encrypted) : hp;\n const s = new ServerImpl(hp, true);\n discovered.set(hp, s);\n });\n }\n const toDelete = [];\n this.servers.forEach((s, index)=>{\n const u = s.listen;\n if (s.gossiped && this.currentServer.listen !== u && discovered.get(u) === undefined) {\n toDelete.push(index);\n }\n discovered.delete(u);\n });\n toDelete.reverse();\n toDelete.forEach((index)=>{\n const removed = this.servers.splice(index, 1);\n deleted = deleted.concat(removed[0].listen);\n });\n discovered.forEach((v, k)=>{\n this.servers.push(v);\n added.push(k);\n });\n return {\n added,\n deleted\n };\n }\n}\nclass MuxSubscription {\n baseInbox;\n reqs;\n constructor(){\n this.reqs = new Map();\n }\n size() {\n return this.reqs.size;\n }\n init(prefix) {\n this.baseInbox = `${createInbox(prefix)}.`;\n return this.baseInbox;\n }\n add(r) {\n if (!isNaN(r.received)) {\n r.received = 0;\n }\n this.reqs.set(r.token, r);\n }\n get(token) {\n return this.reqs.get(token);\n }\n cancel(r) {\n this.reqs.delete(r.token);\n }\n getToken(m) {\n const s = m.subject || \"\";\n if (s.indexOf(this.baseInbox) === 0) {\n return s.substring(this.baseInbox.length);\n }\n return null;\n }\n all() {\n return Array.from(this.reqs.values());\n }\n handleError(isMuxPermissionError, err) {\n if (err && err.permissionContext) {\n if (isMuxPermissionError) {\n this.all().forEach((r)=>{\n r.resolver(err, {});\n });\n return true;\n }\n const ctx = err.permissionContext;\n if (ctx.operation === \"publish\") {\n const req = this.all().find((s)=>{\n return s.requestSubject === ctx.subject;\n });\n if (req) {\n req.resolver(err, {});\n return true;\n }\n }\n }\n return false;\n }\n dispatcher() {\n return (err, m)=>{\n const token = this.getToken(m);\n if (token) {\n const r = this.get(token);\n if (r) {\n if (err === null && m.headers) {\n err = isRequestError(m);\n }\n r.resolver(err, m);\n }\n }\n };\n }\n close() {\n const err = NatsError.errorForCode(ErrorCode.Timeout);\n this.reqs.forEach((req)=>{\n req.resolver(err, {});\n });\n }\n}\nclass Heartbeat {\n ph;\n interval;\n maxOut;\n timer;\n pendings;\n constructor(ph, interval, maxOut){\n this.ph = ph;\n this.interval = interval;\n this.maxOut = maxOut;\n this.pendings = [];\n }\n start() {\n this.cancel();\n this._schedule();\n }\n cancel(stale) {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = undefined;\n }\n this._reset();\n if (stale) {\n this.ph.disconnect();\n }\n }\n _schedule() {\n this.timer = setTimeout(()=>{\n this.ph.dispatchStatus({\n type: DebugEvents.PingTimer,\n data: `${this.pendings.length + 1}`\n });\n if (this.pendings.length === this.maxOut) {\n this.cancel(true);\n return;\n }\n const ping = deferred();\n this.ph.flush(ping).then(()=>{\n this._reset();\n }).catch(()=>{\n this.cancel();\n });\n this.pendings.push(ping);\n this._schedule();\n }, this.interval);\n }\n _reset() {\n this.pendings = this.pendings.filter((p)=>{\n const d = p;\n d.resolve();\n return false;\n });\n }\n}\nclass AssertionError extends Error {\n constructor(msg){\n super(msg);\n this.name = \"AssertionError\";\n }\n}\nfunction assert(cond, msg = \"Assertion failed.\") {\n if (!cond) {\n throw new AssertionError(msg);\n }\n}\nconst MIN_READ = 32 * 1024;\nconst MAX_SIZE = 2 ** 32 - 2;\nfunction copy(src, dst, off = 0) {\n const r = dst.byteLength - off;\n if (src.byteLength > r) {\n src = src.subarray(0, r);\n }\n dst.set(src, off);\n return src.byteLength;\n}\nclass DenoBuffer {\n _buf;\n _off;\n constructor(ab){\n this._off = 0;\n if (ab == null) {\n this._buf = new Uint8Array(0);\n return;\n }\n this._buf = new Uint8Array(ab);\n }\n bytes(options = {\n copy: true\n }) {\n if (options.copy === false) return this._buf.subarray(this._off);\n return this._buf.slice(this._off);\n }\n empty() {\n return this._buf.byteLength <= this._off;\n }\n get length() {\n return this._buf.byteLength - this._off;\n }\n get capacity() {\n return this._buf.buffer.byteLength;\n }\n truncate(n) {\n if (n === 0) {\n this.reset();\n return;\n }\n if (n < 0 || n > this.length) {\n throw Error(\"bytes.Buffer: truncation out of range\");\n }\n this._reslice(this._off + n);\n }\n reset() {\n this._reslice(0);\n this._off = 0;\n }\n _tryGrowByReslice(n) {\n const l = this._buf.byteLength;\n if (n <= this.capacity - l) {\n this._reslice(l + n);\n return l;\n }\n return -1;\n }\n _reslice(len) {\n assert(len <= this._buf.buffer.byteLength);\n this._buf = new Uint8Array(this._buf.buffer, 0, len);\n }\n readByte() {\n const a = new Uint8Array(1);\n if (this.read(a)) {\n return a[0];\n }\n return null;\n }\n read(p) {\n if (this.empty()) {\n this.reset();\n if (p.byteLength === 0) {\n return 0;\n }\n return null;\n }\n const nread = copy(this._buf.subarray(this._off), p);\n this._off += nread;\n return nread;\n }\n writeByte(n) {\n return this.write(Uint8Array.of(n));\n }\n writeString(s) {\n return this.write(TE.encode(s));\n }\n write(p) {\n const m = this._grow(p.byteLength);\n return copy(p, this._buf, m);\n }\n _grow(n) {\n const m = this.length;\n if (m === 0 && this._off !== 0) {\n this.reset();\n }\n const i = this._tryGrowByReslice(n);\n if (i >= 0) {\n return i;\n }\n const c = this.capacity;\n if (n <= Math.floor(c / 2) - m) {\n copy(this._buf.subarray(this._off), this._buf);\n } else if (c + n > MAX_SIZE) {\n throw new Error(\"The buffer cannot be grown beyond the maximum size.\");\n } else {\n const buf = new Uint8Array(Math.min(2 * c + n, MAX_SIZE));\n copy(this._buf.subarray(this._off), buf);\n this._buf = buf;\n }\n this._off = 0;\n this._reslice(Math.min(m + n, MAX_SIZE));\n return m;\n }\n grow(n) {\n if (n < 0) {\n throw Error(\"Buffer._grow: negative count\");\n }\n const m = this._grow(n);\n this._reslice(m);\n }\n readFrom(r) {\n let n = 0;\n const tmp = new Uint8Array(MIN_READ);\n while(true){\n const shouldGrow = this.capacity - this.length < MIN_READ;\n const buf = shouldGrow ? tmp : new Uint8Array(this._buf.buffer, this.length);\n const nread = r.read(buf);\n if (nread === null) {\n return n;\n }\n if (shouldGrow) this.write(buf.subarray(0, nread));\n else this._reslice(this.length + nread);\n n += nread;\n }\n }\n}\nvar Kind;\n(function(Kind) {\n Kind[Kind[\"OK\"] = 0] = \"OK\";\n Kind[Kind[\"ERR\"] = 1] = \"ERR\";\n Kind[Kind[\"MSG\"] = 2] = \"MSG\";\n Kind[Kind[\"INFO\"] = 3] = \"INFO\";\n Kind[Kind[\"PING\"] = 4] = \"PING\";\n Kind[Kind[\"PONG\"] = 5] = \"PONG\";\n})(Kind || (Kind = {}));\nfunction newMsgArg() {\n const ma = {};\n ma.sid = -1;\n ma.hdr = -1;\n ma.size = -1;\n return ma;\n}\nconst ASCII_0 = 48;\nclass Parser {\n dispatcher;\n state;\n as;\n drop;\n hdr;\n ma;\n argBuf;\n msgBuf;\n constructor(dispatcher){\n this.dispatcher = dispatcher;\n this.state = State.OP_START;\n this.as = 0;\n this.drop = 0;\n this.hdr = 0;\n }\n parse(buf) {\n let i;\n for(i = 0; i < buf.length; i++){\n const b = buf[i];\n switch(this.state){\n case State.OP_START:\n switch(b){\n case cc.M:\n case cc.m:\n this.state = State.OP_M;\n this.hdr = -1;\n this.ma = newMsgArg();\n break;\n case cc.H:\n case cc.h:\n this.state = State.OP_H;\n this.hdr = 0;\n this.ma = newMsgArg();\n break;\n case cc.P:\n case cc.p:\n this.state = State.OP_P;\n break;\n case cc.PLUS:\n this.state = State.OP_PLUS;\n break;\n case cc.MINUS:\n this.state = State.OP_MINUS;\n break;\n case cc.I:\n case cc.i:\n this.state = State.OP_I;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_H:\n switch(b){\n case cc.M:\n case cc.m:\n this.state = State.OP_M;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_M:\n switch(b){\n case cc.S:\n case cc.s:\n this.state = State.OP_MS;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MS:\n switch(b){\n case cc.G:\n case cc.g:\n this.state = State.OP_MSG;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MSG:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n this.state = State.OP_MSG_SPC;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MSG_SPC:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n continue;\n default:\n this.state = State.MSG_ARG;\n this.as = i;\n }\n break;\n case State.MSG_ARG:\n switch(b){\n case cc.CR:\n this.drop = 1;\n break;\n case cc.NL:\n {\n const arg = this.argBuf ? this.argBuf.bytes() : buf.subarray(this.as, i - this.drop);\n this.processMsgArgs(arg);\n this.drop = 0;\n this.as = i + 1;\n this.state = State.MSG_PAYLOAD;\n i = this.as + this.ma.size - 1;\n break;\n }\n default:\n if (this.argBuf) {\n this.argBuf.writeByte(b);\n }\n }\n break;\n case State.MSG_PAYLOAD:\n if (this.msgBuf) {\n if (this.msgBuf.length >= this.ma.size) {\n const data = this.msgBuf.bytes({\n copy: false\n });\n this.dispatcher.push({\n kind: Kind.MSG,\n msg: this.ma,\n data: data\n });\n this.argBuf = undefined;\n this.msgBuf = undefined;\n this.state = State.MSG_END;\n } else {\n let toCopy = this.ma.size - this.msgBuf.length;\n const avail = buf.length - i;\n if (avail < toCopy) {\n toCopy = avail;\n }\n if (toCopy > 0) {\n this.msgBuf.write(buf.subarray(i, i + toCopy));\n i = i + toCopy - 1;\n } else {\n this.msgBuf.writeByte(b);\n }\n }\n } else if (i - this.as >= this.ma.size) {\n this.dispatcher.push({\n kind: Kind.MSG,\n msg: this.ma,\n data: buf.subarray(this.as, i)\n });\n this.argBuf = undefined;\n this.msgBuf = undefined;\n this.state = State.MSG_END;\n }\n break;\n case State.MSG_END:\n switch(b){\n case cc.NL:\n this.drop = 0;\n this.as = i + 1;\n this.state = State.OP_START;\n break;\n default:\n continue;\n }\n break;\n case State.OP_PLUS:\n switch(b){\n case cc.O:\n case cc.o:\n this.state = State.OP_PLUS_O;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PLUS_O:\n switch(b){\n case cc.K:\n case cc.k:\n this.state = State.OP_PLUS_OK;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PLUS_OK:\n switch(b){\n case cc.NL:\n this.dispatcher.push({\n kind: Kind.OK\n });\n this.drop = 0;\n this.state = State.OP_START;\n break;\n }\n break;\n case State.OP_MINUS:\n switch(b){\n case cc.E:\n case cc.e:\n this.state = State.OP_MINUS_E;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MINUS_E:\n switch(b){\n case cc.R:\n case cc.r:\n this.state = State.OP_MINUS_ER;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MINUS_ER:\n switch(b){\n case cc.R:\n case cc.r:\n this.state = State.OP_MINUS_ERR;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MINUS_ERR:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n this.state = State.OP_MINUS_ERR_SPC;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MINUS_ERR_SPC:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n continue;\n default:\n this.state = State.MINUS_ERR_ARG;\n this.as = i;\n }\n break;\n case State.MINUS_ERR_ARG:\n switch(b){\n case cc.CR:\n this.drop = 1;\n break;\n case cc.NL:\n {\n let arg;\n if (this.argBuf) {\n arg = this.argBuf.bytes();\n this.argBuf = undefined;\n } else {\n arg = buf.subarray(this.as, i - this.drop);\n }\n this.dispatcher.push({\n kind: Kind.ERR,\n data: arg\n });\n this.drop = 0;\n this.as = i + 1;\n this.state = State.OP_START;\n break;\n }\n default:\n if (this.argBuf) {\n this.argBuf.write(Uint8Array.of(b));\n }\n }\n break;\n case State.OP_P:\n switch(b){\n case cc.I:\n case cc.i:\n this.state = State.OP_PI;\n break;\n case cc.O:\n case cc.o:\n this.state = State.OP_PO;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PO:\n switch(b){\n case cc.N:\n case cc.n:\n this.state = State.OP_PON;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PON:\n switch(b){\n case cc.G:\n case cc.g:\n this.state = State.OP_PONG;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PONG:\n switch(b){\n case cc.NL:\n this.dispatcher.push({\n kind: Kind.PONG\n });\n this.drop = 0;\n this.state = State.OP_START;\n break;\n }\n break;\n case State.OP_PI:\n switch(b){\n case cc.N:\n case cc.n:\n this.state = State.OP_PIN;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PIN:\n switch(b){\n case cc.G:\n case cc.g:\n this.state = State.OP_PING;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PING:\n switch(b){\n case cc.NL:\n this.dispatcher.push({\n kind: Kind.PING\n });\n this.drop = 0;\n this.state = State.OP_START;\n break;\n }\n break;\n case State.OP_I:\n switch(b){\n case cc.N:\n case cc.n:\n this.state = State.OP_IN;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_IN:\n switch(b){\n case cc.F:\n case cc.f:\n this.state = State.OP_INF;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_INF:\n switch(b){\n case cc.O:\n case cc.o:\n this.state = State.OP_INFO;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_INFO:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n this.state = State.OP_INFO_SPC;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_INFO_SPC:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n continue;\n default:\n this.state = State.INFO_ARG;\n this.as = i;\n }\n break;\n case State.INFO_ARG:\n switch(b){\n case cc.CR:\n this.drop = 1;\n break;\n case cc.NL:\n {\n let arg;\n if (this.argBuf) {\n arg = this.argBuf.bytes();\n this.argBuf = undefined;\n } else {\n arg = buf.subarray(this.as, i - this.drop);\n }\n this.dispatcher.push({\n kind: Kind.INFO,\n data: arg\n });\n this.drop = 0;\n this.as = i + 1;\n this.state = State.OP_START;\n break;\n }\n default:\n if (this.argBuf) {\n this.argBuf.writeByte(b);\n }\n }\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n }\n if ((this.state === State.MSG_ARG || this.state === State.MINUS_ERR_ARG || this.state === State.INFO_ARG) && !this.argBuf) {\n this.argBuf = new DenoBuffer(buf.subarray(this.as, i - this.drop));\n }\n if (this.state === State.MSG_PAYLOAD && !this.msgBuf) {\n if (!this.argBuf) {\n this.cloneMsgArg();\n }\n this.msgBuf = new DenoBuffer(buf.subarray(this.as));\n }\n }\n cloneMsgArg() {\n const s = this.ma.subject.length;\n const r = this.ma.reply ? this.ma.reply.length : 0;\n const buf = new Uint8Array(s + r);\n buf.set(this.ma.subject);\n if (this.ma.reply) {\n buf.set(this.ma.reply, s);\n }\n this.argBuf = new DenoBuffer(buf);\n this.ma.subject = buf.subarray(0, s);\n if (this.ma.reply) {\n this.ma.reply = buf.subarray(s);\n }\n }\n processMsgArgs(arg) {\n if (this.hdr >= 0) {\n return this.processHeaderMsgArgs(arg);\n }\n const args = [];\n let start = -1;\n for(let i = 0; i < arg.length; i++){\n const b = arg[i];\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n case cc.CR:\n case cc.NL:\n if (start >= 0) {\n args.push(arg.subarray(start, i));\n start = -1;\n }\n break;\n default:\n if (start < 0) {\n start = i;\n }\n }\n }\n if (start >= 0) {\n args.push(arg.subarray(start));\n }\n switch(args.length){\n case 3:\n this.ma.subject = args[0];\n this.ma.sid = this.protoParseInt(args[1]);\n this.ma.reply = undefined;\n this.ma.size = this.protoParseInt(args[2]);\n break;\n case 4:\n this.ma.subject = args[0];\n this.ma.sid = this.protoParseInt(args[1]);\n this.ma.reply = args[2];\n this.ma.size = this.protoParseInt(args[3]);\n break;\n default:\n throw this.fail(arg, \"processMsgArgs Parse Error\");\n }\n if (this.ma.sid < 0) {\n throw this.fail(arg, \"processMsgArgs Bad or Missing Sid Error\");\n }\n if (this.ma.size < 0) {\n throw this.fail(arg, \"processMsgArgs Bad or Missing Size Error\");\n }\n }\n fail(data, label = \"\") {\n if (!label) {\n label = `parse error [${this.state}]`;\n } else {\n label = `${label} [${this.state}]`;\n }\n return new Error(`${label}: ${TD.decode(data)}`);\n }\n processHeaderMsgArgs(arg) {\n const args = [];\n let start = -1;\n for(let i = 0; i < arg.length; i++){\n const b = arg[i];\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n case cc.CR:\n case cc.NL:\n if (start >= 0) {\n args.push(arg.subarray(start, i));\n start = -1;\n }\n break;\n default:\n if (start < 0) {\n start = i;\n }\n }\n }\n if (start >= 0) {\n args.push(arg.subarray(start));\n }\n switch(args.length){\n case 4:\n this.ma.subject = args[0];\n this.ma.sid = this.protoParseInt(args[1]);\n this.ma.reply = undefined;\n this.ma.hdr = this.protoParseInt(args[2]);\n this.ma.size = this.protoParseInt(args[3]);\n break;\n case 5:\n this.ma.subject = args[0];\n this.ma.sid = this.protoParseInt(args[1]);\n this.ma.reply = args[2];\n this.ma.hdr = this.protoParseInt(args[3]);\n this.ma.size = this.protoParseInt(args[4]);\n break;\n default:\n throw this.fail(arg, \"processHeaderMsgArgs Parse Error\");\n }\n if (this.ma.sid < 0) {\n throw this.fail(arg, \"processHeaderMsgArgs Bad or Missing Sid Error\");\n }\n if (this.ma.hdr < 0 || this.ma.hdr > this.ma.size) {\n throw this.fail(arg, \"processHeaderMsgArgs Bad or Missing Header Size Error\");\n }\n if (this.ma.size < 0) {\n throw this.fail(arg, \"processHeaderMsgArgs Bad or Missing Size Error\");\n }\n }\n protoParseInt(a) {\n if (a.length === 0) {\n return -1;\n }\n let n = 0;\n for(let i = 0; i < a.length; i++){\n if (a[i] < 48 || a[i] > 57) {\n return -1;\n }\n n = n * 10 + (a[i] - ASCII_0);\n }\n return n;\n }\n}\nvar State;\n(function(State) {\n State[State[\"OP_START\"] = 0] = \"OP_START\";\n State[State[\"OP_PLUS\"] = 1] = \"OP_PLUS\";\n State[State[\"OP_PLUS_O\"] = 2] = \"OP_PLUS_O\";\n State[State[\"OP_PLUS_OK\"] = 3] = \"OP_PLUS_OK\";\n State[State[\"OP_MINUS\"] = 4] = \"OP_MINUS\";\n State[State[\"OP_MINUS_E\"] = 5] = \"OP_MINUS_E\";\n State[State[\"OP_MINUS_ER\"] = 6] = \"OP_MINUS_ER\";\n State[State[\"OP_MINUS_ERR\"] = 7] = \"OP_MINUS_ERR\";\n State[State[\"OP_MINUS_ERR_SPC\"] = 8] = \"OP_MINUS_ERR_SPC\";\n State[State[\"MINUS_ERR_ARG\"] = 9] = \"MINUS_ERR_ARG\";\n State[State[\"OP_M\"] = 10] = \"OP_M\";\n State[State[\"OP_MS\"] = 11] = \"OP_MS\";\n State[State[\"OP_MSG\"] = 12] = \"OP_MSG\";\n State[State[\"OP_MSG_SPC\"] = 13] = \"OP_MSG_SPC\";\n State[State[\"MSG_ARG\"] = 14] = \"MSG_ARG\";\n State[State[\"MSG_PAYLOAD\"] = 15] = \"MSG_PAYLOAD\";\n State[State[\"MSG_END\"] = 16] = \"MSG_END\";\n State[State[\"OP_H\"] = 17] = \"OP_H\";\n State[State[\"OP_P\"] = 18] = \"OP_P\";\n State[State[\"OP_PI\"] = 19] = \"OP_PI\";\n State[State[\"OP_PIN\"] = 20] = \"OP_PIN\";\n State[State[\"OP_PING\"] = 21] = \"OP_PING\";\n State[State[\"OP_PO\"] = 22] = \"OP_PO\";\n State[State[\"OP_PON\"] = 23] = \"OP_PON\";\n State[State[\"OP_PONG\"] = 24] = \"OP_PONG\";\n State[State[\"OP_I\"] = 25] = \"OP_I\";\n State[State[\"OP_IN\"] = 26] = \"OP_IN\";\n State[State[\"OP_INF\"] = 27] = \"OP_INF\";\n State[State[\"OP_INFO\"] = 28] = \"OP_INFO\";\n State[State[\"OP_INFO_SPC\"] = 29] = \"OP_INFO_SPC\";\n State[State[\"INFO_ARG\"] = 30] = \"INFO_ARG\";\n})(State || (State = {}));\nvar cc;\n(function(cc) {\n cc[cc[\"CR\"] = \"\\r\".charCodeAt(0)] = \"CR\";\n cc[cc[\"E\"] = \"E\".charCodeAt(0)] = \"E\";\n cc[cc[\"e\"] = \"e\".charCodeAt(0)] = \"e\";\n cc[cc[\"F\"] = \"F\".charCodeAt(0)] = \"F\";\n cc[cc[\"f\"] = \"f\".charCodeAt(0)] = \"f\";\n cc[cc[\"G\"] = \"G\".charCodeAt(0)] = \"G\";\n cc[cc[\"g\"] = \"g\".charCodeAt(0)] = \"g\";\n cc[cc[\"H\"] = \"H\".charCodeAt(0)] = \"H\";\n cc[cc[\"h\"] = \"h\".charCodeAt(0)] = \"h\";\n cc[cc[\"I\"] = \"I\".charCodeAt(0)] = \"I\";\n cc[cc[\"i\"] = \"i\".charCodeAt(0)] = \"i\";\n cc[cc[\"K\"] = \"K\".charCodeAt(0)] = \"K\";\n cc[cc[\"k\"] = \"k\".charCodeAt(0)] = \"k\";\n cc[cc[\"M\"] = \"M\".charCodeAt(0)] = \"M\";\n cc[cc[\"m\"] = \"m\".charCodeAt(0)] = \"m\";\n cc[cc[\"MINUS\"] = \"-\".charCodeAt(0)] = \"MINUS\";\n cc[cc[\"N\"] = \"N\".charCodeAt(0)] = \"N\";\n cc[cc[\"n\"] = \"n\".charCodeAt(0)] = \"n\";\n cc[cc[\"NL\"] = \"\\n\".charCodeAt(0)] = \"NL\";\n cc[cc[\"O\"] = \"O\".charCodeAt(0)] = \"O\";\n cc[cc[\"o\"] = \"o\".charCodeAt(0)] = \"o\";\n cc[cc[\"P\"] = \"P\".charCodeAt(0)] = \"P\";\n cc[cc[\"p\"] = \"p\".charCodeAt(0)] = \"p\";\n cc[cc[\"PLUS\"] = \"+\".charCodeAt(0)] = \"PLUS\";\n cc[cc[\"R\"] = \"R\".charCodeAt(0)] = \"R\";\n cc[cc[\"r\"] = \"r\".charCodeAt(0)] = \"r\";\n cc[cc[\"S\"] = \"S\".charCodeAt(0)] = \"S\";\n cc[cc[\"s\"] = \"s\".charCodeAt(0)] = \"s\";\n cc[cc[\"SPACE\"] = \" \".charCodeAt(0)] = \"SPACE\";\n cc[cc[\"TAB\"] = \"\\t\".charCodeAt(0)] = \"TAB\";\n})(cc || (cc = {}));\n(function(nacl) {\n 'use strict';\n var u64 = function(h, l) {\n this.hi = h | 0 >>> 0;\n this.lo = l | 0 >>> 0;\n };\n var gf = function(init) {\n var i, r = new Float64Array(16);\n if (init) for(i = 0; i < init.length; i++)r[i] = init[i];\n return r;\n };\n var randombytes = function() {\n throw new Error('no PRNG');\n };\n var _0 = new Uint8Array(16);\n var _9 = new Uint8Array(32);\n _9[0] = 9;\n var gf0 = gf(), gf1 = gf([\n 1\n ]), _121665 = gf([\n 0xdb41,\n 1\n ]), D = gf([\n 0x78a3,\n 0x1359,\n 0x4dca,\n 0x75eb,\n 0xd8ab,\n 0x4141,\n 0x0a4d,\n 0x0070,\n 0xe898,\n 0x7779,\n 0x4079,\n 0x8cc7,\n 0xfe73,\n 0x2b6f,\n 0x6cee,\n 0x5203\n ]), D2 = gf([\n 0xf159,\n 0x26b2,\n 0x9b94,\n 0xebd6,\n 0xb156,\n 0x8283,\n 0x149a,\n 0x00e0,\n 0xd130,\n 0xeef3,\n 0x80f2,\n 0x198e,\n 0xfce7,\n 0x56df,\n 0xd9dc,\n 0x2406\n ]), X = gf([\n 0xd51a,\n 0x8f25,\n 0x2d60,\n 0xc956,\n 0xa7b2,\n 0x9525,\n 0xc760,\n 0x692c,\n 0xdc5c,\n 0xfdd6,\n 0xe231,\n 0xc0a4,\n 0x53fe,\n 0xcd6e,\n 0x36d3,\n 0x2169\n ]), Y = gf([\n 0x6658,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666\n ]), I = gf([\n 0xa0b0,\n 0x4a0e,\n 0x1b27,\n 0xc4ee,\n 0xe478,\n 0xad2f,\n 0x1806,\n 0x2f43,\n 0xd7a7,\n 0x3dfb,\n 0x0099,\n 0x2b4d,\n 0xdf0b,\n 0x4fc1,\n 0x2480,\n 0x2b83\n ]);\n function L32(x, c) {\n return x << c | x >>> 32 - c;\n }\n function ld32(x, i) {\n var u = x[i + 3] & 0xff;\n u = u << 8 | x[i + 2] & 0xff;\n u = u << 8 | x[i + 1] & 0xff;\n return u << 8 | x[i + 0] & 0xff;\n }\n function dl64(x, i) {\n var h = x[i] << 24 | x[i + 1] << 16 | x[i + 2] << 8 | x[i + 3];\n var l = x[i + 4] << 24 | x[i + 5] << 16 | x[i + 6] << 8 | x[i + 7];\n return new u64(h, l);\n }\n function st32(x, j, u) {\n var i;\n for(i = 0; i < 4; i++){\n x[j + i] = u & 255;\n u >>>= 8;\n }\n }\n function ts64(x, i, u) {\n x[i] = u.hi >> 24 & 0xff;\n x[i + 1] = u.hi >> 16 & 0xff;\n x[i + 2] = u.hi >> 8 & 0xff;\n x[i + 3] = u.hi & 0xff;\n x[i + 4] = u.lo >> 24 & 0xff;\n x[i + 5] = u.lo >> 16 & 0xff;\n x[i + 6] = u.lo >> 8 & 0xff;\n x[i + 7] = u.lo & 0xff;\n }\n function vn(x, xi, y, yi, n) {\n var i, d = 0;\n for(i = 0; i < n; i++)d |= x[xi + i] ^ y[yi + i];\n return (1 & d - 1 >>> 8) - 1;\n }\n function crypto_verify_16(x, xi, y, yi) {\n return vn(x, xi, y, yi, 16);\n }\n function crypto_verify_32(x, xi, y, yi) {\n return vn(x, xi, y, yi, 32);\n }\n function core(out, inp, k, c, h) {\n var w = new Uint32Array(16), x = new Uint32Array(16), y = new Uint32Array(16), t = new Uint32Array(4);\n var i, j, m;\n for(i = 0; i < 4; i++){\n x[5 * i] = ld32(c, 4 * i);\n x[1 + i] = ld32(k, 4 * i);\n x[6 + i] = ld32(inp, 4 * i);\n x[11 + i] = ld32(k, 16 + 4 * i);\n }\n for(i = 0; i < 16; i++)y[i] = x[i];\n for(i = 0; i < 20; i++){\n for(j = 0; j < 4; j++){\n for(m = 0; m < 4; m++)t[m] = x[(5 * j + 4 * m) % 16];\n t[1] ^= L32(t[0] + t[3] | 0, 7);\n t[2] ^= L32(t[1] + t[0] | 0, 9);\n t[3] ^= L32(t[2] + t[1] | 0, 13);\n t[0] ^= L32(t[3] + t[2] | 0, 18);\n for(m = 0; m < 4; m++)w[4 * j + (j + m) % 4] = t[m];\n }\n for(m = 0; m < 16; m++)x[m] = w[m];\n }\n if (h) {\n for(i = 0; i < 16; i++)x[i] = x[i] + y[i] | 0;\n for(i = 0; i < 4; i++){\n x[5 * i] = x[5 * i] - ld32(c, 4 * i) | 0;\n x[6 + i] = x[6 + i] - ld32(inp, 4 * i) | 0;\n }\n for(i = 0; i < 4; i++){\n st32(out, 4 * i, x[5 * i]);\n st32(out, 16 + 4 * i, x[6 + i]);\n }\n } else {\n for(i = 0; i < 16; i++)st32(out, 4 * i, x[i] + y[i] | 0);\n }\n }\n function crypto_core_salsa20(out, inp, k, c) {\n core(out, inp, k, c, false);\n return 0;\n }\n function crypto_core_hsalsa20(out, inp, k, c) {\n core(out, inp, k, c, true);\n return 0;\n }\n var sigma = new Uint8Array([\n 101,\n 120,\n 112,\n 97,\n 110,\n 100,\n 32,\n 51,\n 50,\n 45,\n 98,\n 121,\n 116,\n 101,\n 32,\n 107\n ]);\n function crypto_stream_salsa20_xor(c, cpos, m, mpos, b, n, k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u, i;\n if (!b) return 0;\n for(i = 0; i < 16; i++)z[i] = 0;\n for(i = 0; i < 8; i++)z[i] = n[i];\n while(b >= 64){\n crypto_core_salsa20(x, z, k, sigma);\n for(i = 0; i < 64; i++)c[cpos + i] = (m ? m[mpos + i] : 0) ^ x[i];\n u = 1;\n for(i = 8; i < 16; i++){\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n b -= 64;\n cpos += 64;\n if (m) mpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x, z, k, sigma);\n for(i = 0; i < b; i++)c[cpos + i] = (m ? m[mpos + i] : 0) ^ x[i];\n }\n return 0;\n }\n function crypto_stream_salsa20(c, cpos, d, n, k) {\n return crypto_stream_salsa20_xor(c, cpos, null, 0, d, n, k);\n }\n function crypto_stream(c, cpos, d, n, k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s, n, k, sigma);\n return crypto_stream_salsa20(c, cpos, d, n.subarray(16), s);\n }\n function crypto_stream_xor(c, cpos, m, mpos, d, n, k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s, n, k, sigma);\n return crypto_stream_salsa20_xor(c, cpos, m, mpos, d, n.subarray(16), s);\n }\n function add1305(h, c) {\n var j, u = 0;\n for(j = 0; j < 17; j++){\n u = u + (h[j] + c[j] | 0) | 0;\n h[j] = u & 255;\n u >>>= 8;\n }\n }\n var minusp = new Uint32Array([\n 5,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 252\n ]);\n function crypto_onetimeauth(out, outpos, m, mpos, n, k) {\n var s, i, j, u;\n var x = new Uint32Array(17), r = new Uint32Array(17), h = new Uint32Array(17), c = new Uint32Array(17), g = new Uint32Array(17);\n for(j = 0; j < 17; j++)r[j] = h[j] = 0;\n for(j = 0; j < 16; j++)r[j] = k[j];\n r[3] &= 15;\n r[4] &= 252;\n r[7] &= 15;\n r[8] &= 252;\n r[11] &= 15;\n r[12] &= 252;\n r[15] &= 15;\n while(n > 0){\n for(j = 0; j < 17; j++)c[j] = 0;\n for(j = 0; j < 16 && j < n; ++j)c[j] = m[mpos + j];\n c[j] = 1;\n mpos += j;\n n -= j;\n add1305(h, c);\n for(i = 0; i < 17; i++){\n x[i] = 0;\n for(j = 0; j < 17; j++)x[i] = x[i] + h[j] * (j <= i ? r[i - j] : 320 * r[i + 17 - j] | 0) | 0 | 0;\n }\n for(i = 0; i < 17; i++)h[i] = x[i];\n u = 0;\n for(j = 0; j < 16; j++){\n u = u + h[j] | 0;\n h[j] = u & 255;\n u >>>= 8;\n }\n u = u + h[16] | 0;\n h[16] = u & 3;\n u = 5 * (u >>> 2) | 0;\n for(j = 0; j < 16; j++){\n u = u + h[j] | 0;\n h[j] = u & 255;\n u >>>= 8;\n }\n u = u + h[16] | 0;\n h[16] = u;\n }\n for(j = 0; j < 17; j++)g[j] = h[j];\n add1305(h, minusp);\n s = -(h[16] >>> 7) | 0;\n for(j = 0; j < 17; j++)h[j] ^= s & (g[j] ^ h[j]);\n for(j = 0; j < 16; j++)c[j] = k[j + 16];\n c[16] = 0;\n add1305(h, c);\n for(j = 0; j < 16; j++)out[outpos + j] = h[j];\n return 0;\n }\n function crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) {\n var x = new Uint8Array(16);\n crypto_onetimeauth(x, 0, m, mpos, n, k);\n return crypto_verify_16(h, hpos, x, 0);\n }\n function crypto_secretbox(c, m, d, n, k) {\n var i;\n if (d < 32) return -1;\n crypto_stream_xor(c, 0, m, 0, d, n, k);\n crypto_onetimeauth(c, 16, c, 32, d - 32, c);\n for(i = 0; i < 16; i++)c[i] = 0;\n return 0;\n }\n function crypto_secretbox_open(m, c, d, n, k) {\n var i;\n var x = new Uint8Array(32);\n if (d < 32) return -1;\n crypto_stream(x, 0, 32, n, k);\n if (crypto_onetimeauth_verify(c, 16, c, 32, d - 32, x) !== 0) return -1;\n crypto_stream_xor(m, 0, c, 0, d, n, k);\n for(i = 0; i < 32; i++)m[i] = 0;\n return 0;\n }\n function set25519(r, a) {\n var i;\n for(i = 0; i < 16; i++)r[i] = a[i] | 0;\n }\n function car25519(o) {\n var c;\n var i;\n for(i = 0; i < 16; i++){\n o[i] += 65536;\n c = Math.floor(o[i] / 65536);\n o[(i + 1) * (i < 15 ? 1 : 0)] += c - 1 + 37 * (c - 1) * (i === 15 ? 1 : 0);\n o[i] -= c * 65536;\n }\n }\n function sel25519(p, q, b) {\n var t, c = ~(b - 1);\n for(var i = 0; i < 16; i++){\n t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n }\n function pack25519(o, n) {\n var i, j, b;\n var m = gf(), t = gf();\n for(i = 0; i < 16; i++)t[i] = n[i];\n car25519(t);\n car25519(t);\n car25519(t);\n for(j = 0; j < 2; j++){\n m[0] = t[0] - 0xffed;\n for(i = 1; i < 15; i++){\n m[i] = t[i] - 0xffff - (m[i - 1] >> 16 & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - (m[14] >> 16 & 1);\n b = m[15] >> 16 & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for(i = 0; i < 16; i++){\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n }\n function neq25519(a, b) {\n var c = new Uint8Array(32), d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return crypto_verify_32(c, 0, d, 0);\n }\n function par25519(a) {\n var d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n }\n function unpack25519(o, n) {\n var i;\n for(i = 0; i < 16; i++)o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n o[15] &= 0x7fff;\n }\n function A(o, a, b) {\n var i;\n for(i = 0; i < 16; i++)o[i] = a[i] + b[i] | 0;\n }\n function Z(o, a, b) {\n var i;\n for(i = 0; i < 16; i++)o[i] = a[i] - b[i] | 0;\n }\n function M(o, a, b) {\n var i, j, t = new Float64Array(31);\n for(i = 0; i < 31; i++)t[i] = 0;\n for(i = 0; i < 16; i++){\n for(j = 0; j < 16; j++){\n t[i + j] += a[i] * b[j];\n }\n }\n for(i = 0; i < 15; i++){\n t[i] += 38 * t[i + 16];\n }\n for(i = 0; i < 16; i++)o[i] = t[i];\n car25519(o);\n car25519(o);\n }\n function S(o, a) {\n M(o, a, a);\n }\n function inv25519(o, i) {\n var c = gf();\n var a;\n for(a = 0; a < 16; a++)c[a] = i[a];\n for(a = 253; a >= 0; a--){\n S(c, c);\n if (a !== 2 && a !== 4) M(c, c, i);\n }\n for(a = 0; a < 16; a++)o[a] = c[a];\n }\n function pow2523(o, i) {\n var c = gf();\n var a;\n for(a = 0; a < 16; a++)c[a] = i[a];\n for(a = 250; a >= 0; a--){\n S(c, c);\n if (a !== 1) M(c, c, i);\n }\n for(a = 0; a < 16; a++)o[a] = c[a];\n }\n function crypto_scalarmult(q, n, p) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80), r, i;\n var a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf();\n for(i = 0; i < 31; i++)z[i] = n[i];\n z[31] = n[31] & 127 | 64;\n z[0] &= 248;\n unpack25519(x, p);\n for(i = 0; i < 16; i++){\n b[i] = x[i];\n d[i] = a[i] = c[i] = 0;\n }\n a[0] = d[0] = 1;\n for(i = 254; i >= 0; --i){\n r = z[i >>> 3] >>> (i & 7) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n A(e, a, c);\n Z(a, a, c);\n A(c, b, d);\n Z(b, b, d);\n S(d, e);\n S(f, a);\n M(a, c, a);\n M(c, b, e);\n A(e, a, c);\n Z(a, a, c);\n S(b, a);\n Z(c, d, f);\n M(a, c, _121665);\n A(a, a, d);\n M(c, c, a);\n M(a, d, f);\n M(d, b, x);\n S(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for(i = 0; i < 16; i++){\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32, x32);\n M(x16, x16, x32);\n pack25519(q, x16);\n return 0;\n }\n function crypto_scalarmult_base(q, n) {\n return crypto_scalarmult(q, n, _9);\n }\n function crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n }\n function crypto_box_beforenm(k, y, x) {\n var s = new Uint8Array(32);\n crypto_scalarmult(s, x, y);\n return crypto_core_hsalsa20(k, _0, s, sigma);\n }\n var crypto_box_afternm = crypto_secretbox;\n var crypto_box_open_afternm = crypto_secretbox_open;\n function crypto_box(c, m, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_afternm(c, m, d, n, k);\n }\n function crypto_box_open(m, c, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_open_afternm(m, c, d, n, k);\n }\n function add64() {\n var a = 0, b = 0, c = 0, d = 0, m16 = 65535, l, h, i;\n for(i = 0; i < arguments.length; i++){\n l = arguments[i].lo;\n h = arguments[i].hi;\n a += l & m16;\n b += l >>> 16;\n c += h & m16;\n d += h >>> 16;\n }\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n return new u64(c & m16 | d << 16, a & m16 | b << 16);\n }\n function shr64(x, c) {\n return new u64(x.hi >>> c, x.lo >>> c | x.hi << 32 - c);\n }\n function xor64() {\n var l = 0, h = 0, i;\n for(i = 0; i < arguments.length; i++){\n l ^= arguments[i].lo;\n h ^= arguments[i].hi;\n }\n return new u64(h, l);\n }\n function R(x, c) {\n var h, l, c1 = 32 - c;\n if (c < 32) {\n h = x.hi >>> c | x.lo << c1;\n l = x.lo >>> c | x.hi << c1;\n } else if (c < 64) {\n h = x.lo >>> c | x.hi << c1;\n l = x.hi >>> c | x.lo << c1;\n }\n return new u64(h, l);\n }\n function Ch(x, y, z) {\n var h = x.hi & y.hi ^ ~x.hi & z.hi, l = x.lo & y.lo ^ ~x.lo & z.lo;\n return new u64(h, l);\n }\n function Maj(x, y, z) {\n var h = x.hi & y.hi ^ x.hi & z.hi ^ y.hi & z.hi, l = x.lo & y.lo ^ x.lo & z.lo ^ y.lo & z.lo;\n return new u64(h, l);\n }\n function Sigma0(x) {\n return xor64(R(x, 28), R(x, 34), R(x, 39));\n }\n function Sigma1(x) {\n return xor64(R(x, 14), R(x, 18), R(x, 41));\n }\n function sigma0(x) {\n return xor64(R(x, 1), R(x, 8), shr64(x, 7));\n }\n function sigma1(x) {\n return xor64(R(x, 19), R(x, 61), shr64(x, 6));\n }\n var K = [\n new u64(0x428a2f98, 0xd728ae22),\n new u64(0x71374491, 0x23ef65cd),\n new u64(0xb5c0fbcf, 0xec4d3b2f),\n new u64(0xe9b5dba5, 0x8189dbbc),\n new u64(0x3956c25b, 0xf348b538),\n new u64(0x59f111f1, 0xb605d019),\n new u64(0x923f82a4, 0xaf194f9b),\n new u64(0xab1c5ed5, 0xda6d8118),\n new u64(0xd807aa98, 0xa3030242),\n new u64(0x12835b01, 0x45706fbe),\n new u64(0x243185be, 0x4ee4b28c),\n new u64(0x550c7dc3, 0xd5ffb4e2),\n new u64(0x72be5d74, 0xf27b896f),\n new u64(0x80deb1fe, 0x3b1696b1),\n new u64(0x9bdc06a7, 0x25c71235),\n new u64(0xc19bf174, 0xcf692694),\n new u64(0xe49b69c1, 0x9ef14ad2),\n new u64(0xefbe4786, 0x384f25e3),\n new u64(0x0fc19dc6, 0x8b8cd5b5),\n new u64(0x240ca1cc, 0x77ac9c65),\n new u64(0x2de92c6f, 0x592b0275),\n new u64(0x4a7484aa, 0x6ea6e483),\n new u64(0x5cb0a9dc, 0xbd41fbd4),\n new u64(0x76f988da, 0x831153b5),\n new u64(0x983e5152, 0xee66dfab),\n new u64(0xa831c66d, 0x2db43210),\n new u64(0xb00327c8, 0x98fb213f),\n new u64(0xbf597fc7, 0xbeef0ee4),\n new u64(0xc6e00bf3, 0x3da88fc2),\n new u64(0xd5a79147, 0x930aa725),\n new u64(0x06ca6351, 0xe003826f),\n new u64(0x14292967, 0x0a0e6e70),\n new u64(0x27b70a85, 0x46d22ffc),\n new u64(0x2e1b2138, 0x5c26c926),\n new u64(0x4d2c6dfc, 0x5ac42aed),\n new u64(0x53380d13, 0x9d95b3df),\n new u64(0x650a7354, 0x8baf63de),\n new u64(0x766a0abb, 0x3c77b2a8),\n new u64(0x81c2c92e, 0x47edaee6),\n new u64(0x92722c85, 0x1482353b),\n new u64(0xa2bfe8a1, 0x4cf10364),\n new u64(0xa81a664b, 0xbc423001),\n new u64(0xc24b8b70, 0xd0f89791),\n new u64(0xc76c51a3, 0x0654be30),\n new u64(0xd192e819, 0xd6ef5218),\n new u64(0xd6990624, 0x5565a910),\n new u64(0xf40e3585, 0x5771202a),\n new u64(0x106aa070, 0x32bbd1b8),\n new u64(0x19a4c116, 0xb8d2d0c8),\n new u64(0x1e376c08, 0x5141ab53),\n new u64(0x2748774c, 0xdf8eeb99),\n new u64(0x34b0bcb5, 0xe19b48a8),\n new u64(0x391c0cb3, 0xc5c95a63),\n new u64(0x4ed8aa4a, 0xe3418acb),\n new u64(0x5b9cca4f, 0x7763e373),\n new u64(0x682e6ff3, 0xd6b2b8a3),\n new u64(0x748f82ee, 0x5defb2fc),\n new u64(0x78a5636f, 0x43172f60),\n new u64(0x84c87814, 0xa1f0ab72),\n new u64(0x8cc70208, 0x1a6439ec),\n new u64(0x90befffa, 0x23631e28),\n new u64(0xa4506ceb, 0xde82bde9),\n new u64(0xbef9a3f7, 0xb2c67915),\n new u64(0xc67178f2, 0xe372532b),\n new u64(0xca273ece, 0xea26619c),\n new u64(0xd186b8c7, 0x21c0c207),\n new u64(0xeada7dd6, 0xcde0eb1e),\n new u64(0xf57d4f7f, 0xee6ed178),\n new u64(0x06f067aa, 0x72176fba),\n new u64(0x0a637dc5, 0xa2c898a6),\n new u64(0x113f9804, 0xbef90dae),\n new u64(0x1b710b35, 0x131c471b),\n new u64(0x28db77f5, 0x23047d84),\n new u64(0x32caab7b, 0x40c72493),\n new u64(0x3c9ebe0a, 0x15c9bebc),\n new u64(0x431d67c4, 0x9c100d4c),\n new u64(0x4cc5d4be, 0xcb3e42b6),\n new u64(0x597f299c, 0xfc657e2a),\n new u64(0x5fcb6fab, 0x3ad6faec),\n new u64(0x6c44198c, 0x4a475817)\n ];\n function crypto_hashblocks(x, m, n) {\n var z = [], b = [], a = [], w = [], t, i, j;\n for(i = 0; i < 8; i++)z[i] = a[i] = dl64(x, 8 * i);\n var pos = 0;\n while(n >= 128){\n for(i = 0; i < 16; i++)w[i] = dl64(m, 8 * i + pos);\n for(i = 0; i < 80; i++){\n for(j = 0; j < 8; j++)b[j] = a[j];\n t = add64(a[7], Sigma1(a[4]), Ch(a[4], a[5], a[6]), K[i], w[i % 16]);\n b[7] = add64(t, Sigma0(a[0]), Maj(a[0], a[1], a[2]));\n b[3] = add64(b[3], t);\n for(j = 0; j < 8; j++)a[(j + 1) % 8] = b[j];\n if (i % 16 === 15) {\n for(j = 0; j < 16; j++){\n w[j] = add64(w[j], w[(j + 9) % 16], sigma0(w[(j + 1) % 16]), sigma1(w[(j + 14) % 16]));\n }\n }\n }\n for(i = 0; i < 8; i++){\n a[i] = add64(a[i], z[i]);\n z[i] = a[i];\n }\n pos += 128;\n n -= 128;\n }\n for(i = 0; i < 8; i++)ts64(x, 8 * i, z[i]);\n return n;\n }\n var iv = new Uint8Array([\n 0x6a,\n 0x09,\n 0xe6,\n 0x67,\n 0xf3,\n 0xbc,\n 0xc9,\n 0x08,\n 0xbb,\n 0x67,\n 0xae,\n 0x85,\n 0x84,\n 0xca,\n 0xa7,\n 0x3b,\n 0x3c,\n 0x6e,\n 0xf3,\n 0x72,\n 0xfe,\n 0x94,\n 0xf8,\n 0x2b,\n 0xa5,\n 0x4f,\n 0xf5,\n 0x3a,\n 0x5f,\n 0x1d,\n 0x36,\n 0xf1,\n 0x51,\n 0x0e,\n 0x52,\n 0x7f,\n 0xad,\n 0xe6,\n 0x82,\n 0xd1,\n 0x9b,\n 0x05,\n 0x68,\n 0x8c,\n 0x2b,\n 0x3e,\n 0x6c,\n 0x1f,\n 0x1f,\n 0x83,\n 0xd9,\n 0xab,\n 0xfb,\n 0x41,\n 0xbd,\n 0x6b,\n 0x5b,\n 0xe0,\n 0xcd,\n 0x19,\n 0x13,\n 0x7e,\n 0x21,\n 0x79\n ]);\n function crypto_hash(out, m, n) {\n var h = new Uint8Array(64), x = new Uint8Array(256);\n var i, b = n;\n for(i = 0; i < 64; i++)h[i] = iv[i];\n crypto_hashblocks(h, m, n);\n n %= 128;\n for(i = 0; i < 256; i++)x[i] = 0;\n for(i = 0; i < n; i++)x[i] = m[b - n + i];\n x[n] = 128;\n n = 256 - 128 * (n < 112 ? 1 : 0);\n x[n - 9] = 0;\n ts64(x, n - 8, new u64(b / 0x20000000 | 0, b << 3));\n crypto_hashblocks(h, x, n);\n for(i = 0; i < 64; i++)out[i] = h[i];\n return 0;\n }\n function add(p, q) {\n var a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();\n Z(a, p[1], p[0]);\n Z(t, q[1], q[0]);\n M(a, a, t);\n A(b, p[0], p[1]);\n A(t, q[0], q[1]);\n M(b, b, t);\n M(c, p[3], q[3]);\n M(c, c, D2);\n M(d, p[2], q[2]);\n A(d, d, d);\n Z(e, b, a);\n Z(f, d, c);\n A(g, d, c);\n A(h, b, a);\n M(p[0], e, f);\n M(p[1], h, g);\n M(p[2], g, f);\n M(p[3], e, h);\n }\n function cswap(p, q, b) {\n var i;\n for(i = 0; i < 4; i++){\n sel25519(p[i], q[i], b);\n }\n }\n function pack(r, p) {\n var tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n M(tx, p[0], zi);\n M(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n }\n function scalarmult(p, q, s) {\n var b, i;\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for(i = 255; i >= 0; --i){\n b = s[i / 8 | 0] >> (i & 7) & 1;\n cswap(p, q, b);\n add(q, p);\n add(p, p);\n cswap(p, q, b);\n }\n }\n function scalarbase(p, s) {\n var q = [\n gf(),\n gf(),\n gf(),\n gf()\n ];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p, q, s);\n }\n function crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p = [\n gf(),\n gf(),\n gf(),\n gf()\n ];\n var i;\n if (!seeded) randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n scalarbase(p, d);\n pack(pk, p);\n for(i = 0; i < 32; i++)sk[i + 32] = pk[i];\n return 0;\n }\n var L = new Float64Array([\n 0xed,\n 0xd3,\n 0xf5,\n 0x5c,\n 0x1a,\n 0x63,\n 0x12,\n 0x58,\n 0xd6,\n 0x9c,\n 0xf7,\n 0xa2,\n 0xde,\n 0xf9,\n 0xde,\n 0x14,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0x10\n ]);\n function modL(r, x) {\n var carry, i, j, k;\n for(i = 63; i >= 32; --i){\n carry = 0;\n for(j = i - 32, k = i - 12; j < k; ++j){\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for(j = 0; j < 32; j++){\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for(j = 0; j < 32; j++)x[j] -= carry * L[j];\n for(i = 0; i < 32; i++){\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n }\n function reduce(r) {\n var x = new Float64Array(64), i;\n for(i = 0; i < 64; i++)x[i] = r[i];\n for(i = 0; i < 64; i++)r[i] = 0;\n modL(r, x);\n }\n function crypto_sign(sm, m, n, sk) {\n var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64);\n var i, j, x = new Float64Array(64);\n var p = [\n gf(),\n gf(),\n gf(),\n gf()\n ];\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n var smlen = n + 64;\n for(i = 0; i < n; i++)sm[64 + i] = m[i];\n for(i = 0; i < 32; i++)sm[32 + i] = d[32 + i];\n crypto_hash(r, sm.subarray(32), n + 32);\n reduce(r);\n scalarbase(p, r);\n pack(sm, p);\n for(i = 32; i < 64; i++)sm[i] = sk[i];\n crypto_hash(h, sm, n + 64);\n reduce(h);\n for(i = 0; i < 64; i++)x[i] = 0;\n for(i = 0; i < 32; i++)x[i] = r[i];\n for(i = 0; i < 32; i++){\n for(j = 0; j < 32; j++){\n x[i + j] += h[i] * d[j];\n }\n }\n modL(sm.subarray(32), x);\n return smlen;\n }\n function unpackneg(r, p) {\n var t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t, den6, num);\n M(t, t, den);\n pow2523(t, t);\n M(t, t, num);\n M(t, t, den);\n M(t, t, den);\n M(r[0], t, den);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) M(r[0], r[0], I);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) return -1;\n if (par25519(r[0]) === p[31] >> 7) Z(r[0], gf0, r[0]);\n M(r[3], r[0], r[1]);\n return 0;\n }\n function crypto_sign_open(m, sm, n, pk) {\n var i;\n var t = new Uint8Array(32), h = new Uint8Array(64);\n var p = [\n gf(),\n gf(),\n gf(),\n gf()\n ], q = [\n gf(),\n gf(),\n gf(),\n gf()\n ];\n if (n < 64) return -1;\n if (unpackneg(q, pk)) return -1;\n for(i = 0; i < n; i++)m[i] = sm[i];\n for(i = 0; i < 32; i++)m[i + 32] = pk[i];\n crypto_hash(h, m, n);\n reduce(h);\n scalarmult(p, q, h);\n scalarbase(q, sm.subarray(32));\n add(p, q);\n pack(t, p);\n n -= 64;\n if (crypto_verify_32(sm, 0, t, 0)) {\n for(i = 0; i < n; i++)m[i] = 0;\n return -1;\n }\n for(i = 0; i < n; i++)m[i] = sm[i + 64];\n return n;\n }\n var crypto_secretbox_KEYBYTES = 32, crypto_secretbox_NONCEBYTES = 24, crypto_secretbox_ZEROBYTES = 32, crypto_secretbox_BOXZEROBYTES = 16, crypto_scalarmult_BYTES = 32, crypto_scalarmult_SCALARBYTES = 32, crypto_box_PUBLICKEYBYTES = 32, crypto_box_SECRETKEYBYTES = 32, crypto_box_BEFORENMBYTES = 32, crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES, crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES, crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES, crypto_sign_BYTES = 64, crypto_sign_PUBLICKEYBYTES = 32, crypto_sign_SECRETKEYBYTES = 64, crypto_sign_SEEDBYTES = 32, crypto_hash_BYTES = 64;\n nacl.lowlevel = {\n crypto_core_hsalsa20: crypto_core_hsalsa20,\n crypto_stream_xor: crypto_stream_xor,\n crypto_stream: crypto_stream,\n crypto_stream_salsa20_xor: crypto_stream_salsa20_xor,\n crypto_stream_salsa20: crypto_stream_salsa20,\n crypto_onetimeauth: crypto_onetimeauth,\n crypto_onetimeauth_verify: crypto_onetimeauth_verify,\n crypto_verify_16: crypto_verify_16,\n crypto_verify_32: crypto_verify_32,\n crypto_secretbox: crypto_secretbox,\n crypto_secretbox_open: crypto_secretbox_open,\n crypto_scalarmult: crypto_scalarmult,\n crypto_scalarmult_base: crypto_scalarmult_base,\n crypto_box_beforenm: crypto_box_beforenm,\n crypto_box_afternm: crypto_box_afternm,\n crypto_box: crypto_box,\n crypto_box_open: crypto_box_open,\n crypto_box_keypair: crypto_box_keypair,\n crypto_hash: crypto_hash,\n crypto_sign: crypto_sign,\n crypto_sign_keypair: crypto_sign_keypair,\n crypto_sign_open: crypto_sign_open,\n crypto_secretbox_KEYBYTES: crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES: crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES: crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES: crypto_secretbox_BOXZEROBYTES,\n crypto_scalarmult_BYTES: crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES: crypto_scalarmult_SCALARBYTES,\n crypto_box_PUBLICKEYBYTES: crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES: crypto_box_SECRETKEYBYTES,\n crypto_box_BEFORENMBYTES: crypto_box_BEFORENMBYTES,\n crypto_box_NONCEBYTES: crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES: crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES: crypto_box_BOXZEROBYTES,\n crypto_sign_BYTES: crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES: crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES: crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES: crypto_sign_SEEDBYTES,\n crypto_hash_BYTES: crypto_hash_BYTES,\n gf: gf,\n D: D,\n L: L,\n pack25519: pack25519,\n unpack25519: unpack25519,\n M: M,\n A: A,\n S: S,\n Z: Z,\n pow2523: pow2523,\n add: add,\n set25519: set25519,\n modL: modL,\n scalarmult: scalarmult,\n scalarbase: scalarbase\n };\n function checkLengths(k, n) {\n if (k.length !== crypto_secretbox_KEYBYTES) throw new Error('bad key size');\n if (n.length !== crypto_secretbox_NONCEBYTES) throw new Error('bad nonce size');\n }\n function checkBoxLengths(pk, sk) {\n if (pk.length !== crypto_box_PUBLICKEYBYTES) throw new Error('bad public key size');\n if (sk.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n }\n function checkArrayTypes() {\n for(var i = 0; i < arguments.length; i++){\n if (!(arguments[i] instanceof Uint8Array)) throw new TypeError('unexpected type, use Uint8Array');\n }\n }\n function cleanup(arr) {\n for(var i = 0; i < arr.length; i++)arr[i] = 0;\n }\n nacl.randomBytes = function(n) {\n var b = new Uint8Array(n);\n randombytes(b, n);\n return b;\n };\n nacl.secretbox = function(msg, nonce, key) {\n checkArrayTypes(msg, nonce, key);\n checkLengths(key, nonce);\n var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length);\n var c = new Uint8Array(m.length);\n for(var i = 0; i < msg.length; i++)m[i + crypto_secretbox_ZEROBYTES] = msg[i];\n crypto_secretbox(c, m, m.length, nonce, key);\n return c.subarray(crypto_secretbox_BOXZEROBYTES);\n };\n nacl.secretbox.open = function(box, nonce, key) {\n checkArrayTypes(box, nonce, key);\n checkLengths(key, nonce);\n var c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length);\n var m = new Uint8Array(c.length);\n for(var i = 0; i < box.length; i++)c[i + crypto_secretbox_BOXZEROBYTES] = box[i];\n if (c.length < 32) return null;\n if (crypto_secretbox_open(m, c, c.length, nonce, key) !== 0) return null;\n return m.subarray(crypto_secretbox_ZEROBYTES);\n };\n nacl.secretbox.keyLength = crypto_secretbox_KEYBYTES;\n nacl.secretbox.nonceLength = crypto_secretbox_NONCEBYTES;\n nacl.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES;\n nacl.scalarMult = function(n, p) {\n checkArrayTypes(n, p);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n, p);\n return q;\n };\n nacl.scalarMult.base = function(n) {\n checkArrayTypes(n);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult_base(q, n);\n return q;\n };\n nacl.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES;\n nacl.scalarMult.groupElementLength = crypto_scalarmult_BYTES;\n nacl.box = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox(msg, nonce, k);\n };\n nacl.box.before = function(publicKey, secretKey) {\n checkArrayTypes(publicKey, secretKey);\n checkBoxLengths(publicKey, secretKey);\n var k = new Uint8Array(crypto_box_BEFORENMBYTES);\n crypto_box_beforenm(k, publicKey, secretKey);\n return k;\n };\n nacl.box.after = nacl.secretbox;\n nacl.box.open = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox.open(msg, nonce, k);\n };\n nacl.box.open.after = nacl.secretbox.open;\n nacl.box.keyPair = function() {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n nacl.box.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return {\n publicKey: pk,\n secretKey: new Uint8Array(secretKey)\n };\n };\n nacl.box.publicKeyLength = crypto_box_PUBLICKEYBYTES;\n nacl.box.secretKeyLength = crypto_box_SECRETKEYBYTES;\n nacl.box.sharedKeyLength = crypto_box_BEFORENMBYTES;\n nacl.box.nonceLength = crypto_box_NONCEBYTES;\n nacl.box.overheadLength = nacl.secretbox.overheadLength;\n nacl.sign = function(msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES) throw new Error('bad secret key size');\n var signedMsg = new Uint8Array(crypto_sign_BYTES + msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n };\n nacl.sign.open = function(signedMsg, publicKey) {\n checkArrayTypes(signedMsg, publicKey);\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) throw new Error('bad public key size');\n var tmp = new Uint8Array(signedMsg.length);\n var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey);\n if (mlen < 0) return null;\n var m = new Uint8Array(mlen);\n for(var i = 0; i < m.length; i++)m[i] = tmp[i];\n return m;\n };\n nacl.sign.detached = function(msg, secretKey) {\n var signedMsg = nacl.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n for(var i = 0; i < sig.length; i++)sig[i] = signedMsg[i];\n return sig;\n };\n nacl.sign.detached.verify = function(msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES) throw new Error('bad signature size');\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) throw new Error('bad public key size');\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i;\n for(i = 0; i < crypto_sign_BYTES; i++)sm[i] = sig[i];\n for(i = 0; i < msg.length; i++)sm[i + crypto_sign_BYTES] = msg[i];\n return crypto_sign_open(m, sm, sm.length, publicKey) >= 0;\n };\n nacl.sign.keyPair = function() {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n nacl.sign.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES) throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n for(var i = 0; i < pk.length; i++)pk[i] = secretKey[32 + i];\n return {\n publicKey: pk,\n secretKey: new Uint8Array(secretKey)\n };\n };\n nacl.sign.keyPair.fromSeed = function(seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES) throw new Error('bad seed size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n for(var i = 0; i < 32; i++)sk[i] = seed[i];\n crypto_sign_keypair(pk, sk, true);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n nacl.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES;\n nacl.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES;\n nacl.sign.seedLength = crypto_sign_SEEDBYTES;\n nacl.sign.signatureLength = crypto_sign_BYTES;\n nacl.hash = function(msg) {\n checkArrayTypes(msg);\n var h = new Uint8Array(crypto_hash_BYTES);\n crypto_hash(h, msg, msg.length);\n return h;\n };\n nacl.hash.hashLength = crypto_hash_BYTES;\n nacl.verify = function(x, y) {\n checkArrayTypes(x, y);\n if (x.length === 0 || y.length === 0) return false;\n if (x.length !== y.length) return false;\n return vn(x, 0, y, 0, x.length) === 0 ? true : false;\n };\n nacl.setPRNG = function(fn) {\n randombytes = fn;\n };\n (function() {\n var crypto1 = typeof globalThis !== 'undefined' ? globalThis.crypto || globalThis.msCrypto : null;\n if (crypto1 && crypto1.getRandomValues) {\n var QUOTA = 65536;\n nacl.setPRNG(function(x, n) {\n var i, v = new Uint8Array(n);\n for(i = 0; i < n; i += QUOTA){\n crypto1.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA)));\n }\n for(i = 0; i < n; i++)x[i] = v[i];\n cleanup(v);\n });\n } else if (typeof require !== 'undefined') {\n crypto1 = require('crypto');\n if (crypto1 && crypto1.randomBytes) {\n nacl.setPRNG(function(x, n) {\n var i, v = crypto1.randomBytes(n);\n for(i = 0; i < n; i++)x[i] = v[i];\n cleanup(v);\n });\n }\n }\n })();\n})(typeof module !== 'undefined' && module.exports ? module.exports : globalThis.nacl = globalThis.nacl || {});\nconst nacl = typeof module !== 'undefined' && module.exports ? module.exports : globalThis.nacl;\nconst denoHelper = {\n fromSeed: nacl.sign.keyPair.fromSeed,\n sign: nacl.sign.detached,\n verify: nacl.sign.detached.verify,\n randomBytes: nacl.randomBytes\n};\nlet helper;\nfunction setEd25519Helper(lib) {\n helper = lib;\n}\nfunction getEd25519Helper() {\n return helper;\n}\nconst crc16tab = new Uint16Array([\n 0x0000,\n 0x1021,\n 0x2042,\n 0x3063,\n 0x4084,\n 0x50a5,\n 0x60c6,\n 0x70e7,\n 0x8108,\n 0x9129,\n 0xa14a,\n 0xb16b,\n 0xc18c,\n 0xd1ad,\n 0xe1ce,\n 0xf1ef,\n 0x1231,\n 0x0210,\n 0x3273,\n 0x2252,\n 0x52b5,\n 0x4294,\n 0x72f7,\n 0x62d6,\n 0x9339,\n 0x8318,\n 0xb37b,\n 0xa35a,\n 0xd3bd,\n 0xc39c,\n 0xf3ff,\n 0xe3de,\n 0x2462,\n 0x3443,\n 0x0420,\n 0x1401,\n 0x64e6,\n 0x74c7,\n 0x44a4,\n 0x5485,\n 0xa56a,\n 0xb54b,\n 0x8528,\n 0x9509,\n 0xe5ee,\n 0xf5cf,\n 0xc5ac,\n 0xd58d,\n 0x3653,\n 0x2672,\n 0x1611,\n 0x0630,\n 0x76d7,\n 0x66f6,\n 0x5695,\n 0x46b4,\n 0xb75b,\n 0xa77a,\n 0x9719,\n 0x8738,\n 0xf7df,\n 0xe7fe,\n 0xd79d,\n 0xc7bc,\n 0x48c4,\n 0x58e5,\n 0x6886,\n 0x78a7,\n 0x0840,\n 0x1861,\n 0x2802,\n 0x3823,\n 0xc9cc,\n 0xd9ed,\n 0xe98e,\n 0xf9af,\n 0x8948,\n 0x9969,\n 0xa90a,\n 0xb92b,\n 0x5af5,\n 0x4ad4,\n 0x7ab7,\n 0x6a96,\n 0x1a71,\n 0x0a50,\n 0x3a33,\n 0x2a12,\n 0xdbfd,\n 0xcbdc,\n 0xfbbf,\n 0xeb9e,\n 0x9b79,\n 0x8b58,\n 0xbb3b,\n 0xab1a,\n 0x6ca6,\n 0x7c87,\n 0x4ce4,\n 0x5cc5,\n 0x2c22,\n 0x3c03,\n 0x0c60,\n 0x1c41,\n 0xedae,\n 0xfd8f,\n 0xcdec,\n 0xddcd,\n 0xad2a,\n 0xbd0b,\n 0x8d68,\n 0x9d49,\n 0x7e97,\n 0x6eb6,\n 0x5ed5,\n 0x4ef4,\n 0x3e13,\n 0x2e32,\n 0x1e51,\n 0x0e70,\n 0xff9f,\n 0xefbe,\n 0xdfdd,\n 0xcffc,\n 0xbf1b,\n 0xaf3a,\n 0x9f59,\n 0x8f78,\n 0x9188,\n 0x81a9,\n 0xb1ca,\n 0xa1eb,\n 0xd10c,\n 0xc12d,\n 0xf14e,\n 0xe16f,\n 0x1080,\n 0x00a1,\n 0x30c2,\n 0x20e3,\n 0x5004,\n 0x4025,\n 0x7046,\n 0x6067,\n 0x83b9,\n 0x9398,\n 0xa3fb,\n 0xb3da,\n 0xc33d,\n 0xd31c,\n 0xe37f,\n 0xf35e,\n 0x02b1,\n 0x1290,\n 0x22f3,\n 0x32d2,\n 0x4235,\n 0x5214,\n 0x6277,\n 0x7256,\n 0xb5ea,\n 0xa5cb,\n 0x95a8,\n 0x8589,\n 0xf56e,\n 0xe54f,\n 0xd52c,\n 0xc50d,\n 0x34e2,\n 0x24c3,\n 0x14a0,\n 0x0481,\n 0x7466,\n 0x6447,\n 0x5424,\n 0x4405,\n 0xa7db,\n 0xb7fa,\n 0x8799,\n 0x97b8,\n 0xe75f,\n 0xf77e,\n 0xc71d,\n 0xd73c,\n 0x26d3,\n 0x36f2,\n 0x0691,\n 0x16b0,\n 0x6657,\n 0x7676,\n 0x4615,\n 0x5634,\n 0xd94c,\n 0xc96d,\n 0xf90e,\n 0xe92f,\n 0x99c8,\n 0x89e9,\n 0xb98a,\n 0xa9ab,\n 0x5844,\n 0x4865,\n 0x7806,\n 0x6827,\n 0x18c0,\n 0x08e1,\n 0x3882,\n 0x28a3,\n 0xcb7d,\n 0xdb5c,\n 0xeb3f,\n 0xfb1e,\n 0x8bf9,\n 0x9bd8,\n 0xabbb,\n 0xbb9a,\n 0x4a75,\n 0x5a54,\n 0x6a37,\n 0x7a16,\n 0x0af1,\n 0x1ad0,\n 0x2ab3,\n 0x3a92,\n 0xfd2e,\n 0xed0f,\n 0xdd6c,\n 0xcd4d,\n 0xbdaa,\n 0xad8b,\n 0x9de8,\n 0x8dc9,\n 0x7c26,\n 0x6c07,\n 0x5c64,\n 0x4c45,\n 0x3ca2,\n 0x2c83,\n 0x1ce0,\n 0x0cc1,\n 0xef1f,\n 0xff3e,\n 0xcf5d,\n 0xdf7c,\n 0xaf9b,\n 0xbfba,\n 0x8fd9,\n 0x9ff8,\n 0x6e17,\n 0x7e36,\n 0x4e55,\n 0x5e74,\n 0x2e93,\n 0x3eb2,\n 0x0ed1,\n 0x1ef0\n]);\nclass crc16 {\n static checksum(data) {\n let crc = 0;\n for(let i = 0; i < data.byteLength; i++){\n let b = data[i];\n crc = crc << 8 & 0xffff ^ crc16tab[(crc >> 8 ^ b) & 0x00FF];\n }\n return crc;\n }\n static validate(data, expected) {\n let ba = crc16.checksum(data);\n return ba == expected;\n }\n}\nconst b32Alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\";\nclass base32 {\n static encode(src) {\n let bits = 0;\n let value = 0;\n let a = new Uint8Array(src);\n let buf = new Uint8Array(src.byteLength * 2);\n let j = 0;\n for(let i = 0; i < a.byteLength; i++){\n value = value << 8 | a[i];\n bits += 8;\n while(bits >= 5){\n let index = value >>> bits - 5 & 31;\n buf[j++] = b32Alphabet.charAt(index).charCodeAt(0);\n bits -= 5;\n }\n }\n if (bits > 0) {\n let index = value << 5 - bits & 31;\n buf[j++] = b32Alphabet.charAt(index).charCodeAt(0);\n }\n return buf.slice(0, j);\n }\n static decode(src) {\n let bits = 0;\n let __byte = 0;\n let j = 0;\n let a = new Uint8Array(src);\n let out = new Uint8Array(a.byteLength * 5 / 8 | 0);\n for(let i = 0; i < a.byteLength; i++){\n let v = String.fromCharCode(a[i]);\n let vv = b32Alphabet.indexOf(v);\n if (vv === -1) {\n throw new Error(\"Illegal Base32 character: \" + a[i]);\n }\n __byte = __byte << 5 | vv;\n bits += 5;\n if (bits >= 8) {\n out[j++] = __byte >>> bits - 8 & 255;\n bits -= 8;\n }\n }\n return out.slice(0, j);\n }\n}\nclass NKeysError extends Error {\n name;\n code;\n chainedError;\n constructor(code, chainedError){\n super(code);\n this.name = \"NKeysError\";\n this.code = code;\n this.chainedError = chainedError;\n }\n}\nfunction createOperator() {\n return createPair(Prefix.Operator);\n}\nfunction createAccount() {\n return createPair(Prefix.Account);\n}\nfunction createUser() {\n return createPair(Prefix.User);\n}\nvar NKeysErrorCode;\n(function(NKeysErrorCode) {\n NKeysErrorCode[\"InvalidPrefixByte\"] = \"nkeys: invalid prefix byte\";\n NKeysErrorCode[\"InvalidKey\"] = \"nkeys: invalid key\";\n NKeysErrorCode[\"InvalidPublicKey\"] = \"nkeys: invalid public key\";\n NKeysErrorCode[\"InvalidSeedLen\"] = \"nkeys: invalid seed length\";\n NKeysErrorCode[\"InvalidSeed\"] = \"nkeys: invalid seed\";\n NKeysErrorCode[\"InvalidEncoding\"] = \"nkeys: invalid encoded key\";\n NKeysErrorCode[\"InvalidSignature\"] = \"nkeys: signature verification failed\";\n NKeysErrorCode[\"CannotSign\"] = \"nkeys: cannot sign, no private key available\";\n NKeysErrorCode[\"PublicKeyOnly\"] = \"nkeys: no seed or private key available\";\n NKeysErrorCode[\"InvalidChecksum\"] = \"nkeys: invalid checksum\";\n NKeysErrorCode[\"SerializationError\"] = \"nkeys: serialization error\";\n NKeysErrorCode[\"ApiError\"] = \"nkeys: api error\";\n NKeysErrorCode[\"ClearedPair\"] = \"nkeys: pair is cleared\";\n})(NKeysErrorCode || (NKeysErrorCode = {}));\nvar Prefix;\n(function(Prefix) {\n Prefix[Prefix[\"Seed\"] = 144] = \"Seed\";\n Prefix[Prefix[\"Private\"] = 120] = \"Private\";\n Prefix[Prefix[\"Operator\"] = 112] = \"Operator\";\n Prefix[Prefix[\"Server\"] = 104] = \"Server\";\n Prefix[Prefix[\"Cluster\"] = 16] = \"Cluster\";\n Prefix[Prefix[\"Account\"] = 0] = \"Account\";\n Prefix[Prefix[\"User\"] = 160] = \"User\";\n})(Prefix || (Prefix = {}));\nclass Prefixes {\n static isValidPublicPrefix(prefix) {\n return prefix == Prefix.Server || prefix == Prefix.Operator || prefix == Prefix.Cluster || prefix == Prefix.Account || prefix == Prefix.User;\n }\n static startsWithValidPrefix(s) {\n let c = s[0];\n return c == \"S\" || c == \"P\" || c == \"O\" || c == \"N\" || c == \"C\" || c == \"A\" || c == \"U\";\n }\n static isValidPrefix(prefix) {\n let v = this.parsePrefix(prefix);\n return v != -1;\n }\n static parsePrefix(v) {\n switch(v){\n case Prefix.Seed:\n return Prefix.Seed;\n case Prefix.Private:\n return Prefix.Private;\n case Prefix.Operator:\n return Prefix.Operator;\n case Prefix.Server:\n return Prefix.Server;\n case Prefix.Cluster:\n return Prefix.Cluster;\n case Prefix.Account:\n return Prefix.Account;\n case Prefix.User:\n return Prefix.User;\n default:\n return -1;\n }\n }\n}\nclass Codec {\n static encode(prefix, src) {\n if (!src || !(src instanceof Uint8Array)) {\n throw new NKeysError(NKeysErrorCode.SerializationError);\n }\n if (!Prefixes.isValidPrefix(prefix)) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n return Codec._encode(false, prefix, src);\n }\n static encodeSeed(role, src) {\n if (!src) {\n throw new NKeysError(NKeysErrorCode.ApiError);\n }\n if (!Prefixes.isValidPublicPrefix(role)) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n if (src.byteLength !== 32) {\n throw new NKeysError(NKeysErrorCode.InvalidSeedLen);\n }\n return Codec._encode(true, role, src);\n }\n static decode(expected, src) {\n if (!Prefixes.isValidPrefix(expected)) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n const raw = Codec._decode(src);\n if (raw[0] !== expected) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n return raw.slice(1);\n }\n static decodeSeed(src) {\n const raw = Codec._decode(src);\n const prefix = Codec._decodePrefix(raw);\n if (prefix[0] != Prefix.Seed) {\n throw new NKeysError(NKeysErrorCode.InvalidSeed);\n }\n if (!Prefixes.isValidPublicPrefix(prefix[1])) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n return {\n buf: raw.slice(2),\n prefix: prefix[1]\n };\n }\n static _encode(seed, role, payload) {\n const payloadOffset = seed ? 2 : 1;\n const payloadLen = payload.byteLength;\n const cap = payloadOffset + payloadLen + 2;\n const checkOffset = payloadOffset + payloadLen;\n const raw = new Uint8Array(cap);\n if (seed) {\n const encodedPrefix = Codec._encodePrefix(Prefix.Seed, role);\n raw.set(encodedPrefix);\n } else {\n raw[0] = role;\n }\n raw.set(payload, payloadOffset);\n const checksum = crc16.checksum(raw.slice(0, checkOffset));\n const dv = new DataView(raw.buffer);\n dv.setUint16(checkOffset, checksum, true);\n return base32.encode(raw);\n }\n static _decode(src) {\n if (src.byteLength < 4) {\n throw new NKeysError(NKeysErrorCode.InvalidEncoding);\n }\n let raw;\n try {\n raw = base32.decode(src);\n } catch (ex) {\n throw new NKeysError(NKeysErrorCode.InvalidEncoding, ex);\n }\n const checkOffset = raw.byteLength - 2;\n const dv = new DataView(raw.buffer);\n const checksum = dv.getUint16(checkOffset, true);\n const payload = raw.slice(0, checkOffset);\n if (!crc16.validate(payload, checksum)) {\n throw new NKeysError(NKeysErrorCode.InvalidChecksum);\n }\n return payload;\n }\n static _encodePrefix(kind, role) {\n const b1 = kind | role >> 5;\n const b2 = (role & 31) << 3;\n return new Uint8Array([\n b1,\n b2\n ]);\n }\n static _decodePrefix(raw) {\n const b1 = raw[0] & 248;\n const b2 = (raw[0] & 7) << 5 | (raw[1] & 248) >> 3;\n return new Uint8Array([\n b1,\n b2\n ]);\n }\n}\nclass KP {\n seed;\n constructor(seed){\n this.seed = seed;\n }\n getRawSeed() {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n let sd = Codec.decodeSeed(this.seed);\n return sd.buf;\n }\n getSeed() {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n return this.seed;\n }\n getPublicKey() {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n const sd = Codec.decodeSeed(this.seed);\n const kp = getEd25519Helper().fromSeed(this.getRawSeed());\n const buf = Codec.encode(sd.prefix, kp.publicKey);\n return new TextDecoder().decode(buf);\n }\n getPrivateKey() {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n const kp = getEd25519Helper().fromSeed(this.getRawSeed());\n return Codec.encode(Prefix.Private, kp.secretKey);\n }\n sign(input) {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n const kp = getEd25519Helper().fromSeed(this.getRawSeed());\n return getEd25519Helper().sign(input, kp.secretKey);\n }\n verify(input, sig) {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n const kp = getEd25519Helper().fromSeed(this.getRawSeed());\n return getEd25519Helper().verify(input, sig, kp.publicKey);\n }\n clear() {\n if (!this.seed) {\n return;\n }\n this.seed.fill(0);\n this.seed = undefined;\n }\n}\nfunction createPair(prefix) {\n const rawSeed = getEd25519Helper().randomBytes(32);\n let str = Codec.encodeSeed(prefix, new Uint8Array(rawSeed));\n return new KP(str);\n}\nclass PublicKey {\n publicKey;\n constructor(publicKey){\n this.publicKey = publicKey;\n }\n getPublicKey() {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n return new TextDecoder().decode(this.publicKey);\n }\n getPrivateKey() {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n throw new NKeysError(NKeysErrorCode.PublicKeyOnly);\n }\n getSeed() {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n throw new NKeysError(NKeysErrorCode.PublicKeyOnly);\n }\n sign(_) {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n throw new NKeysError(NKeysErrorCode.CannotSign);\n }\n verify(input, sig) {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n let buf = Codec._decode(this.publicKey);\n return getEd25519Helper().verify(input, sig, buf.slice(1));\n }\n clear() {\n if (!this.publicKey) {\n return;\n }\n this.publicKey.fill(0);\n this.publicKey = undefined;\n }\n}\nfunction fromPublic(src) {\n const ba = new TextEncoder().encode(src);\n const raw = Codec._decode(ba);\n const prefix = Prefixes.parsePrefix(raw[0]);\n if (Prefixes.isValidPublicPrefix(prefix)) {\n return new PublicKey(ba);\n }\n throw new NKeysError(NKeysErrorCode.InvalidPublicKey);\n}\nfunction fromSeed(src) {\n Codec.decodeSeed(src);\n return new KP(src);\n}\nfunction encode2(bytes) {\n return btoa(String.fromCharCode(...bytes));\n}\nfunction decode2(b64str) {\n const bin = atob(b64str);\n const bytes = new Uint8Array(bin.length);\n for(let i = 0; i < bin.length; i++){\n bytes[i] = bin.charCodeAt(i);\n }\n return bytes;\n}\nsetEd25519Helper(denoHelper);\nconst mod = {\n createAccount,\n createOperator,\n createPair,\n createUser,\n fromPublic,\n fromSeed,\n NKeysError,\n NKeysErrorCode,\n Prefix,\n decode: decode2,\n encode: encode2\n};\nfunction multiAuthenticator(authenticators) {\n return (nonce)=>{\n let auth = {};\n authenticators.forEach((a)=>{\n const args = a(nonce) || {};\n auth = Object.assign(auth, args);\n });\n return auth;\n };\n}\nfunction noAuthFn() {\n return ()=>{\n return;\n };\n}\nfunction usernamePasswordAuthenticator(user, pass) {\n return ()=>{\n const u = typeof user === \"function\" ? user() : user;\n const p = typeof pass === \"function\" ? pass() : pass;\n return {\n user: u,\n pass: p\n };\n };\n}\nfunction tokenAuthenticator(token) {\n return ()=>{\n const auth_token = typeof token === \"function\" ? token() : token;\n return {\n auth_token\n };\n };\n}\nfunction nkeyAuthenticator(seed) {\n return (nonce)=>{\n const s = typeof seed === \"function\" ? seed() : seed;\n const kp = s ? mod.fromSeed(s) : undefined;\n const nkey = kp ? kp.getPublicKey() : \"\";\n const challenge = TE.encode(nonce || \"\");\n const sigBytes = kp !== undefined && nonce ? kp.sign(challenge) : undefined;\n const sig = sigBytes ? mod.encode(sigBytes) : \"\";\n return {\n nkey,\n sig\n };\n };\n}\nfunction jwtAuthenticator(ajwt, seed) {\n return (nonce)=>{\n const jwt = typeof ajwt === \"function\" ? ajwt() : ajwt;\n const fn = nkeyAuthenticator(seed);\n const { nkey, sig } = fn(nonce);\n return {\n jwt,\n nkey,\n sig\n };\n };\n}\nfunction credsAuthenticator(creds) {\n const fn = typeof creds !== \"function\" ? ()=>creds : creds;\n const parse = ()=>{\n const CREDS = /\\s*(?:(?:[-]{3,}[^\\n]*[-]{3,}\\n)(.+)(?:\\n\\s*[-]{3,}[^\\n]*[-]{3,}\\n))/ig;\n const s = TD.decode(fn());\n let m = CREDS.exec(s);\n if (!m) {\n throw NatsError.errorForCode(ErrorCode.BadCreds);\n }\n const jwt = m[1].trim();\n m = CREDS.exec(s);\n if (!m) {\n throw NatsError.errorForCode(ErrorCode.BadCreds);\n }\n if (!m) {\n throw NatsError.errorForCode(ErrorCode.BadCreds);\n }\n const seed = TE.encode(m[1].trim());\n return {\n jwt,\n seed\n };\n };\n const jwtFn = ()=>{\n const { jwt } = parse();\n return jwt;\n };\n const nkeyFn = ()=>{\n const { seed } = parse();\n return seed;\n };\n return jwtAuthenticator(jwtFn, nkeyFn);\n}\nconst DEFAULT_PING_INTERVAL = 2 * 60 * 1000;\nconst DEFAULT_MAX_PING_OUT = 2;\nconst DEFAULT_RECONNECT_TIME_WAIT = 2 * 1000;\nfunction defaultOptions() {\n return {\n maxPingOut: 2,\n maxReconnectAttempts: 10,\n noRandomize: false,\n pedantic: false,\n pingInterval: DEFAULT_PING_INTERVAL,\n reconnect: true,\n reconnectJitter: 100,\n reconnectJitterTLS: 1000,\n reconnectTimeWait: DEFAULT_RECONNECT_TIME_WAIT,\n tls: undefined,\n verbose: false,\n waitOnFirstConnect: false,\n ignoreAuthErrorAbort: false\n };\n}\nfunction buildAuthenticator(opts) {\n const buf = [];\n if (typeof opts.authenticator === \"function\") {\n buf.push(opts.authenticator);\n }\n if (Array.isArray(opts.authenticator)) {\n buf.push(...opts.authenticator);\n }\n if (opts.token) {\n buf.push(tokenAuthenticator(opts.token));\n }\n if (opts.user) {\n buf.push(usernamePasswordAuthenticator(opts.user, opts.pass));\n }\n return buf.length === 0 ? noAuthFn() : multiAuthenticator(buf);\n}\nfunction parseOptions(opts) {\n const dhp = `${DEFAULT_HOST}:${defaultPort()}`;\n opts = opts || {\n servers: [\n dhp\n ]\n };\n opts.servers = opts.servers || [];\n if (typeof opts.servers === \"string\") {\n opts.servers = [\n opts.servers\n ];\n }\n if (opts.servers.length > 0 && opts.port) {\n throw new NatsError(\"port and servers options are mutually exclusive\", ErrorCode.InvalidOption);\n }\n if (opts.servers.length === 0 && opts.port) {\n opts.servers = [\n `${DEFAULT_HOST}:${opts.port}`\n ];\n }\n if (opts.servers && opts.servers.length === 0) {\n opts.servers = [\n dhp\n ];\n }\n const options = extend(defaultOptions(), opts);\n options.authenticator = buildAuthenticator(options);\n [\n \"reconnectDelayHandler\",\n \"authenticator\"\n ].forEach((n)=>{\n if (options[n] && typeof options[n] !== \"function\") {\n throw new NatsError(`${n} option should be a function`, ErrorCode.NotFunction);\n }\n });\n if (!options.reconnectDelayHandler) {\n options.reconnectDelayHandler = ()=>{\n let extra = options.tls ? options.reconnectJitterTLS : options.reconnectJitter;\n if (extra) {\n extra++;\n extra = Math.floor(Math.random() * extra);\n }\n return options.reconnectTimeWait + extra;\n };\n }\n if (options.inboxPrefix) {\n try {\n createInbox(options.inboxPrefix);\n } catch (err) {\n throw new NatsError(err.message, ErrorCode.ApiError);\n }\n }\n if (options.resolve === undefined) {\n options.resolve = typeof getResolveFn() === \"function\";\n }\n if (options.resolve) {\n if (typeof getResolveFn() !== \"function\") {\n throw new NatsError(`'resolve' is not supported on this client`, ErrorCode.InvalidOption);\n }\n }\n return options;\n}\nfunction checkOptions(info, options) {\n const { proto, tls_required: tlsRequired, tls_available: tlsAvailable } = info;\n if ((proto === undefined || proto < 1) && options.noEcho) {\n throw new NatsError(\"noEcho\", ErrorCode.ServerOptionNotAvailable);\n }\n const tls = tlsRequired || tlsAvailable || false;\n if (options.tls && !tls) {\n throw new NatsError(\"tls\", ErrorCode.ServerOptionNotAvailable);\n }\n}\nconst FLUSH_THRESHOLD = 1024 * 32;\nconst INFO = /^INFO\\s+([^\\r\\n]+)\\r\\n/i;\nconst PONG_CMD = encode(\"PONG\\r\\n\");\nconst PING_CMD = encode(\"PING\\r\\n\");\nclass Connect {\n echo;\n no_responders;\n protocol;\n verbose;\n pedantic;\n jwt;\n nkey;\n sig;\n user;\n pass;\n auth_token;\n tls_required;\n name;\n lang;\n version;\n headers;\n constructor(transport, opts, nonce){\n this.protocol = 1;\n this.version = transport.version;\n this.lang = transport.lang;\n this.echo = opts.noEcho ? false : undefined;\n this.verbose = opts.verbose;\n this.pedantic = opts.pedantic;\n this.tls_required = opts.tls ? true : undefined;\n this.name = opts.name;\n const creds = (opts && typeof opts.authenticator === \"function\" ? opts.authenticator(nonce) : {}) || {};\n extend(this, creds);\n }\n}\nclass SubscriptionImpl extends QueuedIteratorImpl {\n sid;\n queue;\n draining;\n max;\n subject;\n drained;\n protocol;\n timer;\n info;\n cleanupFn;\n closed;\n requestSubject;\n constructor(protocol, subject, opts = {}){\n super();\n extend(this, opts);\n this.protocol = protocol;\n this.subject = subject;\n this.draining = false;\n this.noIterator = typeof opts.callback === \"function\";\n this.closed = deferred();\n const asyncTraces = !(protocol.options?.noAsyncTraces || false);\n if (opts.timeout) {\n this.timer = timeout(opts.timeout, asyncTraces);\n this.timer.then(()=>{\n this.timer = undefined;\n }).catch((err)=>{\n this.stop(err);\n if (this.noIterator) {\n this.callback(err, {});\n }\n });\n }\n if (!this.noIterator) {\n this.iterClosed.then(()=>{\n this.closed.resolve();\n this.unsubscribe();\n });\n }\n }\n setPrePostHandlers(opts) {\n if (this.noIterator) {\n const uc = this.callback;\n const ingestion = opts.ingestionFilterFn ? opts.ingestionFilterFn : ()=>{\n return {\n ingest: true,\n protocol: false\n };\n };\n const filter = opts.protocolFilterFn ? opts.protocolFilterFn : ()=>{\n return true;\n };\n const dispatched = opts.dispatchedFn ? opts.dispatchedFn : ()=>{};\n this.callback = (err, msg)=>{\n const { ingest } = ingestion(msg);\n if (!ingest) {\n return;\n }\n if (filter(msg)) {\n uc(err, msg);\n dispatched(msg);\n }\n };\n } else {\n this.protocolFilterFn = opts.protocolFilterFn;\n this.dispatchedFn = opts.dispatchedFn;\n }\n }\n callback(err, msg) {\n this.cancelTimeout();\n err ? this.stop(err) : this.push(msg);\n }\n close() {\n if (!this.isClosed()) {\n this.cancelTimeout();\n const fn = ()=>{\n this.stop();\n if (this.cleanupFn) {\n try {\n this.cleanupFn(this, this.info);\n } catch (_err) {}\n }\n this.closed.resolve();\n };\n if (this.noIterator) {\n fn();\n } else {\n this.push(fn);\n }\n }\n }\n unsubscribe(max) {\n this.protocol.unsubscribe(this, max);\n }\n cancelTimeout() {\n if (this.timer) {\n this.timer.cancel();\n this.timer = undefined;\n }\n }\n drain() {\n if (this.protocol.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionClosed));\n }\n if (this.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.SubClosed));\n }\n if (!this.drained) {\n this.draining = true;\n this.protocol.unsub(this);\n this.drained = this.protocol.flush(deferred()).then(()=>{\n this.protocol.subscriptions.cancel(this);\n }).catch(()=>{\n this.protocol.subscriptions.cancel(this);\n });\n }\n return this.drained;\n }\n isDraining() {\n return this.draining;\n }\n isClosed() {\n return this.done;\n }\n getSubject() {\n return this.subject;\n }\n getMax() {\n return this.max;\n }\n getID() {\n return this.sid;\n }\n}\nclass Subscriptions {\n mux;\n subs;\n sidCounter;\n constructor(){\n this.sidCounter = 0;\n this.mux = null;\n this.subs = new Map();\n }\n size() {\n return this.subs.size;\n }\n add(s) {\n this.sidCounter++;\n s.sid = this.sidCounter;\n this.subs.set(s.sid, s);\n return s;\n }\n setMux(s) {\n this.mux = s;\n return s;\n }\n getMux() {\n return this.mux;\n }\n get(sid) {\n return this.subs.get(sid);\n }\n resub(s) {\n this.sidCounter++;\n this.subs.delete(s.sid);\n s.sid = this.sidCounter;\n this.subs.set(s.sid, s);\n return s;\n }\n all() {\n return Array.from(this.subs.values());\n }\n cancel(s) {\n if (s) {\n s.close();\n this.subs.delete(s.sid);\n }\n }\n handleError(err) {\n if (err && err.permissionContext) {\n const ctx = err.permissionContext;\n const subs = this.all();\n let sub;\n if (ctx.operation === \"subscription\") {\n sub = subs.find((s)=>{\n return s.subject === ctx.subject && s.queue === ctx.queue;\n });\n }\n if (ctx.operation === \"publish\") {\n sub = subs.find((s)=>{\n return s.requestSubject === ctx.subject;\n });\n }\n if (sub) {\n sub.callback(err, {});\n sub.close();\n this.subs.delete(sub.sid);\n return sub !== this.mux;\n }\n }\n return false;\n }\n close() {\n this.subs.forEach((sub)=>{\n sub.close();\n });\n }\n}\nclass ProtocolHandler {\n connected;\n connectedOnce;\n infoReceived;\n info;\n muxSubscriptions;\n options;\n outbound;\n pongs;\n subscriptions;\n transport;\n noMorePublishing;\n connectError;\n publisher;\n _closed;\n closed;\n listeners;\n heartbeats;\n parser;\n outMsgs;\n inMsgs;\n outBytes;\n inBytes;\n pendingLimit;\n lastError;\n abortReconnect;\n whyClosed;\n servers;\n server;\n features;\n connectPromise;\n constructor(options, publisher){\n this._closed = false;\n this.connected = false;\n this.connectedOnce = false;\n this.infoReceived = false;\n this.noMorePublishing = false;\n this.abortReconnect = false;\n this.listeners = [];\n this.pendingLimit = FLUSH_THRESHOLD;\n this.outMsgs = 0;\n this.inMsgs = 0;\n this.outBytes = 0;\n this.inBytes = 0;\n this.options = options;\n this.publisher = publisher;\n this.subscriptions = new Subscriptions();\n this.muxSubscriptions = new MuxSubscription();\n this.outbound = new DataBuffer();\n this.pongs = [];\n this.whyClosed = \"\";\n this.pendingLimit = options.pendingLimit || this.pendingLimit;\n this.features = new Features({\n major: 0,\n minor: 0,\n micro: 0\n });\n this.connectPromise = null;\n const servers = typeof options.servers === \"string\" ? [\n options.servers\n ] : options.servers;\n this.servers = new Servers(servers, {\n randomize: !options.noRandomize\n });\n this.closed = deferred();\n this.parser = new Parser(this);\n this.heartbeats = new Heartbeat(this, this.options.pingInterval || DEFAULT_PING_INTERVAL, this.options.maxPingOut || DEFAULT_MAX_PING_OUT);\n }\n resetOutbound() {\n this.outbound.reset();\n const pongs = this.pongs;\n this.pongs = [];\n const err = NatsError.errorForCode(ErrorCode.Disconnect);\n err.stack = \"\";\n pongs.forEach((p)=>{\n p.reject(err);\n });\n this.parser = new Parser(this);\n this.infoReceived = false;\n }\n dispatchStatus(status) {\n this.listeners.forEach((q)=>{\n q.push(status);\n });\n }\n status() {\n const iter = new QueuedIteratorImpl();\n this.listeners.push(iter);\n return iter;\n }\n prepare() {\n if (this.transport) {\n this.transport.discard();\n }\n this.info = undefined;\n this.resetOutbound();\n const pong = deferred();\n pong.catch(()=>{});\n this.pongs.unshift(pong);\n this.connectError = (err)=>{\n pong.reject(err);\n };\n this.transport = newTransport();\n this.transport.closed().then(async (_err)=>{\n this.connected = false;\n if (!this.isClosed()) {\n await this.disconnected(this.transport.closeError || this.lastError);\n return;\n }\n });\n return pong;\n }\n disconnect() {\n this.dispatchStatus({\n type: DebugEvents.StaleConnection,\n data: \"\"\n });\n this.transport.disconnect();\n }\n reconnect() {\n if (this.connected) {\n this.dispatchStatus({\n type: DebugEvents.ClientInitiatedReconnect,\n data: \"\"\n });\n this.transport.disconnect();\n }\n return Promise.resolve();\n }\n async disconnected(err) {\n this.dispatchStatus({\n type: Events.Disconnect,\n data: this.servers.getCurrentServer().toString()\n });\n if (this.options.reconnect) {\n await this.dialLoop().then(()=>{\n this.dispatchStatus({\n type: Events.Reconnect,\n data: this.servers.getCurrentServer().toString()\n });\n if (this.lastError?.code === ErrorCode.AuthenticationExpired) {\n this.lastError = undefined;\n }\n }).catch((err)=>{\n this._close(err);\n });\n } else {\n await this._close(err);\n }\n }\n async dial(srv) {\n const pong = this.prepare();\n let timer;\n try {\n timer = timeout(this.options.timeout || 20000);\n const cp = this.transport.connect(srv, this.options);\n await Promise.race([\n cp,\n timer\n ]);\n (async ()=>{\n try {\n for await (const b of this.transport){\n this.parser.parse(b);\n }\n } catch (err) {\n console.log(\"reader closed\", err);\n }\n })().then();\n } catch (err) {\n pong.reject(err);\n }\n try {\n await Promise.race([\n timer,\n pong\n ]);\n if (timer) {\n timer.cancel();\n }\n this.connected = true;\n this.connectError = undefined;\n this.sendSubscriptions();\n this.connectedOnce = true;\n this.server.didConnect = true;\n this.server.reconnects = 0;\n this.flushPending();\n this.heartbeats.start();\n } catch (err) {\n if (timer) {\n timer.cancel();\n }\n await this.transport.close(err);\n throw err;\n }\n }\n async _doDial(srv) {\n const { resolve } = this.options;\n const alts = await srv.resolve({\n fn: getResolveFn(),\n debug: this.options.debug,\n randomize: !this.options.noRandomize,\n resolve\n });\n let lastErr = null;\n for (const a of alts){\n try {\n lastErr = null;\n this.dispatchStatus({\n type: DebugEvents.Reconnecting,\n data: a.toString()\n });\n await this.dial(a);\n return;\n } catch (err) {\n lastErr = err;\n }\n }\n throw lastErr;\n }\n dialLoop() {\n if (this.connectPromise === null) {\n this.connectPromise = this.dodialLoop();\n this.connectPromise.then(()=>{}).catch(()=>{}).finally(()=>{\n this.connectPromise = null;\n });\n }\n return this.connectPromise;\n }\n async dodialLoop() {\n let lastError;\n while(true){\n if (this._closed) {\n this.servers.clear();\n }\n const wait = this.options.reconnectDelayHandler ? this.options.reconnectDelayHandler() : DEFAULT_RECONNECT_TIME_WAIT;\n let maxWait = wait;\n const srv = this.selectServer();\n if (!srv || this.abortReconnect) {\n if (lastError) {\n throw lastError;\n } else if (this.lastError) {\n throw this.lastError;\n } else {\n throw NatsError.errorForCode(ErrorCode.ConnectionRefused);\n }\n }\n const now = Date.now();\n if (srv.lastConnect === 0 || srv.lastConnect + wait <= now) {\n srv.lastConnect = Date.now();\n try {\n await this._doDial(srv);\n break;\n } catch (err) {\n lastError = err;\n if (!this.connectedOnce) {\n if (this.options.waitOnFirstConnect) {\n continue;\n }\n this.servers.removeCurrentServer();\n }\n srv.reconnects++;\n const mra = this.options.maxReconnectAttempts || 0;\n if (mra !== -1 && srv.reconnects >= mra) {\n this.servers.removeCurrentServer();\n }\n }\n } else {\n maxWait = Math.min(maxWait, srv.lastConnect + wait - now);\n await delay(maxWait);\n }\n }\n }\n static async connect(options, publisher) {\n const h = new ProtocolHandler(options, publisher);\n await h.dialLoop();\n return h;\n }\n static toError(s) {\n const t = s ? s.toLowerCase() : \"\";\n if (t.indexOf(\"permissions violation\") !== -1) {\n const err = new NatsError(s, ErrorCode.PermissionsViolation);\n const m = s.match(/(Publish|Subscription) to \"(\\S+)\"/);\n if (m) {\n err.permissionContext = {\n operation: m[1].toLowerCase(),\n subject: m[2],\n queue: undefined\n };\n const qm = s.match(/using queue \"(\\S+)\"/);\n if (qm) {\n err.permissionContext.queue = qm[1];\n }\n }\n return err;\n } else if (t.indexOf(\"authorization violation\") !== -1) {\n return new NatsError(s, ErrorCode.AuthorizationViolation);\n } else if (t.indexOf(\"user authentication expired\") !== -1) {\n return new NatsError(s, ErrorCode.AuthenticationExpired);\n } else if (t.indexOf(\"account authentication expired\") != -1) {\n return new NatsError(s, ErrorCode.AccountExpired);\n } else if (t.indexOf(\"authentication timeout\") !== -1) {\n return new NatsError(s, ErrorCode.AuthenticationTimeout);\n } else {\n return new NatsError(s, ErrorCode.ProtocolError);\n }\n }\n processMsg(msg, data) {\n this.inMsgs++;\n this.inBytes += data.length;\n if (!this.subscriptions.sidCounter) {\n return;\n }\n const sub = this.subscriptions.get(msg.sid);\n if (!sub) {\n return;\n }\n sub.received += 1;\n if (sub.callback) {\n sub.callback(null, new MsgImpl(msg, data, this));\n }\n if (sub.max !== undefined && sub.received >= sub.max) {\n sub.unsubscribe();\n }\n }\n processError(m) {\n const s = decode(m);\n const err = ProtocolHandler.toError(s);\n const status = {\n type: Events.Error,\n data: err.code\n };\n if (err.isPermissionError()) {\n let isMuxPermissionError = false;\n if (err.permissionContext) {\n status.permissionContext = err.permissionContext;\n const mux = this.subscriptions.getMux();\n isMuxPermissionError = mux?.subject === err.permissionContext.subject;\n }\n this.subscriptions.handleError(err);\n this.muxSubscriptions.handleError(isMuxPermissionError, err);\n if (isMuxPermissionError) {\n this.subscriptions.setMux(null);\n }\n }\n this.dispatchStatus(status);\n this.handleError(err);\n }\n handleError(err) {\n if (err.isAuthError()) {\n this.handleAuthError(err);\n } else if (err.isProtocolError()) {\n this.lastError = err;\n } else if (err.isAuthTimeout()) {\n this.lastError = err;\n }\n if (!err.isPermissionError()) {\n this.lastError = err;\n }\n }\n handleAuthError(err) {\n if (this.lastError && err.code === this.lastError.code && this.options.ignoreAuthErrorAbort === false) {\n this.abortReconnect = true;\n }\n if (this.connectError) {\n this.connectError(err);\n } else {\n this.disconnect();\n }\n }\n processPing() {\n this.transport.send(PONG_CMD);\n }\n processPong() {\n const cb = this.pongs.shift();\n if (cb) {\n cb.resolve();\n }\n }\n processInfo(m) {\n const info = JSON.parse(decode(m));\n this.info = info;\n const updates = this.options && this.options.ignoreClusterUpdates ? undefined : this.servers.update(info, this.transport.isEncrypted());\n if (!this.infoReceived) {\n this.features.update(parseSemVer(info.version));\n this.infoReceived = true;\n if (this.transport.isEncrypted()) {\n this.servers.updateTLSName();\n }\n const { version, lang } = this.transport;\n try {\n const c = new Connect({\n version,\n lang\n }, this.options, info.nonce);\n if (info.headers) {\n c.headers = true;\n c.no_responders = true;\n }\n const cs = JSON.stringify(c);\n this.transport.send(encode(`CONNECT ${cs}${CR_LF}`));\n this.transport.send(PING_CMD);\n } catch (err) {\n this._close(err);\n }\n }\n if (updates) {\n this.dispatchStatus({\n type: Events.Update,\n data: updates\n });\n }\n const ldm = info.ldm !== undefined ? info.ldm : false;\n if (ldm) {\n this.dispatchStatus({\n type: Events.LDM,\n data: this.servers.getCurrentServer().toString()\n });\n }\n }\n push(e) {\n switch(e.kind){\n case Kind.MSG:\n {\n const { msg, data } = e;\n this.processMsg(msg, data);\n break;\n }\n case Kind.OK:\n break;\n case Kind.ERR:\n this.processError(e.data);\n break;\n case Kind.PING:\n this.processPing();\n break;\n case Kind.PONG:\n this.processPong();\n break;\n case Kind.INFO:\n this.processInfo(e.data);\n break;\n }\n }\n sendCommand(cmd, ...payloads) {\n const len = this.outbound.length();\n let buf;\n if (typeof cmd === \"string\") {\n buf = encode(cmd);\n } else {\n buf = cmd;\n }\n this.outbound.fill(buf, ...payloads);\n if (len === 0) {\n queueMicrotask(()=>{\n this.flushPending();\n });\n } else if (this.outbound.size() >= this.pendingLimit) {\n this.flushPending();\n }\n }\n publish(subject, payload = Empty, options) {\n let data;\n if (payload instanceof Uint8Array) {\n data = payload;\n } else if (typeof payload === \"string\") {\n data = TE.encode(payload);\n } else {\n throw NatsError.errorForCode(ErrorCode.BadPayload);\n }\n let len = data.length;\n options = options || {};\n options.reply = options.reply || \"\";\n let headers = Empty;\n let hlen = 0;\n if (options.headers) {\n if (this.info && !this.info.headers) {\n throw new NatsError(\"headers\", ErrorCode.ServerOptionNotAvailable);\n }\n const hdrs = options.headers;\n headers = hdrs.encode();\n hlen = headers.length;\n len = data.length + hlen;\n }\n if (this.info && len > this.info.max_payload) {\n throw NatsError.errorForCode(ErrorCode.MaxPayloadExceeded);\n }\n this.outBytes += len;\n this.outMsgs++;\n let proto;\n if (options.headers) {\n if (options.reply) {\n proto = `HPUB ${subject} ${options.reply} ${hlen} ${len}\\r\\n`;\n } else {\n proto = `HPUB ${subject} ${hlen} ${len}\\r\\n`;\n }\n this.sendCommand(proto, headers, data, CRLF);\n } else {\n if (options.reply) {\n proto = `PUB ${subject} ${options.reply} ${len}\\r\\n`;\n } else {\n proto = `PUB ${subject} ${len}\\r\\n`;\n }\n this.sendCommand(proto, data, CRLF);\n }\n }\n request(r) {\n this.initMux();\n this.muxSubscriptions.add(r);\n return r;\n }\n subscribe(s) {\n this.subscriptions.add(s);\n this._subunsub(s);\n return s;\n }\n _sub(s) {\n if (s.queue) {\n this.sendCommand(`SUB ${s.subject} ${s.queue} ${s.sid}\\r\\n`);\n } else {\n this.sendCommand(`SUB ${s.subject} ${s.sid}\\r\\n`);\n }\n }\n _subunsub(s) {\n this._sub(s);\n if (s.max) {\n this.unsubscribe(s, s.max);\n }\n return s;\n }\n unsubscribe(s, max) {\n this.unsub(s, max);\n if (s.max === undefined || s.received >= s.max) {\n this.subscriptions.cancel(s);\n }\n }\n unsub(s, max) {\n if (!s || this.isClosed()) {\n return;\n }\n if (max) {\n this.sendCommand(`UNSUB ${s.sid} ${max}\\r\\n`);\n } else {\n this.sendCommand(`UNSUB ${s.sid}\\r\\n`);\n }\n s.max = max;\n }\n resub(s, subject) {\n if (!s || this.isClosed()) {\n return;\n }\n this.unsub(s);\n s.subject = subject;\n this.subscriptions.resub(s);\n this._sub(s);\n }\n flush(p) {\n if (!p) {\n p = deferred();\n }\n this.pongs.push(p);\n this.outbound.fill(PING_CMD);\n this.flushPending();\n return p;\n }\n sendSubscriptions() {\n const cmds = [];\n this.subscriptions.all().forEach((s)=>{\n const sub = s;\n if (sub.queue) {\n cmds.push(`SUB ${sub.subject} ${sub.queue} ${sub.sid}${CR_LF}`);\n } else {\n cmds.push(`SUB ${sub.subject} ${sub.sid}${CR_LF}`);\n }\n });\n if (cmds.length) {\n this.transport.send(encode(cmds.join(\"\")));\n }\n }\n async _close(err) {\n if (this._closed) {\n return;\n }\n this.whyClosed = new Error(\"close trace\").stack || \"\";\n this.heartbeats.cancel();\n if (this.connectError) {\n this.connectError(err);\n this.connectError = undefined;\n }\n this.muxSubscriptions.close();\n this.subscriptions.close();\n this.listeners.forEach((l)=>{\n l.stop();\n });\n this._closed = true;\n await this.transport.close(err);\n await this.closed.resolve(err);\n }\n close() {\n return this._close();\n }\n isClosed() {\n return this._closed;\n }\n drain() {\n const subs = this.subscriptions.all();\n const promises = [];\n subs.forEach((sub)=>{\n promises.push(sub.drain());\n });\n return Promise.all(promises).then(async ()=>{\n this.noMorePublishing = true;\n await this.flush();\n return this.close();\n }).catch(()=>{});\n }\n flushPending() {\n if (!this.infoReceived || !this.connected) {\n return;\n }\n if (this.outbound.size()) {\n const d = this.outbound.drain();\n this.transport.send(d);\n }\n }\n initMux() {\n const mux = this.subscriptions.getMux();\n if (!mux) {\n const inbox = this.muxSubscriptions.init(this.options.inboxPrefix);\n const sub = new SubscriptionImpl(this, `${inbox}*`);\n sub.callback = this.muxSubscriptions.dispatcher();\n this.subscriptions.setMux(sub);\n this.subscribe(sub);\n }\n }\n selectServer() {\n const server = this.servers.selectServer();\n if (server === undefined) {\n return undefined;\n }\n this.server = server;\n return this.server;\n }\n getServer() {\n return this.server;\n }\n}\nconst ServiceApiPrefix = \"$SRV\";\nclass ServiceMsgImpl {\n msg;\n constructor(msg){\n this.msg = msg;\n }\n get data() {\n return this.msg.data;\n }\n get sid() {\n return this.msg.sid;\n }\n get subject() {\n return this.msg.subject;\n }\n get reply() {\n return this.msg.reply || \"\";\n }\n get headers() {\n return this.msg.headers;\n }\n respond(data, opts) {\n return this.msg.respond(data, opts);\n }\n respondError(code, description, data, opts) {\n opts = opts || {};\n opts.headers = opts.headers || headers();\n opts.headers?.set(ServiceErrorCodeHeader, `${code}`);\n opts.headers?.set(ServiceErrorHeader, description);\n return this.msg.respond(data, opts);\n }\n json(reviver) {\n return this.msg.json(reviver);\n }\n string() {\n return this.msg.string();\n }\n}\nclass ServiceGroupImpl {\n subject;\n queue;\n srv;\n constructor(parent, name = \"\", queue = \"\"){\n if (name !== \"\") {\n validInternalToken(\"service group\", name);\n }\n let root = \"\";\n if (parent instanceof ServiceImpl) {\n this.srv = parent;\n root = \"\";\n } else if (parent instanceof ServiceGroupImpl) {\n const sg = parent;\n this.srv = sg.srv;\n if (queue === \"\" && sg.queue !== \"\") {\n queue = sg.queue;\n }\n root = sg.subject;\n } else {\n throw new Error(\"unknown ServiceGroup type\");\n }\n this.subject = this.calcSubject(root, name);\n this.queue = queue;\n }\n calcSubject(root, name = \"\") {\n if (name === \"\") {\n return root;\n }\n return root !== \"\" ? `${root}.${name}` : name;\n }\n addEndpoint(name = \"\", opts) {\n opts = opts || {\n subject: name\n };\n const args = typeof opts === \"function\" ? {\n handler: opts,\n subject: name\n } : opts;\n validateName(\"endpoint\", name);\n let { subject, handler, metadata, queue } = args;\n subject = subject || name;\n queue = queue || this.queue;\n validSubjectName(\"endpoint subject\", subject);\n subject = this.calcSubject(this.subject, subject);\n const ne = {\n name,\n subject,\n queue,\n handler,\n metadata\n };\n return this.srv._addEndpoint(ne);\n }\n addGroup(name = \"\", queue = \"\") {\n return new ServiceGroupImpl(this, name, queue);\n }\n}\nfunction validSubjectName(context, subj) {\n if (subj === \"\") {\n throw new Error(`${context} cannot be empty`);\n }\n if (subj.indexOf(\" \") !== -1) {\n throw new Error(`${context} cannot contain spaces: '${subj}'`);\n }\n const tokens = subj.split(\".\");\n tokens.forEach((v, idx)=>{\n if (v === \">\" && idx !== tokens.length - 1) {\n throw new Error(`${context} cannot have internal '>': '${subj}'`);\n }\n });\n}\nfunction validInternalToken(context, subj) {\n if (subj.indexOf(\" \") !== -1) {\n throw new Error(`${context} cannot contain spaces: '${subj}'`);\n }\n const tokens = subj.split(\".\");\n tokens.forEach((v)=>{\n if (v === \">\") {\n throw new Error(`${context} name cannot contain internal '>': '${subj}'`);\n }\n });\n}\nclass ServiceImpl {\n nc;\n _id;\n config;\n handlers;\n internal;\n _stopped;\n _done;\n started;\n static controlSubject(verb, name = \"\", id = \"\", prefix) {\n const pre = prefix ?? ServiceApiPrefix;\n if (name === \"\" && id === \"\") {\n return `${pre}.${verb}`;\n }\n validateName(\"control subject name\", name);\n if (id !== \"\") {\n validateName(\"control subject id\", id);\n return `${pre}.${verb}.${name}.${id}`;\n }\n return `${pre}.${verb}.${name}`;\n }\n constructor(nc, config = {\n name: \"\",\n version: \"\"\n }){\n this.nc = nc;\n this.config = Object.assign({}, config);\n if (!this.config.queue) {\n this.config.queue = \"q\";\n }\n validateName(\"name\", this.config.name);\n validateName(\"queue\", this.config.queue);\n parseSemVer(this.config.version);\n this._id = nuid.next();\n this.internal = [];\n this._done = deferred();\n this._stopped = false;\n this.handlers = [];\n this.started = new Date().toISOString();\n this.reset();\n this.nc.closed().then(()=>{\n this.close().catch();\n }).catch((err)=>{\n this.close(err).catch();\n });\n }\n get subjects() {\n return this.handlers.filter((s)=>{\n return s.internal === false;\n }).map((s)=>{\n return s.subject;\n });\n }\n get id() {\n return this._id;\n }\n get name() {\n return this.config.name;\n }\n get description() {\n return this.config.description ?? \"\";\n }\n get version() {\n return this.config.version;\n }\n get metadata() {\n return this.config.metadata;\n }\n errorToHeader(err) {\n const h = headers();\n if (err instanceof ServiceError) {\n const se = err;\n h.set(ServiceErrorHeader, se.message);\n h.set(ServiceErrorCodeHeader, `${se.code}`);\n } else {\n h.set(ServiceErrorHeader, err.message);\n h.set(ServiceErrorCodeHeader, \"500\");\n }\n return h;\n }\n setupHandler(h, internal = false) {\n const queue = internal ? \"\" : h.queue ? h.queue : this.config.queue;\n const { name, subject, handler } = h;\n const sv = h;\n sv.internal = internal;\n if (internal) {\n this.internal.push(sv);\n }\n sv.stats = new NamedEndpointStatsImpl(name, subject, queue);\n sv.queue = queue;\n const callback = handler ? (err, msg)=>{\n if (err) {\n this.close(err);\n return;\n }\n const start = Date.now();\n try {\n handler(err, new ServiceMsgImpl(msg));\n } catch (err) {\n sv.stats.countError(err);\n msg?.respond(Empty, {\n headers: this.errorToHeader(err)\n });\n } finally{\n sv.stats.countLatency(start);\n }\n } : undefined;\n sv.sub = this.nc.subscribe(subject, {\n callback,\n queue\n });\n sv.sub.closed.then(()=>{\n if (!this._stopped) {\n this.close(new Error(`required subscription ${h.subject} stopped`)).catch();\n }\n }).catch((err)=>{\n if (!this._stopped) {\n const ne = new Error(`required subscription ${h.subject} errored: ${err.message}`);\n ne.stack = err.stack;\n this.close(ne).catch();\n }\n });\n return sv;\n }\n info() {\n return {\n type: ServiceResponseType.INFO,\n name: this.name,\n id: this.id,\n version: this.version,\n description: this.description,\n metadata: this.metadata,\n endpoints: this.endpoints()\n };\n }\n endpoints() {\n return this.handlers.map((v)=>{\n const { subject, metadata, name, queue } = v;\n return {\n subject,\n metadata,\n name,\n queue_group: queue\n };\n });\n }\n async stats() {\n const endpoints = [];\n for (const h of this.handlers){\n if (typeof this.config.statsHandler === \"function\") {\n try {\n h.stats.data = await this.config.statsHandler(h);\n } catch (err) {\n h.stats.countError(err);\n }\n }\n endpoints.push(h.stats.stats(h.qi));\n }\n return {\n type: ServiceResponseType.STATS,\n name: this.name,\n id: this.id,\n version: this.version,\n started: this.started,\n metadata: this.metadata,\n endpoints\n };\n }\n addInternalHandler(verb, handler) {\n const v = `${verb}`.toUpperCase();\n this._doAddInternalHandler(`${v}-all`, verb, handler);\n this._doAddInternalHandler(`${v}-kind`, verb, handler, this.name);\n this._doAddInternalHandler(`${v}`, verb, handler, this.name, this.id);\n }\n _doAddInternalHandler(name, verb, handler, kind = \"\", id = \"\") {\n const endpoint = {};\n endpoint.name = name;\n endpoint.subject = ServiceImpl.controlSubject(verb, kind, id);\n endpoint.handler = handler;\n this.setupHandler(endpoint, true);\n }\n start() {\n const jc = JSONCodec();\n const statsHandler = (err, msg)=>{\n if (err) {\n this.close(err);\n return Promise.reject(err);\n }\n return this.stats().then((s)=>{\n msg?.respond(jc.encode(s));\n return Promise.resolve();\n });\n };\n const infoHandler = (err, msg)=>{\n if (err) {\n this.close(err);\n return Promise.reject(err);\n }\n msg?.respond(jc.encode(this.info()));\n return Promise.resolve();\n };\n const ping = jc.encode(this.ping());\n const pingHandler = (err, msg)=>{\n if (err) {\n this.close(err).then().catch();\n return Promise.reject(err);\n }\n msg.respond(ping);\n return Promise.resolve();\n };\n this.addInternalHandler(ServiceVerb.PING, pingHandler);\n this.addInternalHandler(ServiceVerb.STATS, statsHandler);\n this.addInternalHandler(ServiceVerb.INFO, infoHandler);\n this.handlers.forEach((h)=>{\n const { subject } = h;\n if (typeof subject !== \"string\") {\n return;\n }\n if (h.handler === null) {\n return;\n }\n this.setupHandler(h);\n });\n return Promise.resolve(this);\n }\n close(err) {\n if (this._stopped) {\n return this._done;\n }\n this._stopped = true;\n let buf = [];\n if (!this.nc.isClosed()) {\n buf = this.handlers.concat(this.internal).map((h)=>{\n return h.sub.drain();\n });\n }\n Promise.allSettled(buf).then(()=>{\n this._done.resolve(err ? err : null);\n });\n return this._done;\n }\n get stopped() {\n return this._done;\n }\n get isStopped() {\n return this._stopped;\n }\n stop(err) {\n return this.close(err);\n }\n ping() {\n return {\n type: ServiceResponseType.PING,\n name: this.name,\n id: this.id,\n version: this.version,\n metadata: this.metadata\n };\n }\n reset() {\n this.started = new Date().toISOString();\n if (this.handlers) {\n for (const h of this.handlers){\n h.stats.reset(h.qi);\n }\n }\n }\n addGroup(name, queue) {\n return new ServiceGroupImpl(this, name, queue);\n }\n addEndpoint(name, handler) {\n const sg = new ServiceGroupImpl(this);\n return sg.addEndpoint(name, handler);\n }\n _addEndpoint(e) {\n const qi = new QueuedIteratorImpl();\n qi.noIterator = typeof e.handler === \"function\";\n if (!qi.noIterator) {\n e.handler = (err, msg)=>{\n err ? this.stop(err).catch() : qi.push(new ServiceMsgImpl(msg));\n };\n qi.iterClosed.then(()=>{\n this.close().catch();\n });\n }\n const ss = this.setupHandler(e, false);\n ss.qi = qi;\n this.handlers.push(ss);\n return qi;\n }\n}\nclass NamedEndpointStatsImpl {\n name;\n subject;\n average_processing_time;\n num_requests;\n processing_time;\n num_errors;\n last_error;\n data;\n metadata;\n queue;\n constructor(name, subject, queue = \"\"){\n this.name = name;\n this.subject = subject;\n this.average_processing_time = 0;\n this.num_errors = 0;\n this.num_requests = 0;\n this.processing_time = 0;\n this.queue = queue;\n }\n reset(qi) {\n this.num_requests = 0;\n this.processing_time = 0;\n this.average_processing_time = 0;\n this.num_errors = 0;\n this.last_error = undefined;\n this.data = undefined;\n const qii = qi;\n if (qii) {\n qii.time = 0;\n qii.processed = 0;\n }\n }\n countLatency(start) {\n this.num_requests++;\n this.processing_time += nanos(Date.now() - start);\n this.average_processing_time = Math.round(this.processing_time / this.num_requests);\n }\n countError(err) {\n this.num_errors++;\n this.last_error = err.message;\n }\n _stats() {\n const { name, subject, average_processing_time, num_errors, num_requests, processing_time, last_error, data, queue } = this;\n return {\n name,\n subject,\n average_processing_time,\n num_errors,\n num_requests,\n processing_time,\n last_error,\n data,\n queue_group: queue\n };\n }\n stats(qi) {\n const qii = qi;\n if (qii?.noIterator === false) {\n this.processing_time = qii.time;\n this.num_requests = qii.processed;\n this.average_processing_time = this.processing_time > 0 && this.num_requests > 0 ? this.processing_time / this.num_requests : 0;\n }\n return this._stats();\n }\n}\nclass ServiceClientImpl {\n nc;\n prefix;\n opts;\n constructor(nc, opts = {\n strategy: RequestStrategy.JitterTimer,\n maxWait: 2000\n }, prefix){\n this.nc = nc;\n this.prefix = prefix;\n this.opts = opts;\n }\n ping(name = \"\", id = \"\") {\n return this.q(ServiceVerb.PING, name, id);\n }\n stats(name = \"\", id = \"\") {\n return this.q(ServiceVerb.STATS, name, id);\n }\n info(name = \"\", id = \"\") {\n return this.q(ServiceVerb.INFO, name, id);\n }\n async q(v, name = \"\", id = \"\") {\n const iter = new QueuedIteratorImpl();\n const jc = JSONCodec();\n const subj = ServiceImpl.controlSubject(v, name, id, this.prefix);\n const responses = await this.nc.requestMany(subj, Empty, this.opts);\n (async ()=>{\n for await (const m of responses){\n try {\n const s = jc.decode(m.data);\n iter.push(s);\n } catch (err) {\n iter.push(()=>{\n iter.stop(err);\n });\n }\n }\n iter.push(()=>{\n iter.stop();\n });\n })().catch((err)=>{\n iter.stop(err);\n });\n return iter;\n }\n}\nclass Metric {\n name;\n duration;\n date;\n payload;\n msgs;\n lang;\n version;\n bytes;\n asyncRequests;\n min;\n max;\n constructor(name, duration){\n this.name = name;\n this.duration = duration;\n this.date = Date.now();\n this.payload = 0;\n this.msgs = 0;\n this.bytes = 0;\n }\n toString() {\n const sec = this.duration / 1000;\n const mps = Math.round(this.msgs / sec);\n const label = this.asyncRequests ? \"asyncRequests\" : \"\";\n let minmax = \"\";\n if (this.max) {\n minmax = `${this.min}/${this.max}`;\n }\n return `${this.name}${label ? \" [asyncRequests]\" : \"\"} ${humanizeNumber(mps)} msgs/sec - [${sec.toFixed(2)} secs] ~ ${throughput(this.bytes, sec)} ${minmax}`;\n }\n toCsv() {\n return `\"${this.name}\",${new Date(this.date).toISOString()},${this.lang},${this.version},${this.msgs},${this.payload},${this.bytes},${this.duration},${this.asyncRequests ? this.asyncRequests : false}\\n`;\n }\n static header() {\n return `Test,Date,Lang,Version,Count,MsgPayload,Bytes,Millis,Async\\n`;\n }\n}\nclass Bench {\n nc;\n callbacks;\n msgs;\n size;\n subject;\n asyncRequests;\n pub;\n sub;\n req;\n rep;\n perf;\n payload;\n constructor(nc, opts = {\n msgs: 100000,\n size: 128,\n subject: \"\",\n asyncRequests: false,\n pub: false,\n sub: false,\n req: false,\n rep: false\n }){\n this.nc = nc;\n this.callbacks = opts.callbacks || false;\n this.msgs = opts.msgs || 0;\n this.size = opts.size || 0;\n this.subject = opts.subject || nuid.next();\n this.asyncRequests = opts.asyncRequests || false;\n this.pub = opts.pub || false;\n this.sub = opts.sub || false;\n this.req = opts.req || false;\n this.rep = opts.rep || false;\n this.perf = new Perf();\n this.payload = this.size ? new Uint8Array(this.size) : Empty;\n if (!this.pub && !this.sub && !this.req && !this.rep) {\n throw new Error(\"no bench option selected\");\n }\n }\n async run() {\n this.nc.closed().then((err)=>{\n if (err) {\n throw new NatsError(`bench closed with an error: ${err.message}`, ErrorCode.Unknown, err);\n }\n });\n if (this.callbacks) {\n await this.runCallbacks();\n } else {\n await this.runAsync();\n }\n return this.processMetrics();\n }\n processMetrics() {\n const nc = this.nc;\n const { lang, version } = nc.protocol.transport;\n if (this.pub && this.sub) {\n this.perf.measure(\"pubsub\", \"pubStart\", \"subStop\");\n }\n if (this.req && this.rep) {\n this.perf.measure(\"reqrep\", \"reqStart\", \"reqStop\");\n }\n const measures = this.perf.getEntries();\n const pubsub = measures.find((m)=>m.name === \"pubsub\");\n const reqrep = measures.find((m)=>m.name === \"reqrep\");\n const req = measures.find((m)=>m.name === \"req\");\n const rep = measures.find((m)=>m.name === \"rep\");\n const pub = measures.find((m)=>m.name === \"pub\");\n const sub = measures.find((m)=>m.name === \"sub\");\n const stats = this.nc.stats();\n const metrics = [];\n if (pubsub) {\n const { name, duration } = pubsub;\n const m = new Metric(name, duration);\n m.msgs = this.msgs * 2;\n m.bytes = stats.inBytes + stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (reqrep) {\n const { name, duration } = reqrep;\n const m = new Metric(name, duration);\n m.msgs = this.msgs * 2;\n m.bytes = stats.inBytes + stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (pub) {\n const { name, duration } = pub;\n const m = new Metric(name, duration);\n m.msgs = this.msgs;\n m.bytes = stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (sub) {\n const { name, duration } = sub;\n const m = new Metric(name, duration);\n m.msgs = this.msgs;\n m.bytes = stats.inBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (rep) {\n const { name, duration } = rep;\n const m = new Metric(name, duration);\n m.msgs = this.msgs;\n m.bytes = stats.inBytes + stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (req) {\n const { name, duration } = req;\n const m = new Metric(name, duration);\n m.msgs = this.msgs;\n m.bytes = stats.inBytes + stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n return metrics;\n }\n async runCallbacks() {\n const jobs = [];\n if (this.sub) {\n const d = deferred();\n jobs.push(d);\n let i = 0;\n this.nc.subscribe(this.subject, {\n max: this.msgs,\n callback: ()=>{\n i++;\n if (i === 1) {\n this.perf.mark(\"subStart\");\n }\n if (i === this.msgs) {\n this.perf.mark(\"subStop\");\n this.perf.measure(\"sub\", \"subStart\", \"subStop\");\n d.resolve();\n }\n }\n });\n }\n if (this.rep) {\n const d = deferred();\n jobs.push(d);\n let i = 0;\n this.nc.subscribe(this.subject, {\n max: this.msgs,\n callback: (_, m)=>{\n m.respond(this.payload);\n i++;\n if (i === 1) {\n this.perf.mark(\"repStart\");\n }\n if (i === this.msgs) {\n this.perf.mark(\"repStop\");\n this.perf.measure(\"rep\", \"repStart\", \"repStop\");\n d.resolve();\n }\n }\n });\n }\n if (this.pub) {\n const job = (async ()=>{\n this.perf.mark(\"pubStart\");\n for(let i = 0; i < this.msgs; i++){\n this.nc.publish(this.subject, this.payload);\n }\n await this.nc.flush();\n this.perf.mark(\"pubStop\");\n this.perf.measure(\"pub\", \"pubStart\", \"pubStop\");\n })();\n jobs.push(job);\n }\n if (this.req) {\n const job = (async ()=>{\n if (this.asyncRequests) {\n this.perf.mark(\"reqStart\");\n const a = [];\n for(let i = 0; i < this.msgs; i++){\n a.push(this.nc.request(this.subject, this.payload, {\n timeout: 20000\n }));\n }\n await Promise.all(a);\n this.perf.mark(\"reqStop\");\n this.perf.measure(\"req\", \"reqStart\", \"reqStop\");\n } else {\n this.perf.mark(\"reqStart\");\n for(let i = 0; i < this.msgs; i++){\n await this.nc.request(this.subject);\n }\n this.perf.mark(\"reqStop\");\n this.perf.measure(\"req\", \"reqStart\", \"reqStop\");\n }\n })();\n jobs.push(job);\n }\n await Promise.all(jobs);\n }\n async runAsync() {\n const jobs = [];\n if (this.rep) {\n let first = false;\n const sub = this.nc.subscribe(this.subject, {\n max: this.msgs\n });\n const job = (async ()=>{\n for await (const m of sub){\n if (!first) {\n this.perf.mark(\"repStart\");\n first = true;\n }\n m.respond(this.payload);\n }\n await this.nc.flush();\n this.perf.mark(\"repStop\");\n this.perf.measure(\"rep\", \"repStart\", \"repStop\");\n })();\n jobs.push(job);\n }\n if (this.sub) {\n let first = false;\n const sub = this.nc.subscribe(this.subject, {\n max: this.msgs\n });\n const job = (async ()=>{\n for await (const _m of sub){\n if (!first) {\n this.perf.mark(\"subStart\");\n first = true;\n }\n }\n this.perf.mark(\"subStop\");\n this.perf.measure(\"sub\", \"subStart\", \"subStop\");\n })();\n jobs.push(job);\n }\n if (this.pub) {\n const job = (async ()=>{\n this.perf.mark(\"pubStart\");\n for(let i = 0; i < this.msgs; i++){\n this.nc.publish(this.subject, this.payload);\n }\n await this.nc.flush();\n this.perf.mark(\"pubStop\");\n this.perf.measure(\"pub\", \"pubStart\", \"pubStop\");\n })();\n jobs.push(job);\n }\n if (this.req) {\n const job = (async ()=>{\n if (this.asyncRequests) {\n this.perf.mark(\"reqStart\");\n const a = [];\n for(let i = 0; i < this.msgs; i++){\n a.push(this.nc.request(this.subject, this.payload, {\n timeout: 20000\n }));\n }\n await Promise.all(a);\n this.perf.mark(\"reqStop\");\n this.perf.measure(\"req\", \"reqStart\", \"reqStop\");\n } else {\n this.perf.mark(\"reqStart\");\n for(let i = 0; i < this.msgs; i++){\n await this.nc.request(this.subject);\n }\n this.perf.mark(\"reqStop\");\n this.perf.measure(\"req\", \"reqStart\", \"reqStop\");\n }\n })();\n jobs.push(job);\n }\n await Promise.all(jobs);\n }\n}\nfunction throughput(bytes, seconds) {\n return `${humanizeBytes(bytes / seconds)}/sec`;\n}\nfunction humanizeBytes(bytes, si = false) {\n const base = si ? 1000 : 1024;\n const pre = si ? [\n \"k\",\n \"M\",\n \"G\",\n \"T\",\n \"P\",\n \"E\"\n ] : [\n \"K\",\n \"M\",\n \"G\",\n \"T\",\n \"P\",\n \"E\"\n ];\n const post = si ? \"iB\" : \"B\";\n if (bytes < base) {\n return `${bytes.toFixed(2)} ${post}`;\n }\n const exp = parseInt(Math.log(bytes) / Math.log(base) + \"\");\n const index = parseInt(exp - 1 + \"\");\n return `${(bytes / Math.pow(base, exp)).toFixed(2)} ${pre[index]}${post}`;\n}\nfunction humanizeNumber(n) {\n return n.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n}\nexport { backoff as backoff, Bench as Bench, buildAuthenticator as buildAuthenticator, canonicalMIMEHeaderKey as canonicalMIMEHeaderKey, createInbox as createInbox, credsAuthenticator as credsAuthenticator, deadline as deadline, DebugEvents as DebugEvents, deferred as deferred, delay as delay, Empty as Empty, ErrorCode as ErrorCode, Events as Events, headers as headers, JSONCodec as JSONCodec, jwtAuthenticator as jwtAuthenticator, Match as Match, Metric as Metric, millis as millis, MsgHdrsImpl as MsgHdrsImpl, nanos as nanos, NatsError as NatsError, nkeyAuthenticator as nkeyAuthenticator, mod as nkeys, Nuid as Nuid, nuid as nuid, RequestStrategy as RequestStrategy, ServiceError as ServiceError, ServiceErrorCodeHeader as ServiceErrorCodeHeader, ServiceErrorHeader as ServiceErrorHeader, ServiceResponseType as ServiceResponseType, ServiceVerb as ServiceVerb, StringCodec as StringCodec, syncIterator as syncIterator, tokenAuthenticator as tokenAuthenticator, usernamePasswordAuthenticator as usernamePasswordAuthenticator };\nfunction NoopKvCodecs() {\n return {\n key: {\n encode (k) {\n return k;\n },\n decode (k) {\n return k;\n }\n },\n value: {\n encode (v) {\n return v;\n },\n decode (v) {\n return v;\n }\n }\n };\n}\nfunction defaultBucketOpts() {\n return {\n replicas: 1,\n history: 1,\n timeout: 2000,\n max_bytes: -1,\n maxValueSize: -1,\n codec: NoopKvCodecs(),\n storage: StorageType.File\n };\n}\nconst kvOperationHdr = \"KV-Operation\";\nconst kvSubjectPrefix = \"$KV\";\nconst validKeyRe = /^[-/=.\\w]+$/;\nconst validSearchKey = /^[-/=.>*\\w]+$/;\nconst validBucketRe = /^[-\\w]+$/;\nfunction validateKey(k) {\n if (k.startsWith(\".\") || k.endsWith(\".\") || !validKeyRe.test(k)) {\n throw new Error(`invalid key: ${k}`);\n }\n}\nfunction validateSearchKey(k) {\n if (k.startsWith(\".\") || k.endsWith(\".\") || !validSearchKey.test(k)) {\n throw new Error(`invalid key: ${k}`);\n }\n}\nfunction hasWildcards(k) {\n if (k.startsWith(\".\") || k.endsWith(\".\")) {\n throw new Error(`invalid key: ${k}`);\n }\n const chunks = k.split(\".\");\n let hasWildcards = false;\n for(let i = 0; i < chunks.length; i++){\n switch(chunks[i]){\n case \"*\":\n hasWildcards = true;\n break;\n case \">\":\n if (i !== chunks.length - 1) {\n throw new Error(`invalid key: ${k}`);\n }\n hasWildcards = true;\n break;\n default:\n }\n }\n return hasWildcards;\n}\nfunction validateBucket(name) {\n if (!validBucketRe.test(name)) {\n throw new Error(`invalid bucket name: ${name}`);\n }\n}\nvar PubHeaders;\n(function(PubHeaders) {\n PubHeaders[\"MsgIdHdr\"] = \"Nats-Msg-Id\";\n PubHeaders[\"ExpectedStreamHdr\"] = \"Nats-Expected-Stream\";\n PubHeaders[\"ExpectedLastSeqHdr\"] = \"Nats-Expected-Last-Sequence\";\n PubHeaders[\"ExpectedLastMsgIdHdr\"] = \"Nats-Expected-Last-Msg-Id\";\n PubHeaders[\"ExpectedLastSubjectSequenceHdr\"] = \"Nats-Expected-Last-Subject-Sequence\";\n})(PubHeaders || (PubHeaders = {}));\nclass Bucket {\n js;\n jsm;\n stream;\n bucket;\n direct;\n codec;\n prefix;\n editPrefix;\n useJsPrefix;\n _prefixLen;\n constructor(bucket, js, jsm){\n validateBucket(bucket);\n this.js = js;\n this.jsm = jsm;\n this.bucket = bucket;\n this.prefix = kvSubjectPrefix;\n this.editPrefix = \"\";\n this.useJsPrefix = false;\n this._prefixLen = 0;\n }\n static async create(js, name, opts = {}) {\n validateBucket(name);\n const jsm = await js.jetstreamManager();\n const bucket = new Bucket(name, js, jsm);\n await bucket.init(opts);\n return bucket;\n }\n static async bind(js, name, opts = {}) {\n const jsm = await js.jetstreamManager();\n const info = {\n config: {\n allow_direct: opts.allow_direct\n }\n };\n validateBucket(name);\n const bucket = new Bucket(name, js, jsm);\n info.config.name = opts.streamName ?? bucket.bucketName();\n Object.assign(bucket, info);\n bucket.stream = info.config.name;\n bucket.codec = opts.codec || NoopKvCodecs();\n bucket.direct = info.config.allow_direct ?? false;\n bucket.initializePrefixes(info);\n return bucket;\n }\n async init(opts = {}) {\n const bo = Object.assign(defaultBucketOpts(), opts);\n this.codec = bo.codec;\n const sc = {};\n this.stream = sc.name = opts.streamName ?? this.bucketName();\n sc.retention = RetentionPolicy.Limits;\n sc.max_msgs_per_subject = bo.history;\n if (bo.maxBucketSize) {\n bo.max_bytes = bo.maxBucketSize;\n }\n if (bo.max_bytes) {\n sc.max_bytes = bo.max_bytes;\n }\n sc.max_msg_size = bo.maxValueSize;\n sc.storage = bo.storage;\n const location = opts.placementCluster ?? \"\";\n if (location) {\n opts.placement = {};\n opts.placement.cluster = location;\n opts.placement.tags = [];\n }\n if (opts.placement) {\n sc.placement = opts.placement;\n }\n if (opts.republish) {\n sc.republish = opts.republish;\n }\n if (opts.description) {\n sc.description = opts.description;\n }\n if (opts.mirror) {\n const mirror = Object.assign({}, opts.mirror);\n if (!mirror.name.startsWith(kvPrefix)) {\n mirror.name = `${kvPrefix}${mirror.name}`;\n }\n sc.mirror = mirror;\n sc.mirror_direct = true;\n } else if (opts.sources) {\n const sources = opts.sources.map((s)=>{\n const c = Object.assign({}, s);\n const srcBucketName = c.name.startsWith(kvPrefix) ? c.name.substring(kvPrefix.length) : c.name;\n if (!c.name.startsWith(kvPrefix)) {\n c.name = `${kvPrefix}${c.name}`;\n }\n if (!s.external && srcBucketName !== this.bucket) {\n c.subject_transforms = [\n {\n src: `$KV.${srcBucketName}.>`,\n dest: `$KV.${this.bucket}.>`\n }\n ];\n }\n return c;\n });\n sc.sources = sources;\n sc.subjects = [\n this.subjectForBucket()\n ];\n } else {\n sc.subjects = [\n this.subjectForBucket()\n ];\n }\n if (opts.metadata) {\n sc.metadata = opts.metadata;\n }\n if (typeof opts.compression === \"boolean\") {\n sc.compression = opts.compression ? StoreCompression.S2 : StoreCompression.None;\n }\n const nci = this.js.nc;\n const have = nci.getServerVersion();\n const discardNew = have ? compare(have, parseSemVer(\"2.7.2\")) >= 0 : false;\n sc.discard = discardNew ? DiscardPolicy.New : DiscardPolicy.Old;\n const { ok: direct, min } = nci.features.get(Feature.JS_ALLOW_DIRECT);\n if (!direct && opts.allow_direct === true) {\n const v = have ? `${have.major}.${have.minor}.${have.micro}` : \"unknown\";\n return Promise.reject(new Error(`allow_direct is not available on server version ${v} - requires ${min}`));\n }\n opts.allow_direct = typeof opts.allow_direct === \"boolean\" ? opts.allow_direct : direct;\n sc.allow_direct = opts.allow_direct;\n this.direct = sc.allow_direct;\n sc.num_replicas = bo.replicas;\n if (bo.ttl) {\n sc.max_age = nanos(bo.ttl);\n }\n sc.allow_rollup_hdrs = true;\n let info;\n try {\n info = await this.jsm.streams.info(sc.name);\n if (!info.config.allow_direct && this.direct === true) {\n this.direct = false;\n }\n } catch (err) {\n if (err.message === \"stream not found\") {\n info = await this.jsm.streams.add(sc);\n } else {\n throw err;\n }\n }\n this.initializePrefixes(info);\n }\n initializePrefixes(info) {\n this._prefixLen = 0;\n this.prefix = `$KV.${this.bucket}`;\n this.useJsPrefix = this.js.apiPrefix !== \"$JS.API\";\n const { mirror } = info.config;\n if (mirror) {\n let n = mirror.name;\n if (n.startsWith(kvPrefix)) {\n n = n.substring(kvPrefix.length);\n }\n if (mirror.external && mirror.external.api !== \"\") {\n const mb = mirror.name.substring(kvPrefix.length);\n this.useJsPrefix = false;\n this.prefix = `$KV.${mb}`;\n this.editPrefix = `${mirror.external.api}.$KV.${n}`;\n } else {\n this.editPrefix = this.prefix;\n }\n }\n }\n bucketName() {\n return this.stream ?? `${kvPrefix}${this.bucket}`;\n }\n subjectForBucket() {\n return `${this.prefix}.${this.bucket}.>`;\n }\n subjectForKey(k, edit = false) {\n const builder = [];\n if (edit) {\n if (this.useJsPrefix) {\n builder.push(this.js.apiPrefix);\n }\n if (this.editPrefix !== \"\") {\n builder.push(this.editPrefix);\n } else {\n builder.push(this.prefix);\n }\n } else {\n if (this.prefix) {\n builder.push(this.prefix);\n }\n }\n builder.push(k);\n return builder.join(\".\");\n }\n fullKeyName(k) {\n if (this.prefix !== \"\") {\n return `${this.prefix}.${k}`;\n }\n return `${kvSubjectPrefix}.${this.bucket}.${k}`;\n }\n get prefixLen() {\n if (this._prefixLen === 0) {\n this._prefixLen = this.prefix.length + 1;\n }\n return this._prefixLen;\n }\n encodeKey(key) {\n const chunks = [];\n for (const t of key.split(\".\")){\n switch(t){\n case \">\":\n case \"*\":\n chunks.push(t);\n break;\n default:\n chunks.push(this.codec.key.encode(t));\n break;\n }\n }\n return chunks.join(\".\");\n }\n decodeKey(ekey) {\n const chunks = [];\n for (const t of ekey.split(\".\")){\n switch(t){\n case \">\":\n case \"*\":\n chunks.push(t);\n break;\n default:\n chunks.push(this.codec.key.decode(t));\n break;\n }\n }\n return chunks.join(\".\");\n }\n validateKey = validateKey;\n validateSearchKey = validateSearchKey;\n hasWildcards = hasWildcards;\n close() {\n return Promise.resolve();\n }\n dataLen(data, h) {\n const slen = h ? h.get(JsHeaders.MessageSizeHdr) || \"\" : \"\";\n if (slen !== \"\") {\n return parseInt(slen, 10);\n }\n return data.length;\n }\n smToEntry(sm) {\n return new KvStoredEntryImpl(this.bucket, this.prefixLen, sm);\n }\n jmToEntry(jm) {\n const key = this.decodeKey(jm.subject.substring(this.prefixLen));\n return new KvJsMsgEntryImpl(this.bucket, key, jm);\n }\n async create(k, data) {\n let firstErr;\n try {\n const n = await this.put(k, data, {\n previousSeq: 0\n });\n return Promise.resolve(n);\n } catch (err) {\n firstErr = err;\n if (err?.api_error?.err_code !== 10071) {\n return Promise.reject(err);\n }\n }\n let rev = 0;\n try {\n const e = await this.get(k);\n if (e?.operation === \"DEL\" || e?.operation === \"PURGE\") {\n rev = e !== null ? e.revision : 0;\n return this.update(k, data, rev);\n } else {\n return Promise.reject(firstErr);\n }\n } catch (err) {\n return Promise.reject(err);\n }\n }\n update(k, data, version) {\n if (version <= 0) {\n throw new Error(\"version must be greater than 0\");\n }\n return this.put(k, data, {\n previousSeq: version\n });\n }\n async put(k, data, opts = {}) {\n const ek = this.encodeKey(k);\n this.validateKey(ek);\n const o = {};\n if (opts.previousSeq !== undefined) {\n const h = headers();\n o.headers = h;\n h.set(PubHeaders.ExpectedLastSubjectSequenceHdr, `${opts.previousSeq}`);\n }\n try {\n const pa = await this.js.publish(this.subjectForKey(ek, true), data, o);\n return pa.seq;\n } catch (err) {\n const ne = err;\n if (ne.isJetStreamError()) {\n ne.message = ne.api_error?.description;\n ne.code = `${ne.api_error?.code}`;\n return Promise.reject(ne);\n }\n return Promise.reject(err);\n }\n }\n async get(k, opts) {\n const ek = this.encodeKey(k);\n this.validateKey(ek);\n let arg = {\n last_by_subj: this.subjectForKey(ek)\n };\n if (opts && opts.revision > 0) {\n arg = {\n seq: opts.revision\n };\n }\n let sm;\n try {\n if (this.direct) {\n const direct = this.jsm.direct;\n sm = await direct.getMessage(this.bucketName(), arg);\n } else {\n sm = await this.jsm.streams.getMessage(this.bucketName(), arg);\n }\n const ke = this.smToEntry(sm);\n if (ke.key !== ek) {\n return null;\n }\n return ke;\n } catch (err) {\n if (err.code === ErrorCode.JetStream404NoMessages) {\n return null;\n }\n throw err;\n }\n }\n purge(k, opts) {\n return this._deleteOrPurge(k, \"PURGE\", opts);\n }\n delete(k, opts) {\n return this._deleteOrPurge(k, \"DEL\", opts);\n }\n async purgeDeletes(olderMillis = 30 * 60 * 1000) {\n const done = deferred();\n const buf = [];\n const i = await this.watch({\n key: \">\",\n initializedFn: ()=>{\n done.resolve();\n }\n });\n (async ()=>{\n for await (const e of i){\n if (e.operation === \"DEL\" || e.operation === \"PURGE\") {\n buf.push(e);\n }\n }\n })().then();\n await done;\n i.stop();\n const min = Date.now() - olderMillis;\n const proms = buf.map((e)=>{\n const subj = this.subjectForKey(e.key);\n if (e.created.getTime() >= min) {\n return this.jsm.streams.purge(this.stream, {\n filter: subj,\n keep: 1\n });\n } else {\n return this.jsm.streams.purge(this.stream, {\n filter: subj,\n keep: 0\n });\n }\n });\n const purged = await Promise.all(proms);\n purged.unshift({\n success: true,\n purged: 0\n });\n return purged.reduce((pv, cv)=>{\n pv.purged += cv.purged;\n return pv;\n });\n }\n async _deleteOrPurge(k, op, opts) {\n if (!this.hasWildcards(k)) {\n return this._doDeleteOrPurge(k, op, opts);\n }\n const iter = await this.keys(k);\n const buf = [];\n for await (const k of iter){\n buf.push(this._doDeleteOrPurge(k, op));\n if (buf.length === 100) {\n await Promise.all(buf);\n buf.length = 0;\n }\n }\n if (buf.length > 0) {\n await Promise.all(buf);\n }\n }\n async _doDeleteOrPurge(k, op, opts) {\n const ek = this.encodeKey(k);\n this.validateKey(ek);\n const h = headers();\n h.set(kvOperationHdr, op);\n if (op === \"PURGE\") {\n h.set(JsHeaders.RollupHdr, JsHeaders.RollupValueSubject);\n }\n if (opts?.previousSeq) {\n h.set(PubHeaders.ExpectedLastSubjectSequenceHdr, `${opts.previousSeq}`);\n }\n await this.js.publish(this.subjectForKey(ek, true), Empty, {\n headers: h\n });\n }\n _buildCC(k, content, opts = {}) {\n const a = !Array.isArray(k) ? [\n k\n ] : k;\n let filter_subjects = a.map((k)=>{\n const ek = this.encodeKey(k);\n this.validateSearchKey(k);\n return this.fullKeyName(ek);\n });\n let deliver_policy = DeliverPolicy.LastPerSubject;\n if (content === KvWatchInclude.AllHistory) {\n deliver_policy = DeliverPolicy.All;\n }\n if (content === KvWatchInclude.UpdatesOnly) {\n deliver_policy = DeliverPolicy.New;\n }\n let filter_subject = undefined;\n if (filter_subjects.length === 1) {\n filter_subject = filter_subjects[0];\n filter_subjects = undefined;\n }\n return Object.assign({\n deliver_policy,\n \"ack_policy\": AckPolicy.None,\n filter_subjects,\n filter_subject,\n \"flow_control\": true,\n \"idle_heartbeat\": nanos(5 * 1000)\n }, opts);\n }\n remove(k) {\n return this.purge(k);\n }\n async history(opts = {}) {\n const k = opts.key ?? \">\";\n const qi = new QueuedIteratorImpl();\n const co = {};\n co.headers_only = opts.headers_only || false;\n let fn;\n fn = ()=>{\n qi.stop();\n };\n let count = 0;\n const cc = this._buildCC(k, KvWatchInclude.AllHistory, co);\n const subj = cc.filter_subject;\n const copts = consumerOpts(cc);\n copts.bindStream(this.stream);\n copts.orderedConsumer();\n copts.callback((err, jm)=>{\n if (err) {\n qi.stop(err);\n return;\n }\n if (jm) {\n const e = this.jmToEntry(jm);\n qi.push(e);\n qi.received++;\n if (fn && count > 0 && qi.received >= count || jm.info.pending === 0) {\n qi.push(fn);\n fn = undefined;\n }\n }\n });\n const sub = await this.js.subscribe(subj, copts);\n if (fn) {\n const { info: { last } } = sub;\n const expect = last.num_pending + last.delivered.consumer_seq;\n if (expect === 0 || qi.received >= expect) {\n try {\n fn();\n } catch (err) {\n qi.stop(err);\n } finally{\n fn = undefined;\n }\n } else {\n count = expect;\n }\n }\n qi._data = sub;\n qi.iterClosed.then(()=>{\n sub.unsubscribe();\n });\n sub.closed.then(()=>{\n qi.stop();\n }).catch((err)=>{\n qi.stop(err);\n });\n return qi;\n }\n canSetWatcherName() {\n const jsi = this.js;\n const nci = jsi.nc;\n const { ok } = nci.features.get(Feature.JS_NEW_CONSUMER_CREATE_API);\n return ok;\n }\n async watch(opts = {}) {\n const k = opts.key ?? \">\";\n const qi = new QueuedIteratorImpl();\n const co = {};\n co.headers_only = opts.headers_only || false;\n let content = KvWatchInclude.LastValue;\n if (opts.include === KvWatchInclude.AllHistory) {\n content = KvWatchInclude.AllHistory;\n } else if (opts.include === KvWatchInclude.UpdatesOnly) {\n content = KvWatchInclude.UpdatesOnly;\n }\n const ignoreDeletes = opts.ignoreDeletes === true;\n let fn = opts.initializedFn;\n let count = 0;\n const cc = this._buildCC(k, content, co);\n const subj = cc.filter_subject;\n const copts = consumerOpts(cc);\n if (this.canSetWatcherName()) {\n copts.consumerName(nuid.next());\n }\n copts.bindStream(this.stream);\n if (opts.resumeFromRevision && opts.resumeFromRevision > 0) {\n copts.startSequence(opts.resumeFromRevision);\n }\n copts.orderedConsumer();\n copts.callback((err, jm)=>{\n if (err) {\n qi.stop(err);\n return;\n }\n if (jm) {\n const e = this.jmToEntry(jm);\n if (ignoreDeletes && e.operation === \"DEL\") {\n return;\n }\n qi.push(e);\n qi.received++;\n if (fn && (count > 0 && qi.received >= count || jm.info.pending === 0)) {\n qi.push(fn);\n fn = undefined;\n }\n }\n });\n const sub = await this.js.subscribe(subj, copts);\n if (fn) {\n const { info: { last } } = sub;\n const expect = last.num_pending + last.delivered.consumer_seq;\n if (expect === 0 || qi.received >= expect) {\n try {\n fn();\n } catch (err) {\n qi.stop(err);\n } finally{\n fn = undefined;\n }\n } else {\n count = expect;\n }\n }\n qi._data = sub;\n qi.iterClosed.then(()=>{\n sub.unsubscribe();\n });\n sub.closed.then(()=>{\n qi.stop();\n }).catch((err)=>{\n qi.stop(err);\n });\n return qi;\n }\n async keys(k = \">\") {\n const keys = new QueuedIteratorImpl();\n const cc = this._buildCC(k, KvWatchInclude.LastValue, {\n headers_only: true\n });\n const subj = Array.isArray(k) ? \">\" : cc.filter_subject;\n const copts = consumerOpts(cc);\n copts.bindStream(this.stream);\n copts.orderedConsumer();\n const sub = await this.js.subscribe(subj, copts);\n (async ()=>{\n for await (const jm of sub){\n const op = jm.headers?.get(kvOperationHdr);\n if (op !== \"DEL\" && op !== \"PURGE\") {\n const key = this.decodeKey(jm.subject.substring(this.prefixLen));\n keys.push(key);\n }\n if (jm.info.pending === 0) {\n sub.unsubscribe();\n }\n }\n })().then(()=>{\n keys.stop();\n }).catch((err)=>{\n keys.stop(err);\n });\n const si = sub;\n if (si.info.last.num_pending === 0) {\n sub.unsubscribe();\n }\n return keys;\n }\n purgeBucket(opts) {\n return this.jsm.streams.purge(this.bucketName(), opts);\n }\n destroy() {\n return this.jsm.streams.delete(this.bucketName());\n }\n async status() {\n const nc = this.js.nc;\n const cluster = nc.info?.cluster ?? \"\";\n const bn = this.bucketName();\n const si = await this.jsm.streams.info(bn);\n return new KvStatusImpl(si, cluster);\n }\n}\nclass KvStatusImpl {\n si;\n cluster;\n constructor(si, cluster = \"\"){\n this.si = si;\n this.cluster = cluster;\n }\n get bucket() {\n return this.si.config.name.startsWith(kvPrefix) ? this.si.config.name.substring(kvPrefix.length) : this.si.config.name;\n }\n get values() {\n return this.si.state.messages;\n }\n get history() {\n return this.si.config.max_msgs_per_subject;\n }\n get ttl() {\n return millis(this.si.config.max_age);\n }\n get bucket_location() {\n return this.cluster;\n }\n get backingStore() {\n return this.si.config.storage;\n }\n get storage() {\n return this.si.config.storage;\n }\n get replicas() {\n return this.si.config.num_replicas;\n }\n get description() {\n return this.si.config.description ?? \"\";\n }\n get maxBucketSize() {\n return this.si.config.max_bytes;\n }\n get maxValueSize() {\n return this.si.config.max_msg_size;\n }\n get max_bytes() {\n return this.si.config.max_bytes;\n }\n get placement() {\n return this.si.config.placement || {\n cluster: \"\",\n tags: []\n };\n }\n get placementCluster() {\n return this.si.config.placement?.cluster ?? \"\";\n }\n get republish() {\n return this.si.config.republish ?? {\n src: \"\",\n dest: \"\"\n };\n }\n get streamInfo() {\n return this.si;\n }\n get size() {\n return this.si.state.bytes;\n }\n get metadata() {\n return this.si.config.metadata ?? {};\n }\n get compression() {\n if (this.si.config.compression) {\n return this.si.config.compression !== StoreCompression.None;\n }\n return false;\n }\n}\nconst osPrefix = \"OBJ_\";\nconst digestType = \"SHA-256=\";\nfunction objectStoreStreamName(bucket) {\n validateBucket(bucket);\n return `${osPrefix}${bucket}`;\n}\nfunction objectStoreBucketName(stream) {\n if (stream.startsWith(osPrefix)) {\n return stream.substring(4);\n }\n return stream;\n}\nclass ObjectStoreStatusImpl {\n si;\n backingStore;\n constructor(si){\n this.si = si;\n this.backingStore = \"JetStream\";\n }\n get bucket() {\n return objectStoreBucketName(this.si.config.name);\n }\n get description() {\n return this.si.config.description ?? \"\";\n }\n get ttl() {\n return this.si.config.max_age;\n }\n get storage() {\n return this.si.config.storage;\n }\n get replicas() {\n return this.si.config.num_replicas;\n }\n get sealed() {\n return this.si.config.sealed;\n }\n get size() {\n return this.si.state.bytes;\n }\n get streamInfo() {\n return this.si;\n }\n get metadata() {\n return this.si.config.metadata;\n }\n get compression() {\n if (this.si.config.compression) {\n return this.si.config.compression !== StoreCompression.None;\n }\n return false;\n }\n}\nfunction convertStreamSourceDomain(s) {\n if (s === undefined) {\n return undefined;\n }\n const { domain } = s;\n if (domain === undefined) {\n return s;\n }\n const copy = Object.assign({}, s);\n delete copy.domain;\n if (domain === \"\") {\n return copy;\n }\n if (copy.external) {\n throw new Error(\"domain and external are both set\");\n }\n copy.external = {\n api: `$JS.${domain}.API`\n };\n return copy;\n}\nvar PullConsumerType;\n(function(PullConsumerType) {\n PullConsumerType[PullConsumerType[\"Unset\"] = -1] = \"Unset\";\n PullConsumerType[PullConsumerType[\"Consume\"] = 0] = \"Consume\";\n PullConsumerType[PullConsumerType[\"Fetch\"] = 1] = \"Fetch\";\n})(PullConsumerType || (PullConsumerType = {}));\nvar ConsumerEvents;\n(function(ConsumerEvents) {\n ConsumerEvents[\"HeartbeatsMissed\"] = \"heartbeats_missed\";\n ConsumerEvents[\"ConsumerNotFound\"] = \"consumer_not_found\";\n ConsumerEvents[\"StreamNotFound\"] = \"stream_not_found\";\n ConsumerEvents[\"ConsumerDeleted\"] = \"consumer_deleted\";\n ConsumerEvents[\"OrderedConsumerRecreated\"] = \"ordered_consumer_recreated\";\n})(ConsumerEvents || (ConsumerEvents = {}));\nvar ConsumerDebugEvents;\n(function(ConsumerDebugEvents) {\n ConsumerDebugEvents[\"DebugEvent\"] = \"debug\";\n ConsumerDebugEvents[\"Discard\"] = \"discard\";\n ConsumerDebugEvents[\"Reset\"] = \"reset\";\n ConsumerDebugEvents[\"Next\"] = \"next\";\n})(ConsumerDebugEvents || (ConsumerDebugEvents = {}));\nconst ACK = Uint8Array.of(43, 65, 67, 75);\nconst NAK = Uint8Array.of(45, 78, 65, 75);\nconst WPI = Uint8Array.of(43, 87, 80, 73);\nconst NXT = Uint8Array.of(43, 78, 88, 84);\nconst TERM = Uint8Array.of(43, 84, 69, 82, 77);\nconst SPACE = Uint8Array.of(32);\nfunction toJsMsg(m, ackTimeout = 5000) {\n return new JsMsgImpl(m, ackTimeout);\n}\nclass PullConsumerMessagesImpl extends QueuedIteratorImpl {\n consumer;\n opts;\n sub;\n monitor;\n pending;\n inbox;\n refilling;\n pong;\n callback;\n timeout;\n cleanupHandler;\n listeners;\n statusIterator;\n forOrderedConsumer;\n resetHandler;\n abortOnMissingResource;\n bind;\n constructor(c, opts, refilling = false){\n super();\n this.consumer = c;\n const copts = opts;\n this.opts = this.parseOptions(opts, refilling);\n this.callback = copts.callback || null;\n this.noIterator = typeof this.callback === \"function\";\n this.monitor = null;\n this.pong = null;\n this.pending = {\n msgs: 0,\n bytes: 0,\n requests: 0\n };\n this.refilling = refilling;\n this.timeout = null;\n this.inbox = createInbox(c.api.nc.options.inboxPrefix);\n this.listeners = [];\n this.forOrderedConsumer = false;\n this.abortOnMissingResource = copts.abort_on_missing_resource === true;\n this.bind = copts.bind === true;\n this.start();\n }\n start() {\n const { max_messages, max_bytes, idle_heartbeat, threshold_bytes, threshold_messages } = this.opts;\n this.closed().then((err)=>{\n if (this.cleanupHandler) {\n try {\n this.cleanupHandler(err);\n } catch (_err) {}\n }\n });\n const { sub } = this;\n if (sub) {\n sub.unsubscribe();\n }\n this.sub = this.consumer.api.nc.subscribe(this.inbox, {\n callback: (err, msg)=>{\n if (err) {\n this.stop(err);\n return;\n }\n this.monitor?.work();\n const isProtocol = msg.subject === this.inbox;\n if (isProtocol) {\n if (isHeartbeatMsg(msg)) {\n return;\n }\n const code = msg.headers?.code;\n const description = msg.headers?.description?.toLowerCase() || \"unknown\";\n const { msgsLeft, bytesLeft } = this.parseDiscard(msg.headers);\n if (msgsLeft > 0 || bytesLeft > 0) {\n this.pending.msgs -= msgsLeft;\n this.pending.bytes -= bytesLeft;\n this.pending.requests--;\n this.notify(ConsumerDebugEvents.Discard, {\n msgsLeft,\n bytesLeft\n });\n } else {\n if (code === 400) {\n this.stop(new NatsError(description, `${code}`));\n return;\n } else if (code === 409 && description === \"consumer deleted\") {\n this.notify(ConsumerEvents.ConsumerDeleted, `${code} ${description}`);\n if (!this.refilling || this.abortOnMissingResource) {\n const error = new NatsError(description, `${code}`);\n this.stop(error);\n return;\n }\n } else {\n this.notify(ConsumerDebugEvents.DebugEvent, `${code} ${description}`);\n }\n }\n } else {\n this._push(toJsMsg(msg, this.consumer.api.timeout));\n this.received++;\n if (this.pending.msgs) {\n this.pending.msgs--;\n }\n if (this.pending.bytes) {\n this.pending.bytes -= msg.size();\n }\n }\n if (this.pending.msgs === 0 && this.pending.bytes === 0) {\n this.pending.requests = 0;\n }\n if (this.refilling) {\n if (max_messages && this.pending.msgs <= threshold_messages || max_bytes && this.pending.bytes <= threshold_bytes) {\n const batch = this.pullOptions();\n this.pull(batch);\n }\n } else if (this.pending.requests === 0) {\n this._push(()=>{\n this.stop();\n });\n }\n }\n });\n this.sub.closed.then(()=>{\n if (this.sub.draining) {\n this._push(()=>{\n this.stop();\n });\n }\n });\n if (idle_heartbeat) {\n this.monitor = new IdleHeartbeatMonitor(idle_heartbeat, (data)=>{\n this.notify(ConsumerEvents.HeartbeatsMissed, data);\n this.resetPending().then(()=>{}).catch(()=>{});\n return false;\n }, {\n maxOut: 2\n });\n }\n (async ()=>{\n const status = this.consumer.api.nc.status();\n this.statusIterator = status;\n for await (const s of status){\n switch(s.type){\n case Events.Disconnect:\n this.monitor?.cancel();\n break;\n case Events.Reconnect:\n this.resetPending().then((ok)=>{\n if (ok) {\n this.monitor?.restart();\n }\n }).catch(()=>{});\n break;\n default:\n }\n }\n })();\n this.pull(this.pullOptions());\n }\n _push(r) {\n if (!this.callback) {\n super.push(r);\n } else {\n const fn = typeof r === \"function\" ? r : null;\n try {\n if (!fn) {\n this.callback(r);\n } else {\n fn();\n }\n } catch (err) {\n this.stop(err);\n }\n }\n }\n notify(type, data) {\n if (this.listeners.length > 0) {\n (()=>{\n this.listeners.forEach((l)=>{\n if (!l.done) {\n l.push({\n type,\n data\n });\n }\n });\n })();\n }\n }\n resetPending() {\n return this.bind ? this.resetPendingNoInfo() : this.resetPendingWithInfo();\n }\n resetPendingNoInfo() {\n this.pending.msgs = 0;\n this.pending.bytes = 0;\n this.pending.requests = 0;\n this.pull(this.pullOptions());\n return Promise.resolve(true);\n }\n async resetPendingWithInfo() {\n let notFound = 0;\n let streamNotFound = 0;\n const bo = backoff();\n let attempt = 0;\n while(true){\n if (this.done) {\n return false;\n }\n if (this.consumer.api.nc.isClosed()) {\n console.error(\"aborting resetPending - connection is closed\");\n return false;\n }\n try {\n await this.consumer.info();\n notFound = 0;\n this.pending.msgs = 0;\n this.pending.bytes = 0;\n this.pending.requests = 0;\n this.pull(this.pullOptions());\n return true;\n } catch (err) {\n if (err.message === \"stream not found\") {\n streamNotFound++;\n this.notify(ConsumerEvents.StreamNotFound, streamNotFound);\n if (!this.refilling || this.abortOnMissingResource) {\n this.stop(err);\n return false;\n }\n } else if (err.message === \"consumer not found\") {\n notFound++;\n this.notify(ConsumerEvents.ConsumerNotFound, notFound);\n if (this.resetHandler) {\n try {\n this.resetHandler();\n } catch (_) {}\n }\n if (!this.refilling || this.abortOnMissingResource) {\n this.stop(err);\n return false;\n }\n if (this.forOrderedConsumer) {\n return false;\n }\n } else {\n notFound = 0;\n streamNotFound = 0;\n }\n const to = bo.backoff(attempt);\n const de = delay(to);\n await Promise.race([\n de,\n this.consumer.api.nc.closed()\n ]);\n de.cancel();\n attempt++;\n }\n }\n }\n pull(opts) {\n this.pending.bytes += opts.max_bytes ?? 0;\n this.pending.msgs += opts.batch ?? 0;\n this.pending.requests++;\n const nc = this.consumer.api.nc;\n this._push(()=>{\n nc.publish(`${this.consumer.api.prefix}.CONSUMER.MSG.NEXT.${this.consumer.stream}.${this.consumer.name}`, this.consumer.api.jc.encode(opts), {\n reply: this.inbox\n });\n this.notify(ConsumerDebugEvents.Next, opts);\n });\n }\n pullOptions() {\n const batch = this.opts.max_messages - this.pending.msgs;\n const max_bytes = this.opts.max_bytes - this.pending.bytes;\n const idle_heartbeat = nanos(this.opts.idle_heartbeat);\n const expires = nanos(this.opts.expires);\n return {\n batch,\n max_bytes,\n idle_heartbeat,\n expires\n };\n }\n parseDiscard(headers) {\n const discard = {\n msgsLeft: 0,\n bytesLeft: 0\n };\n const msgsLeft = headers?.get(JsHeaders.PendingMessagesHdr);\n if (msgsLeft) {\n discard.msgsLeft = parseInt(msgsLeft);\n }\n const bytesLeft = headers?.get(JsHeaders.PendingBytesHdr);\n if (bytesLeft) {\n discard.bytesLeft = parseInt(bytesLeft);\n }\n return discard;\n }\n trackTimeout(t) {\n this.timeout = t;\n }\n close() {\n this.stop();\n return this.iterClosed;\n }\n closed() {\n return this.iterClosed;\n }\n clearTimers() {\n this.monitor?.cancel();\n this.monitor = null;\n this.timeout?.cancel();\n this.timeout = null;\n }\n setCleanupHandler(fn) {\n this.cleanupHandler = fn;\n }\n stop(err) {\n if (this.done) {\n return;\n }\n this.sub?.unsubscribe();\n this.clearTimers();\n this.statusIterator?.stop();\n this._push(()=>{\n super.stop(err);\n this.listeners.forEach((n)=>{\n n.stop();\n });\n });\n }\n parseOptions(opts, refilling = false) {\n const args = opts || {};\n args.max_messages = args.max_messages || 0;\n args.max_bytes = args.max_bytes || 0;\n if (args.max_messages !== 0 && args.max_bytes !== 0) {\n throw new Error(`only specify one of max_messages or max_bytes`);\n }\n if (args.max_messages === 0) {\n args.max_messages = 100;\n }\n args.expires = args.expires || 30_000;\n if (args.expires < 1000) {\n throw new Error(\"expires should be at least 1000ms\");\n }\n args.idle_heartbeat = args.idle_heartbeat || args.expires / 2;\n args.idle_heartbeat = args.idle_heartbeat > 30_000 ? 30_000 : args.idle_heartbeat;\n if (refilling) {\n const minMsgs = Math.round(args.max_messages * .75) || 1;\n args.threshold_messages = args.threshold_messages || minMsgs;\n const minBytes = Math.round(args.max_bytes * .75) || 1;\n args.threshold_bytes = args.threshold_bytes || minBytes;\n }\n return args;\n }\n status() {\n const iter = new QueuedIteratorImpl();\n this.listeners.push(iter);\n return Promise.resolve(iter);\n }\n}\nclass OrderedConsumerMessages extends QueuedIteratorImpl {\n src;\n listeners;\n constructor(){\n super();\n this.listeners = [];\n }\n setSource(src) {\n if (this.src) {\n this.src.resetHandler = undefined;\n this.src.setCleanupHandler();\n this.src.stop();\n }\n this.src = src;\n this.src.setCleanupHandler((err)=>{\n this.stop(err || undefined);\n });\n (async ()=>{\n const status = await this.src.status();\n for await (const s of status){\n this.notify(s.type, s.data);\n }\n })().catch(()=>{});\n }\n notify(type, data) {\n if (this.listeners.length > 0) {\n (()=>{\n this.listeners.forEach((l)=>{\n if (!l.done) {\n l.push({\n type,\n data\n });\n }\n });\n })();\n }\n }\n stop(err) {\n if (this.done) {\n return;\n }\n this.src?.stop(err);\n super.stop(err);\n this.listeners.forEach((n)=>{\n n.stop();\n });\n }\n close() {\n this.stop();\n return this.iterClosed;\n }\n closed() {\n return this.iterClosed;\n }\n status() {\n const iter = new QueuedIteratorImpl();\n this.listeners.push(iter);\n return Promise.resolve(iter);\n }\n}\nclass PullConsumerImpl {\n api;\n _info;\n stream;\n name;\n constructor(api, info){\n this.api = api;\n this._info = info;\n this.stream = info.stream_name;\n this.name = info.name;\n }\n consume(opts = {\n max_messages: 100,\n expires: 30_000\n }) {\n return Promise.resolve(new PullConsumerMessagesImpl(this, opts, true));\n }\n fetch(opts = {\n max_messages: 100,\n expires: 30_000\n }) {\n const m = new PullConsumerMessagesImpl(this, opts, false);\n const to = Math.round(m.opts.expires * 1.05);\n const timer = timeout(to);\n m.closed().catch(()=>{}).finally(()=>{\n timer.cancel();\n });\n timer.catch(()=>{\n m.close().catch();\n });\n m.trackTimeout(timer);\n return Promise.resolve(m);\n }\n next(opts = {\n expires: 30_000\n }) {\n const d = deferred();\n const fopts = opts;\n fopts.max_messages = 1;\n const iter = new PullConsumerMessagesImpl(this, fopts, false);\n const to = Math.round(iter.opts.expires * 1.05);\n if (to >= 60_000) {\n (async ()=>{\n for await (const s of (await iter.status())){\n if (s.type === ConsumerEvents.HeartbeatsMissed && s.data >= 2) {\n d.reject(new Error(\"consumer missed heartbeats\"));\n break;\n }\n }\n })().catch();\n }\n (async ()=>{\n for await (const m of iter){\n d.resolve(m);\n break;\n }\n })().catch(()=>{});\n const timer = timeout(to);\n iter.closed().then((err)=>{\n err ? d.reject(err) : d.resolve(null);\n }).catch((err)=>{\n d.reject(err);\n }).finally(()=>{\n timer.cancel();\n });\n timer.catch((_err)=>{\n d.resolve(null);\n iter.close().catch();\n });\n iter.trackTimeout(timer);\n return d;\n }\n delete() {\n const { stream_name, name } = this._info;\n return this.api.delete(stream_name, name);\n }\n info(cached = false) {\n if (cached) {\n return Promise.resolve(this._info);\n }\n const { stream_name, name } = this._info;\n return this.api.info(stream_name, name).then((ci)=>{\n this._info = ci;\n return this._info;\n });\n }\n}\nclass OrderedPullConsumerImpl {\n api;\n consumerOpts;\n consumer;\n opts;\n cursor;\n stream;\n namePrefix;\n serial;\n currentConsumer;\n userCallback;\n iter;\n type;\n startSeq;\n constructor(api, stream, opts = {}){\n this.api = api;\n this.stream = stream;\n this.cursor = {\n stream_seq: 1,\n deliver_seq: 0\n };\n this.namePrefix = nuid.next();\n if (typeof opts.name_prefix === \"string\") {\n minValidation(\"name_prefix\", opts.name_prefix);\n this.namePrefix = opts.name_prefix + this.namePrefix;\n }\n this.serial = 0;\n this.currentConsumer = null;\n this.userCallback = null;\n this.iter = null;\n this.type = PullConsumerType.Unset;\n this.consumerOpts = opts;\n this.startSeq = this.consumerOpts.opt_start_seq || 0;\n this.cursor.stream_seq = this.startSeq > 0 ? this.startSeq - 1 : 0;\n }\n getConsumerOpts(seq) {\n this.serial++;\n const name = `${this.namePrefix}_${this.serial}`;\n seq = seq === 0 ? 1 : seq;\n const config = {\n name,\n deliver_policy: DeliverPolicy.StartSequence,\n opt_start_seq: seq,\n ack_policy: AckPolicy.None,\n inactive_threshold: nanos(5 * 60 * 1000),\n num_replicas: 1\n };\n if (this.consumerOpts.headers_only === true) {\n config.headers_only = true;\n }\n if (Array.isArray(this.consumerOpts.filterSubjects)) {\n config.filter_subjects = this.consumerOpts.filterSubjects;\n }\n if (typeof this.consumerOpts.filterSubjects === \"string\") {\n config.filter_subject = this.consumerOpts.filterSubjects;\n }\n if (this.consumerOpts.replay_policy) {\n config.replay_policy = this.consumerOpts.replay_policy;\n }\n if (seq === this.startSeq + 1) {\n config.deliver_policy = this.consumerOpts.deliver_policy || DeliverPolicy.StartSequence;\n if (this.consumerOpts.deliver_policy === DeliverPolicy.LastPerSubject || this.consumerOpts.deliver_policy === DeliverPolicy.New || this.consumerOpts.deliver_policy === DeliverPolicy.Last) {\n delete config.opt_start_seq;\n config.deliver_policy = this.consumerOpts.deliver_policy;\n }\n if (config.deliver_policy === DeliverPolicy.LastPerSubject) {\n if (typeof config.filter_subjects === \"undefined\" && typeof config.filter_subject === \"undefined\") {\n config.filter_subject = \">\";\n }\n }\n if (this.consumerOpts.opt_start_time) {\n delete config.opt_start_seq;\n config.deliver_policy = DeliverPolicy.StartTime;\n config.opt_start_time = this.consumerOpts.opt_start_time;\n }\n if (this.consumerOpts.inactive_threshold) {\n config.inactive_threshold = nanos(this.consumerOpts.inactive_threshold);\n }\n }\n return config;\n }\n async resetConsumer(seq = 0) {\n this.consumer?.delete().catch(()=>{});\n seq = seq === 0 ? 1 : seq;\n this.cursor.deliver_seq = 0;\n const config = this.getConsumerOpts(seq);\n config.max_deliver = 1;\n config.mem_storage = true;\n const bo = backoff();\n let ci;\n for(let i = 0;; i++){\n try {\n ci = await this.api.add(this.stream, config);\n this.iter?.notify(ConsumerEvents.OrderedConsumerRecreated, ci.name);\n break;\n } catch (err) {\n if (err.message === \"stream not found\") {\n this.iter?.notify(ConsumerEvents.StreamNotFound, i);\n if (this.type === PullConsumerType.Fetch || this.opts.abort_on_missing_resource === true) {\n this.iter?.stop(err);\n return Promise.reject(err);\n }\n }\n if (seq === 0 && i >= 30) {\n throw err;\n } else {\n await delay(bo.backoff(i + 1));\n }\n }\n }\n return ci;\n }\n internalHandler(serial) {\n return (m)=>{\n if (this.serial !== serial) {\n return;\n }\n const dseq = m.info.deliverySequence;\n if (dseq !== this.cursor.deliver_seq + 1) {\n this.notifyOrderedResetAndReset();\n return;\n }\n this.cursor.deliver_seq = dseq;\n this.cursor.stream_seq = m.info.streamSequence;\n if (this.userCallback) {\n this.userCallback(m);\n } else {\n this.iter?.push(m);\n }\n };\n }\n async reset(opts = {\n max_messages: 100,\n expires: 30_000\n }, info) {\n info = info || {};\n const fromFetch = info.fromFetch || false;\n const orderedReset = info.orderedReset || false;\n if (this.type === PullConsumerType.Fetch && orderedReset) {\n this.iter?.src.stop();\n await this.iter?.closed();\n this.currentConsumer = null;\n return;\n }\n if (this.currentConsumer === null || orderedReset) {\n this.currentConsumer = await this.resetConsumer(this.cursor.stream_seq + 1);\n }\n if (this.iter === null || fromFetch) {\n this.iter = new OrderedConsumerMessages();\n }\n this.consumer = new PullConsumerImpl(this.api, this.currentConsumer);\n const copts = opts;\n copts.callback = this.internalHandler(this.serial);\n let msgs = null;\n if (this.type === PullConsumerType.Fetch && fromFetch) {\n msgs = await this.consumer.fetch(opts);\n } else if (this.type === PullConsumerType.Consume) {\n msgs = await this.consumer.consume(opts);\n }\n const msgsImpl = msgs;\n msgsImpl.forOrderedConsumer = true;\n msgsImpl.resetHandler = ()=>{\n this.notifyOrderedResetAndReset();\n };\n this.iter.setSource(msgsImpl);\n }\n notifyOrderedResetAndReset() {\n this.iter?.notify(ConsumerDebugEvents.Reset, \"\");\n this.reset(this.opts, {\n orderedReset: true\n });\n }\n async consume(opts = {\n max_messages: 100,\n expires: 30_000\n }) {\n const copts = opts;\n if (copts.bind) {\n return Promise.reject(new Error(\"bind is not supported\"));\n }\n if (this.type === PullConsumerType.Fetch) {\n return Promise.reject(new Error(\"ordered consumer initialized as fetch\"));\n }\n if (this.type === PullConsumerType.Consume) {\n return Promise.reject(new Error(\"ordered consumer doesn't support concurrent consume\"));\n }\n const { callback } = opts;\n if (callback) {\n this.userCallback = callback;\n }\n this.type = PullConsumerType.Consume;\n this.opts = opts;\n await this.reset(opts);\n return this.iter;\n }\n async fetch(opts = {\n max_messages: 100,\n expires: 30_000\n }) {\n const copts = opts;\n if (copts.bind) {\n return Promise.reject(new Error(\"bind is not supported\"));\n }\n if (this.type === PullConsumerType.Consume) {\n return Promise.reject(new Error(\"ordered consumer already initialized as consume\"));\n }\n if (this.iter?.done === false) {\n return Promise.reject(new Error(\"ordered consumer doesn't support concurrent fetch\"));\n }\n const { callback } = opts;\n if (callback) {\n this.userCallback = callback;\n }\n this.type = PullConsumerType.Fetch;\n this.opts = opts;\n await this.reset(opts, {\n fromFetch: true\n });\n return this.iter;\n }\n async next(opts = {\n expires: 30_000\n }) {\n const copts = opts;\n if (copts.bind) {\n return Promise.reject(new Error(\"bind is not supported\"));\n }\n copts.max_messages = 1;\n const d = deferred();\n copts.callback = (m)=>{\n this.userCallback = null;\n d.resolve(m);\n };\n const iter = await this.fetch(copts);\n iter.iterClosed.then((err)=>{\n if (err) {\n d.reject(err);\n }\n d.resolve(null);\n }).catch((err)=>{\n d.reject(err);\n });\n return d;\n }\n delete() {\n if (!this.currentConsumer) {\n return Promise.resolve(false);\n }\n return this.api.delete(this.stream, this.currentConsumer.name).then((tf)=>{\n return Promise.resolve(tf);\n }).catch((err)=>{\n return Promise.reject(err);\n }).finally(()=>{\n this.currentConsumer = null;\n });\n }\n async info(cached) {\n if (this.currentConsumer == null) {\n this.currentConsumer = await this.resetConsumer(this.serial);\n return Promise.resolve(this.currentConsumer);\n }\n if (cached && this.currentConsumer) {\n return Promise.resolve(this.currentConsumer);\n }\n return this.api.info(this.stream, this.currentConsumer.name);\n }\n}\nclass ConsumersImpl {\n api;\n notified;\n constructor(api){\n this.api = api;\n this.notified = false;\n }\n checkVersion() {\n const fv = this.api.nc.features.get(Feature.JS_SIMPLIFICATION);\n if (!fv.ok) {\n return Promise.reject(new Error(`consumers framework is only supported on servers ${fv.min} or better`));\n }\n return Promise.resolve();\n }\n async get(stream, name = {}) {\n if (typeof name === \"object\") {\n return this.ordered(stream, name);\n }\n await this.checkVersion();\n return this.api.info(stream, name).then((ci)=>{\n if (ci.config.deliver_subject !== undefined) {\n return Promise.reject(new Error(\"push consumer not supported\"));\n }\n return new PullConsumerImpl(this.api, ci);\n }).catch((err)=>{\n return Promise.reject(err);\n });\n }\n async ordered(stream, opts) {\n await this.checkVersion();\n const impl = this.api;\n const sapi = new StreamAPIImpl(impl.nc, impl.opts);\n return sapi.info(stream).then((_si)=>{\n return Promise.resolve(new OrderedPullConsumerImpl(this.api, stream, opts));\n }).catch((err)=>{\n return Promise.reject(err);\n });\n }\n}\nclass StreamImpl {\n api;\n _info;\n constructor(api, info){\n this.api = api;\n this._info = info;\n }\n get name() {\n return this._info.config.name;\n }\n alternates() {\n return this.info().then((si)=>{\n return si.alternates ? si.alternates : [];\n });\n }\n async best() {\n await this.info();\n if (this._info.alternates) {\n const asi = await this.api.info(this._info.alternates[0].name);\n return new StreamImpl(this.api, asi);\n } else {\n return this;\n }\n }\n info(cached = false, opts) {\n if (cached) {\n return Promise.resolve(this._info);\n }\n return this.api.info(this.name, opts).then((si)=>{\n this._info = si;\n return this._info;\n });\n }\n getConsumer(name) {\n return new ConsumersImpl(new ConsumerAPIImpl(this.api.nc, this.api.opts)).get(this.name, name);\n }\n getMessage(query) {\n return this.api.getMessage(this.name, query);\n }\n deleteMessage(seq, erase) {\n return this.api.deleteMessage(this.name, seq, erase);\n }\n}\nclass StreamAPIImpl extends BaseApiClient {\n constructor(nc, opts){\n super(nc, opts);\n }\n checkStreamConfigVersions(cfg) {\n const nci = this.nc;\n if (cfg.metadata) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_CONSUMER_METADATA);\n if (!ok) {\n throw new Error(`stream 'metadata' requires server ${min}`);\n }\n }\n if (cfg.first_seq) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_FIRST_SEQ);\n if (!ok) {\n throw new Error(`stream 'first_seq' requires server ${min}`);\n }\n }\n if (cfg.subject_transform) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_SUBJECT_TRANSFORM);\n if (!ok) {\n throw new Error(`stream 'subject_transform' requires server ${min}`);\n }\n }\n if (cfg.compression) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_COMPRESSION);\n if (!ok) {\n throw new Error(`stream 'compression' requires server ${min}`);\n }\n }\n if (cfg.consumer_limits) {\n const { min, ok } = nci.features.get(Feature.JS_DEFAULT_CONSUMER_LIMITS);\n if (!ok) {\n throw new Error(`stream 'consumer_limits' requires server ${min}`);\n }\n }\n function validateStreamSource(context, src) {\n const count = src?.subject_transforms?.length || 0;\n if (count > 0) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_SOURCE_SUBJECT_TRANSFORM);\n if (!ok) {\n throw new Error(`${context} 'subject_transforms' requires server ${min}`);\n }\n }\n }\n if (cfg.sources) {\n cfg.sources.forEach((src)=>{\n validateStreamSource(\"stream sources\", src);\n });\n }\n if (cfg.mirror) {\n validateStreamSource(\"stream mirror\", cfg.mirror);\n }\n }\n async add(cfg = {}) {\n this.checkStreamConfigVersions(cfg);\n validateStreamName(cfg.name);\n cfg.mirror = convertStreamSourceDomain(cfg.mirror);\n cfg.sources = cfg.sources?.map(convertStreamSourceDomain);\n const r = await this._request(`${this.prefix}.STREAM.CREATE.${cfg.name}`, cfg);\n const si = r;\n this._fixInfo(si);\n return si;\n }\n async delete(stream) {\n validateStreamName(stream);\n const r = await this._request(`${this.prefix}.STREAM.DELETE.${stream}`);\n const cr = r;\n return cr.success;\n }\n async update(name, cfg = {}) {\n if (typeof name === \"object\") {\n const sc = name;\n name = sc.name;\n cfg = sc;\n console.trace(`\\u001B[33m >> streams.update(config: StreamConfig) api changed to streams.update(name: string, config: StreamUpdateConfig) - this shim will be removed - update your code. \\u001B[0m`);\n }\n this.checkStreamConfigVersions(cfg);\n validateStreamName(name);\n const old = await this.info(name);\n const update = Object.assign(old.config, cfg);\n update.mirror = convertStreamSourceDomain(update.mirror);\n update.sources = update.sources?.map(convertStreamSourceDomain);\n const r = await this._request(`${this.prefix}.STREAM.UPDATE.${name}`, update);\n const si = r;\n this._fixInfo(si);\n return si;\n }\n async info(name, data) {\n validateStreamName(name);\n const subj = `${this.prefix}.STREAM.INFO.${name}`;\n const r = await this._request(subj, data);\n let si = r;\n let { total, limit } = si;\n let have = si.state.subjects ? Object.getOwnPropertyNames(si.state.subjects).length : 1;\n if (total && total > have) {\n const infos = [\n si\n ];\n const paged = data || {};\n let i = 0;\n while(total > have){\n i++;\n paged.offset = limit * i;\n const r = await this._request(subj, paged);\n total = r.total;\n infos.push(r);\n const count = Object.getOwnPropertyNames(r.state.subjects).length;\n have += count;\n if (count < limit) {\n break;\n }\n }\n let subjects = {};\n for(let i = 0; i < infos.length; i++){\n si = infos[i];\n if (si.state.subjects) {\n subjects = Object.assign(subjects, si.state.subjects);\n }\n }\n si.offset = 0;\n si.total = 0;\n si.limit = 0;\n si.state.subjects = subjects;\n }\n this._fixInfo(si);\n return si;\n }\n list(subject = \"\") {\n const payload = subject?.length ? {\n subject\n } : {};\n const listerFilter = (v)=>{\n const slr = v;\n slr.streams.forEach((si)=>{\n this._fixInfo(si);\n });\n return slr.streams;\n };\n const subj = `${this.prefix}.STREAM.LIST`;\n return new ListerImpl(subj, listerFilter, this, payload);\n }\n _fixInfo(si) {\n si.config.sealed = si.config.sealed || false;\n si.config.deny_delete = si.config.deny_delete || false;\n si.config.deny_purge = si.config.deny_purge || false;\n si.config.allow_rollup_hdrs = si.config.allow_rollup_hdrs || false;\n }\n async purge(name, opts) {\n if (opts) {\n const { keep, seq } = opts;\n if (typeof keep === \"number\" && typeof seq === \"number\") {\n throw new Error(\"can specify one of keep or seq\");\n }\n }\n validateStreamName(name);\n const v = await this._request(`${this.prefix}.STREAM.PURGE.${name}`, opts);\n return v;\n }\n async deleteMessage(stream, seq, erase = true) {\n validateStreamName(stream);\n const dr = {\n seq\n };\n if (!erase) {\n dr.no_erase = true;\n }\n const r = await this._request(`${this.prefix}.STREAM.MSG.DELETE.${stream}`, dr);\n const cr = r;\n return cr.success;\n }\n async getMessage(stream, query) {\n validateStreamName(stream);\n const r = await this._request(`${this.prefix}.STREAM.MSG.GET.${stream}`, query);\n const sm = r;\n return new StoredMsgImpl(sm);\n }\n find(subject) {\n return this.findStream(subject);\n }\n listKvs() {\n const filter = (v)=>{\n const slr = v;\n const kvStreams = slr.streams.filter((v)=>{\n return v.config.name.startsWith(kvPrefix);\n });\n kvStreams.forEach((si)=>{\n this._fixInfo(si);\n });\n let cluster = \"\";\n if (kvStreams.length) {\n cluster = this.nc.info?.cluster ?? \"\";\n }\n const status = kvStreams.map((si)=>{\n return new KvStatusImpl(si, cluster);\n });\n return status;\n };\n const subj = `${this.prefix}.STREAM.LIST`;\n return new ListerImpl(subj, filter, this);\n }\n listObjectStores() {\n const filter = (v)=>{\n const slr = v;\n const objStreams = slr.streams.filter((v)=>{\n return v.config.name.startsWith(osPrefix);\n });\n objStreams.forEach((si)=>{\n this._fixInfo(si);\n });\n const status = objStreams.map((si)=>{\n return new ObjectStoreStatusImpl(si);\n });\n return status;\n };\n const subj = `${this.prefix}.STREAM.LIST`;\n return new ListerImpl(subj, filter, this);\n }\n names(subject = \"\") {\n const payload = subject?.length ? {\n subject\n } : {};\n const listerFilter = (v)=>{\n const sr = v;\n return sr.streams;\n };\n const subj = `${this.prefix}.STREAM.NAMES`;\n return new ListerImpl(subj, listerFilter, this, payload);\n }\n async get(name) {\n const si = await this.info(name);\n return Promise.resolve(new StreamImpl(this, si));\n }\n}\nclass DirectStreamAPIImpl extends BaseApiClient {\n constructor(nc, opts){\n super(nc, opts);\n }\n async getMessage(stream, query) {\n validateStreamName(stream);\n let qq = query;\n const { last_by_subj } = qq;\n if (last_by_subj) {\n qq = null;\n }\n const payload = qq ? this.jc.encode(qq) : Empty;\n const pre = this.opts.apiPrefix || \"$JS.API\";\n const subj = last_by_subj ? `${pre}.DIRECT.GET.${stream}.${last_by_subj}` : `${pre}.DIRECT.GET.${stream}`;\n const r = await this.nc.request(subj, payload);\n const err = checkJsError(r);\n if (err) {\n return Promise.reject(err);\n }\n const dm = new DirectMsgImpl(r);\n return Promise.resolve(dm);\n }\n async getBatch(stream, opts) {\n validateStreamName(stream);\n const pre = this.opts.apiPrefix || \"$JS.API\";\n const subj = `${pre}.DIRECT.GET.${stream}`;\n if (!Array.isArray(opts.multi_last) || opts.multi_last.length === 0) {\n return Promise.reject(\"multi_last is required\");\n }\n const payload = JSON.stringify(opts, (key, value)=>{\n if (key === \"up_to_time\" && value instanceof Date) {\n return value.toISOString();\n }\n return value;\n });\n const iter = new QueuedIteratorImpl();\n const raw = await this.nc.requestMany(subj, payload, {\n strategy: RequestStrategy.SentinelMsg\n });\n (async ()=>{\n let gotFirst = false;\n let badServer = false;\n let badRequest;\n for await (const m of raw){\n if (!gotFirst) {\n gotFirst = true;\n const code = m.headers?.code || 0;\n if (code !== 0 && code < 200 || code > 299) {\n badRequest = m.headers?.description.toLowerCase();\n break;\n }\n const v = m.headers?.get(\"Nats-Num-Pending\");\n if (v === \"\") {\n badServer = true;\n break;\n }\n }\n if (m.data.length === 0) {\n break;\n }\n iter.push(new DirectMsgImpl(m));\n }\n iter.push(()=>{\n if (badServer) {\n throw new Error(\"batch direct get not supported by the server\");\n }\n if (badRequest) {\n throw new Error(`bad request: ${badRequest}`);\n }\n iter.stop();\n });\n })();\n return Promise.resolve(iter);\n }\n}\nclass DirectMsgImpl {\n data;\n header;\n static jc;\n constructor(m){\n if (!m.headers) {\n throw new Error(\"headers expected\");\n }\n this.data = m.data;\n this.header = m.headers;\n }\n get subject() {\n return this.header.last(DirectMsgHeaders.Subject);\n }\n get seq() {\n const v = this.header.last(DirectMsgHeaders.Sequence);\n return typeof v === \"string\" ? parseInt(v) : 0;\n }\n get time() {\n return new Date(Date.parse(this.timestamp));\n }\n get timestamp() {\n return this.header.last(DirectMsgHeaders.TimeStamp);\n }\n get stream() {\n return this.header.last(DirectMsgHeaders.Stream);\n }\n json(reviver) {\n return JSONCodec(reviver).decode(this.data);\n }\n string() {\n return TD.decode(this.data);\n }\n}\nclass JetStreamManagerImpl extends BaseApiClient {\n streams;\n consumers;\n direct;\n constructor(nc, opts){\n super(nc, opts);\n this.streams = new StreamAPIImpl(nc, opts);\n this.consumers = new ConsumerAPIImpl(nc, opts);\n this.direct = new DirectStreamAPIImpl(nc, opts);\n }\n async getAccountInfo() {\n const r = await this._request(`${this.prefix}.INFO`);\n return r;\n }\n jetstream() {\n return this.nc.jetstream(this.getOptions());\n }\n advisories() {\n const iter = new QueuedIteratorImpl();\n this.nc.subscribe(`$JS.EVENT.ADVISORY.>`, {\n callback: (err, msg)=>{\n if (err) {\n throw err;\n }\n try {\n const d = this.parseJsResponse(msg);\n const chunks = d.type.split(\".\");\n const kind = chunks[chunks.length - 1];\n iter.push({\n kind: kind,\n data: d\n });\n } catch (err) {\n iter.stop(err);\n }\n }\n });\n return iter;\n }\n}\nclass StoredMsgImpl {\n _header;\n smr;\n static jc;\n constructor(smr){\n this.smr = smr;\n }\n get subject() {\n return this.smr.message.subject;\n }\n get seq() {\n return this.smr.message.seq;\n }\n get timestamp() {\n return this.smr.message.time;\n }\n get time() {\n return new Date(Date.parse(this.timestamp));\n }\n get data() {\n return this.smr.message.data ? this._parse(this.smr.message.data) : Empty;\n }\n get header() {\n if (!this._header) {\n if (this.smr.message.hdrs) {\n const hd = this._parse(this.smr.message.hdrs);\n this._header = MsgHdrsImpl.decode(hd);\n } else {\n this._header = headers();\n }\n }\n return this._header;\n }\n _parse(s) {\n const bs = atob(s);\n const len = bs.length;\n const bytes = new Uint8Array(len);\n for(let i = 0; i < len; i++){\n bytes[i] = bs.charCodeAt(i);\n }\n return bytes;\n }\n json(reviver) {\n return JSONCodec(reviver).decode(this.data);\n }\n string() {\n return TD.decode(this.data);\n }\n}\nclass StreamsImpl {\n api;\n constructor(api){\n this.api = api;\n }\n get(stream) {\n return this.api.info(stream).then((si)=>{\n return new StreamImpl(this.api, si);\n });\n }\n}\nclass ObjectInfoImpl {\n info;\n hdrs;\n constructor(oi){\n this.info = oi;\n }\n get name() {\n return this.info.name;\n }\n get description() {\n return this.info.description ?? \"\";\n }\n get headers() {\n if (!this.hdrs) {\n this.hdrs = MsgHdrsImpl.fromRecord(this.info.headers || {});\n }\n return this.hdrs;\n }\n get options() {\n return this.info.options;\n }\n get bucket() {\n return this.info.bucket;\n }\n get chunks() {\n return this.info.chunks;\n }\n get deleted() {\n return this.info.deleted ?? false;\n }\n get digest() {\n return this.info.digest;\n }\n get mtime() {\n return this.info.mtime;\n }\n get nuid() {\n return this.info.nuid;\n }\n get size() {\n return this.info.size;\n }\n get revision() {\n return this.info.revision;\n }\n get metadata() {\n return this.info.metadata || {};\n }\n isLink() {\n return this.info.options?.link !== undefined && this.info.options?.link !== null;\n }\n}\nfunction toServerObjectStoreMeta(meta) {\n const v = {\n name: meta.name,\n description: meta.description ?? \"\",\n options: meta.options,\n metadata: meta.metadata\n };\n if (meta.headers) {\n const mhi = meta.headers;\n v.headers = mhi.toRecord();\n }\n return v;\n}\nfunction emptyReadableStream() {\n return new ReadableStream({\n pull (c) {\n c.enqueue(new Uint8Array(0));\n c.close();\n }\n });\n}\nclass ObjectStoreImpl {\n jsm;\n js;\n stream;\n name;\n constructor(name, jsm, js){\n this.name = name;\n this.jsm = jsm;\n this.js = js;\n }\n _checkNotEmpty(name) {\n if (!name || name.length === 0) {\n return {\n name,\n error: new Error(\"name cannot be empty\")\n };\n }\n return {\n name\n };\n }\n async info(name) {\n const info = await this.rawInfo(name);\n return info ? new ObjectInfoImpl(info) : null;\n }\n async list() {\n const buf = [];\n const iter = await this.watch({\n ignoreDeletes: true,\n includeHistory: true\n });\n for await (const info of iter){\n if (info === null) {\n break;\n }\n buf.push(info);\n }\n return Promise.resolve(buf);\n }\n async rawInfo(name) {\n const { name: obj, error } = this._checkNotEmpty(name);\n if (error) {\n return Promise.reject(error);\n }\n const meta = this._metaSubject(obj);\n try {\n const m = await this.jsm.streams.getMessage(this.stream, {\n last_by_subj: meta\n });\n const jc = JSONCodec();\n const soi = jc.decode(m.data);\n soi.revision = m.seq;\n return soi;\n } catch (err) {\n if (err.code === \"404\") {\n return null;\n }\n return Promise.reject(err);\n }\n }\n async _si(opts) {\n try {\n return await this.jsm.streams.info(this.stream, opts);\n } catch (err) {\n const nerr = err;\n if (nerr.code === \"404\") {\n return null;\n }\n return Promise.reject(err);\n }\n }\n async seal() {\n let info = await this._si();\n if (info === null) {\n return Promise.reject(new Error(\"object store not found\"));\n }\n info.config.sealed = true;\n info = await this.jsm.streams.update(this.stream, info.config);\n return Promise.resolve(new ObjectStoreStatusImpl(info));\n }\n async status(opts) {\n const info = await this._si(opts);\n if (info === null) {\n return Promise.reject(new Error(\"object store not found\"));\n }\n return Promise.resolve(new ObjectStoreStatusImpl(info));\n }\n destroy() {\n return this.jsm.streams.delete(this.stream);\n }\n async _put(meta, rs, opts) {\n const jsopts = this.js.getOptions();\n opts = opts || {\n timeout: jsopts.timeout\n };\n opts.timeout = opts.timeout || jsopts.timeout;\n opts.previousRevision = opts.previousRevision ?? undefined;\n const { timeout, previousRevision } = opts;\n const si = this.js.nc.info;\n const maxPayload = si?.max_payload || 1024;\n meta = meta || {};\n meta.options = meta.options || {};\n let maxChunk = meta.options?.max_chunk_size || 128 * 1024;\n maxChunk = maxChunk > maxPayload ? maxPayload : maxChunk;\n meta.options.max_chunk_size = maxChunk;\n const old = await this.info(meta.name);\n const { name: n, error } = this._checkNotEmpty(meta.name);\n if (error) {\n return Promise.reject(error);\n }\n const id = nuid.next();\n const chunkSubj = this._chunkSubject(id);\n const metaSubj = this._metaSubject(n);\n const info = Object.assign({\n bucket: this.name,\n nuid: id,\n size: 0,\n chunks: 0\n }, toServerObjectStoreMeta(meta));\n const d = deferred();\n const proms = [];\n const db = new DataBuffer();\n try {\n const reader = rs ? rs.getReader() : null;\n const sha = new SHA256();\n while(true){\n const { done, value } = reader ? await reader.read() : {\n done: true,\n value: undefined\n };\n if (done) {\n if (db.size() > 0) {\n const payload = db.drain();\n sha.update(payload);\n info.chunks++;\n info.size += payload.length;\n proms.push(this.js.publish(chunkSubj, payload, {\n timeout\n }));\n }\n await Promise.all(proms);\n proms.length = 0;\n info.mtime = new Date().toISOString();\n const digest = sha.digest(\"base64\");\n const pad = digest.length % 3;\n const padding = pad > 0 ? \"=\".repeat(pad) : \"\";\n info.digest = `${digestType}${digest}${padding}`;\n info.deleted = false;\n const h = headers();\n if (typeof previousRevision === \"number\") {\n h.set(PubHeaders.ExpectedLastSubjectSequenceHdr, `${previousRevision}`);\n }\n h.set(JsHeaders.RollupHdr, JsHeaders.RollupValueSubject);\n const pa = await this.js.publish(metaSubj, JSONCodec().encode(info), {\n headers: h,\n timeout\n });\n info.revision = pa.seq;\n if (old) {\n try {\n await this.jsm.streams.purge(this.stream, {\n filter: `$O.${this.name}.C.${old.nuid}`\n });\n } catch (_err) {}\n }\n d.resolve(new ObjectInfoImpl(info));\n break;\n }\n if (value) {\n db.fill(value);\n while(db.size() > maxChunk){\n info.chunks++;\n info.size += maxChunk;\n const payload = db.drain(meta.options.max_chunk_size);\n sha.update(payload);\n proms.push(this.js.publish(chunkSubj, payload, {\n timeout\n }));\n }\n }\n }\n } catch (err) {\n await this.jsm.streams.purge(this.stream, {\n filter: chunkSubj\n });\n d.reject(err);\n }\n return d;\n }\n putBlob(meta, data, opts) {\n function readableStreamFrom(data) {\n return new ReadableStream({\n pull (controller) {\n controller.enqueue(data);\n controller.close();\n }\n });\n }\n if (data === null) {\n data = new Uint8Array(0);\n }\n return this.put(meta, readableStreamFrom(data), opts);\n }\n put(meta, rs, opts) {\n if (meta?.options?.link) {\n return Promise.reject(new Error(\"link cannot be set when putting the object in bucket\"));\n }\n return this._put(meta, rs, opts);\n }\n async getBlob(name) {\n async function fromReadableStream(rs) {\n const buf = new DataBuffer();\n const reader = rs.getReader();\n while(true){\n const { done, value } = await reader.read();\n if (done) {\n return buf.drain();\n }\n if (value && value.length) {\n buf.fill(value);\n }\n }\n }\n const r = await this.get(name);\n if (r === null) {\n return Promise.resolve(null);\n }\n const vs = await Promise.all([\n r.error,\n fromReadableStream(r.data)\n ]);\n if (vs[0]) {\n return Promise.reject(vs[0]);\n } else {\n return Promise.resolve(vs[1]);\n }\n }\n async get(name) {\n const info = await this.rawInfo(name);\n if (info === null) {\n return Promise.resolve(null);\n }\n if (info.deleted) {\n return Promise.resolve(null);\n }\n if (info.options && info.options.link) {\n const ln = info.options.link.name || \"\";\n if (ln === \"\") {\n throw new Error(\"link is a bucket\");\n }\n const os = info.options.link.bucket !== this.name ? await ObjectStoreImpl.create(this.js, info.options.link.bucket) : this;\n return os.get(ln);\n }\n const d = deferred();\n const r = {\n info: new ObjectInfoImpl(info),\n error: d\n };\n if (info.size === 0) {\n r.data = emptyReadableStream();\n d.resolve(null);\n return Promise.resolve(r);\n }\n let controller;\n const oc = consumerOpts();\n oc.orderedConsumer();\n const sha = new SHA256();\n const subj = `$O.${this.name}.C.${info.nuid}`;\n const sub = await this.js.subscribe(subj, oc);\n (async ()=>{\n for await (const jm of sub){\n if (jm.data.length > 0) {\n sha.update(jm.data);\n controller.enqueue(jm.data);\n }\n if (jm.info.pending === 0) {\n const hash = sha.digest(\"base64\");\n const pad = hash.length % 3;\n const padding = pad > 0 ? \"=\".repeat(pad) : \"\";\n const digest = `${digestType}${hash}${padding}`;\n if (digest !== info.digest) {\n controller.error(new Error(`received a corrupt object, digests do not match received: ${info.digest} calculated ${digest}`));\n } else {\n controller.close();\n }\n sub.unsubscribe();\n }\n }\n })().then(()=>{\n d.resolve();\n }).catch((err)=>{\n controller.error(err);\n d.reject(err);\n });\n r.data = new ReadableStream({\n start (c) {\n controller = c;\n },\n cancel () {\n sub.unsubscribe();\n }\n });\n return r;\n }\n linkStore(name, bucket) {\n if (!(bucket instanceof ObjectStoreImpl)) {\n return Promise.reject(\"bucket required\");\n }\n const osi = bucket;\n const { name: n, error } = this._checkNotEmpty(name);\n if (error) {\n return Promise.reject(error);\n }\n const meta = {\n name: n,\n options: {\n link: {\n bucket: osi.name\n }\n }\n };\n return this._put(meta, null);\n }\n async link(name, info) {\n const { name: n, error } = this._checkNotEmpty(name);\n if (error) {\n return Promise.reject(error);\n }\n if (info.deleted) {\n return Promise.reject(new Error(\"src object is deleted\"));\n }\n if (info.isLink()) {\n return Promise.reject(new Error(\"src object is a link\"));\n }\n const dest = await this.rawInfo(name);\n if (dest !== null && !dest.deleted) {\n return Promise.reject(new Error(\"an object already exists with that name\"));\n }\n const link = {\n bucket: info.bucket,\n name: info.name\n };\n const mm = {\n name: n,\n bucket: info.bucket,\n options: {\n link: link\n }\n };\n await this.js.publish(this._metaSubject(name), JSON.stringify(mm));\n const i = await this.info(name);\n return Promise.resolve(i);\n }\n async delete(name) {\n const info = await this.rawInfo(name);\n if (info === null) {\n return Promise.resolve({\n purged: 0,\n success: false\n });\n }\n info.deleted = true;\n info.size = 0;\n info.chunks = 0;\n info.digest = \"\";\n const jc = JSONCodec();\n const h = headers();\n h.set(JsHeaders.RollupHdr, JsHeaders.RollupValueSubject);\n await this.js.publish(this._metaSubject(info.name), jc.encode(info), {\n headers: h\n });\n return this.jsm.streams.purge(this.stream, {\n filter: this._chunkSubject(info.nuid)\n });\n }\n async update(name, meta = {}) {\n const info = await this.rawInfo(name);\n if (info === null) {\n return Promise.reject(new Error(\"object not found\"));\n }\n if (info.deleted) {\n return Promise.reject(new Error(\"cannot update meta for a deleted object\"));\n }\n meta.name = meta.name ?? info.name;\n const { name: n, error } = this._checkNotEmpty(meta.name);\n if (error) {\n return Promise.reject(error);\n }\n if (name !== meta.name) {\n const i = await this.info(meta.name);\n if (i && !i.deleted) {\n return Promise.reject(new Error(\"an object already exists with that name\"));\n }\n }\n meta.name = n;\n const ii = Object.assign({}, info, toServerObjectStoreMeta(meta));\n const ack = await this.js.publish(this._metaSubject(ii.name), JSON.stringify(ii));\n if (name !== meta.name) {\n await this.jsm.streams.purge(this.stream, {\n filter: this._metaSubject(name)\n });\n }\n return Promise.resolve(ack);\n }\n async watch(opts = {}) {\n opts.includeHistory = opts.includeHistory ?? false;\n opts.ignoreDeletes = opts.ignoreDeletes ?? false;\n let initialized = false;\n const qi = new QueuedIteratorImpl();\n const subj = this._metaSubjectAll();\n try {\n await this.jsm.streams.getMessage(this.stream, {\n last_by_subj: subj\n });\n } catch (err) {\n if (err.code === \"404\") {\n qi.push(null);\n initialized = true;\n } else {\n qi.stop(err);\n }\n }\n const jc = JSONCodec();\n const copts = consumerOpts();\n copts.orderedConsumer();\n if (opts.includeHistory) {\n copts.deliverLastPerSubject();\n } else {\n initialized = true;\n copts.deliverNew();\n }\n copts.callback((err, jm)=>{\n if (err) {\n qi.stop(err);\n return;\n }\n if (jm !== null) {\n const oi = jc.decode(jm.data);\n if (oi.deleted && opts.ignoreDeletes === true) {} else {\n qi.push(oi);\n }\n if (jm.info?.pending === 0 && !initialized) {\n initialized = true;\n qi.push(null);\n }\n }\n });\n const sub = await this.js.subscribe(subj, copts);\n qi._data = sub;\n qi.iterClosed.then(()=>{\n sub.unsubscribe();\n });\n sub.closed.then(()=>{\n qi.stop();\n }).catch((err)=>{\n qi.stop(err);\n });\n return qi;\n }\n _chunkSubject(id) {\n return `$O.${this.name}.C.${id}`;\n }\n _metaSubject(n) {\n return `$O.${this.name}.M.${Base64UrlPaddedCodec.encode(n)}`;\n }\n _metaSubjectAll() {\n return `$O.${this.name}.M.>`;\n }\n async init(opts = {}) {\n try {\n this.stream = objectStoreStreamName(this.name);\n } catch (err) {\n return Promise.reject(err);\n }\n const max_age = opts?.ttl || 0;\n delete opts.ttl;\n const sc = Object.assign({\n max_age\n }, opts);\n sc.name = this.stream;\n sc.num_replicas = opts.replicas ?? 1;\n sc.allow_direct = true;\n sc.allow_rollup_hdrs = true;\n sc.discard = DiscardPolicy.New;\n sc.subjects = [\n `$O.${this.name}.C.>`,\n `$O.${this.name}.M.>`\n ];\n if (opts.placement) {\n sc.placement = opts.placement;\n }\n if (opts.metadata) {\n sc.metadata = opts.metadata;\n }\n if (typeof opts.compression === \"boolean\") {\n sc.compression = opts.compression ? StoreCompression.S2 : StoreCompression.None;\n }\n try {\n await this.jsm.streams.info(sc.name);\n } catch (err) {\n if (err.message === \"stream not found\") {\n await this.jsm.streams.add(sc);\n }\n }\n }\n static async create(js, name, opts = {}) {\n const jsm = await js.jetstreamManager();\n const os = new ObjectStoreImpl(name, jsm, js);\n await os.init(opts);\n return Promise.resolve(os);\n }\n}\nclass ViewsImpl {\n js;\n constructor(js){\n this.js = js;\n }\n kv(name, opts = {}) {\n const jsi = this.js;\n const { ok, min } = jsi.nc.features.get(Feature.JS_KV);\n if (!ok) {\n return Promise.reject(new Error(`kv is only supported on servers ${min} or better`));\n }\n if (opts.bindOnly) {\n return Bucket.bind(this.js, name, opts);\n }\n return Bucket.create(this.js, name, opts);\n }\n os(name, opts = {}) {\n if (typeof crypto?.subtle?.digest !== \"function\") {\n return Promise.reject(new Error(\"objectstore: unable to calculate hashes - crypto.subtle.digest with sha256 support is required\"));\n }\n const jsi = this.js;\n const { ok, min } = jsi.nc.features.get(Feature.JS_OBJECTSTORE);\n if (!ok) {\n return Promise.reject(new Error(`objectstore is only supported on servers ${min} or better`));\n }\n return ObjectStoreImpl.create(this.js, name, opts);\n }\n}\nclass JetStreamClientImpl extends BaseApiClient {\n consumers;\n streams;\n consumerAPI;\n streamAPI;\n constructor(nc, opts){\n super(nc, opts);\n this.consumerAPI = new ConsumerAPIImpl(nc, opts);\n this.streamAPI = new StreamAPIImpl(nc, opts);\n this.consumers = new ConsumersImpl(this.consumerAPI);\n this.streams = new StreamsImpl(this.streamAPI);\n }\n jetstreamManager(checkAPI) {\n if (checkAPI === undefined) {\n checkAPI = this.opts.checkAPI;\n }\n const opts = Object.assign({}, this.opts, {\n checkAPI\n });\n return this.nc.jetstreamManager(opts);\n }\n get apiPrefix() {\n return this.prefix;\n }\n get views() {\n return new ViewsImpl(this);\n }\n async publish(subj, data = Empty, opts) {\n opts = opts || {};\n opts.expect = opts.expect || {};\n const mh = opts?.headers || headers();\n if (opts) {\n if (opts.msgID) {\n mh.set(PubHeaders.MsgIdHdr, opts.msgID);\n }\n if (opts.expect.lastMsgID) {\n mh.set(PubHeaders.ExpectedLastMsgIdHdr, opts.expect.lastMsgID);\n }\n if (opts.expect.streamName) {\n mh.set(PubHeaders.ExpectedStreamHdr, opts.expect.streamName);\n }\n if (typeof opts.expect.lastSequence === \"number\") {\n mh.set(PubHeaders.ExpectedLastSeqHdr, `${opts.expect.lastSequence}`);\n }\n if (typeof opts.expect.lastSubjectSequence === \"number\") {\n mh.set(PubHeaders.ExpectedLastSubjectSequenceHdr, `${opts.expect.lastSubjectSequence}`);\n }\n }\n const to = opts.timeout || this.timeout;\n const ro = {};\n if (to) {\n ro.timeout = to;\n }\n if (opts) {\n ro.headers = mh;\n }\n let { retries, retry_delay } = opts;\n retries = retries || 1;\n retry_delay = retry_delay || 250;\n let r;\n for(let i = 0; i < retries; i++){\n try {\n r = await this.nc.request(subj, data, ro);\n break;\n } catch (err) {\n const ne = err;\n if (ne.code === \"503\" && i + 1 < retries) {\n await delay(retry_delay);\n } else {\n throw err;\n }\n }\n }\n const pa = this.parseJsResponse(r);\n if (pa.stream === \"\") {\n throw NatsError.errorForCode(ErrorCode.JetStreamInvalidAck);\n }\n pa.duplicate = pa.duplicate ? pa.duplicate : false;\n return pa;\n }\n async pull(stream, durable, expires = 0) {\n validateStreamName(stream);\n validateDurableName(durable);\n let timeout = this.timeout;\n if (expires > timeout) {\n timeout = expires;\n }\n expires = expires < 0 ? 0 : nanos(expires);\n const pullOpts = {\n batch: 1,\n no_wait: expires === 0,\n expires\n };\n const msg = await this.nc.request(`${this.prefix}.CONSUMER.MSG.NEXT.${stream}.${durable}`, this.jc.encode(pullOpts), {\n noMux: true,\n timeout\n });\n const err = checkJsError(msg);\n if (err) {\n throw err;\n }\n return toJsMsg(msg, this.timeout);\n }\n fetch(stream, durable, opts = {}) {\n validateStreamName(stream);\n validateDurableName(durable);\n let timer = null;\n const trackBytes = (opts.max_bytes ?? 0) > 0;\n let receivedBytes = 0;\n const max_bytes = trackBytes ? opts.max_bytes : 0;\n let monitor = null;\n const args = {};\n args.batch = opts.batch || 1;\n if (max_bytes) {\n const fv = this.nc.features.get(Feature.JS_PULL_MAX_BYTES);\n if (!fv.ok) {\n throw new Error(`max_bytes is only supported on servers ${fv.min} or better`);\n }\n args.max_bytes = max_bytes;\n }\n args.no_wait = opts.no_wait || false;\n if (args.no_wait && args.expires) {\n args.expires = 0;\n }\n const expires = opts.expires || 0;\n if (expires) {\n args.expires = nanos(expires);\n }\n if (expires === 0 && args.no_wait === false) {\n throw new Error(\"expires or no_wait is required\");\n }\n const hb = opts.idle_heartbeat || 0;\n if (hb) {\n args.idle_heartbeat = nanos(hb);\n if (opts.delay_heartbeat === true) {\n args.idle_heartbeat = nanos(hb * 4);\n }\n }\n const qi = new QueuedIteratorImpl();\n const wants = args.batch;\n let received = 0;\n qi.protocolFilterFn = (jm, _ingest = false)=>{\n const jsmi = jm;\n if (isHeartbeatMsg(jsmi.msg)) {\n monitor?.work();\n return false;\n }\n return true;\n };\n qi.dispatchedFn = (m)=>{\n if (m) {\n if (trackBytes) {\n receivedBytes += m.data.length;\n }\n received++;\n if (timer && m.info.pending === 0) {\n return;\n }\n if (qi.getPending() === 1 && m.info.pending === 0 || wants === received || max_bytes > 0 && receivedBytes >= max_bytes) {\n qi.stop();\n }\n }\n };\n const inbox = createInbox(this.nc.options.inboxPrefix);\n const sub = this.nc.subscribe(inbox, {\n max: opts.batch,\n callback: (err, msg)=>{\n if (err === null) {\n err = checkJsError(msg);\n }\n if (err !== null) {\n if (timer) {\n timer.cancel();\n timer = null;\n }\n if (isNatsError(err)) {\n qi.stop(hideNonTerminalJsErrors(err) === null ? undefined : err);\n } else {\n qi.stop(err);\n }\n } else {\n monitor?.work();\n qi.received++;\n qi.push(toJsMsg(msg, this.timeout));\n }\n }\n });\n if (expires) {\n timer = timeout(expires);\n timer.catch(()=>{\n if (!sub.isClosed()) {\n sub.drain().catch(()=>{});\n timer = null;\n }\n if (monitor) {\n monitor.cancel();\n }\n });\n }\n (async ()=>{\n try {\n if (hb) {\n monitor = new IdleHeartbeatMonitor(hb, (v)=>{\n qi.push(()=>{\n qi.err = new NatsError(`${Js409Errors.IdleHeartbeatMissed}: ${v}`, ErrorCode.JetStreamIdleHeartBeat);\n });\n return true;\n });\n }\n } catch (_err) {}\n await sub.closed;\n if (timer !== null) {\n timer.cancel();\n timer = null;\n }\n if (monitor) {\n monitor.cancel();\n }\n qi.stop();\n })().catch();\n this.nc.publish(`${this.prefix}.CONSUMER.MSG.NEXT.${stream}.${durable}`, this.jc.encode(args), {\n reply: inbox\n });\n return qi;\n }\n async pullSubscribe(subject, opts = consumerOpts()) {\n const cso = await this._processOptions(subject, opts);\n if (cso.ordered) {\n throw new Error(\"pull subscribers cannot be be ordered\");\n }\n if (cso.config.deliver_subject) {\n throw new Error(\"consumer info specifies deliver_subject - pull consumers cannot have deliver_subject set\");\n }\n const ackPolicy = cso.config.ack_policy;\n if (ackPolicy === AckPolicy.None || ackPolicy === AckPolicy.All) {\n throw new Error(\"ack policy for pull consumers must be explicit\");\n }\n const so = this._buildTypedSubscriptionOpts(cso);\n const sub = new JetStreamPullSubscriptionImpl(this, cso.deliver, so);\n sub.info = cso;\n try {\n await this._maybeCreateConsumer(cso);\n } catch (err) {\n sub.unsubscribe();\n throw err;\n }\n return sub;\n }\n async subscribe(subject, opts = consumerOpts()) {\n const cso = await this._processOptions(subject, opts);\n if (!cso.isBind && !cso.config.deliver_subject) {\n throw new Error(\"push consumer requires deliver_subject\");\n }\n const so = this._buildTypedSubscriptionOpts(cso);\n const sub = new JetStreamSubscriptionImpl(this, cso.deliver, so);\n sub.info = cso;\n try {\n await this._maybeCreateConsumer(cso);\n } catch (err) {\n sub.unsubscribe();\n throw err;\n }\n sub._maybeSetupHbMonitoring();\n return sub;\n }\n async _processOptions(subject, opts = consumerOpts()) {\n const jsi = isConsumerOptsBuilder(opts) ? opts.getOpts() : opts;\n jsi.isBind = isConsumerOptsBuilder(opts) ? opts.isBind : false;\n jsi.flow_control = {\n heartbeat_count: 0,\n fc_count: 0,\n consumer_restarts: 0\n };\n if (jsi.ordered) {\n jsi.ordered_consumer_sequence = {\n stream_seq: 0,\n delivery_seq: 0\n };\n if (jsi.config.ack_policy !== AckPolicy.NotSet && jsi.config.ack_policy !== AckPolicy.None) {\n throw new NatsError(\"ordered consumer: ack_policy can only be set to 'none'\", ErrorCode.ApiError);\n }\n if (jsi.config.durable_name && jsi.config.durable_name.length > 0) {\n throw new NatsError(\"ordered consumer: durable_name cannot be set\", ErrorCode.ApiError);\n }\n if (jsi.config.deliver_subject && jsi.config.deliver_subject.length > 0) {\n throw new NatsError(\"ordered consumer: deliver_subject cannot be set\", ErrorCode.ApiError);\n }\n if (jsi.config.max_deliver !== undefined && jsi.config.max_deliver > 1) {\n throw new NatsError(\"ordered consumer: max_deliver cannot be set\", ErrorCode.ApiError);\n }\n if (jsi.config.deliver_group && jsi.config.deliver_group.length > 0) {\n throw new NatsError(\"ordered consumer: deliver_group cannot be set\", ErrorCode.ApiError);\n }\n jsi.config.deliver_subject = createInbox(this.nc.options.inboxPrefix);\n jsi.config.ack_policy = AckPolicy.None;\n jsi.config.max_deliver = 1;\n jsi.config.flow_control = true;\n jsi.config.idle_heartbeat = jsi.config.idle_heartbeat || nanos(5000);\n jsi.config.ack_wait = nanos(22 * 60 * 60 * 1000);\n jsi.config.mem_storage = true;\n jsi.config.num_replicas = 1;\n }\n if (jsi.config.ack_policy === AckPolicy.NotSet) {\n jsi.config.ack_policy = AckPolicy.All;\n }\n jsi.api = this;\n jsi.config = jsi.config || {};\n jsi.stream = jsi.stream ? jsi.stream : await this.findStream(subject);\n jsi.attached = false;\n if (jsi.config.durable_name) {\n try {\n const info = await this.consumerAPI.info(jsi.stream, jsi.config.durable_name);\n if (info) {\n if (info.config.filter_subject && info.config.filter_subject !== subject) {\n throw new Error(\"subject does not match consumer\");\n }\n const qn = jsi.config.deliver_group ?? \"\";\n if (qn === \"\" && info.push_bound === true) {\n throw new Error(`duplicate subscription`);\n }\n const rqn = info.config.deliver_group ?? \"\";\n if (qn !== rqn) {\n if (rqn === \"\") {\n throw new Error(`durable requires no queue group`);\n } else {\n throw new Error(`durable requires queue group '${rqn}'`);\n }\n }\n jsi.last = info;\n jsi.config = info.config;\n jsi.attached = true;\n if (!jsi.config.durable_name) {\n jsi.name = info.name;\n }\n }\n } catch (err) {\n if (err.code !== \"404\") {\n throw err;\n }\n }\n }\n if (!jsi.attached && jsi.config.filter_subject === undefined && jsi.config.filter_subjects === undefined) {\n jsi.config.filter_subject = subject;\n }\n jsi.deliver = jsi.config.deliver_subject || createInbox(this.nc.options.inboxPrefix);\n return jsi;\n }\n _buildTypedSubscriptionOpts(jsi) {\n const so = {};\n so.adapter = msgAdapter(jsi.callbackFn === undefined, this.timeout);\n so.ingestionFilterFn = JetStreamClientImpl.ingestionFn(jsi.ordered);\n so.protocolFilterFn = (jm, ingest = false)=>{\n const jsmi = jm;\n if (isFlowControlMsg(jsmi.msg)) {\n if (!ingest) {\n jsmi.msg.respond();\n }\n return false;\n }\n return true;\n };\n if (!jsi.mack && jsi.config.ack_policy !== AckPolicy.None) {\n so.dispatchedFn = autoAckJsMsg;\n }\n if (jsi.callbackFn) {\n so.callback = jsi.callbackFn;\n }\n so.max = jsi.max || 0;\n so.queue = jsi.queue;\n return so;\n }\n async _maybeCreateConsumer(jsi) {\n if (jsi.attached) {\n return;\n }\n if (jsi.isBind) {\n throw new Error(`unable to bind - durable consumer ${jsi.config.durable_name} doesn't exist in ${jsi.stream}`);\n }\n jsi.config = Object.assign({\n deliver_policy: DeliverPolicy.All,\n ack_policy: AckPolicy.Explicit,\n ack_wait: nanos(30 * 1000),\n replay_policy: ReplayPolicy.Instant\n }, jsi.config);\n const ci = await this.consumerAPI.add(jsi.stream, jsi.config);\n if (Array.isArray(jsi.config.filter_subjects && !Array.isArray(ci.config.filter_subjects))) {\n throw new Error(`jetstream server doesn't support consumers with multiple filter subjects`);\n }\n jsi.name = ci.name;\n jsi.config = ci.config;\n jsi.last = ci;\n }\n static ingestionFn(ordered) {\n return (jm, ctx)=>{\n const jsub = ctx;\n if (!jm) return {\n ingest: false,\n protocol: false\n };\n const jmi = jm;\n if (!checkJsError(jmi.msg)) {\n jsub.monitor?.work();\n }\n if (isHeartbeatMsg(jmi.msg)) {\n const ingest = ordered ? jsub._checkHbOrderConsumer(jmi.msg) : true;\n if (!ordered) {\n jsub.info.flow_control.heartbeat_count++;\n }\n return {\n ingest,\n protocol: true\n };\n } else if (isFlowControlMsg(jmi.msg)) {\n jsub.info.flow_control.fc_count++;\n return {\n ingest: true,\n protocol: true\n };\n }\n const ingest = ordered ? jsub._checkOrderedConsumer(jm) : true;\n return {\n ingest,\n protocol: false\n };\n };\n }\n}\nclass NatsConnectionImpl {\n options;\n protocol;\n draining;\n listeners;\n _services;\n constructor(opts){\n this.draining = false;\n this.options = parseOptions(opts);\n this.listeners = [];\n }\n static connect(opts = {}) {\n return new Promise((resolve, reject)=>{\n const nc = new NatsConnectionImpl(opts);\n ProtocolHandler.connect(nc.options, nc).then((ph)=>{\n nc.protocol = ph;\n (async function() {\n for await (const s of ph.status()){\n nc.listeners.forEach((l)=>{\n l.push(s);\n });\n }\n })();\n resolve(nc);\n }).catch((err)=>{\n reject(err);\n });\n });\n }\n closed() {\n return this.protocol.closed;\n }\n async close() {\n await this.protocol.close();\n }\n _check(subject, sub, pub) {\n if (this.isClosed()) {\n throw NatsError.errorForCode(ErrorCode.ConnectionClosed);\n }\n if (sub && this.isDraining()) {\n throw NatsError.errorForCode(ErrorCode.ConnectionDraining);\n }\n if (pub && this.protocol.noMorePublishing) {\n throw NatsError.errorForCode(ErrorCode.ConnectionDraining);\n }\n subject = subject || \"\";\n if (subject.length === 0) {\n throw NatsError.errorForCode(ErrorCode.BadSubject);\n }\n }\n publish(subject, data, options) {\n this._check(subject, false, true);\n this.protocol.publish(subject, data, options);\n }\n publishMessage(msg) {\n return this.publish(msg.subject, msg.data, {\n reply: msg.reply,\n headers: msg.headers\n });\n }\n respondMessage(msg) {\n if (msg.reply) {\n this.publish(msg.reply, msg.data, {\n reply: msg.reply,\n headers: msg.headers\n });\n return true;\n }\n return false;\n }\n subscribe(subject, opts = {}) {\n this._check(subject, true, false);\n const sub = new SubscriptionImpl(this.protocol, subject, opts);\n this.protocol.subscribe(sub);\n return sub;\n }\n _resub(s, subject, max) {\n this._check(subject, true, false);\n const si = s;\n si.max = max;\n if (max) {\n si.max = max + si.received;\n }\n this.protocol.resub(si, subject);\n }\n requestMany(subject, data = Empty, opts = {\n maxWait: 1000,\n maxMessages: -1\n }) {\n const asyncTraces = !(this.protocol.options.noAsyncTraces || false);\n try {\n this._check(subject, true, true);\n } catch (err) {\n return Promise.reject(err);\n }\n opts.strategy = opts.strategy || RequestStrategy.Timer;\n opts.maxWait = opts.maxWait || 1000;\n if (opts.maxWait < 1) {\n return Promise.reject(new NatsError(\"timeout\", ErrorCode.InvalidOption));\n }\n const qi = new QueuedIteratorImpl();\n function stop(err) {\n qi.push(()=>{\n qi.stop(err);\n });\n }\n function callback(err, msg) {\n if (err || msg === null) {\n stop(err === null ? undefined : err);\n } else {\n qi.push(msg);\n }\n }\n if (opts.noMux) {\n const stack = asyncTraces ? new Error().stack : null;\n let max = typeof opts.maxMessages === \"number\" && opts.maxMessages > 0 ? opts.maxMessages : -1;\n const sub = this.subscribe(createInbox(this.options.inboxPrefix), {\n callback: (err, msg)=>{\n if (msg?.data?.length === 0 && msg?.headers?.status === ErrorCode.NoResponders) {\n err = NatsError.errorForCode(ErrorCode.NoResponders);\n }\n if (err) {\n if (stack) {\n err.stack += `\\n\\n${stack}`;\n }\n cancel(err);\n return;\n }\n callback(null, msg);\n if (opts.strategy === RequestStrategy.Count) {\n max--;\n if (max === 0) {\n cancel();\n }\n }\n if (opts.strategy === RequestStrategy.JitterTimer) {\n clearTimers();\n timer = setTimeout(()=>{\n cancel();\n }, 300);\n }\n if (opts.strategy === RequestStrategy.SentinelMsg) {\n if (msg && msg.data.length === 0) {\n cancel();\n }\n }\n }\n });\n sub.requestSubject = subject;\n sub.closed.then(()=>{\n stop();\n }).catch((err)=>{\n qi.stop(err);\n });\n const cancel = (err)=>{\n if (err) {\n qi.push(()=>{\n throw err;\n });\n }\n clearTimers();\n sub.drain().then(()=>{\n stop();\n }).catch((_err)=>{\n stop();\n });\n };\n qi.iterClosed.then(()=>{\n clearTimers();\n sub?.unsubscribe();\n }).catch((_err)=>{\n clearTimers();\n sub?.unsubscribe();\n });\n try {\n this.publish(subject, data, {\n reply: sub.getSubject()\n });\n } catch (err) {\n cancel(err);\n }\n let timer = setTimeout(()=>{\n cancel();\n }, opts.maxWait);\n const clearTimers = ()=>{\n if (timer) {\n clearTimeout(timer);\n }\n };\n } else {\n const rmo = opts;\n rmo.callback = callback;\n qi.iterClosed.then(()=>{\n r.cancel();\n }).catch((err)=>{\n r.cancel(err);\n });\n const r = new RequestMany(this.protocol.muxSubscriptions, subject, rmo);\n this.protocol.request(r);\n try {\n this.publish(subject, data, {\n reply: `${this.protocol.muxSubscriptions.baseInbox}${r.token}`,\n headers: opts.headers\n });\n } catch (err) {\n r.cancel(err);\n }\n }\n return Promise.resolve(qi);\n }\n request(subject, data, opts = {\n timeout: 1000,\n noMux: false\n }) {\n try {\n this._check(subject, true, true);\n } catch (err) {\n return Promise.reject(err);\n }\n const asyncTraces = !(this.protocol.options.noAsyncTraces || false);\n opts.timeout = opts.timeout || 1000;\n if (opts.timeout < 1) {\n return Promise.reject(new NatsError(\"timeout\", ErrorCode.InvalidOption));\n }\n if (!opts.noMux && opts.reply) {\n return Promise.reject(new NatsError(\"reply can only be used with noMux\", ErrorCode.InvalidOption));\n }\n if (opts.noMux) {\n const inbox = opts.reply ? opts.reply : createInbox(this.options.inboxPrefix);\n const d = deferred();\n const errCtx = asyncTraces ? new Error() : null;\n const sub = this.subscribe(inbox, {\n max: 1,\n timeout: opts.timeout,\n callback: (err, msg)=>{\n if (err) {\n if (errCtx && err.code !== ErrorCode.Timeout) {\n err.stack += `\\n\\n${errCtx.stack}`;\n }\n sub.unsubscribe();\n d.reject(err);\n } else {\n err = isRequestError(msg);\n if (err) {\n if (errCtx) {\n err.stack += `\\n\\n${errCtx.stack}`;\n }\n d.reject(err);\n } else {\n d.resolve(msg);\n }\n }\n }\n });\n sub.requestSubject = subject;\n this.protocol.publish(subject, data, {\n reply: inbox,\n headers: opts.headers\n });\n return d;\n } else {\n const r = new RequestOne(this.protocol.muxSubscriptions, subject, opts, asyncTraces);\n this.protocol.request(r);\n try {\n this.publish(subject, data, {\n reply: `${this.protocol.muxSubscriptions.baseInbox}${r.token}`,\n headers: opts.headers\n });\n } catch (err) {\n r.cancel(err);\n }\n const p = Promise.race([\n r.timer,\n r.deferred\n ]);\n p.catch(()=>{\n r.cancel();\n });\n return p;\n }\n }\n flush() {\n if (this.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionClosed));\n }\n return this.protocol.flush();\n }\n drain() {\n if (this.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionClosed));\n }\n if (this.isDraining()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionDraining));\n }\n this.draining = true;\n return this.protocol.drain();\n }\n isClosed() {\n return this.protocol.isClosed();\n }\n isDraining() {\n return this.draining;\n }\n getServer() {\n const srv = this.protocol.getServer();\n return srv ? srv.listen : \"\";\n }\n status() {\n const iter = new QueuedIteratorImpl();\n iter.iterClosed.then(()=>{\n const idx = this.listeners.indexOf(iter);\n this.listeners.splice(idx, 1);\n });\n this.listeners.push(iter);\n return iter;\n }\n get info() {\n return this.protocol.isClosed() ? undefined : this.protocol.info;\n }\n async context() {\n const r = await this.request(`$SYS.REQ.USER.INFO`);\n return r.json((key, value)=>{\n if (key === \"time\") {\n return new Date(Date.parse(value));\n }\n return value;\n });\n }\n stats() {\n return {\n inBytes: this.protocol.inBytes,\n outBytes: this.protocol.outBytes,\n inMsgs: this.protocol.inMsgs,\n outMsgs: this.protocol.outMsgs\n };\n }\n async jetstreamManager(opts = {}) {\n const adm = new JetStreamManagerImpl(this, opts);\n if (opts.checkAPI !== false) {\n try {\n await adm.getAccountInfo();\n } catch (err) {\n const ne = err;\n if (ne.code === ErrorCode.NoResponders) {\n ne.code = ErrorCode.JetStreamNotEnabled;\n }\n throw ne;\n }\n }\n return adm;\n }\n jetstream(opts = {}) {\n return new JetStreamClientImpl(this, opts);\n }\n getServerVersion() {\n const info = this.info;\n return info ? parseSemVer(info.version) : undefined;\n }\n async rtt() {\n if (!this.protocol._closed && !this.protocol.connected) {\n throw NatsError.errorForCode(ErrorCode.Disconnect);\n }\n const start = Date.now();\n await this.flush();\n return Date.now() - start;\n }\n get features() {\n return this.protocol.features;\n }\n get services() {\n if (!this._services) {\n this._services = new ServicesFactory(this);\n }\n return this._services;\n }\n reconnect() {\n if (this.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionClosed));\n }\n if (this.isDraining()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionDraining));\n }\n return this.protocol.reconnect();\n }\n}\nclass ServicesFactory {\n nc;\n constructor(nc){\n this.nc = nc;\n }\n add(config) {\n try {\n const s = new ServiceImpl(this.nc, config);\n return s.start();\n } catch (err) {\n return Promise.reject(err);\n }\n }\n client(opts, prefix) {\n return new ServiceClientImpl(this.nc, opts, prefix);\n }\n}\nclass KvStoredEntryImpl {\n bucket;\n sm;\n prefixLen;\n constructor(bucket, prefixLen, sm){\n this.bucket = bucket;\n this.prefixLen = prefixLen;\n this.sm = sm;\n }\n get key() {\n return this.sm.subject.substring(this.prefixLen);\n }\n get value() {\n return this.sm.data;\n }\n get delta() {\n return 0;\n }\n get created() {\n return this.sm.time;\n }\n get revision() {\n return this.sm.seq;\n }\n get operation() {\n return this.sm.header.get(kvOperationHdr) || \"PUT\";\n }\n get length() {\n const slen = this.sm.header.get(JsHeaders.MessageSizeHdr) || \"\";\n if (slen !== \"\") {\n return parseInt(slen, 10);\n }\n return this.sm.data.length;\n }\n json() {\n return this.sm.json();\n }\n string() {\n return this.sm.string();\n }\n}\nclass KvJsMsgEntryImpl {\n bucket;\n key;\n sm;\n constructor(bucket, key, sm){\n this.bucket = bucket;\n this.key = key;\n this.sm = sm;\n }\n get value() {\n return this.sm.data;\n }\n get created() {\n return new Date(millis(this.sm.info.timestampNanos));\n }\n get revision() {\n return this.sm.seq;\n }\n get operation() {\n return this.sm.headers?.get(kvOperationHdr) || \"PUT\";\n }\n get delta() {\n return this.sm.info.pending;\n }\n get length() {\n const slen = this.sm.headers?.get(JsHeaders.MessageSizeHdr) || \"\";\n if (slen !== \"\") {\n return parseInt(slen, 10);\n }\n return this.sm.data.length;\n }\n json() {\n return this.sm.json();\n }\n string() {\n return this.sm.string();\n }\n}\nclass JetStreamSubscriptionImpl extends TypedSubscription {\n js;\n monitor;\n constructor(js, subject, opts){\n super(js.nc, subject, opts);\n this.js = js;\n this.monitor = null;\n this.sub.closed.then(()=>{\n if (this.monitor) {\n this.monitor.cancel();\n }\n });\n }\n set info(info) {\n this.sub.info = info;\n }\n get info() {\n return this.sub.info;\n }\n _resetOrderedConsumer(sseq) {\n if (this.info === null || this.sub.isClosed()) {\n return;\n }\n const newDeliver = createInbox(this.js.nc.options.inboxPrefix);\n const nci = this.js.nc;\n nci._resub(this.sub, newDeliver);\n const info = this.info;\n info.config.name = nuid.next();\n info.ordered_consumer_sequence.delivery_seq = 0;\n info.flow_control.heartbeat_count = 0;\n info.flow_control.fc_count = 0;\n info.flow_control.consumer_restarts++;\n info.deliver = newDeliver;\n info.config.deliver_subject = newDeliver;\n info.config.deliver_policy = DeliverPolicy.StartSequence;\n info.config.opt_start_seq = sseq;\n const req = {};\n req.stream_name = this.info.stream;\n req.config = info.config;\n const subj = `${info.api.prefix}.CONSUMER.CREATE.${info.stream}`;\n this.js._request(subj, req, {\n retries: -1\n }).then((v)=>{\n const ci = v;\n const jinfo = this.sub.info;\n jinfo.last = ci;\n this.info.config = ci.config;\n this.info.name = ci.name;\n }).catch((err)=>{\n const nerr = new NatsError(`unable to recreate ordered consumer ${info.stream} at seq ${sseq}`, ErrorCode.RequestError, err);\n this.sub.callback(nerr, {});\n });\n }\n _maybeSetupHbMonitoring() {\n const ns = this.info?.config?.idle_heartbeat || 0;\n if (ns) {\n this._setupHbMonitoring(millis(ns));\n }\n }\n _setupHbMonitoring(millis, cancelAfter = 0) {\n const opts = {\n cancelAfter: 0,\n maxOut: 2\n };\n if (cancelAfter) {\n opts.cancelAfter = cancelAfter;\n }\n const sub = this.sub;\n const handler = (v)=>{\n const msg = newJsErrorMsg(409, `${Js409Errors.IdleHeartbeatMissed}: ${v}`, this.sub.subject);\n const ordered = this.info?.ordered;\n if (!ordered) {\n this.sub.callback(null, msg);\n } else {\n if (!this.js.nc.protocol.connected) {\n return false;\n }\n const seq = this.info?.ordered_consumer_sequence?.stream_seq || 0;\n this._resetOrderedConsumer(seq + 1);\n this.monitor?.restart();\n return false;\n }\n return !sub.noIterator;\n };\n this.monitor = new IdleHeartbeatMonitor(millis, handler, opts);\n }\n _checkHbOrderConsumer(msg) {\n const rm = msg.headers.get(JsHeaders.ConsumerStalledHdr);\n if (rm !== \"\") {\n const nci = this.js.nc;\n nci.publish(rm);\n }\n const lastDelivered = parseInt(msg.headers.get(JsHeaders.LastConsumerSeqHdr), 10);\n const ordered = this.info.ordered_consumer_sequence;\n this.info.flow_control.heartbeat_count++;\n if (lastDelivered !== ordered.delivery_seq) {\n this._resetOrderedConsumer(ordered.stream_seq + 1);\n }\n return false;\n }\n _checkOrderedConsumer(jm) {\n const ordered = this.info.ordered_consumer_sequence;\n const sseq = jm.info.streamSequence;\n const dseq = jm.info.deliverySequence;\n if (dseq != ordered.delivery_seq + 1) {\n this._resetOrderedConsumer(ordered.stream_seq + 1);\n return false;\n }\n ordered.delivery_seq = dseq;\n ordered.stream_seq = sseq;\n return true;\n }\n async destroy() {\n if (!this.isClosed()) {\n await this.drain();\n }\n const jinfo = this.sub.info;\n const name = jinfo.config.durable_name || jinfo.name;\n const subj = `${jinfo.api.prefix}.CONSUMER.DELETE.${jinfo.stream}.${name}`;\n await jinfo.api._request(subj);\n }\n async consumerInfo() {\n const jinfo = this.sub.info;\n const name = jinfo.config.durable_name || jinfo.name;\n const subj = `${jinfo.api.prefix}.CONSUMER.INFO.${jinfo.stream}.${name}`;\n const ci = await jinfo.api._request(subj);\n jinfo.last = ci;\n return ci;\n }\n}\nclass JetStreamPullSubscriptionImpl extends JetStreamSubscriptionImpl {\n constructor(js, subject, opts){\n super(js, subject, opts);\n }\n pull(opts = {\n batch: 1\n }) {\n const { stream, config, name } = this.sub.info;\n const consumer = config.durable_name ?? name;\n const args = {};\n args.batch = opts.batch || 1;\n args.no_wait = opts.no_wait || false;\n if ((opts.max_bytes ?? 0) > 0) {\n const fv = this.js.nc.features.get(Feature.JS_PULL_MAX_BYTES);\n if (!fv.ok) {\n throw new Error(`max_bytes is only supported on servers ${fv.min} or better`);\n }\n args.max_bytes = opts.max_bytes;\n }\n let expires = 0;\n if (opts.expires && opts.expires > 0) {\n expires = opts.expires;\n args.expires = nanos(expires);\n }\n let hb = 0;\n if (opts.idle_heartbeat && opts.idle_heartbeat > 0) {\n hb = opts.idle_heartbeat;\n args.idle_heartbeat = nanos(hb);\n }\n if (hb && expires === 0) {\n throw new Error(\"idle_heartbeat requires expires\");\n }\n if (hb > expires) {\n throw new Error(\"expires must be greater than idle_heartbeat\");\n }\n if (this.info) {\n if (this.monitor) {\n this.monitor.cancel();\n }\n if (expires && hb) {\n if (!this.monitor) {\n this._setupHbMonitoring(hb, expires);\n } else {\n this.monitor._change(hb, expires);\n }\n }\n const api = this.info.api;\n const subj = `${api.prefix}.CONSUMER.MSG.NEXT.${stream}.${consumer}`;\n const reply = this.sub.subject;\n api.nc.publish(subj, api.jc.encode(args), {\n reply: reply\n });\n }\n }\n}\nfunction msgAdapter(iterator, ackTimeout) {\n if (iterator) {\n return iterMsgAdapter(ackTimeout);\n } else {\n return cbMsgAdapter(ackTimeout);\n }\n}\nfunction cbMsgAdapter(ackTimeout) {\n return (err, msg)=>{\n if (err) {\n return [\n err,\n null\n ];\n }\n err = checkJsError(msg);\n if (err) {\n return [\n err,\n null\n ];\n }\n return [\n null,\n toJsMsg(msg, ackTimeout)\n ];\n };\n}\nfunction iterMsgAdapter(ackTimeout) {\n return (err, msg)=>{\n if (err) {\n return [\n err,\n null\n ];\n }\n const ne = checkJsError(msg);\n if (ne !== null) {\n return [\n hideNonTerminalJsErrors(ne),\n null\n ];\n }\n return [\n null,\n toJsMsg(msg, ackTimeout)\n ];\n };\n}\nfunction hideNonTerminalJsErrors(ne) {\n if (ne !== null) {\n switch(ne.code){\n case ErrorCode.JetStream404NoMessages:\n case ErrorCode.JetStream408RequestTimeout:\n return null;\n case ErrorCode.JetStream409:\n if (isTerminal409(ne)) {\n return ne;\n }\n return null;\n default:\n return ne;\n }\n }\n return null;\n}\nfunction autoAckJsMsg(data) {\n if (data) {\n data.ack();\n }\n}\nfunction parseInfo(s) {\n const tokens = s.split(\".\");\n if (tokens.length === 9) {\n tokens.splice(2, 0, \"_\", \"\");\n }\n if (tokens.length < 11 || tokens[0] !== \"$JS\" || tokens[1] !== \"ACK\") {\n throw new Error(`not js message`);\n }\n const di = {};\n di.domain = tokens[2] === \"_\" ? \"\" : tokens[2];\n di.account_hash = tokens[3];\n di.stream = tokens[4];\n di.consumer = tokens[5];\n di.redeliveryCount = parseInt(tokens[6], 10);\n di.redelivered = di.redeliveryCount > 1;\n di.streamSequence = parseInt(tokens[7], 10);\n di.deliverySequence = parseInt(tokens[8], 10);\n di.timestampNanos = parseInt(tokens[9], 10);\n di.pending = parseInt(tokens[10], 10);\n return di;\n}\nclass JsMsgImpl {\n msg;\n di;\n didAck;\n timeout;\n constructor(msg, timeout){\n this.msg = msg;\n this.didAck = false;\n this.timeout = timeout;\n }\n get subject() {\n return this.msg.subject;\n }\n get sid() {\n return this.msg.sid;\n }\n get data() {\n return this.msg.data;\n }\n get headers() {\n return this.msg.headers;\n }\n get info() {\n if (!this.di) {\n this.di = parseInfo(this.reply);\n }\n return this.di;\n }\n get redelivered() {\n return this.info.redeliveryCount > 1;\n }\n get reply() {\n return this.msg.reply || \"\";\n }\n get seq() {\n return this.info.streamSequence;\n }\n doAck(payload) {\n if (!this.didAck) {\n this.didAck = !this.isWIP(payload);\n this.msg.respond(payload);\n }\n }\n isWIP(p) {\n return p.length === 4 && p[0] === WPI[0] && p[1] === WPI[1] && p[2] === WPI[2] && p[3] === WPI[3];\n }\n async ackAck(opts) {\n opts = opts || {};\n opts.timeout = opts.timeout || this.timeout;\n const d = deferred();\n if (!this.didAck) {\n this.didAck = true;\n if (this.msg.reply) {\n const mi = this.msg;\n const proto = mi.publisher;\n const trace = !(proto.options?.noAsyncTraces || false);\n const r = new RequestOne(proto.muxSubscriptions, this.msg.reply, {\n timeout: opts.timeout\n }, trace);\n proto.request(r);\n try {\n proto.publish(this.msg.reply, ACK, {\n reply: `${proto.muxSubscriptions.baseInbox}${r.token}`\n });\n } catch (err) {\n r.cancel(err);\n }\n try {\n await Promise.race([\n r.timer,\n r.deferred\n ]);\n d.resolve(true);\n } catch (err) {\n r.cancel(err);\n d.reject(err);\n }\n } else {\n d.resolve(false);\n }\n } else {\n d.resolve(false);\n }\n return d;\n }\n ack() {\n this.doAck(ACK);\n }\n nak(millis) {\n let payload = NAK;\n if (millis) {\n payload = StringCodec().encode(`-NAK ${JSON.stringify({\n delay: nanos(millis)\n })}`);\n }\n this.doAck(payload);\n }\n working() {\n this.doAck(WPI);\n }\n next(subj, opts = {\n batch: 1\n }) {\n const args = {};\n args.batch = opts.batch || 1;\n args.no_wait = opts.no_wait || false;\n if (opts.expires && opts.expires > 0) {\n args.expires = nanos(opts.expires);\n }\n const data = JSONCodec().encode(args);\n const payload = DataBuffer.concat(NXT, SPACE, data);\n const reqOpts = subj ? {\n reply: subj\n } : undefined;\n this.msg.respond(payload, reqOpts);\n }\n term(reason = \"\") {\n let term = TERM;\n if (reason?.length > 0) {\n term = StringCodec().encode(`+TERM ${reason}`);\n }\n this.doAck(term);\n }\n json() {\n return this.msg.json();\n }\n string() {\n return this.msg.string();\n }\n}\nexport { checkJsError as checkJsError, isFlowControlMsg as isFlowControlMsg, isHeartbeatMsg as isHeartbeatMsg };\nexport { AckPolicy as AckPolicy, AdvisoryKind as AdvisoryKind, ConsumerDebugEvents as ConsumerDebugEvents, ConsumerEvents as ConsumerEvents, DeliverPolicy as DeliverPolicy, DirectMsgHeaders as DirectMsgHeaders, DiscardPolicy as DiscardPolicy, JsHeaders as JsHeaders, KvWatchInclude as KvWatchInclude, ReplayPolicy as ReplayPolicy, RepublishHeaders as RepublishHeaders, RetentionPolicy as RetentionPolicy, StorageType as StorageType, StoreCompression as StoreCompression };\nexport { consumerOpts as consumerOpts };\nconst VERSION = \"1.29.2\";\nconst LANG = \"nats.ws\";\nclass WsTransport {\n version;\n lang;\n closeError;\n connected;\n done;\n socket;\n options;\n socketClosed;\n encrypted;\n peeked;\n yields;\n signal;\n closedNotification;\n constructor(){\n this.version = VERSION;\n this.lang = LANG;\n this.connected = false;\n this.done = false;\n this.socketClosed = false;\n this.encrypted = false;\n this.peeked = false;\n this.yields = [];\n this.signal = deferred();\n this.closedNotification = deferred();\n }\n async connect(server, options) {\n const connected = false;\n const connLock = deferred();\n if (options.tls) {\n connLock.reject(new NatsError(\"tls\", ErrorCode.InvalidOption));\n return connLock;\n }\n this.options = options;\n const u = server.src;\n if (options.wsFactory) {\n const { socket, encrypted } = await options.wsFactory(server.src, options);\n this.socket = socket;\n this.encrypted = encrypted;\n } else {\n this.encrypted = u.indexOf(\"wss://\") === 0;\n this.socket = new WebSocket(u);\n }\n this.socket.binaryType = \"arraybuffer\";\n this.socket.onopen = ()=>{\n if (this.isDiscarded()) {\n return;\n }\n };\n this.socket.onmessage = (me)=>{\n if (this.isDiscarded()) {\n return;\n }\n this.yields.push(new Uint8Array(me.data));\n if (this.peeked) {\n this.signal.resolve();\n return;\n }\n const t = DataBuffer.concat(...this.yields);\n const pm = extractProtocolMessage(t);\n if (pm !== \"\") {\n const m = INFO.exec(pm);\n if (!m) {\n if (options.debug) {\n console.error(\"!!!\", render(t));\n }\n connLock.reject(new Error(\"unexpected response from server\"));\n return;\n }\n try {\n const info = JSON.parse(m[1]);\n checkOptions(info, this.options);\n this.peeked = true;\n this.connected = true;\n this.signal.resolve();\n connLock.resolve();\n } catch (err) {\n connLock.reject(err);\n return;\n }\n }\n };\n this.socket.onclose = (evt)=>{\n if (this.isDiscarded()) {\n return;\n }\n this.socketClosed = true;\n let reason;\n if (this.done) return;\n if (!evt.wasClean) {\n reason = new Error(evt.reason);\n }\n this._closed(reason);\n };\n this.socket.onerror = (e)=>{\n if (this.isDiscarded()) {\n return;\n }\n const evt = e;\n const err = new NatsError(evt.message, ErrorCode.Unknown, new Error(evt.error));\n if (!connected) {\n connLock.reject(err);\n } else {\n this._closed(err);\n }\n };\n return connLock;\n }\n disconnect() {\n this._closed(undefined, true);\n }\n async _closed(err, internal = true) {\n if (this.isDiscarded()) {\n return;\n }\n if (!this.connected) return;\n if (this.done) return;\n this.closeError = err;\n if (!err) {\n while(!this.socketClosed && this.socket.bufferedAmount > 0){\n await delay(100);\n }\n }\n this.done = true;\n try {\n this.socket.close(err ? 1002 : 1000, err ? err.message : undefined);\n } catch (err) {}\n if (internal) {\n this.closedNotification.resolve(err);\n }\n }\n get isClosed() {\n return this.done;\n }\n [Symbol.asyncIterator]() {\n return this.iterate();\n }\n async *iterate() {\n while(true){\n if (this.isDiscarded()) {\n return;\n }\n if (this.yields.length === 0) {\n await this.signal;\n }\n const yields = this.yields;\n this.yields = [];\n for(let i = 0; i < yields.length; i++){\n if (this.options.debug) {\n console.info(`> ${render(yields[i])}`);\n }\n yield yields[i];\n }\n if (this.done) {\n break;\n } else if (this.yields.length === 0) {\n yields.length = 0;\n this.yields = yields;\n this.signal = deferred();\n }\n }\n }\n isEncrypted() {\n return this.connected && this.encrypted;\n }\n send(frame) {\n if (this.isDiscarded()) {\n return;\n }\n try {\n this.socket.send(frame.buffer);\n if (this.options.debug) {\n console.info(`< ${render(frame)}`);\n }\n return;\n } catch (err) {\n if (this.options.debug) {\n console.error(`!!! ${render(frame)}: ${err}`);\n }\n }\n }\n close(err) {\n return this._closed(err, false);\n }\n closed() {\n return this.closedNotification;\n }\n isDiscarded() {\n if (this.done) {\n this.discard();\n return true;\n }\n return false;\n }\n discard() {\n this.done = true;\n try {\n this.socket?.close();\n } catch (_err) {}\n }\n}\nfunction wsUrlParseFn(u, encrypted) {\n const ut = /^(.*:\\/\\/)(.*)/;\n if (!ut.test(u)) {\n if (typeof encrypted === \"boolean\") {\n u = `${encrypted === true ? \"https\" : \"http\"}://${u}`;\n } else {\n u = `https://${u}`;\n }\n }\n let url = new URL(u);\n const srcProto = url.protocol.toLowerCase();\n if (srcProto === \"ws:\") {\n encrypted = false;\n }\n if (srcProto === \"wss:\") {\n encrypted = true;\n }\n if (srcProto !== \"https:\" && srcProto !== \"http\") {\n u = u.replace(/^(.*:\\/\\/)(.*)/gm, \"$2\");\n url = new URL(`http://${u}`);\n }\n let protocol;\n let port;\n const host = url.hostname;\n const path = url.pathname;\n const search = url.search || \"\";\n switch(srcProto){\n case \"http:\":\n case \"ws:\":\n case \"nats:\":\n port = url.port || \"80\";\n protocol = \"ws:\";\n break;\n case \"https:\":\n case \"wss:\":\n case \"tls:\":\n port = url.port || \"443\";\n protocol = \"wss:\";\n break;\n default:\n port = url.port || encrypted === true ? \"443\" : \"80\";\n protocol = encrypted === true ? \"wss:\" : \"ws:\";\n break;\n }\n return `${protocol}//${host}:${port}${path}${search}`;\n}\nfunction connect(opts = {}) {\n setTransportFactory({\n defaultPort: 443,\n urlParseFn: wsUrlParseFn,\n factory: ()=>{\n return new WsTransport();\n }\n });\n return NatsConnectionImpl.connect(opts);\n}\nexport { connect as connect };\n","import type { JetStreamClient, JetStreamSubscription, NatsConnection } from 'nats.ws';\nimport type { Ref } from 'vue';\nimport type { Api, Models, Stop, Trip, Vehicle } from '~/api/types';\nimport { connect, consumerOpts, createInbox, Events, StringCodec } from 'nats.ws';\n\nimport { computed, ref, watch } from 'vue';\nimport { natsServerUrl } from '~/config';\n\nconst sc = StringCodec();\n\nexport const DeletePayload = '---';\n\nexport class NatsApi implements Api {\n isConnected = ref(false);\n\n private vehicles = ref>({});\n\n private stops = ref>({});\n\n private trips = ref>({});\n\n private subscriptions = ref }>>({});\n\n private subscriptionsQueue: Record>> = {};\n\n private nc: NatsConnection | undefined;\n\n js: Ref = ref();\n\n constructor(autoLoad = true) {\n if (autoLoad) {\n void this.load();\n }\n }\n\n async load() {\n if (!natsServerUrl || typeof natsServerUrl !== 'string') {\n throw new Error('NATS_URL is invalid!');\n }\n\n this.nc = await connect({\n servers: [natsServerUrl],\n waitOnFirstConnect: true,\n maxReconnectAttempts: -1,\n });\n this.isConnected.value = true;\n this.js.value = this.nc.jetstream();\n\n await this.processSubscriptionsQueue();\n\n void (async () => {\n if (!this.nc) {\n throw new Error('NATS connection is not initialized');\n }\n\n for await (const s of this.nc.status()) {\n if (s.type === Events.Disconnect) {\n this.isConnected.value = false;\n }\n if (s.type === Events.Reconnect) {\n this.isConnected.value = true;\n\n await this.processSubscriptionsQueue();\n }\n }\n })();\n }\n\n async subscribe(subject: string, state: Ref>) {\n if (this.subscriptions.value[subject]) {\n return;\n }\n\n if (!this.isConnected.value || !this.js.value) {\n this.subscriptionsQueue[subject] = state;\n return;\n }\n\n let resolvePendingSubscription: () => void = () => {};\n this.subscriptions.value[subject] = {\n pending: new Promise((resolve) => {\n resolvePendingSubscription = resolve;\n }),\n };\n\n const opts = consumerOpts();\n opts.deliverTo(createInbox());\n opts.deliverAll();\n opts.ackNone();\n opts.replayInstantly();\n const sub = await this.js.value.subscribe(subject, opts);\n\n this.subscriptions.value[subject].subscription = sub;\n resolvePendingSubscription();\n\n void (async () => {\n for await (const m of sub) {\n const raw = sc.decode(m.data);\n if (raw === DeletePayload) {\n // TODO\n // delete vehicles.value[''];\n } else {\n const newModel = JSON.parse(raw) as Models;\n if (raw !== JSON.stringify(state.value[newModel.id])) {\n state.value = Object.freeze({\n ...state.value,\n [newModel.id]: Object.freeze(newModel),\n });\n }\n }\n }\n })();\n }\n\n async unsubscribe(subject: string) {\n if (this.subscriptions.value[subject]) {\n const { pending } = this.subscriptions.value[subject];\n if (pending) {\n await pending;\n }\n this.subscriptions.value[subject]?.subscription?.unsubscribe();\n delete this.subscriptions.value[subject];\n }\n if (this.subscriptionsQueue[subject]) {\n delete this.subscriptionsQueue[subject];\n }\n }\n\n private async processSubscriptionsQueue() {\n await Promise.all(\n Object.keys(this.subscriptionsQueue).map(async (subject) => {\n await this.subscribe(subject, this.subscriptionsQueue[subject]);\n delete this.subscriptionsQueue[subject];\n }),\n );\n }\n\n useStops() {\n void this.subscribe(`data.map.stop.>`, this.stops);\n\n return {\n stops: computed(() => Object.values(this.stops.value)),\n loading: ref(false),\n unsubscribe: async () => {\n await this.unsubscribe(`data.map.stop.>`);\n },\n };\n }\n\n useVehicles() {\n void this.subscribe(`data.map.vehicle.>`, this.vehicles);\n\n return {\n vehicles: computed(() => Object.values(this.vehicles.value)),\n loading: ref(false),\n unsubscribe: async () => {\n await this.unsubscribe(`data.map.vehicle.>`);\n },\n };\n }\n\n useStop(stopId: Ref) {\n if (stopId) {\n void this.subscribe(`data.map.stop.${stopId.value}`, this.stops);\n }\n\n watch(stopId, async (newId, oldId) => {\n if (oldId) {\n await this.unsubscribe(`data.map.stop.${oldId}`);\n }\n if (newId) {\n await this.subscribe(`data.map.stop.${newId}`, this.stops);\n }\n });\n\n return {\n stop: computed(() => (stopId.value ? (this.stops.value[stopId.value] ?? null) : null)),\n loading: ref(false),\n unsubscribe: async () => {\n await this.unsubscribe(`data.map.stop.${stopId.value}`);\n },\n };\n }\n\n useVehicle(vehicleId: Ref) {\n if (vehicleId) {\n void this.subscribe(`data.map.vehicle.${vehicleId.value}`, this.vehicles);\n }\n\n watch(vehicleId, async (newId, oldId) => {\n if (oldId) {\n await this.unsubscribe(`data.map.vehicle.${oldId}`);\n }\n if (newId) {\n await this.subscribe(`data.map.vehicle.${newId}`, this.vehicles);\n }\n });\n\n return {\n vehicle: computed(() => (vehicleId.value ? (this.vehicles.value[vehicleId.value] ?? null) : null)),\n loading: ref(false),\n unsubscribe: async () => {\n await this.unsubscribe(`data.map.vehicle.${vehicleId.value}`);\n },\n };\n }\n\n useTrip(tripId: Ref) {\n if (tripId.value) {\n void this.subscribe(`data.map.trip.${tripId.value}`, this.trips);\n }\n\n watch(tripId, async (newId, oldId) => {\n if (oldId) {\n await this.unsubscribe(`data.map.trip.${oldId}`);\n }\n if (newId) {\n await this.subscribe(`data.map.trip.${newId}`, this.trips);\n }\n });\n\n return {\n trip: computed(() => (tripId.value ? (this.trips.value[tripId.value] ?? null) : null)),\n loading: ref(false),\n unsubscribe: async () => {\n await this.unsubscribe(`data.map.trip.${tripId.value}`);\n },\n };\n }\n}\n","import type { Api } from './types';\nimport { NatsApi } from './nats';\n\nexport const api: Api = new NatsApi();\n","\n\n\n","/**\n * MapLibre GL JS\n * @license 3-Clause BSD. Full text of license: https://github.com/maplibre/maplibre-gl-js/blob/v4.7.1/LICENSE.txt\n */\n(function (global, factory) {\ntypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\ntypeof define === 'function' && define.amd ? define(factory) :\n(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.maplibregl = factory());\n})(this, (function () { 'use strict';\n\n/* eslint-disable */\n\nvar maplibregl = {};\nvar modules = {};\nfunction define(moduleName, _dependencies, moduleFactory) {\n modules[moduleName] = moduleFactory;\n\n // to get the list of modules see generated dist/maplibre-gl-dev.js file (look for `define(` calls)\n if (moduleName !== 'index') {\n return;\n }\n\n // we assume that when an index module is initializing then other modules are loaded already\n var workerBundleString = 'var sharedModule = {}; (' + modules.shared + ')(sharedModule); (' + modules.worker + ')(sharedModule);'\n\n var sharedModule = {};\n // the order of arguments of a module factory depends on rollup (it decides who is whose dependency)\n // to check the correct order, see dist/maplibre-gl-dev.js file (look for `define(` calls)\n // we assume that for our 3 chunks it will generate 3 modules and their order is predefined like the following\n modules.shared(sharedModule);\n modules.index(maplibregl, sharedModule);\n\n if (typeof window !== 'undefined') {\n maplibregl.setWorkerUrl(window.URL.createObjectURL(new Blob([workerBundleString], { type: 'text/javascript' })));\n }\n\n return maplibregl;\n};\n\n\n\ndefine(\"shared\",[\"exports\"],(function(t){\"use strict\";function e(t,e,r,n){return new(r||(r=Promise))((function(i,s){function a(t){try{l(n.next(t));}catch(t){s(t);}}function o(t){try{l(n.throw(t));}catch(t){s(t);}}function l(t){var e;t.done?i(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e);}))).then(a,o);}l((n=n.apply(t,e||[])).next());}))}function r(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}\"function\"==typeof SuppressedError&&SuppressedError;var n=i;function i(t,e){this.x=t,this.y=e;}i.prototype={clone:function(){return new i(this.x,this.y)},add:function(t){return this.clone()._add(t)},sub:function(t){return this.clone()._sub(t)},multByPoint:function(t){return this.clone()._multByPoint(t)},divByPoint:function(t){return this.clone()._divByPoint(t)},mult:function(t){return this.clone()._mult(t)},div:function(t){return this.clone()._div(t)},rotate:function(t){return this.clone()._rotate(t)},rotateAround:function(t,e){return this.clone()._rotateAround(t,e)},matMult:function(t){return this.clone()._matMult(t)},unit:function(){return this.clone()._unit()},perp:function(){return this.clone()._perp()},round:function(){return this.clone()._round()},mag:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals:function(t){return this.x===t.x&&this.y===t.y},dist:function(t){return Math.sqrt(this.distSqr(t))},distSqr:function(t){var e=t.x-this.x,r=t.y-this.y;return e*e+r*r},angle:function(){return Math.atan2(this.y,this.x)},angleTo:function(t){return Math.atan2(this.y-t.y,this.x-t.x)},angleWith:function(t){return this.angleWithSep(t.x,t.y)},angleWithSep:function(t,e){return Math.atan2(this.x*e-this.y*t,this.x*t+this.y*e)},_matMult:function(t){var e=t[2]*this.x+t[3]*this.y;return this.x=t[0]*this.x+t[1]*this.y,this.y=e,this},_add:function(t){return this.x+=t.x,this.y+=t.y,this},_sub:function(t){return this.x-=t.x,this.y-=t.y,this},_mult:function(t){return this.x*=t,this.y*=t,this},_div:function(t){return this.x/=t,this.y/=t,this},_multByPoint:function(t){return this.x*=t.x,this.y*=t.y,this},_divByPoint:function(t){return this.x/=t.x,this.y/=t.y,this},_unit:function(){return this._div(this.mag()),this},_perp:function(){var t=this.y;return this.y=this.x,this.x=-t,this},_rotate:function(t){var e=Math.cos(t),r=Math.sin(t),n=r*this.x+e*this.y;return this.x=e*this.x-r*this.y,this.y=n,this},_rotateAround:function(t,e){var r=Math.cos(t),n=Math.sin(t),i=e.y+n*(this.x-e.x)+r*(this.y-e.y);return this.x=e.x+r*(this.x-e.x)-n*(this.y-e.y),this.y=i,this},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this}},i.convert=function(t){return t instanceof i?t:Array.isArray(t)?new i(t[0],t[1]):t};var s=r(n),a=o;function o(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}o.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var l=r(a);let u,c;function h(){return null==u&&(u=\"undefined\"!=typeof OffscreenCanvas&&new OffscreenCanvas(1,1).getContext(\"2d\")&&\"function\"==typeof createImageBitmap),u}function p(){if(null==c&&(c=!1,h())){const t=5,e=new OffscreenCanvas(t,t).getContext(\"2d\",{willReadFrequently:!0});if(e){for(let r=0;ri.solve(t)}const d=f(.25,.1,.25,1);function y(t,e,r){return Math.min(r,Math.max(e,t))}function m(t,e,r){const n=r-e,i=((t-e)%n+n)%n+e;return i===e?r:i}function g(t,...e){for(const r of e)for(const e in r)t[e]=r[e];return t}let x=1;function v(t,e,r){const n={};for(const r in t)n[r]=e.call(this,t[r],r,t);return n}function b(t,e,r){const n={};for(const r in t)e.call(this,t[r],r,t)&&(n[r]=t[r]);return n}function w(t){return Array.isArray(t)?t.map(w):\"object\"==typeof t&&t?v(t,w):t}const _={};function A(t){_[t]||(\"undefined\"!=typeof console&&console.warn(t),_[t]=!0);}function S(t,e,r){return (r.y-t.y)*(e.x-t.x)>(e.y-t.y)*(r.x-t.x)}function k(t){return \"undefined\"!=typeof WorkerGlobalScope&&void 0!==t&&t instanceof WorkerGlobalScope}let M=null;function I(t){return \"undefined\"!=typeof ImageBitmap&&t instanceof ImageBitmap}const z=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQYV2NgAAIAAAUAAarVyFEAAAAASUVORK5CYII=\";function P(t,r,n,i,s){return e(this,void 0,void 0,(function*(){if(\"undefined\"==typeof VideoFrame)throw new Error(\"VideoFrame not supported\");const e=new VideoFrame(t,{timestamp:0});try{const a=null==e?void 0:e.format;if(!a||!a.startsWith(\"BGR\")&&!a.startsWith(\"RGB\"))throw new Error(`Unrecognized format ${a}`);const o=a.startsWith(\"BGR\"),l=new Uint8ClampedArray(i*s*4);if(yield e.copyTo(l,function(t,e,r,n,i){const s=4*Math.max(-e,0),a=(Math.max(0,r)-r)*n*4+s,o=4*n,l=Math.max(0,e),u=Math.max(0,r);return {rect:{x:l,y:u,width:Math.min(t.width,e+n)-l,height:Math.min(t.height,r+i)-u},layout:[{offset:a,stride:o}]}}(t,r,n,i,s)),o)for(let t=0;tk(self)?self.worker&&self.worker.referrer:(\"blob:\"===window.location.protocol?window.parent:window).location.href,O=function(t,r){if(/:\\/\\//.test(t.url)&&!/^https?:|^file:/.test(t.url)){const e=T(t.url);if(e)return e(t,r);if(k(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,targetMapId:$},r)}if(!(/^file:/.test(n=t.url)||/^file:/.test(D())&&!/^\\w+:/.test(n))){if(fetch&&Request&&AbortController&&Object.prototype.hasOwnProperty.call(Request.prototype,\"signal\"))return function(t,r){return e(this,void 0,void 0,(function*(){const e=new Request(t.url,{method:t.method||\"GET\",body:t.body,credentials:t.credentials,headers:t.headers,cache:t.cache,referrer:D(),signal:r.signal});\"json\"!==t.type||e.headers.has(\"Accept\")||e.headers.set(\"Accept\",\"application/json\");const n=yield fetch(e);if(!n.ok){const e=yield n.blob();throw new L(n.status,n.statusText,t.url,e)}let i;i=\"arrayBuffer\"===t.type||\"image\"===t.type?n.arrayBuffer():\"json\"===t.type?n.json():n.text();const s=yield i;if(r.signal.aborted)throw E();return {data:s,cacheControl:n.headers.get(\"Cache-Control\"),expires:n.headers.get(\"Expires\")}}))}(t,r);if(k(self)&&self.worker&&self.worker.actor)return self.worker.actor.sendAsync({type:\"GR\",data:t,mustQueue:!0,targetMapId:$},r)}var n;return function(t,e){return new Promise(((r,n)=>{var i;const s=new XMLHttpRequest;s.open(t.method||\"GET\",t.url,!0),\"arrayBuffer\"!==t.type&&\"image\"!==t.type||(s.responseType=\"arraybuffer\");for(const e in t.headers)s.setRequestHeader(e,t.headers[e]);\"json\"===t.type&&(s.responseType=\"text\",(null===(i=t.headers)||void 0===i?void 0:i.Accept)||s.setRequestHeader(\"Accept\",\"application/json\")),s.withCredentials=\"include\"===t.credentials,s.onerror=()=>{n(new Error(s.statusText));},s.onload=()=>{if(!e.signal.aborted)if((s.status>=200&&s.status<300||0===s.status)&&null!==s.response){let e=s.response;if(\"json\"===t.type)try{e=JSON.parse(s.response);}catch(t){return void n(t)}r({data:e,cacheControl:s.getResponseHeader(\"Cache-Control\"),expires:s.getResponseHeader(\"Expires\")});}else {const e=new Blob([s.response],{type:s.getResponseHeader(\"Content-Type\")});n(new L(s.status,s.statusText,t.url,e));}},e.signal.addEventListener(\"abort\",(()=>{s.abort(),n(E());})),s.send(t.body);}))}(t,r)};function j(t){if(!t||t.indexOf(\"://\")<=0||0===t.indexOf(\"data:image/\")||0===t.indexOf(\"blob:\"))return !0;const e=new URL(t),r=window.location;return e.protocol===r.protocol&&e.host===r.host}function R(t,e,r){r[t]&&-1!==r[t].indexOf(e)||(r[t]=r[t]||[],r[t].push(e));}function U(t,e,r){if(r&&r[t]){const n=r[t].indexOf(e);-1!==n&&r[t].splice(n,1);}}class q{constructor(t,e={}){g(this,e),this.type=t;}}class N extends q{constructor(t,e={}){super(\"error\",g({error:t},e));}}class Z{on(t,e){return this._listeners=this._listeners||{},R(t,e,this._listeners),this}off(t,e){return U(t,e,this._listeners),U(t,e,this._oneTimeListeners),this}once(t,e){return e?(this._oneTimeListeners=this._oneTimeListeners||{},R(t,e,this._oneTimeListeners),this):new Promise((e=>this.once(t,e)))}fire(t,e){\"string\"==typeof t&&(t=new q(t,e||{}));const r=t.type;if(this.listens(r)){t.target=this;const e=this._listeners&&this._listeners[r]?this._listeners[r].slice():[];for(const r of e)r.call(this,t);const n=this._oneTimeListeners&&this._oneTimeListeners[r]?this._oneTimeListeners[r].slice():[];for(const e of n)U(r,e,this._oneTimeListeners),e.call(this,t);const i=this._eventedParent;i&&(g(t,\"function\"==typeof this._eventedParentData?this._eventedParentData():this._eventedParentData),i.fire(t));}else t instanceof N&&console.error(t.error);return this}listens(t){return this._listeners&&this._listeners[t]&&this._listeners[t].length>0||this._oneTimeListeners&&this._oneTimeListeners[t]&&this._oneTimeListeners[t].length>0||this._eventedParent&&this._eventedParent.listens(t)}setEventedParent(t,e){return this._eventedParent=t,this._eventedParentData=e,this}}var G={$version:8,$root:{version:{required:!0,type:\"enum\",values:[8]},name:{type:\"string\"},metadata:{type:\"*\"},center:{type:\"array\",value:\"number\"},zoom:{type:\"number\"},bearing:{type:\"number\",default:0,period:360,units:\"degrees\"},pitch:{type:\"number\",default:0,units:\"degrees\"},light:{type:\"light\"},sky:{type:\"sky\"},projection:{type:\"projection\"},terrain:{type:\"terrain\"},sources:{required:!0,type:\"sources\"},sprite:{type:\"sprite\"},glyphs:{type:\"string\"},transition:{type:\"transition\"},layers:{required:!0,type:\"array\",value:\"layer\"}},sources:{\"*\":{type:\"source\"}},source:[\"source_vector\",\"source_raster\",\"source_raster_dem\",\"source_geojson\",\"source_video\",\"source_image\"],source_vector:{type:{required:!0,type:\"enum\",values:{vector:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},attribution:{type:\"string\"},promoteId:{type:\"promoteId\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster:{type:{required:!0,type:\"enum\",values:{raster:{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},scheme:{type:\"enum\",values:{xyz:{},tms:{}},default:\"xyz\"},attribution:{type:\"string\"},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_raster_dem:{type:{required:!0,type:\"enum\",values:{\"raster-dem\":{}}},url:{type:\"string\"},tiles:{type:\"array\",value:\"string\"},bounds:{type:\"array\",value:\"number\",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:\"number\",default:0},maxzoom:{type:\"number\",default:22},tileSize:{type:\"number\",default:512,units:\"pixels\"},attribution:{type:\"string\"},encoding:{type:\"enum\",values:{terrarium:{},mapbox:{},custom:{}},default:\"mapbox\"},redFactor:{type:\"number\",default:1},blueFactor:{type:\"number\",default:1},greenFactor:{type:\"number\",default:1},baseShift:{type:\"number\",default:0},volatile:{type:\"boolean\",default:!1},\"*\":{type:\"*\"}},source_geojson:{type:{required:!0,type:\"enum\",values:{geojson:{}}},data:{required:!0,type:\"*\"},maxzoom:{type:\"number\",default:18},attribution:{type:\"string\"},buffer:{type:\"number\",default:128,maximum:512,minimum:0},filter:{type:\"*\"},tolerance:{type:\"number\",default:.375},cluster:{type:\"boolean\",default:!1},clusterRadius:{type:\"number\",default:50,minimum:0},clusterMaxZoom:{type:\"number\"},clusterMinPoints:{type:\"number\"},clusterProperties:{type:\"*\"},lineMetrics:{type:\"boolean\",default:!1},generateId:{type:\"boolean\",default:!1},promoteId:{type:\"promoteId\"}},source_video:{type:{required:!0,type:\"enum\",values:{video:{}}},urls:{required:!0,type:\"array\",value:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},source_image:{type:{required:!0,type:\"enum\",values:{image:{}}},url:{required:!0,type:\"string\"},coordinates:{required:!0,type:\"array\",length:4,value:{type:\"array\",length:2,value:\"number\"}}},layer:{id:{type:\"string\",required:!0},type:{type:\"enum\",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},\"fill-extrusion\":{},raster:{},hillshade:{},background:{}},required:!0},metadata:{type:\"*\"},source:{type:\"string\"},\"source-layer\":{type:\"string\"},minzoom:{type:\"number\",minimum:0,maximum:24},maxzoom:{type:\"number\",minimum:0,maximum:24},filter:{type:\"filter\"},layout:{type:\"layout\"},paint:{type:\"paint\"}},layout:[\"layout_fill\",\"layout_line\",\"layout_circle\",\"layout_heatmap\",\"layout_fill-extrusion\",\"layout_symbol\",\"layout_raster\",\"layout_hillshade\",\"layout_background\"],layout_background:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_fill:{\"fill-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_circle:{\"circle-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_heatmap:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},\"layout_fill-extrusion\":{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_line:{\"line-cap\":{type:\"enum\",values:{butt:{},round:{},square:{}},default:\"butt\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-join\":{type:\"enum\",values:{bevel:{},round:{},miter:{}},default:\"miter\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"line-miter-limit\":{type:\"number\",default:2,requires:[{\"line-join\":\"miter\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-round-limit\":{type:\"number\",default:1.05,requires:[{\"line-join\":\"round\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_symbol:{\"symbol-placement\":{type:\"enum\",values:{point:{},line:{},\"line-center\":{}},default:\"point\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-spacing\":{type:\"number\",default:250,minimum:1,units:\"pixels\",requires:[{\"symbol-placement\":\"line\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-avoid-edges\":{type:\"boolean\",default:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"symbol-sort-key\":{type:\"number\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"symbol-z-order\":{type:\"enum\",values:{auto:{},\"viewport-y\":{},source:{}},default:\"auto\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"!\":\"icon-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-optional\":{type:\"boolean\",default:!1,requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-size\":{type:\"number\",default:1,minimum:0,units:\"factor of the original icon size\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-text-fit\":{type:\"enum\",values:{none:{},width:{},height:{},both:{}},default:\"none\",requires:[\"icon-image\",\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-text-fit-padding\":{type:\"array\",value:\"number\",length:4,default:[0,0,0,0],units:\"pixels\",requires:[\"icon-image\",\"text-field\",{\"icon-text-fit\":[\"both\",\"width\",\"height\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-image\":{type:\"resolvedImage\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-padding\":{type:\"padding\",default:[2],units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-keep-upright\":{type:\"boolean\",default:!1,requires:[\"icon-image\",{\"icon-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-offset\":{type:\"array\",value:\"number\",length:2,default:[0,0],requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"icon-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotation-alignment\":{type:\"enum\",values:{map:{},viewport:{},\"viewport-glyph\":{},auto:{}},default:\"auto\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-field\":{type:\"formatted\",default:\"\",tokens:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-font\":{type:\"array\",value:\"string\",default:[\"Open Sans Regular\",\"Arial Unicode MS Regular\"],requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-size\":{type:\"number\",default:16,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-width\":{type:\"number\",default:10,minimum:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-line-height\":{type:\"number\",default:1.2,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-letter-spacing\":{type:\"number\",default:0,units:\"ems\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-justify\":{type:\"enum\",values:{auto:{},left:{},center:{},right:{}},default:\"center\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-radial-offset\":{type:\"number\",units:\"ems\",default:0,requires:[\"text-field\"],\"property-type\":\"data-driven\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]}},\"text-variable-anchor\":{type:\"array\",value:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-variable-anchor-offset\":{type:\"variableAnchorOffsetCollection\",requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-anchor\":{type:\"enum\",values:{center:{},left:{},right:{},top:{},bottom:{},\"top-left\":{},\"top-right\":{},\"bottom-left\":{},\"bottom-right\":{}},default:\"center\",requires:[\"text-field\",{\"!\":\"text-variable-anchor\"}],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-max-angle\":{type:\"number\",default:45,units:\"degrees\",requires:[\"text-field\",{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-writing-mode\":{type:\"array\",value:\"enum\",values:{horizontal:{},vertical:{}},requires:[\"text-field\",{\"symbol-placement\":[\"point\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-rotate\":{type:\"number\",default:0,period:360,units:\"degrees\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-padding\":{type:\"number\",default:2,minimum:0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-keep-upright\":{type:\"boolean\",default:!0,requires:[\"text-field\",{\"text-rotation-alignment\":\"map\"},{\"symbol-placement\":[\"line\",\"line-center\"]}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-transform\":{type:\"enum\",values:{none:{},uppercase:{},lowercase:{}},default:\"none\",requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-offset\":{type:\"array\",value:\"number\",units:\"ems\",length:2,default:[0,0],requires:[\"text-field\",{\"!\":\"text-radial-offset\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"data-driven\"},\"text-allow-overlap\":{type:\"boolean\",default:!1,requires:[\"text-field\",{\"!\":\"text-overlap\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-overlap\":{type:\"enum\",values:{never:{},always:{},cooperative:{}},requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-ignore-placement\":{type:\"boolean\",default:!1,requires:[\"text-field\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-optional\":{type:\"boolean\",default:!1,requires:[\"text-field\",\"icon-image\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_raster:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},layout_hillshade:{visibility:{type:\"enum\",values:{visible:{},none:{}},default:\"visible\",\"property-type\":\"constant\"}},filter:{type:\"array\",value:\"*\"},filter_operator:{type:\"enum\",values:{\"==\":{},\"!=\":{},\">\":{},\">=\":{},\"<\":{},\"<=\":{},in:{},\"!in\":{},all:{},any:{},none:{},has:{},\"!has\":{}}},geometry_type:{type:\"enum\",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:\"expression\"},stops:{type:\"array\",value:\"function_stop\"},base:{type:\"number\",default:1,minimum:0},property:{type:\"string\",default:\"$zoom\"},type:{type:\"enum\",values:{identity:{},exponential:{},interval:{},categorical:{}},default:\"exponential\"},colorSpace:{type:\"enum\",values:{rgb:{},lab:{},hcl:{}},default:\"rgb\"},default:{type:\"*\",required:!1}},function_stop:{type:\"array\",minimum:0,maximum:24,value:[\"number\",\"color\"],length:2},expression:{type:\"array\",value:\"*\",minimum:1},light:{anchor:{type:\"enum\",default:\"viewport\",values:{map:{},viewport:{}},\"property-type\":\"data-constant\",transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]}},position:{type:\"array\",default:[1.15,210,30],length:3,value:\"number\",\"property-type\":\"data-constant\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]}},color:{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},intensity:{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},sky:{\"sky-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#88C6FC\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-color\":{type:\"color\",\"property-type\":\"data-constant\",default:\"#ffffff\",expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"fog-ground-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"horizon-fog-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"sky-horizon-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0},\"atmosphere-blend\":{type:\"number\",\"property-type\":\"data-constant\",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:[\"zoom\"]},transition:!0}},terrain:{source:{type:\"string\",required:!0},exaggeration:{type:\"number\",minimum:0,default:1}},projection:{type:{type:\"enum\",default:\"mercator\",values:{mercator:{},globe:{}}}},paint:[\"paint_fill\",\"paint_line\",\"paint_circle\",\"paint_heatmap\",\"paint_fill-extrusion\",\"paint_symbol\",\"paint_raster\",\"paint_hillshade\",\"paint_background\"],paint_fill:{\"fill-antialias\":{type:\"boolean\",default:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-outline-color\":{type:\"color\",transition:!0,requires:[{\"!\":\"fill-pattern\"},{\"fill-antialias\":!0}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"}},\"paint_fill-extrusion\":{\"fill-extrusion-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"fill-extrusion-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"fill-extrusion-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"fill-extrusion-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"fill-extrusion-height\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-base\":{type:\"number\",default:0,minimum:0,units:\"meters\",transition:!0,requires:[\"fill-extrusion-height\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"fill-extrusion-vertical-gradient\":{type:\"boolean\",default:!0,transition:!1,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_line:{\"line-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"line-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"line-width\":{type:\"number\",default:1,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-gap-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-offset\":{type:\"number\",default:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"line-dasharray\":{type:\"array\",value:\"number\",minimum:0,transition:!0,units:\"line widths\",requires:[{\"!\":\"line-pattern\"}],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"line-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]},\"property-type\":\"cross-faded-data-driven\"},\"line-gradient\":{type:\"color\",transition:!1,requires:[{\"!\":\"line-dasharray\"},{\"!\":\"line-pattern\"},{source:\"geojson\",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:[\"line-progress\"]},\"property-type\":\"color-ramp\"}},paint_circle:{\"circle-radius\":{type:\"number\",default:5,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-blur\":{type:\"number\",default:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"circle-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-scale\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-pitch-alignment\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"circle-stroke-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"circle-stroke-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"}},paint_heatmap:{\"heatmap-radius\":{type:\"number\",default:30,minimum:1,transition:!0,units:\"pixels\",expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-weight\":{type:\"number\",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"heatmap-intensity\":{type:\"number\",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"heatmap-color\":{type:\"color\",default:[\"interpolate\",[\"linear\"],[\"heatmap-density\"],0,\"rgba(0, 0, 255, 0)\",.1,\"royalblue\",.3,\"cyan\",.5,\"lime\",.7,\"yellow\",1,\"red\"],transition:!1,expression:{interpolated:!0,parameters:[\"heatmap-density\"]},\"property-type\":\"color-ramp\"},\"heatmap-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_symbol:{\"icon-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"icon-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"icon-image\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"icon-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"icon-image\",\"icon-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-color\":{type:\"color\",default:\"#000000\",transition:!0,overridable:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-color\":{type:\"color\",default:\"rgba(0, 0, 0, 0)\",transition:!0,requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-width\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-halo-blur\":{type:\"number\",default:0,minimum:0,transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\",\"feature\",\"feature-state\"]},\"property-type\":\"data-driven\"},\"text-translate\":{type:\"array\",value:\"number\",length:2,default:[0,0],transition:!0,units:\"pixels\",requires:[\"text-field\"],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"text-translate-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"map\",requires:[\"text-field\",\"text-translate\"],expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_raster:{\"raster-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-hue-rotate\":{type:\"number\",default:0,period:360,transition:!0,units:\"degrees\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-min\":{type:\"number\",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-brightness-max\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-saturation\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-contrast\":{type:\"number\",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-resampling\":{type:\"enum\",values:{linear:{},nearest:{}},default:\"linear\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"raster-fade-duration\":{type:\"number\",default:300,minimum:0,transition:!1,units:\"milliseconds\",expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_hillshade:{\"hillshade-illumination-direction\":{type:\"number\",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-illumination-anchor\":{type:\"enum\",values:{map:{},viewport:{}},default:\"viewport\",expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-exaggeration\":{type:\"number\",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-shadow-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-highlight-color\":{type:\"color\",default:\"#FFFFFF\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"hillshade-accent-color\":{type:\"color\",default:\"#000000\",transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},paint_background:{\"background-color\":{type:\"color\",default:\"#000000\",transition:!0,requires:[{\"!\":\"background-pattern\"}],expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"},\"background-pattern\":{type:\"resolvedImage\",transition:!0,expression:{interpolated:!1,parameters:[\"zoom\"]},\"property-type\":\"cross-faded\"},\"background-opacity\":{type:\"number\",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:[\"zoom\"]},\"property-type\":\"data-constant\"}},transition:{duration:{type:\"number\",default:300,minimum:0,units:\"milliseconds\"},delay:{type:\"number\",default:0,minimum:0,units:\"milliseconds\"}},\"property-type\":{\"data-driven\":{type:\"property-type\"},\"cross-faded\":{type:\"property-type\"},\"cross-faded-data-driven\":{type:\"property-type\"},\"color-ramp\":{type:\"property-type\"},\"data-constant\":{type:\"property-type\"},constant:{type:\"property-type\"}},promoteId:{\"*\":{type:\"string\"}}};const K=[\"type\",\"source\",\"source-layer\",\"minzoom\",\"maxzoom\",\"filter\",\"layout\"];function X(t,e){const r={};for(const e in t)\"ref\"!==e&&(r[e]=t[e]);return K.forEach((t=>{t in e&&(r[t]=e[t]);})),r}function H(t,e){if(Array.isArray(t)){if(!Array.isArray(e)||t.length!==e.length)return !1;for(let r=0;r`:\"value\"===t.itemType.kind?\"array\":`array<${e}>`}return t.kind}const _t=[lt,ut,ct,ht,pt,mt,ft,bt(dt),gt,xt,vt];function At(t,e){if(\"error\"===e.kind)return null;if(\"array\"===t.kind){if(\"array\"===e.kind&&(0===e.N&&\"value\"===e.itemType.kind||!At(t.itemType,e.itemType))&&(\"number\"!=typeof t.N||t.N===e.N))return null}else {if(t.kind===e.kind)return null;if(\"value\"===t.kind)for(const t of _t)if(!At(t,e))return null}return `Expected ${wt(t)} but found ${wt(e)} instead.`}function St(t,e){return e.some((e=>e.kind===t.kind))}function kt(t,e){return e.some((e=>\"null\"===e?null===t:\"array\"===e?Array.isArray(t):\"object\"===e?t&&!Array.isArray(t)&&\"object\"==typeof t:e===typeof t))}function Mt(t,e){return \"array\"===t.kind&&\"array\"===e.kind?t.itemType.kind===e.itemType.kind&&\"number\"==typeof t.N:t.kind===e.kind}const It=.96422,zt=.82521,Pt=4/29,Ct=6/29,Bt=3*Ct*Ct,Vt=Ct*Ct*Ct,Et=Math.PI/180,Ft=180/Math.PI;function Tt(t){return (t%=360)<0&&(t+=360),t}function $t([t,e,r,n]){let i,s;const a=Dt((.2225045*(t=Lt(t))+.7168786*(e=Lt(e))+.0606169*(r=Lt(r)))/1);t===e&&e===r?i=s=a:(i=Dt((.4360747*t+.3850649*e+.1430804*r)/It),s=Dt((.0139322*t+.0971045*e+.7141733*r)/zt));const o=116*a-16;return [o<0?0:o,500*(i-a),200*(a-s),n]}function Lt(t){return t<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Dt(t){return t>Vt?Math.pow(t,1/3):t/Bt+Pt}function Ot([t,e,r,n]){let i=(t+16)/116,s=isNaN(e)?i:i+e/500,a=isNaN(r)?i:i-r/200;return i=1*Rt(i),s=It*Rt(s),a=zt*Rt(a),[jt(3.1338561*s-1.6168667*i-.4906146*a),jt(-.9787684*s+1.9161415*i+.033454*a),jt(.0719453*s-.2289914*i+1.4052427*a),n]}function jt(t){return (t=t<=.00304?12.92*t:1.055*Math.pow(t,1/2.4)-.055)<0?0:t>1?1:t}function Rt(t){return t>Ct?t*t*t:Bt*(t-Pt)}function Ut(t){return parseInt(t.padEnd(2,t),16)/255}function qt(t,e){return Nt(e?t/100:t,0,1)}function Nt(t,e,r){return Math.min(Math.max(e,t),r)}function Zt(t){return !t.some(Number.isNaN)}const Gt={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};class Kt{constructor(t,e,r,n=1,i=!0){this.r=t,this.g=e,this.b=r,this.a=n,i||(this.r*=n,this.g*=n,this.b*=n,n||this.overwriteGetter(\"rgb\",[t,e,r,n]));}static parse(t){if(t instanceof Kt)return t;if(\"string\"!=typeof t)return;const e=function(t){if(\"transparent\"===(t=t.toLowerCase().trim()))return [0,0,0,0];const e=Gt[t];if(e){const[t,r,n]=e;return [t/255,r/255,n/255,1]}if(t.startsWith(\"#\")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(t)){const e=t.length<6?1:2;let r=1;return [Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+=e)),Ut(t.slice(r,r+e)||\"ff\")]}if(t.startsWith(\"rgb\")){const e=t.match(/^rgba?\\(\\s*([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)(%)?(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(e){const[t,r,n,i,s,a,o,l,u,c,h,p]=e,f=[i||\" \",o||\" \",c].join(\"\");if(\" \"===f||\" /\"===f||\",,\"===f||\",,,\"===f){const t=[n,a,u].join(\"\"),e=\"%%%\"===t?100:\"\"===t?255:0;if(e){const t=[Nt(+r/e,0,1),Nt(+s/e,0,1),Nt(+l/e,0,1),h?qt(+h,p):1];if(Zt(t))return t}}return}}const r=t.match(/^hsla?\\(\\s*([\\de.+-]+)(?:deg)?(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s+|\\s*(,)\\s*)([\\de.+-]+)%(?:\\s*([,\\/])\\s*([\\de.+-]+)(%)?)?\\s*\\)$/);if(r){const[t,e,n,i,s,a,o,l,u]=r,c=[n||\" \",s||\" \",o].join(\"\");if(\" \"===c||\" /\"===c||\",,\"===c||\",,,\"===c){const t=[+e,Nt(+i,0,100),Nt(+a,0,100),l?qt(+l,u):1];if(Zt(t))return function([t,e,r,n]){function i(n){const i=(n+t/30)%12,s=e*Math.min(r,1-r);return r-s*Math.max(-1,Math.min(i-3,9-i,1))}return t=Tt(t),e/=100,r/=100,[i(0),i(8),i(4),n]}(t)}}}(t);return e?new Kt(...e,!1):void 0}get rgb(){const{r:t,g:e,b:r,a:n}=this,i=n||1/0;return this.overwriteGetter(\"rgb\",[t/i,e/i,r/i,n])}get hcl(){return this.overwriteGetter(\"hcl\",function(t){const[e,r,n,i]=$t(t),s=Math.sqrt(r*r+n*n);return [Math.round(1e4*s)?Tt(Math.atan2(n,r)*Ft):NaN,s,e,i]}(this.rgb))}get lab(){return this.overwriteGetter(\"lab\",$t(this.rgb))}overwriteGetter(t,e){return Object.defineProperty(this,t,{value:e}),e}toString(){const[t,e,r,n]=this.rgb;return `rgba(${[t,e,r].map((t=>Math.round(255*t))).join(\",\")},${n})`}}Kt.black=new Kt(0,0,0,1),Kt.white=new Kt(1,1,1,1),Kt.transparent=new Kt(0,0,0,0),Kt.red=new Kt(1,0,0,1);class Xt{constructor(t,e,r){this.sensitivity=t?e?\"variant\":\"case\":e?\"accent\":\"base\",this.locale=r,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:\"search\"});}compare(t,e){return this.collator.compare(t,e)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}class Ht{constructor(t,e,r,n,i){this.text=t,this.image=e,this.scale=r,this.fontStack=n,this.textColor=i;}}class Yt{constructor(t){this.sections=t;}static fromString(t){return new Yt([new Ht(t,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some((t=>0!==t.text.length||t.image&&0!==t.image.name.length))}static factory(t){return t instanceof Yt?t:Yt.fromString(t)}toString(){return 0===this.sections.length?\"\":this.sections.map((t=>t.text)).join(\"\")}}class Jt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Jt)return t;if(\"number\"==typeof t)return new Jt([t,t,t,t]);if(Array.isArray(t)&&!(t.length<1||t.length>4)){for(const e of t)if(\"number\"!=typeof e)return;switch(t.length){case 1:t=[t[0],t[0],t[0],t[0]];break;case 2:t=[t[0],t[1],t[0],t[1]];break;case 3:t=[t[0],t[1],t[2],t[1]];}return new Jt(t)}}toString(){return JSON.stringify(this.values)}}const Wt=new Set([\"center\",\"left\",\"right\",\"top\",\"bottom\",\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"]);class Qt{constructor(t){this.values=t.slice();}static parse(t){if(t instanceof Qt)return t;if(Array.isArray(t)&&!(t.length<1)&&t.length%2==0){for(let e=0;e=0&&t<=255&&\"number\"==typeof e&&e>=0&&e<=255&&\"number\"==typeof r&&r>=0&&r<=255?void 0===n||\"number\"==typeof n&&n>=0&&n<=1?null:`Invalid rgba value [${[t,e,r,n].join(\", \")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(\"number\"==typeof n?[t,e,r,n]:[t,e,r]).join(\", \")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function re(t){if(null===t||\"string\"==typeof t||\"boolean\"==typeof t||\"number\"==typeof t||t instanceof Kt||t instanceof Xt||t instanceof Yt||t instanceof Jt||t instanceof Qt||t instanceof te)return !0;if(Array.isArray(t)){for(const e of t)if(!re(e))return !1;return !0}if(\"object\"==typeof t){for(const e in t)if(!re(t[e]))return !1;return !0}return !1}function ne(t){if(null===t)return lt;if(\"string\"==typeof t)return ct;if(\"boolean\"==typeof t)return ht;if(\"number\"==typeof t)return ut;if(t instanceof Kt)return pt;if(t instanceof Xt)return yt;if(t instanceof Yt)return mt;if(t instanceof Jt)return gt;if(t instanceof Qt)return vt;if(t instanceof te)return xt;if(Array.isArray(t)){const e=t.length;let r;for(const e of t){const t=ne(e);if(r){if(r===t)continue;r=dt;break}r=t;}return bt(r||dt,e)}return ft}function ie(t){const e=typeof t;return null===t?\"\":\"string\"===e||\"number\"===e||\"boolean\"===e?String(t):t instanceof Kt||t instanceof Yt||t instanceof Jt||t instanceof Qt||t instanceof te?t.toString():JSON.stringify(t)}class se{constructor(t,e){this.type=t,this.value=e;}static parse(t,e){if(2!==t.length)return e.error(`'literal' expression requires exactly one argument, but found ${t.length-1} instead.`);if(!re(t[1]))return e.error(\"invalid value\");const r=t[1];let n=ne(r);const i=e.expectedType;return \"array\"!==n.kind||0!==n.N||!i||\"array\"!==i.kind||\"number\"==typeof i.N&&0!==i.N||(n=i),new se(n,r)}evaluate(){return this.value}eachChild(){}outputDefined(){return !0}}class ae{constructor(t){this.name=\"ExpressionEvaluationError\",this.message=t;}toJSON(){return this.message}}const oe={string:ct,number:ut,boolean:ht,object:ft};class le{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");let r,n=1;const i=t[0];if(\"array\"===i){let i,s;if(t.length>2){const r=t[1];if(\"string\"!=typeof r||!(r in oe)||\"object\"===r)return e.error('The item type argument of \"array\" must be one of string, number, boolean',1);i=oe[r],n++;}else i=dt;if(t.length>3){if(null!==t[2]&&(\"number\"!=typeof t[2]||t[2]<0||t[2]!==Math.floor(t[2])))return e.error('The length argument to \"array\" must be a positive integer literal',2);s=t[2],n++;}r=bt(i,s);}else {if(!oe[i])throw new Error(`Types doesn't contain name = ${i}`);r=oe[i];}const s=[];for(;nt.outputDefined()))}}const ue={\"to-boolean\":ht,\"to-color\":pt,\"to-number\":ut,\"to-string\":ct};class ce{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[0];if(!ue[r])throw new Error(`Can't parse ${r} as it is not part of the known types`);if((\"to-boolean\"===r||\"to-string\"===r)&&2!==t.length)return e.error(\"Expected one argument.\");const n=ue[r],i=[];for(let r=1;r4?`Invalid rbga value ${JSON.stringify(e)}: expected an array containing either three or four numeric values.`:ee(e[0],e[1],e[2],e[3]),!r))return new Kt(e[0]/255,e[1]/255,e[2]/255,e[3])}throw new ae(r||`Could not parse color from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"padding\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Jt.parse(e);if(n)return n}throw new ae(`Could not parse padding from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"variableAnchorOffsetCollection\":{let e;for(const r of this.args){e=r.evaluate(t);const n=Qt.parse(e);if(n)return n}throw new ae(`Could not parse variableAnchorOffsetCollection from value '${\"string\"==typeof e?e:JSON.stringify(e)}'`)}case\"number\":{let e=null;for(const r of this.args){if(e=r.evaluate(t),null===e)return 0;const n=Number(e);if(!isNaN(n))return n}throw new ae(`Could not convert ${JSON.stringify(e)} to number.`)}case\"formatted\":return Yt.fromString(ie(this.args[0].evaluate(t)));case\"resolvedImage\":return te.fromString(ie(this.args[0].evaluate(t)));default:return ie(this.args[0].evaluate(t))}}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}const he=[\"Unknown\",\"Point\",\"LineString\",\"Polygon\"];class pe{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache={},this.availableImages=null,this.canonical=null;}id(){return this.feature&&\"id\"in this.feature?this.feature.id:null}geometryType(){return this.feature?\"number\"==typeof this.feature.type?he[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&\"geometry\"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(t){let e=this._parseColorCache[t];return e||(e=this._parseColorCache[t]=Kt.parse(t)),e}}class fe{constructor(t,e,r=[],n,i=new ot,s=[]){this.registry=t,this.path=r,this.key=r.map((t=>`[${t}]`)).join(\"\"),this.scope=i,this.errors=s,this.expectedType=n,this._isConstant=e;}parse(t,e,r,n,i={}){return e?this.concat(e,r,n)._parse(t,i):this._parse(t,i)}_parse(t,e){function r(t,e,r){return \"assert\"===r?new le(e,[t]):\"coerce\"===r?new ce(e,[t]):t}if(null!==t&&\"string\"!=typeof t&&\"boolean\"!=typeof t&&\"number\"!=typeof t||(t=[\"literal\",t]),Array.isArray(t)){if(0===t.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use [\"literal\", []].');const n=t[0];if(\"string\"!=typeof n)return this.error(`Expression name must be a string, but found ${typeof n} instead. If you wanted a literal array, use [\"literal\", [...]].`,0),null;const i=this.registry[n];if(i){let n=i.parse(t,this);if(!n)return null;if(this.expectedType){const t=this.expectedType,i=n.type;if(\"string\"!==t.kind&&\"number\"!==t.kind&&\"boolean\"!==t.kind&&\"object\"!==t.kind&&\"array\"!==t.kind||\"value\"!==i.kind)if(\"color\"!==t.kind&&\"formatted\"!==t.kind&&\"resolvedImage\"!==t.kind||\"value\"!==i.kind&&\"string\"!==i.kind)if(\"padding\"!==t.kind||\"value\"!==i.kind&&\"number\"!==i.kind&&\"array\"!==i.kind)if(\"variableAnchorOffsetCollection\"!==t.kind||\"value\"!==i.kind&&\"array\"!==i.kind){if(this.checkSubtype(t,i))return null}else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"coerce\");else n=r(n,t,e.typeAnnotation||\"assert\");}if(!(n instanceof se)&&\"resolvedImage\"!==n.type.kind&&this._isConstant(n)){const t=new pe;try{n=new se(n.type,n.evaluate(t));}catch(t){return this.error(t.message),null}}return n}return this.error(`Unknown expression \"${n}\". If you wanted a literal array, use [\"literal\", [...]].`,0)}return this.error(void 0===t?\"'undefined' value invalid. Use null instead.\":\"object\"==typeof t?'Bare objects invalid. Use [\"literal\", {...}] instead.':`Expected an array, but found ${typeof t} instead.`)}concat(t,e,r){const n=\"number\"==typeof t?this.path.concat(t):this.path,i=r?this.scope.concat(r):this.scope;return new fe(this.registry,this._isConstant,n,e||null,i,this.errors)}error(t,...e){const r=`${this.key}${e.map((t=>`[${t}]`)).join(\"\")}`;this.errors.push(new at(r,t));}checkSubtype(t,e){const r=At(t,e);return r&&this.error(r),r}}class de{constructor(t,e){this.type=e.type,this.bindings=[].concat(t),this.result=e;}evaluate(t){return this.result.evaluate(t)}eachChild(t){for(const e of this.bindings)t(e[1]);t(this.result);}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found ${t.length-1} instead.`);const r=[];for(let n=1;n=r.length)throw new ae(`Array index out of bounds: ${e} > ${r.length-1}.`);if(e!==Math.floor(e))throw new ae(`Array index must be an integer, but found ${e} instead.`);return r[e]}eachChild(t){t(this.index),t(this.input);}outputDefined(){return !1}}class ge{constructor(t,e){this.type=ht,this.needle=t,this.haystack=e;}static parse(t,e){if(3!==t.length)return e.error(`Expected 2 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);return r&&n?St(r.type,[ht,ct,ut,lt,dt])?new ge(r,n):e.error(`Expected first argument to be of type boolean, string, number or null, but found ${wt(r.type)} instead`):null}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!r)return !1;if(!kt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${wt(ne(e))} instead.`);if(!kt(r,[\"string\",\"array\"]))throw new ae(`Expected second argument to be of type array or string, but found ${wt(ne(r))} instead.`);return r.indexOf(e)>=0}eachChild(t){t(this.needle),t(this.haystack);}outputDefined(){return !0}}class xe{constructor(t,e,r){this.type=ut,this.needle=t,this.haystack=e,this.fromIndex=r;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,dt);if(!r||!n)return null;if(!St(r.type,[ht,ct,ut,lt,dt]))return e.error(`Expected first argument to be of type boolean, string, number or null, but found ${wt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ut);return i?new xe(r,n,i):null}return new xe(r,n)}evaluate(t){const e=this.needle.evaluate(t),r=this.haystack.evaluate(t);if(!kt(e,[\"boolean\",\"string\",\"number\",\"null\"]))throw new ae(`Expected first argument to be of type boolean, string, number or null, but found ${wt(ne(e))} instead.`);let n;if(this.fromIndex&&(n=this.fromIndex.evaluate(t)),kt(r,[\"string\"])){const t=r.indexOf(e,n);return -1===t?-1:[...r.slice(0,t)].length}if(kt(r,[\"array\"]))return r.indexOf(e,n);throw new ae(`Expected second argument to be of type array or string, but found ${wt(ne(r))} instead.`)}eachChild(t){t(this.needle),t(this.haystack),this.fromIndex&&t(this.fromIndex);}outputDefined(){return !1}}class ve{constructor(t,e,r,n,i,s){this.inputType=t,this.type=e,this.input=r,this.cases=n,this.outputs=i,this.otherwise=s;}static parse(t,e){if(t.length<5)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if(t.length%2!=1)return e.error(\"Expected an even number of arguments.\");let r,n;e.expectedType&&\"value\"!==e.expectedType.kind&&(n=e.expectedType);const i={},s=[];for(let a=2;aNumber.MAX_SAFE_INTEGER)return u.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(\"number\"==typeof t&&Math.floor(t)!==t)return u.error(\"Numeric branch labels must be integer values.\");if(r){if(u.checkSubtype(r,ne(t)))return null}else r=ne(t);if(void 0!==i[String(t)])return u.error(\"Branch labels must be unique.\");i[String(t)]=s.length;}const c=e.parse(l,a,n);if(!c)return null;n=n||c.type,s.push(c);}const a=e.parse(t[1],1,dt);if(!a)return null;const o=e.parse(t[t.length-1],t.length-1,n);return o?\"value\"!==a.type.kind&&e.concat(1).checkSubtype(r,a.type)?null:new ve(r,n,a,i,s,o):null}evaluate(t){const e=this.input.evaluate(t);return (ne(e)===this.inputType&&this.outputs[this.cases[e]]||this.otherwise).evaluate(t)}eachChild(t){t(this.input),this.outputs.forEach(t),t(this.otherwise);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))&&this.otherwise.outputDefined()}}class be{constructor(t,e,r){this.type=t,this.branches=e,this.otherwise=r;}static parse(t,e){if(t.length<4)return e.error(`Expected at least 3 arguments, but found only ${t.length-1}.`);if(t.length%2!=0)return e.error(\"Expected an odd number of arguments.\");let r;e.expectedType&&\"value\"!==e.expectedType.kind&&(r=e.expectedType);const n=[];for(let i=1;ie.outputDefined()))&&this.otherwise.outputDefined()}}class we{constructor(t,e,r,n){this.type=t,this.input=e,this.beginIndex=r,this.endIndex=n;}static parse(t,e){if(t.length<=2||t.length>=5)return e.error(`Expected 3 or 4 arguments, but found ${t.length-1} instead.`);const r=e.parse(t[1],1,dt),n=e.parse(t[2],2,ut);if(!r||!n)return null;if(!St(r.type,[bt(dt),ct,dt]))return e.error(`Expected first argument to be of type array or string, but found ${wt(r.type)} instead`);if(4===t.length){const i=e.parse(t[3],3,ut);return i?new we(r.type,r,n,i):null}return new we(r.type,r,n)}evaluate(t){const e=this.input.evaluate(t),r=this.beginIndex.evaluate(t);let n;if(this.endIndex&&(n=this.endIndex.evaluate(t)),kt(e,[\"string\"]))return [...e].slice(r,n).join(\"\");if(kt(e,[\"array\"]))return e.slice(r,n);throw new ae(`Expected first argument to be of type array or string, but found ${wt(ne(e))} instead.`)}eachChild(t){t(this.input),t(this.beginIndex),this.endIndex&&t(this.endIndex);}outputDefined(){return !1}}function _e(t,e){const r=t.length-1;let n,i,s=0,a=r,o=0;for(;s<=a;)if(o=Math.floor((s+a)/2),n=t[o],i=t[o+1],n<=e){if(o===r||ee))throw new ae(\"Input is not a number.\");a=o-1;}return 0}class Ae{constructor(t,e,r){this.type=t,this.input=e,this.labels=[],this.outputs=[];for(const[t,e]of r)this.labels.push(t),this.outputs.push(e);}static parse(t,e){if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");const r=e.parse(t[1],1,ut);if(!r)return null;const n=[];let i=null;e.expectedType&&\"value\"!==e.expectedType.kind&&(i=e.expectedType);for(let r=1;r=s)return e.error('Input/output pairs for \"step\" expressions must be arranged with input values in strictly ascending order.',o);const u=e.parse(a,l,i);if(!u)return null;i=i||u.type,n.push([s,u]);}return new Ae(i,r,n)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;return n>=e[i-1]?r[i-1].evaluate(t):r[_e(e,n)].evaluate(t)}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Se(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,\"default\")?t.default:t}var ke=Me;function Me(t,e,r,n){this.cx=3*t,this.bx=3*(r-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(n-e)-this.cy,this.ay=1-this.cy-this.by,this.p1x=t,this.p1y=e,this.p2x=r,this.p2y=n;}Me.prototype={sampleCurveX:function(t){return ((this.ax*t+this.bx)*t+this.cx)*t},sampleCurveY:function(t){return ((this.ay*t+this.by)*t+this.cy)*t},sampleCurveDerivativeX:function(t){return (3*this.ax*t+2*this.bx)*t+this.cx},solveCurveX:function(t,e){if(void 0===e&&(e=1e-6),t<0)return 0;if(t>1)return 1;for(var r=t,n=0;n<8;n++){var i=this.sampleCurveX(r)-t;if(Math.abs(i)i?a=r:o=r,r=.5*(o-a)+a;return r},solve:function(t,e){return this.sampleCurveY(this.solveCurveX(t,e))}};var Ie=Se(ke);function ze(t,e,r){return t+r*(e-t)}function Pe(t,e,r){return t.map(((t,n)=>ze(t,e[n],r)))}const Ce={number:ze,color:function(t,e,r,n=\"rgb\"){switch(n){case\"rgb\":{const[n,i,s,a]=Pe(t.rgb,e.rgb,r);return new Kt(n,i,s,a,!1)}case\"hcl\":{const[n,i,s,a]=t.hcl,[o,l,u,c]=e.hcl;let h,p;if(isNaN(n)||isNaN(o))isNaN(n)?isNaN(o)?h=NaN:(h=o,1!==s&&0!==s||(p=l)):(h=n,1!==u&&0!==u||(p=i));else {let t=o-n;o>n&&t>180?t-=360:o180&&(t+=360),h=n+r*t;}const[f,d,y,m]=function([t,e,r,n]){return t=isNaN(t)?0:t*Et,Ot([r,Math.cos(t)*e,Math.sin(t)*e,n])}([h,null!=p?p:ze(i,l,r),ze(s,u,r),ze(a,c,r)]);return new Kt(f,d,y,m,!1)}case\"lab\":{const[n,i,s,a]=Ot(Pe(t.lab,e.lab,r));return new Kt(n,i,s,a,!1)}}},array:Pe,padding:function(t,e,r){return new Jt(Pe(t.values,e.values,r))},variableAnchorOffsetCollection:function(t,e,r){const n=t.values,i=e.values;if(n.length!==i.length)throw new ae(`Cannot interpolate values of different length. from: ${t.toString()}, to: ${e.toString()}`);const s=[];for(let t=0;t\"number\"!=typeof t||t<0||t>1)))return e.error(\"Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.\",1);n={name:\"cubic-bezier\",controlPoints:t};}}if(t.length-1<4)return e.error(`Expected at least 4 arguments, but found only ${t.length-1}.`);if((t.length-1)%2!=0)return e.error(\"Expected an even number of arguments.\");if(i=e.parse(i,2,ut),!i)return null;const a=[];let o=null;\"interpolate-hcl\"===r||\"interpolate-lab\"===r?o=pt:e.expectedType&&\"value\"!==e.expectedType.kind&&(o=e.expectedType);for(let t=0;t=r)return e.error('Input/output pairs for \"interpolate\" expressions must be arranged with input values in strictly ascending order.',i);const u=e.parse(n,l,o);if(!u)return null;o=o||u.type,a.push([r,u]);}return Mt(o,ut)||Mt(o,pt)||Mt(o,gt)||Mt(o,vt)||Mt(o,bt(ut))?new Be(o,r,n,i,a):e.error(`Type ${wt(o)} is not interpolatable.`)}evaluate(t){const e=this.labels,r=this.outputs;if(1===e.length)return r[0].evaluate(t);const n=this.input.evaluate(t);if(n<=e[0])return r[0].evaluate(t);const i=e.length;if(n>=e[i-1])return r[i-1].evaluate(t);const s=_e(e,n),a=Be.interpolationFactor(this.interpolation,n,e[s],e[s+1]),o=r[s].evaluate(t),l=r[s+1].evaluate(t);switch(this.operator){case\"interpolate\":return Ce[this.type.kind](o,l,a);case\"interpolate-hcl\":return Ce.color(o,l,a,\"hcl\");case\"interpolate-lab\":return Ce.color(o,l,a,\"lab\")}}eachChild(t){t(this.input);for(const e of this.outputs)t(e);}outputDefined(){return this.outputs.every((t=>t.outputDefined()))}}function Ve(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}class Ee{constructor(t,e){this.type=t,this.args=e;}static parse(t,e){if(t.length<2)return e.error(\"Expectected at least one argument.\");let r=null;const n=e.expectedType;n&&\"value\"!==n.kind&&(r=n);const i=[];for(const n of t.slice(1)){const t=e.parse(n,1+i.length,r,void 0,{typeAnnotation:\"omit\"});if(!t)return null;r=r||t.type,i.push(t);}if(!r)throw new Error(\"No output type\");const s=n&&i.some((t=>At(n,t.type)));return new Ee(s?dt:r,i)}evaluate(t){let e,r=null,n=0;for(const i of this.args)if(n++,r=i.evaluate(t),r&&r instanceof te&&!r.available&&(e||(e=r.name),r=null,n===this.args.length&&(r=e)),null!==r)break;return r}eachChild(t){this.args.forEach(t);}outputDefined(){return this.args.every((t=>t.outputDefined()))}}function Fe(t,e){return \"==\"===t||\"!=\"===t?\"boolean\"===e.kind||\"string\"===e.kind||\"number\"===e.kind||\"null\"===e.kind||\"value\"===e.kind:\"string\"===e.kind||\"number\"===e.kind||\"value\"===e.kind}function Te(t,e,r,n){return 0===n.compare(e,r)}function $e(t,e,r){const n=\"==\"!==t&&\"!=\"!==t;return class i{constructor(t,e,r){this.type=ht,this.lhs=t,this.rhs=e,this.collator=r,this.hasUntypedArgument=\"value\"===t.type.kind||\"value\"===e.type.kind;}static parse(t,e){if(3!==t.length&&4!==t.length)return e.error(\"Expected two or three arguments.\");const r=t[0];let s=e.parse(t[1],1,dt);if(!s)return null;if(!Fe(r,s.type))return e.concat(1).error(`\"${r}\" comparisons are not supported for type '${wt(s.type)}'.`);let a=e.parse(t[2],2,dt);if(!a)return null;if(!Fe(r,a.type))return e.concat(2).error(`\"${r}\" comparisons are not supported for type '${wt(a.type)}'.`);if(s.type.kind!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(`Cannot compare types '${wt(s.type)}' and '${wt(a.type)}'.`);n&&(\"value\"===s.type.kind&&\"value\"!==a.type.kind?s=new le(a.type,[s]):\"value\"!==s.type.kind&&\"value\"===a.type.kind&&(a=new le(s.type,[a])));let o=null;if(4===t.length){if(\"string\"!==s.type.kind&&\"string\"!==a.type.kind&&\"value\"!==s.type.kind&&\"value\"!==a.type.kind)return e.error(\"Cannot use collator to compare non-string types.\");if(o=e.parse(t[3],3,yt),!o)return null}return new i(s,a,o)}evaluate(i){const s=this.lhs.evaluate(i),a=this.rhs.evaluate(i);if(n&&this.hasUntypedArgument){const e=ne(s),r=ne(a);if(e.kind!==r.kind||\"string\"!==e.kind&&\"number\"!==e.kind)throw new ae(`Expected arguments for \"${t}\" to be (string, string) or (number, number), but found (${e.kind}, ${r.kind}) instead.`)}if(this.collator&&!n&&this.hasUntypedArgument){const t=ne(s),r=ne(a);if(\"string\"!==t.kind||\"string\"!==r.kind)return e(i,s,a)}return this.collator?r(i,s,a,this.collator.evaluate(i)):e(i,s,a)}eachChild(t){t(this.lhs),t(this.rhs),this.collator&&t(this.collator);}outputDefined(){return !0}}}const Le=$e(\"==\",(function(t,e,r){return e===r}),Te),De=$e(\"!=\",(function(t,e,r){return e!==r}),(function(t,e,r,n){return !Te(0,e,r,n)})),Oe=$e(\"<\",(function(t,e,r){return e\",(function(t,e,r){return e>r}),(function(t,e,r,n){return n.compare(e,r)>0})),Re=$e(\"<=\",(function(t,e,r){return e<=r}),(function(t,e,r,n){return n.compare(e,r)<=0})),Ue=$e(\">=\",(function(t,e,r){return e>=r}),(function(t,e,r,n){return n.compare(e,r)>=0}));class qe{constructor(t,e,r){this.type=yt,this.locale=r,this.caseSensitive=t,this.diacriticSensitive=e;}static parse(t,e){if(2!==t.length)return e.error(\"Expected one argument.\");const r=t[1];if(\"object\"!=typeof r||Array.isArray(r))return e.error(\"Collator options argument must be an object.\");const n=e.parse(void 0!==r[\"case-sensitive\"]&&r[\"case-sensitive\"],1,ht);if(!n)return null;const i=e.parse(void 0!==r[\"diacritic-sensitive\"]&&r[\"diacritic-sensitive\"],1,ht);if(!i)return null;let s=null;return r.locale&&(s=e.parse(r.locale,1,ct),!s)?null:new qe(n,i,s)}evaluate(t){return new Xt(this.caseSensitive.evaluate(t),this.diacriticSensitive.evaluate(t),this.locale?this.locale.evaluate(t):null)}eachChild(t){t(this.caseSensitive),t(this.diacriticSensitive),this.locale&&t(this.locale);}outputDefined(){return !1}}class Ne{constructor(t,e,r,n,i){this.type=ct,this.number=t,this.locale=e,this.currency=r,this.minFractionDigits=n,this.maxFractionDigits=i;}static parse(t,e){if(3!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ut);if(!r)return null;const n=t[2];if(\"object\"!=typeof n||Array.isArray(n))return e.error(\"NumberFormat options argument must be an object.\");let i=null;if(n.locale&&(i=e.parse(n.locale,1,ct),!i))return null;let s=null;if(n.currency&&(s=e.parse(n.currency,1,ct),!s))return null;let a=null;if(n[\"min-fraction-digits\"]&&(a=e.parse(n[\"min-fraction-digits\"],1,ut),!a))return null;let o=null;return n[\"max-fraction-digits\"]&&(o=e.parse(n[\"max-fraction-digits\"],1,ut),!o)?null:new Ne(r,i,s,a,o)}evaluate(t){return new Intl.NumberFormat(this.locale?this.locale.evaluate(t):[],{style:this.currency?\"currency\":\"decimal\",currency:this.currency?this.currency.evaluate(t):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(t):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(t):void 0}).format(this.number.evaluate(t))}eachChild(t){t(this.number),this.locale&&t(this.locale),this.currency&&t(this.currency),this.minFractionDigits&&t(this.minFractionDigits),this.maxFractionDigits&&t(this.maxFractionDigits);}outputDefined(){return !1}}class Ze{constructor(t){this.type=mt,this.sections=t;}static parse(t,e){if(t.length<2)return e.error(\"Expected at least one argument.\");const r=t[1];if(!Array.isArray(r)&&\"object\"==typeof r)return e.error(\"First argument must be an image or text section.\");const n=[];let i=!1;for(let r=1;r<=t.length-1;++r){const s=t[r];if(i&&\"object\"==typeof s&&!Array.isArray(s)){i=!1;let t=null;if(s[\"font-scale\"]&&(t=e.parse(s[\"font-scale\"],1,ut),!t))return null;let r=null;if(s[\"text-font\"]&&(r=e.parse(s[\"text-font\"],1,bt(ct)),!r))return null;let a=null;if(s[\"text-color\"]&&(a=e.parse(s[\"text-color\"],1,pt),!a))return null;const o=n[n.length-1];o.scale=t,o.font=r,o.textColor=a;}else {const s=e.parse(t[r],1,dt);if(!s)return null;const a=s.type.kind;if(\"string\"!==a&&\"value\"!==a&&\"null\"!==a&&\"resolvedImage\"!==a)return e.error(\"Formatted text type must be 'string', 'value', 'image' or 'null'.\");i=!0,n.push({content:s,scale:null,font:null,textColor:null});}}return new Ze(n)}evaluate(t){return new Yt(this.sections.map((e=>{const r=e.content.evaluate(t);return ne(r)===xt?new Ht(\"\",r,null,null,null):new Ht(ie(r),null,e.scale?e.scale.evaluate(t):null,e.font?e.font.evaluate(t).join(\",\"):null,e.textColor?e.textColor.evaluate(t):null)})))}eachChild(t){for(const e of this.sections)t(e.content),e.scale&&t(e.scale),e.font&&t(e.font),e.textColor&&t(e.textColor);}outputDefined(){return !1}}class Ge{constructor(t){this.type=xt,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(\"Expected two arguments.\");const r=e.parse(t[1],1,ct);return r?new Ge(r):e.error(\"No image name provided.\")}evaluate(t){const e=this.input.evaluate(t),r=te.fromString(e);return r&&t.availableImages&&(r.available=t.availableImages.indexOf(e)>-1),r}eachChild(t){t(this.input);}outputDefined(){return !1}}class Ke{constructor(t){this.type=ut,this.input=t;}static parse(t,e){if(2!==t.length)return e.error(`Expected 1 argument, but found ${t.length-1} instead.`);const r=e.parse(t[1],1);return r?\"array\"!==r.type.kind&&\"string\"!==r.type.kind&&\"value\"!==r.type.kind?e.error(`Expected argument of type string or array, but found ${wt(r.type)} instead.`):new Ke(r):null}evaluate(t){const e=this.input.evaluate(t);if(\"string\"==typeof e)return [...e].length;if(Array.isArray(e))return e.length;throw new ae(`Expected value to be of type string or array, but found ${wt(ne(e))} instead.`)}eachChild(t){t(this.input);}outputDefined(){return !1}}const Xe=8192;function He(t,e){const r=(180+t[0])/360,n=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t[1]*Math.PI/360)))/360,i=Math.pow(2,e.z);return [Math.round(r*i*Xe),Math.round(n*i*Xe)]}function Ye(t,e){const r=Math.pow(2,e.z);return [(i=(t[0]/Xe+e.x)/r,360*i-180),(n=(t[1]/Xe+e.y)/r,360/Math.PI*Math.atan(Math.exp((180-360*n)*Math.PI/180))-90)];var n,i;}function Je(t,e){t[0]=Math.min(t[0],e[0]),t[1]=Math.min(t[1],e[1]),t[2]=Math.max(t[2],e[0]),t[3]=Math.max(t[3],e[1]);}function We(t,e){return !(t[0]<=e[0]||t[2]>=e[2]||t[1]<=e[1]||t[3]>=e[3])}function Qe(t,e,r){const n=t[0]-e[0],i=t[1]-e[1],s=t[0]-r[0],a=t[1]-r[1];return n*a-s*i==0&&n*s<=0&&i*a<=0}function tr(t,e,r,n){return 0!=(i=[n[0]-r[0],n[1]-r[1]])[0]*(s=[e[0]-t[0],e[1]-t[1]])[1]-i[1]*s[0]&&!(!ar(t,e,r,n)||!ar(r,n,t,e));var i,s;}function er(t,e,r){for(const n of r)for(let r=0;r(i=t)[1]!=(a=o[e+1])[1]>i[1]&&i[0]<(a[0]-s[0])*(i[1]-s[1])/(a[1]-s[1])+s[0]&&(n=!n);}var i,s,a;return n}function nr(t,e){for(const r of e)if(rr(t,r))return !0;return !1}function ir(t,e){for(const r of t)if(!rr(r,e))return !1;for(let r=0;r0&&o<0||a<0&&o>0}function or(t,e,r){const n=[];for(let i=0;ir[2]){const e=.5*n;let i=t[0]-r[0]>e?-n:r[0]-t[0]>e?n:0;0===i&&(i=t[0]-r[2]>e?-n:r[2]-t[0]>e?n:0),t[0]+=i;}Je(e,t);}function cr(t,e,r,n){const i=Math.pow(2,n.z)*Xe,s=[n.x*Xe,n.y*Xe],a=[];for(const n of t)for(const t of n){const n=[t.x+s[0],t.y+s[1]];ur(n,e,r,i),a.push(n);}return a}function hr(t,e,r,n){const i=Math.pow(2,n.z)*Xe,s=[n.x*Xe,n.y*Xe],a=[];for(const r of t){const t=[];for(const n of r){const r=[n.x+s[0],n.y+s[1]];Je(e,r),t.push(r);}a.push(t);}if(e[2]-e[0]<=i/2){(o=e)[0]=o[1]=1/0,o[2]=o[3]=-1/0;for(const t of a)for(const n of t)ur(n,e,r,i);}var o;return a}class pr{constructor(t,e){this.type=ht,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'within' expression requires exactly one argument, but found ${t.length-1} instead.`);if(re(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type){const t=[];for(const r of e.features){const{type:e,coordinates:n}=r.geometry;\"Polygon\"===e&&t.push(n),\"MultiPolygon\"===e&&t.push(...n);}if(t.length)return new pr(e,{type:\"MultiPolygon\",coordinates:t})}else if(\"Feature\"===e.type){const t=e.geometry.type;if(\"Polygon\"===t||\"MultiPolygon\"===t)return new pr(e,e.geometry)}else if(\"Polygon\"===e.type||\"MultiPolygon\"===e.type)return new pr(e,e)}return e.error(\"'within' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const s=or(e.coordinates,n,i),a=cr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!rr(t,s))return !1}if(\"MultiPolygon\"===e.type){const s=lr(e.coordinates,n,i),a=cr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!nr(t,s))return !1}return !0}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=[1/0,1/0,-1/0,-1/0],n=[1/0,1/0,-1/0,-1/0],i=t.canonicalID();if(\"Polygon\"===e.type){const s=or(e.coordinates,n,i),a=hr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!ir(t,s))return !1}if(\"MultiPolygon\"===e.type){const s=lr(e.coordinates,n,i),a=hr(t.geometry(),r,n,i);if(!We(r,n))return !1;for(const t of a)if(!sr(t,s))return !1}return !0}(t,this.geometries)}return !1}eachChild(){}outputDefined(){return !0}}let fr=class{constructor(t=[],e=((t,e)=>te?1:0)){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this._up(this.length++);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return --this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(r(n,s)>=0)break;e[t]=s,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=e[n],t=n;}e[t]=i;}};function dr(t,e,r,n,i){yr(t,e,r,n||t.length-1,i||gr);}function yr(t,e,r,n,i){for(;n>r;){if(n-r>600){var s=n-r+1,a=e-r+1,o=Math.log(s),l=.5*Math.exp(2*o/3),u=.5*Math.sqrt(o*l*(s-l)/s)*(a-s/2<0?-1:1);yr(t,e,Math.max(r,Math.floor(e-a*l/s+u)),Math.min(n,Math.floor(e+(s-a)*l/s+u)),i);}var c=t[e],h=r,p=n;for(mr(t,r,e),i(t[n],c)>0&&mr(t,r,n);h0;)p--;}0===i(t[r],c)?mr(t,r,p):mr(t,++p,n),p<=e&&(r=p+1),e<=p&&(n=p-1);}}function mr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n;}function gr(t,e){return te?1:0}function xr(t,e){if(t.length<=1)return [t];const r=[];let n,i;for(const e of t){const t=br(e);0!==t&&(e.area=Math.abs(t),void 0===i&&(i=t<0),i===t<0?(n&&r.push(n),n=[e]):n.push(e));}if(n&&r.push(n),e>1)for(let t=0;t1?(l=t[o+1][0],u=t[o+1][1]):p>0&&(l+=c/this.kx*p,u+=h/this.ky*p)),c=this.wrap(e[0]-l)*this.kx,h=(e[1]-u)*this.ky;const f=c*c+h*h;f180;)t-=360;return t}}function kr(t,e){return e[0]-t[0]}function Mr(t){return t[1]-t[0]+1}function Ir(t,e){return t[1]>=t[0]&&t[1]t[1])return [null,null];const r=Mr(t);if(e){if(2===r)return [t,null];const e=Math.floor(r/2);return [[t[0],t[0]+e],[t[0]+e,t[1]]]}if(1===r)return [t,null];const n=Math.floor(r/2)-1;return [[t[0],t[0]+n],[t[0]+n+1,t[1]]]}function Pr(t,e){if(!Ir(e,t.length))return [1/0,1/0,-1/0,-1/0];const r=[1/0,1/0,-1/0,-1/0];for(let n=e[0];n<=e[1];++n)Je(r,t[n]);return r}function Cr(t){const e=[1/0,1/0,-1/0,-1/0];for(const r of t)for(const t of r)Je(e,t);return e}function Br(t){return t[0]!==-1/0&&t[1]!==-1/0&&t[2]!==1/0&&t[3]!==1/0}function Vr(t,e,r){if(!Br(t)||!Br(e))return NaN;let n=0,i=0;return t[2]e[2]&&(n=t[0]-e[2]),t[1]>e[3]&&(i=t[1]-e[3]),t[3]=n)return n;if(We(i,s)){if(Or(t,e))return 0}else if(Or(e,t))return 0;let a=1/0;for(const n of t)for(let t=0,i=n.length,s=i-1;t0;){const i=a.pop();if(i[0]>=s)continue;const l=i[1],u=e?50:100;if(Mr(l)<=u){if(!Ir(l,t.length))return NaN;if(e){const e=Dr(t,l,r,n);if(isNaN(e)||0===e)return e;s=Math.min(s,e);}else for(let e=l[0];e<=l[1];++e){const i=Lr(t[e],r,n);if(s=Math.min(s,i),0===s)return 0}}else {const r=zr(l,e);Rr(a,s,n,t,o,r[0]),Rr(a,s,n,t,o,r[1]);}}return s}function Nr(t,e,r,n,i,s=1/0){let a=Math.min(s,i.distance(t[0],r[0]));if(0===a)return a;const o=new fr([[0,[0,t.length-1],[0,r.length-1]]],kr);for(;o.length>0;){const s=o.pop();if(s[0]>=a)continue;const l=s[1],u=s[2],c=e?50:100,h=n?50:100;if(Mr(l)<=c&&Mr(u)<=h){if(!Ir(l,t.length)&&Ir(u,r.length))return NaN;let s;if(e&&n)s=Tr(t,l,r,u,i),a=Math.min(a,s);else if(e&&!n){const e=t.slice(l[0],l[1]+1);for(let t=u[0];t<=u[1];++t)if(s=Er(r[t],e,i),a=Math.min(a,s),0===a)return a}else if(!e&&n){const e=r.slice(u[0],u[1]+1);for(let r=l[0];r<=l[1];++r)if(s=Er(t[r],e,i),a=Math.min(a,s),0===a)return a}else s=$r(t,l,r,u,i),a=Math.min(a,s);}else {const s=zr(l,e),c=zr(u,n);Ur(o,a,i,t,r,s[0],c[0]),Ur(o,a,i,t,r,s[0],c[1]),Ur(o,a,i,t,r,s[1],c[0]),Ur(o,a,i,t,r,s[1],c[1]);}}return a}function Zr(t){return \"MultiPolygon\"===t.type?t.coordinates.map((t=>({type:\"Polygon\",coordinates:t}))):\"MultiLineString\"===t.type?t.coordinates.map((t=>({type:\"LineString\",coordinates:t}))):\"MultiPoint\"===t.type?t.coordinates.map((t=>({type:\"Point\",coordinates:t}))):[t]}class Gr{constructor(t,e){this.type=ut,this.geojson=t,this.geometries=e;}static parse(t,e){if(2!==t.length)return e.error(`'distance' expression requires exactly one argument, but found ${t.length-1} instead.`);if(re(t[1])){const e=t[1];if(\"FeatureCollection\"===e.type)return new Gr(e,e.features.map((t=>Zr(t.geometry))).flat());if(\"Feature\"===e.type)return new Gr(e,Zr(e.geometry));if(\"type\"in e&&\"coordinates\"in e)return new Gr(e,Zr(e))}return e.error(\"'distance' expression requires valid geojson object that contains polygon geometry type.\")}evaluate(t){if(null!=t.geometry()&&null!=t.canonicalID()){if(\"Point\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ye([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let s=1/0;for(const t of e){switch(t.type){case\"Point\":s=Math.min(s,Nr(n,!1,[t.coordinates],!1,i,s));break;case\"LineString\":s=Math.min(s,Nr(n,!1,t.coordinates,!0,i,s));break;case\"Polygon\":s=Math.min(s,qr(n,!1,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries);if(\"LineString\"===t.geometryType())return function(t,e){const r=t.geometry(),n=r.flat().map((e=>Ye([e.x,e.y],t.canonical)));if(0===r.length)return NaN;const i=new Sr(n[0][1]);let s=1/0;for(const t of e){switch(t.type){case\"Point\":s=Math.min(s,Nr(n,!0,[t.coordinates],!1,i,s));break;case\"LineString\":s=Math.min(s,Nr(n,!0,t.coordinates,!0,i,s));break;case\"Polygon\":s=Math.min(s,qr(n,!0,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries);if(\"Polygon\"===t.geometryType())return function(t,e){const r=t.geometry();if(0===r.length||0===r[0].length)return NaN;const n=xr(r,0).map((e=>e.map((e=>e.map((e=>Ye([e.x,e.y],t.canonical))))))),i=new Sr(n[0][0][0][1]);let s=1/0;for(const t of e)for(const e of n){switch(t.type){case\"Point\":s=Math.min(s,qr([t.coordinates],!1,e,i,s));break;case\"LineString\":s=Math.min(s,qr(t.coordinates,!0,e,i,s));break;case\"Polygon\":s=Math.min(s,jr(e,t.coordinates,i,s));}if(0===s)return s}return s}(t,this.geometries)}return NaN}eachChild(){}outputDefined(){return !0}}const Kr={\"==\":Le,\"!=\":De,\">\":je,\"<\":Oe,\">=\":Ue,\"<=\":Re,array:le,at:me,boolean:le,case:be,coalesce:Ee,collator:qe,format:Ze,image:Ge,in:ge,\"index-of\":xe,interpolate:Be,\"interpolate-hcl\":Be,\"interpolate-lab\":Be,length:Ke,let:de,literal:se,match:ve,number:le,\"number-format\":Ne,object:le,slice:we,step:Ae,string:le,\"to-boolean\":ce,\"to-color\":ce,\"to-number\":ce,\"to-string\":ce,var:ye,within:pr,distance:Gr};class Xr{constructor(t,e,r,n){this.name=t,this.type=e,this._evaluate=r,this.args=n;}evaluate(t){return this._evaluate(t,this.args)}eachChild(t){this.args.forEach(t);}outputDefined(){return !1}static parse(t,e){const r=t[0],n=Xr.definitions[r];if(!n)return e.error(`Unknown expression \"${r}\". If you wanted a literal array, use [\"literal\", [...]].`,0);const i=Array.isArray(n)?n[0]:n.type,s=Array.isArray(n)?[[n[1],n[2]]]:n.overloads,a=s.filter((([e])=>!Array.isArray(e)||e.length===t.length-1));let o=null;for(const[n,s]of a){o=new fe(e.registry,Qr,e.path,null,e.scope);const a=[];let l=!1;for(let e=1;e{return e=t,Array.isArray(e)?`(${e.map(wt).join(\", \")})`:`(${wt(e.type)}...)`;var e;})).join(\" | \"),n=[];for(let r=1;r{r=e?r&&Qr(t):r&&t instanceof se;})),!!r&&tn(t)&&rn(t,[\"zoom\",\"heatmap-density\",\"line-progress\",\"accumulated\",\"is-supported-script\"])}function tn(t){if(t instanceof Xr){if(\"get\"===t.name&&1===t.args.length)return !1;if(\"feature-state\"===t.name)return !1;if(\"has\"===t.name&&1===t.args.length)return !1;if(\"properties\"===t.name||\"geometry-type\"===t.name||\"id\"===t.name)return !1;if(/^filter-/.test(t.name))return !1}if(t instanceof pr)return !1;if(t instanceof Gr)return !1;let e=!0;return t.eachChild((t=>{e&&!tn(t)&&(e=!1);})),e}function en(t){if(t instanceof Xr&&\"feature-state\"===t.name)return !1;let e=!0;return t.eachChild((t=>{e&&!en(t)&&(e=!1);})),e}function rn(t,e){if(t instanceof Xr&&e.indexOf(t.name)>=0)return !1;let r=!0;return t.eachChild((t=>{r&&!rn(t,e)&&(r=!1);})),r}function nn(t){return {result:\"success\",value:t}}function sn(t){return {result:\"error\",value:t}}function an(t){return \"data-driven\"===t[\"property-type\"]||\"cross-faded-data-driven\"===t[\"property-type\"]}function on(t){return !!t.expression&&t.expression.parameters.indexOf(\"zoom\")>-1}function ln(t){return !!t.expression&&t.expression.interpolated}function un(t){return t instanceof Number?\"number\":t instanceof String?\"string\":t instanceof Boolean?\"boolean\":Array.isArray(t)?\"array\":null===t?\"null\":typeof t}function cn(t){return \"object\"==typeof t&&null!==t&&!Array.isArray(t)}function hn(t){return t}function pn(t,e){const r=\"color\"===e.type,n=t.stops&&\"object\"==typeof t.stops[0][0],i=n||!(n||void 0!==t.property),s=t.type||(ln(e)?\"exponential\":\"interval\");if(r||\"padding\"===e.type){const n=r?Kt.parse:Jt.parse;(t=st({},t)).stops&&(t.stops=t.stops.map((t=>[t[0],n(t[1])]))),t.default=n(t.default?t.default:e.default);}if(t.colorSpace&&\"rgb\"!==(a=t.colorSpace)&&\"hcl\"!==a&&\"lab\"!==a)throw new Error(`Unknown color space: \"${t.colorSpace}\"`);var a;let o,l,u;if(\"exponential\"===s)o=mn;else if(\"interval\"===s)o=yn;else if(\"categorical\"===s){o=dn,l=Object.create(null);for(const e of t.stops)l[e[0]]=e[1];u=typeof t.stops[0][0];}else {if(\"identity\"!==s)throw new Error(`Unknown function type \"${s}\"`);o=gn;}if(n){const r={},n=[];for(let e=0;et[0])),evaluate:({zoom:r},n)=>mn({stops:i,base:t.base},e,r).evaluate(r,n)}}if(i){const r=\"exponential\"===s?{name:\"exponential\",base:void 0!==t.base?t.base:1}:null;return {kind:\"camera\",interpolationType:r,interpolationFactor:Be.interpolationFactor.bind(void 0,r),zoomStops:t.stops.map((t=>t[0])),evaluate:({zoom:r})=>o(t,e,r,l,u)}}return {kind:\"source\",evaluate(r,n){const i=n&&n.properties?n.properties[t.property]:void 0;return void 0===i?fn(t.default,e.default):o(t,e,i,l,u)}}}function fn(t,e,r){return void 0!==t?t:void 0!==e?e:void 0!==r?r:void 0}function dn(t,e,r,n,i){return fn(typeof r===i?n[r]:void 0,t.default,e.default)}function yn(t,e,r){if(\"number\"!==un(r))return fn(t.default,e.default);const n=t.stops.length;if(1===n)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[n-1][0])return t.stops[n-1][1];const i=_e(t.stops.map((t=>t[0])),r);return t.stops[i][1]}function mn(t,e,r){const n=void 0!==t.base?t.base:1;if(\"number\"!==un(r))return fn(t.default,e.default);const i=t.stops.length;if(1===i)return t.stops[0][1];if(r<=t.stops[0][0])return t.stops[0][1];if(r>=t.stops[i-1][0])return t.stops[i-1][1];const s=_e(t.stops.map((t=>t[0])),r),a=function(t,e,r,n){const i=n-r,s=t-r;return 0===i?0:1===e?s/i:(Math.pow(e,s)-1)/(Math.pow(e,i)-1)}(r,n,t.stops[s][0],t.stops[s+1][0]),o=t.stops[s][1],l=t.stops[s+1][1],u=Ce[e.type]||hn;return \"function\"==typeof o.evaluate?{evaluate(...e){const r=o.evaluate.apply(void 0,e),n=l.evaluate.apply(void 0,e);if(void 0!==r&&void 0!==n)return u(r,n,a,t.colorSpace)}}:u(o,l,a,t.colorSpace)}function gn(t,e,r){switch(e.type){case\"color\":r=Kt.parse(r);break;case\"formatted\":r=Yt.fromString(r.toString());break;case\"resolvedImage\":r=te.fromString(r.toString());break;case\"padding\":r=Jt.parse(r);break;default:un(r)===e.type||\"enum\"===e.type&&e.values[r]||(r=void 0);}return fn(r,t.default,e.default)}Xr.register(Kr,{error:[{kind:\"error\"},[ct],(t,[e])=>{throw new ae(e.evaluate(t))}],typeof:[ct,[dt],(t,[e])=>wt(ne(e.evaluate(t)))],\"to-rgba\":[bt(ut,4),[pt],(t,[e])=>{const[r,n,i,s]=e.evaluate(t).rgb;return [255*r,255*n,255*i,s]}],rgb:[pt,[ut,ut,ut],Hr],rgba:[pt,[ut,ut,ut,ut],Hr],has:{type:ht,overloads:[[[ct],(t,[e])=>Yr(e.evaluate(t),t.properties())],[[ct,ft],(t,[e,r])=>Yr(e.evaluate(t),r.evaluate(t))]]},get:{type:dt,overloads:[[[ct],(t,[e])=>Jr(e.evaluate(t),t.properties())],[[ct,ft],(t,[e,r])=>Jr(e.evaluate(t),r.evaluate(t))]]},\"feature-state\":[dt,[ct],(t,[e])=>Jr(e.evaluate(t),t.featureState||{})],properties:[ft,[],t=>t.properties()],\"geometry-type\":[ct,[],t=>t.geometryType()],id:[dt,[],t=>t.id()],zoom:[ut,[],t=>t.globals.zoom],\"heatmap-density\":[ut,[],t=>t.globals.heatmapDensity||0],\"line-progress\":[ut,[],t=>t.globals.lineProgress||0],accumulated:[dt,[],t=>void 0===t.globals.accumulated?null:t.globals.accumulated],\"+\":[ut,Wr(ut),(t,e)=>{let r=0;for(const n of e)r+=n.evaluate(t);return r}],\"*\":[ut,Wr(ut),(t,e)=>{let r=1;for(const n of e)r*=n.evaluate(t);return r}],\"-\":{type:ut,overloads:[[[ut,ut],(t,[e,r])=>e.evaluate(t)-r.evaluate(t)],[[ut],(t,[e])=>-e.evaluate(t)]]},\"/\":[ut,[ut,ut],(t,[e,r])=>e.evaluate(t)/r.evaluate(t)],\"%\":[ut,[ut,ut],(t,[e,r])=>e.evaluate(t)%r.evaluate(t)],ln2:[ut,[],()=>Math.LN2],pi:[ut,[],()=>Math.PI],e:[ut,[],()=>Math.E],\"^\":[ut,[ut,ut],(t,[e,r])=>Math.pow(e.evaluate(t),r.evaluate(t))],sqrt:[ut,[ut],(t,[e])=>Math.sqrt(e.evaluate(t))],log10:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))/Math.LN10],ln:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))],log2:[ut,[ut],(t,[e])=>Math.log(e.evaluate(t))/Math.LN2],sin:[ut,[ut],(t,[e])=>Math.sin(e.evaluate(t))],cos:[ut,[ut],(t,[e])=>Math.cos(e.evaluate(t))],tan:[ut,[ut],(t,[e])=>Math.tan(e.evaluate(t))],asin:[ut,[ut],(t,[e])=>Math.asin(e.evaluate(t))],acos:[ut,[ut],(t,[e])=>Math.acos(e.evaluate(t))],atan:[ut,[ut],(t,[e])=>Math.atan(e.evaluate(t))],min:[ut,Wr(ut),(t,e)=>Math.min(...e.map((e=>e.evaluate(t))))],max:[ut,Wr(ut),(t,e)=>Math.max(...e.map((e=>e.evaluate(t))))],abs:[ut,[ut],(t,[e])=>Math.abs(e.evaluate(t))],round:[ut,[ut],(t,[e])=>{const r=e.evaluate(t);return r<0?-Math.round(-r):Math.round(r)}],floor:[ut,[ut],(t,[e])=>Math.floor(e.evaluate(t))],ceil:[ut,[ut],(t,[e])=>Math.ceil(e.evaluate(t))],\"filter-==\":[ht,[ct,dt],(t,[e,r])=>t.properties()[e.value]===r.value],\"filter-id-==\":[ht,[dt],(t,[e])=>t.id()===e.value],\"filter-type-==\":[ht,[ct],(t,[e])=>t.geometryType()===e.value],\"filter-<\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n{const r=t.id(),n=e.value;return typeof r==typeof n&&r\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>i}],\"filter-id->\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>n}],\"filter-<=\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n<=i}],\"filter-id-<=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r<=n}],\"filter->=\":[ht,[ct,dt],(t,[e,r])=>{const n=t.properties()[e.value],i=r.value;return typeof n==typeof i&&n>=i}],\"filter-id->=\":[ht,[dt],(t,[e])=>{const r=t.id(),n=e.value;return typeof r==typeof n&&r>=n}],\"filter-has\":[ht,[dt],(t,[e])=>e.value in t.properties()],\"filter-has-id\":[ht,[],t=>null!==t.id()&&void 0!==t.id()],\"filter-type-in\":[ht,[bt(ct)],(t,[e])=>e.value.indexOf(t.geometryType())>=0],\"filter-id-in\":[ht,[bt(dt)],(t,[e])=>e.value.indexOf(t.id())>=0],\"filter-in-small\":[ht,[ct,bt(dt)],(t,[e,r])=>r.value.indexOf(t.properties()[e.value])>=0],\"filter-in-large\":[ht,[ct,bt(dt)],(t,[e,r])=>function(t,e,r,n){for(;r<=n;){const i=r+n>>1;if(e[i]===t)return !0;e[i]>t?n=i-1:r=i+1;}return !1}(t.properties()[e.value],r.value,0,r.value.length-1)],all:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)&&r.evaluate(t)],[Wr(ht),(t,e)=>{for(const r of e)if(!r.evaluate(t))return !1;return !0}]]},any:{type:ht,overloads:[[[ht,ht],(t,[e,r])=>e.evaluate(t)||r.evaluate(t)],[Wr(ht),(t,e)=>{for(const r of e)if(r.evaluate(t))return !0;return !1}]]},\"!\":[ht,[ht],(t,[e])=>!e.evaluate(t)],\"is-supported-script\":[ht,[ct],(t,[e])=>{const r=t.globals&&t.globals.isSupportedScript;return !r||r(e.evaluate(t))}],upcase:[ct,[ct],(t,[e])=>e.evaluate(t).toUpperCase()],downcase:[ct,[ct],(t,[e])=>e.evaluate(t).toLowerCase()],concat:[ct,Wr(dt),(t,e)=>e.map((e=>ie(e.evaluate(t)))).join(\"\")],\"resolved-locale\":[ct,[yt],(t,[e])=>e.evaluate(t).resolvedLocale()]});class xn{constructor(t,e){var r;this.expression=t,this._warningHistory={},this._evaluator=new pe,this._defaultValue=e?\"color\"===(r=e).type&&cn(r.default)?new Kt(0,0,0,0):\"color\"===r.type?Kt.parse(r.default)||null:\"padding\"===r.type?Jt.parse(r.default)||null:\"variableAnchorOffsetCollection\"===r.type?Qt.parse(r.default)||null:void 0===r.default?null:r.default:null,this._enumValues=e&&\"enum\"===e.type?e.values:null;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._evaluator.globals=t,this._evaluator.feature=e,this._evaluator.featureState=r,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s,this.expression.evaluate(this._evaluator)}evaluate(t,e,r,n,i,s){this._evaluator.globals=t,this._evaluator.feature=e||null,this._evaluator.featureState=r||null,this._evaluator.canonical=n,this._evaluator.availableImages=i||null,this._evaluator.formattedSection=s||null;try{const t=this.expression.evaluate(this._evaluator);if(null==t||\"number\"==typeof t&&t!=t)return this._defaultValue;if(this._enumValues&&!(t in this._enumValues))throw new ae(`Expected value to be one of ${Object.keys(this._enumValues).map((t=>JSON.stringify(t))).join(\", \")}, but found ${JSON.stringify(t)} instead.`);return t}catch(t){return this._warningHistory[t.message]||(this._warningHistory[t.message]=!0,\"undefined\"!=typeof console&&console.warn(t.message)),this._defaultValue}}}function vn(t){return Array.isArray(t)&&t.length>0&&\"string\"==typeof t[0]&&t[0]in Kr}function bn(t,e){const r=new fe(Kr,Qr,[],e?function(t){const e={color:pt,string:ct,number:ut,enum:ct,boolean:ht,formatted:mt,padding:gt,resolvedImage:xt,variableAnchorOffsetCollection:vt};return \"array\"===t.type?bt(e[t.value]||dt,t.length):e[t.type]}(e):void 0),n=r.parse(t,void 0,void 0,void 0,e&&\"string\"===e.type?{typeAnnotation:\"coerce\"}:void 0);return n?nn(new xn(n,e)):sn(r.errors)}class wn{constructor(t,e){this.kind=t,this._styleExpression=e,this.isStateDependent=\"constant\"!==t&&!en(e.expression);}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}}class _n{constructor(t,e,r,n){this.kind=t,this.zoomStops=r,this._styleExpression=e,this.isStateDependent=\"camera\"!==t&&!en(e.expression),this.interpolationType=n;}evaluateWithoutErrorHandling(t,e,r,n,i,s){return this._styleExpression.evaluateWithoutErrorHandling(t,e,r,n,i,s)}evaluate(t,e,r,n,i,s){return this._styleExpression.evaluate(t,e,r,n,i,s)}interpolationFactor(t,e,r){return this.interpolationType?Be.interpolationFactor(this.interpolationType,t,e,r):0}}function An(t,e){const r=bn(t,e);if(\"error\"===r.result)return r;const n=r.value.expression,i=tn(n);if(!i&&!an(e))return sn([new at(\"\",\"data expressions not supported\")]);const s=rn(n,[\"zoom\"]);if(!s&&!on(e))return sn([new at(\"\",\"zoom expressions not supported\")]);const a=kn(n);return a||s?a instanceof at?sn([a]):a instanceof Be&&!ln(e)?sn([new at(\"\",'\"interpolate\" expressions cannot be used with this property')]):nn(a?new _n(i?\"camera\":\"composite\",r.value,a.labels,a instanceof Be?a.interpolation:void 0):new wn(i?\"constant\":\"source\",r.value)):sn([new at(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.')])}class Sn{constructor(t,e){this._parameters=t,this._specification=e,st(this,pn(this._parameters,this._specification));}static deserialize(t){return new Sn(t._parameters,t._specification)}static serialize(t){return {_parameters:t._parameters,_specification:t._specification}}}function kn(t){let e=null;if(t instanceof de)e=kn(t.result);else if(t instanceof Ee){for(const r of t.args)if(e=kn(r),e)break}else (t instanceof Ae||t instanceof Be)&&t.input instanceof Xr&&\"zoom\"===t.input.name&&(e=t);return e instanceof at||t.eachChild((t=>{const r=kn(t);r instanceof at?e=r:!e&&r?e=new at(\"\",'\"zoom\" expression may only be used as input to a top-level \"step\" or \"interpolate\" expression.'):e&&r&&e!==r&&(e=new at(\"\",'Only one zoom-based \"step\" or \"interpolate\" subexpression may be used in an expression.'));})),e}function Mn(t){if(!0===t||!1===t)return !0;if(!Array.isArray(t)||0===t.length)return !1;switch(t[0]){case\"has\":return t.length>=2&&\"$id\"!==t[1]&&\"$type\"!==t[1];case\"in\":return t.length>=3&&(\"string\"!=typeof t[1]||Array.isArray(t[2]));case\"!in\":case\"!has\":case\"none\":return !1;case\"==\":case\"!=\":case\">\":case\">=\":case\"<\":case\"<=\":return 3!==t.length||Array.isArray(t[1])||Array.isArray(t[2]);case\"any\":case\"all\":for(const e of t.slice(1))if(!Mn(e)&&\"boolean\"!=typeof e)return !1;return !0;default:return !0}}const In={type:\"boolean\",default:!1,transition:!1,\"property-type\":\"data-driven\",expression:{interpolated:!1,parameters:[\"zoom\",\"feature\"]}};function zn(t){if(null==t)return {filter:()=>!0,needGeometry:!1};Mn(t)||(t=Bn(t));const e=bn(t,In);if(\"error\"===e.result)throw new Error(e.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return {filter:(t,r,n)=>e.value.evaluate(t,r,{},n),needGeometry:Cn(t)}}function Pn(t,e){return te?1:0}function Cn(t){if(!Array.isArray(t))return !1;if(\"within\"===t[0]||\"distance\"===t[0])return !0;for(let e=1;e\"===e||\"<=\"===e||\">=\"===e?Vn(t[1],t[2],e):\"any\"===e?(r=t.slice(1),[\"any\"].concat(r.map(Bn))):\"all\"===e?[\"all\"].concat(t.slice(1).map(Bn)):\"none\"===e?[\"all\"].concat(t.slice(1).map(Bn).map(Tn)):\"in\"===e?En(t[1],t.slice(2)):\"!in\"===e?Tn(En(t[1],t.slice(2))):\"has\"===e?Fn(t[1]):\"!has\"!==e||Tn(Fn(t[1]));var r;}function Vn(t,e,r){switch(t){case\"$type\":return [`filter-type-${r}`,e];case\"$id\":return [`filter-id-${r}`,e];default:return [`filter-${r}`,t,e]}}function En(t,e){if(0===e.length)return !1;switch(t){case\"$type\":return [\"filter-type-in\",[\"literal\",e]];case\"$id\":return [\"filter-id-in\",[\"literal\",e]];default:return e.length>200&&!e.some((t=>typeof t!=typeof e[0]))?[\"filter-in-large\",t,[\"literal\",e.sort(Pn)]]:[\"filter-in-small\",t,[\"literal\",e]]}}function Fn(t){switch(t){case\"$type\":return !0;case\"$id\":return [\"filter-has-id\"];default:return [\"filter-has\",t]}}function Tn(t){return [\"!\",t]}function $n(t){const e=typeof t;if(\"number\"===e||\"boolean\"===e||\"string\"===e||null==t)return JSON.stringify(t);if(Array.isArray(t)){let e=\"[\";for(const r of t)e+=`${$n(r)},`;return `${e}]`}const r=Object.keys(t).sort();let n=\"{\";for(let e=0;en.maximum?[new it(e,r,`${r} is greater than the maximum value ${n.maximum}`)]:[]}function Nn(t){const e=t.valueSpec,r=On(t.value.type);let n,i,s,a={};const o=\"categorical\"!==r&&void 0===t.value.property,l=!o,u=\"array\"===un(t.value.stops)&&\"array\"===un(t.value.stops[0])&&\"object\"===un(t.value.stops[0][0]),c=Rn({key:t.key,value:t.value,valueSpec:t.styleSpec.function,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{stops:function(t){if(\"identity\"===r)return [new it(t.key,t.value,'identity function may not have a \"stops\" property')];let e=[];const n=t.value;return e=e.concat(Un({key:t.key,value:n,valueSpec:t.valueSpec,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,arrayElementValidator:h})),\"array\"===un(n)&&0===n.length&&e.push(new it(t.key,n,\"array must have at least one stop\")),e},default:function(t){return t.validateSpec({key:t.key,value:t.value,valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec})}}});return \"identity\"===r&&o&&c.push(new it(t.key,t.value,'missing required property \"property\"')),\"identity\"===r||t.value.stops||c.push(new it(t.key,t.value,'missing required property \"stops\"')),\"exponential\"===r&&t.valueSpec.expression&&!ln(t.valueSpec)&&c.push(new it(t.key,t.value,\"exponential functions not supported\")),t.styleSpec.$version>=8&&(l&&!an(t.valueSpec)?c.push(new it(t.key,t.value,\"property functions not supported\")):o&&!on(t.valueSpec)&&c.push(new it(t.key,t.value,\"zoom functions not supported\"))),\"categorical\"!==r&&!u||void 0!==t.value.property||c.push(new it(t.key,t.value,'\"property\" property is required')),c;function h(t){let r=[];const n=t.value,o=t.key;if(\"array\"!==un(n))return [new it(o,n,`array expected, ${un(n)} found`)];if(2!==n.length)return [new it(o,n,`array length 2 expected, length ${n.length} found`)];if(u){if(\"object\"!==un(n[0]))return [new it(o,n,`object expected, ${un(n[0])} found`)];if(void 0===n[0].zoom)return [new it(o,n,\"object stop key must have zoom\")];if(void 0===n[0].value)return [new it(o,n,\"object stop key must have value\")];if(s&&s>On(n[0].zoom))return [new it(o,n[0].zoom,\"stop zoom values must appear in ascending order\")];On(n[0].zoom)!==s&&(s=On(n[0].zoom),i=void 0,a={}),r=r.concat(Rn({key:`${o}[0]`,value:n[0],valueSpec:{zoom:{}},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec,objectElementValidators:{zoom:qn,value:p}}));}else r=r.concat(p({key:`${o}[0]`,value:n[0],valueSpec:{},validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec},n));return vn(jn(n[1]))?r.concat([new it(`${o}[1]`,n[1],\"expressions are not allowed in function stops.\")]):r.concat(t.validateSpec({key:`${o}[1]`,value:n[1],valueSpec:e,validateSpec:t.validateSpec,style:t.style,styleSpec:t.styleSpec}))}function p(t,s){const o=un(t.value),l=On(t.value),u=null!==t.value?t.value:s;if(n){if(o!==n)return [new it(t.key,u,`${o} stop domain type must match previous stop domain type ${n}`)]}else n=o;if(\"number\"!==o&&\"string\"!==o&&\"boolean\"!==o)return [new it(t.key,u,\"stop domain value must be a number, string, or boolean\")];if(\"number\"!==o&&\"categorical\"!==r){let n=`number expected, ${o} found`;return an(e)&&void 0===r&&(n+='\\nIf you intended to use a categorical function, specify `\"type\": \"categorical\"`.'),[new it(t.key,u,n)]}return \"categorical\"!==r||\"number\"!==o||isFinite(l)&&Math.floor(l)===l?\"categorical\"!==r&&\"number\"===o&&void 0!==i&&lnew it(`${t.key}${e.key}`,t.value,e.message)));const r=e.value.expression||e.value._styleExpression.expression;if(\"property\"===t.expressionContext&&\"text-font\"===t.propertyKey&&!r.outputDefined())return [new it(t.key,t.value,`Invalid data expression for \"${t.propertyKey}\". Output values must be contained as literals within the expression.`)];if(\"property\"===t.expressionContext&&\"layout\"===t.propertyType&&!en(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with layout properties.')];if(\"filter\"===t.expressionContext&&!en(r))return [new it(t.key,t.value,'\"feature-state\" data expressions are not supported with filters.')];if(t.expressionContext&&0===t.expressionContext.indexOf(\"cluster\")){if(!rn(r,[\"zoom\",\"feature-state\"]))return [new it(t.key,t.value,'\"zoom\" and \"feature-state\" expressions are not supported with cluster properties.')];if(\"cluster-initial\"===t.expressionContext&&!tn(r))return [new it(t.key,t.value,\"Feature data expressions are not supported with initial expression part of cluster properties.\")]}return []}function Gn(t){const e=t.key,r=t.value,n=t.valueSpec,i=[];return Array.isArray(n.values)?-1===n.values.indexOf(On(r))&&i.push(new it(e,r,`expected one of [${n.values.join(\", \")}], ${JSON.stringify(r)} found`)):-1===Object.keys(n.values).indexOf(On(r))&&i.push(new it(e,r,`expected one of [${Object.keys(n.values).join(\", \")}], ${JSON.stringify(r)} found`)),i}function Kn(t){return Mn(jn(t.value))?Zn(st({},t,{expressionContext:\"filter\",valueSpec:{value:\"boolean\"}})):Xn(t)}function Xn(t){const e=t.value,r=t.key;if(\"array\"!==un(e))return [new it(r,e,`array expected, ${un(e)} found`)];const n=t.styleSpec;let i,s=[];if(e.length<1)return [new it(r,e,\"filter array must have at least 1 element\")];switch(s=s.concat(Gn({key:`${r}[0]`,value:e[0],valueSpec:n.filter_operator,style:t.style,styleSpec:t.styleSpec})),On(e[0])){case\"<\":case\"<=\":case\">\":case\">=\":e.length>=2&&\"$type\"===On(e[1])&&s.push(new it(r,e,`\"$type\" cannot be use with operator \"${e[0]}\"`));case\"==\":case\"!=\":3!==e.length&&s.push(new it(r,e,`filter array for operator \"${e[0]}\" must have 3 elements`));case\"in\":case\"!in\":e.length>=2&&(i=un(e[1]),\"string\"!==i&&s.push(new it(`${r}[1]`,e[1],`string expected, ${i} found`)));for(let a=2;a{t in r&&e.push(new it(n,r[t],`\"${t}\" is prohibited for ref layers`));})),i.layers.forEach((e=>{On(e.id)===o&&(t=e);})),t?t.ref?e.push(new it(n,r.ref,\"ref cannot reference another ref layer\")):a=On(t.type):e.push(new it(n,r.ref,`ref layer \"${o}\" not found`));}else if(\"background\"!==a)if(r.source){const t=i.sources&&i.sources[r.source],s=t&&On(t.type);t?\"vector\"===s&&\"raster\"===a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster source`)):\"raster-dem\"!==s&&\"hillshade\"===a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a raster-dem source`)):\"raster\"===s&&\"raster\"!==a?e.push(new it(n,r.source,`layer \"${r.id}\" requires a vector source`)):\"vector\"!==s||r[\"source-layer\"]?\"raster-dem\"===s&&\"hillshade\"!==a?e.push(new it(n,r.source,\"raster-dem source can only be used with layer type 'hillshade'.\")):\"line\"!==a||!r.paint||!r.paint[\"line-gradient\"]||\"geojson\"===s&&t.lineMetrics||e.push(new it(n,r,`layer \"${r.id}\" specifies a line-gradient, which requires a GeoJSON source with \\`lineMetrics\\` enabled.`)):e.push(new it(n,r,`layer \"${r.id}\" must specify a \"source-layer\"`)):e.push(new it(n,r.source,`source \"${r.source}\" not found`));}else e.push(new it(n,r,'missing required property \"source\"'));return e=e.concat(Rn({key:n,value:r,valueSpec:s.layer,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":()=>[],type:()=>t.validateSpec({key:`${n}.type`,value:r.type,valueSpec:s.layer.type,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,object:r,objectKey:\"type\"}),filter:Kn,layout:t=>Rn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>Jn(st({layerType:a},t))}}),paint:t=>Rn({layer:r,key:t.key,value:t.value,style:t.style,styleSpec:t.styleSpec,validateSpec:t.validateSpec,objectElementValidators:{\"*\":t=>Yn(st({layerType:a},t))}})}})),e}function Qn(t){const e=t.value,r=t.key,n=un(e);return \"string\"!==n?[new it(r,e,`string expected, ${n} found`)]:[]}const ti={promoteId:function({key:t,value:e}){if(\"string\"===un(e))return Qn({key:t,value:e});{const r=[];for(const n in e)r.push(...Qn({key:`${t}.${n}`,value:e[n]}));return r}}};function ei(t){const e=t.value,r=t.key,n=t.styleSpec,i=t.style,s=t.validateSpec;if(!e.type)return [new it(r,e,'\"type\" is required')];const a=On(e.type);let o;switch(a){case\"vector\":case\"raster\":return o=Rn({key:r,value:e,valueSpec:n[`source_${a.replace(\"-\",\"_\")}`],style:t.style,styleSpec:n,objectElementValidators:ti,validateSpec:s}),o;case\"raster-dem\":return o=function(t){var e;const r=null!==(e=t.sourceName)&&void 0!==e?e:\"\",n=t.value,i=t.styleSpec,s=i.source_raster_dem,a=t.style;let o=[];const l=un(n);if(void 0===n)return o;if(\"object\"!==l)return o.push(new it(\"source_raster_dem\",n,`object expected, ${l} found`)),o;const u=\"custom\"===On(n.encoding),c=[\"redFactor\",\"greenFactor\",\"blueFactor\",\"baseShift\"],h=t.value.encoding?`\"${t.value.encoding}\"`:\"Default\";for(const e in n)!u&&c.includes(e)?o.push(new it(e,n[e],`In \"${r}\": \"${e}\" is only valid when \"encoding\" is set to \"custom\". ${h} encoding found`)):s[e]?o=o.concat(t.validateSpec({key:e,value:n[e],valueSpec:s[e],validateSpec:t.validateSpec,style:a,styleSpec:i})):o.push(new it(e,n[e],`unknown property \"${e}\"`));return o}({sourceName:r,value:e,style:t.style,styleSpec:n,validateSpec:s}),o;case\"geojson\":if(o=Rn({key:r,value:e,valueSpec:n.source_geojson,style:i,styleSpec:n,validateSpec:s,objectElementValidators:ti}),e.cluster)for(const t in e.clusterProperties){const[n,i]=e.clusterProperties[t],a=\"string\"==typeof n?[n,[\"accumulated\"],[\"get\",t]]:n;o.push(...Zn({key:`${r}.${t}.map`,value:i,validateSpec:s,expressionContext:\"cluster-map\"})),o.push(...Zn({key:`${r}.${t}.reduce`,value:a,validateSpec:s,expressionContext:\"cluster-reduce\"}));}return o;case\"video\":return Rn({key:r,value:e,valueSpec:n.source_video,style:i,validateSpec:s,styleSpec:n});case\"image\":return Rn({key:r,value:e,valueSpec:n.source_image,style:i,validateSpec:s,styleSpec:n});case\"canvas\":return [new it(r,null,\"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.\",\"source.canvas\")];default:return Gn({key:`${r}.type`,value:e.type,valueSpec:{values:[\"vector\",\"raster\",\"raster-dem\",\"geojson\",\"video\",\"image\"]},style:i,validateSpec:s,styleSpec:n})}}function ri(t){const e=t.value,r=t.styleSpec,n=r.light,i=t.style;let s=[];const a=un(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new it(\"light\",e,`object expected, ${a} found`)]),s;for(const a in e){const o=a.match(/^(.*)-transition$/);s=s.concat(o&&n[o[1]]&&n[o[1]].transition?t.validateSpec({key:a,value:e[a],valueSpec:r.transition,validateSpec:t.validateSpec,style:i,styleSpec:r}):n[a]?t.validateSpec({key:a,value:e[a],valueSpec:n[a],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new it(a,e[a],`unknown property \"${a}\"`)]);}return s}function ni(t){const e=t.value,r=t.styleSpec,n=r.sky,i=t.style,s=un(e);if(void 0===e)return [];if(\"object\"!==s)return [new it(\"sky\",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new it(s,e[s],`unknown property \"${s}\"`)]);return a}function ii(t){const e=t.value,r=t.styleSpec,n=r.terrain,i=t.style;let s=[];const a=un(e);if(void 0===e)return s;if(\"object\"!==a)return s=s.concat([new it(\"terrain\",e,`object expected, ${a} found`)]),s;for(const a in e)s=s.concat(n[a]?t.validateSpec({key:a,value:e[a],valueSpec:n[a],validateSpec:t.validateSpec,style:i,styleSpec:r}):[new it(a,e[a],`unknown property \"${a}\"`)]);return s}function si(t){let e=[];const r=t.value,n=t.key;if(Array.isArray(r)){const i=[],s=[];for(const a in r)r[a].id&&i.includes(r[a].id)&&e.push(new it(n,r,`all the sprites' ids must be unique, but ${r[a].id} is duplicated`)),i.push(r[a].id),r[a].url&&s.includes(r[a].url)&&e.push(new it(n,r,`all the sprites' URLs must be unique, but ${r[a].url} is duplicated`)),s.push(r[a].url),e=e.concat(Rn({key:`${n}[${a}]`,value:r[a],valueSpec:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0}},validateSpec:t.validateSpec}));return e}return Qn({key:n,value:r})}const ai={\"*\":()=>[],array:Un,boolean:function(t){const e=t.value,r=t.key,n=un(e);return \"boolean\"!==n?[new it(r,e,`boolean expected, ${n} found`)]:[]},number:qn,color:function(t){const e=t.key,r=t.value,n=un(r);return \"string\"!==n?[new it(e,r,`color expected, ${n} found`)]:Kt.parse(String(r))?[]:[new it(e,r,`color expected, \"${r}\" found`)]},constants:Dn,enum:Gn,filter:Kn,function:Nn,layer:Wn,object:Rn,source:ei,light:ri,sky:ni,terrain:ii,projection:function(t){const e=t.value,r=t.styleSpec,n=r.projection,i=t.style,s=un(e);if(void 0===e)return [];if(\"object\"!==s)return [new it(\"projection\",e,`object expected, ${s} found`)];let a=[];for(const s in e)a=a.concat(n[s]?t.validateSpec({key:s,value:e[s],valueSpec:n[s],style:i,styleSpec:r}):[new it(s,e[s],`unknown property \"${s}\"`)]);return a},string:Qn,formatted:function(t){return 0===Qn(t).length?[]:Zn(t)},resolvedImage:function(t){return 0===Qn(t).length?[]:Zn(t)},padding:function(t){const e=t.key,r=t.value;if(\"array\"===un(r)){if(r.length<1||r.length>4)return [new it(e,r,`padding requires 1 to 4 values; ${r.length} values found`)];const n={type:\"number\"};let i=[];for(let s=0;s[]}})),t.constants&&(r=r.concat(Dn({key:\"constants\",value:t.constants,style:t,styleSpec:e,validateSpec:oi}))),hi(r)}function ci(t){return function(e){return t({...e,validateSpec:oi})}}function hi(t){return [].concat(t).sort(((t,e)=>t.line-e.line))}function pi(t){return function(...e){return hi(t.apply(this,e))}}ui.source=pi(ci(ei)),ui.sprite=pi(ci(si)),ui.glyphs=pi(ci(li)),ui.light=pi(ci(ri)),ui.sky=pi(ci(ni)),ui.terrain=pi(ci(ii)),ui.layer=pi(ci(Wn)),ui.filter=pi(ci(Kn)),ui.paintProperty=pi(ci(Yn)),ui.layoutProperty=pi(ci(Jn));const fi=ui,di=fi.light,yi=fi.sky,mi=fi.paintProperty,gi=fi.layoutProperty;function xi(t,e){let r=!1;if(e&&e.length)for(const n of e)t.fire(new N(new Error(n.message))),r=!0;return r}class vi{constructor(t,e,r){const n=this.cells=[];if(t instanceof ArrayBuffer){this.arrayBuffer=t;const i=new Int32Array(this.arrayBuffer);t=i[0],this.d=(e=i[1])+2*(r=i[2]);for(let t=0;t=u[l+0]&&n>=u[l+1])?(a[h]=!0,s.push(i[h])):a[h]=!1;}}}}_forEachCell(t,e,r,n,i,s,a,o){const l=this._convertToCellCoord(t),u=this._convertToCellCoord(e),c=this._convertToCellCoord(r),h=this._convertToCellCoord(n);for(let p=l;p<=c;p++)for(let l=u;l<=h;l++){const u=this.d*l+p;if((!o||o(this._convertFromCellCoord(p),this._convertFromCellCoord(l),this._convertFromCellCoord(p+1),this._convertFromCellCoord(l+1)))&&i.call(this,t,e,r,n,u,s,a,o))return}}_convertFromCellCoord(t){return (t-this.padding)/this.scale}_convertToCellCoord(t){return Math.max(0,Math.min(this.d-1,Math.floor(t*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;const t=this.cells,e=3+this.cells.length+1+1;let r=0;for(let t=0;t=0)continue;const s=t[n];i[n]=bi[r].shallow.indexOf(n)>=0?s:ki(s,e);}t instanceof Error&&(i.message=t.message);}if(i.$name)throw new Error(\"$name property is reserved for worker serialization logic.\");return \"Object\"!==r&&(i.$name=r),i}function Mi(t){if(Si(t))return t;if(Array.isArray(t))return t.map(Mi);if(\"object\"!=typeof t)throw new Error(\"can't deserialize object of type \"+typeof t);const e=Ai(t)||\"Object\";if(!bi[e])throw new Error(`can't deserialize unregistered class ${e}`);const{klass:r}=bi[e];if(!r)throw new Error(`can't deserialize unregistered class ${e}`);if(r.deserialize)return r.deserialize(t);const n=Object.create(r.prototype);for(const r of Object.keys(t)){if(\"$name\"===r)continue;const i=t[r];n[r]=bi[e].shallow.indexOf(r)>=0?i:Mi(i);}return n}class Ii{constructor(){this.first=!0;}update(t,e){const r=Math.floor(t);return this.first?(this.first=!1,this.lastIntegerZoom=r,this.lastIntegerZoomTime=0,this.lastZoom=t,this.lastFloorZoom=r,!0):(this.lastFloorZoom>r?(this.lastIntegerZoom=r+1,this.lastIntegerZoomTime=e):this.lastFloorZoomt>=128&&t<=255,\"Hangul Jamo\":t=>t>=4352&&t<=4607,Khmer:t=>t>=6016&&t<=6143,\"General Punctuation\":t=>t>=8192&&t<=8303,\"Letterlike Symbols\":t=>t>=8448&&t<=8527,\"Number Forms\":t=>t>=8528&&t<=8591,\"Miscellaneous Technical\":t=>t>=8960&&t<=9215,\"Control Pictures\":t=>t>=9216&&t<=9279,\"Optical Character Recognition\":t=>t>=9280&&t<=9311,\"Enclosed Alphanumerics\":t=>t>=9312&&t<=9471,\"Geometric Shapes\":t=>t>=9632&&t<=9727,\"Miscellaneous Symbols\":t=>t>=9728&&t<=9983,\"Miscellaneous Symbols and Arrows\":t=>t>=11008&&t<=11263,\"Ideographic Description Characters\":t=>t>=12272&&t<=12287,\"CJK Symbols and Punctuation\":t=>t>=12288&&t<=12351,Katakana:t=>t>=12448&&t<=12543,Kanbun:t=>t>=12688&&t<=12703,\"CJK Strokes\":t=>t>=12736&&t<=12783,\"Enclosed CJK Letters and Months\":t=>t>=12800&&t<=13055,\"CJK Compatibility\":t=>t>=13056&&t<=13311,\"Yijing Hexagram Symbols\":t=>t>=19904&&t<=19967,\"Private Use Area\":t=>t>=57344&&t<=63743,\"Vertical Forms\":t=>t>=65040&&t<=65055,\"CJK Compatibility Forms\":t=>t>=65072&&t<=65103,\"Small Form Variants\":t=>t>=65104&&t<=65135,\"Halfwidth and Fullwidth Forms\":t=>t>=65280&&t<=65519};function Pi(t){for(const e of t)if(Ti(e.charCodeAt(0)))return !0;return !1}function Ci(t){for(const e of t)if(!Ei(e.charCodeAt(0)))return !1;return !0}function Bi(t){const e=t.map((t=>{try{return new RegExp(`\\\\p{sc=${t}}`,\"u\").source}catch(t){return null}})).filter((t=>t));return new RegExp(e.join(\"|\"),\"u\")}const Vi=Bi([\"Arab\",\"Dupl\",\"Mong\",\"Ougr\",\"Syrc\"]);function Ei(t){return !Vi.test(String.fromCodePoint(t))}const Fi=Bi([\"Bopo\",\"Hani\",\"Hira\",\"Kana\",\"Kits\",\"Nshu\",\"Tang\",\"Yiii\"]);function Ti(t){return !(746!==t&&747!==t&&(t<4352||!(zi[\"CJK Compatibility Forms\"](t)&&!(t>=65097&&t<=65103)||zi[\"CJK Compatibility\"](t)||zi[\"CJK Strokes\"](t)||!(!zi[\"CJK Symbols and Punctuation\"](t)||t>=12296&&t<=12305||t>=12308&&t<=12319||12336===t)||zi[\"Enclosed CJK Letters and Months\"](t)||zi[\"Ideographic Description Characters\"](t)||zi.Kanbun(t)||zi.Katakana(t)&&12540!==t||!(!zi[\"Halfwidth and Fullwidth Forms\"](t)||65288===t||65289===t||65293===t||t>=65306&&t<=65310||65339===t||65341===t||65343===t||t>=65371&&t<=65503||65507===t||t>=65512&&t<=65519)||!(!zi[\"Small Form Variants\"](t)||t>=65112&&t<=65118||t>=65123&&t<=65126)||zi[\"Vertical Forms\"](t)||zi[\"Yijing Hexagram Symbols\"](t)||/\\p{sc=Cans}/u.test(String.fromCodePoint(t))||/\\p{sc=Hang}/u.test(String.fromCodePoint(t))||Fi.test(String.fromCodePoint(t)))))}function $i(t){return !(Ti(t)||function(t){return !!(zi[\"Latin-1 Supplement\"](t)&&(167===t||169===t||174===t||177===t||188===t||189===t||190===t||215===t||247===t)||zi[\"General Punctuation\"](t)&&(8214===t||8224===t||8225===t||8240===t||8241===t||8251===t||8252===t||8258===t||8263===t||8264===t||8265===t||8273===t)||zi[\"Letterlike Symbols\"](t)||zi[\"Number Forms\"](t)||zi[\"Miscellaneous Technical\"](t)&&(t>=8960&&t<=8967||t>=8972&&t<=8991||t>=8996&&t<=9e3||9003===t||t>=9085&&t<=9114||t>=9150&&t<=9165||9167===t||t>=9169&&t<=9179||t>=9186&&t<=9215)||zi[\"Control Pictures\"](t)&&9251!==t||zi[\"Optical Character Recognition\"](t)||zi[\"Enclosed Alphanumerics\"](t)||zi[\"Geometric Shapes\"](t)||zi[\"Miscellaneous Symbols\"](t)&&!(t>=9754&&t<=9759)||zi[\"Miscellaneous Symbols and Arrows\"](t)&&(t>=11026&&t<=11055||t>=11088&&t<=11097||t>=11192&&t<=11243)||zi[\"CJK Symbols and Punctuation\"](t)||zi.Katakana(t)||zi[\"Private Use Area\"](t)||zi[\"CJK Compatibility Forms\"](t)||zi[\"Small Form Variants\"](t)||zi[\"Halfwidth and Fullwidth Forms\"](t)||8734===t||8756===t||8757===t||t>=9984&&t<=10087||t>=10102&&t<=10131||65532===t||65533===t)}(t))}const Li=Bi([\"Adlm\",\"Arab\",\"Armi\",\"Avst\",\"Chrs\",\"Cprt\",\"Egyp\",\"Elym\",\"Gara\",\"Hatr\",\"Hebr\",\"Hung\",\"Khar\",\"Lydi\",\"Mand\",\"Mani\",\"Mend\",\"Merc\",\"Mero\",\"Narb\",\"Nbat\",\"Nkoo\",\"Orkh\",\"Palm\",\"Phli\",\"Phlp\",\"Phnx\",\"Prti\",\"Rohg\",\"Samr\",\"Sarb\",\"Sogo\",\"Syrc\",\"Thaa\",\"Todr\",\"Yezi\"]);function Di(t){return Li.test(String.fromCodePoint(t))}function Oi(t,e){return !(!e&&Di(t)||t>=2304&&t<=3583||t>=3840&&t<=4255||zi.Khmer(t))}function ji(t){for(const e of t)if(Di(e.charCodeAt(0)))return !0;return !1}const Ri=new class{constructor(){this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus=\"unavailable\",this.pluginURL=null;}setState(t){this.pluginStatus=t.pluginStatus,this.pluginURL=t.pluginURL;}getState(){return {pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(t){this.applyArabicShaping=t.applyArabicShaping,this.processBidirectionalText=t.processBidirectionalText,this.processStyledBidirectionalText=t.processStyledBidirectionalText;}isParsed(){return null!=this.applyArabicShaping&&null!=this.processBidirectionalText&&null!=this.processStyledBidirectionalText}getPluginURL(){return this.pluginURL}getRTLTextPluginStatus(){return this.pluginStatus}};class Ui{constructor(t,e){this.zoom=t,e?(this.now=e.now,this.fadeDuration=e.fadeDuration,this.zoomHistory=e.zoomHistory,this.transition=e.transition):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Ii,this.transition={});}isSupportedScript(t){return function(t,e){for(const r of t)if(!Oi(r.charCodeAt(0),e))return !1;return !0}(t,\"loaded\"===Ri.getRTLTextPluginStatus())}crossFadingFactor(){return 0===this.fadeDuration?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){const t=this.zoom,e=t-Math.floor(t),r=this.crossFadingFactor();return t>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:e+(1-e)*r}:{fromScale:.5,toScale:1,t:1-(1-r)*e}}}class qi{constructor(t,e){this.property=t,this.value=e,this.expression=function(t,e){if(cn(t))return new Sn(t,e);if(vn(t)){const r=An(t,e);if(\"error\"===r.result)throw new Error(r.value.map((t=>`${t.key}: ${t.message}`)).join(\", \"));return r.value}{let r=t;return \"color\"===e.type&&\"string\"==typeof t?r=Kt.parse(t):\"padding\"!==e.type||\"number\"!=typeof t&&!Array.isArray(t)?\"variableAnchorOffsetCollection\"===e.type&&Array.isArray(t)&&(r=Qt.parse(t)):r=Jt.parse(t),{kind:\"constant\",evaluate:()=>r}}}(void 0===e?t.specification.default:e,t.specification);}isDataDriven(){return \"source\"===this.expression.kind||\"composite\"===this.expression.kind}possiblyEvaluate(t,e,r){return this.property.possiblyEvaluate(this,t,e,r)}}class Ni{constructor(t){this.property=t,this.value=new qi(t,void 0);}transitioned(t,e){return new Gi(this.property,this.value,e,g({},t.transition,this.transition),t.now)}untransitioned(){return new Gi(this.property,this.value,null,{},0)}}class Zi{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitionablePropertyValues);}getValue(t){return w(this._values[t].value.value)}setValue(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Ni(this._values[t].property)),this._values[t].value=new qi(this._values[t].property,null===e?void 0:w(e));}getTransition(t){return w(this._values[t].transition)}setTransition(t,e){Object.prototype.hasOwnProperty.call(this._values,t)||(this._values[t]=new Ni(this._values[t].property)),this._values[t].transition=w(e)||void 0;}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);const n=this.getTransition(e);void 0!==n&&(t[`${e}-transition`]=n);}return t}transitioned(t,e){const r=new Ki(this._properties);for(const n of Object.keys(this._values))r._values[n]=this._values[n].transitioned(t,e._values[n]);return r}untransitioned(){const t=new Ki(this._properties);for(const e of Object.keys(this._values))t._values[e]=this._values[e].untransitioned();return t}}class Gi{constructor(t,e,r,n,i){this.property=t,this.value=e,this.begin=i+n.delay||0,this.end=this.begin+n.duration||0,t.specification.transition&&(n.delay||n.duration)&&(this.prior=r);}possiblyEvaluate(t,e,r){const n=t.now||0,i=this.value.possiblyEvaluate(t,e,r),s=this.prior;if(s){if(n>this.end)return this.prior=null,i;if(this.value.isDataDriven())return this.prior=null,i;if(n=1)return 1;const e=t*t,r=e*t;return 4*(t<.5?r:3*(t-e)+r-.75)}(a))}}return i}}class Ki{constructor(t){this._properties=t,this._values=Object.create(t.defaultTransitioningPropertyValues);}possiblyEvaluate(t,e,r){const n=new Yi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}hasTransition(){for(const t of Object.keys(this._values))if(this._values[t].prior)return !0;return !1}}class Xi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPropertyValues);}hasValue(t){return void 0!==this._values[t].value}getValue(t){return w(this._values[t].value)}setValue(t,e){this._values[t]=new qi(this._values[t].property,null===e?void 0:w(e));}serialize(){const t={};for(const e of Object.keys(this._values)){const r=this.getValue(e);void 0!==r&&(t[e]=r);}return t}possiblyEvaluate(t,e,r){const n=new Yi(this._properties);for(const i of Object.keys(this._values))n._values[i]=this._values[i].possiblyEvaluate(t,e,r);return n}}class Hi{constructor(t,e,r){this.property=t,this.value=e,this.parameters=r;}isConstant(){return \"constant\"===this.value.kind}constantOr(t){return \"constant\"===this.value.kind?this.value.value:t}evaluate(t,e,r,n){return this.property.evaluate(this.value,this.parameters,t,e,r,n)}}class Yi{constructor(t){this._properties=t,this._values=Object.create(t.defaultPossiblyEvaluatedValues);}get(t){return this._values[t]}}class Ji{constructor(t){this.specification=t;}possiblyEvaluate(t,e){if(t.isDataDriven())throw new Error(\"Value should not be data driven\");return t.expression.evaluate(e)}interpolate(t,e,r){const n=Ce[this.specification.type];return n?n(t,e,r):t}}class Wi{constructor(t,e){this.specification=t,this.overrides=e;}possiblyEvaluate(t,e,r,n){return new Hi(this,\"constant\"===t.expression.kind||\"camera\"===t.expression.kind?{kind:\"constant\",value:t.expression.evaluate(e,null,{},r,n)}:t.expression,e)}interpolate(t,e,r){if(\"constant\"!==t.value.kind||\"constant\"!==e.value.kind)return t;if(void 0===t.value.value||void 0===e.value.value)return new Hi(this,{kind:\"constant\",value:void 0},t.parameters);const n=Ce[this.specification.type];if(n){const i=n(t.value.value,e.value.value,r);return new Hi(this,{kind:\"constant\",value:i},t.parameters)}return t}evaluate(t,e,r,n,i,s){return \"constant\"===t.kind?t.value:t.evaluate(e,r,n,i,s)}}class Qi extends Wi{possiblyEvaluate(t,e,r,n){if(void 0===t.value)return new Hi(this,{kind:\"constant\",value:void 0},e);if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n),s=\"resolvedImage\"===t.property.specification.type&&\"string\"!=typeof i?i.name:i,a=this._calculate(s,s,s,e);return new Hi(this,{kind:\"constant\",value:a},e)}if(\"camera\"===t.expression.kind){const r=this._calculate(t.expression.evaluate({zoom:e.zoom-1}),t.expression.evaluate({zoom:e.zoom}),t.expression.evaluate({zoom:e.zoom+1}),e);return new Hi(this,{kind:\"constant\",value:r},e)}return new Hi(this,t.expression,e)}evaluate(t,e,r,n,i,s){if(\"source\"===t.kind){const a=t.evaluate(e,r,n,i,s);return this._calculate(a,a,a,e)}return \"composite\"===t.kind?this._calculate(t.evaluate({zoom:Math.floor(e.zoom)-1},r,n),t.evaluate({zoom:Math.floor(e.zoom)},r,n),t.evaluate({zoom:Math.floor(e.zoom)+1},r,n),e):t.value}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class ts{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){if(void 0!==t.value){if(\"constant\"===t.expression.kind){const i=t.expression.evaluate(e,null,{},r,n);return this._calculate(i,i,i,e)}return this._calculate(t.expression.evaluate(new Ui(Math.floor(e.zoom-1),e)),t.expression.evaluate(new Ui(Math.floor(e.zoom),e)),t.expression.evaluate(new Ui(Math.floor(e.zoom+1),e)),e)}}_calculate(t,e,r,n){return n.zoom>n.zoomHistory.lastIntegerZoom?{from:t,to:e}:{from:r,to:e}}interpolate(t){return t}}class es{constructor(t){this.specification=t;}possiblyEvaluate(t,e,r,n){return !!t.expression.evaluate(e,null,{},r,n)}interpolate(){return !1}}class rs{constructor(t){this.properties=t,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(const e in t){const r=t[e];r.specification.overridable&&this.overridableProperties.push(e);const n=this.defaultPropertyValues[e]=new qi(r,void 0),i=this.defaultTransitionablePropertyValues[e]=new Ni(r);this.defaultTransitioningPropertyValues[e]=i.untransitioned(),this.defaultPossiblyEvaluatedValues[e]=n.possiblyEvaluate({});}}}wi(\"DataDrivenProperty\",Wi),wi(\"DataConstantProperty\",Ji),wi(\"CrossFadedDataDrivenProperty\",Qi),wi(\"CrossFadedProperty\",ts),wi(\"ColorRampProperty\",es);const ns=\"-transition\";class is extends Z{constructor(t,e){if(super(),this.id=t.id,this.type=t.type,this._featureFilter={filter:()=>!0,needGeometry:!1},\"custom\"!==t.type&&(this.metadata=t.metadata,this.minzoom=t.minzoom,this.maxzoom=t.maxzoom,\"background\"!==t.type&&(this.source=t.source,this.sourceLayer=t[\"source-layer\"],this.filter=t.filter),e.layout&&(this._unevaluatedLayout=new Xi(e.layout)),e.paint)){this._transitionablePaint=new Zi(e.paint);for(const e in t.paint)this.setPaintProperty(e,t.paint[e],{validate:!1});for(const e in t.layout)this.setLayoutProperty(e,t.layout[e],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new Yi(e.paint);}}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(t){return \"visibility\"===t?this.visibility:this._unevaluatedLayout.getValue(t)}setLayoutProperty(t,e,r={}){null!=e&&this._validate(gi,`layers.${this.id}.layout.${t}`,t,e,r)||(\"visibility\"!==t?this._unevaluatedLayout.setValue(t,e):this.visibility=e);}getPaintProperty(t){return t.endsWith(ns)?this._transitionablePaint.getTransition(t.slice(0,-11)):this._transitionablePaint.getValue(t)}setPaintProperty(t,e,r={}){if(null!=e&&this._validate(mi,`layers.${this.id}.paint.${t}`,t,e,r))return !1;if(t.endsWith(ns))return this._transitionablePaint.setTransition(t.slice(0,-11),e||void 0),!1;{const r=this._transitionablePaint._values[t],n=\"cross-faded-data-driven\"===r.property.specification[\"property-type\"],i=r.value.isDataDriven(),s=r.value;this._transitionablePaint.setValue(t,e),this._handleSpecialPaintPropertyUpdate(t);const a=this._transitionablePaint._values[t].value;return a.isDataDriven()||i||n||this._handleOverridablePaintPropertyUpdate(t,s,a)}}_handleSpecialPaintPropertyUpdate(t){}_handleOverridablePaintPropertyUpdate(t,e,r){return !1}isHidden(t){return !!(this.minzoom&&t=this.maxzoom)||\"none\"===this.visibility}updateTransitions(t){this._transitioningPaint=this._transitionablePaint.transitioned(t,this._transitioningPaint);}hasTransition(){return this._transitioningPaint.hasTransition()}recalculate(t,e){t.getCrossfadeParameters&&(this._crossfadeParameters=t.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(t,void 0,e)),this.paint=this._transitioningPaint.possiblyEvaluate(t,void 0,e);}serialize(){const t={id:this.id,type:this.type,source:this.source,\"source-layer\":this.sourceLayer,metadata:this.metadata,minzoom:this.minzoom,maxzoom:this.maxzoom,filter:this.filter,layout:this._unevaluatedLayout&&this._unevaluatedLayout.serialize(),paint:this._transitionablePaint&&this._transitionablePaint.serialize()};return this.visibility&&(t.layout=t.layout||{},t.layout.visibility=this.visibility),b(t,((t,e)=>!(void 0===t||\"layout\"===e&&!Object.keys(t).length||\"paint\"===e&&!Object.keys(t).length)))}_validate(t,e,r,n,i={}){return (!i||!1!==i.validate)&&xi(this,t.call(fi,{key:e,layerType:this.type,objectKey:r,value:n,styleSpec:G,style:{glyphs:!0,sprite:!0}}))}is3D(){return !1}isTileClipped(){return !1}hasOffscreenPass(){return !1}resize(){}isStateDependent(){for(const t in this.paint._values){const e=this.paint.get(t);if(e instanceof Hi&&an(e.property.specification)&&(\"source\"===e.value.kind||\"composite\"===e.value.kind)&&e.value.isStateDependent)return !0}return !1}}const ss={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class as{constructor(t,e){this._structArray=t,this._pos1=e*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8;}}class os{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0);}static serialize(t,e){return t._trim(),e&&(t.isTransferred=!0,e.push(t.arrayBuffer)),{length:t.length,arrayBuffer:t.arrayBuffer}}static deserialize(t){const e=Object.create(this.prototype);return e.arrayBuffer=t.arrayBuffer,e.length=t.length,e.capacity=t.arrayBuffer.byteLength/e.bytesPerElement,e._refreshViews(),e}_trim(){this.length!==this.capacity&&(this.capacity=this.length,this.arrayBuffer=this.arrayBuffer.slice(0,this.length*this.bytesPerElement),this._refreshViews());}clear(){this.length=0;}resize(t){this.reserve(t),this.length=t;}reserve(t){if(t>this.capacity){this.capacity=Math.max(t,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);const e=this.uint8;this._refreshViews(),e&&this.uint8.set(e);}}_refreshViews(){throw new Error(\"_refreshViews() must be implemented by each concrete StructArray layout\")}}function ls(t,e=1){let r=0,n=0;return {members:t.map((t=>{const i=ss[t.type].BYTES_PER_ELEMENT,s=r=us(r,Math.max(e,i)),a=t.components||1;return n=Math.max(n,i),r+=i*a,{name:t.name,type:t.type,components:a,offset:s}})),size:us(r,Math.max(n,e)),alignment:e}}function us(t,e){return Math.ceil(t/e)*e}class cs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.int16[n+0]=e,this.int16[n+1]=r,t}}cs.prototype.bytesPerElement=4,wi(\"StructArrayLayout2i4\",cs);class hs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.int16[i+0]=e,this.int16[i+1]=r,this.int16[i+2]=n,t}}hs.prototype.bytesPerElement=6,wi(\"StructArrayLayout3i6\",hs);class ps extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.int16[s+0]=e,this.int16[s+1]=r,this.int16[s+2]=n,this.int16[s+3]=i,t}}ps.prototype.bytesPerElement=8,wi(\"StructArrayLayout4i8\",ps);class fs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=s,this.int16[o+5]=a,t}}fs.prototype.bytesPerElement=12,wi(\"StructArrayLayout2i4i12\",fs);class ds extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=4*t,l=8*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.uint8[l+4]=n,this.uint8[l+5]=i,this.uint8[l+6]=s,this.uint8[l+7]=a,t}}ds.prototype.bytesPerElement=8,wi(\"StructArrayLayout2i4ub8\",ds);class ys extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.float32[n+0]=e,this.float32[n+1]=r,t}}ys.prototype.bytesPerElement=8,wi(\"StructArrayLayout2f8\",ys);class ms extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u){const c=this.length;return this.resize(c+1),this.emplace(c,t,e,r,n,i,s,a,o,l,u)}emplace(t,e,r,n,i,s,a,o,l,u,c){const h=10*t;return this.uint16[h+0]=e,this.uint16[h+1]=r,this.uint16[h+2]=n,this.uint16[h+3]=i,this.uint16[h+4]=s,this.uint16[h+5]=a,this.uint16[h+6]=o,this.uint16[h+7]=l,this.uint16[h+8]=u,this.uint16[h+9]=c,t}}ms.prototype.bytesPerElement=20,wi(\"StructArrayLayout10ui20\",ms);class gs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h){const p=this.length;return this.resize(p+1),this.emplace(p,t,e,r,n,i,s,a,o,l,u,c,h)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p){const f=12*t;return this.int16[f+0]=e,this.int16[f+1]=r,this.int16[f+2]=n,this.int16[f+3]=i,this.uint16[f+4]=s,this.uint16[f+5]=a,this.uint16[f+6]=o,this.uint16[f+7]=l,this.int16[f+8]=u,this.int16[f+9]=c,this.int16[f+10]=h,this.int16[f+11]=p,t}}gs.prototype.bytesPerElement=24,wi(\"StructArrayLayout4i4ui4i24\",gs);class xs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.float32[i+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}xs.prototype.bytesPerElement=12,wi(\"StructArrayLayout3f12\",xs);class vs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint32[1*t+0]=e,t}}vs.prototype.bytesPerElement=4,wi(\"StructArrayLayout1ul4\",vs);class bs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l){const u=this.length;return this.resize(u+1),this.emplace(u,t,e,r,n,i,s,a,o,l)}emplace(t,e,r,n,i,s,a,o,l,u){const c=10*t,h=5*t;return this.int16[c+0]=e,this.int16[c+1]=r,this.int16[c+2]=n,this.int16[c+3]=i,this.int16[c+4]=s,this.int16[c+5]=a,this.uint32[h+3]=o,this.uint16[c+8]=l,this.uint16[c+9]=u,t}}bs.prototype.bytesPerElement=20,wi(\"StructArrayLayout6i1ul2ui20\",bs);class ws extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=6*t;return this.int16[o+0]=e,this.int16[o+1]=r,this.int16[o+2]=n,this.int16[o+3]=i,this.int16[o+4]=s,this.int16[o+5]=a,t}}ws.prototype.bytesPerElement=12,wi(\"StructArrayLayout2i2i2i12\",ws);class _s extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i){const s=this.length;return this.resize(s+1),this.emplace(s,t,e,r,n,i)}emplace(t,e,r,n,i,s){const a=4*t,o=8*t;return this.float32[a+0]=e,this.float32[a+1]=r,this.float32[a+2]=n,this.int16[o+6]=i,this.int16[o+7]=s,t}}_s.prototype.bytesPerElement=16,wi(\"StructArrayLayout2f1f2i16\",_s);class As extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s){const a=this.length;return this.resize(a+1),this.emplace(a,t,e,r,n,i,s)}emplace(t,e,r,n,i,s,a){const o=16*t,l=4*t,u=8*t;return this.uint8[o+0]=e,this.uint8[o+1]=r,this.float32[l+1]=n,this.float32[l+2]=i,this.int16[u+6]=s,this.int16[u+7]=a,t}}As.prototype.bytesPerElement=16,wi(\"StructArrayLayout2ub2f2i16\",As);class Ss extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[i+0]=e,this.uint16[i+1]=r,this.uint16[i+2]=n,t}}Ss.prototype.bytesPerElement=6,wi(\"StructArrayLayout3ui6\",Ss);class ks extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m){const g=this.length;return this.resize(g+1),this.emplace(g,t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g){const x=24*t,v=12*t,b=48*t;return this.int16[x+0]=e,this.int16[x+1]=r,this.uint16[x+2]=n,this.uint16[x+3]=i,this.uint32[v+2]=s,this.uint32[v+3]=a,this.uint32[v+4]=o,this.uint16[x+10]=l,this.uint16[x+11]=u,this.uint16[x+12]=c,this.float32[v+7]=h,this.float32[v+8]=p,this.uint8[b+36]=f,this.uint8[b+37]=d,this.uint8[b+38]=y,this.uint32[v+10]=m,this.int16[x+22]=g,t}}ks.prototype.bytesPerElement=48,wi(\"StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48\",ks);class Ms extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I){const z=this.length;return this.resize(z+1),this.emplace(z,t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I)}emplace(t,e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,A,S,k,M,I,z){const P=32*t,C=16*t;return this.int16[P+0]=e,this.int16[P+1]=r,this.int16[P+2]=n,this.int16[P+3]=i,this.int16[P+4]=s,this.int16[P+5]=a,this.int16[P+6]=o,this.int16[P+7]=l,this.uint16[P+8]=u,this.uint16[P+9]=c,this.uint16[P+10]=h,this.uint16[P+11]=p,this.uint16[P+12]=f,this.uint16[P+13]=d,this.uint16[P+14]=y,this.uint16[P+15]=m,this.uint16[P+16]=g,this.uint16[P+17]=x,this.uint16[P+18]=v,this.uint16[P+19]=b,this.uint16[P+20]=w,this.uint16[P+21]=_,this.uint16[P+22]=A,this.uint32[C+12]=S,this.float32[C+13]=k,this.float32[C+14]=M,this.uint16[P+30]=I,this.uint16[P+31]=z,t}}Ms.prototype.bytesPerElement=64,wi(\"StructArrayLayout8i15ui1ul2f2ui64\",Ms);class Is extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.float32[1*t+0]=e,t}}Is.prototype.bytesPerElement=4,wi(\"StructArrayLayout1f4\",Is);class zs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=3*t;return this.uint16[6*t+0]=e,this.float32[i+1]=r,this.float32[i+2]=n,t}}zs.prototype.bytesPerElement=12,wi(\"StructArrayLayout1ui2f12\",zs);class Ps extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e,r){const n=this.length;return this.resize(n+1),this.emplace(n,t,e,r)}emplace(t,e,r,n){const i=4*t;return this.uint32[2*t+0]=e,this.uint16[i+2]=r,this.uint16[i+3]=n,t}}Ps.prototype.bytesPerElement=8,wi(\"StructArrayLayout1ul2ui8\",Ps);class Cs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t,e){const r=this.length;return this.resize(r+1),this.emplace(r,t,e)}emplace(t,e,r){const n=2*t;return this.uint16[n+0]=e,this.uint16[n+1]=r,t}}Cs.prototype.bytesPerElement=4,wi(\"StructArrayLayout2ui4\",Cs);class Bs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer);}emplaceBack(t){const e=this.length;return this.resize(e+1),this.emplace(e,t)}emplace(t,e){return this.uint16[1*t+0]=e,t}}Bs.prototype.bytesPerElement=2,wi(\"StructArrayLayout1ui2\",Bs);class Vs extends os{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer);}emplaceBack(t,e,r,n){const i=this.length;return this.resize(i+1),this.emplace(i,t,e,r,n)}emplace(t,e,r,n,i){const s=4*t;return this.float32[s+0]=e,this.float32[s+1]=r,this.float32[s+2]=n,this.float32[s+3]=i,t}}Vs.prototype.bytesPerElement=16,wi(\"StructArrayLayout4f16\",Vs);class Es extends as{get anchorPointX(){return this._structArray.int16[this._pos2+0]}get anchorPointY(){return this._structArray.int16[this._pos2+1]}get x1(){return this._structArray.int16[this._pos2+2]}get y1(){return this._structArray.int16[this._pos2+3]}get x2(){return this._structArray.int16[this._pos2+4]}get y2(){return this._structArray.int16[this._pos2+5]}get featureIndex(){return this._structArray.uint32[this._pos4+3]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+8]}get bucketIndex(){return this._structArray.uint16[this._pos2+9]}get anchorPoint(){return new s(this.anchorPointX,this.anchorPointY)}}Es.prototype.size=20;class Fs extends bs{get(t){return new Es(this,t)}}wi(\"CollisionBoxArray\",Fs);class Ts extends as{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get glyphStartIndex(){return this._structArray.uint16[this._pos2+2]}get numGlyphs(){return this._structArray.uint16[this._pos2+3]}get vertexStartIndex(){return this._structArray.uint32[this._pos4+2]}get lineStartIndex(){return this._structArray.uint32[this._pos4+3]}get lineLength(){return this._structArray.uint32[this._pos4+4]}get segment(){return this._structArray.uint16[this._pos2+10]}get lowerSize(){return this._structArray.uint16[this._pos2+11]}get upperSize(){return this._structArray.uint16[this._pos2+12]}get lineOffsetX(){return this._structArray.float32[this._pos4+7]}get lineOffsetY(){return this._structArray.float32[this._pos4+8]}get writingMode(){return this._structArray.uint8[this._pos1+36]}get placedOrientation(){return this._structArray.uint8[this._pos1+37]}set placedOrientation(t){this._structArray.uint8[this._pos1+37]=t;}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(t){this._structArray.uint8[this._pos1+38]=t;}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(t){this._structArray.uint32[this._pos4+10]=t;}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}Ts.prototype.size=48;class $s extends ks{get(t){return new Ts(this,t)}}wi(\"PlacedSymbolArray\",$s);class Ls extends as{get anchorX(){return this._structArray.int16[this._pos2+0]}get anchorY(){return this._structArray.int16[this._pos2+1]}get rightJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+2]}get centerJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+3]}get leftJustifiedTextSymbolIndex(){return this._structArray.int16[this._pos2+4]}get verticalPlacedTextSymbolIndex(){return this._structArray.int16[this._pos2+5]}get placedIconSymbolIndex(){return this._structArray.int16[this._pos2+6]}get verticalPlacedIconSymbolIndex(){return this._structArray.int16[this._pos2+7]}get key(){return this._structArray.uint16[this._pos2+8]}get textBoxStartIndex(){return this._structArray.uint16[this._pos2+9]}get textBoxEndIndex(){return this._structArray.uint16[this._pos2+10]}get verticalTextBoxStartIndex(){return this._structArray.uint16[this._pos2+11]}get verticalTextBoxEndIndex(){return this._structArray.uint16[this._pos2+12]}get iconBoxStartIndex(){return this._structArray.uint16[this._pos2+13]}get iconBoxEndIndex(){return this._structArray.uint16[this._pos2+14]}get verticalIconBoxStartIndex(){return this._structArray.uint16[this._pos2+15]}get verticalIconBoxEndIndex(){return this._structArray.uint16[this._pos2+16]}get featureIndex(){return this._structArray.uint16[this._pos2+17]}get numHorizontalGlyphVertices(){return this._structArray.uint16[this._pos2+18]}get numVerticalGlyphVertices(){return this._structArray.uint16[this._pos2+19]}get numIconVertices(){return this._structArray.uint16[this._pos2+20]}get numVerticalIconVertices(){return this._structArray.uint16[this._pos2+21]}get useRuntimeCollisionCircles(){return this._structArray.uint16[this._pos2+22]}get crossTileID(){return this._structArray.uint32[this._pos4+12]}set crossTileID(t){this._structArray.uint32[this._pos4+12]=t;}get textBoxScale(){return this._structArray.float32[this._pos4+13]}get collisionCircleDiameter(){return this._structArray.float32[this._pos4+14]}get textAnchorOffsetStartIndex(){return this._structArray.uint16[this._pos2+30]}get textAnchorOffsetEndIndex(){return this._structArray.uint16[this._pos2+31]}}Ls.prototype.size=64;class Ds extends Ms{get(t){return new Ls(this,t)}}wi(\"SymbolInstanceArray\",Ds);class Os extends Is{getoffsetX(t){return this.float32[1*t+0]}}wi(\"GlyphOffsetArray\",Os);class js extends hs{getx(t){return this.int16[3*t+0]}gety(t){return this.int16[3*t+1]}gettileUnitDistanceFromAnchor(t){return this.int16[3*t+2]}}wi(\"SymbolLineVertexArray\",js);class Rs extends as{get textAnchor(){return this._structArray.uint16[this._pos2+0]}get textOffset0(){return this._structArray.float32[this._pos4+1]}get textOffset1(){return this._structArray.float32[this._pos4+2]}}Rs.prototype.size=12;class Us extends zs{get(t){return new Rs(this,t)}}wi(\"TextAnchorOffsetArray\",Us);class qs extends as{get featureIndex(){return this._structArray.uint32[this._pos4+0]}get sourceLayerIndex(){return this._structArray.uint16[this._pos2+2]}get bucketIndex(){return this._structArray.uint16[this._pos2+3]}}qs.prototype.size=8;class Ns extends Ps{get(t){return new qs(this,t)}}wi(\"FeatureIndexArray\",Ns);class Zs extends cs{}class Gs extends cs{}class Ks extends cs{}class Xs extends fs{}class Hs extends ds{}class Ys extends ys{}class Js extends ms{}class Ws extends gs{}class Qs extends xs{}class ta extends vs{}class ea extends ws{}class ra extends As{}class na extends Ss{}class ia extends Cs{}const sa=ls([{name:\"a_pos\",components:2,type:\"Int16\"}],4),{members:aa}=sa;class oa{constructor(t=[]){this.segments=t;}prepareSegment(t,e,r,n){let i=this.segments[this.segments.length-1];return t>oa.MAX_VERTEX_ARRAY_LENGTH&&A(`Max vertices per segment is ${oa.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${t}`),(!i||i.vertexLength+t>oa.MAX_VERTEX_ARRAY_LENGTH||i.sortKey!==n)&&(i={vertexOffset:e.length,primitiveOffset:r.length,vertexLength:0,primitiveLength:0},void 0!==n&&(i.sortKey=n),this.segments.push(i)),i}get(){return this.segments}destroy(){for(const t of this.segments)for(const e in t.vaos)t.vaos[e].destroy();}static simpleSegment(t,e,r,n){return new oa([{vertexOffset:t,primitiveOffset:e,vertexLength:r,primitiveLength:n,vaos:{},sortKey:0}])}}function la(t,e){return 256*(t=y(Math.floor(t),0,255))+y(Math.floor(e),0,255)}oa.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,wi(\"SegmentVector\",oa);const ua=ls([{name:\"a_pattern_from\",components:4,type:\"Uint16\"},{name:\"a_pattern_to\",components:4,type:\"Uint16\"},{name:\"a_pixel_ratio_from\",components:1,type:\"Uint16\"},{name:\"a_pixel_ratio_to\",components:1,type:\"Uint16\"}]);var ca={exports:{}},ha={exports:{}};ha.exports=function(t,e){var r,n,i,s,a,o,l,u;for(n=t.length-(r=3&t.length),i=e,a=3432918353,o=461845907,u=0;u>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295)<<13|i>>>19))+((5*(i>>>16)&65535)<<16)&4294967295))+((58964+(s>>>16)&65535)<<16);switch(l=0,r){case 3:l^=(255&t.charCodeAt(u+2))<<16;case 2:l^=(255&t.charCodeAt(u+1))<<8;case 1:i^=l=(65535&(l=(l=(65535&(l^=255&t.charCodeAt(u)))*a+(((l>>>16)*a&65535)<<16)&4294967295)<<15|l>>>17))*o+(((l>>>16)*o&65535)<<16)&4294967295;}return i^=t.length,i=2246822507*(65535&(i^=i>>>16))+((2246822507*(i>>>16)&65535)<<16)&4294967295,i=3266489909*(65535&(i^=i>>>13))+((3266489909*(i>>>16)&65535)<<16)&4294967295,(i^=i>>>16)>>>0};var pa=ha.exports,fa={exports:{}};fa.exports=function(t,e){for(var r,n=t.length,i=e^n,s=0;n>=4;)r=1540483477*(65535&(r=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(r>>>16)&65535)<<16),i=1540483477*(65535&i)+((1540483477*(i>>>16)&65535)<<16)^(r=1540483477*(65535&(r^=r>>>24))+((1540483477*(r>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:i^=(255&t.charCodeAt(s+2))<<16;case 2:i^=(255&t.charCodeAt(s+1))<<8;case 1:i=1540483477*(65535&(i^=255&t.charCodeAt(s)))+((1540483477*(i>>>16)&65535)<<16);}return i=1540483477*(65535&(i^=i>>>13))+((1540483477*(i>>>16)&65535)<<16),(i^=i>>>15)>>>0};var da=pa,ya=fa.exports;ca.exports=da,ca.exports.murmur3=da,ca.exports.murmur2=ya;var ma=r(ca.exports);class ga{constructor(){this.ids=[],this.positions=[],this.indexed=!1;}add(t,e,r,n){this.ids.push(xa(t)),this.positions.push(e,r,n);}getPositions(t){if(!this.indexed)throw new Error(\"Trying to get index, but feature positions are not indexed\");const e=xa(t);let r=0,n=this.ids.length-1;for(;r>1;this.ids[t]>=e?n=t:r=t+1;}const i=[];for(;this.ids[r]===e;)i.push({index:this.positions[3*r],start:this.positions[3*r+1],end:this.positions[3*r+2]}),r++;return i}static serialize(t,e){const r=new Float64Array(t.ids),n=new Uint32Array(t.positions);return va(r,n,0,r.length-1),e&&e.push(r.buffer,n.buffer),{ids:r,positions:n}}static deserialize(t){const e=new ga;return e.ids=t.ids,e.positions=t.positions,e.indexed=!0,e}}function xa(t){const e=+t;return !isNaN(e)&&e<=Number.MAX_SAFE_INTEGER?e:ma(String(t))}function va(t,e,r,n){for(;r>1];let s=r-1,a=n+1;for(;;){do{s++;}while(t[s]i);if(s>=a)break;ba(t,s,a),ba(e,3*s,3*a),ba(e,3*s+1,3*a+1),ba(e,3*s+2,3*a+2);}a-r`u_${t}`)),this.type=r;}setUniform(t,e,r){t.set(r.constantOr(this.value));}getBinding(t,e,r){return \"color\"===this.type?new Sa(t,e):new _a(t,e)}}class za{constructor(t,e){this.uniformNames=e.map((t=>`u_${t}`)),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1;}setConstantPatternPositions(t,e){this.pixelRatioFrom=e.pixelRatio,this.pixelRatioTo=t.pixelRatio,this.patternFrom=e.tlbr,this.patternTo=t.tlbr;}setUniform(t,e,r,n){const i=\"u_pattern_to\"===n?this.patternTo:\"u_pattern_from\"===n?this.patternFrom:\"u_pixel_ratio_to\"===n?this.pixelRatioTo:\"u_pixel_ratio_from\"===n?this.pixelRatioFrom:null;i&&t.set(i);}getBinding(t,e,r){return \"u_pattern\"===r.substr(0,9)?new Aa(t,e):new _a(t,e)}}class Pa{constructor(t,e,r,n){this.expression=t,this.type=r,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?2:1,offset:0}))),this.paintVertexArray=new n;}populatePaintArray(t,e,r,n,i){const s=this.paintVertexArray.length,a=this.expression.evaluate(new Ui(0),e,{},n,[],i);this.paintVertexArray.resize(t),this._setPaintValue(s,t,a);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:0},r,n);this._setPaintValue(t,e,i);}_setPaintValue(t,e,r){if(\"color\"===this.type){const n=Ma(r);for(let r=t;r`u_${t}_t`)),this.type=r,this.useIntegerZoom=n,this.zoom=i,this.maxValue=0,this.paintVertexAttributes=e.map((t=>({name:`a_${t}`,type:\"Float32\",components:\"color\"===r?4:2,offset:0}))),this.paintVertexArray=new s;}populatePaintArray(t,e,r,n,i){const s=this.expression.evaluate(new Ui(this.zoom),e,{},n,[],i),a=this.expression.evaluate(new Ui(this.zoom+1),e,{},n,[],i),o=this.paintVertexArray.length;this.paintVertexArray.resize(t),this._setPaintValue(o,t,s,a);}updatePaintArray(t,e,r,n){const i=this.expression.evaluate({zoom:this.zoom},r,n),s=this.expression.evaluate({zoom:this.zoom+1},r,n);this._setPaintValue(t,e,i,s);}_setPaintValue(t,e,r,n){if(\"color\"===this.type){const i=Ma(r),s=Ma(n);for(let r=t;r`#define HAS_UNIFORM_${t}`)));}return t}getBinderAttributes(){const t=[];for(const e in this.binders){const r=this.binders[e];if(r instanceof Pa||r instanceof Ca)for(let e=0;e!0)){this.programConfigurations={};for(const n of t)this.programConfigurations[n.id]=new Va(n,e,r);this.needsUpload=!1,this._featureMap=new ga,this._bufferOffset=0;}populatePaintArrays(t,e,r,n,i,s){for(const r in this.programConfigurations)this.programConfigurations[r].populatePaintArrays(t,e,n,i,s);void 0!==e.id&&this._featureMap.add(e.id,r,this._bufferOffset,t),this._bufferOffset=t,this.needsUpload=!0;}updatePaintArrays(t,e,r,n){for(const i of r)this.needsUpload=this.programConfigurations[i.id].updatePaintArrays(t,this._featureMap,e,i,n)||this.needsUpload;}get(t){return this.programConfigurations[t]}upload(t){if(this.needsUpload){for(const e in this.programConfigurations)this.programConfigurations[e].upload(t);this.needsUpload=!1;}}destroy(){for(const t in this.programConfigurations)this.programConfigurations[t].destroy();}}function Fa(t,e){return {\"text-opacity\":[\"opacity\"],\"icon-opacity\":[\"opacity\"],\"text-color\":[\"fill_color\"],\"icon-color\":[\"fill_color\"],\"text-halo-color\":[\"halo_color\"],\"icon-halo-color\":[\"halo_color\"],\"text-halo-blur\":[\"halo_blur\"],\"icon-halo-blur\":[\"halo_blur\"],\"text-halo-width\":[\"halo_width\"],\"icon-halo-width\":[\"halo_width\"],\"line-gap-width\":[\"gapwidth\"],\"line-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"],\"fill-extrusion-pattern\":[\"pattern_to\",\"pattern_from\",\"pixel_ratio_to\",\"pixel_ratio_from\"]}[t]||[t.replace(`${e}-`,\"\").replace(/-/g,\"_\")]}function Ta(t,e,r){const n={color:{source:ys,composite:Vs},number:{source:Is,composite:ys}},i=function(t){return {\"line-pattern\":{source:Js,composite:Js},\"fill-pattern\":{source:Js,composite:Js},\"fill-extrusion-pattern\":{source:Js,composite:Js}}[t]}(t);return i&&i[r]||n[e][r]}wi(\"ConstantBinder\",Ia),wi(\"CrossFadedConstantBinder\",za),wi(\"SourceExpressionBinder\",Pa),wi(\"CrossFadedCompositeBinder\",Ba),wi(\"CompositeExpressionBinder\",Ca),wi(\"ProgramConfiguration\",Va,{omit:[\"_buffers\"]}),wi(\"ProgramConfigurationSet\",Ea);const $a=8192,La=Math.pow(2,14)-1,Da=-La-1;function Oa(t){const e=$a/t.extent,r=t.loadGeometry();for(let t=0;tr.x+1||sr.y+1)&&A(\"Geometry exceeds allowed extent, reduce your vector tile buffer size\");}}return r}function ja(t,e){return {type:t.type,id:t.id,properties:t.properties,geometry:e?Oa(t):[]}}function Ra(t,e,r,n,i){t.emplaceBack(2*e+(n+1)/2,2*r+(i+1)/2);}class Ua{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Gs,this.indexArray=new na,this.segments=new oa,this.programConfigurations=new Ea(t.layers,t.zoom),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){const n=this.layers[0],i=[];let s=null,a=!1;\"circle\"===n.type&&(s=n.layout.get(\"circle-sort-key\"),a=!s.isConstant());for(const{feature:e,id:n,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ja(e,t);if(!this.layers[0]._featureFilter.filter(new Ui(this.zoom),u,r))continue;const c=a?s.evaluate(u,{},r):void 0,h={id:n,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Oa(e),patterns:{},sortKey:c};i.push(h);}a&&i.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of i){const{geometry:i,index:s,sourceLayerIndex:a}=n,o=t[s].feature;this.addFeature(n,i,s,r),e.featureIndex.insert(o,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,aa),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}addFeature(t,e,r,n){for(const r of e)for(const e of r){const r=e.x,n=e.y;if(r<0||r>=$a||n<0||n>=$a)continue;const i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray,t.sortKey),s=i.vertexLength;Ra(this.layoutVertexArray,r,n,-1,-1),Ra(this.layoutVertexArray,r,n,1,-1),Ra(this.layoutVertexArray,r,n,1,1),Ra(this.layoutVertexArray,r,n,-1,1),this.indexArray.emplaceBack(s,s+1,s+2),this.indexArray.emplaceBack(s,s+3,s+2),i.vertexLength+=4,i.primitiveLength+=2;}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,{},n);}}function qa(t,e){for(let r=0;r1){if(Ka(t,e))return !0;for(let n=0;n1?r:r.sub(e)._mult(i)._add(e))}function Ja(t,e){let r,n,i,s=!1;for(let a=0;ae.y!=i.y>e.y&&e.x<(i.x-n.x)*(e.y-n.y)/(i.y-n.y)+n.x&&(s=!s);}return s}function Wa(t,e){let r=!1;for(let n=0,i=t.length-1;ne.y!=a.y>e.y&&e.x<(a.x-s.x)*(e.y-s.y)/(a.y-s.y)+s.x&&(r=!r);}return r}function Qa(t,e,r){const n=r[0],i=r[2];if(t.xi.x&&e.x>i.x||t.yi.y&&e.y>i.y)return !1;const s=S(t,e,r[0]);return s!==S(t,e,r[1])||s!==S(t,e,r[2])||s!==S(t,e,r[3])}function to(t,e,r){const n=e.paint.get(t).value;return \"constant\"===n.kind?n.value:r.programConfigurations.get(e.id).getMaxValue(t)}function eo(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}function ro(t,e,r,n,i){if(!e[0]&&!e[1])return t;const a=s.convert(e)._mult(i);\"viewport\"===r&&a._rotate(-n);const o=[];for(let e=0;eyo(t,e)))}(l,o),p=c?u*a:u;for(const t of n)for(const e of t){const t=c?e:yo(e,o);let r=p;const n=po([],[e.x,e.y,0,1],o);if(\"viewport\"===this.paint.get(\"circle-pitch-scale\")&&\"map\"===this.paint.get(\"circle-pitch-alignment\")?r*=n[3]/s.cameraToCenterDistance:\"map\"===this.paint.get(\"circle-pitch-scale\")&&\"viewport\"===this.paint.get(\"circle-pitch-alignment\")&&(r*=s.cameraToCenterDistance/n[3]),Na(h,t,r))return !0}return !1}}function yo(t,e){const r=po([],[t.x,t.y,0,1],e);return new s(r[0]/r[3],r[1]/r[3])}class mo extends Ua{}let go;wi(\"HeatmapBucket\",mo,{omit:[\"layers\"]});var xo={get paint(){return go=go||new rs({\"heatmap-radius\":new Wi(G.paint_heatmap[\"heatmap-radius\"]),\"heatmap-weight\":new Wi(G.paint_heatmap[\"heatmap-weight\"]),\"heatmap-intensity\":new Ji(G.paint_heatmap[\"heatmap-intensity\"]),\"heatmap-color\":new es(G.paint_heatmap[\"heatmap-color\"]),\"heatmap-opacity\":new Ji(G.paint_heatmap[\"heatmap-opacity\"])})}};function vo(t,{width:e,height:r},n,i){if(i){if(i instanceof Uint8ClampedArray)i=new Uint8Array(i.buffer);else if(i.length!==e*r*n)throw new RangeError(`mismatched image size. expected: ${i.length} but got: ${e*r*n}`)}else i=new Uint8Array(e*r*n);return t.width=e,t.height=r,t.data=i,t}function bo(t,{width:e,height:r},n){if(e===t.width&&r===t.height)return;const i=vo({},{width:e,height:r},n);wo(t,i,{x:0,y:0},{x:0,y:0},{width:Math.min(t.width,e),height:Math.min(t.height,r)},n),t.width=e,t.height=r,t.data=i.data;}function wo(t,e,r,n,i,s){if(0===i.width||0===i.height)return e;if(i.width>t.width||i.height>t.height||r.x>t.width-i.width||r.y>t.height-i.height)throw new RangeError(\"out of range source coordinates for image copy\");if(i.width>e.width||i.height>e.height||n.x>e.width-i.width||n.y>e.height-i.height)throw new RangeError(\"out of range destination coordinates for image copy\");const a=t.data,o=e.data;if(a===o)throw new Error(\"srcData equals dstData, so image is already copied\");for(let l=0;l{e[t.evaluationKey]=s;const a=t.expression.evaluate(e);i.data[r+n+0]=Math.floor(255*a.r/a.a),i.data[r+n+1]=Math.floor(255*a.g/a.a),i.data[r+n+2]=Math.floor(255*a.b/a.a),i.data[r+n+3]=Math.floor(255*a.a);};if(t.clips)for(let e=0,i=0;e80*r){o=1/0,l=1/0;let e=-1/0,n=-1/0;for(let s=r;se&&(e=r),i>n&&(n=i);}u=Math.max(e-o,n-l),u=0!==u?32767/u:0;}return To(s,a,r,o,l,u,0),a}function Eo(t,e,r,n,i){let s;if(i===function(t,e,r,n){let i=0;for(let s=e,a=r-n;s0)for(let i=e;i=e;i-=n)s=tl(i/n|0,t[i],t[i+1],s);return s&&Xo(s,s.next)&&(el(s),s=s.next),s}function Fo(t,e){if(!t)return t;e||(e=t);let r,n=t;do{if(r=!1,n.steiner||!Xo(n,n.next)&&0!==Ko(n.prev,n,n.next))n=n.next;else {if(el(n),n=e=n.prev,n===n.next)break;r=!0;}}while(r||n!==e);return e}function To(t,e,r,n,i,s,a){if(!t)return;!a&&s&&function(t,e,r,n){let i=t;do{0===i.z&&(i.z=qo(i.x,i.y,e,r,n)),i.prevZ=i.prev,i.nextZ=i.next,i=i.next;}while(i!==t);i.prevZ.nextZ=null,i.prevZ=null,function(t){let e,r=1;do{let n,i=t;t=null;let s=null;for(e=0;i;){e++;let a=i,o=0;for(let t=0;t0||l>0&&a;)0!==o&&(0===l||!a||i.z<=a.z)?(n=i,i=i.nextZ,o--):(n=a,a=a.nextZ,l--),s?s.nextZ=n:t=n,n.prevZ=s,s=n;i=a;}s.nextZ=null,r*=2;}while(e>1)}(i);}(t,n,i,s);let o=t;for(;t.prev!==t.next;){const l=t.prev,u=t.next;if(s?Lo(t,n,i,s):$o(t))e.push(l.i,t.i,u.i),el(t),t=u.next,o=u.next;else if((t=u)===o){a?1===a?To(t=Do(Fo(t),e),e,r,n,i,s,2):2===a&&Oo(t,e,r,n,i,s):To(Fo(t),e,r,n,i,s,1);break}}}function $o(t){const e=t.prev,r=t,n=t.next;if(Ko(e,r,n)>=0)return !1;const i=e.x,s=r.x,a=n.x,o=e.y,l=r.y,u=n.y,c=is?i>a?i:a:s>a?s:a,f=o>l?o>u?o:u:l>u?l:u;let d=n.next;for(;d!==e;){if(d.x>=c&&d.x<=p&&d.y>=h&&d.y<=f&&Zo(i,o,s,l,a,u,d.x,d.y)&&Ko(d.prev,d,d.next)>=0)return !1;d=d.next;}return !0}function Lo(t,e,r,n){const i=t.prev,s=t,a=t.next;if(Ko(i,s,a)>=0)return !1;const o=i.x,l=s.x,u=a.x,c=i.y,h=s.y,p=a.y,f=ol?o>u?o:u:l>u?l:u,m=c>h?c>p?c:p:h>p?h:p,g=qo(f,d,e,r,n),x=qo(y,m,e,r,n);let v=t.prevZ,b=t.nextZ;for(;v&&v.z>=g&&b&&b.z<=x;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==a&&Zo(o,c,l,h,u,p,v.x,v.y)&&Ko(v.prev,v,v.next)>=0)return !1;if(v=v.prevZ,b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==a&&Zo(o,c,l,h,u,p,b.x,b.y)&&Ko(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}for(;v&&v.z>=g;){if(v.x>=f&&v.x<=y&&v.y>=d&&v.y<=m&&v!==i&&v!==a&&Zo(o,c,l,h,u,p,v.x,v.y)&&Ko(v.prev,v,v.next)>=0)return !1;v=v.prevZ;}for(;b&&b.z<=x;){if(b.x>=f&&b.x<=y&&b.y>=d&&b.y<=m&&b!==i&&b!==a&&Zo(o,c,l,h,u,p,b.x,b.y)&&Ko(b.prev,b,b.next)>=0)return !1;b=b.nextZ;}return !0}function Do(t,e){let r=t;do{const n=r.prev,i=r.next.next;!Xo(n,i)&&Ho(n,r,r.next,i)&&Wo(n,i)&&Wo(i,n)&&(e.push(n.i,r.i,i.i),el(r),el(r.next),r=t=i),r=r.next;}while(r!==t);return Fo(r)}function Oo(t,e,r,n,i,s){let a=t;do{let t=a.next.next;for(;t!==a.prev;){if(a.i!==t.i&&Go(a,t)){let o=Qo(a,t);return a=Fo(a,a.next),o=Fo(o,o.next),To(a,e,r,n,i,s,0),void To(o,e,r,n,i,s,0)}t=t.next;}a=a.next;}while(a!==t)}function jo(t,e){return t.x-e.x}function Ro(t,e){const r=function(t,e){let r=e;const n=t.x,i=t.y;let s,a=-1/0;do{if(i<=r.y&&i>=r.next.y&&r.next.y!==r.y){const t=r.x+(i-r.y)*(r.next.x-r.x)/(r.next.y-r.y);if(t<=n&&t>a&&(a=t,s=r.x=r.x&&r.x>=l&&n!==r.x&&Zo(is.x||r.x===s.x&&Uo(s,r)))&&(s=r,c=e);}r=r.next;}while(r!==o);return s}(t,e);if(!r)return e;const n=Qo(r,t);return Fo(n,n.next),Fo(r,r.next)}function Uo(t,e){return Ko(t.prev,t,e.prev)<0&&Ko(e.next,t,t.next)<0}function qo(t,e,r,n,i){return (t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=(t-r)*i|0)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=(e-n)*i|0)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function No(t){let e=t,r=t;do{(e.x=(t-a)*(s-o)&&(t-a)*(n-o)>=(r-a)*(e-o)&&(r-a)*(s-o)>=(i-a)*(n-o)}function Go(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){let r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Ho(r,r.next,t,e))return !0;r=r.next;}while(r!==t);return !1}(t,e)&&(Wo(t,e)&&Wo(e,t)&&function(t,e){let r=t,n=!1;const i=(t.x+e.x)/2,s=(t.y+e.y)/2;do{r.y>s!=r.next.y>s&&r.next.y!==r.y&&i<(r.next.x-r.x)*(s-r.y)/(r.next.y-r.y)+r.x&&(n=!n),r=r.next;}while(r!==t);return n}(t,e)&&(Ko(t.prev,t,e.prev)||Ko(t,e.prev,e))||Xo(t,e)&&Ko(t.prev,t,t.next)>0&&Ko(e.prev,e,e.next)>0)}function Ko(t,e,r){return (e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function Xo(t,e){return t.x===e.x&&t.y===e.y}function Ho(t,e,r,n){const i=Jo(Ko(t,e,r)),s=Jo(Ko(t,e,n)),a=Jo(Ko(r,n,t)),o=Jo(Ko(r,n,e));return i!==s&&a!==o||!(0!==i||!Yo(t,r,e))||!(0!==s||!Yo(t,n,e))||!(0!==a||!Yo(r,t,n))||!(0!==o||!Yo(r,e,n))}function Yo(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function Jo(t){return t>0?1:t<0?-1:0}function Wo(t,e){return Ko(t.prev,t,t.next)<0?Ko(t,e,t.next)>=0&&Ko(t,t.prev,e)>=0:Ko(t,e,t.prev)<0||Ko(t,t.next,e)<0}function Qo(t,e){const r=rl(t.i,t.x,t.y),n=rl(e.i,e.x,e.y),i=t.next,s=e.prev;return t.next=e,e.prev=t,r.next=i,i.prev=r,n.next=r,r.prev=n,s.next=n,n.prev=s,n}function tl(t,e,r,n){const i=rl(t,e,r);return n?(i.next=n.next,i.prev=n,n.next.prev=i,n.next=i):(i.prev=i,i.next=i),i}function el(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ);}function rl(t,e,r){return {i:t,x:e,y:r,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function nl(t,e,r){const n=r.patternDependencies;let i=!1;for(const r of e){const e=r.paint.get(`${t}-pattern`);e.isConstant()||(i=!0);const s=e.constantOr(null);s&&(i=!0,n[s.to]=!0,n[s.from]=!0);}return i}function il(t,e,r,n,i){const s=i.patternDependencies;for(const a of e){const e=a.paint.get(`${t}-pattern`).value;if(\"constant\"!==e.kind){let t=e.evaluate({zoom:n-1},r,{},i.availableImages),o=e.evaluate({zoom:n},r,{},i.availableImages),l=e.evaluate({zoom:n+1},r,{},i.availableImages);t=t&&t.name?t.name:t,o=o&&o.name?o.name:o,l=l&&l.name?l.name:l,s[t]=!0,s[o]=!0,s[l]=!0,r.patterns[a.id]={min:t,mid:o,max:l};}}return r}class sl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.layoutVertexArray=new Ks,this.indexArray=new na,this.indexArray2=new ia,this.programConfigurations=new Ea(t.layers,t.zoom),this.segments=new oa,this.segments2=new oa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=nl(\"fill\",this.layers,e);const n=this.layers[0].layout.get(\"fill-sort-key\"),i=!n.isConstant(),s=[];for(const{feature:a,id:o,index:l,sourceLayerIndex:u}of t){const t=this.layers[0]._featureFilter.needGeometry,c=ja(a,t);if(!this.layers[0]._featureFilter.filter(new Ui(this.zoom),c,r))continue;const h=i?n.evaluate(c,{},r,e.availableImages):void 0,p={id:o,properties:a.properties,type:a.type,sourceLayerIndex:u,index:l,geometry:t?c.geometry:Oa(a),patterns:{},sortKey:h};s.push(p);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=il(\"fill\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{});e.featureIndex.insert(t[s].feature,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Bo),this.indexBuffer=t.createIndexBuffer(this.indexArray),this.indexBuffer2=t.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.indexBuffer2.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.segments2.destroy());}addFeature(t,e,r,n,i){for(const t of xr(e,500)){let e=0;for(const r of t)e+=r.length;const r=this.segments.prepareSegment(e,this.layoutVertexArray,this.indexArray),n=r.vertexLength,i=[],s=[];for(const e of t){if(0===e.length)continue;e!==t[0]&&s.push(i.length/2);const r=this.segments2.prepareSegment(e.length,this.layoutVertexArray,this.indexArray2),n=r.vertexLength;this.layoutVertexArray.emplaceBack(e[0].x,e[0].y),this.indexArray2.emplaceBack(n+e.length-1,n),i.push(e[0].x),i.push(e[0].y);for(let t=1;t>3;}if(i--,1===n||2===n)s+=t.readSVarint(),a+=t.readSVarint(),1===n&&(e&&o.push(e),e=[]),e.push(new dl(s,a));else {if(7!==n)throw new Error(\"unknown command \"+n);e&&e.push(e[0].clone());}}return e&&o.push(e),o},ml.prototype.bbox=function(){var t=this._pbf;t.pos=this._geometry;for(var e=t.readVarint()+t.pos,r=1,n=0,i=0,s=0,a=1/0,o=-1/0,l=1/0,u=-1/0;t.pos>3;}if(n--,1===r||2===r)(i+=t.readSVarint())o&&(o=i),(s+=t.readSVarint())u&&(u=s);else if(7!==r)throw new Error(\"unknown command \"+r)}return [a,l,o,u]},ml.prototype.toGeoJSON=function(t,e,r){var n,i,s=this.extent*Math.pow(2,r),a=this.extent*t,o=this.extent*e,l=this.loadGeometry(),u=ml.types[this.type];function c(t){for(var e=0;e>3;e=1===n?t.readString():2===n?t.readFloat():3===n?t.readDouble():4===n?t.readVarint64():5===n?t.readVarint():6===n?t.readSVarint():7===n?t.readBoolean():null;}return e}(r));}wl.prototype.feature=function(t){if(t<0||t>=this._features.length)throw new Error(\"feature index out of bounds\");this._pbf.pos=this._features[t];var e=this._pbf.readVarint()+this._pbf.pos;return new vl(this._pbf,e,this.extent,this._keys,this._values)};var Al=bl;function Sl(t,e,r){if(3===t){var n=new Al(r,r.readVarint()+r.pos);n.length&&(e[n.name]=n);}}fl.VectorTile=function(t,e){this.layers=t.readFields(Sl,{},e);},fl.VectorTileFeature=yl,fl.VectorTileLayer=bl;const kl=fl.VectorTileFeature.types,Ml=Math.pow(2,13);function Il(t,e,r,n,i,s,a,o){t.emplaceBack(e,r,2*Math.floor(n*Ml)+a,i*Ml*2,s*Ml*2,Math.round(o));}class zl{constructor(t){this.zoom=t.zoom,this.overscaling=t.overscaling,this.layers=t.layers,this.layerIds=this.layers.map((t=>t.id)),this.index=t.index,this.hasPattern=!1,this.layoutVertexArray=new Xs,this.centroidVertexArray=new Zs,this.indexArray=new na,this.programConfigurations=new Ea(t.layers,t.zoom),this.segments=new oa,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.features=[],this.hasPattern=nl(\"fill-extrusion\",this.layers,e);for(const{feature:n,id:i,index:s,sourceLayerIndex:a}of t){const t=this.layers[0]._featureFilter.needGeometry,o=ja(n,t);if(!this.layers[0]._featureFilter.filter(new Ui(this.zoom),o,r))continue;const l={id:i,sourceLayerIndex:a,index:s,geometry:t?o.geometry:Oa(n),properties:n.properties,type:n.type,patterns:{}};this.hasPattern?this.features.push(il(\"fill-extrusion\",this.layers,l,this.zoom,e)):this.addFeature(l,l.geometry,s,r,{}),e.featureIndex.insert(n,l.geometry,s,a,this.index,!0);}}addFeatures(t,e,r){for(const t of this.features){const{geometry:n}=t;this.addFeature(t,n,t.index,e,r);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}isEmpty(){return 0===this.layoutVertexArray.length&&0===this.centroidVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,pl),this.centroidVertexBuffer=t.createVertexBuffer(this.centroidVertexArray,hl.members,!0),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy());}addFeature(t,e,r,n,i){for(const r of xr(e,500)){const e={x:0,y:0,vertexCount:0};let n=0;for(const t of r)n+=t.length;let i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray);for(const t of r){if(0===t.length)continue;if(Cl(t))continue;let r=0;for(let n=0;n=1){const a=t[n-1];if(!Pl(s,a)){i.vertexLength+4>oa.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));const t=s.sub(a)._perp()._unit(),n=a.dist(s);r+n>32768&&(r=0),Il(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,0,r),Il(this.layoutVertexArray,s.x,s.y,t.x,t.y,0,1,r),e.x+=2*s.x,e.y+=2*s.y,e.vertexCount+=2,r+=n,Il(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,0,r),Il(this.layoutVertexArray,a.x,a.y,t.x,t.y,0,1,r),e.x+=2*a.x,e.y+=2*a.y,e.vertexCount+=2;const o=i.vertexLength;this.indexArray.emplaceBack(o,o+2,o+1),this.indexArray.emplaceBack(o+1,o+2,o+3),i.vertexLength+=4,i.primitiveLength+=2;}}}}if(i.vertexLength+n>oa.MAX_VERTEX_ARRAY_LENGTH&&(i=this.segments.prepareSegment(n,this.layoutVertexArray,this.indexArray)),\"Polygon\"!==kl[t.type])continue;const s=[],a=[],o=i.vertexLength;for(const t of r)if(0!==t.length){t!==r[0]&&a.push(s.length/2);for(let r=0;r$a)||t.y===e.y&&(t.y<0||t.y>$a)}function Cl(t){return t.every((t=>t.x<0))||t.every((t=>t.x>$a))||t.every((t=>t.y<0))||t.every((t=>t.y>$a))}let Bl;wi(\"FillExtrusionBucket\",zl,{omit:[\"layers\",\"features\"]});var Vl={get paint(){return Bl=Bl||new rs({\"fill-extrusion-opacity\":new Ji(G[\"paint_fill-extrusion\"][\"fill-extrusion-opacity\"]),\"fill-extrusion-color\":new Wi(G[\"paint_fill-extrusion\"][\"fill-extrusion-color\"]),\"fill-extrusion-translate\":new Ji(G[\"paint_fill-extrusion\"][\"fill-extrusion-translate\"]),\"fill-extrusion-translate-anchor\":new Ji(G[\"paint_fill-extrusion\"][\"fill-extrusion-translate-anchor\"]),\"fill-extrusion-pattern\":new Qi(G[\"paint_fill-extrusion\"][\"fill-extrusion-pattern\"]),\"fill-extrusion-height\":new Wi(G[\"paint_fill-extrusion\"][\"fill-extrusion-height\"]),\"fill-extrusion-base\":new Wi(G[\"paint_fill-extrusion\"][\"fill-extrusion-base\"]),\"fill-extrusion-vertical-gradient\":new Ji(G[\"paint_fill-extrusion\"][\"fill-extrusion-vertical-gradient\"])})}};class El extends is{constructor(t){super(t,Vl);}createBucket(t){return new zl(t)}queryRadius(){return eo(this.paint.get(\"fill-extrusion-translate\"))}is3D(){return !0}queryIntersectsFeature(t,e,r,n,i,a,o,l){const u=ro(t,this.paint.get(\"fill-extrusion-translate\"),this.paint.get(\"fill-extrusion-translate-anchor\"),a.angle,o),c=this.paint.get(\"fill-extrusion-height\").evaluate(e,r),h=this.paint.get(\"fill-extrusion-base\").evaluate(e,r),p=function(t,e,r,n){const i=[];for(const r of t){const t=[r.x,r.y,0,1];po(t,t,e),i.push(new s(t[0]/t[3],t[1]/t[3]));}return i}(u,l),f=function(t,e,r,n){const i=[],a=[],o=n[8]*e,l=n[9]*e,u=n[10]*e,c=n[11]*e,h=n[8]*r,p=n[9]*r,f=n[10]*r,d=n[11]*r;for(const e of t){const t=[],r=[];for(const i of e){const e=i.x,a=i.y,y=n[0]*e+n[4]*a+n[12],m=n[1]*e+n[5]*a+n[13],g=n[2]*e+n[6]*a+n[14],x=n[3]*e+n[7]*a+n[15],v=g+u,b=x+c,w=y+h,_=m+p,A=g+f,S=x+d,k=new s((y+o)/b,(m+l)/b);k.z=v/b,t.push(k);const M=new s(w/S,_/S);M.z=A/S,r.push(M);}i.push(t),a.push(r);}return [i,a]}(n,h,c,l);return function(t,e,r){let n=1/0;Za(r,e)&&(n=Tl(r,e[0]));for(let i=0;it.id)),this.index=t.index,this.hasPattern=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={},this.layers.forEach((t=>{this.gradients[t.id]={};})),this.layoutVertexArray=new Hs,this.layoutVertexArray2=new Ys,this.indexArray=new na,this.programConfigurations=new Ea(t.layers,t.zoom),this.segments=new oa,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id));}populate(t,e,r){this.hasPattern=nl(\"line\",this.layers,e);const n=this.layers[0].layout.get(\"line-sort-key\"),i=!n.isConstant(),s=[];for(const{feature:e,id:a,index:o,sourceLayerIndex:l}of t){const t=this.layers[0]._featureFilter.needGeometry,u=ja(e,t);if(!this.layers[0]._featureFilter.filter(new Ui(this.zoom),u,r))continue;const c=i?n.evaluate(u,{},r):void 0,h={id:a,properties:e.properties,type:e.type,sourceLayerIndex:l,index:o,geometry:t?u.geometry:Oa(e),patterns:{},sortKey:c};s.push(h);}i&&s.sort(((t,e)=>t.sortKey-e.sortKey));for(const n of s){const{geometry:i,index:s,sourceLayerIndex:a}=n;if(this.hasPattern){const t=il(\"line\",this.layers,n,this.zoom,e);this.patternFeatures.push(t);}else this.addFeature(n,i,s,r,{});e.featureIndex.insert(t[s].feature,i,s,a,this.index);}}update(t,e,r){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(t,e,this.stateDependentLayers,r);}addFeatures(t,e,r){for(const t of this.patternFeatures)this.addFeature(t,t.geometry,t.index,e,r);}isEmpty(){return 0===this.layoutVertexArray.length}uploadPending(){return !this.uploaded||this.programConfigurations.needsUpload}upload(t){this.uploaded||(0!==this.layoutVertexArray2.length&&(this.layoutVertexBuffer2=t.createVertexBuffer(this.layoutVertexArray2,Ol)),this.layoutVertexBuffer=t.createVertexBuffer(this.layoutVertexArray,Ll),this.indexBuffer=t.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(t),this.uploaded=!0;}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy());}lineFeatureClips(t){if(t.properties&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_start\")&&Object.prototype.hasOwnProperty.call(t.properties,\"mapbox_clip_end\"))return {start:+t.properties.mapbox_clip_start,end:+t.properties.mapbox_clip_end}}addFeature(t,e,r,n,i){const s=this.layers[0].layout,a=s.get(\"line-join\").evaluate(t,{}),o=s.get(\"line-cap\"),l=s.get(\"line-miter-limit\"),u=s.get(\"line-round-limit\");this.lineClips=this.lineFeatureClips(t);for(const r of e)this.addLine(r,t,a,o,l,u);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,t,r,i,n);}addLine(t,e,r,n,i,s){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,this.lineClips){this.lineClipsArray.push(this.lineClips);for(let e=0;e=2&&t[o-1].equals(t[o-2]);)o--;let l=0;for(;l0;if(w&&e>l){const t=h.dist(p);if(t>2*u){const e=h.sub(h.sub(p)._mult(u/t)._round());this.updateDistance(p,e),this.addCurrentVertex(e,d,0,0,c),p=e;}}const A=p&&f;let S=A?r:a?\"butt\":n;if(A&&\"round\"===S&&(vi&&(S=\"bevel\"),\"bevel\"===S&&(v>2&&(S=\"flipbevel\"),v100)m=y.mult(-1);else {const t=v*d.add(y).mag()/d.sub(y).mag();m._perp()._mult(t*(_?-1:1));}this.addCurrentVertex(h,m,0,0,c),this.addCurrentVertex(h,m.mult(-1),0,0,c);}else if(\"bevel\"===S||\"fakeround\"===S){const t=-Math.sqrt(v*v-1),e=_?t:0,r=_?0:t;if(p&&this.addCurrentVertex(h,d,e,r,c),\"fakeround\"===S){const t=Math.round(180*b/Math.PI/20);for(let e=1;e2*u){const e=h.add(f.sub(h)._mult(u/t)._round());this.updateDistance(h,e),this.addCurrentVertex(e,y,0,0,c),h=e;}}}}addCurrentVertex(t,e,r,n,i,s=!1){const a=e.y*n-e.x,o=-e.y-e.x*n;this.addHalfVertex(t,e.x+e.y*r,e.y-e.x*r,s,!1,r,i),this.addHalfVertex(t,a,o,s,!0,-n,i),this.distance>Ul/2&&0===this.totalDistance&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(t,e,r,n,i,s));}addHalfVertex({x:t,y:e},r,n,i,s,a,o){const l=.5*(this.lineClips?this.scaledDistance*(Ul-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((t<<1)+(i?1:0),(e<<1)+(s?1:0),Math.round(63*r)+128,Math.round(63*n)+128,1+(0===a?0:a<0?-1:1)|(63&l)<<2,l>>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);const u=o.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,this.e2,u),o.primitiveLength++),s?this.e2=u:this.e1=u;}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance;}updateDistance(t,e){this.distance+=t.dist(e),this.updateScaledDistance();}}let Nl,Zl;wi(\"LineBucket\",ql,{omit:[\"layers\",\"patternFeatures\"]});var Gl={get paint(){return Zl=Zl||new rs({\"line-opacity\":new Wi(G.paint_line[\"line-opacity\"]),\"line-color\":new Wi(G.paint_line[\"line-color\"]),\"line-translate\":new Ji(G.paint_line[\"line-translate\"]),\"line-translate-anchor\":new Ji(G.paint_line[\"line-translate-anchor\"]),\"line-width\":new Wi(G.paint_line[\"line-width\"]),\"line-gap-width\":new Wi(G.paint_line[\"line-gap-width\"]),\"line-offset\":new Wi(G.paint_line[\"line-offset\"]),\"line-blur\":new Wi(G.paint_line[\"line-blur\"]),\"line-dasharray\":new ts(G.paint_line[\"line-dasharray\"]),\"line-pattern\":new Qi(G.paint_line[\"line-pattern\"]),\"line-gradient\":new es(G.paint_line[\"line-gradient\"])})},get layout(){return Nl=Nl||new rs({\"line-cap\":new Ji(G.layout_line[\"line-cap\"]),\"line-join\":new Wi(G.layout_line[\"line-join\"]),\"line-miter-limit\":new Ji(G.layout_line[\"line-miter-limit\"]),\"line-round-limit\":new Ji(G.layout_line[\"line-round-limit\"]),\"line-sort-key\":new Wi(G.layout_line[\"line-sort-key\"])})}};class Kl extends Wi{possiblyEvaluate(t,e){return e=new Ui(Math.floor(e.zoom),{now:e.now,fadeDuration:e.fadeDuration,zoomHistory:e.zoomHistory,transition:e.transition}),super.possiblyEvaluate(t,e)}evaluate(t,e,r,n){return e=g({},e,{zoom:Math.floor(e.zoom)}),super.evaluate(t,e,r,n)}}let Xl;class Hl extends is{constructor(t){super(t,Gl),this.gradientVersion=0,Xl||(Xl=new Kl(Gl.paint.properties[\"line-width\"].specification),Xl.useIntegerZoom=!0);}_handleSpecialPaintPropertyUpdate(t){if(\"line-gradient\"===t){const t=this.gradientExpression();this.stepInterpolant=!!function(t){return void 0!==t._styleExpression}(t)&&t._styleExpression.expression instanceof Ae,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER;}}gradientExpression(){return this._transitionablePaint._values[\"line-gradient\"].value.expression}recalculate(t,e){super.recalculate(t,e),this.paint._values[\"line-floorwidth\"]=Xl.possiblyEvaluate(this._transitioningPaint._values[\"line-width\"].value,t);}createBucket(t){return new ql(t)}queryRadius(t){const e=t,r=Yl(to(\"line-width\",this,e),to(\"line-gap-width\",this,e)),n=to(\"line-offset\",this,e);return r/2+Math.abs(n)+eo(this.paint.get(\"line-translate\"))}queryIntersectsFeature(t,e,r,n,i,a,o){const l=ro(t,this.paint.get(\"line-translate\"),this.paint.get(\"line-translate-anchor\"),a.angle,o),u=o/2*Yl(this.paint.get(\"line-width\").evaluate(e,r),this.paint.get(\"line-gap-width\").evaluate(e,r)),c=this.paint.get(\"line-offset\").evaluate(e,r);return c&&(n=function(t,e){const r=[];for(let n=0;n=3)for(let e=0;e0?e+2*t:t}const Jl=ls([{name:\"a_pos_offset\",components:4,type:\"Int16\"},{name:\"a_data\",components:4,type:\"Uint16\"},{name:\"a_pixeloffset\",components:4,type:\"Int16\"}],4),Wl=ls([{name:\"a_projected_pos\",components:3,type:\"Float32\"}],4);ls([{name:\"a_fade_opacity\",components:1,type:\"Uint32\"}],4);const Ql=ls([{name:\"a_placed\",components:2,type:\"Uint8\"},{name:\"a_shift\",components:2,type:\"Float32\"},{name:\"a_box_real\",components:2,type:\"Int16\"}]);ls([{type:\"Int16\",name:\"anchorPointX\"},{type:\"Int16\",name:\"anchorPointY\"},{type:\"Int16\",name:\"x1\"},{type:\"Int16\",name:\"y1\"},{type:\"Int16\",name:\"x2\"},{type:\"Int16\",name:\"y2\"},{type:\"Uint32\",name:\"featureIndex\"},{type:\"Uint16\",name:\"sourceLayerIndex\"},{type:\"Uint16\",name:\"bucketIndex\"}]);const tu=ls([{name:\"a_pos\",components:2,type:\"Int16\"},{name:\"a_anchor_pos\",components:2,type:\"Int16\"},{name:\"a_extrude\",components:2,type:\"Int16\"}],4),eu=ls([{name:\"a_pos\",components:2,type:\"Float32\"},{name:\"a_radius\",components:1,type:\"Float32\"},{name:\"a_flags\",components:2,type:\"Int16\"}],4);function ru(t,e,r){return t.sections.forEach((t=>{t.text=function(t,e,r){const n=e.layout.get(\"text-transform\").evaluate(r,{});return \"uppercase\"===n?t=t.toLocaleUpperCase():\"lowercase\"===n&&(t=t.toLocaleLowerCase()),Ri.applyArabicShaping&&(t=Ri.applyArabicShaping(t)),t}(t.text,e,r);})),t}ls([{name:\"triangle\",components:3,type:\"Uint16\"}]),ls([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Uint16\",name:\"glyphStartIndex\"},{type:\"Uint16\",name:\"numGlyphs\"},{type:\"Uint32\",name:\"vertexStartIndex\"},{type:\"Uint32\",name:\"lineStartIndex\"},{type:\"Uint32\",name:\"lineLength\"},{type:\"Uint16\",name:\"segment\"},{type:\"Uint16\",name:\"lowerSize\"},{type:\"Uint16\",name:\"upperSize\"},{type:\"Float32\",name:\"lineOffsetX\"},{type:\"Float32\",name:\"lineOffsetY\"},{type:\"Uint8\",name:\"writingMode\"},{type:\"Uint8\",name:\"placedOrientation\"},{type:\"Uint8\",name:\"hidden\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Int16\",name:\"associatedIconIndex\"}]),ls([{type:\"Int16\",name:\"anchorX\"},{type:\"Int16\",name:\"anchorY\"},{type:\"Int16\",name:\"rightJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"centerJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"leftJustifiedTextSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedTextSymbolIndex\"},{type:\"Int16\",name:\"placedIconSymbolIndex\"},{type:\"Int16\",name:\"verticalPlacedIconSymbolIndex\"},{type:\"Uint16\",name:\"key\"},{type:\"Uint16\",name:\"textBoxStartIndex\"},{type:\"Uint16\",name:\"textBoxEndIndex\"},{type:\"Uint16\",name:\"verticalTextBoxStartIndex\"},{type:\"Uint16\",name:\"verticalTextBoxEndIndex\"},{type:\"Uint16\",name:\"iconBoxStartIndex\"},{type:\"Uint16\",name:\"iconBoxEndIndex\"},{type:\"Uint16\",name:\"verticalIconBoxStartIndex\"},{type:\"Uint16\",name:\"verticalIconBoxEndIndex\"},{type:\"Uint16\",name:\"featureIndex\"},{type:\"Uint16\",name:\"numHorizontalGlyphVertices\"},{type:\"Uint16\",name:\"numVerticalGlyphVertices\"},{type:\"Uint16\",name:\"numIconVertices\"},{type:\"Uint16\",name:\"numVerticalIconVertices\"},{type:\"Uint16\",name:\"useRuntimeCollisionCircles\"},{type:\"Uint32\",name:\"crossTileID\"},{type:\"Float32\",name:\"textBoxScale\"},{type:\"Float32\",name:\"collisionCircleDiameter\"},{type:\"Uint16\",name:\"textAnchorOffsetStartIndex\"},{type:\"Uint16\",name:\"textAnchorOffsetEndIndex\"}]),ls([{type:\"Float32\",name:\"offsetX\"}]),ls([{type:\"Int16\",name:\"x\"},{type:\"Int16\",name:\"y\"},{type:\"Int16\",name:\"tileUnitDistanceFromAnchor\"}]),ls([{type:\"Uint16\",name:\"textAnchor\"},{type:\"Float32\",components:2,name:\"textOffset\"}]);const nu={\"!\":\"︕\",\"#\":\"#\",$:\"$\",\"%\":\"%\",\"&\":\"&\",\"(\":\"︵\",\")\":\"︶\",\"*\":\"*\",\"+\":\"+\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\"/\":\"/\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\"=\":\"=\",\">\":\"﹀\",\"?\":\"︖\",\"@\":\"@\",\"[\":\"﹇\",\"\\\\\":\"\\",\"]\":\"﹈\",\"^\":\"^\",_:\"︳\",\"`\":\"`\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"~\":\"~\",\"¢\":\"¢\",\"£\":\"£\",\"¥\":\"¥\",\"¦\":\"¦\",\"¬\":\"¬\",\"¯\":\" ̄\",\"–\":\"︲\",\"—\":\"︱\",\"‘\":\"﹃\",\"’\":\"﹄\",\"“\":\"﹁\",\"”\":\"﹂\",\"…\":\"︙\",\"‧\":\"・\",\"₩\":\"₩\",\"、\":\"︑\",\"。\":\"︒\",\"〈\":\"︿\",\"〉\":\"﹀\",\"《\":\"︽\",\"》\":\"︾\",\"「\":\"﹁\",\"」\":\"﹂\",\"『\":\"﹃\",\"』\":\"﹄\",\"【\":\"︻\",\"】\":\"︼\",\"〔\":\"︹\",\"〕\":\"︺\",\"〖\":\"︗\",\"〗\":\"︘\",\"!\":\"︕\",\"(\":\"︵\",\")\":\"︶\",\",\":\"︐\",\"-\":\"︲\",\".\":\"・\",\":\":\"︓\",\";\":\"︔\",\"<\":\"︿\",\">\":\"﹀\",\"?\":\"︖\",\"[\":\"﹇\",\"]\":\"﹈\",\"_\":\"︳\",\"{\":\"︷\",\"|\":\"―\",\"}\":\"︸\",\"⦅\":\"︵\",\"⦆\":\"︶\",\"。\":\"︒\",\"「\":\"﹁\",\"」\":\"﹂\"};var iu=24,su=lu,au=function(t,e,r,n,i){var s,a,o=8*i-n-1,l=(1<>1,c=-7,h=r?i-1:0,p=r?-1:1,f=t[e+h];for(h+=p,s=f&(1<<-c)-1,f>>=-c,c+=o;c>0;s=256*s+t[e+h],h+=p,c-=8);for(a=s&(1<<-c)-1,s>>=-c,c+=n;c>0;a=256*a+t[e+h],h+=p,c-=8);if(0===s)s=1-u;else {if(s===l)return a?NaN:1/0*(f?-1:1);a+=Math.pow(2,n),s-=u;}return (f?-1:1)*a*Math.pow(2,s-n)},ou=function(t,e,r,n,i,s){var a,o,l,u=8*s-i-1,c=(1<>1,p=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,f=n?0:s-1,d=n?1:-1,y=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=c):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),(e+=a+h>=1?p/l:p*Math.pow(2,1-h))*l>=2&&(a++,l/=2),a+h>=c?(o=0,a=c):a+h>=1?(o=(e*l-1)*Math.pow(2,i),a+=h):(o=e*Math.pow(2,h-1)*Math.pow(2,i),a=0));i>=8;t[r+f]=255&o,f+=d,o/=256,i-=8);for(a=a<0;t[r+f]=255&a,f+=d,a/=256,u-=8);t[r+f-d]|=128*y;};function lu(t){this.buf=ArrayBuffer.isView&&ArrayBuffer.isView(t)?t:new Uint8Array(t||0),this.pos=0,this.type=0,this.length=this.buf.length;}lu.Varint=0,lu.Fixed64=1,lu.Bytes=2,lu.Fixed32=5;var uu=4294967296,cu=1/uu,hu=\"undefined\"==typeof TextDecoder?null:new TextDecoder(\"utf-8\");function pu(t){return t.type===lu.Bytes?t.readVarint()+t.pos:t.pos+1}function fu(t,e,r){return r?4294967296*e+(t>>>0):4294967296*(e>>>0)+(t>>>0)}function du(t,e,r){var n=e<=16383?1:e<=2097151?2:e<=268435455?3:Math.floor(Math.log(e)/(7*Math.LN2));r.realloc(n);for(var i=r.pos-1;i>=t;i--)r.buf[i+n]=r.buf[i];}function yu(t,e){for(var r=0;r>>8,t[r+2]=e>>>16,t[r+3]=e>>>24;}function Mu(t,e){return (t[e]|t[e+1]<<8|t[e+2]<<16)+(t[e+3]<<24)}lu.prototype={destroy:function(){this.buf=null;},readFields:function(t,e,r){for(r=r||this.length;this.pos>3,s=this.pos;this.type=7&n,t(i,e,this),this.pos===s&&this.skip(n);}return e},readMessage:function(t,e){return this.readFields(t,e,this.readVarint()+this.pos)},readFixed32:function(){var t=Su(this.buf,this.pos);return this.pos+=4,t},readSFixed32:function(){var t=Mu(this.buf,this.pos);return this.pos+=4,t},readFixed64:function(){var t=Su(this.buf,this.pos)+Su(this.buf,this.pos+4)*uu;return this.pos+=8,t},readSFixed64:function(){var t=Su(this.buf,this.pos)+Mu(this.buf,this.pos+4)*uu;return this.pos+=8,t},readFloat:function(){var t=au(this.buf,this.pos,!0,23,4);return this.pos+=4,t},readDouble:function(){var t=au(this.buf,this.pos,!0,52,8);return this.pos+=8,t},readVarint:function(t){var e,r,n=this.buf;return e=127&(r=n[this.pos++]),r<128?e:(e|=(127&(r=n[this.pos++]))<<7,r<128?e:(e|=(127&(r=n[this.pos++]))<<14,r<128?e:(e|=(127&(r=n[this.pos++]))<<21,r<128?e:function(t,e,r){var n,i,s=r.buf;if(n=(112&(i=s[r.pos++]))>>4,i<128)return fu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<3,i<128)return fu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<10,i<128)return fu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<17,i<128)return fu(t,n,e);if(n|=(127&(i=s[r.pos++]))<<24,i<128)return fu(t,n,e);if(n|=(1&(i=s[r.pos++]))<<31,i<128)return fu(t,n,e);throw new Error(\"Expected varint not more than 10 bytes\")}(e|=(15&(r=n[this.pos]))<<28,t,this))))},readVarint64:function(){return this.readVarint(!0)},readSVarint:function(){var t=this.readVarint();return t%2==1?(t+1)/-2:t/2},readBoolean:function(){return Boolean(this.readVarint())},readString:function(){var t=this.readVarint()+this.pos,e=this.pos;return this.pos=t,t-e>=12&&hu?function(t,e,r){return hu.decode(t.subarray(e,r))}(this.buf,e,t):function(t,e,r){for(var n=\"\",i=e;i239?4:l>223?3:l>191?2:1;if(i+c>r)break;1===c?l<128&&(u=l):2===c?128==(192&(s=t[i+1]))&&(u=(31&l)<<6|63&s)<=127&&(u=null):3===c?(a=t[i+2],128==(192&(s=t[i+1]))&&128==(192&a)&&((u=(15&l)<<12|(63&s)<<6|63&a)<=2047||u>=55296&&u<=57343)&&(u=null)):4===c&&(a=t[i+2],o=t[i+3],128==(192&(s=t[i+1]))&&128==(192&a)&&128==(192&o)&&((u=(15&l)<<18|(63&s)<<12|(63&a)<<6|63&o)<=65535||u>=1114112)&&(u=null)),null===u?(u=65533,c=1):u>65535&&(u-=65536,n+=String.fromCharCode(u>>>10&1023|55296),u=56320|1023&u),n+=String.fromCharCode(u),i+=c;}return n}(this.buf,e,t)},readBytes:function(){var t=this.readVarint()+this.pos,e=this.buf.subarray(this.pos,t);return this.pos=t,e},readPackedVarint:function(t,e){if(this.type!==lu.Bytes)return t.push(this.readVarint(e));var r=pu(this);for(t=t||[];this.pos127;);else if(e===lu.Bytes)this.pos=this.readVarint()+this.pos;else if(e===lu.Fixed32)this.pos+=4;else {if(e!==lu.Fixed64)throw new Error(\"Unimplemented type: \"+e);this.pos+=8;}},writeTag:function(t,e){this.writeVarint(t<<3|e);},realloc:function(t){for(var e=this.length||16;e268435455||t<0?function(t,e){var r,n;if(t>=0?(r=t%4294967296|0,n=t/4294967296|0):(n=~(-t/4294967296),4294967295^(r=~(-t%4294967296))?r=r+1|0:(r=0,n=n+1|0)),t>=0x10000000000000000||t<-0x10000000000000000)throw new Error(\"Given varint doesn't fit into 10 bytes\");e.realloc(10),function(t,e,r){r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,t>>>=7,r.buf[r.pos++]=127&t|128,r.buf[r.pos]=127&(t>>>=7);}(r,0,e),function(t,e){var r=(7&t)<<4;e.buf[e.pos++]|=r|((t>>>=3)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t|((t>>>=7)?128:0),t&&(e.buf[e.pos++]=127&t)))));}(n,e);}(t,this):(this.realloc(4),this.buf[this.pos++]=127&t|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=127&(t>>>=7)|(t>127?128:0),t<=127||(this.buf[this.pos++]=t>>>7&127))));},writeSVarint:function(t){this.writeVarint(t<0?2*-t-1:2*t);},writeBoolean:function(t){this.writeVarint(Boolean(t));},writeString:function(t){t=String(t),this.realloc(4*t.length),this.pos++;var e=this.pos;this.pos=function(t,e,r){for(var n,i,s=0;s55295&&n<57344){if(!i){n>56319||s+1===e.length?(t[r++]=239,t[r++]=191,t[r++]=189):i=n;continue}if(n<56320){t[r++]=239,t[r++]=191,t[r++]=189,i=n;continue}n=i-55296<<10|n-56320|65536,i=null;}else i&&(t[r++]=239,t[r++]=191,t[r++]=189,i=null);n<128?t[r++]=n:(n<2048?t[r++]=n>>6|192:(n<65536?t[r++]=n>>12|224:(t[r++]=n>>18|240,t[r++]=n>>12&63|128),t[r++]=n>>6&63|128),t[r++]=63&n|128);}return r}(this.buf,t,this.pos);var r=this.pos-e;r>=128&&du(e,r,this),this.pos=e-1,this.writeVarint(r),this.pos+=r;},writeFloat:function(t){this.realloc(4),ou(this.buf,t,this.pos,!0,23,4),this.pos+=4;},writeDouble:function(t){this.realloc(8),ou(this.buf,t,this.pos,!0,52,8),this.pos+=8;},writeBytes:function(t){var e=t.length;this.writeVarint(e),this.realloc(e);for(var r=0;r=128&&du(r,n,this),this.pos=r-1,this.writeVarint(n),this.pos+=n;},writeMessage:function(t,e,r){this.writeTag(t,lu.Bytes),this.writeRawMessage(e,r);},writePackedVarint:function(t,e){e.length&&this.writeMessage(t,yu,e);},writePackedSVarint:function(t,e){e.length&&this.writeMessage(t,mu,e);},writePackedBoolean:function(t,e){e.length&&this.writeMessage(t,vu,e);},writePackedFloat:function(t,e){e.length&&this.writeMessage(t,gu,e);},writePackedDouble:function(t,e){e.length&&this.writeMessage(t,xu,e);},writePackedFixed32:function(t,e){e.length&&this.writeMessage(t,bu,e);},writePackedSFixed32:function(t,e){e.length&&this.writeMessage(t,wu,e);},writePackedFixed64:function(t,e){e.length&&this.writeMessage(t,_u,e);},writePackedSFixed64:function(t,e){e.length&&this.writeMessage(t,Au,e);},writeBytesField:function(t,e){this.writeTag(t,lu.Bytes),this.writeBytes(e);},writeFixed32Field:function(t,e){this.writeTag(t,lu.Fixed32),this.writeFixed32(e);},writeSFixed32Field:function(t,e){this.writeTag(t,lu.Fixed32),this.writeSFixed32(e);},writeFixed64Field:function(t,e){this.writeTag(t,lu.Fixed64),this.writeFixed64(e);},writeSFixed64Field:function(t,e){this.writeTag(t,lu.Fixed64),this.writeSFixed64(e);},writeVarintField:function(t,e){this.writeTag(t,lu.Varint),this.writeVarint(e);},writeSVarintField:function(t,e){this.writeTag(t,lu.Varint),this.writeSVarint(e);},writeStringField:function(t,e){this.writeTag(t,lu.Bytes),this.writeString(e);},writeFloatField:function(t,e){this.writeTag(t,lu.Fixed32),this.writeFloat(e);},writeDoubleField:function(t,e){this.writeTag(t,lu.Fixed64),this.writeDouble(e);},writeBooleanField:function(t,e){this.writeVarintField(t,Boolean(e));}};var Iu=r(su);const zu=3;function Pu(t,e,r){1===t&&r.readMessage(Cu,e);}function Cu(t,e,r){if(3===t){const{id:t,bitmap:n,width:i,height:s,left:a,top:o,advance:l}=r.readMessage(Bu,{});e.push({id:t,bitmap:new _o({width:i+2*zu,height:s+2*zu},n),metrics:{width:i,height:s,left:a,top:o,advance:l}});}}function Bu(t,e,r){1===t?e.id=r.readVarint():2===t?e.bitmap=r.readBytes():3===t?e.width=r.readVarint():4===t?e.height=r.readVarint():5===t?e.left=r.readSVarint():6===t?e.top=r.readSVarint():7===t&&(e.advance=r.readVarint());}const Vu=zu;function Eu(t){let e=0,r=0;for(const n of t)e+=n.w*n.h,r=Math.max(r,n.w);t.sort(((t,e)=>e.h-t.h));const n=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(e/.95)),r),h:1/0}];let i=0,s=0;for(const e of t)for(let t=n.length-1;t>=0;t--){const r=n[t];if(!(e.w>r.w||e.h>r.h)){if(e.x=r.x,e.y=r.y,s=Math.max(s,e.y+e.h),i=Math.max(i,e.x+e.w),e.w===r.w&&e.h===r.h){const e=n.pop();t=0&&r>=t&&Uu[this.text.charCodeAt(r)];r--)e--;this.text=this.text.substring(t,e),this.sectionIndex=this.sectionIndex.slice(t,e);}substring(t,e){const r=new ju;return r.text=this.text.substring(t,e),r.sectionIndex=this.sectionIndex.slice(t,e),r.sections=this.sections,r}toString(){return this.text}getMaxScale(){return this.sectionIndex.reduce(((t,e)=>Math.max(t,this.sections[e].scale)),0)}addTextSection(t,e){this.text+=t.text,this.sections.push(Ou.forText(t.scale,t.fontStack||e));const r=this.sections.length-1;for(let e=0;e=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}}function Ru(e,r,n,i,s,a,o,l,u,c,h,p,f,d,y){const m=ju.fromFeature(e,s);let g;p===t.ah.vertical&&m.verticalizePunctuation();const{processBidirectionalText:x,processStyledBidirectionalText:v}=Ri;if(x&&1===m.sections.length){g=[];const t=x(m.toString(),Yu(m,c,a,r,i,d));for(const e of t){const t=new ju;t.text=e,t.sections=m.sections;for(let r=0;r0&&n>_&&(_=n);}else {const t=n[y.fontStack],e=t&&t[g];if(e&&e.rect)A=e.rect,b=e.metrics;else {const t=r[y.fontStack],e=t&&t[g];if(!e)continue;b=e.metrics;}x=(s-y.scale)*iu;}M?(e.verticalizable=!0,w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:M,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=k*y.scale+c):(w.push({glyph:g,imageName:S,x:f,y:d+x,vertical:M,scale:y.scale,fontStack:y.fontStack,sectionIndex:m,metrics:b,rect:A}),f+=b.advance*y.scale+c);}0!==w.length&&(y=Math.max(f-c,y),Wu(w,0,w.length-1,g,_)),f=0;const A=a*s+_;b.lineOffset=Math.max(_,l),d+=A,m=Math.max(A,m),++x;}var v;const b=d-Du,{horizontalAlign:w,verticalAlign:_}=Ju(o);((function(t,e,r,n,i,s,a,o,l){const u=(e-r)*i;let c=0;c=s!==a?-o*n-Du:(-n*l+.5)*a;for(const e of t)for(const t of e.positionedGlyphs)t.x+=u,t.y+=c;}))(e.positionedLines,g,w,_,y,m,a,b,s.length),e.top+=-_*b,e.bottom=e.top+b,e.left+=-w*y,e.right=e.left+y;}(w,r,n,i,g,o,l,u,p,c,f,y),!function(t){for(const e of t)if(0!==e.positionedGlyphs.length)return !1;return !0}(b)&&w}const Uu={9:!0,10:!0,11:!0,12:!0,13:!0,32:!0},qu={10:!0,32:!0,38:!0,41:!0,43:!0,45:!0,47:!0,173:!0,183:!0,8203:!0,8208:!0,8211:!0,8231:!0},Nu={40:!0};function Zu(t,e,r,n,i,s){if(e.imageName){const t=n[e.imageName];return t?t.displaySize[0]*e.scale*iu/s+i:0}{const n=r[e.fontStack],s=n&&n[t];return s?s.metrics.advance*e.scale+i:0}}function Gu(t,e,r,n){const i=Math.pow(t-e,2);return n?t=0;let u=0;for(let r=0;ru){const t=Math.ceil(s/u);i*=t/a,a=t;}return {x1:n,y1:i,x2:n+s,y2:i+a}}function ec(t,e,r,n,i,s){const a=t.image;let o;if(a.content){const t=a.content,e=a.pixelRatio||1;o=[t[0]/e,t[1]/e,a.displaySize[0]-t[2]/e,a.displaySize[1]-t[3]/e];}const l=e.left*s,u=e.right*s;let c,h,p,f;\"width\"===r||\"both\"===r?(f=i[0]+l-n[3],h=i[0]+u+n[1]):(f=i[0]+(l+u-a.displaySize[0])/2,h=f+a.displaySize[0]);const d=e.top*s,y=e.bottom*s;return \"height\"===r||\"both\"===r?(c=i[1]+d-n[0],p=i[1]+y+n[2]):(c=i[1]+(d+y-a.displaySize[1])/2,p=c+a.displaySize[1]),{image:a,top:c,right:h,bottom:p,left:f,collisionPadding:o}}const rc=255,nc=128,ic=rc*nc;function sc(t,e){const{expression:r}=e;if(\"constant\"===r.kind)return {kind:\"constant\",layoutSize:r.evaluate(new Ui(t+1))};if(\"source\"===r.kind)return {kind:\"source\"};{const{zoomStops:e,interpolationType:n}=r;let i=0;for(;it.id)),this.index=e.index,this.pixelRatio=e.pixelRatio,this.sourceLayerIndex=e.sourceLayerIndex,this.hasPattern=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[],this.placementInvProjMatrix=lo([]),this.placementViewportMatrix=lo([]);const r=this.layers[0]._unevaluatedLayout._values;this.textSizeData=sc(this.zoom,r[\"text-size\"]),this.iconSizeData=sc(this.zoom,r[\"icon-size\"]);const n=this.layers[0].layout,i=n.get(\"symbol-sort-key\"),s=n.get(\"symbol-z-order\");this.canOverlap=\"never\"!==ac(n,\"text-overlap\",\"text-allow-overlap\")||\"never\"!==ac(n,\"icon-overlap\",\"icon-allow-overlap\")||n.get(\"text-ignore-placement\")||n.get(\"icon-ignore-placement\"),this.sortFeaturesByKey=\"viewport-y\"!==s&&!i.isConstant(),this.sortFeaturesByY=(\"viewport-y\"===s||\"auto\"===s&&!this.sortFeaturesByKey)&&this.canOverlap,\"point\"===n.get(\"symbol-placement\")&&(this.writingModes=n.get(\"text-writing-mode\").map((e=>t.ah[e]))),this.stateDependentLayerIds=this.layers.filter((t=>t.isStateDependent())).map((t=>t.id)),this.sourceID=e.sourceID;}createArrays(){this.text=new pc(new Ea(this.layers,this.zoom,(t=>/^text/.test(t)))),this.icon=new pc(new Ea(this.layers,this.zoom,(t=>/^icon/.test(t)))),this.glyphOffsetArray=new Os,this.lineVertexArray=new js,this.symbolInstances=new Ds,this.textAnchorOffsets=new Us;}calculateGlyphDependencies(t,e,r,n,i){for(let s=0;s0)&&(\"constant\"!==a.value.kind||a.value.value.length>0),c=\"constant\"!==l.value.kind||!!l.value.value||Object.keys(l.parameters).length>0,h=s.get(\"symbol-sort-key\");if(this.features=[],!u&&!c)return;const p=r.iconDependencies,f=r.glyphDependencies,d=r.availableImages,y=new Ui(this.zoom);for(const{feature:r,id:o,index:l,sourceLayerIndex:m}of e){const e=i._featureFilter.needGeometry,g=ja(r,e);if(!i._featureFilter.filter(y,g,n))continue;let x,v;if(e||(g.geometry=Oa(r)),u){const t=i.getValueAndResolveTokens(\"text-field\",g,n,d),e=Yt.factory(t),r=this.hasRTLText=this.hasRTLText||hc(e);(!r||\"unavailable\"===Ri.getRTLTextPluginStatus()||r&&Ri.isParsed())&&(x=ru(e,i,g));}if(c){const t=i.getValueAndResolveTokens(\"icon-image\",g,n,d);v=t instanceof te?t:te.fromString(t);}if(!x&&!v)continue;const b=this.sortFeaturesByKey?h.evaluate(g,{},n):void 0;if(this.features.push({id:o,text:x,icon:v,index:l,sourceLayerIndex:m,geometry:g.geometry,properties:r.properties,type:oc[r.type],sortKey:b}),v&&(p[v.name]=!0),x){const e=a.evaluate(g,{},n).join(\",\"),r=\"viewport\"!==s.get(\"text-rotation-alignment\")&&\"point\"!==s.get(\"symbol-placement\");this.allowVerticalPlacement=this.writingModes&&this.writingModes.indexOf(t.ah.vertical)>=0;for(const t of x.sections)if(t.image)p[t.image.name]=!0;else {const n=Pi(x.toString()),i=t.fontStack||e,s=f[i]=f[i]||{};this.calculateGlyphDependencies(t.text,s,r,this.allowVerticalPlacement,n);}}}\"line\"===s.get(\"symbol-placement\")&&(this.features=function(t){const e={},r={},n=[];let i=0;function s(e){n.push(t[e]),i++;}function a(t,e,i){const s=r[t];return delete r[t],r[e]=s,n[s].geometry[0].pop(),n[s].geometry[0]=n[s].geometry[0].concat(i[0]),s}function o(t,r,i){const s=e[r];return delete e[r],e[t]=s,n[s].geometry[0].shift(),n[s].geometry[0]=i[0].concat(n[s].geometry[0]),s}function l(t,e,r){const n=r?e[0][e[0].length-1]:e[0][0];return `${t}:${n.x}:${n.y}`}for(let u=0;ut.geometry))}(this.features)),this.sortFeaturesByKey&&this.features.sort(((t,e)=>t.sortKey-e.sortKey));}update(t,e,r){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(t,e,this.layers,r),this.icon.programConfigurations.updatePaintArrays(t,e,this.layers,r));}isEmpty(){return 0===this.symbolInstances.length&&!this.hasRTLText}uploadPending(){return !this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(t){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(t),this.iconCollisionBox.upload(t)),this.text.upload(t,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(t,this.sortFeaturesByY,!this.uploaded,this.icon.programConfigurations.needsUpload),this.uploaded=!0;}destroyDebugData(){this.textCollisionBox.destroy(),this.iconCollisionBox.destroy();}destroy(){this.text.destroy(),this.icon.destroy(),this.hasDebugData()&&this.destroyDebugData();}addToLineVertexArray(t,e){const r=this.lineVertexArray.length;if(void 0!==t.segment){let r=t.dist(e[t.segment+1]),n=t.dist(e[t.segment]);const i={};for(let n=t.segment+1;n=0;r--)i[r]={x:e[r].x,y:e[r].y,tileUnitDistanceFromAnchor:n},r>0&&(n+=e[r-1].dist(e[r]));for(let t=0;t0}hasIconData(){return this.icon.segments.get().length>0}hasDebugData(){return this.textCollisionBox&&this.iconCollisionBox}hasTextCollisionBoxData(){return this.hasDebugData()&&this.textCollisionBox.segments.get().length>0}hasIconCollisionBoxData(){return this.hasDebugData()&&this.iconCollisionBox.segments.get().length>0}addIndicesForPlacedSymbol(t,e){const r=t.placedSymbolArray.get(e),n=r.vertexStartIndex+4*r.numGlyphs;for(let e=r.vertexStartIndex;en[t]-n[e]||i[e]-i[t])),s}addToSortKeyRanges(t,e){const r=this.sortKeyRanges[this.sortKeyRanges.length-1];r&&r.sortKey===e?r.symbolInstanceEnd=t+1:this.sortKeyRanges.push({sortKey:e,symbolInstanceStart:t,symbolInstanceEnd:t+1});}sortFeatures(t){if(this.sortFeaturesByY&&this.sortedAngle!==t&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(t),this.sortedAngle=t,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(const t of this.symbolInstanceIndexes){const e=this.symbolInstances.get(t);this.featureSortOrder.push(e.featureIndex),[e.rightJustifiedTextSymbolIndex,e.centerJustifiedTextSymbolIndex,e.leftJustifiedTextSymbolIndex].forEach(((t,e,r)=>{t>=0&&r.indexOf(t)===e&&this.addIndicesForPlacedSymbol(this.text,t);})),e.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,e.verticalPlacedTextSymbolIndex),e.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.placedIconSymbolIndex),e.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,e.verticalPlacedIconSymbolIndex);}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray);}}}let yc,mc;wi(\"SymbolBucket\",dc,{omit:[\"layers\",\"collisionBoxArray\",\"features\",\"compareText\"]}),dc.MAX_GLYPHS=65535,dc.addDynamicAttributes=cc;var gc={get paint(){return mc=mc||new rs({\"icon-opacity\":new Wi(G.paint_symbol[\"icon-opacity\"]),\"icon-color\":new Wi(G.paint_symbol[\"icon-color\"]),\"icon-halo-color\":new Wi(G.paint_symbol[\"icon-halo-color\"]),\"icon-halo-width\":new Wi(G.paint_symbol[\"icon-halo-width\"]),\"icon-halo-blur\":new Wi(G.paint_symbol[\"icon-halo-blur\"]),\"icon-translate\":new Ji(G.paint_symbol[\"icon-translate\"]),\"icon-translate-anchor\":new Ji(G.paint_symbol[\"icon-translate-anchor\"]),\"text-opacity\":new Wi(G.paint_symbol[\"text-opacity\"]),\"text-color\":new Wi(G.paint_symbol[\"text-color\"],{runtimeType:pt,getOverride:t=>t.textColor,hasOverride:t=>!!t.textColor}),\"text-halo-color\":new Wi(G.paint_symbol[\"text-halo-color\"]),\"text-halo-width\":new Wi(G.paint_symbol[\"text-halo-width\"]),\"text-halo-blur\":new Wi(G.paint_symbol[\"text-halo-blur\"]),\"text-translate\":new Ji(G.paint_symbol[\"text-translate\"]),\"text-translate-anchor\":new Ji(G.paint_symbol[\"text-translate-anchor\"])})},get layout(){return yc=yc||new rs({\"symbol-placement\":new Ji(G.layout_symbol[\"symbol-placement\"]),\"symbol-spacing\":new Ji(G.layout_symbol[\"symbol-spacing\"]),\"symbol-avoid-edges\":new Ji(G.layout_symbol[\"symbol-avoid-edges\"]),\"symbol-sort-key\":new Wi(G.layout_symbol[\"symbol-sort-key\"]),\"symbol-z-order\":new Ji(G.layout_symbol[\"symbol-z-order\"]),\"icon-allow-overlap\":new Ji(G.layout_symbol[\"icon-allow-overlap\"]),\"icon-overlap\":new Ji(G.layout_symbol[\"icon-overlap\"]),\"icon-ignore-placement\":new Ji(G.layout_symbol[\"icon-ignore-placement\"]),\"icon-optional\":new Ji(G.layout_symbol[\"icon-optional\"]),\"icon-rotation-alignment\":new Ji(G.layout_symbol[\"icon-rotation-alignment\"]),\"icon-size\":new Wi(G.layout_symbol[\"icon-size\"]),\"icon-text-fit\":new Ji(G.layout_symbol[\"icon-text-fit\"]),\"icon-text-fit-padding\":new Ji(G.layout_symbol[\"icon-text-fit-padding\"]),\"icon-image\":new Wi(G.layout_symbol[\"icon-image\"]),\"icon-rotate\":new Wi(G.layout_symbol[\"icon-rotate\"]),\"icon-padding\":new Wi(G.layout_symbol[\"icon-padding\"]),\"icon-keep-upright\":new Ji(G.layout_symbol[\"icon-keep-upright\"]),\"icon-offset\":new Wi(G.layout_symbol[\"icon-offset\"]),\"icon-anchor\":new Wi(G.layout_symbol[\"icon-anchor\"]),\"icon-pitch-alignment\":new Ji(G.layout_symbol[\"icon-pitch-alignment\"]),\"text-pitch-alignment\":new Ji(G.layout_symbol[\"text-pitch-alignment\"]),\"text-rotation-alignment\":new Ji(G.layout_symbol[\"text-rotation-alignment\"]),\"text-field\":new Wi(G.layout_symbol[\"text-field\"]),\"text-font\":new Wi(G.layout_symbol[\"text-font\"]),\"text-size\":new Wi(G.layout_symbol[\"text-size\"]),\"text-max-width\":new Wi(G.layout_symbol[\"text-max-width\"]),\"text-line-height\":new Ji(G.layout_symbol[\"text-line-height\"]),\"text-letter-spacing\":new Wi(G.layout_symbol[\"text-letter-spacing\"]),\"text-justify\":new Wi(G.layout_symbol[\"text-justify\"]),\"text-radial-offset\":new Wi(G.layout_symbol[\"text-radial-offset\"]),\"text-variable-anchor\":new Ji(G.layout_symbol[\"text-variable-anchor\"]),\"text-variable-anchor-offset\":new Wi(G.layout_symbol[\"text-variable-anchor-offset\"]),\"text-anchor\":new Wi(G.layout_symbol[\"text-anchor\"]),\"text-max-angle\":new Ji(G.layout_symbol[\"text-max-angle\"]),\"text-writing-mode\":new Ji(G.layout_symbol[\"text-writing-mode\"]),\"text-rotate\":new Wi(G.layout_symbol[\"text-rotate\"]),\"text-padding\":new Ji(G.layout_symbol[\"text-padding\"]),\"text-keep-upright\":new Ji(G.layout_symbol[\"text-keep-upright\"]),\"text-transform\":new Wi(G.layout_symbol[\"text-transform\"]),\"text-offset\":new Wi(G.layout_symbol[\"text-offset\"]),\"text-allow-overlap\":new Ji(G.layout_symbol[\"text-allow-overlap\"]),\"text-overlap\":new Ji(G.layout_symbol[\"text-overlap\"]),\"text-ignore-placement\":new Ji(G.layout_symbol[\"text-ignore-placement\"]),\"text-optional\":new Ji(G.layout_symbol[\"text-optional\"])})}};class xc{constructor(t){if(void 0===t.property.overrides)throw new Error(\"overrides must be provided to instantiate FormatSectionOverride class\");this.type=t.property.overrides?t.property.overrides.runtimeType:lt,this.defaultValue=t;}evaluate(t){if(t.formattedSection){const e=this.defaultValue.property.overrides;if(e&&e.hasOverride(t.formattedSection))return e.getOverride(t.formattedSection)}return t.feature&&t.featureState?this.defaultValue.evaluate(t.feature,t.featureState):this.defaultValue.property.specification.default}eachChild(t){this.defaultValue.isConstant()||t(this.defaultValue.value._styleExpression.expression);}outputDefined(){return !1}serialize(){return null}}wi(\"FormatSectionOverride\",xc,{omit:[\"defaultValue\"]});class vc extends is{constructor(t){super(t,gc);}recalculate(t,e){if(super.recalculate(t,e),\"auto\"===this.layout.get(\"icon-rotation-alignment\")&&(this.layout._values[\"icon-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-rotation-alignment\")&&(this.layout._values[\"text-rotation-alignment\"]=\"point\"!==this.layout.get(\"symbol-placement\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"text-pitch-alignment\")&&(this.layout._values[\"text-pitch-alignment\"]=\"map\"===this.layout.get(\"text-rotation-alignment\")?\"map\":\"viewport\"),\"auto\"===this.layout.get(\"icon-pitch-alignment\")&&(this.layout._values[\"icon-pitch-alignment\"]=this.layout.get(\"icon-rotation-alignment\")),\"point\"===this.layout.get(\"symbol-placement\")){const t=this.layout.get(\"text-writing-mode\");if(t){const e=[];for(const r of t)e.indexOf(r)<0&&e.push(r);this.layout._values[\"text-writing-mode\"]=e;}else this.layout._values[\"text-writing-mode\"]=[\"horizontal\"];}this._setPaintOverrides();}getValueAndResolveTokens(t,e,r,n){const i=this.layout.get(t).evaluate(e,{},r,n),s=this._unevaluatedLayout._values[t];return s.isDataDriven()||vn(s.value)||!i?i:function(t,e){return e.replace(/{([^{}]+)}/g,((e,r)=>t&&r in t?String(t[r]):\"\"))}(e.properties,i)}createBucket(t){return new dc(t)}queryRadius(){return 0}queryIntersectsFeature(){throw new Error(\"Should take a different path in FeatureIndex\")}_setPaintOverrides(){for(const t of gc.paint.overridableProperties){if(!vc.hasPaintOverride(this.layout,t))continue;const e=this.paint.get(t),r=new xc(e),n=new xn(r,e.property.specification);let i=null;i=\"constant\"===e.value.kind||\"source\"===e.value.kind?new wn(\"source\",n):new _n(\"composite\",n,e.value.zoomStops),this.paint._values[t]=new Hi(e.property,i,e.parameters);}}_handleOverridablePaintPropertyUpdate(t,e,r){return !(!this.layout||e.isDataDriven()||r.isDataDriven())&&vc.hasPaintOverride(this.layout,t)}static hasPaintOverride(t,e){const r=t.get(\"text-field\"),n=gc.paint.properties[e];let i=!1;const s=t=>{for(const e of t)if(n.overrides&&n.overrides.hasOverride(e))return void(i=!0)};if(\"constant\"===r.value.kind&&r.value.value instanceof Yt)s(r.value.value.sections);else if(\"source\"===r.value.kind){const t=e=>{i||(e instanceof se&&ne(e.value)===mt?s(e.value.sections):e instanceof Ze?s(e.sections):e.eachChild(t));},e=r.value;e._styleExpression&&t(e._styleExpression.expression);}return i}}let bc;var wc={get paint(){return bc=bc||new rs({\"background-color\":new Ji(G.paint_background[\"background-color\"]),\"background-pattern\":new ts(G.paint_background[\"background-pattern\"]),\"background-opacity\":new Ji(G.paint_background[\"background-opacity\"])})}};class _c extends is{constructor(t){super(t,wc);}}let Ac;var Sc={get paint(){return Ac=Ac||new rs({\"raster-opacity\":new Ji(G.paint_raster[\"raster-opacity\"]),\"raster-hue-rotate\":new Ji(G.paint_raster[\"raster-hue-rotate\"]),\"raster-brightness-min\":new Ji(G.paint_raster[\"raster-brightness-min\"]),\"raster-brightness-max\":new Ji(G.paint_raster[\"raster-brightness-max\"]),\"raster-saturation\":new Ji(G.paint_raster[\"raster-saturation\"]),\"raster-contrast\":new Ji(G.paint_raster[\"raster-contrast\"]),\"raster-resampling\":new Ji(G.paint_raster[\"raster-resampling\"]),\"raster-fade-duration\":new Ji(G.paint_raster[\"raster-fade-duration\"])})}};class kc extends is{constructor(t){super(t,Sc);}}class Mc extends is{constructor(t){super(t,{}),this.onAdd=t=>{this.implementation.onAdd&&this.implementation.onAdd(t,t.painter.context.gl);},this.onRemove=t=>{this.implementation.onRemove&&this.implementation.onRemove(t,t.painter.context.gl);},this.implementation=t;}is3D(){return \"3d\"===this.implementation.renderingMode}hasOffscreenPass(){return void 0!==this.implementation.prerender}recalculate(){}updateTransitions(){}hasTransition(){return !1}serialize(){throw new Error(\"Custom layers cannot be serialized\")}}class Ic{constructor(t){this._methodToThrottle=t,this._triggered=!1,\"undefined\"!=typeof MessageChannel&&(this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle();});}trigger(){this._triggered||(this._triggered=!0,this._channel?this._channel.port1.postMessage(!0):setTimeout((()=>{this._triggered=!1,this._methodToThrottle();}),0));}remove(){delete this._channel,this._methodToThrottle=()=>{};}}const zc=6371008.8;class Pc{constructor(t,e){if(isNaN(t)||isNaN(e))throw new Error(`Invalid LngLat object: (${t}, ${e})`);if(this.lng=+t,this.lat=+e,this.lat>90||this.lat<-90)throw new Error(\"Invalid LngLat latitude value: must be between -90 and 90\")}wrap(){return new Pc(m(this.lng,-180,180),this.lat)}toArray(){return [this.lng,this.lat]}toString(){return `LngLat(${this.lng}, ${this.lat})`}distanceTo(t){const e=Math.PI/180,r=this.lat*e,n=t.lat*e,i=Math.sin(r)*Math.sin(n)+Math.cos(r)*Math.cos(n)*Math.cos((t.lng-this.lng)*e);return zc*Math.acos(Math.min(i,1))}static convert(t){if(t instanceof Pc)return t;if(Array.isArray(t)&&(2===t.length||3===t.length))return new Pc(Number(t[0]),Number(t[1]));if(!Array.isArray(t)&&\"object\"==typeof t&&null!==t)return new Pc(Number(\"lng\"in t?t.lng:t.lon),Number(t.lat));throw new Error(\"`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]\")}}const Cc=2*Math.PI*zc;function Bc(t){return Cc*Math.cos(t*Math.PI/180)}function Vc(t){return (180+t)/360}function Ec(t){return (180-180/Math.PI*Math.log(Math.tan(Math.PI/4+t*Math.PI/360)))/360}function Fc(t,e){return t/Bc(e)}function Tc(t){return 360/Math.PI*Math.atan(Math.exp((180-360*t)*Math.PI/180))-90}class $c{constructor(t,e,r=0){this.x=+t,this.y=+e,this.z=+r;}static fromLngLat(t,e=0){const r=Pc.convert(t);return new $c(Vc(r.lng),Ec(r.lat),Fc(e,r.lat))}toLngLat(){return new Pc(360*this.x-180,Tc(this.y))}toAltitude(){return this.z*Bc(Tc(this.y))}meterInMercatorCoordinateUnits(){return 1/Cc*(t=Tc(this.y),1/Math.cos(t*Math.PI/180));var t;}}function Lc(t,e,r){var n=2*Math.PI*6378137/256/Math.pow(2,r);return [t*n-2*Math.PI*6378137/2,e*n-2*Math.PI*6378137/2]}class Dc{constructor(t,e,r){if(!function(t,e,r){return !(t<0||t>25||r<0||r>=Math.pow(2,t)||e<0||e>=Math.pow(2,t))}(t,e,r))throw new Error(`x=${e}, y=${r}, z=${t} outside of bounds. 0<=x<${Math.pow(2,t)}, 0<=y<${Math.pow(2,t)} 0<=z<=25 `);this.z=t,this.x=e,this.y=r,this.key=Rc(0,t,t,e,r);}equals(t){return this.z===t.z&&this.x===t.x&&this.y===t.y}url(t,e,r){const n=(s=this.y,a=this.z,o=Lc(256*(i=this.x),256*(s=Math.pow(2,a)-s-1),a),l=Lc(256*(i+1),256*(s+1),a),o[0]+\",\"+o[1]+\",\"+l[0]+\",\"+l[1]);var i,s,a,o,l;const u=function(t,e,r){let n,i=\"\";for(let s=t;s>0;s--)n=1<1?\"@2x\":\"\").replace(/{quadkey}/g,u).replace(/{bbox-epsg-3857}/g,n)}isChildOf(t){const e=this.z-t.z;return e>0&&t.x===this.x>>e&&t.y===this.y>>e}getTilePoint(t){const e=Math.pow(2,this.z);return new s((t.x*e-this.x)*$a,(t.y*e-this.y)*$a)}toString(){return `${this.z}/${this.x}/${this.y}`}}class Oc{constructor(t,e){this.wrap=t,this.canonical=e,this.key=Rc(t,e.z,e.z,e.x,e.y);}}class jc{constructor(t,e,r,n,i){if(t= z; overscaledZ = ${t}; z = ${r}`);this.overscaledZ=t,this.wrap=e,this.canonical=new Dc(r,+n,+i),this.key=Rc(e,t,r,n,i);}clone(){return new jc(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(t){return this.overscaledZ===t.overscaledZ&&this.wrap===t.wrap&&this.canonical.equals(t.canonical)}scaledTo(t){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const e=this.canonical.z-t;return t>this.canonical.z?new jc(t,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new jc(t,this.wrap,t,this.canonical.x>>e,this.canonical.y>>e)}calculateScaledKey(t,e){if(t>this.overscaledZ)throw new Error(`targetZ > this.overscaledZ; targetZ = ${t}; overscaledZ = ${this.overscaledZ}`);const r=this.canonical.z-t;return t>this.canonical.z?Rc(this.wrap*+e,t,this.canonical.z,this.canonical.x,this.canonical.y):Rc(this.wrap*+e,t,t,this.canonical.x>>r,this.canonical.y>>r)}isChildOf(t){if(t.wrap!==this.wrap)return !1;const e=this.canonical.z-t.canonical.z;return 0===t.overscaledZ||t.overscaledZ>e&&t.canonical.y===this.canonical.y>>e}children(t){if(this.overscaledZ>=t)return [new jc(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];const e=this.canonical.z+1,r=2*this.canonical.x,n=2*this.canonical.y;return [new jc(e,this.wrap,e,r,n),new jc(e,this.wrap,e,r+1,n),new jc(e,this.wrap,e,r,n+1),new jc(e,this.wrap,e,r+1,n+1)]}isLessThan(t){return this.wrapt.wrap)&&(this.overscaledZt.overscaledZ)&&(this.canonical.xt.canonical.x)&&this.canonical.ythis.max&&(this.max=r),r=this.dim+1||e<-1||e>=this.dim+1)throw new RangeError(\"out of range source coordinates for DEM data\");return (e+1)*this.stride+(t+1)}unpack(t,e,r){return t*this.redFactor+e*this.greenFactor+r*this.blueFactor-this.baseShift}getPixels(){return new Ao({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(t,e,r){if(this.dim!==t.dim)throw new Error(\"dem dimension mismatch\");let n=e*this.dim,i=e*this.dim+this.dim,s=r*this.dim,a=r*this.dim+this.dim;switch(e){case-1:n=i-1;break;case 1:i=n+1;}switch(r){case-1:s=a-1;break;case 1:a=s+1;}const o=-e*this.dim,l=-r*this.dim;for(let e=s;e=this._numberToString.length)throw new Error(`Out of bounds. Index requested n=${t} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[t]}}class Nc{constructor(t,e,r,n,i){this.type=\"Feature\",this._vectorTileFeature=t,t._z=e,t._x=r,t._y=n,this.properties=t.properties,this.id=i;}get geometry(){return void 0===this._geometry&&(this._geometry=this._vectorTileFeature.toGeoJSON(this._vectorTileFeature._x,this._vectorTileFeature._y,this._vectorTileFeature._z).geometry),this._geometry}set geometry(t){this._geometry=t;}toJSON(){const t={geometry:this.geometry};for(const e in this)\"_geometry\"!==e&&\"_vectorTileFeature\"!==e&&(t[e]=this[e]);return t}}class Zc{constructor(t,e){this.tileID=t,this.x=t.canonical.x,this.y=t.canonical.y,this.z=t.canonical.z,this.grid=new vi($a,16,0),this.grid3D=new vi($a,16,0),this.featureIndexArray=new Ns,this.promoteId=e;}insert(t,e,r,n,i,s){const a=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(r,n,i);const o=s?this.grid3D:this.grid;for(let t=0;t=0&&n[3]>=0&&o.insert(a,n[0],n[1],n[2],n[3]);}}loadVTLayers(){return this.vtLayers||(this.vtLayers=new fl.VectorTile(new Iu(this.rawTileData)).layers,this.sourceLayerCoder=new qc(this.vtLayers?Object.keys(this.vtLayers).sort():[\"_geojsonTileLayer\"])),this.vtLayers}query(t,e,r,n){this.loadVTLayers();const i=t.params||{},a=$a/t.tileSize/t.scale,o=zn(i.filter),l=t.queryGeometry,u=t.queryPadding*a,c=Kc(l),h=this.grid.query(c.minX-u,c.minY-u,c.maxX+u,c.maxY+u),p=Kc(t.cameraQueryGeometry),f=this.grid3D.query(p.minX-u,p.minY-u,p.maxX+u,p.maxY+u,((e,r,n,i)=>function(t,e,r,n,i){for(const s of t)if(e<=s.x&&r<=s.y&&n>=s.x&&i>=s.y)return !0;const a=[new s(e,r),new s(e,i),new s(n,i),new s(n,r)];if(t.length>2)for(const e of a)if(Wa(t,e))return !0;for(let e=0;e(p||(p=Oa(e)),r.queryIntersectsFeature(l,e,n,p,this.z,t.transform,a,t.pixelPosMatrix))));}return d}loadMatchingFeature(t,e,r,n,i,s,a,o,l,u,c){const h=this.bucketLayerIDs[e];if(s&&!function(t,e){for(let r=0;r=0)return !0;return !1}(s,h))return;const p=this.sourceLayerCoder.decode(r),f=this.vtLayers[p].feature(n);if(i.needGeometry){const t=ja(f,!0);if(!i.filter(new Ui(this.tileID.overscaledZ),t,this.tileID.canonical))return}else if(!i.filter(new Ui(this.tileID.overscaledZ),f))return;const d=this.getId(f,p);for(let e=0;e{const a=e instanceof Yi?e.get(s):null;return a&&a.evaluate?a.evaluate(r,n,i):a}))}function Kc(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const s of t)e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);return {minX:e,minY:r,maxX:n,maxY:i}}function Xc(t,e){return e-t}function Hc(t,e,r,n,i){const a=[];for(let o=0;o=n&&c.x>=n||(o.x>=n?o=new s(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round():c.x>=n&&(c=new s(n,o.y+(n-o.x)/(c.x-o.x)*(c.y-o.y))._round()),o.y>=i&&c.y>=i||(o.y>=i?o=new s(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round():c.y>=i&&(c=new s(o.x+(i-o.y)/(c.y-o.y)*(c.x-o.x),i)._round()),u&&o.equals(u[u.length-1])||(u=[o],a.push(u)),u.push(c)))));}}return a}wi(\"FeatureIndex\",Zc,{omit:[\"rawTileData\",\"sourceLayerCoder\"]});class Yc extends s{constructor(t,e,r,n){super(t,e),this.angle=r,void 0!==n&&(this.segment=n);}clone(){return new Yc(this.x,this.y,this.angle,this.segment)}}function Jc(t,e,r,n,i){if(void 0===e.segment||0===r)return !0;let s=e,a=e.segment+1,o=0;for(;o>-r/2;){if(a--,a<0)return !1;o-=t[a].dist(s),s=t[a];}o+=t[a].dist(t[a+1]),a++;const l=[];let u=0;for(;on;)u-=l.shift().angleDelta;if(u>i)return !1;a++,o+=e.dist(r);}return !0}function Wc(t){let e=0;for(let r=0;ru){const c=(u-l)/s,h=Ce.number(n.x,i.x,c),p=Ce.number(n.y,i.y,c),f=new Yc(h,p,i.angleTo(n),r);return f._round(),!a||Jc(t,f,o,a,e)?f:void 0}l+=s;}}function rh(t,e,r,n,i,s,a,o,l){const u=Qc(n,s,a),c=th(n,i),h=c*a,p=0===t[0].x||t[0].x===l||0===t[0].y||t[0].y===l;return e-h=0&&g=0&&x=0&&p+u<=c){const r=new Yc(g,x,y,e);r._round(),n&&!Jc(t,r,s,n,i)||f.push(r);}}h+=d;}return o||f.length||a||(f=nh(t,h/2,r,n,i,s,a,!0,l)),f}wi(\"Anchor\",Yc);const ih=Fu;function sh(t,e,r,n){const i=[],a=t.image,o=a.pixelRatio,l=a.paddedRect.w-2*ih,u=a.paddedRect.h-2*ih;let c={x1:t.left,y1:t.top,x2:t.right,y2:t.bottom};const h=a.stretchX||[[0,l]],p=a.stretchY||[[0,u]],f=(t,e)=>t+e[1]-e[0],d=h.reduce(f,0),y=p.reduce(f,0),m=l-d,g=u-y;let x=0,v=d,b=0,w=y,_=0,A=m,S=0,k=g;if(a.content&&n){const e=a.content,r=e[2]-e[0],n=e[3]-e[1];(a.textFitWidth||a.textFitHeight)&&(c=tc(t)),x=ah(h,0,e[0]),b=ah(p,0,e[1]),v=ah(h,e[0],e[2]),w=ah(p,e[1],e[3]),_=e[0]-x,S=e[1]-b,A=r-v,k=n-w;}const M=c.x1,I=c.y1,z=c.x2-M,P=c.y2-I,C=(t,n,i,l)=>{const u=lh(t.stretch-x,v,z,M),c=uh(t.fixed-_,A,t.stretch,d),h=lh(n.stretch-b,w,P,I),p=uh(n.fixed-S,k,n.stretch,y),f=lh(i.stretch-x,v,z,M),m=uh(i.fixed-_,A,i.stretch,d),g=lh(l.stretch-b,w,P,I),C=uh(l.fixed-S,k,l.stretch,y),B=new s(u,h),V=new s(f,h),E=new s(f,g),F=new s(u,g),T=new s(c/o,p/o),$=new s(m/o,C/o),L=e*Math.PI/180;if(L){const t=Math.sin(L),e=Math.cos(L),r=[e,-t,t,e];B._matMult(r),V._matMult(r),F._matMult(r),E._matMult(r);}const D=t.stretch+t.fixed,O=n.stretch+n.fixed;return {tl:B,tr:V,bl:F,br:E,tex:{x:a.paddedRect.x+ih+D,y:a.paddedRect.y+ih+O,w:i.stretch+i.fixed-D,h:l.stretch+l.fixed-O},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:T,pixelOffsetBR:$,minFontScaleX:A/o/z,minFontScaleY:k/o/P,isSDF:r}};if(n&&(a.stretchX||a.stretchY)){const t=oh(h,m,d),e=oh(p,g,y);for(let r=0;r0&&(n=Math.max(10,n),this.circleDiameter=n);}else {const u=(null===(h=a.image)||void 0===h?void 0:h.content)&&(a.image.textFitWidth||a.image.textFitHeight)?tc(a):{x1:a.left,y1:a.top,x2:a.right,y2:a.bottom};u.y1=u.y1*o-l[0],u.y2=u.y2*o+l[2],u.x1=u.x1*o-l[3],u.x2=u.x2*o+l[1];const p=a.collisionPadding;if(p&&(u.x1-=p[0]*o,u.y1-=p[1]*o,u.x2+=p[2]*o,u.y2+=p[3]*o),c){const t=new s(u.x1,u.y1),e=new s(u.x2,u.y1),r=new s(u.x1,u.y2),n=new s(u.x2,u.y2),i=c*Math.PI/180;t._rotate(i),e._rotate(i),r._rotate(i),n._rotate(i),u.x1=Math.min(t.x,e.x,r.x,n.x),u.x2=Math.max(t.x,e.x,r.x,n.x),u.y1=Math.min(t.y,e.y,r.y,n.y),u.y2=Math.max(t.y,e.y,r.y,n.y);}t.emplaceBack(e.x,e.y,u.x1,u.y1,u.x2,u.y2,r,n,i);}this.boxEndIndex=t.length;}}class hh{constructor(t=[],e=((t,e)=>te?1:0)){if(this.data=t,this.length=this.data.length,this.compare=e,this.length>0)for(let t=(this.length>>1)-1;t>=0;t--)this._down(t);}push(t){this.data.push(t),this._up(this.length++);}pop(){if(0===this.length)return;const t=this.data[0],e=this.data.pop();return --this.length>0&&(this.data[0]=e,this._down(0)),t}peek(){return this.data[0]}_up(t){const{data:e,compare:r}=this,n=e[t];for(;t>0;){const i=t-1>>1,s=e[i];if(r(n,s)>=0)break;e[t]=s,t=i;}e[t]=n;}_down(t){const{data:e,compare:r}=this,n=this.length>>1,i=e[t];for(;t=0)break;e[t]=e[n],t=n;}e[t]=i;}}function ph(t,e=1,r=!1){let n=1/0,i=1/0,a=-1/0,o=-1/0;const l=t[0];for(let t=0;ta)&&(a=e.x),(!t||e.y>o)&&(o=e.y);}const u=Math.min(a-n,o-i);let c=u/2;const h=new hh([],fh);if(0===u)return new s(n,i);for(let e=n;ep.d||!p.d)&&(p=n,r&&console.log(\"found best %d after %d probes\",Math.round(1e4*n.d)/1e4,f)),n.max-p.d<=e||(c=n.h/2,h.push(new dh(n.p.x-c,n.p.y-c,c,t)),h.push(new dh(n.p.x+c,n.p.y-c,c,t)),h.push(new dh(n.p.x-c,n.p.y+c,c,t)),h.push(new dh(n.p.x+c,n.p.y+c,c,t)),f+=4);}return r&&(console.log(`num probes: ${f}`),console.log(`best distance: ${p.d}`)),p.p}function fh(t,e){return e.max-t.max}function dh(t,e,r,n){this.p=new s(t,e),this.h=r,this.d=function(t,e){let r=!1,n=1/0;for(let i=0;it.y!=o.y>t.y&&t.x<(o.x-i.x)*(t.y-i.y)/(o.y-i.y)+i.x&&(r=!r),n=Math.min(n,Ya(t,i,o));}}return (r?1:-1)*Math.sqrt(n)}(this.p,n),this.max=this.d+this.h*Math.SQRT2;}var yh;t.aq=void 0,(yh=t.aq||(t.aq={}))[yh.center=1]=\"center\",yh[yh.left=2]=\"left\",yh[yh.right=3]=\"right\",yh[yh.top=4]=\"top\",yh[yh.bottom=5]=\"bottom\",yh[yh[\"top-left\"]=6]=\"top-left\",yh[yh[\"top-right\"]=7]=\"top-right\",yh[yh[\"bottom-left\"]=8]=\"bottom-left\",yh[yh[\"bottom-right\"]=9]=\"bottom-right\";const mh=7,gh=Number.POSITIVE_INFINITY;function xh(t,e){return e[1]!==gh?function(t,e,r){let n=0,i=0;switch(e=Math.abs(e),r=Math.abs(r),t){case\"top-right\":case\"top-left\":case\"top\":i=r-mh;break;case\"bottom-right\":case\"bottom-left\":case\"bottom\":i=-r+mh;}switch(t){case\"top-right\":case\"bottom-right\":case\"right\":n=-e;break;case\"top-left\":case\"bottom-left\":case\"left\":n=e;}return [n,i]}(t,e[0],e[1]):function(t,e){let r=0,n=0;e<0&&(e=0);const i=e/Math.SQRT2;switch(t){case\"top-right\":case\"top-left\":n=i-mh;break;case\"bottom-right\":case\"bottom-left\":n=-i+mh;break;case\"bottom\":n=-e+mh;break;case\"top\":n=e-mh;}switch(t){case\"top-right\":case\"bottom-right\":r=-i;break;case\"top-left\":case\"bottom-left\":r=i;break;case\"left\":r=e;break;case\"right\":r=-e;}return [r,n]}(t,e[0])}function vh(t,e,r){var n;const i=t.layout,s=null===(n=i.get(\"text-variable-anchor-offset\"))||void 0===n?void 0:n.evaluate(e,{},r);if(s){const t=s.values,e=[];for(let r=0;rt*iu));n.startsWith(\"top\")?i[1]-=mh:n.startsWith(\"bottom\")&&(i[1]+=mh),e[r+1]=i;}return new Qt(e)}const a=i.get(\"text-variable-anchor\");if(a){let n;n=void 0!==t._unevaluatedLayout.getValue(\"text-radial-offset\")?[i.get(\"text-radial-offset\").evaluate(e,{},r)*iu,gh]:i.get(\"text-offset\").evaluate(e,{},r).map((t=>t*iu));const s=[];for(const t of a)s.push(t,xh(t,n));return new Qt(s)}return null}function bh(t){switch(t){case\"right\":case\"top-right\":case\"bottom-right\":return \"right\";case\"left\":case\"top-left\":case\"bottom-left\":return \"left\"}return \"center\"}function wh(e,r,n,i,s,a,o,l,u,c,h){let p=a.textMaxSize.evaluate(r,{});void 0===p&&(p=o);const f=e.layers[0].layout,d=f.get(\"icon-offset\").evaluate(r,{},h),y=Ah(n.horizontal),m=o/24,g=e.tilePixelRatio*m,x=e.tilePixelRatio*p/24,v=e.tilePixelRatio*l,b=e.tilePixelRatio*f.get(\"symbol-spacing\"),w=f.get(\"text-padding\")*e.tilePixelRatio,_=function(t,e,r,n=1){const i=t.get(\"icon-padding\").evaluate(e,{},r),s=i&&i.values;return [s[0]*n,s[1]*n,s[2]*n,s[3]*n]}(f,r,h,e.tilePixelRatio),S=f.get(\"text-max-angle\")/180*Math.PI,k=\"viewport\"!==f.get(\"text-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),M=\"map\"===f.get(\"icon-rotation-alignment\")&&\"point\"!==f.get(\"symbol-placement\"),I=f.get(\"symbol-placement\"),z=b/2,P=f.get(\"icon-text-fit\");let C;i&&\"none\"!==P&&(e.allowVerticalPlacement&&n.vertical&&(C=ec(i,n.vertical,P,f.get(\"icon-text-fit-padding\"),d,m)),y&&(i=ec(i,y,P,f.get(\"icon-text-fit-padding\"),d,m)));const B=(l,p)=>{p.x<0||p.x>=$a||p.y<0||p.y>=$a||function(e,r,n,i,s,a,o,l,u,c,h,p,f,d,y,m,g,x,v,b,w,_,S,k,M){const I=e.addToLineVertexArray(r,n);let z,P,C,B,V=0,E=0,F=0,T=0,$=-1,L=-1;const D={};let O=ma(\"\");if(e.allowVerticalPlacement&&i.vertical){const t=l.layout.get(\"text-rotate\").evaluate(w,{},k)+90;C=new ch(u,r,c,h,p,i.vertical,f,d,y,t),o&&(B=new ch(u,r,c,h,p,o,g,x,y,t));}if(s){const n=l.layout.get(\"icon-rotate\").evaluate(w,{}),i=\"none\"!==l.layout.get(\"icon-text-fit\"),a=sh(s,n,S,i),f=o?sh(o,n,S,i):void 0;P=new ch(u,r,c,h,p,s,g,x,!1,n),V=4*a.length;const d=e.iconSizeData;let y=null;\"source\"===d.kind?(y=[nc*l.layout.get(\"icon-size\").evaluate(w,{})],y[0]>ic&&A(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${rc}. Reduce your \"icon-size\".`)):\"composite\"===d.kind&&(y=[nc*_.compositeIconSizes[0].evaluate(w,{},k),nc*_.compositeIconSizes[1].evaluate(w,{},k)],(y[0]>ic||y[1]>ic)&&A(`${e.layerIds[0]}: Value for \"icon-size\" is >= ${rc}. Reduce your \"icon-size\".`)),e.addSymbols(e.icon,a,y,b,v,w,t.ah.none,r,I.lineStartIndex,I.lineLength,-1,k),$=e.icon.placedSymbolArray.length-1,f&&(E=4*f.length,e.addSymbols(e.icon,f,y,b,v,w,t.ah.vertical,r,I.lineStartIndex,I.lineLength,-1,k),L=e.icon.placedSymbolArray.length-1);}const j=Object.keys(i.horizontal);for(const n of j){const s=i.horizontal[n];if(!z){O=ma(s.text);const t=l.layout.get(\"text-rotate\").evaluate(w,{},k);z=new ch(u,r,c,h,p,s,f,d,y,t);}const o=1===s.positionedLines.length;if(F+=_h(e,r,s,a,l,y,w,m,I,i.vertical?t.ah.horizontal:t.ah.horizontalOnly,o?j:[n],D,$,_,k),o)break}i.vertical&&(T+=_h(e,r,i.vertical,a,l,y,w,m,I,t.ah.vertical,[\"vertical\"],D,L,_,k));const R=z?z.boxStartIndex:e.collisionBoxArray.length,U=z?z.boxEndIndex:e.collisionBoxArray.length,q=C?C.boxStartIndex:e.collisionBoxArray.length,N=C?C.boxEndIndex:e.collisionBoxArray.length,Z=P?P.boxStartIndex:e.collisionBoxArray.length,G=P?P.boxEndIndex:e.collisionBoxArray.length,K=B?B.boxStartIndex:e.collisionBoxArray.length,X=B?B.boxEndIndex:e.collisionBoxArray.length;let H=-1;const Y=(t,e)=>t&&t.circleDiameter?Math.max(t.circleDiameter,e):e;H=Y(z,H),H=Y(C,H),H=Y(P,H),H=Y(B,H);const J=H>-1?1:0;J&&(H*=M/iu),e.glyphOffsetArray.length>=dc.MAX_GLYPHS&&A(\"Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907\"),void 0!==w.sortKey&&e.addToSortKeyRanges(e.symbolInstances.length,w.sortKey);const W=vh(l,w,k),[Q,tt]=function(e,r){const n=e.length,i=null==r?void 0:r.values;if((null==i?void 0:i.length)>0)for(let r=0;r=0?D.right:-1,D.center>=0?D.center:-1,D.left>=0?D.left:-1,D.vertical||-1,$,L,O,R,U,q,N,Z,G,K,X,c,F,T,V,E,J,0,f,H,Q,tt);}(e,p,l,n,i,s,C,e.layers[0],e.collisionBoxArray,r.index,r.sourceLayerIndex,e.index,g,[w,w,w,w],k,u,v,_,M,d,r,a,c,h,o);};if(\"line\"===I)for(const t of Hc(r.geometry,0,0,$a,$a)){const r=rh(t,b,S,n.vertical||y,i,24,x,e.overscaling,$a);for(const n of r)y&&Sh(e,y.text,z,n)||B(t,n);}else if(\"line-center\"===I){for(const t of r.geometry)if(t.length>1){const e=eh(t,S,n.vertical||y,i,24,x);e&&B(t,e);}}else if(\"Polygon\"===r.type)for(const t of xr(r.geometry,0)){const e=ph(t,16);B(t[0],new Yc(e.x,e.y,0));}else if(\"LineString\"===r.type)for(const t of r.geometry)B(t,new Yc(t[0].x,t[0].y,0));else if(\"Point\"===r.type)for(const t of r.geometry)for(const e of t)B([e],new Yc(e.x,e.y,0));}function _h(t,e,r,n,i,a,o,l,u,c,h,p,f,d,y){const m=function(t,e,r,n,i,a,o,l){const u=n.layout.get(\"text-rotate\").evaluate(a,{})*Math.PI/180,c=[];for(const t of e.positionedLines)for(const n of t.positionedGlyphs){if(!n.rect)continue;const a=n.rect||{};let h=Vu+1,p=!0,f=1,d=0;const y=(i||l)&&n.vertical,m=n.metrics.advance*n.scale/2;if(l&&e.verticalizable&&(d=t.lineOffset/2-(n.imageName?-(iu-n.metrics.width*n.scale)/2:(n.scale-1)*iu)),n.imageName){const t=o[n.imageName];p=t.sdf,f=t.pixelRatio,h=Fu/f;}const g=i?[n.x+m,n.y]:[0,0];let x=i?[0,0]:[n.x+m+r[0],n.y+r[1]-d],v=[0,0];y&&(v=x,x=[0,0]);const b=n.metrics.isDoubleResolution?2:1,w=(n.metrics.left-h)*n.scale-m+x[0],_=(-n.metrics.top-h)*n.scale+x[1],A=w+a.w/b*n.scale/f,S=_+a.h/b*n.scale/f,k=new s(w,_),M=new s(A,_),I=new s(w,S),z=new s(A,S);if(y){const t=new s(-m,m-Du),e=-Math.PI/2,r=iu/2-m,i=new s(5-Du-r,-(n.imageName?r:0)),a=new s(...v);k._rotateAround(e,t)._add(i)._add(a),M._rotateAround(e,t)._add(i)._add(a),I._rotateAround(e,t)._add(i)._add(a),z._rotateAround(e,t)._add(i)._add(a);}if(u){const t=Math.sin(u),e=Math.cos(u),r=[e,-t,t,e];k._matMult(r),M._matMult(r),I._matMult(r),z._matMult(r);}const P=new s(0,0),C=new s(0,0);c.push({tl:k,tr:M,bl:I,br:z,tex:a,writingMode:e.writingMode,glyphOffset:g,sectionIndex:n.sectionIndex,isSDF:p,pixelOffsetTL:P,pixelOffsetBR:C,minFontScaleX:0,minFontScaleY:0});}return c}(0,r,l,i,a,o,n,t.allowVerticalPlacement),g=t.textSizeData;let x=null;\"source\"===g.kind?(x=[nc*i.layout.get(\"text-size\").evaluate(o,{})],x[0]>ic&&A(`${t.layerIds[0]}: Value for \"text-size\" is >= ${rc}. Reduce your \"text-size\".`)):\"composite\"===g.kind&&(x=[nc*d.compositeTextSizes[0].evaluate(o,{},y),nc*d.compositeTextSizes[1].evaluate(o,{},y)],(x[0]>ic||x[1]>ic)&&A(`${t.layerIds[0]}: Value for \"text-size\" is >= ${rc}. Reduce your \"text-size\".`)),t.addSymbols(t.text,m,x,l,a,o,c,e,u.lineStartIndex,u.lineLength,f,y);for(const e of h)p[e]=t.text.placedSymbolArray.length-1;return 4*m.length}function Ah(t){for(const e in t)return t[e];return null}function Sh(t,e,r,n){const i=t.compareText;if(e in i){const t=i[e];for(let e=t.length-1;e>=0;e--)if(n.dist(t[e])>4;if(1!==n)throw new Error(`Got v${n} data when expected v1.`);const i=kh[15&r];if(!i)throw new Error(\"Unrecognized array type.\");const[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new Mh(a,s,i,t)}constructor(t,e=64,r=Float64Array,n){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+e,2),65535),this.ArrayType=r,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;const i=kh.indexOf(this.ArrayType),s=2*t*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,o=(8-a%8)%8;if(i<0)throw new Error(`Unexpected typed array class: ${r}.`);n&&n instanceof ArrayBuffer?(this.data=n,this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=2*t,this._finished=!0):(this.data=new ArrayBuffer(8+s+a+o),this.ids=new this.IndexArrayType(this.data,8,t),this.coords=new this.ArrayType(this.data,8+a+o,2*t),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,16+i]),new Uint16Array(this.data,2,1)[0]=e,new Uint32Array(this.data,4,1)[0]=t);}add(t,e){const r=this._pos>>1;return this.ids[r]=r,this.coords[this._pos++]=t,this.coords[this._pos++]=e,r}finish(){const t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return Ih(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,e,r,n){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:i,coords:s,nodeSize:a}=this,o=[0,i.length-1,0],l=[];for(;o.length;){const u=o.pop()||0,c=o.pop()||0,h=o.pop()||0;if(c-h<=a){for(let a=h;a<=c;a++){const o=s[2*a],u=s[2*a+1];o>=t&&o<=r&&u>=e&&u<=n&&l.push(i[a]);}continue}const p=h+c>>1,f=s[2*p],d=s[2*p+1];f>=t&&f<=r&&d>=e&&d<=n&&l.push(i[p]),(0===u?t<=f:e<=d)&&(o.push(h),o.push(p-1),o.push(1-u)),(0===u?r>=f:n>=d)&&(o.push(p+1),o.push(c),o.push(1-u));}return l}within(t,e,r){if(!this._finished)throw new Error(\"Data not yet indexed - call index.finish().\");const{ids:n,coords:i,nodeSize:s}=this,a=[0,n.length-1,0],o=[],l=r*r;for(;a.length;){const u=a.pop()||0,c=a.pop()||0,h=a.pop()||0;if(c-h<=s){for(let r=h;r<=c;r++)Bh(i[2*r],i[2*r+1],t,e)<=l&&o.push(n[r]);continue}const p=h+c>>1,f=i[2*p],d=i[2*p+1];Bh(f,d,t,e)<=l&&o.push(n[p]),(0===u?t-r<=f:e-r<=d)&&(a.push(h),a.push(p-1),a.push(1-u)),(0===u?t+r>=f:e+r>=d)&&(a.push(p+1),a.push(c),a.push(1-u));}return o}}function Ih(t,e,r,n,i,s){if(i-n<=r)return;const a=n+i>>1;zh(t,e,a,n,i,s),Ih(t,e,r,n,a-1,1-s),Ih(t,e,r,a+1,i,1-s);}function zh(t,e,r,n,i,s){for(;i>n;){if(i-n>600){const a=i-n+1,o=r-n+1,l=Math.log(a),u=.5*Math.exp(2*l/3),c=.5*Math.sqrt(l*u*(a-u)/a)*(o-a/2<0?-1:1);zh(t,e,r,Math.max(n,Math.floor(r-o*u/a+c)),Math.min(i,Math.floor(r+(a-o)*u/a+c)),s);}const a=e[2*r+s];let o=n,l=i;for(Ph(t,e,n,r),e[2*i+s]>a&&Ph(t,e,n,i);oa;)l--;}e[2*n+s]===a?Ph(t,e,n,l):(l++,Ph(t,e,l,i)),l<=r&&(n=l+1),r<=l&&(i=l-1);}}function Ph(t,e,r,n){Ch(t,r,n),Ch(e,2*r,2*n),Ch(e,2*r+1,2*n+1);}function Ch(t,e,r){const n=t[e];t[e]=t[r],t[r]=n;}function Bh(t,e,r,n){const i=t-r,s=e-n;return i*i+s*s}var Vh;t.bg=void 0,(Vh=t.bg||(t.bg={})).create=\"create\",Vh.load=\"load\",Vh.fullLoad=\"fullLoad\";let Eh=null,Fh=[];const Th=1e3/60,$h=\"loadTime\",Lh=\"fullLoadTime\",Dh={mark(t){performance.mark(t);},frame(t){const e=t;null!=Eh&&Fh.push(e-Eh),Eh=e;},clearMetrics(){Eh=null,Fh=[],performance.clearMeasures($h),performance.clearMeasures(Lh);for(const e in t.bg)performance.clearMarks(t.bg[e]);},getPerformanceMetrics(){performance.measure($h,t.bg.create,t.bg.load),performance.measure(Lh,t.bg.create,t.bg.fullLoad);const e=performance.getEntriesByName($h)[0].duration,r=performance.getEntriesByName(Lh)[0].duration,n=Fh.length,i=1/(Fh.reduce(((t,e)=>t+e),0)/n/1e3),s=Fh.filter((t=>t>Th)).reduce(((t,e)=>t+(e-Th)/Th),0);return {loadTime:e,fullLoadTime:r,fps:i,percentDroppedFrames:s/(n+s)*100,totalFrames:n}}};t.$=class extends ps{},t.A=oo,t.B=yi,t.C=function(t){if(null==M){const e=t.navigator?t.navigator.userAgent:null;M=!!t.safari||!(!e||!(/\\b(iPad|iPhone|iPod)\\b/.test(e)||e.match(\"Safari\")&&!e.match(\"Chrome\")));}return M},t.D=Ji,t.E=Z,t.F=class{constructor(t,e){this.target=t,this.mapId=e,this.resolveRejects={},this.tasks={},this.taskQueue=[],this.abortControllers={},this.messageHandlers={},this.invoker=new Ic((()=>this.process())),this.subscription=function(t,e,r,n){return t.addEventListener(e,r,!1),{unsubscribe:()=>{t.removeEventListener(e,r,!1);}}}(this.target,\"message\",(t=>this.receive(t))),this.globalScope=k(self)?t:window;}registerMessageHandler(t,e){this.messageHandlers[t]=e;}sendAsync(t,e){return new Promise(((r,n)=>{const i=Math.round(1e18*Math.random()).toString(36).substring(0,10);this.resolveRejects[i]={resolve:r,reject:n},e&&e.signal.addEventListener(\"abort\",(()=>{delete this.resolveRejects[i];const e={id:i,type:\"\",origin:location.origin,targetMapId:t.targetMapId,sourceMapId:this.mapId};this.target.postMessage(e);}),{once:!0});const s=[],a=Object.assign(Object.assign({},t),{id:i,sourceMapId:this.mapId,origin:location.origin,data:ki(t.data,s)});this.target.postMessage(a,{transfer:s});}))}receive(t){const e=t.data,r=e.id;if(!(\"file://\"!==e.origin&&\"file://\"!==location.origin&&\"resource://android\"!==e.origin&&\"resource://android\"!==location.origin&&e.origin!==location.origin||e.targetMapId&&this.mapId!==e.targetMapId)){if(\"\"===e.type){delete this.tasks[r];const t=this.abortControllers[r];return delete this.abortControllers[r],void(t&&t.abort())}if(k(self)||e.mustQueue)return this.tasks[r]=e,this.taskQueue.push(r),void this.invoker.trigger();this.processTask(r,e);}}process(){if(0===this.taskQueue.length)return;const t=this.taskQueue.shift(),e=this.tasks[t];delete this.tasks[t],this.taskQueue.length>0&&this.invoker.trigger(),e&&this.processTask(t,e);}processTask(t,r){return e(this,void 0,void 0,(function*(){if(\"\"===r.type){const e=this.resolveRejects[t];if(delete this.resolveRejects[t],!e)return;return void(r.error?e.reject(Mi(r.error)):e.resolve(Mi(r.data)))}if(!this.messageHandlers[r.type])return void this.completeTask(t,new Error(`Could not find a registered handler for ${r.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(\", \")}`));const e=Mi(r.data),n=new AbortController;this.abortControllers[t]=n;try{const i=yield this.messageHandlers[r.type](r.sourceMapId,e,n);this.completeTask(t,null,i);}catch(e){this.completeTask(t,e);}}))}completeTask(t,e,r){const n=[];delete this.abortControllers[t];const i={id:t,type:\"\",sourceMapId:this.mapId,origin:location.origin,error:e?ki(e):null,data:ki(r,n)};this.target.postMessage(i,{transfer:n});}remove(){this.invoker.remove(),this.subscription.unsubscribe();}},t.G=$,t.H=function(){var t=new oo(16);return oo!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t},t.I=Tu,t.J=function(t,e,r){var n,i,s,a,o,l,u,c,h,p,f,d,y=r[0],m=r[1],g=r[2];return e===t?(t[12]=e[0]*y+e[4]*m+e[8]*g+e[12],t[13]=e[1]*y+e[5]*m+e[9]*g+e[13],t[14]=e[2]*y+e[6]*m+e[10]*g+e[14],t[15]=e[3]*y+e[7]*m+e[11]*g+e[15]):(i=e[1],s=e[2],a=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],p=e[9],f=e[10],d=e[11],t[0]=n=e[0],t[1]=i,t[2]=s,t[3]=a,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=p,t[10]=f,t[11]=d,t[12]=n*y+o*m+h*g+e[12],t[13]=i*y+l*m+p*g+e[13],t[14]=s*y+u*m+f*g+e[14],t[15]=a*y+c*m+d*g+e[15]),t},t.K=function(t,e,r){var n=r[0],i=r[1],s=r[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*i,t[5]=e[5]*i,t[6]=e[6]*i,t[7]=e[7]*i,t[8]=e[8]*s,t[9]=e[9]*s,t[10]=e[10]*s,t[11]=e[11]*s,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},t.L=uo,t.M=function(t,e){const r={};for(let n=0;n{const e=window.document.createElement(\"video\");return e.muted=!0,new Promise((r=>{e.onloadstart=()=>{r(e);};for(const r of t){const t=window.document.createElement(\"source\");j(r)||(e.crossOrigin=\"Anonymous\"),t.src=r,e.appendChild(t);}}))},t.a4=function(){return x++},t.a5=Fs,t.a6=dc,t.a7=zn,t.a8=ja,t.a9=Nc,t.aA=function(t){if(\"custom\"===t.type)return new Mc(t);switch(t.type){case\"background\":return new _c(t);case\"circle\":return new fo(t);case\"fill\":return new ul(t);case\"fill-extrusion\":return new El(t);case\"heatmap\":return new Mo(t);case\"hillshade\":return new Po(t);case\"line\":return new Hl(t);case\"raster\":return new kc(t);case\"symbol\":return new vc(t)}},t.aB=w,t.aC=function(t,e){if(!t)return [{command:\"setStyle\",args:[e]}];let r=[];try{if(!H(t.version,e.version))return [{command:\"setStyle\",args:[e]}];H(t.center,e.center)||r.push({command:\"setCenter\",args:[e.center]}),H(t.zoom,e.zoom)||r.push({command:\"setZoom\",args:[e.zoom]}),H(t.bearing,e.bearing)||r.push({command:\"setBearing\",args:[e.bearing]}),H(t.pitch,e.pitch)||r.push({command:\"setPitch\",args:[e.pitch]}),H(t.sprite,e.sprite)||r.push({command:\"setSprite\",args:[e.sprite]}),H(t.glyphs,e.glyphs)||r.push({command:\"setGlyphs\",args:[e.glyphs]}),H(t.transition,e.transition)||r.push({command:\"setTransition\",args:[e.transition]}),H(t.light,e.light)||r.push({command:\"setLight\",args:[e.light]}),H(t.terrain,e.terrain)||r.push({command:\"setTerrain\",args:[e.terrain]}),H(t.sky,e.sky)||r.push({command:\"setSky\",args:[e.sky]}),H(t.projection,e.projection)||r.push({command:\"setProjection\",args:[e.projection]});const n={},i=[];!function(t,e,r,n){let i;for(i in e=e||{},t=t||{})Object.prototype.hasOwnProperty.call(t,i)&&(Object.prototype.hasOwnProperty.call(e,i)||W(i,r,n));for(i in e)Object.prototype.hasOwnProperty.call(e,i)&&(Object.prototype.hasOwnProperty.call(t,i)?H(t[i],e[i])||(\"geojson\"===t[i].type&&\"geojson\"===e[i].type&&tt(t,e,i)?Y(r,{command:\"setGeoJSONSourceData\",args:[i,e[i].data]}):Q(i,e,r,n)):J(i,e,r));}(t.sources,e.sources,i,n);const s=[];t.layers&&t.layers.forEach((t=>{\"source\"in t&&n[t.source]?r.push({command:\"removeLayer\",args:[t.id]}):s.push(t);})),r=r.concat(i),function(t,e,r){e=e||[];const n=(t=t||[]).map(rt),i=e.map(rt),s=t.reduce(nt,{}),a=e.reduce(nt,{}),o=n.slice(),l=Object.create(null);let u,c,h,p,f;for(let t=0,e=0;t@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)(?:\\=(?:([^\\x00-\\x20\\(\\)<>@\\,;\\:\\\\\"\\/\\[\\]\\?\\=\\{\\}\\x7F]+)|(?:\\\"((?:[^\"\\\\]|\\\\.)*)\\\")))?/g,((t,r,n,i)=>{const s=n||i;return e[r]=!s||s.toLowerCase(),\"\"})),e[\"max-age\"]){const t=parseInt(e[\"max-age\"],10);isNaN(t)?delete e[\"max-age\"]:e[\"max-age\"]=t;}return e},t.ab=function(t,e){const r=[];for(const n in t)n in e||r.push(n);return r},t.ac=y,t.ad=function(t,e,r){var n=Math.sin(r),i=Math.cos(r),s=e[0],a=e[1],o=e[2],l=e[3],u=e[4],c=e[5],h=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=s*i+u*n,t[1]=a*i+c*n,t[2]=o*i+h*n,t[3]=l*i+p*n,t[4]=u*i-s*n,t[5]=c*i-a*n,t[6]=h*i-o*n,t[7]=p*i-l*n,t},t.ae=function(t){var e=new oo(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},t.af=po,t.ag=function(t,e){let r=0,n=0;if(\"constant\"===t.kind)n=t.layoutSize;else if(\"source\"!==t.kind){const{interpolationType:i,minZoom:s,maxZoom:a}=t,o=i?y(Be.interpolationFactor(i,e,s,a),0,1):0;\"camera\"===t.kind?n=Ce.number(t.minSize,t.maxSize,o):r=o;}return {uSizeT:r,uSize:n}},t.ai=function(t,{uSize:e,uSizeT:r},{lowerSize:n,upperSize:i}){return \"source\"===t.kind?n/nc:\"composite\"===t.kind?Ce.number(n/nc,i/nc,r):e},t.aj=cc,t.ak=function(t,e,r,n){const i=e.y-t.y,a=e.x-t.x,o=n.y-r.y,l=n.x-r.x,u=o*a-l*i;if(0===u)return null;const c=(l*(t.y-r.y)-o*(t.x-r.x))/u;return new s(t.x+c*a,t.y+c*i)},t.al=Hc,t.am=qa,t.an=lo,t.ao=function(t){let e=1/0,r=1/0,n=-1/0,i=-1/0;for(const s of t)e=Math.min(e,s.x),r=Math.min(r,s.y),n=Math.max(n,s.x),i=Math.max(i,s.y);return [e,r,n,i]},t.ap=iu,t.ar=ac,t.as=function(t,e){var r=e[0],n=e[1],i=e[2],s=e[3],a=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],p=e[10],f=e[11],d=e[12],y=e[13],m=e[14],g=e[15],x=r*o-n*a,v=r*l-i*a,b=r*u-s*a,w=n*l-i*o,_=n*u-s*o,A=i*u-s*l,S=c*y-h*d,k=c*m-p*d,M=c*g-f*d,I=h*m-p*y,z=h*g-f*y,P=p*g-f*m,C=x*P-v*z+b*I+w*M-_*k+A*S;return C?(t[0]=(o*P-l*z+u*I)*(C=1/C),t[1]=(i*z-n*P-s*I)*C,t[2]=(y*A-m*_+g*w)*C,t[3]=(p*_-h*A-f*w)*C,t[4]=(l*M-a*P-u*k)*C,t[5]=(r*P-i*M+s*k)*C,t[6]=(m*b-d*A-g*v)*C,t[7]=(c*A-p*b+f*v)*C,t[8]=(a*z-o*M+u*S)*C,t[9]=(n*M-r*z-s*S)*C,t[10]=(d*_-y*b+g*x)*C,t[11]=(h*b-c*_-f*x)*C,t[12]=(o*k-a*I-l*S)*C,t[13]=(r*I-n*k+i*S)*C,t[14]=(y*v-d*w-m*x)*C,t[15]=(c*w-h*v+p*x)*C,t):null},t.at=bh,t.au=Ju,t.av=Mh,t.aw=function(){const t={},e=G.$version;for(const r in G.$root){const n=G.$root[r];if(n.required){let i=null;i=\"version\"===r?e:\"array\"===n.type?[]:{},null!=i&&(t[r]=i);}}return t},t.ax=Ii,t.ay=D,t.az=function(t){t=t.slice();const e=Object.create(null);for(let r=0;r25||n<0||n>=1||r<0||r>=1)},t.bc=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e[1],t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e[2],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},t.bd=class extends hs{},t.be=zc,t.bf=Dh,t.bh=L,t.bi=function(t,e){F.REGISTERED_PROTOCOLS[t]=e;},t.bj=function(t){delete F.REGISTERED_PROTOCOLS[t];},t.bk=function(t,e){const r={};for(let n=0;nt*iu));}let v=o?\"center\":n.get(\"text-justify\").evaluate(i,{},e.canonical);const b=\"point\"===n.get(\"symbol-placement\")?n.get(\"text-max-width\").evaluate(i,{},e.canonical)*iu:1/0,w=()=>{e.bucket.allowVerticalPlacement&&Pi(s)&&(d.vertical=Ru(y,e.glyphMap,e.glyphPositions,e.imagePositions,c,b,a,m,\"left\",f,g,t.ah.vertical,!0,p,h));};if(!o&&x){const r=new Set;if(\"auto\"===v)for(let t=0;te(void 0,void 0,void 0,(function*(){if(0===t.byteLength)return createImageBitmap(new ImageData(1,1));const e=new Blob([new Uint8Array(t)],{type:\"image/png\"});try{return createImageBitmap(e)}catch(t){throw new Error(`Could not load image because of ${t.message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}})),t.e=g,t.f=t=>new Promise(((e,r)=>{const n=new Image;n.onload=()=>{e(n),URL.revokeObjectURL(n.src),n.onload=null,window.requestAnimationFrame((()=>{n.src=z;}));},n.onerror=()=>r(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));const i=new Blob([new Uint8Array(t)],{type:\"image/png\"});n.src=t.byteLength?URL.createObjectURL(i):z;})),t.g=T,t.h=(t,e)=>O(g(t,{type:\"json\"}),e),t.i=k,t.j=N,t.k=q,t.l=(t,e)=>O(g(t,{type:\"arrayBuffer\"}),e),t.m=O,t.n=function(t){return new Iu(t).readFields(Pu,[])},t.o=_o,t.p=Eu,t.q=rs,t.r=di,t.s=j,t.t=xi,t.u=fi,t.v=G,t.w=A,t.x=function([t,e,r]){return e+=90,e*=Math.PI/180,r*=Math.PI/180,{x:t*Math.cos(e)*Math.sin(r),y:t*Math.sin(e)*Math.sin(r),z:t*Math.cos(r)}},t.y=Ce,t.z=Ui;}));\n\ndefine(\"worker\",[\"./shared\"],(function(e){\"use strict\";class t{constructor(e){this.keyCache={},e&&this.replace(e);}replace(e){this._layerConfigs={},this._layers={},this.update(e,[]);}update(t,o){for(const o of t){this._layerConfigs[o.id]=o;const t=this._layers[o.id]=e.aA(o);t._featureFilter=e.a7(t.filter),this.keyCache[o.id]&&delete this.keyCache[o.id];}for(const e of o)delete this.keyCache[e],delete this._layerConfigs[e],delete this._layers[e];this.familiesBySource={};const i=e.bk(Object.values(this._layerConfigs),this.keyCache);for(const e of i){const t=e.map((e=>this._layers[e.id])),o=t[0];if(\"none\"===o.visibility)continue;const i=o.source||\"\";let s=this.familiesBySource[i];s||(s=this.familiesBySource[i]={});const r=o.sourceLayer||\"_geojsonTileLayer\";let n=s[r];n||(n=s[r]=[]),n.push(t);}}}class o{constructor(t){const o={},i=[];for(const e in t){const s=t[e],r=o[e]={};for(const e in s){const t=s[+e];if(!t||0===t.bitmap.width||0===t.bitmap.height)continue;const o={x:0,y:0,w:t.bitmap.width+2,h:t.bitmap.height+2};i.push(o),r[e]={rect:o,metrics:t.metrics};}}const{w:s,h:r}=e.p(i),n=new e.o({width:s||1,height:r||1});for(const i in t){const s=t[i];for(const t in s){const r=s[+t];if(!r||0===r.bitmap.width||0===r.bitmap.height)continue;const a=o[i][t].rect;e.o.copy(r.bitmap,n,{x:0,y:0},{x:a.x+1,y:a.y+1},r.bitmap);}}this.image=n,this.positions=o;}}e.bl(\"GlyphAtlas\",o);class i{constructor(t){this.tileID=new e.S(t.tileID.overscaledZ,t.tileID.wrap,t.tileID.canonical.z,t.tileID.canonical.x,t.tileID.canonical.y),this.uid=t.uid,this.zoom=t.zoom,this.pixelRatio=t.pixelRatio,this.tileSize=t.tileSize,this.source=t.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=t.showCollisionBoxes,this.collectResourceTiming=!!t.collectResourceTiming,this.returnDependencies=!!t.returnDependencies,this.promoteId=t.promoteId,this.inFlightDependencies=[];}parse(t,i,r,n){return e._(this,void 0,void 0,(function*(){this.status=\"parsing\",this.data=t,this.collisionBoxArray=new e.a5;const a=new e.bm(Object.keys(t.layers).sort()),l=new e.bn(this.tileID,this.promoteId);l.bucketLayerIDs=[];const c={},u={featureIndex:l,iconDependencies:{},patternDependencies:{},glyphDependencies:{},availableImages:r},h=i.familiesBySource[this.source];for(const o in h){const i=t.layers[o];if(!i)continue;1===i.version&&e.w(`Vector tile source \"${this.source}\" layer \"${o}\" does not use vector tile spec v2 and therefore may have some rendering errors.`);const n=a.encode(o),d=[];for(let e=0;e=o.maxzoom||\"none\"!==o.visibility&&(s(t,this.zoom,r),(c[o.id]=o.createBucket({index:l.bucketLayerIDs.length,layers:t,zoom:this.zoom,pixelRatio:this.pixelRatio,overscaling:this.overscaling,collisionBoxArray:this.collisionBoxArray,sourceLayerIndex:n,sourceID:this.source})).populate(d,u,this.tileID.canonical),l.bucketLayerIDs.push(t.map((e=>e.id))));}}const d=e.aF(u.glyphDependencies,(e=>Object.keys(e).map(Number)));this.inFlightDependencies.forEach((e=>null==e?void 0:e.abort())),this.inFlightDependencies=[];let f=Promise.resolve({});if(Object.keys(d).length){const e=new AbortController;this.inFlightDependencies.push(e),f=n.sendAsync({type:\"GG\",data:{stacks:d,source:this.source,tileID:this.tileID,type:\"glyphs\"}},e);}const g=Object.keys(u.iconDependencies);let p=Promise.resolve({});if(g.length){const e=new AbortController;this.inFlightDependencies.push(e),p=n.sendAsync({type:\"GI\",data:{icons:g,source:this.source,tileID:this.tileID,type:\"icons\"}},e);}const m=Object.keys(u.patternDependencies);let y=Promise.resolve({});if(m.length){const e=new AbortController;this.inFlightDependencies.push(e),y=n.sendAsync({type:\"GI\",data:{icons:m,source:this.source,tileID:this.tileID,type:\"patterns\"}},e);}const[v,w,x]=yield Promise.all([f,p,y]),b=new o(v),S=new e.bo(w,x);for(const t in c){const o=c[t];o instanceof e.a6?(s(o.layers,this.zoom,r),e.bp({bucket:o,glyphMap:v,glyphPositions:b.positions,imageMap:w,imagePositions:S.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical})):o.hasPattern&&(o instanceof e.bq||o instanceof e.br||o instanceof e.bs)&&(s(o.layers,this.zoom,r),o.addFeatures(u,this.tileID.canonical,S.patternPositions));}return this.status=\"done\",{buckets:Object.values(c).filter((e=>!e.isEmpty())),featureIndex:l,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:b.image,imageAtlas:S,glyphMap:this.returnDependencies?v:null,iconMap:this.returnDependencies?w:null,glyphPositions:this.returnDependencies?b.positions:null}}))}}function s(t,o,i){const s=new e.z(o);for(const e of t)e.recalculate(s,i);}class r{constructor(e,t,o){this.actor=e,this.layerIndex=t,this.availableImages=o,this.fetching={},this.loading={},this.loaded={};}loadVectorTile(t,o){return e._(this,void 0,void 0,(function*(){const i=yield e.l(t.request,o);try{return {vectorTile:new e.bt.VectorTile(new e.bu(i.data)),rawData:i.data,cacheControl:i.cacheControl,expires:i.expires}}catch(e){const o=new Uint8Array(i.data);let s=`Unable to parse the tile at ${t.request.url}, `;throw s+=31===o[0]&&139===o[1]?\"please make sure the data is not gzipped and that you have configured the relevant header in the server\":`got error: ${e.message}`,new Error(s)}}))}loadTile(t){return e._(this,void 0,void 0,(function*(){const o=t.uid,s=!!(t&&t.request&&t.request.collectResourceTiming)&&new e.bv(t.request),r=new i(t);this.loading[o]=r;const n=new AbortController;r.abort=n;try{const i=yield this.loadVectorTile(t,n);if(delete this.loading[o],!i)return null;const a=i.rawData,l={};i.expires&&(l.expires=i.expires),i.cacheControl&&(l.cacheControl=i.cacheControl);const c={};if(s){const e=s.finish();e&&(c.resourceTiming=JSON.parse(JSON.stringify(e)));}r.vectorTile=i.vectorTile;const u=r.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor);this.loaded[o]=r,this.fetching[o]={rawTileData:a,cacheControl:l,resourceTiming:c};try{const t=yield u;return e.e({rawTileData:a.slice(0)},t,l,c)}finally{delete this.fetching[o];}}catch(e){throw delete this.loading[o],r.status=\"done\",this.loaded[o]=r,e}}))}reloadTile(t){return e._(this,void 0,void 0,(function*(){const o=t.uid;if(!this.loaded||!this.loaded[o])throw new Error(\"Should not be trying to reload a tile that was never loaded or has been removed\");const i=this.loaded[o];if(i.showCollisionBoxes=t.showCollisionBoxes,\"parsing\"===i.status){const t=yield i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor);let s;if(this.fetching[o]){const{rawTileData:i,cacheControl:r,resourceTiming:n}=this.fetching[o];delete this.fetching[o],s=e.e({rawTileData:i.slice(0)},t,r,n);}else s=t;return s}if(\"done\"===i.status&&i.vectorTile)return i.parse(i.vectorTile,this.layerIndex,this.availableImages,this.actor)}))}abortTile(t){return e._(this,void 0,void 0,(function*(){const e=this.loading,o=t.uid;e&&e[o]&&e[o].abort&&(e[o].abort.abort(),delete e[o]);}))}removeTile(t){return e._(this,void 0,void 0,(function*(){this.loaded&&this.loaded[t.uid]&&delete this.loaded[t.uid];}))}}class n{constructor(){this.loaded={};}loadTile(t){return e._(this,void 0,void 0,(function*(){const{uid:o,encoding:i,rawImageData:s,redFactor:r,greenFactor:n,blueFactor:a,baseShift:l}=t,c=s.width+2,u=s.height+2,h=e.b(s)?new e.R({width:c,height:u},yield e.bw(s,-1,-1,c,u)):s,d=new e.bx(o,h,i,r,n,a,l);return this.loaded=this.loaded||{},this.loaded[o]=d,d}))}removeTile(e){const t=this.loaded,o=e.uid;t&&t[o]&&delete t[o];}}function a(e,t){if(0!==e.length){l(e[0],t);for(var o=1;o=Math.abs(a)?o-l+a:a-l+o,o=l;}o+i>=0!=!!t&&e.reverse();}var c=e.by((function e(t,o){var i,s=t&&t.type;if(\"FeatureCollection\"===s)for(i=0;i>31}function I(e,t){for(var o=e.loadGeometry(),i=e.type,s=0,r=0,n=o.length,a=0;ae},D=Math.fround||(C=new Float32Array(1),e=>(C[0]=+e,C[0]));var C;const L=3,O=5,F=6;class z{constructor(e){this.options=Object.assign(Object.create(T),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[];}load(e){const{log:t,minZoom:o,maxZoom:i}=this.options;t&&console.time(\"total time\");const s=`prepare ${e.length} points`;t&&console.time(s),this.points=e;const r=[];for(let t=0;t=o;e--){const o=+Date.now();n=this.trees[e]=this._createTree(this._cluster(n,e)),t&&console.log(\"z%d: %d clusters in %dms\",e,n.numItems,+Date.now()-o);}return t&&console.timeEnd(\"total time\"),this}getClusters(e,t){let o=((e[0]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,e[1]));let s=180===e[2]?180:((e[2]+180)%360+360)%360-180;const r=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)o=-180,s=180;else if(o>s){const e=this.getClusters([o,i,180,r],t),n=this.getClusters([-180,i,s,r],t);return e.concat(n)}const n=this.trees[this._limitZoom(t)],a=n.range(G(o),j(r),G(s),j(i)),l=n.data,c=[];for(const e of a){const t=this.stride*e;c.push(l[t+O]>1?A(l,t,this.clusterProps):this.points[l[t+L]]);}return c}getChildren(e){const t=this._getOriginId(e),o=this._getOriginZoom(e),i=\"No cluster with the specified id.\",s=this.trees[o];if(!s)throw new Error(i);const r=s.data;if(t*this.stride>=r.length)throw new Error(i);const n=this.options.radius/(this.options.extent*Math.pow(2,o-1)),a=s.within(r[t*this.stride],r[t*this.stride+1],n),l=[];for(const t of a){const o=t*this.stride;r[o+4]===e&&l.push(r[o+O]>1?A(r,o,this.clusterProps):this.points[r[o+L]]);}if(0===l.length)throw new Error(i);return l}getLeaves(e,t,o){const i=[];return this._appendLeaves(i,e,t=t||10,o=o||0,0),i}getTile(e,t,o){const i=this.trees[this._limitZoom(e)],s=Math.pow(2,e),{extent:r,radius:n}=this.options,a=n/r,l=(o-a)/s,c=(o+1+a)/s,u={features:[]};return this._addTileFeatures(i.range((t-a)/s,l,(t+1+a)/s,c),i.data,t,o,s,u),0===t&&this._addTileFeatures(i.range(1-a/s,l,1,c),i.data,s,o,s,u),t===s-1&&this._addTileFeatures(i.range(0,l,a/s,c),i.data,-1,o,s,u),u.features.length?u:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom;){const o=this.getChildren(e);if(t++,1!==o.length)break;e=o[0].properties.cluster_id;}return t}_appendLeaves(e,t,o,i,s){const r=this.getChildren(t);for(const t of r){const r=t.properties;if(r&&r.cluster?s+r.point_count<=i?s+=r.point_count:s=this._appendLeaves(e,r.cluster_id,o,i,s):s1;let l,c,u;if(a)l=E(t,e,this.clusterProps),c=t[e],u=t[e+1];else {const o=this.points[t[e+L]];l=o.properties;const[i,s]=o.geometry.coordinates;c=G(i),u=j(s);}const h={type:1,geometry:[[Math.round(this.options.extent*(c*s-o)),Math.round(this.options.extent*(u*s-i))]],tags:l};let d;d=a||this.options.generateId?t[e+L]:this.points[t[e+L]].id,void 0!==d&&(h.id=d),r.features.push(h);}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){const{radius:o,extent:i,reduce:s,minPoints:r}=this.options,n=o/(i*Math.pow(2,t)),a=e.data,l=[],c=this.stride;for(let o=0;ot&&(f+=a[o+O]);}if(f>d&&f>=r){let e,r=i*d,n=u*d,g=-1;const p=((o/c|0)<<5)+(t+1)+this.points.length;for(const i of h){const l=i*c;if(a[l+2]<=t)continue;a[l+2]=t;const u=a[l+O];r+=a[l]*u,n+=a[l+1]*u,a[l+4]=p,s&&(e||(e=this._map(a,o,!0),g=this.clusterProps.length,this.clusterProps.push(e)),s(e,this._map(a,l)));}a[o+4]=p,l.push(r/f,n/f,1/0,p,-1,f),s&&l.push(g);}else {for(let e=0;e1)for(const e of h){const o=e*c;if(!(a[o+2]<=t)){a[o+2]=t;for(let e=0;e>5}_getOriginZoom(e){return (e-this.points.length)%32}_map(e,t,o){if(e[t+O]>1){const i=this.clusterProps[e[t+F]];return o?Object.assign({},i):i}const i=this.points[e[t+L]].properties,s=this.options.map(i);return o&&s===i?Object.assign({},s):s}}function A(e,t,o){return {type:\"Feature\",id:e[t+L],properties:E(e,t,o),geometry:{type:\"Point\",coordinates:[(i=e[t],360*(i-.5)),R(e[t+1])]}};var i;}function E(e,t,o){const i=e[t+O],s=i>=1e4?`${Math.round(i/1e3)}k`:i>=1e3?Math.round(i/100)/10+\"k\":i,r=e[t+F],n=-1===r?{}:Object.assign({},o[r]);return Object.assign(n,{cluster:!0,cluster_id:e[t+L],point_count:i,point_count_abbreviated:s})}function G(e){return e/360+.5}function j(e){const t=Math.sin(e*Math.PI/180),o=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return o<0?0:o>1?1:o}function R(e){const t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function Z(e,t,o,i){let s=i;const r=t+(o-t>>1);let n,a=o-t;const l=e[t],c=e[t+1],u=e[o],h=e[o+1];for(let i=t+3;is)n=i,s=t;else if(t===s){const e=Math.abs(i-r);ei&&(n-t>3&&Z(e,t,n,i),e[n+2]=s,o-n>3&&Z(e,n,o,i));}function N(e,t,o,i,s,r){let n=s-o,a=r-i;if(0!==n||0!==a){const l=((e-o)*n+(t-i)*a)/(n*n+a*a);l>1?(o=s,i=r):l>0&&(o+=n*l,i+=a*l);}return n=e-o,a=t-i,n*n+a*a}function J(e,t,o,i){const s={id:null==e?null:e,type:t,geometry:o,tags:i,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};if(\"Point\"===t||\"MultiPoint\"===t||\"LineString\"===t)W(s,o);else if(\"Polygon\"===t)W(s,o[0]);else if(\"MultiLineString\"===t)for(const e of o)W(s,e);else if(\"MultiPolygon\"===t)for(const e of o)W(s,e[0]);return s}function W(e,t){for(let o=0;o0&&(n+=i?(s*l-a*r)/2:Math.sqrt(Math.pow(a-s,2)+Math.pow(l-r,2))),s=a,r=l;}const a=t.length-3;t[2]=1,Z(t,0,a,o),t[a+2]=1,t.size=Math.abs(n),t.start=0,t.end=t.size;}function q(e,t,o,i){for(let s=0;s1?1:o}function U(e,t,o,i,s,r,n,a){if(i/=t,r>=(o/=t)&&n=i)return null;const l=[];for(const t of e){const e=t.geometry;let r=t.type;const n=0===s?t.minX:t.minY,c=0===s?t.maxX:t.maxY;if(n>=o&&c=i)continue;let u=[];if(\"Point\"===r||\"MultiPoint\"===r)$(e,u,o,i,s);else if(\"LineString\"===r)K(e,u,o,i,s,!1,a.lineMetrics);else if(\"MultiLineString\"===r)ee(e,u,o,i,s,!1);else if(\"Polygon\"===r)ee(e,u,o,i,s,!0);else if(\"MultiPolygon\"===r)for(const t of e){const e=[];ee(t,e,o,i,s,!0),e.length&&u.push(e);}if(u.length){if(a.lineMetrics&&\"LineString\"===r){for(const e of u)l.push(J(t.id,r,e,t.tags));continue}\"LineString\"!==r&&\"MultiLineString\"!==r||(1===u.length?(r=\"LineString\",u=u[0]):r=\"MultiLineString\"),\"Point\"!==r&&\"MultiPoint\"!==r||(r=3===u.length?\"Point\":\"MultiPoint\"),l.push(J(t.id,r,u,t.tags));}}return l.length?l:null}function $(e,t,o,i,s){for(let r=0;r=o&&n<=i&&te(t,e[r],e[r+1],e[r+2]);}}function K(e,t,o,i,s,r,n){let a=Q(e);const l=0===s?oe:ie;let c,u,h=e.start;for(let d=0;do&&(u=l(a,f,g,m,y,o),n&&(a.start=h+c*u)):v>i?w=o&&(u=l(a,f,g,m,y,o),x=!0),w>i&&v<=i&&(u=l(a,f,g,m,y,i),x=!0),!r&&x&&(n&&(a.end=h+c*u),t.push(a),a=Q(e)),n&&(h+=c);}let d=e.length-3;const f=e[d],g=e[d+1],p=0===s?f:g;p>=o&&p<=i&&te(a,f,g,e[d+2]),d=a.length-3,r&&d>=3&&(a[d]!==a[0]||a[d+1]!==a[1])&&te(a,a[0],a[1],a[2]),a.length&&t.push(a);}function Q(e){const t=[];return t.size=e.size,t.start=e.start,t.end=e.end,t}function ee(e,t,o,i,s,r){for(const n of e)K(n,t,o,i,s,r,!1);}function te(e,t,o,i){e.push(t,o,i);}function oe(e,t,o,i,s,r){const n=(r-t)/(i-t);return te(e,r,o+(s-o)*n,1),n}function ie(e,t,o,i,s,r){const n=(r-o)/(s-o);return te(e,t+(i-t)*n,r,1),n}function se(e,t){const o=[];for(let i=0;i0&&t.size<(s?n:i))return void(o.numPoints+=t.length/3);const a=[];for(let e=0;en)&&(o.numSimplified++,a.push(t[e],t[e+1])),o.numPoints++;s&&function(e,t){let o=0;for(let t=0,i=e.length,s=i-2;t0===t)for(let t=0,o=e.length;t24)throw new Error(\"maxZoom should be in the 0-24 range\");if(t.promoteId&&t.generateId)throw new Error(\"promoteId and generateId cannot be used together.\");let i=function(e,t){const o=[];if(\"FeatureCollection\"===e.type)for(let i=0;i1&&console.time(\"creation\"),d=this.tiles[h]=le(e,t,o,i,l),this.tileCoords.push({z:t,x:o,y:i}),c)){c>1&&(console.log(\"tile z%d-%d-%d (features: %d, points: %d, simplified: %d)\",t,o,i,d.numFeatures,d.numPoints,d.numSimplified),console.timeEnd(\"creation\"));const e=`z${t}`;this.stats[e]=(this.stats[e]||0)+1,this.total++;}if(d.source=e,null==s){if(t===l.indexMaxZoom||d.numPoints<=l.indexMaxPoints)continue}else {if(t===l.maxZoom||t===s)continue;if(null!=s){const e=s-t;if(o!==r>>e||i!==n>>e)continue}}if(d.source=null,0===e.length)continue;c>1&&console.time(\"clipping\");const f=.5*l.buffer/l.extent,g=.5-f,p=.5+f,m=1+f;let y=null,v=null,w=null,x=null,b=U(e,u,o-f,o+p,0,d.minX,d.maxX,l),S=U(e,u,o+g,o+m,0,d.minX,d.maxX,l);e=null,b&&(y=U(b,u,i-f,i+p,1,d.minY,d.maxY,l),v=U(b,u,i+g,i+m,1,d.minY,d.maxY,l),b=null),S&&(w=U(S,u,i-f,i+p,1,d.minY,d.maxY,l),x=U(S,u,i+g,i+m,1,d.minY,d.maxY,l),S=null),c>1&&console.timeEnd(\"clipping\"),a.push(y||[],t+1,2*o,2*i),a.push(v||[],t+1,2*o,2*i+1),a.push(w||[],t+1,2*o+1,2*i),a.push(x||[],t+1,2*o+1,2*i+1);}}getTile(e,t,o){e=+e,t=+t,o=+o;const i=this.options,{extent:s,debug:r}=i;if(e<0||e>24)return null;const n=1<1&&console.log(\"drilling down to z%d-%d-%d\",e,t,o);let l,c=e,u=t,h=o;for(;!l&&c>0;)c--,u>>=1,h>>=1,l=this.tiles[fe(c,u,h)];return l&&l.source?(r>1&&(console.log(\"found parent tile z%d-%d-%d\",c,u,h),console.time(\"drilling down\")),this.splitTile(l.source,c,u,h,e,t,o),r>1&&console.timeEnd(\"drilling down\"),this.tiles[a]?ne(this.tiles[a],s):null):null}}function fe(e,t,o){return 32*((1<{n.properties=e;const t={};for(const e of a)t[e]=i[e].evaluate(r,n);return t},t.reduce=(e,t)=>{n.properties=t;for(const t of a)r.accumulated=e[t],e[t]=s[t].evaluate(r,n);},t}(t)).load((yield this._pendingData).features):(s=yield this._pendingData,new de(s,t.geojsonVtOptions)),this.loaded={};const o={};if(i){const e=i.finish();e&&(o.resourceTiming={},o.resourceTiming[t.source]=JSON.parse(JSON.stringify(e)));}return o}catch(t){if(delete this._pendingRequest,e.bB(t))return {abandoned:!0};throw t}var s;}))}getData(){return e._(this,void 0,void 0,(function*(){return this._pendingData}))}reloadTile(e){const t=this.loaded;return t&&t[e.uid]?super.reloadTile(e):this.loadTile(e)}loadAndProcessGeoJSON(t,o){return e._(this,void 0,void 0,(function*(){let i=yield this.loadGeoJSON(t,o);if(delete this._pendingRequest,\"object\"!=typeof i)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(c(i,!0),t.filter){const o=e.bC(t.filter,{type:\"boolean\",\"property-type\":\"data-driven\",overridable:!1,transition:!1});if(\"error\"===o.result)throw new Error(o.value.map((e=>`${e.key}: ${e.message}`)).join(\", \"));const s=i.features.filter((e=>o.value.evaluate({zoom:0},e)));i={type:\"FeatureCollection\",features:s};}return i}))}loadGeoJSON(t,o){return e._(this,void 0,void 0,(function*(){const{promoteId:i}=t;if(t.request){const s=yield e.h(t.request,o);return this._dataUpdateable=pe(s.data,i)?me(s.data,i):void 0,s.data}if(\"string\"==typeof t.data)try{const e=JSON.parse(t.data);return this._dataUpdateable=pe(e,i)?me(e,i):void 0,e}catch(e){throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`)}if(!t.dataDiff)throw new Error(`Input data given to '${t.source}' is not a valid GeoJSON object.`);if(!this._dataUpdateable)throw new Error(`Cannot update existing geojson data in ${t.source}`);return function(e,t,o){var i,s,r,n;if(t.removeAll&&e.clear(),t.remove)for(const o of t.remove)e.delete(o);if(t.add)for(const i of t.add){const t=ge(i,o);null!=t&&e.set(t,i);}if(t.update)for(const o of t.update){let t=e.get(o.id);if(null==t)continue;const a=!o.removeAllProperties&&((null===(i=o.removeProperties)||void 0===i?void 0:i.length)>0||(null===(s=o.addOrUpdateProperties)||void 0===s?void 0:s.length)>0);if((o.newGeometry||o.removeAllProperties||a)&&(t=Object.assign({},t),e.set(o.id,t),a&&(t.properties=Object.assign({},t.properties))),o.newGeometry&&(t.geometry=o.newGeometry),o.removeAllProperties)t.properties={};else if((null===(r=o.removeProperties)||void 0===r?void 0:r.length)>0)for(const e of o.removeProperties)Object.prototype.hasOwnProperty.call(t.properties,e)&&delete t.properties[e];if((null===(n=o.addOrUpdateProperties)||void 0===n?void 0:n.length)>0)for(const{key:e,value:i}of o.addOrUpdateProperties)t.properties[e]=i;}}(this._dataUpdateable,t.dataDiff,i),{type:\"FeatureCollection\",features:Array.from(this._dataUpdateable.values())}}))}removeSource(t){return e._(this,void 0,void 0,(function*(){this._pendingRequest&&this._pendingRequest.abort();}))}getClusterExpansionZoom(e){return this._geoJSONIndex.getClusterExpansionZoom(e.clusterId)}getClusterChildren(e){return this._geoJSONIndex.getChildren(e.clusterId)}getClusterLeaves(e){return this._geoJSONIndex.getLeaves(e.clusterId,e.limit,e.offset)}}class ve{constructor(t){this.self=t,this.actor=new e.F(t),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.self.registerWorkerSource=(e,t)=>{if(this.externalWorkerSourceTypes[e])throw new Error(`Worker source with name \"${e}\" already registered.`);this.externalWorkerSourceTypes[e]=t;},this.self.addProtocol=e.bi,this.self.removeProtocol=e.bj,this.self.registerRTLTextPlugin=t=>{if(e.bD.isParsed())throw new Error(\"RTL text plugin already registered.\");e.bD.setMethods(t);},this.actor.registerMessageHandler(\"LDT\",((e,t)=>this._getDEMWorkerSource(e,t.source).loadTile(t))),this.actor.registerMessageHandler(\"RDT\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getDEMWorkerSource(t,o.source).removeTile(o);})))),this.actor.registerMessageHandler(\"GCEZ\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterExpansionZoom(o)})))),this.actor.registerMessageHandler(\"GCC\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterChildren(o)})))),this.actor.registerMessageHandler(\"GCL\",((t,o)=>e._(this,void 0,void 0,(function*(){return this._getWorkerSource(t,o.type,o.source).getClusterLeaves(o)})))),this.actor.registerMessageHandler(\"LD\",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadData(t))),this.actor.registerMessageHandler(\"GD\",((e,t)=>this._getWorkerSource(e,t.type,t.source).getData())),this.actor.registerMessageHandler(\"LT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).loadTile(t))),this.actor.registerMessageHandler(\"RT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).reloadTile(t))),this.actor.registerMessageHandler(\"AT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).abortTile(t))),this.actor.registerMessageHandler(\"RMT\",((e,t)=>this._getWorkerSource(e,t.type,t.source).removeTile(t))),this.actor.registerMessageHandler(\"RS\",((t,o)=>e._(this,void 0,void 0,(function*(){if(!this.workerSources[t]||!this.workerSources[t][o.type]||!this.workerSources[t][o.type][o.source])return;const e=this.workerSources[t][o.type][o.source];delete this.workerSources[t][o.type][o.source],void 0!==e.removeSource&&e.removeSource(o);})))),this.actor.registerMessageHandler(\"RM\",(t=>e._(this,void 0,void 0,(function*(){delete this.layerIndexes[t],delete this.availableImages[t],delete this.workerSources[t],delete this.demWorkerSources[t];})))),this.actor.registerMessageHandler(\"SR\",((t,o)=>e._(this,void 0,void 0,(function*(){this.referrer=o;})))),this.actor.registerMessageHandler(\"SRPS\",((e,t)=>this._syncRTLPluginState(e,t))),this.actor.registerMessageHandler(\"IS\",((t,o)=>e._(this,void 0,void 0,(function*(){this.self.importScripts(o);})))),this.actor.registerMessageHandler(\"SI\",((e,t)=>this._setImages(e,t))),this.actor.registerMessageHandler(\"UL\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).update(o.layers,o.removedIds);})))),this.actor.registerMessageHandler(\"SL\",((t,o)=>e._(this,void 0,void 0,(function*(){this._getLayerIndex(t).replace(o);}))));}_setImages(t,o){return e._(this,void 0,void 0,(function*(){this.availableImages[t]=o;for(const e in this.workerSources[t]){const i=this.workerSources[t][e];for(const e in i)i[e].availableImages=o;}}))}_syncRTLPluginState(t,o){return e._(this,void 0,void 0,(function*(){if(e.bD.isParsed())return e.bD.getState();if(\"loading\"!==o.pluginStatus)return e.bD.setState(o),o;const t=o.pluginURL;if(this.self.importScripts(t),e.bD.isParsed()){const o={pluginStatus:\"loaded\",pluginURL:t};return e.bD.setState(o),o}throw e.bD.setState({pluginStatus:\"error\",pluginURL:\"\"}),new Error(`RTL Text Plugin failed to import scripts from ${t}`)}))}_getAvailableImages(e){let t=this.availableImages[e];return t||(t=[]),t}_getLayerIndex(e){let o=this.layerIndexes[e];return o||(o=this.layerIndexes[e]=new t),o}_getWorkerSource(e,t,o){if(this.workerSources[e]||(this.workerSources[e]={}),this.workerSources[e][t]||(this.workerSources[e][t]={}),!this.workerSources[e][t][o]){const i={sendAsync:(t,o)=>(t.targetMapId=e,this.actor.sendAsync(t,o))};switch(t){case\"vector\":this.workerSources[e][t][o]=new r(i,this._getLayerIndex(e),this._getAvailableImages(e));break;case\"geojson\":this.workerSources[e][t][o]=new ye(i,this._getLayerIndex(e),this._getAvailableImages(e));break;default:this.workerSources[e][t][o]=new this.externalWorkerSourceTypes[t](i,this._getLayerIndex(e),this._getAvailableImages(e));}}return this.workerSources[e][t][o]}_getDEMWorkerSource(e,t){return this.demWorkerSources[e]||(this.demWorkerSources[e]={}),this.demWorkerSources[e][t]||(this.demWorkerSources[e][t]=new n),this.demWorkerSources[e][t]}}return e.i(self)&&(self.worker=new ve(self)),ve}));\n\ndefine(\"index\",[\"exports\",\"./shared\"],(function(t,e){\"use strict\";var i=\"4.7.1\";let a,s;const o={now:\"undefined\"!=typeof performance&&performance&&performance.now?performance.now.bind(performance):Date.now.bind(Date),frameAsync:t=>new Promise(((i,a)=>{const s=requestAnimationFrame(i);t.signal.addEventListener(\"abort\",(()=>{cancelAnimationFrame(s),a(e.c());}));})),getImageData(t,e=0){return this.getImageCanvasContext(t).getImageData(-e,-e,t.width+2*e,t.height+2*e)},getImageCanvasContext(t){const e=window.document.createElement(\"canvas\"),i=e.getContext(\"2d\",{willReadFrequently:!0});if(!i)throw new Error(\"failed to create canvas 2d context\");return e.width=t.width,e.height=t.height,i.drawImage(t,0,0,t.width,t.height),i},resolveURL:t=>(a||(a=document.createElement(\"a\")),a.href=t,a.href),hardwareConcurrency:\"undefined\"!=typeof navigator&&navigator.hardwareConcurrency||4,get prefersReducedMotion(){return !!matchMedia&&(null==s&&(s=matchMedia(\"(prefers-reduced-motion: reduce)\")),s.matches)}};class r{static testProp(t){if(!r.docStyle)return t[0];for(let e=0;e{window.removeEventListener(\"click\",r.suppressClickInternal,!0);}),0);}static getScale(t){const e=t.getBoundingClientRect();return {x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}static getPoint(t,i,a){const s=i.boundingClientRect;return new e.P((a.clientX-s.left)/i.x-t.clientLeft,(a.clientY-s.top)/i.y-t.clientTop)}static mousePos(t,e){const i=r.getScale(t);return r.getPoint(t,i,e)}static touchPos(t,e){const i=[],a=r.getScale(t);for(let s=0;s{l&&d(l),l=null,u=!0;},h.onerror=()=>{c=!0,l=null;},h.src=\"data:image/webp;base64,UklGRh4AAABXRUJQVlA4TBEAAAAvAQAAAAfQ//73v/+BiOh/AAA=\"),function(t){let i,a,s,o;t.resetRequestQueue=()=>{i=[],a=0,s=0,o={};},t.addThrottleControl=t=>{const e=s++;return o[e]=t,e},t.removeThrottleControl=t=>{delete o[t],l();},t.getImage=(t,a,s=!0)=>new Promise(((o,r)=>{n.supported&&(t.headers||(t.headers={}),t.headers.accept=\"image/webp,*/*\"),e.e(t,{type:\"image\"}),i.push({abortController:a,requestParameters:t,supportImageRefresh:s,state:\"queued\",onError:t=>{r(t);},onSuccess:t=>{o(t);}}),l();}));const r=t=>e._(this,void 0,void 0,(function*(){t.state=\"running\";const{requestParameters:i,supportImageRefresh:s,onError:o,onSuccess:r,abortController:n}=t,c=!1===s&&!e.i(self)&&!e.g(i.url)&&(!i.headers||Object.keys(i.headers).reduce(((t,e)=>t&&\"accept\"===e),!0));a++;const u=c?h(i,n):e.m(i,n);try{const i=yield u;delete t.abortController,t.state=\"completed\",i.data instanceof HTMLImageElement||e.b(i.data)?r(i):i.data&&r({data:yield(d=i.data,\"function\"==typeof createImageBitmap?e.d(d):e.f(d)),cacheControl:i.cacheControl,expires:i.expires});}catch(e){delete t.abortController,o(e);}finally{a--,l();}var d;})),l=()=>{const t=(()=>{for(const t of Object.keys(o))if(o[t]())return !0;return !1})()?e.a.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:e.a.MAX_PARALLEL_IMAGE_REQUESTS;for(let e=a;e0;e++){const t=i.shift();t.abortController.signal.aborted?e--:r(t);}},h=(t,i)=>new Promise(((a,s)=>{const o=new Image,r=t.url,n=t.credentials;n&&\"include\"===n?o.crossOrigin=\"use-credentials\":(n&&\"same-origin\"===n||!e.s(r))&&(o.crossOrigin=\"anonymous\"),i.signal.addEventListener(\"abort\",(()=>{o.src=\"\",s(e.c());})),o.fetchPriority=\"high\",o.onload=()=>{o.onerror=o.onload=null,a({data:o});},o.onerror=()=>{o.onerror=o.onload=null,i.signal.aborted||s(new Error(\"Could not load image. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.\"));},o.src=r;}));}(_||(_={})),_.resetRequestQueue();class p{constructor(t){this._transformRequestFn=t;}transformRequest(t,e){return this._transformRequestFn&&this._transformRequestFn(t,e)||{url:t}}setTransformRequest(t){this._transformRequestFn=t;}}function m(t){var i=new e.A(3);return i[0]=t[0],i[1]=t[1],i[2]=t[2],i}var f,g=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t[2]=e[2]-i[2],t};f=new e.A(3),e.A!=Float32Array&&(f[0]=0,f[1]=0,f[2]=0);var v=function(t){var e=t[0],i=t[1];return e*e+i*i};function x(t){const e=[];if(\"string\"==typeof t)e.push({id:\"default\",url:t});else if(t&&t.length>0){const i=[];for(const{id:a,url:s}of t){const t=`${a}${s}`;-1===i.indexOf(t)&&(i.push(t),e.push({id:a,url:s}));}}return e}function y(t,e,i){const a=t.split(\"?\");return a[0]+=`${e}${i}`,a.join(\"?\")}!function(){var t=new e.A(2);e.A!=Float32Array&&(t[0]=0,t[1]=0);}();class b{constructor(t,e,i,a){this.context=t,this.format=i,this.texture=t.gl.createTexture(),this.update(e,a);}update(t,i,a){const{width:s,height:o}=t,r=!(this.size&&this.size[0]===s&&this.size[1]===o||a),{context:n}=this,{gl:l}=n;if(this.useMipmap=Boolean(i&&i.useMipmap),l.bindTexture(l.TEXTURE_2D,this.texture),n.pixelStoreUnpackFlipY.set(!1),n.pixelStoreUnpack.set(1),n.pixelStoreUnpackPremultiplyAlpha.set(this.format===l.RGBA&&(!i||!1!==i.premultiply)),r)this.size=[s,o],t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texImage2D(l.TEXTURE_2D,0,this.format,this.format,l.UNSIGNED_BYTE,t):l.texImage2D(l.TEXTURE_2D,0,this.format,s,o,0,this.format,l.UNSIGNED_BYTE,t.data);else {const{x:i,y:r}=a||{x:0,y:0};t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement||t instanceof ImageData||e.b(t)?l.texSubImage2D(l.TEXTURE_2D,0,i,r,l.RGBA,l.UNSIGNED_BYTE,t):l.texSubImage2D(l.TEXTURE_2D,0,i,r,s,o,l.RGBA,l.UNSIGNED_BYTE,t.data);}this.useMipmap&&this.isSizePowerOfTwo()&&l.generateMipmap(l.TEXTURE_2D);}bind(t,e,i){const{context:a}=this,{gl:s}=a;s.bindTexture(s.TEXTURE_2D,this.texture),i!==s.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(i=s.LINEAR),t!==this.filter&&(s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MAG_FILTER,t),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_MIN_FILTER,i||t),this.filter=t),e!==this.wrap&&(s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_S,e),s.texParameteri(s.TEXTURE_2D,s.TEXTURE_WRAP_T,e),this.wrap=e);}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){const{gl:t}=this.context;t.deleteTexture(this.texture),this.texture=null;}}function w(t){const{userImage:e}=t;return !!(e&&e.render&&e.render())&&(t.data.replace(new Uint8Array(e.data.buffer)),!0)}class T extends e.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new e.R({width:1,height:1}),this.dirty=!0;}isLoaded(){return this.loaded}setLoaded(t){if(this.loaded!==t&&(this.loaded=t,t)){for(const{ids:t,promiseResolve:e}of this.requestors)e(this._getImagesForIds(t));this.requestors=[];}}getImage(t){const i=this.images[t];if(i&&!i.data&&i.spriteData){const t=i.spriteData;i.data=new e.R({width:t.width,height:t.height},t.context.getImageData(t.x,t.y,t.width,t.height).data),i.spriteData=null;}return i}addImage(t,e){if(this.images[t])throw new Error(`Image id ${t} already exist, use updateImage instead`);this._validate(t,e)&&(this.images[t]=e);}_validate(t,i){let a=!0;const s=i.data||i.spriteData;return this._validateStretch(i.stretchX,s&&s.width)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchX\" value`))),a=!1),this._validateStretch(i.stretchY,s&&s.height)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"stretchY\" value`))),a=!1),this._validateContent(i.content,i)||(this.fire(new e.j(new Error(`Image \"${t}\" has invalid \"content\" value`))),a=!1),a}_validateStretch(t,e){if(!t)return !0;let i=0;for(const a of t){if(a[0]{let a=!0;if(!this.isLoaded())for(const e of t)this.images[e]||(a=!1);this.isLoaded()||a?e(this._getImagesForIds(t)):this.requestors.push({ids:t,promiseResolve:e});}))}_getImagesForIds(t){const i={};for(const a of t){let t=this.getImage(a);t||(this.fire(new e.k(\"styleimagemissing\",{id:a})),t=this.getImage(a)),t?i[a]={data:t.data.clone(),pixelRatio:t.pixelRatio,sdf:t.sdf,version:t.version,stretchX:t.stretchX,stretchY:t.stretchY,content:t.content,textFitWidth:t.textFitWidth,textFitHeight:t.textFitHeight,hasRenderCallback:Boolean(t.userImage&&t.userImage.render)}:e.w(`Image \"${a}\" could not be loaded. Please make sure you have added the image with map.addImage() or a \"sprite\" property in your style. You can provide missing images by listening for the \"styleimagemissing\" map event.`);}return i}getPixelSize(){const{width:t,height:e}=this.atlasImage;return {width:t,height:e}}getPattern(t){const i=this.patterns[t],a=this.getImage(t);if(!a)return null;if(i&&i.position.version===a.version)return i.position;if(i)i.position.version=a.version;else {const i={w:a.data.width+2,h:a.data.height+2,x:0,y:0},s=new e.I(i,a);this.patterns[t]={bin:i,position:s};}return this._updatePatternAtlas(),this.patterns[t].position}bind(t){const e=t.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new b(t,this.atlasImage,e.RGBA),this.atlasTexture.bind(e.LINEAR,e.CLAMP_TO_EDGE);}_updatePatternAtlas(){const t=[];for(const e in this.patterns)t.push(this.patterns[e].bin);const{w:i,h:a}=e.p(t),s=this.atlasImage;s.resize({width:i||1,height:a||1});for(const t in this.patterns){const{bin:i}=this.patterns[t],a=i.x+1,o=i.y+1,r=this.getImage(t).data,n=r.width,l=r.height;e.R.copy(r,s,{x:0,y:0},{x:a,y:o},{width:n,height:l}),e.R.copy(r,s,{x:0,y:l-1},{x:a,y:o-1},{width:n,height:1}),e.R.copy(r,s,{x:0,y:0},{x:a,y:o+l},{width:n,height:1}),e.R.copy(r,s,{x:n-1,y:0},{x:a-1,y:o},{width:1,height:l}),e.R.copy(r,s,{x:0,y:0},{x:a+n,y:o},{width:1,height:l});}this.dirty=!0;}beginFrame(){this.callbackDispatchedThisFrame={};}dispatchRenderCallbacks(t){for(const i of t){if(this.callbackDispatchedThisFrame[i])continue;this.callbackDispatchedThisFrame[i]=!0;const t=this.getImage(i);t||e.w(`Image with ID: \"${i}\" was not found`),w(t)&&this.updateImage(i,t);}}}const I=1e20;function E(t,e,i,a,s,o,r,n,l){for(let h=e;h-1);l++,o[l]=n,r[l]=h,r[l+1]=I;}for(let n=0,l=0;n65535)throw new Error(\"glyphs > 65535 not supported\");if(e.ranges[s])return {stack:t,id:i,glyph:a};if(!this.url)throw new Error(\"glyphsUrl is not set\");if(!e.requests[s]){const i=C.loadGlyphRange(t,s,this.url,this.requestManager);e.requests[s]=i;}const o=yield e.requests[s];for(const t in o)this._doesCharSupportLocalGlyph(+t)||(e.glyphs[+t]=o[+t]);return e.ranges[s]=!0,{stack:t,id:i,glyph:o[i]||null}}))}_doesCharSupportLocalGlyph(t){return !!this.localIdeographFontFamily&&/\\p{Ideo}|\\p{sc=Hang}|\\p{sc=Hira}|\\p{sc=Kana}/u.test(String.fromCodePoint(t))}_tinySDF(t,i,a){const s=this.localIdeographFontFamily;if(!s)return;if(!this._doesCharSupportLocalGlyph(a))return;let o=t.tinySDF;if(!o){let e=\"400\";/bold/i.test(i)?e=\"900\":/medium/i.test(i)?e=\"500\":/light/i.test(i)&&(e=\"200\"),o=t.tinySDF=new C.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:.25,fontFamily:s,fontWeight:e});}const r=o.draw(String.fromCharCode(a));return {id:a,bitmap:new e.o({width:r.width||60,height:r.height||60},r.data),metrics:{width:r.glyphWidth/2||24,height:r.glyphHeight/2||24,left:r.glyphLeft/2+.5||0,top:r.glyphTop/2-27.5||-8,advance:r.glyphAdvance/2||24,isDoubleResolution:!0}}}}C.loadGlyphRange=function(t,i,a,s){return e._(this,void 0,void 0,(function*(){const o=256*i,r=o+255,n=s.transformRequest(a.replace(\"{fontstack}\",t).replace(\"{range}\",`${o}-${r}`),\"Glyphs\"),l=yield e.l(n,new AbortController);if(!l||!l.data)throw new Error(`Could not load glyph range. range: ${i}, ${o}-${r}`);const h={};for(const t of e.n(l.data))h[t.id]=t;return h}))},C.TinySDF=class{constructor({fontSize:t=24,buffer:e=3,radius:i=8,cutoff:a=.25,fontFamily:s=\"sans-serif\",fontWeight:o=\"normal\",fontStyle:r=\"normal\"}={}){this.buffer=e,this.cutoff=a,this.radius=i;const n=this.size=t+4*e,l=this._createCanvas(n),h=this.ctx=l.getContext(\"2d\",{willReadFrequently:!0});h.font=`${r} ${o} ${t}px ${s}`,h.textBaseline=\"alphabetic\",h.textAlign=\"left\",h.fillStyle=\"black\",this.gridOuter=new Float64Array(n*n),this.gridInner=new Float64Array(n*n),this.f=new Float64Array(n),this.z=new Float64Array(n+1),this.v=new Uint16Array(n);}_createCanvas(t){const e=document.createElement(\"canvas\");return e.width=e.height=t,e}draw(t){const{width:e,actualBoundingBoxAscent:i,actualBoundingBoxDescent:a,actualBoundingBoxLeft:s,actualBoundingBoxRight:o}=this.ctx.measureText(t),r=Math.ceil(i),n=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(o-s))),l=Math.min(this.size-this.buffer,r+Math.ceil(a)),h=n+2*this.buffer,c=l+2*this.buffer,u=Math.max(h*c,0),d=new Uint8ClampedArray(u),_={data:d,width:h,height:c,glyphWidth:n,glyphHeight:l,glyphTop:r,glyphLeft:0,glyphAdvance:e};if(0===n||0===l)return _;const{ctx:p,buffer:m,gridInner:f,gridOuter:g}=this;p.clearRect(m,m,n,l),p.fillText(t,m,m+r);const v=p.getImageData(m,m,n,l);g.fill(I,0,u),f.fill(0,0,u);for(let t=0;t0?t*t:0,f[a]=t<0?t*t:0;}}E(g,0,0,h,c,h,this.f,this.v,this.z),E(f,m,m,n,l,h,this.f,this.v,this.z);for(let t=0;t1&&(r=t[++o]);const l=Math.abs(n-r.left),h=Math.abs(n-r.right),c=Math.min(l,h);let u;const d=e/i*(a+1);if(r.isDash){const t=a-Math.abs(d);u=Math.sqrt(c*c+t*t);}else u=a-Math.sqrt(c*c+d*d);this.data[s+n]=Math.max(0,Math.min(255,u+128));}}}addRegularDash(t){for(let e=t.length-1;e>=0;--e){const i=t[e],a=t[e+1];i.zeroLength?t.splice(e,1):a&&a.isDash===i.isDash&&(a.left=i.left,t.splice(e,1));}const e=t[0],i=t[t.length-1];e.isDash===i.isDash&&(e.left=i.left-this.width,i.right=e.right+this.width);const a=this.width*this.nextRow;let s=0,o=t[s];for(let e=0;e1&&(o=t[++s]);const i=Math.abs(e-o.left),r=Math.abs(e-o.right),n=Math.min(i,r);this.data[a+e]=Math.max(0,Math.min(255,(o.isDash?n:-n)+128));}}addDash(t,i){const a=i?7:0,s=2*a+1;if(this.nextRow+s>this.height)return e.w(\"LineAtlas out of space\"),null;let o=0;for(let e=0;e{t.terminate();})),this.workers=null);}isPreloaded(){return !!this.active[k]}numActive(){return Object.keys(this.active).length}}const F=Math.floor(o.hardwareConcurrency/2);let B,O;function N(){return B||(B=new L),B}L.workerCount=e.C(globalThis)?Math.max(Math.min(F,3),1):1;class U{constructor(t,i){this.workerPool=t,this.actors=[],this.currentActor=0,this.id=i;const a=this.workerPool.acquire(i);for(let t=0;t{t.remove();})),this.actors=[],t&&this.workerPool.release(this.id);}registerMessageHandler(t,e){for(const i of this.actors)i.registerMessageHandler(t,e);}}function j(){return O||(O=new U(N(),e.G),O.registerMessageHandler(\"GR\",((t,i,a)=>e.m(i,a)))),O}function Z(t,i){const a=e.H();return e.J(a,a,[1,1,0]),e.K(a,a,[.5*t.width,.5*t.height,1]),e.L(a,a,t.calculatePosMatrix(i.toUnwrapped()))}function q(t,e,i,a,s,o){const r=function(t,e,i){if(t)for(const a of t){const t=e[a];if(t&&t.source===i&&\"fill-extrusion\"===t.type)return !0}else for(const t in e){const a=e[t];if(a.source===i&&\"fill-extrusion\"===a.type)return !0}return !1}(s&&s.layers,e,t.id),n=o.maxPitchScaleFactor(),l=t.tilesIn(a,n,r);l.sort(V);const h=[];for(const a of l)h.push({wrappedTileID:a.tileID.wrapped().key,queryResults:a.tile.queryRenderedFeatures(e,i,t._state,a.queryGeometry,a.cameraQueryGeometry,a.scale,s,o,n,Z(t.transform,a.tileID))});const c=function(t){const e={},i={};for(const a of t){const t=a.queryResults,s=a.wrappedTileID,o=i[s]=i[s]||{};for(const i in t){const a=t[i],s=o[i]=o[i]||{},r=e[i]=e[i]||[];for(const t of a)s[t.featureIndex]||(s[t.featureIndex]=!0,r.push(t));}}return e}(h);for(const e in c)c[e].forEach((e=>{const i=e.feature,a=t.getFeatureState(i.layer[\"source-layer\"],i.id);i.source=i.layer.source,i.layer[\"source-layer\"]&&(i.sourceLayer=i.layer[\"source-layer\"]),i.state=a;}));return c}function V(t,e){const i=t.tileID,a=e.tileID;return i.overscaledZ-a.overscaledZ||i.canonical.y-a.canonical.y||i.wrap-a.wrap||i.canonical.x-a.canonical.x}function G(t,i,a){return e._(this,void 0,void 0,(function*(){let s=t;if(t.url?s=(yield e.h(i.transformRequest(t.url,\"Source\"),a)).data:yield o.frameAsync(a),!s)return null;const r=e.M(e.e(s,t),[\"tiles\",\"minzoom\",\"maxzoom\",\"attribution\",\"bounds\",\"scheme\",\"tileSize\",\"encoding\"]);return \"vector_layers\"in s&&s.vector_layers&&(r.vectorLayerIds=s.vector_layers.map((t=>t.id))),r}))}class H{constructor(t,e){t&&(e?this.setSouthWest(t).setNorthEast(e):Array.isArray(t)&&(4===t.length?this.setSouthWest([t[0],t[1]]).setNorthEast([t[2],t[3]]):this.setSouthWest(t[0]).setNorthEast(t[1])));}setNorthEast(t){return this._ne=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}setSouthWest(t){return this._sw=t instanceof e.N?new e.N(t.lng,t.lat):e.N.convert(t),this}extend(t){const i=this._sw,a=this._ne;let s,o;if(t instanceof e.N)s=t,o=t;else {if(!(t instanceof H))return Array.isArray(t)?4===t.length||t.every(Array.isArray)?this.extend(H.convert(t)):this.extend(e.N.convert(t)):t&&(\"lng\"in t||\"lon\"in t)&&\"lat\"in t?this.extend(e.N.convert(t)):this;if(s=t._sw,o=t._ne,!s||!o)return this}return i||a?(i.lng=Math.min(s.lng,i.lng),i.lat=Math.min(s.lat,i.lat),a.lng=Math.max(o.lng,a.lng),a.lat=Math.max(o.lat,a.lat)):(this._sw=new e.N(s.lng,s.lat),this._ne=new e.N(o.lng,o.lat)),this}getCenter(){return new e.N((this._sw.lng+this._ne.lng)/2,(this._sw.lat+this._ne.lat)/2)}getSouthWest(){return this._sw}getNorthEast(){return this._ne}getNorthWest(){return new e.N(this.getWest(),this.getNorth())}getSouthEast(){return new e.N(this.getEast(),this.getSouth())}getWest(){return this._sw.lng}getSouth(){return this._sw.lat}getEast(){return this._ne.lng}getNorth(){return this._ne.lat}toArray(){return [this._sw.toArray(),this._ne.toArray()]}toString(){return `LngLatBounds(${this._sw.toString()}, ${this._ne.toString()})`}isEmpty(){return !(this._sw&&this._ne)}contains(t){const{lng:i,lat:a}=e.N.convert(t);let s=this._sw.lng<=i&&i<=this._ne.lng;return this._sw.lng>this._ne.lng&&(s=this._sw.lng>=i&&i>=this._ne.lng),this._sw.lat<=a&&a<=this._ne.lat&&s}static convert(t){return t instanceof H?t:t?new H(t):t}static fromLngLat(t,i=0){const a=360*i/40075017,s=a/Math.cos(Math.PI/180*t.lat);return new H(new e.N(t.lng-s,t.lat-a),new e.N(t.lng+s,t.lat+a))}adjustAntiMeridian(){const t=new e.N(this._sw.lng,this._sw.lat),i=new e.N(this._ne.lng,this._ne.lat);return new H(t,t.lng>i.lng?new e.N(i.lng+360,i.lat):i)}}class W{constructor(t,e,i){this.bounds=H.convert(this.validateBounds(t)),this.minzoom=e||0,this.maxzoom=i||24;}validateBounds(t){return Array.isArray(t)&&4===t.length?[Math.max(-180,t[0]),Math.max(-90,t[1]),Math.min(180,t[2]),Math.min(90,t[3])]:[-180,-90,180,90]}contains(t){const i=Math.pow(2,t.z),a=Math.floor(e.O(this.bounds.getWest())*i),s=Math.floor(e.Q(this.bounds.getNorth())*i),o=Math.ceil(e.O(this.bounds.getEast())*i),r=Math.ceil(e.Q(this.bounds.getSouth())*i);return t.x>=a&&t.x=s&&t.y{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null);}serialize(){return e.e({},this._options)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),i={request:this.map._requestManager.transformRequest(e,\"Tile\"),uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,tileSize:this.tileSize*t.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};i.request.collectResourceTiming=this._collectResourceTiming;let a=\"RT\";if(t.actor&&\"expired\"!==t.state){if(\"loading\"===t.state)return new Promise(((e,i)=>{t.reloadPromise={resolve:e,reject:i};}))}else t.actor=this.dispatcher.getActor(),a=\"LT\";t.abortController=new AbortController;try{const e=yield t.actor.sendAsync({type:a,data:i},t.abortController);if(delete t.abortController,t.aborted)return;this._afterTileLoadWorkerResponse(t,e);}catch(e){if(delete t.abortController,t.aborted)return;if(e&&404!==e.status)throw e;this._afterTileLoadWorkerResponse(t,null);}}))}_afterTileLoadWorkerResponse(t,e){if(e&&e.resourceTiming&&(t.resourceTiming=e.resourceTiming),e&&this.map._refreshExpiredTiles&&t.setExpiryData(e),t.loadVectorData(e,this.map.painter),t.reloadPromise){const e=t.reloadPromise;t.reloadPromise=null,this.loadTile(t).then(e.resolve).catch(e.reject);}}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.actor&&(yield t.actor.sendAsync({type:\"AT\",data:{uid:t.uid,type:this.type,source:this.id}}));}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),t.actor&&(yield t.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}}));}))}hasTransition(){return !1}}class X extends e.E{constructor(t,i,a,s){super(),this.id=t,this.dispatcher=a,this.setEventedParent(s),this.type=\"raster\",this.minzoom=0,this.maxzoom=22,this.roundZoom=!0,this.scheme=\"xyz\",this.tileSize=512,this._loaded=!1,this._options=e.e({type:\"raster\"},i),e.e(this,e.M(i,[\"url\",\"scheme\",\"tileSize\"]));}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this._tileJSONRequest=new AbortController;try{const t=yield G(this._options,this.map._requestManager,this._tileJSONRequest);this._tileJSONRequest=null,this._loaded=!0,t&&(e.e(this,t),t.bounds&&(this.tileBounds=new W(t.bounds,this.minzoom,this.maxzoom)),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})));}catch(t){this._tileJSONRequest=null,this.fire(new e.j(t));}}))}loaded(){return this._loaded}onAdd(t){this.map=t,this.load();}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null);}setSourceProperty(t){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null),t(),this.load();}setTiles(t){return this.setSourceProperty((()=>{this._options.tiles=t;})),this}setUrl(t){return this.setSourceProperty((()=>{this.url=t,this._options.url=t;})),this}serialize(){return e.e({},this._options)}hasTile(t){return !this.tileBounds||this.tileBounds.contains(t.canonical)}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);t.abortController=new AbortController;try{const i=yield _.getImage(this.map._requestManager.transformRequest(e,\"Tile\"),t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(i&&i.data){this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const e=this.map.painter.context,a=e.gl,s=i.data;t.texture=this.map.painter.getTileTexture(s.width),t.texture?t.texture.update(s,{useMipmap:!0}):(t.texture=new b(e,s,a.RGBA,{useMipmap:!0}),t.texture.bind(a.LINEAR,a.CLAMP_TO_EDGE,a.LINEAR_MIPMAP_NEAREST)),t.state=\"loaded\";}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController);}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.texture&&this.map.painter.saveTileTexture(t.texture);}))}hasTransition(){return !1}}class K extends X{constructor(t,i,a,s){super(t,i,a,s),this.type=\"raster-dem\",this.maxzoom=22,this._options=e.e({type:\"raster-dem\"},i),this.encoding=i.encoding||\"mapbox\",this.redFactor=i.redFactor,this.greenFactor=i.greenFactor,this.blueFactor=i.blueFactor,this.baseShift=i.baseShift;}loadTile(t){return e._(this,void 0,void 0,(function*(){const i=t.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),a=this.map._requestManager.transformRequest(i,\"Tile\");t.neighboringTiles=this._getNeighboringTiles(t.tileID),t.abortController=new AbortController;try{const i=yield _.getImage(a,t.abortController,this.map._refreshExpiredTiles);if(delete t.abortController,t.aborted)return void(t.state=\"unloaded\");if(i&&i.data){const a=i.data;this.map._refreshExpiredTiles&&i.cacheControl&&i.expires&&t.setExpiryData({cacheControl:i.cacheControl,expires:i.expires});const s=e.b(a)&&e.U()?a:yield this.readImageNow(a),o={type:this.type,uid:t.uid,source:this.id,rawImageData:s,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(!t.actor||\"expired\"===t.state){t.actor=this.dispatcher.getActor();const e=yield t.actor.sendAsync({type:\"LDT\",data:o});t.dem=e,t.needsHillshadePrepare=!0,t.needsTerrainPrepare=!0,t.state=\"loaded\";}}}catch(e){if(delete t.abortController,t.aborted)t.state=\"unloaded\";else if(e)throw t.state=\"errored\",e}}))}readImageNow(t){return e._(this,void 0,void 0,(function*(){if(\"undefined\"!=typeof VideoFrame&&e.V()){const i=t.width+2,a=t.height+2;try{return new e.R({width:i,height:a},yield e.W(t,-1,-1,i,a))}catch(t){}}return o.getImageData(t,1)}))}_getNeighboringTiles(t){const i=t.canonical,a=Math.pow(2,i.z),s=(i.x-1+a)%a,o=0===i.x?t.wrap-1:t.wrap,r=(i.x+1+a)%a,n=i.x+1===a?t.wrap+1:t.wrap,l={};return l[new e.S(t.overscaledZ,o,i.z,s,i.y).key]={backfilled:!1},l[new e.S(t.overscaledZ,n,i.z,r,i.y).key]={backfilled:!1},i.y>0&&(l[new e.S(t.overscaledZ,o,i.z,s,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,t.wrap,i.z,i.x,i.y-1).key]={backfilled:!1},l[new e.S(t.overscaledZ,n,i.z,r,i.y-1).key]={backfilled:!1}),i.y+10&&e.e(s,{resourceTiming:a}),this.fire(new e.k(\"data\",Object.assign(Object.assign({},s),{sourceDataType:\"metadata\"}))),this.fire(new e.k(\"data\",Object.assign(Object.assign({},s),{sourceDataType:\"content\"})));}catch(t){if(this._pendingLoads--,this._removed)return void this.fire(new e.k(\"dataabort\",{dataType:\"source\"}));this.fire(new e.j(t));}}))}loaded(){return 0===this._pendingLoads}loadTile(t){return e._(this,void 0,void 0,(function*(){const e=t.actor?\"RT\":\"LT\";t.actor=this.actor;const i={type:this.type,uid:t.uid,tileID:t.tileID,zoom:t.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId};t.abortController=new AbortController;const a=yield this.actor.sendAsync({type:e,data:i},t.abortController);delete t.abortController,t.unloadVectorData(),t.aborted||t.loadVectorData(a,this.map.painter,\"RT\"===e);}))}abortTile(t){return e._(this,void 0,void 0,(function*(){t.abortController&&(t.abortController.abort(),delete t.abortController),t.aborted=!0;}))}unloadTile(t){return e._(this,void 0,void 0,(function*(){t.unloadVectorData(),yield this.actor.sendAsync({type:\"RMT\",data:{uid:t.uid,type:this.type,source:this.id}});}))}onRemove(){this._removed=!0,this.actor.sendAsync({type:\"RS\",data:{type:this.type,source:this.id}});}serialize(){return e.e({},this._options,{type:this.type,data:this._data})}hasTransition(){return !1}}var Y=e.Y([{name:\"a_pos\",type:\"Int16\",components:2},{name:\"a_texture_pos\",type:\"Int16\",components:2}]);class Q extends e.E{constructor(t,e,i,a){super(),this.id=t,this.dispatcher=i,this.coordinates=e.coordinates,this.type=\"image\",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(a),this.options=e;}load(t){return e._(this,void 0,void 0,(function*(){this._loaded=!1,this.fire(new e.k(\"dataloading\",{dataType:\"source\"})),this.url=this.options.url,this._request=new AbortController;try{const e=yield _.getImage(this.map._requestManager.transformRequest(this.url,\"Image\"),this._request);this._request=null,this._loaded=!0,e&&e.data&&(this.image=e.data,t&&(this.coordinates=t),this._finishLoading());}catch(t){this._request=null,this._loaded=!0,this.fire(new e.j(t));}}))}loaded(){return this._loaded}updateImage(t){return t.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=t.url,this.load(t.coordinates).finally((()=>{this.texture=null;})),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"metadata\"})));}onAdd(t){this.map=t,this.load();}onRemove(){this._request&&(this._request.abort(),this._request=null);}setCoordinates(t){this.coordinates=t;const i=t.map(e.Z.fromLngLat);this.tileID=function(t){let i=1/0,a=1/0,s=-1/0,o=-1/0;for(const e of t)i=Math.min(i,e.x),a=Math.min(a,e.y),s=Math.max(s,e.x),o=Math.max(o,e.y);const r=Math.max(s-i,o-a),n=Math.max(0,Math.floor(-Math.log(r)/Math.LN2)),l=Math.pow(2,n);return new e.a1(n,Math.floor((i+s)/2*l),Math.floor((a+o)/2*l))}(i),this.minzoom=this.maxzoom=this.tileID.z;const a=i.map((t=>this.tileID.getTilePoint(t)._round()));return this._boundsArray=new e.$,this._boundsArray.emplaceBack(a[0].x,a[0].y,0,0),this._boundsArray.emplaceBack(a[1].x,a[1].y,e.X,0),this._boundsArray.emplaceBack(a[3].x,a[3].y,0,e.X),this._boundsArray.emplaceBack(a[2].x,a[2].y,e.X,e.X),this.boundsBuffer&&(this.boundsBuffer.destroy(),delete this.boundsBuffer),this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"content\"})),this}prepare(){if(0===Object.keys(this.tiles).length||!this.image)return;const t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture||(this.texture=new b(t,this.image,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let a=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,a=!0);}a&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}loadTile(t){return e._(this,void 0,void 0,(function*(){this.tileID&&this.tileID.equals(t.tileID.canonical)?(this.tiles[String(t.tileID.wrap)]=t,t.buckets={}):t.state=\"errored\";}))}serialize(){return {type:\"image\",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return !1}}class tt extends Q{constructor(t,e,i,a){super(t,e,i,a),this.roundZoom=!0,this.type=\"video\",this.options=e;}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!1;const t=this.options;this.urls=[];for(const e of t.urls)this.urls.push(this.map._requestManager.transformRequest(e,\"Source\").url);try{const t=yield e.a3(this.urls);if(this._loaded=!0,!t)return;this.video=t,this.video.loop=!0,this.video.addEventListener(\"playing\",(()=>{this.map.triggerRepaint();})),this.map&&this.video.play(),this._finishLoading();}catch(t){this.fire(new e.j(t));}}))}pause(){this.video&&this.video.pause();}play(){this.video&&this.video.play();}seek(t){if(this.video){const i=this.video.seekable;ti.end(0)?this.fire(new e.j(new e.a2(`sources.${this.id}`,null,`Playback for this video can be set only between the ${i.start(0)} and ${i.end(0)}-second mark.`))):this.video.currentTime=t;}}getVideo(){return this.video}onAdd(t){this.map||(this.map=t,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)));}prepare(){if(0===Object.keys(this.tiles).length||this.video.readyState<2)return;const t=this.map.painter.context,i=t.gl;this.boundsBuffer||(this.boundsBuffer=t.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?this.video.paused||(this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE),i.texSubImage2D(i.TEXTURE_2D,0,0,0,i.RGBA,i.UNSIGNED_BYTE,this.video)):(this.texture=new b(t,this.video,i.RGBA),this.texture.bind(i.LINEAR,i.CLAMP_TO_EDGE));let a=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,a=!0);}a&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}serialize(){return {type:\"video\",urls:this.urls,coordinates:this.coordinates}}hasTransition(){return this.video&&!this.video.paused}}class et extends Q{constructor(t,i,a,s){super(t,i,a,s),i.coordinates?Array.isArray(i.coordinates)&&4===i.coordinates.length&&!i.coordinates.some((t=>!Array.isArray(t)||2!==t.length||t.some((t=>\"number\"!=typeof t))))||this.fire(new e.j(new e.a2(`sources.${t}`,null,'\"coordinates\" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property \"coordinates\"'))),i.animate&&\"boolean\"!=typeof i.animate&&this.fire(new e.j(new e.a2(`sources.${t}`,null,'optional \"animate\" property must be a boolean value'))),i.canvas?\"string\"==typeof i.canvas||i.canvas instanceof HTMLCanvasElement||this.fire(new e.j(new e.a2(`sources.${t}`,null,'\"canvas\" must be either a string representing the ID of the canvas element from which to read, or an HTMLCanvasElement instance'))):this.fire(new e.j(new e.a2(`sources.${t}`,null,'missing required property \"canvas\"'))),this.options=i,this.animate=void 0===i.animate||i.animate;}load(){return e._(this,void 0,void 0,(function*(){this._loaded=!0,this.canvas||(this.canvas=this.options.canvas instanceof HTMLCanvasElement?this.options.canvas:document.getElementById(this.options.canvas)),this.width=this.canvas.width,this.height=this.canvas.height,this._hasInvalidDimensions()?this.fire(new e.j(new Error(\"Canvas dimensions cannot be less than or equal to zero.\"))):(this.play=function(){this._playing=!0,this.map.triggerRepaint();},this.pause=function(){this._playing&&(this.prepare(),this._playing=!1);},this._finishLoading());}))}getCanvas(){return this.canvas}onAdd(t){this.map=t,this.load(),this.canvas&&this.animate&&this.play();}onRemove(){this.pause();}prepare(){let t=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,t=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,t=!0),this._hasInvalidDimensions())return;if(0===Object.keys(this.tiles).length)return;const i=this.map.painter.context,a=i.gl;this.boundsBuffer||(this.boundsBuffer=i.createVertexBuffer(this._boundsArray,Y.members)),this.boundsSegments||(this.boundsSegments=e.a0.simpleSegment(0,0,4,2)),this.texture?(t||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):this.texture=new b(i,this.canvas,a.RGBA,{premultiply:!0});let s=!1;for(const t in this.tiles){const e=this.tiles[t];\"loaded\"!==e.state&&(e.state=\"loaded\",e.texture=this.texture,s=!0);}s&&this.fire(new e.k(\"data\",{dataType:\"source\",sourceDataType:\"idle\",sourceId:this.id}));}serialize(){return {type:\"canvas\",coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(const t of [this.canvas.width,this.canvas.height])if(isNaN(t)||t<=0)return !0;return !1}}const it={},at=t=>{switch(t){case\"geojson\":return J;case\"image\":return Q;case\"raster\":return X;case\"raster-dem\":return K;case\"vector\":return $;case\"video\":return tt;case\"canvas\":return et}return it[t]},st=\"RTLPluginLoaded\";class ot extends e.E{constructor(){super(...arguments),this.status=\"unavailable\",this.url=null,this.dispatcher=j();}_syncState(t){return this.status=t,this.dispatcher.broadcast(\"SRPS\",{pluginStatus:t,pluginURL:this.url}).catch((t=>{throw this.status=\"error\",t}))}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status=\"unavailable\",this.url=null;}setRTLTextPlugin(t){return e._(this,arguments,void 0,(function*(t,e=!1){if(this.url)throw new Error(\"setRTLTextPlugin cannot be called multiple times.\");if(this.url=o.resolveURL(t),!this.url)throw new Error(`requested url ${t} is invalid`);if(\"unavailable\"===this.status){if(!e)return this._requestImport();this.status=\"deferred\",this._syncState(this.status);}else if(\"requested\"===this.status)return this._requestImport()}))}_requestImport(){return e._(this,void 0,void 0,(function*(){yield this._syncState(\"loading\"),this.status=\"loaded\",this.fire(new e.k(st));}))}lazyLoad(){\"unavailable\"===this.status?this.status=\"requested\":\"deferred\"===this.status&&this._requestImport();}}let rt=null;function nt(){return rt||(rt=new ot),rt}class lt{constructor(t,i){this.timeAdded=0,this.fadeEndTime=0,this.tileID=t,this.uid=e.a4(),this.uses=0,this.tileSize=i,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttCoords={},this.expiredRequestCount=0,this.state=\"loading\";}registerFadeDuration(t){const e=t+this.timeAdded;ee.getLayer(t))).filter(Boolean);if(0!==t.length){a.layers=t,a.stateDependentLayerIds&&(a.stateDependentLayers=a.stateDependentLayerIds.map((e=>t.filter((t=>t.id===e))[0])));for(const e of t)i[e.id]=a;}}return i}(t.buckets,i.style),this.hasSymbolBuckets=!1;for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a6){if(this.hasSymbolBuckets=!0,!a)break;i.justReloaded=!0;}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(const t in this.buckets){const i=this.buckets[t];if(i instanceof e.a6&&i.hasRTLText){this.hasRTLText=!0,nt().lazyLoad();break}}this.queryPadding=0;for(const t in this.buckets){const e=this.buckets[t];this.queryPadding=Math.max(this.queryPadding,i.style.getLayer(t).queryRadius(e));}t.imageAtlas&&(this.imageAtlas=t.imageAtlas),t.glyphAtlasImage&&(this.glyphAtlasImage=t.glyphAtlasImage);}else this.collisionBoxArray=new e.a5;}unloadVectorData(){for(const t in this.buckets)this.buckets[t].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.imageAtlas&&(this.imageAtlas=null),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.latestFeatureIndex=null,this.state=\"unloaded\";}getBucket(t){return this.buckets[t.id]}upload(t){for(const e in this.buckets){const i=this.buckets[e];i.uploadPending()&&i.upload(t);}const e=t.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new b(t,this.imageAtlas.image,e.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new b(t,this.glyphAtlasImage,e.ALPHA),this.glyphAtlasImage=null);}prepare(t){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(t,this.imageAtlasTexture);}queryRenderedFeatures(t,e,i,a,s,o,r,n,l,h){return this.latestFeatureIndex&&this.latestFeatureIndex.rawTileData?this.latestFeatureIndex.query({queryGeometry:a,cameraQueryGeometry:s,scale:o,tileSize:this.tileSize,pixelPosMatrix:h,transform:n,params:r,queryPadding:this.queryPadding*l},t,e,i):{}}querySourceFeatures(t,i){const a=this.latestFeatureIndex;if(!a||!a.rawTileData)return;const s=a.loadVTLayers(),o=i&&i.sourceLayer?i.sourceLayer:\"\",r=s._geojsonTileLayer||s[o];if(!r)return;const n=e.a7(i&&i.filter),{z:l,x:h,y:c}=this.tileID.canonical,u={z:l,x:h,y:c};for(let i=0;it)e=!1;else if(i)if(this.expirationTime{this.remove(t,s);}),i)),this.data[a].push(s),this.order.push(a),this.order.length>this.max){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}has(t){return t.wrapped().key in this.data}getAndRemove(t){return this.has(t)?this._getAndRemoveByKey(t.wrapped().key):null}_getAndRemoveByKey(t){const e=this.data[t].shift();return e.timeout&&clearTimeout(e.timeout),0===this.data[t].length&&delete this.data[t],this.order.splice(this.order.indexOf(t),1),e.value}getByKey(t){const e=this.data[t];return e?e[0].value:null}get(t){return this.has(t)?this.data[t.wrapped().key][0].value:null}remove(t,e){if(!this.has(t))return this;const i=t.wrapped().key,a=void 0===e?0:this.data[i].indexOf(e),s=this.data[i][a];return this.data[i].splice(a,1),s.timeout&&clearTimeout(s.timeout),0===this.data[i].length&&delete this.data[i],this.onRemove(s.value),this.order.splice(this.order.indexOf(i),1),this}setMaxSize(t){for(this.max=t;this.order.length>this.max;){const t=this._getAndRemoveByKey(this.order[0]);t&&this.onRemove(t);}return this}filter(t){const e=[];for(const i in this.data)for(const a of this.data[i])t(a.value)||e.push(a);for(const t of e)this.remove(t.value.tileID,t);}}class ct{constructor(){this.state={},this.stateChanges={},this.deletedStates={};}updateState(t,i,a){const s=String(i);if(this.stateChanges[t]=this.stateChanges[t]||{},this.stateChanges[t][s]=this.stateChanges[t][s]||{},e.e(this.stateChanges[t][s],a),null===this.deletedStates[t]){this.deletedStates[t]={};for(const e in this.state[t])e!==s&&(this.deletedStates[t][e]=null);}else if(this.deletedStates[t]&&null===this.deletedStates[t][s]){this.deletedStates[t][s]={};for(const e in this.state[t][s])a[e]||(this.deletedStates[t][s][e]=null);}else for(const e in a)this.deletedStates[t]&&this.deletedStates[t][s]&&null===this.deletedStates[t][s][e]&&delete this.deletedStates[t][s][e];}removeFeatureState(t,e,i){if(null===this.deletedStates[t])return;const a=String(e);if(this.deletedStates[t]=this.deletedStates[t]||{},i&&void 0!==e)null!==this.deletedStates[t][a]&&(this.deletedStates[t][a]=this.deletedStates[t][a]||{},this.deletedStates[t][a][i]=null);else if(void 0!==e)if(this.stateChanges[t]&&this.stateChanges[t][a])for(i in this.deletedStates[t][a]={},this.stateChanges[t][a])this.deletedStates[t][a][i]=null;else this.deletedStates[t][a]=null;else this.deletedStates[t]=null;}getState(t,i){const a=String(i),s=e.e({},(this.state[t]||{})[a],(this.stateChanges[t]||{})[a]);if(null===this.deletedStates[t])return {};if(this.deletedStates[t]){const e=this.deletedStates[t][i];if(null===e)return {};for(const t in e)delete s[t];}return s}initializeTileState(t,e){t.setFeatureState(this.state,e);}coalesceChanges(t,i){const a={};for(const t in this.stateChanges){this.state[t]=this.state[t]||{};const i={};for(const a in this.stateChanges[t])this.state[t][a]||(this.state[t][a]={}),e.e(this.state[t][a],this.stateChanges[t][a]),i[a]=this.state[t][a];a[t]=i;}for(const t in this.deletedStates){this.state[t]=this.state[t]||{};const i={};if(null===this.deletedStates[t])for(const e in this.state[t])i[e]={},this.state[t][e]={};else for(const e in this.deletedStates[t]){if(null===this.deletedStates[t][e])this.state[t][e]={};else for(const i of Object.keys(this.deletedStates[t][e]))delete this.state[t][e][i];i[e]=this.state[t][e];}a[t]=a[t]||{},e.e(a[t],i);}if(this.stateChanges={},this.deletedStates={},0!==Object.keys(a).length)for(const e in t)t[e].setFeatureState(a,i);}}class ut extends e.E{constructor(t,e,i){super(),this.id=t,this.dispatcher=i,this.on(\"data\",(t=>this._dataHandler(t))),this.on(\"dataloading\",(()=>{this._sourceErrored=!1;})),this.on(\"error\",(()=>{this._sourceErrored=this._source.loaded();})),this._source=((t,e,i,a)=>{const s=new(at(e.type))(t,e,i,a);if(s.id!==t)throw new Error(`Expected Source id to be ${t} instead of ${s.id}`);return s})(t,e,i,this),this._tiles={},this._cache=new ht(0,(t=>this._unloadTile(t))),this._timers={},this._cacheTimers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._loadedParentTiles={},this._coveredTiles={},this._state=new ct,this._didEmitContent=!1,this._updated=!1;}onAdd(t){this.map=t,this._maxTileCacheSize=t?t._maxTileCacheSize:null,this._maxTileCacheZoomLevels=t?t._maxTileCacheZoomLevels:null,this._source&&this._source.onAdd&&this._source.onAdd(t);}onRemove(t){this.clearTiles(),this._source&&this._source.onRemove&&this._source.onRemove(t);}loaded(){if(this._sourceErrored)return !0;if(!this._sourceLoaded)return !1;if(!this._source.loaded())return !1;if(!(void 0===this.used&&void 0===this.usedForTerrain||this.used||this.usedForTerrain))return !0;if(!this._updated)return !1;for(const t in this._tiles){const e=this._tiles[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}return !0}getSource(){return this._source}pause(){this._paused=!0;}resume(){if(!this._paused)return;const t=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,t&&this.reload(),this.transform&&this.update(this.transform,this.terrain);}_loadTile(t,i,a){return e._(this,void 0,void 0,(function*(){try{yield this._source.loadTile(t),this._tileLoaded(t,i,a);}catch(i){t.state=\"errored\",404!==i.status?this._source.fire(new e.j(i,{tile:t})):this.update(this.transform,this.terrain);}}))}_unloadTile(t){this._source.unloadTile&&this._source.unloadTile(t);}_abortTile(t){this._source.abortTile&&this._source.abortTile(t),this._source.fire(new e.k(\"dataabort\",{tile:t,coord:t.tileID,dataType:\"source\"}));}serialize(){return this._source.serialize()}prepare(t){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._tiles,this.map?this.map.painter:null);for(const e in this._tiles){const i=this._tiles[e];i.upload(t),i.prepare(this.map.style.imageManager);}}getIds(){return Object.values(this._tiles).map((t=>t.tileID)).sort(dt).map((t=>t.key))}getRenderableIds(t){const i=[];for(const e in this._tiles)this._isIdRenderable(e,t)&&i.push(this._tiles[e]);return t?i.sort(((t,i)=>{const a=t.tileID,s=i.tileID,o=new e.P(a.canonical.x,a.canonical.y)._rotate(this.transform.angle),r=new e.P(s.canonical.x,s.canonical.y)._rotate(this.transform.angle);return a.overscaledZ-s.overscaledZ||r.y-o.y||r.x-o.x})).map((t=>t.tileID.key)):i.map((t=>t.tileID)).sort(dt).map((t=>t.key))}hasRenderableParent(t){const e=this.findLoadedParent(t,0);return !!e&&this._isIdRenderable(e.tileID.key)}_isIdRenderable(t,e){return this._tiles[t]&&this._tiles[t].hasData()&&!this._coveredTiles[t]&&(e||!this._tiles[t].holdingForFade())}reload(){if(this._paused)this._shouldReloadOnResume=!0;else {this._cache.reset();for(const t in this._tiles)\"errored\"!==this._tiles[t].state&&this._reloadTile(t,\"reloading\");}}_reloadTile(t,i){return e._(this,void 0,void 0,(function*(){const e=this._tiles[t];e&&(\"loading\"!==e.state&&(e.state=i),yield this._loadTile(e,t,i));}))}_tileLoaded(t,i,a){t.timeAdded=o.now(),\"expired\"===a&&(t.refreshedUponExpiration=!0),this._setTileReloadTimer(i,t),\"raster-dem\"===this.getSource().type&&t.dem&&this._backfillDEM(t),this._state.initializeTileState(t,this.map?this.map.painter:null),t.aborted||this._source.fire(new e.k(\"data\",{dataType:\"source\",tile:t,coord:t.tileID}));}_backfillDEM(t){const e=this.getRenderableIds();for(let a=0;a1||(Math.abs(i)>1&&(1===Math.abs(i+s)?i+=s:1===Math.abs(i-s)&&(i-=s)),e.dem&&t.dem&&(t.dem.backfillBorder(e.dem,i,a),t.neighboringTiles&&t.neighboringTiles[o]&&(t.neighboringTiles[o].backfilled=!0)));}}getTile(t){return this.getTileByID(t.key)}getTileByID(t){return this._tiles[t]}_retainLoadedChildren(t,e,i,a){for(const s in this._tiles){let o=this._tiles[s];if(a[s]||!o.hasData()||o.tileID.overscaledZ<=e||o.tileID.overscaledZ>i)continue;let r=o.tileID;for(;o&&o.tileID.overscaledZ>e+1;){const t=o.tileID.scaledTo(o.tileID.overscaledZ-1);o=this._tiles[t.key],o&&o.hasData()&&(r=t);}let n=r;for(;n.overscaledZ>e;)if(n=n.scaledTo(n.overscaledZ-1),t[n.key]){a[r.key]=r;break}}}findLoadedParent(t,e){if(t.key in this._loadedParentTiles){const i=this._loadedParentTiles[t.key];return i&&i.tileID.overscaledZ>=e?i:null}for(let i=t.overscaledZ-1;i>=e;i--){const e=t.scaledTo(i),a=this._getLoadedTile(e);if(a)return a}}findLoadedSibling(t){return this._getLoadedTile(t)}_getLoadedTile(t){const e=this._tiles[t.key];return e&&e.hasData()?e:this._cache.getByKey(t.wrapped().key)}updateCacheSize(t){const i=Math.ceil(t.width/this._source.tileSize)+1,a=Math.ceil(t.height/this._source.tileSize)+1,s=Math.floor(i*a*(null===this._maxTileCacheZoomLevels?e.a.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),o=\"number\"==typeof this._maxTileCacheSize?Math.min(this._maxTileCacheSize,s):s;this._cache.setMaxSize(o);}handleWrapJump(t){const e=Math.round((t-(void 0===this._prevLng?t:this._prevLng))/360);if(this._prevLng=t,e){const t={};for(const i in this._tiles){const a=this._tiles[i];a.tileID=a.tileID.unwrapTo(a.tileID.wrap+e),t[a.tileID.key]=a;}this._tiles=t;for(const t in this._timers)clearTimeout(this._timers[t]),delete this._timers[t];for(const t in this._tiles)this._setTileReloadTimer(t,this._tiles[t]);}}_updateCoveredAndRetainedTiles(t,e,i,a,s,r){const n={},l={},h=Object.keys(t),c=o.now();for(const i of h){const a=t[i],s=this._tiles[i];if(!s||0!==s.fadeEndTime&&s.fadeEndTime<=c)continue;const o=this.findLoadedParent(a,e),r=this.findLoadedSibling(a),h=o||r||null;h&&(this._addTile(h.tileID),n[h.tileID.key]=h.tileID),l[i]=a;}this._retainLoadedChildren(l,a,i,t);for(const e in n)t[e]||(this._coveredTiles[e]=!0,t[e]=n[e]);if(r){const e={},i={};for(const t of s)this._tiles[t.key].hasData()?e[t.key]=t:i[t.key]=t;for(const a in i){const s=i[a].children(this._source.maxzoom);this._tiles[s[0].key]&&this._tiles[s[1].key]&&this._tiles[s[2].key]&&this._tiles[s[3].key]&&(e[s[0].key]=t[s[0].key]=s[0],e[s[1].key]=t[s[1].key]=s[1],e[s[2].key]=t[s[2].key]=s[2],e[s[3].key]=t[s[3].key]=s[3],delete i[a]);}for(const a in i){const s=i[a],o=this.findLoadedParent(s,this._source.minzoom),r=this.findLoadedSibling(s),n=o||r||null;if(n){e[n.tileID.key]=t[n.tileID.key]=n.tileID;for(const t in e)e[t].isChildOf(n.tileID)&&delete e[t];}}for(const t in this._tiles)e[t]||(this._coveredTiles[t]=!0);}}update(t,i){if(!this._sourceLoaded||this._paused)return;let a;this.transform=t,this.terrain=i,this.updateCacheSize(t),this.handleWrapJump(this.transform.center.lng),this._coveredTiles={},this.used||this.usedForTerrain?this._source.tileID?a=t.getVisibleUnwrappedCoordinates(this._source.tileID).map((t=>new e.S(t.canonical.z,t.wrap,t.canonical.z,t.canonical.x,t.canonical.y))):(a=t.coveringTiles({tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:i}),this._source.hasTile&&(a=a.filter((t=>this._source.hasTile(t))))):a=[];const s=t.coveringZoomLevel(this._source),o=Math.max(s-ut.maxOverzooming,this._source.minzoom),r=Math.max(s+ut.maxUnderzooming,this._source.minzoom);if(this.usedForTerrain){const t={};for(const e of a)if(e.canonical.z>this._source.minzoom){const i=e.scaledTo(e.canonical.z-1);t[i.key]=i;const a=e.scaledTo(Math.max(this._source.minzoom,Math.min(e.canonical.z,5)));t[a.key]=a;}a=a.concat(Object.values(t));}const n=0===a.length&&!this._updated&&this._didEmitContent;this._updated=!0,n&&this.fire(new e.k(\"data\",{sourceDataType:\"idle\",dataType:\"source\",sourceId:this.id}));const l=this._updateRetainedTiles(a,s);_t(this._source.type)&&this._updateCoveredAndRetainedTiles(l,o,r,s,a,i);for(const t in l)this._tiles[t].clearFadeHold();const h=e.ab(this._tiles,l);for(const t of h){const e=this._tiles[t];e.hasSymbolBuckets&&!e.holdingForFade()?e.setHoldDuration(this.map._fadeDuration):e.hasSymbolBuckets&&!e.symbolFadeFinished()||this._removeTile(t);}this._updateLoadedParentTileCache(),this._updateLoadedSiblingTileCache();}releaseSymbolFadeTiles(){for(const t in this._tiles)this._tiles[t].holdingForFade()&&this._removeTile(t);}_updateRetainedTiles(t,e){var i;const a={},s={},o=Math.max(e-ut.maxOverzooming,this._source.minzoom),r=Math.max(e+ut.maxUnderzooming,this._source.minzoom),n={};for(const i of t){const t=this._addTile(i);a[i.key]=i,t.hasData()||ethis._source.maxzoom){const t=r.children(this._source.maxzoom)[0],e=this.getTile(t);if(e&&e.hasData()){a[t.key]=t;continue}}else {const t=r.children(this._source.maxzoom);if(a[t[0].key]&&a[t[1].key]&&a[t[2].key]&&a[t[3].key])continue}let n=t.wasRequested();for(let e=r.overscaledZ-1;e>=o;--e){const o=r.scaledTo(e);if(s[o.key])break;if(s[o.key]=!0,t=this.getTile(o),!t&&n&&(t=this._addTile(o)),t){const e=t.hasData();if((e||!(null===(i=this.map)||void 0===i?void 0:i.cancelPendingTileRequestsWhileZooming)||n)&&(a[o.key]=o),n=t.wasRequested(),e)break}}}return a}_updateLoadedParentTileCache(){this._loadedParentTiles={};for(const t in this._tiles){const e=[];let i,a=this._tiles[t].tileID;for(;a.overscaledZ>0;){if(a.key in this._loadedParentTiles){i=this._loadedParentTiles[a.key];break}e.push(a.key);const t=a.scaledTo(a.overscaledZ-1);if(i=this._getLoadedTile(t),i)break;a=t;}for(const t of e)this._loadedParentTiles[t]=i;}}_updateLoadedSiblingTileCache(){this._loadedSiblingTiles={};for(const t in this._tiles){const e=this._tiles[t].tileID,i=this._getLoadedTile(e);this._loadedSiblingTiles[e.key]=i;}}_addTile(t){let i=this._tiles[t.key];if(i)return i;i=this._cache.getAndRemove(t),i&&(this._setTileReloadTimer(t.key,i),i.tileID=t,this._state.initializeTileState(i,this.map?this.map.painter:null),this._cacheTimers[t.key]&&(clearTimeout(this._cacheTimers[t.key]),delete this._cacheTimers[t.key],this._setTileReloadTimer(t.key,i)));const a=i;return i||(i=new lt(t,this._source.tileSize*t.overscaleFactor()),this._loadTile(i,t.key,i.state)),i.uses++,this._tiles[t.key]=i,a||this._source.fire(new e.k(\"dataloading\",{tile:i,coord:i.tileID,dataType:\"source\"})),i}_setTileReloadTimer(t,e){t in this._timers&&(clearTimeout(this._timers[t]),delete this._timers[t]);const i=e.getExpiryTimeout();i&&(this._timers[t]=setTimeout((()=>{this._reloadTile(t,\"expired\"),delete this._timers[t];}),i));}_removeTile(t){const e=this._tiles[t];e&&(e.uses--,delete this._tiles[t],this._timers[t]&&(clearTimeout(this._timers[t]),delete this._timers[t]),e.uses>0||(e.hasData()&&\"reloading\"!==e.state?this._cache.add(e.tileID,e,e.getExpiryTimeout()):(e.aborted=!0,this._abortTile(e),this._unloadTile(e))));}_dataHandler(t){const e=t.sourceDataType;\"source\"===t.dataType&&\"metadata\"===e&&(this._sourceLoaded=!0),this._sourceLoaded&&!this._paused&&\"source\"===t.dataType&&\"content\"===e&&(this.reload(),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0);}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(const t in this._tiles)this._removeTile(t);this._cache.reset();}tilesIn(t,i,a){const s=[],o=this.transform;if(!o)return s;const r=a?o.getCameraQueryGeometry(t):t,n=t.map((t=>o.pointCoordinate(t,this.terrain))),l=r.map((t=>o.pointCoordinate(t,this.terrain))),h=this.getIds();let c=1/0,u=1/0,d=-1/0,_=-1/0;for(const t of l)c=Math.min(c,t.x),u=Math.min(u,t.y),d=Math.max(d,t.x),_=Math.max(_,t.y);for(let t=0;t=0&&f[1].y+m>=0){const t=n.map((t=>r.getTilePoint(t))),e=l.map((t=>r.getTilePoint(t)));s.push({tile:a,tileID:r,queryGeometry:t,cameraQueryGeometry:e,scale:p});}}return s}getVisibleCoordinates(t){const e=this.getRenderableIds(t).map((t=>this._tiles[t].tileID));for(const t of e)t.posMatrix=this.transform.calculatePosMatrix(t.toUnwrapped());return e}hasTransition(){if(this._source.hasTransition())return !0;if(_t(this._source.type)){const t=o.now();for(const e in this._tiles)if(this._tiles[e].fadeEndTime>=t)return !0}return !1}setFeatureState(t,e,i){this._state.updateState(t=t||\"_geojsonTileLayer\",e,i);}removeFeatureState(t,e,i){this._state.removeFeatureState(t=t||\"_geojsonTileLayer\",e,i);}getFeatureState(t,e){return this._state.getState(t=t||\"_geojsonTileLayer\",e)}setDependencies(t,e,i){const a=this._tiles[t];a&&a.setDependencies(e,i);}reloadTilesForDependencies(t,e){for(const i in this._tiles)this._tiles[i].hasDependency(t,e)&&this._reloadTile(i,\"reloading\");this._cache.filter((i=>!i.hasDependency(t,e)));}}function dt(t,e){const i=Math.abs(2*t.wrap)-+(t.wrap<0),a=Math.abs(2*e.wrap)-+(e.wrap<0);return t.overscaledZ-e.overscaledZ||a-i||e.canonical.y-t.canonical.y||e.canonical.x-t.canonical.x}function _t(t){return \"raster\"===t||\"image\"===t||\"video\"===t}ut.maxOverzooming=10,ut.maxUnderzooming=3;class pt{constructor(t,e){this.reset(t,e);}reset(t,e){this.points=t||[],this._distances=[0];for(let t=1;t0?(s-r)/n:0;return this.points[o].mult(1-l).add(this.points[i].mult(l))}}function mt(t,e){let i=!0;return \"always\"===t||\"never\"!==t&&\"never\"!==e||(i=!1),i}class ft{constructor(t,e,i){const a=this.boxCells=[],s=this.circleCells=[];this.xCellCount=Math.ceil(t/i),this.yCellCount=Math.ceil(e/i);for(let t=0;tthis.width||a<0||e>this.height)return [];const n=[];if(t<=0&&e<=0&&this.width<=i&&this.height<=a){if(s)return [{key:null,x1:t,y1:e,x2:i,y2:a}];for(let t=0;t0}hitTestCircle(t,e,i,a,s){const o=t-i,r=t+i,n=e-i,l=e+i;if(r<0||o>this.width||l<0||n>this.height)return !1;const h=[];return this._forEachCell(o,n,r,l,this._queryCellCircle,h,{hitTest:!0,overlapMode:a,circle:{x:t,y:e,radius:i},seenUids:{box:{},circle:{}}},s),h.length>0}_queryCell(t,e,i,a,s,o,r,n){const{seenUids:l,hitTest:h,overlapMode:c}=r,u=this.boxCells[s];if(null!==u){const s=this.bboxes;for(const r of u)if(!l.box[r]){l.box[r]=!0;const u=4*r,d=this.boxKeys[r];if(t<=s[u+2]&&e<=s[u+3]&&i>=s[u+0]&&a>=s[u+1]&&(!n||n(d))&&(!h||!mt(c,d.overlapMode))&&(o.push({key:d,x1:s[u],y1:s[u+1],x2:s[u+2],y2:s[u+3]}),h))return !0}}const d=this.circleCells[s];if(null!==d){const s=this.circles;for(const r of d)if(!l.circle[r]){l.circle[r]=!0;const u=3*r,d=this.circleKeys[r];if(this._circleAndRectCollide(s[u],s[u+1],s[u+2],t,e,i,a)&&(!n||n(d))&&(!h||!mt(c,d.overlapMode))){const t=s[u],e=s[u+1],i=s[u+2];if(o.push({key:d,x1:t-i,y1:e-i,x2:t+i,y2:e+i}),h)return !0}}}return !1}_queryCellCircle(t,e,i,a,s,o,r,n){const{circle:l,seenUids:h,overlapMode:c}=r,u=this.boxCells[s];if(null!==u){const t=this.bboxes;for(const e of u)if(!h.box[e]){h.box[e]=!0;const i=4*e,a=this.boxKeys[e];if(this._circleAndRectCollide(l.x,l.y,l.radius,t[i+0],t[i+1],t[i+2],t[i+3])&&(!n||n(a))&&!mt(c,a.overlapMode))return o.push(!0),!0}}const d=this.circleCells[s];if(null!==d){const t=this.circles;for(const e of d)if(!h.circle[e]){h.circle[e]=!0;const i=3*e,a=this.circleKeys[e];if(this._circlesCollide(t[i],t[i+1],t[i+2],l.x,l.y,l.radius)&&(!n||n(a))&&!mt(c,a.overlapMode))return o.push(!0),!0}}}_forEachCell(t,e,i,a,s,o,r,n){const l=this._convertToXCellCoord(t),h=this._convertToYCellCoord(e),c=this._convertToXCellCoord(i),u=this._convertToYCellCoord(a);for(let d=l;d<=c;d++)for(let l=h;l<=u;l++)if(s.call(this,t,e,i,a,this.xCellCount*l+d,o,r,n))return}_convertToXCellCoord(t){return Math.max(0,Math.min(this.xCellCount-1,Math.floor(t*this.xScale)))}_convertToYCellCoord(t){return Math.max(0,Math.min(this.yCellCount-1,Math.floor(t*this.yScale)))}_circlesCollide(t,e,i,a,s,o){const r=a-t,n=s-e,l=i+o;return l*l>r*r+n*n}_circleAndRectCollide(t,e,i,a,s,o,r){const n=(o-a)/2,l=Math.abs(t-(a+n));if(l>n+i)return !1;const h=(r-s)/2,c=Math.abs(e-(s+h));if(c>h+i)return !1;if(l<=n||c<=h)return !0;const u=l-n,d=c-h;return u*u+d*d<=i*i}}function gt(t,i,a,s,o){const r=e.H();return i?(e.K(r,r,[1/o,1/o,1]),a||e.ad(r,r,s.angle)):e.L(r,s.labelPlaneMatrix,t),r}function vt(t,i,a,s,o){if(i){const i=e.ae(t);return e.K(i,i,[o,o,1]),a||e.ad(i,i,-s.angle),i}return s.glCoordMatrix}function xt(t,i,a,s){let o;s?(o=[t,i,s(t,i),1],e.af(o,o,a)):(o=[t,i,0,1],kt(o,o,a));const r=o[3];return {point:new e.P(o[0]/r,o[1]/r),signedDistanceFromCamera:r,isOccluded:!1}}function yt(t,e){return .5+t/e*.5}function bt(t,e){return t.x>=-e[0]&&t.x<=e[0]&&t.y>=-e[1]&&t.y<=e[1]}function wt(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m){const f=s?t.textSizeData:t.iconSizeData,g=e.ag(f,a.transform.zoom),v=[256/a.width*2+1,256/a.height*2+1],x=s?t.text.dynamicLayoutVertexArray:t.icon.dynamicLayoutVertexArray;x.clear();const y=t.lineVertexArray,b=s?t.text.placedSymbolArray:t.icon.placedSymbolArray,w=a.transform.width/a.transform.height;let T=!1;for(let s=0;sMath.abs(a.x-i.x)*s?{useVertical:!0}:(t===e.ah.vertical?i.ya.x)?{needsFlipping:!0}:null}function Et(t,i,a,s,o,r,n,l,h,c,u){const d=a/24,_=i.lineOffsetX*d,p=i.lineOffsetY*d;let m;if(i.numGlyphs>1){const e=i.glyphStartIndex+i.numGlyphs,a=i.lineStartIndex,r=i.lineStartIndex+i.lineLength,h=Tt(d,l,_,p,s,i,u,t);if(!h)return {notEnoughRoom:!0};const f=xt(h.first.point.x,h.first.point.y,n,t.getElevation).point,g=xt(h.last.point.x,h.last.point.y,n,t.getElevation).point;if(o&&!s){const t=It(i.writingMode,f,g,c);if(t)return t}m=[h.first];for(let o=i.glyphStartIndex+1;o0?n.point:function(t,e,i,a,s,o){return Pt(t,e,i,1,s,o)}(t.tileAnchorPoint,o,a,0,r,t),h=It(i.writingMode,a,l,c);if(h)return h}const a=Mt(d*l.getoffsetX(i.glyphStartIndex),_,p,s,i.segment,i.lineStartIndex,i.lineStartIndex+i.lineLength,t,u);if(!a||t.projectionCache.anyProjectionOccluded)return {notEnoughRoom:!0};m=[a];}for(const t of m)e.aj(h,t.point,t.angle);return {}}function Pt(t,e,i,a,s,o){const r=t.add(t.sub(e)._unit()),n=void 0!==s?xt(r.x,r.y,s,o.getElevation).point:St(r.x,r.y,o).point,l=i.sub(n);return i.add(l._mult(a/l.mag()))}function Ct(t,i,a){const s=i.projectionCache;if(s.projections[t])return s.projections[t];const o=new e.P(i.lineVertexArray.getx(t),i.lineVertexArray.gety(t)),r=St(o.x,o.y,i);if(r.signedDistanceFromCamera>0)return s.projections[t]=r.point,s.anyProjectionOccluded=s.anyProjectionOccluded||r.isOccluded,r.point;const n=t-a.direction;return function(t,e,i,a,s){return Pt(t,e,i,a,void 0,s)}(0===a.distanceFromAnchor?i.tileAnchorPoint:new e.P(i.lineVertexArray.getx(n),i.lineVertexArray.gety(n)),o,a.previousVertex,a.absOffsetX-a.distanceFromAnchor+1,i)}function St(t,e,i){const a=t+i.translation[0],s=e+i.translation[1];let o;return !i.pitchWithMap&&i.projection.useSpecialProjectionForSymbols?(o=i.projection.projectTileCoordinates(a,s,i.unwrappedTileID,i.getElevation),o.point.x=(.5*o.point.x+.5)*i.width,o.point.y=(.5*-o.point.y+.5)*i.height):(o=xt(a,s,i.labelPlaneMatrix,i.getElevation),o.isOccluded=!1),o}function zt(t,e,i){return t._unit()._perp()._mult(e*i)}function Dt(t,i,a,s,o,r,n,l,h){if(l.projectionCache.offsets[t])return l.projectionCache.offsets[t];const c=a.add(i);if(t+h.direction=o)return l.projectionCache.offsets[t]=c,c;const u=Ct(t+h.direction,l,h),d=zt(u.sub(a),n,h.direction),_=a.add(d),p=u.add(d);return l.projectionCache.offsets[t]=e.ak(r,c,_,p)||c,l.projectionCache.offsets[t]}function Mt(t,e,i,a,s,o,r,n,l){const h=a?t-e:t+e;let c=h>0?1:-1,u=0;a&&(c*=-1,u=Math.PI),c<0&&(u+=Math.PI);let d,_=c>0?o+s:o+s+1;n.projectionCache.cachedAnchorPoint?d=n.projectionCache.cachedAnchorPoint:(d=St(n.tileAnchorPoint.x,n.tileAnchorPoint.y,n).point,n.projectionCache.cachedAnchorPoint=d);let p,m,f=d,g=d,v=0,x=0;const y=Math.abs(h),b=[];let w;for(;v+x<=y;){if(_+=c,_=r)return null;v+=x,g=f,m=p;const t={absOffsetX:y,direction:c,distanceFromAnchor:v,previousVertex:g};if(f=Ct(_,n,t),0===i)b.push(g),w=f.sub(g);else {let e;const a=f.sub(g);e=0===a.mag()?zt(Ct(_+c,n,t).sub(f),i,c):zt(a,i,c),m||(m=g.add(e)),p=Dt(_,e,f,o,r,m,i,n,t),b.push(m),w=p.sub(m);}x=w.mag();}const T=w._mult((y-v)/x)._add(m||g),I=u+Math.atan2(f.y-g.y,f.x-g.x);return b.push(T),{point:T,angle:l?I:0,path:b}}const At=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function Rt(t,e){for(let i=0;i=1;t--)l.push(r.path[t]);for(let t=1;tt.signedDistanceFromCamera<=0))?[]:t.map((t=>t.point));}let m=[];if(l.length>0){const t=l[0].clone(),i=l[0].clone();for(let e=1;e=a.x&&i.x<=s.x&&t.y>=a.y&&i.y<=s.y?[l]:i.xs.x||i.ys.y?[]:e.al([l],a.x,a.y,s.x,s.y);}for(const e of m){o.reset(e,.25*i);let a=0;a=o.length<=.5*i?1:Math.ceil(o.paddedLength/u)+1;for(let e=0;ext(t.x,t.y,i,e.getElevation)))}queryRenderedSymbols(t){if(0===t.length||0===this.grid.keysLength()&&0===this.ignoredGrid.keysLength())return {};const i=[];let a=1/0,s=1/0,o=-1/0,r=-1/0;for(const n of t){const t=new e.P(n.x+Lt,n.y+Lt);a=Math.min(a,t.x),s=Math.min(s,t.y),o=Math.max(o,t.x),r=Math.max(r,t.y),i.push(t);}const n=this.grid.query(a,s,o,r).concat(this.ignoredGrid.query(a,s,o,r)),l={},h={};for(const t of n){const a=t.key;if(void 0===l[a.bucketInstanceId]&&(l[a.bucketInstanceId]={}),l[a.bucketInstanceId][a.featureIndex])continue;const s=[new e.P(t.x1,t.y1),new e.P(t.x2,t.y1),new e.P(t.x2,t.y2),new e.P(t.x1,t.y2)];e.am(i,s)&&(l[a.bucketInstanceId][a.featureIndex]=!0,void 0===h[a.bucketInstanceId]&&(h[a.bucketInstanceId]=[]),h[a.bucketInstanceId].push(a.featureIndex));}return h}insertCollisionBox(t,e,i,a,s,o){(i?this.ignoredGrid:this.grid).insert({bucketInstanceId:a,featureIndex:s,collisionGroupID:o,overlapMode:e},t[0],t[1],t[2],t[3]);}insertCollisionCircles(t,e,i,a,s,o){const r=i?this.ignoredGrid:this.grid,n={bucketInstanceId:a,featureIndex:s,collisionGroupID:o,overlapMode:e};for(let e=0;e=this.screenRightBoundary||athis.screenBottomBoundary}isInsideGrid(t,e,i,a){return i>=0&&t=0&&ethis.projectAndGetPerspectiveRatio(a,t.x,t.y,s,h)));I=t.some((t=>!t.isOccluded)),T=t.map((t=>t.point));}else I=!0;return {box:e.ao(T),allPointsOccluded:!I}}}function Bt(t,i,a){return i*(e.X/(t.tileSize*Math.pow(2,a-t.tileID.overscaledZ)))}class Ot{constructor(t,e,i,a){this.opacity=t?Math.max(0,Math.min(1,t.opacity+(t.placed?e:-e))):a&&i?1:0,this.placed=i;}isHidden(){return 0===this.opacity&&!this.placed}}class Nt{constructor(t,e,i,a,s){this.text=new Ot(t?t.text:null,e,i,s),this.icon=new Ot(t?t.icon:null,e,a,s);}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class Ut{constructor(t,e,i){this.text=t,this.icon=e,this.skipFade=i;}}class jt{constructor(){this.invProjMatrix=e.H(),this.viewportMatrix=e.H(),this.circles=[];}}class Zt{constructor(t,e,i,a,s){this.bucketInstanceId=t,this.featureIndex=e,this.sourceLayerIndex=i,this.bucketIndex=a,this.tileID=s;}}class qt{constructor(t){this.crossSourceCollisions=t,this.maxGroupID=0,this.collisionGroups={};}get(t){if(this.crossSourceCollisions)return {ID:0,predicate:null};if(!this.collisionGroups[t]){const e=++this.maxGroupID;this.collisionGroups[t]={ID:e,predicate:t=>t.collisionGroupID===e};}return this.collisionGroups[t]}}function Vt(t,i,a,s,o){const{horizontalAlign:r,verticalAlign:n}=e.au(t);return new e.P(-(r-.5)*i+s[0]*o,-(n-.5)*a+s[1]*o)}class Gt{constructor(t,e,i,a,s,o){this.transform=t.clone(),this.terrain=i,this.collisionIndex=new Ft(this.transform,e),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=a,this.retainedQueryData={},this.collisionGroups=new qt(s),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=o,o&&(o.prevPlacement=void 0),this.placedOrientations={};}_getTerrainElevationFunc(t){const e=this.terrain;return e?(i,a)=>e.getElevation(t,i,a):null}getBucketParts(t,i,a,s){const o=a.getBucket(i),r=a.latestFeatureIndex;if(!o||!r||i.id!==o.layerIds[0])return;const n=a.collisionBoxArray,l=o.layers[0].layout,h=o.layers[0].paint,c=Math.pow(2,this.transform.zoom-a.tileID.overscaledZ),u=a.tileSize/e.X,d=a.tileID.toUnwrapped(),_=this.transform.calculatePosMatrix(d),p=\"map\"===l.get(\"text-pitch-alignment\"),m=\"map\"===l.get(\"text-rotation-alignment\"),f=Bt(a,1,this.transform.zoom),g=this.collisionIndex.mapProjection.translatePosition(this.transform,a,h.get(\"text-translate\"),h.get(\"text-translate-anchor\")),v=this.collisionIndex.mapProjection.translatePosition(this.transform,a,h.get(\"icon-translate\"),h.get(\"icon-translate-anchor\")),x=gt(_,p,m,this.transform,f);let y=null;if(p){const t=vt(_,p,m,this.transform,f);y=e.L([],this.transform.labelPlaneMatrix,t);}this.retainedQueryData[o.bucketInstanceId]=new Zt(o.bucketInstanceId,r,o.sourceLayerIndex,o.index,a.tileID);const b={bucket:o,layout:l,translationText:g,translationIcon:v,posMatrix:_,unwrappedTileID:d,textLabelPlaneMatrix:x,labelToScreenMatrix:y,scale:c,textPixelRatio:u,holdingForFade:a.holdingForFade(),collisionBoxArray:n,partiallyEvaluatedTextSize:e.ag(o.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(o.sourceID)};if(s)for(const e of o.sortKeyRanges){const{sortKey:i,symbolInstanceStart:a,symbolInstanceEnd:s}=e;t.push({sortKey:i,symbolInstanceStart:a,symbolInstanceEnd:s,parameters:b});}else t.push({symbolInstanceStart:0,symbolInstanceEnd:o.symbolInstances.length,parameters:b});}attemptAnchorPlacement(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m,f,g,v,x){const y=e.aq[t.textAnchor],b=[t.textOffset0,t.textOffset1],w=Vt(y,a,s,b,o),T=this.collisionIndex.placeCollisionBox(i,d,l,h,c,n,r,f,u.predicate,x,w);if((!v||this.collisionIndex.placeCollisionBox(v,d,l,h,c,n,r,g,u.predicate,x,w).placeable)&&T.placeable){let t;if(this.prevPlacement&&this.prevPlacement.variableOffsets[_.crossTileID]&&this.prevPlacement.placements[_.crossTileID]&&this.prevPlacement.placements[_.crossTileID].text&&(t=this.prevPlacement.variableOffsets[_.crossTileID].anchor),0===_.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");return this.variableOffsets[_.crossTileID]={textOffset:b,width:a,height:s,anchor:y,textBoxScale:o,prevAnchor:t},this.markUsedJustification(p,y,_,m),p.allowVerticalPlacement&&(this.markUsedOrientation(p,m,_),this.placedOrientations[_.crossTileID]=m),{shift:w,placedGlyphBoxes:T}}}placeLayerBucketPart(t,i,a){const{bucket:s,layout:o,translationText:r,translationIcon:n,posMatrix:l,unwrappedTileID:h,textLabelPlaneMatrix:c,labelToScreenMatrix:u,textPixelRatio:d,holdingForFade:_,collisionBoxArray:p,partiallyEvaluatedTextSize:m,collisionGroup:f}=t.parameters,g=o.get(\"text-optional\"),v=o.get(\"icon-optional\"),x=e.ar(o,\"text-overlap\",\"text-allow-overlap\"),y=\"always\"===x,b=e.ar(o,\"icon-overlap\",\"icon-allow-overlap\"),w=\"always\"===b,T=\"map\"===o.get(\"text-rotation-alignment\"),I=\"map\"===o.get(\"text-pitch-alignment\"),E=\"none\"!==o.get(\"icon-text-fit\"),P=\"viewport-y\"===o.get(\"symbol-z-order\"),C=y&&(w||!s.hasIconData()||v),S=w&&(y||!s.hasTextData()||g);!s.collisionArrays&&p&&s.deserializeCollisionBoxes(p);const z=this._getTerrainElevationFunc(this.retainedQueryData[s.bucketInstanceId].tileID),D=(t,p,w)=>{var P,D;if(i[t.crossTileID])return;if(_)return void(this.placements[t.crossTileID]=new Ut(!1,!1,!1));let M=!1,A=!1,R=!0,k=null,L={box:null,placeable:!1,offscreen:null},F={box:null,placeable:!1,offscreen:null},B=null,O=null,N=null,U=0,j=0,Z=0;p.textFeatureIndex?U=p.textFeatureIndex:t.useRuntimeCollisionCircles&&(U=t.featureIndex),p.verticalTextFeatureIndex&&(j=p.verticalTextFeatureIndex);const q=p.textBox;if(q){const i=i=>{let a=e.ah.horizontal;if(s.allowVerticalPlacement&&!i&&this.prevPlacement){const e=this.prevPlacement.placedOrientations[t.crossTileID];e&&(this.placedOrientations[t.crossTileID]=e,a=e,this.markUsedOrientation(s,a,t));}return a},o=(i,a)=>{if(s.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&p.verticalTextBox){for(const t of s.writingModes)if(t===e.ah.vertical?(L=a(),F=L):L=i(),L&&L.placeable)break}else L=i();},c=t.textAnchorOffsetStartIndex,u=t.textAnchorOffsetEndIndex;if(u===c){const a=(e,i)=>{const a=this.collisionIndex.placeCollisionBox(e,x,d,l,h,I,T,r,f.predicate,z);return a&&a.placeable&&(this.markUsedOrientation(s,i,t),this.placedOrientations[t.crossTileID]=i),a};o((()=>a(q,e.ah.horizontal)),(()=>{const i=p.verticalTextBox;return s.allowVerticalPlacement&&t.numVerticalGlyphVertices>0&&i?a(i,e.ah.vertical):{box:null,offscreen:null}})),i(L&&L.placeable);}else {let _=e.aq[null===(D=null===(P=this.prevPlacement)||void 0===P?void 0:P.variableOffsets[t.crossTileID])||void 0===D?void 0:D.anchor];const m=(i,o,p)=>{const m=i.x2-i.x1,g=i.y2-i.y1,v=t.textBoxScale,y=E&&\"never\"===b?o:null;let w=null,P=\"never\"===x?1:2,C=\"never\";_&&P++;for(let e=0;em(q,p.iconBox,e.ah.horizontal)),(()=>{const i=p.verticalTextBox;return s.allowVerticalPlacement&&(!L||!L.placeable)&&t.numVerticalGlyphVertices>0&&i?m(i,p.verticalIconBox,e.ah.vertical):{box:null,occluded:!0,offscreen:null}})),L&&(M=L.placeable,R=L.offscreen);const g=i(L&&L.placeable);if(!M&&this.prevPlacement){const e=this.prevPlacement.variableOffsets[t.crossTileID];e&&(this.variableOffsets[t.crossTileID]=e,this.markUsedJustification(s,e.anchor,t,g));}}}if(B=L,M=B&&B.placeable,R=B&&B.offscreen,t.useRuntimeCollisionCircles){const i=s.text.placedSymbolArray.get(t.centerJustifiedTextSymbolIndex),n=e.ai(s.textSizeData,m,i),d=o.get(\"text-padding\");O=this.collisionIndex.placeCollisionCircles(x,i,s.lineVertexArray,s.glyphOffsetArray,n,l,h,c,u,a,I,f.predicate,t.collisionCircleDiameter,d,r,z),O.circles.length&&O.collisionDetected&&!a&&e.w(\"Collisions detected, but collision boxes are not shown\"),M=y||O.circles.length>0&&!O.collisionDetected,R=R&&O.offscreen;}if(p.iconFeatureIndex&&(Z=p.iconFeatureIndex),p.iconBox){const t=t=>this.collisionIndex.placeCollisionBox(t,b,d,l,h,I,T,n,f.predicate,z,E&&k?k:void 0);F&&F.placeable&&p.verticalIconBox?(N=t(p.verticalIconBox),A=N.placeable):(N=t(p.iconBox),A=N.placeable),R=R&&N.offscreen;}const V=g||0===t.numHorizontalGlyphVertices&&0===t.numVerticalGlyphVertices,G=v||0===t.numIconVertices;V||G?G?V||(A=A&&M):M=A&&M:A=M=A&&M;const H=A&&N.placeable;if(M&&B.placeable&&this.collisionIndex.insertCollisionBox(B.box,x,o.get(\"text-ignore-placement\"),s.bucketInstanceId,F&&F.placeable&&j?j:U,f.ID),H&&this.collisionIndex.insertCollisionBox(N.box,b,o.get(\"icon-ignore-placement\"),s.bucketInstanceId,Z,f.ID),O&&M&&this.collisionIndex.insertCollisionCircles(O.circles,x,o.get(\"text-ignore-placement\"),s.bucketInstanceId,U,f.ID),a&&this.storeCollisionData(s.bucketInstanceId,w,p,B,N,O),0===t.crossTileID)throw new Error(\"symbolInstance.crossTileID can't be 0\");if(0===s.bucketInstanceId)throw new Error(\"bucket.bucketInstanceId can't be 0\");this.placements[t.crossTileID]=new Ut(M||C,A||S,R||s.justReloaded),i[t.crossTileID]=!0;};if(P){if(0!==t.symbolInstanceStart)throw new Error(\"bucket.bucketInstanceId should be 0\");const e=s.getSortedSymbolIndexes(this.transform.angle);for(let t=e.length-1;t>=0;--t){const i=e[t];D(s.symbolInstances.get(i),s.collisionArrays[i],i);}}else for(let e=t.symbolInstanceStart;e=0&&(t.text.placedSymbolArray.get(e).crossTileID=o>=0&&e!==o?0:a.crossTileID);}markUsedOrientation(t,i,a){const s=i===e.ah.horizontal||i===e.ah.horizontalOnly?i:0,o=i===e.ah.vertical?i:0,r=[a.leftJustifiedTextSymbolIndex,a.centerJustifiedTextSymbolIndex,a.rightJustifiedTextSymbolIndex];for(const e of r)t.text.placedSymbolArray.get(e).placedOrientation=s;a.verticalPlacedTextSymbolIndex&&(t.text.placedSymbolArray.get(a.verticalPlacedTextSymbolIndex).placedOrientation=o);}commit(t){this.commitTime=t,this.zoomAtLastRecencyCheck=this.transform.zoom;const e=this.prevPlacement;let i=!1;this.prevZoomAdjustment=e?e.zoomAdjustment(this.transform.zoom):0;const a=e?e.symbolFadeChange(t):1,s=e?e.opacities:{},o=e?e.variableOffsets:{},r=e?e.placedOrientations:{};for(const t in this.placements){const e=this.placements[t],o=s[t];o?(this.opacities[t]=new Nt(o,a,e.text,e.icon),i=i||e.text!==o.text.placed||e.icon!==o.icon.placed):(this.opacities[t]=new Nt(null,a,e.text,e.icon,e.skipFade),i=i||e.text||e.icon);}for(const t in s){const e=s[t];if(!this.opacities[t]){const s=new Nt(e,a,!1,!1);s.isHidden()||(this.opacities[t]=s,i=i||e.text.placed||e.icon.placed);}}for(const t in o)this.variableOffsets[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.variableOffsets[t]=o[t]);for(const t in r)this.placedOrientations[t]||!this.opacities[t]||this.opacities[t].isHidden()||(this.placedOrientations[t]=r[t]);if(e&&void 0===e.lastPlacementChangeTime)throw new Error(\"Last placement time for previous placement is not defined\");i?this.lastPlacementChangeTime=t:\"number\"!=typeof this.lastPlacementChangeTime&&(this.lastPlacementChangeTime=e?e.lastPlacementChangeTime:t);}updateLayerOpacities(t,e){const i={};for(const a of e){const e=a.getBucket(t);e&&a.latestFeatureIndex&&t.id===e.layerIds[0]&&this.updateBucketOpacities(e,a.tileID,i,a.collisionBoxArray);}}updateBucketOpacities(t,i,a,s){t.hasTextData()&&(t.text.opacityVertexArray.clear(),t.text.hasVisibleVertices=!1),t.hasIconData()&&(t.icon.opacityVertexArray.clear(),t.icon.hasVisibleVertices=!1),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexArray.clear(),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexArray.clear();const o=t.layers[0],r=o.layout,n=new Nt(null,0,!1,!1,!0),l=r.get(\"text-allow-overlap\"),h=r.get(\"icon-allow-overlap\"),c=o._unevaluatedLayout.hasValue(\"text-variable-anchor\")||o._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"),u=\"map\"===r.get(\"text-rotation-alignment\"),d=\"map\"===r.get(\"text-pitch-alignment\"),_=\"none\"!==r.get(\"icon-text-fit\"),p=new Nt(null,0,l&&(h||!t.hasIconData()||r.get(\"icon-optional\")),h&&(l||!t.hasTextData()||r.get(\"text-optional\")),!0);!t.collisionArrays&&s&&(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData())&&t.deserializeCollisionBoxes(s);const m=(t,e,i)=>{for(let a=0;a0,v=this.placedOrientations[s.crossTileID],x=v===e.ah.vertical,y=v===e.ah.horizontal||v===e.ah.horizontalOnly;if(o>0||r>0){const e=te(h.text);m(t.text,o,x?ee:e),m(t.text,r,y?ee:e);const i=h.text.isHidden();[s.rightJustifiedTextSymbolIndex,s.centerJustifiedTextSymbolIndex,s.leftJustifiedTextSymbolIndex].forEach((e=>{e>=0&&(t.text.placedSymbolArray.get(e).hidden=i||x?1:0);})),s.verticalPlacedTextSymbolIndex>=0&&(t.text.placedSymbolArray.get(s.verticalPlacedTextSymbolIndex).hidden=i||y?1:0);const a=this.variableOffsets[s.crossTileID];a&&this.markUsedJustification(t,a.anchor,s,v);const n=this.placedOrientations[s.crossTileID];n&&(this.markUsedJustification(t,\"left\",s,n),this.markUsedOrientation(t,n,s));}if(g){const e=te(h.icon),i=!(_&&s.verticalPlacedIconSymbolIndex&&x);s.placedIconSymbolIndex>=0&&(m(t.icon,s.numIconVertices,i?e:ee),t.icon.placedSymbolArray.get(s.placedIconSymbolIndex).hidden=h.icon.isHidden()),s.verticalPlacedIconSymbolIndex>=0&&(m(t.icon,s.numVerticalIconVertices,i?ee:e),t.icon.placedSymbolArray.get(s.verticalPlacedIconSymbolIndex).hidden=h.icon.isHidden());}const b=f&&f.has(i)?f.get(i):{text:null,icon:null};if(t.hasIconCollisionBoxData()||t.hasTextCollisionBoxData()){const a=t.collisionArrays[i];if(a){let i=new e.P(0,0);if(a.textBox||a.verticalTextBox){let e=!0;if(c){const t=this.variableOffsets[l];t?(i=Vt(t.anchor,t.width,t.height,t.textOffset,t.textBoxScale),u&&i._rotate(d?this.transform.angle:-this.transform.angle)):e=!1;}if(a.textBox||a.verticalTextBox){let s;a.textBox&&(s=x),a.verticalTextBox&&(s=y),Ht(t.textCollisionBox.collisionVertexArray,h.text.placed,!e||s,b.text,i.x,i.y);}}if(a.iconBox||a.verticalIconBox){const e=Boolean(!y&&a.verticalIconBox);let s;a.iconBox&&(s=e),a.verticalIconBox&&(s=!e),Ht(t.iconCollisionBox.collisionVertexArray,h.icon.placed,s,b.icon,_?i.x:0,_?i.y:0);}}}}if(t.sortFeatures(this.transform.angle),this.retainedQueryData[t.bucketInstanceId]&&(this.retainedQueryData[t.bucketInstanceId].featureSortOrder=t.featureSortOrder),t.hasTextData()&&t.text.opacityVertexBuffer&&t.text.opacityVertexBuffer.updateData(t.text.opacityVertexArray),t.hasIconData()&&t.icon.opacityVertexBuffer&&t.icon.opacityVertexBuffer.updateData(t.icon.opacityVertexArray),t.hasIconCollisionBoxData()&&t.iconCollisionBox.collisionVertexBuffer&&t.iconCollisionBox.collisionVertexBuffer.updateData(t.iconCollisionBox.collisionVertexArray),t.hasTextCollisionBoxData()&&t.textCollisionBox.collisionVertexBuffer&&t.textCollisionBox.collisionVertexBuffer.updateData(t.textCollisionBox.collisionVertexArray),t.text.opacityVertexArray.length!==t.text.layoutVertexArray.length/4)throw new Error(`bucket.text.opacityVertexArray.length (= ${t.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${t.text.layoutVertexArray.length}) / 4`);if(t.icon.opacityVertexArray.length!==t.icon.layoutVertexArray.length/4)throw new Error(`bucket.icon.opacityVertexArray.length (= ${t.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${t.icon.layoutVertexArray.length}) / 4`);if(t.bucketInstanceId in this.collisionCircleArrays){const e=this.collisionCircleArrays[t.bucketInstanceId];t.placementInvProjMatrix=e.invProjMatrix,t.placementViewportMatrix=e.viewportMatrix,t.collisionCircleArray=e.circles,delete this.collisionCircleArrays[t.bucketInstanceId];}}symbolFadeChange(t){return 0===this.fadeDuration?1:(t-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(t){return Math.max(0,(this.transform.zoom-t)/1.5)}hasTransitions(t){return this.stale||t-this.lastPlacementChangeTimet}setStale(){this.stale=!0;}}function Ht(t,e,i,a,s,o){a&&0!==a.length||(a=[0,0,0,0]);const r=a[0]-Lt,n=a[1]-Lt,l=a[2]-Lt,h=a[3]-Lt;t.emplaceBack(e?1:0,i?1:0,s||0,o||0,r,n),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,l,n),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,l,h),t.emplaceBack(e?1:0,i?1:0,s||0,o||0,r,h);}const Wt=Math.pow(2,25),$t=Math.pow(2,24),Xt=Math.pow(2,17),Kt=Math.pow(2,16),Jt=Math.pow(2,9),Yt=Math.pow(2,8),Qt=Math.pow(2,1);function te(t){if(0===t.opacity&&!t.placed)return 0;if(1===t.opacity&&t.placed)return 4294967295;const e=t.placed?1:0,i=Math.floor(127*t.opacity);return i*Wt+e*$t+i*Xt+e*Kt+i*Jt+e*Yt+i*Qt+e}const ee=0;function ie(){return {isOccluded:(t,e,i)=>!1,getPitchedTextCorrection:(t,e,i)=>1,get useSpecialProjectionForSymbols(){return !1},projectTileCoordinates(t,e,i,a){throw new Error(\"Not implemented.\")},translatePosition:(t,e,i,a)=>function(t,e,i,a,s=!1){if(!i[0]&&!i[1])return [0,0];const o=s?\"map\"===a?t.angle:0:\"viewport\"===a?-t.angle:0;if(o){const t=Math.sin(o),e=Math.cos(o);i=[i[0]*e-i[1]*t,i[0]*t+i[1]*e];}return [s?i[0]:Bt(e,i[0],t.zoom),s?i[1]:Bt(e,i[1],t.zoom)]}(t,e,i,a),getCircleRadiusCorrection:t=>1}}class ae{constructor(t){this._sortAcrossTiles=\"viewport-y\"!==t.layout.get(\"symbol-z-order\")&&!t.layout.get(\"symbol-sort-key\").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[];}continuePlacement(t,e,i,a,s){const o=this._bucketParts;for(;this._currentTileIndext.sortKey-e.sortKey)));this._currentPartIndex!this._forceFullPlacement&&o.now()-a>2;for(;this._currentPlacementIndex>=0;){const a=e[t[this._currentPlacementIndex]],o=this.placement.collisionIndex.transform.zoom;if(\"symbol\"===a.type&&(!a.minzoom||a.minzoom<=o)&&(!a.maxzoom||a.maxzoom>o)){if(this._inProgressLayer||(this._inProgressLayer=new ae(a)),this._inProgressLayer.continuePlacement(i[a.source],this.placement,this._showCollisionBoxes,a,s))return;delete this._inProgressLayer;}this._currentPlacementIndex--;}this._done=!0;}commit(t){return this.placement.commit(t),this.placement}}const oe=512/e.X/2;class re{constructor(t,i,a){this.tileID=t,this.bucketInstanceId=a,this._symbolsByKey={};const s=new Map;for(let t=0;t({x:Math.floor(t.anchorX*oe),y:Math.floor(t.anchorY*oe)}))),crossTileIDs:i.map((t=>t.crossTileID))};if(a.positions.length>128){const t=new e.av(a.positions.length,16,Uint16Array);for(const{x:e,y:i}of a.positions)t.add(e,i);t.finish(),delete a.positions,a.index=t;}this._symbolsByKey[t]=a;}}getScaledCoordinates(t,i){const{x:a,y:s,z:o}=this.tileID.canonical,{x:r,y:n,z:l}=i.canonical,h=oe/Math.pow(2,l-o),c=(n*e.X+t.anchorY)*h,u=s*e.X*oe;return {x:Math.floor((r*e.X+t.anchorX)*h-a*e.X*oe),y:Math.floor(c-u)}}findMatches(t,e,i){const a=this.tileID.canonical.zt))}}class ne{constructor(){this.maxCrossTileID=0;}generate(){return ++this.maxCrossTileID}}class le{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0;}handleWrapJump(t){const e=Math.round((t-this.lng)/360);if(0!==e)for(const t in this.indexes){const i=this.indexes[t],a={};for(const t in i){const s=i[t];s.tileID=s.tileID.unwrapTo(s.tileID.wrap+e),a[s.tileID.key]=s;}this.indexes[t]=a;}this.lng=t;}addBucket(t,e,i){if(this.indexes[t.overscaledZ]&&this.indexes[t.overscaledZ][t.key]){if(this.indexes[t.overscaledZ][t.key].bucketInstanceId===e.bucketInstanceId)return !1;this.removeBucketCrossTileIDs(t.overscaledZ,this.indexes[t.overscaledZ][t.key]);}for(let t=0;tt.overscaledZ)for(const i in s){const o=s[i];o.tileID.isChildOf(t)&&o.findMatches(e.symbolInstances,t,a);}else {const o=s[t.scaledTo(Number(i)).key];o&&o.findMatches(e.symbolInstances,t,a);}}for(let t=0;t{e[t]=!0;}));for(const t in this.layerIndexes)e[t]||delete this.layerIndexes[t];}}const ce=(t,i)=>e.t(t,i&&i.filter((t=>\"source.canvas\"!==t.identifier))),ue=e.aw();class de extends e.E{constructor(t,i={}){super(),this._rtlPluginLoaded=()=>{for(const t in this.sourceCaches){const e=this.sourceCaches[t].getSource().type;\"vector\"!==e&&\"geojson\"!==e||this.sourceCaches[t].reload();}},this.map=t,this.dispatcher=new U(N(),t._getMapId()),this.dispatcher.registerMessageHandler(\"GG\",((t,e)=>this.getGlyphs(t,e))),this.dispatcher.registerMessageHandler(\"GI\",((t,e)=>this.getImages(t,e))),this.imageManager=new T,this.imageManager.setEventedParent(this),this.glyphManager=new C(t._requestManager,i.localIdeographFontFamily),this.lineAtlas=new R(256,512),this.crossTileSymbolIndex=new he,this._spritesImagesIds={},this._layers={},this._order=[],this.sourceCaches={},this.zoomHistory=new e.ax,this._loaded=!1,this._availableImages=[],this._resetUpdates(),this.dispatcher.broadcast(\"SR\",e.ay()),nt().on(st,this._rtlPluginLoaded),this.on(\"data\",(t=>{if(\"source\"!==t.dataType||\"metadata\"!==t.sourceDataType)return;const e=this.sourceCaches[t.sourceId];if(!e)return;const i=e.getSource();if(i&&i.vectorLayerIds)for(const t in this._layers){const e=this._layers[t];e.source===i.id&&this._validateLayer(e);}}));}loadURL(t,i={},a){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),i.validate=\"boolean\"!=typeof i.validate||i.validate;const s=this.map._requestManager.transformRequest(t,\"Style\");this._loadStyleRequest=new AbortController;const o=this._loadStyleRequest;e.h(s,this._loadStyleRequest).then((t=>{this._loadStyleRequest=null,this._load(t.data,i,a);})).catch((t=>{this._loadStyleRequest=null,t&&!o.signal.aborted&&this.fire(new e.j(t));}));}loadJSON(t,i={},a){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((()=>{this._frameRequest=null,i.validate=!1!==i.validate,this._load(t,i,a);})).catch((()=>{}));}loadEmpty(){this.fire(new e.k(\"dataloading\",{dataType:\"style\"})),this._load(ue,{validate:!1});}_load(t,i,a){var s;const o=i.transformStyle?i.transformStyle(a,t):t;if(!i.validate||!ce(this,e.u(o))){this._loaded=!0,this.stylesheet=o;for(const t in o.sources)this.addSource(t,o.sources[t],{validate:!1});o.sprite?this._loadSprite(o.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(o.glyphs),this._createLayers(),this.light=new D(this.stylesheet.light),this.sky=new A(this.stylesheet.sky),this.map.setTerrain(null!==(s=this.stylesheet.terrain)&&void 0!==s?s:null),this.fire(new e.k(\"data\",{dataType:\"style\"})),this.fire(new e.k(\"style.load\"));}}_createLayers(){const t=e.az(this.stylesheet.layers);this.dispatcher.broadcast(\"SL\",t),this._order=t.map((t=>t.id)),this._layers={},this._serializedLayers=null;for(const i of t){const t=e.aA(i);t.setEventedParent(this,{layer:{id:i.id}}),this._layers[i.id]=t;}}_loadSprite(t,i=!1,a=void 0){let s;this.imageManager.setLoaded(!1),this._spriteRequest=new AbortController,function(t,i,a,s){return e._(this,void 0,void 0,(function*(){const r=x(t),n=a>1?\"@2x\":\"\",l={},h={};for(const{id:t,url:a}of r){const o=i.transformRequest(y(a,n,\".json\"),\"SpriteJSON\");l[t]=e.h(o,s);const r=i.transformRequest(y(a,n,\".png\"),\"SpriteImage\");h[t]=_.getImage(r,s);}return yield Promise.all([...Object.values(l),...Object.values(h)]),function(t,i){return e._(this,void 0,void 0,(function*(){const e={};for(const a in t){e[a]={};const s=o.getImageCanvasContext((yield i[a]).data),r=(yield t[a]).data;for(const t in r){const{width:i,height:o,x:n,y:l,sdf:h,pixelRatio:c,stretchX:u,stretchY:d,content:_,textFitWidth:p,textFitHeight:m}=r[t];e[a][t]={data:null,pixelRatio:c,sdf:h,stretchX:u,stretchY:d,content:_,textFitWidth:p,textFitHeight:m,spriteData:{width:i,height:o,x:n,y:l,context:s}};}}return e}))}(l,h)}))}(t,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((t=>{if(this._spriteRequest=null,t)for(const e in t){this._spritesImagesIds[e]=[];const a=this._spritesImagesIds[e]?this._spritesImagesIds[e].filter((e=>!(e in t))):[];for(const t of a)this.imageManager.removeImage(t),this._changedImages[t]=!0;for(const a in t[e]){const s=\"default\"===e?a:`${e}:${a}`;this._spritesImagesIds[e].push(s),s in this.imageManager.images?this.imageManager.updateImage(s,t[e][a],!1):this.imageManager.addImage(s,t[e][a]),i&&(this._changedImages[s]=!0);}}})).catch((t=>{this._spriteRequest=null,s=t,this.fire(new e.j(s));})).finally((()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),i&&(this._changed=!0),this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"})),a&&a(s);}));}_unloadSprite(){for(const t of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(t),this._changedImages[t]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}_validateLayer(t){const i=this.sourceCaches[t.source];if(!i)return;const a=t.sourceLayer;if(!a)return;const s=i.getSource();(\"geojson\"===s.type||s.vectorLayerIds&&-1===s.vectorLayerIds.indexOf(a))&&this.fire(new e.j(new Error(`Source layer \"${a}\" does not exist on source \"${s.id}\" as specified by style layer \"${t.id}\".`)));}loaded(){if(!this._loaded)return !1;if(Object.keys(this._updatedSources).length)return !1;for(const t in this.sourceCaches)if(!this.sourceCaches[t].loaded())return !1;return !!this.imageManager.isLoaded()}_serializeByIds(t,i=!1){const a=this._serializedAllLayers();if(!t||0===t.length)return Object.values(i?e.aB(a):a);const s=[];for(const o of t)if(a[o]){const t=i?e.aB(a[o]):a[o];s.push(t);}return s}_serializedAllLayers(){let t=this._serializedLayers;if(t)return t;t=this._serializedLayers={};const e=Object.keys(this._layers);for(const i of e){const e=this._layers[i];\"custom\"!==e.type&&(t[i]=e.serialize());}return t}hasTransitions(){if(this.light&&this.light.hasTransition())return !0;if(this.sky&&this.sky.hasTransition())return !0;for(const t in this.sourceCaches)if(this.sourceCaches[t].hasTransition())return !0;for(const t in this._layers)if(this._layers[t].hasTransition())return !0;return !1}_checkLoaded(){if(!this._loaded)throw new Error(\"Style is not done loading.\")}update(t){if(!this._loaded)return;const i=this._changed;if(i){const e=Object.keys(this._updatedLayers),i=Object.keys(this._removedLayers);(e.length||i.length)&&this._updateWorkerLayers(e,i);for(const t in this._updatedSources){const e=this._updatedSources[t];if(\"reload\"===e)this._reloadSource(t);else {if(\"clear\"!==e)throw new Error(`Invalid action ${e}`);this._clearSource(t);}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(const e in this._updatedPaintProps)this._layers[e].updateTransitions(t);this.light.updateTransitions(t),this.sky.updateTransitions(t),this._resetUpdates();}const a={};for(const t in this.sourceCaches){const e=this.sourceCaches[t];a[t]=e.used,e.used=!1;}for(const e of this._order){const i=this._layers[e];i.recalculate(t,this._availableImages),!i.isHidden(t.zoom)&&i.source&&(this.sourceCaches[i.source].used=!0);}for(const t in a){const i=this.sourceCaches[t];!!a[t]!=!!i.used&&i.fire(new e.k(\"data\",{sourceDataType:\"visibility\",dataType:\"source\",sourceId:t}));}this.light.recalculate(t),this.sky.recalculate(t),this.z=t.zoom,i&&this.fire(new e.k(\"data\",{dataType:\"style\"}));}_updateTilesForChangedImages(){const t=Object.keys(this._changedImages);if(t.length){for(const e in this.sourceCaches)this.sourceCaches[e].reloadTilesForDependencies([\"icons\",\"patterns\"],t);this._changedImages={};}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(const t in this.sourceCaches)this.sourceCaches[t].reloadTilesForDependencies([\"glyphs\"],[\"\"]);this._glyphsDidChange=!1;}}_updateWorkerLayers(t,e){this.dispatcher.broadcast(\"UL\",{layers:this._serializeByIds(t,!1),removedIds:e});}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1;}setState(t,i={}){var a;this._checkLoaded();const s=this.serialize();if(t=i.transformStyle?i.transformStyle(s,t):t,(null===(a=i.validate)||void 0===a||a)&&ce(this,e.u(t)))return !1;(t=e.aB(t)).layers=e.az(t.layers);const o=e.aC(s,t),r=this._getOperationsToPerform(o);if(r.unimplemented.length>0)throw new Error(`Unimplemented: ${r.unimplemented.join(\", \")}.`);if(0===r.operations.length)return !1;for(const t of r.operations)t();return this.stylesheet=t,this._serializedLayers=null,!0}_getOperationsToPerform(t){const e=[],i=[];for(const a of t)switch(a.command){case\"setCenter\":case\"setZoom\":case\"setBearing\":case\"setPitch\":continue;case\"addLayer\":e.push((()=>this.addLayer.apply(this,a.args)));break;case\"removeLayer\":e.push((()=>this.removeLayer.apply(this,a.args)));break;case\"setPaintProperty\":e.push((()=>this.setPaintProperty.apply(this,a.args)));break;case\"setLayoutProperty\":e.push((()=>this.setLayoutProperty.apply(this,a.args)));break;case\"setFilter\":e.push((()=>this.setFilter.apply(this,a.args)));break;case\"addSource\":e.push((()=>this.addSource.apply(this,a.args)));break;case\"removeSource\":e.push((()=>this.removeSource.apply(this,a.args)));break;case\"setLayerZoomRange\":e.push((()=>this.setLayerZoomRange.apply(this,a.args)));break;case\"setLight\":e.push((()=>this.setLight.apply(this,a.args)));break;case\"setGeoJSONSourceData\":e.push((()=>this.setGeoJSONSourceData.apply(this,a.args)));break;case\"setGlyphs\":e.push((()=>this.setGlyphs.apply(this,a.args)));break;case\"setSprite\":e.push((()=>this.setSprite.apply(this,a.args)));break;case\"setSky\":e.push((()=>this.setSky.apply(this,a.args)));break;case\"setTerrain\":e.push((()=>this.map.setTerrain.apply(this,a.args)));break;case\"setTransition\":e.push((()=>{}));break;default:i.push(a.command);}return {operations:e,unimplemented:i}}addImage(t,i){if(this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" already exists.`)));this.imageManager.addImage(t,i),this._afterImageUpdated(t);}updateImage(t,e){this.imageManager.updateImage(t,e);}getImage(t){return this.imageManager.getImage(t)}removeImage(t){if(!this.getImage(t))return this.fire(new e.j(new Error(`An image named \"${t}\" does not exist.`)));this.imageManager.removeImage(t),this._afterImageUpdated(t);}_afterImageUpdated(t){this._availableImages=this.imageManager.listImages(),this._changedImages[t]=!0,this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(t,i,a={}){if(this._checkLoaded(),void 0!==this.sourceCaches[t])throw new Error(`Source \"${t}\" already exists.`);if(!i.type)throw new Error(`The type property must be defined, but only the following properties were given: ${Object.keys(i).join(\", \")}.`);if([\"vector\",\"raster\",\"geojson\",\"video\",\"image\"].indexOf(i.type)>=0&&this._validate(e.u.source,`sources.${t}`,i,null,a))return;this.map&&this.map._collectResourceTiming&&(i.collectResourceTiming=!0);const s=this.sourceCaches[t]=new ut(t,i,this.dispatcher);s.style=this,s.setEventedParent(this,(()=>({isSourceLoaded:s.loaded(),source:s.serialize(),sourceId:t}))),s.onAdd(this.map),this._changed=!0;}removeSource(t){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(\"There is no source with this ID\");for(const i in this._layers)if(this._layers[i].source===t)return this.fire(new e.j(new Error(`Source \"${t}\" cannot be removed while layer \"${i}\" is using it.`)));const i=this.sourceCaches[t];delete this.sourceCaches[t],delete this._updatedSources[t],i.fire(new e.k(\"data\",{sourceDataType:\"metadata\",dataType:\"source\",sourceId:t})),i.setEventedParent(null),i.onRemove(this.map),this._changed=!0;}setGeoJSONSourceData(t,e){if(this._checkLoaded(),void 0===this.sourceCaches[t])throw new Error(`There is no source with this ID=${t}`);const i=this.sourceCaches[t].getSource();if(\"geojson\"!==i.type)throw new Error(`geojsonSource.type is ${i.type}, which is !== 'geojson`);i.setData(e),this._changed=!0;}getSource(t){return this.sourceCaches[t]&&this.sourceCaches[t].getSource()}addLayer(t,i,a={}){this._checkLoaded();const s=t.id;if(this.getLayer(s))return void this.fire(new e.j(new Error(`Layer \"${s}\" already exists on this map.`)));let o;if(\"custom\"===t.type){if(ce(this,e.aD(t)))return;o=e.aA(t);}else {if(\"source\"in t&&\"object\"==typeof t.source&&(this.addSource(s,t.source),t=e.aB(t),t=e.e(t,{source:s})),this._validate(e.u.layer,`layers.${s}`,t,{arrayIndex:-1},a))return;o=e.aA(t),this._validateLayer(o),o.setEventedParent(this,{layer:{id:s}});}const r=i?this._order.indexOf(i):this._order.length;if(i&&-1===r)this.fire(new e.j(new Error(`Cannot add layer \"${s}\" before non-existing layer \"${i}\".`)));else {if(this._order.splice(r,0,s),this._layerOrderChanged=!0,this._layers[s]=o,this._removedLayers[s]&&o.source&&\"custom\"!==o.type){const t=this._removedLayers[s];delete this._removedLayers[s],t.type!==o.type?this._updatedSources[o.source]=\"clear\":(this._updatedSources[o.source]=\"reload\",this.sourceCaches[o.source].pause());}this._updateLayer(o),o.onAdd&&o.onAdd(this.map);}}moveLayer(t,i){if(this._checkLoaded(),this._changed=!0,!this._layers[t])return void this.fire(new e.j(new Error(`The layer '${t}' does not exist in the map's style and cannot be moved.`)));if(t===i)return;const a=this._order.indexOf(t);this._order.splice(a,1);const s=i?this._order.indexOf(i):this._order.length;i&&-1===s?this.fire(new e.j(new Error(`Cannot move layer \"${t}\" before non-existing layer \"${i}\".`))):(this._order.splice(s,0,t),this._layerOrderChanged=!0);}removeLayer(t){this._checkLoaded();const i=this._layers[t];if(!i)return void this.fire(new e.j(new Error(`Cannot remove non-existing layer \"${t}\".`)));i.setEventedParent(null);const a=this._order.indexOf(t);this._order.splice(a,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[t]=i,delete this._layers[t],this._serializedLayers&&delete this._serializedLayers[t],delete this._updatedLayers[t],delete this._updatedPaintProps[t],i.onRemove&&i.onRemove(this.map);}getLayer(t){return this._layers[t]}getLayersOrder(){return [...this._order]}hasLayer(t){return t in this._layers}setLayerZoomRange(t,i,a){this._checkLoaded();const s=this.getLayer(t);s?s.minzoom===i&&s.maxzoom===a||(null!=i&&(s.minzoom=i),null!=a&&(s.maxzoom=a),this._updateLayer(s)):this.fire(new e.j(new Error(`Cannot set the zoom range of non-existing layer \"${t}\".`)));}setFilter(t,i,a={}){this._checkLoaded();const s=this.getLayer(t);if(s){if(!e.aE(s.filter,i))return null==i?(s.filter=void 0,void this._updateLayer(s)):void(this._validate(e.u.filter,`layers.${s.id}.filter`,i,null,a)||(s.filter=e.aB(i),this._updateLayer(s)))}else this.fire(new e.j(new Error(`Cannot filter non-existing layer \"${t}\".`)));}getFilter(t){return e.aB(this.getLayer(t).filter)}setLayoutProperty(t,i,a,s={}){this._checkLoaded();const o=this.getLayer(t);o?e.aE(o.getLayoutProperty(i),a)||(o.setLayoutProperty(i,a,s),this._updateLayer(o)):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)));}getLayoutProperty(t,i){const a=this.getLayer(t);if(a)return a.getLayoutProperty(i);this.fire(new e.j(new Error(`Cannot get style of non-existing layer \"${t}\".`)));}setPaintProperty(t,i,a,s={}){this._checkLoaded();const o=this.getLayer(t);o?e.aE(o.getPaintProperty(i),a)||(o.setPaintProperty(i,a,s)&&this._updateLayer(o),this._changed=!0,this._updatedPaintProps[t]=!0,this._serializedLayers=null):this.fire(new e.j(new Error(`Cannot style non-existing layer \"${t}\".`)));}getPaintProperty(t,e){return this.getLayer(t).getPaintProperty(e)}setFeatureState(t,i){this._checkLoaded();const a=t.source,s=t.sourceLayer,o=this.sourceCaches[a];if(void 0===o)return void this.fire(new e.j(new Error(`The source '${a}' does not exist in the map's style.`)));const r=o.getSource().type;\"geojson\"===r&&s?this.fire(new e.j(new Error(\"GeoJSON sources cannot have a sourceLayer parameter.\"))):\"vector\"!==r||s?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),o.setFeatureState(s,t.id,i)):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}removeFeatureState(t,i){this._checkLoaded();const a=t.source,s=this.sourceCaches[a];if(void 0===s)return void this.fire(new e.j(new Error(`The source '${a}' does not exist in the map's style.`)));const o=s.getSource().type,r=\"vector\"===o?t.sourceLayer:void 0;\"vector\"!==o||r?i&&\"string\"!=typeof t.id&&\"number\"!=typeof t.id?this.fire(new e.j(new Error(\"A feature id is required to remove its specific state property.\"))):s.removeFeatureState(r,t.id,i):this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));}getFeatureState(t){this._checkLoaded();const i=t.source,a=t.sourceLayer,s=this.sourceCaches[i];if(void 0!==s)return \"vector\"!==s.getSource().type||a?(void 0===t.id&&this.fire(new e.j(new Error(\"The feature id parameter must be provided.\"))),s.getFeatureState(a,t.id)):void this.fire(new e.j(new Error(\"The sourceLayer parameter must be provided for vector source types.\")));this.fire(new e.j(new Error(`The source '${i}' does not exist in the map's style.`)));}getTransition(){return e.e({duration:300,delay:0},this.stylesheet&&this.stylesheet.transition)}serialize(){if(!this._loaded)return;const t=e.aF(this.sourceCaches,(t=>t.serialize())),i=this._serializeByIds(this._order,!0),a=this.map.getTerrain()||void 0,s=this.stylesheet;return e.aG({version:s.version,name:s.name,metadata:s.metadata,light:s.light,sky:s.sky,center:s.center,zoom:s.zoom,bearing:s.bearing,pitch:s.pitch,sprite:s.sprite,glyphs:s.glyphs,transition:s.transition,sources:t,layers:i,terrain:a},(t=>void 0!==t))}_updateLayer(t){this._updatedLayers[t.id]=!0,t.source&&!this._updatedSources[t.source]&&\"raster\"!==this.sourceCaches[t.source].getSource().type&&(this._updatedSources[t.source]=\"reload\",this.sourceCaches[t.source].pause()),this._serializedLayers=null,this._changed=!0;}_flattenAndSortRenderedFeatures(t){const e=t=>\"fill-extrusion\"===this._layers[t].type,i={},a=[];for(let s=this._order.length-1;s>=0;s--){const o=this._order[s];if(e(o)){i[o]=s;for(const e of t){const t=e[o];if(t)for(const e of t)a.push(e);}}}a.sort(((t,e)=>e.intersectionZ-t.intersectionZ));const s=[];for(let o=this._order.length-1;o>=0;o--){const r=this._order[o];if(e(r))for(let t=a.length-1;t>=0;t--){const e=a[t].feature;if(i[e.layer.id]{const a=i.featureSortOrder;if(a){const i=a.indexOf(t.featureIndex);return a.indexOf(e.featureIndex)-i}return e.featureIndex-t.featureIndex}));for(const t of s)e.push(t);}}for(const e in n)n[e].forEach((a=>{const s=a.feature,o=i[t[e].source].getFeatureState(s.layer[\"source-layer\"],s.id);s.source=s.layer.source,s.layer[\"source-layer\"]&&(s.sourceLayer=s.layer[\"source-layer\"]),s.state=o;}));return n}(this._layers,r,this.sourceCaches,t,i,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(o)}querySourceFeatures(t,i){i&&i.filter&&this._validate(e.u.filter,\"querySourceFeatures.filter\",i.filter,null,i);const a=this.sourceCaches[t];return a?function(t,e){const i=t.getRenderableIds().map((e=>t.getTileByID(e))),a=[],s={};for(let t=0;tt.getTileByID(e))).sort(((t,e)=>e.tileID.overscaledZ-t.tileID.overscaledZ||(t.tileID.isLessThan(e.tileID)?-1:1)));}const a=this.crossTileSymbolIndex.addLayer(i,l[i.source],t.center.lng);r=r||a;}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),((s=s||this._layerOrderChanged||0===i)||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(o.now(),t.zoom))&&(this.pauseablePlacement=new se(t,this.map.terrain,this._order,s,e,i,a,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,l),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(o.now()),n=!0),r&&this.pauseablePlacement.placement.setStale()),n||r)for(const t of this._order){const e=this._layers[t];\"symbol\"===e.type&&this.placement.updateLayerOpacities(e,l[e.source]);}return !this.pauseablePlacement.isDone()||this.placement.hasTransitions(o.now())}_releaseSymbolFadeTiles(){for(const t in this.sourceCaches)this.sourceCaches[t].releaseSymbolFadeTiles();}getImages(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.imageManager.getImages(i.icons);this._updateTilesForChangedImages();const e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,i.icons),t}))}getGlyphs(t,i){return e._(this,void 0,void 0,(function*(){const t=yield this.glyphManager.getGlyphs(i.stacks),e=this.sourceCaches[i.source];return e&&e.setDependencies(i.tileID.key,i.type,[\"\"]),t}))}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(t,i={}){this._checkLoaded(),t&&this._validate(e.u.glyphs,\"glyphs\",t,null,i)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=t,this.glyphManager.entries={},this.glyphManager.setURL(t));}addSprite(t,i,a={},s){this._checkLoaded();const o=[{id:t,url:i}],r=[...x(this.stylesheet.sprite),...o];this._validate(e.u.sprite,\"sprite\",r,null,a)||(this.stylesheet.sprite=r,this._loadSprite(o,!0,s));}removeSprite(t){this._checkLoaded();const i=x(this.stylesheet.sprite);if(i.find((e=>e.id===t))){if(this._spritesImagesIds[t])for(const e of this._spritesImagesIds[t])this.imageManager.removeImage(e),this._changedImages[e]=!0;i.splice(i.findIndex((e=>e.id===t)),1),this.stylesheet.sprite=i.length>0?i:void 0,delete this._spritesImagesIds[t],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast(\"SI\",this._availableImages),this.fire(new e.k(\"data\",{dataType:\"style\"}));}else this.fire(new e.j(new Error(`Sprite \"${t}\" doesn't exists on this map.`)));}getSprite(){return x(this.stylesheet.sprite)}setSprite(t,i={},a){this._checkLoaded(),t&&this._validate(e.u.sprite,\"sprite\",t,null,i)||(this.stylesheet.sprite=t,t?this._loadSprite(t,!0,a):(this._unloadSprite(),a&&a(null)));}}var _e=e.Y([{name:\"a_pos\",type:\"Int16\",components:2}]);const pe={prelude:me(\"#ifdef GL_ES\\nprecision mediump float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\n\",\"#ifdef GL_ES\\nprecision highp float;\\n#else\\n#if !defined(lowp)\\n#define lowp\\n#endif\\n#if !defined(mediump)\\n#define mediump\\n#endif\\n#if !defined(highp)\\n#define highp\\n#endif\\n#endif\\nvec2 unpack_float(const float packedValue) {int packedIntValue=int(packedValue);int v0=packedIntValue/256;return vec2(v0,packedIntValue-v0*256);}vec2 unpack_opacity(const float packedOpacity) {int intOpacity=int(packedOpacity)/2;return vec2(float(intOpacity)/127.0,mod(packedOpacity,2.0));}vec4 decode_color(const vec2 encodedColor) {return vec4(unpack_float(encodedColor[0])/255.0,unpack_float(encodedColor[1])/255.0\\n);}float unpack_mix_vec2(const vec2 packedValue,const float t) {return mix(packedValue[0],packedValue[1],t);}vec4 unpack_mix_color(const vec4 packedColors,const float t) {vec4 minColor=decode_color(vec2(packedColors[0],packedColors[1]));vec4 maxColor=decode_color(vec2(packedColors[2],packedColors[3]));return mix(minColor,maxColor,t);}vec2 get_pattern_pos(const vec2 pixel_coord_upper,const vec2 pixel_coord_lower,const vec2 pattern_size,const float tile_units_to_pixels,const vec2 pos) {vec2 offset=mod(mod(mod(pixel_coord_upper,pattern_size)*256.0,pattern_size)*256.0+pixel_coord_lower,pattern_size);return (tile_units_to_pixels*pos+offset)/pattern_size;}\\n#ifdef TERRAIN3D\\nuniform sampler2D u_terrain;uniform float u_terrain_dim;uniform mat4 u_terrain_matrix;uniform vec4 u_terrain_unpack;uniform float u_terrain_exaggeration;uniform highp sampler2D u_depth;\\n#endif\\nconst highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitShifts=vec4(1.)/bitSh;highp float unpack(highp vec4 color) {return dot(color,bitShifts);}highp float depthOpacity(vec3 frag) {\\n#ifdef TERRAIN3D\\nhighp float d=unpack(texture2D(u_depth,frag.xy*0.5+0.5))+0.0001-frag.z;return 1.0-max(0.0,min(1.0,-d*500.0));\\n#else\\nreturn 1.0;\\n#endif\\n}float calculate_visibility(vec4 pos) {\\n#ifdef TERRAIN3D\\nvec3 frag=pos.xyz/pos.w;highp float d=depthOpacity(frag);if (d > 0.95) return 1.0;return (d+depthOpacity(frag+vec3(0.0,0.01,0.0)))/2.0;\\n#else\\nreturn 1.0;\\n#endif\\n}float ele(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec4 rgb=(texture2D(u_terrain,pos)*255.0)*u_terrain_unpack;return rgb.r+rgb.g+rgb.b-u_terrain_unpack.a;\\n#else\\nreturn 0.0;\\n#endif\\n}float get_elevation(vec2 pos) {\\n#ifdef TERRAIN3D\\nvec2 coord=(u_terrain_matrix*vec4(pos,0.0,1.0)).xy*u_terrain_dim+1.0;vec2 f=fract(coord);vec2 c=(floor(coord)+0.5)/(u_terrain_dim+2.0);float d=1.0/(u_terrain_dim+2.0);float tl=ele(c);float tr=ele(c+vec2(d,0.0));float bl=ele(c+vec2(0.0,d));float br=ele(c+vec2(d,d));float elevation=mix(mix(tl,tr,f.x),mix(bl,br,f.x),f.y);return elevation*u_terrain_exaggeration;\\n#else\\nreturn 0.0;\\n#endif\\n}\"),background:me(\"uniform vec4 u_color;uniform float u_opacity;void main() {gl_FragColor=u_color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),backgroundPattern:me(\"uniform vec2 u_pattern_tl_a;uniform vec2 u_pattern_br_a;uniform vec2 u_pattern_tl_b;uniform vec2 u_pattern_br_b;uniform vec2 u_texsize;uniform float u_mix;uniform float u_opacity;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(u_pattern_tl_a/u_texsize,u_pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(u_pattern_tl_b/u_texsize,u_pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_mix)*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pattern_size_a;uniform vec2 u_pattern_size_b;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_scale_a;uniform float u_scale_b;uniform float u_tile_units_to_pixels;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_a*u_pattern_size_a,u_tile_units_to_pixels,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,u_scale_b*u_pattern_size_b,u_tile_units_to_pixels,a_pos);}\"),circle:me(\"varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=v_data.xy;float extrude_length=length(extrude);float antialiased_blur=v_data.z;float opacity_t=smoothstep(0.0,antialiased_blur,extrude_length-1.0);float color_t=stroke_width < 0.01 ? 0.0 : smoothstep(antialiased_blur,0.0,extrude_length-radius/(radius+stroke_width));gl_FragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform bool u_scale_with_map;uniform bool u_pitch_with_map;uniform vec2 u_extrude_scale;uniform lowp float u_device_pixel_ratio;uniform highp float u_camera_to_center_distance;attribute vec2 a_pos;varying vec3 v_data;varying float v_visibility;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define mediump float radius\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define highp vec4 stroke_color\\n#pragma mapbox: define mediump float stroke_width\\n#pragma mapbox: define lowp float stroke_opacity\\nvoid main(void) {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize mediump float radius\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize highp vec4 stroke_color\\n#pragma mapbox: initialize mediump float stroke_width\\n#pragma mapbox: initialize lowp float stroke_opacity\\nvec2 extrude=vec2(mod(a_pos,2.0)*2.0-1.0);vec2 circle_center=floor(a_pos*0.5);float ele=get_elevation(circle_center);v_visibility=calculate_visibility(u_matrix*vec4(circle_center,ele,1.0));if (u_pitch_with_map) {vec2 corner_position=circle_center;if (u_scale_with_map) {corner_position+=extrude*(radius+stroke_width)*u_extrude_scale;} else {vec4 projected_center=u_matrix*vec4(circle_center,0,1);corner_position+=extrude*(radius+stroke_width)*u_extrude_scale*(projected_center.w/u_camera_to_center_distance);}gl_Position=u_matrix*vec4(corner_position,ele,1);} else {gl_Position=u_matrix*vec4(circle_center,ele,1);if (u_scale_with_map) {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*u_camera_to_center_distance;} else {gl_Position.xy+=extrude*(radius+stroke_width)*u_extrude_scale*gl_Position.w;}}float antialiasblur=-max(1.0/u_device_pixel_ratio/(radius+stroke_width),blur);v_data=vec3(extrude.x,extrude.y,antialiasblur);}\"),clippingMask:me(\"void main() {gl_FragColor=vec4(1.0);}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);}\"),heatmap:me(\"uniform highp float u_intensity;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main() {\\n#pragma mapbox: initialize highp float weight\\nfloat d=-0.5*3.0*3.0*dot(v_extrude,v_extrude);float val=weight*u_intensity*GAUSS_COEF*exp(d);gl_FragColor=vec4(val,1.0,1.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;attribute vec2 a_pos;varying vec2 v_extrude;\\n#pragma mapbox: define highp float weight\\n#pragma mapbox: define mediump float radius\\nconst highp float ZERO=1.0/255.0/16.0;\\n#define GAUSS_COEF 0.3989422804014327\\nvoid main(void) {\\n#pragma mapbox: initialize highp float weight\\n#pragma mapbox: initialize mediump float radius\\nvec2 unscaled_extrude=vec2(mod(a_pos,2.0)*2.0-1.0);float S=sqrt(-2.0*log(ZERO/weight/u_intensity/GAUSS_COEF))/3.0;v_extrude=S*unscaled_extrude;vec2 extrude=v_extrude*radius*u_extrude_scale;vec4 pos=vec4(floor(a_pos*0.5)+extrude,get_elevation(floor(a_pos*0.5)),1);gl_Position=u_matrix*pos;}\"),heatmapTexture:me(\"uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;varying vec2 v_pos;void main() {float t=texture2D(u_image,v_pos).r;vec4 color=texture2D(u_color_ramp,vec2(t,0.5));gl_FragColor=color*u_opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(0.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;attribute vec2 a_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos*u_world,0,1);v_pos.x=a_pos.x;v_pos.y=1.0-a_pos.y;}\"),collisionBox:me(\"varying float v_placed;varying float v_notUsed;void main() {float alpha=0.5;gl_FragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {gl_FragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {gl_FragColor*=.1;}}\",\"attribute vec2 a_anchor_pos;attribute vec2 a_placed;attribute vec2 a_box_real;uniform mat4 u_matrix;uniform vec2 u_pixel_extrude_scale;varying float v_placed;varying float v_notUsed;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}void main() {gl_Position=projectTileWithElevation(a_anchor_pos,get_elevation(a_anchor_pos));gl_Position.xy=((a_box_real+0.5)*u_pixel_extrude_scale*2.0-1.0)*vec2(1.0,-1.0)*gl_Position.w;if (gl_Position.z/gl_Position.w < 1.1) {gl_Position.z=0.5;}v_placed=a_placed.x;v_notUsed=a_placed.y;}\"),collisionCircle:me(\"varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;void main() {float alpha=0.5*min(v_perspective_ratio,1.0);float stroke_radius=0.9*max(v_perspective_ratio,1.0);float distance_to_center=length(v_extrude);float distance_to_edge=abs(distance_to_center-v_radius);float opacity_t=smoothstep(-stroke_radius,0.0,-distance_to_edge);vec4 color=mix(vec4(0.0,0.0,1.0,0.5),vec4(1.0,0.0,0.0,1.0),v_collision);gl_FragColor=color*alpha*opacity_t;}\",\"attribute vec2 a_pos;attribute float a_radius;attribute vec2 a_flags;uniform mat4 u_matrix;uniform mat4 u_inv_matrix;uniform vec2 u_viewport_size;uniform float u_camera_to_center_distance;varying float v_radius;varying vec2 v_extrude;varying float v_perspective_ratio;varying float v_collision;vec3 toTilePosition(vec2 screenPos) {vec4 rayStart=u_inv_matrix*vec4(screenPos,-1.0,1.0);vec4 rayEnd =u_inv_matrix*vec4(screenPos, 1.0,1.0);rayStart.xyz/=rayStart.w;rayEnd.xyz /=rayEnd.w;highp float t=(0.0-rayStart.z)/(rayEnd.z-rayStart.z);return mix(rayStart.xyz,rayEnd.xyz,t);}void main() {vec2 quadCenterPos=a_pos;float radius=a_radius;float collision=a_flags.x;float vertexIdx=a_flags.y;vec2 quadVertexOffset=vec2(mix(-1.0,1.0,float(vertexIdx >=2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx <=2.0)));vec2 quadVertexExtent=quadVertexOffset*radius;vec3 tilePos=toTilePosition(quadCenterPos);vec4 clipPos=u_matrix*vec4(tilePos,1.0);highp float camera_to_anchor_distance=clipPos.w;highp float collision_perspective_ratio=clamp(0.5+0.5*(u_camera_to_center_distance/camera_to_anchor_distance),0.0,4.0);float padding_factor=1.2;v_radius=radius;v_extrude=quadVertexExtent*padding_factor;v_perspective_ratio=collision_perspective_ratio;v_collision=collision;gl_Position=vec4(clipPos.xyz/clipPos.w,1.0)+vec4(quadVertexExtent*padding_factor/u_viewport_size*2.0,0.0,0.0);}\"),debug:me(\"uniform highp vec4 u_color;uniform sampler2D u_overlay;varying vec2 v_uv;void main() {vec4 overlay_color=texture2D(u_overlay,v_uv);gl_FragColor=mix(u_color,overlay_color,overlay_color.a);}\",\"attribute vec2 a_pos;varying vec2 v_uv;uniform mat4 u_matrix;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=u_matrix*vec4(a_pos*u_overlay_scale,get_elevation(a_pos),1);}\"),fill:me(\"#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_FragColor=color*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);}\"),fillOutline:me(\"varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=outline_color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec2 a_pos;uniform mat4 u_matrix;uniform vec2 u_world;varying vec2 v_pos;\\n#pragma mapbox: define highp vec4 outline_color\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 outline_color\\n#pragma mapbox: initialize lowp float opacity\\ngl_Position=u_matrix*vec4(a_pos,0,1);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillOutlinePattern:me(\"uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);gl_FragColor=mix(color1,color2,u_fade)*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec2 v_pos;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;gl_Position=u_matrix*vec4(a_pos,0,1);vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world;}\"),fillPattern:me(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);gl_FragColor=mix(color1,color2,u_fade)*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;attribute vec2 a_pos;varying vec2 v_pos_a;varying vec2 v_pos_b;\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;gl_Position=u_matrix*vec4(a_pos,0,1);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileZoomRatio,a_pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileZoomRatio,a_pos);}\"),fillExtrusion:me(\"varying vec4 v_color;void main() {gl_FragColor=v_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec4 v_color;\\n#pragma mapbox: define highp float base\\n#pragma mapbox: define highp float height\\n#pragma mapbox: define highp vec4 color\\nvoid main() {\\n#pragma mapbox: initialize highp float base\\n#pragma mapbox: initialize highp float height\\n#pragma mapbox: initialize highp vec4 color\\nvec3 normal=a_normal_ed.xyz;\\n#ifdef TERRAIN3D\\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);gl_Position=u_matrix*vec4(a_pos,t > 0.0 ? height : base,1);float colorvalue=color.r*0.2126+color.g*0.7152+color.b*0.0722;v_color=vec4(0.0,0.0,0.0,1.0);vec4 ambientlight=vec4(0.03,0.03,0.03,1.0);color+=ambientlight;float directional=clamp(dot(normal/16384.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((1.0-colorvalue+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_color.r+=clamp(color.r*directional*u_lightcolor.r,mix(0.0,0.3,1.0-u_lightcolor.r),1.0);v_color.g+=clamp(color.g*directional*u_lightcolor.g,mix(0.0,0.3,1.0-u_lightcolor.g),1.0);v_color.b+=clamp(color.b*directional*u_lightcolor.b,mix(0.0,0.3,1.0-u_lightcolor.b),1.0);v_color*=u_opacity;}\"),fillExtrusionPattern:me(\"uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;varying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;vec2 imagecoord=mod(v_pos_a,1.0);vec2 pos=mix(pattern_tl_a/u_texsize,pattern_br_a/u_texsize,imagecoord);vec4 color1=texture2D(u_image,pos);vec2 imagecoord_b=mod(v_pos_b,1.0);vec2 pos2=mix(pattern_tl_b/u_texsize,pattern_br_b/u_texsize,imagecoord_b);vec4 color2=texture2D(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);gl_FragColor=mixedColor*v_lighting;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform float u_height_factor;uniform vec3 u_scale;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp float u_lightintensity;attribute vec2 a_pos;attribute vec4 a_normal_ed;\\n#ifdef TERRAIN3D\\nattribute vec2 a_centroid;\\n#endif\\nvarying vec2 v_pos_a;varying vec2 v_pos_b;varying vec4 v_lighting;\\n#pragma mapbox: define lowp float base\\n#pragma mapbox: define lowp float height\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float base\\n#pragma mapbox: initialize lowp float height\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec3 normal=a_normal_ed.xyz;float edgedistance=a_normal_ed.w;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;\\n#ifdef TERRAIN3D\\nfloat height_terrain3d_offset=get_elevation(a_centroid);float base_terrain3d_offset=height_terrain3d_offset-(base > 0.0 ? 0.0 : 10.0);\\n#else\\nfloat height_terrain3d_offset=0.0;float base_terrain3d_offset=0.0;\\n#endif\\nbase=max(0.0,base)+base_terrain3d_offset;height=max(0.0,height)+height_terrain3d_offset;float t=mod(normal.x,2.0);float z=t > 0.0 ? height : base;gl_Position=u_matrix*vec4(a_pos,z,1);vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0\\n? a_pos\\n: vec2(edgedistance,z*u_height_factor);v_pos_a=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,fromScale*display_size_a,tileRatio,pos);v_pos_b=get_pattern_pos(u_pixel_coord_upper,u_pixel_coord_lower,toScale*display_size_b,tileRatio,pos);v_lighting=vec4(0.0,0.0,0.0,1.0);float directional=clamp(dot(normal/16383.0,u_lightpos),0.0,1.0);directional=mix((1.0-u_lightintensity),max((0.5+u_lightintensity),1.0),directional);if (normal.y !=0.0) {directional*=((1.0-u_vertical_gradient)+(u_vertical_gradient*clamp((t+base)*pow(height/150.0,0.5),mix(0.7,0.98,1.0-u_lightintensity),1.0)));}v_lighting.rgb+=clamp(directional*u_lightcolor,mix(vec3(0.0),vec3(0.3),1.0-u_lightcolor),vec3(1.0));v_lighting*=u_opacity;}\"),hillshadePrepare:me(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture2D(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack)/4.0;}void main() {vec2 epsilon=1.0/u_dimension;float a=getElevation(v_pos+vec2(-epsilon.x,-epsilon.y),0.0);float b=getElevation(v_pos+vec2(0,-epsilon.y),0.0);float c=getElevation(v_pos+vec2(epsilon.x,-epsilon.y),0.0);float d=getElevation(v_pos+vec2(-epsilon.x,0),0.0);float e=getElevation(v_pos,0.0);float f=getElevation(v_pos+vec2(epsilon.x,0),0.0);float g=getElevation(v_pos+vec2(-epsilon.x,epsilon.y),0.0);float h=getElevation(v_pos+vec2(0,epsilon.y),0.0);float i=getElevation(v_pos+vec2(epsilon.x,epsilon.y),0.0);float exaggerationFactor=u_zoom < 2.0 ? 0.4 : u_zoom < 4.5 ? 0.35 : 0.3;float exaggeration=u_zoom < 15.0 ? (u_zoom-15.0)*exaggerationFactor : 0.0;vec2 deriv=vec2((c+f+f+i)-(a+d+d+g),(g+h+h+i)-(a+b+b+c))/pow(2.0,exaggeration+(19.2562-u_zoom));gl_FragColor=clamp(vec4(deriv.x/2.0+0.5,deriv.y/2.0+0.5,1.0,1.0),0.0,1.0);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_dimension;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_texture_pos/8192.0)*scale+epsilon;}\"),hillshade:me(\"uniform sampler2D u_image;varying vec2 v_pos;uniform vec2 u_latrange;uniform vec2 u_light;uniform vec4 u_shadow;uniform vec4 u_highlight;uniform vec4 u_accent;\\n#define PI 3.141592653589793\\nvoid main() {vec4 pixel=texture2D(u_image,v_pos);vec2 deriv=((pixel.rg*2.0)-1.0);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));float slope=atan(1.25*length(deriv)/scaleFactor);float aspect=deriv.x !=0.0 ? atan(deriv.y,-deriv.x) : PI/2.0*(deriv.y > 0.0 ? 1.0 :-1.0);float intensity=u_light.x;float azimuth=u_light.y+PI;float base=1.875-intensity*1.75;float maxValue=0.5*PI;float scaledSlope=intensity !=0.5 ? ((pow(base,slope)-1.0)/(pow(base,maxValue)-1.0))*maxValue : slope;float accent=cos(scaledSlope);vec4 accent_color=(1.0-accent)*u_accent*clamp(intensity*2.0,0.0,1.0);float shade=abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);vec4 shade_color=mix(u_shadow,u_highlight,shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);gl_FragColor=accent_color*(1.0-shade_color.a)+shade_color;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos=a_texture_pos/8192.0;}\"),line:me(\"uniform lowp float u_device_pixel_ratio;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp float v_linesofar;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;v_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*2.0;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_width2=vec2(outset,inset);}\"),lineGradient:me(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;varying vec2 v_width2;varying vec2 v_normal;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);vec4 color=texture2D(u_image,v_uv);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\nattribute vec2 a_pos_normal;attribute vec4 a_data;attribute float a_uv_x;attribute float a_split_index;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;varying vec2 v_normal;varying vec2 v_width2;varying float v_gamma_scale;varying highp vec2 v_uv;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;highp float texel_height=1.0/u_image_height;highp float half_texel_height=0.5*texel_height;v_uv=vec2(a_uv_x,a_split_index*texel_height-half_texel_height);vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_width2=vec2(outset,inset);}\"),linePattern:me(\"#ifdef GL_ES\\nprecision highp float;\\n#endif\\nuniform lowp float u_device_pixel_ratio;uniform vec2 u_texsize;uniform float u_fade;uniform mediump vec3 u_scale;uniform sampler2D u_image;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\nvec2 pattern_tl_a=pattern_from.xy;vec2 pattern_br_a=pattern_from.zw;vec2 pattern_tl_b=pattern_to.xy;vec2 pattern_br_b=pattern_to.zw;float tileZoomRatio=u_scale.x;float fromScale=u_scale.y;float toScale=u_scale.z;vec2 display_size_a=(pattern_br_a-pattern_tl_a)/pixel_ratio_from;vec2 display_size_b=(pattern_br_b-pattern_tl_b)/pixel_ratio_to;vec2 pattern_size_a=vec2(display_size_a.x*fromScale/tileZoomRatio,display_size_a.y);vec2 pattern_size_b=vec2(display_size_b.x*toScale/tileZoomRatio,display_size_b.y);float aspect_a=display_size_a.y/v_width;float aspect_b=display_size_b.y/v_width;float dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float x_a=mod(v_linesofar/pattern_size_a.x*aspect_a,1.0);float x_b=mod(v_linesofar/pattern_size_b.x*aspect_b,1.0);float y=0.5*v_normal.y+0.5;vec2 texel_size=1.0/u_texsize;vec2 pos_a=mix(pattern_tl_a*texel_size-texel_size,pattern_br_a*texel_size+texel_size,vec2(x_a,y));vec2 pos_b=mix(pattern_tl_b*texel_size-texel_size,pattern_br_b*texel_size+texel_size,vec2(x_b,y));vec4 color=mix(texture2D(u_image,pos_a),texture2D(u_image,pos_b),u_fade);gl_FragColor=color*alpha*opacity;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;varying vec2 v_normal;varying vec2 v_width2;varying float v_linesofar;varying float v_gamma_scale;varying float v_width;\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\n#pragma mapbox: define lowp vec4 pattern_from\\n#pragma mapbox: define lowp vec4 pattern_to\\n#pragma mapbox: define lowp float pixel_ratio_from\\n#pragma mapbox: define lowp float pixel_ratio_to\\nvoid main() {\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\n#pragma mapbox: initialize mediump vec4 pattern_from\\n#pragma mapbox: initialize mediump vec4 pattern_to\\n#pragma mapbox: initialize lowp float pixel_ratio_from\\n#pragma mapbox: initialize lowp float pixel_ratio_to\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_linesofar=a_linesofar;v_width2=vec2(outset,inset);v_width=floorwidth;}\"),lineSDF:me(\"uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform float u_sdfgamma;uniform float u_mix;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat dist=length(v_normal)*v_width2.s;float blur2=(blur+1.0/u_device_pixel_ratio)*v_gamma_scale;float alpha=clamp(min(dist-(v_width2.t-blur2),v_width2.s-dist)/blur2,0.0,1.0);float sdfdist_a=texture2D(u_image,v_tex_a).a;float sdfdist_b=texture2D(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);alpha*=smoothstep(0.5-u_sdfgamma/floorwidth,0.5+u_sdfgamma/floorwidth,sdfdist);gl_FragColor=color*(alpha*opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"\\n#define scale 0.015873016\\n#define LINE_DISTANCE_SCALE 2.0\\nattribute vec2 a_pos_normal;attribute vec4 a_data;uniform mat4 u_matrix;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_patternscale_a;uniform float u_tex_y_a;uniform vec2 u_patternscale_b;uniform float u_tex_y_b;uniform vec2 u_units_to_pixels;varying vec2 v_normal;varying vec2 v_width2;varying vec2 v_tex_a;varying vec2 v_tex_b;varying float v_gamma_scale;\\n#pragma mapbox: define highp vec4 color\\n#pragma mapbox: define lowp float blur\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define mediump float gapwidth\\n#pragma mapbox: define lowp float offset\\n#pragma mapbox: define mediump float width\\n#pragma mapbox: define lowp float floorwidth\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 color\\n#pragma mapbox: initialize lowp float blur\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize mediump float gapwidth\\n#pragma mapbox: initialize lowp float offset\\n#pragma mapbox: initialize mediump float width\\n#pragma mapbox: initialize lowp float floorwidth\\nfloat ANTIALIASING=1.0/u_device_pixel_ratio/2.0;vec2 a_extrude=a_data.xy-128.0;float a_direction=mod(a_data.z,4.0)-1.0;float a_linesofar=(floor(a_data.z/4.0)+a_data.w*64.0)*LINE_DISTANCE_SCALE;vec2 pos=floor(a_pos_normal*0.5);mediump vec2 normal=a_pos_normal-2.0*pos;normal.y=normal.y*2.0-1.0;v_normal=normal;gapwidth=gapwidth/2.0;float halfwidth=width/2.0;offset=-1.0*offset;float inset=gapwidth+(gapwidth > 0.0 ? ANTIALIASING : 0.0);float outset=gapwidth+halfwidth*(gapwidth > 0.0 ? 2.0 : 1.0)+(halfwidth==0.0 ? 0.0 : ANTIALIASING);mediump vec2 dist=outset*a_extrude*scale;mediump float u=0.5*a_direction;mediump float t=1.0-abs(u);mediump vec2 offset2=offset*a_extrude*scale*normal.y*mat2(t,-u,u,t);vec4 projected_extrude=u_matrix*vec4(dist/u_ratio,0.0,0.0);gl_Position=u_matrix*vec4(pos+offset2/u_ratio,0.0,1.0)+projected_extrude;\\n#ifdef TERRAIN3D\\nv_gamma_scale=1.0;\\n#else\\nfloat extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length(projected_extrude.xy/gl_Position.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective;\\n#endif\\nv_tex_a=vec2(a_linesofar*u_patternscale_a.x/floorwidth,normal.y*u_patternscale_a.y+u_tex_y_a);v_tex_b=vec2(a_linesofar*u_patternscale_b.x/floorwidth,normal.y*u_patternscale_b.y+u_tex_y_b);v_width2=vec2(outset,inset);}\"),raster:me(\"uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;varying vec2 v_pos0;varying vec2 v_pos1;uniform float u_brightness_low;uniform float u_brightness_high;uniform float u_saturation_factor;uniform float u_contrast_factor;uniform vec3 u_spin_weights;void main() {vec4 color0=texture2D(u_image0,v_pos0);vec4 color1=texture2D(u_image1,v_pos1);if (color0.a > 0.0) {color0.rgb=color0.rgb/color0.a;}if (color1.a > 0.0) {color1.rgb=color1.rgb/color1.a;}vec4 color=mix(color0,color1,u_fade_t);color.a*=u_opacity;vec3 rgb=color.rgb;rgb=vec3(dot(rgb,u_spin_weights.xyz),dot(rgb,u_spin_weights.zxy),dot(rgb,u_spin_weights.yzx));float average=(color.r+color.g+color.b)/3.0;rgb+=(average-rgb)*u_saturation_factor;rgb=(rgb-0.5)*u_contrast_factor+0.5;vec3 u_high_vec=vec3(u_brightness_low,u_brightness_low,u_brightness_low);vec3 u_low_vec=vec3(u_brightness_high,u_brightness_high,u_brightness_high);gl_FragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"uniform mat4 u_matrix;uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;attribute vec2 a_pos;attribute vec2 a_texture_pos;varying vec2 v_pos0;varying vec2 v_pos1;void main() {gl_Position=u_matrix*vec4(a_pos,0,1);v_pos0=(((a_texture_pos/8192.0)-0.5)/u_buffer_scale )+0.5;v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}\"),symbolIcon:me(\"uniform sampler2D u_texture;varying vec2 v_tex;varying float v_fade_opacity;\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nlowp float alpha=opacity*v_fade_opacity;gl_FragColor=texture2D(u_texture,v_tex)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform highp float u_camera_to_center_distance;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform float u_fade_change;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform vec2 u_texsize;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_tex;varying float v_fade_opacity;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define lowp float opacity\\nvoid main() {\\n#pragma mapbox: initialize lowp float opacity\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;vec2 a_minFontScale=a_pixeloffset.zw/256.0;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*max(a_minFontScale,fontScale)+a_pxoffset/16.0)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}gl_Position=finalPos;v_tex=a_tex/u_texsize;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float visibility=calculate_visibility(projectedPoint);v_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));}\"),symbolSDF:me(\"#define SDF_PX 8.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;uniform bool u_is_text;varying vec2 v_data0;varying vec3 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat EDGE_GAMMA=0.105/u_device_pixel_ratio;vec2 tex=v_data0.xy;float gamma_scale=v_data1.x;float size=v_data1.y;float fade_opacity=v_data1[2];float fontScale=u_is_text ? size/24.0 : size;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float inner_edge=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);inner_edge=inner_edge+gamma*gamma_scale;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(inner_edge-gamma_scaled,inner_edge+gamma_scaled,dist);if (u_is_halo) {lowp float halo_edge=(6.0-halo_width/fontScale)/SDF_PX;alpha=min(smoothstep(halo_edge-gamma_scaled,halo_edge+gamma_scaled,dist),1.0-alpha);}gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec4 a_pixeloffset;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec2 v_data0;varying vec3 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);vec2 a_pxoffset=a_pixeloffset.xy;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=u_is_text ? size/24.0 : size;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale+a_pxoffset)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0=a_tex/u_texsize;v_data1=vec3(gamma_scale,size,interpolated_fade_opacity);}\"),symbolTextAndIcon:me(\"#define SDF_PX 8.0\\n#define SDF 1.0\\n#define ICON 0.0\\nuniform bool u_is_halo;uniform sampler2D u_texture;uniform sampler2D u_texture_icon;uniform highp float u_gamma_scale;uniform lowp float u_device_pixel_ratio;varying vec4 v_data0;varying vec4 v_data1;\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nfloat fade_opacity=v_data1[2];if (v_data1.w==ICON) {vec2 tex_icon=v_data0.zw;lowp float alpha=opacity*fade_opacity;gl_FragColor=texture2D(u_texture_icon,tex_icon)*alpha;\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\nreturn;}vec2 tex=v_data0.xy;float EDGE_GAMMA=0.105/u_device_pixel_ratio;float gamma_scale=v_data1.x;float size=v_data1.y;float fontScale=size/24.0;lowp vec4 color=fill_color;highp float gamma=EDGE_GAMMA/(fontScale*u_gamma_scale);lowp float buff=(256.0-64.0)/256.0;if (u_is_halo) {color=halo_color;gamma=(halo_blur*1.19/SDF_PX+EDGE_GAMMA)/(fontScale*u_gamma_scale);buff=(6.0-halo_width/fontScale)/SDF_PX;}lowp float dist=texture2D(u_texture,tex).a;highp float gamma_scaled=gamma*gamma_scale;highp float alpha=smoothstep(buff-gamma_scaled,buff+gamma_scaled,dist);gl_FragColor=color*(alpha*opacity*fade_opacity);\\n#ifdef OVERDRAW_INSPECTOR\\ngl_FragColor=vec4(1.0);\\n#endif\\n}\",\"attribute vec4 a_pos_offset;attribute vec4 a_data;attribute vec3 a_projected_pos;attribute float a_fade_opacity;uniform bool u_is_size_zoom_constant;uniform bool u_is_size_feature_constant;uniform highp float u_size_t;uniform highp float u_size;uniform mat4 u_matrix;uniform mat4 u_label_plane_matrix;uniform mat4 u_coord_matrix;uniform bool u_is_text;uniform bool u_pitch_with_map;uniform highp float u_pitch;uniform bool u_rotate_symbol;uniform highp float u_aspect_ratio;uniform highp float u_camera_to_center_distance;uniform float u_fade_change;uniform vec2 u_texsize;uniform vec2 u_texsize_icon;uniform bool u_is_along_line;uniform bool u_is_variable_anchor;uniform vec2 u_translation;uniform float u_pitched_scale;varying vec4 v_data0;varying vec4 v_data1;vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_matrix*vec4(posInTile,elevation,1.0);}\\n#pragma mapbox: define highp vec4 fill_color\\n#pragma mapbox: define highp vec4 halo_color\\n#pragma mapbox: define lowp float opacity\\n#pragma mapbox: define lowp float halo_width\\n#pragma mapbox: define lowp float halo_blur\\nvoid main() {\\n#pragma mapbox: initialize highp vec4 fill_color\\n#pragma mapbox: initialize highp vec4 halo_color\\n#pragma mapbox: initialize lowp float opacity\\n#pragma mapbox: initialize lowp float halo_width\\n#pragma mapbox: initialize lowp float halo_blur\\nvec2 a_pos=a_pos_offset.xy;vec2 a_offset=a_pos_offset.zw;vec2 a_tex=a_data.xy;vec2 a_size=a_data.zw;float a_size_min=floor(a_size[0]*0.5);float is_sdf=a_size[0]-2.0*a_size_min;float ele=get_elevation(a_pos);highp float segment_angle=-a_projected_pos[2];float size;if (!u_is_size_zoom_constant && !u_is_size_feature_constant) {size=mix(a_size_min,a_size[1],u_size_t)/128.0;} else if (u_is_size_zoom_constant && !u_is_size_feature_constant) {size=a_size_min/128.0;} else {size=u_size;}vec2 translated_a_pos=a_pos+u_translation;vec4 projectedPoint=projectTileWithElevation(translated_a_pos,ele);highp float camera_to_anchor_distance=projectedPoint.w;highp float distance_ratio=u_pitch_with_map ?\\ncamera_to_anchor_distance/u_camera_to_center_distance :\\nu_camera_to_center_distance/camera_to_anchor_distance;highp float perspective_ratio=clamp(0.5+0.5*distance_ratio,0.0,4.0);size*=perspective_ratio;float fontScale=size/24.0;highp float symbol_rotation=0.0;if (u_rotate_symbol) {vec4 offsetProjectedPoint=projectTileWithElevation(translated_a_pos+vec2(1,0),ele);vec2 a=projectedPoint.xy/projectedPoint.w;vec2 b=offsetProjectedPoint.xy/offsetProjectedPoint.w;symbol_rotation=atan((b.y-a.y)/u_aspect_ratio,b.x-a.x);}highp float angle_sin=sin(segment_angle+symbol_rotation);highp float angle_cos=cos(segment_angle+symbol_rotation);mat2 rotation_matrix=mat2(angle_cos,-1.0*angle_sin,angle_sin,angle_cos);vec4 projected_pos;if (u_is_along_line || u_is_variable_anchor) {projected_pos=vec4(a_projected_pos.xy,ele,1.0);} else if (u_pitch_with_map) {projected_pos=u_label_plane_matrix*vec4(a_projected_pos.xy+u_translation,ele,1.0);} else {projected_pos=u_label_plane_matrix*projectTileWithElevation(a_projected_pos.xy+u_translation,ele);}float z=float(u_pitch_with_map)*projected_pos.z/projected_pos.w;float projectionScaling=1.0;vec4 finalPos=u_coord_matrix*vec4(projected_pos.xy/projected_pos.w+rotation_matrix*(a_offset/32.0*fontScale)*projectionScaling,z,1.0);if(u_pitch_with_map) {finalPos=projectTileWithElevation(finalPos.xy,finalPos.z);}float gamma_scale=finalPos.w;gl_Position=finalPos;vec2 fade_opacity=unpack_opacity(a_fade_opacity);float visibility=calculate_visibility(projectedPoint);float fade_change=fade_opacity[1] > 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));v_data0.xy=a_tex/u_texsize;v_data0.zw=a_tex/u_texsize_icon;v_data1=vec4(gamma_scale,size,interpolated_fade_opacity,is_sdf);}\"),terrain:me(\"uniform sampler2D u_texture;uniform vec4 u_fog_color;uniform vec4 u_horizon_color;uniform float u_fog_ground_blend;uniform float u_fog_ground_blend_opacity;uniform float u_horizon_fog_blend;varying vec2 v_texture_pos;varying float v_fog_depth;const float gamma=2.2;vec4 gammaToLinear(vec4 color) {return pow(color,vec4(gamma));}vec4 linearToGamma(vec4 color) {return pow(color,vec4(1.0/gamma));}void main() {vec4 surface_color=texture2D(u_texture,v_texture_pos);if (v_fog_depth > u_fog_ground_blend) {vec4 surface_color_linear=gammaToLinear(surface_color);float blend_color=smoothstep(0.0,1.0,max((v_fog_depth-u_horizon_fog_blend)/(1.0-u_horizon_fog_blend),0.0));vec4 fog_horizon_color_linear=mix(gammaToLinear(u_fog_color),gammaToLinear(u_horizon_color),blend_color);float factor_fog=max(v_fog_depth-u_fog_ground_blend,0.0)/(1.0-u_fog_ground_blend);gl_FragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {gl_FragColor=surface_color;}}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform mat4 u_fog_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;varying float v_fog_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}\"),terrainDepth:me(\"varying float v_depth;const highp vec4 bitSh=vec4(256.*256.*256.,256.*256.,256.,1.);const highp vec4 bitMsk=vec4(0.,vec3(1./256.0));highp vec4 pack(highp float value) {highp vec4 comp=fract(value*bitSh);comp-=comp.xxyz*bitMsk;return comp;}void main() {gl_FragColor=pack(v_depth);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying float v_depth;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);v_depth=gl_Position.z/gl_Position.w;}\"),terrainCoords:me(\"precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;varying vec2 v_texture_pos;void main() {vec4 rgba=texture2D(u_texture,v_texture_pos);gl_FragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}\",\"attribute vec3 a_pos3d;uniform mat4 u_matrix;uniform float u_ele_delta;varying vec2 v_texture_pos;void main() {float ele=get_elevation(a_pos3d.xy);float ele_delta=a_pos3d.z==1.0 ? u_ele_delta : 0.0;v_texture_pos=a_pos3d.xy/8192.0;gl_Position=u_matrix*vec4(a_pos3d.xy,ele-ele_delta,1.0);}\"),sky:me(\"uniform vec4 u_sky_color;uniform vec4 u_horizon_color;uniform float u_horizon;uniform float u_sky_horizon_blend;void main() {float y=gl_FragCoord.y;if (y > u_horizon) {float blend=y-u_horizon;if (blend < u_sky_horizon_blend) {gl_FragColor=mix(u_sky_color,u_horizon_color,pow(1.0-blend/u_sky_horizon_blend,2.0));} else {gl_FragColor=u_sky_color;}}}\",\"attribute vec2 a_pos;void main() {gl_Position=vec4(a_pos,1.0,1.0);}\")};function me(t,e){const i=/#pragma mapbox: ([\\w]+) ([\\w]+) ([\\w]+) ([\\w]+)/g,a=e.match(/attribute ([\\w]+) ([\\w]+)/g),s=t.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),o=e.match(/uniform ([\\w]+) ([\\w]+)([\\s]*)([\\w]*)/g),r=o?o.concat(s):s,n={};return {fragmentSource:t=t.replace(i,((t,e,i,a,s)=>(n[s]=!0,\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nvarying ${i} ${a} ${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:`\\n#ifdef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`))),vertexSource:e=e.replace(i,((t,e,i,a,s)=>{const o=\"float\"===a?\"vec2\":\"vec4\",r=s.match(/color/)?\"color\":o;return n[s]?\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nuniform lowp float u_${s}_t;\\nattribute ${i} ${o} a_${s};\\nvarying ${i} ${a} ${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${s} = a_${s};\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${s} = unpack_mix_${r}(a_${s}, u_${s}_t);\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:\"define\"===e?`\\n#ifndef HAS_UNIFORM_u_${s}\\nuniform lowp float u_${s}_t;\\nattribute ${i} ${o} a_${s};\\n#else\\nuniform ${i} ${a} u_${s};\\n#endif\\n`:\"vec4\"===r?`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = a_${s};\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`:`\\n#ifndef HAS_UNIFORM_u_${s}\\n ${i} ${a} ${s} = unpack_mix_${r}(a_${s}, u_${s}_t);\\n#else\\n ${i} ${a} ${s} = u_${s};\\n#endif\\n`})),staticAttributes:a,staticUniforms:r}}class fe{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null;}bind(t,e,i,a,s,o,r,n,l){this.context=t;let h=this.boundPaintVertexBuffers.length!==a.length;for(let t=0;!h&&t({u_matrix:t,u_texture:0,u_ele_delta:i,u_fog_matrix:a,u_fog_color:s?s.properties.get(\"fog-color\"):e.aM.white,u_fog_ground_blend:s?s.properties.get(\"fog-ground-blend\"):1,u_fog_ground_blend_opacity:s?s.calculateFogBlendOpacity(o):0,u_horizon_color:s?s.properties.get(\"horizon-color\"):e.aM.white,u_horizon_fog_blend:s?s.properties.get(\"horizon-fog-blend\"):1});function ve(t){const e=[];for(let i=0;i({u_depth:new e.aH(t,i.u_depth),u_terrain:new e.aH(t,i.u_terrain),u_terrain_dim:new e.aI(t,i.u_terrain_dim),u_terrain_matrix:new e.aJ(t,i.u_terrain_matrix),u_terrain_unpack:new e.aK(t,i.u_terrain_unpack),u_terrain_exaggeration:new e.aI(t,i.u_terrain_exaggeration)}))(t,b),this.binderUniforms=a?a.getUniforms(t,b):[];}draw(t,e,i,a,s,o,r,n,l,h,c,u,d,_,p,m,f,g){const v=t.gl;if(this.failedToCreate)return;if(t.program.set(this.program),t.setDepthMode(i),t.setStencilMode(a),t.setColorMode(s),t.setCullFace(o),n){t.activeTexture.set(v.TEXTURE2),v.bindTexture(v.TEXTURE_2D,n.depthTexture),t.activeTexture.set(v.TEXTURE3),v.bindTexture(v.TEXTURE_2D,n.texture);for(const t in this.terrainUniforms)this.terrainUniforms[t].set(n[t]);}for(const t in this.fixedUniforms)this.fixedUniforms[t].set(r[t]);p&&p.setUniforms(t,this.binderUniforms,d,{zoom:_});let x=0;switch(e){case v.LINES:x=2;break;case v.TRIANGLES:x=3;break;case v.LINE_STRIP:x=1;}for(const i of u.get()){const a=i.vaos||(i.vaos={});(a[l]||(a[l]=new fe)).bind(t,this,h,p?p.getPaintVertexBuffers():[],c,i.vertexOffset,m,f,g),v.drawElements(e,i.primitiveLength*x,v.UNSIGNED_SHORT,i.primitiveOffset*x*2);}}}function ye(t,e,i){const a=1/Bt(i,1,e.transform.tileZoom),s=Math.pow(2,i.tileID.overscaledZ),o=i.tileSize*Math.pow(2,e.transform.tileZoom)/s,r=o*(i.tileID.canonical.x+i.tileID.wrap*s),n=o*i.tileID.canonical.y;return {u_image:0,u_texsize:i.imageAtlasTexture.size,u_scale:[a,t.fromScale,t.toScale],u_fade:t.t,u_pixel_coord_upper:[r>>16,n>>16],u_pixel_coord_lower:[65535&r,65535&n]}}const be=(t,i,a,s)=>{const o=i.style.light,r=o.properties.get(\"position\"),n=[r.x,r.y,r.z],l=function(){var t=new e.A(9);return e.A!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[5]=0,t[6]=0,t[7]=0),t[0]=1,t[4]=1,t[8]=1,t}();\"viewport\"===o.properties.get(\"anchor\")&&function(t,e){var i=Math.sin(e),a=Math.cos(e);t[0]=a,t[1]=i,t[2]=0,t[3]=-i,t[4]=a,t[5]=0,t[6]=0,t[7]=0,t[8]=1;}(l,-i.transform.angle),function(t,e,i){var a=e[0],s=e[1],o=e[2];t[0]=a*i[0]+s*i[3]+o*i[6],t[1]=a*i[1]+s*i[4]+o*i[7],t[2]=a*i[2]+s*i[5]+o*i[8];}(n,n,l);const h=o.properties.get(\"color\");return {u_matrix:t,u_lightpos:n,u_lightintensity:o.properties.get(\"intensity\"),u_lightcolor:[h.r,h.g,h.b],u_vertical_gradient:+a,u_opacity:s}},we=(t,i,a,s,o,r,n)=>e.e(be(t,i,a,s),ye(r,i,n),{u_height_factor:-Math.pow(2,o.overscaledZ)/n.tileSize/8}),Te=t=>({u_matrix:t}),Ie=(t,i,a,s)=>e.e(Te(t),ye(a,i,s)),Ee=(t,e)=>({u_matrix:t,u_world:e}),Pe=(t,i,a,s,o)=>e.e(Ie(t,i,a,s),{u_world:o}),Ce=(t,e,i,a)=>{const s=t.transform;let o,r;if(\"map\"===a.paint.get(\"circle-pitch-alignment\")){const t=Bt(i,1,s.zoom);o=!0,r=[t,t];}else o=!1,r=s.pixelsToGLUnits;return {u_camera_to_center_distance:s.cameraToCenterDistance,u_scale_with_map:+(\"map\"===a.paint.get(\"circle-pitch-scale\")),u_matrix:t.translatePosMatrix(e.posMatrix,i,a.paint.get(\"circle-translate\"),a.paint.get(\"circle-translate-anchor\")),u_pitch_with_map:+o,u_device_pixel_ratio:t.pixelRatio,u_extrude_scale:r}},Se=(t,e,i)=>({u_matrix:t,u_inv_matrix:e,u_camera_to_center_distance:i.cameraToCenterDistance,u_viewport_size:[i.width,i.height]}),ze=(t,e,i=1)=>({u_matrix:t,u_color:e,u_overlay:0,u_overlay_scale:i}),De=t=>({u_matrix:t}),Me=(t,e,i,a)=>({u_matrix:t,u_extrude_scale:Bt(e,1,i),u_intensity:a}),Ae=(t,i,a,s)=>{const o=e.H();e.aP(o,0,t.width,t.height,0,0,1);const r=t.context.gl;return {u_matrix:o,u_world:[r.drawingBufferWidth,r.drawingBufferHeight],u_image:a,u_color_ramp:s,u_opacity:i.paint.get(\"heatmap-opacity\")}};function Re(t,i){const a=Math.pow(2,i.canonical.z),s=i.canonical.y;return [new e.Z(0,s/a).toLngLat().lat,new e.Z(0,(s+1)/a).toLngLat().lat]}const ke=(t,e,i,a)=>{const s=t.transform;return {u_matrix:Ne(t,e,i,a),u_ratio:1/Bt(e,1,s.zoom),u_device_pixel_ratio:t.pixelRatio,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Le=(t,i,a,s,o)=>e.e(ke(t,i,a,o),{u_image:0,u_image_height:s}),Fe=(t,e,i,a,s)=>{const o=t.transform,r=Oe(e,o);return {u_matrix:Ne(t,e,i,s),u_texsize:e.imageAtlasTexture.size,u_ratio:1/Bt(e,1,o.zoom),u_device_pixel_ratio:t.pixelRatio,u_image:0,u_scale:[r,a.fromScale,a.toScale],u_fade:a.t,u_units_to_pixels:[1/o.pixelsToGLUnits[0],1/o.pixelsToGLUnits[1]]}},Be=(t,i,a,s,o,r)=>{const n=t.lineAtlas,l=Oe(i,t.transform),h=\"round\"===a.layout.get(\"line-cap\"),c=n.getDash(s.from,h),u=n.getDash(s.to,h),d=c.width*o.fromScale,_=u.width*o.toScale;return e.e(ke(t,i,a,r),{u_patternscale_a:[l/d,-c.height/2],u_patternscale_b:[l/_,-u.height/2],u_sdfgamma:n.width/(256*Math.min(d,_)*t.pixelRatio)/2,u_image:0,u_tex_y_a:c.y,u_tex_y_b:u.y,u_mix:o.t})};function Oe(t,e){return 1/Bt(t,1,e.tileZoom)}function Ne(t,e,i,a){return t.translatePosMatrix(a?a.posMatrix:e.tileID.posMatrix,e,i.paint.get(\"line-translate\"),i.paint.get(\"line-translate-anchor\"))}const Ue=(t,e,i,a,s)=>{return {u_matrix:t,u_tl_parent:e,u_scale_parent:i,u_buffer_scale:1,u_fade_t:a.mix,u_opacity:a.opacity*s.paint.get(\"raster-opacity\"),u_image0:0,u_image1:1,u_brightness_low:s.paint.get(\"raster-brightness-min\"),u_brightness_high:s.paint.get(\"raster-brightness-max\"),u_saturation_factor:(r=s.paint.get(\"raster-saturation\"),r>0?1-1/(1.001-r):-r),u_contrast_factor:(o=s.paint.get(\"raster-contrast\"),o>0?1/(1-o):1+o),u_spin_weights:je(s.paint.get(\"raster-hue-rotate\"))};var o,r;};function je(t){t*=Math.PI/180;const e=Math.sin(t),i=Math.cos(t);return [(2*i+1)/3,(-Math.sqrt(3)*e-i+1)/3,(Math.sqrt(3)*e-i+1)/3]}const Ze=(t,e,i,a,s,o,r,n,l,h,c,u,d,_)=>{const p=r.transform;return {u_is_size_zoom_constant:+(\"constant\"===t||\"source\"===t),u_is_size_feature_constant:+(\"constant\"===t||\"camera\"===t),u_size_t:e?e.uSizeT:0,u_size:e?e.uSize:0,u_camera_to_center_distance:p.cameraToCenterDistance,u_pitch:p.pitch/360*2*Math.PI,u_rotate_symbol:+i,u_aspect_ratio:p.width/p.height,u_fade_change:r.options.fadeDuration?r.symbolFadeChange:1,u_matrix:n,u_label_plane_matrix:l,u_coord_matrix:h,u_is_text:+u,u_pitch_with_map:+a,u_is_along_line:s,u_is_variable_anchor:o,u_texsize:d,u_texture:0,u_translation:c,u_pitched_scale:_}},qe=(t,i,a,s,o,r,n,l,h,c,u,d,_,p,m)=>{const f=n.transform;return e.e(Ze(t,i,a,s,o,r,n,l,h,c,u,d,_,m),{u_gamma_scale:s?Math.cos(f._pitch)*f.cameraToCenterDistance:1,u_device_pixel_ratio:n.pixelRatio,u_is_halo:+p})},Ve=(t,i,a,s,o,r,n,l,h,c,u,d,_,p)=>e.e(qe(t,i,a,s,o,r,n,l,h,c,u,!0,d,!0,p),{u_texsize_icon:_,u_texture_icon:1}),Ge=(t,e,i)=>({u_matrix:t,u_opacity:e,u_color:i}),He=(t,i,a,s,o,r)=>e.e(function(t,e,i,a){const s=i.imageManager.getPattern(t.from.toString()),o=i.imageManager.getPattern(t.to.toString()),{width:r,height:n}=i.imageManager.getPixelSize(),l=Math.pow(2,a.tileID.overscaledZ),h=a.tileSize*Math.pow(2,i.transform.tileZoom)/l,c=h*(a.tileID.canonical.x+a.tileID.wrap*l),u=h*a.tileID.canonical.y;return {u_image:0,u_pattern_tl_a:s.tl,u_pattern_br_a:s.br,u_pattern_tl_b:o.tl,u_pattern_br_b:o.br,u_texsize:[r,n],u_mix:e.t,u_pattern_size_a:s.displaySize,u_pattern_size_b:o.displaySize,u_scale_a:e.fromScale,u_scale_b:e.toScale,u_tile_units_to_pixels:1/Bt(a,1,i.transform.tileZoom),u_pixel_coord_upper:[c>>16,u>>16],u_pixel_coord_lower:[65535&c,65535&u]}}(s,r,a,o),{u_matrix:t,u_opacity:i}),We={fillExtrusion:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_lightpos:new e.aN(t,i.u_lightpos),u_lightintensity:new e.aI(t,i.u_lightintensity),u_lightcolor:new e.aN(t,i.u_lightcolor),u_vertical_gradient:new e.aI(t,i.u_vertical_gradient),u_opacity:new e.aI(t,i.u_opacity)}),fillExtrusionPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_lightpos:new e.aN(t,i.u_lightpos),u_lightintensity:new e.aI(t,i.u_lightintensity),u_lightcolor:new e.aN(t,i.u_lightcolor),u_vertical_gradient:new e.aI(t,i.u_vertical_gradient),u_height_factor:new e.aI(t,i.u_height_factor),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade),u_opacity:new e.aI(t,i.u_opacity)}),fill:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix)}),fillPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),fillOutline:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world)}),fillOutlinePattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world),u_image:new e.aH(t,i.u_image),u_texsize:new e.aO(t,i.u_texsize),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),circle:(t,i)=>({u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_scale_with_map:new e.aH(t,i.u_scale_with_map),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_extrude_scale:new e.aO(t,i.u_extrude_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_matrix:new e.aJ(t,i.u_matrix)}),collisionBox:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_pixel_extrude_scale:new e.aO(t,i.u_pixel_extrude_scale)}),collisionCircle:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_inv_matrix:new e.aJ(t,i.u_inv_matrix),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_viewport_size:new e.aO(t,i.u_viewport_size)}),debug:(t,i)=>({u_color:new e.aL(t,i.u_color),u_matrix:new e.aJ(t,i.u_matrix),u_overlay:new e.aH(t,i.u_overlay),u_overlay_scale:new e.aI(t,i.u_overlay_scale)}),clippingMask:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix)}),heatmap:(t,i)=>({u_extrude_scale:new e.aI(t,i.u_extrude_scale),u_intensity:new e.aI(t,i.u_intensity),u_matrix:new e.aJ(t,i.u_matrix)}),heatmapTexture:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_world:new e.aO(t,i.u_world),u_image:new e.aH(t,i.u_image),u_color_ramp:new e.aH(t,i.u_color_ramp),u_opacity:new e.aI(t,i.u_opacity)}),hillshade:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_latrange:new e.aO(t,i.u_latrange),u_light:new e.aO(t,i.u_light),u_shadow:new e.aL(t,i.u_shadow),u_highlight:new e.aL(t,i.u_highlight),u_accent:new e.aL(t,i.u_accent)}),hillshadePrepare:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_image:new e.aH(t,i.u_image),u_dimension:new e.aO(t,i.u_dimension),u_zoom:new e.aI(t,i.u_zoom),u_unpack:new e.aK(t,i.u_unpack)}),line:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels)}),lineGradient:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_image:new e.aH(t,i.u_image),u_image_height:new e.aI(t,i.u_image_height)}),linePattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texsize:new e.aO(t,i.u_texsize),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_image:new e.aH(t,i.u_image),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_scale:new e.aN(t,i.u_scale),u_fade:new e.aI(t,i.u_fade)}),lineSDF:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ratio:new e.aI(t,i.u_ratio),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_units_to_pixels:new e.aO(t,i.u_units_to_pixels),u_patternscale_a:new e.aO(t,i.u_patternscale_a),u_patternscale_b:new e.aO(t,i.u_patternscale_b),u_sdfgamma:new e.aI(t,i.u_sdfgamma),u_image:new e.aH(t,i.u_image),u_tex_y_a:new e.aI(t,i.u_tex_y_a),u_tex_y_b:new e.aI(t,i.u_tex_y_b),u_mix:new e.aI(t,i.u_mix)}),raster:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_tl_parent:new e.aO(t,i.u_tl_parent),u_scale_parent:new e.aI(t,i.u_scale_parent),u_buffer_scale:new e.aI(t,i.u_buffer_scale),u_fade_t:new e.aI(t,i.u_fade_t),u_opacity:new e.aI(t,i.u_opacity),u_image0:new e.aH(t,i.u_image0),u_image1:new e.aH(t,i.u_image1),u_brightness_low:new e.aI(t,i.u_brightness_low),u_brightness_high:new e.aI(t,i.u_brightness_high),u_saturation_factor:new e.aI(t,i.u_saturation_factor),u_contrast_factor:new e.aI(t,i.u_contrast_factor),u_spin_weights:new e.aN(t,i.u_spin_weights)}),symbolIcon:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texture:new e.aH(t,i.u_texture),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),symbolSDF:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texture:new e.aH(t,i.u_texture),u_gamma_scale:new e.aI(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_is_halo:new e.aH(t,i.u_is_halo),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),symbolTextAndIcon:(t,i)=>({u_is_size_zoom_constant:new e.aH(t,i.u_is_size_zoom_constant),u_is_size_feature_constant:new e.aH(t,i.u_is_size_feature_constant),u_size_t:new e.aI(t,i.u_size_t),u_size:new e.aI(t,i.u_size),u_camera_to_center_distance:new e.aI(t,i.u_camera_to_center_distance),u_pitch:new e.aI(t,i.u_pitch),u_rotate_symbol:new e.aH(t,i.u_rotate_symbol),u_aspect_ratio:new e.aI(t,i.u_aspect_ratio),u_fade_change:new e.aI(t,i.u_fade_change),u_matrix:new e.aJ(t,i.u_matrix),u_label_plane_matrix:new e.aJ(t,i.u_label_plane_matrix),u_coord_matrix:new e.aJ(t,i.u_coord_matrix),u_is_text:new e.aH(t,i.u_is_text),u_pitch_with_map:new e.aH(t,i.u_pitch_with_map),u_is_along_line:new e.aH(t,i.u_is_along_line),u_is_variable_anchor:new e.aH(t,i.u_is_variable_anchor),u_texsize:new e.aO(t,i.u_texsize),u_texsize_icon:new e.aO(t,i.u_texsize_icon),u_texture:new e.aH(t,i.u_texture),u_texture_icon:new e.aH(t,i.u_texture_icon),u_gamma_scale:new e.aI(t,i.u_gamma_scale),u_device_pixel_ratio:new e.aI(t,i.u_device_pixel_ratio),u_is_halo:new e.aH(t,i.u_is_halo),u_translation:new e.aO(t,i.u_translation),u_pitched_scale:new e.aI(t,i.u_pitched_scale)}),background:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_opacity:new e.aI(t,i.u_opacity),u_color:new e.aL(t,i.u_color)}),backgroundPattern:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_opacity:new e.aI(t,i.u_opacity),u_image:new e.aH(t,i.u_image),u_pattern_tl_a:new e.aO(t,i.u_pattern_tl_a),u_pattern_br_a:new e.aO(t,i.u_pattern_br_a),u_pattern_tl_b:new e.aO(t,i.u_pattern_tl_b),u_pattern_br_b:new e.aO(t,i.u_pattern_br_b),u_texsize:new e.aO(t,i.u_texsize),u_mix:new e.aI(t,i.u_mix),u_pattern_size_a:new e.aO(t,i.u_pattern_size_a),u_pattern_size_b:new e.aO(t,i.u_pattern_size_b),u_scale_a:new e.aI(t,i.u_scale_a),u_scale_b:new e.aI(t,i.u_scale_b),u_pixel_coord_upper:new e.aO(t,i.u_pixel_coord_upper),u_pixel_coord_lower:new e.aO(t,i.u_pixel_coord_lower),u_tile_units_to_pixels:new e.aI(t,i.u_tile_units_to_pixels)}),terrain:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texture:new e.aH(t,i.u_texture),u_ele_delta:new e.aI(t,i.u_ele_delta),u_fog_matrix:new e.aJ(t,i.u_fog_matrix),u_fog_color:new e.aL(t,i.u_fog_color),u_fog_ground_blend:new e.aI(t,i.u_fog_ground_blend),u_fog_ground_blend_opacity:new e.aI(t,i.u_fog_ground_blend_opacity),u_horizon_color:new e.aL(t,i.u_horizon_color),u_horizon_fog_blend:new e.aI(t,i.u_horizon_fog_blend)}),terrainDepth:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_ele_delta:new e.aI(t,i.u_ele_delta)}),terrainCoords:(t,i)=>({u_matrix:new e.aJ(t,i.u_matrix),u_texture:new e.aH(t,i.u_texture),u_terrain_coords_id:new e.aI(t,i.u_terrain_coords_id),u_ele_delta:new e.aI(t,i.u_ele_delta)}),sky:(t,i)=>({u_sky_color:new e.aL(t,i.u_sky_color),u_horizon_color:new e.aL(t,i.u_horizon_color),u_horizon:new e.aI(t,i.u_horizon),u_sky_horizon_blend:new e.aI(t,i.u_sky_horizon_blend)})};class $e{constructor(t,e,i){this.context=t;const a=t.gl;this.buffer=a.createBuffer(),this.dynamicDraw=Boolean(i),this.context.unbindVAO(),t.bindElementBuffer.set(this.buffer),a.bufferData(a.ELEMENT_ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?a.DYNAMIC_DRAW:a.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindElementBuffer.set(this.buffer);}updateData(t){const e=this.context.gl;if(!this.dynamicDraw)throw new Error(\"Attempted to update data while not in dynamic mode.\");this.context.unbindVAO(),this.bind(),e.bufferSubData(e.ELEMENT_ARRAY_BUFFER,0,t.arrayBuffer);}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer);}}const Xe={Int8:\"BYTE\",Uint8:\"UNSIGNED_BYTE\",Int16:\"SHORT\",Uint16:\"UNSIGNED_SHORT\",Int32:\"INT\",Uint32:\"UNSIGNED_INT\",Float32:\"FLOAT\"};class Ke{constructor(t,e,i,a){this.length=e.length,this.attributes=i,this.itemSize=e.bytesPerElement,this.dynamicDraw=a,this.context=t;const s=t.gl;this.buffer=s.createBuffer(),t.bindVertexBuffer.set(this.buffer),s.bufferData(s.ARRAY_BUFFER,e.arrayBuffer,this.dynamicDraw?s.DYNAMIC_DRAW:s.STATIC_DRAW),this.dynamicDraw||delete e.arrayBuffer;}bind(){this.context.bindVertexBuffer.set(this.buffer);}updateData(t){if(t.length!==this.length)throw new Error(`Length of new data is ${t.length}, which doesn't match current length of ${this.length}`);const e=this.context.gl;this.bind(),e.bufferSubData(e.ARRAY_BUFFER,0,t.arrayBuffer);}enableAttributes(t,e){for(let i=0;i0){const i=e.H();e.aQ(i,m.placementInvProjMatrix,t.transform.glCoordMatrix),e.aQ(i,i,m.placementViewportMatrix),h.push({circleArray:g,circleOffset:u,transform:p.posMatrix,invTransform:i,coord:p}),c+=g.length/4,u=c;}f&&l.draw(r,n.LINES,Oi.disabled,Ui.disabled,t.colorModeForRenderPass(),ji.disabled,{u_matrix:p.posMatrix,u_pixel_extrude_scale:[1/(d=t.transform).width,1/d.height]},t.style.map.terrain&&t.style.map.terrain.getTerrainData(p),a.id,f.layoutVertexBuffer,f.indexBuffer,f.segments,null,t.transform.zoom,null,null,f.collisionVertexBuffer);}var d;if(!o||!h.length)return;const _=t.useProgram(\"collisionCircle\"),p=new e.aR;p.resize(4*c),p._trim();let m=0;for(const t of h)for(let e=0;e=0&&(v[x.associatedIconIndex]={shiftedAnchor:D,angle:M});}else Rt(x.numGlyphs,f);}if(c){g.clear();const i=t.icon.placedSymbolArray;for(let t=0;tt.style.map.terrain.getElevation(l,e,i):null,i=\"map\"===a.layout.get(\"text-rotation-alignment\");wt(h,l.posMatrix,t,o,U,Z,v,c,i,f,l.toUnwrapped(),m.width,m.height,q,e);}const H=l.posMatrix,W=o&&E||G,$=x||W?Vi:U,X=j,K=_&&0!==a.paint.get(o?\"text-halo-width\":\"icon-halo-width\").constantOr(1);let J;J=_?h.iconsInText?Ve(I.kind,D,y,v,x,W,t,H,$,X,q,A,F,C):qe(I.kind,D,y,v,x,W,t,H,$,X,q,o,A,!0,C):Ze(I.kind,D,y,v,x,W,t,H,$,X,q,o,A,C);const Y={program:z,buffers:u,uniformValues:J,atlasTexture:R,atlasTextureIcon:B,atlasInterpolation:k,atlasInterpolationIcon:L,isSDF:_,hasHalo:K};if(w&&h.canOverlap){T=!0;const t=u.segments.get();for(const i of t)P.push({segments:new e.a0([i]),sortKey:i.sortKey,state:Y,terrainData:M});}else P.push({segments:u.segments,sortKey:0,state:Y,terrainData:M});}T&&P.sort(((t,e)=>t.sortKey-e.sortKey));for(const e of P){const i=e.state;if(_.activeTexture.set(p.TEXTURE0),i.atlasTexture.bind(i.atlasInterpolation,p.CLAMP_TO_EDGE),i.atlasTextureIcon&&(_.activeTexture.set(p.TEXTURE1),i.atlasTextureIcon&&i.atlasTextureIcon.bind(i.atlasInterpolationIcon,p.CLAMP_TO_EDGE)),i.isSDF){const s=i.uniformValues;i.hasHalo&&(s.u_is_halo=1,Ki(i.buffers,e.segments,a,t,i.program,I,u,d,s,e.terrainData)),s.u_is_halo=0;}Ki(i.buffers,e.segments,a,t,i.program,I,u,d,i.uniformValues,e.terrainData);}}function Ki(t,e,i,a,s,o,r,n,l,h){const c=a.context;s.draw(c,c.gl.TRIANGLES,o,r,n,ji.disabled,l,h,i.id,t.layoutVertexBuffer,t.indexBuffer,e,i.paint,a.transform.zoom,t.programConfigurations.get(i.id),t.dynamicLayoutVertexBuffer,t.opacityVertexBuffer);}function Ji(t,i,a,s){const o=t.context,r=o.gl,n=Ui.disabled,l=new Fi([r.ONE,r.ONE],e.aM.transparent,[!0,!0,!0,!0]),h=i.getBucket(a);if(!h)return;const c=s.key;let u=a.heatmapFbos.get(c);u||(u=Qi(o,i.tileSize,i.tileSize),a.heatmapFbos.set(c,u)),o.bindFramebuffer.set(u.framebuffer),o.viewport.set([0,0,i.tileSize,i.tileSize]),o.clear({color:e.aM.transparent});const d=h.programConfigurations.get(a.id),_=t.useProgram(\"heatmap\",d),p=t.style.map.terrain.getTerrainData(s);_.draw(o,r.TRIANGLES,Oi.disabled,n,l,ji.disabled,Me(s.posMatrix,i,t.transform.zoom,a.paint.get(\"heatmap-intensity\")),p,a.id,h.layoutVertexBuffer,h.indexBuffer,h.segments,a.paint,t.transform.zoom,d);}function Yi(t,e,i){const a=t.context,s=a.gl;a.setColorMode(t.colorModeForRenderPass());const o=ta(a,e),r=i.key,n=e.heatmapFbos.get(r);n&&(a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,n.colorAttachment.get()),a.activeTexture.set(s.TEXTURE1),o.bind(s.LINEAR,s.CLAMP_TO_EDGE),t.useProgram(\"heatmapTexture\").draw(a,s.TRIANGLES,Oi.disabled,Ui.disabled,t.colorModeForRenderPass(),ji.disabled,Ae(t,e,0,1),null,e.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments,e.paint,t.transform.zoom),n.destroy(),e.heatmapFbos.delete(r));}function Qi(t,e,i){var a,s;const o=t.gl,r=o.createTexture();o.bindTexture(o.TEXTURE_2D,r),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_S,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_WRAP_T,o.CLAMP_TO_EDGE),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MIN_FILTER,o.LINEAR),o.texParameteri(o.TEXTURE_2D,o.TEXTURE_MAG_FILTER,o.LINEAR);const n=null!==(a=t.HALF_FLOAT)&&void 0!==a?a:o.UNSIGNED_BYTE,l=null!==(s=t.RGBA16F)&&void 0!==s?s:o.RGBA;o.texImage2D(o.TEXTURE_2D,0,l,e,i,0,o.RGBA,n,null);const h=t.createFramebuffer(e,i,!1,!1);return h.colorAttachment.set(r),h}function ta(t,e){return e.colorRampTexture||(e.colorRampTexture=new b(t,e.colorRamp,t.gl.RGBA)),e.colorRampTexture}function ea(t,e,i,a,s){if(!i||!a||!a.imageAtlas)return;const o=a.imageAtlas.patternPositions;let r=o[i.to.toString()],n=o[i.from.toString()];if(!r&&n&&(r=n),!n&&r&&(n=r),!r||!n){const t=s.getPaintProperty(e);r=o[t],n=o[t];}r&&n&&t.setConstantPatternPositions(r,n);}function ia(t,e,i,a,s,o,r){const n=t.context.gl,l=\"fill-pattern\",h=i.paint.get(l),c=h&&h.constantOr(1),u=i.getCrossfadeParameters();let d,_,p,m,f;r?(_=c&&!i.getPaintProperty(\"fill-outline-color\")?\"fillOutlinePattern\":\"fillOutline\",d=n.LINES):(_=c?\"fillPattern\":\"fill\",d=n.TRIANGLES);const g=h.constantOr(null);for(const h of a){const a=e.getTile(h);if(c&&!a.patternsLoaded())continue;const v=a.getBucket(i);if(!v)continue;const x=v.programConfigurations.get(i.id),y=t.useProgram(_,x),b=t.style.map.terrain&&t.style.map.terrain.getTerrainData(h);c&&(t.context.activeTexture.set(n.TEXTURE0),a.imageAtlasTexture.bind(n.LINEAR,n.CLAMP_TO_EDGE),x.updatePaintBuffers(u)),ea(x,l,g,a,i);const w=b?h:null,T=t.translatePosMatrix(w?w.posMatrix:h.posMatrix,a,i.paint.get(\"fill-translate\"),i.paint.get(\"fill-translate-anchor\"));if(r){m=v.indexBuffer2,f=v.segments2;const e=[n.drawingBufferWidth,n.drawingBufferHeight];p=\"fillOutlinePattern\"===_&&c?Pe(T,t,u,a,e):Ee(T,e);}else m=v.indexBuffer,f=v.segments,p=c?Ie(T,t,u,a):Te(T);y.draw(t.context,d,s,t.stencilModeForClipping(h),o,ji.disabled,p,b,i.id,v.layoutVertexBuffer,m,f,i.paint,t.transform.zoom,x);}}function aa(t,e,i,a,s,o,r){const n=t.context,l=n.gl,h=\"fill-extrusion-pattern\",c=i.paint.get(h),u=c.constantOr(1),d=i.getCrossfadeParameters(),_=i.paint.get(\"fill-extrusion-opacity\"),p=c.constantOr(null);for(const c of a){const a=e.getTile(c),m=a.getBucket(i);if(!m)continue;const f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(c),g=m.programConfigurations.get(i.id),v=t.useProgram(u?\"fillExtrusionPattern\":\"fillExtrusion\",g);u&&(t.context.activeTexture.set(l.TEXTURE0),a.imageAtlasTexture.bind(l.LINEAR,l.CLAMP_TO_EDGE),g.updatePaintBuffers(d)),ea(g,h,p,a,i);const x=t.translatePosMatrix(c.posMatrix,a,i.paint.get(\"fill-extrusion-translate\"),i.paint.get(\"fill-extrusion-translate-anchor\")),y=i.paint.get(\"fill-extrusion-vertical-gradient\"),b=u?we(x,t,y,_,c,d,a):be(x,t,y,_);v.draw(n,n.gl.TRIANGLES,s,o,r,ji.backCCW,b,f,i.id,m.layoutVertexBuffer,m.indexBuffer,m.segments,i.paint,t.transform.zoom,g,t.style.map.terrain&&m.centroidVertexBuffer);}}function sa(t,e,i,a,s,o,r){const n=t.context,l=n.gl,h=i.fbo;if(!h)return;const c=t.useProgram(\"hillshade\"),u=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);n.activeTexture.set(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,h.colorAttachment.get()),c.draw(n,l.TRIANGLES,s,o,r,ji.disabled,((t,e,i,a)=>{const s=i.paint.get(\"hillshade-shadow-color\"),o=i.paint.get(\"hillshade-highlight-color\"),r=i.paint.get(\"hillshade-accent-color\");let n=i.paint.get(\"hillshade-illumination-direction\")*(Math.PI/180);\"viewport\"===i.paint.get(\"hillshade-illumination-anchor\")&&(n-=t.transform.angle);const l=!t.options.moving;return {u_matrix:a?a.posMatrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped(),l),u_image:0,u_latrange:Re(0,e.tileID),u_light:[i.paint.get(\"hillshade-exaggeration\"),n],u_shadow:s,u_highlight:o,u_accent:r}})(t,i,a,u?e:null),u,a.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}function oa(t,i,a,s,o,r){const n=t.context,l=n.gl,h=i.dem;if(h&&h.data){const c=h.dim,u=h.stride,d=h.getPixels();if(n.activeTexture.set(l.TEXTURE1),n.pixelStoreUnpackPremultiplyAlpha.set(!1),i.demTexture=i.demTexture||t.getTileTexture(u),i.demTexture){const t=i.demTexture;t.update(d,{premultiply:!1}),t.bind(l.NEAREST,l.CLAMP_TO_EDGE);}else i.demTexture=new b(n,d,l.RGBA,{premultiply:!1}),i.demTexture.bind(l.NEAREST,l.CLAMP_TO_EDGE);n.activeTexture.set(l.TEXTURE0);let _=i.fbo;if(!_){const t=new b(n,{width:c,height:c,data:null},l.RGBA);t.bind(l.LINEAR,l.CLAMP_TO_EDGE),_=i.fbo=n.createFramebuffer(c,c,!0,!1),_.colorAttachment.set(t.texture);}n.bindFramebuffer.set(_.framebuffer),n.viewport.set([0,0,c,c]),t.useProgram(\"hillshadePrepare\").draw(n,l.TRIANGLES,s,o,r,ji.disabled,((t,i)=>{const a=i.stride,s=e.H();return e.aP(s,0,e.X,-e.X,0,0,1),e.J(s,s,[0,-e.X,0]),{u_matrix:s,u_image:1,u_dimension:[a,a],u_zoom:t.overscaledZ,u_unpack:i.getUnpackVector()}})(i.tileID,h),null,a.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments),i.needsHillshadePrepare=!1;}}function ra(t,i,a,s,r,n){const l=s.paint.get(\"raster-fade-duration\");if(!n&&l>0){const s=o.now(),n=(s-t.timeAdded)/l,h=i?(s-i.timeAdded)/l:-1,c=a.getSource(),u=r.coveringZoomLevel({tileSize:c.tileSize,roundZoom:c.roundZoom}),d=!i||Math.abs(i.tileID.overscaledZ-u)>Math.abs(t.tileID.overscaledZ-u),_=d&&t.refreshedUponExpiration?1:e.ac(d?n:1-h,0,1);return t.refreshedUponExpiration&&n>=1&&(t.refreshedUponExpiration=!1),i?{opacity:1,mix:1-_}:{opacity:_,mix:0}}return {opacity:1,mix:0}}const na=new e.aM(1,0,0,1),la=new e.aM(0,1,0,1),ha=new e.aM(0,0,1,1),ca=new e.aM(1,0,1,1),ua=new e.aM(0,1,1,1);function da(t,e,i,a){pa(t,0,e+i/2,t.transform.width,i,a);}function _a(t,e,i,a){pa(t,e-i/2,0,i,t.transform.height,a);}function pa(t,e,i,a,s,o){const r=t.context,n=r.gl;n.enable(n.SCISSOR_TEST),n.scissor(e*t.pixelRatio,i*t.pixelRatio,a*t.pixelRatio,s*t.pixelRatio),r.clear({color:o}),n.disable(n.SCISSOR_TEST);}function ma(t,i,a){const s=t.context,o=s.gl,r=a.posMatrix,n=t.useProgram(\"debug\"),l=Oi.disabled,h=Ui.disabled,c=t.colorModeForRenderPass(),u=\"$debug\",d=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a);s.activeTexture.set(o.TEXTURE0);const _=i.getTileByID(a.key).latestRawTileData,p=Math.floor((_&&_.byteLength||0)/1024),m=i.getTile(a).tileSize,f=512/Math.min(m,512)*(a.overscaledZ/t.transform.zoom)*.5;let g=a.canonical.toString();a.overscaledZ!==a.canonical.z&&(g+=` => ${a.overscaledZ}`),function(t,e){t.initDebugOverlayCanvas();const i=t.debugOverlayCanvas,a=t.context.gl,s=t.debugOverlayCanvas.getContext(\"2d\");s.clearRect(0,0,i.width,i.height),s.shadowColor=\"white\",s.shadowBlur=2,s.lineWidth=1.5,s.strokeStyle=\"white\",s.textBaseline=\"top\",s.font=\"bold 36px Open Sans, sans-serif\",s.fillText(e,5,5),s.strokeText(e,5,5),t.debugOverlayTexture.update(i),t.debugOverlayTexture.bind(a.LINEAR,a.CLAMP_TO_EDGE);}(t,`${g} ${p}kB`),n.draw(s,o.TRIANGLES,l,h,Fi.alphaBlended,ji.disabled,ze(r,e.aM.transparent,f),null,u,t.debugBuffer,t.quadTriangleIndexBuffer,t.debugSegments),n.draw(s,o.LINE_STRIP,l,h,c,ji.disabled,ze(r,e.aM.red),d,u,t.debugBuffer,t.tileBorderIndexBuffer,t.debugSegments);}function fa(t,e,i){const a=t.context,s=a.gl,o=t.colorModeForRenderPass(),r=new Oi(s.LEQUAL,Oi.ReadWrite,t.depthRangeFor3D),n=t.useProgram(\"terrain\"),l=e.getTerrainMesh();a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);for(const h of i){const i=t.renderToTexture.getTexture(h),c=e.getTerrainData(h.tileID);a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,i.texture);const u=t.transform.calculatePosMatrix(h.tileID.toUnwrapped()),d=e.getMeshFrameDelta(t.transform.zoom),_=t.transform.calculateFogMatrix(h.tileID.toUnwrapped()),p=ge(u,d,_,t.style.sky,t.transform.pitch);n.draw(a,s.TRIANGLES,r,Ui.disabled,o,ji.backCCW,p,c,\"terrain\",l.vertexBuffer,l.indexBuffer,l.segments);}}class ga{constructor(t,e,i){this.vertexBuffer=t,this.indexBuffer=e,this.segments=i;}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null;}}class va{constructor(t,i){this.context=new Bi(t),this.transform=i,this._tileTextures={},this.terrainFacilitator={dirty:!0,matrix:e.an(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=ut.maxUnderzooming+ut.maxOverzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new he;}resize(t,e,i){if(this.width=Math.floor(t*i),this.height=Math.floor(e*i),this.pixelRatio=i,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(const t of this.style._order)this.style._layers[t].resize();}setup(){const t=this.context,i=new e.aX;i.emplaceBack(0,0),i.emplaceBack(e.X,0),i.emplaceBack(0,e.X),i.emplaceBack(e.X,e.X),this.tileExtentBuffer=t.createVertexBuffer(i,_e.members),this.tileExtentSegments=e.a0.simpleSegment(0,0,4,2);const a=new e.aX;a.emplaceBack(0,0),a.emplaceBack(e.X,0),a.emplaceBack(0,e.X),a.emplaceBack(e.X,e.X),this.debugBuffer=t.createVertexBuffer(a,_e.members),this.debugSegments=e.a0.simpleSegment(0,0,4,5);const s=new e.$;s.emplaceBack(0,0,0,0),s.emplaceBack(e.X,0,e.X,0),s.emplaceBack(0,e.X,0,e.X),s.emplaceBack(e.X,e.X,e.X,e.X),this.rasterBoundsBuffer=t.createVertexBuffer(s,Y.members),this.rasterBoundsSegments=e.a0.simpleSegment(0,0,4,2);const o=new e.aX;o.emplaceBack(0,0),o.emplaceBack(1,0),o.emplaceBack(0,1),o.emplaceBack(1,1),this.viewportBuffer=t.createVertexBuffer(o,_e.members),this.viewportSegments=e.a0.simpleSegment(0,0,4,2);const r=new e.aZ;r.emplaceBack(0),r.emplaceBack(1),r.emplaceBack(3),r.emplaceBack(2),r.emplaceBack(0),this.tileBorderIndexBuffer=t.createIndexBuffer(r);const n=new e.aY;n.emplaceBack(0,1,2),n.emplaceBack(2,1,3),this.quadTriangleIndexBuffer=t.createIndexBuffer(n);const l=this.context.gl;this.stencilClearMode=new Ui({func:l.ALWAYS,mask:0},0,255,l.ZERO,l.ZERO,l.ZERO);}clearStencil(){const t=this.context,i=t.gl;this.nextStencilID=1,this.currentStencilSource=void 0;const a=e.H();e.aP(a,0,this.width,this.height,0,0,1),e.K(a,a,[i.drawingBufferWidth,i.drawingBufferHeight,0]),this.useProgram(\"clippingMask\").draw(t,i.TRIANGLES,Oi.disabled,this.stencilClearMode,Fi.disabled,ji.disabled,De(a),null,\"$clipping\",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments);}_renderTileClippingMasks(t,e){if(this.currentStencilSource===t.source||!t.isTileClipped()||!e||!e.length)return;this.currentStencilSource=t.source;const i=this.context,a=i.gl;this.nextStencilID+e.length>256&&this.clearStencil(),i.setColorMode(Fi.disabled),i.setDepthMode(Oi.disabled);const s=this.useProgram(\"clippingMask\");this._tileClippingMaskIDs={};for(const t of e){const e=this._tileClippingMaskIDs[t.key]=this.nextStencilID++,o=this.style.map.terrain&&this.style.map.terrain.getTerrainData(t);s.draw(i,a.TRIANGLES,Oi.disabled,new Ui({func:a.ALWAYS,mask:0},e,255,a.KEEP,a.KEEP,a.REPLACE),Fi.disabled,ji.disabled,De(t.posMatrix),o,\"$clipping\",this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments);}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();const t=this.nextStencilID++,e=this.context.gl;return new Ui({func:e.NOTEQUAL,mask:255},t,255,e.KEEP,e.KEEP,e.REPLACE)}stencilModeForClipping(t){const e=this.context.gl;return new Ui({func:e.EQUAL,mask:255},this._tileClippingMaskIDs[t.key],0,e.KEEP,e.KEEP,e.REPLACE)}stencilConfigForOverlap(t){const e=this.context.gl,i=t.sort(((t,e)=>e.overscaledZ-t.overscaledZ)),a=i[i.length-1].overscaledZ,s=i[0].overscaledZ-a+1;if(s>1){this.currentStencilSource=void 0,this.nextStencilID+s>256&&this.clearStencil();const t={};for(let i=0;i({u_sky_color:t.properties.get(\"sky-color\"),u_horizon_color:t.properties.get(\"horizon-color\"),u_horizon:(e.height/2+e.getHorizon())*i,u_sky_horizon_blend:t.properties.get(\"sky-horizon-blend\")*e.height/2*i}))(i,t.style.map.transform,t.pixelRatio),r=new Oi(s.LEQUAL,Oi.ReadWrite,[0,1]),n=Ui.disabled,l=t.colorModeForRenderPass(),h=t.useProgram(\"sky\");if(!i.mesh){const t=new e.aX;t.emplaceBack(-1,-1),t.emplaceBack(1,-1),t.emplaceBack(1,1),t.emplaceBack(-1,1);const s=new e.aY;s.emplaceBack(0,1,2),s.emplaceBack(0,2,3),i.mesh=new ga(a.createVertexBuffer(t,_e.members),a.createIndexBuffer(s),e.a0.simpleSegment(0,0,t.length,s.length));}h.draw(a,s.TRIANGLES,r,n,l,ji.disabled,o,void 0,\"sky\",i.mesh.vertexBuffer,i.mesh.indexBuffer,i.mesh.segments);}(this,this.style.sky),this._showOverdrawInspector=i.showOverdrawInspector,this.depthRangeFor3D=[0,1-(t._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass=\"opaque\",this.currentLayer=a.length-1;this.currentLayer>=0;this.currentLayer--){const t=this.style._layers[a[this.currentLayer]],e=s[t.source],i=r[t.source];this._renderTileClippingMasks(t,i),this.renderLayer(this,e,t,i);}for(this.renderPass=\"translucent\",this.currentLayer=0;this.currentLayeri.source&&!i.isHidden(e)?[t.sourceCaches[i.source]]:[])),s=a.filter((t=>\"vector\"===t.getSource().type)),o=a.filter((t=>\"vector\"!==t.getSource().type)),r=t=>{(!i||i.getSource().maxzoomr(t))),i||o.forEach((t=>r(t))),i}(this.style,this.transform.zoom);t&&function(t,e,i){for(let a=0;a0),s&&(e.b0(i,a),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.dirty=!1,function(t,i){const a=t.context,s=a.gl,o=Fi.unblended,r=new Oi(s.LEQUAL,Oi.ReadWrite,[0,1]),n=i.getTerrainMesh(),l=i.sourceCache.getRenderableTiles(),h=t.useProgram(\"terrainDepth\");a.bindFramebuffer.set(i.getFramebuffer(\"depth\").framebuffer),a.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),a.clear({color:e.aM.transparent,depth:1});for(const e of l){const l=i.getTerrainData(e.tileID),c={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};h.draw(a,s.TRIANGLES,r,Ui.disabled,o,ji.backCCW,c,l,\"terrain\",n.vertexBuffer,n.indexBuffer,n.segments);}a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);}(this,this.style.map.terrain),function(t,i){const a=t.context,s=a.gl,o=Fi.unblended,r=new Oi(s.LEQUAL,Oi.ReadWrite,[0,1]),n=i.getTerrainMesh(),l=i.getCoordsTexture(),h=i.sourceCache.getRenderableTiles(),c=t.useProgram(\"terrainCoords\");a.bindFramebuffer.set(i.getFramebuffer(\"coords\").framebuffer),a.viewport.set([0,0,t.width/devicePixelRatio,t.height/devicePixelRatio]),a.clear({color:e.aM.transparent,depth:1}),i.coordsIndex=[];for(const e of h){const h=i.getTerrainData(e.tileID);a.activeTexture.set(s.TEXTURE0),s.bindTexture(s.TEXTURE_2D,l.texture);const u={u_matrix:t.transform.calculatePosMatrix(e.tileID.toUnwrapped()),u_terrain_coords_id:(255-i.coordsIndex.length)/255,u_texture:0,u_ele_delta:i.getMeshFrameDelta(t.transform.zoom)};c.draw(a,s.TRIANGLES,r,Ui.disabled,o,ji.backCCW,u,h,\"terrain\",n.vertexBuffer,n.indexBuffer,n.segments),i.coordsIndex.push(e.tileID.key);}a.bindFramebuffer.set(null),a.viewport.set([0,0,t.width,t.height]);}(this,this.style.map.terrain));}renderLayer(t,i,a,s){if(!a.isHidden(this.transform.zoom)&&(\"background\"===a.type||\"custom\"===a.type||(s||[]).length))switch(this.id=a.id,a.type){case\"symbol\":!function(t,i,a,s,o){if(\"translucent\"!==t.renderPass)return;const r=Ui.disabled,n=t.colorModeForRenderPass();(a._unevaluatedLayout.hasValue(\"text-variable-anchor\")||a._unevaluatedLayout.hasValue(\"text-variable-anchor-offset\"))&&function(t,i,a,s,o,r,n,l,h){const c=i.transform,u=ie(),d=\"map\"===o,_=\"map\"===r;for(const o of t){const t=s.getTile(o),r=t.getBucket(a);if(!r||!r.text||!r.text.segments.get().length)continue;const p=e.ag(r.textSizeData,c.zoom),m=Bt(t,1,i.transform.zoom),f=gt(o.posMatrix,_,d,i.transform,m),g=\"none\"!==a.layout.get(\"icon-text-fit\")&&r.hasIconData();if(p){const e=Math.pow(2,c.zoom-t.tileID.overscaledZ),a=i.style.map.terrain?(t,e)=>i.style.map.terrain.getElevation(o,t,e):null,s=u.translatePosition(c,t,n,l);Wi(r,d,_,h,c,f,o.posMatrix,e,p,g,u,s,o.toUnwrapped(),a);}}}(s,t,a,i,a.layout.get(\"text-rotation-alignment\"),a.layout.get(\"text-pitch-alignment\"),a.paint.get(\"text-translate\"),a.paint.get(\"text-translate-anchor\"),o),0!==a.paint.get(\"icon-opacity\").constantOr(1)&&Xi(t,i,a,s,!1,a.paint.get(\"icon-translate\"),a.paint.get(\"icon-translate-anchor\"),a.layout.get(\"icon-rotation-alignment\"),a.layout.get(\"icon-pitch-alignment\"),a.layout.get(\"icon-keep-upright\"),r,n),0!==a.paint.get(\"text-opacity\").constantOr(1)&&Xi(t,i,a,s,!0,a.paint.get(\"text-translate\"),a.paint.get(\"text-translate-anchor\"),a.layout.get(\"text-rotation-alignment\"),a.layout.get(\"text-pitch-alignment\"),a.layout.get(\"text-keep-upright\"),r,n),i.map.showCollisionBoxes&&(qi(t,i,a,s,!0),qi(t,i,a,s,!1));}(t,i,a,s,this.style.placement.variableOffsets);break;case\"circle\":!function(t,i,a,s){if(\"translucent\"!==t.renderPass)return;const o=a.paint.get(\"circle-opacity\"),r=a.paint.get(\"circle-stroke-width\"),n=a.paint.get(\"circle-stroke-opacity\"),l=!a.layout.get(\"circle-sort-key\").isConstant();if(0===o.constantOr(1)&&(0===r.constantOr(1)||0===n.constantOr(1)))return;const h=t.context,c=h.gl,u=t.depthModeForSublayer(0,Oi.ReadOnly),d=Ui.disabled,_=t.colorModeForRenderPass(),p=[];for(let o=0;ot.sortKey-e.sortKey));for(const e of p){const{programConfiguration:i,program:s,layoutVertexBuffer:o,indexBuffer:r,uniformValues:n,terrainData:l}=e.state;s.draw(h,c.TRIANGLES,u,d,_,ji.disabled,n,l,a.id,o,r,e.segments,a.paint,t.transform.zoom,i);}}(t,i,a,s);break;case\"heatmap\":!function(t,i,a,s){if(0===a.paint.get(\"heatmap-opacity\"))return;const o=t.context;if(t.style.map.terrain){for(const e of s){const s=i.getTile(e);i.hasRenderableParent(e)||(\"offscreen\"===t.renderPass?Ji(t,s,a,e):\"translucent\"===t.renderPass&&Yi(t,a,e));}o.viewport.set([0,0,t.width,t.height]);}else \"offscreen\"===t.renderPass?function(t,i,a,s){const o=t.context,r=o.gl,n=Ui.disabled,l=new Fi([r.ONE,r.ONE],e.aM.transparent,[!0,!0,!0,!0]);((function(t,i,a){const s=t.gl;t.activeTexture.set(s.TEXTURE1),t.viewport.set([0,0,i.width/4,i.height/4]);let o=a.heatmapFbos.get(e.aU);o?(s.bindTexture(s.TEXTURE_2D,o.colorAttachment.get()),t.bindFramebuffer.set(o.framebuffer)):(o=Qi(t,i.width/4,i.height/4),a.heatmapFbos.set(e.aU,o));}))(o,t,a),o.clear({color:e.aM.transparent});for(let e=0;e20&&o.texParameterf(o.TEXTURE_2D,s.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,s.extTextureFilterAnisotropicMax);const y=t.style.map.terrain&&t.style.map.terrain.getTerrainData(a),b=y?a:null,w=b?b.posMatrix:t.transform.calculatePosMatrix(a.toUnwrapped(),d),T=Ue(w,v||[0,0],g||1,f,i);r instanceof Q?n.draw(s,o.TRIANGLES,c,Ui.disabled,l,ji.disabled,T,y,i.id,r.boundsBuffer,t.quadTriangleIndexBuffer,r.boundsSegments):n.draw(s,o.TRIANGLES,c,h[a.overscaledZ],l,ji.disabled,T,y,i.id,t.rasterBoundsBuffer,t.quadTriangleIndexBuffer,t.rasterBoundsSegments);}}(t,i,a,s);break;case\"background\":!function(t,e,i,a){const s=i.paint.get(\"background-color\"),o=i.paint.get(\"background-opacity\");if(0===o)return;const r=t.context,n=r.gl,l=t.transform,h=l.tileSize,c=i.paint.get(\"background-pattern\");if(t.isPatternMissing(c))return;const u=!c&&1===s.a&&1===o&&t.opaquePassEnabledForLayer()?\"opaque\":\"translucent\";if(t.renderPass!==u)return;const d=Ui.disabled,_=t.depthModeForSublayer(0,\"opaque\"===u?Oi.ReadWrite:Oi.ReadOnly),p=t.colorModeForRenderPass(),m=t.useProgram(c?\"backgroundPattern\":\"background\"),f=a||l.coveringTiles({tileSize:h,terrain:t.style.map.terrain});c&&(r.activeTexture.set(n.TEXTURE0),t.imageManager.bind(t.context));const g=i.getCrossfadeParameters();for(const e of f){const l=a?e.posMatrix:t.transform.calculatePosMatrix(e.toUnwrapped()),u=c?He(l,o,t,c,{tileID:e,tileSize:h},g):Ge(l,o,s),f=t.style.map.terrain&&t.style.map.terrain.getTerrainData(e);m.draw(r,n.TRIANGLES,_,d,p,ji.disabled,u,f,i.id,t.tileExtentBuffer,t.quadTriangleIndexBuffer,t.tileExtentSegments);}}(t,0,a,s);break;case\"custom\":!function(t,e,i){const a=t.context,s=i.implementation;if(\"offscreen\"===t.renderPass){const e=s.prerender;e&&(t.setCustomLayerDefaults(),a.setColorMode(t.colorModeForRenderPass()),e.call(s,a.gl,t.transform.customLayerMatrix()),a.setDirty(),t.setBaseState());}else if(\"translucent\"===t.renderPass){t.setCustomLayerDefaults(),a.setColorMode(t.colorModeForRenderPass()),a.setStencilMode(Ui.disabled);const e=\"3d\"===s.renderingMode?new Oi(t.context.gl.LEQUAL,Oi.ReadWrite,t.depthRangeFor3D):t.depthModeForSublayer(0,Oi.ReadOnly);a.setDepthMode(e),s.render(a.gl,t.transform.customLayerMatrix(),{farZ:t.transform.farZ,nearZ:t.transform.nearZ,fov:t.transform._fov,modelViewProjectionMatrix:t.transform.modelViewProjectionMatrix,projectionMatrix:t.transform.projectionMatrix}),a.setDirty(),t.setBaseState(),a.bindFramebuffer.set(null);}}(t,0,a);}}translatePosMatrix(t,i,a,s,o){if(!a[0]&&!a[1])return t;const r=o?\"map\"===s?this.transform.angle:0:\"viewport\"===s?-this.transform.angle:0;if(r){const t=Math.sin(r),e=Math.cos(r);a=[a[0]*e-a[1]*t,a[0]*t+a[1]*e];}const n=[o?a[0]:Bt(i,a[0],this.transform.zoom),o?a[1]:Bt(i,a[1],this.transform.zoom),0],l=new Float32Array(16);return e.J(l,t,n),l}saveTileTexture(t){const e=this._tileTextures[t.size[0]];e?e.push(t):this._tileTextures[t.size[0]]=[t];}getTileTexture(t){const e=this._tileTextures[t];return e&&e.length>0?e.pop():null}isPatternMissing(t){if(!t)return !1;if(!t.from||!t.to)return !0;const e=this.imageManager.getPattern(t.from.toString()),i=this.imageManager.getPattern(t.to.toString());return !e||!i}useProgram(t,e){this.cache=this.cache||{};const i=t+(e?e.cacheKey:\"\")+(this._showOverdrawInspector?\"/overdraw\":\"\")+(this.style.map.terrain?\"/terrain\":\"\");return this.cache[i]||(this.cache[i]=new xe(this.context,pe[t],e,We[t],this._showOverdrawInspector,this.style.map.terrain)),this.cache[i]}setCustomLayerDefaults(){this.context.unbindVAO(),this.context.cullFace.setDefault(),this.context.activeTexture.setDefault(),this.context.pixelStoreUnpack.setDefault(),this.context.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.context.pixelStoreUnpackFlipY.setDefault();}setBaseState(){const t=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(t.FUNC_ADD);}initDebugOverlayCanvas(){null==this.debugOverlayCanvas&&(this.debugOverlayCanvas=document.createElement(\"canvas\"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new b(this.context,this.debugOverlayCanvas,this.context.gl.RGBA));}destroy(){this.debugOverlayTexture&&this.debugOverlayTexture.destroy();}overLimit(){const{drawingBufferWidth:t,drawingBufferHeight:e}=this.context.gl;return this.width!==t||this.height!==e}}class xa{constructor(t,e){this.points=t,this.planes=e;}static fromInvProjectionMatrix(t,i,a){const s=Math.pow(2,a),o=[[-1,1,-1,1],[1,1,-1,1],[1,-1,-1,1],[-1,-1,-1,1],[-1,1,1,1],[1,1,1,1],[1,-1,1,1],[-1,-1,1,1]].map((a=>{const o=1/(a=e.af([],a,t))[3]/i*s;return e.b1(a,a,[o,o,1/a[3],o])})),r=[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]].map((t=>{const e=function(t,e){var i=e[0],a=e[1],s=e[2],o=i*i+a*a+s*s;return o>0&&(o=1/Math.sqrt(o)),t[0]=e[0]*o,t[1]=e[1]*o,t[2]=e[2]*o,t}([],function(t,e,i){var a=e[0],s=e[1],o=e[2],r=i[0],n=i[1],l=i[2];return t[0]=s*l-o*n,t[1]=o*r-a*l,t[2]=a*n-s*r,t}([],g([],o[t[0]],o[t[1]]),g([],o[t[2]],o[t[1]]))),i=-((a=e)[0]*(s=o[t[1]])[0]+a[1]*s[1]+a[2]*s[2]);var a,s;return e.concat(i)}));return new xa(o,r)}}class ya{constructor(t,e){this.min=t,this.max=e,this.center=function(t,e,i){return t[0]=.5*e[0],t[1]=.5*e[1],t[2]=.5*e[2],t}([],function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t[2]=e[2]+i[2],t}([],this.min,this.max));}quadrant(t){const e=[t%2==0,t<2],i=m(this.min),a=m(this.max);for(let t=0;t=0&&r++;if(0===r)return 0;r!==i.length&&(a=!1);}if(a)return 2;for(let e=0;e<3;e++){let i=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let s=0;sthis.max[e]-this.min[e])return 0}return 1}}class ba{constructor(t=0,e=0,i=0,a=0){if(isNaN(t)||t<0||isNaN(e)||e<0||isNaN(i)||i<0||isNaN(a)||a<0)throw new Error(\"Invalid value for edge-insets, top, bottom, left and right must all be numbers\");this.top=t,this.bottom=e,this.left=i,this.right=a;}interpolate(t,i,a){return null!=i.top&&null!=t.top&&(this.top=e.y.number(t.top,i.top,a)),null!=i.bottom&&null!=t.bottom&&(this.bottom=e.y.number(t.bottom,i.bottom,a)),null!=i.left&&null!=t.left&&(this.left=e.y.number(t.left,i.left,a)),null!=i.right&&null!=t.right&&(this.right=e.y.number(t.right,i.right,a)),this}getCenter(t,i){const a=e.ac((this.left+t-this.right)/2,0,t),s=e.ac((this.top+i-this.bottom)/2,0,i);return new e.P(a,s)}equals(t){return this.top===t.top&&this.bottom===t.bottom&&this.left===t.left&&this.right===t.right}clone(){return new ba(this.top,this.bottom,this.left,this.right)}toJSON(){return {top:this.top,bottom:this.bottom,left:this.left,right:this.right}}}const wa=85.051129;class Ta{constructor(t,i,a,s,o){this.tileSize=512,this._renderWorldCopies=void 0===o||!!o,this._minZoom=t||0,this._maxZoom=i||22,this._minPitch=null==a?0:a,this._maxPitch=null==s?60:s,this.setMaxBounds(),this.width=0,this.height=0,this._center=new e.N(0,0),this._elevation=0,this.zoom=0,this.angle=0,this._fov=.6435011087932844,this._pitch=0,this._unmodified=!0,this._edgeInsets=new ba,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={},this.minElevationForCurrentTile=0;}clone(){const t=new Ta(this._minZoom,this._maxZoom,this._minPitch,this.maxPitch,this._renderWorldCopies);return t.apply(this),t}apply(t){this.tileSize=t.tileSize,this.latRange=t.latRange,this.lngRange=t.lngRange,this.width=t.width,this.height=t.height,this._center=t._center,this._elevation=t._elevation,this.minElevationForCurrentTile=t.minElevationForCurrentTile,this.zoom=t.zoom,this.angle=t.angle,this._fov=t._fov,this._pitch=t._pitch,this._unmodified=t._unmodified,this._edgeInsets=t._edgeInsets.clone(),this._calcMatrices();}get minZoom(){return this._minZoom}set minZoom(t){this._minZoom!==t&&(this._minZoom=t,this.zoom=Math.max(this.zoom,t));}get maxZoom(){return this._maxZoom}set maxZoom(t){this._maxZoom!==t&&(this._maxZoom=t,this.zoom=Math.min(this.zoom,t));}get minPitch(){return this._minPitch}set minPitch(t){this._minPitch!==t&&(this._minPitch=t,this.pitch=Math.max(this.pitch,t));}get maxPitch(){return this._maxPitch}set maxPitch(t){this._maxPitch!==t&&(this._maxPitch=t,this.pitch=Math.min(this.pitch,t));}get renderWorldCopies(){return this._renderWorldCopies}set renderWorldCopies(t){void 0===t?t=!0:null===t&&(t=!1),this._renderWorldCopies=t;}get worldSize(){return this.tileSize*this.scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new e.P(this.width,this.height)}get bearing(){return -this.angle/Math.PI*180}set bearing(t){const i=-e.b3(t,-180,180)*Math.PI/180;this.angle!==i&&(this._unmodified=!1,this.angle=i,this._calcMatrices(),this.rotationMatrix=function(){var t=new e.A(4);return e.A!=Float32Array&&(t[1]=0,t[2]=0),t[0]=1,t[3]=1,t}(),function(t,e,i){var a=e[0],s=e[1],o=e[2],r=e[3],n=Math.sin(i),l=Math.cos(i);t[0]=a*l+o*n,t[1]=s*l+r*n,t[2]=a*-n+o*l,t[3]=s*-n+r*l;}(this.rotationMatrix,this.rotationMatrix,this.angle));}get pitch(){return this._pitch/Math.PI*180}set pitch(t){const i=e.ac(t,this.minPitch,this.maxPitch)/180*Math.PI;this._pitch!==i&&(this._unmodified=!1,this._pitch=i,this._calcMatrices());}get fov(){return this._fov/Math.PI*180}set fov(t){t=Math.max(.01,Math.min(60,t)),this._fov!==t&&(this._unmodified=!1,this._fov=t/180*Math.PI,this._calcMatrices());}get zoom(){return this._zoom}set zoom(t){const e=Math.min(Math.max(t,this.minZoom),this.maxZoom);this._zoom!==e&&(this._unmodified=!1,this._zoom=e,this.tileZoom=Math.max(0,Math.floor(e)),this.scale=this.zoomScale(e),this._constrain(),this._calcMatrices());}get center(){return this._center}set center(t){t.lat===this._center.lat&&t.lng===this._center.lng||(this._unmodified=!1,this._center=t,this._constrain(),this._calcMatrices());}get elevation(){return this._elevation}set elevation(t){t!==this._elevation&&(this._elevation=t,this._constrain(),this._calcMatrices());}get padding(){return this._edgeInsets.toJSON()}set padding(t){this._edgeInsets.equals(t)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,t,1),this._calcMatrices());}get centerPoint(){return this._edgeInsets.getCenter(this.width,this.height)}isPaddingEqual(t){return this._edgeInsets.equals(t)}interpolatePadding(t,e,i){this._unmodified=!1,this._edgeInsets.interpolate(t,e,i),this._constrain(),this._calcMatrices();}coveringZoomLevel(t){const e=(t.roundZoom?Math.round:Math.floor)(this.zoom+this.scaleZoom(this.tileSize/t.tileSize));return Math.max(0,e)}getVisibleUnwrappedCoordinates(t){const i=[new e.b4(0,t)];if(this._renderWorldCopies){const a=this.pointCoordinate(new e.P(0,0)),s=this.pointCoordinate(new e.P(this.width,0)),o=this.pointCoordinate(new e.P(this.width,this.height)),r=this.pointCoordinate(new e.P(0,this.height)),n=Math.floor(Math.min(a.x,s.x,o.x,r.x)),l=Math.floor(Math.max(a.x,s.x,o.x,r.x)),h=1;for(let a=n-h;a<=l+h;a++)0!==a&&i.push(new e.b4(a,t));}return i}coveringTiles(t){var i,a;let s=this.coveringZoomLevel(t);const o=s;if(void 0!==t.minzoom&&st.maxzoom&&(s=t.maxzoom);const r=this.pointCoordinate(this.getCameraPoint()),n=e.Z.fromLngLat(this.center),l=Math.pow(2,s),h=[l*r.x,l*r.y,0],c=[l*n.x,l*n.y,0],u=xa.fromInvProjectionMatrix(this.invModelViewProjectionMatrix,this.worldSize,s);let d=t.minzoom||0;!t.terrain&&this.pitch<=60&&this._edgeInsets.top<.1&&(d=s);const _=t.terrain?2/Math.min(this.tileSize,t.tileSize)*this.tileSize:3,p=t=>({aabb:new ya([t*l,0,0],[(t+1)*l,l,0]),zoom:0,x:0,y:0,wrap:t,fullyVisible:!1}),m=[],f=[],g=s,x=t.reparseOverscaled?o:s;if(this._renderWorldCopies)for(let t=1;t<=3;t++)m.push(p(-t)),m.push(p(t));for(m.push(p(0));m.length>0;){const s=m.pop(),o=s.x,r=s.y;let n=s.fullyVisible;if(!n){const t=s.aabb.intersects(u);if(0===t)continue;n=2===t;}const l=t.terrain?h:c,p=s.aabb.distanceX(l),y=s.aabb.distanceY(l),b=Math.max(Math.abs(p),Math.abs(y));if(s.zoom===g||b>_+(1<=d){const t=g-s.zoom,i=h[0]-.5-(o<>1),u=s.zoom+1;let d=s.aabb.quadrant(l);if(t.terrain){const o=new e.S(u,s.wrap,u,h,c),r=t.terrain.getMinMaxElevation(o),n=null!==(i=r.minElevation)&&void 0!==i?i:this.elevation,l=null!==(a=r.maxElevation)&&void 0!==a?a:this.elevation;d=new ya([d.min[0],d.min[1],n],[d.max[0],d.max[1],l]);}m.push({aabb:d,zoom:u,x:h,y:c,wrap:s.wrap,fullyVisible:n});}}return f.sort(((t,e)=>t.distanceSq-e.distanceSq)).map((t=>t.tileID))}resize(t,e){this.width=t,this.height=e,this.pixelsToGLUnits=[2/t,-2/e],this._constrain(),this._calcMatrices();}get unmodified(){return this._unmodified}zoomScale(t){return Math.pow(2,t)}scaleZoom(t){return Math.log(t)/Math.LN2}project(t){const i=e.ac(t.lat,-85.051129,wa);return new e.P(e.O(t.lng)*this.worldSize,e.Q(i)*this.worldSize)}unproject(t){return new e.Z(t.x/this.worldSize,t.y/this.worldSize).toLngLat()}get point(){return this.project(this.center)}getCameraPosition(){return {lngLat:this.pointLocation(this.getCameraPoint()),altitude:Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter+this.elevation}}recalculateZoom(t){const i=this.elevation,a=Math.cos(this._pitch)*this.cameraToCenterDistance/this._pixelPerMeter,s=this.pointLocation(this.centerPoint,t),o=t.getElevationForLngLatZoom(s,this.tileZoom);if(!(this.elevation-o))return;const r=a+i-o,n=Math.cos(this._pitch)*this.cameraToCenterDistance/r/e.b5(1,s.lat),l=this.scaleZoom(n/this.tileSize);this._elevation=o,this._center=s,this.zoom=l;}setLocationAtPoint(t,i){const a=this.pointCoordinate(i),s=this.pointCoordinate(this.centerPoint),o=this.locationCoordinate(t),r=new e.Z(o.x-(a.x-s.x),o.y-(a.y-s.y));this.center=this.coordinateLocation(r),this._renderWorldCopies&&(this.center=this.center.wrap());}locationPoint(t,e){return e?this.coordinatePoint(this.locationCoordinate(t),e.getElevationForLngLatZoom(t,this.tileZoom),this.pixelMatrix3D):this.coordinatePoint(this.locationCoordinate(t))}pointLocation(t,e){return this.coordinateLocation(this.pointCoordinate(t,e))}locationCoordinate(t){return e.Z.fromLngLat(t)}coordinateLocation(t){return t&&t.toLngLat()}pointCoordinate(t,i){if(i){const e=i.pointCoordinate(t);if(null!=e)return e}const a=[t.x,t.y,0,1],s=[t.x,t.y,1,1];e.af(a,a,this.pixelMatrixInverse),e.af(s,s,this.pixelMatrixInverse);const o=a[3],r=s[3],n=a[1]/o,l=s[1]/r,h=a[2]/o,c=s[2]/r,u=h===c?0:(0-h)/(c-h);return new e.Z(e.y.number(a[0]/o,s[0]/r,u)/this.worldSize,e.y.number(n,l,u)/this.worldSize)}coordinatePoint(t,i=0,a=this.pixelMatrix){const s=[t.x*this.worldSize,t.y*this.worldSize,i,1];return e.af(s,s,a),new e.P(s[0]/s[3],s[1]/s[3])}getBounds(){const t=Math.max(0,this.height/2-this.getHorizon());return (new H).extend(this.pointLocation(new e.P(0,t))).extend(this.pointLocation(new e.P(this.width,t))).extend(this.pointLocation(new e.P(this.width,this.height))).extend(this.pointLocation(new e.P(0,this.height)))}getMaxBounds(){return this.latRange&&2===this.latRange.length&&this.lngRange&&2===this.lngRange.length?new H([this.lngRange[0],this.latRange[0]],[this.lngRange[1],this.latRange[1]]):null}getHorizon(){return Math.tan(Math.PI/2-this._pitch)*this.cameraToCenterDistance*.85}setMaxBounds(t){t?(this.lngRange=[t.getWest(),t.getEast()],this.latRange=[t.getSouth(),t.getNorth()],this._constrain()):(this.lngRange=null,this.latRange=[-85.051129,wa]);}calculateTileMatrix(t){const i=t.canonical,a=this.worldSize/this.zoomScale(i.z),s=i.x+Math.pow(2,i.z)*t.wrap,o=e.an(new Float64Array(16));return e.J(o,o,[s*a,i.y*a,0]),e.K(o,o,[a/e.X,a/e.X,1]),o}calculatePosMatrix(t,i=!1){const a=t.key,s=i?this._alignedPosMatrixCache:this._posMatrixCache;if(s[a])return s[a];const o=this.calculateTileMatrix(t);return e.L(o,i?this.alignedModelViewProjectionMatrix:this.modelViewProjectionMatrix,o),s[a]=new Float32Array(o),s[a]}calculateFogMatrix(t){const i=t.key,a=this._fogMatrixCache;if(a[i])return a[i];const s=this.calculateTileMatrix(t);return e.L(s,this.fogMatrix,s),a[i]=new Float32Array(s),a[i]}customLayerMatrix(){return this.mercatorMatrix.slice()}getConstrained(t,i){i=e.ac(+i,this.minZoom,this.maxZoom);const a={center:new e.N(t.lng,t.lat),zoom:i};let s=this.lngRange;if(!this._renderWorldCopies&&null===s){const t=180-1e-10;s=[-t,t];}const o=this.tileSize*this.zoomScale(a.zoom);let r=0,n=o,l=0,h=o,c=0,u=0;const{x:d,y:_}=this.size;if(this.latRange){const t=this.latRange;r=e.Q(t[1])*o,n=e.Q(t[0])*o,n-r<_&&(c=_/(n-r));}s&&(l=e.b3(e.O(s[0])*o,0,o),h=e.b3(e.O(s[1])*o,0,o),hn&&(g=n-t);}if(s){const t=(l+h)/2;let i=p;this._renderWorldCopies&&(i=e.b3(p,t-o/2,t+o/2));const a=d/2;i-ah&&(f=h-a);}if(void 0!==f||void 0!==g){const t=new e.P(null!=f?f:p,null!=g?g:m);a.center=this.unproject.call({worldSize:o},t).wrap();}return a}_constrain(){if(!this.center||!this.width||!this.height||this._constraining)return;this._constraining=!0;const t=this._unmodified,{center:e,zoom:i}=this.getConstrained(this.center,this.zoom);this.center=e,this.zoom=i,this._unmodified=t,this._constraining=!1;}_calcMatrices(){if(!this.height)return;const t=this.centerOffset,i=this.point.x,a=this.point.y;this.cameraToCenterDistance=.5/Math.tan(this._fov/2)*this.height,this._pixelPerMeter=e.b5(1,this.center.lat)*this.worldSize;let s=e.an(new Float64Array(16));e.K(s,s,[this.width/2,-this.height/2,1]),e.J(s,s,[1,-1,0]),this.labelPlaneMatrix=s,s=e.an(new Float64Array(16)),e.K(s,s,[1,-1,1]),e.J(s,s,[-1,-1,0]),e.K(s,s,[2/this.width,2/this.height,1]),this.glCoordMatrix=s;const o=this.cameraToCenterDistance+this._elevation*this._pixelPerMeter/Math.cos(this._pitch),r=Math.min(this.elevation,this.minElevationForCurrentTile),n=o-r*this._pixelPerMeter/Math.cos(this._pitch),l=r<0?n:o,h=Math.PI/2+this._pitch,c=this._fov*(.5+t.y/this.height),u=Math.sin(c)*l/Math.sin(e.ac(Math.PI-h-c,.01,Math.PI-.01)),d=this.getHorizon(),_=2*Math.atan(d/this.cameraToCenterDistance)*(.5+t.y/(2*d)),p=Math.sin(_)*l/Math.sin(e.ac(Math.PI-h-_,.01,Math.PI-.01)),m=Math.min(u,p);this.farZ=1.01*(Math.cos(Math.PI/2-this._pitch)*m+l),this.nearZ=this.height/50,s=new Float64Array(16),e.b6(s,this._fov,this.width/this.height,this.nearZ,this.farZ),s[8]=2*-t.x/this.width,s[9]=2*t.y/this.height,this.projectionMatrix=e.ae(s),e.K(s,s,[1,-1,1]),e.J(s,s,[0,0,-this.cameraToCenterDistance]),e.b7(s,s,this._pitch),e.ad(s,s,this.angle),e.J(s,s,[-i,-a,0]),this.mercatorMatrix=e.K([],s,[this.worldSize,this.worldSize,this.worldSize]),e.K(s,s,[1,1,this._pixelPerMeter]),this.pixelMatrix=e.L(new Float64Array(16),this.labelPlaneMatrix,s),e.J(s,s,[0,0,-this.elevation]),this.modelViewProjectionMatrix=s,this.invModelViewProjectionMatrix=e.as([],s),this.fogMatrix=new Float64Array(16),e.b6(this.fogMatrix,this._fov,this.width/this.height,o,this.farZ),this.fogMatrix[8]=2*-t.x/this.width,this.fogMatrix[9]=2*t.y/this.height,e.K(this.fogMatrix,this.fogMatrix,[1,-1,1]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.cameraToCenterDistance]),e.b7(this.fogMatrix,this.fogMatrix,this._pitch),e.ad(this.fogMatrix,this.fogMatrix,this.angle),e.J(this.fogMatrix,this.fogMatrix,[-i,-a,0]),e.K(this.fogMatrix,this.fogMatrix,[1,1,this._pixelPerMeter]),e.J(this.fogMatrix,this.fogMatrix,[0,0,-this.elevation]),this.pixelMatrix3D=e.L(new Float64Array(16),this.labelPlaneMatrix,s);const f=this.width%2/2,g=this.height%2/2,v=Math.cos(this.angle),x=Math.sin(this.angle),y=i-Math.round(i)+v*f+x*g,b=a-Math.round(a)+v*g+x*f,w=new Float64Array(s);if(e.J(w,w,[y>.5?y-1:y,b>.5?b-1:b,0]),this.alignedModelViewProjectionMatrix=w,s=e.as(new Float64Array(16),this.pixelMatrix),!s)throw new Error(\"failed to invert matrix\");this.pixelMatrixInverse=s,this._posMatrixCache={},this._alignedPosMatrixCache={},this._fogMatrixCache={};}maxPitchScaleFactor(){if(!this.pixelMatrixInverse)return 1;const t=this.pointCoordinate(new e.P(0,0)),i=[t.x*this.worldSize,t.y*this.worldSize,0,1];return e.af(i,i,this.pixelMatrix)[3]/this.cameraToCenterDistance}getCameraPoint(){const t=Math.tan(this._pitch)*(this.cameraToCenterDistance||1);return this.centerPoint.add(new e.P(0,t))}getCameraQueryGeometry(t){const i=this.getCameraPoint();if(1===t.length)return [t[0],i];{let a=i.x,s=i.y,o=i.x,r=i.y;for(const e of t)a=Math.min(a,e.x),s=Math.min(s,e.y),o=Math.max(o,e.x),r=Math.max(r,e.y);return [new e.P(a,s),new e.P(o,s),new e.P(o,r),new e.P(a,r),new e.P(a,s)]}}lngLatToCameraDepth(t,i){const a=this.locationCoordinate(t),s=[a.x*this.worldSize,a.y*this.worldSize,i,1];return e.af(s,s,this.modelViewProjectionMatrix),s[2]/s[3]}}function Ia(t,e){let i,a=!1,s=null,o=null;const r=()=>{s=null,a&&(t.apply(o,i),s=setTimeout(r,e),a=!1);};return (...t)=>(a=!0,o=this,i=t,s||r(),s)}class Ea{constructor(t){this._getCurrentHash=()=>{const t=window.location.hash.replace(\"#\",\"\");if(this._hashName){let e;return t.split(\"&\").map((t=>t.split(\"=\"))).forEach((t=>{t[0]===this._hashName&&(e=t);})),(e&&e[1]||\"\").split(\"/\")}return t.split(\"/\")},this._onHashChange=()=>{const t=this._getCurrentHash();if(t.length>=3&&!t.some((t=>isNaN(t)))){const e=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(t[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+t[2],+t[1]],zoom:+t[0],bearing:e,pitch:+(t[4]||0)}),!0}return !1},this._updateHashUnthrottled=()=>{const t=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,t);},this._removeHash=()=>{const t=this._getCurrentHash();if(0===t.length)return;const e=t.join(\"/\");let i=e;i.split(\"&\").length>0&&(i=i.split(\"&\")[0]),this._hashName&&(i=`${this._hashName}=${e}`);let a=window.location.hash.replace(i,\"\");a.startsWith(\"#&\")?a=a.slice(0,1)+a.slice(2):\"#\"===a&&(a=\"\");let s=window.location.href.replace(/(#.+)?$/,a);s=s.replace(\"&&\",\"&\"),window.history.replaceState(window.history.state,null,s);},this._updateHash=Ia(this._updateHashUnthrottled,300),this._hashName=t&&encodeURIComponent(t);}addTo(t){return this._map=t,addEventListener(\"hashchange\",this._onHashChange,!1),this._map.on(\"moveend\",this._updateHash),this}remove(){return removeEventListener(\"hashchange\",this._onHashChange,!1),this._map.off(\"moveend\",this._updateHash),clearTimeout(this._updateHash()),this._removeHash(),delete this._map,this}getHashString(t){const e=this._map.getCenter(),i=Math.round(100*this._map.getZoom())/100,a=Math.ceil((i*Math.LN2+Math.log(512/360/.5))/Math.LN10),s=Math.pow(10,a),o=Math.round(e.lng*s)/s,r=Math.round(e.lat*s)/s,n=this._map.getBearing(),l=this._map.getPitch();let h=\"\";if(h+=t?`/${o}/${r}/${i}`:`${i}/${r}/${o}`,(n||l)&&(h+=\"/\"+Math.round(10*n)/10),l&&(h+=`/${Math.round(l)}`),this._hashName){const t=this._hashName;let e=!1;const i=window.location.hash.slice(1).split(\"&\").map((i=>{const a=i.split(\"=\")[0];return a===t?(e=!0,`${a}=${h}`):i})).filter((t=>t));return e||i.push(`${t}=${h}`),`#${i.join(\"&\")}`}return `#${h}`}}const Pa={linearity:.3,easing:e.b8(0,0,.3,1)},Ca=e.e({deceleration:2500,maxSpeed:1400},Pa),Sa=e.e({deceleration:20,maxSpeed:1400},Pa),za=e.e({deceleration:1e3,maxSpeed:360},Pa),Da=e.e({deceleration:1e3,maxSpeed:90},Pa);class Ma{constructor(t){this._map=t,this.clear();}clear(){this._inertiaBuffer=[];}record(t){this._drainInertiaBuffer(),this._inertiaBuffer.push({time:o.now(),settings:t});}_drainInertiaBuffer(){const t=this._inertiaBuffer,e=o.now();for(;t.length>0&&e-t[0].time>160;)t.shift();}_onMoveEnd(t){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;const i={zoom:0,bearing:0,pitch:0,pan:new e.P(0,0),pinchAround:void 0,around:void 0};for(const{settings:t}of this._inertiaBuffer)i.zoom+=t.zoomDelta||0,i.bearing+=t.bearingDelta||0,i.pitch+=t.pitchDelta||0,t.panDelta&&i.pan._add(t.panDelta),t.around&&(i.around=t.around),t.pinchAround&&(i.pinchAround=t.pinchAround);const a=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,s={};if(i.pan.mag()){const o=Ra(i.pan.mag(),a,e.e({},Ca,t||{}));s.offset=i.pan.mult(o.amount/i.pan.mag()),s.center=this._map.transform.center,Aa(s,o);}if(i.zoom){const t=Ra(i.zoom,a,Sa);s.zoom=this._map.transform.zoom+t.amount,Aa(s,t);}if(i.bearing){const t=Ra(i.bearing,a,za);s.bearing=this._map.transform.bearing+e.ac(t.amount,-179,179),Aa(s,t);}if(i.pitch){const t=Ra(i.pitch,a,Da);s.pitch=this._map.transform.pitch+t.amount,Aa(s,t);}if(s.zoom||s.bearing){const t=void 0===i.pinchAround?i.around:i.pinchAround;s.around=t?this._map.unproject(t):this._map.getCenter();}return this.clear(),e.e(s,{noMoveStart:!0})}}function Aa(t,e){(!t.duration||t.durationi.unproject(t))),l=o.reduce(((t,e,i,a)=>t.add(e.div(a.length))),new e.P(0,0));super(t,{points:o,point:l,lngLats:n,lngLat:i.unproject(l),originalEvent:a}),this._defaultPrevented=!1;}}class Fa extends e.k{preventDefault(){this._defaultPrevented=!0;}get defaultPrevented(){return this._defaultPrevented}constructor(t,e,i){super(t,{originalEvent:i}),this._defaultPrevented=!1;}}class Ba{constructor(t,e){this._map=t,this._clickTolerance=e.clickTolerance;}reset(){delete this._mousedownPos;}wheel(t){return this._firePreventable(new Fa(t.type,this._map,t))}mousedown(t,e){return this._mousedownPos=e,this._firePreventable(new ka(t.type,this._map,t))}mouseup(t){this._map.fire(new ka(t.type,this._map,t));}click(t,e){this._mousedownPos&&this._mousedownPos.dist(e)>=this._clickTolerance||this._map.fire(new ka(t.type,this._map,t));}dblclick(t){return this._firePreventable(new ka(t.type,this._map,t))}mouseover(t){this._map.fire(new ka(t.type,this._map,t));}mouseout(t){this._map.fire(new ka(t.type,this._map,t));}touchstart(t){return this._firePreventable(new La(t.type,this._map,t))}touchmove(t){this._map.fire(new La(t.type,this._map,t));}touchend(t){this._map.fire(new La(t.type,this._map,t));}touchcancel(t){this._map.fire(new La(t.type,this._map,t));}_firePreventable(t){if(this._map.fire(t),t.defaultPrevented)return {}}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Oa{constructor(t){this._map=t;}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent;}mousemove(t){this._map.fire(new ka(t.type,this._map,t));}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1;}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new ka(\"contextmenu\",this._map,this._contextMenuEvent)),delete this._contextMenuEvent);}contextmenu(t){this._delayContextMenu?this._contextMenuEvent=t:this._ignoreContextMenu||this._map.fire(new ka(t.type,this._map,t)),this._map.listens(\"contextmenu\")&&t.preventDefault();}isEnabled(){return !0}isActive(){return !1}enable(){}disable(){}}class Na{constructor(t){this._map=t;}get transform(){return this._map._requestedCameraState||this._map.transform}get center(){return {lng:this.transform.center.lng,lat:this.transform.center.lat}}get zoom(){return this.transform.zoom}get pitch(){return this.transform.pitch}get bearing(){return this.transform.bearing}unproject(t){return this.transform.pointLocation(e.P.convert(t),this._map.terrain)}}class Ua{constructor(t,e){this._map=t,this._tr=new Na(t),this._el=t.getCanvasContainer(),this._container=t.getContainer(),this._clickTolerance=e.clickTolerance||1;}isEnabled(){return !!this._enabled}isActive(){return !!this._active}enable(){this.isEnabled()||(this._enabled=!0);}disable(){this.isEnabled()&&(this._enabled=!1);}mousedown(t,e){this.isEnabled()&&t.shiftKey&&0===t.button&&(r.disableDrag(),this._startPos=this._lastPos=e,this._active=!0);}mousemoveWindow(t,e){if(!this._active)return;const i=e;if(this._lastPos.equals(i)||!this._box&&i.dist(this._startPos)t.fitScreenCoordinates(a,s,this._tr.bearing,{linear:!0})};this._fireEvent(\"boxzoomcancel\",t);}keydown(t){this._active&&27===t.keyCode&&(this.reset(),this._fireEvent(\"boxzoomcancel\",t));}reset(){this._active=!1,this._container.classList.remove(\"maplibregl-crosshair\"),this._box&&(r.remove(this._box),this._box=null),r.enableDrag(),delete this._startPos,delete this._lastPos;}_fireEvent(t,i){return this._map.fire(new e.k(t,{originalEvent:i}))}}function ja(t,e){if(t.length!==e.length)throw new Error(`The number of touches and points are not equal - touches ${t.length}, points ${e.length}`);const i={};for(let a=0;athis.numTouches)&&(this.aborted=!0),this.aborted||(void 0===this.startTime&&(this.startTime=t.timeStamp),a.length===this.numTouches&&(this.centroid=function(t){const i=new e.P(0,0);for(const e of t)i._add(e);return i.div(t.length)}(i),this.touches=ja(a,i)));}touchmove(t,e,i){if(this.aborted||!this.centroid)return;const a=ja(i,e);for(const t in this.touches){const e=a[t];(!e||e.dist(this.touches[t])>30)&&(this.aborted=!0);}}touchend(t,e,i){if((!this.centroid||t.timeStamp-this.startTime>500)&&(this.aborted=!0),0===i.length){const t=!this.aborted&&this.centroid;if(this.reset(),t)return t}}}class qa{constructor(t){this.singleTap=new Za(t),this.numTaps=t.numTaps,this.reset();}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset();}touchstart(t,e,i){this.singleTap.touchstart(t,e,i);}touchmove(t,e,i){this.singleTap.touchmove(t,e,i);}touchend(t,e,i){const a=this.singleTap.touchend(t,e,i);if(a){const e=t.timeStamp-this.lastTime<500,i=!this.lastTap||this.lastTap.dist(a)<30;if(e&&i||this.reset(),this.count++,this.lastTime=t.timeStamp,this.lastTap=a,this.count===this.numTaps)return this.reset(),a}}}class Va{constructor(t){this._tr=new Na(t),this._zoomIn=new qa({numTouches:1,numTaps:2}),this._zoomOut=new qa({numTouches:2,numTaps:1}),this.reset();}reset(){this._active=!1,this._zoomIn.reset(),this._zoomOut.reset();}touchstart(t,e,i){this._zoomIn.touchstart(t,e,i),this._zoomOut.touchstart(t,e,i);}touchmove(t,e,i){this._zoomIn.touchmove(t,e,i),this._zoomOut.touchmove(t,e,i);}touchend(t,e,i){const a=this._zoomIn.touchend(t,e,i),s=this._zoomOut.touchend(t,e,i),o=this._tr;return a?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:o.zoom+1,around:o.unproject(a)},{originalEvent:t})}):s?(this._active=!0,t.preventDefault(),setTimeout((()=>this.reset()),0),{cameraAnimation:e=>e.easeTo({duration:300,zoom:o.zoom-1,around:o.unproject(s)},{originalEvent:t})}):void 0}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class Ga{constructor(t){this._enabled=!!t.enable,this._moveStateManager=t.moveStateManager,this._clickTolerance=t.clickTolerance||1,this._moveFunction=t.move,this._activateOnStart=!!t.activateOnStart,t.assignEvents(this),this.reset();}reset(t){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(t);}_move(...t){const e=this._moveFunction(...t);if(e.bearingDelta||e.pitchDelta||e.around||e.panDelta)return this._active=!0,e}dragStart(t,e){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(t)&&(this._moveStateManager.startMove(t),this._lastPoint=e.length?e[0]:e,this._activateOnStart&&this._lastPoint&&(this._active=!0));}dragMove(t,e){if(!this.isEnabled())return;const i=this._lastPoint;if(!i)return;if(t.preventDefault(),!this._moveStateManager.isValidMoveEvent(t))return void this.reset(t);const a=e.length?e[0]:e;return !this._moved&&a.dist(i){t.mousedown=t.dragStart,t.mousemoveWindow=t.dragMove,t.mouseup=t.dragEnd,t.contextmenu=t=>{t.preventDefault();};},Ka=({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const a=new Wa({checkCorrectEvent:t=>0===r.mouseButton(t)&&t.ctrlKey||2===r.mouseButton(t)});return new Ga({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:a,enable:t,assignEvents:Xa})},Ja=({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const a=new Wa({checkCorrectEvent:t=>0===r.mouseButton(t)&&t.ctrlKey||2===r.mouseButton(t)});return new Ga({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:a,enable:t,assignEvents:Xa})};class Ya{constructor(t,e){this._clickTolerance=t.clickTolerance||1,this._map=e,this.reset();}reset(){this._active=!1,this._touches={},this._sum=new e.P(0,0);}_shouldBePrevented(t){return t<(this._map.cooperativeGestures.isEnabled()?2:1)}touchstart(t,e,i){return this._calculateTransform(t,e,i)}touchmove(t,e,i){if(this._active){if(!this._shouldBePrevented(i.length))return t.preventDefault(),this._calculateTransform(t,e,i);this._map.cooperativeGestures.notifyGestureBlocked(\"touch_pan\",t);}}touchend(t,e,i){this._calculateTransform(t,e,i),this._active&&this._shouldBePrevented(i.length)&&this.reset();}touchcancel(){this.reset();}_calculateTransform(t,i,a){a.length>0&&(this._active=!0);const s=ja(a,i),o=new e.P(0,0),r=new e.P(0,0);let n=0;for(const t in s){const e=s[t],i=this._touches[t];i&&(o._add(e),r._add(e.sub(i)),n++,s[t]=e);}if(this._touches=s,this._shouldBePrevented(n)||!r.mag())return;const l=r.div(n);return this._sum._add(l),this._sum.mag()Math.abs(t.x)}class rs extends Qa{constructor(t){super(),this._currentTouchCount=0,this._map=t;}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints;}touchstart(t,e,i){super.touchstart(t,e,i),this._currentTouchCount=i.length;}_start(t){this._lastPoints=t,os(t[0].sub(t[1]))&&(this._valid=!1);}_move(t,e,i){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount<3)return;const a=t[0].sub(this._lastPoints[0]),s=t[1].sub(this._lastPoints[1]);return this._valid=this.gestureBeginsVertically(a,s,i.timeStamp),this._valid?(this._lastPoints=t,this._active=!0,{pitchDelta:(a.y+s.y)/2*-.5}):void 0}gestureBeginsVertically(t,e,i){if(void 0!==this._valid)return this._valid;const a=t.mag()>=2,s=e.mag()>=2;if(!a&&!s)return;if(!a||!s)return void 0===this._firstMove&&(this._firstMove=i),i-this._firstMove<100&&void 0;const o=t.y>0==e.y>0;return os(t)&&os(e)&&o}}const ns={panStep:100,bearingStep:15,pitchStep:10};class ls{constructor(t){this._tr=new Na(t);const e=ns;this._panStep=e.panStep,this._bearingStep=e.bearingStep,this._pitchStep=e.pitchStep,this._rotationDisabled=!1;}reset(){this._active=!1;}keydown(t){if(t.altKey||t.ctrlKey||t.metaKey)return;let e=0,i=0,a=0,s=0,o=0;switch(t.keyCode){case 61:case 107:case 171:case 187:e=1;break;case 189:case 109:case 173:e=-1;break;case 37:t.shiftKey?i=-1:(t.preventDefault(),s=-1);break;case 39:t.shiftKey?i=1:(t.preventDefault(),s=1);break;case 38:t.shiftKey?a=1:(t.preventDefault(),o=-1);break;case 40:t.shiftKey?a=-1:(t.preventDefault(),o=1);break;default:return}return this._rotationDisabled&&(i=0,a=0),{cameraAnimation:r=>{const n=this._tr;r.easeTo({duration:300,easeId:\"keyboardHandler\",easing:hs,zoom:e?Math.round(n.zoom)+e*(t.shiftKey?2:1):n.zoom,bearing:n.bearing+i*this._bearingStep,pitch:n.pitch+a*this._pitchStep,offset:[-s*this._panStep,-o*this._panStep],center:n.center},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}disableRotation(){this._rotationDisabled=!0;}enableRotation(){this._rotationDisabled=!1;}}function hs(t){return t*(2-t)}const cs=4.000244140625;class us{constructor(t,e){this._onTimeout=t=>{this._type=\"wheel\",this._delta-=this._lastValue,this._active||this._start(t);},this._map=t,this._tr=new Na(t),this._triggerRenderFrame=e,this._delta=0,this._defaultZoomRate=.01,this._wheelZoomRate=.0022222222222222222;}setZoomRate(t){this._defaultZoomRate=t;}setWheelZoomRate(t){this._wheelZoomRate=t;}isEnabled(){return !!this._enabled}isActive(){return !!this._active||void 0!==this._finishTimeout}isZooming(){return !!this._zooming}enable(t){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!t&&\"center\"===t.around);}disable(){this.isEnabled()&&(this._enabled=!1);}_shouldBePrevented(t){return !!this._map.cooperativeGestures.isEnabled()&&!(t.ctrlKey||this._map.cooperativeGestures.isBypassed(t))}wheel(t){if(!this.isEnabled())return;if(this._shouldBePrevented(t))return void this._map.cooperativeGestures.notifyGestureBlocked(\"wheel_zoom\",t);let e=t.deltaMode===WheelEvent.DOM_DELTA_LINE?40*t.deltaY:t.deltaY;const i=o.now(),a=i-(this._lastWheelEventTime||0);this._lastWheelEventTime=i,0!==e&&e%cs==0?this._type=\"wheel\":0!==e&&Math.abs(e)<4?this._type=\"trackpad\":a>400?(this._type=null,this._lastValue=e,this._timeout=setTimeout(this._onTimeout,40,t)):this._type||(this._type=Math.abs(a*e)<200?\"trackpad\":\"wheel\",this._timeout&&(clearTimeout(this._timeout),this._timeout=null,e+=this._lastValue)),t.shiftKey&&e&&(e/=4),this._type&&(this._lastWheelEvent=t,this._delta-=e,this._active||this._start(t)),t.preventDefault();}_start(t){if(!this._delta)return;this._frameId&&(this._frameId=null),this._active=!0,this.isZooming()||(this._zooming=!0),this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);const i=r.mousePos(this._map.getCanvas(),t),a=this._tr;this._around=i.y>a.transform.height/2-a.transform.getHorizon()?e.N.convert(this._aroundCenter?a.center:a.unproject(i)):e.N.convert(a.center),this._aroundPoint=a.transform.locationPoint(this._around),this._frameId||(this._frameId=!0,this._triggerRenderFrame());}renderFrame(){if(!this._frameId)return;if(this._frameId=null,!this.isActive())return;const t=this._tr.transform;if(0!==this._delta){const e=\"wheel\"===this._type&&Math.abs(this._delta)>cs?this._wheelZoomRate:this._defaultZoomRate;let i=2/(1+Math.exp(-Math.abs(this._delta*e)));this._delta<0&&0!==i&&(i=1/i);const a=\"number\"==typeof this._targetZoom?t.zoomScale(this._targetZoom):t.scale;this._targetZoom=Math.min(t.maxZoom,Math.max(t.minZoom,t.scaleZoom(a*i))),\"wheel\"===this._type&&(this._startZoom=t.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0;}const i=\"number\"==typeof this._targetZoom?this._targetZoom:t.zoom,a=this._startZoom,s=this._easing;let r,n=!1;const l=o.now()-this._lastWheelEventTime;if(\"wheel\"===this._type&&a&&s&&l){const t=Math.min(l/200,1),o=s(t);r=e.y.number(a,i,o),t<1?this._frameId||(this._frameId=!0):n=!0;}else r=i,n=!0;return this._active=!0,n&&(this._active=!1,this._finishTimeout=setTimeout((()=>{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._finishTimeout;}),200)),{noInertia:!0,needsRenderFrame:!n,zoomDelta:r-t.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(t){let i=e.b9;if(this._prevEase){const t=this._prevEase,a=(o.now()-t.start)/t.duration,s=t.easing(a+.01)-t.easing(a),r=.27/Math.sqrt(s*s+1e-4)*.01,n=Math.sqrt(.0729-r*r);i=e.b8(r,n,.25,1);}return this._prevEase={start:o.now(),duration:t,easing:i},i}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout);}}class ds{constructor(t,e){this._clickZoom=t,this._tapZoom=e;}enable(){this._clickZoom.enable(),this._tapZoom.enable();}disable(){this._clickZoom.disable(),this._tapZoom.disable();}isEnabled(){return this._clickZoom.isEnabled()&&this._tapZoom.isEnabled()}isActive(){return this._clickZoom.isActive()||this._tapZoom.isActive()}}class _s{constructor(t){this._tr=new Na(t),this.reset();}reset(){this._active=!1;}dblclick(t,e){return t.preventDefault(),{cameraAnimation:i=>{i.easeTo({duration:300,zoom:this._tr.zoom+(t.shiftKey?-1:1),around:this._tr.unproject(e)},{originalEvent:t});}}}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class ps{constructor(){this._tap=new qa({numTouches:1,numTaps:1}),this.reset();}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset();}touchstart(t,e,i){if(!this._swipePoint)if(this._tapTime){const a=e[0],s=t.timeStamp-this._tapTime<500,o=this._tapPoint.dist(a)<30;s&&o?i.length>0&&(this._swipePoint=a,this._swipeTouch=i[0].identifier):this.reset();}else this._tap.touchstart(t,e,i);}touchmove(t,e,i){if(this._tapTime){if(this._swipePoint){if(i[0].identifier!==this._swipeTouch)return;const a=e[0],s=a.y-this._swipePoint.y;return this._swipePoint=a,t.preventDefault(),this._active=!0,{zoomDelta:s/128}}}else this._tap.touchmove(t,e,i);}touchend(t,e,i){if(this._tapTime)this._swipePoint&&0===i.length&&this.reset();else {const a=this._tap.touchend(t,e,i);a&&(this._tapTime=t.timeStamp,this._tapPoint=a);}}touchcancel(){this.reset();}enable(){this._enabled=!0;}disable(){this._enabled=!1,this.reset();}isEnabled(){return this._enabled}isActive(){return this._active}}class ms{constructor(t,e,i){this._el=t,this._mousePan=e,this._touchPan=i;}enable(t){this._inertiaOptions=t||{},this._mousePan.enable(),this._touchPan.enable(),this._el.classList.add(\"maplibregl-touch-drag-pan\");}disable(){this._mousePan.disable(),this._touchPan.disable(),this._el.classList.remove(\"maplibregl-touch-drag-pan\");}isEnabled(){return this._mousePan.isEnabled()&&this._touchPan.isEnabled()}isActive(){return this._mousePan.isActive()||this._touchPan.isActive()}}class fs{constructor(t,e,i){this._pitchWithRotate=t.pitchWithRotate,this._mouseRotate=e,this._mousePitch=i;}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable();}disable(){this._mouseRotate.disable(),this._mousePitch.disable();}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()}}class gs{constructor(t,e,i,a){this._el=t,this._touchZoom=e,this._touchRotate=i,this._tapDragZoom=a,this._rotationDisabled=!1,this._enabled=!0;}enable(t){this._touchZoom.enable(t),this._rotationDisabled||this._touchRotate.enable(t),this._tapDragZoom.enable(),this._el.classList.add(\"maplibregl-touch-zoom-rotate\");}disable(){this._touchZoom.disable(),this._touchRotate.disable(),this._tapDragZoom.disable(),this._el.classList.remove(\"maplibregl-touch-zoom-rotate\");}isEnabled(){return this._touchZoom.isEnabled()&&(this._rotationDisabled||this._touchRotate.isEnabled())&&this._tapDragZoom.isEnabled()}isActive(){return this._touchZoom.isActive()||this._touchRotate.isActive()||this._tapDragZoom.isActive()}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable();}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable();}}class vs{constructor(t,e){this._bypassKey=-1!==navigator.userAgent.indexOf(\"Mac\")?\"metaKey\":\"ctrlKey\",this._map=t,this._options=e,this._enabled=!1;}isActive(){return !1}reset(){}_setupUI(){if(this._container)return;const t=this._map.getCanvasContainer();t.classList.add(\"maplibregl-cooperative-gestures\"),this._container=r.create(\"div\",\"maplibregl-cooperative-gesture-screen\",t);let e=this._map._getUIString(\"CooperativeGesturesHandler.WindowsHelpText\");\"metaKey\"===this._bypassKey&&(e=this._map._getUIString(\"CooperativeGesturesHandler.MacHelpText\"));const i=this._map._getUIString(\"CooperativeGesturesHandler.MobileHelpText\"),a=document.createElement(\"div\");a.className=\"maplibregl-desktop-message\",a.textContent=e,this._container.appendChild(a);const s=document.createElement(\"div\");s.className=\"maplibregl-mobile-message\",s.textContent=i,this._container.appendChild(s),this._container.setAttribute(\"aria-hidden\",\"true\");}_destroyUI(){this._container&&(r.remove(this._container),this._map.getCanvasContainer().classList.remove(\"maplibregl-cooperative-gestures\")),delete this._container;}enable(){this._setupUI(),this._enabled=!0;}disable(){this._enabled=!1,this._destroyUI();}isEnabled(){return this._enabled}isBypassed(t){return t[this._bypassKey]}notifyGestureBlocked(t,i){this._enabled&&(this._map.fire(new e.k(\"cooperativegestureprevented\",{gestureType:t,originalEvent:i})),this._container.classList.add(\"maplibregl-show\"),setTimeout((()=>{this._container.classList.remove(\"maplibregl-show\");}),100));}}const xs=t=>t.zoom||t.drag||t.pitch||t.rotate;class ys extends e.k{}function bs(t){return t.panDelta&&t.panDelta.mag()||t.zoomDelta||t.bearingDelta||t.pitchDelta}class ws{constructor(t,e){this.handleWindowEvent=t=>{this.handleEvent(t,`${t.type}Window`);},this.handleEvent=(t,e)=>{if(\"blur\"===t.type)return void this.stop(!0);this._updatingCamera=!0;const i=\"renderFrame\"===t.type?void 0:t,a={needsRenderFrame:!1},s={},o={},n=t.touches,l=n?this._getMapTouches(n):void 0,h=l?r.touchPos(this._map.getCanvas(),l):r.mousePos(this._map.getCanvas(),t);for(const{handlerName:r,handler:n,allowed:c}of this._handlers){if(!n.isEnabled())continue;let u;this._blockedByActive(o,c,r)?n.reset():n[e||t.type]&&(u=n[e||t.type](t,h,l),this.mergeHandlerResult(a,s,u,r,i),u&&u.needsRenderFrame&&this._triggerRenderFrame()),(u||n.isActive())&&(o[r]=n);}const c={};for(const t in this._previousActiveHandlers)o[t]||(c[t]=i);this._previousActiveHandlers=o,(Object.keys(c).length||bs(a))&&(this._changes.push([a,s,c]),this._triggerRenderFrame()),(Object.keys(o).length||bs(a))&&this._map._stop(!0),this._updatingCamera=!1;const{cameraAnimation:u}=a;u&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],u(this._map));},this._map=t,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new Ma(t),this._bearingSnap=e.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(e);const i=this._el;this._listeners=[[i,\"touchstart\",{passive:!0}],[i,\"touchmove\",{passive:!1}],[i,\"touchend\",void 0],[i,\"touchcancel\",void 0],[i,\"mousedown\",void 0],[i,\"mousemove\",void 0],[i,\"mouseup\",void 0],[document,\"mousemove\",{capture:!0}],[document,\"mouseup\",void 0],[i,\"mouseover\",void 0],[i,\"mouseout\",void 0],[i,\"dblclick\",void 0],[i,\"click\",void 0],[i,\"keydown\",{capture:!1}],[i,\"keyup\",void 0],[i,\"wheel\",{passive:!1}],[i,\"contextmenu\",void 0],[window,\"blur\",void 0]];for(const[t,e,i]of this._listeners)r.addEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}destroy(){for(const[t,e,i]of this._listeners)r.removeEventListener(t,e,t===document?this.handleWindowEvent:this.handleEvent,i);}_addDefaultHandlers(t){const e=this._map,i=e.getCanvasContainer();this._add(\"mapEvent\",new Ba(e,t));const a=e.boxZoom=new Ua(e,t);this._add(\"boxZoom\",a),t.interactive&&t.boxZoom&&a.enable();const s=e.cooperativeGestures=new vs(e,t.cooperativeGestures);this._add(\"cooperativeGestures\",s),t.cooperativeGestures&&s.enable();const o=new Va(e),n=new _s(e);e.doubleClickZoom=new ds(n,o),this._add(\"tapZoom\",o),this._add(\"clickZoom\",n),t.interactive&&t.doubleClickZoom&&e.doubleClickZoom.enable();const l=new ps;this._add(\"tapDragZoom\",l);const h=e.touchPitch=new rs(e);this._add(\"touchPitch\",h),t.interactive&&t.touchPitch&&e.touchPitch.enable(t.touchPitch);const c=Ka(t),u=Ja(t);e.dragRotate=new fs(t,c,u),this._add(\"mouseRotate\",c,[\"mousePitch\"]),this._add(\"mousePitch\",u,[\"mouseRotate\"]),t.interactive&&t.dragRotate&&e.dragRotate.enable();const d=(({enable:t,clickTolerance:e})=>{const i=new Wa({checkCorrectEvent:t=>0===r.mouseButton(t)&&!t.ctrlKey});return new Ga({clickTolerance:e,move:(t,e)=>({around:e,panDelta:e.sub(t)}),activateOnStart:!0,moveStateManager:i,enable:t,assignEvents:Xa})})(t),_=new Ya(t,e);e.dragPan=new ms(i,d,_),this._add(\"mousePan\",d),this._add(\"touchPan\",_,[\"touchZoom\",\"touchRotate\"]),t.interactive&&t.dragPan&&e.dragPan.enable(t.dragPan);const p=new ss,m=new is;e.touchZoomRotate=new gs(i,m,p,l),this._add(\"touchRotate\",p,[\"touchPan\",\"touchZoom\"]),this._add(\"touchZoom\",m,[\"touchPan\",\"touchRotate\"]),t.interactive&&t.touchZoomRotate&&e.touchZoomRotate.enable(t.touchZoomRotate);const f=e.scrollZoom=new us(e,(()=>this._triggerRenderFrame()));this._add(\"scrollZoom\",f,[\"mousePan\"]),t.interactive&&t.scrollZoom&&e.scrollZoom.enable(t.scrollZoom);const g=e.keyboard=new ls(e);this._add(\"keyboard\",g),t.interactive&&t.keyboard&&e.keyboard.enable(),this._add(\"blockableMapEvent\",new Oa(e));}_add(t,e,i){this._handlers.push({handlerName:t,handler:e,allowed:i}),this._handlersById[t]=e;}stop(t){if(!this._updatingCamera){for(const{handler:t}of this._handlers)t.reset();this._inertia.clear(),this._fireEvents({},{},t),this._changes=[];}}isActive(){for(const{handler:t}of this._handlers)if(t.isActive())return !0;return !1}isZooming(){return !!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return !!this._eventsInProgress.rotate}isMoving(){return Boolean(xs(this._eventsInProgress))||this.isZooming()}_blockedByActive(t,e,i){for(const a in t)if(a!==i&&(!e||e.indexOf(a)<0))return !0;return !1}_getMapTouches(t){const e=[];for(const i of t)this._el.contains(i.target)&&e.push(i);return e}mergeHandlerResult(t,i,a,s,o){if(!a)return;e.e(t,a);const r={handlerName:s,originalEvent:a.originalEvent||o};void 0!==a.zoomDelta&&(i.zoom=r),void 0!==a.panDelta&&(i.drag=r),void 0!==a.pitchDelta&&(i.pitch=r),void 0!==a.bearingDelta&&(i.rotate=r);}_applyChanges(){const t={},i={},a={};for(const[s,o,r]of this._changes)s.panDelta&&(t.panDelta=(t.panDelta||new e.P(0,0))._add(s.panDelta)),s.zoomDelta&&(t.zoomDelta=(t.zoomDelta||0)+s.zoomDelta),s.bearingDelta&&(t.bearingDelta=(t.bearingDelta||0)+s.bearingDelta),s.pitchDelta&&(t.pitchDelta=(t.pitchDelta||0)+s.pitchDelta),void 0!==s.around&&(t.around=s.around),void 0!==s.pinchAround&&(t.pinchAround=s.pinchAround),s.noInertia&&(t.noInertia=s.noInertia),e.e(i,o),e.e(a,r);this._updateMapTransform(t,i,a),this._changes=[];}_updateMapTransform(t,e,i){const a=this._map,s=a._getTransformForUpdate(),o=a.terrain;if(!(bs(t)||o&&this._terrainMovement))return this._fireEvents(e,i,!0);let{panDelta:r,zoomDelta:n,bearingDelta:l,pitchDelta:h,around:c,pinchAround:u}=t;void 0!==u&&(c=u),a._stop(!0),c=c||a.transform.centerPoint;const d=s.pointLocation(r?c.sub(r):c);l&&(s.bearing+=l),h&&(s.pitch+=h),n&&(s.zoom+=n),o?this._terrainMovement||!e.drag&&!e.zoom?e.drag&&this._terrainMovement?s.center=s.pointLocation(s.centerPoint.sub(r)):s.setLocationAtPoint(d,c):(this._terrainMovement=!0,this._map._elevationFreeze=!0,s.setLocationAtPoint(d,c)):s.setLocationAtPoint(d,c),a._applyUpdatedTransform(s),this._map._update(),t.noInertia||this._inertia.record(t),this._fireEvents(e,i,!0);}_fireEvents(t,i,a){const s=xs(this._eventsInProgress),r=xs(t),n={};for(const e in t){const{originalEvent:i}=t[e];this._eventsInProgress[e]||(n[`${e}start`]=i),this._eventsInProgress[e]=t[e];}!s&&r&&this._fireEvent(\"movestart\",r.originalEvent);for(const t in n)this._fireEvent(t,n[t]);r&&this._fireEvent(\"move\",r.originalEvent);for(const e in t){const{originalEvent:i}=t[e];this._fireEvent(e,i);}const l={};let h;for(const t in this._eventsInProgress){const{handlerName:e,originalEvent:a}=this._eventsInProgress[t];this._handlersById[e].isActive()||(delete this._eventsInProgress[t],h=i[e]||a,l[`${t}end`]=h);}for(const t in l)this._fireEvent(t,l[t]);const c=xs(this._eventsInProgress),u=(s||r)&&!c;if(u&&this._terrainMovement){this._map._elevationFreeze=!1,this._terrainMovement=!1;const t=this._map._getTransformForUpdate();t.recalculateZoom(this._map.terrain),this._map._applyUpdatedTransform(t);}if(a&&u){this._updatingCamera=!0;const t=this._inertia._onMoveEnd(this._map.dragPan._inertiaOptions),i=t=>0!==t&&-this._bearingSnap{delete this._frameId,this.handleEvent(new ys(\"renderFrame\",{timeStamp:t})),this._applyChanges();}))}_triggerRenderFrame(){void 0===this._frameId&&(this._frameId=this._requestFrame());}}class Ts extends e.E{constructor(t,e){super(),this._renderFrameCallback=()=>{const t=Math.min((o.now()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(t)),t<1&&this._easeFrameId?this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback):this.stop();},this._moving=!1,this._zooming=!1,this.transform=t,this._bearingSnap=e.bearingSnap,this.on(\"moveend\",(()=>{delete this._requestedCameraState;}));}getCenter(){return new e.N(this.transform.center.lng,this.transform.center.lat)}setCenter(t,e){return this.jumpTo({center:t},e)}panBy(t,i,a){return t=e.P.convert(t).mult(-1),this.panTo(this.transform.center,e.e({offset:t},i),a)}panTo(t,i,a){return this.easeTo(e.e({center:t},i),a)}getZoom(){return this.transform.zoom}setZoom(t,e){return this.jumpTo({zoom:t},e),this}zoomTo(t,i,a){return this.easeTo(e.e({zoom:t},i),a)}zoomIn(t,e){return this.zoomTo(this.getZoom()+1,t,e),this}zoomOut(t,e){return this.zoomTo(this.getZoom()-1,t,e),this}getBearing(){return this.transform.bearing}setBearing(t,e){return this.jumpTo({bearing:t},e),this}getPadding(){return this.transform.padding}setPadding(t,e){return this.jumpTo({padding:t},e),this}rotateTo(t,i,a){return this.easeTo(e.e({bearing:t},i),a)}resetNorth(t,i){return this.rotateTo(0,e.e({duration:1e3},t),i),this}resetNorthPitch(t,i){return this.easeTo(e.e({bearing:0,pitch:0,duration:1e3},t),i),this}snapToNorth(t,e){return Math.abs(this.getBearing()){if(this._zooming&&(s.zoom=e.y.number(r,g,a)),this._rotating&&(s.bearing=e.y.number(n,c,a)),this._pitching&&(s.pitch=e.y.number(l,u,a)),this._padding&&(s.interpolatePadding(h,d,a),p=s.centerPoint.add(_)),this.terrain&&!t.freezeElevation&&this._updateElevation(a),b)s.setLocationAtPoint(b,w);else {const t=s.zoomScale(s.zoom-r),e=g>r?Math.min(2,y):Math.max(.5,y),i=Math.pow(e,1-a),o=s.unproject(v.add(x.mult(a*i)).mult(t));s.setLocationAtPoint(s.renderWorldCopies?o.wrap():o,p);}this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(e=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i,e);}),t),this}_prepareEase(t,i,a={}){this._moving=!0,i||a.moving||this.fire(new e.k(\"movestart\",t)),this._zooming&&!a.zooming&&this.fire(new e.k(\"zoomstart\",t)),this._rotating&&!a.rotating&&this.fire(new e.k(\"rotatestart\",t)),this._pitching&&!a.pitching&&this.fire(new e.k(\"pitchstart\",t));}_prepareElevation(t){this._elevationCenter=t,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(t,this.transform.tileZoom),this._elevationFreeze=!0;}_updateElevation(t){this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);const i=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(t<1&&i!==this._elevationTarget){const e=this._elevationTarget-this._elevationStart;this._elevationStart+=t*(e-(i-(e*t+this._elevationStart))/(1-t)),this._elevationTarget=i;}this.transform.elevation=e.y.number(this._elevationStart,this._elevationTarget,t);}_finalizeElevation(){this._elevationFreeze=!1,this.transform.recalculateZoom(this.terrain);}_getTransformForUpdate(){return this.transformCameraUpdate||this.terrain?(this._requestedCameraState||(this._requestedCameraState=this.transform.clone()),this._requestedCameraState):this.transform}_elevateCameraIfInsideTerrain(t){const e=t.getCameraPosition(),i=this.terrain.getElevationForLngLatZoom(e.lngLat,t.zoom);if(e.altitudethis._elevateCameraIfInsideTerrain(t))),this.transformCameraUpdate&&e.push((t=>this.transformCameraUpdate(t))),!e.length)return;const i=t.clone();for(const t of e){const e=i.clone(),{center:a,zoom:s,pitch:o,bearing:r,elevation:n}=t(e);a&&(e.center=a),void 0!==s&&(e.zoom=s),void 0!==o&&(e.pitch=o),void 0!==r&&(e.bearing=r),void 0!==n&&(e.elevation=n),i.apply(e);}this.transform.apply(i);}_fireMoveEvents(t){this.fire(new e.k(\"move\",t)),this._zooming&&this.fire(new e.k(\"zoom\",t)),this._rotating&&this.fire(new e.k(\"rotate\",t)),this._pitching&&this.fire(new e.k(\"pitch\",t));}_afterEase(t,i){if(this._easeId&&i&&this._easeId===i)return;delete this._easeId;const a=this._zooming,s=this._rotating,o=this._pitching;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._padding=!1,a&&this.fire(new e.k(\"zoomend\",t)),s&&this.fire(new e.k(\"rotateend\",t)),o&&this.fire(new e.k(\"pitchend\",t)),this.fire(new e.k(\"moveend\",t));}flyTo(t,i){var a;if(!t.essential&&o.prefersReducedMotion){const a=e.M(t,[\"center\",\"zoom\",\"bearing\",\"pitch\",\"around\"]);return this.jumpTo(a,i)}this.stop(),t=e.e({offset:[0,0],speed:1.2,curve:1.42,easing:e.b9},t);const s=this._getTransformForUpdate(),r=s.zoom,n=s.bearing,l=s.pitch,h=s.padding,c=\"bearing\"in t?this._normalizeBearing(t.bearing,n):n,u=\"pitch\"in t?+t.pitch:l,d=\"padding\"in t?t.padding:s.padding,_=e.P.convert(t.offset);let p=s.centerPoint.add(_);const m=s.pointLocation(p),{center:f,zoom:g}=s.getConstrained(e.N.convert(t.center||m),null!==(a=t.zoom)&&void 0!==a?a:r);this._normalizeCenter(f,s);const v=s.zoomScale(g-r),x=s.project(m),y=s.project(f).sub(x);let b=t.curve;const w=Math.max(s.width,s.height),T=w/v,I=y.mag();if(\"minZoom\"in t){const i=e.ac(Math.min(t.minZoom,r,g),s.minZoom,s.maxZoom),a=w/s.zoomScale(i-r);b=Math.sqrt(a/I*2);}const E=b*b;function P(t){const e=(T*T-w*w+(t?-1:1)*E*E*I*I)/(2*(t?T:w)*E*I);return Math.log(Math.sqrt(e*e+1)-e)}function C(t){return (Math.exp(t)-Math.exp(-t))/2}function S(t){return (Math.exp(t)+Math.exp(-t))/2}const z=P(!1);let D=function(t){return S(z)/S(z+b*t)},M=function(t){return w*((S(z)*(C(e=z+b*t)/S(e))-C(z))/E)/I;var e;},A=(P(!0)-z)/b;if(Math.abs(I)<1e-6||!isFinite(A)){if(Math.abs(w-T)<1e-6)return this.easeTo(t,i);const e=T0,D=t=>Math.exp(e*b*t);}return t.duration=\"duration\"in t?+t.duration:1e3*A/(\"screenSpeed\"in t?+t.screenSpeed/b:+t.speed),t.maxDuration&&t.duration>t.maxDuration&&(t.duration=0),this._zooming=!0,this._rotating=n!==c,this._pitching=u!==l,this._padding=!s.isPaddingEqual(d),this._prepareEase(i,!1),this.terrain&&this._prepareElevation(f),this._ease((a=>{const o=a*A,m=1/D(o);s.zoom=1===a?g:r+s.scaleZoom(m),this._rotating&&(s.bearing=e.y.number(n,c,a)),this._pitching&&(s.pitch=e.y.number(l,u,a)),this._padding&&(s.interpolatePadding(h,d,a),p=s.centerPoint.add(_)),this.terrain&&!t.freezeElevation&&this._updateElevation(a);const v=1===a?f:s.unproject(x.add(y.mult(M(o))).mult(m));s.setLocationAtPoint(s.renderWorldCopies?v.wrap():v,p),this._applyUpdatedTransform(s),this._fireMoveEvents(i);}),(()=>{this.terrain&&t.freezeElevation&&this._finalizeElevation(),this._afterEase(i);}),t),this}isEasing(){return !!this._easeFrameId}stop(){return this._stop()}_stop(t,e){var i;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){const t=this._onEaseEnd;delete this._onEaseEnd,t.call(this,e);}return t||null===(i=this.handlers)||void 0===i||i.stop(!1),this}_ease(t,e,i){!1===i.animate||0===i.duration?(t(1),e()):(this._easeStart=o.now(),this._easeOptions=i,this._onEaseFrame=t,this._onEaseEnd=e,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback));}_normalizeBearing(t,i){t=e.b3(t,-180,180);const a=Math.abs(t-i);return Math.abs(t-360-i)180?-360:i<-180?360:0;}queryTerrainElevation(t){return this.terrain?this.terrain.getElevationForLngLatZoom(e.N.convert(t),this.transform.tileZoom)-this.transform.elevation:null}}const Is={compact:!0,customAttribution:'MapLibre'};class Es{constructor(t=Is){this._toggleAttribution=()=>{this._container.classList.contains(\"maplibregl-compact\")&&(this._container.classList.contains(\"maplibregl-compact-show\")?(this._container.setAttribute(\"open\",\"\"),this._container.classList.remove(\"maplibregl-compact-show\")):(this._container.classList.add(\"maplibregl-compact-show\"),this._container.removeAttribute(\"open\")));},this._updateData=t=>{!t||\"metadata\"!==t.sourceDataType&&\"visibility\"!==t.sourceDataType&&\"style\"!==t.dataType&&\"terrain\"!==t.type||this._updateAttributions();},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1===this._compact?this._container.setAttribute(\"open\",\"\"):this._container.classList.contains(\"maplibregl-compact\")||this._container.classList.contains(\"maplibregl-attrib-empty\")||(this._container.setAttribute(\"open\",\"\"),this._container.classList.add(\"maplibregl-compact\",\"maplibregl-compact-show\")):(this._container.setAttribute(\"open\",\"\"),this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.remove(\"maplibregl-compact\",\"maplibregl-compact-show\"));},this._updateCompactMinimize=()=>{this._container.classList.contains(\"maplibregl-compact\")&&this._container.classList.contains(\"maplibregl-compact-show\")&&this._container.classList.remove(\"maplibregl-compact-show\");},this.options=t;}getDefaultPosition(){return \"bottom-right\"}onAdd(t){return this._map=t,this._compact=this.options.compact,this._container=r.create(\"details\",\"maplibregl-ctrl maplibregl-ctrl-attrib\"),this._compactButton=r.create(\"summary\",\"maplibregl-ctrl-attrib-button\",this._container),this._compactButton.addEventListener(\"click\",this._toggleAttribution),this._setElementTitle(this._compactButton,\"ToggleAttribution\"),this._innerContainer=r.create(\"div\",\"maplibregl-ctrl-attrib-inner\",this._container),this._updateAttributions(),this._updateCompact(),this._map.on(\"styledata\",this._updateData),this._map.on(\"sourcedata\",this._updateData),this._map.on(\"terrain\",this._updateData),this._map.on(\"resize\",this._updateCompact),this._map.on(\"drag\",this._updateCompactMinimize),this._container}onRemove(){r.remove(this._container),this._map.off(\"styledata\",this._updateData),this._map.off(\"sourcedata\",this._updateData),this._map.off(\"terrain\",this._updateData),this._map.off(\"resize\",this._updateCompact),this._map.off(\"drag\",this._updateCompactMinimize),this._map=void 0,this._compact=void 0,this._attribHTML=void 0;}_setElementTitle(t,e){const i=this._map._getUIString(`AttributionControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);}_updateAttributions(){if(!this._map.style)return;let t=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?t=t.concat(this.options.customAttribution.map((t=>\"string\"!=typeof t?\"\":t))):\"string\"==typeof this.options.customAttribution&&t.push(this.options.customAttribution)),this._map.style.stylesheet){const t=this._map.style.stylesheet;this.styleOwner=t.owner,this.styleId=t.id;}const e=this._map.style.sourceCaches;for(const i in e){const a=e[i];if(a.used||a.usedForTerrain){const e=a.getSource();e.attribution&&t.indexOf(e.attribution)<0&&t.push(e.attribution);}}t=t.filter((t=>String(t).trim())),t.sort(((t,e)=>t.length-e.length)),t=t.filter(((e,i)=>{for(let a=i+1;a=0)return !1;return !0}));const i=t.join(\" | \");i!==this._attribHTML&&(this._attribHTML=i,t.length?(this._innerContainer.innerHTML=i,this._container.classList.remove(\"maplibregl-attrib-empty\")):this._container.classList.add(\"maplibregl-attrib-empty\"),this._updateCompact(),this._editLink=null);}}class Ps{constructor(t={}){this._updateCompact=()=>{const t=this._container.children;if(t.length){const e=t[0];this._map.getCanvasContainer().offsetWidth<=640||this._compact?!1!==this._compact&&e.classList.add(\"maplibregl-compact\"):e.classList.remove(\"maplibregl-compact\");}},this.options=t;}getDefaultPosition(){return \"bottom-left\"}onAdd(t){this._map=t,this._compact=this.options&&this.options.compact,this._container=r.create(\"div\",\"maplibregl-ctrl\");const e=r.create(\"a\",\"maplibregl-ctrl-logo\");return e.target=\"_blank\",e.rel=\"noopener nofollow\",e.href=\"https://maplibre.org/\",e.setAttribute(\"aria-label\",this._map._getUIString(\"LogoControl.Title\")),e.setAttribute(\"rel\",\"noopener nofollow\"),this._container.appendChild(e),this._container.style.display=\"block\",this._map.on(\"resize\",this._updateCompact),this._updateCompact(),this._container}onRemove(){r.remove(this._container),this._map.off(\"resize\",this._updateCompact),this._map=void 0,this._compact=void 0;}}class Cs{constructor(){this._queue=[],this._id=0,this._cleared=!1,this._currentlyRunning=!1;}add(t){const e=++this._id;return this._queue.push({callback:t,id:e,cancelled:!1}),e}remove(t){const e=this._currentlyRunning,i=e?this._queue.concat(e):this._queue;for(const e of i)if(e.id===t)return void(e.cancelled=!0)}run(t=0){if(this._currentlyRunning)throw new Error(\"Attempting to run(), but is already running.\");const e=this._currentlyRunning=this._queue;this._queue=[];for(const i of e)if(!i.cancelled&&(i.callback(t),this._cleared))break;this._cleared=!1,this._currentlyRunning=!1;}clear(){this._currentlyRunning&&(this._cleared=!0),this._queue=[];}}var Ss=e.Y([{name:\"a_pos3d\",type:\"Int16\",components:3}]);class zs extends e.E{constructor(t){super(),this.sourceCache=t,this._tiles={},this._renderableTilesKeys=[],this._sourceTileCache={},this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.deltaZoom=1,t.usedForTerrain=!0,t.tileSize=this.tileSize*2**this.deltaZoom;}destruct(){this.sourceCache.usedForTerrain=!1,this.sourceCache.tileSize=null;}update(t,i){this.sourceCache.update(t,i),this._renderableTilesKeys=[];const a={};for(const s of t.coveringTiles({tileSize:this.tileSize,minzoom:this.minzoom,maxzoom:this.maxzoom,reparseOverscaled:!1,terrain:i}))a[s.key]=!0,this._renderableTilesKeys.push(s.key),this._tiles[s.key]||(s.posMatrix=new Float64Array(16),e.aP(s.posMatrix,0,e.X,0,e.X,0,1),this._tiles[s.key]=new lt(s,this.tileSize));for(const t in this._tiles)a[t]||delete this._tiles[t];}freeRtt(t){for(const e in this._tiles){const i=this._tiles[e];(!t||i.tileID.equals(t)||i.tileID.isChildOf(t)||t.isChildOf(i.tileID))&&(i.rtt=[]);}}getRenderableTiles(){return this._renderableTilesKeys.map((t=>this.getTileByID(t)))}getTileByID(t){return this._tiles[t]}getTerrainCoords(t){const i={};for(const a of this._renderableTilesKeys){const s=this._tiles[a].tileID;if(s.canonical.equals(t.canonical)){const s=t.clone();s.posMatrix=new Float64Array(16),e.aP(s.posMatrix,0,e.X,0,e.X,0,1),i[a]=s;}else if(s.canonical.isChildOf(t.canonical)){const o=t.clone();o.posMatrix=new Float64Array(16);const r=s.canonical.z-t.canonical.z,n=s.canonical.x-(s.canonical.x>>r<>r<>r;e.aP(o.posMatrix,0,h,0,h,0,1),e.J(o.posMatrix,o.posMatrix,[-n*h,-l*h,0]),i[a]=o;}else if(t.canonical.isChildOf(s.canonical)){const o=t.clone();o.posMatrix=new Float64Array(16);const r=t.canonical.z-s.canonical.z,n=t.canonical.x-(t.canonical.x>>r<>r<>r;e.aP(o.posMatrix,0,e.X,0,e.X,0,1),e.J(o.posMatrix,o.posMatrix,[n*h,l*h,0]),e.K(o.posMatrix,o.posMatrix,[1/2**r,1/2**r,0]),i[a]=o;}}return i}getSourceTile(t,e){const i=this.sourceCache._source;let a=t.overscaledZ-this.deltaZoom;if(a>i.maxzoom&&(a=i.maxzoom),a=i.minzoom&&(!s||!s.dem);)s=this.sourceCache.getTileByID(t.scaledTo(a--).key);return s}tilesAfterTime(t=Date.now()){return Object.values(this._tiles).filter((e=>e.timeAdded>=t))}}class Ds{constructor(t,e,i){this.painter=t,this.sourceCache=new zs(e),this.options=i,this.exaggeration=\"number\"==typeof i.exaggeration?i.exaggeration:1,this.qualityFactor=2,this.meshSize=128,this._demMatrixCache={},this.coordsIndex=[],this._coordsTextureSize=1024;}getDEMElevation(t,i,a,s=e.X){var o;if(!(i>=0&&i=0&&at.canonical.z&&(t.canonical.z>=a?s=t.canonical.z-a:e.w(\"cannot calculate elevation if elevation maxzoom > source.maxzoom\"));const o=t.canonical.x-(t.canonical.x>>s<>s<>8<<4|t>>8,i[e+3]=0;const a=new e.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(i.buffer)),s=new b(t,a,t.gl.RGBA,{premultiply:!1});return s.bind(t.gl.NEAREST,t.gl.CLAMP_TO_EDGE),this._coordsTexture=s,s}pointCoordinate(t){this.painter.maybeDrawDepthAndCoords(!0);const i=new Uint8Array(4),a=this.painter.context,s=a.gl,o=Math.round(t.x*this.painter.pixelRatio/devicePixelRatio),r=Math.round(t.y*this.painter.pixelRatio/devicePixelRatio),n=Math.round(this.painter.height/devicePixelRatio);a.bindFramebuffer.set(this.getFramebuffer(\"coords\").framebuffer),s.readPixels(o,n-r-1,1,1,s.RGBA,s.UNSIGNED_BYTE,i),a.bindFramebuffer.set(null);const l=i[0]+(i[2]>>4<<8),h=i[1]+((15&i[2])<<8),c=this.coordsIndex[255-i[3]],u=c&&this.sourceCache.getTileByID(c);if(!u)return null;const d=this._coordsTextureSize,_=(1<t.id!==e)),this._recentlyUsed.push(t.id);}stampObject(t){t.stamp=++this._stamp;}getOrCreateFreeObject(){for(const t of this._recentlyUsed)if(!this._objects[t].inUse)return this._objects[t];if(this._objects.length>=this._size)throw new Error(\"No free RenderPool available, call freeAllObjects() required!\");const t=this._createObject(this._objects.length);return this._objects.push(t),t}freeObject(t){t.inUse=!1;}freeAllObjects(){for(const t of this._objects)this.freeObject(t);}isFull(){return !(this._objects.length!t.inUse))}}const As={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0};class Rs{constructor(t,e){this.painter=t,this.terrain=e,this.pool=new Ms(t.context,30,e.sourceCache.tileSize*e.qualityFactor);}destruct(){this.pool.destruct();}getTexture(t){return this.pool.getObjectForId(t.rtt[this._stacks.length-1].id).texture}prepareForRender(t,e){this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.sourceCache.getRenderableTiles(),this._renderableLayerIds=t._order.filter((i=>!t._layers[i].isHidden(e))),this._coordsDescendingInv={};for(const e in t.sourceCaches){this._coordsDescendingInv[e]={};const i=t.sourceCaches[e].getVisibleCoordinates();for(const t of i){const i=this.terrain.sourceCache.getTerrainCoords(t);for(const t in i)this._coordsDescendingInv[e][t]||(this._coordsDescendingInv[e][t]=[]),this._coordsDescendingInv[e][t].push(i[t]);}}this._coordsDescendingInvStr={};for(const e of t._order){const i=t._layers[e],a=i.source;if(As[i.type]&&!this._coordsDescendingInvStr[a]){this._coordsDescendingInvStr[a]={};for(const t in this._coordsDescendingInv[a])this._coordsDescendingInvStr[a][t]=this._coordsDescendingInv[a][t].map((t=>t.key)).sort().join();}}for(const t of this._renderableTiles)for(const e in this._coordsDescendingInvStr){const i=this._coordsDescendingInvStr[e][t.tileID.key];i&&i!==t.rttCoords[e]&&(t.rtt=[]);}}renderLayer(t){if(t.isHidden(this.painter.transform.zoom))return !1;const i=t.type,a=this.painter,s=this._renderableLayerIds[this._renderableLayerIds.length-1]===t.id;if(As[i]&&(this._prevType&&As[this._prevType]||this._stacks.push([]),this._prevType=i,this._stacks[this._stacks.length-1].push(t.id),!s))return !0;if(As[this._prevType]||As[i]&&s){this._prevType=i;const t=this._stacks.length-1,s=this._stacks[t]||[];for(const i of this._renderableTiles){if(this.pool.isFull()&&(fa(this.painter,this.terrain,this._rttTiles),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(i),i.rtt[t]){const e=this.pool.getObjectForId(i.rtt[t].id);if(e.stamp===i.rtt[t].stamp){this.pool.useObject(e);continue}}const o=this.pool.getOrCreateFreeObject();this.pool.useObject(o),this.pool.stampObject(o),i.rtt[t]={id:o.id,stamp:o.stamp},a.context.bindFramebuffer.set(o.fbo.framebuffer),a.context.clear({color:e.aM.transparent,stencil:0}),a.currentStencilSource=void 0;for(let t=0;t{t.touchstart=t.dragStart,t.touchmoveWindow=t.dragMove,t.touchend=t.dragEnd;},Os={showCompass:!0,showZoom:!0,visualizePitch:!1};class Ns{constructor(t,i,a=!1){this.mousedown=t=>{this.startMouse(e.e({},t,{ctrlKey:!0,preventDefault:()=>t.preventDefault()}),r.mousePos(this.element,t)),r.addEventListener(window,\"mousemove\",this.mousemove),r.addEventListener(window,\"mouseup\",this.mouseup);},this.mousemove=t=>{this.moveMouse(t,r.mousePos(this.element,t));},this.mouseup=t=>{this.mouseRotate.dragEnd(t),this.mousePitch&&this.mousePitch.dragEnd(t),this.offTemp();},this.touchstart=t=>{1!==t.targetTouches.length?this.reset():(this._startPos=this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.startTouch(t,this._startPos),r.addEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.addEventListener(window,\"touchend\",this.touchend));},this.touchmove=t=>{1!==t.targetTouches.length?this.reset():(this._lastPos=r.touchPos(this.element,t.targetTouches)[0],this.moveTouch(t,this._lastPos));},this.touchend=t=>{0===t.targetTouches.length&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this.mouseRotate.reset(),this.mousePitch&&this.mousePitch.reset(),this.touchRotate.reset(),this.touchPitch&&this.touchPitch.reset(),delete this._startPos,delete this._lastPos,this.offTemp();},this._clickTolerance=10;const s=t.dragRotate._mouseRotate.getClickTolerance(),o=t.dragRotate._mousePitch.getClickTolerance();this.element=i,this.mouseRotate=Ka({clickTolerance:s,enable:!0}),this.touchRotate=(({enable:t,clickTolerance:e,bearingDegreesPerPixelMoved:i=.8})=>{const a=new $a;return new Ga({clickTolerance:e,move:(t,e)=>({bearingDelta:(e.x-t.x)*i}),moveStateManager:a,enable:t,assignEvents:Bs})})({clickTolerance:s,enable:!0}),this.map=t,a&&(this.mousePitch=Ja({clickTolerance:o,enable:!0}),this.touchPitch=(({enable:t,clickTolerance:e,pitchDegreesPerPixelMoved:i=-.5})=>{const a=new $a;return new Ga({clickTolerance:e,move:(t,e)=>({pitchDelta:(e.y-t.y)*i}),moveStateManager:a,enable:t,assignEvents:Bs})})({clickTolerance:o,enable:!0})),r.addEventListener(i,\"mousedown\",this.mousedown),r.addEventListener(i,\"touchstart\",this.touchstart,{passive:!1}),r.addEventListener(i,\"touchcancel\",this.reset);}startMouse(t,e){this.mouseRotate.dragStart(t,e),this.mousePitch&&this.mousePitch.dragStart(t,e),r.disableDrag();}startTouch(t,e){this.touchRotate.dragStart(t,e),this.touchPitch&&this.touchPitch.dragStart(t,e),r.disableDrag();}moveMouse(t,e){const i=this.map,{bearingDelta:a}=this.mouseRotate.dragMove(t,e)||{};if(a&&i.setBearing(i.getBearing()+a),this.mousePitch){const{pitchDelta:a}=this.mousePitch.dragMove(t,e)||{};a&&i.setPitch(i.getPitch()+a);}}moveTouch(t,e){const i=this.map,{bearingDelta:a}=this.touchRotate.dragMove(t,e)||{};if(a&&i.setBearing(i.getBearing()+a),this.touchPitch){const{pitchDelta:a}=this.touchPitch.dragMove(t,e)||{};a&&i.setPitch(i.getPitch()+a);}}off(){const t=this.element;r.removeEventListener(t,\"mousedown\",this.mousedown),r.removeEventListener(t,\"touchstart\",this.touchstart,{passive:!1}),r.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.removeEventListener(window,\"touchend\",this.touchend),r.removeEventListener(t,\"touchcancel\",this.reset),this.offTemp();}offTemp(){r.enableDrag(),r.removeEventListener(window,\"mousemove\",this.mousemove),r.removeEventListener(window,\"mouseup\",this.mouseup),r.removeEventListener(window,\"touchmove\",this.touchmove,{passive:!1}),r.removeEventListener(window,\"touchend\",this.touchend);}}let Us;function js(t,i,a){const s=new e.N(t.lng,t.lat);if(t=new e.N(t.lng,t.lat),i){const s=new e.N(t.lng-360,t.lat),o=new e.N(t.lng+360,t.lat),r=a.locationPoint(t).distSqr(i);a.locationPoint(s).distSqr(i)180;){const e=a.locationPoint(t);if(e.x>=0&&e.y>=0&&e.x<=a.width&&e.y<=a.height)break;t.lng>a.center.lng?t.lng-=360:t.lng+=360;}return t.lng!==s.lng&&a.locationPoint(t).y>a.height/2-a.getHorizon()?t:s}const Zs={center:\"translate(-50%,-50%)\",top:\"translate(-50%,0)\",\"top-left\":\"translate(0,0)\",\"top-right\":\"translate(-100%,0)\",bottom:\"translate(-50%,-100%)\",\"bottom-left\":\"translate(0,-100%)\",\"bottom-right\":\"translate(-100%,-100%)\",left:\"translate(0,-50%)\",right:\"translate(-100%,-50%)\"};function qs(t,e,i){const a=t.classList;for(const t in Zs)a.remove(`maplibregl-${i}-anchor-${t}`);a.add(`maplibregl-${i}-anchor-${e}`);}class Vs extends e.E{constructor(t){if(super(),this._onKeyPress=t=>{const e=t.code,i=t.charCode||t.keyCode;\"Space\"!==e&&\"Enter\"!==e&&32!==i&&13!==i||this.togglePopup();},this._onMapClick=t=>{const e=t.originalEvent.target,i=this._element;this._popup&&(e===i||i.contains(e))&&this.togglePopup();},this._update=t=>{var e;if(!this._map)return;const i=this._map.loaded()&&!this._map.isMoving();(\"terrain\"===(null==t?void 0:t.type)||\"render\"===(null==t?void 0:t.type)&&!i)&&this._map.once(\"render\",this._update),this._lngLat=this._map.transform.renderWorldCopies?js(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationPoint(this._lngLat)._add(this._offset));let a=\"\";\"viewport\"===this._rotationAlignment||\"auto\"===this._rotationAlignment?a=`rotateZ(${this._rotation}deg)`:\"map\"===this._rotationAlignment&&(a=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let s=\"\";\"viewport\"===this._pitchAlignment||\"auto\"===this._pitchAlignment?s=\"rotateX(0deg)\":\"map\"===this._pitchAlignment&&(s=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||t&&\"moveend\"!==t.type||(this._pos=this._pos.round()),r.setTransform(this._element,`${Zs[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${s} ${a}`),o.frameAsync(new AbortController).then((()=>{this._updateOpacity(t&&\"moveend\"===t.type);})).catch((()=>{}));},this._onMove=t=>{if(!this._isDragging){const e=this._clickTolerance||this._map._clickTolerance;this._isDragging=t.point.dist(this._pointerdownPos)>=e;}this._isDragging&&(this._pos=t.point.sub(this._positionDelta),this._lngLat=this._map.unproject(this._pos),this.setLngLat(this._lngLat),this._element.style.pointerEvents=\"none\",\"pending\"===this._state&&(this._state=\"active\",this.fire(new e.k(\"dragstart\"))),this.fire(new e.k(\"drag\")));},this._onUp=()=>{this._element.style.pointerEvents=\"auto\",this._positionDelta=null,this._pointerdownPos=null,this._isDragging=!1,this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),\"active\"===this._state&&this.fire(new e.k(\"dragend\")),this._state=\"inactive\";},this._addDragHandler=t=>{this._element.contains(t.originalEvent.target)&&(t.preventDefault(),this._positionDelta=t.point.sub(this._pos).add(this._offset),this._pointerdownPos=t.point,this._state=\"pending\",this._map.on(\"mousemove\",this._onMove),this._map.on(\"touchmove\",this._onMove),this._map.once(\"mouseup\",this._onUp),this._map.once(\"touchend\",this._onUp));},this._anchor=t&&t.anchor||\"center\",this._color=t&&t.color||\"#3FB1CE\",this._scale=t&&t.scale||1,this._draggable=t&&t.draggable||!1,this._clickTolerance=t&&t.clickTolerance||0,this._subpixelPositioning=t&&t.subpixelPositioning||!1,this._isDragging=!1,this._state=\"inactive\",this._rotation=t&&t.rotation||0,this._rotationAlignment=t&&t.rotationAlignment||\"auto\",this._pitchAlignment=t&&t.pitchAlignment&&\"auto\"!==t.pitchAlignment?t.pitchAlignment:this._rotationAlignment,this.setOpacity(),this.setOpacity(null==t?void 0:t.opacity,null==t?void 0:t.opacityWhenCovered),t&&t.element)this._element=t.element,this._offset=e.P.convert(t&&t.offset||[0,0]);else {this._defaultMarker=!0,this._element=r.create(\"div\");const i=r.createNS(\"http://www.w3.org/2000/svg\",\"svg\"),a=41,s=27;i.setAttributeNS(null,\"display\",\"block\"),i.setAttributeNS(null,\"height\",`${a}px`),i.setAttributeNS(null,\"width\",`${s}px`),i.setAttributeNS(null,\"viewBox\",`0 0 ${s} ${a}`);const o=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");o.setAttributeNS(null,\"stroke\",\"none\"),o.setAttributeNS(null,\"stroke-width\",\"1\"),o.setAttributeNS(null,\"fill\",\"none\"),o.setAttributeNS(null,\"fill-rule\",\"evenodd\");const n=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");n.setAttributeNS(null,\"fill-rule\",\"nonzero\");const l=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");l.setAttributeNS(null,\"transform\",\"translate(3.0, 29.0)\"),l.setAttributeNS(null,\"fill\",\"#000000\");const h=[{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"10.5\",ry:\"5.25002273\"},{rx:\"9.5\",ry:\"4.77275007\"},{rx:\"8.5\",ry:\"4.29549936\"},{rx:\"7.5\",ry:\"3.81822308\"},{rx:\"6.5\",ry:\"3.34094679\"},{rx:\"5.5\",ry:\"2.86367051\"},{rx:\"4.5\",ry:\"2.38636864\"}];for(const t of h){const e=r.createNS(\"http://www.w3.org/2000/svg\",\"ellipse\");e.setAttributeNS(null,\"opacity\",\"0.04\"),e.setAttributeNS(null,\"cx\",\"10.5\"),e.setAttributeNS(null,\"cy\",\"5.80029008\"),e.setAttributeNS(null,\"rx\",t.rx),e.setAttributeNS(null,\"ry\",t.ry),l.appendChild(e);}const c=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");c.setAttributeNS(null,\"fill\",this._color);const u=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");u.setAttributeNS(null,\"d\",\"M27,13.5 C27,19.074644 20.250001,27.000002 14.75,34.500002 C14.016665,35.500004 12.983335,35.500004 12.25,34.500002 C6.7499993,27.000002 0,19.222562 0,13.5 C0,6.0441559 6.0441559,0 13.5,0 C20.955844,0 27,6.0441559 27,13.5 Z\"),c.appendChild(u);const d=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");d.setAttributeNS(null,\"opacity\",\"0.25\"),d.setAttributeNS(null,\"fill\",\"#000000\");const _=r.createNS(\"http://www.w3.org/2000/svg\",\"path\");_.setAttributeNS(null,\"d\",\"M13.5,0 C6.0441559,0 0,6.0441559 0,13.5 C0,19.222562 6.7499993,27 12.25,34.5 C13,35.522727 14.016664,35.500004 14.75,34.5 C20.250001,27 27,19.074644 27,13.5 C27,6.0441559 20.955844,0 13.5,0 Z M13.5,1 C20.415404,1 26,6.584596 26,13.5 C26,15.898657 24.495584,19.181431 22.220703,22.738281 C19.945823,26.295132 16.705119,30.142167 13.943359,33.908203 C13.743445,34.180814 13.612715,34.322738 13.5,34.441406 C13.387285,34.322738 13.256555,34.180814 13.056641,33.908203 C10.284481,30.127985 7.4148684,26.314159 5.015625,22.773438 C2.6163816,19.232715 1,15.953538 1,13.5 C1,6.584596 6.584596,1 13.5,1 Z\"),d.appendChild(_);const p=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");p.setAttributeNS(null,\"transform\",\"translate(6.0, 7.0)\"),p.setAttributeNS(null,\"fill\",\"#FFFFFF\");const m=r.createNS(\"http://www.w3.org/2000/svg\",\"g\");m.setAttributeNS(null,\"transform\",\"translate(8.0, 8.0)\");const f=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");f.setAttributeNS(null,\"fill\",\"#000000\"),f.setAttributeNS(null,\"opacity\",\"0.25\"),f.setAttributeNS(null,\"cx\",\"5.5\"),f.setAttributeNS(null,\"cy\",\"5.5\"),f.setAttributeNS(null,\"r\",\"5.4999962\");const g=r.createNS(\"http://www.w3.org/2000/svg\",\"circle\");g.setAttributeNS(null,\"fill\",\"#FFFFFF\"),g.setAttributeNS(null,\"cx\",\"5.5\"),g.setAttributeNS(null,\"cy\",\"5.5\"),g.setAttributeNS(null,\"r\",\"5.4999962\"),m.appendChild(f),m.appendChild(g),n.appendChild(l),n.appendChild(c),n.appendChild(d),n.appendChild(p),n.appendChild(m),i.appendChild(n),i.setAttributeNS(null,\"height\",a*this._scale+\"px\"),i.setAttributeNS(null,\"width\",s*this._scale+\"px\"),this._element.appendChild(i),this._offset=e.P.convert(t&&t.offset||[0,-14]);}if(this._element.classList.add(\"maplibregl-marker\"),this._element.addEventListener(\"dragstart\",(t=>{t.preventDefault();})),this._element.addEventListener(\"mousedown\",(t=>{t.preventDefault();})),qs(this._element,this._anchor,\"marker\"),t&&t.className)for(const e of t.className.split(\" \"))this._element.classList.add(e);this._popup=null;}addTo(t){return this.remove(),this._map=t,this._element.setAttribute(\"aria-label\",t._getUIString(\"Marker.Title\")),t.getCanvasContainer().appendChild(this._element),t.on(\"move\",this._update),t.on(\"moveend\",this._update),t.on(\"terrain\",this._update),this.setDraggable(this._draggable),this._update(),this._map.on(\"click\",this._onMapClick),this}remove(){return this._opacityTimeout&&(clearTimeout(this._opacityTimeout),delete this._opacityTimeout),this._map&&(this._map.off(\"click\",this._onMapClick),this._map.off(\"move\",this._update),this._map.off(\"moveend\",this._update),this._map.off(\"terrain\",this._update),this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler),this._map.off(\"mouseup\",this._onUp),this._map.off(\"touchend\",this._onUp),this._map.off(\"mousemove\",this._onMove),this._map.off(\"touchmove\",this._onMove),delete this._map),r.remove(this._element),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(t){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener(\"keypress\",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute(\"tabindex\")),t){if(!(\"offset\"in t.options)){const e=38.1,i=13.5,a=Math.abs(i)/Math.SQRT2;t.options.offset=this._defaultMarker?{top:[0,0],\"top-left\":[0,0],\"top-right\":[0,0],bottom:[0,-e],\"bottom-left\":[a,-1*(e-i+a)],\"bottom-right\":[-a,-1*(e-i+a)],left:[i,-1*(e-i)],right:[-i,-1*(e-i)]}:this._offset;}this._popup=t,this._originalTabIndex=this._element.getAttribute(\"tabindex\"),this._originalTabIndex||this._element.setAttribute(\"tabindex\",\"0\"),this._element.addEventListener(\"keypress\",this._onKeyPress);}return this}setSubpixelPositioning(t){return this._subpixelPositioning=t,this}getPopup(){return this._popup}togglePopup(){const t=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:t?(t.isOpen()?t.remove():(t.setLngLat(this._lngLat),t.addTo(this._map)),this):this}_updateOpacity(t=!1){var i,a;if(!(null===(i=this._map)||void 0===i?void 0:i.terrain))return void(this._element.style.opacity!==this._opacity&&(this._element.style.opacity=this._opacity));if(t)this._opacityTimeout=null;else {if(this._opacityTimeout)return;this._opacityTimeout=setTimeout((()=>{this._opacityTimeout=null;}),100);}const s=this._map,o=s.terrain.depthAtPoint(this._pos),r=s.terrain.getElevationForLngLatZoom(this._lngLat,s.transform.tileZoom);if(s.transform.lngLatToCameraDepth(this._lngLat,r)-o<.006)return void(this._element.style.opacity=this._opacity);const n=-this._offset.y/s.transform._pixelPerMeter,l=Math.sin(s.getPitch()*Math.PI/180)*n,h=s.terrain.depthAtPoint(new e.P(this._pos.x,this._pos.y-this._offset.y)),c=s.transform.lngLatToCameraDepth(this._lngLat,r+l)-h>.006;(null===(a=this._popup)||void 0===a?void 0:a.isOpen())&&c&&this._popup.remove(),this._element.style.opacity=c?this._opacityWhenCovered:this._opacity;}getOffset(){return this._offset}setOffset(t){return this._offset=e.P.convert(t),this._update(),this}addClassName(t){this._element.classList.add(t);}removeClassName(t){this._element.classList.remove(t);}toggleClassName(t){return this._element.classList.toggle(t)}setDraggable(t){return this._draggable=!!t,this._map&&(t?(this._map.on(\"mousedown\",this._addDragHandler),this._map.on(\"touchstart\",this._addDragHandler)):(this._map.off(\"mousedown\",this._addDragHandler),this._map.off(\"touchstart\",this._addDragHandler))),this}isDraggable(){return this._draggable}setRotation(t){return this._rotation=t||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(t){return this._rotationAlignment=t||\"auto\",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(t){return this._pitchAlignment=t&&\"auto\"!==t?t:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(t,e){return void 0===t&&void 0===e&&(this._opacity=\"1\",this._opacityWhenCovered=\"0.2\"),void 0!==t&&(this._opacity=t),void 0!==e&&(this._opacityWhenCovered=e),this._map&&this._updateOpacity(!0),this}}const Gs={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6e3},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0};let Hs=0,Ws=!1;const $s={maxWidth:100,unit:\"metric\"};function Xs(t,e,i){const a=i&&i.maxWidth||100,s=t._container.clientHeight/2,o=t.unproject([0,s]),r=t.unproject([a,s]),n=o.distanceTo(r);if(i&&\"imperial\"===i.unit){const i=3.2808*n;i>5280?Ks(e,a,i/5280,t._getUIString(\"ScaleControl.Miles\")):Ks(e,a,i,t._getUIString(\"ScaleControl.Feet\"));}else i&&\"nautical\"===i.unit?Ks(e,a,n/1852,t._getUIString(\"ScaleControl.NauticalMiles\")):n>=1e3?Ks(e,a,n/1e3,t._getUIString(\"ScaleControl.Kilometers\")):Ks(e,a,n,t._getUIString(\"ScaleControl.Meters\"));}function Ks(t,e,i,a){const s=function(t){const e=Math.pow(10,`${Math.floor(t)}`.length-1);let i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:i>=1?1:function(t){const e=Math.pow(10,Math.ceil(-Math.log(t)/Math.LN10));return Math.round(t*e)/e}(i),e*i}(i);t.style.width=e*(s/i)+\"px\",t.innerHTML=`${s} ${a}`;}const Js={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:\"\",maxWidth:\"240px\",subpixelPositioning:!1},Ys=[\"a[href]\",\"[tabindex]:not([tabindex='-1'])\",\"[contenteditable]:not([contenteditable='false'])\",\"button:not([disabled])\",\"input:not([disabled])\",\"select:not([disabled])\",\"textarea:not([disabled])\"].join(\", \");function Qs(t){if(t){if(\"number\"==typeof t){const i=Math.round(Math.abs(t)/Math.SQRT2);return {center:new e.P(0,0),top:new e.P(0,t),\"top-left\":new e.P(i,i),\"top-right\":new e.P(-i,i),bottom:new e.P(0,-t),\"bottom-left\":new e.P(i,-i),\"bottom-right\":new e.P(-i,-i),left:new e.P(t,0),right:new e.P(-t,0)}}if(t instanceof e.P||Array.isArray(t)){const i=e.P.convert(t);return {center:i,top:i,\"top-left\":i,\"top-right\":i,bottom:i,\"bottom-left\":i,\"bottom-right\":i,left:i,right:i}}return {center:e.P.convert(t.center||[0,0]),top:e.P.convert(t.top||[0,0]),\"top-left\":e.P.convert(t[\"top-left\"]||[0,0]),\"top-right\":e.P.convert(t[\"top-right\"]||[0,0]),bottom:e.P.convert(t.bottom||[0,0]),\"bottom-left\":e.P.convert(t[\"bottom-left\"]||[0,0]),\"bottom-right\":e.P.convert(t[\"bottom-right\"]||[0,0]),left:e.P.convert(t.left||[0,0]),right:e.P.convert(t.right||[0,0])}}return Qs(new e.P(0,0))}const to=i;t.AJAXError=e.bh,t.Evented=e.E,t.LngLat=e.N,t.MercatorCoordinate=e.Z,t.Point=e.P,t.addProtocol=e.bi,t.config=e.a,t.removeProtocol=e.bj,t.AttributionControl=Es,t.BoxZoomHandler=Ua,t.CanvasSource=et,t.CooperativeGesturesHandler=vs,t.DoubleClickZoomHandler=ds,t.DragPanHandler=ms,t.DragRotateHandler=fs,t.EdgeInsets=ba,t.FullscreenControl=class extends e.E{constructor(t={}){super(),this._onFullscreenChange=()=>{var t;let e=window.document.fullscreenElement||window.document.mozFullScreenElement||window.document.webkitFullscreenElement||window.document.msFullscreenElement;for(;null===(t=null==e?void 0:e.shadowRoot)||void 0===t?void 0:t.fullscreenElement;)e=e.shadowRoot.fullscreenElement;e===this._container!==this._fullscreen&&this._handleFullscreenChange();},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen();},this._fullscreen=!1,t&&t.container&&(t.container instanceof HTMLElement?this._container=t.container:e.w(\"Full screen control 'container' must be a DOM element.\")),\"onfullscreenchange\"in document?this._fullscreenchange=\"fullscreenchange\":\"onmozfullscreenchange\"in document?this._fullscreenchange=\"mozfullscreenchange\":\"onwebkitfullscreenchange\"in document?this._fullscreenchange=\"webkitfullscreenchange\":\"onmsfullscreenchange\"in document&&(this._fullscreenchange=\"MSFullscreenChange\");}onAdd(t){return this._map=t,this._container||(this._container=this._map.getContainer()),this._controlContainer=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),this._controlContainer}onRemove(){r.remove(this._controlContainer),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange);}_setupUI(){const t=this._fullscreenButton=r.create(\"button\",\"maplibregl-ctrl-fullscreen\",this._controlContainer);r.create(\"span\",\"maplibregl-ctrl-icon\",t).setAttribute(\"aria-hidden\",\"true\"),t.type=\"button\",this._updateTitle(),this._fullscreenButton.addEventListener(\"click\",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange);}_updateTitle(){const t=this._getTitle();this._fullscreenButton.setAttribute(\"aria-label\",t),this._fullscreenButton.title=t;}_getTitle(){return this._map._getUIString(this._isFullscreen()?\"FullscreenControl.Exit\":\"FullscreenControl.Enter\")}_isFullscreen(){return this._fullscreen}_handleFullscreenChange(){this._fullscreen=!this._fullscreen,this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-shrink\"),this._fullscreenButton.classList.toggle(\"maplibregl-ctrl-fullscreen\"),this._updateTitle(),this._fullscreen?(this.fire(new e.k(\"fullscreenstart\")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new e.k(\"fullscreenend\")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable());}_exitFullscreen(){window.document.exitFullscreen?window.document.exitFullscreen():window.document.mozCancelFullScreen?window.document.mozCancelFullScreen():window.document.msExitFullscreen?window.document.msExitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen();}_requestFullscreen(){this._container.requestFullscreen?this._container.requestFullscreen():this._container.mozRequestFullScreen?this._container.mozRequestFullScreen():this._container.msRequestFullscreen?this._container.msRequestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen();}_togglePseudoFullScreen(){this._container.classList.toggle(\"maplibregl-pseudo-fullscreen\"),this._handleFullscreenChange(),this._map.resize();}},t.GeoJSONSource=J,t.GeolocateControl=class extends e.E{constructor(t){super(),this._onSuccess=t=>{if(this._map){if(this._isOutOfMapMaxBounds(t))return this._setErrorState(),this.fire(new e.k(\"outofmaxbounds\",t)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=t,this._watchState){case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"BACKGROUND\":case\"BACKGROUND_ERROR\":this._watchState=\"BACKGROUND\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\");break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&\"OFF\"!==this._watchState&&this._updateMarker(t),this.options.trackUserLocation&&\"ACTIVE_LOCK\"!==this._watchState||this._updateCamera(t),this.options.showUserLocation&&this._dotElement.classList.remove(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"geolocate\",t)),this._finish();}},this._updateCamera=t=>{const i=new e.N(t.coords.longitude,t.coords.latitude),a=t.coords.accuracy,s=this._map.getBearing(),o=e.e({bearing:s},this.options.fitBoundsOptions),r=H.fromLngLat(i,a);this._map.fitBounds(r,o,{geolocateSource:!0});},this._updateMarker=t=>{if(t){const i=new e.N(t.coords.longitude,t.coords.latitude);this._accuracyCircleMarker.setLngLat(i).addTo(this._map),this._userLocationDotMarker.setLngLat(i).addTo(this._map),this._accuracy=t.coords.accuracy,this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove();},this._onZoom=()=>{this.options.showUserLocation&&this.options.showAccuracyCircle&&this._updateCircleRadius();},this._onError=t=>{if(this._map){if(this.options.trackUserLocation)if(1===t.code){this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.disabled=!0;const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t),void 0!==this._geolocationWatchID&&this._clearWatch();}else {if(3===t.code&&Ws)return;this._setErrorState();}\"OFF\"!==this._watchState&&this.options.showUserLocation&&this._dotElement.classList.add(\"maplibregl-user-location-dot-stale\"),this.fire(new e.k(\"error\",t)),this._finish();}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0;},this._setupUI=()=>{this._map&&(this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this._geolocateButton=r.create(\"button\",\"maplibregl-ctrl-geolocate\",this._container),r.create(\"span\",\"maplibregl-ctrl-icon\",this._geolocateButton).setAttribute(\"aria-hidden\",\"true\"),this._geolocateButton.type=\"button\",this._geolocateButton.disabled=!0);},this._finishSetupUI=t=>{if(this._map){if(!1===t){e.w(\"Geolocation support is not available so the GeolocateControl will be disabled.\");const t=this._map._getUIString(\"GeolocateControl.LocationNotAvailable\");this._geolocateButton.disabled=!0,this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}else {const t=this._map._getUIString(\"GeolocateControl.FindMyLocation\");this._geolocateButton.disabled=!1,this._geolocateButton.title=t,this._geolocateButton.setAttribute(\"aria-label\",t);}this.options.trackUserLocation&&(this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this._watchState=\"OFF\"),this.options.showUserLocation&&(this._dotElement=r.create(\"div\",\"maplibregl-user-location-dot\"),this._userLocationDotMarker=new Vs({element:this._dotElement}),this._circleElement=r.create(\"div\",\"maplibregl-user-location-accuracy-circle\"),this._accuracyCircleMarker=new Vs({element:this._circleElement,pitchAlignment:\"map\"}),this.options.trackUserLocation&&(this._watchState=\"OFF\"),this._map.on(\"zoom\",this._onZoom)),this._geolocateButton.addEventListener(\"click\",(()=>this.trigger())),this._setup=!0,this.options.trackUserLocation&&this._map.on(\"movestart\",(t=>{t.geolocateSource||\"ACTIVE_LOCK\"!==this._watchState||t.originalEvent&&\"resize\"===t.originalEvent.type||(this._watchState=\"BACKGROUND\",this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this.fire(new e.k(\"trackuserlocationend\")),this.fire(new e.k(\"userlocationlostfocus\")));}));}},this.options=e.e({},Gs,t);}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._setupUI(),function(){return e._(this,arguments,void 0,(function*(t=!1){if(void 0!==Us&&!t)return Us;if(void 0===window.navigator.permissions)return Us=!!window.navigator.geolocation,Us;try{const t=yield window.navigator.permissions.query({name:\"geolocation\"});Us=\"denied\"!==t.state;}catch(t){Us=!!window.navigator.geolocation;}return Us}))}().then((t=>this._finishSetupUI(t))),this._container}onRemove(){void 0!==this._geolocationWatchID&&(window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0),this.options.showUserLocation&&this._userLocationDotMarker&&this._userLocationDotMarker.remove(),this.options.showAccuracyCircle&&this._accuracyCircleMarker&&this._accuracyCircleMarker.remove(),r.remove(this._container),this._map.off(\"zoom\",this._onZoom),this._map=void 0,Hs=0,Ws=!1;}_isOutOfMapMaxBounds(t){const e=this._map.getMaxBounds(),i=t.coords;return e&&(i.longitudee.getEast()||i.latitudee.getNorth())}_setErrorState(){switch(this._watchState){case\"WAITING_ACTIVE\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\");break;case\"ACTIVE_LOCK\":this._watchState=\"ACTIVE_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"BACKGROUND\":this._watchState=\"BACKGROUND_ERROR\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-background-error\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\");break;case\"ACTIVE_ERROR\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadius(){const t=this._map.getBounds(),e=t.getSouthEast(),i=t.getNorthEast(),a=e.distanceTo(i),s=Math.ceil(this._accuracy/(a/this._map._container.clientHeight)*2);this._circleElement.style.width=`${s}px`,this._circleElement.style.height=`${s}px`;}trigger(){if(!this._setup)return e.w(\"Geolocate control triggered before added to a map\"),!1;if(this.options.trackUserLocation){switch(this._watchState){case\"OFF\":this._watchState=\"WAITING_ACTIVE\",this.fire(new e.k(\"trackuserlocationstart\"));break;case\"WAITING_ACTIVE\":case\"ACTIVE_LOCK\":case\"ACTIVE_ERROR\":case\"BACKGROUND_ERROR\":Hs--,Ws=!1,this._watchState=\"OFF\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-active-error\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background-error\"),this.fire(new e.k(\"trackuserlocationend\"));break;case\"BACKGROUND\":this._watchState=\"ACTIVE_LOCK\",this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-background\"),this._lastKnownPosition&&this._updateCamera(this._lastKnownPosition),this.fire(new e.k(\"trackuserlocationstart\")),this.fire(new e.k(\"userlocationfocus\"));break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}switch(this._watchState){case\"WAITING_ACTIVE\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"ACTIVE_LOCK\":this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-active\");break;case\"OFF\":break;default:throw new Error(`Unexpected watchState ${this._watchState}`)}if(\"OFF\"===this._watchState&&void 0!==this._geolocationWatchID)this._clearWatch();else if(void 0===this._geolocationWatchID){let t;this._geolocateButton.classList.add(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"true\"),Hs++,Hs>1?(t={maximumAge:6e5,timeout:0},Ws=!0):(t=this.options.positionOptions,Ws=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,t);}}else window.navigator.geolocation.getCurrentPosition(this._onSuccess,this._onError,this.options.positionOptions),this._timeoutId=setTimeout(this._finish,1e4);return !0}_clearWatch(){window.navigator.geolocation.clearWatch(this._geolocationWatchID),this._geolocationWatchID=void 0,this._geolocateButton.classList.remove(\"maplibregl-ctrl-geolocate-waiting\"),this._geolocateButton.setAttribute(\"aria-pressed\",\"false\"),this.options.showUserLocation&&this._updateMarker(null);}},t.Hash=Ea,t.ImageSource=Q,t.KeyboardHandler=ls,t.LngLatBounds=H,t.LogoControl=Ps,t.Map=class extends Ts{constructor(t){e.bf.mark(e.bg.create);const i=Object.assign(Object.assign({},Fs),t);if(null!=i.minZoom&&null!=i.maxZoom&&i.minZoom>i.maxZoom)throw new Error(\"maxZoom must be greater than or equal to minZoom\");if(null!=i.minPitch&&null!=i.maxPitch&&i.minPitch>i.maxPitch)throw new Error(\"maxPitch must be greater than or equal to minPitch\");if(null!=i.minPitch&&i.minPitch<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(null!=i.maxPitch&&i.maxPitch>85)throw new Error(\"maxPitch must be less than or equal to 85\");if(super(new Ta(i.minZoom,i.maxZoom,i.minPitch,i.maxPitch,i.renderWorldCopies),{bearingSnap:i.bearingSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new Cs,this._controls=[],this._mapId=e.a4(),this._contextLost=t=>{t.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.fire(new e.k(\"webglcontextlost\",{originalEvent:t}));},this._contextRestored=t=>{this._setupPainter(),this.resize(),this._update(),this.fire(new e.k(\"webglcontextrestored\",{originalEvent:t}));},this._onMapScroll=t=>{if(t.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update();},this._interactive=i.interactive,this._maxTileCacheSize=i.maxTileCacheSize,this._maxTileCacheZoomLevels=i.maxTileCacheZoomLevels,this._failIfMajorPerformanceCaveat=!0===i.failIfMajorPerformanceCaveat,this._preserveDrawingBuffer=!0===i.preserveDrawingBuffer,this._antialias=!0===i.antialias,this._trackResize=!0===i.trackResize,this._bearingSnap=i.bearingSnap,this._refreshExpiredTiles=!0===i.refreshExpiredTiles,this._fadeDuration=i.fadeDuration,this._crossSourceCollisions=!0===i.crossSourceCollisions,this._collectResourceTiming=!0===i.collectResourceTiming,this._locale=Object.assign(Object.assign({},ks),i.locale),this._clickTolerance=i.clickTolerance,this._overridePixelRatio=i.pixelRatio,this._maxCanvasSize=i.maxCanvasSize,this.transformCameraUpdate=i.transformCameraUpdate,this.cancelPendingTileRequestsWhileZooming=!0===i.cancelPendingTileRequestsWhileZooming,this._imageQueueHandle=_.addThrottleControl((()=>this.isMoving())),this._requestManager=new p(i.transformRequest),\"string\"==typeof i.container){if(this._container=document.getElementById(i.container),!this._container)throw new Error(`Container '${i.container}' not found.`)}else {if(!(i.container instanceof HTMLElement))throw new Error(\"Invalid type: 'container' must be a String or HTMLElement.\");this._container=i.container;}if(i.maxBounds&&this.setMaxBounds(i.maxBounds),this._setupContainer(),this._setupPainter(),this.on(\"move\",(()=>this._update(!1))).on(\"moveend\",(()=>this._update(!1))).on(\"zoom\",(()=>this._update(!0))).on(\"terrain\",(()=>{this.painter.terrainFacilitator.dirty=!0,this._update(!0);})).once(\"idle\",(()=>{this._idleTriggered=!0;})),\"undefined\"!=typeof window){addEventListener(\"online\",this._onWindowOnline,!1);let t=!1;const e=Ia((t=>{this._trackResize&&!this._removed&&(this.resize(t),this.redraw());}),50);this._resizeObserver=new ResizeObserver((i=>{t?e(i):t=!0;})),this._resizeObserver.observe(this._container);}this.handlers=new ws(this,i),this._hash=i.hash&&new Ea(\"string\"==typeof i.hash&&i.hash||void 0).addTo(this),this._hash&&this._hash._onHashChange()||(this.jumpTo({center:i.center,zoom:i.zoom,bearing:i.bearing,pitch:i.pitch}),i.bounds&&(this.resize(),this.fitBounds(i.bounds,e.e({},i.fitBoundsOptions,{duration:0})))),this.resize(),this._localIdeographFontFamily=i.localIdeographFontFamily,this._validateStyle=i.validateStyle,i.style&&this.setStyle(i.style,{localIdeographFontFamily:i.localIdeographFontFamily}),i.attributionControl&&this.addControl(new Es(\"boolean\"==typeof i.attributionControl?void 0:i.attributionControl)),i.maplibreLogo&&this.addControl(new Ps,i.logoPosition),this.on(\"style.load\",(()=>{this.transform.unmodified&&this.jumpTo(this.style.stylesheet);})),this.on(\"data\",(t=>{this._update(\"style\"===t.dataType),this.fire(new e.k(`${t.dataType}data`,t));})),this.on(\"dataloading\",(t=>{this.fire(new e.k(`${t.dataType}dataloading`,t));})),this.on(\"dataabort\",(t=>{this.fire(new e.k(\"sourcedataabort\",t));}));}_getMapId(){return this._mapId}addControl(t,i){if(void 0===i&&(i=t.getDefaultPosition?t.getDefaultPosition():\"top-right\"),!t||!t.onAdd)return this.fire(new e.j(new Error(\"Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.\")));const a=t.onAdd(this);this._controls.push(t);const s=this._controlPositions[i];return -1!==i.indexOf(\"bottom\")?s.insertBefore(a,s.firstChild):s.appendChild(a),this}removeControl(t){if(!t||!t.onRemove)return this.fire(new e.j(new Error(\"Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.\")));const i=this._controls.indexOf(t);return i>-1&&this._controls.splice(i,1),t.onRemove(this),this}hasControl(t){return this._controls.indexOf(t)>-1}calculateCameraOptionsFromTo(t,e,i,a){return null==a&&this.terrain&&(a=this.terrain.getElevationForLngLatZoom(i,this.transform.tileZoom)),super.calculateCameraOptionsFromTo(t,e,i,a)}resize(t){var i;const a=this._containerDimensions(),s=a[0],o=a[1],r=this._getClampedPixelRatio(s,o);if(this._resizeCanvas(s,o,r),this.painter.resize(s,o,r),this.painter.overLimit()){const t=this.painter.context.gl;this._maxCanvasSize=[t.drawingBufferWidth,t.drawingBufferHeight];const e=this._getClampedPixelRatio(s,o);this._resizeCanvas(s,o,e),this.painter.resize(s,o,e);}this.transform.resize(s,o),null===(i=this._requestedCameraState)||void 0===i||i.resize(s,o);const n=!this._moving;return n&&(this.stop(),this.fire(new e.k(\"movestart\",t)).fire(new e.k(\"move\",t))),this.fire(new e.k(\"resize\",t)),n&&this.fire(new e.k(\"moveend\",t)),this}_getClampedPixelRatio(t,e){const{0:i,1:a}=this._maxCanvasSize,s=this.getPixelRatio(),o=t*s,r=e*s;return Math.min(o>i?i/o:1,r>a?a/r:1)*s}getPixelRatio(){var t;return null!==(t=this._overridePixelRatio)&&void 0!==t?t:devicePixelRatio}setPixelRatio(t){this._overridePixelRatio=t,this.resize();}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(t){return this.transform.setMaxBounds(H.convert(t)),this._update()}setMinZoom(t){if((t=null==t?-2:t)>=-2&&t<=this.transform.maxZoom)return this.transform.minZoom=t,this._update(),this.getZoom()=this.transform.minZoom)return this.transform.maxZoom=t,this._update(),this.getZoom()>t&&this.setZoom(t),this;throw new Error(\"maxZoom must be greater than the current minZoom\")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(t){if((t=null==t?0:t)<0)throw new Error(\"minPitch must be greater than or equal to 0\");if(t>=0&&t<=this.transform.maxPitch)return this.transform.minPitch=t,this._update(),this.getPitch()85)throw new Error(\"maxPitch must be less than or equal to 85\");if(t>=this.transform.minPitch)return this.transform.maxPitch=t,this._update(),this.getPitch()>t&&this.setPitch(t),this;throw new Error(\"maxPitch must be greater than the current minPitch\")}getMaxPitch(){return this.transform.maxPitch}getRenderWorldCopies(){return this.transform.renderWorldCopies}setRenderWorldCopies(t){return this.transform.renderWorldCopies=t,this._update()}project(t){return this.transform.locationPoint(e.N.convert(t),this.style&&this.terrain)}unproject(t){return this.transform.pointLocation(e.P.convert(t),this.terrain)}isMoving(){var t;return this._moving||(null===(t=this.handlers)||void 0===t?void 0:t.isMoving())}isZooming(){var t;return this._zooming||(null===(t=this.handlers)||void 0===t?void 0:t.isZooming())}isRotating(){var t;return this._rotating||(null===(t=this.handlers)||void 0===t?void 0:t.isRotating())}_createDelegatedListener(t,e,i){if(\"mouseenter\"===t||\"mouseover\"===t){let a=!1;const s=s=>{const o=e.filter((t=>this.getLayer(t))),r=0!==o.length?this.queryRenderedFeatures(s.point,{layers:o}):[];r.length?a||(a=!0,i.call(this,new ka(t,this,s.originalEvent,{features:r}))):a=!1;};return {layers:e,listener:i,delegates:{mousemove:s,mouseout:()=>{a=!1;}}}}if(\"mouseleave\"===t||\"mouseout\"===t){let a=!1;const s=s=>{const o=e.filter((t=>this.getLayer(t)));(0!==o.length?this.queryRenderedFeatures(s.point,{layers:o}):[]).length?a=!0:a&&(a=!1,i.call(this,new ka(t,this,s.originalEvent)));},o=e=>{a&&(a=!1,i.call(this,new ka(t,this,e.originalEvent)));};return {layers:e,listener:i,delegates:{mousemove:s,mouseout:o}}}{const a=t=>{const a=e.filter((t=>this.getLayer(t))),s=0!==a.length?this.queryRenderedFeatures(t.point,{layers:a}):[];s.length&&(t.features=s,i.call(this,t),delete t.features);};return {layers:e,listener:i,delegates:{[t]:a}}}}_saveDelegatedListener(t,e){this._delegatedListeners=this._delegatedListeners||{},this._delegatedListeners[t]=this._delegatedListeners[t]||[],this._delegatedListeners[t].push(e);}_removeDelegatedListener(t,e,i){if(!this._delegatedListeners||!this._delegatedListeners[t])return;const a=this._delegatedListeners[t];for(let t=0;te.includes(t)))){for(const t in s.delegates)this.off(t,s.delegates[t]);return void a.splice(t,1)}}}on(t,e,i){if(void 0===i)return super.on(t,e);const a=this._createDelegatedListener(t,\"string\"==typeof e?[e]:e,i);this._saveDelegatedListener(t,a);for(const t in a.delegates)this.on(t,a.delegates[t]);return this}once(t,e,i){if(void 0===i)return super.once(t,e);const a=\"string\"==typeof e?[e]:e,s=this._createDelegatedListener(t,a,i);for(const e in s.delegates){const o=s.delegates[e];s.delegates[e]=(...e)=>{this._removeDelegatedListener(t,a,i),o(...e);};}this._saveDelegatedListener(t,s);for(const t in s.delegates)this.once(t,s.delegates[t]);return this}off(t,e,i){return void 0===i?super.off(t,e):(this._removeDelegatedListener(t,\"string\"==typeof e?[e]:e,i),this)}queryRenderedFeatures(t,i){if(!this.style)return [];let a;const s=t instanceof e.P||Array.isArray(t),o=s?t:[[0,0],[this.transform.width,this.transform.height]];if(i=i||(s?{}:t)||{},o instanceof e.P||\"number\"==typeof o[0])a=[e.P.convert(o)];else {const t=e.P.convert(o[0]),i=e.P.convert(o[1]);a=[t,new e.P(i.x,t.y),i,new e.P(t.x,i.y),t];}return this.style.queryRenderedFeatures(a,i,this.transform)}querySourceFeatures(t,e){return this.style.querySourceFeatures(t,e)}setStyle(t,i){return !1!==(i=e.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},i)).diff&&i.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&t?(this._diffStyle(t,i),this):(this._localIdeographFontFamily=i.localIdeographFontFamily,this._updateStyle(t,i))}setTransformRequest(t){return this._requestManager.setTransformRequest(t),this}_getUIString(t){const e=this._locale[t];if(null==e)throw new Error(`Missing UI string '${t}'`);return e}_updateStyle(t,e){if(e.transformStyle&&this.style&&!this.style._loaded)return void this.style.once(\"style.load\",(()=>this._updateStyle(t,e)));const i=this.style&&e.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!t)),t?(this.style=new de(this,e||{}),this.style.setEventedParent(this,{style:this.style}),\"string\"==typeof t?this.style.loadURL(t,e,i):this.style.loadJSON(t,e,i),this):(delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new de(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty());}_diffStyle(t,i){if(\"string\"==typeof t){const a=this._requestManager.transformRequest(t,\"Style\");e.h(a,new AbortController).then((t=>{this._updateDiff(t.data,i);})).catch((t=>{t&&this.fire(new e.j(t));}));}else \"object\"==typeof t&&this._updateDiff(t,i);}_updateDiff(t,i){try{this.style.setState(t,i)&&this._update(!0);}catch(a){e.w(`Unable to perform style diff: ${a.message||a.error||a}. Rebuilding the style from scratch.`),this._updateStyle(t,i);}}getStyle(){if(this.style)return this.style.serialize()}isStyleLoaded(){return this.style?this.style.loaded():e.w(\"There is no style added to the map.\")}addSource(t,e){return this._lazyInitEmptyStyle(),this.style.addSource(t,e),this._update(!0)}isSourceLoaded(t){const i=this.style&&this.style.sourceCaches[t];if(void 0!==i)return i.loaded();this.fire(new e.j(new Error(`There is no source with ID '${t}'`)));}setTerrain(t){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off(\"data\",this._terrainDataCallback),t){const i=this.style.sourceCaches[t.source];if(!i)throw new Error(`cannot load terrain, because there exists no source with ID: ${t.source}`);null===this.terrain&&i.reload();for(const i in this.style._layers){const a=this.style._layers[i];\"hillshade\"===a.type&&a.source===t.source&&e.w(\"You are using the same source for a hillshade layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.\");}this.terrain=new Ds(this.painter,i,t),this.painter.renderToTexture=new Rs(this.painter,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._terrainDataCallback=e=>{\"style\"===e.dataType?this.terrain.sourceCache.freeRtt():\"source\"===e.dataType&&e.tile&&(e.sourceId!==t.source||this._elevationFreeze||(this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.terrain.sourceCache.freeRtt(e.tile.tileID));},this.style.on(\"data\",this._terrainDataCallback);}else this.terrain&&this.terrain.sourceCache.destruct(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.minElevationForCurrentTile=0,this.transform.elevation=0;return this.fire(new e.k(\"terrain\",{terrain:t})),this}getTerrain(){var t,e;return null!==(e=null===(t=this.terrain)||void 0===t?void 0:t.options)&&void 0!==e?e:null}areTilesLoaded(){const t=this.style&&this.style.sourceCaches;for(const e in t){const i=t[e]._tiles;for(const t in i){const e=i[t];if(\"loaded\"!==e.state&&\"errored\"!==e.state)return !1}}return !0}removeSource(t){return this.style.removeSource(t),this._update(!0)}getSource(t){return this.style.getSource(t)}addImage(t,i,a={}){const{pixelRatio:s=1,sdf:r=!1,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u}=a;if(this._lazyInitEmptyStyle(),!(i instanceof HTMLImageElement||e.b(i))){if(void 0===i.width||void 0===i.height)return this.fire(new e.j(new Error(\"Invalid arguments to map.addImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));{const{width:a,height:o,data:d}=i,_=i;return this.style.addImage(t,{data:new e.R({width:a,height:o},new Uint8Array(d)),pixelRatio:s,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u,sdf:r,version:0,userImage:_}),_.onAdd&&_.onAdd(this,t),this}}{const{width:a,height:d,data:_}=o.getImageData(i);this.style.addImage(t,{data:new e.R({width:a,height:d},_),pixelRatio:s,stretchX:n,stretchY:l,content:h,textFitWidth:c,textFitHeight:u,sdf:r,version:0});}}updateImage(t,i){const a=this.style.getImage(t);if(!a)return this.fire(new e.j(new Error(\"The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.\")));const s=i instanceof HTMLImageElement||e.b(i)?o.getImageData(i):i,{width:r,height:n,data:l}=s;if(void 0===r||void 0===n)return this.fire(new e.j(new Error(\"Invalid arguments to map.updateImage(). The second argument must be an `HTMLImageElement`, `ImageData`, `ImageBitmap`, or object with `width`, `height`, and `data` properties with the same format as `ImageData`\")));if(r!==a.data.width||n!==a.data.height)return this.fire(new e.j(new Error(\"The width and height of the updated image must be that same as the previous version of the image\")));const h=!(i instanceof HTMLImageElement||e.b(i));return a.data.replace(l,h),this.style.updateImage(t,a),this}getImage(t){return this.style.getImage(t)}hasImage(t){return t?!!this.style.getImage(t):(this.fire(new e.j(new Error(\"Missing required image id\"))),!1)}removeImage(t){this.style.removeImage(t);}loadImage(t){return _.getImage(this._requestManager.transformRequest(t,\"Image\"),new AbortController)}listImages(){return this.style.listImages()}addLayer(t,e){return this._lazyInitEmptyStyle(),this.style.addLayer(t,e),this._update(!0)}moveLayer(t,e){return this.style.moveLayer(t,e),this._update(!0)}removeLayer(t){return this.style.removeLayer(t),this._update(!0)}getLayer(t){return this.style.getLayer(t)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(t,e,i){return this.style.setLayerZoomRange(t,e,i),this._update(!0)}setFilter(t,e,i={}){return this.style.setFilter(t,e,i),this._update(!0)}getFilter(t){return this.style.getFilter(t)}setPaintProperty(t,e,i,a={}){return this.style.setPaintProperty(t,e,i,a),this._update(!0)}getPaintProperty(t,e){return this.style.getPaintProperty(t,e)}setLayoutProperty(t,e,i,a={}){return this.style.setLayoutProperty(t,e,i,a),this._update(!0)}getLayoutProperty(t,e){return this.style.getLayoutProperty(t,e)}setGlyphs(t,e={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(t,e),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(t,e,i={}){return this._lazyInitEmptyStyle(),this.style.addSprite(t,e,i,(t=>{t||this._update(!0);})),this}removeSprite(t){return this._lazyInitEmptyStyle(),this.style.removeSprite(t),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(t,e={}){return this._lazyInitEmptyStyle(),this.style.setSprite(t,e,(t=>{t||this._update(!0);})),this}setLight(t,e={}){return this._lazyInitEmptyStyle(),this.style.setLight(t,e),this._update(!0)}getLight(){return this.style.getLight()}setSky(t){return this._lazyInitEmptyStyle(),this.style.setSky(t),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(t,e){return this.style.setFeatureState(t,e),this._update()}removeFeatureState(t,e){return this.style.removeFeatureState(t,e),this._update()}getFeatureState(t){return this.style.getFeatureState(t)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let t=0,e=0;return this._container&&(t=this._container.clientWidth||400,e=this._container.clientHeight||300),[t,e]}_setupContainer(){const t=this._container;t.classList.add(\"maplibregl-map\");const e=this._canvasContainer=r.create(\"div\",\"maplibregl-canvas-container\",t);this._interactive&&e.classList.add(\"maplibregl-interactive\"),this._canvas=r.create(\"canvas\",\"maplibregl-canvas\",e),this._canvas.addEventListener(\"webglcontextlost\",this._contextLost,!1),this._canvas.addEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.setAttribute(\"tabindex\",this._interactive?\"0\":\"-1\"),this._canvas.setAttribute(\"aria-label\",this._getUIString(\"Map.Title\")),this._canvas.setAttribute(\"role\",\"region\");const i=this._containerDimensions(),a=this._getClampedPixelRatio(i[0],i[1]);this._resizeCanvas(i[0],i[1],a);const s=this._controlContainer=r.create(\"div\",\"maplibregl-control-container\",t),o=this._controlPositions={};[\"top-left\",\"top-right\",\"bottom-left\",\"bottom-right\"].forEach((t=>{o[t]=r.create(\"div\",`maplibregl-ctrl-${t} `,s);})),this._container.addEventListener(\"scroll\",this._onMapScroll,!1);}_resizeCanvas(t,e,i){this._canvas.width=Math.floor(i*t),this._canvas.height=Math.floor(i*e),this._canvas.style.width=`${t}px`,this._canvas.style.height=`${e}px`;}_setupPainter(){const t={alpha:!0,stencil:!0,depth:!0,failIfMajorPerformanceCaveat:this._failIfMajorPerformanceCaveat,preserveDrawingBuffer:this._preserveDrawingBuffer,antialias:this._antialias||!1};let e=null;this._canvas.addEventListener(\"webglcontextcreationerror\",(i=>{e={requestedAttributes:t},i&&(e.statusMessage=i.statusMessage,e.type=i.type);}),{once:!0});const i=this._canvas.getContext(\"webgl2\",t)||this._canvas.getContext(\"webgl\",t);if(!i){const t=\"Failed to initialize WebGL\";throw e?(e.message=t,new Error(JSON.stringify(e))):new Error(t)}this.painter=new va(i,this.transform),n.testSupport(i);}loaded(){return !this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(t){return this.style&&this.style._loaded?(this._styleDirty=this._styleDirty||t,this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(t){return this._update(),this._renderTaskQueue.add(t)}_cancelRenderFrame(t){this._renderTaskQueue.remove(t);}_render(t){const i=this._idleTriggered?this._fadeDuration:0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(t),this._removed)return;let a=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;const t=this.transform.zoom,s=o.now();this.style.zoomHistory.update(t,s);const r=new e.z(t,{now:s,fadeDuration:i,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),n=r.crossFadingFactor();1===n&&n===this._crossFadingFactor||(a=!0,this._crossFadingFactor=n),this.style.update(r);}this.style&&this._sourcesDirty&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.sourceCache.update(this.transform,this.terrain),this.transform.minElevationForCurrentTile=this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom),this._elevationFreeze||(this.transform.elevation=this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.minElevationForCurrentTile=0,this.transform.elevation=0),this._placementDirty=this.style&&this.style._updatePlacement(this.painter.transform,this.showCollisionBoxes,i,this._crossSourceCollisions),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:i,showPadding:this.showPadding}),this.fire(new e.k(\"render\")),this.loaded()&&!this._loaded&&(this._loaded=!0,e.bf.mark(e.bg.load),this.fire(new e.k(\"load\"))),this.style&&(this.style.hasTransitions()||a)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();const s=this._sourcesDirty||this._styleDirty||this._placementDirty;return s||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new e.k(\"idle\")),!this._loaded||this._fullyLoaded||s||(this._fullyLoaded=!0,e.bf.mark(e.bg.fullLoad)),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var t;this._hash&&this._hash.remove();for(const t of this._controls)t.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),\"undefined\"!=typeof window&&removeEventListener(\"online\",this._onWindowOnline,!1),_.removeThrottleControl(this._imageQueueHandle),null===(t=this._resizeObserver)||void 0===t||t.disconnect();const i=this.painter.context.gl.getExtension(\"WEBGL_lose_context\");(null==i?void 0:i.loseContext)&&i.loseContext(),this._canvas.removeEventListener(\"webglcontextrestored\",this._contextRestored,!1),this._canvas.removeEventListener(\"webglcontextlost\",this._contextLost,!1),r.remove(this._canvasContainer),r.remove(this._controlContainer),this._container.classList.remove(\"maplibregl-map\"),e.bf.clearMetrics(),this._removed=!0,this.fire(new e.k(\"remove\"));}triggerRepaint(){this.style&&!this._frameRequest&&(this._frameRequest=new AbortController,o.frameAsync(this._frameRequest).then((t=>{e.bf.frame(t),this._frameRequest=null,this._render(t);})).catch((()=>{})));}get showTileBoundaries(){return !!this._showTileBoundaries}set showTileBoundaries(t){this._showTileBoundaries!==t&&(this._showTileBoundaries=t,this._update());}get showPadding(){return !!this._showPadding}set showPadding(t){this._showPadding!==t&&(this._showPadding=t,this._update());}get showCollisionBoxes(){return !!this._showCollisionBoxes}set showCollisionBoxes(t){this._showCollisionBoxes!==t&&(this._showCollisionBoxes=t,t?this.style._generateCollisionBoxes():this._update());}get showOverdrawInspector(){return !!this._showOverdrawInspector}set showOverdrawInspector(t){this._showOverdrawInspector!==t&&(this._showOverdrawInspector=t,this._update());}get repaint(){return !!this._repaint}set repaint(t){this._repaint!==t&&(this._repaint=t,this.triggerRepaint());}get vertices(){return !!this._vertices}set vertices(t){this._vertices=t,this._update();}get version(){return Ls}getCameraTargetElevation(){return this.transform.elevation}},t.MapMouseEvent=ka,t.MapTouchEvent=La,t.MapWheelEvent=Fa,t.Marker=Vs,t.NavigationControl=class{constructor(t){this._updateZoomButtons=()=>{const t=this._map.getZoom(),e=t===this._map.getMaxZoom(),i=t===this._map.getMinZoom();this._zoomInButton.disabled=e,this._zoomOutButton.disabled=i,this._zoomInButton.setAttribute(\"aria-disabled\",e.toString()),this._zoomOutButton.setAttribute(\"aria-disabled\",i.toString());},this._rotateCompassArrow=()=>{const t=this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitch*(Math.PI/180)),.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${this._map.transform.angle*(180/Math.PI)}deg)`:`rotate(${this._map.transform.angle*(180/Math.PI)}deg)`;this._compassIcon.style.transform=t;},this._setButtonTitle=(t,e)=>{const i=this._map._getUIString(`NavigationControl.${e}`);t.title=i,t.setAttribute(\"aria-label\",i);},this.options=e.e({},Os,t),this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._container.addEventListener(\"contextmenu\",(t=>t.preventDefault())),this.options.showZoom&&(this._zoomInButton=this._createButton(\"maplibregl-ctrl-zoom-in\",(t=>this._map.zoomIn({},{originalEvent:t}))),r.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomInButton).setAttribute(\"aria-hidden\",\"true\"),this._zoomOutButton=this._createButton(\"maplibregl-ctrl-zoom-out\",(t=>this._map.zoomOut({},{originalEvent:t}))),r.create(\"span\",\"maplibregl-ctrl-icon\",this._zoomOutButton).setAttribute(\"aria-hidden\",\"true\")),this.options.showCompass&&(this._compass=this._createButton(\"maplibregl-ctrl-compass\",(t=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:t}):this._map.resetNorth({},{originalEvent:t});})),this._compassIcon=r.create(\"span\",\"maplibregl-ctrl-icon\",this._compass),this._compassIcon.setAttribute(\"aria-hidden\",\"true\"));}onAdd(t){return this._map=t,this.options.showZoom&&(this._setButtonTitle(this._zoomInButton,\"ZoomIn\"),this._setButtonTitle(this._zoomOutButton,\"ZoomOut\"),this._map.on(\"zoom\",this._updateZoomButtons),this._updateZoomButtons()),this.options.showCompass&&(this._setButtonTitle(this._compass,\"ResetBearing\"),this.options.visualizePitch&&this._map.on(\"pitch\",this._rotateCompassArrow),this._map.on(\"rotate\",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Ns(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){r.remove(this._container),this.options.showZoom&&this._map.off(\"zoom\",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off(\"pitch\",this._rotateCompassArrow),this._map.off(\"rotate\",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map;}_createButton(t,e){const i=r.create(\"button\",t,this._container);return i.type=\"button\",i.addEventListener(\"click\",e),i}},t.Popup=class extends e.E{constructor(t){super(),this.remove=()=>(this._content&&r.remove(this._content),this._container&&(r.remove(this._container),delete this._container),this._map&&(this._map.off(\"move\",this._update),this._map.off(\"move\",this._onClose),this._map.off(\"click\",this._onClose),this._map.off(\"remove\",this.remove),this._map.off(\"mousemove\",this._onMouseMove),this._map.off(\"mouseup\",this._onMouseUp),this._map.off(\"drag\",this._onDrag),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\"),delete this._map,this.fire(new e.k(\"close\"))),this),this._onMouseUp=t=>{this._update(t.point);},this._onMouseMove=t=>{this._update(t.point);},this._onDrag=t=>{this._update(t.point);},this._update=t=>{var e;if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=r.create(\"div\",\"maplibregl-popup\",this._map.getContainer()),this._tip=r.create(\"div\",\"maplibregl-popup-tip\",this._container),this._container.appendChild(this._content),this.options.className)for(const t of this.options.className.split(\" \"))this._container.classList.add(t);this._closeButton&&this._closeButton.setAttribute(\"aria-label\",this._map._getUIString(\"Popup.Close\")),this._trackPointer&&this._container.classList.add(\"maplibregl-popup-track-pointer\");}if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=this._map.transform.renderWorldCopies&&!this._trackPointer?js(this._lngLat,this._flatPos,this._map.transform):null===(e=this._lngLat)||void 0===e?void 0:e.wrap(),this._trackPointer&&!t)return;const i=this._flatPos=this._pos=this._trackPointer&&t?t:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&t?t:this._map.transform.locationPoint(this._lngLat));let a=this.options.anchor;const s=Qs(this.options.offset);if(!a){const t=this._container.offsetWidth,e=this._container.offsetHeight;let o;o=i.y+s.bottom.ythis._map.transform.height-e?[\"bottom\"]:[],i.xthis._map.transform.width-t/2&&o.push(\"right\"),a=0===o.length?\"bottom\":o.join(\"-\");}let o=i.add(s[a]);this.options.subpixelPositioning||(o=o.round()),r.setTransform(this._container,`${Zs[a]} translate(${o.x}px,${o.y}px)`),qs(this._container,a,\"popup\");},this._onClose=()=>{this.remove();},this.options=e.e(Object.create(Js),t);}addTo(t){return this._map&&this.remove(),this._map=t,this.options.closeOnClick&&this._map.on(\"click\",this._onClose),this.options.closeOnMove&&this._map.on(\"move\",this._onClose),this._map.on(\"remove\",this.remove),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"mouseup\",this._onMouseUp),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")):this._map.on(\"move\",this._update),this.fire(new e.k(\"open\")),this}isOpen(){return !!this._map}getLngLat(){return this._lngLat}setLngLat(t){return this._lngLat=e.N.convert(t),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on(\"move\",this._update),this._map.off(\"mousemove\",this._onMouseMove),this._container&&this._container.classList.remove(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.remove(\"maplibregl-track-pointer\")),this}trackPointer(){return this._trackPointer=!0,this._pos=null,this._flatPos=null,this._update(),this._map&&(this._map.off(\"move\",this._update),this._map.on(\"mousemove\",this._onMouseMove),this._map.on(\"drag\",this._onDrag),this._container&&this._container.classList.add(\"maplibregl-popup-track-pointer\"),this._map._canvasContainer.classList.add(\"maplibregl-track-pointer\")),this}getElement(){return this._container}setText(t){return this.setDOMContent(document.createTextNode(t))}setHTML(t){const e=document.createDocumentFragment(),i=document.createElement(\"body\");let a;for(i.innerHTML=t;a=i.firstChild,a;)e.appendChild(a);return this.setDOMContent(e)}getMaxWidth(){var t;return null===(t=this._container)||void 0===t?void 0:t.style.maxWidth}setMaxWidth(t){return this.options.maxWidth=t,this._update(),this}setDOMContent(t){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=r.create(\"div\",\"maplibregl-popup-content\",this._container);return this._content.appendChild(t),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(t){return this._container&&this._container.classList.add(t),this}removeClassName(t){return this._container&&this._container.classList.remove(t),this}setOffset(t){return this.options.offset=t,this._update(),this}toggleClassName(t){if(this._container)return this._container.classList.toggle(t)}setSubpixelPositioning(t){this.options.subpixelPositioning=t;}_createCloseButton(){this.options.closeButton&&(this._closeButton=r.create(\"button\",\"maplibregl-popup-close-button\",this._content),this._closeButton.type=\"button\",this._closeButton.innerHTML=\"×\",this._closeButton.addEventListener(\"click\",this._onClose));}_focusFirstElement(){if(!this.options.focusAfterOpen||!this._container)return;const t=this._container.querySelector(Ys);t&&t.focus();}},t.RasterDEMTileSource=K,t.RasterTileSource=X,t.ScaleControl=class{constructor(t){this._onMove=()=>{Xs(this._map,this._container,this.options);},this.setUnit=t=>{this.options.unit=t,Xs(this._map,this._container,this.options);},this.options=Object.assign(Object.assign({},$s),t);}getDefaultPosition(){return \"bottom-left\"}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-scale\",t.getContainer()),this._map.on(\"move\",this._onMove),this._onMove(),this._container}onRemove(){r.remove(this._container),this._map.off(\"move\",this._onMove),this._map=void 0;}},t.ScrollZoomHandler=us,t.Style=de,t.TerrainControl=class{constructor(t){this._toggleTerrain=()=>{this._map.getTerrain()?this._map.setTerrain(null):this._map.setTerrain(this.options),this._updateTerrainIcon();},this._updateTerrainIcon=()=>{this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain\"),this._terrainButton.classList.remove(\"maplibregl-ctrl-terrain-enabled\"),this._map.terrain?(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain-enabled\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Disable\")):(this._terrainButton.classList.add(\"maplibregl-ctrl-terrain\"),this._terrainButton.title=this._map._getUIString(\"TerrainControl.Enable\"));},this.options=t;}onAdd(t){return this._map=t,this._container=r.create(\"div\",\"maplibregl-ctrl maplibregl-ctrl-group\"),this._terrainButton=r.create(\"button\",\"maplibregl-ctrl-terrain\",this._container),r.create(\"span\",\"maplibregl-ctrl-icon\",this._terrainButton).setAttribute(\"aria-hidden\",\"true\"),this._terrainButton.type=\"button\",this._terrainButton.addEventListener(\"click\",this._toggleTerrain),this._updateTerrainIcon(),this._map.on(\"terrain\",this._updateTerrainIcon),this._container}onRemove(){r.remove(this._container),this._map.off(\"terrain\",this._updateTerrainIcon),this._map=void 0;}},t.TwoFingersTouchPitchHandler=rs,t.TwoFingersTouchRotateHandler=ss,t.TwoFingersTouchZoomHandler=is,t.TwoFingersTouchZoomRotateHandler=gs,t.VectorTileSource=$,t.VideoSource=tt,t.addSourceType=(t,i)=>e._(void 0,void 0,void 0,(function*(){if(at(t))throw new Error(`A source type called \"${t}\" already exists.`);((t,e)=>{it[t]=e;})(t,i);})),t.clearPrewarmedResources=function(){const t=B;t&&(t.isPreloaded()&&1===t.numActive()?(t.release(k),B=null):console.warn(\"Could not clear WebWorkers since there are active Map instances that still reference it. The pre-warmed WebWorker pool can only be cleared when all map instances have been removed with map.remove()\"));},t.getMaxParallelImageRequests=function(){return e.a.MAX_PARALLEL_IMAGE_REQUESTS},t.getRTLTextPluginStatus=function(){return nt().getRTLTextPluginStatus()},t.getVersion=function(){return to},t.getWorkerCount=function(){return L.workerCount},t.getWorkerUrl=function(){return e.a.WORKER_URL},t.importScriptInWorkers=function(t){return j().broadcast(\"IS\",t)},t.prewarm=function(){N().acquire(k);},t.setMaxParallelImageRequests=function(t){e.a.MAX_PARALLEL_IMAGE_REQUESTS=t;},t.setRTLTextPlugin=function(t,e){return nt().setRTLTextPlugin(t,e)},t.setWorkerCount=function(t){L.workerCount=t;},t.setWorkerUrl=function(t){e.a.WORKER_URL=t;};}));\n\n//\n// Our custom intro provides a specialized \"define()\" function, called by the\n// AMD modules below, that sets up the worker blob URL and then executes the\n// main module, storing its exported value as 'maplibregl'\n\n\nvar maplibregl$1 = maplibregl;\n\nreturn maplibregl$1;\n\n}));\n//# sourceMappingURL=maplibre-gl.js.map\n","import type maplibregl from 'maplibre-gl';\n\nconst colorPrimary = 'rgb(170, 0, 0)';\nconst colorSecondary = '#aaa';\n\nexport default class PulsingDot {\n width: number;\n\n height: number;\n\n data: Uint8ClampedArray;\n\n map: maplibregl.Map;\n\n focused: boolean;\n\n route: string;\n\n heading: number;\n\n rendered = false;\n\n context: CanvasRenderingContext2D | undefined;\n\n constructor(map: maplibregl.Map, focused: boolean, route: string, heading: number) {\n this.map = map;\n this.focused = focused;\n this.route = route;\n this.heading = heading;\n if (focused) {\n this.width = 100;\n this.height = 100;\n } else {\n this.width = 80;\n this.height = 80;\n }\n this.data = new Uint8ClampedArray(this.width * this.height * 4);\n }\n\n // get rendering context for the map canvas when layer is added to the map\n onAdd() {\n const canvas = document.createElement('canvas');\n canvas.width = this.width;\n canvas.height = this.height;\n this.context = canvas.getContext('2d') || undefined;\n }\n\n // called once before every frame where the icon will be used\n render() {\n if (this.rendered || !this.context) {\n return false;\n }\n const radius = (this.width / 2) * 0.6;\n const { context } = this;\n\n // clear canvas\n context.save();\n context.fillStyle = '#fff';\n context.clearRect(0, 0, this.width, this.height);\n // context.fillRect(0, 0, this.width, this.height);\n\n context.translate(this.width / 2, this.height / 2);\n\n if (this.focused) {\n // draw arrow\n context.rotate((this.heading * Math.PI) / 180);\n const lineWidth = 6;\n\n context.beginPath();\n context.moveTo(0, -this.height / 2 + lineWidth);\n context.lineTo(35 - lineWidth, 35 - lineWidth);\n context.lineTo(0, 25 - lineWidth);\n context.lineTo(-35 + lineWidth, 35 - lineWidth);\n context.closePath();\n\n context.lineWidth = lineWidth;\n context.strokeStyle = colorSecondary;\n context.stroke();\n\n context.fillStyle = colorPrimary;\n context.fill();\n\n context.rotate((-this.heading * Math.PI) / 180);\n } else {\n // draw heading nose\n if (typeof this.heading !== 'undefined' && this.heading !== null) {\n context.rotate((this.heading * Math.PI) / 180);\n context.beginPath();\n context.fillStyle = colorSecondary;\n const height = 15;\n const width = 18;\n context.moveTo(0, 0 - radius - height);\n context.lineTo(0 - width / 2, 0 - radius);\n context.lineTo(0 + width / 2, 0 - radius);\n context.closePath();\n context.fill('evenodd');\n context.rotate((-this.heading * Math.PI) / 180);\n }\n\n // draw base (circle)\n context.beginPath();\n context.arc(0, 0, radius, 0, 2 * Math.PI);\n context.lineWidth = 4;\n context.strokeStyle = colorSecondary;\n context.fillStyle = colorPrimary;\n context.fill('evenodd');\n context.stroke();\n }\n // draw text (route)\n context.fillStyle = '#eee';\n context.font = '20px Arial';\n context.textAlign = 'center';\n context.textBaseline = 'middle';\n context.fillText(this.route, 0, 0);\n\n context.restore();\n\n // update this image's data with data from the canvas\n this.data = context.getImageData(0, 0, this.width, this.height).data;\n this.rendered = true;\n\n // return `true` to let the map know that the image was updated\n return true;\n }\n}\n","\n\n\n\n\n","import { computed, ref } from 'vue';\nimport { useTrack } from './useTrack';\n\ninterface Favorite {\n id: string;\n type: string;\n name: string;\n}\nconst LS_FAVORITES_KEY = 'kiel-live-favorites-v1';\n\n// migrate legacy favorites\ninterface LegacyFavorite {\n id: string;\n name: string;\n favorite: true;\n}\nconst LS_LEGACY_FAVORITES_KEY = 'favoriteStops';\nconst legacyLocalStorageItem = localStorage.getItem(LS_LEGACY_FAVORITES_KEY);\nif (legacyLocalStorageItem !== null) {\n const legacyFavorites = JSON.parse(legacyLocalStorageItem) as LegacyFavorite[];\n localStorage.setItem(\n LS_FAVORITES_KEY,\n JSON.stringify(legacyFavorites.map((f) => ({ id: `kvg-${f.id}`, name: f.name, type: 'bus-stop' }))),\n );\n localStorage.removeItem(LS_LEGACY_FAVORITES_KEY);\n}\n\nconst favoritesRaw = ref(JSON.parse(localStorage.getItem(LS_FAVORITES_KEY) ?? '[]') as Favorite[]);\n\nconst favorites = computed({\n get() {\n return favoritesRaw.value;\n },\n set(_favorites: Favorite[]) {\n favoritesRaw.value = _favorites;\n localStorage.setItem(LS_FAVORITES_KEY, JSON.stringify(_favorites));\n },\n});\n\nconst { track } = useTrack();\n\nfunction addFavorite({ id, name, type }: Favorite) {\n favorites.value = [...favorites.value, { id, name, type }];\n track('favorite:add', { favorites: favorites.value.length });\n}\n\nfunction removeFavorite(favorite: Pick) {\n favorites.value = favorites.value.filter((f) => f.id !== favorite.id);\n track('favorite:remove', { favorites: favorites.value.length });\n}\n\nfunction isFavorite(favorite: Pick) {\n return favorites.value.some((f) => f.id === favorite.id);\n}\n\nexport function useFavorites() {\n return { favorites, addFavorite, removeFavorite, isFavorite };\n}\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n","/**\n * Fuse.js v7.0.0 - Lightweight fuzzy-search (http://fusejs.io)\n *\n * Copyright (c) 2023 Kiro Risk (http://kiro.me)\n * All Rights Reserved. Apache Software License 2.0\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nfunction isArray(value) {\n return !Array.isArray\n ? getTag(value) === '[object Array]'\n : Array.isArray(value)\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js\nconst INFINITY = 1 / 0;\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value\n }\n let result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result\n}\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value)\n}\n\nfunction isString(value) {\n return typeof value === 'string'\n}\n\nfunction isNumber(value) {\n return typeof value === 'number'\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js\nfunction isBoolean(value) {\n return (\n value === true ||\n value === false ||\n (isObjectLike(value) && getTag(value) == '[object Boolean]')\n )\n}\n\nfunction isObject(value) {\n return typeof value === 'object'\n}\n\n// Checks if `value` is object-like.\nfunction isObjectLike(value) {\n return isObject(value) && value !== null\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null\n}\n\nfunction isBlank(value) {\n return !value.trim().length\n}\n\n// Gets the `toStringTag` of `value`.\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js\nfunction getTag(value) {\n return value == null\n ? value === undefined\n ? '[object Undefined]'\n : '[object Null]'\n : Object.prototype.toString.call(value)\n}\n\nconst EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';\n\nconst INCORRECT_INDEX_TYPE = \"Incorrect 'index' type\";\n\nconst LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) =>\n `Invalid value for key ${key}`;\n\nconst PATTERN_LENGTH_TOO_LARGE = (max) =>\n `Pattern length exceeds max of ${max}.`;\n\nconst MISSING_KEY_PROPERTY = (name) => `Missing ${name} property in key`;\n\nconst INVALID_KEY_WEIGHT_VALUE = (key) =>\n `Property 'weight' in key '${key}' must be a positive integer`;\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nclass KeyStore {\n constructor(keys) {\n this._keys = [];\n this._keyMap = {};\n\n let totalWeight = 0;\n\n keys.forEach((key) => {\n let obj = createKey(key);\n\n this._keys.push(obj);\n this._keyMap[obj.id] = obj;\n\n totalWeight += obj.weight;\n });\n\n // Normalize weights so that their sum is equal to 1\n this._keys.forEach((key) => {\n key.weight /= totalWeight;\n });\n }\n get(keyId) {\n return this._keyMap[keyId]\n }\n keys() {\n return this._keys\n }\n toJSON() {\n return JSON.stringify(this._keys)\n }\n}\n\nfunction createKey(key) {\n let path = null;\n let id = null;\n let src = null;\n let weight = 1;\n let getFn = null;\n\n if (isString(key) || isArray(key)) {\n src = key;\n path = createKeyPath(key);\n id = createKeyId(key);\n } else {\n if (!hasOwn.call(key, 'name')) {\n throw new Error(MISSING_KEY_PROPERTY('name'))\n }\n\n const name = key.name;\n src = name;\n\n if (hasOwn.call(key, 'weight')) {\n weight = key.weight;\n\n if (weight <= 0) {\n throw new Error(INVALID_KEY_WEIGHT_VALUE(name))\n }\n }\n\n path = createKeyPath(name);\n id = createKeyId(name);\n getFn = key.getFn;\n }\n\n return { path, id, weight, src, getFn }\n}\n\nfunction createKeyPath(key) {\n return isArray(key) ? key : key.split('.')\n}\n\nfunction createKeyId(key) {\n return isArray(key) ? key.join('.') : key\n}\n\nfunction get(obj, path) {\n let list = [];\n let arr = false;\n\n const deepGet = (obj, path, index) => {\n if (!isDefined(obj)) {\n return\n }\n if (!path[index]) {\n // If there's no path left, we've arrived at the object we care about.\n list.push(obj);\n } else {\n let key = path[index];\n\n const value = obj[key];\n\n if (!isDefined(value)) {\n return\n }\n\n // If we're at the last value in the path, and if it's a string/number/bool,\n // add it to the list\n if (\n index === path.length - 1 &&\n (isString(value) || isNumber(value) || isBoolean(value))\n ) {\n list.push(toString(value));\n } else if (isArray(value)) {\n arr = true;\n // Search each item in the array.\n for (let i = 0, len = value.length; i < len; i += 1) {\n deepGet(value[i], path, index + 1);\n }\n } else if (path.length) {\n // An object. Recurse further.\n deepGet(value, path, index + 1);\n }\n }\n };\n\n // Backwards compatibility (since path used to be a string)\n deepGet(obj, isString(path) ? path.split('.') : path, 0);\n\n return arr ? list : list[0]\n}\n\nconst MatchOptions = {\n // Whether the matches should be included in the result set. When `true`, each record in the result\n // set will include the indices of the matched characters.\n // These can consequently be used for highlighting purposes.\n includeMatches: false,\n // When `true`, the matching function will continue to the end of a search pattern even if\n // a perfect match has already been located in the string.\n findAllMatches: false,\n // Minimum number of characters that must be matched before a result is considered a match\n minMatchCharLength: 1\n};\n\nconst BasicOptions = {\n // When `true`, the algorithm continues searching to the end of the input even if a perfect\n // match is found before the end of the same input.\n isCaseSensitive: false,\n // When true, the matching function will continue to the end of a search pattern even if\n includeScore: false,\n // List of properties that will be searched. This also supports nested properties.\n keys: [],\n // Whether to sort the result list, by score\n shouldSort: true,\n // Default sort function: sort by ascending score, ascending index\n sortFn: (a, b) =>\n a.score === b.score ? (a.idx < b.idx ? -1 : 1) : a.score < b.score ? -1 : 1\n};\n\nconst FuzzyOptions = {\n // Approximately where in the text is the pattern expected to be found?\n location: 0,\n // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match\n // (of both letters and location), a threshold of '1.0' would match anything.\n threshold: 0.6,\n // Determines how close the match must be to the fuzzy location (specified above).\n // An exact letter match which is 'distance' characters away from the fuzzy location\n // would score as a complete mismatch. A distance of '0' requires the match be at\n // the exact location specified, a threshold of '1000' would require a perfect match\n // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.\n distance: 100\n};\n\nconst AdvancedOptions = {\n // When `true`, it enables the use of unix-like search commands\n useExtendedSearch: false,\n // The get function to use when fetching an object's properties.\n // The default will search nested paths *ie foo.bar.baz*\n getFn: get,\n // When `true`, search will ignore `location` and `distance`, so it won't matter\n // where in the string the pattern appears.\n // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score\n ignoreLocation: false,\n // When `true`, the calculation for the relevance score (used for sorting) will\n // ignore the field-length norm.\n // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm\n ignoreFieldNorm: false,\n // The weight to determine how much field length norm effects scoring.\n fieldNormWeight: 1\n};\n\nvar Config = {\n ...BasicOptions,\n ...MatchOptions,\n ...FuzzyOptions,\n ...AdvancedOptions\n};\n\nconst SPACE = /[^ ]+/g;\n\n// Field-length norm: the shorter the field, the higher the weight.\n// Set to 3 decimals to reduce index size.\nfunction norm(weight = 1, mantissa = 3) {\n const cache = new Map();\n const m = Math.pow(10, mantissa);\n\n return {\n get(value) {\n const numTokens = value.match(SPACE).length;\n\n if (cache.has(numTokens)) {\n return cache.get(numTokens)\n }\n\n // Default function is 1/sqrt(x), weight makes that variable\n const norm = 1 / Math.pow(numTokens, 0.5 * weight);\n\n // In place of `toFixed(mantissa)`, for faster computation\n const n = parseFloat(Math.round(norm * m) / m);\n\n cache.set(numTokens, n);\n\n return n\n },\n clear() {\n cache.clear();\n }\n }\n}\n\nclass FuseIndex {\n constructor({\n getFn = Config.getFn,\n fieldNormWeight = Config.fieldNormWeight\n } = {}) {\n this.norm = norm(fieldNormWeight, 3);\n this.getFn = getFn;\n this.isCreated = false;\n\n this.setIndexRecords();\n }\n setSources(docs = []) {\n this.docs = docs;\n }\n setIndexRecords(records = []) {\n this.records = records;\n }\n setKeys(keys = []) {\n this.keys = keys;\n this._keysMap = {};\n keys.forEach((key, idx) => {\n this._keysMap[key.id] = idx;\n });\n }\n create() {\n if (this.isCreated || !this.docs.length) {\n return\n }\n\n this.isCreated = true;\n\n // List is Array\n if (isString(this.docs[0])) {\n this.docs.forEach((doc, docIndex) => {\n this._addString(doc, docIndex);\n });\n } else {\n // List is Array\n this.docs.forEach((doc, docIndex) => {\n this._addObject(doc, docIndex);\n });\n }\n\n this.norm.clear();\n }\n // Adds a doc to the end of the index\n add(doc) {\n const idx = this.size();\n\n if (isString(doc)) {\n this._addString(doc, idx);\n } else {\n this._addObject(doc, idx);\n }\n }\n // Removes the doc at the specified index of the index\n removeAt(idx) {\n this.records.splice(idx, 1);\n\n // Change ref index of every subsquent doc\n for (let i = idx, len = this.size(); i < len; i += 1) {\n this.records[i].i -= 1;\n }\n }\n getValueForItemAtKeyId(item, keyId) {\n return item[this._keysMap[keyId]]\n }\n size() {\n return this.records.length\n }\n _addString(doc, docIndex) {\n if (!isDefined(doc) || isBlank(doc)) {\n return\n }\n\n let record = {\n v: doc,\n i: docIndex,\n n: this.norm.get(doc)\n };\n\n this.records.push(record);\n }\n _addObject(doc, docIndex) {\n let record = { i: docIndex, $: {} };\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n this.keys.forEach((key, keyIndex) => {\n let value = key.getFn ? key.getFn(doc) : this.getFn(doc, key.path);\n\n if (!isDefined(value)) {\n return\n }\n\n if (isArray(value)) {\n let subRecords = [];\n const stack = [{ nestedArrIndex: -1, value }];\n\n while (stack.length) {\n const { nestedArrIndex, value } = stack.pop();\n\n if (!isDefined(value)) {\n continue\n }\n\n if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n i: nestedArrIndex,\n n: this.norm.get(value)\n };\n\n subRecords.push(subRecord);\n } else if (isArray(value)) {\n value.forEach((item, k) => {\n stack.push({\n nestedArrIndex: k,\n value: item\n });\n });\n } else ;\n }\n record.$[keyIndex] = subRecords;\n } else if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n n: this.norm.get(value)\n };\n\n record.$[keyIndex] = subRecord;\n }\n });\n\n this.records.push(record);\n }\n toJSON() {\n return {\n keys: this.keys,\n records: this.records\n }\n }\n}\n\nfunction createIndex(\n keys,\n docs,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys.map(createKey));\n myIndex.setSources(docs);\n myIndex.create();\n return myIndex\n}\n\nfunction parseIndex(\n data,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const { keys, records } = data;\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys);\n myIndex.setIndexRecords(records);\n return myIndex\n}\n\nfunction computeScore$1(\n pattern,\n {\n errors = 0,\n currentLocation = 0,\n expectedLocation = 0,\n distance = Config.distance,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n const accuracy = errors / pattern.length;\n\n if (ignoreLocation) {\n return accuracy\n }\n\n const proximity = Math.abs(expectedLocation - currentLocation);\n\n if (!distance) {\n // Dodge divide by zero error.\n return proximity ? 1.0 : accuracy\n }\n\n return accuracy + proximity / distance\n}\n\nfunction convertMaskToIndices(\n matchmask = [],\n minMatchCharLength = Config.minMatchCharLength\n) {\n let indices = [];\n let start = -1;\n let end = -1;\n let i = 0;\n\n for (let len = matchmask.length; i < len; i += 1) {\n let match = matchmask[i];\n if (match && start === -1) {\n start = i;\n } else if (!match && start !== -1) {\n end = i - 1;\n if (end - start + 1 >= minMatchCharLength) {\n indices.push([start, end]);\n }\n start = -1;\n }\n }\n\n // (i-1 - start) + 1 => i - start\n if (matchmask[i - 1] && i - start >= minMatchCharLength) {\n indices.push([start, i - 1]);\n }\n\n return indices\n}\n\n// Machine word size\nconst MAX_BITS = 32;\n\nfunction search(\n text,\n pattern,\n patternAlphabet,\n {\n location = Config.location,\n distance = Config.distance,\n threshold = Config.threshold,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n includeMatches = Config.includeMatches,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n if (pattern.length > MAX_BITS) {\n throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS))\n }\n\n const patternLen = pattern.length;\n // Set starting location at beginning text and initialize the alphabet.\n const textLen = text.length;\n // Handle the case when location > text.length\n const expectedLocation = Math.max(0, Math.min(location, textLen));\n // Highest score beyond which we give up.\n let currentThreshold = threshold;\n // Is there a nearby exact match? (speedup)\n let bestLocation = expectedLocation;\n\n // Performance: only computer matches when the minMatchCharLength > 1\n // OR if `includeMatches` is true.\n const computeMatches = minMatchCharLength > 1 || includeMatches;\n // A mask of the matches, used for building the indices\n const matchMask = computeMatches ? Array(textLen) : [];\n\n let index;\n\n // Get all exact matches, here for speed up\n while ((index = text.indexOf(pattern, bestLocation)) > -1) {\n let score = computeScore$1(pattern, {\n currentLocation: index,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n currentThreshold = Math.min(score, currentThreshold);\n bestLocation = index + patternLen;\n\n if (computeMatches) {\n let i = 0;\n while (i < patternLen) {\n matchMask[index + i] = 1;\n i += 1;\n }\n }\n }\n\n // Reset the best location\n bestLocation = -1;\n\n let lastBitArr = [];\n let finalScore = 1;\n let binMax = patternLen + textLen;\n\n const mask = 1 << (patternLen - 1);\n\n for (let i = 0; i < patternLen; i += 1) {\n // Scan for the best match; each iteration allows for one more error.\n // Run a binary search to determine how far from the match location we can stray\n // at this error level.\n let binMin = 0;\n let binMid = binMax;\n\n while (binMin < binMid) {\n const score = computeScore$1(pattern, {\n errors: i,\n currentLocation: expectedLocation + binMid,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score <= currentThreshold) {\n binMin = binMid;\n } else {\n binMax = binMid;\n }\n\n binMid = Math.floor((binMax - binMin) / 2 + binMin);\n }\n\n // Use the result from this iteration as the maximum for the next.\n binMax = binMid;\n\n let start = Math.max(1, expectedLocation - binMid + 1);\n let finish = findAllMatches\n ? textLen\n : Math.min(expectedLocation + binMid, textLen) + patternLen;\n\n // Initialize the bit array\n let bitArr = Array(finish + 2);\n\n bitArr[finish + 1] = (1 << i) - 1;\n\n for (let j = finish; j >= start; j -= 1) {\n let currentLocation = j - 1;\n let charMatch = patternAlphabet[text.charAt(currentLocation)];\n\n if (computeMatches) {\n // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)\n matchMask[currentLocation] = +!!charMatch;\n }\n\n // First pass: exact match\n bitArr[j] = ((bitArr[j + 1] << 1) | 1) & charMatch;\n\n // Subsequent passes: fuzzy match\n if (i) {\n bitArr[j] |=\n ((lastBitArr[j + 1] | lastBitArr[j]) << 1) | 1 | lastBitArr[j + 1];\n }\n\n if (bitArr[j] & mask) {\n finalScore = computeScore$1(pattern, {\n errors: i,\n currentLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n // This match will almost certainly be better than any existing match.\n // But check anyway.\n if (finalScore <= currentThreshold) {\n // Indeed it is\n currentThreshold = finalScore;\n bestLocation = currentLocation;\n\n // Already passed `loc`, downhill from here on in.\n if (bestLocation <= expectedLocation) {\n break\n }\n\n // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.\n start = Math.max(1, 2 * expectedLocation - bestLocation);\n }\n }\n }\n\n // No hope for a (better) match at greater error levels.\n const score = computeScore$1(pattern, {\n errors: i + 1,\n currentLocation: expectedLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score > currentThreshold) {\n break\n }\n\n lastBitArr = bitArr;\n }\n\n const result = {\n isMatch: bestLocation >= 0,\n // Count exact matches (those with a score of 0) to be \"almost\" exact\n score: Math.max(0.001, finalScore)\n };\n\n if (computeMatches) {\n const indices = convertMaskToIndices(matchMask, minMatchCharLength);\n if (!indices.length) {\n result.isMatch = false;\n } else if (includeMatches) {\n result.indices = indices;\n }\n }\n\n return result\n}\n\nfunction createPatternAlphabet(pattern) {\n let mask = {};\n\n for (let i = 0, len = pattern.length; i < len; i += 1) {\n const char = pattern.charAt(i);\n mask[char] = (mask[char] || 0) | (1 << (len - i - 1));\n }\n\n return mask\n}\n\nclass BitapSearch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n this.options = {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n\n this.chunks = [];\n\n if (!this.pattern.length) {\n return\n }\n\n const addChunk = (pattern, startIndex) => {\n this.chunks.push({\n pattern,\n alphabet: createPatternAlphabet(pattern),\n startIndex\n });\n };\n\n const len = this.pattern.length;\n\n if (len > MAX_BITS) {\n let i = 0;\n const remainder = len % MAX_BITS;\n const end = len - remainder;\n\n while (i < end) {\n addChunk(this.pattern.substr(i, MAX_BITS), i);\n i += MAX_BITS;\n }\n\n if (remainder) {\n const startIndex = len - MAX_BITS;\n addChunk(this.pattern.substr(startIndex), startIndex);\n }\n } else {\n addChunk(this.pattern, 0);\n }\n }\n\n searchIn(text) {\n const { isCaseSensitive, includeMatches } = this.options;\n\n if (!isCaseSensitive) {\n text = text.toLowerCase();\n }\n\n // Exact match\n if (this.pattern === text) {\n let result = {\n isMatch: true,\n score: 0\n };\n\n if (includeMatches) {\n result.indices = [[0, text.length - 1]];\n }\n\n return result\n }\n\n // Otherwise, use Bitap algorithm\n const {\n location,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n ignoreLocation\n } = this.options;\n\n let allIndices = [];\n let totalScore = 0;\n let hasMatches = false;\n\n this.chunks.forEach(({ pattern, alphabet, startIndex }) => {\n const { isMatch, score, indices } = search(text, pattern, alphabet, {\n location: location + startIndex,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n includeMatches,\n ignoreLocation\n });\n\n if (isMatch) {\n hasMatches = true;\n }\n\n totalScore += score;\n\n if (isMatch && indices) {\n allIndices = [...allIndices, ...indices];\n }\n });\n\n let result = {\n isMatch: hasMatches,\n score: hasMatches ? totalScore / this.chunks.length : 1\n };\n\n if (hasMatches && includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n}\n\nclass BaseMatch {\n constructor(pattern) {\n this.pattern = pattern;\n }\n static isMultiMatch(pattern) {\n return getMatch(pattern, this.multiRegex)\n }\n static isSingleMatch(pattern) {\n return getMatch(pattern, this.singleRegex)\n }\n search(/*text*/) {}\n}\n\nfunction getMatch(pattern, exp) {\n const matches = pattern.match(exp);\n return matches ? matches[1] : null\n}\n\n// Token: 'file\n\nclass ExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'exact'\n }\n static get multiRegex() {\n return /^=\"(.*)\"$/\n }\n static get singleRegex() {\n return /^=(.*)$/\n }\n search(text) {\n const isMatch = text === this.pattern;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !fire\n\nclass InverseExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!(.*)$/\n }\n search(text) {\n const index = text.indexOf(this.pattern);\n const isMatch = index === -1;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: ^file\n\nclass PrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'prefix-exact'\n }\n static get multiRegex() {\n return /^\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^\\^(.*)$/\n }\n search(text) {\n const isMatch = text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !^fire\n\nclass InversePrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-prefix-exact'\n }\n static get multiRegex() {\n return /^!\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!\\^(.*)$/\n }\n search(text) {\n const isMatch = !text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: .file$\n\nclass SuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'suffix-exact'\n }\n static get multiRegex() {\n return /^\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^(.*)\\$$/\n }\n search(text) {\n const isMatch = text.endsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [text.length - this.pattern.length, text.length - 1]\n }\n }\n}\n\n// Token: !.file$\n\nclass InverseSuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-suffix-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^!(.*)\\$$/\n }\n search(text) {\n const isMatch = !text.endsWith(this.pattern);\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\nclass FuzzyMatch extends BaseMatch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n super(pattern);\n this._bitapSearch = new BitapSearch(pattern, {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n });\n }\n static get type() {\n return 'fuzzy'\n }\n static get multiRegex() {\n return /^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^(.*)$/\n }\n search(text) {\n return this._bitapSearch.searchIn(text)\n }\n}\n\n// Token: 'file\n\nclass IncludeMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'include'\n }\n static get multiRegex() {\n return /^'\"(.*)\"$/\n }\n static get singleRegex() {\n return /^'(.*)$/\n }\n search(text) {\n let location = 0;\n let index;\n\n const indices = [];\n const patternLen = this.pattern.length;\n\n // Get all exact matches\n while ((index = text.indexOf(this.pattern, location)) > -1) {\n location = index + patternLen;\n indices.push([index, location - 1]);\n }\n\n const isMatch = !!indices.length;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices\n }\n }\n}\n\n// ❗Order is important. DO NOT CHANGE.\nconst searchers = [\n ExactMatch,\n IncludeMatch,\n PrefixExactMatch,\n InversePrefixExactMatch,\n InverseSuffixExactMatch,\n SuffixExactMatch,\n InverseExactMatch,\n FuzzyMatch\n];\n\nconst searchersLen = searchers.length;\n\n// Regex to split by spaces, but keep anything in quotes together\nconst SPACE_RE = / +(?=(?:[^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)/;\nconst OR_TOKEN = '|';\n\n// Return a 2D array representation of the query, for simpler parsing.\n// Example:\n// \"^core go$ | rb$ | py$ xy$\" => [[\"^core\", \"go$\"], [\"rb$\"], [\"py$\", \"xy$\"]]\nfunction parseQuery(pattern, options = {}) {\n return pattern.split(OR_TOKEN).map((item) => {\n let query = item\n .trim()\n .split(SPACE_RE)\n .filter((item) => item && !!item.trim());\n\n let results = [];\n for (let i = 0, len = query.length; i < len; i += 1) {\n const queryItem = query[i];\n\n // 1. Handle multiple query match (i.e, once that are quoted, like `\"hello world\"`)\n let found = false;\n let idx = -1;\n while (!found && ++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isMultiMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n found = true;\n }\n }\n\n if (found) {\n continue\n }\n\n // 2. Handle single query matches (i.e, once that are *not* quoted)\n idx = -1;\n while (++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isSingleMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n break\n }\n }\n }\n\n return results\n })\n}\n\n// These extended matchers can return an array of matches, as opposed\n// to a singl match\nconst MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]);\n\n/**\n * Command-like searching\n * ======================\n *\n * Given multiple search terms delimited by spaces.e.g. `^jscript .python$ ruby !java`,\n * search in a given text.\n *\n * Search syntax:\n *\n * | Token | Match type | Description |\n * | ----------- | -------------------------- | -------------------------------------- |\n * | `jscript` | fuzzy-match | Items that fuzzy match `jscript` |\n * | `=scheme` | exact-match | Items that are `scheme` |\n * | `'python` | include-match | Items that include `python` |\n * | `!ruby` | inverse-exact-match | Items that do not include `ruby` |\n * | `^java` | prefix-exact-match | Items that start with `java` |\n * | `!^earlang` | inverse-prefix-exact-match | Items that do not start with `earlang` |\n * | `.js$` | suffix-exact-match | Items that end with `.js` |\n * | `!.go$` | inverse-suffix-exact-match | Items that do not end with `.go` |\n *\n * A single pipe character acts as an OR operator. For example, the following\n * query matches entries that start with `core` and end with either`go`, `rb`,\n * or`py`.\n *\n * ```\n * ^core go$ | rb$ | py$\n * ```\n */\nclass ExtendedSearch {\n constructor(\n pattern,\n {\n isCaseSensitive = Config.isCaseSensitive,\n includeMatches = Config.includeMatches,\n minMatchCharLength = Config.minMatchCharLength,\n ignoreLocation = Config.ignoreLocation,\n findAllMatches = Config.findAllMatches,\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance\n } = {}\n ) {\n this.query = null;\n this.options = {\n isCaseSensitive,\n includeMatches,\n minMatchCharLength,\n findAllMatches,\n ignoreLocation,\n location,\n threshold,\n distance\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n this.query = parseQuery(this.pattern, this.options);\n }\n\n static condition(_, options) {\n return options.useExtendedSearch\n }\n\n searchIn(text) {\n const query = this.query;\n\n if (!query) {\n return {\n isMatch: false,\n score: 1\n }\n }\n\n const { includeMatches, isCaseSensitive } = this.options;\n\n text = isCaseSensitive ? text : text.toLowerCase();\n\n let numMatches = 0;\n let allIndices = [];\n let totalScore = 0;\n\n // ORs\n for (let i = 0, qLen = query.length; i < qLen; i += 1) {\n const searchers = query[i];\n\n // Reset indices\n allIndices.length = 0;\n numMatches = 0;\n\n // ANDs\n for (let j = 0, pLen = searchers.length; j < pLen; j += 1) {\n const searcher = searchers[j];\n const { isMatch, indices, score } = searcher.search(text);\n\n if (isMatch) {\n numMatches += 1;\n totalScore += score;\n if (includeMatches) {\n const type = searcher.constructor.type;\n if (MultiMatchSet.has(type)) {\n allIndices = [...allIndices, ...indices];\n } else {\n allIndices.push(indices);\n }\n }\n } else {\n totalScore = 0;\n numMatches = 0;\n allIndices.length = 0;\n break\n }\n }\n\n // OR condition, so if TRUE, return\n if (numMatches) {\n let result = {\n isMatch: true,\n score: totalScore / numMatches\n };\n\n if (includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n }\n\n // Nothing was matched\n return {\n isMatch: false,\n score: 1\n }\n }\n}\n\nconst registeredSearchers = [];\n\nfunction register(...args) {\n registeredSearchers.push(...args);\n}\n\nfunction createSearcher(pattern, options) {\n for (let i = 0, len = registeredSearchers.length; i < len; i += 1) {\n let searcherClass = registeredSearchers[i];\n if (searcherClass.condition(pattern, options)) {\n return new searcherClass(pattern, options)\n }\n }\n\n return new BitapSearch(pattern, options)\n}\n\nconst LogicalOperator = {\n AND: '$and',\n OR: '$or'\n};\n\nconst KeyType = {\n PATH: '$path',\n PATTERN: '$val'\n};\n\nconst isExpression = (query) =>\n !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);\n\nconst isPath = (query) => !!query[KeyType.PATH];\n\nconst isLeaf = (query) =>\n !isArray(query) && isObject(query) && !isExpression(query);\n\nconst convertToExplicit = (query) => ({\n [LogicalOperator.AND]: Object.keys(query).map((key) => ({\n [key]: query[key]\n }))\n});\n\n// When `auto` is `true`, the parse function will infer and initialize and add\n// the appropriate `Searcher` instance\nfunction parse(query, options, { auto = true } = {}) {\n const next = (query) => {\n let keys = Object.keys(query);\n\n const isQueryPath = isPath(query);\n\n if (!isQueryPath && keys.length > 1 && !isExpression(query)) {\n return next(convertToExplicit(query))\n }\n\n if (isLeaf(query)) {\n const key = isQueryPath ? query[KeyType.PATH] : keys[0];\n\n const pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];\n\n if (!isString(pattern)) {\n throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key))\n }\n\n const obj = {\n keyId: createKeyId(key),\n pattern\n };\n\n if (auto) {\n obj.searcher = createSearcher(pattern, options);\n }\n\n return obj\n }\n\n let node = {\n children: [],\n operator: keys[0]\n };\n\n keys.forEach((key) => {\n const value = query[key];\n\n if (isArray(value)) {\n value.forEach((item) => {\n node.children.push(next(item));\n });\n }\n });\n\n return node\n };\n\n if (!isExpression(query)) {\n query = convertToExplicit(query);\n }\n\n return next(query)\n}\n\n// Practical scoring function\nfunction computeScore(\n results,\n { ignoreFieldNorm = Config.ignoreFieldNorm }\n) {\n results.forEach((result) => {\n let totalScore = 1;\n\n result.matches.forEach(({ key, norm, score }) => {\n const weight = key ? key.weight : null;\n\n totalScore *= Math.pow(\n score === 0 && weight ? Number.EPSILON : score,\n (weight || 1) * (ignoreFieldNorm ? 1 : norm)\n );\n });\n\n result.score = totalScore;\n });\n}\n\nfunction transformMatches(result, data) {\n const matches = result.matches;\n data.matches = [];\n\n if (!isDefined(matches)) {\n return\n }\n\n matches.forEach((match) => {\n if (!isDefined(match.indices) || !match.indices.length) {\n return\n }\n\n const { indices, value } = match;\n\n let obj = {\n indices,\n value\n };\n\n if (match.key) {\n obj.key = match.key.src;\n }\n\n if (match.idx > -1) {\n obj.refIndex = match.idx;\n }\n\n data.matches.push(obj);\n });\n}\n\nfunction transformScore(result, data) {\n data.score = result.score;\n}\n\nfunction format(\n results,\n docs,\n {\n includeMatches = Config.includeMatches,\n includeScore = Config.includeScore\n } = {}\n) {\n const transformers = [];\n\n if (includeMatches) transformers.push(transformMatches);\n if (includeScore) transformers.push(transformScore);\n\n return results.map((result) => {\n const { idx } = result;\n\n const data = {\n item: docs[idx],\n refIndex: idx\n };\n\n if (transformers.length) {\n transformers.forEach((transformer) => {\n transformer(result, data);\n });\n }\n\n return data\n })\n}\n\nclass Fuse {\n constructor(docs, options = {}, index) {\n this.options = { ...Config, ...options };\n\n if (\n this.options.useExtendedSearch &&\n !true\n ) {\n throw new Error(EXTENDED_SEARCH_UNAVAILABLE)\n }\n\n this._keyStore = new KeyStore(this.options.keys);\n\n this.setCollection(docs, index);\n }\n\n setCollection(docs, index) {\n this._docs = docs;\n\n if (index && !(index instanceof FuseIndex)) {\n throw new Error(INCORRECT_INDEX_TYPE)\n }\n\n this._myIndex =\n index ||\n createIndex(this.options.keys, this._docs, {\n getFn: this.options.getFn,\n fieldNormWeight: this.options.fieldNormWeight\n });\n }\n\n add(doc) {\n if (!isDefined(doc)) {\n return\n }\n\n this._docs.push(doc);\n this._myIndex.add(doc);\n }\n\n remove(predicate = (/* doc, idx */) => false) {\n const results = [];\n\n for (let i = 0, len = this._docs.length; i < len; i += 1) {\n const doc = this._docs[i];\n if (predicate(doc, i)) {\n this.removeAt(i);\n i -= 1;\n len -= 1;\n\n results.push(doc);\n }\n }\n\n return results\n }\n\n removeAt(idx) {\n this._docs.splice(idx, 1);\n this._myIndex.removeAt(idx);\n }\n\n getIndex() {\n return this._myIndex\n }\n\n search(query, { limit = -1 } = {}) {\n const {\n includeMatches,\n includeScore,\n shouldSort,\n sortFn,\n ignoreFieldNorm\n } = this.options;\n\n let results = isString(query)\n ? isString(this._docs[0])\n ? this._searchStringList(query)\n : this._searchObjectList(query)\n : this._searchLogical(query);\n\n computeScore(results, { ignoreFieldNorm });\n\n if (shouldSort) {\n results.sort(sortFn);\n }\n\n if (isNumber(limit) && limit > -1) {\n results = results.slice(0, limit);\n }\n\n return format(results, this._docs, {\n includeMatches,\n includeScore\n })\n }\n\n _searchStringList(query) {\n const searcher = createSearcher(query, this.options);\n const { records } = this._myIndex;\n const results = [];\n\n // Iterate over every string in the index\n records.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n results.push({\n item: text,\n idx,\n matches: [{ score, value: text, norm, indices }]\n });\n }\n });\n\n return results\n }\n\n _searchLogical(query) {\n\n const expression = parse(query, this.options);\n\n const evaluate = (node, item, idx) => {\n if (!node.children) {\n const { keyId, searcher } = node;\n\n const matches = this._findMatches({\n key: this._keyStore.get(keyId),\n value: this._myIndex.getValueForItemAtKeyId(item, keyId),\n searcher\n });\n\n if (matches && matches.length) {\n return [\n {\n idx,\n item,\n matches\n }\n ]\n }\n\n return []\n }\n\n const res = [];\n for (let i = 0, len = node.children.length; i < len; i += 1) {\n const child = node.children[i];\n const result = evaluate(child, item, idx);\n if (result.length) {\n res.push(...result);\n } else if (node.operator === LogicalOperator.AND) {\n return []\n }\n }\n return res\n };\n\n const records = this._myIndex.records;\n const resultMap = {};\n const results = [];\n\n records.forEach(({ $: item, i: idx }) => {\n if (isDefined(item)) {\n let expResults = evaluate(expression, item, idx);\n\n if (expResults.length) {\n // Dedupe when adding\n if (!resultMap[idx]) {\n resultMap[idx] = { idx, item, matches: [] };\n results.push(resultMap[idx]);\n }\n expResults.forEach(({ matches }) => {\n resultMap[idx].matches.push(...matches);\n });\n }\n }\n });\n\n return results\n }\n\n _searchObjectList(query) {\n const searcher = createSearcher(query, this.options);\n const { keys, records } = this._myIndex;\n const results = [];\n\n // List is Array\n records.forEach(({ $: item, i: idx }) => {\n if (!isDefined(item)) {\n return\n }\n\n let matches = [];\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n keys.forEach((key, keyIndex) => {\n matches.push(\n ...this._findMatches({\n key,\n value: item[keyIndex],\n searcher\n })\n );\n });\n\n if (matches.length) {\n results.push({\n idx,\n item,\n matches\n });\n }\n });\n\n return results\n }\n _findMatches({ key, value, searcher }) {\n if (!isDefined(value)) {\n return []\n }\n\n let matches = [];\n\n if (isArray(value)) {\n value.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({\n score,\n key,\n value: text,\n idx,\n norm,\n indices\n });\n }\n });\n } else {\n const { v: text, n: norm } = value;\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({ score, key, value: text, norm, indices });\n }\n }\n\n return matches\n }\n}\n\nFuse.version = '7.0.0';\nFuse.createIndex = createIndex;\nFuse.parseIndex = parseIndex;\nFuse.config = Config;\n\n{\n Fuse.parseQuery = parse;\n}\n\n{\n register(ExtendedSearch);\n}\n\nexport { Fuse as default };\n","\n\n\n","\n\n\n"],"file":"assets/Home-NgBe9E8J.js"} \ No newline at end of file diff --git a/assets/Home-rl_0yGek.css b/assets/Home-rl_0yGek.css new file mode 100644 index 0000000..2ff6525 --- /dev/null +++ b/assets/Home-rl_0yGek.css @@ -0,0 +1 @@ +.fade[data-v-7a2783e8]{transition:height .15s ease}.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' 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-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%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-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%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.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%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}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:#0000000d}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%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 (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%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")}}.maplibregl-ctrl-attrib a{color:#000000bf;text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-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}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:#0006;color:#fff;display:flex;font-size:1.4em;top:0;right:0;bottom:0;left:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}.dark #map[data-v-0ac17b1b] .maplibregl-ctrl-attrib{--tw-bg-opacity: 1;background-color:rgba(34,34,34,var(--tw-bg-opacity))}.dark #map[data-v-0ac17b1b] .maplibregl-ctrl-attrib a{--tw-text-opacity: 1;color:rgba(209,213,219,var(--tw-text-opacity))}.dark #map[data-v-0ac17b1b] .maplibregl-ctrl-attrib-button{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );-webkit-filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);--tw-invert: invert(100%)}.dark #map[data-v-0ac17b1b] .maplibregl-ctrl-group{--tw-bg-opacity: 1;background-color:rgba(34,34,34,var(--tw-bg-opacity))}.dark #map[data-v-0ac17b1b] .maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #3c3c3c}.dark #map[data-v-0ac17b1b] .maplibregl-ctrl-group button+button{--tw-border-opacity: 1;border-top-color:rgba(60,60,60,var(--tw-border-opacity))}.dark #map[data-v-0ac17b1b] .maplibregl-ctrl button .maplibregl-ctrl-icon{--tw-blur: var(--tw-empty, );--tw-brightness: var(--tw-empty, );--tw-contrast: var(--tw-empty, );--tw-grayscale: var(--tw-empty, );--tw-hue-rotate: var(--tw-empty, );--tw-invert: var(--tw-empty, );--tw-saturate: var(--tw-empty, );--tw-sepia: var(--tw-empty, );--tw-drop-shadow: var(--tw-empty, );-webkit-filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);--tw-invert: invert(100%)}.marker[data-v-8a4d75f0]:after{left:calc(50% - 1px);width:2px;content:""}.vehicle[data-v-8a4d75f0]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2}.vehicle.driving[data-v-8a4d75f0]{top:-.25rem}.vehicle[data-v-8a4d75f0]:before{display:block;content:""}.pulsating[data-v-8a4d75f0]{position:absolute;width:2rem;height:2rem;left:calc(50% - 1rem);top:calc(50% - 1rem);transform:translate(-50%,-50%);animation:pulsate-8a4d75f0 1.5s ease-out;animation-iteration-count:infinite;opacity:0}@keyframes pulsate-8a4d75f0{0%{transform:scale(.1);opacity:0}50%{opacity:1}to{transform:scale(1.2);opacity:0}} diff --git a/assets/NotFound-D2RZ3ij1.js b/assets/NotFound-D2RZ3ij1.js deleted file mode 100644 index f4c19b3..0000000 --- a/assets/NotFound-D2RZ3ij1.js +++ /dev/null @@ -1,2 +0,0 @@ -import{d as _,u as i,a as u,b as t,m as o,k as s,i as a,j as n,y as c,o as m,P as p}from"./index-C5qMMmKR.js";const d={class:"flex flex-col h-full w-full items-center justify-center p-4"},f={class:"m-auto"},x={class:"text-2xl mb-8"},N=_({__name:"NotFound",setup(h){const{t:e}=i();return(k,b)=>{const r=c("router-link"),l=c("i18n-t");return m(),u("div",d,[t("div",f,[t("p",x,o(s(e)("404_error")),1),a(l,{keypath:"404_back_to",tag:"span"},{link:n(()=>[a(r,{class:"text-blue-700 dark:text-blue-400",replace:"",to:{name:"home"}},{default:n(()=>[p(o(s(e)("home")),1)]),_:1})]),_:1})])])}}});export{N as default}; -//# sourceMappingURL=NotFound-D2RZ3ij1.js.map diff --git a/assets/NotFound-D2RZ3ij1.js.map b/assets/NotFound-D2RZ3ij1.js.map deleted file mode 100644 index 2f70aaa..0000000 --- a/assets/NotFound-D2RZ3ij1.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"NotFound-D2RZ3ij1.js","sources":["../../src/views/NotFound.vue"],"sourcesContent":["\n\n\n"],"names":["t","useI18n"],"mappings":"yQAkBM,KAAA,CAAE,EAAAA,GAAMC"} \ No newline at end of file diff --git a/assets/NotFound-Dn0X_rhl.js b/assets/NotFound-Dn0X_rhl.js new file mode 100644 index 0000000..9bebd97 --- /dev/null +++ b/assets/NotFound-Dn0X_rhl.js @@ -0,0 +1,2 @@ +import{d as r,u,a as i,b as t,s as o,p as s,k as n,l as a,B as c,o as p,N as d}from"./index-KiWmxDDy.js";const m={class:"flex flex-col h-full w-full items-center justify-center p-4"},f={class:"flex flex-col m-auto"},x={class:"text-2xl mb-8"},B=r({__name:"NotFound",setup(h){const{t:e}=u();return(k,b)=>{const l=c("router-link"),_=c("i18n-t");return p(),i("div",m,[t("div",f,[t("p",x,o(s(e)("not_found_error")),1),n(_,{keypath:"not_found_back_to",tag:"span",class:"mx-auto"},{link:a(()=>[n(l,{class:"text-blue-700 dark:text-blue-400",replace:"",to:{name:"home"}},{default:a(()=>[d(o(s(e)("home")),1)]),_:1})]),_:1})])])}}});export{B as default}; +//# sourceMappingURL=NotFound-Dn0X_rhl.js.map diff --git a/assets/NotFound-Dn0X_rhl.js.map b/assets/NotFound-Dn0X_rhl.js.map new file mode 100644 index 0000000..472cde1 --- /dev/null +++ b/assets/NotFound-Dn0X_rhl.js.map @@ -0,0 +1 @@ +{"version":3,"file":"NotFound-Dn0X_rhl.js","sources":["../../src/views/NotFound.vue"],"sourcesContent":["\n\n\n"],"names":["t","useI18n"],"mappings":"kRAkBM,KAAA,CAAE,EAAAA,CAAE,EAAIC,EAAQ"} \ No newline at end of file diff --git a/assets/Settings-DRSySDza.js b/assets/Settings-DRSySDza.js new file mode 100644 index 0000000..dd5af51 --- /dev/null +++ b/assets/Settings-DRSySDza.js @@ -0,0 +1,2 @@ +import{_ as x}from"./Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js";import{d as b,t as g,c as v,w as V,T as h,o as d,a as c,J as k,K as y,s as a,u as w,C as S,x as C,l as U,b as s,p as o,k as f,U as _,I as B}from"./index-KiWmxDDy.js";import{S as M}from"./SettingsContainer-B74Cj-qJ.js";import{u as $}from"./useTrack-DmYPFwPy.js";const j=["value"],D=b({__name:"Select",props:{modelValue:{},options:{}},emits:["update:modelValue"],setup(p,{emit:n}){const t=p,m=n,r=g(t,"modelValue"),i=v({get:()=>r.value,set:u=>{m("update:modelValue",u)}});return(u,l)=>V((d(),c("select",{"onUpdate:modelValue":l[0]||(l[0]=e=>i.value=e),class:"bg-transparent p-2 w-full max-w-64 h-12 border border-transparent rounded-md border-gray-300 border-opacity-50 focus-visible:outline-none focus-visible:border-blue-700 focus-visible:border-opacity-100 focus-visible:dark:border-blue-400"},[(d(!0),c(k,null,y(u.options,e=>(d(),c("option",{key:e.value,value:e.value},a(e.label),9,j))),128))],512)),[[h,i.value]])}}),I={class:"mb-2 text-xl font-bold"},N={class:"flex flex-col gap-2"},R={class:"flex gap-4 items-center justify-between"},T={class:"flex flex-col",for:"lite-mode"},A={class:"text-sm text-gray-500 dark:text-gray-400"},E={class:"flex gap-4 items-center justify-between"},F={class:"flex flex-col",for:"theme"},J={class:"text-sm text-gray-500 dark:text-gray-400"},G=b({__name:"Settings",setup(p){const{liteMode:n}=B(),{t}=w(),{track:m}=$(),r=S({emitAuto:!0}),i=v(()=>[{value:"auto",label:t("auto")},{value:"light",label:t("light")},{value:"dark",label:t("dark")}]);return(u,l)=>(d(),C(M,null,{default:U(()=>[s("h1",I,a(o(t)("settings")),1),s("div",N,[s("div",R,[s("label",T,[s("span",null,a(o(t)("lite_mode")),1),s("span",A,a(o(t)("lite_mode_description")),1)]),f(x,{id:"lite-mode",modelValue:o(n),"onUpdate:modelValue":[l[0]||(l[0]=e=>_(n)?n.value=e:null),l[1]||(l[1]=e=>o(m)("setting:lite-mode",{enabled:e}))]},null,8,["modelValue"])]),s("div",E,[s("label",F,[s("span",null,a(o(t)("theme")),1),s("span",J,a(o(t)("theme_description")),1)]),f(D,{id:"theme",modelValue:o(r),"onUpdate:modelValue":l[2]||(l[2]=e=>_(r)?r.value=e:null),options:i.value},null,8,["modelValue","options"])])])]),_:1}))}});export{G as default}; +//# sourceMappingURL=Settings-DRSySDza.js.map diff --git a/assets/Settings-DRSySDza.js.map b/assets/Settings-DRSySDza.js.map new file mode 100644 index 0000000..2900b96 --- /dev/null +++ b/assets/Settings-DRSySDza.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Settings-DRSySDza.js","sources":["../../src/components/atomic/Select.vue","../../src/views/settings/Settings.vue"],"sourcesContent":["\n\n\n","\n\n\n"],"names":["props","__props","emit","__emit","modelValue","toRef","innerValue","computed","value","liteMode","useUserSettings","useI18n","track","useTrack","theme","useColorMode","options"],"mappings":"0cAcA,MAAMA,EAAQC,EAKRC,EAAOC,EAIPC,EAAaC,EAAML,EAAO,YAAY,EACtCM,EAAaC,EAAS,CAC1B,IAAK,IAAMH,EAAW,MACtB,IAAMI,GAAU,CACdN,EAAK,oBAAqBM,CAAK,CAAA,CACjC,CACD,y0BCUK,KAAA,CAAE,SAAAC,CAAS,EAAIC,EAAgB,EAC/B,CAAE,CAAE,EAAIC,EAAQ,EAChB,CAAE,MAAAC,CAAM,EAAIC,EAAS,EAErBC,EAAQC,EAAa,CAAE,SAAU,GAAM,EAEvCC,EAAUT,EAA4C,IAAM,CAChE,CAAE,MAAO,OAAQ,MAAO,EAAE,MAAM,CAAE,EAClC,CAAE,MAAO,QAAS,MAAO,EAAE,OAAO,CAAE,EACpC,CAAE,MAAO,OAAQ,MAAO,EAAE,MAAM,CAAE,CAAA,CACnC"} \ No newline at end of file diff --git a/assets/Settings-ogcWmvv1.js b/assets/Settings-ogcWmvv1.js deleted file mode 100644 index 0fb9514..0000000 --- a/assets/Settings-ogcWmvv1.js +++ /dev/null @@ -1,2 +0,0 @@ -import{d as _,t as v,o as i,a as p,c as h,w as x,W as V,L as g,M as k,m as r,u as y,A as w,p as S,j as C,b as t,k as o,i as f,X as b,K as $}from"./index-C5qMMmKR.js";import{S as B}from"./SettingsContainer-vLkCKPKC.js";const M=["checked"],U=_({__name:"Checkbox",props:{modelValue:{type:Boolean,required:!0}},emits:["update:modelValue"],setup(c){const e=v(c,"modelValue");return(s,n)=>(i(),p("input",{type:"checkbox",class:"w-5 h-5 flex-shrink-0 rounded",checked:e.value,onChange:n[0]||(n[0]=m=>s.$emit("update:modelValue",!e.value))},null,40,M))}}),j=["value"],A=_({__name:"Select",props:{modelValue:{},options:{}},emits:["update:modelValue"],setup(c,{emit:a}){const e=c,s=a,n=v(e,"modelValue"),m=h({get:()=>n.value,set:l=>{s("update:modelValue",l)}});return(l,u)=>x((i(),p("select",{"onUpdate:modelValue":u[0]||(u[0]=d=>m.value=d),class:"bg-transparent p-2 w-full max-w-64 h-12 border border-transparent rounded-md border-gray-300 border-opacity-50 focus-visible:outline-none focus-visible:border-blue-700 focus-visible:border-opacity-100 focus-visible:dark:border-blue-400"},[(i(!0),p(g,null,k(l.options,d=>(i(),p("option",{key:d.value,value:d.value},r(d.label),9,j))),128))],512)),[[V,m.value]])}}),D={class:"mb-2 text-xl font-bold"},L={class:"flex flex-col gap-2"},N={class:"flex gap-4 items-center justify-between"},R={class:"flex flex-col",for:"lite-mode"},q={class:"text-sm text-gray-500 dark:text-gray-400"},E={class:"flex gap-4 items-center justify-between"},F={class:"flex flex-col",for:"theme"},I={class:"text-sm text-gray-500 dark:text-gray-400"},X=_({__name:"Settings",setup(c){const{liteMode:a}=$(),{t:e}=y(),s=w({emitAuto:!0}),n=h(()=>[{value:"auto",label:e("auto")},{value:"light",label:e("light")},{value:"dark",label:e("dark")}]);return(m,l)=>(i(),S(B,null,{default:C(()=>[t("h1",D,r(o(e)("settings")),1),t("div",L,[t("div",N,[t("label",R,[t("span",null,r(o(e)("lite_mode")),1),t("span",q,r(o(e)("lite_mode_description")),1)]),f(U,{id:"lite-mode",modelValue:o(a),"onUpdate:modelValue":l[0]||(l[0]=u=>b(a)?a.value=u:null)},null,8,["modelValue"])]),t("div",E,[t("label",F,[t("span",null,r(o(e)("theme")),1),t("span",I,r(o(e)("theme_description")),1)]),f(A,{id:"theme",modelValue:o(s),"onUpdate:modelValue":l[1]||(l[1]=u=>b(s)?s.value=u:null),options:n.value},null,8,["modelValue","options"])])])]),_:1}))}});export{X as default}; -//# sourceMappingURL=Settings-ogcWmvv1.js.map diff --git a/assets/Settings-ogcWmvv1.js.map b/assets/Settings-ogcWmvv1.js.map deleted file mode 100644 index 04e616e..0000000 --- a/assets/Settings-ogcWmvv1.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"Settings-ogcWmvv1.js","sources":["../../src/components/atomic/Checkbox.vue","../../src/components/atomic/Select.vue","../../src/views/settings/Settings.vue"],"sourcesContent":["\n\n\n","\n\n\n","\n\n\n"],"names":["modelValue","toRef","__props","props","emit","__emit","innerValue","computed","value","liteMode","useUserSettings","t","useI18n","theme","useColorMode","options"],"mappings":"wVAmBM,MAAAA,EAAaC,EAPLC,EAOkB,YAAY,oSCL5C,MAAMC,EAAQD,EAKRE,EAAOC,EAIPL,EAAaC,EAAME,EAAO,YAAY,EACtCG,EAAaC,EAAS,CAC1B,IAAK,IAAMP,EAAW,MACtB,IAAMQ,GAAU,CACdJ,EAAK,oBAAqBI,CAAK,CACjC,CAAA,CACD,y0BCKK,KAAA,CAAE,SAAAC,GAAaC,IACf,CAAE,EAAAC,GAAMC,IAERC,EAAQC,EAAa,CAAE,SAAU,EAAM,CAAA,EAEvCC,EAAUR,EAA4C,IAAM,CAChE,CAAE,MAAO,OAAQ,MAAOI,EAAE,MAAM,CAAE,EAClC,CAAE,MAAO,QAAS,MAAOA,EAAE,OAAO,CAAE,EACpC,CAAE,MAAO,OAAQ,MAAOA,EAAE,MAAM,CAAE,CAAA,CACnC"} \ No newline at end of file diff --git a/assets/SettingsContainer-vLkCKPKC.js b/assets/SettingsContainer-B74Cj-qJ.js similarity index 62% rename from assets/SettingsContainer-vLkCKPKC.js rename to assets/SettingsContainer-B74Cj-qJ.js index aca0536..8c113a7 100644 --- a/assets/SettingsContainer-vLkCKPKC.js +++ b/assets/SettingsContainer-B74Cj-qJ.js @@ -1,2 +1,2 @@ -import{_ as o,o as t,a as s,f as n}from"./index-C5qMMmKR.js";const r={},a={class:"flex flex-col min-h-0 flex-grow overflow-y-auto p-2 md:max-w-200 md:mx-auto"};function c(e,l){return t(),s("div",a,[n(e.$slots,"default")])}const _=o(r,[["render",c]]);export{_ as S}; -//# sourceMappingURL=SettingsContainer-vLkCKPKC.js.map +import{_ as o,o as t,a as s,f as n}from"./index-KiWmxDDy.js";const r={},a={class:"flex flex-col min-h-0 flex-grow overflow-y-auto p-2 md:max-w-200 md:mx-auto"};function c(e,l){return t(),s("div",a,[n(e.$slots,"default")])}const _=o(r,[["render",c]]);export{_ as S}; +//# sourceMappingURL=SettingsContainer-B74Cj-qJ.js.map diff --git a/assets/SettingsContainer-vLkCKPKC.js.map b/assets/SettingsContainer-B74Cj-qJ.js.map similarity index 85% rename from assets/SettingsContainer-vLkCKPKC.js.map rename to assets/SettingsContainer-B74Cj-qJ.js.map index 5f43041..2870ff5 100644 --- a/assets/SettingsContainer-vLkCKPKC.js.map +++ b/assets/SettingsContainer-B74Cj-qJ.js.map @@ -1 +1 @@ -{"version":3,"file":"SettingsContainer-vLkCKPKC.js","sources":["../../src/components/layout/SettingsContainer.vue"],"sourcesContent":["\n"],"names":["_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1"],"mappings":"gKACE,SAAAA,EAAAC,EAAAC,EAAA,QACUC,EAAA,EAAAC,EAAA,MAAAC,EAAA"} \ No newline at end of file +{"version":3,"file":"SettingsContainer-B74Cj-qJ.js","sources":["../../src/components/layout/SettingsContainer.vue"],"sourcesContent":["\n"],"names":["_sfc_render","_ctx","_cache","_openBlock","_createElementBlock","_hoisted_1"],"mappings":"gKACE,SAAAA,EAAAC,EAAAC,EAAA,QACUC,EAAA,EAAAC,EAAA,MAAAC,EAAA"} \ No newline at end of file diff --git a/assets/de-B-BehOFm.js b/assets/de-B-BehOFm.js deleted file mode 100644 index dcf014c..0000000 --- a/assets/de-B-BehOFm.js +++ /dev/null @@ -1,4 +0,0 @@ -const t={language:{t:0,b:{t:2,i:[{t:3}],s:"Language"}},search:{t:0,b:{t:2,i:[{t:3}],s:"Suchen"}},trip_expired:{t:0,b:{t:2,i:[{t:3}],s:"Diese Tour ist wohl schon zu Ende."}},trip_does_not_exist:{t:0,b:{t:2,i:[{t:3}],s:"Diese Tour gibt es wohl nicht (mehr)."}},add_favorites:{t:0,b:{t:2,i:[{t:3}],s:"Füge neue Haltestellen als Favoriten hinzu, indem du beim Öffnen der Haltestelle auf den Stern klickst."}},search_stop_vehicle:{t:0,b:{t:2,i:[{t:3}],s:"Suche nach einer Haltestelle oder einem Fahrzeug"}},no_entry:{t:0,b:{t:2,i:[{t:3}],s:"Zu deiner Suche existiert anscheinend kein Eintrag."}},search_result:{t:0,b:{t:2,i:[{t:3}],s:"Suchergebnisse"}},where_is_my_bus:{t:0,b:{t:2,i:[{t:3}],s:"Wo bleibt mein Bus? Kiel-Live zeigt aktuelle Abfahrtszeiten für alle Haltestellen und die aktuelle Position von deinem Bus an."}},support_us:{t:0,b:{t:2,i:[{t:3}],s:"Unterstütze uns indem du die App mit deinen Freunden teilst und gib uns Feedback!"}},no_bus_wants_to_stop_here_right_now:{t:0,b:{t:2,i:[{t:3}],s:"Hier will gerade wohl kein Manni halten."}},this_stop_probably_does_not_exist:{t:0,b:{t:2,i:[{t:3}],s:"Diese Haltestelle gibt es wohl nicht."}},update_title:{t:0,b:{t:2,i:[{t:3}],s:"Wuhuu es gibt ein Update!"}},update_msg:{t:0,b:{t:2,i:[{t:3}],s:"Die neue Version soll dir bei der Navigation durch Kiel noch besser helfen."}},feedback:{t:0,b:{t:2,i:[{t:3,v:"Schick uns gerne Feedback an "},{t:4,k:"email"},{t:3,v:" und folge uns auf "},{t:4,k:"instagram"}]}},nice:{t:0,b:{t:2,i:[{t:3}],s:"Nice!"}},instagram:{t:0,b:{t:2,i:[{t:3}],s:"Instagram"}},"404_error":{t:0,b:{t:2,i:[{t:3}],s:"Whoa 404, entweder es ist etwas kaputt gegangen oder du hast dich vertippt :-/"}},"404_back_to":{t:0,b:{t:2,i:[{t:3,v:"Zurück zur "},{t:4,k:"link"}]}},home:{t:0,b:{t:2,i:[{t:3}],s:"Startseite"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Aktualisieren"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Schließen"}},alerts:{t:0,b:{t:2,i:[{t:3}],s:"Hinweise"}},favorites:{t:0,b:{t:2,i:[{t:3}],s:"Favoriten"}},logo_alt:{t:0,b:{t:2,i:[{t:3}],s:"Kiel-Live Logo, die Vorderseite eines Busses auf dem Manni steht"}},add_favorite:{t:0,b:{t:2,i:[{t:3}],s:"Favorit hinzufügen"}},remove_favorite:{t:0,b:{t:2,i:[{t:3}],s:"Favorit löschen"}},kiel_live:{t:0,b:{t:2,i:[{t:3}],s:"Kiel-Live"}},follow_instagram:{t:0,b:{t:2,i:[{t:3,v:"Follow "},{t:4,k:"account"}]}},develop_on_github:{t:0,b:{t:2,i:[{t:3}],s:"Develop on Github"}},changelog:{t:0,b:{t:2,i:[{t:3}],s:"Changelog"}},changelog_rewrite_version_2:{t:0,b:{t:2,i:[{t:3}],s:"Komplett neue App mit Fokus auf der Karte"}},changelog_live_locations:{t:0,b:{t:2,i:[{t:3}],s:"Karte mit Haltestellen und Echtzeit-Positionen aller Busse"}},changelog_alerts:{t:0,b:{t:2,i:[{t:3}],s:"Anzeige von Verkehrs-Warnungen hinzugefügt"}},changelog_project_started:{t:0,b:{t:2,i:[{t:3}],s:"Projekt gestartet"}},stopping:{t:0,b:{t:2,i:[{t:3}],s:"hält"}},immediately:{t:0,b:{t:2,i:[{t:3}],s:"sofort"}},minutes:{t:0,b:{t:2,i:[{t:4,k:"minutes"},{t:3,v:" Min"}]}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},map:{t:0,b:{t:2,i:[{t:3}],s:"Karte"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"Analytics"}},no_connection:{t:0,b:{t:2,i:[{t:3}],s:"Keine Verbindung"}},version_from:{t:0,b:{t:2,i:[{t:3}],s:"Version vom:"}},lite_mode:{t:0,b:{t:2,i:[{t:3}],s:"Lite Mode"}},lite_mode_description:{t:0,b:{t:2,i:[{t:3}],s:"Wenn du den Lite Mode aktiviert hast werden dir die Daten ohne Karte angezeigt, sodass du auch mit geringem Datenvolumen die App nutzen kannst."}},changelog_trips_path_lite_mode:{t:0,b:{t:2,i:[{t:3}],s:"Anzeige der Route eines ausgewählten Busses auf der Karte und neuer Lite-Modus um Datenvolumen zu sparen"}},theme:{t:0,b:{t:2,i:[{t:3}],s:"Theme"}},theme_description:{t:0,b:{t:2,i:[{t:3}],s:"Wähle ein Theme aus, das dir gefällt."}},auto:{t:0,b:{t:2,i:[{t:3}],s:"System Theme nutzen"}},light:{t:0,b:{t:2,i:[{t:3}],s:"Hell"}},dark:{t:0,b:{t:2,i:[{t:3}],s:"Dunkel"}},next_stop:{t:0,b:{t:2,i:[{t:3}],s:"Nächster Stop:"}},ok:{t:0,b:{t:2,i:[{t:3}],s:"Ok"}},contact_title:{t:0,b:{t:2,i:[{t:3}],s:"Möchtest du Feedback geben, eine Idee vorschlagen, ein Problem melden oder einfach nur Danke sagen? Wir freuen uns über deine E-Mail!"}},contact_email_body:{t:0,b:{t:2,i:[{t:3}],s:`Moin Kiel-Live Team 👋, - -`}},feedback_subject:{t:0,b:{t:2,i:[{t:3}],s:"Feedback zu Kiel-Live"}},send_email:{t:0,b:{t:2,i:[{t:3}],s:"E-Mail senden"}},contact_us:{t:0,b:{t:2,i:[{t:3}],s:"Kontaktiere uns"}},changelog_nok_ferry:{t:0,b:{t:2,i:[{t:3}],s:"Fahrplan der Kanal-Fähre Adler 1 hinzugefügt"}}};export{t as default}; -//# sourceMappingURL=de-B-BehOFm.js.map diff --git a/assets/de-B-BehOFm.js.map b/assets/de-B-BehOFm.js.map deleted file mode 100644 index f7504a6..0000000 --- a/assets/de-B-BehOFm.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"de-B-BehOFm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/assets/de-fj2SYzel.js b/assets/de-fj2SYzel.js new file mode 100644 index 0000000..7b28cc8 --- /dev/null +++ b/assets/de-fj2SYzel.js @@ -0,0 +1,4 @@ +const t={search:{t:0,b:{t:2,i:[{t:3}],s:"Suchen"}},trip_expired:{t:0,b:{t:2,i:[{t:3}],s:"Diese Tour ist wohl schon zu Ende."}},trip_does_not_exist:{t:0,b:{t:2,i:[{t:3}],s:"Diese Tour gibt es wohl nicht (mehr)."}},add_favorites:{t:0,b:{t:2,i:[{t:3}],s:"Füge neue Haltestellen als Favoriten hinzu, indem du beim Öffnen der Haltestelle auf den Stern klickst."}},search_stop_vehicle:{t:0,b:{t:2,i:[{t:3}],s:"Suche nach einer Haltestelle oder einem Fahrzeug"}},no_entry:{t:0,b:{t:2,i:[{t:3}],s:"Zu deiner Suche existiert anscheinend kein Eintrag."}},search_result:{t:0,b:{t:2,i:[{t:3}],s:"Suchergebnisse"}},where_is_my_bus:{t:0,b:{t:2,i:[{t:3}],s:"Wo bleibt mein Bus? Kiel-Live zeigt aktuelle Abfahrtszeiten für alle Haltestellen und die aktuelle Position von deinem Bus an."}},support_us:{t:0,b:{t:2,i:[{t:3}],s:"Unterstütze uns indem du die App mit deinen Freunden teilst und gib uns Feedback!"}},no_bus_wants_to_stop_here_right_now:{t:0,b:{t:2,i:[{t:3}],s:"Hier will gerade wohl kein Manni halten."}},this_stop_probably_does_not_exist:{t:0,b:{t:2,i:[{t:3}],s:"Diese Haltestelle gibt es wohl nicht."}},update_title:{t:0,b:{t:2,i:[{t:3}],s:"Wuhuu es gibt ein Update!"}},update_msg:{t:0,b:{t:2,i:[{t:3}],s:"Die neue Version soll dir bei der Navigation durch Kiel noch besser helfen."}},feedback:{t:0,b:{t:2,i:[{t:3,v:"Schick uns gerne Feedback an "},{t:4,k:"email"},{t:3,v:" und folge uns auf "},{t:4,k:"instagram"}]}},nice:{t:0,b:{t:2,i:[{t:3}],s:"Nice!"}},instagram:{t:0,b:{t:2,i:[{t:3}],s:"Instagram"}},not_found_error:{t:0,b:{t:2,i:[{t:3}],s:"Whoa 404, entweder es ist etwas kaputt gegangen oder du hast dich vertippt :-/"}},not_found_back_to:{t:0,b:{t:2,i:[{t:3,v:"Zurück zur "},{t:4,k:"link"}]}},home:{t:0,b:{t:2,i:[{t:3}],s:"Startseite"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Aktualisieren"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Schließen"}},alerts:{t:0,b:{t:2,i:[{t:3}],s:"Hinweise"}},favorites:{t:0,b:{t:2,i:[{t:3}],s:"Favoriten"}},logo_alt:{t:0,b:{t:2,i:[{t:3}],s:"Kiel-Live Logo, die Vorderseite eines Busses auf dem Manni steht"}},add_favorite:{t:0,b:{t:2,i:[{t:3}],s:"Favorit hinzufügen"}},remove_favorite:{t:0,b:{t:2,i:[{t:3}],s:"Favorit löschen"}},kiel_live:{t:0,b:{t:2,i:[{t:3}],s:"Kiel-Live"}},follow_instagram:{t:0,b:{t:2,i:[{t:3,v:"Follow "},{t:4,k:"account"}]}},develop_on_github:{t:0,b:{t:2,i:[{t:3}],s:"Develop on Github"}},changelog:{t:0,b:{t:2,i:[{t:3}],s:"Changelog"}},changelog_rewrite_version_2:{t:0,b:{t:2,i:[{t:3}],s:"Komplett neue App mit Fokus auf der Karte"}},changelog_live_locations:{t:0,b:{t:2,i:[{t:3}],s:"Karte mit Haltestellen und Echtzeit-Positionen aller Busse"}},changelog_alerts:{t:0,b:{t:2,i:[{t:3}],s:"Anzeige von Verkehrs-Warnungen hinzugefügt"}},changelog_project_started:{t:0,b:{t:2,i:[{t:3}],s:"Projekt gestartet"}},stopping:{t:0,b:{t:2,i:[{t:3}],s:"hält"}},immediately:{t:0,b:{t:2,i:[{t:3}],s:"sofort"}},minutes:{t:0,b:{t:2,i:[{t:4,k:"minutes"},{t:3,v:" Min"}]}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Einstellungen"}},map:{t:0,b:{t:2,i:[{t:3}],s:"Karte"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"Analytics"}},no_connection:{t:0,b:{t:2,i:[{t:3}],s:"Keine Verbindung"}},version_from:{t:0,b:{t:2,i:[{t:3}],s:"Version vom:"}},lite_mode:{t:0,b:{t:2,i:[{t:3}],s:"Lite Mode"}},lite_mode_description:{t:0,b:{t:2,i:[{t:3}],s:"Wenn du den Lite Mode aktiviert hast werden dir die Daten ohne Karte angezeigt, sodass du auch mit geringem Datenvolumen die App nutzen kannst."}},changelog_trips_path_lite_mode:{t:0,b:{t:2,i:[{t:3}],s:"Anzeige der Route eines ausgewählten Busses auf der Karte und neuer Lite-Modus um Datenvolumen zu sparen"}},theme:{t:0,b:{t:2,i:[{t:3}],s:"Theme"}},theme_description:{t:0,b:{t:2,i:[{t:3}],s:"Wähle ein Theme aus, das dir gefällt."}},auto:{t:0,b:{t:2,i:[{t:3}],s:"System Theme nutzen"}},light:{t:0,b:{t:2,i:[{t:3}],s:"Hell"}},dark:{t:0,b:{t:2,i:[{t:3}],s:"Dunkel"}},next_stop:{t:0,b:{t:2,i:[{t:3}],s:"Nächster Stop:"}},ok:{t:0,b:{t:2,i:[{t:3}],s:"Ok"}},contact_title:{t:0,b:{t:2,i:[{t:3}],s:"Möchtest du Feedback geben, eine Idee vorschlagen, ein Problem melden oder einfach nur Danke sagen? Wir freuen uns über deine E-Mail!"}},contact_email_body:{t:0,b:{t:2,i:[{t:3}],s:`Moin Kiel-Live Team 👋, + +`}},feedback_subject:{t:0,b:{t:2,i:[{t:3}],s:"Feedback zu Kiel-Live"}},send_email:{t:0,b:{t:2,i:[{t:3}],s:"E-Mail senden"}},contact_us:{t:0,b:{t:2,i:[{t:3}],s:"Kontaktiere uns"}},changelog_nok_ferry:{t:0,b:{t:2,i:[{t:3}],s:"Fahrplan der Kanal-Fähre Adler 1 hinzugefügt"}},feature_flag_new_api:{t:0,b:{t:2,i:[{t:3}],s:"Neue API verwenden"}},feature_flag_actions:{t:0,b:{t:2,i:[{t:3}],s:"Aktionen aktivieren"}},feature_flag_actions_description:{t:0,b:{t:2,i:[{t:3}],s:"Aktionen wie das Navigieren zu Fahrzeugen oder Buchen von Tickets aktivieren."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature flags"}},feature_flags_description:{t:0,b:{t:2,i:[{t:3}],s:"Aktiviere oder deaktiviere Funktionen, die sich noch in der Entwicklung befinden."}},navigate_to:{t:0,b:{t:2,i:[{t:3}],s:"Navigieren"}},rent_vehicle:{t:0,b:{t:2,i:[{t:3}],s:"Fahrt beginnen"}}};export{t as default}; +//# sourceMappingURL=de-fj2SYzel.js.map diff --git a/assets/de-fj2SYzel.js.map b/assets/de-fj2SYzel.js.map new file mode 100644 index 0000000..ead1ca6 --- /dev/null +++ b/assets/de-fj2SYzel.js.map @@ -0,0 +1 @@ +{"version":3,"file":"de-fj2SYzel.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/assets/en-B7kxybUu.js b/assets/en-B7kxybUu.js new file mode 100644 index 0000000..26c41e8 --- /dev/null +++ b/assets/en-B7kxybUu.js @@ -0,0 +1,4 @@ +const t={search:{t:0,b:{t:2,i:[{t:3}],s:"Search"}},trip_expired:{t:0,b:{t:2,i:[{t:3}],s:"This tour is probably already over."}},trip_does_not_exist:{t:0,b:{t:2,i:[{t:3}],s:"This tour probably does not exist (anymore)."}},add_favorites:{t:0,b:{t:2,i:[{t:3}],s:"Add new stops as favorites by clicking on the star when opening the stop."}},search_stop_vehicle:{t:0,b:{t:2,i:[{t:3}],s:"Search for a stop or a vehicle"}},no_entry:{t:0,b:{t:2,i:[{t:3}],s:"There seems to be no entry for your search."}},search_result:{t:0,b:{t:2,i:[{t:3}],s:"Search result"}},where_is_my_bus:{t:0,b:{t:2,i:[{t:3}],s:"Where is my bus? Kiel-Live shows current departure times for all stops and the current position of your bus."}},support_us:{t:0,b:{t:2,i:[{t:3}],s:"Support us by sharing the app with your friends and give us feedback!"}},no_bus_wants_to_stop_here_right_now:{t:0,b:{t:2,i:[{t:3}],s:"No bus wants to stop here right now."}},this_stop_probably_does_not_exist:{t:0,b:{t:2,i:[{t:3}],s:"This stop probably does not exist."}},update_title:{t:0,b:{t:2,i:[{t:3}],s:"Woohoo there is an update!"}},update_msg:{t:0,b:{t:2,i:[{t:3}],s:"The new version should help you navigate through Kiel even better."}},feedback:{t:0,b:{t:2,i:[{t:3,v:"Feel free to send feedback to "},{t:4,k:"email"},{t:3,v:" and follow us on "},{t:4,k:"instagram"}]}},nice:{t:0,b:{t:2,i:[{t:3}],s:"Nice!"}},instagram:{t:0,b:{t:2,i:[{t:3}],s:"Instagram"}},not_found_error:{t:0,b:{t:2,i:[{t:3}],s:"Whoa 404, either we broke something or you had a typing mishap :-/"}},not_found_back_to:{t:0,b:{t:2,i:[{t:3,v:"Back to "},{t:4,k:"link"}]}},home:{t:0,b:{t:2,i:[{t:3}],s:"Home"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Update"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Close"}},alerts:{t:0,b:{t:2,i:[{t:3}],s:"Alerts"}},favorites:{t:0,b:{t:2,i:[{t:3}],s:"Favorites"}},logo_alt:{t:0,b:{t:2,i:[{t:3}],s:"Kiel-Live logo, the front of a bus with Manni written on it"}},add_favorite:{t:0,b:{t:2,i:[{t:3}],s:"Add favorite"}},remove_favorite:{t:0,b:{t:2,i:[{t:3}],s:"Delete favorite"}},kiel_live:{t:0,b:{t:2,i:[{t:3}],s:"Kiel-Live"}},follow_instagram:{t:0,b:{t:2,i:[{t:3,v:"Follow "},{t:4,k:"account"}]}},develop_on_github:{t:0,b:{t:2,i:[{t:3}],s:"Develop on Github"}},changelog:{t:0,b:{t:2,i:[{t:3}],s:"Changelog"}},changelog_rewrite_version_2:{t:0,b:{t:2,i:[{t:3}],s:"Completely new app with focus on the map"}},changelog_live_locations:{t:0,b:{t:2,i:[{t:3}],s:"Map with stop and live locations of all busses"}},changelog_alerts:{t:0,b:{t:2,i:[{t:3}],s:"Show alerts for stops and vehicles"}},changelog_project_started:{t:0,b:{t:2,i:[{t:3}],s:"Project started"}},stopping:{t:0,b:{t:2,i:[{t:3}],s:"stopping"}},immediately:{t:0,b:{t:2,i:[{t:3}],s:"immediately"}},minutes:{t:0,b:{t:2,i:[{t:4,k:"minutes"},{t:3,v:" min"}]}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},map:{t:0,b:{t:2,i:[{t:3}],s:"Map"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"Analytics"}},no_connection:{t:0,b:{t:2,i:[{t:3}],s:"Keine Verbindung"}},version_from:{t:0,b:{t:2,i:[{t:3}],s:"Version from:"}},lite_mode:{t:0,b:{t:2,i:[{t:3}],s:"Lite mode"}},lite_mode_description:{t:0,b:{t:2,i:[{t:3}],s:"If you enable the lite mode the data will be shown to you without the map. This allows you to save some data volume."}},changelog_trips_path_lite_mode:{t:0,b:{t:2,i:[{t:3}],s:"Show the route of a selected bus on the map and new lite mode to save data volume"}},theme:{t:0,b:{t:2,i:[{t:3}],s:"Theme"}},theme_description:{t:0,b:{t:2,i:[{t:3}],s:"Choose a theme that fits your needs."}},auto:{t:0,b:{t:2,i:[{t:3}],s:"Use system theme"}},light:{t:0,b:{t:2,i:[{t:3}],s:"Light"}},dark:{t:0,b:{t:2,i:[{t:3}],s:"Dark"}},next_stop:{t:0,b:{t:2,i:[{t:3}],s:"Next stop:"}},ok:{t:0,b:{t:2,i:[{t:3}],s:"Ok"}},contact_title:{t:0,b:{t:2,i:[{t:3}],s:"Would you like to share feedback, propose an idea, report an issue, or simply express gratitude? Your email would be greatly appreciated!"}},contact_email_body:{t:0,b:{t:2,i:[{t:3}],s:`Hi Kiel-Live Team 👋, + +`}},feedback_subject:{t:0,b:{t:2,i:[{t:3}],s:"Feedback to Kiel-Live"}},send_email:{t:0,b:{t:2,i:[{t:3}],s:"Send email"}},contact_us:{t:0,b:{t:2,i:[{t:3}],s:"Contact us"}},changelog_nok_ferry:{t:0,b:{t:2,i:[{t:3}],s:"Added schedule of the canal ferry Adler 1"}},feature_flag_new_api:{t:0,b:{t:2,i:[{t:3}],s:"Use new API"}},feature_flag_actions:{t:0,b:{t:2,i:[{t:3}],s:"Enable actions"}},feature_flag_actions_description:{t:0,b:{t:2,i:[{t:3}],s:"Enable actions like navigate to stop, rent vehicle, ..."}},feature_flags:{t:0,b:{t:2,i:[{t:3}],s:"Feature flags"}},feature_flags_description:{t:0,b:{t:2,i:[{t:3}],s:"Enable or disable features that are still in development."}},navigate_to:{t:0,b:{t:2,i:[{t:3}],s:"Navigate to"}},rent_vehicle:{t:0,b:{t:2,i:[{t:3}],s:"Start ride"}}};export{t as default}; +//# sourceMappingURL=en-B7kxybUu.js.map diff --git a/assets/en-B7kxybUu.js.map b/assets/en-B7kxybUu.js.map new file mode 100644 index 0000000..0125f0a --- /dev/null +++ b/assets/en-B7kxybUu.js.map @@ -0,0 +1 @@ +{"version":3,"file":"en-B7kxybUu.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/assets/en-Cngb1GR8.js b/assets/en-Cngb1GR8.js deleted file mode 100644 index 341a927..0000000 --- a/assets/en-Cngb1GR8.js +++ /dev/null @@ -1,4 +0,0 @@ -const t={language:{t:0,b:{t:2,i:[{t:3}],s:"Language"}},search:{t:0,b:{t:2,i:[{t:3}],s:"Search"}},trip_expired:{t:0,b:{t:2,i:[{t:3}],s:"This tour is probably already over."}},trip_does_not_exist:{t:0,b:{t:2,i:[{t:3}],s:"This tour probably does not exist (anymore)."}},add_favorites:{t:0,b:{t:2,i:[{t:3}],s:"Add new stops as favorites by clicking on the star when opening the stop."}},search_stop_vehicle:{t:0,b:{t:2,i:[{t:3}],s:"Search for a stop or a vehicle"}},no_entry:{t:0,b:{t:2,i:[{t:3}],s:"There seems to be no entry for your search."}},search_result:{t:0,b:{t:2,i:[{t:3}],s:"Search result"}},where_is_my_bus:{t:0,b:{t:2,i:[{t:3}],s:"Where is my bus? Kiel-Live shows current departure times for all stops and the current position of your bus."}},support_us:{t:0,b:{t:2,i:[{t:3}],s:"Support us by sharing the app with your friends and give us feedback!"}},no_bus_wants_to_stop_here_right_now:{t:0,b:{t:2,i:[{t:3}],s:"No bus wants to stop here right now."}},this_stop_probably_does_not_exist:{t:0,b:{t:2,i:[{t:3}],s:"This stop probably does not exist."}},update_title:{t:0,b:{t:2,i:[{t:3}],s:"Woohoo there is an update!"}},update_msg:{t:0,b:{t:2,i:[{t:3}],s:"The new version should help you navigate through Kiel even better."}},feedback:{t:0,b:{t:2,i:[{t:3,v:"Feel free to send feedback to "},{t:4,k:"email"},{t:3,v:" and follow us on "},{t:4,k:"instagram"}]}},nice:{t:0,b:{t:2,i:[{t:3}],s:"Nice!"}},instagram:{t:0,b:{t:2,i:[{t:3}],s:"Instagram"}},"404_error":{t:0,b:{t:2,i:[{t:3}],s:"Whoa 404, either we broke something or you had a typing mishap :-/"}},"404_back_to":{t:0,b:{t:2,i:[{t:3,v:"Back to "},{t:4,k:"link"}]}},home:{t:0,b:{t:2,i:[{t:3}],s:"Home"}},update:{t:0,b:{t:2,i:[{t:3}],s:"Update"}},close:{t:0,b:{t:2,i:[{t:3}],s:"Close"}},alerts:{t:0,b:{t:2,i:[{t:3}],s:"Alerts"}},favorites:{t:0,b:{t:2,i:[{t:3}],s:"Favorites"}},logo_alt:{t:0,b:{t:2,i:[{t:3}],s:"Kiel-Live logo, the front of a bus with Manni written on it"}},add_favorite:{t:0,b:{t:2,i:[{t:3}],s:"Add favorite"}},remove_favorite:{t:0,b:{t:2,i:[{t:3}],s:"Delete favorite"}},kiel_live:{t:0,b:{t:2,i:[{t:3}],s:"Kiel-Live"}},follow_instagram:{t:0,b:{t:2,i:[{t:3,v:"Follow "},{t:4,k:"account"}]}},develop_on_github:{t:0,b:{t:2,i:[{t:3}],s:"Develop on Github"}},changelog:{t:0,b:{t:2,i:[{t:3}],s:"Changelog"}},changelog_rewrite_version_2:{t:0,b:{t:2,i:[{t:3}],s:"Completely new app with focus on the map"}},changelog_live_locations:{t:0,b:{t:2,i:[{t:3}],s:"Map with stop and live locations of all busses"}},changelog_alerts:{t:0,b:{t:2,i:[{t:3}],s:"Show alerts for stops and vehicles"}},changelog_project_started:{t:0,b:{t:2,i:[{t:3}],s:"Project started"}},stopping:{t:0,b:{t:2,i:[{t:3}],s:"stopping"}},immediately:{t:0,b:{t:2,i:[{t:3}],s:"immediately"}},minutes:{t:0,b:{t:2,i:[{t:4,k:"minutes"},{t:3,v:" min"}]}},settings:{t:0,b:{t:2,i:[{t:3}],s:"Settings"}},map:{t:0,b:{t:2,i:[{t:3}],s:"Map"}},analytics:{t:0,b:{t:2,i:[{t:3}],s:"Analytics"}},no_connection:{t:0,b:{t:2,i:[{t:3}],s:"Keine Verbindung"}},version_from:{t:0,b:{t:2,i:[{t:3}],s:"Version from:"}},lite_mode:{t:0,b:{t:2,i:[{t:3}],s:"Lite mode"}},lite_mode_description:{t:0,b:{t:2,i:[{t:3}],s:"If you enable the lite mode the data will be shown to you without the map. This allows you to save some data volume."}},changelog_trips_path_lite_mode:{t:0,b:{t:2,i:[{t:3}],s:"Show the route of a selected bus on the map and new lite mode to save data volume"}},theme:{t:0,b:{t:2,i:[{t:3}],s:"Theme"}},theme_description:{t:0,b:{t:2,i:[{t:3}],s:"Choose a theme that fits your needs."}},auto:{t:0,b:{t:2,i:[{t:3}],s:"Use system theme"}},light:{t:0,b:{t:2,i:[{t:3}],s:"Light"}},dark:{t:0,b:{t:2,i:[{t:3}],s:"Dark"}},next_stop:{t:0,b:{t:2,i:[{t:3}],s:"Next stop:"}},ok:{t:0,b:{t:2,i:[{t:3}],s:"Ok"}},contact_title:{t:0,b:{t:2,i:[{t:3}],s:"Would you like to share feedback, propose an idea, report an issue, or simply express gratitude? Your email would be greatly appreciated!"}},contact_email_body:{t:0,b:{t:2,i:[{t:3}],s:`Hi Kiel-Live Team 👋, - -`}},feedback_subject:{t:0,b:{t:2,i:[{t:3}],s:"Feedback to Kiel-Live"}},send_email:{t:0,b:{t:2,i:[{t:3}],s:"Send email"}},contact_us:{t:0,b:{t:2,i:[{t:3}],s:"Contact us"}},changelog_nok_ferry:{t:0,b:{t:2,i:[{t:3}],s:"Added schedule of the canal ferry Adler 1"}}};export{t as default}; -//# sourceMappingURL=en-Cngb1GR8.js.map diff --git a/assets/en-Cngb1GR8.js.map b/assets/en-Cngb1GR8.js.map deleted file mode 100644 index aa76cf0..0000000 --- a/assets/en-Cngb1GR8.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"en-Cngb1GR8.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"} \ No newline at end of file diff --git a/assets/index-C5qMMmKR.js b/assets/index-C5qMMmKR.js deleted file mode 100644 index 4164ae4..0000000 --- a/assets/index-C5qMMmKR.js +++ /dev/null @@ -1,73 +0,0 @@ -const __vite__fileDeps=["assets/Home-9BF4fQiD.js","assets/logo-DBgTG2k7.js","assets/Home-KcWzUXV1.css","assets/About-CL7R6oQV.js","assets/SettingsContainer-vLkCKPKC.js","assets/Changelog-CpiSnnLL.js","assets/Settings-ogcWmvv1.js","assets/Contact-BmppTCHn.js"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); -var cd=Object.defineProperty;var ld=(e,t,n)=>t in e?cd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var g=(e,t,n)=>(ld(e,typeof t!="symbol"?t+"":t,n),n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const o of i.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function r(s){if(s.ep)return;s.ep=!0;const i=n(s);fetch(s.href,i)}})();/** -* @vue/shared v3.4.26 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function Oa(e,t){const n=new Set(e.split(","));return r=>n.has(r)}const Ke={},Mr=[],Kt=()=>{},ud=()=>!1,zi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Aa=e=>e.startsWith("onUpdate:"),dt=Object.assign,Ia=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},fd=Object.prototype.hasOwnProperty,$e=(e,t)=>fd.call(e,t),Ie=Array.isArray,Lr=e=>Hs(e)==="[object Map]",Vi=e=>Hs(e)==="[object Set]",Ec=e=>Hs(e)==="[object Date]",Re=e=>typeof e=="function",at=e=>typeof e=="string",Mn=e=>typeof e=="symbol",Ve=e=>e!==null&&typeof e=="object",Fu=e=>(Ve(e)||Re(e))&&Re(e.then)&&Re(e.catch),ju=Object.prototype.toString,Hs=e=>ju.call(e),hd=e=>Hs(e).slice(8,-1),$u=e=>Hs(e)==="[object Object]",Pa=e=>at(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,fs=Oa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Wi=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},dd=/-(\w)/g,vn=Wi(e=>e.replace(dd,(t,n)=>n?n.toUpperCase():"")),md=/\B([A-Z])/g,vr=Wi(e=>e.replace(md,"-$1").toLowerCase()),Gi=Wi(e=>e.charAt(0).toUpperCase()+e.slice(1)),yo=Wi(e=>e?`on${Gi(e)}`:""),Zn=(e,t)=>!Object.is(e,t),hi=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Ei=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let vc;const Uu=()=>vc||(vc=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Ta(e){if(Ie(e)){const t={};for(let n=0;n{if(n){const r=n.split(gd);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function xn(e){let t="";if(at(e))t=e;else if(Ie(e))for(let n=0;nKi(n,t))}const on=e=>at(e)?e:e==null?"":Ie(e)||Ve(e)&&(e.toString===ju||!Re(e.toString))?JSON.stringify(e,qu,2):String(e),qu=(e,t)=>t&&t.__v_isRef?qu(e,t.value):Lr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,s],i)=>(n[xo(r,i)+" =>"]=s,n),{})}:Vi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>xo(n))}:Mn(t)?xo(t):Ve(t)&&!Ie(t)&&!$u(t)?String(t):t,xo=(e,t="")=>{var n;return Mn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.4.26 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ut;class Hu{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Ut,!t&&Ut&&(this.index=(Ut.scopes||(Ut.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=Ut;try{return Ut=this,t()}finally{Ut=n}}}on(){Ut=this}off(){Ut=this.parent}stop(t){if(this._active){let n,r;for(n=0,r=this.effects.length;n=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),rr()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Jn,n=br;try{return Jn=!0,br=this,this._runnings++,Sc(this),this.fn()}finally{kc(this),this._runnings--,br=n,Jn=t}}stop(){this.active&&(Sc(this),kc(this),this.onStop&&this.onStop(),this.active=!1)}}function Cd(e){return e.value}function Sc(e){e._trackId++,e._depsLength=0}function kc(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{const n=new Map;return n.cleanup=e,n.computed=t,n},vi=new WeakMap,yr=Symbol(""),Wo=Symbol("");function jt(e,t,n){if(Jn&&br){let r=vi.get(e);r||vi.set(e,r=new Map);let s=r.get(n);s||r.set(n,s=Ju(()=>r.delete(n))),Gu(br,s)}}function Nn(e,t,n,r,s,i){const o=vi.get(e);if(!o)return;let a=[];if(t==="clear")a=[...o.values()];else if(n==="length"&&Ie(e)){const c=Number(r);o.forEach((l,u)=>{(u==="length"||!Mn(u)&&u>=c)&&a.push(l)})}else switch(n!==void 0&&a.push(o.get(n)),t){case"add":Ie(e)?Pa(n)&&a.push(o.get("length")):(a.push(o.get(yr)),Lr(e)&&a.push(o.get(Wo)));break;case"delete":Ie(e)||(a.push(o.get(yr)),Lr(e)&&a.push(o.get(Wo)));break;case"set":Lr(e)&&a.push(o.get(yr));break}Ra();for(const c of a)c&&Ku(c,4);Ma()}function Od(e,t){const n=vi.get(e);return n&&n.get(t)}const Ad=Oa("__proto__,__v_isRef,__isVue"),Yu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Mn)),Cc=Id();function Id(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const r=Ue(this);for(let i=0,o=this.length;i{e[t]=function(...n){nr(),Ra();const r=Ue(this)[t].apply(this,n);return Ma(),rr(),r}}),e}function Pd(e){Mn(e)||(e=String(e));const t=Ue(this);return jt(t,"has",e),t.hasOwnProperty(e)}class Xu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){const s=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return i;if(n==="__v_raw")return r===(s?i?Hd:tf:i?ef:Zu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=Ie(t);if(!s){if(o&&$e(Cc,n))return Reflect.get(Cc,n,r);if(n==="hasOwnProperty")return Pd}const a=Reflect.get(t,n,r);return(Mn(n)?Yu.has(n):Ad(n))||(s||jt(t,"get",n),i)?a:gt(a)?o&&Pa(n)?a:a.value:Ve(a)?s?Xi(a):Yi(a):a}}class Qu extends Xu{constructor(t=!1){super(!1,t)}set(t,n,r,s){let i=t[n];if(!this._isShallow){const c=Os(i);if(!Si(r)&&!Os(r)&&(i=Ue(i),r=Ue(r)),!Ie(t)&>(i)&&!gt(r))return c?!1:(i.value=r,!0)}const o=Ie(t)&&Pa(n)?Number(n)e,Ji=e=>Reflect.getPrototypeOf(e);function Xs(e,t,n=!1,r=!1){e=e.__v_raw;const s=Ue(e),i=Ue(t);n||(Zn(t,i)&&jt(s,"get",t),jt(s,"get",i));const{has:o}=Ji(s),a=r?La:n?$a:As;if(o.call(s,t))return a(e.get(t));if(o.call(s,i))return a(e.get(i));e!==s&&e.get(t)}function Qs(e,t=!1){const n=this.__v_raw,r=Ue(n),s=Ue(e);return t||(Zn(e,s)&&jt(r,"has",e),jt(r,"has",s)),e===s?n.has(e):n.has(e)||n.has(s)}function Zs(e,t=!1){return e=e.__v_raw,!t&&jt(Ue(e),"iterate",yr),Reflect.get(e,"size",e)}function Oc(e){e=Ue(e);const t=Ue(this);return Ji(t).has.call(t,e)||(t.add(e),Nn(t,"add",e,e)),this}function Ac(e,t){t=Ue(t);const n=Ue(this),{has:r,get:s}=Ji(n);let i=r.call(n,e);i||(e=Ue(e),i=r.call(n,e));const o=s.call(n,e);return n.set(e,t),i?Zn(t,o)&&Nn(n,"set",e,t):Nn(n,"add",e,t),this}function Ic(e){const t=Ue(this),{has:n,get:r}=Ji(t);let s=n.call(t,e);s||(e=Ue(e),s=n.call(t,e)),r&&r.call(t,e);const i=t.delete(e);return s&&Nn(t,"delete",e,void 0),i}function Pc(){const e=Ue(this),t=e.size!==0,n=e.clear();return t&&Nn(e,"clear",void 0,void 0),n}function ei(e,t){return function(r,s){const i=this,o=i.__v_raw,a=Ue(o),c=t?La:e?$a:As;return!e&&jt(a,"iterate",yr),o.forEach((l,u)=>r.call(s,c(l),c(u),i))}}function ti(e,t,n){return function(...r){const s=this.__v_raw,i=Ue(s),o=Lr(i),a=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,l=s[e](...r),u=n?La:t?$a:As;return!t&&jt(i,"iterate",c?Wo:yr),{next(){const{value:f,done:h}=l.next();return h?{value:f,done:h}:{value:a?[u(f[0]),u(f[1])]:u(f),done:h}},[Symbol.iterator](){return this}}}}function Bn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ld(){const e={get(i){return Xs(this,i)},get size(){return Zs(this)},has:Qs,add:Oc,set:Ac,delete:Ic,clear:Pc,forEach:ei(!1,!1)},t={get(i){return Xs(this,i,!1,!0)},get size(){return Zs(this)},has:Qs,add:Oc,set:Ac,delete:Ic,clear:Pc,forEach:ei(!1,!0)},n={get(i){return Xs(this,i,!0)},get size(){return Zs(this,!0)},has(i){return Qs.call(this,i,!0)},add:Bn("add"),set:Bn("set"),delete:Bn("delete"),clear:Bn("clear"),forEach:ei(!0,!1)},r={get(i){return Xs(this,i,!0,!0)},get size(){return Zs(this,!0)},has(i){return Qs.call(this,i,!0)},add:Bn("add"),set:Bn("set"),delete:Bn("delete"),clear:Bn("clear"),forEach:ei(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(i=>{e[i]=ti(i,!1,!1),n[i]=ti(i,!0,!1),t[i]=ti(i,!1,!0),r[i]=ti(i,!0,!0)}),[e,n,t,r]}const[Fd,jd,$d,Dd]=Ld();function Fa(e,t){const n=t?e?Dd:$d:e?jd:Fd;return(r,s,i)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?r:Reflect.get($e(n,s)&&s in r?n:r,s,i)}const Ud={get:Fa(!1,!1)},Bd={get:Fa(!1,!0)},qd={get:Fa(!0,!1)};const Zu=new WeakMap,ef=new WeakMap,tf=new WeakMap,Hd=new WeakMap;function zd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Vd(e){return e.__v_skip||!Object.isExtensible(e)?0:zd(hd(e))}function Yi(e){return Os(e)?e:ja(e,!1,Nd,Ud,Zu)}function nf(e){return ja(e,!1,Md,Bd,ef)}function Xi(e){return ja(e,!0,Rd,qd,tf)}function ja(e,t,n,r,s){if(!Ve(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=s.get(e);if(i)return i;const o=Vd(e);if(o===0)return e;const a=new Proxy(e,o===2?r:n);return s.set(e,a),a}function hs(e){return Os(e)?hs(e.__v_raw):!!(e&&e.__v_isReactive)}function Os(e){return!!(e&&e.__v_isReadonly)}function Si(e){return!!(e&&e.__v_isShallow)}function rf(e){return e?!!e.__v_raw:!1}function Ue(e){const t=e&&e.__v_raw;return t?Ue(t):e}function Wd(e){return Object.isExtensible(e)&&Du(e,"__v_skip",!0),e}const As=e=>Ve(e)?Yi(e):e,$a=e=>Ve(e)?Xi(e):e;class sf{constructor(t,n,r,s){this.getter=t,this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Na(()=>t(this._value),()=>ds(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=r}get value(){const t=Ue(this);return(!t._cacheable||t.effect.dirty)&&Zn(t._value,t._value=t.effect.run())&&ds(t,4),Da(t),t.effect._dirtyLevel>=2&&ds(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Gd(e,t,n=!1){let r,s;const i=Re(e);return i?(r=e,s=Kt):(r=e.get,s=e.set),new sf(r,s,i||!s,n)}function Da(e){var t;Jn&&br&&(e=Ue(e),Gu(br,(t=e.dep)!=null?t:e.dep=Ju(()=>e.dep=void 0,e instanceof sf?e:void 0)))}function ds(e,t=4,n){e=Ue(e);const r=e.dep;r&&Ku(r,t)}function gt(e){return!!(e&&e.__v_isRef===!0)}function Ct(e){return of(e,!1)}function Ua(e){return of(e,!0)}function of(e,t){return gt(e)?e:new Kd(e,t)}class Kd{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Ue(t),this._value=n?t:As(t)}get value(){return Da(this),this._value}set value(t){const n=this.__v_isShallow||Si(t)||Os(t);t=n?t:Ue(t),Zn(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:As(t),ds(this,4))}}function Ze(e){return gt(e)?e.value:e}const Jd={get:(e,t,n)=>Ze(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const s=e[t];return gt(s)&&!gt(n)?(s.value=n,!0):Reflect.set(e,t,n,r)}};function af(e){return hs(e)?e:new Proxy(e,Jd)}class Yd{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Da(this),()=>ds(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function Xd(e){return new Yd(e)}class Qd{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Od(Ue(this._object),this._key)}}class Zd{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function em(e,t,n){return gt(e)?e:Re(e)?new Zd(e):Ve(e)&&arguments.length>1?tm(e,t,n):Ct(e)}function tm(e,t,n){const r=e[t];return gt(r)?r:new Qd(e,t,n)}/** -* @vue/runtime-core v3.4.26 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Yn(e,t,n,r){try{return r?e(...r):e()}catch(s){Qi(s,t,n)}}function fn(e,t,n,r){if(Re(e)){const s=Yn(e,t,n,r);return s&&Fu(s)&&s.catch(i=>{Qi(i,t,n)}),s}if(Ie(e)){const s=[];for(let i=0;i>>1,s=St[r],i=Ps(s);i_n&&St.splice(t,1)}function im(e){Ie(e)?Fr.push(...e):(!zn||!zn.includes(e,e.allowRecurse?mr+1:mr))&&Fr.push(e),lf()}function Tc(e,t,n=Is?_n+1:0){for(;nPs(n)-Ps(r));if(Fr.length=0,zn){zn.push(...t);return}for(zn=t,mr=0;mre.id==null?1/0:e.id,om=(e,t)=>{const n=Ps(e)-Ps(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function ff(e){Go=!1,Is=!0,St.sort(om);try{for(_n=0;_nat(d)?d.trim():d)),f&&(s=n.map(Ei))}let a,c=r[a=yo(t)]||r[a=yo(vn(t))];!c&&i&&(c=r[a=yo(vr(t))]),c&&fn(c,e,6,s);const l=r[a+"Once"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,fn(l,e,6,s)}}function hf(e,t,n=!1){const r=t.emitsCache,s=r.get(e);if(s!==void 0)return s;const i=e.emits;let o={},a=!1;if(!Re(e)){const c=l=>{const u=hf(l,t,!0);u&&(a=!0,dt(o,u))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!a?(Ve(e)&&r.set(e,null),null):(Ie(i)?i.forEach(c=>o[c]=null):dt(o,i),Ve(e)&&r.set(e,o),o)}function Zi(e,t){return!e||!zi(t)?!1:(t=t.slice(2).replace(/Once$/,""),$e(e,t[0].toLowerCase()+t.slice(1))||$e(e,vr(t))||$e(e,t))}let it=null,eo=null;function ki(e){const t=it;return it=e,eo=e&&e.type.__scopeId||null,t}function _E(e){eo=e}function bE(){eo=null}function Jt(e,t=it,n){if(!t||e._n)return e;const r=(...s)=>{r._d&&qc(-1);const i=ki(t);let o;try{o=e(...s)}finally{ki(i),r._d&&qc(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function wo(e){const{type:t,vnode:n,proxy:r,withProxy:s,propsOptions:[i],slots:o,attrs:a,emit:c,render:l,renderCache:u,props:f,data:h,setupState:d,ctx:E,inheritAttrs:P}=e,L=ki(e);let I,N;try{if(n.shapeFlag&4){const M=s||r,U=M;I=gn(l.call(U,M,u,f,d,h,E)),N=a}else{const M=t;I=gn(M.length>1?M(f,{attrs:a,slots:o,emit:c}):M(f,null)),N=t.props?a:cm(a)}}catch(M){_s.length=0,Qi(M,e,1),I=ze(er)}let O=I;if(N&&P!==!1){const M=Object.keys(N),{shapeFlag:U}=O;M.length&&U&7&&(i&&M.some(Aa)&&(N=lm(N,i)),O=qr(O,N,!1,!0))}return n.dirs&&(O=qr(O,null,!1,!0),O.dirs=O.dirs?O.dirs.concat(n.dirs):n.dirs),n.transition&&(O.transition=n.transition),I=O,ki(L),I}const cm=e=>{let t;for(const n in e)(n==="class"||n==="style"||zi(n))&&((t||(t={}))[n]=e[n]);return t},lm=(e,t)=>{const n={};for(const r in e)(!Aa(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function um(e,t,n){const{props:r,children:s,component:i}=e,{props:o,children:a,patchFlag:c}=t,l=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Nc(r,o,l):!!o;if(c&8){const u=t.dynamicProps;for(let f=0;fe.__isSuspense;function gm(e,t){t&&t.pendingBranch?Ie(e)?t.effects.push(...e):t.effects.push(e):im(e)}const _m=Symbol.for("v-scx"),bm=()=>Yt(_m);function ym(e,t){return Ha(e,null,t)}const ni={};function Lt(e,t,n){return Ha(e,t,n)}function Ha(e,t,{immediate:n,deep:r,flush:s,once:i,onTrack:o,onTrigger:a}=Ke){if(t&&i){const k=t;t=(...V)=>{k(...V),U()}}const c=mt,l=k=>r===!0?k:gr(k,r===!1?1:void 0);let u,f=!1,h=!1;if(gt(e)?(u=()=>e.value,f=Si(e)):hs(e)?(u=()=>l(e),f=!0):Ie(e)?(h=!0,f=e.some(k=>hs(k)||Si(k)),u=()=>e.map(k=>{if(gt(k))return k.value;if(hs(k))return l(k);if(Re(k))return Yn(k,c,2)})):Re(e)?t?u=()=>Yn(e,c,2):u=()=>(d&&d(),fn(e,c,3,[E])):u=Kt,t&&r){const k=u;u=()=>gr(k())}let d,E=k=>{d=O.onStop=()=>{Yn(k,c,4),d=O.onStop=void 0}},P;if(ro)if(E=Kt,t?n&&fn(t,c,3,[u(),h?[]:void 0,E]):u(),s==="sync"){const k=bm();P=k.__watcherHandles||(k.__watcherHandles=[])}else return Kt;let L=h?new Array(e.length).fill(ni):ni;const I=()=>{if(!(!O.active||!O.dirty))if(t){const k=O.run();(r||f||(h?k.some((V,X)=>Zn(V,L[X])):Zn(k,L)))&&(d&&d(),fn(t,c,3,[k,L===ni?void 0:h&&L[0]===ni?[]:L,E]),L=k)}else O.run()};I.allowRecurse=!!t;let N;s==="sync"?N=I:s==="post"?N=()=>Mt(I,c&&c.suspense):(I.pre=!0,c&&(I.id=c.uid),N=()=>qa(I));const O=new Na(u,Kt,N),M=zu(),U=()=>{O.stop(),M&&Ia(M.effects,O)};return t?n?I():L=O.run():s==="post"?Mt(O.run.bind(O),c&&c.suspense):O.run(),P&&P.push(U),U}function xm(e,t,n){const r=this.proxy,s=at(e)?e.includes(".")?df(r,e):()=>r[e]:e.bind(r,r);let i;Re(t)?i=t:(i=t.handler,n=t);const o=Gs(this),a=Ha(s,i.bind(r),n);return o(),a}function df(e,t){const n=t.split(".");return()=>{let r=e;for(let s=0;s{gr(r,t,n)});else if($u(e))for(const r in e)gr(e[r],t,n);return e}function yE(e,t){if(it===null)return e;const n=so(it)||it.proxy,r=e.dirs||(e.dirs=[]);for(let s=0;s!!e.type.__asyncLoader,mf=e=>e.type.__isKeepAlive;function wm(e,t){pf(e,"a",t)}function Em(e,t){pf(e,"da",t)}function pf(e,t,n=mt){const r=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(no(t,r,n),n){let s=n.parent;for(;s&&s.parent;)mf(s.parent.vnode)&&vm(r,t,n,s),s=s.parent}}function vm(e,t,n,r){const s=no(t,e,r,!0);za(()=>{Ia(r[t],s)},n)}function no(e,t,n=mt,r=!1){if(n){const s=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;nr();const a=Gs(n),c=fn(t,n,e,o);return a(),rr(),c});return r?s.unshift(i):s.push(i),i}}const jn=e=>(t,n=mt)=>(!ro||e==="sp")&&no(e,(...r)=>t(...r),n),Sm=jn("bm"),zs=jn("m"),km=jn("bu"),Cm=jn("u"),Om=jn("bum"),za=jn("um"),Am=jn("sp"),Im=jn("rtg"),Pm=jn("rtc");function Tm(e,t=mt){no("ec",e,t)}function xE(e,t,n,r){let s;const i=n;if(Ie(e)||at(e)){s=new Array(e.length);for(let o=0,a=e.length;ot(o,a,void 0,i));else{const o=Object.keys(e);s=new Array(o.length);for(let a=0,c=o.length;aOi(t)?!(t.type===er||t.type===Bt&&!gf(t.children)):!0)?e:null}const Ko=e=>e?Nf(e)?so(e)||e.proxy:Ko(e.parent):null,ps=dt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ko(e.parent),$root:e=>Ko(e.root),$emit:e=>e.emit,$options:e=>Va(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,qa(e.update)}),$nextTick:e=>e.n||(e.n=Yr.bind(e.proxy)),$watch:e=>xm.bind(e)}),Eo=(e,t)=>e!==Ke&&!e.__isScriptSetup&&$e(e,t),Nm={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:s,props:i,accessCache:o,type:a,appContext:c}=e;let l;if(t[0]!=="$"){const d=o[t];if(d!==void 0)switch(d){case 1:return r[t];case 2:return s[t];case 4:return n[t];case 3:return i[t]}else{if(Eo(r,t))return o[t]=1,r[t];if(s!==Ke&&$e(s,t))return o[t]=2,s[t];if((l=e.propsOptions[0])&&$e(l,t))return o[t]=3,i[t];if(n!==Ke&&$e(n,t))return o[t]=4,n[t];Jo&&(o[t]=0)}}const u=ps[t];let f,h;if(u)return t==="$attrs"&&jt(e.attrs,"get",""),u(e);if((f=a.__cssModules)&&(f=f[t]))return f;if(n!==Ke&&$e(n,t))return o[t]=4,n[t];if(h=c.config.globalProperties,$e(h,t))return h[t]},set({_:e},t,n){const{data:r,setupState:s,ctx:i}=e;return Eo(s,t)?(s[t]=n,!0):r!==Ke&&$e(r,t)?(r[t]=n,!0):$e(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:s,propsOptions:i}},o){let a;return!!n[o]||e!==Ke&&$e(e,o)||Eo(t,o)||(a=i[0])&&$e(a,o)||$e(r,o)||$e(ps,o)||$e(s.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:$e(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Mc(e){return Ie(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Jo=!0;function Rm(e){const t=Va(e),n=e.proxy,r=e.ctx;Jo=!1,t.beforeCreate&&Lc(t.beforeCreate,e,"bc");const{data:s,computed:i,methods:o,watch:a,provide:c,inject:l,created:u,beforeMount:f,mounted:h,beforeUpdate:d,updated:E,activated:P,deactivated:L,beforeDestroy:I,beforeUnmount:N,destroyed:O,unmounted:M,render:U,renderTracked:k,renderTriggered:V,errorCaptured:X,serverPrefetch:Q,expose:ae,inheritAttrs:se,components:Z,directives:we,filters:Ne}=t;if(l&&Mm(l,r,null),o)for(const ve in o){const Ce=o[ve];Re(Ce)&&(r[ve]=Ce.bind(n))}if(s){const ve=s.call(n,n);Ve(ve)&&(e.data=Yi(ve))}if(Jo=!0,i)for(const ve in i){const Ce=i[ve],qe=Re(Ce)?Ce.bind(n,n):Re(Ce.get)?Ce.get.bind(n,n):Kt,m=!Re(Ce)&&Re(Ce.set)?Ce.set.bind(n):Kt,A=We({get:qe,set:m});Object.defineProperty(r,ve,{enumerable:!0,configurable:!0,get:()=>A.value,set:oe=>A.value=oe})}if(a)for(const ve in a)_f(a[ve],r,n,ve);if(c){const ve=Re(c)?c.call(n):c;Reflect.ownKeys(ve).forEach(Ce=>{mi(Ce,ve[Ce])})}u&&Lc(u,e,"c");function Te(ve,Ce){Ie(Ce)?Ce.forEach(qe=>ve(qe.bind(n))):Ce&&ve(Ce.bind(n))}if(Te(Sm,f),Te(zs,h),Te(km,d),Te(Cm,E),Te(wm,P),Te(Em,L),Te(Tm,X),Te(Pm,k),Te(Im,V),Te(Om,N),Te(za,M),Te(Am,Q),Ie(ae))if(ae.length){const ve=e.exposed||(e.exposed={});ae.forEach(Ce=>{Object.defineProperty(ve,Ce,{get:()=>n[Ce],set:qe=>n[Ce]=qe})})}else e.exposed||(e.exposed={});U&&e.render===Kt&&(e.render=U),se!=null&&(e.inheritAttrs=se),Z&&(e.components=Z),we&&(e.directives=we)}function Mm(e,t,n=Kt){Ie(e)&&(e=Yo(e));for(const r in e){const s=e[r];let i;Ve(s)?"default"in s?i=Yt(s.from||r,s.default,!0):i=Yt(s.from||r):i=Yt(s),gt(i)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[r]=i}}function Lc(e,t,n){fn(Ie(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function _f(e,t,n,r){const s=r.includes(".")?df(n,r):()=>n[r];if(at(e)){const i=t[e];Re(i)&&Lt(s,i)}else if(Re(e))Lt(s,e.bind(n));else if(Ve(e))if(Ie(e))e.forEach(i=>_f(i,t,n,r));else{const i=Re(e.handler)?e.handler.bind(n):t[e.handler];Re(i)&&Lt(s,i,e)}}function Va(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:s,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,a=i.get(t);let c;return a?c=a:!s.length&&!n&&!r?c=t:(c={},s.length&&s.forEach(l=>Ci(c,l,o,!0)),Ci(c,t,o)),Ve(t)&&i.set(t,c),c}function Ci(e,t,n,r=!1){const{mixins:s,extends:i}=t;i&&Ci(e,i,n,!0),s&&s.forEach(o=>Ci(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const a=Lm[o]||n&&n[o];e[o]=a?a(e[o],t[o]):t[o]}return e}const Lm={data:Fc,props:jc,emits:jc,methods:cs,computed:cs,beforeCreate:Ot,created:Ot,beforeMount:Ot,mounted:Ot,beforeUpdate:Ot,updated:Ot,beforeDestroy:Ot,beforeUnmount:Ot,destroyed:Ot,unmounted:Ot,activated:Ot,deactivated:Ot,errorCaptured:Ot,serverPrefetch:Ot,components:cs,directives:cs,watch:jm,provide:Fc,inject:Fm};function Fc(e,t){return t?e?function(){return dt(Re(e)?e.call(this,this):e,Re(t)?t.call(this,this):t)}:t:e}function Fm(e,t){return cs(Yo(e),Yo(t))}function Yo(e){if(Ie(e)){const t={};for(let n=0;n1)return n&&Re(t)?t.call(r&&r.proxy):t}}const yf={},xf=()=>Object.create(yf),wf=e=>Object.getPrototypeOf(e)===yf;function Um(e,t,n,r=!1){const s={},i=xf();e.propsDefaults=Object.create(null),Ef(e,t,s,i);for(const o in e.propsOptions[0])o in s||(s[o]=void 0);n?e.props=r?s:nf(s):e.type.props?e.props=s:e.props=i,e.attrs=i}function Bm(e,t,n,r){const{props:s,attrs:i,vnode:{patchFlag:o}}=e,a=Ue(s),[c]=e.propsOptions;let l=!1;if((r||o>0)&&!(o&16)){if(o&8){const u=e.vnode.dynamicProps;for(let f=0;f{c=!0;const[h,d]=vf(f,t,!0);dt(o,h),d&&a.push(...d)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!c)return Ve(e)&&r.set(e,Mr),Mr;if(Ie(i))for(let u=0;u-1,d[1]=P<0||E-1||$e(d,"default"))&&a.push(f)}}}const l=[o,a];return Ve(e)&&r.set(e,l),l}function $c(e){return e[0]!=="$"&&!fs(e)}function Dc(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Uc(e,t){return Dc(e)===Dc(t)}function Bc(e,t){return Ie(t)?t.findIndex(n=>Uc(n,e)):Re(t)&&Uc(t,e)?0:-1}const Sf=e=>e[0]==="_"||e==="$stable",Wa=e=>Ie(e)?e.map(gn):[gn(e)],qm=(e,t,n)=>{if(t._n)return t;const r=Jt((...s)=>Wa(t(...s)),n);return r._c=!1,r},kf=(e,t,n)=>{const r=e._ctx;for(const s in e){if(Sf(s))continue;const i=e[s];if(Re(i))t[s]=qm(s,i,r);else if(i!=null){const o=Wa(i);t[s]=()=>o}}},Cf=(e,t)=>{const n=Wa(t);e.slots.default=()=>n},Hm=(e,t)=>{const n=e.slots=xf();if(e.vnode.shapeFlag&32){const r=t._;r?(dt(n,t),Du(n,"_",r,!0)):kf(t,n)}else t&&Cf(e,t)},zm=(e,t,n)=>{const{vnode:r,slots:s}=e;let i=!0,o=Ke;if(r.shapeFlag&32){const a=t._;a?n&&a===1?i=!1:(dt(s,t),!n&&a===1&&delete s._):(i=!t.$stable,kf(t,s)),o=t}else t&&(Cf(e,t),o={default:1});if(i)for(const a in s)!Sf(a)&&o[a]==null&&delete s[a]};function Qo(e,t,n,r,s=!1){if(Ie(e)){e.forEach((h,d)=>Qo(h,t&&(Ie(t)?t[d]:t),n,r,s));return}if(ms(r)&&!s)return;const i=r.shapeFlag&4?so(r.component)||r.component.proxy:r.el,o=s?null:i,{i:a,r:c}=e,l=t&&t.r,u=a.refs===Ke?a.refs={}:a.refs,f=a.setupState;if(l!=null&&l!==c&&(at(l)?(u[l]=null,$e(f,l)&&(f[l]=null)):gt(l)&&(l.value=null)),Re(c))Yn(c,a,12,[o,u]);else{const h=at(c),d=gt(c);if(h||d){const E=()=>{if(e.f){const P=h?$e(f,c)?f[c]:u[c]:c.value;s?Ie(P)&&Ia(P,i):Ie(P)?P.includes(i)||P.push(i):h?(u[c]=[i],$e(f,c)&&(f[c]=u[c])):(c.value=[i],e.k&&(u[e.k]=c.value))}else h?(u[c]=o,$e(f,c)&&(f[c]=o)):d&&(c.value=o,e.k&&(u[e.k]=o))};o?(E.id=-1,Mt(E,n)):E()}}}const Mt=gm;function Vm(e){return Wm(e)}function Wm(e,t){const n=Uu();n.__VUE__=!0;const{insert:r,remove:s,patchProp:i,createElement:o,createText:a,createComment:c,setText:l,setElementText:u,parentNode:f,nextSibling:h,setScopeId:d=Kt,insertStaticContent:E}=e,P=(y,S,D,W=null,z=null,ne=null,ce=void 0,_=null,x=!!S.dynamicChildren)=>{if(y===S)return;y&&!ns(y,S)&&(W=F(y),oe(y,z,ne,!0),y=null),S.patchFlag===-2&&(x=!1,S.dynamicChildren=null);const{type:T,ref:G,shapeFlag:ie}=S;switch(T){case Vs:L(y,S,D,W);break;case er:I(y,S,D,W);break;case So:y==null&&N(S,D,W,ce);break;case Bt:Z(y,S,D,W,z,ne,ce,_,x);break;default:ie&1?U(y,S,D,W,z,ne,ce,_,x):ie&6?we(y,S,D,W,z,ne,ce,_,x):(ie&64||ie&128)&&T.process(y,S,D,W,z,ne,ce,_,x,ee)}G!=null&&z&&Qo(G,y&&y.ref,ne,S||y,!S)},L=(y,S,D,W)=>{if(y==null)r(S.el=a(S.children),D,W);else{const z=S.el=y.el;S.children!==y.children&&l(z,S.children)}},I=(y,S,D,W)=>{y==null?r(S.el=c(S.children||""),D,W):S.el=y.el},N=(y,S,D,W)=>{[y.el,y.anchor]=E(y.children,S,D,W,y.el,y.anchor)},O=({el:y,anchor:S},D,W)=>{let z;for(;y&&y!==S;)z=h(y),r(y,D,W),y=z;r(S,D,W)},M=({el:y,anchor:S})=>{let D;for(;y&&y!==S;)D=h(y),s(y),y=D;s(S)},U=(y,S,D,W,z,ne,ce,_,x)=>{S.type==="svg"?ce="svg":S.type==="math"&&(ce="mathml"),y==null?k(S,D,W,z,ne,ce,_,x):Q(y,S,z,ne,ce,_,x)},k=(y,S,D,W,z,ne,ce,_)=>{let x,T;const{props:G,shapeFlag:ie,transition:te,dirs:j}=y;if(x=y.el=o(y.type,ne,G&&G.is,G),ie&8?u(x,y.children):ie&16&&X(y.children,x,null,W,z,vo(y,ne),ce,_),j&&ur(y,null,W,"created"),V(x,y,y.scopeId,ce,W),G){for(const _e in G)_e!=="value"&&!fs(_e)&&i(x,_e,null,G[_e],ne,y.children,W,z,fe);"value"in G&&i(x,"value",null,G.value,ne),(T=G.onVnodeBeforeMount)&&pn(T,W,y)}j&&ur(y,null,W,"beforeMount");const q=Gm(z,te);q&&te.beforeEnter(x),r(x,S,D),((T=G&&G.onVnodeMounted)||q||j)&&Mt(()=>{T&&pn(T,W,y),q&&te.enter(x),j&&ur(y,null,W,"mounted")},z)},V=(y,S,D,W,z)=>{if(D&&d(y,D),W)for(let ne=0;ne{for(let T=x;T{const _=S.el=y.el;let{patchFlag:x,dynamicChildren:T,dirs:G}=S;x|=y.patchFlag&16;const ie=y.props||Ke,te=S.props||Ke;let j;if(D&&fr(D,!1),(j=te.onVnodeBeforeUpdate)&&pn(j,D,S,y),G&&ur(S,y,D,"beforeUpdate"),D&&fr(D,!0),T?ae(y.dynamicChildren,T,_,D,W,vo(S,z),ne):ce||Ce(y,S,_,null,D,W,vo(S,z),ne,!1),x>0){if(x&16)se(_,S,ie,te,D,W,z);else if(x&2&&ie.class!==te.class&&i(_,"class",null,te.class,z),x&4&&i(_,"style",ie.style,te.style,z),x&8){const q=S.dynamicProps;for(let _e=0;_e{j&&pn(j,D,S,y),G&&ur(S,y,D,"updated")},W)},ae=(y,S,D,W,z,ne,ce)=>{for(let _=0;_{if(D!==W){if(D!==Ke)for(const _ in D)!fs(_)&&!(_ in W)&&i(y,_,D[_],null,ce,S.children,z,ne,fe);for(const _ in W){if(fs(_))continue;const x=W[_],T=D[_];x!==T&&_!=="value"&&i(y,_,T,x,ce,S.children,z,ne,fe)}"value"in W&&i(y,"value",D.value,W.value,ce)}},Z=(y,S,D,W,z,ne,ce,_,x)=>{const T=S.el=y?y.el:a(""),G=S.anchor=y?y.anchor:a("");let{patchFlag:ie,dynamicChildren:te,slotScopeIds:j}=S;j&&(_=_?_.concat(j):j),y==null?(r(T,D,W),r(G,D,W),X(S.children||[],D,G,z,ne,ce,_,x)):ie>0&&ie&64&&te&&y.dynamicChildren?(ae(y.dynamicChildren,te,D,z,ne,ce,_),(S.key!=null||z&&S===z.subTree)&&Of(y,S,!0)):Ce(y,S,D,G,z,ne,ce,_,x)},we=(y,S,D,W,z,ne,ce,_,x)=>{S.slotScopeIds=_,y==null?S.shapeFlag&512?z.ctx.activate(S,D,W,ce,x):Ne(S,D,W,z,ne,ce,x):Oe(y,S,x)},Ne=(y,S,D,W,z,ne,ce)=>{const _=y.component=np(y,W,z);if(mf(y)&&(_.ctx.renderer=ee),rp(_),_.asyncDep){if(z&&z.registerDep(_,Te),!y.el){const x=_.subTree=ze(er);I(null,x,S,D)}}else Te(_,y,S,D,z,ne,ce)},Oe=(y,S,D)=>{const W=S.component=y.component;if(um(y,S,D))if(W.asyncDep&&!W.asyncResolved){ve(W,S,D);return}else W.next=S,sm(W.update),W.effect.dirty=!0,W.update();else S.el=y.el,W.vnode=S},Te=(y,S,D,W,z,ne,ce)=>{const _=()=>{if(y.isMounted){let{next:G,bu:ie,u:te,parent:j,vnode:q}=y;{const rt=Af(y);if(rt){G&&(G.el=q.el,ve(y,G,ce)),rt.asyncDep.then(()=>{y.isUnmounted||_()});return}}let _e=G,ke;fr(y,!1),G?(G.el=q.el,ve(y,G,ce)):G=q,ie&&hi(ie),(ke=G.props&&G.props.onVnodeBeforeUpdate)&&pn(ke,j,G,q),fr(y,!0);const Me=wo(y),Je=y.subTree;y.subTree=Me,P(Je,Me,f(Je.el),F(Je),y,z,ne),G.el=Me.el,_e===null&&fm(y,Me.el),te&&Mt(te,z),(ke=G.props&&G.props.onVnodeUpdated)&&Mt(()=>pn(ke,j,G,q),z)}else{let G;const{el:ie,props:te}=S,{bm:j,m:q,parent:_e}=y,ke=ms(S);if(fr(y,!1),j&&hi(j),!ke&&(G=te&&te.onVnodeBeforeMount)&&pn(G,_e,S),fr(y,!0),ie&&Se){const Me=()=>{y.subTree=wo(y),Se(ie,y.subTree,y,z,null)};ke?S.type.__asyncLoader().then(()=>!y.isUnmounted&&Me()):Me()}else{const Me=y.subTree=wo(y);P(null,Me,D,W,y,z,ne),S.el=Me.el}if(q&&Mt(q,z),!ke&&(G=te&&te.onVnodeMounted)){const Me=S;Mt(()=>pn(G,_e,Me),z)}(S.shapeFlag&256||_e&&ms(_e.vnode)&&_e.vnode.shapeFlag&256)&&y.a&&Mt(y.a,z),y.isMounted=!0,S=D=W=null}},x=y.effect=new Na(_,Kt,()=>qa(T),y.scope),T=y.update=()=>{x.dirty&&x.run()};T.id=y.uid,fr(y,!0),T()},ve=(y,S,D)=>{S.component=y;const W=y.vnode.props;y.vnode=S,y.next=null,Bm(y,S.props,W,D),zm(y,S.children,D),nr(),Tc(y),rr()},Ce=(y,S,D,W,z,ne,ce,_,x=!1)=>{const T=y&&y.children,G=y?y.shapeFlag:0,ie=S.children,{patchFlag:te,shapeFlag:j}=S;if(te>0){if(te&128){m(T,ie,D,W,z,ne,ce,_,x);return}else if(te&256){qe(T,ie,D,W,z,ne,ce,_,x);return}}j&8?(G&16&&fe(T,z,ne),ie!==T&&u(D,ie)):G&16?j&16?m(T,ie,D,W,z,ne,ce,_,x):fe(T,z,ne,!0):(G&8&&u(D,""),j&16&&X(ie,D,W,z,ne,ce,_,x))},qe=(y,S,D,W,z,ne,ce,_,x)=>{y=y||Mr,S=S||Mr;const T=y.length,G=S.length,ie=Math.min(T,G);let te;for(te=0;teG?fe(y,z,ne,!0,!1,ie):X(S,D,W,z,ne,ce,_,x,ie)},m=(y,S,D,W,z,ne,ce,_,x)=>{let T=0;const G=S.length;let ie=y.length-1,te=G-1;for(;T<=ie&&T<=te;){const j=y[T],q=S[T]=x?Vn(S[T]):gn(S[T]);if(ns(j,q))P(j,q,D,null,z,ne,ce,_,x);else break;T++}for(;T<=ie&&T<=te;){const j=y[ie],q=S[te]=x?Vn(S[te]):gn(S[te]);if(ns(j,q))P(j,q,D,null,z,ne,ce,_,x);else break;ie--,te--}if(T>ie){if(T<=te){const j=te+1,q=jte)for(;T<=ie;)oe(y[T],z,ne,!0),T++;else{const j=T,q=T,_e=new Map;for(T=q;T<=te;T++){const ct=S[T]=x?Vn(S[T]):gn(S[T]);ct.key!=null&&_e.set(ct.key,T)}let ke,Me=0;const Je=te-q+1;let rt=!1,Qt=0;const _t=new Array(Je);for(T=0;T=Je){oe(ct,z,ne,!0);continue}let bt;if(ct.key!=null)bt=_e.get(ct.key);else for(ke=q;ke<=te;ke++)if(_t[ke-q]===0&&ns(ct,S[ke])){bt=ke;break}bt===void 0?oe(ct,z,ne,!0):(_t[bt-q]=T+1,bt>=Qt?Qt=bt:rt=!0,P(ct,S[bt],D,null,z,ne,ce,_,x),Me++)}const kn=rt?Km(_t):Mr;for(ke=kn.length-1,T=Je-1;T>=0;T--){const ct=q+T,bt=S[ct],$n=ct+1{const{el:ne,type:ce,transition:_,children:x,shapeFlag:T}=y;if(T&6){A(y.component.subTree,S,D,W);return}if(T&128){y.suspense.move(S,D,W);return}if(T&64){ce.move(y,S,D,ee);return}if(ce===Bt){r(ne,S,D);for(let ie=0;ie_.enter(ne),z);else{const{leave:ie,delayLeave:te,afterLeave:j}=_,q=()=>r(ne,S,D),_e=()=>{ie(ne,()=>{q(),j&&j()})};te?te(ne,q,_e):_e()}else r(ne,S,D)},oe=(y,S,D,W=!1,z=!1)=>{const{type:ne,props:ce,ref:_,children:x,dynamicChildren:T,shapeFlag:G,patchFlag:ie,dirs:te}=y;if(_!=null&&Qo(_,null,D,y,!0),G&256){S.ctx.deactivate(y);return}const j=G&1&&te,q=!ms(y);let _e;if(q&&(_e=ce&&ce.onVnodeBeforeUnmount)&&pn(_e,S,y),G&6)Ee(y.component,D,W);else{if(G&128){y.suspense.unmount(D,W);return}j&&ur(y,null,S,"beforeUnmount"),G&64?y.type.remove(y,S,D,z,ee,W):T&&(ne!==Bt||ie>0&&ie&64)?fe(T,S,D,!1,!0):(ne===Bt&&ie&384||!z&&G&16)&&fe(x,S,D),W&&v(y)}(q&&(_e=ce&&ce.onVnodeUnmounted)||j)&&Mt(()=>{_e&&pn(_e,S,y),j&&ur(y,null,S,"unmounted")},D)},v=y=>{const{type:S,el:D,anchor:W,transition:z}=y;if(S===Bt){me(D,W);return}if(S===So){M(y);return}const ne=()=>{s(D),z&&!z.persisted&&z.afterLeave&&z.afterLeave()};if(y.shapeFlag&1&&z&&!z.persisted){const{leave:ce,delayLeave:_}=z,x=()=>ce(D,ne);_?_(y.el,ne,x):x()}else ne()},me=(y,S)=>{let D;for(;y!==S;)D=h(y),s(y),y=D;s(S)},Ee=(y,S,D)=>{const{bum:W,scope:z,update:ne,subTree:ce,um:_}=y;W&&hi(W),z.stop(),ne&&(ne.active=!1,oe(ce,y,S,D)),_&&Mt(_,S),Mt(()=>{y.isUnmounted=!0},S),S&&S.pendingBranch&&!S.isUnmounted&&y.asyncDep&&!y.asyncResolved&&y.suspenseId===S.pendingId&&(S.deps--,S.deps===0&&S.resolve())},fe=(y,S,D,W=!1,z=!1,ne=0)=>{for(let ce=ne;cey.shapeFlag&6?F(y.component.subTree):y.shapeFlag&128?y.suspense.next():h(y.anchor||y.el);let K=!1;const B=(y,S,D)=>{y==null?S._vnode&&oe(S._vnode,null,null,!0):P(S._vnode||null,y,S,null,null,null,D),K||(K=!0,Tc(),uf(),K=!1),S._vnode=y},ee={p:P,um:oe,m:A,r:v,mt:Ne,mc:X,pc:Ce,pbc:ae,n:F,o:e};let pe,Se;return{render:B,hydrate:pe,createApp:Dm(B,pe)}}function vo({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function fr({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Gm(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Of(e,t,n=!1){const r=e.children,s=t.children;if(Ie(r)&&Ie(s))for(let i=0;i>1,e[n[a]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Af(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Af(t)}const Jm=e=>e.__isTeleport,Bt=Symbol.for("v-fgt"),Vs=Symbol.for("v-txt"),er=Symbol.for("v-cmt"),So=Symbol.for("v-stc"),_s=[];let cn=null;function pt(e=!1){_s.push(cn=e?null:[])}function Ym(){_s.pop(),cn=_s[_s.length-1]||null}let Ts=1;function qc(e){Ts+=e}function If(e){return e.dynamicChildren=Ts>0?cn||Mr:null,Ym(),Ts>0&&cn&&cn.push(e),e}function Sn(e,t,n,r,s,i){return If(Ye(e,t,n,r,s,i,!0))}function wr(e,t,n,r,s){return If(ze(e,t,n,r,s,!0))}function Oi(e){return e?e.__v_isVNode===!0:!1}function ns(e,t){return e.type===t.type&&e.key===t.key}const Pf=({key:e})=>e??null,pi=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?at(e)||gt(e)||Re(e)?{i:it,r:e,k:t,f:!!n}:e:null);function Ye(e,t=null,n=null,r=0,s=null,i=e===Bt?0:1,o=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pf(t),ref:t&&pi(t),scopeId:eo,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:it};return a?(Ka(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=at(n)?8:16),Ts>0&&!o&&cn&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&cn.push(c),c}const ze=Xm;function Xm(e,t=null,n=null,r=0,s=null,i=!1){if((!e||e===dm)&&(e=er),Oi(e)){const a=qr(e,t,!0);return n&&Ka(a,n),Ts>0&&!i&&cn&&(a.shapeFlag&6?cn[cn.indexOf(e)]=a:cn.push(a)),a.patchFlag|=-2,a}if(cp(e)&&(e=e.__vccOpts),t){t=Qm(t);let{class:a,style:c}=t;a&&!at(a)&&(t.class=xn(a)),Ve(c)&&(rf(c)&&!Ie(c)&&(c=dt({},c)),t.style=Ta(c))}const o=at(e)?1:pm(e)?128:Jm(e)?64:Ve(e)?4:Re(e)?2:0;return Ye(e,t,n,r,s,o,i,!0)}function Qm(e){return e?rf(e)||wf(e)?dt({},e):e:null}function qr(e,t,n=!1,r=!1){const{props:s,ref:i,patchFlag:o,children:a,transition:c}=e,l=t?Zm(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Pf(l),ref:t&&t.ref?n&&i?Ie(i)?i.concat(pi(t)):[i,pi(t)]:pi(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Bt?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qr(e.ssContent),ssFallback:e.ssFallback&&qr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&r&&(u.transition=c.clone(u)),u}function Ga(e=" ",t=0){return ze(Vs,null,e,t)}function Tf(e="",t=!1){return t?(pt(),wr(er,null,e)):ze(er,null,e)}function gn(e){return e==null||typeof e=="boolean"?ze(er):Ie(e)?ze(Bt,null,e.slice()):typeof e=="object"?Vn(e):ze(Vs,null,String(e))}function Vn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qr(e)}function Ka(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(Ie(t))n=16;else if(typeof t=="object")if(r&65){const s=t.default;s&&(s._c&&(s._d=!1),Ka(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!wf(t)?t._ctx=it:s===3&&it&&(it.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Re(t)?(t={default:t,_ctx:it},n=32):(t=String(t),r&64?(n=16,t=[Ga(t)]):n=8);e.children=t,e.shapeFlag|=n}function Zm(...e){const t={};for(let n=0;nmt||it;let Ai,Zo;{const e=Uu(),t=(n,r)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(r),i=>{s.length>1?s.forEach(o=>o(i)):s[0](i)}};Ai=t("__VUE_INSTANCE_SETTERS__",n=>mt=n),Zo=t("__VUE_SSR_SETTERS__",n=>ro=n)}const Gs=e=>{const t=mt;return Ai(e),e.scope.on(),()=>{e.scope.off(),Ai(t)}},Hc=()=>{mt&&mt.scope.off(),Ai(null)};function Nf(e){return e.vnode.shapeFlag&4}let ro=!1;function rp(e,t=!1){t&&Zo(t);const{props:n,children:r}=e.vnode,s=Nf(e);Um(e,n,s,t),Hm(e,r);const i=s?sp(e,t):void 0;return t&&Zo(!1),i}function sp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Nm);const{setup:r}=n;if(r){const s=e.setupContext=r.length>1?op(e):null,i=Gs(e);nr();const o=Yn(r,e,0,[e.props,s]);if(rr(),i(),Fu(o)){if(o.then(Hc,Hc),t)return o.then(a=>{zc(e,a,t)}).catch(a=>{Qi(a,e,0)});e.asyncDep=o}else zc(e,o,t)}else Rf(e,t)}function zc(e,t,n){Re(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ve(t)&&(e.setupState=af(t)),Rf(e,n)}let Vc;function Rf(e,t,n){const r=e.type;if(!e.render){if(!t&&Vc&&!r.render){const s=r.template||Va(e).template;if(s){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:a,compilerOptions:c}=r,l=dt(dt({isCustomElement:i,delimiters:a},o),c);r.render=Vc(s,l)}}e.render=r.render||Kt}{const s=Gs(e);nr();try{Rm(e)}finally{rr(),s()}}}const ip={get(e,t){return jt(e,"get",""),e[t]}};function op(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,ip),slots:e.slots,emit:e.emit,expose:t}}function so(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(af(Wd(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ps)return ps[n](e)},has(t,n){return n in t||n in ps}}))}function ap(e,t=!0){return Re(e)?e.displayName||e.name:e.name||t&&e.__name}function cp(e){return Re(e)&&"__vccOpts"in e}const We=(e,t)=>Gd(e,t,ro);function io(e,t,n){const r=arguments.length;return r===2?Ve(t)&&!Ie(t)?Oi(t)?ze(e,null,[t]):ze(e,t):ze(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Oi(n)&&(n=[n]),ze(e,t,n))}const lp="3.4.26";/** -* @vue/runtime-dom v3.4.26 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const up="http://www.w3.org/2000/svg",fp="http://www.w3.org/1998/Math/MathML",Wn=typeof document<"u"?document:null,Wc=Wn&&Wn.createElement("template"),hp={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const s=t==="svg"?Wn.createElementNS(up,e):t==="mathml"?Wn.createElementNS(fp,e):Wn.createElement(e,n?{is:n}:void 0);return e==="select"&&r&&r.multiple!=null&&s.setAttribute("multiple",r.multiple),s},createText:e=>Wn.createTextNode(e),createComment:e=>Wn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Wn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,s,i){const o=n?n.previousSibling:t.lastChild;if(s&&(s===i||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===i||!(s=s.nextSibling)););else{Wc.innerHTML=r==="svg"?`${e}`:r==="mathml"?`${e}`:e;const a=Wc.content;if(r==="svg"||r==="mathml"){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},dp=Symbol("_vtc");function mp(e,t,n){const r=e[dp];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Ii=Symbol("_vod"),Mf=Symbol("_vsh"),wE={beforeMount(e,{value:t},{transition:n}){e[Ii]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):rs(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),rs(e,!0),r.enter(e)):r.leave(e,()=>{rs(e,!1)}):rs(e,t))},beforeUnmount(e,{value:t}){rs(e,t)}};function rs(e,t){e.style.display=t?e[Ii]:"none",e[Mf]=!t}const pp=Symbol(""),gp=/(^|;)\s*display\s*:/;function _p(e,t,n){const r=e.style,s=at(n);let i=!1;if(n&&!s){if(t)if(at(t))for(const o of t.split(";")){const a=o.slice(0,o.indexOf(":")).trim();n[a]==null&&gi(r,a,"")}else for(const o in t)n[o]==null&&gi(r,o,"");for(const o in n)o==="display"&&(i=!0),gi(r,o,n[o])}else if(s){if(t!==n){const o=r[pp];o&&(n+=";"+o),r.cssText=n,i=gp.test(n)}}else t&&e.removeAttribute("style");Ii in e&&(e[Ii]=i?r.display:"",e[Mf]&&(r.display="none"))}const Gc=/\s*!important$/;function gi(e,t,n){if(Ie(n))n.forEach(r=>gi(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=bp(e,t);Gc.test(n)?e.setProperty(vr(r),n.replace(Gc,""),"important"):e[r]=n}}const Kc=["Webkit","Moz","ms"],ko={};function bp(e,t){const n=ko[t];if(n)return n;let r=vn(t);if(r!=="filter"&&r in e)return ko[t]=r;r=Gi(r);for(let s=0;sCo||(Sp.then(()=>Co=0),Co=Date.now());function Cp(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;fn(Op(r,n.value),t,5,[r])};return n.value=e,n.attached=kp(),n}function Op(e,t){if(Ie(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>s=>!s._stopped&&r&&r(s))}else return t}const Qc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Ap=(e,t,n,r,s,i,o,a,c)=>{const l=s==="svg";t==="class"?mp(e,r,l):t==="style"?_p(e,n,r):zi(t)?Aa(t)||Ep(e,t,n,r,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ip(e,t,r,l))?xp(e,t,r,i,o,a,c):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),yp(e,t,r,l))};function Ip(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Qc(t)&&Re(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return Qc(t)&&at(n)?!1:t in e}const Pi=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Ie(t)?n=>hi(t,n):t};function Pp(e){e.target.composing=!0}function Zc(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const jr=Symbol("_assign"),EE={created(e,{modifiers:{lazy:t,trim:n,number:r}},s){e[jr]=Pi(s);const i=r||s.props&&s.props.type==="number";pr(e,t?"change":"input",o=>{if(o.target.composing)return;let a=e.value;n&&(a=a.trim()),i&&(a=Ei(a)),e[jr](a)}),n&&pr(e,"change",()=>{e.value=e.value.trim()}),t||(pr(e,"compositionstart",Pp),pr(e,"compositionend",Zc),pr(e,"change",Zc))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:s}},i){if(e[jr]=Pi(i),e.composing)return;const o=(s||e.type==="number")&&!/^0\d/.test(e.value)?Ei(e.value):e.value,a=t??"";o!==a&&(document.activeElement===e&&e.type!=="range"&&(n||r&&e.value.trim()===a)||(e.value=a))}},vE={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const s=Vi(t);pr(e,"change",()=>{const i=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?Ei(Ti(o)):Ti(o));e[jr](e.multiple?s?new Set(i):i:i[0]),e._assigning=!0,Yr(()=>{e._assigning=!1})}),e[jr]=Pi(r)},mounted(e,{value:t,modifiers:{number:n}}){el(e,t)},beforeUpdate(e,t,n){e[jr]=Pi(n)},updated(e,{value:t,modifiers:{number:n}}){e._assigning||el(e,t)}};function el(e,t,n){const r=e.multiple,s=Ie(t);if(!(r&&!s&&!Vi(t))){for(let i=0,o=e.options.length;iString(u)===String(c)):a.selected=Ed(t,c)>-1}else a.selected=t.has(c);else if(Ki(Ti(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!r&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Ti(e){return"_value"in e?e._value:e.value}const Tp=["ctrl","shift","alt","meta"],Np={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Tp.some(n=>e[`${n}Key`]&&!t.includes(n))},SE=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(s,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=s=>{if(!("key"in s))return;const i=vr(s.key);if(t.some(o=>o===i||Rp[o]===i))return e(s)})},Mp=dt({patchProp:Ap},hp);let tl;function Lp(){return tl||(tl=Vm(Mp))}const Fp=(...e)=>{const t=Lp().createApp(...e),{mount:n}=t;return t.mount=r=>{const s=$p(r);if(!s)return;const i=t._component;!Re(i)&&!i.render&&!i.template&&(i.template=s.innerHTML),s.innerHTML="";const o=n(s,!1,jp(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),o},t};function jp(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function $p(e){return at(e)?document.querySelector(e):e}function Ja(e){return zu()?(kd(e),!0):!1}function oo(e){return typeof e=="function"?e():Ze(e)}const Dp=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Up=Object.prototype.toString,Bp=e=>Up.call(e)==="[object Object]",Lf=()=>{};function qp(e,t){function n(...r){return new Promise((s,i)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(s).catch(i)})}return n}const Ff=e=>e();function Hp(e=Ff){const t=Ct(!0);function n(){t.value=!1}function r(){t.value=!0}const s=(...i)=>{t.value&&e(...i)};return{isActive:Xi(t),pause:n,resume:r,eventFilter:s}}function zp(e){return Ws()}function Vp(...e){if(e.length!==1)return em(...e);const t=e[0];return typeof t=="function"?Xi(Xd(()=>({get:t,set:Lf}))):Ct(t)}function Wp(e,t,n={}){const{eventFilter:r=Ff,...s}=n;return Lt(e,qp(r,t),s)}function Gp(e,t,n={}){const{eventFilter:r,...s}=n,{eventFilter:i,pause:o,resume:a,isActive:c}=Hp(r);return{stop:Wp(e,t,{...s,eventFilter:i}),pause:o,resume:a,isActive:c}}function Ya(e,t=!0,n){zp()?zs(e,n):t?e():Yr(e)}function Kn(e){var t;const n=oo(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Er=Dp?window:void 0;function nl(...e){let t,n,r,s;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,s]=e,t=Er):[t,n,r,s]=e,!t)return Lf;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const i=[],o=()=>{i.forEach(u=>u()),i.length=0},a=(u,f,h,d)=>(u.addEventListener(f,h,d),()=>u.removeEventListener(f,h,d)),c=Lt(()=>[Kn(t),oo(s)],([u,f])=>{if(o(),!u)return;const h=Bp(f)?{...f}:f;i.push(...n.flatMap(d=>r.map(E=>a(u,d,E,h))))},{immediate:!0,flush:"post"}),l=()=>{c(),o()};return Ja(l),l}function Kp(){const e=Ct(!1),t=Ws();return t&&zs(()=>{e.value=!0},t),e}function jf(e){const t=Kp();return We(()=>(t.value,!!e()))}function Jp(e,t={}){const{window:n=Er}=t,r=jf(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let s;const i=Ct(!1),o=l=>{i.value=l.matches},a=()=>{s&&("removeEventListener"in s?s.removeEventListener("change",o):s.removeListener(o))},c=ym(()=>{r.value&&(a(),s=n.matchMedia(oo(e)),"addEventListener"in s?s.addEventListener("change",o):s.addListener(o),i.value=s.matches)});return Ja(()=>{c(),a(),s=void 0}),i}const ri=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},si="__vueuse_ssr_handlers__",Yp=Xp();function Xp(){return si in ri||(ri[si]=ri[si]||{}),ri[si]}function $f(e,t){return Yp[e]||t}function Qp(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Zp={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},rl="vueuse-storage";function Ns(e,t,n,r={}){var s;const{flush:i="pre",deep:o=!0,listenToStorageChanges:a=!0,writeDefaults:c=!0,mergeDefaults:l=!1,shallow:u,window:f=Er,eventFilter:h,onError:d=ae=>{console.error(ae)},initOnMounted:E}=r,P=(u?Ua:Ct)(typeof t=="function"?t():t);if(!n)try{n=$f("getDefaultStorage",()=>{var ae;return(ae=Er)==null?void 0:ae.localStorage})()}catch(ae){d(ae)}if(!n)return P;const L=oo(t),I=Qp(L),N=(s=r.serializer)!=null?s:Zp[I],{pause:O,resume:M}=Gp(P,()=>k(P.value),{flush:i,deep:o,eventFilter:h});f&&a&&Ya(()=>{nl(f,"storage",X),nl(f,rl,Q),E&&X()}),E||X();function U(ae,se){f&&f.dispatchEvent(new CustomEvent(rl,{detail:{key:e,oldValue:ae,newValue:se,storageArea:n}}))}function k(ae){try{const se=n.getItem(e);if(ae==null)U(se,null),n.removeItem(e);else{const Z=N.write(ae);se!==Z&&(n.setItem(e,Z),U(se,Z))}}catch(se){d(se)}}function V(ae){const se=ae?ae.newValue:n.getItem(e);if(se==null)return c&&L!=null&&n.setItem(e,N.write(L)),L;if(!ae&&l){const Z=N.read(se);return typeof l=="function"?l(Z,L):I==="object"&&!Array.isArray(Z)?{...L,...Z}:Z}else return typeof se!="string"?se:N.read(se)}function X(ae){if(!(ae&&ae.storageArea!==n)){if(ae&&ae.key==null){P.value=L;return}if(!(ae&&ae.key!==e)){O();try{(ae==null?void 0:ae.newValue)!==N.write(P.value)&&(P.value=V(ae))}catch(se){d(se)}finally{ae?Yr(M):M()}}}}function Q(ae){X(ae.detail)}return P}function eg(e){return Jp("(prefers-color-scheme: dark)",e)}function tg(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:s=Er,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:c,emitAuto:l,disableTransition:u=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},h=eg({window:s}),d=We(()=>h.value?"dark":"light"),E=c||(o==null?Vp(r):Ns(o,r,i,{window:s,listenToStorageChanges:a})),P=We(()=>E.value==="auto"?d.value:E.value),L=$f("updateHTMLAttrs",(M,U,k)=>{const V=typeof M=="string"?s==null?void 0:s.document.querySelector(M):Kn(M);if(!V)return;let X;if(u&&(X=s.document.createElement("style"),X.appendChild(document.createTextNode("*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}")),s.document.head.appendChild(X)),U==="class"){const Q=k.split(/\s/g);Object.values(f).flatMap(ae=>(ae||"").split(/\s/g)).filter(Boolean).forEach(ae=>{Q.includes(ae)?V.classList.add(ae):V.classList.remove(ae)})}else V.setAttribute(U,k);u&&(s.getComputedStyle(X).opacity,document.head.removeChild(X))});function I(M){var U;L(t,n,(U=f[M])!=null?U:M)}function N(M){e.onChanged?e.onChanged(M,I):I(M)}Lt(P,N,{flush:"post",immediate:!0}),Ya(()=>N(P.value));const O=We({get(){return l?E.value:P.value},set(M){E.value=M}});try{return Object.assign(O,{store:E,system:d,state:P})}catch{return O}}function ng(e,t,n={}){const{window:r=Er,...s}=n;let i;const o=jf(()=>r&&"ResizeObserver"in r),a=()=>{i&&(i.disconnect(),i=void 0)},c=We(()=>Array.isArray(e)?e.map(f=>Kn(f)):[Kn(e)]),l=Lt(c,f=>{if(a(),o.value&&r){i=new ResizeObserver(t);for(const h of f)h&&i.observe(h,s)}},{immediate:!0,flush:"post"}),u=()=>{a(),l()};return Ja(u),{isSupported:o,stop:u}}function CE(e,t={width:0,height:0},n={}){const{window:r=Er,box:s="content-box"}=n,i=We(()=>{var f,h;return(h=(f=Kn(e))==null?void 0:f.namespaceURI)==null?void 0:h.includes("svg")}),o=Ct(t.width),a=Ct(t.height),{stop:c}=ng(e,([f])=>{const h=s==="border-box"?f.borderBoxSize:s==="content-box"?f.contentBoxSize:f.devicePixelContentBoxSize;if(r&&i.value){const d=Kn(e);if(d){const E=r.getComputedStyle(d);o.value=Number.parseFloat(E.width),a.value=Number.parseFloat(E.height)}}else if(h){const d=Array.isArray(h)?h:[h];o.value=d.reduce((E,{inlineSize:P})=>E+P,0),a.value=d.reduce((E,{blockSize:P})=>E+P,0)}else o.value=f.contentRect.width,a.value=f.contentRect.height},n);Ya(()=>{const f=Kn(e);f&&(o.value="offsetWidth"in f?f.offsetWidth:t.width,a.value="offsetHeight"in f?f.offsetHeight:t.height)});const l=Lt(()=>Kn(e),f=>{o.value=f?t.width:0,a.value=f?t.height:0});function u(){c(),l()}return{width:o,height:a,stop:u}}const sl=document.createElement("i");function Df(e){const t="&"+e+";";sl.innerHTML=t;const n=sl.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function Ln(e,t,n,r){const s=e.length;let i=0,o;if(t<0?t=-t>s?0:s+t:t=t>s?s:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);i0?(Ln(e,e.length,0,t),e):t}const ea={}.hasOwnProperty;function rg(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}const lg={'"':"quot","&":"amp","<":"lt",">":"gt"};function Uf(e){return e.replace(/["&<>]/g,t);function t(n){return"&"+lg[n]+";"}}function Rs(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const bn=sr(/[A-Za-z]/),qt=sr(/[\dA-Za-z]/),ug=sr(/[#-'*+\--9=?A-Z^-~]/);function ta(e){return e!==null&&(e<32||e===127)}const na=sr(/\d/),fg=sr(/[\dA-Fa-f]/),hg=sr(/[!-/:-@[-`{-~]/);function Pe(e){return e!==null&&e<-2}function Ft(e){return e!==null&&(e<0||e===32)}function De(e){return e===-2||e===-1||e===32}const dg=sr(new RegExp("\\p{P}|\\p{S}","u")),mg=sr(/\s/);function sr(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function ii(e,t){const n=Uf(pg(e||""));if(!t)return n;const r=n.indexOf(":"),s=n.indexOf("?"),i=n.indexOf("#"),o=n.indexOf("/");return r<0||o>-1&&r>o||s>-1&&r>s||i>-1&&r>i||t.test(n.slice(0,r))?n:""}function pg(e){const t=[];let n=-1,r=0,s=0;for(;++n55295&&i<57344){const a=e.charCodeAt(n+1);i<56320&&a>56319&&a<57344?(o=String.fromCharCode(i,a),s=1):o="�"}else o=String.fromCharCode(i);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+s+1,o=""),s&&(n+=s,s=0)}return t.join("")+e.slice(r)}const il={}.hasOwnProperty,ol=/^(https?|ircs?|mailto|xmpp)$/i,gg=/^https?$/i;function _g(e){const t=e||{};let n=!0;const r={},s=[[]],i=[],o=[],c=og([{enter:{blockQuote:Oe,codeFenced:qe,codeFencedFenceInfo:L,codeFencedFenceMeta:L,codeIndented:oe,codeText:ct,content:_,definition:S,definitionDestinationString:W,definitionLabelString:L,definitionTitleString:L,emphasis:_t,htmlFlow:Je,htmlText:Qt,image:me,label:L,link:Ee,listItemMarker:se,listItemValue:ae,listOrdered:X,listUnordered:Q,paragraph:ve,reference:L,resource:B,resourceDestinationString:ee,resourceTitleString:L,setextHeading:T,strong:kn},exit:{atxHeading:ie,atxHeadingSequence:x,autolinkEmail:Ys,autolinkProtocol:ts,blockQuote:Te,characterEscapeValue:q,characterReferenceMarkerHexadecimal:ar,characterReferenceMarkerNumeric:ar,characterReferenceValue:es,codeFenced:v,codeFencedFence:A,codeFencedFenceInfo:m,codeFencedFenceMeta:V,codeFlowValue:ke,codeIndented:v,codeText:bt,codeTextData:q,data:q,definition:ce,definitionDestinationString:z,definitionLabelString:D,definitionTitleString:ne,emphasis:$n,hardBreakEscape:Me,hardBreakTrailing:Me,htmlFlow:rt,htmlFlowData:q,htmlText:rt,htmlTextData:q,image:y,label:F,labelText:fe,lineEnding:_e,link:y,listOrdered:Z,listUnordered:we,paragraph:Ce,reference:V,referenceString:K,resource:V,resourceDestinationString:pe,resourceTitleString:Se,setextHeading:j,setextHeadingLineSequence:te,setextHeadingText:G,strong:Or,thematicBreak:Zr}}].concat(t.htmlExtensions||[])),l={tightStack:o,definitions:r},u={lineEndingIfNeeded:U,options:t,encode:k,raw:O,tag:N,buffer:L,resume:I,setData:E,getData:P};let f=t.defaultLineEnding;return h;function h(le){let xe=-1,lt=0;const yt=[];let xt=[],wt=[];for(;++xe"):Ne(),U(),N("
  • "),E("expectFirstItem"),E("lastWasTag")}function Z(){Ne(),o.pop(),M(),N("")}function we(){Ne(),o.pop(),M(),N("")}function Ne(){P("lastWasTag")&&!P("slurpAllLineEndings")&&U(),N("
  • "),E("slurpAllLineEndings")}function Oe(){o.push(!1),U(),N("
    ")}function Te(){o.pop(),U(),N("
    "),E("slurpAllLineEndings")}function ve(){o[o.length-1]||(U(),N("

    ")),E("slurpAllLineEndings")}function Ce(){o[o.length-1]?E("slurpAllLineEndings",!0):N("

    ")}function qe(){U(),N("
    "),E("slurpOneLineEnding",!0)),E("fencesCount",le+1)}function oe(){U(),N("
    ")}function v(){const le=P("fencesCount");le!==void 0&&le<2&&l.tightStack.length>0&&!P("lastWasTag")&&M(),P("flowCodeSeenData")&&U(),N("
    "),le!==void 0&&le<2&&U(),E("flowCodeSeenData"),E("fencesCount"),E("slurpOneLineEnding")}function me(){i.push({image:!0}),n=void 0}function Ee(){i.push({})}function fe(le){i[i.length-1].labelId=this.sliceSerialize(le)}function F(){i[i.length-1].label=I()}function K(le){i[i.length-1].referenceId=this.sliceSerialize(le)}function B(){L(),i[i.length-1].destination=""}function ee(){L(),E("ignoreEncode",!0)}function pe(){i[i.length-1].destination=I(),E("ignoreEncode")}function Se(){i[i.length-1].title=I()}function y(){let le=i.length-1;const xe=i[le],lt=xe.referenceId||xe.labelId,yt=xe.destination===void 0?r[Rs(lt)]:xe;for(n=!0;le--;)if(i[le].image){n=void 0;break}xe.image?(N(''),O(xe.label),N('"):(N(">"),O(xe.label),N("")),i.pop()}function S(){L(),i.push({})}function D(le){I(),i[i.length-1].labelId=this.sliceSerialize(le)}function W(){L(),E("ignoreEncode",!0)}function z(){i[i.length-1].destination=I(),E("ignoreEncode")}function ne(){i[i.length-1].title=I()}function ce(){const le=i[i.length-1],xe=Rs(le.labelId);I(),il.call(r,xe)||(r[xe]=i[i.length-1]),i.pop()}function _(){E("slurpAllLineEndings",!0)}function x(le){P("headingRank")||(E("headingRank",this.sliceSerialize(le).length),U(),N(""))}function T(){L(),E("slurpAllLineEndings")}function G(){E("slurpAllLineEndings",!0)}function ie(){N(""),E("headingRank")}function te(le){E("headingRank",this.sliceSerialize(le).charCodeAt(0)===61?1:2)}function j(){const le=I();U(),N(""),O(le),N(""),E("slurpAllLineEndings"),E("headingRank")}function q(le){O(k(this.sliceSerialize(le)))}function _e(le){if(!P("slurpAllLineEndings")){if(P("slurpOneLineEnding")){E("slurpOneLineEnding");return}if(P("inCodeText")){O(" ");return}O(k(this.sliceSerialize(le)))}}function ke(le){O(k(this.sliceSerialize(le))),E("flowCodeSeenData",!0)}function Me(){N("
    ")}function Je(){U(),Qt()}function rt(){E("ignoreEncode")}function Qt(){t.allowDangerousHtml&&E("ignoreEncode",!0)}function _t(){N("")}function kn(){N("")}function ct(){E("inCodeText",!0),N("")}function bt(){E("inCodeText"),N("")}function $n(){N("")}function Or(){N("")}function Zr(){U(),N("
    ")}function ar(le){E("characterReferenceType",le.type)}function es(le){let xe=this.sliceSerialize(le);xe=P("characterReferenceType")?cg(xe,P("characterReferenceType")==="characterReferenceMarkerNumeric"?10:16):Df(xe),O(k(xe)),E("characterReferenceType")}function ts(le){const xe=this.sliceSerialize(le);N(''),O(k(xe)),N("")}function Ys(le){const xe=this.sliceSerialize(le);N(''),O(k(xe)),N("")}}function Ge(e,t,n,r){const s=r?r-1:Number.POSITIVE_INFINITY;let i=0;return o;function o(c){return De(c)?(e.enter(n),a(c)):t(c)}function a(c){return De(c)&&i++o))return;const V=t.events.length;let X=V,Q,ae;for(;X--;)if(t.events[X][0]==="exit"&&t.events[X][1].type==="chunkFlow"){if(Q){ae=t.events[X][1].end;break}Q=!0}for(I(r),k=V;kO;){const U=n[M];t.containerState=U[1],U[0].exit.call(t,e)}n.length=O}function N(){s.write([null]),i=void 0,s=void 0,t.containerState._closeFlow=void 0}}function Eg(e,t,n){return Ge(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function cl(e){if(e===null||Ft(e)||mg(e))return 1;if(dg(e))return 2}function Xa(e,t,n){const r=[];let s=-1;for(;++s1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const f=Object.assign({},e[r][1].end),h=Object.assign({},e[n][1].start);ll(f,-c),ll(h,c),o={type:c>1?"strongSequence":"emphasisSequence",start:f,end:Object.assign({},e[r][1].end)},a={type:c>1?"strongSequence":"emphasisSequence",start:Object.assign({},e[n][1].start),end:h},i={type:c>1?"strongText":"emphasisText",start:Object.assign({},e[r][1].end),end:Object.assign({},e[n][1].start)},s={type:c>1?"strong":"emphasis",start:Object.assign({},o.start),end:Object.assign({},a.end)},e[r][1].end=Object.assign({},o.start),e[n][1].start=Object.assign({},a.end),l=[],e[r][1].end.offset-e[r][1].start.offset&&(l=vt(l,[["enter",e[r][1],t],["exit",e[r][1],t]])),l=vt(l,[["enter",s,t],["enter",o,t],["exit",o,t],["enter",i,t]]),l=vt(l,Xa(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),l=vt(l,[["exit",i,t],["enter",a,t],["exit",a,t],["exit",s,t]]),e[n][1].end.offset-e[n][1].start.offset?(u=2,l=vt(l,[["enter",e[n][1],t],["exit",e[n][1],t]])):u=0,Ln(e,r-1,n-r+3,l),n=r+l.length-u-2;break}}for(n=-1;++n0&&De(k)?Ge(e,N,"linePrefix",i+1)(k):N(k)}function N(k){return k===null||Pe(k)?e.check(ul,P,M)(k):(e.enter("codeFlowValue"),O(k))}function O(k){return k===null||Pe(k)?(e.exit("codeFlowValue"),N(k)):(e.consume(k),O)}function M(k){return e.exit("codeFenced"),t(k)}function U(k,V,X){let Q=0;return ae;function ae(Oe){return k.enter("lineEnding"),k.consume(Oe),k.exit("lineEnding"),se}function se(Oe){return k.enter("codeFencedFence"),De(Oe)?Ge(k,Z,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(Oe):Z(Oe)}function Z(Oe){return Oe===a?(k.enter("codeFencedFenceSequence"),we(Oe)):X(Oe)}function we(Oe){return Oe===a?(Q++,k.consume(Oe),we):Q>=o?(k.exit("codeFencedFenceSequence"),De(Oe)?Ge(k,Ne,"whitespace")(Oe):Ne(Oe)):X(Oe)}function Ne(Oe){return Oe===null||Pe(Oe)?(k.exit("codeFencedFence"),V(Oe)):X(Oe)}}}function Mg(e,t,n){const r=this;return s;function s(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i)}function i(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}const Oo={name:"codeIndented",tokenize:Fg},Lg={tokenize:jg,partial:!0};function Fg(e,t,n){const r=this;return s;function s(l){return e.enter("codeIndented"),Ge(e,i,"linePrefix",5)(l)}function i(l){const u=r.events[r.events.length-1];return u&&u[1].type==="linePrefix"&&u[2].sliceSerialize(u[1],!0).length>=4?o(l):n(l)}function o(l){return l===null?c(l):Pe(l)?e.attempt(Lg,o,c)(l):(e.enter("codeFlowValue"),a(l))}function a(l){return l===null||Pe(l)?(e.exit("codeFlowValue"),o(l)):(e.consume(l),a)}function c(l){return e.exit("codeIndented"),t(l)}}function jg(e,t,n){const r=this;return s;function s(o){return r.parser.lazy[r.now().line]?n(o):Pe(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s):Ge(e,i,"linePrefix",5)(o)}function i(o){const a=r.events[r.events.length-1];return a&&a[1].type==="linePrefix"&&a[2].sliceSerialize(a[1],!0).length>=4?t(o):Pe(o)?s(o):n(o)}}const $g={name:"codeText",tokenize:Bg,resolve:Dg,previous:Ug};function Dg(e){let t=e.length-4,n=3,r,s;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const s=n||0;this.setCursor(Math.trunc(t));const i=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return r&&ss(this.left,r),i.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),ss(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),ss(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function Vf(e,t,n,r,s,i,o,a,c){const l=c||Number.POSITIVE_INFINITY;let u=0;return f;function f(I){return I===60?(e.enter(r),e.enter(s),e.enter(i),e.consume(I),e.exit(i),h):I===null||I===32||I===41||ta(I)?n(I):(e.enter(r),e.enter(o),e.enter(a),e.enter("chunkString",{contentType:"string"}),P(I))}function h(I){return I===62?(e.enter(i),e.consume(I),e.exit(i),e.exit(s),e.exit(r),t):(e.enter(a),e.enter("chunkString",{contentType:"string"}),d(I))}function d(I){return I===62?(e.exit("chunkString"),e.exit(a),h(I)):I===null||I===60||Pe(I)?n(I):(e.consume(I),I===92?E:d)}function E(I){return I===60||I===62||I===92?(e.consume(I),d):d(I)}function P(I){return!u&&(I===null||I===41||Ft(I))?(e.exit("chunkString"),e.exit(a),e.exit(o),e.exit(r),t(I)):u999||d===null||d===91||d===93&&!c||d===94&&!a&&"_hiddenFootnoteSupport"in o.parser.constructs?n(d):d===93?(e.exit(i),e.enter(s),e.consume(d),e.exit(s),e.exit(r),t):Pe(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),u):(e.enter("chunkString",{contentType:"string"}),f(d))}function f(d){return d===null||d===91||d===93||Pe(d)||a++>999?(e.exit("chunkString"),u(d)):(e.consume(d),c||(c=!De(d)),d===92?h:f)}function h(d){return d===91||d===92||d===93?(e.consume(d),a++,f):f(d)}}function Gf(e,t,n,r,s,i){let o;return a;function a(h){return h===34||h===39||h===40?(e.enter(r),e.enter(s),e.consume(h),e.exit(s),o=h===40?41:h,c):n(h)}function c(h){return h===o?(e.enter(s),e.consume(h),e.exit(s),e.exit(r),t):(e.enter(i),l(h))}function l(h){return h===o?(e.exit(i),c(o)):h===null?n(h):Pe(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),Ge(e,l,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),u(h))}function u(h){return h===o||h===null||Pe(h)?(e.exit("chunkString"),l(h)):(e.consume(h),h===92?f:u)}function f(h){return h===o||h===92?(e.consume(h),u):u(h)}}function bs(e,t){let n;return r;function r(s){return Pe(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n=!0,r):De(s)?Ge(e,r,n?"linePrefix":"lineSuffix")(s):t(s)}}const Jg={name:"definition",tokenize:Xg},Yg={tokenize:Qg,partial:!0};function Xg(e,t,n){const r=this;let s;return i;function i(d){return e.enter("definition"),o(d)}function o(d){return Wf.call(r,e,a,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(d)}function a(d){return s=Rs(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),d===58?(e.enter("definitionMarker"),e.consume(d),e.exit("definitionMarker"),c):n(d)}function c(d){return Ft(d)?bs(e,l)(d):l(d)}function l(d){return Vf(e,u,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(d)}function u(d){return e.attempt(Yg,f,f)(d)}function f(d){return De(d)?Ge(e,h,"whitespace")(d):h(d)}function h(d){return d===null||Pe(d)?(e.exit("definition"),r.parser.defined.push(s),t(d)):n(d)}}function Qg(e,t,n){return r;function r(a){return Ft(a)?bs(e,s)(a):n(a)}function s(a){return Gf(e,i,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(a)}function i(a){return De(a)?Ge(e,o,"whitespace")(a):o(a)}function o(a){return a===null||Pe(a)?t(a):n(a)}}const Zg={name:"hardBreakEscape",tokenize:e_};function e_(e,t,n){return r;function r(i){return e.enter("hardBreakEscape"),e.consume(i),s}function s(i){return Pe(i)?(e.exit("hardBreakEscape"),t(i)):n(i)}}const t_={name:"headingAtx",tokenize:r_,resolve:n_};function n_(e,t){let n=e.length-2,r=3,s,i;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(s={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},i={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},Ln(e,r,n-r+1,[["enter",s,t],["enter",i,t],["exit",i,t],["exit",s,t]])),e}function r_(e,t,n){let r=0;return s;function s(u){return e.enter("atxHeading"),i(u)}function i(u){return e.enter("atxHeadingSequence"),o(u)}function o(u){return u===35&&r++<6?(e.consume(u),o):u===null||Ft(u)?(e.exit("atxHeadingSequence"),a(u)):n(u)}function a(u){return u===35?(e.enter("atxHeadingSequence"),c(u)):u===null||Pe(u)?(e.exit("atxHeading"),t(u)):De(u)?Ge(e,a,"whitespace")(u):(e.enter("atxHeadingText"),l(u))}function c(u){return u===35?(e.consume(u),c):(e.exit("atxHeadingSequence"),a(u))}function l(u){return u===null||u===35||Ft(u)?(e.exit("atxHeadingText"),a(u)):(e.consume(u),l)}}const s_=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],hl=["pre","script","style","textarea"],i_={name:"htmlFlow",tokenize:l_,resolveTo:c_,concrete:!0},o_={tokenize:f_,partial:!0},a_={tokenize:u_,partial:!0};function c_(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function l_(e,t,n){const r=this;let s,i,o,a,c;return l;function l(v){return u(v)}function u(v){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(v),f}function f(v){return v===33?(e.consume(v),h):v===47?(e.consume(v),i=!0,P):v===63?(e.consume(v),s=3,r.interrupt?t:m):bn(v)?(e.consume(v),o=String.fromCharCode(v),L):n(v)}function h(v){return v===45?(e.consume(v),s=2,d):v===91?(e.consume(v),s=5,a=0,E):bn(v)?(e.consume(v),s=4,r.interrupt?t:m):n(v)}function d(v){return v===45?(e.consume(v),r.interrupt?t:m):n(v)}function E(v){const me="CDATA[";return v===me.charCodeAt(a++)?(e.consume(v),a===me.length?r.interrupt?t:Z:E):n(v)}function P(v){return bn(v)?(e.consume(v),o=String.fromCharCode(v),L):n(v)}function L(v){if(v===null||v===47||v===62||Ft(v)){const me=v===47,Ee=o.toLowerCase();return!me&&!i&&hl.includes(Ee)?(s=1,r.interrupt?t(v):Z(v)):s_.includes(o.toLowerCase())?(s=6,me?(e.consume(v),I):r.interrupt?t(v):Z(v)):(s=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(v):i?N(v):O(v))}return v===45||qt(v)?(e.consume(v),o+=String.fromCharCode(v),L):n(v)}function I(v){return v===62?(e.consume(v),r.interrupt?t:Z):n(v)}function N(v){return De(v)?(e.consume(v),N):ae(v)}function O(v){return v===47?(e.consume(v),ae):v===58||v===95||bn(v)?(e.consume(v),M):De(v)?(e.consume(v),O):ae(v)}function M(v){return v===45||v===46||v===58||v===95||qt(v)?(e.consume(v),M):U(v)}function U(v){return v===61?(e.consume(v),k):De(v)?(e.consume(v),U):O(v)}function k(v){return v===null||v===60||v===61||v===62||v===96?n(v):v===34||v===39?(e.consume(v),c=v,V):De(v)?(e.consume(v),k):X(v)}function V(v){return v===c?(e.consume(v),c=null,Q):v===null||Pe(v)?n(v):(e.consume(v),V)}function X(v){return v===null||v===34||v===39||v===47||v===60||v===61||v===62||v===96||Ft(v)?U(v):(e.consume(v),X)}function Q(v){return v===47||v===62||De(v)?O(v):n(v)}function ae(v){return v===62?(e.consume(v),se):n(v)}function se(v){return v===null||Pe(v)?Z(v):De(v)?(e.consume(v),se):n(v)}function Z(v){return v===45&&s===2?(e.consume(v),Te):v===60&&s===1?(e.consume(v),ve):v===62&&s===4?(e.consume(v),A):v===63&&s===3?(e.consume(v),m):v===93&&s===5?(e.consume(v),qe):Pe(v)&&(s===6||s===7)?(e.exit("htmlFlowData"),e.check(o_,oe,we)(v)):v===null||Pe(v)?(e.exit("htmlFlowData"),we(v)):(e.consume(v),Z)}function we(v){return e.check(a_,Ne,oe)(v)}function Ne(v){return e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),Oe}function Oe(v){return v===null||Pe(v)?we(v):(e.enter("htmlFlowData"),Z(v))}function Te(v){return v===45?(e.consume(v),m):Z(v)}function ve(v){return v===47?(e.consume(v),o="",Ce):Z(v)}function Ce(v){if(v===62){const me=o.toLowerCase();return hl.includes(me)?(e.consume(v),A):Z(v)}return bn(v)&&o.length<8?(e.consume(v),o+=String.fromCharCode(v),Ce):Z(v)}function qe(v){return v===93?(e.consume(v),m):Z(v)}function m(v){return v===62?(e.consume(v),A):v===45&&s===2?(e.consume(v),m):Z(v)}function A(v){return v===null||Pe(v)?(e.exit("htmlFlowData"),oe(v)):(e.consume(v),A)}function oe(v){return e.exit("htmlFlow"),t(v)}}function u_(e,t,n){const r=this;return s;function s(o){return Pe(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):n(o)}function i(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function f_(e,t,n){return r;function r(s){return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),e.attempt(ao,t,n)}}const h_={name:"htmlText",tokenize:d_};function d_(e,t,n){const r=this;let s,i,o;return a;function a(m){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(m),c}function c(m){return m===33?(e.consume(m),l):m===47?(e.consume(m),U):m===63?(e.consume(m),O):bn(m)?(e.consume(m),X):n(m)}function l(m){return m===45?(e.consume(m),u):m===91?(e.consume(m),i=0,E):bn(m)?(e.consume(m),N):n(m)}function u(m){return m===45?(e.consume(m),d):n(m)}function f(m){return m===null?n(m):m===45?(e.consume(m),h):Pe(m)?(o=f,ve(m)):(e.consume(m),f)}function h(m){return m===45?(e.consume(m),d):f(m)}function d(m){return m===62?Te(m):m===45?h(m):f(m)}function E(m){const A="CDATA[";return m===A.charCodeAt(i++)?(e.consume(m),i===A.length?P:E):n(m)}function P(m){return m===null?n(m):m===93?(e.consume(m),L):Pe(m)?(o=P,ve(m)):(e.consume(m),P)}function L(m){return m===93?(e.consume(m),I):P(m)}function I(m){return m===62?Te(m):m===93?(e.consume(m),I):P(m)}function N(m){return m===null||m===62?Te(m):Pe(m)?(o=N,ve(m)):(e.consume(m),N)}function O(m){return m===null?n(m):m===63?(e.consume(m),M):Pe(m)?(o=O,ve(m)):(e.consume(m),O)}function M(m){return m===62?Te(m):O(m)}function U(m){return bn(m)?(e.consume(m),k):n(m)}function k(m){return m===45||qt(m)?(e.consume(m),k):V(m)}function V(m){return Pe(m)?(o=V,ve(m)):De(m)?(e.consume(m),V):Te(m)}function X(m){return m===45||qt(m)?(e.consume(m),X):m===47||m===62||Ft(m)?Q(m):n(m)}function Q(m){return m===47?(e.consume(m),Te):m===58||m===95||bn(m)?(e.consume(m),ae):Pe(m)?(o=Q,ve(m)):De(m)?(e.consume(m),Q):Te(m)}function ae(m){return m===45||m===46||m===58||m===95||qt(m)?(e.consume(m),ae):se(m)}function se(m){return m===61?(e.consume(m),Z):Pe(m)?(o=se,ve(m)):De(m)?(e.consume(m),se):Q(m)}function Z(m){return m===null||m===60||m===61||m===62||m===96?n(m):m===34||m===39?(e.consume(m),s=m,we):Pe(m)?(o=Z,ve(m)):De(m)?(e.consume(m),Z):(e.consume(m),Ne)}function we(m){return m===s?(e.consume(m),s=void 0,Oe):m===null?n(m):Pe(m)?(o=we,ve(m)):(e.consume(m),we)}function Ne(m){return m===null||m===34||m===39||m===60||m===61||m===96?n(m):m===47||m===62||Ft(m)?Q(m):(e.consume(m),Ne)}function Oe(m){return m===47||m===62||Ft(m)?Q(m):n(m)}function Te(m){return m===62?(e.consume(m),e.exit("htmlTextData"),e.exit("htmlText"),t):n(m)}function ve(m){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),Ce}function Ce(m){return De(m)?Ge(e,qe,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(m):qe(m)}function qe(m){return e.enter("htmlTextData"),o(m)}}const Qa={name:"labelEnd",tokenize:y_,resolveTo:b_,resolveAll:__},m_={tokenize:x_},p_={tokenize:w_},g_={tokenize:E_};function __(e){let t=-1;for(;++t=3&&(l===null||Pe(l))?(e.exit("thematicBreak"),t(l)):n(l)}function c(l){return l===s?(e.consume(l),r++,c):(e.exit("thematicBreakSequence"),De(l)?Ge(e,a,"whitespace")(l):a(l))}}const Rt={name:"list",tokenize:T_,continuation:{tokenize:N_},exit:M_},I_={tokenize:L_,partial:!0},P_={tokenize:R_,partial:!0};function T_(e,t,n){const r=this,s=r.events[r.events.length-1];let i=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,o=0;return a;function a(d){const E=r.containerState.type||(d===42||d===43||d===45?"listUnordered":"listOrdered");if(E==="listUnordered"?!r.containerState.marker||d===r.containerState.marker:na(d)){if(r.containerState.type||(r.containerState.type=E,e.enter(E,{_container:!0})),E==="listUnordered")return e.enter("listItemPrefix"),d===42||d===45?e.check(_i,n,l)(d):l(d);if(!r.interrupt||d===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),c(d)}return n(d)}function c(d){return na(d)&&++o<10?(e.consume(d),c):(!r.interrupt||o<2)&&(r.containerState.marker?d===r.containerState.marker:d===41||d===46)?(e.exit("listItemValue"),l(d)):n(d)}function l(d){return e.enter("listItemMarker"),e.consume(d),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||d,e.check(ao,r.interrupt?n:u,e.attempt(I_,h,f))}function u(d){return r.containerState.initialBlankLine=!0,i++,h(d)}function f(d){return De(d)?(e.enter("listItemPrefixWhitespace"),e.consume(d),e.exit("listItemPrefixWhitespace"),h):n(d)}function h(d){return r.containerState.size=i+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(d)}}function N_(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(ao,s,i);function s(a){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ge(e,t,"listItemIndent",r.containerState.size+1)(a)}function i(a){return r.containerState.furtherBlankLines||!De(a)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(a)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(P_,t,o)(a))}function o(a){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ge(e,e.attempt(Rt,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(a)}}function R_(e,t,n){const r=this;return Ge(e,s,"listItemIndent",r.containerState.size+1);function s(i){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(i):n(i)}}function M_(e){e.exit(this.containerState.type)}function L_(e,t,n){const r=this;return Ge(e,s,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(i){const o=r.events[r.events.length-1];return!De(i)&&o&&o[1].type==="listItemPrefixWhitespace"?t(i):n(i)}}const dl={name:"setextUnderline",tokenize:j_,resolveTo:F_};function F_(e,t){let n=e.length,r,s,i;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(s=n)}else e[n][1].type==="content"&&e.splice(n,1),!i&&e[n][1].type==="definition"&&(i=n);const o={type:"setextHeading",start:Object.assign({},e[s][1].start),end:Object.assign({},e[e.length-1][1].end)};return e[s][1].type="setextHeadingText",i?(e.splice(s,0,["enter",o,t]),e.splice(i+1,0,["exit",e[r][1],t]),e[r][1].end=Object.assign({},e[i][1].end)):e[r][1]=o,e.push(["exit",o,t]),e}function j_(e,t,n){const r=this;let s;return i;function i(l){let u=r.events.length,f;for(;u--;)if(r.events[u][1].type!=="lineEnding"&&r.events[u][1].type!=="linePrefix"&&r.events[u][1].type!=="content"){f=r.events[u][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||f)?(e.enter("setextHeadingLine"),s=l,o(l)):n(l)}function o(l){return e.enter("setextHeadingLineSequence"),a(l)}function a(l){return l===s?(e.consume(l),a):(e.exit("setextHeadingLineSequence"),De(l)?Ge(e,c,"lineSuffix")(l):c(l))}function c(l){return l===null||Pe(l)?(e.exit("setextHeadingLine"),t(l)):n(l)}}const $_={tokenize:D_};function D_(e){const t=this,n=e.attempt(ao,r,e.attempt(this.parser.constructs.flowInitial,s,Ge(e,e.attempt(this.parser.constructs.flow,s,e.attempt(zg,s)),"linePrefix")));return n;function r(i){if(i===null){e.consume(i);return}return e.enter("lineEndingBlank"),e.consume(i),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function s(i){if(i===null){e.consume(i);return}return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const U_={resolveAll:Jf()},B_=Kf("string"),q_=Kf("text");function Kf(e){return{tokenize:t,resolveAll:Jf(e==="text"?H_:void 0)};function t(n){const r=this,s=this.parser.constructs[e],i=n.attempt(s,o,a);return o;function o(u){return l(u)?i(u):a(u)}function a(u){if(u===null){n.consume(u);return}return n.enter("data"),n.consume(u),c}function c(u){return l(u)?(n.exit("data"),i(u)):(n.consume(u),c)}function l(u){if(u===null)return!0;const f=s[u];let h=-1;if(f)for(;++h-1){const a=o[0];typeof a=="string"?o[0]=a.slice(r):o.shift()}i>0&&o.push(e[s].slice(0,i))}return o}function W_(e,t){let n=-1;const r=[];let s;for(;++nt?Symbol.for(e):Symbol(e),a0=(e,t,n)=>c0({l:e,k:t,s:n}),c0=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),ft=e=>typeof e=="number"&&isFinite(e),l0=e=>Xf(e)==="[object Date]",Ri=e=>Xf(e)==="[object RegExp]",co=e=>Fe(e)&&Object.keys(e).length===0,kt=Object.assign;let pl;const Za=()=>pl||(pl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function gl(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const u0=Object.prototype.hasOwnProperty;function Mi(e,t){return u0.call(e,t)}const ot=Array.isArray,nt=e=>typeof e=="function",ye=e=>typeof e=="string",et=e=>typeof e=="boolean",Be=e=>e!==null&&typeof e=="object",f0=e=>Be(e)&&nt(e.then)&&nt(e.catch),Yf=Object.prototype.toString,Xf=e=>Yf.call(e),Fe=e=>{if(!Be(e))return!1;const t=Object.getPrototypeOf(e);return t===null||t.constructor===Object},h0=e=>e==null?"":ot(e)||Fe(e)&&e.toString===Yf?JSON.stringify(e,null,2):String(e);function d0(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}function lo(e){let t=e;return()=>++t}function m0(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const oi=e=>!Be(e)||ot(e);function bi(e,t){if(oi(e)||oi(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:s}=n.pop();Object.keys(r).forEach(i=>{oi(r[i])||oi(s[i])?s[i]=r[i]:n.push({src:r[i],des:s[i]})})}}/*! - * message-compiler v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */function p0(e,t,n){return{line:e,column:t,offset:n}}function Li(e,t,n){return{start:e,end:t}}const g0=/\{([0-9a-zA-Z]+)\}/g;function Qf(e,...t){return t.length===1&&_0(t[0])&&(t=t[0]),(!t||!t.hasOwnProperty)&&(t={}),e.replace(g0,(n,r)=>t.hasOwnProperty(r)?t[r]:"")}const Zf=Object.assign,_l=e=>typeof e=="string",_0=e=>e!==null&&typeof e=="object";function eh(e,t=""){return e.reduce((n,r,s)=>s===0?n+r:n+t+r,"")}const ec={USE_MODULO_SYNTAX:1,__EXTEND_POINT__:2},b0={[ec.USE_MODULO_SYNTAX]:"Use modulo before '{{0}}'."};function y0(e,t,...n){const r=Qf(b0[e],...n||[]),s={message:String(r),code:e};return t&&(s.location=t),s}const Ae={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16,__EXTEND_POINT__:17},x0={[Ae.EXPECTED_TOKEN]:"Expected token: '{0}'",[Ae.INVALID_TOKEN_IN_PLACEHOLDER]:"Invalid token in placeholder: '{0}'",[Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]:"Unterminated single quote in placeholder",[Ae.UNKNOWN_ESCAPE_SEQUENCE]:"Unknown escape sequence: \\{0}",[Ae.INVALID_UNICODE_ESCAPE_SEQUENCE]:"Invalid unicode escape sequence: {0}",[Ae.UNBALANCED_CLOSING_BRACE]:"Unbalanced closing brace",[Ae.UNTERMINATED_CLOSING_BRACE]:"Unterminated closing brace",[Ae.EMPTY_PLACEHOLDER]:"Empty placeholder",[Ae.NOT_ALLOW_NEST_PLACEHOLDER]:"Not allowed nest placeholder",[Ae.INVALID_LINKED_FORMAT]:"Invalid linked format",[Ae.MUST_HAVE_MESSAGES_IN_PLURAL]:"Plural must have messages",[Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER]:"Unexpected empty linked modifier",[Ae.UNEXPECTED_EMPTY_LINKED_KEY]:"Unexpected empty linked key",[Ae.UNEXPECTED_LEXICAL_ANALYSIS]:"Unexpected lexical analysis in token: '{0}'",[Ae.UNHANDLED_CODEGEN_NODE_TYPE]:"unhandled codegen node type: '{0}'",[Ae.UNHANDLED_MINIFIER_NODE_TYPE]:"unhandled mimifier node type: '{0}'"};function Xr(e,t,n={}){const{domain:r,messages:s,args:i}=n,o=Qf((s||x0)[e]||"",...i||[]),a=new SyntaxError(String(o));return a.code=e,t&&(a.location=t),a.domain=r,a}function w0(e){throw e}const On=" ",E0="\r",At=` -`,v0="\u2028",S0="\u2029";function k0(e){const t=e;let n=0,r=1,s=1,i=0;const o=V=>t[V]===E0&&t[V+1]===At,a=V=>t[V]===At,c=V=>t[V]===S0,l=V=>t[V]===v0,u=V=>o(V)||a(V)||c(V)||l(V),f=()=>n,h=()=>r,d=()=>s,E=()=>i,P=V=>o(V)||c(V)||l(V)?At:t[V],L=()=>P(n),I=()=>P(n+i);function N(){return i=0,u(n)&&(r++,s=0),o(n)&&n++,n++,s++,t[n]}function O(){return o(n+i)&&i++,i++,t[n+i]}function M(){n=0,r=1,s=1,i=0}function U(V=0){i=V}function k(){const V=n+i;for(;V!==n;)N();i=0}return{index:f,line:h,column:d,peekOffset:E,charAt:P,currentChar:L,currentPeek:I,next:N,peek:O,reset:M,resetPeek:U,skipToPeek:k}}const qn=void 0,C0=".",bl="'",O0="tokenizer";function A0(e,t={}){const n=t.location!==!1,r=k0(e),s=()=>r.index(),i=()=>p0(r.line(),r.column(),r.index()),o=i(),a=s(),c={currentType:14,offset:a,startLoc:o,endLoc:o,lastType:14,lastOffset:a,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},l=()=>c,{onError:u}=t;function f(_,x,T,...G){const ie=l();if(x.column+=T,x.offset+=T,u){const te=n?Li(ie.startLoc,x):null,j=Xr(_,te,{domain:O0,args:G});u(j)}}function h(_,x,T){_.endLoc=i(),_.currentType=x;const G={type:x};return n&&(G.loc=Li(_.startLoc,_.endLoc)),T!=null&&(G.value=T),G}const d=_=>h(_,14);function E(_,x){return _.currentChar()===x?(_.next(),x):(f(Ae.EXPECTED_TOKEN,i(),0,x),"")}function P(_){let x="";for(;_.currentPeek()===On||_.currentPeek()===At;)x+=_.currentPeek(),_.peek();return x}function L(_){const x=P(_);return _.skipToPeek(),x}function I(_){if(_===qn)return!1;const x=_.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x===95}function N(_){if(_===qn)return!1;const x=_.charCodeAt(0);return x>=48&&x<=57}function O(_,x){const{currentType:T}=x;if(T!==2)return!1;P(_);const G=I(_.currentPeek());return _.resetPeek(),G}function M(_,x){const{currentType:T}=x;if(T!==2)return!1;P(_);const G=_.currentPeek()==="-"?_.peek():_.currentPeek(),ie=N(G);return _.resetPeek(),ie}function U(_,x){const{currentType:T}=x;if(T!==2)return!1;P(_);const G=_.currentPeek()===bl;return _.resetPeek(),G}function k(_,x){const{currentType:T}=x;if(T!==8)return!1;P(_);const G=_.currentPeek()===".";return _.resetPeek(),G}function V(_,x){const{currentType:T}=x;if(T!==9)return!1;P(_);const G=I(_.currentPeek());return _.resetPeek(),G}function X(_,x){const{currentType:T}=x;if(!(T===8||T===12))return!1;P(_);const G=_.currentPeek()===":";return _.resetPeek(),G}function Q(_,x){const{currentType:T}=x;if(T!==10)return!1;const G=()=>{const te=_.currentPeek();return te==="{"?I(_.peek()):te==="@"||te==="%"||te==="|"||te===":"||te==="."||te===On||!te?!1:te===At?(_.peek(),G()):Z(_,!1)},ie=G();return _.resetPeek(),ie}function ae(_){P(_);const x=_.currentPeek()==="|";return _.resetPeek(),x}function se(_){const x=P(_),T=_.currentPeek()==="%"&&_.peek()==="{";return _.resetPeek(),{isModulo:T,hasSpace:x.length>0}}function Z(_,x=!0){const T=(ie=!1,te="",j=!1)=>{const q=_.currentPeek();return q==="{"?te==="%"?!1:ie:q==="@"||!q?te==="%"?!0:ie:q==="%"?(_.peek(),T(ie,"%",!0)):q==="|"?te==="%"||j?!0:!(te===On||te===At):q===On?(_.peek(),T(!0,On,j)):q===At?(_.peek(),T(!0,At,j)):!0},G=T();return x&&_.resetPeek(),G}function we(_,x){const T=_.currentChar();return T===qn?qn:x(T)?(_.next(),T):null}function Ne(_){const x=_.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x>=48&&x<=57||x===95||x===36}function Oe(_){return we(_,Ne)}function Te(_){const x=_.charCodeAt(0);return x>=97&&x<=122||x>=65&&x<=90||x>=48&&x<=57||x===95||x===36||x===45}function ve(_){return we(_,Te)}function Ce(_){const x=_.charCodeAt(0);return x>=48&&x<=57}function qe(_){return we(_,Ce)}function m(_){const x=_.charCodeAt(0);return x>=48&&x<=57||x>=65&&x<=70||x>=97&&x<=102}function A(_){return we(_,m)}function oe(_){let x="",T="";for(;x=qe(_);)T+=x;return T}function v(_){L(_);const x=_.currentChar();return x!=="%"&&f(Ae.EXPECTED_TOKEN,i(),0,x),_.next(),"%"}function me(_){let x="";for(;;){const T=_.currentChar();if(T==="{"||T==="}"||T==="@"||T==="|"||!T)break;if(T==="%")if(Z(_))x+=T,_.next();else break;else if(T===On||T===At)if(Z(_))x+=T,_.next();else{if(ae(_))break;x+=T,_.next()}else x+=T,_.next()}return x}function Ee(_){L(_);let x="",T="";for(;x=ve(_);)T+=x;return _.currentChar()===qn&&f(Ae.UNTERMINATED_CLOSING_BRACE,i(),0),T}function fe(_){L(_);let x="";return _.currentChar()==="-"?(_.next(),x+=`-${oe(_)}`):x+=oe(_),_.currentChar()===qn&&f(Ae.UNTERMINATED_CLOSING_BRACE,i(),0),x}function F(_){return _!==bl&&_!==At}function K(_){L(_),E(_,"'");let x="",T="";for(;x=we(_,F);)x==="\\"?T+=B(_):T+=x;const G=_.currentChar();return G===At||G===qn?(f(Ae.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,i(),0),G===At&&(_.next(),E(_,"'")),T):(E(_,"'"),T)}function B(_){const x=_.currentChar();switch(x){case"\\":case"'":return _.next(),`\\${x}`;case"u":return ee(_,x,4);case"U":return ee(_,x,6);default:return f(Ae.UNKNOWN_ESCAPE_SEQUENCE,i(),0,x),""}}function ee(_,x,T){E(_,x);let G="";for(let ie=0;ie{const G=_.currentChar();return G==="{"||G==="%"||G==="@"||G==="|"||G==="("||G===")"||!G||G===On?T:(T+=G,_.next(),x(T))};return x("")}function D(_){L(_);const x=E(_,"|");return L(_),x}function W(_,x){let T=null;switch(_.currentChar()){case"{":return x.braceNest>=1&&f(Ae.NOT_ALLOW_NEST_PLACEHOLDER,i(),0),_.next(),T=h(x,2,"{"),L(_),x.braceNest++,T;case"}":return x.braceNest>0&&x.currentType===2&&f(Ae.EMPTY_PLACEHOLDER,i(),0),_.next(),T=h(x,3,"}"),x.braceNest--,x.braceNest>0&&L(_),x.inLinked&&x.braceNest===0&&(x.inLinked=!1),T;case"@":return x.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,i(),0),T=z(_,x)||d(x),x.braceNest=0,T;default:{let ie=!0,te=!0,j=!0;if(ae(_))return x.braceNest>0&&f(Ae.UNTERMINATED_CLOSING_BRACE,i(),0),T=h(x,1,D(_)),x.braceNest=0,x.inLinked=!1,T;if(x.braceNest>0&&(x.currentType===5||x.currentType===6||x.currentType===7))return f(Ae.UNTERMINATED_CLOSING_BRACE,i(),0),x.braceNest=0,ne(_,x);if(ie=O(_,x))return T=h(x,5,Ee(_)),L(_),T;if(te=M(_,x))return T=h(x,6,fe(_)),L(_),T;if(j=U(_,x))return T=h(x,7,K(_)),L(_),T;if(!ie&&!te&&!j)return T=h(x,13,Se(_)),f(Ae.INVALID_TOKEN_IN_PLACEHOLDER,i(),0,T.value),L(_),T;break}}return T}function z(_,x){const{currentType:T}=x;let G=null;const ie=_.currentChar();switch((T===8||T===9||T===12||T===10)&&(ie===At||ie===On)&&f(Ae.INVALID_LINKED_FORMAT,i(),0),ie){case"@":return _.next(),G=h(x,8,"@"),x.inLinked=!0,G;case".":return L(_),_.next(),h(x,9,".");case":":return L(_),_.next(),h(x,10,":");default:return ae(_)?(G=h(x,1,D(_)),x.braceNest=0,x.inLinked=!1,G):k(_,x)||X(_,x)?(L(_),z(_,x)):V(_,x)?(L(_),h(x,12,y(_))):Q(_,x)?(L(_),ie==="{"?W(_,x)||G:h(x,11,S(_))):(T===8&&f(Ae.INVALID_LINKED_FORMAT,i(),0),x.braceNest=0,x.inLinked=!1,ne(_,x))}}function ne(_,x){let T={type:14};if(x.braceNest>0)return W(_,x)||d(x);if(x.inLinked)return z(_,x)||d(x);switch(_.currentChar()){case"{":return W(_,x)||d(x);case"}":return f(Ae.UNBALANCED_CLOSING_BRACE,i(),0),_.next(),h(x,3,"}");case"@":return z(_,x)||d(x);default:{if(ae(_))return T=h(x,1,D(_)),x.braceNest=0,x.inLinked=!1,T;const{isModulo:ie,hasSpace:te}=se(_);if(ie)return te?h(x,0,me(_)):h(x,4,v(_));if(Z(_))return h(x,0,me(_));break}}return T}function ce(){const{currentType:_,offset:x,startLoc:T,endLoc:G}=c;return c.lastType=_,c.lastOffset=x,c.lastStartLoc=T,c.lastEndLoc=G,c.offset=s(),c.startLoc=i(),r.currentChar()===qn?h(c,14):ne(r,c)}return{nextToken:ce,currentOffset:s,currentPosition:i,context:l}}const I0="parser",P0=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function T0(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function N0(e={}){const t=e.location!==!1,{onError:n,onWarn:r}=e;function s(O,M,U,k,...V){const X=O.currentPosition();if(X.offset+=k,X.column+=k,n){const Q=t?Li(U,X):null,ae=Xr(M,Q,{domain:I0,args:V});n(ae)}}function i(O,M,U,k,...V){const X=O.currentPosition();if(X.offset+=k,X.column+=k,r){const Q=t?Li(U,X):null;r(y0(M,Q,V))}}function o(O,M,U){const k={type:O};return t&&(k.start=M,k.end=M,k.loc={start:U,end:U}),k}function a(O,M,U,k){t&&(O.end=M,O.loc&&(O.loc.end=U))}function c(O,M){const U=O.context(),k=o(3,U.offset,U.startLoc);return k.value=M,a(k,O.currentOffset(),O.currentPosition()),k}function l(O,M){const U=O.context(),{lastOffset:k,lastStartLoc:V}=U,X=o(5,k,V);return X.index=parseInt(M,10),O.nextToken(),a(X,O.currentOffset(),O.currentPosition()),X}function u(O,M,U){const k=O.context(),{lastOffset:V,lastStartLoc:X}=k,Q=o(4,V,X);return Q.key=M,U===!0&&(Q.modulo=!0),O.nextToken(),a(Q,O.currentOffset(),O.currentPosition()),Q}function f(O,M){const U=O.context(),{lastOffset:k,lastStartLoc:V}=U,X=o(9,k,V);return X.value=M.replace(P0,T0),O.nextToken(),a(X,O.currentOffset(),O.currentPosition()),X}function h(O){const M=O.nextToken(),U=O.context(),{lastOffset:k,lastStartLoc:V}=U,X=o(8,k,V);return M.type!==12?(s(O,Ae.UNEXPECTED_EMPTY_LINKED_MODIFIER,U.lastStartLoc,0),X.value="",a(X,k,V),{nextConsumeToken:M,node:X}):(M.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,en(M)),X.value=M.value||"",a(X,O.currentOffset(),O.currentPosition()),{node:X})}function d(O,M){const U=O.context(),k=o(7,U.offset,U.startLoc);return k.value=M,a(k,O.currentOffset(),O.currentPosition()),k}function E(O){const M=O.context(),U=o(6,M.offset,M.startLoc);let k=O.nextToken();if(k.type===9){const V=h(O);U.modifier=V.node,k=V.nextConsumeToken||O.nextToken()}switch(k.type!==10&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(k)),k=O.nextToken(),k.type===2&&(k=O.nextToken()),k.type){case 11:k.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(k)),U.key=d(O,k.value||"");break;case 5:k.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(k)),U.key=u(O,k.value||"");break;case 6:k.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(k)),U.key=l(O,k.value||"");break;case 7:k.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(k)),U.key=f(O,k.value||"");break;default:{s(O,Ae.UNEXPECTED_EMPTY_LINKED_KEY,M.lastStartLoc,0);const V=O.context(),X=o(7,V.offset,V.startLoc);return X.value="",a(X,V.offset,V.startLoc),U.key=X,a(U,V.offset,V.startLoc),{nextConsumeToken:k,node:U}}}return a(U,O.currentOffset(),O.currentPosition()),{node:U}}function P(O){const M=O.context(),U=M.currentType===1?O.currentOffset():M.offset,k=M.currentType===1?M.endLoc:M.startLoc,V=o(2,U,k);V.items=[];let X=null,Q=null;do{const Z=X||O.nextToken();switch(X=null,Z.type){case 0:Z.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(Z)),V.items.push(c(O,Z.value||""));break;case 6:Z.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(Z)),V.items.push(l(O,Z.value||""));break;case 4:Q=!0;break;case 5:Z.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(Z)),V.items.push(u(O,Z.value||"",!!Q)),Q&&(i(O,ec.USE_MODULO_SYNTAX,M.lastStartLoc,0,en(Z)),Q=null);break;case 7:Z.value==null&&s(O,Ae.UNEXPECTED_LEXICAL_ANALYSIS,M.lastStartLoc,0,en(Z)),V.items.push(f(O,Z.value||""));break;case 8:{const we=E(O);V.items.push(we.node),X=we.nextConsumeToken||null;break}}}while(M.currentType!==14&&M.currentType!==1);const ae=M.currentType===1?M.lastOffset:O.currentOffset(),se=M.currentType===1?M.lastEndLoc:O.currentPosition();return a(V,ae,se),V}function L(O,M,U,k){const V=O.context();let X=k.items.length===0;const Q=o(1,M,U);Q.cases=[],Q.cases.push(k);do{const ae=P(O);X||(X=ae.items.length===0),Q.cases.push(ae)}while(V.currentType!==14);return X&&s(O,Ae.MUST_HAVE_MESSAGES_IN_PLURAL,U,0),a(Q,O.currentOffset(),O.currentPosition()),Q}function I(O){const M=O.context(),{offset:U,startLoc:k}=M,V=P(O);return M.currentType===14?V:L(O,U,k,V)}function N(O){const M=A0(O,Zf({},e)),U=M.context(),k=o(0,U.offset,U.startLoc);return t&&k.loc&&(k.loc.source=O),k.body=I(M),e.onCacheKey&&(k.cacheKey=e.onCacheKey(O)),U.currentType!==14&&s(M,Ae.UNEXPECTED_LEXICAL_ANALYSIS,U.lastStartLoc,0,O[U.offset]||""),a(k,M.currentOffset(),M.currentPosition()),k}return{parse:N}}function en(e){if(e.type===14)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function R0(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:i=>(n.helpers.add(i),i)}}function yl(e,t){for(let n=0;nxl(n)),e}function xl(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;na;function l(L,I){a.code+=L}function u(L,I=!0){const N=I?s:"";l(i?N+" ".repeat(L):N)}function f(L=!0){const I=++a.indentLevel;L&&u(I)}function h(L=!0){const I=--a.indentLevel;L&&u(I)}function d(){u(a.indentLevel)}return{context:c,push:l,indent:f,deindent:h,newline:d,helper:L=>`_${L}`,needIndent:()=>a.needIndent}}function D0(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),Hr(e,t.key),t.modifier?(e.push(", "),Hr(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function U0(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const s=t.items.length;for(let i=0;i1){e.push(`${n("plural")}([`),e.indent(r());const s=t.cases.length;for(let i=0;i{const n=_l(t.mode)?t.mode:"normal",r=_l(t.filename)?t.filename:"message.intl",s=!!t.sourceMap,i=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` -`,o=t.needIndent?t.needIndent:n!=="arrow",a=e.helpers||[],c=$0(e,{mode:n,filename:r,sourceMap:s,breakLineCode:i,needIndent:o});c.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),c.indent(o),a.length>0&&(c.push(`const { ${eh(a.map(f=>`${f}: _${f}`),", ")} } = ctx`),c.newline()),c.push("return "),Hr(c,e),c.deindent(o),c.push("}"),delete e.helpers;const{code:l,map:u}=c.context();return{ast:e,code:l,map:u?u.toJSON():void 0}};function z0(e,t={}){const n=Zf({},t),r=!!n.jit,s=!!n.minify,i=n.optimize==null?!0:n.optimize,a=N0(n).parse(e);return r?(i&&L0(a),s&&Tr(a),{ast:a,code:""}):(M0(a,n),H0(a,n))}/*! - * core-base v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */function V0(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Za().__INTLIFY_PROD_DEVTOOLS__=!1)}const or=[];or[0]={w:[0],i:[3,0],"[":[4],o:[7]};or[1]={w:[1],".":[2],"[":[4],o:[7]};or[2]={w:[2],i:[3,0],0:[3,0]};or[3]={i:[3,0],0:[3,0],w:[1,1],".":[2,1],"[":[4,1],o:[7,1]};or[4]={"'":[5,0],'"':[6,0],"[":[4,2],"]":[1,3],o:8,l:[4,0]};or[5]={"'":[4,0],o:8,l:[5,0]};or[6]={'"':[4,0],o:8,l:[6,0]};const W0=/^\s?(?:true|false|-?[\d.]+|'[^']*'|"[^"]*")\s?$/;function G0(e){return W0.test(e)}function K0(e){const t=e.charCodeAt(0),n=e.charCodeAt(e.length-1);return t===n&&(t===34||t===39)?e.slice(1,-1):e}function J0(e){if(e==null)return"o";switch(e.charCodeAt(0)){case 91:case 93:case 46:case 34:case 39:return e;case 95:case 36:case 45:return"i";case 9:case 10:case 13:case 160:case 65279:case 8232:case 8233:return"w"}return"i"}function Y0(e){const t=e.trim();return e.charAt(0)==="0"&&isNaN(parseInt(e))?!1:G0(t)?K0(t):"*"+t}function X0(e){const t=[];let n=-1,r=0,s=0,i,o,a,c,l,u,f;const h=[];h[0]=()=>{o===void 0?o=a:o+=a},h[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},h[2]=()=>{h[0](),s++},h[3]=()=>{if(s>0)s--,r=4,h[0]();else{if(s=0,o===void 0||(o=Y0(o),o===!1))return!1;h[1]()}};function d(){const E=e[n+1];if(r===5&&E==="'"||r===6&&E==='"')return n++,a="\\"+E,h[0](),!0}for(;r!==null;)if(n++,i=e[n],!(i==="\\"&&d())){if(c=J0(i),f=or[r],l=f[c]||f.l||8,l===8||(r=l[0],l[1]!==void 0&&(u=h[l[1]],u&&(a=i,u()===!1))))return;if(r===7)return t}}const wl=new Map;function Q0(e,t){return Be(e)?e[t]:null}function Z0(e,t){if(!Be(e))return null;let n=wl.get(t);if(n||(n=X0(t),n&&wl.set(t,n)),!n)return null;const r=n.length;let s=e,i=0;for(;ie,tb=e=>"",nb="text",rb=e=>e.length===0?"":d0(e),sb=h0;function El(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function ib(e){const t=ft(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(ft(e.named.count)||ft(e.named.n))?ft(e.named.count)?e.named.count:ft(e.named.n)?e.named.n:t:t}function ob(e,t){t.count||(t.count=e),t.n||(t.n=e)}function ab(e={}){const t=e.locale,n=ib(e),r=Be(e.pluralRules)&&ye(t)&&nt(e.pluralRules[t])?e.pluralRules[t]:El,s=Be(e.pluralRules)&&ye(t)&&nt(e.pluralRules[t])?El:void 0,i=I=>I[r(n,I.length,s)],o=e.list||[],a=I=>o[I],c=e.named||{};ft(e.pluralIndex)&&ob(n,c);const l=I=>c[I];function u(I){const N=nt(e.messages)?e.messages(I):Be(e.messages)?e.messages[I]:!1;return N||(e.parent?e.parent.message(I):tb)}const f=I=>e.modifiers?e.modifiers[I]:eb,h=Fe(e.processor)&&nt(e.processor.normalize)?e.processor.normalize:rb,d=Fe(e.processor)&&nt(e.processor.interpolate)?e.processor.interpolate:sb,E=Fe(e.processor)&&ye(e.processor.type)?e.processor.type:nb,L={list:a,named:l,plural:i,linked:(I,...N)=>{const[O,M]=N;let U="text",k="";N.length===1?Be(O)?(k=O.modifier||k,U=O.type||U):ye(O)&&(k=O||k):N.length===2&&(ye(O)&&(k=O||k),ye(M)&&(U=M||U));const V=u(I)(L),X=U==="vnode"&&ot(V)&&k?V[0]:V;return k?f(k)(X,U):X},message:u,type:E,interpolate:d,normalize:h,values:kt({},o,c)};return L}let Ms=null;function cb(e){Ms=e}function lb(e,t,n){Ms&&Ms.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const ub=fb("function:translate");function fb(e){return t=>Ms&&Ms.emit(e,t)}const th=ec.__EXTEND_POINT__,hr=lo(th),hb={NOT_FOUND_KEY:th,FALLBACK_TO_TRANSLATE:hr(),CANNOT_FORMAT_NUMBER:hr(),FALLBACK_TO_NUMBER_FORMAT:hr(),CANNOT_FORMAT_DATE:hr(),FALLBACK_TO_DATE_FORMAT:hr(),EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER:hr(),__EXTEND_POINT__:hr()},nh=Ae.__EXTEND_POINT__,dr=lo(nh),wn={INVALID_ARGUMENT:nh,INVALID_DATE_ARGUMENT:dr(),INVALID_ISO_DATE_ARGUMENT:dr(),NOT_SUPPORT_NON_STRING_MESSAGE:dr(),NOT_SUPPORT_LOCALE_PROMISE_VALUE:dr(),NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:dr(),NOT_SUPPORT_LOCALE_TYPE:dr(),__EXTEND_POINT__:dr()};function Pn(e){return Xr(e,null,void 0)}function nc(e,t){return t.locale!=null?vl(t.locale):vl(e.locale)}let Io;function vl(e){if(ye(e))return e;if(nt(e)){if(e.resolvedOnce&&Io!=null)return Io;if(e.constructor.name==="Function"){const t=e();if(f0(t))throw Pn(wn.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Io=t}else throw Pn(wn.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Pn(wn.NOT_SUPPORT_LOCALE_TYPE)}function db(e,t,n){return[...new Set([n,...ot(t)?t:Be(t)?Object.keys(t):ye(t)?[t]:[n]])]}function rh(e,t,n){const r=ye(n)?n:Fi,s=e;s.__localeChainCache||(s.__localeChainCache=new Map);let i=s.__localeChainCache.get(r);if(!i){i=[];let o=[n];for(;ot(o);)o=Sl(i,o,t);const a=ot(t)||!Fe(t)?t:t.default?t.default:null;o=ye(a)?[a]:a,ot(o)&&Sl(i,o,!1),s.__localeChainCache.set(r,i)}return i}function Sl(e,t,n){let r=!0;for(let s=0;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function _b(){return{upper:(e,t)=>t==="text"&&ye(e)?e.toUpperCase():t==="vnode"&&Be(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&ye(e)?e.toLowerCase():t==="vnode"&&Be(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&ye(e)?Cl(e):t==="vnode"&&Be(e)&&"__v_isVNode"in e?Cl(e.children):e}}let sh;function bb(e){sh=e}let ih;function yb(e){ih=e}let oh;function xb(e){oh=e}let ah=null;const wb=e=>{ah=e},Eb=()=>ah;let ch=null;const Ol=e=>{ch=e},vb=()=>ch;let Al=0;function Sb(e={}){const t=nt(e.onWarn)?e.onWarn:m0,n=ye(e.version)?e.version:gb,r=ye(e.locale)||nt(e.locale)?e.locale:Fi,s=nt(r)?Fi:r,i=ot(e.fallbackLocale)||Fe(e.fallbackLocale)||ye(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:s,o=Fe(e.messages)?e.messages:{[s]:{}},a=Fe(e.datetimeFormats)?e.datetimeFormats:{[s]:{}},c=Fe(e.numberFormats)?e.numberFormats:{[s]:{}},l=kt({},e.modifiers||{},_b()),u=e.pluralRules||{},f=nt(e.missing)?e.missing:null,h=et(e.missingWarn)||Ri(e.missingWarn)?e.missingWarn:!0,d=et(e.fallbackWarn)||Ri(e.fallbackWarn)?e.fallbackWarn:!0,E=!!e.fallbackFormat,P=!!e.unresolving,L=nt(e.postTranslation)?e.postTranslation:null,I=Fe(e.processor)?e.processor:null,N=et(e.warnHtmlMessage)?e.warnHtmlMessage:!0,O=!!e.escapeParameter,M=nt(e.messageCompiler)?e.messageCompiler:sh,U=nt(e.messageResolver)?e.messageResolver:ih||Q0,k=nt(e.localeFallbacker)?e.localeFallbacker:oh||db,V=Be(e.fallbackContext)?e.fallbackContext:void 0,X=e,Q=Be(X.__datetimeFormatters)?X.__datetimeFormatters:new Map,ae=Be(X.__numberFormatters)?X.__numberFormatters:new Map,se=Be(X.__meta)?X.__meta:{};Al++;const Z={version:n,cid:Al,locale:r,fallbackLocale:i,messages:o,modifiers:l,pluralRules:u,missing:f,missingWarn:h,fallbackWarn:d,fallbackFormat:E,unresolving:P,postTranslation:L,processor:I,warnHtmlMessage:N,escapeParameter:O,messageCompiler:M,messageResolver:U,localeFallbacker:k,fallbackContext:V,onWarn:t,__meta:se};return Z.datetimeFormats=a,Z.numberFormats=c,Z.__datetimeFormatters=Q,Z.__numberFormatters=ae,__INTLIFY_PROD_DEVTOOLS__&&lb(Z,n,se),Z}function rc(e,t,n,r,s){const{missing:i,onWarn:o}=e;if(i!==null){const a=i(e,n,t,s);return ye(a)?a:t}else return t}function is(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function kb(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function Cb(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;rOb(n,e)}function Ob(e,t){const n=t.b||t.body;if((n.t||n.type)===1){const r=n,s=r.c||r.cases;return e.plural(s.reduce((i,o)=>[...i,Il(e,o)],[]))}else return Il(e,n)}function Il(e,t){const n=t.s||t.static;if(n)return e.type==="text"?n:e.normalize([n]);{const r=(t.i||t.items).reduce((s,i)=>[...s,sa(e,i)],[]);return e.normalize(r)}}function sa(e,t){const n=t.t||t.type;switch(n){case 3:{const r=t;return r.v||r.value}case 9:{const r=t;return r.v||r.value}case 4:{const r=t;return e.interpolate(e.named(r.k||r.key))}case 5:{const r=t;return e.interpolate(e.list(r.i!=null?r.i:r.index))}case 6:{const r=t,s=r.m||r.modifier;return e.linked(sa(e,r.k||r.key),s?sa(e,s):void 0,e.type)}case 7:{const r=t;return r.v||r.value}case 8:{const r=t;return r.v||r.value}default:throw new Error(`unhandled node type on format message part: ${n}`)}}const Ab=e=>e;let ai=Object.create(null);const zr=e=>Be(e)&&(e.t===0||e.type===0)&&("b"in e||"body"in e);function Ib(e,t={}){let n=!1;const r=t.onError||w0;return t.onError=s=>{n=!0,r(s)},{...z0(e,t),detectError:n}}function Pb(e,t){if(ye(e)){et(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||Ab)(e),s=ai[r];if(s)return s;const{ast:i,detectError:o}=Ib(e,{...t,location:!1,jit:!0}),a=Po(i);return o?a:ai[r]=a}else{const n=e.cacheKey;if(n){const r=ai[n];return r||(ai[n]=Po(e))}else return Po(e)}}const Pl=()=>"",Gt=e=>nt(e);function Tl(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:s,messageCompiler:i,fallbackLocale:o,messages:a}=e,[c,l]=ia(...t),u=et(l.missingWarn)?l.missingWarn:e.missingWarn,f=et(l.fallbackWarn)?l.fallbackWarn:e.fallbackWarn,h=et(l.escapeParameter)?l.escapeParameter:e.escapeParameter,d=!!l.resolvedMessage,E=ye(l.default)||et(l.default)?et(l.default)?i?c:()=>c:l.default:n?i?c:()=>c:"",P=n||E!=="",L=nc(e,l);h&&Tb(l);let[I,N,O]=d?[c,L,a[L]||{}]:lh(e,c,L,o,f,u),M=I,U=c;if(!d&&!(ye(M)||zr(M)||Gt(M))&&P&&(M=E,U=M),!d&&(!(ye(M)||zr(M)||Gt(M))||!ye(N)))return s?uo:c;let k=!1;const V=()=>{k=!0},X=Gt(M)?M:uh(e,c,N,M,U,V);if(k)return M;const Q=Mb(e,N,O,l),ae=ab(Q),se=Nb(e,X,ae),Z=r?r(se,c):se;if(__INTLIFY_PROD_DEVTOOLS__){const we={timestamp:Date.now(),key:ye(c)?c:Gt(M)?M.key:"",locale:N||(Gt(M)?M.locale:""),format:ye(M)?M:Gt(M)?M.source:"",message:Z};we.meta=kt({},e.__meta,Eb()||{}),ub(we)}return Z}function Tb(e){ot(e.list)?e.list=e.list.map(t=>ye(t)?gl(t):t):Be(e.named)&&Object.keys(e.named).forEach(t=>{ye(e.named[t])&&(e.named[t]=gl(e.named[t]))})}function lh(e,t,n,r,s,i){const{messages:o,onWarn:a,messageResolver:c,localeFallbacker:l}=e,u=l(e,r,n);let f={},h,d=null;const E="translate";for(let P=0;Pr;return l.locale=n,l.key=t,l}const c=o(r,Rb(e,n,s,r,a,i));return c.locale=n,c.key=t,c.source=r,c}function Nb(e,t,n){return t(n)}function ia(...e){const[t,n,r]=e,s={};if(!ye(t)&&!ft(t)&&!Gt(t)&&!zr(t))throw Pn(wn.INVALID_ARGUMENT);const i=ft(t)?String(t):(Gt(t),t);return ft(n)?s.plural=n:ye(n)?s.default=n:Fe(n)&&!co(n)?s.named=n:ot(n)&&(s.list=n),ft(r)?s.plural=r:ye(r)?s.default=r:Fe(r)&&kt(s,r),[i,s]}function Rb(e,t,n,r,s,i){return{locale:t,key:n,warnHtmlMessage:s,onError:o=>{throw i&&i(o),o},onCacheKey:o=>a0(t,n,o)}}function Mb(e,t,n,r){const{modifiers:s,pluralRules:i,messageResolver:o,fallbackLocale:a,fallbackWarn:c,missingWarn:l,fallbackContext:u}=e,h={locale:t,modifiers:s,pluralRules:i,messages:d=>{let E=o(n,d);if(E==null&&u){const[,,P]=lh(u,d,t,a,c,l);E=o(P,d)}if(ye(E)||zr(E)){let P=!1;const I=uh(e,d,t,E,d,()=>{P=!0});return P?Pl:I}else return Gt(E)?E:Pl}};return e.processor&&(h.processor=e.processor),r.list&&(h.list=r.list),r.named&&(h.named=r.named),ft(r.plural)&&(h.pluralIndex=r.plural),h}function Nl(e,...t){const{datetimeFormats:n,unresolving:r,fallbackLocale:s,onWarn:i,localeFallbacker:o}=e,{__datetimeFormatters:a}=e,[c,l,u,f]=oa(...t),h=et(u.missingWarn)?u.missingWarn:e.missingWarn;et(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const d=!!u.part,E=nc(e,u),P=o(e,s,E);if(!ye(c)||c==="")return new Intl.DateTimeFormat(E,f).format(l);let L={},I,N=null;const O="datetime format";for(let k=0;k{fh.includes(c)?o[c]=n[c]:i[c]=n[c]}),ye(r)?i.locale=r:Fe(r)&&(o=r),Fe(s)&&(o=s),[i.key||"",a,i,o]}function Rl(e,t,n){const r=e;for(const s in n){const i=`${t}__${s}`;r.__datetimeFormatters.has(i)&&r.__datetimeFormatters.delete(i)}}function Ml(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:s,onWarn:i,localeFallbacker:o}=e,{__numberFormatters:a}=e,[c,l,u,f]=aa(...t),h=et(u.missingWarn)?u.missingWarn:e.missingWarn;et(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn;const d=!!u.part,E=nc(e,u),P=o(e,s,E);if(!ye(c)||c==="")return new Intl.NumberFormat(E,f).format(l);let L={},I,N=null;const O="number format";for(let k=0;k{hh.includes(c)?o[c]=n[c]:i[c]=n[c]}),ye(r)?i.locale=r:Fe(r)&&(o=r),Fe(s)&&(o=s),[i.key||"",a,i,o]}function Ll(e,t,n){const r=e;for(const s in n){const i=`${t}__${s}`;r.__numberFormatters.has(i)&&r.__numberFormatters.delete(i)}}V0();/*! - * vue-i18n v9.13.1 - * (c) 2024 kazuya kawaguchi - * Released under the MIT License. - */const Lb="9.13.1";function Fb(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Za().__INTLIFY_PROD_DEVTOOLS__=!1)}const dh=hb.__EXTEND_POINT__,An=lo(dh);An(),An(),An(),An(),An(),An(),An(),An(),An();const mh=wn.__EXTEND_POINT__,Nt=lo(mh),Xt={UNEXPECTED_RETURN_TYPE:mh,INVALID_ARGUMENT:Nt(),MUST_BE_CALL_SETUP_TOP:Nt(),NOT_INSTALLED:Nt(),NOT_AVAILABLE_IN_LEGACY_MODE:Nt(),REQUIRED_VALUE:Nt(),INVALID_VALUE:Nt(),CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:Nt(),NOT_INSTALLED_WITH_PROVIDE:Nt(),UNEXPECTED_ERROR:Nt(),NOT_COMPATIBLE_LEGACY_VUE_I18N:Nt(),BRIDGE_SUPPORT_VUE_2_ONLY:Nt(),MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION:Nt(),NOT_AVAILABLE_COMPOSITION_IN_LEGACY:Nt(),__EXTEND_POINT__:Nt()};function hn(e,...t){return Xr(e,null,void 0)}const ca=ir("__translateVNode"),la=ir("__datetimeParts"),ua=ir("__numberParts"),jb=ir("__setPluralRules"),$b=ir("__injectWithOption"),fa=ir("__dispose");function Ls(e){if(!Be(e))return e;for(const t in e)if(Mi(e,t))if(!t.includes("."))Be(e[t])&&Ls(e[t]);else{const n=t.split("."),r=n.length-1;let s=e,i=!1;for(let o=0;o{if("locale"in a&&"resource"in a){const{locale:c,resource:l}=a;c?(o[c]=o[c]||{},bi(l,o[c])):bi(l,o)}else ye(a)&&bi(JSON.parse(a),o)}),s==null&&i)for(const a in o)Mi(o,a)&&Ls(o[a]);return o}function gh(e){return e.type}function Db(e,t,n){let r=Be(t.messages)?t.messages:{};"__i18nGlobal"in n&&(r=ph(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const s=Object.keys(r);s.length&&s.forEach(i=>{e.mergeLocaleMessage(i,r[i])});{if(Be(t.datetimeFormats)){const i=Object.keys(t.datetimeFormats);i.length&&i.forEach(o=>{e.mergeDateTimeFormat(o,t.datetimeFormats[o])})}if(Be(t.numberFormats)){const i=Object.keys(t.numberFormats);i.length&&i.forEach(o=>{e.mergeNumberFormat(o,t.numberFormats[o])})}}}function Fl(e){return ze(Vs,null,e,0)}const jl="__INTLIFY_META__",$l=()=>[],Ub=()=>!1;let Dl=0;function Ul(e){return(t,n,r,s)=>e(n,r,Ws()||void 0,s)}const Bb=()=>{const e=Ws();let t=null;return e&&(t=gh(e)[jl])?{[jl]:t}:null};function _h(e={},t){const{__root:n,__injectWithOption:r}=e,s=n===void 0,i=e.flatJson,o=Ni?Ct:Ua,a=!!e.translateExistCompatible;let c=et(e.inheritLocale)?e.inheritLocale:!0;const l=o(n&&c?n.locale.value:ye(e.locale)?e.locale:Fi),u=o(n&&c?n.fallbackLocale.value:ye(e.fallbackLocale)||ot(e.fallbackLocale)||Fe(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:l.value),f=o(ph(l.value,e)),h=o(Fe(e.datetimeFormats)?e.datetimeFormats:{[l.value]:{}}),d=o(Fe(e.numberFormats)?e.numberFormats:{[l.value]:{}});let E=n?n.missingWarn:et(e.missingWarn)||Ri(e.missingWarn)?e.missingWarn:!0,P=n?n.fallbackWarn:et(e.fallbackWarn)||Ri(e.fallbackWarn)?e.fallbackWarn:!0,L=n?n.fallbackRoot:et(e.fallbackRoot)?e.fallbackRoot:!0,I=!!e.fallbackFormat,N=nt(e.missing)?e.missing:null,O=nt(e.missing)?Ul(e.missing):null,M=nt(e.postTranslation)?e.postTranslation:null,U=n?n.warnHtmlMessage:et(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter;const V=n?n.modifiers:Fe(e.modifiers)?e.modifiers:{};let X=e.pluralRules||n&&n.pluralRules,Q;Q=(()=>{s&&Ol(null);const j={version:Lb,locale:l.value,fallbackLocale:u.value,messages:f.value,modifiers:V,pluralRules:X,missing:O===null?void 0:O,missingWarn:E,fallbackWarn:P,fallbackFormat:I,unresolving:!0,postTranslation:M===null?void 0:M,warnHtmlMessage:U,escapeParameter:k,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};j.datetimeFormats=h.value,j.numberFormats=d.value,j.__datetimeFormatters=Fe(Q)?Q.__datetimeFormatters:void 0,j.__numberFormatters=Fe(Q)?Q.__numberFormatters:void 0;const q=Sb(j);return s&&Ol(q),q})(),is(Q,l.value,u.value);function se(){return[l.value,u.value,f.value,h.value,d.value]}const Z=We({get:()=>l.value,set:j=>{l.value=j,Q.locale=l.value}}),we=We({get:()=>u.value,set:j=>{u.value=j,Q.fallbackLocale=u.value,is(Q,l.value,j)}}),Ne=We(()=>f.value),Oe=We(()=>h.value),Te=We(()=>d.value);function ve(){return nt(M)?M:null}function Ce(j){M=j,Q.postTranslation=j}function qe(){return N}function m(j){j!==null&&(O=Ul(j)),N=j,Q.missing=O}const A=(j,q,_e,ke,Me,Je)=>{se();let rt;try{__INTLIFY_PROD_DEVTOOLS__,s||(Q.fallbackContext=n?vb():void 0),rt=j(Q)}finally{__INTLIFY_PROD_DEVTOOLS__,s||(Q.fallbackContext=void 0)}if(_e!=="translate exists"&&ft(rt)&&rt===uo||_e==="translate exists"&&!rt){const[Qt,_t]=q();return n&&L?ke(n):Me(Qt)}else{if(Je(rt))return rt;throw hn(Xt.UNEXPECTED_RETURN_TYPE)}};function oe(...j){return A(q=>Reflect.apply(Tl,null,[q,...j]),()=>ia(...j),"translate",q=>Reflect.apply(q.t,q,[...j]),q=>q,q=>ye(q))}function v(...j){const[q,_e,ke]=j;if(ke&&!Be(ke))throw hn(Xt.INVALID_ARGUMENT);return oe(q,_e,kt({resolvedMessage:!0},ke||{}))}function me(...j){return A(q=>Reflect.apply(Nl,null,[q,...j]),()=>oa(...j),"datetime format",q=>Reflect.apply(q.d,q,[...j]),()=>kl,q=>ye(q))}function Ee(...j){return A(q=>Reflect.apply(Ml,null,[q,...j]),()=>aa(...j),"number format",q=>Reflect.apply(q.n,q,[...j]),()=>kl,q=>ye(q))}function fe(j){return j.map(q=>ye(q)||ft(q)||et(q)?Fl(String(q)):q)}const K={normalize:fe,interpolate:j=>j,type:"vnode"};function B(...j){return A(q=>{let _e;const ke=q;try{ke.processor=K,_e=Reflect.apply(Tl,null,[ke,...j])}finally{ke.processor=null}return _e},()=>ia(...j),"translate",q=>q[ca](...j),q=>[Fl(q)],q=>ot(q))}function ee(...j){return A(q=>Reflect.apply(Ml,null,[q,...j]),()=>aa(...j),"number format",q=>q[ua](...j),$l,q=>ye(q)||ot(q))}function pe(...j){return A(q=>Reflect.apply(Nl,null,[q,...j]),()=>oa(...j),"datetime format",q=>q[la](...j),$l,q=>ye(q)||ot(q))}function Se(j){X=j,Q.pluralRules=X}function y(j,q){return A(()=>{if(!j)return!1;const _e=ye(q)?q:l.value,ke=W(_e),Me=Q.messageResolver(ke,j);return a?Me!=null:zr(Me)||Gt(Me)||ye(Me)},()=>[j],"translate exists",_e=>Reflect.apply(_e.te,_e,[j,q]),Ub,_e=>et(_e))}function S(j){let q=null;const _e=rh(Q,u.value,l.value);for(let ke=0;ke<_e.length;ke++){const Me=f.value[_e[ke]]||{},Je=Q.messageResolver(Me,j);if(Je!=null){q=Je;break}}return q}function D(j){const q=S(j);return q??(n?n.tm(j)||{}:{})}function W(j){return f.value[j]||{}}function z(j,q){if(i){const _e={[j]:q};for(const ke in _e)Mi(_e,ke)&&Ls(_e[ke]);q=_e[j]}f.value[j]=q,Q.messages=f.value}function ne(j,q){f.value[j]=f.value[j]||{};const _e={[j]:q};if(i)for(const ke in _e)Mi(_e,ke)&&Ls(_e[ke]);q=_e[j],bi(q,f.value[j]),Q.messages=f.value}function ce(j){return h.value[j]||{}}function _(j,q){h.value[j]=q,Q.datetimeFormats=h.value,Rl(Q,j,q)}function x(j,q){h.value[j]=kt(h.value[j]||{},q),Q.datetimeFormats=h.value,Rl(Q,j,q)}function T(j){return d.value[j]||{}}function G(j,q){d.value[j]=q,Q.numberFormats=d.value,Ll(Q,j,q)}function ie(j,q){d.value[j]=kt(d.value[j]||{},q),Q.numberFormats=d.value,Ll(Q,j,q)}Dl++,n&&Ni&&(Lt(n.locale,j=>{c&&(l.value=j,Q.locale=j,is(Q,l.value,u.value))}),Lt(n.fallbackLocale,j=>{c&&(u.value=j,Q.fallbackLocale=j,is(Q,l.value,u.value))}));const te={id:Dl,locale:Z,fallbackLocale:we,get inheritLocale(){return c},set inheritLocale(j){c=j,j&&n&&(l.value=n.locale.value,u.value=n.fallbackLocale.value,is(Q,l.value,u.value))},get availableLocales(){return Object.keys(f.value).sort()},messages:Ne,get modifiers(){return V},get pluralRules(){return X||{}},get isGlobal(){return s},get missingWarn(){return E},set missingWarn(j){E=j,Q.missingWarn=E},get fallbackWarn(){return P},set fallbackWarn(j){P=j,Q.fallbackWarn=P},get fallbackRoot(){return L},set fallbackRoot(j){L=j},get fallbackFormat(){return I},set fallbackFormat(j){I=j,Q.fallbackFormat=I},get warnHtmlMessage(){return U},set warnHtmlMessage(j){U=j,Q.warnHtmlMessage=j},get escapeParameter(){return k},set escapeParameter(j){k=j,Q.escapeParameter=j},t:oe,getLocaleMessage:W,setLocaleMessage:z,mergeLocaleMessage:ne,getPostTranslationHandler:ve,setPostTranslationHandler:Ce,getMissingHandler:qe,setMissingHandler:m,[jb]:Se};return te.datetimeFormats=Oe,te.numberFormats=Te,te.rt=v,te.te=y,te.tm=D,te.d=me,te.n=Ee,te.getDateTimeFormat=ce,te.setDateTimeFormat=_,te.mergeDateTimeFormat=x,te.getNumberFormat=T,te.setNumberFormat=G,te.mergeNumberFormat=ie,te[$b]=r,te[ca]=B,te[la]=pe,te[ua]=ee,te}const sc={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function qb({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,s)=>[...r,...s.type===Bt?s.children:[s]],[]):t.reduce((n,r)=>{const s=e[r];return s&&(n[r]=s()),n},{})}function bh(e){return Bt}const Hb=mn({name:"i18n-t",props:kt({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>ft(e)||!isNaN(e)}},sc),setup(e,t){const{slots:n,attrs:r}=t,s=e.i18n||Sr({useScope:e.scope,__useComponent:!0});return()=>{const i=Object.keys(n).filter(f=>f!=="_"),o={};e.locale&&(o.locale=e.locale),e.plural!==void 0&&(o.plural=ye(e.plural)?+e.plural:e.plural);const a=qb(t,i),c=s[ca](e.keypath,a,o),l=kt({},r),u=ye(e.tag)||Be(e.tag)?e.tag:bh();return io(u,l,c)}}}),Bl=Hb;function zb(e){return ot(e)&&!ye(e[0])}function yh(e,t,n,r){const{slots:s,attrs:i}=t;return()=>{const o={part:!0};let a={};e.locale&&(o.locale=e.locale),ye(e.format)?o.key=e.format:Be(e.format)&&(ye(e.format.key)&&(o.key=e.format.key),a=Object.keys(e.format).reduce((h,d)=>n.includes(d)?kt({},h,{[d]:e.format[d]}):h,{}));const c=r(e.value,o,a);let l=[o.key];ot(c)?l=c.map((h,d)=>{const E=s[h.type],P=E?E({[h.type]:h.value,index:d,parts:c}):[h.value];return zb(P)&&(P[0].key=`${h.type}-${d}`),P}):ye(c)&&(l=[c]);const u=kt({},i),f=ye(e.tag)||Be(e.tag)?e.tag:bh();return io(f,u,l)}}const Vb=mn({name:"i18n-n",props:kt({value:{type:Number,required:!0},format:{type:[String,Object]}},sc),setup(e,t){const n=e.i18n||Sr({useScope:e.scope,__useComponent:!0});return yh(e,t,hh,(...r)=>n[ua](...r))}}),ql=Vb,Wb=mn({name:"i18n-d",props:kt({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},sc),setup(e,t){const n=e.i18n||Sr({useScope:e.scope,__useComponent:!0});return yh(e,t,fh,(...r)=>n[la](...r))}}),Hl=Wb;function Gb(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function Kb(e){const t=o=>{const{instance:a,modifiers:c,value:l}=o;if(!a||!a.$)throw hn(Xt.UNEXPECTED_ERROR);const u=Gb(e,a.$),f=zl(l);return[Reflect.apply(u.t,u,[...Vl(f)]),u]};return{created:(o,a)=>{const[c,l]=t(a);Ni&&e.global===l&&(o.__i18nWatcher=Lt(l.locale,()=>{a.instance&&a.instance.$forceUpdate()})),o.__composer=l,o.textContent=c},unmounted:o=>{Ni&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:a})=>{if(o.__composer){const c=o.__composer,l=zl(a);o.textContent=Reflect.apply(c.t,c,[...Vl(l)])}},getSSRProps:o=>{const[a]=t(o);return{textContent:a}}}}function zl(e){if(ye(e))return{path:e};if(Fe(e)){if(!("path"in e))throw hn(Xt.REQUIRED_VALUE,"path");return e}else throw hn(Xt.INVALID_VALUE)}function Vl(e){const{path:t,locale:n,args:r,choice:s,plural:i}=e,o={},a=r||{};return ye(n)&&(o.locale=n),ft(s)&&(o.plural=s),ft(i)&&(o.plural=i),[t,a,o]}function Jb(e,t,...n){const r=Fe(n[0])?n[0]:{},s=!!r.useI18nComponentName;(et(r.globalInstall)?r.globalInstall:!0)&&([s?"i18n":Bl.name,"I18nT"].forEach(o=>e.component(o,Bl)),[ql.name,"I18nN"].forEach(o=>e.component(o,ql)),[Hl.name,"I18nD"].forEach(o=>e.component(o,Hl))),e.directive("t",Kb(t))}const Yb=ir("global-vue-i18n");function Xb(e={},t){const n=et(e.globalInjection)?e.globalInjection:!0,r=!0,s=new Map,[i,o]=Qb(e),a=ir("");function c(f){return s.get(f)||null}function l(f,h){s.set(f,h)}function u(f){s.delete(f)}{const f={get mode(){return"composition"},get allowComposition(){return r},async install(h,...d){if(h.__VUE_I18N_SYMBOL__=a,h.provide(h.__VUE_I18N_SYMBOL__,f),Fe(d[0])){const L=d[0];f.__composerExtend=L.__composerExtend,f.__vueI18nExtend=L.__vueI18nExtend}let E=null;n&&(E=oy(h,f.global)),Jb(h,f,...d);const P=h.unmount;h.unmount=()=>{E&&E(),f.dispose(),P()}},get global(){return o},dispose(){i.stop()},__instances:s,__getInstance:c,__setInstance:l,__deleteInstance:u};return f}}function Sr(e={}){const t=Ws();if(t==null)throw hn(Xt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw hn(Xt.NOT_INSTALLED);const n=Zb(t),r=ty(n),s=gh(t),i=ey(e,s);if(i==="global")return Db(r,e,s),r;if(i==="parent"){let c=ny(n,t,e.__useComponent);return c==null&&(c=r),c}const o=n;let a=o.__getInstance(t);if(a==null){const c=kt({},e);"__i18n"in s&&(c.__i18n=s.__i18n),r&&(c.__root=r),a=_h(c),o.__composerExtend&&(a[fa]=o.__composerExtend(a)),sy(o,t,a),o.__setInstance(t,a)}return a}function Qb(e,t,n){const r=vd();{const s=r.run(()=>_h(e));if(s==null)throw hn(Xt.UNEXPECTED_ERROR);return[r,s]}}function Zb(e){{const t=Yt(e.isCE?Yb:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw hn(e.isCE?Xt.NOT_INSTALLED_WITH_PROVIDE:Xt.UNEXPECTED_ERROR);return t}}function ey(e,t){return co(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function ty(e){return e.mode==="composition"?e.global:e.global.__composer}function ny(e,t,n=!1){let r=null;const s=t.root;let i=ry(t,n);for(;i!=null;){const o=e;if(e.mode==="composition"&&(r=o.__getInstance(i)),r!=null||s===i)break;i=i.parent}return r}function ry(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function sy(e,t,n){zs(()=>{},t),za(()=>{const r=n;e.__deleteInstance(t);const s=r[fa];s&&(s(),delete r[fa])},t)}const iy=["locale","fallbackLocale","availableLocales"],Wl=["t","rt","d","n","tm","te"];function oy(e,t){const n=Object.create(null);return iy.forEach(s=>{const i=Object.getOwnPropertyDescriptor(t,s);if(!i)throw hn(Xt.UNEXPECTED_ERROR);const o=gt(i.value)?{get(){return i.value.value},set(a){i.value.value=a}}:{get(){return i.get&&i.get()}};Object.defineProperty(n,s,o)}),e.config.globalProperties.$i18n=n,Wl.forEach(s=>{const i=Object.getOwnPropertyDescriptor(t,s);if(!i||!i.value)throw hn(Xt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${s}`,i)}),()=>{delete e.config.globalProperties.$i18n,Wl.forEach(s=>{delete e.config.globalProperties[`$${s}`]})}}Fb();bb(Pb);yb(Z0);xb(rh);if(__INTLIFY_PROD_DEVTOOLS__){const e=Za();e.__INTLIFY__=!0,cb(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const ay=["href"],To="border-1 hover:border-gray-300 dark:border-gray-400 dark:hover:border-gray-500 rounded p-2 flex items-center justify-center cursor-pointer",xh=mn({__name:"Button",props:{to:{},href:{}},setup(e){return(t,n)=>{const r=to("router-link");return t.to?(pt(),wr(r,{key:0,class:xn(To),to:t.to},{default:Jt(()=>[di(t.$slots,"default")]),_:3},8,["to"])):t.href?(pt(),Sn("a",{key:1,href:t.href,target:"_blank",rel:"noopener noreferrer",class:xn(To)},[di(t.$slots,"default")],8,ay)):(pt(),Sn("button",{key:2,type:"button",class:xn(To)},[di(t.$slots,"default")]))}}}),cy={class:"m-2 flex flex-col rounded-md p-4 bg-white border-1 border-gray-200 shadow-xl z-20 md:w-104 dark:bg-dark-400 dark:text-gray-300 dark:border-dark-800"},wh=mn({__name:"PopupNotice",props:{show:{type:Boolean}},emits:["close"],setup(e){return(t,n)=>t.show?(pt(),Sn("div",{key:0,class:"flex fixed top-0 left-0 right-0 bottom-0 bg-gray-900 bg-opacity-80 z-1000 justify-center items-center",onClick:n[0]||(n[0]=r=>t.$emit("close"))},[Ye("div",cy,[di(t.$slots,"default")])])):Tf("",!0)}}),Fs="kiel_live",ly={liteMode:Ns(`${Fs}.lite`,!1),lastLocation:Ns(`${Fs}.last_location`,{center:[10.1283,54.3166],zoom:14,pitch:0,bearing:0})};function Eh(){return ly}const uy={key:0,class:"flex flex-col text-center gap-4"},fy={class:"text-xl mb-2"},hy=["innerHTML"],dy={class:"flex flex-row w-full justify-center mt-8"},my=mn({__name:"GeneralNotice",setup(e){const{t}=Sr(),n=[{id:"kvg-rbl-umzug",title:"⚠️ Einschränkungen bei den Busdaten der KVG",start:new Date("2024-02-20 00:00:00"),end:new Date("2024-02-22 23:59:59"),msg:`Die KVG stellt vom **20. bis zum 22. Februar 2024** ihr rechnergestütztes Betriebsleitsystem (RBL) um, - sodass es teilweise zu Einschränkungen bei den Busdaten kommen kann. [weitere Informationen](https://www.kvg-kiel.de/aktuelles/betriebliches/unser-rechnergestuetztes-betriebsleitsystem-rbl-zieht-um).`}],r=Ns(`${Fs}.alerts`,[]),s=We(()=>n.find(a=>{const c=a.start&&a.end?a.start<=new Date&&a.end>=new Date:!0;return!r.value.includes(a.id)&&c}));function i(){s.value&&r.value.push(s.value.id)}const o=We(()=>s.value?o0(s.value.msg.trim()):null);return(a,c)=>(pt(),wr(wh,{show:!!s.value,onClose:i},{default:Jt(()=>[s.value?(pt(),Sn("div",uy,[Ye("span",fy,on(s.value.title),1),Ye("span",{class:"prose",innerHTML:o.value},null,8,hy)])):Tf("",!0),Ye("div",dy,[ze(xh,{onClick:i},{default:Jt(()=>[Ga(on(Ze(t)("ok")),1)]),_:1})])]),_:1},8,["show"]))}}),py={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"},gy=Ye("path",{fill:"currentColor",d:"M19.14 12.94c.04-.3.06-.61.06-.94c0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.488.488 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6s3.6 1.62 3.6 3.6s-1.62 3.6-3.6 3.6"},null,-1),_y=[gy];function by(e,t){return pt(),Sn("svg",py,[..._y])}const yy={name:"ic-baseline-settings",render:by},xy={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},wy=Ye("path",{fill:"currentColor",d:"m234.29 114.85l-45 38.83L203 211.75a16.4 16.4 0 0 1-24.5 17.82L128 198.49l-50.53 31.08A16.4 16.4 0 0 1 53 211.75l13.76-58.07l-45-38.83A16.46 16.46 0 0 1 31.08 86l59-4.76l22.76-55.08a16.36 16.36 0 0 1 30.27 0l22.75 55.08l59 4.76a16.46 16.46 0 0 1 9.37 28.86Z"},null,-1),Ey=[wy];function vy(e,t){return pt(),Sn("svg",xy,[...Ey])}const Sy={name:"ph-star-fill",render:vy},ky={viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"},Cy=Ye("path",{fill:"currentColor",d:"m16 24l-6.09-8.6A8.14 8.14 0 0 1 16 2a8.08 8.08 0 0 1 8 8.13a8.2 8.2 0 0 1-1.8 5.13Zm0-20a6.07 6.07 0 0 0-6 6.13a6.2 6.2 0 0 0 1.49 4L16 20.52L20.63 14A6.24 6.24 0 0 0 22 10.13A6.07 6.07 0 0 0 16 4"},null,-1),Oy=Ye("circle",{cx:"16",cy:"9",r:"2",fill:"currentColor"},null,-1),Ay=Ye("path",{fill:"currentColor",d:"M28 12h-2v2h2v14H4V14h2v-2H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V14a2 2 0 0 0-2-2"},null,-1),Iy=[Cy,Oy,Ay];function Py(e,t){return pt(),Sn("svg",ky,[...Iy])}const Ty={name:"carbon-map",render:Py},Ny={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"},Ry=Ye("path",{fill:"currentColor",d:"M232.49 215.51L185 168a92.12 92.12 0 1 0-17 17l47.53 47.54a12 12 0 0 0 17-17ZM44 112a68 68 0 1 1 68 68a68.07 68.07 0 0 1-68-68"},null,-1),My=[Ry];function Ly(e,t){return pt(),Sn("svg",Ny,[...My])}const Fy={name:"ph-magnifying-glass-bold",render:Ly};/*! - * vue-router v4.3.2 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const Nr=typeof document<"u";function jy(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const He=Object.assign;function No(e,t){const n={};for(const r in t){const s=t[r];n[r]=dn(s)?s.map(e):e(s)}return n}const ys=()=>{},dn=Array.isArray,vh=/#/g,$y=/&/g,Dy=/\//g,Uy=/=/g,By=/\?/g,Sh=/\+/g,qy=/%5B/g,Hy=/%5D/g,kh=/%5E/g,zy=/%60/g,Ch=/%7B/g,Vy=/%7C/g,Oh=/%7D/g,Wy=/%20/g;function ic(e){return encodeURI(""+e).replace(Vy,"|").replace(qy,"[").replace(Hy,"]")}function Gy(e){return ic(e).replace(Ch,"{").replace(Oh,"}").replace(kh,"^")}function ha(e){return ic(e).replace(Sh,"%2B").replace(Wy,"+").replace(vh,"%23").replace($y,"%26").replace(zy,"`").replace(Ch,"{").replace(Oh,"}").replace(kh,"^")}function Ky(e){return ha(e).replace(Uy,"%3D")}function Jy(e){return ic(e).replace(vh,"%23").replace(By,"%3F")}function Yy(e){return e==null?"":Jy(e).replace(Dy,"%2F")}function js(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const Xy=/\/$/,Qy=e=>e.replace(Xy,"");function Ro(e,t,n="/"){let r,s={},i="",o="";const a=t.indexOf("#");let c=t.indexOf("?");return a=0&&(c=-1),c>-1&&(r=t.slice(0,c),i=t.slice(c+1,a>-1?a:t.length),s=e(i)),a>-1&&(r=r||t.slice(0,a),o=t.slice(a,t.length)),r=nx(r??t,n),{fullPath:r+(i&&"?")+i+o,path:r,query:s,hash:js(o)}}function Zy(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function Gl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function ex(e,t,n){const r=t.matched.length-1,s=n.matched.length-1;return r>-1&&r===s&&Vr(t.matched[r],n.matched[s])&&Ah(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Vr(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ah(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!tx(e[n],t[n]))return!1;return!0}function tx(e,t){return dn(e)?Kl(e,t):dn(t)?Kl(t,e):e===t}function Kl(e,t){return dn(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function nx(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),s=r[r.length-1];(s===".."||s===".")&&r.push("");let i=n.length-1,o,a;for(o=0;o1&&i--;else break;return n.slice(0,i).join("/")+"/"+r.slice(o).join("/")}var $s;(function(e){e.pop="pop",e.push="push"})($s||($s={}));var xs;(function(e){e.back="back",e.forward="forward",e.unknown=""})(xs||(xs={}));function rx(e){if(!e)if(Nr){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Qy(e)}const sx=/^[^#]+#/;function ix(e,t){return e.replace(sx,"#")+t}function ox(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const fo=()=>({left:window.scrollX,top:window.scrollY});function ax(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=ox(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Jl(e,t){return(history.state?history.state.position-t:-1)+e}const da=new Map;function cx(e,t){da.set(e,t)}function lx(e){const t=da.get(e);return da.delete(e),t}let ux=()=>location.protocol+"//"+location.host;function Ih(e,t){const{pathname:n,search:r,hash:s}=t,i=e.indexOf("#");if(i>-1){let a=s.includes(e.slice(i))?e.slice(i).length:1,c=s.slice(a);return c[0]!=="/"&&(c="/"+c),Gl(c,"")}return Gl(n,e)+r+s}function fx(e,t,n,r){let s=[],i=[],o=null;const a=({state:h})=>{const d=Ih(e,location),E=n.value,P=t.value;let L=0;if(h){if(n.value=d,t.value=h,o&&o===E){o=null;return}L=P?h.position-P.position:0}else r(d);s.forEach(I=>{I(n.value,E,{delta:L,type:$s.pop,direction:L?L>0?xs.forward:xs.back:xs.unknown})})};function c(){o=n.value}function l(h){s.push(h);const d=()=>{const E=s.indexOf(h);E>-1&&s.splice(E,1)};return i.push(d),d}function u(){const{history:h}=window;h.state&&h.replaceState(He({},h.state,{scroll:fo()}),"")}function f(){for(const h of i)h();i=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",u)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",u,{passive:!0}),{pauseListeners:c,listen:l,destroy:f}}function Yl(e,t,n,r=!1,s=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:s?fo():null}}function hx(e){const{history:t,location:n}=window,r={value:Ih(e,n)},s={value:t.state};s.value||i(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(c,l,u){const f=e.indexOf("#"),h=f>-1?(n.host&&document.querySelector("base")?e:e.slice(f))+c:ux()+e+c;try{t[u?"replaceState":"pushState"](l,"",h),s.value=l}catch(d){console.error(d),n[u?"replace":"assign"](h)}}function o(c,l){const u=He({},t.state,Yl(s.value.back,c,s.value.forward,!0),l,{position:s.value.position});i(c,u,!0),r.value=c}function a(c,l){const u=He({},s.value,t.state,{forward:c,scroll:fo()});i(u.current,u,!0);const f=He({},Yl(r.value,c,null),{position:u.position+1},l);i(c,f,!1),r.value=c}return{location:r,state:s,push:a,replace:o}}function dx(e){e=rx(e);const t=hx(e),n=fx(e,t.state,t.location,t.replace);function r(i,o=!0){o||n.pauseListeners(),history.go(i)}const s=He({location:"",base:e,go:r,createHref:ix.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function mx(e){return typeof e=="string"||e&&typeof e=="object"}function Ph(e){return typeof e=="string"||typeof e=="symbol"}const Hn={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Th=Symbol("");var Xl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(Xl||(Xl={}));function Wr(e,t){return He(new Error,{type:e,[Th]:!0},t)}function In(e,t){return e instanceof Error&&Th in e&&(t==null||!!(e.type&t))}const Ql="[^/]+?",px={sensitive:!1,strict:!1,start:!0,end:!0},gx=/[.+*?^${}()[\]/\\]/g;function _x(e,t){const n=He({},px,t),r=[];let s=n.start?"^":"";const i=[];for(const l of e){const u=l.length?[]:[90];n.strict&&!l.length&&(s+="/");for(let f=0;ft.length?t.length===1&&t[0]===80?1:-1:0}function yx(e,t){let n=0;const r=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const xx={type:0,value:""},wx=/[a-zA-Z0-9_]/;function Ex(e){if(!e)return[[]];if(e==="/")return[[xx]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(d){throw new Error(`ERR (${n})/"${l}": ${d}`)}let n=0,r=n;const s=[];let i;function o(){i&&s.push(i),i=[]}let a=0,c,l="",u="";function f(){l&&(n===0?i.push({type:0,value:l}):n===1||n===2||n===3?(i.length>1&&(c==="*"||c==="+")&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:l,regexp:u,repeatable:c==="*"||c==="+",optional:c==="*"||c==="?"})):t("Invalid state to consume buffer"),l="")}function h(){l+=c}for(;a{o(N)}:ys}function o(u){if(Ph(u)){const f=r.get(u);f&&(r.delete(u),n.splice(n.indexOf(f),1),f.children.forEach(o),f.alias.forEach(o))}else{const f=n.indexOf(u);f>-1&&(n.splice(f,1),u.record.name&&r.delete(u.record.name),u.children.forEach(o),u.alias.forEach(o))}}function a(){return n}function c(u){let f=0;for(;f=0&&(u.record.path!==n[f].record.path||!Nh(u,n[f]));)f++;n.splice(f,0,u),u.record.name&&!tu(u)&&r.set(u.record.name,u)}function l(u,f){let h,d={},E,P;if("name"in u&&u.name){if(h=r.get(u.name),!h)throw Wr(1,{location:u});P=h.record.name,d=He(eu(f.params,h.keys.filter(N=>!N.optional).concat(h.parent?h.parent.keys.filter(N=>N.optional):[]).map(N=>N.name)),u.params&&eu(u.params,h.keys.map(N=>N.name))),E=h.stringify(d)}else if(u.path!=null)E=u.path,h=n.find(N=>N.re.test(E)),h&&(d=h.parse(E),P=h.record.name);else{if(h=f.name?r.get(f.name):n.find(N=>N.re.test(f.path)),!h)throw Wr(1,{location:u,currentLocation:f});P=h.record.name,d=He({},f.params,u.params),E=h.stringify(d)}const L=[];let I=h;for(;I;)L.unshift(I.record),I=I.parent;return{name:P,path:E,params:d,matched:L,meta:Ox(L)}}return e.forEach(u=>i(u)),{addRoute:i,resolve:l,removeRoute:o,getRoutes:a,getRecordMatcher:s}}function eu(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function kx(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Cx(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Cx(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function tu(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Ox(e){return e.reduce((t,n)=>He(t,n.meta),{})}function nu(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function Nh(e,t){return t.children.some(n=>n===e||Nh(e,n))}function Ax(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;si&&ha(i)):[r&&ha(r)]).forEach(i=>{i!==void 0&&(t+=(t.length?"&":"")+n,i!=null&&(t+="="+i))})}return t}function Ix(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=dn(r)?r.map(s=>s==null?null:""+s):r==null?r:""+r)}return t}const Px=Symbol(""),su=Symbol(""),ho=Symbol(""),oc=Symbol(""),ma=Symbol("");function os(){let e=[];function t(r){return e.push(r),()=>{const s=e.indexOf(r);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Gn(e,t,n,r,s,i=o=>o()){const o=r&&(r.enterCallbacks[s]=r.enterCallbacks[s]||[]);return()=>new Promise((a,c)=>{const l=h=>{h===!1?c(Wr(4,{from:n,to:t})):h instanceof Error?c(h):mx(h)?c(Wr(2,{from:t,to:h})):(o&&r.enterCallbacks[s]===o&&typeof h=="function"&&o.push(h),a())},u=i(()=>e.call(r&&r.instances[s],t,n,l));let f=Promise.resolve(u);e.length<3&&(f=f.then(l)),f.catch(h=>c(h))})}function Mo(e,t,n,r,s=i=>i()){const i=[];for(const o of e)for(const a in o.components){let c=o.components[a];if(!(t!=="beforeRouteEnter"&&!o.instances[a]))if(Tx(c)){const u=(c.__vccOpts||c)[t];u&&i.push(Gn(u,n,r,o,a,s))}else{let l=c();i.push(()=>l.then(u=>{if(!u)return Promise.reject(new Error(`Couldn't resolve component "${a}" at "${o.path}"`));const f=jy(u)?u.default:u;o.components[a]=f;const d=(f.__vccOpts||f)[t];return d&&Gn(d,n,r,o,a,s)()}))}}return i}function Tx(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function iu(e){const t=Yt(ho),n=Yt(oc),r=We(()=>{const c=Ze(e.to);return t.resolve(c)}),s=We(()=>{const{matched:c}=r.value,{length:l}=c,u=c[l-1],f=n.matched;if(!u||!f.length)return-1;const h=f.findIndex(Vr.bind(null,u));if(h>-1)return h;const d=ou(c[l-2]);return l>1&&ou(u)===d&&f[f.length-1].path!==d?f.findIndex(Vr.bind(null,c[l-2])):h}),i=We(()=>s.value>-1&&Lx(n.params,r.value.params)),o=We(()=>s.value>-1&&s.value===n.matched.length-1&&Ah(n.params,r.value.params));function a(c={}){return Mx(c)?t[Ze(e.replace)?"replace":"push"](Ze(e.to)).catch(ys):Promise.resolve()}return{route:r,href:We(()=>r.value.href),isActive:i,isExactActive:o,navigate:a}}const Nx=mn({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:iu,setup(e,{slots:t}){const n=Yi(iu(e)),{options:r}=Yt(ho),s=We(()=>({[au(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[au(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const i=t.default&&t.default(n);return e.custom?i:io("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},i)}}}),Rx=Nx;function Mx(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Lx(e,t){for(const n in t){const r=t[n],s=e[n];if(typeof r=="string"){if(r!==s)return!1}else if(!dn(s)||s.length!==r.length||r.some((i,o)=>i!==s[o]))return!1}return!0}function ou(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const au=(e,t,n)=>e??t??n,Fx=mn({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=Yt(ma),s=We(()=>e.route||r.value),i=Yt(su,0),o=We(()=>{let l=Ze(i);const{matched:u}=s.value;let f;for(;(f=u[l])&&!f.components;)l++;return l}),a=We(()=>s.value.matched[o.value]);mi(su,We(()=>o.value+1)),mi(Px,a),mi(ma,s);const c=Ct();return Lt(()=>[c.value,a.value,e.name],([l,u,f],[h,d,E])=>{u&&(u.instances[f]=l,d&&d!==u&&l&&l===h&&(u.leaveGuards.size||(u.leaveGuards=d.leaveGuards),u.updateGuards.size||(u.updateGuards=d.updateGuards))),l&&u&&(!d||!Vr(u,d)||!h)&&(u.enterCallbacks[f]||[]).forEach(P=>P(l))},{flush:"post"}),()=>{const l=s.value,u=e.name,f=a.value,h=f&&f.components[u];if(!h)return cu(n.default,{Component:h,route:l});const d=f.props[u],E=d?d===!0?l.params:typeof d=="function"?d(l):d:null,L=io(h,He({},E,t,{onVnodeUnmounted:I=>{I.component.isUnmounted&&(f.instances[u]=null)},ref:c}));return cu(n.default,{Component:L,route:l})||L}}});function cu(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const jx=Fx;function $x(e){const t=Sx(e.routes,e),n=e.parseQuery||Ax,r=e.stringifyQuery||ru,s=e.history,i=os(),o=os(),a=os(),c=Ua(Hn);let l=Hn;Nr&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=No.bind(null,F=>""+F),f=No.bind(null,Yy),h=No.bind(null,js);function d(F,K){let B,ee;return Ph(F)?(B=t.getRecordMatcher(F),ee=K):ee=F,t.addRoute(ee,B)}function E(F){const K=t.getRecordMatcher(F);K&&t.removeRoute(K)}function P(){return t.getRoutes().map(F=>F.record)}function L(F){return!!t.getRecordMatcher(F)}function I(F,K){if(K=He({},K||c.value),typeof F=="string"){const S=Ro(n,F,K.path),D=t.resolve({path:S.path},K),W=s.createHref(S.fullPath);return He(S,D,{params:h(D.params),hash:js(S.hash),redirectedFrom:void 0,href:W})}let B;if(F.path!=null)B=He({},F,{path:Ro(n,F.path,K.path).path});else{const S=He({},F.params);for(const D in S)S[D]==null&&delete S[D];B=He({},F,{params:f(S)}),K.params=f(K.params)}const ee=t.resolve(B,K),pe=F.hash||"";ee.params=u(h(ee.params));const Se=Zy(r,He({},F,{hash:Gy(pe),path:ee.path})),y=s.createHref(Se);return He({fullPath:Se,hash:pe,query:r===ru?Ix(F.query):F.query||{}},ee,{redirectedFrom:void 0,href:y})}function N(F){return typeof F=="string"?Ro(n,F,c.value.path):He({},F)}function O(F,K){if(l!==F)return Wr(8,{from:K,to:F})}function M(F){return V(F)}function U(F){return M(He(N(F),{replace:!0}))}function k(F){const K=F.matched[F.matched.length-1];if(K&&K.redirect){const{redirect:B}=K;let ee=typeof B=="function"?B(F):B;return typeof ee=="string"&&(ee=ee.includes("?")||ee.includes("#")?ee=N(ee):{path:ee},ee.params={}),He({query:F.query,hash:F.hash,params:ee.path!=null?{}:F.params},ee)}}function V(F,K){const B=l=I(F),ee=c.value,pe=F.state,Se=F.force,y=F.replace===!0,S=k(B);if(S)return V(He(N(S),{state:typeof S=="object"?He({},pe,S.state):pe,force:Se,replace:y}),K||B);const D=B;D.redirectedFrom=K;let W;return!Se&&ex(r,ee,B)&&(W=Wr(16,{to:D,from:ee}),A(ee,ee,!0,!1)),(W?Promise.resolve(W):ae(D,ee)).catch(z=>In(z)?In(z,2)?z:m(z):Ce(z,D,ee)).then(z=>{if(z){if(In(z,2))return V(He({replace:y},N(z.to),{state:typeof z.to=="object"?He({},pe,z.to.state):pe,force:Se}),K||D)}else z=Z(D,ee,!0,y,pe);return se(D,ee,z),z})}function X(F,K){const B=O(F,K);return B?Promise.reject(B):Promise.resolve()}function Q(F){const K=me.values().next().value;return K&&typeof K.runWithContext=="function"?K.runWithContext(F):F()}function ae(F,K){let B;const[ee,pe,Se]=Dx(F,K);B=Mo(ee.reverse(),"beforeRouteLeave",F,K);for(const S of ee)S.leaveGuards.forEach(D=>{B.push(Gn(D,F,K))});const y=X.bind(null,F,K);return B.push(y),fe(B).then(()=>{B=[];for(const S of i.list())B.push(Gn(S,F,K));return B.push(y),fe(B)}).then(()=>{B=Mo(pe,"beforeRouteUpdate",F,K);for(const S of pe)S.updateGuards.forEach(D=>{B.push(Gn(D,F,K))});return B.push(y),fe(B)}).then(()=>{B=[];for(const S of Se)if(S.beforeEnter)if(dn(S.beforeEnter))for(const D of S.beforeEnter)B.push(Gn(D,F,K));else B.push(Gn(S.beforeEnter,F,K));return B.push(y),fe(B)}).then(()=>(F.matched.forEach(S=>S.enterCallbacks={}),B=Mo(Se,"beforeRouteEnter",F,K,Q),B.push(y),fe(B))).then(()=>{B=[];for(const S of o.list())B.push(Gn(S,F,K));return B.push(y),fe(B)}).catch(S=>In(S,8)?S:Promise.reject(S))}function se(F,K,B){a.list().forEach(ee=>Q(()=>ee(F,K,B)))}function Z(F,K,B,ee,pe){const Se=O(F,K);if(Se)return Se;const y=K===Hn,S=Nr?history.state:{};B&&(ee||y?s.replace(F.fullPath,He({scroll:y&&S&&S.scroll},pe)):s.push(F.fullPath,pe)),c.value=F,A(F,K,B,y),m()}let we;function Ne(){we||(we=s.listen((F,K,B)=>{if(!Ee.listening)return;const ee=I(F),pe=k(ee);if(pe){V(He(pe,{replace:!0}),ee).catch(ys);return}l=ee;const Se=c.value;Nr&&cx(Jl(Se.fullPath,B.delta),fo()),ae(ee,Se).catch(y=>In(y,12)?y:In(y,2)?(V(y.to,ee).then(S=>{In(S,20)&&!B.delta&&B.type===$s.pop&&s.go(-1,!1)}).catch(ys),Promise.reject()):(B.delta&&s.go(-B.delta,!1),Ce(y,ee,Se))).then(y=>{y=y||Z(ee,Se,!1),y&&(B.delta&&!In(y,8)?s.go(-B.delta,!1):B.type===$s.pop&&In(y,20)&&s.go(-1,!1)),se(ee,Se,y)}).catch(ys)}))}let Oe=os(),Te=os(),ve;function Ce(F,K,B){m(F);const ee=Te.list();return ee.length?ee.forEach(pe=>pe(F,K,B)):console.error(F),Promise.reject(F)}function qe(){return ve&&c.value!==Hn?Promise.resolve():new Promise((F,K)=>{Oe.add([F,K])})}function m(F){return ve||(ve=!F,Ne(),Oe.list().forEach(([K,B])=>F?B(F):K()),Oe.reset()),F}function A(F,K,B,ee){const{scrollBehavior:pe}=e;if(!Nr||!pe)return Promise.resolve();const Se=!B&&lx(Jl(F.fullPath,0))||(ee||!B)&&history.state&&history.state.scroll||null;return Yr().then(()=>pe(F,K,Se)).then(y=>y&&ax(y)).catch(y=>Ce(y,F,K))}const oe=F=>s.go(F);let v;const me=new Set,Ee={currentRoute:c,listening:!0,addRoute:d,removeRoute:E,hasRoute:L,getRoutes:P,resolve:I,options:e,push:M,replace:U,go:oe,back:()=>oe(-1),forward:()=>oe(1),beforeEach:i.add,beforeResolve:o.add,afterEach:a.add,onError:Te.add,isReady:qe,install(F){const K=this;F.component("RouterLink",Rx),F.component("RouterView",jx),F.config.globalProperties.$router=K,Object.defineProperty(F.config.globalProperties,"$route",{enumerable:!0,get:()=>Ze(c)}),Nr&&!v&&c.value===Hn&&(v=!0,M(s.location).catch(pe=>{}));const B={};for(const pe in Hn)Object.defineProperty(B,pe,{get:()=>c.value[pe],enumerable:!0});F.provide(ho,K),F.provide(oc,nf(B)),F.provide(ma,c);const ee=F.unmount;me.add(F),F.unmount=function(){me.delete(F),me.size<1&&(l=Hn,we&&we(),we=null,c.value=Hn,v=!1,ve=!1),ee()}}};function fe(F){return F.reduce((K,B)=>K.then(()=>Q(B)),Promise.resolve())}return Ee}function Dx(e,t){const n=[],r=[],s=[],i=Math.max(t.matched.length,e.matched.length);for(let o=0;oVr(l,a))?r.push(a):n.push(a));const c=e.matched[o];c&&(t.matched.find(l=>Vr(l,c))||s.push(c))}return[n,r,s]}function OE(){return Yt(ho)}function Ux(){return Yt(oc)}const Bx={class:"flex w-full justify-center border-t-1 border-gray-200 dark:border-gray-800 dark:bg-dark-400 dark:text-gray-300 shadow-top"},qx={class:"flex w-full justify-around max-w-96"},Hx={class:"mt-auto text-xs"},zx={class:"mt-auto text-xs"},Vx={class:"mt-auto text-xs"},Wx={class:"mt-auto text-xs"},Gx=mn({__name:"AppBarBottom",setup(e){const{t}=Sr(),{liteMode:n}=Eh(),r=Ux(),s=We(()=>r.name==="favorites"?"favorites":r.meta.settings?"settings":"map");return(i,o)=>{const a=Fy,c=to("router-link"),l=Ty,u=Sy,f=yy;return pt(),Sn("nav",Bx,[Ye("div",qx,[Ze(n)?(pt(),wr(c,{key:0,to:{name:"search"},class:xn(["flex flex-col items-center w-1/3 p-2",{"text-red-700 dark:text-red-500":s.value==="map"}]),"aria-label":Ze(t)("search")},{default:Jt(()=>[ze(a,{class:"w-6 h-6 mb-1"}),Ye("span",Hx,on(Ze(t)("search")),1)]),_:1},8,["class","aria-label"])):(pt(),wr(c,{key:1,to:{name:"home"},class:xn(["flex flex-col items-center w-1/3 p-2",{"text-red-700 dark:text-red-500":s.value==="map"}]),"aria-label":Ze(t)("map")},{default:Jt(()=>[ze(l,{class:"w-6 h-6 mb-1"}),Ye("span",zx,on(Ze(t)("map")),1)]),_:1},8,["class","aria-label"])),ze(c,{to:{name:"favorites"},class:xn(["flex flex-col items-center w-1/3 p-2",{"text-red-700 dark:text-red-500":s.value==="favorites"}]),"aria-label":Ze(t)("favorites")},{default:Jt(()=>[ze(u,{class:"w-6 h-6 mb-1"}),Ye("span",Vx,on(Ze(t)("favorites")),1)]),_:1},8,["class","aria-label"]),ze(c,{to:{name:"settings-about"},class:xn(["flex flex-col items-center w-1/3 p-2",{"text-red-700 dark:text-red-500":s.value==="settings"}]),"aria-label":Ze(t)("settings")},{default:Jt(()=>[ze(f,{class:"w-6 h-6 mb-1"}),Ye("span",Wx,on(Ze(t)("settings")),1)]),_:1},8,["class","aria-label"])])])}}});var ac={};(function e(t,n,r,s){var i=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL),o=typeof Path2D=="function"&&typeof DOMMatrix=="function",a=function(){if(!t.OffscreenCanvas)return!1;var m=new OffscreenCanvas(1,1),A=m.getContext("2d");A.fillRect(0,0,1,1);var oe=m.transferToImageBitmap();try{A.createPattern(oe,"no-repeat")}catch{return!1}return!0}();function c(){}function l(m){var A=n.exports.Promise,oe=A!==void 0?A:t.Promise;return typeof oe=="function"?new oe(m):(m(c,c),null)}var u=function(m,A){return{transform:function(oe){if(m)return oe;if(A.has(oe))return A.get(oe);var v=new OffscreenCanvas(oe.width,oe.height),me=v.getContext("2d");return me.drawImage(oe,0,0),A.set(oe,v),v},clear:function(){A.clear()}}}(a,new Map),f=function(){var m=Math.floor(16.666666666666668),A,oe,v={},me=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(A=function(Ee){var fe=Math.random();return v[fe]=requestAnimationFrame(function F(K){me===K||me+m-1t.value!==null&&t.value!==uu),{t:r}=Sr();zs(async()=>{const i=localStorage.getItem("version");i!==null&&(t.value=i,localStorage.removeItem("version"))}),Lt(n,()=>{if(!n.value)return;const i=3*1e3,o=Date.now()+i,a=setInterval(()=>{if(o-Date.now()<=0){clearInterval(a);return}Kx({particleCount:100,spread:70,origin:{y:1.1},startVelocity:90,zIndex:2e3})},250)},{immediate:!0});function s(){t.value=uu}return(i,o)=>{const a=to("i18n-t");return pt(),wr(wh,{show:n.value,onClose:s},{default:Jt(()=>[Ye("div",Yx,[Ye("span",Xx,on(Ze(r)("update_title")),1),Ye("span",null,on(Ze(r)("update_msg")),1),ze(a,{keypath:"feedback",tag:"span"},{email:Jt(()=>[Ye("a",{href:`mailto:${Ze(lu)}`,class:"underline"},on(Ze(lu)),9,Qx)]),instagram:Jt(()=>[Ye("a",Zx,on(Ze(r)("instagram")),1)]),_:1})]),Ye("div",ew,[ze(xh,{onClick:s},{default:Jt(()=>[Ga(on(Ze(r)("nice")),1)]),_:1})])]),_:1},8,["show"])}}}),nw=e=>tg({storageKey:`${Fs}.theme`,...e}),rw={class:"app flex flex-col m-auto w-full h-full bg-white text-black dark:bg-dark-400 dark:text-gray-300"},sw={class:"flex flex-grow min-h-0"},iw=mn({__name:"App",setup(e){nw();const{locale:t}=Sr();return Lt(t,()=>{document.documentElement.setAttribute("lang",t.value)},{immediate:!0}),(n,r)=>{const s=to("router-view"),i=my;return pt(),Sn("div",rw,[Ye("main",sw,[ze(s)]),ze(Gx,{class:"mt-auto flex-shrink-0"}),ze(tw),ze(i)])}}}),ow=(e,t)=>{const n=e.__vccOpts||e;for(const[r,s]of t)n[r]=s;return n},aw=ow(iw,[["__scopeId","data-v-28f57479"]]),cw="modulepreload",lw=function(e){return"/"+e},fu={},tn=function(t,n,r){let s=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const i=document.querySelector("meta[property=csp-nonce]"),o=(i==null?void 0:i.nonce)||(i==null?void 0:i.getAttribute("nonce"));s=Promise.all(n.map(a=>{if(a=lw(a),a in fu)return;fu[a]=!0;const c=a.endsWith(".css"),l=c?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${l}`))return;const u=document.createElement("link");if(u.rel=c?"stylesheet":cw,c||(u.as="script",u.crossOrigin=""),u.href=a,o&&u.setAttribute("nonce",o),document.head.appendChild(u),c)return new Promise((f,h)=>{u.addEventListener("load",f),u.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${a}`)))})}))}return s.then(()=>t()).catch(i=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=i,window.dispatchEvent(o),!o.defaultPrevented)throw i})},uw=(e,t,n)=>{const r=e[t];return r?typeof r=="function"?r():Promise.resolve(r):new Promise((s,i)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(i.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))})};function fw(){return navigator.language.split("-")[0]}const Mh=fw(),Lh=Xb({legacy:!1,locale:Mh}),hw=async e=>{const{default:t}=await uw(Object.assign({"./locales/de.json":()=>tn(()=>import("./de-B-BehOFm.js"),[]),"./locales/en.json":()=>tn(()=>import("./en-Cngb1GR8.js"),[])}),`./locales/${e}.json`,3);return Lh.global.setLocaleMessage(e,t),Yr()};hw(Mh);let Lo=!0;const dw=[{path:"/",name:"home",component:()=>tn(()=>import("./Home-9BF4fQiD.js"),__vite__mapDeps([0,1,2]))},{path:"/map/:markerType/:markerId",name:"map-marker",component:()=>tn(()=>import("./Home-9BF4fQiD.js"),__vite__mapDeps([0,1,2])),props:!0},{path:"/search",name:"search",component:()=>tn(()=>import("./Home-9BF4fQiD.js"),__vite__mapDeps([0,1,2]))},{path:"/favorites",name:"favorites",component:()=>tn(()=>import("./Home-9BF4fQiD.js"),__vite__mapDeps([0,1,2]))},{path:"/settings/about",name:"settings-about",component:()=>tn(()=>import("./About-CL7R6oQV.js"),__vite__mapDeps([3,1,4])),meta:{settings:!0}},{path:"/settings/changelog",name:"settings-changelog",component:()=>tn(()=>import("./Changelog-CpiSnnLL.js"),__vite__mapDeps([5,4])),meta:{settings:!0}},{path:"/settings/settings",name:"settings-settings",component:()=>tn(()=>import("./Settings-ogcWmvv1.js"),__vite__mapDeps([6,4])),meta:{settings:!0}},{path:"/settings/contact",name:"settings-contact",component:()=>tn(()=>import("./Contact-BmppTCHn.js"),__vite__mapDeps([7,1,4])),meta:{settings:!0}},{path:"/contact",name:"contact",redirect:{name:"settings-contact"}},{path:"/:pathMatch(.*)*",name:"not-found",component:()=>tn(()=>import("./NotFound-D2RZ3ij1.js"),[])}],Fh=$x({history:dx(),routes:dw}),{liteMode:mw}=Eh();Fh.beforeEach((e,t,n)=>{if(e.name==="home"&&(Lo||mw.value)){Lo=!1,n({name:"favorites"});return}Lo=!1,n()});const Vt=new Uint8Array(0),kr=new TextEncoder,Ht=new TextDecoder;function pw(...e){let t=0;for(let s=0;s=12;n--)this.buf[n]=du.charCodeAt(t%mu),t=Math.floor(t/mu)}next(){return this.inited||this.init(),this.seq+=this.inc,this.seq>0xcfd41b9100000&&(this.setPre(),this.initSeqAndInc()),this.fillSeq(),String.fromCharCode.apply(String,this.buf)}reset(){this.init()}}const Cr=new xw;var an;(function(e){e.Disconnect="disconnect",e.Reconnect="reconnect",e.Update="update",e.LDM="ldm",e.Error="error"})(an||(an={}));var $r;(function(e){e.Reconnecting="reconnecting",e.PingTimer="pingTimer",e.StaleConnection="staleConnection",e.ClientInitiatedReconnect="client initiated reconnect"})($r||($r={}));var ue;(function(e){e.ApiError="BAD API",e.BadAuthentication="BAD_AUTHENTICATION",e.BadCreds="BAD_CREDS",e.BadHeader="BAD_HEADER",e.BadJson="BAD_JSON",e.BadPayload="BAD_PAYLOAD",e.BadSubject="BAD_SUBJECT",e.Cancelled="CANCELLED",e.ConnectionClosed="CONNECTION_CLOSED",e.ConnectionDraining="CONNECTION_DRAINING",e.ConnectionRefused="CONNECTION_REFUSED",e.ConnectionTimeout="CONNECTION_TIMEOUT",e.Disconnect="DISCONNECT",e.InvalidOption="INVALID_OPTION",e.InvalidPayload="INVALID_PAYLOAD",e.MaxPayloadExceeded="MAX_PAYLOAD_EXCEEDED",e.NoResponders="503",e.NotFunction="NOT_FUNC",e.RequestError="REQUEST_ERROR",e.ServerOptionNotAvailable="SERVER_OPT_NA",e.SubClosed="SUB_CLOSED",e.SubDraining="SUB_DRAINING",e.Timeout="TIMEOUT",e.Tls="TLS",e.Unknown="UNKNOWN_ERROR",e.WssRequired="WSS_REQUIRED",e.JetStreamInvalidAck="JESTREAM_INVALID_ACK",e.JetStream404NoMessages="404",e.JetStream408RequestTimeout="408",e.JetStream409MaxAckPendingExceeded="409",e.JetStream409="409",e.JetStreamNotEnabled="503",e.JetStreamIdleHeartBeat="IDLE_HEARTBEAT",e.AuthorizationViolation="AUTHORIZATION_VIOLATION",e.AuthenticationExpired="AUTHENTICATION_EXPIRED",e.ProtocolError="NATS_PROTOCOL_ERR",e.PermissionsViolation="PERMISSIONS_VIOLATION",e.AuthenticationTimeout="AUTHENTICATION_TIMEOUT"})(ue||(ue={}));function ww(e){return typeof e.code=="string"}class jh{constructor(){g(this,"messages");this.messages=new Map,this.messages.set(ue.InvalidPayload,"Invalid payload type - payloads can be 'binary', 'string', or 'json'"),this.messages.set(ue.BadJson,"Bad JSON"),this.messages.set(ue.WssRequired,"TLS is required, therefore a secure websocket connection is also required")}static getMessage(t){return Ew.getMessage(t)}getMessage(t){return this.messages.get(t)||t}}const Ew=new jh;class ge extends Error{constructor(n,r,s){super(n);g(this,"name");g(this,"message");g(this,"code");g(this,"permissionContext");g(this,"chainedError");g(this,"api_error");this.name="NatsError",this.message=n,this.code=r,this.chainedError=s}static errorForCode(n,r){const s=jh.getMessage(n);return new ge(s,n,r)}isAuthError(){return this.code===ue.AuthenticationExpired||this.code===ue.AuthorizationViolation}isAuthTimeout(){return this.code===ue.AuthenticationTimeout}isPermissionError(){return this.code===ue.PermissionsViolation}isProtocolError(){return this.code===ue.ProtocolError}isJetStreamError(){return this.api_error!==void 0}jsError(){return this.api_error?this.api_error:null}}var Dt;(function(e){e[e.Exact=0]="Exact",e[e.CanonicalMIME=1]="CanonicalMIME",e[e.IgnoreCase=2]="IgnoreCase"})(Dt||(Dt={}));var ln;(function(e){e.Timer="timer",e.Count="count",e.JitterTimer="jitterTimer",e.SentinelMsg="sentinelMsg"})(ln||(ln={}));var Es;(function(e){e.STATS="io.nats.micro.v1.stats_response",e.INFO="io.nats.micro.v1.info_response",e.PING="io.nats.micro.v1.ping_response"})(Es||(Es={}));const ji="Nats-Service-Error",$i="Nats-Service-Error-Code";class Di extends Error{constructor(n,r){super(r);g(this,"code");this.code=n}static isServiceError(n){return Di.toServiceError(n)!==null}static toServiceError(n){var s,i;const r=((s=n==null?void 0:n.headers)==null?void 0:s.get($i))||"";if(r!==""){const o=parseInt(r)||400,a=((i=n==null?void 0:n.headers)==null?void 0:i.get(ji))||"";return new Di(o,a.length?a:r)}return null}}function En(e=""){if(e=e||"_INBOX",typeof e!="string")throw new Error("prefix must be a string");return e.split(".").forEach(t=>{if(t==="*"||t===">")throw new Error(`inbox prefixes cannot have wildcards '${e}'`)}),`${e}.${Cr.next()}`}const pa="127.0.0.1";var Xn;(function(e){e.PING="PING",e.STATS="STATS",e.INFO="INFO"})(Xn||(Xn={}));function mo(e,...t){for(let n=0;n{r={cancel:()=>{s&&clearTimeout(s)}},s=setTimeout(()=>{a(n===null?ge.errorForCode(ue.Timeout):n)},e)});return Object.assign(i,r)}function Qr(e=0){let t;const n=new Promise(r=>{const s=setTimeout(()=>{r()},e);t={cancel:()=>{s&&clearTimeout(s)}}});return Object.assign(n,t)}function Xe(){let e={};const t=new Promise((n,r)=>{e={resolve:n,reject:r}});return Object.assign(t,e)}function $h(e){for(let t=e.length-1;t>0;t--){const n=Math.floor(Math.random()*(t+1));[e[t],e[n]]=[e[n],e[t]]}return e}function vw(e){return e===0?0:Math.floor(e/2+Math.random()*e)}function cc(e=[0,250,250,500,500,3e3,5e3]){Array.isArray(e)||(e=[0,250,250,500,500,3e3,5e3]);const t=e.length-1;return{backoff(n){return vw(n>t?e[t]:e[n])}}}function tt(e){return e*1e6}function lc(e){return Math.floor(e/1e6)}function _u(e){let r=!0;const s=new Array(e.length);for(let i=0;i126)throw new ge(`'${e[i]}' is not a valid character for a header key`,ue.BadHeader);r&&97<=o&&o<=122?o-=32:!r&&65<=o&&o<=90&&(o+=32),s[i]=o,r=o==45}return String.fromCharCode(...s)}function Fn(e=0,t=""){if(e===0&&t!==""||e>0&&t==="")throw new Error("setting status requires both code and description");return new Qn(e,t)}const Fo="NATS/1.0";class Qn{constructor(t=0,n=""){g(this,"_code");g(this,"headers");g(this,"_description");this._code=t,this._description=n,this.headers=new Map}[Symbol.iterator](){return this.headers.entries()}size(){return this.headers.size}equals(t){if(t&&this.headers.size===t.headers.size&&this._code===t._code){for(const[n,r]of this.headers){const s=t.values(n);if(r.length!==s.length)return!1;const i=[...r].sort(),o=[...s].sort();for(let a=0;a0){n._code=parseInt(o,10),isNaN(n._code)&&(n._code=0);const a=n._code.toString();o=o.replace(a,""),n._description=o.trim()}}return s.length>=1&&s.slice(1).map(o=>{if(o){const a=o.indexOf(":");if(a>-1){const c=o.slice(0,a),l=o.slice(a+1).trim();n.append(c,l)}}}),n}toString(){if(this.headers.size===0&&this._code===0)return"";let t=Fo;this._code>0&&this._description!==""&&(t+=` ${this._code} ${this._description}`);for(const[n,r]of this.headers)for(let s=0;ss===t);case Dt.CanonicalMIME:return t=_u(t),r.filter(s=>s===t);default:{const s=t.toLowerCase();return r.filter(i=>s===i.toLowerCase())}}}get(t,n=Dt.Exact){const r=this.findKeys(t,n);if(r.length){const s=this.headers.get(r[0]);if(s)return Array.isArray(s)?s[0]:s}return""}last(t,n=Dt.Exact){const r=this.findKeys(t,n);if(r.length){const s=this.headers.get(r[0]);if(s)return Array.isArray(s)?s[s.length-1]:s}return""}has(t,n=Dt.Exact){return this.findKeys(t,n).length>0}set(t,n,r=Dt.Exact){this.delete(t,r),this.append(t,n,r)}append(t,n,r=Dt.Exact){const s=_u(t);r===Dt.CanonicalMIME&&(t=s);const i=this.findKeys(t,r);t=i.length>0?i[0]:t;const o=Qn.validHeaderValue(n);let a=this.headers.get(t);a||(a=[],this.headers.set(t,a)),a.push(o)}values(t,n=Dt.Exact){const r=[];return this.findKeys(t,n).forEach(i=>{const o=this.headers.get(i);o&&r.push(...o)}),r}delete(t,n=Dt.Exact){this.findKeys(t,n).forEach(s=>{this.headers.delete(s)})}get hasError(){return this._code>=300}get status(){return`${this._code} ${this._description}`.trim()}toRecord(){const t={};return this.keys().forEach(n=>{t[n]=this.values(n)}),t}get code(){return this._code}get description(){return this._description}static fromRecord(t){const n=new Qn;for(const r in t)n.headers.set(r,t[r]);return n}}function ga(){return{encode(e){return kr.encode(e)},decode(e){return Ht.decode(e)}}}function un(e){return{encode(t){try{return t===void 0&&(t=null),kr.encode(JSON.stringify(t))}catch(n){throw ge.errorForCode(ue.BadJson,n)}},decode(t){try{return JSON.parse(Ht.decode(t),e)}catch(n){throw ge.errorForCode(ue.BadJson,n)}}}}function Dh(e){var t;return e&&e.data.length===0&&((t=e.headers)==null?void 0:t.code)===503?ge.errorForCode(ue.NoResponders):null}class uc{constructor(t,n,r){g(this,"_headers");g(this,"_msg");g(this,"_rdata");g(this,"_reply");g(this,"_subject");g(this,"publisher");this._msg=t,this._rdata=n,this.publisher=r}get subject(){return this._subject?this._subject:(this._subject=Ht.decode(this._msg.subject),this._subject)}get reply(){return this._reply?this._reply:(this._reply=Ht.decode(this._msg.reply),this._reply)}get sid(){return this._msg.sid}get headers(){if(this._msg.hdr>-1&&!this._headers){const t=this._rdata.subarray(0,this._msg.hdr);this._headers=Qn.decode(t)}return this._headers}get data(){return this._rdata?this._msg.hdr>-1?this._rdata.subarray(this._msg.hdr):this._rdata:new Uint8Array(0)}respond(t=Vt,n){return this.reply?(this.publisher.publish(this.reply,t,n),!0):!1}size(){var s;const t=this._msg.subject.length,n=((s=this._msg.reply)==null?void 0:s.length)||0,r=this._msg.size===-1?0:this._msg.size;return t+n+r}json(t){return un(t).decode(this.data)}string(){return Ht.decode(this.data)}requestInfo(){var n;const t=(n=this.headers)==null?void 0:n.get("Nats-Request-Info");return t?JSON.parse(t,function(r,s){return(r==="start"||r==="stop")&&s!==""?new Date(Date.parse(s)):s}):null}}g(uc,"jc");function Dr(e){return fc("durable",e)}function It(e){return fc("stream",e)}function fc(e,t=""){if(t==="")throw Error(`${e} name required`);return[".","*",">","/","\\"," "," ",` -`,"\r"].forEach(r=>{if(t.indexOf(r)!==-1){switch(r){case` -`:r="\\n";break;case"\r":r="\\r";break;case" ":r="\\t";break}throw Error(`invalid ${e} name - ${e} name cannot contain '${r}'`)}}),""}function ls(e,t=""){if(t==="")throw Error(`${e} name required`);const n=Sw(t);if(n.length)throw new Error(`invalid ${e} name - ${e} name ${n}`)}function Sw(e=""){if(e==="")throw Error("name required");const t=/^[-\w]+$/g;if(e.match(t)===null){for(const r of e.split(""))if(r.match(t)===null)return`cannot contain '${r}'`}return""}function _a(e){if(e.data.length>0)return!1;const t=e.headers;return t?t.code>=100&&t.code<200:!1}function ba(e){var t;return _a(e)&&((t=e.headers)==null?void 0:t.description)==="Idle Heartbeat"}function kw(e,t,n){const r=Fn(e,t),s={hdr:1,sid:0,size:0},i=new uc(s,Vt,{});return i._headers=r,i._subject=n,i}function Ur(e){if(e.data.length!==0)return null;const t=e.headers;return t?Uh(t.code,t.description):null}var Wt;(function(e){e.MaxBatchExceeded="exceeded maxrequestbatch of",e.MaxExpiresExceeded="exceeded maxrequestexpires of",e.MaxBytesExceeded="exceeded maxrequestmaxbytes of",e.MaxMessageSizeExceeded="message size exceeds maxbytes",e.PushConsumer="consumer is push based",e.MaxWaitingExceeded="exceeded maxwaiting",e.IdleHeartbeatMissed="idle heartbeats missed",e.ConsumerDeleted="consumer deleted"})(Wt||(Wt={}));function Cw(e){return e.code!==ue.JetStream409?!1:[Wt.MaxBatchExceeded,Wt.MaxExpiresExceeded,Wt.MaxBytesExceeded,Wt.MaxMessageSizeExceeded,Wt.PushConsumer,Wt.IdleHeartbeatMissed,Wt.ConsumerDeleted].find(n=>e.message.indexOf(n)!==-1)!==void 0}function Uh(e,t=""){if(e<300)return null;switch(t=t.toLowerCase(),e){case 404:return new ge(t,ue.JetStream404NoMessages);case 408:return new ge(t,ue.JetStream408RequestTimeout);case 409:{const n=t.startsWith(Wt.IdleHeartbeatMissed)?ue.JetStreamIdleHeartBeat:ue.JetStream409;return new ge(t,n)}case 503:return ge.errorForCode(ue.JetStreamNotEnabled,new Error(t));default:return t===""&&(t=ue.Unknown),new ge(t,`${e}`)}}class ht{constructor(){g(this,"inflight");g(this,"processed");g(this,"received");g(this,"noIterator");g(this,"iterClosed");g(this,"done");g(this,"signal");g(this,"yields");g(this,"filtered");g(this,"pendingFiltered");g(this,"ingestionFilterFn");g(this,"protocolFilterFn");g(this,"dispatchedFn");g(this,"ctx");g(this,"_data");g(this,"err");g(this,"time");g(this,"yielding");this.inflight=0,this.filtered=0,this.pendingFiltered=0,this.processed=0,this.received=0,this.noIterator=!1,this.done=!1,this.signal=Xe(),this.yields=[],this.iterClosed=Xe(),this.time=0,this.yielding=!1}[Symbol.asyncIterator](){return this.iterate()}push(t){if(this.done)return;if(typeof t=="function"){this.yields.push(t),this.signal.resolve();return}const{ingest:n,protocol:r}=this.ingestionFilterFn?this.ingestionFilterFn(t,this.ctx||this):{ingest:!0,protocol:!1};n&&(r&&(this.filtered++,this.pendingFiltered++),this.yields.push(t),this.signal.resolve())}async*iterate(){if(this.noIterator)throw new ge("unsupported iterator",ue.ApiError);if(this.yielding)throw new ge("already yielding",ue.ApiError);this.yielding=!0;try{for(;;){if(this.yields.length===0&&await this.signal,this.err)throw this.err;const t=this.yields;this.inflight=t.length,this.yields=[];for(let n=0;n0&&(this.autoCancelTimer=setTimeout(()=>{this.cancel()},this.cancelAfter)),this.timer=setInterval(()=>{if(this.count++,Date.now()-this.last>this.interval&&this.missed++,this.missed>=this.maxOut)try{this.callback(this.missed)===!0&&this.cancel()}catch(t){console.log(t)}},this.interval)}}var ya;(function(e){e.Limits="limits",e.Interest="interest",e.Workqueue="workqueue"})(ya||(ya={}));var Ds;(function(e){e.Old="old",e.New="new"})(Ds||(Ds={}));var xa;(function(e){e.File="file",e.Memory="memory"})(xa||(xa={}));var st;(function(e){e.All="all",e.Last="last",e.New="new",e.StartSequence="by_start_sequence",e.StartTime="by_start_time",e.LastPerSubject="last_per_subject"})(st||(st={}));var ut;(function(e){e.None="none",e.All="all",e.Explicit="explicit",e.NotSet=""})(ut||(ut={}));var Kr;(function(e){e.Instant="instant",e.Original="original"})(Kr||(Kr={}));var tr;(function(e){e.None="none",e.S2="s2"})(tr||(tr={}));var Ui;(function(e){e.CreateOrUpdate="",e.Update="update",e.Create="create"})(Ui||(Ui={}));function Ow(e,t={}){return Object.assign({name:e,deliver_policy:st.All,ack_policy:ut.Explicit,ack_wait:tt(30*1e3),replay_policy:Kr.Instant},t)}var bu;(function(e){e.API="api_audit",e.StreamAction="stream_action",e.ConsumerAction="consumer_action",e.SnapshotCreate="snapshot_create",e.SnapshotComplete="snapshot_complete",e.RestoreCreate="restore_create",e.RestoreComplete="restore_complete",e.MaxDeliver="max_deliver",e.Terminated="terminated",e.Ack="consumer_ack",e.StreamLeaderElected="stream_leader_elected",e.StreamQuorumLost="stream_quorum_lost",e.ConsumerLeaderElected="consumer_leader_elected",e.ConsumerQuorumLost="consumer_quorum_lost"})(bu||(bu={}));var Tt;(function(e){e.StreamSourceHdr="Nats-Stream-Source",e.LastConsumerSeqHdr="Nats-Last-Consumer",e.LastStreamSeqHdr="Nats-Last-Stream",e.ConsumerStalledHdr="Nats-Consumer-Stalled",e.MessageSizeHdr="Nats-Msg-Size",e.RollupHdr="Nats-Rollup",e.RollupValueSubject="sub",e.RollupValueAll="all",e.PendingMessagesHdr="Nats-Pending-Messages",e.PendingBytesHdr="Nats-Pending-Bytes"})(Tt||(Tt={}));var nn;(function(e){e.LastValue="",e.AllHistory="history",e.UpdatesOnly="updates"})(nn||(nn={}));var Rr;(function(e){e.Stream="Nats-Stream",e.Sequence="Nats-Sequence",e.TimeStamp="Nats-Time-Stamp",e.Subject="Nats-Subject"})(Rr||(Rr={}));var yu;(function(e){e.Stream="Nats-Stream",e.Subject="Nats-Subject",e.Sequence="Nats-Sequence",e.LastSequence="Nats-Last-Sequence",e.Size="Nats-Msg-Size"})(yu||(yu={}));const sn="KV_";class Aw{constructor(t){g(this,"config");g(this,"ordered");g(this,"mack");g(this,"stream");g(this,"callbackFn");g(this,"max");g(this,"qname");g(this,"isBind");g(this,"filters");this.stream="",this.mack=!1,this.ordered=!1,this.config=Ow("",t||{})}getOpts(){var n;const t={};if(t.config=Object.assign({},this.config),t.config.filter_subject&&(this.filterSubject(t.config.filter_subject),t.config.filter_subject=void 0),t.config.filter_subjects&&((n=t.config.filter_subjects)==null||n.forEach(r=>{this.filterSubject(r)}),t.config.filter_subjects=void 0),t.mack=this.mack,t.stream=this.stream,t.callbackFn=this.callbackFn,t.max=this.max,t.queue=this.qname,t.ordered=this.ordered,t.config.ack_policy=t.ordered?ut.None:t.config.ack_policy,t.isBind=t.isBind||!1,this.filters)switch(this.filters.length){case 0:break;case 1:t.config.filter_subject=this.filters[0];break;default:t.config.filter_subjects=this.filters}return t}description(t){return this.config.description=t,this}deliverTo(t){return this.config.deliver_subject=t,this}durable(t){return Dr(t),this.config.durable_name=t,this}startSequence(t){if(t<=0)throw new Error("sequence must be greater than 0");return this.config.deliver_policy=st.StartSequence,this.config.opt_start_seq=t,this}startTime(t){return this.config.deliver_policy=st.StartTime,this.config.opt_start_time=t.toISOString(),this}deliverAll(){return this.config.deliver_policy=st.All,this}deliverLastPerSubject(){return this.config.deliver_policy=st.LastPerSubject,this}deliverLast(){return this.config.deliver_policy=st.Last,this}deliverNew(){return this.config.deliver_policy=st.New,this}startAtTimeDelta(t){return this.startTime(new Date(Date.now()-t)),this}headersOnly(){return this.config.headers_only=!0,this}ackNone(){return this.config.ack_policy=ut.None,this}ackAll(){return this.config.ack_policy=ut.All,this}ackExplicit(){return this.config.ack_policy=ut.Explicit,this}ackWait(t){return this.config.ack_wait=tt(t),this}maxDeliver(t){return this.config.max_deliver=t,this}filterSubject(t){return this.filters=this.filters||[],this.filters.push(t),this}replayInstantly(){return this.config.replay_policy=Kr.Instant,this}replayOriginal(){return this.config.replay_policy=Kr.Original,this}sample(t){if(t=Math.trunc(t),t<0||t>100)throw new Error("value must be between 0-100");return this.config.sample_freq=`${t}%`,this}limit(t){return this.config.rate_limit_bps=t,this}maxWaiting(t){return this.config.max_waiting=t,this}maxAckPending(t){return this.config.max_ack_pending=t,this}idleHeartbeat(t){return this.config.idle_heartbeat=tt(t),this}flowControl(){return this.config.flow_control=!0,this}deliverGroup(t){return this.queue(t),this}manualAck(){return this.mack=!0,this}maxMessages(t){return this.max=t,this}callback(t){return this.callbackFn=t,this}queue(t){return this.qname=t,this.config.deliver_group=t,this}orderedConsumer(){return this.ordered=!0,this}bind(t,n){return this.stream=t,this.config.durable_name=n,this.isBind=!0,this}bindStream(t){return this.stream=t,this}inactiveEphemeralThreshold(t){return this.config.inactive_threshold=tt(t),this}maxPullBatch(t){return this.config.max_batch=t,this}maxPullRequestExpires(t){return this.config.max_expires=tt(t),this}memory(){return this.config.mem_storage=!0,this}numReplicas(t){return this.config.num_replicas=t,this}consumerName(t){return this.config.name=t,this}}function Rn(e){return new Aw(e)}function xu(e){return typeof e.getOpts=="function"}class Iw{static encode(t){if(typeof t=="string")return btoa(t);const n=Array.from(t);return btoa(String.fromCharCode(...n))}static decode(t,n=!1){const r=atob(t);return n?Uint8Array.from(r,s=>s.charCodeAt(0)):r}}class vs{static encode(t){return vs.toB64URLEncoding(Iw.encode(t))}static decode(t,n=!1){return vs.decode(vs.fromB64URLEncoding(t),n)}static toB64URLEncoding(t){return t.replace(/\+/g,"-").replace(/\//g,"_")}static fromB64URLEncoding(t){return t.replace(/_/g,"/").replace(/-/g,"+")}}class Jr{constructor(){g(this,"buffers");g(this,"byteLength");this.buffers=[],this.byteLength=0}static concat(...t){let n=0;for(let i=0;i1){const t=new Uint8Array(this.byteLength);let n=0;for(let r=0;rr)&&(t=r);const s=n.subarray(0,t);return r>t&&this.buffers.push(n.subarray(t)),this.byteLength=r-t,s}}return new Uint8Array(0)}fill(t,...n){t&&(this.buffers.push(t),this.byteLength+=t.length);for(let r=0;r>18&63]+e[o>>12&63]+e[o>>6&63]+e[o&63]}function i(o,a,c){const l=new Array((c-a)/3);for(let u=a,f=0;u>16&255,l[h++]=f>>8&255,l[h++]=f&255;return c===2?(f=t[o.charCodeAt(d)]<<2|t[o.charCodeAt(d+1)]>>4,l[h++]=f&255):c===1&&(f=t[o.charCodeAt(d)]<<10|t[o.charCodeAt(d+1)]<<4|t[o.charCodeAt(d+2)]>>2,l[h++]=f>>8&255,l[h++]=f&255),l},fromUint8Array(o){const c=o.length,l=c%3,u=c-l,f=new Array(Math.ceil(u/16383)+(l?1:0));let h=0,d;for(let P=0;Pu?u:d);let E;return l===1?(E=o[u],f[h]=e[E>>2]+e[E<<4&63],n||(f[h]+="==")):l===2&&(E=o[u]<<8|o[u+1]&255,f[h]=e[E>>10]+e[E>>4&63]+e[E<<2&63],n||(f[h]+="=")),f.join("")}}}const Bh=[],qh=[],jo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";for(let e=0,t=jo.length;e`${t}${n<16?"0":""}${n.toString(16)}`,"")}function Fw(e){const t=e.length;if(t%2||!/^[0-9a-fA-F]+$/.test(e))throw new TypeError("Invalid hex string.");e=e.toLowerCase();const n=new Uint8Array(Math.floor(t/2)),r=t/2;for(let s=0;s>>29,this}digest(t){if(this._finalized)throw new Error("digest has already been called.");this._finalized=!0;const n=this._buf;let r=this._bufIdx;for(n[r++]=128;r!==56;)r===64&&(this._transform(),r=0),n[r++]=0;const s=this._count;n[56]=s[1]>>>24&255,n[57]=s[1]>>>16&255,n[58]=s[1]>>>8&255,n[59]=s[1]>>>0&255,n[60]=s[0]>>>24&255,n[61]=s[0]>>>16&255,n[62]=s[0]>>>8&255,n[63]=s[0]>>>0&255,this._transform();const i=new Uint8Array(32);for(let o=0;o<8;o++)i[(o<<2)+0]=this._H[o]>>>24&255,i[(o<<2)+1]=this._H[o]>>>16&255,i[(o<<2)+2]=this._H[o]>>>8&255,i[(o<<2)+3]=this._H[o]>>>0&255;return this.init(),t?jw(i,t):i}_transform(){const t=this._H;let n=t[0],r=t[1],s=t[2],i=t[3],o=t[4],a=t[5],c=t[6],l=t[7];const u=new Uint32Array(16);let f;for(f=0;f<16;f++)u[f]=this._buf[(f<<2)+3]|this._buf[(f<<2)+2]<<8|this._buf[(f<<2)+1]<<16|this._buf[f<<2]<<24;for(f=0;f<64;f++){let h;if(f<16)h=u[f];else{let d=u[f+1&15],E=u[f+14&15];h=u[f&15]=(d>>>7^d>>>18^d>>>3^d<<25^d<<14)+(E>>>17^E>>>19^E>>>10^E<<15^E<<13)+u[f&15]+u[f+9&15]|0}h=h+l+(o>>>6^o>>>11^o>>>25^o<<26^o<<21^o<<7)+(c^o&(a^c))+this._K[f]|0,l=c,c=a,a=o,o=i+h,i=s,s=r,r=n,n=h+(r&s^i&(r^s))+(r>>>2^r>>>13^r>>>22^r<<30^r<<19^r<<10)|0}t[0]=t[0]+n|0,t[1]=t[1]+r|0,t[2]=t[2]+s|0,t[3]=t[3]+i|0,t[4]=t[4]+o|0,t[5]=t[5]+a|0,t[6]=t[6]+c|0,t[7]=t[7]+l|0}}class Hh{constructor(t,n,r=!0){g(this,"token");g(this,"received");g(this,"ctx");g(this,"requestSubject");g(this,"mux");this.mux=t,this.requestSubject=n,this.received=0,this.token=Cr.next(),r&&(this.ctx=new Error)}}class Dw extends Hh{constructor(n,r,s={maxWait:1e3}){super(n,r);g(this,"callback");g(this,"done");g(this,"timer");g(this,"max");g(this,"opts");if(this.opts=s,typeof this.opts.callback!="function")throw new Error("callback is required");this.callback=this.opts.callback,this.max=typeof s.maxMessages=="number"&&s.maxMessages>0?s.maxMessages:-1,this.done=Xe(),this.done.then(()=>{this.callback(null,null)}),this.timer=setTimeout(()=>{this.cancel()},s.maxWait)}cancel(n){n&&this.callback(n,null),clearTimeout(this.timer),this.mux.cancel(this),this.done.resolve()}resolver(n,r){n?(this.ctx&&(n.stack+=` - -${this.ctx.stack}`),this.cancel(n)):(this.callback(null,r),this.opts.strategy===ln.Count&&(this.max--,this.max===0&&this.cancel()),this.opts.strategy===ln.JitterTimer&&(clearTimeout(this.timer),this.timer=setTimeout(()=>{this.cancel()},this.opts.jitter||300)),this.opts.strategy===ln.SentinelMsg&&r&&r.data.length===0&&this.cancel())}}class zh extends Hh{constructor(n,r,s={timeout:1e3},i=!0){super(n,r,i);g(this,"deferred");g(this,"timer");this.deferred=Xe(),this.timer=Gr(s.timeout,i)}resolver(n,r){this.timer&&this.timer.cancel(),n?(this.ctx&&(n.stack+=` - -${this.ctx.stack}`),this.deferred.reject(n)):this.deferred.resolve(r),this.cancel()}cancel(n){this.timer&&this.timer.cancel(),this.mux.cancel(this),this.deferred.reject(n||ge.errorForCode(ue.Cancelled))}}const Uw="$JS.API";function Bw(e){return e=e||{},e.domain&&(e.apiPrefix=`$JS.${e.domain}.API`,delete e.domain),mo({apiPrefix:Uw,timeout:5e3},e)}class Ks{constructor(t,n){g(this,"nc");g(this,"opts");g(this,"prefix");g(this,"timeout");g(this,"jc");this.nc=t,this.opts=Bw(n),this._parseOpts(),this.prefix=this.opts.apiPrefix,this.timeout=this.opts.timeout,this.jc=un()}getOptions(){return Object.assign({},this.opts)}_parseOpts(){let t=this.opts.apiPrefix;if(!t||t.length===0)throw new Error("invalid empty prefix");t[t.length-1]==="."&&(t=t.substr(0,t.length-1)),this.opts.apiPrefix=t}async _request(t,n=null,r){r=r||{},r.timeout=this.timeout;let s=Vt;n&&(s=this.jc.encode(n));let{retries:i}=r;i=i||1,i=i===-1?Number.MAX_SAFE_INTEGER:i;const o=cc();for(let a=0;a=this.pageInfo.total)return[];const t={offset:this.offset};this.payload&&Object.assign(t,this.payload);try{const n=await this.jsm._request(this.subject,t,{timeout:this.jsm.timeout});this.pageInfo=n;const r=this.countResponse(n);return r===0?[]:(this.offset+=r,this.filter(n))}catch(n){throw this.err=n,n}}countResponse(t){var n,r,s;switch(t==null?void 0:t.type){case"io.nats.jetstream.api.v1.stream_names_response":case"io.nats.jetstream.api.v1.stream_list_response":return((n=t.streams)==null?void 0:n.length)||0;case"io.nats.jetstream.api.v1.consumer_list_response":return((r=t.consumers)==null?void 0:r.length)||0;default:return console.error(`jslister.ts: unknown API response for paged output: ${t==null?void 0:t.type}`),((s=t.streams)==null?void 0:s.length)||0}return 0}async*[Symbol.asyncIterator](){let t=await this.next();for(;t.length>0;){for(const n of t)yield n;t=await this.next()}}}function xr(e=""){const t=e.match(/(\d+).(\d+).(\d+)/);if(t)return{major:parseInt(t[1]),minor:parseInt(t[2]),micro:parseInt(t[3])};throw new Error(`'${e}' is not a semver value`)}function wa(e,t){return e.majort.major?1:e.minort.minor?1:e.microt.micro?1:0}var je;(function(e){e.JS_KV="js_kv",e.JS_OBJECTSTORE="js_objectstore",e.JS_PULL_MAX_BYTES="js_pull_max_bytes",e.JS_NEW_CONSUMER_CREATE_API="js_new_consumer_create",e.JS_ALLOW_DIRECT="js_allow_direct",e.JS_MULTIPLE_CONSUMER_FILTER="js_multiple_consumer_filter",e.JS_SIMPLIFICATION="js_simplification",e.JS_STREAM_CONSUMER_METADATA="js_stream_consumer_metadata",e.JS_CONSUMER_FILTER_SUBJECTS="js_consumer_filter_subjects",e.JS_STREAM_FIRST_SEQ="js_stream_first_seq",e.JS_STREAM_SUBJECT_TRANSFORM="js_stream_subject_transform",e.JS_STREAM_SOURCE_SUBJECT_TRANSFORM="js_stream_source_subject_transform",e.JS_STREAM_COMPRESSION="js_stream_compression",e.JS_DEFAULT_CONSUMER_LIMITS="js_default_consumer_limits",e.JS_BATCH_DIRECT_GET="js_batch_direct_get"})(je||(je={}));class qw{constructor(t){g(this,"server");g(this,"features");g(this,"disabled");this.features=new Map,this.disabled=[],this.update(t)}resetDisabled(){this.disabled.length=0,this.update(this.server)}disable(t){this.disabled.push(t),this.update(this.server)}isDisabled(t){return this.disabled.indexOf(t)!==-1}update(t){typeof t=="string"&&(t=xr(t)),this.server=t,this.set(je.JS_KV,"2.6.2"),this.set(je.JS_OBJECTSTORE,"2.6.3"),this.set(je.JS_PULL_MAX_BYTES,"2.8.3"),this.set(je.JS_NEW_CONSUMER_CREATE_API,"2.9.0"),this.set(je.JS_ALLOW_DIRECT,"2.9.0"),this.set(je.JS_MULTIPLE_CONSUMER_FILTER,"2.10.0"),this.set(je.JS_SIMPLIFICATION,"2.9.4"),this.set(je.JS_STREAM_CONSUMER_METADATA,"2.10.0"),this.set(je.JS_CONSUMER_FILTER_SUBJECTS,"2.10.0"),this.set(je.JS_STREAM_FIRST_SEQ,"2.10.0"),this.set(je.JS_STREAM_SUBJECT_TRANSFORM,"2.10.0"),this.set(je.JS_STREAM_SOURCE_SUBJECT_TRANSFORM,"2.10.0"),this.set(je.JS_STREAM_COMPRESSION,"2.10.0"),this.set(je.JS_DEFAULT_CONSUMER_LIMITS,"2.10.0"),this.set(je.JS_BATCH_DIRECT_GET,"2.11.0"),this.disabled.forEach(n=>{this.features.delete(n)})}set(t,n){this.features.set(t,{min:n,ok:wa(this.server,xr(n))>=0})}get(t){return this.features.get(t)||{min:"unknown",ok:!1}}supports(t){var n;return((n=this.get(t))==null?void 0:n.ok)||!1}require(t){return typeof t=="string"&&(t=xr(t)),wa(this.server,t)>=0}}class dc extends Ks{constructor(t,n){super(t,n)}async add(t,n,r=Ui.Create){if(It(t),n.deliver_group&&n.flow_control)throw new Error("jetstream flow control is not supported with queue groups");if(n.deliver_group&&n.idle_heartbeat)throw new Error("jetstream idle heartbeat is not supported with queue groups");const s={};s.config=n,s.stream_name=t,s.action=r,s.config.durable_name&&Dr(s.config.durable_name);const i=this.nc;let{min:o,ok:a}=i.features.get(je.JS_NEW_CONSUMER_CREATE_API);const c=n.name===""?void 0:n.name;if(c&&!a)throw new Error(`consumer 'name' requires server ${o}`);if(c)try{fc("name",c)}catch(h){const d=h.message,E=d.indexOf("cannot contain");throw E!==-1?new Error(`consumer 'name' ${d.substring(E)}`):h}let l,u="";if(Array.isArray(n.filter_subjects)){const{min:h,ok:d}=i.features.get(je.JS_MULTIPLE_CONSUMER_FILTER);if(!d)throw new Error(`consumer 'filter_subjects' requires server ${h}`);a=!1}if(n.metadata){const{min:h,ok:d}=i.features.get(je.JS_STREAM_CONSUMER_METADATA);if(!d)throw new Error(`consumer 'metadata' requires server ${h}`)}if(a&&(u=n.name??n.durable_name??""),u!==""){let h=n.filter_subject??void 0;h===">"&&(h=void 0),l=h!==void 0?`${this.prefix}.CONSUMER.CREATE.${t}.${u}.${h}`:`${this.prefix}.CONSUMER.CREATE.${t}.${u}`}else l=n.durable_name?`${this.prefix}.CONSUMER.DURABLE.CREATE.${t}.${n.durable_name}`:`${this.prefix}.CONSUMER.CREATE.${t}`;return await this._request(l,s)}async update(t,n,r){const s=await this.info(t,n),i=r;return this.add(t,Object.assign(s.config,i),Ui.Update)}async info(t,n){return It(t),Dr(n),await this._request(`${this.prefix}.CONSUMER.INFO.${t}.${n}`)}async delete(t,n){return It(t),Dr(n),(await this._request(`${this.prefix}.CONSUMER.DELETE.${t}.${n}`)).success}list(t){It(t);const n=s=>s.consumers,r=`${this.prefix}.CONSUMER.LIST.${t}`;return new us(r,n,this)}pause(t,n,r){const s=`${this.prefix}.CONSUMER.PAUSE.${t}.${n}`,i={pause_until:r.toISOString()};return this._request(s,i)}resume(t,n){return this.pause(t,n,new Date(0))}}function Pr(e,t,n=!1){if(n===!0&&!e)throw ge.errorForCode(ue.ApiError,new Error(`${t} is not a function`));if(e&&typeof e!="function")throw ge.errorForCode(ue.ApiError,new Error(`${t} is not a function`))}class Hw extends ht{constructor(n,r,s){super();g(this,"sub");g(this,"adapter");g(this,"subIterDone");Pr(s.adapter,"adapter",!0),this.adapter=s.adapter,s.callback&&Pr(s.callback,"callback"),this.noIterator=typeof s.callback=="function",s.ingestionFilterFn&&(Pr(s.ingestionFilterFn,"ingestionFilterFn"),this.ingestionFilterFn=s.ingestionFilterFn),s.protocolFilterFn&&(Pr(s.protocolFilterFn,"protocolFilterFn"),this.protocolFilterFn=s.protocolFilterFn),s.dispatchedFn&&(Pr(s.dispatchedFn,"dispatchedFn"),this.dispatchedFn=s.dispatchedFn),s.cleanupFn&&Pr(s.cleanupFn,"cleanupFn");let i=(u,f)=>{this.callback(u,f)};if(s.callback){const u=s.callback;i=(f,h)=>{const[d,E]=this.adapter(f,h);if(d){u(d,null);return}const{ingest:P}=this.ingestionFilterFn?this.ingestionFilterFn(E,this):{ingest:!0};P&&(!this.protocolFilterFn||this.protocolFilterFn(E))&&(u(d,E),this.dispatchedFn&&E&&this.dispatchedFn(E))}}const{max:o,queue:a,timeout:c}=s,l={queue:a,timeout:c,callback:i};o&&o>0&&(l.max=o),this.sub=n.subscribe(r,l),s.cleanupFn&&(this.sub.cleanupFn=s.cleanupFn),this.noIterator||this.iterClosed.then(()=>{this.unsubscribe()}),this.subIterDone=Xe(),Promise.all([this.sub.closed,this.iterClosed]).then(()=>{this.subIterDone.resolve()}).catch(()=>{this.subIterDone.resolve()}),(async u=>{await u.closed,this.stop()})(this.sub).then().catch()}unsubscribe(n){this.sub.unsubscribe(n)}drain(){return this.sub.drain()}isDraining(){return this.sub.isDraining()}isClosed(){return this.sub.isClosed()}callback(n,r){this.sub.cancelTimeout();const[s,i]=this.adapter(n,r);s&&this.stop(s),i&&this.push(i)}getSubject(){return this.sub.getSubject()}getReceived(){return this.sub.getReceived()}getProcessed(){return this.sub.getProcessed()}getPending(){return this.sub.getPending()}getID(){return this.sub.getID()}getMax(){return this.sub.getMax()}get closed(){return this.sub.closed}}let zt;function zw(e){zt=e}function Vh(){return zt!==void 0&&zt.defaultPort!==void 0?zt.defaultPort:4222}function $o(){return zt!==void 0&&zt.urlParseFn?zt.urlParseFn:void 0}function Vw(){if(!zt||typeof zt.factory!="function")throw new Error("transport fn is not set");return zt.factory()}function Wh(){return zt!==void 0&&zt.dnsResolveFn?zt.dnsResolveFn:void 0}const yi=`\r -`,Bi=Jr.fromAscii(yi),Ww=new Uint8Array(Bi)[0],Gw=new Uint8Array(Bi)[1];function Kw(e){for(let t=0;tn&&e[t]===Ww&&e[n]===Gw)return n+1}return 0}function Jw(e){const t=Kw(e);if(t>0){const r=new Uint8Array(e).slice(0,t);return Ht.decode(r)}return""}const Yw=4,Gh=48,Xw=65,Qw=97;function Zw(e,t,n,r){const s=new Uint8Array(16);return[0,0,0,0,0,0,0,0,0,0,255,255].forEach((o,a)=>{s[a]=o}),s[12]=e,s[13]=t,s[14]=n,s[15]=r,s}function Ea(e){return e1(e)!==void 0}function e1(e){for(let t=0;t0){if(e[0]!==".")return;e=e.substring(1)}const{n:r,c:s,ok:i}=n1(e);if(!i||r>255)return;e=e.substring(s),t[n]=r}return Zw(t[0],t[1],t[2],t[3])}function t1(e){const t=new Uint8Array(16);let n=-1;if(e.length>=2&&e[0]===":"&&e[1]===":"&&(n=0,e=e.substring(2),e.length===0))return t;let r=0;for(;r<16;){const{n:s,c:i,ok:o}=r1(e);if(!o||s>65535)return;if(i16)return;const a=Kh(e);if(a===void 0)return;t[r]=a[12],t[r+1]=a[13],t[r+2]=a[14],t[r+3]=a[15],e="",r+=Yw;break}if(t[r]=s>>8,t[r+1]=s,r+=2,e=e.substring(i),e.length===0)break;if(e[0]!==":"||e.length==1)return;if(e=e.substring(1),e[0]===":"){if(n>=0)return;if(n=r,e=e.substring(1),e.length===0)break}}if(e.length===0){if(r<16){if(n<0)return;const s=16-r;for(let i=r-1;i>=n;i--)t[i+s]=t[i];for(let i=n+s-1;i>=n;i--)t[i]=0}else if(n>=0)return;return t}}function n1(e){let t=0,n=0;for(t=0;t=16777215)return{n:16777215,c:t,ok:!1};return t===0?{n:0,c:0,ok:!1}:{n,c:t,ok:!0}}function r1(e){let t=0,n=0;for(n=0;n=16777215)return{n:0,c:n,ok:!1}}return n===0?{n:0,c:n,ok:!1}:{n:t,c:n,ok:!0}}function s1(e){return e.indexOf(".")!==-1?!0:e.indexOf("[")!==-1||e.indexOf("::")!==-1?!1:e.split(":").length<=2}function va(e){return!s1(e)}function i1(e){const t="::FFFF:",n=e.toUpperCase().indexOf(t);if(n!==-1&&e.indexOf(".")!==-1){let r=e.substring(n+t.length);return r=r.replace("[",""),r.replace("]","")}return e}function o1(e){e=e.trim(),e.match(/^(.*:\/\/)(.*)/m)&&(e=e.replace(/^(.*:\/\/)(.*)/gm,"$2")),e=i1(e),va(e)&&e.indexOf("[")===-1&&(e=`[${e}]`);const t=va(e)?e.match(/(]:)(\d+)/):e.match(/(:)(\d+)/),n=t&&t.length===3&&t[1]&&t[2]?parseInt(t[2]):4222,r=n===80?"https":"http",s=new URL(`${r}://${e}`);s.port=`${n}`;let i=s.hostname;return i.charAt(0)==="["&&(i=i.substring(1,i.length-1)),{listen:s.host,hostname:i,port:n}}class Ss{constructor(t,n=!1){g(this,"src");g(this,"listen");g(this,"hostname");g(this,"port");g(this,"didConnect");g(this,"reconnects");g(this,"lastConnect");g(this,"gossiped");g(this,"tlsName");g(this,"resolves");this.src=t,this.tlsName="";const r=o1(t);this.listen=r.listen,this.hostname=r.hostname,this.port=r.port,this.didConnect=!1,this.reconnects=0,this.lastConnect=0,this.gossiped=n}toString(){return this.listen}async resolve(t){if(!t.fn)return[this];const n=[];if(Ea(this.hostname))return[this];{const r=await t.fn(this.hostname);t.debug&&console.log(`resolve ${this.hostname} = ${r.join(",")}`);for(const s of r){const i=this.port===80?"https":"http",o=new URL(`${i}://${va(s)?"["+s+"]":s}`);o.port=`${this.port}`;const a=new Ss(o.host,!1);a.tlsName=this.hostname,n.push(a)}}return t.randomize&&$h(n),this.resolves=n,n}}class a1{constructor(t=[],n={}){g(this,"firstSelect");g(this,"servers");g(this,"currentServer");g(this,"tlsName");g(this,"randomize");this.firstSelect=!0,this.servers=[],this.tlsName="",this.randomize=n.randomize||!1;const r=$o();t&&(t.forEach(s=>{s=r?r(s):s,this.servers.push(new Ss(s))}),this.randomize&&(this.servers=$h(this.servers))),this.servers.length===0&&this.addServer(`${pa}:${Vh()}`,!1),this.currentServer=this.servers[0]}clear(){this.servers.length=0}updateTLSName(){const t=this.getCurrentServer();Ea(t.hostname)||(this.tlsName=t.hostname,this.servers.forEach(n=>{n.gossiped&&(n.tlsName=this.tlsName)}))}getCurrentServer(){return this.currentServer}addServer(t,n=!1){const r=$o();t=r?r(t):t;const s=new Ss(t,n);Ea(s.hostname)&&(s.tlsName=this.tlsName),this.servers.push(s)}selectServer(){if(this.firstSelect)return this.firstSelect=!1,this.currentServer;const t=this.servers.shift();return t&&(this.servers.push(t),this.currentServer=t),t}removeCurrentServer(){this.removeServer(this.currentServer)}removeServer(t){if(t){const n=this.servers.indexOf(t);this.servers.splice(n,1)}}length(){return this.servers.length}next(){return this.servers.length?this.servers[0]:void 0}getServers(){return this.servers}update(t,n){const r=[];let s=[];const i=$o(),o=new Map;t.connect_urls&&t.connect_urls.length>0&&t.connect_urls.forEach(c=>{c=i?i(c,n):c;const l=new Ss(c,!0);o.set(c,l)});const a=[];return this.servers.forEach((c,l)=>{const u=c.listen;c.gossiped&&this.currentServer.listen!==u&&o.get(u)===void 0&&a.push(l),o.delete(u)}),a.reverse(),a.forEach(c=>{const l=this.servers.splice(c,1);s=s.concat(l[0].listen)}),o.forEach((c,l)=>{this.servers.push(c),r.push(l)}),{added:r,deleted:s}}}class c1{constructor(){g(this,"baseInbox");g(this,"reqs");this.reqs=new Map}size(){return this.reqs.size}init(t){return this.baseInbox=`${En(t)}.`,this.baseInbox}add(t){isNaN(t.received)||(t.received=0),this.reqs.set(t.token,t)}get(t){return this.reqs.get(t)}cancel(t){this.reqs.delete(t.token)}getToken(t){const n=t.subject||"";return n.indexOf(this.baseInbox)===0?n.substring(this.baseInbox.length):null}all(){return Array.from(this.reqs.values())}handleError(t,n){if(n&&n.permissionContext){if(t)return this.all().forEach(s=>{s.resolver(n,{})}),!0;const r=n.permissionContext;if(r.operation==="publish"){const s=this.all().find(i=>i.requestSubject===r.subject);if(s)return s.resolver(n,{}),!0}}return!1}dispatcher(){return(t,n)=>{const r=this.getToken(n);if(r){const s=this.get(r);s&&(t===null&&n.headers&&(t=Dh(n)),s.resolver(t,n))}}}close(){const t=ge.errorForCode(ue.Timeout);this.reqs.forEach(n=>{n.resolver(t,{})})}}class l1{constructor(t,n,r){g(this,"ph");g(this,"interval");g(this,"maxOut");g(this,"timer");g(this,"pendings");this.ph=t,this.interval=n,this.maxOut=r,this.pendings=[]}start(){this.cancel(),this._schedule()}cancel(t){this.timer&&(clearTimeout(this.timer),this.timer=void 0),this._reset(),t&&this.ph.disconnect()}_schedule(){this.timer=setTimeout(()=>{if(this.ph.dispatchStatus({type:$r.PingTimer,data:`${this.pendings.length+1}`}),this.pendings.length===this.maxOut){this.cancel(!0);return}const t=Xe();this.ph.flush(t).then(()=>{this._reset()}).catch(()=>{this.cancel()}),this.pendings.push(t),this._schedule()},this.interval)}_reset(){this.pendings=this.pendings.filter(t=>(t.resolve(),!1))}}class u1 extends Error{constructor(t){super(t),this.name="AssertionError"}}function f1(e,t="Assertion failed."){if(!e)throw new u1(t)}const vu=32*1024,Do=2**32-2;function li(e,t,n=0){const r=t.byteLength-n;return e.byteLength>r&&(e=e.subarray(0,r)),t.set(e,n),e.byteLength}class Uo{constructor(t){g(this,"_buf");g(this,"_off");if(this._off=0,t==null){this._buf=new Uint8Array(0);return}this._buf=new Uint8Array(t)}bytes(t={copy:!0}){return t.copy===!1?this._buf.subarray(this._off):this._buf.slice(this._off)}empty(){return this._buf.byteLength<=this._off}get length(){return this._buf.byteLength-this._off}get capacity(){return this._buf.buffer.byteLength}truncate(t){if(t===0){this.reset();return}if(t<0||t>this.length)throw Error("bytes.Buffer: truncation out of range");this._reslice(this._off+t)}reset(){this._reslice(0),this._off=0}_tryGrowByReslice(t){const n=this._buf.byteLength;return t<=this.capacity-n?(this._reslice(n+t),n):-1}_reslice(t){f1(t<=this._buf.buffer.byteLength),this._buf=new Uint8Array(this._buf.buffer,0,t)}readByte(){const t=new Uint8Array(1);return this.read(t)?t[0]:null}read(t){if(this.empty())return this.reset(),t.byteLength===0?0:null;const n=li(this._buf.subarray(this._off),t);return this._off+=n,n}writeByte(t){return this.write(Uint8Array.of(t))}writeString(t){return this.write(kr.encode(t))}write(t){const n=this._grow(t.byteLength);return li(t,this._buf,n)}_grow(t){const n=this.length;n===0&&this._off!==0&&this.reset();const r=this._tryGrowByReslice(t);if(r>=0)return r;const s=this.capacity;if(t<=Math.floor(s/2)-n)li(this._buf.subarray(this._off),this._buf);else{if(s+t>Do)throw new Error("The buffer cannot be grown beyond the maximum size.");{const i=new Uint8Array(Math.min(2*s+t,Do));li(this._buf.subarray(this._off),i),this._buf=i}}return this._off=0,this._reslice(Math.min(n+t,Do)),n}grow(t){if(t<0)throw Error("Buffer._grow: negative count");const n=this._grow(t);this._reslice(n)}readFrom(t){let n=0;const r=new Uint8Array(vu);for(;;){const s=this.capacity-this.length=this.ma.size){const s=this.msgBuf.bytes({copy:!1});this.dispatcher.push({kind:Pt.MSG,msg:this.ma,data:s}),this.argBuf=void 0,this.msgBuf=void 0,this.state=he.MSG_END}else{let s=this.ma.size-this.msgBuf.length;const i=t.length-n;i0?(this.msgBuf.write(t.subarray(n,n+s)),n=n+s-1):this.msgBuf.writeByte(r)}else n-this.as>=this.ma.size&&(this.dispatcher.push({kind:Pt.MSG,msg:this.ma,data:t.subarray(this.as,n)}),this.argBuf=void 0,this.msgBuf=void 0,this.state=he.MSG_END);break;case he.MSG_END:switch(r){case de.NL:this.drop=0,this.as=n+1,this.state=he.OP_START;break;default:continue}break;case he.OP_PLUS:switch(r){case de.O:case de.o:this.state=he.OP_PLUS_O;break;default:throw this.fail(t.subarray(n))}break;case he.OP_PLUS_O:switch(r){case de.K:case de.k:this.state=he.OP_PLUS_OK;break;default:throw this.fail(t.subarray(n))}break;case he.OP_PLUS_OK:switch(r){case de.NL:this.dispatcher.push({kind:Pt.OK}),this.drop=0,this.state=he.OP_START;break}break;case he.OP_MINUS:switch(r){case de.E:case de.e:this.state=he.OP_MINUS_E;break;default:throw this.fail(t.subarray(n))}break;case he.OP_MINUS_E:switch(r){case de.R:case de.r:this.state=he.OP_MINUS_ER;break;default:throw this.fail(t.subarray(n))}break;case he.OP_MINUS_ER:switch(r){case de.R:case de.r:this.state=he.OP_MINUS_ERR;break;default:throw this.fail(t.subarray(n))}break;case he.OP_MINUS_ERR:switch(r){case de.SPACE:case de.TAB:this.state=he.OP_MINUS_ERR_SPC;break;default:throw this.fail(t.subarray(n))}break;case he.OP_MINUS_ERR_SPC:switch(r){case de.SPACE:case de.TAB:continue;default:this.state=he.MINUS_ERR_ARG,this.as=n}break;case he.MINUS_ERR_ARG:switch(r){case de.CR:this.drop=1;break;case de.NL:{let s;this.argBuf?(s=this.argBuf.bytes(),this.argBuf=void 0):s=t.subarray(this.as,n-this.drop),this.dispatcher.push({kind:Pt.ERR,data:s}),this.drop=0,this.as=n+1,this.state=he.OP_START;break}default:this.argBuf&&this.argBuf.write(Uint8Array.of(r))}break;case he.OP_P:switch(r){case de.I:case de.i:this.state=he.OP_PI;break;case de.O:case de.o:this.state=he.OP_PO;break;default:throw this.fail(t.subarray(n))}break;case he.OP_PO:switch(r){case de.N:case de.n:this.state=he.OP_PON;break;default:throw this.fail(t.subarray(n))}break;case he.OP_PON:switch(r){case de.G:case de.g:this.state=he.OP_PONG;break;default:throw this.fail(t.subarray(n))}break;case he.OP_PONG:switch(r){case de.NL:this.dispatcher.push({kind:Pt.PONG}),this.drop=0,this.state=he.OP_START;break}break;case he.OP_PI:switch(r){case de.N:case de.n:this.state=he.OP_PIN;break;default:throw this.fail(t.subarray(n))}break;case he.OP_PIN:switch(r){case de.G:case de.g:this.state=he.OP_PING;break;default:throw this.fail(t.subarray(n))}break;case he.OP_PING:switch(r){case de.NL:this.dispatcher.push({kind:Pt.PING}),this.drop=0,this.state=he.OP_START;break}break;case he.OP_I:switch(r){case de.N:case de.n:this.state=he.OP_IN;break;default:throw this.fail(t.subarray(n))}break;case he.OP_IN:switch(r){case de.F:case de.f:this.state=he.OP_INF;break;default:throw this.fail(t.subarray(n))}break;case he.OP_INF:switch(r){case de.O:case de.o:this.state=he.OP_INFO;break;default:throw this.fail(t.subarray(n))}break;case he.OP_INFO:switch(r){case de.SPACE:case de.TAB:this.state=he.OP_INFO_SPC;break;default:throw this.fail(t.subarray(n))}break;case he.OP_INFO_SPC:switch(r){case de.SPACE:case de.TAB:continue;default:this.state=he.INFO_ARG,this.as=n}break;case he.INFO_ARG:switch(r){case de.CR:this.drop=1;break;case de.NL:{let s;this.argBuf?(s=this.argBuf.bytes(),this.argBuf=void 0):s=t.subarray(this.as,n-this.drop),this.dispatcher.push({kind:Pt.INFO,data:s}),this.drop=0,this.as=n+1,this.state=he.OP_START;break}default:this.argBuf&&this.argBuf.writeByte(r)}break;default:throw this.fail(t.subarray(n))}}(this.state===he.MSG_ARG||this.state===he.MINUS_ERR_ARG||this.state===he.INFO_ARG)&&!this.argBuf&&(this.argBuf=new Uo(t.subarray(this.as,n-this.drop))),this.state===he.MSG_PAYLOAD&&!this.msgBuf&&(this.argBuf||this.cloneMsgArg(),this.msgBuf=new Uo(t.subarray(this.as)))}cloneMsgArg(){const t=this.ma.subject.length,n=this.ma.reply?this.ma.reply.length:0,r=new Uint8Array(t+n);r.set(this.ma.subject),this.ma.reply&&r.set(this.ma.reply,t),this.argBuf=new Uo(r),this.ma.subject=r.subarray(0,t),this.ma.reply&&(this.ma.reply=r.subarray(t))}processMsgArgs(t){if(this.hdr>=0)return this.processHeaderMsgArgs(t);const n=[];let r=-1;for(let s=0;s=0&&(n.push(t.subarray(r,s)),r=-1);break;default:r<0&&(r=s)}switch(r>=0&&n.push(t.subarray(r)),n.length){case 3:this.ma.subject=n[0],this.ma.sid=this.protoParseInt(n[1]),this.ma.reply=void 0,this.ma.size=this.protoParseInt(n[2]);break;case 4:this.ma.subject=n[0],this.ma.sid=this.protoParseInt(n[1]),this.ma.reply=n[2],this.ma.size=this.protoParseInt(n[3]);break;default:throw this.fail(t,"processMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail(t,"processMsgArgs Bad or Missing Sid Error");if(this.ma.size<0)throw this.fail(t,"processMsgArgs Bad or Missing Size Error")}fail(t,n=""){return n?n=`${n} [${this.state}]`:n=`parse error [${this.state}]`,new Error(`${n}: ${Ht.decode(t)}`)}processHeaderMsgArgs(t){const n=[];let r=-1;for(let s=0;s=0&&(n.push(t.subarray(r,s)),r=-1);break;default:r<0&&(r=s)}switch(r>=0&&n.push(t.subarray(r)),n.length){case 4:this.ma.subject=n[0],this.ma.sid=this.protoParseInt(n[1]),this.ma.reply=void 0,this.ma.hdr=this.protoParseInt(n[2]),this.ma.size=this.protoParseInt(n[3]);break;case 5:this.ma.subject=n[0],this.ma.sid=this.protoParseInt(n[1]),this.ma.reply=n[2],this.ma.hdr=this.protoParseInt(n[3]),this.ma.size=this.protoParseInt(n[4]);break;default:throw this.fail(t,"processHeaderMsgArgs Parse Error")}if(this.ma.sid<0)throw this.fail(t,"processHeaderMsgArgs Bad or Missing Sid Error");if(this.ma.hdr<0||this.ma.hdr>this.ma.size)throw this.fail(t,"processHeaderMsgArgs Bad or Missing Header Size Error");if(this.ma.size<0)throw this.fail(t,"processHeaderMsgArgs Bad or Missing Size Error")}protoParseInt(t){if(t.length===0)return-1;let n=0;for(let r=0;r57)return-1;n=n*10+(t[r]-h1)}return n}}var he;(function(e){e[e.OP_START=0]="OP_START",e[e.OP_PLUS=1]="OP_PLUS",e[e.OP_PLUS_O=2]="OP_PLUS_O",e[e.OP_PLUS_OK=3]="OP_PLUS_OK",e[e.OP_MINUS=4]="OP_MINUS",e[e.OP_MINUS_E=5]="OP_MINUS_E",e[e.OP_MINUS_ER=6]="OP_MINUS_ER",e[e.OP_MINUS_ERR=7]="OP_MINUS_ERR",e[e.OP_MINUS_ERR_SPC=8]="OP_MINUS_ERR_SPC",e[e.MINUS_ERR_ARG=9]="MINUS_ERR_ARG",e[e.OP_M=10]="OP_M",e[e.OP_MS=11]="OP_MS",e[e.OP_MSG=12]="OP_MSG",e[e.OP_MSG_SPC=13]="OP_MSG_SPC",e[e.MSG_ARG=14]="MSG_ARG",e[e.MSG_PAYLOAD=15]="MSG_PAYLOAD",e[e.MSG_END=16]="MSG_END",e[e.OP_H=17]="OP_H",e[e.OP_P=18]="OP_P",e[e.OP_PI=19]="OP_PI",e[e.OP_PIN=20]="OP_PIN",e[e.OP_PING=21]="OP_PING",e[e.OP_PO=22]="OP_PO",e[e.OP_PON=23]="OP_PON",e[e.OP_PONG=24]="OP_PONG",e[e.OP_I=25]="OP_I",e[e.OP_IN=26]="OP_IN",e[e.OP_INF=27]="OP_INF",e[e.OP_INFO=28]="OP_INFO",e[e.OP_INFO_SPC=29]="OP_INFO_SPC",e[e.INFO_ARG=30]="INFO_ARG"})(he||(he={}));var de;(function(e){e[e.CR=13]="CR",e[e.E=69]="E",e[e.e=101]="e",e[e.F=70]="F",e[e.f=102]="f",e[e.G=71]="G",e[e.g=103]="g",e[e.H=72]="H",e[e.h=104]="h",e[e.I=73]="I",e[e.i=105]="i",e[e.K=75]="K",e[e.k=107]="k",e[e.M=77]="M",e[e.m=109]="m",e[e.MINUS=45]="MINUS",e[e.N=78]="N",e[e.n=110]="n",e[e.NL=10]="NL",e[e.O=79]="O",e[e.o=111]="o",e[e.P=80]="P",e[e.p=112]="p",e[e.PLUS=43]="PLUS",e[e.R=82]="R",e[e.r=114]="r",e[e.S=83]="S",e[e.s=115]="s",e[e.SPACE=32]="SPACE",e[e.TAB=9]="TAB"})(de||(de={}));(function(e){var t=function(p,w){this.hi=p|0,this.lo=w|0},n=function(p){var w,b=new Float64Array(16);if(p)for(w=0;w>>32-w}function P(p,w){var b=p[w+3]&255;return b=b<<8|p[w+2]&255,b=b<<8|p[w+1]&255,b<<8|p[w+0]&255}function L(p,w){var b=p[w]<<24|p[w+1]<<16|p[w+2]<<8|p[w+3],C=p[w+4]<<24|p[w+5]<<16|p[w+6]<<8|p[w+7];return new t(b,C)}function I(p,w,b){var C;for(C=0;C<4;C++)p[w+C]=b&255,b>>>=8}function N(p,w,b){p[w]=b.hi>>24&255,p[w+1]=b.hi>>16&255,p[w+2]=b.hi>>8&255,p[w+3]=b.hi&255,p[w+4]=b.lo>>24&255,p[w+5]=b.lo>>16&255,p[w+6]=b.lo>>8&255,p[w+7]=b.lo&255}function O(p,w,b,C,R){var $,Y=0;for($=0;$>>8)-1}function M(p,w,b,C){return O(p,w,b,C,16)}function U(p,w,b,C){return O(p,w,b,C,32)}function k(p,w,b,C,R){var $=new Uint32Array(16),Y=new Uint32Array(16),re=new Uint32Array(16),H=new Uint32Array(4),J,be,Le;for(J=0;J<4;J++)Y[5*J]=P(C,4*J),Y[1+J]=P(b,4*J),Y[6+J]=P(w,4*J),Y[11+J]=P(b,16+4*J);for(J=0;J<16;J++)re[J]=Y[J];for(J=0;J<20;J++){for(be=0;be<4;be++){for(Le=0;Le<4;Le++)H[Le]=Y[(5*be+4*Le)%16];for(H[1]^=E(H[0]+H[3]|0,7),H[2]^=E(H[1]+H[0]|0,9),H[3]^=E(H[2]+H[1]|0,13),H[0]^=E(H[3]+H[2]|0,18),Le=0;Le<4;Le++)$[4*be+(be+Le)%4]=H[Le]}for(Le=0;Le<16;Le++)Y[Le]=$[Le]}if(R){for(J=0;J<16;J++)Y[J]=Y[J]+re[J]|0;for(J=0;J<4;J++)Y[5*J]=Y[5*J]-P(C,4*J)|0,Y[6+J]=Y[6+J]-P(w,4*J)|0;for(J=0;J<4;J++)I(p,4*J,Y[5*J]),I(p,16+4*J,Y[6+J])}else for(J=0;J<16;J++)I(p,4*J,Y[J]+re[J]|0)}function V(p,w,b,C){return k(p,w,b,C,!1),0}function X(p,w,b,C){return k(p,w,b,C,!0),0}var Q=new Uint8Array([101,120,112,97,110,100,32,51,50,45,98,121,116,101,32,107]);function ae(p,w,b,C,R,$,Y){var re=new Uint8Array(16),H=new Uint8Array(64),J,be;if(!R)return 0;for(be=0;be<16;be++)re[be]=0;for(be=0;be<8;be++)re[be]=$[be];for(;R>=64;){for(V(H,re,Y,Q),be=0;be<64;be++)p[w+be]=(b?b[C+be]:0)^H[be];for(J=1,be=8;be<16;be++)J=J+(re[be]&255)|0,re[be]=J&255,J>>>=8;R-=64,w+=64,b&&(C+=64)}if(R>0)for(V(H,re,Y,Q),be=0;be>>=8}var Oe=new Uint32Array([5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252]);function Te(p,w,b,C,R,$){var Y,re,H,J,be=new Uint32Array(17),Le=new Uint32Array(17),Qe=new Uint32Array(17),Zt=new Uint32Array(17),Ir=new Uint32Array(17);for(H=0;H<17;H++)Le[H]=Qe[H]=0;for(H=0;H<16;H++)Le[H]=$[H];for(Le[3]&=15,Le[4]&=252,Le[7]&=15,Le[8]&=252,Le[11]&=15,Le[12]&=252,Le[15]&=15;R>0;){for(H=0;H<17;H++)Zt[H]=0;for(H=0;H<16&&H>>=8;for(J=J+Qe[16]|0,Qe[16]=J&3,J=5*(J>>>2)|0,H=0;H<16;H++)J=J+Qe[H]|0,Qe[H]=J&255,J>>>=8;J=J+Qe[16]|0,Qe[16]=J}for(H=0;H<17;H++)Ir[H]=Qe[H];for(Ne(Qe,Oe),Y=-(Qe[16]>>>7)|0,H=0;H<17;H++)Qe[H]^=Y&(Ir[H]^Qe[H]);for(H=0;H<16;H++)Zt[H]=$[H+16];for(Zt[16]=0,Ne(Qe,Zt),H=0;H<16;H++)p[w+H]=Qe[H];return 0}function ve(p,w,b,C,R,$){var Y=new Uint8Array(16);return Te(Y,0,b,C,R,$),M(p,w,Y,0)}function Ce(p,w,b,C,R){var $;if(b<32)return-1;for(we(p,0,w,0,b,C,R),Te(p,16,p,32,b-32,p),$=0;$<16;$++)p[$]=0;return 0}function qe(p,w,b,C,R){var $,Y=new Uint8Array(32);if(b<32||(Z(Y,0,32,C,R),ve(w,16,w,32,b-32,Y)!==0))return-1;for(we(p,0,w,0,b,C,R),$=0;$<32;$++)p[$]=0;return 0}function m(p,w){var b;for(b=0;b<16;b++)p[b]=w[b]|0}function A(p){var w,b;for(b=0;b<16;b++)p[b]+=65536,w=Math.floor(p[b]/65536),p[(b+1)*(b<15?1:0)]+=w-1+37*(w-1)*(b===15?1:0),p[b]-=w*65536}function oe(p,w,b){for(var C,R=~(b-1),$=0;$<16;$++)C=R&(p[$]^w[$]),p[$]^=C,w[$]^=C}function v(p,w){var b,C,R,$=n(),Y=n();for(b=0;b<16;b++)Y[b]=w[b];for(A(Y),A(Y),A(Y),C=0;C<2;C++){for($[0]=Y[0]-65517,b=1;b<15;b++)$[b]=Y[b]-65535-($[b-1]>>16&1),$[b-1]&=65535;$[15]=Y[15]-32767-($[14]>>16&1),R=$[15]>>16&1,$[14]&=65535,oe(Y,$,1-R)}for(b=0;b<16;b++)p[2*b]=Y[b]&255,p[2*b+1]=Y[b]>>8}function me(p,w){var b=new Uint8Array(32),C=new Uint8Array(32);return v(b,p),v(C,w),U(b,0,C,0)}function Ee(p){var w=new Uint8Array(32);return v(w,p),w[0]&1}function fe(p,w){var b;for(b=0;b<16;b++)p[b]=w[2*b]+(w[2*b+1]<<8);p[15]&=32767}function F(p,w,b){var C;for(C=0;C<16;C++)p[C]=w[C]+b[C]|0}function K(p,w,b){var C;for(C=0;C<16;C++)p[C]=w[C]-b[C]|0}function B(p,w,b){var C,R,$=new Float64Array(31);for(C=0;C<31;C++)$[C]=0;for(C=0;C<16;C++)for(R=0;R<16;R++)$[C+R]+=w[C]*b[R];for(C=0;C<15;C++)$[C]+=38*$[C+16];for(C=0;C<16;C++)p[C]=$[C];A(p),A(p)}function ee(p,w){B(p,w,w)}function pe(p,w){var b=n(),C;for(C=0;C<16;C++)b[C]=w[C];for(C=253;C>=0;C--)ee(b,b),C!==2&&C!==4&&B(b,b,w);for(C=0;C<16;C++)p[C]=b[C]}function Se(p,w){var b=n(),C;for(C=0;C<16;C++)b[C]=w[C];for(C=250;C>=0;C--)ee(b,b),C!==1&&B(b,b,w);for(C=0;C<16;C++)p[C]=b[C]}function y(p,w,b){var C=new Uint8Array(32),R=new Float64Array(80),$,Y,re=n(),H=n(),J=n(),be=n(),Le=n(),Qe=n();for(Y=0;Y<31;Y++)C[Y]=w[Y];for(C[31]=w[31]&127|64,C[0]&=248,fe(R,b),Y=0;Y<16;Y++)H[Y]=R[Y],be[Y]=re[Y]=J[Y]=0;for(re[0]=be[0]=1,Y=254;Y>=0;--Y)$=C[Y>>>3]>>>(Y&7)&1,oe(re,H,$),oe(J,be,$),F(Le,re,J),K(re,re,J),F(J,H,be),K(H,H,be),ee(be,Le),ee(Qe,re),B(re,J,re),B(J,H,Le),F(Le,re,J),K(re,re,J),ee(H,re),K(J,be,Qe),B(re,J,c),F(re,re,be),B(J,J,re),B(re,be,Qe),B(be,H,R),ee(H,Le),oe(re,H,$),oe(J,be,$);for(Y=0;Y<16;Y++)R[Y+16]=re[Y],R[Y+32]=J[Y],R[Y+48]=H[Y],R[Y+64]=be[Y];var Zt=R.subarray(32),Ir=R.subarray(16);return pe(Zt,Zt),B(Ir,Ir,Zt),v(p,Ir),0}function S(p,w){return y(p,w,i)}function D(p,w){return r(w,32),S(p,w)}function W(p,w,b){var C=new Uint8Array(32);return y(C,b,w),X(p,s,C,Q)}var z=Ce,ne=qe;function ce(p,w,b,C,R,$){var Y=new Uint8Array(32);return W(Y,R,$),z(p,w,b,C,Y)}function _(p,w,b,C,R,$){var Y=new Uint8Array(32);return W(Y,R,$),ne(p,w,b,C,Y)}function x(){var p=0,w=0,b=0,C=0,R=65535,$,Y,re;for(re=0;re>>16,b+=Y&R,C+=Y>>>16;return w+=p>>>16,b+=w>>>16,C+=b>>>16,new t(b&R|C<<16,p&R|w<<16)}function T(p,w){return new t(p.hi>>>w,p.lo>>>w|p.hi<<32-w)}function G(){var p=0,w=0,b;for(b=0;b>>w|p.lo<>>w|p.hi<>>w|p.hi<>>w|p.lo<=128;){for(H=0;H<16;H++)Y[H]=L(w,8*H+be);for(H=0;H<80;H++){for(J=0;J<8;J++)R[J]=$[J];for(re=x($[7],_e($[4]),te($[4],$[5],$[6]),Je[H],Y[H%16]),R[7]=x(re,q($[0]),j($[0],$[1],$[2])),R[3]=x(R[3],re),J=0;J<8;J++)$[(J+1)%8]=R[J];if(H%16===15)for(J=0;J<16;J++)Y[J]=x(Y[J],Y[(J+9)%16],ke(Y[(J+1)%16]),Me(Y[(J+14)%16]))}for(H=0;H<8;H++)$[H]=x($[H],C[H]),C[H]=$[H];be+=128,b-=128}for(H=0;H<8;H++)N(p,8*H,C[H]);return b}var Qt=new Uint8Array([106,9,230,103,243,188,201,8,187,103,174,133,132,202,167,59,60,110,243,114,254,148,248,43,165,79,245,58,95,29,54,241,81,14,82,127,173,230,130,209,155,5,104,140,43,62,108,31,31,131,217,171,251,65,189,107,91,224,205,25,19,126,33,121]);function _t(p,w,b){var C=new Uint8Array(64),R=new Uint8Array(256),$,Y=b;for($=0;$<64;$++)C[$]=Qt[$];for(rt(C,w,b),b%=128,$=0;$<256;$++)R[$]=0;for($=0;$=0;--R)C=b[R/8|0]>>(R&7)&1,ct(p,w,C),kn(w,p),kn(p,p),ct(p,w,C)}function Or(p,w){var b=[n(),n(),n(),n()];m(b[0],f),m(b[1],h),m(b[2],a),B(b[3],f,h),$n(p,b,w)}function Zr(p,w,b){var C=new Uint8Array(64),R=[n(),n(),n(),n()],$;for(b||r(w,32),_t(C,w,32),C[0]&=248,C[31]&=127,C[31]|=64,Or(R,C),bt(p,R),$=0;$<32;$++)w[$+32]=p[$];return 0}var ar=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function es(p,w){var b,C,R,$;for(C=63;C>=32;--C){for(b=0,R=C-32,$=C-12;R<$;++R)w[R]+=b-16*w[C]*ar[R-(C-32)],b=Math.floor((w[R]+128)/256),w[R]-=b*256;w[R]+=b,w[C]=0}for(b=0,R=0;R<32;R++)w[R]+=b-(w[31]>>4)*ar[R],b=w[R]>>8,w[R]&=255;for(R=0;R<32;R++)w[R]-=b*ar[R];for(C=0;C<32;C++)w[C+1]+=w[C]>>8,p[C]=w[C]&255}function ts(p){var w=new Float64Array(64),b;for(b=0;b<64;b++)w[b]=p[b];for(b=0;b<64;b++)p[b]=0;es(p,w)}function Ys(p,w,b,C){var R=new Uint8Array(64),$=new Uint8Array(64),Y=new Uint8Array(64),re,H,J=new Float64Array(64),be=[n(),n(),n(),n()];_t(R,C,32),R[0]&=248,R[31]&=127,R[31]|=64;var Le=b+64;for(re=0;re>7&&K(p[0],o,p[0]),B(p[3],p[0],p[1]),0)}function xe(p,w,b,C){var R,$=new Uint8Array(32),Y=new Uint8Array(64),re=[n(),n(),n(),n()],H=[n(),n(),n(),n()];if(b<64||le(H,C))return-1;for(R=0;R=0},e.sign.keyPair=function(){var p=new Uint8Array(lr),w=new Uint8Array(Ar);return Zr(p,w),{publicKey:p,secretKey:w}},e.sign.keyPair.fromSecretKey=function(p){if($t(p),p.length!==Ar)throw new Error("bad secret key size");for(var w=new Uint8Array(lr),b=0;b{let n={};return e.forEach(r=>{const s=r(t)||{};n=Object.assign(n,s)}),n}}function m1(){return()=>{}}function p1(e,t){return()=>{const n=typeof e=="function"?e():e,r=typeof t=="function"?t():t;return{user:n,pass:r}}}function g1(e){return()=>({auth_token:typeof e=="function"?e():e})}const Jh=2*60*1e3,_1=2,Yh=2*1e3;function b1(){return{maxPingOut:2,maxReconnectAttempts:10,noRandomize:!1,pedantic:!1,pingInterval:Jh,reconnect:!0,reconnectJitter:100,reconnectJitterTLS:1e3,reconnectTimeWait:Yh,tls:void 0,verbose:!1,waitOnFirstConnect:!1,ignoreAuthErrorAbort:!1}}function y1(e){const t=[];return typeof e.authenticator=="function"&&t.push(e.authenticator),Array.isArray(e.authenticator)&&t.push(...e.authenticator),e.token&&t.push(g1(e.token)),e.user&&t.push(p1(e.user,e.pass)),t.length===0?m1():d1(t)}function x1(e){const t=`${pa}:${Vh()}`;if(e=e||{servers:[t]},e.servers=e.servers||[],typeof e.servers=="string"&&(e.servers=[e.servers]),e.servers.length>0&&e.port)throw new ge("port and servers options are mutually exclusive",ue.InvalidOption);e.servers.length===0&&e.port&&(e.servers=[`${pa}:${e.port}`]),e.servers&&e.servers.length===0&&(e.servers=[t]);const n=mo(b1(),e);if(n.authenticator=y1(n),["reconnectDelayHandler","authenticator"].forEach(r=>{if(n[r]&&typeof n[r]!="function")throw new ge(`${r} option should be a function`,ue.NotFunction)}),n.reconnectDelayHandler||(n.reconnectDelayHandler=()=>{let r=n.tls?n.reconnectJitterTLS:n.reconnectJitter;return r&&(r++,r=Math.floor(Math.random()*r)),n.reconnectTimeWait+r}),n.inboxPrefix)try{En(n.inboxPrefix)}catch(r){throw new ge(r.message,ue.ApiError)}if(n.resolve&&typeof Wh()!="function")throw new ge("'resolve' is not supported on this client",ue.InvalidOption);return n}function w1(e,t){const{proto:n,tls_required:r,tls_available:s}=e;if((n===void 0||n<1)&&t.noEcho)throw new ge("noEcho",ue.ServerOptionNotAvailable);const i=r||s||!1;if(t.tls&&!i)throw new ge("tls",ue.ServerOptionNotAvailable)}const E1=1024*32,v1=/^INFO\s+([^\r\n]+)\r\n/i,S1=ws(`PONG\r -`),Au=ws(`PING\r -`);class k1{constructor(t,n,r){g(this,"echo");g(this,"no_responders");g(this,"protocol");g(this,"verbose");g(this,"pedantic");g(this,"jwt");g(this,"nkey");g(this,"sig");g(this,"user");g(this,"pass");g(this,"auth_token");g(this,"tls_required");g(this,"name");g(this,"lang");g(this,"version");g(this,"headers");this.protocol=1,this.version=t.version,this.lang=t.lang,this.echo=n.noEcho?!1:void 0,this.verbose=n.verbose,this.pedantic=n.pedantic,this.tls_required=n.tls?!0:void 0,this.name=n.name;const s=(n&&typeof n.authenticator=="function"?n.authenticator(r):{})||{};mo(this,s)}}class Xh extends ht{constructor(n,r,s={}){var o;super();g(this,"sid");g(this,"queue");g(this,"draining");g(this,"max");g(this,"subject");g(this,"drained");g(this,"protocol");g(this,"timer");g(this,"info");g(this,"cleanupFn");g(this,"closed");g(this,"requestSubject");mo(this,s),this.protocol=n,this.subject=r,this.draining=!1,this.noIterator=typeof s.callback=="function",this.closed=Xe();const i=!((o=n.options)!=null&&o.noAsyncTraces);s.timeout&&(this.timer=Gr(s.timeout,i),this.timer.then(()=>{this.timer=void 0}).catch(a=>{this.stop(a),this.noIterator&&this.callback(a,{})})),this.noIterator||this.iterClosed.then(()=>{this.closed.resolve(),this.unsubscribe()})}setPrePostHandlers(n){if(this.noIterator){const r=this.callback,s=n.ingestionFilterFn?n.ingestionFilterFn:()=>({ingest:!0,protocol:!1}),i=n.protocolFilterFn?n.protocolFilterFn:()=>!0,o=n.dispatchedFn?n.dispatchedFn:()=>{};this.callback=(a,c)=>{const{ingest:l}=s(c);l&&i(c)&&(r(a,c),o(c))}}else this.protocolFilterFn=n.protocolFilterFn,this.dispatchedFn=n.dispatchedFn}callback(n,r){this.cancelTimeout(),n?this.stop(n):this.push(r)}close(){if(!this.isClosed()){this.cancelTimeout();const n=()=>{if(this.stop(),this.cleanupFn)try{this.cleanupFn(this,this.info)}catch{}this.closed.resolve()};this.noIterator?n():this.push(n)}}unsubscribe(n){this.protocol.unsubscribe(this,n)}cancelTimeout(){this.timer&&(this.timer.cancel(),this.timer=void 0)}drain(){return this.protocol.isClosed()?Promise.reject(ge.errorForCode(ue.ConnectionClosed)):this.isClosed()?Promise.reject(ge.errorForCode(ue.SubClosed)):(this.drained||(this.draining=!0,this.protocol.unsub(this),this.drained=this.protocol.flush(Xe()).then(()=>{this.protocol.subscriptions.cancel(this)}).catch(()=>{this.protocol.subscriptions.cancel(this)})),this.drained)}isDraining(){return this.draining}isClosed(){return this.done}getSubject(){return this.subject}getMax(){return this.max}getID(){return this.sid}}class C1{constructor(){g(this,"mux");g(this,"subs");g(this,"sidCounter");this.sidCounter=0,this.mux=null,this.subs=new Map}size(){return this.subs.size}add(t){return this.sidCounter++,t.sid=this.sidCounter,this.subs.set(t.sid,t),t}setMux(t){return this.mux=t,t}getMux(){return this.mux}get(t){return this.subs.get(t)}resub(t){return this.sidCounter++,this.subs.delete(t.sid),t.sid=this.sidCounter,this.subs.set(t.sid,t),t}all(){return Array.from(this.subs.values())}cancel(t){t&&(t.close(),this.subs.delete(t.sid))}handleError(t){if(t&&t.permissionContext){const n=t.permissionContext,r=this.all();let s;if(n.operation==="subscription"&&(s=r.find(i=>i.subject===n.subject)),n.operation==="publish"&&(s=r.find(i=>i.requestSubject===n.subject)),s)return s.callback(t,{}),s.close(),this.subs.delete(s.sid),s!==this.mux}return!1}close(){this.subs.forEach(t=>{t.close()})}}class qi{constructor(t,n){g(this,"connected");g(this,"connectedOnce");g(this,"infoReceived");g(this,"info");g(this,"muxSubscriptions");g(this,"options");g(this,"outbound");g(this,"pongs");g(this,"subscriptions");g(this,"transport");g(this,"noMorePublishing");g(this,"connectError");g(this,"publisher");g(this,"_closed");g(this,"closed");g(this,"listeners");g(this,"heartbeats");g(this,"parser");g(this,"outMsgs");g(this,"inMsgs");g(this,"outBytes");g(this,"inBytes");g(this,"pendingLimit");g(this,"lastError");g(this,"abortReconnect");g(this,"whyClosed");g(this,"servers");g(this,"server");g(this,"features");g(this,"connectPromise");this._closed=!1,this.connected=!1,this.connectedOnce=!1,this.infoReceived=!1,this.noMorePublishing=!1,this.abortReconnect=!1,this.listeners=[],this.pendingLimit=E1,this.outMsgs=0,this.inMsgs=0,this.outBytes=0,this.inBytes=0,this.options=t,this.publisher=n,this.subscriptions=new C1,this.muxSubscriptions=new c1,this.outbound=new Jr,this.pongs=[],this.whyClosed="",this.pendingLimit=t.pendingLimit||this.pendingLimit,this.features=new qw({major:0,minor:0,micro:0}),this.connectPromise=null;const r=typeof t.servers=="string"?[t.servers]:t.servers;this.servers=new a1(r,{randomize:!t.noRandomize}),this.closed=Xe(),this.parser=new ku(this),this.heartbeats=new l1(this,this.options.pingInterval||Jh,this.options.maxPingOut||_1)}resetOutbound(){this.outbound.reset();const t=this.pongs;this.pongs=[];const n=ge.errorForCode(ue.Disconnect);n.stack="",t.forEach(r=>{r.reject(n)}),this.parser=new ku(this),this.infoReceived=!1}dispatchStatus(t){this.listeners.forEach(n=>{n.push(t)})}status(){const t=new ht;return this.listeners.push(t),t}prepare(){this.transport&&this.transport.discard(),this.info=void 0,this.resetOutbound();const t=Xe();return t.catch(()=>{}),this.pongs.unshift(t),this.connectError=n=>{t.reject(n)},this.transport=Vw(),this.transport.closed().then(async n=>{if(this.connected=!1,!this.isClosed()){await this.disconnected(this.transport.closeError||this.lastError);return}}),t}disconnect(){this.dispatchStatus({type:$r.StaleConnection,data:""}),this.transport.disconnect()}reconnect(){return this.connected&&(this.dispatchStatus({type:$r.ClientInitiatedReconnect,data:""}),this.transport.disconnect()),Promise.resolve()}async disconnected(t){this.dispatchStatus({type:an.Disconnect,data:this.servers.getCurrentServer().toString()}),this.options.reconnect?await this.dialLoop().then(()=>{var n;this.dispatchStatus({type:an.Reconnect,data:this.servers.getCurrentServer().toString()}),((n=this.lastError)==null?void 0:n.code)===ue.AuthenticationExpired&&(this.lastError=void 0)}).catch(n=>{this._close(n)}):await this._close(t)}async dial(t){const n=this.prepare();let r;try{r=Gr(this.options.timeout||2e4);const s=this.transport.connect(t,this.options);await Promise.race([s,r]),(async()=>{try{for await(const i of this.transport)this.parser.parse(i)}catch(i){console.log("reader closed",i)}})().then()}catch(s){n.reject(s)}try{await Promise.race([r,n]),r&&r.cancel(),this.connected=!0,this.connectError=void 0,this.sendSubscriptions(),this.connectedOnce=!0,this.server.didConnect=!0,this.server.reconnects=0,this.flushPending(),this.heartbeats.start()}catch(s){throw r&&r.cancel(),await this.transport.close(s),s}}async _doDial(t){const n=await t.resolve({fn:Wh(),debug:this.options.debug,randomize:!this.options.noRandomize});let r=null;for(const s of n)try{r=null,this.dispatchStatus({type:$r.Reconnecting,data:s.toString()}),await this.dial(s);return}catch(i){r=i}throw r}dialLoop(){return this.connectPromise===null&&(this.connectPromise=this.dodialLoop(),this.connectPromise.then(()=>{}).catch(()=>{}).finally(()=>{this.connectPromise=null})),this.connectPromise}async dodialLoop(){let t;for(;;){this._closed&&this.servers.clear();const n=this.options.reconnectDelayHandler?this.options.reconnectDelayHandler():Yh;let r=n;const s=this.selectServer();if(!s||this.abortReconnect)throw t||(this.lastError?this.lastError:ge.errorForCode(ue.ConnectionRefused));const i=Date.now();if(s.lastConnect===0||s.lastConnect+n<=i){s.lastConnect=Date.now();try{await this._doDial(s);break}catch(o){if(t=o,!this.connectedOnce){if(this.options.waitOnFirstConnect)continue;this.servers.removeCurrentServer()}s.reconnects++;const a=this.options.maxReconnectAttempts||0;a!==-1&&s.reconnects>=a&&this.servers.removeCurrentServer()}}else r=Math.min(r,s.lastConnect+n-i),await Qr(r)}}static async connect(t,n){const r=new qi(t,n);return await r.dialLoop(),r}static toError(t){const n=t?t.toLowerCase():"";if(n.indexOf("permissions violation")!==-1){const r=new ge(t,ue.PermissionsViolation),s=t.match(/(Publish|Subscription) to "(\S+)"/);return s&&(r.permissionContext={operation:s[1].toLowerCase(),subject:s[2]}),r}else return n.indexOf("authorization violation")!==-1?new ge(t,ue.AuthorizationViolation):n.indexOf("user authentication expired")!==-1?new ge(t,ue.AuthenticationExpired):n.indexOf("authentication timeout")!==-1?new ge(t,ue.AuthenticationTimeout):new ge(t,ue.ProtocolError)}processMsg(t,n){if(this.inMsgs++,this.inBytes+=n.length,!this.subscriptions.sidCounter)return;const r=this.subscriptions.get(t.sid);r&&(r.received+=1,r.callback&&r.callback(null,new uc(t,n,this)),r.max!==void 0&&r.received>=r.max&&r.unsubscribe())}processError(t){const n=hu(t),r=qi.toError(n),s={type:an.Error,data:r.code};if(r.isPermissionError()){let i=!1;if(r.permissionContext){s.permissionContext=r.permissionContext;const o=this.subscriptions.getMux();i=(o==null?void 0:o.subject)===r.permissionContext.subject}this.subscriptions.handleError(r),this.muxSubscriptions.handleError(i,r),i&&this.subscriptions.setMux(null)}this.dispatchStatus(s),this.handleError(r)}handleError(t){t.isAuthError()?this.handleAuthError(t):t.isProtocolError()?this.lastError=t:t.isAuthTimeout()&&(this.lastError=t),t.isPermissionError()||(this.lastError=t)}handleAuthError(t){this.lastError&&t.code===this.lastError.code&&this.options.ignoreAuthErrorAbort===!1&&(this.abortReconnect=!0),this.connectError?this.connectError(t):this.disconnect()}processPing(){this.transport.send(S1)}processPong(){const t=this.pongs.shift();t&&t.resolve()}processInfo(t){const n=JSON.parse(hu(t));this.info=n;const r=this.options&&this.options.ignoreClusterUpdates?void 0:this.servers.update(n,this.transport.isEncrypted());if(!this.infoReceived){this.features.update(xr(n.version)),this.infoReceived=!0,this.transport.isEncrypted()&&this.servers.updateTLSName();const{version:i,lang:o}=this.transport;try{const a=new k1({version:i,lang:o},this.options,n.nonce);n.headers&&(a.headers=!0,a.no_responders=!0);const c=JSON.stringify(a);this.transport.send(ws(`CONNECT ${c}${yi}`)),this.transport.send(Au)}catch(a){this._close(a)}}r&&this.dispatchStatus({type:an.Update,data:r}),(n.ldm!==void 0?n.ldm:!1)&&this.dispatchStatus({type:an.LDM,data:this.servers.getCurrentServer().toString()})}push(t){switch(t.kind){case Pt.MSG:{const{msg:n,data:r}=t;this.processMsg(n,r);break}case Pt.OK:break;case Pt.ERR:this.processError(t.data);break;case Pt.PING:this.processPing();break;case Pt.PONG:this.processPong();break;case Pt.INFO:this.processInfo(t.data);break}}sendCommand(t,...n){const r=this.outbound.length();let s;typeof t=="string"?s=ws(t):s=t,this.outbound.fill(s,...n),r===0?queueMicrotask(()=>{this.flushPending()}):this.outbound.size()>=this.pendingLimit&&this.flushPending()}publish(t,n=Vt,r){let s;if(n instanceof Uint8Array)s=n;else if(typeof n=="string")s=kr.encode(n);else throw ge.errorForCode(ue.BadPayload);let i=s.length;r=r||{},r.reply=r.reply||"";let o=Vt,a=0;if(r.headers){if(this.info&&!this.info.headers)throw new ge("headers",ue.ServerOptionNotAvailable);o=r.headers.encode(),a=o.length,i=s.length+a}if(this.info&&i>this.info.max_payload)throw ge.errorForCode(ue.MaxPayloadExceeded);this.outBytes+=i,this.outMsgs++;let c;r.headers?(r.reply?c=`HPUB ${t} ${r.reply} ${a} ${i}\r -`:c=`HPUB ${t} ${a} ${i}\r -`,this.sendCommand(c,o,s,Bi)):(r.reply?c=`PUB ${t} ${r.reply} ${i}\r -`:c=`PUB ${t} ${i}\r -`,this.sendCommand(c,s,Bi))}request(t){return this.initMux(),this.muxSubscriptions.add(t),t}subscribe(t){return this.subscriptions.add(t),this._subunsub(t),t}_sub(t){t.queue?this.sendCommand(`SUB ${t.subject} ${t.queue} ${t.sid}\r -`):this.sendCommand(`SUB ${t.subject} ${t.sid}\r -`)}_subunsub(t){return this._sub(t),t.max&&this.unsubscribe(t,t.max),t}unsubscribe(t,n){this.unsub(t,n),(t.max===void 0||t.received>=t.max)&&this.subscriptions.cancel(t)}unsub(t,n){!t||this.isClosed()||(n?this.sendCommand(`UNSUB ${t.sid} ${n}\r -`):this.sendCommand(`UNSUB ${t.sid}\r -`),t.max=n)}resub(t,n){!t||this.isClosed()||(this.unsub(t),t.subject=n,this.subscriptions.resub(t),this._sub(t))}flush(t){return t||(t=Xe()),this.pongs.push(t),this.outbound.fill(Au),this.flushPending(),t}sendSubscriptions(){const t=[];this.subscriptions.all().forEach(n=>{const r=n;r.queue?t.push(`SUB ${r.subject} ${r.queue} ${r.sid}${yi}`):t.push(`SUB ${r.subject} ${r.sid}${yi}`)}),t.length&&this.transport.send(ws(t.join("")))}async _close(t){this._closed||(this.whyClosed=new Error("close trace").stack||"",this.heartbeats.cancel(),this.connectError&&(this.connectError(t),this.connectError=void 0),this.muxSubscriptions.close(),this.subscriptions.close(),this.listeners.forEach(n=>{n.stop()}),this._closed=!0,await this.transport.close(t),await this.closed.resolve(t))}close(){return this._close()}isClosed(){return this._closed}drain(){const t=this.subscriptions.all(),n=[];return t.forEach(r=>{n.push(r.drain())}),Promise.all(n).then(async()=>(this.noMorePublishing=!0,await this.flush(),this.close())).catch(()=>{})}flushPending(){if(!(!this.infoReceived||!this.connected)&&this.outbound.size()){const t=this.outbound.drain();this.transport.send(t)}}initMux(){if(!this.subscriptions.getMux()){const n=this.muxSubscriptions.init(this.options.inboxPrefix),r=new Xh(this,`${n}*`);r.callback=this.muxSubscriptions.dispatcher(),this.subscriptions.setMux(r),this.subscribe(r)}}selectServer(){const t=this.servers.selectServer();if(t!==void 0)return this.server=t,this.server}getServer(){return this.server}}const O1="$SRV";class Iu{constructor(t){g(this,"msg");this.msg=t}get data(){return this.msg.data}get sid(){return this.msg.sid}get subject(){return this.msg.subject}get reply(){return this.msg.reply||""}get headers(){return this.msg.headers}respond(t,n){return this.msg.respond(t,n)}respondError(t,n,r,s){var i,o;return s=s||{},s.headers=s.headers||Fn(),(i=s.headers)==null||i.set($i,`${t}`),(o=s.headers)==null||o.set(ji,n),this.msg.respond(r,s)}json(t){return this.msg.json(t)}string(){return this.msg.string()}}class Us{constructor(t,n="",r=""){g(this,"subject");g(this,"queue");g(this,"srv");n!==""&&I1("service group",n);let s="";if(t instanceof Js)this.srv=t,s="";else if(t instanceof Us){const i=t;this.srv=i.srv,r===""&&i.queue!==""&&(r=i.queue),s=i.subject}else throw new Error("unknown ServiceGroup type");this.subject=this.calcSubject(s,n),this.queue=r}calcSubject(t,n=""){return n===""?t:t!==""?`${t}.${n}`:n}addEndpoint(t="",n){n=n||{subject:t};const r=typeof n=="function"?{handler:n,subject:t}:n;ls("endpoint",t);let{subject:s,handler:i,metadata:o,queue:a}=r;s=s||t,a=a||this.queue,A1("endpoint subject",s),s=this.calcSubject(this.subject,s);const c={name:t,subject:s,queue:a,handler:i,metadata:o};return this.srv._addEndpoint(c)}addGroup(t="",n=""){return new Us(this,t,n)}}function A1(e,t){if(t==="")throw new Error(`${e} cannot be empty`);if(t.indexOf(" ")!==-1)throw new Error(`${e} cannot contain spaces: '${t}'`);const n=t.split(".");n.forEach((r,s)=>{if(r===">"&&s!==n.length-1)throw new Error(`${e} cannot have internal '>': '${t}'`)})}function I1(e,t){if(t.indexOf(" ")!==-1)throw new Error(`${e} cannot contain spaces: '${t}'`);t.split(".").forEach(r=>{if(r===">")throw new Error(`${e} name cannot contain internal '>': '${t}'`)})}class Js{constructor(t,n={name:"",version:""}){g(this,"nc");g(this,"_id");g(this,"config");g(this,"handlers");g(this,"internal");g(this,"_stopped");g(this,"_done");g(this,"started");this.nc=t,this.config=Object.assign({},n),this.config.queue||(this.config.queue="q"),ls("name",this.config.name),ls("queue",this.config.queue),xr(this.config.version),this._id=Cr.next(),this.internal=[],this._done=Xe(),this._stopped=!1,this.handlers=[],this.started=new Date().toISOString(),this.reset(),this.nc.closed().then(()=>{this.close().catch()}).catch(r=>{this.close(r).catch()})}static controlSubject(t,n="",r="",s){const i=s??O1;return n===""&&r===""?`${i}.${t}`:(ls("control subject name",n),r!==""?(ls("control subject id",r),`${i}.${t}.${n}.${r}`):`${i}.${t}.${n}`)}get subjects(){return this.handlers.filter(t=>t.internal===!1).map(t=>t.subject)}get id(){return this._id}get name(){return this.config.name}get description(){return this.config.description??""}get version(){return this.config.version}get metadata(){return this.config.metadata}errorToHeader(t){const n=Fn();if(t instanceof Di){const r=t;n.set(ji,r.message),n.set($i,`${r.code}`)}else n.set(ji,t.message),n.set($i,"500");return n}setupHandler(t,n=!1){const r=n?"":t.queue?t.queue:this.config.queue,{name:s,subject:i,handler:o}=t,a=t;a.internal=n,n&&this.internal.push(a),a.stats=new P1(s,i,r),a.queue=r;const c=o?(l,u)=>{if(l){this.close(l);return}const f=Date.now();try{o(l,new Iu(u))}catch(h){a.stats.countError(h),u==null||u.respond(Vt,{headers:this.errorToHeader(h)})}finally{a.stats.countLatency(f)}}:void 0;return a.sub=this.nc.subscribe(i,{callback:c,queue:r}),a.sub.closed.then(()=>{this._stopped||this.close(new Error(`required subscription ${t.subject} stopped`)).catch()}).catch(l=>{if(!this._stopped){const u=new Error(`required subscription ${t.subject} errored: ${l.message}`);u.stack=l.stack,this.close(u).catch()}}),a}info(){return{type:Es.INFO,name:this.name,id:this.id,version:this.version,description:this.description,metadata:this.metadata,endpoints:this.endpoints()}}endpoints(){return this.handlers.map(t=>{const{subject:n,metadata:r,name:s,queue:i}=t;return{subject:n,metadata:r,name:s,queue_group:i}})}async stats(){const t=[];for(const n of this.handlers){if(typeof this.config.statsHandler=="function")try{n.stats.data=await this.config.statsHandler(n)}catch(r){n.stats.countError(r)}t.push(n.stats.stats(n.qi))}return{type:Es.STATS,name:this.name,id:this.id,version:this.version,started:this.started,metadata:this.metadata,endpoints:t}}addInternalHandler(t,n){const r=`${t}`.toUpperCase();this._doAddInternalHandler(`${r}-all`,t,n),this._doAddInternalHandler(`${r}-kind`,t,n,this.name),this._doAddInternalHandler(`${r}`,t,n,this.name,this.id)}_doAddInternalHandler(t,n,r,s="",i=""){const o={};o.name=t,o.subject=Js.controlSubject(n,s,i),o.handler=r,this.setupHandler(o,!0)}start(){const t=un(),n=(o,a)=>o?(this.close(o),Promise.reject(o)):this.stats().then(c=>(a==null||a.respond(t.encode(c)),Promise.resolve())),r=(o,a)=>o?(this.close(o),Promise.reject(o)):(a==null||a.respond(t.encode(this.info())),Promise.resolve()),s=t.encode(this.ping()),i=(o,a)=>o?(this.close(o).then().catch(),Promise.reject(o)):(a.respond(s),Promise.resolve());return this.addInternalHandler(Xn.PING,i),this.addInternalHandler(Xn.STATS,n),this.addInternalHandler(Xn.INFO,r),this.handlers.forEach(o=>{const{subject:a}=o;typeof a=="string"&&o.handler!==null&&this.setupHandler(o)}),Promise.resolve(this)}close(t){if(this._stopped)return this._done;this._stopped=!0;let n=[];return this.nc.isClosed()||(n=this.handlers.concat(this.internal).map(r=>r.sub.drain())),Promise.allSettled(n).then(()=>{this._done.resolve(t||null)}),this._done}get stopped(){return this._done}get isStopped(){return this._stopped}stop(t){return this.close(t)}ping(){return{type:Es.PING,name:this.name,id:this.id,version:this.version,metadata:this.metadata}}reset(){if(this.started=new Date().toISOString(),this.handlers)for(const t of this.handlers)t.stats.reset(t.qi)}addGroup(t,n){return new Us(this,t,n)}addEndpoint(t,n){return new Us(this).addEndpoint(t,n)}_addEndpoint(t){const n=new ht;n.noIterator=typeof t.handler=="function",n.noIterator||(t.handler=(s,i)=>{s?this.stop(s).catch():n.push(new Iu(i))},n.iterClosed.then(()=>{this.close().catch()}));const r=this.setupHandler(t,!1);return r.qi=n,this.handlers.push(r),n}}class P1{constructor(t,n,r=""){g(this,"name");g(this,"subject");g(this,"average_processing_time");g(this,"num_requests");g(this,"processing_time");g(this,"num_errors");g(this,"last_error");g(this,"data");g(this,"metadata");g(this,"queue");this.name=t,this.subject=n,this.average_processing_time=0,this.num_errors=0,this.num_requests=0,this.processing_time=0,this.queue=r}reset(t){this.num_requests=0,this.processing_time=0,this.average_processing_time=0,this.num_errors=0,this.last_error=void 0,this.data=void 0;const n=t;n&&(n.time=0,n.processed=0)}countLatency(t){this.num_requests++,this.processing_time+=tt(Date.now()-t),this.average_processing_time=Math.round(this.processing_time/this.num_requests)}countError(t){this.num_errors++,this.last_error=t.message}_stats(){const{name:t,subject:n,average_processing_time:r,num_errors:s,num_requests:i,processing_time:o,last_error:a,data:c,queue:l}=this;return{name:t,subject:n,average_processing_time:r,num_errors:s,num_requests:i,processing_time:o,last_error:a,data:c,queue_group:l}}stats(t){const n=t;return(n==null?void 0:n.noIterator)===!1&&(this.processing_time=n.time,this.num_requests=n.processed,this.average_processing_time=this.processing_time>0&&this.num_requests>0?this.processing_time/this.num_requests:0),this._stats()}}class T1{constructor(t,n={strategy:ln.JitterTimer,maxWait:2e3},r){g(this,"nc");g(this,"prefix");g(this,"opts");this.nc=t,this.prefix=r,this.opts=n}ping(t="",n=""){return this.q(Xn.PING,t,n)}stats(t="",n=""){return this.q(Xn.STATS,t,n)}info(t="",n=""){return this.q(Xn.INFO,t,n)}async q(t,n="",r=""){const s=new ht,i=un(),o=Js.controlSubject(t,n,r,this.prefix),a=await this.nc.requestMany(o,Vt,this.opts);return(async()=>{for await(const c of a)try{const l=i.decode(c.data);s.push(l)}catch(l){s.push(()=>{s.stop(l)})}s.push(()=>{s.stop()})})().catch(c=>{s.stop(c)}),s}}function Qh(){return{key:{encode(e){return e},decode(e){return e}},value:{encode(e){return e},decode(e){return e}}}}function N1(){return{replicas:1,history:1,timeout:2e3,maxBucketSize:-1,maxValueSize:-1,codec:Qh(),storage:xa.File}}const Hi="KV-Operation",Pu="$KV",R1=/^[-/=.\w]+$/,M1=/^[-/=.>*\w]+$/,L1=/^[-\w]+$/;function F1(e){if(e.startsWith(".")||e.endsWith(".")||!R1.test(e))throw new Error(`invalid key: ${e}`)}function j1(e){if(e.startsWith(".")||e.endsWith(".")||!M1.test(e))throw new Error(`invalid key: ${e}`)}function $1(e){if(e.startsWith(".")||e.endsWith("."))throw new Error(`invalid key: ${e}`);const t=e.split(".");let n=!1;for(let r=0;r":if(r!==t.length-1)throw new Error(`invalid key: ${e}`);n=!0;break}return n}function xi(e){if(!L1.test(e))throw new Error(`invalid bucket name: ${e}`)}var yn;(function(e){e.MsgIdHdr="Nats-Msg-Id",e.ExpectedStreamHdr="Nats-Expected-Stream",e.ExpectedLastSeqHdr="Nats-Expected-Last-Sequence",e.ExpectedLastMsgIdHdr="Nats-Expected-Last-Msg-Id",e.ExpectedLastSubjectSequenceHdr="Nats-Expected-Last-Subject-Sequence"})(yn||(yn={}));class Bs{constructor(t,n,r){g(this,"js");g(this,"jsm");g(this,"stream");g(this,"bucket");g(this,"direct");g(this,"codec");g(this,"prefix");g(this,"editPrefix");g(this,"useJsPrefix");g(this,"_prefixLen");g(this,"validateKey",F1);g(this,"validateSearchKey",j1);g(this,"hasWildcards",$1);xi(t),this.js=n,this.jsm=r,this.bucket=t,this.prefix=Pu,this.editPrefix="",this.useJsPrefix=!1,this._prefixLen=0}static async create(t,n,r={}){xi(n);const s=await t.jetstreamManager(),i=new Bs(n,t,s);return await i.init(r),i}static async bind(t,n,r={}){const s=await t.jetstreamManager(),i={config:{allow_direct:r.allow_direct}};xi(n);const o=new Bs(n,t,s);return i.config.name=r.streamName??o.bucketName(),Object.assign(o,i),o.stream=i.config.name,o.codec=r.codec||Qh(),o.direct=i.config.allow_direct??!1,o.initializePrefixes(i),o}async init(t={}){const n=Object.assign(N1(),t);this.codec=n.codec;const r={};this.stream=r.name=t.streamName??this.bucketName(),r.retention=ya.Limits,r.max_msgs_per_subject=n.history,n.maxBucketSize&&(n.max_bytes=n.maxBucketSize),n.max_bytes&&(r.max_bytes=n.max_bytes),r.max_msg_size=n.maxValueSize,r.storage=n.storage;const s=t.placementCluster??"";if(s&&(t.placement={},t.placement.cluster=s,t.placement.tags=[]),t.placement&&(r.placement=t.placement),t.republish&&(r.republish=t.republish),t.description&&(r.description=t.description),t.mirror){const f=Object.assign({},t.mirror);f.name.startsWith(sn)||(f.name=`${sn}${f.name}`),r.mirror=f,r.mirror_direct=!0}else if(t.sources){const f=t.sources.map(h=>{const d=Object.assign({},h);d.name.startsWith(sn)||(d.name=`${sn}${d.name}`)});r.sources=f}else r.subjects=[this.subjectForBucket()];t.metadata&&(r.metadata=t.metadata),typeof t.compression=="boolean"&&(r.compression=t.compression?tr.S2:tr.None);const i=this.js.nc,o=i.getServerVersion(),a=o?wa(o,xr("2.7.2"))>=0:!1;r.discard=a?Ds.New:Ds.Old;const{ok:c,min:l}=i.features.get(je.JS_ALLOW_DIRECT);if(!c&&t.allow_direct===!0){const f=o?`${o.major}.${o.minor}.${o.micro}`:"unknown";return Promise.reject(new Error(`allow_direct is not available on server version ${f} - requires ${l}`))}t.allow_direct=typeof t.allow_direct=="boolean"?t.allow_direct:c,r.allow_direct=t.allow_direct,this.direct=r.allow_direct,r.num_replicas=n.replicas,n.ttl&&(r.max_age=tt(n.ttl)),r.allow_rollup_hdrs=!0;let u;try{u=await this.jsm.streams.info(r.name),!u.config.allow_direct&&this.direct===!0&&(this.direct=!1)}catch(f){if(f.message==="stream not found")u=await this.jsm.streams.add(r);else throw f}this.initializePrefixes(u)}initializePrefixes(t){this._prefixLen=0,this.prefix=`$KV.${this.bucket}`,this.useJsPrefix=this.js.apiPrefix!=="$JS.API";const{mirror:n}=t.config;if(n){let r=n.name;if(r.startsWith(sn)&&(r=r.substring(sn.length)),n.external&&n.external.api!==""){const s=n.name.substring(sn.length);this.useJsPrefix=!1,this.prefix=`$KV.${s}`,this.editPrefix=`${n.external.api}.$KV.${r}`}else this.editPrefix=this.prefix}}bucketName(){return this.stream??`${sn}${this.bucket}`}subjectForBucket(){return`${this.prefix}.${this.bucket}.>`}subjectForKey(t,n=!1){const r=[];return n?(this.useJsPrefix&&r.push(this.js.apiPrefix),this.editPrefix!==""?r.push(this.editPrefix):r.push(this.prefix)):this.prefix&&r.push(this.prefix),r.push(t),r.join(".")}fullKeyName(t){return this.prefix!==""?`${this.prefix}.${t}`:`${Pu}.${this.bucket}.${t}`}get prefixLen(){return this._prefixLen===0&&(this._prefixLen=this.prefix.length+1),this._prefixLen}encodeKey(t){const n=[];for(const r of t.split("."))switch(r){case">":case"*":n.push(r);break;default:n.push(this.codec.key.encode(r));break}return n.join(".")}decodeKey(t){const n=[];for(const r of t.split("."))switch(r){case">":case"*":n.push(r);break;default:n.push(this.codec.key.decode(r));break}return n.join(".")}close(){return Promise.resolve()}dataLen(t,n){const r=n&&n.get(Tt.MessageSizeHdr)||"";return r!==""?parseInt(r,10):t.length}smToEntry(t){return new Q1(this.bucket,this.prefixLen,t)}jmToEntry(t){const n=this.decodeKey(t.subject.substring(this.prefixLen));return new Z1(this.bucket,n,t)}async create(t,n){var i;let r;try{const o=await this.put(t,n,{previousSeq:0});return Promise.resolve(o)}catch(o){if(r=o,((i=o==null?void 0:o.api_error)==null?void 0:i.err_code)!==10071)return Promise.reject(o)}let s=0;try{const o=await this.get(t);return(o==null?void 0:o.operation)==="DEL"||(o==null?void 0:o.operation)==="PURGE"?(s=o!==null?o.revision:0,this.update(t,n,s)):Promise.reject(r)}catch(o){return Promise.reject(o)}}update(t,n,r){if(r<=0)throw new Error("version must be greater than 0");return this.put(t,n,{previousSeq:r})}async put(t,n,r={}){var o,a;const s=this.encodeKey(t);this.validateKey(s);const i={};if(r.previousSeq!==void 0){const c=Fn();i.headers=c,c.set(yn.ExpectedLastSubjectSequenceHdr,`${r.previousSeq}`)}try{return(await this.js.publish(this.subjectForKey(s,!0),n,i)).seq}catch(c){const l=c;return l.isJetStreamError()?(l.message=(o=l.api_error)==null?void 0:o.description,l.code=`${(a=l.api_error)==null?void 0:a.code}`,Promise.reject(l)):Promise.reject(c)}}async get(t,n){const r=this.encodeKey(t);this.validateKey(r);let s={last_by_subj:this.subjectForKey(r)};n&&n.revision>0&&(s={seq:n.revision});let i;try{this.direct?i=await this.jsm.direct.getMessage(this.bucketName(),s):i=await this.jsm.streams.getMessage(this.bucketName(),s);const o=this.smToEntry(i);return o.key!==r?null:o}catch(o){if(o.code===ue.JetStream404NoMessages)return null;throw o}}purge(t,n){return this._deleteOrPurge(t,"PURGE",n)}delete(t,n){return this._deleteOrPurge(t,"DEL",n)}async purgeDeletes(t=30*60*1e3){const n=Xe(),r=[],s=await this.watch({key:">",initializedFn:()=>{n.resolve()}});(async()=>{for await(const c of s)(c.operation==="DEL"||c.operation==="PURGE")&&r.push(c)})().then(),await n,s.stop();const i=Date.now()-t,o=r.map(c=>{const l=this.subjectForKey(c.key);return c.created.getTime()>=i?this.jsm.streams.purge(this.stream,{filter:l,keep:1}):this.jsm.streams.purge(this.stream,{filter:l,keep:0})}),a=await Promise.all(o);return a.unshift({success:!0,purged:0}),a.reduce((c,l)=>(c.purged+=l.purged,c))}async _deleteOrPurge(t,n,r){if(!this.hasWildcards(t))return this._doDeleteOrPurge(t,n,r);const s=await this.keys(t),i=[];for await(const o of s)i.push(this._doDeleteOrPurge(o,n)),i.length===100&&(await Promise.all(i),i.length=0);i.length>0&&await Promise.all(i)}async _doDeleteOrPurge(t,n,r){const s=this.encodeKey(t);this.validateKey(s);const i=Fn();i.set(Hi,n),n==="PURGE"&&i.set(Tt.RollupHdr,Tt.RollupValueSubject),r!=null&&r.previousSeq&&i.set(yn.ExpectedLastSubjectSequenceHdr,`${r.previousSeq}`),await this.js.publish(this.subjectForKey(s,!0),Vt,{headers:i})}_buildCC(t,n,r={}){let i=(Array.isArray(t)?t:[t]).map(c=>{const l=this.encodeKey(c);return this.validateSearchKey(c),this.fullKeyName(l)}),o=st.LastPerSubject;n===nn.AllHistory&&(o=st.All),n===nn.UpdatesOnly&&(o=st.New);let a;return i.length===1&&(a=i[0],i=void 0),Object.assign({deliver_policy:o,ack_policy:ut.None,filter_subjects:i,filter_subject:a,flow_control:!0,idle_heartbeat:tt(5*1e3)},r)}remove(t){return this.purge(t)}async history(t={}){const n=t.key??">",r=new ht,s={};s.headers_only=t.headers_only||!1;let i;i=()=>{r.stop()};let o=0;const a=this._buildCC(n,nn.AllHistory,s),c=a.filter_subject,l=Rn(a);l.bindStream(this.stream),l.orderedConsumer(),l.callback((f,h)=>{if(f){r.stop(f);return}if(h){const d=this.jmToEntry(h);r.push(d),r.received++,(i&&o>0&&r.received>=o||h.info.pending===0)&&(r.push(i),i=void 0)}});const u=await this.js.subscribe(c,l);if(i){const{info:{last:f}}=u,h=f.num_pending+f.delivered.consumer_seq;if(h===0||r.received>=h)try{i()}catch(d){r.stop(d)}finally{i=void 0}else o=h}return r._data=u,r.iterClosed.then(()=>{u.unsubscribe()}),u.closed.then(()=>{r.stop()}).catch(f=>{r.stop(f)}),r}canSetWatcherName(){const n=this.js.nc,{ok:r}=n.features.get(je.JS_NEW_CONSUMER_CREATE_API);return r}async watch(t={}){const n=t.key??">",r=new ht,s={};s.headers_only=t.headers_only||!1;let i=nn.LastValue;t.include===nn.AllHistory?i=nn.AllHistory:t.include===nn.UpdatesOnly&&(i=nn.UpdatesOnly);const o=t.ignoreDeletes===!0;let a=t.initializedFn,c=0;const l=this._buildCC(n,i,s),u=l.filter_subject,f=Rn(l);this.canSetWatcherName()&&f.consumerName(Cr.next()),f.bindStream(this.stream),t.resumeFromRevision&&t.resumeFromRevision>0&&f.startSequence(t.resumeFromRevision),f.orderedConsumer(),f.callback((d,E)=>{if(d){r.stop(d);return}if(E){const P=this.jmToEntry(E);if(o&&P.operation==="DEL")return;r.push(P),r.received++,a&&(c>0&&r.received>=c||E.info.pending===0)&&(r.push(a),a=void 0)}});const h=await this.js.subscribe(u,f);if(a){const{info:{last:d}}=h,E=d.num_pending+d.delivered.consumer_seq;if(E===0||r.received>=E)try{a()}catch(P){r.stop(P)}finally{a=void 0}else c=E}return r._data=h,r.iterClosed.then(()=>{h.unsubscribe()}),h.closed.then(()=>{r.stop()}).catch(d=>{r.stop(d)}),r}async keys(t=">"){const n=new ht,r=this._buildCC(t,nn.LastValue,{headers_only:!0}),s=r.filter_subject,i=Rn(r);i.bindStream(this.stream),i.orderedConsumer();const o=await this.js.subscribe(s,i);return(async()=>{var c;for await(const l of o){const u=(c=l.headers)==null?void 0:c.get(Hi);if(u!=="DEL"&&u!=="PURGE"){const f=this.decodeKey(l.subject.substring(this.prefixLen));n.push(f)}l.info.pending===0&&o.unsubscribe()}})().then(()=>{n.stop()}).catch(c=>{n.stop(c)}),o.info.last.num_pending===0&&o.unsubscribe(),n}purgeBucket(t){return this.jsm.streams.purge(this.bucketName(),t)}destroy(){return this.jsm.streams.delete(this.bucketName())}async status(){var i;const n=((i=this.js.nc.info)==null?void 0:i.cluster)??"",r=this.bucketName(),s=await this.jsm.streams.info(r);return new Zh(s,n)}}class Zh{constructor(t,n=""){g(this,"si");g(this,"cluster");this.si=t,this.cluster=n}get bucket(){return this.si.config.name.startsWith(sn)?this.si.config.name.substring(sn.length):this.si.config.name}get values(){return this.si.state.messages}get history(){return this.si.config.max_msgs_per_subject}get ttl(){return lc(this.si.config.max_age)}get bucket_location(){return this.cluster}get backingStore(){return this.si.config.storage}get storage(){return this.si.config.storage}get replicas(){return this.si.config.num_replicas}get description(){return this.si.config.description??""}get maxBucketSize(){return this.si.config.max_bytes}get maxValueSize(){return this.si.config.max_msg_size}get max_bytes(){return this.si.config.max_bytes}get placement(){return this.si.config.placement||{cluster:"",tags:[]}}get placementCluster(){var t;return((t=this.si.config.placement)==null?void 0:t.cluster)??""}get republish(){return this.si.config.republish??{src:"",dest:""}}get streamInfo(){return this.si}get size(){return this.si.state.bytes}get metadata(){return this.si.config.metadata??{}}get compression(){return this.si.config.compression?this.si.config.compression!==tr.None:!1}}const mc="OBJ_",Tu="SHA-256=";function D1(e){return xi(e),`${mc}${e}`}function U1(e){return e.startsWith(mc)?e.substring(4):e}class Sa{constructor(t){g(this,"si");g(this,"backingStore");this.si=t,this.backingStore="JetStream"}get bucket(){return U1(this.si.config.name)}get description(){return this.si.config.description??""}get ttl(){return this.si.config.max_age}get storage(){return this.si.config.storage}get replicas(){return this.si.config.num_replicas}get sealed(){return this.si.config.sealed}get size(){return this.si.state.bytes}get streamInfo(){return this.si}get metadata(){return this.si.config.metadata}get compression(){return this.si.config.compression?this.si.config.compression!==tr.None:!1}}function fi(e){if(e===void 0)return;const{domain:t}=e;if(t===void 0)return e;const n=Object.assign({},e);if(delete n.domain,t==="")return n;if(n.external)throw new Error("domain and external are both set");return n.external={api:`$JS.${t}.API`},n}var rn;(function(e){e[e.Unset=-1]="Unset",e[e.Consume=0]="Consume",e[e.Fetch=1]="Fetch"})(rn||(rn={}));var Tn;(function(e){e.HeartbeatsMissed="heartbeats_missed",e.ConsumerNotFound="consumer_not_found",e.StreamNotFound="stream_not_found",e.ConsumerDeleted="consumer_deleted",e.OrderedConsumerRecreated="ordered_consumer_recreated"})(Tn||(Tn={}));var ks;(function(e){e.DebugEvent="debug",e.Discard="discard",e.Next="next"})(ks||(ks={}));const Nu=Uint8Array.of(43,65,67,75),B1=Uint8Array.of(45,78,65,75),as=Uint8Array.of(43,87,80,73),q1=Uint8Array.of(43,78,88,84),H1=Uint8Array.of(43,84,69,82,77),z1=Uint8Array.of(32);function qs(e){return new oE(e)}class Bo extends ht{constructor(n,r,s=!1){super();g(this,"consumer");g(this,"opts");g(this,"sub");g(this,"monitor");g(this,"pending");g(this,"inbox");g(this,"refilling");g(this,"pong");g(this,"callback");g(this,"timeout");g(this,"cleanupHandler");g(this,"listeners");g(this,"statusIterator");g(this,"forOrderedConsumer");g(this,"resetHandler");g(this,"abortOnMissingResource");g(this,"bind");this.consumer=n;const i=r;this.opts=this.parseOptions(r,s),this.callback=i.callback||null,this.noIterator=typeof this.callback=="function",this.monitor=null,this.pong=null,this.pending={msgs:0,bytes:0,requests:0},this.refilling=s,this.timeout=null,this.inbox=En(n.api.nc.options.inboxPrefix),this.listeners=[],this.forOrderedConsumer=!1,this.abortOnMissingResource=i.abort_on_missing_resource===!0,this.bind=i.bind===!0,this.start()}start(){const{max_messages:n,max_bytes:r,idle_heartbeat:s,threshold_bytes:i,threshold_messages:o}=this.opts;this.closed().then(c=>{if(this.cleanupHandler)try{this.cleanupHandler(c)}catch{}});const{sub:a}=this;a&&a.unsubscribe(),this.sub=this.consumer.api.nc.subscribe(this.inbox,{callback:(c,l)=>{var f,h,d,E;if(c){this.stop(c);return}if((f=this.monitor)==null||f.work(),l.subject===this.inbox){if(ba(l))return;const P=(h=l.headers)==null?void 0:h.code,L=((E=(d=l.headers)==null?void 0:d.description)==null?void 0:E.toLowerCase())||"unknown",{msgsLeft:I,bytesLeft:N}=this.parseDiscard(l.headers);if(I>0||N>0)this.pending.msgs-=I,this.pending.bytes-=N,this.pending.requests--,this.notify(ks.Discard,{msgsLeft:I,bytesLeft:N});else if(P===400){this.stop(new ge(L,`${P}`));return}else if(P===409&&L==="consumer deleted"){if(this.notify(Tn.ConsumerDeleted,`${P} ${L}`),!this.refilling||this.abortOnMissingResource){const O=new ge(L,`${P}`);this.stop(O);return}}else this.notify(ks.DebugEvent,`${P} ${L}`)}else this._push(qs(l)),this.received++,this.pending.msgs&&this.pending.msgs--,this.pending.bytes&&(this.pending.bytes-=l.size());if(this.pending.msgs===0&&this.pending.bytes===0&&(this.pending.requests=0),this.refilling){if(n&&this.pending.msgs<=o||r&&this.pending.bytes<=i){const P=this.pullOptions();this.pull(P)}}else this.pending.requests===0&&this._push(()=>{this.stop()})}}),this.sub.closed.then(()=>{this.sub.draining&&this._push(()=>{this.stop()})}),s&&(this.monitor=new hc(s,c=>(this.notify(Tn.HeartbeatsMissed,c),this.resetPending().then(()=>{}).catch(()=>{}),!1),{maxOut:2})),(async()=>{var l;const c=this.consumer.api.nc.status();this.statusIterator=c;for await(const u of c)switch(u.type){case an.Disconnect:(l=this.monitor)==null||l.cancel();break;case an.Reconnect:this.resetPending().then(f=>{var h;f&&((h=this.monitor)==null||h.restart())}).catch(()=>{});break}})(),this.pull(this.pullOptions())}_push(n){if(!this.callback)super.push(n);else{const r=typeof n=="function"?n:null;try{r?r():this.callback(n)}catch(s){this.stop(s)}}}notify(n,r){this.listeners.length>0&&this.listeners.forEach(s=>{s.done||s.push({type:n,data:r})})}resetPending(){return this.bind?this.resetPendingNoInfo():this.resetPendingWithInfo()}resetPendingNoInfo(){return this.pending.msgs=0,this.pending.bytes=0,this.pending.requests=0,this.pull(this.pullOptions()),Promise.resolve(!0)}async resetPendingWithInfo(){let n=0,r=0;const s=cc();let i=0;for(;;){if(this.done)return!1;if(this.consumer.api.nc.isClosed())return console.error("aborting resetPending - connection is closed"),!1;try{return await this.consumer.info(),n=0,this.pending.msgs=0,this.pending.bytes=0,this.pending.requests=0,this.pull(this.pullOptions()),!0}catch(o){if(o.message==="stream not found"){if(r++,this.notify(Tn.StreamNotFound,r),!this.refilling||this.abortOnMissingResource)return this.stop(o),!1}else if(o.message==="consumer not found"){if(n++,this.notify(Tn.ConsumerNotFound,n),this.resetHandler)try{this.resetHandler()}catch{}if(!this.refilling||this.abortOnMissingResource)return this.stop(o),!1;if(this.forOrderedConsumer)return!1}else n=0,r=0;const a=s.backoff(i),c=Qr(a);await Promise.race([c,this.consumer.api.nc.closed()]),c.cancel(),i++}}}pull(n){this.pending.bytes+=n.max_bytes??0,this.pending.msgs+=n.batch??0,this.pending.requests++;const r=this.consumer.api.nc;this._push(()=>{r.publish(`${this.consumer.api.prefix}.CONSUMER.MSG.NEXT.${this.consumer.stream}.${this.consumer.name}`,this.consumer.api.jc.encode(n),{reply:this.inbox}),this.notify(ks.Next,n)})}pullOptions(){const n=this.opts.max_messages-this.pending.msgs,r=this.opts.max_bytes-this.pending.bytes,s=tt(this.opts.idle_heartbeat),i=tt(this.opts.expires);return{batch:n,max_bytes:r,idle_heartbeat:s,expires:i}}parseDiscard(n){const r={msgsLeft:0,bytesLeft:0},s=n==null?void 0:n.get(Tt.PendingMessagesHdr);s&&(r.msgsLeft=parseInt(s));const i=n==null?void 0:n.get(Tt.PendingBytesHdr);return i&&(r.bytesLeft=parseInt(i)),r}trackTimeout(n){this.timeout=n}close(){return this.stop(),this.iterClosed}closed(){return this.iterClosed}clearTimers(){var n,r;(n=this.monitor)==null||n.cancel(),this.monitor=null,(r=this.timeout)==null||r.cancel(),this.timeout=null}setCleanupHandler(n){this.cleanupHandler=n}stop(n){var r,s;this.done||((r=this.sub)==null||r.unsubscribe(),this.clearTimers(),(s=this.statusIterator)==null||s.stop(),this._push(()=>{super.stop(n),this.listeners.forEach(i=>{i.stop()})}))}parseOptions(n,r=!1){const s=n||{};if(s.max_messages=s.max_messages||0,s.max_bytes=s.max_bytes||0,s.max_messages!==0&&s.max_bytes!==0)throw new Error("only specify one of max_messages or max_bytes");if(s.max_messages===0&&(s.max_messages=100),s.expires=s.expires||3e4,s.expires<1e3)throw new Error("expires should be at least 1000ms");if(s.idle_heartbeat=s.idle_heartbeat||s.expires/2,s.idle_heartbeat=s.idle_heartbeat>3e4?3e4:s.idle_heartbeat,r){const i=Math.round(s.max_messages*.75)||1;s.threshold_messages=s.threshold_messages||i;const o=Math.round(s.max_bytes*.75)||1;s.threshold_bytes=s.threshold_bytes||o}return s}status(){const n=new ht;return this.listeners.push(n),Promise.resolve(n)}}class Ru extends ht{constructor(){super();g(this,"src");g(this,"listeners");this.listeners=[]}setSource(n){this.src&&(this.src.resetHandler=void 0,this.src.setCleanupHandler(),this.src.stop()),this.src=n,this.src.setCleanupHandler(r=>{this.stop(r||void 0)}),(async()=>{const r=await this.src.status();for await(const s of r)this.notify(s.type,s.data)})().catch(()=>{})}notify(n,r){this.listeners.length>0&&this.listeners.forEach(s=>{s.done||s.push({type:n,data:r})})}stop(n){var r;this.done||((r=this.src)==null||r.stop(n),super.stop(n),this.listeners.forEach(s=>{s.stop()}))}close(){return this.stop(),this.iterClosed}closed(){return this.iterClosed}status(){const n=new ht;return this.listeners.push(n),Promise.resolve(n)}}class ed{constructor(t,n){g(this,"api");g(this,"_info");g(this,"stream");g(this,"name");this.api=t,this._info=n,this.stream=n.stream_name,this.name=n.name}consume(t={max_messages:100,expires:3e4}){return Promise.resolve(new Bo(this,t,!0))}fetch(t={max_messages:100,expires:3e4}){const n=new Bo(this,t,!1),r=Math.round(n.opts.expires*1.05),s=Gr(r);return n.closed().catch(()=>{}).finally(()=>{s.cancel()}),s.catch(()=>{n.close().catch()}),n.trackTimeout(s),Promise.resolve(n)}next(t={expires:3e4}){const n=Xe(),r=t;r.max_messages=1;const s=new Bo(this,r,!1),i=Math.round(s.opts.expires*1.05);i>=6e4&&(async()=>{for await(const a of await s.status())if(a.type===Tn.HeartbeatsMissed&&a.data>=2){n.reject(new Error("consumer missed heartbeats"));break}})().catch(),(async()=>{for await(const a of s){n.resolve(a);break}})().catch(()=>{});const o=Gr(i);return s.closed().then(a=>{a?n.reject(a):n.resolve(null)}).catch(a=>{n.reject(a)}).finally(()=>{o.cancel()}),o.catch(a=>{n.resolve(null),s.close().catch()}),s.trackTimeout(o),n}delete(){const{stream_name:t,name:n}=this._info;return this.api.delete(t,n)}info(t=!1){if(t)return Promise.resolve(this._info);const{stream_name:n,name:r}=this._info;return this.api.info(n,r).then(s=>(this._info=s,this._info))}}class V1{constructor(t,n,r={}){g(this,"api");g(this,"consumerOpts");g(this,"consumer");g(this,"opts");g(this,"cursor");g(this,"stream");g(this,"namePrefix");g(this,"serial");g(this,"currentConsumer");g(this,"userCallback");g(this,"iter");g(this,"type");g(this,"startSeq");this.api=t,this.stream=n,this.cursor={stream_seq:1,deliver_seq:0},this.namePrefix=Cr.next(),this.serial=0,this.currentConsumer=null,this.userCallback=null,this.iter=null,this.type=rn.Unset,this.consumerOpts=r,this.startSeq=this.consumerOpts.opt_start_seq||0,this.cursor.stream_seq=this.startSeq>0?this.startSeq-1:0}getConsumerOpts(t){this.serial++;const n=`${this.namePrefix}_${this.serial}`;t=t===0?1:t;const r={name:n,deliver_policy:st.StartSequence,opt_start_seq:t,ack_policy:ut.None,inactive_threshold:tt(5*60*1e3),num_replicas:1};return this.consumerOpts.headers_only===!0&&(r.headers_only=!0),Array.isArray(this.consumerOpts.filterSubjects)&&(r.filter_subjects=this.consumerOpts.filterSubjects),typeof this.consumerOpts.filterSubjects=="string"&&(r.filter_subject=this.consumerOpts.filterSubjects),this.consumerOpts.replay_policy&&(r.replay_policy=this.consumerOpts.replay_policy),t===this.startSeq+1&&(r.deliver_policy=this.consumerOpts.deliver_policy||st.StartSequence,(this.consumerOpts.deliver_policy===st.LastPerSubject||this.consumerOpts.deliver_policy===st.New||this.consumerOpts.deliver_policy===st.Last)&&(delete r.opt_start_seq,r.deliver_policy=this.consumerOpts.deliver_policy),r.deliver_policy===st.LastPerSubject&&typeof r.filter_subjects>"u"&&typeof r.filter_subject>"u"&&(r.filter_subject=">"),this.consumerOpts.opt_start_time&&(delete r.opt_start_seq,r.deliver_policy=st.StartTime,r.opt_start_time=this.consumerOpts.opt_start_time),this.consumerOpts.inactive_threshold&&(r.inactive_threshold=tt(this.consumerOpts.inactive_threshold))),r}async resetConsumer(t=0){var i,o,a,c;(i=this.consumer)==null||i.delete().catch(()=>{}),t=t===0?1:t,this.cursor.deliver_seq=0;const n=this.getConsumerOpts(t);n.max_deliver=1,n.mem_storage=!0;const r=cc();let s;for(let l=0;;l++)try{s=await this.api.add(this.stream,n),(o=this.iter)==null||o.notify(Tn.OrderedConsumerRecreated,s.name);break}catch(u){if(u.message==="stream not found"&&((a=this.iter)==null||a.notify(Tn.StreamNotFound,l),this.type===rn.Fetch||this.opts.abort_on_missing_resource===!0))return(c=this.iter)==null||c.stop(u),Promise.reject(u);if(t===0&&l>=30)throw u;await Qr(r.backoff(l+1))}return s}internalHandler(t){return n=>{var s;if(this.serial!==t)return;const r=n.info.deliverySequence;if(r!==this.cursor.deliver_seq+1){this.reset(this.opts);return}this.cursor.deliver_seq=r,this.cursor.stream_seq=n.info.streamSequence,this.userCallback?this.userCallback(n):(s=this.iter)==null||s.push(n)}}async reset(t={max_messages:100,expires:3e4},n=!1){this.currentConsumer=await this.resetConsumer(this.cursor.stream_seq+1),this.iter===null&&(this.iter=new Ru),this.consumer=new ed(this.api,this.currentConsumer);const r=t;r.callback=this.internalHandler(this.serial);let s=null;if(this.type===rn.Fetch&&n)s=await this.consumer.fetch(t);else if(this.type===rn.Consume)s=await this.consumer.consume(t);else return Promise.reject("reset called with unset consumer type");const i=s;return i.forOrderedConsumer=!0,i.resetHandler=()=>{this.reset(this.opts)},this.iter.setSource(i),this.iter}consume(t={max_messages:100,expires:3e4}){if(t.bind)return Promise.reject(new Error("bind is not supported"));if(this.type===rn.Fetch)return Promise.reject(new Error("ordered consumer initialized as fetch"));if(this.type===rn.Consume)return Promise.reject(new Error("ordered consumer doesn't support concurrent consume"));const{callback:r}=t;return r&&(this.userCallback=r),this.type=rn.Consume,this.opts=t,this.reset(t)}fetch(t={max_messages:100,expires:3e4}){var s;if(t.bind)return Promise.reject(new Error("bind is not supported"));if(this.type===rn.Consume)return Promise.reject(new Error("ordered consumer already initialized as consume"));if(((s=this.iter)==null?void 0:s.done)===!1)return Promise.reject(new Error("ordered consumer doesn't support concurrent fetch"));const{callback:r}=t;return r&&(this.userCallback=r),this.type=rn.Fetch,this.opts=t,this.iter=new Ru,this.reset(t,!0)}async next(t={expires:3e4}){const n=t;if(n.bind)return Promise.reject(new Error("bind is not supported"));n.max_messages=1;const r=Xe();return n.callback=i=>{this.userCallback=null,r.resolve(i)},(await this.fetch(n)).iterClosed.then(i=>{i&&r.reject(i),r.resolve(null)}).catch(i=>{r.reject(i)}),r}delete(){return this.currentConsumer?this.api.delete(this.stream,this.currentConsumer.name).then(t=>Promise.resolve(t)).catch(t=>Promise.reject(t)).finally(()=>{this.currentConsumer=null}):Promise.resolve(!1)}async info(t){return this.currentConsumer==null?(this.currentConsumer=await this.resetConsumer(this.serial),Promise.resolve(this.currentConsumer)):t&&this.currentConsumer?Promise.resolve(this.currentConsumer):this.api.info(this.stream,this.currentConsumer.name)}}class td{constructor(t){g(this,"api");g(this,"notified");this.api=t,this.notified=!1}checkVersion(){const t=this.api.nc.features.get(je.JS_SIMPLIFICATION);return t.ok?Promise.resolve():Promise.reject(new Error(`consumers framework is only supported on servers ${t.min} or better`))}async get(t,n={}){return typeof n=="object"?this.ordered(t,n):(await this.checkVersion(),this.api.info(t,n).then(r=>r.config.deliver_subject!==void 0?Promise.reject(new Error("push consumer not supported")):new ed(this.api,r)).catch(r=>Promise.reject(r)))}async ordered(t,n){await this.checkVersion();const r=this.api;return new pc(r.nc,r.opts).info(t).then(i=>Promise.resolve(new V1(this.api,t,n))).catch(i=>Promise.reject(i))}}class po{constructor(t,n){g(this,"api");g(this,"_info");this.api=t,this._info=n}get name(){return this._info.config.name}alternates(){return this.info().then(t=>t.alternates?t.alternates:[])}async best(){if(await this.info(),this._info.alternates){const t=await this.api.info(this._info.alternates[0].name);return new po(this.api,t)}else return this}info(t=!1,n){return t?Promise.resolve(this._info):this.api.info(this.name,n).then(r=>(this._info=r,this._info))}getConsumer(t){return new td(new dc(this.api.nc,this.api.opts)).get(this.name,t)}getMessage(t){return this.api.getMessage(this.name,t)}deleteMessage(t,n){return this.api.deleteMessage(this.name,t,n)}}class pc extends Ks{constructor(t,n){super(t,n)}checkStreamConfigVersions(t){const n=this.nc;if(t.metadata){const{min:s,ok:i}=n.features.get(je.JS_STREAM_CONSUMER_METADATA);if(!i)throw new Error(`stream 'metadata' requires server ${s}`)}if(t.first_seq){const{min:s,ok:i}=n.features.get(je.JS_STREAM_FIRST_SEQ);if(!i)throw new Error(`stream 'first_seq' requires server ${s}`)}if(t.subject_transform){const{min:s,ok:i}=n.features.get(je.JS_STREAM_SUBJECT_TRANSFORM);if(!i)throw new Error(`stream 'subject_transform' requires server ${s}`)}if(t.compression){const{min:s,ok:i}=n.features.get(je.JS_STREAM_COMPRESSION);if(!i)throw new Error(`stream 'compression' requires server ${s}`)}if(t.consumer_limits){const{min:s,ok:i}=n.features.get(je.JS_DEFAULT_CONSUMER_LIMITS);if(!i)throw new Error(`stream 'consumer_limits' requires server ${s}`)}function r(s,i){var a;if((((a=i.subject_transforms)==null?void 0:a.length)||0)>0){const{min:c,ok:l}=n.features.get(je.JS_STREAM_SOURCE_SUBJECT_TRANSFORM);if(!l)throw new Error(`${s} 'subject_transforms' requires server ${c}`)}}t.sources&&t.sources.forEach(s=>{r("stream sources",s)}),t.mirror&&r("stream mirror",t.mirror)}async add(t={}){var s;this.checkStreamConfigVersions(t),It(t.name),t.mirror=fi(t.mirror),t.sources=(s=t.sources)==null?void 0:s.map(fi);const r=await this._request(`${this.prefix}.STREAM.CREATE.${t.name}`,t);return this._fixInfo(r),r}async delete(t){return It(t),(await this._request(`${this.prefix}.STREAM.DELETE.${t}`)).success}async update(t,n={}){var a;if(typeof t=="object"){const c=t;t=c.name,n=c,console.trace("\x1B[33m >> streams.update(config: StreamConfig) api changed to streams.update(name: string, config: StreamUpdateConfig) - this shim will be removed - update your code. \x1B[0m")}this.checkStreamConfigVersions(n),It(t);const r=await this.info(t),s=Object.assign(r.config,n);s.mirror=fi(s.mirror),s.sources=(a=s.sources)==null?void 0:a.map(fi);const o=await this._request(`${this.prefix}.STREAM.UPDATE.${t}`,s);return this._fixInfo(o),o}async info(t,n){It(t);const r=`${this.prefix}.STREAM.INFO.${t}`;let i=await this._request(r,n),{total:o,limit:a}=i,c=i.state.subjects?Object.getOwnPropertyNames(i.state.subjects).length:1;if(o&&o>c){const l=[i],u=n||{};let f=0;for(;o>c;){f++,u.offset=a*f;const d=await this._request(r,u);o=d.total,l.push(d);const E=Object.getOwnPropertyNames(d.state.subjects).length;if(c+=E,E{const o=i;return o.streams.forEach(a=>{this._fixInfo(a)}),o.streams},s=`${this.prefix}.STREAM.LIST`;return new us(s,r,this,n)}_fixInfo(t){t.config.sealed=t.config.sealed||!1,t.config.deny_delete=t.config.deny_delete||!1,t.config.deny_purge=t.config.deny_purge||!1,t.config.allow_rollup_hdrs=t.config.allow_rollup_hdrs||!1}async purge(t,n){if(n){const{keep:s,seq:i}=n;if(typeof s=="number"&&typeof i=="number")throw new Error("can specify one of keep or seq")}return It(t),await this._request(`${this.prefix}.STREAM.PURGE.${t}`,n)}async deleteMessage(t,n,r=!0){It(t);const s={seq:n};return r||(s.no_erase=!0),(await this._request(`${this.prefix}.STREAM.MSG.DELETE.${t}`,s)).success}async getMessage(t,n){It(t);const s=await this._request(`${this.prefix}.STREAM.MSG.GET.${t}`,n);return new nd(s)}find(t){return this.findStream(t)}listKvs(){const t=r=>{var c;const i=r.streams.filter(l=>l.config.name.startsWith(sn));i.forEach(l=>{this._fixInfo(l)});let o="";return i.length&&(o=((c=this.nc.info)==null?void 0:c.cluster)??""),i.map(l=>new Zh(l,o))},n=`${this.prefix}.STREAM.LIST`;return new us(n,t,this)}listObjectStores(){const t=r=>{const i=r.streams.filter(a=>a.config.name.startsWith(mc));return i.forEach(a=>{this._fixInfo(a)}),i.map(a=>new Sa(a))},n=`${this.prefix}.STREAM.LIST`;return new us(n,t,this)}names(t=""){const n=t!=null&&t.length?{subject:t}:{},r=i=>i.streams,s=`${this.prefix}.STREAM.NAMES`;return new us(s,r,this,n)}async get(t){const n=await this.info(t);return Promise.resolve(new po(this,n))}}class W1 extends Ks{constructor(t,n){super(t,n)}async getMessage(t,n){It(t);let r=n;const{last_by_subj:s}=r;s&&(r=null);const i=r?this.jc.encode(r):Vt,o=this.opts.apiPrefix||"$JS.API",a=s?`${o}.DIRECT.GET.${t}.${s}`:`${o}.DIRECT.GET.${t}`,c=await this.nc.request(a,i),l=Ur(c);if(l)return Promise.reject(l);const u=new ka(c);return Promise.resolve(u)}async getBatch(t,n){It(t);const s=`${this.opts.apiPrefix||"$JS.API"}.DIRECT.GET.${t}`;if(!Array.isArray(n.multi_last)||n.multi_last.length===0)return Promise.reject("multi_last is required");const i=JSON.stringify(n,(c,l)=>c==="up_to_time"&&l instanceof Date?l.toISOString():l),o=new ht,a=await this.nc.requestMany(s,i,{strategy:ln.SentinelMsg});return(async()=>{var f,h,d;let c=!1,l=!1,u;for await(const E of a){if(!c){c=!0;const P=((f=E.headers)==null?void 0:f.code)||0;if(P!==0&&P<200||P>299){u=(h=E.headers)==null?void 0:h.description.toLowerCase();break}if(((d=E.headers)==null?void 0:d.get("Nats-Num-Pending"))===""){l=!0;break}}if(E.data.length===0)break;o.push(new ka(E))}o.push(()=>{if(l)throw new Error("batch direct get not supported by the server");if(u)throw new Error(`bad request: ${u}`);o.stop()})})(),Promise.resolve(o)}}class ka{constructor(t){g(this,"data");g(this,"header");if(!t.headers)throw new Error("headers expected");this.data=t.data,this.header=t.headers}get subject(){return this.header.last(Rr.Subject)}get seq(){const t=this.header.last(Rr.Sequence);return typeof t=="string"?parseInt(t):0}get time(){return new Date(Date.parse(this.timestamp))}get timestamp(){return this.header.last(Rr.TimeStamp)}get stream(){return this.header.last(Rr.Stream)}json(t){return un(t).decode(this.data)}string(){return Ht.decode(this.data)}}g(ka,"jc");class G1 extends Ks{constructor(n,r){super(n,r);g(this,"streams");g(this,"consumers");g(this,"direct");this.streams=new pc(n,r),this.consumers=new dc(n,r),this.direct=new W1(n,r)}async getAccountInfo(){return await this._request(`${this.prefix}.INFO`)}jetstream(){return this.nc.jetstream(this.getOptions())}advisories(){const n=new ht;return this.nc.subscribe("$JS.EVENT.ADVISORY.>",{callback:(r,s)=>{if(r)throw r;try{const i=this.parseJsResponse(s),o=i.type.split("."),a=o[o.length-1];n.push({kind:a,data:i})}catch(i){n.stop(i)}}}),n}}class nd{constructor(t){g(this,"_header");g(this,"smr");this.smr=t}get subject(){return this.smr.message.subject}get seq(){return this.smr.message.seq}get timestamp(){return this.smr.message.time}get time(){return new Date(Date.parse(this.timestamp))}get data(){return this.smr.message.data?this._parse(this.smr.message.data):Vt}get header(){if(!this._header)if(this.smr.message.hdrs){const t=this._parse(this.smr.message.hdrs);this._header=Qn.decode(t)}else this._header=Fn();return this._header}_parse(t){const n=atob(t),r=n.length,s=new Uint8Array(r);for(let i=0;inew po(this.api,n))}}class qo{constructor(t){g(this,"info");g(this,"hdrs");this.info=t}get name(){return this.info.name}get description(){return this.info.description??""}get headers(){return this.hdrs||(this.hdrs=Qn.fromRecord(this.info.headers||{})),this.hdrs}get options(){return this.info.options}get bucket(){return this.info.bucket}get chunks(){return this.info.chunks}get deleted(){return this.info.deleted??!1}get digest(){return this.info.digest}get mtime(){return this.info.mtime}get nuid(){return this.info.nuid}get size(){return this.info.size}get revision(){return this.info.revision}get metadata(){return this.info.metadata||{}}isLink(){var t,n;return((t=this.info.options)==null?void 0:t.link)!==void 0&&((n=this.info.options)==null?void 0:n.link)!==null}}function Mu(e){const t={name:e.name,description:e.description??"",options:e.options,metadata:e.metadata};if(e.headers){const n=e.headers;t.headers=n.toRecord()}return t}function J1(){return new ReadableStream({pull(e){e.enqueue(new Uint8Array(0)),e.close()}})}class Cs{constructor(t,n,r){g(this,"jsm");g(this,"js");g(this,"stream");g(this,"name");this.name=t,this.jsm=n,this.js=r}_checkNotEmpty(t){return!t||t.length===0?{name:t,error:new Error("name cannot be empty")}:{name:t}}async info(t){const n=await this.rawInfo(t);return n?new qo(n):null}async list(){const t=[],n=await this.watch({ignoreDeletes:!0,includeHistory:!0});for await(const r of n){if(r===null)break;t.push(r)}return Promise.resolve(t)}async rawInfo(t){const{name:n,error:r}=this._checkNotEmpty(t);if(r)return Promise.reject(r);const s=this._metaSubject(n);try{const i=await this.jsm.streams.getMessage(this.stream,{last_by_subj:s}),a=un().decode(i.data);return a.revision=i.seq,a}catch(i){return i.code==="404"?null:Promise.reject(i)}}async _si(t){try{return await this.jsm.streams.info(this.stream,t)}catch(n){return n.code==="404"?null:Promise.reject(n)}}async seal(){let t=await this._si();return t===null?Promise.reject(new Error("object store not found")):(t.config.sealed=!0,t=await this.jsm.streams.update(this.stream,t.config),Promise.resolve(new Sa(t)))}async status(t){const n=await this._si(t);return n===null?Promise.reject(new Error("object store not found")):Promise.resolve(new Sa(n))}destroy(){return this.jsm.streams.delete(this.stream)}async _put(t,n,r){var M;const s=this.js.getOptions();r=r||{timeout:s.timeout},r.timeout=r.timeout||s.timeout,r.previousRevision=r.previousRevision??void 0;const{timeout:i,previousRevision:o}=r,a=this.js.nc.info,c=(a==null?void 0:a.max_payload)||1024;t=t||{},t.options=t.options||{};let l=((M=t.options)==null?void 0:M.max_chunk_size)||128*1024;l=l>c?c:l,t.options.max_chunk_size=l;const u=await this.info(t.name),{name:f,error:h}=this._checkNotEmpty(t.name);if(h)return Promise.reject(h);const d=Cr.next(),E=this._chunkSubject(d),P=this._metaSubject(f),L=Object.assign({bucket:this.name,nuid:d,size:0,chunks:0},Mu(t)),I=Xe(),N=[],O=new Jr;try{const U=n?n.getReader():null,k=new Eu;for(;;){const{done:V,value:X}=U?await U.read():{done:!0,value:void 0};if(V){if(O.size()>0){const Ne=O.drain();k.update(Ne),L.chunks++,L.size+=Ne.length,N.push(this.js.publish(E,Ne,{timeout:i}))}await Promise.all(N),N.length=0,L.mtime=new Date().toISOString();const Q=k.digest("base64"),ae=Q.length%3,se=ae>0?"=".repeat(ae):"";L.digest=`${Tu}${Q}${se}`,L.deleted=!1;const Z=Fn();typeof o=="number"&&Z.set(yn.ExpectedLastSubjectSequenceHdr,`${o}`),Z.set(Tt.RollupHdr,Tt.RollupValueSubject);const we=await this.js.publish(P,un().encode(L),{headers:Z,timeout:i});if(L.revision=we.seq,u)try{await this.jsm.streams.purge(this.stream,{filter:`$O.${this.name}.C.${u.nuid}`})}catch{}I.resolve(new qo(L));break}if(X)for(O.fill(X);O.size()>l;){L.chunks++,L.size+=l;const Q=O.drain(t.options.max_chunk_size);k.update(Q),N.push(this.js.publish(E,Q,{timeout:i}))}}}catch(U){await this.jsm.streams.purge(this.stream,{filter:E}),I.reject(U)}return I}putBlob(t,n,r){function s(i){return new ReadableStream({pull(o){o.enqueue(i),o.close()}})}return n===null&&(n=new Uint8Array(0)),this.put(t,s(n),r)}put(t,n,r){var s;return(s=t==null?void 0:t.options)!=null&&s.link?Promise.reject(new Error("link cannot be set when putting the object in bucket")):this._put(t,n,r)}async getBlob(t){async function n(i){const o=new Jr,a=i.getReader();for(;;){const{done:c,value:l}=await a.read();if(c)return o.drain();l&&l.length&&o.fill(l)}}const r=await this.get(t);if(r===null)return Promise.resolve(null);const s=await Promise.all([r.error,n(r.data)]);return s[0]?Promise.reject(s[0]):Promise.resolve(s[1])}async get(t){const n=await this.rawInfo(t);if(n===null||n.deleted)return Promise.resolve(null);if(n.options&&n.options.link){const u=n.options.link.name||"";if(u==="")throw new Error("link is a bucket");return(n.options.link.bucket!==this.name?await Cs.create(this.js,n.options.link.bucket):this).get(u)}const r=Xe(),s={info:new qo(n),error:r};if(n.size===0)return s.data=J1(),r.resolve(null),Promise.resolve(s);let i;const o=Rn();o.orderedConsumer();const a=new Eu,c=`$O.${this.name}.C.${n.nuid}`,l=await this.js.subscribe(c,o);return(async()=>{for await(const u of l)if(u.data.length>0&&(a.update(u.data),i.enqueue(u.data)),u.info.pending===0){const f=a.digest("base64"),h=f.length%3,d=h>0?"=".repeat(h):"",E=`${Tu}${f}${d}`;E!==n.digest?i.error(new Error(`received a corrupt object, digests do not match received: ${n.digest} calculated ${E}`)):i.close(),l.unsubscribe()}})().then(()=>{r.resolve()}).catch(u=>{i.error(u),r.reject(u)}),s.data=new ReadableStream({start(u){i=u},cancel(){l.unsubscribe()}}),s}linkStore(t,n){if(!(n instanceof Cs))return Promise.reject("bucket required");const r=n,{name:s,error:i}=this._checkNotEmpty(t);if(i)return Promise.reject(i);const o={name:s,options:{link:{bucket:r.name}}};return this._put(o,null)}async link(t,n){const{name:r,error:s}=this._checkNotEmpty(t);if(s)return Promise.reject(s);if(n.deleted)return Promise.reject(new Error("src object is deleted"));if(n.isLink())return Promise.reject(new Error("src object is a link"));const i=await this.rawInfo(t);if(i!==null&&!i.deleted)return Promise.reject(new Error("an object already exists with that name"));const o={bucket:n.bucket,name:n.name},a={name:r,bucket:n.bucket,options:{link:o}};await this.js.publish(this._metaSubject(t),JSON.stringify(a));const c=await this.info(t);return Promise.resolve(c)}async delete(t){const n=await this.rawInfo(t);if(n===null)return Promise.resolve({purged:0,success:!1});n.deleted=!0,n.size=0,n.chunks=0,n.digest="";const r=un(),s=Fn();return s.set(Tt.RollupHdr,Tt.RollupValueSubject),await this.js.publish(this._metaSubject(n.name),r.encode(n),{headers:s}),this.jsm.streams.purge(this.stream,{filter:this._chunkSubject(n.nuid)})}async update(t,n={}){const r=await this.rawInfo(t);if(r===null)return Promise.reject(new Error("object not found"));if(r.deleted)return Promise.reject(new Error("cannot update meta for a deleted object"));n.name=n.name??r.name;const{name:s,error:i}=this._checkNotEmpty(n.name);if(i)return Promise.reject(i);if(t!==n.name){const c=await this.info(n.name);if(c&&!c.deleted)return Promise.reject(new Error("an object already exists with that name"))}n.name=s;const o=Object.assign({},r,Mu(n)),a=await this.js.publish(this._metaSubject(o.name),JSON.stringify(o));return t!==n.name&&await this.jsm.streams.purge(this.stream,{filter:this._metaSubject(t)}),Promise.resolve(a)}async watch(t={}){t.includeHistory=t.includeHistory??!1,t.ignoreDeletes=t.ignoreDeletes??!1;let n=!1;const r=new ht,s=this._metaSubjectAll();try{await this.jsm.streams.getMessage(this.stream,{last_by_subj:s})}catch(c){c.code==="404"?(r.push(null),n=!0):r.stop(c)}const i=un(),o=Rn();o.orderedConsumer(),t.includeHistory?o.deliverLastPerSubject():(n=!0,o.deliverNew()),o.callback((c,l)=>{var u;if(c){r.stop(c);return}if(l!==null){const f=i.decode(l.data);f.deleted&&t.ignoreDeletes===!0||r.push(f),((u=l.info)==null?void 0:u.pending)===0&&!n&&(n=!0,r.push(null))}});const a=await this.js.subscribe(s,o);return r._data=a,r.iterClosed.then(()=>{a.unsubscribe()}),a.closed.then(()=>{r.stop()}).catch(c=>{r.stop(c)}),r}_chunkSubject(t){return`$O.${this.name}.C.${t}`}_metaSubject(t){return`$O.${this.name}.M.${vs.encode(t)}`}_metaSubjectAll(){return`$O.${this.name}.M.>`}async init(t={}){try{this.stream=D1(this.name)}catch(s){return Promise.reject(s)}const n=(t==null?void 0:t.ttl)||0;delete t.ttl;const r=Object.assign({max_age:n},t);r.name=this.stream,r.allow_direct=!0,r.allow_rollup_hdrs=!0,r.discard=Ds.New,r.subjects=[`$O.${this.name}.C.>`,`$O.${this.name}.M.>`],t.placement&&(r.placement=t.placement),t.metadata&&(r.metadata=t.metadata),typeof t.compression=="boolean"&&(r.compression=t.compression?tr.S2:tr.None);try{await this.jsm.streams.info(r.name)}catch(s){s.message==="stream not found"&&await this.jsm.streams.add(r)}}static async create(t,n,r={}){const s=await t.jetstreamManager(),i=new Cs(n,s,t);return await i.init(r),Promise.resolve(i)}}class Y1{constructor(t){g(this,"js");this.js=t}kv(t,n={}){const r=this.js,{ok:s,min:i}=r.nc.features.get(je.JS_KV);return s?n.bindOnly?Bs.bind(this.js,t,n):Bs.create(this.js,t,n):Promise.reject(new Error(`kv is only supported on servers ${i} or better`))}os(t,n={}){var o;if(typeof((o=crypto==null?void 0:crypto.subtle)==null?void 0:o.digest)!="function")return Promise.reject(new Error("objectstore: unable to calculate hashes - crypto.subtle.digest with sha256 support is required"));const r=this.js,{ok:s,min:i}=r.nc.features.get(je.JS_OBJECTSTORE);return s?Cs.create(this.js,t,n):Promise.reject(new Error(`objectstore is only supported on servers ${i} or better`))}}class gc extends Ks{constructor(n,r){super(n,r);g(this,"consumers");g(this,"streams");g(this,"consumerAPI");g(this,"streamAPI");this.consumerAPI=new dc(n,r),this.streamAPI=new pc(n,r),this.consumers=new td(this.consumerAPI),this.streams=new K1(this.streamAPI)}jetstreamManager(n){n===void 0&&(n=this.opts.checkAPI);const r=Object.assign({},this.opts,{checkAPI:n});return this.nc.jetstreamManager(r)}get apiPrefix(){return this.prefix}get views(){return new Y1(this)}async publish(n,r=Vt,s){s=s||{},s.expect=s.expect||{};const i=(s==null?void 0:s.headers)||Fn();s&&(s.msgID&&i.set(yn.MsgIdHdr,s.msgID),s.expect.lastMsgID&&i.set(yn.ExpectedLastMsgIdHdr,s.expect.lastMsgID),s.expect.streamName&&i.set(yn.ExpectedStreamHdr,s.expect.streamName),typeof s.expect.lastSequence=="number"&&i.set(yn.ExpectedLastSeqHdr,`${s.expect.lastSequence}`),typeof s.expect.lastSubjectSequence=="number"&&i.set(yn.ExpectedLastSubjectSequenceHdr,`${s.expect.lastSubjectSequence}`));const o=s.timeout||this.timeout,a={};o&&(a.timeout=o),s&&(a.headers=i);let{retries:c,retry_delay:l}=s;c=c||1,l=l||250;let u;for(let h=0;hi&&(i=s),s=s<0?0:tt(s);const o={batch:1,no_wait:s===0,expires:s},a=await this.nc.request(`${this.prefix}.CONSUMER.MSG.NEXT.${n}.${r}`,this.jc.encode(o),{noMux:!0,timeout:i}),c=Ur(a);if(c)throw c;return qs(a)}fetch(n,r,s={}){It(n),Dr(r);let i=null;const o=(s.max_bytes??0)>0;let a=0;const c=o?s.max_bytes:0;let l=null;const u={};if(u.batch=s.batch||1,c){const N=this.nc.features.get(je.JS_PULL_MAX_BYTES);if(!N.ok)throw new Error(`max_bytes is only supported on servers ${N.min} or better`);u.max_bytes=c}u.no_wait=s.no_wait||!1,u.no_wait&&u.expires&&(u.expires=0);const f=s.expires||0;if(f&&(u.expires=tt(f)),f===0&&u.no_wait===!1)throw new Error("expires or no_wait is required");const h=s.idle_heartbeat||0;h&&(u.idle_heartbeat=tt(h),s.delay_heartbeat===!0&&(u.idle_heartbeat=tt(h*4)));const d=new ht,E=u.batch;let P=0;d.protocolFilterFn=(N,O=!1)=>ba(N.msg)?(l==null||l.work(),!1):!0,d.dispatchedFn=N=>{if(N){if(o&&(a+=N.data.length),P++,i&&N.info.pending===0)return;(d.getPending()===1&&N.info.pending===0||E===P||c>0&&a>=c)&&d.stop()}};const L=En(this.nc.options.inboxPrefix),I=this.nc.subscribe(L,{max:s.batch,callback:(N,O)=>{N===null&&(N=Ur(O)),N!==null?(i&&(i.cancel(),i=null),ww(N)?d.stop(sd(N)===null?void 0:N):d.stop(N)):(l==null||l.work(),d.received++,d.push(qs(O)))}});return f&&(i=Gr(f),i.catch(()=>{I.isClosed()||(I.drain().catch(()=>{}),i=null),l&&l.cancel()})),(async()=>{try{h&&(l=new hc(h,N=>(d.push(()=>{d.err=new ge(`${Wt.IdleHeartbeatMissed}: ${N}`,ue.JetStreamIdleHeartBeat)}),!0)))}catch{}await I.closed,i!==null&&(i.cancel(),i=null),l&&l.cancel(),d.stop()})().catch(),this.nc.publish(`${this.prefix}.CONSUMER.MSG.NEXT.${n}.${r}`,this.jc.encode(u),{reply:L}),d}async pullSubscribe(n,r=Rn()){const s=await this._processOptions(n,r);if(s.ordered)throw new Error("pull subscribers cannot be be ordered");if(s.config.deliver_subject)throw new Error("consumer info specifies deliver_subject - pull consumers cannot have deliver_subject set");const i=s.config.ack_policy;if(i===ut.None||i===ut.All)throw new Error("ack policy for pull consumers must be explicit");const o=this._buildTypedSubscriptionOpts(s),a=new eE(this,s.deliver,o);a.info=s;try{await this._maybeCreateConsumer(s)}catch(c){throw a.unsubscribe(),c}return a}async subscribe(n,r=Rn()){const s=await this._processOptions(n,r);if(!s.isBind&&!s.config.deliver_subject)throw new Error("push consumer requires deliver_subject");const i=this._buildTypedSubscriptionOpts(s),o=new rd(this,s.deliver,i);o.info=s;try{await this._maybeCreateConsumer(s)}catch(a){throw o.unsubscribe(),a}return o._maybeSetupHbMonitoring(),o}async _processOptions(n,r=Rn()){const s=xu(r)?r.getOpts():r;if(s.isBind=xu(r)?r.isBind:!1,s.flow_control={heartbeat_count:0,fc_count:0,consumer_restarts:0},s.ordered){if(s.ordered_consumer_sequence={stream_seq:0,delivery_seq:0},s.config.ack_policy!==ut.NotSet&&s.config.ack_policy!==ut.None)throw new ge("ordered consumer: ack_policy can only be set to 'none'",ue.ApiError);if(s.config.durable_name&&s.config.durable_name.length>0)throw new ge("ordered consumer: durable_name cannot be set",ue.ApiError);if(s.config.deliver_subject&&s.config.deliver_subject.length>0)throw new ge("ordered consumer: deliver_subject cannot be set",ue.ApiError);if(s.config.max_deliver!==void 0&&s.config.max_deliver>1)throw new ge("ordered consumer: max_deliver cannot be set",ue.ApiError);if(s.config.deliver_group&&s.config.deliver_group.length>0)throw new ge("ordered consumer: deliver_group cannot be set",ue.ApiError);s.config.deliver_subject=En(this.nc.options.inboxPrefix),s.config.ack_policy=ut.None,s.config.max_deliver=1,s.config.flow_control=!0,s.config.idle_heartbeat=s.config.idle_heartbeat||tt(5e3),s.config.ack_wait=tt(22*60*60*1e3),s.config.mem_storage=!0,s.config.num_replicas=1}if(s.config.ack_policy===ut.NotSet&&(s.config.ack_policy=ut.All),s.api=this,s.config=s.config||{},s.stream=s.stream?s.stream:await this.findStream(n),s.attached=!1,s.config.durable_name)try{const i=await this.consumerAPI.info(s.stream,s.config.durable_name);if(i){if(i.config.filter_subject&&i.config.filter_subject!==n)throw new Error("subject does not match consumer");const o=s.config.deliver_group??"";if(o===""&&i.push_bound===!0)throw new Error("duplicate subscription");const a=i.config.deliver_group??"";if(o!==a)throw a===""?new Error("durable requires no queue group"):new Error(`durable requires queue group '${a}'`);s.last=i,s.config=i.config,s.attached=!0,s.config.durable_name||(s.name=i.name)}}catch(i){if(i.code!=="404")throw i}return!s.attached&&s.config.filter_subject===void 0&&s.config.filter_subjects===void 0&&(s.config.filter_subject=n),s.deliver=s.config.deliver_subject||En(this.nc.options.inboxPrefix),s}_buildTypedSubscriptionOpts(n){const r={};return r.adapter=tE(n.callbackFn===void 0),r.ingestionFilterFn=gc.ingestionFn(n.ordered),r.protocolFilterFn=(s,i=!1)=>{const o=s;return _a(o.msg)?(i||o.msg.respond(),!1):!0},!n.mack&&n.config.ack_policy!==ut.None&&(r.dispatchedFn=sE),n.callbackFn&&(r.callback=n.callbackFn),r.max=n.max||0,r.queue=n.queue,r}async _maybeCreateConsumer(n){if(n.attached)return;if(n.isBind)throw new Error(`unable to bind - durable consumer ${n.config.durable_name} doesn't exist in ${n.stream}`);n.config=Object.assign({deliver_policy:st.All,ack_policy:ut.Explicit,ack_wait:tt(30*1e3),replay_policy:Kr.Instant},n.config);const r=await this.consumerAPI.add(n.stream,n.config);if(Array.isArray(n.config.filter_subjects&&!Array.isArray(r.config.filter_subjects)))throw new Error("jetstream server doesn't support consumers with multiple filter subjects");n.name=r.name,n.config=r.config,n.last=r}static ingestionFn(n){return(r,s)=>{var c;const i=s;if(!r)return{ingest:!1,protocol:!1};const o=r;if(Ur(o.msg)||(c=i.monitor)==null||c.work(),ba(o.msg)){const l=n?i._checkHbOrderConsumer(o.msg):!0;return n||i.info.flow_control.heartbeat_count++,{ingest:l,protocol:!0}}else if(_a(o.msg))return i.info.flow_control.fc_count++,{ingest:!0,protocol:!0};return{ingest:n?i._checkOrderedConsumer(r):!0,protocol:!1}}}}class _c{constructor(t){g(this,"options");g(this,"protocol");g(this,"draining");g(this,"listeners");g(this,"_services");this.draining=!1,this.options=x1(t),this.listeners=[]}static connect(t={}){return new Promise((n,r)=>{const s=new _c(t);qi.connect(s.options,s).then(i=>{s.protocol=i,async function(){for await(const o of i.status())s.listeners.forEach(a=>{a.push(o)})}(),n(s)}).catch(i=>{r(i)})})}closed(){return this.protocol.closed}async close(){await this.protocol.close()}_check(t,n,r){if(this.isClosed())throw ge.errorForCode(ue.ConnectionClosed);if(n&&this.isDraining()||r&&this.protocol.noMorePublishing)throw ge.errorForCode(ue.ConnectionDraining);if(t=t||"",t.length===0)throw ge.errorForCode(ue.BadSubject)}publish(t,n,r){this._check(t,!1,!0),this.protocol.publish(t,n,r)}publishMessage(t){return this.publish(t.subject,t.data,{reply:t.reply,headers:t.headers})}respondMessage(t){return t.reply?(this.publish(t.reply,t.data,{reply:t.reply,headers:t.headers}),!0):!1}subscribe(t,n={}){this._check(t,!0,!1);const r=new Xh(this.protocol,t,n);return this.protocol.subscribe(r),r}_resub(t,n,r){this._check(n,!0,!1);const s=t;s.max=r,r&&(s.max=r+s.received),this.protocol.resub(s,n)}requestMany(t,n=Vt,r={maxWait:1e3,maxMessages:-1}){const s=!this.protocol.options.noAsyncTraces;try{this._check(t,!0,!0)}catch(c){return Promise.reject(c)}if(r.strategy=r.strategy||ln.Timer,r.maxWait=r.maxWait||1e3,r.maxWait<1)return Promise.reject(new ge("timeout",ue.InvalidOption));const i=new ht;function o(c){i.push(()=>{i.stop(c)})}function a(c,l){c||l===null?o(c===null?void 0:c):i.push(l)}if(r.noMux){const c=s?new Error().stack:null;let l=typeof r.maxMessages=="number"&&r.maxMessages>0?r.maxMessages:-1;const u=this.subscribe(En(this.options.inboxPrefix),{callback:(E,P)=>{var L,I;if(((L=P==null?void 0:P.data)==null?void 0:L.length)===0&&((I=P==null?void 0:P.headers)==null?void 0:I.status)===ue.NoResponders&&(E=ge.errorForCode(ue.NoResponders)),E){c&&(E.stack+=` - -${c}`),f(E);return}a(null,P),r.strategy===ln.Count&&(l--,l===0&&f()),r.strategy===ln.JitterTimer&&(d(),h=setTimeout(()=>{f()},300)),r.strategy===ln.SentinelMsg&&P&&P.data.length===0&&f()}});u.closed.then(()=>{o()}).catch(E=>{i.stop(E)});const f=E=>{E&&i.push(()=>{throw E}),d(),u.drain().then(()=>{o()}).catch(P=>{o()})};i.iterClosed.then(()=>{d(),u==null||u.unsubscribe()}).catch(E=>{d(),u==null||u.unsubscribe()});try{this.publish(t,n,{reply:u.getSubject()})}catch(E){f(E)}let h=setTimeout(()=>{f()},r.maxWait);const d=()=>{h&&clearTimeout(h)}}else{const c=r;c.callback=a,i.iterClosed.then(()=>{l.cancel()}).catch(u=>{l.cancel(u)});const l=new Dw(this.protocol.muxSubscriptions,t,c);this.protocol.request(l);try{this.publish(t,n,{reply:`${this.protocol.muxSubscriptions.baseInbox}${l.token}`,headers:r.headers})}catch(u){l.cancel(u)}}return Promise.resolve(i)}request(t,n,r={timeout:1e3,noMux:!1}){try{this._check(t,!0,!0)}catch(i){return Promise.reject(i)}const s=!this.protocol.options.noAsyncTraces;if(r.timeout=r.timeout||1e3,r.timeout<1)return Promise.reject(new ge("timeout",ue.InvalidOption));if(!r.noMux&&r.reply)return Promise.reject(new ge("reply can only be used with noMux",ue.InvalidOption));if(r.noMux){const i=r.reply?r.reply:En(this.options.inboxPrefix),o=Xe(),a=s?new Error:null,c=this.subscribe(i,{max:1,timeout:r.timeout,callback:(l,u)=>{l?(a&&l.code!==ue.Timeout&&(l.stack+=` - -${a.stack}`),o.reject(l)):(l=Dh(u),l?(a&&(l.stack+=` - -${a.stack}`),o.reject(l)):o.resolve(u))}});return c.requestSubject=t,this.protocol.publish(t,n,{reply:i,headers:r.headers}),o}else{const i=new zh(this.protocol.muxSubscriptions,t,r,s);this.protocol.request(i);try{this.publish(t,n,{reply:`${this.protocol.muxSubscriptions.baseInbox}${i.token}`,headers:r.headers})}catch(a){i.cancel(a)}const o=Promise.race([i.timer,i.deferred]);return o.catch(()=>{i.cancel()}),o}}flush(){return this.isClosed()?Promise.reject(ge.errorForCode(ue.ConnectionClosed)):this.protocol.flush()}drain(){return this.isClosed()?Promise.reject(ge.errorForCode(ue.ConnectionClosed)):this.isDraining()?Promise.reject(ge.errorForCode(ue.ConnectionDraining)):(this.draining=!0,this.protocol.drain())}isClosed(){return this.protocol.isClosed()}isDraining(){return this.draining}getServer(){const t=this.protocol.getServer();return t?t.listen:""}status(){const t=new ht;return t.iterClosed.then(()=>{const n=this.listeners.indexOf(t);this.listeners.splice(n,1)}),this.listeners.push(t),t}get info(){return this.protocol.isClosed()?void 0:this.protocol.info}async context(){return(await this.request("$SYS.REQ.USER.INFO")).json((n,r)=>n==="time"?new Date(Date.parse(r)):r)}stats(){return{inBytes:this.protocol.inBytes,outBytes:this.protocol.outBytes,inMsgs:this.protocol.inMsgs,outMsgs:this.protocol.outMsgs}}async jetstreamManager(t={}){const n=new G1(this,t);if(t.checkAPI!==!1)try{await n.getAccountInfo()}catch(r){const s=r;throw s.code===ue.NoResponders&&(s.code=ue.JetStreamNotEnabled),s}return n}jetstream(t={}){return new gc(this,t)}getServerVersion(){const t=this.info;return t?xr(t.version):void 0}async rtt(){if(!this.protocol._closed&&!this.protocol.connected)throw ge.errorForCode(ue.Disconnect);const t=Date.now();return await this.flush(),Date.now()-t}get features(){return this.protocol.features}get services(){return this._services||(this._services=new X1(this)),this._services}reconnect(){return this.isClosed()?Promise.reject(ge.errorForCode(ue.ConnectionClosed)):this.isDraining()?Promise.reject(ge.errorForCode(ue.ConnectionDraining)):this.protocol.reconnect()}}class X1{constructor(t){g(this,"nc");this.nc=t}add(t){try{return new Js(this.nc,t).start()}catch(n){return Promise.reject(n)}}client(t,n){return new T1(this.nc,t,n)}}class Q1{constructor(t,n,r){g(this,"bucket");g(this,"sm");g(this,"prefixLen");this.bucket=t,this.prefixLen=n,this.sm=r}get key(){return this.sm.subject.substring(this.prefixLen)}get value(){return this.sm.data}get delta(){return 0}get created(){return this.sm.time}get revision(){return this.sm.seq}get operation(){return this.sm.header.get(Hi)||"PUT"}get length(){const t=this.sm.header.get(Tt.MessageSizeHdr)||"";return t!==""?parseInt(t,10):this.sm.data.length}json(){return this.sm.json()}string(){return this.sm.string()}}class Z1{constructor(t,n,r){g(this,"bucket");g(this,"key");g(this,"sm");this.bucket=t,this.key=n,this.sm=r}get value(){return this.sm.data}get created(){return new Date(lc(this.sm.info.timestampNanos))}get revision(){return this.sm.seq}get operation(){var t;return((t=this.sm.headers)==null?void 0:t.get(Hi))||"PUT"}get delta(){return this.sm.info.pending}get length(){var n;const t=((n=this.sm.headers)==null?void 0:n.get(Tt.MessageSizeHdr))||"";return t!==""?parseInt(t,10):this.sm.data.length}json(){return this.sm.json()}string(){return this.sm.string()}}class rd extends Hw{constructor(n,r,s){super(n.nc,r,s);g(this,"js");g(this,"monitor");this.js=n,this.monitor=null,this.sub.closed.then(()=>{this.monitor&&this.monitor.cancel()})}set info(n){this.sub.info=n}get info(){return this.sub.info}_resetOrderedConsumer(n){if(this.info===null||this.sub.isClosed())return;const r=En(this.js.nc.options.inboxPrefix);this.js.nc._resub(this.sub,r);const i=this.info;i.config.name=Cr.next(),i.ordered_consumer_sequence.delivery_seq=0,i.flow_control.heartbeat_count=0,i.flow_control.fc_count=0,i.flow_control.consumer_restarts++,i.deliver=r,i.config.deliver_subject=r,i.config.deliver_policy=st.StartSequence,i.config.opt_start_seq=n;const o={};o.stream_name=this.info.stream,o.config=i.config;const a=`${i.api.prefix}.CONSUMER.CREATE.${i.stream}`;this.js._request(a,o,{retries:-1}).then(c=>{const l=c,u=this.sub.info;u.last=l,this.info.config=l.config,this.info.name=l.name}).catch(c=>{const l=new ge(`unable to recreate ordered consumer ${i.stream} at seq ${n}`,ue.RequestError,c);this.sub.callback(l,{})})}_maybeSetupHbMonitoring(){var r,s;const n=((s=(r=this.info)==null?void 0:r.config)==null?void 0:s.idle_heartbeat)||0;n&&this._setupHbMonitoring(lc(n))}_setupHbMonitoring(n,r=0){const s={cancelAfter:0,maxOut:2};r&&(s.cancelAfter=r);const i=this.sub,o=a=>{var u,f,h,d;const c=kw(409,`${Wt.IdleHeartbeatMissed}: ${a}`,this.sub.subject);if(!((u=this.info)==null?void 0:u.ordered))this.sub.callback(null,c);else{if(!this.js.nc.protocol.connected)return!1;const E=((h=(f=this.info)==null?void 0:f.ordered_consumer_sequence)==null?void 0:h.stream_seq)||0;return this._resetOrderedConsumer(E+1),(d=this.monitor)==null||d.restart(),!1}return!i.noIterator};this.monitor=new hc(n,o,s)}_checkHbOrderConsumer(n){const r=n.headers.get(Tt.ConsumerStalledHdr);r!==""&&this.js.nc.publish(r);const s=parseInt(n.headers.get(Tt.LastConsumerSeqHdr),10),i=this.info.ordered_consumer_sequence;return this.info.flow_control.heartbeat_count++,s!==i.delivery_seq&&this._resetOrderedConsumer(i.stream_seq+1),!1}_checkOrderedConsumer(n){const r=this.info.ordered_consumer_sequence,s=n.info.streamSequence,i=n.info.deliverySequence;return i!=r.delivery_seq+1?(this._resetOrderedConsumer(r.stream_seq+1),!1):(r.delivery_seq=i,r.stream_seq=s,!0)}async destroy(){this.isClosed()||await this.drain();const n=this.sub.info,r=n.config.durable_name||n.name,s=`${n.api.prefix}.CONSUMER.DELETE.${n.stream}.${r}`;await n.api._request(s)}async consumerInfo(){const n=this.sub.info,r=n.config.durable_name||n.name,s=`${n.api.prefix}.CONSUMER.INFO.${n.stream}.${r}`,i=await n.api._request(s);return n.last=i,i}}class eE extends rd{constructor(t,n,r){super(t,n,r)}pull(t={batch:1}){const{stream:n,config:r,name:s}=this.sub.info,i=r.durable_name??s,o={};if(o.batch=t.batch||1,o.no_wait=t.no_wait||!1,(t.max_bytes??0)>0){const l=this.js.nc.features.get(je.JS_PULL_MAX_BYTES);if(!l.ok)throw new Error(`max_bytes is only supported on servers ${l.min} or better`);o.max_bytes=t.max_bytes}let a=0;t.expires&&t.expires>0&&(a=t.expires,o.expires=tt(a));let c=0;if(t.idle_heartbeat&&t.idle_heartbeat>0&&(c=t.idle_heartbeat,o.idle_heartbeat=tt(c)),c&&a===0)throw new Error("idle_heartbeat requires expires");if(c>a)throw new Error("expires must be greater than idle_heartbeat");if(this.info){this.monitor&&this.monitor.cancel(),a&&c&&(this.monitor?this.monitor._change(c,a):this._setupHbMonitoring(c,a));const l=this.info.api,u=`${l.prefix}.CONSUMER.MSG.NEXT.${n}.${i}`,f=this.sub.subject;l.nc.publish(u,l.jc.encode(o),{reply:f})}}}function tE(e){return e?rE:nE}function nE(e,t){return e?[e,null]:(e=Ur(t),e?[e,null]:[null,qs(t)])}function rE(e,t){if(e)return[e,null];const n=Ur(t);return n!==null?[sd(n),null]:[null,qs(t)]}function sd(e){if(e!==null)switch(e.code){case ue.JetStream404NoMessages:case ue.JetStream408RequestTimeout:return null;case ue.JetStream409:return Cw(e)?e:null;default:return e}return null}function sE(e){e&&e.ack()}function iE(e){const t=e.split(".");if(t.length===9&&t.splice(2,0,"_",""),t.length<11||t[0]!=="$JS"||t[1]!=="ACK")throw new Error("not js message");const n={};return n.domain=t[2]==="_"?"":t[2],n.account_hash=t[3],n.stream=t[4],n.consumer=t[5],n.redeliveryCount=parseInt(t[6],10),n.redelivered=n.redeliveryCount>1,n.streamSequence=parseInt(t[7],10),n.deliverySequence=parseInt(t[8],10),n.timestampNanos=parseInt(t[9],10),n.pending=parseInt(t[10],10),n}class oE{constructor(t){g(this,"msg");g(this,"di");g(this,"didAck");this.msg=t,this.didAck=!1}get subject(){return this.msg.subject}get sid(){return this.msg.sid}get data(){return this.msg.data}get headers(){return this.msg.headers}get info(){return this.di||(this.di=iE(this.reply)),this.di}get redelivered(){return this.info.redeliveryCount>1}get reply(){return this.msg.reply||""}get seq(){return this.info.streamSequence}doAck(t){this.didAck||(this.didAck=!this.isWIP(t),this.msg.respond(t))}isWIP(t){return t.length===4&&t[0]===as[0]&&t[1]===as[1]&&t[2]===as[2]&&t[3]===as[3]}async ackAck(){var n;const t=Xe();if(this.didAck)t.resolve(!1);else if(this.didAck=!0,this.msg.reply){const s=this.msg.publisher,i=!((n=s.options)!=null&&n.noAsyncTraces),o=new zh(s.muxSubscriptions,this.msg.reply,{timeout:1e3},i);s.request(o);try{s.publish(this.msg.reply,Nu,{reply:`${s.muxSubscriptions.baseInbox}${o.token}`})}catch(a){o.cancel(a)}try{await Promise.race([o.timer,o.deferred]),t.resolve(!0)}catch(a){o.cancel(a),t.reject(a)}}else t.resolve(!1);return t}ack(){this.doAck(Nu)}nak(t){let n=B1;t&&(n=ga().encode(`-NAK ${JSON.stringify({delay:tt(t)})}`)),this.doAck(n)}working(){this.doAck(as)}next(t,n={batch:1}){const r={};r.batch=n.batch||1,r.no_wait=n.no_wait||!1,n.expires&&n.expires>0&&(r.expires=tt(n.expires));const s=un().encode(r),i=Jr.concat(q1,z1,s),o=t?{reply:t}:void 0;this.msg.respond(i,o)}term(t=""){let n=H1;(t==null?void 0:t.length)>0&&(n=ga().encode(`+TERM ${t}`)),this.doAck(n)}json(){return this.msg.json()}string(){return this.msg.string()}}const aE="1.25.0",cE="nats.ws";class lE{constructor(){g(this,"version");g(this,"lang");g(this,"closeError");g(this,"connected");g(this,"done");g(this,"socket");g(this,"options");g(this,"socketClosed");g(this,"encrypted");g(this,"peeked");g(this,"yields");g(this,"signal");g(this,"closedNotification");this.version=aE,this.lang=cE,this.connected=!1,this.done=!1,this.socketClosed=!1,this.encrypted=!1,this.peeked=!1,this.yields=[],this.signal=Xe(),this.closedNotification=Xe()}async connect(t,n){const r=Xe();if(n.tls)return r.reject(new ge("tls",ue.InvalidOption)),r;this.options=n;const s=t.src;if(n.wsFactory){const{socket:i,encrypted:o}=await n.wsFactory(t.src,n);this.socket=i,this.encrypted=o}else this.encrypted=s.indexOf("wss://")===0,this.socket=new WebSocket(s);return this.socket.binaryType="arraybuffer",this.socket.onopen=()=>{this.isDiscarded()},this.socket.onmessage=i=>{if(this.isDiscarded())return;if(this.yields.push(new Uint8Array(i.data)),this.peeked){this.signal.resolve();return}const o=Jr.concat(...this.yields),a=Jw(o);if(a!==""){const c=v1.exec(a);if(!c){n.debug&&console.error("!!!",ci(o)),r.reject(new Error("unexpected response from server"));return}try{const l=JSON.parse(c[1]);w1(l,this.options),this.peeked=!0,this.connected=!0,this.signal.resolve(),r.resolve()}catch(l){r.reject(l);return}}},this.socket.onclose=i=>{if(this.isDiscarded())return;this.socketClosed=!0;let o;this.done||(i.wasClean||(o=new Error(i.reason)),this._closed(o))},this.socket.onerror=i=>{if(this.isDiscarded())return;const o=i,a=new ge(o.message,ue.Unknown,new Error(o.error));r.reject(a)},r}disconnect(){this._closed(void 0,!0)}async _closed(t,n=!0){if(!this.isDiscarded()&&this.connected&&!this.done){if(this.closeError=t,!t)for(;!this.socketClosed&&this.socket.bufferedAmount>0;)await Qr(100);this.done=!0;try{this.socket.close(t?1002:1e3,t?t.message:void 0)}catch{}n&&this.closedNotification.resolve(t)}}get isClosed(){return this.done}[Symbol.asyncIterator](){return this.iterate()}async*iterate(){for(;;){if(this.isDiscarded())return;this.yields.length===0&&await this.signal;const t=this.yields;this.yields=[];for(let n=0;n ${ci(t[n])}`),yield t[n];if(this.done)break;this.yields.length===0&&(t.length=0,this.yields=t,this.signal=Xe())}}isEncrypted(){return this.connected&&this.encrypted}send(t){if(!this.isDiscarded())try{this.socket.send(t.buffer),this.options.debug&&console.info(`< ${ci(t)}`);return}catch(n){this.options.debug&&console.error(`!!! ${ci(t)}: ${n}`)}}close(t){return this._closed(t,!1)}closed(){return this.closedNotification}isDiscarded(){return this.done?(this.discard(),!0):!1}discard(){var t;this.done=!0;try{(t=this.socket)==null||t.close()}catch{}}}function uE(e,t){/^(.*:\/\/)(.*)/.test(e)||(typeof t=="boolean"?e=`${t===!0?"https":"http"}://${e}`:e=`https://${e}`);let r=new URL(e);const s=r.protocol.toLowerCase();s==="ws:"&&(t=!1),s==="wss:"&&(t=!0),s!=="https:"&&s!=="http"&&(e=e.replace(/^(.*:\/\/)(.*)/gm,"$2"),r=new URL(`http://${e}`));let i,o;const a=r.hostname,c=r.pathname,l=r.search||"";switch(s){case"http:":case"ws:":case"nats:":o=r.port||"80",i="ws:";break;case"https:":case"wss:":case"tls:":o=r.port||"443",i="wss:";break;default:o=r.port||t===!0?"443":"80",i=t===!0?"wss:":"ws:";break}return`${i}//${a}:${o}${c}${l}`}function fE(e={}){return zw({defaultPort:443,urlParseFn:uE,factory:()=>new lE}),_c.connect(e)}const hE=ga(),dE="---",RE=Ct({}),ME=Ct({}),LE=Ct({}),wi=Ct(!1),_r=Ct({}),Br={};let Ho;const Ca=Ct(),mE=async(e,t)=>{if(_r.value[e])return;if(!wi.value||!Ca.value){Br[e]=t;return}let n=()=>{};_r.value[e]={pending:new Promise(i=>{n=i})};const r=Rn();r.deliverTo(En()),r.deliverAll(),r.ackNone(),r.replayInstantly();const s=await Ca.value.subscribe(e,r);_r.value[e].subscription=s,n(),(async()=>{for await(const i of s){const o=hE.decode(i.data);if(o!==dE){const a=JSON.parse(o);o!==JSON.stringify(t.value[a.id])&&(t.value=Object.freeze({...t.value,[a.id]:Object.freeze(a)}))}}})()},FE=async e=>{var t,n;if(_r.value[e]){const{pending:r}=_r.value[e];r&&await r,(n=(t=_r.value[e])==null?void 0:t.subscription)==null||n.unsubscribe(),delete _r.value[e]}Br[e]&&delete Br[e]},Lu=async()=>{await Promise.all(Object.keys(Br).map(async e=>{await mE(e,Br[e]),delete Br[e]}))},pE=async()=>{Ho=await fE({servers:[Jx],waitOnFirstConnect:!0,maxReconnectAttempts:-1}),wi.value=!0,Ca.value=Ho.jetstream(),await Lu(),(async()=>{for await(const e of Ho.status())e.type===an.Disconnect&&(wi.value=!1),e.type===an.Reconnect&&(wi.value=!0,await Lu())})()},bc=Fp(aw);bc.use(Fh);bc.use(Lh);bc.mount("#app");pE();export{EE as $,nw as A,RE as B,ME as C,LE as D,CE as E,zs as F,mE as G,PE as H,TE as I,Lt as J,Eh as K,Bt as L,xE as M,Sy as N,za as O,Ga as P,FE as Q,_E as R,bE as S,Fy as T,IE as U,AE as V,vE as W,gt as X,Ns as Y,Fs as Z,ow as _,Sn as a,SE as a0,lu as a1,Ye as b,We as c,mn as d,Tf as e,di as f,Ta as g,tn as h,ze as i,Jt as j,Ze as k,kE as l,on as m,xn as n,pt as o,wr as p,xh as q,Ct as r,Ux as s,em as t,Sr as u,wE as v,yE as w,OE as x,to as y,wi as z}; -//# sourceMappingURL=index-C5qMMmKR.js.map diff --git a/assets/index-C5qMMmKR.js.map b/assets/index-C5qMMmKR.js.map deleted file mode 100644 index 294ada4..0000000 --- a/assets/index-C5qMMmKR.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"mappings":"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BC,EAAK,IAAI,WAAW,EAAE,EAC1BA,EAAG,CAAC,EAAI,EACR,IAAIC,EAAMJ,IAAMK,EAAML,EAAG,CACrB,CACR,CAAK,EAAGM,EAAUN,EAAG,CACb,MACA,CACR,CAAK,EAAGO,EAAIP,EAAG,CACP,MACA,KACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACR,CAAK,EAAGQ,EAAKR,EAAG,CACR,MACA,KACA,MACA,MACA,MACA,MACA,KACA,IACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,IACR,CAAK,EAAGS,EAAIT,EAAG,CACP,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,IACR,CAAK,EAAGU,EAAIV,EAAG,CACP,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACR,CAAK,EAAGW,EAAIX,EAAG,CACP,MACA,MACA,KACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,IACA,MACA,MACA,MACA,KACA,KACR,CAAK,EACD,SAASY,EAAIjZ,EAAGn4E,EAAG,CACf,OAAOm4E,GAAKn4E,EAAIm4E,IAAM,GAAKn4E,CAC9B,CACD,SAASqxF,EAAKlZ,EAAG55E,EAAG,CAChB,IAAI+sB,EAAI6sD,EAAE55E,EAAI,CAAC,EAAI,IACnB,OAAA+sB,EAAIA,GAAK,EAAI6sD,EAAE55E,EAAI,CAAC,EAAI,IACxB+sB,EAAIA,GAAK,EAAI6sD,EAAE55E,EAAI,CAAC,EAAI,IACjB+sB,GAAK,EAAI6sD,EAAE55E,EAAI,CAAC,EAAI,GAC9B,CACD,SAAS+yF,EAAKnZ,EAAG55E,EAAG,CAChB,IAAIyhB,EAAIm4D,EAAE55E,CAAC,GAAK,GAAK45E,EAAE55E,EAAI,CAAC,GAAK,GAAK45E,EAAE55E,EAAI,CAAC,GAAK,EAAI45E,EAAE55E,EAAI,CAAC,EACzDmF,EAAIy0E,EAAE55E,EAAI,CAAC,GAAK,GAAK45E,EAAE55E,EA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Y,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,SAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,SAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,SAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,WAAY,UAAU,EAC9B,IAAIA,EAAI,UAAY,UAAU,EAC9B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","names":["makeMap","str","expectsLowerCase","set","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","key","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","writable","looseToNumber","n","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","currentEffectScope","fromParent","l","last","effectScope","recordEffectScope","effect","scope","getCurrentScope","onScopeDispose","activeEffect","ReactiveEffect","trigger","scheduler","pauseTracking","dep","triggerComputed","resetTracking","lastShouldTrack","shouldTrack","lastEffect","preCleanupEffect","postCleanupEffect","computed","effect2","cleanupDepEffect","trackId","pauseScheduleStack","trackStack","pauseScheduling","resetScheduling","queueEffectSchedulers","trackEffect","debuggerEventExtraInfo","oldDep","triggerEffects","dirtyLevel","tracking","createDep","cleanup","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","track","target","type","depsMap","newValue","oldTarget","deps","newLength","key2","getDepFromReactive","object","isNonTrackableKeys","builtInSymbols","arrayInstrumentations","createArrayInstrumentations","instrumentations","args","toRaw","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","isShallow","hadKey","result","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","get","rawTarget","rawKey","has2","wrap","toReadonly","toReactive","has","size","add","get2","deleteEntry","clear","hadItems","createForEach","callback","thisArg","observed","createIterableMethod","method","targetIsMap","isPair","isKeyOnly","innerIterator","done","createReadonlyMethod","createInstrumentations","mutableInstrumentations2","shallowInstrumentations2","readonlyInstrumentations2","shallowReadonlyInstrumentations2","mutableInstrumentations","readonlyInstrumentations","shallowInstrumentations","shallowReadonlyInstrumentations","createInstrumentationGetter","shallow","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","isProxy","raw","markRaw","ComputedRefImpl","getter","_setter","isSSR","triggerRefValue","self","trackRefValue","getterOrOptions","debugOptions","setter","onlyGetter","ref2","newVal","r","ref","createRef","shallowRef","rawValue","RefImpl","__v_isShallow","useDirectValue","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","customRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","source","defaultValue","propertyToRef","callWithErrorHandling","instance","err","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","appErrorHandler","logError","isFlushing","isFlushPending","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","cb","flushPreFlushCbs","seen","flushPostFlushCbs","deduped","comparator","diff","emit","event","rawArgs","props","modelArg","modifiersKey","number","trim","handlerName","handler","onceHandler","normalizeEmitsOptions","comp","appContext","asMixin","cached","hasExtends","extendEmits","raw2","normalizedFromExtend","isEmitListener","options","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","prev","pushScopeId","popScopeId","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","Component","vnode","withProxy","propsOptions","slots","attrs","render","renderCache","data","setupState","inheritAttrs","fallthroughAttrs","proxyToUse","thisProxy","normalizeVNode","render2","getFunctionalFallthrough","blockStack","createVNode","Comment","root","keys","shapeFlag","filterModelListeners","cloneVNode","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","component","nextProps","nextChildren","patchFlag","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","updateHOCHostEl","parent","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","warnMissing","currentInstance","selfName","getComponentName","resolve","registry","isSuspense","queueEffectWithSuspense","suspense","ssrContextKey","useSSRContext","inject","watchEffect","doWatch","INITIAL_WATCHER_VALUE","watch","immediate","deep","flush","once","onTrack","onTrigger","_cb","unwatch","reactiveGetter","source2","traverse","forceTrigger","isMultiSource","s","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","queuePostRenderEffect","instanceWatch","publicThis","createPathGetter","reset","setCurrentInstance","path","segments","depth","withDirectives","directives","getExposeProxy","bindings","dir","modifiers","invokeDirectiveHook","oldBindings","binding","hook","defineComponent","extraOptions","isAsyncWrapper","isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","current","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","hooks","createHook","lifecycle","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","renderList","renderItem","index","renderSlot","fallback","noSlotted","slot","openBlock","validSlotContent","ensureValidVNode","rendered","createBlock","Fragment","vnodes","child","isVNode","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","hasSetupBinding","state","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","descriptor","normalizePropsOrEmits","applyOptions","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","components","filters","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","h","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","isMounted","app","version","plugin","mixin","directive","rootContainer","isHydrate","namespace","lastApp","currentApp","parentProvides","treatDefaultAsFactory","internalObjectProto","createInternalObject","isInternalObject","initProps","rawProps","isStateful","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","propsToUpdate","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","normalizePropsOptions","extendProps","normalizedKey","validatePropName","prop","booleanIndex","getTypeIndex","stringIndex","getType","ctor","isSameType","expectedTypes","t","isInternalKey","normalizeSlotValue","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","children","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","refValue","owner","oldRef","refs","_isString","_isRef","doSet","existing","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","next","removeStaticNode","mountElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","unmountChildren","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","updateComponentPreRender","componentUpdateFn","bu","u","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateNode","hydrateSubTree","scopedInitialVNode","update","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","currentNamespace","allowed","ch1","ch2","len","arrI","subComponent","isTeleport","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","style","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","getCurrentInstance","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","resolvedResult","handleSetupResult","e","finishComponentSetup","compile","skipOptions","template","isCustomElement","compilerOptions","delimiters","componentCompilerOptions","finalCompilerOptions","attrsProxyHandlers","includeInferred","computed$1","propsOrChildren","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","node","selector","content","before","wrapper","vtcKey","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","vShow","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","getModelAssigner","onCompositionStart","onCompositionEnd","assignKey","vModelText","lazy","castToNumber","domValue","elValue","vModelSelect","isSetModel","selectedVal","getValue","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","tryOnScopeDispose","toValue","isClient","toString","noop","createFilterWrapper","filter","reject","bypassFilter","invoke","pausableFilter","extendFilter","isActive","pause","resume","eventFilter","getLifeCycleTarget","toRef$1","watchWithFilter","watchPausable","tryOnMounted","sync","unrefElement","elRef","plain","defaultWindow","useEventListener","events","listeners","cleanups","listener","options2","stopWatch","optionsClone","stop","useMounted","useSupported","useMediaQuery","query","window","isSupported","mediaQuery","matches","_global","globalKey","handlers","getHandlers","getSSRHandler","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","defaults","storage","listenToStorageChanges","writeDefaults","mergeDefaults","onError","initOnMounted","_a2","serializer","pauseWatch","resumeWatch","pausableWatch","write","updateFromCustomEvent","dispatchWriteEvent","serialized","read","usePreferredDark","useColorMode","attribute","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","updateHTMLAttrs","selector2","attribute2","defaultOnChanged","mode","onChanged","auto","useResizeObserver","observerOptions","observer","targets","els","_el","useElementSize","initialSize","box","_b","width","height","stop1","entry","boxSize","$elem","styles","formatBoxSize","acc","inlineSize","blockSize","ele","stop2","element","decodeNamedCharacterReference","characterReference","char","splice","list","items","chunkStart","parameters","push","combineExtensions","extensions","all","syntaxExtension","extension","left","right","code","constructs","combineHtmlExtensions","htmlExtensions","htmlExtension","decodeNumericCharacterReference","characterReferences","encode","replace","normalizeIdentifier","asciiAlpha","regexCheck","asciiAlphanumeric","asciiAtext","asciiControl","asciiDigit","asciiHexDigit","asciiPunctuation","markdownLineEnding","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","regex","check","sanitizeUri","url","protocol","normalizeUri","colon","questionMark","numberSign","slash","skip","protocolHref","protocolSrc","settings","tags","definitions","buffers","mediaStack","tightStack","onenterblockquote","onentercodefenced","buffer","onentercodeindented","onentercodetext","onentercontent","onenterdefinition","onenterdefinitiondestinationstring","onenteremphasis","onenterhtmlflow","onenterhtml","onenterimage","onenterlink","onenterlistitemmarker","onenterlistitemvalue","onenterlistordered","onenterlistunordered","onenterparagraph","onenterresource","onenterresourcedestinationstring","onentersetextheading","onenterstrong","onexitatxheading","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","onexitblockquote","onexitdata","onexitcharacterreferencemarker","onexitcharacterreferencevalue","onexitflowcode","onexitcodefencedfence","onexitcodefencedfenceinfo","onresumedrop","onexitcodeflowvalue","onexitcodetext","onexitdefinition","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexitemphasis","onexithardbreak","onexithtml","onexitmedia","onexitlabel","onexitlabeltext","onexitlineending","onexitlistordered","onexitlistunordered","onexitparagraph","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","onexitsetextheading","onexitsetextheadinglinesequence","onexitsetextheadingtext","onexitstrong","onexitthematicbreak","lineEndingIfNeeded","setData","getData","lineEndingStyle","listStack","head","body","prepareList","handles","kind","handle","slice","length","containerBalance","loose","atMarker","lineEnding","previous","_encode","token","onexitlistitem","count","media","uri","factorySpace","effects","ok","max","limit","prefix","initializeContent","contentStart","afterContentStartConstruct","paragraphInitial","lineStart","document","initializeDocument","containerConstruct","tokenizeContainer","stack","continued","childFlow","childToken","lineStartOffset","documentContinue","checkNewContainers","closeFlow","indexBeforeExits","indexBeforeFlow","point","exitContainers","documentContinued","flowStart","thereIsANewContainer","thereIsNoNewContainer","containerContinue","flowContinue","writeToChild","eof","stream","nok","classifyCharacter","resolveAll","called","attention","tokenizeAttention","resolveAllAttention","open","group","openingSequence","closingSequence","use","nextEvents","offset","movePoint","attentionMarkers","marker","inside","after","close","autolink","tokenizeAutolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","blankLine","tokenizeBlankLine","blockQuote","tokenizeBlockQuoteStart","tokenizeBlockQuoteContinuation","exit","contStart","contBefore","characterEscape","tokenizeCharacterEscape","tokenizeCharacterReference","test","numeric","nonLazyContinuation","tokenizeNonLazyContinuation","codeFenced","tokenizeCodeFenced","closeStart","tokenizeCloseStart","initialPrefix","sizeOpen","beforeSequenceOpen","tail","sequenceOpen","infoBefore","atNonLazyBreak","info","metaBefore","meta","contentBefore","beforeContentChunk","contentChunk","startBefore","beforeSequenceClose","sequenceClose","sequenceCloseAfter","codeIndented","tokenizeCodeIndented","furtherStart","tokenizeFurtherStart","afterPrefix","atBreak","codeText","tokenizeCodeText","resolveCodeText","tailExitIndex","headEnterIndex","enter","between","SpliceBuffer","initial","deleteCount","removed","chunkedPush","subtokenize","eventsArray","jumps","lineIndex","otherIndex","otherEvent","subevents","more","subcontent","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","adjust","breaks","tokenizeContent","resolveContent","continuationConstruct","tokenizeContinuation","chunkInside","contentEnd","contentContinue","startLookahead","factoryDestination","literalType","literalMarkerType","stringType","balance","enclosedBefore","enclosed","enclosedEscape","rawEscape","factoryLabel","markerType","labelInside","labelEscape","factoryTitle","begin","escape","factoryWhitespace","definition","tokenizeDefinition","titleBefore","tokenizeTitleBefore","identifier","labelAfter","markerAfter","destinationBefore","destinationAfter","afterWhitespace","beforeMarker","titleAfter","titleAfterOptionalWhitespace","hardBreakEscape","tokenizeHardBreakEscape","headingAtx","tokenizeHeadingAtx","resolveHeadingAtx","sequenceFurther","htmlBlockNames","htmlRawNames","htmlFlow","tokenizeHtmlFlow","resolveToHtmlFlow","blankLineBefore","tokenizeBlankLineBefore","nonLazyContinuationStart","tokenizeNonLazyContinuationStart","closingTag","markerB","declarationOpen","tagCloseStart","continuationDeclarationInside","tagName","commentOpenInside","cdataOpenInside","continuation","basicSelfClosing","completeClosingTagAfter","completeAttributeNameBefore","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCdataInside","continuationAfter","continuationStart","continuationStartNonLazy","continuationBefore","continuationRawEndTag","htmlText","tokenizeHtmlText","returnState","instruction","tagOpen","declaration","commentEnd","comment","commentClose","lineEndingBefore","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","lineEndingAfter","lineEndingAfterPrefix","labelEnd","tokenizeLabelEnd","resolveToLabelEnd","resolveAllLabelEnd","resourceConstruct","tokenizeResource","referenceFullConstruct","tokenizeReferenceFull","referenceCollapsedConstruct","tokenizeReferenceCollapsed","label","labelStart","defined","labelEndNok","labelEndOk","referenceNotFull","resourceStart","resourceBefore","resourceOpen","resourceEnd","resourceDestinationAfter","resourceDestinationMissing","resourceBetween","resourceTitleAfter","referenceFull","referenceFullAfter","referenceFullMissing","referenceCollapsedStart","referenceCollapsedOpen","labelStartImage","tokenizeLabelStartImage","labelStartLink","tokenizeLabelStartLink","tokenizeLineEnding","thematicBreak","tokenizeThematicBreak","sequence","tokenizeListStart","tokenizeListContinuation","tokenizeListEnd","listItemPrefixWhitespaceConstruct","tokenizeListItemPrefixWhitespace","indentConstruct","tokenizeIndent","onBlank","endOfPrefix","otherPrefix","notBlank","notInCurrentItem","setextUnderline","tokenizeSetextUnderline","resolveToSetextUnderline","heading","paragraph","flow","initializeFlow","atBlankEnding","afterConstruct","resolver","createResolver","string","initializeFactory","field","initializeText","resolveAllLineSuffixes","notText","extraResolver","resolveAllText","chunks","bufferIndex","tabs","chunk","createTokenizer","parser","initialize","columnStart","resolveAllConstructs","consume","constructFactory","onsuccessfulconstruct","onsuccessfulcheck","sliceStream","sliceSerialize","now","defineSkip","main","addResult","expandTabs","serializeChunks","sliceChunks","line","column","_index","_bufferIndex","accountForPotentialSkip","chunkIndex","go","fields","construct","onreturn","bogusState","listOfConstructs","constructIndex","currentConstruct","handleListOfConstructs","handleMapOfConstructs","map","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","restore","startIndex","startBufferIndex","endIndex","endBufferIndex","view","atTab","contentInitial","flowInitial","insideSpan","resolveText","disable","parse","defaultConstructs","create","creator","postprocess","search","preprocess","atCarriageReturn","preprocessor","encoding","match","endPosition","micromark","inBrowser","makeSymbol","shareable","generateFormatCacheKey","locale","friendlyJSONstringify","json","isNumber","isRegExp","isEmptyObject","assign","escapeHtml","rawText","proto","join","separator","incrementer","warn","msg","isNotObjectOrIsArray","deepCopy","src","des","createPosition","createLocation","RE_ARGS","format","message","CompileWarnCodes","warnMessages","createCompileWarn","loc","CompileErrorCodes","errorMessages","createCompileError","domain","messages","error","defaultOnError","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","peek","resetPeek","skipToPeek","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","emitError","pos","getToken","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","isTextStart","isPluralStart","detectModuloStart","spaces","hasSpace","detectModulo","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","onWarn","tokenzer","emitWarn","startNode","endNode","parseText","parseList","parseNamed","modulo","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","optimizeMessageNode","ERROR_DOMAIN$1","minify","resource","cases","valueNode","linked","named","ERROR_DOMAIN","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","_newline","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","generatePluralNode","generateResource","generate","helpers","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","pathStateMachine","literalValueRE","exp","stripQuotes","getPathCharType","formatSubPath","trimmed","subPathDepth","newChar","action","typeMap","actions","maybeUnescapeQuote","nextChar","resolveWithKeyValue","resolveValue","hit","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","normalizeNamed","pluralIndex","createMessageContext","pluralRule","orgPluralRule","_list","_named","_modifier","normalize","interpolate","arg1","arg2","modifier","devtools","setDevToolsHook","initI18nDevTools","i18n","translateDevTools","createDevToolsHook","payloads","code$1","inc$1","CoreWarnCodes","inc","CoreErrorCodes","createCoreError","getLocale","resolveLocale","_resolveLocale","fallbackWithSimple","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","chain","block","appendBlockToChain","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","getDefaultLinkedModifiers","_compiler","registerMessageCompiler","compiler","_resolver","registerMessageResolver","_fallbacker","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","_locale","fallbackLocale","datetimeFormats","numberFormats","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","handleMissing","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","formatParts","formatMessageParts","_static","acm","formatMessagePart","linkedKey","linkedModifier","defaultOnCacheKey","compileCache","isMessageAST","detectError","baseCompile$1","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","missingRet","getCompileContext","msgCtx","arg3","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","formatter","DATETIME_FORMAT_OPTIONS_KEYS","arg4","dateTime","clearDateTimeFormat","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","I18nErrorCodes","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","adjustI18nResources","gl","componentOptions","createTextNode","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","VueI18nLegacy","__root","__injectWithOption","_isGlobal","_ref","translateExistCompatible","_inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","trackReactivityValues","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","rt","d","translateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","_message","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","composer","baseFormatProps","getInterpolateArg","getFragmentableTag","TranslationImpl","useI18n","assignedAttrs","Translation","renderFormatter","slotKeys","partFormatter","parts","NumberFormatImpl","NumberFormat","DatetimeFormatImpl","DatetimeFormat","getComposer$2","i18nInternal","vueI18n","vTDirective","_process","parsedValue","parseValue","makeParams","textContent","apply","pluginOptions","useI18nComponentName","I18nInjectionKey","createI18n","__globalInjection","__allowComposition","__instances","globalScope","__global","createGlobal","symbol","__getInstance","__setInstance","__deleteInstance","opts","globalReleaseHandler","injectGlobalFields","unmountApp","getI18nInstance","getGlobalComposer","getScope","getComposer","composerOptions","setupLifeCycle","legacyMode","useComponent","getParentComponentInstance","_composer","dispose","globalExportProps","globalExportMethods","desc","classes","localStoragePrefix","userSettings","useUserSettings","alerts","readAlerts","alert","currentlyActive","isBrowser","isESModule","applyToParams","params","newParams","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","position","toPosition","segment","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","teardowns","pauseState","popStateHandler","fromState","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","triggerListeners","routerHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","pattern","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","re","subPattern","stringify","avoidDuplicatedSlash","param","compareScoreArray","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","insertMatcher","matcherRef","getRoutes","isRecordChildOf","paramsFromLocation","matched","parentMatcher","mergeMetaFields","normalizeRecordProps","propsObject","partialOptions","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","runWithContext","enterCallbackArray","valid","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","link","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","readyHandlers","errorListeners","ready","isReady","scrollBehavior","started","reactiveRoute","promise","recordFrom","recordTo","useRouter","useRoute","liteMode","activeArea","module","global","isWorker","workerSize","canUseWorker","canUsePaths","canDrawBitmap","canvas","bitmap","func","ModulePromise","Prom","bitmapMapper","skipTransform","raf","TIME","frame","cancel","frames","lastFrameTime","onFrame","time","timer","getWorker","worker","prom","resolves","decorate","execute","offscreen","workerDone","convert","isOk","onlyPositiveInt","randomInt","min","toDecimal","colorsToRgb","colors","hexToRgb","getOrigin","origin","setCanvasWindowSize","setCanvasRectSize","rect","getCanvas","zIndex","ellipse","x","y","radiusX","radiusY","rotation","startAngle","endAngle","antiClockwise","randomPhysics","radAngle","radSpread","updateFetti","fetti","progress","x1","y1","x2","y2","transformPath2D","scaleX","scaleY","matrix","rot","innerRadius","outerRadius","spikes","step","animate","fettis","resizer","animatingFettis","animationFrame","onDone","confettiCannon","globalOpts","isLibCanvas","allowResize","hasResizeEventRegistered","globalDisableForReducedMotion","shouldUseWorker","initialized","preferLessMotion","animationObj","fireLocal","particleCount","angle","spread","startVelocity","decay","gravity","drift","ticks","shapes","scalar","flat","temp","startX","startY","fire","disableForReducedMotion","onResize","defaultFire","getDefaultFire","pathString","pathMatrix","path2d","t1","t2","shapeFromPath","pathData","tempCanvas","tempCtx","maxSize","minX","minY","maxX","maxY","maxDesiredSize","scale","shapeFromText","textData","color","fontFamily","fontSize","font","padding","feedbackMail","buildDate","analyticsUrl","tileServer","darkMapStyle","brightMapStyle","natsServerUrl","latestVersion","show","oldVersion","duration","animationEnd","interval","confetti","useColorModeVueUse","getUserLanguage","userLanguage","loadLocaleMessages","__variableDynamicImportRuntimeHelper","firstStartOfApp","__vitePreload","Empty","TE","TD","concat","bufs","out","maxSeq","minInc","maxInc","totalLen","_getRandomValues","fillRandom","Nuid","__publicField","cbuf","di","nuid","Events","DebugEvents","ErrorCode","isNatsError","Messages","NatsError","chainedError","Match","RequestStrategy","ServiceResponseType","ServiceErrorHeader","ServiceErrorCodeHeader","ServiceError","scode","description","createInbox","DEFAULT_HOST","ServiceVerb","o","timeout","ms","asyncTraces","_resolve","delay","deferred","shuffle","jitter","backoff","policy","attempt","nanos","millis","ns","canonicalMIMEHeaderKey","upper","headers","MsgHdrsImpl","HEADER","mh","vv","aa","lines","idx","sk","lci","ck","StringCodec","JSONCodec","reviver","isRequestError","MsgImpl","publisher","subj","reply","payloadAndHeaders","validateDurableName","minValidation","validateStreamName","validateName","validName","RE","isFlowControlMsg","isHeartbeatMsg","newJsErrorMsg","subject","checkJsError","checkJsErrorCode","Js409Errors","isTerminal409","ec","QueuedIteratorImpl","ingest","yields","IdleHeartbeatMonitor","cancelAfter","maxOut","RetentionPolicy","DiscardPolicy","StorageType","DeliverPolicy","AckPolicy","ReplayPolicy","StoreCompression","ConsumerApiAction","defaultConsumer","AdvisoryKind","JsHeaders","KvWatchInclude","DirectMsgHeaders","RepublishHeaders","kvPrefix","ConsumerOptsBuilderImpl","seq","durable","consumerOpts","isConsumerOptsBuilder","Base64Codec","bytes","binary","bin","Base64UrlPaddedCodec","b64str","DataBuffer","getLengths","b64","validLen","placeHoldersLen","init","lookup","revLookup","urlsafe","_byteLength","tripletToBase64","encodeChunk","curTriplet","curByte","extraBytes","len2","curChunk","chunkEnd","byteLength","toUint8Array","fromUint8Array","decoder","encoder","toHexString","hex","__byte","fromHexString","decode1","encode1","SHA256","inputEncoding","outputEncoding","h0","h1","h2","h3","h4","h5","h6","h7","w","BaseRequest","mux","requestSubject","RequestMany","RequestOne","defaultPrefix","defaultJsOptions","BaseApiClient","nc","retries","bo","ne","q","names","ListerImpl","jsm","payload","_c","page","parseSemVer","compare","Feature","Features","f","requires","ConsumerAPIImpl","cfg","cr","nci","newAPI","consumerName","fs","ci","changable","until","checkFn","required","TypedSubscription","uh","jer","sopts","transportConfig","setTransportFactory","config","defaultPort","getUrlParseFn","newTransport","getResolveFn","CR_LF","CRLF","CR","LF","protoLen","ba","extractProtocolMessage","IPv4LEN","ASCII0","ASCIIA","ASCIIa","ipV4","ip","isIP","parseIP","parseIPv4","parseIPv6","dtoi","ellipsis","xtoi","ip4","isIPV4OrHostname","hp","isIPV6","filterIpv6MappedToIpv4","hostPort","op","port","hostname","ServerImpl","gossiped","ips","ss","Servers","listens","urlParseFn","cs","implicit","server","encrypted","added","deleted","discovered","toDelete","MuxSubscription","isMuxPermissionError","req","Heartbeat","ph","stale","ping","AssertionError","assert","cond","MIN_READ","MAX_SIZE","copy","dst","off","DenoBuffer","ab","nread","shouldGrow","Kind","newMsgArg","ma","ASCII_0","Parser","dispatcher","State","toCopy","avail","nacl","u64","gf","randombytes","_0","_9","gf0","gf1","_121665","D","D2","X","Y","I","L32","ld32","dl64","st32","ts64","vn","xi","yi","crypto_verify_16","crypto_verify_32","core","inp","crypto_core_salsa20","crypto_core_hsalsa20","sigma","crypto_stream_salsa20_xor","cpos","mpos","z","crypto_stream_salsa20","crypto_stream","crypto_stream_xor","add1305","minusp","crypto_onetimeauth","outpos","crypto_onetimeauth_verify","hpos","crypto_secretbox","crypto_secretbox_open","set25519","car25519","sel25519","pack25519","neq25519","par25519","unpack25519","A","Z","M","S","inv25519","pow2523","crypto_scalarmult","x32","x16","crypto_scalarmult_base","crypto_box_keypair","crypto_box_beforenm","crypto_box_afternm","crypto_box_open_afternm","crypto_box","crypto_box_open","add64","m16","shr64","xor64","R","Ch","Maj","Sigma0","Sigma1","sigma0","sigma1","K","crypto_hashblocks","iv","crypto_hash","cswap","pack","tx","ty","zi","scalarmult","scalarbase","crypto_sign_keypair","pk","seeded","L","modL","carry","reduce","crypto_sign","sm","smlen","unpackneg","chk","den","den2","den4","den6","crypto_sign_open","crypto_secretbox_KEYBYTES","crypto_secretbox_NONCEBYTES","crypto_secretbox_ZEROBYTES","crypto_secretbox_BOXZEROBYTES","crypto_scalarmult_BYTES","crypto_scalarmult_SCALARBYTES","crypto_box_PUBLICKEYBYTES","crypto_box_SECRETKEYBYTES","crypto_box_BEFORENMBYTES","crypto_box_NONCEBYTES","crypto_box_ZEROBYTES","crypto_box_BOXZEROBYTES","crypto_sign_BYTES","crypto_sign_PUBLICKEYBYTES","crypto_sign_SECRETKEYBYTES","crypto_sign_SEEDBYTES","crypto_hash_BYTES","checkLengths","checkBoxLengths","checkArrayTypes","nonce","publicKey","secretKey","signedMsg","mlen","sig","seed","crypto1","QUOTA","NKeysErrorCode","Prefix","multiAuthenticator","authenticators","auth","noAuthFn","usernamePasswordAuthenticator","user","pass","tokenAuthenticator","DEFAULT_PING_INTERVAL","DEFAULT_MAX_PING_OUT","DEFAULT_RECONNECT_TIME_WAIT","defaultOptions","buildAuthenticator","parseOptions","dhp","extra","checkOptions","tlsRequired","tlsAvailable","tls","FLUSH_THRESHOLD","INFO","PONG_CMD","PING_CMD","Connect","transport","creds","SubscriptionImpl","uc","ingestion","dispatched","Subscriptions","sid","subs","sub","ProtocolHandler","servers","pongs","status","iter","pong","_err","srv","cp","alts","lastErr","lastError","wait","maxWait","mra","updates","lang","cmd","hlen","cmds","promises","inbox","ServiceApiPrefix","ServiceMsgImpl","ServiceGroupImpl","validInternalToken","ServiceImpl","sg","metadata","validSubjectName","verb","pre","se","internal","sv","NamedEndpointStatsImpl","endpoints","endpoint","jc","statsHandler","infoHandler","pingHandler","qi","qii","average_processing_time","num_errors","num_requests","processing_time","last_error","ServiceClientImpl","responses","NoopKvCodecs","defaultBucketOpts","kvOperationHdr","kvSubjectPrefix","validKeyRe","validSearchKey","validBucketRe","validateKey","validateSearchKey","hasWildcards","validateBucket","PubHeaders","Bucket","bucket","js","sc","mirror","sources","have","discardNew","direct","mb","edit","builder","ekey","slen","KvStoredEntryImpl","jm","KvJsMsgEntryImpl","firstErr","rev","ek","ke","olderMillis","proms","purged","pv","cv","filter_subjects","deliver_policy","filter_subject","co","copts","expect","ignoreDeletes","cluster","bn","si","KvStatusImpl","osPrefix","digestType","objectStoreStreamName","objectStoreBucketName","ObjectStoreStatusImpl","convertStreamSourceDomain","PullConsumerType","ConsumerEvents","ConsumerDebugEvents","ACK","NAK","WPI","NXT","TERM","SPACE","toJsMsg","JsMsgImpl","PullConsumerMessagesImpl","refilling","max_messages","max_bytes","idle_heartbeat","threshold_bytes","threshold_messages","_d","msgsLeft","bytesLeft","batch","notFound","streamNotFound","de","expires","discard","minMsgs","minBytes","OrderedConsumerMessages","PullConsumerImpl","api","fopts","stream_name","OrderedPullConsumerImpl","serial","dseq","fromFetch","msgs","msgsImpl","tf","ConsumersImpl","fv","impl","StreamAPIImpl","_si","StreamImpl","asi","erase","validateStreamSource","old","total","infos","paged","subjects","listerFilter","slr","keep","dr","StoredMsgImpl","kvStreams","objStreams","DirectStreamAPIImpl","qq","last_by_subj","dm","DirectMsgImpl","gotFirst","badServer","badRequest","JetStreamManagerImpl","smr","hd","bs","StreamsImpl","ObjectInfoImpl","oi","toServerObjectStoreMeta","mhi","emptyReadableStream","ObjectStoreImpl","soi","rs","jsopts","previousRevision","maxPayload","maxChunk","chunkSubj","metaSubj","db","reader","sha","digest","pad","pa","readableStreamFrom","controller","fromReadableStream","vs","ln","oc","osi","dest","mm","ii","ack","max_age","os","ViewsImpl","jsi","JetStreamClientImpl","checkAPI","ro","retry_delay","pullOpts","trackBytes","receivedBytes","monitor","hb","wants","received","_ingest","hideNonTerminalJsErrors","cso","ackPolicy","so","JetStreamPullSubscriptionImpl","JetStreamSubscriptionImpl","qn","rqn","msgAdapter","jsmi","autoAckJsMsg","ordered","jsub","jmi","NatsConnectionImpl","pub","clearTimers","rmo","errCtx","adm","ServicesFactory","prefixLen","sseq","newDeliver","jinfo","nerr","rm","lastDelivered","consumer","iterator","iterMsgAdapter","cbMsgAdapter","parseInfo","trace","reqOpts","reason","term","LANG","WsTransport","connLock","socket","me","pm","evt","wsUrlParseFn","srcProto","host","connect","DeletePayload","vehicles","stops","trips","isConnected","subscriptions","subscriptionsQueue","subscribe","resolvePendingSubscription","newModel","unsubscribe","pending","processSubscriptionsQueue","loadApi","App"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,66,73],"sources":["../../node_modules/.pnpm/@vue+shared@3.4.26/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/.pnpm/@vue+reactivity@3.4.26/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-core@3.4.26/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-dom@3.4.26/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../node_modules/.pnpm/@vueuse+shared@10.9.0_vue@3.4.26_typescript@5.4.5_/node_modules/@vueuse/shared/index.mjs","../../node_modules/.pnpm/@vueuse+core@10.9.0_vue@3.4.26_typescript@5.4.5_/node_modules/@vueuse/core/index.mjs","../../node_modules/.pnpm/decode-named-character-reference@1.0.2/node_modules/decode-named-character-reference/index.dom.js","../../node_modules/.pnpm/micromark-util-chunked@2.0.0/node_modules/micromark-util-chunked/index.js","../../node_modules/.pnpm/micromark-util-combine-extensions@2.0.0/node_modules/micromark-util-combine-extensions/index.js","../../node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.1/node_modules/micromark-util-decode-numeric-character-reference/index.js","../../node_modules/.pnpm/micromark-util-encode@2.0.0/node_modules/micromark-util-encode/index.js","../../node_modules/.pnpm/micromark-util-normalize-identifier@2.0.0/node_modules/micromark-util-normalize-identifier/index.js","../../node_modules/.pnpm/micromark-util-character@2.1.0/node_modules/micromark-util-character/index.js","../../node_modules/.pnpm/micromark-util-sanitize-uri@2.0.0/node_modules/micromark-util-sanitize-uri/index.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/compile.js","../../node_modules/.pnpm/micromark-factory-space@2.0.0/node_modules/micromark-factory-space/index.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/initialize/content.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/initialize/document.js","../../node_modules/.pnpm/micromark-util-classify-character@2.0.0/node_modules/micromark-util-classify-character/index.js","../../node_modules/.pnpm/micromark-util-resolve-all@2.0.0/node_modules/micromark-util-resolve-all/index.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/attention.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/autolink.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/blank-line.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/block-quote.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/character-escape.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/character-reference.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/code-fenced.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/code-indented.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/code-text.js","../../node_modules/.pnpm/micromark-util-subtokenize@2.0.1/node_modules/micromark-util-subtokenize/lib/splice-buffer.js","../../node_modules/.pnpm/micromark-util-subtokenize@2.0.1/node_modules/micromark-util-subtokenize/index.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/content.js","../../node_modules/.pnpm/micromark-factory-destination@2.0.0/node_modules/micromark-factory-destination/index.js","../../node_modules/.pnpm/micromark-factory-label@2.0.0/node_modules/micromark-factory-label/index.js","../../node_modules/.pnpm/micromark-factory-title@2.0.0/node_modules/micromark-factory-title/index.js","../../node_modules/.pnpm/micromark-factory-whitespace@2.0.0/node_modules/micromark-factory-whitespace/index.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/definition.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/heading-atx.js","../../node_modules/.pnpm/micromark-util-html-tag-name@2.0.0/node_modules/micromark-util-html-tag-name/index.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/html-flow.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/html-text.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/label-end.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/label-start-image.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/label-start-link.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/line-ending.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/thematic-break.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/list.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.1/node_modules/micromark-core-commonmark/lib/setext-underline.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/initialize/flow.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/initialize/text.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/create-tokenizer.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/constructs.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/parse.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/postprocess.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/lib/preprocess.js","../../node_modules/.pnpm/micromark@4.0.0/node_modules/micromark/index.js","../../node_modules/.pnpm/@intlify+shared@9.13.1/node_modules/@intlify/shared/dist/shared.mjs","../../node_modules/.pnpm/@intlify+message-compiler@9.13.1/node_modules/@intlify/message-compiler/dist/message-compiler.esm-browser.js","../../node_modules/.pnpm/@intlify+core-base@9.13.1/node_modules/@intlify/core-base/dist/core-base.mjs","../../node_modules/.pnpm/vue-i18n@9.13.1_vue@3.4.26_typescript@5.4.5_/node_modules/vue-i18n/dist/vue-i18n.runtime.mjs","../../src/components/atomic/Button.vue","../../src/compositions/useUserSettings.ts","../../src/components/GeneralNotice.vue","../../node_modules/.pnpm/vue-router@4.3.2_vue@3.4.26_typescript@5.4.5_/node_modules/vue-router/dist/vue-router.mjs","../../src/components/layout/AppBarBottom.vue","../../node_modules/.pnpm/canvas-confetti@1.9.3/node_modules/canvas-confetti/dist/confetti.module.mjs","../../src/config.ts","../../src/components/UpdateNotice.vue","../../src/compositions/useColorMode.ts","../../src/App.vue","../../src/i18n.ts","../../src/router.ts","../../node_modules/.pnpm/nats.ws@1.25.0/node_modules/nats.ws/esm/nats.js","../../src/api/index.ts","../../src/main.ts"],"sourcesContent":["/**\n* @vue/shared v3.4.26\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str, expectsLowerCase) {\n const set = new Set(str.split(\",\"));\n return expectsLowerCase ? (val) => set.has(val.toLowerCase()) : (val) => set.has(val);\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction((str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n});\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"HOISTED\": -1,\n \"-1\": \"HOISTED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n let ret = \"\";\n if (!styles || isString(styles)) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\") {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props)\n return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>| looseEqual(item, val));\n}\n\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (val && val.__v_isRef) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, def, escapeHtml, escapeHtmlComment, extend, genPropsAccessExp, generateCodeFrame, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.4.26\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { NOOP, extend, isArray, isSymbol, isMap, isIntegerKey, hasOwn, hasChanged, isObject, makeMap, capitalize, toRawType, def, isFunction } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeEffect;\nclass ReactiveEffect {\n constructor(fn, trigger, scheduler, scope) {\n this.fn = fn;\n this.trigger = trigger;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n /**\n * @internal\n */\n this._dirtyLevel = 4;\n /**\n * @internal\n */\n this._trackId = 0;\n /**\n * @internal\n */\n this._runnings = 0;\n /**\n * @internal\n */\n this._shouldSchedule = false;\n /**\n * @internal\n */\n this._depsLength = 0;\n recordEffectScope(this, scope);\n }\n get dirty() {\n if (this._dirtyLevel === 2 || this._dirtyLevel === 3) {\n this._dirtyLevel = 1;\n pauseTracking();\n for (let i = 0; i < this._depsLength; i++) {\n const dep = this.deps[i];\n if (dep.computed) {\n triggerComputed(dep.computed);\n if (this._dirtyLevel >= 4) {\n break;\n }\n }\n }\n if (this._dirtyLevel === 1) {\n this._dirtyLevel = 0;\n }\n resetTracking();\n }\n return this._dirtyLevel >= 4;\n }\n set dirty(v) {\n this._dirtyLevel = v ? 4 : 0;\n }\n run() {\n this._dirtyLevel = 0;\n if (!this.active) {\n return this.fn();\n }\n let lastShouldTrack = shouldTrack;\n let lastEffect = activeEffect;\n try {\n shouldTrack = true;\n activeEffect = this;\n this._runnings++;\n preCleanupEffect(this);\n return this.fn();\n } finally {\n postCleanupEffect(this);\n this._runnings--;\n activeEffect = lastEffect;\n shouldTrack = lastShouldTrack;\n }\n }\n stop() {\n if (this.active) {\n preCleanupEffect(this);\n postCleanupEffect(this);\n this.onStop && this.onStop();\n this.active = false;\n }\n }\n}\nfunction triggerComputed(computed) {\n return computed.value;\n}\nfunction preCleanupEffect(effect2) {\n effect2._trackId++;\n effect2._depsLength = 0;\n}\nfunction postCleanupEffect(effect2) {\n if (effect2.deps.length > effect2._depsLength) {\n for (let i = effect2._depsLength; i < effect2.deps.length; i++) {\n cleanupDepEffect(effect2.deps[i], effect2);\n }\n effect2.deps.length = effect2._depsLength;\n }\n}\nfunction cleanupDepEffect(dep, effect2) {\n const trackId = dep.get(effect2);\n if (trackId !== void 0 && effect2._trackId !== trackId) {\n dep.delete(effect2);\n if (dep.size === 0) {\n dep.cleanup();\n }\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn, NOOP, () => {\n if (_effect.dirty) {\n _effect.run();\n }\n });\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nlet pauseScheduleStack = 0;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction pauseScheduling() {\n pauseScheduleStack++;\n}\nfunction resetScheduling() {\n pauseScheduleStack--;\n while (!pauseScheduleStack && queueEffectSchedulers.length) {\n queueEffectSchedulers.shift()();\n }\n}\nfunction trackEffect(effect2, dep, debuggerEventExtraInfo) {\n var _a;\n if (dep.get(effect2) !== effect2._trackId) {\n dep.set(effect2, effect2._trackId);\n const oldDep = effect2.deps[effect2._depsLength];\n if (oldDep !== dep) {\n if (oldDep) {\n cleanupDepEffect(oldDep, effect2);\n }\n effect2.deps[effect2._depsLength++] = dep;\n } else {\n effect2._depsLength++;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n }\n}\nconst queueEffectSchedulers = [];\nfunction triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) {\n var _a;\n pauseScheduling();\n for (const effect2 of dep.keys()) {\n let tracking;\n if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0);\n effect2._dirtyLevel = dirtyLevel;\n }\n if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend({ effect: effect2 }, debuggerEventExtraInfo));\n }\n effect2.trigger();\n if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) {\n effect2._shouldSchedule = false;\n if (effect2.scheduler) {\n queueEffectSchedulers.push(effect2.scheduler);\n }\n }\n }\n }\n resetScheduling();\n}\n\nconst createDep = (cleanup, computed) => {\n const dep = /* @__PURE__ */ new Map();\n dep.cleanup = cleanup;\n dep.computed = computed;\n return dep;\n};\n\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"iterate\" : \"\");\nconst MAP_KEY_ITERATE_KEY = Symbol(!!(process.env.NODE_ENV !== \"production\") ? \"Map key iterate\" : \"\");\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = createDep(() => depsMap.delete(key)));\n }\n trackEffect(\n activeEffect,\n dep,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key\n } : void 0\n );\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n let deps = [];\n if (type === \"clear\") {\n deps = [...depsMap.values()];\n } else if (key === \"length\" && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || !isSymbol(key2) && key2 >= newLength) {\n deps.push(dep);\n }\n });\n } else {\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isIntegerKey(key)) {\n deps.push(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n pauseScheduling();\n for (const dep of deps) {\n if (dep) {\n triggerEffects(\n dep,\n 4,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n } : void 0\n );\n }\n }\n resetScheduling();\n}\nfunction getDepFromReactive(object, key) {\n const depsMap = targetMap.get(object);\n return depsMap && depsMap.get(key);\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nconst arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n return arr[key](...args.map(toRaw));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n instrumentations[key] = function(...args) {\n pauseTracking();\n pauseScheduling();\n const res = toRaw(this)[key].apply(this, args);\n resetScheduling();\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n if (!isSymbol(key))\n key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the reciever is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(\n true\n);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has: has2 } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\"];\n !isReadonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has: has2, get: get2 } = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has2.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get2 ? get2.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations2 = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations2 = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations2 = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations2[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations2[method] = createIterableMethod(method, true, false);\n shallowInstrumentations2[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations2[method] = createIterableMethod(\n method,\n true,\n true\n );\n });\n return [\n mutableInstrumentations2,\n readonlyInstrumentations2,\n shallowInstrumentations2,\n shallowReadonlyInstrumentations2\n ];\n}\nconst [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n] = /* @__PURE__ */ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow ? isReadonly ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nconst COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this.getter = getter;\n this._setter = _setter;\n this.dep = void 0;\n this.__v_isRef = true;\n this[\"__v_isReadonly\"] = false;\n this.effect = new ReactiveEffect(\n () => getter(this._value),\n () => triggerRefValue(\n this,\n this.effect._dirtyLevel === 2 ? 2 : 3\n )\n );\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\"] = isReadonly;\n }\n get value() {\n const self = toRaw(this);\n if ((!self._cacheable || self.effect.dirty) && hasChanged(self._value, self._value = self.effect.run())) {\n triggerRefValue(self, 4);\n }\n trackRefValue(self);\n if (self.effect._dirtyLevel >= 2) {\n if (!!(process.env.NODE_ENV !== \"production\") && this._warnRecursive) {\n warn(COMPUTED_SIDE_EFFECT_WARN, `\n\ngetter: `, this.getter);\n }\n triggerRefValue(self, 2);\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x\n get _dirty() {\n return this.effect.dirty;\n }\n set _dirty(v) {\n this.effect.dirty = v;\n }\n // #endregion\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = !!(process.env.NODE_ENV !== \"production\") ? () => {\n warn(\"Write operation failed: computed value is readonly\");\n } : NOOP;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nfunction trackRefValue(ref2) {\n var _a;\n if (shouldTrack && activeEffect) {\n ref2 = toRaw(ref2);\n trackEffect(\n activeEffect,\n (_a = ref2.dep) != null ? _a : ref2.dep = createDep(\n () => ref2.dep = void 0,\n ref2 instanceof ComputedRefImpl ? ref2 : void 0\n ),\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"get\",\n key: \"value\"\n } : void 0\n );\n }\n}\nfunction triggerRefValue(ref2, dirtyLevel = 4, newVal) {\n ref2 = toRaw(ref2);\n const dep = ref2.dep;\n if (dep) {\n triggerEffects(\n dep,\n dirtyLevel,\n !!(process.env.NODE_ENV !== \"production\") ? {\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: newVal\n } : void 0\n );\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = void 0;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, 4, newVal);\n }\n }\n}\nfunction triggerRef(ref2) {\n triggerRefValue(ref2, 4, !!(process.env.NODE_ENV !== \"production\") ? ref2.value : void 0);\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = void 0;\n this.__v_isRef = true;\n const { get, set } = factory(\n () => trackRefValue(this),\n () => triggerRefValue(this)\n );\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this.__v_isRef = true;\n this.__v_isReadonly = true;\n }\n get value() {\n return this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nconst deferredComputed = computed;\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\"\n};\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseScheduling, pauseTracking, proxyRefs, reactive, readonly, ref, resetScheduling, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, track, trigger, triggerRef, unref };\n","/**\n* @vue/runtime-core v3.4.26\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, shallowReadonly, isShallow, isReactive, ReactiveEffect, getCurrentScope, ref, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, customRef, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, capitalize, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, isBuiltInDirective, invokeArrayFns, isRegExp, isGloballyAllowed, NO, isReservedProp, EMPTY_ARR, toRawType, makeMap, def, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn$1(msg, ...args) {\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\"))\n return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core .\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n pauseTracking();\n callWithErrorHandling(\n appErrorHandler,\n null,\n 10,\n [err, exposedInstance, errorInfo]\n );\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else {\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.pre) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!queue.length || !queue.includes(\n job,\n isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex\n )) {\n if (job.id == null) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs || !activePostFlushCbs.includes(\n cb,\n cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex\n )) {\n pendingPostFlushCbs.push(cb);\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n queue.sort(comparator);\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n callWithErrorHandling(job, null, 14);\n }\n }\n } finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n } else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n } else {\n seen.set(fn, count + 1);\n }\n }\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Set();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.effect.dirty = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.add(oldComp);\n }\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n } else if (instance.parent) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n }\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(\n normalizeClassComponent(instance.type)\n );\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:added\" /* COMPONENT_ADDED */\n);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:start\" /* PERFORMANCE_START */\n);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\n \"perf:end\" /* PERFORMANCE_END */\n);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const {\n emitsOptions,\n propsOptions: [propsOptions]\n } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) && true) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn$1(\n `Component emitted event \"${event}\" but it is neither declared in the emits option nor as an \"${toHandlerKey(event)}\" prop.`\n );\n }\n } else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn$1(\n `Invalid event arguments: event validation failed for event \"${event}\".`\n );\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith(\"update:\");\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === \"modelValue\" ? \"model\" : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map((a) => isString(a) ? a.trim() : a);\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn$1(\n `Event \"${lowerCaseEvent}\" is emitted in component ${formatComponentName(\n instance,\n instance.type\n )} but the handler is registered for \"${event}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${hyphenate(\n event\n )}\" instead of \"${event}\".`\n );\n }\n }\n let handlerName;\n let handler = props[handlerName = toHandlerKey(event)] || // also try camelCase event handler (#2249)\n props[handlerName = toHandlerKey(camelize(event))];\n if (!handler && isModelListener) {\n handler = props[handlerName = toHandlerKey(hyphenate(event))];\n }\n if (handler) {\n callWithAsyncErrorHandling(\n handler,\n instance,\n 6,\n args\n );\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n } else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(\n onceHandler,\n instance,\n 6,\n args\n );\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== void 0) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw2) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach((key) => normalized[key] = null);\n } else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, \"\");\n return hasOwn(options, key[0].toLowerCase() + key.slice(1)) || hasOwn(options, hyphenate(key)) || hasOwn(options, key);\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx)\n return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const {\n type: Component,\n vnode,\n proxy,\n withProxy,\n propsOptions: [propsOptions],\n slots,\n attrs,\n emit,\n render,\n renderCache,\n props,\n data,\n setupState,\n ctx,\n inheritAttrs\n } = instance;\n const prev = setCurrentRenderingInstance(instance);\n let result;\n let fallthroughAttrs;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4) {\n const proxyToUse = withProxy || proxy;\n const thisProxy = !!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup ? new Proxy(proxyToUse, {\n get(target, key, receiver) {\n warn$1(\n `Property '${String(\n key\n )}' was accessed via 'this'. Avoid using 'this' in templates.`\n );\n return Reflect.get(target, key, receiver);\n }\n }) : proxyToUse;\n result = normalizeVNode(\n render.call(\n thisProxy,\n proxyToUse,\n renderCache,\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n setupState,\n data,\n ctx\n )\n );\n fallthroughAttrs = attrs;\n } else {\n const render2 = Component;\n if (!!(process.env.NODE_ENV !== \"production\") && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(\n render2.length > 1 ? render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n !!(process.env.NODE_ENV !== \"production\") ? {\n get attrs() {\n markAttrsAccessed();\n return shallowReadonly(attrs);\n },\n slots,\n emit\n } : { attrs, slots, emit }\n ) : render2(\n !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(props) : props,\n null\n )\n );\n fallthroughAttrs = Component.props ? attrs : getFunctionalFallthrough(attrs);\n }\n } catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1);\n result = createVNode(Comment);\n }\n let root = result;\n let setRoot = void 0;\n if (!!(process.env.NODE_ENV !== \"production\") && result.patchFlag > 0 && result.patchFlag & 2048) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 | 6)) {\n if (propsOptions && keys.some(isModelListener)) {\n fallthroughAttrs = filterModelListeners(\n fallthroughAttrs,\n propsOptions\n );\n }\n root = cloneVNode(root, fallthroughAttrs, false, true);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n if (!isModelListener(key)) {\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n } else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn$1(\n `Extraneous non-props attributes (${extraAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`\n );\n }\n if (eventAttrs.length) {\n warn$1(\n `Extraneous non-emits event listeners (${eventAttrs.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`\n );\n }\n }\n }\n }\n if (vnode.dirs) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Runtime directive used on component with non-element root node. The directives will not function as intended.`\n );\n }\n root = cloneVNode(root, null, false, true);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n if (vnode.transition) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isElementRoot(root)) {\n warn$1(\n `Component inside renders non-element root node that cannot be animated.`\n );\n }\n root.transition = vnode.transition;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && setRoot) {\n setRoot(root);\n } else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren, false);\n if (!childRoot) {\n return [vnode, void 0];\n } else if (!!(process.env.NODE_ENV !== \"production\") && childRoot.patchFlag > 0 && childRoot.patchFlag & 2048) {\n return getChildRoot(childRoot);\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n } else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children, recurse = true) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n if (child.type !== Comment || child.children === \"v-if\") {\n if (singleRoot) {\n return;\n } else {\n singleRoot = child;\n if (!!(process.env.NODE_ENV !== \"production\") && recurse && singleRoot.patchFlag > 0 && singleRoot.patchFlag & 2048) {\n return filterSingleRoot(singleRoot.children);\n }\n }\n }\n } else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === \"class\" || key === \"style\" || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return vnode.shapeFlag & (6 | 1) || vnode.type === Comment;\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n if (!!(process.env.NODE_ENV !== \"production\") && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024) {\n return true;\n }\n if (patchFlag & 16) {\n if (!prevProps) {\n return !!nextProps;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n } else if (patchFlag & 8) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n } else {\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el) {\n while (parent) {\n const root = parent.subTree;\n if (root.suspense && root.suspense.activeBranch === vnode) {\n root.el = vnode.el;\n }\n if (root === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n } else {\n break;\n }\n }\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nconst isSuspense = (type) => type.__isSuspense;\nlet suspenseId = 0;\nconst SuspenseImpl = {\n name: \"Suspense\",\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n if (n1 == null) {\n mountSuspense(\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n } else {\n if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) {\n n2.suspense = n1.suspense;\n n2.suspense.vnode = n2;\n n2.el = n1.el;\n return;\n }\n patchSuspense(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\nconst Suspense = SuspenseImpl ;\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) {\n const {\n p: patch,\n o: { createElement }\n } = rendererInternals;\n const hiddenContainer = createElement(\"div\");\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n container,\n hiddenContainer,\n anchor,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals\n );\n patch(\n null,\n suspense.pendingBranch = vnode.ssContent,\n hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds\n );\n if (suspense.deps > 0) {\n triggerEvent(vnode, \"onPending\");\n triggerEvent(vnode, \"onFallback\");\n patch(\n null,\n vnode.ssFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds\n );\n setActiveBranch(suspense, vnode.ssFallback);\n } else {\n suspense.resolve(false, true);\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = n2.suspense = n1.suspense;\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n patch(\n pendingBranch,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else if (isInFallback) {\n if (!isHydrating) {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n }\n } else {\n suspense.pendingId = suspenseId++;\n if (isHydrating) {\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n } else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n suspense.deps = 0;\n suspense.effects.length = 0;\n suspense.hiddenContainer = createElement(\"div\");\n if (isInFallback) {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n patch(\n activeBranch,\n newFallback,\n container,\n anchor,\n parentComponent,\n null,\n // fallback tree will not have suspense context\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newFallback);\n }\n } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n suspense.resolve(true);\n } else {\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n } else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n patch(\n activeBranch,\n newBranch,\n container,\n anchor,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, newBranch);\n } else {\n triggerEvent(n2, \"onPending\");\n suspense.pendingBranch = newBranch;\n if (newBranch.shapeFlag & 512) {\n suspense.pendingId = newBranch.component.suspenseId;\n } else {\n suspense.pendingId = suspenseId++;\n }\n patch(\n null,\n newBranch,\n suspense.hiddenContainer,\n null,\n parentComponent,\n suspense,\n namespace,\n slotScopeIds,\n optimized\n );\n if (suspense.deps <= 0) {\n suspense.resolve();\n } else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n } else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n if (!!(process.env.NODE_ENV !== \"production\") && true && !hasWarned) {\n hasWarned = true;\n console[console.info ? \"info\" : \"log\"](\n ` is an experimental feature and its API will likely change.`\n );\n }\n const {\n p: patch,\n m: move,\n um: unmount,\n n: next,\n o: { parentNode, remove }\n } = rendererInternals;\n let parentSuspenseId;\n const isSuspensible = isVNodeSuspensible(vnode);\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch) {\n parentSuspenseId = parentSuspense.pendingId;\n parentSuspense.deps++;\n }\n }\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const initialAnchor = anchor;\n const suspense = {\n vnode,\n parent: parentSuspense,\n parentComponent,\n namespace,\n container,\n hiddenContainer,\n deps: 0,\n pendingId: suspenseId++,\n timeout: typeof timeout === \"number\" ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: !isHydrating,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false, sync = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(\n `suspense.resolve() is called without a pending branch.`\n );\n }\n if (suspense.isUnmounted) {\n throw new Error(\n `suspense.resolve() is called on an already unmounted suspense boundary.`\n );\n }\n }\n const {\n vnode: vnode2,\n activeBranch,\n pendingBranch,\n pendingId,\n effects,\n parentComponent: parentComponent2,\n container: container2\n } = suspense;\n let delayEnter = false;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n } else if (!resume) {\n delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(\n pendingBranch,\n container2,\n anchor === initialAnchor ? next(activeBranch) : anchor,\n 0\n );\n queuePostFlushCb(effects);\n }\n };\n }\n if (activeBranch) {\n if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {\n anchor = next(activeBranch);\n }\n unmount(activeBranch, parentComponent2, suspense, true);\n }\n if (!delayEnter) {\n move(pendingBranch, container2, anchor, 0);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n if (!hasUnresolvedAncestor && !delayEnter) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n if (isSuspensible) {\n if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) {\n parentSuspense.deps--;\n if (parentSuspense.deps === 0 && !sync) {\n parentSuspense.resolve();\n }\n }\n }\n triggerEvent(vnode2, \"onResolve\");\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense;\n triggerEvent(vnode2, \"onFallback\");\n const anchor2 = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n patch(\n null,\n fallbackVNode,\n container2,\n anchor2,\n parentComponent2,\n null,\n // fallback tree will not have suspense context\n namespace2,\n slotScopeIds,\n optimized\n );\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === \"out-in\";\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n unmount(\n activeBranch,\n parentComponent2,\n null,\n // no suspense so unmount hooks fire now\n true\n // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container2, anchor2, type) {\n suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type);\n suspense.container = container2;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance.asyncDep.catch((err) => {\n handleError(err, instance, 0);\n }).then((asyncSetupResult) => {\n if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) {\n return;\n }\n instance.asyncResolved = true;\n const { vnode: vnode2 } = instance;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n pushWarningContext(vnode2);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n vnode2.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(\n instance,\n vnode2,\n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el),\n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree),\n suspense,\n namespace,\n optimized\n );\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode2.el);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n popWarningContext();\n }\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense2, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(\n suspense.activeBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n if (suspense.pendingBranch) {\n unmount(\n suspense.pendingBranch,\n parentComponent,\n parentSuspense2,\n doRemove\n );\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n const suspense = vnode.suspense = createSuspenseBoundary(\n vnode,\n parentSuspense,\n parentComponent,\n node.parentNode,\n // eslint-disable-next-line no-restricted-globals\n document.createElement(\"div\"),\n null,\n namespace,\n slotScopeIds,\n optimized,\n rendererInternals,\n true\n );\n const result = hydrateNode(\n node,\n suspense.pendingBranch = vnode.ssContent,\n parentComponent,\n suspense,\n slotScopeIds,\n optimized\n );\n if (suspense.deps === 0) {\n suspense.resolve(false, true);\n }\n return result;\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32;\n vnode.ssContent = normalizeSuspenseSlot(\n isSlotChildren ? children.default : children\n );\n vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if (!!(process.env.NODE_ENV !== \"production\") && !singleChild && s.filter((child) => child !== NULL_DYNAMIC_COMPONENT).length > 0) {\n warn$1(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter((c) => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n } else {\n suspense.effects.push(fn);\n }\n } else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n let el = branch.el;\n while (!el && branch.component) {\n branch = branch.component.subTree;\n el = branch.el;\n }\n vnode.el = el;\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\nfunction isVNodeSuspensible(vnode) {\n const suspensible = vnode.props && vnode.props.suspensible;\n return suspensible != null && suspensible !== false;\n}\n\nconst ssrContextKey = Symbol.for(\"v-scx\");\nconst useSSRContext = () => {\n {\n const ctx = inject(ssrContextKey);\n if (!ctx) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.`\n );\n }\n return ctx;\n }\n};\n\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"post\" }) : { flush: \"post\" }\n );\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(\n effect,\n null,\n !!(process.env.NODE_ENV !== \"production\") ? extend({}, options, { flush: \"sync\" }) : { flush: \"sync\" }\n );\n}\nconst INITIAL_WATCHER_VALUE = {};\nfunction watch(source, cb, options) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isFunction(cb)) {\n warn$1(\n `\\`watch(fn, options?)\\` signature has been moved to a separate API. Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only supports \\`watch(source, cb, options?) signature.`\n );\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, {\n immediate,\n deep,\n flush,\n once,\n onTrack,\n onTrigger\n} = EMPTY_OBJ) {\n if (cb && once) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n unwatch();\n };\n }\n if (!!(process.env.NODE_ENV !== \"production\") && deep !== void 0 && typeof deep === \"number\") {\n warn$1(\n `watch() \"deep\" option with number value will be used as watch depth in future versions. Please use a boolean instead to avoid potential breakage.`\n );\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !cb) {\n if (immediate !== void 0) {\n warn$1(\n `watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (deep !== void 0) {\n warn$1(\n `watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n if (once !== void 0) {\n warn$1(\n `watch() \"once\" option is only respected when using the watch(source, callback, options?) signature.`\n );\n }\n }\n const warnInvalidSource = (s) => {\n warn$1(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const instance = currentInstance;\n const reactiveGetter = (source2) => deep === true ? source2 : (\n // for deep: false, only traverse root-level properties\n traverse(source2, deep === false ? 1 : void 0)\n );\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2);\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = () => callWithErrorHandling(source, instance, 2);\n } else {\n getter = () => {\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(\n source,\n instance,\n 3,\n [onCleanup]\n );\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4);\n cleanup = effect.onStop = void 0;\n };\n };\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n onCleanup = NOOP;\n if (!cb) {\n getter();\n } else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3, [\n getter(),\n isMultiSource ? [] : void 0,\n onCleanup\n ]);\n }\n if (flush === \"sync\") {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n } else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active || !effect.dirty) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n } else {\n effect.run();\n }\n };\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === \"sync\") {\n scheduler = job;\n } else if (flush === \"post\") {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n } else {\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, NOOP, scheduler);\n const scope = getCurrentScope();\n const unwatch = () => {\n effect.stop();\n if (scope) {\n remove(scope.effects, effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n if (cb) {\n if (immediate) {\n job();\n } else {\n oldValue = effect.run();\n }\n } else if (flush === \"post\") {\n queuePostRenderEffect(\n effect.run.bind(effect),\n instance && instance.suspense\n );\n } else {\n effect.run();\n }\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source) ? source.includes(\".\") ? createPathGetter(publicThis, source) : () => publicThis[source] : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n } else {\n cb = value.handler;\n options = value;\n }\n const reset = setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n reset();\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split(\".\");\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n }\n return value;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getExposeProxy(currentRenderingInstance) || currentRenderingInstance.proxy;\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\"))\n break;\n }\n }\n }\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild)) {\n const leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (instance.update.active !== false) {\n instance.effect.dirty = true;\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1))\n done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n return resolveTransitionHooks(vnode2, props, state, instance);\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n if (!isKeepAlive(vnode)) {\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128)\n keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8326: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.effect.dirty = true;\n queueJob(instance.parent.update);\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && (!filter || !filter(name))) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (!current || !isSameVNodeType(cached, current)) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n if (target.isUnmounted) {\n return;\n }\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => (\n // post-create lifecycle registrations are noops during SSR (except for serverPrefetch)\n (!isInSSRComponentSetup || lifecycle === \"sp\") && injectHook(lifecycle, (...args) => hook(...args), target)\n);\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\"bu\");\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\"bum\");\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\"sp\");\nconst onRenderTriggered = createHook(\n \"rtg\"\n);\nconst onRenderTracked = createHook(\n \"rtc\"\n);\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n if (isArray(source) || isString(source)) {\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(source[i], i, void 0, cached && cached[i]);\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res)\n res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) {\n if (name !== \"default\")\n props.name = name;\n return createVNode(\"slot\", props, fallback && fallback());\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const rendered = createBlock(\n Fragment,\n {\n key: props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key || `_${name}`\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child))\n return true;\n if (child.type === Comment)\n return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i)\n return null;\n if (isStatefulComponent(i))\n return getExposeProxy(i) || i.proxy;\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n i.effect.dirty = true;\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase();\n if (htmlRawNames.includes(name)) {\n effects.consume(code);\n return continuationClose;\n }\n return continuation(code);\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code);\n // @ts-expect-error: not null.\n buffer += String.fromCharCode(code);\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationAfter(code);\n }\n effects.consume(code);\n return continuationClose;\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(\"htmlFlow\");\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start;\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
    \n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return effects.attempt(blankLine, ok, nok);\n }\n}","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiAlpha, asciiAlphanumeric, markdownLineEnding, markdownLineEndingOrSpace, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable | undefined} */\n let marker;\n /** @type {number} */\n let index;\n /** @type {State} */\n let returnState;\n return start;\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n index = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n return nok(code);\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return nok(code);\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n if (markdownLineEnding(code)) {\n returnState = comment;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return comment;\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return comment(code);\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code);\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n return index === value.length ? cdata : cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return cdata;\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return declaration;\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return instruction;\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n return tagCloseBetween(code);\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n return end(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n return end(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code === null) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok;\n }\n return nok(code);\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineEndingAfter;\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code);\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(\"htmlTextData\");\n return returnState(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n};\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n};\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n};\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1;\n while (++index < events.length) {\n const token = events[index][1];\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n // Remove the marker.\n events.splice(index + 1, token.type === \"labelImage\" ? 4 : 2);\n token.type = \"data\";\n index++;\n }\n }\n return events;\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length;\n let offset = 0;\n /** @type {Token} */\n let token;\n /** @type {number | undefined} */\n let open;\n /** @type {number | undefined} */\n let close;\n /** @type {Array} */\n let media;\n\n // Find an opening.\n while (index--) {\n token = events[index][1];\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const label = {\n type: \"label\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n };\n const text = {\n type: \"labelText\",\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n };\n media = [['enter', group, context], ['enter', label, context]];\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3));\n\n // Text open.\n media = push(media, [['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));\n\n // Text close, marker close, label close.\n media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]);\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1));\n\n // Media close.\n media = push(media, [['exit', group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n /** @type {Token} */\n let labelStart;\n /** @type {boolean} */\n let defined;\n\n // Find an opening.\n while (index--) {\n if ((self.events[index][1].type === \"labelImage\" || self.events[index][1].type === \"labelLink\") && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n return start;\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code);\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code);\n }\n defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })));\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return after;\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code);\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code);\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code);\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code);\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code);\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart;\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n return resourceBefore;\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code);\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code);\n }\n return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, \"resourceDestination\", \"resourceDestinationLiteral\", \"resourceDestinationLiteralMarker\", \"resourceDestinationRaw\", \"resourceDestinationString\", 32)(code);\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code);\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code);\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, resourceTitleAfter, nok, \"resourceTitle\", \"resourceTitleMarker\", \"resourceTitleString\")(code);\n }\n return resourceEnd(code);\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code);\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok;\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this;\n return referenceFull;\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, \"reference\", \"referenceMarker\", \"referenceString\")(code);\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code);\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart;\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n return referenceCollapsedOpen;\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

    !^a

    \n *

    !^a

    \n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n /** @type {State} */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok, \"linePrefix\");\n }\n}","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"thematicBreak\");\n // To do: parse indent like `markdown-rs`.\n return before(code);\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n marker = code;\n return atBreak(code);\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter(\"thematicBreakSequence\");\n return sequence(code);\n }\n if (size >= 3 && (code === null || markdownLineEnding(code))) {\n effects.exit(\"thematicBreak\");\n return ok(code);\n }\n return nok(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return sequence;\n }\n effects.exit(\"thematicBreakSequence\");\n return markdownSpace(code) ? factorySpace(effects, atBreak, \"whitespace\")(code) : atBreak(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ContainerState} ContainerState\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiDigit, markdownSpace } from 'micromark-util-character';\nimport { blankLine } from './blank-line.js';\nimport { thematicBreak } from './thematic-break.js';\n\n/** @type {Construct} */\nexport const list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n};\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n};\n\n/** @type {Construct} */\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n};\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this;\n const tail = self.events[self.events.length - 1];\n let initialSize = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n const kind = self.containerState.type || (code === 42 || code === 43 || code === 45 ? \"listUnordered\" : \"listOrdered\");\n if (kind === \"listUnordered\" ? !self.containerState.marker || code === self.containerState.marker : asciiDigit(code)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n if (kind === \"listUnordered\") {\n effects.enter(\"listItemPrefix\");\n return code === 42 || code === 45 ? effects.check(thematicBreak, nok, atMarker)(code) : atMarker(code);\n }\n if (!self.interrupt || code === 49) {\n effects.enter(\"listItemPrefix\");\n effects.enter(\"listItemValue\");\n return inside(code);\n }\n }\n return nok(code);\n }\n\n /** @type {State} */\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code);\n return inside;\n }\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code === self.containerState.marker : code === 41 || code === 46)) {\n effects.exit(\"listItemValue\");\n return atMarker(code);\n }\n return nok(code);\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n effects.enter(\"listItemMarker\");\n effects.consume(code);\n effects.exit(\"listItemMarker\");\n self.containerState.marker = self.containerState.marker || code;\n return effects.check(blankLine,\n // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank, effects.attempt(listItemPrefixWhitespaceConstruct, endOfPrefix, otherPrefix));\n }\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code);\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter(\"listItemPrefixWhitespace\");\n effects.consume(code);\n effects.exit(\"listItemPrefixWhitespace\");\n return endOfPrefix;\n }\n return nok(code);\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n self.containerState.size = initialSize + self.sliceSerialize(effects.exit(\"listItemPrefix\"), true).length;\n return ok(code);\n }\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this;\n self.containerState._closeFlow = undefined;\n return effects.check(blankLine, onBlank, notBlank);\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine;\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return factorySpace(effects, ok, \"listItemIndent\", self.containerState.size + 1)(code);\n }\n\n /** @type {State} */\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return notInCurrentItem(code);\n }\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code);\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true;\n // As we’re closing flow, we’re no longer interrupting.\n self.interrupt = undefined;\n // Always populated by defaults.\n\n return factorySpace(effects, effects.attempt(list, ok, nok), \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, \"listItemIndent\", self.containerState.size + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"listItemIndent\" && tail[2].sliceSerialize(tail[1], true).length === self.containerState.size ? ok(code) : nok(code);\n }\n}\n\n/**\n * @type {Exiter}\n * @this {TokenizeContext}\n */\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this;\n\n // Always populated by defaults.\n\n return factorySpace(effects, afterPrefix, \"listItemPrefixWhitespace\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4 + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return !markdownSpace(code) && tail && tail[1].type === \"listItemPrefixWhitespace\" ? ok(code) : nok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n};\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length;\n /** @type {number | undefined} */\n let content;\n /** @type {number | undefined} */\n let text;\n /** @type {number | undefined} */\n let definition;\n\n // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === \"content\") {\n content = index;\n break;\n }\n if (events[index][1].type === \"paragraph\") {\n text = index;\n }\n }\n // Exit\n else {\n if (events[index][1].type === \"content\") {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1);\n }\n if (!definition && events[index][1].type === \"definition\") {\n definition = index;\n }\n }\n }\n const heading = {\n type: \"setextHeading\",\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n\n // Change the paragraph to setext heading text.\n events[text][1].type = \"setextHeadingText\";\n\n // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context]);\n events.splice(definition + 1, 0, ['exit', events[content][1], context]);\n events[content][1].end = Object.assign({}, events[definition][1].end);\n } else {\n events[content][1] = heading;\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context]);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length;\n /** @type {boolean | undefined} */\n let paragraph;\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (self.events[index][1].type !== \"lineEnding\" && self.events[index][1].type !== \"linePrefix\" && self.events[index][1].type !== \"content\") {\n paragraph = self.events[index][1].type === \"paragraph\";\n break;\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter(\"setextHeadingLine\");\n marker = code;\n return before(code);\n }\n return nok(code);\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"setextHeadingLineSequence\");\n return inside(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n effects.exit(\"setextHeadingLineSequence\");\n return markdownSpace(code) ? factorySpace(effects, after, \"lineSuffix\")(code) : after(code);\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"setextHeadingLine\");\n return ok(code);\n }\n return nok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\nimport {blankLine, content} from 'micromark-core-commonmark'\nimport {factorySpace} from 'micromark-factory-space'\nimport {markdownLineEnding} from 'micromark-util-character'\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine,\n atBlankEnding,\n // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n factorySpace(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(content, afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n\n /** @type {State} */\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n\n /** @type {State} */\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\nexport const resolver = {\n resolveAll: createResolver()\n}\nexport const string = initializeFactory('string')\nexport const text = initializeFactory('text')\n\n/**\n * @param {'string' | 'text'} field\n * @returns {InitialConstruct}\n */\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n\n /** @type {State} */\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n\n /** @type {State} */\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('data')\n effects.consume(code)\n return data\n }\n\n /** @type {State} */\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n }\n\n // Data.\n effects.consume(code)\n return data\n }\n\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n function atBreak(code) {\n if (code === null) {\n return true\n }\n const list = constructs[code]\n let index = -1\n if (list) {\n // Always populated by defaults.\n\n while (++index < list.length) {\n const item = list[index]\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n return false\n }\n }\n}\n\n/**\n * @param {Resolver | undefined} [extraResolver]\n * @returns {Resolver}\n */\nfunction createResolver(extraResolver) {\n return resolveAllText\n\n /** @type {Resolver} */\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number | undefined} */\n let enter\n\n // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n enter = undefined\n }\n }\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean | undefined} */\n let tabs\n while (index--) {\n const chunk = chunks[index]\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n if (bufferIndex) break\n bufferIndex = -1\n }\n // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n eventIndex++\n }\n }\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenType} TokenType\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n/**\n * @callback Restore\n * @returns {undefined}\n *\n * @typedef Info\n * @property {Restore} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {undefined}\n */\n\nimport {markdownLineEnding} from 'micromark-util-character'\nimport {push, splice} from 'micromark-util-chunked'\nimport {resolveAll} from 'micromark-util-resolve-all'\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit | undefined} [from]\n * @returns {TokenizeContext}\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record} */\n const columnStart = {}\n /** @type {Array} */\n const resolveAllConstructs = []\n /** @type {Array} */\n let chunks = []\n /** @type {Array} */\n let stack = []\n /** @type {boolean | undefined} */\n let consumed = true\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects)\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n return context\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice)\n main()\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n addResult(initialize, 0)\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context)\n return context.events\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {line, column, offset, _index, _bufferIndex} = point\n return {\n line,\n column,\n offset,\n _index,\n _bufferIndex\n }\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n */\n function main() {\n /** @type {number} */\n let chunkIndex\n while (point._index < chunks.length) {\n const chunk = chunks[point._index]\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {undefined}\n */\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++\n\n // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n }\n\n // Expose the previous character.\n context.previous = code\n\n // Mark as consumed.\n consumed = true\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n */\n function constructFactory(onreturn, fields) {\n return hook\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | Construct | ConstructRecord} constructs\n * @param {State} returnState\n * @param {State | undefined} [bogusState]\n * @returns {State}\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {Array} */\n let listOfConstructs\n /** @type {number} */\n let constructIndex\n /** @type {Construct} */\n let currentConstruct\n /** @type {Info} */\n let info\n return Array.isArray(constructs) /* c8 ignore next 1 */\n ? handleListOfConstructs(constructs)\n : 'tokenize' in constructs\n ? // @ts-expect-error Looks like a construct.\n handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n function handleMapOfConstructs(map) {\n return start\n\n /** @type {State} */\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {Array} list\n * @returns {State}\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n if (list.length === 0) {\n return bogusState\n }\n return handleConstruct(list[constructIndex])\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n function handleConstruct(construct) {\n return start\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n // Always populated by defaults.\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true\n info.restore()\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n return bogusState\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {undefined}\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n if (construct.resolve) {\n splice(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n */\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n */\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {undefined}\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array} chunks\n * @param {Pick} token\n * @returns {Array}\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array} */\n let view\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n if (startBufferIndex > -1) {\n const head = view[0]\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex)\n } else {\n view.shift()\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n return view\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array} chunks\n * @param {boolean | undefined} [expandTabs=false]\n * @returns {string}\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array} */\n const result = []\n /** @type {boolean | undefined} */\n let atTab\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n let value\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n case -4: {\n value = '\\n'\n break\n }\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n atTab = chunk === -2\n result.push(value)\n }\n return result.join('')\n}\n","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\n\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n}\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n}\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Create} Create\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n */\n\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {string, text} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * @returns {ParseContext}\n */\nexport function parse(options) {\n const settings = options || {}\n const constructs =\n /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])])\n\n /** @type {ParseContext} */\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n\n /**\n * @param {InitialConstruct} initial\n */\n function create(initial) {\n return creator\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * @param {Array} events\n * @returns {Array}\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {boolean | null | undefined} [end=false]\n * @returns {Array}\n */\n\nconst search = /[\\0\\t\\n\\r]/g\n\n/**\n * @returns {Preprocessor}\n */\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean | undefined} */\n let start = true\n /** @type {boolean | undefined} */\n let atCarriageReturn\n return preprocessor\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = []\n /** @type {RegExpMatchArray | null} */\n let match\n /** @type {number} */\n let next\n /** @type {number} */\n let startPosition\n /** @type {number} */\n let endPosition\n /** @type {Code} */\n let code\n value =\n buffer +\n (typeof value === 'string'\n ? value.toString()\n : new TextDecoder(encoding || undefined).decode(value))\n startPosition = 0\n buffer = ''\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n start = undefined\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n while (column++ < next) chunks.push(-1)\n break\n }\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n startPosition = endPosition + 1\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n return chunks\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Options} Options\n * @typedef {import('micromark-util-types').Value} Value\n */\n\nimport {compile} from './lib/compile.js'\nimport {parse} from './lib/parse.js'\nimport {postprocess} from './lib/postprocess.js'\nimport {preprocess} from './lib/preprocess.js'\nexport {compile} from './lib/compile.js'\nexport {parse} from './lib/parse.js'\nexport {postprocess} from './lib/postprocess.js'\nexport {preprocess} from './lib/preprocess.js'\n\n/**\n * Compile markdown to HTML.\n *\n * > Note: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > .\n *\n * @overload\n * @param {Value} value\n * Markdown to parse (`string` or `Uint8Array`).\n * @param {Encoding | null | undefined} encoding\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (`string`, default: `'utf8'`).\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {string}\n * Compiled HTML.\n *\n * @overload\n * @param {Value} value\n * Markdown to parse (`string` or `Uint8Array`).\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {string}\n * Compiled HTML.\n *\n * @param {Value} value\n * Markdown to parse (`string` or `Uint8Array`).\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (`string`, default: `'utf8'`).\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {string}\n * Compiled HTML.\n */\nexport function micromark(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n return compile(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n}\n","/*!\n * shared v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => {\n if (!isObject(val))\n return false;\n const proto = Object.getPrototypeOf(val);\n return proto === null || proto.constructor === Object;\n};\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\nfunction incrementer(code) {\n let current = code;\n return () => ++current;\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n Object.keys(src).forEach(key => {\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, incrementer, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n * message-compiler v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileWarnCodes = {\n USE_MODULO_SYNTAX: 1,\n __EXTEND_POINT__: 2\n};\n/** @internal */\nconst warnMessages = {\n [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`\n};\nfunction createCompileWarn(code, loc, ...args) {\n const msg = format(warnMessages[code] || '', ...(args || [])) ;\n const message = { message: String(msg), code };\n if (loc) {\n message.location = loc;\n }\n return message;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError, onWarn } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function emitWarn(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onWarn) {\n const loc = location ? createLocation(start, end) : null;\n onWarn(createCompileWarn(code, loc, args));\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key, modulo) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n if (modulo === true) {\n node.modulo = true;\n }\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n let modulo = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Modulo */:\n modulo = true;\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));\n if (modulo) {\n emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));\n modulo = null;\n }\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };\n","/*!\n * core-base v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, isFunction, isString, isNumber, isPlainObject, assign, join, toDisplayString, isArray, incrementer, format as format$1, isPromise, isBoolean, warn, isRegExp, warnOnce, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate } from '@intlify/shared';\nimport { CompileWarnCodes, CompileErrorCodes, createCompileError, detectHtmlTag, defaultOnError, baseCompile as baseCompile$1 } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || {};\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign({}, _list, _named)\n };\n return ctx;\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit(\"i18n:init\" /* IntlifyDevToolsHooks.I18nInit */, {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(\"function:translate\" /* IntlifyDevToolsHooks.FunctionTranslate */);\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst code$1 = CompileWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: code$1, // 2\n FALLBACK_TO_TRANSLATE: inc$1(), // 3\n CANNOT_FORMAT_NUMBER: inc$1(), // 4\n FALLBACK_TO_NUMBER_FORMAT: inc$1(), // 5\n CANNOT_FORMAT_DATE: inc$1(), // 6\n FALLBACK_TO_DATE_FORMAT: inc$1(), // 7\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1(), // 8\n __EXTEND_POINT__: inc$1() // 9\n};\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\nconst code = CompileErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: code, // 17\n INVALID_DATE_ARGUMENT: inc(), // 18\n INVALID_ISO_DATE_ARGUMENT: inc(), // 19\n NOT_SUPPORT_NON_STRING_MESSAGE: inc(), // 20\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc(), // 21\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc(), // 22\n NOT_SUPPORT_LOCALE_TYPE: inc(), // 23\n __EXTEND_POINT__: inc() // 24\n};\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\n) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '9.13.1';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : { [_locale]: {} };\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale]: {} }\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale]: {} }\n ;\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || {};\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"missing\" /* VueDevToolsTimelineEvents.MISSING */, {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = ast.b || ast.body;\n if ((body.t || body.type) === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = plural.c || plural.cases;\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const _static = node.s || node.static;\n if (_static) {\n return ctx.type === 'text'\n ? _static\n : ctx.normalize([_static]);\n }\n else {\n const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = node.t || node.type;\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n const text = node;\n return (text.v || text.value);\n }\n case 9 /* NodeTypes.Literal */: {\n const literal = node;\n return (literal.v || literal.value);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n return ctx.interpolate(ctx.named(named.k || named.key));\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = linked.m || linked.modifier;\n return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n const linkedKey = node;\n return (linkedKey.v || linkedKey.value);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n const linkedModifier = node;\n return (linkedModifier.v || linkedModifier.value);\n }\n default:\n throw new Error(`unhandled node type on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = Object.create(null);\nfunction onCompileWarn(_warn) {\n if (_warn.code === CompileWarnCodes.USE_MODULO_SYNTAX) {\n warn(`The use of named interpolation with modulo syntax is deprecated. ` +\n `It will be removed in v10.\\n` +\n `reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format \\n` +\n `(message compiler warning message: ${_warn.message})`);\n }\n}\nfunction clearCompileCache() {\n compileCache = Object.create(null);\n}\nconst isMessageAST = (val) => isObject(val) &&\n (val.t === 0 || val.type === 0) &&\n ('b' in val || 'body' in val);\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nconst compileToFunction = (message, context) => {\n if (!isString(message)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);\n }\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile\n const { code, detectError } = baseCompile(message, context);\n // evaluate function\n const msg = new Function(`return ${code}`)();\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n};\nfunction compile(message, context) {\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n if (((__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__)) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : '';\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || {}\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || {};\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit(\"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */, {\n type: \"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */,\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */, {\n type: \"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */,\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */, {\n type: \"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */,\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit(\"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */, {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key) => {\n let val = resolveValue(message, key);\n // fallback to root context\n if (val == null && fallbackContext) {\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch (e) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, incrementer, format, makeSymbol, isPlainObject, isArray, deepCopy, isString, hasOwn, isObject, warn, warnOnce, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CoreErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '9.13.1';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst code$1 = CoreWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: code$1, // 9\n NOT_SUPPORTED_PRESERVE: inc$1(), // 10\n NOT_SUPPORTED_FORMATTER: inc$1(), // 11\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(), // 12\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(), // 13\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(), // 14\n NOT_FOUND_PARENT_SCOPE: inc$1(), // 15\n IGNORE_OBJ_FLATTEN: inc$1(), // 16\n NOTICE_DROP_ALLOW_COMPOSITION: inc$1(), // 17\n NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1() // 18\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`,\n [I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG]: `'translateExistCompatible' option will be dropped in the next major version.`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\nconst code = CoreErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: code, // 24\n // legacy module errors\n INVALID_ARGUMENT: inc(), // 25\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: inc(), // 26\n NOT_INSTALLED: inc(), // 27\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(), // 28\n // directive module errors\n REQUIRED_VALUE: inc(), // 29\n INVALID_VALUE: inc(), // 30\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(), // 31\n NOT_INSTALLED_WITH_PROVIDE: inc(), // 32\n // unexpected error\n UNEXPECTED_ERROR: inc(), // 33\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(), // 34\n // bridge support vue 2.x only\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(), // 35\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(), // 36\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(), // 37\n // for enhancement\n __EXTEND_POINT__: inc() // 38\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = {};\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? {}\n : { [locale]: {} });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || {};\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getComponentOptions(instance) {\n return instance.type ;\n}\nfunction adjustI18nResources(gl, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n let messages = isObject(options.messages) ? options.messages : {};\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0)\n ;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createComposer(options = {}, VueI18nLegacy) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n const translateExistCompatible = !!options.translateExistCompatible;\n if ((process.env.NODE_ENV !== 'production')) {\n if (translateExistCompatible && !false) {\n warnOnce(getWarnMessage(I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG));\n }\n }\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return !translateExistCompatible\n ? isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)\n : resolved != null;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n }\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n }\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n const translateExistCompatible = options\n .translateExistCompatible;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n translateExistCompatible,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createVueI18n(options = {}, VueI18nLegacy) {\n {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // formatter\n get formatter() {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n // dummy\n return {\n interpolate() {\n return [];\n }\n };\n },\n set formatter(val) {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // preserveDirectiveContent\n get preserveDirectiveContent() {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n return true;\n },\n set preserveDirectiveContent(val) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // tc\n tc(...args) {\n const [arg1, arg2, arg3] = args;\n const options = { plural: 1 };\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n },\n // getChoiceIndex\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getChoiceIndex(choice, choicesLength) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\n return -1;\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current]\n )\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, {});\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag(tag) {\n return Fragment ;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
    \n * \n * \n * {{ $t('tos') }}\n * \n * \n *
    \n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, {});\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\nfunction getComposer$2(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n const { instance, modifiers, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$2(i18n, instance.$);\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\n }\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\n name: Translation.name\n }));\n }\n if (globalInstall) {\n [!useI18nComponentName ? Translation.name : 'i18n', 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\nconst VueDevToolsLabels = {\n [\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */]: 'Vue I18n devtools',\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'I18n Resources',\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 0xffcd19\n};\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: \"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */,\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */,\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */],\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$1(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === \"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */\n ? 'error'\n : event === \"fallback\" /* VueDevToolsTimelineEvents.FALBACK */ ||\n event === \"missing\" /* VueDevToolsTimelineEvents.MISSING */\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$tc = (...args) => this.$i18n.tc(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$tc;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction createI18n(options = {}, VueI18nLegacy) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n // prettier-ignore\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\n ? !!options.allowComposition\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n if ((process.env.NODE_ENV !== 'production')) {\n if (__legacyMode && __allowComposition && !false) {\n warn(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION));\n }\n }\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n {\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // allowComposition\n get allowComposition() {\n return __allowComposition;\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (__VUE_I18N_LEGACY_API__) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (i18n.mode === 'legacy' && !options.__useComponent) {\n if (!i18n.allowComposition) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\n }\n return useI18nForLegacy(instance, scope, gl, options);\n }\n }\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\n/**\n * Cast to VueI18n legacy compatible type\n *\n * @remarks\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\n *\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\n *\n * @param i18n - An instance of {@link I18n}\n * @returns A i18n instance which is casted to {@link VueI18n} type\n *\n * @VueI18nTip\n * :new: provided by **vue-i18n-bridge only**\n *\n * @VueI18nGeneral\n */\n/* #__NO_SIDE_EFFECTS__ */\nconst castToVueI18n = (i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => {\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\n }\n return i18n;\n};\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const scope = effectScope();\n {\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n }\n}\nfunction getI18nInstance(instance) {\n {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer\n ;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n {\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n {\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n }\n}\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const isLocalScope = scope === 'local';\n const _composer = shallowRef(null);\n if (isLocalScope &&\n instance.proxy &&\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\n }\n const _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : !isString(options.locale);\n const _locale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _numberFormats = ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _missingWarn = isLocalScope\n ? root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n const _fallbackWarn = isLocalScope\n ? root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n const _fallbackRoot = isLocalScope\n ? root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n const _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n const _missing = isFunction(options.missing) ? options.missing : null;\n // postTranslation handler\n const _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n const _warnHtmlMessage = isLocalScope\n ? root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const _escapeParameter = !!options.escapeParameter;\n // prettier-ignore\n const _modifiers = isLocalScope\n ? root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n const _pluralRules = options.pluralRules || (isLocalScope && root.pluralRules);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ];\n }\n // locale\n const locale = computed({\n get: () => {\n return _composer.value ? _composer.value.locale.value : _locale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.locale.value = val;\n }\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => {\n return _composer.value\n ? _composer.value.fallbackLocale.value\n : _fallbackLocale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.fallbackLocale.value = val;\n }\n _fallbackLocale.value = val;\n }\n });\n // messages\n const messages = computed(() => {\n if (_composer.value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _composer.value.messages.value;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _messages.value;\n }\n });\n const datetimeFormats = computed(() => _datetimeFormats.value);\n const numberFormats = computed(() => _numberFormats.value);\n function getPostTranslationHandler() {\n return _composer.value\n ? _composer.value.getPostTranslationHandler()\n : _postTranslation;\n }\n function setPostTranslationHandler(handler) {\n if (_composer.value) {\n _composer.value.setPostTranslationHandler(handler);\n }\n }\n function getMissingHandler() {\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\n }\n function setMissingHandler(handler) {\n if (_composer.value) {\n _composer.value.setMissingHandler(handler);\n }\n }\n function warpWithDeps(fn) {\n trackReactivityValues();\n return fn();\n }\n function t(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\n : warpWithDeps(() => '');\n }\n function rt(...args) {\n return _composer.value\n ? Reflect.apply(_composer.value.rt, null, [...args])\n : '';\n }\n function d(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\n : warpWithDeps(() => '');\n }\n function n(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\n : warpWithDeps(() => '');\n }\n function tm(key) {\n return _composer.value ? _composer.value.tm(key) : {};\n }\n function te(key, locale) {\n return _composer.value ? _composer.value.te(key, locale) : false;\n }\n function getLocaleMessage(locale) {\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\n }\n function setLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.setLocaleMessage(locale, message);\n _messages.value[locale] = message;\n }\n }\n function mergeLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.mergeLocaleMessage(locale, message);\n }\n }\n function getDateTimeFormat(locale) {\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\n }\n function setDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setDateTimeFormat(locale, format);\n _datetimeFormats.value[locale] = format;\n }\n }\n function mergeDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeDateTimeFormat(locale, format);\n }\n }\n function getNumberFormat(locale) {\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\n }\n function setNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setNumberFormat(locale, format);\n _numberFormats.value[locale] = format;\n }\n }\n function mergeNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeNumberFormat(locale, format);\n }\n }\n const wrapper = {\n get id() {\n return _composer.value ? _composer.value.id : -1;\n },\n locale,\n fallbackLocale,\n messages,\n datetimeFormats,\n numberFormats,\n get inheritLocale() {\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\n },\n set inheritLocale(val) {\n if (_composer.value) {\n _composer.value.inheritLocale = val;\n }\n },\n get availableLocales() {\n return _composer.value\n ? _composer.value.availableLocales\n : Object.keys(_messages.value);\n },\n get modifiers() {\n return (_composer.value ? _composer.value.modifiers : _modifiers);\n },\n get pluralRules() {\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\n },\n get isGlobal() {\n return _composer.value ? _composer.value.isGlobal : false;\n },\n get missingWarn() {\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\n },\n set missingWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackWarn() {\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\n },\n set fallbackWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackRoot() {\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\n },\n set fallbackRoot(val) {\n if (_composer.value) {\n _composer.value.fallbackRoot = val;\n }\n },\n get fallbackFormat() {\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\n },\n set fallbackFormat(val) {\n if (_composer.value) {\n _composer.value.fallbackFormat = val;\n }\n },\n get warnHtmlMessage() {\n return _composer.value\n ? _composer.value.warnHtmlMessage\n : _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n if (_composer.value) {\n _composer.value.warnHtmlMessage = val;\n }\n },\n get escapeParameter() {\n return _composer.value\n ? _composer.value.escapeParameter\n : _escapeParameter;\n },\n set escapeParameter(val) {\n if (_composer.value) {\n _composer.value.escapeParameter = val;\n }\n },\n t,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n rt,\n d,\n n,\n tm,\n te,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getDateTimeFormat,\n setDateTimeFormat,\n mergeDateTimeFormat,\n getNumberFormat,\n setNumberFormat,\n mergeNumberFormat\n };\n function sync(composer) {\n composer.locale.value = _locale.value;\n composer.fallbackLocale.value = _fallbackLocale.value;\n Object.keys(_messages.value).forEach(locale => {\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\n });\n Object.keys(_datetimeFormats.value).forEach(locale => {\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\n });\n Object.keys(_numberFormats.value).forEach(locale => {\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\n });\n composer.escapeParameter = _escapeParameter;\n composer.fallbackFormat = _fallbackFormat;\n composer.fallbackRoot = _fallbackRoot;\n composer.fallbackWarn = _fallbackWarn;\n composer.missingWarn = _missingWarn;\n composer.warnHtmlMessage = _warnHtmlMessage;\n }\n onBeforeMount(() => {\n if (instance.proxy == null || instance.proxy.$i18n == null) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const composer = (_composer.value = instance.proxy.$i18n\n .__composer);\n if (scope === 'global') {\n _locale.value = composer.locale.value;\n _fallbackLocale.value = composer.fallbackLocale.value;\n _messages.value = composer.messages.value;\n _datetimeFormats.value = composer.datetimeFormats.value;\n _numberFormats.value = composer.numberFormats.value;\n }\n else if (isLocalScope) {\n sync(composer);\n }\n });\n return wrapper;\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\n{\n initFeatureFlags();\n}\n// register message compiler for jit compilation\nif (__INTLIFY_JIT_COMPILATION__) {\n registerMessageCompiler(compile);\n}\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n","\n\n\n","import { useStorage } from '@vueuse/core';\nimport { LngLatLike } from 'maplibre-gl';\n\nexport const localStoragePrefix = 'kiel_live';\n\nconst userSettings = {\n liteMode: useStorage(`${localStoragePrefix}.lite`, false),\n lastLocation: useStorage<{ center: LngLatLike; zoom: number; pitch: number; bearing: number }>(\n `${localStoragePrefix}.last_location`,\n {\n center: [10.1283, 54.3166],\n zoom: 14,\n pitch: 0,\n bearing: 0,\n },\n ),\n};\n\nexport function useUserSettings() {\n return userSettings;\n}\n","\n\n\n","/*!\n * vue-router v4.3.2\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof document !== 'undefined';\n\nfunction isESModule(obj) {\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\n/**\n * Encoding Rules (␣ = Space)\n * - Path: ␣ \" < > # ? { }\n * - Query: ␣ \" < > # & =\n * - Hash: ␣ \" < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash: decode(hash),\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments.slice(toPosition).join('/'));\n}\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.scrollX,\n top: window.scrollY,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [START];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push(location);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // TODO: should be kept in queue\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to);\n },\n push(to, data) {\n setLocation(to);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [START];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\n/**\n * Creates a typed NavigationFailure object.\n * @internal\n * @param type - NavigationFailureType\n * @param params - { from, to }\n */\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if (to.path != null)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict)\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [\n mainNormalizedRecord,\n ];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n }));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher))\n removeRoute(record.name);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if ((matcher.record.components &&\n Object.keys(matcher.record.components).length) ||\n matcher.record.name ||\n matcher.record.redirect) {\n insertMatcher(matcher);\n }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n let i = 0;\n while (i < matchers.length &&\n comparePathParserScore(matcher, matchers[i]) >= 0 &&\n // Adding children with empty path should still appear before the parent\n // https://github.com/vuejs/router/issues/1124\n (matcher.record.path !== matchers[i].record.path ||\n !isRecordChildOf(matcher, matchers[i])))\n i++;\n matchers.splice(i, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n matcher.keys\n .filter(k => !k.optional)\n .concat(matcher.parent ? matcher.parent.keys.filter(k => k.optional) : [])\n .map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if (location.path != null) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n return {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: undefined,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\nfunction isRecordChildOf(record, parent) {\n return parent.children.some(child => child === record || isRecordChildOf(record, child));\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = fn => fn()) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next));\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = fn => fn()) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard &&\n guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return (guard &&\n guardToPromiseFn(guard, to, from, record, name, runWithContext)());\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to ``.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n let hasPrevious = false;\n let previousTo = null;\n const route = computed(() => {\n const to = unref(props.to);\n if ((process.env.NODE_ENV !== 'production') && (!hasPrevious || to !== previousTo)) {\n if (!isRouteLocation(to)) {\n if (hasPrevious) {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n }\n else {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n }\n }\n previousTo = to;\n hasPrevious = true;\n }\n return router.resolve(to);\n });\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n error: null,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n linkContextDevtools.error = isRouteLocation(unref(props.to))\n ? null\n : 'Invalid \"to\" value';\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && slots.default(link);\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with & \n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(` can no longer be used directly inside or .\\n` +\n `Use slot props instead:\\n\\n` +\n `\\n` +\n ` <${comp}>\\n` +\n ` \\n` +\n ` \\n` +\n ``);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let label = devtoolsData.route.path;\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n let textColor = 0;\n if (devtoolsData.error) {\n label = devtoolsData.error;\n backgroundColor = RED_100;\n textColor = RED_700;\n }\n else if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label,\n textColor,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nconst RED_100 = 0xfee2e2;\nconst RED_700 = 0xb91c1c;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://next.router.vuejs.org/api/#history.');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n if ((process.env.NODE_ENV !== 'production') && !parent) {\n warn(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n }\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n if ((process.env.NODE_ENV !== 'production') && !isRouteLocation(rawLocation)) {\n warn(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n rawLocation = {};\n }\n let matcherLocation;\n // path could be relative in object as well\n if (rawLocation.path != null) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n newTargetLocation.path == null &&\n !('name' in newTargetLocation)) {\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: newTargetLocation.path != null ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from, runWithContext);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(error.to, toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute() {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","\n\n\n","// canvas-confetti v1.9.3 built on 2024-04-30T22:19:17.794Z\nvar module = {};\n\n// source content\n/* globals Map */\n\n(function main(global, module, isWorker, workerSize) {\n var canUseWorker = !!(\n global.Worker &&\n global.Blob &&\n global.Promise &&\n global.OffscreenCanvas &&\n global.OffscreenCanvasRenderingContext2D &&\n global.HTMLCanvasElement &&\n global.HTMLCanvasElement.prototype.transferControlToOffscreen &&\n global.URL &&\n global.URL.createObjectURL);\n\n var canUsePaths = typeof Path2D === 'function' && typeof DOMMatrix === 'function';\n var canDrawBitmap = (function () {\n // this mostly supports ssr\n if (!global.OffscreenCanvas) {\n return false;\n }\n\n var canvas = new OffscreenCanvas(1, 1);\n var ctx = canvas.getContext('2d');\n ctx.fillRect(0, 0, 1, 1);\n var bitmap = canvas.transferToImageBitmap();\n\n try {\n ctx.createPattern(bitmap, 'no-repeat');\n } catch (e) {\n return false;\n }\n\n return true;\n })();\n\n function noop() {}\n\n // create a promise if it exists, otherwise, just\n // call the function directly\n function promise(func) {\n var ModulePromise = module.exports.Promise;\n var Prom = ModulePromise !== void 0 ? ModulePromise : global.Promise;\n\n if (typeof Prom === 'function') {\n return new Prom(func);\n }\n\n func(noop, noop);\n\n return null;\n }\n\n var bitmapMapper = (function (skipTransform, map) {\n // see https://github.com/catdad/canvas-confetti/issues/209\n // creating canvases is actually pretty expensive, so we should create a\n // 1:1 map for bitmap:canvas, so that we can animate the confetti in\n // a performant manner, but also not store them forever so that we don't\n // have a memory leak\n return {\n transform: function(bitmap) {\n if (skipTransform) {\n return bitmap;\n }\n\n if (map.has(bitmap)) {\n return map.get(bitmap);\n }\n\n var canvas = new OffscreenCanvas(bitmap.width, bitmap.height);\n var ctx = canvas.getContext('2d');\n ctx.drawImage(bitmap, 0, 0);\n\n map.set(bitmap, canvas);\n\n return canvas;\n },\n clear: function () {\n map.clear();\n }\n };\n })(canDrawBitmap, new Map());\n\n var raf = (function () {\n var TIME = Math.floor(1000 / 60);\n var frame, cancel;\n var frames = {};\n var lastFrameTime = 0;\n\n if (typeof requestAnimationFrame === 'function' && typeof cancelAnimationFrame === 'function') {\n frame = function (cb) {\n var id = Math.random();\n\n frames[id] = requestAnimationFrame(function onFrame(time) {\n if (lastFrameTime === time || lastFrameTime + TIME - 1 < time) {\n lastFrameTime = time;\n delete frames[id];\n\n cb();\n } else {\n frames[id] = requestAnimationFrame(onFrame);\n }\n });\n\n return id;\n };\n cancel = function (id) {\n if (frames[id]) {\n cancelAnimationFrame(frames[id]);\n }\n };\n } else {\n frame = function (cb) {\n return setTimeout(cb, TIME);\n };\n cancel = function (timer) {\n return clearTimeout(timer);\n };\n }\n\n return { frame: frame, cancel: cancel };\n }());\n\n var getWorker = (function () {\n var worker;\n var prom;\n var resolves = {};\n\n function decorate(worker) {\n function execute(options, callback) {\n worker.postMessage({ options: options || {}, callback: callback });\n }\n worker.init = function initWorker(canvas) {\n var offscreen = canvas.transferControlToOffscreen();\n worker.postMessage({ canvas: offscreen }, [offscreen]);\n };\n\n worker.fire = function fireWorker(options, size, done) {\n if (prom) {\n execute(options, null);\n return prom;\n }\n\n var id = Math.random().toString(36).slice(2);\n\n prom = promise(function (resolve) {\n function workerDone(msg) {\n if (msg.data.callback !== id) {\n return;\n }\n\n delete resolves[id];\n worker.removeEventListener('message', workerDone);\n\n prom = null;\n\n bitmapMapper.clear();\n\n done();\n resolve();\n }\n\n worker.addEventListener('message', workerDone);\n execute(options, id);\n\n resolves[id] = workerDone.bind(null, { data: { callback: id }});\n });\n\n return prom;\n };\n\n worker.reset = function resetWorker() {\n worker.postMessage({ reset: true });\n\n for (var id in resolves) {\n resolves[id]();\n delete resolves[id];\n }\n };\n }\n\n return function () {\n if (worker) {\n return worker;\n }\n\n if (!isWorker && canUseWorker) {\n var code = [\n 'var CONFETTI, SIZE = {}, module = {};',\n '(' + main.toString() + ')(this, module, true, SIZE);',\n 'onmessage = function(msg) {',\n ' if (msg.data.options) {',\n ' CONFETTI(msg.data.options).then(function () {',\n ' if (msg.data.callback) {',\n ' postMessage({ callback: msg.data.callback });',\n ' }',\n ' });',\n ' } else if (msg.data.reset) {',\n ' CONFETTI && CONFETTI.reset();',\n ' } else if (msg.data.resize) {',\n ' SIZE.width = msg.data.resize.width;',\n ' SIZE.height = msg.data.resize.height;',\n ' } else if (msg.data.canvas) {',\n ' SIZE.width = msg.data.canvas.width;',\n ' SIZE.height = msg.data.canvas.height;',\n ' CONFETTI = module.exports.create(msg.data.canvas);',\n ' }',\n '}',\n ].join('\\n');\n try {\n worker = new Worker(URL.createObjectURL(new Blob([code])));\n } catch (e) {\n // eslint-disable-next-line no-console\n typeof console !== undefined && typeof console.warn === 'function' ? console.warn('🎊 Could not load worker', e) : null;\n\n return null;\n }\n\n decorate(worker);\n }\n\n return worker;\n };\n })();\n\n var defaults = {\n particleCount: 50,\n angle: 90,\n spread: 45,\n startVelocity: 45,\n decay: 0.9,\n gravity: 1,\n drift: 0,\n ticks: 200,\n x: 0.5,\n y: 0.5,\n shapes: ['square', 'circle'],\n zIndex: 100,\n colors: [\n '#26ccff',\n '#a25afd',\n '#ff5e7e',\n '#88ff5a',\n '#fcff42',\n '#ffa62d',\n '#ff36ff'\n ],\n // probably should be true, but back-compat\n disableForReducedMotion: false,\n scalar: 1\n };\n\n function convert(val, transform) {\n return transform ? transform(val) : val;\n }\n\n function isOk(val) {\n return !(val === null || val === undefined);\n }\n\n function prop(options, name, transform) {\n return convert(\n options && isOk(options[name]) ? options[name] : defaults[name],\n transform\n );\n }\n\n function onlyPositiveInt(number){\n return number < 0 ? 0 : Math.floor(number);\n }\n\n function randomInt(min, max) {\n // [min, max)\n return Math.floor(Math.random() * (max - min)) + min;\n }\n\n function toDecimal(str) {\n return parseInt(str, 16);\n }\n\n function colorsToRgb(colors) {\n return colors.map(hexToRgb);\n }\n\n function hexToRgb(str) {\n var val = String(str).replace(/[^0-9a-f]/gi, '');\n\n if (val.length < 6) {\n val = val[0]+val[0]+val[1]+val[1]+val[2]+val[2];\n }\n\n return {\n r: toDecimal(val.substring(0,2)),\n g: toDecimal(val.substring(2,4)),\n b: toDecimal(val.substring(4,6))\n };\n }\n\n function getOrigin(options) {\n var origin = prop(options, 'origin', Object);\n origin.x = prop(origin, 'x', Number);\n origin.y = prop(origin, 'y', Number);\n\n return origin;\n }\n\n function setCanvasWindowSize(canvas) {\n canvas.width = document.documentElement.clientWidth;\n canvas.height = document.documentElement.clientHeight;\n }\n\n function setCanvasRectSize(canvas) {\n var rect = canvas.getBoundingClientRect();\n canvas.width = rect.width;\n canvas.height = rect.height;\n }\n\n function getCanvas(zIndex) {\n var canvas = document.createElement('canvas');\n\n canvas.style.position = 'fixed';\n canvas.style.top = '0px';\n canvas.style.left = '0px';\n canvas.style.pointerEvents = 'none';\n canvas.style.zIndex = zIndex;\n\n return canvas;\n }\n\n function ellipse(context, x, y, radiusX, radiusY, rotation, startAngle, endAngle, antiClockwise) {\n context.save();\n context.translate(x, y);\n context.rotate(rotation);\n context.scale(radiusX, radiusY);\n context.arc(0, 0, 1, startAngle, endAngle, antiClockwise);\n context.restore();\n }\n\n function randomPhysics(opts) {\n var radAngle = opts.angle * (Math.PI / 180);\n var radSpread = opts.spread * (Math.PI / 180);\n\n return {\n x: opts.x,\n y: opts.y,\n wobble: Math.random() * 10,\n wobbleSpeed: Math.min(0.11, Math.random() * 0.1 + 0.05),\n velocity: (opts.startVelocity * 0.5) + (Math.random() * opts.startVelocity),\n angle2D: -radAngle + ((0.5 * radSpread) - (Math.random() * radSpread)),\n tiltAngle: (Math.random() * (0.75 - 0.25) + 0.25) * Math.PI,\n color: opts.color,\n shape: opts.shape,\n tick: 0,\n totalTicks: opts.ticks,\n decay: opts.decay,\n drift: opts.drift,\n random: Math.random() + 2,\n tiltSin: 0,\n tiltCos: 0,\n wobbleX: 0,\n wobbleY: 0,\n gravity: opts.gravity * 3,\n ovalScalar: 0.6,\n scalar: opts.scalar,\n flat: opts.flat\n };\n }\n\n function updateFetti(context, fetti) {\n fetti.x += Math.cos(fetti.angle2D) * fetti.velocity + fetti.drift;\n fetti.y += Math.sin(fetti.angle2D) * fetti.velocity + fetti.gravity;\n fetti.velocity *= fetti.decay;\n\n if (fetti.flat) {\n fetti.wobble = 0;\n fetti.wobbleX = fetti.x + (10 * fetti.scalar);\n fetti.wobbleY = fetti.y + (10 * fetti.scalar);\n\n fetti.tiltSin = 0;\n fetti.tiltCos = 0;\n fetti.random = 1;\n } else {\n fetti.wobble += fetti.wobbleSpeed;\n fetti.wobbleX = fetti.x + ((10 * fetti.scalar) * Math.cos(fetti.wobble));\n fetti.wobbleY = fetti.y + ((10 * fetti.scalar) * Math.sin(fetti.wobble));\n\n fetti.tiltAngle += 0.1;\n fetti.tiltSin = Math.sin(fetti.tiltAngle);\n fetti.tiltCos = Math.cos(fetti.tiltAngle);\n fetti.random = Math.random() + 2;\n }\n\n var progress = (fetti.tick++) / fetti.totalTicks;\n\n var x1 = fetti.x + (fetti.random * fetti.tiltCos);\n var y1 = fetti.y + (fetti.random * fetti.tiltSin);\n var x2 = fetti.wobbleX + (fetti.random * fetti.tiltCos);\n var y2 = fetti.wobbleY + (fetti.random * fetti.tiltSin);\n\n context.fillStyle = 'rgba(' + fetti.color.r + ', ' + fetti.color.g + ', ' + fetti.color.b + ', ' + (1 - progress) + ')';\n\n context.beginPath();\n\n if (canUsePaths && fetti.shape.type === 'path' && typeof fetti.shape.path === 'string' && Array.isArray(fetti.shape.matrix)) {\n context.fill(transformPath2D(\n fetti.shape.path,\n fetti.shape.matrix,\n fetti.x,\n fetti.y,\n Math.abs(x2 - x1) * 0.1,\n Math.abs(y2 - y1) * 0.1,\n Math.PI / 10 * fetti.wobble\n ));\n } else if (fetti.shape.type === 'bitmap') {\n var rotation = Math.PI / 10 * fetti.wobble;\n var scaleX = Math.abs(x2 - x1) * 0.1;\n var scaleY = Math.abs(y2 - y1) * 0.1;\n var width = fetti.shape.bitmap.width * fetti.scalar;\n var height = fetti.shape.bitmap.height * fetti.scalar;\n\n var matrix = new DOMMatrix([\n Math.cos(rotation) * scaleX,\n Math.sin(rotation) * scaleX,\n -Math.sin(rotation) * scaleY,\n Math.cos(rotation) * scaleY,\n fetti.x,\n fetti.y\n ]);\n\n // apply the transform matrix from the confetti shape\n matrix.multiplySelf(new DOMMatrix(fetti.shape.matrix));\n\n var pattern = context.createPattern(bitmapMapper.transform(fetti.shape.bitmap), 'no-repeat');\n pattern.setTransform(matrix);\n\n context.globalAlpha = (1 - progress);\n context.fillStyle = pattern;\n context.fillRect(\n fetti.x - (width / 2),\n fetti.y - (height / 2),\n width,\n height\n );\n context.globalAlpha = 1;\n } else if (fetti.shape === 'circle') {\n context.ellipse ?\n context.ellipse(fetti.x, fetti.y, Math.abs(x2 - x1) * fetti.ovalScalar, Math.abs(y2 - y1) * fetti.ovalScalar, Math.PI / 10 * fetti.wobble, 0, 2 * Math.PI) :\n ellipse(context, fetti.x, fetti.y, Math.abs(x2 - x1) * fetti.ovalScalar, Math.abs(y2 - y1) * fetti.ovalScalar, Math.PI / 10 * fetti.wobble, 0, 2 * Math.PI);\n } else if (fetti.shape === 'star') {\n var rot = Math.PI / 2 * 3;\n var innerRadius = 4 * fetti.scalar;\n var outerRadius = 8 * fetti.scalar;\n var x = fetti.x;\n var y = fetti.y;\n var spikes = 5;\n var step = Math.PI / spikes;\n\n while (spikes--) {\n x = fetti.x + Math.cos(rot) * outerRadius;\n y = fetti.y + Math.sin(rot) * outerRadius;\n context.lineTo(x, y);\n rot += step;\n\n x = fetti.x + Math.cos(rot) * innerRadius;\n y = fetti.y + Math.sin(rot) * innerRadius;\n context.lineTo(x, y);\n rot += step;\n }\n } else {\n context.moveTo(Math.floor(fetti.x), Math.floor(fetti.y));\n context.lineTo(Math.floor(fetti.wobbleX), Math.floor(y1));\n context.lineTo(Math.floor(x2), Math.floor(y2));\n context.lineTo(Math.floor(x1), Math.floor(fetti.wobbleY));\n }\n\n context.closePath();\n context.fill();\n\n return fetti.tick < fetti.totalTicks;\n }\n\n function animate(canvas, fettis, resizer, size, done) {\n var animatingFettis = fettis.slice();\n var context = canvas.getContext('2d');\n var animationFrame;\n var destroy;\n\n var prom = promise(function (resolve) {\n function onDone() {\n animationFrame = destroy = null;\n\n context.clearRect(0, 0, size.width, size.height);\n bitmapMapper.clear();\n\n done();\n resolve();\n }\n\n function update() {\n if (isWorker && !(size.width === workerSize.width && size.height === workerSize.height)) {\n size.width = canvas.width = workerSize.width;\n size.height = canvas.height = workerSize.height;\n }\n\n if (!size.width && !size.height) {\n resizer(canvas);\n size.width = canvas.width;\n size.height = canvas.height;\n }\n\n context.clearRect(0, 0, size.width, size.height);\n\n animatingFettis = animatingFettis.filter(function (fetti) {\n return updateFetti(context, fetti);\n });\n\n if (animatingFettis.length) {\n animationFrame = raf.frame(update);\n } else {\n onDone();\n }\n }\n\n animationFrame = raf.frame(update);\n destroy = onDone;\n });\n\n return {\n addFettis: function (fettis) {\n animatingFettis = animatingFettis.concat(fettis);\n\n return prom;\n },\n canvas: canvas,\n promise: prom,\n reset: function () {\n if (animationFrame) {\n raf.cancel(animationFrame);\n }\n\n if (destroy) {\n destroy();\n }\n }\n };\n }\n\n function confettiCannon(canvas, globalOpts) {\n var isLibCanvas = !canvas;\n var allowResize = !!prop(globalOpts || {}, 'resize');\n var hasResizeEventRegistered = false;\n var globalDisableForReducedMotion = prop(globalOpts, 'disableForReducedMotion', Boolean);\n var shouldUseWorker = canUseWorker && !!prop(globalOpts || {}, 'useWorker');\n var worker = shouldUseWorker ? getWorker() : null;\n var resizer = isLibCanvas ? setCanvasWindowSize : setCanvasRectSize;\n var initialized = (canvas && worker) ? !!canvas.__confetti_initialized : false;\n var preferLessMotion = typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion)').matches;\n var animationObj;\n\n function fireLocal(options, size, done) {\n var particleCount = prop(options, 'particleCount', onlyPositiveInt);\n var angle = prop(options, 'angle', Number);\n var spread = prop(options, 'spread', Number);\n var startVelocity = prop(options, 'startVelocity', Number);\n var decay = prop(options, 'decay', Number);\n var gravity = prop(options, 'gravity', Number);\n var drift = prop(options, 'drift', Number);\n var colors = prop(options, 'colors', colorsToRgb);\n var ticks = prop(options, 'ticks', Number);\n var shapes = prop(options, 'shapes');\n var scalar = prop(options, 'scalar');\n var flat = !!prop(options, 'flat');\n var origin = getOrigin(options);\n\n var temp = particleCount;\n var fettis = [];\n\n var startX = canvas.width * origin.x;\n var startY = canvas.height * origin.y;\n\n while (temp--) {\n fettis.push(\n randomPhysics({\n x: startX,\n y: startY,\n angle: angle,\n spread: spread,\n startVelocity: startVelocity,\n color: colors[temp % colors.length],\n shape: shapes[randomInt(0, shapes.length)],\n ticks: ticks,\n decay: decay,\n gravity: gravity,\n drift: drift,\n scalar: scalar,\n flat: flat\n })\n );\n }\n\n // if we have a previous canvas already animating,\n // add to it\n if (animationObj) {\n return animationObj.addFettis(fettis);\n }\n\n animationObj = animate(canvas, fettis, resizer, size , done);\n\n return animationObj.promise;\n }\n\n function fire(options) {\n var disableForReducedMotion = globalDisableForReducedMotion || prop(options, 'disableForReducedMotion', Boolean);\n var zIndex = prop(options, 'zIndex', Number);\n\n if (disableForReducedMotion && preferLessMotion) {\n return promise(function (resolve) {\n resolve();\n });\n }\n\n if (isLibCanvas && animationObj) {\n // use existing canvas from in-progress animation\n canvas = animationObj.canvas;\n } else if (isLibCanvas && !canvas) {\n // create and initialize a new canvas\n canvas = getCanvas(zIndex);\n document.body.appendChild(canvas);\n }\n\n if (allowResize && !initialized) {\n // initialize the size of a user-supplied canvas\n resizer(canvas);\n }\n\n var size = {\n width: canvas.width,\n height: canvas.height\n };\n\n if (worker && !initialized) {\n worker.init(canvas);\n }\n\n initialized = true;\n\n if (worker) {\n canvas.__confetti_initialized = true;\n }\n\n function onResize() {\n if (worker) {\n // TODO this really shouldn't be immediate, because it is expensive\n var obj = {\n getBoundingClientRect: function () {\n if (!isLibCanvas) {\n return canvas.getBoundingClientRect();\n }\n }\n };\n\n resizer(obj);\n\n worker.postMessage({\n resize: {\n width: obj.width,\n height: obj.height\n }\n });\n return;\n }\n\n // don't actually query the size here, since this\n // can execute frequently and rapidly\n size.width = size.height = null;\n }\n\n function done() {\n animationObj = null;\n\n if (allowResize) {\n hasResizeEventRegistered = false;\n global.removeEventListener('resize', onResize);\n }\n\n if (isLibCanvas && canvas) {\n if (document.body.contains(canvas)) {\n document.body.removeChild(canvas); \n }\n canvas = null;\n initialized = false;\n }\n }\n\n if (allowResize && !hasResizeEventRegistered) {\n hasResizeEventRegistered = true;\n global.addEventListener('resize', onResize, false);\n }\n\n if (worker) {\n return worker.fire(options, size, done);\n }\n\n return fireLocal(options, size, done);\n }\n\n fire.reset = function () {\n if (worker) {\n worker.reset();\n }\n\n if (animationObj) {\n animationObj.reset();\n }\n };\n\n return fire;\n }\n\n // Make default export lazy to defer worker creation until called.\n var defaultFire;\n function getDefaultFire() {\n if (!defaultFire) {\n defaultFire = confettiCannon(null, { useWorker: true, resize: true });\n }\n return defaultFire;\n }\n\n function transformPath2D(pathString, pathMatrix, x, y, scaleX, scaleY, rotation) {\n var path2d = new Path2D(pathString);\n\n var t1 = new Path2D();\n t1.addPath(path2d, new DOMMatrix(pathMatrix));\n\n var t2 = new Path2D();\n // see https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrix/DOMMatrix\n t2.addPath(t1, new DOMMatrix([\n Math.cos(rotation) * scaleX,\n Math.sin(rotation) * scaleX,\n -Math.sin(rotation) * scaleY,\n Math.cos(rotation) * scaleY,\n x,\n y\n ]));\n\n return t2;\n }\n\n function shapeFromPath(pathData) {\n if (!canUsePaths) {\n throw new Error('path confetti are not supported in this browser');\n }\n\n var path, matrix;\n\n if (typeof pathData === 'string') {\n path = pathData;\n } else {\n path = pathData.path;\n matrix = pathData.matrix;\n }\n\n var path2d = new Path2D(path);\n var tempCanvas = document.createElement('canvas');\n var tempCtx = tempCanvas.getContext('2d');\n\n if (!matrix) {\n // attempt to figure out the width of the path, up to 1000x1000\n var maxSize = 1000;\n var minX = maxSize;\n var minY = maxSize;\n var maxX = 0;\n var maxY = 0;\n var width, height;\n\n // do some line skipping... this is faster than checking\n // every pixel and will be mostly still correct\n for (var x = 0; x < maxSize; x += 2) {\n for (var y = 0; y < maxSize; y += 2) {\n if (tempCtx.isPointInPath(path2d, x, y, 'nonzero')) {\n minX = Math.min(minX, x);\n minY = Math.min(minY, y);\n maxX = Math.max(maxX, x);\n maxY = Math.max(maxY, y);\n }\n }\n }\n\n width = maxX - minX;\n height = maxY - minY;\n\n var maxDesiredSize = 10;\n var scale = Math.min(maxDesiredSize/width, maxDesiredSize/height);\n\n matrix = [\n scale, 0, 0, scale,\n -Math.round((width/2) + minX) * scale,\n -Math.round((height/2) + minY) * scale\n ];\n }\n\n return {\n type: 'path',\n path: path,\n matrix: matrix\n };\n }\n\n function shapeFromText(textData) {\n var text,\n scalar = 1,\n color = '#000000',\n // see https://nolanlawson.com/2022/04/08/the-struggle-of-using-native-emoji-on-the-web/\n fontFamily = '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\", \"EmojiOne Color\", \"Android Emoji\", \"Twemoji Mozilla\", \"system emoji\", sans-serif';\n\n if (typeof textData === 'string') {\n text = textData;\n } else {\n text = textData.text;\n scalar = 'scalar' in textData ? textData.scalar : scalar;\n fontFamily = 'fontFamily' in textData ? textData.fontFamily : fontFamily;\n color = 'color' in textData ? textData.color : color;\n }\n\n // all other confetti are 10 pixels,\n // so this pixel size is the de-facto 100% scale confetti\n var fontSize = 10 * scalar;\n var font = '' + fontSize + 'px ' + fontFamily;\n\n var canvas = new OffscreenCanvas(fontSize, fontSize);\n var ctx = canvas.getContext('2d');\n\n ctx.font = font;\n var size = ctx.measureText(text);\n var width = Math.ceil(size.actualBoundingBoxRight + size.actualBoundingBoxLeft);\n var height = Math.ceil(size.actualBoundingBoxAscent + size.actualBoundingBoxDescent);\n\n var padding = 2;\n var x = size.actualBoundingBoxLeft + padding;\n var y = size.actualBoundingBoxAscent + padding;\n width += padding + padding;\n height += padding + padding;\n\n canvas = new OffscreenCanvas(width, height);\n ctx = canvas.getContext('2d');\n ctx.font = font;\n ctx.fillStyle = color;\n\n ctx.fillText(text, x, y);\n\n var scale = 1 / scalar;\n\n return {\n type: 'bitmap',\n // TODO these probably need to be transfered for workers\n bitmap: canvas.transferToImageBitmap(),\n matrix: [scale, 0, 0, scale, -width * scale / 2, -height * scale / 2]\n };\n }\n\n module.exports = function() {\n return getDefaultFire().apply(this, arguments);\n };\n module.exports.reset = function() {\n getDefaultFire().reset();\n };\n module.exports.create = confettiCannon;\n module.exports.shapeFromPath = shapeFromPath;\n module.exports.shapeFromText = shapeFromText;\n}((function () {\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n return this || {};\n})(), module, false));\n\n// end source content\n\nexport default module.exports;\nexport var create = module.exports.create;\n","export const feedbackMail = atob('YW5kcm9pZEBqdTYwLmRl'); // email as base64\nexport const buildDate = import.meta.env.VITE_BUILD_DATE;\nexport const analyticsUrl = 'https://boomerang.ju60.de/share/z8KAHmGY/Kiel%20Live';\nexport const tileServer = 'https://tiles.ju60.de';\nexport const darkMapStyle = `${tileServer}/styles/gray-matter/style.json`;\nexport const brightMapStyle = `${tileServer}/styles/bright-matter/style.json`;\nexport const natsServerUrl = import.meta.env.VITE_NATS_URL;\n","\n\n\n","import { BasicColorSchema, useColorMode as useColorModeVueUse, UseColorModeOptions } from '@vueuse/core';\n\nimport { localStoragePrefix } from '~/compositions/useUserSettings';\n\nexport const useColorMode = (options?: UseColorModeOptions) =>\n useColorModeVueUse({ storageKey: `${localStoragePrefix}.theme`, ...options });\n\nexport type Theme = BasicColorSchema;\n","\n\n\n\n\n\n\n\n","import { nextTick } from 'vue';\nimport { createI18n } from 'vue-i18n';\n\nfunction getUserLanguage(): string {\n return navigator.language.split('-')[0];\n}\n\nconst userLanguage = getUserLanguage();\nconst i18n = createI18n({\n legacy: false,\n locale: userLanguage,\n});\n\nexport const loadLocaleMessages = async (locale: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { default: messages } = await import(`./locales/${locale}.json`);\n\n i18n.global.setLocaleMessage(locale, messages);\n\n return nextTick();\n};\n\nexport const setI18nLanguage = async (lang: string): Promise => {\n if (!i18n.global.availableLocales.includes(lang)) {\n await loadLocaleMessages(lang);\n }\n i18n.global.locale.value = lang;\n};\n\nvoid loadLocaleMessages(userLanguage);\n\nexport default i18n;\n","import { Component } from 'vue';\nimport { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router';\n\nimport { useUserSettings } from '~/compositions/useUserSettings';\n\nlet firstStartOfApp = true;\n\nconst routes: RouteRecordRaw[] = [\n {\n path: '/',\n name: 'home',\n component: (): Component => import('~/views/Home.vue'),\n },\n {\n path: '/map/:markerType/:markerId',\n name: 'map-marker',\n component: (): Component => import('~/views/Home.vue'),\n props: true,\n },\n {\n path: '/search',\n name: 'search',\n component: (): Component => import('~/views/Home.vue'),\n },\n {\n path: '/favorites',\n name: 'favorites',\n component: (): Component => import('~/views/Home.vue'),\n },\n {\n path: '/settings/about',\n name: 'settings-about',\n component: (): Component => import('~/views/settings/About.vue'),\n meta: { settings: true },\n },\n {\n path: '/settings/changelog',\n name: 'settings-changelog',\n component: (): Component => import('~/views/settings/Changelog.vue'),\n meta: { settings: true },\n },\n {\n path: '/settings/settings',\n name: 'settings-settings',\n component: (): Component => import('~/views/settings/Settings.vue'),\n meta: { settings: true },\n },\n {\n path: '/settings/contact',\n name: 'settings-contact',\n component: (): Component => import('~/views/settings/Contact.vue'),\n meta: { settings: true },\n },\n {\n path: '/contact',\n name: 'contact',\n redirect: { name: 'settings-contact' },\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: (): Component => import('~/views/NotFound.vue'),\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n});\n\nconst { liteMode } = useUserSettings();\n\nrouter.beforeEach((to, from, next): void => {\n if (to.name === 'home' && (firstStartOfApp || liteMode.value)) {\n firstStartOfApp = false;\n next({ name: 'favorites' });\n return;\n }\n\n firstStartOfApp = false;\n next();\n});\n\nexport default router;\n","// deno-fmt-ignore-file\n// deno-lint-ignore-file\n// This code was bundled using `deno bundle` and it's not recommended to edit it manually\n\nconst Empty = new Uint8Array(0);\nconst TE = new TextEncoder();\nconst TD = new TextDecoder();\nfunction concat(...bufs) {\n let max = 0;\n for(let i = 0; i < bufs.length; i++){\n max += bufs[i].length;\n }\n const out = new Uint8Array(max);\n let index = 0;\n for(let i = 0; i < bufs.length; i++){\n out.set(bufs[i], index);\n index += bufs[i].length;\n }\n return out;\n}\nfunction encode(...a) {\n const bufs = [];\n for(let i = 0; i < a.length; i++){\n bufs.push(TE.encode(a[i]));\n }\n if (bufs.length === 0) {\n return Empty;\n }\n if (bufs.length === 1) {\n return bufs[0];\n }\n return concat(...bufs);\n}\nfunction decode(a) {\n if (!a || a.length === 0) {\n return \"\";\n }\n return TD.decode(a);\n}\n\"use strict\";\nconst digits = \"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\nconst base = 36;\nconst maxSeq = 3656158440062976;\nconst minInc = 33;\nconst maxInc = 333;\nconst totalLen = 12 + 10;\nfunction _getRandomValues(a) {\n for(let i = 0; i < a.length; i++){\n a[i] = Math.floor(Math.random() * 255);\n }\n}\nfunction fillRandom(a) {\n if (globalThis?.crypto?.getRandomValues) {\n globalThis.crypto.getRandomValues(a);\n } else {\n _getRandomValues(a);\n }\n}\nclass Nuid {\n buf;\n seq;\n inc;\n inited;\n constructor(){\n this.buf = new Uint8Array(totalLen);\n this.inited = false;\n }\n init() {\n this.inited = true;\n this.setPre();\n this.initSeqAndInc();\n this.fillSeq();\n }\n initSeqAndInc() {\n this.seq = Math.floor(Math.random() * maxSeq);\n this.inc = Math.floor(Math.random() * (maxInc - minInc) + minInc);\n }\n setPre() {\n const cbuf = new Uint8Array(12);\n fillRandom(cbuf);\n for(let i = 0; i < 12; i++){\n const di = cbuf[i] % 36;\n this.buf[i] = digits.charCodeAt(di);\n }\n }\n fillSeq() {\n let n = this.seq;\n for(let i = totalLen - 1; i >= 12; i--){\n this.buf[i] = digits.charCodeAt(n % base);\n n = Math.floor(n / base);\n }\n }\n next() {\n if (!this.inited) {\n this.init();\n }\n this.seq += this.inc;\n if (this.seq > 3656158440062976) {\n this.setPre();\n this.initSeqAndInc();\n }\n this.fillSeq();\n return String.fromCharCode.apply(String, this.buf);\n }\n reset() {\n this.init();\n }\n}\nconst nuid = new Nuid();\nvar Events;\n(function(Events) {\n Events[\"Disconnect\"] = \"disconnect\";\n Events[\"Reconnect\"] = \"reconnect\";\n Events[\"Update\"] = \"update\";\n Events[\"LDM\"] = \"ldm\";\n Events[\"Error\"] = \"error\";\n})(Events || (Events = {}));\nvar DebugEvents;\n(function(DebugEvents) {\n DebugEvents[\"Reconnecting\"] = \"reconnecting\";\n DebugEvents[\"PingTimer\"] = \"pingTimer\";\n DebugEvents[\"StaleConnection\"] = \"staleConnection\";\n DebugEvents[\"ClientInitiatedReconnect\"] = \"client initiated reconnect\";\n})(DebugEvents || (DebugEvents = {}));\nvar ErrorCode;\n(function(ErrorCode) {\n ErrorCode[\"ApiError\"] = \"BAD API\";\n ErrorCode[\"BadAuthentication\"] = \"BAD_AUTHENTICATION\";\n ErrorCode[\"BadCreds\"] = \"BAD_CREDS\";\n ErrorCode[\"BadHeader\"] = \"BAD_HEADER\";\n ErrorCode[\"BadJson\"] = \"BAD_JSON\";\n ErrorCode[\"BadPayload\"] = \"BAD_PAYLOAD\";\n ErrorCode[\"BadSubject\"] = \"BAD_SUBJECT\";\n ErrorCode[\"Cancelled\"] = \"CANCELLED\";\n ErrorCode[\"ConnectionClosed\"] = \"CONNECTION_CLOSED\";\n ErrorCode[\"ConnectionDraining\"] = \"CONNECTION_DRAINING\";\n ErrorCode[\"ConnectionRefused\"] = \"CONNECTION_REFUSED\";\n ErrorCode[\"ConnectionTimeout\"] = \"CONNECTION_TIMEOUT\";\n ErrorCode[\"Disconnect\"] = \"DISCONNECT\";\n ErrorCode[\"InvalidOption\"] = \"INVALID_OPTION\";\n ErrorCode[\"InvalidPayload\"] = \"INVALID_PAYLOAD\";\n ErrorCode[\"MaxPayloadExceeded\"] = \"MAX_PAYLOAD_EXCEEDED\";\n ErrorCode[\"NoResponders\"] = \"503\";\n ErrorCode[\"NotFunction\"] = \"NOT_FUNC\";\n ErrorCode[\"RequestError\"] = \"REQUEST_ERROR\";\n ErrorCode[\"ServerOptionNotAvailable\"] = \"SERVER_OPT_NA\";\n ErrorCode[\"SubClosed\"] = \"SUB_CLOSED\";\n ErrorCode[\"SubDraining\"] = \"SUB_DRAINING\";\n ErrorCode[\"Timeout\"] = \"TIMEOUT\";\n ErrorCode[\"Tls\"] = \"TLS\";\n ErrorCode[\"Unknown\"] = \"UNKNOWN_ERROR\";\n ErrorCode[\"WssRequired\"] = \"WSS_REQUIRED\";\n ErrorCode[\"JetStreamInvalidAck\"] = \"JESTREAM_INVALID_ACK\";\n ErrorCode[\"JetStream404NoMessages\"] = \"404\";\n ErrorCode[\"JetStream408RequestTimeout\"] = \"408\";\n ErrorCode[\"JetStream409MaxAckPendingExceeded\"] = \"409\";\n ErrorCode[\"JetStream409\"] = \"409\";\n ErrorCode[\"JetStreamNotEnabled\"] = \"503\";\n ErrorCode[\"JetStreamIdleHeartBeat\"] = \"IDLE_HEARTBEAT\";\n ErrorCode[\"AuthorizationViolation\"] = \"AUTHORIZATION_VIOLATION\";\n ErrorCode[\"AuthenticationExpired\"] = \"AUTHENTICATION_EXPIRED\";\n ErrorCode[\"ProtocolError\"] = \"NATS_PROTOCOL_ERR\";\n ErrorCode[\"PermissionsViolation\"] = \"PERMISSIONS_VIOLATION\";\n ErrorCode[\"AuthenticationTimeout\"] = \"AUTHENTICATION_TIMEOUT\";\n})(ErrorCode || (ErrorCode = {}));\nfunction isNatsError(err) {\n return typeof err.code === \"string\";\n}\nclass Messages {\n messages;\n constructor(){\n this.messages = new Map();\n this.messages.set(ErrorCode.InvalidPayload, \"Invalid payload type - payloads can be 'binary', 'string', or 'json'\");\n this.messages.set(ErrorCode.BadJson, \"Bad JSON\");\n this.messages.set(ErrorCode.WssRequired, \"TLS is required, therefore a secure websocket connection is also required\");\n }\n static getMessage(s) {\n return messages.getMessage(s);\n }\n getMessage(s) {\n return this.messages.get(s) || s;\n }\n}\nconst messages = new Messages();\nclass NatsError extends Error {\n name;\n message;\n code;\n permissionContext;\n chainedError;\n api_error;\n constructor(message, code, chainedError){\n super(message);\n this.name = \"NatsError\";\n this.message = message;\n this.code = code;\n this.chainedError = chainedError;\n }\n static errorForCode(code, chainedError) {\n const m = Messages.getMessage(code);\n return new NatsError(m, code, chainedError);\n }\n isAuthError() {\n return this.code === ErrorCode.AuthenticationExpired || this.code === ErrorCode.AuthorizationViolation;\n }\n isAuthTimeout() {\n return this.code === ErrorCode.AuthenticationTimeout;\n }\n isPermissionError() {\n return this.code === ErrorCode.PermissionsViolation;\n }\n isProtocolError() {\n return this.code === ErrorCode.ProtocolError;\n }\n isJetStreamError() {\n return this.api_error !== undefined;\n }\n jsError() {\n return this.api_error ? this.api_error : null;\n }\n}\nvar Match;\n(function(Match) {\n Match[Match[\"Exact\"] = 0] = \"Exact\";\n Match[Match[\"CanonicalMIME\"] = 1] = \"CanonicalMIME\";\n Match[Match[\"IgnoreCase\"] = 2] = \"IgnoreCase\";\n})(Match || (Match = {}));\nvar RequestStrategy;\n(function(RequestStrategy) {\n RequestStrategy[\"Timer\"] = \"timer\";\n RequestStrategy[\"Count\"] = \"count\";\n RequestStrategy[\"JitterTimer\"] = \"jitterTimer\";\n RequestStrategy[\"SentinelMsg\"] = \"sentinelMsg\";\n})(RequestStrategy || (RequestStrategy = {}));\nfunction syncIterator(src) {\n const iter = src[Symbol.asyncIterator]();\n return {\n async next () {\n const m = await iter.next();\n if (m.done) {\n return Promise.resolve(null);\n }\n return Promise.resolve(m.value);\n }\n };\n}\nvar ServiceResponseType;\n(function(ServiceResponseType) {\n ServiceResponseType[\"STATS\"] = \"io.nats.micro.v1.stats_response\";\n ServiceResponseType[\"INFO\"] = \"io.nats.micro.v1.info_response\";\n ServiceResponseType[\"PING\"] = \"io.nats.micro.v1.ping_response\";\n})(ServiceResponseType || (ServiceResponseType = {}));\nconst ServiceErrorHeader = \"Nats-Service-Error\";\nconst ServiceErrorCodeHeader = \"Nats-Service-Error-Code\";\nclass ServiceError extends Error {\n code;\n constructor(code, message){\n super(message);\n this.code = code;\n }\n static isServiceError(msg) {\n return ServiceError.toServiceError(msg) !== null;\n }\n static toServiceError(msg) {\n const scode = msg?.headers?.get(ServiceErrorCodeHeader) || \"\";\n if (scode !== \"\") {\n const code = parseInt(scode) || 400;\n const description = msg?.headers?.get(ServiceErrorHeader) || \"\";\n return new ServiceError(code, description.length ? description : scode);\n }\n return null;\n }\n}\nfunction createInbox(prefix = \"\") {\n prefix = prefix || \"_INBOX\";\n if (typeof prefix !== \"string\") {\n throw new Error(\"prefix must be a string\");\n }\n prefix.split(\".\").forEach((v)=>{\n if (v === \"*\" || v === \">\") {\n throw new Error(`inbox prefixes cannot have wildcards '${prefix}'`);\n }\n });\n return `${prefix}.${nuid.next()}`;\n}\nconst DEFAULT_HOST = \"127.0.0.1\";\nvar ServiceVerb;\n(function(ServiceVerb) {\n ServiceVerb[\"PING\"] = \"PING\";\n ServiceVerb[\"STATS\"] = \"STATS\";\n ServiceVerb[\"INFO\"] = \"INFO\";\n})(ServiceVerb || (ServiceVerb = {}));\nfunction extend(a, ...b) {\n for(let i = 0; i < b.length; i++){\n const o = b[i];\n Object.keys(o).forEach(function(k) {\n a[k] = o[k];\n });\n }\n return a;\n}\nfunction render(frame) {\n const cr = \"␍\";\n const lf = \"␊\";\n return TD.decode(frame).replace(/\\n/g, lf).replace(/\\r/g, cr);\n}\nfunction timeout(ms, asyncTraces = true) {\n const err = asyncTraces ? NatsError.errorForCode(ErrorCode.Timeout) : null;\n let methods;\n let timer;\n const p = new Promise((_resolve, reject)=>{\n const cancel = ()=>{\n if (timer) {\n clearTimeout(timer);\n }\n };\n methods = {\n cancel\n };\n timer = setTimeout(()=>{\n if (err === null) {\n reject(NatsError.errorForCode(ErrorCode.Timeout));\n } else {\n reject(err);\n }\n }, ms);\n });\n return Object.assign(p, methods);\n}\nfunction delay(ms = 0) {\n let methods;\n const p = new Promise((resolve)=>{\n const timer = setTimeout(()=>{\n resolve();\n }, ms);\n const cancel = ()=>{\n if (timer) {\n clearTimeout(timer);\n }\n };\n methods = {\n cancel\n };\n });\n return Object.assign(p, methods);\n}\nfunction deadline(p, millis = 1000) {\n const err = new Error(`deadline exceeded`);\n const d = deferred();\n const timer = setTimeout(()=>d.reject(err), millis);\n return Promise.race([\n p,\n d\n ]).finally(()=>clearTimeout(timer));\n}\nfunction deferred() {\n let methods = {};\n const p = new Promise((resolve, reject)=>{\n methods = {\n resolve,\n reject\n };\n });\n return Object.assign(p, methods);\n}\nfunction shuffle(a) {\n for(let i = a.length - 1; i > 0; i--){\n const j = Math.floor(Math.random() * (i + 1));\n [a[i], a[j]] = [\n a[j],\n a[i]\n ];\n }\n return a;\n}\nclass Perf {\n timers;\n measures;\n constructor(){\n this.timers = new Map();\n this.measures = new Map();\n }\n mark(key) {\n this.timers.set(key, performance.now());\n }\n measure(key, startKey, endKey) {\n const s = this.timers.get(startKey);\n if (s === undefined) {\n throw new Error(`${startKey} is not defined`);\n }\n const e = this.timers.get(endKey);\n if (e === undefined) {\n throw new Error(`${endKey} is not defined`);\n }\n this.measures.set(key, e - s);\n }\n getEntries() {\n const values = [];\n this.measures.forEach((v, k)=>{\n values.push({\n name: k,\n duration: v\n });\n });\n return values;\n }\n}\nfunction jitter(n) {\n if (n === 0) {\n return 0;\n }\n return Math.floor(n / 2 + Math.random() * n);\n}\nfunction backoff(policy = [\n 0,\n 250,\n 250,\n 500,\n 500,\n 3000,\n 5000\n]) {\n if (!Array.isArray(policy)) {\n policy = [\n 0,\n 250,\n 250,\n 500,\n 500,\n 3000,\n 5000\n ];\n }\n const max = policy.length - 1;\n return {\n backoff (attempt) {\n return jitter(attempt > max ? policy[max] : policy[attempt]);\n }\n };\n}\nfunction nanos(millis) {\n return millis * 1000000;\n}\nfunction millis(ns) {\n return Math.floor(ns / 1000000);\n}\nfunction canonicalMIMEHeaderKey(k) {\n const dash = 45;\n const toLower = 97 - 65;\n let upper = true;\n const buf = new Array(k.length);\n for(let i = 0; i < k.length; i++){\n let c = k.charCodeAt(i);\n if (c === 58 || c < 33 || c > 126) {\n throw new NatsError(`'${k[i]}' is not a valid character for a header key`, ErrorCode.BadHeader);\n }\n if (upper && 97 <= c && c <= 122) {\n c -= toLower;\n } else if (!upper && 65 <= c && c <= 90) {\n c += toLower;\n }\n buf[i] = c;\n upper = c == dash;\n }\n return String.fromCharCode(...buf);\n}\nfunction headers(code = 0, description = \"\") {\n if (code === 0 && description !== \"\" || code > 0 && description === \"\") {\n throw new Error(\"setting status requires both code and description\");\n }\n return new MsgHdrsImpl(code, description);\n}\nconst HEADER = \"NATS/1.0\";\nclass MsgHdrsImpl {\n _code;\n headers;\n _description;\n constructor(code = 0, description = \"\"){\n this._code = code;\n this._description = description;\n this.headers = new Map();\n }\n [Symbol.iterator]() {\n return this.headers.entries();\n }\n size() {\n return this.headers.size;\n }\n equals(mh) {\n if (mh && this.headers.size === mh.headers.size && this._code === mh._code) {\n for (const [k, v] of this.headers){\n const a = mh.values(k);\n if (v.length !== a.length) {\n return false;\n }\n const vv = [\n ...v\n ].sort();\n const aa = [\n ...a\n ].sort();\n for(let i = 0; i < vv.length; i++){\n if (vv[i] !== aa[i]) {\n return false;\n }\n }\n }\n return true;\n }\n return false;\n }\n static decode(a) {\n const mh = new MsgHdrsImpl();\n const s = TD.decode(a);\n const lines = s.split(\"\\r\\n\");\n const h = lines[0];\n if (h !== HEADER) {\n let str = h.replace(HEADER, \"\").trim();\n if (str.length > 0) {\n mh._code = parseInt(str, 10);\n if (isNaN(mh._code)) {\n mh._code = 0;\n }\n const scode = mh._code.toString();\n str = str.replace(scode, \"\");\n mh._description = str.trim();\n }\n }\n if (lines.length >= 1) {\n lines.slice(1).map((s)=>{\n if (s) {\n const idx = s.indexOf(\":\");\n if (idx > -1) {\n const k = s.slice(0, idx);\n const v = s.slice(idx + 1).trim();\n mh.append(k, v);\n }\n }\n });\n }\n return mh;\n }\n toString() {\n if (this.headers.size === 0 && this._code === 0) {\n return \"\";\n }\n let s = HEADER;\n if (this._code > 0 && this._description !== \"\") {\n s += ` ${this._code} ${this._description}`;\n }\n for (const [k, v] of this.headers){\n for(let i = 0; i < v.length; i++){\n s = `${s}\\r\\n${k}: ${v[i]}`;\n }\n }\n return `${s}\\r\\n\\r\\n`;\n }\n encode() {\n return TE.encode(this.toString());\n }\n static validHeaderValue(k) {\n const inv = /[\\r\\n]/;\n if (inv.test(k)) {\n throw new NatsError(\"invalid header value - \\\\r and \\\\n are not allowed.\", ErrorCode.BadHeader);\n }\n return k.trim();\n }\n keys() {\n const keys = [];\n for (const sk of this.headers.keys()){\n keys.push(sk);\n }\n return keys;\n }\n findKeys(k, match = Match.Exact) {\n const keys = this.keys();\n switch(match){\n case Match.Exact:\n return keys.filter((v)=>{\n return v === k;\n });\n case Match.CanonicalMIME:\n k = canonicalMIMEHeaderKey(k);\n return keys.filter((v)=>{\n return v === k;\n });\n default:\n {\n const lci = k.toLowerCase();\n return keys.filter((v)=>{\n return lci === v.toLowerCase();\n });\n }\n }\n }\n get(k, match = Match.Exact) {\n const keys = this.findKeys(k, match);\n if (keys.length) {\n const v = this.headers.get(keys[0]);\n if (v) {\n return Array.isArray(v) ? v[0] : v;\n }\n }\n return \"\";\n }\n last(k, match = Match.Exact) {\n const keys = this.findKeys(k, match);\n if (keys.length) {\n const v = this.headers.get(keys[0]);\n if (v) {\n return Array.isArray(v) ? v[v.length - 1] : v;\n }\n }\n return \"\";\n }\n has(k, match = Match.Exact) {\n return this.findKeys(k, match).length > 0;\n }\n set(k, v, match = Match.Exact) {\n this.delete(k, match);\n this.append(k, v, match);\n }\n append(k, v, match = Match.Exact) {\n const ck = canonicalMIMEHeaderKey(k);\n if (match === Match.CanonicalMIME) {\n k = ck;\n }\n const keys = this.findKeys(k, match);\n k = keys.length > 0 ? keys[0] : k;\n const value = MsgHdrsImpl.validHeaderValue(v);\n let a = this.headers.get(k);\n if (!a) {\n a = [];\n this.headers.set(k, a);\n }\n a.push(value);\n }\n values(k, match = Match.Exact) {\n const buf = [];\n const keys = this.findKeys(k, match);\n keys.forEach((v)=>{\n const values = this.headers.get(v);\n if (values) {\n buf.push(...values);\n }\n });\n return buf;\n }\n delete(k, match = Match.Exact) {\n const keys = this.findKeys(k, match);\n keys.forEach((v)=>{\n this.headers.delete(v);\n });\n }\n get hasError() {\n return this._code >= 300;\n }\n get status() {\n return `${this._code} ${this._description}`.trim();\n }\n toRecord() {\n const data = {};\n this.keys().forEach((v)=>{\n data[v] = this.values(v);\n });\n return data;\n }\n get code() {\n return this._code;\n }\n get description() {\n return this._description;\n }\n static fromRecord(r) {\n const h = new MsgHdrsImpl();\n for(const k in r){\n h.headers.set(k, r[k]);\n }\n return h;\n }\n}\nfunction StringCodec() {\n return {\n encode (d) {\n return TE.encode(d);\n },\n decode (a) {\n return TD.decode(a);\n }\n };\n}\nfunction JSONCodec(reviver) {\n return {\n encode (d) {\n try {\n if (d === undefined) {\n d = null;\n }\n return TE.encode(JSON.stringify(d));\n } catch (err) {\n throw NatsError.errorForCode(ErrorCode.BadJson, err);\n }\n },\n decode (a) {\n try {\n return JSON.parse(TD.decode(a), reviver);\n } catch (err) {\n throw NatsError.errorForCode(ErrorCode.BadJson, err);\n }\n }\n };\n}\nfunction isRequestError(msg) {\n if (msg && msg.data.length === 0 && msg.headers?.code === 503) {\n return NatsError.errorForCode(ErrorCode.NoResponders);\n }\n return null;\n}\nclass MsgImpl {\n _headers;\n _msg;\n _rdata;\n _reply;\n _subject;\n publisher;\n static jc;\n constructor(msg, data, publisher){\n this._msg = msg;\n this._rdata = data;\n this.publisher = publisher;\n }\n get subject() {\n if (this._subject) {\n return this._subject;\n }\n this._subject = TD.decode(this._msg.subject);\n return this._subject;\n }\n get reply() {\n if (this._reply) {\n return this._reply;\n }\n this._reply = TD.decode(this._msg.reply);\n return this._reply;\n }\n get sid() {\n return this._msg.sid;\n }\n get headers() {\n if (this._msg.hdr > -1 && !this._headers) {\n const buf = this._rdata.subarray(0, this._msg.hdr);\n this._headers = MsgHdrsImpl.decode(buf);\n }\n return this._headers;\n }\n get data() {\n if (!this._rdata) {\n return new Uint8Array(0);\n }\n return this._msg.hdr > -1 ? this._rdata.subarray(this._msg.hdr) : this._rdata;\n }\n respond(data = Empty, opts) {\n if (this.reply) {\n this.publisher.publish(this.reply, data, opts);\n return true;\n }\n return false;\n }\n size() {\n const subj = this._msg.subject.length;\n const reply = this._msg.reply?.length || 0;\n const payloadAndHeaders = this._msg.size === -1 ? 0 : this._msg.size;\n return subj + reply + payloadAndHeaders;\n }\n json(reviver) {\n return JSONCodec(reviver).decode(this.data);\n }\n string() {\n return TD.decode(this.data);\n }\n requestInfo() {\n const v = this.headers?.get(\"Nats-Request-Info\");\n if (v) {\n return JSON.parse(v, function(key, value) {\n if ((key === \"start\" || key === \"stop\") && value !== \"\") {\n return new Date(Date.parse(value));\n }\n return value;\n });\n }\n return null;\n }\n}\nfunction validateDurableName(name) {\n return minValidation(\"durable\", name);\n}\nfunction validateStreamName(name) {\n return minValidation(\"stream\", name);\n}\nfunction minValidation(context, name = \"\") {\n if (name === \"\") {\n throw Error(`${context} name required`);\n }\n const bad = [\n \".\",\n \"*\",\n \">\",\n \"/\",\n \"\\\\\",\n \" \",\n \"\\t\",\n \"\\n\",\n \"\\r\"\n ];\n bad.forEach((v)=>{\n if (name.indexOf(v) !== -1) {\n switch(v){\n case \"\\n\":\n v = \"\\\\n\";\n break;\n case \"\\r\":\n v = \"\\\\r\";\n break;\n case \"\\t\":\n v = \"\\\\t\";\n break;\n default:\n }\n throw Error(`invalid ${context} name - ${context} name cannot contain '${v}'`);\n }\n });\n return \"\";\n}\nfunction validateName(context, name = \"\") {\n if (name === \"\") {\n throw Error(`${context} name required`);\n }\n const m = validName(name);\n if (m.length) {\n throw new Error(`invalid ${context} name - ${context} name ${m}`);\n }\n}\nfunction validName(name = \"\") {\n if (name === \"\") {\n throw Error(`name required`);\n }\n const RE = /^[-\\w]+$/g;\n const m = name.match(RE);\n if (m === null) {\n for (const c of name.split(\"\")){\n const mm = c.match(RE);\n if (mm === null) {\n return `cannot contain '${c}'`;\n }\n }\n }\n return \"\";\n}\nfunction isFlowControlMsg(msg) {\n if (msg.data.length > 0) {\n return false;\n }\n const h = msg.headers;\n if (!h) {\n return false;\n }\n return h.code >= 100 && h.code < 200;\n}\nfunction isHeartbeatMsg(msg) {\n return isFlowControlMsg(msg) && msg.headers?.description === \"Idle Heartbeat\";\n}\nfunction newJsErrorMsg(code, description, subject) {\n const h = headers(code, description);\n const arg = {\n hdr: 1,\n sid: 0,\n size: 0\n };\n const msg = new MsgImpl(arg, Empty, {});\n msg._headers = h;\n msg._subject = subject;\n return msg;\n}\nfunction checkJsError(msg) {\n if (msg.data.length !== 0) {\n return null;\n }\n const h = msg.headers;\n if (!h) {\n return null;\n }\n return checkJsErrorCode(h.code, h.description);\n}\nvar Js409Errors;\n(function(Js409Errors) {\n Js409Errors[\"MaxBatchExceeded\"] = \"exceeded maxrequestbatch of\";\n Js409Errors[\"MaxExpiresExceeded\"] = \"exceeded maxrequestexpires of\";\n Js409Errors[\"MaxBytesExceeded\"] = \"exceeded maxrequestmaxbytes of\";\n Js409Errors[\"MaxMessageSizeExceeded\"] = \"message size exceeds maxbytes\";\n Js409Errors[\"PushConsumer\"] = \"consumer is push based\";\n Js409Errors[\"MaxWaitingExceeded\"] = \"exceeded maxwaiting\";\n Js409Errors[\"IdleHeartbeatMissed\"] = \"idle heartbeats missed\";\n Js409Errors[\"ConsumerDeleted\"] = \"consumer deleted\";\n})(Js409Errors || (Js409Errors = {}));\nlet MAX_WAITING_FAIL = false;\nfunction isTerminal409(err) {\n if (err.code !== ErrorCode.JetStream409) {\n return false;\n }\n const fatal = [\n Js409Errors.MaxBatchExceeded,\n Js409Errors.MaxExpiresExceeded,\n Js409Errors.MaxBytesExceeded,\n Js409Errors.MaxMessageSizeExceeded,\n Js409Errors.PushConsumer,\n Js409Errors.IdleHeartbeatMissed,\n Js409Errors.ConsumerDeleted\n ];\n if (MAX_WAITING_FAIL) {\n fatal.push(Js409Errors.MaxWaitingExceeded);\n }\n return fatal.find((s)=>{\n return err.message.indexOf(s) !== -1;\n }) !== undefined;\n}\nfunction checkJsErrorCode(code, description = \"\") {\n if (code < 300) {\n return null;\n }\n description = description.toLowerCase();\n switch(code){\n case 404:\n return new NatsError(description, ErrorCode.JetStream404NoMessages);\n case 408:\n return new NatsError(description, ErrorCode.JetStream408RequestTimeout);\n case 409:\n {\n const ec = description.startsWith(Js409Errors.IdleHeartbeatMissed) ? ErrorCode.JetStreamIdleHeartBeat : ErrorCode.JetStream409;\n return new NatsError(description, ec);\n }\n case 503:\n return NatsError.errorForCode(ErrorCode.JetStreamNotEnabled, new Error(description));\n default:\n if (description === \"\") {\n description = ErrorCode.Unknown;\n }\n return new NatsError(description, `${code}`);\n }\n}\nclass QueuedIteratorImpl {\n inflight;\n processed;\n received;\n noIterator;\n iterClosed;\n done;\n signal;\n yields;\n filtered;\n pendingFiltered;\n ingestionFilterFn;\n protocolFilterFn;\n dispatchedFn;\n ctx;\n _data;\n err;\n time;\n yielding;\n constructor(){\n this.inflight = 0;\n this.filtered = 0;\n this.pendingFiltered = 0;\n this.processed = 0;\n this.received = 0;\n this.noIterator = false;\n this.done = false;\n this.signal = deferred();\n this.yields = [];\n this.iterClosed = deferred();\n this.time = 0;\n this.yielding = false;\n }\n [Symbol.asyncIterator]() {\n return this.iterate();\n }\n push(v) {\n if (this.done) {\n return;\n }\n if (typeof v === \"function\") {\n this.yields.push(v);\n this.signal.resolve();\n return;\n }\n const { ingest, protocol } = this.ingestionFilterFn ? this.ingestionFilterFn(v, this.ctx || this) : {\n ingest: true,\n protocol: false\n };\n if (ingest) {\n if (protocol) {\n this.filtered++;\n this.pendingFiltered++;\n }\n this.yields.push(v);\n this.signal.resolve();\n }\n }\n async *iterate() {\n if (this.noIterator) {\n throw new NatsError(\"unsupported iterator\", ErrorCode.ApiError);\n }\n if (this.yielding) {\n throw new NatsError(\"already yielding\", ErrorCode.ApiError);\n }\n this.yielding = true;\n try {\n while(true){\n if (this.yields.length === 0) {\n await this.signal;\n }\n if (this.err) {\n throw this.err;\n }\n const yields = this.yields;\n this.inflight = yields.length;\n this.yields = [];\n for(let i = 0; i < yields.length; i++){\n if (typeof yields[i] === \"function\") {\n const fn = yields[i];\n try {\n fn();\n } catch (err) {\n throw err;\n }\n if (this.err) {\n throw this.err;\n }\n continue;\n }\n const ok = this.protocolFilterFn ? this.protocolFilterFn(yields[i]) : true;\n if (ok) {\n this.processed++;\n const start = Date.now();\n yield yields[i];\n this.time = Date.now() - start;\n if (this.dispatchedFn && yields[i]) {\n this.dispatchedFn(yields[i]);\n }\n } else {\n this.pendingFiltered--;\n }\n this.inflight--;\n }\n if (this.done) {\n break;\n } else if (this.yields.length === 0) {\n yields.length = 0;\n this.yields = yields;\n this.signal = deferred();\n }\n }\n } finally{\n this.stop();\n }\n }\n stop(err) {\n if (this.done) {\n return;\n }\n this.err = err;\n this.done = true;\n this.signal.resolve();\n this.iterClosed.resolve(err);\n }\n getProcessed() {\n return this.noIterator ? this.received : this.processed;\n }\n getPending() {\n return this.yields.length + this.inflight - this.pendingFiltered;\n }\n getReceived() {\n return this.received - this.filtered;\n }\n}\nclass IdleHeartbeatMonitor {\n interval;\n maxOut;\n cancelAfter;\n timer;\n autoCancelTimer;\n last;\n missed;\n count;\n callback;\n constructor(interval, cb, opts = {\n maxOut: 2\n }){\n this.interval = interval;\n this.maxOut = opts?.maxOut || 2;\n this.cancelAfter = opts?.cancelAfter || 0;\n this.last = Date.now();\n this.missed = 0;\n this.count = 0;\n this.callback = cb;\n this._schedule();\n }\n cancel() {\n if (this.autoCancelTimer) {\n clearTimeout(this.autoCancelTimer);\n }\n if (this.timer) {\n clearInterval(this.timer);\n }\n this.timer = 0;\n this.autoCancelTimer = 0;\n this.missed = 0;\n }\n work() {\n this.last = Date.now();\n this.missed = 0;\n }\n _change(interval, cancelAfter = 0, maxOut = 2) {\n this.interval = interval;\n this.maxOut = maxOut;\n this.cancelAfter = cancelAfter;\n this.restart();\n }\n restart() {\n this.cancel();\n this._schedule();\n }\n _schedule() {\n if (this.cancelAfter > 0) {\n this.autoCancelTimer = setTimeout(()=>{\n this.cancel();\n }, this.cancelAfter);\n }\n this.timer = setInterval(()=>{\n this.count++;\n if (Date.now() - this.last > this.interval) {\n this.missed++;\n }\n if (this.missed >= this.maxOut) {\n try {\n if (this.callback(this.missed) === true) {\n this.cancel();\n }\n } catch (err) {\n console.log(err);\n }\n }\n }, this.interval);\n }\n}\nvar RetentionPolicy;\n(function(RetentionPolicy) {\n RetentionPolicy[\"Limits\"] = \"limits\";\n RetentionPolicy[\"Interest\"] = \"interest\";\n RetentionPolicy[\"Workqueue\"] = \"workqueue\";\n})(RetentionPolicy || (RetentionPolicy = {}));\nvar DiscardPolicy;\n(function(DiscardPolicy) {\n DiscardPolicy[\"Old\"] = \"old\";\n DiscardPolicy[\"New\"] = \"new\";\n})(DiscardPolicy || (DiscardPolicy = {}));\nvar StorageType;\n(function(StorageType) {\n StorageType[\"File\"] = \"file\";\n StorageType[\"Memory\"] = \"memory\";\n})(StorageType || (StorageType = {}));\nvar DeliverPolicy;\n(function(DeliverPolicy) {\n DeliverPolicy[\"All\"] = \"all\";\n DeliverPolicy[\"Last\"] = \"last\";\n DeliverPolicy[\"New\"] = \"new\";\n DeliverPolicy[\"StartSequence\"] = \"by_start_sequence\";\n DeliverPolicy[\"StartTime\"] = \"by_start_time\";\n DeliverPolicy[\"LastPerSubject\"] = \"last_per_subject\";\n})(DeliverPolicy || (DeliverPolicy = {}));\nvar AckPolicy;\n(function(AckPolicy) {\n AckPolicy[\"None\"] = \"none\";\n AckPolicy[\"All\"] = \"all\";\n AckPolicy[\"Explicit\"] = \"explicit\";\n AckPolicy[\"NotSet\"] = \"\";\n})(AckPolicy || (AckPolicy = {}));\nvar ReplayPolicy;\n(function(ReplayPolicy) {\n ReplayPolicy[\"Instant\"] = \"instant\";\n ReplayPolicy[\"Original\"] = \"original\";\n})(ReplayPolicy || (ReplayPolicy = {}));\nvar StoreCompression;\n(function(StoreCompression) {\n StoreCompression[\"None\"] = \"none\";\n StoreCompression[\"S2\"] = \"s2\";\n})(StoreCompression || (StoreCompression = {}));\nvar ConsumerApiAction;\n(function(ConsumerApiAction) {\n ConsumerApiAction[\"CreateOrUpdate\"] = \"\";\n ConsumerApiAction[\"Update\"] = \"update\";\n ConsumerApiAction[\"Create\"] = \"create\";\n})(ConsumerApiAction || (ConsumerApiAction = {}));\nfunction defaultConsumer(name, opts = {}) {\n return Object.assign({\n name: name,\n deliver_policy: DeliverPolicy.All,\n ack_policy: AckPolicy.Explicit,\n ack_wait: nanos(30 * 1000),\n replay_policy: ReplayPolicy.Instant\n }, opts);\n}\nvar AdvisoryKind;\n(function(AdvisoryKind) {\n AdvisoryKind[\"API\"] = \"api_audit\";\n AdvisoryKind[\"StreamAction\"] = \"stream_action\";\n AdvisoryKind[\"ConsumerAction\"] = \"consumer_action\";\n AdvisoryKind[\"SnapshotCreate\"] = \"snapshot_create\";\n AdvisoryKind[\"SnapshotComplete\"] = \"snapshot_complete\";\n AdvisoryKind[\"RestoreCreate\"] = \"restore_create\";\n AdvisoryKind[\"RestoreComplete\"] = \"restore_complete\";\n AdvisoryKind[\"MaxDeliver\"] = \"max_deliver\";\n AdvisoryKind[\"Terminated\"] = \"terminated\";\n AdvisoryKind[\"Ack\"] = \"consumer_ack\";\n AdvisoryKind[\"StreamLeaderElected\"] = \"stream_leader_elected\";\n AdvisoryKind[\"StreamQuorumLost\"] = \"stream_quorum_lost\";\n AdvisoryKind[\"ConsumerLeaderElected\"] = \"consumer_leader_elected\";\n AdvisoryKind[\"ConsumerQuorumLost\"] = \"consumer_quorum_lost\";\n})(AdvisoryKind || (AdvisoryKind = {}));\nvar JsHeaders;\n(function(JsHeaders) {\n JsHeaders[\"StreamSourceHdr\"] = \"Nats-Stream-Source\";\n JsHeaders[\"LastConsumerSeqHdr\"] = \"Nats-Last-Consumer\";\n JsHeaders[\"LastStreamSeqHdr\"] = \"Nats-Last-Stream\";\n JsHeaders[\"ConsumerStalledHdr\"] = \"Nats-Consumer-Stalled\";\n JsHeaders[\"MessageSizeHdr\"] = \"Nats-Msg-Size\";\n JsHeaders[\"RollupHdr\"] = \"Nats-Rollup\";\n JsHeaders[\"RollupValueSubject\"] = \"sub\";\n JsHeaders[\"RollupValueAll\"] = \"all\";\n JsHeaders[\"PendingMessagesHdr\"] = \"Nats-Pending-Messages\";\n JsHeaders[\"PendingBytesHdr\"] = \"Nats-Pending-Bytes\";\n})(JsHeaders || (JsHeaders = {}));\nvar KvWatchInclude;\n(function(KvWatchInclude) {\n KvWatchInclude[\"LastValue\"] = \"\";\n KvWatchInclude[\"AllHistory\"] = \"history\";\n KvWatchInclude[\"UpdatesOnly\"] = \"updates\";\n})(KvWatchInclude || (KvWatchInclude = {}));\nvar DirectMsgHeaders;\n(function(DirectMsgHeaders) {\n DirectMsgHeaders[\"Stream\"] = \"Nats-Stream\";\n DirectMsgHeaders[\"Sequence\"] = \"Nats-Sequence\";\n DirectMsgHeaders[\"TimeStamp\"] = \"Nats-Time-Stamp\";\n DirectMsgHeaders[\"Subject\"] = \"Nats-Subject\";\n})(DirectMsgHeaders || (DirectMsgHeaders = {}));\nvar RepublishHeaders;\n(function(RepublishHeaders) {\n RepublishHeaders[\"Stream\"] = \"Nats-Stream\";\n RepublishHeaders[\"Subject\"] = \"Nats-Subject\";\n RepublishHeaders[\"Sequence\"] = \"Nats-Sequence\";\n RepublishHeaders[\"LastSequence\"] = \"Nats-Last-Sequence\";\n RepublishHeaders[\"Size\"] = \"Nats-Msg-Size\";\n})(RepublishHeaders || (RepublishHeaders = {}));\nconst kvPrefix = \"KV_\";\nclass ConsumerOptsBuilderImpl {\n config;\n ordered;\n mack;\n stream;\n callbackFn;\n max;\n qname;\n isBind;\n filters;\n constructor(opts){\n this.stream = \"\";\n this.mack = false;\n this.ordered = false;\n this.config = defaultConsumer(\"\", opts || {});\n }\n getOpts() {\n const o = {};\n o.config = Object.assign({}, this.config);\n if (o.config.filter_subject) {\n this.filterSubject(o.config.filter_subject);\n o.config.filter_subject = undefined;\n }\n if (o.config.filter_subjects) {\n o.config.filter_subjects?.forEach((v)=>{\n this.filterSubject(v);\n });\n o.config.filter_subjects = undefined;\n }\n o.mack = this.mack;\n o.stream = this.stream;\n o.callbackFn = this.callbackFn;\n o.max = this.max;\n o.queue = this.qname;\n o.ordered = this.ordered;\n o.config.ack_policy = o.ordered ? AckPolicy.None : o.config.ack_policy;\n o.isBind = o.isBind || false;\n if (this.filters) {\n switch(this.filters.length){\n case 0:\n break;\n case 1:\n o.config.filter_subject = this.filters[0];\n break;\n default:\n o.config.filter_subjects = this.filters;\n }\n }\n return o;\n }\n description(description) {\n this.config.description = description;\n return this;\n }\n deliverTo(subject) {\n this.config.deliver_subject = subject;\n return this;\n }\n durable(name) {\n validateDurableName(name);\n this.config.durable_name = name;\n return this;\n }\n startSequence(seq) {\n if (seq <= 0) {\n throw new Error(\"sequence must be greater than 0\");\n }\n this.config.deliver_policy = DeliverPolicy.StartSequence;\n this.config.opt_start_seq = seq;\n return this;\n }\n startTime(time) {\n this.config.deliver_policy = DeliverPolicy.StartTime;\n this.config.opt_start_time = time.toISOString();\n return this;\n }\n deliverAll() {\n this.config.deliver_policy = DeliverPolicy.All;\n return this;\n }\n deliverLastPerSubject() {\n this.config.deliver_policy = DeliverPolicy.LastPerSubject;\n return this;\n }\n deliverLast() {\n this.config.deliver_policy = DeliverPolicy.Last;\n return this;\n }\n deliverNew() {\n this.config.deliver_policy = DeliverPolicy.New;\n return this;\n }\n startAtTimeDelta(millis) {\n this.startTime(new Date(Date.now() - millis));\n return this;\n }\n headersOnly() {\n this.config.headers_only = true;\n return this;\n }\n ackNone() {\n this.config.ack_policy = AckPolicy.None;\n return this;\n }\n ackAll() {\n this.config.ack_policy = AckPolicy.All;\n return this;\n }\n ackExplicit() {\n this.config.ack_policy = AckPolicy.Explicit;\n return this;\n }\n ackWait(millis) {\n this.config.ack_wait = nanos(millis);\n return this;\n }\n maxDeliver(max) {\n this.config.max_deliver = max;\n return this;\n }\n filterSubject(s) {\n this.filters = this.filters || [];\n this.filters.push(s);\n return this;\n }\n replayInstantly() {\n this.config.replay_policy = ReplayPolicy.Instant;\n return this;\n }\n replayOriginal() {\n this.config.replay_policy = ReplayPolicy.Original;\n return this;\n }\n sample(n) {\n n = Math.trunc(n);\n if (n < 0 || n > 100) {\n throw new Error(`value must be between 0-100`);\n }\n this.config.sample_freq = `${n}%`;\n return this;\n }\n limit(n) {\n this.config.rate_limit_bps = n;\n return this;\n }\n maxWaiting(max) {\n this.config.max_waiting = max;\n return this;\n }\n maxAckPending(max) {\n this.config.max_ack_pending = max;\n return this;\n }\n idleHeartbeat(millis) {\n this.config.idle_heartbeat = nanos(millis);\n return this;\n }\n flowControl() {\n this.config.flow_control = true;\n return this;\n }\n deliverGroup(name) {\n this.queue(name);\n return this;\n }\n manualAck() {\n this.mack = true;\n return this;\n }\n maxMessages(max) {\n this.max = max;\n return this;\n }\n callback(fn) {\n this.callbackFn = fn;\n return this;\n }\n queue(n) {\n this.qname = n;\n this.config.deliver_group = n;\n return this;\n }\n orderedConsumer() {\n this.ordered = true;\n return this;\n }\n bind(stream, durable) {\n this.stream = stream;\n this.config.durable_name = durable;\n this.isBind = true;\n return this;\n }\n bindStream(stream) {\n this.stream = stream;\n return this;\n }\n inactiveEphemeralThreshold(millis) {\n this.config.inactive_threshold = nanos(millis);\n return this;\n }\n maxPullBatch(n) {\n this.config.max_batch = n;\n return this;\n }\n maxPullRequestExpires(millis) {\n this.config.max_expires = nanos(millis);\n return this;\n }\n memory() {\n this.config.mem_storage = true;\n return this;\n }\n numReplicas(n) {\n this.config.num_replicas = n;\n return this;\n }\n consumerName(n) {\n this.config.name = n;\n return this;\n }\n}\nfunction consumerOpts(opts) {\n return new ConsumerOptsBuilderImpl(opts);\n}\nfunction isConsumerOptsBuilder(o) {\n return typeof o.getOpts === \"function\";\n}\nclass Base64Codec {\n static encode(bytes) {\n if (typeof bytes === \"string\") {\n return btoa(bytes);\n }\n const a = Array.from(bytes);\n return btoa(String.fromCharCode(...a));\n }\n static decode(s, binary = false) {\n const bin = atob(s);\n if (!binary) {\n return bin;\n }\n return Uint8Array.from(bin, (c)=>c.charCodeAt(0));\n }\n}\nclass Base64UrlPaddedCodec {\n static encode(bytes) {\n return Base64UrlPaddedCodec.toB64URLEncoding(Base64Codec.encode(bytes));\n }\n static decode(s, binary = false) {\n return Base64UrlPaddedCodec.decode(Base64UrlPaddedCodec.fromB64URLEncoding(s), binary);\n }\n static toB64URLEncoding(b64str) {\n return b64str.replace(/\\+/g, \"-\").replace(/\\//g, \"_\");\n }\n static fromB64URLEncoding(b64str) {\n return b64str.replace(/_/g, \"/\").replace(/-/g, \"+\");\n }\n}\nclass DataBuffer {\n buffers;\n byteLength;\n constructor(){\n this.buffers = [];\n this.byteLength = 0;\n }\n static concat(...bufs) {\n let max = 0;\n for(let i = 0; i < bufs.length; i++){\n max += bufs[i].length;\n }\n const out = new Uint8Array(max);\n let index = 0;\n for(let i = 0; i < bufs.length; i++){\n out.set(bufs[i], index);\n index += bufs[i].length;\n }\n return out;\n }\n static fromAscii(m) {\n if (!m) {\n m = \"\";\n }\n return TE.encode(m);\n }\n static toAscii(a) {\n return TD.decode(a);\n }\n reset() {\n this.buffers.length = 0;\n this.byteLength = 0;\n }\n pack() {\n if (this.buffers.length > 1) {\n const v = new Uint8Array(this.byteLength);\n let index = 0;\n for(let i = 0; i < this.buffers.length; i++){\n v.set(this.buffers[i], index);\n index += this.buffers[i].length;\n }\n this.buffers.length = 0;\n this.buffers.push(v);\n }\n }\n shift() {\n if (this.buffers.length) {\n const a = this.buffers.shift();\n if (a) {\n this.byteLength -= a.length;\n return a;\n }\n }\n return new Uint8Array(0);\n }\n drain(n) {\n if (this.buffers.length) {\n this.pack();\n const v = this.buffers.pop();\n if (v) {\n const max = this.byteLength;\n if (n === undefined || n > max) {\n n = max;\n }\n const d = v.subarray(0, n);\n if (max > n) {\n this.buffers.push(v.subarray(n));\n }\n this.byteLength = max - n;\n return d;\n }\n }\n return new Uint8Array(0);\n }\n fill(a, ...bufs) {\n if (a) {\n this.buffers.push(a);\n this.byteLength += a.length;\n }\n for(let i = 0; i < bufs.length; i++){\n if (bufs[i] && bufs[i].length) {\n this.buffers.push(bufs[i]);\n this.byteLength += bufs[i].length;\n }\n }\n }\n peek() {\n if (this.buffers.length) {\n this.pack();\n return this.buffers[0];\n }\n return new Uint8Array(0);\n }\n size() {\n return this.byteLength;\n }\n length() {\n return this.buffers.length;\n }\n}\nfunction getLengths(b64) {\n const len = b64.length;\n let validLen = b64.indexOf(\"=\");\n if (validLen === -1) {\n validLen = len;\n }\n const placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [\n validLen,\n placeHoldersLen\n ];\n}\nfunction init(lookup, revLookup, urlsafe = false) {\n function _byteLength(validLen, placeHoldersLen) {\n return Math.floor((validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen);\n }\n function tripletToBase64(num) {\n return lookup[num >> 18 & 0x3f] + lookup[num >> 12 & 0x3f] + lookup[num >> 6 & 0x3f] + lookup[num & 0x3f];\n }\n function encodeChunk(buf, start, end) {\n const out = new Array((end - start) / 3);\n for(let i = start, curTriplet = 0; i < end; i += 3){\n out[curTriplet++] = tripletToBase64((buf[i] << 16) + (buf[i + 1] << 8) + buf[i + 2]);\n }\n return out.join(\"\");\n }\n return {\n byteLength (b64) {\n return _byteLength.apply(null, getLengths(b64));\n },\n toUint8Array (b64) {\n const [validLen, placeHoldersLen] = getLengths(b64);\n const buf = new Uint8Array(_byteLength(validLen, placeHoldersLen));\n const len = placeHoldersLen ? validLen - 4 : validLen;\n let tmp;\n let curByte = 0;\n let i;\n for(i = 0; i < len; i += 4){\n tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n buf[curByte++] = tmp >> 16 & 0xff;\n buf[curByte++] = tmp >> 8 & 0xff;\n buf[curByte++] = tmp & 0xff;\n }\n if (placeHoldersLen === 2) {\n tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n buf[curByte++] = tmp & 0xff;\n } else if (placeHoldersLen === 1) {\n tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n buf[curByte++] = tmp >> 8 & 0xff;\n buf[curByte++] = tmp & 0xff;\n }\n return buf;\n },\n fromUint8Array (buf) {\n const maxChunkLength = 16383;\n const len = buf.length;\n const extraBytes = len % 3;\n const len2 = len - extraBytes;\n const parts = new Array(Math.ceil(len2 / 16383) + (extraBytes ? 1 : 0));\n let curChunk = 0;\n let chunkEnd;\n for(let i = 0; i < len2; i += maxChunkLength){\n chunkEnd = i + maxChunkLength;\n parts[curChunk++] = encodeChunk(buf, i, chunkEnd > len2 ? len2 : chunkEnd);\n }\n let tmp;\n if (extraBytes === 1) {\n tmp = buf[len2];\n parts[curChunk] = lookup[tmp >> 2] + lookup[tmp << 4 & 0x3f];\n if (!urlsafe) parts[curChunk] += \"==\";\n } else if (extraBytes === 2) {\n tmp = buf[len2] << 8 | buf[len2 + 1] & 0xff;\n parts[curChunk] = lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3f] + lookup[tmp << 2 & 0x3f];\n if (!urlsafe) parts[curChunk] += \"=\";\n }\n return parts.join(\"\");\n }\n };\n}\nconst lookup = [];\nconst revLookup = [];\nconst code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\";\nfor(let i = 0, l = code.length; i < l; ++i){\n lookup[i] = code[i];\n revLookup[code.charCodeAt(i)] = i;\n}\nconst { byteLength, toUint8Array, fromUint8Array } = init(lookup, revLookup, true);\nconst decoder = new TextDecoder();\nconst encoder = new TextEncoder();\nfunction toHexString(buf) {\n return buf.reduce((hex, __byte)=>`${hex}${__byte < 16 ? \"0\" : \"\"}${__byte.toString(16)}`, \"\");\n}\nfunction fromHexString(hex) {\n const len = hex.length;\n if (len % 2 || !/^[0-9a-fA-F]+$/.test(hex)) {\n throw new TypeError(\"Invalid hex string.\");\n }\n hex = hex.toLowerCase();\n const buf = new Uint8Array(Math.floor(len / 2));\n const end = len / 2;\n for(let i = 0; i < end; ++i){\n buf[i] = parseInt(hex.substr(i * 2, 2), 16);\n }\n return buf;\n}\nfunction decode1(buf, encoding = \"utf8\") {\n if (/^utf-?8$/i.test(encoding)) {\n return decoder.decode(buf);\n } else if (/^base64$/i.test(encoding)) {\n return fromUint8Array(buf);\n } else if (/^hex(?:adecimal)?$/i.test(encoding)) {\n return toHexString(buf);\n } else {\n throw new TypeError(\"Unsupported string encoding.\");\n }\n}\nfunction encode1(str, encoding = \"utf8\") {\n if (/^utf-?8$/i.test(encoding)) {\n return encoder.encode(str);\n } else if (/^base64$/i.test(encoding)) {\n return toUint8Array(str);\n } else if (/^hex(?:adecimal)?$/i.test(encoding)) {\n return fromHexString(str);\n } else {\n throw new TypeError(\"Unsupported string encoding.\");\n }\n}\nclass SHA256 {\n hashSize = 32;\n _buf;\n _bufIdx;\n _count;\n _K;\n _H;\n _finalized;\n constructor(){\n this._buf = new Uint8Array(64);\n this._K = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n ]);\n this.init();\n }\n init() {\n this._H = new Uint32Array([\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n ]);\n this._bufIdx = 0;\n this._count = new Uint32Array(2);\n this._buf.fill(0);\n this._finalized = false;\n return this;\n }\n update(msg, inputEncoding) {\n if (msg === null) {\n throw new TypeError(\"msg must be a string or Uint8Array.\");\n } else if (typeof msg === \"string\") {\n msg = encode1(msg, inputEncoding);\n }\n for(let i = 0, len = msg.length; i < len; i++){\n this._buf[this._bufIdx++] = msg[i];\n if (this._bufIdx === 64) {\n this._transform();\n this._bufIdx = 0;\n }\n }\n const c = this._count;\n if ((c[0] += msg.length << 3) < msg.length << 3) {\n c[1]++;\n }\n c[1] += msg.length >>> 29;\n return this;\n }\n digest(outputEncoding) {\n if (this._finalized) {\n throw new Error(\"digest has already been called.\");\n }\n this._finalized = true;\n const b = this._buf;\n let idx = this._bufIdx;\n b[idx++] = 0x80;\n while(idx !== 56){\n if (idx === 64) {\n this._transform();\n idx = 0;\n }\n b[idx++] = 0;\n }\n const c = this._count;\n b[56] = c[1] >>> 24 & 0xff;\n b[57] = c[1] >>> 16 & 0xff;\n b[58] = c[1] >>> 8 & 0xff;\n b[59] = c[1] >>> 0 & 0xff;\n b[60] = c[0] >>> 24 & 0xff;\n b[61] = c[0] >>> 16 & 0xff;\n b[62] = c[0] >>> 8 & 0xff;\n b[63] = c[0] >>> 0 & 0xff;\n this._transform();\n const hash = new Uint8Array(32);\n for(let i = 0; i < 8; i++){\n hash[(i << 2) + 0] = this._H[i] >>> 24 & 0xff;\n hash[(i << 2) + 1] = this._H[i] >>> 16 & 0xff;\n hash[(i << 2) + 2] = this._H[i] >>> 8 & 0xff;\n hash[(i << 2) + 3] = this._H[i] >>> 0 & 0xff;\n }\n this.init();\n return outputEncoding ? decode1(hash, outputEncoding) : hash;\n }\n _transform() {\n const h = this._H;\n let h0 = h[0];\n let h1 = h[1];\n let h2 = h[2];\n let h3 = h[3];\n let h4 = h[4];\n let h5 = h[5];\n let h6 = h[6];\n let h7 = h[7];\n const w = new Uint32Array(16);\n let i;\n for(i = 0; i < 16; i++){\n w[i] = this._buf[(i << 2) + 3] | this._buf[(i << 2) + 2] << 8 | this._buf[(i << 2) + 1] << 16 | this._buf[i << 2] << 24;\n }\n for(i = 0; i < 64; i++){\n let tmp;\n if (i < 16) {\n tmp = w[i];\n } else {\n let a = w[i + 1 & 15];\n let b = w[i + 14 & 15];\n tmp = w[i & 15] = (a >>> 7 ^ a >>> 18 ^ a >>> 3 ^ a << 25 ^ a << 14) + (b >>> 17 ^ b >>> 19 ^ b >>> 10 ^ b << 15 ^ b << 13) + w[i & 15] + w[i + 9 & 15] | 0;\n }\n tmp = tmp + h7 + (h4 >>> 6 ^ h4 >>> 11 ^ h4 >>> 25 ^ h4 << 26 ^ h4 << 21 ^ h4 << 7) + (h6 ^ h4 & (h5 ^ h6)) + this._K[i] | 0;\n h7 = h6;\n h6 = h5;\n h5 = h4;\n h4 = h3 + tmp;\n h3 = h2;\n h2 = h1;\n h1 = h0;\n h0 = tmp + (h1 & h2 ^ h3 & (h1 ^ h2)) + (h1 >>> 2 ^ h1 >>> 13 ^ h1 >>> 22 ^ h1 << 30 ^ h1 << 19 ^ h1 << 10) | 0;\n }\n h[0] = h[0] + h0 | 0;\n h[1] = h[1] + h1 | 0;\n h[2] = h[2] + h2 | 0;\n h[3] = h[3] + h3 | 0;\n h[4] = h[4] + h4 | 0;\n h[5] = h[5] + h5 | 0;\n h[6] = h[6] + h6 | 0;\n h[7] = h[7] + h7 | 0;\n }\n}\nclass BaseRequest {\n token;\n received;\n ctx;\n requestSubject;\n mux;\n constructor(mux, requestSubject, asyncTraces = true){\n this.mux = mux;\n this.requestSubject = requestSubject;\n this.received = 0;\n this.token = nuid.next();\n if (asyncTraces) {\n this.ctx = new Error();\n }\n }\n}\nclass RequestMany extends BaseRequest {\n callback;\n done;\n timer;\n max;\n opts;\n constructor(mux, requestSubject, opts = {\n maxWait: 1000\n }){\n super(mux, requestSubject);\n this.opts = opts;\n if (typeof this.opts.callback !== \"function\") {\n throw new Error(\"callback is required\");\n }\n this.callback = this.opts.callback;\n this.max = typeof opts.maxMessages === \"number\" && opts.maxMessages > 0 ? opts.maxMessages : -1;\n this.done = deferred();\n this.done.then(()=>{\n this.callback(null, null);\n });\n this.timer = setTimeout(()=>{\n this.cancel();\n }, opts.maxWait);\n }\n cancel(err) {\n if (err) {\n this.callback(err, null);\n }\n clearTimeout(this.timer);\n this.mux.cancel(this);\n this.done.resolve();\n }\n resolver(err, msg) {\n if (err) {\n if (this.ctx) {\n err.stack += `\\n\\n${this.ctx.stack}`;\n }\n this.cancel(err);\n } else {\n this.callback(null, msg);\n if (this.opts.strategy === RequestStrategy.Count) {\n this.max--;\n if (this.max === 0) {\n this.cancel();\n }\n }\n if (this.opts.strategy === RequestStrategy.JitterTimer) {\n clearTimeout(this.timer);\n this.timer = setTimeout(()=>{\n this.cancel();\n }, this.opts.jitter || 300);\n }\n if (this.opts.strategy === RequestStrategy.SentinelMsg) {\n if (msg && msg.data.length === 0) {\n this.cancel();\n }\n }\n }\n }\n}\nclass RequestOne extends BaseRequest {\n deferred;\n timer;\n constructor(mux, requestSubject, opts = {\n timeout: 1000\n }, asyncTraces = true){\n super(mux, requestSubject, asyncTraces);\n this.deferred = deferred();\n this.timer = timeout(opts.timeout, asyncTraces);\n }\n resolver(err, msg) {\n if (this.timer) {\n this.timer.cancel();\n }\n if (err) {\n if (this.ctx) {\n err.stack += `\\n\\n${this.ctx.stack}`;\n }\n this.deferred.reject(err);\n } else {\n this.deferred.resolve(msg);\n }\n this.cancel();\n }\n cancel(err) {\n if (this.timer) {\n this.timer.cancel();\n }\n this.mux.cancel(this);\n this.deferred.reject(err ? err : NatsError.errorForCode(ErrorCode.Cancelled));\n }\n}\nconst defaultPrefix = \"$JS.API\";\nfunction defaultJsOptions(opts) {\n opts = opts || {};\n if (opts.domain) {\n opts.apiPrefix = `$JS.${opts.domain}.API`;\n delete opts.domain;\n }\n return extend({\n apiPrefix: defaultPrefix,\n timeout: 5000\n }, opts);\n}\nclass BaseApiClient {\n nc;\n opts;\n prefix;\n timeout;\n jc;\n constructor(nc, opts){\n this.nc = nc;\n this.opts = defaultJsOptions(opts);\n this._parseOpts();\n this.prefix = this.opts.apiPrefix;\n this.timeout = this.opts.timeout;\n this.jc = JSONCodec();\n }\n getOptions() {\n return Object.assign({}, this.opts);\n }\n _parseOpts() {\n let prefix = this.opts.apiPrefix;\n if (!prefix || prefix.length === 0) {\n throw new Error(\"invalid empty prefix\");\n }\n const c = prefix[prefix.length - 1];\n if (c === \".\") {\n prefix = prefix.substr(0, prefix.length - 1);\n }\n this.opts.apiPrefix = prefix;\n }\n async _request(subj, data = null, opts) {\n opts = opts || {};\n opts.timeout = this.timeout;\n let a = Empty;\n if (data) {\n a = this.jc.encode(data);\n }\n let { retries } = opts;\n retries = retries || 1;\n retries = retries === -1 ? Number.MAX_SAFE_INTEGER : retries;\n const bo = backoff();\n for(let i = 0; i < retries; i++){\n try {\n const m = await this.nc.request(subj, a, opts);\n return this.parseJsResponse(m);\n } catch (err) {\n const ne = err;\n if ((ne.code === \"503\" || ne.code === ErrorCode.Timeout) && i + 1 < retries) {\n await delay(bo.backoff(i));\n } else {\n throw err;\n }\n }\n }\n }\n async findStream(subject) {\n const q = {\n subject\n };\n const r = await this._request(`${this.prefix}.STREAM.NAMES`, q);\n const names = r;\n if (!names.streams || names.streams.length !== 1) {\n throw new Error(\"no stream matches subject\");\n }\n return names.streams[0];\n }\n getConnection() {\n return this.nc;\n }\n parseJsResponse(m) {\n const v = this.jc.decode(m.data);\n const r = v;\n if (r.error) {\n const err = checkJsErrorCode(r.error.code, r.error.description);\n if (err !== null) {\n err.api_error = r.error;\n throw err;\n }\n }\n return v;\n }\n}\nclass ListerImpl {\n err;\n offset;\n pageInfo;\n subject;\n jsm;\n filter;\n payload;\n constructor(subject, filter, jsm, payload){\n if (!subject) {\n throw new Error(\"subject is required\");\n }\n this.subject = subject;\n this.jsm = jsm;\n this.offset = 0;\n this.pageInfo = {};\n this.filter = filter;\n this.payload = payload || {};\n }\n async next() {\n if (this.err) {\n return [];\n }\n if (this.pageInfo && this.offset >= this.pageInfo.total) {\n return [];\n }\n const offset = {\n offset: this.offset\n };\n if (this.payload) {\n Object.assign(offset, this.payload);\n }\n try {\n const r = await this.jsm._request(this.subject, offset, {\n timeout: this.jsm.timeout\n });\n this.pageInfo = r;\n const count = this.countResponse(r);\n if (count === 0) {\n return [];\n }\n this.offset += count;\n const a = this.filter(r);\n return a;\n } catch (err) {\n this.err = err;\n throw err;\n }\n }\n countResponse(r) {\n switch(r?.type){\n case \"io.nats.jetstream.api.v1.stream_names_response\":\n case \"io.nats.jetstream.api.v1.stream_list_response\":\n return r.streams?.length || 0;\n case \"io.nats.jetstream.api.v1.consumer_list_response\":\n return r.consumers?.length || 0;\n default:\n console.error(`jslister.ts: unknown API response for paged output: ${r?.type}`);\n return r.streams?.length || 0;\n }\n return 0;\n }\n async *[Symbol.asyncIterator]() {\n let page = await this.next();\n while(page.length > 0){\n for (const item of page){\n yield item;\n }\n page = await this.next();\n }\n }\n}\nfunction parseSemVer(s = \"\") {\n const m = s.match(/(\\d+).(\\d+).(\\d+)/);\n if (m) {\n return {\n major: parseInt(m[1]),\n minor: parseInt(m[2]),\n micro: parseInt(m[3])\n };\n }\n throw new Error(`'${s}' is not a semver value`);\n}\nfunction compare(a, b) {\n if (a.major < b.major) return -1;\n if (a.major > b.major) return 1;\n if (a.minor < b.minor) return -1;\n if (a.minor > b.minor) return 1;\n if (a.micro < b.micro) return -1;\n if (a.micro > b.micro) return 1;\n return 0;\n}\nvar Feature;\n(function(Feature) {\n Feature[\"JS_KV\"] = \"js_kv\";\n Feature[\"JS_OBJECTSTORE\"] = \"js_objectstore\";\n Feature[\"JS_PULL_MAX_BYTES\"] = \"js_pull_max_bytes\";\n Feature[\"JS_NEW_CONSUMER_CREATE_API\"] = \"js_new_consumer_create\";\n Feature[\"JS_ALLOW_DIRECT\"] = \"js_allow_direct\";\n Feature[\"JS_MULTIPLE_CONSUMER_FILTER\"] = \"js_multiple_consumer_filter\";\n Feature[\"JS_SIMPLIFICATION\"] = \"js_simplification\";\n Feature[\"JS_STREAM_CONSUMER_METADATA\"] = \"js_stream_consumer_metadata\";\n Feature[\"JS_CONSUMER_FILTER_SUBJECTS\"] = \"js_consumer_filter_subjects\";\n Feature[\"JS_STREAM_FIRST_SEQ\"] = \"js_stream_first_seq\";\n Feature[\"JS_STREAM_SUBJECT_TRANSFORM\"] = \"js_stream_subject_transform\";\n Feature[\"JS_STREAM_SOURCE_SUBJECT_TRANSFORM\"] = \"js_stream_source_subject_transform\";\n Feature[\"JS_STREAM_COMPRESSION\"] = \"js_stream_compression\";\n Feature[\"JS_DEFAULT_CONSUMER_LIMITS\"] = \"js_default_consumer_limits\";\n Feature[\"JS_BATCH_DIRECT_GET\"] = \"js_batch_direct_get\";\n})(Feature || (Feature = {}));\nclass Features {\n server;\n features;\n disabled;\n constructor(v){\n this.features = new Map();\n this.disabled = [];\n this.update(v);\n }\n resetDisabled() {\n this.disabled.length = 0;\n this.update(this.server);\n }\n disable(f) {\n this.disabled.push(f);\n this.update(this.server);\n }\n isDisabled(f) {\n return this.disabled.indexOf(f) !== -1;\n }\n update(v) {\n if (typeof v === \"string\") {\n v = parseSemVer(v);\n }\n this.server = v;\n this.set(Feature.JS_KV, \"2.6.2\");\n this.set(Feature.JS_OBJECTSTORE, \"2.6.3\");\n this.set(Feature.JS_PULL_MAX_BYTES, \"2.8.3\");\n this.set(Feature.JS_NEW_CONSUMER_CREATE_API, \"2.9.0\");\n this.set(Feature.JS_ALLOW_DIRECT, \"2.9.0\");\n this.set(Feature.JS_MULTIPLE_CONSUMER_FILTER, \"2.10.0\");\n this.set(Feature.JS_SIMPLIFICATION, \"2.9.4\");\n this.set(Feature.JS_STREAM_CONSUMER_METADATA, \"2.10.0\");\n this.set(Feature.JS_CONSUMER_FILTER_SUBJECTS, \"2.10.0\");\n this.set(Feature.JS_STREAM_FIRST_SEQ, \"2.10.0\");\n this.set(Feature.JS_STREAM_SUBJECT_TRANSFORM, \"2.10.0\");\n this.set(Feature.JS_STREAM_SOURCE_SUBJECT_TRANSFORM, \"2.10.0\");\n this.set(Feature.JS_STREAM_COMPRESSION, \"2.10.0\");\n this.set(Feature.JS_DEFAULT_CONSUMER_LIMITS, \"2.10.0\");\n this.set(Feature.JS_BATCH_DIRECT_GET, \"2.11.0\");\n this.disabled.forEach((f)=>{\n this.features.delete(f);\n });\n }\n set(f, requires) {\n this.features.set(f, {\n min: requires,\n ok: compare(this.server, parseSemVer(requires)) >= 0\n });\n }\n get(f) {\n return this.features.get(f) || {\n min: \"unknown\",\n ok: false\n };\n }\n supports(f) {\n return this.get(f)?.ok || false;\n }\n require(v) {\n if (typeof v === \"string\") {\n v = parseSemVer(v);\n }\n return compare(this.server, v) >= 0;\n }\n}\nclass ConsumerAPIImpl extends BaseApiClient {\n constructor(nc, opts){\n super(nc, opts);\n }\n async add(stream, cfg, action = ConsumerApiAction.Create) {\n validateStreamName(stream);\n if (cfg.deliver_group && cfg.flow_control) {\n throw new Error(\"jetstream flow control is not supported with queue groups\");\n }\n if (cfg.deliver_group && cfg.idle_heartbeat) {\n throw new Error(\"jetstream idle heartbeat is not supported with queue groups\");\n }\n const cr = {};\n cr.config = cfg;\n cr.stream_name = stream;\n cr.action = action;\n if (cr.config.durable_name) {\n validateDurableName(cr.config.durable_name);\n }\n const nci = this.nc;\n let { min, ok: newAPI } = nci.features.get(Feature.JS_NEW_CONSUMER_CREATE_API);\n const name = cfg.name === \"\" ? undefined : cfg.name;\n if (name && !newAPI) {\n throw new Error(`consumer 'name' requires server ${min}`);\n }\n if (name) {\n try {\n minValidation(\"name\", name);\n } catch (err) {\n const m = err.message;\n const idx = m.indexOf(\"cannot contain\");\n if (idx !== -1) {\n throw new Error(`consumer 'name' ${m.substring(idx)}`);\n }\n throw err;\n }\n }\n let subj;\n let consumerName = \"\";\n if (Array.isArray(cfg.filter_subjects)) {\n const { min, ok } = nci.features.get(Feature.JS_MULTIPLE_CONSUMER_FILTER);\n if (!ok) {\n throw new Error(`consumer 'filter_subjects' requires server ${min}`);\n }\n newAPI = false;\n }\n if (cfg.metadata) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_CONSUMER_METADATA);\n if (!ok) {\n throw new Error(`consumer 'metadata' requires server ${min}`);\n }\n }\n if (newAPI) {\n consumerName = cfg.name ?? cfg.durable_name ?? \"\";\n }\n if (consumerName !== \"\") {\n let fs = cfg.filter_subject ?? undefined;\n if (fs === \">\") {\n fs = undefined;\n }\n subj = fs !== undefined ? `${this.prefix}.CONSUMER.CREATE.${stream}.${consumerName}.${fs}` : `${this.prefix}.CONSUMER.CREATE.${stream}.${consumerName}`;\n } else {\n subj = cfg.durable_name ? `${this.prefix}.CONSUMER.DURABLE.CREATE.${stream}.${cfg.durable_name}` : `${this.prefix}.CONSUMER.CREATE.${stream}`;\n }\n const r = await this._request(subj, cr);\n return r;\n }\n async update(stream, durable, cfg) {\n const ci = await this.info(stream, durable);\n const changable = cfg;\n return this.add(stream, Object.assign(ci.config, changable), ConsumerApiAction.Update);\n }\n async info(stream, name) {\n validateStreamName(stream);\n validateDurableName(name);\n const r = await this._request(`${this.prefix}.CONSUMER.INFO.${stream}.${name}`);\n return r;\n }\n async delete(stream, name) {\n validateStreamName(stream);\n validateDurableName(name);\n const r = await this._request(`${this.prefix}.CONSUMER.DELETE.${stream}.${name}`);\n const cr = r;\n return cr.success;\n }\n list(stream) {\n validateStreamName(stream);\n const filter = (v)=>{\n const clr = v;\n return clr.consumers;\n };\n const subj = `${this.prefix}.CONSUMER.LIST.${stream}`;\n return new ListerImpl(subj, filter, this);\n }\n pause(stream, name, until) {\n const subj = `${this.prefix}.CONSUMER.PAUSE.${stream}.${name}`;\n const opts = {\n pause_until: until.toISOString()\n };\n return this._request(subj, opts);\n }\n resume(stream, name) {\n return this.pause(stream, name, new Date(0));\n }\n}\nfunction checkFn(fn, name, required = false) {\n if (required === true && !fn) {\n throw NatsError.errorForCode(ErrorCode.ApiError, new Error(`${name} is not a function`));\n }\n if (fn && typeof fn !== \"function\") {\n throw NatsError.errorForCode(ErrorCode.ApiError, new Error(`${name} is not a function`));\n }\n}\nclass TypedSubscription extends QueuedIteratorImpl {\n sub;\n adapter;\n subIterDone;\n constructor(nc, subject, opts){\n super();\n checkFn(opts.adapter, \"adapter\", true);\n this.adapter = opts.adapter;\n if (opts.callback) {\n checkFn(opts.callback, \"callback\");\n }\n this.noIterator = typeof opts.callback === \"function\";\n if (opts.ingestionFilterFn) {\n checkFn(opts.ingestionFilterFn, \"ingestionFilterFn\");\n this.ingestionFilterFn = opts.ingestionFilterFn;\n }\n if (opts.protocolFilterFn) {\n checkFn(opts.protocolFilterFn, \"protocolFilterFn\");\n this.protocolFilterFn = opts.protocolFilterFn;\n }\n if (opts.dispatchedFn) {\n checkFn(opts.dispatchedFn, \"dispatchedFn\");\n this.dispatchedFn = opts.dispatchedFn;\n }\n if (opts.cleanupFn) {\n checkFn(opts.cleanupFn, \"cleanupFn\");\n }\n let callback = (err, msg)=>{\n this.callback(err, msg);\n };\n if (opts.callback) {\n const uh = opts.callback;\n callback = (err, msg)=>{\n const [jer, tm] = this.adapter(err, msg);\n if (jer) {\n uh(jer, null);\n return;\n }\n const { ingest } = this.ingestionFilterFn ? this.ingestionFilterFn(tm, this) : {\n ingest: true\n };\n if (ingest) {\n const ok = this.protocolFilterFn ? this.protocolFilterFn(tm) : true;\n if (ok) {\n uh(jer, tm);\n if (this.dispatchedFn && tm) {\n this.dispatchedFn(tm);\n }\n }\n }\n };\n }\n const { max, queue, timeout } = opts;\n const sopts = {\n queue,\n timeout,\n callback\n };\n if (max && max > 0) {\n sopts.max = max;\n }\n this.sub = nc.subscribe(subject, sopts);\n if (opts.cleanupFn) {\n this.sub.cleanupFn = opts.cleanupFn;\n }\n if (!this.noIterator) {\n this.iterClosed.then(()=>{\n this.unsubscribe();\n });\n }\n this.subIterDone = deferred();\n Promise.all([\n this.sub.closed,\n this.iterClosed\n ]).then(()=>{\n this.subIterDone.resolve();\n }).catch(()=>{\n this.subIterDone.resolve();\n });\n (async (s)=>{\n await s.closed;\n this.stop();\n })(this.sub).then().catch();\n }\n unsubscribe(max) {\n this.sub.unsubscribe(max);\n }\n drain() {\n return this.sub.drain();\n }\n isDraining() {\n return this.sub.isDraining();\n }\n isClosed() {\n return this.sub.isClosed();\n }\n callback(e, msg) {\n this.sub.cancelTimeout();\n const [err, tm] = this.adapter(e, msg);\n if (err) {\n this.stop(err);\n }\n if (tm) {\n this.push(tm);\n }\n }\n getSubject() {\n return this.sub.getSubject();\n }\n getReceived() {\n return this.sub.getReceived();\n }\n getProcessed() {\n return this.sub.getProcessed();\n }\n getPending() {\n return this.sub.getPending();\n }\n getID() {\n return this.sub.getID();\n }\n getMax() {\n return this.sub.getMax();\n }\n get closed() {\n return this.sub.closed;\n }\n}\nlet transportConfig;\nfunction setTransportFactory(config) {\n transportConfig = config;\n}\nfunction defaultPort() {\n return transportConfig !== undefined && transportConfig.defaultPort !== undefined ? transportConfig.defaultPort : 4222;\n}\nfunction getUrlParseFn() {\n return transportConfig !== undefined && transportConfig.urlParseFn ? transportConfig.urlParseFn : undefined;\n}\nfunction newTransport() {\n if (!transportConfig || typeof transportConfig.factory !== \"function\") {\n throw new Error(\"transport fn is not set\");\n }\n return transportConfig.factory();\n}\nfunction getResolveFn() {\n return transportConfig !== undefined && transportConfig.dnsResolveFn ? transportConfig.dnsResolveFn : undefined;\n}\nconst CR_LF = \"\\r\\n\";\nCR_LF.length;\nconst CRLF = DataBuffer.fromAscii(CR_LF);\nconst CR = new Uint8Array(CRLF)[0];\nconst LF = new Uint8Array(CRLF)[1];\nfunction protoLen(ba) {\n for(let i = 0; i < ba.length; i++){\n const n = i + 1;\n if (ba.byteLength > n && ba[i] === CR && ba[n] === LF) {\n return n + 1;\n }\n }\n return 0;\n}\nfunction extractProtocolMessage(a) {\n const len = protoLen(a);\n if (len > 0) {\n const ba = new Uint8Array(a);\n const out = ba.slice(0, len);\n return TD.decode(out);\n }\n return \"\";\n}\nconst IPv4LEN = 4;\nconst ASCII0 = 48;\nconst ASCIIA = 65;\nconst ASCIIa = 97;\nfunction ipV4(a, b, c, d) {\n const ip = new Uint8Array(16);\n const prefix = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0xff,\n 0xff\n ];\n prefix.forEach((v, idx)=>{\n ip[idx] = v;\n });\n ip[12] = a;\n ip[13] = b;\n ip[14] = c;\n ip[15] = d;\n return ip;\n}\nfunction isIP(h) {\n return parseIP(h) !== undefined;\n}\nfunction parseIP(h) {\n for(let i = 0; i < h.length; i++){\n switch(h[i]){\n case \".\":\n return parseIPv4(h);\n case \":\":\n return parseIPv6(h);\n }\n }\n return;\n}\nfunction parseIPv4(s) {\n const ip = new Uint8Array(4);\n for(let i = 0; i < 4; i++){\n if (s.length === 0) {\n return undefined;\n }\n if (i > 0) {\n if (s[0] !== \".\") {\n return undefined;\n }\n s = s.substring(1);\n }\n const { n, c, ok } = dtoi(s);\n if (!ok || n > 0xFF) {\n return undefined;\n }\n s = s.substring(c);\n ip[i] = n;\n }\n return ipV4(ip[0], ip[1], ip[2], ip[3]);\n}\nfunction parseIPv6(s) {\n const ip = new Uint8Array(16);\n let ellipsis = -1;\n if (s.length >= 2 && s[0] === \":\" && s[1] === \":\") {\n ellipsis = 0;\n s = s.substring(2);\n if (s.length === 0) {\n return ip;\n }\n }\n let i = 0;\n while(i < 16){\n const { n, c, ok } = xtoi(s);\n if (!ok || n > 0xFFFF) {\n return undefined;\n }\n if (c < s.length && s[c] === \".\") {\n if (ellipsis < 0 && i != 16 - 4) {\n return undefined;\n }\n if (i + 4 > 16) {\n return undefined;\n }\n const ip4 = parseIPv4(s);\n if (ip4 === undefined) {\n return undefined;\n }\n ip[i] = ip4[12];\n ip[i + 1] = ip4[13];\n ip[i + 2] = ip4[14];\n ip[i + 3] = ip4[15];\n s = \"\";\n i += IPv4LEN;\n break;\n }\n ip[i] = n >> 8;\n ip[i + 1] = n;\n i += 2;\n s = s.substring(c);\n if (s.length === 0) {\n break;\n }\n if (s[0] !== \":\" || s.length == 1) {\n return undefined;\n }\n s = s.substring(1);\n if (s[0] === \":\") {\n if (ellipsis >= 0) {\n return undefined;\n }\n ellipsis = i;\n s = s.substring(1);\n if (s.length === 0) {\n break;\n }\n }\n }\n if (s.length !== 0) {\n return undefined;\n }\n if (i < 16) {\n if (ellipsis < 0) {\n return undefined;\n }\n const n = 16 - i;\n for(let j = i - 1; j >= ellipsis; j--){\n ip[j + n] = ip[j];\n }\n for(let j = ellipsis + n - 1; j >= ellipsis; j--){\n ip[j] = 0;\n }\n } else if (ellipsis >= 0) {\n return undefined;\n }\n return ip;\n}\nfunction dtoi(s) {\n let i = 0;\n let n = 0;\n for(i = 0; i < s.length && 48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57; i++){\n n = n * 10 + (s.charCodeAt(i) - ASCII0);\n if (n >= 0xFFFFFF) {\n return {\n n: 0xFFFFFF,\n c: i,\n ok: false\n };\n }\n }\n if (i === 0) {\n return {\n n: 0,\n c: 0,\n ok: false\n };\n }\n return {\n n: n,\n c: i,\n ok: true\n };\n}\nfunction xtoi(s) {\n let n = 0;\n let i = 0;\n for(i = 0; i < s.length; i++){\n if (48 <= s.charCodeAt(i) && s.charCodeAt(i) <= 57) {\n n *= 16;\n n += s.charCodeAt(i) - ASCII0;\n } else if (97 <= s.charCodeAt(i) && s.charCodeAt(i) <= 102) {\n n *= 16;\n n += s.charCodeAt(i) - ASCIIa + 10;\n } else if (65 <= s.charCodeAt(i) && s.charCodeAt(i) <= 70) {\n n *= 16;\n n += s.charCodeAt(i) - ASCIIA + 10;\n } else {\n break;\n }\n if (n >= 0xFFFFFF) {\n return {\n n: 0,\n c: i,\n ok: false\n };\n }\n }\n if (i === 0) {\n return {\n n: 0,\n c: i,\n ok: false\n };\n }\n return {\n n: n,\n c: i,\n ok: true\n };\n}\nfunction isIPV4OrHostname(hp) {\n if (hp.indexOf(\".\") !== -1) {\n return true;\n }\n if (hp.indexOf(\"[\") !== -1 || hp.indexOf(\"::\") !== -1) {\n return false;\n }\n if (hp.split(\":\").length <= 2) {\n return true;\n }\n return false;\n}\nfunction isIPV6(hp) {\n return !isIPV4OrHostname(hp);\n}\nfunction filterIpv6MappedToIpv4(hp) {\n const prefix = \"::FFFF:\";\n const idx = hp.toUpperCase().indexOf(prefix);\n if (idx !== -1 && hp.indexOf(\".\") !== -1) {\n let ip = hp.substring(idx + prefix.length);\n ip = ip.replace(\"[\", \"\");\n return ip.replace(\"]\", \"\");\n }\n return hp;\n}\nfunction hostPort(u) {\n u = u.trim();\n if (u.match(/^(.*:\\/\\/)(.*)/m)) {\n u = u.replace(/^(.*:\\/\\/)(.*)/gm, \"$2\");\n }\n u = filterIpv6MappedToIpv4(u);\n if (isIPV6(u) && u.indexOf(\"[\") === -1) {\n u = `[${u}]`;\n }\n const op = isIPV6(u) ? u.match(/(]:)(\\d+)/) : u.match(/(:)(\\d+)/);\n const port = op && op.length === 3 && op[1] && op[2] ? parseInt(op[2]) : 4222;\n const protocol = port === 80 ? \"https\" : \"http\";\n const url = new URL(`${protocol}://${u}`);\n url.port = `${port}`;\n let hostname = url.hostname;\n if (hostname.charAt(0) === \"[\") {\n hostname = hostname.substring(1, hostname.length - 1);\n }\n const listen = url.host;\n return {\n listen,\n hostname,\n port\n };\n}\nclass ServerImpl {\n src;\n listen;\n hostname;\n port;\n didConnect;\n reconnects;\n lastConnect;\n gossiped;\n tlsName;\n resolves;\n constructor(u, gossiped = false){\n this.src = u;\n this.tlsName = \"\";\n const v = hostPort(u);\n this.listen = v.listen;\n this.hostname = v.hostname;\n this.port = v.port;\n this.didConnect = false;\n this.reconnects = 0;\n this.lastConnect = 0;\n this.gossiped = gossiped;\n }\n toString() {\n return this.listen;\n }\n async resolve(opts) {\n if (!opts.fn) {\n return [\n this\n ];\n }\n const buf = [];\n if (isIP(this.hostname)) {\n return [\n this\n ];\n } else {\n const ips = await opts.fn(this.hostname);\n if (opts.debug) {\n console.log(`resolve ${this.hostname} = ${ips.join(\",\")}`);\n }\n for (const ip of ips){\n const proto = this.port === 80 ? \"https\" : \"http\";\n const url = new URL(`${proto}://${isIPV6(ip) ? \"[\" + ip + \"]\" : ip}`);\n url.port = `${this.port}`;\n const ss = new ServerImpl(url.host, false);\n ss.tlsName = this.hostname;\n buf.push(ss);\n }\n }\n if (opts.randomize) {\n shuffle(buf);\n }\n this.resolves = buf;\n return buf;\n }\n}\nclass Servers {\n firstSelect;\n servers;\n currentServer;\n tlsName;\n randomize;\n constructor(listens = [], opts = {}){\n this.firstSelect = true;\n this.servers = [];\n this.tlsName = \"\";\n this.randomize = opts.randomize || false;\n const urlParseFn = getUrlParseFn();\n if (listens) {\n listens.forEach((hp)=>{\n hp = urlParseFn ? urlParseFn(hp) : hp;\n this.servers.push(new ServerImpl(hp));\n });\n if (this.randomize) {\n this.servers = shuffle(this.servers);\n }\n }\n if (this.servers.length === 0) {\n this.addServer(`${DEFAULT_HOST}:${defaultPort()}`, false);\n }\n this.currentServer = this.servers[0];\n }\n clear() {\n this.servers.length = 0;\n }\n updateTLSName() {\n const cs = this.getCurrentServer();\n if (!isIP(cs.hostname)) {\n this.tlsName = cs.hostname;\n this.servers.forEach((s)=>{\n if (s.gossiped) {\n s.tlsName = this.tlsName;\n }\n });\n }\n }\n getCurrentServer() {\n return this.currentServer;\n }\n addServer(u, implicit = false) {\n const urlParseFn = getUrlParseFn();\n u = urlParseFn ? urlParseFn(u) : u;\n const s = new ServerImpl(u, implicit);\n if (isIP(s.hostname)) {\n s.tlsName = this.tlsName;\n }\n this.servers.push(s);\n }\n selectServer() {\n if (this.firstSelect) {\n this.firstSelect = false;\n return this.currentServer;\n }\n const t = this.servers.shift();\n if (t) {\n this.servers.push(t);\n this.currentServer = t;\n }\n return t;\n }\n removeCurrentServer() {\n this.removeServer(this.currentServer);\n }\n removeServer(server) {\n if (server) {\n const index = this.servers.indexOf(server);\n this.servers.splice(index, 1);\n }\n }\n length() {\n return this.servers.length;\n }\n next() {\n return this.servers.length ? this.servers[0] : undefined;\n }\n getServers() {\n return this.servers;\n }\n update(info, encrypted) {\n const added = [];\n let deleted = [];\n const urlParseFn = getUrlParseFn();\n const discovered = new Map();\n if (info.connect_urls && info.connect_urls.length > 0) {\n info.connect_urls.forEach((hp)=>{\n hp = urlParseFn ? urlParseFn(hp, encrypted) : hp;\n const s = new ServerImpl(hp, true);\n discovered.set(hp, s);\n });\n }\n const toDelete = [];\n this.servers.forEach((s, index)=>{\n const u = s.listen;\n if (s.gossiped && this.currentServer.listen !== u && discovered.get(u) === undefined) {\n toDelete.push(index);\n }\n discovered.delete(u);\n });\n toDelete.reverse();\n toDelete.forEach((index)=>{\n const removed = this.servers.splice(index, 1);\n deleted = deleted.concat(removed[0].listen);\n });\n discovered.forEach((v, k)=>{\n this.servers.push(v);\n added.push(k);\n });\n return {\n added,\n deleted\n };\n }\n}\nclass MuxSubscription {\n baseInbox;\n reqs;\n constructor(){\n this.reqs = new Map();\n }\n size() {\n return this.reqs.size;\n }\n init(prefix) {\n this.baseInbox = `${createInbox(prefix)}.`;\n return this.baseInbox;\n }\n add(r) {\n if (!isNaN(r.received)) {\n r.received = 0;\n }\n this.reqs.set(r.token, r);\n }\n get(token) {\n return this.reqs.get(token);\n }\n cancel(r) {\n this.reqs.delete(r.token);\n }\n getToken(m) {\n const s = m.subject || \"\";\n if (s.indexOf(this.baseInbox) === 0) {\n return s.substring(this.baseInbox.length);\n }\n return null;\n }\n all() {\n return Array.from(this.reqs.values());\n }\n handleError(isMuxPermissionError, err) {\n if (err && err.permissionContext) {\n if (isMuxPermissionError) {\n this.all().forEach((r)=>{\n r.resolver(err, {});\n });\n return true;\n }\n const ctx = err.permissionContext;\n if (ctx.operation === \"publish\") {\n const req = this.all().find((s)=>{\n return s.requestSubject === ctx.subject;\n });\n if (req) {\n req.resolver(err, {});\n return true;\n }\n }\n }\n return false;\n }\n dispatcher() {\n return (err, m)=>{\n const token = this.getToken(m);\n if (token) {\n const r = this.get(token);\n if (r) {\n if (err === null && m.headers) {\n err = isRequestError(m);\n }\n r.resolver(err, m);\n }\n }\n };\n }\n close() {\n const err = NatsError.errorForCode(ErrorCode.Timeout);\n this.reqs.forEach((req)=>{\n req.resolver(err, {});\n });\n }\n}\nclass Heartbeat {\n ph;\n interval;\n maxOut;\n timer;\n pendings;\n constructor(ph, interval, maxOut){\n this.ph = ph;\n this.interval = interval;\n this.maxOut = maxOut;\n this.pendings = [];\n }\n start() {\n this.cancel();\n this._schedule();\n }\n cancel(stale) {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = undefined;\n }\n this._reset();\n if (stale) {\n this.ph.disconnect();\n }\n }\n _schedule() {\n this.timer = setTimeout(()=>{\n this.ph.dispatchStatus({\n type: DebugEvents.PingTimer,\n data: `${this.pendings.length + 1}`\n });\n if (this.pendings.length === this.maxOut) {\n this.cancel(true);\n return;\n }\n const ping = deferred();\n this.ph.flush(ping).then(()=>{\n this._reset();\n }).catch(()=>{\n this.cancel();\n });\n this.pendings.push(ping);\n this._schedule();\n }, this.interval);\n }\n _reset() {\n this.pendings = this.pendings.filter((p)=>{\n const d = p;\n d.resolve();\n return false;\n });\n }\n}\nclass AssertionError extends Error {\n constructor(msg){\n super(msg);\n this.name = \"AssertionError\";\n }\n}\nfunction assert(cond, msg = \"Assertion failed.\") {\n if (!cond) {\n throw new AssertionError(msg);\n }\n}\nconst MIN_READ = 32 * 1024;\nconst MAX_SIZE = 2 ** 32 - 2;\nfunction copy(src, dst, off = 0) {\n const r = dst.byteLength - off;\n if (src.byteLength > r) {\n src = src.subarray(0, r);\n }\n dst.set(src, off);\n return src.byteLength;\n}\nclass DenoBuffer {\n _buf;\n _off;\n constructor(ab){\n this._off = 0;\n if (ab == null) {\n this._buf = new Uint8Array(0);\n return;\n }\n this._buf = new Uint8Array(ab);\n }\n bytes(options = {\n copy: true\n }) {\n if (options.copy === false) return this._buf.subarray(this._off);\n return this._buf.slice(this._off);\n }\n empty() {\n return this._buf.byteLength <= this._off;\n }\n get length() {\n return this._buf.byteLength - this._off;\n }\n get capacity() {\n return this._buf.buffer.byteLength;\n }\n truncate(n) {\n if (n === 0) {\n this.reset();\n return;\n }\n if (n < 0 || n > this.length) {\n throw Error(\"bytes.Buffer: truncation out of range\");\n }\n this._reslice(this._off + n);\n }\n reset() {\n this._reslice(0);\n this._off = 0;\n }\n _tryGrowByReslice(n) {\n const l = this._buf.byteLength;\n if (n <= this.capacity - l) {\n this._reslice(l + n);\n return l;\n }\n return -1;\n }\n _reslice(len) {\n assert(len <= this._buf.buffer.byteLength);\n this._buf = new Uint8Array(this._buf.buffer, 0, len);\n }\n readByte() {\n const a = new Uint8Array(1);\n if (this.read(a)) {\n return a[0];\n }\n return null;\n }\n read(p) {\n if (this.empty()) {\n this.reset();\n if (p.byteLength === 0) {\n return 0;\n }\n return null;\n }\n const nread = copy(this._buf.subarray(this._off), p);\n this._off += nread;\n return nread;\n }\n writeByte(n) {\n return this.write(Uint8Array.of(n));\n }\n writeString(s) {\n return this.write(TE.encode(s));\n }\n write(p) {\n const m = this._grow(p.byteLength);\n return copy(p, this._buf, m);\n }\n _grow(n) {\n const m = this.length;\n if (m === 0 && this._off !== 0) {\n this.reset();\n }\n const i = this._tryGrowByReslice(n);\n if (i >= 0) {\n return i;\n }\n const c = this.capacity;\n if (n <= Math.floor(c / 2) - m) {\n copy(this._buf.subarray(this._off), this._buf);\n } else if (c + n > MAX_SIZE) {\n throw new Error(\"The buffer cannot be grown beyond the maximum size.\");\n } else {\n const buf = new Uint8Array(Math.min(2 * c + n, MAX_SIZE));\n copy(this._buf.subarray(this._off), buf);\n this._buf = buf;\n }\n this._off = 0;\n this._reslice(Math.min(m + n, MAX_SIZE));\n return m;\n }\n grow(n) {\n if (n < 0) {\n throw Error(\"Buffer._grow: negative count\");\n }\n const m = this._grow(n);\n this._reslice(m);\n }\n readFrom(r) {\n let n = 0;\n const tmp = new Uint8Array(MIN_READ);\n while(true){\n const shouldGrow = this.capacity - this.length < MIN_READ;\n const buf = shouldGrow ? tmp : new Uint8Array(this._buf.buffer, this.length);\n const nread = r.read(buf);\n if (nread === null) {\n return n;\n }\n if (shouldGrow) this.write(buf.subarray(0, nread));\n else this._reslice(this.length + nread);\n n += nread;\n }\n }\n}\nvar Kind;\n(function(Kind) {\n Kind[Kind[\"OK\"] = 0] = \"OK\";\n Kind[Kind[\"ERR\"] = 1] = \"ERR\";\n Kind[Kind[\"MSG\"] = 2] = \"MSG\";\n Kind[Kind[\"INFO\"] = 3] = \"INFO\";\n Kind[Kind[\"PING\"] = 4] = \"PING\";\n Kind[Kind[\"PONG\"] = 5] = \"PONG\";\n})(Kind || (Kind = {}));\nfunction newMsgArg() {\n const ma = {};\n ma.sid = -1;\n ma.hdr = -1;\n ma.size = -1;\n return ma;\n}\nconst ASCII_0 = 48;\nclass Parser {\n dispatcher;\n state;\n as;\n drop;\n hdr;\n ma;\n argBuf;\n msgBuf;\n constructor(dispatcher){\n this.dispatcher = dispatcher;\n this.state = State.OP_START;\n this.as = 0;\n this.drop = 0;\n this.hdr = 0;\n }\n parse(buf) {\n let i;\n for(i = 0; i < buf.length; i++){\n const b = buf[i];\n switch(this.state){\n case State.OP_START:\n switch(b){\n case cc.M:\n case cc.m:\n this.state = State.OP_M;\n this.hdr = -1;\n this.ma = newMsgArg();\n break;\n case cc.H:\n case cc.h:\n this.state = State.OP_H;\n this.hdr = 0;\n this.ma = newMsgArg();\n break;\n case cc.P:\n case cc.p:\n this.state = State.OP_P;\n break;\n case cc.PLUS:\n this.state = State.OP_PLUS;\n break;\n case cc.MINUS:\n this.state = State.OP_MINUS;\n break;\n case cc.I:\n case cc.i:\n this.state = State.OP_I;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_H:\n switch(b){\n case cc.M:\n case cc.m:\n this.state = State.OP_M;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_M:\n switch(b){\n case cc.S:\n case cc.s:\n this.state = State.OP_MS;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MS:\n switch(b){\n case cc.G:\n case cc.g:\n this.state = State.OP_MSG;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MSG:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n this.state = State.OP_MSG_SPC;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MSG_SPC:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n continue;\n default:\n this.state = State.MSG_ARG;\n this.as = i;\n }\n break;\n case State.MSG_ARG:\n switch(b){\n case cc.CR:\n this.drop = 1;\n break;\n case cc.NL:\n {\n const arg = this.argBuf ? this.argBuf.bytes() : buf.subarray(this.as, i - this.drop);\n this.processMsgArgs(arg);\n this.drop = 0;\n this.as = i + 1;\n this.state = State.MSG_PAYLOAD;\n i = this.as + this.ma.size - 1;\n break;\n }\n default:\n if (this.argBuf) {\n this.argBuf.writeByte(b);\n }\n }\n break;\n case State.MSG_PAYLOAD:\n if (this.msgBuf) {\n if (this.msgBuf.length >= this.ma.size) {\n const data = this.msgBuf.bytes({\n copy: false\n });\n this.dispatcher.push({\n kind: Kind.MSG,\n msg: this.ma,\n data: data\n });\n this.argBuf = undefined;\n this.msgBuf = undefined;\n this.state = State.MSG_END;\n } else {\n let toCopy = this.ma.size - this.msgBuf.length;\n const avail = buf.length - i;\n if (avail < toCopy) {\n toCopy = avail;\n }\n if (toCopy > 0) {\n this.msgBuf.write(buf.subarray(i, i + toCopy));\n i = i + toCopy - 1;\n } else {\n this.msgBuf.writeByte(b);\n }\n }\n } else if (i - this.as >= this.ma.size) {\n this.dispatcher.push({\n kind: Kind.MSG,\n msg: this.ma,\n data: buf.subarray(this.as, i)\n });\n this.argBuf = undefined;\n this.msgBuf = undefined;\n this.state = State.MSG_END;\n }\n break;\n case State.MSG_END:\n switch(b){\n case cc.NL:\n this.drop = 0;\n this.as = i + 1;\n this.state = State.OP_START;\n break;\n default:\n continue;\n }\n break;\n case State.OP_PLUS:\n switch(b){\n case cc.O:\n case cc.o:\n this.state = State.OP_PLUS_O;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PLUS_O:\n switch(b){\n case cc.K:\n case cc.k:\n this.state = State.OP_PLUS_OK;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PLUS_OK:\n switch(b){\n case cc.NL:\n this.dispatcher.push({\n kind: Kind.OK\n });\n this.drop = 0;\n this.state = State.OP_START;\n break;\n }\n break;\n case State.OP_MINUS:\n switch(b){\n case cc.E:\n case cc.e:\n this.state = State.OP_MINUS_E;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MINUS_E:\n switch(b){\n case cc.R:\n case cc.r:\n this.state = State.OP_MINUS_ER;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MINUS_ER:\n switch(b){\n case cc.R:\n case cc.r:\n this.state = State.OP_MINUS_ERR;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MINUS_ERR:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n this.state = State.OP_MINUS_ERR_SPC;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_MINUS_ERR_SPC:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n continue;\n default:\n this.state = State.MINUS_ERR_ARG;\n this.as = i;\n }\n break;\n case State.MINUS_ERR_ARG:\n switch(b){\n case cc.CR:\n this.drop = 1;\n break;\n case cc.NL:\n {\n let arg;\n if (this.argBuf) {\n arg = this.argBuf.bytes();\n this.argBuf = undefined;\n } else {\n arg = buf.subarray(this.as, i - this.drop);\n }\n this.dispatcher.push({\n kind: Kind.ERR,\n data: arg\n });\n this.drop = 0;\n this.as = i + 1;\n this.state = State.OP_START;\n break;\n }\n default:\n if (this.argBuf) {\n this.argBuf.write(Uint8Array.of(b));\n }\n }\n break;\n case State.OP_P:\n switch(b){\n case cc.I:\n case cc.i:\n this.state = State.OP_PI;\n break;\n case cc.O:\n case cc.o:\n this.state = State.OP_PO;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PO:\n switch(b){\n case cc.N:\n case cc.n:\n this.state = State.OP_PON;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PON:\n switch(b){\n case cc.G:\n case cc.g:\n this.state = State.OP_PONG;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PONG:\n switch(b){\n case cc.NL:\n this.dispatcher.push({\n kind: Kind.PONG\n });\n this.drop = 0;\n this.state = State.OP_START;\n break;\n }\n break;\n case State.OP_PI:\n switch(b){\n case cc.N:\n case cc.n:\n this.state = State.OP_PIN;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PIN:\n switch(b){\n case cc.G:\n case cc.g:\n this.state = State.OP_PING;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_PING:\n switch(b){\n case cc.NL:\n this.dispatcher.push({\n kind: Kind.PING\n });\n this.drop = 0;\n this.state = State.OP_START;\n break;\n }\n break;\n case State.OP_I:\n switch(b){\n case cc.N:\n case cc.n:\n this.state = State.OP_IN;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_IN:\n switch(b){\n case cc.F:\n case cc.f:\n this.state = State.OP_INF;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_INF:\n switch(b){\n case cc.O:\n case cc.o:\n this.state = State.OP_INFO;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_INFO:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n this.state = State.OP_INFO_SPC;\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n break;\n case State.OP_INFO_SPC:\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n continue;\n default:\n this.state = State.INFO_ARG;\n this.as = i;\n }\n break;\n case State.INFO_ARG:\n switch(b){\n case cc.CR:\n this.drop = 1;\n break;\n case cc.NL:\n {\n let arg;\n if (this.argBuf) {\n arg = this.argBuf.bytes();\n this.argBuf = undefined;\n } else {\n arg = buf.subarray(this.as, i - this.drop);\n }\n this.dispatcher.push({\n kind: Kind.INFO,\n data: arg\n });\n this.drop = 0;\n this.as = i + 1;\n this.state = State.OP_START;\n break;\n }\n default:\n if (this.argBuf) {\n this.argBuf.writeByte(b);\n }\n }\n break;\n default:\n throw this.fail(buf.subarray(i));\n }\n }\n if ((this.state === State.MSG_ARG || this.state === State.MINUS_ERR_ARG || this.state === State.INFO_ARG) && !this.argBuf) {\n this.argBuf = new DenoBuffer(buf.subarray(this.as, i - this.drop));\n }\n if (this.state === State.MSG_PAYLOAD && !this.msgBuf) {\n if (!this.argBuf) {\n this.cloneMsgArg();\n }\n this.msgBuf = new DenoBuffer(buf.subarray(this.as));\n }\n }\n cloneMsgArg() {\n const s = this.ma.subject.length;\n const r = this.ma.reply ? this.ma.reply.length : 0;\n const buf = new Uint8Array(s + r);\n buf.set(this.ma.subject);\n if (this.ma.reply) {\n buf.set(this.ma.reply, s);\n }\n this.argBuf = new DenoBuffer(buf);\n this.ma.subject = buf.subarray(0, s);\n if (this.ma.reply) {\n this.ma.reply = buf.subarray(s);\n }\n }\n processMsgArgs(arg) {\n if (this.hdr >= 0) {\n return this.processHeaderMsgArgs(arg);\n }\n const args = [];\n let start = -1;\n for(let i = 0; i < arg.length; i++){\n const b = arg[i];\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n case cc.CR:\n case cc.NL:\n if (start >= 0) {\n args.push(arg.subarray(start, i));\n start = -1;\n }\n break;\n default:\n if (start < 0) {\n start = i;\n }\n }\n }\n if (start >= 0) {\n args.push(arg.subarray(start));\n }\n switch(args.length){\n case 3:\n this.ma.subject = args[0];\n this.ma.sid = this.protoParseInt(args[1]);\n this.ma.reply = undefined;\n this.ma.size = this.protoParseInt(args[2]);\n break;\n case 4:\n this.ma.subject = args[0];\n this.ma.sid = this.protoParseInt(args[1]);\n this.ma.reply = args[2];\n this.ma.size = this.protoParseInt(args[3]);\n break;\n default:\n throw this.fail(arg, \"processMsgArgs Parse Error\");\n }\n if (this.ma.sid < 0) {\n throw this.fail(arg, \"processMsgArgs Bad or Missing Sid Error\");\n }\n if (this.ma.size < 0) {\n throw this.fail(arg, \"processMsgArgs Bad or Missing Size Error\");\n }\n }\n fail(data, label = \"\") {\n if (!label) {\n label = `parse error [${this.state}]`;\n } else {\n label = `${label} [${this.state}]`;\n }\n return new Error(`${label}: ${TD.decode(data)}`);\n }\n processHeaderMsgArgs(arg) {\n const args = [];\n let start = -1;\n for(let i = 0; i < arg.length; i++){\n const b = arg[i];\n switch(b){\n case cc.SPACE:\n case cc.TAB:\n case cc.CR:\n case cc.NL:\n if (start >= 0) {\n args.push(arg.subarray(start, i));\n start = -1;\n }\n break;\n default:\n if (start < 0) {\n start = i;\n }\n }\n }\n if (start >= 0) {\n args.push(arg.subarray(start));\n }\n switch(args.length){\n case 4:\n this.ma.subject = args[0];\n this.ma.sid = this.protoParseInt(args[1]);\n this.ma.reply = undefined;\n this.ma.hdr = this.protoParseInt(args[2]);\n this.ma.size = this.protoParseInt(args[3]);\n break;\n case 5:\n this.ma.subject = args[0];\n this.ma.sid = this.protoParseInt(args[1]);\n this.ma.reply = args[2];\n this.ma.hdr = this.protoParseInt(args[3]);\n this.ma.size = this.protoParseInt(args[4]);\n break;\n default:\n throw this.fail(arg, \"processHeaderMsgArgs Parse Error\");\n }\n if (this.ma.sid < 0) {\n throw this.fail(arg, \"processHeaderMsgArgs Bad or Missing Sid Error\");\n }\n if (this.ma.hdr < 0 || this.ma.hdr > this.ma.size) {\n throw this.fail(arg, \"processHeaderMsgArgs Bad or Missing Header Size Error\");\n }\n if (this.ma.size < 0) {\n throw this.fail(arg, \"processHeaderMsgArgs Bad or Missing Size Error\");\n }\n }\n protoParseInt(a) {\n if (a.length === 0) {\n return -1;\n }\n let n = 0;\n for(let i = 0; i < a.length; i++){\n if (a[i] < 48 || a[i] > 57) {\n return -1;\n }\n n = n * 10 + (a[i] - ASCII_0);\n }\n return n;\n }\n}\nvar State;\n(function(State) {\n State[State[\"OP_START\"] = 0] = \"OP_START\";\n State[State[\"OP_PLUS\"] = 1] = \"OP_PLUS\";\n State[State[\"OP_PLUS_O\"] = 2] = \"OP_PLUS_O\";\n State[State[\"OP_PLUS_OK\"] = 3] = \"OP_PLUS_OK\";\n State[State[\"OP_MINUS\"] = 4] = \"OP_MINUS\";\n State[State[\"OP_MINUS_E\"] = 5] = \"OP_MINUS_E\";\n State[State[\"OP_MINUS_ER\"] = 6] = \"OP_MINUS_ER\";\n State[State[\"OP_MINUS_ERR\"] = 7] = \"OP_MINUS_ERR\";\n State[State[\"OP_MINUS_ERR_SPC\"] = 8] = \"OP_MINUS_ERR_SPC\";\n State[State[\"MINUS_ERR_ARG\"] = 9] = \"MINUS_ERR_ARG\";\n State[State[\"OP_M\"] = 10] = \"OP_M\";\n State[State[\"OP_MS\"] = 11] = \"OP_MS\";\n State[State[\"OP_MSG\"] = 12] = \"OP_MSG\";\n State[State[\"OP_MSG_SPC\"] = 13] = \"OP_MSG_SPC\";\n State[State[\"MSG_ARG\"] = 14] = \"MSG_ARG\";\n State[State[\"MSG_PAYLOAD\"] = 15] = \"MSG_PAYLOAD\";\n State[State[\"MSG_END\"] = 16] = \"MSG_END\";\n State[State[\"OP_H\"] = 17] = \"OP_H\";\n State[State[\"OP_P\"] = 18] = \"OP_P\";\n State[State[\"OP_PI\"] = 19] = \"OP_PI\";\n State[State[\"OP_PIN\"] = 20] = \"OP_PIN\";\n State[State[\"OP_PING\"] = 21] = \"OP_PING\";\n State[State[\"OP_PO\"] = 22] = \"OP_PO\";\n State[State[\"OP_PON\"] = 23] = \"OP_PON\";\n State[State[\"OP_PONG\"] = 24] = \"OP_PONG\";\n State[State[\"OP_I\"] = 25] = \"OP_I\";\n State[State[\"OP_IN\"] = 26] = \"OP_IN\";\n State[State[\"OP_INF\"] = 27] = \"OP_INF\";\n State[State[\"OP_INFO\"] = 28] = \"OP_INFO\";\n State[State[\"OP_INFO_SPC\"] = 29] = \"OP_INFO_SPC\";\n State[State[\"INFO_ARG\"] = 30] = \"INFO_ARG\";\n})(State || (State = {}));\nvar cc;\n(function(cc) {\n cc[cc[\"CR\"] = \"\\r\".charCodeAt(0)] = \"CR\";\n cc[cc[\"E\"] = \"E\".charCodeAt(0)] = \"E\";\n cc[cc[\"e\"] = \"e\".charCodeAt(0)] = \"e\";\n cc[cc[\"F\"] = \"F\".charCodeAt(0)] = \"F\";\n cc[cc[\"f\"] = \"f\".charCodeAt(0)] = \"f\";\n cc[cc[\"G\"] = \"G\".charCodeAt(0)] = \"G\";\n cc[cc[\"g\"] = \"g\".charCodeAt(0)] = \"g\";\n cc[cc[\"H\"] = \"H\".charCodeAt(0)] = \"H\";\n cc[cc[\"h\"] = \"h\".charCodeAt(0)] = \"h\";\n cc[cc[\"I\"] = \"I\".charCodeAt(0)] = \"I\";\n cc[cc[\"i\"] = \"i\".charCodeAt(0)] = \"i\";\n cc[cc[\"K\"] = \"K\".charCodeAt(0)] = \"K\";\n cc[cc[\"k\"] = \"k\".charCodeAt(0)] = \"k\";\n cc[cc[\"M\"] = \"M\".charCodeAt(0)] = \"M\";\n cc[cc[\"m\"] = \"m\".charCodeAt(0)] = \"m\";\n cc[cc[\"MINUS\"] = \"-\".charCodeAt(0)] = \"MINUS\";\n cc[cc[\"N\"] = \"N\".charCodeAt(0)] = \"N\";\n cc[cc[\"n\"] = \"n\".charCodeAt(0)] = \"n\";\n cc[cc[\"NL\"] = \"\\n\".charCodeAt(0)] = \"NL\";\n cc[cc[\"O\"] = \"O\".charCodeAt(0)] = \"O\";\n cc[cc[\"o\"] = \"o\".charCodeAt(0)] = \"o\";\n cc[cc[\"P\"] = \"P\".charCodeAt(0)] = \"P\";\n cc[cc[\"p\"] = \"p\".charCodeAt(0)] = \"p\";\n cc[cc[\"PLUS\"] = \"+\".charCodeAt(0)] = \"PLUS\";\n cc[cc[\"R\"] = \"R\".charCodeAt(0)] = \"R\";\n cc[cc[\"r\"] = \"r\".charCodeAt(0)] = \"r\";\n cc[cc[\"S\"] = \"S\".charCodeAt(0)] = \"S\";\n cc[cc[\"s\"] = \"s\".charCodeAt(0)] = \"s\";\n cc[cc[\"SPACE\"] = \" \".charCodeAt(0)] = \"SPACE\";\n cc[cc[\"TAB\"] = \"\\t\".charCodeAt(0)] = \"TAB\";\n})(cc || (cc = {}));\n(function(nacl) {\n 'use strict';\n var u64 = function(h, l) {\n this.hi = h | 0 >>> 0;\n this.lo = l | 0 >>> 0;\n };\n var gf = function(init) {\n var i, r = new Float64Array(16);\n if (init) for(i = 0; i < init.length; i++)r[i] = init[i];\n return r;\n };\n var randombytes = function() {\n throw new Error('no PRNG');\n };\n var _0 = new Uint8Array(16);\n var _9 = new Uint8Array(32);\n _9[0] = 9;\n var gf0 = gf(), gf1 = gf([\n 1\n ]), _121665 = gf([\n 0xdb41,\n 1\n ]), D = gf([\n 0x78a3,\n 0x1359,\n 0x4dca,\n 0x75eb,\n 0xd8ab,\n 0x4141,\n 0x0a4d,\n 0x0070,\n 0xe898,\n 0x7779,\n 0x4079,\n 0x8cc7,\n 0xfe73,\n 0x2b6f,\n 0x6cee,\n 0x5203\n ]), D2 = gf([\n 0xf159,\n 0x26b2,\n 0x9b94,\n 0xebd6,\n 0xb156,\n 0x8283,\n 0x149a,\n 0x00e0,\n 0xd130,\n 0xeef3,\n 0x80f2,\n 0x198e,\n 0xfce7,\n 0x56df,\n 0xd9dc,\n 0x2406\n ]), X = gf([\n 0xd51a,\n 0x8f25,\n 0x2d60,\n 0xc956,\n 0xa7b2,\n 0x9525,\n 0xc760,\n 0x692c,\n 0xdc5c,\n 0xfdd6,\n 0xe231,\n 0xc0a4,\n 0x53fe,\n 0xcd6e,\n 0x36d3,\n 0x2169\n ]), Y = gf([\n 0x6658,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666,\n 0x6666\n ]), I = gf([\n 0xa0b0,\n 0x4a0e,\n 0x1b27,\n 0xc4ee,\n 0xe478,\n 0xad2f,\n 0x1806,\n 0x2f43,\n 0xd7a7,\n 0x3dfb,\n 0x0099,\n 0x2b4d,\n 0xdf0b,\n 0x4fc1,\n 0x2480,\n 0x2b83\n ]);\n function L32(x, c) {\n return x << c | x >>> 32 - c;\n }\n function ld32(x, i) {\n var u = x[i + 3] & 0xff;\n u = u << 8 | x[i + 2] & 0xff;\n u = u << 8 | x[i + 1] & 0xff;\n return u << 8 | x[i + 0] & 0xff;\n }\n function dl64(x, i) {\n var h = x[i] << 24 | x[i + 1] << 16 | x[i + 2] << 8 | x[i + 3];\n var l = x[i + 4] << 24 | x[i + 5] << 16 | x[i + 6] << 8 | x[i + 7];\n return new u64(h, l);\n }\n function st32(x, j, u) {\n var i;\n for(i = 0; i < 4; i++){\n x[j + i] = u & 255;\n u >>>= 8;\n }\n }\n function ts64(x, i, u) {\n x[i] = u.hi >> 24 & 0xff;\n x[i + 1] = u.hi >> 16 & 0xff;\n x[i + 2] = u.hi >> 8 & 0xff;\n x[i + 3] = u.hi & 0xff;\n x[i + 4] = u.lo >> 24 & 0xff;\n x[i + 5] = u.lo >> 16 & 0xff;\n x[i + 6] = u.lo >> 8 & 0xff;\n x[i + 7] = u.lo & 0xff;\n }\n function vn(x, xi, y, yi, n) {\n var i, d = 0;\n for(i = 0; i < n; i++)d |= x[xi + i] ^ y[yi + i];\n return (1 & d - 1 >>> 8) - 1;\n }\n function crypto_verify_16(x, xi, y, yi) {\n return vn(x, xi, y, yi, 16);\n }\n function crypto_verify_32(x, xi, y, yi) {\n return vn(x, xi, y, yi, 32);\n }\n function core(out, inp, k, c, h) {\n var w = new Uint32Array(16), x = new Uint32Array(16), y = new Uint32Array(16), t = new Uint32Array(4);\n var i, j, m;\n for(i = 0; i < 4; i++){\n x[5 * i] = ld32(c, 4 * i);\n x[1 + i] = ld32(k, 4 * i);\n x[6 + i] = ld32(inp, 4 * i);\n x[11 + i] = ld32(k, 16 + 4 * i);\n }\n for(i = 0; i < 16; i++)y[i] = x[i];\n for(i = 0; i < 20; i++){\n for(j = 0; j < 4; j++){\n for(m = 0; m < 4; m++)t[m] = x[(5 * j + 4 * m) % 16];\n t[1] ^= L32(t[0] + t[3] | 0, 7);\n t[2] ^= L32(t[1] + t[0] | 0, 9);\n t[3] ^= L32(t[2] + t[1] | 0, 13);\n t[0] ^= L32(t[3] + t[2] | 0, 18);\n for(m = 0; m < 4; m++)w[4 * j + (j + m) % 4] = t[m];\n }\n for(m = 0; m < 16; m++)x[m] = w[m];\n }\n if (h) {\n for(i = 0; i < 16; i++)x[i] = x[i] + y[i] | 0;\n for(i = 0; i < 4; i++){\n x[5 * i] = x[5 * i] - ld32(c, 4 * i) | 0;\n x[6 + i] = x[6 + i] - ld32(inp, 4 * i) | 0;\n }\n for(i = 0; i < 4; i++){\n st32(out, 4 * i, x[5 * i]);\n st32(out, 16 + 4 * i, x[6 + i]);\n }\n } else {\n for(i = 0; i < 16; i++)st32(out, 4 * i, x[i] + y[i] | 0);\n }\n }\n function crypto_core_salsa20(out, inp, k, c) {\n core(out, inp, k, c, false);\n return 0;\n }\n function crypto_core_hsalsa20(out, inp, k, c) {\n core(out, inp, k, c, true);\n return 0;\n }\n var sigma = new Uint8Array([\n 101,\n 120,\n 112,\n 97,\n 110,\n 100,\n 32,\n 51,\n 50,\n 45,\n 98,\n 121,\n 116,\n 101,\n 32,\n 107\n ]);\n function crypto_stream_salsa20_xor(c, cpos, m, mpos, b, n, k) {\n var z = new Uint8Array(16), x = new Uint8Array(64);\n var u, i;\n if (!b) return 0;\n for(i = 0; i < 16; i++)z[i] = 0;\n for(i = 0; i < 8; i++)z[i] = n[i];\n while(b >= 64){\n crypto_core_salsa20(x, z, k, sigma);\n for(i = 0; i < 64; i++)c[cpos + i] = (m ? m[mpos + i] : 0) ^ x[i];\n u = 1;\n for(i = 8; i < 16; i++){\n u = u + (z[i] & 0xff) | 0;\n z[i] = u & 0xff;\n u >>>= 8;\n }\n b -= 64;\n cpos += 64;\n if (m) mpos += 64;\n }\n if (b > 0) {\n crypto_core_salsa20(x, z, k, sigma);\n for(i = 0; i < b; i++)c[cpos + i] = (m ? m[mpos + i] : 0) ^ x[i];\n }\n return 0;\n }\n function crypto_stream_salsa20(c, cpos, d, n, k) {\n return crypto_stream_salsa20_xor(c, cpos, null, 0, d, n, k);\n }\n function crypto_stream(c, cpos, d, n, k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s, n, k, sigma);\n return crypto_stream_salsa20(c, cpos, d, n.subarray(16), s);\n }\n function crypto_stream_xor(c, cpos, m, mpos, d, n, k) {\n var s = new Uint8Array(32);\n crypto_core_hsalsa20(s, n, k, sigma);\n return crypto_stream_salsa20_xor(c, cpos, m, mpos, d, n.subarray(16), s);\n }\n function add1305(h, c) {\n var j, u = 0;\n for(j = 0; j < 17; j++){\n u = u + (h[j] + c[j] | 0) | 0;\n h[j] = u & 255;\n u >>>= 8;\n }\n }\n var minusp = new Uint32Array([\n 5,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 252\n ]);\n function crypto_onetimeauth(out, outpos, m, mpos, n, k) {\n var s, i, j, u;\n var x = new Uint32Array(17), r = new Uint32Array(17), h = new Uint32Array(17), c = new Uint32Array(17), g = new Uint32Array(17);\n for(j = 0; j < 17; j++)r[j] = h[j] = 0;\n for(j = 0; j < 16; j++)r[j] = k[j];\n r[3] &= 15;\n r[4] &= 252;\n r[7] &= 15;\n r[8] &= 252;\n r[11] &= 15;\n r[12] &= 252;\n r[15] &= 15;\n while(n > 0){\n for(j = 0; j < 17; j++)c[j] = 0;\n for(j = 0; j < 16 && j < n; ++j)c[j] = m[mpos + j];\n c[j] = 1;\n mpos += j;\n n -= j;\n add1305(h, c);\n for(i = 0; i < 17; i++){\n x[i] = 0;\n for(j = 0; j < 17; j++)x[i] = x[i] + h[j] * (j <= i ? r[i - j] : 320 * r[i + 17 - j] | 0) | 0 | 0;\n }\n for(i = 0; i < 17; i++)h[i] = x[i];\n u = 0;\n for(j = 0; j < 16; j++){\n u = u + h[j] | 0;\n h[j] = u & 255;\n u >>>= 8;\n }\n u = u + h[16] | 0;\n h[16] = u & 3;\n u = 5 * (u >>> 2) | 0;\n for(j = 0; j < 16; j++){\n u = u + h[j] | 0;\n h[j] = u & 255;\n u >>>= 8;\n }\n u = u + h[16] | 0;\n h[16] = u;\n }\n for(j = 0; j < 17; j++)g[j] = h[j];\n add1305(h, minusp);\n s = -(h[16] >>> 7) | 0;\n for(j = 0; j < 17; j++)h[j] ^= s & (g[j] ^ h[j]);\n for(j = 0; j < 16; j++)c[j] = k[j + 16];\n c[16] = 0;\n add1305(h, c);\n for(j = 0; j < 16; j++)out[outpos + j] = h[j];\n return 0;\n }\n function crypto_onetimeauth_verify(h, hpos, m, mpos, n, k) {\n var x = new Uint8Array(16);\n crypto_onetimeauth(x, 0, m, mpos, n, k);\n return crypto_verify_16(h, hpos, x, 0);\n }\n function crypto_secretbox(c, m, d, n, k) {\n var i;\n if (d < 32) return -1;\n crypto_stream_xor(c, 0, m, 0, d, n, k);\n crypto_onetimeauth(c, 16, c, 32, d - 32, c);\n for(i = 0; i < 16; i++)c[i] = 0;\n return 0;\n }\n function crypto_secretbox_open(m, c, d, n, k) {\n var i;\n var x = new Uint8Array(32);\n if (d < 32) return -1;\n crypto_stream(x, 0, 32, n, k);\n if (crypto_onetimeauth_verify(c, 16, c, 32, d - 32, x) !== 0) return -1;\n crypto_stream_xor(m, 0, c, 0, d, n, k);\n for(i = 0; i < 32; i++)m[i] = 0;\n return 0;\n }\n function set25519(r, a) {\n var i;\n for(i = 0; i < 16; i++)r[i] = a[i] | 0;\n }\n function car25519(o) {\n var c;\n var i;\n for(i = 0; i < 16; i++){\n o[i] += 65536;\n c = Math.floor(o[i] / 65536);\n o[(i + 1) * (i < 15 ? 1 : 0)] += c - 1 + 37 * (c - 1) * (i === 15 ? 1 : 0);\n o[i] -= c * 65536;\n }\n }\n function sel25519(p, q, b) {\n var t, c = ~(b - 1);\n for(var i = 0; i < 16; i++){\n t = c & (p[i] ^ q[i]);\n p[i] ^= t;\n q[i] ^= t;\n }\n }\n function pack25519(o, n) {\n var i, j, b;\n var m = gf(), t = gf();\n for(i = 0; i < 16; i++)t[i] = n[i];\n car25519(t);\n car25519(t);\n car25519(t);\n for(j = 0; j < 2; j++){\n m[0] = t[0] - 0xffed;\n for(i = 1; i < 15; i++){\n m[i] = t[i] - 0xffff - (m[i - 1] >> 16 & 1);\n m[i - 1] &= 0xffff;\n }\n m[15] = t[15] - 0x7fff - (m[14] >> 16 & 1);\n b = m[15] >> 16 & 1;\n m[14] &= 0xffff;\n sel25519(t, m, 1 - b);\n }\n for(i = 0; i < 16; i++){\n o[2 * i] = t[i] & 0xff;\n o[2 * i + 1] = t[i] >> 8;\n }\n }\n function neq25519(a, b) {\n var c = new Uint8Array(32), d = new Uint8Array(32);\n pack25519(c, a);\n pack25519(d, b);\n return crypto_verify_32(c, 0, d, 0);\n }\n function par25519(a) {\n var d = new Uint8Array(32);\n pack25519(d, a);\n return d[0] & 1;\n }\n function unpack25519(o, n) {\n var i;\n for(i = 0; i < 16; i++)o[i] = n[2 * i] + (n[2 * i + 1] << 8);\n o[15] &= 0x7fff;\n }\n function A(o, a, b) {\n var i;\n for(i = 0; i < 16; i++)o[i] = a[i] + b[i] | 0;\n }\n function Z(o, a, b) {\n var i;\n for(i = 0; i < 16; i++)o[i] = a[i] - b[i] | 0;\n }\n function M(o, a, b) {\n var i, j, t = new Float64Array(31);\n for(i = 0; i < 31; i++)t[i] = 0;\n for(i = 0; i < 16; i++){\n for(j = 0; j < 16; j++){\n t[i + j] += a[i] * b[j];\n }\n }\n for(i = 0; i < 15; i++){\n t[i] += 38 * t[i + 16];\n }\n for(i = 0; i < 16; i++)o[i] = t[i];\n car25519(o);\n car25519(o);\n }\n function S(o, a) {\n M(o, a, a);\n }\n function inv25519(o, i) {\n var c = gf();\n var a;\n for(a = 0; a < 16; a++)c[a] = i[a];\n for(a = 253; a >= 0; a--){\n S(c, c);\n if (a !== 2 && a !== 4) M(c, c, i);\n }\n for(a = 0; a < 16; a++)o[a] = c[a];\n }\n function pow2523(o, i) {\n var c = gf();\n var a;\n for(a = 0; a < 16; a++)c[a] = i[a];\n for(a = 250; a >= 0; a--){\n S(c, c);\n if (a !== 1) M(c, c, i);\n }\n for(a = 0; a < 16; a++)o[a] = c[a];\n }\n function crypto_scalarmult(q, n, p) {\n var z = new Uint8Array(32);\n var x = new Float64Array(80), r, i;\n var a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf();\n for(i = 0; i < 31; i++)z[i] = n[i];\n z[31] = n[31] & 127 | 64;\n z[0] &= 248;\n unpack25519(x, p);\n for(i = 0; i < 16; i++){\n b[i] = x[i];\n d[i] = a[i] = c[i] = 0;\n }\n a[0] = d[0] = 1;\n for(i = 254; i >= 0; --i){\n r = z[i >>> 3] >>> (i & 7) & 1;\n sel25519(a, b, r);\n sel25519(c, d, r);\n A(e, a, c);\n Z(a, a, c);\n A(c, b, d);\n Z(b, b, d);\n S(d, e);\n S(f, a);\n M(a, c, a);\n M(c, b, e);\n A(e, a, c);\n Z(a, a, c);\n S(b, a);\n Z(c, d, f);\n M(a, c, _121665);\n A(a, a, d);\n M(c, c, a);\n M(a, d, f);\n M(d, b, x);\n S(b, e);\n sel25519(a, b, r);\n sel25519(c, d, r);\n }\n for(i = 0; i < 16; i++){\n x[i + 16] = a[i];\n x[i + 32] = c[i];\n x[i + 48] = b[i];\n x[i + 64] = d[i];\n }\n var x32 = x.subarray(32);\n var x16 = x.subarray(16);\n inv25519(x32, x32);\n M(x16, x16, x32);\n pack25519(q, x16);\n return 0;\n }\n function crypto_scalarmult_base(q, n) {\n return crypto_scalarmult(q, n, _9);\n }\n function crypto_box_keypair(y, x) {\n randombytes(x, 32);\n return crypto_scalarmult_base(y, x);\n }\n function crypto_box_beforenm(k, y, x) {\n var s = new Uint8Array(32);\n crypto_scalarmult(s, x, y);\n return crypto_core_hsalsa20(k, _0, s, sigma);\n }\n var crypto_box_afternm = crypto_secretbox;\n var crypto_box_open_afternm = crypto_secretbox_open;\n function crypto_box(c, m, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_afternm(c, m, d, n, k);\n }\n function crypto_box_open(m, c, d, n, y, x) {\n var k = new Uint8Array(32);\n crypto_box_beforenm(k, y, x);\n return crypto_box_open_afternm(m, c, d, n, k);\n }\n function add64() {\n var a = 0, b = 0, c = 0, d = 0, m16 = 65535, l, h, i;\n for(i = 0; i < arguments.length; i++){\n l = arguments[i].lo;\n h = arguments[i].hi;\n a += l & m16;\n b += l >>> 16;\n c += h & m16;\n d += h >>> 16;\n }\n b += a >>> 16;\n c += b >>> 16;\n d += c >>> 16;\n return new u64(c & m16 | d << 16, a & m16 | b << 16);\n }\n function shr64(x, c) {\n return new u64(x.hi >>> c, x.lo >>> c | x.hi << 32 - c);\n }\n function xor64() {\n var l = 0, h = 0, i;\n for(i = 0; i < arguments.length; i++){\n l ^= arguments[i].lo;\n h ^= arguments[i].hi;\n }\n return new u64(h, l);\n }\n function R(x, c) {\n var h, l, c1 = 32 - c;\n if (c < 32) {\n h = x.hi >>> c | x.lo << c1;\n l = x.lo >>> c | x.hi << c1;\n } else if (c < 64) {\n h = x.lo >>> c | x.hi << c1;\n l = x.hi >>> c | x.lo << c1;\n }\n return new u64(h, l);\n }\n function Ch(x, y, z) {\n var h = x.hi & y.hi ^ ~x.hi & z.hi, l = x.lo & y.lo ^ ~x.lo & z.lo;\n return new u64(h, l);\n }\n function Maj(x, y, z) {\n var h = x.hi & y.hi ^ x.hi & z.hi ^ y.hi & z.hi, l = x.lo & y.lo ^ x.lo & z.lo ^ y.lo & z.lo;\n return new u64(h, l);\n }\n function Sigma0(x) {\n return xor64(R(x, 28), R(x, 34), R(x, 39));\n }\n function Sigma1(x) {\n return xor64(R(x, 14), R(x, 18), R(x, 41));\n }\n function sigma0(x) {\n return xor64(R(x, 1), R(x, 8), shr64(x, 7));\n }\n function sigma1(x) {\n return xor64(R(x, 19), R(x, 61), shr64(x, 6));\n }\n var K = [\n new u64(0x428a2f98, 0xd728ae22),\n new u64(0x71374491, 0x23ef65cd),\n new u64(0xb5c0fbcf, 0xec4d3b2f),\n new u64(0xe9b5dba5, 0x8189dbbc),\n new u64(0x3956c25b, 0xf348b538),\n new u64(0x59f111f1, 0xb605d019),\n new u64(0x923f82a4, 0xaf194f9b),\n new u64(0xab1c5ed5, 0xda6d8118),\n new u64(0xd807aa98, 0xa3030242),\n new u64(0x12835b01, 0x45706fbe),\n new u64(0x243185be, 0x4ee4b28c),\n new u64(0x550c7dc3, 0xd5ffb4e2),\n new u64(0x72be5d74, 0xf27b896f),\n new u64(0x80deb1fe, 0x3b1696b1),\n new u64(0x9bdc06a7, 0x25c71235),\n new u64(0xc19bf174, 0xcf692694),\n new u64(0xe49b69c1, 0x9ef14ad2),\n new u64(0xefbe4786, 0x384f25e3),\n new u64(0x0fc19dc6, 0x8b8cd5b5),\n new u64(0x240ca1cc, 0x77ac9c65),\n new u64(0x2de92c6f, 0x592b0275),\n new u64(0x4a7484aa, 0x6ea6e483),\n new u64(0x5cb0a9dc, 0xbd41fbd4),\n new u64(0x76f988da, 0x831153b5),\n new u64(0x983e5152, 0xee66dfab),\n new u64(0xa831c66d, 0x2db43210),\n new u64(0xb00327c8, 0x98fb213f),\n new u64(0xbf597fc7, 0xbeef0ee4),\n new u64(0xc6e00bf3, 0x3da88fc2),\n new u64(0xd5a79147, 0x930aa725),\n new u64(0x06ca6351, 0xe003826f),\n new u64(0x14292967, 0x0a0e6e70),\n new u64(0x27b70a85, 0x46d22ffc),\n new u64(0x2e1b2138, 0x5c26c926),\n new u64(0x4d2c6dfc, 0x5ac42aed),\n new u64(0x53380d13, 0x9d95b3df),\n new u64(0x650a7354, 0x8baf63de),\n new u64(0x766a0abb, 0x3c77b2a8),\n new u64(0x81c2c92e, 0x47edaee6),\n new u64(0x92722c85, 0x1482353b),\n new u64(0xa2bfe8a1, 0x4cf10364),\n new u64(0xa81a664b, 0xbc423001),\n new u64(0xc24b8b70, 0xd0f89791),\n new u64(0xc76c51a3, 0x0654be30),\n new u64(0xd192e819, 0xd6ef5218),\n new u64(0xd6990624, 0x5565a910),\n new u64(0xf40e3585, 0x5771202a),\n new u64(0x106aa070, 0x32bbd1b8),\n new u64(0x19a4c116, 0xb8d2d0c8),\n new u64(0x1e376c08, 0x5141ab53),\n new u64(0x2748774c, 0xdf8eeb99),\n new u64(0x34b0bcb5, 0xe19b48a8),\n new u64(0x391c0cb3, 0xc5c95a63),\n new u64(0x4ed8aa4a, 0xe3418acb),\n new u64(0x5b9cca4f, 0x7763e373),\n new u64(0x682e6ff3, 0xd6b2b8a3),\n new u64(0x748f82ee, 0x5defb2fc),\n new u64(0x78a5636f, 0x43172f60),\n new u64(0x84c87814, 0xa1f0ab72),\n new u64(0x8cc70208, 0x1a6439ec),\n new u64(0x90befffa, 0x23631e28),\n new u64(0xa4506ceb, 0xde82bde9),\n new u64(0xbef9a3f7, 0xb2c67915),\n new u64(0xc67178f2, 0xe372532b),\n new u64(0xca273ece, 0xea26619c),\n new u64(0xd186b8c7, 0x21c0c207),\n new u64(0xeada7dd6, 0xcde0eb1e),\n new u64(0xf57d4f7f, 0xee6ed178),\n new u64(0x06f067aa, 0x72176fba),\n new u64(0x0a637dc5, 0xa2c898a6),\n new u64(0x113f9804, 0xbef90dae),\n new u64(0x1b710b35, 0x131c471b),\n new u64(0x28db77f5, 0x23047d84),\n new u64(0x32caab7b, 0x40c72493),\n new u64(0x3c9ebe0a, 0x15c9bebc),\n new u64(0x431d67c4, 0x9c100d4c),\n new u64(0x4cc5d4be, 0xcb3e42b6),\n new u64(0x597f299c, 0xfc657e2a),\n new u64(0x5fcb6fab, 0x3ad6faec),\n new u64(0x6c44198c, 0x4a475817)\n ];\n function crypto_hashblocks(x, m, n) {\n var z = [], b = [], a = [], w = [], t, i, j;\n for(i = 0; i < 8; i++)z[i] = a[i] = dl64(x, 8 * i);\n var pos = 0;\n while(n >= 128){\n for(i = 0; i < 16; i++)w[i] = dl64(m, 8 * i + pos);\n for(i = 0; i < 80; i++){\n for(j = 0; j < 8; j++)b[j] = a[j];\n t = add64(a[7], Sigma1(a[4]), Ch(a[4], a[5], a[6]), K[i], w[i % 16]);\n b[7] = add64(t, Sigma0(a[0]), Maj(a[0], a[1], a[2]));\n b[3] = add64(b[3], t);\n for(j = 0; j < 8; j++)a[(j + 1) % 8] = b[j];\n if (i % 16 === 15) {\n for(j = 0; j < 16; j++){\n w[j] = add64(w[j], w[(j + 9) % 16], sigma0(w[(j + 1) % 16]), sigma1(w[(j + 14) % 16]));\n }\n }\n }\n for(i = 0; i < 8; i++){\n a[i] = add64(a[i], z[i]);\n z[i] = a[i];\n }\n pos += 128;\n n -= 128;\n }\n for(i = 0; i < 8; i++)ts64(x, 8 * i, z[i]);\n return n;\n }\n var iv = new Uint8Array([\n 0x6a,\n 0x09,\n 0xe6,\n 0x67,\n 0xf3,\n 0xbc,\n 0xc9,\n 0x08,\n 0xbb,\n 0x67,\n 0xae,\n 0x85,\n 0x84,\n 0xca,\n 0xa7,\n 0x3b,\n 0x3c,\n 0x6e,\n 0xf3,\n 0x72,\n 0xfe,\n 0x94,\n 0xf8,\n 0x2b,\n 0xa5,\n 0x4f,\n 0xf5,\n 0x3a,\n 0x5f,\n 0x1d,\n 0x36,\n 0xf1,\n 0x51,\n 0x0e,\n 0x52,\n 0x7f,\n 0xad,\n 0xe6,\n 0x82,\n 0xd1,\n 0x9b,\n 0x05,\n 0x68,\n 0x8c,\n 0x2b,\n 0x3e,\n 0x6c,\n 0x1f,\n 0x1f,\n 0x83,\n 0xd9,\n 0xab,\n 0xfb,\n 0x41,\n 0xbd,\n 0x6b,\n 0x5b,\n 0xe0,\n 0xcd,\n 0x19,\n 0x13,\n 0x7e,\n 0x21,\n 0x79\n ]);\n function crypto_hash(out, m, n) {\n var h = new Uint8Array(64), x = new Uint8Array(256);\n var i, b = n;\n for(i = 0; i < 64; i++)h[i] = iv[i];\n crypto_hashblocks(h, m, n);\n n %= 128;\n for(i = 0; i < 256; i++)x[i] = 0;\n for(i = 0; i < n; i++)x[i] = m[b - n + i];\n x[n] = 128;\n n = 256 - 128 * (n < 112 ? 1 : 0);\n x[n - 9] = 0;\n ts64(x, n - 8, new u64(b / 0x20000000 | 0, b << 3));\n crypto_hashblocks(h, x, n);\n for(i = 0; i < 64; i++)out[i] = h[i];\n return 0;\n }\n function add(p, q) {\n var a = gf(), b = gf(), c = gf(), d = gf(), e = gf(), f = gf(), g = gf(), h = gf(), t = gf();\n Z(a, p[1], p[0]);\n Z(t, q[1], q[0]);\n M(a, a, t);\n A(b, p[0], p[1]);\n A(t, q[0], q[1]);\n M(b, b, t);\n M(c, p[3], q[3]);\n M(c, c, D2);\n M(d, p[2], q[2]);\n A(d, d, d);\n Z(e, b, a);\n Z(f, d, c);\n A(g, d, c);\n A(h, b, a);\n M(p[0], e, f);\n M(p[1], h, g);\n M(p[2], g, f);\n M(p[3], e, h);\n }\n function cswap(p, q, b) {\n var i;\n for(i = 0; i < 4; i++){\n sel25519(p[i], q[i], b);\n }\n }\n function pack(r, p) {\n var tx = gf(), ty = gf(), zi = gf();\n inv25519(zi, p[2]);\n M(tx, p[0], zi);\n M(ty, p[1], zi);\n pack25519(r, ty);\n r[31] ^= par25519(tx) << 7;\n }\n function scalarmult(p, q, s) {\n var b, i;\n set25519(p[0], gf0);\n set25519(p[1], gf1);\n set25519(p[2], gf1);\n set25519(p[3], gf0);\n for(i = 255; i >= 0; --i){\n b = s[i / 8 | 0] >> (i & 7) & 1;\n cswap(p, q, b);\n add(q, p);\n add(p, p);\n cswap(p, q, b);\n }\n }\n function scalarbase(p, s) {\n var q = [\n gf(),\n gf(),\n gf(),\n gf()\n ];\n set25519(q[0], X);\n set25519(q[1], Y);\n set25519(q[2], gf1);\n M(q[3], X, Y);\n scalarmult(p, q, s);\n }\n function crypto_sign_keypair(pk, sk, seeded) {\n var d = new Uint8Array(64);\n var p = [\n gf(),\n gf(),\n gf(),\n gf()\n ];\n var i;\n if (!seeded) randombytes(sk, 32);\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n scalarbase(p, d);\n pack(pk, p);\n for(i = 0; i < 32; i++)sk[i + 32] = pk[i];\n return 0;\n }\n var L = new Float64Array([\n 0xed,\n 0xd3,\n 0xf5,\n 0x5c,\n 0x1a,\n 0x63,\n 0x12,\n 0x58,\n 0xd6,\n 0x9c,\n 0xf7,\n 0xa2,\n 0xde,\n 0xf9,\n 0xde,\n 0x14,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0x10\n ]);\n function modL(r, x) {\n var carry, i, j, k;\n for(i = 63; i >= 32; --i){\n carry = 0;\n for(j = i - 32, k = i - 12; j < k; ++j){\n x[j] += carry - 16 * x[i] * L[j - (i - 32)];\n carry = Math.floor((x[j] + 128) / 256);\n x[j] -= carry * 256;\n }\n x[j] += carry;\n x[i] = 0;\n }\n carry = 0;\n for(j = 0; j < 32; j++){\n x[j] += carry - (x[31] >> 4) * L[j];\n carry = x[j] >> 8;\n x[j] &= 255;\n }\n for(j = 0; j < 32; j++)x[j] -= carry * L[j];\n for(i = 0; i < 32; i++){\n x[i + 1] += x[i] >> 8;\n r[i] = x[i] & 255;\n }\n }\n function reduce(r) {\n var x = new Float64Array(64), i;\n for(i = 0; i < 64; i++)x[i] = r[i];\n for(i = 0; i < 64; i++)r[i] = 0;\n modL(r, x);\n }\n function crypto_sign(sm, m, n, sk) {\n var d = new Uint8Array(64), h = new Uint8Array(64), r = new Uint8Array(64);\n var i, j, x = new Float64Array(64);\n var p = [\n gf(),\n gf(),\n gf(),\n gf()\n ];\n crypto_hash(d, sk, 32);\n d[0] &= 248;\n d[31] &= 127;\n d[31] |= 64;\n var smlen = n + 64;\n for(i = 0; i < n; i++)sm[64 + i] = m[i];\n for(i = 0; i < 32; i++)sm[32 + i] = d[32 + i];\n crypto_hash(r, sm.subarray(32), n + 32);\n reduce(r);\n scalarbase(p, r);\n pack(sm, p);\n for(i = 32; i < 64; i++)sm[i] = sk[i];\n crypto_hash(h, sm, n + 64);\n reduce(h);\n for(i = 0; i < 64; i++)x[i] = 0;\n for(i = 0; i < 32; i++)x[i] = r[i];\n for(i = 0; i < 32; i++){\n for(j = 0; j < 32; j++){\n x[i + j] += h[i] * d[j];\n }\n }\n modL(sm.subarray(32), x);\n return smlen;\n }\n function unpackneg(r, p) {\n var t = gf(), chk = gf(), num = gf(), den = gf(), den2 = gf(), den4 = gf(), den6 = gf();\n set25519(r[2], gf1);\n unpack25519(r[1], p);\n S(num, r[1]);\n M(den, num, D);\n Z(num, num, r[2]);\n A(den, r[2], den);\n S(den2, den);\n S(den4, den2);\n M(den6, den4, den2);\n M(t, den6, num);\n M(t, t, den);\n pow2523(t, t);\n M(t, t, num);\n M(t, t, den);\n M(t, t, den);\n M(r[0], t, den);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) M(r[0], r[0], I);\n S(chk, r[0]);\n M(chk, chk, den);\n if (neq25519(chk, num)) return -1;\n if (par25519(r[0]) === p[31] >> 7) Z(r[0], gf0, r[0]);\n M(r[3], r[0], r[1]);\n return 0;\n }\n function crypto_sign_open(m, sm, n, pk) {\n var i;\n var t = new Uint8Array(32), h = new Uint8Array(64);\n var p = [\n gf(),\n gf(),\n gf(),\n gf()\n ], q = [\n gf(),\n gf(),\n gf(),\n gf()\n ];\n if (n < 64) return -1;\n if (unpackneg(q, pk)) return -1;\n for(i = 0; i < n; i++)m[i] = sm[i];\n for(i = 0; i < 32; i++)m[i + 32] = pk[i];\n crypto_hash(h, m, n);\n reduce(h);\n scalarmult(p, q, h);\n scalarbase(q, sm.subarray(32));\n add(p, q);\n pack(t, p);\n n -= 64;\n if (crypto_verify_32(sm, 0, t, 0)) {\n for(i = 0; i < n; i++)m[i] = 0;\n return -1;\n }\n for(i = 0; i < n; i++)m[i] = sm[i + 64];\n return n;\n }\n var crypto_secretbox_KEYBYTES = 32, crypto_secretbox_NONCEBYTES = 24, crypto_secretbox_ZEROBYTES = 32, crypto_secretbox_BOXZEROBYTES = 16, crypto_scalarmult_BYTES = 32, crypto_scalarmult_SCALARBYTES = 32, crypto_box_PUBLICKEYBYTES = 32, crypto_box_SECRETKEYBYTES = 32, crypto_box_BEFORENMBYTES = 32, crypto_box_NONCEBYTES = crypto_secretbox_NONCEBYTES, crypto_box_ZEROBYTES = crypto_secretbox_ZEROBYTES, crypto_box_BOXZEROBYTES = crypto_secretbox_BOXZEROBYTES, crypto_sign_BYTES = 64, crypto_sign_PUBLICKEYBYTES = 32, crypto_sign_SECRETKEYBYTES = 64, crypto_sign_SEEDBYTES = 32, crypto_hash_BYTES = 64;\n nacl.lowlevel = {\n crypto_core_hsalsa20: crypto_core_hsalsa20,\n crypto_stream_xor: crypto_stream_xor,\n crypto_stream: crypto_stream,\n crypto_stream_salsa20_xor: crypto_stream_salsa20_xor,\n crypto_stream_salsa20: crypto_stream_salsa20,\n crypto_onetimeauth: crypto_onetimeauth,\n crypto_onetimeauth_verify: crypto_onetimeauth_verify,\n crypto_verify_16: crypto_verify_16,\n crypto_verify_32: crypto_verify_32,\n crypto_secretbox: crypto_secretbox,\n crypto_secretbox_open: crypto_secretbox_open,\n crypto_scalarmult: crypto_scalarmult,\n crypto_scalarmult_base: crypto_scalarmult_base,\n crypto_box_beforenm: crypto_box_beforenm,\n crypto_box_afternm: crypto_box_afternm,\n crypto_box: crypto_box,\n crypto_box_open: crypto_box_open,\n crypto_box_keypair: crypto_box_keypair,\n crypto_hash: crypto_hash,\n crypto_sign: crypto_sign,\n crypto_sign_keypair: crypto_sign_keypair,\n crypto_sign_open: crypto_sign_open,\n crypto_secretbox_KEYBYTES: crypto_secretbox_KEYBYTES,\n crypto_secretbox_NONCEBYTES: crypto_secretbox_NONCEBYTES,\n crypto_secretbox_ZEROBYTES: crypto_secretbox_ZEROBYTES,\n crypto_secretbox_BOXZEROBYTES: crypto_secretbox_BOXZEROBYTES,\n crypto_scalarmult_BYTES: crypto_scalarmult_BYTES,\n crypto_scalarmult_SCALARBYTES: crypto_scalarmult_SCALARBYTES,\n crypto_box_PUBLICKEYBYTES: crypto_box_PUBLICKEYBYTES,\n crypto_box_SECRETKEYBYTES: crypto_box_SECRETKEYBYTES,\n crypto_box_BEFORENMBYTES: crypto_box_BEFORENMBYTES,\n crypto_box_NONCEBYTES: crypto_box_NONCEBYTES,\n crypto_box_ZEROBYTES: crypto_box_ZEROBYTES,\n crypto_box_BOXZEROBYTES: crypto_box_BOXZEROBYTES,\n crypto_sign_BYTES: crypto_sign_BYTES,\n crypto_sign_PUBLICKEYBYTES: crypto_sign_PUBLICKEYBYTES,\n crypto_sign_SECRETKEYBYTES: crypto_sign_SECRETKEYBYTES,\n crypto_sign_SEEDBYTES: crypto_sign_SEEDBYTES,\n crypto_hash_BYTES: crypto_hash_BYTES,\n gf: gf,\n D: D,\n L: L,\n pack25519: pack25519,\n unpack25519: unpack25519,\n M: M,\n A: A,\n S: S,\n Z: Z,\n pow2523: pow2523,\n add: add,\n set25519: set25519,\n modL: modL,\n scalarmult: scalarmult,\n scalarbase: scalarbase\n };\n function checkLengths(k, n) {\n if (k.length !== crypto_secretbox_KEYBYTES) throw new Error('bad key size');\n if (n.length !== crypto_secretbox_NONCEBYTES) throw new Error('bad nonce size');\n }\n function checkBoxLengths(pk, sk) {\n if (pk.length !== crypto_box_PUBLICKEYBYTES) throw new Error('bad public key size');\n if (sk.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n }\n function checkArrayTypes() {\n for(var i = 0; i < arguments.length; i++){\n if (!(arguments[i] instanceof Uint8Array)) throw new TypeError('unexpected type, use Uint8Array');\n }\n }\n function cleanup(arr) {\n for(var i = 0; i < arr.length; i++)arr[i] = 0;\n }\n nacl.randomBytes = function(n) {\n var b = new Uint8Array(n);\n randombytes(b, n);\n return b;\n };\n nacl.secretbox = function(msg, nonce, key) {\n checkArrayTypes(msg, nonce, key);\n checkLengths(key, nonce);\n var m = new Uint8Array(crypto_secretbox_ZEROBYTES + msg.length);\n var c = new Uint8Array(m.length);\n for(var i = 0; i < msg.length; i++)m[i + crypto_secretbox_ZEROBYTES] = msg[i];\n crypto_secretbox(c, m, m.length, nonce, key);\n return c.subarray(crypto_secretbox_BOXZEROBYTES);\n };\n nacl.secretbox.open = function(box, nonce, key) {\n checkArrayTypes(box, nonce, key);\n checkLengths(key, nonce);\n var c = new Uint8Array(crypto_secretbox_BOXZEROBYTES + box.length);\n var m = new Uint8Array(c.length);\n for(var i = 0; i < box.length; i++)c[i + crypto_secretbox_BOXZEROBYTES] = box[i];\n if (c.length < 32) return null;\n if (crypto_secretbox_open(m, c, c.length, nonce, key) !== 0) return null;\n return m.subarray(crypto_secretbox_ZEROBYTES);\n };\n nacl.secretbox.keyLength = crypto_secretbox_KEYBYTES;\n nacl.secretbox.nonceLength = crypto_secretbox_NONCEBYTES;\n nacl.secretbox.overheadLength = crypto_secretbox_BOXZEROBYTES;\n nacl.scalarMult = function(n, p) {\n checkArrayTypes(n, p);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n if (p.length !== crypto_scalarmult_BYTES) throw new Error('bad p size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult(q, n, p);\n return q;\n };\n nacl.scalarMult.base = function(n) {\n checkArrayTypes(n);\n if (n.length !== crypto_scalarmult_SCALARBYTES) throw new Error('bad n size');\n var q = new Uint8Array(crypto_scalarmult_BYTES);\n crypto_scalarmult_base(q, n);\n return q;\n };\n nacl.scalarMult.scalarLength = crypto_scalarmult_SCALARBYTES;\n nacl.scalarMult.groupElementLength = crypto_scalarmult_BYTES;\n nacl.box = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox(msg, nonce, k);\n };\n nacl.box.before = function(publicKey, secretKey) {\n checkArrayTypes(publicKey, secretKey);\n checkBoxLengths(publicKey, secretKey);\n var k = new Uint8Array(crypto_box_BEFORENMBYTES);\n crypto_box_beforenm(k, publicKey, secretKey);\n return k;\n };\n nacl.box.after = nacl.secretbox;\n nacl.box.open = function(msg, nonce, publicKey, secretKey) {\n var k = nacl.box.before(publicKey, secretKey);\n return nacl.secretbox.open(msg, nonce, k);\n };\n nacl.box.open.after = nacl.secretbox.open;\n nacl.box.keyPair = function() {\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_box_SECRETKEYBYTES);\n crypto_box_keypair(pk, sk);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n nacl.box.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_box_SECRETKEYBYTES) throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_box_PUBLICKEYBYTES);\n crypto_scalarmult_base(pk, secretKey);\n return {\n publicKey: pk,\n secretKey: new Uint8Array(secretKey)\n };\n };\n nacl.box.publicKeyLength = crypto_box_PUBLICKEYBYTES;\n nacl.box.secretKeyLength = crypto_box_SECRETKEYBYTES;\n nacl.box.sharedKeyLength = crypto_box_BEFORENMBYTES;\n nacl.box.nonceLength = crypto_box_NONCEBYTES;\n nacl.box.overheadLength = nacl.secretbox.overheadLength;\n nacl.sign = function(msg, secretKey) {\n checkArrayTypes(msg, secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES) throw new Error('bad secret key size');\n var signedMsg = new Uint8Array(crypto_sign_BYTES + msg.length);\n crypto_sign(signedMsg, msg, msg.length, secretKey);\n return signedMsg;\n };\n nacl.sign.open = function(signedMsg, publicKey) {\n checkArrayTypes(signedMsg, publicKey);\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) throw new Error('bad public key size');\n var tmp = new Uint8Array(signedMsg.length);\n var mlen = crypto_sign_open(tmp, signedMsg, signedMsg.length, publicKey);\n if (mlen < 0) return null;\n var m = new Uint8Array(mlen);\n for(var i = 0; i < m.length; i++)m[i] = tmp[i];\n return m;\n };\n nacl.sign.detached = function(msg, secretKey) {\n var signedMsg = nacl.sign(msg, secretKey);\n var sig = new Uint8Array(crypto_sign_BYTES);\n for(var i = 0; i < sig.length; i++)sig[i] = signedMsg[i];\n return sig;\n };\n nacl.sign.detached.verify = function(msg, sig, publicKey) {\n checkArrayTypes(msg, sig, publicKey);\n if (sig.length !== crypto_sign_BYTES) throw new Error('bad signature size');\n if (publicKey.length !== crypto_sign_PUBLICKEYBYTES) throw new Error('bad public key size');\n var sm = new Uint8Array(crypto_sign_BYTES + msg.length);\n var m = new Uint8Array(crypto_sign_BYTES + msg.length);\n var i;\n for(i = 0; i < crypto_sign_BYTES; i++)sm[i] = sig[i];\n for(i = 0; i < msg.length; i++)sm[i + crypto_sign_BYTES] = msg[i];\n return crypto_sign_open(m, sm, sm.length, publicKey) >= 0;\n };\n nacl.sign.keyPair = function() {\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n crypto_sign_keypair(pk, sk);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n nacl.sign.keyPair.fromSecretKey = function(secretKey) {\n checkArrayTypes(secretKey);\n if (secretKey.length !== crypto_sign_SECRETKEYBYTES) throw new Error('bad secret key size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n for(var i = 0; i < pk.length; i++)pk[i] = secretKey[32 + i];\n return {\n publicKey: pk,\n secretKey: new Uint8Array(secretKey)\n };\n };\n nacl.sign.keyPair.fromSeed = function(seed) {\n checkArrayTypes(seed);\n if (seed.length !== crypto_sign_SEEDBYTES) throw new Error('bad seed size');\n var pk = new Uint8Array(crypto_sign_PUBLICKEYBYTES);\n var sk = new Uint8Array(crypto_sign_SECRETKEYBYTES);\n for(var i = 0; i < 32; i++)sk[i] = seed[i];\n crypto_sign_keypair(pk, sk, true);\n return {\n publicKey: pk,\n secretKey: sk\n };\n };\n nacl.sign.publicKeyLength = crypto_sign_PUBLICKEYBYTES;\n nacl.sign.secretKeyLength = crypto_sign_SECRETKEYBYTES;\n nacl.sign.seedLength = crypto_sign_SEEDBYTES;\n nacl.sign.signatureLength = crypto_sign_BYTES;\n nacl.hash = function(msg) {\n checkArrayTypes(msg);\n var h = new Uint8Array(crypto_hash_BYTES);\n crypto_hash(h, msg, msg.length);\n return h;\n };\n nacl.hash.hashLength = crypto_hash_BYTES;\n nacl.verify = function(x, y) {\n checkArrayTypes(x, y);\n if (x.length === 0 || y.length === 0) return false;\n if (x.length !== y.length) return false;\n return vn(x, 0, y, 0, x.length) === 0 ? true : false;\n };\n nacl.setPRNG = function(fn) {\n randombytes = fn;\n };\n (function() {\n var crypto1 = typeof globalThis !== 'undefined' ? globalThis.crypto || globalThis.msCrypto : null;\n if (crypto1 && crypto1.getRandomValues) {\n var QUOTA = 65536;\n nacl.setPRNG(function(x, n) {\n var i, v = new Uint8Array(n);\n for(i = 0; i < n; i += QUOTA){\n crypto1.getRandomValues(v.subarray(i, i + Math.min(n - i, QUOTA)));\n }\n for(i = 0; i < n; i++)x[i] = v[i];\n cleanup(v);\n });\n } else if (typeof require !== 'undefined') {\n crypto1 = require('crypto');\n if (crypto1 && crypto1.randomBytes) {\n nacl.setPRNG(function(x, n) {\n var i, v = crypto1.randomBytes(n);\n for(i = 0; i < n; i++)x[i] = v[i];\n cleanup(v);\n });\n }\n }\n })();\n})(typeof module !== 'undefined' && module.exports ? module.exports : globalThis.nacl = globalThis.nacl || {});\nconst nacl = typeof module !== 'undefined' && module.exports ? module.exports : globalThis.nacl;\nconst denoHelper = {\n fromSeed: nacl.sign.keyPair.fromSeed,\n sign: nacl.sign.detached,\n verify: nacl.sign.detached.verify,\n randomBytes: nacl.randomBytes\n};\nlet helper;\nfunction setEd25519Helper(lib) {\n helper = lib;\n}\nfunction getEd25519Helper() {\n return helper;\n}\nconst crc16tab = new Uint16Array([\n 0x0000,\n 0x1021,\n 0x2042,\n 0x3063,\n 0x4084,\n 0x50a5,\n 0x60c6,\n 0x70e7,\n 0x8108,\n 0x9129,\n 0xa14a,\n 0xb16b,\n 0xc18c,\n 0xd1ad,\n 0xe1ce,\n 0xf1ef,\n 0x1231,\n 0x0210,\n 0x3273,\n 0x2252,\n 0x52b5,\n 0x4294,\n 0x72f7,\n 0x62d6,\n 0x9339,\n 0x8318,\n 0xb37b,\n 0xa35a,\n 0xd3bd,\n 0xc39c,\n 0xf3ff,\n 0xe3de,\n 0x2462,\n 0x3443,\n 0x0420,\n 0x1401,\n 0x64e6,\n 0x74c7,\n 0x44a4,\n 0x5485,\n 0xa56a,\n 0xb54b,\n 0x8528,\n 0x9509,\n 0xe5ee,\n 0xf5cf,\n 0xc5ac,\n 0xd58d,\n 0x3653,\n 0x2672,\n 0x1611,\n 0x0630,\n 0x76d7,\n 0x66f6,\n 0x5695,\n 0x46b4,\n 0xb75b,\n 0xa77a,\n 0x9719,\n 0x8738,\n 0xf7df,\n 0xe7fe,\n 0xd79d,\n 0xc7bc,\n 0x48c4,\n 0x58e5,\n 0x6886,\n 0x78a7,\n 0x0840,\n 0x1861,\n 0x2802,\n 0x3823,\n 0xc9cc,\n 0xd9ed,\n 0xe98e,\n 0xf9af,\n 0x8948,\n 0x9969,\n 0xa90a,\n 0xb92b,\n 0x5af5,\n 0x4ad4,\n 0x7ab7,\n 0x6a96,\n 0x1a71,\n 0x0a50,\n 0x3a33,\n 0x2a12,\n 0xdbfd,\n 0xcbdc,\n 0xfbbf,\n 0xeb9e,\n 0x9b79,\n 0x8b58,\n 0xbb3b,\n 0xab1a,\n 0x6ca6,\n 0x7c87,\n 0x4ce4,\n 0x5cc5,\n 0x2c22,\n 0x3c03,\n 0x0c60,\n 0x1c41,\n 0xedae,\n 0xfd8f,\n 0xcdec,\n 0xddcd,\n 0xad2a,\n 0xbd0b,\n 0x8d68,\n 0x9d49,\n 0x7e97,\n 0x6eb6,\n 0x5ed5,\n 0x4ef4,\n 0x3e13,\n 0x2e32,\n 0x1e51,\n 0x0e70,\n 0xff9f,\n 0xefbe,\n 0xdfdd,\n 0xcffc,\n 0xbf1b,\n 0xaf3a,\n 0x9f59,\n 0x8f78,\n 0x9188,\n 0x81a9,\n 0xb1ca,\n 0xa1eb,\n 0xd10c,\n 0xc12d,\n 0xf14e,\n 0xe16f,\n 0x1080,\n 0x00a1,\n 0x30c2,\n 0x20e3,\n 0x5004,\n 0x4025,\n 0x7046,\n 0x6067,\n 0x83b9,\n 0x9398,\n 0xa3fb,\n 0xb3da,\n 0xc33d,\n 0xd31c,\n 0xe37f,\n 0xf35e,\n 0x02b1,\n 0x1290,\n 0x22f3,\n 0x32d2,\n 0x4235,\n 0x5214,\n 0x6277,\n 0x7256,\n 0xb5ea,\n 0xa5cb,\n 0x95a8,\n 0x8589,\n 0xf56e,\n 0xe54f,\n 0xd52c,\n 0xc50d,\n 0x34e2,\n 0x24c3,\n 0x14a0,\n 0x0481,\n 0x7466,\n 0x6447,\n 0x5424,\n 0x4405,\n 0xa7db,\n 0xb7fa,\n 0x8799,\n 0x97b8,\n 0xe75f,\n 0xf77e,\n 0xc71d,\n 0xd73c,\n 0x26d3,\n 0x36f2,\n 0x0691,\n 0x16b0,\n 0x6657,\n 0x7676,\n 0x4615,\n 0x5634,\n 0xd94c,\n 0xc96d,\n 0xf90e,\n 0xe92f,\n 0x99c8,\n 0x89e9,\n 0xb98a,\n 0xa9ab,\n 0x5844,\n 0x4865,\n 0x7806,\n 0x6827,\n 0x18c0,\n 0x08e1,\n 0x3882,\n 0x28a3,\n 0xcb7d,\n 0xdb5c,\n 0xeb3f,\n 0xfb1e,\n 0x8bf9,\n 0x9bd8,\n 0xabbb,\n 0xbb9a,\n 0x4a75,\n 0x5a54,\n 0x6a37,\n 0x7a16,\n 0x0af1,\n 0x1ad0,\n 0x2ab3,\n 0x3a92,\n 0xfd2e,\n 0xed0f,\n 0xdd6c,\n 0xcd4d,\n 0xbdaa,\n 0xad8b,\n 0x9de8,\n 0x8dc9,\n 0x7c26,\n 0x6c07,\n 0x5c64,\n 0x4c45,\n 0x3ca2,\n 0x2c83,\n 0x1ce0,\n 0x0cc1,\n 0xef1f,\n 0xff3e,\n 0xcf5d,\n 0xdf7c,\n 0xaf9b,\n 0xbfba,\n 0x8fd9,\n 0x9ff8,\n 0x6e17,\n 0x7e36,\n 0x4e55,\n 0x5e74,\n 0x2e93,\n 0x3eb2,\n 0x0ed1,\n 0x1ef0\n]);\nclass crc16 {\n static checksum(data) {\n let crc = 0;\n for(let i = 0; i < data.byteLength; i++){\n let b = data[i];\n crc = crc << 8 & 0xffff ^ crc16tab[(crc >> 8 ^ b) & 0x00FF];\n }\n return crc;\n }\n static validate(data, expected) {\n let ba = crc16.checksum(data);\n return ba == expected;\n }\n}\nconst b32Alphabet = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567\";\nclass base32 {\n static encode(src) {\n let bits = 0;\n let value = 0;\n let a = new Uint8Array(src);\n let buf = new Uint8Array(src.byteLength * 2);\n let j = 0;\n for(let i = 0; i < a.byteLength; i++){\n value = value << 8 | a[i];\n bits += 8;\n while(bits >= 5){\n let index = value >>> bits - 5 & 31;\n buf[j++] = b32Alphabet.charAt(index).charCodeAt(0);\n bits -= 5;\n }\n }\n if (bits > 0) {\n let index = value << 5 - bits & 31;\n buf[j++] = b32Alphabet.charAt(index).charCodeAt(0);\n }\n return buf.slice(0, j);\n }\n static decode(src) {\n let bits = 0;\n let __byte = 0;\n let j = 0;\n let a = new Uint8Array(src);\n let out = new Uint8Array(a.byteLength * 5 / 8 | 0);\n for(let i = 0; i < a.byteLength; i++){\n let v = String.fromCharCode(a[i]);\n let vv = b32Alphabet.indexOf(v);\n if (vv === -1) {\n throw new Error(\"Illegal Base32 character: \" + a[i]);\n }\n __byte = __byte << 5 | vv;\n bits += 5;\n if (bits >= 8) {\n out[j++] = __byte >>> bits - 8 & 255;\n bits -= 8;\n }\n }\n return out.slice(0, j);\n }\n}\nclass NKeysError extends Error {\n name;\n code;\n chainedError;\n constructor(code, chainedError){\n super(code);\n this.name = \"NKeysError\";\n this.code = code;\n this.chainedError = chainedError;\n }\n}\nfunction createOperator() {\n return createPair(Prefix.Operator);\n}\nfunction createAccount() {\n return createPair(Prefix.Account);\n}\nfunction createUser() {\n return createPair(Prefix.User);\n}\nvar NKeysErrorCode;\n(function(NKeysErrorCode) {\n NKeysErrorCode[\"InvalidPrefixByte\"] = \"nkeys: invalid prefix byte\";\n NKeysErrorCode[\"InvalidKey\"] = \"nkeys: invalid key\";\n NKeysErrorCode[\"InvalidPublicKey\"] = \"nkeys: invalid public key\";\n NKeysErrorCode[\"InvalidSeedLen\"] = \"nkeys: invalid seed length\";\n NKeysErrorCode[\"InvalidSeed\"] = \"nkeys: invalid seed\";\n NKeysErrorCode[\"InvalidEncoding\"] = \"nkeys: invalid encoded key\";\n NKeysErrorCode[\"InvalidSignature\"] = \"nkeys: signature verification failed\";\n NKeysErrorCode[\"CannotSign\"] = \"nkeys: cannot sign, no private key available\";\n NKeysErrorCode[\"PublicKeyOnly\"] = \"nkeys: no seed or private key available\";\n NKeysErrorCode[\"InvalidChecksum\"] = \"nkeys: invalid checksum\";\n NKeysErrorCode[\"SerializationError\"] = \"nkeys: serialization error\";\n NKeysErrorCode[\"ApiError\"] = \"nkeys: api error\";\n NKeysErrorCode[\"ClearedPair\"] = \"nkeys: pair is cleared\";\n})(NKeysErrorCode || (NKeysErrorCode = {}));\nvar Prefix;\n(function(Prefix) {\n Prefix[Prefix[\"Seed\"] = 144] = \"Seed\";\n Prefix[Prefix[\"Private\"] = 120] = \"Private\";\n Prefix[Prefix[\"Operator\"] = 112] = \"Operator\";\n Prefix[Prefix[\"Server\"] = 104] = \"Server\";\n Prefix[Prefix[\"Cluster\"] = 16] = \"Cluster\";\n Prefix[Prefix[\"Account\"] = 0] = \"Account\";\n Prefix[Prefix[\"User\"] = 160] = \"User\";\n})(Prefix || (Prefix = {}));\nclass Prefixes {\n static isValidPublicPrefix(prefix) {\n return prefix == Prefix.Server || prefix == Prefix.Operator || prefix == Prefix.Cluster || prefix == Prefix.Account || prefix == Prefix.User;\n }\n static startsWithValidPrefix(s) {\n let c = s[0];\n return c == \"S\" || c == \"P\" || c == \"O\" || c == \"N\" || c == \"C\" || c == \"A\" || c == \"U\";\n }\n static isValidPrefix(prefix) {\n let v = this.parsePrefix(prefix);\n return v != -1;\n }\n static parsePrefix(v) {\n switch(v){\n case Prefix.Seed:\n return Prefix.Seed;\n case Prefix.Private:\n return Prefix.Private;\n case Prefix.Operator:\n return Prefix.Operator;\n case Prefix.Server:\n return Prefix.Server;\n case Prefix.Cluster:\n return Prefix.Cluster;\n case Prefix.Account:\n return Prefix.Account;\n case Prefix.User:\n return Prefix.User;\n default:\n return -1;\n }\n }\n}\nclass Codec {\n static encode(prefix, src) {\n if (!src || !(src instanceof Uint8Array)) {\n throw new NKeysError(NKeysErrorCode.SerializationError);\n }\n if (!Prefixes.isValidPrefix(prefix)) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n return Codec._encode(false, prefix, src);\n }\n static encodeSeed(role, src) {\n if (!src) {\n throw new NKeysError(NKeysErrorCode.ApiError);\n }\n if (!Prefixes.isValidPublicPrefix(role)) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n if (src.byteLength !== 32) {\n throw new NKeysError(NKeysErrorCode.InvalidSeedLen);\n }\n return Codec._encode(true, role, src);\n }\n static decode(expected, src) {\n if (!Prefixes.isValidPrefix(expected)) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n const raw = Codec._decode(src);\n if (raw[0] !== expected) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n return raw.slice(1);\n }\n static decodeSeed(src) {\n const raw = Codec._decode(src);\n const prefix = Codec._decodePrefix(raw);\n if (prefix[0] != Prefix.Seed) {\n throw new NKeysError(NKeysErrorCode.InvalidSeed);\n }\n if (!Prefixes.isValidPublicPrefix(prefix[1])) {\n throw new NKeysError(NKeysErrorCode.InvalidPrefixByte);\n }\n return {\n buf: raw.slice(2),\n prefix: prefix[1]\n };\n }\n static _encode(seed, role, payload) {\n const payloadOffset = seed ? 2 : 1;\n const payloadLen = payload.byteLength;\n const cap = payloadOffset + payloadLen + 2;\n const checkOffset = payloadOffset + payloadLen;\n const raw = new Uint8Array(cap);\n if (seed) {\n const encodedPrefix = Codec._encodePrefix(Prefix.Seed, role);\n raw.set(encodedPrefix);\n } else {\n raw[0] = role;\n }\n raw.set(payload, payloadOffset);\n const checksum = crc16.checksum(raw.slice(0, checkOffset));\n const dv = new DataView(raw.buffer);\n dv.setUint16(checkOffset, checksum, true);\n return base32.encode(raw);\n }\n static _decode(src) {\n if (src.byteLength < 4) {\n throw new NKeysError(NKeysErrorCode.InvalidEncoding);\n }\n let raw;\n try {\n raw = base32.decode(src);\n } catch (ex) {\n throw new NKeysError(NKeysErrorCode.InvalidEncoding, ex);\n }\n const checkOffset = raw.byteLength - 2;\n const dv = new DataView(raw.buffer);\n const checksum = dv.getUint16(checkOffset, true);\n const payload = raw.slice(0, checkOffset);\n if (!crc16.validate(payload, checksum)) {\n throw new NKeysError(NKeysErrorCode.InvalidChecksum);\n }\n return payload;\n }\n static _encodePrefix(kind, role) {\n const b1 = kind | role >> 5;\n const b2 = (role & 31) << 3;\n return new Uint8Array([\n b1,\n b2\n ]);\n }\n static _decodePrefix(raw) {\n const b1 = raw[0] & 248;\n const b2 = (raw[0] & 7) << 5 | (raw[1] & 248) >> 3;\n return new Uint8Array([\n b1,\n b2\n ]);\n }\n}\nclass KP {\n seed;\n constructor(seed){\n this.seed = seed;\n }\n getRawSeed() {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n let sd = Codec.decodeSeed(this.seed);\n return sd.buf;\n }\n getSeed() {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n return this.seed;\n }\n getPublicKey() {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n const sd = Codec.decodeSeed(this.seed);\n const kp = getEd25519Helper().fromSeed(this.getRawSeed());\n const buf = Codec.encode(sd.prefix, kp.publicKey);\n return new TextDecoder().decode(buf);\n }\n getPrivateKey() {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n const kp = getEd25519Helper().fromSeed(this.getRawSeed());\n return Codec.encode(Prefix.Private, kp.secretKey);\n }\n sign(input) {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n const kp = getEd25519Helper().fromSeed(this.getRawSeed());\n return getEd25519Helper().sign(input, kp.secretKey);\n }\n verify(input, sig) {\n if (!this.seed) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n const kp = getEd25519Helper().fromSeed(this.getRawSeed());\n return getEd25519Helper().verify(input, sig, kp.publicKey);\n }\n clear() {\n if (!this.seed) {\n return;\n }\n this.seed.fill(0);\n this.seed = undefined;\n }\n}\nfunction createPair(prefix) {\n const rawSeed = getEd25519Helper().randomBytes(32);\n let str = Codec.encodeSeed(prefix, new Uint8Array(rawSeed));\n return new KP(str);\n}\nclass PublicKey {\n publicKey;\n constructor(publicKey){\n this.publicKey = publicKey;\n }\n getPublicKey() {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n return new TextDecoder().decode(this.publicKey);\n }\n getPrivateKey() {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n throw new NKeysError(NKeysErrorCode.PublicKeyOnly);\n }\n getSeed() {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n throw new NKeysError(NKeysErrorCode.PublicKeyOnly);\n }\n sign(_) {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n throw new NKeysError(NKeysErrorCode.CannotSign);\n }\n verify(input, sig) {\n if (!this.publicKey) {\n throw new NKeysError(NKeysErrorCode.ClearedPair);\n }\n let buf = Codec._decode(this.publicKey);\n return getEd25519Helper().verify(input, sig, buf.slice(1));\n }\n clear() {\n if (!this.publicKey) {\n return;\n }\n this.publicKey.fill(0);\n this.publicKey = undefined;\n }\n}\nfunction fromPublic(src) {\n const ba = new TextEncoder().encode(src);\n const raw = Codec._decode(ba);\n const prefix = Prefixes.parsePrefix(raw[0]);\n if (Prefixes.isValidPublicPrefix(prefix)) {\n return new PublicKey(ba);\n }\n throw new NKeysError(NKeysErrorCode.InvalidPublicKey);\n}\nfunction fromSeed(src) {\n Codec.decodeSeed(src);\n return new KP(src);\n}\nfunction encode2(bytes) {\n return btoa(String.fromCharCode(...bytes));\n}\nfunction decode2(b64str) {\n const bin = atob(b64str);\n const bytes = new Uint8Array(bin.length);\n for(let i = 0; i < bin.length; i++){\n bytes[i] = bin.charCodeAt(i);\n }\n return bytes;\n}\nsetEd25519Helper(denoHelper);\nconst mod = {\n createAccount,\n createOperator,\n createPair,\n createUser,\n fromPublic,\n fromSeed,\n NKeysError,\n NKeysErrorCode,\n Prefix,\n decode: decode2,\n encode: encode2\n};\nfunction multiAuthenticator(authenticators) {\n return (nonce)=>{\n let auth = {};\n authenticators.forEach((a)=>{\n const args = a(nonce) || {};\n auth = Object.assign(auth, args);\n });\n return auth;\n };\n}\nfunction noAuthFn() {\n return ()=>{\n return;\n };\n}\nfunction usernamePasswordAuthenticator(user, pass) {\n return ()=>{\n const u = typeof user === \"function\" ? user() : user;\n const p = typeof pass === \"function\" ? pass() : pass;\n return {\n user: u,\n pass: p\n };\n };\n}\nfunction tokenAuthenticator(token) {\n return ()=>{\n const auth_token = typeof token === \"function\" ? token() : token;\n return {\n auth_token\n };\n };\n}\nfunction nkeyAuthenticator(seed) {\n return (nonce)=>{\n const s = typeof seed === \"function\" ? seed() : seed;\n const kp = s ? mod.fromSeed(s) : undefined;\n const nkey = kp ? kp.getPublicKey() : \"\";\n const challenge = TE.encode(nonce || \"\");\n const sigBytes = kp !== undefined && nonce ? kp.sign(challenge) : undefined;\n const sig = sigBytes ? mod.encode(sigBytes) : \"\";\n return {\n nkey,\n sig\n };\n };\n}\nfunction jwtAuthenticator(ajwt, seed) {\n return (nonce)=>{\n const jwt = typeof ajwt === \"function\" ? ajwt() : ajwt;\n const fn = nkeyAuthenticator(seed);\n const { nkey, sig } = fn(nonce);\n return {\n jwt,\n nkey,\n sig\n };\n };\n}\nfunction credsAuthenticator(creds) {\n const fn = typeof creds !== \"function\" ? ()=>creds : creds;\n const parse = ()=>{\n const CREDS = /\\s*(?:(?:[-]{3,}[^\\n]*[-]{3,}\\n)(.+)(?:\\n\\s*[-]{3,}[^\\n]*[-]{3,}\\n))/ig;\n const s = TD.decode(fn());\n let m = CREDS.exec(s);\n if (!m) {\n throw NatsError.errorForCode(ErrorCode.BadCreds);\n }\n const jwt = m[1].trim();\n m = CREDS.exec(s);\n if (!m) {\n throw NatsError.errorForCode(ErrorCode.BadCreds);\n }\n if (!m) {\n throw NatsError.errorForCode(ErrorCode.BadCreds);\n }\n const seed = TE.encode(m[1].trim());\n return {\n jwt,\n seed\n };\n };\n const jwtFn = ()=>{\n const { jwt } = parse();\n return jwt;\n };\n const nkeyFn = ()=>{\n const { seed } = parse();\n return seed;\n };\n return jwtAuthenticator(jwtFn, nkeyFn);\n}\nconst DEFAULT_PING_INTERVAL = 2 * 60 * 1000;\nconst DEFAULT_MAX_PING_OUT = 2;\nconst DEFAULT_RECONNECT_TIME_WAIT = 2 * 1000;\nfunction defaultOptions() {\n return {\n maxPingOut: 2,\n maxReconnectAttempts: 10,\n noRandomize: false,\n pedantic: false,\n pingInterval: DEFAULT_PING_INTERVAL,\n reconnect: true,\n reconnectJitter: 100,\n reconnectJitterTLS: 1000,\n reconnectTimeWait: DEFAULT_RECONNECT_TIME_WAIT,\n tls: undefined,\n verbose: false,\n waitOnFirstConnect: false,\n ignoreAuthErrorAbort: false\n };\n}\nfunction buildAuthenticator(opts) {\n const buf = [];\n if (typeof opts.authenticator === \"function\") {\n buf.push(opts.authenticator);\n }\n if (Array.isArray(opts.authenticator)) {\n buf.push(...opts.authenticator);\n }\n if (opts.token) {\n buf.push(tokenAuthenticator(opts.token));\n }\n if (opts.user) {\n buf.push(usernamePasswordAuthenticator(opts.user, opts.pass));\n }\n return buf.length === 0 ? noAuthFn() : multiAuthenticator(buf);\n}\nfunction parseOptions(opts) {\n const dhp = `${DEFAULT_HOST}:${defaultPort()}`;\n opts = opts || {\n servers: [\n dhp\n ]\n };\n opts.servers = opts.servers || [];\n if (typeof opts.servers === \"string\") {\n opts.servers = [\n opts.servers\n ];\n }\n if (opts.servers.length > 0 && opts.port) {\n throw new NatsError(\"port and servers options are mutually exclusive\", ErrorCode.InvalidOption);\n }\n if (opts.servers.length === 0 && opts.port) {\n opts.servers = [\n `${DEFAULT_HOST}:${opts.port}`\n ];\n }\n if (opts.servers && opts.servers.length === 0) {\n opts.servers = [\n dhp\n ];\n }\n const options = extend(defaultOptions(), opts);\n options.authenticator = buildAuthenticator(options);\n [\n \"reconnectDelayHandler\",\n \"authenticator\"\n ].forEach((n)=>{\n if (options[n] && typeof options[n] !== \"function\") {\n throw new NatsError(`${n} option should be a function`, ErrorCode.NotFunction);\n }\n });\n if (!options.reconnectDelayHandler) {\n options.reconnectDelayHandler = ()=>{\n let extra = options.tls ? options.reconnectJitterTLS : options.reconnectJitter;\n if (extra) {\n extra++;\n extra = Math.floor(Math.random() * extra);\n }\n return options.reconnectTimeWait + extra;\n };\n }\n if (options.inboxPrefix) {\n try {\n createInbox(options.inboxPrefix);\n } catch (err) {\n throw new NatsError(err.message, ErrorCode.ApiError);\n }\n }\n if (options.resolve) {\n if (typeof getResolveFn() !== \"function\") {\n throw new NatsError(`'resolve' is not supported on this client`, ErrorCode.InvalidOption);\n }\n }\n return options;\n}\nfunction checkOptions(info, options) {\n const { proto, tls_required: tlsRequired, tls_available: tlsAvailable } = info;\n if ((proto === undefined || proto < 1) && options.noEcho) {\n throw new NatsError(\"noEcho\", ErrorCode.ServerOptionNotAvailable);\n }\n const tls = tlsRequired || tlsAvailable || false;\n if (options.tls && !tls) {\n throw new NatsError(\"tls\", ErrorCode.ServerOptionNotAvailable);\n }\n}\nconst FLUSH_THRESHOLD = 1024 * 32;\nconst INFO = /^INFO\\s+([^\\r\\n]+)\\r\\n/i;\nconst PONG_CMD = encode(\"PONG\\r\\n\");\nconst PING_CMD = encode(\"PING\\r\\n\");\nclass Connect {\n echo;\n no_responders;\n protocol;\n verbose;\n pedantic;\n jwt;\n nkey;\n sig;\n user;\n pass;\n auth_token;\n tls_required;\n name;\n lang;\n version;\n headers;\n constructor(transport, opts, nonce){\n this.protocol = 1;\n this.version = transport.version;\n this.lang = transport.lang;\n this.echo = opts.noEcho ? false : undefined;\n this.verbose = opts.verbose;\n this.pedantic = opts.pedantic;\n this.tls_required = opts.tls ? true : undefined;\n this.name = opts.name;\n const creds = (opts && typeof opts.authenticator === \"function\" ? opts.authenticator(nonce) : {}) || {};\n extend(this, creds);\n }\n}\nclass SubscriptionImpl extends QueuedIteratorImpl {\n sid;\n queue;\n draining;\n max;\n subject;\n drained;\n protocol;\n timer;\n info;\n cleanupFn;\n closed;\n requestSubject;\n constructor(protocol, subject, opts = {}){\n super();\n extend(this, opts);\n this.protocol = protocol;\n this.subject = subject;\n this.draining = false;\n this.noIterator = typeof opts.callback === \"function\";\n this.closed = deferred();\n const asyncTraces = !(protocol.options?.noAsyncTraces || false);\n if (opts.timeout) {\n this.timer = timeout(opts.timeout, asyncTraces);\n this.timer.then(()=>{\n this.timer = undefined;\n }).catch((err)=>{\n this.stop(err);\n if (this.noIterator) {\n this.callback(err, {});\n }\n });\n }\n if (!this.noIterator) {\n this.iterClosed.then(()=>{\n this.closed.resolve();\n this.unsubscribe();\n });\n }\n }\n setPrePostHandlers(opts) {\n if (this.noIterator) {\n const uc = this.callback;\n const ingestion = opts.ingestionFilterFn ? opts.ingestionFilterFn : ()=>{\n return {\n ingest: true,\n protocol: false\n };\n };\n const filter = opts.protocolFilterFn ? opts.protocolFilterFn : ()=>{\n return true;\n };\n const dispatched = opts.dispatchedFn ? opts.dispatchedFn : ()=>{};\n this.callback = (err, msg)=>{\n const { ingest } = ingestion(msg);\n if (!ingest) {\n return;\n }\n if (filter(msg)) {\n uc(err, msg);\n dispatched(msg);\n }\n };\n } else {\n this.protocolFilterFn = opts.protocolFilterFn;\n this.dispatchedFn = opts.dispatchedFn;\n }\n }\n callback(err, msg) {\n this.cancelTimeout();\n err ? this.stop(err) : this.push(msg);\n }\n close() {\n if (!this.isClosed()) {\n this.cancelTimeout();\n const fn = ()=>{\n this.stop();\n if (this.cleanupFn) {\n try {\n this.cleanupFn(this, this.info);\n } catch (_err) {}\n }\n this.closed.resolve();\n };\n if (this.noIterator) {\n fn();\n } else {\n this.push(fn);\n }\n }\n }\n unsubscribe(max) {\n this.protocol.unsubscribe(this, max);\n }\n cancelTimeout() {\n if (this.timer) {\n this.timer.cancel();\n this.timer = undefined;\n }\n }\n drain() {\n if (this.protocol.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionClosed));\n }\n if (this.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.SubClosed));\n }\n if (!this.drained) {\n this.draining = true;\n this.protocol.unsub(this);\n this.drained = this.protocol.flush(deferred()).then(()=>{\n this.protocol.subscriptions.cancel(this);\n }).catch(()=>{\n this.protocol.subscriptions.cancel(this);\n });\n }\n return this.drained;\n }\n isDraining() {\n return this.draining;\n }\n isClosed() {\n return this.done;\n }\n getSubject() {\n return this.subject;\n }\n getMax() {\n return this.max;\n }\n getID() {\n return this.sid;\n }\n}\nclass Subscriptions {\n mux;\n subs;\n sidCounter;\n constructor(){\n this.sidCounter = 0;\n this.mux = null;\n this.subs = new Map();\n }\n size() {\n return this.subs.size;\n }\n add(s) {\n this.sidCounter++;\n s.sid = this.sidCounter;\n this.subs.set(s.sid, s);\n return s;\n }\n setMux(s) {\n this.mux = s;\n return s;\n }\n getMux() {\n return this.mux;\n }\n get(sid) {\n return this.subs.get(sid);\n }\n resub(s) {\n this.sidCounter++;\n this.subs.delete(s.sid);\n s.sid = this.sidCounter;\n this.subs.set(s.sid, s);\n return s;\n }\n all() {\n return Array.from(this.subs.values());\n }\n cancel(s) {\n if (s) {\n s.close();\n this.subs.delete(s.sid);\n }\n }\n handleError(err) {\n if (err && err.permissionContext) {\n const ctx = err.permissionContext;\n const subs = this.all();\n let sub;\n if (ctx.operation === \"subscription\") {\n sub = subs.find((s)=>{\n return s.subject === ctx.subject;\n });\n }\n if (ctx.operation === \"publish\") {\n sub = subs.find((s)=>{\n return s.requestSubject === ctx.subject;\n });\n }\n if (sub) {\n sub.callback(err, {});\n sub.close();\n this.subs.delete(sub.sid);\n return sub !== this.mux;\n }\n }\n return false;\n }\n close() {\n this.subs.forEach((sub)=>{\n sub.close();\n });\n }\n}\nclass ProtocolHandler {\n connected;\n connectedOnce;\n infoReceived;\n info;\n muxSubscriptions;\n options;\n outbound;\n pongs;\n subscriptions;\n transport;\n noMorePublishing;\n connectError;\n publisher;\n _closed;\n closed;\n listeners;\n heartbeats;\n parser;\n outMsgs;\n inMsgs;\n outBytes;\n inBytes;\n pendingLimit;\n lastError;\n abortReconnect;\n whyClosed;\n servers;\n server;\n features;\n connectPromise;\n constructor(options, publisher){\n this._closed = false;\n this.connected = false;\n this.connectedOnce = false;\n this.infoReceived = false;\n this.noMorePublishing = false;\n this.abortReconnect = false;\n this.listeners = [];\n this.pendingLimit = FLUSH_THRESHOLD;\n this.outMsgs = 0;\n this.inMsgs = 0;\n this.outBytes = 0;\n this.inBytes = 0;\n this.options = options;\n this.publisher = publisher;\n this.subscriptions = new Subscriptions();\n this.muxSubscriptions = new MuxSubscription();\n this.outbound = new DataBuffer();\n this.pongs = [];\n this.whyClosed = \"\";\n this.pendingLimit = options.pendingLimit || this.pendingLimit;\n this.features = new Features({\n major: 0,\n minor: 0,\n micro: 0\n });\n this.connectPromise = null;\n const servers = typeof options.servers === \"string\" ? [\n options.servers\n ] : options.servers;\n this.servers = new Servers(servers, {\n randomize: !options.noRandomize\n });\n this.closed = deferred();\n this.parser = new Parser(this);\n this.heartbeats = new Heartbeat(this, this.options.pingInterval || DEFAULT_PING_INTERVAL, this.options.maxPingOut || DEFAULT_MAX_PING_OUT);\n }\n resetOutbound() {\n this.outbound.reset();\n const pongs = this.pongs;\n this.pongs = [];\n const err = NatsError.errorForCode(ErrorCode.Disconnect);\n err.stack = \"\";\n pongs.forEach((p)=>{\n p.reject(err);\n });\n this.parser = new Parser(this);\n this.infoReceived = false;\n }\n dispatchStatus(status) {\n this.listeners.forEach((q)=>{\n q.push(status);\n });\n }\n status() {\n const iter = new QueuedIteratorImpl();\n this.listeners.push(iter);\n return iter;\n }\n prepare() {\n if (this.transport) {\n this.transport.discard();\n }\n this.info = undefined;\n this.resetOutbound();\n const pong = deferred();\n pong.catch(()=>{});\n this.pongs.unshift(pong);\n this.connectError = (err)=>{\n pong.reject(err);\n };\n this.transport = newTransport();\n this.transport.closed().then(async (_err)=>{\n this.connected = false;\n if (!this.isClosed()) {\n await this.disconnected(this.transport.closeError || this.lastError);\n return;\n }\n });\n return pong;\n }\n disconnect() {\n this.dispatchStatus({\n type: DebugEvents.StaleConnection,\n data: \"\"\n });\n this.transport.disconnect();\n }\n reconnect() {\n if (this.connected) {\n this.dispatchStatus({\n type: DebugEvents.ClientInitiatedReconnect,\n data: \"\"\n });\n this.transport.disconnect();\n }\n return Promise.resolve();\n }\n async disconnected(err) {\n this.dispatchStatus({\n type: Events.Disconnect,\n data: this.servers.getCurrentServer().toString()\n });\n if (this.options.reconnect) {\n await this.dialLoop().then(()=>{\n this.dispatchStatus({\n type: Events.Reconnect,\n data: this.servers.getCurrentServer().toString()\n });\n if (this.lastError?.code === ErrorCode.AuthenticationExpired) {\n this.lastError = undefined;\n }\n }).catch((err)=>{\n this._close(err);\n });\n } else {\n await this._close(err);\n }\n }\n async dial(srv) {\n const pong = this.prepare();\n let timer;\n try {\n timer = timeout(this.options.timeout || 20000);\n const cp = this.transport.connect(srv, this.options);\n await Promise.race([\n cp,\n timer\n ]);\n (async ()=>{\n try {\n for await (const b of this.transport){\n this.parser.parse(b);\n }\n } catch (err) {\n console.log(\"reader closed\", err);\n }\n })().then();\n } catch (err) {\n pong.reject(err);\n }\n try {\n await Promise.race([\n timer,\n pong\n ]);\n if (timer) {\n timer.cancel();\n }\n this.connected = true;\n this.connectError = undefined;\n this.sendSubscriptions();\n this.connectedOnce = true;\n this.server.didConnect = true;\n this.server.reconnects = 0;\n this.flushPending();\n this.heartbeats.start();\n } catch (err) {\n if (timer) {\n timer.cancel();\n }\n await this.transport.close(err);\n throw err;\n }\n }\n async _doDial(srv) {\n const alts = await srv.resolve({\n fn: getResolveFn(),\n debug: this.options.debug,\n randomize: !this.options.noRandomize\n });\n let lastErr = null;\n for (const a of alts){\n try {\n lastErr = null;\n this.dispatchStatus({\n type: DebugEvents.Reconnecting,\n data: a.toString()\n });\n await this.dial(a);\n return;\n } catch (err) {\n lastErr = err;\n }\n }\n throw lastErr;\n }\n dialLoop() {\n if (this.connectPromise === null) {\n this.connectPromise = this.dodialLoop();\n this.connectPromise.then(()=>{}).catch(()=>{}).finally(()=>{\n this.connectPromise = null;\n });\n }\n return this.connectPromise;\n }\n async dodialLoop() {\n let lastError;\n while(true){\n if (this._closed) {\n this.servers.clear();\n }\n const wait = this.options.reconnectDelayHandler ? this.options.reconnectDelayHandler() : DEFAULT_RECONNECT_TIME_WAIT;\n let maxWait = wait;\n const srv = this.selectServer();\n if (!srv || this.abortReconnect) {\n if (lastError) {\n throw lastError;\n } else if (this.lastError) {\n throw this.lastError;\n } else {\n throw NatsError.errorForCode(ErrorCode.ConnectionRefused);\n }\n }\n const now = Date.now();\n if (srv.lastConnect === 0 || srv.lastConnect + wait <= now) {\n srv.lastConnect = Date.now();\n try {\n await this._doDial(srv);\n break;\n } catch (err) {\n lastError = err;\n if (!this.connectedOnce) {\n if (this.options.waitOnFirstConnect) {\n continue;\n }\n this.servers.removeCurrentServer();\n }\n srv.reconnects++;\n const mra = this.options.maxReconnectAttempts || 0;\n if (mra !== -1 && srv.reconnects >= mra) {\n this.servers.removeCurrentServer();\n }\n }\n } else {\n maxWait = Math.min(maxWait, srv.lastConnect + wait - now);\n await delay(maxWait);\n }\n }\n }\n static async connect(options, publisher) {\n const h = new ProtocolHandler(options, publisher);\n await h.dialLoop();\n return h;\n }\n static toError(s) {\n const t = s ? s.toLowerCase() : \"\";\n if (t.indexOf(\"permissions violation\") !== -1) {\n const err = new NatsError(s, ErrorCode.PermissionsViolation);\n const m = s.match(/(Publish|Subscription) to \"(\\S+)\"/);\n if (m) {\n err.permissionContext = {\n operation: m[1].toLowerCase(),\n subject: m[2]\n };\n }\n return err;\n } else if (t.indexOf(\"authorization violation\") !== -1) {\n return new NatsError(s, ErrorCode.AuthorizationViolation);\n } else if (t.indexOf(\"user authentication expired\") !== -1) {\n return new NatsError(s, ErrorCode.AuthenticationExpired);\n } else if (t.indexOf(\"authentication timeout\") !== -1) {\n return new NatsError(s, ErrorCode.AuthenticationTimeout);\n } else {\n return new NatsError(s, ErrorCode.ProtocolError);\n }\n }\n processMsg(msg, data) {\n this.inMsgs++;\n this.inBytes += data.length;\n if (!this.subscriptions.sidCounter) {\n return;\n }\n const sub = this.subscriptions.get(msg.sid);\n if (!sub) {\n return;\n }\n sub.received += 1;\n if (sub.callback) {\n sub.callback(null, new MsgImpl(msg, data, this));\n }\n if (sub.max !== undefined && sub.received >= sub.max) {\n sub.unsubscribe();\n }\n }\n processError(m) {\n const s = decode(m);\n const err = ProtocolHandler.toError(s);\n const status = {\n type: Events.Error,\n data: err.code\n };\n if (err.isPermissionError()) {\n let isMuxPermissionError = false;\n if (err.permissionContext) {\n status.permissionContext = err.permissionContext;\n const mux = this.subscriptions.getMux();\n isMuxPermissionError = mux?.subject === err.permissionContext.subject;\n }\n this.subscriptions.handleError(err);\n this.muxSubscriptions.handleError(isMuxPermissionError, err);\n if (isMuxPermissionError) {\n this.subscriptions.setMux(null);\n }\n }\n this.dispatchStatus(status);\n this.handleError(err);\n }\n handleError(err) {\n if (err.isAuthError()) {\n this.handleAuthError(err);\n } else if (err.isProtocolError()) {\n this.lastError = err;\n } else if (err.isAuthTimeout()) {\n this.lastError = err;\n }\n if (!err.isPermissionError()) {\n this.lastError = err;\n }\n }\n handleAuthError(err) {\n if (this.lastError && err.code === this.lastError.code && this.options.ignoreAuthErrorAbort === false) {\n this.abortReconnect = true;\n }\n if (this.connectError) {\n this.connectError(err);\n } else {\n this.disconnect();\n }\n }\n processPing() {\n this.transport.send(PONG_CMD);\n }\n processPong() {\n const cb = this.pongs.shift();\n if (cb) {\n cb.resolve();\n }\n }\n processInfo(m) {\n const info = JSON.parse(decode(m));\n this.info = info;\n const updates = this.options && this.options.ignoreClusterUpdates ? undefined : this.servers.update(info, this.transport.isEncrypted());\n if (!this.infoReceived) {\n this.features.update(parseSemVer(info.version));\n this.infoReceived = true;\n if (this.transport.isEncrypted()) {\n this.servers.updateTLSName();\n }\n const { version, lang } = this.transport;\n try {\n const c = new Connect({\n version,\n lang\n }, this.options, info.nonce);\n if (info.headers) {\n c.headers = true;\n c.no_responders = true;\n }\n const cs = JSON.stringify(c);\n this.transport.send(encode(`CONNECT ${cs}${CR_LF}`));\n this.transport.send(PING_CMD);\n } catch (err) {\n this._close(err);\n }\n }\n if (updates) {\n this.dispatchStatus({\n type: Events.Update,\n data: updates\n });\n }\n const ldm = info.ldm !== undefined ? info.ldm : false;\n if (ldm) {\n this.dispatchStatus({\n type: Events.LDM,\n data: this.servers.getCurrentServer().toString()\n });\n }\n }\n push(e) {\n switch(e.kind){\n case Kind.MSG:\n {\n const { msg, data } = e;\n this.processMsg(msg, data);\n break;\n }\n case Kind.OK:\n break;\n case Kind.ERR:\n this.processError(e.data);\n break;\n case Kind.PING:\n this.processPing();\n break;\n case Kind.PONG:\n this.processPong();\n break;\n case Kind.INFO:\n this.processInfo(e.data);\n break;\n }\n }\n sendCommand(cmd, ...payloads) {\n const len = this.outbound.length();\n let buf;\n if (typeof cmd === \"string\") {\n buf = encode(cmd);\n } else {\n buf = cmd;\n }\n this.outbound.fill(buf, ...payloads);\n if (len === 0) {\n queueMicrotask(()=>{\n this.flushPending();\n });\n } else if (this.outbound.size() >= this.pendingLimit) {\n this.flushPending();\n }\n }\n publish(subject, payload = Empty, options) {\n let data;\n if (payload instanceof Uint8Array) {\n data = payload;\n } else if (typeof payload === \"string\") {\n data = TE.encode(payload);\n } else {\n throw NatsError.errorForCode(ErrorCode.BadPayload);\n }\n let len = data.length;\n options = options || {};\n options.reply = options.reply || \"\";\n let headers = Empty;\n let hlen = 0;\n if (options.headers) {\n if (this.info && !this.info.headers) {\n throw new NatsError(\"headers\", ErrorCode.ServerOptionNotAvailable);\n }\n const hdrs = options.headers;\n headers = hdrs.encode();\n hlen = headers.length;\n len = data.length + hlen;\n }\n if (this.info && len > this.info.max_payload) {\n throw NatsError.errorForCode(ErrorCode.MaxPayloadExceeded);\n }\n this.outBytes += len;\n this.outMsgs++;\n let proto;\n if (options.headers) {\n if (options.reply) {\n proto = `HPUB ${subject} ${options.reply} ${hlen} ${len}\\r\\n`;\n } else {\n proto = `HPUB ${subject} ${hlen} ${len}\\r\\n`;\n }\n this.sendCommand(proto, headers, data, CRLF);\n } else {\n if (options.reply) {\n proto = `PUB ${subject} ${options.reply} ${len}\\r\\n`;\n } else {\n proto = `PUB ${subject} ${len}\\r\\n`;\n }\n this.sendCommand(proto, data, CRLF);\n }\n }\n request(r) {\n this.initMux();\n this.muxSubscriptions.add(r);\n return r;\n }\n subscribe(s) {\n this.subscriptions.add(s);\n this._subunsub(s);\n return s;\n }\n _sub(s) {\n if (s.queue) {\n this.sendCommand(`SUB ${s.subject} ${s.queue} ${s.sid}\\r\\n`);\n } else {\n this.sendCommand(`SUB ${s.subject} ${s.sid}\\r\\n`);\n }\n }\n _subunsub(s) {\n this._sub(s);\n if (s.max) {\n this.unsubscribe(s, s.max);\n }\n return s;\n }\n unsubscribe(s, max) {\n this.unsub(s, max);\n if (s.max === undefined || s.received >= s.max) {\n this.subscriptions.cancel(s);\n }\n }\n unsub(s, max) {\n if (!s || this.isClosed()) {\n return;\n }\n if (max) {\n this.sendCommand(`UNSUB ${s.sid} ${max}\\r\\n`);\n } else {\n this.sendCommand(`UNSUB ${s.sid}\\r\\n`);\n }\n s.max = max;\n }\n resub(s, subject) {\n if (!s || this.isClosed()) {\n return;\n }\n this.unsub(s);\n s.subject = subject;\n this.subscriptions.resub(s);\n this._sub(s);\n }\n flush(p) {\n if (!p) {\n p = deferred();\n }\n this.pongs.push(p);\n this.outbound.fill(PING_CMD);\n this.flushPending();\n return p;\n }\n sendSubscriptions() {\n const cmds = [];\n this.subscriptions.all().forEach((s)=>{\n const sub = s;\n if (sub.queue) {\n cmds.push(`SUB ${sub.subject} ${sub.queue} ${sub.sid}${CR_LF}`);\n } else {\n cmds.push(`SUB ${sub.subject} ${sub.sid}${CR_LF}`);\n }\n });\n if (cmds.length) {\n this.transport.send(encode(cmds.join(\"\")));\n }\n }\n async _close(err) {\n if (this._closed) {\n return;\n }\n this.whyClosed = new Error(\"close trace\").stack || \"\";\n this.heartbeats.cancel();\n if (this.connectError) {\n this.connectError(err);\n this.connectError = undefined;\n }\n this.muxSubscriptions.close();\n this.subscriptions.close();\n this.listeners.forEach((l)=>{\n l.stop();\n });\n this._closed = true;\n await this.transport.close(err);\n await this.closed.resolve(err);\n }\n close() {\n return this._close();\n }\n isClosed() {\n return this._closed;\n }\n drain() {\n const subs = this.subscriptions.all();\n const promises = [];\n subs.forEach((sub)=>{\n promises.push(sub.drain());\n });\n return Promise.all(promises).then(async ()=>{\n this.noMorePublishing = true;\n await this.flush();\n return this.close();\n }).catch(()=>{});\n }\n flushPending() {\n if (!this.infoReceived || !this.connected) {\n return;\n }\n if (this.outbound.size()) {\n const d = this.outbound.drain();\n this.transport.send(d);\n }\n }\n initMux() {\n const mux = this.subscriptions.getMux();\n if (!mux) {\n const inbox = this.muxSubscriptions.init(this.options.inboxPrefix);\n const sub = new SubscriptionImpl(this, `${inbox}*`);\n sub.callback = this.muxSubscriptions.dispatcher();\n this.subscriptions.setMux(sub);\n this.subscribe(sub);\n }\n }\n selectServer() {\n const server = this.servers.selectServer();\n if (server === undefined) {\n return undefined;\n }\n this.server = server;\n return this.server;\n }\n getServer() {\n return this.server;\n }\n}\nconst ServiceApiPrefix = \"$SRV\";\nclass ServiceMsgImpl {\n msg;\n constructor(msg){\n this.msg = msg;\n }\n get data() {\n return this.msg.data;\n }\n get sid() {\n return this.msg.sid;\n }\n get subject() {\n return this.msg.subject;\n }\n get reply() {\n return this.msg.reply || \"\";\n }\n get headers() {\n return this.msg.headers;\n }\n respond(data, opts) {\n return this.msg.respond(data, opts);\n }\n respondError(code, description, data, opts) {\n opts = opts || {};\n opts.headers = opts.headers || headers();\n opts.headers?.set(ServiceErrorCodeHeader, `${code}`);\n opts.headers?.set(ServiceErrorHeader, description);\n return this.msg.respond(data, opts);\n }\n json(reviver) {\n return this.msg.json(reviver);\n }\n string() {\n return this.msg.string();\n }\n}\nclass ServiceGroupImpl {\n subject;\n queue;\n srv;\n constructor(parent, name = \"\", queue = \"\"){\n if (name !== \"\") {\n validInternalToken(\"service group\", name);\n }\n let root = \"\";\n if (parent instanceof ServiceImpl) {\n this.srv = parent;\n root = \"\";\n } else if (parent instanceof ServiceGroupImpl) {\n const sg = parent;\n this.srv = sg.srv;\n if (queue === \"\" && sg.queue !== \"\") {\n queue = sg.queue;\n }\n root = sg.subject;\n } else {\n throw new Error(\"unknown ServiceGroup type\");\n }\n this.subject = this.calcSubject(root, name);\n this.queue = queue;\n }\n calcSubject(root, name = \"\") {\n if (name === \"\") {\n return root;\n }\n return root !== \"\" ? `${root}.${name}` : name;\n }\n addEndpoint(name = \"\", opts) {\n opts = opts || {\n subject: name\n };\n const args = typeof opts === \"function\" ? {\n handler: opts,\n subject: name\n } : opts;\n validateName(\"endpoint\", name);\n let { subject, handler, metadata, queue } = args;\n subject = subject || name;\n queue = queue || this.queue;\n validSubjectName(\"endpoint subject\", subject);\n subject = this.calcSubject(this.subject, subject);\n const ne = {\n name,\n subject,\n queue,\n handler,\n metadata\n };\n return this.srv._addEndpoint(ne);\n }\n addGroup(name = \"\", queue = \"\") {\n return new ServiceGroupImpl(this, name, queue);\n }\n}\nfunction validSubjectName(context, subj) {\n if (subj === \"\") {\n throw new Error(`${context} cannot be empty`);\n }\n if (subj.indexOf(\" \") !== -1) {\n throw new Error(`${context} cannot contain spaces: '${subj}'`);\n }\n const tokens = subj.split(\".\");\n tokens.forEach((v, idx)=>{\n if (v === \">\" && idx !== tokens.length - 1) {\n throw new Error(`${context} cannot have internal '>': '${subj}'`);\n }\n });\n}\nfunction validInternalToken(context, subj) {\n if (subj.indexOf(\" \") !== -1) {\n throw new Error(`${context} cannot contain spaces: '${subj}'`);\n }\n const tokens = subj.split(\".\");\n tokens.forEach((v)=>{\n if (v === \">\") {\n throw new Error(`${context} name cannot contain internal '>': '${subj}'`);\n }\n });\n}\nclass ServiceImpl {\n nc;\n _id;\n config;\n handlers;\n internal;\n _stopped;\n _done;\n started;\n static controlSubject(verb, name = \"\", id = \"\", prefix) {\n const pre = prefix ?? ServiceApiPrefix;\n if (name === \"\" && id === \"\") {\n return `${pre}.${verb}`;\n }\n validateName(\"control subject name\", name);\n if (id !== \"\") {\n validateName(\"control subject id\", id);\n return `${pre}.${verb}.${name}.${id}`;\n }\n return `${pre}.${verb}.${name}`;\n }\n constructor(nc, config = {\n name: \"\",\n version: \"\"\n }){\n this.nc = nc;\n this.config = Object.assign({}, config);\n if (!this.config.queue) {\n this.config.queue = \"q\";\n }\n validateName(\"name\", this.config.name);\n validateName(\"queue\", this.config.queue);\n parseSemVer(this.config.version);\n this._id = nuid.next();\n this.internal = [];\n this._done = deferred();\n this._stopped = false;\n this.handlers = [];\n this.started = new Date().toISOString();\n this.reset();\n this.nc.closed().then(()=>{\n this.close().catch();\n }).catch((err)=>{\n this.close(err).catch();\n });\n }\n get subjects() {\n return this.handlers.filter((s)=>{\n return s.internal === false;\n }).map((s)=>{\n return s.subject;\n });\n }\n get id() {\n return this._id;\n }\n get name() {\n return this.config.name;\n }\n get description() {\n return this.config.description ?? \"\";\n }\n get version() {\n return this.config.version;\n }\n get metadata() {\n return this.config.metadata;\n }\n errorToHeader(err) {\n const h = headers();\n if (err instanceof ServiceError) {\n const se = err;\n h.set(ServiceErrorHeader, se.message);\n h.set(ServiceErrorCodeHeader, `${se.code}`);\n } else {\n h.set(ServiceErrorHeader, err.message);\n h.set(ServiceErrorCodeHeader, \"500\");\n }\n return h;\n }\n setupHandler(h, internal = false) {\n const queue = internal ? \"\" : h.queue ? h.queue : this.config.queue;\n const { name, subject, handler } = h;\n const sv = h;\n sv.internal = internal;\n if (internal) {\n this.internal.push(sv);\n }\n sv.stats = new NamedEndpointStatsImpl(name, subject, queue);\n sv.queue = queue;\n const callback = handler ? (err, msg)=>{\n if (err) {\n this.close(err);\n return;\n }\n const start = Date.now();\n try {\n handler(err, new ServiceMsgImpl(msg));\n } catch (err) {\n sv.stats.countError(err);\n msg?.respond(Empty, {\n headers: this.errorToHeader(err)\n });\n } finally{\n sv.stats.countLatency(start);\n }\n } : undefined;\n sv.sub = this.nc.subscribe(subject, {\n callback,\n queue\n });\n sv.sub.closed.then(()=>{\n if (!this._stopped) {\n this.close(new Error(`required subscription ${h.subject} stopped`)).catch();\n }\n }).catch((err)=>{\n if (!this._stopped) {\n const ne = new Error(`required subscription ${h.subject} errored: ${err.message}`);\n ne.stack = err.stack;\n this.close(ne).catch();\n }\n });\n return sv;\n }\n info() {\n return {\n type: ServiceResponseType.INFO,\n name: this.name,\n id: this.id,\n version: this.version,\n description: this.description,\n metadata: this.metadata,\n endpoints: this.endpoints()\n };\n }\n endpoints() {\n return this.handlers.map((v)=>{\n const { subject, metadata, name, queue } = v;\n return {\n subject,\n metadata,\n name,\n queue_group: queue\n };\n });\n }\n async stats() {\n const endpoints = [];\n for (const h of this.handlers){\n if (typeof this.config.statsHandler === \"function\") {\n try {\n h.stats.data = await this.config.statsHandler(h);\n } catch (err) {\n h.stats.countError(err);\n }\n }\n endpoints.push(h.stats.stats(h.qi));\n }\n return {\n type: ServiceResponseType.STATS,\n name: this.name,\n id: this.id,\n version: this.version,\n started: this.started,\n metadata: this.metadata,\n endpoints\n };\n }\n addInternalHandler(verb, handler) {\n const v = `${verb}`.toUpperCase();\n this._doAddInternalHandler(`${v}-all`, verb, handler);\n this._doAddInternalHandler(`${v}-kind`, verb, handler, this.name);\n this._doAddInternalHandler(`${v}`, verb, handler, this.name, this.id);\n }\n _doAddInternalHandler(name, verb, handler, kind = \"\", id = \"\") {\n const endpoint = {};\n endpoint.name = name;\n endpoint.subject = ServiceImpl.controlSubject(verb, kind, id);\n endpoint.handler = handler;\n this.setupHandler(endpoint, true);\n }\n start() {\n const jc = JSONCodec();\n const statsHandler = (err, msg)=>{\n if (err) {\n this.close(err);\n return Promise.reject(err);\n }\n return this.stats().then((s)=>{\n msg?.respond(jc.encode(s));\n return Promise.resolve();\n });\n };\n const infoHandler = (err, msg)=>{\n if (err) {\n this.close(err);\n return Promise.reject(err);\n }\n msg?.respond(jc.encode(this.info()));\n return Promise.resolve();\n };\n const ping = jc.encode(this.ping());\n const pingHandler = (err, msg)=>{\n if (err) {\n this.close(err).then().catch();\n return Promise.reject(err);\n }\n msg.respond(ping);\n return Promise.resolve();\n };\n this.addInternalHandler(ServiceVerb.PING, pingHandler);\n this.addInternalHandler(ServiceVerb.STATS, statsHandler);\n this.addInternalHandler(ServiceVerb.INFO, infoHandler);\n this.handlers.forEach((h)=>{\n const { subject } = h;\n if (typeof subject !== \"string\") {\n return;\n }\n if (h.handler === null) {\n return;\n }\n this.setupHandler(h);\n });\n return Promise.resolve(this);\n }\n close(err) {\n if (this._stopped) {\n return this._done;\n }\n this._stopped = true;\n let buf = [];\n if (!this.nc.isClosed()) {\n buf = this.handlers.concat(this.internal).map((h)=>{\n return h.sub.drain();\n });\n }\n Promise.allSettled(buf).then(()=>{\n this._done.resolve(err ? err : null);\n });\n return this._done;\n }\n get stopped() {\n return this._done;\n }\n get isStopped() {\n return this._stopped;\n }\n stop(err) {\n return this.close(err);\n }\n ping() {\n return {\n type: ServiceResponseType.PING,\n name: this.name,\n id: this.id,\n version: this.version,\n metadata: this.metadata\n };\n }\n reset() {\n this.started = new Date().toISOString();\n if (this.handlers) {\n for (const h of this.handlers){\n h.stats.reset(h.qi);\n }\n }\n }\n addGroup(name, queue) {\n return new ServiceGroupImpl(this, name, queue);\n }\n addEndpoint(name, handler) {\n const sg = new ServiceGroupImpl(this);\n return sg.addEndpoint(name, handler);\n }\n _addEndpoint(e) {\n const qi = new QueuedIteratorImpl();\n qi.noIterator = typeof e.handler === \"function\";\n if (!qi.noIterator) {\n e.handler = (err, msg)=>{\n err ? this.stop(err).catch() : qi.push(new ServiceMsgImpl(msg));\n };\n qi.iterClosed.then(()=>{\n this.close().catch();\n });\n }\n const ss = this.setupHandler(e, false);\n ss.qi = qi;\n this.handlers.push(ss);\n return qi;\n }\n}\nclass NamedEndpointStatsImpl {\n name;\n subject;\n average_processing_time;\n num_requests;\n processing_time;\n num_errors;\n last_error;\n data;\n metadata;\n queue;\n constructor(name, subject, queue = \"\"){\n this.name = name;\n this.subject = subject;\n this.average_processing_time = 0;\n this.num_errors = 0;\n this.num_requests = 0;\n this.processing_time = 0;\n this.queue = queue;\n }\n reset(qi) {\n this.num_requests = 0;\n this.processing_time = 0;\n this.average_processing_time = 0;\n this.num_errors = 0;\n this.last_error = undefined;\n this.data = undefined;\n const qii = qi;\n if (qii) {\n qii.time = 0;\n qii.processed = 0;\n }\n }\n countLatency(start) {\n this.num_requests++;\n this.processing_time += nanos(Date.now() - start);\n this.average_processing_time = Math.round(this.processing_time / this.num_requests);\n }\n countError(err) {\n this.num_errors++;\n this.last_error = err.message;\n }\n _stats() {\n const { name, subject, average_processing_time, num_errors, num_requests, processing_time, last_error, data, queue } = this;\n return {\n name,\n subject,\n average_processing_time,\n num_errors,\n num_requests,\n processing_time,\n last_error,\n data,\n queue_group: queue\n };\n }\n stats(qi) {\n const qii = qi;\n if (qii?.noIterator === false) {\n this.processing_time = qii.time;\n this.num_requests = qii.processed;\n this.average_processing_time = this.processing_time > 0 && this.num_requests > 0 ? this.processing_time / this.num_requests : 0;\n }\n return this._stats();\n }\n}\nclass ServiceClientImpl {\n nc;\n prefix;\n opts;\n constructor(nc, opts = {\n strategy: RequestStrategy.JitterTimer,\n maxWait: 2000\n }, prefix){\n this.nc = nc;\n this.prefix = prefix;\n this.opts = opts;\n }\n ping(name = \"\", id = \"\") {\n return this.q(ServiceVerb.PING, name, id);\n }\n stats(name = \"\", id = \"\") {\n return this.q(ServiceVerb.STATS, name, id);\n }\n info(name = \"\", id = \"\") {\n return this.q(ServiceVerb.INFO, name, id);\n }\n async q(v, name = \"\", id = \"\") {\n const iter = new QueuedIteratorImpl();\n const jc = JSONCodec();\n const subj = ServiceImpl.controlSubject(v, name, id, this.prefix);\n const responses = await this.nc.requestMany(subj, Empty, this.opts);\n (async ()=>{\n for await (const m of responses){\n try {\n const s = jc.decode(m.data);\n iter.push(s);\n } catch (err) {\n iter.push(()=>{\n iter.stop(err);\n });\n }\n }\n iter.push(()=>{\n iter.stop();\n });\n })().catch((err)=>{\n iter.stop(err);\n });\n return iter;\n }\n}\nclass Metric {\n name;\n duration;\n date;\n payload;\n msgs;\n lang;\n version;\n bytes;\n asyncRequests;\n min;\n max;\n constructor(name, duration){\n this.name = name;\n this.duration = duration;\n this.date = Date.now();\n this.payload = 0;\n this.msgs = 0;\n this.bytes = 0;\n }\n toString() {\n const sec = this.duration / 1000;\n const mps = Math.round(this.msgs / sec);\n const label = this.asyncRequests ? \"asyncRequests\" : \"\";\n let minmax = \"\";\n if (this.max) {\n minmax = `${this.min}/${this.max}`;\n }\n return `${this.name}${label ? \" [asyncRequests]\" : \"\"} ${humanizeNumber(mps)} msgs/sec - [${sec.toFixed(2)} secs] ~ ${throughput(this.bytes, sec)} ${minmax}`;\n }\n toCsv() {\n return `\"${this.name}\",${new Date(this.date).toISOString()},${this.lang},${this.version},${this.msgs},${this.payload},${this.bytes},${this.duration},${this.asyncRequests ? this.asyncRequests : false}\\n`;\n }\n static header() {\n return `Test,Date,Lang,Version,Count,MsgPayload,Bytes,Millis,Async\\n`;\n }\n}\nclass Bench {\n nc;\n callbacks;\n msgs;\n size;\n subject;\n asyncRequests;\n pub;\n sub;\n req;\n rep;\n perf;\n payload;\n constructor(nc, opts = {\n msgs: 100000,\n size: 128,\n subject: \"\",\n asyncRequests: false,\n pub: false,\n sub: false,\n req: false,\n rep: false\n }){\n this.nc = nc;\n this.callbacks = opts.callbacks || false;\n this.msgs = opts.msgs || 0;\n this.size = opts.size || 0;\n this.subject = opts.subject || nuid.next();\n this.asyncRequests = opts.asyncRequests || false;\n this.pub = opts.pub || false;\n this.sub = opts.sub || false;\n this.req = opts.req || false;\n this.rep = opts.rep || false;\n this.perf = new Perf();\n this.payload = this.size ? new Uint8Array(this.size) : Empty;\n if (!this.pub && !this.sub && !this.req && !this.rep) {\n throw new Error(\"no bench option selected\");\n }\n }\n async run() {\n this.nc.closed().then((err)=>{\n if (err) {\n throw new NatsError(`bench closed with an error: ${err.message}`, ErrorCode.Unknown, err);\n }\n });\n if (this.callbacks) {\n await this.runCallbacks();\n } else {\n await this.runAsync();\n }\n return this.processMetrics();\n }\n processMetrics() {\n const nc = this.nc;\n const { lang, version } = nc.protocol.transport;\n if (this.pub && this.sub) {\n this.perf.measure(\"pubsub\", \"pubStart\", \"subStop\");\n }\n if (this.req && this.rep) {\n this.perf.measure(\"reqrep\", \"reqStart\", \"reqStop\");\n }\n const measures = this.perf.getEntries();\n const pubsub = measures.find((m)=>m.name === \"pubsub\");\n const reqrep = measures.find((m)=>m.name === \"reqrep\");\n const req = measures.find((m)=>m.name === \"req\");\n const rep = measures.find((m)=>m.name === \"rep\");\n const pub = measures.find((m)=>m.name === \"pub\");\n const sub = measures.find((m)=>m.name === \"sub\");\n const stats = this.nc.stats();\n const metrics = [];\n if (pubsub) {\n const { name, duration } = pubsub;\n const m = new Metric(name, duration);\n m.msgs = this.msgs * 2;\n m.bytes = stats.inBytes + stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (reqrep) {\n const { name, duration } = reqrep;\n const m = new Metric(name, duration);\n m.msgs = this.msgs * 2;\n m.bytes = stats.inBytes + stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (pub) {\n const { name, duration } = pub;\n const m = new Metric(name, duration);\n m.msgs = this.msgs;\n m.bytes = stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (sub) {\n const { name, duration } = sub;\n const m = new Metric(name, duration);\n m.msgs = this.msgs;\n m.bytes = stats.inBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (rep) {\n const { name, duration } = rep;\n const m = new Metric(name, duration);\n m.msgs = this.msgs;\n m.bytes = stats.inBytes + stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n if (req) {\n const { name, duration } = req;\n const m = new Metric(name, duration);\n m.msgs = this.msgs;\n m.bytes = stats.inBytes + stats.outBytes;\n m.lang = lang;\n m.version = version;\n m.payload = this.payload.length;\n metrics.push(m);\n }\n return metrics;\n }\n async runCallbacks() {\n const jobs = [];\n if (this.sub) {\n const d = deferred();\n jobs.push(d);\n let i = 0;\n this.nc.subscribe(this.subject, {\n max: this.msgs,\n callback: ()=>{\n i++;\n if (i === 1) {\n this.perf.mark(\"subStart\");\n }\n if (i === this.msgs) {\n this.perf.mark(\"subStop\");\n this.perf.measure(\"sub\", \"subStart\", \"subStop\");\n d.resolve();\n }\n }\n });\n }\n if (this.rep) {\n const d = deferred();\n jobs.push(d);\n let i = 0;\n this.nc.subscribe(this.subject, {\n max: this.msgs,\n callback: (_, m)=>{\n m.respond(this.payload);\n i++;\n if (i === 1) {\n this.perf.mark(\"repStart\");\n }\n if (i === this.msgs) {\n this.perf.mark(\"repStop\");\n this.perf.measure(\"rep\", \"repStart\", \"repStop\");\n d.resolve();\n }\n }\n });\n }\n if (this.pub) {\n const job = (async ()=>{\n this.perf.mark(\"pubStart\");\n for(let i = 0; i < this.msgs; i++){\n this.nc.publish(this.subject, this.payload);\n }\n await this.nc.flush();\n this.perf.mark(\"pubStop\");\n this.perf.measure(\"pub\", \"pubStart\", \"pubStop\");\n })();\n jobs.push(job);\n }\n if (this.req) {\n const job = (async ()=>{\n if (this.asyncRequests) {\n this.perf.mark(\"reqStart\");\n const a = [];\n for(let i = 0; i < this.msgs; i++){\n a.push(this.nc.request(this.subject, this.payload, {\n timeout: 20000\n }));\n }\n await Promise.all(a);\n this.perf.mark(\"reqStop\");\n this.perf.measure(\"req\", \"reqStart\", \"reqStop\");\n } else {\n this.perf.mark(\"reqStart\");\n for(let i = 0; i < this.msgs; i++){\n await this.nc.request(this.subject);\n }\n this.perf.mark(\"reqStop\");\n this.perf.measure(\"req\", \"reqStart\", \"reqStop\");\n }\n })();\n jobs.push(job);\n }\n await Promise.all(jobs);\n }\n async runAsync() {\n const jobs = [];\n if (this.rep) {\n let first = false;\n const sub = this.nc.subscribe(this.subject, {\n max: this.msgs\n });\n const job = (async ()=>{\n for await (const m of sub){\n if (!first) {\n this.perf.mark(\"repStart\");\n first = true;\n }\n m.respond(this.payload);\n }\n await this.nc.flush();\n this.perf.mark(\"repStop\");\n this.perf.measure(\"rep\", \"repStart\", \"repStop\");\n })();\n jobs.push(job);\n }\n if (this.sub) {\n let first = false;\n const sub = this.nc.subscribe(this.subject, {\n max: this.msgs\n });\n const job = (async ()=>{\n for await (const _m of sub){\n if (!first) {\n this.perf.mark(\"subStart\");\n first = true;\n }\n }\n this.perf.mark(\"subStop\");\n this.perf.measure(\"sub\", \"subStart\", \"subStop\");\n })();\n jobs.push(job);\n }\n if (this.pub) {\n const job = (async ()=>{\n this.perf.mark(\"pubStart\");\n for(let i = 0; i < this.msgs; i++){\n this.nc.publish(this.subject, this.payload);\n }\n await this.nc.flush();\n this.perf.mark(\"pubStop\");\n this.perf.measure(\"pub\", \"pubStart\", \"pubStop\");\n })();\n jobs.push(job);\n }\n if (this.req) {\n const job = (async ()=>{\n if (this.asyncRequests) {\n this.perf.mark(\"reqStart\");\n const a = [];\n for(let i = 0; i < this.msgs; i++){\n a.push(this.nc.request(this.subject, this.payload, {\n timeout: 20000\n }));\n }\n await Promise.all(a);\n this.perf.mark(\"reqStop\");\n this.perf.measure(\"req\", \"reqStart\", \"reqStop\");\n } else {\n this.perf.mark(\"reqStart\");\n for(let i = 0; i < this.msgs; i++){\n await this.nc.request(this.subject);\n }\n this.perf.mark(\"reqStop\");\n this.perf.measure(\"req\", \"reqStart\", \"reqStop\");\n }\n })();\n jobs.push(job);\n }\n await Promise.all(jobs);\n }\n}\nfunction throughput(bytes, seconds) {\n return `${humanizeBytes(bytes / seconds)}/sec`;\n}\nfunction humanizeBytes(bytes, si = false) {\n const base = si ? 1000 : 1024;\n const pre = si ? [\n \"k\",\n \"M\",\n \"G\",\n \"T\",\n \"P\",\n \"E\"\n ] : [\n \"K\",\n \"M\",\n \"G\",\n \"T\",\n \"P\",\n \"E\"\n ];\n const post = si ? \"iB\" : \"B\";\n if (bytes < base) {\n return `${bytes.toFixed(2)} ${post}`;\n }\n const exp = parseInt(Math.log(bytes) / Math.log(base) + \"\");\n const index = parseInt(exp - 1 + \"\");\n return `${(bytes / Math.pow(base, exp)).toFixed(2)} ${pre[index]}${post}`;\n}\nfunction humanizeNumber(n) {\n return n.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n}\nexport { backoff as backoff, Bench as Bench, buildAuthenticator as buildAuthenticator, canonicalMIMEHeaderKey as canonicalMIMEHeaderKey, createInbox as createInbox, credsAuthenticator as credsAuthenticator, deadline as deadline, DebugEvents as DebugEvents, deferred as deferred, delay as delay, Empty as Empty, ErrorCode as ErrorCode, Events as Events, headers as headers, JSONCodec as JSONCodec, jwtAuthenticator as jwtAuthenticator, Match as Match, Metric as Metric, millis as millis, MsgHdrsImpl as MsgHdrsImpl, nanos as nanos, NatsError as NatsError, nkeyAuthenticator as nkeyAuthenticator, mod as nkeys, Nuid as Nuid, nuid as nuid, RequestStrategy as RequestStrategy, ServiceError as ServiceError, ServiceErrorCodeHeader as ServiceErrorCodeHeader, ServiceErrorHeader as ServiceErrorHeader, ServiceResponseType as ServiceResponseType, ServiceVerb as ServiceVerb, StringCodec as StringCodec, syncIterator as syncIterator, tokenAuthenticator as tokenAuthenticator, usernamePasswordAuthenticator as usernamePasswordAuthenticator };\nfunction NoopKvCodecs() {\n return {\n key: {\n encode (k) {\n return k;\n },\n decode (k) {\n return k;\n }\n },\n value: {\n encode (v) {\n return v;\n },\n decode (v) {\n return v;\n }\n }\n };\n}\nfunction defaultBucketOpts() {\n return {\n replicas: 1,\n history: 1,\n timeout: 2000,\n maxBucketSize: -1,\n maxValueSize: -1,\n codec: NoopKvCodecs(),\n storage: StorageType.File\n };\n}\nconst kvOperationHdr = \"KV-Operation\";\nconst kvSubjectPrefix = \"$KV\";\nconst validKeyRe = /^[-/=.\\w]+$/;\nconst validSearchKey = /^[-/=.>*\\w]+$/;\nconst validBucketRe = /^[-\\w]+$/;\nfunction validateKey(k) {\n if (k.startsWith(\".\") || k.endsWith(\".\") || !validKeyRe.test(k)) {\n throw new Error(`invalid key: ${k}`);\n }\n}\nfunction validateSearchKey(k) {\n if (k.startsWith(\".\") || k.endsWith(\".\") || !validSearchKey.test(k)) {\n throw new Error(`invalid key: ${k}`);\n }\n}\nfunction hasWildcards(k) {\n if (k.startsWith(\".\") || k.endsWith(\".\")) {\n throw new Error(`invalid key: ${k}`);\n }\n const chunks = k.split(\".\");\n let hasWildcards = false;\n for(let i = 0; i < chunks.length; i++){\n switch(chunks[i]){\n case \"*\":\n hasWildcards = true;\n break;\n case \">\":\n if (i !== chunks.length - 1) {\n throw new Error(`invalid key: ${k}`);\n }\n hasWildcards = true;\n break;\n default:\n }\n }\n return hasWildcards;\n}\nfunction validateBucket(name) {\n if (!validBucketRe.test(name)) {\n throw new Error(`invalid bucket name: ${name}`);\n }\n}\nvar PubHeaders;\n(function(PubHeaders) {\n PubHeaders[\"MsgIdHdr\"] = \"Nats-Msg-Id\";\n PubHeaders[\"ExpectedStreamHdr\"] = \"Nats-Expected-Stream\";\n PubHeaders[\"ExpectedLastSeqHdr\"] = \"Nats-Expected-Last-Sequence\";\n PubHeaders[\"ExpectedLastMsgIdHdr\"] = \"Nats-Expected-Last-Msg-Id\";\n PubHeaders[\"ExpectedLastSubjectSequenceHdr\"] = \"Nats-Expected-Last-Subject-Sequence\";\n})(PubHeaders || (PubHeaders = {}));\nclass Bucket {\n js;\n jsm;\n stream;\n bucket;\n direct;\n codec;\n prefix;\n editPrefix;\n useJsPrefix;\n _prefixLen;\n constructor(bucket, js, jsm){\n validateBucket(bucket);\n this.js = js;\n this.jsm = jsm;\n this.bucket = bucket;\n this.prefix = kvSubjectPrefix;\n this.editPrefix = \"\";\n this.useJsPrefix = false;\n this._prefixLen = 0;\n }\n static async create(js, name, opts = {}) {\n validateBucket(name);\n const jsm = await js.jetstreamManager();\n const bucket = new Bucket(name, js, jsm);\n await bucket.init(opts);\n return bucket;\n }\n static async bind(js, name, opts = {}) {\n const jsm = await js.jetstreamManager();\n const info = {\n config: {\n allow_direct: opts.allow_direct\n }\n };\n validateBucket(name);\n const bucket = new Bucket(name, js, jsm);\n info.config.name = opts.streamName ?? bucket.bucketName();\n Object.assign(bucket, info);\n bucket.stream = info.config.name;\n bucket.codec = opts.codec || NoopKvCodecs();\n bucket.direct = info.config.allow_direct ?? false;\n bucket.initializePrefixes(info);\n return bucket;\n }\n async init(opts = {}) {\n const bo = Object.assign(defaultBucketOpts(), opts);\n this.codec = bo.codec;\n const sc = {};\n this.stream = sc.name = opts.streamName ?? this.bucketName();\n sc.retention = RetentionPolicy.Limits;\n sc.max_msgs_per_subject = bo.history;\n if (bo.maxBucketSize) {\n bo.max_bytes = bo.maxBucketSize;\n }\n if (bo.max_bytes) {\n sc.max_bytes = bo.max_bytes;\n }\n sc.max_msg_size = bo.maxValueSize;\n sc.storage = bo.storage;\n const location = opts.placementCluster ?? \"\";\n if (location) {\n opts.placement = {};\n opts.placement.cluster = location;\n opts.placement.tags = [];\n }\n if (opts.placement) {\n sc.placement = opts.placement;\n }\n if (opts.republish) {\n sc.republish = opts.republish;\n }\n if (opts.description) {\n sc.description = opts.description;\n }\n if (opts.mirror) {\n const mirror = Object.assign({}, opts.mirror);\n if (!mirror.name.startsWith(kvPrefix)) {\n mirror.name = `${kvPrefix}${mirror.name}`;\n }\n sc.mirror = mirror;\n sc.mirror_direct = true;\n } else if (opts.sources) {\n const sources = opts.sources.map((s)=>{\n const c = Object.assign({}, s);\n if (!c.name.startsWith(kvPrefix)) {\n c.name = `${kvPrefix}${c.name}`;\n }\n });\n sc.sources = sources;\n } else {\n sc.subjects = [\n this.subjectForBucket()\n ];\n }\n if (opts.metadata) {\n sc.metadata = opts.metadata;\n }\n if (typeof opts.compression === \"boolean\") {\n sc.compression = opts.compression ? StoreCompression.S2 : StoreCompression.None;\n }\n const nci = this.js.nc;\n const have = nci.getServerVersion();\n const discardNew = have ? compare(have, parseSemVer(\"2.7.2\")) >= 0 : false;\n sc.discard = discardNew ? DiscardPolicy.New : DiscardPolicy.Old;\n const { ok: direct, min } = nci.features.get(Feature.JS_ALLOW_DIRECT);\n if (!direct && opts.allow_direct === true) {\n const v = have ? `${have.major}.${have.minor}.${have.micro}` : \"unknown\";\n return Promise.reject(new Error(`allow_direct is not available on server version ${v} - requires ${min}`));\n }\n opts.allow_direct = typeof opts.allow_direct === \"boolean\" ? opts.allow_direct : direct;\n sc.allow_direct = opts.allow_direct;\n this.direct = sc.allow_direct;\n sc.num_replicas = bo.replicas;\n if (bo.ttl) {\n sc.max_age = nanos(bo.ttl);\n }\n sc.allow_rollup_hdrs = true;\n let info;\n try {\n info = await this.jsm.streams.info(sc.name);\n if (!info.config.allow_direct && this.direct === true) {\n this.direct = false;\n }\n } catch (err) {\n if (err.message === \"stream not found\") {\n info = await this.jsm.streams.add(sc);\n } else {\n throw err;\n }\n }\n this.initializePrefixes(info);\n }\n initializePrefixes(info) {\n this._prefixLen = 0;\n this.prefix = `$KV.${this.bucket}`;\n this.useJsPrefix = this.js.apiPrefix !== \"$JS.API\";\n const { mirror } = info.config;\n if (mirror) {\n let n = mirror.name;\n if (n.startsWith(kvPrefix)) {\n n = n.substring(kvPrefix.length);\n }\n if (mirror.external && mirror.external.api !== \"\") {\n const mb = mirror.name.substring(kvPrefix.length);\n this.useJsPrefix = false;\n this.prefix = `$KV.${mb}`;\n this.editPrefix = `${mirror.external.api}.$KV.${n}`;\n } else {\n this.editPrefix = this.prefix;\n }\n }\n }\n bucketName() {\n return this.stream ?? `${kvPrefix}${this.bucket}`;\n }\n subjectForBucket() {\n return `${this.prefix}.${this.bucket}.>`;\n }\n subjectForKey(k, edit = false) {\n const builder = [];\n if (edit) {\n if (this.useJsPrefix) {\n builder.push(this.js.apiPrefix);\n }\n if (this.editPrefix !== \"\") {\n builder.push(this.editPrefix);\n } else {\n builder.push(this.prefix);\n }\n } else {\n if (this.prefix) {\n builder.push(this.prefix);\n }\n }\n builder.push(k);\n return builder.join(\".\");\n }\n fullKeyName(k) {\n if (this.prefix !== \"\") {\n return `${this.prefix}.${k}`;\n }\n return `${kvSubjectPrefix}.${this.bucket}.${k}`;\n }\n get prefixLen() {\n if (this._prefixLen === 0) {\n this._prefixLen = this.prefix.length + 1;\n }\n return this._prefixLen;\n }\n encodeKey(key) {\n const chunks = [];\n for (const t of key.split(\".\")){\n switch(t){\n case \">\":\n case \"*\":\n chunks.push(t);\n break;\n default:\n chunks.push(this.codec.key.encode(t));\n break;\n }\n }\n return chunks.join(\".\");\n }\n decodeKey(ekey) {\n const chunks = [];\n for (const t of ekey.split(\".\")){\n switch(t){\n case \">\":\n case \"*\":\n chunks.push(t);\n break;\n default:\n chunks.push(this.codec.key.decode(t));\n break;\n }\n }\n return chunks.join(\".\");\n }\n validateKey = validateKey;\n validateSearchKey = validateSearchKey;\n hasWildcards = hasWildcards;\n close() {\n return Promise.resolve();\n }\n dataLen(data, h) {\n const slen = h ? h.get(JsHeaders.MessageSizeHdr) || \"\" : \"\";\n if (slen !== \"\") {\n return parseInt(slen, 10);\n }\n return data.length;\n }\n smToEntry(sm) {\n return new KvStoredEntryImpl(this.bucket, this.prefixLen, sm);\n }\n jmToEntry(jm) {\n const key = this.decodeKey(jm.subject.substring(this.prefixLen));\n return new KvJsMsgEntryImpl(this.bucket, key, jm);\n }\n async create(k, data) {\n let firstErr;\n try {\n const n = await this.put(k, data, {\n previousSeq: 0\n });\n return Promise.resolve(n);\n } catch (err) {\n firstErr = err;\n if (err?.api_error?.err_code !== 10071) {\n return Promise.reject(err);\n }\n }\n let rev = 0;\n try {\n const e = await this.get(k);\n if (e?.operation === \"DEL\" || e?.operation === \"PURGE\") {\n rev = e !== null ? e.revision : 0;\n return this.update(k, data, rev);\n } else {\n return Promise.reject(firstErr);\n }\n } catch (err) {\n return Promise.reject(err);\n }\n }\n update(k, data, version) {\n if (version <= 0) {\n throw new Error(\"version must be greater than 0\");\n }\n return this.put(k, data, {\n previousSeq: version\n });\n }\n async put(k, data, opts = {}) {\n const ek = this.encodeKey(k);\n this.validateKey(ek);\n const o = {};\n if (opts.previousSeq !== undefined) {\n const h = headers();\n o.headers = h;\n h.set(PubHeaders.ExpectedLastSubjectSequenceHdr, `${opts.previousSeq}`);\n }\n try {\n const pa = await this.js.publish(this.subjectForKey(ek, true), data, o);\n return pa.seq;\n } catch (err) {\n const ne = err;\n if (ne.isJetStreamError()) {\n ne.message = ne.api_error?.description;\n ne.code = `${ne.api_error?.code}`;\n return Promise.reject(ne);\n }\n return Promise.reject(err);\n }\n }\n async get(k, opts) {\n const ek = this.encodeKey(k);\n this.validateKey(ek);\n let arg = {\n last_by_subj: this.subjectForKey(ek)\n };\n if (opts && opts.revision > 0) {\n arg = {\n seq: opts.revision\n };\n }\n let sm;\n try {\n if (this.direct) {\n const direct = this.jsm.direct;\n sm = await direct.getMessage(this.bucketName(), arg);\n } else {\n sm = await this.jsm.streams.getMessage(this.bucketName(), arg);\n }\n const ke = this.smToEntry(sm);\n if (ke.key !== ek) {\n return null;\n }\n return ke;\n } catch (err) {\n if (err.code === ErrorCode.JetStream404NoMessages) {\n return null;\n }\n throw err;\n }\n }\n purge(k, opts) {\n return this._deleteOrPurge(k, \"PURGE\", opts);\n }\n delete(k, opts) {\n return this._deleteOrPurge(k, \"DEL\", opts);\n }\n async purgeDeletes(olderMillis = 30 * 60 * 1000) {\n const done = deferred();\n const buf = [];\n const i = await this.watch({\n key: \">\",\n initializedFn: ()=>{\n done.resolve();\n }\n });\n (async ()=>{\n for await (const e of i){\n if (e.operation === \"DEL\" || e.operation === \"PURGE\") {\n buf.push(e);\n }\n }\n })().then();\n await done;\n i.stop();\n const min = Date.now() - olderMillis;\n const proms = buf.map((e)=>{\n const subj = this.subjectForKey(e.key);\n if (e.created.getTime() >= min) {\n return this.jsm.streams.purge(this.stream, {\n filter: subj,\n keep: 1\n });\n } else {\n return this.jsm.streams.purge(this.stream, {\n filter: subj,\n keep: 0\n });\n }\n });\n const purged = await Promise.all(proms);\n purged.unshift({\n success: true,\n purged: 0\n });\n return purged.reduce((pv, cv)=>{\n pv.purged += cv.purged;\n return pv;\n });\n }\n async _deleteOrPurge(k, op, opts) {\n if (!this.hasWildcards(k)) {\n return this._doDeleteOrPurge(k, op, opts);\n }\n const iter = await this.keys(k);\n const buf = [];\n for await (const k of iter){\n buf.push(this._doDeleteOrPurge(k, op));\n if (buf.length === 100) {\n await Promise.all(buf);\n buf.length = 0;\n }\n }\n if (buf.length > 0) {\n await Promise.all(buf);\n }\n }\n async _doDeleteOrPurge(k, op, opts) {\n const ek = this.encodeKey(k);\n this.validateKey(ek);\n const h = headers();\n h.set(kvOperationHdr, op);\n if (op === \"PURGE\") {\n h.set(JsHeaders.RollupHdr, JsHeaders.RollupValueSubject);\n }\n if (opts?.previousSeq) {\n h.set(PubHeaders.ExpectedLastSubjectSequenceHdr, `${opts.previousSeq}`);\n }\n await this.js.publish(this.subjectForKey(ek, true), Empty, {\n headers: h\n });\n }\n _buildCC(k, content, opts = {}) {\n const a = !Array.isArray(k) ? [\n k\n ] : k;\n let filter_subjects = a.map((k)=>{\n const ek = this.encodeKey(k);\n this.validateSearchKey(k);\n return this.fullKeyName(ek);\n });\n let deliver_policy = DeliverPolicy.LastPerSubject;\n if (content === KvWatchInclude.AllHistory) {\n deliver_policy = DeliverPolicy.All;\n }\n if (content === KvWatchInclude.UpdatesOnly) {\n deliver_policy = DeliverPolicy.New;\n }\n let filter_subject = undefined;\n if (filter_subjects.length === 1) {\n filter_subject = filter_subjects[0];\n filter_subjects = undefined;\n }\n return Object.assign({\n deliver_policy,\n \"ack_policy\": AckPolicy.None,\n filter_subjects,\n filter_subject,\n \"flow_control\": true,\n \"idle_heartbeat\": nanos(5 * 1000)\n }, opts);\n }\n remove(k) {\n return this.purge(k);\n }\n async history(opts = {}) {\n const k = opts.key ?? \">\";\n const qi = new QueuedIteratorImpl();\n const co = {};\n co.headers_only = opts.headers_only || false;\n let fn;\n fn = ()=>{\n qi.stop();\n };\n let count = 0;\n const cc = this._buildCC(k, KvWatchInclude.AllHistory, co);\n const subj = cc.filter_subject;\n const copts = consumerOpts(cc);\n copts.bindStream(this.stream);\n copts.orderedConsumer();\n copts.callback((err, jm)=>{\n if (err) {\n qi.stop(err);\n return;\n }\n if (jm) {\n const e = this.jmToEntry(jm);\n qi.push(e);\n qi.received++;\n if (fn && count > 0 && qi.received >= count || jm.info.pending === 0) {\n qi.push(fn);\n fn = undefined;\n }\n }\n });\n const sub = await this.js.subscribe(subj, copts);\n if (fn) {\n const { info: { last } } = sub;\n const expect = last.num_pending + last.delivered.consumer_seq;\n if (expect === 0 || qi.received >= expect) {\n try {\n fn();\n } catch (err) {\n qi.stop(err);\n } finally{\n fn = undefined;\n }\n } else {\n count = expect;\n }\n }\n qi._data = sub;\n qi.iterClosed.then(()=>{\n sub.unsubscribe();\n });\n sub.closed.then(()=>{\n qi.stop();\n }).catch((err)=>{\n qi.stop(err);\n });\n return qi;\n }\n canSetWatcherName() {\n const jsi = this.js;\n const nci = jsi.nc;\n const { ok } = nci.features.get(Feature.JS_NEW_CONSUMER_CREATE_API);\n return ok;\n }\n async watch(opts = {}) {\n const k = opts.key ?? \">\";\n const qi = new QueuedIteratorImpl();\n const co = {};\n co.headers_only = opts.headers_only || false;\n let content = KvWatchInclude.LastValue;\n if (opts.include === KvWatchInclude.AllHistory) {\n content = KvWatchInclude.AllHistory;\n } else if (opts.include === KvWatchInclude.UpdatesOnly) {\n content = KvWatchInclude.UpdatesOnly;\n }\n const ignoreDeletes = opts.ignoreDeletes === true;\n let fn = opts.initializedFn;\n let count = 0;\n const cc = this._buildCC(k, content, co);\n const subj = cc.filter_subject;\n const copts = consumerOpts(cc);\n if (this.canSetWatcherName()) {\n copts.consumerName(nuid.next());\n }\n copts.bindStream(this.stream);\n if (opts.resumeFromRevision && opts.resumeFromRevision > 0) {\n copts.startSequence(opts.resumeFromRevision);\n }\n copts.orderedConsumer();\n copts.callback((err, jm)=>{\n if (err) {\n qi.stop(err);\n return;\n }\n if (jm) {\n const e = this.jmToEntry(jm);\n if (ignoreDeletes && e.operation === \"DEL\") {\n return;\n }\n qi.push(e);\n qi.received++;\n if (fn && (count > 0 && qi.received >= count || jm.info.pending === 0)) {\n qi.push(fn);\n fn = undefined;\n }\n }\n });\n const sub = await this.js.subscribe(subj, copts);\n if (fn) {\n const { info: { last } } = sub;\n const expect = last.num_pending + last.delivered.consumer_seq;\n if (expect === 0 || qi.received >= expect) {\n try {\n fn();\n } catch (err) {\n qi.stop(err);\n } finally{\n fn = undefined;\n }\n } else {\n count = expect;\n }\n }\n qi._data = sub;\n qi.iterClosed.then(()=>{\n sub.unsubscribe();\n });\n sub.closed.then(()=>{\n qi.stop();\n }).catch((err)=>{\n qi.stop(err);\n });\n return qi;\n }\n async keys(k = \">\") {\n const keys = new QueuedIteratorImpl();\n const cc = this._buildCC(k, KvWatchInclude.LastValue, {\n headers_only: true\n });\n const subj = cc.filter_subject;\n const copts = consumerOpts(cc);\n copts.bindStream(this.stream);\n copts.orderedConsumer();\n const sub = await this.js.subscribe(subj, copts);\n (async ()=>{\n for await (const jm of sub){\n const op = jm.headers?.get(kvOperationHdr);\n if (op !== \"DEL\" && op !== \"PURGE\") {\n const key = this.decodeKey(jm.subject.substring(this.prefixLen));\n keys.push(key);\n }\n if (jm.info.pending === 0) {\n sub.unsubscribe();\n }\n }\n })().then(()=>{\n keys.stop();\n }).catch((err)=>{\n keys.stop(err);\n });\n const si = sub;\n if (si.info.last.num_pending === 0) {\n sub.unsubscribe();\n }\n return keys;\n }\n purgeBucket(opts) {\n return this.jsm.streams.purge(this.bucketName(), opts);\n }\n destroy() {\n return this.jsm.streams.delete(this.bucketName());\n }\n async status() {\n const nc = this.js.nc;\n const cluster = nc.info?.cluster ?? \"\";\n const bn = this.bucketName();\n const si = await this.jsm.streams.info(bn);\n return new KvStatusImpl(si, cluster);\n }\n}\nclass KvStatusImpl {\n si;\n cluster;\n constructor(si, cluster = \"\"){\n this.si = si;\n this.cluster = cluster;\n }\n get bucket() {\n return this.si.config.name.startsWith(kvPrefix) ? this.si.config.name.substring(kvPrefix.length) : this.si.config.name;\n }\n get values() {\n return this.si.state.messages;\n }\n get history() {\n return this.si.config.max_msgs_per_subject;\n }\n get ttl() {\n return millis(this.si.config.max_age);\n }\n get bucket_location() {\n return this.cluster;\n }\n get backingStore() {\n return this.si.config.storage;\n }\n get storage() {\n return this.si.config.storage;\n }\n get replicas() {\n return this.si.config.num_replicas;\n }\n get description() {\n return this.si.config.description ?? \"\";\n }\n get maxBucketSize() {\n return this.si.config.max_bytes;\n }\n get maxValueSize() {\n return this.si.config.max_msg_size;\n }\n get max_bytes() {\n return this.si.config.max_bytes;\n }\n get placement() {\n return this.si.config.placement || {\n cluster: \"\",\n tags: []\n };\n }\n get placementCluster() {\n return this.si.config.placement?.cluster ?? \"\";\n }\n get republish() {\n return this.si.config.republish ?? {\n src: \"\",\n dest: \"\"\n };\n }\n get streamInfo() {\n return this.si;\n }\n get size() {\n return this.si.state.bytes;\n }\n get metadata() {\n return this.si.config.metadata ?? {};\n }\n get compression() {\n if (this.si.config.compression) {\n return this.si.config.compression !== StoreCompression.None;\n }\n return false;\n }\n}\nconst osPrefix = \"OBJ_\";\nconst digestType = \"SHA-256=\";\nfunction objectStoreStreamName(bucket) {\n validateBucket(bucket);\n return `${osPrefix}${bucket}`;\n}\nfunction objectStoreBucketName(stream) {\n if (stream.startsWith(osPrefix)) {\n return stream.substring(4);\n }\n return stream;\n}\nclass ObjectStoreStatusImpl {\n si;\n backingStore;\n constructor(si){\n this.si = si;\n this.backingStore = \"JetStream\";\n }\n get bucket() {\n return objectStoreBucketName(this.si.config.name);\n }\n get description() {\n return this.si.config.description ?? \"\";\n }\n get ttl() {\n return this.si.config.max_age;\n }\n get storage() {\n return this.si.config.storage;\n }\n get replicas() {\n return this.si.config.num_replicas;\n }\n get sealed() {\n return this.si.config.sealed;\n }\n get size() {\n return this.si.state.bytes;\n }\n get streamInfo() {\n return this.si;\n }\n get metadata() {\n return this.si.config.metadata;\n }\n get compression() {\n if (this.si.config.compression) {\n return this.si.config.compression !== StoreCompression.None;\n }\n return false;\n }\n}\nfunction convertStreamSourceDomain(s) {\n if (s === undefined) {\n return undefined;\n }\n const { domain } = s;\n if (domain === undefined) {\n return s;\n }\n const copy = Object.assign({}, s);\n delete copy.domain;\n if (domain === \"\") {\n return copy;\n }\n if (copy.external) {\n throw new Error(\"domain and external are both set\");\n }\n copy.external = {\n api: `$JS.${domain}.API`\n };\n return copy;\n}\nvar PullConsumerType;\n(function(PullConsumerType) {\n PullConsumerType[PullConsumerType[\"Unset\"] = -1] = \"Unset\";\n PullConsumerType[PullConsumerType[\"Consume\"] = 0] = \"Consume\";\n PullConsumerType[PullConsumerType[\"Fetch\"] = 1] = \"Fetch\";\n})(PullConsumerType || (PullConsumerType = {}));\nvar ConsumerEvents;\n(function(ConsumerEvents) {\n ConsumerEvents[\"HeartbeatsMissed\"] = \"heartbeats_missed\";\n ConsumerEvents[\"ConsumerNotFound\"] = \"consumer_not_found\";\n ConsumerEvents[\"StreamNotFound\"] = \"stream_not_found\";\n ConsumerEvents[\"ConsumerDeleted\"] = \"consumer_deleted\";\n ConsumerEvents[\"OrderedConsumerRecreated\"] = \"ordered_consumer_recreated\";\n})(ConsumerEvents || (ConsumerEvents = {}));\nvar ConsumerDebugEvents;\n(function(ConsumerDebugEvents) {\n ConsumerDebugEvents[\"DebugEvent\"] = \"debug\";\n ConsumerDebugEvents[\"Discard\"] = \"discard\";\n ConsumerDebugEvents[\"Next\"] = \"next\";\n})(ConsumerDebugEvents || (ConsumerDebugEvents = {}));\nconst ACK = Uint8Array.of(43, 65, 67, 75);\nconst NAK = Uint8Array.of(45, 78, 65, 75);\nconst WPI = Uint8Array.of(43, 87, 80, 73);\nconst NXT = Uint8Array.of(43, 78, 88, 84);\nconst TERM = Uint8Array.of(43, 84, 69, 82, 77);\nconst SPACE = Uint8Array.of(32);\nfunction toJsMsg(m) {\n return new JsMsgImpl(m);\n}\nclass PullConsumerMessagesImpl extends QueuedIteratorImpl {\n consumer;\n opts;\n sub;\n monitor;\n pending;\n inbox;\n refilling;\n pong;\n callback;\n timeout;\n cleanupHandler;\n listeners;\n statusIterator;\n forOrderedConsumer;\n resetHandler;\n abortOnMissingResource;\n bind;\n constructor(c, opts, refilling = false){\n super();\n this.consumer = c;\n const copts = opts;\n this.opts = this.parseOptions(opts, refilling);\n this.callback = copts.callback || null;\n this.noIterator = typeof this.callback === \"function\";\n this.monitor = null;\n this.pong = null;\n this.pending = {\n msgs: 0,\n bytes: 0,\n requests: 0\n };\n this.refilling = refilling;\n this.timeout = null;\n this.inbox = createInbox(c.api.nc.options.inboxPrefix);\n this.listeners = [];\n this.forOrderedConsumer = false;\n this.abortOnMissingResource = copts.abort_on_missing_resource === true;\n this.bind = copts.bind === true;\n this.start();\n }\n start() {\n const { max_messages, max_bytes, idle_heartbeat, threshold_bytes, threshold_messages } = this.opts;\n this.closed().then((err)=>{\n if (this.cleanupHandler) {\n try {\n this.cleanupHandler(err);\n } catch (_err) {}\n }\n });\n const { sub } = this;\n if (sub) {\n sub.unsubscribe();\n }\n this.sub = this.consumer.api.nc.subscribe(this.inbox, {\n callback: (err, msg)=>{\n if (err) {\n this.stop(err);\n return;\n }\n this.monitor?.work();\n const isProtocol = msg.subject === this.inbox;\n if (isProtocol) {\n if (isHeartbeatMsg(msg)) {\n return;\n }\n const code = msg.headers?.code;\n const description = msg.headers?.description?.toLowerCase() || \"unknown\";\n const { msgsLeft, bytesLeft } = this.parseDiscard(msg.headers);\n if (msgsLeft > 0 || bytesLeft > 0) {\n this.pending.msgs -= msgsLeft;\n this.pending.bytes -= bytesLeft;\n this.pending.requests--;\n this.notify(ConsumerDebugEvents.Discard, {\n msgsLeft,\n bytesLeft\n });\n } else {\n if (code === 400) {\n this.stop(new NatsError(description, `${code}`));\n return;\n } else if (code === 409 && description === \"consumer deleted\") {\n this.notify(ConsumerEvents.ConsumerDeleted, `${code} ${description}`);\n if (!this.refilling || this.abortOnMissingResource) {\n const error = new NatsError(description, `${code}`);\n this.stop(error);\n return;\n }\n } else {\n this.notify(ConsumerDebugEvents.DebugEvent, `${code} ${description}`);\n }\n }\n } else {\n this._push(toJsMsg(msg));\n this.received++;\n if (this.pending.msgs) {\n this.pending.msgs--;\n }\n if (this.pending.bytes) {\n this.pending.bytes -= msg.size();\n }\n }\n if (this.pending.msgs === 0 && this.pending.bytes === 0) {\n this.pending.requests = 0;\n }\n if (this.refilling) {\n if (max_messages && this.pending.msgs <= threshold_messages || max_bytes && this.pending.bytes <= threshold_bytes) {\n const batch = this.pullOptions();\n this.pull(batch);\n }\n } else if (this.pending.requests === 0) {\n this._push(()=>{\n this.stop();\n });\n }\n }\n });\n this.sub.closed.then(()=>{\n if (this.sub.draining) {\n this._push(()=>{\n this.stop();\n });\n }\n });\n if (idle_heartbeat) {\n this.monitor = new IdleHeartbeatMonitor(idle_heartbeat, (data)=>{\n this.notify(ConsumerEvents.HeartbeatsMissed, data);\n this.resetPending().then(()=>{}).catch(()=>{});\n return false;\n }, {\n maxOut: 2\n });\n }\n (async ()=>{\n const status = this.consumer.api.nc.status();\n this.statusIterator = status;\n for await (const s of status){\n switch(s.type){\n case Events.Disconnect:\n this.monitor?.cancel();\n break;\n case Events.Reconnect:\n this.resetPending().then((ok)=>{\n if (ok) {\n this.monitor?.restart();\n }\n }).catch(()=>{});\n break;\n default:\n }\n }\n })();\n this.pull(this.pullOptions());\n }\n _push(r) {\n if (!this.callback) {\n super.push(r);\n } else {\n const fn = typeof r === \"function\" ? r : null;\n try {\n if (!fn) {\n this.callback(r);\n } else {\n fn();\n }\n } catch (err) {\n this.stop(err);\n }\n }\n }\n notify(type, data) {\n if (this.listeners.length > 0) {\n (()=>{\n this.listeners.forEach((l)=>{\n if (!l.done) {\n l.push({\n type,\n data\n });\n }\n });\n })();\n }\n }\n resetPending() {\n return this.bind ? this.resetPendingNoInfo() : this.resetPendingWithInfo();\n }\n resetPendingNoInfo() {\n this.pending.msgs = 0;\n this.pending.bytes = 0;\n this.pending.requests = 0;\n this.pull(this.pullOptions());\n return Promise.resolve(true);\n }\n async resetPendingWithInfo() {\n let notFound = 0;\n let streamNotFound = 0;\n const bo = backoff();\n let attempt = 0;\n while(true){\n if (this.done) {\n return false;\n }\n if (this.consumer.api.nc.isClosed()) {\n console.error(\"aborting resetPending - connection is closed\");\n return false;\n }\n try {\n await this.consumer.info();\n notFound = 0;\n this.pending.msgs = 0;\n this.pending.bytes = 0;\n this.pending.requests = 0;\n this.pull(this.pullOptions());\n return true;\n } catch (err) {\n if (err.message === \"stream not found\") {\n streamNotFound++;\n this.notify(ConsumerEvents.StreamNotFound, streamNotFound);\n if (!this.refilling || this.abortOnMissingResource) {\n this.stop(err);\n return false;\n }\n } else if (err.message === \"consumer not found\") {\n notFound++;\n this.notify(ConsumerEvents.ConsumerNotFound, notFound);\n if (this.resetHandler) {\n try {\n this.resetHandler();\n } catch (_) {}\n }\n if (!this.refilling || this.abortOnMissingResource) {\n this.stop(err);\n return false;\n }\n if (this.forOrderedConsumer) {\n return false;\n }\n } else {\n notFound = 0;\n streamNotFound = 0;\n }\n const to = bo.backoff(attempt);\n const de = delay(to);\n await Promise.race([\n de,\n this.consumer.api.nc.closed()\n ]);\n de.cancel();\n attempt++;\n }\n }\n }\n pull(opts) {\n this.pending.bytes += opts.max_bytes ?? 0;\n this.pending.msgs += opts.batch ?? 0;\n this.pending.requests++;\n const nc = this.consumer.api.nc;\n this._push(()=>{\n nc.publish(`${this.consumer.api.prefix}.CONSUMER.MSG.NEXT.${this.consumer.stream}.${this.consumer.name}`, this.consumer.api.jc.encode(opts), {\n reply: this.inbox\n });\n this.notify(ConsumerDebugEvents.Next, opts);\n });\n }\n pullOptions() {\n const batch = this.opts.max_messages - this.pending.msgs;\n const max_bytes = this.opts.max_bytes - this.pending.bytes;\n const idle_heartbeat = nanos(this.opts.idle_heartbeat);\n const expires = nanos(this.opts.expires);\n return {\n batch,\n max_bytes,\n idle_heartbeat,\n expires\n };\n }\n parseDiscard(headers) {\n const discard = {\n msgsLeft: 0,\n bytesLeft: 0\n };\n const msgsLeft = headers?.get(JsHeaders.PendingMessagesHdr);\n if (msgsLeft) {\n discard.msgsLeft = parseInt(msgsLeft);\n }\n const bytesLeft = headers?.get(JsHeaders.PendingBytesHdr);\n if (bytesLeft) {\n discard.bytesLeft = parseInt(bytesLeft);\n }\n return discard;\n }\n trackTimeout(t) {\n this.timeout = t;\n }\n close() {\n this.stop();\n return this.iterClosed;\n }\n closed() {\n return this.iterClosed;\n }\n clearTimers() {\n this.monitor?.cancel();\n this.monitor = null;\n this.timeout?.cancel();\n this.timeout = null;\n }\n setCleanupHandler(fn) {\n this.cleanupHandler = fn;\n }\n stop(err) {\n if (this.done) {\n return;\n }\n this.sub?.unsubscribe();\n this.clearTimers();\n this.statusIterator?.stop();\n this._push(()=>{\n super.stop(err);\n this.listeners.forEach((n)=>{\n n.stop();\n });\n });\n }\n parseOptions(opts, refilling = false) {\n const args = opts || {};\n args.max_messages = args.max_messages || 0;\n args.max_bytes = args.max_bytes || 0;\n if (args.max_messages !== 0 && args.max_bytes !== 0) {\n throw new Error(`only specify one of max_messages or max_bytes`);\n }\n if (args.max_messages === 0) {\n args.max_messages = 100;\n }\n args.expires = args.expires || 30_000;\n if (args.expires < 1000) {\n throw new Error(\"expires should be at least 1000ms\");\n }\n args.idle_heartbeat = args.idle_heartbeat || args.expires / 2;\n args.idle_heartbeat = args.idle_heartbeat > 30_000 ? 30_000 : args.idle_heartbeat;\n if (refilling) {\n const minMsgs = Math.round(args.max_messages * .75) || 1;\n args.threshold_messages = args.threshold_messages || minMsgs;\n const minBytes = Math.round(args.max_bytes * .75) || 1;\n args.threshold_bytes = args.threshold_bytes || minBytes;\n }\n return args;\n }\n status() {\n const iter = new QueuedIteratorImpl();\n this.listeners.push(iter);\n return Promise.resolve(iter);\n }\n}\nclass OrderedConsumerMessages extends QueuedIteratorImpl {\n src;\n listeners;\n constructor(){\n super();\n this.listeners = [];\n }\n setSource(src) {\n if (this.src) {\n this.src.resetHandler = undefined;\n this.src.setCleanupHandler();\n this.src.stop();\n }\n this.src = src;\n this.src.setCleanupHandler((err)=>{\n this.stop(err || undefined);\n });\n (async ()=>{\n const status = await this.src.status();\n for await (const s of status){\n this.notify(s.type, s.data);\n }\n })().catch(()=>{});\n }\n notify(type, data) {\n if (this.listeners.length > 0) {\n (()=>{\n this.listeners.forEach((l)=>{\n if (!l.done) {\n l.push({\n type,\n data\n });\n }\n });\n })();\n }\n }\n stop(err) {\n if (this.done) {\n return;\n }\n this.src?.stop(err);\n super.stop(err);\n this.listeners.forEach((n)=>{\n n.stop();\n });\n }\n close() {\n this.stop();\n return this.iterClosed;\n }\n closed() {\n return this.iterClosed;\n }\n status() {\n const iter = new QueuedIteratorImpl();\n this.listeners.push(iter);\n return Promise.resolve(iter);\n }\n}\nclass PullConsumerImpl {\n api;\n _info;\n stream;\n name;\n constructor(api, info){\n this.api = api;\n this._info = info;\n this.stream = info.stream_name;\n this.name = info.name;\n }\n consume(opts = {\n max_messages: 100,\n expires: 30_000\n }) {\n return Promise.resolve(new PullConsumerMessagesImpl(this, opts, true));\n }\n fetch(opts = {\n max_messages: 100,\n expires: 30_000\n }) {\n const m = new PullConsumerMessagesImpl(this, opts, false);\n const to = Math.round(m.opts.expires * 1.05);\n const timer = timeout(to);\n m.closed().catch(()=>{}).finally(()=>{\n timer.cancel();\n });\n timer.catch(()=>{\n m.close().catch();\n });\n m.trackTimeout(timer);\n return Promise.resolve(m);\n }\n next(opts = {\n expires: 30_000\n }) {\n const d = deferred();\n const fopts = opts;\n fopts.max_messages = 1;\n const iter = new PullConsumerMessagesImpl(this, fopts, false);\n const to = Math.round(iter.opts.expires * 1.05);\n if (to >= 60_000) {\n (async ()=>{\n for await (const s of (await iter.status())){\n if (s.type === ConsumerEvents.HeartbeatsMissed && s.data >= 2) {\n d.reject(new Error(\"consumer missed heartbeats\"));\n break;\n }\n }\n })().catch();\n }\n (async ()=>{\n for await (const m of iter){\n d.resolve(m);\n break;\n }\n })().catch(()=>{});\n const timer = timeout(to);\n iter.closed().then((err)=>{\n err ? d.reject(err) : d.resolve(null);\n }).catch((err)=>{\n d.reject(err);\n }).finally(()=>{\n timer.cancel();\n });\n timer.catch((_err)=>{\n d.resolve(null);\n iter.close().catch();\n });\n iter.trackTimeout(timer);\n return d;\n }\n delete() {\n const { stream_name, name } = this._info;\n return this.api.delete(stream_name, name);\n }\n info(cached = false) {\n if (cached) {\n return Promise.resolve(this._info);\n }\n const { stream_name, name } = this._info;\n return this.api.info(stream_name, name).then((ci)=>{\n this._info = ci;\n return this._info;\n });\n }\n}\nclass OrderedPullConsumerImpl {\n api;\n consumerOpts;\n consumer;\n opts;\n cursor;\n stream;\n namePrefix;\n serial;\n currentConsumer;\n userCallback;\n iter;\n type;\n startSeq;\n constructor(api, stream, opts = {}){\n this.api = api;\n this.stream = stream;\n this.cursor = {\n stream_seq: 1,\n deliver_seq: 0\n };\n this.namePrefix = nuid.next();\n this.serial = 0;\n this.currentConsumer = null;\n this.userCallback = null;\n this.iter = null;\n this.type = PullConsumerType.Unset;\n this.consumerOpts = opts;\n this.startSeq = this.consumerOpts.opt_start_seq || 0;\n this.cursor.stream_seq = this.startSeq > 0 ? this.startSeq - 1 : 0;\n }\n getConsumerOpts(seq) {\n this.serial++;\n const name = `${this.namePrefix}_${this.serial}`;\n seq = seq === 0 ? 1 : seq;\n const config = {\n name,\n deliver_policy: DeliverPolicy.StartSequence,\n opt_start_seq: seq,\n ack_policy: AckPolicy.None,\n inactive_threshold: nanos(5 * 60 * 1000),\n num_replicas: 1\n };\n if (this.consumerOpts.headers_only === true) {\n config.headers_only = true;\n }\n if (Array.isArray(this.consumerOpts.filterSubjects)) {\n config.filter_subjects = this.consumerOpts.filterSubjects;\n }\n if (typeof this.consumerOpts.filterSubjects === \"string\") {\n config.filter_subject = this.consumerOpts.filterSubjects;\n }\n if (this.consumerOpts.replay_policy) {\n config.replay_policy = this.consumerOpts.replay_policy;\n }\n if (seq === this.startSeq + 1) {\n config.deliver_policy = this.consumerOpts.deliver_policy || DeliverPolicy.StartSequence;\n if (this.consumerOpts.deliver_policy === DeliverPolicy.LastPerSubject || this.consumerOpts.deliver_policy === DeliverPolicy.New || this.consumerOpts.deliver_policy === DeliverPolicy.Last) {\n delete config.opt_start_seq;\n config.deliver_policy = this.consumerOpts.deliver_policy;\n }\n if (config.deliver_policy === DeliverPolicy.LastPerSubject) {\n if (typeof config.filter_subjects === \"undefined\" && typeof config.filter_subject === \"undefined\") {\n config.filter_subject = \">\";\n }\n }\n if (this.consumerOpts.opt_start_time) {\n delete config.opt_start_seq;\n config.deliver_policy = DeliverPolicy.StartTime;\n config.opt_start_time = this.consumerOpts.opt_start_time;\n }\n if (this.consumerOpts.inactive_threshold) {\n config.inactive_threshold = nanos(this.consumerOpts.inactive_threshold);\n }\n }\n return config;\n }\n async resetConsumer(seq = 0) {\n this.consumer?.delete().catch(()=>{});\n seq = seq === 0 ? 1 : seq;\n this.cursor.deliver_seq = 0;\n const config = this.getConsumerOpts(seq);\n config.max_deliver = 1;\n config.mem_storage = true;\n const bo = backoff();\n let ci;\n for(let i = 0;; i++){\n try {\n ci = await this.api.add(this.stream, config);\n this.iter?.notify(ConsumerEvents.OrderedConsumerRecreated, ci.name);\n break;\n } catch (err) {\n if (err.message === \"stream not found\") {\n this.iter?.notify(ConsumerEvents.StreamNotFound, i);\n if (this.type === PullConsumerType.Fetch || this.opts.abort_on_missing_resource === true) {\n this.iter?.stop(err);\n return Promise.reject(err);\n }\n }\n if (seq === 0 && i >= 30) {\n throw err;\n } else {\n await delay(bo.backoff(i + 1));\n }\n }\n }\n return ci;\n }\n internalHandler(serial) {\n return (m)=>{\n if (this.serial !== serial) {\n return;\n }\n const dseq = m.info.deliverySequence;\n if (dseq !== this.cursor.deliver_seq + 1) {\n this.reset(this.opts);\n return;\n }\n this.cursor.deliver_seq = dseq;\n this.cursor.stream_seq = m.info.streamSequence;\n if (this.userCallback) {\n this.userCallback(m);\n } else {\n this.iter?.push(m);\n }\n };\n }\n async reset(opts = {\n max_messages: 100,\n expires: 30_000\n }, fromFetch = false) {\n this.currentConsumer = await this.resetConsumer(this.cursor.stream_seq + 1);\n if (this.iter === null) {\n this.iter = new OrderedConsumerMessages();\n }\n this.consumer = new PullConsumerImpl(this.api, this.currentConsumer);\n const copts = opts;\n copts.callback = this.internalHandler(this.serial);\n let msgs = null;\n if (this.type === PullConsumerType.Fetch && fromFetch) {\n msgs = await this.consumer.fetch(opts);\n } else if (this.type === PullConsumerType.Consume) {\n msgs = await this.consumer.consume(opts);\n } else {\n return Promise.reject(\"reset called with unset consumer type\");\n }\n const msgsImpl = msgs;\n msgsImpl.forOrderedConsumer = true;\n msgsImpl.resetHandler = ()=>{\n this.reset(this.opts);\n };\n this.iter.setSource(msgsImpl);\n return this.iter;\n }\n consume(opts = {\n max_messages: 100,\n expires: 30_000\n }) {\n const copts = opts;\n if (copts.bind) {\n return Promise.reject(new Error(\"bind is not supported\"));\n }\n if (this.type === PullConsumerType.Fetch) {\n return Promise.reject(new Error(\"ordered consumer initialized as fetch\"));\n }\n if (this.type === PullConsumerType.Consume) {\n return Promise.reject(new Error(\"ordered consumer doesn't support concurrent consume\"));\n }\n const { callback } = opts;\n if (callback) {\n this.userCallback = callback;\n }\n this.type = PullConsumerType.Consume;\n this.opts = opts;\n return this.reset(opts);\n }\n fetch(opts = {\n max_messages: 100,\n expires: 30_000\n }) {\n const copts = opts;\n if (copts.bind) {\n return Promise.reject(new Error(\"bind is not supported\"));\n }\n if (this.type === PullConsumerType.Consume) {\n return Promise.reject(new Error(\"ordered consumer already initialized as consume\"));\n }\n if (this.iter?.done === false) {\n return Promise.reject(new Error(\"ordered consumer doesn't support concurrent fetch\"));\n }\n const { callback } = opts;\n if (callback) {\n this.userCallback = callback;\n }\n this.type = PullConsumerType.Fetch;\n this.opts = opts;\n this.iter = new OrderedConsumerMessages();\n return this.reset(opts, true);\n }\n async next(opts = {\n expires: 30_000\n }) {\n const copts = opts;\n if (copts.bind) {\n return Promise.reject(new Error(\"bind is not supported\"));\n }\n copts.max_messages = 1;\n const d = deferred();\n copts.callback = (m)=>{\n this.userCallback = null;\n d.resolve(m);\n };\n const iter = await this.fetch(copts);\n iter.iterClosed.then((err)=>{\n if (err) {\n d.reject(err);\n }\n d.resolve(null);\n }).catch((err)=>{\n d.reject(err);\n });\n return d;\n }\n delete() {\n if (!this.currentConsumer) {\n return Promise.resolve(false);\n }\n return this.api.delete(this.stream, this.currentConsumer.name).then((tf)=>{\n return Promise.resolve(tf);\n }).catch((err)=>{\n return Promise.reject(err);\n }).finally(()=>{\n this.currentConsumer = null;\n });\n }\n async info(cached) {\n if (this.currentConsumer == null) {\n this.currentConsumer = await this.resetConsumer(this.serial);\n return Promise.resolve(this.currentConsumer);\n }\n if (cached && this.currentConsumer) {\n return Promise.resolve(this.currentConsumer);\n }\n return this.api.info(this.stream, this.currentConsumer.name);\n }\n}\nclass ConsumersImpl {\n api;\n notified;\n constructor(api){\n this.api = api;\n this.notified = false;\n }\n checkVersion() {\n const fv = this.api.nc.features.get(Feature.JS_SIMPLIFICATION);\n if (!fv.ok) {\n return Promise.reject(new Error(`consumers framework is only supported on servers ${fv.min} or better`));\n }\n return Promise.resolve();\n }\n async get(stream, name = {}) {\n if (typeof name === \"object\") {\n return this.ordered(stream, name);\n }\n await this.checkVersion();\n return this.api.info(stream, name).then((ci)=>{\n if (ci.config.deliver_subject !== undefined) {\n return Promise.reject(new Error(\"push consumer not supported\"));\n }\n return new PullConsumerImpl(this.api, ci);\n }).catch((err)=>{\n return Promise.reject(err);\n });\n }\n async ordered(stream, opts) {\n await this.checkVersion();\n const impl = this.api;\n const sapi = new StreamAPIImpl(impl.nc, impl.opts);\n return sapi.info(stream).then((_si)=>{\n return Promise.resolve(new OrderedPullConsumerImpl(this.api, stream, opts));\n }).catch((err)=>{\n return Promise.reject(err);\n });\n }\n}\nclass StreamImpl {\n api;\n _info;\n constructor(api, info){\n this.api = api;\n this._info = info;\n }\n get name() {\n return this._info.config.name;\n }\n alternates() {\n return this.info().then((si)=>{\n return si.alternates ? si.alternates : [];\n });\n }\n async best() {\n await this.info();\n if (this._info.alternates) {\n const asi = await this.api.info(this._info.alternates[0].name);\n return new StreamImpl(this.api, asi);\n } else {\n return this;\n }\n }\n info(cached = false, opts) {\n if (cached) {\n return Promise.resolve(this._info);\n }\n return this.api.info(this.name, opts).then((si)=>{\n this._info = si;\n return this._info;\n });\n }\n getConsumer(name) {\n return new ConsumersImpl(new ConsumerAPIImpl(this.api.nc, this.api.opts)).get(this.name, name);\n }\n getMessage(query) {\n return this.api.getMessage(this.name, query);\n }\n deleteMessage(seq, erase) {\n return this.api.deleteMessage(this.name, seq, erase);\n }\n}\nclass StreamAPIImpl extends BaseApiClient {\n constructor(nc, opts){\n super(nc, opts);\n }\n checkStreamConfigVersions(cfg) {\n const nci = this.nc;\n if (cfg.metadata) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_CONSUMER_METADATA);\n if (!ok) {\n throw new Error(`stream 'metadata' requires server ${min}`);\n }\n }\n if (cfg.first_seq) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_FIRST_SEQ);\n if (!ok) {\n throw new Error(`stream 'first_seq' requires server ${min}`);\n }\n }\n if (cfg.subject_transform) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_SUBJECT_TRANSFORM);\n if (!ok) {\n throw new Error(`stream 'subject_transform' requires server ${min}`);\n }\n }\n if (cfg.compression) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_COMPRESSION);\n if (!ok) {\n throw new Error(`stream 'compression' requires server ${min}`);\n }\n }\n if (cfg.consumer_limits) {\n const { min, ok } = nci.features.get(Feature.JS_DEFAULT_CONSUMER_LIMITS);\n if (!ok) {\n throw new Error(`stream 'consumer_limits' requires server ${min}`);\n }\n }\n function validateStreamSource(context, src) {\n const count = src.subject_transforms?.length || 0;\n if (count > 0) {\n const { min, ok } = nci.features.get(Feature.JS_STREAM_SOURCE_SUBJECT_TRANSFORM);\n if (!ok) {\n throw new Error(`${context} 'subject_transforms' requires server ${min}`);\n }\n }\n }\n if (cfg.sources) {\n cfg.sources.forEach((src)=>{\n validateStreamSource(\"stream sources\", src);\n });\n }\n if (cfg.mirror) {\n validateStreamSource(\"stream mirror\", cfg.mirror);\n }\n }\n async add(cfg = {}) {\n this.checkStreamConfigVersions(cfg);\n validateStreamName(cfg.name);\n cfg.mirror = convertStreamSourceDomain(cfg.mirror);\n cfg.sources = cfg.sources?.map(convertStreamSourceDomain);\n const r = await this._request(`${this.prefix}.STREAM.CREATE.${cfg.name}`, cfg);\n const si = r;\n this._fixInfo(si);\n return si;\n }\n async delete(stream) {\n validateStreamName(stream);\n const r = await this._request(`${this.prefix}.STREAM.DELETE.${stream}`);\n const cr = r;\n return cr.success;\n }\n async update(name, cfg = {}) {\n if (typeof name === \"object\") {\n const sc = name;\n name = sc.name;\n cfg = sc;\n console.trace(`\\u001B[33m >> streams.update(config: StreamConfig) api changed to streams.update(name: string, config: StreamUpdateConfig) - this shim will be removed - update your code. \\u001B[0m`);\n }\n this.checkStreamConfigVersions(cfg);\n validateStreamName(name);\n const old = await this.info(name);\n const update = Object.assign(old.config, cfg);\n update.mirror = convertStreamSourceDomain(update.mirror);\n update.sources = update.sources?.map(convertStreamSourceDomain);\n const r = await this._request(`${this.prefix}.STREAM.UPDATE.${name}`, update);\n const si = r;\n this._fixInfo(si);\n return si;\n }\n async info(name, data) {\n validateStreamName(name);\n const subj = `${this.prefix}.STREAM.INFO.${name}`;\n const r = await this._request(subj, data);\n let si = r;\n let { total, limit } = si;\n let have = si.state.subjects ? Object.getOwnPropertyNames(si.state.subjects).length : 1;\n if (total && total > have) {\n const infos = [\n si\n ];\n const paged = data || {};\n let i = 0;\n while(total > have){\n i++;\n paged.offset = limit * i;\n const r = await this._request(subj, paged);\n total = r.total;\n infos.push(r);\n const count = Object.getOwnPropertyNames(r.state.subjects).length;\n have += count;\n if (count < limit) {\n break;\n }\n }\n let subjects = {};\n for(let i = 0; i < infos.length; i++){\n si = infos[i];\n if (si.state.subjects) {\n subjects = Object.assign(subjects, si.state.subjects);\n }\n }\n si.offset = 0;\n si.total = 0;\n si.limit = 0;\n si.state.subjects = subjects;\n }\n this._fixInfo(si);\n return si;\n }\n list(subject = \"\") {\n const payload = subject?.length ? {\n subject\n } : {};\n const listerFilter = (v)=>{\n const slr = v;\n slr.streams.forEach((si)=>{\n this._fixInfo(si);\n });\n return slr.streams;\n };\n const subj = `${this.prefix}.STREAM.LIST`;\n return new ListerImpl(subj, listerFilter, this, payload);\n }\n _fixInfo(si) {\n si.config.sealed = si.config.sealed || false;\n si.config.deny_delete = si.config.deny_delete || false;\n si.config.deny_purge = si.config.deny_purge || false;\n si.config.allow_rollup_hdrs = si.config.allow_rollup_hdrs || false;\n }\n async purge(name, opts) {\n if (opts) {\n const { keep, seq } = opts;\n if (typeof keep === \"number\" && typeof seq === \"number\") {\n throw new Error(\"can specify one of keep or seq\");\n }\n }\n validateStreamName(name);\n const v = await this._request(`${this.prefix}.STREAM.PURGE.${name}`, opts);\n return v;\n }\n async deleteMessage(stream, seq, erase = true) {\n validateStreamName(stream);\n const dr = {\n seq\n };\n if (!erase) {\n dr.no_erase = true;\n }\n const r = await this._request(`${this.prefix}.STREAM.MSG.DELETE.${stream}`, dr);\n const cr = r;\n return cr.success;\n }\n async getMessage(stream, query) {\n validateStreamName(stream);\n const r = await this._request(`${this.prefix}.STREAM.MSG.GET.${stream}`, query);\n const sm = r;\n return new StoredMsgImpl(sm);\n }\n find(subject) {\n return this.findStream(subject);\n }\n listKvs() {\n const filter = (v)=>{\n const slr = v;\n const kvStreams = slr.streams.filter((v)=>{\n return v.config.name.startsWith(kvPrefix);\n });\n kvStreams.forEach((si)=>{\n this._fixInfo(si);\n });\n let cluster = \"\";\n if (kvStreams.length) {\n cluster = this.nc.info?.cluster ?? \"\";\n }\n const status = kvStreams.map((si)=>{\n return new KvStatusImpl(si, cluster);\n });\n return status;\n };\n const subj = `${this.prefix}.STREAM.LIST`;\n return new ListerImpl(subj, filter, this);\n }\n listObjectStores() {\n const filter = (v)=>{\n const slr = v;\n const objStreams = slr.streams.filter((v)=>{\n return v.config.name.startsWith(osPrefix);\n });\n objStreams.forEach((si)=>{\n this._fixInfo(si);\n });\n const status = objStreams.map((si)=>{\n return new ObjectStoreStatusImpl(si);\n });\n return status;\n };\n const subj = `${this.prefix}.STREAM.LIST`;\n return new ListerImpl(subj, filter, this);\n }\n names(subject = \"\") {\n const payload = subject?.length ? {\n subject\n } : {};\n const listerFilter = (v)=>{\n const sr = v;\n return sr.streams;\n };\n const subj = `${this.prefix}.STREAM.NAMES`;\n return new ListerImpl(subj, listerFilter, this, payload);\n }\n async get(name) {\n const si = await this.info(name);\n return Promise.resolve(new StreamImpl(this, si));\n }\n}\nclass DirectStreamAPIImpl extends BaseApiClient {\n constructor(nc, opts){\n super(nc, opts);\n }\n async getMessage(stream, query) {\n validateStreamName(stream);\n let qq = query;\n const { last_by_subj } = qq;\n if (last_by_subj) {\n qq = null;\n }\n const payload = qq ? this.jc.encode(qq) : Empty;\n const pre = this.opts.apiPrefix || \"$JS.API\";\n const subj = last_by_subj ? `${pre}.DIRECT.GET.${stream}.${last_by_subj}` : `${pre}.DIRECT.GET.${stream}`;\n const r = await this.nc.request(subj, payload);\n const err = checkJsError(r);\n if (err) {\n return Promise.reject(err);\n }\n const dm = new DirectMsgImpl(r);\n return Promise.resolve(dm);\n }\n async getBatch(stream, opts) {\n validateStreamName(stream);\n const pre = this.opts.apiPrefix || \"$JS.API\";\n const subj = `${pre}.DIRECT.GET.${stream}`;\n if (!Array.isArray(opts.multi_last) || opts.multi_last.length === 0) {\n return Promise.reject(\"multi_last is required\");\n }\n const payload = JSON.stringify(opts, (key, value)=>{\n if (key === \"up_to_time\" && value instanceof Date) {\n return value.toISOString();\n }\n return value;\n });\n const iter = new QueuedIteratorImpl();\n const raw = await this.nc.requestMany(subj, payload, {\n strategy: RequestStrategy.SentinelMsg\n });\n (async ()=>{\n let gotFirst = false;\n let badServer = false;\n let badRequest;\n for await (const m of raw){\n if (!gotFirst) {\n gotFirst = true;\n const code = m.headers?.code || 0;\n if (code !== 0 && code < 200 || code > 299) {\n badRequest = m.headers?.description.toLowerCase();\n break;\n }\n const v = m.headers?.get(\"Nats-Num-Pending\");\n if (v === \"\") {\n badServer = true;\n break;\n }\n }\n if (m.data.length === 0) {\n break;\n }\n iter.push(new DirectMsgImpl(m));\n }\n iter.push(()=>{\n if (badServer) {\n throw new Error(\"batch direct get not supported by the server\");\n }\n if (badRequest) {\n throw new Error(`bad request: ${badRequest}`);\n }\n iter.stop();\n });\n })();\n return Promise.resolve(iter);\n }\n}\nclass DirectMsgImpl {\n data;\n header;\n static jc;\n constructor(m){\n if (!m.headers) {\n throw new Error(\"headers expected\");\n }\n this.data = m.data;\n this.header = m.headers;\n }\n get subject() {\n return this.header.last(DirectMsgHeaders.Subject);\n }\n get seq() {\n const v = this.header.last(DirectMsgHeaders.Sequence);\n return typeof v === \"string\" ? parseInt(v) : 0;\n }\n get time() {\n return new Date(Date.parse(this.timestamp));\n }\n get timestamp() {\n return this.header.last(DirectMsgHeaders.TimeStamp);\n }\n get stream() {\n return this.header.last(DirectMsgHeaders.Stream);\n }\n json(reviver) {\n return JSONCodec(reviver).decode(this.data);\n }\n string() {\n return TD.decode(this.data);\n }\n}\nclass JetStreamManagerImpl extends BaseApiClient {\n streams;\n consumers;\n direct;\n constructor(nc, opts){\n super(nc, opts);\n this.streams = new StreamAPIImpl(nc, opts);\n this.consumers = new ConsumerAPIImpl(nc, opts);\n this.direct = new DirectStreamAPIImpl(nc, opts);\n }\n async getAccountInfo() {\n const r = await this._request(`${this.prefix}.INFO`);\n return r;\n }\n jetstream() {\n return this.nc.jetstream(this.getOptions());\n }\n advisories() {\n const iter = new QueuedIteratorImpl();\n this.nc.subscribe(`$JS.EVENT.ADVISORY.>`, {\n callback: (err, msg)=>{\n if (err) {\n throw err;\n }\n try {\n const d = this.parseJsResponse(msg);\n const chunks = d.type.split(\".\");\n const kind = chunks[chunks.length - 1];\n iter.push({\n kind: kind,\n data: d\n });\n } catch (err) {\n iter.stop(err);\n }\n }\n });\n return iter;\n }\n}\nclass StoredMsgImpl {\n _header;\n smr;\n static jc;\n constructor(smr){\n this.smr = smr;\n }\n get subject() {\n return this.smr.message.subject;\n }\n get seq() {\n return this.smr.message.seq;\n }\n get timestamp() {\n return this.smr.message.time;\n }\n get time() {\n return new Date(Date.parse(this.timestamp));\n }\n get data() {\n return this.smr.message.data ? this._parse(this.smr.message.data) : Empty;\n }\n get header() {\n if (!this._header) {\n if (this.smr.message.hdrs) {\n const hd = this._parse(this.smr.message.hdrs);\n this._header = MsgHdrsImpl.decode(hd);\n } else {\n this._header = headers();\n }\n }\n return this._header;\n }\n _parse(s) {\n const bs = atob(s);\n const len = bs.length;\n const bytes = new Uint8Array(len);\n for(let i = 0; i < len; i++){\n bytes[i] = bs.charCodeAt(i);\n }\n return bytes;\n }\n json(reviver) {\n return JSONCodec(reviver).decode(this.data);\n }\n string() {\n return TD.decode(this.data);\n }\n}\nclass StreamsImpl {\n api;\n constructor(api){\n this.api = api;\n }\n get(stream) {\n return this.api.info(stream).then((si)=>{\n return new StreamImpl(this.api, si);\n });\n }\n}\nclass ObjectInfoImpl {\n info;\n hdrs;\n constructor(oi){\n this.info = oi;\n }\n get name() {\n return this.info.name;\n }\n get description() {\n return this.info.description ?? \"\";\n }\n get headers() {\n if (!this.hdrs) {\n this.hdrs = MsgHdrsImpl.fromRecord(this.info.headers || {});\n }\n return this.hdrs;\n }\n get options() {\n return this.info.options;\n }\n get bucket() {\n return this.info.bucket;\n }\n get chunks() {\n return this.info.chunks;\n }\n get deleted() {\n return this.info.deleted ?? false;\n }\n get digest() {\n return this.info.digest;\n }\n get mtime() {\n return this.info.mtime;\n }\n get nuid() {\n return this.info.nuid;\n }\n get size() {\n return this.info.size;\n }\n get revision() {\n return this.info.revision;\n }\n get metadata() {\n return this.info.metadata || {};\n }\n isLink() {\n return this.info.options?.link !== undefined && this.info.options?.link !== null;\n }\n}\nfunction toServerObjectStoreMeta(meta) {\n const v = {\n name: meta.name,\n description: meta.description ?? \"\",\n options: meta.options,\n metadata: meta.metadata\n };\n if (meta.headers) {\n const mhi = meta.headers;\n v.headers = mhi.toRecord();\n }\n return v;\n}\nfunction emptyReadableStream() {\n return new ReadableStream({\n pull (c) {\n c.enqueue(new Uint8Array(0));\n c.close();\n }\n });\n}\nclass ObjectStoreImpl {\n jsm;\n js;\n stream;\n name;\n constructor(name, jsm, js){\n this.name = name;\n this.jsm = jsm;\n this.js = js;\n }\n _checkNotEmpty(name) {\n if (!name || name.length === 0) {\n return {\n name,\n error: new Error(\"name cannot be empty\")\n };\n }\n return {\n name\n };\n }\n async info(name) {\n const info = await this.rawInfo(name);\n return info ? new ObjectInfoImpl(info) : null;\n }\n async list() {\n const buf = [];\n const iter = await this.watch({\n ignoreDeletes: true,\n includeHistory: true\n });\n for await (const info of iter){\n if (info === null) {\n break;\n }\n buf.push(info);\n }\n return Promise.resolve(buf);\n }\n async rawInfo(name) {\n const { name: obj, error } = this._checkNotEmpty(name);\n if (error) {\n return Promise.reject(error);\n }\n const meta = this._metaSubject(obj);\n try {\n const m = await this.jsm.streams.getMessage(this.stream, {\n last_by_subj: meta\n });\n const jc = JSONCodec();\n const soi = jc.decode(m.data);\n soi.revision = m.seq;\n return soi;\n } catch (err) {\n if (err.code === \"404\") {\n return null;\n }\n return Promise.reject(err);\n }\n }\n async _si(opts) {\n try {\n return await this.jsm.streams.info(this.stream, opts);\n } catch (err) {\n const nerr = err;\n if (nerr.code === \"404\") {\n return null;\n }\n return Promise.reject(err);\n }\n }\n async seal() {\n let info = await this._si();\n if (info === null) {\n return Promise.reject(new Error(\"object store not found\"));\n }\n info.config.sealed = true;\n info = await this.jsm.streams.update(this.stream, info.config);\n return Promise.resolve(new ObjectStoreStatusImpl(info));\n }\n async status(opts) {\n const info = await this._si(opts);\n if (info === null) {\n return Promise.reject(new Error(\"object store not found\"));\n }\n return Promise.resolve(new ObjectStoreStatusImpl(info));\n }\n destroy() {\n return this.jsm.streams.delete(this.stream);\n }\n async _put(meta, rs, opts) {\n const jsopts = this.js.getOptions();\n opts = opts || {\n timeout: jsopts.timeout\n };\n opts.timeout = opts.timeout || jsopts.timeout;\n opts.previousRevision = opts.previousRevision ?? undefined;\n const { timeout, previousRevision } = opts;\n const si = this.js.nc.info;\n const maxPayload = si?.max_payload || 1024;\n meta = meta || {};\n meta.options = meta.options || {};\n let maxChunk = meta.options?.max_chunk_size || 128 * 1024;\n maxChunk = maxChunk > maxPayload ? maxPayload : maxChunk;\n meta.options.max_chunk_size = maxChunk;\n const old = await this.info(meta.name);\n const { name: n, error } = this._checkNotEmpty(meta.name);\n if (error) {\n return Promise.reject(error);\n }\n const id = nuid.next();\n const chunkSubj = this._chunkSubject(id);\n const metaSubj = this._metaSubject(n);\n const info = Object.assign({\n bucket: this.name,\n nuid: id,\n size: 0,\n chunks: 0\n }, toServerObjectStoreMeta(meta));\n const d = deferred();\n const proms = [];\n const db = new DataBuffer();\n try {\n const reader = rs ? rs.getReader() : null;\n const sha = new SHA256();\n while(true){\n const { done, value } = reader ? await reader.read() : {\n done: true,\n value: undefined\n };\n if (done) {\n if (db.size() > 0) {\n const payload = db.drain();\n sha.update(payload);\n info.chunks++;\n info.size += payload.length;\n proms.push(this.js.publish(chunkSubj, payload, {\n timeout\n }));\n }\n await Promise.all(proms);\n proms.length = 0;\n info.mtime = new Date().toISOString();\n const digest = sha.digest(\"base64\");\n const pad = digest.length % 3;\n const padding = pad > 0 ? \"=\".repeat(pad) : \"\";\n info.digest = `${digestType}${digest}${padding}`;\n info.deleted = false;\n const h = headers();\n if (typeof previousRevision === \"number\") {\n h.set(PubHeaders.ExpectedLastSubjectSequenceHdr, `${previousRevision}`);\n }\n h.set(JsHeaders.RollupHdr, JsHeaders.RollupValueSubject);\n const pa = await this.js.publish(metaSubj, JSONCodec().encode(info), {\n headers: h,\n timeout\n });\n info.revision = pa.seq;\n if (old) {\n try {\n await this.jsm.streams.purge(this.stream, {\n filter: `$O.${this.name}.C.${old.nuid}`\n });\n } catch (_err) {}\n }\n d.resolve(new ObjectInfoImpl(info));\n break;\n }\n if (value) {\n db.fill(value);\n while(db.size() > maxChunk){\n info.chunks++;\n info.size += maxChunk;\n const payload = db.drain(meta.options.max_chunk_size);\n sha.update(payload);\n proms.push(this.js.publish(chunkSubj, payload, {\n timeout\n }));\n }\n }\n }\n } catch (err) {\n await this.jsm.streams.purge(this.stream, {\n filter: chunkSubj\n });\n d.reject(err);\n }\n return d;\n }\n putBlob(meta, data, opts) {\n function readableStreamFrom(data) {\n return new ReadableStream({\n pull (controller) {\n controller.enqueue(data);\n controller.close();\n }\n });\n }\n if (data === null) {\n data = new Uint8Array(0);\n }\n return this.put(meta, readableStreamFrom(data), opts);\n }\n put(meta, rs, opts) {\n if (meta?.options?.link) {\n return Promise.reject(new Error(\"link cannot be set when putting the object in bucket\"));\n }\n return this._put(meta, rs, opts);\n }\n async getBlob(name) {\n async function fromReadableStream(rs) {\n const buf = new DataBuffer();\n const reader = rs.getReader();\n while(true){\n const { done, value } = await reader.read();\n if (done) {\n return buf.drain();\n }\n if (value && value.length) {\n buf.fill(value);\n }\n }\n }\n const r = await this.get(name);\n if (r === null) {\n return Promise.resolve(null);\n }\n const vs = await Promise.all([\n r.error,\n fromReadableStream(r.data)\n ]);\n if (vs[0]) {\n return Promise.reject(vs[0]);\n } else {\n return Promise.resolve(vs[1]);\n }\n }\n async get(name) {\n const info = await this.rawInfo(name);\n if (info === null) {\n return Promise.resolve(null);\n }\n if (info.deleted) {\n return Promise.resolve(null);\n }\n if (info.options && info.options.link) {\n const ln = info.options.link.name || \"\";\n if (ln === \"\") {\n throw new Error(\"link is a bucket\");\n }\n const os = info.options.link.bucket !== this.name ? await ObjectStoreImpl.create(this.js, info.options.link.bucket) : this;\n return os.get(ln);\n }\n const d = deferred();\n const r = {\n info: new ObjectInfoImpl(info),\n error: d\n };\n if (info.size === 0) {\n r.data = emptyReadableStream();\n d.resolve(null);\n return Promise.resolve(r);\n }\n let controller;\n const oc = consumerOpts();\n oc.orderedConsumer();\n const sha = new SHA256();\n const subj = `$O.${this.name}.C.${info.nuid}`;\n const sub = await this.js.subscribe(subj, oc);\n (async ()=>{\n for await (const jm of sub){\n if (jm.data.length > 0) {\n sha.update(jm.data);\n controller.enqueue(jm.data);\n }\n if (jm.info.pending === 0) {\n const hash = sha.digest(\"base64\");\n const pad = hash.length % 3;\n const padding = pad > 0 ? \"=\".repeat(pad) : \"\";\n const digest = `${digestType}${hash}${padding}`;\n if (digest !== info.digest) {\n controller.error(new Error(`received a corrupt object, digests do not match received: ${info.digest} calculated ${digest}`));\n } else {\n controller.close();\n }\n sub.unsubscribe();\n }\n }\n })().then(()=>{\n d.resolve();\n }).catch((err)=>{\n controller.error(err);\n d.reject(err);\n });\n r.data = new ReadableStream({\n start (c) {\n controller = c;\n },\n cancel () {\n sub.unsubscribe();\n }\n });\n return r;\n }\n linkStore(name, bucket) {\n if (!(bucket instanceof ObjectStoreImpl)) {\n return Promise.reject(\"bucket required\");\n }\n const osi = bucket;\n const { name: n, error } = this._checkNotEmpty(name);\n if (error) {\n return Promise.reject(error);\n }\n const meta = {\n name: n,\n options: {\n link: {\n bucket: osi.name\n }\n }\n };\n return this._put(meta, null);\n }\n async link(name, info) {\n const { name: n, error } = this._checkNotEmpty(name);\n if (error) {\n return Promise.reject(error);\n }\n if (info.deleted) {\n return Promise.reject(new Error(\"src object is deleted\"));\n }\n if (info.isLink()) {\n return Promise.reject(new Error(\"src object is a link\"));\n }\n const dest = await this.rawInfo(name);\n if (dest !== null && !dest.deleted) {\n return Promise.reject(new Error(\"an object already exists with that name\"));\n }\n const link = {\n bucket: info.bucket,\n name: info.name\n };\n const mm = {\n name: n,\n bucket: info.bucket,\n options: {\n link: link\n }\n };\n await this.js.publish(this._metaSubject(name), JSON.stringify(mm));\n const i = await this.info(name);\n return Promise.resolve(i);\n }\n async delete(name) {\n const info = await this.rawInfo(name);\n if (info === null) {\n return Promise.resolve({\n purged: 0,\n success: false\n });\n }\n info.deleted = true;\n info.size = 0;\n info.chunks = 0;\n info.digest = \"\";\n const jc = JSONCodec();\n const h = headers();\n h.set(JsHeaders.RollupHdr, JsHeaders.RollupValueSubject);\n await this.js.publish(this._metaSubject(info.name), jc.encode(info), {\n headers: h\n });\n return this.jsm.streams.purge(this.stream, {\n filter: this._chunkSubject(info.nuid)\n });\n }\n async update(name, meta = {}) {\n const info = await this.rawInfo(name);\n if (info === null) {\n return Promise.reject(new Error(\"object not found\"));\n }\n if (info.deleted) {\n return Promise.reject(new Error(\"cannot update meta for a deleted object\"));\n }\n meta.name = meta.name ?? info.name;\n const { name: n, error } = this._checkNotEmpty(meta.name);\n if (error) {\n return Promise.reject(error);\n }\n if (name !== meta.name) {\n const i = await this.info(meta.name);\n if (i && !i.deleted) {\n return Promise.reject(new Error(\"an object already exists with that name\"));\n }\n }\n meta.name = n;\n const ii = Object.assign({}, info, toServerObjectStoreMeta(meta));\n const ack = await this.js.publish(this._metaSubject(ii.name), JSON.stringify(ii));\n if (name !== meta.name) {\n await this.jsm.streams.purge(this.stream, {\n filter: this._metaSubject(name)\n });\n }\n return Promise.resolve(ack);\n }\n async watch(opts = {}) {\n opts.includeHistory = opts.includeHistory ?? false;\n opts.ignoreDeletes = opts.ignoreDeletes ?? false;\n let initialized = false;\n const qi = new QueuedIteratorImpl();\n const subj = this._metaSubjectAll();\n try {\n await this.jsm.streams.getMessage(this.stream, {\n last_by_subj: subj\n });\n } catch (err) {\n if (err.code === \"404\") {\n qi.push(null);\n initialized = true;\n } else {\n qi.stop(err);\n }\n }\n const jc = JSONCodec();\n const copts = consumerOpts();\n copts.orderedConsumer();\n if (opts.includeHistory) {\n copts.deliverLastPerSubject();\n } else {\n initialized = true;\n copts.deliverNew();\n }\n copts.callback((err, jm)=>{\n if (err) {\n qi.stop(err);\n return;\n }\n if (jm !== null) {\n const oi = jc.decode(jm.data);\n if (oi.deleted && opts.ignoreDeletes === true) {} else {\n qi.push(oi);\n }\n if (jm.info?.pending === 0 && !initialized) {\n initialized = true;\n qi.push(null);\n }\n }\n });\n const sub = await this.js.subscribe(subj, copts);\n qi._data = sub;\n qi.iterClosed.then(()=>{\n sub.unsubscribe();\n });\n sub.closed.then(()=>{\n qi.stop();\n }).catch((err)=>{\n qi.stop(err);\n });\n return qi;\n }\n _chunkSubject(id) {\n return `$O.${this.name}.C.${id}`;\n }\n _metaSubject(n) {\n return `$O.${this.name}.M.${Base64UrlPaddedCodec.encode(n)}`;\n }\n _metaSubjectAll() {\n return `$O.${this.name}.M.>`;\n }\n async init(opts = {}) {\n try {\n this.stream = objectStoreStreamName(this.name);\n } catch (err) {\n return Promise.reject(err);\n }\n const max_age = opts?.ttl || 0;\n delete opts.ttl;\n const sc = Object.assign({\n max_age\n }, opts);\n sc.name = this.stream;\n sc.allow_direct = true;\n sc.allow_rollup_hdrs = true;\n sc.discard = DiscardPolicy.New;\n sc.subjects = [\n `$O.${this.name}.C.>`,\n `$O.${this.name}.M.>`\n ];\n if (opts.placement) {\n sc.placement = opts.placement;\n }\n if (opts.metadata) {\n sc.metadata = opts.metadata;\n }\n if (typeof opts.compression === \"boolean\") {\n sc.compression = opts.compression ? StoreCompression.S2 : StoreCompression.None;\n }\n try {\n await this.jsm.streams.info(sc.name);\n } catch (err) {\n if (err.message === \"stream not found\") {\n await this.jsm.streams.add(sc);\n }\n }\n }\n static async create(js, name, opts = {}) {\n const jsm = await js.jetstreamManager();\n const os = new ObjectStoreImpl(name, jsm, js);\n await os.init(opts);\n return Promise.resolve(os);\n }\n}\nclass ViewsImpl {\n js;\n constructor(js){\n this.js = js;\n }\n kv(name, opts = {}) {\n const jsi = this.js;\n const { ok, min } = jsi.nc.features.get(Feature.JS_KV);\n if (!ok) {\n return Promise.reject(new Error(`kv is only supported on servers ${min} or better`));\n }\n if (opts.bindOnly) {\n return Bucket.bind(this.js, name, opts);\n }\n return Bucket.create(this.js, name, opts);\n }\n os(name, opts = {}) {\n if (typeof crypto?.subtle?.digest !== \"function\") {\n return Promise.reject(new Error(\"objectstore: unable to calculate hashes - crypto.subtle.digest with sha256 support is required\"));\n }\n const jsi = this.js;\n const { ok, min } = jsi.nc.features.get(Feature.JS_OBJECTSTORE);\n if (!ok) {\n return Promise.reject(new Error(`objectstore is only supported on servers ${min} or better`));\n }\n return ObjectStoreImpl.create(this.js, name, opts);\n }\n}\nclass JetStreamClientImpl extends BaseApiClient {\n consumers;\n streams;\n consumerAPI;\n streamAPI;\n constructor(nc, opts){\n super(nc, opts);\n this.consumerAPI = new ConsumerAPIImpl(nc, opts);\n this.streamAPI = new StreamAPIImpl(nc, opts);\n this.consumers = new ConsumersImpl(this.consumerAPI);\n this.streams = new StreamsImpl(this.streamAPI);\n }\n jetstreamManager(checkAPI) {\n if (checkAPI === undefined) {\n checkAPI = this.opts.checkAPI;\n }\n const opts = Object.assign({}, this.opts, {\n checkAPI\n });\n return this.nc.jetstreamManager(opts);\n }\n get apiPrefix() {\n return this.prefix;\n }\n get views() {\n return new ViewsImpl(this);\n }\n async publish(subj, data = Empty, opts) {\n opts = opts || {};\n opts.expect = opts.expect || {};\n const mh = opts?.headers || headers();\n if (opts) {\n if (opts.msgID) {\n mh.set(PubHeaders.MsgIdHdr, opts.msgID);\n }\n if (opts.expect.lastMsgID) {\n mh.set(PubHeaders.ExpectedLastMsgIdHdr, opts.expect.lastMsgID);\n }\n if (opts.expect.streamName) {\n mh.set(PubHeaders.ExpectedStreamHdr, opts.expect.streamName);\n }\n if (typeof opts.expect.lastSequence === \"number\") {\n mh.set(PubHeaders.ExpectedLastSeqHdr, `${opts.expect.lastSequence}`);\n }\n if (typeof opts.expect.lastSubjectSequence === \"number\") {\n mh.set(PubHeaders.ExpectedLastSubjectSequenceHdr, `${opts.expect.lastSubjectSequence}`);\n }\n }\n const to = opts.timeout || this.timeout;\n const ro = {};\n if (to) {\n ro.timeout = to;\n }\n if (opts) {\n ro.headers = mh;\n }\n let { retries, retry_delay } = opts;\n retries = retries || 1;\n retry_delay = retry_delay || 250;\n let r;\n for(let i = 0; i < retries; i++){\n try {\n r = await this.nc.request(subj, data, ro);\n break;\n } catch (err) {\n const ne = err;\n if (ne.code === \"503\" && i + 1 < retries) {\n await delay(retry_delay);\n } else {\n throw err;\n }\n }\n }\n const pa = this.parseJsResponse(r);\n if (pa.stream === \"\") {\n throw NatsError.errorForCode(ErrorCode.JetStreamInvalidAck);\n }\n pa.duplicate = pa.duplicate ? pa.duplicate : false;\n return pa;\n }\n async pull(stream, durable, expires = 0) {\n validateStreamName(stream);\n validateDurableName(durable);\n let timeout = this.timeout;\n if (expires > timeout) {\n timeout = expires;\n }\n expires = expires < 0 ? 0 : nanos(expires);\n const pullOpts = {\n batch: 1,\n no_wait: expires === 0,\n expires\n };\n const msg = await this.nc.request(`${this.prefix}.CONSUMER.MSG.NEXT.${stream}.${durable}`, this.jc.encode(pullOpts), {\n noMux: true,\n timeout\n });\n const err = checkJsError(msg);\n if (err) {\n throw err;\n }\n return toJsMsg(msg);\n }\n fetch(stream, durable, opts = {}) {\n validateStreamName(stream);\n validateDurableName(durable);\n let timer = null;\n const trackBytes = (opts.max_bytes ?? 0) > 0;\n let receivedBytes = 0;\n const max_bytes = trackBytes ? opts.max_bytes : 0;\n let monitor = null;\n const args = {};\n args.batch = opts.batch || 1;\n if (max_bytes) {\n const fv = this.nc.features.get(Feature.JS_PULL_MAX_BYTES);\n if (!fv.ok) {\n throw new Error(`max_bytes is only supported on servers ${fv.min} or better`);\n }\n args.max_bytes = max_bytes;\n }\n args.no_wait = opts.no_wait || false;\n if (args.no_wait && args.expires) {\n args.expires = 0;\n }\n const expires = opts.expires || 0;\n if (expires) {\n args.expires = nanos(expires);\n }\n if (expires === 0 && args.no_wait === false) {\n throw new Error(\"expires or no_wait is required\");\n }\n const hb = opts.idle_heartbeat || 0;\n if (hb) {\n args.idle_heartbeat = nanos(hb);\n if (opts.delay_heartbeat === true) {\n args.idle_heartbeat = nanos(hb * 4);\n }\n }\n const qi = new QueuedIteratorImpl();\n const wants = args.batch;\n let received = 0;\n qi.protocolFilterFn = (jm, _ingest = false)=>{\n const jsmi = jm;\n if (isHeartbeatMsg(jsmi.msg)) {\n monitor?.work();\n return false;\n }\n return true;\n };\n qi.dispatchedFn = (m)=>{\n if (m) {\n if (trackBytes) {\n receivedBytes += m.data.length;\n }\n received++;\n if (timer && m.info.pending === 0) {\n return;\n }\n if (qi.getPending() === 1 && m.info.pending === 0 || wants === received || max_bytes > 0 && receivedBytes >= max_bytes) {\n qi.stop();\n }\n }\n };\n const inbox = createInbox(this.nc.options.inboxPrefix);\n const sub = this.nc.subscribe(inbox, {\n max: opts.batch,\n callback: (err, msg)=>{\n if (err === null) {\n err = checkJsError(msg);\n }\n if (err !== null) {\n if (timer) {\n timer.cancel();\n timer = null;\n }\n if (isNatsError(err)) {\n qi.stop(hideNonTerminalJsErrors(err) === null ? undefined : err);\n } else {\n qi.stop(err);\n }\n } else {\n monitor?.work();\n qi.received++;\n qi.push(toJsMsg(msg));\n }\n }\n });\n if (expires) {\n timer = timeout(expires);\n timer.catch(()=>{\n if (!sub.isClosed()) {\n sub.drain().catch(()=>{});\n timer = null;\n }\n if (monitor) {\n monitor.cancel();\n }\n });\n }\n (async ()=>{\n try {\n if (hb) {\n monitor = new IdleHeartbeatMonitor(hb, (v)=>{\n qi.push(()=>{\n qi.err = new NatsError(`${Js409Errors.IdleHeartbeatMissed}: ${v}`, ErrorCode.JetStreamIdleHeartBeat);\n });\n return true;\n });\n }\n } catch (_err) {}\n await sub.closed;\n if (timer !== null) {\n timer.cancel();\n timer = null;\n }\n if (monitor) {\n monitor.cancel();\n }\n qi.stop();\n })().catch();\n this.nc.publish(`${this.prefix}.CONSUMER.MSG.NEXT.${stream}.${durable}`, this.jc.encode(args), {\n reply: inbox\n });\n return qi;\n }\n async pullSubscribe(subject, opts = consumerOpts()) {\n const cso = await this._processOptions(subject, opts);\n if (cso.ordered) {\n throw new Error(\"pull subscribers cannot be be ordered\");\n }\n if (cso.config.deliver_subject) {\n throw new Error(\"consumer info specifies deliver_subject - pull consumers cannot have deliver_subject set\");\n }\n const ackPolicy = cso.config.ack_policy;\n if (ackPolicy === AckPolicy.None || ackPolicy === AckPolicy.All) {\n throw new Error(\"ack policy for pull consumers must be explicit\");\n }\n const so = this._buildTypedSubscriptionOpts(cso);\n const sub = new JetStreamPullSubscriptionImpl(this, cso.deliver, so);\n sub.info = cso;\n try {\n await this._maybeCreateConsumer(cso);\n } catch (err) {\n sub.unsubscribe();\n throw err;\n }\n return sub;\n }\n async subscribe(subject, opts = consumerOpts()) {\n const cso = await this._processOptions(subject, opts);\n if (!cso.isBind && !cso.config.deliver_subject) {\n throw new Error(\"push consumer requires deliver_subject\");\n }\n const so = this._buildTypedSubscriptionOpts(cso);\n const sub = new JetStreamSubscriptionImpl(this, cso.deliver, so);\n sub.info = cso;\n try {\n await this._maybeCreateConsumer(cso);\n } catch (err) {\n sub.unsubscribe();\n throw err;\n }\n sub._maybeSetupHbMonitoring();\n return sub;\n }\n async _processOptions(subject, opts = consumerOpts()) {\n const jsi = isConsumerOptsBuilder(opts) ? opts.getOpts() : opts;\n jsi.isBind = isConsumerOptsBuilder(opts) ? opts.isBind : false;\n jsi.flow_control = {\n heartbeat_count: 0,\n fc_count: 0,\n consumer_restarts: 0\n };\n if (jsi.ordered) {\n jsi.ordered_consumer_sequence = {\n stream_seq: 0,\n delivery_seq: 0\n };\n if (jsi.config.ack_policy !== AckPolicy.NotSet && jsi.config.ack_policy !== AckPolicy.None) {\n throw new NatsError(\"ordered consumer: ack_policy can only be set to 'none'\", ErrorCode.ApiError);\n }\n if (jsi.config.durable_name && jsi.config.durable_name.length > 0) {\n throw new NatsError(\"ordered consumer: durable_name cannot be set\", ErrorCode.ApiError);\n }\n if (jsi.config.deliver_subject && jsi.config.deliver_subject.length > 0) {\n throw new NatsError(\"ordered consumer: deliver_subject cannot be set\", ErrorCode.ApiError);\n }\n if (jsi.config.max_deliver !== undefined && jsi.config.max_deliver > 1) {\n throw new NatsError(\"ordered consumer: max_deliver cannot be set\", ErrorCode.ApiError);\n }\n if (jsi.config.deliver_group && jsi.config.deliver_group.length > 0) {\n throw new NatsError(\"ordered consumer: deliver_group cannot be set\", ErrorCode.ApiError);\n }\n jsi.config.deliver_subject = createInbox(this.nc.options.inboxPrefix);\n jsi.config.ack_policy = AckPolicy.None;\n jsi.config.max_deliver = 1;\n jsi.config.flow_control = true;\n jsi.config.idle_heartbeat = jsi.config.idle_heartbeat || nanos(5000);\n jsi.config.ack_wait = nanos(22 * 60 * 60 * 1000);\n jsi.config.mem_storage = true;\n jsi.config.num_replicas = 1;\n }\n if (jsi.config.ack_policy === AckPolicy.NotSet) {\n jsi.config.ack_policy = AckPolicy.All;\n }\n jsi.api = this;\n jsi.config = jsi.config || {};\n jsi.stream = jsi.stream ? jsi.stream : await this.findStream(subject);\n jsi.attached = false;\n if (jsi.config.durable_name) {\n try {\n const info = await this.consumerAPI.info(jsi.stream, jsi.config.durable_name);\n if (info) {\n if (info.config.filter_subject && info.config.filter_subject !== subject) {\n throw new Error(\"subject does not match consumer\");\n }\n const qn = jsi.config.deliver_group ?? \"\";\n if (qn === \"\" && info.push_bound === true) {\n throw new Error(`duplicate subscription`);\n }\n const rqn = info.config.deliver_group ?? \"\";\n if (qn !== rqn) {\n if (rqn === \"\") {\n throw new Error(`durable requires no queue group`);\n } else {\n throw new Error(`durable requires queue group '${rqn}'`);\n }\n }\n jsi.last = info;\n jsi.config = info.config;\n jsi.attached = true;\n if (!jsi.config.durable_name) {\n jsi.name = info.name;\n }\n }\n } catch (err) {\n if (err.code !== \"404\") {\n throw err;\n }\n }\n }\n if (!jsi.attached && jsi.config.filter_subject === undefined && jsi.config.filter_subjects === undefined) {\n jsi.config.filter_subject = subject;\n }\n jsi.deliver = jsi.config.deliver_subject || createInbox(this.nc.options.inboxPrefix);\n return jsi;\n }\n _buildTypedSubscriptionOpts(jsi) {\n const so = {};\n so.adapter = msgAdapter(jsi.callbackFn === undefined);\n so.ingestionFilterFn = JetStreamClientImpl.ingestionFn(jsi.ordered);\n so.protocolFilterFn = (jm, ingest = false)=>{\n const jsmi = jm;\n if (isFlowControlMsg(jsmi.msg)) {\n if (!ingest) {\n jsmi.msg.respond();\n }\n return false;\n }\n return true;\n };\n if (!jsi.mack && jsi.config.ack_policy !== AckPolicy.None) {\n so.dispatchedFn = autoAckJsMsg;\n }\n if (jsi.callbackFn) {\n so.callback = jsi.callbackFn;\n }\n so.max = jsi.max || 0;\n so.queue = jsi.queue;\n return so;\n }\n async _maybeCreateConsumer(jsi) {\n if (jsi.attached) {\n return;\n }\n if (jsi.isBind) {\n throw new Error(`unable to bind - durable consumer ${jsi.config.durable_name} doesn't exist in ${jsi.stream}`);\n }\n jsi.config = Object.assign({\n deliver_policy: DeliverPolicy.All,\n ack_policy: AckPolicy.Explicit,\n ack_wait: nanos(30 * 1000),\n replay_policy: ReplayPolicy.Instant\n }, jsi.config);\n const ci = await this.consumerAPI.add(jsi.stream, jsi.config);\n if (Array.isArray(jsi.config.filter_subjects && !Array.isArray(ci.config.filter_subjects))) {\n throw new Error(`jetstream server doesn't support consumers with multiple filter subjects`);\n }\n jsi.name = ci.name;\n jsi.config = ci.config;\n jsi.last = ci;\n }\n static ingestionFn(ordered) {\n return (jm, ctx)=>{\n const jsub = ctx;\n if (!jm) return {\n ingest: false,\n protocol: false\n };\n const jmi = jm;\n if (!checkJsError(jmi.msg)) {\n jsub.monitor?.work();\n }\n if (isHeartbeatMsg(jmi.msg)) {\n const ingest = ordered ? jsub._checkHbOrderConsumer(jmi.msg) : true;\n if (!ordered) {\n jsub.info.flow_control.heartbeat_count++;\n }\n return {\n ingest,\n protocol: true\n };\n } else if (isFlowControlMsg(jmi.msg)) {\n jsub.info.flow_control.fc_count++;\n return {\n ingest: true,\n protocol: true\n };\n }\n const ingest = ordered ? jsub._checkOrderedConsumer(jm) : true;\n return {\n ingest,\n protocol: false\n };\n };\n }\n}\nclass NatsConnectionImpl {\n options;\n protocol;\n draining;\n listeners;\n _services;\n constructor(opts){\n this.draining = false;\n this.options = parseOptions(opts);\n this.listeners = [];\n }\n static connect(opts = {}) {\n return new Promise((resolve, reject)=>{\n const nc = new NatsConnectionImpl(opts);\n ProtocolHandler.connect(nc.options, nc).then((ph)=>{\n nc.protocol = ph;\n (async function() {\n for await (const s of ph.status()){\n nc.listeners.forEach((l)=>{\n l.push(s);\n });\n }\n })();\n resolve(nc);\n }).catch((err)=>{\n reject(err);\n });\n });\n }\n closed() {\n return this.protocol.closed;\n }\n async close() {\n await this.protocol.close();\n }\n _check(subject, sub, pub) {\n if (this.isClosed()) {\n throw NatsError.errorForCode(ErrorCode.ConnectionClosed);\n }\n if (sub && this.isDraining()) {\n throw NatsError.errorForCode(ErrorCode.ConnectionDraining);\n }\n if (pub && this.protocol.noMorePublishing) {\n throw NatsError.errorForCode(ErrorCode.ConnectionDraining);\n }\n subject = subject || \"\";\n if (subject.length === 0) {\n throw NatsError.errorForCode(ErrorCode.BadSubject);\n }\n }\n publish(subject, data, options) {\n this._check(subject, false, true);\n this.protocol.publish(subject, data, options);\n }\n publishMessage(msg) {\n return this.publish(msg.subject, msg.data, {\n reply: msg.reply,\n headers: msg.headers\n });\n }\n respondMessage(msg) {\n if (msg.reply) {\n this.publish(msg.reply, msg.data, {\n reply: msg.reply,\n headers: msg.headers\n });\n return true;\n }\n return false;\n }\n subscribe(subject, opts = {}) {\n this._check(subject, true, false);\n const sub = new SubscriptionImpl(this.protocol, subject, opts);\n this.protocol.subscribe(sub);\n return sub;\n }\n _resub(s, subject, max) {\n this._check(subject, true, false);\n const si = s;\n si.max = max;\n if (max) {\n si.max = max + si.received;\n }\n this.protocol.resub(si, subject);\n }\n requestMany(subject, data = Empty, opts = {\n maxWait: 1000,\n maxMessages: -1\n }) {\n const asyncTraces = !(this.protocol.options.noAsyncTraces || false);\n try {\n this._check(subject, true, true);\n } catch (err) {\n return Promise.reject(err);\n }\n opts.strategy = opts.strategy || RequestStrategy.Timer;\n opts.maxWait = opts.maxWait || 1000;\n if (opts.maxWait < 1) {\n return Promise.reject(new NatsError(\"timeout\", ErrorCode.InvalidOption));\n }\n const qi = new QueuedIteratorImpl();\n function stop(err) {\n qi.push(()=>{\n qi.stop(err);\n });\n }\n function callback(err, msg) {\n if (err || msg === null) {\n stop(err === null ? undefined : err);\n } else {\n qi.push(msg);\n }\n }\n if (opts.noMux) {\n const stack = asyncTraces ? new Error().stack : null;\n let max = typeof opts.maxMessages === \"number\" && opts.maxMessages > 0 ? opts.maxMessages : -1;\n const sub = this.subscribe(createInbox(this.options.inboxPrefix), {\n callback: (err, msg)=>{\n if (msg?.data?.length === 0 && msg?.headers?.status === ErrorCode.NoResponders) {\n err = NatsError.errorForCode(ErrorCode.NoResponders);\n }\n if (err) {\n if (stack) {\n err.stack += `\\n\\n${stack}`;\n }\n cancel(err);\n return;\n }\n callback(null, msg);\n if (opts.strategy === RequestStrategy.Count) {\n max--;\n if (max === 0) {\n cancel();\n }\n }\n if (opts.strategy === RequestStrategy.JitterTimer) {\n clearTimers();\n timer = setTimeout(()=>{\n cancel();\n }, 300);\n }\n if (opts.strategy === RequestStrategy.SentinelMsg) {\n if (msg && msg.data.length === 0) {\n cancel();\n }\n }\n }\n });\n sub.closed.then(()=>{\n stop();\n }).catch((err)=>{\n qi.stop(err);\n });\n const cancel = (err)=>{\n if (err) {\n qi.push(()=>{\n throw err;\n });\n }\n clearTimers();\n sub.drain().then(()=>{\n stop();\n }).catch((_err)=>{\n stop();\n });\n };\n qi.iterClosed.then(()=>{\n clearTimers();\n sub?.unsubscribe();\n }).catch((_err)=>{\n clearTimers();\n sub?.unsubscribe();\n });\n try {\n this.publish(subject, data, {\n reply: sub.getSubject()\n });\n } catch (err) {\n cancel(err);\n }\n let timer = setTimeout(()=>{\n cancel();\n }, opts.maxWait);\n const clearTimers = ()=>{\n if (timer) {\n clearTimeout(timer);\n }\n };\n } else {\n const rmo = opts;\n rmo.callback = callback;\n qi.iterClosed.then(()=>{\n r.cancel();\n }).catch((err)=>{\n r.cancel(err);\n });\n const r = new RequestMany(this.protocol.muxSubscriptions, subject, rmo);\n this.protocol.request(r);\n try {\n this.publish(subject, data, {\n reply: `${this.protocol.muxSubscriptions.baseInbox}${r.token}`,\n headers: opts.headers\n });\n } catch (err) {\n r.cancel(err);\n }\n }\n return Promise.resolve(qi);\n }\n request(subject, data, opts = {\n timeout: 1000,\n noMux: false\n }) {\n try {\n this._check(subject, true, true);\n } catch (err) {\n return Promise.reject(err);\n }\n const asyncTraces = !(this.protocol.options.noAsyncTraces || false);\n opts.timeout = opts.timeout || 1000;\n if (opts.timeout < 1) {\n return Promise.reject(new NatsError(\"timeout\", ErrorCode.InvalidOption));\n }\n if (!opts.noMux && opts.reply) {\n return Promise.reject(new NatsError(\"reply can only be used with noMux\", ErrorCode.InvalidOption));\n }\n if (opts.noMux) {\n const inbox = opts.reply ? opts.reply : createInbox(this.options.inboxPrefix);\n const d = deferred();\n const errCtx = asyncTraces ? new Error() : null;\n const sub = this.subscribe(inbox, {\n max: 1,\n timeout: opts.timeout,\n callback: (err, msg)=>{\n if (err) {\n if (errCtx && err.code !== ErrorCode.Timeout) {\n err.stack += `\\n\\n${errCtx.stack}`;\n }\n d.reject(err);\n } else {\n err = isRequestError(msg);\n if (err) {\n if (errCtx) {\n err.stack += `\\n\\n${errCtx.stack}`;\n }\n d.reject(err);\n } else {\n d.resolve(msg);\n }\n }\n }\n });\n sub.requestSubject = subject;\n this.protocol.publish(subject, data, {\n reply: inbox,\n headers: opts.headers\n });\n return d;\n } else {\n const r = new RequestOne(this.protocol.muxSubscriptions, subject, opts, asyncTraces);\n this.protocol.request(r);\n try {\n this.publish(subject, data, {\n reply: `${this.protocol.muxSubscriptions.baseInbox}${r.token}`,\n headers: opts.headers\n });\n } catch (err) {\n r.cancel(err);\n }\n const p = Promise.race([\n r.timer,\n r.deferred\n ]);\n p.catch(()=>{\n r.cancel();\n });\n return p;\n }\n }\n flush() {\n if (this.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionClosed));\n }\n return this.protocol.flush();\n }\n drain() {\n if (this.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionClosed));\n }\n if (this.isDraining()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionDraining));\n }\n this.draining = true;\n return this.protocol.drain();\n }\n isClosed() {\n return this.protocol.isClosed();\n }\n isDraining() {\n return this.draining;\n }\n getServer() {\n const srv = this.protocol.getServer();\n return srv ? srv.listen : \"\";\n }\n status() {\n const iter = new QueuedIteratorImpl();\n iter.iterClosed.then(()=>{\n const idx = this.listeners.indexOf(iter);\n this.listeners.splice(idx, 1);\n });\n this.listeners.push(iter);\n return iter;\n }\n get info() {\n return this.protocol.isClosed() ? undefined : this.protocol.info;\n }\n async context() {\n const r = await this.request(`$SYS.REQ.USER.INFO`);\n return r.json((key, value)=>{\n if (key === \"time\") {\n return new Date(Date.parse(value));\n }\n return value;\n });\n }\n stats() {\n return {\n inBytes: this.protocol.inBytes,\n outBytes: this.protocol.outBytes,\n inMsgs: this.protocol.inMsgs,\n outMsgs: this.protocol.outMsgs\n };\n }\n async jetstreamManager(opts = {}) {\n const adm = new JetStreamManagerImpl(this, opts);\n if (opts.checkAPI !== false) {\n try {\n await adm.getAccountInfo();\n } catch (err) {\n const ne = err;\n if (ne.code === ErrorCode.NoResponders) {\n ne.code = ErrorCode.JetStreamNotEnabled;\n }\n throw ne;\n }\n }\n return adm;\n }\n jetstream(opts = {}) {\n return new JetStreamClientImpl(this, opts);\n }\n getServerVersion() {\n const info = this.info;\n return info ? parseSemVer(info.version) : undefined;\n }\n async rtt() {\n if (!this.protocol._closed && !this.protocol.connected) {\n throw NatsError.errorForCode(ErrorCode.Disconnect);\n }\n const start = Date.now();\n await this.flush();\n return Date.now() - start;\n }\n get features() {\n return this.protocol.features;\n }\n get services() {\n if (!this._services) {\n this._services = new ServicesFactory(this);\n }\n return this._services;\n }\n reconnect() {\n if (this.isClosed()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionClosed));\n }\n if (this.isDraining()) {\n return Promise.reject(NatsError.errorForCode(ErrorCode.ConnectionDraining));\n }\n return this.protocol.reconnect();\n }\n}\nclass ServicesFactory {\n nc;\n constructor(nc){\n this.nc = nc;\n }\n add(config) {\n try {\n const s = new ServiceImpl(this.nc, config);\n return s.start();\n } catch (err) {\n return Promise.reject(err);\n }\n }\n client(opts, prefix) {\n return new ServiceClientImpl(this.nc, opts, prefix);\n }\n}\nclass KvStoredEntryImpl {\n bucket;\n sm;\n prefixLen;\n constructor(bucket, prefixLen, sm){\n this.bucket = bucket;\n this.prefixLen = prefixLen;\n this.sm = sm;\n }\n get key() {\n return this.sm.subject.substring(this.prefixLen);\n }\n get value() {\n return this.sm.data;\n }\n get delta() {\n return 0;\n }\n get created() {\n return this.sm.time;\n }\n get revision() {\n return this.sm.seq;\n }\n get operation() {\n return this.sm.header.get(kvOperationHdr) || \"PUT\";\n }\n get length() {\n const slen = this.sm.header.get(JsHeaders.MessageSizeHdr) || \"\";\n if (slen !== \"\") {\n return parseInt(slen, 10);\n }\n return this.sm.data.length;\n }\n json() {\n return this.sm.json();\n }\n string() {\n return this.sm.string();\n }\n}\nclass KvJsMsgEntryImpl {\n bucket;\n key;\n sm;\n constructor(bucket, key, sm){\n this.bucket = bucket;\n this.key = key;\n this.sm = sm;\n }\n get value() {\n return this.sm.data;\n }\n get created() {\n return new Date(millis(this.sm.info.timestampNanos));\n }\n get revision() {\n return this.sm.seq;\n }\n get operation() {\n return this.sm.headers?.get(kvOperationHdr) || \"PUT\";\n }\n get delta() {\n return this.sm.info.pending;\n }\n get length() {\n const slen = this.sm.headers?.get(JsHeaders.MessageSizeHdr) || \"\";\n if (slen !== \"\") {\n return parseInt(slen, 10);\n }\n return this.sm.data.length;\n }\n json() {\n return this.sm.json();\n }\n string() {\n return this.sm.string();\n }\n}\nclass JetStreamSubscriptionImpl extends TypedSubscription {\n js;\n monitor;\n constructor(js, subject, opts){\n super(js.nc, subject, opts);\n this.js = js;\n this.monitor = null;\n this.sub.closed.then(()=>{\n if (this.monitor) {\n this.monitor.cancel();\n }\n });\n }\n set info(info) {\n this.sub.info = info;\n }\n get info() {\n return this.sub.info;\n }\n _resetOrderedConsumer(sseq) {\n if (this.info === null || this.sub.isClosed()) {\n return;\n }\n const newDeliver = createInbox(this.js.nc.options.inboxPrefix);\n const nci = this.js.nc;\n nci._resub(this.sub, newDeliver);\n const info = this.info;\n info.config.name = nuid.next();\n info.ordered_consumer_sequence.delivery_seq = 0;\n info.flow_control.heartbeat_count = 0;\n info.flow_control.fc_count = 0;\n info.flow_control.consumer_restarts++;\n info.deliver = newDeliver;\n info.config.deliver_subject = newDeliver;\n info.config.deliver_policy = DeliverPolicy.StartSequence;\n info.config.opt_start_seq = sseq;\n const req = {};\n req.stream_name = this.info.stream;\n req.config = info.config;\n const subj = `${info.api.prefix}.CONSUMER.CREATE.${info.stream}`;\n this.js._request(subj, req, {\n retries: -1\n }).then((v)=>{\n const ci = v;\n const jinfo = this.sub.info;\n jinfo.last = ci;\n this.info.config = ci.config;\n this.info.name = ci.name;\n }).catch((err)=>{\n const nerr = new NatsError(`unable to recreate ordered consumer ${info.stream} at seq ${sseq}`, ErrorCode.RequestError, err);\n this.sub.callback(nerr, {});\n });\n }\n _maybeSetupHbMonitoring() {\n const ns = this.info?.config?.idle_heartbeat || 0;\n if (ns) {\n this._setupHbMonitoring(millis(ns));\n }\n }\n _setupHbMonitoring(millis, cancelAfter = 0) {\n const opts = {\n cancelAfter: 0,\n maxOut: 2\n };\n if (cancelAfter) {\n opts.cancelAfter = cancelAfter;\n }\n const sub = this.sub;\n const handler = (v)=>{\n const msg = newJsErrorMsg(409, `${Js409Errors.IdleHeartbeatMissed}: ${v}`, this.sub.subject);\n const ordered = this.info?.ordered;\n if (!ordered) {\n this.sub.callback(null, msg);\n } else {\n if (!this.js.nc.protocol.connected) {\n return false;\n }\n const seq = this.info?.ordered_consumer_sequence?.stream_seq || 0;\n this._resetOrderedConsumer(seq + 1);\n this.monitor?.restart();\n return false;\n }\n return !sub.noIterator;\n };\n this.monitor = new IdleHeartbeatMonitor(millis, handler, opts);\n }\n _checkHbOrderConsumer(msg) {\n const rm = msg.headers.get(JsHeaders.ConsumerStalledHdr);\n if (rm !== \"\") {\n const nci = this.js.nc;\n nci.publish(rm);\n }\n const lastDelivered = parseInt(msg.headers.get(JsHeaders.LastConsumerSeqHdr), 10);\n const ordered = this.info.ordered_consumer_sequence;\n this.info.flow_control.heartbeat_count++;\n if (lastDelivered !== ordered.delivery_seq) {\n this._resetOrderedConsumer(ordered.stream_seq + 1);\n }\n return false;\n }\n _checkOrderedConsumer(jm) {\n const ordered = this.info.ordered_consumer_sequence;\n const sseq = jm.info.streamSequence;\n const dseq = jm.info.deliverySequence;\n if (dseq != ordered.delivery_seq + 1) {\n this._resetOrderedConsumer(ordered.stream_seq + 1);\n return false;\n }\n ordered.delivery_seq = dseq;\n ordered.stream_seq = sseq;\n return true;\n }\n async destroy() {\n if (!this.isClosed()) {\n await this.drain();\n }\n const jinfo = this.sub.info;\n const name = jinfo.config.durable_name || jinfo.name;\n const subj = `${jinfo.api.prefix}.CONSUMER.DELETE.${jinfo.stream}.${name}`;\n await jinfo.api._request(subj);\n }\n async consumerInfo() {\n const jinfo = this.sub.info;\n const name = jinfo.config.durable_name || jinfo.name;\n const subj = `${jinfo.api.prefix}.CONSUMER.INFO.${jinfo.stream}.${name}`;\n const ci = await jinfo.api._request(subj);\n jinfo.last = ci;\n return ci;\n }\n}\nclass JetStreamPullSubscriptionImpl extends JetStreamSubscriptionImpl {\n constructor(js, subject, opts){\n super(js, subject, opts);\n }\n pull(opts = {\n batch: 1\n }) {\n const { stream, config, name } = this.sub.info;\n const consumer = config.durable_name ?? name;\n const args = {};\n args.batch = opts.batch || 1;\n args.no_wait = opts.no_wait || false;\n if ((opts.max_bytes ?? 0) > 0) {\n const fv = this.js.nc.features.get(Feature.JS_PULL_MAX_BYTES);\n if (!fv.ok) {\n throw new Error(`max_bytes is only supported on servers ${fv.min} or better`);\n }\n args.max_bytes = opts.max_bytes;\n }\n let expires = 0;\n if (opts.expires && opts.expires > 0) {\n expires = opts.expires;\n args.expires = nanos(expires);\n }\n let hb = 0;\n if (opts.idle_heartbeat && opts.idle_heartbeat > 0) {\n hb = opts.idle_heartbeat;\n args.idle_heartbeat = nanos(hb);\n }\n if (hb && expires === 0) {\n throw new Error(\"idle_heartbeat requires expires\");\n }\n if (hb > expires) {\n throw new Error(\"expires must be greater than idle_heartbeat\");\n }\n if (this.info) {\n if (this.monitor) {\n this.monitor.cancel();\n }\n if (expires && hb) {\n if (!this.monitor) {\n this._setupHbMonitoring(hb, expires);\n } else {\n this.monitor._change(hb, expires);\n }\n }\n const api = this.info.api;\n const subj = `${api.prefix}.CONSUMER.MSG.NEXT.${stream}.${consumer}`;\n const reply = this.sub.subject;\n api.nc.publish(subj, api.jc.encode(args), {\n reply: reply\n });\n }\n }\n}\nfunction msgAdapter(iterator) {\n if (iterator) {\n return iterMsgAdapter;\n } else {\n return cbMsgAdapter;\n }\n}\nfunction cbMsgAdapter(err, msg) {\n if (err) {\n return [\n err,\n null\n ];\n }\n err = checkJsError(msg);\n if (err) {\n return [\n err,\n null\n ];\n }\n return [\n null,\n toJsMsg(msg)\n ];\n}\nfunction iterMsgAdapter(err, msg) {\n if (err) {\n return [\n err,\n null\n ];\n }\n const ne = checkJsError(msg);\n if (ne !== null) {\n return [\n hideNonTerminalJsErrors(ne),\n null\n ];\n }\n return [\n null,\n toJsMsg(msg)\n ];\n}\nfunction hideNonTerminalJsErrors(ne) {\n if (ne !== null) {\n switch(ne.code){\n case ErrorCode.JetStream404NoMessages:\n case ErrorCode.JetStream408RequestTimeout:\n return null;\n case ErrorCode.JetStream409:\n if (isTerminal409(ne)) {\n return ne;\n }\n return null;\n default:\n return ne;\n }\n }\n return null;\n}\nfunction autoAckJsMsg(data) {\n if (data) {\n data.ack();\n }\n}\nfunction parseInfo(s) {\n const tokens = s.split(\".\");\n if (tokens.length === 9) {\n tokens.splice(2, 0, \"_\", \"\");\n }\n if (tokens.length < 11 || tokens[0] !== \"$JS\" || tokens[1] !== \"ACK\") {\n throw new Error(`not js message`);\n }\n const di = {};\n di.domain = tokens[2] === \"_\" ? \"\" : tokens[2];\n di.account_hash = tokens[3];\n di.stream = tokens[4];\n di.consumer = tokens[5];\n di.redeliveryCount = parseInt(tokens[6], 10);\n di.redelivered = di.redeliveryCount > 1;\n di.streamSequence = parseInt(tokens[7], 10);\n di.deliverySequence = parseInt(tokens[8], 10);\n di.timestampNanos = parseInt(tokens[9], 10);\n di.pending = parseInt(tokens[10], 10);\n return di;\n}\nclass JsMsgImpl {\n msg;\n di;\n didAck;\n constructor(msg){\n this.msg = msg;\n this.didAck = false;\n }\n get subject() {\n return this.msg.subject;\n }\n get sid() {\n return this.msg.sid;\n }\n get data() {\n return this.msg.data;\n }\n get headers() {\n return this.msg.headers;\n }\n get info() {\n if (!this.di) {\n this.di = parseInfo(this.reply);\n }\n return this.di;\n }\n get redelivered() {\n return this.info.redeliveryCount > 1;\n }\n get reply() {\n return this.msg.reply || \"\";\n }\n get seq() {\n return this.info.streamSequence;\n }\n doAck(payload) {\n if (!this.didAck) {\n this.didAck = !this.isWIP(payload);\n this.msg.respond(payload);\n }\n }\n isWIP(p) {\n return p.length === 4 && p[0] === WPI[0] && p[1] === WPI[1] && p[2] === WPI[2] && p[3] === WPI[3];\n }\n async ackAck() {\n const d = deferred();\n if (!this.didAck) {\n this.didAck = true;\n if (this.msg.reply) {\n const mi = this.msg;\n const proto = mi.publisher;\n const trace = !(proto.options?.noAsyncTraces || false);\n const r = new RequestOne(proto.muxSubscriptions, this.msg.reply, {\n timeout: 1000\n }, trace);\n proto.request(r);\n try {\n proto.publish(this.msg.reply, ACK, {\n reply: `${proto.muxSubscriptions.baseInbox}${r.token}`\n });\n } catch (err) {\n r.cancel(err);\n }\n try {\n await Promise.race([\n r.timer,\n r.deferred\n ]);\n d.resolve(true);\n } catch (err) {\n r.cancel(err);\n d.reject(err);\n }\n } else {\n d.resolve(false);\n }\n } else {\n d.resolve(false);\n }\n return d;\n }\n ack() {\n this.doAck(ACK);\n }\n nak(millis) {\n let payload = NAK;\n if (millis) {\n payload = StringCodec().encode(`-NAK ${JSON.stringify({\n delay: nanos(millis)\n })}`);\n }\n this.doAck(payload);\n }\n working() {\n this.doAck(WPI);\n }\n next(subj, opts = {\n batch: 1\n }) {\n const args = {};\n args.batch = opts.batch || 1;\n args.no_wait = opts.no_wait || false;\n if (opts.expires && opts.expires > 0) {\n args.expires = nanos(opts.expires);\n }\n const data = JSONCodec().encode(args);\n const payload = DataBuffer.concat(NXT, SPACE, data);\n const reqOpts = subj ? {\n reply: subj\n } : undefined;\n this.msg.respond(payload, reqOpts);\n }\n term(reason = \"\") {\n let term = TERM;\n if (reason?.length > 0) {\n term = StringCodec().encode(`+TERM ${reason}`);\n }\n this.doAck(term);\n }\n json() {\n return this.msg.json();\n }\n string() {\n return this.msg.string();\n }\n}\nexport { checkJsError as checkJsError, isFlowControlMsg as isFlowControlMsg, isHeartbeatMsg as isHeartbeatMsg };\nexport { AckPolicy as AckPolicy, AdvisoryKind as AdvisoryKind, ConsumerDebugEvents as ConsumerDebugEvents, ConsumerEvents as ConsumerEvents, DeliverPolicy as DeliverPolicy, DirectMsgHeaders as DirectMsgHeaders, DiscardPolicy as DiscardPolicy, JsHeaders as JsHeaders, KvWatchInclude as KvWatchInclude, ReplayPolicy as ReplayPolicy, RepublishHeaders as RepublishHeaders, RetentionPolicy as RetentionPolicy, StorageType as StorageType, StoreCompression as StoreCompression };\nexport { consumerOpts as consumerOpts };\nconst VERSION = \"1.25.0\";\nconst LANG = \"nats.ws\";\nclass WsTransport {\n version;\n lang;\n closeError;\n connected;\n done;\n socket;\n options;\n socketClosed;\n encrypted;\n peeked;\n yields;\n signal;\n closedNotification;\n constructor(){\n this.version = VERSION;\n this.lang = LANG;\n this.connected = false;\n this.done = false;\n this.socketClosed = false;\n this.encrypted = false;\n this.peeked = false;\n this.yields = [];\n this.signal = deferred();\n this.closedNotification = deferred();\n }\n async connect(server, options) {\n const connected = false;\n const connLock = deferred();\n if (options.tls) {\n connLock.reject(new NatsError(\"tls\", ErrorCode.InvalidOption));\n return connLock;\n }\n this.options = options;\n const u = server.src;\n if (options.wsFactory) {\n const { socket, encrypted } = await options.wsFactory(server.src, options);\n this.socket = socket;\n this.encrypted = encrypted;\n } else {\n this.encrypted = u.indexOf(\"wss://\") === 0;\n this.socket = new WebSocket(u);\n }\n this.socket.binaryType = \"arraybuffer\";\n this.socket.onopen = ()=>{\n if (this.isDiscarded()) {\n return;\n }\n };\n this.socket.onmessage = (me)=>{\n if (this.isDiscarded()) {\n return;\n }\n this.yields.push(new Uint8Array(me.data));\n if (this.peeked) {\n this.signal.resolve();\n return;\n }\n const t = DataBuffer.concat(...this.yields);\n const pm = extractProtocolMessage(t);\n if (pm !== \"\") {\n const m = INFO.exec(pm);\n if (!m) {\n if (options.debug) {\n console.error(\"!!!\", render(t));\n }\n connLock.reject(new Error(\"unexpected response from server\"));\n return;\n }\n try {\n const info = JSON.parse(m[1]);\n checkOptions(info, this.options);\n this.peeked = true;\n this.connected = true;\n this.signal.resolve();\n connLock.resolve();\n } catch (err) {\n connLock.reject(err);\n return;\n }\n }\n };\n this.socket.onclose = (evt)=>{\n if (this.isDiscarded()) {\n return;\n }\n this.socketClosed = true;\n let reason;\n if (this.done) return;\n if (!evt.wasClean) {\n reason = new Error(evt.reason);\n }\n this._closed(reason);\n };\n this.socket.onerror = (e)=>{\n if (this.isDiscarded()) {\n return;\n }\n const evt = e;\n const err = new NatsError(evt.message, ErrorCode.Unknown, new Error(evt.error));\n if (!connected) {\n connLock.reject(err);\n } else {\n this._closed(err);\n }\n };\n return connLock;\n }\n disconnect() {\n this._closed(undefined, true);\n }\n async _closed(err, internal = true) {\n if (this.isDiscarded()) {\n return;\n }\n if (!this.connected) return;\n if (this.done) return;\n this.closeError = err;\n if (!err) {\n while(!this.socketClosed && this.socket.bufferedAmount > 0){\n await delay(100);\n }\n }\n this.done = true;\n try {\n this.socket.close(err ? 1002 : 1000, err ? err.message : undefined);\n } catch (err) {}\n if (internal) {\n this.closedNotification.resolve(err);\n }\n }\n get isClosed() {\n return this.done;\n }\n [Symbol.asyncIterator]() {\n return this.iterate();\n }\n async *iterate() {\n while(true){\n if (this.isDiscarded()) {\n return;\n }\n if (this.yields.length === 0) {\n await this.signal;\n }\n const yields = this.yields;\n this.yields = [];\n for(let i = 0; i < yields.length; i++){\n if (this.options.debug) {\n console.info(`> ${render(yields[i])}`);\n }\n yield yields[i];\n }\n if (this.done) {\n break;\n } else if (this.yields.length === 0) {\n yields.length = 0;\n this.yields = yields;\n this.signal = deferred();\n }\n }\n }\n isEncrypted() {\n return this.connected && this.encrypted;\n }\n send(frame) {\n if (this.isDiscarded()) {\n return;\n }\n try {\n this.socket.send(frame.buffer);\n if (this.options.debug) {\n console.info(`< ${render(frame)}`);\n }\n return;\n } catch (err) {\n if (this.options.debug) {\n console.error(`!!! ${render(frame)}: ${err}`);\n }\n }\n }\n close(err) {\n return this._closed(err, false);\n }\n closed() {\n return this.closedNotification;\n }\n isDiscarded() {\n if (this.done) {\n this.discard();\n return true;\n }\n return false;\n }\n discard() {\n this.done = true;\n try {\n this.socket?.close();\n } catch (_err) {}\n }\n}\nfunction wsUrlParseFn(u, encrypted) {\n const ut = /^(.*:\\/\\/)(.*)/;\n if (!ut.test(u)) {\n if (typeof encrypted === \"boolean\") {\n u = `${encrypted === true ? \"https\" : \"http\"}://${u}`;\n } else {\n u = `https://${u}`;\n }\n }\n let url = new URL(u);\n const srcProto = url.protocol.toLowerCase();\n if (srcProto === \"ws:\") {\n encrypted = false;\n }\n if (srcProto === \"wss:\") {\n encrypted = true;\n }\n if (srcProto !== \"https:\" && srcProto !== \"http\") {\n u = u.replace(/^(.*:\\/\\/)(.*)/gm, \"$2\");\n url = new URL(`http://${u}`);\n }\n let protocol;\n let port;\n const host = url.hostname;\n const path = url.pathname;\n const search = url.search || \"\";\n switch(srcProto){\n case \"http:\":\n case \"ws:\":\n case \"nats:\":\n port = url.port || \"80\";\n protocol = \"ws:\";\n break;\n case \"https:\":\n case \"wss:\":\n case \"tls:\":\n port = url.port || \"443\";\n protocol = \"wss:\";\n break;\n default:\n port = url.port || encrypted === true ? \"443\" : \"80\";\n protocol = encrypted === true ? \"wss:\" : \"ws:\";\n break;\n }\n return `${protocol}//${host}:${port}${path}${search}`;\n}\nfunction connect(opts = {}) {\n setTransportFactory({\n defaultPort: 443,\n urlParseFn: wsUrlParseFn,\n factory: ()=>{\n return new WsTransport();\n }\n });\n return NatsConnectionImpl.connect(opts);\n}\nexport { connect as connect };\n","import {\n connect,\n consumerOpts,\n createInbox,\n Events,\n JetStreamClient,\n JetStreamSubscription,\n NatsConnection,\n StringCodec,\n} from 'nats.ws';\nimport { Ref, ref } from 'vue';\n\nimport { Models, Stop, Trip, Vehicle } from '~/api/types';\nimport { natsServerUrl } from '~/config';\n\nconst sc = StringCodec();\n\nexport const DeletePayload = '---';\n\nexport const vehicles = ref>({});\nexport const stops = ref>({});\nexport const trips = ref>({});\nexport const isConnected = ref(false);\n\nconst subscriptions = ref }>>({});\nconst subscriptionsQueue: Record>> = {};\n\nlet nc: NatsConnection | undefined;\nexport const js: Ref = ref();\n\nexport const subscribe = async (subject: string, state: Ref>) => {\n if (subscriptions.value[subject]) {\n return;\n }\n\n if (!isConnected.value || !js.value) {\n subscriptionsQueue[subject] = state;\n return;\n }\n\n let resolvePendingSubscription: () => void = () => {};\n subscriptions.value[subject] = {\n pending: new Promise((resolve) => {\n resolvePendingSubscription = resolve;\n }),\n };\n\n const opts = consumerOpts();\n opts.deliverTo(createInbox());\n opts.deliverAll();\n opts.ackNone();\n opts.replayInstantly();\n const sub = await js.value.subscribe(subject, opts);\n\n subscriptions.value[subject].subscription = sub;\n resolvePendingSubscription();\n\n void (async () => {\n // eslint-disable-next-line no-restricted-syntax\n for await (const m of sub) {\n const raw = sc.decode(m.data);\n if (raw === DeletePayload) {\n // TODO\n // delete vehicles.value[''];\n } else {\n const newModel = JSON.parse(raw) as Models;\n if (raw !== JSON.stringify(state.value[newModel.id])) {\n // eslint-disable-next-line no-param-reassign\n state.value = Object.freeze({\n ...state.value,\n [newModel.id]: Object.freeze(newModel),\n });\n }\n }\n }\n })();\n};\n\nexport const unsubscribe = async (subject: string) => {\n if (subscriptions.value[subject]) {\n const { pending } = subscriptions.value[subject];\n if (pending) {\n await pending;\n }\n subscriptions.value[subject]?.subscription?.unsubscribe();\n delete subscriptions.value[subject];\n }\n if (subscriptionsQueue[subject]) {\n delete subscriptionsQueue[subject];\n }\n};\n\nconst processSubscriptionsQueue = async () => {\n await Promise.all(\n Object.keys(subscriptionsQueue).map(async (subject) => {\n await subscribe(subject, subscriptionsQueue[subject]);\n delete subscriptionsQueue[subject];\n }),\n );\n};\n\nexport const loadApi = async () => {\n if (!natsServerUrl || typeof natsServerUrl !== 'string') {\n throw new Error('NATS_URL is invalid!');\n }\n\n nc = await connect({\n servers: [natsServerUrl],\n waitOnFirstConnect: true,\n maxReconnectAttempts: -1,\n });\n isConnected.value = true;\n js.value = nc.jetstream();\n\n await processSubscriptionsQueue();\n\n void (async () => {\n // eslint-disable-next-line no-restricted-syntax\n for await (const s of nc.status()) {\n if (s.type === Events.Disconnect) {\n isConnected.value = false;\n }\n if (s.type === Events.Reconnect) {\n isConnected.value = true;\n\n await processSubscriptionsQueue();\n }\n }\n })();\n};\n","import 'windi.css';\n\nimport { createApp } from 'vue';\n\nimport App from '~/App.vue';\nimport i18n from '~/i18n';\nimport router from '~/router';\n\nimport { loadApi } from './api';\n\nconst app = createApp(App);\n\napp.use(router);\napp.use(i18n);\napp.mount('#app');\n\nvoid loadApi();\n"],"file":"assets/index-C5qMMmKR.js"} \ No newline at end of file diff --git a/assets/index-DUCv0PxY.css b/assets/index-DUCv0PxY.css new file mode 100644 index 0000000..cb146b7 --- /dev/null +++ b/assets/index-DUCv0PxY.css @@ -0,0 +1 @@ +html,body,#app{width:100%;height:100%}body{overflow-y:hidden}*::-webkit-scrollbar{background-color:transparent;height:12px;width:12px}*{scrollbar-width:thin}*::-webkit-scrollbar-thumb{transition:background .2s ease-in-out;border:3px solid transparent;-webkit-background-clip:content-box;background-clip:content-box;--tw-bg-opacity: 1;background-color:rgba(107,114,128,var(--tw-bg-opacity));border-radius:9999px}.dark *::-webkit-scrollbar-thumb{--tw-bg-opacity: 1;background-color:rgba(50,50,50,var(--tw-bg-opacity))}*::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.dark *::-webkit-scrollbar-thumb:hover{--tw-bg-opacity: 1;background-color:rgba(60,60,60,var(--tw-bg-opacity))}*::-webkit-scrollbar-corner{background-color:transparent}.dark .prose *{--tw-text-opacity: 1;color:rgba(255,255,255,var(--tw-text-opacity))}.prose a{--tw-text-opacity: 1;color:rgba(59,130,246,var(--tw-text-opacity))}.dark .prose a{--tw-text-opacity: 1;color:rgba(255,255,255,var(--tw-text-opacity))}.app[data-v-28f57479]{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}*{--tw-ring-inset: var(--tw-empty, );--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgba(59, 130, 246, .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}::moz-focus-inner{border-style:none;padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}button,input,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;padding:0;line-height:inherit;color:inherit}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button{background-color:transparent;background-image:none}button,[role=button]{cursor:pointer}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p,h2{margin:0}h1,h2{font-size:inherit;font-weight:inherit}img{border-style:solid;display:block;vertical-align:middle;max-width:100%;height:auto}input::placeholder{opacity:1;color:#9ca3af}input::webkit-input-placeholder{opacity:1;color:#9ca3af}input::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder{opacity:1;color:#9ca3af}input::-ms-input-placeholder{opacity:1;color:#9ca3af}textarea{resize:vertical}textarea::placeholder{opacity:1;color:#9ca3af}textarea::webkit-input-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}textarea::-ms-input-placeholder{opacity:1;color:#9ca3af}ul{list-style:none;margin:0;padding:0}.prose{color:#374151;max-width:65ch;font-size:1rem;line-height:1.75}.prose [class~=lead]{color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose a{color:#111827;text-decoration:underline;font-weight:500}.prose strong{color:#111827;font-weight:600}.prose ol[type=A]{--list-counter-style: upper-alpha}.prose ol[type=a]{--list-counter-style: lower-alpha}.prose ol[type="A s"]{--list-counter-style: upper-alpha}.prose ol[type="a s"]{--list-counter-style: lower-alpha}.prose ol[type=I]{--list-counter-style: upper-roman}.prose ol[type=i]{--list-counter-style: lower-roman}.prose ol[type="I s"]{--list-counter-style: upper-roman}.prose ol[type="i s"]{--list-counter-style: lower-roman}.prose ol[type="1"]{--list-counter-style: decimal}.prose ol>li{position:relative;padding-left:1.75em}.prose ol>li:before{content:counter(list-item,var(--list-counter-style, decimal)) ".";position:absolute;font-weight:400;color:#6b7280;left:0}.prose ul>li{position:relative;padding-left:1.75em}.prose ul>li:before{content:"";position:absolute;background-color:#d1d5db;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.prose hr{border-color:#e5e7eb;margin-top:3em;margin-bottom:3em}.prose blockquote{font-weight:500;font-style:italic;color:#111827;border-left-width:.25rem;border-color:#e5e7eb;quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose blockquote p:first-of-type:before{content:open-quote}.prose blockquote p:last-of-type:after{content:close-quote}.prose h1{color:#111827;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose h2{color:#111827;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose h3{color:#111827;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose h4{color:#111827;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose figure figcaption{color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose code{color:#111827;font-weight:600;font-size:.875em}.prose code:before{content:"`"}.prose code:after{content:"`"}.prose a code{color:#111827}.prose pre{color:#e5e7eb;background-color:#1f2937;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose pre code:before{content:none}.prose pre code:after{content:none}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose thead{color:#111827;font-weight:600;border-bottom-width:1px;border-bottom-color:#d1d5db}.prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb}.prose tbody tr:last-child{border-bottom-width:0}.prose tbody td{vertical-align:top;padding:.5714286em}.prose p{margin-top:1.25em;margin-bottom:1.25em}.prose img{margin-top:2em;margin-bottom:2em}.prose video{margin-top:2em;margin-bottom:2em}.prose figure{margin-top:2em;margin-bottom:2em}.prose figure>*{margin-top:0;margin-bottom:0}.prose h2 code{font-size:.875em}.prose h3 code{font-size:.9em}.prose ol,.prose ul{margin-top:1.25em;margin-bottom:1.25em;list-style-type:none}.prose li{margin-top:.5em;margin-bottom:.5em}.prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.prose>ul>li>*:first-child{margin-top:1.25em}.prose>ul>li>*:last-child{margin-bottom:1.25em}.prose>ol>li>*:first-child{margin-top:1.25em}.prose>ol>li>*:last-child{margin-bottom:1.25em}.prose ul ul,.prose ul ol,.prose ol ul,.prose ol ol{margin-top:.75em;margin-bottom:.75em}.prose hr+*{margin-top:0}.prose h2+*{margin-top:0}.prose h3+*{margin-top:0}.prose h4+*{margin-top:0}.prose thead th:first-child{padding-left:0}.prose thead th:last-child{padding-right:0}.prose tbody td:first-child{padding-left:0}.prose tbody td:last-child{padding-right:0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.bg-white{--tw-bg-opacity: 1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.dark .dark\:bg-dark-400{--tw-bg-opacity: 1;background-color:rgba(34,34,34,var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-cool-gray-500{--tw-bg-opacity: 1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.dark .dark\:bg-dark-200{--tw-bg-opacity: 1;background-color:rgba(50,50,50,var(--tw-bg-opacity))}.bg-cool-gray-600{--tw-bg-opacity: 1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity: 1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.dark .dark\:bg-red-800{--tw-bg-opacity: 1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.dark .dark\:bg-gray-400{--tw-bg-opacity: 1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.after\:bg-gray-800:after{--tw-bg-opacity: 1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.dark .after\:dark\:bg-gray-300:after{--tw-bg-opacity: 1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.after\:bg-gray-500:after{--tw-bg-opacity: 1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.dark .after\:dark\:bg-gray-400:after{--tw-bg-opacity: 1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.before\:bg-red-700:before{--tw-bg-opacity: 1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.dark .dark\:bg-gray-300{--tw-bg-opacity: 1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity: .8}.bg-opacity-50,.dark .dark\:bg-opacity-50{--tw-bg-opacity: .5}.dark .dark\:border-dark-800{--tw-border-opacity: 1;border-color:rgba(24,24,24,var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.dark .dark\:border-gray-400{--tw-border-opacity: 1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.dark .dark\:hover\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-gray-300{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.focus-visible\:border-blue-700:focus-visible{--tw-border-opacity: 1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.dark .focus-visible\:dark\:border-blue-400:focus-visible{--tw-border-opacity: 1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.focus-visible\:border-gray-300:focus-visible{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.dark .dark\:border-gray-800{--tw-border-opacity: 1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.dark .dark\:border-dark-100{--tw-border-opacity: 1;border-color:rgba(60,60,60,var(--tw-border-opacity))}.dark .dark\:border-dark-300{--tw-border-opacity: 1;border-color:rgba(45,45,45,var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.dark .dark\:border-gray-300{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.dark .dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.border-opacity-50{--tw-border-opacity: .5}.focus-visible\:border-opacity-100:focus-visible{--tw-border-opacity: 1}.focus-visible\:border-opacity-50:focus-visible{--tw-border-opacity: .5}.rounded-full{border-radius:9999px}.rounded-none{border-radius:0}.rounded-md{border-radius:.375rem}.rounded{border-radius:.25rem}.focus-visible\:rounded-md:focus-visible{border-radius:.375rem}.rounded-lg{border-radius:.5rem}.before\:rounded-full:before{border-radius:9999px}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border-solid{border-style:solid}.border-1{border-width:1px}.border-2{border-width:2px}.border{border-width:1px}.border-0{border-width:0px}.border-3{border-width:3px}.border-t-1{border-top-width:1px}.border-b-1{border-bottom-width:1px}.not-last\:border-b-1:not(:last-child){border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.cursor-pointer{cursor:pointer}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.inline-flex{display:-webkit-inline-box;display:-ms-inline-flexbox;display:-webkit-inline-flex;display:inline-flex}.flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.justify-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.flex-grow{-webkit-box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.flex-shrink-0{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}.font-bold{font-weight:700}.h-full{height:100%}.h-1\/2{height:50%}.h-3\/4{height:75%}.h-1\.5{height:.375rem}.h-5{height:1.25rem}.h-12{height:3rem}.h-6{height:1.5rem}.after\:h-full:after{height:100%}.before\:h-4:before{height:1rem}.h-4{height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-2xl{font-size:1.5rem;line-height:2rem}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.m-auto{margin:auto}.m-2{margin:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mt-auto{margin-top:auto}.-mt-4{margin-top:-1rem}.mb-2{margin-bottom:.5rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.mb-1{margin-bottom:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.ml-5{margin-left:1.25rem}.mt-6{margin-top:1.5rem}.mt-4{margin-top:1rem}.mb-8{margin-bottom:2rem}.mb-auto{margin-bottom:auto}.max-h-0{max-height:0px}.max-w-64{max-width:16rem}.max-w-96{max-width:24rem}.max-w-52{max-width:13rem}.max-w-full{max-width:100%}.min-h-0{min-height:0px}.min-w-12{min-width:3rem}.min-w-4{min-width:1rem}.opacity-80{opacity:.8}.opacity-10{opacity:.1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.p-4{padding:1rem}.p-2{padding:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pb-0{padding-bottom:0}.pt-2{padding-top:.5rem}.pt-16{padding-top:4rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pr-1{padding-right:.25rem}.pb-2{padding-bottom:.5rem}.fixed{position:fixed}.absolute{position:absolute}.after\:absolute:after{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.after\:top-0:after{top:0}.shadow-top{--tw-shadow: -4px 0 8px 0 rgba(17, 24, 39, .25);--tw-shadow-colored: -4px 0 8px 0 var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.text-center{text-align:center}.text-black{--tw-text-opacity: 1;color:rgba(0,0,0,var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity: 1;color:rgba(209,213,219,var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgba(59,130,246,var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgba(185,28,28,var(--tw-text-opacity))}.dark .dark\:text-red-500{color:rgba(250,68,68,var(--tw-text-opacity))}.text-yellow-300{--tw-text-opacity: 1;color:rgba(252,211,77,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgba(107,114,128,var(--tw-text-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity: 1;color:rgba(156,163,175,var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgba(29,78,216,var(--tw-text-opacity))}.dark .dark\:text-blue-400{--tw-text-opacity: 1;color:rgba(96,165,250,var(--tw-text-opacity))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.align-text-bottom{vertical-align:text-bottom}.w-full{width:100%}.w-12{width:3rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-1\/3{width:33.333333%}.w-80{width:20rem}.w-14{width:3.5rem}.w-8{width:2rem}.before\:w-4:before{width:1rem}.w-4{width:1rem}.w-36{width:9rem}.w-min{width:-webkit-min-content;width:-moz-min-content;width:min-content}.w-12px{width:12px}.w-8\/10{width:80%}.z-10{z-index:10}.z-1000{z-index:1000}.z-20{z-index:20}.gap-4{grid-gap:1rem;gap:1rem}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-x-1{-webkit-column-gap:.25rem;-moz-column-gap:.25rem;grid-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-webkit-column-gap:.5rem;-moz-column-gap:.5rem;grid-column-gap:.5rem;column-gap:.5rem}.transform{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate: 0;--tw-rotate-x: 0;--tw-rotate-y: 0;--tw-rotate-z: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotate(var(--tw-rotate-z)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.transition,.\li{position:relative;padding-left:1.75em}.prose ol>li:before{content:counter(list-item,var(--list-counter-style, decimal)) ".";position:absolute;font-weight:400;color:#6b7280;left:0}.prose ul>li{position:relative;padding-left:1.75em}.prose ul>li:before{content:"";position:absolute;background-color:#d1d5db;border-radius:50%;width:.375em;height:.375em;top:.6875em;left:.25em}.prose hr{border-color:#e5e7eb;margin-top:3em;margin-bottom:3em}.prose blockquote{font-weight:500;font-style:italic;color:#111827;border-left-width:.25rem;border-color:#e5e7eb;quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em}.prose blockquote p:first-of-type:before{content:open-quote}.prose blockquote p:last-of-type:after{content:close-quote}.prose h1{color:#111827;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose h2{color:#111827;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose h3{color:#111827;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose h4{color:#111827;font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose figure figcaption{color:#6b7280;font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose code{color:#111827;font-weight:600;font-size:.875em}.prose code:before{content:"`"}.prose code:after{content:"`"}.prose a code{color:#111827}.prose pre{color:#e5e7eb;background-color:#1f2937;overflow-x:auto;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding:.8571429em 1.1428571em}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose pre code:before{content:none}.prose pre code:after{content:none}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose thead{color:#111827;font-weight:600;border-bottom-width:1px;border-bottom-color:#d1d5db}.prose thead th{vertical-align:bottom;padding-right:.5714286em;padding-bottom:.5714286em;padding-left:.5714286em}.prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb}.prose tbody tr:last-child{border-bottom-width:0}.prose tbody td{vertical-align:top;padding:.5714286em}.prose p{margin-top:1.25em;margin-bottom:1.25em}.prose img{margin-top:2em;margin-bottom:2em}.prose video{margin-top:2em;margin-bottom:2em}.prose figure{margin-top:2em;margin-bottom:2em}.prose figure>*{margin-top:0;margin-bottom:0}.prose h2 code{font-size:.875em}.prose h3 code{font-size:.9em}.prose ol,.prose ul{margin-top:1.25em;margin-bottom:1.25em;list-style-type:none}.prose li{margin-top:.5em;margin-bottom:.5em}.prose>ul>li p{margin-top:.75em;margin-bottom:.75em}.prose>ul>li>*:first-child{margin-top:1.25em}.prose>ul>li>*:last-child{margin-bottom:1.25em}.prose>ol>li>*:first-child{margin-top:1.25em}.prose>ol>li>*:last-child{margin-bottom:1.25em}.prose ul ul,.prose ul ol,.prose ol ul,.prose ol ol{margin-top:.75em;margin-bottom:.75em}.prose hr+*{margin-top:0}.prose h2+*{margin-top:0}.prose h3+*{margin-top:0}.prose h4+*{margin-top:0}.prose thead th:first-child{padding-left:0}.prose thead th:last-child{padding-right:0}.prose tbody td:first-child{padding-left:0}.prose tbody td:last-child{padding-right:0}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.bg-white{--tw-bg-opacity: 1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.dark .dark\:bg-dark-400{--tw-bg-opacity: 1;background-color:rgba(34,34,34,var(--tw-bg-opacity))}.bg-transparent{background-color:transparent}.bg-cool-gray-500{--tw-bg-opacity: 1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.dark .dark\:bg-dark-200{--tw-bg-opacity: 1;background-color:rgba(50,50,50,var(--tw-bg-opacity))}.bg-cool-gray-600{--tw-bg-opacity: 1;background-color:rgba(75,85,99,var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.bg-gray-900{--tw-bg-opacity: 1;background-color:rgba(17,24,39,var(--tw-bg-opacity))}.after\:bg-gray-800:after{--tw-bg-opacity: 1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.dark .after\:dark\:bg-gray-300:after{--tw-bg-opacity: 1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.after\:bg-gray-500:after{--tw-bg-opacity: 1;background-color:rgba(107,114,128,var(--tw-bg-opacity))}.dark .after\:dark\:bg-gray-400:after{--tw-bg-opacity: 1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.before\:bg-red-700:before{--tw-bg-opacity: 1;background-color:rgba(185,28,28,var(--tw-bg-opacity))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgba(31,41,55,var(--tw-bg-opacity))}.dark .dark\:bg-gray-300{--tw-bg-opacity: 1;background-color:rgba(209,213,219,var(--tw-bg-opacity))}.bg-red-300{--tw-bg-opacity: 1;background-color:rgba(252,165,165,var(--tw-bg-opacity))}.dark .dark\:bg-red-800{--tw-bg-opacity: 1;background-color:rgba(153,27,27,var(--tw-bg-opacity))}.dark .dark\:bg-gray-400{--tw-bg-opacity: 1;background-color:rgba(156,163,175,var(--tw-bg-opacity))}.bg-opacity-80{--tw-bg-opacity: .8}.bg-opacity-50,.dark .dark\:bg-opacity-50{--tw-bg-opacity: .5}.dark .dark\:border-dark-800{--tw-border-opacity: 1;border-color:rgba(24,24,24,var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity: 1;border-color:rgba(229,231,235,var(--tw-border-opacity))}.hover\:border-gray-300:hover{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.dark .dark\:border-gray-400{--tw-border-opacity: 1;border-color:rgba(156,163,175,var(--tw-border-opacity))}.dark .dark\:hover\:border-gray-500:hover{--tw-border-opacity: 1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.border-transparent{border-color:transparent}.border-gray-300{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.focus-visible\:border-blue-700:focus-visible{--tw-border-opacity: 1;border-color:rgba(29,78,216,var(--tw-border-opacity))}.dark .focus-visible\:dark\:border-blue-400:focus-visible{--tw-border-opacity: 1;border-color:rgba(96,165,250,var(--tw-border-opacity))}.focus-visible\:border-gray-300:focus-visible{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.dark .dark\:border-gray-800{--tw-border-opacity: 1;border-color:rgba(31,41,55,var(--tw-border-opacity))}.dark .dark\:border-dark-100{--tw-border-opacity: 1;border-color:rgba(60,60,60,var(--tw-border-opacity))}.border-red-700{--tw-border-opacity: 1;border-color:rgba(185,28,28,var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgba(107,114,128,var(--tw-border-opacity))}.dark .dark\:border-gray-300{--tw-border-opacity: 1;border-color:rgba(209,213,219,var(--tw-border-opacity))}.dark .dark\:border-dark-300{--tw-border-opacity: 1;border-color:rgba(45,45,45,var(--tw-border-opacity))}.dark .dark\:border-gray-600{--tw-border-opacity: 1;border-color:rgba(75,85,99,var(--tw-border-opacity))}.border-opacity-50{--tw-border-opacity: .5}.focus-visible\:border-opacity-100:focus-visible{--tw-border-opacity: 1}.focus-visible\:border-opacity-50:focus-visible{--tw-border-opacity: .5}.rounded-full{border-radius:9999px}.rounded-none{border-radius:0}.rounded-md{border-radius:.375rem}.rounded{border-radius:.25rem}.focus-visible\:rounded-md:focus-visible{border-radius:.375rem}.before\:rounded-full:before{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border-solid{border-style:solid}.border-1,.border{border-width:1px}.border-3{border-width:3px}.border-0{border-width:0px}.border-t-1{border-top-width:1px}.border-b-1{border-bottom-width:1px}.not-last\:border-b-1:not(:last-child){border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.cursor-pointer{cursor:pointer}.flex{display:-webkit-box;display:-ms-flexbox;display:-webkit-flex;display:flex}.flex-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;-webkit-flex-direction:row;flex-direction:row}.flex-col{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.items-center{-webkit-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center}.justify-center{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center}.justify-between{-webkit-box-pack:justify;-ms-flex-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.justify-around{-ms-flex-pack:distribute;-webkit-justify-content:space-around;justify-content:space-around}.flex-grow{-webkit-box-flex:1;-ms-flex-positive:1;-webkit-flex-grow:1;flex-grow:1}.flex-shrink-0{-ms-flex-negative:0;-webkit-flex-shrink:0;flex-shrink:0}.font-bold{font-weight:700}.h-full{height:100%}.h-1\/2{height:50%}.h-3\/4{height:75%}.h-1\.5{height:.375rem}.h-5{height:1.25rem}.h-12{height:3rem}.h-6{height:1.5rem}.after\:h-full:after{height:100%}.before\:h-4:before{height:1rem}.h-4{height:1rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-sm{font-size:.875rem;line-height:1.25rem}.list-outside{list-style-position:outside}.list-disc{list-style-type:disc}.m-auto{margin:auto}.m-2{margin:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mt-auto{margin-top:auto}.-mt-4{margin-top:-1rem}.mb-2{margin-bottom:.5rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mr-2{margin-right:.5rem}.mt-2{margin-top:.5rem}.mb-1{margin-bottom:.25rem}.mt-6{margin-top:1.5rem}.mt-4{margin-top:1rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.ml-5{margin-left:1.25rem}.mb-8{margin-bottom:2rem}.mb-auto{margin-bottom:auto}.max-h-0{max-height:0px}.max-w-64{max-width:16rem}.max-w-96{max-width:24rem}.max-w-52{max-width:13rem}.max-w-full{max-width:100%}.min-h-0{min-height:0px}.min-w-12{min-width:3rem}.min-w-4{min-width:1rem}.opacity-80{opacity:.8}.opacity-10{opacity:.1}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.p-4{padding:1rem}.p-2{padding:.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.pb-0{padding-bottom:0}.pt-2{padding-top:.5rem}.pt-16{padding-top:4rem}.pt-4{padding-top:1rem}.pb-4{padding-bottom:1rem}.pr-1{padding-right:.25rem}.pb-2{padding-bottom:.5rem}.fixed{position:fixed}.absolute{position:absolute}.after\:absolute:after{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.right-0{right:0}.top-0{top:0}.after\:top-0:after{top:0}.shadow-top{--tw-shadow: -4px 0 8px 0 rgba(17, 24, 39, .25);--tw-shadow-colored: -4px 0 8px 0 var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0/.1),0 8px 10px -6px rgb(0 0 0/.1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);-webkit-box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.text-center{text-align:center}.text-black{--tw-text-opacity: 1;color:rgba(0,0,0,var(--tw-text-opacity))}.dark .dark\:text-gray-300{--tw-text-opacity: 1;color:rgba(209,213,219,var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgba(59,130,246,var(--tw-text-opacity))}.text-red-600{--tw-text-opacity: 1;color:rgba(220,38,38,var(--tw-text-opacity))}.text-red-700{--tw-text-opacity: 1;color:rgba(185,28,28,var(--tw-text-opacity))}.dark .dark\:text-red-500{color:rgba(250,68,68,var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgba(107,114,128,var(--tw-text-opacity))}.dark .dark\:text-gray-400{--tw-text-opacity: 1;color:rgba(156,163,175,var(--tw-text-opacity))}.text-yellow-300{--tw-text-opacity: 1;color:rgba(252,211,77,var(--tw-text-opacity))}.text-blue-700{--tw-text-opacity: 1;color:rgba(29,78,216,var(--tw-text-opacity))}.dark .dark\:text-blue-400{--tw-text-opacity: 1;color:rgba(96,165,250,var(--tw-text-opacity))}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.align-text-bottom{vertical-align:text-bottom}.w-full{width:100%}.w-12{width:3rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-1\/3{width:33.333333%}.w-80{width:20rem}.w-14{width:3.5rem}.w-8{width:2rem}.before\:w-4:before{width:1rem}.w-4{width:1rem}.w-36{width:9rem}.w-12px{width:12px}.w-8\/10{width:80%}.z-10{z-index:10}.z-1000{z-index:1000}.z-20{z-index:20}.gap-4{grid-gap:1rem;gap:1rem}.gap-1{grid-gap:.25rem;gap:.25rem}.gap-2{grid-gap:.5rem;gap:.5rem}.gap-x-1{-webkit-column-gap:.25rem;-moz-column-gap:.25rem;grid-column-gap:.25rem;column-gap:.25rem}.gap-x-2{-webkit-column-gap:.5rem;-moz-column-gap:.5rem;grid-column-gap:.5rem;column-gap:.5rem}.transform{--tw-translate-x: 0;--tw-translate-y: 0;--tw-translate-z: 0;--tw-rotate: 0;--tw-rotate-x: 0;--tw-rotate-y: 0;--tw-rotate-z: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-scale-z: 1;-webkit-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));-ms-transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotateZ(var(--tw-rotate-z)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z));transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) translateZ(var(--tw-translate-z)) rotate(var(--tw-rotate)) rotateX(var(--tw-rotate-x)) rotateY(var(--tw-rotate-y)) rotate(var(--tw-rotate-z)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)) scaleZ(var(--tw-scale-z))}.transition,.\i.map(i=>d[i]); +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();/** +* @vue/shared v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function ps(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ye={},In=[],Dt=()=>{},Xu=()=>!1,Zr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ms=e=>e.startsWith("onUpdate:"),Qe=Object.assign,gs=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Qu=Object.prototype.hasOwnProperty,Se=(e,t)=>Qu.call(e,t),ce=Array.isArray,Tn=e=>mr(e)==="[object Map]",ei=e=>mr(e)==="[object Set]",Js=e=>mr(e)==="[object Date]",he=e=>typeof e=="function",$e=e=>typeof e=="string",St=e=>typeof e=="symbol",Oe=e=>e!==null&&typeof e=="object",Ul=e=>(Oe(e)||he(e))&&he(e.then)&&he(e.catch),Bl=Object.prototype.toString,mr=e=>Bl.call(e),Ju=e=>mr(e).slice(8,-1),Hl=e=>mr(e)==="[object Object]",_s=e=>$e(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,qn=ps(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ti=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Zu=/-(\w)/g,ht=ti(e=>e.replace(Zu,(t,n)=>n?n.toUpperCase():"")),ec=/\B([A-Z])/g,Xt=ti(e=>e.replace(ec,"-$1").toLowerCase()),ni=ti(e=>e.charAt(0).toUpperCase()+e.slice(1)),xi=ti(e=>e?`on${ni(e)}`:""),it=(e,t)=>!Object.is(e,t),Pr=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},Vr=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Zs;const ri=()=>Zs||(Zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bs(e){if(ce(e)){const t={};for(let n=0;n{if(n){const r=n.split(nc);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Ft(e){let t="";if($e(e))t=e;else if(ce(e))for(let n=0;nii(n,t))}const Wl=e=>!!(e&&e.__v_isRef===!0),gt=e=>$e(e)?e:e==null?"":ce(e)||Oe(e)&&(e.toString===Bl||!he(e.toString))?Wl(e)?gt(e.value):JSON.stringify(e,Kl,2):String(e),Kl=(e,t)=>Wl(t)?Kl(e,t.value):Tn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,i],s)=>(n[Si(r,s)+" =>"]=i,n),{})}:ei(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Si(n))}:St(t)?Si(t):Oe(t)&&!ce(t)&&!Hl(t)?String(t):t,Si=(e,t="")=>{var n;return St(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let tt;class ql{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=tt,!t&&tt&&(this.index=(tt.scopes||(tt.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(Yn){let t=Yn;for(Yn=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Gn;){let t=Gn;for(Gn=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(r){e||(e=r)}t=n}}if(e)throw e}function Jl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Zl(e){let t,n=e.depsTail,r=n;for(;r;){const i=r.prevDep;r.version===-1?(r===n&&(n=i),Es(r),fc(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=i}e.deps=t,e.depsTail=n}function Hi(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ea(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ea(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===tr))return;e.globalVersion=tr;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!Hi(e)){e.flags&=-3;return}const n=Le,r=xt;Le=e,xt=!0;try{Jl(e);const i=e.fn(e._value);(t.version===0||it(i,e._value))&&(e._value=i,t.version++)}catch(i){throw t.version++,i}finally{Le=n,xt=r,Zl(e),e.flags&=-3}}function Es(e,t=!1){const{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let s=n.computed.deps;s;s=s.nextDep)Es(s,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function fc(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let xt=!0;const ta=[];function ln(){ta.push(xt),xt=!1}function an(){const e=ta.pop();xt=e===void 0?!0:e}function eo(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Le;Le=void 0;try{t()}finally{Le=n}}}let tr=0;class hc{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class si{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!Le||!xt||Le===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Le)n=this.activeLink=new hc(Le,this),Le.deps?(n.prevDep=Le.depsTail,Le.depsTail.nextDep=n,Le.depsTail=n):Le.deps=Le.depsTail=n,na(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const r=n.nextDep;r.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=r),n.prevDep=Le.depsTail,n.nextDep=void 0,Le.depsTail.nextDep=n,Le.depsTail=n,Le.deps===n&&(Le.deps=r)}return n}trigger(t){this.version++,tr++,this.notify(t)}notify(t){ys();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{vs()}}}function na(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let r=t.deps;r;r=r.nextDep)na(r)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ur=new WeakMap,_n=Symbol(""),zi=Symbol(""),nr=Symbol("");function Ge(e,t,n){if(xt&&Le){let r=Ur.get(e);r||Ur.set(e,r=new Map);let i=r.get(n);i||(r.set(n,i=new si),i.map=r,i.key=n),i.track()}}function Kt(e,t,n,r,i,s){const o=Ur.get(e);if(!o){tr++;return}const l=a=>{a&&a.trigger()};if(ys(),t==="clear")o.forEach(l);else{const a=ce(e),u=a&&_s(n);if(a&&n==="length"){const f=Number(r);o.forEach((c,d)=>{(d==="length"||d===nr||!St(d)&&d>=f)&&l(c)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(nr)),t){case"add":a?u&&l(o.get("length")):(l(o.get(_n)),Tn(e)&&l(o.get(zi)));break;case"delete":a||(l(o.get(_n)),Tn(e)&&l(o.get(zi)));break;case"set":Tn(e)&&l(o.get(_n));break}}vs()}function dc(e,t){const n=Ur.get(e);return n&&n.get(t)}function Sn(e){const t=be(e);return t===e?t:(Ge(t,"iterate",nr),bt(e)?t:t.map(Ye))}function oi(e){return Ge(e=be(e),"iterate",nr),e}const pc={__proto__:null,[Symbol.iterator](){return Ci(this,Symbol.iterator,Ye)},concat(...e){return Sn(this).concat(...e.map(t=>ce(t)?Sn(t):t))},entries(){return Ci(this,"entries",e=>(e[1]=Ye(e[1]),e))},every(e,t){return Ht(this,"every",e,t,void 0,arguments)},filter(e,t){return Ht(this,"filter",e,t,n=>n.map(Ye),arguments)},find(e,t){return Ht(this,"find",e,t,Ye,arguments)},findIndex(e,t){return Ht(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ht(this,"findLast",e,t,Ye,arguments)},findLastIndex(e,t){return Ht(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ht(this,"forEach",e,t,void 0,arguments)},includes(...e){return ki(this,"includes",e)},indexOf(...e){return ki(this,"indexOf",e)},join(e){return Sn(this).join(e)},lastIndexOf(...e){return ki(this,"lastIndexOf",e)},map(e,t){return Ht(this,"map",e,t,void 0,arguments)},pop(){return Un(this,"pop")},push(...e){return Un(this,"push",e)},reduce(e,...t){return to(this,"reduce",e,t)},reduceRight(e,...t){return to(this,"reduceRight",e,t)},shift(){return Un(this,"shift")},some(e,t){return Ht(this,"some",e,t,void 0,arguments)},splice(...e){return Un(this,"splice",e)},toReversed(){return Sn(this).toReversed()},toSorted(e){return Sn(this).toSorted(e)},toSpliced(...e){return Sn(this).toSpliced(...e)},unshift(...e){return Un(this,"unshift",e)},values(){return Ci(this,"values",Ye)}};function Ci(e,t,n){const r=oi(e),i=r[t]();return r!==e&&!bt(e)&&(i._next=i.next,i.next=()=>{const s=i._next();return s.value&&(s.value=n(s.value)),s}),i}const mc=Array.prototype;function Ht(e,t,n,r,i,s){const o=oi(e),l=o!==e&&!bt(e),a=o[t];if(a!==mc[t]){const c=a.apply(e,s);return l?Ye(c):c}let u=n;o!==e&&(l?u=function(c,d){return n.call(this,Ye(c),d,e)}:n.length>2&&(u=function(c,d){return n.call(this,c,d,e)}));const f=a.call(o,u,r);return l&&i?i(f):f}function to(e,t,n,r){const i=oi(e);let s=n;return i!==e&&(bt(e)?n.length>3&&(s=function(o,l,a){return n.call(this,o,l,a,e)}):s=function(o,l,a){return n.call(this,o,Ye(l),a,e)}),i[t](s,...r)}function ki(e,t,n){const r=be(e);Ge(r,"iterate",nr);const i=r[t](...n);return(i===-1||i===!1)&&ws(n[0])?(n[0]=be(n[0]),r[t](...n)):i}function Un(e,t,n=[]){ln(),ys();const r=be(e)[t].apply(e,n);return vs(),an(),r}const gc=ps("__proto__,__v_isRef,__isVue"),ra=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(St));function _c(e){St(e)||(e=String(e));const t=be(this);return Ge(t,"has",e),t.hasOwnProperty(e)}class ia{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,r){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,s=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return s;if(n==="__v_raw")return r===(i?s?Ic:aa:s?la:oa).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(r)?t:void 0;const o=ce(t);if(!i){let a;if(o&&(a=pc[n]))return a;if(n==="hasOwnProperty")return _c}const l=Reflect.get(t,n,Be(t)?t:r);return(St(n)?ra.has(n):gc(n))||(i||Ge(t,"get",n),s)?l:Be(l)?o&&_s(n)?l:l.value:Oe(l)?i?ai(l):li(l):l}}class sa extends ia{constructor(t=!1){super(!1,t)}set(t,n,r,i){let s=t[n];if(!this._isShallow){const a=yn(s);if(!bt(r)&&!yn(r)&&(s=be(s),r=be(r)),!ce(t)&&Be(s)&&!Be(r))return a?!1:(s.value=r,!0)}const o=ce(t)&&_s(n)?Number(n)e,Sr=e=>Reflect.getPrototypeOf(e);function xc(e,t,n){return function(...r){const i=this.__v_raw,s=be(i),o=Tn(s),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,u=i[e](...r),f=n?ji:t?Wi:Ye;return!t&&Ge(s,"iterate",a?zi:_n),{next(){const{value:c,done:d}=u.next();return d?{value:c,done:d}:{value:l?[f(c[0]),f(c[1])]:f(c),done:d}},[Symbol.iterator](){return this}}}}function wr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Sc(e,t){const n={get(i){const s=this.__v_raw,o=be(s),l=be(i);e||(it(i,l)&&Ge(o,"get",i),Ge(o,"get",l));const{has:a}=Sr(o),u=t?ji:e?Wi:Ye;if(a.call(o,i))return u(s.get(i));if(a.call(o,l))return u(s.get(l));s!==o&&s.get(i)},get size(){const i=this.__v_raw;return!e&&Ge(be(i),"iterate",_n),Reflect.get(i,"size",i)},has(i){const s=this.__v_raw,o=be(s),l=be(i);return e||(it(i,l)&&Ge(o,"has",i),Ge(o,"has",l)),i===l?s.has(i):s.has(i)||s.has(l)},forEach(i,s){const o=this,l=o.__v_raw,a=be(l),u=t?ji:e?Wi:Ye;return!e&&Ge(a,"iterate",_n),l.forEach((f,c)=>i.call(s,u(f),u(c),o))}};return Qe(n,e?{add:wr("add"),set:wr("set"),delete:wr("delete"),clear:wr("clear")}:{add(i){!t&&!bt(i)&&!yn(i)&&(i=be(i));const s=be(this);return Sr(s).has.call(s,i)||(s.add(i),Kt(s,"add",i,i)),this},set(i,s){!t&&!bt(s)&&!yn(s)&&(s=be(s));const o=be(this),{has:l,get:a}=Sr(o);let u=l.call(o,i);u||(i=be(i),u=l.call(o,i));const f=a.call(o,i);return o.set(i,s),u?it(s,f)&&Kt(o,"set",i,s):Kt(o,"add",i,s),this},delete(i){const s=be(this),{has:o,get:l}=Sr(s);let a=o.call(s,i);a||(i=be(i),a=o.call(s,i)),l&&l.call(s,i);const u=s.delete(i);return a&&Kt(s,"delete",i,void 0),u},clear(){const i=be(this),s=i.size!==0,o=i.clear();return s&&Kt(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=xc(i,e,t)}),n}function xs(e,t){const n=Sc(e,t);return(r,i,s)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?r:Reflect.get(Se(n,i)&&i in r?n:r,i,s)}const wc={get:xs(!1,!1)},Cc={get:xs(!1,!0)},kc={get:xs(!0,!1)};const oa=new WeakMap,la=new WeakMap,aa=new WeakMap,Ic=new WeakMap;function Tc(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Oc(e){return e.__v_skip||!Object.isExtensible(e)?0:Tc(Ju(e))}function li(e){return yn(e)?e:Ss(e,!1,yc,wc,oa)}function ua(e){return Ss(e,!1,Ec,Cc,la)}function ai(e){return Ss(e,!0,vc,kc,aa)}function Ss(e,t,n,r,i){if(!Oe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=i.get(e);if(s)return s;const o=Oc(e);if(o===0)return e;const l=new Proxy(e,o===2?r:n);return i.set(e,l),l}function On(e){return yn(e)?On(e.__v_raw):!!(e&&e.__v_isReactive)}function yn(e){return!!(e&&e.__v_isReadonly)}function bt(e){return!!(e&&e.__v_isShallow)}function ws(e){return e?!!e.__v_raw:!1}function be(e){const t=e&&e.__v_raw;return t?be(t):e}function gr(e){return!Se(e,"__v_skip")&&Object.isExtensible(e)&&zl(e,"__v_skip",!0),e}const Ye=e=>Oe(e)?li(e):e,Wi=e=>Oe(e)?ai(e):e;function Be(e){return e?e.__v_isRef===!0:!1}function wt(e){return ca(e,!1)}function Cs(e){return ca(e,!0)}function ca(e,t){return Be(e)?e:new Lc(e,t)}class Lc{constructor(t,n){this.dep=new si,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:be(t),this._value=n?t:Ye(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,r=this.__v_isShallow||bt(t)||yn(t);t=r?t:be(t),it(t,n)&&(this._rawValue=t,this._value=r?t:Ye(t),this.dep.trigger())}}function Ne(e){return Be(e)?e.value:e}const Ac={get:(e,t,n)=>t==="__v_raw"?e:Ne(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const i=e[t];return Be(i)&&!Be(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function fa(e){return On(e)?e:new Proxy(e,Ac)}class Pc{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new si,{get:r,set:i}=t(n.track.bind(n),n.trigger.bind(n));this._get=r,this._set=i}get value(){return this._value=this._get()}set value(t){this._set(t)}}function ha(e){return new Pc(e)}class Rc{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return dc(be(this._object),this._key)}}class Nc{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function Mc(e,t,n){return Be(e)?e:he(e)?new Nc(e):Oe(e)&&arguments.length>1?Fc(e,t,n):wt(e)}function Fc(e,t,n){const r=e[t];return Be(r)?r:new Rc(e,t,n)}class Dc{constructor(t,n,r){this.fn=t,this.setter=n,this._value=void 0,this.dep=new si(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=tr-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=r}notify(){if(this.flags|=16,!(this.flags&8)&&Le!==this)return Ql(this,!0),!0}get value(){const t=this.dep.track();return ea(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function $c(e,t,n=!1){let r,i;return he(e)?r=e:(r=e.get,i=e.set),new Dc(r,i,n)}const Cr={},Br=new WeakMap;let mn;function Vc(e,t=!1,n=mn){if(n){let r=Br.get(n);r||Br.set(n,r=[]),r.push(e)}}function Uc(e,t,n=ye){const{immediate:r,deep:i,once:s,scheduler:o,augmentJob:l,call:a}=n,u=x=>i?x:bt(x)||i===!1||i===0?qt(x,1):qt(x);let f,c,d,h,C=!1,T=!1;if(Be(e)?(c=()=>e.value,C=bt(e)):On(e)?(c=()=>u(e),C=!0):ce(e)?(T=!0,C=e.some(x=>On(x)||bt(x)),c=()=>e.map(x=>{if(Be(x))return x.value;if(On(x))return u(x);if(he(x))return a?a(x,2):x()})):he(e)?t?c=a?()=>a(e,2):e:c=()=>{if(d){ln();try{d()}finally{an()}}const x=mn;mn=f;try{return a?a(e,3,[h]):e(h)}finally{mn=x}}:c=Dt,t&&i){const x=c,M=i===!0?1/0:i;c=()=>qt(x(),M)}const A=Gl(),g=()=>{f.stop(),A&&A.active&&gs(A.effects,f)};if(s&&t){const x=t;t=(...M)=>{x(...M),g()}}let E=T?new Array(e.length).fill(Cr):Cr;const k=x=>{if(!(!(f.flags&1)||!f.dirty&&!x))if(t){const M=f.run();if(i||C||(T?M.some((I,N)=>it(I,E[N])):it(M,E))){d&&d();const I=mn;mn=f;try{const N=[M,E===Cr?void 0:T&&E[0]===Cr?[]:E,h];a?a(t,3,N):t(...N),E=M}finally{mn=I}}}else f.run()};return l&&l(k),f=new Yl(c),f.scheduler=o?()=>o(k,!1):k,h=x=>Vc(x,!1,f),d=f.onStop=()=>{const x=Br.get(f);if(x){if(a)a(x,4);else for(const M of x)M();Br.delete(f)}},t?r?k(!0):E=f.run():o?o(k.bind(null,!0),!0):f.run(),g.pause=f.pause.bind(f),g.resume=f.resume.bind(f),g.stop=g,g}function qt(e,t=1/0,n){if(t<=0||!Oe(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,Be(e))qt(e.value,t,n);else if(ce(e))for(let r=0;r{qt(r,t,n)});else if(Hl(e)){for(const r in e)qt(e[r],t,n);for(const r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&qt(e[r],t,n)}return e}/** +* @vue/runtime-core v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function _r(e,t,n,r){try{return r?e(...r):e()}catch(i){ui(i,t,n)}}function $t(e,t,n,r){if(he(e)){const i=_r(e,t,n,r);return i&&Ul(i)&&i.catch(s=>{ui(s,t,n)}),i}if(ce(e)){const i=[];for(let s=0;s>>1,i=nt[r],s=rr(i);s=rr(n)?nt.push(e):nt.splice(Hc(t),0,e),e.flags|=1,pa()}}function pa(){Hr||(Hr=da.then(ga))}function zc(e){ce(e)?Ln.push(...e):en&&e.id===-1?en.splice(wn+1,0,e):e.flags&1||(Ln.push(e),e.flags|=1),pa()}function no(e,t,n=Rt+1){for(;nrr(n)-rr(r));if(Ln.length=0,en){en.push(...t);return}for(en=t,wn=0;wne.id==null?e.flags&2?-1:1/0:e.id;function ga(e){try{for(Rt=0;Rt{r._d&&ho(-1);const s=zr(t);let o;try{o=e(...i)}finally{zr(s),r._d&&ho(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function e0(e,t){if(Ve===null)return e;const n=pi(Ve),r=e.dirs||(e.dirs=[]);for(let i=0;ie.__isTeleport;function Is(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Is(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}/*! #__NO_SIDE_EFFECTS__ */function It(e,t){return he(e)?Qe({name:e.name},t,{setup:e}):e}function ba(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function jr(e,t,n,r,i=!1){if(ce(e)){e.forEach((C,T)=>jr(C,t&&(ce(t)?t[T]:t),n,r,i));return}if(An(r)&&!i){r.shapeFlag&512&&r.type.__asyncResolved&&r.component.subTree.component&&jr(e,t,n,r.component.subTree);return}const s=r.shapeFlag&4?pi(r.component):r.el,o=i?null:s,{i:l,r:a}=e,u=t&&t.r,f=l.refs===ye?l.refs={}:l.refs,c=l.setupState,d=be(c),h=c===ye?()=>!1:C=>Se(d,C);if(u!=null&&u!==a&&($e(u)?(f[u]=null,h(u)&&(c[u]=null)):Be(u)&&(u.value=null)),he(a))_r(a,l,12,[o,f]);else{const C=$e(a),T=Be(a);if(C||T){const A=()=>{if(e.f){const g=C?h(a)?c[a]:f[a]:a.value;i?ce(g)&&gs(g,s):ce(g)?g.includes(s)||g.push(s):C?(f[a]=[s],h(a)&&(c[a]=f[a])):(a.value=[s],e.k&&(f[e.k]=a.value))}else C?(f[a]=o,h(a)&&(c[a]=o)):T&&(a.value=o,e.k&&(f[e.k]=o))};o?(A.id=-1,at(A,n)):A()}}}ri().requestIdleCallback;ri().cancelIdleCallback;const An=e=>!!e.type.__asyncLoader,ya=e=>e.type.__isKeepAlive;function Kc(e,t){va(e,"a",t)}function qc(e,t){va(e,"da",t)}function va(e,t,n=ze){const r=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(ci(t,r,n),n){let i=n.parent;for(;i&&i.parent;)ya(i.parent.vnode)&&Gc(r,t,n,i),i=i.parent}}function Gc(e,t,n,r){const i=ci(t,e,r,!0);Ts(()=>{gs(r[t],i)},n)}function ci(e,t,n=ze,r=!1){if(n){const i=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...o)=>{ln();const l=vr(n),a=$t(t,n,e,o);return l(),an(),a});return r?i.unshift(s):i.push(s),s}}const Qt=e=>(t,n=ze)=>{(!or||e==="sp")&&ci(e,(...r)=>t(...r),n)},Yc=Qt("bm"),br=Qt("m"),Xc=Qt("bu"),Qc=Qt("u"),Jc=Qt("bum"),Ts=Qt("um"),Zc=Qt("sp"),ef=Qt("rtg"),tf=Qt("rtc");function nf(e,t=ze){ci("ec",e,t)}const rf="components";function fi(e,t){return of(rf,e,!0,t)||e}const sf=Symbol.for("v-ndc");function of(e,t,n=!0,r=!1){const i=Ve||ze;if(i){const s=i.type;{const l=qf(s,!1);if(l&&(l===t||l===ht(t)||l===ni(ht(t))))return s}const o=ro(i[e]||s[e],t)||ro(i.appContext[e],t);return!o&&r?s:o}}function ro(e,t){return e&&(e[t]||e[ht(t)]||e[ni(ht(t))])}function t0(e,t,n,r){let i;const s=n,o=ce(e);if(o||$e(e)){const l=o&&On(e);let a=!1;l&&(a=!bt(e),e=oi(e)),i=new Array(e.length);for(let u=0,f=e.length;ut(l,a,void 0,s));else{const l=Object.keys(e);i=new Array(l.length);for(let a=0,u=l.length;asr(t)?!(t.type===sn||t.type===st&&!Ea(t.children)):!0)?e:null}const Ki=e=>e?ja(e)?pi(e):Ki(e.parent):null,Xn=Qe(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Ki(e.parent),$root:e=>Ki(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Sa(e),$forceUpdate:e=>e.f||(e.f=()=>{ks(e.update)}),$nextTick:e=>e.n||(e.n=Vn.bind(e.proxy)),$watch:e=>Of.bind(e)}),Ii=(e,t)=>e!==ye&&!e.__isScriptSetup&&Se(e,t),lf={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:r,data:i,props:s,accessCache:o,type:l,appContext:a}=e;let u;if(t[0]!=="$"){const h=o[t];if(h!==void 0)switch(h){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return s[t]}else{if(Ii(r,t))return o[t]=1,r[t];if(i!==ye&&Se(i,t))return o[t]=2,i[t];if((u=e.propsOptions[0])&&Se(u,t))return o[t]=3,s[t];if(n!==ye&&Se(n,t))return o[t]=4,n[t];qi&&(o[t]=0)}}const f=Xn[t];let c,d;if(f)return t==="$attrs"&&Ge(e.attrs,"get",""),f(e);if((c=l.__cssModules)&&(c=c[t]))return c;if(n!==ye&&Se(n,t))return o[t]=4,n[t];if(d=a.config.globalProperties,Se(d,t))return d[t]},set({_:e},t,n){const{data:r,setupState:i,ctx:s}=e;return Ii(i,t)?(i[t]=n,!0):r!==ye&&Se(r,t)?(r[t]=n,!0):Se(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:s}},o){let l;return!!n[o]||e!==ye&&Se(e,o)||Ii(t,o)||(l=s[0])&&Se(l,o)||Se(r,o)||Se(Xn,o)||Se(i.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Se(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function io(e){return ce(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let qi=!0;function af(e){const t=Sa(e),n=e.proxy,r=e.ctx;qi=!1,t.beforeCreate&&so(t.beforeCreate,e,"bc");const{data:i,computed:s,methods:o,watch:l,provide:a,inject:u,created:f,beforeMount:c,mounted:d,beforeUpdate:h,updated:C,activated:T,deactivated:A,beforeDestroy:g,beforeUnmount:E,destroyed:k,unmounted:x,render:M,renderTracked:I,renderTriggered:N,errorCaptured:J,serverPrefetch:ne,expose:G,inheritAttrs:j,components:z,directives:le,filters:me}=t;if(u&&uf(u,r,null),o)for(const oe in o){const ue=o[oe];he(ue)&&(r[oe]=ue.bind(n))}if(i){const oe=i.call(n,n);Oe(oe)&&(e.data=li(oe))}if(qi=!0,s)for(const oe in s){const ue=s[oe],_e=he(ue)?ue.bind(n,n):he(ue.get)?ue.get.bind(n,n):Dt,p=!he(ue)&&he(ue.set)?ue.set.bind(n):Dt,S=ke({get:_e,set:p});Object.defineProperty(r,oe,{enumerable:!0,configurable:!0,get:()=>S.value,set:q=>S.value=q})}if(l)for(const oe in l)xa(l[oe],r,n,oe);if(a){const oe=he(a)?a.call(n):a;Reflect.ownKeys(oe).forEach(ue=>{Nr(ue,oe[ue])})}f&&so(f,e,"c");function de(oe,ue){ce(ue)?ue.forEach(_e=>oe(_e.bind(n))):ue&&oe(ue.bind(n))}if(de(Yc,c),de(br,d),de(Xc,h),de(Qc,C),de(Kc,T),de(qc,A),de(nf,J),de(tf,I),de(ef,N),de(Jc,E),de(Ts,x),de(Zc,ne),ce(G))if(G.length){const oe=e.exposed||(e.exposed={});G.forEach(ue=>{Object.defineProperty(oe,ue,{get:()=>n[ue],set:_e=>n[ue]=_e})})}else e.exposed||(e.exposed={});M&&e.render===Dt&&(e.render=M),j!=null&&(e.inheritAttrs=j),z&&(e.components=z),le&&(e.directives=le),ne&&ba(e)}function uf(e,t,n=Dt){ce(e)&&(e=Gi(e));for(const r in e){const i=e[r];let s;Oe(i)?"default"in i?s=ft(i.from||r,i.default,!0):s=ft(i.from||r):s=ft(i),Be(s)?Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>s.value,set:o=>s.value=o}):t[r]=s}}function so(e,t,n){$t(ce(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function xa(e,t,n,r){let i=r.includes(".")?Da(n,r):()=>n[r];if($e(e)){const s=t[e];he(s)&&ot(i,s)}else if(he(e))ot(i,e.bind(n));else if(Oe(e))if(ce(e))e.forEach(s=>xa(s,t,n,r));else{const s=he(e.handler)?e.handler.bind(n):t[e.handler];he(s)&&ot(i,s,e)}}function Sa(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:s,config:{optionMergeStrategies:o}}=e.appContext,l=s.get(t);let a;return l?a=l:!i.length&&!n&&!r?a=t:(a={},i.length&&i.forEach(u=>Wr(a,u,o,!0)),Wr(a,t,o)),Oe(t)&&s.set(t,a),a}function Wr(e,t,n,r=!1){const{mixins:i,extends:s}=t;s&&Wr(e,s,n,!0),i&&i.forEach(o=>Wr(e,o,n,!0));for(const o in t)if(!(r&&o==="expose")){const l=cf[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const cf={data:oo,props:lo,emits:lo,methods:Kn,computed:Kn,beforeCreate:Ze,created:Ze,beforeMount:Ze,mounted:Ze,beforeUpdate:Ze,updated:Ze,beforeDestroy:Ze,beforeUnmount:Ze,destroyed:Ze,unmounted:Ze,activated:Ze,deactivated:Ze,errorCaptured:Ze,serverPrefetch:Ze,components:Kn,directives:Kn,watch:hf,provide:oo,inject:ff};function oo(e,t){return t?e?function(){return Qe(he(e)?e.call(this,this):e,he(t)?t.call(this,this):t)}:t:e}function ff(e,t){return Kn(Gi(e),Gi(t))}function Gi(e){if(ce(e)){const t={};for(let n=0;n1)return n&&he(t)?t.call(r&&r.proxy):t}}function Ca(){return!!(ze||Ve||bn)}const ka={},Ia=()=>Object.create(ka),Ta=e=>Object.getPrototypeOf(e)===ka;function mf(e,t,n,r=!1){const i={},s=Ia();e.propsDefaults=Object.create(null),Oa(e,t,i,s);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);n?e.props=r?i:ua(i):e.type.props?e.props=i:e.props=s,e.attrs=s}function gf(e,t,n,r){const{props:i,attrs:s,vnode:{patchFlag:o}}=e,l=be(i),[a]=e.propsOptions;let u=!1;if((r||o>0)&&!(o&16)){if(o&8){const f=e.vnode.dynamicProps;for(let c=0;c{a=!0;const[d,h]=La(c,t,!0);Qe(o,d),h&&l.push(...h)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!s&&!a)return Oe(e)&&r.set(e,In),In;if(ce(s))for(let f=0;fe[0]==="_"||e==="$stable",Os=e=>ce(e)?e.map(Nt):[Nt(e)],bf=(e,t,n)=>{if(t._n)return t;const r=_t((...i)=>Os(t(...i)),n);return r._c=!1,r},Pa=(e,t,n)=>{const r=e._ctx;for(const i in e){if(Aa(i))continue;const s=e[i];if(he(s))t[i]=bf(i,s,r);else if(s!=null){const o=Os(s);t[i]=()=>o}}},Ra=(e,t)=>{const n=Os(t);e.slots.default=()=>n},Na=(e,t,n)=>{for(const r in t)(n||r!=="_")&&(e[r]=t[r])},yf=(e,t,n)=>{const r=e.slots=Ia();if(e.vnode.shapeFlag&32){const i=t._;i?(Na(r,t,n),n&&zl(r,"_",i,!0)):Pa(t,r)}else t&&Ra(e,t)},vf=(e,t,n)=>{const{vnode:r,slots:i}=e;let s=!0,o=ye;if(r.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:Na(i,t,n):(s=!t.$stable,Pa(t,i)),o=t}else t&&(Ra(e,t),o={default:1});if(s)for(const l in i)!Aa(l)&&o[l]==null&&delete i[l]},at=Mf;function Ef(e){return xf(e)}function xf(e,t){const n=ri();n.__VUE__=!0;const{insert:r,remove:i,patchProp:s,createElement:o,createText:l,createComment:a,setText:u,setElementText:f,parentNode:c,nextSibling:d,setScopeId:h=Dt,insertStaticContent:C}=e,T=(b,v,w,D=null,V=null,$=null,m=void 0,_=null,O=!!v.dynamicChildren)=>{if(b===v)return;b&&!Bn(b,v)&&(D=P(b),q(b,V,$,!0),b=null),v.patchFlag===-2&&(O=!1,v.dynamicChildren=null);const{type:R,ref:Y,shapeFlag:B}=v;switch(R){case yr:A(b,v,w,D);break;case sn:g(b,v,w,D);break;case Oi:b==null&&E(v,w,D,m);break;case st:z(b,v,w,D,V,$,m,_,O);break;default:B&1?M(b,v,w,D,V,$,m,_,O):B&6?le(b,v,w,D,V,$,m,_,O):(B&64||B&128)&&R.process(b,v,w,D,V,$,m,_,O,W)}Y!=null&&V&&jr(Y,b&&b.ref,$,v||b,!v)},A=(b,v,w,D)=>{if(b==null)r(v.el=l(v.children),w,D);else{const V=v.el=b.el;v.children!==b.children&&u(V,v.children)}},g=(b,v,w,D)=>{b==null?r(v.el=a(v.children||""),w,D):v.el=b.el},E=(b,v,w,D)=>{[b.el,b.anchor]=C(b.children,v,w,D,b.el,b.anchor)},k=({el:b,anchor:v},w,D)=>{let V;for(;b&&b!==v;)V=d(b),r(b,w,D),b=V;r(v,w,D)},x=({el:b,anchor:v})=>{let w;for(;b&&b!==v;)w=d(b),i(b),b=w;i(v)},M=(b,v,w,D,V,$,m,_,O)=>{v.type==="svg"?m="svg":v.type==="math"&&(m="mathml"),b==null?I(v,w,D,V,$,m,_,O):ne(b,v,V,$,m,_,O)},I=(b,v,w,D,V,$,m,_)=>{let O,R;const{props:Y,shapeFlag:B,transition:L,dirs:F}=b;if(O=b.el=o(b.type,$,Y&&Y.is,Y),B&8?f(O,b.children):B&16&&J(b.children,O,null,D,V,Ti(b,$),m,_),F&&dn(b,null,D,"created"),N(O,b,b.scopeId,m,D),Y){for(const re in Y)re!=="value"&&!qn(re)&&s(O,re,null,Y[re],$,D);"value"in Y&&s(O,"value",null,Y.value,$),(R=Y.onVnodeBeforeMount)&&At(R,D,b)}F&&dn(b,null,D,"beforeMount");const Q=Sf(V,L);Q&&L.beforeEnter(O),r(O,v,w),((R=Y&&Y.onVnodeMounted)||Q||F)&&at(()=>{R&&At(R,D,b),Q&&L.enter(O),F&&dn(b,null,D,"mounted")},V)},N=(b,v,w,D,V)=>{if(w&&h(b,w),D)for(let $=0;${for(let R=O;R{const _=v.el=b.el;let{patchFlag:O,dynamicChildren:R,dirs:Y}=v;O|=b.patchFlag&16;const B=b.props||ye,L=v.props||ye;let F;if(w&&pn(w,!1),(F=L.onVnodeBeforeUpdate)&&At(F,w,v,b),Y&&dn(v,b,w,"beforeUpdate"),w&&pn(w,!0),(B.innerHTML&&L.innerHTML==null||B.textContent&&L.textContent==null)&&f(_,""),R?G(b.dynamicChildren,R,_,w,D,Ti(v,V),$):m||ue(b,v,_,null,w,D,Ti(v,V),$,!1),O>0){if(O&16)j(_,B,L,w,V);else if(O&2&&B.class!==L.class&&s(_,"class",null,L.class,V),O&4&&s(_,"style",B.style,L.style,V),O&8){const Q=v.dynamicProps;for(let re=0;re{F&&At(F,w,v,b),Y&&dn(v,b,w,"updated")},D)},G=(b,v,w,D,V,$,m)=>{for(let _=0;_{if(v!==w){if(v!==ye)for(const $ in v)!qn($)&&!($ in w)&&s(b,$,v[$],null,V,D);for(const $ in w){if(qn($))continue;const m=w[$],_=v[$];m!==_&&$!=="value"&&s(b,$,_,m,V,D)}"value"in w&&s(b,"value",v.value,w.value,V)}},z=(b,v,w,D,V,$,m,_,O)=>{const R=v.el=b?b.el:l(""),Y=v.anchor=b?b.anchor:l("");let{patchFlag:B,dynamicChildren:L,slotScopeIds:F}=v;F&&(_=_?_.concat(F):F),b==null?(r(R,w,D),r(Y,w,D),J(v.children||[],w,Y,V,$,m,_,O)):B>0&&B&64&&L&&b.dynamicChildren?(G(b.dynamicChildren,L,w,V,$,m,_),(v.key!=null||V&&v===V.subTree)&&Ma(b,v,!0)):ue(b,v,w,Y,V,$,m,_,O)},le=(b,v,w,D,V,$,m,_,O)=>{v.slotScopeIds=_,b==null?v.shapeFlag&512?V.ctx.activate(v,w,D,m,O):me(v,w,D,V,$,m,O):ae(b,v,O)},me=(b,v,w,D,V,$,m)=>{const _=b.component=Hf(b,D,V);if(ya(b)&&(_.ctx.renderer=W),zf(_,!1,m),_.asyncDep){if(V&&V.registerDep(_,de,m),!b.el){const O=_.subTree=Ce(sn);g(null,O,v,w)}}else de(_,b,v,w,V,$,m)},ae=(b,v,w)=>{const D=v.component=b.component;if(Rf(b,v,w))if(D.asyncDep&&!D.asyncResolved){oe(D,v,w);return}else D.next=v,D.update();else v.el=b.el,D.vnode=v},de=(b,v,w,D,V,$,m)=>{const _=()=>{if(b.isMounted){let{next:B,bu:L,u:F,parent:Q,vnode:re}=b;{const Ke=Fa(b);if(Ke){B&&(B.el=re.el,oe(b,B,m)),Ke.asyncDep.then(()=>{b.isUnmounted||_()});return}}let pe=B,Re;pn(b,!1),B?(B.el=re.el,oe(b,B,m)):B=re,L&&Pr(L),(Re=B.props&&B.props.onVnodeBeforeUpdate)&&At(Re,Q,B,re),pn(b,!0);const Te=co(b),He=b.subTree;b.subTree=Te,T(He,Te,c(He.el),P(He),b,V,$),B.el=Te.el,pe===null&&Nf(b,Te.el),F&&at(F,V),(Re=B.props&&B.props.onVnodeUpdated)&&at(()=>At(Re,Q,B,re),V)}else{let B;const{el:L,props:F}=v,{bm:Q,m:re,parent:pe,root:Re,type:Te}=b,He=An(v);pn(b,!1),Q&&Pr(Q),!He&&(B=F&&F.onVnodeBeforeMount)&&At(B,pe,v),pn(b,!0);{Re.ce&&Re.ce._injectChildStyle(Te);const Ke=b.subTree=co(b);T(null,Ke,w,D,b,V,$),v.el=Ke.el}if(re&&at(re,V),!He&&(B=F&&F.onVnodeMounted)){const Ke=v;at(()=>At(B,pe,Ke),V)}(v.shapeFlag&256||pe&&An(pe.vnode)&&pe.vnode.shapeFlag&256)&&b.a&&at(b.a,V),b.isMounted=!0,v=w=D=null}};b.scope.on();const O=b.effect=new Yl(_);b.scope.off();const R=b.update=O.run.bind(O),Y=b.job=O.runIfDirty.bind(O);Y.i=b,Y.id=b.uid,O.scheduler=()=>ks(Y),pn(b,!0),R()},oe=(b,v,w)=>{v.component=b;const D=b.vnode.props;b.vnode=v,b.next=null,gf(b,v.props,D,w),vf(b,v.children,w),ln(),no(b),an()},ue=(b,v,w,D,V,$,m,_,O=!1)=>{const R=b&&b.children,Y=b?b.shapeFlag:0,B=v.children,{patchFlag:L,shapeFlag:F}=v;if(L>0){if(L&128){p(R,B,w,D,V,$,m,_,O);return}else if(L&256){_e(R,B,w,D,V,$,m,_,O);return}}F&8?(Y&16&&X(R,V,$),B!==R&&f(w,B)):Y&16?F&16?p(R,B,w,D,V,$,m,_,O):X(R,V,$,!0):(Y&8&&f(w,""),F&16&&J(B,w,D,V,$,m,_,O))},_e=(b,v,w,D,V,$,m,_,O)=>{b=b||In,v=v||In;const R=b.length,Y=v.length,B=Math.min(R,Y);let L;for(L=0;LY?X(b,V,$,!0,!1,B):J(v,w,D,V,$,m,_,O,B)},p=(b,v,w,D,V,$,m,_,O)=>{let R=0;const Y=v.length;let B=b.length-1,L=Y-1;for(;R<=B&&R<=L;){const F=b[R],Q=v[R]=O?tn(v[R]):Nt(v[R]);if(Bn(F,Q))T(F,Q,w,null,V,$,m,_,O);else break;R++}for(;R<=B&&R<=L;){const F=b[B],Q=v[L]=O?tn(v[L]):Nt(v[L]);if(Bn(F,Q))T(F,Q,w,null,V,$,m,_,O);else break;B--,L--}if(R>B){if(R<=L){const F=L+1,Q=FL)for(;R<=B;)q(b[R],V,$,!0),R++;else{const F=R,Q=R,re=new Map;for(R=Q;R<=L;R++){const Je=v[R]=O?tn(v[R]):Nt(v[R]);Je.key!=null&&re.set(Je.key,R)}let pe,Re=0;const Te=L-Q+1;let He=!1,Ke=0;const Tt=new Array(Te);for(R=0;R=Te){q(Je,V,$,!0);continue}let dt;if(Je.key!=null)dt=re.get(Je.key);else for(pe=Q;pe<=L;pe++)if(Tt[pe-Q]===0&&Bn(Je,v[pe])){dt=pe;break}dt===void 0?q(Je,V,$,!0):(Tt[dt-Q]=R+1,dt>=Ke?Ke=dt:He=!0,T(Je,v[dt],w,null,V,$,m,_,O),Re++)}const Er=He?wf(Tt):In;for(pe=Er.length-1,R=Te-1;R>=0;R--){const Je=Q+R,dt=v[Je],xr=Je+1{const{el:$,type:m,transition:_,children:O,shapeFlag:R}=b;if(R&6){S(b.component.subTree,v,w,D);return}if(R&128){b.suspense.move(v,w,D);return}if(R&64){m.move(b,v,w,W);return}if(m===st){r($,v,w);for(let B=0;B_.enter($),V);else{const{leave:B,delayLeave:L,afterLeave:F}=_,Q=()=>r($,v,w),re=()=>{B($,()=>{Q(),F&&F()})};L?L($,Q,re):re()}else r($,v,w)},q=(b,v,w,D=!1,V=!1)=>{const{type:$,props:m,ref:_,children:O,dynamicChildren:R,shapeFlag:Y,patchFlag:B,dirs:L,cacheIndex:F}=b;if(B===-2&&(V=!1),_!=null&&jr(_,null,w,b,!0),F!=null&&(v.renderCache[F]=void 0),Y&256){v.ctx.deactivate(b);return}const Q=Y&1&&L,re=!An(b);let pe;if(re&&(pe=m&&m.onVnodeBeforeUnmount)&&At(pe,v,b),Y&6)se(b.component,w,D);else{if(Y&128){b.suspense.unmount(w,D);return}Q&&dn(b,null,v,"beforeUnmount"),Y&64?b.type.remove(b,v,w,W,D):R&&!R.hasOnce&&($!==st||B>0&&B&64)?X(R,v,w,!1,!0):($===st&&B&384||!V&&Y&16)&&X(O,v,w),D&&y(b)}(re&&(pe=m&&m.onVnodeUnmounted)||Q)&&at(()=>{pe&&At(pe,v,b),Q&&dn(b,null,v,"unmounted")},w)},y=b=>{const{type:v,el:w,anchor:D,transition:V}=b;if(v===st){ee(w,D);return}if(v===Oi){x(b);return}const $=()=>{i(w),V&&!V.persisted&&V.afterLeave&&V.afterLeave()};if(b.shapeFlag&1&&V&&!V.persisted){const{leave:m,delayLeave:_}=V,O=()=>m(w,$);_?_(b.el,$,O):O()}else $()},ee=(b,v)=>{let w;for(;b!==v;)w=d(b),i(b),b=w;i(v)},se=(b,v,w)=>{const{bum:D,scope:V,job:$,subTree:m,um:_,m:O,a:R}=b;uo(O),uo(R),D&&Pr(D),V.stop(),$&&($.flags|=8,q(m,b,v,w)),_&&at(_,v),at(()=>{b.isUnmounted=!0},v),v&&v.pendingBranch&&!v.isUnmounted&&b.asyncDep&&!b.asyncResolved&&b.suspenseId===v.pendingId&&(v.deps--,v.deps===0&&v.resolve())},X=(b,v,w,D=!1,V=!1,$=0)=>{for(let m=$;m{if(b.shapeFlag&6)return P(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const v=d(b.anchor||b.el),w=v&&v[jc];return w?d(w):v};let U=!1;const H=(b,v,w)=>{b==null?v._vnode&&q(v._vnode,null,null,!0):T(v._vnode||null,b,v,null,null,null,w),v._vnode=b,U||(U=!0,no(),ma(),U=!1)},W={p:T,um:q,m:S,r:y,mt:me,mc:J,pc:ue,pbc:G,n:P,o:e};return{render:H,hydrate:void 0,createApp:pf(H)}}function Ti({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function pn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Sf(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ma(e,t,n=!1){const r=e.children,i=t.children;if(ce(r)&&ce(i))for(let s=0;s>1,e[n[l]]0&&(t[r]=n[s-1]),n[s]=r)}}for(s=n.length,o=n[s-1];s-- >0;)n[s]=o,o=t[o];return n}function Fa(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fa(t)}function uo(e){if(e)for(let t=0;tft(Cf);function If(e,t){return hi(e,null,t)}function Tf(e,t){return hi(e,null,{flush:"sync"})}function ot(e,t,n){return hi(e,t,n)}function hi(e,t,n=ye){const{immediate:r,deep:i,flush:s,once:o}=n,l=Qe({},n),a=t&&r||!t&&s!=="post";let u;if(or){if(s==="sync"){const h=kf();u=h.__watcherHandles||(h.__watcherHandles=[])}else if(!a){const h=()=>{};return h.stop=Dt,h.resume=Dt,h.pause=Dt,h}}const f=ze;l.call=(h,C,T)=>$t(h,f,C,T);let c=!1;s==="post"?l.scheduler=h=>{at(h,f&&f.suspense)}:s!=="sync"&&(c=!0,l.scheduler=(h,C)=>{C?h():ks(h)}),l.augmentJob=h=>{t&&(h.flags|=4),c&&(h.flags|=2,f&&(h.id=f.uid,h.i=f))};const d=Uc(e,t,l);return or&&(u?u.push(d):a&&d()),d}function Of(e,t,n){const r=this.proxy,i=$e(e)?e.includes(".")?Da(r,e):()=>r[e]:e.bind(r,r);let s;he(t)?s=t:(s=t.handler,n=t);const o=vr(this),l=hi(i,s.bind(r),n);return o(),l}function Da(e,t){const n=t.split(".");return()=>{let r=e;for(let i=0;i{let f,c=ye,d;return Tf(()=>{const h=e[i];it(f,h)&&(f=h,u())}),{get(){return a(),n.get?n.get(f):f},set(h){const C=n.set?n.set(h):h;if(!it(C,f)&&!(c!==ye&&it(h,c)))return;const T=r.vnode.props;T&&(t in T||i in T||s in T)&&(`onUpdate:${t}`in T||`onUpdate:${i}`in T||`onUpdate:${s}`in T)||(f=h,u()),r.emit(`update:${t}`,C),it(h,C)&&it(h,c)&&!it(C,d)&&u(),c=h,d=C}}});return l[Symbol.iterator]=()=>{let a=0;return{next(){return a<2?{value:a++?o||ye:l,done:!1}:{done:!0}}}},l}const $a=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${ht(t)}Modifiers`]||e[`${Xt(t)}Modifiers`];function Lf(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||ye;let i=n;const s=t.startsWith("update:"),o=s&&$a(r,t.slice(7));o&&(o.trim&&(i=n.map(f=>$e(f)?f.trim():f)),o.number&&(i=n.map(Vr)));let l,a=r[l=xi(t)]||r[l=xi(ht(t))];!a&&s&&(a=r[l=xi(Xt(t))]),a&&$t(a,e,6,i);const u=r[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,$t(u,e,6,i)}}function Va(e,t,n=!1){const r=t.emitsCache,i=r.get(e);if(i!==void 0)return i;const s=e.emits;let o={},l=!1;if(!he(e)){const a=u=>{const f=Va(u,t,!0);f&&(l=!0,Qe(o,f))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(Oe(e)&&r.set(e,null),null):(ce(s)?s.forEach(a=>o[a]=null):Qe(o,s),Oe(e)&&r.set(e,o),o)}function di(e,t){return!e||!Zr(t)?!1:(t=t.slice(2).replace(/Once$/,""),Se(e,t[0].toLowerCase()+t.slice(1))||Se(e,Xt(t))||Se(e,t))}function co(e){const{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[s],slots:o,attrs:l,emit:a,render:u,renderCache:f,props:c,data:d,setupState:h,ctx:C,inheritAttrs:T}=e,A=zr(e);let g,E;try{if(n.shapeFlag&4){const x=i||r,M=x;g=Nt(u.call(M,x,f,c,h,d,C)),E=l}else{const x=t;g=Nt(x.length>1?x(c,{attrs:l,slots:o,emit:a}):x(c,null)),E=t.props?l:Af(l)}}catch(x){Qn.length=0,ui(x,e,1),g=Ce(sn)}let k=g;if(E&&T!==!1){const x=Object.keys(E),{shapeFlag:M}=k;x.length&&M&7&&(s&&x.some(ms)&&(E=Pf(E,s)),k=Rn(k,E,!1,!0))}return n.dirs&&(k=Rn(k,null,!1,!0),k.dirs=k.dirs?k.dirs.concat(n.dirs):n.dirs),n.transition&&Is(k,n.transition),g=k,zr(A),g}const Af=e=>{let t;for(const n in e)(n==="class"||n==="style"||Zr(n))&&((t||(t={}))[n]=e[n]);return t},Pf=(e,t)=>{const n={};for(const r in e)(!ms(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n};function Rf(e,t,n){const{props:r,children:i,component:s}=e,{props:o,children:l,patchFlag:a}=t,u=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return r?fo(r,o,u):!!o;if(a&8){const f=t.dynamicProps;for(let c=0;ce.__isSuspense;function Mf(e,t){t&&t.pendingBranch?ce(e)?t.effects.push(...e):t.effects.push(e):zc(e)}const st=Symbol.for("v-fgt"),yr=Symbol.for("v-txt"),sn=Symbol.for("v-cmt"),Oi=Symbol.for("v-stc"),Qn=[];let ut=null;function je(e=!1){Qn.push(ut=e?null:[])}function Ff(){Qn.pop(),ut=Qn[Qn.length-1]||null}let ir=1;function ho(e,t=!1){ir+=e,e<0&&ut&&t&&(ut.hasOnce=!0)}function Ba(e){return e.dynamicChildren=ir>0?ut||In:null,Ff(),ir>0&&ut&&ut.push(e),e}function Vt(e,t,n,r,i,s){return Ba(Pe(e,t,n,r,i,s,!0))}function on(e,t,n,r,i){return Ba(Ce(e,t,n,r,i,!0))}function sr(e){return e?e.__v_isVNode===!0:!1}function Bn(e,t){return e.type===t.type&&e.key===t.key}const Ha=({key:e})=>e??null,Mr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?$e(e)||Be(e)||he(e)?{i:Ve,r:e,k:t,f:!!n}:e:null);function Pe(e,t=null,n=null,r=0,i=null,s=e===st?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ha(t),ref:t&&Mr(t),scopeId:_a,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ve};return l?(As(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=$e(n)?8:16),ir>0&&!o&&ut&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&ut.push(a),a}const Ce=Df;function Df(e,t=null,n=null,r=0,i=null,s=!1){if((!e||e===sf)&&(e=sn),sr(e)){const l=Rn(e,t,!0);return n&&As(l,n),ir>0&&!s&&ut&&(l.shapeFlag&6?ut[ut.indexOf(e)]=l:ut.push(l)),l.patchFlag=-2,l}if(Gf(e)&&(e=e.__vccOpts),t){t=$f(t);let{class:l,style:a}=t;l&&!$e(l)&&(t.class=Ft(l)),Oe(a)&&(ws(a)&&!ce(a)&&(a=Qe({},a)),t.style=bs(a))}const o=$e(e)?1:Ua(e)?128:Wc(e)?64:Oe(e)?4:he(e)?2:0;return Pe(e,t,n,r,i,o,s,!0)}function $f(e){return e?ws(e)||Ta(e)?Qe({},e):e:null}function Rn(e,t,n=!1,r=!1){const{props:i,ref:s,patchFlag:o,children:l,transition:a}=e,u=t?Vf(i||{},t):i,f={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ha(u),ref:t&&t.ref?n&&s?ce(s)?s.concat(Mr(t)):[s,Mr(t)]:Mr(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==st?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Rn(e.ssContent),ssFallback:e.ssFallback&&Rn(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&r&&Is(f,a.clone(f)),f}function Ls(e=" ",t=0){return Ce(yr,null,e,t)}function za(e="",t=!1){return t?(je(),on(sn,null,e)):Ce(sn,null,e)}function Nt(e){return e==null||typeof e=="boolean"?Ce(sn):ce(e)?Ce(st,null,e.slice()):sr(e)?tn(e):Ce(yr,null,String(e))}function tn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Rn(e)}function As(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(ce(t))n=16;else if(typeof t=="object")if(r&65){const i=t.default;i&&(i._c&&(i._d=!1),As(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Ta(t)?t._ctx=Ve:i===3&&Ve&&(Ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else he(t)?(t={default:t,_ctx:Ve},n=32):(t=String(t),r&64?(n=16,t=[Ls(t)]):n=8);e.children=t,e.shapeFlag|=n}function Vf(...e){const t={};for(let n=0;nze||Ve;let Kr,Xi;{const e=ri(),t=(n,r)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(r),s=>{i.length>1?i.forEach(o=>o(s)):i[0](s)}};Kr=t("__VUE_INSTANCE_SETTERS__",n=>ze=n),Xi=t("__VUE_SSR_SETTERS__",n=>or=n)}const vr=e=>{const t=ze;return Kr(e),e.scope.on(),()=>{e.scope.off(),Kr(t)}},po=()=>{ze&&ze.scope.off(),Kr(null)};function ja(e){return e.vnode.shapeFlag&4}let or=!1;function zf(e,t=!1,n=!1){t&&Xi(t);const{props:r,children:i}=e.vnode,s=ja(e);mf(e,r,s,t),yf(e,i,n);const o=s?jf(e,t):void 0;return t&&Xi(!1),o}function jf(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,lf);const{setup:r}=n;if(r){ln();const i=e.setupContext=r.length>1?Kf(e):null,s=vr(e),o=_r(r,e,0,[e.props,i]),l=Ul(o);if(an(),s(),(l||e.sp)&&!An(e)&&ba(e),l){if(o.then(po,po),t)return o.then(a=>{mo(e,a)}).catch(a=>{ui(a,e,0)});e.asyncDep=o}else mo(e,o)}else Wa(e)}function mo(e,t,n){he(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Oe(t)&&(e.setupState=fa(t)),Wa(e)}function Wa(e,t,n){const r=e.type;e.render||(e.render=r.render||Dt);{const i=vr(e);ln();try{af(e)}finally{an(),i()}}}const Wf={get(e,t){return Ge(e,"get",""),e[t]}};function Kf(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Wf),slots:e.slots,emit:e.emit,expose:t}}function pi(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(fa(gr(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Xn)return Xn[n](e)},has(t,n){return n in t||n in Xn}})):e.proxy}function qf(e,t=!0){return he(e)?e.displayName||e.name:e.name||t&&e.__name}function Gf(e){return he(e)&&"__vccOpts"in e}const ke=(e,t)=>$c(e,t,or);function mi(e,t,n){const r=arguments.length;return r===2?Oe(t)&&!ce(t)?sr(t)?Ce(e,null,[t]):Ce(e,t):Ce(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&sr(n)&&(n=[n]),Ce(e,t,n))}const Yf="3.5.13";/** +* @vue/runtime-dom v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Qi;const go=typeof window<"u"&&window.trustedTypes;if(go)try{Qi=go.createPolicy("vue",{createHTML:e=>e})}catch{}const Ka=Qi?e=>Qi.createHTML(e):e=>e,Xf="http://www.w3.org/2000/svg",Qf="http://www.w3.org/1998/Math/MathML",Wt=typeof document<"u"?document:null,_o=Wt&&Wt.createElement("template"),Jf={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const i=t==="svg"?Wt.createElementNS(Xf,e):t==="mathml"?Wt.createElementNS(Qf,e):n?Wt.createElement(e,{is:n}):Wt.createElement(e);return e==="select"&&r&&r.multiple!=null&&i.setAttribute("multiple",r.multiple),i},createText:e=>Wt.createTextNode(e),createComment:e=>Wt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Wt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,i,s){const o=n?n.previousSibling:t.lastChild;if(i&&(i===s||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===s||!(i=i.nextSibling)););else{_o.innerHTML=Ka(r==="svg"?`${e}`:r==="mathml"?`${e}`:e);const l=_o.content;if(r==="svg"||r==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Zf=Symbol("_vtc");function eh(e,t,n){const r=e[Zf];r&&(t=(t?[t,...r]:[...r]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const qr=Symbol("_vod"),qa=Symbol("_vsh"),r0={beforeMount(e,{value:t},{transition:n}){e[qr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):Hn(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),Hn(e,!0),r.enter(e)):r.leave(e,()=>{Hn(e,!1)}):Hn(e,t))},beforeUnmount(e,{value:t}){Hn(e,t)}};function Hn(e,t){e.style.display=t?e[qr]:"none",e[qa]=!t}const th=Symbol(""),nh=/(^|;)\s*display\s*:/;function rh(e,t,n){const r=e.style,i=$e(n);let s=!1;if(n&&!i){if(t)if($e(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&Fr(r,l,"")}else for(const o in t)n[o]==null&&Fr(r,o,"");for(const o in n)o==="display"&&(s=!0),Fr(r,o,n[o])}else if(i){if(t!==n){const o=r[th];o&&(n+=";"+o),r.cssText=n,s=nh.test(n)}}else t&&e.removeAttribute("style");qr in e&&(e[qr]=s?r.display:"",e[qa]&&(r.display="none"))}const bo=/\s*!important$/;function Fr(e,t,n){if(ce(n))n.forEach(r=>Fr(e,t,r));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=ih(e,t);bo.test(n)?e.setProperty(Xt(r),n.replace(bo,""),"important"):e[r]=n}}const yo=["Webkit","Moz","ms"],Li={};function ih(e,t){const n=Li[t];if(n)return n;let r=ht(t);if(r!=="filter"&&r in e)return Li[t]=r;r=ni(r);for(let i=0;iAi||(ah.then(()=>Ai=0),Ai=Date.now());function ch(e,t){const n=r=>{if(!r._vts)r._vts=Date.now();else if(r._vts<=n.attached)return;$t(fh(r,n.value),t,5,[r])};return n.value=e,n.attached=uh(),n}function fh(e,t){if(ce(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>i=>!i._stopped&&r&&r(i))}else return t}const Co=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,hh=(e,t,n,r,i,s)=>{const o=i==="svg";t==="class"?eh(e,r,o):t==="style"?rh(e,n,r):Zr(t)?ms(t)||oh(e,t,n,r,s):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):dh(e,t,r,o))?(xo(e,t,r),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Eo(e,t,r,o,s,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!$e(r))?xo(e,ht(t),r,s,t):(t==="true-value"?e._trueValue=r:t==="false-value"&&(e._falseValue=r),Eo(e,t,r,o))};function dh(e,t,n,r){if(r)return!!(t==="innerHTML"||t==="textContent"||t in e&&Co(t)&&he(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return Co(t)&&$e(n)?!1:t in e}const Gr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ce(t)?n=>Pr(t,n):t};function ph(e){e.target.composing=!0}function ko(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Pn=Symbol("_assign"),i0={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e[Pn]=Gr(i);const s=r||i.props&&i.props.type==="number";gn(e,t?"change":"input",o=>{if(o.target.composing)return;let l=e.value;n&&(l=l.trim()),s&&(l=Vr(l)),e[Pn](l)}),n&&gn(e,"change",()=>{e.value=e.value.trim()}),t||(gn(e,"compositionstart",ph),gn(e,"compositionend",ko),gn(e,"change",ko))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:s}},o){if(e[Pn]=Gr(o),e.composing)return;const l=(s||e.type==="number")&&!/^0\d/.test(e.value)?Vr(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(r&&t===n||i&&e.value.trim()===a)||(e.value=a))}},s0={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const i=ei(t);gn(e,"change",()=>{const s=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>n?Vr(Yr(o)):Yr(o));e[Pn](e.multiple?i?new Set(s):s:s[0]),e._assigning=!0,Vn(()=>{e._assigning=!1})}),e[Pn]=Gr(r)},mounted(e,{value:t}){Io(e,t)},beforeUpdate(e,t,n){e[Pn]=Gr(n)},updated(e,{value:t}){e._assigning||Io(e,t)}};function Io(e,t){const n=e.multiple,r=ce(t);if(!(n&&!r&&!ei(t))){for(let i=0,s=e.options.length;iString(u)===String(l)):o.selected=ac(t,l)>-1}else o.selected=t.has(l);else if(ii(Yr(o),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Yr(e){return"_value"in e?e._value:e.value}const mh=["ctrl","shift","alt","meta"],gh={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>mh.some(n=>e[`${n}Key`]&&!t.includes(n))},o0=(e,t)=>{const n=e._withMods||(e._withMods={}),r=t.join(".");return n[r]||(n[r]=(i,...s)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),r=t.join(".");return n[r]||(n[r]=i=>{if(!("key"in i))return;const s=Xt(i.key);if(t.some(o=>o===s||_h[o]===s))return e(i)})},bh=Qe({patchProp:hh},Jf);let To;function yh(){return To||(To=Ef(bh))}const vh=(...e)=>{const t=yh().createApp(...e),{mount:n}=t;return t.mount=r=>{const i=xh(r);if(!i)return;const s=t._component;!he(s)&&!s.render&&!s.template&&(s.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=n(i,!1,Eh(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};function Eh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function xh(e){return $e(e)?document.querySelector(e):e}function Ps(e){return Gl()?(cc(e),!0):!1}const Pi=new WeakMap,Sh=(...e)=>{var t;const n=e[0],r=(t=En())==null?void 0:t.proxy;if(r==null&&!Ca())throw new Error("injectLocal must be called in setup");return r&&Pi.has(r)&&n in Pi.get(r)?Pi.get(r)[n]:ft(...e)};function Nn(e){return typeof e=="function"?e():Ne(e)}const wh=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Ch=Object.prototype.toString,kh=e=>Ch.call(e)==="[object Object]",Ga=()=>{};function Ih(e,t){function n(...r){return new Promise((i,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(i).catch(s)})}return n}const Ya=e=>e();function Th(e=Ya){const t=wt(!0);function n(){t.value=!1}function r(){t.value=!0}const i=(...s)=>{t.value&&e(...s)};return{isActive:ai(t),pause:n,resume:r,eventFilter:i}}function Oo(e){return e.endsWith("rem")?Number.parseFloat(e)*16:Number.parseFloat(e)}function Oh(e){return En()}function Lh(...e){if(e.length!==1)return Mc(...e);const t=e[0];return typeof t=="function"?ai(ha(()=>({get:t,set:Ga}))):wt(t)}function Ah(e,t,n={}){const{eventFilter:r=Ya,...i}=n;return ot(e,Ih(r,t),i)}function Ph(e,t,n={}){const{eventFilter:r,...i}=n,{eventFilter:s,pause:o,resume:l,isActive:a}=Th(r);return{stop:Ah(e,t,{...i,eventFilter:s}),pause:o,resume:l,isActive:a}}function Rs(e,t=!0,n){Oh()?br(e,n):t?e():Vn(e)}const vn=wh?window:void 0;function rn(e){var t;const n=Nn(e);return(t=n==null?void 0:n.$el)!=null?t:n}function Lo(...e){let t,n,r,i;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,i]=e,t=vn):[t,n,r,i]=e,!t)return Ga;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],o=()=>{s.forEach(f=>f()),s.length=0},l=(f,c,d,h)=>(f.addEventListener(c,d,h),()=>f.removeEventListener(c,d,h)),a=ot(()=>[rn(t),Nn(i)],([f,c])=>{if(o(),!f)return;const d=kh(c)?{...c}:c;s.push(...n.flatMap(h=>r.map(C=>l(f,h,C,d))))},{immediate:!0,flush:"post"}),u=()=>{a(),o()};return Ps(u),u}function Rh(){const e=wt(!1),t=En();return t&&br(()=>{e.value=!0},t),e}function Xa(e){const t=Rh();return ke(()=>(t.value,!!e()))}const Nh=Symbol("vueuse-ssr-width");function Mh(){const e=Ca()?Sh(Nh,null):null;return typeof e=="number"?e:void 0}function Fh(e,t={}){const{window:n=vn,ssrWidth:r=Mh()}=t,i=Xa(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function"),s=wt(typeof r=="number");let o;const l=wt(!1),a=c=>{l.value=c.matches},u=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",a):o.removeListener(a))},f=If(()=>{if(s.value){s.value=!i.value;const c=Nn(e).split(",");l.value=c.some(d=>{const h=d.includes("not all"),C=d.match(/\(\s*min-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/),T=d.match(/\(\s*max-width:\s*(-?\d+(?:\.\d*)?[a-z]+\s*)\)/);let A=!!(C||T);return C&&A&&(A=r>=Oo(C[1])),T&&A&&(A=r<=Oo(T[1])),h?!A:A});return}i.value&&(u(),o=n.matchMedia(Nn(e)),"addEventListener"in o?o.addEventListener("change",a):o.addListener(a),l.value=o.matches)});return Ps(()=>{f(),u(),o=void 0}),ke(()=>l.value)}const kr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Ir="__vueuse_ssr_handlers__",Dh=$h();function $h(){return Ir in kr||(kr[Ir]=kr[Ir]||{}),kr[Ir]}function Qa(e,t){return Dh[e]||t}function Vh(e){return Fh("(prefers-color-scheme: dark)",e)}function Uh(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Bh={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Ao="vueuse-storage";function lr(e,t,n,r={}){var i;const{flush:s="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:u=!1,shallow:f,window:c=vn,eventFilter:d,onError:h=G=>{console.error(G)},initOnMounted:C}=r,T=(f?Cs:wt)(typeof t=="function"?t():t);if(!n)try{n=Qa("getDefaultStorage",()=>{var G;return(G=vn)==null?void 0:G.localStorage})()}catch(G){h(G)}if(!n)return T;const A=Nn(t),g=Uh(A),E=(i=r.serializer)!=null?i:Bh[g],{pause:k,resume:x}=Ph(T,()=>I(T.value),{flush:s,deep:o,eventFilter:d});c&&l&&Rs(()=>{n instanceof Storage?Lo(c,"storage",J):Lo(c,Ao,ne),C&&J()}),C||J();function M(G,j){if(c){const z={key:e,oldValue:G,newValue:j,storageArea:n};c.dispatchEvent(n instanceof Storage?new StorageEvent("storage",z):new CustomEvent(Ao,{detail:z}))}}function I(G){try{const j=n.getItem(e);if(G==null)M(j,null),n.removeItem(e);else{const z=E.write(G);j!==z&&(n.setItem(e,z),M(j,z))}}catch(j){h(j)}}function N(G){const j=G?G.newValue:n.getItem(e);if(j==null)return a&&A!=null&&n.setItem(e,E.write(A)),A;if(!G&&u){const z=E.read(j);return typeof u=="function"?u(z,A):g==="object"&&!Array.isArray(z)?{...A,...z}:z}else return typeof j!="string"?j:E.read(j)}function J(G){if(!(G&&G.storageArea!==n)){if(G&&G.key==null){T.value=A;return}if(!(G&&G.key!==e)){k();try{(G==null?void 0:G.newValue)!==E.write(T.value)&&(T.value=N(G))}catch(j){h(j)}finally{G?Vn(x):x()}}}}function ne(G){J(G.detail)}return T}const Hh="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function zh(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:i=vn,storage:s,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:a,emitAuto:u,disableTransition:f=!0}=e,c={auto:"",light:"light",dark:"dark",...e.modes||{}},d=Vh({window:i}),h=ke(()=>d.value?"dark":"light"),C=a||(o==null?Lh(r):lr(o,r,s,{window:i,listenToStorageChanges:l})),T=ke(()=>C.value==="auto"?h.value:C.value),A=Qa("updateHTMLAttrs",(x,M,I)=>{const N=typeof x=="string"?i==null?void 0:i.document.querySelector(x):rn(x);if(!N)return;const J=new Set,ne=new Set;let G=null;if(M==="class"){const z=I.split(/\s/g);Object.values(c).flatMap(le=>(le||"").split(/\s/g)).filter(Boolean).forEach(le=>{z.includes(le)?J.add(le):ne.add(le)})}else G={key:M,value:I};if(J.size===0&&ne.size===0&&G===null)return;let j;f&&(j=i.document.createElement("style"),j.appendChild(document.createTextNode(Hh)),i.document.head.appendChild(j));for(const z of J)N.classList.add(z);for(const z of ne)N.classList.remove(z);G&&N.setAttribute(G.key,G.value),f&&(i.getComputedStyle(j).opacity,document.head.removeChild(j))});function g(x){var M;A(t,n,(M=c[x])!=null?M:x)}function E(x){e.onChanged?e.onChanged(x,g):g(x)}ot(T,E,{flush:"post",immediate:!0}),Rs(()=>E(T.value));const k=ke({get(){return u?C.value:T.value},set(x){C.value=x}});return Object.assign(k,{store:C,system:h,state:T})}function jh(e,t,n={}){const{window:r=vn,...i}=n;let s;const o=Xa(()=>r&&"ResizeObserver"in r),l=()=>{s&&(s.disconnect(),s=void 0)},a=ke(()=>{const c=Nn(e);return Array.isArray(c)?c.map(d=>rn(d)):[rn(c)]}),u=ot(a,c=>{if(l(),o.value&&r){s=new ResizeObserver(t);for(const d of c)d&&s.observe(d,i)}},{immediate:!0,flush:"post"}),f=()=>{l(),u()};return Ps(f),{isSupported:o,stop:f}}function a0(e,t={width:0,height:0},n={}){const{window:r=vn,box:i="content-box"}=n,s=ke(()=>{var c,d;return(d=(c=rn(e))==null?void 0:c.namespaceURI)==null?void 0:d.includes("svg")}),o=wt(t.width),l=wt(t.height),{stop:a}=jh(e,([c])=>{const d=i==="border-box"?c.borderBoxSize:i==="content-box"?c.contentBoxSize:c.devicePixelContentBoxSize;if(r&&s.value){const h=rn(e);if(h){const C=h.getBoundingClientRect();o.value=C.width,l.value=C.height}}else if(d){const h=Array.isArray(d)?d:[d];o.value=h.reduce((C,{inlineSize:T})=>C+T,0),l.value=h.reduce((C,{blockSize:T})=>C+T,0)}else o.value=c.contentRect.width,l.value=c.contentRect.height},n);Rs(()=>{const c=rn(e);c&&(o.value="offsetWidth"in c?c.offsetWidth:t.width,l.value="offsetHeight"in c?c.offsetHeight:t.height)});const u=ot(()=>rn(e),c=>{o.value=c?t.width:0,l.value=c?t.height:0});function f(){a(),u()}return{width:o,height:l,stop:f}}const Po=document.createElement("i");function Ja(e){const t="&"+e+";";Po.innerHTML=t;const n=Po.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function Ut(e,t,n,r){const i=e.length;let s=0,o;if(t<0?t=-t>i?0:i+t:t=t>i?i:t,n=n>0?n:0,r.length<1e4)o=Array.from(r),o.unshift(t,n),e.splice(...o);else for(n&&e.splice(t,n);s0?(Ut(e,e.length,0,t),e):t}const Ji={}.hasOwnProperty;function Wh(e){const t={};let n=-1;for(;++n13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}const Qh={'"':"quot","&":"amp","<":"lt",">":"gt"};function Za(e){return e.replace(/["&<>]/g,t);function t(n){return"&"+Qh[n]+";"}}function ar(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Mt=un(/[A-Za-z]/),ct=un(/[\dA-Za-z]/),Jh=un(/[#-'*+\--9=?A-Z^-~]/);function Zi(e){return e!==null&&(e<32||e===127)}const es=un(/\d/),Zh=un(/[\dA-Fa-f]/),ed=un(/[!-/:-@[-`{-~]/);function fe(e){return e!==null&&e<-2}function lt(e){return e!==null&&(e<0||e===32)}function ve(e){return e===-2||e===-1||e===32}const td=un(new RegExp("\\p{P}|\\p{S}","u")),nd=un(/\s/);function un(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function Tr(e,t){const n=Za(rd(e||""));if(!t)return n;const r=n.indexOf(":"),i=n.indexOf("?"),s=n.indexOf("#"),o=n.indexOf("/");return r<0||o>-1&&r>o||i>-1&&r>i||s>-1&&r>s||t.test(n.slice(0,r))?n:""}function rd(e){const t=[];let n=-1,r=0,i=0;for(;++n55295&&s<57344){const l=e.charCodeAt(n+1);s<56320&&l>56319&&l<57344?(o=String.fromCharCode(s,l),i=1):o="�"}else o=String.fromCharCode(s);o&&(t.push(e.slice(r,n),encodeURIComponent(o)),r=n+i+1,o=""),i&&(n+=i,i=0)}return t.join("")+e.slice(r)}const Ro={}.hasOwnProperty,No=/^(https?|ircs?|mailto|xmpp)$/i,id=/^https?$/i;function sd(e){const t=e||{};let n=!0;const r={},i=[[]],s=[],o=[],a=Gh([{enter:{blockQuote:ae,codeFenced:_e,codeFencedFenceInfo:A,codeFencedFenceMeta:A,codeIndented:q,codeText:dt,content:O,definition:w,definitionDestinationString:V,definitionLabelString:A,definitionTitleString:A,emphasis:Er,htmlFlow:He,htmlText:Tt,image:ee,label:A,link:se,listItemMarker:j,listItemValue:G,listOrdered:J,listUnordered:ne,paragraph:oe,reference:A,resource:H,resourceDestinationString:W,resourceTitleString:A,setextHeading:Y,strong:Je},exit:{atxHeading:L,atxHeadingSequence:R,autolinkEmail:Yu,autolinkProtocol:Gu,blockQuote:de,characterEscapeValue:re,characterReferenceMarkerHexadecimal:Gs,characterReferenceMarkerNumeric:Gs,characterReferenceValue:qu,codeFenced:y,codeFencedFence:S,codeFencedFenceInfo:p,codeFencedFenceMeta:N,codeFlowValue:Re,codeIndented:y,codeText:xr,codeTextData:re,data:re,definition:_,definitionDestinationString:$,definitionLabelString:D,definitionTitleString:m,emphasis:ju,hardBreakEscape:Te,hardBreakTrailing:Te,htmlFlow:Ke,htmlFlowData:re,htmlText:Ke,htmlTextData:re,image:v,label:P,labelText:X,lineEnding:pe,link:v,listOrdered:z,listUnordered:le,paragraph:ue,reference:N,referenceString:U,resource:N,resourceDestinationString:te,resourceTitleString:b,setextHeading:Q,setextHeadingLineSequence:F,setextHeadingText:B,strong:Wu,thematicBreak:Ku}},...t.htmlExtensions||[]]),u={definitions:r,tightStack:o},f={buffer:A,encode:I,getData:T,lineEndingIfNeeded:M,options:t,raw:k,resume:g,setData:C,tag:E};let c=t.defaultLineEnding;return d;function d(K){let ie=-1,qe=0;const vt=[];let Ot=[],Bt=[];for(;++ie"):me(),M(),E("
  • "),C("expectFirstItem"),C("lastWasTag")}function z(){me(),o.pop(),x(),E("")}function le(){me(),o.pop(),x(),E("")}function me(){T("lastWasTag")&&!T("slurpAllLineEndings")&&M(),E("
  • "),C("slurpAllLineEndings")}function ae(){o.push(!1),M(),E("
    ")}function de(){o.pop(),M(),E("
    "),C("slurpAllLineEndings")}function oe(){o[o.length-1]||(M(),E("

    ")),C("slurpAllLineEndings")}function ue(){o[o.length-1]?C("slurpAllLineEndings",!0):E("

    ")}function _e(){M(),E("
    "),C("slurpOneLineEnding",!0)),C("fencesCount",K+1)}function q(){M(),E("
    ")}function y(){const K=T("fencesCount");K!==void 0&&K<2&&u.tightStack.length>0&&!T("lastWasTag")&&x(),T("flowCodeSeenData")&&M(),E("
    "),K!==void 0&&K<2&&M(),C("flowCodeSeenData"),C("fencesCount"),C("slurpOneLineEnding")}function ee(){s.push({image:!0}),n=void 0}function se(){s.push({})}function X(K){s[s.length-1].labelId=this.sliceSerialize(K)}function P(){s[s.length-1].label=g()}function U(K){s[s.length-1].referenceId=this.sliceSerialize(K)}function H(){A(),s[s.length-1].destination=""}function W(){A(),C("ignoreEncode",!0)}function te(){s[s.length-1].destination=g(),C("ignoreEncode")}function b(){s[s.length-1].title=g()}function v(){let K=s.length-1;const ie=s[K],qe=ie.referenceId||ie.labelId,vt=ie.destination===void 0?r[ar(qe)]:ie;for(n=!0;K--;)if(s[K].image){n=void 0;break}ie.image?(E(''),k(ie.label),E('"):(E(">"),k(ie.label),E("")),s.pop()}function w(){A(),s.push({})}function D(K){g(),s[s.length-1].labelId=this.sliceSerialize(K)}function V(){A(),C("ignoreEncode",!0)}function $(){s[s.length-1].destination=g(),C("ignoreEncode")}function m(){s[s.length-1].title=g()}function _(){const K=s[s.length-1],ie=ar(K.labelId);g(),Ro.call(r,ie)||(r[ie]=s[s.length-1]),s.pop()}function O(){C("slurpAllLineEndings",!0)}function R(K){T("headingRank")||(C("headingRank",this.sliceSerialize(K).length),M(),E(""))}function Y(){A(),C("slurpAllLineEndings")}function B(){C("slurpAllLineEndings",!0)}function L(){E(""),C("headingRank")}function F(K){C("headingRank",this.sliceSerialize(K).charCodeAt(0)===61?1:2)}function Q(){const K=g();M(),E(""),k(K),E(""),C("slurpAllLineEndings"),C("headingRank")}function re(K){k(I(this.sliceSerialize(K)))}function pe(K){if(!T("slurpAllLineEndings")){if(T("slurpOneLineEnding")){C("slurpOneLineEnding");return}if(T("inCodeText")){k(" ");return}k(I(this.sliceSerialize(K)))}}function Re(K){k(I(this.sliceSerialize(K))),C("flowCodeSeenData",!0)}function Te(){E("
    ")}function He(){M(),Tt()}function Ke(){C("ignoreEncode")}function Tt(){t.allowDangerousHtml&&C("ignoreEncode",!0)}function Er(){E("")}function Je(){E("")}function dt(){C("inCodeText",!0),E("")}function xr(){C("inCodeText"),E("")}function ju(){E("")}function Wu(){E("")}function Ku(){M(),E("
    ")}function Gs(K){C("characterReferenceType",K.type)}function qu(K){const ie=this.sliceSerialize(K),qe=T("characterReferenceType")?Xh(ie,T("characterReferenceType")==="characterReferenceMarkerNumeric"?10:16):Ja(ie);k(I(qe)),C("characterReferenceType")}function Gu(K){const ie=this.sliceSerialize(K);E(''),k(I(ie)),E("")}function Yu(K){const ie=this.sliceSerialize(K);E(''),k(I(ie)),E("")}}function Ae(e,t,n,r){const i=r?r-1:Number.POSITIVE_INFINITY;let s=0;return o;function o(a){return ve(a)?(e.enter(n),l(a)):t(a)}function l(a){return ve(a)&&s++o))return;const N=t.events.length;let J=N,ne,G;for(;J--;)if(t.events[J][0]==="exit"&&t.events[J][1].type==="chunkFlow"){if(ne){G=t.events[J][1].end;break}ne=!0}for(g(r),I=N;Ik;){const M=n[x];t.containerState=M[1],M[0].exit.call(t,e)}n.length=k}function E(){i.write([null]),s=void 0,i=void 0,t.containerState._closeFlow=void 0}}function cd(e,t,n){return Ae(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Fo(e){if(e===null||lt(e)||nd(e))return 1;if(td(e))return 2}function Ns(e,t,n){const r=[];let i=-1;for(;++i1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const c={...e[r][1].end},d={...e[n][1].start};Do(c,-a),Do(d,a),o={type:a>1?"strongSequence":"emphasisSequence",start:c,end:{...e[r][1].end}},l={type:a>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:d},s={type:a>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},i={type:a>1?"strong":"emphasis",start:{...o.start},end:{...l.end}},e[r][1].end={...o.start},e[n][1].start={...l.end},u=[],e[r][1].end.offset-e[r][1].start.offset&&(u=Xe(u,[["enter",e[r][1],t],["exit",e[r][1],t]])),u=Xe(u,[["enter",i,t],["enter",o,t],["exit",o,t],["enter",s,t]]),u=Xe(u,Ns(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),u=Xe(u,[["exit",s,t],["enter",l,t],["exit",l,t],["exit",i,t]]),e[n][1].end.offset-e[n][1].start.offset?(f=2,u=Xe(u,[["enter",e[n][1],t],["exit",e[n][1],t]])):f=0,Ut(e,r-1,n-r+3,u),n=r+u.length-f-2;break}}for(n=-1;++n0&&ve(I)?Ae(e,E,"linePrefix",s+1)(I):E(I)}function E(I){return I===null||fe(I)?e.check($o,T,x)(I):(e.enter("codeFlowValue"),k(I))}function k(I){return I===null||fe(I)?(e.exit("codeFlowValue"),E(I)):(e.consume(I),k)}function x(I){return e.exit("codeFenced"),t(I)}function M(I,N,J){let ne=0;return G;function G(ae){return I.enter("lineEnding"),I.consume(ae),I.exit("lineEnding"),j}function j(ae){return I.enter("codeFencedFence"),ve(ae)?Ae(I,z,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ae):z(ae)}function z(ae){return ae===l?(I.enter("codeFencedFenceSequence"),le(ae)):J(ae)}function le(ae){return ae===l?(ne++,I.consume(ae),le):ne>=o?(I.exit("codeFencedFenceSequence"),ve(ae)?Ae(I,me,"whitespace")(ae):me(ae)):J(ae)}function me(ae){return ae===null||fe(ae)?(I.exit("codeFencedFence"),N(ae)):J(ae)}}}function xd(e,t,n){const r=this;return i;function i(o){return o===null?n(o):(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}const Ri={name:"codeIndented",tokenize:wd},Sd={partial:!0,tokenize:Cd};function wd(e,t,n){const r=this;return i;function i(u){return e.enter("codeIndented"),Ae(e,s,"linePrefix",5)(u)}function s(u){const f=r.events[r.events.length-1];return f&&f[1].type==="linePrefix"&&f[2].sliceSerialize(f[1],!0).length>=4?o(u):n(u)}function o(u){return u===null?a(u):fe(u)?e.attempt(Sd,o,a)(u):(e.enter("codeFlowValue"),l(u))}function l(u){return u===null||fe(u)?(e.exit("codeFlowValue"),o(u)):(e.consume(u),l)}function a(u){return e.exit("codeIndented"),t(u)}}function Cd(e,t,n){const r=this;return i;function i(o){return r.parser.lazy[r.now().line]?n(o):fe(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),i):Ae(e,s,"linePrefix",5)(o)}function s(o){const l=r.events[r.events.length-1];return l&&l[1].type==="linePrefix"&&l[2].sliceSerialize(l[1],!0).length>=4?t(o):fe(o)?i(o):n(o)}}const kd={name:"codeText",previous:Td,resolve:Id,tokenize:Od};function Id(e){let t=e.length-4,n=3,r,i;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return tthis.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const i=n||0;this.setCursor(Math.trunc(t));const s=this.right.splice(this.right.length-i,Number.POSITIVE_INFINITY);return r&&zn(this.left,r),s.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),zn(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),zn(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t=4?t(o):e.interrupt(r.parser.constructs.flow,n,t)(o)}}function iu(e,t,n,r,i,s,o,l,a){const u=a||Number.POSITIVE_INFINITY;let f=0;return c;function c(g){return g===60?(e.enter(r),e.enter(i),e.enter(s),e.consume(g),e.exit(s),d):g===null||g===32||g===41||Zi(g)?n(g):(e.enter(r),e.enter(o),e.enter(l),e.enter("chunkString",{contentType:"string"}),T(g))}function d(g){return g===62?(e.enter(s),e.consume(g),e.exit(s),e.exit(i),e.exit(r),t):(e.enter(l),e.enter("chunkString",{contentType:"string"}),h(g))}function h(g){return g===62?(e.exit("chunkString"),e.exit(l),d(g)):g===null||g===60||fe(g)?n(g):(e.consume(g),g===92?C:h)}function C(g){return g===60||g===62||g===92?(e.consume(g),h):h(g)}function T(g){return!f&&(g===null||g===41||lt(g))?(e.exit("chunkString"),e.exit(l),e.exit(o),e.exit(r),t(g)):f999||h===null||h===91||h===93&&!a||h===94&&!l&&"_hiddenFootnoteSupport"in o.parser.constructs?n(h):h===93?(e.exit(s),e.enter(i),e.consume(h),e.exit(i),e.exit(r),t):fe(h)?(e.enter("lineEnding"),e.consume(h),e.exit("lineEnding"),f):(e.enter("chunkString",{contentType:"string"}),c(h))}function c(h){return h===null||h===91||h===93||fe(h)||l++>999?(e.exit("chunkString"),f(h)):(e.consume(h),a||(a=!ve(h)),h===92?d:c)}function d(h){return h===91||h===92||h===93?(e.consume(h),l++,c):c(h)}}function ou(e,t,n,r,i,s){let o;return l;function l(d){return d===34||d===39||d===40?(e.enter(r),e.enter(i),e.consume(d),e.exit(i),o=d===40?41:d,a):n(d)}function a(d){return d===o?(e.enter(i),e.consume(d),e.exit(i),e.exit(r),t):(e.enter(s),u(d))}function u(d){return d===o?(e.exit(s),a(o)):d===null?n(d):fe(d)?(e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),Ae(e,u,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),f(d))}function f(d){return d===o||d===null||fe(d)?(e.exit("chunkString"),u(d)):(e.consume(d),d===92?c:f)}function c(d){return d===o||d===92?(e.consume(d),f):f(d)}}function Jn(e,t){let n;return r;function r(i){return fe(i)?(e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),n=!0,r):ve(i)?Ae(e,r,n?"linePrefix":"lineSuffix")(i):t(i)}}const Dd={name:"definition",tokenize:Vd},$d={partial:!0,tokenize:Ud};function Vd(e,t,n){const r=this;let i;return s;function s(h){return e.enter("definition"),o(h)}function o(h){return su.call(r,e,l,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(h)}function l(h){return i=ar(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),h===58?(e.enter("definitionMarker"),e.consume(h),e.exit("definitionMarker"),a):n(h)}function a(h){return lt(h)?Jn(e,u)(h):u(h)}function u(h){return iu(e,f,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(h)}function f(h){return e.attempt($d,c,c)(h)}function c(h){return ve(h)?Ae(e,d,"whitespace")(h):d(h)}function d(h){return h===null||fe(h)?(e.exit("definition"),r.parser.defined.push(i),t(h)):n(h)}}function Ud(e,t,n){return r;function r(l){return lt(l)?Jn(e,i)(l):n(l)}function i(l){return ou(e,s,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(l)}function s(l){return ve(l)?Ae(e,o,"whitespace")(l):o(l)}function o(l){return l===null||fe(l)?t(l):n(l)}}const Bd={name:"hardBreakEscape",tokenize:Hd};function Hd(e,t,n){return r;function r(s){return e.enter("hardBreakEscape"),e.consume(s),i}function i(s){return fe(s)?(e.exit("hardBreakEscape"),t(s)):n(s)}}const zd={name:"headingAtx",resolve:jd,tokenize:Wd};function jd(e,t){let n=e.length-2,r=3,i,s;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(i={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},s={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},Ut(e,r,n-r+1,[["enter",i,t],["enter",s,t],["exit",s,t],["exit",i,t]])),e}function Wd(e,t,n){let r=0;return i;function i(f){return e.enter("atxHeading"),s(f)}function s(f){return e.enter("atxHeadingSequence"),o(f)}function o(f){return f===35&&r++<6?(e.consume(f),o):f===null||lt(f)?(e.exit("atxHeadingSequence"),l(f)):n(f)}function l(f){return f===35?(e.enter("atxHeadingSequence"),a(f)):f===null||fe(f)?(e.exit("atxHeading"),t(f)):ve(f)?Ae(e,l,"whitespace")(f):(e.enter("atxHeadingText"),u(f))}function a(f){return f===35?(e.consume(f),a):(e.exit("atxHeadingSequence"),l(f))}function u(f){return f===null||f===35||lt(f)?(e.exit("atxHeadingText"),l(f)):(e.consume(f),u)}}const Kd=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Uo=["pre","script","style","textarea"],qd={concrete:!0,name:"htmlFlow",resolveTo:Xd,tokenize:Qd},Gd={partial:!0,tokenize:Zd},Yd={partial:!0,tokenize:Jd};function Xd(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function Qd(e,t,n){const r=this;let i,s,o,l,a;return u;function u(y){return f(y)}function f(y){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(y),c}function c(y){return y===33?(e.consume(y),d):y===47?(e.consume(y),s=!0,T):y===63?(e.consume(y),i=3,r.interrupt?t:p):Mt(y)?(e.consume(y),o=String.fromCharCode(y),A):n(y)}function d(y){return y===45?(e.consume(y),i=2,h):y===91?(e.consume(y),i=5,l=0,C):Mt(y)?(e.consume(y),i=4,r.interrupt?t:p):n(y)}function h(y){return y===45?(e.consume(y),r.interrupt?t:p):n(y)}function C(y){const ee="CDATA[";return y===ee.charCodeAt(l++)?(e.consume(y),l===ee.length?r.interrupt?t:z:C):n(y)}function T(y){return Mt(y)?(e.consume(y),o=String.fromCharCode(y),A):n(y)}function A(y){if(y===null||y===47||y===62||lt(y)){const ee=y===47,se=o.toLowerCase();return!ee&&!s&&Uo.includes(se)?(i=1,r.interrupt?t(y):z(y)):Kd.includes(o.toLowerCase())?(i=6,ee?(e.consume(y),g):r.interrupt?t(y):z(y)):(i=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(y):s?E(y):k(y))}return y===45||ct(y)?(e.consume(y),o+=String.fromCharCode(y),A):n(y)}function g(y){return y===62?(e.consume(y),r.interrupt?t:z):n(y)}function E(y){return ve(y)?(e.consume(y),E):G(y)}function k(y){return y===47?(e.consume(y),G):y===58||y===95||Mt(y)?(e.consume(y),x):ve(y)?(e.consume(y),k):G(y)}function x(y){return y===45||y===46||y===58||y===95||ct(y)?(e.consume(y),x):M(y)}function M(y){return y===61?(e.consume(y),I):ve(y)?(e.consume(y),M):k(y)}function I(y){return y===null||y===60||y===61||y===62||y===96?n(y):y===34||y===39?(e.consume(y),a=y,N):ve(y)?(e.consume(y),I):J(y)}function N(y){return y===a?(e.consume(y),a=null,ne):y===null||fe(y)?n(y):(e.consume(y),N)}function J(y){return y===null||y===34||y===39||y===47||y===60||y===61||y===62||y===96||lt(y)?M(y):(e.consume(y),J)}function ne(y){return y===47||y===62||ve(y)?k(y):n(y)}function G(y){return y===62?(e.consume(y),j):n(y)}function j(y){return y===null||fe(y)?z(y):ve(y)?(e.consume(y),j):n(y)}function z(y){return y===45&&i===2?(e.consume(y),de):y===60&&i===1?(e.consume(y),oe):y===62&&i===4?(e.consume(y),S):y===63&&i===3?(e.consume(y),p):y===93&&i===5?(e.consume(y),_e):fe(y)&&(i===6||i===7)?(e.exit("htmlFlowData"),e.check(Gd,q,le)(y)):y===null||fe(y)?(e.exit("htmlFlowData"),le(y)):(e.consume(y),z)}function le(y){return e.check(Yd,me,q)(y)}function me(y){return e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),ae}function ae(y){return y===null||fe(y)?le(y):(e.enter("htmlFlowData"),z(y))}function de(y){return y===45?(e.consume(y),p):z(y)}function oe(y){return y===47?(e.consume(y),o="",ue):z(y)}function ue(y){if(y===62){const ee=o.toLowerCase();return Uo.includes(ee)?(e.consume(y),S):z(y)}return Mt(y)&&o.length<8?(e.consume(y),o+=String.fromCharCode(y),ue):z(y)}function _e(y){return y===93?(e.consume(y),p):z(y)}function p(y){return y===62?(e.consume(y),S):y===45&&i===2?(e.consume(y),p):z(y)}function S(y){return y===null||fe(y)?(e.exit("htmlFlowData"),q(y)):(e.consume(y),S)}function q(y){return e.exit("htmlFlow"),t(y)}}function Jd(e,t,n){const r=this;return i;function i(o){return fe(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),s):n(o)}function s(o){return r.parser.lazy[r.now().line]?n(o):t(o)}}function Zd(e,t,n){return r;function r(i){return e.enter("lineEnding"),e.consume(i),e.exit("lineEnding"),e.attempt(gi,t,n)}}const ep={name:"htmlText",tokenize:tp};function tp(e,t,n){const r=this;let i,s,o;return l;function l(p){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(p),a}function a(p){return p===33?(e.consume(p),u):p===47?(e.consume(p),M):p===63?(e.consume(p),k):Mt(p)?(e.consume(p),J):n(p)}function u(p){return p===45?(e.consume(p),f):p===91?(e.consume(p),s=0,C):Mt(p)?(e.consume(p),E):n(p)}function f(p){return p===45?(e.consume(p),h):n(p)}function c(p){return p===null?n(p):p===45?(e.consume(p),d):fe(p)?(o=c,oe(p)):(e.consume(p),c)}function d(p){return p===45?(e.consume(p),h):c(p)}function h(p){return p===62?de(p):p===45?d(p):c(p)}function C(p){const S="CDATA[";return p===S.charCodeAt(s++)?(e.consume(p),s===S.length?T:C):n(p)}function T(p){return p===null?n(p):p===93?(e.consume(p),A):fe(p)?(o=T,oe(p)):(e.consume(p),T)}function A(p){return p===93?(e.consume(p),g):T(p)}function g(p){return p===62?de(p):p===93?(e.consume(p),g):T(p)}function E(p){return p===null||p===62?de(p):fe(p)?(o=E,oe(p)):(e.consume(p),E)}function k(p){return p===null?n(p):p===63?(e.consume(p),x):fe(p)?(o=k,oe(p)):(e.consume(p),k)}function x(p){return p===62?de(p):k(p)}function M(p){return Mt(p)?(e.consume(p),I):n(p)}function I(p){return p===45||ct(p)?(e.consume(p),I):N(p)}function N(p){return fe(p)?(o=N,oe(p)):ve(p)?(e.consume(p),N):de(p)}function J(p){return p===45||ct(p)?(e.consume(p),J):p===47||p===62||lt(p)?ne(p):n(p)}function ne(p){return p===47?(e.consume(p),de):p===58||p===95||Mt(p)?(e.consume(p),G):fe(p)?(o=ne,oe(p)):ve(p)?(e.consume(p),ne):de(p)}function G(p){return p===45||p===46||p===58||p===95||ct(p)?(e.consume(p),G):j(p)}function j(p){return p===61?(e.consume(p),z):fe(p)?(o=j,oe(p)):ve(p)?(e.consume(p),j):ne(p)}function z(p){return p===null||p===60||p===61||p===62||p===96?n(p):p===34||p===39?(e.consume(p),i=p,le):fe(p)?(o=z,oe(p)):ve(p)?(e.consume(p),z):(e.consume(p),me)}function le(p){return p===i?(e.consume(p),i=void 0,ae):p===null?n(p):fe(p)?(o=le,oe(p)):(e.consume(p),le)}function me(p){return p===null||p===34||p===39||p===60||p===61||p===96?n(p):p===47||p===62||lt(p)?ne(p):(e.consume(p),me)}function ae(p){return p===47||p===62||lt(p)?ne(p):n(p)}function de(p){return p===62?(e.consume(p),e.exit("htmlTextData"),e.exit("htmlText"),t):n(p)}function oe(p){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(p),e.exit("lineEnding"),ue}function ue(p){return ve(p)?Ae(e,_e,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(p):_e(p)}function _e(p){return e.enter("htmlTextData"),o(p)}}const Ms={name:"labelEnd",resolveAll:sp,resolveTo:op,tokenize:lp},np={tokenize:ap},rp={tokenize:up},ip={tokenize:cp};function sp(e){let t=-1;const n=[];for(;++t=3&&(u===null||fe(u))?(e.exit("thematicBreak"),t(u)):n(u)}function a(u){return u===i?(e.consume(u),r++,a):(e.exit("thematicBreakSequence"),ve(u)?Ae(e,l,"whitespace")(u):l(u))}}const rt={continuation:{tokenize:vp},exit:xp,name:"list",tokenize:yp},_p={partial:!0,tokenize:Sp},bp={partial:!0,tokenize:Ep};function yp(e,t,n){const r=this,i=r.events[r.events.length-1];let s=i&&i[1].type==="linePrefix"?i[2].sliceSerialize(i[1],!0).length:0,o=0;return l;function l(h){const C=r.containerState.type||(h===42||h===43||h===45?"listUnordered":"listOrdered");if(C==="listUnordered"?!r.containerState.marker||h===r.containerState.marker:es(h)){if(r.containerState.type||(r.containerState.type=C,e.enter(C,{_container:!0})),C==="listUnordered")return e.enter("listItemPrefix"),h===42||h===45?e.check(Dr,n,u)(h):u(h);if(!r.interrupt||h===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),a(h)}return n(h)}function a(h){return es(h)&&++o<10?(e.consume(h),a):(!r.interrupt||o<2)&&(r.containerState.marker?h===r.containerState.marker:h===41||h===46)?(e.exit("listItemValue"),u(h)):n(h)}function u(h){return e.enter("listItemMarker"),e.consume(h),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||h,e.check(gi,r.interrupt?n:f,e.attempt(_p,d,c))}function f(h){return r.containerState.initialBlankLine=!0,s++,d(h)}function c(h){return ve(h)?(e.enter("listItemPrefixWhitespace"),e.consume(h),e.exit("listItemPrefixWhitespace"),d):n(h)}function d(h){return r.containerState.size=s+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(h)}}function vp(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(gi,i,s);function i(l){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,Ae(e,t,"listItemIndent",r.containerState.size+1)(l)}function s(l){return r.containerState.furtherBlankLines||!ve(l)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,o(l)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(bp,t,o)(l))}function o(l){return r.containerState._closeFlow=!0,r.interrupt=void 0,Ae(e,e.attempt(rt,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(l)}}function Ep(e,t,n){const r=this;return Ae(e,i,"listItemIndent",r.containerState.size+1);function i(s){const o=r.events[r.events.length-1];return o&&o[1].type==="listItemIndent"&&o[2].sliceSerialize(o[1],!0).length===r.containerState.size?t(s):n(s)}}function xp(e){e.exit(this.containerState.type)}function Sp(e,t,n){const r=this;return Ae(e,i,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function i(s){const o=r.events[r.events.length-1];return!ve(s)&&o&&o[1].type==="listItemPrefixWhitespace"?t(s):n(s)}}const Bo={name:"setextUnderline",resolveTo:wp,tokenize:Cp};function wp(e,t){let n=e.length,r,i,s;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(i=n)}else e[n][1].type==="content"&&e.splice(n,1),!s&&e[n][1].type==="definition"&&(s=n);const o={type:"setextHeading",start:{...e[i][1].start},end:{...e[e.length-1][1].end}};return e[i][1].type="setextHeadingText",s?(e.splice(i,0,["enter",o,t]),e.splice(s+1,0,["exit",e[r][1],t]),e[r][1].end={...e[s][1].end}):e[r][1]=o,e.push(["exit",o,t]),e}function Cp(e,t,n){const r=this;let i;return s;function s(u){let f=r.events.length,c;for(;f--;)if(r.events[f][1].type!=="lineEnding"&&r.events[f][1].type!=="linePrefix"&&r.events[f][1].type!=="content"){c=r.events[f][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||c)?(e.enter("setextHeadingLine"),i=u,o(u)):n(u)}function o(u){return e.enter("setextHeadingLineSequence"),l(u)}function l(u){return u===i?(e.consume(u),l):(e.exit("setextHeadingLineSequence"),ve(u)?Ae(e,a,"lineSuffix")(u):a(u))}function a(u){return u===null||fe(u)?(e.exit("setextHeadingLine"),t(u)):n(u)}}const kp={tokenize:Ip};function Ip(e){const t=this,n=e.attempt(gi,r,e.attempt(this.parser.constructs.flowInitial,i,Ae(e,e.attempt(this.parser.constructs.flow,i,e.attempt(Pd,i)),"linePrefix")));return n;function r(s){if(s===null){e.consume(s);return}return e.enter("lineEndingBlank"),e.consume(s),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function i(s){if(s===null){e.consume(s);return}return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const Tp={resolveAll:au()},Op=lu("string"),Lp=lu("text");function lu(e){return{resolveAll:au(e==="text"?Ap:void 0),tokenize:t};function t(n){const r=this,i=this.parser.constructs[e],s=n.attempt(i,o,l);return o;function o(f){return u(f)?s(f):l(f)}function l(f){if(f===null){n.consume(f);return}return n.enter("data"),n.consume(f),a}function a(f){return u(f)?(n.exit("data"),s(f)):(n.consume(f),a)}function u(f){if(f===null)return!0;const c=i[f];let d=-1;if(c)for(;++d-1){const l=o[0];typeof l=="string"?o[0]=l.slice(r):o.shift()}s>0&&o.push(e[i].slice(0,s))}return o}function jp(e,t){let n=-1;const r=[];let i;for(;++nt?Symbol.for(e):Symbol(e),Yp=(e,t,n)=>Xp({l:e,k:t,s:n}),Xp=e=>JSON.stringify(e).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029").replace(/\u0027/g,"\\u0027"),De=e=>typeof e=="number"&&isFinite(e),Qp=e=>Ds(e)==="[object Date]",Qr=e=>Ds(e)==="[object RegExp]",_i=e=>ge(e)&&Object.keys(e).length===0,We=Object.assign,Jp=Object.create,Ie=(e=null)=>Jp(e);let zo;const Fs=()=>zo||(zo=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:Ie());function jo(e){return e.replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}const Zp=Object.prototype.hasOwnProperty;function Et(e,t){return Zp.call(e,t)}const Ue=Array.isArray,Me=e=>typeof e=="function",Z=e=>typeof e=="string",Fe=e=>typeof e=="boolean",Ee=e=>e!==null&&typeof e=="object",em=e=>Ee(e)&&Me(e.then)&&Me(e.catch),uu=Object.prototype.toString,Ds=e=>uu.call(e),ge=e=>Ds(e)==="[object Object]",tm=e=>e==null?"":Ue(e)||ge(e)&&e.toString===uu?JSON.stringify(e,null,2):String(e);function $s(e,t=""){return e.reduce((n,r,i)=>i===0?n+r:n+t+r,"")}function nm(e,t){typeof console<"u"&&(console.warn("[intlify] "+e),t&&console.warn(t.stack))}const Or=e=>!Ee(e)||Ue(e);function $r(e,t){if(Or(e)||Or(t))throw new Error("Invalid value");const n=[{src:e,des:t}];for(;n.length;){const{src:r,des:i}=n.pop();Object.keys(r).forEach(s=>{s!=="__proto__"&&(Ee(r[s])&&!Ee(i[s])&&(i[s]=Array.isArray(r[s])?[]:Ie()),Or(i[s])||Or(r[s])?i[s]=r[s]:n.push({src:r[s],des:i[s]}))})}}/*! + * message-compiler v10.0.5 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */function rm(e,t,n){return{line:e,column:t,offset:n}}function ns(e,t,n){return{start:e,end:t}}const we={EXPECTED_TOKEN:1,INVALID_TOKEN_IN_PLACEHOLDER:2,UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER:3,UNKNOWN_ESCAPE_SEQUENCE:4,INVALID_UNICODE_ESCAPE_SEQUENCE:5,UNBALANCED_CLOSING_BRACE:6,UNTERMINATED_CLOSING_BRACE:7,EMPTY_PLACEHOLDER:8,NOT_ALLOW_NEST_PLACEHOLDER:9,INVALID_LINKED_FORMAT:10,MUST_HAVE_MESSAGES_IN_PLURAL:11,UNEXPECTED_EMPTY_LINKED_MODIFIER:12,UNEXPECTED_EMPTY_LINKED_KEY:13,UNEXPECTED_LEXICAL_ANALYSIS:14,UNHANDLED_CODEGEN_NODE_TYPE:15,UNHANDLED_MINIFIER_NODE_TYPE:16},im=17;function bi(e,t,n={}){const{domain:r,messages:i,args:s}=n,o=e,l=new SyntaxError(String(o));return l.code=e,t&&(l.location=t),l.domain=r,l}function sm(e){throw e}const zt=" ",om="\r",et=` +`,lm="\u2028",am="\u2029";function um(e){const t=e;let n=0,r=1,i=1,s=0;const o=N=>t[N]===om&&t[N+1]===et,l=N=>t[N]===et,a=N=>t[N]===am,u=N=>t[N]===lm,f=N=>o(N)||l(N)||a(N)||u(N),c=()=>n,d=()=>r,h=()=>i,C=()=>s,T=N=>o(N)||a(N)||u(N)?et:t[N],A=()=>T(n),g=()=>T(n+s);function E(){return s=0,f(n)&&(r++,i=0),o(n)&&n++,n++,i++,t[n]}function k(){return o(n+s)&&s++,s++,t[n+s]}function x(){n=0,r=1,i=1,s=0}function M(N=0){s=N}function I(){const N=n+s;for(;N!==n;)E();s=0}return{index:c,line:d,column:h,peekOffset:C,charAt:T,currentChar:A,currentPeek:g,next:E,peek:k,reset:x,resetPeek:M,skipToPeek:I}}const Jt=void 0,cm=".",Wo="'",fm="tokenizer";function hm(e,t={}){const n=t.location!==!1,r=um(e),i=()=>r.index(),s=()=>rm(r.line(),r.column(),r.index()),o=s(),l=i(),a={currentType:13,offset:l,startLoc:o,endLoc:o,lastType:13,lastOffset:l,lastStartLoc:o,lastEndLoc:o,braceNest:0,inLinked:!1,text:""},u=()=>a,{onError:f}=t;function c(m,_,O,...R){const Y=u();if(_.column+=O,_.offset+=O,f){const B=n?ns(Y.startLoc,_):null,L=bi(m,B,{domain:fm,args:R});f(L)}}function d(m,_,O){m.endLoc=s(),m.currentType=_;const R={type:_};return n&&(R.loc=ns(m.startLoc,m.endLoc)),O!=null&&(R.value=O),R}const h=m=>d(m,13);function C(m,_){return m.currentChar()===_?(m.next(),_):(c(we.EXPECTED_TOKEN,s(),0,_),"")}function T(m){let _="";for(;m.currentPeek()===zt||m.currentPeek()===et;)_+=m.currentPeek(),m.peek();return _}function A(m){const _=T(m);return m.skipToPeek(),_}function g(m){if(m===Jt)return!1;const _=m.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_===95}function E(m){if(m===Jt)return!1;const _=m.charCodeAt(0);return _>=48&&_<=57}function k(m,_){const{currentType:O}=_;if(O!==2)return!1;T(m);const R=g(m.currentPeek());return m.resetPeek(),R}function x(m,_){const{currentType:O}=_;if(O!==2)return!1;T(m);const R=m.currentPeek()==="-"?m.peek():m.currentPeek(),Y=E(R);return m.resetPeek(),Y}function M(m,_){const{currentType:O}=_;if(O!==2)return!1;T(m);const R=m.currentPeek()===Wo;return m.resetPeek(),R}function I(m,_){const{currentType:O}=_;if(O!==7)return!1;T(m);const R=m.currentPeek()===".";return m.resetPeek(),R}function N(m,_){const{currentType:O}=_;if(O!==8)return!1;T(m);const R=g(m.currentPeek());return m.resetPeek(),R}function J(m,_){const{currentType:O}=_;if(!(O===7||O===11))return!1;T(m);const R=m.currentPeek()===":";return m.resetPeek(),R}function ne(m,_){const{currentType:O}=_;if(O!==9)return!1;const R=()=>{const B=m.currentPeek();return B==="{"?g(m.peek()):B==="@"||B==="|"||B===":"||B==="."||B===zt||!B?!1:B===et?(m.peek(),R()):j(m,!1)},Y=R();return m.resetPeek(),Y}function G(m){T(m);const _=m.currentPeek()==="|";return m.resetPeek(),_}function j(m,_=!0){const O=(Y=!1,B="")=>{const L=m.currentPeek();return L==="{"||L==="@"||!L?Y:L==="|"?!(B===zt||B===et):L===zt?(m.peek(),O(!0,zt)):L===et?(m.peek(),O(!0,et)):!0},R=O();return _&&m.resetPeek(),R}function z(m,_){const O=m.currentChar();return O===Jt?Jt:_(O)?(m.next(),O):null}function le(m){const _=m.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36}function me(m){return z(m,le)}function ae(m){const _=m.charCodeAt(0);return _>=97&&_<=122||_>=65&&_<=90||_>=48&&_<=57||_===95||_===36||_===45}function de(m){return z(m,ae)}function oe(m){const _=m.charCodeAt(0);return _>=48&&_<=57}function ue(m){return z(m,oe)}function _e(m){const _=m.charCodeAt(0);return _>=48&&_<=57||_>=65&&_<=70||_>=97&&_<=102}function p(m){return z(m,_e)}function S(m){let _="",O="";for(;_=ue(m);)O+=_;return O}function q(m){let _="";for(;;){const O=m.currentChar();if(O==="{"||O==="}"||O==="@"||O==="|"||!O)break;if(O===zt||O===et)if(j(m))_+=O,m.next();else{if(G(m))break;_+=O,m.next()}else _+=O,m.next()}return _}function y(m){A(m);let _="",O="";for(;_=de(m);)O+=_;return m.currentChar()===Jt&&c(we.UNTERMINATED_CLOSING_BRACE,s(),0),O}function ee(m){A(m);let _="";return m.currentChar()==="-"?(m.next(),_+=`-${S(m)}`):_+=S(m),m.currentChar()===Jt&&c(we.UNTERMINATED_CLOSING_BRACE,s(),0),_}function se(m){return m!==Wo&&m!==et}function X(m){A(m),C(m,"'");let _="",O="";for(;_=z(m,se);)_==="\\"?O+=P(m):O+=_;const R=m.currentChar();return R===et||R===Jt?(c(we.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER,s(),0),R===et&&(m.next(),C(m,"'")),O):(C(m,"'"),O)}function P(m){const _=m.currentChar();switch(_){case"\\":case"'":return m.next(),`\\${_}`;case"u":return U(m,_,4);case"U":return U(m,_,6);default:return c(we.UNKNOWN_ESCAPE_SEQUENCE,s(),0,_),""}}function U(m,_,O){C(m,_);let R="";for(let Y=0;Y{const R=m.currentChar();return R==="{"||R==="@"||R==="|"||R==="("||R===")"||!R||R===zt?O:(O+=R,m.next(),_(O))};return _("")}function v(m){A(m);const _=C(m,"|");return A(m),_}function w(m,_){let O=null;switch(m.currentChar()){case"{":return _.braceNest>=1&&c(we.NOT_ALLOW_NEST_PLACEHOLDER,s(),0),m.next(),O=d(_,2,"{"),A(m),_.braceNest++,O;case"}":return _.braceNest>0&&_.currentType===2&&c(we.EMPTY_PLACEHOLDER,s(),0),m.next(),O=d(_,3,"}"),_.braceNest--,_.braceNest>0&&A(m),_.inLinked&&_.braceNest===0&&(_.inLinked=!1),O;case"@":return _.braceNest>0&&c(we.UNTERMINATED_CLOSING_BRACE,s(),0),O=D(m,_)||h(_),_.braceNest=0,O;default:{let Y=!0,B=!0,L=!0;if(G(m))return _.braceNest>0&&c(we.UNTERMINATED_CLOSING_BRACE,s(),0),O=d(_,1,v(m)),_.braceNest=0,_.inLinked=!1,O;if(_.braceNest>0&&(_.currentType===4||_.currentType===5||_.currentType===6))return c(we.UNTERMINATED_CLOSING_BRACE,s(),0),_.braceNest=0,V(m,_);if(Y=k(m,_))return O=d(_,4,y(m)),A(m),O;if(B=x(m,_))return O=d(_,5,ee(m)),A(m),O;if(L=M(m,_))return O=d(_,6,X(m)),A(m),O;if(!Y&&!B&&!L)return O=d(_,12,W(m)),c(we.INVALID_TOKEN_IN_PLACEHOLDER,s(),0,O.value),A(m),O;break}}return O}function D(m,_){const{currentType:O}=_;let R=null;const Y=m.currentChar();switch((O===7||O===8||O===11||O===9)&&(Y===et||Y===zt)&&c(we.INVALID_LINKED_FORMAT,s(),0),Y){case"@":return m.next(),R=d(_,7,"@"),_.inLinked=!0,R;case".":return A(m),m.next(),d(_,8,".");case":":return A(m),m.next(),d(_,9,":");default:return G(m)?(R=d(_,1,v(m)),_.braceNest=0,_.inLinked=!1,R):I(m,_)||J(m,_)?(A(m),D(m,_)):N(m,_)?(A(m),d(_,11,te(m))):ne(m,_)?(A(m),Y==="{"?w(m,_)||R:d(_,10,b(m))):(O===7&&c(we.INVALID_LINKED_FORMAT,s(),0),_.braceNest=0,_.inLinked=!1,V(m,_))}}function V(m,_){let O={type:13};if(_.braceNest>0)return w(m,_)||h(_);if(_.inLinked)return D(m,_)||h(_);switch(m.currentChar()){case"{":return w(m,_)||h(_);case"}":return c(we.UNBALANCED_CLOSING_BRACE,s(),0),m.next(),d(_,3,"}");case"@":return D(m,_)||h(_);default:{if(G(m))return O=d(_,1,v(m)),_.braceNest=0,_.inLinked=!1,O;if(j(m))return d(_,0,q(m));break}}return O}function $(){const{currentType:m,offset:_,startLoc:O,endLoc:R}=a;return a.lastType=m,a.lastOffset=_,a.lastStartLoc=O,a.lastEndLoc=R,a.offset=i(),a.startLoc=s(),r.currentChar()===Jt?d(a,13):V(r,a)}return{nextToken:$,currentOffset:i,currentPosition:s,context:u}}const dm="parser",pm=/(?:\\\\|\\'|\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{6}))/g;function mm(e,t,n){switch(e){case"\\\\":return"\\";case"\\'":return"'";default:{const r=parseInt(t||n,16);return r<=55295||r>=57344?String.fromCodePoint(r):"�"}}}function gm(e={}){const t=e.location!==!1,{onError:n}=e;function r(g,E,k,x,...M){const I=g.currentPosition();if(I.offset+=x,I.column+=x,n){const N=t?ns(k,I):null,J=bi(E,N,{domain:dm,args:M});n(J)}}function i(g,E,k){const x={type:g};return t&&(x.start=E,x.end=E,x.loc={start:k,end:k}),x}function s(g,E,k,x){t&&(g.end=E,g.loc&&(g.loc.end=k))}function o(g,E){const k=g.context(),x=i(3,k.offset,k.startLoc);return x.value=E,s(x,g.currentOffset(),g.currentPosition()),x}function l(g,E){const k=g.context(),{lastOffset:x,lastStartLoc:M}=k,I=i(5,x,M);return I.index=parseInt(E,10),g.nextToken(),s(I,g.currentOffset(),g.currentPosition()),I}function a(g,E){const k=g.context(),{lastOffset:x,lastStartLoc:M}=k,I=i(4,x,M);return I.key=E,g.nextToken(),s(I,g.currentOffset(),g.currentPosition()),I}function u(g,E){const k=g.context(),{lastOffset:x,lastStartLoc:M}=k,I=i(9,x,M);return I.value=E.replace(pm,mm),g.nextToken(),s(I,g.currentOffset(),g.currentPosition()),I}function f(g){const E=g.nextToken(),k=g.context(),{lastOffset:x,lastStartLoc:M}=k,I=i(8,x,M);return E.type!==11?(r(g,we.UNEXPECTED_EMPTY_LINKED_MODIFIER,k.lastStartLoc,0),I.value="",s(I,x,M),{nextConsumeToken:E,node:I}):(E.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,Pt(E)),I.value=E.value||"",s(I,g.currentOffset(),g.currentPosition()),{node:I})}function c(g,E){const k=g.context(),x=i(7,k.offset,k.startLoc);return x.value=E,s(x,g.currentOffset(),g.currentPosition()),x}function d(g){const E=g.context(),k=i(6,E.offset,E.startLoc);let x=g.nextToken();if(x.type===8){const M=f(g);k.modifier=M.node,x=M.nextConsumeToken||g.nextToken()}switch(x.type!==9&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(x)),x=g.nextToken(),x.type===2&&(x=g.nextToken()),x.type){case 10:x.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(x)),k.key=c(g,x.value||"");break;case 4:x.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(x)),k.key=a(g,x.value||"");break;case 5:x.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(x)),k.key=l(g,x.value||"");break;case 6:x.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(x)),k.key=u(g,x.value||"");break;default:{r(g,we.UNEXPECTED_EMPTY_LINKED_KEY,E.lastStartLoc,0);const M=g.context(),I=i(7,M.offset,M.startLoc);return I.value="",s(I,M.offset,M.startLoc),k.key=I,s(k,M.offset,M.startLoc),{nextConsumeToken:x,node:k}}}return s(k,g.currentOffset(),g.currentPosition()),{node:k}}function h(g){const E=g.context(),k=E.currentType===1?g.currentOffset():E.offset,x=E.currentType===1?E.endLoc:E.startLoc,M=i(2,k,x);M.items=[];let I=null;do{const ne=I||g.nextToken();switch(I=null,ne.type){case 0:ne.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(ne)),M.items.push(o(g,ne.value||""));break;case 5:ne.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(ne)),M.items.push(l(g,ne.value||""));break;case 4:ne.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(ne)),M.items.push(a(g,ne.value||""));break;case 6:ne.value==null&&r(g,we.UNEXPECTED_LEXICAL_ANALYSIS,E.lastStartLoc,0,Pt(ne)),M.items.push(u(g,ne.value||""));break;case 7:{const G=d(g);M.items.push(G.node),I=G.nextConsumeToken||null;break}}}while(E.currentType!==13&&E.currentType!==1);const N=E.currentType===1?E.lastOffset:g.currentOffset(),J=E.currentType===1?E.lastEndLoc:g.currentPosition();return s(M,N,J),M}function C(g,E,k,x){const M=g.context();let I=x.items.length===0;const N=i(1,E,k);N.cases=[],N.cases.push(x);do{const J=h(g);I||(I=J.items.length===0),N.cases.push(J)}while(M.currentType!==13);return I&&r(g,we.MUST_HAVE_MESSAGES_IN_PLURAL,k,0),s(N,g.currentOffset(),g.currentPosition()),N}function T(g){const E=g.context(),{offset:k,startLoc:x}=E,M=h(g);return E.currentType===13?M:C(g,k,x,M)}function A(g){const E=hm(g,We({},e)),k=E.context(),x=i(0,k.offset,k.startLoc);return t&&x.loc&&(x.loc.source=g),x.body=T(E),e.onCacheKey&&(x.cacheKey=e.onCacheKey(g)),k.currentType!==13&&r(E,we.UNEXPECTED_LEXICAL_ANALYSIS,k.lastStartLoc,0,g[k.offset]||""),s(x,E.currentOffset(),E.currentPosition()),x}return{parse:A}}function Pt(e){if(e.type===13)return"EOF";const t=(e.value||"").replace(/\r?\n/gu,"\\n");return t.length>10?t.slice(0,9)+"…":t}function _m(e,t={}){const n={ast:e,helpers:new Set};return{context:()=>n,helper:s=>(n.helpers.add(s),s)}}function Ko(e,t){for(let n=0;nqo(n)),e}function qo(e){if(e.items.length===1){const t=e.items[0];(t.type===3||t.type===9)&&(e.static=t.value,delete t.value)}else{const t=[];for(let n=0;nl;function u(A,g){l.code+=A}function f(A,g=!0){const E=g?i:"";u(s?E+" ".repeat(A):E)}function c(A=!0){const g=++l.indentLevel;A&&f(g)}function d(A=!0){const g=--l.indentLevel;A&&f(g)}function h(){f(l.indentLevel)}return{context:a,push:u,indent:c,deindent:d,newline:h,helper:A=>`_${A}`,needIndent:()=>l.needIndent}}function Em(e,t){const{helper:n}=e;e.push(`${n("linked")}(`),Mn(e,t.key),t.modifier?(e.push(", "),Mn(e,t.modifier),e.push(", _type")):e.push(", undefined, _type"),e.push(")")}function xm(e,t){const{helper:n,needIndent:r}=e;e.push(`${n("normalize")}([`),e.indent(r());const i=t.items.length;for(let s=0;s1){e.push(`${n("plural")}([`),e.indent(r());const i=t.cases.length;for(let s=0;s{const n=Z(t.mode)?t.mode:"normal",r=Z(t.filename)?t.filename:"message.intl",i=!!t.sourceMap,s=t.breakLineCode!=null?t.breakLineCode:n==="arrow"?";":` +`,o=t.needIndent?t.needIndent:n!=="arrow",l=e.helpers||[],a=vm(e,{mode:n,filename:r,sourceMap:i,breakLineCode:s,needIndent:o});a.push(n==="normal"?"function __msg__ (ctx) {":"(ctx) => {"),a.indent(o),l.length>0&&(a.push(`const { ${$s(l.map(c=>`${c}: _${c}`),", ")} } = ctx`),a.newline()),a.push("return "),Mn(a,e),a.deindent(o),a.push("}"),delete e.helpers;const{code:u,map:f}=a.context();return{ast:e,code:u,map:f?f.toJSON():void 0}};function km(e,t={}){const n=We({},t),r=!!n.jit,i=!!n.minify,s=n.optimize==null?!0:n.optimize,l=gm(n).parse(e);return r?(s&&ym(l),i&&Cn(l),{ast:l,code:""}):(bm(l,n),Cm(l,n))}/*! + * core-base v10.0.5 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */function Im(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Fs().__INTLIFY_PROD_DEVTOOLS__=!1)}function Mi(e){return n=>Tm(n,e)}function Tm(e,t){const n=Lm(t);if(n==null)throw ur(0);if(Us(n)===1){const s=Pm(n);return e.plural(s.reduce((o,l)=>[...o,Go(e,l)],[]))}else return Go(e,n)}const Om=["b","body"];function Lm(e){return fn(e,Om)}const Am=["c","cases"];function Pm(e){return fn(e,Am,[])}function Go(e,t){const n=Nm(t);if(n!=null)return e.type==="text"?n:e.normalize([n]);{const r=Fm(t).reduce((i,s)=>[...i,rs(e,s)],[]);return e.normalize(r)}}const Rm=["s","static"];function Nm(e){return fn(e,Rm)}const Mm=["i","items"];function Fm(e){return fn(e,Mm,[])}function rs(e,t){const n=Us(t);switch(n){case 3:return Lr(t,n);case 9:return Lr(t,n);case 4:{const r=t;if(Et(r,"k")&&r.k)return e.interpolate(e.named(r.k));if(Et(r,"key")&&r.key)return e.interpolate(e.named(r.key));throw ur(n)}case 5:{const r=t;if(Et(r,"i")&&De(r.i))return e.interpolate(e.list(r.i));if(Et(r,"index")&&De(r.index))return e.interpolate(e.list(r.index));throw ur(n)}case 6:{const r=t,i=Um(r),s=Hm(r);return e.linked(rs(e,s),i?rs(e,i):void 0,e.type)}case 7:return Lr(t,n);case 8:return Lr(t,n);default:throw new Error(`unhandled node on format message part: ${n}`)}}const Dm=["t","type"];function Us(e){return fn(e,Dm)}const $m=["v","value"];function Lr(e,t){const n=fn(e,$m);if(n)return n;throw ur(t)}const Vm=["m","modifier"];function Um(e){return fn(e,Vm)}const Bm=["k","key"];function Hm(e){const t=fn(e,Bm);if(t)return t;throw ur(6)}function fn(e,t,n){for(let r=0;re;let Ar=Ie();function Fn(e){return Ee(e)&&Us(e)===0&&(Et(e,"b")||Et(e,"body"))}function jm(e,t={}){let n=!1;const r=t.onError||sm;return t.onError=i=>{n=!0,r(i)},{...km(e,t),detectError:n}}function Wm(e,t){if(Z(e)){Fe(t.warnHtmlMessage)&&t.warnHtmlMessage;const r=(t.onCacheKey||zm)(e),i=Ar[r];if(i)return i;const{ast:s,detectError:o}=jm(e,{...t,location:!1,jit:!0}),l=Mi(s);return o?l:Ar[r]=l}else{const n=e.cacheKey;if(n){const r=Ar[n];return r||(Ar[n]=Mi(e))}else return Mi(e)}}let cr=null;function Km(e){cr=e}function qm(e,t,n){cr&&cr.emit("i18n:init",{timestamp:Date.now(),i18n:e,version:t,meta:n})}const Gm=Ym("function:translate");function Ym(e){return t=>cr&&cr.emit(e,t)}const Gt={INVALID_ARGUMENT:im,INVALID_DATE_ARGUMENT:18,INVALID_ISO_DATE_ARGUMENT:19,NOT_SUPPORT_NON_STRING_MESSAGE:20,NOT_SUPPORT_LOCALE_PROMISE_VALUE:21,NOT_SUPPORT_LOCALE_ASYNC_FUNCTION:22,NOT_SUPPORT_LOCALE_TYPE:23},Xm=24;function Yt(e){return bi(e,null,void 0)}function Bs(e,t){return t.locale!=null?Yo(t.locale):Yo(e.locale)}let Fi;function Yo(e){if(Z(e))return e;if(Me(e)){if(e.resolvedOnce&&Fi!=null)return Fi;if(e.constructor.name==="Function"){const t=e();if(em(t))throw Yt(Gt.NOT_SUPPORT_LOCALE_PROMISE_VALUE);return Fi=t}else throw Yt(Gt.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION)}else throw Yt(Gt.NOT_SUPPORT_LOCALE_TYPE)}function Qm(e,t,n){return[...new Set([n,...Ue(t)?t:Ee(t)?Object.keys(t):Z(t)?[t]:[n]])]}function cu(e,t,n){const r=Z(n)?n:Jr,i=e;i.__localeChainCache||(i.__localeChainCache=new Map);let s=i.__localeChainCache.get(r);if(!s){s=[];let o=[n];for(;Ue(o);)o=Xo(s,o,t);const l=Ue(t)||!ge(t)?t:t.default?t.default:null;o=Z(l)?[l]:l,Ue(o)&&Xo(s,o,!1),i.__localeChainCache.set(r,s)}return s}function Xo(e,t,n){let r=!0;for(let i=0;i{o===void 0?o=l:o+=l},d[1]=()=>{o!==void 0&&(t.push(o),o=void 0)},d[2]=()=>{d[0](),i++},d[3]=()=>{if(i>0)i--,r=4,d[0]();else{if(i=0,o===void 0||(o=ig(o),o===!1))return!1;d[1]()}};function h(){const C=e[n+1];if(r===5&&C==="'"||r===6&&C==='"')return n++,l="\\"+C,d[0](),!0}for(;r!==null;)if(n++,s=e[n],!(s==="\\"&&h())){if(a=rg(s),c=hn[r],u=c[a]||c.l||8,u===8||(r=u[0],u[1]!==void 0&&(f=d[u[1]],f&&(l=s,f()===!1))))return;if(r===7)return t}}const Qo=new Map;function og(e,t){return Ee(e)?e[t]:null}function lg(e,t){if(!Ee(e))return null;let n=Qo.get(t);if(n||(n=sg(t),n&&Qo.set(t,n)),!n)return null;const r=n.length;let i=e,s=0;for(;s`${e.charAt(0).toLocaleUpperCase()}${e.substr(1)}`;function ug(){return{upper:(e,t)=>t==="text"&&Z(e)?e.toUpperCase():t==="vnode"&&Ee(e)&&"__v_isVNode"in e?e.children.toUpperCase():e,lower:(e,t)=>t==="text"&&Z(e)?e.toLowerCase():t==="vnode"&&Ee(e)&&"__v_isVNode"in e?e.children.toLowerCase():e,capitalize:(e,t)=>t==="text"&&Z(e)?Zo(e):t==="vnode"&&Ee(e)&&"__v_isVNode"in e?Zo(e.children):e}}let fu;function cg(e){fu=e}let hu;function fg(e){hu=e}let du;function hg(e){du=e}let pu=null;const dg=e=>{pu=e},pg=()=>pu;let mu=null;const el=e=>{mu=e},mg=()=>mu;let tl=0;function gg(e={}){const t=Me(e.onWarn)?e.onWarn:nm,n=Z(e.version)?e.version:ag,r=Z(e.locale)||Me(e.locale)?e.locale:Jr,i=Me(r)?Jr:r,s=Ue(e.fallbackLocale)||ge(e.fallbackLocale)||Z(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:i,o=ge(e.messages)?e.messages:Di(i),l=ge(e.datetimeFormats)?e.datetimeFormats:Di(i),a=ge(e.numberFormats)?e.numberFormats:Di(i),u=We(Ie(),e.modifiers,ug()),f=e.pluralRules||Ie(),c=Me(e.missing)?e.missing:null,d=Fe(e.missingWarn)||Qr(e.missingWarn)?e.missingWarn:!0,h=Fe(e.fallbackWarn)||Qr(e.fallbackWarn)?e.fallbackWarn:!0,C=!!e.fallbackFormat,T=!!e.unresolving,A=Me(e.postTranslation)?e.postTranslation:null,g=ge(e.processor)?e.processor:null,E=Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,k=!!e.escapeParameter,x=Me(e.messageCompiler)?e.messageCompiler:fu,M=Me(e.messageResolver)?e.messageResolver:hu||og,I=Me(e.localeFallbacker)?e.localeFallbacker:du||Qm,N=Ee(e.fallbackContext)?e.fallbackContext:void 0,J=e,ne=Ee(J.__datetimeFormatters)?J.__datetimeFormatters:new Map,G=Ee(J.__numberFormatters)?J.__numberFormatters:new Map,j=Ee(J.__meta)?J.__meta:{};tl++;const z={version:n,cid:tl,locale:r,fallbackLocale:s,messages:o,modifiers:u,pluralRules:f,missing:c,missingWarn:d,fallbackWarn:h,fallbackFormat:C,unresolving:T,postTranslation:A,processor:g,warnHtmlMessage:E,escapeParameter:k,messageCompiler:x,messageResolver:M,localeFallbacker:I,fallbackContext:N,onWarn:t,__meta:j};return z.datetimeFormats=l,z.numberFormats=a,z.__datetimeFormatters=ne,z.__numberFormatters=G,__INTLIFY_PROD_DEVTOOLS__&&qm(z,n,j),z}const Di=e=>({[e]:Ie()});function Hs(e,t,n,r,i){const{missing:s,onWarn:o}=e;if(s!==null){const l=s(e,n,t,i);return Z(l)?l:t}else return t}function jn(e,t,n){const r=e;r.__localeChainCache=new Map,e.localeFallbacker(e,n,t)}function _g(e,t){return e===t?!1:e.split("-")[0]===t.split("-")[0]}function bg(e,t){const n=t.indexOf(e);if(n===-1)return!1;for(let r=n+1;r{gu.includes(a)?o[a]=n[a]:s[a]=n[a]}),Z(r)?s.locale=r:ge(r)&&(o=r),ge(i)&&(o=i),[s.key||"",l,s,o]}function rl(e,t,n){const r=e;for(const i in n){const s=`${t}__${i}`;r.__datetimeFormatters.has(s)&&r.__datetimeFormatters.delete(s)}}function il(e,...t){const{numberFormats:n,unresolving:r,fallbackLocale:i,onWarn:s,localeFallbacker:o}=e,{__numberFormatters:l}=e,[a,u,f,c]=ss(...t),d=Fe(f.missingWarn)?f.missingWarn:e.missingWarn;Fe(f.fallbackWarn)?f.fallbackWarn:e.fallbackWarn;const h=!!f.part,C=Bs(e,f),T=o(e,i,C);if(!Z(a)||a==="")return new Intl.NumberFormat(C,c).format(u);let A={},g,E=null;const k="number format";for(let I=0;I{_u.includes(a)?o[a]=n[a]:s[a]=n[a]}),Z(r)?s.locale=r:ge(r)&&(o=r),ge(i)&&(o=i),[s.key||"",l,s,o]}function sl(e,t,n){const r=e;for(const i in n){const s=`${t}__${i}`;r.__numberFormatters.has(s)&&r.__numberFormatters.delete(s)}}const yg=e=>e,vg=e=>"",Eg="text",xg=e=>e.length===0?"":$s(e),Sg=tm;function ol(e,t){return e=Math.abs(e),t===2?e?e>1?1:0:1:e?Math.min(e,2):0}function wg(e){const t=De(e.pluralIndex)?e.pluralIndex:-1;return e.named&&(De(e.named.count)||De(e.named.n))?De(e.named.count)?e.named.count:De(e.named.n)?e.named.n:t:t}function Cg(e,t){t.count||(t.count=e),t.n||(t.n=e)}function kg(e={}){const t=e.locale,n=wg(e),r=Ee(e.pluralRules)&&Z(t)&&Me(e.pluralRules[t])?e.pluralRules[t]:ol,i=Ee(e.pluralRules)&&Z(t)&&Me(e.pluralRules[t])?ol:void 0,s=g=>g[r(n,g.length,i)],o=e.list||[],l=g=>o[g],a=e.named||Ie();De(e.pluralIndex)&&Cg(n,a);const u=g=>a[g];function f(g,E){const k=Me(e.messages)?e.messages(g,!!E):Ee(e.messages)?e.messages[g]:!1;return k||(e.parent?e.parent.message(g):vg)}const c=g=>e.modifiers?e.modifiers[g]:yg,d=ge(e.processor)&&Me(e.processor.normalize)?e.processor.normalize:xg,h=ge(e.processor)&&Me(e.processor.interpolate)?e.processor.interpolate:Sg,C=ge(e.processor)&&Z(e.processor.type)?e.processor.type:Eg,A={list:l,named:u,plural:s,linked:(g,...E)=>{const[k,x]=E;let M="text",I="";E.length===1?Ee(k)?(I=k.modifier||I,M=k.type||M):Z(k)&&(I=k||I):E.length===2&&(Z(k)&&(I=k||I),Z(x)&&(M=x||M));const N=f(g,!0)(A),J=M==="vnode"&&Ue(N)&&I?N[0]:N;return I?c(I)(J,M):J},message:f,type:C,interpolate:h,normalize:d,values:We(Ie(),o,a)};return A}const ll=()=>"",mt=e=>Me(e);function al(e,...t){const{fallbackFormat:n,postTranslation:r,unresolving:i,messageCompiler:s,fallbackLocale:o,messages:l}=e,[a,u]=os(...t),f=Fe(u.missingWarn)?u.missingWarn:e.missingWarn,c=Fe(u.fallbackWarn)?u.fallbackWarn:e.fallbackWarn,d=Fe(u.escapeParameter)?u.escapeParameter:e.escapeParameter,h=!!u.resolvedMessage,C=Z(u.default)||Fe(u.default)?Fe(u.default)?s?a:()=>a:u.default:n?s?a:()=>a:null,T=n||C!=null&&(Z(C)||Me(C)),A=Bs(e,u);d&&Ig(u);let[g,E,k]=h?[a,A,l[A]||Ie()]:bu(e,a,A,o,c,f),x=g,M=a;if(!h&&!(Z(x)||Fn(x)||mt(x))&&T&&(x=C,M=x),!h&&(!(Z(x)||Fn(x)||mt(x))||!Z(E)))return i?yi:a;let I=!1;const N=()=>{I=!0},J=mt(x)?x:yu(e,a,E,x,M,N);if(I)return x;const ne=Lg(e,E,k,u),G=kg(ne),j=Tg(e,J,G),z=r?r(j,a):j;if(__INTLIFY_PROD_DEVTOOLS__){const le={timestamp:Date.now(),key:Z(a)?a:mt(x)?x.key:"",locale:E||(mt(x)?x.locale:""),format:Z(x)?x:mt(x)?x.source:"",message:z};le.meta=We({},e.__meta,pg()||{}),Gm(le)}return z}function Ig(e){Ue(e.list)?e.list=e.list.map(t=>Z(t)?jo(t):t):Ee(e.named)&&Object.keys(e.named).forEach(t=>{Z(e.named[t])&&(e.named[t]=jo(e.named[t]))})}function bu(e,t,n,r,i,s){const{messages:o,onWarn:l,messageResolver:a,localeFallbacker:u}=e,f=u(e,r,n);let c=Ie(),d,h=null;const C="translate";for(let T=0;Tr;return u.locale=n,u.key=t,u}const a=o(r,Og(e,n,i,r,l,s));return a.locale=n,a.key=t,a.source=r,a}function Tg(e,t,n){return t(n)}function os(...e){const[t,n,r]=e,i=Ie();if(!Z(t)&&!De(t)&&!mt(t)&&!Fn(t))throw Yt(Gt.INVALID_ARGUMENT);const s=De(t)?String(t):(mt(t),t);return De(n)?i.plural=n:Z(n)?i.default=n:ge(n)&&!_i(n)?i.named=n:Ue(n)&&(i.list=n),De(r)?i.plural=r:Z(r)?i.default=r:ge(r)&&We(i,r),[s,i]}function Og(e,t,n,r,i,s){return{locale:t,key:n,warnHtmlMessage:i,onError:o=>{throw s&&s(o),o},onCacheKey:o=>Yp(t,n,o)}}function Lg(e,t,n,r){const{modifiers:i,pluralRules:s,messageResolver:o,fallbackLocale:l,fallbackWarn:a,missingWarn:u,fallbackContext:f}=e,d={locale:t,modifiers:i,pluralRules:s,messages:(h,C)=>{let T=o(n,h);if(T==null&&(f||C)){const[,,A]=bu(f||e,h,t,l,a,u);T=o(A,h)}if(Z(T)||Fn(T)){let A=!1;const E=yu(e,h,t,T,h,()=>{A=!0});return A?ll:E}else return mt(T)?T:ll}};return e.processor&&(d.processor=e.processor),r.list&&(d.list=r.list),r.named&&(d.named=r.named),De(r.plural)&&(d.pluralIndex=r.plural),d}Im();/*! + * vue-i18n v10.0.5 + * (c) 2024 kazuya kawaguchi + * Released under the MIT License. + */const Ag="10.0.5";function Pg(){typeof __INTLIFY_PROD_DEVTOOLS__!="boolean"&&(Fs().__INTLIFY_PROD_DEVTOOLS__=!1)}const yt={UNEXPECTED_RETURN_TYPE:Xm,INVALID_ARGUMENT:25,MUST_BE_CALL_SETUP_TOP:26,NOT_INSTALLED:27,REQUIRED_VALUE:28,INVALID_VALUE:29,CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN:30,NOT_INSTALLED_WITH_PROVIDE:31,UNEXPECTED_ERROR:32,NOT_COMPATIBLE_LEGACY_VUE_I18N:33,NOT_AVAILABLE_COMPOSITION_IN_LEGACY:34};function Ct(e,...t){return bi(e,null,void 0)}const ls=cn("__translateVNode"),as=cn("__datetimeParts"),us=cn("__numberParts"),Rg=cn("__setPluralRules"),Ng=cn("__injectWithOption"),cs=cn("__dispose");function fr(e){if(!Ee(e))return e;for(const t in e)if(Et(e,t))if(!t.includes("."))Ee(e[t])&&fr(e[t]);else{const n=t.split("."),r=n.length-1;let i=e,s=!1;for(let o=0;o{if("locale"in l&&"resource"in l){const{locale:a,resource:u}=l;a?(o[a]=o[a]||Ie(),$r(u,o[a])):$r(u,o)}else Z(l)&&$r(JSON.parse(l),o)}),i==null&&s)for(const l in o)Et(o,l)&&fr(o[l]);return o}function Eu(e){return e.type}function Mg(e,t,n){let r=Ee(t.messages)?t.messages:Ie();"__i18nGlobal"in n&&(r=vu(e.locale.value,{messages:r,__i18n:n.__i18nGlobal}));const i=Object.keys(r);i.length&&i.forEach(s=>{e.mergeLocaleMessage(s,r[s])});{if(Ee(t.datetimeFormats)){const s=Object.keys(t.datetimeFormats);s.length&&s.forEach(o=>{e.mergeDateTimeFormat(o,t.datetimeFormats[o])})}if(Ee(t.numberFormats)){const s=Object.keys(t.numberFormats);s.length&&s.forEach(o=>{e.mergeNumberFormat(o,t.numberFormats[o])})}}}function ul(e){return Ce(yr,null,e,0)}const cl="__INTLIFY_META__",fl=()=>[],Fg=()=>!1;let hl=0;function dl(e){return(t,n,r,i)=>e(n,r,En()||void 0,i)}const Dg=()=>{const e=En();let t=null;return e&&(t=Eu(e)[cl])?{[cl]:t}:null};function xu(e={}){const{__root:t,__injectWithOption:n}=e,r=t===void 0,i=e.flatJson,s=Xr?wt:Cs;let o=Fe(e.inheritLocale)?e.inheritLocale:!0;const l=s(t&&o?t.locale.value:Z(e.locale)?e.locale:Jr),a=s(t&&o?t.fallbackLocale.value:Z(e.fallbackLocale)||Ue(e.fallbackLocale)||ge(e.fallbackLocale)||e.fallbackLocale===!1?e.fallbackLocale:l.value),u=s(vu(l.value,e)),f=s(ge(e.datetimeFormats)?e.datetimeFormats:{[l.value]:{}}),c=s(ge(e.numberFormats)?e.numberFormats:{[l.value]:{}});let d=t?t.missingWarn:Fe(e.missingWarn)||Qr(e.missingWarn)?e.missingWarn:!0,h=t?t.fallbackWarn:Fe(e.fallbackWarn)||Qr(e.fallbackWarn)?e.fallbackWarn:!0,C=t?t.fallbackRoot:Fe(e.fallbackRoot)?e.fallbackRoot:!0,T=!!e.fallbackFormat,A=Me(e.missing)?e.missing:null,g=Me(e.missing)?dl(e.missing):null,E=Me(e.postTranslation)?e.postTranslation:null,k=t?t.warnHtmlMessage:Fe(e.warnHtmlMessage)?e.warnHtmlMessage:!0,x=!!e.escapeParameter;const M=t?t.modifiers:ge(e.modifiers)?e.modifiers:{};let I=e.pluralRules||t&&t.pluralRules,N;N=(()=>{r&&el(null);const L={version:Ag,locale:l.value,fallbackLocale:a.value,messages:u.value,modifiers:M,pluralRules:I,missing:g===null?void 0:g,missingWarn:d,fallbackWarn:h,fallbackFormat:T,unresolving:!0,postTranslation:E===null?void 0:E,warnHtmlMessage:k,escapeParameter:x,messageResolver:e.messageResolver,messageCompiler:e.messageCompiler,__meta:{framework:"vue"}};L.datetimeFormats=f.value,L.numberFormats=c.value,L.__datetimeFormatters=ge(N)?N.__datetimeFormatters:void 0,L.__numberFormatters=ge(N)?N.__numberFormatters:void 0;const F=gg(L);return r&&el(F),F})(),jn(N,l.value,a.value);function ne(){return[l.value,a.value,u.value,f.value,c.value]}const G=ke({get:()=>l.value,set:L=>{l.value=L,N.locale=l.value}}),j=ke({get:()=>a.value,set:L=>{a.value=L,N.fallbackLocale=a.value,jn(N,l.value,L)}}),z=ke(()=>u.value),le=ke(()=>f.value),me=ke(()=>c.value);function ae(){return Me(E)?E:null}function de(L){E=L,N.postTranslation=L}function oe(){return A}function ue(L){L!==null&&(g=dl(L)),A=L,N.missing=g}const _e=(L,F,Q,re,pe,Re)=>{ne();let Te;try{__INTLIFY_PROD_DEVTOOLS__,r||(N.fallbackContext=t?mg():void 0),Te=L(N)}finally{__INTLIFY_PROD_DEVTOOLS__,r||(N.fallbackContext=void 0)}if(Q!=="translate exists"&&De(Te)&&Te===yi||Q==="translate exists"&&!Te){const[He,Ke]=F();return t&&C?re(t):pe(He)}else{if(Re(Te))return Te;throw Ct(yt.UNEXPECTED_RETURN_TYPE)}};function p(...L){return _e(F=>Reflect.apply(al,null,[F,...L]),()=>os(...L),"translate",F=>Reflect.apply(F.t,F,[...L]),F=>F,F=>Z(F))}function S(...L){const[F,Q,re]=L;if(re&&!Ee(re))throw Ct(yt.INVALID_ARGUMENT);return p(F,Q,We({resolvedMessage:!0},re||{}))}function q(...L){return _e(F=>Reflect.apply(nl,null,[F,...L]),()=>is(...L),"datetime format",F=>Reflect.apply(F.d,F,[...L]),()=>Jo,F=>Z(F))}function y(...L){return _e(F=>Reflect.apply(il,null,[F,...L]),()=>ss(...L),"number format",F=>Reflect.apply(F.n,F,[...L]),()=>Jo,F=>Z(F))}function ee(L){return L.map(F=>Z(F)||De(F)||Fe(F)?ul(String(F)):F)}const X={normalize:ee,interpolate:L=>L,type:"vnode"};function P(...L){return _e(F=>{let Q;const re=F;try{re.processor=X,Q=Reflect.apply(al,null,[re,...L])}finally{re.processor=null}return Q},()=>os(...L),"translate",F=>F[ls](...L),F=>[ul(F)],F=>Ue(F))}function U(...L){return _e(F=>Reflect.apply(il,null,[F,...L]),()=>ss(...L),"number format",F=>F[us](...L),fl,F=>Z(F)||Ue(F))}function H(...L){return _e(F=>Reflect.apply(nl,null,[F,...L]),()=>is(...L),"datetime format",F=>F[as](...L),fl,F=>Z(F)||Ue(F))}function W(L){I=L,N.pluralRules=I}function te(L,F){return _e(()=>{if(!L)return!1;const Q=Z(F)?F:l.value,re=w(Q),pe=N.messageResolver(re,L);return Fn(pe)||mt(pe)||Z(pe)},()=>[L],"translate exists",Q=>Reflect.apply(Q.te,Q,[L,F]),Fg,Q=>Fe(Q))}function b(L){let F=null;const Q=cu(N,a.value,l.value);for(let re=0;re{o&&(l.value=L,N.locale=L,jn(N,l.value,a.value))}),ot(t.fallbackLocale,L=>{o&&(a.value=L,N.fallbackLocale=L,jn(N,l.value,a.value))}));const B={id:hl,locale:G,fallbackLocale:j,get inheritLocale(){return o},set inheritLocale(L){o=L,L&&t&&(l.value=t.locale.value,a.value=t.fallbackLocale.value,jn(N,l.value,a.value))},get availableLocales(){return Object.keys(u.value).sort()},messages:z,get modifiers(){return M},get pluralRules(){return I||{}},get isGlobal(){return r},get missingWarn(){return d},set missingWarn(L){d=L,N.missingWarn=d},get fallbackWarn(){return h},set fallbackWarn(L){h=L,N.fallbackWarn=h},get fallbackRoot(){return C},set fallbackRoot(L){C=L},get fallbackFormat(){return T},set fallbackFormat(L){T=L,N.fallbackFormat=T},get warnHtmlMessage(){return k},set warnHtmlMessage(L){k=L,N.warnHtmlMessage=L},get escapeParameter(){return x},set escapeParameter(L){x=L,N.escapeParameter=L},t:p,getLocaleMessage:w,setLocaleMessage:D,mergeLocaleMessage:V,getPostTranslationHandler:ae,setPostTranslationHandler:de,getMissingHandler:oe,setMissingHandler:ue,[Rg]:W};return B.datetimeFormats=le,B.numberFormats=me,B.rt=S,B.te=te,B.tm=v,B.d=q,B.n=y,B.getDateTimeFormat=$,B.setDateTimeFormat=m,B.mergeDateTimeFormat=_,B.getNumberFormat=O,B.setNumberFormat=R,B.mergeNumberFormat=Y,B[Ng]=n,B[ls]=P,B[as]=H,B[us]=U,B}const zs={tag:{type:[String,Object]},locale:{type:String},scope:{type:String,validator:e=>e==="parent"||e==="global",default:"parent"},i18n:{type:Object}};function $g({slots:e},t){return t.length===1&&t[0]==="default"?(e.default?e.default():[]).reduce((r,i)=>[...r,...i.type===st?i.children:[i]],[]):t.reduce((n,r)=>{const i=e[r];return i&&(n[r]=i()),n},Ie())}function Su(){return st}const Vg=It({name:"i18n-t",props:We({keypath:{type:String,required:!0},plural:{type:[Number,String],validator:e=>De(e)||!isNaN(e)}},zs),setup(e,t){const{slots:n,attrs:r}=t,i=e.i18n||xn({useScope:e.scope,__useComponent:!0});return()=>{const s=Object.keys(n).filter(c=>c!=="_"),o=Ie();e.locale&&(o.locale=e.locale),e.plural!==void 0&&(o.plural=Z(e.plural)?+e.plural:e.plural);const l=$g(t,s),a=i[ls](e.keypath,l,o),u=We(Ie(),r),f=Z(e.tag)||Ee(e.tag)?e.tag:Su();return mi(f,u,a)}}}),pl=Vg;function Ug(e){return Ue(e)&&!Z(e[0])}function wu(e,t,n,r){const{slots:i,attrs:s}=t;return()=>{const o={part:!0};let l=Ie();e.locale&&(o.locale=e.locale),Z(e.format)?o.key=e.format:Ee(e.format)&&(Z(e.format.key)&&(o.key=e.format.key),l=Object.keys(e.format).reduce((d,h)=>n.includes(h)?We(Ie(),d,{[h]:e.format[h]}):d,Ie()));const a=r(e.value,o,l);let u=[o.key];Ue(a)?u=a.map((d,h)=>{const C=i[d.type],T=C?C({[d.type]:d.value,index:h,parts:a}):[d.value];return Ug(T)&&(T[0].key=`${d.type}-${h}`),T}):Z(a)&&(u=[a]);const f=We(Ie(),s),c=Z(e.tag)||Ee(e.tag)?e.tag:Su();return mi(c,f,u)}}const Bg=It({name:"i18n-n",props:We({value:{type:Number,required:!0},format:{type:[String,Object]}},zs),setup(e,t){const n=e.i18n||xn({useScope:e.scope,__useComponent:!0});return wu(e,t,_u,(...r)=>n[us](...r))}}),ml=Bg,Hg=It({name:"i18n-d",props:We({value:{type:[Number,Date],required:!0},format:{type:[String,Object]}},zs),setup(e,t){const n=e.i18n||xn({useScope:e.scope,__useComponent:!0});return wu(e,t,gu,(...r)=>n[as](...r))}}),gl=Hg;function zg(e,t){const n=e;if(e.mode==="composition")return n.__getInstance(t)||e.global;{const r=n.__getInstance(t);return r!=null?r.__composer:e.global.__composer}}function jg(e){const t=o=>{const{instance:l,value:a}=o;if(!l||!l.$)throw Ct(yt.UNEXPECTED_ERROR);const u=zg(e,l.$),f=_l(a);return[Reflect.apply(u.t,u,[...bl(f)]),u]};return{created:(o,l)=>{const[a,u]=t(l);Xr&&e.global===u&&(o.__i18nWatcher=ot(u.locale,()=>{l.instance&&l.instance.$forceUpdate()})),o.__composer=u,o.textContent=a},unmounted:o=>{Xr&&o.__i18nWatcher&&(o.__i18nWatcher(),o.__i18nWatcher=void 0,delete o.__i18nWatcher),o.__composer&&(o.__composer=void 0,delete o.__composer)},beforeUpdate:(o,{value:l})=>{if(o.__composer){const a=o.__composer,u=_l(l);o.textContent=Reflect.apply(a.t,a,[...bl(u)])}},getSSRProps:o=>{const[l]=t(o);return{textContent:l}}}}function _l(e){if(Z(e))return{path:e};if(ge(e)){if(!("path"in e))throw Ct(yt.REQUIRED_VALUE,"path");return e}else throw Ct(yt.INVALID_VALUE)}function bl(e){const{path:t,locale:n,args:r,choice:i,plural:s}=e,o={},l=r||{};return Z(n)&&(o.locale=n),De(i)&&(o.plural=i),De(s)&&(o.plural=s),[t,l,o]}function Wg(e,t,...n){const r=ge(n[0])?n[0]:{};(Fe(r.globalInstall)?r.globalInstall:!0)&&([pl.name,"I18nT"].forEach(s=>e.component(s,pl)),[ml.name,"I18nN"].forEach(s=>e.component(s,ml)),[gl.name,"I18nD"].forEach(s=>e.component(s,gl))),e.directive("t",jg(t))}const Kg=cn("global-vue-i18n");function qg(e={},t){const n=Fe(e.globalInjection)?e.globalInjection:!0,r=new Map,[i,s]=Gg(e),o=cn("");function l(c){return r.get(c)||null}function a(c,d){r.set(c,d)}function u(c){r.delete(c)}const f={get mode(){return"composition"},async install(c,...d){if(c.__VUE_I18N_SYMBOL__=o,c.provide(c.__VUE_I18N_SYMBOL__,f),ge(d[0])){const T=d[0];f.__composerExtend=T.__composerExtend,f.__vueI18nExtend=T.__vueI18nExtend}let h=null;n&&(h=n_(c,f.global)),Wg(c,f,...d);const C=c.unmount;c.unmount=()=>{h&&h(),f.dispose(),C()}},get global(){return s},dispose(){i.stop()},__instances:r,__getInstance:l,__setInstance:a,__deleteInstance:u};return f}function xn(e={}){const t=En();if(t==null)throw Ct(yt.MUST_BE_CALL_SETUP_TOP);if(!t.isCE&&t.appContext.app!=null&&!t.appContext.app.__VUE_I18N_SYMBOL__)throw Ct(yt.NOT_INSTALLED);const n=Yg(t),r=Qg(n),i=Eu(t),s=Xg(e,i);if(s==="global")return Mg(r,e,i),r;if(s==="parent"){let a=Jg(n,t,e.__useComponent);return a==null&&(a=r),a}const o=n;let l=o.__getInstance(t);if(l==null){const a=We({},e);"__i18n"in i&&(a.__i18n=i.__i18n),r&&(a.__root=r),l=xu(a),o.__composerExtend&&(l[cs]=o.__composerExtend(l)),e_(o,t,l),o.__setInstance(t,l)}return l}function Gg(e,t,n){const r=uc(),i=r.run(()=>xu(e));if(i==null)throw Ct(yt.UNEXPECTED_ERROR);return[r,i]}function Yg(e){const t=ft(e.isCE?Kg:e.appContext.app.__VUE_I18N_SYMBOL__);if(!t)throw Ct(e.isCE?yt.NOT_INSTALLED_WITH_PROVIDE:yt.UNEXPECTED_ERROR);return t}function Xg(e,t){return _i(e)?"__i18n"in t?"local":"global":e.useScope?e.useScope:"local"}function Qg(e){return e.mode==="composition"?e.global:e.global.__composer}function Jg(e,t,n=!1){let r=null;const i=t.root;let s=Zg(t,n);for(;s!=null;){const o=e;if(e.mode==="composition"&&(r=o.__getInstance(s)),r!=null||i===s)break;s=s.parent}return r}function Zg(e,t=!1){return e==null?null:t&&e.vnode.ctx||e.parent}function e_(e,t,n){br(()=>{},t),Ts(()=>{const r=n;e.__deleteInstance(t);const i=r[cs];i&&(i(),delete r[cs])},t)}const t_=["locale","fallbackLocale","availableLocales"],yl=["t","rt","d","n","tm","te"];function n_(e,t){const n=Object.create(null);return t_.forEach(i=>{const s=Object.getOwnPropertyDescriptor(t,i);if(!s)throw Ct(yt.UNEXPECTED_ERROR);const o=Be(s.value)?{get(){return s.value.value},set(l){s.value.value=l}}:{get(){return s.get&&s.get()}};Object.defineProperty(n,i,o)}),e.config.globalProperties.$i18n=n,yl.forEach(i=>{const s=Object.getOwnPropertyDescriptor(t,i);if(!s||!s.value)throw Ct(yt.UNEXPECTED_ERROR);Object.defineProperty(e.config.globalProperties,`$${i}`,s)}),()=>{delete e.config.globalProperties.$i18n,yl.forEach(i=>{delete e.config.globalProperties[`$${i}`]})}}Pg();cg(Wm);fg(lg);hg(cu);if(__INTLIFY_PROD_DEVTOOLS__){const e=Fs();e.__INTLIFY__=!0,Km(e.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__)}const r_=["href"],Cu=It({__name:"Button",props:{to:{},href:{},rounded:{type:Boolean}},setup(e){const t=e,n=ke(()=>["border-2","hover:border-gray-300","dark:border-gray-400","dark:hover:border-gray-500","p-2","flex","items-center","justify-center","cursor-pointer",t.rounded?"rounded-full":"rounded"]);return(r,i)=>{const s=fi("router-link");return r.to?(je(),on(s,{key:0,class:Ft(n.value),to:r.to},{default:_t(()=>[Rr(r.$slots,"default")]),_:3},8,["class","to"])):r.href?(je(),Vt("a",{key:1,href:r.href,target:"_blank",rel:"noopener noreferrer",class:Ft(n.value)},[Rr(r.$slots,"default")],10,r_)):(je(),Vt("button",{key:2,type:"button",class:Ft(n.value)},[Rr(r.$slots,"default")],2))}}}),i_={class:"m-2 flex flex-col rounded-md p-4 bg-white border-1 border-gray-200 shadow-xl z-20 md:w-104 dark:bg-dark-400 dark:text-gray-300 dark:border-dark-800"},ku=It({__name:"PopupNotice",props:{show:{type:Boolean}},emits:["close"],setup(e){return(t,n)=>t.show?(je(),Vt("div",{key:0,class:"flex fixed top-0 left-0 right-0 bottom-0 bg-gray-900 bg-opacity-80 z-1000 justify-center items-center",onClick:n[0]||(n[0]=r=>t.$emit("close"))},[Pe("div",i_,[Rr(t.$slots,"default")])])):za("",!0)}}),hr="kiel_live",s_={liteMode:lr(`${hr}.lite`,!1),lastLocation:lr(`${hr}.last_location`,{center:[10.1283,54.3166],zoom:14,pitch:0,bearing:0})};function Iu(){return s_}const o_={key:0,class:"flex flex-col text-center gap-4"},l_={class:"text-xl mb-2"},a_=["innerHTML"],u_={class:"flex flex-row w-full justify-center mt-8"},c_=It({__name:"GeneralNotice",setup(e){const{t}=xn(),n=[{id:"kvg-rbl-umzug",title:"⚠️ Einschränkungen bei den Busdaten der KVG",start:new Date("2024-02-20 00:00:00"),end:new Date("2024-02-22 23:59:59"),msg:`Die KVG stellt vom **20. bis zum 22. Februar 2024** ihr rechnergestütztes Betriebsleitsystem (RBL) um, + sodass es teilweise zu Einschränkungen bei den Busdaten kommen kann. [weitere Informationen](https://www.kvg-kiel.de/aktuelles/betriebliches/unser-rechnergestuetztes-betriebsleitsystem-rbl-zieht-um).`}],r=lr(`${hr}.alerts`,[]),i=ke(()=>n.find(l=>{const a=l.start&&l.end?l.start<=new Date&&l.end>=new Date:!0;return!r.value.includes(l.id)&&a}));function s(){i.value&&r.value.push(i.value.id)}const o=ke(()=>i.value?Gp(i.value.msg.trim()):null);return(l,a)=>(je(),on(ku,{show:!!i.value,onClose:s},{default:_t(()=>[i.value?(je(),Vt("div",o_,[Pe("span",l_,gt(i.value.title),1),Pe("span",{class:"prose",innerHTML:o.value},null,8,a_)])):za("",!0),Pe("div",u_,[Ce(Cu,{onClick:s},{default:_t(()=>[Ls(gt(Ne(t)("ok")),1)]),_:1})])]),_:1},8,["show"]))}}),f_={viewBox:"0 0 24 24",width:"1.2em",height:"1.2em"};function h_(e,t){return je(),Vt("svg",f_,t[0]||(t[0]=[Pe("path",{fill:"currentColor",d:"M19.14 12.94c.04-.3.06-.61.06-.94c0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.49.49 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6s3.6 1.62 3.6 3.6s-1.62 3.6-3.6 3.6"},null,-1)]))}const d_=gr({name:"ic-baseline-settings",render:h_}),p_={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function m_(e,t){return je(),Vt("svg",p_,t[0]||(t[0]=[Pe("path",{fill:"currentColor",d:"m234.29 114.85l-45 38.83L203 211.75a16.4 16.4 0 0 1-24.5 17.82L128 198.49l-50.53 31.08A16.4 16.4 0 0 1 53 211.75l13.76-58.07l-45-38.83A16.46 16.46 0 0 1 31.08 86l59-4.76l22.76-55.08a16.36 16.36 0 0 1 30.27 0l22.75 55.08l59 4.76a16.46 16.46 0 0 1 9.37 28.86Z"},null,-1)]))}const g_=gr({name:"ph-star-fill",render:m_}),__={viewBox:"0 0 32 32",width:"1.2em",height:"1.2em"};function b_(e,t){return je(),Vt("svg",__,t[0]||(t[0]=[Pe("path",{fill:"currentColor",d:"m16 24l-6.09-8.6A8.14 8.14 0 0 1 16 2a8.08 8.08 0 0 1 8 8.13a8.2 8.2 0 0 1-1.8 5.13Zm0-20a6.07 6.07 0 0 0-6 6.13a6.2 6.2 0 0 0 1.49 4L16 20.52L20.63 14A6.24 6.24 0 0 0 22 10.13A6.07 6.07 0 0 0 16 4"},null,-1),Pe("circle",{cx:"16",cy:"9",r:"2",fill:"currentColor"},null,-1),Pe("path",{fill:"currentColor",d:"M28 12h-2v2h2v14H4V14h2v-2H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V14a2 2 0 0 0-2-2"},null,-1)]))}const y_=gr({name:"carbon-map",render:b_}),v_={viewBox:"0 0 256 256",width:"1.2em",height:"1.2em"};function E_(e,t){return je(),Vt("svg",v_,t[0]||(t[0]=[Pe("path",{fill:"currentColor",d:"M232.49 215.51L185 168a92.12 92.12 0 1 0-17 17l47.53 47.54a12 12 0 0 0 17-17ZM44 112a68 68 0 1 1 68 68a68.07 68.07 0 0 1-68-68"},null,-1)]))}const x_=gr({name:"ph-magnifying-glass-bold",render:E_});/*! + * vue-router v4.5.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const kn=typeof document<"u";function Tu(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function S_(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&Tu(e.default)}const xe=Object.assign;function $i(e,t){const n={};for(const r in t){const i=t[r];n[r]=kt(i)?i.map(e):e(i)}return n}const Zn=()=>{},kt=Array.isArray,Ou=/#/g,w_=/&/g,C_=/\//g,k_=/=/g,I_=/\?/g,Lu=/\+/g,T_=/%5B/g,O_=/%5D/g,Au=/%5E/g,L_=/%60/g,Pu=/%7B/g,A_=/%7C/g,Ru=/%7D/g,P_=/%20/g;function js(e){return encodeURI(""+e).replace(A_,"|").replace(T_,"[").replace(O_,"]")}function R_(e){return js(e).replace(Pu,"{").replace(Ru,"}").replace(Au,"^")}function fs(e){return js(e).replace(Lu,"%2B").replace(P_,"+").replace(Ou,"%23").replace(w_,"%26").replace(L_,"`").replace(Pu,"{").replace(Ru,"}").replace(Au,"^")}function N_(e){return fs(e).replace(k_,"%3D")}function M_(e){return js(e).replace(Ou,"%23").replace(I_,"%3F")}function F_(e){return e==null?"":M_(e).replace(C_,"%2F")}function dr(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const D_=/\/$/,$_=e=>e.replace(D_,"");function Vi(e,t,n="/"){let r,i={},s="",o="";const l=t.indexOf("#");let a=t.indexOf("?");return l=0&&(a=-1),a>-1&&(r=t.slice(0,a),s=t.slice(a+1,l>-1?l:t.length),i=e(s)),l>-1&&(r=r||t.slice(0,l),o=t.slice(l,t.length)),r=H_(r??t,n),{fullPath:r+(s&&"?")+s+o,path:r,query:i,hash:dr(o)}}function V_(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function vl(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function U_(e,t,n){const r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&Dn(t.matched[r],n.matched[i])&&Nu(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function Dn(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Nu(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const n in e)if(!B_(e[n],t[n]))return!1;return!0}function B_(e,t){return kt(e)?El(e,t):kt(t)?El(t,e):e===t}function El(e,t){return kt(t)?e.length===t.length&&e.every((n,r)=>n===t[r]):e.length===1&&e[0]===t}function H_(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),r=e.split("/"),i=r[r.length-1];(i===".."||i===".")&&r.push("");let s=n.length-1,o,l;for(o=0;o1&&s--;else break;return n.slice(0,s).join("/")+"/"+r.slice(o).join("/")}const Zt={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var pr;(function(e){e.pop="pop",e.push="push"})(pr||(pr={}));var er;(function(e){e.back="back",e.forward="forward",e.unknown=""})(er||(er={}));function z_(e){if(!e)if(kn){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),$_(e)}const j_=/^[^#]+#/;function W_(e,t){return e.replace(j_,"#")+t}function K_(e,t){const n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}const vi=()=>({left:window.scrollX,top:window.scrollY});function q_(e){let t;if("el"in e){const n=e.el,r=typeof n=="string"&&n.startsWith("#"),i=typeof n=="string"?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=K_(i,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function xl(e,t){return(history.state?history.state.position-t:-1)+e}const hs=new Map;function G_(e,t){hs.set(e,t)}function Y_(e){const t=hs.get(e);return hs.delete(e),t}let X_=()=>location.protocol+"//"+location.host;function Mu(e,t){const{pathname:n,search:r,hash:i}=t,s=e.indexOf("#");if(s>-1){let l=i.includes(e.slice(s))?e.slice(s).length:1,a=i.slice(l);return a[0]!=="/"&&(a="/"+a),vl(a,"")}return vl(n,e)+r+i}function Q_(e,t,n,r){let i=[],s=[],o=null;const l=({state:d})=>{const h=Mu(e,location),C=n.value,T=t.value;let A=0;if(d){if(n.value=h,t.value=d,o&&o===C){o=null;return}A=T?d.position-T.position:0}else r(h);i.forEach(g=>{g(n.value,C,{delta:A,type:pr.pop,direction:A?A>0?er.forward:er.back:er.unknown})})};function a(){o=n.value}function u(d){i.push(d);const h=()=>{const C=i.indexOf(d);C>-1&&i.splice(C,1)};return s.push(h),h}function f(){const{history:d}=window;d.state&&d.replaceState(xe({},d.state,{scroll:vi()}),"")}function c(){for(const d of s)d();s=[],window.removeEventListener("popstate",l),window.removeEventListener("beforeunload",f)}return window.addEventListener("popstate",l),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:a,listen:u,destroy:c}}function Sl(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?vi():null}}function J_(e){const{history:t,location:n}=window,r={value:Mu(e,n)},i={value:t.state};i.value||s(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function s(a,u,f){const c=e.indexOf("#"),d=c>-1?(n.host&&document.querySelector("base")?e:e.slice(c))+a:X_()+e+a;try{t[f?"replaceState":"pushState"](u,"",d),i.value=u}catch(h){console.error(h),n[f?"replace":"assign"](d)}}function o(a,u){const f=xe({},t.state,Sl(i.value.back,a,i.value.forward,!0),u,{position:i.value.position});s(a,f,!0),r.value=a}function l(a,u){const f=xe({},i.value,t.state,{forward:a,scroll:vi()});s(f.current,f,!0);const c=xe({},Sl(r.value,a,null),{position:f.position+1},u);s(a,c,!1),r.value=a}return{location:r,state:i,push:l,replace:o}}function Z_(e){e=z_(e);const t=J_(e),n=Q_(e,t.state,t.location,t.replace);function r(s,o=!0){o||n.pauseListeners(),history.go(s)}const i=xe({location:"",base:e,go:r,createHref:W_.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}function eb(e){return typeof e=="string"||e&&typeof e=="object"}function Fu(e){return typeof e=="string"||typeof e=="symbol"}const Du=Symbol("");var wl;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(wl||(wl={}));function $n(e,t){return xe(new Error,{type:e,[Du]:!0},t)}function jt(e,t){return e instanceof Error&&Du in e&&(t==null||!!(e.type&t))}const Cl="[^/]+?",tb={sensitive:!1,strict:!1,start:!0,end:!0},nb=/[.+*?^${}()[\]/\\]/g;function rb(e,t){const n=xe({},tb,t),r=[];let i=n.start?"^":"";const s=[];for(const u of e){const f=u.length?[]:[90];n.strict&&!u.length&&(i+="/");for(let c=0;ct.length?t.length===1&&t[0]===80?1:-1:0}function $u(e,t){let n=0;const r=e.score,i=t.score;for(;n0&&t[t.length-1]<0}const sb={type:0,value:""},ob=/[a-zA-Z0-9_]/;function lb(e){if(!e)return[[]];if(e==="/")return[[sb]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(h){throw new Error(`ERR (${n})/"${u}": ${h}`)}let n=0,r=n;const i=[];let s;function o(){s&&i.push(s),s=[]}let l=0,a,u="",f="";function c(){u&&(n===0?s.push({type:0,value:u}):n===1||n===2||n===3?(s.length>1&&(a==="*"||a==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),s.push({type:1,value:u,regexp:f,repeatable:a==="*"||a==="+",optional:a==="*"||a==="?"})):t("Invalid state to consume buffer"),u="")}function d(){u+=a}for(;l{o(k)}:Zn}function o(c){if(Fu(c)){const d=r.get(c);d&&(r.delete(c),n.splice(n.indexOf(d),1),d.children.forEach(o),d.alias.forEach(o))}else{const d=n.indexOf(c);d>-1&&(n.splice(d,1),c.record.name&&r.delete(c.record.name),c.children.forEach(o),c.alias.forEach(o))}}function l(){return n}function a(c){const d=hb(c,n);n.splice(d,0,c),c.record.name&&!Ol(c)&&r.set(c.record.name,c)}function u(c,d){let h,C={},T,A;if("name"in c&&c.name){if(h=r.get(c.name),!h)throw $n(1,{location:c});A=h.record.name,C=xe(Il(d.params,h.keys.filter(k=>!k.optional).concat(h.parent?h.parent.keys.filter(k=>k.optional):[]).map(k=>k.name)),c.params&&Il(c.params,h.keys.map(k=>k.name))),T=h.stringify(C)}else if(c.path!=null)T=c.path,h=n.find(k=>k.re.test(T)),h&&(C=h.parse(T),A=h.record.name);else{if(h=d.name?r.get(d.name):n.find(k=>k.re.test(d.path)),!h)throw $n(1,{location:c,currentLocation:d});A=h.record.name,C=xe({},d.params,c.params),T=h.stringify(C)}const g=[];let E=h;for(;E;)g.unshift(E.record),E=E.parent;return{name:A,path:T,params:C,matched:g,meta:fb(g)}}e.forEach(c=>s(c));function f(){n.length=0,r.clear()}return{addRoute:s,resolve:u,removeRoute:o,clearRoutes:f,getRoutes:l,getRecordMatcher:i}}function Il(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Tl(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:cb(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function cb(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const r in e.components)t[r]=typeof n=="object"?n[r]:n;return t}function Ol(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function fb(e){return e.reduce((t,n)=>xe(t,n.meta),{})}function Ll(e,t){const n={};for(const r in e)n[r]=r in t?t[r]:e[r];return n}function hb(e,t){let n=0,r=t.length;for(;n!==r;){const s=n+r>>1;$u(e,t[s])<0?r=s:n=s+1}const i=db(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function db(e){let t=e;for(;t=t.parent;)if(Vu(t)&&$u(e,t)===0)return t}function Vu({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function pb(e){const t={};if(e===""||e==="?")return t;const r=(e[0]==="?"?e.slice(1):e).split("&");for(let i=0;is&&fs(s)):[r&&fs(r)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function mb(e){const t={};for(const n in e){const r=e[n];r!==void 0&&(t[n]=kt(r)?r.map(i=>i==null?null:""+i):r==null?r:""+r)}return t}const gb=Symbol(""),Pl=Symbol(""),Ei=Symbol(""),Ws=Symbol(""),ds=Symbol("");function Wn(){let e=[];function t(r){return e.push(r),()=>{const i=e.indexOf(r);i>-1&&e.splice(i,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function nn(e,t,n,r,i,s=o=>o()){const o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((l,a)=>{const u=d=>{d===!1?a($n(4,{from:n,to:t})):d instanceof Error?a(d):eb(d)?a($n(2,{from:t,to:d})):(o&&r.enterCallbacks[i]===o&&typeof d=="function"&&o.push(d),l())},f=s(()=>e.call(r&&r.instances[i],t,n,u));let c=Promise.resolve(f);e.length<3&&(c=c.then(u)),c.catch(d=>a(d))})}function Ui(e,t,n,r,i=s=>s()){const s=[];for(const o of e)for(const l in o.components){let a=o.components[l];if(!(t!=="beforeRouteEnter"&&!o.instances[l]))if(Tu(a)){const f=(a.__vccOpts||a)[t];f&&s.push(nn(f,n,r,o,l,i))}else{let u=a();s.push(()=>u.then(f=>{if(!f)throw new Error(`Couldn't resolve component "${l}" at "${o.path}"`);const c=S_(f)?f.default:f;o.mods[l]=f,o.components[l]=c;const h=(c.__vccOpts||c)[t];return h&&nn(h,n,r,o,l,i)()}))}}return s}function Rl(e){const t=ft(Ei),n=ft(Ws),r=ke(()=>{const a=Ne(e.to);return t.resolve(a)}),i=ke(()=>{const{matched:a}=r.value,{length:u}=a,f=a[u-1],c=n.matched;if(!f||!c.length)return-1;const d=c.findIndex(Dn.bind(null,f));if(d>-1)return d;const h=Nl(a[u-2]);return u>1&&Nl(f)===h&&c[c.length-1].path!==h?c.findIndex(Dn.bind(null,a[u-2])):d}),s=ke(()=>i.value>-1&&Eb(n.params,r.value.params)),o=ke(()=>i.value>-1&&i.value===n.matched.length-1&&Nu(n.params,r.value.params));function l(a={}){if(vb(a)){const u=t[Ne(e.replace)?"replace":"push"](Ne(e.to)).catch(Zn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>u),u}return Promise.resolve()}return{route:r,href:ke(()=>r.value.href),isActive:s,isExactActive:o,navigate:l}}function _b(e){return e.length===1?e[0]:e}const bb=It({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Rl,setup(e,{slots:t}){const n=li(Rl(e)),{options:r}=ft(Ei),i=ke(()=>({[Ml(e.activeClass,r.linkActiveClass,"router-link-active")]:n.isActive,[Ml(e.exactActiveClass,r.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const s=t.default&&_b(t.default(n));return e.custom?s:mi("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:i.value},s)}}}),yb=bb;function vb(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Eb(e,t){for(const n in t){const r=t[n],i=e[n];if(typeof r=="string"){if(r!==i)return!1}else if(!kt(i)||i.length!==r.length||r.some((s,o)=>s!==i[o]))return!1}return!0}function Nl(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ml=(e,t,n)=>e??t??n,xb=It({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const r=ft(ds),i=ke(()=>e.route||r.value),s=ft(Pl,0),o=ke(()=>{let u=Ne(s);const{matched:f}=i.value;let c;for(;(c=f[u])&&!c.components;)u++;return u}),l=ke(()=>i.value.matched[o.value]);Nr(Pl,ke(()=>o.value+1)),Nr(gb,l),Nr(ds,i);const a=wt();return ot(()=>[a.value,l.value,e.name],([u,f,c],[d,h,C])=>{f&&(f.instances[c]=u,h&&h!==f&&u&&u===d&&(f.leaveGuards.size||(f.leaveGuards=h.leaveGuards),f.updateGuards.size||(f.updateGuards=h.updateGuards))),u&&f&&(!h||!Dn(f,h)||!d)&&(f.enterCallbacks[c]||[]).forEach(T=>T(u))},{flush:"post"}),()=>{const u=i.value,f=e.name,c=l.value,d=c&&c.components[f];if(!d)return Fl(n.default,{Component:d,route:u});const h=c.props[f],C=h?h===!0?u.params:typeof h=="function"?h(u):h:null,A=mi(d,xe({},C,t,{onVnodeUnmounted:g=>{g.component.isUnmounted&&(c.instances[f]=null)},ref:a}));return Fl(n.default,{Component:A,route:u})||A}}});function Fl(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Sb=xb;function wb(e){const t=ub(e.routes,e),n=e.parseQuery||pb,r=e.stringifyQuery||Al,i=e.history,s=Wn(),o=Wn(),l=Wn(),a=Cs(Zt);let u=Zt;kn&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const f=$i.bind(null,P=>""+P),c=$i.bind(null,F_),d=$i.bind(null,dr);function h(P,U){let H,W;return Fu(P)?(H=t.getRecordMatcher(P),W=U):W=P,t.addRoute(W,H)}function C(P){const U=t.getRecordMatcher(P);U&&t.removeRoute(U)}function T(){return t.getRoutes().map(P=>P.record)}function A(P){return!!t.getRecordMatcher(P)}function g(P,U){if(U=xe({},U||a.value),typeof P=="string"){const w=Vi(n,P,U.path),D=t.resolve({path:w.path},U),V=i.createHref(w.fullPath);return xe(w,D,{params:d(D.params),hash:dr(w.hash),redirectedFrom:void 0,href:V})}let H;if(P.path!=null)H=xe({},P,{path:Vi(n,P.path,U.path).path});else{const w=xe({},P.params);for(const D in w)w[D]==null&&delete w[D];H=xe({},P,{params:c(w)}),U.params=c(U.params)}const W=t.resolve(H,U),te=P.hash||"";W.params=f(d(W.params));const b=V_(r,xe({},P,{hash:R_(te),path:W.path})),v=i.createHref(b);return xe({fullPath:b,hash:te,query:r===Al?mb(P.query):P.query||{}},W,{redirectedFrom:void 0,href:v})}function E(P){return typeof P=="string"?Vi(n,P,a.value.path):xe({},P)}function k(P,U){if(u!==P)return $n(8,{from:U,to:P})}function x(P){return N(P)}function M(P){return x(xe(E(P),{replace:!0}))}function I(P){const U=P.matched[P.matched.length-1];if(U&&U.redirect){const{redirect:H}=U;let W=typeof H=="function"?H(P):H;return typeof W=="string"&&(W=W.includes("?")||W.includes("#")?W=E(W):{path:W},W.params={}),xe({query:P.query,hash:P.hash,params:W.path!=null?{}:P.params},W)}}function N(P,U){const H=u=g(P),W=a.value,te=P.state,b=P.force,v=P.replace===!0,w=I(H);if(w)return N(xe(E(w),{state:typeof w=="object"?xe({},te,w.state):te,force:b,replace:v}),U||H);const D=H;D.redirectedFrom=U;let V;return!b&&U_(r,W,H)&&(V=$n(16,{to:D,from:W}),S(W,W,!0,!1)),(V?Promise.resolve(V):G(D,W)).catch($=>jt($)?jt($,2)?$:p($):ue($,D,W)).then($=>{if($){if(jt($,2))return N(xe({replace:v},E($.to),{state:typeof $.to=="object"?xe({},te,$.to.state):te,force:b}),U||D)}else $=z(D,W,!0,v,te);return j(D,W,$),$})}function J(P,U){const H=k(P,U);return H?Promise.reject(H):Promise.resolve()}function ne(P){const U=ee.values().next().value;return U&&typeof U.runWithContext=="function"?U.runWithContext(P):P()}function G(P,U){let H;const[W,te,b]=Cb(P,U);H=Ui(W.reverse(),"beforeRouteLeave",P,U);for(const w of W)w.leaveGuards.forEach(D=>{H.push(nn(D,P,U))});const v=J.bind(null,P,U);return H.push(v),X(H).then(()=>{H=[];for(const w of s.list())H.push(nn(w,P,U));return H.push(v),X(H)}).then(()=>{H=Ui(te,"beforeRouteUpdate",P,U);for(const w of te)w.updateGuards.forEach(D=>{H.push(nn(D,P,U))});return H.push(v),X(H)}).then(()=>{H=[];for(const w of b)if(w.beforeEnter)if(kt(w.beforeEnter))for(const D of w.beforeEnter)H.push(nn(D,P,U));else H.push(nn(w.beforeEnter,P,U));return H.push(v),X(H)}).then(()=>(P.matched.forEach(w=>w.enterCallbacks={}),H=Ui(b,"beforeRouteEnter",P,U,ne),H.push(v),X(H))).then(()=>{H=[];for(const w of o.list())H.push(nn(w,P,U));return H.push(v),X(H)}).catch(w=>jt(w,8)?w:Promise.reject(w))}function j(P,U,H){l.list().forEach(W=>ne(()=>W(P,U,H)))}function z(P,U,H,W,te){const b=k(P,U);if(b)return b;const v=U===Zt,w=kn?history.state:{};H&&(W||v?i.replace(P.fullPath,xe({scroll:v&&w&&w.scroll},te)):i.push(P.fullPath,te)),a.value=P,S(P,U,H,v),p()}let le;function me(){le||(le=i.listen((P,U,H)=>{if(!se.listening)return;const W=g(P),te=I(W);if(te){N(xe(te,{replace:!0,force:!0}),W).catch(Zn);return}u=W;const b=a.value;kn&&G_(xl(b.fullPath,H.delta),vi()),G(W,b).catch(v=>jt(v,12)?v:jt(v,2)?(N(xe(E(v.to),{force:!0}),W).then(w=>{jt(w,20)&&!H.delta&&H.type===pr.pop&&i.go(-1,!1)}).catch(Zn),Promise.reject()):(H.delta&&i.go(-H.delta,!1),ue(v,W,b))).then(v=>{v=v||z(W,b,!1),v&&(H.delta&&!jt(v,8)?i.go(-H.delta,!1):H.type===pr.pop&&jt(v,20)&&i.go(-1,!1)),j(W,b,v)}).catch(Zn)}))}let ae=Wn(),de=Wn(),oe;function ue(P,U,H){p(P);const W=de.list();return W.length?W.forEach(te=>te(P,U,H)):console.error(P),Promise.reject(P)}function _e(){return oe&&a.value!==Zt?Promise.resolve():new Promise((P,U)=>{ae.add([P,U])})}function p(P){return oe||(oe=!P,me(),ae.list().forEach(([U,H])=>P?H(P):U()),ae.reset()),P}function S(P,U,H,W){const{scrollBehavior:te}=e;if(!kn||!te)return Promise.resolve();const b=!H&&Y_(xl(P.fullPath,0))||(W||!H)&&history.state&&history.state.scroll||null;return Vn().then(()=>te(P,U,b)).then(v=>v&&q_(v)).catch(v=>ue(v,P,U))}const q=P=>i.go(P);let y;const ee=new Set,se={currentRoute:a,listening:!0,addRoute:h,removeRoute:C,clearRoutes:t.clearRoutes,hasRoute:A,getRoutes:T,resolve:g,options:e,push:x,replace:M,go:q,back:()=>q(-1),forward:()=>q(1),beforeEach:s.add,beforeResolve:o.add,afterEach:l.add,onError:de.add,isReady:_e,install(P){const U=this;P.component("RouterLink",yb),P.component("RouterView",Sb),P.config.globalProperties.$router=U,Object.defineProperty(P.config.globalProperties,"$route",{enumerable:!0,get:()=>Ne(a)}),kn&&!y&&a.value===Zt&&(y=!0,x(i.location).catch(te=>{}));const H={};for(const te in Zt)Object.defineProperty(H,te,{get:()=>a.value[te],enumerable:!0});P.provide(Ei,U),P.provide(Ws,ua(H)),P.provide(ds,a);const W=P.unmount;ee.add(P),P.unmount=function(){ee.delete(P),ee.size<1&&(u=Zt,le&&le(),le=null,a.value=Zt,y=!1,oe=!1),W()}}};function X(P){return P.reduce((U,H)=>U.then(()=>ne(H)),Promise.resolve())}return se}function Cb(e,t){const n=[],r=[],i=[],s=Math.max(t.matched.length,e.matched.length);for(let o=0;oDn(u,l))?r.push(l):n.push(l));const a=e.matched[o];a&&(t.matched.find(u=>Dn(u,a))||i.push(a))}return[n,r,i]}function u0(){return ft(Ei)}function kb(e){return ft(Ws)}const Ib={class:"flex w-full justify-center border-t-1 border-gray-200 dark:border-gray-800 dark:bg-dark-400 dark:text-gray-300 shadow-top"},Tb={class:"flex w-full justify-around max-w-96"},Ob={class:"mt-auto text-xs"},Lb={class:"mt-auto text-xs"},Ab={class:"mt-auto text-xs"},Pb={class:"mt-auto text-xs"},Rb=It({__name:"AppBarBottom",setup(e){const{t}=xn(),{liteMode:n}=Iu(),r=kb(),i=ke(()=>r.name==="favorites"?"favorites":r.meta.settings?"settings":"map");return(s,o)=>{const l=x_,a=fi("router-link"),u=y_,f=g_,c=d_;return je(),Vt("nav",Ib,[Pe("div",Tb,[Ne(n)?(je(),on(a,{key:0,to:{name:"search"},class:Ft(["flex flex-col items-center w-1/3 p-2",{"text-red-700 dark:text-red-500":i.value==="map"}]),"aria-label":Ne(t)("search")},{default:_t(()=>[Ce(l,{class:"w-6 h-6 mb-1"}),Pe("span",Ob,gt(Ne(t)("search")),1)]),_:1},8,["class","aria-label"])):(je(),on(a,{key:1,to:{name:"home"},class:Ft(["flex flex-col items-center w-1/3 p-2",{"text-red-700 dark:text-red-500":i.value==="map"}]),"aria-label":Ne(t)("map")},{default:_t(()=>[Ce(u,{class:"w-6 h-6 mb-1"}),Pe("span",Lb,gt(Ne(t)("map")),1)]),_:1},8,["class","aria-label"])),Ce(a,{to:{name:"favorites"},class:Ft(["flex flex-col items-center w-1/3 p-2",{"text-red-700 dark:text-red-500":i.value==="favorites"}]),"aria-label":Ne(t)("favorites")},{default:_t(()=>[Ce(f,{class:"w-6 h-6 mb-1"}),Pe("span",Ab,gt(Ne(t)("favorites")),1)]),_:1},8,["class","aria-label"]),Ce(a,{to:{name:"settings-about"},class:Ft(["flex flex-col items-center w-1/3 p-2",{"text-red-700 dark:text-red-500":i.value==="settings"}]),"aria-label":Ne(t)("settings")},{default:_t(()=>[Ce(c,{class:"w-6 h-6 mb-1"}),Pe("span",Pb,gt(Ne(t)("settings")),1)]),_:1},8,["class","aria-label"])])])}}});var Ks={};(function e(t,n,r,i){var s=!!(t.Worker&&t.Blob&&t.Promise&&t.OffscreenCanvas&&t.OffscreenCanvasRenderingContext2D&&t.HTMLCanvasElement&&t.HTMLCanvasElement.prototype.transferControlToOffscreen&&t.URL&&t.URL.createObjectURL),o=typeof Path2D=="function"&&typeof DOMMatrix=="function",l=function(){if(!t.OffscreenCanvas)return!1;var p=new OffscreenCanvas(1,1),S=p.getContext("2d");S.fillRect(0,0,1,1);var q=p.transferToImageBitmap();try{S.createPattern(q,"no-repeat")}catch{return!1}return!0}();function a(){}function u(p){var S=n.exports.Promise,q=S!==void 0?S:t.Promise;return typeof q=="function"?new q(p):(p(a,a),null)}var f=function(p,S){return{transform:function(q){if(p)return q;if(S.has(q))return S.get(q);var y=new OffscreenCanvas(q.width,q.height),ee=y.getContext("2d");return ee.drawImage(q,0,0),S.set(q,y),y},clear:function(){S.clear()}}}(l,new Map),c=function(){var p=Math.floor(16.666666666666668),S,q,y={},ee=0;return typeof requestAnimationFrame=="function"&&typeof cancelAnimationFrame=="function"?(S=function(se){var X=Math.random();return y[X]=requestAnimationFrame(function P(U){ee===U||ee+p-1t.value!==null&&t.value!==$l),{t:r}=xn();br(async()=>{const s=localStorage.getItem("version");s!==null&&(t.value=s,localStorage.removeItem("version"))}),ot(n,()=>{if(!n.value)return;const s=3*1e3,o=Date.now()+s,l=setInterval(()=>{if(o-Date.now()<=0){clearInterval(l);return}Nb({particleCount:100,spread:70,origin:{y:1.1},startVelocity:90,zIndex:2e3})},250)},{immediate:!0});function i(){t.value=$l}return(s,o)=>{const l=fi("i18n-t");return je(),on(ku,{show:n.value,onClose:i},{default:_t(()=>[Pe("div",Mb,[Pe("span",Fb,gt(Ne(r)("update_title")),1),Pe("span",null,gt(Ne(r)("update_msg")),1),Ce(l,{keypath:"feedback",tag:"span"},{email:_t(()=>[Pe("a",{href:`mailto:${Ne(Dl)}`,class:"underline"},gt(Ne(Dl)),9,Db)]),instagram:_t(()=>[Pe("a",$b,gt(Ne(r)("instagram")),1)]),_:1})]),Pe("div",Vb,[Ce(Cu,{onClick:i},{default:_t(()=>[Ls(gt(Ne(r)("nice")),1)]),_:1})])]),_:1},8,["show"])}}}),Bb=e=>zh({storageKey:`${hr}.theme`,...e}),Hb={class:"app flex flex-col m-auto w-full h-full bg-white text-black dark:bg-dark-400 dark:text-gray-300"},zb={class:"flex flex-grow min-h-0"},jb=It({__name:"App",setup(e){Bb();const{locale:t}=xn();return ot(t,()=>{document.documentElement.setAttribute("lang",t.value)},{immediate:!0}),(n,r)=>{const i=fi("router-view"),s=c_;return je(),Vt("div",Hb,[Pe("main",zb,[Ce(i)]),Ce(Rb,{class:"mt-auto flex-shrink-0"}),Ce(Ub),Ce(s)])}}}),Wb=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n},Kb=Wb(jb,[["__scopeId","data-v-28f57479"]]),qb="modulepreload",Gb=function(e){return"/"+e},Vl={},pt=function(t,n,r){let i=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.allSettled(n.map(a=>{if(a=Gb(a),a in Vl)return;Vl[a]=!0;const u=a.endsWith(".css"),f=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${f}`))return;const c=document.createElement("link");if(c.rel=u?"stylesheet":qb,u||(c.as="script"),c.crossOrigin="",c.href=a,l&&c.setAttribute("nonce",l),document.head.appendChild(c),u)return new Promise((d,h)=>{c.addEventListener("load",d),c.addEventListener("error",()=>h(new Error(`Unable to preload CSS for ${a}`)))})}))}function s(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return i.then(o=>{for(const l of o||[])l.status==="rejected"&&s(l.reason);return t().catch(s)})},Yb=(e,t,n)=>{const r=e[t];return r?typeof r=="function"?r():Promise.resolve(r):new Promise((i,s)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(s.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==n?". Note that variables only represent file names one level deep.":""))))})};function Xb(){return navigator.language.split("-")[0]}const Bu=Xb(),Hu=qg({legacy:!1,locale:Bu}),Qb=async e=>{const{default:t}=await Yb(Object.assign({"./locales/de.json":()=>pt(()=>import("./de-fj2SYzel.js"),[]),"./locales/en.json":()=>pt(()=>import("./en-B7kxybUu.js"),[])}),`./locales/${e}.json`,3);return Hu.global.setLocaleMessage(e,t),Vn()};Qb(Bu);let Bi=!0;const Jb=[{path:"/",name:"home",component:()=>pt(()=>import("./Home-NgBe9E8J.js"),__vite__mapDeps([0,1,2,3,4]))},{path:"/map/:markerType/:markerId",name:"map-marker",component:()=>pt(()=>import("./Home-NgBe9E8J.js"),__vite__mapDeps([0,1,2,3,4])),props:!0},{path:"/search",name:"search",component:()=>pt(()=>import("./Home-NgBe9E8J.js"),__vite__mapDeps([0,1,2,3,4]))},{path:"/favorites",name:"favorites",component:()=>pt(()=>import("./Home-NgBe9E8J.js"),__vite__mapDeps([0,1,2,3,4]))},{path:"/settings/about",name:"settings-about",component:()=>pt(()=>import("./About-DBQpOReH.js"),__vite__mapDeps([5,1,6,2])),meta:{settings:!0}},{path:"/settings/changelog",name:"settings-changelog",component:()=>pt(()=>import("./Changelog-bM6ddPWi.js"),__vite__mapDeps([7,6])),meta:{settings:!0}},{path:"/settings/settings",name:"settings-settings",component:()=>pt(()=>import("./Settings-DRSySDza.js"),__vite__mapDeps([8,9,6,2])),meta:{settings:!0}},{path:"/settings/contact",name:"settings-contact",component:()=>pt(()=>import("./Contact-4hCDClDF.js"),__vite__mapDeps([10,1,6,2])),meta:{settings:!0}},{path:"/contact",name:"contact",redirect:{name:"settings-contact"}},{path:"/dev",name:"dev",component:()=>pt(()=>import("./Development-B5zGRVOi.js"),__vite__mapDeps([11,9,6,3,2])),meta:{settings:!0}},{path:"/:pathMatch(.*)*",name:"not-found",component:()=>pt(()=>import("./NotFound-Dn0X_rhl.js"),[])}],zu=wb({history:Z_(),routes:Jb}),{liteMode:Zb}=Iu();zu.beforeEach((e,t,n)=>{if(e.name==="home"&&(Bi||Zb.value)){Bi=!1,n({name:"favorites"});return}Bi=!1,n()});const qs=vh(Kb);qs.use(zu);qs.use(Hu);qs.mount("#app");export{u0 as A,fi as B,Bb as C,a0 as D,br as E,h0 as F,d0 as G,Jc as H,Iu as I,st as J,t0 as K,g_ as L,n0 as M,Ls as N,Gp as O,Ts as P,x_ as Q,f0 as R,c0 as S,s0 as T,Be as U,lr as V,hr as W,i0 as X,o0 as Y,Dl as Z,Wb as _,Vt as a,Pe as b,ke as c,It as d,za as e,Rr as f,bs as g,pt as h,ot as i,p0 as j,Ce as k,_t as l,gr as m,Ft as n,je as o,Ne as p,l0 as q,wt as r,gt as s,Mc as t,xn as u,r0 as v,e0 as w,on as x,Cu as y,kb as z}; +//# sourceMappingURL=index-KiWmxDDy.js.map diff --git a/assets/index-KiWmxDDy.js.map b/assets/index-KiWmxDDy.js.map new file mode 100644 index 0000000..1c8e38b --- /dev/null +++ b/assets/index-KiWmxDDy.js.map @@ -0,0 +1 @@ +{"version":3,"mappings":";ssBAAA;AAAA;AAAA;AAAA;AAAA,GAKA,2BAEA,SAASA,GAAQC,EAAK,CACd,MAAAC,EAA6B,cAAO,IAAI,EAC9C,UAAWC,KAAOF,EAAI,MAAM,GAAG,EAAGC,EAAIC,CAAG,EAAI,EACtC,OAACC,GAAQA,KAAOF,CACzB,CAEA,MAAMG,GAA4E,CAAC,EAC7EC,GAA4E,CAAC,EAC7EC,GAAO,IAAM,CACnB,EACMC,GAAK,IAAM,GACXC,GAAQN,GAAQA,EAAI,WAAW,CAAC,IAAM,KAAOA,EAAI,WAAW,CAAC,IAAM,MACxEA,EAAI,WAAW,CAAC,EAAI,KAAOA,EAAI,WAAW,CAAC,EAAI,IAC1CO,GAAmBP,GAAQA,EAAI,WAAW,WAAW,EACrDQ,GAAS,OAAO,OAChBC,GAAS,CAACC,EAAKC,IAAO,CACpB,MAAAC,EAAIF,EAAI,QAAQC,CAAE,EACpBC,EAAI,IACFF,EAAA,OAAOE,EAAG,CAAC,CAEnB,EACMC,GAAiB,OAAO,UAAU,eAClCC,GAAS,CAACb,EAAKD,IAAQa,GAAe,KAAKZ,EAAKD,CAAG,EACnDe,GAAU,MAAM,QAChBC,GAASf,GAAQgB,GAAahB,CAAG,IAAM,eACvCiB,GAASjB,GAAQgB,GAAahB,CAAG,IAAM,eACvCkB,GAAUlB,GAAQgB,GAAahB,CAAG,IAAM,gBAExCmB,GAAcnB,GAAQ,OAAOA,GAAQ,WACrCoB,GAAYpB,GAAQ,OAAOA,GAAQ,SACnCqB,GAAYrB,GAAQ,OAAOA,GAAQ,SACnCsB,GAAYtB,GAAQA,IAAQ,MAAQ,OAAOA,GAAQ,SACnDuB,GAAavB,IACTsB,GAAStB,CAAG,GAAKmB,GAAWnB,CAAG,IAAMmB,GAAWnB,EAAI,IAAI,GAAKmB,GAAWnB,EAAI,KAAK,EAErFwB,GAAiB,OAAO,UAAU,SAClCR,GAAgBS,GAAUD,GAAe,KAAKC,CAAK,EACnDC,GAAaD,GACVT,GAAaS,CAAK,EAAE,MAAM,EAAG,EAAE,EAElCE,GAAiB3B,GAAQgB,GAAahB,CAAG,IAAM,kBAC/C4B,GAAgB7B,GAAQqB,GAASrB,CAAG,GAAKA,IAAQ,OAASA,EAAI,CAAC,IAAM,KAAO,GAAK,SAASA,EAAK,EAAE,IAAMA,EACvG8B,GAAiCjC,GAErC,qIACF,EAIMkC,GAAuBC,GAAO,CAC5B,MAAAC,EAA+B,cAAO,IAAI,EAChD,OAAQnC,GACMmC,EAAMnC,CAAG,IACNmC,EAAMnC,CAAG,EAAIkC,EAAGlC,CAAG,EAEtC,EACMoC,GAAa,SACbC,GAAWJ,GACdjC,GACQA,EAAI,QAAQoC,GAAY,CAACE,EAAGC,IAAMA,EAAIA,EAAE,YAAY,EAAI,EAAE,CAErE,EACMC,GAAc,aACdC,GAAYR,GACfjC,GAAQA,EAAI,QAAQwC,GAAa,KAAK,EAAE,YAAY,CACvD,EACME,GAAaT,GAAqBjC,GAC/BA,EAAI,OAAO,CAAC,EAAE,cAAgBA,EAAI,MAAM,CAAC,CACjD,EACK2C,GAAeV,GAClBjC,GACWA,EAAM,KAAK0C,GAAW1C,CAAG,CAAC,GAAK,EAG7C,EACM4C,GAAa,CAAChB,EAAOiB,IAAa,CAAC,OAAO,GAAGjB,EAAOiB,CAAQ,EAC5DC,GAAiB,CAACC,KAAQC,IAAQ,CACtC,QAASlC,EAAI,EAAGA,EAAIiC,EAAI,OAAQjC,IAC1BiC,EAAAjC,CAAC,EAAE,GAAGkC,CAAG,CAEjB,EACMC,GAAM,CAACC,EAAKhD,EAAK0B,EAAOuB,EAAW,KAAU,CAC1C,sBAAeD,EAAKhD,EAAK,CAC9B,aAAc,GACd,WAAY,GACZ,SAAAiD,EACA,MAAAvB,CAAA,CACD,CACH,EACMwB,GAAiBjD,GAAQ,CACvB,MAAAkD,EAAI,WAAWlD,CAAG,EACjB,aAAMkD,CAAC,EAAIlD,EAAMkD,CAC1B,EAKA,IAAIC,GACJ,MAAMC,GAAgB,IACbD,KAAgBA,GAAc,OAAO,WAAe,IAAc,WAAa,OAAO,KAAS,IAAc,KAAO,OAAO,OAAW,IAAc,OAAS,OAAO,OAAW,IAAc,OAAS,IAiJ/M,SAASE,GAAe5B,EAAO,CACzB,GAAAX,GAAQW,CAAK,EAAG,CAClB,MAAM6B,EAAM,CAAC,EACb,QAAS3C,EAAI,EAAGA,EAAIc,EAAM,OAAQd,IAAK,CAC/B,MAAA4C,EAAO9B,EAAMd,CAAC,EACd6C,EAAapC,GAASmC,CAAI,EAAIE,GAAiBF,CAAI,EAAIF,GAAeE,CAAI,EAChF,GAAIC,EACF,UAAWzD,KAAOyD,EACZF,EAAAvD,CAAG,EAAIyD,EAAWzD,CAAG,CAE7B,CAEK,OAAAuD,UACElC,GAASK,CAAK,GAAKH,GAASG,CAAK,EACnC,OAAAA,CAEX,CACA,MAAMiC,GAAkB,gBAClBC,GAAsB,UACtBC,GAAiB,iBACvB,SAASH,GAAiBI,EAAS,CACjC,MAAMC,EAAM,CAAC,EACL,OAAAD,EAAA,QAAQD,GAAgB,EAAE,EAAE,MAAMF,EAAe,EAAE,QAASH,GAAS,CAC3E,GAAIA,EAAM,CACF,MAAAQ,EAAMR,EAAK,MAAMI,EAAmB,EAC1CI,EAAI,OAAS,IAAMD,EAAIC,EAAI,CAAC,EAAE,KAAK,CAAC,EAAIA,EAAI,CAAC,EAAE,KAAK,GACtD,CACD,EACMD,CACT,CAcA,SAASE,GAAevC,EAAO,CAC7B,IAAI6B,EAAM,GACN,GAAAlC,GAASK,CAAK,EACV6B,EAAA7B,UACGX,GAAQW,CAAK,EACtB,QAASd,EAAI,EAAGA,EAAIc,EAAM,OAAQd,IAAK,CACrC,MAAM6C,EAAaQ,GAAevC,EAAMd,CAAC,CAAC,EACtC6C,IACFF,GAAOE,EAAa,IACtB,SAEOlC,GAASG,CAAK,EACvB,UAAWwC,KAAQxC,EACbA,EAAMwC,CAAI,IACZX,GAAOW,EAAO,KAIpB,OAAOX,EAAI,KAAK,CAClB,CAsBA,MAAMY,GAAsB,8EACtBC,MAA+CD,EAAmB,EAIxE,SAASE,GAAmB3C,EAAO,CAC1B,OAAC,CAACA,GAASA,IAAU,EAC9B,CAuFA,SAAS4C,GAAmBC,EAAGC,EAAG,CAChC,GAAID,EAAE,SAAWC,EAAE,OAAe,SAClC,IAAIC,EAAQ,GACZ,QAAS7D,EAAI,EAAG6D,GAAS7D,EAAI2D,EAAE,OAAQ3D,IACrC6D,EAAQC,GAAWH,EAAE3D,CAAC,EAAG4D,EAAE5D,CAAC,CAAC,EAExB,OAAA6D,CACT,CACA,SAASC,GAAWH,EAAGC,EAAG,CACpB,GAAAD,IAAMC,EAAU,SAChB,IAAAG,EAAaxD,GAAOoD,CAAC,EACrBK,EAAazD,GAAOqD,CAAC,EACzB,GAAIG,GAAcC,EAChB,OAAOD,GAAcC,EAAaL,EAAE,YAAcC,EAAE,UAAY,GAIlE,GAFAG,EAAarD,GAASiD,CAAC,EACvBK,EAAatD,GAASkD,CAAC,EACnBG,GAAcC,EAChB,OAAOL,IAAMC,EAIf,GAFAG,EAAa5D,GAAQwD,CAAC,EACtBK,EAAa7D,GAAQyD,CAAC,EAClBG,GAAcC,EAChB,OAAOD,GAAcC,EAAaN,GAAmBC,EAAGC,CAAC,EAAI,GAI/D,GAFAG,EAAapD,GAASgD,CAAC,EACvBK,EAAarD,GAASiD,CAAC,EACnBG,GAAcC,EAAY,CACxB,IAACD,GAAc,CAACC,EACX,SAET,MAAMC,EAAa,OAAO,KAAKN,CAAC,EAAE,OAC5BO,EAAa,OAAO,KAAKN,CAAC,EAAE,OAClC,GAAIK,IAAeC,EACV,SAET,UAAW9E,KAAOuE,EAAG,CACb,MAAAQ,EAAUR,EAAE,eAAevE,CAAG,EAC9BgF,EAAUR,EAAE,eAAexE,CAAG,EACpC,GAAI+E,GAAW,CAACC,GAAW,CAACD,GAAWC,GAAW,CAACN,GAAWH,EAAEvE,CAAG,EAAGwE,EAAExE,CAAG,CAAC,EACnE,QACT,CACF,CAEF,OAAO,OAAOuE,CAAC,IAAM,OAAOC,CAAC,CAC/B,CACA,SAASS,GAAavE,EAAKT,EAAK,CAC9B,OAAOS,EAAI,UAAW8C,GAASkB,GAAWlB,EAAMvD,CAAG,CAAC,CACtD,CAEA,MAAMiF,GAASjF,GACN,CAAC,EAAEA,GAAOA,EAAI,YAAiB,IAElCkF,GAAmBlF,GAChBoB,GAASpB,CAAG,EAAIA,EAAMA,GAAO,KAAO,GAAKc,GAAQd,CAAG,GAAKsB,GAAStB,CAAG,IAAMA,EAAI,WAAawB,IAAkB,CAACL,GAAWnB,EAAI,QAAQ,GAAKiF,GAAMjF,CAAG,EAAIkF,GAAgBlF,EAAI,KAAK,EAAI,KAAK,UAAUA,EAAKmF,GAAU,CAAC,EAAI,OAAOnF,CAAG,EAErOmF,GAAW,CAACC,EAAMpF,IAClBiF,GAAMjF,CAAG,EACJmF,GAASC,EAAMpF,EAAI,KAAK,EACtBe,GAAMf,CAAG,EACX,CACL,CAAC,OAAOA,EAAI,IAAI,GAAG,EAAG,CAAC,GAAGA,EAAI,QAAS,GAAE,OACvC,CAACqF,EAAS,CAACtF,EAAKuF,CAAI,EAAG3E,KACrB0E,EAAQE,GAAgBxF,EAAKY,CAAC,EAAI,KAAK,EAAI2E,EACpCD,GAET,EAAC,CAEL,EACSpE,GAAMjB,CAAG,EACX,CACL,CAAC,OAAOA,EAAI,IAAI,GAAG,EAAG,CAAC,GAAGA,EAAI,QAAQ,EAAE,IAAKwF,GAAMD,GAAgBC,CAAC,CAAC,CACvE,EACSnE,GAASrB,CAAG,EACduF,GAAgBvF,CAAG,EACjBsB,GAAStB,CAAG,GAAK,CAACc,GAAQd,CAAG,GAAK,CAAC2B,GAAc3B,CAAG,EACtD,OAAOA,CAAG,EAEZA,EAEHuF,GAAkB,CAACC,EAAG7E,EAAI,KAAO,CACjC,IAAA8E,EACJ,OAGEpE,GAASmE,CAAC,EAAI,WAAWC,EAAKD,EAAE,cAAgB,KAAOC,EAAK9E,CAAC,IAAM6E,CAEvE,ECpgBA;AAAA;AAAA;AAAA;AAAA,GAWA,IAAIE,GACJ,MAAMC,EAAY,CAChB,YAAYC,EAAW,GAAO,CAC5B,KAAK,SAAWA,EAIhB,KAAK,QAAU,GAIf,KAAK,QAAU,CAAC,EAIhB,KAAK,SAAW,CAAC,EACjB,KAAK,UAAY,GACjB,KAAK,OAASF,GACV,CAACE,GAAYF,KACf,KAAK,OAASA,GAAkB,SAAWA,GAAkB,OAAS,CAAK,SACzE,MACE,EACN,CAEF,IAAI,QAAS,CACX,OAAO,KAAK,QAEd,OAAQ,CACN,GAAI,KAAK,QAAS,CAChB,KAAK,UAAY,GACjB,IAAI/E,EAAGkF,EACP,GAAI,KAAK,OACF,IAAAlF,EAAI,EAAGkF,EAAI,KAAK,OAAO,OAAQlF,EAAIkF,EAAGlF,IACpC,YAAOA,CAAC,EAAE,MAAM,EAGpB,IAAAA,EAAI,EAAGkF,EAAI,KAAK,QAAQ,OAAQlF,EAAIkF,EAAGlF,IACrC,aAAQA,CAAC,EAAE,MAAM,CACxB,CACF,CAKF,QAAS,CACP,GAAI,KAAK,SACH,KAAK,UAAW,CAClB,KAAK,UAAY,GACjB,IAAIA,EAAGkF,EACP,GAAI,KAAK,OACF,IAAAlF,EAAI,EAAGkF,EAAI,KAAK,OAAO,OAAQlF,EAAIkF,EAAGlF,IACpC,YAAOA,CAAC,EAAE,OAAO,EAGrB,IAAAA,EAAI,EAAGkF,EAAI,KAAK,QAAQ,OAAQlF,EAAIkF,EAAGlF,IACrC,aAAQA,CAAC,EAAE,OAAO,CACzB,CAEJ,CAEF,IAAIoB,EAAI,CACN,GAAI,KAAK,QAAS,CAChB,MAAM+D,EAAqBJ,GACvB,IACkB,OAAAA,GAAA,KACb3D,EAAG,SACV,CACoB2D,GAAAI,CAAA,CACtB,CAGF,CAMF,IAAK,CACiBJ,GAAA,KAMtB,KAAM,CACJA,GAAoB,KAAK,OAE3B,KAAKK,EAAY,CACf,GAAI,KAAK,QAAS,CAChB,KAAK,QAAU,GACf,IAAIpF,EAAGkF,EACF,IAAAlF,EAAI,EAAGkF,EAAI,KAAK,QAAQ,OAAQlF,EAAIkF,EAAGlF,IACrC,aAAQA,CAAC,EAAE,KAAK,EAGlB,IADL,KAAK,QAAQ,OAAS,EACjBA,EAAI,EAAGkF,EAAI,KAAK,SAAS,OAAQlF,EAAIkF,EAAGlF,IACtC,cAASA,CAAC,EAAE,EAGnB,GADA,KAAK,SAAS,OAAS,EACnB,KAAK,OAAQ,CACV,IAAAA,EAAI,EAAGkF,EAAI,KAAK,OAAO,OAAQlF,EAAIkF,EAAGlF,IACzC,KAAK,OAAOA,CAAC,EAAE,KAAK,EAAI,EAE1B,KAAK,OAAO,OAAS,EAEvB,GAAI,CAAC,KAAK,UAAY,KAAK,QAAU,CAACoF,EAAY,CAChD,MAAMC,EAAO,KAAK,OAAO,OAAO,IAAI,EAChCA,GAAQA,IAAS,OACnB,KAAK,OAAO,OAAO,KAAK,KAAK,EAAIA,EACjCA,EAAK,MAAQ,KAAK,MACpB,CAEF,KAAK,OAAS,OAChB,CAEJ,CACA,SAASC,GAAYL,EAAU,CACtB,WAAID,GAAYC,CAAQ,CACjC,CACA,SAASM,IAAkB,CAClB,OAAAR,EACT,CACA,SAASS,GAAepE,EAAIqE,EAAe,GAAO,CAC5CV,IACgBA,GAAA,SAAS,KAAK3D,CAAE,CAMtC,CAEA,IAAIsE,GAiBJ,MAAMC,OAAyC,QAC/C,MAAMC,EAAe,CACnB,YAAYxE,EAAI,CACd,KAAK,GAAKA,EAIV,KAAK,KAAO,OAIZ,KAAK,SAAW,OAIhB,KAAK,MAAQ,EAIb,KAAK,KAAO,OAIZ,KAAK,QAAU,OACf,KAAK,UAAY,OACb2D,IAAqBA,GAAkB,QACvBA,GAAA,QAAQ,KAAK,IAAI,CACrC,CAEF,OAAQ,CACN,KAAK,OAAS,GAEhB,QAAS,CACH,KAAK,MAAQ,KACf,KAAK,OAAS,IACVY,GAAmB,IAAI,IAAI,IAC7BA,GAAmB,OAAO,IAAI,EAC9B,KAAK,QAAQ,GAEjB,CAKF,QAAS,CACH,KAAK,MAAQ,GAAK,EAAE,KAAK,MAAQ,KAG/B,KAAK,MAAQ,GACjBE,GAAM,IAAI,CACZ,CAEF,KAAM,CACA,KAAE,KAAK,MAAQ,GACjB,OAAO,KAAK,GAAG,EAEjB,KAAK,OAAS,EACdC,GAAc,IAAI,EAClBC,GAAY,IAAI,EAChB,MAAMC,EAAaN,GACbO,EAAkBC,GACZR,GAAA,KACEQ,GAAA,GACV,IACF,OAAO,KAAK,GAAG,SACf,CAMAC,GAAY,IAAI,EACJT,GAAAM,EACEE,GAAAD,EACd,KAAK,OAAS,EAAC,CACjB,CAEF,MAAO,CACD,QAAK,MAAQ,EAAG,CAClB,QAASG,EAAO,KAAK,KAAMA,EAAMA,EAAOA,EAAK,QAC3CC,GAAUD,CAAI,EAEX,UAAO,KAAK,SAAW,OAC5BN,GAAc,IAAI,EACb,aAAU,KAAK,OAAO,EAC3B,KAAK,OAAS,EAAC,CACjB,CAEF,SAAU,CACJ,KAAK,MAAQ,GACfH,GAAmB,IAAI,IAAI,EAClB,KAAK,UACd,KAAK,UAAU,EAEf,KAAK,WAAW,CAClB,CAKF,YAAa,CACPW,GAAQ,IAAI,GACd,KAAK,IAAI,CACX,CAEF,IAAI,OAAQ,CACV,OAAOA,GAAQ,IAAI,EAEvB,CACA,IAAIC,GAAa,EACbC,GACAC,GACJ,SAASZ,GAAMa,EAAKC,EAAa,GAAO,CAEtC,GADAD,EAAI,OAAS,EACTC,EAAY,CACdD,EAAI,KAAOD,GACOA,GAAAC,EAClB,OAEFA,EAAI,KAAOF,GACEA,GAAAE,CACf,CACA,SAASE,IAAa,CACpBL,IACF,CACA,SAASM,IAAW,CACd,KAAEN,GAAa,EACjB,OAEF,GAAIE,GAAiB,CACnB,IAAIK,EAAIL,GAER,IADkBA,GAAA,OACXK,GAAG,CACR,MAAMC,EAAOD,EAAE,KACfA,EAAE,KAAO,OACTA,EAAE,OAAS,GACPA,EAAAC,CAAA,CACN,CAEE,IAAAC,EACJ,KAAOR,IAAY,CACjB,IAAIM,EAAIN,GAER,IADaA,GAAA,OACNM,GAAG,CACR,MAAMC,EAAOD,EAAE,KAGX,GAFJA,EAAE,KAAO,OACTA,EAAE,OAAS,GACPA,EAAE,MAAQ,EACR,IAEFA,EAAE,QAAQ,QACHG,EAAK,CACPD,IAAeA,EAAAC,EAAA,CAGpBH,EAAAC,CAAA,CACN,CAEF,GAAIC,EAAa,MAAAA,CACnB,CACA,SAASjB,GAAYW,EAAK,CACxB,QAASN,EAAOM,EAAI,KAAMN,EAAMA,EAAOA,EAAK,QAC1CA,EAAK,QAAU,GACVA,EAAA,eAAiBA,EAAK,IAAI,WAC/BA,EAAK,IAAI,WAAaA,CAE1B,CACA,SAASD,GAAYO,EAAK,CACpB,IAAAQ,EACAC,EAAOT,EAAI,SACXN,EAAOe,EACX,KAAOf,GAAM,CACX,MAAMgB,EAAOhB,EAAK,QACdA,EAAK,UAAY,IACfA,IAASe,IAAaA,EAAAC,GAC1Bf,GAAUD,CAAI,EACdiB,GAAUjB,CAAI,GAEPc,EAAAd,EAEJA,EAAA,IAAI,WAAaA,EAAK,eAC3BA,EAAK,eAAiB,OACfA,EAAAgB,CAAA,CAETV,EAAI,KAAOQ,EACXR,EAAI,SAAWS,CACjB,CACA,SAASb,GAAQI,EAAK,CACpB,QAASN,EAAOM,EAAI,KAAMN,EAAMA,EAAOA,EAAK,QAC1C,GAAIA,EAAK,IAAI,UAAYA,EAAK,SAAWA,EAAK,IAAI,WAAakB,GAAgBlB,EAAK,IAAI,QAAQ,GAAKA,EAAK,IAAI,UAAYA,EAAK,SACtH,SAGX,MAAI,EAAAM,EAAI,MAIV,CACA,SAASY,GAAgBC,EAAU,CAK7BA,GAJAA,EAAS,MAAQ,GAAK,EAAEA,EAAS,MAAQ,MAG7CA,EAAS,OAAS,IACdA,EAAS,gBAAkBC,IAC7B,OAEFD,EAAS,cAAgBC,GACzB,MAAMC,EAAMF,EAAS,IAEjB,GADJA,EAAS,OAAS,EACdE,EAAI,QAAU,GAAK,CAACF,EAAS,OAASA,EAAS,MAAQ,CAACjB,GAAQiB,CAAQ,EAAG,CAC7EA,EAAS,OAAS,GAClB,OAEF,MAAMG,EAAUhC,GACVO,EAAkBC,GACZqB,KACErB,GAAA,GACV,IACFH,GAAYwB,CAAQ,EACpB,MAAMzG,EAAQyG,EAAS,GAAGA,EAAS,MAAM,GACrCE,EAAI,UAAY,GAAK3F,GAAWhB,EAAOyG,EAAS,MAAM,KACxDA,EAAS,OAASzG,EACd2G,EAAA,iBAECR,EAAK,CACR,MAAAQ,EAAA,UACER,CAAA,QACN,CACYvB,GAAAgC,EACExB,GAAAD,EACdE,GAAYoB,CAAQ,EACpBA,EAAS,OAAS,EAAC,CAEvB,CACA,SAASlB,GAAUD,EAAMuB,EAAO,GAAO,CACrC,KAAM,CAAE,IAAAF,EAAK,QAAAC,EAAS,QAAAE,CAAY,EAAAxB,EAY9B,GAXAsB,IACFA,EAAQ,QAAUE,EAClBxB,EAAK,QAAU,QAEbwB,IACFA,EAAQ,QAAUF,EAClBtB,EAAK,QAAU,QAKbqB,EAAI,OAASrB,IACfqB,EAAI,KAAOC,EACP,CAACA,GAAWD,EAAI,UAAU,CACxBA,EAAA,SAAS,OAAS,GACtB,QAASvC,EAAIuC,EAAI,SAAS,KAAMvC,EAAGA,EAAIA,EAAE,QACvCmB,GAAUnB,EAAG,EAAI,CACnB,CAGA,CAACyC,GAAQ,CAAC,EAAEF,EAAI,IAAMA,EAAI,KACxBA,EAAA,IAAI,OAAOA,EAAI,GAAG,CAE1B,CACA,SAASJ,GAAUjB,EAAM,CACjB,MAAE,QAAAyB,EAAS,QAAAC,CAAA,EAAY1B,EACzByB,IACFA,EAAQ,QAAUC,EAClB1B,EAAK,QAAU,QAEb0B,IACFA,EAAQ,QAAUD,EAClBzB,EAAK,QAAU,OAEnB,CAsBA,IAAIF,GAAc,GAClB,MAAM6B,GAAa,CAAC,EACpB,SAASC,IAAgB,CACvBD,GAAW,KAAK7B,EAAW,EACbA,GAAA,EAChB,CAKA,SAAS+B,IAAgB,CACjB,MAAA5C,EAAO0C,GAAW,IAAI,EACd7B,GAAAb,IAAS,OAAS,GAAOA,CACzC,CAUA,SAASS,GAAc,EAAG,CAClB,MAAE,QAAAoC,GAAY,EAEpB,GADA,EAAE,QAAU,OACRA,EAAS,CACX,MAAMR,EAAUhC,GACJA,GAAA,OACR,IACMwC,EAAA,SACR,CACYxC,GAAAgC,CAAA,CACd,CAEJ,CAEA,IAAIF,GAAgB,EACpB,MAAMW,EAAK,CACT,YAAYzB,EAAKe,EAAK,CACpB,KAAK,IAAMf,EACX,KAAK,IAAMe,EACX,KAAK,QAAUA,EAAI,QACd,aAAU,KAAK,QAAU,KAAK,QAAU,KAAK,QAAU,KAAK,eAAiB,OAEtF,CACA,MAAMW,EAAI,CACR,YAAYb,EAAU,CACpB,KAAK,SAAWA,EAChB,KAAK,QAAU,EAIf,KAAK,WAAa,OAIlB,KAAK,KAAO,OAIZ,KAAK,IAAM,OACX,KAAK,IAAM,OAIX,KAAK,GAAK,CAGV,CAEF,MAAMc,EAAW,CACf,GAAI,CAAC3C,IAAa,CAACQ,IAAeR,KAAc,KAAK,SACnD,OAEF,IAAIU,EAAO,KAAK,WAChB,GAAIA,IAAS,QAAUA,EAAK,MAAQV,GAClCU,EAAO,KAAK,WAAa,IAAI+B,GAAKzC,GAAW,IAAI,EAC5CA,GAAU,MAGbU,EAAK,QAAUV,GAAU,SACzBA,GAAU,SAAS,QAAUU,EAC7BV,GAAU,SAAWU,GAJXV,GAAA,KAAOA,GAAU,SAAWU,EAMxCkC,GAAOlC,CAAI,UACFA,EAAK,UAAY,KAC1BA,EAAK,QAAU,KAAK,QAChBA,EAAK,SAAS,CAChB,MAAMW,EAAOX,EAAK,QAClBW,EAAK,QAAUX,EAAK,QAChBA,EAAK,UACPA,EAAK,QAAQ,QAAUW,GAEzBX,EAAK,QAAUV,GAAU,SACzBU,EAAK,QAAU,OACfV,GAAU,SAAS,QAAUU,EAC7BV,GAAU,SAAWU,EACjBV,GAAU,OAASU,IACrBV,GAAU,KAAOqB,EACnB,CAaG,OAAAX,CAAA,CAET,QAAQiC,EAAW,CACZ,eACLb,KACA,KAAK,OAAOa,CAAS,EAEvB,OAAOA,EAAW,CACLzB,GAAA,EACP,IAeF,QAASR,EAAO,KAAK,KAAMA,EAAMA,EAAOA,EAAK,QACvCA,EAAK,IAAI,UAENA,EAAA,IAAI,IAAI,OAAO,CAExB,QACA,CACSS,GAAA,EACX,CAEJ,CACA,SAASyB,GAAOlC,EAAM,CAEhB,GADJA,EAAK,IAAI,KACLA,EAAK,IAAI,MAAQ,EAAG,CAChBmB,QAAWnB,EAAK,IAAI,SAC1B,GAAImB,GAAY,CAACnB,EAAK,IAAI,KAAM,CAC9BmB,EAAS,OAAS,GAClB,QAASrC,EAAIqC,EAAS,KAAMrC,EAAGA,EAAIA,EAAE,QACnCoD,GAAOpD,CAAC,CACV,CAEI,MAAAqD,EAAcnC,EAAK,IAAI,KACzBmC,IAAgBnC,IAClBA,EAAK,QAAUmC,EACXA,MAAyB,QAAUnC,IAKzCA,EAAK,IAAI,KAAOA,CAAA,CAEpB,CACA,MAAMoC,OAAgC,QAChCC,GAAc,OAC6C,EACjE,EACMC,GAAsB,OACuC,EACnE,EACMC,GAAoB,OACsC,EAChE,EACA,SAASC,GAAMC,EAAQC,EAAM1J,EAAK,CAChC,GAAI8G,IAAeR,GAAW,CACxB,IAAAqD,EAAUP,GAAU,IAAIK,CAAM,EAC7BE,GACHP,GAAU,IAAIK,EAAQE,EAA0B,IAAI,GAAK,EAEvD,IAAAtB,EAAMsB,EAAQ,IAAI3J,CAAG,EACpBqI,IACHsB,EAAQ,IAAI3J,EAAKqI,EAAM,IAAIW,EAAK,EAChCX,EAAI,IAAMsB,EACVtB,EAAI,IAAMrI,GASVqI,EAAI,MAAM,CACZ,CAEJ,CACA,SAASuB,GAAQH,EAAQC,EAAM1J,EAAK6J,EAAUlH,EAAUmH,EAAW,CAC3D,MAAAH,EAAUP,GAAU,IAAIK,CAAM,EACpC,GAAI,CAACE,EAAS,CACZvB,KACA,OAEI,MAAA2B,EAAO1B,GAAQ,CACfA,GAWAA,EAAI,QAAQ,CAGlB,EAEA,GADWb,GAAA,EACPkC,IAAS,QACXC,EAAQ,QAAQI,CAAG,MACd,CACC,MAAAC,EAAgBjJ,GAAQ0I,CAAM,EAC9BQ,EAAeD,GAAiBnI,GAAa7B,CAAG,EAClD,GAAAgK,GAAiBhK,IAAQ,SAAU,CAC/B,MAAAkK,EAAY,OAAOL,CAAQ,EACzBF,EAAA,QAAQ,CAACtB,EAAK8B,IAAS,EACzBA,IAAS,UAAYA,IAASZ,IAAqB,CAACjI,GAAS6I,CAAI,GAAKA,GAAQD,IAChFH,EAAI1B,CAAG,CACT,CACD,MAQD,SANIrI,IAAQ,QAAU2J,EAAQ,IAAI,MAAM,IAClCI,EAAAJ,EAAQ,IAAI3J,CAAG,CAAC,EAElBiK,GACEF,EAAAJ,EAAQ,IAAIJ,EAAiB,CAAC,EAE5BG,EAAM,CACZ,IAAK,MACEM,EAKMC,GACLF,EAAAJ,EAAQ,IAAI,QAAQ,CAAC,GALrBI,EAAAJ,EAAQ,IAAIN,EAAW,CAAC,EACxBrI,GAAMyI,CAAM,GACVM,EAAAJ,EAAQ,IAAIL,EAAmB,CAAC,GAKxC,MACF,IAAK,SACEU,IACCD,EAAAJ,EAAQ,IAAIN,EAAW,CAAC,EACxBrI,GAAMyI,CAAM,GACVM,EAAAJ,EAAQ,IAAIL,EAAmB,CAAC,GAGxC,MACF,IAAK,MACCtI,GAAMyI,CAAM,GACVM,EAAAJ,EAAQ,IAAIN,EAAW,CAAC,EAE9B,MAEN,CAEO5B,GAAA,CACX,CACA,SAAS2C,GAAmBC,EAAQrK,EAAK,CACjC,MAAAsK,EAASlB,GAAU,IAAIiB,CAAM,EAC5B,OAAAC,GAAUA,EAAO,IAAItK,CAAG,CACjC,CAEA,SAASuK,GAAkBC,EAAO,CAC1B,MAAAC,EAAMC,GAAMF,CAAK,EACnB,OAAAC,IAAQD,EAAcC,GACpBjB,GAAAiB,EAAK,UAAWlB,EAAiB,EAChCoB,GAAUH,CAAK,EAAIC,EAAMA,EAAI,IAAIG,EAAU,EACpD,CACA,SAASC,GAAiBnK,EAAK,CAC7B,OAAA8I,GAAM9I,EAAMgK,GAAMhK,CAAG,EAAG,UAAW6I,EAAiB,EAC7C7I,CACT,CACA,MAAMoK,GAAwB,CAC5B,UAAW,KACX,CAAC,OAAO,QAAQ,GAAI,CAClB,OAAOC,GAAS,KAAM,OAAO,SAAUH,EAAU,CACnD,EACA,UAAUI,EAAM,CACP,OAAAT,GAAkB,IAAI,EAAE,OAC7B,GAAGS,EAAK,IAAKC,GAAMlK,GAAQkK,CAAC,EAAIV,GAAkBU,CAAC,EAAIA,CAAC,CAC1D,CACF,EACA,SAAU,CACR,OAAOF,GAAS,KAAM,UAAYrJ,IAChCA,EAAM,CAAC,EAAIkJ,GAAWlJ,EAAM,CAAC,CAAC,EACvBA,EACR,CACH,EACA,MAAMM,EAAIkJ,EAAS,CACjB,OAAOC,GAAM,KAAM,QAASnJ,EAAIkJ,EAAS,OAAQ,SAAS,CAC5D,EACA,OAAOlJ,EAAIkJ,EAAS,CACX,OAAAC,GAAM,KAAM,SAAUnJ,EAAIkJ,EAAUzF,GAAMA,EAAE,IAAImF,EAAU,EAAG,SAAS,CAC/E,EACA,KAAK5I,EAAIkJ,EAAS,CAChB,OAAOC,GAAM,KAAM,OAAQnJ,EAAIkJ,EAASN,GAAY,SAAS,CAC/D,EACA,UAAU5I,EAAIkJ,EAAS,CACrB,OAAOC,GAAM,KAAM,YAAanJ,EAAIkJ,EAAS,OAAQ,SAAS,CAChE,EACA,SAASlJ,EAAIkJ,EAAS,CACpB,OAAOC,GAAM,KAAM,WAAYnJ,EAAIkJ,EAASN,GAAY,SAAS,CACnE,EACA,cAAc5I,EAAIkJ,EAAS,CACzB,OAAOC,GAAM,KAAM,gBAAiBnJ,EAAIkJ,EAAS,OAAQ,SAAS,CACpE,EAEA,QAAQlJ,EAAIkJ,EAAS,CACnB,OAAOC,GAAM,KAAM,UAAWnJ,EAAIkJ,EAAS,OAAQ,SAAS,CAC9D,EACA,YAAYF,EAAM,CACT,OAAAI,GAAY,KAAM,WAAYJ,CAAI,CAC3C,EACA,WAAWA,EAAM,CACR,OAAAI,GAAY,KAAM,UAAWJ,CAAI,CAC1C,EACA,KAAKK,EAAW,CACd,OAAOd,GAAkB,IAAI,EAAE,KAAKc,CAAS,CAC/C,EAEA,eAAeL,EAAM,CACZ,OAAAI,GAAY,KAAM,cAAeJ,CAAI,CAC9C,EACA,IAAIhJ,EAAIkJ,EAAS,CACf,OAAOC,GAAM,KAAM,MAAOnJ,EAAIkJ,EAAS,OAAQ,SAAS,CAC1D,EACA,KAAM,CACG,OAAAI,GAAW,KAAM,KAAK,CAC/B,EACA,QAAQN,EAAM,CACL,OAAAM,GAAW,KAAM,OAAQN,CAAI,CACtC,EACA,OAAOhJ,KAAOgJ,EAAM,CAClB,OAAOO,GAAO,KAAM,SAAUvJ,EAAIgJ,CAAI,CACxC,EACA,YAAYhJ,KAAOgJ,EAAM,CACvB,OAAOO,GAAO,KAAM,cAAevJ,EAAIgJ,CAAI,CAC7C,EACA,OAAQ,CACC,OAAAM,GAAW,KAAM,OAAO,CACjC,EAEA,KAAKtJ,EAAIkJ,EAAS,CAChB,OAAOC,GAAM,KAAM,OAAQnJ,EAAIkJ,EAAS,OAAQ,SAAS,CAC3D,EACA,UAAUF,EAAM,CACP,OAAAM,GAAW,KAAM,SAAUN,CAAI,CACxC,EACA,YAAa,CACJ,OAAAT,GAAkB,IAAI,EAAE,WAAW,CAC5C,EACA,SAASiB,EAAU,CACjB,OAAOjB,GAAkB,IAAI,EAAE,SAASiB,CAAQ,CAClD,EACA,aAAaR,EAAM,CACjB,OAAOT,GAAkB,IAAI,EAAE,UAAU,GAAGS,CAAI,CAClD,EACA,WAAWA,EAAM,CACR,OAAAM,GAAW,KAAM,UAAWN,CAAI,CACzC,EACA,QAAS,CACA,OAAAD,GAAS,KAAM,SAAUH,EAAU,EAE9C,EACA,SAASG,GAASU,EAAMC,EAAQC,EAAW,CACnC,MAAAjL,EAAMmK,GAAiBY,CAAI,EAC3BG,EAAOlL,EAAIgL,CAAM,EAAE,EACzB,OAAIhL,IAAQ+K,GAAQ,CAACd,GAAUc,CAAI,IACjCG,EAAK,MAAQA,EAAK,KAClBA,EAAK,KAAO,IAAM,CACV,MAAAC,EAASD,EAAK,MAAM,EAC1B,OAAIC,EAAO,QACFA,EAAA,MAAQF,EAAUE,EAAO,KAAK,GAEhCA,CACT,GAEKD,CACT,CACA,MAAME,GAAa,MAAM,UACzB,SAASX,GAAMM,EAAMC,EAAQ1J,EAAIkJ,EAASa,EAAcf,EAAM,CACtD,MAAAtK,EAAMmK,GAAiBY,CAAI,EAC3BO,EAAYtL,IAAQ+K,GAAQ,CAACd,GAAUc,CAAI,EAC3CQ,EAAWvL,EAAIgL,CAAM,EACvB,GAAAO,IAAaH,GAAWJ,CAAM,EAAG,CACnC,MAAMQ,EAAUD,EAAS,MAAMR,EAAMT,CAAI,EAClC,OAAAgB,EAAYpB,GAAWsB,CAAO,EAAIA,CAAA,CAE3C,IAAIC,EAAYnK,EACZtB,IAAQ+K,IACNO,EACUG,EAAA,SAAS3I,EAAM4I,EAAO,CAChC,OAAOpK,EAAG,KAAK,KAAM4I,GAAWpH,CAAI,EAAG4I,EAAOX,CAAI,CACpD,EACSzJ,EAAG,OAAS,IACTmK,EAAA,SAAS3I,EAAM4I,EAAO,CAChC,OAAOpK,EAAG,KAAK,KAAMwB,EAAM4I,EAAOX,CAAI,CACxC,IAGJ,MAAMI,EAASI,EAAS,KAAKvL,EAAKyL,EAAWjB,CAAO,EACpD,OAAOc,GAAaD,EAAeA,EAAaF,CAAM,EAAIA,CAC5D,CACA,SAASN,GAAOE,EAAMC,EAAQ1J,EAAIgJ,EAAM,CAChC,MAAAtK,EAAMmK,GAAiBY,CAAI,EACjC,IAAIU,EAAYnK,EAChB,OAAItB,IAAQ+K,IACLd,GAAUc,CAAI,EAIRzJ,EAAG,OAAS,IACTmK,EAAA,SAASE,EAAK7I,EAAM4I,EAAO,CACrC,OAAOpK,EAAG,KAAK,KAAMqK,EAAK7I,EAAM4I,EAAOX,CAAI,CAC7C,GANYU,EAAA,SAASE,EAAK7I,EAAM4I,EAAO,CAC9B,OAAApK,EAAG,KAAK,KAAMqK,EAAKzB,GAAWpH,CAAI,EAAG4I,EAAOX,CAAI,CACzD,GAOG/K,EAAIgL,CAAM,EAAES,EAAW,GAAGnB,CAAI,CACvC,CACA,SAASI,GAAYK,EAAMC,EAAQV,EAAM,CACjC,MAAAtK,EAAMgK,GAAMe,CAAI,EAChBjC,GAAA9I,EAAK,UAAW6I,EAAiB,EACvC,MAAMhG,EAAM7C,EAAIgL,CAAM,EAAE,GAAGV,CAAI,EAC1B,OAAAzH,IAAQ,IAAMA,IAAQ,KAAU+I,GAAQtB,EAAK,CAAC,CAAC,GAClDA,EAAK,CAAC,EAAIN,GAAMM,EAAK,CAAC,CAAC,EAChBtK,EAAIgL,CAAM,EAAE,GAAGV,CAAI,GAErBzH,CACT,CACA,SAAS+H,GAAWG,EAAMC,EAAQV,EAAO,GAAI,CAC7BpC,GAAA,EACHpB,GAAA,EACL,MAAAjE,EAAMmH,GAAMe,CAAI,EAAEC,CAAM,EAAE,MAAMD,EAAMT,CAAI,EACvC,OAAAvD,GAAA,EACKoB,GAAA,EACPtF,CACT,CAEA,MAAMgJ,MAA6C,6BAA6B,EAC1EC,GAAiB,IAAI,IACT,OAAO,oBAAoB,MAAM,EAAE,OAAQxM,GAAQA,IAAQ,aAAeA,IAAQ,QAAQ,EAAE,IAAKA,GAAQ,OAAOA,CAAG,CAAC,EAAE,OAAOsB,EAAQ,CACvJ,EACA,SAAST,GAAeb,EAAK,CACtBsB,GAAStB,CAAG,IAAGA,EAAM,OAAOA,CAAG,GAC9B,MAAAgD,EAAM0H,GAAM,IAAI,EAChB,OAAAlB,GAAAxG,EAAK,MAAOhD,CAAG,EACdgD,EAAI,eAAehD,CAAG,CAC/B,CACA,MAAMyM,EAAoB,CACxB,YAAYC,EAAc,GAAOC,EAAa,GAAO,CACnD,KAAK,YAAcD,EACnB,KAAK,WAAaC,CAAA,CAEpB,IAAIlD,EAAQzJ,EAAK4M,EAAU,CACzB,GAAI5M,IAAQ,WAAmB,OAAAyJ,EAAO,SACtC,MAAMoD,EAAc,KAAK,YAAaC,EAAa,KAAK,WACxD,GAAI9M,IAAQ,iBACV,MAAO,CAAC6M,EACV,GAAW7M,IAAQ,iBACV,OAAA6M,EACT,GAAW7M,IAAQ,gBACV,OAAA8M,EACT,GAAW9M,IAAQ,UACb,OAAA4M,KAAcC,EAAcC,EAAaC,GAAqBC,GAAcF,EAAaG,GAAqBC,IAAa,IAAIzD,CAAM,GAEzI,OAAO,eAAeA,CAAM,IAAM,OAAO,eAAemD,CAAQ,EACvDnD,EAET,OAEI,MAAAO,EAAgBjJ,GAAQ0I,CAAM,EACpC,GAAI,CAACoD,EAAa,CACZ,IAAA7K,EACJ,GAAIgI,IAAkBhI,EAAK8I,GAAsB9K,CAAG,GAC3C,OAAAgC,EAET,GAAIhC,IAAQ,iBACH,OAAAa,EACT,CAEF,MAAM0C,EAAM,QAAQ,IAClBkG,EACAzJ,EAIAkF,GAAMuE,CAAM,EAAIA,EAASmD,CAC3B,EAOA,OANItL,GAAStB,CAAG,EAAIwM,GAAe,IAAIxM,CAAG,EAAIuM,GAAmBvM,CAAG,KAG/D6M,GACGrD,GAAAC,EAAQ,MAAOzJ,CAAG,EAEtB8M,GACKvJ,EAEL2B,GAAM3B,CAAG,EACJyG,GAAiBnI,GAAa7B,CAAG,EAAIuD,EAAMA,EAAI,MAEpDhC,GAASgC,CAAG,EACPsJ,EAAcM,GAAS5J,CAAG,EAAI6J,GAAS7J,CAAG,EAE5CA,CAAA,CAEX,CACA,MAAM8J,WAA+BZ,EAAoB,CACvD,YAAYK,EAAa,GAAO,CAC9B,MAAM,GAAOA,CAAU,EAEzB,IAAIrD,EAAQzJ,EAAK0B,EAAOkL,EAAU,CAC5B,IAAAjK,EAAW8G,EAAOzJ,CAAG,EACrB,IAAC,KAAK,WAAY,CACd,MAAAsN,EAAqBC,GAAW5K,CAAQ,EAK1C,GAJA,CAACgI,GAAUjJ,CAAK,GAAK,CAAC6L,GAAW7L,CAAK,IACxCiB,EAAW+H,GAAM/H,CAAQ,EACzBjB,EAAQgJ,GAAMhJ,CAAK,GAEjB,CAACX,GAAQ0I,CAAM,GAAKvE,GAAMvC,CAAQ,GAAK,CAACuC,GAAMxD,CAAK,EACrD,OAAI4L,EACK,IAEP3K,EAAS,MAAQjB,EACV,GAEX,CAEF,MAAM8L,EAASzM,GAAQ0I,CAAM,GAAK5H,GAAa7B,CAAG,EAAI,OAAOA,CAAG,EAAIyJ,EAAO,OAAS3I,GAAO2I,EAAQzJ,CAAG,EAChG6L,EAAS,QAAQ,IACrBpC,EACAzJ,EACA0B,EACAwD,GAAMuE,CAAM,EAAIA,EAASmD,CAC3B,EACI,OAAAnD,IAAWiB,GAAMkC,CAAQ,IACtBY,EAEM9K,GAAWhB,EAAOiB,CAAQ,GACnCiH,GAAQH,EAAQ,MAAOzJ,EAAK0B,CAAe,EAFnCkI,GAAAH,EAAQ,MAAOzJ,EAAK0B,CAAK,GAK9BmK,CAAA,CAET,eAAepC,EAAQzJ,EAAK,CACpB,MAAAwN,EAAS1M,GAAO2I,EAAQzJ,CAAG,EAChByJ,EAAOzJ,CAAG,EAC3B,MAAM6L,EAAS,QAAQ,eAAepC,EAAQzJ,CAAG,EACjD,OAAI6L,GAAU2B,GACZ5D,GAAQH,EAAQ,SAAUzJ,EAAK,MAAgB,EAE1C6L,CAAA,CAET,IAAIpC,EAAQzJ,EAAK,CACf,MAAM6L,EAAS,QAAQ,IAAIpC,EAAQzJ,CAAG,EAClC,QAACsB,GAAStB,CAAG,GAAK,CAACwM,GAAe,IAAIxM,CAAG,IACrCwJ,GAAAC,EAAQ,MAAOzJ,CAAG,EAEnB6L,CAAA,CAET,QAAQpC,EAAQ,CACd,OAAAD,GACEC,EACA,UACA1I,GAAQ0I,CAAM,EAAI,SAAWJ,EAC/B,EACO,QAAQ,QAAQI,CAAM,EAEjC,CACA,MAAMgE,WAAgChB,EAAoB,CACxD,YAAYK,EAAa,GAAO,CAC9B,MAAM,GAAMA,CAAU,EAExB,IAAIrD,EAAQzJ,EAAK,CAOR,SAET,eAAeyJ,EAAQzJ,EAAK,CAOnB,SAEX,CACA,MAAM0N,OAAsCL,GACtCM,OAAuCF,GACvCG,GAA8C,IAAAP,GAAuB,EAAI,EAG/E,MAAMQ,GAAanM,GAAUA,EACvBoM,GAAYrI,GAAM,QAAQ,eAAeA,CAAC,EAChD,SAASsI,GAAqBrC,EAAQmB,EAAaC,EAAY,CAC7D,OAAO,YAAY9B,EAAM,CACjB,MAAAvB,EAAS,KAAK,QACduE,EAAYtD,GAAMjB,CAAM,EACxBwE,EAAcjN,GAAMgN,CAAS,EAC7BE,EAASxC,IAAW,WAAaA,IAAW,OAAO,UAAYuC,EAC/DE,EAAYzC,IAAW,QAAUuC,EACjCG,EAAgB3E,EAAOiC,CAAM,EAAE,GAAGV,CAAI,EACtCqD,EAAOvB,EAAae,GAAYhB,EAAcyB,GAAa1D,GACjE,OAACiC,GAAerD,GACdwE,EACA,UACAG,EAAY7E,GAAsBD,EACpC,EACO,CAEL,MAAO,CACL,KAAM,CAAE,MAAA3H,EAAO,KAAA6M,GAASH,EAAc,KAAK,EAC3C,OAAOG,EAAO,CAAE,MAAA7M,EAAO,KAAA6M,GAAS,CAC9B,MAAOL,EAAS,CAACG,EAAK3M,EAAM,CAAC,CAAC,EAAG2M,EAAK3M,EAAM,CAAC,CAAC,CAAC,EAAI2M,EAAK3M,CAAK,EAC7D,KAAA6M,CACF,CACF,EAEA,CAAC,OAAO,QAAQ,GAAI,CACX,YAEX,CACF,CACF,CACA,SAASC,GAAqB9E,EAAM,CAClC,OAAO,YAAYsB,EAAM,CAQvB,OAAOtB,IAAS,SAAW,GAAQA,IAAS,QAAU,OAAS,IACjE,CACF,CACA,SAAS+E,GAAuBtB,EAAUuB,EAAS,CACjD,MAAMC,EAAmB,CACvB,IAAI3O,EAAK,CACD,MAAAyJ,EAAS,KAAK,QACduE,EAAYtD,GAAMjB,CAAM,EACxBmF,EAASlE,GAAM1K,CAAG,EACnBmN,IACCzK,GAAW1C,EAAK4O,CAAM,GAClBpF,GAAAwE,EAAW,MAAOhO,CAAG,EAEvBwJ,GAAAwE,EAAW,MAAOY,CAAM,GAEhC,KAAM,CAAE,IAAAC,CAAA,EAAQf,GAASE,CAAS,EAC5BK,EAAOK,EAAUb,GAAYV,EAAWmB,GAAa1D,GAC3D,GAAIiE,EAAI,KAAKb,EAAWhO,CAAG,EACzB,OAAOqO,EAAK5E,EAAO,IAAIzJ,CAAG,CAAC,EAClB,GAAA6O,EAAI,KAAKb,EAAWY,CAAM,EACnC,OAAOP,EAAK5E,EAAO,IAAImF,CAAM,CAAC,EACrBnF,IAAWuE,GACpBvE,EAAO,IAAIzJ,CAAG,CAElB,EACA,IAAI,MAAO,CACH,MAAAyJ,EAAS,KAAK,QACpB,OAAC0D,GAAY3D,GAAMkB,GAAMjB,CAAM,EAAG,UAAWJ,EAAW,EACjD,QAAQ,IAAII,EAAQ,OAAQA,CAAM,CAC3C,EACA,IAAIzJ,EAAK,CACD,MAAAyJ,EAAS,KAAK,QACduE,EAAYtD,GAAMjB,CAAM,EACxBmF,EAASlE,GAAM1K,CAAG,EACxB,OAAKmN,IACCzK,GAAW1C,EAAK4O,CAAM,GAClBpF,GAAAwE,EAAW,MAAOhO,CAAG,EAEvBwJ,GAAAwE,EAAW,MAAOY,CAAM,GAEzB5O,IAAQ4O,EAASnF,EAAO,IAAIzJ,CAAG,EAAIyJ,EAAO,IAAIzJ,CAAG,GAAKyJ,EAAO,IAAImF,CAAM,CAChF,EACA,QAAQE,EAAU5D,EAAS,CACzB,MAAM6D,EAAW,KACXtF,EAASsF,EAAS,QAClBf,EAAYtD,GAAMjB,CAAM,EACxB4E,EAAOK,EAAUb,GAAYV,EAAWmB,GAAa1D,GAC3D,OAACuC,GAAY3D,GAAMwE,EAAW,UAAW3E,EAAW,EAC7CI,EAAO,QAAQ,CAAC/H,EAAO1B,IACrB8O,EAAS,KAAK5D,EAASmD,EAAK3M,CAAK,EAAG2M,EAAKrO,CAAG,EAAG+O,CAAQ,CAC/D,EAEL,EACA,OAAAvO,GACEmO,EACAxB,EAAW,CACT,IAAKqB,GAAqB,KAAK,EAC/B,IAAKA,GAAqB,KAAK,EAC/B,OAAQA,GAAqB,QAAQ,EACrC,MAAOA,GAAqB,OAAO,GACjC,CACF,IAAI9M,EAAO,CACL,CAACgN,GAAW,CAAC/D,GAAUjJ,CAAK,GAAK,CAAC6L,GAAW7L,CAAK,IACpDA,EAAQgJ,GAAMhJ,CAAK,GAEf,MAAA+H,EAASiB,GAAM,IAAI,EAGzB,OAFcoD,GAASrE,CAAM,EACR,IAAI,KAAKA,EAAQ/H,CAAK,IAEzC+H,EAAO,IAAI/H,CAAK,EACRkI,GAAAH,EAAQ,MAAO/H,EAAOA,CAAK,GAE9B,IACT,EACA,IAAI1B,EAAK0B,EAAO,CACV,CAACgN,GAAW,CAAC/D,GAAUjJ,CAAK,GAAK,CAAC6L,GAAW7L,CAAK,IACpDA,EAAQgJ,GAAMhJ,CAAK,GAEf,MAAA+H,EAASiB,GAAM,IAAI,EACnB,CAAE,IAAAmE,EAAK,IAAAG,GAAQlB,GAASrE,CAAM,EACpC,IAAI+D,EAASqB,EAAI,KAAKpF,EAAQzJ,CAAG,EAC5BwN,IACHxN,EAAM0K,GAAM1K,CAAG,EACNwN,EAAAqB,EAAI,KAAKpF,EAAQzJ,CAAG,GAI/B,MAAM2C,EAAWqM,EAAI,KAAKvF,EAAQzJ,CAAG,EAC9B,OAAAyJ,EAAA,IAAIzJ,EAAK0B,CAAK,EAChB8L,EAEM9K,GAAWhB,EAAOiB,CAAQ,GACnCiH,GAAQH,EAAQ,MAAOzJ,EAAK0B,CAAe,EAFnCkI,GAAAH,EAAQ,MAAOzJ,EAAK0B,CAAK,EAI5B,IACT,EACA,OAAO1B,EAAK,CACJ,MAAAyJ,EAASiB,GAAM,IAAI,EACnB,CAAE,IAAAmE,EAAK,IAAAG,GAAQlB,GAASrE,CAAM,EACpC,IAAI+D,EAASqB,EAAI,KAAKpF,EAAQzJ,CAAG,EAC5BwN,IACHxN,EAAM0K,GAAM1K,CAAG,EACNwN,EAAAqB,EAAI,KAAKpF,EAAQzJ,CAAG,GAIdgP,GAAMA,EAAI,KAAKvF,EAAQzJ,CAAG,EACrC,MAAA6L,EAASpC,EAAO,OAAOzJ,CAAG,EAChC,OAAIwN,GACF5D,GAAQH,EAAQ,SAAUzJ,EAAK,MAAgB,EAE1C6L,CACT,EACA,OAAQ,CACA,MAAApC,EAASiB,GAAM,IAAI,EACnBuE,EAAWxF,EAAO,OAAS,EAE3BoC,EAASpC,EAAO,MAAM,EAC5B,OAAIwF,GACFrF,GACEH,EACA,QACA,OACA,MAEF,EAEKoC,CAAA,CACT,CAEJ,EACwB,CACtB,OACA,SACA,UACA,OAAO,QACT,EACgB,QAASH,GAAW,CAClCiD,EAAiBjD,CAAM,EAAIqC,GAAqBrC,EAAQyB,EAAUuB,CAAO,EAC1E,EACMC,CACT,CACA,SAASO,GAA4BrC,EAAa6B,EAAS,CACnD,MAAAC,EAAmBF,GAAuB5B,EAAa6B,CAAO,EAC7D,OAACjF,EAAQzJ,EAAK4M,IACf5M,IAAQ,iBACH,CAAC6M,EACC7M,IAAQ,iBACV6M,EACE7M,IAAQ,UACVyJ,EAEF,QAAQ,IACb3I,GAAO6N,EAAkB3O,CAAG,GAAKA,KAAOyJ,EAASkF,EAAmBlF,EACpEzJ,EACA4M,CACF,CAEJ,CACA,MAAMuC,GAA4B,CAChC,IAAiDD,GAAA,GAAO,EAAK,CAC/D,EACME,GAA4B,CAChC,IAAiDF,GAAA,GAAO,EAAI,CAC9D,EACMG,GAA6B,CACjC,IAAiDH,GAAA,GAAM,EAAK,CAC9D,EAcA,MAAMhC,OAAkC,QAClCD,OAAyC,QACzCD,OAAkC,QAClCD,OAAyC,QAC/C,SAASuC,GAAcC,EAAS,CAC9B,OAAQA,EAAS,CACf,IAAK,SACL,IAAK,QACI,SACT,IAAK,MACL,IAAK,MACL,IAAK,UACL,IAAK,UACI,SACT,QACS,SAEb,CACA,SAASC,GAAc9N,EAAO,CAC5B,OAAOA,EAAM,UAAe,CAAC,OAAO,aAAaA,CAAK,EAAI,EAAkB4N,GAAc3N,GAAUD,CAAK,CAAC,CAC5G,CACA,SAAS0L,GAAS3D,EAAQ,CACpB,OAAA8D,GAAW9D,CAAM,EACZA,EAEFgG,GACLhG,EACA,GACAiE,GACAyB,GACAjC,EACF,CACF,CACA,SAASwC,GAAgBjG,EAAQ,CACxB,OAAAgG,GACLhG,EACA,GACAmE,GACAwB,GACAnC,EACF,CACF,CACA,SAASE,GAAS1D,EAAQ,CACjB,OAAAgG,GACLhG,EACA,GACAkE,GACA0B,GACArC,EACF,CACF,CAUA,SAASyC,GAAqBhG,EAAQoD,EAAa8C,EAAcC,EAAoBC,EAAU,CAW7F,GAVI,CAACtO,GAASkI,CAAM,GAUhBA,EAAO,SAAc,EAAEoD,GAAepD,EAAO,gBACxC,OAAAA,EAEH,MAAAqG,EAAgBD,EAAS,IAAIpG,CAAM,EACzC,GAAIqG,EACK,OAAAA,EAEH,MAAAC,EAAaP,GAAc/F,CAAM,EACvC,GAAIsG,IAAe,EACV,OAAAtG,EAET,MAAMuG,EAAQ,IAAI,MAChBvG,EACAsG,IAAe,EAAqBH,EAAqBD,CAC3D,EACS,OAAAE,EAAA,IAAIpG,EAAQuG,CAAK,EACnBA,CACT,CACA,SAASC,GAAWvO,EAAO,CACrB,OAAA6L,GAAW7L,CAAK,EACXuO,GAAWvO,EAAM,OAAU,EAE7B,CAAC,EAAEA,GAASA,EAAM,eAC3B,CACA,SAAS6L,GAAW7L,EAAO,CACzB,MAAO,CAAC,EAAEA,GAASA,EAAM,eAC3B,CACA,SAASiJ,GAAUjJ,EAAO,CACxB,MAAO,CAAC,EAAEA,GAASA,EAAM,cAC3B,CACA,SAAS4K,GAAQ5K,EAAO,CACtB,OAAOA,EAAQ,CAAC,CAACA,EAAM,QAAa,EACtC,CACA,SAASgJ,GAAMqE,EAAU,CACjB,MAAAtE,EAAMsE,GAAYA,EAAS,QAC1B,OAAAtE,EAAMC,GAAMD,CAAG,EAAIsE,CAC5B,CACA,SAASmB,GAAQxO,EAAO,CAClB,OAACZ,GAAOY,EAAO,UAAU,GAAK,OAAO,aAAaA,CAAK,GACrDqB,GAAArB,EAAO,WAAY,EAAI,EAEtBA,CACT,CACA,MAAMkJ,GAAclJ,GAAUH,GAASG,CAAK,EAAI0L,GAAS1L,CAAK,EAAIA,EAC5D4M,GAAc5M,GAAUH,GAASG,CAAK,EAAIyL,GAASzL,CAAK,EAAIA,EAElE,SAASwD,GAAMiL,EAAG,CAChB,OAAOA,EAAIA,EAAE,YAAiB,GAAO,EACvC,CACA,SAASC,GAAI1O,EAAO,CACX,OAAA2O,GAAU3O,EAAO,EAAK,CAC/B,CACA,SAAS4O,GAAW5O,EAAO,CAClB,OAAA2O,GAAU3O,EAAO,EAAI,CAC9B,CACA,SAAS2O,GAAUE,EAAU7B,EAAS,CAChC,OAAAxJ,GAAMqL,CAAQ,EACTA,EAEF,IAAIC,GAAQD,EAAU7B,CAAO,CACtC,CACA,MAAM8B,EAAQ,CACZ,YAAY9O,EAAOoL,EAAY,CACxB,SAAM,IAAI9D,GACf,KAAK,UAAe,GACpB,KAAK,cAAmB,GACxB,KAAK,UAAY8D,EAAapL,EAAQgJ,GAAMhJ,CAAK,EACjD,KAAK,OAASoL,EAAapL,EAAQkJ,GAAWlJ,CAAK,EACnD,KAAK,cAAmBoL,CAAA,CAE1B,IAAI,OAAQ,CAQR,YAAK,IAAI,MAAM,EAEV,KAAK,OAEd,IAAI,MAAMjD,EAAU,CAClB,MAAMlH,EAAW,KAAK,UAChB8N,EAAiB,KAAK,eAAoB9F,GAAUd,CAAQ,GAAK0D,GAAW1D,CAAQ,EAC/EA,EAAA4G,EAAiB5G,EAAWa,GAAMb,CAAQ,EACjDnH,GAAWmH,EAAUlH,CAAQ,IAC/B,KAAK,UAAYkH,EACjB,KAAK,OAAS4G,EAAiB5G,EAAWe,GAAWf,CAAQ,EAU3D,KAAK,IAAI,QAAQ,EAErB,CAEJ,CAeA,SAAS6G,GAAMC,EAAM,CACnB,OAAOzL,GAAMyL,CAAI,EAAIA,EAAK,MAAQA,CACpC,CAIA,MAAMC,GAAwB,CAC5B,IAAK,CAACnH,EAAQzJ,EAAK4M,IAAa5M,IAAQ,UAAYyJ,EAASiH,GAAM,QAAQ,IAAIjH,EAAQzJ,EAAK4M,CAAQ,CAAC,EACrG,IAAK,CAACnD,EAAQzJ,EAAK0B,EAAOkL,IAAa,CAC/B,MAAAjK,EAAW8G,EAAOzJ,CAAG,EAC3B,OAAIkF,GAAMvC,CAAQ,GAAK,CAACuC,GAAMxD,CAAK,GACjCiB,EAAS,MAAQjB,EACV,IAEA,QAAQ,IAAI+H,EAAQzJ,EAAK0B,EAAOkL,CAAQ,CACjD,CAEJ,EACA,SAASiE,GAAUC,EAAgB,CACjC,OAAOb,GAAWa,CAAc,EAAIA,EAAiB,IAAI,MAAMA,EAAgBF,EAAqB,CACtG,CACA,MAAMG,EAAc,CAClB,YAAYC,EAAS,CACnB,KAAK,UAAe,GACpB,KAAK,OAAS,OACd,MAAM3I,EAAM,KAAK,IAAM,IAAIW,GACrB,CAAE,IAAAgG,EAAK,IAAAiC,CAAI,EAAID,EAAQ3I,EAAI,MAAM,KAAKA,CAAG,EAAGA,EAAI,QAAQ,KAAKA,CAAG,CAAC,EACvE,KAAK,KAAO2G,EACZ,KAAK,KAAOiC,CAAA,CAEd,IAAI,OAAQ,CACH,YAAK,OAAS,KAAK,KAAK,EAEjC,IAAI,MAAMC,EAAQ,CAChB,KAAK,KAAKA,CAAM,EAEpB,CACA,SAASC,GAAUH,EAAS,CACnB,WAAID,GAAcC,CAAO,CAClC,CAWA,MAAMI,EAAc,CAClB,YAAYC,EAAShM,EAAMiM,EAAe,CACxC,KAAK,QAAUD,EACf,KAAK,KAAOhM,EACZ,KAAK,cAAgBiM,EACrB,KAAK,UAAe,GACpB,KAAK,OAAS,OAEhB,IAAI,OAAQ,CACV,MAAMrR,EAAM,KAAK,QAAQ,KAAK,IAAI,EAClC,OAAO,KAAK,OAASA,IAAQ,OAAS,KAAK,cAAgBA,CAAA,CAE7D,IAAI,MAAMiR,EAAQ,CACX,aAAQ,KAAK,IAAI,EAAIA,CAAA,CAE5B,IAAI,KAAM,CACR,OAAO9G,GAAmBM,GAAM,KAAK,OAAO,EAAG,KAAK,IAAI,EAE5D,CACA,MAAM6G,EAAc,CAClB,YAAYC,EAAS,CACnB,KAAK,QAAUA,EACf,KAAK,UAAe,GACpB,KAAK,eAAoB,GACzB,KAAK,OAAS,OAEhB,IAAI,OAAQ,CACH,YAAK,OAAS,KAAK,QAAQ,EAEtC,CACA,SAASC,GAAMC,EAAQ1R,EAAK2R,EAAc,CACpC,OAAAzM,GAAMwM,CAAM,EACPA,EACEtQ,GAAWsQ,CAAM,EACnB,IAAIH,GAAcG,CAAM,EACtBnQ,GAASmQ,CAAM,GAAK,UAAU,OAAS,EACzCE,GAAcF,EAAQ1R,EAAK2R,CAAY,EAEvCvB,GAAIsB,CAAM,CAErB,CACA,SAASE,GAAcF,EAAQ1R,EAAK2R,EAAc,CAC1C,MAAA1R,EAAMyR,EAAO1R,CAAG,EACf,OAAAkF,GAAMjF,CAAG,EAAIA,EAAM,IAAImR,GAAcM,EAAQ1R,EAAK2R,CAAY,CACvE,CAEA,MAAME,EAAgB,CACpB,YAAY7P,EAAI8P,EAAQC,EAAO,CAC7B,KAAK,GAAK/P,EACV,KAAK,OAAS8P,EAId,KAAK,OAAS,OAIT,SAAM,IAAI9I,GAAI,IAAI,EAIvB,KAAK,UAAY,GAMjB,KAAK,KAAO,OAIZ,KAAK,SAAW,OAIhB,KAAK,MAAQ,GAIb,KAAK,cAAgBZ,GAAgB,EAIrC,KAAK,KAAO,OAEZ,KAAK,OAAS,KACT,oBAAoB,CAAC0J,EAC1B,KAAK,MAAQC,CAAA,CAKf,QAAS,CAEH,GADJ,KAAK,OAAS,GACV,EAAE,KAAK,MAAQ,IACnBzL,KAAc,KACZ,OAAAG,GAAM,KAAM,EAAI,EACT,EAC6C,CAExD,IAAI,OAAQ,CACV,MAAMO,EAID,KAAK,IAAI,MAAM,EACpB,OAAAkB,GAAgB,IAAI,EAChBlB,IACGA,EAAA,QAAU,KAAK,IAAI,SAEnB,KAAK,OAEd,IAAI,MAAM6C,EAAU,CACd,KAAK,QACP,KAAK,OAAOA,CAAQ,CAGtB,CAEJ,CACA,SAAS1B,GAAS6J,EAAiBC,EAAcF,EAAQ,GAAO,CAC1D,IAAAG,EACAJ,EACA,OAAA1Q,GAAW4Q,CAAe,EACnBE,EAAAF,GAETE,EAASF,EAAgB,IACzBF,EAASE,EAAgB,KAEd,IAAIH,GAAgBK,EAAQJ,EAAQC,CAAK,CAMxD,CA8BA,MAAMI,GAAwB,CAAC,EACzBC,OAAiC,QACvC,IAAIC,GAIJ,SAASC,GAAiBC,EAAWlM,EAAe,GAAOmM,EAAQH,GAAe,CAChF,GAAIG,EAAO,CACL,IAAAC,EAAWL,GAAW,IAAII,CAAK,EAC9BC,GAAUL,GAAW,IAAII,EAAOC,EAAW,EAAE,EAClDA,EAAS,KAAKF,CAAS,EAM3B,CACA,SAASG,GAAMhB,EAAQiB,EAAIC,EAAU1S,GAAW,CAC9C,KAAM,CAAE,UAAA2S,EAAW,KAAAC,EAAM,KAAAC,EAAM,UAAAC,EAAW,WAAAC,EAAY,KAAAC,GAASN,EAQzDO,EAAkBC,GAClBN,EAAaM,EACbzI,GAAUyI,CAAO,GAAKN,IAAS,IAASA,IAAS,EAC5CO,GAASD,EAAS,CAAC,EACrBC,GAASD,CAAO,EAErBE,MACApB,EACApJ,EACAyK,EACAC,EAAe,GACfC,EAAgB,GA+CpB,GA9CIvO,GAAMwM,CAAM,GACdQ,EAAS,IAAMR,EAAO,MACtB8B,EAAe7I,GAAU+G,CAAM,GACtBzB,GAAWyB,CAAM,GACjBQ,EAAA,IAAMiB,EAAezB,CAAM,EACrB8B,EAAA,IACNzS,GAAQ2Q,CAAM,GACP+B,EAAA,GACDD,EAAA9B,EAAO,KAAMgC,GAAMzD,GAAWyD,CAAC,GAAK/I,GAAU+I,CAAC,CAAC,EAC/DxB,EAAS,IAAMR,EAAO,IAAKgC,GAAM,CAC3B,GAAAxO,GAAMwO,CAAC,EACT,OAAOA,EAAE,MACX,GAAWzD,GAAWyD,CAAC,EACrB,OAAOP,EAAeO,CAAC,EACzB,GAAWtS,GAAWsS,CAAC,EACrB,OAAOR,EAAOA,EAAKQ,EAAG,CAAC,EAAIA,EAAE,CAG/B,CACD,GACQtS,GAAWsQ,CAAM,EACtBiB,EACFT,EAASgB,EAAO,IAAMA,EAAKxB,EAAQ,CAAC,EAAIA,EAExCQ,EAAS,IAAM,CACb,GAAIpJ,EAAS,CACGF,GAAA,EACV,IACME,EAAA,SACR,CACcD,GAAA,EAChB,CAEF,MAAM8K,EAAgBtB,GACNiB,KACZ,IACK,OAAAJ,EAAOA,EAAKxB,EAAQ,EAAG,CAAC6B,CAAY,CAAC,EAAI7B,EAAO6B,CAAY,SACnE,CACgBlB,GAAAsB,CAAA,CAEpB,EAGOzB,EAAA9R,GAGPuS,GAAMG,EAAM,CACd,MAAMc,EAAa1B,EACb2B,EAAQf,IAAS,GAAO,IAAWA,EACzCZ,EAAS,IAAMmB,GAASO,EAAW,EAAGC,CAAK,EAE7C,MAAMC,EAAQ3N,GAAgB,EACxB4N,EAAc,IAAM,CACxBT,EAAO,KAAK,EACRQ,GAASA,EAAM,QACVrT,GAAAqT,EAAM,QAASR,CAAM,CAEhC,EACA,GAAIP,GAAQJ,EAAI,CACd,MAAMqB,EAAMrB,EACZA,EAAK,IAAI3H,IAAS,CAChBgJ,EAAI,GAAGhJ,CAAI,EACC+I,EAAA,CACd,EAEE,IAAApR,EAAW8Q,EAAgB,IAAI,MAAM/B,EAAO,MAAM,EAAE,KAAKS,EAAqB,EAAIA,GAChF,MAAA8B,EAAOC,GAAsB,CAC7B,OAAEZ,EAAO,MAAQ,IAAM,CAACA,EAAO,OAAS,CAACY,GAG7C,GAAIvB,EAAI,CACA,MAAA9I,EAAWyJ,EAAO,IAAI,EAC5B,GAAIR,GAAQU,IAAiBC,EAAgB5J,EAAS,KAAK,CAACpE,EAAG7E,IAAM8B,GAAW+C,EAAG9C,EAAS/B,CAAC,CAAC,CAAC,EAAI8B,GAAWmH,EAAUlH,CAAQ,GAAI,CAC9HmG,GACMA,EAAA,EAEV,MAAMqL,EAAiB9B,GACPiB,KACZ,IACF,MAAMtI,EAAO,CACXnB,EAEAlH,IAAawP,GAAwB,OAASsB,GAAiB9Q,EAAS,CAAC,IAAMwP,GAAwB,GAAKxP,EAC5G4Q,CACF,EACOL,IAAKP,EAAI,EAAG3H,CAAI,EAErB2H,EAAG,GAAG3H,CAAI,EAEDrI,EAAAkH,CAAA,QACX,CACgBwI,GAAA8B,CAAA,CAClB,CACF,MAEAb,EAAO,IAAI,CAEf,EACA,OAAIL,GACFA,EAAWgB,CAAG,EAEhBX,EAAS,IAAI9M,GAAe0L,CAAM,EAClCoB,EAAO,UAAYN,EAAY,IAAMA,EAAUiB,EAAK,EAAK,EAAIA,EAC7DV,EAAgBvR,GAAOsQ,GAAiBtQ,EAAI,GAAOsR,CAAM,EAC/CA,IAAO,OAAS,IAAM,CACxB,MAAAb,EAAWL,GAAW,IAAIkB,CAAM,EACtC,GAAIb,EAAU,CACZ,GAAIS,EACFA,EAAKT,EAAU,CAAC,MAEL,WAAA2B,KAAY3B,EAAmB2B,EAAA,EAE5ChC,GAAW,OAAOkB,CAAM,EAE5B,EAKIX,EACEE,EACFoB,EAAI,EAAI,EAERtR,EAAW2Q,EAAO,IAAI,EAEfN,EACTA,EAAUiB,EAAI,KAAK,KAAM,EAAI,EAAG,EAAI,EAEpCX,EAAO,IAAI,EAEbS,EAAY,MAAQT,EAAO,MAAM,KAAKA,CAAM,EAC5CS,EAAY,OAAST,EAAO,OAAO,KAAKA,CAAM,EAC9CS,EAAY,KAAOA,EACZA,CACT,CACA,SAASV,GAAS3R,EAAOmS,EAAQ,IAAUQ,EAAM,CAK3C,GAJAR,GAAS,GAAK,CAACtS,GAASG,CAAK,GAAKA,EAAM,WAGrC2S,SAA4B,IAC/BA,EAAK,IAAI3S,CAAK,GACT,OAAAA,EAIL,GAFJ2S,EAAK,IAAI3S,CAAK,EACdmS,IACI3O,GAAMxD,CAAK,EACJ2R,GAAA3R,EAAM,MAAOmS,EAAOQ,CAAI,UACxBtT,GAAQW,CAAK,EACtB,QAASd,EAAI,EAAGA,EAAIc,EAAM,OAAQd,IAChCyS,GAAS3R,EAAMd,CAAC,EAAGiT,EAAOQ,CAAI,UAEvBnT,GAAMQ,CAAK,GAAKV,GAAMU,CAAK,EAC9BA,EAAA,QAAS+D,GAAM,CACV4N,GAAA5N,EAAGoO,EAAOQ,CAAI,EACxB,UACQzS,GAAcF,CAAK,EAAG,CAC/B,UAAW1B,KAAO0B,EAChB2R,GAAS3R,EAAM1B,CAAG,EAAG6T,EAAOQ,CAAI,EAElC,UAAWrU,KAAO,OAAO,sBAAsB0B,CAAK,EAC9C,OAAO,UAAU,qBAAqB,KAAKA,EAAO1B,CAAG,GACvDqT,GAAS3R,EAAM1B,CAAG,EAAG6T,EAAOQ,CAAI,CAEpC,CAEK,OAAA3S,CACT,CCr2DA;AAAA;AAAA;AAAA;GAoMA,SAAS4S,GAAsBtS,EAAIuS,EAAU7K,EAAMsB,EAAM,CACnD,IACF,OAAOA,EAAOhJ,EAAG,GAAGgJ,CAAI,EAAIhJ,EAAG,QACxB6F,EAAK,CACA2M,GAAA3M,EAAK0M,EAAU7K,CAAI,EAEnC,CACA,SAAS+K,GAA2BzS,EAAIuS,EAAU7K,EAAMsB,EAAM,CACxD,GAAA5J,GAAWY,CAAE,EAAG,CAClB,MAAMuB,EAAM+Q,GAAsBtS,EAAIuS,EAAU7K,EAAMsB,CAAI,EACtD,OAAAzH,GAAO/B,GAAU+B,CAAG,GAClBA,EAAA,MAAOsE,GAAQ,CACL2M,GAAA3M,EAAK0M,EAAU7K,CAAI,EAChC,EAEInG,CAAA,CAEL,GAAAxC,GAAQiB,CAAE,EAAG,CACf,MAAM0S,EAAS,CAAC,EAChB,QAAS9T,EAAI,EAAGA,EAAIoB,EAAG,OAAQpB,IACtB8T,EAAA,KAAKD,GAA2BzS,EAAGpB,CAAC,EAAG2T,EAAU7K,EAAMsB,CAAI,CAAC,EAE9D,OAAA0J,CAAA,CAMX,CACA,SAASF,GAAY3M,EAAK0M,EAAU7K,EAAMiL,EAAa,GAAM,CACrD,MAAAC,EAAeL,EAAWA,EAAS,MAAQ,KAC3C,CAAE,aAAAM,EAAc,gCAAAC,GAAoCP,GAAYA,EAAS,WAAW,QAAUrU,GACpG,GAAIqU,EAAU,CACZ,IAAIQ,EAAMR,EAAS,OACnB,MAAMS,EAAkBT,EAAS,MAC3BU,EAAmF,8CAA8CvL,CAAI,GAC3I,KAAOqL,GAAK,CACV,MAAMG,EAAqBH,EAAI,GAC/B,GAAIG,GACF,QAAStU,EAAI,EAAGA,EAAIsU,EAAmB,OAAQtU,IAC7C,GAAIsU,EAAmBtU,CAAC,EAAEiH,EAAKmN,EAAiBC,CAAS,IAAM,GAC7D,OAINF,EAAMA,EAAI,OAEZ,GAAIF,EAAc,CACFjM,GAAA,EACQ0L,GAAAO,EAAc,KAAM,GAAI,CAC5ChN,EACAmN,EACAC,CAAA,CACD,EACapM,GAAA,EACd,OACF,CAEFsM,GAAStN,EAAK6B,EAAMkL,EAAcD,EAAYG,CAA+B,CAC/E,CACA,SAASK,GAAStN,EAAK6B,EAAMkL,EAAcD,EAAa,GAAMS,EAAc,GAAO,IAetEA,EACH,MAAAvN,EAEN,QAAQ,MAAMA,CAAG,CAErB,CAEA,MAAMwN,GAAQ,CAAC,EACf,IAAIC,GAAa,GACjB,MAAMC,GAAsB,CAAC,EAC7B,IAAIC,GAAqB,KACrBC,GAAiB,EACrB,MAAMC,WAA0C,QAAQ,EACxD,IAAIC,GAAsB,KAE1B,SAASC,GAAS5T,EAAI,CACpB,MAAM6T,EAAIF,IAAuBD,GAC1B,OAAA1T,EAAK6T,EAAE,KAAK,KAAO7T,EAAG,KAAK,IAAI,EAAIA,CAAE,EAAI6T,CAClD,CACA,SAASC,GAAmBC,EAAI,CAC9B,IAAIC,EAAQV,GAAa,EACrBW,EAAMZ,GAAM,OAChB,KAAOW,EAAQC,GAAK,CACZ,MAAAC,EAASF,EAAQC,IAAQ,EACzBE,EAAYd,GAAMa,CAAM,EACxBE,EAAcC,GAAMF,CAAS,EAC/BC,EAAcL,GAAMK,IAAgBL,GAAMI,EAAU,MAAQ,EAC9DH,EAAQE,EAAS,EAEXD,EAAAC,CACR,CAEK,OAAAF,CACT,CACA,SAASM,GAASrC,EAAK,CACjB,KAAEA,EAAI,MAAQ,GAAI,CACd,MAAAsC,EAAQF,GAAMpC,CAAG,EACjBuC,EAAUnB,GAAMA,GAAM,OAAS,CAAC,EAClC,CAACmB,GACL,EAAEvC,EAAI,MAAQ,IAAMsC,GAASF,GAAMG,CAAO,EACxCnB,GAAM,KAAKpB,CAAG,EAEdoB,GAAM,OAAOS,GAAmBS,CAAK,EAAG,EAAGtC,CAAG,EAEhDA,EAAI,OAAS,EACFwC,GAAA,EAEf,CACA,SAASA,IAAa,CACfd,KACmBA,GAAAD,GAAgB,KAAKgB,EAAS,EAExD,CACA,SAASC,GAAiBhE,EAAI,CACvB5R,GAAQ4R,CAAE,EAQO4C,GAAA,KAAK,GAAG5C,CAAE,EAP1B6C,IAAsB7C,EAAG,KAAO,GAClC6C,GAAmB,OAAOC,GAAiB,EAAG,EAAG9C,CAAE,EACxCA,EAAG,MAAQ,IACtB4C,GAAoB,KAAK5C,CAAE,EAC3BA,EAAG,OAAS,GAKL8D,GAAA,CACb,CACA,SAASG,GAAiBrC,EAAUF,EAAMzT,EAAI0U,GAAa,EAAG,CAIrD,KAAA1U,EAAIyU,GAAM,OAAQzU,IAAK,CACtB,MAAA+R,EAAK0C,GAAMzU,CAAC,EACd,GAAA+R,GAAMA,EAAG,MAAQ,EAAG,CACtB,GAAI4B,GAAY5B,EAAG,KAAO4B,EAAS,IACjC,SAKIc,GAAA,OAAOzU,EAAG,CAAC,EACjBA,IACI+R,EAAG,MAAQ,IACbA,EAAG,OAAS,IAEXA,EAAA,EACGA,EAAG,MAAQ,IACfA,EAAG,OAAS,GACd,CACF,CAEJ,CACA,SAASkE,GAAkBxC,EAAM,CAC/B,GAAIkB,GAAoB,OAAQ,CAC9B,MAAMuB,EAAU,CAAC,GAAG,IAAI,IAAIvB,EAAmB,CAAC,EAAE,KAChD,CAAChR,EAAGC,IAAM6R,GAAM9R,CAAC,EAAI8R,GAAM7R,CAAC,CAC9B,EAEA,GADA+Q,GAAoB,OAAS,EACzBC,GAAoB,CACHA,GAAA,KAAK,GAAGsB,CAAO,EAClC,OAMF,IAJqBtB,GAAAsB,EAIhBrB,GAAiB,EAAGA,GAAiBD,GAAmB,OAAQC,KAAkB,CAC/E,MAAA9C,EAAK6C,GAAmBC,EAAc,EAIxC9C,EAAG,MAAQ,IACbA,EAAG,OAAS,IAERA,EAAG,MAAQ,GAAOA,EAAA,EACxBA,EAAG,OAAS,EAAC,CAEM6C,GAAA,KACJC,GAAA,EAErB,CACA,MAAMY,GAASpC,GAAQA,EAAI,IAAM,KAAOA,EAAI,MAAQ,EAAI,GAAK,IAAWA,EAAI,GAC5E,SAASyC,GAAUrC,EAAM,CAKnB,IACF,IAAKiB,GAAa,EAAGA,GAAaD,GAAM,OAAQC,KAAc,CACtD,MAAArB,EAAMoB,GAAMC,EAAU,EACxBrB,GAAO,EAAEA,EAAI,MAAQ,KAInBA,EAAI,MAAQ,IACdA,EAAI,OAAS,IAEfK,GACEL,EACAA,EAAI,EACJA,EAAI,EAAI,GAAK,EACf,EACMA,EAAI,MAAQ,IAChBA,EAAI,OAAS,IAEjB,CACF,QACA,CACO,KAAAqB,GAAaD,GAAM,OAAQC,KAAc,CACxC,MAAArB,EAAMoB,GAAMC,EAAU,EACxBrB,IACFA,EAAI,OAAS,GACf,CAEWqB,GAAA,GACbD,GAAM,OAAS,EACfwB,GAAsB,EACAlB,GAAA,MAClBN,GAAM,QAAUE,GAAoB,SACtCmB,GAAc,CAChB,CAEJ,CAwOA,IAAIK,GAA2B,KAC3BC,GAAiB,KACrB,SAASC,GAA4B1C,EAAU,CAC7C,MAAMvM,EAAO+O,GACc,OAAAA,GAAAxC,EACVyC,GAAAzC,GAAYA,EAAS,KAAK,WAAa,KACjDvM,CACT,CAQA,SAASkP,GAAQlV,EAAImV,EAAMJ,GAA0BK,EAAiB,CAEpE,GADI,CAACD,GACDnV,EAAG,GACE,OAAAA,EAEH,MAAAqV,EAAsB,IAAIrM,IAAS,CACnCqM,EAAoB,IACtBC,GAAiB,EAAE,EAEf,MAAAC,EAAeN,GAA4BE,CAAG,EAChD,IAAA5T,EACA,IACIA,EAAAvB,EAAG,GAAGgJ,CAAI,SAChB,CACAiM,GAA4BM,CAAY,EACpCF,EAAoB,IACtBC,GAAiB,CAAC,CACpB,CAKK,OAAA/T,CACT,EACA,OAAA8T,EAAoB,GAAK,GACzBA,EAAoB,GAAK,GACzBA,EAAoB,GAAK,GAClBA,CACT,CAOA,SAASG,GAAeC,EAAOC,EAAY,CACzC,GAAIX,KAA6B,KAExB,OAAAU,EAEH,MAAAlD,EAAWoD,GAA2BZ,EAAwB,EAC9Da,EAAWH,EAAM,OAASA,EAAM,KAAO,IAC7C,QAAS,EAAI,EAAG,EAAIC,EAAW,OAAQ,IAAK,CACtC,IAACG,EAAKnW,EAAOoB,EAAKgV,EAAY5X,EAAS,EAAIwX,EAAW,CAAC,EACvDG,IACEzW,GAAWyW,CAAG,IACVA,EAAA,CACJ,QAASA,EACT,QAASA,CACX,GAEEA,EAAI,MACNxE,GAAS3R,CAAK,EAEhBkW,EAAS,KAAK,CACZ,IAAAC,EACA,SAAAtD,EACA,MAAA7S,EACA,SAAU,OACV,IAAAoB,EACA,UAAAgV,CAAA,CACD,EACH,CAEK,OAAAL,CACT,CACA,SAASM,GAAoBN,EAAOO,EAAWzD,EAAUrQ,EAAM,CAC7D,MAAM0T,EAAWH,EAAM,KACjBQ,EAAcD,GAAaA,EAAU,KAC3C,QAASpX,EAAI,EAAGA,EAAIgX,EAAS,OAAQhX,IAAK,CAClC,MAAAsX,EAAUN,EAAShX,CAAC,EACtBqX,IACMC,EAAA,SAAWD,EAAYrX,CAAC,EAAE,OAEhC,IAAAuX,EAAOD,EAAQ,IAAIhU,CAAI,EACvBiU,IACYvP,GAAA,EACa6L,GAAA0D,EAAM5D,EAAU,EAAG,CAC5CkD,EAAM,GACNS,EACAT,EACAO,CAAA,CACD,EACanP,GAAA,EAChB,CAEJ,CAEA,MAAMuP,GAAiB,OAAO,MAAM,EAC9BC,GAAc3O,GAASA,EAAK,aAgqBlC,SAAS4O,GAAmBb,EAAOc,EAAO,CACpCd,EAAM,UAAY,GAAKA,EAAM,WAC/BA,EAAM,WAAac,EACAD,GAAAb,EAAM,UAAU,QAASc,CAAK,GACxCd,EAAM,UAAY,KAC3BA,EAAM,UAAU,WAAac,EAAM,MAAMd,EAAM,SAAS,EACxDA,EAAM,WAAW,WAAac,EAAM,MAAMd,EAAM,UAAU,GAE1DA,EAAM,WAAac,CAEvB,CAwBA,2BAEA,SAASC,GAAgB5F,EAAS6F,EAAc,CAC9C,OAAOrX,GAAWwR,CAAO,EAGApS,GAAO,CAAE,KAAMoS,EAAQ,IAAQ,EAAA6F,EAAc,CAAE,MAAO7F,EAAS,EACpFA,CACN,CAaA,SAAS8F,GAAkBnE,EAAU,CACnCA,EAAS,IAAM,CAACA,EAAS,IAAI,CAAC,EAAIA,EAAS,IAAI,CAAC,IAAM,IAAK,EAAG,CAAC,CACjE,CA8BA,SAASoE,GAAOC,EAAQC,EAAWC,EAAgBrB,EAAOsB,EAAY,GAAO,CACvE,GAAAhY,GAAQ6X,CAAM,EAAG,CACZA,EAAA,QACL,CAACzI,EAAGvP,IAAM+X,GACRxI,EACA0I,IAAc9X,GAAQ8X,CAAS,EAAIA,EAAUjY,CAAC,EAAIiY,GAClDC,EACArB,EACAsB,CAAA,CAEJ,EACA,OAEF,GAAIC,GAAevB,CAAK,GAAK,CAACsB,EAAW,CACnCtB,EAAM,UAAY,KAAOA,EAAM,KAAK,iBAAmBA,EAAM,UAAU,QAAQ,WACjFkB,GAAOC,EAAQC,EAAWC,EAAgBrB,EAAM,UAAU,OAAO,EAEnE,OAEI,MAAAwB,EAAWxB,EAAM,UAAY,EAAIE,GAA2BF,EAAM,SAAS,EAAIA,EAAM,GACrF/V,EAAQqX,EAAY,KAAOE,EAC3B,CAAE,EAAGzG,EAAO,EAAGpC,CAAQ,EAAAwI,EAOvBM,EAASL,GAAaA,EAAU,EAChCM,EAAO3G,EAAM,OAAStS,GAAYsS,EAAM,KAAO,GAAKA,EAAM,KAC1D4G,EAAa5G,EAAM,WACnB6G,EAAgB3O,GAAM0O,CAAU,EAChCE,EAAiBF,IAAelZ,GAAY,IAAM,GAASF,GAWxDc,GAAOuY,EAAerZ,CAAG,EAY9B,GAVAkZ,GAAU,MAAQA,IAAW9I,IAC3B/O,GAAS6X,CAAM,GACjBC,EAAKD,CAAM,EAAI,KACXI,EAAeJ,CAAM,IACvBE,EAAWF,CAAM,EAAI,OAEdhU,GAAMgU,CAAM,IACrBA,EAAO,MAAQ,OAGf9X,GAAWgP,CAAG,EAChBkE,GAAsBlE,EAAKoC,EAAO,GAAI,CAAC9Q,EAAOyX,CAAI,CAAC,MAC9C,CACC,MAAAI,EAAYlY,GAAS+O,CAAG,EACxBoJ,EAAStU,GAAMkL,CAAG,EACxB,GAAImJ,GAAaC,EAAQ,CACvB,MAAMC,EAAQ,IAAM,CAClB,GAAIb,EAAO,EAAG,CACN,MAAAc,EAAWH,EAAYD,EAAelJ,CAAG,EAAIgJ,EAAWhJ,CAAG,EAAI+I,EAAK/I,CAAG,EAAIA,EAAI,MACjF2I,EACFhY,GAAQ2Y,CAAQ,GAAKjZ,GAAOiZ,EAAUT,CAAQ,EAEzClY,GAAQ2Y,CAAQ,EAUTA,EAAS,SAAST,CAAQ,GACpCS,EAAS,KAAKT,CAAQ,EAVlBM,GACGnJ,GAAG,EAAI,CAAC6I,CAAQ,EACjBK,EAAelJ,CAAG,IACTA,GAAG,EAAI+I,EAAK/I,CAAG,KAG5BA,EAAI,MAAQ,CAAC6I,CAAQ,EACjBL,EAAO,IAAGO,EAAKP,EAAO,CAAC,EAAIxI,EAAI,aAMhCmJ,GACTJ,EAAK/I,CAAG,EAAI1O,EACR4X,EAAelJ,CAAG,IACpBgJ,EAAWhJ,CAAG,EAAI1O,IAEX8X,IACTpJ,EAAI,MAAQ1O,EACRkX,EAAO,IAAQO,EAAAP,EAAO,CAAC,EAAIlX,GAInC,EACIA,GACF+X,EAAM,GAAK,GACXE,GAAsBF,EAAOX,CAAc,GAErCW,EAAA,CACR,CAGF,CAEJ,CAuoB4BpW,GAAgB,sBACjBA,GAAc,EAAE,mBA0F3C,MAAM2V,GAAkBpY,GAAM,CAAC,CAACA,EAAE,KAAK,cA4JjCgZ,GAAenC,GAAUA,EAAM,KAAK,cAwN1C,SAASoC,GAAY1B,EAAM1O,EAAQ,CACXqQ,GAAA3B,EAAM,IAAK1O,CAAM,CACzC,CACA,SAASsQ,GAAc5B,EAAM1O,EAAQ,CACbqQ,GAAA3B,EAAM,KAAM1O,CAAM,CAC1C,CACA,SAASqQ,GAAsB3B,EAAMzO,EAAMD,EAASuQ,GAAiB,CACnE,MAAMC,EAAc9B,EAAK,QAAUA,EAAK,MAAQ,IAAM,CACpD,IAAI+B,EAAUzQ,EACd,KAAOyQ,GAAS,CACd,GAAIA,EAAQ,cACV,OAEFA,EAAUA,EAAQ,OAEpB,OAAO/B,EAAK,IAGd,GADWgC,GAAAzQ,EAAMuQ,EAAaxQ,CAAM,EAChCA,EAAQ,CACV,IAAIyQ,EAAUzQ,EAAO,OACd,KAAAyQ,GAAWA,EAAQ,QACpBN,GAAYM,EAAQ,OAAO,KAAK,GACZE,GAAAH,EAAavQ,EAAMD,EAAQyQ,CAAO,EAE1DA,EAAUA,EAAQ,MACpB,CAEJ,CACA,SAASE,GAAsBjC,EAAMzO,EAAMD,EAAQ4Q,EAAe,CAChE,MAAMC,EAAWH,GACfzQ,EACAyO,EACAkC,EACA,EAEF,EACAE,GAAY,IAAM,CACT9Z,GAAA4Z,EAAc3Q,CAAI,EAAG4Q,CAAQ,GACnC7Q,CAAM,CACX,CASA,SAAS0Q,GAAWzQ,EAAMyO,EAAM1O,EAASuQ,GAAiBQ,EAAU,GAAO,CACzE,GAAI/Q,EAAQ,CACV,MAAM8O,EAAQ9O,EAAOC,CAAI,IAAMD,EAAOC,CAAI,EAAI,IACxCuQ,EAAc9B,EAAK,QAAUA,EAAK,MAAQ,IAAInN,IAAS,CAC7CpC,GAAA,EACR,MAAA6R,EAAQC,GAAmBjR,CAAM,EACjClG,EAAMkR,GAA2B0D,EAAM1O,EAAQC,EAAMsB,CAAI,EACzD,OAAAyP,EAAA,EACQ5R,GAAA,EACPtF,CAAA,GAET,OAAIiX,EACFjC,EAAM,QAAQ0B,CAAW,EAEzB1B,EAAM,KAAK0B,CAAW,EAEjBA,CAAA,CAOX,CACA,MAAMU,GAAcC,GAAc,CAACzC,EAAM1O,EAASuQ,KAAoB,EAChE,CAACa,IAAyBD,IAAc,OAC1CT,GAAWS,EAAW,IAAI5P,IAASmN,EAAK,GAAGnN,CAAI,EAAGvB,CAAM,CAE5D,EACMqR,GAAgBH,GAAW,IAAI,EAC/BI,GAAYJ,GAAW,GAAG,EAC1BK,GAAiBL,GACrB,IACF,EACMM,GAAYN,GAAW,GAAG,EAC1BO,GAAkBP,GACtB,KACF,EACMJ,GAAcI,GAAW,IAAI,EAC7BQ,GAAmBR,GACvB,IACF,EACMS,GAAoBT,GAAW,KAAK,EACpCU,GAAkBV,GAAW,KAAK,EACxC,SAASW,GAAgBnD,EAAM1O,EAASuQ,GAAiB,CAC5CG,GAAA,KAAMhC,EAAM1O,CAAM,CAC/B,CAEA,MAAM8R,GAAa,aAEnB,SAASC,GAAiBtX,EAAMuX,EAAoB,CAClD,OAAOC,GAAaH,GAAYrX,EAAM,GAAMuX,CAAkB,GAAKvX,CACrE,CACA,MAAMyX,GAAyB,OAAO,IAAI,OAAO,EAWjD,SAASD,GAAahS,EAAMxF,EAAM0X,EAAc,GAAMH,EAAqB,GAAO,CAChF,MAAMlH,EAAWwC,IAA4BiD,GAC7C,GAAIzF,EAAU,CACZ,MAAMsH,EAAYtH,EAAS,KACF,CACvB,MAAMuH,EAAWC,GACfF,EACA,EACF,EACA,GAAIC,IAAaA,IAAa5X,GAAQ4X,IAAa3Z,GAAS+B,CAAI,GAAK4X,IAAatZ,GAAWL,GAAS+B,CAAI,CAAC,GAClG,OAAA2X,CACT,CAEI,MAAAtY,EAGJyY,GAAQzH,EAAS7K,CAAI,GAAKmS,EAAUnS,CAAI,EAAGxF,CAAI,GAC/C8X,GAAQzH,EAAS,WAAW7K,CAAI,EAAGxF,CAAI,EAErC,OAACX,GAAOkY,EACHI,EAOFtY,CAAA,CAMX,CACA,SAASyY,GAAQC,EAAU/X,EAAM,CAC/B,OAAO+X,IAAaA,EAAS/X,CAAI,GAAK+X,EAAS9Z,GAAS+B,CAAI,CAAC,GAAK+X,EAASzZ,GAAWL,GAAS+B,CAAI,CAAC,CAAC,EACvG,CAEA,SAASgY,GAAWxK,EAAQyK,EAAYla,EAAOmK,EAAO,CAChD,IAAArI,EACE,MAAAqY,EAASna,EACToa,EAAgBtb,GAAQ2Q,CAAM,EAChC,GAAA2K,GAAiBhb,GAASqQ,CAAM,EAAG,CAC/B,MAAA4K,EAAwBD,GAAiBpM,GAAWyB,CAAM,EAChE,IAAI1F,EAAY,GACZsQ,IACUtQ,EAAA,CAACrB,GAAU+G,CAAM,EAC7BA,EAAS7G,GAAiB6G,CAAM,GAE5B3N,EAAA,IAAI,MAAM2N,EAAO,MAAM,EAC7B,QAAS9Q,EAAI,EAAGkF,EAAI4L,EAAO,OAAQ9Q,EAAIkF,EAAGlF,IACxCmD,EAAInD,CAAC,EAAIub,EACPnQ,EAAYpB,GAAW8G,EAAO9Q,CAAC,CAAC,EAAI8Q,EAAO9Q,CAAC,EAC5CA,EACA,OACAwb,CACF,CACF,SACS,OAAO1K,GAAW,SAAU,CAI/B3N,EAAA,IAAI,MAAM2N,CAAM,EACtB,QAAS9Q,EAAI,EAAGA,EAAI8Q,EAAQ9Q,IACtBmD,EAAAnD,CAAC,EAAIub,EAAWvb,EAAI,EAAGA,EAAG,OAAQwb,CAAmB,CAC3D,SACS7a,GAASmQ,CAAM,EACpB,GAAAA,EAAO,OAAO,QAAQ,EACxB3N,EAAM,MAAM,KACV2N,EACA,CAAClO,EAAM5C,IAAMub,EAAW3Y,EAAM5C,EAAG,OAAQwb,CAAmB,CAC9D,MACK,CACC,MAAAG,EAAO,OAAO,KAAK7K,CAAM,EACzB3N,EAAA,IAAI,MAAMwY,EAAK,MAAM,EAC3B,QAAS3b,EAAI,EAAGkF,EAAIyW,EAAK,OAAQ3b,EAAIkF,EAAGlF,IAAK,CACrC,MAAAZ,EAAMuc,EAAK3b,CAAC,EACdmD,EAAAnD,CAAC,EAAIub,EAAWzK,EAAO1R,CAAG,EAAGA,EAAKY,EAAGwb,CAAmB,EAC9D,MAGFrY,EAAM,CAAC,EAKF,OAAAA,CACT,CAoBA,SAASyY,GAAWC,EAAOvY,EAAMwY,EAAQ,CAAC,EAAGC,EAAUC,EAAW,CAC5D,GAAA7F,GAAyB,IAAMA,GAAyB,QAAUiC,GAAejC,GAAyB,MAAM,GAAKA,GAAyB,OAAO,GAEvJ,OAAO8F,GAAa,EAAAC,GAClBC,GACA,KACA,CAACC,GAAY,OAAQN,EAAOC,CAAsB,CAAC,EACnD,EACF,EAEE,IAAAM,EAAOR,EAAMvY,CAAI,EAOjB+Y,GAAQA,EAAK,KACfA,EAAK,GAAK,IAEFJ,GAAA,EACV,MAAMK,EAAmBD,GAAQE,GAAiBF,EAAKP,CAAK,CAAC,EACvDU,EAAUV,EAAM,KAEtBQ,GAAoBA,EAAiB,IAC/BG,EAAWP,GACfC,GACA,CACE,KAAMK,GAAW,CAAC9b,GAAS8b,CAAO,EAAIA,EAAU,IAAIlZ,CAAI,IACf,EAC3C,EACAgZ,GAA6C,GAC7CA,GAAoBT,EAAM,IAAM,EAAI,GAAK,EAC3C,EACI,OAACG,GAAaS,EAAS,UACzBA,EAAS,aAAe,CAACA,EAAS,QAAU,IAAI,GAE9CJ,GAAQA,EAAK,KACfA,EAAK,GAAK,IAELI,CACT,CACA,SAASF,GAAiBG,EAAQ,CACzB,OAAAA,EAAO,KAAMC,GACbC,GAAQD,CAAK,EACd,EAAAA,EAAM,OAASE,IACfF,EAAM,OAASR,IAAY,CAACI,GAAiBI,EAAM,QAAQ,GAFnC,EAK7B,EAAID,EAAS,IAChB,CAcA,MAAMI,GAAqB9c,GACpBA,EACD+c,GAAoB/c,CAAC,EAAU+W,GAA2B/W,CAAC,EACxD8c,GAAkB9c,EAAE,MAAM,EAFlB,KAIXgd,GAGmCpd,GAAA,OAAO,OAAO,IAAI,EAAG,CAC1D,EAAII,GAAMA,EACV,IAAMA,GAAMA,EAAE,MAAM,GACpB,MAAQA,GAAMA,EAAE,KAChB,OAASA,GAA6EA,EAAE,MACxF,OAASA,GAA6EA,EAAE,MACxF,OAASA,GAA6EA,EAAE,MACxF,MAAQA,GAA4EA,EAAE,KACtF,QAAUA,GAAM8c,GAAkB9c,EAAE,MAAM,EAC1C,MAAQA,GAAM8c,GAAkB9c,EAAE,IAAI,EACtC,MAAQA,GAAMA,EAAE,GAChB,MAAQA,GAAMA,EAAE,KAChB,SAAWA,GAA4Bid,GAAqBjd,CAAC,EAC7D,aAAeA,GAAMA,EAAE,IAAMA,EAAE,EAAI,IAAM,CACvC0V,GAAS1V,EAAE,MAAM,IAEnB,UAAYA,GAAMA,EAAE,IAAMA,EAAE,EAAIgV,GAAS,KAAKhV,EAAE,KAAK,GACrD,OAASA,GAA4Bkd,GAAc,KAAKld,CAAC,CAC1D,GAGGmd,GAAkB,CAACC,EAAOhe,IAAQge,IAAU9d,IAAa,CAAC8d,EAAM,iBAAmBld,GAAOkd,EAAOhe,CAAG,EACpGie,GAA8B,CAClC,IAAI,CAAE,EAAG1J,CAAA,EAAYvU,EAAK,CACxB,GAAIA,IAAQ,WACH,SAEH,MAAE,IAAAmX,EAAK,WAAAiC,EAAY,KAAA8E,EAAM,MAAAxB,EAAO,YAAAyB,EAAa,KAAAzU,EAAM,WAAA0U,GAAe7J,EAIpE,IAAA8J,EACA,GAAAre,EAAI,CAAC,IAAM,IAAK,CACZ,MAAAmD,EAAIgb,EAAYne,CAAG,EACzB,GAAImD,IAAM,OACR,OAAQA,EAAG,CACT,IAAK,GACH,OAAOiW,EAAWpZ,CAAG,EACvB,IAAK,GACH,OAAOke,EAAKle,CAAG,EACjB,IAAK,GACH,OAAOmX,EAAInX,CAAG,EAChB,IAAK,GACH,OAAO0c,EAAM1c,CAAG,MAEX,IAAA+d,GAAgB3E,EAAYpZ,CAAG,EACxC,OAAAme,EAAYne,CAAG,EAAI,EACZoZ,EAAWpZ,CAAG,KACZke,IAAShe,IAAaY,GAAOod,EAAMle,CAAG,EAC/C,OAAAme,EAAYne,CAAG,EAAI,EACZke,EAAKle,CAAG,EACjB,IAGGqe,EAAkB9J,EAAS,aAAa,CAAC,IAAMzT,GAAOud,EAAiBre,CAAG,EAE3E,OAAAme,EAAYne,CAAG,EAAI,EACZ0c,EAAM1c,CAAG,KACPmX,IAAQjX,IAAaY,GAAOqW,EAAKnX,CAAG,EAC7C,OAAAme,EAAYne,CAAG,EAAI,EACZmX,EAAInX,CAAG,EACmBse,KACjCH,EAAYne,CAAG,EAAI,GACrB,CAEI,MAAAue,EAAeX,GAAoB5d,CAAG,EAC5C,IAAIwe,EAAWC,EACf,GAAIF,EACF,OAAIve,IAAQ,UACJwJ,GAAA+K,EAAS,MAAO,MAAO,EAAE,EAK1BgK,EAAahK,CAAQ,EAC9B,IAEGiK,EAAY9U,EAAK,gBAAkB8U,EAAYA,EAAUxe,CAAG,GAEtD,OAAAwe,KACErH,IAAQjX,IAAaY,GAAOqW,EAAKnX,CAAG,EAC7C,OAAAme,EAAYne,CAAG,EAAI,EACZmX,EAAInX,CAAG,EAChB,GAEEye,EAAmBL,EAAW,OAAO,iBAAkBtd,GAAO2d,EAAkBze,CAAG,EAGjF,OAAOye,EAAiBze,CAAG,CAiBjC,EACA,IAAI,CAAE,EAAGuU,CAAS,EAAGvU,EAAK0B,EAAO,CAC/B,KAAM,CAAE,KAAAwc,EAAM,WAAA9E,EAAY,IAAAjC,CAAQ,EAAA5C,EAC9B,OAAAwJ,GAAgB3E,EAAYpZ,CAAG,GACjCoZ,EAAWpZ,CAAG,EAAI0B,EACX,IAIEwc,IAAShe,IAAaY,GAAOod,EAAMle,CAAG,GAC/Cke,EAAKle,CAAG,EAAI0B,EACL,IACEZ,GAAOyT,EAAS,MAAOvU,CAAG,GAIjCA,EAAI,CAAC,IAAM,KAAOA,EAAI,MAAM,CAAC,IAAKuU,EAI7B,IASL4C,EAAInX,CAAG,EAAI0B,EAGR,GACT,EACA,IAAI,CACF,EAAG,CAAE,KAAAwc,EAAM,WAAA9E,EAAY,YAAA+E,EAAa,IAAAhH,EAAK,WAAAiH,EAAY,aAAAM,CAAa,GACjE1e,EAAK,CACF,IAAAqe,EACJ,MAAO,CAAC,CAACF,EAAYne,CAAG,GAAKke,IAAShe,IAAaY,GAAOod,EAAMle,CAAG,GAAK+d,GAAgB3E,EAAYpZ,CAAG,IAAMqe,EAAkBK,EAAa,CAAC,IAAM5d,GAAOud,EAAiBre,CAAG,GAAKc,GAAOqW,EAAKnX,CAAG,GAAKc,GAAO8c,GAAqB5d,CAAG,GAAKc,GAAOsd,EAAW,OAAO,iBAAkBpe,CAAG,CAC3R,EACA,eAAeyJ,EAAQzJ,EAAK2e,EAAY,CAClC,OAAAA,EAAW,KAAO,KACblV,EAAA,EAAE,YAAYzJ,CAAG,EAAI,EACnBc,GAAO6d,EAAY,OAAO,GACnC,KAAK,IAAIlV,EAAQzJ,EAAK2e,EAAW,MAAO,IAAI,EAEvC,QAAQ,eAAelV,EAAQzJ,EAAK2e,CAAU,EAEzD,EA4IA,SAASC,GAAsBlC,EAAO,CAC7B,OAAA3b,GAAQ2b,CAAK,EAAIA,EAAM,OAC5B,CAACjZ,EAAYoS,KAAOpS,EAAWoS,CAAC,EAAI,KAAMpS,GAC1C,EAAC,EACCiZ,CACN,CAoEA,IAAI4B,GAAoB,GACxB,SAASO,GAAatK,EAAU,CACxB,MAAA3B,EAAUiL,GAAqBtJ,CAAQ,EACvCuK,EAAavK,EAAS,MACtB4C,EAAM5C,EAAS,IACD+J,GAAA,GAChB1L,EAAQ,cACDmM,GAAAnM,EAAQ,aAAc2B,EAAU,IAAI,EAEzC,MAEJ,KAAMyK,EACN,SAAUC,EACV,QAAAC,EACA,MAAOC,EACP,QAASC,EACT,OAAQC,EAER,QAAAC,EACA,YAAAC,EACA,QAAAC,EACA,aAAAC,EACA,QAAAC,EACA,UAAAC,EACA,YAAAC,EACA,cAAAC,EACA,cAAAC,EACA,UAAAC,EACA,UAAAC,EACA,OAAAC,EACA,cAAAC,EACA,gBAAAC,EACA,cAAAC,EACA,eAAAC,GAEA,OAAAC,EACA,aAAAC,EAEA,WAAAC,EACA,WAAA9I,GACA,QAAA+I,EAAA,EACE7N,EAaJ,GAHIyM,GACgBqB,GAAArB,EAAelI,EAVqE,IAUxC,EAE5D+H,EACF,UAAWlf,MAAOkf,EAAS,CACnB,MAAAyB,GAAgBzB,EAAQlf,EAAG,EAC7BoB,GAAWuf,EAAa,IASxBxJ,EAAInX,EAAG,EAAI2gB,GAAc,KAAK7B,CAAU,EAS5C,CAGJ,GAAIE,EAAa,CAMf,MAAMd,GAAOc,EAAY,KAAKF,EAAYA,CAAU,EAM/Cvd,GAAS2c,EAAI,IAGP3J,EAAA,KAAOnH,GAAS8Q,EAAI,EAc/B,CAGF,GADoBI,GAAA,GAChBW,EACF,UAAWjf,MAAOif,EAAiB,CAC3B,MAAA2B,GAAM3B,EAAgBjf,EAAG,EACzBgP,GAAM5N,GAAWwf,EAAG,EAAIA,GAAI,KAAK9B,EAAYA,CAAU,EAAI1d,GAAWwf,GAAI,GAAG,EAAIA,GAAI,IAAI,KAAK9B,EAAYA,CAAU,EAAI1e,GAIxH6Q,EAAM,CAAC7P,GAAWwf,EAAG,GAAKxf,GAAWwf,GAAI,GAAG,EAAIA,GAAI,IAAI,KAAK9B,CAAU,EAIzE1e,GACEiC,EAAI8F,GAAS,CACjB,IAAA6G,GACA,IAAAiC,CAAA,CACD,EACM,sBAAekG,EAAKnX,GAAK,CAC9B,WAAY,GACZ,aAAc,GACd,IAAK,IAAMqC,EAAE,MACb,IAAMoD,GAAMpD,EAAE,MAAQoD,CAAA,CACvB,CAGD,CAGJ,GAAI0Z,EACF,UAAWnf,MAAOmf,EAChB0B,GAAc1B,EAAanf,EAAG,EAAGmX,EAAK2H,EAAY9e,EAAG,EAGzD,GAAIof,EAAgB,CAClB,MAAM0B,GAAW1f,GAAWge,CAAc,EAAIA,EAAe,KAAKN,CAAU,EAAIM,EAChF,QAAQ,QAAQ0B,EAAQ,EAAE,QAAS9gB,IAAQ,CACjC+gB,GAAA/gB,GAAK8gB,GAAS9gB,EAAG,CAAC,EAC3B,EAECsf,GACOP,GAAAO,EAAS/K,EAAU,GAAG,EAExB,SAAAyM,GAAsBC,GAAU9I,GAAM,CACzCpX,GAAQoX,EAAI,EACTA,GAAA,QAAS+I,IAAUD,GAASC,GAAM,KAAKpC,CAAU,CAAC,CAAC,EAC/C3G,IACA8I,GAAA9I,GAAK,KAAK2G,CAAU,CAAC,CAChC,CAcE,GAZJkC,GAAsBlG,GAAeyE,CAAW,EAChDyB,GAAsBjG,GAAWyE,CAAO,EACxCwB,GAAsBhG,GAAgByE,CAAY,EAClDuB,GAAsB/F,GAAWyE,CAAO,EACxCsB,GAAsBnH,GAAa8F,CAAS,EAC5CqB,GAAsBjH,GAAe6F,CAAW,EAChDoB,GAAsB1F,GAAiB8E,CAAa,EACpDY,GAAsB3F,GAAiB6E,CAAa,EACpDc,GAAsB5F,GAAmB+E,CAAe,EACxDa,GAAsB9F,GAAiB4E,CAAa,EACpDkB,GAAsBzG,GAAayF,CAAS,EAC5CgB,GAAsB7F,GAAkBkF,EAAc,EAClDtf,GAAQuf,CAAM,EAChB,GAAIA,EAAO,OAAQ,CACjB,MAAMa,GAAU5M,EAAS,UAAYA,EAAS,QAAU,IACjD+L,EAAA,QAAStgB,IAAQ,CACf,sBAAemhB,GAASnhB,GAAK,CAClC,IAAK,IAAM8e,EAAW9e,EAAG,EACzB,IAAMC,IAAQ6e,EAAW9e,EAAG,EAAIC,EAAA,CACjC,EACF,OACSsU,EAAS,UACnBA,EAAS,QAAU,CAAC,GAGpB0L,GAAU1L,EAAS,SAAWnU,KAChCmU,EAAS,OAAS0L,GAEhBM,GAAgB,OAClBhM,EAAS,aAAegM,GAEtBC,MAAqB,WAAaA,GAClC9I,OAAqB,WAAaA,IAClC2I,IACF3H,GAAkBnE,CAAQ,CAE9B,CACA,SAASmM,GAAkBrB,EAAelI,EAAKiK,EAA2BhhB,GAAM,CAC1EW,GAAQse,CAAa,IACvBA,EAAgBgC,GAAgBhC,CAAa,GAE/C,UAAWrf,KAAOqf,EAAe,CACzB,MAAAuB,EAAMvB,EAAcrf,CAAG,EACzB,IAAAsa,EACA/Y,GAASqf,CAAG,EACV,YAAaA,EACJtG,EAAAgH,GACTV,EAAI,MAAQ5gB,EACZ4gB,EAAI,QACJ,EACF,EAEWtG,EAAAgH,GAAOV,EAAI,MAAQ5gB,CAAG,EAGnCsa,EAAWgH,GAAOV,CAAG,EAEnB1b,GAAMoV,CAAQ,EACT,sBAAenD,EAAKnX,EAAK,CAC9B,WAAY,GACZ,aAAc,GACd,IAAK,IAAMsa,EAAS,MACpB,IAAM7U,GAAM6U,EAAS,MAAQ7U,CAAA,CAC9B,EAED0R,EAAInX,CAAG,EAAIsa,CAIb,CAEJ,CACA,SAASyE,GAAS5G,EAAM5D,EAAU7K,EAAM,CACtC+K,GACE1T,GAAQoX,CAAI,EAAIA,EAAK,IAAKoJ,GAAMA,EAAE,KAAKhN,EAAS,KAAK,CAAC,EAAI4D,EAAK,KAAK5D,EAAS,KAAK,EAClFA,EACA7K,CACF,CACF,CACA,SAASmX,GAAcpW,EAAK0M,EAAK2H,EAAY9e,EAAK,CAC5C,IAAAkS,EAASlS,EAAI,SAAS,GAAG,EAAIwhB,GAAiB1C,EAAY9e,CAAG,EAAI,IAAM8e,EAAW9e,CAAG,EACrF,GAAAqB,GAASoJ,CAAG,EAAG,CACX,MAAAgX,EAAUtK,EAAI1M,CAAG,EACnBrJ,GAAWqgB,CAAO,GAElB/O,GAAMR,EAAQuP,CAAO,CAIzB,SACSrgB,GAAWqJ,CAAG,EAErBiI,GAAMR,EAAQzH,EAAI,KAAKqU,CAAU,CAAC,UAE3Bvd,GAASkJ,CAAG,EACjB,GAAA1J,GAAQ0J,CAAG,EACTA,EAAA,QAAS0F,GAAM0Q,GAAc1Q,EAAGgH,EAAK2H,EAAY9e,CAAG,CAAC,MACpD,CACL,MAAMyhB,EAAUrgB,GAAWqJ,EAAI,OAAO,EAAIA,EAAI,QAAQ,KAAKqU,CAAU,EAAI3H,EAAI1M,EAAI,OAAO,EACpFrJ,GAAWqgB,CAAO,GACd/O,GAAAR,EAAQuP,EAAShX,CAAG,CAG5B,CAKN,CACA,SAASoT,GAAqBtJ,EAAU,CACtC,MAAMmN,EAAOnN,EAAS,KAChB,CAAE,OAAAoN,EAAQ,QAASC,CAAmB,EAAAF,EACtC,CACJ,OAAQG,EACR,aAAc5f,EACd,OAAQ,CAAE,sBAAA6f,CAAsB,GAC9BvN,EAAS,WACP6H,EAASna,EAAM,IAAIyf,CAAI,EACzB,IAAAK,EACJ,OAAI3F,EACS2F,EAAA3F,EACF,CAACyF,EAAa,QAAU,CAACF,GAAU,CAACC,EAEhCG,EAAAL,GAGbK,EAAW,CAAC,EACRF,EAAa,QACFA,EAAA,QACVG,GAAMC,GAAaF,EAAUC,EAAGF,EAAuB,EAAI,CAC9D,EAEWG,GAAAF,EAAUL,EAAMI,CAAqB,GAEhDvgB,GAASmgB,CAAI,GACTzf,EAAA,IAAIyf,EAAMK,CAAQ,EAEnBA,CACT,CACA,SAASE,GAAaC,EAAIC,EAAMC,EAAQC,EAAU,GAAO,CACvD,KAAM,CAAE,OAAAV,EAAQ,QAASC,CAAmB,EAAAO,EACxCP,GACWK,GAAAC,EAAIN,EAAgBQ,EAAQ,EAAI,EAE3CT,GACKA,EAAA,QACJK,GAAMC,GAAaC,EAAIF,EAAGI,EAAQ,EAAI,CACzC,EAEF,UAAWpiB,KAAOmiB,EACZ,KAAAE,GAAWriB,IAAQ,UAIhB,CACL,MAAMsiB,EAAQC,GAA0BviB,CAAG,GAAKoiB,GAAUA,EAAOpiB,CAAG,EACpEkiB,EAAGliB,CAAG,EAAIsiB,EAAQA,EAAMJ,EAAGliB,CAAG,EAAGmiB,EAAKniB,CAAG,CAAC,EAAImiB,EAAKniB,CAAG,EAGnD,OAAAkiB,CACT,CACA,MAAMK,GAA4B,CAChC,KAAMC,GACN,MAAOC,GACP,MAAOA,GAEP,QAASC,GACT,SAAUA,GAEV,aAAcC,GACd,QAASA,GACT,YAAaA,GACb,QAASA,GACT,aAAcA,GACd,QAASA,GACT,cAAeA,GACf,cAAeA,GACf,UAAWA,GACX,UAAWA,GACX,UAAWA,GACX,YAAaA,GACb,cAAeA,GACf,eAAgBA,GAEhB,WAAYD,GACZ,WAAYA,GAEZ,MAAOE,GAEP,QAASJ,GACT,OAAQK,EACV,EACA,SAASL,GAAYN,EAAIC,EAAM,CAC7B,OAAKA,EAGAD,EAGE,UAAwB,CACrB,OAAA1hB,GACNY,GAAW8gB,CAAE,EAAIA,EAAG,KAAK,KAAM,IAAI,EAAIA,EACvC9gB,GAAW+gB,CAAI,EAAIA,EAAK,KAAK,KAAM,IAAI,EAAIA,CAC7C,CACF,EAPSA,EAHAD,CAWX,CACA,SAASW,GAAYX,EAAIC,EAAM,CAC7B,OAAOO,GAAmBrB,GAAgBa,CAAE,EAAGb,GAAgBc,CAAI,CAAC,CACtE,CACA,SAASd,GAAgB5W,EAAK,CACxB,GAAA1J,GAAQ0J,CAAG,EAAG,CAChB,MAAMlH,EAAM,CAAC,EACb,QAAS3C,EAAI,EAAGA,EAAI6J,EAAI,OAAQ7J,IAC9B2C,EAAIkH,EAAI7J,CAAC,CAAC,EAAI6J,EAAI7J,CAAC,EAEd,OAAA2C,CAAA,CAEF,OAAAkH,CACT,CACA,SAASkY,GAAaT,EAAIC,EAAM,CAC9B,OAAOD,EAAK,CAAC,GAAG,IAAI,IAAI,GAAG,OAAOA,EAAIC,CAAI,CAAC,CAAC,EAAIA,CAClD,CACA,SAASO,GAAmBR,EAAIC,EAAM,CAC7B,OAAAD,EAAK1hB,GAA8B,cAAO,IAAI,EAAG0hB,EAAIC,CAAI,EAAIA,CACtE,CACA,SAASM,GAAyBP,EAAIC,EAAM,CAC1C,OAAID,EACEnhB,GAAQmhB,CAAE,GAAKnhB,GAAQohB,CAAI,EACtB,CAAC,GAAmB,IAAI,IAAI,CAAC,GAAGD,EAAI,GAAGC,CAAI,CAAC,CAAC,EAE/C3hB,GACW,OAAO,OAAO,IAAI,EAClCoe,GAAsBsD,CAAE,EACxBtD,GAAsBuD,GAAsB,CAAE,EAChD,EAEOA,CAEX,CACA,SAASS,GAAkBV,EAAIC,EAAM,CAC/B,IAACD,EAAW,OAAAC,EACZ,IAACA,EAAa,OAAAD,EAClB,MAAMY,EAAStiB,GAAuB,OAAO,OAAO,IAAI,EAAG0hB,CAAE,EAC7D,UAAWliB,KAAOmiB,EACTW,EAAA9iB,CAAG,EAAI2iB,GAAaT,EAAGliB,CAAG,EAAGmiB,EAAKniB,CAAG,CAAC,EAExC,OAAA8iB,CACT,CAEA,SAASC,IAAmB,CACnB,OACL,IAAK,KACL,OAAQ,CACN,YAAa1iB,GACb,YAAa,GACb,iBAAkB,CAAC,EACnB,sBAAuB,CAAC,EACxB,aAAc,OACd,YAAa,OACb,gBAAiB,EACnB,EACA,OAAQ,CAAC,EACT,WAAY,CAAC,EACb,WAAY,CAAC,EACb,SAAiC,cAAO,IAAI,EAC5C,iBAAkC,QAClC,eAAgC,QAChC,eAAgC,OAClC,CACF,CACA,IAAI2iB,GAAQ,EACZ,SAASC,GAAahD,EAAQiD,EAAS,CACrC,OAAO,SAAmBC,EAAeC,EAAY,KAAM,CACpDhiB,GAAW+hB,CAAa,IACXA,EAAA3iB,GAAO,CAAC,EAAG2iB,CAAa,GAEtCC,GAAa,MAAQ,CAAC7hB,GAAS6hB,CAAS,IAE9BA,EAAA,MAEd,MAAMC,EAAUN,GAAiB,EAC3BO,MAAuC,QACvCC,EAAmB,CAAC,EAC1B,IAAIC,EAAY,GACV,MAAAC,EAAMJ,EAAQ,IAAM,CACxB,KAAML,KACN,WAAYG,EACZ,OAAQC,EACR,WAAY,KACZ,SAAUC,EACV,UAAW,KACX,QAAAK,GACA,IAAI,QAAS,CACX,OAAOL,EAAQ,MACjB,EACA,IAAI,OAAO5d,EAAG,CAMd,EACA,IAAIke,KAAW/Q,EAAS,CAClB,OAAA0Q,EAAiB,IAAIK,CAAM,IAEpBA,GAAUviB,GAAWuiB,EAAO,OAAO,GAC5CL,EAAiB,IAAIK,CAAM,EACpBA,EAAA,QAAQF,EAAK,GAAG7Q,CAAO,GACrBxR,GAAWuiB,CAAM,IAC1BL,EAAiB,IAAIK,CAAM,EACpBA,EAAAF,EAAK,GAAG7Q,CAAO,IAMjB6Q,CACT,EACA,MAAMG,EAAO,CAET,OAAKP,EAAQ,OAAO,SAASO,CAAK,GACxBP,EAAA,OAAO,KAAKO,CAAK,EAStBH,CACT,EACA,UAAUvf,EAAM2f,EAAW,CAIzB,OAAKA,GAMGR,EAAA,WAAWnf,CAAI,EAAI2f,EACpBJ,GANEJ,EAAQ,WAAWnf,CAAI,CAOlC,EACA,UAAUA,EAAM4f,EAAW,CAIzB,OAAKA,GAMGT,EAAA,WAAWnf,CAAI,EAAI4f,EACpBL,GANEJ,EAAQ,WAAWnf,CAAI,CAOlC,EACA,MAAM6f,EAAeC,EAAWC,EAAW,CACzC,GAAI,CAACT,EAAW,CAOd,MAAM/L,EAAQgM,EAAI,UAAYzG,GAAYmG,EAAeC,CAAS,EAClE,OAAA3L,EAAM,WAAa4L,EACfY,IAAc,GACJA,EAAA,MACHA,IAAc,KACXA,EAAA,QAcLhE,EAAAxI,EAAOsM,EAAeE,CAAS,EAE5BT,EAAA,GACZC,EAAI,WAAaM,EACjBA,EAAc,YAAcN,EAKrB9L,GAA2BF,EAAM,SAAS,EAOrD,EACA,UAAUlF,EAAW,CAMnBgR,EAAiB,KAAKhR,CAAS,CACjC,EACA,SAAU,CACJiR,IACF/O,GACE8O,EACAE,EAAI,UACJ,EACF,EACOxD,EAAA,KAAMwD,EAAI,UAAU,EAK3B,OAAOA,EAAI,WAAW,YAI1B,EACA,QAAQzjB,EAAK0B,EAAO,CAMV,OAAA2hB,EAAA,SAASrjB,CAAG,EAAI0B,EACjB+hB,CACT,EACA,eAAezhB,EAAI,CACjB,MAAMkiB,EAAUC,GACHA,GAAAV,EACT,IACF,OAAOzhB,EAAG,SACV,CACamiB,GAAAD,CAAA,CACf,CAEJ,EACO,OAAAT,CACT,CACF,CACA,IAAIU,GAAa,KAEjB,SAASpD,GAAQ/gB,EAAK0B,EAAO,CAC3B,GAAKsY,GAIE,CACL,IAAI8G,EAAW9G,GAAgB,SAC/B,MAAMoK,EAAiBpK,GAAgB,QAAUA,GAAgB,OAAO,SACpEoK,IAAmBtD,IACrBA,EAAW9G,GAAgB,SAAW,OAAO,OAAOoK,CAAc,GAEpEtD,EAAS9gB,CAAG,EAAI0B,CAAA,CAEpB,CACA,SAAS4f,GAAOthB,EAAK2R,EAAc0S,EAAwB,GAAO,CAChE,MAAM9P,EAAWyF,IAAmBjD,GACpC,GAAIxC,GAAY4P,GAAY,CAC1B,MAAMrD,EAAWqD,GAAaA,GAAW,SAAS,SAAW5P,EAAWA,EAAS,QAAU,KAAOA,EAAS,MAAM,YAAcA,EAAS,MAAM,WAAW,SAAWA,EAAS,OAAO,SAAW,OAC3L,GAAAuM,GAAY9gB,KAAO8gB,EACrB,OAAOA,EAAS9gB,CAAG,EACrB,GAAW,UAAU,OAAS,EACrB,OAAAqkB,GAAyBjjB,GAAWuQ,CAAY,EAAIA,EAAa,KAAK4C,GAAYA,EAAS,KAAK,EAAI5C,CAG7G,CAIJ,CACA,SAAS2S,IAAsB,CACtB,OAAC,EAAEtK,IAAmBjD,IAA4BoN,GAC3D,CAEA,MAAMI,GAAsB,CAAC,EACvBC,GAAuB,IAAM,OAAO,OAAOD,EAAmB,EAC9DE,GAAoBzhB,GAAQ,OAAO,eAAeA,CAAG,IAAMuhB,GAEjE,SAASG,GAAUnQ,EAAUoQ,EAAUC,EAAY7S,EAAQ,GAAO,CAChE,MAAM2K,EAAQ,CAAC,EACTmI,EAAQL,GAAqB,EAC1BjQ,EAAA,cAAuC,cAAO,IAAI,EAC9CuQ,GAAAvQ,EAAUoQ,EAAUjI,EAAOmI,CAAK,EAC7C,UAAW7kB,KAAOuU,EAAS,aAAa,CAAC,EACjCvU,KAAO0c,IACXA,EAAM1c,CAAG,EAAI,QAMb4kB,EACFrQ,EAAS,MAAQxC,EAAQ2K,EAAQhN,GAAgBgN,CAAK,EAEjDnI,EAAS,KAAK,MAGjBA,EAAS,MAAQmI,EAFjBnI,EAAS,MAAQsQ,EAKrBtQ,EAAS,MAAQsQ,CACnB,CAOA,SAASE,GAAYxQ,EAAUoQ,EAAUK,EAAcC,EAAW,CAC1D,MACJ,MAAAvI,EACA,MAAAmI,EACA,MAAO,CAAE,UAAAK,CAAU,GACjB3Q,EACE4Q,EAAkBza,GAAMgS,CAAK,EAC7B,CAAC9J,CAAO,EAAI2B,EAAS,aAC3B,IAAI6Q,EAAkB,GACtB,IAI+EH,GAAaC,EAAY,IAAM,EAAEA,EAAY,KAE1H,GAAIA,EAAY,EAAG,CACX,MAAAG,EAAgB9Q,EAAS,MAAM,aACrC,QAAS3T,EAAI,EAAGA,EAAIykB,EAAc,OAAQzkB,IAAK,CACzC,IAAAZ,EAAMqlB,EAAczkB,CAAC,EACzB,GAAI0kB,GAAe/Q,EAAS,aAAcvU,CAAG,EAC3C,SAEI,MAAA0B,EAAQijB,EAAS3kB,CAAG,EAC1B,GAAI4S,EACE,GAAA9R,GAAO+jB,EAAO7kB,CAAG,EACf0B,IAAUmjB,EAAM7kB,CAAG,IACrB6kB,EAAM7kB,CAAG,EAAI0B,EACK0jB,EAAA,QAEf,CACC,MAAAG,EAAepjB,GAASnC,CAAG,EACjC0c,EAAM6I,CAAY,EAAIC,GACpB5S,EACAuS,EACAI,EACA7jB,EACA6S,EACA,EACF,OAGE7S,IAAUmjB,EAAM7kB,CAAG,IACrB6kB,EAAM7kB,CAAG,EAAI0B,EACK0jB,EAAA,GAEtB,CACF,MAEG,CACDN,GAAavQ,EAAUoQ,EAAUjI,EAAOmI,CAAK,IAC7BO,EAAA,IAEhB,IAAAK,EACJ,UAAWzlB,KAAOmlB,GACZ,CAACR,GACL,CAAC7jB,GAAO6jB,EAAU3kB,CAAG,KAEnBylB,EAAWljB,GAAUvC,CAAG,KAAOA,GAAO,CAACc,GAAO6jB,EAAUc,CAAQ,MAC5D7S,EACEoS,IACHA,EAAahlB,CAAG,IAAM,QACvBglB,EAAaS,CAAQ,IAAM,UACzB/I,EAAM1c,CAAG,EAAIwlB,GACX5S,EACAuS,EACAnlB,EACA,OACAuU,EACA,EACF,GAGF,OAAOmI,EAAM1c,CAAG,GAItB,GAAI6kB,IAAUM,EACZ,UAAWnlB,KAAO6kB,GACZ,CAACF,GAAY,CAAC7jB,GAAO6jB,EAAU3kB,CAAG,KACpC,OAAO6kB,EAAM7kB,CAAG,EACEolB,EAAA,GAGxB,CAEEA,GACMxb,GAAA2K,EAAS,MAAO,MAAO,EAAE,CAKrC,CACA,SAASuQ,GAAavQ,EAAUoQ,EAAUjI,EAAOmI,EAAO,CACtD,KAAM,CAACjS,EAAS8S,CAAY,EAAInR,EAAS,aACzC,IAAI6Q,EAAkB,GAClBO,EACJ,GAAIhB,EACF,QAAS3kB,KAAO2kB,EAAU,CACpB,GAAA7iB,GAAe9B,CAAG,EACpB,SAEI,MAAA0B,EAAQijB,EAAS3kB,CAAG,EACtB,IAAA4lB,EACAhT,GAAW9R,GAAO8R,EAASgT,EAAWzjB,GAASnC,CAAG,CAAC,EACjD,CAAC0lB,GAAgB,CAACA,EAAa,SAASE,CAAQ,EAClDlJ,EAAMkJ,CAAQ,EAAIlkB,GAEjBikB,IAAkBA,EAAgB,CAAC,IAAIC,CAAQ,EAAIlkB,EAE5C4jB,GAAe/Q,EAAS,aAAcvU,CAAG,IAC/C,EAAEA,KAAO6kB,IAAUnjB,IAAUmjB,EAAM7kB,CAAG,KACxC6kB,EAAM7kB,CAAG,EAAI0B,EACK0jB,EAAA,GAEtB,CAGJ,GAAIM,EAAc,CACV,MAAAP,EAAkBza,GAAMgS,CAAK,EAC7BmJ,EAAaF,GAAiBzlB,GACpC,QAASU,EAAI,EAAGA,EAAI8kB,EAAa,OAAQ9kB,IAAK,CACtC,MAAAZ,EAAM0lB,EAAa9kB,CAAC,EAC1B8b,EAAM1c,CAAG,EAAIwlB,GACX5S,EACAuS,EACAnlB,EACA6lB,EAAW7lB,CAAG,EACduU,EACA,CAACzT,GAAO+kB,EAAY7lB,CAAG,CACzB,EACF,CAEK,OAAAolB,CACT,CACA,SAASI,GAAiB5S,EAAS8J,EAAO1c,EAAK0B,EAAO6S,EAAUuR,EAAU,CAClE,MAAAlF,EAAMhO,EAAQ5S,CAAG,EACvB,GAAI4gB,GAAO,KAAM,CACT,MAAAmF,EAAajlB,GAAO8f,EAAK,SAAS,EACpC,GAAAmF,GAAcrkB,IAAU,OAAQ,CAClC,MAAMiQ,EAAeiP,EAAI,QACrB,GAAAA,EAAI,OAAS,UAAY,CAACA,EAAI,aAAexf,GAAWuQ,CAAY,EAAG,CACnE,MAAE,cAAAqU,GAAkBzR,EAC1B,GAAIvU,KAAOgmB,EACTtkB,EAAQskB,EAAchmB,CAAG,MACpB,CACC,MAAAya,EAAQC,GAAmBnG,CAAQ,EACjC7S,EAAAskB,EAAchmB,CAAG,EAAI2R,EAAa,KACxC,KACA+K,CACF,EACMjC,EAAA,EACR,MAEQ/Y,EAAAiQ,EAEN4C,EAAS,IACFA,EAAA,GAAG,SAASvU,EAAK0B,CAAK,CACjC,CAEEkf,EAAI,KACFkF,GAAY,CAACC,EACPrkB,EAAA,GACCkf,EAAI,KAA4Blf,IAAU,IAAMA,IAAUa,GAAUvC,CAAG,KACxE0B,EAAA,IAEZ,CAEK,OAAAA,CACT,CACA,MAAMukB,OAAsC,QAC5C,SAASC,GAAsBC,EAAM/H,EAAYiE,EAAU,GAAO,CAC1D,MAAApgB,EAA+BogB,EAAU4D,GAAkB7H,EAAW,WACtEhC,EAASna,EAAM,IAAIkkB,CAAI,EAC7B,GAAI/J,EACK,OAAAA,EAET,MAAM3R,EAAM0b,EAAK,MACX1iB,EAAa,CAAC,EACdiiB,EAAe,CAAC,EACtB,IAAIU,EAAa,GACU,IAAChlB,GAAW+kB,CAAI,EAAG,CACtC,MAAAE,EAAeC,GAAS,CACfF,EAAA,GACb,KAAM,CAAC1J,EAAOH,CAAI,EAAI2J,GAAsBI,EAAMlI,EAAY,EAAI,EAClE5d,GAAOiD,EAAYiZ,CAAK,EACpBH,GAAMmJ,EAAa,KAAK,GAAGnJ,CAAI,CACrC,EACI,CAAC8F,GAAWjE,EAAW,OAAO,QACrBA,EAAA,OAAO,QAAQiI,CAAW,EAEnCF,EAAK,SACPE,EAAYF,EAAK,OAAO,EAEtBA,EAAK,QACFA,EAAA,OAAO,QAAQE,CAAW,CACjC,CAEE,IAAC5b,GAAO,CAAC2b,EACP,OAAA7kB,GAAS4kB,CAAI,GACTlkB,EAAA,IAAIkkB,EAAMhmB,EAAS,EAEpBA,GAEL,GAAAY,GAAQ0J,CAAG,EACb,QAAS7J,EAAI,EAAGA,EAAI6J,EAAI,OAAQ7J,IAAK,CAInC,MAAM2lB,EAAgBpkB,GAASsI,EAAI7J,CAAC,CAAC,EACjC4lB,GAAiBD,CAAa,IAChC9iB,EAAW8iB,CAAa,EAAIrmB,GAC9B,SAEOuK,EAIT,UAAWzK,KAAOyK,EAAK,CACf,MAAA8b,EAAgBpkB,GAASnC,CAAG,EAC9B,GAAAwmB,GAAiBD,CAAa,EAAG,CAC7B,MAAA3F,EAAMnW,EAAIzK,CAAG,EACbymB,EAAOhjB,EAAW8iB,CAAa,EAAIxlB,GAAQ6f,CAAG,GAAKxf,GAAWwf,CAAG,EAAI,CAAE,KAAMA,GAAQpgB,GAAO,GAAIogB,CAAG,EACnG8F,EAAWD,EAAK,KACtB,IAAIE,EAAa,GACbC,EAAiB,GACjB,GAAA7lB,GAAQ2lB,CAAQ,EAClB,QAASta,EAAQ,EAAGA,EAAQsa,EAAS,OAAQ,EAAEta,EAAO,CAC9C,MAAA1C,EAAOgd,EAASta,CAAK,EACrBya,EAAWzlB,GAAWsI,CAAI,GAAKA,EAAK,KAC1C,GAAImd,IAAa,UAAW,CACbF,EAAA,GACb,WACSE,IAAa,WACLD,EAAA,GACnB,MAGFD,EAAavlB,GAAWslB,CAAQ,GAAKA,EAAS,OAAS,UAEzDD,EAAK,GAAsBE,EAC3BF,EAAK,GAA0BG,GAC3BD,GAAc7lB,GAAO2lB,EAAM,SAAS,IACtCf,EAAa,KAAKa,CAAa,CACjC,CACF,CAGE,MAAAhjB,EAAM,CAACE,EAAYiiB,CAAY,EACjC,OAAAnkB,GAAS4kB,CAAI,GACTlkB,EAAA,IAAIkkB,EAAM5iB,CAAG,EAEdA,CACT,CACA,SAASijB,GAAiBxmB,EAAK,CAC7B,OAAIA,EAAI,CAAC,IAAM,KAAO,CAAC8B,GAAe9B,CAAG,CAM3C,CAqHA,MAAM8mB,GAAiB9mB,GAAQA,EAAI,CAAC,IAAM,KAAOA,IAAQ,UACnD+mB,GAAsBrlB,GAAUX,GAAQW,CAAK,EAAIA,EAAM,IAAIslB,EAAc,EAAI,CAACA,GAAetlB,CAAK,CAAC,EACnGulB,GAAgB,CAACjnB,EAAKknB,EAAS/P,IAAQ,CAC3C,GAAI+P,EAAQ,GACH,OAAAA,EAEH,MAAAzjB,EAAayT,GAAQ,IAAIlM,IAMtB+b,GAAmBG,EAAQ,GAAGlc,CAAI,CAAC,EACzCmM,CAAG,EACN,OAAA1T,EAAW,GAAK,GACTA,CACT,EACM0jB,GAAuB,CAACC,EAAU3K,EAAOlI,IAAa,CAC1D,MAAM4C,EAAMiQ,EAAS,KACrB,UAAWpnB,KAAOonB,EAAU,CACtB,GAAAN,GAAc9mB,CAAG,EAAG,SAClB,MAAA0B,EAAQ0lB,EAASpnB,CAAG,EACtB,GAAAoB,GAAWM,CAAK,EAClB+a,EAAMzc,CAAG,EAAIinB,GAAcjnB,EAAK0B,EAAOyV,CAAG,UACjCzV,GAAS,KAAM,CAMlB,MAAA+B,EAAasjB,GAAmBrlB,CAAK,EACrC+a,EAAAzc,CAAG,EAAI,IAAMyD,CAAA,CACrB,CAEJ,EACM4jB,GAAsB,CAAC9S,EAAU+S,IAAa,CAM5C,MAAA7jB,EAAasjB,GAAmBO,CAAQ,EACrC/S,EAAA,MAAM,QAAU,IAAM9Q,CACjC,EACM8jB,GAAc,CAAC9K,EAAO6K,EAAUrC,IAAc,CAClD,UAAWjlB,KAAOsnB,GACZrC,GAAajlB,IAAQ,OACjByc,EAAAzc,CAAG,EAAIsnB,EAAStnB,CAAG,EAG/B,EACMwnB,GAAY,CAACjT,EAAU+S,EAAUrC,IAAc,CAC7C,MAAAxI,EAAQlI,EAAS,MAAQiQ,GAAqB,EAChD,GAAAjQ,EAAS,MAAM,UAAY,GAAI,CACjC,MAAM7K,EAAO4d,EAAS,EAClB5d,GACU6d,GAAA9K,EAAO6K,EAAUrC,CAAS,EAClCA,GACEliB,GAAA0Z,EAAO,IAAK/S,EAAM,EAAI,GAG5Byd,GAAqBG,EAAU7K,CAAK,OAE7B6K,GACTD,GAAoB9S,EAAU+S,CAAQ,CAE1C,EACMG,GAAc,CAAClT,EAAU+S,EAAUrC,IAAc,CAC/C,MAAE,MAAAxN,EAAO,MAAAgF,CAAA,EAAUlI,EACzB,IAAImT,EAAoB,GACpBC,EAA2BznB,GAC3B,GAAAuX,EAAM,UAAY,GAAI,CACxB,MAAM/N,EAAO4d,EAAS,EAClB5d,EAISub,GAAavb,IAAS,EACXge,EAAA,GAERH,GAAA9K,EAAO6K,EAAUrC,CAAS,GAGxCyC,EAAoB,CAACJ,EAAS,QAC9BH,GAAqBG,EAAU7K,CAAK,GAEXkL,EAAAL,OAClBA,IACTD,GAAoB9S,EAAU+S,CAAQ,EACXK,EAAA,CAAE,QAAS,CAAE,GAE1C,GAAID,EACF,UAAW1nB,KAAOyc,EACZ,CAACqK,GAAc9mB,CAAG,GAAK2nB,EAAyB3nB,CAAG,GAAK,MAC1D,OAAOyc,EAAMzc,CAAG,CAIxB,EAkEM2Z,GAAwBiO,GAC9B,SAASC,GAAejV,EAAS,CAC/B,OAAOkV,GAAmBlV,CAAO,CACnC,CAIA,SAASkV,GAAmBlV,EAASmV,EAAoB,CAIvD,MAAMte,EAASpG,GAAc,EAC7BoG,EAAO,QAAU,GAIX,MACJ,OAAQue,EACR,OAAQC,EACR,UAAWC,EACX,cAAeC,EACf,WAAYC,EACZ,cAAeC,EACf,QAASC,EACT,eAAgBC,EAChB,WAAYC,EACZ,YAAaC,EACb,WAAYC,EAAiBtoB,GAC7B,oBAAqBuoB,CAAA,EACnB/V,EACEgW,EAAQ,CAACC,EAAIC,EAAIC,EAAWC,EAAS,KAAMC,EAAkB,KAAMnQ,EAAiB,KAAMmL,EAAY,OAAQiF,EAAe,KAAMjE,EAAiF,CAAC,CAAC6D,EAAG,kBAAoB,CACjP,GAAID,IAAOC,EACT,OAEED,GAAM,CAACM,GAAgBN,EAAIC,CAAE,IAC/BE,EAASI,EAAgBP,CAAE,EACnBQ,EAAAR,EAAII,EAAiBnQ,EAAgB,EAAI,EAC5C+P,EAAA,MAEHC,EAAG,YAAc,KACP7D,EAAA,GACZ6D,EAAG,gBAAkB,MAEvB,KAAM,CAAE,KAAApf,EAAM,IAAA0G,EAAK,UAAAkZ,CAAc,EAAAR,EACjC,OAAQpf,EAAM,CACZ,KAAK6f,GACSC,EAAAX,EAAIC,EAAIC,EAAWC,CAAM,EACrC,MACF,KAAKvL,GACgBgM,EAAAZ,EAAIC,EAAIC,EAAWC,CAAM,EAC5C,MACF,KAAKU,GACCb,GAAM,MACQc,EAAAb,EAAIC,EAAWC,EAAQ/E,CAAS,EAIlD,MACF,KAAKlH,GACH6M,EACEf,EACAC,EACAC,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EACA,MACF,QACMqE,EAAY,EACdO,EACEhB,EACAC,EACAC,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EACSqE,EAAY,EACrBQ,GACEjB,EACAC,EACAC,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,GACSqE,EAAY,IAaZA,EAAY,MAChB5f,EAAA,QACHmf,EACAC,EACAC,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,EACA8E,CACF,CAGF,CAEA3Z,GAAO,MAAQ6Y,GACV7Y,KAAKyY,GAAMA,EAAG,IAAK/P,EAAgBgQ,GAAMD,EAAI,CAACC,CAAE,CAE3D,EACMU,EAAc,CAACX,EAAIC,EAAIC,EAAWC,IAAW,CACjD,GAAIH,GAAM,KACRb,EACEc,EAAG,GAAKV,EAAeU,EAAG,QAAQ,EAClCC,EACAC,CACF,MACK,CACC,MAAAroB,EAAKmoB,EAAG,GAAKD,EAAG,GAClBC,EAAG,WAAaD,EAAG,UACTP,EAAA3nB,EAAImoB,EAAG,QAAQ,CAC7B,CAEJ,EACMW,EAAqB,CAACZ,EAAIC,EAAIC,EAAWC,IAAW,CACpDH,GAAM,KACRb,EACEc,EAAG,GAAKT,EAAkBS,EAAG,UAAY,EAAE,EAC3CC,EACAC,CACF,EAEAF,EAAG,GAAKD,EAAG,EAEf,EACMc,EAAkB,CAACb,EAAIC,EAAWC,EAAQ/E,IAAc,CAC5D,CAAC6E,EAAG,GAAIA,EAAG,MAAM,EAAIH,EACnBG,EAAG,SACHC,EACAC,EACA/E,EACA6E,EAAG,GACHA,EAAG,MACL,CACF,EAgBMkB,EAAiB,CAAC,CAAE,GAAArpB,EAAI,OAAAqoB,CAAO,EAAGD,EAAWkB,IAAgB,CAC7D,IAAAtiB,EACG,KAAAhH,GAAMA,IAAOqoB,GAClBrhB,EAAO8gB,EAAgB9nB,CAAE,EACdqnB,EAAArnB,EAAIooB,EAAWkB,CAAW,EAChCtpB,EAAAgH,EAEIqgB,EAAAgB,EAAQD,EAAWkB,CAAW,CAC3C,EACMC,EAAmB,CAAC,CAAE,GAAAvpB,EAAI,OAAAqoB,KAAa,CACvC,IAAArhB,EACG,KAAAhH,GAAMA,IAAOqoB,GAClBrhB,EAAO8gB,EAAgB9nB,CAAE,EACzBsnB,EAAWtnB,CAAE,EACRA,EAAAgH,EAEPsgB,EAAWe,CAAM,CACnB,EACMa,EAAiB,CAAChB,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,IAAc,CACrH6D,EAAG,OAAS,MACF7E,EAAA,MACH6E,EAAG,OAAS,SACT7E,EAAA,UAEV4E,GAAM,KACRsB,EACErB,EACAC,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EAEAmF,GACEvB,EACAC,EACAG,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,CAEJ,EACMkF,EAAe,CAAC1S,EAAOsR,EAAWC,EAAQC,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,IAAc,CAClH,IAAAtkB,EACA0pB,EACJ,KAAM,CAAE,MAAA3N,EAAO,UAAA4M,EAAW,WAAAgB,EAAY,KAAAC,CAAS,EAAA9S,EAyB/C,GAxBA9W,EAAK8W,EAAM,GAAK0Q,EACd1Q,EAAM,KACNwM,EACAvH,GAASA,EAAM,GACfA,CACF,EACI4M,EAAY,EACKf,EAAA5nB,EAAI8W,EAAM,QAAQ,EAC5B6R,EAAY,IACrBkB,EACE/S,EAAM,SACN9W,EACA,KACAsoB,EACAnQ,EACA2R,GAAyBhT,EAAOwM,CAAS,EACzCiF,EACAjE,CACF,EAEEsF,GACkBxS,GAAAN,EAAO,KAAMwR,EAAiB,SAAS,EAE7DyB,EAAW/pB,EAAI8W,EAAOA,EAAM,QAASyR,EAAcD,CAAe,EAC9DvM,EAAO,CACT,UAAW1c,MAAO0c,EACZ1c,KAAQ,SAAW,CAAC8B,GAAe9B,EAAG,GACxCkoB,EAAcvnB,EAAIX,GAAK,KAAM0c,EAAM1c,EAAG,EAAGikB,EAAWgF,CAAe,EAGnE,UAAWvM,GACbwL,EAAcvnB,EAAI,QAAS,KAAM+b,EAAM,MAAOuH,CAAS,GAErDoG,EAAY3N,EAAM,qBACJiO,GAAAN,EAAWpB,EAAiBxR,CAAK,CACnD,CAME8S,GACkBxS,GAAAN,EAAO,KAAMwR,EAAiB,aAAa,EAE3D,MAAA2B,EAA0BC,GAAe/R,EAAgBwR,CAAU,EACrEM,GACFN,EAAW,YAAY3pB,CAAE,EAEhBqnB,EAAArnB,EAAIooB,EAAWC,CAAM,IAC3BqB,EAAY3N,GAASA,EAAM,iBAAmBkO,GAA2BL,IAC5E5Q,GAAsB,IAAM,CACb0Q,GAAAM,GAAgBN,EAAWpB,EAAiBxR,CAAK,EACnCmT,GAAAN,EAAW,MAAM3pB,CAAE,EAC9C4pB,GAAQxS,GAAoBN,EAAO,KAAMwR,EAAiB,SAAS,GAClEnQ,CAAc,CAErB,EACM4R,EAAa,CAAC/pB,EAAI8W,EAAOqT,EAAS5B,EAAcD,IAAoB,CAIxE,GAHI6B,GACFpC,EAAe/nB,EAAImqB,CAAO,EAExB5B,EACF,QAAStoB,EAAI,EAAGA,EAAIsoB,EAAa,OAAQtoB,IACxB8nB,EAAA/nB,EAAIuoB,EAAatoB,CAAC,CAAC,EAGtC,GAAIqoB,EAAiB,CACnB,IAAI8B,EAAU9B,EAAgB,QAI1B,GAAAxR,IAAUsT,GAAWC,GAAWD,EAAQ,IAAI,IAAMA,EAAQ,YAActT,GAASsT,EAAQ,aAAetT,GAAQ,CAClH,MAAMwT,EAAchC,EAAgB,MACpCyB,EACE/pB,EACAsqB,EACAA,EAAY,QACZA,EAAY,aACZhC,EAAgB,MAClB,EACF,CAEJ,EACMuB,EAAgB,CAAClD,EAAUyB,EAAWC,EAAQC,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,EAAWjP,EAAQ,IAAM,CACrI,QAASpV,EAAIoV,EAAOpV,EAAI0mB,EAAS,OAAQ1mB,IAAK,CAC5C,MAAM2c,EAAQ+J,EAAS1mB,CAAC,EAAIqkB,EAAYiG,GAAe5D,EAAS1mB,CAAC,CAAC,EAAIomB,GAAeM,EAAS1mB,CAAC,CAAC,EAChGgoB,EACE,KACArL,EACAwL,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EAEJ,EACMmF,GAAe,CAACvB,EAAIC,EAAIG,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,IAAc,CAC9F,MAAAtkB,EAAKmoB,EAAG,GAAKD,EAAG,GAItB,GAAI,CAAE,UAAA3D,EAAW,gBAAAiG,EAAiB,KAAAZ,CAAS,EAAAzB,EAC3C5D,GAAa2D,EAAG,UAAY,GACtB,MAAAuC,EAAWvC,EAAG,OAAS3oB,GACvBmrB,EAAWvC,EAAG,OAAS5oB,GACzB,IAAAmqB,EA2CJ,GA1CmBpB,GAAAqC,GAAcrC,EAAiB,EAAK,GACnDoB,EAAYgB,EAAS,sBACPV,GAAAN,EAAWpB,EAAiBH,EAAID,CAAE,EAEhD0B,GACkBxS,GAAA+Q,EAAID,EAAII,EAAiB,cAAc,EAE1CA,GAAAqC,GAAcrC,EAAiB,EAAI,GAMlDmC,EAAS,WAAaC,EAAS,WAAa,MAAQD,EAAS,aAAeC,EAAS,aAAe,OACtG9C,EAAmB5nB,EAAI,EAAE,EAEvBwqB,EACFI,EACE1C,EAAG,gBACHsC,EACAxqB,EACAsoB,EACAnQ,EACA2R,GAAyB3B,EAAI7E,CAAS,EACtCiF,CACF,EAIUjE,GACVuG,GACE3C,EACAC,EACAnoB,EACA,KACAsoB,EACAnQ,EACA2R,GAAyB3B,EAAI7E,CAAS,EACtCiF,EACA,EACF,EAEEhE,EAAY,EAAG,CACjB,GAAIA,EAAY,GACduG,EAAW9qB,EAAIyqB,EAAUC,EAAUpC,EAAiBhF,CAAS,UAEzDiB,EAAY,GACVkG,EAAS,QAAUC,EAAS,OAC9BnD,EAAcvnB,EAAI,QAAS,KAAM0qB,EAAS,MAAOpH,CAAS,EAG1DiB,EAAY,GACdgD,EAAcvnB,EAAI,QAASyqB,EAAS,MAAOC,EAAS,MAAOpH,CAAS,EAElEiB,EAAY,EAAG,CACjB,MAAMG,EAAgByD,EAAG,aACzB,QAASloB,GAAI,EAAGA,GAAIykB,EAAc,OAAQzkB,KAAK,CACvC,MAAAZ,GAAMqlB,EAAczkB,EAAC,EACrBoH,GAAOojB,EAASprB,EAAG,EACnB2H,GAAO0jB,EAASrrB,EAAG,GACrB2H,KAASK,IAAQhI,KAAQ,UAC3BkoB,EAAcvnB,EAAIX,GAAKgI,GAAML,GAAMsc,EAAWgF,CAAe,CAC/D,CACF,CAGA/D,EAAY,GACV2D,EAAG,WAAaC,EAAG,UACFP,EAAA5nB,EAAImoB,EAAG,QAAQ,CAG7B,MAAC7D,GAAakG,GAAmB,MAC1CM,EAAW9qB,EAAIyqB,EAAUC,EAAUpC,EAAiBhF,CAAS,IAE1DoG,EAAYgB,EAAS,iBAAmBd,IAC3C5Q,GAAsB,IAAM,CAC1B0Q,GAAaM,GAAgBN,EAAWpB,EAAiBH,EAAID,CAAE,EAC/D0B,GAAQxS,GAAoB+Q,EAAID,EAAII,EAAiB,SAAS,GAC7DnQ,CAAc,CAErB,EACMyS,EAAqB,CAACG,EAAaC,EAAaC,EAAmB3C,EAAiBnQ,EAAgBmL,EAAWiF,IAAiB,CACpI,QAAStoB,EAAI,EAAGA,EAAI+qB,EAAY,OAAQ/qB,IAAK,CACrC,MAAAirB,EAAWH,EAAY9qB,CAAC,EACxBkrB,EAAWH,EAAY/qB,CAAC,EACxBmoB,EAGJ8C,EAAS,KAERA,EAAS,OAAS9O,IAEnB,CAACoM,GAAgB0C,EAAUC,CAAQ,GACnCD,EAAS,UAAa,IAAWrD,EAAeqD,EAAS,EAAE,EAGzDD,EAGJhD,EACEiD,EACAC,EACA/C,EACA,KACAE,EACAnQ,EACAmL,EACAiF,EACA,EACF,EAEJ,EACMuC,EAAa,CAAC9qB,EAAIyqB,EAAUC,EAAUpC,EAAiBhF,IAAc,CACzE,GAAImH,IAAaC,EAAU,CACzB,GAAID,IAAalrB,GACf,UAAWF,KAAOorB,EACZ,CAACtpB,GAAe9B,CAAG,GAAK,EAAEA,KAAOqrB,IACnCnD,EACEvnB,EACAX,EACAorB,EAASprB,CAAG,EACZ,KACAikB,EACAgF,CACF,EAIN,UAAWjpB,KAAOqrB,EAAU,CACtB,GAAAvpB,GAAe9B,CAAG,EAAG,SACnB,MAAA2H,EAAO0jB,EAASrrB,CAAG,EACnBgI,EAAOojB,EAASprB,CAAG,EACrB2H,IAASK,GAAQhI,IAAQ,SAC3BkoB,EAAcvnB,EAAIX,EAAKgI,EAAML,EAAMsc,EAAWgF,CAAe,CAC/D,CAEE,UAAWoC,GACbnD,EAAcvnB,EAAI,QAASyqB,EAAS,MAAOC,EAAS,MAAOpH,CAAS,CACtE,CAEJ,EACM2F,EAAkB,CAACf,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,IAAc,CAC1H,MAAM8G,EAAsBjD,EAAG,GAAKD,EAAKA,EAAG,GAAKT,EAAe,EAAE,EAC5D4D,EAAoBlD,EAAG,OAASD,EAAKA,EAAG,OAAST,EAAe,EAAE,EACxE,GAAI,CAAE,UAAAlD,EAAW,gBAAAiG,EAAiB,aAAcc,CAAyB,EAAAnD,EAOrEmD,IACF/C,EAAeA,EAAeA,EAAa,OAAO+C,CAAoB,EAAIA,GAExEpD,GAAM,MACGb,EAAA+D,EAAqBhD,EAAWC,CAAM,EACtChB,EAAAgE,EAAmBjD,EAAWC,CAAM,EAC/CwB,EAKE1B,EAAG,UAAY,CAAC,EAChBC,EACAiD,EACA/C,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,GAEIC,EAAY,GAAKA,EAAY,IAAMiG,GAEvCtC,EAAG,iBACD0C,EACE1C,EAAG,gBACHsC,EACApC,EACAE,EACAnQ,EACAmL,EACAiF,CACF,GAQEJ,EAAG,KAAO,MAAQG,GAAmBH,IAAOG,EAAgB,UAE5DiD,GACErD,EACAC,EACA,EAEF,GAGF0C,GACE3C,EACAC,EACAC,EACAiD,EACA/C,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,CAGN,EACM6E,GAAmB,CAACjB,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,IAAc,CAC3H6D,EAAG,aAAeI,EACdL,GAAM,KACJC,EAAG,UAAY,IACjBG,EAAgB,IAAI,SAClBH,EACAC,EACAC,EACA/E,EACAgB,CACF,EAEAkH,GACErD,EACAC,EACAC,EACAC,EACAnQ,EACAmL,EACAgB,CACF,EAGcmH,GAAAvD,EAAIC,EAAI7D,CAAS,CAErC,EACMkH,GAAiB,CAACE,EAActD,EAAWC,EAAQC,EAAiBnQ,EAAgBmL,EAAWgB,IAAc,CAC3G,MAAA1Q,EAAY8X,EAAa,UAAYC,GACzCD,EACApD,EACAnQ,CACF,EAoBA,GAZIc,GAAYyS,CAAY,IAC1B9X,EAAS,IAAI,SAAWwV,GAMTwC,GAAAhY,EAAU,GAAO0Q,CAAS,EAKvC1Q,EAAS,UAGP,GADJuE,GAAkBA,EAAe,YAAYvE,EAAUiY,GAAmBvH,CAAS,EAC/E,CAACoH,EAAa,GAAI,CACpB,MAAMI,EAAclY,EAAS,QAAUyI,GAAYS,EAAO,EACvCgM,EAAA,KAAMgD,EAAa1D,EAAWC,CAAM,QAGzDwD,GACEjY,EACA8X,EACAtD,EACAC,EACAlQ,EACAmL,EACAgB,CACF,CAMJ,EACMmH,GAAkB,CAACvD,EAAIC,EAAI7D,IAAc,CACvC,MAAA1Q,EAAWuU,EAAG,UAAYD,EAAG,UACnC,GAAI6D,GAAsB7D,EAAIC,EAAI7D,CAAS,EACzC,GAAI1Q,EAAS,UAAY,CAACA,EAAS,cAAe,CAIvBoY,GAAApY,EAAUuU,EAAI7D,CAAS,EAIhD,YAEA1Q,EAAS,KAAOuU,EAChBvU,EAAS,OAAO,OAGlBuU,EAAG,GAAKD,EAAG,GACXtU,EAAS,MAAQuU,CAErB,EACM0D,GAAoB,CAACjY,EAAU8X,EAActD,EAAWC,EAAQlQ,EAAgBmL,EAAWgB,IAAc,CAC7G,MAAM2H,EAAoB,IAAM,CAC1B,GAACrY,EAAS,UA2FP,CACL,GAAI,CAAE,KAAA5M,EAAM,GAAAklB,EAAI,EAAAC,EAAG,OAAAC,EAAQ,MAAAtV,IAAUlD,EACrC,CACQ,MAAAyY,GAAuBC,GAA2B1Y,CAAQ,EAChE,GAAIyY,GAAsB,CACpBrlB,IACFA,EAAK,GAAK8P,GAAM,GACSkV,GAAApY,EAAU5M,EAAMsd,CAAS,GAE/B+H,GAAA,SAAS,KAAK,IAAM,CAClCzY,EAAS,aACMqY,EAAA,CACpB,CACD,EACD,OACF,CAEF,IAAIM,GAAavlB,EACb0iB,GAIJiB,GAAc/W,EAAU,EAAK,EACzB5M,GACFA,EAAK,GAAK8P,GAAM,GACSkV,GAAApY,EAAU5M,EAAMsd,CAAS,GAE3Ctd,EAAA8P,GAELoV,GACFjqB,GAAeiqB,CAAE,GAEfxC,GAAY1iB,EAAK,OAASA,EAAK,MAAM,sBACvBgjB,GAAAN,GAAW0C,EAAQplB,EAAM8P,EAAK,EAEhD6T,GAAc/W,EAAU,EAAI,EAItB,MAAA4Y,GAAWC,GAAoB7Y,CAAQ,EAIvC8Y,GAAW9Y,EAAS,QAC1BA,EAAS,QAAU4Y,GAInBvE,EACEyE,GACAF,GAEA3E,EAAe6E,GAAS,EAAE,EAE1BjE,EAAgBiE,EAAQ,EACxB9Y,EACAuE,EACAmL,CACF,EAIAtc,EAAK,GAAKwlB,GAAS,GACfD,KAAe,MACDI,GAAA/Y,EAAU4Y,GAAS,EAAE,EAEnCL,GACFnT,GAAsBmT,EAAGhU,CAAc,GAErCuR,GAAY1iB,EAAK,OAASA,EAAK,MAAM,iBACvCgS,GACE,IAAMgR,GAAgBN,GAAW0C,EAAQplB,EAAM8P,EAAK,EACpDqB,CACF,CAOF,KA3KuB,CACnB,IAAAuR,EACE,MAAE,GAAA1pB,EAAI,MAAA+b,CAAA,EAAU2P,EAChB,CAAE,GAAAkB,EAAI,EAAAvL,GAAG,OAAA+K,GAAQ,KAAAS,GAAM,KAAA9jB,IAAS6K,EAChCkZ,GAAsBzU,GAAeqT,CAAY,EACvDf,GAAc/W,EAAU,EAAK,EACzBgZ,GACF3qB,GAAe2qB,CAAE,EAEf,CAACE,KAAwBpD,EAAY3N,GAASA,EAAM,qBACtCiO,GAAAN,EAAW0C,GAAQV,CAAY,EAEjDf,GAAc/W,EAAU,EAAI,EAiCrB,CACDiZ,GAAK,IACFA,GAAA,GAAG,kBAAkB9jB,EAAI,EAKhC,MAAMqhB,GAAUxW,EAAS,QAAU6Y,GAAoB7Y,CAAQ,EAO/DqU,EACE,KACAmC,GACAhC,EACAC,EACAzU,EACAuE,EACAmL,CACF,EAIAoI,EAAa,GAAKtB,GAAQ,GAK5B,GAHI/I,IACFrI,GAAsBqI,GAAGlJ,CAAc,EAErC,CAAC2U,KAAwBpD,EAAY3N,GAASA,EAAM,gBAAiB,CACvE,MAAMgR,GAAqBrB,EAC3B1S,GACE,IAAMgR,GAAgBN,EAAW0C,GAAQW,EAAkB,EAC3D5U,CACF,GAEEuT,EAAa,UAAY,KAAOU,IAAU/T,GAAe+T,GAAO,KAAK,GAAKA,GAAO,MAAM,UAAY,MACrGxY,EAAS,GAAKoF,GAAsBpF,EAAS,EAAGuE,CAAc,EAEhEvE,EAAS,UAAY,GAIrB8X,EAAetD,EAAYC,EAAS,KAmFxC,EACAzU,EAAS,MAAM,GAAG,EAClB,MAAMjB,EAASiB,EAAS,OAAS,IAAI/N,GAAeomB,CAAiB,EACrErY,EAAS,MAAM,IAAI,EACnB,MAAMoZ,EAASpZ,EAAS,OAASjB,EAAO,IAAI,KAAKA,CAAM,EACjDW,EAAMM,EAAS,IAAMjB,EAAO,WAAW,KAAKA,CAAM,EACxDW,EAAI,EAAIM,EACRN,EAAI,GAAKM,EAAS,IAClBjB,EAAO,UAAY,IAAMgD,GAASrC,CAAG,EACrCqX,GAAc/W,EAAU,EAAI,EAKrBoZ,EAAA,CACT,EACMhB,GAA2B,CAACpY,EAAUqZ,EAAW3I,IAAc,CACnE2I,EAAU,UAAYrZ,EAChB,MAAAsZ,EAAYtZ,EAAS,MAAM,MACjCA,EAAS,MAAQqZ,EACjBrZ,EAAS,KAAO,KAChBwQ,GAAYxQ,EAAUqZ,EAAU,MAAOC,EAAW5I,CAAS,EAC/CwC,GAAAlT,EAAUqZ,EAAU,SAAU3I,CAAS,EACrCrc,GAAA,EACdgO,GAAiBrC,CAAQ,EACX1L,GAAA,CAChB,EACM2iB,GAAgB,CAAC3C,EAAIC,EAAIC,EAAWC,EAAQC,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,EAAY,KAAU,CAC1H,MAAA6I,EAAKjF,GAAMA,EAAG,SACdkF,EAAgBlF,EAAKA,EAAG,UAAY,EACpCmF,EAAKlF,EAAG,SACR,CAAE,UAAA5D,EAAW,UAAAoE,CAAA,EAAcR,EACjC,GAAI5D,EAAY,GACd,GAAIA,EAAY,IAAK,CACnB+I,EACEH,EACAE,EACAjF,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EACA,eACSC,EAAY,IAAK,CAC1BgJ,GACEJ,EACAE,EACAjF,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EACA,QAGAqE,EAAY,GACVyE,EAAgB,IACFI,EAAAL,EAAI7E,EAAiBnQ,CAAc,EAEjDkV,IAAOF,GACTvF,EAAmBQ,EAAWiF,CAAE,GAG9BD,EAAgB,GACdzE,EAAY,GACd2E,EACEH,EACAE,EACAjF,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EAEgBkJ,EAAAL,EAAI7E,EAAiBnQ,EAAgB,EAAI,GAGvDiV,EAAgB,GAClBxF,EAAmBQ,EAAW,EAAE,EAE9BO,EAAY,IACdkB,EACEwD,EACAjF,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EAIR,EACMiJ,GAAuB,CAACJ,EAAIE,EAAIjF,EAAWC,EAAQC,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,IAAc,CAC/H6I,EAAKA,GAAM3tB,GACX6tB,EAAKA,GAAM7tB,GACX,MAAMiuB,EAAYN,EAAG,OACf5jB,EAAY8jB,EAAG,OACfK,EAAe,KAAK,IAAID,EAAWlkB,CAAS,EAC9C,IAAAtJ,EACJ,IAAKA,EAAI,EAAGA,EAAIytB,EAAcztB,IAAK,CACjC,MAAM0tB,EAAYN,EAAGptB,CAAC,EAAIqkB,EAAYiG,GAAe8C,EAAGptB,CAAC,CAAC,EAAIomB,GAAegH,EAAGptB,CAAC,CAAC,EAClFgoB,EACEkF,EAAGltB,CAAC,EACJ0tB,EACAvF,EACA,KACAE,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EAEEmJ,EAAYlkB,EACdikB,EACEL,EACA7E,EACAnQ,EACA,GACA,GACAuV,CACF,EAEA7D,EACEwD,EACAjF,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,EACAoJ,CACF,CAEJ,EACMJ,EAAqB,CAACH,EAAIE,EAAIjF,EAAWwF,EAActF,EAAiBnQ,EAAgBmL,EAAWiF,EAAcjE,IAAc,CACnI,IAAIrkB,EAAI,EACR,MAAM4tB,EAAKR,EAAG,OACV,IAAAS,EAAKX,EAAG,OAAS,EACjBY,EAAKF,EAAK,EACP,KAAA5tB,GAAK6tB,GAAM7tB,GAAK8tB,GAAI,CACnB,MAAA7F,EAAKiF,EAAGltB,CAAC,EACTkoB,EAAKkF,EAAGptB,CAAC,EAAIqkB,EAAYiG,GAAe8C,EAAGptB,CAAC,CAAC,EAAIomB,GAAegH,EAAGptB,CAAC,CAAC,EACvE,GAAAuoB,GAAgBN,EAAIC,CAAE,EACxBF,EACEC,EACAC,EACAC,EACA,KACAE,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,MAEA,OAEFrkB,GAAA,CAEK,KAAAA,GAAK6tB,GAAM7tB,GAAK8tB,GAAI,CACnB,MAAA7F,EAAKiF,EAAGW,CAAE,EACV3F,EAAKkF,EAAGU,CAAE,EAAIzJ,EAAYiG,GAAe8C,EAAGU,CAAE,CAAC,EAAI1H,GAAegH,EAAGU,CAAE,CAAC,EAC1E,GAAAvF,GAAgBN,EAAIC,CAAE,EACxBF,EACEC,EACAC,EACAC,EACA,KACAE,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,MAEA,OAEFwJ,IACAC,GAAA,CAEF,GAAI9tB,EAAI6tB,GACN,GAAI7tB,GAAK8tB,EAAI,CACX,MAAMC,EAAUD,EAAK,EACf1F,EAAS2F,EAAUH,EAAKR,EAAGW,CAAO,EAAE,GAAKJ,EAC/C,KAAO3tB,GAAK8tB,GACV9F,EACE,KACAoF,EAAGptB,CAAC,EAAIqkB,EAAYiG,GAAe8C,EAAGptB,CAAC,CAAC,EAAIomB,GAAegH,EAAGptB,CAAC,CAAC,EAChEmoB,EACAC,EACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EACArkB,GACF,UAEOA,EAAI8tB,EACb,KAAO9tB,GAAK6tB,GACVpF,EAAQyE,EAAGltB,CAAC,EAAGqoB,EAAiBnQ,EAAgB,EAAI,EACpDlY,QAEG,CACL,MAAMguB,EAAKhuB,EACLiuB,EAAKjuB,EACLkuB,OAAuC,IAC7C,IAAKluB,EAAIiuB,EAAIjuB,GAAK8tB,EAAI9tB,IAAK,CACzB,MAAM0tB,GAAYN,EAAGptB,CAAC,EAAIqkB,EAAYiG,GAAe8C,EAAGptB,CAAC,CAAC,EAAIomB,GAAegH,EAAGptB,CAAC,CAAC,EAC9E0tB,GAAU,KAAO,MAQFQ,GAAA,IAAIR,GAAU,IAAK1tB,CAAC,CACvC,CAEE,IAAAmuB,GACAC,GAAU,EACR,MAAAC,GAAcP,EAAKG,EAAK,EAC9B,IAAIK,GAAQ,GACRC,GAAmB,EACjB,MAAAC,GAAwB,IAAI,MAAMH,EAAW,EACnD,IAAKruB,EAAI,EAAGA,EAAIquB,GAAaruB,IAAKwuB,GAAsBxuB,CAAC,EAAI,EAC7D,IAAKA,EAAIguB,EAAIhuB,GAAK6tB,EAAI7tB,IAAK,CACnB,MAAAyuB,GAAYvB,EAAGltB,CAAC,EACtB,GAAIouB,IAAWC,GAAa,CAClB5F,EAAAgG,GAAWpG,EAAiBnQ,EAAgB,EAAI,EACxD,SAEE,IAAAwW,GACA,GAAAD,GAAU,KAAO,KACRC,GAAAR,GAAiB,IAAIO,GAAU,GAAG,MAE7C,KAAKN,GAAIF,EAAIE,IAAKL,EAAIK,KAChB,GAAAK,GAAsBL,GAAIF,CAAE,IAAM,GAAK1F,GAAgBkG,GAAWrB,EAAGe,EAAC,CAAC,EAAG,CACjEO,GAAAP,GACX,MAIFO,KAAa,OACPjG,EAAAgG,GAAWpG,EAAiBnQ,EAAgB,EAAI,GAElCsW,GAAAE,GAAWT,CAAE,EAAIjuB,EAAI,EACvC0uB,IAAYH,GACKA,GAAAG,GAEXJ,GAAA,GAEVtG,EACEyG,GACArB,EAAGsB,EAAQ,EACXvG,EACA,KACAE,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EACA+J,KACF,CAEF,MAAMO,GAA6BL,GAAQM,GAAYJ,EAAqB,EAAIjvB,GAEhF,IADA4uB,GAAIQ,GAA2B,OAAS,EACnC3uB,EAAIquB,GAAc,EAAGruB,GAAK,EAAGA,IAAK,CACrC,MAAM6uB,GAAYZ,EAAKjuB,EACjB0tB,GAAYN,EAAGyB,EAAS,EACxBzG,GAASyG,GAAY,EAAIjB,EAAKR,EAAGyB,GAAY,CAAC,EAAE,GAAKlB,EACvDa,GAAsBxuB,CAAC,IAAM,EAC/BgoB,EACE,KACA0F,GACAvF,EACAC,GACAC,EACAnQ,EACAmL,EACAiF,EACAjE,CACF,EACSiK,KACLH,GAAI,GAAKnuB,IAAM2uB,GAA2BR,EAAC,EACxCW,EAAApB,GAAWvF,EAAWC,GAAQ,CAAC,EAEpC+F,KAEJ,CACF,CAEJ,EACMW,EAAO,CAACjY,EAAOsR,EAAWC,EAAQ2G,EAAU7W,EAAiB,OAAS,CAC1E,KAAM,CAAE,GAAAnY,EAAI,KAAA+I,EAAM,WAAA4gB,EAAY,SAAAhD,EAAU,UAAAgC,GAAc7R,EACtD,GAAI6R,EAAY,EAAG,CACjBoG,EAAKjY,EAAM,UAAU,QAASsR,EAAWC,EAAQ2G,CAAQ,EACzD,OAEF,GAAIrG,EAAY,IAAK,CACnB7R,EAAM,SAAS,KAAKsR,EAAWC,EAAQ2G,CAAQ,EAC/C,OAEF,GAAIrG,EAAY,GAAI,CAClB5f,EAAK,KAAK+N,EAAOsR,EAAWC,EAAQe,CAAS,EAC7C,OAEF,GAAIrgB,IAASqT,GAAU,CACViL,EAAArnB,EAAIooB,EAAWC,CAAM,EAChC,QAASpoB,EAAI,EAAGA,EAAI0mB,EAAS,OAAQ1mB,IACnC8uB,EAAKpI,EAAS1mB,CAAC,EAAGmoB,EAAWC,EAAQ2G,CAAQ,EAEpC3H,EAAAvQ,EAAM,OAAQsR,EAAWC,CAAM,EAC1C,OAEF,GAAItf,IAASggB,GAAQ,CACJM,EAAAvS,EAAOsR,EAAWC,CAAM,EACvC,OAGF,GADwB2G,IAAa,GAAKrG,EAAY,GAAKgB,EAEzD,GAAIqF,IAAa,EACfrF,EAAW,YAAY3pB,CAAE,EACdqnB,EAAArnB,EAAIooB,EAAWC,CAAM,EAChCrP,GAAsB,IAAM2Q,EAAW,MAAM3pB,CAAE,EAAGmY,CAAc,MAC3D,CACL,KAAM,CAAE,MAAA8W,EAAO,WAAAC,EAAY,WAAAC,CAAe,EAAAxF,EACpCyF,EAAU,IAAM/H,EAAWrnB,EAAIooB,EAAWC,CAAM,EAChDgH,GAAe,IAAM,CACzBJ,EAAMjvB,EAAI,IAAM,CACdovB,EAAQ,EACRD,GAAcA,EAAW,EAC1B,CACH,EACID,EACSA,EAAAlvB,EAAIovB,EAASC,EAAY,EAEvBA,GAAA,CACf,MAGShI,EAAArnB,EAAIooB,EAAWC,CAAM,CAEpC,EACMK,EAAU,CAAC5R,EAAOwR,EAAiBnQ,EAAgBmX,EAAW,GAAOhL,EAAY,KAAU,CACzF,MACJ,KAAAvb,EACA,MAAAgT,EACA,IAAAtM,EACA,SAAAkX,EACA,gBAAA6D,EACA,UAAA7B,EACA,UAAApE,EACA,KAAAqF,EACA,WAAA2F,CAAA,EACEzY,EAUJ,GATIyN,IAAc,KACJD,EAAA,IAEV7U,GAAO,MACTuI,GAAOvI,EAAK,KAAM0I,EAAgBrB,EAAO,EAAI,EAE3CyY,GAAc,OACAjH,EAAA,YAAYiH,CAAU,EAAI,QAExC5G,EAAY,IAAK,CACHL,EAAA,IAAI,WAAWxR,CAAK,EACpC,OAEI,MAAA0Y,EAAmB7G,EAAY,GAAKiB,EACpC6F,GAAwB,CAACpX,GAAevB,CAAK,EAC/C,IAAA4S,GAIJ,GAHI+F,KAA0B/F,GAAY3N,GAASA,EAAM,uBACvCiO,GAAAN,GAAWpB,EAAiBxR,CAAK,EAE/C6R,EAAY,EACG+G,GAAA5Y,EAAM,UAAWqB,EAAgBmX,CAAQ,MACrD,CACL,GAAI3G,EAAY,IAAK,CACb7R,EAAA,SAAS,QAAQqB,EAAgBmX,CAAQ,EAC/C,OAEEE,GACkBpY,GAAAN,EAAO,KAAMwR,EAAiB,eAAe,EAE/DK,EAAY,GACd7R,EAAM,KAAK,OACTA,EACAwR,EACAnQ,EACAiR,EACAkG,CACF,EACS9E,GAKX,CAACA,EAAgB,UAChBzhB,IAASqT,IAAYmI,EAAY,GAAKA,EAAY,IACjDiJ,EACEhD,EACAlC,EACAnQ,EACA,GACA,EACF,GACSpP,IAASqT,IAAYmI,EAAa,KAAc,CAACD,GAAaqE,EAAY,KACnE6E,EAAA7G,EAAU2B,EAAiBnQ,CAAc,EAEvDmX,GACFxvB,EAAOgX,CAAK,CACd,EAEE2Y,KAA0B/F,GAAY3N,GAASA,EAAM,mBAAqByT,IAC5ExW,GAAsB,IAAM,CACb0Q,IAAAM,GAAgBN,GAAWpB,EAAiBxR,CAAK,EAC9D0Y,GAAoBpY,GAAoBN,EAAO,KAAMwR,EAAiB,WAAW,GAChFnQ,CAAc,CAErB,EACMrY,EAAUgX,GAAU,CACxB,KAAM,CAAE,KAAA/N,EAAM,GAAA/I,EAAI,OAAAqoB,EAAQ,WAAAsB,CAAe,EAAA7S,EACzC,GAAI/N,IAASqT,GAAU,CAUnBuT,GAAe3vB,EAAIqoB,CAAM,EAE3B,OAEF,GAAItf,IAASggB,GAAQ,CACnBQ,EAAiBzS,CAAK,EACtB,OAEF,MAAM8Y,EAAgB,IAAM,CAC1BtI,EAAWtnB,CAAE,EACT2pB,GAAc,CAACA,EAAW,WAAaA,EAAW,YACpDA,EAAW,WAAW,CAE1B,EACA,GAAI7S,EAAM,UAAY,GAAK6S,GAAc,CAACA,EAAW,UAAW,CACxD,MAAE,MAAAsF,EAAO,WAAAC,CAAA,EAAevF,EACxB0F,EAAe,IAAMJ,EAAMjvB,EAAI4vB,CAAa,EAC9CV,EACSA,EAAApY,EAAM,GAAI8Y,EAAeP,CAAY,EAEnCA,EAAA,CACf,MAEcO,EAAA,CAElB,EACMD,GAAiB,CAACvb,EAAKkB,IAAQ,CAC/B,IAAAtO,EACJ,KAAOoN,IAAQkB,GACbtO,EAAO8gB,EAAgB1T,CAAG,EAC1BkT,EAAWlT,CAAG,EACRA,EAAApN,EAERsgB,EAAWhS,CAAG,CAChB,EACMoa,GAAmB,CAAC9b,EAAUuE,EAAgBmX,IAAa,CAIzD,MAAE,IAAAO,EAAK,MAAA1c,EAAO,IAAAG,EAAK,QAAA8W,EAAS,GAAA0F,EAAI,EAAAzO,EAAG,EAAAzd,GAAMgQ,EAC/Cmc,GAAgB1O,CAAC,EACjB0O,GAAgBnsB,CAAC,EACbisB,GACF5tB,GAAe4tB,CAAG,EAEpB1c,EAAM,KAAK,EACPG,IACFA,EAAI,OAAS,EACLoV,EAAA0B,EAASxW,EAAUuE,EAAgBmX,CAAQ,GAEjDQ,GACF9W,GAAsB8W,EAAI3X,CAAc,EAE1Ca,GAAsB,IAAM,CAC1BpF,EAAS,YAAc,IACtBuE,CAAc,EACbA,GAAkBA,EAAe,eAAiB,CAACA,EAAe,aAAevE,EAAS,UAAY,CAACA,EAAS,eAAiBA,EAAS,aAAeuE,EAAe,YAC3JA,EAAA,OACXA,EAAe,OAAS,GAC1BA,EAAe,QAAQ,EAM7B,EACMqV,EAAkB,CAAC7G,EAAU2B,EAAiBnQ,EAAgBmX,EAAW,GAAOhL,EAAY,GAAOjP,EAAQ,IAAM,CACrH,QAASpV,EAAIoV,EAAOpV,EAAI0mB,EAAS,OAAQ1mB,IACvCyoB,EAAQ/B,EAAS1mB,CAAC,EAAGqoB,EAAiBnQ,EAAgBmX,EAAUhL,CAAS,CAE7E,EACMmE,EAAmB3R,GAAU,CAC7B,GAAAA,EAAM,UAAY,EACb,OAAA2R,EAAgB3R,EAAM,UAAU,OAAO,EAE5C,GAAAA,EAAM,UAAY,IACb,OAAAA,EAAM,SAAS,KAAK,EAE7B,MAAM9W,EAAK8nB,EAAgBhR,EAAM,QAAUA,EAAM,EAAE,EAC7CkZ,EAAchwB,GAAMA,EAAGyX,EAAc,EACpC,OAAAuY,EAAclI,EAAgBkI,CAAW,EAAIhwB,CACtD,EACA,IAAIiwB,EAAa,GACjB,MAAM3Q,EAAS,CAACxI,EAAOsR,EAAW9E,IAAc,CAC1CxM,GAAS,KACPsR,EAAU,QACZM,EAAQN,EAAU,OAAQ,KAAM,KAAM,EAAI,EAG5CH,EACEG,EAAU,QAAU,KACpBtR,EACAsR,EACA,KACA,KACA,KACA9E,CACF,EAEF8E,EAAU,OAAStR,EACdmZ,IACUA,EAAA,GACIha,GAAA,EACCC,GAAA,EACL+Z,EAAA,GAEjB,EACM7G,EAAY,CAChB,EAAGnB,EACH,GAAIS,EACJ,EAAGqG,EACH,EAAGjvB,EACH,GAAI0rB,GACJ,GAAI3B,EACJ,GAAIgB,GACJ,IAAKD,EACL,EAAGnC,EACH,EAAGxW,CACL,EAQO,OACL,OAAAqN,EACA,QATE,OAUF,UAAWgD,GAAahD,CAAe,CACzC,CACF,CACA,SAASwK,GAAyB,CAAE,KAAA/gB,EAAM,MAAAgT,CAAA,EAASmU,EAAkB,CACnE,OAAOA,IAAqB,OAASnnB,IAAS,iBAAmBmnB,IAAqB,UAAYnnB,IAAS,kBAAoBgT,GAASA,EAAM,UAAYA,EAAM,SAAS,SAAS,MAAM,EAAI,OAASmU,CACvM,CACA,SAASvF,GAAc,CAAE,OAAAhY,EAAQ,IAAAW,CAAA,EAAO6c,EAAS,CAC3CA,GACFxd,EAAO,OAAS,GAChBW,EAAI,OAAS,IAEbX,EAAO,OAAS,IAChBW,EAAI,OAAS,GAEjB,CACA,SAAS4W,GAAe/R,EAAgBwR,EAAY,CAC1C,QAACxR,GAAkBA,GAAkB,CAACA,EAAe,gBAAkBwR,GAAc,CAACA,EAAW,SAC3G,CACA,SAAS4B,GAAuBrD,EAAIC,EAAIpa,EAAU,GAAO,CACvD,MAAMqiB,EAAMlI,EAAG,SACTmI,EAAMlI,EAAG,SACf,GAAI/nB,GAAQgwB,CAAG,GAAKhwB,GAAQiwB,CAAG,EAC7B,QAASpwB,EAAI,EAAGA,EAAImwB,EAAI,OAAQnwB,IAAK,CAC7B,MAAAktB,EAAKiD,EAAInwB,CAAC,EACZ,IAAAotB,EAAKgD,EAAIpwB,CAAC,EACVotB,EAAG,UAAY,GAAK,CAACA,EAAG,mBACtBA,EAAG,WAAa,GAAKA,EAAG,YAAc,MACxCA,EAAKgD,EAAIpwB,CAAC,EAAIsqB,GAAe8F,EAAIpwB,CAAC,CAAC,EACnCotB,EAAG,GAAKF,EAAG,IAET,CAACpf,GAAWsf,EAAG,YAAc,IAC/B9B,GAAuB4B,EAAIE,CAAE,GAE7BA,EAAG,OAASzE,KACdyE,EAAG,GAAKF,EAAG,GAIb,CAGN,CACA,SAAS0B,GAAY9uB,EAAK,CAClB,MAAAmV,EAAInV,EAAI,MAAM,EACdmL,EAAS,CAAC,CAAC,EACb,IAAAjL,EAAGmuB,EAAGjC,EAAGrnB,EAAGpD,EAChB,MAAM4uB,EAAMvwB,EAAI,OAChB,IAAKE,EAAI,EAAGA,EAAIqwB,EAAKrwB,IAAK,CAClB,MAAAswB,EAAOxwB,EAAIE,CAAC,EAClB,GAAIswB,IAAS,EAAG,CAEV,GADAnC,EAAAljB,EAAOA,EAAO,OAAS,CAAC,EACxBnL,EAAIquB,CAAC,EAAImC,EAAM,CACjBrb,EAAEjV,CAAC,EAAImuB,EACPljB,EAAO,KAAKjL,CAAC,EACb,SAIF,IAFIksB,EAAA,EACJrnB,EAAIoG,EAAO,OAAS,EACbihB,EAAIrnB,GACTpD,EAAIyqB,EAAIrnB,GAAK,EACT/E,EAAImL,EAAOxJ,CAAC,CAAC,EAAI6uB,EACnBpE,EAAIzqB,EAAI,EAEJoD,EAAApD,EAGJ6uB,EAAOxwB,EAAImL,EAAOihB,CAAC,CAAC,IAClBA,EAAI,IACNjX,EAAEjV,CAAC,EAAIiL,EAAOihB,EAAI,CAAC,GAErBjhB,EAAOihB,CAAC,EAAIlsB,EACd,CACF,CAIF,IAFAksB,EAAIjhB,EAAO,OACPpG,EAAAoG,EAAOihB,EAAI,CAAC,EACTA,KAAM,GACXjhB,EAAOihB,CAAC,EAAIrnB,EACZA,EAAIoQ,EAAEpQ,CAAC,EAEF,OAAAoG,CACT,CACA,SAASohB,GAA2B1Y,EAAU,CACtC,MAAA4c,EAAe5c,EAAS,QAAQ,UACtC,GAAI4c,EACF,OAAIA,EAAa,UAAY,CAACA,EAAa,cAClCA,EAEAlE,GAA2BkE,CAAY,CAGpD,CACA,SAAST,GAAgBnY,EAAO,CAC9B,GAAIA,EACF,QAAS3X,EAAI,EAAGA,EAAI2X,EAAM,OAAQ3X,IAC1B2X,EAAA3X,CAAC,EAAE,OAAS,CAExB,CAEA,MAAMwwB,GAAgB,OAAO,IAAI,OAAO,EAClCC,GAAgB,IAEN/P,GAAO8P,EAAa,EAUpC,SAASE,GAAYhe,EAAQV,EAAS,CAC7B,OAAA2e,GAAQje,EAAQ,KAAMV,CAAO,CACtC,CAQA,SAAS4e,GAAgBle,EAAQV,EAAS,CACjC,OAAA2e,GACLje,EACA,KACqF,CAAE,MAAO,MAAO,CACvG,CACF,CACA,SAASZ,GAAMhB,EAAQiB,EAAIC,EAAS,CAM3B,OAAA2e,GAAQ7f,EAAQiB,EAAIC,CAAO,CACpC,CACA,SAAS2e,GAAQ7f,EAAQiB,EAAIC,EAAU1S,GAAW,CAChD,KAAM,CAAE,UAAA2S,EAAW,KAAAC,EAAM,MAAA2e,EAAO,KAAA1e,CAAS,EAAAH,EAkBnC8e,EAAmBlxB,GAAO,CAAC,EAAGoS,CAAO,EAErC+e,EAAkBhf,GAAME,GAAa,CAACF,GAAM8e,IAAU,OACxD,IAAAG,EACJ,GAAI/W,IACF,GAAI4W,IAAU,OAAQ,CACpB,MAAMta,EAAMka,GAAc,EAC1BO,EAAaza,EAAI,mBAAqBA,EAAI,iBAAmB,GAAC,SACrD,CAACwa,EAAiB,CAC3B,MAAME,EAAkB,IAAM,CAC9B,EACA,OAAAA,EAAgB,KAAOzxB,GACvByxB,EAAgB,OAASzxB,GACzByxB,EAAgB,MAAQzxB,GACjByxB,CAAA,EAGX,MAAMtd,EAAWyF,GACA0X,EAAA,KAAO,CAAC1vB,EAAI0H,EAAMsB,IAASyJ,GAA2BzS,EAAIuS,EAAU7K,EAAMsB,CAAI,EAC/F,IAAI8mB,EAAQ,GACRL,IAAU,OACKC,EAAA,UAAazd,GAAQ,CACd0F,GAAA1F,EAAKM,GAAYA,EAAS,QAAQ,CAC1D,EACSkd,IAAU,SACXK,EAAA,GACSJ,EAAA,UAAY,CAACzd,EAAK8d,IAAe,CAC5CA,EACE9d,EAAA,EAEJqC,GAASrC,CAAG,CAEhB,GAEeyd,EAAA,WAAczd,GAAQ,CACjCtB,IACFsB,EAAI,OAAS,GAEX6d,IACF7d,EAAI,OAAS,EACTM,IACFN,EAAI,GAAKM,EAAS,IAClBN,EAAI,EAAIM,GAGd,EACA,MAAMR,EAAcie,GAAQtgB,EAAQiB,EAAI+e,CAAgB,EACxD,OAAI7W,KACE+W,EACFA,EAAW,KAAK7d,CAAW,EAClB4d,GACG5d,EAAA,GAGTA,CACT,CACA,SAAS+J,GAAcpM,EAAQhQ,EAAOkR,EAAS,CAC7C,MAAMkM,EAAa,KAAK,MAClB5M,EAAS7Q,GAASqQ,CAAM,EAAIA,EAAO,SAAS,GAAG,EAAI8P,GAAiB1C,EAAYpN,CAAM,EAAI,IAAMoN,EAAWpN,CAAM,EAAIA,EAAO,KAAKoN,EAAYA,CAAU,EACzJ,IAAAnM,EACAvR,GAAWM,CAAK,EACbiR,EAAAjR,GAELiR,EAAKjR,EAAM,QACDkR,EAAAlR,GAEN,MAAA+Y,EAAQC,GAAmB,IAAI,EAC/BnX,EAAMguB,GAAQrf,EAAQS,EAAG,KAAKmM,CAAU,EAAGlM,CAAO,EAClD,OAAA6H,EAAA,EACClX,CACT,CACA,SAASie,GAAiBrK,EAAK8a,EAAM,CAC7B,MAAAC,EAAWD,EAAK,MAAM,GAAG,EAC/B,MAAO,IAAM,CACX,IAAIld,EAAMoC,EACV,QAAS,EAAI,EAAG,EAAI+a,EAAS,QAAUnd,EAAK,IACpCA,IAAImd,EAAS,CAAC,CAAC,EAEhB,OAAAnd,CACT,CACF,CAEA,SAASod,GAASzV,EAAOxY,EAAM0O,EAAU1S,GAAW,CAClD,MAAMU,EAAIwxB,GAAmB,EAKvBC,EAAgBlwB,GAAS+B,CAAI,EAK7BouB,EAAiB/vB,GAAU2B,CAAI,EAC/B4T,EAAYya,GAAkB7V,EAAO2V,CAAa,EAClD9uB,EAAM4N,GAAU,CAAC3H,EAAOI,IAAY,CACpC,IAAA4oB,EACAC,EAAevyB,GACfwyB,EACJ,OAAAlB,GAAgB,IAAM,CACd,MAAAmB,EAAYjW,EAAM2V,CAAa,EACjC3vB,GAAW8vB,EAAYG,CAAS,IACrBH,EAAAG,EACb/oB,EAAQ,EACV,CACD,EACM,CACL,KAAM,CACJJ,SAAM,EACCoJ,EAAQ,IAAMA,EAAQ,IAAI4f,CAAU,EAAIA,CACjD,EACA,IAAI9wB,EAAO,CACT,MAAMkxB,EAAehgB,EAAQ,IAAMA,EAAQ,IAAIlR,CAAK,EAAIA,EACpD,IAACgB,GAAWkwB,EAAcJ,CAAU,GAAK,EAAEC,IAAiBvyB,IAAawC,GAAWhB,EAAO+wB,CAAY,GACzG,OAEI,MAAA9N,EAAW/jB,EAAE,MAAM,MACnB+jB,IACLzgB,KAAQygB,GAAY0N,KAAiB1N,GAAY2N,KAAkB3N,KAAc,YAAYzgB,CAAI,KAAMygB,GAAY,YAAY0N,CAAa,KAAM1N,GAAY,YAAY2N,CAAc,KAAM3N,KAChL6N,EAAA9wB,EACbkI,EAAQ,GAEVhJ,EAAE,KAAK,UAAUsD,CAAI,GAAI0uB,CAAY,EACjClwB,GAAWhB,EAAOkxB,CAAY,GAAKlwB,GAAWhB,EAAO+wB,CAAY,GAAK,CAAC/vB,GAAWkwB,EAAcF,CAAgB,GAClH9oB,EAAQ,EAEK6oB,EAAA/wB,EACIgxB,EAAAE,CAAA,CAEvB,EACD,EACG,OAAArvB,EAAA,OAAO,QAAQ,EAAI,IAAM,CAC3B,IAAIsvB,EAAK,EACF,OACL,MAAO,CACL,OAAIA,EAAK,EACA,CAAE,MAAOA,IAAO/a,GAAa5X,GAAYqD,EAAK,KAAM,EAAM,EAE1D,CAAE,KAAM,EAAK,CACtB,CAEJ,CACF,EACOA,CACT,CACA,MAAMgvB,GAAoB,CAAC7V,EAAOoW,IACzBA,IAAc,cAAgBA,IAAc,cAAgBpW,EAAM,eAAiBA,EAAM,GAAGoW,CAAS,WAAW,GAAKpW,EAAM,GAAGva,GAAS2wB,CAAS,CAAC,WAAW,GAAKpW,EAAM,GAAGna,GAAUuwB,CAAS,CAAC,WAAW,EAGlN,SAASC,GAAKxe,EAAUye,KAAUC,EAAS,CACzC,GAAI1e,EAAS,YAAa,OACpB,MAAAmI,EAAQnI,EAAS,MAAM,OAASrU,GA0BtC,IAAI8K,EAAOioB,EACL1yB,QAAkByyB,EAAM,WAAW,SAAS,EAC5Clb,EAAYvX,GAAmBgyB,GAAkB7V,EAAOsW,EAAM,MAAM,CAAC,CAAC,EACxElb,IACEA,EAAU,OACL9M,EAAAioB,EAAQ,IAAK1uB,GAAMlD,GAASkD,CAAC,EAAIA,EAAE,KAAK,EAAIA,CAAC,GAElDuT,EAAU,SACL9M,EAAAioB,EAAQ,IAAI/vB,EAAa,IAmBhC,IAAAgwB,EACAzR,EAAU/E,EAAMwW,EAAczwB,GAAauwB,CAAK,CAAC,GACrDtW,EAAMwW,EAAczwB,GAAaN,GAAS6wB,CAAK,CAAC,CAAC,EAC7C,CAACvR,GAAWlhB,IACdkhB,EAAU/E,EAAMwW,EAAczwB,GAAaF,GAAUywB,CAAK,CAAC,CAAC,GAE1DvR,GACFhN,GACEgN,EACAlN,EACA,EACAvJ,CACF,EAEI,MAAAmoB,EAAczW,EAAMwW,EAAc,MAAM,EAC9C,GAAIC,EAAa,CACX,IAAC5e,EAAS,QACZA,EAAS,QAAU,CAAC,UACXA,EAAS,QAAQ2e,CAAW,EACrC,OAEO3e,EAAA,QAAQ2e,CAAW,EAAI,GAChCze,GACE0e,EACA5e,EACA,EACAvJ,CACF,EAEJ,CACA,SAASooB,GAAsBjN,EAAM/H,EAAYiE,EAAU,GAAO,CAChE,MAAMpgB,EAAQmc,EAAW,WACnBhC,EAASna,EAAM,IAAIkkB,CAAI,EAC7B,GAAI/J,IAAW,OACN,OAAAA,EAET,MAAM3R,EAAM0b,EAAK,MACjB,IAAI1iB,EAAa,CAAC,EACd2iB,EAAa,GACU,IAAChlB,GAAW+kB,CAAI,EAAG,CACtC,MAAAkN,EAAe/M,GAAS,CAC5B,MAAMgN,EAAuBF,GAAsB9M,EAAMlI,EAAY,EAAI,EACrEkV,IACWlN,EAAA,GACb5lB,GAAOiD,EAAY6vB,CAAoB,EAE3C,EACI,CAACjR,GAAWjE,EAAW,OAAO,QACrBA,EAAA,OAAO,QAAQiV,CAAW,EAEnClN,EAAK,SACPkN,EAAYlN,EAAK,OAAO,EAEtBA,EAAK,QACFA,EAAA,OAAO,QAAQkN,CAAW,CACjC,CAEE,OAAC5oB,GAAO,CAAC2b,GACP7kB,GAAS4kB,CAAI,GACTlkB,EAAA,IAAIkkB,EAAM,IAAI,EAEf,OAELplB,GAAQ0J,CAAG,EACbA,EAAI,QAASzK,GAAQyD,EAAWzD,CAAG,EAAI,IAAI,EAE3CQ,GAAOiD,EAAYgH,CAAG,EAEpBlJ,GAAS4kB,CAAI,GACTlkB,EAAA,IAAIkkB,EAAM1iB,CAAU,EAErBA,EACT,CACA,SAAS6hB,GAAe1S,EAAS5S,EAAK,CACpC,MAAI,CAAC4S,GAAW,CAACtS,GAAKN,CAAG,EAChB,IAETA,EAAMA,EAAI,MAAM,CAAC,EAAE,QAAQ,QAAS,EAAE,EAC/Bc,GAAO8R,EAAS5S,EAAI,CAAC,EAAE,YAAY,EAAIA,EAAI,MAAM,CAAC,CAAC,GAAKc,GAAO8R,EAASrQ,GAAUvC,CAAG,CAAC,GAAKc,GAAO8R,EAAS5S,CAAG,EACvH,CAMA,SAASotB,GAAoB7Y,EAAU,CAC/B,MACJ,KAAMsH,EACN,MAAApE,EACA,MAAAzH,EACA,UAAAujB,EACA,aAAc,CAAC7U,CAAY,EAC3B,MAAAjC,EACA,MAAAoI,EACA,KAAAkO,EACA,OAAA9S,EACA,YAAAuT,EACA,MAAA9W,EACA,KAAAwB,EACA,WAAA9E,EACA,IAAAjC,EACA,aAAAoJ,CAAA,EACEhM,EACEvM,EAAOiP,GAA4B1C,CAAQ,EAC7C,IAAA1I,EACA4nB,EAIA,IACE,GAAAhc,EAAM,UAAY,EAAG,CACvB,MAAMic,EAAaH,GAAavjB,EAC1B2jB,EASDD,EACI7nB,EAAAmb,GACP/G,EAAO,KACL0T,EACAD,EACAF,EACqE9W,EACrEtD,EACA8E,EACA/G,CAAA,CAEJ,EACmBsc,EAAA5O,CAAA,KACd,CACL,MAAM+O,EAAU/X,EAIPhQ,EAAAmb,GACP4M,EAAQ,OAAS,EAAIA,EACkDlX,EAQjE,CAAE,MAAAmI,EAAO,MAAApI,EAAO,KAAAsW,CAAK,GACvBa,EACmElX,EACrE,KAEJ,EACA+W,EAAmB5X,EAAU,MAAQgJ,EAAQgP,GAAyBhP,CAAK,SAEtEhd,EAAK,CACZisB,GAAW,OAAS,EACRtf,GAAA3M,EAAK0M,EAAU,CAAC,EAC5B1I,EAASmR,GAAYS,EAAO,EAE9B,IAAI+P,EAAO3hB,EAKP,GAAA4nB,GAAoBlT,IAAiB,GAAO,CACxC,MAAAhE,EAAO,OAAO,KAAKkX,CAAgB,EACnC,CAAE,UAAAnK,GAAckE,EAClBjR,EAAK,QACH+M,EAAa,IACX5K,GAAgBnC,EAAK,KAAKhc,EAAe,IACxBkzB,EAAAM,GACjBN,EACA/U,CACF,GAEF8O,EAAOwG,GAAWxG,EAAMiG,EAAkB,GAAO,EAAI,EA0BzD,CAEF,OAAIhc,EAAM,OAMR+V,EAAOwG,GAAWxG,EAAM,KAAM,GAAO,EAAI,EACpCA,EAAA,KAAOA,EAAK,KAAOA,EAAK,KAAK,OAAO/V,EAAM,IAAI,EAAIA,EAAM,MAE3DA,EAAM,YAMWa,GAAAkV,EAAM/V,EAAM,UAAU,EAKhC5L,EAAA2hB,EAEXvW,GAA4BjP,CAAI,EACzB6D,CACT,CA6CA,MAAMgoB,GAA4BhP,GAAU,CACtC,IAAAthB,EACJ,UAAWvD,KAAO6kB,GACZ7kB,IAAQ,SAAWA,IAAQ,SAAWM,GAAKN,CAAG,MAC/CuD,IAAQA,EAAM,KAAKvD,CAAG,EAAI6kB,EAAM7kB,CAAG,GAGjC,OAAAuD,CACT,EACMwwB,GAAuB,CAAClP,EAAOnI,IAAU,CAC7C,MAAMnZ,EAAM,CAAC,EACb,UAAWvD,KAAO6kB,GACZ,CAACtkB,GAAgBP,CAAG,GAAK,EAAEA,EAAI,MAAM,CAAC,IAAK0c,MACzCnZ,EAAAvD,CAAG,EAAI6kB,EAAM7kB,CAAG,GAGjB,OAAAuD,CACT,EAIA,SAASmpB,GAAsB1U,EAAW4V,EAAW3I,EAAW,CAC9D,KAAM,CAAE,MAAO4I,EAAW,SAAUoG,EAAc,UAAApQ,GAAc7L,EAC1D,CAAE,MAAOkc,EAAW,SAAUC,EAAc,UAAAjP,GAAc0I,EAC1DwG,EAAQvQ,EAAU,aAIpB,GAAA+J,EAAU,MAAQA,EAAU,WACvB,SAEL,GAAA3I,GAAaC,GAAa,EAAG,CAC/B,GAAIA,EAAY,KACP,SAET,GAAIA,EAAY,GACd,OAAK2I,EAGEwG,GAAgBxG,EAAWqG,EAAWE,CAAK,EAFzC,CAAC,CAACF,EAGb,GAAWhP,EAAY,EAAG,CACxB,MAAMoP,EAAe1G,EAAU,aAC/B,QAAShtB,EAAI,EAAGA,EAAI0zB,EAAa,OAAQ1zB,IAAK,CACtC,MAAAZ,EAAMs0B,EAAa1zB,CAAC,EACtB,GAAAszB,EAAUl0B,CAAG,IAAM6tB,EAAU7tB,CAAG,GAAK,CAACslB,GAAe8O,EAAOp0B,CAAG,EAC1D,QACT,CACF,CACF,KAEA,QAAIi0B,GAAgBE,KACd,CAACA,GAAgB,CAACA,EAAa,SAC1B,GAGPtG,IAAcqG,EACT,GAEJrG,EAGAqG,EAGEG,GAAgBxG,EAAWqG,EAAWE,CAAK,EAFzC,GAHA,CAAC,CAACF,EAON,QACT,CACA,SAASG,GAAgBxG,EAAWqG,EAAWK,EAAc,CACrD,MAAAC,EAAW,OAAO,KAAKN,CAAS,EACtC,GAAIM,EAAS,SAAW,OAAO,KAAK3G,CAAS,EAAE,OACtC,SAET,QAAS,EAAI,EAAG,EAAI2G,EAAS,OAAQ,IAAK,CAClC,MAAAx0B,EAAMw0B,EAAS,CAAC,EAClB,GAAAN,EAAUl0B,CAAG,IAAM6tB,EAAU7tB,CAAG,GAAK,CAACslB,GAAeiP,EAAcv0B,CAAG,EACjE,QACT,CAEK,QACT,CACA,SAASstB,GAAgB,CAAE,MAAA7V,EAAO,OAAAsV,CAAA,EAAUpsB,EAAI,CAC9C,KAAOosB,GAAQ,CACb,MAAMS,EAAOT,EAAO,QAIpB,GAHIS,EAAK,UAAYA,EAAK,SAAS,eAAiB/V,IAClD+V,EAAK,GAAK/V,EAAM,IAEd+V,IAAS/V,GACVA,EAAQsV,EAAO,OAAO,GAAKpsB,EAC5BosB,EAASA,EAAO,WAEhB,MACF,CAEJ,CAEA,MAAM/B,GAActhB,GAASA,EAAK,aAmjBlC,SAASke,GAAwB5lB,EAAIyyB,EAAU,CACzCA,GAAYA,EAAS,cACnB1zB,GAAQiB,CAAE,EACHyyB,EAAA,QAAQ,KAAK,GAAGzyB,CAAE,EAElByyB,EAAA,QAAQ,KAAKzyB,CAAE,EAG1B2U,GAAiB3U,CAAE,CAEvB,CAoBM,MAAA+a,GAAW,OAAO,IAAI,OAAO,EAC7BwM,GAAO,OAAO,IAAI,OAAO,EACzB9L,GAAU,OAAO,IAAI,OAAO,EAC5BiM,GAAS,OAAO,IAAI,OAAO,EAC3BoK,GAAa,CAAC,EACpB,IAAIY,GAAe,KACnB,SAAS7X,GAAU8X,EAAkB,GAAO,CAC1Cb,GAAW,KAAKY,GAAeC,EAAkB,KAAO,EAAE,CAC5D,CACA,SAASC,IAAa,CACpBd,GAAW,IAAI,EACfY,GAAeZ,GAAWA,GAAW,OAAS,CAAC,GAAK,IACtD,CACA,IAAIe,GAAqB,EACzB,SAASvd,GAAiB5V,EAAOozB,EAAU,GAAO,CAC1BD,IAAAnzB,EAClBA,EAAQ,GAAKgzB,IAAgBI,IAC/BJ,GAAa,QAAU,GAE3B,CACA,SAASK,GAAWtd,EAAO,CACzB,OAAAA,EAAM,gBAAkBod,GAAqB,EAAIH,IAAgBv0B,GAAY,KAClEy0B,GAAA,EACPC,GAAqB,GAAKH,IAC5BA,GAAa,KAAKjd,CAAK,EAElBA,CACT,CACA,SAASud,GAAmBtrB,EAAMgT,EAAO4K,EAAUpC,EAAWoP,EAAchL,EAAW,CAC9E,OAAAyL,GACLE,GACEvrB,EACAgT,EACA4K,EACApC,EACAoP,EACAhL,EACA,GAEJ,CACF,CACA,SAASxM,GAAYpT,EAAMgT,EAAO4K,EAAUpC,EAAWoP,EAAc,CAC5D,OAAAS,GACL/X,GACEtT,EACAgT,EACA4K,EACApC,EACAoP,EACA,GAEJ,CACF,CACA,SAAS9W,GAAQ9b,EAAO,CACf,OAAAA,EAAQA,EAAM,cAAgB,GAAO,EAC9C,CACA,SAASynB,GAAgBN,EAAIC,EAAI,CAS/B,OAAOD,EAAG,OAASC,EAAG,MAAQD,EAAG,MAAQC,EAAG,GAC9C,CAUA,MAAMoM,GAAe,CAAC,CAAE,IAAAl1B,KAAUA,GAAoB,KAChDm1B,GAAe,CAAC,CACpB,IAAA/kB,EACA,QAAAglB,EACA,QAAAC,CACF,KACM,OAAOjlB,GAAQ,WACjBA,EAAM,GAAKA,GAENA,GAAO,KAAO/O,GAAS+O,CAAG,GAAKlL,GAAMkL,CAAG,GAAKhP,GAAWgP,CAAG,EAAI,CAAE,EAAG2G,GAA0B,EAAG3G,EAAK,EAAGglB,EAAS,EAAG,CAAC,CAACC,GAAYjlB,EAAM,MAElJ,SAAS6kB,GAAgBvrB,EAAMgT,EAAQ,KAAM4K,EAAW,KAAMpC,EAAY,EAAGoP,EAAe,KAAMhL,EAAY5f,IAASqT,GAAW,EAAI,EAAGuY,EAAc,GAAOC,EAAgC,GAAO,CACnM,MAAM9d,EAAQ,CACZ,YAAa,GACb,SAAU,GACV,KAAA/N,EACA,MAAAgT,EACA,IAAKA,GAASwY,GAAaxY,CAAK,EAChC,IAAKA,GAASyY,GAAazY,CAAK,EAChC,QAAS1F,GACT,aAAc,KACd,SAAAsQ,EACA,UAAW,KACX,SAAU,KACV,UAAW,KACX,WAAY,KACZ,KAAM,KACN,WAAY,KACZ,GAAI,KACJ,OAAQ,KACR,OAAQ,KACR,YAAa,KACb,aAAc,KACd,YAAa,EACb,UAAAgC,EACA,UAAApE,EACA,aAAAoP,EACA,gBAAiB,KACjB,WAAY,KACZ,IAAKvd,EACP,EACA,OAAIwe,GACFC,GAAkB/d,EAAO6P,CAAQ,EAC7BgC,EAAY,KACd5f,EAAK,UAAU+N,CAAK,GAEb6P,IACT7P,EAAM,WAAapW,GAASimB,CAAQ,EAAI,EAAI,IAK1CuN,GAAqB,GACzB,CAACS,GACDZ,KAICjd,EAAM,UAAY,GAAK6R,EAAY,IAEpC7R,EAAM,YAAc,IAClBid,GAAa,KAAKjd,CAAK,EAElBA,CACT,CACM,MAAAuF,GAAyFyY,GAC/F,SAASA,GAAa/rB,EAAMgT,EAAQ,KAAM4K,EAAW,KAAMpC,EAAY,EAAGoP,EAAe,KAAMgB,EAAc,GAAO,CAO9G,IANA,CAAC5rB,GAAQA,IAASiS,MAIbjS,EAAA+T,IAELD,GAAQ9T,CAAI,EAAG,CACjB,MAAMgsB,EAAS1B,GACbtqB,EACAgT,EACA,EAEF,EACA,OAAI4K,GACFkO,GAAkBE,EAAQpO,CAAQ,EAEhCuN,GAAqB,GAAK,CAACS,GAAeZ,KACxCgB,EAAO,UAAY,EACrBhB,GAAaA,GAAa,QAAQhrB,CAAI,CAAC,EAAIgsB,EAE3ChB,GAAa,KAAKgB,CAAM,GAG5BA,EAAO,UAAY,GACZA,CAAA,CAKT,GAHIC,GAAiBjsB,CAAI,IACvBA,EAAOA,EAAK,WAEVgT,EAAO,CACTA,EAAQkZ,GAAmBlZ,CAAK,EAChC,GAAI,CAAE,MAAOmZ,EAAO,MAAAC,CAAU,EAAApZ,EAC1BmZ,GAAS,CAACx0B,GAASw0B,CAAK,IACpBnZ,EAAA,MAAQzY,GAAe4xB,CAAK,GAEhCt0B,GAASu0B,CAAK,IACZxpB,GAAQwpB,CAAK,GAAK,CAAC/0B,GAAQ+0B,CAAK,IAC1BA,EAAAt1B,GAAO,CAAC,EAAGs1B,CAAK,GAEpBpZ,EAAA,MAAQpZ,GAAewyB,CAAK,EACpC,CAEI,MAAAxM,EAAYjoB,GAASqI,CAAI,EAAI,EAAIshB,GAAWthB,CAAI,EAAI,IAAM2O,GAAW3O,CAAI,EAAI,GAAKnI,GAASmI,CAAI,EAAI,EAAItI,GAAWsI,CAAI,EAAI,EAAI,EAU7H,OAAAurB,GACLvrB,EACAgT,EACA4K,EACApC,EACAoP,EACAhL,EACAgM,EACA,EACF,CACF,CACA,SAASM,GAAmBlZ,EAAO,CAC7B,OAACA,EACEpQ,GAAQoQ,CAAK,GAAK+H,GAAiB/H,CAAK,EAAIlc,GAAO,GAAIkc,CAAK,EAAIA,EADpD,IAErB,CACA,SAASsX,GAAWvc,EAAOse,EAAYC,EAAW,GAAOC,EAAkB,GAAO,CAChF,KAAM,CAAE,MAAAvZ,EAAO,IAAAtM,EAAK,UAAA8U,EAAW,SAAAoC,EAAU,WAAAgD,GAAe7S,EAClDye,EAAcH,EAAaI,GAAWzZ,GAAS,CAAC,EAAGqZ,CAAU,EAAIrZ,EACjEgZ,EAAS,CACb,YAAa,GACb,SAAU,GACV,KAAMje,EAAM,KACZ,MAAOye,EACP,IAAKA,GAAehB,GAAagB,CAAW,EAC5C,IAAKH,GAAcA,EAAW,IAI5BC,GAAY5lB,EAAMrP,GAAQqP,CAAG,EAAIA,EAAI,OAAO+kB,GAAaY,CAAU,CAAC,EAAI,CAAC3lB,EAAK+kB,GAAaY,CAAU,CAAC,EAAIZ,GAAaY,CAAU,EAC/H3lB,EACJ,QAASqH,EAAM,QACf,aAAcA,EAAM,aACpB,SAA8H6P,EAC9H,OAAQ7P,EAAM,OACd,YAAaA,EAAM,YACnB,aAAcA,EAAM,aACpB,YAAaA,EAAM,YACnB,UAAWA,EAAM,UAKjB,UAAWse,GAActe,EAAM,OAASsF,GAAWmI,IAAc,GAAK,GAAKA,EAAY,GAAKA,EAC5F,aAAczN,EAAM,aACpB,gBAAiBA,EAAM,gBACvB,WAAYA,EAAM,WAClB,KAAMA,EAAM,KACZ,WAAA6S,EAKA,UAAW7S,EAAM,UACjB,SAAUA,EAAM,SAChB,UAAWA,EAAM,WAAauc,GAAWvc,EAAM,SAAS,EACxD,WAAYA,EAAM,YAAcuc,GAAWvc,EAAM,UAAU,EAC3D,GAAIA,EAAM,GACV,OAAQA,EAAM,OACd,IAAKA,EAAM,IACX,GAAIA,EAAM,EACZ,EACA,OAAI6S,GAAc2L,GAChB3d,GACEod,EACApL,EAAW,MAAMoL,CAAM,CACzB,EAEKA,CACT,CAQA,SAASU,GAAgBC,EAAO,IAAKC,EAAO,EAAG,CAC7C,OAAOtZ,GAAYuM,GAAM,KAAM8M,EAAMC,CAAI,CAC3C,CAMA,SAASC,GAAmBF,EAAO,GAAIG,EAAU,GAAO,CAC/C,OAAAA,GAAW3Z,KAAaC,GAAYW,GAAS,KAAM4Y,CAAI,GAAKrZ,GAAYS,GAAS,KAAM4Y,CAAI,CACpG,CACA,SAASrP,GAAezJ,EAAO,CAC7B,OAAIA,GAAS,MAAQ,OAAOA,GAAU,UAC7BP,GAAYS,EAAO,EACjB1c,GAAQwc,CAAK,EACfP,GACLD,GACA,KAEAQ,EAAM,MAAM,CACd,EACSC,GAAQD,CAAK,EACf2N,GAAe3N,CAAK,EAEpBP,GAAYuM,GAAM,KAAM,OAAOhM,CAAK,CAAC,CAEhD,CACA,SAAS2N,GAAe3N,EAAO,CACtB,OAAAA,EAAM,KAAO,MAAQA,EAAM,YAAc,IAAMA,EAAM,KAAOA,EAAQyW,GAAWzW,CAAK,CAC7F,CACA,SAASiY,GAAkB/d,EAAO6P,EAAU,CAC1C,IAAI5d,EAAO,EACL,MAAE,UAAA4f,GAAc7R,EACtB,GAAI6P,GAAY,KACHA,EAAA,aACFvmB,GAAQumB,CAAQ,EAClB5d,EAAA,WACE,OAAO4d,GAAa,SACzB,GAAAgC,EAAa,GAAS,CACxB,MAAMrM,EAAOqK,EAAS,QAClBrK,IACGA,EAAA,KAAOA,EAAK,GAAK,IACJuY,GAAA/d,EAAOwF,GAAM,EAC1BA,EAAA,KAAOA,EAAK,GAAK,KAExB,WACK,CACEvT,EAAA,GACP,MAAM+sB,EAAWnP,EAAS,EACtB,CAACmP,GAAY,CAAChS,GAAiB6C,CAAQ,EACzCA,EAAS,KAAOvQ,GACP0f,IAAa,GAAK1f,KACvBA,GAAyB,MAAM,IAAM,EACvCuQ,EAAS,EAAI,GAEbA,EAAS,EAAI,EACb7P,EAAM,WAAa,MAEvB,MAEOrW,GAAWkmB,CAAQ,GAC5BA,EAAW,CAAE,QAASA,EAAU,KAAMvQ,EAAyB,EACxDrN,EAAA,KAEP4d,EAAW,OAAOA,CAAQ,EACtBgC,EAAY,IACP5f,EAAA,GACI4d,EAAA,CAAC8O,GAAgB9O,CAAQ,CAAC,GAE9B5d,EAAA,GAGX+N,EAAM,SAAW6P,EACjB7P,EAAM,WAAa/N,CACrB,CACA,SAASysB,MAAcnrB,EAAM,CAC3B,MAAMjH,EAAM,CAAC,EACb,QAASnD,EAAI,EAAGA,EAAIoK,EAAK,OAAQpK,IAAK,CAC9B,MAAA81B,EAAU1rB,EAAKpK,CAAC,EACtB,UAAWZ,KAAO02B,EAChB,GAAI12B,IAAQ,QACN+D,EAAI,QAAU2yB,EAAQ,QACxB3yB,EAAI,MAAQE,GAAe,CAACF,EAAI,MAAO2yB,EAAQ,KAAK,CAAC,WAE9C12B,IAAQ,QACjB+D,EAAI,MAAQT,GAAe,CAACS,EAAI,MAAO2yB,EAAQ,KAAK,CAAC,UAC5Cp2B,GAAKN,CAAG,EAAG,CACd,MAAA0Z,EAAW3V,EAAI/D,CAAG,EAClB22B,EAAWD,EAAQ12B,CAAG,EACxB22B,GAAYjd,IAAaid,GAAY,EAAE51B,GAAQ2Y,CAAQ,GAAKA,EAAS,SAASid,CAAQ,KACpF5yB,EAAA/D,CAAG,EAAI0Z,EAAW,GAAG,OAAOA,EAAUid,CAAQ,EAAIA,EACxD,MACS32B,IAAQ,KACb+D,EAAA/D,CAAG,EAAI02B,EAAQ12B,CAAG,EAE1B,CAEK,OAAA+D,CACT,CACA,SAAS4mB,GAAgBxS,EAAM5D,EAAUkD,EAAOO,EAAY,KAAM,CACrCvD,GAAA0D,EAAM5D,EAAU,EAAG,CAC5CkD,EACAO,CAAA,CACD,CACH,CAEA,MAAM4e,GAAkB7T,GAAiB,EACzC,IAAI8T,GAAM,EACV,SAASvK,GAAwB7U,EAAOsV,EAAQ0H,EAAU,CACxD,MAAM/qB,EAAO+N,EAAM,KACb2G,GAAc2O,EAASA,EAAO,WAAatV,EAAM,aAAemf,GAChEriB,EAAW,CACf,IAAKsiB,KACL,MAAApf,EACA,KAAA/N,EACA,OAAAqjB,EACA,WAAA3O,EACA,KAAM,KAEN,KAAM,KACN,QAAS,KAET,OAAQ,KACR,OAAQ,KAER,IAAK,KACL,MAAO,IAAIxY,GACT,EAEF,EACA,OAAQ,KACR,MAAO,KACP,QAAS,KACT,YAAa,KACb,UAAW,KACX,SAAUmnB,EAASA,EAAO,SAAW,OAAO,OAAO3O,EAAW,QAAQ,EACtE,IAAK2O,EAASA,EAAO,IAAM,CAAC,GAAI,EAAG,CAAC,EACpC,YAAa,KACb,YAAa,CAAC,EAEd,WAAY,KACZ,WAAY,KAEZ,aAAc7G,GAAsBxc,EAAM0U,CAAU,EACpD,aAAcgV,GAAsB1pB,EAAM0U,CAAU,EAEpD,KAAM,KAEN,QAAS,KAET,cAAele,GAEf,aAAcwJ,EAAK,aAEnB,IAAKxJ,GACL,KAAMA,GACN,MAAOA,GACP,MAAOA,GACP,MAAOA,GACP,KAAMA,GACN,WAAYA,GACZ,aAAc,KAEd,SAAAu0B,EACA,WAAYA,EAAWA,EAAS,UAAY,EAC5C,SAAU,KACV,cAAe,GAGf,UAAW,GACX,YAAa,GACb,cAAe,GACf,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,EAAG,KACH,GAAI,KACJ,IAAK,KACL,GAAI,KACJ,EAAG,KACH,IAAK,KACL,IAAK,KACL,GAAI,KACJ,GAAI,IACN,EAIW,OAAAlgB,EAAA,IAAM,CAAE,EAAGA,CAAS,EAEtBA,EAAA,KAAOwY,EAASA,EAAO,KAAOxY,EACvCA,EAAS,KAAOwe,GAAK,KAAK,KAAMxe,CAAQ,EACpCkD,EAAM,IACRA,EAAM,GAAGlD,CAAQ,EAEZA,CACT,CACA,IAAIyF,GAAkB,KACtB,MAAMoY,GAAqB,IAAMpY,IAAmBjD,GACpD,IAAI+f,GACAC,GACJ,CACE,MAAMC,EAAI3zB,GAAc,EAClB4zB,EAAuB,CAACj3B,EAAK8R,IAAW,CACxC,IAAAolB,EACA,OAAEA,EAAUF,EAAEh3B,CAAG,KAAck3B,EAAAF,EAAEh3B,CAAG,EAAI,CAAC,GAC7Ck3B,EAAQ,KAAKplB,CAAM,EACXrM,GAAM,CACRyxB,EAAQ,OAAS,EAAGA,EAAQ,QAASjmB,GAAQA,EAAIxL,CAAC,CAAC,EAClDyxB,EAAQ,CAAC,EAAEzxB,CAAC,CACnB,CACF,EAC6BqxB,GAAAG,EAC3B,2BACCxxB,GAAMuU,GAAkBvU,CAC3B,EACqBsxB,GAAAE,EACnB,sBACCxxB,GAAMoV,GAAwBpV,CACjC,CACF,CACA,MAAMiV,GAAsBnG,GAAa,CACvC,MAAMvM,EAAOgS,GACb,OAAA8c,GAA2BviB,CAAQ,EACnCA,EAAS,MAAM,GAAG,EACX,IAAM,CACXA,EAAS,MAAM,IAAI,EACnBuiB,GAA2B9uB,CAAI,CACjC,CACF,EACMmvB,GAAuB,IAAM,CACdnd,OAAgB,MAAM,IAAI,EAC7C8c,GAA2B,IAAI,CACjC,EASA,SAASnZ,GAAoBpJ,EAAU,CAC9B,OAAAA,EAAS,MAAM,UAAY,CACpC,CACA,IAAIsG,GAAwB,GAC5B,SAAS0R,GAAehY,EAAUxC,EAAQ,GAAOkT,EAAY,GAAO,CAClElT,GAASglB,GAAmBhlB,CAAK,EACjC,KAAM,CAAE,MAAA2K,EAAO,SAAA4K,CAAS,EAAI/S,EAAS,MAC/BqQ,EAAajH,GAAoBpJ,CAAQ,EACrCmQ,GAAAnQ,EAAUmI,EAAOkI,EAAY7S,CAAK,EAClCyV,GAAAjT,EAAU+S,EAAUrC,CAAS,EACvC,MAAMmS,EAAcxS,EAAayS,GAAuB9iB,EAAUxC,CAAK,EAAI,OAC3E,OAAAA,GAASglB,GAAmB,EAAK,EAC1BK,CACT,CACA,SAASC,GAAuB9iB,EAAUxC,EAAO,CAE/C,MAAM8J,EAAYtH,EAAS,KAuBlBA,EAAA,YAAqC,cAAO,IAAI,EACzDA,EAAS,MAAQ,IAAI,MAAMA,EAAS,IAAK0J,EAA2B,EAI9D,MAAE,MAAAqZ,GAAUzb,EAClB,GAAIyb,EAAO,CACK1uB,GAAA,EACR,MAAA2uB,EAAehjB,EAAS,aAAe+iB,EAAM,OAAS,EAAIE,GAAmBjjB,CAAQ,EAAI,KACzFkG,EAAQC,GAAmBnG,CAAQ,EACnC6iB,EAAc9iB,GAClBgjB,EACA/iB,EACA,EACA,CACgFA,EAAS,MACvFgjB,CAAA,CAEJ,EACME,EAAej2B,GAAU41B,CAAW,EAM1C,GALcvuB,GAAA,EACR4R,EAAA,GACDgd,GAAgBljB,EAAS,KAAO,CAACyE,GAAezE,CAAQ,GAC3DmE,GAAkBnE,CAAQ,EAExBkjB,EAAc,CAEhB,GADYL,EAAA,KAAKD,GAAsBA,EAAoB,EACvDplB,EACK,OAAAqlB,EAAY,KAAMM,GAAmB,CACxBC,GAAApjB,EAAUmjB,CAAqB,EAClD,EAAE,MAAOhwB,GAAM,CACF8M,GAAA9M,EAAG6M,EAAU,CAAC,EAC3B,EAEDA,EAAS,SAAW6iB,CAOtB,MAEkBO,GAAApjB,EAAU6iB,CAAkB,CAChD,MAEAQ,GAAqBrjB,CAAe,CAExC,CACA,SAASojB,GAAkBpjB,EAAU6iB,EAAarlB,EAAO,CACnD3Q,GAAWg2B,CAAW,EACpB7iB,EAAS,KAAK,kBAChBA,EAAS,UAAY6iB,EAErB7iB,EAAS,OAAS6iB,EAEX71B,GAAS61B,CAAW,IASpB7iB,EAAA,WAAa1D,GAAUumB,CAAW,GAS7CQ,GAAqBrjB,CAAe,CACtC,CAYA,SAASqjB,GAAqBrjB,EAAUxC,EAAO8lB,EAAa,CAC1D,MAAMhc,EAAYtH,EAAS,KACtBA,EAAS,SAyBHA,EAAA,OAASsH,EAAU,QAAUzb,IAKP,CACzB,MAAAqa,EAAQC,GAAmBnG,CAAQ,EAC3B3L,GAAA,EACV,IACFiW,GAAatK,CAAQ,SACrB,CACc1L,GAAA,EACR4R,EAAA,EACR,CAWJ,CACA,MAAMqd,GAcF,CACF,IAAIruB,EAAQzJ,EAAK,CACT,OAAAwJ,GAAAC,EAAQ,MAAO,EAAE,EAChBA,EAAOzJ,CAAG,EAErB,EASA,SAASw3B,GAAmBjjB,EAAU,CAC9B,MAAA+L,EAAUa,GAAY,CAqBjB5M,EAAA,QAAU4M,GAAW,CAAC,CACjC,EAiBS,OACL,MAAO,IAAI,MAAM5M,EAAS,MAAOujB,EAAkB,EACnD,MAAOvjB,EAAS,MAChB,KAAMA,EAAS,KACf,OAAA+L,CACF,CAEJ,CACA,SAAS3I,GAA2BpD,EAAU,CAC5C,OAAIA,EAAS,QACJA,EAAS,cAAgBA,EAAS,YAAc,IAAI,MAAM1D,GAAUX,GAAQqE,EAAS,OAAO,CAAC,EAAG,CACrG,IAAI9K,EAAQzJ,EAAK,CACf,GAAIA,KAAOyJ,EACT,OAAOA,EAAOzJ,CAAG,EACnB,GAAWA,KAAO4d,GACT,OAAAA,GAAoB5d,CAAG,EAAEuU,CAAQ,CAE5C,EACA,IAAI9K,EAAQzJ,EAAK,CACR,OAAAA,KAAOyJ,GAAUzJ,KAAO4d,EAAA,CACjC,CACD,GAEMrJ,EAAS,KAEpB,CAGA,SAASwH,GAAiBF,EAAWkc,EAAkB,GAAM,CACpD,OAAA32B,GAAWya,CAAS,EAAIA,EAAU,aAAeA,EAAU,KAAOA,EAAU,MAAQkc,GAAmBlc,EAAU,MAC1H,CAuBA,SAAS8Z,GAAiBj0B,EAAO,CACxB,OAAAN,GAAWM,CAAK,GAAK,cAAeA,CAC7C,CAEM,MAAAyG,GAAW,CAAC6J,EAAiBC,IACvB+lB,GAAWhmB,EAAiBC,EAAc4I,EAAqB,EAU3E,SAAS0G,GAAE7X,EAAMuuB,EAAiB3Q,EAAU,CAC1C,MAAMxhB,EAAI,UAAU,OACpB,OAAIA,IAAM,EACJvE,GAAS02B,CAAe,GAAK,CAACl3B,GAAQk3B,CAAe,EACnDza,GAAQya,CAAe,EAClBjb,GAAYtT,EAAM,KAAM,CAACuuB,CAAe,CAAC,EAE3Cjb,GAAYtT,EAAMuuB,CAAe,EAEjCjb,GAAYtT,EAAM,KAAMuuB,CAAe,GAG5CnyB,EAAI,EACNwhB,EAAW,MAAM,UAAU,MAAM,KAAK,UAAW,CAAC,EACzCxhB,IAAM,GAAK0X,GAAQ8J,CAAQ,IACpCA,EAAW,CAACA,CAAQ,GAEftK,GAAYtT,EAAMuuB,EAAiB3Q,CAAQ,EAEtD,CA8MA,MAAM5D,GAAU,SC5sQhB;AAAA;AAAA;AAAA;AAAA,GASA,IAAIwU,GACJ,MAAMC,GAAK,OAAO,OAAW,KAAe,OAAO,aACnD,GAAIA,GACE,IACuBD,GAAAC,GAAG,aAAa,MAAO,CAC9C,WAAal4B,GAAQA,CAAA,CACtB,OACS,EAId,MAAMm4B,GAAsBF,GAAUj4B,GAAQi4B,GAAO,WAAWj4B,CAAG,EAAKA,GAAQA,EAC1Eo4B,GAAQ,6BACRC,GAAW,qCACXC,GAAM,OAAO,SAAa,IAAc,SAAW,KACnDC,GAAoBD,IAA2BA,GAAA,cAAc,UAAU,EACvEE,GAAU,CACd,OAAQ,CAAClb,EAAOwP,EAAQ/D,IAAW,CAC1B+D,EAAA,aAAaxP,EAAOyL,GAAU,IAAI,CAC3C,EACA,OAASzL,GAAU,CACjB,MAAMwP,EAASxP,EAAM,WACjBwP,GACFA,EAAO,YAAYxP,CAAK,CAE5B,EACA,cAAe,CAACmb,EAAKzU,EAAW0U,EAAIjc,IAAU,CACtC,MAAA/b,EAAKsjB,IAAc,MAAQsU,GAAI,gBAAgBF,GAAOK,CAAG,EAAIzU,IAAc,SAAWsU,GAAI,gBAAgBD,GAAUI,CAAG,EAAIC,EAAKJ,GAAI,cAAcG,EAAK,CAAE,GAAAC,EAAI,EAAIJ,GAAI,cAAcG,CAAG,EAC5L,OAAIA,IAAQ,UAAYhc,GAASA,EAAM,UAAY,MAC9C/b,EAAA,aAAa,WAAY+b,EAAM,QAAQ,EAErC/b,CACT,EACA,WAAa01B,GAASkC,GAAI,eAAelC,CAAI,EAC7C,cAAgBA,GAASkC,GAAI,cAAclC,CAAI,EAC/C,QAAS,CAACuC,EAAMvC,IAAS,CACvBuC,EAAK,UAAYvC,CACnB,EACA,eAAgB,CAAC11B,EAAI01B,IAAS,CAC5B11B,EAAG,YAAc01B,CACnB,EACA,WAAauC,GAASA,EAAK,WAC3B,YAAcA,GAASA,EAAK,YAC5B,cAAgBC,GAAaN,GAAI,cAAcM,CAAQ,EACvD,WAAWl4B,EAAIoV,EAAI,CACdpV,EAAA,aAAaoV,EAAI,EAAE,CACxB,EAKA,oBAAoB+iB,EAAS/L,EAAQ/D,EAAQ/E,EAAWjO,EAAOC,EAAK,CAClE,MAAM8iB,EAAS/P,EAASA,EAAO,gBAAkB+D,EAAO,UACxD,GAAI/W,IAAUA,IAAUC,GAAOD,EAAM,aACnC,KACE+W,EAAO,aAAa/W,EAAM,UAAU,EAAI,EAAGgT,CAAM,EAC7C,EAAAhT,IAAUC,GAAO,EAAED,EAAQA,EAAM,eAArC,KAEG,CACLwiB,GAAkB,UAAYJ,GAC5BnU,IAAc,MAAQ,QAAQ6U,CAAO,SAAW7U,IAAc,SAAW,SAAS6U,CAAO,UAAYA,CACvG,EACA,MAAME,EAAWR,GAAkB,QAC/B,GAAAvU,IAAc,OAASA,IAAc,SAAU,CACjD,MAAMgV,EAAUD,EAAS,WACzB,KAAOC,EAAQ,YACJD,EAAA,YAAYC,EAAQ,UAAU,EAEzCD,EAAS,YAAYC,CAAO,EAEvBlM,EAAA,aAAaiM,EAAUhQ,CAAM,EAE/B,OAEL+P,EAASA,EAAO,YAAchM,EAAO,WAErC/D,EAASA,EAAO,gBAAkB+D,EAAO,SAC3C,EAEJ,EAIMmM,GAAS,OAAO,MAAM,EAsR5B,SAASC,GAAWx4B,EAAIe,EAAO03B,EAAO,CAC9B,MAAAC,EAAoB14B,EAAGu4B,EAAM,EAC/BG,IACO33B,KAAQ,CAACA,EAAO,GAAG23B,CAAiB,EAAI,CAAC,GAAGA,CAAiB,GAAG,KAAK,GAAG,GAE/E33B,GAAS,KACXf,EAAG,gBAAgB,OAAO,EACjBy4B,EACNz4B,EAAA,aAAa,QAASe,CAAK,EAE9Bf,EAAG,UAAYe,CAEnB,CAEA,MAAM43B,GAAuB,OAAO,MAAM,EACpCC,GAAc,OAAO,MAAM,EAC3BC,GAAQ,CACZ,YAAY74B,EAAI,CAAE,MAAAe,GAAS,CAAE,WAAA4oB,GAAc,CACtC3pB,EAAA24B,EAAoB,EAAI34B,EAAG,MAAM,UAAY,OAAS,GAAKA,EAAG,MAAM,QACnE2pB,GAAc5oB,EAChB4oB,EAAW,YAAY3pB,CAAE,EAEzB84B,GAAW94B,EAAIe,CAAK,CAExB,EACA,QAAQf,EAAI,CAAE,MAAAe,GAAS,CAAE,WAAA4oB,GAAc,CACjCA,GAAc5oB,GAChB4oB,EAAW,MAAM3pB,CAAE,CAEvB,EACA,QAAQA,EAAI,CAAE,MAAAe,EAAO,SAAAiB,CAAY,GAAE,WAAA2nB,GAAc,CAC3C,CAAC5oB,GAAU,CAACiB,IACZ2nB,EACE5oB,GACF4oB,EAAW,YAAY3pB,CAAE,EACzB84B,GAAW94B,EAAI,EAAI,EACnB2pB,EAAW,MAAM3pB,CAAE,GAER2pB,EAAA,MAAM3pB,EAAI,IAAM,CACzB84B,GAAW94B,EAAI,EAAK,EACrB,EAGH84B,GAAW94B,EAAIe,CAAK,EAExB,EACA,cAAcf,EAAI,CAAE,MAAAe,GAAS,CAC3B+3B,GAAW94B,EAAIe,CAAK,EAExB,EAIA,SAAS+3B,GAAW94B,EAAIe,EAAO,CAC7Bf,EAAG,MAAM,QAAUe,EAAQf,EAAG24B,EAAoB,EAAI,OACnD34B,EAAA44B,EAAW,EAAI,CAAC73B,CACrB,CASA,MAAMg4B,GAAe,OAAoE,EAAE,EAwErFC,GAAY,sBAClB,SAASC,GAAWj5B,EAAIqH,EAAML,EAAM,CAClC,MAAMmuB,EAAQn1B,EAAG,MACXk5B,EAAcx4B,GAASsG,CAAI,EACjC,IAAImyB,EAAuB,GACvB,GAAAnyB,GAAQ,CAACkyB,EAAa,CACxB,GAAI7xB,EACE,GAAC3G,GAAS2G,CAAI,EAOhB,UAAW+xB,KAAa/xB,EAAK,MAAM,GAAG,EAAG,CACjC,MAAAhI,EAAM+5B,EAAU,MAAM,EAAGA,EAAU,QAAQ,GAAG,CAAC,EAAE,KAAK,EACxDpyB,EAAK3H,CAAG,GAAK,MACNg6B,GAAAlE,EAAO91B,EAAK,EAAE,CACzB,KAVF,WAAWA,KAAOgI,EACZL,EAAK3H,CAAG,GAAK,MACNg6B,GAAAlE,EAAO91B,EAAK,EAAE,EAY/B,UAAWA,KAAO2H,EACZ3H,IAAQ,YACa85B,EAAA,IAEzBE,GAASlE,EAAO91B,EAAK2H,EAAK3H,CAAG,CAAC,CAChC,SAEI65B,GACF,GAAI7xB,IAASL,EAAM,CACX,MAAAsyB,EAAanE,EAAM4D,EAAY,EACjCO,IACFtyB,GAAQ,IAAMsyB,GAEhBnE,EAAM,QAAUnuB,EACOmyB,EAAAH,GAAU,KAAKhyB,CAAI,QAEnCK,GACTrH,EAAG,gBAAgB,OAAO,EAG1B24B,MAAwB34B,IAC1BA,EAAG24B,EAAoB,EAAIQ,EAAuBhE,EAAM,QAAU,GAC9Dn1B,EAAG44B,EAAW,IAChBzD,EAAM,QAAU,QAGtB,CAEA,MAAMoE,GAAc,iBACpB,SAASF,GAASlE,EAAO5xB,EAAMjE,EAAK,CAC9B,GAAAc,GAAQd,CAAG,EACbA,EAAI,QAASwF,GAAMu0B,GAASlE,EAAO5xB,EAAMuB,CAAC,CAAC,UAEvCxF,GAAO,OAAYA,EAAA,IAQnBiE,EAAK,WAAW,IAAI,EAChB4xB,EAAA,YAAY5xB,EAAMjE,CAAG,MACtB,CACC,MAAAk6B,EAAWC,GAAWtE,EAAO5xB,CAAI,EACnCg2B,GAAY,KAAKj6B,CAAG,EAChB61B,EAAA,YACJvzB,GAAU43B,CAAQ,EAClBl6B,EAAI,QAAQi6B,GAAa,EAAE,EAC3B,WACF,EAEApE,EAAMqE,CAAQ,EAAIl6B,CACpB,CAGN,CACA,MAAMo6B,GAAW,CAAC,SAAU,MAAO,IAAI,EACjCC,GAAc,CAAC,EACrB,SAASF,GAAWtE,EAAOyE,EAAS,CAC5B,MAAAne,EAASke,GAAYC,CAAO,EAClC,GAAIne,EACK,OAAAA,EAEL,IAAAlY,EAAO/B,GAASo4B,CAAO,EACvB,GAAAr2B,IAAS,UAAYA,KAAQ4xB,EACxB,OAAAwE,GAAYC,CAAO,EAAIr2B,EAEhCA,EAAO1B,GAAW0B,CAAI,EACtB,QAAS,EAAI,EAAG,EAAIm2B,GAAS,OAAQ,IAAK,CAClC,MAAAF,EAAWE,GAAS,CAAC,EAAIn2B,EAC/B,GAAIi2B,KAAYrE,EACP,OAAAwE,GAAYC,CAAO,EAAIJ,CAChC,CAEK,OAAAI,CACT,CAEA,MAAMC,GAAU,+BAChB,SAASC,GAAU95B,EAAIX,EAAK0B,EAAO03B,EAAO7kB,EAAUmmB,EAAYt2B,GAAqBpE,CAAG,EAAG,CACrFo5B,GAASp5B,EAAI,WAAW,QAAQ,EAC9B0B,GAAS,KACXf,EAAG,kBAAkB65B,GAASx6B,EAAI,MAAM,EAAGA,EAAI,MAAM,CAAC,EAEnDW,EAAA,eAAe65B,GAASx6B,EAAK0B,CAAK,EAGnCA,GAAS,MAAQg5B,GAAa,CAACr2B,GAAmB3C,CAAK,EACzDf,EAAG,gBAAgBX,CAAG,EAEnBW,EAAA,aACDX,EACA06B,EAAY,GAAKp5B,GAASI,CAAK,EAAI,OAAOA,CAAK,EAAIA,CACrD,CAGN,CAEA,SAASi5B,GAAah6B,EAAIX,EAAK0B,EAAOunB,EAAiB2R,EAAU,CAC3D,GAAA56B,IAAQ,aAAeA,IAAQ,cAAe,CAC5C0B,GAAS,OACXf,EAAGX,CAAG,EAAIA,IAAQ,YAAco4B,GAAoB12B,CAAK,EAAIA,GAE/D,OAEF,MAAMg3B,EAAM/3B,EAAG,QACX,GAAAX,IAAQ,SAAW04B,IAAQ,YAC/B,CAACA,EAAI,SAAS,GAAG,EAAG,CACZ,MAAA/1B,EAAW+1B,IAAQ,SAAW/3B,EAAG,aAAa,OAAO,GAAK,GAAKA,EAAG,MAClEkJ,EAAWnI,GAAS,KAGxBf,EAAG,OAAS,WAAa,KAAO,GAC9B,OAAOe,CAAK,GACZiB,IAAakH,GAAY,EAAE,WAAYlJ,MACzCA,EAAG,MAAQkJ,GAETnI,GAAS,MACXf,EAAG,gBAAgBX,CAAG,EAExBW,EAAG,OAASe,EACZ,OAEF,IAAIm5B,EAAa,GACb,GAAAn5B,IAAU,IAAMA,GAAS,KAAM,CAC3B,MAAAgI,EAAO,OAAO/I,EAAGX,CAAG,EACtB0J,IAAS,UACXhI,EAAQ2C,GAAmB3C,CAAK,EACvBA,GAAS,MAAQgI,IAAS,UAC3BhI,EAAA,GACKm5B,EAAA,IACJnxB,IAAS,WACVhI,EAAA,EACKm5B,EAAA,GACf,CAEE,IACFl6B,EAAGX,CAAG,EAAI0B,OACA,CAMV,CAEYm5B,GAAAl6B,EAAG,gBAAgBi6B,GAAY56B,CAAG,CAClD,CAEA,SAAS86B,GAAiBn6B,EAAIqyB,EAAOvR,EAAS7O,EAAS,CAClDjS,EAAA,iBAAiBqyB,EAAOvR,EAAS7O,CAAO,CAC7C,CACA,SAASmoB,GAAoBp6B,EAAIqyB,EAAOvR,EAAS7O,EAAS,CACrDjS,EAAA,oBAAoBqyB,EAAOvR,EAAS7O,CAAO,CAChD,CACA,MAAMooB,GAAS,OAAO,MAAM,EAC5B,SAASC,GAAWt6B,EAAI45B,EAASW,EAAWC,EAAW5mB,EAAW,KAAM,CACtE,MAAM6mB,EAAWz6B,EAAGq6B,EAAM,IAAMr6B,EAAGq6B,EAAM,EAAI,IACvCK,EAAkBD,EAASb,CAAO,EACxC,GAAIY,GAAaE,EACfA,EAAgB,MAA6FF,MACxG,CACL,KAAM,CAACj3B,EAAM0O,CAAO,EAAI0oB,GAAUf,CAAO,EACzC,GAAIY,EAAW,CACP,MAAAI,EAAUH,EAASb,CAAO,EAAIiB,GACmDL,EACrF5mB,CACF,EACiBumB,GAAAn6B,EAAIuD,EAAMq3B,EAAS3oB,CAAO,OAClCyoB,IACWN,GAAAp6B,EAAIuD,EAAMm3B,EAAiBzoB,CAAO,EACtDwoB,EAASb,CAAO,EAAI,OACtB,CAEJ,CACA,MAAMkB,GAAoB,4BAC1B,SAASH,GAAUp3B,EAAM,CACnB,IAAA0O,EACA,GAAA6oB,GAAkB,KAAKv3B,CAAI,EAAG,CAChC0O,EAAU,CAAC,EACP,IAAAoP,EACJ,KAAOA,EAAI9d,EAAK,MAAMu3B,EAAiB,GAC9Bv3B,IAAK,MAAM,EAAGA,EAAK,OAAS8d,EAAE,CAAC,EAAE,MAAM,EAC9CpP,EAAQoP,EAAE,CAAC,EAAE,aAAa,EAAI,EAChC,CAGK,OADO9d,EAAK,CAAC,IAAM,IAAMA,EAAK,MAAM,CAAC,EAAI3B,GAAU2B,EAAK,MAAM,CAAC,CAAC,EACxD0O,CAAO,CACxB,CACA,IAAI8oB,GAAY,EAChB,MAAM7lB,WAA4B,QAAQ,EACpC8lB,GAAS,IAAMD,KAAc7lB,GAAE,KAAK,IAAM6lB,GAAY,CAAC,EAAGA,GAAY,KAAK,IAAI,GACrF,SAASF,GAAcI,EAAcrnB,EAAU,CACvC,MAAAgnB,EAAW7zB,GAAM,CACjB,IAACA,EAAE,KACHA,EAAA,KAAO,KAAK,IAAI,UACTA,EAAE,MAAQ6zB,EAAQ,SAC3B,OAEF9mB,GACEonB,GAA8Bn0B,EAAG6zB,EAAQ,KAAK,EAC9ChnB,EACA,EACA,CAAC7M,CAAC,CACJ,CACF,EACA,OAAA6zB,EAAQ,MAAQK,EAChBL,EAAQ,SAAWI,GAAO,EACnBJ,CACT,CAWA,SAASM,GAA8B,EAAGn6B,EAAO,CAC3C,GAAAX,GAAQW,CAAK,EAAG,CAClB,MAAMo6B,EAAe,EAAE,yBACvB,SAAE,yBAA2B,IAAM,CACjCA,EAAa,KAAK,CAAC,EACnB,EAAE,SAAW,EACf,EACOp6B,EAAM,IACVM,GAAQ0sB,GAAO,CAACA,EAAG,UAAY1sB,GAAMA,EAAG0sB,CAAE,CAC7C,MAEO,QAAAhtB,CAEX,CAEA,MAAMq6B,GAAc/7B,GAAQA,EAAI,WAAW,CAAC,IAAM,KAAOA,EAAI,WAAW,CAAC,IAAM,KAC/EA,EAAI,WAAW,CAAC,EAAI,IAAMA,EAAI,WAAW,CAAC,EAAI,IACxCg8B,GAAY,CAACr7B,EAAIX,EAAKk7B,EAAWC,EAAWlX,EAAWgF,IAAoB,CAC/E,MAAMmQ,EAAQnV,IAAc,MACxBjkB,IAAQ,QACCm5B,GAAAx4B,EAAIw6B,EAAW/B,CAAK,EACtBp5B,IAAQ,QACN45B,GAAAj5B,EAAIu6B,EAAWC,CAAS,EAC1B76B,GAAKN,CAAG,EACZO,GAAgBP,CAAG,GACtBi7B,GAAWt6B,EAAIX,EAAKk7B,EAAWC,EAAWlS,CAAe,GAElDjpB,EAAI,CAAC,IAAM,KAAOA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAAQA,EAAI,CAAC,IAAM,KAAOA,EAAMA,EAAI,MAAM,CAAC,EAAG,IAASi8B,GAAgBt7B,EAAIX,EAAKm7B,EAAW/B,CAAK,IAClIuB,GAAAh6B,EAAIX,EAAKm7B,CAAS,EAC3B,CAACx6B,EAAG,QAAQ,SAAS,GAAG,IAAMX,IAAQ,SAAWA,IAAQ,WAAaA,IAAQ,aAChFy6B,GAAU95B,EAAIX,EAAKm7B,EAAW/B,EAAOnQ,EAAiBjpB,IAAQ,OAAO,GAIvEW,EAAG,WAAa,QAAQ,KAAKX,CAAG,GAAK,CAACqB,GAAS85B,CAAS,GAExDR,GAAah6B,EAAIu7B,GAAWl8B,CAAG,EAAGm7B,EAAWlS,EAAiBjpB,CAAG,GAE7DA,IAAQ,aACVW,EAAG,WAAaw6B,EACPn7B,IAAQ,gBACjBW,EAAG,YAAcw6B,GAETV,GAAA95B,EAAIX,EAAKm7B,EAAW/B,CAAK,EAEvC,EACA,SAAS6C,GAAgBt7B,EAAIX,EAAK0B,EAAO03B,EAAO,CAC9C,GAAIA,EAIF,MAHI,GAAAp5B,IAAQ,aAAeA,IAAQ,eAG/BA,KAAOW,GAAMo7B,GAAW/7B,CAAG,GAAKoB,GAAWM,CAAK,GActD,GATI1B,IAAQ,cAAgBA,IAAQ,aAAeA,IAAQ,aAGvDA,IAAQ,QAGRA,IAAQ,QAAUW,EAAG,UAAY,SAGjCX,IAAQ,QAAUW,EAAG,UAAY,WAC5B,SAEL,GAAAX,IAAQ,SAAWA,IAAQ,SAAU,CACvC,MAAM04B,EAAM/3B,EAAG,QACf,GAAI+3B,IAAQ,OAASA,IAAQ,SAAWA,IAAQ,UAAYA,IAAQ,SAC3D,QACT,CAEF,OAAIqD,GAAW/7B,CAAG,GAAKqB,GAASK,CAAK,EAC5B,GAEF1B,KAAOW,CAChB,CA+jBA,MAAMw7B,GAAoB1kB,GAAU,CAClC,MAAMzV,EAAKyV,EAAM,MAAM,qBAAqB,GAAK,GAC1C,OAAA1W,GAAQiB,CAAE,EAAKN,GAAUkB,GAAeZ,EAAIN,CAAK,EAAIM,CAC9D,EACA,SAASo6B,GAAmB,EAAG,CAC7B,EAAE,OAAO,UAAY,EACvB,CACA,SAASC,GAAiB,EAAG,CAC3B,MAAM5yB,EAAS,EAAE,OACbA,EAAO,YACTA,EAAO,UAAY,GACnBA,EAAO,cAAc,IAAI,MAAM,OAAO,CAAC,EAE3C,CACA,MAAM6yB,GAAY,OAAO,SAAS,EAC5BC,GAAa,CACjB,QAAQ57B,EAAI,CAAE,UAAW,CAAE,KAAA67B,EAAM,KAAAC,EAAM,OAAAC,EAAS,EAAGjlB,EAAO,CACrD9W,EAAA27B,EAAS,EAAIH,GAAiB1kB,CAAK,EACtC,MAAMklB,EAAeD,GAAUjlB,EAAM,OAASA,EAAM,MAAM,OAAS,SACnEqjB,GAAiBn6B,EAAI67B,EAAO,SAAW,QAAU90B,GAAM,CACjD,GAAAA,EAAE,OAAO,UAAW,OACxB,IAAIk1B,EAAWj8B,EAAG,MACd87B,IACFG,EAAWA,EAAS,KAAK,GAEvBD,IACFC,EAAW15B,GAAc05B,CAAQ,GAEhCj8B,EAAA27B,EAAS,EAAEM,CAAQ,EACvB,EACGH,GACe3B,GAAAn6B,EAAI,SAAU,IAAM,CAChCA,EAAA,MAAQA,EAAG,MAAM,KAAK,EAC1B,EAEE67B,IACc1B,GAAAn6B,EAAI,mBAAoBy7B,EAAkB,EAC1CtB,GAAAn6B,EAAI,iBAAkB07B,EAAgB,EACtCvB,GAAAn6B,EAAI,SAAU07B,EAAgB,EAEnD,EAEA,QAAQ17B,EAAI,CAAE,MAAAe,GAAS,CAClBf,EAAA,MAAQe,GAAgB,EAC7B,EACA,aAAaf,EAAI,CAAE,MAAAe,EAAO,SAAAiB,EAAU,UAAW,CAAE,KAAA65B,EAAM,KAAAC,EAAM,OAAAC,CAAS,GAAGjlB,EAAO,CAE9E,GADG9W,EAAA27B,EAAS,EAAIH,GAAiB1kB,CAAK,EAClC9W,EAAG,UAAW,OAClB,MAAMk8B,GAAWH,GAAU/7B,EAAG,OAAS,WAAa,CAAC,OAAO,KAAKA,EAAG,KAAK,EAAIuC,GAAcvC,EAAG,KAAK,EAAIA,EAAG,MACpGkJ,EAAWnI,GAAgB,GAC7Bm7B,IAAYhzB,IAGZ,SAAS,gBAAkBlJ,GAAMA,EAAG,OAAS,UAC3C67B,GAAQ96B,IAAUiB,GAGlB85B,GAAQ97B,EAAG,MAAM,SAAWkJ,KAIlClJ,EAAG,MAAQkJ,GAAA,CAEf,EAuEMizB,GAAe,CAEnB,KAAM,GACN,QAAQn8B,EAAI,CAAE,MAAAe,EAAO,UAAW,CAAE,OAAAg7B,CAAA,CAAS,EAAGjlB,EAAO,CAC7C,MAAAslB,EAAa77B,GAAMQ,CAAK,EACbo5B,GAAAn6B,EAAI,SAAU,IAAM,CAC7B,MAAAq8B,EAAc,MAAM,UAAU,OAAO,KAAKr8B,EAAG,QAAU,GAAM,EAAE,QAAQ,EAAE,IAC5E,GAAM+7B,EAASx5B,GAAc+5B,GAAS,CAAC,CAAC,EAAIA,GAAS,CAAC,CACzD,EACAt8B,EAAG27B,EAAS,EACV37B,EAAG,SAAWo8B,EAAa,IAAI,IAAIC,CAAW,EAAIA,EAAcA,EAAY,CAAC,CAC/E,EACAr8B,EAAG,WAAa,GAChBiV,GAAS,IAAM,CACbjV,EAAG,WAAa,GACjB,EACF,EACEA,EAAA27B,EAAS,EAAIH,GAAiB1kB,CAAK,CACxC,EAGA,QAAQ9W,EAAI,CAAE,MAAAe,GAAS,CACrBw7B,GAAYv8B,EAAIe,CAAK,CACvB,EACA,aAAaf,EAAIw8B,EAAU1lB,EAAO,CAC7B9W,EAAA27B,EAAS,EAAIH,GAAiB1kB,CAAK,CACxC,EACA,QAAQ9W,EAAI,CAAE,MAAAe,GAAS,CAChBf,EAAG,YACNu8B,GAAYv8B,EAAIe,CAAK,CACvB,CAEJ,EACA,SAASw7B,GAAYv8B,EAAIe,EAAO,CAC9B,MAAM07B,EAAaz8B,EAAG,SAChB08B,EAAet8B,GAAQW,CAAK,EAClC,GAAI,EAAA07B,GAAc,CAACC,GAAgB,CAACn8B,GAAMQ,CAAK,GAMtC,WAAI,EAAGoE,EAAInF,EAAG,QAAQ,OAAQ,EAAImF,EAAG,IAAK,CAC3C,MAAAw3B,EAAS38B,EAAG,QAAQ,CAAC,EACrB48B,EAAcN,GAASK,CAAM,EACnC,GAAIF,EACF,GAAIC,EAAc,CAChB,MAAMG,EAAa,OAAOD,EACtBC,IAAe,UAAYA,IAAe,SACrCF,EAAA,SAAW57B,EAAM,KAAM+D,GAAM,OAAOA,CAAC,IAAM,OAAO83B,CAAW,CAAC,EAErED,EAAO,SAAWr4B,GAAavD,EAAO67B,CAAW,EAAI,EACvD,MAEOD,EAAA,SAAW57B,EAAM,IAAI67B,CAAW,UAEhC74B,GAAWu4B,GAASK,CAAM,EAAG57B,CAAK,EAAG,CAC1Cf,EAAG,gBAAkB,IAAGA,EAAG,cAAgB,GAC/C,OACF,CAEE,CAACy8B,GAAcz8B,EAAG,gBAAkB,KACtCA,EAAG,cAAgB,IAEvB,CACA,SAASs8B,GAASt8B,EAAI,CACpB,MAAO,WAAYA,EAAKA,EAAG,OAASA,EAAG,KACzC,CA+EA,MAAM88B,GAAkB,CAAC,OAAQ,QAAS,MAAO,MAAM,EACjDC,GAAiB,CACrB,KAAO,GAAM,EAAE,gBAAgB,EAC/B,QAAU,GAAM,EAAE,eAAe,EACjC,KAAO,GAAM,EAAE,SAAW,EAAE,cAC5B,KAAO,GAAM,CAAC,EAAE,QAChB,MAAQ,GAAM,CAAC,EAAE,SACjB,IAAM,GAAM,CAAC,EAAE,OACf,KAAO,GAAM,CAAC,EAAE,QAChB,KAAO,GAAM,WAAY,GAAK,EAAE,SAAW,EAC3C,OAAS,GAAM,WAAY,GAAK,EAAE,SAAW,EAC7C,MAAQ,GAAM,WAAY,GAAK,EAAE,SAAW,EAC5C,MAAO,CAAC,EAAG5lB,IAAc2lB,GAAgB,KAAMzb,GAAM,EAAE,GAAGA,CAAC,KAAK,GAAK,CAAClK,EAAU,SAASkK,CAAC,CAAC,CAC7F,EACM2b,GAAgB,CAAC37B,EAAI8V,IAAc,CACvC,MAAM7V,EAAQD,EAAG,YAAcA,EAAG,UAAY,IACxC47B,EAAW9lB,EAAU,KAAK,GAAG,EAC5B,OAAA7V,EAAM27B,CAAQ,IAAM37B,EAAM27B,CAAQ,EAAI,CAAC5K,KAAUhoB,IAAS,CAC/D,QAASpK,EAAI,EAAGA,EAAIkX,EAAU,OAAQlX,IAAK,CACzC,MAAMi9B,EAAQH,GAAe5lB,EAAUlX,CAAC,CAAC,EACzC,GAAIi9B,GAASA,EAAM7K,EAAOlb,CAAS,EAAG,OAEjC,OAAA9V,EAAGgxB,EAAO,GAAGhoB,CAAI,GAE5B,EACM8yB,GAAW,CACf,IAAK,SACL,MAAO,IACP,GAAI,WACJ,KAAM,aACN,MAAO,cACP,KAAM,aACN,OAAQ,WACV,EACMC,GAAW,CAAC/7B,EAAI8V,IAAc,CAClC,MAAM7V,EAAQD,EAAG,YAAcA,EAAG,UAAY,IACxC47B,EAAW9lB,EAAU,KAAK,GAAG,EACnC,OAAO7V,EAAM27B,CAAQ,IAAM37B,EAAM27B,CAAQ,EAAK5K,GAAU,CAClD,KAAE,QAASA,GACb,OAEI,MAAAgL,EAAWz7B,GAAUywB,EAAM,GAAG,EACpC,GAAIlb,EAAU,KACXmmB,GAAMA,IAAMD,GAAYF,GAASG,CAAC,IAAMD,CAAA,EAEzC,OAAOh8B,EAAGgxB,CAAK,CACjB,EAEJ,EAEMkL,GAAkC19B,GAAO,CAAE,UAAAw7B,EAAA,EAAavD,EAAO,EACrE,IAAI0F,GAEJ,SAASC,IAAiB,CACjB,OAAAD,KAAaA,GAAWtW,GAAeqW,EAAe,EAC/D,CAYA,MAAMG,GAAY,IAAIrzB,IAAS,CAC7B,MAAMyY,EAAM2a,GAAA,EAAiB,UAAU,GAAGpzB,CAAI,EAKxC,CAAE,MAAAszB,GAAU7a,EACd,OAAAA,EAAA,MAAS8a,GAAwB,CAC7B,MAAAxV,EAAYyV,GAAmBD,CAAmB,EACxD,GAAI,CAACxV,EAAW,OAChB,MAAMlF,EAAYJ,EAAI,WAClB,CAACriB,GAAWyiB,CAAS,GAAK,CAACA,EAAU,QAAU,CAACA,EAAU,WAC5DA,EAAU,SAAWkF,EAAU,WAE7BA,EAAU,WAAa,IACzBA,EAAU,YAAc,IAE1B,MAAM/Y,EAAQsuB,EAAMvV,EAAW,GAAO0V,GAAqB1V,CAAS,CAAC,EACrE,OAAIA,aAAqB,UACvBA,EAAU,gBAAgB,SAAS,EACzBA,EAAA,aAAa,aAAc,EAAE,GAElC/Y,CACT,EACOyT,CACT,EAgBA,SAASgb,GAAqB1V,EAAW,CACvC,GAAIA,aAAqB,WAChB,YAET,GAAI,OAAO,eAAkB,YAAcA,aAAqB,cACvD,cAEX,CAoCA,SAASyV,GAAmBzV,EAAW,CACjC,OAAA1nB,GAAS0nB,CAAS,EACR,SAAS,cAAcA,CAAS,EAavCA,CACT,CCzwDA,SAAS2V,GAAkB18B,EAAI,CAC7B,OAAImE,GAAe,GACjBC,GAAepE,CAAE,EACV,IAEF,EACT,CA0CA,MAAM28B,GAAwC,IAAI,QAE5CC,GAAc,IAAI5zB,IAAS,CAC/B,IAAItF,EACJ,MAAM1F,EAAMgL,EAAK,CAAC,EACZuJ,GAAY7O,EAAK0sB,GAAkB,IAAO,KAAO,OAAS1sB,EAAG,MACnE,GAAI6O,GAAY,MAAQ,CAAC+P,GAAqB,EAC5C,MAAM,IAAI,MAAM,qCAAqC,EACvD,OAAI/P,GAAYoqB,GAAsB,IAAIpqB,CAAQ,GAAKvU,KAAO2+B,GAAsB,IAAIpqB,CAAQ,EACvFoqB,GAAsB,IAAIpqB,CAAQ,EAAEvU,CAAG,EACzCshB,GAAO,GAAGtW,CAAI,CACvB,EAqGA,SAAS6zB,GAAQ1uB,EAAG,CAClB,OAAO,OAAOA,GAAM,WAAaA,EAAC,EAAKO,GAAMP,CAAC,CAChD,CA4EA,MAAM2uB,GAAW,OAAO,OAAW,KAAe,OAAO,SAAa,IACrD,OAAO,kBAAsB,KAAe,sBAAsB,kBAOnF,MAAMC,GAAW,OAAO,UAAU,SAC5Bx9B,GAAYtB,GAAQ8+B,GAAS,KAAK9+B,CAAG,IAAM,kBAI3C++B,GAAO,IAAM,CACnB,EAaA,SAASC,GAAoBC,EAAQl9B,EAAI,CACvC,SAASi3B,KAAWjuB,EAAM,CACxB,OAAO,IAAI,QAAQ,CAACgR,EAASmjB,IAAW,CACtC,QAAQ,QAAQD,EAAO,IAAMl9B,EAAG,MAAM,KAAMgJ,CAAI,EAAG,CAAE,GAAAhJ,EAAI,QAAS,KAAM,KAAAgJ,CAAI,CAAE,CAAC,EAAE,KAAKgR,CAAO,EAAE,MAAMmjB,CAAM,CACjH,CAAK,CACL,CACE,OAAOlG,CACT,CACA,MAAMmG,GAAgBC,GACbA,EAAQ,EAiGjB,SAASC,GAAeC,EAAeH,GAAc,CACnD,MAAMI,EAAWpvB,GAAI,EAAI,EACzB,SAASqvB,GAAQ,CACfD,EAAS,MAAQ,EACrB,CACE,SAASE,GAAS,CAChBF,EAAS,MAAQ,EACrB,CACE,MAAMG,EAAc,IAAI30B,IAAS,CAC3Bw0B,EAAS,OACXD,EAAa,GAAGv0B,CAAI,CACvB,EACD,MAAO,CAAE,SAAUmC,GAASqyB,CAAQ,EAAG,MAAAC,EAAO,OAAAC,EAAQ,YAAAC,CAAa,CACrE,CA2DA,SAASC,GAAQC,EAAI,CACnB,OAAOA,EAAG,SAAS,KAAK,EAAI,OAAO,WAAWA,CAAE,EAAI,GAAK,OAAO,WAAWA,CAAE,CAC/E,CAkBA,SAASC,GAAmBr2B,EAAQ,CAClC,OAAiB2oB,GAAoB,CACvC,CAEA,SAAS3gB,MAASzG,EAAM,CACtB,GAAIA,EAAK,SAAW,EAClB,OAAO+0B,GAAQ,GAAG/0B,CAAI,EACxB,MAAMmF,EAAInF,EAAK,CAAC,EAChB,OAAO,OAAOmF,GAAM,WAAahD,GAASgE,GAAU,KAAO,CAAE,IAAKhB,EAAG,IAAK6uB,EAAM,EAAC,CAAC,EAAI5uB,GAAID,CAAC,CAC7F,CAgJA,SAAS6vB,GAAgBtuB,EAAQiB,EAAIC,EAAU,GAAI,CACjD,KAAM,CACJ,YAAA+sB,EAAcP,GACd,GAAGjgB,CACP,EAAMvM,EACJ,OAAOF,GACLhB,EACAutB,GACEU,EACAhtB,CACD,EACDwM,CACD,CACH,CAEA,SAAS8gB,GAAcvuB,EAAQiB,EAAIC,EAAU,GAAI,CAC/C,KAAM,CACJ,YAAassB,EACb,GAAG/f,CACP,EAAMvM,EACE,CAAE,YAAA+sB,EAAa,MAAAF,EAAO,OAAAC,EAAQ,SAAAF,CAAU,EAAGF,GAAeJ,CAAM,EAStE,MAAO,CAAE,KARIc,GACXtuB,EACAiB,EACA,CACE,GAAGwM,EACH,YAAAwgB,CACN,CACG,EACc,MAAAF,EAAO,OAAAC,EAAQ,SAAAF,CAAU,CAC1C,CAuGA,SAASU,GAAal+B,EAAIm+B,EAAO,GAAM12B,EAAQ,CAC5Bq2B,GAAoB,EAEnC/kB,GAAU/Y,EAAIyH,CAAM,EACb02B,EACPn+B,EAAI,EAEJ4T,GAAS5T,CAAE,CACf,CC7nBA,MAAMo+B,GAAgBtB,GAAW,OAAS,OAK1C,SAASuB,GAAaC,EAAO,CACvB,IAAA56B,EACE,MAAA66B,EAAQ1B,GAAQyB,CAAK,EAC3B,OAAQ56B,EAAK66B,GAAS,KAAO,OAASA,EAAM,MAAQ,KAAO76B,EAAK66B,CAClE,CAEA,SAASC,MAAoBx1B,EAAM,CAC7B,IAAAvB,EACAg3B,EACAC,EACA9tB,EAOJ,GANI,OAAO5H,EAAK,CAAC,GAAM,UAAY,MAAM,QAAQA,EAAK,CAAC,CAAC,GACrDy1B,GAAQC,EAAW9tB,CAAO,EAAI5H,EACtBvB,EAAA22B,IAET,CAAC32B,EAAQg3B,EAAQC,EAAW9tB,CAAO,EAAI5H,EAErC,CAACvB,EACI,OAAAu1B,GACJ,MAAM,QAAQyB,CAAM,IACvBA,EAAS,CAACA,CAAM,GACb,MAAM,QAAQC,CAAS,IAC1BA,EAAY,CAACA,CAAS,GACxB,MAAMjuB,EAAW,CAAC,EACZ3J,EAAU,IAAM,CACpB2J,EAAS,QAASzQ,GAAOA,EAAA,CAAI,EAC7ByQ,EAAS,OAAS,CACpB,EACMwO,EAAW,CAACtgB,EAAIqyB,EAAO2N,EAAUC,KAClCjgC,EAAA,iBAAiBqyB,EAAO2N,EAAUC,CAAQ,EACtC,IAAMjgC,EAAG,oBAAoBqyB,EAAO2N,EAAUC,CAAQ,GAEzDC,EAAYnuB,GAChB,IAAM,CAAC2tB,GAAa52B,CAAM,EAAGo1B,GAAQjsB,CAAO,CAAC,EAC7C,CAAC,CAACjS,EAAIigC,CAAQ,IAAM,CAElB,GADQ93B,EAAA,EACJ,CAACnI,EACH,OACF,MAAMmgC,EAAev/B,GAASq/B,CAAQ,EAAI,CAAE,GAAGA,GAAaA,EACnDnuB,EAAA,KACP,GAAGguB,EAAO,QAASzN,GACV0N,EAAU,IAAKC,GAAa1f,EAAStgB,EAAIqyB,EAAO2N,EAAUG,CAAY,CAAC,CAC/E,CACH,CACF,EACA,CAAE,UAAW,GAAM,MAAO,MAAO,CACnC,EACMC,EAAO,IAAM,CACPF,EAAA,EACF/3B,EAAA,CACV,EACA,OAAA41B,GAAkBqC,CAAI,EACfA,CACT,CAyRA,SAASC,IAAa,CACd,MAAAxd,EAAYpT,GAAI,EAAK,EACrBmE,EAAW6d,GAAmB,EACpC,OAAI7d,GACFwG,GAAU,IAAM,CACdyI,EAAU,MAAQ,IACjBjP,CAAQ,EAENiP,CACT,CAEA,SAASyd,GAAanyB,EAAU,CAC9B,MAAM0U,EAAYwd,GAAW,EAC7B,OAAO74B,GAAS,KACJqb,EAAA,MACH,EAAQ1U,IAChB,CACH,CAsqBA,MAAMoyB,GAAiB,OAAO,kBAAkB,EAChD,SAASC,IAAc,CACrB,MAAMC,EAAW9c,GAAoB,EAAIsa,GAAYsC,GAAgB,IAAI,EAAI,KACtE,cAAOE,GAAa,SAAWA,EAAW,MACnD,CASA,SAASC,GAAcC,EAAO1uB,EAAU,GAAI,CAC1C,KAAM,CAAE,OAAA2uB,EAASnB,GAAe,SAAAgB,EAAWD,MAAkBvuB,EACvD4uB,EAAcP,GAAa,IAAMM,GAAU,eAAgBA,GAAU,OAAOA,EAAO,YAAe,UAAU,EAC5GE,EAAarxB,GAAI,OAAOgxB,GAAa,QAAQ,EAC/C,IAAAM,EACE,MAAAC,EAAUvxB,GAAI,EAAK,EACnBqR,EAAWuR,GAAU,CACzB2O,EAAQ,MAAQ3O,EAAM,OACxB,EACMlqB,EAAU,IAAM,CACf44B,IAED,wBAAyBA,EAChBA,EAAA,oBAAoB,SAAUjgB,CAAO,EAEhDigB,EAAW,eAAejgB,CAAO,EACrC,EACMof,EAAYvP,GAAY,IAAM,CAClC,GAAImQ,EAAW,MAAO,CACTA,EAAA,MAAQ,CAACD,EAAY,MAChC,MAAMI,EAAe/C,GAAQyC,CAAK,EAAE,MAAM,GAAG,EAC7CK,EAAQ,MAAQC,EAAa,KAAMC,GAAgB,CAC3C,MAAAC,EAAMD,EAAY,SAAS,SAAS,EACpCE,EAAWF,EAAY,MAAM,gDAAgD,EAC7EG,EAAWH,EAAY,MAAM,gDAAgD,EAC/E,IAAAt+B,EAAM,GAAQw+B,GAAYC,GAC9B,OAAID,GAAYx+B,IACdA,EAAM69B,GAAYxB,GAAQmC,EAAS,CAAC,CAAC,GAEnCC,GAAYz+B,IACdA,EAAM69B,GAAYxB,GAAQoC,EAAS,CAAC,CAAC,GAEhCF,EAAM,CAACv+B,EAAMA,CAAA,CACrB,EACD,OAEGi+B,EAAY,QAET14B,EAAA,EACR44B,EAAaH,EAAO,WAAW1C,GAAQyC,CAAK,CAAC,EACzC,qBAAsBI,EACbA,EAAA,iBAAiB,SAAUjgB,CAAO,EAE7CigB,EAAW,YAAYjgB,CAAO,EAChCkgB,EAAQ,MAAQD,EAAW,SAC5B,EACD,OAAAhD,GAAkB,IAAM,CACZmC,EAAA,EACF/3B,EAAA,EACK44B,EAAA,OACd,EACMv5B,GAAS,IAAMw5B,EAAQ,KAAK,CACrC,CA0aA,MAAMM,GAAU,OAAO,WAAe,IAAc,WAAa,OAAO,OAAW,IAAc,OAAS,OAAO,OAAW,IAAc,OAAS,OAAO,KAAS,IAAc,KAAO,CAAC,EACnLC,GAAY,0BACZC,GAAuCC,GAAA,EAC7C,SAASA,IAAc,CACrB,OAAMF,MAAaD,KACjBA,GAAQC,EAAS,EAAID,GAAQC,EAAS,GAAK,CAAC,GACvCD,GAAQC,EAAS,CAC1B,CACA,SAASG,GAAcriC,EAAK2c,EAAU,CAC7B,OAAAwlB,GAASniC,CAAG,GAAK2c,CAC1B,CAKA,SAAS2lB,GAAiB1vB,EAAS,CAC1B,OAAAyuB,GAAc,+BAAgCzuB,CAAO,CAC9D,CAEA,SAAS2vB,GAAoBC,EAAS,CACpC,OAAOA,GAAW,KAAO,MAAQA,aAAmB,IAAM,MAAQA,aAAmB,IAAM,MAAQA,aAAmB,KAAO,OAAS,OAAOA,GAAY,UAAY,UAAY,OAAOA,GAAY,SAAW,SAAW,OAAOA,GAAY,SAAW,SAAY,OAAO,MAAMA,CAAO,EAAe,MAAX,QAC9R,CAEA,MAAMC,GAAqB,CACzB,QAAS,CACP,KAAOh9B,GAAMA,IAAM,OACnB,MAAQA,GAAM,OAAOA,CAAC,CACxB,EACA,OAAQ,CACN,KAAOA,GAAM,KAAK,MAAMA,CAAC,EACzB,MAAQA,GAAM,KAAK,UAAUA,CAAC,CAChC,EACA,OAAQ,CACN,KAAOA,GAAM,OAAO,WAAWA,CAAC,EAChC,MAAQA,GAAM,OAAOA,CAAC,CACxB,EACA,IAAK,CACH,KAAOA,GAAMA,EACb,MAAQA,GAAM,OAAOA,CAAC,CACxB,EACA,OAAQ,CACN,KAAOA,GAAMA,EACb,MAAQA,GAAM,OAAOA,CAAC,CACxB,EACA,IAAK,CACH,KAAOA,GAAM,IAAI,IAAI,KAAK,MAAMA,CAAC,CAAC,EAClC,MAAQA,GAAM,KAAK,UAAU,MAAM,KAAKA,EAAE,SAAS,CAAC,CACtD,EACA,IAAK,CACH,KAAOA,GAAM,IAAI,IAAI,KAAK,MAAMA,CAAC,CAAC,EAClC,MAAQA,GAAM,KAAK,UAAU,MAAM,KAAKA,CAAC,CAAC,CAC5C,EACA,KAAM,CACJ,KAAOA,GAAM,IAAI,KAAKA,CAAC,EACvB,MAAQA,GAAMA,EAAE,YAAY,EAEhC,EACMi9B,GAAyB,iBAC/B,SAASC,GAAW3iC,EAAK4iC,EAAUC,EAASjwB,EAAU,GAAI,CACpD,IAAAlN,EACE,MACJ,MAAA+rB,EAAQ,MACR,KAAA3e,EAAO,GACP,uBAAAgwB,EAAyB,GACzB,cAAAC,EAAgB,GAChB,cAAAC,EAAgB,GAChB,QAAAt0B,EACA,OAAA6yB,EAASnB,GACT,YAAAT,EACA,QAAAsD,EAAWv7B,GAAM,CACf,QAAQ,MAAMA,CAAC,CACjB,EACA,cAAAw7B,CAAA,EACEtwB,EACEsL,GAAQxP,EAAU4B,GAAaF,IAAK,OAAOwyB,GAAa,WAAaA,EAAS,EAAIA,CAAQ,EAChG,GAAI,CAACC,EACC,IACQA,EAAAR,GAAc,oBAAqB,IAAM,CAC7C,IAAAc,EACJ,OAAQA,EAAM/C,KAAkB,KAAO,OAAS+C,EAAI,aACrD,EAAE,QACIz7B,EAAG,CACVu7B,EAAQv7B,CAAC,EAGb,GAAI,CAACm7B,EACI,OAAA3kB,EACH,MAAAskB,EAAU3D,GAAQ+D,CAAQ,EAC1Bl5B,EAAO64B,GAAoBC,CAAO,EAClCY,GAAc19B,EAAKkN,EAAQ,aAAe,KAAOlN,EAAK+8B,GAAmB/4B,CAAI,EAC7E,CAAE,MAAO25B,EAAY,OAAQC,CAAgB,EAAAC,GACjDrlB,EACA,IAAMslB,EAAMtlB,EAAK,KAAK,EACtB,CAAE,MAAAuT,EAAO,KAAA3e,EAAM,YAAA6sB,CAAY,CAC7B,EACI4B,GAAUuB,GACZ5C,GAAa,IAAM,CACb2C,aAAmB,QACJtB,KAAQ,UAAW5T,CAAM,EAEzB4T,KAAQmB,GAAwBe,EAAqB,EACpEP,GACKvV,EAAA,EACV,EAEEuV,GACIvV,EAAA,EACA,SAAA+V,EAAmB/gC,EAAUkH,EAAU,CAC9C,GAAI03B,EAAQ,CACV,MAAMoC,EAAU,CACd,IAAA3jC,EACA,SAAA2C,EACA,SAAAkH,EACA,YAAag5B,CACf,EACAtB,EAAO,cAAcsB,aAAmB,QAAU,IAAI,aAAa,UAAWc,CAAO,EAAI,IAAI,YAAYjB,GAAwB,CAC/H,OAAQiB,CAAA,CACT,CAAC,EACJ,CAEF,SAASH,EAAM/9B,EAAG,CACZ,IACI,MAAA9C,EAAWkgC,EAAQ,QAAQ7iC,CAAG,EACpC,GAAIyF,GAAK,KACPi+B,EAAmB/gC,EAAU,IAAI,EACjCkgC,EAAQ,WAAW7iC,CAAG,MACjB,CACC,MAAA4jC,EAAaR,EAAW,MAAM39B,CAAC,EACjC9C,IAAaihC,IACPf,EAAA,QAAQ7iC,EAAK4jC,CAAU,EAC/BF,EAAmB/gC,EAAUihC,CAAU,EACzC,QAEKl8B,EAAG,CACVu7B,EAAQv7B,CAAC,EACX,CAEF,SAASm8B,EAAK7Q,EAAO,CACnB,MAAMziB,EAAWyiB,EAAQA,EAAM,SAAW6P,EAAQ,QAAQ7iC,CAAG,EAC7D,GAAIuQ,GAAY,KACd,OAAIwyB,GAAiBP,GAAW,MAC9BK,EAAQ,QAAQ7iC,EAAKojC,EAAW,MAAMZ,CAAO,CAAC,EACzCA,EACT,GAAW,CAACxP,GAASgQ,EAAe,CAC5B,MAAAthC,EAAQ0hC,EAAW,KAAK7yB,CAAQ,EACtC,OAAI,OAAOyyB,GAAkB,WACpBA,EAActhC,EAAO8gC,CAAO,EAC5B94B,IAAS,UAAY,CAAC,MAAM,QAAQhI,CAAK,EACzC,CAAE,GAAG8gC,EAAS,GAAG9gC,CAAM,EACzBA,CAAA,KACT,QAAW,OAAO6O,GAAa,SACtBA,EAEA6yB,EAAW,KAAK7yB,CAAQ,CACjC,CAEF,SAASod,EAAOqF,EAAO,CACjB,KAAAA,GAASA,EAAM,cAAgB6P,GAE/B,IAAA7P,GAASA,EAAM,KAAO,KAAM,CAC9B9U,EAAK,MAAQskB,EACb,OAEE,KAAAxP,GAASA,EAAM,MAAQhzB,GAEhB,CAAAqjC,EAAA,EACP,KACGrQ,GAAS,KAAO,OAASA,EAAM,YAAcoQ,EAAW,MAAMllB,EAAK,KAAK,IACtEA,EAAA,MAAQ2lB,EAAK7Q,CAAK,SAClBtrB,EAAG,CACVu7B,EAAQv7B,CAAC,SACT,CACIsrB,EACFpd,GAAS0tB,CAAW,EAERA,EAAA,IAChB,CAEF,SAASG,GAAsBzQ,EAAO,CACpCrF,EAAOqF,EAAM,MAAM,EAEd,OAAA9U,CACT,CAEA,MAAM4lB,GAAoB,8KAC1B,SAASC,GAAanxB,EAAU,GAAI,CAC5B,MACJ,SAAAimB,EAAW,OACX,UAAAmL,EAAY,QACZ,aAAApI,EAAe,OACf,OAAA2F,EAASnB,GACT,QAAAyC,EACA,WAAAoB,EAAa,sBACb,uBAAAnB,EAAyB,GACzB,WAAAoB,EACA,SAAAC,EACA,kBAAAC,EAAoB,IAClBxxB,EACEyxB,EAAQ,CACZ,KAAM,GACN,MAAO,QACP,KAAM,OACN,GAAGzxB,EAAQ,OAAS,EACtB,EACM0xB,EAAgBhC,GAAiB,CAAE,OAAAf,EAAQ,EAC3CgD,EAASp8B,GAAS,IAAMm8B,EAAc,MAAQ,OAAS,OAAO,EAC9DE,EAAQN,IAAeD,GAAc,KAAOxyB,GAAMmqB,CAAY,EAAI+G,GAAWsB,EAAYrI,EAAciH,EAAS,CAAE,OAAAtB,EAAQ,uBAAAuB,EAAwB,GAClJ9kB,EAAQ7V,GAAS,IAAMq8B,EAAM,QAAU,OAASD,EAAO,MAAQC,EAAM,KAAK,EAC1EC,EAAkBpC,GACtB,kBACA,CAACqC,EAAWC,EAAYjjC,IAAU,CAChC,MAAMf,EAAK,OAAO+jC,GAAc,SAAWnD,GAAU,KAAO,OAASA,EAAO,SAAS,cAAcmD,CAAS,EAAIrE,GAAaqE,CAAS,EACtI,GAAI,CAAC/jC,EACH,OACI,MAAAikC,MAAmC,IACnCC,OAAsC,IAC5C,IAAIC,EAAoB,KACxB,GAAIH,IAAe,QAAS,CACpB,MAAAzqB,EAAUxY,EAAM,MAAM,KAAK,EACjC,OAAO,OAAO2iC,CAAK,EAAE,QAASzjC,KAAOA,IAAK,IAAI,MAAM,KAAK,CAAC,EAAE,OAAO,OAAO,EAAE,QAAS6E,IAAM,CACrFyU,EAAQ,SAASzU,EAAC,EACpBm/B,EAAa,IAAIn/B,EAAC,EAElBo/B,GAAgB,IAAIp/B,EAAC,EACxB,OAEmBq/B,EAAA,CAAE,IAAKH,EAAY,MAAAjjC,CAAM,EAE/C,GAAIkjC,EAAa,OAAS,GAAKC,GAAgB,OAAS,GAAKC,IAAsB,KACjF,OACE,IAAAhP,EACAsO,IACM7C,IAAO,SAAS,cAAc,OAAO,EAC7CzL,EAAM,YAAY,SAAS,eAAegO,EAAiB,CAAC,EAC5DvC,EAAO,SAAS,KAAK,YAAYzL,CAAK,GAExC,UAAWzzB,KAAKuiC,EACXjkC,EAAA,UAAU,IAAI0B,CAAC,EAEpB,UAAWA,KAAKwiC,GACXlkC,EAAA,UAAU,OAAO0B,CAAC,EAEnByiC,GACFnkC,EAAG,aAAamkC,EAAkB,IAAKA,EAAkB,KAAK,EAE5DV,IACF7C,EAAO,iBAAiBzL,CAAK,EAAE,QACtB,cAAK,YAAYA,CAAK,EACjC,CAEJ,EACA,SAASiP,EAAiBC,EAAM,CAC1B,IAAAt/B,EACY++B,EAAA5L,EAAUmL,GAAYt+B,EAAK2+B,EAAMW,CAAI,IAAM,KAAOt/B,EAAKs/B,CAAI,EAE7E,SAASC,EAAUD,EAAM,CACnBpyB,EAAQ,UACFA,EAAA,UAAUoyB,EAAMD,CAAgB,EAExCA,EAAiBC,CAAI,EAEzBtyB,GAAMsL,EAAOinB,EAAW,CAAE,MAAO,OAAQ,UAAW,GAAM,EAC1D/E,GAAa,IAAM+E,EAAUjnB,EAAM,KAAK,CAAC,EACzC,MAAMknB,EAAO/8B,GAAS,CACpB,KAAM,CACG,OAAAg8B,EAAWK,EAAM,MAAQxmB,EAAM,KACxC,EACA,IAAIvY,EAAG,CACL++B,EAAM,MAAQ/+B,CAAA,CAChB,CACD,EACD,OAAO,OAAO,OAAOy/B,EAAM,CAAE,MAAAV,EAAO,OAAAD,EAAQ,MAAAvmB,EAAO,CACrD,CA4vBA,SAASmnB,GAAkB17B,EAAQqF,EAAU8D,EAAU,GAAI,CACzD,KAAM,CAAE,OAAA2uB,EAASnB,GAAe,GAAGgF,CAAoB,EAAAxyB,EACnD,IAAAyyB,EACJ,MAAM7D,EAAcP,GAAa,IAAMM,GAAU,mBAAoBA,CAAM,EACrEz4B,EAAU,IAAM,CAChBu8B,IACFA,EAAS,WAAW,EACTA,EAAA,OAEf,EACMC,EAAUn9B,GAAS,IAAM,CACvB,MAAAo9B,EAAW1G,GAAQp1B,CAAM,EAC/B,OAAO,MAAM,QAAQ87B,CAAQ,EAAIA,EAAS,IAAK5kC,GAAO0/B,GAAa1/B,CAAE,CAAC,EAAI,CAAC0/B,GAAakF,CAAQ,CAAC,EAClG,EACK1E,EAAYnuB,GAChB4yB,EACCE,GAAQ,CAEH,GADI18B,EAAA,EACJ04B,EAAY,OAASD,EAAQ,CACpB8D,EAAA,IAAI,eAAev2B,CAAQ,EACtC,UAAW22B,KAAOD,EACZC,GACOJ,EAAA,QAAQI,EAAKL,CAAe,CACzC,CAEJ,EACA,CAAE,UAAW,GAAM,MAAO,MAAO,CACnC,EACMrE,EAAO,IAAM,CACTj4B,EAAA,EACE+3B,EAAA,CACZ,EACA,OAAAnC,GAAkBqC,CAAI,EACf,CACL,YAAAS,EACA,KAAAT,CACF,CACF,CAgIA,SAAS2E,GAAej8B,EAAQk8B,EAAc,CAAE,MAAO,EAAG,OAAQ,CAAE,EAAG/yB,EAAU,GAAI,CACnF,KAAM,CAAE,OAAA2uB,EAASnB,GAAe,IAAAwF,EAAM,eAAkBhzB,EAClDwmB,EAAQjxB,GAAS,IAAM,CAC3B,IAAIzC,EAAImgC,EACR,OAAQA,GAAMngC,EAAK26B,GAAa52B,CAAM,IAAM,KAAO,OAAS/D,EAAG,eAAiB,KAAO,OAASmgC,EAAG,SAAS,KAAK,EAClH,EACKC,EAAQ11B,GAAIu1B,EAAY,KAAK,EAC7BI,EAAS31B,GAAIu1B,EAAY,MAAM,EAC/B,CAAE,KAAMK,CAAA,EAAUb,GACtB17B,EACA,CAAC,CAACw8B,CAAK,IAAM,CACL,MAAAC,EAAUN,IAAQ,aAAeK,EAAM,cAAgBL,IAAQ,cAAgBK,EAAM,eAAiBA,EAAM,0BAC9G1E,MAAUnI,EAAM,MAAO,CACnB,MAAA+M,EAAQ9F,GAAa52B,CAAM,EACjC,GAAI08B,EAAO,CACH,MAAAC,EAAOD,EAAM,sBAAsB,EACzCL,EAAM,MAAQM,EAAK,MACnBL,EAAO,MAAQK,EAAK,OACtB,SAEIF,EAAS,CACX,MAAMG,EAAgB,MAAM,QAAQH,CAAO,EAAIA,EAAU,CAACA,CAAO,EAC3DJ,EAAA,MAAQO,EAAc,OAAO,CAACh6B,EAAK,CAAE,WAAAi6B,KAAiBj6B,EAAMi6B,EAAY,CAAC,EACxEP,EAAA,MAAQM,EAAc,OAAO,CAACh6B,EAAK,CAAE,UAAAk6B,KAAgBl6B,EAAMk6B,EAAW,CAAC,OAExET,EAAA,MAAQG,EAAM,YAAY,MACzBF,EAAA,MAAQE,EAAM,YAAY,MAGvC,EACArzB,CACF,EACAstB,GAAa,IAAM,CACX,MAAAsG,EAAMnG,GAAa52B,CAAM,EAC3B+8B,IACFV,EAAM,MAAQ,gBAAiBU,EAAMA,EAAI,YAAcb,EAAY,MACnEI,EAAO,MAAQ,iBAAkBS,EAAMA,EAAI,aAAeb,EAAY,OACxE,CACD,EACD,MAAMc,EAAQ/zB,GACZ,IAAM2tB,GAAa52B,CAAM,EACxB+8B,GAAQ,CACDV,EAAA,MAAQU,EAAMb,EAAY,MAAQ,EACjCI,EAAA,MAAQS,EAAMb,EAAY,OAAS,EAE9C,EACA,SAAS5E,GAAO,CACRiF,EAAA,EACAS,EAAA,EAED,OACL,MAAAX,EACA,OAAAC,EACA,KAAAhF,CACF,CACF,CCj4FA,MAAM2F,GAAU,SAAS,cAAc,GAAG,EAMnC,SAASC,GAA8BjlC,EAAO,CACnD,MAAMklC,EAAqB,IAAMllC,EAAQ,IACzCglC,GAAQ,UAAYE,EACpB,MAAMC,EAAOH,GAAQ,YAUrB,OAAIG,EAAK,WAAWA,EAAK,OAAS,CAAC,IAAM,IAAgBnlC,IAAU,QAQ5DmlC,IAASD,EAPP,GAOoCC,CAC/C,CCVO,SAASC,GAAOC,EAAM/wB,EAAOvV,EAAQumC,EAAO,CACjD,MAAM/wB,EAAM8wB,EAAK,OACjB,IAAIE,EAAa,EAEbC,EAWJ,GARIlxB,EAAQ,EACVA,EAAQ,CAACA,EAAQC,EAAM,EAAIA,EAAMD,EAEjCA,EAAQA,EAAQC,EAAMA,EAAMD,EAE9BvV,EAASA,EAAS,EAAIA,EAAS,EAG3BumC,EAAM,OAAS,IACjBE,EAAa,MAAM,KAAKF,CAAK,EAC7BE,EAAW,QAAQlxB,EAAOvV,CAAM,EAEhCsmC,EAAK,OAAO,GAAGG,CAAU,MAMzB,KAHIzmC,GAAQsmC,EAAK,OAAO/wB,EAAOvV,CAAM,EAG9BwmC,EAAaD,EAAM,QACxBE,EAAaF,EAAM,MAAMC,EAAYA,EAAa,GAAK,EACvDC,EAAW,QAAQlxB,EAAO,CAAC,EAE3B+wB,EAAK,OAAO,GAAGG,CAAU,EACzBD,GAAc,IACdjxB,GAAS,GAGf,CAkBO,SAASmxB,GAAKJ,EAAMC,EAAO,CAChC,OAAID,EAAK,OAAS,GAChBD,GAAOC,EAAMA,EAAK,OAAQ,EAAGC,CAAK,EAC3BD,GAEFC,CACT,CCrEA,MAAMnmC,GAAiB,GAAG,eAUnB,SAASumC,GAAkBC,EAAY,CAE5C,MAAMC,EAAM,GACZ,IAAIl7B,EAAQ,GAEZ,KAAO,EAAEA,EAAQi7B,EAAW,QAC1BE,GAAgBD,EAAKD,EAAWj7B,CAAK,CAAC,EAGxC,OAAOk7B,CACT,CAYA,SAASC,GAAgBD,EAAKE,EAAW,CAEvC,IAAIrvB,EAEJ,IAAKA,KAAQqvB,EAAW,CAGtB,MAAMC,GAFQ5mC,GAAe,KAAKymC,EAAKnvB,CAAI,EAAImvB,EAAInvB,CAAI,EAAI,UAEpCmvB,EAAInvB,CAAI,EAAI,CAAE,GAE/BuvB,EAAQF,EAAUrvB,CAAI,EAE5B,IAAIwvB,EAEJ,GAAID,EACF,IAAKC,KAAQD,EAAO,CACb7mC,GAAe,KAAK4mC,EAAME,CAAI,IAAGF,EAAKE,CAAI,EAAI,IACnD,MAAMjmC,EAAQgmC,EAAMC,CAAI,EACxBC,GAEEH,EAAKE,CAAI,EACT,MAAM,QAAQjmC,CAAK,EAAIA,EAAQA,EAAQ,CAACA,CAAK,EAAI,EAC3D,CACA,CAEA,CACA,CAaA,SAASkmC,GAAWluB,EAAUqtB,EAAM,CAClC,IAAI36B,EAAQ,GAEZ,MAAM2sB,EAAS,GAEf,KAAO,EAAE3sB,EAAQ26B,EAAK,SAElBA,EAAK36B,CAAK,EAAE,MAAQ,QAAUsN,EAAWqf,GAAQ,KAAKgO,EAAK36B,CAAK,CAAC,EAGrE06B,GAAOptB,EAAU,EAAG,EAAGqf,CAAM,CAC/B,CAUO,SAAS8O,GAAsBC,EAAgB,CAEpD,MAAM3F,EAAW,GACjB,IAAI/1B,EAAQ,GAEZ,KAAO,EAAEA,EAAQ07B,EAAe,QAC9BC,GAAc5F,EAAU2F,EAAe17B,CAAK,CAAC,EAG/C,OAAO+1B,CACT,CAYA,SAAS4F,GAAcT,EAAKE,EAAW,CAErC,IAAIrvB,EAEJ,IAAKA,KAAQqvB,EAAW,CAEtB,MAAMC,GADQ5mC,GAAe,KAAKymC,EAAKnvB,CAAI,EAAImvB,EAAInvB,CAAI,EAAI,UACpCmvB,EAAInvB,CAAI,EAAI,CAAE,GAC/BuvB,EAAQF,EAAUrvB,CAAI,EAE5B,IAAIzO,EAEJ,GAAIg+B,EACF,IAAKh+B,KAAQg+B,EAEXD,EAAK/9B,CAAI,EAAIg+B,EAAMh+B,CAAI,CAG/B,CACA,CChIO,SAASs+B,GAAgCtmC,EAAOggB,EAAM,CAC3D,MAAMimB,EAAO,OAAO,SAASjmC,EAAOggB,CAAI,EACxC,OAEAimB,EAAO,GAAKA,IAAS,IAAMA,EAAO,IAAMA,EAAO,IAE/CA,EAAO,KAAOA,EAAO,KAErBA,EAAO,OAAUA,EAAO,OAExBA,EAAO,OAAUA,EAAO,QACvBA,EAAO,SAAY,QAAWA,EAAO,SAAY,OAElDA,EAAO,QACE,IAEF,OAAO,cAAcA,CAAI,CAClC,CC/BA,MAAMM,GAAsB,CAAC,IAAK,OAAQ,IAAK,MAAO,IAAK,KAAM,IAAK,IAAI,EAcnE,SAASC,GAAOxmC,EAAO,CAC5B,OAAOA,EAAM,QAAQ,UAAWymC,CAAO,EAQvC,SAASA,EAAQzmC,EAAO,CACtB,MACE,IACAumC,GACmDvmC,CAClD,EACD,GAEN,CACA,CCbO,SAAS0mC,GAAoB1mC,EAAO,CACzC,OAAOA,EAEN,QAAQ,cAAe,GAAG,EAE1B,QAAQ,SAAU,EAAE,EAOpB,YAAW,EAAG,YAAa,CAC9B,CCXO,MAAM2mC,GAAaC,GAAW,UAAU,EAclCC,GAAoBD,GAAW,YAAY,EAuB3CE,GAAaF,GAAW,qBAAqB,EAanD,SAASG,GAAad,EAAM,CACjC,OAGEA,IAAS,OAASA,EAAO,IAAMA,IAAS,IAE5C,CAaO,MAAMe,GAAaJ,GAAW,IAAI,EAoB5BK,GAAgBL,GAAW,YAAY,EAevCM,GAAmBN,GAAW,gBAAgB,EAiBpD,SAASO,GAAmBlB,EAAM,CACvC,OAAOA,IAAS,MAAQA,EAAO,EACjC,CAWO,SAASmB,GAA0BnB,EAAM,CAC9C,OAAOA,IAAS,OAASA,EAAO,GAAKA,IAAS,GAChD,CAiBO,SAASoB,GAAcpB,EAAM,CAClC,OAAOA,IAAS,IAAMA,IAAS,IAAMA,IAAS,EAChD,CAuBO,MAAMqB,GAAqBV,GAAW,8BAAc,GAsB9CW,GAAoBX,GAAW,IAAI,EAUhD,SAASA,GAAWY,EAAO,CACzB,OAAOC,EAUP,SAASA,EAAMxB,EAAM,CACnB,OAAOA,IAAS,MAAQA,EAAO,IAAMuB,EAAM,KAAK,OAAO,aAAavB,CAAI,CAAC,CAC7E,CACA,CC7NO,SAASyB,GAAYC,EAAKC,EAAU,CACzC,MAAM5nC,EAAQwmC,GAAOqB,GAAaF,GAAO,EAAE,CAAC,EAC5C,GAAI,CAACC,EACH,OAAO5nC,EAET,MAAM8nC,EAAQ9nC,EAAM,QAAQ,GAAG,EACzB+nC,EAAe/nC,EAAM,QAAQ,GAAG,EAChCgoC,EAAahoC,EAAM,QAAQ,GAAG,EAC9BioC,EAAQjoC,EAAM,QAAQ,GAAG,EAC/B,OAEA8nC,EAAQ,GAERG,EAAQ,IAAMH,EAAQG,GAASF,EAAe,IAAMD,EAAQC,GAAgBC,EAAa,IAAMF,EAAQE,GAEvGJ,EAAS,KAAK5nC,EAAM,MAAM,EAAG8nC,CAAK,CAAC,EAC1B9nC,EAEF,EACT,CAaO,SAAS6nC,GAAa7nC,EAAO,CAElC,MAAMmK,EAAS,CAAE,EACjB,IAAIO,EAAQ,GACR4J,EAAQ,EACR4zB,EAAO,EACX,KAAO,EAAEx9B,EAAQ1K,EAAM,QAAQ,CAC7B,MAAMimC,EAAOjmC,EAAM,WAAW0K,CAAK,EAEnC,IAAI+7B,EAAU,GAGd,GAAIR,IAAS,IAAMY,GAAkB7mC,EAAM,WAAW0K,EAAQ,CAAC,CAAC,GAAKm8B,GAAkB7mC,EAAM,WAAW0K,EAAQ,CAAC,CAAC,EAChHw9B,EAAO,UAGAjC,EAAO,IACT,oBAAoB,KAAK,OAAO,aAAaA,CAAI,CAAC,IACrDQ,EAAU,OAAO,aAAaR,CAAI,WAI7BA,EAAO,OAAUA,EAAO,MAAQ,CACvC,MAAMhgC,EAAOjG,EAAM,WAAW0K,EAAQ,CAAC,EAGnCu7B,EAAO,OAAUhgC,EAAO,OAAUA,EAAO,OAC3CwgC,EAAU,OAAO,aAAaR,EAAMhgC,CAAI,EACxCiiC,EAAO,GAIPzB,EAAU,GAElB,MAGMA,EAAU,OAAO,aAAaR,CAAI,EAEhCQ,IACFt8B,EAAO,KAAKnK,EAAM,MAAMsU,EAAO5J,CAAK,EAAG,mBAAmB+7B,CAAO,CAAC,EAClEnyB,EAAQ5J,EAAQw9B,EAAO,EACvBzB,EAAU,IAERyB,IACFx9B,GAASw9B,EACTA,EAAO,EAEb,CACE,OAAO/9B,EAAO,KAAK,EAAE,EAAInK,EAAM,MAAMsU,CAAK,CAC5C,CC3DA,MAAMnV,GAAiB,CAAE,EAAC,eAQpBgpC,GAAe,gCACfC,GAAiB,YAMhB,SAASC,GAAQn3B,EAAS,CAC/B,MAAMo3B,EAAWp3B,GAAW,CAAE,EAU9B,IAAIq3B,EAAO,GAQX,MAAMC,EAAc,CAAE,EAUhBC,EAAU,CAAC,EAAE,EAQbC,EAAa,CAAE,EAQfC,EAAa,CAAE,EA6FflI,EACN0F,GAAsB,CA3FE,CACtB,MAAO,CACL,WAAYyC,GACZ,WAAYC,GACZ,oBAAqBC,EACrB,oBAAqBA,EACrB,aAAcC,EACd,SAAUC,GACV,QAASC,EACT,WAAYC,EACZ,4BAA6BC,EAC7B,sBAAuBL,EACvB,sBAAuBA,EACvB,SAAUM,GACV,SAAUC,GACV,SAAUC,GACV,MAAOC,GACP,MAAOT,EACP,KAAMU,GACN,eAAgBC,EAChB,cAAeC,EACf,YAAaC,EACb,cAAeC,GACf,UAAWC,GACX,UAAWf,EACX,SAAUgB,EACV,0BAA2BC,EAC3B,oBAAqBjB,EACrB,cAAekB,EACf,OAAQC,EACT,EACD,KAAM,CACJ,WAAYC,EACZ,mBAAoBC,EACpB,cAAeC,GACf,iBAAkBC,GAClB,WAAYC,GACZ,qBAAsBC,GACtB,oCAAqCC,GACrC,gCAAiCA,GACjC,wBAAyBC,GACzB,WAAYC,EACZ,gBAAiBC,EACjB,oBAAqBC,EACrB,oBAAqBC,EACrB,cAAeC,GACf,aAAcJ,EACd,SAAUK,GACV,aAAcR,GACd,KAAMA,GACN,WAAYS,EACZ,4BAA6BC,EAC7B,sBAAuBC,EACvB,sBAAuBC,EACvB,SAAUC,GACV,gBAAiBC,GACjB,kBAAmBA,GACnB,SAAUC,GACV,aAAcf,GACd,SAAUe,GACV,aAAcf,GACd,MAAOgB,EACP,MAAOC,EACP,UAAWC,EACX,WAAYC,GACZ,KAAMH,EACN,YAAaI,EACb,cAAeC,GACf,UAAWC,GACX,UAAWhB,EACX,gBAAiBiB,EACjB,SAAUjB,EACV,0BAA2BkB,GAC3B,oBAAqBC,EACrB,cAAeC,EACf,0BAA2BC,EAC3B,kBAAmBC,EACnB,OAAQC,GACR,cAAeC,EACrB,CACG,EAWuC,GAAI/D,EAAS,gBAAkB,CAAE,CAAC,CAAC,EAQrE9rB,EAAO,CACX,YAAAgsB,EACA,WAAAG,CACD,EASKhnB,EAAU,CACd,OAAAmnB,EACJ,OAAItC,EACA,QAAA8F,EACA,mBAAAC,EACA,QAASjE,EACT,IAAAv/B,EACA,OAAAi1B,EACA,QAAAwO,EACA,IAAAxV,CACD,EAWD,IAAIyV,EAAkBnE,EAAS,kBAG/B,OAAOD,EAUP,SAASA,EAAQtJ,EAAQ,CACvB,IAAIr0B,GAAQ,GACR4J,GAAQ,EAEZ,MAAMo4B,GAAY,CAAE,EAMpB,IAAItmC,GAAO,CAAE,EAETumC,GAAO,CAAE,EACb,KAAO,EAAEjiC,GAAQq0B,EAAO,QAElB,CAAC0N,IAAoB1N,EAAOr0B,EAAK,EAAE,CAAC,EAAE,OAAS,cAAgBq0B,EAAOr0B,EAAK,EAAE,CAAC,EAAE,OAAS,qBAC3F+hC,EACA1N,EAAOr0B,EAAK,EAAE,CAAC,EAAE,eAAeq0B,EAAOr0B,EAAK,EAAE,CAAC,CAAC,IAI9Cq0B,EAAOr0B,EAAK,EAAE,CAAC,EAAE,OAAS,eAAiBq0B,EAAOr0B,EAAK,EAAE,CAAC,EAAE,OAAS,mBACnEq0B,EAAOr0B,EAAK,EAAE,CAAC,IAAM,QACvBgiC,GAAU,KAAKhiC,EAAK,EAEpBkiC,EAAY7N,EAAO,MAAM2N,GAAU,IAAG,EAAIhiC,EAAK,CAAC,GAKhDq0B,EAAOr0B,EAAK,EAAE,CAAC,EAAE,OAAS,eACxBq0B,EAAOr0B,EAAK,EAAE,CAAC,IAAM,SACvBiiC,GAAOlH,GAAKkH,GAAM5N,EAAO,MAAMzqB,GAAO5J,EAAK,CAAC,EAC5C4J,GAAQ5J,KAERtE,GAAOq/B,GAAKr/B,GAAM24B,EAAO,MAAMzqB,GAAO5J,GAAQ,CAAC,CAAC,EAChD4J,GAAQ5J,GAAQ,IAItBtE,GAAOq/B,GAAKr/B,GAAMumC,EAAI,EACtBvmC,GAAOq/B,GAAKr/B,GAAM24B,EAAO,MAAMzqB,EAAK,CAAC,EACrC5J,GAAQ,GACR,MAAMP,GAAS/D,GAQf,IALIq6B,EAAS,MAAM,MACjBA,EAAS,MAAM,KAAK,KAAK9e,CAAO,EAI3B,EAAEjX,GAAQq0B,EAAO,QAAQ,CAC9B,MAAM8N,GAAUpM,EAASt2B,GAAOO,EAAK,EAAE,CAAC,CAAC,EACnCoiC,GAAO3iC,GAAOO,EAAK,EAAE,CAAC,EAAE,KACxBqiC,GAASF,GAAQC,EAAI,EACvB3tC,GAAe,KAAK0tC,GAASC,EAAI,GAAKC,IACxCA,GAAO,KAAK,CACV,eAAgB5iC,GAAOO,EAAK,EAAE,CAAC,EAAE,eACjC,GAAGiX,CACJ,EAAExX,GAAOO,EAAK,EAAE,CAAC,CAAC,CAE3B,CAGI,OAAI+1B,EAAS,KAAK,MAChBA,EAAS,KAAK,KAAK,KAAK9e,CAAO,EAE1B8mB,EAAQ,CAAC,EAAE,KAAK,EAAE,CAC7B,CAQE,SAASmE,EAAYI,EAAO,CAC1B,MAAMC,GAASD,EAAM,OACrB,IAAItiC,GAAQ,EACRwiC,GAAmB,EACnBC,GAAQ,GAERC,GACJ,KAAO,EAAE1iC,GAAQuiC,IAAQ,CACvB,MAAM3b,GAAQ0b,EAAMtiC,EAAK,EACzB,GAAI4mB,GAAM,CAAC,EAAE,WACX8b,GAAW,OACP9b,GAAM,CAAC,IAAM,QACf4b,KAEAA,SAEG,QAAQ5b,GAAM,CAAC,EAAE,KAAI,CAC1B,IAAK,iBACH,CACMA,GAAM,CAAC,IAAM,SACf8b,GAAW,IAEb,KACZ,CACQ,IAAK,aAID,MAEJ,IAAK,kBACH,CACM9b,GAAM,CAAC,IAAM,SAAW,CAAC4b,KACvBE,GACFA,GAAW,OAEXD,GAAQ,IAGZ,KACZ,CACQ,QAEIC,GAAW,MAEvB,CACA,CACIJ,EAAM,CAAC,EAAE,CAAC,EAAE,OAASG,EACzB,CAKE,SAASX,EAAQluC,EAAK0B,GAAO,CAG3Bwc,EAAKle,CAAG,EAAI0B,EAChB,CAKE,SAASssC,EAAQhuC,EAAK,CACpB,OAAOke,EAAKle,CAAG,CACnB,CAGE,SAASwqC,GAAS,CAChBL,EAAQ,KAAK,EAAE,CACnB,CAGE,SAASzK,GAAS,CAEhB,OADYyK,EAAQ,IAAK,EACd,KAAK,EAAE,CACtB,CAGE,SAASzR,EAAIh3B,EAAO,CACbuoC,IACLiE,EAAQ,aAAc,EAAI,EAC1B/D,EAAQA,EAAQ,OAAS,CAAC,EAAE,KAAKzoC,CAAK,EAC1C,CAGE,SAAS+I,EAAI/I,EAAO,CAClBwsC,EAAQ,YAAY,EACpB/D,EAAQA,EAAQ,OAAS,CAAC,EAAE,KAAKzoC,CAAK,CAC1C,CAOE,SAASqtC,GAAa,CACpBtkC,EAAI0jC,GAAmB;AAAA,CAAI,CAC/B,CAGE,SAASF,GAAqB,CAC5B,MAAMzD,EAASL,EAAQA,EAAQ,OAAS,CAAC,EACnCuE,GAAQlE,EAAOA,EAAO,OAAS,CAAC,EAChCwE,GAAWN,GAAQA,GAAM,WAAWA,GAAM,OAAS,CAAC,EAAI,KAC1DM,KAAa,IAAMA,KAAa,IAAMA,KAAa,MAGvDD,EAAY,CAChB,CAGE,SAAS7G,EAAOxmC,EAAO,CACrB,OAAOssC,EAAQ,cAAc,EAAItsC,EAAQutC,GAAQvtC,CAAK,CAC1D,CASE,SAAS6qC,GAAe,CACtB7M,EAAQ,CACZ,CAME,SAAS2L,EAAmB6D,EAAO,CACjC7E,EAAW,KAAK,CAAC6E,EAAM,MAAM,EAC7BjB,EAAoB,EACpBvV,EAAI,KAAK,EACTwV,EAAQ,kBAAmB,EAAI,CACnC,CAME,SAAS5C,GAAqB4D,EAAO,CACnC7E,EAAW,KAAK,CAAC6E,EAAM,MAAM,EAC7BjB,EAAoB,EACpBvV,EAAI,KAAK,EACTwV,EAAQ,kBAAmB,EAAI,CACnC,CAME,SAAS9C,EAAqB8D,EAAO,CACnC,GAAIlB,EAAQ,iBAAiB,EAAG,CAC9B,MAAMtsC,GAAQ,OAAO,SAAS,KAAK,eAAewtC,CAAK,EAAG,EAAE,EACxDxtC,KAAU,GACZg3B,EAAI,WAAawP,EAAO,OAAOxmC,EAAK,CAAC,EAAI,GAAG,CAEpD,CACA,CAKE,SAASypC,GAAwB,CAC3B6C,EAAQ,iBAAiB,EAC3BtV,EAAI,GAAG,EAEPyW,GAAgB,EAElBlB,EAAoB,EACpBvV,EAAI,MAAM,EACVwV,EAAQ,iBAAiB,EAEzBA,EAAQ,YAAY,CACxB,CAKE,SAASb,GAAoB,CAC3B8B,GAAgB,EAChB9E,EAAW,IAAK,EAChB0E,EAAY,EACZrW,EAAI,OAAO,CACf,CAKE,SAAS4U,IAAsB,CAC7B6B,GAAgB,EAChB9E,EAAW,IAAK,EAChB0E,EAAY,EACZrW,EAAI,OAAO,CACf,CAKE,SAASyW,IAAiB,CACpBnB,EAAQ,YAAY,GAAK,CAACA,EAAQ,qBAAqB,GACzDC,EAAoB,EAEtBvV,EAAI,OAAO,EACXwV,EAAQ,qBAAqB,CACjC,CAME,SAAS5D,IAAoB,CAC3BD,EAAW,KAAK,EAAK,EACrB4D,EAAoB,EACpBvV,EAAI,cAAc,CACtB,CAME,SAASsT,IAAmB,CAC1B3B,EAAW,IAAK,EAChB4D,EAAoB,EACpBvV,EAAI,eAAe,EACnBwV,EAAQ,qBAAqB,CACjC,CAME,SAAS3C,IAAmB,CACrBlB,EAAWA,EAAW,OAAS,CAAC,IACnC4D,EAAoB,EACpBvV,EAAI,KAAK,GAEXwV,EAAQ,qBAAqB,CACjC,CAME,SAASX,IAAkB,CACrBlD,EAAWA,EAAW,OAAS,CAAC,EAClC6D,EAAQ,sBAAuB,EAAI,EAEnCxV,EAAI,MAAM,CAEhB,CAME,SAAS6R,IAAoB,CAC3B0D,EAAoB,EACpBvV,EAAI,YAAY,EAChBwV,EAAQ,cAAe,CAAC,CAC5B,CAME,SAAS5B,GAA4B,CACnC,MAAM5qC,EAAQg+B,EAAQ,EACtBhH,EAAI,oBAAsBh3B,EAAQ,GAAG,CACzC,CAME,SAAS2qC,GAAwB,CAC/B,MAAM+C,EAAQpB,EAAQ,aAAa,GAAK,EACnCoB,IACH1W,EAAI,GAAG,EACPwV,EAAQ,qBAAsB,EAAI,GAEpCA,EAAQ,cAAekB,EAAQ,CAAC,CACpC,CAME,SAAS3E,GAAsB,CAC7BwD,EAAoB,EACpBvV,EAAI,aAAa,CACrB,CAME,SAAS0T,GAAiB,CACxB,MAAMgD,EAAQpB,EAAQ,aAAa,EAO/BoB,IAAU,QAAaA,EAAQ,GAAKlxB,EAAK,WAAW,OAAS,GAAK,CAAC8vB,EAAQ,YAAY,GACzFe,EAAY,EAKVf,EAAQ,kBAAkB,GAC5BC,EAAoB,EAEtBvV,EAAI,eAAe,EACf0W,IAAU,QAAaA,EAAQ,GAAGnB,EAAoB,EAC1DC,EAAQ,kBAAkB,EAC1BA,EAAQ,aAAa,EACrBA,EAAQ,oBAAoB,CAChC,CAME,SAASjD,IAAe,CACtBb,EAAW,KAAK,CACd,MAAO,EACb,CAAK,EACDH,EAAO,MACX,CAME,SAASiB,IAAc,CACrBd,EAAW,KAAK,EAAE,CACtB,CAME,SAAS+C,EAAgB+B,EAAO,CAC9B9E,EAAWA,EAAW,OAAS,CAAC,EAAE,QAAU,KAAK,eAAe8E,CAAK,CACzE,CAME,SAAShC,GAAc,CACrB9C,EAAWA,EAAW,OAAS,CAAC,EAAE,MAAQ1K,EAAQ,CACtD,CAME,SAAS8N,EAAsB0B,EAAO,CACpC9E,EAAWA,EAAW,OAAS,CAAC,EAAE,YAAc,KAAK,eAAe8E,CAAK,CAC7E,CAME,SAAS1D,GAAkB,CACzBhB,IACAJ,EAAWA,EAAW,OAAS,CAAC,EAAE,YAAc,EACpD,CAME,SAASqB,GAAmC,CAC1CjB,EAAQ,EAGR0D,EAAQ,eAAgB,EAAI,CAChC,CAME,SAAST,IAAkC,CACzCrD,EAAWA,EAAW,OAAS,CAAC,EAAE,YAAc1K,EAAQ,EACxDwO,EAAQ,cAAc,CAC1B,CAME,SAASR,GAA4B,CACnCtD,EAAWA,EAAW,OAAS,CAAC,EAAE,MAAQ1K,EAAQ,CACtD,CAME,SAASuN,GAAc,CACrB,IAAI7gC,EAAQg+B,EAAW,OAAS,EAChC,MAAMiF,GAAQjF,EAAWh+B,CAAK,EACxB2J,GAAKs5B,GAAM,aAAeA,GAAM,QAChChsB,GAAUgsB,GAAM,cAAgB,OAAYnF,EAAY9B,GAAoBryB,EAAE,CAAC,EAAIs5B,GAEzF,IADApF,EAAO,GACA79B,KACL,GAAIg+B,EAAWh+B,CAAK,EAAE,MAAO,CAC3B69B,EAAO,OACP,KACR,CAEQoF,GAAM,OACR3W,EAAI,aAAe0Q,GAAY/lB,GAAQ,YAAa2mB,EAAS,uBAAyB,OAAYF,EAAc,EAAI,SAAS,EAC7Hr/B,EAAI4kC,GAAM,KAAK,EACf3W,EAAI,GAAG,GAEPA,EAAI,YAAc0Q,GAAY/lB,GAAQ,YAAa2mB,EAAS,uBAAyB,OAAYH,EAAY,EAAI,GAAG,EAEtHnR,EAAIrV,GAAQ,MAAQ,WAAaA,GAAQ,MAAQ,IAAM,EAAE,EACrDgsB,GAAM,MACR3W,EAAI,KAAK,GAETA,EAAI,GAAG,EACPjuB,EAAI4kC,GAAM,KAAK,EACf3W,EAAI,MAAM,GAEZ0R,EAAW,IAAK,CACpB,CAME,SAASQ,GAAoB,CAC3BJ,EAAQ,EACRJ,EAAW,KAAK,EAAE,CACtB,CAME,SAASwC,EAA4BsC,EAAO,CAE1CxP,EAAQ,EACR0K,EAAWA,EAAW,OAAS,CAAC,EAAE,QAAU,KAAK,eAAe8E,CAAK,CACzE,CAME,SAASrE,GAAqC,CAC5CL,EAAQ,EACR0D,EAAQ,eAAgB,EAAI,CAChC,CAME,SAASvB,GAAoC,CAC3CvC,EAAWA,EAAW,OAAS,CAAC,EAAE,YAAc1K,EAAQ,EACxDwO,EAAQ,cAAc,CAC1B,CAME,SAASrB,GAA8B,CACrCzC,EAAWA,EAAW,OAAS,CAAC,EAAE,MAAQ1K,EAAQ,CACtD,CAME,SAASgN,GAAmB,CAC1B,MAAM2C,EAAQjF,EAAWA,EAAW,OAAS,CAAC,EACxCr0B,GAAKqyB,GAAoBiH,EAAM,OAAO,EAC5C3P,EAAQ,EACH7+B,GAAe,KAAKqpC,EAAan0B,EAAE,IACtCm0B,EAAYn0B,EAAE,EAAIq0B,EAAWA,EAAW,OAAS,CAAC,GAEpDA,EAAW,IAAK,CACpB,CAME,SAASO,GAAiB,CACxBuD,EAAQ,sBAAuB,EAAI,CACvC,CAME,SAASrC,EAAyBqD,EAAO,CAEnClB,EAAQ,aAAa,IACzBE,EAAQ,cAAe,KAAK,eAAegB,CAAK,EAAE,MAAM,EACxDjB,EAAoB,EACpBvV,EAAI,KAAOsV,EAAQ,aAAa,EAAI,GAAG,EAC3C,CAME,SAAStC,GAAuB,CAC9BlB,EAAQ,EACR0D,EAAQ,qBAAqB,CACjC,CAME,SAASL,GAA0B,CACjCK,EAAQ,sBAAuB,EAAI,CACvC,CAME,SAAStC,GAAmB,CAC1BlT,EAAI,MAAQsV,EAAQ,aAAa,EAAI,GAAG,EACxCE,EAAQ,aAAa,CACzB,CAME,SAASN,EAAgCsB,EAAO,CAC9ChB,EAAQ,cAAe,KAAK,eAAegB,CAAK,EAAE,WAAW,CAAC,IAAM,GAAK,EAAI,CAAC,CAClF,CAME,SAASvB,GAAsB,CAC7B,MAAMjsC,EAAQg+B,EAAQ,EACtBuO,EAAoB,EACpBvV,EAAI,KAAOsV,EAAQ,aAAa,EAAI,GAAG,EACvCvjC,EAAI/I,CAAK,EACTg3B,EAAI,MAAQsV,EAAQ,aAAa,EAAI,GAAG,EACxCE,EAAQ,qBAAqB,EAC7BA,EAAQ,aAAa,CACzB,CAME,SAASjC,GAAWiD,EAAO,CACzBzkC,EAAIy9B,EAAO,KAAK,eAAegH,CAAK,CAAC,CAAC,CAC1C,CAME,SAAS9B,GAAiB8B,EAAO,CAC/B,GAAI,CAAAlB,EAAQ,qBAAqB,EAGjC,IAAIA,EAAQ,oBAAoB,EAAG,CACjCE,EAAQ,oBAAoB,EAC5B,MACN,CACI,GAAIF,EAAQ,YAAY,EAAG,CACzBvjC,EAAI,GAAG,EACP,MACN,CACIA,EAAIy9B,EAAO,KAAK,eAAegH,CAAK,CAAC,CAAC,EAC1C,CAME,SAAS1C,GAAoB0C,EAAO,CAClCzkC,EAAIy9B,EAAO,KAAK,eAAegH,CAAK,CAAC,CAAC,EACtChB,EAAQ,mBAAoB,EAAI,CACpC,CAME,SAASnB,IAAkB,CACzBrU,EAAI,QAAQ,CAChB,CAKE,SAASqS,IAAkB,CACzBkD,EAAoB,EACpBjD,GAAa,CACjB,CAKE,SAASgC,IAAa,CACpBkB,EAAQ,cAAc,CAC1B,CAKE,SAASlD,IAAc,CACjBhB,EAAS,oBACXkE,EAAQ,eAAgB,EAAI,CAElC,CAKE,SAASpD,IAAkB,CACzBpS,EAAI,MAAM,CACd,CAKE,SAASiT,IAAgB,CACvBjT,EAAI,UAAU,CAClB,CAKE,SAASgS,IAAkB,CACzBwD,EAAQ,aAAc,EAAI,EAC1BxV,EAAI,QAAQ,CAChB,CAKE,SAAS+T,IAAiB,CACxByB,EAAQ,YAAY,EACpBxV,EAAI,SAAS,CACjB,CAKE,SAASoU,IAAiB,CACxBpU,EAAI,OAAO,CACf,CAKE,SAASoV,IAAe,CACtBpV,EAAI,WAAW,CACnB,CAKE,SAASqV,IAAsB,CAC7BE,EAAoB,EACpBvV,EAAI,QAAQ,CAChB,CAOE,SAASwT,GAA+BgD,EAAO,CAC7ChB,EAAQ,yBAA0BgB,EAAM,IAAI,CAChD,CAME,SAAS/C,GAA8B+C,EAAO,CAC5C,MAAMxtC,GAAQ,KAAK,eAAewtC,CAAK,EACjCI,GAAUtB,EAAQ,wBAAwB,EAAIhG,GAAgCtmC,GAAOssC,EAAQ,wBAAwB,IAAM,kCAAoC,GAAK,EAAE,EAAIrH,GAA8BjlC,EAAK,EAKnN+I,EAAIy9B,EAA4BoH,EAAO,CAAC,EACxCpB,EAAQ,wBAAwB,CACpC,CAME,SAASnC,GAAuBmD,EAAO,CACrC,MAAMK,GAAM,KAAK,eAAeL,CAAK,EACrCxW,EAAI,YAAc0Q,GAAYmG,GAAKvF,EAAS,uBAAyB,OAAYH,EAAY,EAAI,IAAI,EACrGp/B,EAAIy9B,EAAOqH,EAAG,CAAC,EACf7W,EAAI,MAAM,CACd,CAME,SAASoT,GAAoBoD,EAAO,CAClC,MAAMK,GAAM,KAAK,eAAeL,CAAK,EACrCxW,EAAI,YAAc0Q,GAAY,UAAYmG,EAAG,EAAI,IAAI,EACrD9kC,EAAIy9B,EAAOqH,EAAG,CAAC,EACf7W,EAAI,MAAM,CACd,CACA,CC3/BO,SAAS8W,GAAaC,EAASC,EAAIhmC,EAAMimC,EAAK,CACnD,MAAMC,EAAQD,EAAMA,EAAM,EAAI,OAAO,kBACrC,IAAIE,EAAO,EACX,OAAO75B,EAGP,SAASA,EAAM2xB,EAAM,CACnB,OAAIoB,GAAcpB,CAAI,GACpB8H,EAAQ,MAAM/lC,CAAI,EACXomC,EAAOnI,CAAI,GAEb+H,EAAG/H,CAAI,CAClB,CAGE,SAASmI,EAAOnI,EAAM,CACpB,OAAIoB,GAAcpB,CAAI,GAAKkI,IAASD,GAClCH,EAAQ,QAAQ9H,CAAI,EACbmI,IAETL,EAAQ,KAAK/lC,CAAI,EACVgmC,EAAG/H,CAAI,EAClB,CACA,CClDO,MAAM7O,GAAU,CACrB,SAAUiX,EACZ,EAQA,SAASA,GAAkBN,EAAS,CAClC,MAAMO,EAAeP,EAAQ,QAAQ,KAAK,OAAO,WAAW,eAAgBQ,EAA4BC,CAAgB,EAExH,IAAIlB,EACJ,OAAOgB,EAGP,SAASC,EAA2BtI,EAAM,CACxC,GAAIA,IAAS,KAAM,CACjB8H,EAAQ,QAAQ9H,CAAI,EACpB,MACN,CACI,OAAA8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBD,GAAaC,EAASO,EAAc,YAAY,CAC3D,CAGE,SAASE,EAAiBvI,EAAM,CAC9B,OAAA8H,EAAQ,MAAM,WAAW,EAClBU,EAAUxI,CAAI,CACzB,CAGE,SAASwI,EAAUxI,EAAM,CACvB,MAAMuH,EAAQO,EAAQ,MAAM,YAAa,CACvC,YAAa,OACb,SAAAT,CACN,CAAK,EACD,OAAIA,IACFA,EAAS,KAAOE,GAElBF,EAAWE,EACJhxB,EAAKypB,CAAI,CACpB,CAGE,SAASzpB,EAAKypB,EAAM,CAClB,GAAIA,IAAS,KAAM,CACjB8H,EAAQ,KAAK,WAAW,EACxBA,EAAQ,KAAK,WAAW,EACxBA,EAAQ,QAAQ9H,CAAI,EACpB,MACN,CACI,OAAIkB,GAAmBlB,CAAI,GACzB8H,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,WAAW,EACjBU,IAITV,EAAQ,QAAQ9H,CAAI,EACbzpB,EACX,CACA,CCvDO,MAAMkyB,GAAW,CACtB,SAAUC,EACZ,EAGMC,GAAqB,CACzB,SAAUC,EACZ,EAQA,SAASF,GAAmBZ,EAAS,CACnC,MAAMhkC,EAAO,KAEP+kC,EAAQ,CAAE,EAChB,IAAIC,EAAY,EAEZC,EAEAC,EAEAC,EACJ,OAAO56B,EAGP,SAASA,EAAM2xB,EAAM,CAWnB,GAAI8I,EAAYD,EAAM,OAAQ,CAC5B,MAAMhtC,EAAOgtC,EAAMC,CAAS,EAC5B,OAAAhlC,EAAK,eAAiBjI,EAAK,CAAC,EACrBisC,EAAQ,QAAQjsC,EAAK,CAAC,EAAE,aAAcqtC,EAAkBC,CAAkB,EAAEnJ,CAAI,CAC7F,CAGI,OAAOmJ,EAAmBnJ,CAAI,CAClC,CAGE,SAASkJ,EAAiBlJ,EAAM,CAM9B,GALA8I,IAKIhlC,EAAK,eAAe,WAAY,CAClCA,EAAK,eAAe,WAAa,OAC7BilC,GACFK,EAAW,EAKb,MAAMC,EAAmBvlC,EAAK,OAAO,OACrC,IAAIwlC,EAAkBD,EAElBE,EAGJ,KAAOD,KACL,GAAIxlC,EAAK,OAAOwlC,CAAe,EAAE,CAAC,IAAM,QAAUxlC,EAAK,OAAOwlC,CAAe,EAAE,CAAC,EAAE,OAAS,YAAa,CACtGC,EAAQzlC,EAAK,OAAOwlC,CAAe,EAAE,CAAC,EAAE,IACxC,KACV,CAEME,EAAeV,CAAS,EAGxB,IAAIrkC,EAAQ4kC,EACZ,KAAO5kC,EAAQX,EAAK,OAAO,QACzBA,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,IAAM,CAC1B,GAAG8kC,CACJ,EACD9kC,IAIF,OAAA06B,GAAOr7B,EAAK,OAAQwlC,EAAkB,EAAG,EAAGxlC,EAAK,OAAO,MAAMulC,CAAgB,CAAC,EAG/EvlC,EAAK,OAAO,OAASW,EACd0kC,EAAmBnJ,CAAI,CACpC,CACI,OAAO3xB,EAAM2xB,CAAI,CACrB,CAGE,SAASmJ,EAAmBnJ,EAAM,CAMhC,GAAI8I,IAAcD,EAAM,OAAQ,CAI9B,GAAI,CAACE,EACH,OAAOU,EAAkBzJ,CAAI,EAM/B,GAAI+I,EAAU,kBAAoBA,EAAU,iBAAiB,SAC3D,OAAOW,EAAU1J,CAAI,EAQvBl8B,EAAK,UAAY,GAAQilC,EAAU,kBAAoB,CAACA,EAAU,8BACxE,CAGI,OAAAjlC,EAAK,eAAiB,CAAE,EACjBgkC,EAAQ,MAAMa,GAAoBgB,EAAsBC,CAAqB,EAAE5J,CAAI,CAC9F,CAGE,SAAS2J,EAAqB3J,EAAM,CAClC,OAAI+I,GAAWK,EAAW,EAC1BI,EAAeV,CAAS,EACjBW,EAAkBzJ,CAAI,CACjC,CAGE,SAAS4J,EAAsB5J,EAAM,CACnC,OAAAl8B,EAAK,OAAO,KAAKA,EAAK,IAAK,EAAC,IAAI,EAAIglC,IAAcD,EAAM,OACxDI,EAAkBnlC,EAAK,IAAG,EAAG,OACtB4lC,EAAU1J,CAAI,CACzB,CAGE,SAASyJ,EAAkBzJ,EAAM,CAE/B,OAAAl8B,EAAK,eAAiB,CAAE,EACjBgkC,EAAQ,QAAQa,GAAoBkB,EAAmBH,CAAS,EAAE1J,CAAI,CACjF,CAGE,SAAS6J,EAAkB7J,EAAM,CAC/B,OAAA8I,IACAD,EAAM,KAAK,CAAC/kC,EAAK,iBAAkBA,EAAK,cAAc,CAAC,EAEhD2lC,EAAkBzJ,CAAI,CACjC,CAGE,SAAS0J,EAAU1J,EAAM,CACvB,GAAIA,IAAS,KAAM,CACb+I,GAAWK,EAAW,EAC1BI,EAAe,CAAC,EAChB1B,EAAQ,QAAQ9H,CAAI,EACpB,MACN,CACI,OAAA+I,EAAYA,GAAajlC,EAAK,OAAO,KAAKA,EAAK,KAAK,EACpDgkC,EAAQ,MAAM,YAAa,CACzB,WAAYiB,EACZ,YAAa,OACb,SAAUC,CAChB,CAAK,EACMc,EAAa9J,CAAI,CAC5B,CAGE,SAAS8J,EAAa9J,EAAM,CAC1B,GAAIA,IAAS,KAAM,CACjB+J,EAAajC,EAAQ,KAAK,WAAW,EAAG,EAAI,EAC5C0B,EAAe,CAAC,EAChB1B,EAAQ,QAAQ9H,CAAI,EACpB,MACN,CACI,OAAIkB,GAAmBlB,CAAI,GACzB8H,EAAQ,QAAQ9H,CAAI,EACpB+J,EAAajC,EAAQ,KAAK,WAAW,CAAC,EAEtCgB,EAAY,EACZhlC,EAAK,UAAY,OACVuK,IAETy5B,EAAQ,QAAQ9H,CAAI,EACb8J,EACX,CAUE,SAASC,EAAaxC,EAAOyC,EAAW,CACtC,MAAMC,EAASnmC,EAAK,YAAYyjC,CAAK,EAyCrC,GAxCIyC,GAAWC,EAAO,KAAK,IAAI,EAC/B1C,EAAM,SAAWyB,EACbA,IAAYA,EAAW,KAAOzB,GAClCyB,EAAazB,EACbwB,EAAU,WAAWxB,EAAM,KAAK,EAChCwB,EAAU,MAAMkB,CAAM,EAmClBnmC,EAAK,OAAO,KAAKyjC,EAAM,MAAM,IAAI,EAAG,CACtC,IAAI9iC,EAAQskC,EAAU,OAAO,OAC7B,KAAOtkC,KACL,GAEAskC,EAAU,OAAOtkC,CAAK,EAAE,CAAC,EAAE,MAAM,OAASwkC,IAE1C,CAACF,EAAU,OAAOtkC,CAAK,EAAE,CAAC,EAAE,KAE5BskC,EAAU,OAAOtkC,CAAK,EAAE,CAAC,EAAE,IAAI,OAASwkC,GAGtC,OAMJ,MAAMI,EAAmBvlC,EAAK,OAAO,OACrC,IAAIwlC,EAAkBD,EAElB38B,GAEA68B,EAGJ,KAAOD,KACL,GAAIxlC,EAAK,OAAOwlC,CAAe,EAAE,CAAC,IAAM,QAAUxlC,EAAK,OAAOwlC,CAAe,EAAE,CAAC,EAAE,OAAS,YAAa,CACtG,GAAI58B,GAAM,CACR68B,EAAQzlC,EAAK,OAAOwlC,CAAe,EAAE,CAAC,EAAE,IACxC,KACZ,CACU58B,GAAO,EACjB,CAMM,IAJA88B,EAAeV,CAAS,EAGxBrkC,EAAQ4kC,EACD5kC,EAAQX,EAAK,OAAO,QACzBA,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,IAAM,CAC1B,GAAG8kC,CACJ,EACD9kC,IAIF06B,GAAOr7B,EAAK,OAAQwlC,EAAkB,EAAG,EAAGxlC,EAAK,OAAO,MAAMulC,CAAgB,CAAC,EAG/EvlC,EAAK,OAAO,OAASW,CAC3B,CACA,CAQE,SAAS+kC,EAAetB,EAAM,CAC5B,IAAIzjC,EAAQokC,EAAM,OAGlB,KAAOpkC,KAAUyjC,GAAM,CACrB,MAAM5J,EAAQuK,EAAMpkC,CAAK,EACzBX,EAAK,eAAiBw6B,EAAM,CAAC,EAC7BA,EAAM,CAAC,EAAE,KAAK,KAAKx6B,EAAMgkC,CAAO,CACtC,CACIe,EAAM,OAASX,CACnB,CACE,SAASkB,GAAY,CACnBL,EAAU,MAAM,CAAC,IAAI,CAAC,EACtBC,EAAa,OACbD,EAAY,OACZjlC,EAAK,eAAe,WAAa,MACrC,CACA,CAQA,SAAS8kC,GAAkBd,EAASC,EAAImC,EAAK,CAG3C,OAAOrC,GAAaC,EAASA,EAAQ,QAAQ,KAAK,OAAO,WAAW,SAAUC,EAAImC,CAAG,EAAG,aAAc,KAAK,OAAO,WAAW,QAAQ,KAAK,SAAS,cAAc,EAAI,OAAY,CAAC,CACpL,CCtVO,SAASC,GAAkBnK,EAAM,CACtC,GAAIA,IAAS,MAAQmB,GAA0BnB,CAAI,GAAKsB,GAAkBtB,CAAI,EAC5E,MAAO,GAET,GAAIqB,GAAmBrB,CAAI,EACzB,MAAO,EAEX,CCVO,SAASoK,GAAWnK,EAAYnH,EAAQpd,EAAS,CAEtD,MAAM2uB,EAAS,GACf,IAAI5lC,EAAQ,GAEZ,KAAO,EAAEA,EAAQw7B,EAAW,QAAQ,CAClC,MAAM5rB,EAAU4rB,EAAWx7B,CAAK,EAAE,WAE9B4P,GAAW,CAACg2B,EAAO,SAASh2B,CAAO,IACrCykB,EAASzkB,EAAQykB,EAAQpd,CAAO,EAChC2uB,EAAO,KAAKh2B,CAAO,EAEzB,CAEE,OAAOykB,CACT,CCbO,MAAMwR,GAAY,CACvB,KAAM,YACN,WAAYC,GACZ,SAAUC,EACZ,EAQA,SAASD,GAAoBzR,EAAQpd,EAAS,CAC5C,IAAIjX,EAAQ,GAERgmC,EAEAC,EAEAhc,EAEAic,EAEAC,EAEAC,EAEAC,EAEAC,EAMJ,KAAO,EAAEtmC,EAAQq0B,EAAO,QAEtB,GAAIA,EAAOr0B,CAAK,EAAE,CAAC,IAAM,SAAWq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,qBAAuBq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,QAIpG,IAHAgmC,EAAOhmC,EAGAgmC,KAEL,GAAI3R,EAAO2R,CAAI,EAAE,CAAC,IAAM,QAAU3R,EAAO2R,CAAI,EAAE,CAAC,EAAE,OAAS,qBAAuB3R,EAAO2R,CAAI,EAAE,CAAC,EAAE,OAElG/uB,EAAQ,eAAeod,EAAO2R,CAAI,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,IAAM/uB,EAAQ,eAAeod,EAAOr0B,CAAK,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,EAAG,CAKhH,IAAKq0B,EAAO2R,CAAI,EAAE,CAAC,EAAE,QAAU3R,EAAOr0B,CAAK,EAAE,CAAC,EAAE,SAAWq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,IAAI,OAASq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,MAAM,QAAU,GAAK,GAAGq0B,EAAO2R,CAAI,EAAE,CAAC,EAAE,IAAI,OAAS3R,EAAO2R,CAAI,EAAE,CAAC,EAAE,MAAM,OAAS3R,EAAOr0B,CAAK,EAAE,CAAC,EAAE,IAAI,OAASq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,MAAM,QAAU,GAC3P,SAIFomC,EAAM/R,EAAO2R,CAAI,EAAE,CAAC,EAAE,IAAI,OAAS3R,EAAO2R,CAAI,EAAE,CAAC,EAAE,MAAM,OAAS,GAAK3R,EAAOr0B,CAAK,EAAE,CAAC,EAAE,IAAI,OAASq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,MAAM,OAAS,EAAI,EAAI,EAC7I,MAAM4J,EAAQ,CACZ,GAAGyqB,EAAO2R,CAAI,EAAE,CAAC,EAAE,GACpB,EACKn8B,EAAM,CACV,GAAGwqB,EAAOr0B,CAAK,EAAE,CAAC,EAAE,KACrB,EACDumC,GAAU38B,EAAO,CAACw8B,CAAG,EACrBG,GAAU18B,EAAKu8B,CAAG,EAClBF,EAAkB,CAChB,KAAME,EAAM,EAAI,iBAAmB,mBACnC,MAAAx8B,EACA,IAAK,CACH,GAAGyqB,EAAO2R,CAAI,EAAE,CAAC,EAAE,GACjC,CACW,EACDG,EAAkB,CAChB,KAAMC,EAAM,EAAI,iBAAmB,mBACnC,MAAO,CACL,GAAG/R,EAAOr0B,CAAK,EAAE,CAAC,EAAE,KACrB,EACD,IAAA6J,CACD,EACDogB,EAAO,CACL,KAAMmc,EAAM,EAAI,aAAe,eAC/B,MAAO,CACL,GAAG/R,EAAO2R,CAAI,EAAE,CAAC,EAAE,GACpB,EACD,IAAK,CACH,GAAG3R,EAAOr0B,CAAK,EAAE,CAAC,EAAE,KAClC,CACW,EACDimC,EAAQ,CACN,KAAMG,EAAM,EAAI,SAAW,WAC3B,MAAO,CACL,GAAGF,EAAgB,KACpB,EACD,IAAK,CACH,GAAGC,EAAgB,GACjC,CACW,EACD9R,EAAO2R,CAAI,EAAE,CAAC,EAAE,IAAM,CACpB,GAAGE,EAAgB,KACpB,EACD7R,EAAOr0B,CAAK,EAAE,CAAC,EAAE,MAAQ,CACvB,GAAGmmC,EAAgB,GACpB,EACDE,EAAa,CAAE,EAGXhS,EAAO2R,CAAI,EAAE,CAAC,EAAE,IAAI,OAAS3R,EAAO2R,CAAI,EAAE,CAAC,EAAE,MAAM,SACrDK,EAAatL,GAAKsL,EAAY,CAAC,CAAC,QAAShS,EAAO2R,CAAI,EAAE,CAAC,EAAG/uB,CAAO,EAAG,CAAC,OAAQod,EAAO2R,CAAI,EAAE,CAAC,EAAG/uB,CAAO,CAAC,CAAC,GAIzGovB,EAAatL,GAAKsL,EAAY,CAAC,CAAC,QAASJ,EAAOhvB,CAAO,EAAG,CAAC,QAASivB,EAAiBjvB,CAAO,EAAG,CAAC,OAAQivB,EAAiBjvB,CAAO,EAAG,CAAC,QAASgT,EAAMhT,CAAO,CAAC,CAAC,EAK5JovB,EAAatL,GAAKsL,EAAYV,GAAW1uB,EAAQ,OAAO,WAAW,WAAW,KAAMod,EAAO,MAAM2R,EAAO,EAAGhmC,CAAK,EAAGiX,CAAO,CAAC,EAG3HovB,EAAatL,GAAKsL,EAAY,CAAC,CAAC,OAAQpc,EAAMhT,CAAO,EAAG,CAAC,QAASkvB,EAAiBlvB,CAAO,EAAG,CAAC,OAAQkvB,EAAiBlvB,CAAO,EAAG,CAAC,OAAQgvB,EAAOhvB,CAAO,CAAC,CAAC,EAGtJod,EAAOr0B,CAAK,EAAE,CAAC,EAAE,IAAI,OAASq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,MAAM,QACvDsmC,EAAS,EACTD,EAAatL,GAAKsL,EAAY,CAAC,CAAC,QAAShS,EAAOr0B,CAAK,EAAE,CAAC,EAAGiX,CAAO,EAAG,CAAC,OAAQod,EAAOr0B,CAAK,EAAE,CAAC,EAAGiX,CAAO,CAAC,CAAC,GAEzGqvB,EAAS,EAEX5L,GAAOrG,EAAQ2R,EAAO,EAAGhmC,EAAQgmC,EAAO,EAAGK,CAAU,EACrDrmC,EAAQgmC,EAAOK,EAAW,OAASC,EAAS,EAC5C,KACV,EAOE,IADAtmC,EAAQ,GACD,EAAEA,EAAQq0B,EAAO,QAClBA,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,sBAC5Bq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,KAAO,QAG5B,OAAOq0B,CACT,CAOA,SAAS0R,GAAkB1C,EAASC,EAAI,CACtC,MAAMkD,EAAmB,KAAK,OAAO,WAAW,iBAAiB,KAC3D5D,EAAW,KAAK,SAChBjW,EAAS+Y,GAAkB9C,CAAQ,EAGzC,IAAI6D,EACJ,OAAO78B,EAYP,SAASA,EAAM2xB,EAAM,CACnB,OAAAkL,EAASlL,EACT8H,EAAQ,MAAM,mBAAmB,EAC1BqD,EAAOnL,CAAI,CACtB,CAYE,SAASmL,EAAOnL,EAAM,CACpB,GAAIA,IAASkL,EACX,OAAApD,EAAQ,QAAQ9H,CAAI,EACbmL,EAET,MAAM5D,EAAQO,EAAQ,KAAK,mBAAmB,EAGxCsD,EAAQjB,GAAkBnK,CAAI,EAI9ByK,EAAO,CAACW,GAASA,IAAU,GAAKha,GAAU6Z,EAAiB,SAASjL,CAAI,EACxEqL,EAAQ,CAACja,GAAUA,IAAW,GAAKga,GAASH,EAAiB,SAAS5D,CAAQ,EACpF,OAAAE,EAAM,MAAQ,GAAQ2D,IAAW,GAAKT,EAAOA,IAASrZ,GAAU,CAACia,IACjE9D,EAAM,OAAS,GAAQ2D,IAAW,GAAKG,EAAQA,IAAUD,GAAS,CAACX,IAC5D1C,EAAG/H,CAAI,CAClB,CACA,CAeA,SAASgL,GAAUzB,EAAOwB,EAAQ,CAChCxB,EAAM,QAAUwB,EAChBxB,EAAM,QAAUwB,EAChBxB,EAAM,cAAgBwB,CACxB,CCrOO,MAAMO,GAAW,CACtB,KAAM,WACN,SAAUC,EACZ,EAOA,SAASA,GAAiBzD,EAASC,EAAImC,EAAK,CAC1C,IAAIhC,EAAO,EACX,OAAO75B,EAcP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,gBAAgB,EAC7BA,EAAQ,MAAM,kBAAkB,EACzB2C,CACX,CAcE,SAASA,EAAKzK,EAAM,CAClB,OAAIU,GAAWV,CAAI,GACjB8H,EAAQ,QAAQ9H,CAAI,EACbwL,GAELxL,IAAS,GACJkK,EAAIlK,CAAI,EAEVyL,EAAWzL,CAAI,CAC1B,CAcE,SAASwL,EAAmBxL,EAAM,CAEhC,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMY,GAAkBZ,CAAI,GAErEkI,EAAO,EACAwD,EAAyB1L,CAAI,GAE/ByL,EAAWzL,CAAI,CAC1B,CAcE,SAAS0L,EAAyB1L,EAAM,CACtC,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBkI,EAAO,EACAyD,IAIJ3L,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMY,GAAkBZ,CAAI,IAAMkI,IAAS,IACrFJ,EAAQ,QAAQ9H,CAAI,EACb0L,IAETxD,EAAO,EACAuD,EAAWzL,CAAI,EAC1B,CAYE,SAAS2L,EAAU3L,EAAM,CACvB,OAAIA,IAAS,IACX8H,EAAQ,KAAK,kBAAkB,EAC/BA,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,gBAAgB,EAC7BA,EAAQ,KAAK,UAAU,EAChBC,GAIL/H,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMc,GAAad,CAAI,EAC3DkK,EAAIlK,CAAI,GAEjB8H,EAAQ,QAAQ9H,CAAI,EACb2L,EACX,CAYE,SAASF,EAAWzL,EAAM,CACxB,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb4L,GAEL/K,GAAWb,CAAI,GACjB8H,EAAQ,QAAQ9H,CAAI,EACbyL,GAEFvB,EAAIlK,CAAI,CACnB,CAYE,SAAS4L,EAAiB5L,EAAM,CAC9B,OAAOY,GAAkBZ,CAAI,EAAI6L,EAAW7L,CAAI,EAAIkK,EAAIlK,CAAI,CAChE,CAYE,SAAS6L,EAAW7L,EAAM,CACxB,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBkI,EAAO,EACA0D,GAEL5L,IAAS,IAEX8H,EAAQ,KAAK,kBAAkB,EAAE,KAAO,gBACxCA,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,gBAAgB,EAC7BA,EAAQ,KAAK,UAAU,EAChBC,GAEF+D,EAAW9L,CAAI,CAC1B,CAcE,SAAS8L,EAAW9L,EAAM,CAExB,IAAKA,IAAS,IAAMY,GAAkBZ,CAAI,IAAMkI,IAAS,GAAI,CAC3D,MAAMloC,EAAOggC,IAAS,GAAK8L,EAAaD,EACxC,OAAA/D,EAAQ,QAAQ9H,CAAI,EACbhgC,CACb,CACI,OAAOkqC,EAAIlK,CAAI,CACnB,CACA,CC5NO,MAAM+L,GAAY,CACvB,QAAS,GACT,SAAUC,EACZ,EAOA,SAASA,GAAkBlE,EAASC,EAAImC,EAAK,CAC3C,OAAO77B,EAgBP,SAASA,EAAM2xB,EAAM,CACnB,OAAOoB,GAAcpB,CAAI,EAAI6H,GAAaC,EAASsD,EAAO,YAAY,EAAEpL,CAAI,EAAIoL,EAAMpL,CAAI,CAC9F,CAgBE,SAASoL,EAAMpL,EAAM,CACnB,OAAOA,IAAS,MAAQkB,GAAmBlB,CAAI,EAAI+H,EAAG/H,CAAI,EAAIkK,EAAIlK,CAAI,CAC1E,CACA,CC/CO,MAAMiM,GAAa,CACxB,aAAc,CACZ,SAAUC,EACX,EACD,KAAAC,GACA,KAAM,aACN,SAAUC,EACZ,EAOA,SAASA,GAAwBtE,EAASC,EAAImC,EAAK,CACjD,MAAMpmC,EAAO,KACb,OAAOuK,EAYP,SAASA,EAAM2xB,EAAM,CACnB,GAAIA,IAAS,GAAI,CACf,MAAM3pB,EAAQvS,EAAK,eACnB,OAAKuS,EAAM,OACTyxB,EAAQ,MAAM,aAAc,CAC1B,WAAY,EACtB,CAAS,EACDzxB,EAAM,KAAO,IAEfyxB,EAAQ,MAAM,kBAAkB,EAChCA,EAAQ,MAAM,kBAAkB,EAChCA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,kBAAkB,EACxBsD,CACb,CACI,OAAOlB,EAAIlK,CAAI,CACnB,CAYE,SAASoL,EAAMpL,EAAM,CACnB,OAAIoB,GAAcpB,CAAI,GACpB8H,EAAQ,MAAM,4BAA4B,EAC1CA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,4BAA4B,EACzCA,EAAQ,KAAK,kBAAkB,EACxBC,IAETD,EAAQ,KAAK,kBAAkB,EACxBC,EAAG/H,CAAI,EAClB,CACA,CAeA,SAASkM,GAA+BpE,EAASC,EAAImC,EAAK,CACxD,MAAMpmC,EAAO,KACb,OAAOuoC,EAeP,SAASA,EAAUrM,EAAM,CACvB,OAAIoB,GAAcpB,CAAI,EAGb6H,GAAaC,EAASwE,EAAY,aAAcxoC,EAAK,OAAO,WAAW,QAAQ,KAAK,SAAS,cAAc,EAAI,OAAY,CAAC,EAAEk8B,CAAI,EAEpIsM,EAAWtM,CAAI,CAC1B,CAeE,SAASsM,EAAWtM,EAAM,CACxB,OAAO8H,EAAQ,QAAQmE,GAAYlE,EAAImC,CAAG,EAAElK,CAAI,CACpD,CACA,CAGA,SAASmM,GAAKrE,EAAS,CACrBA,EAAQ,KAAK,YAAY,CAC3B,CCnIO,MAAMyE,GAAkB,CAC7B,KAAM,kBACN,SAAUC,EACZ,EAOA,SAASA,GAAwB1E,EAASC,EAAImC,EAAK,CACjD,OAAO77B,EAYP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,MAAM,cAAc,EAC5BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,cAAc,EACpBqD,CACX,CAYE,SAASA,EAAOnL,EAAM,CAEpB,OAAIiB,GAAiBjB,CAAI,GACvB8H,EAAQ,MAAM,sBAAsB,EACpCA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,sBAAsB,EACnCA,EAAQ,KAAK,iBAAiB,EACvBC,GAEFmC,EAAIlK,CAAI,CACnB,CACA,CClDO,MAAMf,GAAqB,CAChC,KAAM,qBACN,SAAUwN,EACZ,EAOA,SAASA,GAA2B3E,EAASC,EAAImC,EAAK,CACpD,MAAMpmC,EAAO,KACb,IAAIokC,EAAO,EAEPF,EAEA0E,EACJ,OAAOr+B,EAgBP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,oBAAoB,EAClCA,EAAQ,MAAM,0BAA0B,EACxCA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,0BAA0B,EAChC2C,CACX,CAiBE,SAASA,EAAKzK,EAAM,CAClB,OAAIA,IAAS,IACX8H,EAAQ,MAAM,iCAAiC,EAC/CA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,iCAAiC,EACvC6E,IAET7E,EAAQ,MAAM,yBAAyB,EACvCE,EAAM,GACN0E,EAAO9L,GACA7mC,EAAMimC,CAAI,EACrB,CAcE,SAAS2M,EAAQ3M,EAAM,CACrB,OAAIA,IAAS,IAAMA,IAAS,KAC1B8H,EAAQ,MAAM,qCAAqC,EACnDA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,qCAAqC,EAClDA,EAAQ,MAAM,yBAAyB,EACvCE,EAAM,EACN0E,EAAO1L,GACAjnC,IAET+tC,EAAQ,MAAM,yBAAyB,EACvCE,EAAM,EACN0E,EAAO3L,GACAhnC,EAAMimC,CAAI,EACrB,CAmBE,SAASjmC,EAAMimC,EAAM,CACnB,GAAIA,IAAS,IAAMkI,EAAM,CACvB,MAAMX,EAAQO,EAAQ,KAAK,yBAAyB,EACpD,OAAI4E,IAAS9L,IAAqB,CAAC5B,GAA8Bl7B,EAAK,eAAeyjC,CAAK,CAAC,EAClF2C,EAAIlK,CAAI,GAKjB8H,EAAQ,MAAM,0BAA0B,EACxCA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,0BAA0B,EACvCA,EAAQ,KAAK,oBAAoB,EAC1BC,EACb,CACI,OAAI2E,EAAK1M,CAAI,GAAKkI,IAASF,GACzBF,EAAQ,QAAQ9H,CAAI,EACbjmC,GAEFmwC,EAAIlK,CAAI,CACnB,CACA,CCvIA,MAAM4M,GAAsB,CAC1B,QAAS,GACT,SAAUC,EACZ,EAGaC,GAAa,CACxB,SAAU,GACV,KAAM,aACN,SAAUC,EACZ,EAOA,SAASA,GAAmBjF,EAASC,EAAImC,EAAK,CAC5C,MAAMpmC,EAAO,KAEPkpC,EAAa,CACjB,QAAS,GACT,SAAUC,CACX,EACD,IAAIC,EAAgB,EAChBC,EAAW,EAEXjC,EACJ,OAAO78B,EAcP,SAASA,EAAM2xB,EAAM,CAEnB,OAAOoN,EAAmBpN,CAAI,CAClC,CAcE,SAASoN,EAAmBpN,EAAM,CAChC,MAAM5/B,EAAO0D,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAC/C,OAAAopC,EAAgB9sC,GAAQA,EAAK,CAAC,EAAE,OAAS,aAAeA,EAAK,CAAC,EAAE,eAAeA,EAAK,CAAC,EAAG,EAAI,EAAE,OAAS,EACvG8qC,EAASlL,EACT8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,MAAM,yBAAyB,EAChCuF,EAAarN,CAAI,CAC5B,CAcE,SAASqN,EAAarN,EAAM,CAC1B,OAAIA,IAASkL,GACXiC,IACArF,EAAQ,QAAQ9H,CAAI,EACbqN,GAELF,EAAW,EACNjD,EAAIlK,CAAI,GAEjB8H,EAAQ,KAAK,yBAAyB,EAC/B1G,GAAcpB,CAAI,EAAI6H,GAAaC,EAASwF,EAAY,YAAY,EAAEtN,CAAI,EAAIsN,EAAWtN,CAAI,EACxG,CAcE,SAASsN,EAAWtN,EAAM,CACxB,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,iBAAiB,EACvBhkC,EAAK,UAAYikC,EAAG/H,CAAI,EAAI8H,EAAQ,MAAM8E,GAAqBW,EAAgBnC,CAAK,EAAEpL,CAAI,IAEnG8H,EAAQ,MAAM,qBAAqB,EACnCA,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACnB,CAAK,EACM0F,EAAKxN,CAAI,EACpB,CAcE,SAASwN,EAAKxN,EAAM,CAClB,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,qBAAqB,EAC3BwF,EAAWtN,CAAI,GAEpBoB,GAAcpB,CAAI,GACpB8H,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,qBAAqB,EAC3BD,GAAaC,EAAS2F,EAAY,YAAY,EAAEzN,CAAI,GAEzDA,IAAS,IAAMA,IAASkL,EACnBhB,EAAIlK,CAAI,GAEjB8H,EAAQ,QAAQ9H,CAAI,EACbwN,EACX,CAcE,SAASC,EAAWzN,EAAM,CACxB,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,EACnCsN,EAAWtN,CAAI,GAExB8H,EAAQ,MAAM,qBAAqB,EACnCA,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACnB,CAAK,EACM4F,EAAK1N,CAAI,EACpB,CAcE,SAAS0N,EAAK1N,EAAM,CAClB,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,qBAAqB,EAC3BwF,EAAWtN,CAAI,GAEpBA,IAAS,IAAMA,IAASkL,EACnBhB,EAAIlK,CAAI,GAEjB8H,EAAQ,QAAQ9H,CAAI,EACb0N,EACX,CAeE,SAASH,EAAevN,EAAM,CAC5B,OAAO8H,EAAQ,QAAQkF,EAAY5B,EAAOuC,CAAa,EAAE3N,CAAI,CACjE,CAcE,SAAS2N,EAAc3N,EAAM,CAC3B,OAAA8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBO,CACX,CAcE,SAASA,EAAarI,EAAM,CAC1B,OAAOkN,EAAgB,GAAK9L,GAAcpB,CAAI,EAAI6H,GAAaC,EAAS8F,EAAoB,aAAcV,EAAgB,CAAC,EAAElN,CAAI,EAAI4N,EAAmB5N,CAAI,CAChK,CAcE,SAAS4N,EAAmB5N,EAAM,CAChC,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,EACnC8H,EAAQ,MAAM8E,GAAqBW,EAAgBnC,CAAK,EAAEpL,CAAI,GAEvE8H,EAAQ,MAAM,eAAe,EACtB+F,EAAa7N,CAAI,EAC5B,CAcE,SAAS6N,EAAa7N,EAAM,CAC1B,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,eAAe,EACrB8F,EAAmB5N,CAAI,IAEhC8H,EAAQ,QAAQ9H,CAAI,EACb6N,EACX,CAcE,SAASzC,EAAMpL,EAAM,CACnB,OAAA8H,EAAQ,KAAK,YAAY,EAClBC,EAAG/H,CAAI,CAClB,CAOE,SAASiN,EAAmBnF,EAASC,EAAImC,EAAK,CAC5C,IAAIhC,GAAO,EACX,OAAO4F,EAOP,SAASA,EAAY9N,GAAM,CACzB,OAAA8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,EAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBz5B,CACb,CAcI,SAASA,EAAM2xB,GAAM,CAInB,OAAA8H,EAAQ,MAAM,iBAAiB,EACxB1G,GAAcpB,EAAI,EAAI6H,GAAaC,EAASiG,EAAqB,aAAcjqC,EAAK,OAAO,WAAW,QAAQ,KAAK,SAAS,cAAc,EAAI,OAAY,CAAC,EAAEk8B,EAAI,EAAI+N,EAAoB/N,EAAI,CAC1M,CAcI,SAAS+N,EAAoB/N,GAAM,CACjC,OAAIA,KAASkL,GACXpD,EAAQ,MAAM,yBAAyB,EAChCkG,GAAchO,EAAI,GAEpBkK,EAAIlK,EAAI,CACrB,CAcI,SAASgO,GAAchO,GAAM,CAC3B,OAAIA,KAASkL,GACXhD,KACAJ,EAAQ,QAAQ9H,EAAI,EACbgO,IAEL9F,IAAQiF,GACVrF,EAAQ,KAAK,yBAAyB,EAC/B1G,GAAcpB,EAAI,EAAI6H,GAAaC,EAASmG,GAAoB,YAAY,EAAEjO,EAAI,EAAIiO,GAAmBjO,EAAI,GAE/GkK,EAAIlK,EAAI,CACrB,CAcI,SAASiO,GAAmBjO,GAAM,CAChC,OAAIA,KAAS,MAAQkB,GAAmBlB,EAAI,GAC1C8H,EAAQ,KAAK,iBAAiB,EACvBC,EAAG/H,EAAI,GAETkK,EAAIlK,EAAI,CACrB,CACA,CACA,CAOA,SAAS6M,GAA4B/E,EAASC,EAAImC,EAAK,CACrD,MAAMpmC,EAAO,KACb,OAAOuK,EAOP,SAASA,EAAM2xB,EAAM,CACnB,OAAIA,IAAS,KACJkK,EAAIlK,CAAI,GAEjB8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBU,EACX,CAOE,SAASA,EAAUxI,EAAM,CACvB,OAAOl8B,EAAK,OAAO,KAAKA,EAAK,IAAG,EAAG,IAAI,EAAIomC,EAAIlK,CAAI,EAAI+H,EAAG/H,CAAI,CAClE,CACA,CC/bO,MAAMkO,GAAe,CAC1B,KAAM,eACN,SAAUC,EACZ,EAGMC,GAAe,CACnB,QAAS,GACT,SAAUC,EACZ,EAOA,SAASF,GAAqBrG,EAASC,EAAImC,EAAK,CAC9C,MAAMpmC,EAAO,KACb,OAAOuK,EAgBP,SAASA,EAAM2xB,EAAM,CAGnB,OAAA8H,EAAQ,MAAM,cAAc,EAGrBD,GAAaC,EAASwG,EAAa,aAAc,CAAK,EAAEtO,CAAI,CACvE,CAYE,SAASsO,EAAYtO,EAAM,CACzB,MAAM5/B,EAAO0D,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAC/C,OAAO1D,GAAQA,EAAK,CAAC,EAAE,OAAS,cAAgBA,EAAK,CAAC,EAAE,eAAeA,EAAK,CAAC,EAAG,EAAI,EAAE,QAAU,EAAImuC,EAAQvO,CAAI,EAAIkK,EAAIlK,CAAI,CAChI,CAYE,SAASuO,EAAQvO,EAAM,CACrB,OAAIA,IAAS,KACJoL,EAAMpL,CAAI,EAEfkB,GAAmBlB,CAAI,EAClB8H,EAAQ,QAAQsG,GAAcG,EAASnD,CAAK,EAAEpL,CAAI,GAE3D8H,EAAQ,MAAM,eAAe,EACtBqD,EAAOnL,CAAI,EACtB,CAYE,SAASmL,EAAOnL,EAAM,CACpB,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,eAAe,EACrByG,EAAQvO,CAAI,IAErB8H,EAAQ,QAAQ9H,CAAI,EACbmL,EACX,CAGE,SAASC,EAAMpL,EAAM,CACnB,OAAA8H,EAAQ,KAAK,cAAc,EAIpBC,EAAG/H,CAAI,CAClB,CACA,CAOA,SAASqO,GAAqBvG,EAASC,EAAImC,EAAK,CAC9C,MAAMpmC,EAAO,KACb,OAAOsqC,EAaP,SAASA,EAAapO,EAAM,CAG1B,OAAIl8B,EAAK,OAAO,KAAKA,EAAK,IAAG,EAAG,IAAI,EAC3BomC,EAAIlK,CAAI,EAEbkB,GAAmBlB,CAAI,GACzB8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBsG,GASFvG,GAAaC,EAASwG,EAAa,aAAc,CAAK,EAAEtO,CAAI,CACvE,CAYE,SAASsO,EAAYtO,EAAM,CACzB,MAAM5/B,EAAO0D,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAC/C,OAAO1D,GAAQA,EAAK,CAAC,EAAE,OAAS,cAAgBA,EAAK,CAAC,EAAE,eAAeA,EAAK,CAAC,EAAG,EAAI,EAAE,QAAU,EAAI2nC,EAAG/H,CAAI,EAAIkB,GAAmBlB,CAAI,EAAIoO,EAAapO,CAAI,EAAIkK,EAAIlK,CAAI,CAC3K,CACA,CClKO,MAAMwO,GAAW,CACtB,KAAM,WACN,SAAAnH,GACA,QAASoH,GACT,SAAUC,EACZ,EAIA,SAASD,GAAgB3V,EAAQ,CAC/B,IAAI6V,EAAgB7V,EAAO,OAAS,EAChC8V,EAAiB,EAEjBnqC,EAEAoqC,EAGJ,IAAK/V,EAAO8V,CAAc,EAAE,CAAC,EAAE,OAAS,cAAgB9V,EAAO8V,CAAc,EAAE,CAAC,EAAE,OAAS,WAAa9V,EAAO6V,CAAa,EAAE,CAAC,EAAE,OAAS,cAAgB7V,EAAO6V,CAAa,EAAE,CAAC,EAAE,OAAS,UAI1L,IAHAlqC,EAAQmqC,EAGD,EAAEnqC,EAAQkqC,GACf,GAAI7V,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,eAAgB,CAE5Cq0B,EAAO8V,CAAc,EAAE,CAAC,EAAE,KAAO,kBACjC9V,EAAO6V,CAAa,EAAE,CAAC,EAAE,KAAO,kBAChCC,GAAkB,EAClBD,GAAiB,EACjB,KACR,EAOE,IAFAlqC,EAAQmqC,EAAiB,EACzBD,IACO,EAAElqC,GAASkqC,GACZE,IAAU,OACRpqC,IAAUkqC,GAAiB7V,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,eACvDoqC,EAAQpqC,IAEDA,IAAUkqC,GAAiB7V,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,gBAC9Dq0B,EAAO+V,CAAK,EAAE,CAAC,EAAE,KAAO,eACpBpqC,IAAUoqC,EAAQ,IACpB/V,EAAO+V,CAAK,EAAE,CAAC,EAAE,IAAM/V,EAAOr0B,EAAQ,CAAC,EAAE,CAAC,EAAE,IAC5Cq0B,EAAO,OAAO+V,EAAQ,EAAGpqC,EAAQoqC,EAAQ,CAAC,EAC1CF,GAAiBlqC,EAAQoqC,EAAQ,EACjCpqC,EAAQoqC,EAAQ,GAElBA,EAAQ,QAGZ,OAAO/V,CACT,CAOA,SAASuO,GAASrH,EAAM,CAEtB,OAAOA,IAAS,IAAM,KAAK,OAAO,KAAK,OAAO,OAAS,CAAC,EAAE,CAAC,EAAE,OAAS,iBACxE,CAOA,SAAS0O,GAAiB5G,EAASC,EAAImC,EAAK,CAE1C,IAAIiD,EAAW,EAEXjF,EAEAX,EACJ,OAAOl5B,EAcP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,kBAAkB,EACzBuF,EAAarN,CAAI,CAC5B,CAYE,SAASqN,EAAarN,EAAM,CAC1B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBmN,IACOE,IAETvF,EAAQ,KAAK,kBAAkB,EACxBgH,EAAQ9O,CAAI,EACvB,CAYE,SAAS8O,EAAQ9O,EAAM,CAErB,OAAIA,IAAS,KACJkK,EAAIlK,CAAI,EAMbA,IAAS,IACX8H,EAAQ,MAAM,OAAO,EACrBA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,OAAO,EACbgH,GAIL9O,IAAS,IACXuH,EAAQO,EAAQ,MAAM,kBAAkB,EACxCI,EAAO,EACA8F,EAAchO,CAAI,GAEvBkB,GAAmBlB,CAAI,GACzB8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBgH,IAIThH,EAAQ,MAAM,cAAc,EACrBvxB,EAAKypB,CAAI,EACpB,CAYE,SAASzpB,EAAKypB,EAAM,CAClB,OAAIA,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMkB,GAAmBlB,CAAI,GACxE8H,EAAQ,KAAK,cAAc,EACpBgH,EAAQ9O,CAAI,IAErB8H,EAAQ,QAAQ9H,CAAI,EACbzpB,EACX,CAYE,SAASy3B,EAAchO,EAAM,CAE3B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBkI,IACO8F,GAIL9F,IAASiF,GACXrF,EAAQ,KAAK,kBAAkB,EAC/BA,EAAQ,KAAK,UAAU,EAChBC,EAAG/H,CAAI,IAIhBuH,EAAM,KAAO,eACNhxB,EAAKypB,CAAI,EACpB,CACA,CCnMO,MAAM+O,EAAa,CAOxB,YAAYC,EAAS,CAEnB,KAAK,KAAOA,EAAU,CAAC,GAAGA,CAAO,EAAI,CAAE,EAEvC,KAAK,MAAQ,CAAE,CACnB,CAWE,IAAIvqC,EAAO,CACT,GAAIA,EAAQ,GAAKA,GAAS,KAAK,KAAK,OAAS,KAAK,MAAM,OACtD,MAAM,IAAI,WAAW,wBAA0BA,EAAQ,kCAAoC,KAAK,KAAK,OAAS,KAAK,MAAM,QAAU,GAAG,EAExI,OAAIA,EAAQ,KAAK,KAAK,OAAe,KAAK,KAAKA,CAAK,EAC7C,KAAK,MAAM,KAAK,MAAM,OAASA,EAAQ,KAAK,KAAK,OAAS,CAAC,CACtE,CAME,IAAI,QAAS,CACX,OAAO,KAAK,KAAK,OAAS,KAAK,MAAM,MACzC,CASE,OAAQ,CACN,YAAK,UAAU,CAAC,EACT,KAAK,MAAM,IAAK,CAC3B,CAaE,MAAM4J,EAAOC,EAAK,CAEhB,MAAM8qB,EAAO9qB,GAAoC,OAAO,kBACxD,OAAI8qB,EAAO,KAAK,KAAK,OACZ,KAAK,KAAK,MAAM/qB,EAAO+qB,CAAI,EAEhC/qB,EAAQ,KAAK,KAAK,OACb,KAAK,MAAM,MAAM,KAAK,MAAM,OAAS+qB,EAAO,KAAK,KAAK,OAAQ,KAAK,MAAM,OAAS/qB,EAAQ,KAAK,KAAK,MAAM,EAAE,QAAS,EAEvH,KAAK,KAAK,MAAMA,CAAK,EAAE,OAAO,KAAK,MAAM,MAAM,KAAK,MAAM,OAAS+qB,EAAO,KAAK,KAAK,MAAM,EAAE,SAAS,CAChH,CAsBE,OAAO/qB,EAAO4gC,EAAa5P,EAAO,CAEhC,MAAMoI,EAAQwH,GAAe,EAC7B,KAAK,UAAU,KAAK,MAAM5gC,CAAK,CAAC,EAChC,MAAM6gC,EAAU,KAAK,MAAM,OAAO,KAAK,MAAM,OAASzH,EAAO,OAAO,iBAAiB,EACrF,OAAIpI,GAAO8P,GAAY,KAAK,KAAM9P,CAAK,EAChC6P,EAAQ,QAAS,CAC5B,CAUE,KAAM,CACJ,YAAK,UAAU,OAAO,iBAAiB,EAChC,KAAK,KAAK,IAAK,CAC1B,CAWE,KAAKrzC,EAAM,CACT,KAAK,UAAU,OAAO,iBAAiB,EACvC,KAAK,KAAK,KAAKA,CAAI,CACvB,CAWE,SAASwjC,EAAO,CACd,KAAK,UAAU,OAAO,iBAAiB,EACvC8P,GAAY,KAAK,KAAM9P,CAAK,CAChC,CAWE,QAAQxjC,EAAM,CACZ,KAAK,UAAU,CAAC,EAChB,KAAK,MAAM,KAAKA,CAAI,CACxB,CAWE,YAAYwjC,EAAO,CACjB,KAAK,UAAU,CAAC,EAChB8P,GAAY,KAAK,MAAO9P,EAAM,QAAO,CAAE,CAC3C,CAcE,UAAU7jC,EAAG,CACX,GAAI,EAAAA,IAAM,KAAK,KAAK,QAAUA,EAAI,KAAK,KAAK,QAAU,KAAK,MAAM,SAAW,GAAKA,EAAI,GAAK,KAAK,KAAK,SAAW,GAC/G,GAAIA,EAAI,KAAK,KAAK,OAAQ,CAExB,MAAM0zC,EAAU,KAAK,KAAK,OAAO1zC,EAAG,OAAO,iBAAiB,EAC5D2zC,GAAY,KAAK,MAAOD,EAAQ,QAAO,CAAE,CAC/C,KAAW,CAEL,MAAMA,EAAU,KAAK,MAAM,OAAO,KAAK,KAAK,OAAS,KAAK,MAAM,OAAS1zC,EAAG,OAAO,iBAAiB,EACpG2zC,GAAY,KAAK,KAAMD,EAAQ,QAAO,CAAE,CAC9C,CACA,CACA,CAcA,SAASC,GAAY/P,EAAMW,EAAO,CAEhC,IAAIT,EAAa,EACjB,GAAIS,EAAM,OAAS,IACjBX,EAAK,KAAK,GAAGW,CAAK,MAElB,MAAOT,EAAaS,EAAM,QACxBX,EAAK,KAAK,GAAGW,EAAM,MAAMT,EAAYA,EAAa,GAAK,CAAC,EACxDA,GAAc,GAGpB,CCvOO,SAAS8P,GAAYC,EAAa,CAEvC,MAAMC,EAAQ,CAAE,EAChB,IAAI7qC,EAAQ,GAER4mB,EAEAkkB,EAEAC,EAEAC,EAEAlQ,EAEAmQ,EAEAC,EACJ,MAAM7W,EAAS,IAAIiW,GAAaM,CAAW,EAC3C,KAAO,EAAE5qC,EAAQq0B,EAAO,QAAQ,CAC9B,KAAOr0B,KAAS6qC,GACd7qC,EAAQ6qC,EAAM7qC,CAAK,EAMrB,GAJA4mB,EAAQyN,EAAO,IAAIr0B,CAAK,EAIpBA,GAAS4mB,EAAM,CAAC,EAAE,OAAS,aAAeyN,EAAO,IAAIr0B,EAAQ,CAAC,EAAE,CAAC,EAAE,OAAS,mBAC9EirC,EAAYrkB,EAAM,CAAC,EAAE,WAAW,OAChCmkB,EAAa,EACTA,EAAaE,EAAU,QAAUA,EAAUF,CAAU,EAAE,CAAC,EAAE,OAAS,oBACrEA,GAAc,GAEZA,EAAaE,EAAU,QAAUA,EAAUF,CAAU,EAAE,CAAC,EAAE,OAAS,WACrE,KAAO,EAAEA,EAAaE,EAAU,QAC1BA,EAAUF,CAAU,EAAE,CAAC,EAAE,OAAS,WAGlCE,EAAUF,CAAU,EAAE,CAAC,EAAE,OAAS,cACpCE,EAAUF,CAAU,EAAE,CAAC,EAAE,4BAA8B,GACvDA,KAOR,GAAInkB,EAAM,CAAC,IAAM,QACXA,EAAM,CAAC,EAAE,cACX,OAAO,OAAOikB,EAAOM,GAAW9W,EAAQr0B,CAAK,CAAC,EAC9CA,EAAQ6qC,EAAM7qC,CAAK,EACnBkrC,EAAO,YAIFtkB,EAAM,CAAC,EAAE,WAAY,CAG5B,IAFAmkB,EAAa/qC,EACb8qC,EAAY,OACLC,MACLC,EAAa3W,EAAO,IAAI0W,CAAU,EAC9BC,EAAW,CAAC,EAAE,OAAS,cAAgBA,EAAW,CAAC,EAAE,OAAS,oBAC5DA,EAAW,CAAC,IAAM,UAChBF,IACFzW,EAAO,IAAIyW,CAAS,EAAE,CAAC,EAAE,KAAO,mBAElCE,EAAW,CAAC,EAAE,KAAO,aACrBF,EAAYC,GAMdD,IAEFlkB,EAAM,CAAC,EAAE,IAAM,CACb,GAAGyN,EAAO,IAAIyW,CAAS,EAAE,CAAC,EAAE,KAC7B,EAGDhQ,EAAazG,EAAO,MAAMyW,EAAW9qC,CAAK,EAC1C86B,EAAW,QAAQlU,CAAK,EACxByN,EAAO,OAAOyW,EAAW9qC,EAAQ8qC,EAAY,EAAGhQ,CAAU,EAElE,CACA,CAGE,OAAAJ,GAAOkQ,EAAa,EAAG,OAAO,kBAAmBvW,EAAO,MAAM,CAAC,CAAC,EACzD,CAAC6W,CACV,CAYA,SAASC,GAAW9W,EAAQ+W,EAAY,CACtC,MAAMtI,EAAQzO,EAAO,IAAI+W,CAAU,EAAE,CAAC,EAChCn0B,EAAUod,EAAO,IAAI+W,CAAU,EAAE,CAAC,EACxC,IAAIC,EAAgBD,EAAa,EAEjC,MAAME,EAAiB,CAAE,EACnBC,EAAYzI,EAAM,YAAc7rB,EAAQ,OAAO6rB,EAAM,WAAW,EAAEA,EAAM,KAAK,EAC7E0I,EAAcD,EAAU,OAExBV,EAAQ,CAAE,EAEVY,EAAO,CAAE,EAEf,IAAIjG,EAEA5C,EACA5iC,EAAQ,GAER8N,EAAUg1B,EACV4I,EAAS,EACT9hC,EAAQ,EACZ,MAAM+hC,EAAS,CAAC/hC,CAAK,EAIrB,KAAOkE,GAAS,CAEd,KAAOumB,EAAO,IAAI,EAAEgX,CAAa,EAAE,CAAC,IAAMv9B,GAAS,CAGnDw9B,EAAe,KAAKD,CAAa,EAC5Bv9B,EAAQ,aACX03B,EAASvuB,EAAQ,YAAYnJ,CAAO,EAC/BA,EAAQ,MACX03B,EAAO,KAAK,IAAI,EAEd5C,GACF2I,EAAU,WAAWz9B,EAAQ,KAAK,EAEhCA,EAAQ,8BACVy9B,EAAU,mCAAqC,IAEjDA,EAAU,MAAM/F,CAAM,EAClB13B,EAAQ,8BACVy9B,EAAU,mCAAqC,SAKnD3I,EAAW90B,EACXA,EAAUA,EAAQ,IACtB,CAKE,IADAA,EAAUg1B,EACH,EAAE9iC,EAAQwrC,EAAY,QAG3BA,EAAYxrC,CAAK,EAAE,CAAC,IAAM,QAAUwrC,EAAYxrC,EAAQ,CAAC,EAAE,CAAC,IAAM,SAAWwrC,EAAYxrC,CAAK,EAAE,CAAC,EAAE,OAASwrC,EAAYxrC,EAAQ,CAAC,EAAE,CAAC,EAAE,MAAQwrC,EAAYxrC,CAAK,EAAE,CAAC,EAAE,MAAM,OAASwrC,EAAYxrC,CAAK,EAAE,CAAC,EAAE,IAAI,OAC3M4J,EAAQ5J,EAAQ,EAChB2rC,EAAO,KAAK/hC,CAAK,EAEjBkE,EAAQ,WAAa,OACrBA,EAAQ,SAAW,OACnBA,EAAUA,EAAQ,MAqBtB,IAhBAy9B,EAAU,OAAS,CAAE,EAKjBz9B,GAEFA,EAAQ,WAAa,OACrBA,EAAQ,SAAW,QAEnB69B,EAAO,IAAK,EAKd3rC,EAAQ2rC,EAAO,OACR3rC,KAAS,CACd,MAAMsiC,EAAQkJ,EAAY,MAAMG,EAAO3rC,CAAK,EAAG2rC,EAAO3rC,EAAQ,CAAC,CAAC,EAC1D4J,EAAQ0hC,EAAe,IAAK,EAClCT,EAAM,KAAK,CAACjhC,EAAOA,EAAQ04B,EAAM,OAAS,CAAC,CAAC,EAC5CjO,EAAO,OAAOzqB,EAAO,EAAG04B,CAAK,CACjC,CAGE,IAFAuI,EAAM,QAAS,EACf7qC,EAAQ,GACD,EAAEA,EAAQ6qC,EAAM,QACrBY,EAAKC,EAASb,EAAM7qC,CAAK,EAAE,CAAC,CAAC,EAAI0rC,EAASb,EAAM7qC,CAAK,EAAE,CAAC,EACxD0rC,GAAUb,EAAM7qC,CAAK,EAAE,CAAC,EAAI6qC,EAAM7qC,CAAK,EAAE,CAAC,EAAI,EAEhD,OAAOyrC,CACT,CCzMO,MAAM/e,GAAU,CACrB,QAASkf,GACT,SAAUC,EACZ,EAGMC,GAAwB,CAC5B,QAAS,GACT,SAAUC,EACZ,EAQA,SAASH,GAAevX,EAAQ,CAC9B,OAAAsW,GAAYtW,CAAM,EACXA,CACT,CAOA,SAASwX,GAAgBxI,EAASC,EAAI,CAEpC,IAAIV,EACJ,OAAO/H,EAYP,SAASA,EAAWU,EAAM,CACxB,OAAA8H,EAAQ,MAAM,SAAS,EACvBT,EAAWS,EAAQ,MAAM,eAAgB,CACvC,YAAa,SACnB,CAAK,EACM2I,EAAYzQ,CAAI,CAC3B,CAYE,SAASyQ,EAAYzQ,EAAM,CACzB,OAAIA,IAAS,KACJ0Q,EAAW1Q,CAAI,EAKpBkB,GAAmBlB,CAAI,EAClB8H,EAAQ,MAAMyI,GAAuBI,EAAiBD,CAAU,EAAE1Q,CAAI,GAI/E8H,EAAQ,QAAQ9H,CAAI,EACbyQ,EACX,CAOE,SAASC,EAAW1Q,EAAM,CACxB,OAAA8H,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,KAAK,SAAS,EACfC,EAAG/H,CAAI,CAClB,CAOE,SAAS2Q,EAAgB3Q,EAAM,CAC7B,OAAA8H,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,cAAc,EAC3BT,EAAS,KAAOS,EAAQ,MAAM,eAAgB,CAC5C,YAAa,UACb,SAAAT,CACN,CAAK,EACDA,EAAWA,EAAS,KACboJ,CACX,CACA,CAOA,SAASD,GAAqB1I,EAASC,EAAImC,EAAK,CAC9C,MAAMpmC,EAAO,KACb,OAAO8sC,EAOP,SAASA,EAAe5Q,EAAM,CAC5B,OAAA8H,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBD,GAAaC,EAAStV,EAAU,YAAY,CACvD,CAOE,SAASA,EAASwN,EAAM,CACtB,GAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,EAC1C,OAAOkK,EAAIlK,CAAI,EAKjB,MAAM5/B,EAAO0D,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAC/C,MAAI,CAACA,EAAK,OAAO,WAAW,QAAQ,KAAK,SAAS,cAAc,GAAK1D,GAAQA,EAAK,CAAC,EAAE,OAAS,cAAgBA,EAAK,CAAC,EAAE,eAAeA,EAAK,CAAC,EAAG,EAAI,EAAE,QAAU,EACrJ2nC,EAAG/H,CAAI,EAET8H,EAAQ,UAAUhkC,EAAK,OAAO,WAAW,KAAMomC,EAAKnC,CAAE,EAAE/H,CAAI,CACvE,CACA,CCxHO,SAAS6Q,GAAmB/I,EAASC,EAAImC,EAAKnoC,EAAM+uC,EAAaC,EAAmBnpC,EAASopC,EAAYhJ,EAAK,CACnH,MAAMC,EAAQD,GAAO,OAAO,kBAC5B,IAAIiJ,EAAU,EACd,OAAO5iC,EAcP,SAASA,EAAM2xB,EAAM,CACnB,OAAIA,IAAS,IACX8H,EAAQ,MAAM/lC,CAAI,EAClB+lC,EAAQ,MAAMgJ,CAAW,EACzBhJ,EAAQ,MAAMiJ,CAAiB,EAC/BjJ,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAKiJ,CAAiB,EACvBG,GAILlR,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMc,GAAad,CAAI,EAC3DkK,EAAIlK,CAAI,GAEjB8H,EAAQ,MAAM/lC,CAAI,EAClB+lC,EAAQ,MAAMlgC,CAAO,EACrBkgC,EAAQ,MAAMkJ,CAAU,EACxBlJ,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACnB,CAAK,EACMhlC,EAAIk9B,CAAI,EACnB,CAYE,SAASkR,EAAelR,EAAM,CAC5B,OAAIA,IAAS,IACX8H,EAAQ,MAAMiJ,CAAiB,EAC/BjJ,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAKiJ,CAAiB,EAC9BjJ,EAAQ,KAAKgJ,CAAW,EACxBhJ,EAAQ,KAAK/lC,CAAI,EACVgmC,IAETD,EAAQ,MAAMkJ,CAAU,EACxBlJ,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACnB,CAAK,EACMqJ,EAASnR,CAAI,EACxB,CAYE,SAASmR,EAASnR,EAAM,CACtB,OAAIA,IAAS,IACX8H,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAKkJ,CAAU,EAChBE,EAAelR,CAAI,GAExBA,IAAS,MAAQA,IAAS,IAAMkB,GAAmBlB,CAAI,EAClDkK,EAAIlK,CAAI,GAEjB8H,EAAQ,QAAQ9H,CAAI,EACbA,IAAS,GAAKoR,EAAiBD,EAC1C,CAYE,SAASC,EAAepR,EAAM,CAC5B,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IACzC8H,EAAQ,QAAQ9H,CAAI,EACbmR,GAEFA,EAASnR,CAAI,CACxB,CAYE,SAASl9B,EAAIk9B,EAAM,CACjB,MAAI,CAACiR,IAAYjR,IAAS,MAAQA,IAAS,IAAMmB,GAA0BnB,CAAI,IAC7E8H,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAKkJ,CAAU,EACvBlJ,EAAQ,KAAKlgC,CAAO,EACpBkgC,EAAQ,KAAK/lC,CAAI,EACVgmC,EAAG/H,CAAI,GAEZiR,EAAUhJ,GAASjI,IAAS,IAC9B8H,EAAQ,QAAQ9H,CAAI,EACpBiR,IACOnuC,GAELk9B,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBiR,IACOnuC,GAMLk9B,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMc,GAAad,CAAI,EAC3DkK,EAAIlK,CAAI,GAEjB8H,EAAQ,QAAQ9H,CAAI,EACbA,IAAS,GAAKqR,EAAYvuC,EACrC,CAYE,SAASuuC,EAAUrR,EAAM,CACvB,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IACzC8H,EAAQ,QAAQ9H,CAAI,EACbl9B,GAEFA,EAAIk9B,CAAI,CACnB,CACA,CCpKO,SAASsR,GAAaxJ,EAASC,EAAImC,EAAKnoC,EAAMwvC,EAAYP,EAAY,CAC3E,MAAMltC,EAAO,KACb,IAAIokC,EAAO,EAEPx7B,EACJ,OAAO2B,EAYP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM/lC,CAAI,EAClB+lC,EAAQ,MAAMyJ,CAAU,EACxBzJ,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAKyJ,CAAU,EACvBzJ,EAAQ,MAAMkJ,CAAU,EACjBzC,CACX,CAYE,SAASA,EAAQvO,EAAM,CACrB,OAAIkI,EAAO,KAAOlI,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAM,CAACtzB,GAMlEszB,IAAS,IAAM,CAACkI,GAAQ,2BAA4BpkC,EAAK,OAAO,WACvDomC,EAAIlK,CAAI,EAEbA,IAAS,IACX8H,EAAQ,KAAKkJ,CAAU,EACvBlJ,EAAQ,MAAMyJ,CAAU,EACxBzJ,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAKyJ,CAAU,EACvBzJ,EAAQ,KAAK/lC,CAAI,EACVgmC,GAIL7G,GAAmBlB,CAAI,GACzB8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClByG,IAETzG,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACnB,CAAK,EACM0J,EAAYxR,CAAI,EAC3B,CAYE,SAASwR,EAAYxR,EAAM,CACzB,OAAIA,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMkB,GAAmBlB,CAAI,GAAKkI,IAAS,KACtFJ,EAAQ,KAAK,aAAa,EACnByG,EAAQvO,CAAI,IAErB8H,EAAQ,QAAQ9H,CAAI,EACftzB,IAAMA,EAAO,CAAC00B,GAAcpB,CAAI,GAC9BA,IAAS,GAAKyR,EAAcD,EACvC,CAYE,SAASC,EAAYzR,EAAM,CACzB,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IACzC8H,EAAQ,QAAQ9H,CAAI,EACpBkI,IACOsJ,GAEFA,EAAYxR,CAAI,CAC3B,CACA,CCzGO,SAAS0R,GAAa5J,EAASC,EAAImC,EAAKnoC,EAAMwvC,EAAYP,EAAY,CAE3E,IAAI9F,EACJ,OAAO78B,EAYP,SAASA,EAAM2xB,EAAM,CACnB,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IACzC8H,EAAQ,MAAM/lC,CAAI,EAClB+lC,EAAQ,MAAMyJ,CAAU,EACxBzJ,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAKyJ,CAAU,EACvBrG,EAASlL,IAAS,GAAK,GAAKA,EACrB2R,GAEFzH,EAAIlK,CAAI,CACnB,CAcE,SAAS2R,EAAM3R,EAAM,CACnB,OAAIA,IAASkL,GACXpD,EAAQ,MAAMyJ,CAAU,EACxBzJ,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAKyJ,CAAU,EACvBzJ,EAAQ,KAAK/lC,CAAI,EACVgmC,IAETD,EAAQ,MAAMkJ,CAAU,EACjBzC,EAAQvO,CAAI,EACvB,CAYE,SAASuO,EAAQvO,EAAM,CACrB,OAAIA,IAASkL,GACXpD,EAAQ,KAAKkJ,CAAU,EAChBW,EAAMzG,CAAM,GAEjBlL,IAAS,KACJkK,EAAIlK,CAAI,EAIbkB,GAAmBlB,CAAI,GAEzB8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBD,GAAaC,EAASyG,EAAS,YAAY,IAEpDzG,EAAQ,MAAM,cAAe,CAC3B,YAAa,QACnB,CAAK,EACMqD,EAAOnL,CAAI,EACtB,CAOE,SAASmL,EAAOnL,EAAM,CACpB,OAAIA,IAASkL,GAAUlL,IAAS,MAAQkB,GAAmBlB,CAAI,GAC7D8H,EAAQ,KAAK,aAAa,EACnByG,EAAQvO,CAAI,IAErB8H,EAAQ,QAAQ9H,CAAI,EACbA,IAAS,GAAK4R,EAASzG,EAClC,CAYE,SAASyG,EAAO5R,EAAM,CACpB,OAAIA,IAASkL,GAAUlL,IAAS,IAC9B8H,EAAQ,QAAQ9H,CAAI,EACbmL,GAEFA,EAAOnL,CAAI,CACtB,CACA,CCrIO,SAAS6R,GAAkB/J,EAASC,EAAI,CAE7C,IAAIr7B,EACJ,OAAO2B,EAGP,SAASA,EAAM2xB,EAAM,CACnB,OAAIkB,GAAmBlB,CAAI,GACzB8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EACzBp7B,EAAO,GACA2B,GAEL+yB,GAAcpB,CAAI,EACb6H,GAAaC,EAASz5B,EAAO3B,EAAO,aAAe,YAAY,EAAEszB,CAAI,EAEvE+H,EAAG/H,CAAI,CAClB,CACA,CC1BO,MAAM8R,GAAa,CACxB,KAAM,aACN,SAAUC,EACZ,EAGMC,GAAc,CAClB,QAAS,GACT,SAAUC,EACZ,EAOA,SAASF,GAAmBjK,EAASC,EAAImC,EAAK,CAC5C,MAAMpmC,EAAO,KAEb,IAAIouC,EACJ,OAAO7jC,EAYP,SAASA,EAAM2xB,EAAM,CAInB,OAAA8H,EAAQ,MAAM,YAAY,EACnB1W,EAAO4O,CAAI,CACtB,CAYE,SAAS5O,EAAO4O,EAAM,CAGpB,OAAOsR,GAAa,KAAKxtC,EAAMgkC,EAASqK,EAExCjI,EAAK,kBAAmB,wBAAyB,uBAAuB,EAAElK,CAAI,CAClF,CAYE,SAASmS,EAAWnS,EAAM,CAExB,OADAkS,EAAazR,GAAoB38B,EAAK,eAAeA,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAG,EAAE,CAAC,EACrGk8B,IAAS,IACX8H,EAAQ,MAAM,kBAAkB,EAChCA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,kBAAkB,EACxBsK,GAEFlI,EAAIlK,CAAI,CACnB,CAYE,SAASoS,EAAYpS,EAAM,CAEzB,OAAOmB,GAA0BnB,CAAI,EAAI6R,GAAkB/J,EAASuK,CAAiB,EAAErS,CAAI,EAAIqS,EAAkBrS,CAAI,CACzH,CAYE,SAASqS,EAAkBrS,EAAM,CAC/B,OAAO6Q,GAAmB/I,EAASwK,EAEnCpI,EAAK,wBAAyB,+BAAgC,qCAAsC,2BAA4B,6BAA6B,EAAElK,CAAI,CACvK,CAYE,SAASsS,EAAiBtS,EAAM,CAC9B,OAAO8H,EAAQ,QAAQkK,GAAa5G,EAAOA,CAAK,EAAEpL,CAAI,CAC1D,CAcE,SAASoL,EAAMpL,EAAM,CACnB,OAAOoB,GAAcpB,CAAI,EAAI6H,GAAaC,EAASyK,EAAiB,YAAY,EAAEvS,CAAI,EAAIuS,EAAgBvS,CAAI,CAClH,CAcE,SAASuS,EAAgBvS,EAAM,CAC7B,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,YAAY,EAKzBhkC,EAAK,OAAO,QAAQ,KAAKouC,CAAU,EAK5BnK,EAAG/H,CAAI,GAETkK,EAAIlK,CAAI,CACnB,CACA,CAOA,SAASiS,GAAoBnK,EAASC,EAAImC,EAAK,CAC7C,OAAO8H,EAcP,SAASA,EAAYhS,EAAM,CACzB,OAAOmB,GAA0BnB,CAAI,EAAI6R,GAAkB/J,EAAS0K,CAAY,EAAExS,CAAI,EAAIkK,EAAIlK,CAAI,CACtG,CAaE,SAASwS,EAAaxS,EAAM,CAC1B,OAAO0R,GAAa5J,EAAS2K,EAAYvI,EAAK,kBAAmB,wBAAyB,uBAAuB,EAAElK,CAAI,CAC3H,CAYE,SAASyS,EAAWzS,EAAM,CACxB,OAAOoB,GAAcpB,CAAI,EAAI6H,GAAaC,EAAS4K,EAA8B,YAAY,EAAE1S,CAAI,EAAI0S,EAA6B1S,CAAI,CAC5I,CAYE,SAAS0S,EAA6B1S,EAAM,CAC1C,OAAOA,IAAS,MAAQkB,GAAmBlB,CAAI,EAAI+H,EAAG/H,CAAI,EAAIkK,EAAIlK,CAAI,CAC1E,CACA,CClPO,MAAM2S,GAAkB,CAC7B,KAAM,kBACN,SAAUC,EACZ,EAOA,SAASA,GAAwB9K,EAASC,EAAImC,EAAK,CACjD,OAAO77B,EAaP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,QAAQ9H,CAAI,EACboL,CACX,CAaE,SAASA,EAAMpL,EAAM,CACnB,OAAIkB,GAAmBlB,CAAI,GACzB8H,EAAQ,KAAK,iBAAiB,EACvBC,EAAG/H,CAAI,GAETkK,EAAIlK,CAAI,CACnB,CACA,CC5CO,MAAM6S,GAAa,CACxB,KAAM,aACN,QAASC,GACT,SAAUC,EACZ,EAGA,SAASD,GAAkBha,EAAQpd,EAAS,CAC1C,IAAIg1B,EAAa5X,EAAO,OAAS,EAC7BuP,EAAe,EAEflX,EAEAzC,EAGJ,OAAIoK,EAAOuP,CAAY,EAAE,CAAC,EAAE,OAAS,eACnCA,GAAgB,GAIdqI,EAAa,EAAIrI,GAAgBvP,EAAO4X,CAAU,EAAE,CAAC,EAAE,OAAS,eAClEA,GAAc,GAEZ5X,EAAO4X,CAAU,EAAE,CAAC,EAAE,OAAS,uBAAyBrI,IAAiBqI,EAAa,GAAKA,EAAa,EAAIrI,GAAgBvP,EAAO4X,EAAa,CAAC,EAAE,CAAC,EAAE,OAAS,gBACjKA,GAAcrI,EAAe,IAAMqI,EAAa,EAAI,GAElDA,EAAarI,IACflX,EAAU,CACR,KAAM,iBACN,MAAO2H,EAAOuP,CAAY,EAAE,CAAC,EAAE,MAC/B,IAAKvP,EAAO4X,CAAU,EAAE,CAAC,EAAE,GAC5B,EACDhiB,EAAO,CACL,KAAM,YACN,MAAOoK,EAAOuP,CAAY,EAAE,CAAC,EAAE,MAC/B,IAAKvP,EAAO4X,CAAU,EAAE,CAAC,EAAE,IAC3B,YAAa,MACd,EACDvR,GAAOrG,EAAQuP,EAAcqI,EAAarI,EAAe,EAAG,CAAC,CAAC,QAASlX,EAASzV,CAAO,EAAG,CAAC,QAASgT,EAAMhT,CAAO,EAAG,CAAC,OAAQgT,EAAMhT,CAAO,EAAG,CAAC,OAAQyV,EAASzV,CAAO,CAAC,CAAC,GAEnKod,CACT,CAOA,SAASia,GAAmBjL,EAASC,EAAImC,EAAK,CAC5C,IAAIhC,EAAO,EACX,OAAO75B,EAYP,SAASA,EAAM2xB,EAAM,CAEnB,OAAA8H,EAAQ,MAAM,YAAY,EACnB1W,EAAO4O,CAAI,CACtB,CAYE,SAAS5O,EAAO4O,EAAM,CACpB,OAAA8H,EAAQ,MAAM,oBAAoB,EAC3BuF,EAAarN,CAAI,CAC5B,CAYE,SAASqN,EAAarN,EAAM,CAC1B,OAAIA,IAAS,IAAMkI,IAAS,GAC1BJ,EAAQ,QAAQ9H,CAAI,EACbqN,GAILrN,IAAS,MAAQmB,GAA0BnB,CAAI,GACjD8H,EAAQ,KAAK,oBAAoB,EAC1ByG,EAAQvO,CAAI,GAEdkK,EAAIlK,CAAI,CACnB,CAYE,SAASuO,EAAQvO,EAAM,CACrB,OAAIA,IAAS,IACX8H,EAAQ,MAAM,oBAAoB,EAC3BkL,EAAgBhT,CAAI,GAEzBA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,YAAY,EAIlBC,EAAG/H,CAAI,GAEZoB,GAAcpB,CAAI,EACb6H,GAAaC,EAASyG,EAAS,YAAY,EAAEvO,CAAI,GAK1D8H,EAAQ,MAAM,gBAAgB,EACvBvxB,EAAKypB,CAAI,EACpB,CAcE,SAASgT,EAAgBhT,EAAM,CAC7B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACbgT,IAETlL,EAAQ,KAAK,oBAAoB,EAC1ByG,EAAQvO,CAAI,EACvB,CAYE,SAASzpB,EAAKypB,EAAM,CAClB,OAAIA,IAAS,MAAQA,IAAS,IAAMmB,GAA0BnB,CAAI,GAChE8H,EAAQ,KAAK,gBAAgB,EACtByG,EAAQvO,CAAI,IAErB8H,EAAQ,QAAQ9H,CAAI,EACbzpB,EACX,CACA,CCnLO,MAAM08B,GAAiB,CAC5B,UACA,UACA,QACA,OACA,WACA,aACA,OACA,UACA,SACA,MACA,WACA,KACA,UACA,SACA,MACA,MACA,KACA,KACA,WACA,aACA,SACA,SACA,OACA,QACA,WACA,KACA,KACA,KACA,KACA,KACA,KACA,OACA,SACA,KACA,OACA,SACA,SACA,KACA,OACA,OACA,OACA,WACA,MACA,WACA,KACA,WACA,SACA,IACA,QACA,SACA,UACA,UACA,QACA,QACA,KACA,QACA,KACA,QACA,QACA,KACA,QACA,IACF,EAcaC,GAAe,CAAC,MAAO,SAAU,QAAS,UAAU,EC5EpDC,GAAW,CACtB,SAAU,GACV,KAAM,WACN,UAAWC,GACX,SAAUC,EACZ,EAGMC,GAAkB,CACtB,QAAS,GACT,SAAUC,EACZ,EACMC,GAA2B,CAC/B,QAAS,GACT,SAAUC,EACZ,EAGA,SAASL,GAAkBta,EAAQ,CACjC,IAAIr0B,EAAQq0B,EAAO,OACnB,KAAOr0B,KACD,EAAAq0B,EAAOr0B,CAAK,EAAE,CAAC,IAAM,SAAWq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,aAA9D,CAIF,OAAIA,EAAQ,GAAKq0B,EAAOr0B,EAAQ,CAAC,EAAE,CAAC,EAAE,OAAS,eAE7Cq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,MAAQq0B,EAAOr0B,EAAQ,CAAC,EAAE,CAAC,EAAE,MAE9Cq0B,EAAOr0B,EAAQ,CAAC,EAAE,CAAC,EAAE,MAAQq0B,EAAOr0B,EAAQ,CAAC,EAAE,CAAC,EAAE,MAElDq0B,EAAO,OAAOr0B,EAAQ,EAAG,CAAC,GAErBq0B,CACT,CAOA,SAASua,GAAiBvL,EAASC,EAAImC,EAAK,CAC1C,MAAMpmC,EAAO,KAEb,IAAIonC,EAEAwI,EAEA7Q,EAEAp+B,EAEAkvC,EACJ,OAAOtlC,EAYP,SAASA,EAAM2xB,EAAM,CAEnB,OAAO5O,EAAO4O,CAAI,CACtB,CAYE,SAAS5O,EAAO4O,EAAM,CACpB,OAAA8H,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,cAAc,EAC5BA,EAAQ,QAAQ9H,CAAI,EACbyK,CACX,CAgBE,SAASA,EAAKzK,EAAM,CAClB,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb4T,GAEL5T,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpB0T,EAAa,GACNG,GAEL7T,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBkL,EAAS,EAMFpnC,EAAK,UAAYikC,EAAK+L,GAI3BpT,GAAWV,CAAI,GAEjB8H,EAAQ,QAAQ9H,CAAI,EACpB6C,EAAS,OAAO,aAAa7C,CAAI,EAC1B+T,GAEF7J,EAAIlK,CAAI,CACnB,CAgBE,SAAS4T,EAAgB5T,EAAM,CAC7B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBkL,EAAS,EACF8I,GAELhU,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBkL,EAAS,EACTzmC,EAAQ,EACDwvC,GAILvT,GAAWV,CAAI,GACjB8H,EAAQ,QAAQ9H,CAAI,EACpBkL,EAAS,EAGFpnC,EAAK,UAAYikC,EAAK+L,GAExB5J,EAAIlK,CAAI,CACnB,CAYE,SAASgU,EAAkBhU,EAAM,CAC/B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EAGbl8B,EAAK,UAAYikC,EAAK+L,GAExB5J,EAAIlK,CAAI,CACnB,CAYE,SAASiU,EAAgBjU,EAAM,CAC7B,MAAMjmC,GAAQ,SACd,OAAIimC,IAASjmC,GAAM,WAAW0K,GAAO,GACnCqjC,EAAQ,QAAQ9H,CAAI,EAChBv7B,IAAU1K,GAAM,OAGX+J,EAAK,UAAYikC,EAAKmM,EAExBD,GAEF/J,EAAIlK,CAAI,CACnB,CAYE,SAAS6T,EAAc7T,EAAM,CAC3B,OAAIU,GAAWV,CAAI,GAEjB8H,EAAQ,QAAQ9H,CAAI,EACpB6C,EAAS,OAAO,aAAa7C,CAAI,EAC1B+T,GAEF7J,EAAIlK,CAAI,CACnB,CAcE,SAAS+T,EAAQ/T,EAAM,CACrB,GAAIA,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMmB,GAA0BnB,CAAI,EAAG,CAClF,MAAMgC,GAAQhC,IAAS,GACjBzjC,GAAOsmC,EAAO,YAAa,EACjC,MAAI,CAACb,IAAS,CAAC0R,GAAcR,GAAa,SAAS32C,EAAI,GACrD2uC,EAAS,EAGFpnC,EAAK,UAAYikC,EAAG/H,CAAI,EAAIkU,EAAalU,CAAI,GAElDiT,GAAe,SAASpQ,EAAO,YAAa,IAC9CqI,EAAS,EACLlJ,IACF8F,EAAQ,QAAQ9H,CAAI,EACbmU,GAKFrwC,EAAK,UAAYikC,EAAG/H,CAAI,EAAIkU,EAAalU,CAAI,IAEtDkL,EAAS,EAEFpnC,EAAK,WAAa,CAACA,EAAK,OAAO,KAAKA,EAAK,IAAK,EAAC,IAAI,EAAIomC,EAAIlK,CAAI,EAAI0T,EAAaU,EAAwBpU,CAAI,EAAIqU,EAA4BrU,CAAI,EAC7J,CAGI,OAAIA,IAAS,IAAMY,GAAkBZ,CAAI,GACvC8H,EAAQ,QAAQ9H,CAAI,EACpB6C,GAAU,OAAO,aAAa7C,CAAI,EAC3B+T,GAEF7J,EAAIlK,CAAI,CACnB,CAYE,SAASmU,EAAiBnU,EAAM,CAC9B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EAGbl8B,EAAK,UAAYikC,EAAKmM,GAExBhK,EAAIlK,CAAI,CACnB,CAYE,SAASoU,EAAwBpU,EAAM,CACrC,OAAIoB,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACboU,GAEFE,EAAYtU,CAAI,CAC3B,CAyBE,SAASqU,EAA4BrU,EAAM,CACzC,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACbsU,GAILtU,IAAS,IAAMA,IAAS,IAAMU,GAAWV,CAAI,GAC/C8H,EAAQ,QAAQ9H,CAAI,EACbuU,GAELnT,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACbqU,GAEFC,EAAYtU,CAAI,CAC3B,CAgBE,SAASuU,EAAsBvU,EAAM,CAEnC,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMY,GAAkBZ,CAAI,GACpF8H,EAAQ,QAAQ9H,CAAI,EACbuU,GAEFC,EAA2BxU,CAAI,CAC1C,CAeE,SAASwU,EAA2BxU,EAAM,CACxC,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACbyU,GAELrT,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACbwU,GAEFH,EAA4BrU,CAAI,CAC3C,CAeE,SAASyU,EAA6BzU,EAAM,CAC1C,OAAIA,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,GAClEkK,EAAIlK,CAAI,EAEbA,IAAS,IAAMA,IAAS,IAC1B8H,EAAQ,QAAQ9H,CAAI,EACpB2T,EAAU3T,EACH0U,GAELtT,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACbyU,GAEFE,EAA+B3U,CAAI,CAC9C,CAcE,SAAS0U,EAA6B1U,EAAM,CAC1C,OAAIA,IAAS2T,GACX7L,EAAQ,QAAQ9H,CAAI,EACpB2T,EAAU,KACHiB,IAEL5U,IAAS,MAAQkB,GAAmBlB,CAAI,EACnCkK,EAAIlK,CAAI,GAEjB8H,EAAQ,QAAQ9H,CAAI,EACb0U,EACX,CAYE,SAASC,EAA+B3U,EAAM,CAC5C,OAAIA,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMmB,GAA0BnB,CAAI,EACnJwU,EAA2BxU,CAAI,GAExC8H,EAAQ,QAAQ9H,CAAI,EACb2U,EACX,CAaE,SAASC,GAAkC5U,EAAM,CAC/C,OAAIA,IAAS,IAAMA,IAAS,IAAMoB,GAAcpB,CAAI,EAC3CqU,EAA4BrU,CAAI,EAElCkK,EAAIlK,CAAI,CACnB,CAYE,SAASsU,EAAYtU,EAAM,CACzB,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb6U,GAEF3K,EAAIlK,CAAI,CACnB,CAYE,SAAS6U,EAAc7U,EAAM,CAC3B,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,EAGnCkU,EAAalU,CAAI,EAEtBoB,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACb6U,GAEF3K,EAAIlK,CAAI,CACnB,CAYE,SAASkU,EAAalU,EAAM,CAC1B,OAAIA,IAAS,IAAMkL,IAAW,GAC5BpD,EAAQ,QAAQ9H,CAAI,EACb8U,IAEL9U,IAAS,IAAMkL,IAAW,GAC5BpD,EAAQ,QAAQ9H,CAAI,EACb+U,IAEL/U,IAAS,IAAMkL,IAAW,GAC5BpD,EAAQ,QAAQ9H,CAAI,EACbgV,GAELhV,IAAS,IAAMkL,IAAW,GAC5BpD,EAAQ,QAAQ9H,CAAI,EACb8T,GAEL9T,IAAS,IAAMkL,IAAW,GAC5BpD,EAAQ,QAAQ9H,CAAI,EACbiV,IAEL/T,GAAmBlB,CAAI,IAAMkL,IAAW,GAAKA,IAAW,IAC1DpD,EAAQ,KAAK,cAAc,EACpBA,EAAQ,MAAMwL,GAAiB4B,EAAmBC,EAAiB,EAAEnV,CAAI,GAE9EA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,cAAc,EACpBqN,GAAkBnV,CAAI,IAE/B8H,EAAQ,QAAQ9H,CAAI,EACbkU,EACX,CAaE,SAASiB,GAAkBnV,EAAM,CAC/B,OAAO8H,EAAQ,MAAM0L,GAA0B4B,GAA0BF,CAAiB,EAAElV,CAAI,CACpG,CAaE,SAASoV,GAAyBpV,EAAM,CACtC,OAAA8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBuN,EACX,CAaE,SAASA,GAAmBrV,EAAM,CAChC,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,EACnCmV,GAAkBnV,CAAI,GAE/B8H,EAAQ,MAAM,cAAc,EACrBoM,EAAalU,CAAI,EAC5B,CAYE,SAAS8U,GAA0B9U,EAAM,CACvC,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb8T,GAEFI,EAAalU,CAAI,CAC5B,CAYE,SAAS+U,GAAuB/U,EAAM,CACpC,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpB6C,EAAS,GACFyS,IAEFpB,EAAalU,CAAI,CAC5B,CAYE,SAASsV,GAAsBtV,EAAM,CACnC,GAAIA,IAAS,GAAI,CACf,MAAMzjC,GAAOsmC,EAAO,YAAa,EACjC,OAAIqQ,GAAa,SAAS32C,EAAI,GAC5BurC,EAAQ,QAAQ9H,CAAI,EACbgV,GAEFd,EAAalU,CAAI,CAC9B,CACI,OAAIU,GAAWV,CAAI,GAAK6C,EAAO,OAAS,GAEtCiF,EAAQ,QAAQ9H,CAAI,EACpB6C,GAAU,OAAO,aAAa7C,CAAI,EAC3BsV,IAEFpB,EAAalU,CAAI,CAC5B,CAYE,SAASiV,GAAwBjV,EAAM,CACrC,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb8T,GAEFI,EAAalU,CAAI,CAC5B,CAoBE,SAAS8T,EAA8B9T,EAAM,CAC3C,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACbgV,GAILhV,IAAS,IAAMkL,IAAW,GAC5BpD,EAAQ,QAAQ9H,CAAI,EACb8T,GAEFI,EAAalU,CAAI,CAC5B,CAYE,SAASgV,EAAkBhV,EAAM,CAC/B,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,cAAc,EACpBoN,EAAkBlV,CAAI,IAE/B8H,EAAQ,QAAQ9H,CAAI,EACbgV,EACX,CAYE,SAASE,EAAkBlV,EAAM,CAC/B,OAAA8H,EAAQ,KAAK,UAAU,EAKhBC,EAAG/H,CAAI,CAClB,CACA,CAOA,SAASyT,GAAiC3L,EAASC,EAAImC,EAAK,CAC1D,MAAMpmC,EAAO,KACb,OAAOuK,EAaP,SAASA,EAAM2xB,EAAM,CACnB,OAAIkB,GAAmBlB,CAAI,GACzB8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBsD,GAEFlB,EAAIlK,CAAI,CACnB,CAaE,SAASoL,EAAMpL,EAAM,CACnB,OAAOl8B,EAAK,OAAO,KAAKA,EAAK,IAAG,EAAG,IAAI,EAAIomC,EAAIlK,CAAI,EAAI+H,EAAG/H,CAAI,CAClE,CACA,CAOA,SAASuT,GAAwBzL,EAASC,EAAImC,EAAK,CACjD,OAAO77B,EAaP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBA,EAAQ,QAAQiE,GAAWhE,EAAImC,CAAG,CAC7C,CACA,CC91BO,MAAMqL,GAAW,CACtB,KAAM,WACN,SAAUC,EACZ,EAOA,SAASA,GAAiB1N,EAASC,EAAImC,EAAK,CAC1C,MAAMpmC,EAAO,KAEb,IAAIonC,EAEAzmC,EAEAgxC,EACJ,OAAOpnC,EAYP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,cAAc,EAC5BA,EAAQ,QAAQ9H,CAAI,EACbyK,CACX,CAgBE,SAASA,EAAKzK,EAAM,CAClB,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb4T,GAEL5T,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb6T,GAEL7T,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb0V,GAILhV,GAAWV,CAAI,GACjB8H,EAAQ,QAAQ9H,CAAI,EACb2V,GAEFzL,EAAIlK,CAAI,CACnB,CAgBE,SAAS4T,EAAgB5T,EAAM,CAC7B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACbgU,GAELhU,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpBv7B,EAAQ,EACDwvC,GAELvT,GAAWV,CAAI,GACjB8H,EAAQ,QAAQ9H,CAAI,EACb4V,GAEF1L,EAAIlK,CAAI,CACnB,CAYE,SAASgU,EAAkBhU,EAAM,CAC/B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb6V,GAEF3L,EAAIlK,CAAI,CACnB,CAYE,SAAS8V,EAAQ9V,EAAM,CACrB,OAAIA,IAAS,KACJkK,EAAIlK,CAAI,EAEbA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb+V,GAEL7U,GAAmBlB,CAAI,GACzByV,EAAcK,EACPE,GAAiBhW,CAAI,IAE9B8H,EAAQ,QAAQ9H,CAAI,EACb8V,EACX,CAYE,SAASC,EAAa/V,EAAM,CAC1B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb6V,GAEFC,EAAQ9V,CAAI,CACvB,CAYE,SAAS6V,EAAW7V,EAAM,CACxB,OAAOA,IAAS,GAAK1xB,GAAI0xB,CAAI,EAAIA,IAAS,GAAK+V,EAAa/V,CAAI,EAAI8V,EAAQ9V,CAAI,CACpF,CAYE,SAASiU,EAAgBjU,EAAM,CAC7B,MAAMjmC,EAAQ,SACd,OAAIimC,IAASjmC,EAAM,WAAW0K,GAAO,GACnCqjC,EAAQ,QAAQ9H,CAAI,EACbv7B,IAAU1K,EAAM,OAASk8C,EAAQhC,GAEnC/J,EAAIlK,CAAI,CACnB,CAYE,SAASiW,EAAMjW,EAAM,CACnB,OAAIA,IAAS,KACJkK,EAAIlK,CAAI,EAEbA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACbkW,GAELhV,GAAmBlB,CAAI,GACzByV,EAAcQ,EACPD,GAAiBhW,CAAI,IAE9B8H,EAAQ,QAAQ9H,CAAI,EACbiW,EACX,CAYE,SAASC,EAAWlW,EAAM,CACxB,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACbmW,GAEFF,EAAMjW,CAAI,CACrB,CAYE,SAASmW,EAASnW,EAAM,CACtB,OAAIA,IAAS,GACJ1xB,GAAI0xB,CAAI,EAEbA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACbmW,GAEFF,EAAMjW,CAAI,CACrB,CAYE,SAAS4V,EAAY5V,EAAM,CACzB,OAAIA,IAAS,MAAQA,IAAS,GACrB1xB,GAAI0xB,CAAI,EAEbkB,GAAmBlB,CAAI,GACzByV,EAAcG,EACPI,GAAiBhW,CAAI,IAE9B8H,EAAQ,QAAQ9H,CAAI,EACb4V,EACX,CAYE,SAASF,EAAY1V,EAAM,CACzB,OAAIA,IAAS,KACJkK,EAAIlK,CAAI,EAEbA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACboW,GAELlV,GAAmBlB,CAAI,GACzByV,EAAcC,EACPM,GAAiBhW,CAAI,IAE9B8H,EAAQ,QAAQ9H,CAAI,EACb0V,EACX,CAYE,SAASU,EAAiBpW,EAAM,CAC9B,OAAOA,IAAS,GAAK1xB,GAAI0xB,CAAI,EAAI0V,EAAY1V,CAAI,CACrD,CAYE,SAAS6T,EAAc7T,EAAM,CAE3B,OAAIU,GAAWV,CAAI,GACjB8H,EAAQ,QAAQ9H,CAAI,EACbqW,GAEFnM,EAAIlK,CAAI,CACnB,CAYE,SAASqW,EAASrW,EAAM,CAEtB,OAAIA,IAAS,IAAMY,GAAkBZ,CAAI,GACvC8H,EAAQ,QAAQ9H,CAAI,EACbqW,GAEFC,EAAgBtW,CAAI,CAC/B,CAYE,SAASsW,EAAgBtW,EAAM,CAC7B,OAAIkB,GAAmBlB,CAAI,GACzByV,EAAca,EACPN,GAAiBhW,CAAI,GAE1BoB,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACbsW,GAEFhoC,GAAI0xB,CAAI,CACnB,CAYE,SAAS2V,EAAQ3V,EAAM,CAErB,OAAIA,IAAS,IAAMY,GAAkBZ,CAAI,GACvC8H,EAAQ,QAAQ9H,CAAI,EACb2V,GAEL3V,IAAS,IAAMA,IAAS,IAAMmB,GAA0BnB,CAAI,EACvDuW,GAAevW,CAAI,EAErBkK,EAAIlK,CAAI,CACnB,CAYE,SAASuW,GAAevW,EAAM,CAC5B,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb1xB,IAIL0xB,IAAS,IAAMA,IAAS,IAAMU,GAAWV,CAAI,GAC/C8H,EAAQ,QAAQ9H,CAAI,EACbwW,GAELtV,GAAmBlB,CAAI,GACzByV,EAAcc,GACPP,GAAiBhW,CAAI,GAE1BoB,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACbuW,IAEFjoC,GAAI0xB,CAAI,CACnB,CAYE,SAASwW,EAAqBxW,EAAM,CAElC,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMY,GAAkBZ,CAAI,GACpF8H,EAAQ,QAAQ9H,CAAI,EACbwW,GAEFC,EAA0BzW,CAAI,CACzC,CAaE,SAASyW,EAA0BzW,EAAM,CACvC,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACb0W,GAELxV,GAAmBlB,CAAI,GACzByV,EAAcgB,EACPT,GAAiBhW,CAAI,GAE1BoB,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACbyW,GAEFF,GAAevW,CAAI,CAC9B,CAaE,SAAS0W,EAA4B1W,EAAM,CACzC,OAAIA,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,GAClEkK,EAAIlK,CAAI,EAEbA,IAAS,IAAMA,IAAS,IAC1B8H,EAAQ,QAAQ9H,CAAI,EACpBkL,EAASlL,EACF2W,IAELzV,GAAmBlB,CAAI,GACzByV,EAAciB,EACPV,GAAiBhW,CAAI,GAE1BoB,GAAcpB,CAAI,GACpB8H,EAAQ,QAAQ9H,CAAI,EACb0W,IAET5O,EAAQ,QAAQ9H,CAAI,EACb4W,GACX,CAYE,SAASD,GAA4B3W,EAAM,CACzC,OAAIA,IAASkL,GACXpD,EAAQ,QAAQ9H,CAAI,EACpBkL,EAAS,OACF2L,IAEL7W,IAAS,KACJkK,EAAIlK,CAAI,EAEbkB,GAAmBlB,CAAI,GACzByV,EAAckB,GACPX,GAAiBhW,CAAI,IAE9B8H,EAAQ,QAAQ9H,CAAI,EACb2W,GACX,CAYE,SAASC,GAA8B5W,EAAM,CAC3C,OAAIA,IAAS,MAAQA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,IAAMA,IAAS,GACjFkK,EAAIlK,CAAI,EAEbA,IAAS,IAAMA,IAAS,IAAMmB,GAA0BnB,CAAI,EACvDuW,GAAevW,CAAI,GAE5B8H,EAAQ,QAAQ9H,CAAI,EACb4W,GACX,CAaE,SAASC,GAAiC7W,EAAM,CAC9C,OAAIA,IAAS,IAAMA,IAAS,IAAMmB,GAA0BnB,CAAI,EACvDuW,GAAevW,CAAI,EAErBkK,EAAIlK,CAAI,CACnB,CAYE,SAAS1xB,GAAI0xB,EAAM,CACjB,OAAIA,IAAS,IACX8H,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,KAAK,UAAU,EAChBC,GAEFmC,EAAIlK,CAAI,CACnB,CAgBE,SAASgW,GAAiBhW,EAAM,CAC9B,OAAA8H,EAAQ,KAAK,cAAc,EAC3BA,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBgP,EACX,CAgBE,SAASA,GAAgB9W,EAAM,CAG7B,OAAOoB,GAAcpB,CAAI,EAAI6H,GAAaC,EAASiP,GAAuB,aAAcjzC,EAAK,OAAO,WAAW,QAAQ,KAAK,SAAS,cAAc,EAAI,OAAY,CAAC,EAAEk8B,CAAI,EAAI+W,GAAsB/W,CAAI,CAC5M,CAgBE,SAAS+W,GAAsB/W,EAAM,CACnC,OAAA8H,EAAQ,MAAM,cAAc,EACrB2N,EAAYzV,CAAI,CAC3B,CACA,CChpBO,MAAMgX,GAAW,CACtB,KAAM,WACN,WAAYC,GACZ,UAAWC,GACX,SAAUC,EACZ,EAGMC,GAAoB,CACxB,SAAUC,EACZ,EAEMC,GAAyB,CAC7B,SAAUC,EACZ,EAEMC,GAA8B,CAClC,SAAUC,EACZ,EAGA,SAASR,GAAmBne,EAAQ,CAClC,IAAIr0B,EAAQ,GAEZ,MAAMizC,EAAY,CAAE,EACpB,KAAO,EAAEjzC,EAAQq0B,EAAO,QAAQ,CAC9B,MAAMyO,EAAQzO,EAAOr0B,CAAK,EAAE,CAAC,EAE7B,GADAizC,EAAU,KAAK5e,EAAOr0B,CAAK,CAAC,EACxB8iC,EAAM,OAAS,cAAgBA,EAAM,OAAS,aAAeA,EAAM,OAAS,WAAY,CAE1F,MAAMwD,EAASxD,EAAM,OAAS,aAAe,EAAI,EACjDA,EAAM,KAAO,OACb9iC,GAASsmC,CACf,CACA,CAGE,OAAIjS,EAAO,SAAW4e,EAAU,QAC9BvY,GAAOrG,EAAQ,EAAGA,EAAO,OAAQ4e,CAAS,EAErC5e,CACT,CAGA,SAASoe,GAAkBpe,EAAQpd,EAAS,CAC1C,IAAIjX,EAAQq0B,EAAO,OACfiS,EAAS,EAETxD,EAEAkD,EAEAY,EAEA3D,EAGJ,KAAOjjC,KAEL,GADA8iC,EAAQzO,EAAOr0B,CAAK,EAAE,CAAC,EACnBgmC,EAAM,CAER,GAAIlD,EAAM,OAAS,QAAUA,EAAM,OAAS,aAAeA,EAAM,UAC/D,MAKEzO,EAAOr0B,CAAK,EAAE,CAAC,IAAM,SAAW8iC,EAAM,OAAS,cACjDA,EAAM,UAAY,GAErB,SAAU8D,GACT,GAAIvS,EAAOr0B,CAAK,EAAE,CAAC,IAAM,UAAY8iC,EAAM,OAAS,cAAgBA,EAAM,OAAS,cAAgB,CAACA,EAAM,YACxGkD,EAAOhmC,EACH8iC,EAAM,OAAS,aAAa,CAC9BwD,EAAS,EACT,KACV,OAEexD,EAAM,OAAS,aACxB8D,EAAQ5mC,GAGZ,MAAMimC,EAAQ,CACZ,KAAM5R,EAAO2R,CAAI,EAAE,CAAC,EAAE,OAAS,YAAc,OAAS,QACtD,MAAO,CACL,GAAG3R,EAAO2R,CAAI,EAAE,CAAC,EAAE,KACpB,EACD,IAAK,CACH,GAAG3R,EAAOA,EAAO,OAAS,CAAC,EAAE,CAAC,EAAE,GACtC,CACG,EACK6e,EAAQ,CACZ,KAAM,QACN,MAAO,CACL,GAAG7e,EAAO2R,CAAI,EAAE,CAAC,EAAE,KACpB,EACD,IAAK,CACH,GAAG3R,EAAOuS,CAAK,EAAE,CAAC,EAAE,GAC1B,CACG,EACK3c,EAAO,CACX,KAAM,YACN,MAAO,CACL,GAAGoK,EAAO2R,EAAOM,EAAS,CAAC,EAAE,CAAC,EAAE,GACjC,EACD,IAAK,CACH,GAAGjS,EAAOuS,EAAQ,CAAC,EAAE,CAAC,EAAE,KAC9B,CACG,EACD,OAAA3D,EAAQ,CAAC,CAAC,QAASgD,EAAOhvB,CAAO,EAAG,CAAC,QAASi8B,EAAOj8B,CAAO,CAAC,EAG7DgsB,EAAQlI,GAAKkI,EAAO5O,EAAO,MAAM2R,EAAO,EAAGA,EAAOM,EAAS,CAAC,CAAC,EAG7DrD,EAAQlI,GAAKkI,EAAO,CAAC,CAAC,QAAShZ,EAAMhT,CAAO,CAAC,CAAC,EAK9CgsB,EAAQlI,GAAKkI,EAAO0C,GAAW1uB,EAAQ,OAAO,WAAW,WAAW,KAAMod,EAAO,MAAM2R,EAAOM,EAAS,EAAGM,EAAQ,CAAC,EAAG3vB,CAAO,CAAC,EAG9HgsB,EAAQlI,GAAKkI,EAAO,CAAC,CAAC,OAAQhZ,EAAMhT,CAAO,EAAGod,EAAOuS,EAAQ,CAAC,EAAGvS,EAAOuS,EAAQ,CAAC,EAAG,CAAC,OAAQsM,EAAOj8B,CAAO,CAAC,CAAC,EAG7GgsB,EAAQlI,GAAKkI,EAAO5O,EAAO,MAAMuS,EAAQ,CAAC,CAAC,EAG3C3D,EAAQlI,GAAKkI,EAAO,CAAC,CAAC,OAAQgD,EAAOhvB,CAAO,CAAC,CAAC,EAC9CyjB,GAAOrG,EAAQ2R,EAAM3R,EAAO,OAAQ4O,CAAK,EAClC5O,CACT,CAOA,SAASqe,GAAiBrP,EAASC,EAAImC,EAAK,CAC1C,MAAMpmC,EAAO,KACb,IAAIW,EAAQX,EAAK,OAAO,OAEpB8zC,EAEAC,EAGJ,KAAOpzC,KACL,IAAKX,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,OAAS,cAAgBX,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,OAAS,cAAgB,CAACX,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,UAAW,CACnImzC,EAAa9zC,EAAK,OAAOW,CAAK,EAAE,CAAC,EACjC,KACN,CAEE,OAAO4J,EAiBP,SAASA,EAAM2xB,EAAM,CAEnB,OAAK4X,EAaDA,EAAW,UACNE,EAAY9X,CAAI,GAEzB6X,EAAU/zC,EAAK,OAAO,QAAQ,SAAS28B,GAAoB38B,EAAK,eAAe,CAC7E,MAAO8zC,EAAW,IAClB,IAAK9zC,EAAK,IAAG,CACd,EAAC,CAAC,EACHgkC,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,aAAa,EAC3BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,UAAU,EAChBsD,GAxBElB,EAAIlK,CAAI,CAyBrB,CAkBE,SAASoL,EAAMpL,EAAM,CAKnB,OAAIA,IAAS,GACJ8H,EAAQ,QAAQsP,GAAmBW,EAAYF,EAAUE,EAAaD,CAAW,EAAE9X,CAAI,EAI5FA,IAAS,GACJ8H,EAAQ,QAAQwP,GAAwBS,EAAYF,EAAUG,EAAmBF,CAAW,EAAE9X,CAAI,EAIpG6X,EAAUE,EAAW/X,CAAI,EAAI8X,EAAY9X,CAAI,CACxD,CAgBE,SAASgY,EAAiBhY,EAAM,CAC9B,OAAO8H,EAAQ,QAAQ0P,GAA6BO,EAAYD,CAAW,EAAE9X,CAAI,CACrF,CAkBE,SAAS+X,EAAW/X,EAAM,CAExB,OAAO+H,EAAG/H,CAAI,CAClB,CAkBE,SAAS8X,EAAY9X,EAAM,CACzB,OAAA4X,EAAW,UAAY,GAChB1N,EAAIlK,CAAI,CACnB,CACA,CAOA,SAASqX,GAAiBvP,EAASC,EAAImC,EAAK,CAC1C,OAAO+N,EAYP,SAASA,EAAcjY,EAAM,CAC3B,OAAA8H,EAAQ,MAAM,UAAU,EACxBA,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,gBAAgB,EACtBoQ,CACX,CAYE,SAASA,EAAelY,EAAM,CAC5B,OAAOmB,GAA0BnB,CAAI,EAAI6R,GAAkB/J,EAASqQ,CAAY,EAAEnY,CAAI,EAAImY,EAAanY,CAAI,CAC/G,CAYE,SAASmY,EAAanY,EAAM,CAC1B,OAAIA,IAAS,GACJoY,EAAYpY,CAAI,EAElB6Q,GAAmB/I,EAASuQ,EAA0BC,EAA4B,sBAAuB,6BAA8B,mCAAoC,yBAA0B,4BAA6B,EAAE,EAAEtY,CAAI,CACrP,CAYE,SAASqY,EAAyBrY,EAAM,CACtC,OAAOmB,GAA0BnB,CAAI,EAAI6R,GAAkB/J,EAASyQ,CAAe,EAAEvY,CAAI,EAAIoY,EAAYpY,CAAI,CACjH,CAYE,SAASsY,EAA2BtY,EAAM,CACxC,OAAOkK,EAAIlK,CAAI,CACnB,CAYE,SAASuY,EAAgBvY,EAAM,CAC7B,OAAIA,IAAS,IAAMA,IAAS,IAAMA,IAAS,GAClC0R,GAAa5J,EAAS0Q,EAAoBtO,EAAK,gBAAiB,sBAAuB,qBAAqB,EAAElK,CAAI,EAEpHoY,EAAYpY,CAAI,CAC3B,CAYE,SAASwY,EAAmBxY,EAAM,CAChC,OAAOmB,GAA0BnB,CAAI,EAAI6R,GAAkB/J,EAASsQ,CAAW,EAAEpY,CAAI,EAAIoY,EAAYpY,CAAI,CAC7G,CAYE,SAASoY,EAAYpY,EAAM,CACzB,OAAIA,IAAS,IACX8H,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,gBAAgB,EAC7BA,EAAQ,KAAK,UAAU,EAChBC,GAEFmC,EAAIlK,CAAI,CACnB,CACA,CAOA,SAASuX,GAAsBzP,EAASC,EAAImC,EAAK,CAC/C,MAAMpmC,EAAO,KACb,OAAO20C,EAYP,SAASA,EAAczY,EAAM,CAC3B,OAAOsR,GAAa,KAAKxtC,EAAMgkC,EAAS4Q,EAAoBC,EAAsB,YAAa,kBAAmB,iBAAiB,EAAE3Y,CAAI,CAC7I,CAYE,SAAS0Y,EAAmB1Y,EAAM,CAChC,OAAOl8B,EAAK,OAAO,QAAQ,SAAS28B,GAAoB38B,EAAK,eAAeA,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,EAAG,EAAE,CAAC,CAAC,EAAIikC,EAAG/H,CAAI,EAAIkK,EAAIlK,CAAI,CAC5J,CAYE,SAAS2Y,EAAqB3Y,EAAM,CAClC,OAAOkK,EAAIlK,CAAI,CACnB,CACA,CAOA,SAASyX,GAA2B3P,EAASC,EAAImC,EAAK,CACpD,OAAO0O,EAcP,SAASA,EAAwB5Y,EAAM,CAGrC,OAAA8H,EAAQ,MAAM,WAAW,EACzBA,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,iBAAiB,EACvB+Q,CACX,CAcE,SAASA,EAAuB7Y,EAAM,CACpC,OAAIA,IAAS,IACX8H,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,iBAAiB,EAC9BA,EAAQ,KAAK,WAAW,EACjBC,GAEFmC,EAAIlK,CAAI,CACnB,CACA,CCniBO,MAAM8Y,GAAkB,CAC7B,KAAM,kBACN,WAAY9B,GAAS,WACrB,SAAU+B,EACZ,EAOA,SAASA,GAAwBjR,EAASC,EAAImC,EAAK,CACjD,MAAMpmC,EAAO,KACb,OAAOuK,EAYP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,MAAM,kBAAkB,EAChCA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,kBAAkB,EACxB2C,CACX,CAYE,SAASA,EAAKzK,EAAM,CAClB,OAAIA,IAAS,IACX8H,EAAQ,MAAM,aAAa,EAC3BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,YAAY,EAClBsD,GAEFlB,EAAIlK,CAAI,CACnB,CA6BE,SAASoL,EAAMpL,EAAM,CAMnB,OAAOA,IAAS,IAAM,2BAA4Bl8B,EAAK,OAAO,WAAaomC,EAAIlK,CAAI,EAAI+H,EAAG/H,CAAI,CAClG,CACA,CCzFO,MAAMgZ,GAAiB,CAC5B,KAAM,iBACN,WAAYhC,GAAS,WACrB,SAAUiC,EACZ,EAOA,SAASA,GAAuBnR,EAASC,EAAImC,EAAK,CAChD,MAAMpmC,EAAO,KACb,OAAOuK,EAYP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,WAAW,EACzBA,EAAQ,MAAM,aAAa,EAC3BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,aAAa,EAC1BA,EAAQ,KAAK,WAAW,EACjBsD,CACX,CAGE,SAASA,EAAMpL,EAAM,CAKnB,OAAOA,IAAS,IAAM,2BAA4Bl8B,EAAK,OAAO,WAAaomC,EAAIlK,CAAI,EAAI+H,EAAG/H,CAAI,CAClG,CACA,CC1CO,MAAMoH,GAAa,CACxB,KAAM,aACN,SAAU8R,EACZ,EAOA,SAASA,GAAmBpR,EAASC,EAAI,CACvC,OAAO15B,EAGP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EAClBD,GAAaC,EAASC,EAAI,YAAY,CACjD,CACA,CCnBO,MAAMoR,GAAgB,CAC3B,KAAM,gBACN,SAAUC,EACZ,EAOA,SAASA,GAAsBtR,EAASC,EAAImC,EAAK,CAC/C,IAAIhC,EAAO,EAEPgD,EACJ,OAAO78B,EAYP,SAASA,EAAM2xB,EAAM,CACnB,OAAA8H,EAAQ,MAAM,eAAe,EAEtB1W,EAAO4O,CAAI,CACtB,CAYE,SAAS5O,EAAO4O,EAAM,CACpB,OAAAkL,EAASlL,EACFuO,EAAQvO,CAAI,CACvB,CAYE,SAASuO,EAAQvO,EAAM,CACrB,OAAIA,IAASkL,GACXpD,EAAQ,MAAM,uBAAuB,EAC9BuR,EAASrZ,CAAI,GAElBkI,GAAQ,IAAMlI,IAAS,MAAQkB,GAAmBlB,CAAI,IACxD8H,EAAQ,KAAK,eAAe,EACrBC,EAAG/H,CAAI,GAETkK,EAAIlK,CAAI,CACnB,CAYE,SAASqZ,EAASrZ,EAAM,CACtB,OAAIA,IAASkL,GACXpD,EAAQ,QAAQ9H,CAAI,EACpBkI,IACOmR,IAETvR,EAAQ,KAAK,uBAAuB,EAC7B1G,GAAcpB,CAAI,EAAI6H,GAAaC,EAASyG,EAAS,YAAY,EAAEvO,CAAI,EAAIuO,EAAQvO,CAAI,EAClG,CACA,CCpFO,MAAMZ,GAAO,CAClB,aAAc,CACZ,SAAUka,EACX,EACD,KAAMC,GACN,KAAM,OACN,SAAUC,EACZ,EAGMC,GAAoC,CACxC,QAAS,GACT,SAAUC,EACZ,EAGMC,GAAkB,CACtB,QAAS,GACT,SAAUC,EACZ,EAUA,SAASJ,GAAkB1R,EAASC,EAAImC,EAAK,CAC3C,MAAMpmC,EAAO,KACP1D,EAAO0D,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAC/C,IAAIk6B,EAAc59B,GAAQA,EAAK,CAAC,EAAE,OAAS,aAAeA,EAAK,CAAC,EAAE,eAAeA,EAAK,CAAC,EAAG,EAAI,EAAE,OAAS,EACrG8nC,EAAO,EACX,OAAO75B,EAGP,SAASA,EAAM2xB,EAAM,CACnB,MAAM6G,EAAO/iC,EAAK,eAAe,OAASk8B,IAAS,IAAMA,IAAS,IAAMA,IAAS,GAAK,gBAAkB,eACxG,GAAI6G,IAAS,gBAAkB,CAAC/iC,EAAK,eAAe,QAAUk8B,IAASl8B,EAAK,eAAe,OAASi9B,GAAWf,CAAI,EAAG,CAOpH,GANKl8B,EAAK,eAAe,OACvBA,EAAK,eAAe,KAAO+iC,EAC3BiB,EAAQ,MAAMjB,EAAM,CAClB,WAAY,EACtB,CAAS,GAECA,IAAS,gBACX,OAAAiB,EAAQ,MAAM,gBAAgB,EACvB9H,IAAS,IAAMA,IAAS,GAAK8H,EAAQ,MAAMqR,GAAejP,EAAK/C,CAAQ,EAAEnH,CAAI,EAAImH,EAASnH,CAAI,EAEvG,GAAI,CAACl8B,EAAK,WAAak8B,IAAS,GAC9B,OAAA8H,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,MAAM,eAAe,EACtBqD,EAAOnL,CAAI,CAE1B,CACI,OAAOkK,EAAIlK,CAAI,CACnB,CAGE,SAASmL,EAAOnL,EAAM,CACpB,OAAIe,GAAWf,CAAI,GAAK,EAAEkI,EAAO,IAC/BJ,EAAQ,QAAQ9H,CAAI,EACbmL,IAEJ,CAACrnC,EAAK,WAAaokC,EAAO,KAAOpkC,EAAK,eAAe,OAASk8B,IAASl8B,EAAK,eAAe,OAASk8B,IAAS,IAAMA,IAAS,KAC/H8H,EAAQ,KAAK,eAAe,EACrBX,EAASnH,CAAI,GAEfkK,EAAIlK,CAAI,CACnB,CAKE,SAASmH,EAASnH,EAAM,CACtB,OAAA8H,EAAQ,MAAM,gBAAgB,EAC9BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,gBAAgB,EAC7BhkC,EAAK,eAAe,OAASA,EAAK,eAAe,QAAUk8B,EACpD8H,EAAQ,MAAMiE,GAErBjoC,EAAK,UAAYomC,EAAM2P,EAAS/R,EAAQ,QAAQ2R,GAAmCK,EAAaC,CAAW,CAAC,CAChH,CAGE,SAASF,EAAQ7Z,EAAM,CACrB,OAAAl8B,EAAK,eAAe,iBAAmB,GACvCk6B,IACO8b,EAAY9Z,CAAI,CAC3B,CAGE,SAAS+Z,EAAY/Z,EAAM,CACzB,OAAIoB,GAAcpB,CAAI,GACpB8H,EAAQ,MAAM,0BAA0B,EACxCA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,0BAA0B,EAChCgS,GAEF5P,EAAIlK,CAAI,CACnB,CAGE,SAAS8Z,EAAY9Z,EAAM,CACzB,OAAAl8B,EAAK,eAAe,KAAOk6B,EAAcl6B,EAAK,eAAegkC,EAAQ,KAAK,gBAAgB,EAAG,EAAI,EAAE,OAC5FC,EAAG/H,CAAI,CAClB,CACA,CAOA,SAASsZ,GAAyBxR,EAASC,EAAImC,EAAK,CAClD,MAAMpmC,EAAO,KACb,OAAAA,EAAK,eAAe,WAAa,OAC1BgkC,EAAQ,MAAMiE,GAAW8N,EAASG,CAAQ,EAGjD,SAASH,EAAQ7Z,EAAM,CACrB,OAAAl8B,EAAK,eAAe,kBAAoBA,EAAK,eAAe,mBAAqBA,EAAK,eAAe,iBAI9F+jC,GAAaC,EAASC,EAAI,iBAAkBjkC,EAAK,eAAe,KAAO,CAAC,EAAEk8B,CAAI,CACzF,CAGE,SAASga,EAASha,EAAM,CACtB,OAAIl8B,EAAK,eAAe,mBAAqB,CAACs9B,GAAcpB,CAAI,GAC9Dl8B,EAAK,eAAe,kBAAoB,OACxCA,EAAK,eAAe,iBAAmB,OAChCm2C,EAAiBja,CAAI,IAE9Bl8B,EAAK,eAAe,kBAAoB,OACxCA,EAAK,eAAe,iBAAmB,OAChCgkC,EAAQ,QAAQ6R,GAAiB5R,EAAIkS,CAAgB,EAAEja,CAAI,EACtE,CAGE,SAASia,EAAiBja,EAAM,CAE9B,OAAAl8B,EAAK,eAAe,WAAa,GAEjCA,EAAK,UAAY,OAGV+jC,GAAaC,EAASA,EAAQ,QAAQ1I,GAAM2I,EAAImC,CAAG,EAAG,aAAcpmC,EAAK,OAAO,WAAW,QAAQ,KAAK,SAAS,cAAc,EAAI,OAAY,CAAC,EAAEk8B,CAAI,CACjK,CACA,CAOA,SAAS4Z,GAAe9R,EAASC,EAAImC,EAAK,CACxC,MAAMpmC,EAAO,KACb,OAAO+jC,GAAaC,EAASwG,EAAa,iBAAkBxqC,EAAK,eAAe,KAAO,CAAC,EAGxF,SAASwqC,EAAYtO,EAAM,CACzB,MAAM5/B,EAAO0D,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAC/C,OAAO1D,GAAQA,EAAK,CAAC,EAAE,OAAS,kBAAoBA,EAAK,CAAC,EAAE,eAAeA,EAAK,CAAC,EAAG,EAAI,EAAE,SAAW0D,EAAK,eAAe,KAAOikC,EAAG/H,CAAI,EAAIkK,EAAIlK,CAAI,CACvJ,CACA,CAOA,SAASuZ,GAAgBzR,EAAS,CAChCA,EAAQ,KAAK,KAAK,eAAe,IAAI,CACvC,CAOA,SAAS4R,GAAiC5R,EAASC,EAAImC,EAAK,CAC1D,MAAMpmC,EAAO,KAIb,OAAO+jC,GAAaC,EAASwG,EAAa,2BAA4BxqC,EAAK,OAAO,WAAW,QAAQ,KAAK,SAAS,cAAc,EAAI,OAAY,CAAK,EAGtJ,SAASwqC,EAAYtO,EAAM,CACzB,MAAM5/B,EAAO0D,EAAK,OAAOA,EAAK,OAAO,OAAS,CAAC,EAC/C,MAAO,CAACs9B,GAAcpB,CAAI,GAAK5/B,GAAQA,EAAK,CAAC,EAAE,OAAS,2BAA6B2nC,EAAG/H,CAAI,EAAIkK,EAAIlK,CAAI,CAC5G,CACA,CCtMO,MAAMka,GAAkB,CAC7B,KAAM,kBACN,UAAWC,GACX,SAAUC,EACZ,EAGA,SAASD,GAAyBrhB,EAAQpd,EAAS,CAEjD,IAAIjX,EAAQq0B,EAAO,OAEf3H,EAEAzC,EAEAojB,EAIJ,KAAOrtC,KACL,GAAIq0B,EAAOr0B,CAAK,EAAE,CAAC,IAAM,QAAS,CAChC,GAAIq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,UAAW,CACvC0sB,EAAU1sB,EACV,KACR,CACUq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,cAC5BiqB,EAAOjqB,EAEf,MAGUq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,WAE5Bq0B,EAAO,OAAOr0B,EAAO,CAAC,EAEpB,CAACqtC,GAAchZ,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,eAC3CqtC,EAAartC,GAInB,MAAM41C,EAAU,CACd,KAAM,gBACN,MAAO,CACL,GAAGvhB,EAAOpK,CAAI,EAAE,CAAC,EAAE,KACpB,EACD,IAAK,CACH,GAAGoK,EAAOA,EAAO,OAAS,CAAC,EAAE,CAAC,EAAE,GACtC,CACG,EAGD,OAAAA,EAAOpK,CAAI,EAAE,CAAC,EAAE,KAAO,oBAInBojB,GACFhZ,EAAO,OAAOpK,EAAM,EAAG,CAAC,QAAS2rB,EAAS3+B,CAAO,CAAC,EAClDod,EAAO,OAAOgZ,EAAa,EAAG,EAAG,CAAC,OAAQhZ,EAAO3H,CAAO,EAAE,CAAC,EAAGzV,CAAO,CAAC,EACtEod,EAAO3H,CAAO,EAAE,CAAC,EAAE,IAAM,CACvB,GAAG2H,EAAOgZ,CAAU,EAAE,CAAC,EAAE,GAC1B,GAEDhZ,EAAO3H,CAAO,EAAE,CAAC,EAAIkpB,EAIvBvhB,EAAO,KAAK,CAAC,OAAQuhB,EAAS3+B,CAAO,CAAC,EAC/Bod,CACT,CAOA,SAASshB,GAAwBtS,EAASC,EAAImC,EAAK,CACjD,MAAMpmC,EAAO,KAEb,IAAIonC,EACJ,OAAO78B,EAaP,SAASA,EAAM2xB,EAAM,CACnB,IAAIv7B,EAAQX,EAAK,OAAO,OAEpBw2C,EAEJ,KAAO71C,KAGL,GAAIX,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,OAAS,cAAgBX,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,OAAS,cAAgBX,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,OAAS,UAAW,CAC1I61C,EAAYx2C,EAAK,OAAOW,CAAK,EAAE,CAAC,EAAE,OAAS,YAC3C,KACR,CAKI,MAAI,CAACX,EAAK,OAAO,KAAKA,EAAK,MAAM,IAAI,IAAMA,EAAK,WAAaw2C,IAC3DxS,EAAQ,MAAM,mBAAmB,EACjCoD,EAASlL,EACF5O,EAAO4O,CAAI,GAEbkK,EAAIlK,CAAI,CACnB,CAaE,SAAS5O,EAAO4O,EAAM,CACpB,OAAA8H,EAAQ,MAAM,2BAA2B,EAClCqD,EAAOnL,CAAI,CACtB,CAaE,SAASmL,EAAOnL,EAAM,CACpB,OAAIA,IAASkL,GACXpD,EAAQ,QAAQ9H,CAAI,EACbmL,IAETrD,EAAQ,KAAK,2BAA2B,EACjC1G,GAAcpB,CAAI,EAAI6H,GAAaC,EAASsD,EAAO,YAAY,EAAEpL,CAAI,EAAIoL,EAAMpL,CAAI,EAC9F,CAaE,SAASoL,EAAMpL,EAAM,CACnB,OAAIA,IAAS,MAAQkB,GAAmBlB,CAAI,GAC1C8H,EAAQ,KAAK,mBAAmB,EACzBC,EAAG/H,CAAI,GAETkK,EAAIlK,CAAI,CACnB,CACA,CC3KO,MAAMua,GAAO,CAClB,SAAUC,EACZ,EAQA,SAASA,GAAe1S,EAAS,CAC/B,MAAMhkC,EAAO,KACPkrC,EAAUlH,EAAQ,QAExBiE,GAAW0O,EAEX3S,EAAQ,QAAQ,KAAK,OAAO,WAAW,YAAa4S,EAAgB7S,GAAaC,EAASA,EAAQ,QAAQ,KAAK,OAAO,WAAW,KAAM4S,EAAgB5S,EAAQ,QAAQ3W,GAASupB,CAAc,CAAC,EAAG,YAAY,CAAC,CAAC,EAChN,OAAO1L,EAGP,SAASyL,EAAcza,EAAM,CAC3B,GAAIA,IAAS,KAAM,CACjB8H,EAAQ,QAAQ9H,CAAI,EACpB,MACN,CACI,OAAA8H,EAAQ,MAAM,iBAAiB,EAC/BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,iBAAiB,EAC9BhkC,EAAK,iBAAmB,OACjBkrC,CACX,CAGE,SAAS0L,EAAe1a,EAAM,CAC5B,GAAIA,IAAS,KAAM,CACjB8H,EAAQ,QAAQ9H,CAAI,EACpB,MACN,CACI,OAAA8H,EAAQ,MAAM,YAAY,EAC1BA,EAAQ,QAAQ9H,CAAI,EACpB8H,EAAQ,KAAK,YAAY,EACzBhkC,EAAK,iBAAmB,OACjBkrC,CACX,CACA,CC9CO,MAAM2L,GAAW,CACtB,WAAYC,GAAc,CAC5B,EACaC,GAASC,GAAkB,QAAQ,EACnCpsB,GAAOosB,GAAkB,MAAM,EAQ5C,SAASA,GAAkBC,EAAO,CAChC,MAAO,CACL,WAAYH,GAAeG,IAAU,OAASC,GAAyB,MAAS,EAChF,SAAUC,CACX,EAOD,SAASA,EAAenT,EAAS,CAC/B,MAAMhkC,EAAO,KACPm8B,EAAa,KAAK,OAAO,WAAW8a,CAAK,EACzCrsB,EAAOoZ,EAAQ,QAAQ7H,EAAY5xB,EAAO6sC,CAAO,EACvD,OAAO7sC,EAGP,SAASA,EAAM2xB,EAAM,CACnB,OAAOuO,EAAQvO,CAAI,EAAItR,EAAKsR,CAAI,EAAIkb,EAAQlb,CAAI,CACtD,CAGI,SAASkb,EAAQlb,EAAM,CACrB,GAAIA,IAAS,KAAM,CACjB8H,EAAQ,QAAQ9H,CAAI,EACpB,MACR,CACM,OAAA8H,EAAQ,MAAM,MAAM,EACpBA,EAAQ,QAAQ9H,CAAI,EACbzpB,CACb,CAGI,SAASA,EAAKypB,EAAM,CAClB,OAAIuO,EAAQvO,CAAI,GACd8H,EAAQ,KAAK,MAAM,EACZpZ,EAAKsR,CAAI,IAIlB8H,EAAQ,QAAQ9H,CAAI,EACbzpB,EACb,CAQI,SAASg4B,EAAQvO,EAAM,CACrB,GAAIA,IAAS,KACX,MAAO,GAET,MAAMZ,EAAOa,EAAWD,CAAI,EAC5B,IAAIv7B,EAAQ,GACZ,GAAI26B,EAGF,KAAO,EAAE36B,EAAQ26B,EAAK,QAAQ,CAC5B,MAAMvjC,EAAOujC,EAAK36B,CAAK,EACvB,GAAI,CAAC5I,EAAK,UAAYA,EAAK,SAAS,KAAKiI,EAAMA,EAAK,QAAQ,EAC1D,MAAO,EAEnB,CAEM,MAAO,EACb,CACA,CACA,CAQA,SAAS82C,GAAeO,EAAe,CACrC,OAAOC,EAGP,SAASA,EAAetiB,EAAQpd,EAAS,CACvC,IAAIjX,EAAQ,GAERoqC,EAIJ,KAAO,EAAEpqC,GAASq0B,EAAO,QACnB+V,IAAU,OACR/V,EAAOr0B,CAAK,GAAKq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,SAC7CoqC,EAAQpqC,EACRA,MAEO,CAACq0B,EAAOr0B,CAAK,GAAKq0B,EAAOr0B,CAAK,EAAE,CAAC,EAAE,OAAS,UAEjDA,IAAUoqC,EAAQ,IACpB/V,EAAO+V,CAAK,EAAE,CAAC,EAAE,IAAM/V,EAAOr0B,EAAQ,CAAC,EAAE,CAAC,EAAE,IAC5Cq0B,EAAO,OAAO+V,EAAQ,EAAGpqC,EAAQoqC,EAAQ,CAAC,EAC1CpqC,EAAQoqC,EAAQ,GAElBA,EAAQ,QAGZ,OAAOsM,EAAgBA,EAAcriB,EAAQpd,CAAO,EAAIod,CAC5D,CACA,CAaA,SAASkiB,GAAuBliB,EAAQpd,EAAS,CAC/C,IAAIm0B,EAAa,EAEjB,KAAO,EAAEA,GAAc/W,EAAO,QAC5B,IAAK+W,IAAe/W,EAAO,QAAUA,EAAO+W,CAAU,EAAE,CAAC,EAAE,OAAS,eAAiB/W,EAAO+W,EAAa,CAAC,EAAE,CAAC,EAAE,OAAS,OAAQ,CAC9H,MAAMt5B,EAAOuiB,EAAO+W,EAAa,CAAC,EAAE,CAAC,EAC/BwL,EAAS3/B,EAAQ,YAAYnF,CAAI,EACvC,IAAI9R,EAAQ42C,EAAO,OACfC,EAAc,GACdpT,EAAO,EAEPqT,EACJ,KAAO92C,KAAS,CACd,MAAM+2C,EAAQH,EAAO52C,CAAK,EAC1B,GAAI,OAAO+2C,GAAU,SAAU,CAE7B,IADAF,EAAcE,EAAM,OACbA,EAAM,WAAWF,EAAc,CAAC,IAAM,IAC3CpT,IACAoT,IAEF,GAAIA,EAAa,MACjBA,EAAc,EACxB,SAEiBE,IAAU,GACjBD,EAAO,GACPrT,YACSsT,IAAU,GAEd,CAEL/2C,IACA,KACV,CACA,CACM,GAAIyjC,EAAM,CACR,MAAMX,EAAQ,CACZ,KAAMsI,IAAe/W,EAAO,QAAUyiB,GAAQrT,EAAO,EAAI,aAAe,oBACxE,MAAO,CACL,aAAczjC,EAAQ62C,EAAc/kC,EAAK,MAAM,aAAe+kC,EAC9D,OAAQ/kC,EAAK,MAAM,OAAS9R,EAC5B,KAAM8R,EAAK,IAAI,KACf,OAAQA,EAAK,IAAI,OAAS2xB,EAC1B,OAAQ3xB,EAAK,IAAI,OAAS2xB,CAC3B,EACD,IAAK,CACH,GAAG3xB,EAAK,GACpB,CACS,EACDA,EAAK,IAAM,CACT,GAAGgxB,EAAM,KACV,EACGhxB,EAAK,MAAM,SAAWA,EAAK,IAAI,OACjC,OAAO,OAAOA,EAAMgxB,CAAK,GAEzBzO,EAAO,OAAO+W,EAAY,EAAG,CAAC,QAAStI,EAAO7rB,CAAO,EAAG,CAAC,OAAQ6rB,EAAO7rB,CAAO,CAAC,EAChFm0B,GAAc,EAExB,CACMA,GACN,CAEE,OAAO/W,CACT,CCtMO,MAAM2P,GAAW,CACrB,GAAKrJ,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAKA,GACL,GAAK6M,EACR,EAGawP,GAAiB,CAC3B,GAAK3J,EACR,EAGa4J,GAAc,CACzB,CAAC,EAAE,EAAGxN,GACN,CAAC,EAAE,EAAGA,GACL,GAAKA,EACR,EAGaqM,GAAO,CACjB,GAAK1H,GACL,GAAKsG,GACL,GAAK,CAACe,GAAiBf,EAAa,EACpC,GAAKhG,GACL,GAAK+G,GACL,GAAKf,GACL,GAAKrM,GACL,IAAMA,EACT,EAGa+N,GAAS,CACnB,GAAK5b,GACL,GAAKsN,EACR,EAGa7d,GAAO,CAClB,CAAC,EAAE,EAAG0Y,GACN,CAAC,EAAE,EAAGA,GACN,CAAC,EAAE,EAAGA,GACL,GAAK0R,GACL,GAAK7Z,GACL,GAAKqL,GACL,GAAK,CAACgB,GAAUiK,EAAQ,EACxB,GAAKyD,GACL,GAAK,CAACrG,GAAiBpG,EAAe,EACtC,GAAKyK,GACL,GAAK1M,GACL,GAAKkE,EACR,EAGamN,GAAa,CACxB,KAAM,CAACrR,GAAWsR,EAAW,CAC/B,EAGa3Q,GAAmB,CAC9B,KAAM,CAAC,GAAI,EAAE,CACf,EAGa4Q,GAAU,CACrB,KAAM,EACR,oNCxBO,SAASC,GAAgBC,EAAQC,EAAYxhC,EAAM,CAExD,IAAI+uB,EAAQ,CACV,aAAc,GACd,OAAQ,EACR,KAAM/uB,GAAQA,EAAK,MAAQ,EAC3B,OAAQA,GAAQA,EAAK,QAAU,EAC/B,OAAQA,GAAQA,EAAK,QAAU,CAChC,EAED,MAAMyhC,EAAc,CAAE,EAEhBC,EAAuB,CAAE,EAE/B,IAAIb,EAAS,CAAE,EAEXxS,EAAQ,CAAE,EASd,MAAMf,EAAU,CACd,QAASqU,EAAiBC,CAAqB,EAC/C,MAAOD,EAAiBE,CAAiB,EACzC,QAAAC,EACA,MAAAzN,EACA,KAAA1C,EACA,UAAWgQ,EAAiBE,EAAmB,CAC7C,UAAW,EACZ,EACF,EAOK3gC,EAAU,CACd,KAAM,KACN,eAAgB,CAAE,EAClB,WAAA6gC,EACA,OAAQ,CAAE,EACV,IAAAC,EACA,OAAAT,EACA,SAAU,KACV,eAAAU,EACA,YAAAC,EACA,MAAA7gB,CACD,EAOD,IAAIxlB,EAAQ2lC,EAAW,SAAS,KAAKtgC,EAASosB,CAAO,EAQrD,OAAIkU,EAAW,YACbE,EAAqB,KAAKF,CAAU,EAE/BtgC,EAGP,SAASmgB,EAAMkL,EAAO,CAKpB,OAJAsU,EAAS7b,GAAK6b,EAAQtU,CAAK,EAC3B4V,EAAM,EAGFtB,EAAOA,EAAO,OAAS,CAAC,IAAM,KACzB,CAAE,GAEXuB,EAAUZ,EAAY,CAAC,EAGvBtgC,EAAQ,OAAS0uB,GAAW8R,EAAsBxgC,EAAQ,OAAQA,CAAO,EAClEA,EAAQ,OACnB,CAOE,SAAS+gC,EAAelV,EAAOsV,EAAY,CACzC,OAAOC,GAAgBJ,EAAYnV,CAAK,EAAGsV,CAAU,CACzD,CAGE,SAASH,EAAYnV,EAAO,CAC1B,OAAOwV,GAAY1B,EAAQ9T,CAAK,CACpC,CAGE,SAASiV,GAAM,CAEb,KAAM,CACJ,aAAAQ,EACA,OAAAC,EACA,KAAAC,GACA,OAAAC,GACA,OAAApS,EACN,EAAQxB,EACJ,MAAO,CACL,aAAAyT,EACA,OAAAC,EACA,KAAAC,GACA,OAAAC,GACA,OAAApS,EACD,CACL,CAGE,SAASwR,EAAWxiD,EAAO,CACzBkiD,EAAYliD,EAAM,IAAI,EAAIA,EAAM,OAChCqjD,EAAyB,CAC7B,CAiBE,SAAST,GAAO,CAEd,IAAIU,EACJ,KAAO9T,EAAM,OAAS8R,EAAO,QAAQ,CACnC,MAAMG,EAAQH,EAAO9R,EAAM,MAAM,EAGjC,GAAI,OAAOiS,GAAU,SAKnB,IAJA6B,EAAa9T,EAAM,OACfA,EAAM,aAAe,IACvBA,EAAM,aAAe,GAEhBA,EAAM,SAAW8T,GAAc9T,EAAM,aAAeiS,EAAM,QAC/D8B,EAAG9B,EAAM,WAAWjS,EAAM,YAAY,CAAC,OAGzC+T,EAAG9B,CAAK,CAEhB,CACA,CAUE,SAAS8B,EAAGtd,EAAM,CAGhB3pB,EAAQA,EAAM2pB,CAAI,CACtB,CAGE,SAASsc,EAAQtc,EAAM,CACjBkB,GAAmBlB,CAAI,GACzBuJ,EAAM,OACNA,EAAM,OAAS,EACfA,EAAM,QAAUvJ,IAAS,GAAK,EAAI,EAClCod,EAAyB,GAChBpd,IAAS,KAClBuJ,EAAM,SACNA,EAAM,UAIJA,EAAM,aAAe,EACvBA,EAAM,UAENA,EAAM,eAGFA,EAAM,eAIV8R,EAAO9R,EAAM,MAAM,EAAE,SACnBA,EAAM,aAAe,GACrBA,EAAM,WAKV7tB,EAAQ,SAAWskB,CAIvB,CAGE,SAAS6O,EAAM9sC,EAAMw7C,EAAQ,CAG3B,MAAMhW,GAAQgW,GAAU,CAAE,EAC1B,OAAAhW,GAAM,KAAOxlC,EACbwlC,GAAM,MAAQiV,EAAK,EACnB9gC,EAAQ,OAAO,KAAK,CAAC,QAAS6rB,GAAO7rB,CAAO,CAAC,EAC7CmtB,EAAM,KAAKtB,EAAK,EACTA,EACX,CAGE,SAAS4E,EAAKpqC,EAAM,CAClB,MAAMwlC,EAAQsB,EAAM,IAAK,EACzB,OAAAtB,EAAM,IAAMiV,EAAK,EACjB9gC,EAAQ,OAAO,KAAK,CAAC,OAAQ6rB,EAAO7rB,CAAO,CAAC,EACrC6rB,CACX,CAOE,SAAS6U,EAAsBoB,EAAWhQ,EAAM,CAC9CoP,EAAUY,EAAWhQ,EAAK,IAAI,CAClC,CAOE,SAAS6O,EAAkB5hD,EAAG+yC,EAAM,CAClCA,EAAK,QAAS,CAClB,CAUE,SAAS2O,EAAiBsB,EAAUF,EAAQ,CAC1C,OAAO/sC,GAeP,SAASA,GAAKyvB,GAAYwV,GAAaiI,GAAY,CAEjD,IAAIC,GAEAC,GAEAC,GAEArQ,EACJ,OAAO,MAAM,QAAQvN,EAAU,EAC/B6d,EAAuB7d,EAAU,EAAI,aAAcA,GAEnD6d,EAAuB,CAA0B7d,EAAU,CAAE,EAAI8d,EAAsB9d,EAAU,EAUjG,SAAS8d,EAAsB3lD,EAAK,CAClC,OAAOiW,EAGP,SAASA,EAAM2xB,EAAM,CACnB,MAAMF,EAAOE,IAAS,MAAQ5nC,EAAI4nC,CAAI,EAChCL,EAAMK,IAAS,MAAQ5nC,EAAI,KAC3BgnC,GAAO,CAGb,GAAI,MAAM,QAAQU,CAAI,EAAIA,EAAOA,EAAO,CAACA,CAAI,EAAI,CAAE,EAAG,GAAI,MAAM,QAAQH,CAAG,EAAIA,EAAMA,EAAM,CAACA,CAAG,EAAI,EAAG,EACtG,OAAOme,EAAuB1e,EAAI,EAAEY,CAAI,CAClD,CACA,CAUM,SAAS8d,EAAuB1e,EAAM,CAGpC,OAFAue,GAAmBve,EACnBwe,GAAiB,EACbxe,EAAK,SAAW,EACXse,GAEFM,EAAgB5e,EAAKwe,EAAc,CAAC,CACnD,CAUM,SAASI,EAAgBR,EAAW,CAClC,OAAOnvC,EAGP,SAASA,EAAM2xB,EAAM,CAanB,OARAwN,EAAO3Q,GAAO,EACdghB,GAAmBL,EACdA,EAAU,UACb9hC,EAAQ,iBAAmB8hC,GAKzBA,EAAU,MAAQ9hC,EAAQ,OAAO,WAAW,QAAQ,KAAK,SAAS8hC,EAAU,IAAI,EAC3EtT,GAAQ,EAEVsT,EAAU,SAAS,KAI1BD,EAAS,OAAO,OAAO,OAAO,OAAO7hC,CAAO,EAAG6hC,CAAM,EAAI7hC,EAASosB,EAASC,GAAImC,EAAG,EAAElK,CAAI,CAClG,CACA,CAGM,SAAS+H,GAAG/H,EAAM,CAEhB,OAAAyd,EAASI,GAAkBrQ,CAAI,EACxBiI,EACf,CAGM,SAASvL,GAAIlK,EAAM,CAGjB,OADAwN,EAAK,QAAS,EACV,EAAEoQ,GAAiBD,GAAiB,OAC/BK,EAAgBL,GAAiBC,EAAc,CAAC,EAElDF,EACf,CACA,CACA,CAUE,SAASd,EAAUY,EAAWhjC,EAAM,CAC9BgjC,EAAU,YAAc,CAACtB,EAAqB,SAASsB,CAAS,GAClEtB,EAAqB,KAAKsB,CAAS,EAEjCA,EAAU,SACZre,GAAOzjB,EAAQ,OAAQlB,EAAMkB,EAAQ,OAAO,OAASlB,EAAMgjC,EAAU,QAAQ9hC,EAAQ,OAAO,MAAMlB,CAAI,EAAGkB,CAAO,CAAC,EAE/G8hC,EAAU,YACZ9hC,EAAQ,OAAS8hC,EAAU,UAAU9hC,EAAQ,OAAQA,CAAO,EAElE,CAQE,SAASmhB,IAAQ,CACf,MAAMohB,EAAazB,EAAK,EAClB0B,EAAgBxiC,EAAQ,SACxByiC,GAAwBziC,EAAQ,iBAChC0iC,GAAmB1iC,EAAQ,OAAO,OAClC2iC,GAAa,MAAM,KAAKxV,CAAK,EACnC,MAAO,CACL,KAAMuV,GACN,QAAAE,EACD,EAQD,SAASA,IAAU,CACjB/U,EAAQ0U,EACRviC,EAAQ,SAAWwiC,EACnBxiC,EAAQ,iBAAmByiC,GAC3BziC,EAAQ,OAAO,OAAS0iC,GACxBvV,EAAQwV,GACRjB,EAAyB,CAC/B,CACA,CASE,SAASA,GAA0B,CAC7B7T,EAAM,QAAQ0S,GAAe1S,EAAM,OAAS,IAC9CA,EAAM,OAAS0S,EAAY1S,EAAM,IAAI,EACrCA,EAAM,QAAU0S,EAAY1S,EAAM,IAAI,EAAI,EAEhD,CACA,CAYA,SAASwT,GAAY1B,EAAQ9T,EAAO,CAClC,MAAMgX,EAAahX,EAAM,MAAM,OACzBiX,EAAmBjX,EAAM,MAAM,aAC/BkX,EAAWlX,EAAM,IAAI,OACrBmX,EAAiBnX,EAAM,IAAI,aAEjC,IAAIoX,EACJ,GAAIJ,IAAeE,EAEjBE,EAAO,CAACtD,EAAOkD,CAAU,EAAE,MAAMC,EAAkBE,CAAc,CAAC,MAC7D,CAEL,GADAC,EAAOtD,EAAO,MAAMkD,EAAYE,CAAQ,EACpCD,EAAmB,GAAI,CACzB,MAAMr+C,EAAOw+C,EAAK,CAAC,EACf,OAAOx+C,GAAS,SAClBw+C,EAAK,CAAC,EAAIx+C,EAAK,MAAMq+C,CAAgB,EAErCG,EAAK,MAAO,CAEpB,CACQD,EAAiB,GAEnBC,EAAK,KAAKtD,EAAOoD,CAAQ,EAAE,MAAM,EAAGC,CAAc,CAAC,CAEzD,CACE,OAAOC,CACT,CAYA,SAAS7B,GAAgBzB,EAAQwB,EAAY,CAC3C,IAAIp4C,EAAQ,GAEZ,MAAMP,EAAS,CAAE,EAEjB,IAAI06C,EACJ,KAAO,EAAEn6C,EAAQ42C,EAAO,QAAQ,CAC9B,MAAMG,EAAQH,EAAO52C,CAAK,EAE1B,IAAI1K,EACJ,GAAI,OAAOyhD,GAAU,SACnBzhD,EAAQyhD,MACH,QAAQA,EAAK,CAClB,IAAK,GACH,CACEzhD,EAAQ,KACR,KACV,CACM,IAAK,GACH,CACEA,EAAQ;AAAA,EACR,KACV,CACM,IAAK,GACH,CACEA,EAAQ;AAAA,EACR,KACV,CACM,IAAK,GACH,CACEA,EAAQ8iD,EAAa,IAAM,IAC3B,KACV,CACM,IAAK,GACH,CACE,GAAI,CAACA,GAAc+B,EAAO,SAC1B7kD,EAAQ,IACR,KACV,CACM,QAGIA,EAAQ,OAAO,aAAayhD,CAAK,CAE3C,CACIoD,EAAQpD,IAAU,GAClBt3C,EAAO,KAAKnK,CAAK,CACrB,CACE,OAAOmK,EAAO,KAAK,EAAE,CACvB,CCzkBO,SAAS26C,GAAM5zC,EAAS,CAM7B,MAAM8wC,EAAS,CACb,WAJFtc,GAAkB,CAACqf,GAAmB,IAFrB7zC,GAAW,CAAE,GAEqB,YAAc,CAAE,CAAC,CAAC,EAKnE,QAAS8zC,EAAO5tB,EAAO,EACvB,QAAS,CAAE,EACX,SAAU4tB,EAAOtW,EAAQ,EACzB,KAAMsW,EAAOxE,EAAI,EACjB,KAAM,CAAE,EACR,OAAQwE,EAAOlE,EAAM,EACrB,KAAMkE,EAAOrwB,EAAI,CAClB,EACD,OAAOqtB,EAQP,SAASgD,EAAO/P,EAAS,CACvB,OAAOgQ,EAEP,SAASA,EAAQxkC,EAAM,CACrB,OAAOshC,GAAgBC,EAAQ/M,EAASx0B,CAAI,CAClD,CACA,CACA,CC3CO,SAASykC,GAAYnmB,EAAQ,CAClC,KAAO,CAACsW,GAAYtW,CAAM,GAAG,CAG7B,OAAOA,CACT,CCAA,MAAMomB,GAAS,cAMR,SAASC,IAAa,CAC3B,IAAIhC,EAAS,EACTta,EAAS,GAETx0B,EAAQ,GAER+wC,EACJ,OAAOC,EAIP,SAASA,EAAatlD,EAAOulD,EAAUhxC,EAAK,CAE1C,MAAM+sC,EAAS,CAAE,EAEjB,IAAIkE,EAEAv/C,EAEA8vC,EAEA0P,EAEAxf,EAWJ,IAVAjmC,EAAQ8oC,GAAU,OAAO9oC,GAAU,SAAWA,EAAM,SAAQ,EAAK,IAAI,YAAYulD,GAAY,MAAS,EAAE,OAAOvlD,CAAK,GACpH+1C,EAAgB,EAChBjN,EAAS,GACLx0B,IAEEtU,EAAM,WAAW,CAAC,IAAM,OAC1B+1C,IAEFzhC,EAAQ,QAEHyhC,EAAgB/1C,EAAM,QAAQ,CAKnC,GAJAmlD,GAAO,UAAYpP,EACnByP,EAAQL,GAAO,KAAKnlD,CAAK,EACzBylD,EAAcD,GAASA,EAAM,QAAU,OAAYA,EAAM,MAAQxlD,EAAM,OACvEimC,EAAOjmC,EAAM,WAAWylD,CAAW,EAC/B,CAACD,EAAO,CACV1c,EAAS9oC,EAAM,MAAM+1C,CAAa,EAClC,KACR,CACM,GAAI9P,IAAS,IAAM8P,IAAkB0P,GAAeJ,EAClD/D,EAAO,KAAK,EAAE,EACd+D,EAAmB,WAUnB,QARIA,IACF/D,EAAO,KAAK,EAAE,EACd+D,EAAmB,QAEjBtP,EAAgB0P,IAClBnE,EAAO,KAAKthD,EAAM,MAAM+1C,EAAe0P,CAAW,CAAC,EACnDrC,GAAUqC,EAAc1P,GAElB9P,EAAI,CACV,IAAK,GACH,CACEqb,EAAO,KAAK,KAAK,EACjB8B,IACA,KACd,CACU,IAAK,GACH,CAGE,IAFAn9C,EAAO,KAAK,KAAKm9C,EAAS,CAAC,EAAI,EAC/B9B,EAAO,KAAK,EAAE,EACP8B,IAAWn9C,GAAMq7C,EAAO,KAAK,EAAE,EACtC,KACd,CACU,IAAK,IACH,CACEA,EAAO,KAAK,EAAE,EACd8B,EAAS,EACT,KACd,CACU,QAEIiC,EAAmB,GACnBjC,EAAS,CAEvB,CAEMrN,EAAgB0P,EAAc,CACpC,CACI,OAAIlxC,IACE8wC,GAAkB/D,EAAO,KAAK,EAAE,EAChCxY,GAAQwY,EAAO,KAAKxY,CAAM,EAC9BwY,EAAO,KAAK,IAAI,GAEXA,CACX,CACA,CC7DO,SAASoE,GAAU1lD,EAAOulD,EAAUr0C,EAAS,CAClD,OAAI,OAAOq0C,GAAa,WACtBr0C,EAAUq0C,EACVA,EAAW,QAENld,GAAQn3B,CAAO,EAAEg0C,GAAYJ,GAAM5zC,CAAO,EAAE,SAAU,EAAC,MAAMk0C,GAAU,EAAGplD,EAAOulD,EAAU,EAAI,CAAC,CAAC,CAAC,CAC3G,CC3DA;AAAA;AAAA;AAAA;AAAA,IASA,MAAMI,GAAY,OAAO,OAAW,IAkC9BC,GAAa,CAACpjD,EAAMqjD,EAAY,KAAWA,EAA2B,OAAO,IAAIrjD,CAAI,EAA9B,OAAOA,CAAI,EAClEsjD,GAAyB,CAACC,EAAQznD,EAAK0R,IAAWg2C,GAAsB,CAAE,EAAGD,EAAQ,EAAGznD,EAAK,EAAG0R,EAAQ,EACxGg2C,GAAyBC,GAAS,KAAK,UAAUA,CAAI,EACtD,QAAQ,UAAW,SAAS,EAC5B,QAAQ,UAAW,SAAS,EAC5B,QAAQ,UAAW,SAAS,EAC3BC,GAAY3nD,GAAQ,OAAOA,GAAQ,UAAY,SAASA,CAAG,EAC3DkB,GAAUlB,GAAQgB,GAAahB,CAAG,IAAM,gBACxC4nD,GAAY5nD,GAAQgB,GAAahB,CAAG,IAAM,kBAC1C6nD,GAAiB7nD,GAAQ2B,GAAc3B,CAAG,GAAK,OAAO,KAAKA,CAAG,EAAE,SAAW,EAC3E8nD,GAAS,OAAO,OAChBC,GAAU,OAAO,OACjBtB,GAAS,CAAC1jD,EAAM,OAASglD,GAAQhlD,CAAG,EAC1C,IAAII,GACJ,MAAMC,GAAgB,IAEVD,KACHA,GACG,OAAO,WAAe,IAChB,WACA,OAAO,KAAS,IACZ,KACA,OAAO,OAAW,IACd,OACA,OAAO,OAAW,IACd,OACAsjD,MAE9B,SAASuB,GAAWC,EAAS,CACzB,OAAOA,EACF,QAAQ,KAAM,MAAM,EACpB,QAAQ,KAAM,MAAM,EACpB,QAAQ,KAAM,QAAQ,EACtB,QAAQ,KAAM,QAAQ,CAC/B,CACA,MAAMrnD,GAAiB,OAAO,UAAU,eACxC,SAASC,GAAOkC,EAAKhD,EAAK,CACf,OAAAa,GAAe,KAAKmC,EAAKhD,CAAG,CACvC,CASA,MAAMe,GAAU,MAAM,QAChBK,GAAcnB,GAAQ,OAAOA,GAAQ,WACrCoB,EAAYpB,GAAQ,OAAOA,GAAQ,SACnCy6B,GAAaz6B,GAAQ,OAAOA,GAAQ,UAGpCsB,GAAYtB,GAAQA,IAAQ,MAAQ,OAAOA,GAAQ,SAEnDuB,GAAavB,GACRsB,GAAStB,CAAG,GAAKmB,GAAWnB,EAAI,IAAI,GAAKmB,GAAWnB,EAAI,KAAK,EAElEwB,GAAiB,OAAO,UAAU,SAClCR,GAAgBS,GAAUD,GAAe,KAAKC,CAAK,EACnDE,GAAiB3B,GAAQgB,GAAahB,CAAG,IAAM,kBAE/CkF,GAAmBlF,GACdA,GAAO,KACR,GACAc,GAAQd,CAAG,GAAM2B,GAAc3B,CAAG,GAAKA,EAAI,WAAawB,GACpD,KAAK,UAAUxB,EAAK,KAAM,CAAC,EAC3B,OAAOA,CAAG,EAExB,SAASkoD,GAAKnhB,EAAO37B,EAAY,GAAI,CACjC,OAAO27B,EAAM,OAAO,CAAClnC,EAAK0D,EAAM4I,IAAWA,IAAU,EAAItM,EAAM0D,EAAO1D,EAAMuL,EAAY7H,EAAO,EAAE,CACrG,CAmCA,SAAS4kD,GAAKC,EAAKxgD,EAAK,CAChB,OAAO,QAAY,MACX,aAAK,aAAewgD,CAAG,EAE3BxgD,GACQ,aAAKA,EAAI,KAAK,EAGlC,CAkDA,MAAMygD,GAAwBroD,GAAQ,CAACsB,GAAStB,CAAG,GAAKc,GAAQd,CAAG,EAEnE,SAASsoD,GAASC,EAAKC,EAAK,CAExB,GAAIH,GAAqBE,CAAG,GAAKF,GAAqBG,CAAG,EAC/C,UAAI,MAAM,eAAe,EAEnC,MAAMjY,EAAQ,CAAC,CAAE,IAAAgY,EAAK,IAAAC,EAAK,EAC3B,KAAOjY,EAAM,QAAQ,CACjB,KAAM,CAAE,IAAAgY,EAAK,IAAAC,CAAI,EAAIjY,EAAM,IAAI,EAE/B,OAAO,KAAKgY,CAAG,EAAE,QAAexoD,GAAA,CACxBA,IAAQ,cAKRuB,GAASinD,EAAIxoD,CAAG,CAAC,GAAK,CAACuB,GAASknD,EAAIzoD,CAAG,CAAC,IACxCyoD,EAAIzoD,CAAG,EAAI,MAAM,QAAQwoD,EAAIxoD,CAAG,CAAC,EAAI,CAAC,EAAI0mD,GAAO,GAEjD4B,GAAqBG,EAAIzoD,CAAG,CAAC,GAAKsoD,GAAqBE,EAAIxoD,CAAG,CAAC,EAI/DyoD,EAAIzoD,CAAG,EAAIwoD,EAAIxoD,CAAG,EAIZwwC,EAAA,KAAK,CAAE,IAAKgY,EAAIxoD,CAAG,EAAG,IAAKyoD,EAAIzoD,CAAG,EAAG,EAC/C,CACH,EAET,CC/OA;AAAA;AAAA;AAAA;AAAA,IAWA,SAAS0oD,GAAe7D,EAAMC,EAAQpS,EAAQ,CACnC,OAAE,KAAAmS,EAAM,OAAAC,EAAQ,OAAApS,CAAO,CAClC,CACA,SAASiW,GAAe3yC,EAAOC,EAAKvE,EAAQ,CAKjC,MAJK,CAAE,MAAAsE,EAAO,IAAAC,CAAI,CAK7B,CAEA,MAAM2yC,GAAoB,CAEtB,eAAgB,EAChB,6BAA8B,EAC9B,yCAA0C,EAC1C,wBAAyB,EACzB,gCAAiC,EACjC,yBAA0B,EAC1B,2BAA4B,EAC5B,kBAAmB,EACnB,2BAA4B,EAC5B,sBAAuB,GAEvB,6BAA8B,GAC9B,iCAAkC,GAClC,4BAA6B,GAC7B,4BAA6B,GAE7B,4BAA6B,GAE7B,6BAA8B,EAClC,EAIMC,GAAmC,GAwBzC,SAASC,GAAmBnhB,EAAMohB,EAAKn2C,EAAU,GAAI,CACjD,KAAM,CAAE,OAAAo2C,EAAQ,SAAAC,EAAU,KAAAj+C,CAAS,EAAA4H,EAC7By1C,EAEA1gB,EACA//B,EAAQ,IAAI,YAAY,OAAOygD,CAAG,CAAC,EACzC,OAAAzgD,EAAM,KAAO+/B,EACTohB,IACAnhD,EAAM,SAAWmhD,GAErBnhD,EAAM,OAASohD,EACRphD,CACX,CAEA,SAASshD,GAAethD,EAAO,CACrB,MAAAA,CACV,CAMA,MAAMuhD,GAAU,IACVC,GAAU,KACVC,GAAU;AAAA,EACVC,GAAU,SACVC,GAAU,SAChB,SAASC,GAAc1pD,EAAK,CACxB,MAAM2pD,EAAO3pD,EACb,IAAI8kD,EAAS,EACT8E,EAAQ,EACRC,EAAU,EACVC,EAAc,EACZ,MAAAC,EAAUz9C,GAAUq9C,EAAKr9C,CAAK,IAAMg9C,IAAWK,EAAKr9C,EAAQ,CAAC,IAAMi9C,GACnES,EAAQ19C,GAAUq9C,EAAKr9C,CAAK,IAAMi9C,GAClCU,EAAQ39C,GAAUq9C,EAAKr9C,CAAK,IAAMm9C,GAClCS,EAAQ59C,GAAUq9C,EAAKr9C,CAAK,IAAMk9C,GAClCW,EAAa79C,GAAUy9C,EAAOz9C,CAAK,GAAK09C,EAAK19C,CAAK,GAAK29C,EAAK39C,CAAK,GAAK49C,EAAK59C,CAAK,EAChFA,EAAQ,IAAMw4C,EACdC,EAAO,IAAM6E,EACb5E,EAAS,IAAM6E,EACfO,EAAa,IAAMN,EACnBO,EAAUzX,GAAWmX,EAAOnX,CAAM,GAAKqX,EAAKrX,CAAM,GAAKsX,EAAKtX,CAAM,EAAI2W,GAAUI,EAAK/W,CAAM,EAC3F0X,EAAc,IAAMD,EAAOvF,CAAM,EACjCyF,EAAc,IAAMF,EAAOvF,EAASgF,CAAW,EACrD,SAASjiD,GAAO,CACE,OAAAiiD,EAAA,EACVK,EAAUrF,CAAM,IAChB8E,IACUC,EAAA,GAEVE,EAAOjF,CAAM,GACbA,IAEJA,IACA+E,IACOF,EAAK7E,CAAM,EAEtB,SAAS0F,GAAO,CACR,OAAAT,EAAOjF,EAASgF,CAAW,GAC3BA,IAEJA,IACOH,EAAK7E,EAASgF,CAAW,EAEpC,SAASnvC,GAAQ,CACJmqC,EAAA,EACD8E,EAAA,EACEC,EAAA,EACIC,EAAA,EAET,SAAAW,EAAU7X,EAAS,EAAG,CACbkX,EAAAlX,CAAA,CAElB,SAAS8X,GAAa,CAClB,MAAM/gD,EAASm7C,EAASgF,EACxB,KAAOngD,IAAWm7C,GACTj9C,EAAA,EAEKiiD,EAAA,EAEX,OACH,MAAAx9C,EACA,KAAAy4C,EACA,OAAAC,EACA,WAAAoF,EACA,OAAAC,EACA,YAAAC,EACA,YAAAC,EACA,KAAA1iD,EACA,KAAA2iD,EACA,MAAA7vC,EACA,UAAA8vC,EACA,WAAAC,CACJ,CACJ,CAEA,MAAMC,GAAM,OACNC,GAAM,IACNC,GAAoB,IACpBC,GAAiB,YACvB,SAASnH,GAAgB/xC,EAAQkB,EAAU,GAAI,CACrC,MAAAi4C,EAAWj4C,EAAQ,WAAa,GAChCk4C,EAAQtB,GAAc93C,CAAM,EAC5Bq5C,EAAgB,IAAMD,EAAM,MAAM,EAClCE,EAAkB,IAAMtC,GAAeoC,EAAM,OAAQA,EAAM,OAAO,EAAGA,EAAM,OAAO,EAClFG,EAAWD,EAAgB,EAC3BE,EAAcH,EAAc,EAC5BI,EAAW,CACb,YAAa,GACb,OAAQD,EACR,SAAUD,EACV,OAAQA,EACR,SAAU,GACV,WAAYC,EACZ,aAAcD,EACd,WAAYA,EACZ,UAAW,EACX,SAAU,GACV,KAAM,EACV,EACM5nC,EAAU,IAAM8nC,EAChB,CAAE,QAAAloB,GAAYrwB,EACpB,SAASw4C,EAAUzjB,EAAM0jB,EAAK3Y,KAAW1nC,EAAM,CAC3C,MAAMmM,EAAMkM,EAAQ,EAGpB,GAFAgoC,EAAI,QAAU3Y,EACd2Y,EAAI,QAAU3Y,EACVzP,EAAS,CACT,MAAM8lB,EAAM8B,EAAWlC,GAAexxC,EAAI,SAAUk0C,CAAG,EAAI,KACrDxjD,EAAMihD,GAAmBnhB,EAAMohB,EAAK,CACtC,OAAQ6B,GACR,KAAA5/C,CAAA,CACH,EACDi4B,EAAQp7B,CAAG,EACf,CAEK,SAAAyjD,EAASjoC,EAAS3Z,EAAMhI,EAAO,CACpC2hB,EAAQ,OAAS2nC,EAAgB,EACjC3nC,EAAQ,YAAc3Z,EAChB,MAAAwlC,EAAQ,CAAE,KAAAxlC,CAAK,EACrB,OAAImhD,IACA3b,EAAM,IAAMyZ,GAAetlC,EAAQ,SAAUA,EAAQ,MAAM,GAE3D3hB,GAAS,OACTwtC,EAAM,MAAQxtC,GAEXwtC,CAAA,CAEL,MAAAqc,EAAeloC,GAAYioC,EAASjoC,EAAS,EAAuB,EACjE,SAAAmoC,EAAIC,EAAMC,EAAI,CACf,OAAAD,EAAK,YAAY,IAAMC,GACvBD,EAAK,KAAK,EACHC,IAGPN,EAAUxC,GAAkB,eAAgBoC,EAAgB,EAAG,EAAGU,CAAE,EAC7D,GACX,CAEJ,SAASC,EAAWF,EAAM,CACtB,IAAIG,EAAM,GACV,KAAOH,EAAK,gBAAkBtC,IAAWsC,EAAK,gBAAkBpC,IAC5DuC,GAAOH,EAAK,YAAY,EACxBA,EAAK,KAAK,EAEP,OAAAG,CAAA,CAEX,SAASC,EAAWJ,EAAM,CAChB,MAAAG,EAAMD,EAAWF,CAAI,EAC3B,OAAAA,EAAK,WAAW,EACTG,CAAA,CAEX,SAASE,EAAkBJ,EAAI,CAC3B,GAAIA,IAAOjB,GACA,SAEL,MAAAsB,EAAKL,EAAG,WAAW,CAAC,EACjB,OAAAK,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IACnBA,IAAO,GAGf,SAASC,EAAcN,EAAI,CACvB,GAAIA,IAAOjB,GACA,SAEL,MAAAsB,EAAKL,EAAG,WAAW,CAAC,EACnB,OAAAK,GAAM,IAAMA,GAAM,GAEpB,SAAAE,EAAuBR,EAAMpoC,EAAS,CACrC,MAAE,YAAA6oC,GAAgB7oC,EACxB,GAAI6oC,IAAgB,EACT,SAEXP,EAAWF,CAAI,EACf,MAAM1nD,EAAM+nD,EAAkBL,EAAK,aAAa,EAChD,OAAAA,EAAK,UAAU,EACR1nD,CAAA,CAEF,SAAAooD,EAAsBV,EAAMpoC,EAAS,CACpC,MAAE,YAAA6oC,GAAgB7oC,EACxB,GAAI6oC,IAAgB,EACT,SAEXP,EAAWF,CAAI,EACT,MAAAC,EAAKD,EAAK,gBAAkB,IAAMA,EAAK,OAASA,EAAK,YAAY,EACjE1nD,EAAMioD,EAAcN,CAAE,EAC5B,OAAAD,EAAK,UAAU,EACR1nD,CAAA,CAEF,SAAAqoD,EAAeX,EAAMpoC,EAAS,CAC7B,MAAE,YAAA6oC,GAAgB7oC,EACxB,GAAI6oC,IAAgB,EACT,SAEXP,EAAWF,CAAI,EACT,MAAA1nD,EAAM0nD,EAAK,gBAAkBd,GACnC,OAAAc,EAAK,UAAU,EACR1nD,CAAA,CAEF,SAAAsoD,EAAiBZ,EAAMpoC,EAAS,CAC/B,MAAE,YAAA6oC,GAAgB7oC,EACxB,GAAI6oC,IAAgB,EACT,SAEXP,EAAWF,CAAI,EACT,MAAA1nD,EAAM0nD,EAAK,gBAAkB,IACnC,OAAAA,EAAK,UAAU,EACR1nD,CAAA,CAEF,SAAAuoD,EAAsBb,EAAMpoC,EAAS,CACpC,MAAE,YAAA6oC,GAAgB7oC,EACxB,GAAI6oC,IAAgB,EACT,SAEXP,EAAWF,CAAI,EACf,MAAM1nD,EAAM+nD,EAAkBL,EAAK,aAAa,EAChD,OAAAA,EAAK,UAAU,EACR1nD,CAAA,CAEF,SAAAwoD,EAAuBd,EAAMpoC,EAAS,CACrC,MAAE,YAAA6oC,GAAgB7oC,EACxB,GAAI,EAAE6oC,IAAgB,GAClBA,IAAgB,IACT,SAEXP,EAAWF,CAAI,EACT,MAAA1nD,EAAM0nD,EAAK,gBAAkB,IACnC,OAAAA,EAAK,UAAU,EACR1nD,CAAA,CAEF,SAAAyoD,GAAmBf,EAAMpoC,EAAS,CACjC,MAAE,YAAA6oC,GAAgB7oC,EACxB,GAAI6oC,IAAgB,EACT,SAEX,MAAMlqD,EAAK,IAAM,CACP,MAAA0pD,EAAKD,EAAK,YAAY,EAC5B,OAAIC,IAAO,IACAI,EAAkBL,EAAK,MAAM,EAE/BC,IAAO,KACZA,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAOvC,IACP,CAACuC,EACM,GAEFA,IAAOrC,IACZoC,EAAK,KAAK,EACHzpD,EAAG,GAIHyqD,EAAYhB,EAAM,EAAK,CAEtC,EACM1nD,EAAM/B,EAAG,EACf,OAAAypD,EAAK,UAAU,EACR1nD,CAAA,CAEX,SAAS2oD,EAAcjB,EAAM,CACzBE,EAAWF,CAAI,EACT,MAAA1nD,EAAM0nD,EAAK,gBAAkB,IACnC,OAAAA,EAAK,UAAU,EACR1nD,CAAA,CAEF,SAAA0oD,EAAYhB,EAAMhxC,EAAQ,GAAM,CACrC,MAAMzY,EAAK,CAAC2qD,EAAW,GAAO3kD,EAAO,KAAO,CAClC,MAAA0jD,EAAKD,EAAK,YAAY,EAC5B,OAAIC,IAAO,KAGFA,IAAO,KAAoC,CAACA,EAF1CiB,EAKFjB,IAAO,IACL,EAAE1jD,IAASmhD,IAAWnhD,IAASqhD,IAEjCqC,IAAOvC,IACZsC,EAAK,KAAK,EACHzpD,EAAG,GAAMmnD,EAAO,GAElBuC,IAAOrC,IACZoC,EAAK,KAAK,EACHzpD,EAAG,GAAMqnD,EAAO,GAGhB,EAEf,EACMtlD,EAAM/B,EAAG,EACf,OAAAyY,GAASgxC,EAAK,UAAU,EACjB1nD,CAAA,CAEF,SAAA6oD,EAASnB,EAAMzpD,EAAI,CAClB,MAAA0pD,EAAKD,EAAK,YAAY,EAC5B,OAAIC,IAAOjB,GACAA,GAEPzoD,EAAG0pD,CAAE,GACLD,EAAK,KAAK,EACHC,GAEJ,KAEX,SAASmB,GAAanB,EAAI,CAChB,MAAAK,EAAKL,EAAG,WAAW,CAAC,EACjB,OAAAK,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,IACnBA,IAAO,IACPA,IAAO,GAGf,SAASe,GAAmBrB,EAAM,CACvB,OAAAmB,EAASnB,EAAMoB,EAAY,EAEtC,SAASE,GAAkBrB,EAAI,CACrB,MAAAK,EAAKL,EAAG,WAAW,CAAC,EACjB,OAAAK,GAAM,IAAMA,GAAM,KACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,IACnBA,IAAO,IACPA,IAAO,IACPA,IAAO,GAGf,SAASiB,GAAwBvB,EAAM,CAC5B,OAAAmB,EAASnB,EAAMsB,EAAiB,EAE3C,SAASE,GAAQvB,EAAI,CACX,MAAAK,EAAKL,EAAG,WAAW,CAAC,EACnB,OAAAK,GAAM,IAAMA,GAAM,GAE7B,SAASmB,GAAUzB,EAAM,CACd,OAAAmB,EAASnB,EAAMwB,EAAO,EAEjC,SAASE,GAAWzB,EAAI,CACd,MAAAK,EAAKL,EAAG,WAAW,CAAC,EACjB,OAAAK,GAAM,IAAMA,GAAM,IACtBA,GAAM,IAAMA,GAAM,IAClBA,GAAM,IAAMA,GAAM,IAE3B,SAASqB,EAAa3B,EAAM,CACjB,OAAAmB,EAASnB,EAAM0B,EAAU,EAEpC,SAASE,EAAU5B,EAAM,CACrB,IAAIC,EAAK,GACL4B,EAAM,GACF,KAAA5B,EAAKwB,GAAUzB,CAAI,GAChB6B,GAAA5B,EAEJ,OAAA4B,CAAA,CAEX,SAASC,EAAS9B,EAAM,CACpB,IAAIG,EAAM,GACV,OAAa,CACH,MAAAF,EAAKD,EAAK,YAAY,EACxB,GAAAC,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACP,CAACA,EACD,MAEK,GAAAA,IAAOvC,IAAWuC,IAAOrC,GAC1B,GAAAoD,EAAYhB,CAAI,EACTG,GAAAF,EACPD,EAAK,KAAK,MACd,IACSiB,EAAcjB,CAAI,EACvB,MAGOG,GAAAF,EACPD,EAAK,KAAK,OAIPG,GAAAF,EACPD,EAAK,KAAK,CACd,CAEG,OAAAG,CAAA,CAEX,SAAS4B,EAAoB/B,EAAM,CAC/BI,EAAWJ,CAAI,EACf,IAAIC,EAAK,GACLxnD,EAAO,GACH,KAAAwnD,EAAKsB,GAAwBvB,CAAI,GAC7BvnD,GAAAwnD,EAER,OAAAD,EAAK,YAAY,IAAMhB,IACvBW,EAAUxC,GAAkB,2BAA4BoC,EAAgB,EAAG,CAAC,EAEzE9mD,CAAA,CAEX,SAASupD,GAAmBhC,EAAM,CAC9BI,EAAWJ,CAAI,EACf,IAAI/pD,EAAQ,GACR,OAAA+pD,EAAK,YAAY,IAAM,KACvBA,EAAK,KAAK,EACD/pD,GAAA,IAAI2rD,EAAU5B,CAAI,CAAC,IAG5B/pD,GAAS2rD,EAAU5B,CAAI,EAEvBA,EAAK,YAAY,IAAMhB,IACvBW,EAAUxC,GAAkB,2BAA4BoC,EAAgB,EAAG,CAAC,EAEzEtpD,CAAA,CAEX,SAASgsD,GAAUhC,EAAI,CACZ,OAAAA,IAAOf,IAAqBe,IAAOrC,EAAA,CAE9C,SAASsE,EAAYlC,EAAM,CACvBI,EAAWJ,CAAI,EAEfD,EAAIC,EAAM,GAAI,EACd,IAAIC,EAAK,GACLkC,EAAU,GACd,KAAQlC,EAAKkB,EAASnB,EAAMiC,EAAS,GAC7BhC,IAAO,KACPkC,GAAWC,EAAmBpC,CAAI,EAGvBmC,GAAAlC,EAGb,MAAAxxC,EAAUuxC,EAAK,YAAY,EAC7B,OAAAvxC,IAAYmvC,IAAWnvC,IAAYuwC,IACnCW,EAAUxC,GAAkB,yCAA0CoC,EAAgB,EAAG,CAAC,EAEtF9wC,IAAYmvC,KACZoC,EAAK,KAAK,EAEVD,EAAIC,EAAM,GAAI,GAEXmC,IAGXpC,EAAIC,EAAM,GAAI,EACPmC,EAAA,CAEX,SAASC,EAAmBpC,EAAM,CACxB,MAAAC,EAAKD,EAAK,YAAY,EAC5B,OAAQC,EAAI,CACR,IAAK,KACL,IAAK,IACD,OAAAD,EAAK,KAAK,EACH,KAAKC,CAAE,GAClB,IAAK,IACM,OAAAoC,EAA0BrC,EAAMC,EAAI,CAAC,EAChD,IAAK,IACM,OAAAoC,EAA0BrC,EAAMC,EAAI,CAAC,EAChD,QACI,OAAAN,EAAUxC,GAAkB,wBAAyBoC,EAAgB,EAAG,EAAGU,CAAE,EACtE,GACf,CAEK,SAAAoC,EAA0BrC,EAAMsC,EAASC,EAAQ,CACtDxC,EAAIC,EAAMsC,CAAO,EACjB,IAAI/M,EAAW,GACf,QAASpgD,EAAI,EAAGA,EAAIotD,EAAQptD,IAAK,CACvB,MAAA8qD,EAAK0B,EAAa3B,CAAI,EAC5B,GAAI,CAACC,EAAI,CACLN,EAAUxC,GAAkB,gCAAiCoC,EAAgB,EAAG,EAAG,KAAK+C,CAAO,GAAG/M,CAAQ,GAAGyK,EAAK,aAAa,EAAE,EACjI,MAEQzK,GAAA0K,CAAA,CAET,WAAKqC,CAAO,GAAG/M,CAAQ,GAElC,SAASiN,EAAoBvC,EAAI,CAC7B,OAAQA,IAAO,KACXA,IAAO,KACPA,IAAOvC,IACPuC,IAAOrC,EAAA,CAEf,SAAS6E,EAAsBzC,EAAM,CACjCI,EAAWJ,CAAI,EACf,IAAIC,EAAK,GACLyC,EAAc,GAClB,KAAQzC,EAAKkB,EAASnB,EAAMwC,CAAmB,GAC5BE,GAAAzC,EAEZ,OAAAyC,CAAA,CAEX,SAASC,GAAmB3C,EAAM,CAC9B,IAAIC,EAAK,GACLxnD,EAAO,GACH,KAAAwnD,EAAKoB,GAAmBrB,CAAI,GACxBvnD,GAAAwnD,EAEL,OAAAxnD,CAAA,CAEX,SAASmqD,EAAgB5C,EAAM,CACrB,MAAAzpD,EAAM4pD,GAAQ,CACV,MAAAF,EAAKD,EAAK,YAAY,EACxB,OAAAC,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACPA,IAAO,KACP,CAACA,GAGIA,IAAOvC,GAFLyC,GAMAA,GAAAF,EACPD,EAAK,KAAK,EACHzpD,EAAG4pD,CAAG,EAOrB,EACA,OAAO5pD,EAAG,EAAE,EAEhB,SAASssD,EAAW7C,EAAM,CACtBI,EAAWJ,CAAI,EACf,MAAM8C,EAAS/C,EAAIC,EAAM,GAAyB,EAClD,OAAAI,EAAWJ,CAAI,EACR8C,CAAA,CAGF,SAAAC,EAAuB/C,EAAMpoC,EAAS,CAC3C,IAAI6rB,EAAQ,KAEZ,OADWuc,EAAK,YAAY,EAChB,CACR,IAAK,IACGpoC,SAAQ,WAAa,GACrB+nC,EAAUxC,GAAkB,2BAA4BoC,EAAgB,EAAG,CAAC,EAEhFS,EAAK,KAAK,EACFvc,EAAAoc,EAASjoC,EAAS,EAA8B,GAA8B,EACtFwoC,EAAWJ,CAAI,EACfpoC,EAAQ,YACD6rB,EACX,IAAK,IACD,OAAI7rB,EAAQ,UAAY,GACpBA,EAAQ,cAAgB,GACxB+nC,EAAUxC,GAAkB,kBAAmBoC,EAAgB,EAAG,CAAC,EAEvES,EAAK,KAAK,EACFvc,EAAAoc,EAASjoC,EAAS,EAA+B,GAA+B,EACxFA,EAAQ,YACRA,EAAQ,UAAY,GAAKwoC,EAAWJ,CAAI,EACpCpoC,EAAQ,UAAYA,EAAQ,YAAc,IAC1CA,EAAQ,SAAW,IAEhB6rB,EACX,IAAK,IACG7rB,SAAQ,UAAY,GACpB+nC,EAAUxC,GAAkB,2BAA4BoC,EAAgB,EAAG,CAAC,EAEhF9b,EAAQuf,EAAkBhD,EAAMpoC,CAAO,GAAKkoC,EAAYloC,CAAO,EAC/DA,EAAQ,UAAY,EACb6rB,EACX,QAAS,CACL,IAAIwf,EAAuB,GACvBC,EAAsB,GACtBC,EAAe,GACf,GAAAlC,EAAcjB,CAAI,EACdpoC,SAAQ,UAAY,GACpB+nC,EAAUxC,GAAkB,2BAA4BoC,EAAgB,EAAG,CAAC,EAEhF9b,EAAQoc,EAASjoC,EAAS,EAAyBirC,EAAW7C,CAAI,CAAC,EAEnEpoC,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZ6rB,EAEP7rB,KAAQ,UAAY,IACnBA,EAAQ,cAAgB,GACrBA,EAAQ,cAAgB,GACxBA,EAAQ,cAAgB,GAC5B,OAAA+nC,EAAUxC,GAAkB,2BAA4BoC,EAAgB,EAAG,CAAC,EAC5E3nC,EAAQ,UAAY,EACbwrC,EAAUpD,EAAMpoC,CAAO,EAElC,GAAKqrC,EAAuBzC,EAAuBR,EAAMpoC,CAAO,EAC5D,OAAA6rB,EAAQoc,EAASjoC,EAAS,EAA0BmqC,EAAoB/B,CAAI,CAAC,EAC7EI,EAAWJ,CAAI,EACRvc,EAEX,GAAKyf,EAAsBxC,EAAsBV,EAAMpoC,CAAO,EAC1D,OAAA6rB,EAAQoc,EAASjoC,EAAS,EAAyBoqC,GAAmBhC,CAAI,CAAC,EAC3EI,EAAWJ,CAAI,EACRvc,EAEX,GAAK0f,EAAexC,EAAeX,EAAMpoC,CAAO,EAC5C,OAAA6rB,EAAQoc,EAASjoC,EAAS,EAA4BsqC,EAAYlC,CAAI,CAAC,EACvEI,EAAWJ,CAAI,EACRvc,EAEX,GAAI,CAACwf,GAAwB,CAACC,GAAuB,CAACC,EAElD,OAAA1f,EAAQoc,EAASjoC,EAAS,GAAkC6qC,EAAsBzC,CAAI,CAAC,EACvFL,EAAUxC,GAAkB,6BAA8BoC,EAAmB,IAAG9b,EAAM,KAAK,EAC3F2c,EAAWJ,CAAI,EACRvc,EAEX,MACJ,CAEG,OAAAA,CAAA,CAGF,SAAAuf,EAAkBhD,EAAMpoC,EAAS,CAChC,MAAE,YAAA6oC,GAAgB7oC,EACxB,IAAI6rB,EAAQ,KACN,MAAAwc,EAAKD,EAAK,YAAY,EAQ5B,QAPKS,IAAgB,GACjBA,IAAgB,GAChBA,IAAgB,IAChBA,IAAgB,KACfR,IAAOrC,IAAWqC,IAAOvC,KAC1BiC,EAAUxC,GAAkB,sBAAuBoC,EAAgB,EAAG,CAAC,EAEnEU,EAAI,CACR,IAAK,IACD,OAAAD,EAAK,KAAK,EACFvc,EAAAoc,EAASjoC,EAAS,EAAgC,GAAgC,EAC1FA,EAAQ,SAAW,GACZ6rB,EACX,IAAK,IACD,OAAA2c,EAAWJ,CAAI,EACfA,EAAK,KAAK,EACHH,EAASjoC,EAAS,EAA8B,GAA8B,EACzF,IAAK,IACD,OAAAwoC,EAAWJ,CAAI,EACfA,EAAK,KAAK,EACHH,EAASjoC,EAAS,EAAoC,GAAoC,EACrG,QACQ,OAAAqpC,EAAcjB,CAAI,GAClBvc,EAAQoc,EAASjoC,EAAS,EAAyBirC,EAAW7C,CAAI,CAAC,EAEnEpoC,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZ6rB,GAEPmd,EAAiBZ,EAAMpoC,CAAO,GAC9BkpC,EAAuBd,EAAMpoC,CAAO,GACpCwoC,EAAWJ,CAAI,EACRgD,EAAkBhD,EAAMpoC,CAAO,GAEtCipC,EAAsBb,EAAMpoC,CAAO,GACnCwoC,EAAWJ,CAAI,EACRH,EAASjoC,EAAS,GAAoC+qC,GAAmB3C,CAAI,CAAC,GAErFe,GAAmBf,EAAMpoC,CAAO,GAChCwoC,EAAWJ,CAAI,EACXC,IAAO,IAEA8C,EAAuB/C,EAAMpoC,CAAO,GAAK6rB,EAGzCoc,EAASjoC,EAAS,GAA+BgrC,EAAgB5C,CAAI,CAAC,IAGjFS,IAAgB,GAChBd,EAAUxC,GAAkB,sBAAuBoC,EAAgB,EAAG,CAAC,EAE3E3nC,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZwrC,EAAUpD,EAAMpoC,CAAO,GACtC,CAGK,SAAAwrC,EAAUpD,EAAMpoC,EAAS,CAC9B,IAAI6rB,EAAQ,CAAE,KAAM,EAAwB,EACxC7rB,KAAQ,UAAY,EACpB,OAAOmrC,EAAuB/C,EAAMpoC,CAAO,GAAKkoC,EAAYloC,CAAO,EAEvE,GAAIA,EAAQ,SACR,OAAOorC,EAAkBhD,EAAMpoC,CAAO,GAAKkoC,EAAYloC,CAAO,EAGlE,OADWooC,EAAK,YAAY,EAChB,CACR,IAAK,IACD,OAAO+C,EAAuB/C,EAAMpoC,CAAO,GAAKkoC,EAAYloC,CAAO,EACvE,IAAK,IACD,OAAA+nC,EAAUxC,GAAkB,yBAA0BoC,EAAgB,EAAG,CAAC,EAC1ES,EAAK,KAAK,EACHH,EAASjoC,EAAS,EAA+B,GAA+B,EAC3F,IAAK,IACD,OAAOorC,EAAkBhD,EAAMpoC,CAAO,GAAKkoC,EAAYloC,CAAO,EAClE,QAAS,CACD,GAAAqpC,EAAcjB,CAAI,EAClB,OAAAvc,EAAQoc,EAASjoC,EAAS,EAAyBirC,EAAW7C,CAAI,CAAC,EAEnEpoC,EAAQ,UAAY,EACpBA,EAAQ,SAAW,GACZ6rB,EAEP,GAAAud,EAAYhB,CAAI,EAChB,OAAOH,EAASjoC,EAAS,EAAyBkqC,EAAS9B,CAAI,CAAC,EAEpE,MACJ,CAEG,OAAAvc,CAAA,CAEX,SAAS4f,GAAY,CACjB,KAAM,CAAE,YAAA5C,EAAa,OAAAxZ,EAAQ,SAAAqc,EAAU,OAAAC,CAAW,EAAA7D,EAO9C,OANJA,EAAS,SAAWe,EACpBf,EAAS,WAAazY,EACtByY,EAAS,aAAe4D,EACxB5D,EAAS,WAAa6D,EACtB7D,EAAS,OAASJ,EAAc,EAChCI,EAAS,SAAWH,EAAgB,EAChCF,EAAM,YAAY,IAAML,GACjBa,EAASH,EAAU,EAAuB,EAE9C0D,EAAU/D,EAAOK,CAAQ,EAE7B,OACH,UAAA2D,EACA,cAAA/D,EACA,gBAAAC,EACA,QAAA3nC,CACJ,CACJ,CAEA,MAAM4rC,GAAiB,SAEjBC,GAAgB,wDACtB,SAASC,GAAmBjI,EAAOkI,EAAYC,EAAY,CACvD,OAAQnI,EAAO,CACX,IAAK,OACM,WAEX,IAAK,MAEM,UACX,QAAS,CACL,MAAMoI,EAAY,SAASF,GAAcC,EAAY,EAAE,EACnD,OAAAC,GAAa,OAAUA,GAAa,MAC7B,OAAO,cAAcA,CAAS,EAIlC,IACX,CAER,CACA,SAASC,GAAa38C,EAAU,GAAI,CAC1B,MAAAi4C,EAAWj4C,EAAQ,WAAa,GAChC,CAAE,QAAAqwB,GAAYrwB,EACpB,SAASw4C,EAAUoE,EAAU7nB,EAAM3xB,EAAO08B,KAAW1nC,EAAM,CACjD,MAAAiL,EAAMu5C,EAAS,gBAAgB,EAGrC,GAFAv5C,EAAI,QAAUy8B,EACdz8B,EAAI,QAAUy8B,EACVzP,EAAS,CACT,MAAM8lB,EAAM8B,EAAWlC,GAAe3yC,EAAOC,CAAG,EAAI,KAC9CpO,EAAMihD,GAAmBnhB,EAAMohB,EAAK,CACtC,OAAQkG,GACR,KAAAjkD,CAAA,CACH,EACDi4B,EAAQp7B,CAAG,EACf,CAEK,SAAA4nD,EAAU/lD,EAAMgpC,EAAQqW,EAAK,CAC5B,MAAAnwB,EAAO,CAAE,KAAAlvB,CAAK,EACpB,OAAImhD,IACAjyB,EAAK,MAAQ8Z,EACb9Z,EAAK,IAAM8Z,EACX9Z,EAAK,IAAM,CAAE,MAAOmwB,EAAK,IAAKA,CAAI,GAE/BnwB,CAAA,CAEX,SAAS82B,EAAQ92B,EAAM8Z,EAAQ2Y,EAAK3hD,EAAM,CAClCmhD,IACAjyB,EAAK,IAAM8Z,EACP9Z,EAAK,MACLA,EAAK,IAAI,IAAMyyB,GAEvB,CAEK,SAAAsE,EAAUhY,EAAWj2C,EAAO,CAC3B,MAAA2hB,EAAUs0B,EAAU,QAAQ,EAC5B/e,EAAO62B,EAAU,EAAwBpsC,EAAQ,OAAQA,EAAQ,QAAQ,EAC/E,OAAAuV,EAAK,MAAQl3B,EACbguD,EAAQ92B,EAAM+e,EAAU,gBAAiBA,EAAU,iBAAiB,EAC7D/e,CAAA,CAEF,SAAAg3B,EAAUjY,EAAWvrC,EAAO,CAC3B,MAAAiX,EAAUs0B,EAAU,QAAQ,EAC5B,CAAE,WAAYjF,EAAQ,aAAcqW,CAAQ,EAAA1lC,EAC5CuV,EAAO62B,EAAU,EAAwB/c,EAAQqW,CAAG,EACrD,OAAAnwB,EAAA,MAAQ,SAASxsB,EAAO,EAAE,EAC/BurC,EAAU,UAAU,EACpB+X,EAAQ92B,EAAM+e,EAAU,gBAAiBA,EAAU,iBAAiB,EAC7D/e,CAAA,CAEF,SAAAi3B,EAAWlY,EAAW33C,EAAK,CAC1B,MAAAqjB,EAAUs0B,EAAU,QAAQ,EAC5B,CAAE,WAAYjF,EAAQ,aAAcqW,CAAQ,EAAA1lC,EAC5CuV,EAAO62B,EAAU,EAAyB/c,EAAQqW,CAAG,EAC3D,OAAAnwB,EAAK,IAAM54B,EACX23C,EAAU,UAAU,EACpB+X,EAAQ92B,EAAM+e,EAAU,gBAAiBA,EAAU,iBAAiB,EAC7D/e,CAAA,CAEF,SAAAk3B,EAAanY,EAAWj2C,EAAO,CAC9B,MAAA2hB,EAAUs0B,EAAU,QAAQ,EAC5B,CAAE,WAAYjF,EAAQ,aAAcqW,CAAQ,EAAA1lC,EAC5CuV,EAAO62B,EAAU,EAA2B/c,EAAQqW,CAAG,EAC7D,OAAAnwB,EAAK,MAAQl3B,EAAM,QAAQwtD,GAAeC,EAAkB,EAC5DxX,EAAU,UAAU,EACpB+X,EAAQ92B,EAAM+e,EAAU,gBAAiBA,EAAU,iBAAiB,EAC7D/e,CAAA,CAEX,SAASm3B,EAAoBpY,EAAW,CAC9B,MAAAzI,EAAQyI,EAAU,UAAU,EAC5Bt0B,EAAUs0B,EAAU,QAAQ,EAC5B,CAAE,WAAYjF,EAAQ,aAAcqW,CAAQ,EAAA1lC,EAC5CuV,EAAO62B,EAAU,EAAkC/c,EAAQqW,CAAG,EAChE,OAAA7Z,EAAM,OAAS,IAEfkc,EAAUzT,EAAWiR,GAAkB,iCAAkCvlC,EAAQ,aAAc,CAAC,EAChGuV,EAAK,MAAQ,GACL82B,EAAA92B,EAAM8Z,EAAQqW,CAAG,EAClB,CACH,iBAAkB7Z,EAClB,KAAAtW,CACJ,IAGAsW,EAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,CAAK,CAAC,EAElHtW,EAAA,MAAQsW,EAAM,OAAS,GAC5BwgB,EAAQ92B,EAAM+e,EAAU,gBAAiBA,EAAU,iBAAiB,EAC7D,CACH,KAAA/e,CACJ,GAEK,SAAAq3B,EAAetY,EAAWj2C,EAAO,CAChC,MAAA2hB,EAAUs0B,EAAU,QAAQ,EAC5B/e,EAAO62B,EAAU,EAA6BpsC,EAAQ,OAAQA,EAAQ,QAAQ,EACpF,OAAAuV,EAAK,MAAQl3B,EACbguD,EAAQ92B,EAAM+e,EAAU,gBAAiBA,EAAU,iBAAiB,EAC7D/e,CAAA,CAEX,SAASs3B,EAAYvY,EAAW,CACtB,MAAAt0B,EAAUs0B,EAAU,QAAQ,EAC5BwY,EAAaV,EAAU,EAA0BpsC,EAAQ,OAAQA,EAAQ,QAAQ,EACnF,IAAA6rB,EAAQyI,EAAU,UAAU,EAC5B,GAAAzI,EAAM,OAAS,EAA8B,CACvC,MAAAkhB,EAASL,EAAoBpY,CAAS,EAC5CwY,EAAW,SAAWC,EAAO,KACrBlhB,EAAAkhB,EAAO,kBAAoBzY,EAAU,UAAU,EAW3D,OARIzI,EAAM,OAAS,GACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,CAAK,CAAC,EAEvHA,EAAQyI,EAAU,UAAU,EAExBzI,EAAM,OAAS,IACfA,EAAQyI,EAAU,UAAU,GAExBzI,EAAM,KAAM,CAChB,IAAK,IACGA,EAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,CAAK,CAAC,EAEvHihB,EAAW,IAAMF,EAAetY,EAAWzI,EAAM,OAAS,EAAE,EAC5D,MACJ,IAAK,GACGA,EAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,CAAK,CAAC,EAEvHihB,EAAW,IAAMN,EAAWlY,EAAWzI,EAAM,OAAS,EAAE,EACxD,MACJ,IAAK,GACGA,EAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,CAAK,CAAC,EAEvHihB,EAAW,IAAMP,EAAUjY,EAAWzI,EAAM,OAAS,EAAE,EACvD,MACJ,IAAK,GACGA,EAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,CAAK,CAAC,EAEvHihB,EAAW,IAAML,EAAanY,EAAWzI,EAAM,OAAS,EAAE,EAC1D,MACJ,QAAS,CAELkc,EAAUzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,CAAC,EACrF,MAAAgtC,EAAc1Y,EAAU,QAAQ,EAChC2Y,EAAqBb,EAAU,EAA6BY,EAAY,OAAQA,EAAY,QAAQ,EAC1G,OAAAC,EAAmB,MAAQ,GAC3BZ,EAAQY,EAAoBD,EAAY,OAAQA,EAAY,QAAQ,EACpEF,EAAW,IAAMG,EACjBZ,EAAQS,EAAYE,EAAY,OAAQA,EAAY,QAAQ,EACrD,CACH,iBAAkBnhB,EAClB,KAAMihB,CACV,EACJ,CAEJ,OAAAT,EAAQS,EAAYxY,EAAU,gBAAiBA,EAAU,iBAAiB,EACnE,CACH,KAAMwY,CACV,EAEJ,SAASI,EAAa5Y,EAAW,CACvB,MAAAt0B,EAAUs0B,EAAU,QAAQ,EAC5B6Y,EAAcntC,EAAQ,cAAgB,EACtCs0B,EAAU,gBACVt0B,EAAQ,OACR0rC,EAAW1rC,EAAQ,cAAgB,EACnCA,EAAQ,OACRA,EAAQ,SACRuV,EAAO62B,EAAU,EAA2Be,EAAazB,CAAQ,EACvEn2B,EAAK,MAAQ,CAAC,EACd,IAAIk2B,EAAY,KACb,GACO,MAAA5f,GAAQ4f,GAAanX,EAAU,UAAU,EAE/C,OADYmX,EAAA,KACJ5f,GAAM,KAAM,CAChB,IAAK,GACGA,GAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,EAAK,CAAC,EAEvHtW,EAAK,MAAM,KAAK+2B,EAAUhY,EAAWzI,GAAM,OAAS,EAAE,CAAC,EACvD,MACJ,IAAK,GACGA,GAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,EAAK,CAAC,EAEvHtW,EAAK,MAAM,KAAKg3B,EAAUjY,EAAWzI,GAAM,OAAS,EAAE,CAAC,EACvD,MACJ,IAAK,GACGA,GAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,EAAK,CAAC,EAEvHtW,EAAK,MAAM,KAAKi3B,EAAWlY,EAAWzI,GAAM,OAAS,EAAE,CAAC,EACxD,MACJ,IAAK,GACGA,GAAM,OAAS,MACLkc,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG2sC,GAAgB9gB,EAAK,CAAC,EAEvHtW,EAAK,MAAM,KAAKk3B,EAAanY,EAAWzI,GAAM,OAAS,EAAE,CAAC,EAC1D,MACJ,IAAK,GAAgC,CAC3B,MAAAkhB,EAASF,EAAYvY,CAAS,EAC/B/e,EAAA,MAAM,KAAKw3B,EAAO,IAAI,EAC3BtB,EAAYsB,EAAO,kBAAoB,KACvC,MACJ,CAEC,OAAA/sC,EAAQ,cAAgB,IAC7BA,EAAQ,cAAgB,GAE5B,MAAMotC,EAAYptC,EAAQ,cAAgB,EACpCA,EAAQ,WACRs0B,EAAU,cAAc,EACxBqX,EAAS3rC,EAAQ,cAAgB,EACjCA,EAAQ,WACRs0B,EAAU,gBAAgB,EACxB,OAAA+X,EAAA92B,EAAM63B,EAAWzB,CAAM,EACxBp2B,CAAA,CAEX,SAAS83B,EAAY/Y,EAAWjF,EAAQqW,EAAK4H,EAAS,CAC5C,MAAAttC,EAAUs0B,EAAU,QAAQ,EAC9B,IAAAiZ,EAAkBD,EAAQ,MAAM,SAAW,EAC/C,MAAM/3B,EAAO62B,EAAU,EAA0B/c,EAAQqW,CAAG,EAC5DnwB,EAAK,MAAQ,CAAC,EACTA,EAAA,MAAM,KAAK+3B,CAAO,EACpB,GACO,MAAAtI,EAAMkI,EAAa5Y,CAAS,EAC7BiZ,IACiBA,EAAAvI,EAAI,MAAM,SAAW,GAEtCzvB,EAAA,MAAM,KAAKyvB,CAAG,QACdhlC,EAAQ,cAAgB,IACjC,OAAIutC,GACAxF,EAAUzT,EAAWiR,GAAkB,6BAA8BG,EAAK,CAAC,EAE/E2G,EAAQ92B,EAAM+e,EAAU,gBAAiBA,EAAU,iBAAiB,EAC7D/e,CAAA,CAEX,SAASi4B,EAAclZ,EAAW,CACxB,MAAAt0B,EAAUs0B,EAAU,QAAQ,EAC5B,CAAE,OAAAjF,EAAQ,SAAAqc,CAAA,EAAa1rC,EACvBstC,EAAUJ,EAAa5Y,CAAS,EAClC,OAAAt0B,EAAQ,cAAgB,GACjBstC,EAGAD,EAAY/Y,EAAWjF,EAAQqc,EAAU4B,CAAO,CAC3D,CAEJ,SAASnK,EAAM90C,EAAQ,CACnB,MAAMimC,EAAY8L,GAAgB/xC,EAAQq2C,GAAO,GAAIn1C,CAAO,CAAC,EACvDyQ,EAAUs0B,EAAU,QAAQ,EAC5B/e,EAAO62B,EAAU,EAA4BpsC,EAAQ,OAAQA,EAAQ,QAAQ,EAC/E,OAAAwnC,GAAYjyB,EAAK,MACjBA,EAAK,IAAI,OAASlnB,GAEjBknB,EAAA,KAAOi4B,EAAclZ,CAAS,EAC/B/kC,EAAQ,aACHgmB,EAAA,SAAWhmB,EAAQ,WAAWlB,CAAM,GAGzC2R,EAAQ,cAAgB,IACd+nC,EAAAzT,EAAWiR,GAAkB,4BAA6BvlC,EAAQ,aAAc,EAAG3R,EAAO2R,EAAQ,MAAM,GAAK,EAAE,EAE7HqsC,EAAQ92B,EAAM+e,EAAU,gBAAiBA,EAAU,iBAAiB,EAC7D/e,CAAA,CAEX,MAAO,CAAE,MAAA4tB,CAAM,CACnB,CACA,SAASwJ,GAAgB9gB,EAAO,CACxB,GAAAA,EAAM,OAAS,GACR,YAEX,MAAMhrC,GAAQgrC,EAAM,OAAS,IAAI,QAAQ,UAAW,KAAK,EAClD,OAAAhrC,EAAK,OAAS,GAAKA,EAAK,MAAM,EAAG,CAAC,EAAI,IAAMA,CACvD,CAEA,SAAS4sD,GAAkBC,EAAKn+C,EAAU,GACxC,CACE,MAAMu4C,EAAW,CACb,IAAA4F,EACA,YAAa,GACjB,EAMO,OAAE,QALO,IAAM5F,EAKJ,OAJFjnD,IACHinD,EAAA,QAAQ,IAAIjnD,CAAI,EAClBA,EAEc,CAC7B,CACA,SAAS8sD,GAAcC,EAAOC,EAAa,CACvC,QAAStwD,EAAI,EAAGA,EAAIqwD,EAAM,OAAQrwD,IACjBuwD,GAAAF,EAAMrwD,CAAC,EAAGswD,CAAW,CAE1C,CACA,SAASC,GAAav4B,EAAMs4B,EAAa,CAErC,OAAQt4B,EAAK,KAAM,CACf,IAAK,GACao4B,GAAAp4B,EAAK,MAAOs4B,CAAW,EACzBA,EAAA,OAAO,QAAmC,EACtD,MACJ,IAAK,GACaF,GAAAp4B,EAAK,MAAOs4B,CAAW,EACrC,MACJ,IAAK,GAA0B,CAEdC,GADEv4B,EACK,IAAKs4B,CAAW,EACxBA,EAAA,OAAO,QAAmC,EAC1CA,EAAA,OAAO,MAA+B,EAClD,MAEJ,IAAK,GACWA,EAAA,OAAO,aAA6C,EACpDA,EAAA,OAAO,MAA+B,EAClD,MACJ,IAAK,GACWA,EAAA,OAAO,aAA6C,EACpDA,EAAA,OAAO,OAAiC,EACpD,MAGZ,CAEA,SAASE,GAAUL,EAAKn+C,EAAU,GAChC,CACQ,MAAAs+C,EAAcJ,GAAkBC,CAAG,EAC7BG,EAAA,OAAO,WAAyC,EAE5DH,EAAI,MAAQI,GAAaJ,EAAI,KAAMG,CAAW,EAExC,MAAA7tC,EAAU6tC,EAAY,QAAQ,EACpCH,EAAI,QAAU,MAAM,KAAK1tC,EAAQ,OAAO,CAC5C,CAEA,SAASguC,GAASN,EAAK,CACnB,MAAM1iB,EAAO0iB,EAAI,KACb,OAAA1iB,EAAK,OAAS,EACdijB,GAAoBjjB,CAAI,EAGxBA,EAAK,MAAM,QAAahsC,GAAAivD,GAAoBjvD,CAAC,CAAC,EAE3C0uD,CACX,CACA,SAASO,GAAoBC,EAAS,CAC9B,GAAAA,EAAQ,MAAM,SAAW,EAAG,CACtB,MAAA/tD,EAAO+tD,EAAQ,MAAM,CAAC,GACxB/tD,EAAK,OAAS,GAA0BA,EAAK,OAAS,KACtD+tD,EAAQ,OAAS/tD,EAAK,MACtB,OAAOA,EAAK,MAChB,KAEC,CACD,MAAMkR,EAAS,CAAC,EAChB,QAAS9T,EAAI,EAAGA,EAAI2wD,EAAQ,MAAM,OAAQ3wD,IAAK,CACrC,MAAA4C,EAAO+tD,EAAQ,MAAM3wD,CAAC,EAIxB,GAHA,EAAE4C,EAAK,OAAS,GAA0BA,EAAK,OAAS,IAGxDA,EAAK,OAAS,KACd,MAEGkR,EAAA,KAAKlR,EAAK,KAAK,EAE1B,GAAIkR,EAAO,SAAW68C,EAAQ,MAAM,OAAQ,CAChCA,EAAA,OAASpJ,GAAKzzC,CAAM,EAC5B,QAAS9T,EAAI,EAAGA,EAAI2wD,EAAQ,MAAM,OAAQ3wD,IAAK,CACrC,MAAA4C,EAAO+tD,EAAQ,MAAM3wD,CAAC,GACxB4C,EAAK,OAAS,GAA0BA,EAAK,OAAS,IACtD,OAAOA,EAAK,KAChB,CACJ,CACJ,CAER,CAIA,SAASguD,GAAO54B,EAAM,CAElB,OADAA,EAAK,EAAIA,EAAK,KACNA,EAAK,KAAM,CACf,IAAK,GAA4B,CAC7B,MAAM64B,EAAW74B,EACjB44B,GAAOC,EAAS,IAAI,EACpBA,EAAS,EAAIA,EAAS,KACtB,OAAOA,EAAS,KAChB,MAEJ,IAAK,GAA0B,CAC3B,MAAMlD,EAAS31B,EACT84B,EAAQnD,EAAO,MACrB,QAAS3tD,EAAI,EAAGA,EAAI8wD,EAAM,OAAQ9wD,IACvB4wD,GAAAE,EAAM9wD,CAAC,CAAC,EAEnB2tD,EAAO,EAAImD,EACX,OAAOnD,EAAO,MACd,MAEJ,IAAK,GAA2B,CAC5B,MAAMgD,EAAU34B,EACVoO,EAAQuqB,EAAQ,MACtB,QAAS3wD,EAAI,EAAGA,EAAIomC,EAAM,OAAQpmC,IACvB4wD,GAAAxqB,EAAMpmC,CAAC,CAAC,EAEnB2wD,EAAQ,EAAIvqB,EACZ,OAAOuqB,EAAQ,MACXA,EAAQ,SACRA,EAAQ,EAAIA,EAAQ,OACpB,OAAOA,EAAQ,QAEnB,MAEJ,IAAK,GACL,IAAK,GACL,IAAK,GACL,IAAK,GAA6B,CAC9B,MAAMI,EAAY/4B,EACd+4B,EAAU,QACVA,EAAU,EAAIA,EAAU,MACxB,OAAOA,EAAU,OAErB,MAEJ,IAAK,GAA0B,CAC3B,MAAMC,EAASh5B,EACf44B,GAAOI,EAAO,GAAG,EACjBA,EAAO,EAAIA,EAAO,IAClB,OAAOA,EAAO,IACVA,EAAO,WACPJ,GAAOI,EAAO,QAAQ,EACtBA,EAAO,EAAIA,EAAO,SAClB,OAAOA,EAAO,UAElB,MAEJ,IAAK,GAAwB,CACzB,MAAM7qB,EAAOnO,EACbmO,EAAK,EAAIA,EAAK,MACd,OAAOA,EAAK,MACZ,MAEJ,IAAK,GAAyB,CAC1B,MAAM8qB,EAAQj5B,EACdi5B,EAAM,EAAIA,EAAM,IAChB,OAAOA,EAAM,IACb,MAQA,CAER,OAAOj5B,EAAK,IAChB,CAMA,SAASk5B,GAAoBf,EAAKn+C,EAAS,CACvC,KAAM,CAAE,UAAAm/C,EAAW,SAAAC,EAAU,cAAAC,EAAe,WAAYC,GAAgBt/C,EAClEi4C,EAAWj4C,EAAQ,WAAa,GAChCu4C,EAAW,CACb,SAAA6G,EACA,KAAM,GACN,OAAQ,EACR,KAAM,EACN,OAAQ,EACR,IAAK,OACL,cAAAC,EACA,WAAYC,EACZ,YAAa,CACjB,EACIrH,GAAYkG,EAAI,MACP5F,EAAA,OAAS4F,EAAI,IAAI,QAE9B,MAAM1tC,EAAU,IAAM8nC,EACb,SAAAhkB,EAAKQ,EAAM/O,EAAM,CACtBuyB,EAAS,MAAQxjB,CAAA,CAEZ,SAAAwqB,EAAShvD,EAAGivD,EAAgB,GAAM,CACjC,MAAAC,EAAiBD,EAAgBH,EAAgB,GACvD9qB,EAAK+qB,EAAcG,EAAiB,KAAK,OAAOlvD,CAAC,EAAIkvD,CAAc,EAE9D,SAAAC,EAAOC,EAAc,GAAM,CAC1B,MAAAC,EAAQ,EAAErH,EAAS,YACzBoH,GAAeJ,EAASK,CAAK,EAExB,SAAAC,EAASF,EAAc,GAAM,CAC5B,MAAAC,EAAQ,EAAErH,EAAS,YACzBoH,GAAeJ,EAASK,CAAK,EAEjC,SAASE,GAAU,CACfP,EAAShH,EAAS,WAAW,EAI1B,OACH,QAAA9nC,EACA,KAAA8jB,EACA,OAAAmrB,EACA,SAAAG,EACA,QAAAC,EACA,OARY1yD,GAAQ,IAAIA,CAAG,GAS3B,WARe,IAAMmrD,EAAS,UASlC,CACJ,CACA,SAASwH,GAAmBC,EAAWh6B,EAAM,CACnC,MAAE,OAAAi6B,GAAWD,EACnBA,EAAU,KAAK,GAAGC,EAAO,QAAoC,IAAG,EACnDC,GAAAF,EAAWh6B,EAAK,GAAG,EAC5BA,EAAK,UACLg6B,EAAU,KAAK,IAAI,EACNE,GAAAF,EAAWh6B,EAAK,QAAQ,EACrCg6B,EAAU,KAAK,SAAS,GAGxBA,EAAU,KAAK,oBAAoB,EAEvCA,EAAU,KAAK,GAAG,CACtB,CACA,SAASG,GAAoBH,EAAWh6B,EAAM,CACpC,MAAE,OAAAi6B,EAAQ,WAAAG,CAAA,EAAeJ,EAC/BA,EAAU,KAAK,GAAGC,EAAO,WAA0C,KAAI,EAC7DD,EAAA,OAAOI,GAAY,EACvB,MAAArkB,EAAS/V,EAAK,MAAM,OAC1B,QAASh4B,EAAI,EAAGA,EAAI+tC,IAChBmkB,GAAaF,EAAWh6B,EAAK,MAAMh4B,CAAC,CAAC,EACjCA,IAAM+tC,EAAS,GAFK/tC,IAKxBgyD,EAAU,KAAK,IAAI,EAEbA,EAAA,SAASI,GAAY,EAC/BJ,EAAU,KAAK,IAAI,CACvB,CACA,SAASK,GAAmBL,EAAWh6B,EAAM,CACnC,MAAE,OAAAi6B,EAAQ,WAAAG,CAAA,EAAeJ,EAC3B,GAAAh6B,EAAK,MAAM,OAAS,EAAG,CACvBg6B,EAAU,KAAK,GAAGC,EAAO,QAAoC,KAAI,EACvDD,EAAA,OAAOI,GAAY,EACvB,MAAArkB,EAAS/V,EAAK,MAAM,OAC1B,QAASh4B,EAAI,EAAGA,EAAI+tC,IAChBmkB,GAAaF,EAAWh6B,EAAK,MAAMh4B,CAAC,CAAC,EACjCA,IAAM+tC,EAAS,GAFK/tC,IAKxBgyD,EAAU,KAAK,IAAI,EAEbA,EAAA,SAASI,GAAY,EAC/BJ,EAAU,KAAK,IAAI,EAE3B,CACA,SAASM,GAAiBN,EAAWh6B,EAAM,CACnCA,EAAK,KACQk6B,GAAAF,EAAWh6B,EAAK,IAAI,EAGjCg6B,EAAU,KAAK,MAAM,CAE7B,CACA,SAASE,GAAaF,EAAWh6B,EAAM,CAC7B,MAAE,OAAAi6B,GAAWD,EACnB,OAAQh6B,EAAK,KAAM,CACf,IAAK,GACDs6B,GAAiBN,EAAWh6B,CAAI,EAChC,MACJ,IAAK,GACDq6B,GAAmBL,EAAWh6B,CAAI,EAClC,MACJ,IAAK,GACDm6B,GAAoBH,EAAWh6B,CAAI,EACnC,MACJ,IAAK,GACD+5B,GAAmBC,EAAWh6B,CAAI,EAClC,MACJ,IAAK,GACDg6B,EAAU,KAAK,KAAK,UAAUh6B,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACDg6B,EAAU,KAAK,KAAK,UAAUh6B,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACDg6B,EAAU,KAAK,GAAGC,EAAO,aAA8C,KAAIA,EAAO,MAAgC,KAAIj6B,EAAK,KAAK,KAAMA,CAAI,EAC1I,MACJ,IAAK,GACDg6B,EAAU,KAAK,GAAGC,EAAO,aAA8C,KAAIA,EAAO,QAAkC,IAAI,KAAK,UAAUj6B,EAAK,GAAG,CAAC,KAAMA,CAAI,EAC1J,MACJ,IAAK,GACDg6B,EAAU,KAAK,KAAK,UAAUh6B,EAAK,KAAK,EAAGA,CAAI,EAC/C,MACJ,IAAK,GACDg6B,EAAU,KAAK,KAAK,UAAUh6B,EAAK,KAAK,EAAGA,CAAI,EAC/C,KAOA,CAEZ,CAEA,MAAMu6B,GAAW,CAACpC,EAAKn+C,EAAU,KAAO,CACpC,MAAMoyB,EAAO3jC,EAASuR,EAAQ,IAAI,EAAIA,EAAQ,KAAO,SAC/Co/C,EAAW3wD,EAASuR,EAAQ,QAAQ,EACpCA,EAAQ,SACR,eACAm/C,EAAY,CAAC,CAACn/C,EAAQ,UAEtBq/C,EAAgBr/C,EAAQ,eAAiB,KACzCA,EAAQ,cACRoyB,IAAS,QACL,IACA;AAAA,EACJguB,EAAapgD,EAAQ,WAAaA,EAAQ,WAAaoyB,IAAS,QAChEouB,EAAUrC,EAAI,SAAW,CAAC,EAC1B6B,EAAYd,GAAoBf,EAAK,CACvC,KAAA/rB,EACA,SAAAgtB,EACA,UAAAD,EACA,cAAAE,EACA,WAAAe,CAAA,CACH,EACDJ,EAAU,KAAK5tB,IAAS,SAAW,2BAA6B,YAAY,EAC5E4tB,EAAU,OAAOI,CAAU,EACvBI,EAAQ,OAAS,IACjBR,EAAU,KAAK,WAAWzK,GAAKiL,EAAQ,IAAS1/C,GAAA,GAAGA,CAAC,MAAMA,CAAC,EAAE,EAAG,IAAI,CAAC,UAAU,EAC/Ek/C,EAAU,QAAQ,GAEtBA,EAAU,KAAK,SAAS,EACxBE,GAAaF,EAAW7B,CAAG,EAC3B6B,EAAU,SAASI,CAAU,EAC7BJ,EAAU,KAAK,GAAG,EAClB,OAAO7B,EAAI,QACX,KAAM,CAAE,KAAAppB,EAAM,IAAA5nC,GAAQ6yD,EAAU,QAAQ,EACjC,OACH,IAAA7B,EACA,KAAAppB,EACA,IAAK5nC,EAAMA,EAAI,OAAW,QAC9B,CACJ,EAEA,SAASszD,GAAY3hD,EAAQkB,EAAU,GAAI,CACvC,MAAM0gD,EAAkBvL,GAAO,CAAC,EAAGn1C,CAAO,EACpC2gD,EAAM,CAAC,CAACD,EAAgB,IACxBE,EAAe,CAAC,CAACF,EAAgB,OACjCG,EAAiBH,EAAgB,UAAY,KAAO,GAAOA,EAAgB,SAG3EvC,EADSxB,GAAa+D,CAAe,EACxB,MAAM5hD,CAAM,EAC/B,OAAK6hD,GAQDE,GAAkBpC,GAASN,CAAG,EAE9ByC,GAAgBhC,GAAOT,CAAG,EAEnB,CAAE,IAAAA,EAAK,KAAM,EAAG,IAVvBK,GAAUL,EAAKuC,CAAe,EAEvBH,GAASpC,EAAKuC,CAAe,EAU5C,CC3+CA;AAAA;AAAA;AAAA;AAAA,IAaA,SAASI,IAAmB,CACpB,OAAO,2BAA8B,YACrCrwD,GAAA,EAAgB,0BAA4B,GAKpD,CAEA,SAASswD,GAAO5C,EAAK,CAEV,OADM55C,GAAQy8C,GAAYz8C,EAAK45C,CAAG,CAE7C,CACA,SAAS6C,GAAYz8C,EAAK45C,EAAK,CACrB,MAAA1iB,EAAOwlB,GAAY9C,CAAG,EAC5B,GAAI1iB,GAAQ,KACF,MAAAylB,GAAwB,CAA0B,EAG5D,GADaC,GAAY1lB,CAAI,IAChB,EAA0B,CAE7B,MAAAqjB,EAAQsC,GADC3lB,CACkB,EACjC,OAAOl3B,EAAI,OAAOu6C,EAAM,OAAO,CAACzI,EAAU5mD,IAAM,CAC5C,GAAG4mD,EACHgL,GAAmB98C,EAAK9U,CAAC,CAC7B,EAAG,CAAE,EAAC,MAGC,QAAA4xD,GAAmB98C,EAAKk3B,CAAI,CAE3C,CACA,MAAM6lB,GAAa,CAAC,IAAK,MAAM,EAC/B,SAASL,GAAYj7B,EAAM,CAChB,OAAAu7B,GAAav7B,EAAMs7B,EAAU,CACxC,CACA,MAAME,GAAc,CAAC,IAAK,OAAO,EACjC,SAASJ,GAAap7B,EAAM,CACxB,OAAOu7B,GAAav7B,EAAMw7B,GAAa,EAAE,CAC7C,CACA,SAASH,GAAmB98C,EAAKyhB,EAAM,CAC7B,MAAAy7B,EAAUC,GAAc17B,CAAI,EAClC,GAAIy7B,GAAW,KACJ,OAAAl9C,EAAI,OAAS,OACdk9C,EACAl9C,EAAI,UAAU,CAACk9C,CAAO,CAAC,EAE5B,CACD,MAAMpL,EAAWsL,GAAa37B,CAAI,EAAE,OAAO,CAAC47B,EAAKnyD,IAAM,CAAC,GAAGmyD,EAAKC,GAAkBt9C,EAAK9U,CAAC,CAAC,EAAG,EAAE,EACvF,OAAA8U,EAAI,UAAU8xC,CAAQ,EAErC,CACA,MAAMyL,GAAe,CAAC,IAAK,QAAQ,EACnC,SAASJ,GAAc17B,EAAM,CAClB,OAAAu7B,GAAav7B,EAAM87B,EAAY,CAC1C,CACA,MAAMC,GAAc,CAAC,IAAK,OAAO,EACjC,SAASJ,GAAa37B,EAAM,CACxB,OAAOu7B,GAAav7B,EAAM+7B,GAAa,EAAE,CAC7C,CACA,SAASF,GAAkBt9C,EAAKyhB,EAAM,CAC5B,MAAAlvB,EAAOqqD,GAAYn7B,CAAI,EAC7B,OAAQlvB,EAAM,CACV,IAAK,GACM,OAAAkrD,GAAeh8B,EAAMlvB,CAAI,EAEpC,IAAK,GACM,OAAAkrD,GAAeh8B,EAAMlvB,CAAI,EAEpC,IAAK,GAAyB,CAC1B,MAAMmoD,EAAQj5B,EACd,GAAI93B,GAAO+wD,EAAO,GAAG,GAAKA,EAAM,EAC5B,OAAO16C,EAAI,YAAYA,EAAI,MAAM06C,EAAM,CAAC,CAAC,EAE7C,GAAI/wD,GAAO+wD,EAAO,KAAK,GAAKA,EAAM,IAC9B,OAAO16C,EAAI,YAAYA,EAAI,MAAM06C,EAAM,GAAG,CAAC,EAE/C,MAAMiC,GAAwBpqD,CAAI,EAEtC,IAAK,GAAwB,CACzB,MAAMq9B,EAAOnO,EACb,GAAI93B,GAAOimC,EAAM,GAAG,GAAK6gB,GAAS7gB,EAAK,CAAC,EACpC,OAAO5vB,EAAI,YAAYA,EAAI,KAAK4vB,EAAK,CAAC,CAAC,EAE3C,GAAIjmC,GAAOimC,EAAM,OAAO,GAAK6gB,GAAS7gB,EAAK,KAAK,EAC5C,OAAO5vB,EAAI,YAAYA,EAAI,KAAK4vB,EAAK,KAAK,CAAC,EAE/C,MAAM+sB,GAAwBpqD,CAAI,EAEtC,IAAK,GAA0B,CAC3B,MAAMkoD,EAASh5B,EACTi8B,EAAWC,GAAsBlD,CAAM,EACvC5xD,EAAM+0D,GAAiBnD,CAAM,EACnC,OAAOz6C,EAAI,OAAOs9C,GAAkBt9C,EAAKnX,CAAG,EAAG60D,EAAWJ,GAAkBt9C,EAAK09C,CAAQ,EAAI,OAAW19C,EAAI,IAAI,EAEpH,IAAK,GACM,OAAAy9C,GAAeh8B,EAAMlvB,CAAI,EAEpC,IAAK,GACM,OAAAkrD,GAAeh8B,EAAMlvB,CAAI,EAEpC,QACI,MAAM,IAAI,MAAM,0CAA0CA,CAAI,EAAE,EAE5E,CACA,MAAMsrD,GAAa,CAAC,IAAK,MAAM,EAC/B,SAASjB,GAAYn7B,EAAM,CAChB,OAAAu7B,GAAav7B,EAAMo8B,EAAU,CACxC,CACA,MAAMC,GAAc,CAAC,IAAK,OAAO,EACjC,SAASL,GAAeh8B,EAAMlvB,EAAM,CAC1B,MAAAqY,EAAWoyC,GAAav7B,EAAMq8B,EAAW,EAC/C,GAAIlzC,EACO,OAAAA,EAGP,MAAM+xC,GAAwBpqD,CAAI,CAE1C,CACA,MAAMwrD,GAAiB,CAAC,IAAK,UAAU,EACvC,SAASJ,GAAsBl8B,EAAM,CAC1B,OAAAu7B,GAAav7B,EAAMs8B,EAAc,CAC5C,CACA,MAAMC,GAAY,CAAC,IAAK,KAAK,EAC7B,SAASJ,GAAiBn8B,EAAM,CACtB,MAAA7W,EAAWoyC,GAAav7B,EAAMu8B,EAAS,EAC7C,GAAIpzC,EACO,OAAAA,EAGD,MAAA+xC,GAAwB,CAAwB,CAE9D,CACA,SAASK,GAAav7B,EAAMlc,EAAO/K,EAAc,CAC7C,QAAS/Q,EAAI,EAAGA,EAAI8b,EAAM,OAAQ9b,IAAK,CAC7B,MAAA6lB,EAAO/J,EAAM9b,CAAC,EAEpB,GAAIE,GAAO83B,EAAMnS,CAAI,GAAKmS,EAAKnS,CAAI,GAAK,KAEpC,OAAOmS,EAAKnS,CAAI,CACpB,CAEG,OAAA9U,CACX,CACA,SAASmiD,GAAwBpqD,EAAM,CACnC,OAAO,IAAI,MAAM,wBAAwBA,CAAI,EAAE,CACnD,CAQA,MAAM0rD,GAAqB7D,GAAYA,EACvC,IAAI8D,GAAe3O,GAAO,EAI1B,SAAS4O,GAAar1D,EAAK,CACvB,OAAQsB,GAAStB,CAAG,GAChB8zD,GAAY9zD,CAAG,IAAM,IACpBa,GAAOb,EAAK,GAAG,GAAKa,GAAOb,EAAK,MAAM,EAC/C,CACA,SAASozD,GAAY9B,EAAS3+C,EAAU,GAAI,CAExC,IAAI2iD,EAAc,GACZ,MAAAtyB,EAAUrwB,EAAQ,SAAWs2C,GAC3B,OAAAt2C,EAAA,QAAW/K,GAAQ,CACT0tD,EAAA,GACdtyB,EAAQp7B,CAAG,CACf,EAEO,CAAE,GAAG2tD,GAAcjE,EAAS3+C,CAAO,EAAG,YAAA2iD,CAAY,CAC7D,CAEA,SAASxrB,GAAQwnB,EAASluC,EAAS,CAE3B,GAAAhiB,EAASkwD,CAAO,EAAG,CAEK72B,GAAUrX,EAAQ,eAAe,GACnDA,EAAQ,gBAKR,MAAAua,GADava,EAAQ,YAAc+xC,IACb7D,CAAO,EAC7Bn1C,EAASi5C,GAAaz3B,CAAQ,EACpC,GAAIxhB,EACO,OAAAA,EAGX,KAAM,CAAE,IAAA20C,EAAK,YAAAwE,GAAgBlC,GAAY9B,EAAS,CAC9C,GAAGluC,EACH,SAAW,GACX,IAAK,GACR,EAEKglC,EAAMsL,GAAO5C,CAAG,EAEtB,OAAQwE,EAEFlN,EADCgN,GAAaz3B,CAAQ,EAAIyqB,CAC1B,KAEL,CAMD,MAAMzqB,EAAW2zB,EAAQ,SACzB,GAAI3zB,EAAU,CACJ,MAAAxhB,EAASi5C,GAAaz3B,CAAQ,EACpC,OAAIxhB,IAIIi5C,GAAaz3B,CAAQ,EACzB+1B,GAAOpC,CAAO,OAGlB,QAAOoC,GAAOpC,CAAO,CACzB,CAER,CAEA,IAAIkE,GAAW,KACf,SAASC,GAAgBv9C,EAAM,CAChBs9C,GAAAt9C,CACf,CAIA,SAASw9C,GAAiBC,EAAMlyC,EAAS2xB,EAAM,CAGvCogB,OAAS,KAAK,YAAa,CACvB,UAAW,KAAK,IAAI,EACpB,KAAAG,EACA,QAAAlyC,EACA,KAAA2xB,CAAA,CACH,CACT,CACA,MAAMwgB,MAC4B,oBAAoB,EACtD,SAASC,GAAmB39C,EAAM,CAC9B,OAAQ49C,GAAaN,IAAYA,GAAS,KAAKt9C,EAAM49C,CAAQ,CACjE,CAEA,MAAMC,GAAiB,CACnB,iBAAkBnN,GAClB,sBAAuB,GACvB,0BAA2B,GAC3B,+BAAgC,GAChC,iCAAkC,GAClC,kCAAmC,GACnC,wBAAyB,EAC7B,EACMoN,GAAgC,GACtC,SAASC,GAAgBvuB,EAAM,CACpB,OAAAmhB,GAAmBnhB,EAAM,KAA8E,MAAS,CAC3H,CAcA,SAASwuB,GAAU9yC,EAASzQ,EAAS,CAC1B,OAAAA,EAAQ,QAAU,KACnBwjD,GAAcxjD,EAAQ,MAAM,EAC5BwjD,GAAc/yC,EAAQ,MAAM,CACtC,CACA,IAAIgzC,GAEJ,SAASD,GAAc3O,EAAQ,CACvB,GAAApmD,EAASomD,CAAM,EACR,OAAAA,EAGH,GAAArmD,GAAWqmD,CAAM,EAAG,CAChB,GAAAA,EAAO,cAAgB4O,IAAkB,KAClC,OAAAA,GAEF,GAAA5O,EAAO,YAAY,OAAS,WAAY,CAC7C,MAAMzrC,EAAUyrC,EAAO,EACnB,GAAAjmD,GAAUwa,CAAO,EACX,MAAAk6C,GAAgBF,GAAe,gCAAgC,EAEzE,OAAQK,GAAiBr6C,CAAA,KAGnB,OAAAk6C,GAAgBF,GAAe,iCAAiC,CAC1E,KAGM,OAAAE,GAAgBF,GAAe,uBAAuB,CAGxE,CAiBA,SAASM,GAAmBn/C,EAAKwF,EAAU3G,EAAO,CAEvC,OAAC,GAAG,IAAI,IAAI,CACXA,EACA,GAAIjV,GAAQ4b,CAAQ,EACdA,EACApb,GAASob,CAAQ,EACb,OAAO,KAAKA,CAAQ,EACpBtb,EAASsb,CAAQ,EACb,CAACA,CAAQ,EACT,CAAC3G,CAAK,EACvB,CAAC,CACV,CAiBA,SAASugD,GAAwBp/C,EAAKwF,EAAU3G,EAAO,CACnD,MAAMwgD,EAAcn1D,EAAS2U,CAAK,EAAIA,EAAQygD,GACxCpzC,EAAUlM,EACXkM,EAAQ,qBACDA,EAAA,uBAAyB,KAErC,IAAIqzC,EAAQrzC,EAAQ,mBAAmB,IAAImzC,CAAW,EACtD,GAAI,CAACE,EAAO,CACRA,EAAQ,CAAC,EAEL,IAAAC,EAAQ,CAAC3gD,CAAK,EAEX,KAAAjV,GAAQ41D,CAAK,GACRA,EAAAC,GAAmBF,EAAOC,EAAOh6C,CAAQ,EAIrD,MAAMimB,EAAW7hC,GAAQ4b,CAAQ,GAAK,CAAC/a,GAAc+a,CAAQ,EACvDA,EACAA,EAAS,QACLA,EAAS,QACT,KAEVg6C,EAAQt1D,EAASuhC,CAAQ,EAAI,CAACA,CAAQ,EAAIA,EACtC7hC,GAAQ41D,CAAK,GACMC,GAAAF,EAAOC,EAAO,EAAK,EAElCtzC,EAAA,mBAAmB,IAAImzC,EAAaE,CAAK,EAE9C,OAAAA,CACX,CACA,SAASE,GAAmBF,EAAOC,EAAOE,EAAQ,CAC9C,IAAIC,EAAS,GACJ,UAAI,EAAG,EAAIH,EAAM,QAAUj8B,GAAUo8B,CAAM,EAAG,IAAK,CAClD,MAAArP,EAASkP,EAAM,CAAC,EAClBt1D,EAASomD,CAAM,IACfqP,EAASC,GAAoBL,EAAOC,EAAM,CAAC,EAAGE,CAAM,EACxD,CAEG,OAAAC,CACX,CACA,SAASC,GAAoBL,EAAOjP,EAAQoP,EAAQ,CAC5C,IAAAC,EACE,MAAAE,EAASvP,EAAO,MAAM,GAAG,EAC5B,GACO,MAAAh+C,EAASutD,EAAO,KAAK,GAAG,EACrBF,EAAAG,GAAkBP,EAAOjtD,EAAQotD,CAAM,EACzCG,EAAA,OAAO,GAAI,CAAC,QACdA,EAAO,QAAUF,IAAW,IAC9B,OAAAA,CACX,CACA,SAASG,GAAkBP,EAAOjtD,EAAQotD,EAAQ,CAC9C,IAAIC,EAAS,GACb,GAAI,CAACJ,EAAM,SAASjtD,CAAM,IACbqtD,EAAA,GACLrtD,GAAQ,CACRqtD,EAASrtD,EAAOA,EAAO,OAAS,CAAC,IAAM,IACvC,MAAMg+C,EAASh+C,EAAO,QAAQ,KAAM,EAAE,EACtCitD,EAAM,KAAKjP,CAAM,GACZ1mD,GAAQ81D,CAAM,GAAKj1D,GAAci1D,CAAM,IACxCA,EAAOpP,CAAM,IAGbqP,EAASD,EAAOpP,CAAM,EAC1B,CAGD,OAAAqP,CACX,CAEA,MAAMI,GAAmB,CAAC,EAC1BA,GAAiB,CAA0B,EAAI,CAC1C,EAAoC,CAAC,CAA0B,EAC/D,EAAgC,CAAC,EAAyB,CAAsB,EAChF,IAAuC,CAAC,CAA0B,EAClE,EAAsC,CAAC,EAC5C,EACAA,GAAiB,CAAsB,EAAI,CACtC,EAAoC,CAAC,CAAsB,EAC3D,IAA8B,CAAC,CAA2B,EAC1D,IAAuC,CAAC,CAA0B,EAClE,EAAsC,CAAC,EAC5C,EACAA,GAAiB,CAA2B,EAAI,CAC3C,EAAoC,CAAC,CAA2B,EAChE,EAAgC,CAAC,EAAyB,CAAsB,EAChF,EAA+B,CAAC,EAAyB,EAC9D,EACAA,GAAiB,CAAuB,EAAI,CACvC,EAAgC,CAAC,EAAyB,CAAsB,EAChF,EAA+B,CAAC,EAAyB,CAAsB,EAC/E,EAAoC,CAAC,EAAwB,CAAoB,EACjF,IAA8B,CAAC,EAA6B,CAAoB,EAChF,IAAuC,CAAC,EAA4B,CAAoB,EACxF,EAAsC,CAAC,EAA2B,EACvE,EACAA,GAAiB,CAA0B,EAAI,CAC1C,IAAuC,CAAC,EAAgC,CAAsB,EAC9F,IAAwC,CAAC,EAAgC,CAAsB,EAC/F,IAAuC,CACpC,EACA,CACJ,EACC,IAAwC,CAAC,EAAwB,CAA6B,EAC9F,EAAsC,EACtC,EAA+B,CAAC,EAA4B,EACjE,EACAA,GAAiB,CAA8B,EAAI,CAC9C,IAAuC,CAAC,EAA4B,CAAsB,EAC1F,EAAsC,EACtC,EAA+B,CAAC,EAAgC,EACrE,EACAA,GAAiB,CAA8B,EAAI,CAC9C,IAAwC,CAAC,EAA4B,CAAsB,EAC3F,EAAsC,EACtC,EAA+B,CAAC,EAAgC,EACrE,EAIA,MAAMC,GAAiB,kDACvB,SAASzJ,GAAU0J,EAAK,CACb,OAAAD,GAAe,KAAKC,CAAG,CAClC,CAIA,SAASC,GAAYv3D,EAAK,CAChB,MAAAyE,EAAIzE,EAAI,WAAW,CAAC,EACpB0E,EAAI1E,EAAI,WAAWA,EAAI,OAAS,CAAC,EAChC,OAAAyE,IAAMC,IAAMD,IAAM,IAAQA,IAAM,IAAQzE,EAAI,MAAM,EAAG,EAAE,EAAIA,CACtE,CAIA,SAASw3D,GAAgB5L,EAAI,CACrB,GAAoBA,GAAO,KACpB,UAGX,OADaA,EAAG,WAAW,CAAC,EACd,CACV,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACL,IAAK,IACM,OAAAA,EACX,IAAK,IACL,IAAK,IACL,IAAK,IACM,UACX,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,KACL,IAAK,OACL,IAAK,MACL,IAAK,MACM,UAER,SACX,CAMA,SAAS6L,GAActlC,EAAM,CACnB,MAAAulC,EAAUvlC,EAAK,KAAK,EAEtB,OAAAA,EAAK,OAAO,CAAC,IAAM,KAAO,MAAM,SAASA,CAAI,CAAC,EACvC,GAEJy7B,GAAU8J,CAAO,EAClBH,GAAYG,CAAO,EACnB,IAAmCA,CAC7C,CAIA,SAAShR,GAAMv0B,EAAM,CACjB,MAAM1V,EAAO,CAAC,EACd,IAAInQ,EAAQ,GACR44B,EAAO,EACPyyB,EAAe,EACfp1D,EACArC,EACA03D,EACAhuD,EACA4gB,EACAqtC,EACAC,EACJ,MAAMC,EAAU,CAAC,EACjBA,EAAQ,GAA0B,IAAM,CAChC73D,IAAQ,OACFA,EAAA03D,EAGC13D,GAAA03D,CAEf,EACAG,EAAQ,GAAwB,IAAM,CAC9B73D,IAAQ,SACRuc,EAAK,KAAKvc,CAAG,EACPA,EAAA,OAEd,EACA63D,EAAQ,GAAsC,IAAM,CAChDA,EAAQ,GAAwB,EAChCJ,GACJ,EACAI,EAAQ,GAAiC,IAAM,CAC3C,GAAIJ,EAAe,EACfA,IACOzyB,EAAA,EACP6yB,EAAQ,GAAwB,MAE/B,CAMD,GALeJ,EAAA,EACXz3D,IAAQ,SAGZA,EAAMu3D,GAAcv3D,CAAG,EACnBA,IAAQ,IACD,SAGP63D,EAAQ,GAAsB,CAClC,CAER,EACA,SAASC,GAAqB,CACpB,MAAAC,EAAW9lC,EAAK7lB,EAAQ,CAAC,EAC/B,GAAK44B,IAAS,GACV+yB,IAAa,KACZ/yB,IAAS,GACN+yB,IAAa,IACjB,OAAA3rD,IACAsrD,EAAU,KAAOK,EACjBF,EAAQ,GAAwB,EACzB,EACX,CAEJ,KAAO7yB,IAAS,MAGR,GAFJ54B,IACA/J,EAAI4vB,EAAK7lB,CAAK,EACV,EAAA/J,IAAM,MAAQy1D,KAWd,IARJpuD,EAAO4tD,GAAgBj1D,CAAC,EACxBu1D,EAAUV,GAAiBlyB,CAAI,EAClB1a,EAAAstC,EAAQluD,CAAI,GAAKkuD,EAAQ,GAAiC,EAEnEttC,IAAe,IAGnB0a,EAAO1a,EAAW,CAAC,EACfA,EAAW,CAAC,IAAM,SACTqtC,EAAAE,EAAQvtC,EAAW,CAAC,CAAC,EAC1BqtC,IACUD,EAAAr1D,EACNs1D,MAAa,MACb,OAKZ,GAAI3yB,IAAS,EACF,OAAAzoB,EAGnB,CAEA,MAAMta,OAAY,IAclB,SAAS+1D,GAAoBh1D,EAAKivB,EAAM,CACpC,OAAO1wB,GAASyB,CAAG,EAAIA,EAAIivB,CAAI,EAAI,IACvC,CAcA,SAASgmC,GAAaj1D,EAAKivB,EAAM,CAEzB,IAAC1wB,GAASyB,CAAG,EACN,YAGP,IAAAk1D,EAAMj2D,GAAM,IAAIgwB,CAAI,EAQxB,GAPKimC,IACDA,EAAM1R,GAAMv0B,CAAI,EACZimC,GACMj2D,GAAA,IAAIgwB,EAAMimC,CAAG,GAIvB,CAACA,EACM,YAGX,MAAMjnC,EAAMinC,EAAI,OAChB,IAAIjyD,EAAOjD,EACPpC,EAAI,EACR,KAAOA,EAAIqwB,GAAK,CACZ,MAAMhxB,EAAMgG,EAAKiyD,EAAIt3D,CAAC,CAAC,EAInB,GAHAX,IAAQ,QAGRmB,GAAW6E,CAAI,EACR,YAEJA,EAAAhG,EACPW,GAAA,CAEG,OAAAqF,CACX,CA+BA,MAAMkyD,GAAU,SACVC,GAAe,GACf3B,GAAiB,QACjB4B,GAAwB,GACxB71D,GAAc1C,GAAQ,GAAGA,EAAI,OAAO,CAAC,EAAE,kBAAmB,IAAGA,EAAI,OAAO,CAAC,CAAC,GAChF,SAASw4D,IAA4B,CAC1B,OACH,MAAO,CAACr4D,EAAKyJ,IAEFA,IAAS,QAAUrI,EAASpB,CAAG,EAChCA,EAAI,cACJyJ,IAAS,SAAWnI,GAAStB,CAAG,GAAK,gBAAiBA,EAClDA,EAAI,SAAS,cACbA,EAEd,MAAO,CAACA,EAAKyJ,IAEFA,IAAS,QAAUrI,EAASpB,CAAG,EAChCA,EAAI,cACJyJ,IAAS,SAAWnI,GAAStB,CAAG,GAAK,gBAAiBA,EAClDA,EAAI,SAAS,cACbA,EAEd,WAAY,CAACA,EAAKyJ,IAENA,IAAS,QAAUrI,EAASpB,CAAG,EACjCuC,GAAWvC,CAAG,EACdyJ,IAAS,SAAWnI,GAAStB,CAAG,GAAK,gBAAiBA,EAClDuC,GAAWvC,EAAI,QAAQ,EACvBA,CAElB,CACJ,CACA,IAAIs4D,GACJ,SAASC,GAAwBC,EAAU,CAC3BF,GAAAE,CAChB,CACA,IAAIC,GAQJ,SAASC,GAAwBrW,EAAU,CAC3BoW,GAAApW,CAChB,CACA,IAAIsW,GAQJ,SAASC,GAAyBC,EAAY,CAC5BF,GAAAE,CAClB,CAEA,IAAIC,GAAkB,KAEtB,MAAMC,GAAqB3jB,GAAS,CACd0jB,GAAA1jB,CACtB,EAEM4jB,GAAoB,IAAMF,GAChC,IAAIG,GAAmB,KACvB,MAAMC,GAAsB91C,GAAY,CACjB61C,GAAA71C,CACvB,EACM+1C,GAAqB,IAAMF,GAEjC,IAAIG,GAAO,EACX,SAASC,GAAkB1mD,EAAU,GAAI,CAErC,MAAM2mD,EAASn4D,GAAWwR,EAAQ,MAAM,EAAIA,EAAQ,OAASw1C,GACvD1kC,EAAUriB,EAASuR,EAAQ,OAAO,EAAIA,EAAQ,QAAUulD,GACxD1Q,EAASpmD,EAASuR,EAAQ,MAAM,GAAKxR,GAAWwR,EAAQ,MAAM,EAC9DA,EAAQ,OACR6jD,GACA+C,EAAUp4D,GAAWqmD,CAAM,EAAIgP,GAAiBhP,EAChDgS,EAAiB14D,GAAQ6R,EAAQ,cAAc,GACjDhR,GAAcgR,EAAQ,cAAc,GACpCvR,EAASuR,EAAQ,cAAc,GAC/BA,EAAQ,iBAAmB,GACzBA,EAAQ,eACR4mD,EACAvQ,EAAWrnD,GAAcgR,EAAQ,QAAQ,EACzCA,EAAQ,SACR8mD,GAAgBF,CAAO,EACvBG,EAAkB/3D,GAAcgR,EAAQ,eAAe,EACnDA,EAAQ,gBACR8mD,GAAgBF,CAAO,EAE3BI,EAAgBh4D,GAAcgR,EAAQ,aAAa,EAC/CA,EAAQ,cACR8mD,GAAgBF,CAAO,EAE3B1hD,EAAYiwC,GAAOrB,GAAA,EAAU9zC,EAAQ,UAAW0lD,IAA2B,EAC3EuB,EAAcjnD,EAAQ,aAAe8zC,GAAO,EAC5CoT,EAAU14D,GAAWwR,EAAQ,OAAO,EAAIA,EAAQ,QAAU,KAC1DmnD,EAAcr/B,GAAU9nB,EAAQ,WAAW,GAAKi1C,GAASj1C,EAAQ,WAAW,EAC5EA,EAAQ,YACR,GACAonD,EAAet/B,GAAU9nB,EAAQ,YAAY,GAAKi1C,GAASj1C,EAAQ,YAAY,EAC/EA,EAAQ,aACR,GACAqnD,EAAiB,CAAC,CAACrnD,EAAQ,eAC3BsnD,EAAc,CAAC,CAACtnD,EAAQ,YACxBunD,EAAkB/4D,GAAWwR,EAAQ,eAAe,EACpDA,EAAQ,gBACR,KACAwnD,EAAYx4D,GAAcgR,EAAQ,SAAS,EAAIA,EAAQ,UAAY,KACnEynD,EAAkB3/B,GAAU9nB,EAAQ,eAAe,EACnDA,EAAQ,gBACR,GACA0nD,EAAkB,CAAC,CAAC1nD,EAAQ,gBAC5B2nD,EAAkBn5D,GAAWwR,EAAQ,eAAe,EACpDA,EAAQ,gBACR2lD,GAOAiC,EAAkBp5D,GAAWwR,EAAQ,eAAe,EACpDA,EAAQ,gBACR8lD,IAAaV,GACbyC,EAAmBr5D,GAAWwR,EAAQ,gBAAgB,EACtDA,EAAQ,iBACRgmD,IAAetC,GACfoE,EAAkBn5D,GAASqR,EAAQ,eAAe,EAClDA,EAAQ,gBACR,OAEA+nD,EAAkB/nD,EAClBgoD,GAAuBr5D,GAASo5D,EAAgB,oBAAoB,EAChEA,EAAgB,yBACZ,IAERE,EAAqBt5D,GAASo5D,EAAgB,kBAAkB,EAC5DA,EAAgB,uBACZ,IAERG,EAASv5D,GAASo5D,EAAgB,MAAM,EAAIA,EAAgB,OAAS,CAAC,EAC5EtB,KACA,MAAMh2C,EAAU,CACZ,QAAAK,EACA,IAAK21C,GACL,OAAA5R,EACA,eAAAgS,EACA,SAAAxQ,EACA,UAAAnxC,EACA,YAAA+hD,EACA,QAAAC,EACA,YAAAC,EACA,aAAAC,EACA,eAAAC,EACA,YAAAC,EACA,gBAAAC,EACA,UAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,gBAAAC,EACA,iBAAAC,EACA,gBAAAC,EACA,OAAAnB,EACA,OAAAuB,CACJ,EAEI,OAAAz3C,EAAQ,gBAAkBs2C,EAC1Bt2C,EAAQ,cAAgBu2C,EACxBv2C,EAAQ,qBAAuBu3C,GAC/Bv3C,EAAQ,mBAAqBw3C,EAUc,2BAC1BlF,GAAAtyC,EAASK,EAASo3C,CAAM,EAEtCz3C,CACX,CACA,MAAMq2C,GAAmBjS,IAAY,CAAE,CAACA,CAAM,EAAGf,GAAS,IAU1D,SAASqU,GAAc13C,EAASrjB,EAAKynD,EAAQsS,EAAarwD,EAAM,CACtD,MAAE,QAAAowD,EAAS,OAAAP,CAAA,EAAWl2C,EAa5B,GAAIy2C,IAAY,KAAM,CAClB,MAAM/1D,EAAM+1D,EAAQz2C,EAASokC,EAAQznD,EAAK0J,CAAI,EACvC,OAAArI,EAAS0C,CAAG,EAAIA,EAAM/D,CAAA,KAMtB,QAAAA,CAEf,CAEA,SAASg7D,GAAqB7jD,EAAKswC,EAAQ9qC,EAAU,CACjD,MAAM0G,EAAUlM,EACRkM,EAAA,uBAAyB,IAC7BlM,EAAA,iBAAiBA,EAAKwF,EAAU8qC,CAAM,CAC9C,CAEA,SAASwT,GAAmBxT,EAAQyT,EAAe,CAC/C,OAAIzT,IAAWyT,EACJ,GACJzT,EAAO,MAAM,GAAG,EAAE,CAAC,IAAMyT,EAAc,MAAM,GAAG,EAAE,CAAC,CAC9D,CAEA,SAASC,GAAmBC,EAAcC,EAAS,CACzC,MAAAjvD,EAAQivD,EAAQ,QAAQD,CAAY,EAC1C,GAAIhvD,IAAU,GACH,SAEX,QAASxL,EAAIwL,EAAQ,EAAGxL,EAAIy6D,EAAQ,OAAQz6D,IACxC,GAAIq6D,GAAmBG,EAAcC,EAAQz6D,CAAC,CAAC,EACpC,SAGR,QACX,CAUA,SAAS06D,GAASj4C,KAAYrY,EAAM,CAChC,KAAM,CAAE,gBAAA2uD,EAAiB,YAAAO,EAAa,eAAAT,EAAgB,OAAAF,EAAQ,iBAAAkB,GAAqBp3C,EAC7E,CAAE,qBAAAu3C,GAAyBv3C,EAK3B,CAACrjB,EAAK0B,EAAOkR,EAAS2oD,CAAS,EAAIC,GAAkB,GAAGxwD,CAAI,EAC5D+uD,EAAcr/B,GAAU9nB,EAAQ,WAAW,EAC3CA,EAAQ,YACRyQ,EAAQ,YACOqX,GAAU9nB,EAAQ,YAAY,EAC7CA,EAAQ,aACRyQ,EAAQ,aACR,MAAAo4C,EAAO,CAAC,CAAC7oD,EAAQ,KACjB60C,EAAS0O,GAAU9yC,EAASzQ,CAAO,EACnCyoD,EAAUZ,EAAiBp3C,EACjCo2C,EAAgBhS,CAAM,EACtB,GAAI,CAACpmD,EAASrB,CAAG,GAAKA,IAAQ,GAC1B,OAAO,IAAI,KAAK,eAAeynD,EAAQ8T,CAAS,EAAE,OAAO75D,CAAK,EAGlE,IAAIg6D,EAAiB,CAAC,EAClBN,EACAzH,EAAS,KAGb,MAAMjqD,EAAO,kBACb,QAAS9I,EAAI,EAAGA,EAAIy6D,EAAQ,SACTD,EAAKC,EAAQz6D,CAAC,EAuBzB86D,EAAA/B,EAAgByB,CAAY,GAAK,CAAC,EACtCzH,EAAS+H,EAAe17D,CAAG,EACvB,CAAA4B,GAAc+xD,CAAM,GA1BQ/yD,IA4BhCm6D,GAAc13C,EAASrjB,EAAKo7D,EAAcrB,EAAarwD,CAAI,EAI/D,GAAI,CAAC9H,GAAc+xD,CAAM,GAAK,CAACtyD,EAAS+5D,CAAY,EAChD,OAAOlB,EAAc9B,GAAep4D,EAExC,IAAI+V,EAAK,GAAGqlD,CAAY,KAAKp7D,CAAG,GAC3B8nD,GAAcyT,CAAS,IACxBxlD,EAAK,GAAGA,CAAE,KAAK,KAAK,UAAUwlD,CAAS,CAAC,IAExC,IAAAI,EAAYf,EAAqB,IAAI7kD,CAAE,EAC3C,OAAK4lD,IACWA,EAAA,IAAI,KAAK,eAAeP,EAAcrT,GAAO,CAAC,EAAG4L,EAAQ4H,CAAS,CAAC,EAC1DX,EAAA,IAAI7kD,EAAI4lD,CAAS,GAElCF,EAAiCE,EAAU,cAAcj6D,CAAK,EAAvDi6D,EAAU,OAAOj6D,CAAK,CACzC,CAEA,MAAMk6D,GAA+B,CACjC,gBACA,UACA,MACA,OACA,QACA,MACA,OACA,SACA,SACA,eACA,gBACA,SACA,WACA,YACA,YACA,WACA,YACA,kBACA,YACA,wBACJ,EAEA,SAASJ,MAAqBxwD,EAAM,CAChC,KAAM,CAAC6wD,EAAMC,EAAMC,EAAMC,CAAI,EAAIhxD,EAC3B4H,EAAU8zC,GAAO,EACvB,IAAI6U,EAAY7U,GAAO,EACnBhlD,EACA,GAAAL,EAASw6D,CAAI,EAAG,CAGV,MAAAl6B,EAAUk6B,EAAK,MAAM,gCAAgC,EAC3D,GAAI,CAACl6B,EACK,MAAAu0B,GAAgBF,GAAe,yBAAyB,EAIlE,MAAMiG,EAAWt6B,EAAQ,CAAC,EACpBA,EAAQ,CAAC,EAAE,KAAK,EAAE,WAAW,GAAG,EAC5B,GAAGA,EAAQ,CAAC,EAAE,MAAM,GAAGA,EAAQ,CAAC,EAAE,MAAM,GACxC,GAAGA,EAAQ,CAAC,EAAE,MAAM,IAAIA,EAAQ,CAAC,EAAE,KAAM,IAC7CA,EAAQ,CAAC,EAAE,KAAK,EACdjgC,EAAA,IAAI,KAAKu6D,CAAQ,EACrB,IAEAv6D,EAAM,YAAY,OAEhB,CACI,MAAAw0D,GAAgBF,GAAe,yBAAyB,EAClE,SAEK70D,GAAO06D,CAAI,EAAG,CACnB,GAAI,MAAMA,EAAK,QAAQ,CAAC,EACd,MAAA3F,GAAgBF,GAAe,qBAAqB,EAEtDt0D,EAAAm6D,CAAA,SAEHjU,GAASiU,CAAI,EACVn6D,EAAAm6D,MAGF,OAAA3F,GAAgBF,GAAe,gBAAgB,EAErD,OAAA30D,EAASy6D,CAAI,EACblpD,EAAQ,IAAMkpD,EAETl6D,GAAck6D,CAAI,GACvB,OAAO,KAAKA,CAAI,EAAE,QAAe97D,GAAA,CACzB47D,GAA6B,SAAS57D,CAAG,EAC/Bu7D,EAAAv7D,CAAG,EAAI87D,EAAK97D,CAAG,EAGjB4S,EAAA5S,CAAG,EAAI87D,EAAK97D,CAAG,CAC3B,CACH,EAEDqB,EAAS06D,CAAI,EACbnpD,EAAQ,OAASmpD,EAEZn6D,GAAcm6D,CAAI,IACXR,EAAAQ,GAEZn6D,GAAco6D,CAAI,IACNT,EAAAS,GAET,CAACppD,EAAQ,KAAO,GAAIlR,EAAOkR,EAAS2oD,CAAS,CACxD,CAEA,SAASW,GAAoB/kD,EAAKswC,EAAQkM,EAAQ,CAC9C,MAAMtwC,EAAUlM,EAChB,UAAWnX,KAAO2zD,EAAQ,CACtB,MAAM59C,EAAK,GAAG0xC,CAAM,KAAKznD,CAAG,GACvBqjB,EAAQ,qBAAqB,IAAItN,CAAE,GAGhCsN,EAAA,qBAAqB,OAAOtN,CAAE,EAE9C,CAGA,SAAS2mB,GAAOrZ,KAAYrY,EAAM,CAC9B,KAAM,CAAE,cAAA4uD,EAAe,YAAAM,EAAa,eAAAT,EAAgB,OAAAF,EAAQ,iBAAAkB,GAAqBp3C,EAC3E,CAAE,mBAAAw3C,GAAuBx3C,EAKzB,CAACrjB,EAAK0B,EAAOkR,EAAS2oD,CAAS,EAAIY,GAAgB,GAAGnxD,CAAI,EAC1D+uD,EAAcr/B,GAAU9nB,EAAQ,WAAW,EAC3CA,EAAQ,YACRyQ,EAAQ,YACOqX,GAAU9nB,EAAQ,YAAY,EAC7CA,EAAQ,aACRyQ,EAAQ,aACR,MAAAo4C,EAAO,CAAC,CAAC7oD,EAAQ,KACjB60C,EAAS0O,GAAU9yC,EAASzQ,CAAO,EACnCyoD,EAAUZ,EAAiBp3C,EACjCo2C,EAAgBhS,CAAM,EACtB,GAAI,CAACpmD,EAASrB,CAAG,GAAKA,IAAQ,GAC1B,OAAO,IAAI,KAAK,aAAaynD,EAAQ8T,CAAS,EAAE,OAAO75D,CAAK,EAGhE,IAAI06D,EAAe,CAAC,EAChBhB,EACAzH,EAAS,KAGb,MAAMjqD,EAAO,gBACb,QAAS9I,EAAI,EAAGA,EAAIy6D,EAAQ,SACTD,EAAKC,EAAQz6D,CAAC,EAuBzBw7D,EAAAxC,EAAcwB,CAAY,GAAK,CAAC,EACpCzH,EAASyI,EAAap8D,CAAG,EACrB,CAAA4B,GAAc+xD,CAAM,GA1BQ/yD,IA4BhCm6D,GAAc13C,EAASrjB,EAAKo7D,EAAcrB,EAAarwD,CAAI,EAI/D,GAAI,CAAC9H,GAAc+xD,CAAM,GAAK,CAACtyD,EAAS+5D,CAAY,EAChD,OAAOlB,EAAc9B,GAAep4D,EAExC,IAAI+V,EAAK,GAAGqlD,CAAY,KAAKp7D,CAAG,GAC3B8nD,GAAcyT,CAAS,IACxBxlD,EAAK,GAAGA,CAAE,KAAK,KAAK,UAAUwlD,CAAS,CAAC,IAExC,IAAAI,EAAYd,EAAmB,IAAI9kD,CAAE,EACzC,OAAK4lD,IACWA,EAAA,IAAI,KAAK,aAAaP,EAAcrT,GAAO,CAAC,EAAG4L,EAAQ4H,CAAS,CAAC,EAC1DV,EAAA,IAAI9kD,EAAI4lD,CAAS,GAEhCF,EAAiCE,EAAU,cAAcj6D,CAAK,EAAvDi6D,EAAU,OAAOj6D,CAAK,CACzC,CAEA,MAAM26D,GAA6B,CAC/B,gBACA,QACA,WACA,kBACA,eACA,cACA,uBACA,wBACA,wBACA,2BACA,2BACA,iBACA,WACA,cACA,OACA,cACA,eACA,mBACA,oBACA,qBACJ,EAEA,SAASF,MAAmBnxD,EAAM,CAC9B,KAAM,CAAC6wD,EAAMC,EAAMC,EAAMC,CAAI,EAAIhxD,EAC3B4H,EAAU8zC,GAAO,EACvB,IAAI6U,EAAY7U,GAAO,EACnB,IAACkB,GAASiU,CAAI,EACR,MAAA3F,GAAgBF,GAAe,gBAAgB,EAEzD,MAAMt0D,EAAQm6D,EACV,OAAAx6D,EAASy6D,CAAI,EACblpD,EAAQ,IAAMkpD,EAETl6D,GAAck6D,CAAI,GACvB,OAAO,KAAKA,CAAI,EAAE,QAAe97D,GAAA,CACzBq8D,GAA2B,SAASr8D,CAAG,EAC7Bu7D,EAAAv7D,CAAG,EAAI87D,EAAK97D,CAAG,EAGjB4S,EAAA5S,CAAG,EAAI87D,EAAK97D,CAAG,CAC3B,CACH,EAEDqB,EAAS06D,CAAI,EACbnpD,EAAQ,OAASmpD,EAEZn6D,GAAcm6D,CAAI,IACXR,EAAAQ,GAEZn6D,GAAco6D,CAAI,IACNT,EAAAS,GAET,CAACppD,EAAQ,KAAO,GAAIlR,EAAOkR,EAAS2oD,CAAS,CACxD,CAEA,SAASe,GAAkBnlD,EAAKswC,EAAQkM,EAAQ,CAC5C,MAAMtwC,EAAUlM,EAChB,UAAWnX,KAAO2zD,EAAQ,CACtB,MAAM59C,EAAK,GAAG0xC,CAAM,KAAKznD,CAAG,GACvBqjB,EAAQ,mBAAmB,IAAItN,CAAE,GAG9BsN,EAAA,mBAAmB,OAAOtN,CAAE,EAE5C,CAEA,MAAMwmD,GAAoBz8D,GAAQA,EAC5B08D,GAAmBrlD,GAAQ,GAC3BslD,GAA4B,OAC5BC,GAAqBhoD,GAAWA,EAAO,SAAW,EAAI,GAAKyzC,GAAKzzC,CAAM,EACtEioD,GAAsBx3D,GAC5B,SAASy3D,GAAcC,EAAQC,EAAe,CAE1C,OADSD,EAAA,KAAK,IAAIA,CAAM,EACpBC,IAAkB,EAEXD,EACDA,EAAS,EACL,EACA,EACJ,EAEHA,EAAS,KAAK,IAAIA,EAAQ,CAAC,EAAI,CAC1C,CACA,SAASE,GAAenqD,EAAS,CAE7B,MAAMxG,EAAQw7C,GAASh1C,EAAQ,WAAW,EACpCA,EAAQ,YACR,GAEN,OAAOA,EAAQ,QAAUg1C,GAASh1C,EAAQ,MAAM,KAAK,GAAKg1C,GAASh1C,EAAQ,MAAM,CAAC,GAC5Eg1C,GAASh1C,EAAQ,MAAM,KAAK,EACxBA,EAAQ,MAAM,MACdg1C,GAASh1C,EAAQ,MAAM,CAAC,EACpBA,EAAQ,MAAM,EACdxG,EACRA,CACV,CACA,SAAS4wD,GAAeC,EAAavgD,EAAO,CACnCA,EAAM,QACPA,EAAM,MAAQugD,GAEbvgD,EAAM,IACPA,EAAM,EAAIugD,EAElB,CACA,SAASC,GAAqBtqD,EAAU,GAAI,CACxC,MAAM60C,EAAS70C,EAAQ,OACjBqqD,EAAcF,GAAenqD,CAAO,EACpCuqD,EAAa57D,GAASqR,EAAQ,WAAW,GAC3CvR,EAASomD,CAAM,GACfrmD,GAAWwR,EAAQ,YAAY60C,CAAM,CAAC,EACpC70C,EAAQ,YAAY60C,CAAM,EAC1BmV,GACAQ,EAAgB77D,GAASqR,EAAQ,WAAW,GAC9CvR,EAASomD,CAAM,GACfrmD,GAAWwR,EAAQ,YAAY60C,CAAM,CAAC,EACpCmV,GACA,OACArO,EAAUtF,GACLA,EAASkU,EAAWF,EAAahU,EAAS,OAAQmU,CAAa,CAAC,EAErEC,EAAQzqD,EAAQ,MAAQ,CAAC,EACzBm0B,EAAQ36B,GAAUixD,EAAMjxD,CAAK,EAE7BkxD,EAAS1qD,EAAQ,OAAS8zC,GAAO,EACvCkB,GAASh1C,EAAQ,WAAW,GAAKoqD,GAAeC,EAAaK,CAAM,EACnE,MAAMzL,EAAS7xD,GAAQs9D,EAAOt9D,CAAG,EACxB,SAAAuxD,EAAQvxD,EAAKu9D,EAAW,CAE7B,MAAMlV,EAAMjnD,GAAWwR,EAAQ,QAAQ,EACjCA,EAAQ,SAAS5S,EAAK,CAAC,CAACu9D,CAAS,EACjCh8D,GAASqR,EAAQ,QAAQ,EACrBA,EAAQ,SAAS5S,CAAG,EACpB,GACH,OAACqoD,IACFz1C,EAAQ,OACJA,EAAQ,OAAO,QAAQ5S,CAAG,EAC1Bw8D,GACJ,CAEJ,MAAAgB,EAAat5D,GAAS0O,EAAQ,UAC9BA,EAAQ,UAAU1O,CAAI,EACtBq4D,GACAkB,EAAY77D,GAAcgR,EAAQ,SAAS,GAAKxR,GAAWwR,EAAQ,UAAU,SAAS,EACtFA,EAAQ,UAAU,UAClB8pD,GACAgB,EAAc97D,GAAcgR,EAAQ,SAAS,GAC/CxR,GAAWwR,EAAQ,UAAU,WAAW,EACtCA,EAAQ,UAAU,YAClB+pD,GACAjzD,EAAO9H,GAAcgR,EAAQ,SAAS,GAAKvR,EAASuR,EAAQ,UAAU,IAAI,EAC1EA,EAAQ,UAAU,KAClB6pD,GA8BAtlD,EAAM,CACP,KAAkC4vB,EAClC,MAAoC8qB,EACpC,OAAsCtD,EACtC,OAjCU,CAACvuD,KAAQgL,IAAS,CACvB,MAAC6wD,EAAMC,CAAI,EAAI9wD,EACrB,IAAItB,EAAO,OACPmrD,EAAW,GACX7pD,EAAK,SAAW,EACZzJ,GAASs6D,CAAI,GACbhH,EAAWgH,EAAK,UAAYhH,EAC5BnrD,EAAOmyD,EAAK,MAAQnyD,GAEfrI,EAASw6D,CAAI,IAClBhH,EAAWgH,GAAQhH,GAGlB7pD,EAAK,SAAW,IACjB3J,EAASw6D,CAAI,IACbhH,EAAWgH,GAAQhH,GAEnBxzD,EAASy6D,CAAI,IACbpyD,EAAOoyD,GAAQpyD,IAGvB,MAAM3F,EAAMwtD,EAAQvxD,EAAK,EAAI,EAAEmX,CAAG,EAC5BkxC,EAEN3+C,IAAS,SAAW3I,GAAQgD,CAAG,GAAK8wD,EAC9B9wD,EAAI,CAAC,EACLA,EACN,OAAO8wD,EAAW2I,EAAU3I,CAAQ,EAAExM,EAAK3+C,CAAI,EAAI2+C,CACvD,EAMK,QAAwCkJ,EACxC,KAAkC7nD,EAClC,YAAgDg0D,EAChD,UAA4CD,EAC5C,OAAsC1V,GAAOrB,KAAU2W,EAAOC,CAAM,CACzE,EACO,OAAAnmD,CACX,CAEA,MAAMwmD,GAAwB,IAAM,GAC9BC,GAAqB39D,GAAQmB,GAAWnB,CAAG,EAEjD,SAAS49D,GAAUx6C,KAAYrY,EAAM,CACjC,KAAM,CAAE,eAAAivD,EAAgB,gBAAAE,EAAiB,YAAAD,EAAa,gBAAAK,EAAiB,eAAAd,EAAgB,SAAAxQ,GAAa5lC,EAC9F,CAACrjB,EAAK4S,CAAO,EAAIkrD,GAAmB,GAAG9yD,CAAI,EAC3C+uD,EAAcr/B,GAAU9nB,EAAQ,WAAW,EAC3CA,EAAQ,YACRyQ,EAAQ,YACR22C,EAAet/B,GAAU9nB,EAAQ,YAAY,EAC7CA,EAAQ,aACRyQ,EAAQ,aACRi3C,EAAkB5/B,GAAU9nB,EAAQ,eAAe,EACnDA,EAAQ,gBACRyQ,EAAQ,gBACR06C,EAAkB,CAAC,CAACnrD,EAAQ,gBAE5BorD,EAAkB38D,EAASuR,EAAQ,OAAO,GAAK8nB,GAAU9nB,EAAQ,OAAO,EACvE8nB,GAAU9nB,EAAQ,OAAO,EAEpB2nD,EAA8Bv6D,EAAZ,IAAMA,EAD1B4S,EAAQ,QAEZqnD,EACMM,EAA8Bv6D,EAAZ,IAAMA,EAC1B,KACJi+D,EAAmBhE,GACpB+D,GAAmB,OACf38D,EAAS28D,CAAe,GAAK58D,GAAW48D,CAAe,GAC1DvW,EAAS0O,GAAU9yC,EAASzQ,CAAO,EAEzC0nD,GAAmB4D,GAAatrD,CAAO,EAGvC,GAAI,CAACurD,EAAa/C,EAAc7J,CAAO,EAAKwM,EAEtC,CACE/9D,EACAynD,EACAwB,EAASxB,CAAM,GAAKf,GAAO,CAC/B,EALE0X,GAAqB/6C,EAASrjB,EAAKynD,EAAQgS,EAAgBO,EAAcD,CAAW,EAWtFpG,EAASwK,EAETE,EAAer+D,EAWnB,GAVI,CAAC+9D,GACD,EAAE18D,EAASsyD,CAAM,GACb2B,GAAa3B,CAAM,GACnBiK,GAAkBjK,CAAM,IACxBsK,IACAtK,EAASqK,EACMrK,KAInB,CAACoK,IACA,EAAE18D,EAASsyD,CAAM,GACd2B,GAAa3B,CAAM,GACnBiK,GAAkBjK,CAAM,IACxB,CAACtyD,EAAS+5D,CAAY,GAC1B,OAAOlB,EAAc9B,GAAep4D,EAWxC,IAAIs+D,EAAW,GACf,MAAMr7B,EAAU,IAAM,CACPq7B,EAAA,EACf,EAEMjW,EAAOuV,GAAkBjK,CAAM,EAE/BA,EADA4K,GAAqBl7C,EAASrjB,EAAKo7D,EAAczH,EAAQ0K,EAAcp7B,CAAO,EAGpF,GAAIq7B,EACO3K,SAGX,MAAM6K,GAAaC,GAAyBp7C,EAAS+3C,EAAc7J,EAAS3+C,CAAO,EAC7E8rD,EAAaxB,GAAqBsB,EAAU,EAC5CG,EAAWC,GAAgBv7C,EAASglC,EAAKqW,CAAU,EAEnD36D,EAAMo2D,EACNA,EAAgBwE,EAAU3+D,CAAG,EAC7B2+D,EAEN,GAA+C,0BAA2B,CAEtE,MAAM5I,GAAW,CACb,UAAW,KAAK,IAAI,EACpB,IAAK10D,EAASrB,CAAG,EACXA,EACA49D,GAAkBjK,CAAM,EACpBA,EAAO,IACP,GACV,OAAQyH,IAAiBwC,GAAkBjK,CAAM,EAC3CA,EAAO,OACP,IACN,OAAQtyD,EAASsyD,CAAM,EACjBA,EACAiK,GAAkBjK,CAAM,EACpBA,EAAO,OACP,GACV,QAAS5vD,CACb,EACSgyD,GAAA,KAAOhO,GAAO,CAAC,EAAG1kC,EAAQ,OAAQ41C,GAAuB,KAAE,EACpEpD,GAAkBE,EAAQ,EAEvB,OAAAhyD,CACX,CACA,SAASm6D,GAAatrD,EAAS,CACvB7R,GAAQ6R,EAAQ,IAAI,EACZA,EAAA,KAAOA,EAAQ,KAAK,IAAIpP,GAAQnC,EAASmC,CAAI,EAAIykD,GAAWzkD,CAAI,EAAIA,CAAI,EAE3EjC,GAASqR,EAAQ,KAAK,GAC3B,OAAO,KAAKA,EAAQ,KAAK,EAAE,QAAe5S,GAAA,CAClCqB,EAASuR,EAAQ,MAAM5S,CAAG,CAAC,IAC3B4S,EAAQ,MAAM5S,CAAG,EAAIioD,GAAWr1C,EAAQ,MAAM5S,CAAG,CAAC,EACtD,CACH,CAET,CACA,SAASo+D,GAAqB/6C,EAASrjB,EAAKynD,EAAQgS,EAAgBO,EAAcD,EAAa,CAC3F,KAAM,CAAE,SAAA9Q,EAAU,OAAAsQ,EAAQ,gBAAiBtB,EAAc,iBAAAwC,GAAqBp3C,EACxEg4C,EAAUZ,EAAiBp3C,EAASo2C,EAAgBhS,CAAM,EAChE,IAAI8J,EAAU7K,GAAO,EACjB0U,EACAzH,EAAS,KAGb,MAAMjqD,EAAO,YACb,QAAS9I,EAAI,EAAGA,EAAIy6D,EAAQ,SACTD,EAAKC,EAAQz6D,CAAC,EAwBzB2wD,EAAAtI,EAASmS,CAAY,GAAK1U,GAAO,GAWhCiN,EAASsE,EAAa1G,EAASvxD,CAAG,KAAO,OAE1C2zD,EAASpC,EAAQvxD,CAAG,GAoBpB,EAAAqB,EAASsyD,CAAM,GAAK2B,GAAa3B,CAAM,GAAKiK,GAAkBjK,CAAM,IA1DxC/yD,IA6DhC,GAAI,CAACu6D,GAAmBC,EAAcC,CAAO,EAAG,CAC5C,MAAMwD,EAAa9D,GAAc13C,EACjCrjB,EAAKo7D,EAAcrB,EAAarwD,CAAI,EAChCm1D,IAAe7+D,IACf2zD,EAASkL,EACb,CAID,OAAClL,EAAQyH,EAAc7J,CAAO,CACzC,CACA,SAASgN,GAAqBl7C,EAASrjB,EAAKo7D,EAAczH,EAAQ0K,EAAcp7B,EAAS,CAC/E,MAAE,gBAAAs3B,EAAiB,gBAAAF,CAAA,EAAoBh3C,EACzC,GAAAu6C,GAAkBjK,CAAM,EAAG,CAC3B,MAAMtL,EAAMsL,EACZtL,SAAI,OAASA,EAAI,QAAU+S,EAC3B/S,EAAI,IAAMA,EAAI,KAAOroD,EACdqoD,CAAA,CAEX,GAAIkS,GAAmB,KAAM,CACzB,MAAMlS,EAAO,IAAMsL,EACnBtL,SAAI,OAAS+S,EACb/S,EAAI,IAAMroD,EACHqoD,CAAA,CAYL,MAAAA,EAAMkS,EAAgB5G,EAAQmL,GAAkBz7C,EAAS+3C,EAAciD,EAAc1K,EAAQ0G,EAAiBp3B,CAAO,CAAC,EAkB5H,OAAAolB,EAAI,OAAS+S,EACb/S,EAAI,IAAMroD,EACVqoD,EAAI,OAASsL,EACNtL,CACX,CACA,SAASuW,GAAgBv7C,EAASglC,EAAK0W,EAAQ,CA6BpC,OAlBU1W,EAAI0W,CAAM,CAmB/B,CAEA,SAASjB,MAAsB9yD,EAAM,CACjC,KAAM,CAAC6wD,EAAMC,EAAMC,CAAI,EAAI/wD,EACrB4H,EAAU8zC,GAAO,EACvB,GAAI,CAACrlD,EAASw6D,CAAI,GACd,CAACjU,GAASiU,CAAI,GACd,CAAC+B,GAAkB/B,CAAI,GACvB,CAACvG,GAAauG,CAAI,EACZ,MAAA3F,GAAgBF,GAAe,gBAAgB,EAGnD,MAAAh2D,EAAM4nD,GAASiU,CAAI,EACnB,OAAOA,CAAI,GACX+B,GAAkB/B,CAAI,EAClBA,GAEN,OAAAjU,GAASkU,CAAI,EACblpD,EAAQ,OAASkpD,EAEZz6D,EAASy6D,CAAI,EAClBlpD,EAAQ,QAAUkpD,EAEbl6D,GAAck6D,CAAI,GAAK,CAAChU,GAAcgU,CAAI,EAC/ClpD,EAAQ,MAAQkpD,EAEX/6D,GAAQ+6D,CAAI,IACjBlpD,EAAQ,KAAOkpD,GAEflU,GAASmU,CAAI,EACbnpD,EAAQ,OAASmpD,EAEZ16D,EAAS06D,CAAI,EAClBnpD,EAAQ,QAAUmpD,EAEbn6D,GAAcm6D,CAAI,GACvBhU,GAAOn1C,EAASmpD,CAAI,EAEjB,CAAC/7D,EAAK4S,CAAO,CACxB,CACA,SAASksD,GAAkBz7C,EAASokC,EAAQznD,EAAK0R,EAAQ2oD,EAAiBp3B,EAAS,CACxE,OACH,OAAAwkB,EACA,IAAAznD,EACA,gBAAAq6D,EACA,QAAUxyD,GAAQ,CACd,MAAAo7B,GAAWA,EAAQp7B,CAAG,EAoBZA,CAEd,EACA,WAAa6J,GAAW81C,GAAuBC,EAAQznD,EAAK0R,CAAM,CACtE,CACJ,CAWA,SAAS+sD,GAAyBp7C,EAASokC,EAAQ8J,EAAS3+C,EAAS,CAC3D,MAAE,UAAAkF,EAAW,YAAA+hD,EAAa,gBAAiB5B,EAAc,eAAAwB,EAAgB,aAAAO,EAAc,YAAAD,EAAa,gBAAAW,CAAA,EAAoBr3C,EA2BxHm7C,EAAa,CACf,OAAA/W,EACA,UAAA3vC,EACA,YAAA+hD,EACA,SA9BmB,CAAC75D,EAAKu9D,IAAc,CACnC,IAAAt9D,EAAMg4D,EAAa1G,EAASvxD,CAAG,EAE/B,GAAAC,GAAO,OAASy6D,GAAmB6C,GAAY,CAC/C,KAAM,GAAKhM,CAAO,EAAI6M,GAAqB1D,GAAmBr3C,EAC9DrjB,EAAKynD,EAAQgS,EAAgBO,EAAcD,CAAW,EAChD9B,IAAa1G,EAASvxD,CAAG,EAEnC,GAAIqB,EAASpB,CAAG,GAAKq1D,GAAar1D,CAAG,EAAG,CACpC,IAAIq+D,EAAW,GAIf,MAAMjW,EAAMkW,GAAqBl7C,EAASrjB,EAAKynD,EAAQxnD,EAAKD,EAH5C,IAAM,CACPs+D,EAAA,EACf,CACwE,EACjE,OAACA,EAEFX,GADAtV,CACA,KACV,QACSuV,GAAkB39D,CAAG,EACnBA,EAIA09D,EAEf,CAMA,EACA,OAAIt6C,EAAQ,YACRm7C,EAAW,UAAYn7C,EAAQ,WAE/BzQ,EAAQ,OACR4rD,EAAW,KAAO5rD,EAAQ,MAE1BA,EAAQ,QACR4rD,EAAW,MAAQ5rD,EAAQ,OAE3Bg1C,GAASh1C,EAAQ,MAAM,IACvB4rD,EAAW,YAAc5rD,EAAQ,QAE9B4rD,CACX,CAGqB9K,GAAA,ECl0DrB;AAAA;AAAA;AAAA;AAAA,IAkBA,MAAMyE,GAAU,SAKhB,SAASzE,IAAmB,CAUpB,OAAO,2BAA8B,YACrCrwD,GAAA,EAAgB,0BAA4B,GAEpD,CAkBA,MAAM27D,GAAiB,CAEnB,uBAAwB/I,GAExB,iBAAkB,GAElB,uBAAwB,GACxB,cAAe,GAEf,eAAgB,GAChB,cAAe,GAEf,iCAAkC,GAClC,2BAA4B,GAE5B,iBAAkB,GAElB,+BAAgC,GAEhC,oCAAqC,EACzC,EACA,SAASgJ,GAAgBt3B,KAAS38B,EAAM,CAC7B,OAAA89C,GAAmBnhB,EAAM,KAAoF,MAAS,CACjI,CAeA,MAAMu3B,MACoB,kBAAkB,EACtCC,MAAgD,iBAAiB,EACjEC,MAA8C,eAAe,EAG7DC,GAAuB/X,GAAW,kBAAkB,EAEpDgY,MACoB,oBAAoB,EACxCC,MAA0C,WAAW,EAM3D,SAASC,GAAex8D,EAAK,CAErB,IAACzB,GAASyB,CAAG,EACN,OAAAA,EAEX,UAAWhD,KAAOgD,EAEd,GAAKlC,GAAOkC,EAAKhD,CAAG,EAIpB,GAAI,CAACA,EAAI,SAAS,GAAG,EAEbuB,GAASyB,EAAIhD,CAAG,CAAC,GACFw/D,GAAAx8D,EAAIhD,CAAG,CAAC,MAI1B,CAEK,MAAAy/D,EAAUz/D,EAAI,MAAM,GAAG,EACvB0/D,EAAYD,EAAQ,OAAS,EACnC,IAAIE,EAAa38D,EACb48D,EAAiB,GACrB,QAASh/D,EAAI,EAAGA,EAAI8+D,EAAW9+D,IAAK,CAIhC,GAHM6+D,EAAQ7+D,CAAC,IAAK++D,IAChBA,EAAWF,EAAQ7+D,CAAC,CAAC,EAAI8lD,GAAO,GAEhC,CAACnlD,GAASo+D,EAAWF,EAAQ7+D,CAAC,CAAC,CAAC,EAAG,CAKlBg/D,EAAA,GACjB,MAESD,IAAWF,EAAQ7+D,CAAC,CAAC,EAGjCg/D,IACDD,EAAWF,EAAQC,CAAS,CAAC,EAAI18D,EAAIhD,CAAG,EACxC,OAAOgD,EAAIhD,CAAG,GAGduB,GAASo+D,EAAWF,EAAQC,CAAS,CAAC,CAAC,GACvCF,GAAeG,EAAWF,EAAQC,CAAS,CAAC,CAAC,CACjD,CAGD,OAAA18D,CACX,CACA,SAAS68D,GAAkBpY,EAAQ70C,EAAS,CACxC,KAAM,CAAE,SAAAq2C,EAAU,OAAA6W,EAAQ,gBAAAtF,EAAiB,SAAAuF,CAAa,EAAAntD,EAElD7O,EAAOnC,GAAcqnD,CAAQ,EAC7BA,EACAloD,GAAQ++D,CAAM,EACVpZ,GAAA,EACA,CAAE,CAACe,CAAM,EAAGf,IAAS,EAoB3B,GAlBA3lD,GAAQ++D,CAAM,GACdA,EAAO,QAAkBE,GAAA,CACjB,cAAYA,GAAU,aAAcA,EAAQ,CAC5C,KAAM,CAAE,OAAAvY,EAAQ,SAAAgK,CAAa,EAAAuO,EACzBvY,GACA1jD,EAAI0jD,CAAM,EAAI1jD,EAAI0jD,CAAM,GAAKf,GAAO,EAC3B6B,GAAAkJ,EAAU1tD,EAAI0jD,CAAM,CAAC,GAG9Bc,GAASkJ,EAAU1tD,CAAG,CAC1B,MAGA1C,EAAS2+D,CAAM,GAAKzX,GAAS,KAAK,MAAMyX,CAAM,EAAGj8D,CAAG,CACxD,CACH,EAGDy2D,GAAmB,MAAQuF,EAC3B,UAAW//D,KAAO+D,EACVjD,GAAOiD,EAAK/D,CAAG,GACAw/D,GAAAz7D,EAAI/D,CAAG,CAAC,EAI5B,OAAA+D,CACX,CACA,SAASk8D,GAAoB1rD,EAAU,CACnC,OAAOA,EAAS,IACpB,CACA,SAAS2rD,GAAoBC,EAAIvtD,EAASwtD,EAAkB,CAExD,IAAInX,EAAW1nD,GAASqR,EAAQ,QAAQ,EAClCA,EAAQ,SACR8zC,GAAO,EACT,iBAAkB0Z,IACPnX,EAAA4W,GAAkBM,EAAG,OAAO,MAAO,CAC1C,SAAAlX,EACA,OAAQmX,EAAiB,aAC5B,GAGC,MAAA/E,EAAU,OAAO,KAAKpS,CAAQ,EAChCoS,EAAQ,QACRA,EAAQ,QAAkB5T,GAAA,CACtB0Y,EAAG,mBAAmB1Y,EAAQwB,EAASxB,CAAM,CAAC,EACjD,EAEL,CAEQ,GAAAlmD,GAASqR,EAAQ,eAAe,EAAG,CACnC,MAAMyoD,EAAU,OAAO,KAAKzoD,EAAQ,eAAe,EAC/CyoD,EAAQ,QACRA,EAAQ,QAAkB5T,GAAA,CACtB0Y,EAAG,oBAAoB1Y,EAAQ70C,EAAQ,gBAAgB60C,CAAM,CAAC,EACjE,CACL,CAGA,GAAAlmD,GAASqR,EAAQ,aAAa,EAAG,CACjC,MAAMyoD,EAAU,OAAO,KAAKzoD,EAAQ,aAAa,EAC7CyoD,EAAQ,QACRA,EAAQ,QAAkB5T,GAAA,CACtB0Y,EAAG,kBAAkB1Y,EAAQ70C,EAAQ,cAAc60C,CAAM,CAAC,EAC7D,CACL,CACJ,CAER,CACA,SAAS4Y,GAAergE,EAAK,CACzB,OAAOgd,GAAYuM,GAAM,KAAMvpB,EAAK,CAAC,CACzC,CAIA,MAAMsgE,GAAgB,mBAChBC,GAAoB,IAAM,CAAC,EAC3BC,GAAoB,IAAM,GAChC,IAAIC,GAAa,EACjB,SAASC,GAAyB5G,EAAS,CACvC,MAAQ,CAAC3iD,EAAKswC,EAAQznD,EAAK0J,IAChBowD,EAAQrS,EAAQznD,EAAKoyB,GAAmB,GAAK,OAAW1oB,CAAI,CAE3E,CAGA,MAAMi3D,GAAc,IAAM,CACtB,MAAMpsD,EAAW6d,GAAmB,EACpC,IAAIijB,EAAO,KACX,OAAO9gC,IAAa8gC,EAAO4qB,GAAoB1rD,CAAQ,EAAE+rD,EAAa,GAChE,CAAE,CAACA,EAAa,EAAGjrB,CACnB,MACV,EAMA,SAASurB,GAAehuD,EAAU,GAAI,CAC5B,MAAE,OAAAiuD,EAAQ,mBAAAC,CAAA,EAAuBluD,EACjCmuD,EAAYF,IAAW,OACvBd,EAAWntD,EAAQ,SACnBouD,EAAO3Z,GAAYj3C,GAAME,GAC/B,IAAI2wD,EAAiBvmC,GAAU9nB,EAAQ,aAAa,EAC9CA,EAAQ,cACR,GACN,MAAM4mD,EAAUwH,EAEhBH,GAAUI,EACJJ,EAAO,OAAO,MACdx/D,EAASuR,EAAQ,MAAM,EACnBA,EAAQ,OACR6jD,EAAc,EAClByK,EAAkBF,EAExBH,GAAUI,EACJJ,EAAO,eAAe,MACtBx/D,EAASuR,EAAQ,cAAc,GAC7B7R,GAAQ6R,EAAQ,cAAc,GAC9BhR,GAAcgR,EAAQ,cAAc,GACpCA,EAAQ,iBAAmB,GACzBA,EAAQ,eACR4mD,EAAQ,KAAK,EACjB2H,EAAYH,EAAKnB,GAAkBrG,EAAQ,MAAO5mD,CAAO,CAAC,EAE1DwuD,EAAmBJ,EAAKp/D,GAAcgR,EAAQ,eAAe,EACzDA,EAAQ,gBACR,CAAE,CAAC4mD,EAAQ,KAAK,EAAG,GAAI,EAG3B6H,EAAiBL,EAAKp/D,GAAcgR,EAAQ,aAAa,EACrDA,EAAQ,cACR,CAAE,CAAC4mD,EAAQ,KAAK,EAAG,GAAI,EAIjC,IAAI8H,EAAeT,EACbA,EAAO,YACPnmC,GAAU9nB,EAAQ,WAAW,GAAKi1C,GAASj1C,EAAQ,WAAW,EAC1DA,EAAQ,YACR,GAEN2uD,EAAgBV,EACdA,EAAO,aACPnmC,GAAU9nB,EAAQ,YAAY,GAAKi1C,GAASj1C,EAAQ,YAAY,EAC5DA,EAAQ,aACR,GAEN4uD,EAAgBX,EACdA,EAAO,aACPnmC,GAAU9nB,EAAQ,YAAY,EAC1BA,EAAQ,aACR,GAEN6uD,EAAkB,CAAC,CAAC7uD,EAAQ,eAE5B8uD,EAAWtgE,GAAWwR,EAAQ,OAAO,EAAIA,EAAQ,QAAU,KAC3D+uD,EAAkBvgE,GAAWwR,EAAQ,OAAO,EAC1C8tD,GAAyB9tD,EAAQ,OAAO,EACxC,KAEFgvD,EAAmBxgE,GAAWwR,EAAQ,eAAe,EACnDA,EAAQ,gBACR,KAEFivD,EAAmBhB,EACjBA,EAAO,gBACPnmC,GAAU9nB,EAAQ,eAAe,EAC7BA,EAAQ,gBACR,GACNkvD,EAAmB,CAAC,CAAClvD,EAAQ,gBAG3B,MAAAmvD,EAAalB,EACbA,EAAO,UACPj/D,GAAcgR,EAAQ,SAAS,EAC3BA,EAAQ,UACR,CAAC,EAEX,IAAIovD,EAAepvD,EAAQ,aAAgBiuD,GAAUA,EAAO,YAGxD1V,EAyCJA,GAxCuB,IAAM,CACzB4V,GAAa5H,GAAmB,IAAI,EACpC,MAAMqF,EAAa,CACf,QAASrG,GACT,OAAQqB,EAAQ,MAChB,eAAgB0H,EAAgB,MAChC,SAAUC,EAAU,MACpB,UAAWY,EACX,YAAaC,EACb,QAASL,IAAoB,KAAO,OAAYA,EAChD,YAAaL,EACb,aAAcC,EACd,eAAgBE,EAChB,YAAa,GACb,gBAAiBG,IAAqB,KAAO,OAAYA,EACzD,gBAAiBC,EACjB,gBAAiBC,EACjB,gBAAiBlvD,EAAQ,gBACzB,gBAAiBA,EAAQ,gBACzB,OAAQ,CAAE,UAAW,KAAM,CAC/B,EAEI4rD,EAAW,gBAAkB4C,EAAiB,MAC9C5C,EAAW,cAAgB6C,EAAe,MAC1C7C,EAAW,qBAAuB58D,GAAcupD,CAAQ,EAClDA,EAAS,qBACT,OACNqT,EAAW,mBAAqB58D,GAAcupD,CAAQ,EAChDA,EAAS,mBACT,OAOJ,MAAAh0C,EAAMmiD,GAAkBkF,CAAU,EACxC,OAAAuC,GAAa5H,GAAmBhiD,CAAG,EAC5BA,CACX,GAC0B,EAC1B6jD,GAAqB7P,EAAUqO,EAAQ,MAAO0H,EAAgB,KAAK,EAEnE,SAASe,IAAwB,CACtB,OACCzI,EAAQ,MACR0H,EAAgB,MAChBC,EAAU,MACVC,EAAiB,MACjBC,EAAe,KACnB,EAIR,MAAM5Z,EAASt/C,GAAS,CACpB,IAAK,IAAMqxD,EAAQ,MACnB,IAAYv5D,GAAA,CACRu5D,EAAQ,MAAQv5D,EAChBkrD,EAAS,OAASqO,EAAQ,MAC9B,CACH,EAEKC,EAAiBtxD,GAAS,CAC5B,IAAK,IAAM+4D,EAAgB,MAC3B,IAAYjhE,GAAA,CACRihE,EAAgB,MAAQjhE,EACxBkrD,EAAS,eAAiB+V,EAAgB,MACrBlG,GAAA7P,EAAUqO,EAAQ,MAAOv5D,CAAG,EACrD,CACH,EAEKgpD,EAAW9gD,GAAS,IAAMg5D,EAAU,KAAK,EAEzCxH,GAAiCxxD,GAAS,IAAMi5D,EAAiB,KAAK,EAEtExH,GAA+BzxD,GAAS,IAAMk5D,EAAe,KAAK,EAExE,SAASa,IAA4B,CAC1B,OAAA9gE,GAAWwgE,CAAgB,EAAIA,EAAmB,KAG7D,SAASO,GAA0B1gD,EAAS,CACrBmgD,EAAAngD,EACnB0pC,EAAS,gBAAkB1pC,CAAA,CAG/B,SAAS2gD,IAAoB,CAClB,OAAAV,CAAA,CAGX,SAASW,GAAkB5gD,EAAS,CAC5BA,IAAY,OACZkgD,EAAkBjB,GAAyBj/C,CAAO,GAE3CigD,EAAAjgD,EACX0pC,EAAS,QAAUwW,CAAA,CAKvB,MAAMW,GAAe,CAACtgE,EAAIugE,EAAgBC,EAAUC,GAAiBC,GAAcC,KAAqB,CAC9EV,GAAA,EAElB,IAAAl+D,GACA,IAC+C,0BAG1Cg9D,IACQ5V,EAAA,gBAAkB0V,EACrBzH,GAAA,EACA,QAEVr1D,GAAM/B,EAAGmpD,CAAQ,SAErB,CACmD,0BAG1C4V,IACD5V,EAAS,gBAAkB,OAC/B,CAEJ,GAAKqX,IAAa,oBACd5a,GAAS7jD,EAAG,GACZA,KAAQq0D,IACPoK,IAAa,oBAAsB,CAACz+D,GACvC,CACE,KAAM,CAAC/D,GAAK87D,EAAI,EAAIyG,EAAe,EA0BnC,OAAO1B,GAAUW,EACXiB,GAAgB5B,CAAM,EACtB6B,GAAa1iE,EAAG,MAC1B,IACS2iE,GAAiB5+D,EAAG,EAClB,OAAAA,GAID,MAAAk7D,GAAgBD,GAAe,sBAAsB,EAEnE,EAEA,SAAS4D,KAAK53D,EAAM,CAChB,OAAOs3D,GAAaj/C,GAAW,QAAQ,MAAMw6C,GAAW,KAAM,CAACx6C,EAAS,GAAGrY,CAAI,CAAC,EAAG,IAAM8yD,GAAmB,GAAG9yD,CAAI,EAAG,YAAawiB,GAAQ,QAAQ,MAAMA,EAAK,EAAGA,EAAM,CAAC,GAAGxiB,CAAI,CAAC,EAAUhL,KAAYC,GAAAoB,EAASpB,CAAG,CAAC,EAGvN,SAAS4iE,KAAM73D,EAAM,CACjB,KAAM,CAAC6wD,EAAMC,EAAMC,EAAI,EAAI/wD,EAC3B,GAAI+wD,IAAQ,CAACx6D,GAASw6D,EAAI,EAChB,MAAAkD,GAAgBD,GAAe,gBAAgB,EAEzD,OAAO4D,EAAM/G,EAAMC,EAAM/T,GAAO,CAAE,gBAAiB,EAAQ,EAAAgU,IAAQ,EAAE,CAAE,EAG3E,SAAS+G,KAAK93D,EAAM,CAChB,OAAOs3D,GAAaj/C,GAAW,QAAQ,MAAMi4C,GAAU,KAAM,CAACj4C,EAAS,GAAGrY,CAAI,CAAC,EAAG,IAAMwwD,GAAkB,GAAGxwD,CAAI,EAAG,kBAAmBwiB,GAAQ,QAAQ,MAAMA,EAAK,EAAGA,EAAM,CAAC,GAAGxiB,CAAI,CAAC,EAAG,IAAMqtD,GAA8Bp4D,GAAAoB,EAASpB,CAAG,CAAC,EAG5O,SAASkD,KAAK6H,EAAM,CAChB,OAAOs3D,GAAaj/C,GAAW,QAAQ,MAAMqZ,GAAQ,KAAM,CAACrZ,EAAS,GAAGrY,CAAI,CAAC,EAAG,IAAMmxD,GAAgB,GAAGnxD,CAAI,EAAG,gBAAiBwiB,GAAQ,QAAQ,MAAMA,EAAK,EAAGA,EAAM,CAAC,GAAGxiB,CAAI,CAAC,EAAG,IAAMqtD,GAA8Bp4D,GAAAoB,EAASpB,CAAG,CAAC,EAGtO,SAASw9D,GAAU/oD,EAAQ,CACvB,OAAOA,EAAO,IAAIzU,GAAOoB,EAASpB,CAAG,GAAK2nD,GAAS3nD,CAAG,GAAKy6B,GAAUz6B,CAAG,EAClEogE,GAAe,OAAOpgE,CAAG,CAAC,EAC1BA,CAAG,EAGb,MAAMm6D,EAAY,CACd,UAAAqD,GACA,YAHiBx9D,GAAQA,EAIzB,KAAM,OACV,EAEA,SAAS8iE,KAAkB/3D,EAAM,CAC7B,OAAOs3D,GAAwBj/C,GAAA,CACvB,IAAAtf,EACJ,MAAMonD,GAAW9nC,EACb,IACA8nC,GAAS,UAAYiP,EACfr2D,EAAA,QAAQ,MAAM85D,GAAW,KAAM,CAAC1S,GAAU,GAAGngD,CAAI,CAAC,SAE5D,CACImgD,GAAS,UAAY,KAElB,OAAApnD,CAAA,EACR,IAAM+5D,GAAmB,GAAG9yD,CAAI,EAAG,YAAqBwiB,KAAK0xC,EAAoB,EAAE,GAAGl0D,CAAI,EAAUhL,GAAA,CAACqgE,GAAergE,CAAG,CAAC,EAAGC,GAAOc,GAAQd,CAAG,CAAC,EAGrJ,SAAS+iE,KAAeh4D,EAAM,CAC1B,OAAOs3D,GAAaj/C,GAAW,QAAQ,MAAMqZ,GAAQ,KAAM,CAACrZ,EAAS,GAAGrY,CAAI,CAAC,EAAG,IAAMmxD,GAAgB,GAAGnxD,CAAI,EAAG,gBAAyBwiB,KAAK4xC,EAAiB,EAAE,GAAGp0D,CAAI,EAAGu1D,GAAmBtgE,GAAOoB,EAASpB,CAAG,GAAKc,GAAQd,CAAG,CAAC,EAGtO,SAASgjE,KAAiBj4D,EAAM,CAC5B,OAAOs3D,GAAaj/C,GAAW,QAAQ,MAAMi4C,GAAU,KAAM,CAACj4C,EAAS,GAAGrY,CAAI,CAAC,EAAG,IAAMwwD,GAAkB,GAAGxwD,CAAI,EAAG,kBAA2BwiB,KAAK2xC,EAAmB,EAAE,GAAGn0D,CAAI,EAAGu1D,GAAmBtgE,GAAOoB,EAASpB,CAAG,GAAKc,GAAQd,CAAG,CAAC,EAE9O,SAASijE,EAAeC,EAAO,CACZnB,EAAAmB,EACfhY,EAAS,YAAc6W,CAAA,CAGlB,YAAGhiE,EAAKynD,EAAQ,CACrB,OAAO6a,GAAa,IAAM,CACtB,GAAI,CAACtiE,EACM,SAEX,MAAMo7D,EAAe/5D,EAASomD,CAAM,EAAIA,EAAS+R,EAAQ,MACnDjI,GAAU6R,EAAiBhI,CAAY,EACvCr5C,GAAWopC,EAAS,gBAAgBoG,GAASvxD,CAAG,EACtD,OAAQs1D,GAAavzC,EAAQ,GACzB67C,GAAkB77C,EAAQ,GAC1B1gB,EAAS0gB,EAAQ,GACtB,IAAM,CAAC/hB,CAAG,EAAG,mBAA4BwtB,GACjC,QAAQ,MAAMA,EAAK,GAAIA,EAAM,CAACxtB,EAAKynD,CAAM,CAAC,EAClD+Y,GAA0BvgE,GAAAy6B,GAAUz6B,CAAG,CAAC,EAE/C,SAASojE,EAAgBrjE,EAAK,CAC1B,IAAIipD,EAAW,KACf,MAAMoS,EAAU9E,GAAwBpL,EAAU+V,EAAgB,MAAO1H,EAAQ,KAAK,EACtF,QAAS54D,GAAI,EAAGA,GAAIy6D,EAAQ,OAAQz6D,KAAK,CACrC,MAAM0iE,GAAuBnC,EAAU,MAAM9F,EAAQz6D,EAAC,CAAC,GAAK,CAAC,EACvD2iE,GAAepY,EAAS,gBAAgBmY,GAAsBtjE,CAAG,EACvE,GAAIujE,IAAgB,KAAM,CACtBta,EAAWsa,GACX,MACJ,CAEGta,QAAA,CAGX,SAASua,EAAGxjE,EAAK,CACPipD,QAAWoa,EAAgBrjE,CAAG,EAE7BipD,WAED4X,EACIA,EAAO,GAAG7gE,CAAG,GAAK,GAClB,CAAC,GAGf,SAASojE,EAAiB3b,EAAQ,CAC9B,OAAQ0Z,EAAU,MAAM1Z,CAAM,GAAK,CAAC,EAG/B,SAAAgc,EAAiBhc,EAAQ8J,EAAS,CACvC,GAAIwO,EAAU,CACV,MAAM2D,EAAW,CAAE,CAACjc,CAAM,EAAG8J,CAAQ,EACrC,UAAWvxD,MAAO0jE,EACV5iE,GAAO4iE,EAAU1jE,EAAG,GACLw/D,GAAAkE,EAAS1jE,EAAG,CAAC,EAGpCuxD,EAAUmS,EAASjc,CAAM,EAEnB0Z,EAAA,MAAM1Z,CAAM,EAAI8J,EAC1BpG,EAAS,SAAWgW,EAAU,MAGzB,SAAAwC,EAAmBlc,EAAQ8J,EAAS,CACzC4P,EAAU,MAAM1Z,CAAM,EAAI0Z,EAAU,MAAM1Z,CAAM,GAAK,CAAC,EACtD,MAAMic,EAAW,CAAE,CAACjc,CAAM,EAAG8J,CAAQ,EACrC,GAAIwO,EACA,UAAW//D,MAAO0jE,EACV5iE,GAAO4iE,EAAU1jE,EAAG,GACLw/D,GAAAkE,EAAS1jE,EAAG,CAAC,EAIxCuxD,EAAUmS,EAASjc,CAAM,EACzBc,GAASgJ,EAAS4P,EAAU,MAAM1Z,CAAM,CAAC,EACzC0D,EAAS,SAAWgW,EAAU,MAGlC,SAASyC,EAAkBnc,EAAQ,CAC/B,OAAO2Z,EAAiB,MAAM3Z,CAAM,GAAK,CAAC,EAGrC,SAAAoc,EAAkBpc,EAAQkM,EAAQ,CACtByN,EAAA,MAAM3Z,CAAM,EAAIkM,EACjCxI,EAAS,gBAAkBiW,EAAiB,MACxBlF,GAAA/Q,EAAU1D,EAAQkM,CAAM,EAGvC,SAAAmQ,EAAoBrc,EAAQkM,EAAQ,CACxByN,EAAA,MAAM3Z,CAAM,EAAIM,GAAOqZ,EAAiB,MAAM3Z,CAAM,GAAK,CAAC,EAAGkM,CAAM,EACpFxI,EAAS,gBAAkBiW,EAAiB,MACxBlF,GAAA/Q,EAAU1D,EAAQkM,CAAM,EAGhD,SAASoQ,EAAgBtc,EAAQ,CAC7B,OAAO4Z,EAAe,MAAM5Z,CAAM,GAAK,CAAC,EAGnC,SAAAuc,EAAgBvc,EAAQkM,EAAQ,CACtB0N,EAAA,MAAM5Z,CAAM,EAAIkM,EAC/BxI,EAAS,cAAgBkW,EAAe,MACtB/E,GAAAnR,EAAU1D,EAAQkM,CAAM,EAGrC,SAAAsQ,EAAkBxc,EAAQkM,EAAQ,CACxB0N,EAAA,MAAM5Z,CAAM,EAAIM,GAAOsZ,EAAe,MAAM5Z,CAAM,GAAK,CAAC,EAAGkM,CAAM,EAChFxI,EAAS,cAAgBkW,EAAe,MACtB/E,GAAAnR,EAAU1D,EAAQkM,CAAM,EAG9C8M,KAEII,GAAUxZ,KACJ30C,GAAAmuD,EAAO,OAAS5gE,GAAQ,CACtBghE,IACAzH,EAAQ,MAAQv5D,EAChBkrD,EAAS,OAASlrD,EAClB+6D,GAAqB7P,EAAUqO,EAAQ,MAAO0H,EAAgB,KAAK,EACvE,CACH,EACKxuD,GAAAmuD,EAAO,eAAiB5gE,GAAQ,CAC9BghE,IACAC,EAAgB,MAAQjhE,EACxBkrD,EAAS,eAAiBlrD,EAC1B+6D,GAAqB7P,EAAUqO,EAAQ,MAAO0H,EAAgB,KAAK,EACvE,CACH,GAGL,MAAMgD,EAAW,CACb,GAAIzD,GACJ,OAAAhZ,EACA,eAAAgS,EACA,IAAI,eAAgB,CACT,OAAAwH,CACX,EACA,IAAI,cAAchhE,EAAK,CACFghE,EAAAhhE,EACbA,GAAO4gE,IACCrH,EAAA,MAAQqH,EAAO,OAAO,MACdK,EAAA,MAAQL,EAAO,eAAe,MAC9C7F,GAAqB7P,EAAUqO,EAAQ,MAAO0H,EAAgB,KAAK,EAE3E,EACA,IAAI,kBAAmB,CACnB,OAAO,OAAO,KAAKC,EAAU,KAAK,EAAE,KAAK,CAC7C,EACA,SAAAlY,EACA,IAAI,WAAY,CACL,OAAA8Y,CACX,EACA,IAAI,aAAc,CACd,OAAOC,GAAgB,CAAC,CAC5B,EACA,IAAI,UAAW,CACJ,OAAAjB,CACX,EACA,IAAI,aAAc,CACP,OAAAO,CACX,EACA,IAAI,YAAYrhE,EAAK,CACFqhE,EAAArhE,EACfkrD,EAAS,YAAcmW,CAC3B,EACA,IAAI,cAAe,CACR,OAAAC,CACX,EACA,IAAI,aAAathE,EAAK,CACFshE,EAAAthE,EAChBkrD,EAAS,aAAeoW,CAC5B,EACA,IAAI,cAAe,CACR,OAAAC,CACX,EACA,IAAI,aAAavhE,EAAK,CACFuhE,EAAAvhE,CACpB,EACA,IAAI,gBAAiB,CACV,OAAAwhE,CACX,EACA,IAAI,eAAexhE,EAAK,CACFwhE,EAAAxhE,EAClBkrD,EAAS,eAAiBsW,CAC9B,EACA,IAAI,iBAAkB,CACX,OAAAI,CACX,EACA,IAAI,gBAAgB5hE,EAAK,CACF4hE,EAAA5hE,EACnBkrD,EAAS,gBAAkBlrD,CAC/B,EACA,IAAI,iBAAkB,CACX,OAAA6hE,CACX,EACA,IAAI,gBAAgB7hE,EAAK,CACF6hE,EAAA7hE,EACnBkrD,EAAS,gBAAkBlrD,CAC/B,EACA,EAAA2iE,EACA,iBAAAQ,EACA,iBAAAK,EACA,mBAAAE,EACA,0BAAAzB,GACA,0BAAAC,GACA,kBAAAC,GACA,kBAAAC,GACA,CAAChD,EAAoB,EAAG6D,CAC5B,EAEI,OAAAgB,EAAS,gBAAkBvK,GAC3BuK,EAAS,cAAgBtK,GACzBsK,EAAS,GAAKrB,EACdqB,EAAS,GAAK,GACdA,EAAS,GAAKV,EACdU,EAAS,EAAIpB,EACboB,EAAS,EAAI/gE,EACb+gE,EAAS,kBAAoBN,EAC7BM,EAAS,kBAAoBL,EAC7BK,EAAS,oBAAsBJ,EAC/BI,EAAS,gBAAkBH,EAC3BG,EAAS,gBAAkBF,EAC3BE,EAAS,kBAAoBD,EAC7BC,EAAS5E,EAAsB,EAAIwB,EACnCoD,EAAShF,EAAoB,EAAI6D,EACjCmB,EAAS/E,EAAmB,EAAI8D,EAChCiB,EAAS9E,EAAiB,EAAI4D,EAW3BkB,CACX,CA00BA,MAAMC,GAAkB,CACpB,IAAK,CACD,KAAM,CAAC,OAAQ,MAAM,CACzB,EACA,OAAQ,CACJ,KAAM,MACV,EACA,MAAO,CACH,KAAM,OAEN,UAAYlkE,GAAiCA,IAAQ,UAAYA,IAAQ,SACzE,QAAS,QACb,EACA,KAAM,CACF,KAAM,OAEd,EAEA,SAASmkE,GAET,CAAE,MAAA3nD,CAAM,EACRF,EAAM,CACF,OAAIA,EAAK,SAAW,GAAKA,EAAK,CAAC,IAAM,WAErBE,EAAM,QAAUA,EAAM,UAAY,CAAC,GAEpC,OAAO,CAACQ,EAAM/C,IACd,CACH,GAAG+C,EAEH,GAAI/C,EAAQ,OAAS6C,GAAW7C,EAAQ,SAAW,CAACA,CAAO,CAC/D,EACD,EAAE,EAIEqC,EAAK,OAAO,CAACzZ,EAAK9C,IAAQ,CACvB,MAAAid,EAAOR,EAAMzc,CAAG,EACtB,OAAIid,IACIna,EAAA9C,CAAG,EAAIid,EAAK,GAEbna,CACX,EAAG4jD,IAAQ,CAEnB,CAEA,SAAS2d,IAAqB,CACnB,OAAAtnD,EACX,CAEA,MAAMunD,GAAgD9rD,GAAA,CAElD,KAAM,SACN,MAAOuvC,GAAO,CACV,QAAS,CACL,KAAM,OACN,SAAU,EACd,EACA,OAAQ,CACJ,KAAM,CAAC,OAAQ,MAAM,EACrB,UAAY9nD,GAAQ2nD,GAAS3nD,CAAG,GAAK,CAAC,MAAMA,CAAG,IAEpDkkE,EAAe,EAGlB,MAAMznD,EAAO2G,EAAS,CACZ,MAAE,MAAA5G,EAAO,MAAAoI,CAAA,EAAUxB,EAEnBuyC,EAAOl5C,EAAM,MACf6nD,GAAQ,CACJ,SAAU7nD,EAAM,MAChB,eAAgB,GACnB,EACL,MAAO,IAAM,CACH,MAAAH,EAAO,OAAO,KAAKE,CAAK,EAAE,OAAOzc,GAAOA,IAAQ,GAAG,EACnD4S,EAAU8zC,GAAO,EACnBhqC,EAAM,SACN9J,EAAQ,OAAS8J,EAAM,QAEvBA,EAAM,SAAW,SACT9J,EAAA,OAASvR,EAASqb,EAAM,MAAM,EAAI,CAACA,EAAM,OAASA,EAAM,QAE9D,MAAA5Z,EAAMshE,GAAkB/gD,EAAS9G,CAAI,EAErC+K,EAAWsuC,EAAKsJ,EAAoB,EAAExiD,EAAM,QAAS5Z,EAAK8P,CAAO,EACjE4xD,EAAgBzc,GAAOrB,GAAO,EAAG7hC,CAAK,EACtC6T,EAAMr3B,EAASqb,EAAM,GAAG,GAAKnb,GAASmb,EAAM,GAAG,EAC/CA,EAAM,IACN2nD,GAAmB,EAClB,OAAA9iD,GAAEmX,EAAK8rC,EAAel9C,CAAQ,CACzC,EAER,CAAC,EAsDKm9C,GAAcH,GAGpB,SAAS9mD,GAAQ/T,EAAQ,CACrB,OAAO1I,GAAQ0I,CAAM,GAAK,CAACpI,EAASoI,EAAO,CAAC,CAAC,CACjD,CACA,SAASi7D,GAAgBhoD,EAAO2G,EAASshD,EAAUC,EAAe,CACxD,MAAE,MAAAnoD,EAAO,MAAAoI,CAAA,EAAUxB,EACzB,MAAO,IAAM,CACH,MAAAzQ,EAAU,CAAE,KAAM,EAAK,EAC7B,IAAI2oD,EAAY7U,GAAO,EACnBhqC,EAAM,SACN9J,EAAQ,OAAS8J,EAAM,QAEvBrb,EAASqb,EAAM,MAAM,EACrB9J,EAAQ,IAAM8J,EAAM,OAEfnb,GAASmb,EAAM,MAAM,IAEtBrb,EAASqb,EAAM,OAAO,GAAG,IAEjB9J,EAAA,IAAM8J,EAAM,OAAO,KAGnB6+C,EAAA,OAAO,KAAK7+C,EAAM,MAAM,EAAE,OAAO,CAAC9J,EAAS6T,IAC5Ck+C,EAAS,SAASl+C,CAAI,EACvBshC,GAAOrB,KAAU9zC,EAAS,CAAE,CAAC6T,CAAI,EAAG/J,EAAM,OAAO+J,CAAI,EAAG,EACxD7T,EACP8zC,IAAQ,GAET,MAAAme,EAAQD,EAAkBloD,EAAM,MAAO9J,EAAS2oD,CAAU,EAC5D,IAAAj0C,EAAW,CAAC1U,EAAQ,GAAG,EACvB7R,GAAQ8jE,CAAK,EACbv9C,EAAWu9C,EAAM,IAAI,CAACpJ,EAAMrvD,IAAU,CAC5B,MAAA6Q,EAAOR,EAAMg/C,EAAK,IAAI,EACtB7iC,EAAO3b,EACPA,EAAK,CAAE,CAACw+C,EAAK,IAAI,EAAGA,EAAK,MAAO,MAAArvD,EAAO,MAAAy4D,CAAM,CAAC,EAC9C,CAACpJ,EAAK,KAAK,EACb,OAAAj+C,GAAQob,CAAI,IACZA,EAAK,CAAC,EAAE,IAAM,GAAG6iC,EAAK,IAAI,IAAIrvD,CAAK,IAEhCwsB,CAAA,CACV,EAEIv3B,EAASwjE,CAAK,IACnBv9C,EAAW,CAACu9C,CAAK,GAErB,MAAML,EAAgBzc,GAAOrB,GAAO,EAAG7hC,CAAK,EACtC6T,EAAMr3B,EAASqb,EAAM,GAAG,GAAKnb,GAASmb,EAAM,GAAG,EAC/CA,EAAM,IACN2nD,GAAmB,EAClB,OAAA9iD,GAAEmX,EAAK8rC,EAAel9C,CAAQ,CACzC,CACJ,CAEA,MAAMw9C,GAAiDtsD,GAAA,CAEnD,KAAM,SACN,MAAOuvC,GAAO,CACV,MAAO,CACH,KAAM,OACN,SAAU,EACd,EACA,OAAQ,CACJ,KAAM,CAAC,OAAQ,MAAM,IAE1Boc,EAAe,EAGlB,MAAMznD,EAAO2G,EAAS,CACZ,MAAAuyC,EAAOl5C,EAAM,MACf6nD,GAAQ,CACJ,SAAU7nD,EAAM,MAChB,eAAgB,GACnB,EACL,OAAOgoD,GAAgBhoD,EAAO2G,EAASg5C,GAA4B,IAAIrxD,IAEvE4qD,EAAKwJ,EAAiB,EAAE,GAAGp0D,CAAI,CAAC,EAExC,CAAC,EAsBK+5D,GAAeD,GAGfE,GAAoDxsD,GAAA,CAEtD,KAAM,SACN,MAAOuvC,GAAO,CACV,MAAO,CACH,KAAM,CAAC,OAAQ,IAAI,EACnB,SAAU,EACd,EACA,OAAQ,CACJ,KAAM,CAAC,OAAQ,MAAM,IAE1Boc,EAAe,EAGlB,MAAMznD,EAAO2G,EAAS,CACZ,MAAAuyC,EAAOl5C,EAAM,MACf6nD,GAAQ,CACJ,SAAU7nD,EAAM,MAChB,eAAgB,GACnB,EACL,OAAOgoD,GAAgBhoD,EAAO2G,EAASu4C,GAA8B,IAAI5wD,IAEzE4qD,EAAKuJ,EAAmB,EAAE,GAAGn0D,CAAI,CAAC,EAE1C,CAAC,EAkBKi6D,GAAiBD,GAGvB,SAASE,GAActP,EAAMrhD,EAAU,CACnC,MAAM4wD,EAAevP,EACjB,GAAAA,EAAK,OAAS,cACd,OAAQuP,EAAa,cAAc5wD,CAAQ,GAAKqhD,EAAK,OAEpD,CACK,MAAAwP,EAAUD,EAAa,cAAc5wD,CAAQ,EACnD,OAAO6wD,GAAW,KACZA,EAAQ,WACRxP,EAAK,OAAO,WAE1B,CACA,SAASyP,GAAYzP,EAAM,CACjB,MAAA0P,EAAYptD,GAAY,CACpB,MAAE,SAAA3D,EAAU,MAAA7S,CAAA,EAAUwW,EAE5B,GAAI,CAAC3D,GAAY,CAACA,EAAS,EACjB,MAAA0qD,GAAgBD,GAAe,gBAAgB,EAEzD,MAAMkF,EAAWgB,GAActP,EAAMrhD,EAAS,CAAC,EACzCgxD,EAAcC,GAAW9jE,CAAK,EAC7B,OACH,QAAQ,MAAMwiE,EAAS,EAAGA,EAAU,CAAC,GAAGuB,GAAWF,CAAW,CAAC,CAAC,EAChErB,CACJ,CACJ,EAoCO,OACH,QApCa,CAACvjE,EAAIuX,IAAY,CAC9B,KAAM,CAACwtD,EAAaxB,CAAQ,EAAIoB,EAASptD,CAAO,EAC5CmvC,IAAauO,EAAK,SAAWsO,IAE7BvjE,EAAG,cAAgB+R,GAAMwxD,EAAS,OAAQ,IAAM,CACpChsD,EAAA,UAAYA,EAAQ,SAAS,aAAa,EACrD,GAELvX,EAAG,WAAaujE,EAChBvjE,EAAG,YAAc+kE,CACrB,EA2BI,UA1BgB/kE,GAAO,CACnB0mD,IAAa1mD,EAAG,gBAChBA,EAAG,cAAc,EACjBA,EAAG,cAAgB,OACnB,OAAOA,EAAG,eAEVA,EAAG,aACHA,EAAG,WAAa,OAChB,OAAOA,EAAG,WAElB,EAiBI,aAhBW,CAACA,EAAI,CAAE,MAAAe,KAAY,CAC9B,GAAIf,EAAG,WAAY,CACf,MAAMujE,EAAWvjE,EAAG,WACd4kE,EAAcC,GAAW9jE,CAAK,EACpCf,EAAG,YAAc,QAAQ,MAAMujE,EAAS,EAAGA,EAAU,CACjD,GAAGuB,GAAWF,CAAW,EAC5B,EAET,EASI,YARiBrtD,GAAY,CAC7B,KAAM,CAACwtD,CAAW,EAAIJ,EAASptD,CAAO,EACtC,MAAO,CAAE,YAAAwtD,CAAY,CACzB,CAMA,CACJ,CACA,SAASF,GAAW9jE,EAAO,CACnB,GAAAL,EAASK,CAAK,EACP,OAAE,KAAMA,CAAM,EACzB,GACSE,GAAcF,CAAK,EAAG,CACvB,KAAE,SAAUA,GACN,MAAAu9D,GAAgBD,GAAe,eAAgB,MAAM,EAExD,OAAAt9D,CAAA,KAGD,OAAAu9D,GAAgBD,GAAe,aAAa,CAE1D,CACA,SAASyG,GAAW/jE,EAAO,CACvB,KAAM,CAAE,KAAAuwB,EAAM,OAAAw1B,EAAQ,KAAAz8C,EAAM,OAAA6xD,EAAQ,OAAAtO,GAAW7sD,EACzCkR,EAAU,CAAC,EACXi/C,EAAQ7mD,GAAQ,CAAC,EACnB,OAAA3J,EAASomD,CAAM,IACf70C,EAAQ,OAAS60C,GAEjBG,GAASiV,CAAM,IACfjqD,EAAQ,OAASiqD,GAEjBjV,GAAS2G,CAAM,IACf37C,EAAQ,OAAS27C,GAEd,CAACt8B,EAAM4/B,EAAOj/C,CAAO,CAChC,CAEA,SAASzH,GAAMsY,EAAKmyC,KAAShjD,EAAS,CAC5B,MAAA+yD,EAAgB/jE,GAAcgR,EAAQ,CAAC,CAAC,EACxCA,EAAQ,CAAC,EACT,CAAC,GACe8nB,GAAUirC,EAAc,aAAa,EACrDA,EAAc,cACd,MAED,CAAAlB,GAAY,KAAM,OAAO,EAAE,WAAgBhhD,EAAI,UAAUvf,EAAMugE,EAAW,CAAC,EAC3E,CAAAM,GAAa,KAAM,OAAO,EAAE,WAAgBthD,EAAI,UAAUvf,EAAM6gE,EAAY,CAAC,EAC7E,CAAAE,GAAe,KAAM,OAAO,EAAE,WAAgBxhD,EAAI,UAAUvf,EAAM+gE,EAAc,CAAC,GAIlFxhD,EAAI,UAAU,IAAK4hD,GAAYzP,CAAI,CAAC,CAE5C,CAWA,MAAMgQ,MACoB,iBAAiB,EAE3C,SAASC,GAAWjzD,EAAU,CAAC,EAAGkzD,EAAe,CAM7C,MAAMC,EAAoBrrC,GAAU9nB,EAAQ,eAAe,EACrDA,EAAQ,gBACR,GACAozD,MAAkB,IAClB,CAACC,EAAaC,CAAQ,EAAIC,GAAavzD,CAAqB,EAC5DwzD,EAAwB9e,GAAkE,EAAE,EAClG,SAAS+e,EAAcxiD,EAAW,CACvB,OAAAmiD,EAAY,IAAIniD,CAAS,GAAK,KAEhC,SAAAyiD,EAAcziD,EAAWtP,EAAU,CAC5ByxD,EAAA,IAAIniD,EAAWtP,CAAQ,EAEvC,SAASgyD,EAAiB1iD,EAAW,CACjCmiD,EAAY,OAAOniD,CAAS,EAEhC,MAAM+xC,EAAO,CAET,IAAI,MAAO,CACP,MAEM,aACV,EAEA,MAAM,QAAQnyC,KAAQ7Q,EAAS,CAQ3B,GAHA6Q,EAAI,oBAAsB2iD,EACtB3iD,EAAA,QAAQA,EAAI,oBAAqBmyC,CAAI,EAErCh0D,GAAcgR,EAAQ,CAAC,CAAC,EAAG,CACrB,MAAA4zD,EAAO5zD,EAAQ,CAAC,EACtBgjD,EAAK,iBACD4Q,EAAK,iBACT5Q,EAAK,gBACD4Q,EAAK,gBAGb,IAAIC,EAAuB,KACNV,IACMU,EAAAC,GAAmBjjD,EAAKmyC,EAAK,MAAM,GAIpDzqD,GAAAsY,EAAKmyC,EAAM,GAAGhjD,CAAO,EAO/B,MAAM+zD,EAAaljD,EAAI,QACvBA,EAAI,QAAU,IAAM,CAChBgjD,GAAwBA,EAAqB,EAC7C7Q,EAAK,QAAQ,EACF+Q,EAAA,CACf,CAmBJ,EAEA,IAAI,QAAS,CACF,OAAAT,CACX,EACA,SAAU,CACND,EAAY,KAAK,CACrB,EAEA,YAAAD,EAEA,cAAAK,EAEA,cAAAC,EAEA,iBAAAC,CACJ,EACO,OAAA3Q,CACX,CACA,SAAS2O,GAAQ3xD,EAAU,GAAI,CAC3B,MAAM2B,EAAW6d,GAAmB,EACpC,GAAI7d,GAAY,KACN,MAAA0qD,GAAgBD,GAAe,sBAAsB,EAE3D,IAACzqD,EAAS,MACVA,EAAS,WAAW,KAAO,MAC3B,CAACA,EAAS,WAAW,IAAI,oBACnB,MAAA0qD,GAAgBD,GAAe,aAAa,EAEhD,MAAApJ,EAAOgR,GAAgBryD,CAAQ,EAC/B4rD,EAAK0G,GAAkBjR,CAAI,EAC3BwK,EAAmBH,GAAoB1rD,CAAQ,EAC/CT,EAAQgzD,GAASl0D,EAASwtD,CAAgB,EAChD,GAAItsD,IAAU,SACU,OAAAosD,GAAAC,EAAIvtD,EAASwtD,CAAgB,EAC1CD,EAEX,GAAIrsD,IAAU,SAAU,CAEpB,IAAIowD,EAAW6C,GAAYnR,EAAMrhD,EAAU3B,EAAQ,cAAc,EACjE,OAAIsxD,GAAY,OAIZA,EAAW/D,GAER+D,CAAA,CAEX,MAAMiB,EAAevP,EACjB,IAAAsO,EAAWiB,EAAa,cAAc5wD,CAAQ,EAClD,GAAI2vD,GAAY,KAAM,CAClB,MAAM8C,EAAkBjf,GAAO,CAAC,EAAGn1C,CAAO,EACtC,WAAYwtD,IACZ4G,EAAgB,OAAS5G,EAAiB,QAE1CD,IACA6G,EAAgB,OAAS7G,GAE7B+D,EAAWtD,GAAeoG,CAAe,EACrC7B,EAAa,mBACbjB,EAAS3E,EAAa,EAClB4F,EAAa,iBAAiBjB,CAAQ,GAE/B+C,GAAA9B,EAAc5wD,EAAU2vD,CAAQ,EAClCiB,EAAA,cAAc5wD,EAAU2vD,CAAQ,EAE1C,OAAAA,CACX,CACA,SAASiC,GAAavzD,EAASs0D,EAAYpB,EACzC,CACE,MAAMhyD,EAAQ5N,GAAY,EACpBlD,EAEA8Q,EAAM,IAAI,IAAM8sD,GAAehuD,CAAO,CAAC,EAC7C,GAAI5P,GAAO,KACD,MAAAi8D,GAAgBD,GAAe,gBAAgB,EAElD,OAAClrD,EAAO9Q,CAAG,CACtB,CACA,SAAS4jE,GAAgBryD,EAAU,CACzB,MAAAqhD,EAAOt0C,GAAQ/M,EAAS,KAExBqxD,GADArxD,EAAS,WAAW,IAAI,mBACR,EAEtB,GAAI,CAACqhD,EACD,MAAMqJ,GAAiB1qD,EAAS,KAE1ByqD,GAAe,2BADfA,GAAe,gBAC0B,EAE5C,OAAApJ,CACX,CAEA,SAASkR,GAASl0D,EAASwtD,EAAkB,CAElC,OAAAtY,GAAcl1C,CAAO,EACrB,WAAYwtD,EACT,QACA,SACHxtD,EAAQ,SAELA,EAAQ,SADR,OAEd,CACA,SAASi0D,GAAkBjR,EAAM,CAE7B,OAAOA,EAAK,OAAS,cACfA,EAAK,OACLA,EAAK,OAAO,UACtB,CACA,SAASmR,GAAYnR,EAAMnsD,EAAQ09D,EAAe,GAAO,CACrD,IAAIjD,EAAW,KACf,MAAM12C,EAAO/jB,EAAO,KAChB,IAAAyQ,EAAUktD,GAA2B39D,EAAQ09D,CAAY,EAC7D,KAAOjtD,GAAW,MAAM,CACpB,MAAMirD,EAAevP,EAsBrB,GArBIA,EAAK,OAAS,gBACHsO,EAAAiB,EAAa,cAAcjrD,CAAO,GAiB7CgqD,GAAY,MAGZ12C,IAAStT,EACT,MAEJA,EAAUA,EAAQ,OAEf,OAAAgqD,CACX,CACA,SAASkD,GAA2B39D,EAAQ09D,EAAe,GAAO,CAC9D,OAAI19D,GAAU,KACH,KAGH09D,GAEF19D,EAAO,MAAM,KAAOA,EAAO,MACrC,CACA,SAASw9D,GAAerR,EAAMnsD,EAAQy6D,EAAU,CAE5CnpD,GAAU,IAAM,GAYbtR,CAAM,EACT8Q,GAAY,IAAM,CAEd,MAAM8sD,EAAYnD,EAUlBtO,EAAK,iBAAiBnsD,CAAM,EAEtB,MAAA69D,EAAUD,EAAU9H,EAAa,EACnC+H,IACQA,EAAA,EACR,OAAOD,EAAU9H,EAAa,IAEnC91D,CAAM,CACb,CACA,MAAM89D,GAAoB,CACtB,SACA,iBACA,kBACJ,EACMC,GAAsB,CAAC,IAAK,KAAM,IAAK,IAAK,KAAM,IAAI,EAE5D,SAASd,GAAmBjjD,EAAKygD,EAAU,CACjC,MAAAtO,EAAc,cAAO,IAAI,EAC/B,OAAA2R,GAAkB,QAAgB9gD,GAAA,CAC9B,MAAMghD,EAAO,OAAO,yBAAyBvD,EAAUz9C,CAAI,EAC3D,GAAI,CAACghD,EACK,MAAAxI,GAAgBD,GAAe,gBAAgB,EAEzD,MAAM3wD,EAAOnJ,GAAMuiE,EAAK,KAAK,EACvB,CACE,KAAM,CACF,OAAOA,EAAK,MAAM,KACtB,EAEA,IAAIxnE,EAAK,CACLwnE,EAAK,MAAM,MAAQxnE,CAAA,CACvB,EAEF,CACE,KAAM,CACK,OAAAwnE,EAAK,KAAOA,EAAK,IAAI,EAEpC,EACG,sBAAe7R,EAAMnvC,EAAMpY,CAAI,EACzC,EACGoV,EAAA,OAAO,iBAAiB,MAAQmyC,EACpC4R,GAAoB,QAAkB97D,GAAA,CAClC,MAAM+7D,EAAO,OAAO,yBAAyBvD,EAAUx4D,CAAM,EAC7D,GAAI,CAAC+7D,GAAQ,CAACA,EAAK,MACT,MAAAxI,GAAgBD,GAAe,gBAAgB,EAEzD,OAAO,eAAev7C,EAAI,OAAO,iBAAkB,IAAI/X,CAAM,GAAI+7D,CAAI,EACxE,EACe,IAAM,CAEX,OAAAhkD,EAAI,OAAO,iBAAiB,MACnC+jD,GAAoB,QAAkB97D,GAAA,CAElC,OAAO+X,EAAI,OAAO,iBAAiB,IAAI/X,CAAM,EAAE,EAClD,CACL,CAEJ,CAGqBgoD,GAAA,EAGrB8E,GAAwBzuB,EAAO,EAE/B4uB,GAAwBV,EAAY,EAEpCY,GAAyBtC,EAAuB,EAEhD,GAA+C,0BAA2B,CACtE,MAAM9sD,EAASpG,GAAc,EAC7BoG,EAAO,YAAc,GACrBisD,GAAgBjsD,EAAO,gCAAgC,CAC3D,gGCt1EA,MAAMiT,EAAQgrD,EAMRC,EAAUx/D,GAAS,IAAM,CAC7B,WACA,wBACA,uBACA,6BACA,MACA,OACA,eACA,iBACA,iBACAuU,EAAM,QAAU,eAAiB,UAClC,g3BC9BYkrD,GAAqB,YAE5BC,GAAe,CACnB,SAAUllC,GAAW,GAAGilC,EAAkB,QAAS,EAAK,EACxD,aAAcjlC,GACZ,GAAGilC,EAAkB,iBACrB,CACE,OAAQ,CAAC,QAAS,OAAO,EACzB,KAAM,GACN,MAAO,EACP,QAAS,EACX,CAEJ,EAEO,SAASE,IAAkB,CACzB,OAAAD,EACT,kMCIM,MAAE,CAAE,EAAItD,GAAQ,EAUhBwD,EAAkB,CACtB,CACE,GAAI,gBACJ,MAAO,8CACP,MAAW,SAAK,qBAAqB,EACrC,IAAS,SAAK,qBAAqB,EACnC,IAAK;AAAA,0MAGT,EAEMC,EAAarlC,GAAqB,GAAGilC,EAAkB,UAAW,EAAE,EAEpEK,EAAQ9/D,GAAS,IACrB4/D,EAAO,KAAMxjE,GAAM,CACjB,MAAM2jE,EAAkB3jE,EAAE,OAASA,EAAE,IAAMA,EAAE,OAAa,UAAUA,EAAE,KAAO,IAAI,KAAS,GAC1F,MAAO,CAACyjE,EAAW,MAAM,SAASzjE,EAAE,EAAE,GAAK2jE,CAC5C,EACH,EAEA,SAASl1B,GAAQ,CACVi1B,EAAM,OAGXD,EAAW,MAAM,KAAKC,EAAM,MAAM,EAAE,EAGtC,MAAM55B,EAAOlmC,GAAS,IAAO8/D,EAAM,MAAQ7gB,GAAU6gB,EAAM,MAAM,IAAI,KAAM,GAAI,IAAK,miFC7DpF;AAAA;AAAA;AAAA;AAAA,IAQA,MAAME,GAAY,OAAO,SAAa,IAQtC,SAASC,GAAiBvkD,EAAW,CACjC,OAAQ,OAAOA,GAAc,UACzB,gBAAiBA,GACjB,UAAWA,GACX,cAAeA,CACvB,CACA,SAASwkD,GAAWrlE,EAAK,CACrB,OAAQA,EAAI,YACRA,EAAI,OAAO,WAAW,IAAM,UAG3BA,EAAI,SAAWolE,GAAiBplE,EAAI,OAAO,CACpD,CACA,MAAM+kD,GAAS,OAAO,OACtB,SAASugB,GAActmE,EAAIumE,EAAQ,CAC/B,MAAMC,EAAY,CAAC,EACnB,UAAWxoE,KAAOuoE,EAAQ,CAChB,MAAA7mE,EAAQ6mE,EAAOvoE,CAAG,EACdwoE,EAAAxoE,CAAG,EAAIe,GAAQW,CAAK,EACxBA,EAAM,IAAIM,CAAE,EACZA,EAAGN,CAAK,EAEX,OAAA8mE,CACX,CACA,MAAMxpC,GAAO,IAAM,CAAE,EAKfj+B,GAAU,MAAM,QA2BhB0nE,GAAU,KACVC,GAAe,KACfC,GAAW,MACXC,GAAW,KACXC,GAAQ,MACRC,GAAU,MAeVC,GAAsB,OACtBC,GAAuB,OACvBC,GAAe,OACfC,GAAkB,OAClBC,GAAoB,OACpBC,GAAc,OACdC,GAAqB,OACrBC,GAAe,OASrB,SAASC,GAAalzC,EAAM,CACxB,OAAO,UAAU,GAAKA,CAAI,EACrB,QAAQ+yC,GAAa,GAAG,EACxB,QAAQL,GAAqB,GAAG,EAChC,QAAQC,GAAsB,GAAG,CAC1C,CAOA,SAASQ,GAAWnzC,EAAM,CACtB,OAAOkzC,GAAalzC,CAAI,EACnB,QAAQ8yC,GAAmB,GAAG,EAC9B,QAAQE,GAAoB,GAAG,EAC/B,QAAQJ,GAAc,GAAG,CAClC,CAQA,SAASQ,GAAiBpzC,EAAM,CAC5B,OAAQkzC,GAAalzC,CAAI,EAEpB,QAAQyyC,GAAS,KAAK,EACtB,QAAQQ,GAAc,GAAG,EACzB,QAAQb,GAAS,KAAK,EACtB,QAAQC,GAAc,KAAK,EAC3B,QAAQQ,GAAiB,GAAG,EAC5B,QAAQC,GAAmB,GAAG,EAC9B,QAAQE,GAAoB,GAAG,EAC/B,QAAQJ,GAAc,GAAG,CAClC,CAMA,SAASS,GAAerzC,EAAM,CAC1B,OAAOozC,GAAiBpzC,CAAI,EAAE,QAAQuyC,GAAU,KAAK,CACzD,CAOA,SAASe,GAAWtzC,EAAM,CACf,OAAAkzC,GAAalzC,CAAI,EAAE,QAAQoyC,GAAS,KAAK,EAAE,QAAQI,GAAO,KAAK,CAC1E,CAUA,SAASe,GAAYvzC,EAAM,CAChB,OAAAA,GAAQ,KAAO,GAAKszC,GAAWtzC,CAAI,EAAE,QAAQsyC,GAAU,KAAK,CACvE,CAQA,SAASkB,GAAOxzC,EAAM,CACd,IACO,0BAAmB,GAAKA,CAAI,OAE3B,EAGZ,MAAO,GAAKA,CAChB,CAEA,MAAMyzC,GAAoB,MACpBC,GAAuB93C,GAASA,EAAK,QAAQ63C,GAAmB,EAAE,EAUxE,SAASE,GAASC,EAAYpf,EAAUqf,EAAkB,IAAK,CAC3D,IAAIj4C,EAAMqP,EAAQ,GAAI6oC,EAAe,GAAIC,EAAO,GAG1C,MAAAC,EAAUxf,EAAS,QAAQ,GAAG,EAChC,IAAAyf,EAAYzf,EAAS,QAAQ,GAAG,EAEhC,OAAAwf,EAAUC,GAAaD,GAAW,IACtBC,EAAA,IAEZA,EAAY,KACLzf,IAAS,MAAM,EAAGyf,CAAS,EACnBzf,IAAS,MAAMyf,EAAY,EAAGD,EAAU,GAAKA,EAAUxf,EAAS,MAAM,EACrFvpB,EAAQ2oC,EAAWE,CAAY,GAE/BE,EAAU,KACVp4C,EAAOA,GAAQ44B,EAAS,MAAM,EAAGwf,CAAO,EAExCD,EAAOvf,EAAS,MAAMwf,EAASxf,EAAS,MAAM,GAGlD54B,EAAOs4C,GAAoBt4C,GAAsB44B,EAAUqf,CAAe,EAEnE,CACH,SAAUj4C,GAAQk4C,GAAgB,KAAOA,EAAeC,EACxD,KAAAn4C,EACA,MAAAqP,EACA,KAAMuoC,GAAOO,CAAI,CACrB,CACJ,CAOA,SAASI,GAAaC,EAAgB5f,EAAU,CAC5C,MAAMvpB,EAAQupB,EAAS,MAAQ4f,EAAe5f,EAAS,KAAK,EAAI,GAChE,OAAOA,EAAS,MAAQvpB,GAAS,KAAOA,GAASupB,EAAS,MAAQ,GACtE,CAOA,SAAS6f,GAAUC,EAAUjpD,EAAM,CAE3B,OAACA,GAAQ,CAACipD,EAAS,YAAc,aAAWjpD,EAAK,aAAa,EACvDipD,EACJA,EAAS,MAAMjpD,EAAK,MAAM,GAAK,GAC1C,CAUA,SAASkpD,GAAoBH,EAAgBlmE,EAAGC,EAAG,CACzC,MAAAqmE,EAAatmE,EAAE,QAAQ,OAAS,EAChCumE,EAAatmE,EAAE,QAAQ,OAAS,EACtC,OAAQqmE,EAAa,IACjBA,IAAeC,GACfC,GAAkBxmE,EAAE,QAAQsmE,CAAU,EAAGrmE,EAAE,QAAQsmE,CAAU,CAAC,GAC9DE,GAA0BzmE,EAAE,OAAQC,EAAE,MAAM,GAC5CimE,EAAelmE,EAAE,KAAK,IAAMkmE,EAAejmE,EAAE,KAAK,GAClDD,EAAE,OAASC,EAAE,IACrB,CAQA,SAASumE,GAAkBxmE,EAAGC,EAAG,CAI7B,OAAQD,EAAE,SAAWA,MAAQC,EAAE,SAAWA,EAC9C,CACA,SAASwmE,GAA0BzmE,EAAGC,EAAG,CACjC,UAAO,KAAKD,CAAC,EAAE,SAAW,OAAO,KAAKC,CAAC,EAAE,OAClC,SACX,UAAWxE,KAAOuE,EACd,GAAI,CAAC0mE,GAA+B1mE,EAAEvE,CAAG,EAAGwE,EAAExE,CAAG,CAAC,EACvC,SAER,QACX,CACA,SAASirE,GAA+B1mE,EAAGC,EAAG,CAC1C,OAAOzD,GAAQwD,CAAC,EACV2mE,GAAkB3mE,EAAGC,CAAC,EACtBzD,GAAQyD,CAAC,EACL0mE,GAAkB1mE,EAAGD,CAAC,EACtBA,IAAMC,CACpB,CAQA,SAAS0mE,GAAkB3mE,EAAGC,EAAG,CACtB,OAAAzD,GAAQyD,CAAC,EACVD,EAAE,SAAWC,EAAE,QAAUD,EAAE,MAAM,CAAC7C,EAAOd,IAAMc,IAAU8C,EAAE5D,CAAC,CAAC,EAC7D2D,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAMC,CACrC,CAOA,SAAS+lE,GAAoBroD,EAAIC,EAAM,CAC/B,GAAAD,EAAG,WAAW,GAAG,EACV,OAAAA,EAKX,GAAI,CAACA,EACM,OAAAC,EACL,MAAAgpD,EAAehpD,EAAK,MAAM,GAAG,EAC7BipD,EAAalpD,EAAG,MAAM,GAAG,EACzBmpD,EAAgBD,EAAWA,EAAW,OAAS,CAAC,GAGlDC,IAAkB,MAAQA,IAAkB,MAC5CD,EAAW,KAAK,EAAE,EAElB,IAAAE,EAAWH,EAAa,OAAS,EACjCI,EACAC,EACJ,IAAKD,EAAa,EAAGA,EAAaH,EAAW,OAAQG,IAGjD,GAFAC,EAAUJ,EAAWG,CAAU,EAE3BC,IAAY,IAGhB,GAAIA,IAAY,KAERF,EAAW,GACXA,QAKJ,OAER,OAAQH,EAAa,MAAM,EAAGG,CAAQ,EAAE,KAAK,GAAG,EAC5C,IACAF,EAAW,MAAMG,CAAU,EAAE,KAAK,GAAG,CAC7C,CAgBA,MAAME,GAA4B,CAC9B,KAAM,IAEN,KAAM,OACN,OAAQ,CAAC,EACT,MAAO,CAAC,EACR,KAAM,GACN,SAAU,IACV,QAAS,CAAC,EACV,KAAM,CAAC,EACP,eAAgB,MACpB,EAEA,IAAIC,IACH,SAAUA,EAAgB,CACvBA,EAAe,IAAS,MACxBA,EAAe,KAAU,MAC7B,GAAGA,KAAmBA,GAAiB,GAAG,EAC1C,IAAIC,IACH,SAAUA,EAAqB,CAC5BA,EAAoB,KAAU,OAC9BA,EAAoB,QAAa,UACjCA,EAAoB,QAAa,EACrC,GAAGA,KAAwBA,GAAsB,GAAG,EAYpD,SAASC,GAAclqD,EAAM,CACzB,GAAI,CAACA,EACD,GAAIymD,GAAW,CAEL,MAAA0D,EAAS,SAAS,cAAc,MAAM,EAC5CnqD,EAAQmqD,GAAUA,EAAO,aAAa,MAAM,GAAM,IAE3CnqD,IAAK,QAAQ,kBAAmB,EAAE,OAGlCA,EAAA,IAMf,OAAIA,EAAK,CAAC,IAAM,KAAOA,EAAK,CAAC,IAAM,MAC/BA,EAAO,IAAMA,GAGVqoD,GAAoBroD,CAAI,CACnC,CAEA,MAAMoqD,GAAiB,UACvB,SAASC,GAAWrqD,EAAMmpC,EAAU,CAChC,OAAOnpC,EAAK,QAAQoqD,GAAgB,GAAG,EAAIjhB,CAC/C,CAEA,SAASmhB,GAAmBrrE,EAAI+xC,EAAQ,CAC9B,MAAAu5B,EAAU,SAAS,gBAAgB,sBAAsB,EACzDC,EAASvrE,EAAG,sBAAsB,EACjC,OACH,SAAU+xC,EAAO,SACjB,KAAMw5B,EAAO,KAAOD,EAAQ,MAAQv5B,EAAO,MAAQ,GACnD,IAAKw5B,EAAO,IAAMD,EAAQ,KAAOv5B,EAAO,KAAO,EACnD,CACJ,CACA,MAAMy5B,GAAwB,KAAO,CACjC,KAAM,OAAO,QACb,IAAK,OAAO,OAChB,GACA,SAASC,GAAiBd,EAAU,CAC5B,IAAAe,EACJ,GAAI,OAAQf,EAAU,CAClB,MAAMgB,EAAahB,EAAS,GACtBiB,EAAe,OAAOD,GAAe,UAAYA,EAAW,WAAW,GAAG,EAuC1E3rE,EAAK,OAAO2rE,GAAe,SAC3BC,EACI,SAAS,eAAeD,EAAW,MAAM,CAAC,CAAC,EAC3C,SAAS,cAAcA,CAAU,EACrCA,EACN,GAAI,CAAC3rE,EAGD,OAEc0rE,EAAAL,GAAmBrrE,EAAI2qE,CAAQ,OAG/Be,EAAAf,EAElB,mBAAoB,SAAS,gBAAgB,MAC7C,OAAO,SAASe,CAAe,EAE/B,OAAO,SAASA,EAAgB,MAAQ,KAAOA,EAAgB,KAAO,OAAO,QAASA,EAAgB,KAAO,KAAOA,EAAgB,IAAM,OAAO,OAAO,CAEhK,CACA,SAASG,GAAav6C,EAAMw6C,EAAO,CAE/B,OADiB,QAAQ,MAAQ,QAAQ,MAAM,SAAWA,EAAQ,IAChDx6C,CACtB,CACA,MAAMy6C,OAAsB,IAC5B,SAASC,GAAmB3sE,EAAK4sE,EAAgB,CAC7BF,GAAA,IAAI1sE,EAAK4sE,CAAc,CAC3C,CACA,SAASC,GAAuB7sE,EAAK,CAC3B,MAAA8sE,EAASJ,GAAgB,IAAI1sE,CAAG,EAEtC,OAAA0sE,GAAgB,OAAO1sE,CAAG,EACnB8sE,CACX,CAiBA,IAAIC,GAAqB,IAAM,SAAS,SAAW,KAAO,SAAS,KAMnE,SAASC,GAAsBtrD,EAAMmpC,EAAU,CAC3C,KAAM,CAAE,SAAA8f,EAAU,OAAA9jB,EAAQ,KAAAujB,CAASvf,IAE7Bwf,EAAU3oD,EAAK,QAAQ,GAAG,EAChC,GAAI2oD,EAAU,GAAI,CACd,IAAI4C,EAAW7C,EAAK,SAAS1oD,EAAK,MAAM2oD,CAAO,CAAC,EAC1C3oD,EAAK,MAAM2oD,CAAO,EAAE,OACpB,EACF6C,EAAe9C,EAAK,MAAM6C,CAAQ,EAElC,OAAAC,EAAa,CAAC,IAAM,MACpBA,EAAe,IAAMA,GAClBxC,GAAUwC,EAAc,EAAE,EAGrC,OADaxC,GAAUC,EAAUjpD,CAAI,EACvBmlC,EAASujB,CAC3B,CACA,SAAS+C,GAAoBzrD,EAAM0rD,EAAclD,EAAiB/hC,EAAS,CACvE,IAAIzH,EAAY,CAAC,EACb2sC,EAAY,CAAC,EAGbC,EAAa,KACjB,MAAMC,EAAkB,CAAC,CAAE,MAAAvvD,KAAa,CAC9B,MAAAkE,EAAK8qD,GAAsBtrD,EAAM,QAAQ,EACzCS,EAAO+nD,EAAgB,MACvBsD,EAAYJ,EAAa,MAC/B,IAAIX,EAAQ,EACZ,GAAIzuD,EAAO,CAIH,GAHJksD,EAAgB,MAAQhoD,EACxBkrD,EAAa,MAAQpvD,EAEjBsvD,GAAcA,IAAenrD,EAAM,CACtBmrD,EAAA,KACb,OAEJb,EAAQe,EAAYxvD,EAAM,SAAWwvD,EAAU,SAAW,OAG1DrlC,EAAQjmB,CAAE,EAOdwe,EAAU,QAAoBC,GAAA,CACjBA,EAAAupC,EAAgB,MAAO/nD,EAAM,CAClC,MAAAsqD,EACA,KAAMf,GAAe,IACrB,UAAWe,EACLA,EAAQ,EACJd,GAAoB,QACpBA,GAAoB,KACxBA,GAAoB,QAC7B,EACJ,CACL,EACA,SAAS8B,GAAiB,CACtBH,EAAapD,EAAgB,MAEjC,SAASwD,EAAO5+D,EAAU,CAEtB4xB,EAAU,KAAK5xB,CAAQ,EACvB,MAAM6+D,EAAW,IAAM,CACb,MAAAvhE,EAAQs0B,EAAU,QAAQ5xB,CAAQ,EACpC1C,EAAQ,IACEs0B,EAAA,OAAOt0B,EAAO,CAAC,CACjC,EACA,OAAAihE,EAAU,KAAKM,CAAQ,EAChBA,CAAA,CAEX,SAASC,GAAuB,CACtB,MAAE,QAAAC,GAAY,OACfA,EAAQ,OAEbA,EAAQ,aAAa9lB,GAAO,GAAI8lB,EAAQ,MAAO,CAAE,OAAQ1B,IAAyB,GAAG,EAAE,EAE3F,SAAS2B,GAAU,CACf,UAAWH,KAAYN,EACVM,EAAA,EACbN,EAAY,CAAC,EACN,2BAAoB,WAAYE,CAAe,EAC/C,2BAAoB,eAAgBK,CAAoB,EAG5D,+BAAiB,WAAYL,CAAe,EAG5C,wBAAiB,eAAgBK,EAAsB,CAC1D,QAAS,GACZ,EACM,CACH,eAAAH,EACA,OAAAC,EACA,QAAAI,CACJ,CACJ,CAIA,SAASC,GAAWC,EAAM9zD,EAAS+zD,EAASC,EAAW,GAAOC,EAAgB,GAAO,CAC1E,OACH,KAAAH,EACA,QAAA9zD,EACA,QAAA+zD,EACA,SAAAC,EACA,SAAU,OAAO,QAAQ,OACzB,OAAQC,EAAgBhC,KAA0B,IACtD,CACJ,CACA,SAASiC,GAA0B1sD,EAAM,CACrC,KAAM,CAAE,QAAAmsD,EAAS,SAAAhjB,CAAa,SAExBqf,EAAkB,CACpB,MAAO8C,GAAsBtrD,EAAMmpC,CAAQ,CAC/C,EACMuiB,EAAe,CAAE,MAAOS,EAAQ,KAAM,EAEvCT,EAAa,OACdiB,EAAenE,EAAgB,MAAO,CAClC,KAAM,KACN,QAASA,EAAgB,MACzB,QAAS,KAET,SAAU2D,EAAQ,OAAS,EAC3B,SAAU,GAGV,OAAQ,MACT,EAAI,EAEF,SAAAQ,EAAensD,EAAIlE,EAAOmqB,EAAS,CAUlC,MAAAmmC,EAAY5sD,EAAK,QAAQ,GAAG,EAC5B2nB,EAAMilC,EAAY,IACjBzjB,EAAS,MAAQ,SAAS,cAAc,MAAM,EAC3CnpC,EACAA,EAAK,MAAM4sD,CAAS,GAAKpsD,EAC7B6qD,GAAA,EAAuBrrD,EAAOQ,EAChC,IAGA2rD,EAAQ1lC,EAAU,eAAiB,WAAW,EAAEnqB,EAAO,GAAIqrB,CAAG,EAC9D+jC,EAAa,MAAQpvD,QAElBnW,EAAK,CAKJ,QAAQ,MAAMA,CAAG,EAGrBgjD,EAAS1iB,EAAU,UAAY,QAAQ,EAAEkB,CAAG,EAChD,CAEK,SAAAlB,EAAQjmB,EAAIhE,EAAM,CACvB,MAAMF,EAAQ+pC,GAAO,CAAC,EAAG8lB,EAAQ,MAAOE,GAAWX,EAAa,MAAM,KAEtElrD,EAAIkrD,EAAa,MAAM,QAAS,IAAOlvD,EAAM,CAAE,SAAUkvD,EAAa,MAAM,SAAU,EACvEiB,EAAAnsD,EAAIlE,EAAO,EAAI,EAC9BksD,EAAgB,MAAQhoD,CAAA,CAEnB,SAAAilB,EAAKjlB,EAAIhE,EAAM,CAGpB,MAAMqwD,EAAexmB,GAAO,CAAC,EAI7BqlB,EAAa,MAAOS,EAAQ,MAAO,CAC/B,QAAS3rD,EACT,OAAQiqD,GAAsB,EACjC,EAMckC,EAAAE,EAAa,QAASA,EAAc,EAAI,EACvD,MAAMvwD,EAAQ+pC,GAAO,GAAIgmB,GAAW7D,EAAgB,MAAOhoD,EAAI,IAAI,EAAG,CAAE,SAAUqsD,EAAa,SAAW,GAAKrwD,CAAI,EACpGmwD,EAAAnsD,EAAIlE,EAAO,EAAK,EAC/BksD,EAAgB,MAAQhoD,CAAA,CAErB,OACH,SAAUgoD,EACV,MAAOkD,EACP,KAAAjmC,EACA,QAAAgB,CACJ,CACJ,CAMA,SAASqmC,GAAiB9sD,EAAM,CAC5BA,EAAOkqD,GAAclqD,CAAI,EACnB,MAAA+sD,EAAoBL,GAA0B1sD,CAAI,EAClDgtD,EAAmBvB,GAAoBzrD,EAAM+sD,EAAkB,MAAOA,EAAkB,SAAUA,EAAkB,OAAO,EACxH,SAAAxpB,EAAGwnB,EAAOkC,EAAmB,GAAM,CACnCA,GACDD,EAAiB,eAAe,EACpC,QAAQ,GAAGjC,CAAK,EAEpB,MAAMmC,EAAgB7mB,GAAO,CAEzB,SAAU,GACV,KAAArmC,EACA,GAAAujC,EACA,WAAY8mB,GAAW,KAAK,KAAMrqD,CAAI,GACvC+sD,EAAmBC,CAAgB,EAC/B,6BAAeE,EAAe,WAAY,CAC7C,WAAY,GACZ,IAAK,IAAMH,EAAkB,SAAS,MACzC,EACM,sBAAeG,EAAe,QAAS,CAC1C,WAAY,GACZ,IAAK,IAAMH,EAAkB,MAAM,MACtC,EACMG,CACX,CAyHA,SAASC,GAAgBC,EAAO,CAC5B,OAAO,OAAOA,GAAU,UAAaA,GAAS,OAAOA,GAAU,QACnE,CACA,SAASC,GAAY7qE,EAAM,CACvB,OAAO,OAAOA,GAAS,UAAY,OAAOA,GAAS,QACvD,CAEA,MAAM8qE,GAA0B,OAAwE,EAAE,EAK1G,IAAIC,IACH,SAAUA,EAAuB,CAK9BA,EAAsBA,EAAsB,QAAa,CAAC,EAAI,UAK9DA,EAAsBA,EAAsB,UAAe,CAAC,EAAI,YAKhEA,EAAsBA,EAAsB,WAAgB,EAAE,EAAI,YACtE,GAAGA,KAA0BA,GAAwB,GAAG,EA2BxD,SAASC,GAAkBxlE,EAAM6+D,EAAQ,CAS1B,OAAAxgB,GAAO,IAAI,MAAS,CACvB,KAAAr+C,EACA,CAACslE,EAAuB,EAAG,IAC5BzG,CAAM,CAEjB,CACA,SAAS4G,GAAoBvnE,EAAO8B,EAAM,CAC9B,OAAA9B,aAAiB,OACrBonE,MAA2BpnE,IAC1B8B,GAAQ,MAAQ,CAAC,EAAE9B,EAAM,KAAO8B,GACzC,CAgBA,MAAM0lE,GAAqB,SACrBC,GAA2B,CAC7B,UAAW,GACX,OAAQ,GACR,MAAO,GACP,IAAK,EACT,EAEMC,GAAiB,sBAQvB,SAASC,GAAer9C,EAAUzZ,EAAc,CAC5C,MAAM7F,EAAUm1C,GAAO,GAAIsnB,GAA0B52D,CAAY,EAE3D+2D,EAAQ,CAAC,EAEX,IAAAC,EAAU78D,EAAQ,MAAQ,IAAM,GAEpC,MAAM2J,EAAO,CAAC,EACd,UAAWivD,KAAWt5C,EAAU,CAE5B,MAAMw9C,EAAgBlE,EAAQ,OAAS,GAAK,CAAC,EAAuB,EAEhE54D,EAAQ,QAAU,CAAC44D,EAAQ,SAChBiE,GAAA,KACf,QAASE,EAAa,EAAGA,EAAanE,EAAQ,OAAQmE,IAAc,CAC1D,MAAAzgC,EAAQs8B,EAAQmE,CAAU,EAEhC,IAAIC,EAAkB,IACjBh9D,EAAQ,UAAY,IAA0C,GAC/D,GAAAs8B,EAAM,OAAS,EAEVygC,IACUF,GAAA,KACfA,GAAWvgC,EAAM,MAAM,QAAQogC,GAAgB,MAAM,EAClCM,GAAA,WAEd1gC,EAAM,OAAS,EAAyB,CAC7C,KAAM,CAAE,MAAAxtC,EAAO,WAAAmuE,EAAY,SAAAC,EAAU,OAAAC,CAAW,EAAA7gC,EAChD3yB,EAAK,KAAK,CACN,KAAM7a,EACN,WAAAmuE,EACA,SAAAC,CAAA,CACH,EACKE,QAAKD,GAAkBX,GAE7B,GAAIY,IAAOZ,GAAoB,CACRQ,GAAA,GAEf,IACI,WAAO,IAAII,CAAE,GAAG,QAEjBnoE,EAAK,CACF,UAAI,MAAM,oCAAoCnG,CAAK,MAAMsuE,CAAE,MAC7DnoE,EAAI,OAAO,EACnB,CAGA,IAAAooE,EAAaJ,EAAa,OAAOG,CAAE,WAAWA,CAAE,OAAS,IAAIA,CAAE,IAE9DL,IACDM,EAGIH,GAAYtE,EAAQ,OAAS,EACvB,OAAOyE,CAAU,IACjB,IAAMA,GAChBH,IACcG,GAAA,KACPR,GAAAQ,EACQL,GAAA,GACfE,IACmBF,GAAA,IACnBC,IACmBD,GAAA,KACnBI,IAAO,OACYJ,GAAA,KAE3BF,EAAc,KAAKE,CAAe,EAItCJ,EAAM,KAAKE,CAAa,EAGxB,GAAA98D,EAAQ,QAAUA,EAAQ,IAAK,CACzB,MAAAhS,EAAI4uE,EAAM,OAAS,EACzBA,EAAM5uE,CAAC,EAAE4uE,EAAM5uE,CAAC,EAAE,OAAS,CAAC,GAAK,kBAGhCgS,EAAQ,SACE68D,GAAA,MACX78D,EAAQ,IACG68D,GAAA,IAEN78D,EAAQ,QAAU,CAAC68D,EAAQ,SAAS,GAAG,IACjCA,GAAA,WACf,MAAMO,EAAK,IAAI,OAAOP,EAAS78D,EAAQ,UAAY,GAAK,GAAG,EAC3D,SAAS4zC,EAAMv0B,EAAM,CACX,MAAAi1B,EAAQj1B,EAAK,MAAM+9C,CAAE,EACrBzH,EAAS,CAAC,EAChB,GAAI,CAACrhB,EACM,YACX,QAAStmD,EAAI,EAAGA,EAAIsmD,EAAM,OAAQtmD,IAAK,CAC7B,MAAAc,EAAQwlD,EAAMtmD,CAAC,GAAK,GACpBZ,EAAMuc,EAAK3b,EAAI,CAAC,EACf2nE,EAAAvoE,EAAI,IAAI,EAAI0B,GAAS1B,EAAI,WAAa0B,EAAM,MAAM,GAAG,EAAIA,CAAA,CAE7D,OAAA6mE,CAAA,CAEX,SAAS2H,EAAU3H,EAAQ,CACvB,IAAIt2C,EAAO,GAEPk+C,EAAuB,GAC3B,UAAW3E,KAAWt5C,EAAU,EACxB,CAACi+C,GAAwB,CAACl+C,EAAK,SAAS,GAAG,KACnCA,GAAA,KACWk+C,EAAA,GACvB,UAAWjhC,KAASs8B,EACZ,GAAAt8B,EAAM,OAAS,EACfjd,GAAQid,EAAM,cAETA,EAAM,OAAS,EAAyB,CAC7C,KAAM,CAAE,MAAAxtC,EAAO,WAAAmuE,EAAY,SAAAC,CAAa,EAAA5gC,EAClCkhC,EAAQ1uE,KAAS6mE,EAASA,EAAO7mE,CAAK,EAAI,GAChD,GAAIX,GAAQqvE,CAAK,GAAK,CAACP,EACnB,MAAM,IAAI,MAAM,mBAAmBnuE,CAAK,2DAA2D,EAEvG,MAAM20B,EAAOt1B,GAAQqvE,CAAK,EACpBA,EAAM,KAAK,GAAG,EACdA,EACN,GAAI,CAAC/5C,EACD,GAAIy5C,EAEItE,EAAQ,OAAS,IAEbv5C,EAAK,SAAS,GAAG,EACVA,IAAK,MAAM,EAAG,EAAE,EAGAk+C,EAAA,QAI/B,OAAM,IAAI,MAAM,2BAA2BzuE,CAAK,GAAG,EAEnDuwB,GAAAoE,CAAA,CAEhB,CAGJ,OAAOpE,GAAQ,IAEZ,OACH,GAAA+9C,EACA,MAAAR,EACA,KAAAjzD,EACA,MAAAiqC,EACA,UAAA0pB,CACJ,CACJ,CAUA,SAASG,GAAkB9rE,EAAGC,EAAG,CAC7B,IAAI5D,EAAI,EACR,KAAOA,EAAI2D,EAAE,QAAU3D,EAAI4D,EAAE,QAAQ,CACjC,MAAM8rE,EAAO9rE,EAAE5D,CAAC,EAAI2D,EAAE3D,CAAC,EAEnB,GAAA0vE,EACO,OAAAA,EACX1vE,GAAA,CAIA,OAAA2D,EAAE,OAASC,EAAE,OACND,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAM,GAC5B,GACA,EAEDA,EAAE,OAASC,EAAE,OACXA,EAAE,SAAW,GAAKA,EAAE,CAAC,IAAM,GAC5B,EACA,GAEH,CACX,CAQA,SAAS+rE,GAAuBhsE,EAAGC,EAAG,CAClC,IAAI5D,EAAI,EACR,MAAM4vE,EAASjsE,EAAE,MACXksE,EAASjsE,EAAE,MACjB,KAAO5D,EAAI4vE,EAAO,QAAU5vE,EAAI6vE,EAAO,QAAQ,CAC3C,MAAMtqD,EAAOkqD,GAAkBG,EAAO5vE,CAAC,EAAG6vE,EAAO7vE,CAAC,CAAC,EAE/C,GAAAulB,EACO,OAAAA,EACXvlB,GAAA,CAEJ,GAAI,KAAK,IAAI6vE,EAAO,OAASD,EAAO,MAAM,IAAM,EAAG,CAC/C,GAAIE,GAAoBF,CAAM,EACnB,SACX,GAAIE,GAAoBD,CAAM,EACnB,SAGR,OAAAA,EAAO,OAASD,EAAO,MAOlC,CAOA,SAASE,GAAoBlB,EAAO,CAChC,MAAMvpE,EAAOupE,EAAMA,EAAM,OAAS,CAAC,EACnC,OAAOA,EAAM,OAAS,GAAKvpE,EAAKA,EAAK,OAAS,CAAC,EAAI,CACvD,CAEA,MAAM0qE,GAAa,CACf,KAAM,EACN,MAAO,EACX,EACMC,GAAiB,eAIvB,SAASC,GAAa5+C,EAAM,CACxB,GAAI,CAACA,EACM,OAAC,EAAE,EACd,GAAIA,IAAS,IACF,OAAC,CAAC0+C,EAAU,CAAC,EACxB,GAAI,CAAC1+C,EAAK,WAAW,GAAG,EACd,UAAI,MAEJ,iBAAiBA,CAAI,GAAG,EAGlC,SAAS6+C,EAAMvf,EAAS,CACd,UAAI,MAAM,QAAQvzC,CAAK,MAAMwsB,CAAM,MAAM+mB,CAAO,EAAE,EAE5D,IAAIvzC,EAAQ,EACR+yD,EAAgB/yD,EACpB,MAAMg5C,EAAS,CAAC,EAGZ,IAAAwU,EACJ,SAASwF,GAAkB,CACnBxF,GACAxU,EAAO,KAAKwU,CAAO,EACvBA,EAAU,CAAC,EAGf,IAAI5qE,EAAI,EAEJimC,EAEA2D,EAAS,GAETymC,EAAW,GACf,SAASC,GAAgB,CAChB1mC,IAEDxsB,IAAU,EACVwtD,EAAQ,KAAK,CACT,KAAM,EACN,MAAOhhC,CAAA,CACV,EAEIxsB,IAAU,GACfA,IAAU,GACVA,IAAU,GACNwtD,EAAQ,OAAS,IAAM3kC,IAAS,KAAOA,IAAS,MAC1CiqC,EAAA,uBAAuBtmC,CAAM,8CAA8C,EACrFghC,EAAQ,KAAK,CACT,KAAM,EACN,MAAOhhC,EACP,OAAQymC,EACR,WAAYpqC,IAAS,KAAOA,IAAS,IACrC,SAAUA,IAAS,KAAOA,IAAS,IACtC,GAGDiqC,EAAM,iCAAiC,EAElCtmC,EAAA,IAEb,SAAS2mC,GAAkB,CACb3mC,GAAA3D,CAAA,CAEP,KAAAjmC,EAAIqxB,EAAK,QAAQ,CAEhB,GADJ4U,EAAO5U,EAAKrxB,GAAG,EACXimC,IAAS,MAAQ7oB,IAAU,EAAoC,CAC/C+yD,EAAA/yD,EACRA,EAAA,EACR,SAEJ,OAAQA,EAAO,CACX,IAAK,GACG6oB,IAAS,KACL2D,GACc0mC,EAAA,EAEFF,EAAA,GAEXnqC,IAAS,KACAqqC,EAAA,EACNlzD,EAAA,GAGQmzD,EAAA,EAEpB,MACJ,IAAK,GACeA,EAAA,EACRnzD,EAAA+yD,EACR,MACJ,IAAK,GACGlqC,IAAS,IACD7oB,EAAA,EAEH4yD,GAAe,KAAK/pC,CAAI,EACbsqC,EAAA,GAGFD,EAAA,EACNlzD,EAAA,EAEJ6oB,IAAS,KAAOA,IAAS,KAAOA,IAAS,KACzCjmC,KAER,MACJ,IAAK,GAMGimC,IAAS,IAELoqC,EAASA,EAAS,OAAS,CAAC,GAAK,KACjCA,EAAWA,EAAS,MAAM,EAAG,EAAE,EAAIpqC,EAE3B7oB,EAAA,EAGAizD,GAAApqC,EAEhB,MACJ,IAAK,GAEaqqC,EAAA,EACNlzD,EAAA,EAEJ6oB,IAAS,KAAOA,IAAS,KAAOA,IAAS,KACzCjmC,IACOqwE,EAAA,GACX,MACJ,QACIH,EAAM,eAAe,EACrB,MACR,CAEJ,OAAI9yD,IAAU,GACJ8yD,EAAA,uCAAuCtmC,CAAM,GAAG,EAC5C0mC,EAAA,EACEF,EAAA,EAETha,CACX,CAEA,SAASoa,GAAyBC,EAAQtkD,EAAQna,EAAS,CACvD,MAAM8wC,EAAS6rB,GAAesB,GAAaQ,EAAO,IAAI,EAAGz+D,CAAO,EAU1D0+D,EAAUvpB,GAAOrE,EAAQ,CAC3B,OAAA2tB,EACA,OAAAtkD,EAEA,SAAU,CAAC,EACX,MAAO,EAAC,CACX,EACD,OAAIA,GAII,CAACukD,EAAQ,OAAO,SAAY,CAACvkD,EAAO,OAAO,SACpCA,EAAA,SAAS,KAAKukD,CAAO,EAE7BA,CACX,CASA,SAASC,GAAoBC,EAAQC,EAAe,CAEhD,MAAMC,EAAW,CAAC,EACZC,MAAiB,IACPF,EAAAxvD,GAAa,CAAE,OAAQ,GAAO,IAAK,GAAM,UAAW,EAAM,EAAGwvD,CAAa,EAC1F,SAASG,EAAiB1tE,EAAM,CACrB,OAAAytE,EAAW,IAAIztE,CAAI,EAErB,SAAA2tE,EAASR,EAAQtkD,EAAQ+kD,EAAgB,CAE9C,MAAMC,EAAY,CAACD,EACbE,EAAuBC,GAAqBZ,CAAM,EAKnCW,EAAA,QAAUF,GAAkBA,EAAe,OAC1D,MAAAl/D,EAAUqP,GAAawvD,EAAeJ,CAAM,EAE5Ca,EAAoB,CAACF,CAAoB,EAC/C,GAAI,UAAWX,EAAQ,CACb,MAAAc,EAAU,OAAOd,EAAO,OAAU,SAAW,CAACA,EAAO,KAAK,EAAIA,EAAO,MAC3E,UAAWe,KAASD,EACED,EAAA,KAGlBD,GAAqBlqB,GAAO,CAAC,EAAGiqB,EAAsB,CAGlD,WAAYF,EACNA,EAAe,OAAO,WACtBE,EAAqB,WAC3B,KAAMI,EAEN,QAASN,EACHA,EAAe,OACfE,CAAA,CAGT,CAAC,CAAC,CACP,CAEA,IAAAV,EACAe,EACJ,UAAWC,KAAoBJ,EAAmB,CACxC,MAAE,KAAAjgD,GAASqgD,EAIjB,GAAIvlD,GAAUkF,EAAK,CAAC,IAAM,IAAK,CACrB,MAAAsgD,EAAaxlD,EAAO,OAAO,KAC3BylD,EAAkBD,EAAWA,EAAW,OAAS,CAAC,IAAM,IAAM,GAAK,IACzED,EAAiB,KACbvlD,EAAO,OAAO,MAAQkF,GAAQugD,EAAkBvgD,EAAA,CAqCxD,GA9BUq/C,EAAAF,GAAyBkB,EAAkBvlD,EAAQna,CAAO,EAKhEk/D,EACeA,EAAA,MAAM,KAAKR,CAAO,GAOjCe,EAAkBA,GAAmBf,EACjCe,IAAoBf,GACJe,EAAA,MAAM,KAAKf,CAAO,EAGlCS,GAAaV,EAAO,MAAQ,CAACoB,GAAcnB,CAAO,GAIlDoB,EAAYrB,EAAO,IAAI,GAK3BsB,GAAYrB,CAAO,GACnBsB,EAActB,CAAO,EAErBU,EAAqB,SAAU,CAC/B,MAAM1qD,EAAW0qD,EAAqB,SACtC,QAASpxE,EAAI,EAAGA,EAAI0mB,EAAS,OAAQ1mB,IACxBixE,EAAAvqD,EAAS1mB,CAAC,EAAG0wE,EAASQ,GAAkBA,EAAe,SAASlxE,CAAC,CAAC,CAC/E,CAIJkxE,EAAiBA,GAAkBR,CAAA,CAMvC,OAAOe,EACD,IAAM,CAEJK,EAAYL,CAAe,GAE7BrzC,EAAA,CAEV,SAAS0zC,EAAYG,EAAY,CACzB,GAAA9D,GAAY8D,CAAU,EAAG,CACnB,MAAAvB,EAAUK,EAAW,IAAIkB,CAAU,EACrCvB,IACAK,EAAW,OAAOkB,CAAU,EAC5BnB,EAAS,OAAOA,EAAS,QAAQJ,CAAO,EAAG,CAAC,EACpCA,EAAA,SAAS,QAAQoB,CAAW,EAC5BpB,EAAA,MAAM,QAAQoB,CAAW,EACrC,KAEC,CACK,MAAAtmE,EAAQslE,EAAS,QAAQmB,CAAU,EACrCzmE,EAAQ,KACCslE,EAAA,OAAOtlE,EAAO,CAAC,EACpBymE,EAAW,OAAO,MACPlB,EAAA,OAAOkB,EAAW,OAAO,IAAI,EACjCA,EAAA,SAAS,QAAQH,CAAW,EAC5BG,EAAA,MAAM,QAAQH,CAAW,EACxC,CACJ,CAEJ,SAASI,GAAY,CACV,OAAApB,CAAA,CAEX,SAASkB,EAActB,EAAS,CACtB,MAAAllE,EAAQ0J,GAAmBw7D,EAASI,CAAQ,EACzCA,EAAA,OAAOtlE,EAAO,EAAGklE,CAAO,EAE7BA,EAAQ,OAAO,MAAQ,CAACmB,GAAcnB,CAAO,GAC7CK,EAAW,IAAIL,EAAQ,OAAO,KAAMA,CAAO,EAE1C,SAAAt1D,EAAQ6uC,EAAUqf,EAAiB,CACpC,IAAAoH,EACA/I,EAAS,CAAC,EACVt2C,EACA/tB,EACA,YAAU2mD,GAAYA,EAAS,KAAM,CAErC,GADUymB,EAAAK,EAAW,IAAI9mB,EAAS,IAAI,EAClC,CAACymB,EACD,MAAMpC,GAAkB,EAAsC,CAC1D,SAAArkB,CAAA,CACH,EAQL3mD,EAAOotE,EAAQ,OAAO,KACb/I,EAAAxgB,GAETgrB,GAAmB7I,EAAgB,OAGnCoH,EAAQ,KACH,OAAY,IAAC,EAAE,QAAQ,EACvB,OAAOA,EAAQ,OAASA,EAAQ,OAAO,KAAK,OAAY,KAAE,QAAQ,EAAI,CAAE,GACxE,IAAS,KAAE,IAAI,CAAC,EAGrBzmB,EAAS,QACLkoB,GAAmBloB,EAAS,OAAQymB,EAAQ,KAAK,IAAI,GAAK,EAAE,IAAI,CAAC,CAAC,EAE/Dr/C,EAAAq/C,EAAQ,UAAU/I,CAAM,UAE1B1d,EAAS,MAAQ,KAGtB54B,EAAO44B,EAAS,KAIhBymB,EAAUI,EAAS,KAAK1vD,GAAKA,EAAE,GAAG,KAAKiQ,CAAI,CAAC,EAExCq/C,IAES/I,EAAA+I,EAAQ,MAAMr/C,CAAI,EAC3B/tB,EAAOotE,EAAQ,OAAO,UAIzB,CAKD,GAHAA,EAAUpH,EAAgB,KACpByH,EAAW,IAAIzH,EAAgB,IAAI,EACnCwH,EAAS,QAAU1vD,EAAE,GAAG,KAAKkoD,EAAgB,IAAI,CAAC,EACpD,CAACoH,EACD,MAAMpC,GAAkB,EAAsC,CAC1D,SAAArkB,EACA,gBAAAqf,CAAA,CACH,EACLhmE,EAAOotE,EAAQ,OAAO,KAGtB/I,EAASxgB,GAAO,CAAC,EAAGmiB,EAAgB,OAAQrf,EAAS,MAAM,EACpD54B,EAAAq/C,EAAQ,UAAU/I,CAAM,EAEnC,MAAMyK,EAAU,CAAC,EACjB,IAAIC,EAAgB3B,EACpB,KAAO2B,GAEKD,EAAA,QAAQC,EAAc,MAAM,EACpCA,EAAgBA,EAAc,OAE3B,OACH,KAAA/uE,EACA,KAAA+tB,EACA,OAAAs2C,EACA,QAAAyK,EACA,KAAME,GAAgBF,CAAO,CACjC,EAGJxB,EAAO,QAAQ1C,GAAS+C,EAAS/C,CAAK,CAAC,EACvC,SAASqE,GAAc,CACnBzB,EAAS,OAAS,EAClBC,EAAW,MAAM,EAEd,OACH,SAAAE,EACA,QAAA71D,EACA,YAAA02D,EACA,YAAAS,EACA,UAAAL,EACA,iBAAAlB,CACJ,CACJ,CACA,SAASmB,GAAmBxK,EAAQhsD,EAAM,CACtC,MAAMisD,EAAY,CAAC,EACnB,UAAWxoE,KAAOuc,EACVvc,KAAOuoE,IACGC,EAAAxoE,CAAG,EAAIuoE,EAAOvoE,CAAG,GAE5B,OAAAwoE,CACX,CAOA,SAASyJ,GAAqBZ,EAAQ,CAClC,MAAM5tE,EAAa,CACf,KAAM4tE,EAAO,KACb,SAAUA,EAAO,SACjB,KAAMA,EAAO,KACb,KAAMA,EAAO,MAAQ,CAAC,EACtB,QAASA,EAAO,QAChB,YAAaA,EAAO,YACpB,MAAO+B,GAAqB/B,CAAM,EAClC,SAAUA,EAAO,UAAY,CAAC,EAC9B,UAAW,CAAC,EACZ,gBAAiB,IACjB,iBAAkB,IAClB,eAAgB,CAAC,EAGjB,WAAY,eAAgBA,EACtBA,EAAO,YAAc,KACrBA,EAAO,WAAa,CAAE,QAASA,EAAO,SAAU,CAC1D,EAIO,6BAAe5tE,EAAY,OAAQ,CACtC,MAAO,EAAC,CACX,EACMA,CACX,CAMA,SAAS2vE,GAAqB/B,EAAQ,CAClC,MAAMgC,EAAc,CAAC,EAEf32D,EAAQ20D,EAAO,OAAS,GAC9B,GAAI,cAAeA,EACfgC,EAAY,QAAU32D,MAKtB,WAAWxY,KAAQmtE,EAAO,WACtBgC,EAAYnvE,CAAI,EAAI,OAAOwY,GAAU,SAAWA,EAAMxY,CAAI,EAAIwY,EAE/D,OAAA22D,CACX,CAKA,SAASZ,GAAcpB,EAAQ,CAC3B,KAAOA,GAAQ,CACX,GAAIA,EAAO,OAAO,QACP,SACXA,EAASA,EAAO,OAEb,QACX,CAMA,SAAS6B,GAAgBF,EAAS,CACvB,OAAAA,EAAQ,OAAO,CAAC39B,EAAMg8B,IAAWtpB,GAAO1S,EAAMg8B,EAAO,IAAI,EAAG,EAAE,CACzE,CACA,SAASpvD,GAAa2gB,EAAU0wC,EAAgB,CAC5C,MAAM1gE,EAAU,CAAC,EACjB,UAAW5S,KAAO4iC,EACNhwB,EAAA5S,CAAG,EAAIA,KAAOszE,EAAiBA,EAAetzE,CAAG,EAAI4iC,EAAS5iC,CAAG,EAEtE,OAAA4S,CACX,CA0DA,SAASkD,GAAmBw7D,EAASI,EAAU,CAE3C,IAAI6B,EAAQ,EACRC,EAAQ9B,EAAS,OACrB,KAAO6B,IAAUC,GAAO,CACd,MAAAC,EAAOF,EAAQC,GAAU,EACbjD,GAAuBe,EAASI,EAAS+B,CAAG,CAAC,EAC/C,EACJD,EAAAC,EAGRF,EAAQE,EAAM,CAClB,CAGE,MAAAC,EAAoBC,GAAqBrC,CAAO,EACtD,OAAIoC,IACAF,EAAQ9B,EAAS,YAAYgC,EAAmBF,EAAQ,CAAC,GAMtDA,CACX,CACA,SAASG,GAAqBrC,EAAS,CACnC,IAAIsC,EAAWtC,EACP,KAAAsC,EAAWA,EAAS,QACxB,GAAIjB,GAAYiB,CAAQ,GACpBrD,GAAuBe,EAASsC,CAAQ,IAAM,EACvC,OAAAA,CAInB,CAQA,SAASjB,GAAY,CAAE,OAAAtB,GAAU,CAC7B,MAAO,CAAC,EAAEA,EAAO,MACZA,EAAO,YAAc,OAAO,KAAKA,EAAO,UAAU,EAAE,QACrDA,EAAO,SACf,CAWA,SAASpH,GAAWpjB,EAAQ,CACxB,MAAMvlB,EAAQ,CAAC,EAGX,GAAAulB,IAAW,IAAMA,IAAW,IACrB,OAAAvlB,EAEL,MAAAuyC,GADehtB,EAAO,CAAC,IAAM,IACEA,EAAO,MAAM,CAAC,EAAIA,GAAQ,MAAM,GAAG,EACxE,QAAS,EAAI,EAAG,EAAIgtB,EAAa,OAAQ,EAAE,EAAG,CAE1C,MAAMC,EAAcD,EAAa,CAAC,EAAE,QAAQ/K,GAAS,GAAG,EAElDiL,EAAQD,EAAY,QAAQ,GAAG,EAC/B9zE,EAAM6pE,GAAOkK,EAAQ,EAAID,EAAcA,EAAY,MAAM,EAAGC,CAAK,CAAC,EAClEryE,EAAQqyE,EAAQ,EAAI,KAAOlK,GAAOiK,EAAY,MAAMC,EAAQ,CAAC,CAAC,EACpE,GAAI/zE,KAAOshC,EAAO,CAEV,IAAA0yC,EAAe1yC,EAAMthC,CAAG,EACvBe,GAAQizE,CAAY,IACrBA,EAAe1yC,EAAMthC,CAAG,EAAI,CAACg0E,CAAY,GAE7CA,EAAa,KAAKtyE,CAAK,OAGvB4/B,EAAMthC,CAAG,EAAI0B,CACjB,CAEG,OAAA4/B,CACX,CAUA,SAASmpC,GAAenpC,EAAO,CAC3B,IAAIulB,EAAS,GACb,QAAS7mD,KAAOshC,EAAO,CACb,MAAA5/B,EAAQ4/B,EAAMthC,CAAG,EAEvB,GADAA,EAAM0pE,GAAe1pE,CAAG,EACpB0B,GAAS,KAAM,CAEXA,IAAU,SACCmlD,MAAO,OAAS,IAAM,IAAM7mD,GAE3C,UAGWe,GAAQW,CAAK,EACtBA,EAAM,IAAS+D,MAAKgkE,GAAiBhkE,CAAC,CAAC,EACvC,CAAC/D,GAAS+nE,GAAiB/nE,CAAK,CAAC,GAChC,QAAQA,GAAS,CAGhBA,IAAU,SAECmlD,MAAO,OAAS,IAAM,IAAM7mD,EACnC0B,GAAS,OACTmlD,GAAU,IAAMnlD,GACxB,CACH,EAEE,OAAAmlD,CACX,CASA,SAASotB,GAAe3yC,EAAO,CAC3B,MAAM4yC,EAAkB,CAAC,EACzB,UAAWl0E,KAAOshC,EAAO,CACf,MAAA5/B,EAAQ4/B,EAAMthC,CAAG,EACnB0B,IAAU,SACVwyE,EAAgBl0E,CAAG,EAAIe,GAAQW,CAAK,EAC9BA,EAAM,IAAI+D,GAAMA,GAAK,KAAO,KAAO,GAAKA,CAAE,EAC1C/D,GAAS,KACLA,EACA,GAAKA,EACnB,CAEG,OAAAwyE,CACX,CASA,MAAMC,GAAkB,OAAkF,EAAE,EAOtGC,GAAe,OAAuE,EAAE,EAOxFC,GAAY,OAA4D,EAAE,EAO1EC,GAAmB,OAAoE,EAAE,EAOzFC,GAAwB,OAA0E,EAAE,EAK1G,SAASC,IAAe,CACpB,IAAIryC,EAAW,CAAC,EAChB,SAASsyC,EAAIhzD,EAAS,CAClB,OAAA0gB,EAAS,KAAK1gB,CAAO,EACd,IAAM,CACH,QAAI0gB,EAAS,QAAQ1gB,CAAO,EAC9B,EAAI,IACK0gB,EAAA,OAAO,EAAG,CAAC,CAC5B,EAEJ,SAAS1nB,GAAQ,CACb0nB,EAAW,CAAC,EAET,OACH,IAAAsyC,EACA,KAAM,IAAMtyC,EAAS,MAAM,EAC3B,MAAA1nB,CACJ,CACJ,CAyDA,SAASi6D,GAAiB72C,EAAO3b,EAAIC,EAAMkvD,EAAQntE,EAAMywE,EAAuB3yE,OAAM,CAElF,MAAM4yE,EAAqBvD,IAEtBA,EAAO,eAAentE,CAAI,EAAImtE,EAAO,eAAentE,CAAI,GAAK,IAClE,MAAO,IAAM,IAAI,QAAQ,CAAC8X,EAASmjB,IAAW,CACpC,MAAAx3B,EAAQktE,GAAU,CAChBA,IAAU,GACV11C,EAAO+vC,GAAkB,EAAuC,CAC5D,KAAA/sD,EACA,GAAAD,CAAA,CACH,CAAC,EAEG2yD,aAAiB,MACtB11C,EAAO01C,CAAK,EAEPhG,GAAgBgG,CAAK,EAC1B11C,EAAO+vC,GAAkB,EAA8C,CACnE,KAAMhtD,EACN,GAAI2yD,CAAA,CACP,CAAC,GAGED,GAEAvD,EAAO,eAAentE,CAAI,IAAM0wE,GAChC,OAAOC,GAAU,YACjBD,EAAmB,KAAKC,CAAK,EAEzB74D,EAAA,EAEhB,EAEM84D,EAAcH,EAAe,IAAM92C,EAAM,KAAKwzC,GAAUA,EAAO,UAAUntE,CAAI,EAAGge,EAAIC,EAAsFxa,CAAI,CAAC,EACjL,IAAAotE,EAAY,QAAQ,QAAQD,CAAW,EACvCj3C,EAAM,OAAS,IACHk3C,IAAU,KAAKptE,CAAI,GAsBnCotE,EAAU,MAAMltE,GAAOs3B,EAAOt3B,CAAG,CAAC,EACrC,CACL,CAYA,SAASmtE,GAAwBhC,EAASiC,EAAW/yD,EAAIC,EAAMwyD,EAAiB3yE,GAAMA,IAAM,CACxF,MAAMkzE,EAAS,CAAC,EAChB,UAAW7D,KAAU2B,EAKN,UAAA9uE,KAAQmtE,EAAO,WAAY,CAC9B,IAAA8D,EAAe9D,EAAO,WAAWntE,CAAI,EAiCzC,GAAI,EAAA+wE,IAAc,oBAAsB,CAAC5D,EAAO,UAAUntE,CAAI,GAE1D,GAAAkkE,GAAiB+M,CAAY,EAAG,CAG1B,MAAAt3C,GADUs3C,EAAa,WAAaA,GACpBF,CAAS,EAE3Bp3C,GAAAq3C,EAAO,KAAKR,GAAiB72C,EAAO3b,EAAIC,EAAMkvD,EAAQntE,EAAMywE,CAAc,CAAC,MAE9E,CAED,IAAIS,EAAmBD,EAAa,EAKpCD,EAAO,KAAK,IAAME,EAAiB,KAAiBrzD,GAAA,CAChD,GAAI,CAACA,EACD,MAAM,IAAI,MAAM,+BAA+B7d,CAAI,SAASmtE,EAAO,IAAI,GAAG,EAC9E,MAAMgE,EAAoBhN,GAAWtmD,CAAQ,EACvCA,EAAS,QACTA,EAECsvD,EAAA,KAAKntE,CAAI,EAAI6d,EAGbsvD,EAAA,WAAWntE,CAAI,EAAImxE,EAGpB,MAAAx3C,GADUw3C,EAAkB,WAAaA,GACzBJ,CAAS,EACvB,OAAAp3C,GACJ62C,GAAiB72C,EAAO3b,EAAIC,EAAMkvD,EAAQntE,EAAMywE,CAAc,EAAE,EACvE,CAAC,EACN,CAGD,OAAAO,CACX,CAuCA,SAASI,GAAQ54D,EAAO,CACd,MAAA64D,EAASj0D,GAAO+yD,EAAS,EACzBmB,EAAel0D,GAAOgzD,EAAgB,EAGtCxF,EAAQ3mE,GAAS,IAAM,CACnB,MAAA+Z,EAAKxR,GAAMgM,EAAM,EAAE,EAalB,OAAA64D,EAAO,QAAQrzD,CAAE,EAC3B,EACKuzD,EAAoBttE,GAAS,IAAM,CAC/B,MAAE,QAAA6qE,GAAYlE,EAAM,MACpB,CAAE,OAAAngC,GAAWqkC,EACb0C,EAAe1C,EAAQrkC,EAAS,CAAC,EACjCgnC,EAAiBH,EAAa,QAChC,IAACE,GAAgB,CAACC,EAAe,OAC1B,SACX,MAAMvpE,EAAQupE,EAAe,UAAU5K,GAAkB,KAAK,KAAM2K,CAAY,CAAC,EACjF,GAAItpE,EAAQ,GACD,OAAAA,EAEX,MAAMwpE,EAAmBC,GAAgB7C,EAAQrkC,EAAS,CAAC,CAAC,EAC5D,OAEAA,EAAS,GAILknC,GAAgBH,CAAY,IAAME,GAElCD,EAAeA,EAAe,OAAS,CAAC,EAAE,OAASC,EACjDD,EAAe,UAAU5K,GAAkB,KAAK,KAAMiI,EAAQrkC,EAAS,CAAC,CAAC,CAAC,EAC1EviC,CAAA,CACT,EACKozB,EAAWr3B,GAAS,IAAMstE,EAAkB,MAAQ,IACtDK,GAAeN,EAAa,OAAQ1G,EAAM,MAAM,MAAM,CAAC,EACrDiH,EAAgB5tE,GAAS,IAAMstE,EAAkB,MAAQ,IAC3DA,EAAkB,QAAUD,EAAa,QAAQ,OAAS,GAC1DxK,GAA0BwK,EAAa,OAAQ1G,EAAM,MAAM,MAAM,CAAC,EAC7D,SAAAkH,EAAStuE,EAAI,GAAI,CAClB,GAAAuuE,GAAWvuE,CAAC,EAAG,CACf,MAAMmO,EAAI0/D,EAAO7kE,GAAMgM,EAAM,OAAO,EAAI,UAAY,MAAM,EAAEhM,GAAMgM,EAAM,EAAE,GAExE,MAAMsiB,EAAI,EACZ,OAAItiB,EAAM,gBACN,OAAO,SAAa,KACpB,wBAAyB,UAChB,6BAAoB,IAAM7G,CAAC,EAEjCA,CAAA,CAEX,OAAO,QAAQ,QAAQ,EA6BpB,OACH,MAAAi5D,EACA,KAAM3mE,GAAS,IAAM2mE,EAAM,MAAM,IAAI,EACrC,SAAAtvC,EACA,cAAAu2C,EACA,SAAAC,CACJ,CACJ,CACA,SAASE,GAAkB54D,EAAQ,CAC/B,OAAOA,EAAO,SAAW,EAAIA,EAAO,CAAC,EAAIA,CAC7C,CACA,MAAM64D,GAA+C39D,GAAA,CACjD,KAAM,aACN,aAAc,CAAE,KAAM,CAAE,EACxB,MAAO,CACH,GAAI,CACA,KAAM,CAAC,OAAQ,MAAM,EACrB,SAAU,EACd,EACA,QAAS,QACT,YAAa,OAEb,iBAAkB,OAClB,OAAQ,QACR,iBAAkB,CACd,KAAM,OACN,QAAS,OAEjB,EACA,QAAA88D,GACA,MAAM54D,EAAO,CAAE,MAAAD,GAAS,CACpB,MAAMzV,EAAOoG,GAASkoE,GAAQ54D,CAAK,CAAC,EAC9B,CAAE,QAAA9J,CAAA,EAAY0O,GAAO+yD,EAAS,EAC9B+B,EAAUjuE,GAAS,KAAO,CAC5B,CAACkuE,GAAa35D,EAAM,YAAa9J,EAAQ,gBAAiB,oBAAoB,CAAC,EAAG5L,EAAK,SAMvF,CAACqvE,GAAa35D,EAAM,iBAAkB9J,EAAQ,qBAAsB,0BAA0B,CAAC,EAAG5L,EAAK,eACzG,EACF,MAAO,IAAM,CACT,MAAMsgB,EAAW7K,EAAM,SAAWy5D,GAAkBz5D,EAAM,QAAQzV,CAAI,CAAC,EACvE,OAAO0V,EAAM,OACP4K,EACA/F,GAAE,IAAK,CACL,eAAgBva,EAAK,cACf0V,EAAM,iBACN,KACN,KAAM1V,EAAK,KAGX,QAASA,EAAK,SACd,MAAOovE,EAAQ,OAChB9uD,CAAQ,CACnB,EAER,CAAC,EAMKgvD,GAAaH,GACnB,SAASF,GAAW,EAAG,CAEnB,GAAI,IAAE,SAAW,EAAE,QAAU,EAAE,SAAW,EAAE,WAGxC,GAAE,kBAGF,IAAE,SAAW,QAAa,EAAE,SAAW,GAI3C,IAAI,EAAE,eAAiB,EAAE,cAAc,aAAc,CAEjD,MAAMxsE,EAAS,EAAE,cAAc,aAAa,QAAQ,EAChD,iBAAc,KAAKA,CAAM,EACzB,OAGR,OAAI,EAAE,gBACF,EAAE,eAAe,EACd,GACX,CACA,SAASqsE,GAAeS,EAAOC,EAAO,CAClC,UAAWx2E,KAAOw2E,EAAO,CACf,MAAAC,EAAaD,EAAMx2E,CAAG,EACtB02E,EAAaH,EAAMv2E,CAAG,EACxB,UAAOy2E,GAAe,UACtB,GAAIA,IAAeC,EACR,iBAGP,CAAC31E,GAAQ21E,CAAU,GACnBA,EAAW,SAAWD,EAAW,QACjCA,EAAW,KAAK,CAAC/0E,EAAOd,IAAMc,IAAUg1E,EAAW91E,CAAC,CAAC,EAC9C,QACf,CAEG,QACX,CAKA,SAASi1E,GAAgBxE,EAAQ,CAC7B,OAAOA,EAAUA,EAAO,QAAUA,EAAO,QAAQ,KAAOA,EAAO,KAAQ,EAC3E,CAOA,MAAMgF,GAAe,CAACM,EAAWC,EAAaC,IAAiBF,GAEzDC,GAEIC,EAEJC,GAA+Ct+D,GAAA,CACjD,KAAM,aAEN,aAAc,GACd,MAAO,CACH,KAAM,CACF,KAAM,OACN,QAAS,SACb,EACA,MAAO,MACX,EAGA,aAAc,CAAE,KAAM,CAAE,EACxB,MAAMkE,EAAO,CAAE,MAAAmI,EAAO,MAAApI,GAAS,CAErB,MAAAs6D,EAAgBz1D,GAAOizD,EAAqB,EAC5CyC,EAAiB7uE,GAAS,IAAMuU,EAAM,OAASq6D,EAAc,KAAK,EAClEE,EAAgB31D,GAAO8yD,GAAc,CAAC,EAGtCvgE,EAAQ1L,GAAS,IAAM,CACrB,IAAA+uE,EAAexmE,GAAMumE,CAAa,EAChC,MAAE,QAAAjE,GAAYgE,EAAe,MAC/B,IAAAG,EACJ,MAAQA,EAAenE,EAAQkE,CAAY,IACvC,CAACC,EAAa,YACdD,IAEG,OAAAA,CAAA,CACV,EACKE,EAAkBjvE,GAAS,IAAM6uE,EAAe,MAAM,QAAQnjE,EAAM,KAAK,CAAC,EAChFkN,GAAQqzD,GAAcjsE,GAAS,IAAM0L,EAAM,MAAQ,CAAC,CAAC,EACrDkN,GAAQozD,GAAiBiD,CAAe,EACxCr2D,GAAQwzD,GAAuByC,CAAc,EAC7C,MAAMK,EAAUjnE,GAAI,EAGpB,OAAAsC,GAAM,IAAM,CAAC2kE,EAAQ,MAAOD,EAAgB,MAAO16D,EAAM,IAAI,EAAG,CAAC,CAACnI,EAAU2N,EAAIhe,CAAI,EAAG,CAACozE,EAAan1D,EAAMo1D,CAAO,IAAM,CAEhHr1D,IAGGA,EAAA,UAAUhe,CAAI,EAAIqQ,EAOjB4N,GAAQA,IAASD,GAAM3N,GAAYA,IAAa+iE,IAC3Cp1D,EAAG,YAAY,OAChBA,EAAG,YAAcC,EAAK,aAErBD,EAAG,aAAa,OACjBA,EAAG,aAAeC,EAAK,gBAK/B5N,GACA2N,IAGC,CAACC,GAAQ,CAAC4oD,GAAkB7oD,EAAIC,CAAI,GAAK,CAACm1D,KAC1Cp1D,EAAG,eAAehe,CAAI,GAAK,IAAI,QAAQ4K,GAAYA,EAASyF,CAAQ,CAAC,CAC1E,EACD,CAAE,MAAO,OAAQ,EACb,IAAM,CACT,MAAMu6D,EAAQkI,EAAe,MAGvBQ,EAAc96D,EAAM,KACpBy6D,EAAeC,EAAgB,MAC/BK,EAAgBN,GAAgBA,EAAa,WAAWK,CAAW,EACzE,GAAI,CAACC,EACD,OAAOxwD,GAAcxK,EAAM,QAAS,CAAE,UAAWg7D,EAAe,MAAA3I,EAAO,EAGrE,MAAA4I,EAAmBP,EAAa,MAAMK,CAAW,EACjDG,EAAaD,EACbA,IAAqB,GACjB5I,EAAM,OACN,OAAO4I,GAAqB,WACxBA,EAAiB5I,CAAK,EACtB4I,EACR,KAOA7zD,EAAYtC,GAAEk2D,EAAe1vB,GAAO,CAAC,EAAG4vB,EAAY9yD,EAAO,CAC7D,iBAP8BpN,GAAA,CAE1BA,EAAM,UAAU,cACH0/D,EAAA,UAAUK,CAAW,EAAI,KAE9C,EAGI,IAAKH,CAAA,CACR,CAAC,EAmBF,OAGApwD,GAAcxK,EAAM,QAAS,CAAE,UAAWoH,EAAW,MAAAirD,CAAA,CAAO,GACxDjrD,CACR,EAER,CAAC,EACD,SAASoD,GAAchK,EAAMiB,EAAM,CAC/B,GAAI,CAACjB,EACM,YACL,MAAA26D,EAAc36D,EAAKiB,CAAI,EAC7B,OAAO05D,EAAY,SAAW,EAAIA,EAAY,CAAC,EAAIA,CACvD,CAMA,MAAMC,GAAaf,GAmenB,SAASgB,GAAallE,EAAS,CAC3B,MAAM0+D,EAAUC,GAAoB3+D,EAAQ,OAAQA,CAAO,EACrDmlE,EAAenlE,EAAQ,YAAcq3D,GACrC+N,EAAmBplE,EAAQ,gBAAkB63D,GAC7CmE,EAAgBh8D,EAAQ,QAIxBqlE,EAAezD,GAAa,EAC5B0D,EAAsB1D,GAAa,EACnC2D,EAAc3D,GAAa,EAC3BgB,EAAellE,GAAWm7D,EAAyB,EACzD,IAAI2M,EAAkB3M,GAElBtD,IAAav1D,EAAQ,gBAAkB,sBAAuB,UAC9D,QAAQ,kBAAoB,UAEhC,MAAMylE,EAAkB/P,GAAc,KAAK,KAAMgQ,GAAc,GAAKA,CAAU,EACxEC,EAAejQ,GAAc,KAAK,KAAMsB,EAAW,EACnD4O,EAENlQ,GAAc,KAAK,KAAMuB,EAAM,EACtB,SAAAgI,EAAS4G,EAAe3J,EAAO,CAChC,IAAA/hD,EACAskD,EACA,OAAAtC,GAAY0J,CAAa,GAChB1rD,EAAAukD,EAAQ,iBAAiBmH,CAAa,EAItCpH,EAAAvC,GAGAuC,EAAAoH,EAENnH,EAAQ,SAASD,EAAQtkD,CAAM,EAE1C,SAAS2lD,EAAYxuE,EAAM,CACjB,MAAAw0E,EAAgBpH,EAAQ,iBAAiBptE,CAAI,EAC/Cw0E,GACApH,EAAQ,YAAYoH,CAAa,CAIrC,CAEJ,SAAS5F,GAAY,CACjB,OAAOxB,EAAQ,YAAY,IAAIqH,GAAgBA,EAAa,MAAM,EAEtE,SAASC,EAAS10E,EAAM,CACpB,MAAO,CAAC,CAACotE,EAAQ,iBAAiBptE,CAAI,EAEjC,SAAA8X,EAAQ68D,EAAa3O,EAAiB,CAKvC,GADJA,EAAkBniB,GAAO,GAAImiB,GAAmBsL,EAAa,KAAK,EAC9D,OAAOqD,GAAgB,SAAU,CACjC,MAAMC,EAAqB9O,GAAS+N,EAAcc,EAAa3O,EAAgB,IAAI,EAC7EiN,EAAe7F,EAAQ,QAAQ,CAAE,KAAMwH,EAAmB,MAAQ5O,CAAe,EACjF6O,EAAOnK,EAAc,WAAWkK,EAAmB,QAAQ,EAS1D,OAAA/wB,GAAO+wB,EAAoB3B,EAAc,CAC5C,OAAQqB,EAAarB,EAAa,MAAM,EACxC,KAAMtN,GAAOiP,EAAmB,IAAI,EACpC,eAAgB,OAChB,KAAAC,CAAA,CACH,EAMD,IAAAC,EAEA,GAAAH,EAAY,MAAQ,KAQFG,EAAAjxB,GAAO,CAAC,EAAG8wB,EAAa,CACtC,KAAM7O,GAAS+N,EAAcc,EAAY,KAAM3O,EAAgB,IAAI,EAAE,KACxE,MAEA,CAED,MAAM+O,EAAelxB,GAAO,GAAI8wB,EAAY,MAAM,EAClD,UAAW74E,KAAOi5E,EACVA,EAAaj5E,CAAG,GAAK,MACrB,OAAOi5E,EAAaj5E,CAAG,EAIbg5E,EAAAjxB,GAAO,CAAC,EAAG8wB,EAAa,CACtC,OAAQN,EAAaU,CAAY,EACpC,EAGe/O,EAAA,OAASqO,EAAarO,EAAgB,MAAM,EAEhE,MAAMiN,EAAe7F,EAAQ,QAAQ0H,EAAiB9O,CAAe,EAC/DE,GAAOyO,EAAY,MAAQ,GAMjC1B,EAAa,OAASkB,EAAgBG,EAAarB,EAAa,MAAM,CAAC,EACvE,MAAM+B,EAAW1O,GAAawN,EAAkBjwB,GAAO,GAAI8wB,EAAa,CACpE,KAAMrP,GAAWY,EAAI,EACrB,KAAM+M,EAAa,KACtB,CAAC,EACI4B,EAAOnK,EAAc,WAAWsK,CAAQ,EAS9C,OAAOnxB,GAAO,CACV,SAAAmxB,EAGA,KAAA9O,GACA,MAMA4N,IAAqBvN,GACfwJ,GAAe4E,EAAY,KAAK,EAC/BA,EAAY,OAAS,IAC7B1B,EAAc,CACb,eAAgB,OAChB,KAAA4B,CAAA,CACH,EAEL,SAASI,EAAiBj3D,EAAI,CAC1B,OAAO,OAAOA,GAAO,SACf8nD,GAAS+N,EAAc71D,EAAIszD,EAAa,MAAM,IAAI,EAClDztB,GAAO,GAAI7lC,CAAE,EAEd,SAAAk3D,EAAwBl3D,EAAIC,EAAM,CACvC,GAAIi2D,IAAoBl2D,EACpB,OAAOgtD,GAAkB,EAAyC,CAC9D,KAAA/sD,EACA,GAAAD,CAAA,CACH,CACL,CAEJ,SAASilB,EAAKjlB,EAAI,CACd,OAAOm3D,EAAiBn3D,CAAE,EAE9B,SAASimB,EAAQjmB,EAAI,CACV,OAAAilB,EAAK4gB,GAAOoxB,EAAiBj3D,CAAE,EAAG,CAAE,QAAS,EAAK,CAAC,CAAC,EAE/D,SAASo3D,EAAqBp3D,EAAI,CAC9B,MAAMq3D,EAAcr3D,EAAG,QAAQA,EAAG,QAAQ,OAAS,CAAC,EAChD,GAAAq3D,GAAeA,EAAY,SAAU,CAC/B,MAAE,SAAAC,GAAaD,EACrB,IAAIE,EAAoB,OAAOD,GAAa,WAAaA,EAASt3D,CAAE,EAAIs3D,EACpE,cAAOC,GAAsB,WAEzBA,IAAkB,SAAS,GAAG,GAAKA,EAAkB,SAAS,GAAG,EAC1DA,EAAoBN,EAAiBM,CAAiB,EAErD,CAAE,KAAMA,CAAkB,EAGtCA,EAAkB,OAAS,CAAC,GAQzB1xB,GAAO,CACV,MAAO7lC,EAAG,MACV,KAAMA,EAAG,KAET,OAAQu3D,EAAkB,MAAQ,KAAO,GAAKv3D,EAAG,QAClDu3D,CAAiB,EACxB,CAEK,SAAAJ,EAAiBn3D,EAAIw3D,EAAgB,CACpC,MAAAC,EAAkBvB,EAAkBp8D,EAAQkG,CAAE,EAC9CC,EAAOqzD,EAAa,MACpBt3D,GAAOgE,EAAG,MACV03D,EAAQ13D,EAAG,MAEXimB,EAAUjmB,EAAG,UAAY,GACzB23D,EAAiBP,EAAqBK,CAAc,EACtD,GAAAE,EACO,OAAAR,EAAiBtxB,GAAOoxB,EAAiBU,CAAc,EAAG,CAC7D,MAAO,OAAOA,GAAmB,SAC3B9xB,GAAO,CAAI,EAAA7pC,GAAM27D,EAAe,KAAK,EACrC37D,GACN,MAAA07D,EACA,QAAAzxC,CAAA,CACH,EAEDuxC,GAAkBC,CAAc,EAEpC,MAAMG,EAAaH,EACnBG,EAAW,eAAiBJ,EACxB,IAAAK,EACJ,MAAI,CAACH,GAAShP,GAAoBoN,EAAkB71D,EAAMw3D,CAAc,IACpEI,EAAU7K,GAAkB,GAA2C,CAAE,GAAI4K,EAAY,KAAA33D,EAAM,EAE/F63D,EAAa73D,EAAMA,EAGnB,GAGA,EAAK,IAED43D,EAAU,QAAQ,QAAQA,CAAO,EAAI/D,EAAS8D,EAAY33D,CAAI,GACjE,MAAOva,GAAUunE,GAAoBvnE,CAAK,EAEvCunE,GAAoBvnE,EAAO,GACrBA,EACAqyE,EAAYryE,CAAK,EAEvBsyE,GAAatyE,EAAOkyE,EAAY33D,CAAI,CAAC,EACxC,KAAM43D,GAAY,CACnB,GAAIA,GACI,GAAA5K,GAAoB4K,EAAS,GActB,OAAAV,EAEPtxB,GAAO,CAEH,QAAA5f,CAAA,EACDgxC,EAAiBY,EAAQ,EAAE,EAAG,CAC7B,MAAO,OAAOA,EAAQ,IAAO,SACvBhyB,GAAO,GAAI7pC,GAAM67D,EAAQ,GAAG,KAAK,EACjC77D,GACN,MAAA07D,CAAA,CACH,EAEDF,GAAkBI,CAAU,OAKhCC,EAAUI,EAAmBL,EAAY33D,EAAM,GAAMgmB,EAASjqB,EAAI,EAErD,OAAAk8D,EAAAN,EAAY33D,EAAM43D,CAAO,EACnCA,CAAA,CACV,EAOI,SAAAM,EAAiCn4D,EAAIC,EAAM,CAC1C,MAAAva,EAAQwxE,EAAwBl3D,EAAIC,CAAI,EAC9C,OAAOva,EAAQ,QAAQ,OAAOA,CAAK,EAAI,QAAQ,QAAQ,EAE3D,SAAS+sE,GAAe3yE,EAAI,CACxB,MAAMyhB,EAAM62D,GAAc,OAAO,EAAE,KAAO,QAEnC,OAAA72D,GAAO,OAAOA,EAAI,gBAAmB,WACtCA,EAAI,eAAezhB,CAAE,EACrBA,EAAG,EAGJ,SAAAg0E,EAAS9zD,EAAIC,EAAM,CACpB,IAAA+yD,EACJ,KAAM,CAACqF,EAAgBC,GAAiBC,CAAe,EAAIC,GAAuBx4D,EAAIC,CAAI,EAE1F+yD,EAASF,GAAwBuF,EAAe,QAAW,qBAAoBr4D,EAAIC,CAAI,EAEvF,UAAWkvD,KAAUkJ,EACVlJ,EAAA,YAAY,QAAiBxzC,GAAA,CAChCq3C,EAAO,KAAKR,GAAiB72C,EAAO3b,EAAIC,CAAI,CAAC,EAChD,EAEL,MAAMw4D,EAA0BN,EAAiC,KAAK,KAAMn4D,EAAIC,CAAI,EACpF,OAAA+yD,EAAO,KAAKyF,CAAuB,EAE3BC,EAAc1F,CAAM,EACvB,KAAK,IAAM,CAEZA,EAAS,CAAC,EACC,UAAAr3C,KAASo6C,EAAa,OAC7B/C,EAAO,KAAKR,GAAiB72C,EAAO3b,EAAIC,CAAI,CAAC,EAEjD,OAAA+yD,EAAO,KAAKyF,CAAuB,EAC5BC,EAAc1F,CAAM,EAC9B,EACI,KAAK,IAAM,CAEZA,EAASF,GAAwBwF,GAAiB,oBAAqBt4D,EAAIC,CAAI,EAC/E,UAAWkvD,KAAUmJ,GACVnJ,EAAA,aAAa,QAAiBxzC,GAAA,CACjCq3C,EAAO,KAAKR,GAAiB72C,EAAO3b,EAAIC,CAAI,CAAC,EAChD,EAEL,OAAA+yD,EAAO,KAAKyF,CAAuB,EAE5BC,EAAc1F,CAAM,EAC9B,EACI,KAAK,IAAM,CAEZA,EAAS,CAAC,EACV,UAAW7D,KAAUoJ,EAEjB,GAAIpJ,EAAO,YACH,GAAAtwE,GAAQswE,EAAO,WAAW,EAC1B,UAAWwJ,KAAexJ,EAAO,YAC7B6D,EAAO,KAAKR,GAAiBmG,EAAa34D,EAAIC,CAAI,CAAC,OAGvD+yD,EAAO,KAAKR,GAAiBrD,EAAO,YAAanvD,EAAIC,CAAI,CAAC,EAItE,OAAA+yD,EAAO,KAAKyF,CAAuB,EAE5BC,EAAc1F,CAAM,EAC9B,EACI,KAAK,KAGNhzD,EAAG,QAAQ,QAAQmvD,GAAWA,EAAO,eAAiB,EAAG,EAEzD6D,EAASF,GAAwByF,EAAiB,mBAAoBv4D,EAAIC,EAAMwyD,EAAc,EAC9FO,EAAO,KAAKyF,CAAuB,EAE5BC,EAAc1F,CAAM,EAC9B,EACI,KAAK,IAAM,CAEZA,EAAS,CAAC,EACC,UAAAr3C,KAASq6C,EAAoB,OACpChD,EAAO,KAAKR,GAAiB72C,EAAO3b,EAAIC,CAAI,CAAC,EAEjD,OAAA+yD,EAAO,KAAKyF,CAAuB,EAC5BC,EAAc1F,CAAM,EAC9B,EAEI,MAAartE,GAAAsnE,GAAoBtnE,EAAK,CACrC,EAAAA,EACA,QAAQ,OAAOA,CAAG,CAAC,EAEpB,SAAAuyE,EAAiBl4D,EAAIC,EAAM43D,EAAS,CAIpC5B,EAAA,OACA,QAAiBt6C,GAAA82C,GAAe,IAAM92C,EAAM3b,EAAIC,EAAM43D,CAAO,CAAC,CAAC,EAOxE,SAASI,EAAmBL,EAAY33D,EAAM24D,EAAQ3yC,EAASjqB,GAAM,CAE3D,MAAAtW,EAAQwxE,EAAwBU,EAAY33D,CAAI,EAClD,GAAAva,EACO,OAAAA,EAEX,MAAMmzE,EAAoB54D,IAASspD,GAC7BztD,EAASmqD,GAAiB,QAAQ,MAAb,GAGvB2S,IAGI3yC,GAAW4yC,EACGnM,EAAA,QAAQkL,EAAW,SAAU/xB,GAAO,CAC9C,OAAQgzB,GAAqB/8D,GAASA,EAAM,MAChD,EAAGE,EAAI,CAAC,EAEM0wD,EAAA,KAAKkL,EAAW,SAAU57D,EAAI,GAGpDs3D,EAAa,MAAQsE,EACRE,EAAAF,EAAY33D,EAAM24D,EAAQC,CAAiB,EAC5Cd,EAAA,EAEZ,IAAAe,GAEJ,SAASC,IAAiB,CAElBD,KAEJA,GAAwBpM,EAAc,OAAO,CAAC1sD,EAAIg5D,EAAO/lC,IAAS,CAC9D,GAAI,CAACogC,GAAO,UACR,OAEE,MAAAuE,EAAa99D,EAAQkG,CAAE,EAIvB23D,GAAiBP,EAAqBQ,CAAU,EACtD,GAAID,GAAgB,CAChBR,EAAiBtxB,GAAO8xB,GAAgB,CAAE,QAAS,GAAM,MAAO,EAAM,GAAGC,CAAU,EAAE,MAAM96C,EAAI,EAC/F,OAEco5C,EAAA0B,EAClB,MAAM33D,EAAOqzD,EAAa,MAEtBrN,IACAwE,GAAmBH,GAAarqD,EAAK,SAAUgzB,EAAK,KAAK,EAAGg3B,IAAuB,EAEvF6J,EAAS8D,EAAY33D,CAAI,EACpB,MAAOva,GACJunE,GAAoBvnE,EAAO,EAAwC,EAC5DA,EAEPunE,GAAoBvnE,EAAO,IAU3ByxE,EAAiBtxB,GAAOoxB,EAAiBvxE,EAAM,EAAE,EAAG,CAChD,MAAO,GACV,EAAGkyE,CAAA,EAGC,KAAgBC,GAAA,CAIb5K,GAAoB4K,EAAS,EAC7B,GACA,CAAC5kC,EAAK,OACNA,EAAK,OAASu2B,GAAe,KACfkD,EAAA,GAAG,GAAI,EAAK,CAC9B,CACH,EACI,MAAM5vC,EAAI,EAER,QAAQ,OAAO,IAGtBmW,EAAK,OACLy5B,EAAc,GAAG,CAACz5B,EAAK,MAAO,EAAK,EAGhC+kC,GAAatyE,EAAOkyE,EAAY33D,CAAI,EAC9C,EACI,KAAM43D,GAAY,CACnBA,EACIA,GACII,EAEAL,EAAY33D,EAAM,EAAK,EAE3B43D,IACI5kC,EAAK,OAGL,CAACg6B,GAAoB4K,EAAS,GAC9BnL,EAAc,GAAG,CAACz5B,EAAK,MAAO,EAAK,EAE9BA,EAAK,OAASu2B,GAAe,KAClCyD,GAAoB4K,EAAS,EAAwC,GAGvDnL,EAAA,GAAG,GAAI,EAAK,GAGjBwL,EAAAN,EAAY33D,EAAM43D,CAAO,EAC7C,EAEI,MAAM/6C,EAAI,EAClB,GAGL,IAAIm8C,GAAgB3G,GAAa,EAC7B4G,GAAiB5G,GAAa,EAC9B6G,GASK,SAAAnB,GAAatyE,EAAOsa,EAAIC,EAAM,CACnC83D,EAAYryE,CAAK,EACX,MAAAm/B,EAAOq0C,GAAe,KAAK,EACjC,OAAIr0C,EAAK,OACLA,EAAK,QAAmBtlB,OAAQ7Z,EAAOsa,EAAIC,CAAI,CAAC,EAMhD,QAAQ,MAAMva,CAAK,EAGhB,QAAQ,OAAOA,CAAK,EAE/B,SAAS0zE,IAAU,CACX,OAAAD,IAAS7F,EAAa,QAAU/J,GACzB,QAAQ,QAAQ,EACpB,IAAI,QAAQ,CAACzvD,EAASmjB,IAAW,CACpCg8C,GAAc,IAAI,CAACn/D,EAASmjB,CAAM,CAAC,EACtC,EAEL,SAAS86C,EAAYpyE,EAAK,CACtB,OAAKwzE,KAEDA,GAAQ,CAACxzE,EACMozE,GAAA,EACfE,GACK,KAAK,EACL,QAAQ,CAAC,CAACn/D,EAASmjB,CAAM,IAAOt3B,EAAMs3B,EAAOt3B,CAAG,EAAImU,GAAU,EACnEm/D,GAAc,MAAM,GAEjBtzE,CAAA,CAGX,SAASmyE,EAAa93D,EAAIC,EAAM24D,EAAQC,EAAmB,CACjD,MAAE,eAAAQ,IAAmB3oE,EACvB,IAACu1D,IAAa,CAACoT,GACf,OAAO,QAAQ,QAAQ,EAC3B,MAAM3O,EAAkB,CAACkO,GAAUjO,GAAuBL,GAAatqD,EAAG,SAAU,CAAC,CAAC,IAChF64D,GAAqB,CAACD,IACpB,QAAQ,OACR,QAAQ,MAAM,QAClB,KACG,OAAAllE,GAAA,EACF,KAAK,IAAM2lE,GAAer5D,EAAIC,EAAMyqD,CAAc,CAAC,EACnD,QAAiBtB,GAAYc,GAAiBd,CAAQ,CAAC,EACvD,SAAa4O,GAAaryE,EAAKqa,EAAIC,CAAI,CAAC,EAEjD,MAAM8iC,EAAMwnB,GAAUmC,EAAc,GAAGnC,CAAK,EACxC,IAAA+O,EACE,MAAAlB,OAAoB,IACpB/E,GAAS,CACX,aAAAC,EACA,UAAW,GACX,SAAA3D,EACA,YAAAa,EACA,YAAapB,EAAQ,YACrB,SAAAsH,EACA,UAAA9F,EACA,QAAA92D,EACA,QAAApJ,EACA,KAAAu0B,EACA,QAAAgB,EACA,GAAA8c,EACA,KAAM,IAAMA,EAAG,EAAE,EACjB,QAAS,IAAMA,EAAG,CAAC,EACnB,WAAYgzB,EAAa,IACzB,cAAeC,EAAoB,IACnC,UAAWC,EAAY,IACvB,QAASiD,GAAe,IACxB,QAAAE,GACA,QAAQ73D,EAAK,CACT,MAAM8xD,EAAS,KACX9xD,EAAA,UAAU,aAAc6yD,EAAU,EAClC7yD,EAAA,UAAU,aAAco0D,EAAU,EAClCp0D,EAAA,OAAO,iBAAiB,QAAU8xD,EACtC,OAAO,eAAe9xD,EAAI,OAAO,iBAAkB,SAAU,CACzD,WAAY,GACZ,IAAK,IAAM/S,GAAM8kE,CAAY,EAChC,EAIGrN,IAGA,CAACqT,GACDhG,EAAa,QAAU/J,KAEb+P,EAAA,GACVr0C,EAAKynC,EAAc,QAAQ,EAAE,MAAa/mE,IAAA,CAEoB,CAC7D,GAEL,MAAM4zE,EAAgB,CAAC,EACvB,UAAWz7E,MAAOyrE,GACP,sBAAegQ,EAAez7E,GAAK,CACtC,IAAK,IAAMw1E,EAAa,MAAMx1E,EAAG,EACjC,WAAY,GACf,EAEDyjB,EAAA,QAAQ4wD,GAAWkB,CAAM,EAC7B9xD,EAAI,QAAQ6wD,GAAkB5kE,GAAgB+rE,CAAa,CAAC,EACxDh4D,EAAA,QAAQ8wD,GAAuBiB,CAAY,EAC/C,MAAM7O,EAAaljD,EAAI,QACvB62D,GAAc,IAAI72D,CAAG,EACrBA,EAAI,QAAU,UAAY,CACtB62D,GAAc,OAAO72D,CAAG,EAEpB62D,GAAc,KAAO,IAEHlC,EAAA3M,GAClBuP,IAAyBA,GAAsB,EACvBA,GAAA,KACxBxF,EAAa,MAAQ/J,GACX+P,EAAA,GACFH,GAAA,IAED1U,EAAA,CACf,CAIA,CAER,EAEA,SAASiU,EAAc1F,EAAQ,CAC3B,OAAOA,EAAO,OAAO,CAACwG,EAAS79C,IAAU69C,EAAQ,KAAK,IAAM/G,GAAe92C,CAAK,CAAC,EAAG,QAAQ,SAAS,EAElG,OAAA03C,EACX,CACA,SAASmF,GAAuBx4D,EAAIC,EAAM,CACtC,MAAMo4D,EAAiB,CAAC,EAClBC,EAAkB,CAAC,EACnBC,EAAkB,CAAC,EACnBxpD,EAAM,KAAK,IAAI9O,EAAK,QAAQ,OAAQD,EAAG,QAAQ,MAAM,EAC3D,QAASthB,EAAI,EAAGA,EAAIqwB,EAAKrwB,IAAK,CACpB,MAAA+6E,EAAax5D,EAAK,QAAQvhB,CAAC,EAC7B+6E,IACIz5D,EAAG,QAAQ,QAAe6oD,GAAkBsG,EAAQsK,CAAU,CAAC,EAC/DnB,EAAgB,KAAKmB,CAAU,EAE/BpB,EAAe,KAAKoB,CAAU,GAEhC,MAAAC,EAAW15D,EAAG,QAAQthB,CAAC,EACzBg7E,IAEKz5D,EAAK,QAAQ,QAAe4oD,GAAkBsG,EAAQuK,CAAQ,CAAC,GAChEnB,EAAgB,KAAKmB,CAAQ,EAErC,CAEG,OAACrB,EAAgBC,EAAiBC,CAAe,CAC5D,CAMA,SAASoB,IAAY,CACjB,OAAOv6D,GAAO+yD,EAAS,CAC3B,CAKA,SAASyH,GAASC,EAAO,CACrB,OAAOz6D,GAAOgzD,EAAgB,CAClC,yVC5oHM,MAAE,CAAE,EAAI/P,GAAQ,EAChB,CAAE,SAAAyX,CAAS,EAAIlU,GAAgB,EAE/BgH,EAAQgN,GAAS,EAEjBG,EAAa9zE,GAAS,IACtB2mE,EAAM,OAAS,YACV,YAGLA,EAAM,KAAK,SACN,WAGF,KACR,ouCCpED,IAAIoN,GAAS,CAAE,GAKd,SAAS53B,EAAK63B,EAAQD,EAAQE,EAAUC,EAAY,CACnD,IAAIC,EAAe,CAAC,EAClBH,EAAO,QACPA,EAAO,MACPA,EAAO,SACPA,EAAO,iBACPA,EAAO,mCACPA,EAAO,mBACPA,EAAO,kBAAkB,UAAU,4BACnCA,EAAO,KACPA,EAAO,IAAI,iBAETI,EAAc,OAAO,QAAW,YAAc,OAAO,WAAc,WACnEC,EAAiB,UAAY,CAE/B,GAAI,CAACL,EAAO,gBACV,MAAO,GAGT,IAAIM,EAAS,IAAI,gBAAgB,EAAG,CAAC,EACjCtlE,EAAMslE,EAAO,WAAW,IAAI,EAChCtlE,EAAI,SAAS,EAAG,EAAG,EAAG,CAAC,EACvB,IAAIulE,EAASD,EAAO,sBAAuB,EAE3C,GAAI,CACFtlE,EAAI,cAAculE,EAAQ,WAAW,CACtC,MAAW,CACV,MAAO,EACb,CAEI,MAAO,EACX,EAAM,EAEJ,SAAS19C,GAAO,EAIhB,SAAS08C,EAAQiB,EAAM,CACrB,IAAIC,EAAgBV,EAAO,QAAQ,QAC/BW,EAAOD,IAAkB,OAASA,EAAgBT,EAAO,QAE7D,OAAI,OAAOU,GAAS,WACX,IAAIA,EAAKF,CAAI,GAGtBA,EAAK39C,EAAMA,CAAI,EAER,KACX,CAEE,IAAI89C,EAAgB,SAAUC,EAAeh9E,EAAK,CAMhD,MAAO,CACL,UAAW,SAAS28E,EAAQ,CAC1B,GAAIK,EACF,OAAOL,EAGT,GAAI38E,EAAI,IAAI28E,CAAM,EAChB,OAAO38E,EAAI,IAAI28E,CAAM,EAGvB,IAAID,EAAS,IAAI,gBAAgBC,EAAO,MAAOA,EAAO,MAAM,EACxDvlE,GAAMslE,EAAO,WAAW,IAAI,EAChC,OAAAtlE,GAAI,UAAUulE,EAAQ,EAAG,CAAC,EAE1B38E,EAAI,IAAI28E,EAAQD,CAAM,EAEfA,CACR,EACD,MAAO,UAAY,CACjB18E,EAAI,MAAO,CACnB,CACK,CACL,EAAKy8E,EAAe,IAAI,GAAK,EAEvBQ,EAAO,UAAY,CACrB,IAAIC,EAAO,KAAK,MAAM,kBAAS,EAC3BC,EAAOC,EACPC,EAAS,CAAE,EACXC,GAAgB,EAEpB,OAAI,OAAO,uBAA0B,YAAc,OAAO,sBAAyB,YACjFH,EAAQ,SAAUvqE,GAAI,CACpB,IAAIoD,EAAK,KAAK,OAAQ,EAEtB,OAAAqnE,EAAOrnE,CAAE,EAAI,sBAAsB,SAASunE,EAAQC,EAAM,CACpDF,KAAkBE,GAAQF,GAAgBJ,EAAO,EAAIM,GACvDF,GAAgBE,EAChB,OAAOH,EAAOrnE,CAAE,EAEhBpD,GAAI,GAEJyqE,EAAOrnE,CAAE,EAAI,sBAAsBunE,CAAO,CAEtD,CAAS,EAEMvnE,CACR,EACDonE,EAAS,SAAUpnE,GAAI,CACjBqnE,EAAOrnE,EAAE,GACX,qBAAqBqnE,EAAOrnE,EAAE,CAAC,CAElC,IAEDmnE,EAAQ,SAAUvqE,GAAI,CACpB,OAAO,WAAWA,GAAIsqE,CAAI,CAC3B,EACDE,EAAS,SAAUK,GAAO,CACxB,OAAO,aAAaA,EAAK,CAC1B,GAGI,CAAE,MAAON,EAAO,OAAQC,CAAQ,CAC3C,IAEMM,EAAa,UAAY,CAC3B,IAAIC,EACAC,EACAC,EAAW,CAAE,EAEjB,SAASC,EAASH,GAAQ,CACxB,SAASI,GAAQlrE,EAAS9D,EAAU,CAClC4uE,GAAO,YAAY,CAAE,QAAS9qE,GAAW,GAAI,SAAU9D,EAAU,CACzE,CACM4uE,GAAO,KAAO,SAAoBjB,EAAQ,CACxC,IAAIsB,EAAYtB,EAAO,2BAA4B,EACnDiB,GAAO,YAAY,CAAE,OAAQK,CAAW,EAAE,CAACA,CAAS,CAAC,CACtD,EAEDL,GAAO,KAAO,SAAoB9qE,EAASi9B,EAAMthC,EAAM,CACrD,GAAIovE,EACF,OAAAG,GAAQlrE,EAAS,IAAI,EACd+qE,EAGT,IAAI5nE,EAAK,KAAK,OAAQ,EAAC,SAAS,EAAE,EAAE,MAAM,CAAC,EAE3C,OAAA4nE,EAAOjC,EAAQ,SAAU1/D,GAAS,CAChC,SAASgiE,EAAW31B,EAAK,CACnBA,EAAI,KAAK,WAAatyC,IAI1B,OAAO6nE,EAAS7nE,CAAE,EAClB2nE,GAAO,oBAAoB,UAAWM,CAAU,EAEhDL,EAAO,KAEPb,EAAa,MAAO,EAEpBvuE,EAAM,EACNyN,GAAS,EACrB,CAEU0hE,GAAO,iBAAiB,UAAWM,CAAU,EAC7CF,GAAQlrE,EAASmD,CAAE,EAEnB6nE,EAAS7nE,CAAE,EAAIioE,EAAW,KAAK,KAAM,CAAE,KAAM,CAAE,SAAUjoE,CAAE,CAAE,CAAC,CACxE,CAAS,EAEM4nE,CACR,EAEDD,GAAO,MAAQ,UAAuB,CACpCA,GAAO,YAAY,CAAE,MAAO,EAAI,CAAE,EAElC,QAAS3nE,KAAM6nE,EACbA,EAAS7nE,CAAE,EAAG,EACd,OAAO6nE,EAAS7nE,CAAE,CAErB,CACP,CAEI,OAAO,UAAY,CACjB,GAAI2nE,EACF,OAAOA,EAGT,GAAI,CAACtB,GAAYE,EAAc,CAC7B,IAAI30C,GAAO,CACT,wCACA,IAAM2c,EAAK,SAAQ,EAAK,+BACxB,8BACA,4BACA,oDACA,iCACA,wDACA,UACA,UACA,iCACA,oCACA,kCACA,0CACA,4CACA,kCACA,0CACA,4CACA,yDACA,MACA,GACV,EAAU,KAAK;AAAA,CAAI,EACX,GAAI,CACFo5B,EAAS,IAAI,OAAO,IAAI,gBAAgB,IAAI,KAAK,CAAC/1C,EAAI,CAAC,CAAC,CAAC,CAC1D,OAAQjgC,GAAG,CAEV,cAAO,UAAY,QAAa,OAAO,QAAQ,MAAS,YAAa,QAAQ,KAAK,2BAA4BA,EAAC,EAExG,IACjB,CAEQm2E,EAASH,CAAM,CACvB,CAEM,OAAOA,CACR,CACL,EAAM,EAEA96C,EAAW,CACb,cAAe,GACf,MAAO,GACP,OAAQ,GACR,cAAe,GACf,MAAO,GACP,QAAS,EACT,MAAO,EACP,MAAO,IACP,EAAG,GACH,EAAG,GACH,OAAQ,CAAC,SAAU,QAAQ,EAC3B,OAAQ,IACR,OAAQ,CACN,UACA,UACA,UACA,UACA,UACA,UACA,SACD,EAED,wBAAyB,GACzB,OAAQ,CACT,EAED,SAASq7C,EAAQh+E,EAAKmxD,EAAW,CAC/B,OAAOA,EAAYA,EAAUnxD,CAAG,EAAIA,CACxC,CAEE,SAASi+E,EAAKj+E,EAAK,CACjB,OAASA,GAAQ,IACrB,CAEE,SAASwmB,EAAK7T,EAAS1O,EAAMktD,EAAW,CACtC,OAAO6sB,EACLrrE,GAAWsrE,EAAKtrE,EAAQ1O,CAAI,CAAC,EAAI0O,EAAQ1O,CAAI,EAAI0+B,EAAS1+B,CAAI,EAC9DktD,CACD,CACL,CAEE,SAAS+sB,EAAgBzhD,EAAO,CAC9B,OAAOA,EAAS,EAAI,EAAI,KAAK,MAAMA,CAAM,CAC7C,CAEE,SAAS0hD,EAAUC,EAAK1uC,EAAK,CAE3B,OAAO,KAAK,MAAM,KAAK,OAAQ,GAAIA,EAAM0uC,EAAI,EAAIA,CACrD,CAEE,SAASC,EAAUx+E,EAAK,CACtB,OAAO,SAASA,EAAK,EAAE,CAC3B,CAEE,SAASy+E,EAAYC,EAAQ,CAC3B,OAAOA,EAAO,IAAIC,CAAQ,CAC9B,CAEE,SAASA,EAAS3+E,EAAK,CACrB,IAAIG,EAAM,OAAOH,CAAG,EAAE,QAAQ,cAAe,EAAE,EAE/C,OAAIG,EAAI,OAAS,IACbA,EAAMA,EAAI,CAAC,EAAEA,EAAI,CAAC,EAAEA,EAAI,CAAC,EAAEA,EAAI,CAAC,EAAEA,EAAI,CAAC,EAAEA,EAAI,CAAC,GAG3C,CACL,EAAGq+E,EAAUr+E,EAAI,UAAU,EAAE,CAAC,CAAC,EAC/B,EAAGq+E,EAAUr+E,EAAI,UAAU,EAAE,CAAC,CAAC,EAC/B,EAAGq+E,EAAUr+E,EAAI,UAAU,EAAE,CAAC,CAAC,CAChC,CACL,CAEE,SAASy+E,EAAU9rE,EAAS,CAC1B,IAAI+rE,EAASl4D,EAAK7T,EAAS,SAAU,MAAM,EAC3C,OAAA+rE,EAAO,EAAIl4D,EAAKk4D,EAAQ,IAAK,MAAM,EACnCA,EAAO,EAAIl4D,EAAKk4D,EAAQ,IAAK,MAAM,EAE5BA,CACX,CAEE,SAASC,EAAoBnC,EAAQ,CACnCA,EAAO,MAAQ,SAAS,gBAAgB,YACxCA,EAAO,OAAS,SAAS,gBAAgB,YAC7C,CAEE,SAASoC,EAAkBpC,EAAQ,CACjC,IAAIr2C,EAAOq2C,EAAO,sBAAuB,EACzCA,EAAO,MAAQr2C,EAAK,MACpBq2C,EAAO,OAASr2C,EAAK,MACzB,CAEE,SAAS04C,GAAUC,EAAQ,CACzB,IAAItC,EAAS,SAAS,cAAc,QAAQ,EAE5C,OAAAA,EAAO,MAAM,SAAW,QACxBA,EAAO,MAAM,IAAM,MACnBA,EAAO,MAAM,KAAO,MACpBA,EAAO,MAAM,cAAgB,OAC7BA,EAAO,MAAM,OAASsC,EAEftC,CACX,CAEE,SAASuC,EAAQ37D,EAASpY,EAAGg0E,EAAGC,EAASC,GAASC,GAAUC,EAAYC,EAAUC,EAAe,CAC/Fl8D,EAAQ,KAAM,EACdA,EAAQ,UAAUpY,EAAGg0E,CAAC,EACtB57D,EAAQ,OAAO+7D,EAAQ,EACvB/7D,EAAQ,MAAM67D,EAASC,EAAO,EAC9B97D,EAAQ,IAAI,EAAG,EAAG,EAAGg8D,EAAYC,EAAUC,CAAa,EACxDl8D,EAAQ,QAAS,CACrB,CAEE,SAASm8D,EAAchZ,EAAM,CAC3B,IAAIiZ,EAAWjZ,EAAK,OAAS,KAAK,GAAK,KACnCkZ,EAAYlZ,EAAK,QAAU,KAAK,GAAK,KAEzC,MAAO,CACL,EAAGA,EAAK,EACR,EAAGA,EAAK,EACR,OAAQ,KAAK,OAAM,EAAK,GACxB,YAAa,KAAK,IAAI,IAAM,KAAK,OAAQ,EAAG,GAAM,GAAI,EACtD,SAAWA,EAAK,cAAgB,GAAQ,KAAK,OAAM,EAAKA,EAAK,cAC7D,QAAS,CAACiZ,GAAa,GAAMC,EAAc,KAAK,SAAWA,GAC3D,WAAY,KAAK,OAAQ,GAAI,IAAO,KAAQ,KAAQ,KAAK,GACzD,MAAOlZ,EAAK,MACZ,MAAOA,EAAK,MACZ,KAAM,EACN,WAAYA,EAAK,MACjB,MAAOA,EAAK,MACZ,MAAOA,EAAK,MACZ,OAAQ,KAAK,OAAM,EAAK,EACxB,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAAS,EACT,QAASA,EAAK,QAAU,EACxB,WAAY,GACZ,OAAQA,EAAK,OACb,KAAMA,EAAK,IACZ,CACL,CAEE,SAASmZ,EAAYt8D,EAASu8D,EAAO,CACnCA,EAAM,GAAK,KAAK,IAAIA,EAAM,OAAO,EAAIA,EAAM,SAAWA,EAAM,MAC5DA,EAAM,GAAK,KAAK,IAAIA,EAAM,OAAO,EAAIA,EAAM,SAAWA,EAAM,QAC5DA,EAAM,UAAYA,EAAM,MAEpBA,EAAM,MACRA,EAAM,OAAS,EACfA,EAAM,QAAUA,EAAM,EAAK,GAAKA,EAAM,OACtCA,EAAM,QAAUA,EAAM,EAAK,GAAKA,EAAM,OAEtCA,EAAM,QAAU,EAChBA,EAAM,QAAU,EAChBA,EAAM,OAAS,IAEfA,EAAM,QAAUA,EAAM,YACtBA,EAAM,QAAUA,EAAM,EAAM,GAAKA,EAAM,OAAU,KAAK,IAAIA,EAAM,MAAM,EACtEA,EAAM,QAAUA,EAAM,EAAM,GAAKA,EAAM,OAAU,KAAK,IAAIA,EAAM,MAAM,EAEtEA,EAAM,WAAa,GACnBA,EAAM,QAAU,KAAK,IAAIA,EAAM,SAAS,EACxCA,EAAM,QAAU,KAAK,IAAIA,EAAM,SAAS,EACxCA,EAAM,OAAS,KAAK,OAAQ,EAAG,GAGjC,IAAIC,EAAYD,EAAM,OAAUA,EAAM,WAElCE,EAAKF,EAAM,EAAKA,EAAM,OAASA,EAAM,QACrCG,GAAKH,EAAM,EAAKA,EAAM,OAASA,EAAM,QACrCI,GAAKJ,EAAM,QAAWA,EAAM,OAASA,EAAM,QAC3CK,EAAKL,EAAM,QAAWA,EAAM,OAASA,EAAM,QAM/C,GAJAv8D,EAAQ,UAAY,QAAUu8D,EAAM,MAAM,EAAI,KAAOA,EAAM,MAAM,EAAI,KAAOA,EAAM,MAAM,EAAI,MAAQ,EAAIC,GAAY,IAEpHx8D,EAAQ,UAAW,EAEfk5D,GAAeqD,EAAM,MAAM,OAAS,QAAU,OAAOA,EAAM,MAAM,MAAS,UAAY,MAAM,QAAQA,EAAM,MAAM,MAAM,EACxHv8D,EAAQ,KAAK68D,GACXN,EAAM,MAAM,KACZA,EAAM,MAAM,OACZA,EAAM,EACNA,EAAM,EACN,KAAK,IAAII,GAAKF,CAAE,EAAI,GACpB,KAAK,IAAIG,EAAKF,EAAE,EAAI,GACpB,KAAK,GAAK,GAAKH,EAAM,MAC7B,CAAO,UACQA,EAAM,MAAM,OAAS,SAAU,CACxC,IAAIR,EAAW,KAAK,GAAK,GAAKQ,EAAM,OAChCO,EAAS,KAAK,IAAIH,GAAKF,CAAE,EAAI,GAC7BM,EAAS,KAAK,IAAIH,EAAKF,EAAE,EAAI,GAC7Bj6C,EAAQ85C,EAAM,MAAM,OAAO,MAAQA,EAAM,OACzC75C,GAAS65C,EAAM,MAAM,OAAO,OAASA,EAAM,OAE3CS,EAAS,IAAI,UAAU,CACzB,KAAK,IAAIjB,CAAQ,EAAIe,EACrB,KAAK,IAAIf,CAAQ,EAAIe,EACrB,CAAC,KAAK,IAAIf,CAAQ,EAAIgB,EACtB,KAAK,IAAIhB,CAAQ,EAAIgB,EACrBR,EAAM,EACNA,EAAM,CACd,CAAO,EAGDS,EAAO,aAAa,IAAI,UAAUT,EAAM,MAAM,MAAM,CAAC,EAErD,IAAInQ,EAAUpsD,EAAQ,cAAcy5D,EAAa,UAAU8C,EAAM,MAAM,MAAM,EAAG,WAAW,EAC3FnQ,EAAQ,aAAa4Q,CAAM,EAE3Bh9D,EAAQ,YAAe,EAAIw8D,EAC3Bx8D,EAAQ,UAAYosD,EACpBpsD,EAAQ,SACNu8D,EAAM,EAAK95C,EAAQ,EACnB85C,EAAM,EAAK75C,GAAS,EACpBD,EACAC,EACD,EACD1iB,EAAQ,YAAc,CAC5B,SAAeu8D,EAAM,QAAU,SACzBv8D,EAAQ,QACNA,EAAQ,QAAQu8D,EAAM,EAAGA,EAAM,EAAG,KAAK,IAAII,GAAKF,CAAE,EAAIF,EAAM,WAAY,KAAK,IAAIK,EAAKF,EAAE,EAAIH,EAAM,WAAY,KAAK,GAAK,GAAKA,EAAM,OAAQ,EAAG,EAAI,KAAK,EAAE,EACzJZ,EAAQ37D,EAASu8D,EAAM,EAAGA,EAAM,EAAG,KAAK,IAAII,GAAKF,CAAE,EAAIF,EAAM,WAAY,KAAK,IAAIK,EAAKF,EAAE,EAAIH,EAAM,WAAY,KAAK,GAAK,GAAKA,EAAM,OAAQ,EAAG,EAAI,KAAK,EAAE,UACnJA,EAAM,QAAU,OASzB,QARIU,EAAM,KAAK,GAAK,EAAI,EACpBC,EAAc,EAAIX,EAAM,OACxBY,EAAc,EAAIZ,EAAM,OACxB30E,EAAI20E,EAAM,EACVX,EAAIW,EAAM,EACVa,EAAS,EACTC,EAAO,KAAK,GAAKD,EAEdA,KACLx1E,EAAI20E,EAAM,EAAI,KAAK,IAAIU,CAAG,EAAIE,EAC9BvB,EAAIW,EAAM,EAAI,KAAK,IAAIU,CAAG,EAAIE,EAC9Bn9D,EAAQ,OAAOpY,EAAGg0E,CAAC,EACnBqB,GAAOI,EAEPz1E,EAAI20E,EAAM,EAAI,KAAK,IAAIU,CAAG,EAAIC,EAC9BtB,EAAIW,EAAM,EAAI,KAAK,IAAIU,CAAG,EAAIC,EAC9Bl9D,EAAQ,OAAOpY,EAAGg0E,CAAC,EACnBqB,GAAOI,OAGTr9D,EAAQ,OAAO,KAAK,MAAMu8D,EAAM,CAAC,EAAG,KAAK,MAAMA,EAAM,CAAC,CAAC,EACvDv8D,EAAQ,OAAO,KAAK,MAAMu8D,EAAM,OAAO,EAAG,KAAK,MAAMG,EAAE,CAAC,EACxD18D,EAAQ,OAAO,KAAK,MAAM28D,EAAE,EAAG,KAAK,MAAMC,CAAE,CAAC,EAC7C58D,EAAQ,OAAO,KAAK,MAAMy8D,CAAE,EAAG,KAAK,MAAMF,EAAM,OAAO,CAAC,EAG1D,OAAAv8D,EAAQ,UAAW,EACnBA,EAAQ,KAAM,EAEPu8D,EAAM,KAAOA,EAAM,UAC9B,CAEE,SAASe,GAAQlE,EAAQmE,EAAQC,EAAShxC,EAAMthC,GAAM,CACpD,IAAIuyE,GAAkBF,EAAO,MAAO,EAChCv9D,EAAUo5D,EAAO,WAAW,IAAI,EAChCsE,EACAjT,EAEA6P,EAAOjC,EAAQ,SAAU1/D,EAAS,CACpC,SAASglE,IAAS,CAChBD,EAAiBjT,EAAU,KAE3BzqD,EAAQ,UAAU,EAAG,EAAGwsB,EAAK,MAAOA,EAAK,MAAM,EAC/CitC,EAAa,MAAO,EAEpBvuE,GAAM,EACNyN,EAAS,CACjB,CAEM,SAAS2R,GAAS,CACZyuD,GAAY,EAAEvsC,EAAK,QAAUwsC,EAAW,OAASxsC,EAAK,SAAWwsC,EAAW,UAC9ExsC,EAAK,MAAQ4sC,EAAO,MAAQJ,EAAW,MACvCxsC,EAAK,OAAS4sC,EAAO,OAASJ,EAAW,QAGvC,CAACxsC,EAAK,OAAS,CAACA,EAAK,SACvBgxC,EAAQpE,CAAM,EACd5sC,EAAK,MAAQ4sC,EAAO,MACpB5sC,EAAK,OAAS4sC,EAAO,QAGvBp5D,EAAQ,UAAU,EAAG,EAAGwsB,EAAK,MAAOA,EAAK,MAAM,EAE/CixC,GAAkBA,GAAgB,OAAO,SAAUlB,EAAO,CACxD,OAAOD,EAAYt8D,EAASu8D,CAAK,CAC3C,CAAS,EAEGkB,GAAgB,OAClBC,EAAiB/D,EAAI,MAAMrvD,CAAM,EAEjCqzD,GAAQ,CAElB,CAEMD,EAAiB/D,EAAI,MAAMrvD,CAAM,EACjCmgD,EAAUkT,EAChB,CAAK,EAED,MAAO,CACL,UAAW,SAAUJ,EAAQ,CAC3B,OAAAE,GAAkBA,GAAgB,OAAOF,CAAM,EAExCjD,CACR,EACD,OAAQlB,EACR,QAASkB,EACT,MAAO,UAAY,CACboD,GACF/D,EAAI,OAAO+D,CAAc,EAGvBjT,GACFA,EAAS,CAEnB,CACK,CACL,CAEE,SAASmT,GAAexE,EAAQyE,EAAY,CAC1C,IAAIC,EAAc,CAAC1E,EACf2E,EAAc,CAAC,CAAC36D,EAAKy6D,GAAc,GAAI,QAAQ,EAC/CG,GAA2B,GAC3BC,GAAgC76D,EAAKy6D,EAAY,0BAA2B,OAAO,EACnFK,EAAkBjF,GAAgB,CAAC,CAAC71D,EAAKy6D,GAAc,CAAE,EAAE,WAAW,EACtExD,EAAS6D,EAAkB9D,EAAS,EAAK,KACzCoD,EAAUM,EAAcvC,EAAsBC,EAC9C2C,EAAe/E,GAAUiB,EAAU,CAAC,CAACjB,EAAO,uBAAyB,GACrEgF,EAAmB,OAAO,YAAe,YAAc,WAAW,0BAA0B,EAAE,QAC9FC,GAEJ,SAASC,EAAU/uE,EAASi9B,EAAMthC,EAAM,CAqBtC,QApBIqzE,EAAgBn7D,EAAK7T,EAAS,gBAAiBurE,CAAe,EAC9D0D,EAAQp7D,EAAK7T,EAAS,QAAS,MAAM,EACrCkvE,EAASr7D,EAAK7T,EAAS,SAAU,MAAM,EACvCmvE,EAAgBt7D,EAAK7T,EAAS,gBAAiB,MAAM,EACrDovE,EAAQv7D,EAAK7T,EAAS,QAAS,MAAM,EACrCqvE,EAAUx7D,EAAK7T,EAAS,UAAW,MAAM,EACzCsvE,EAAQz7D,EAAK7T,EAAS,QAAS,MAAM,EACrC4rE,EAAS/3D,EAAK7T,EAAS,SAAU2rE,CAAW,EAC5C4D,EAAQ17D,EAAK7T,EAAS,QAAS,MAAM,EACrCwvE,EAAS37D,EAAK7T,EAAS,QAAQ,EAC/ByvE,GAAS57D,EAAK7T,EAAS,QAAQ,EAC/B0vE,GAAO,CAAC,CAAC77D,EAAK7T,EAAS,MAAM,EAC7B+rE,GAASD,EAAU9rE,CAAO,EAE1B2vE,GAAOX,EACPhB,GAAS,CAAE,EAEX4B,GAAS/F,EAAO,MAAQkC,GAAO,EAC/B8D,GAAShG,EAAO,OAASkC,GAAO,EAE7B4D,MACL3B,GAAO,KACLpB,EAAc,CACZ,EAAGgD,GACH,EAAGC,GACH,MAAOZ,EACP,OAAQC,EACR,cAAeC,EACf,MAAOvD,EAAO+D,GAAO/D,EAAO,MAAM,EAClC,MAAO4D,EAAOhE,EAAU,EAAGgE,EAAO,MAAM,CAAC,EACzC,MAAOD,EACP,MAAOH,EACP,QAASC,EACT,MAAOC,EACP,OAAQG,GACR,KAAMC,EACP,EACF,EAKH,OAAIZ,GACKA,GAAa,UAAUd,EAAM,GAGtCc,GAAef,GAAQlE,EAAQmE,GAAQC,EAAShxC,EAAOthC,CAAI,EAEpDmzE,GAAa,QAC1B,CAEI,SAASgB,EAAK9vE,EAAS,CACrB,IAAI+vE,EAA0BrB,IAAiC76D,EAAK7T,EAAS,0BAA2B,OAAO,EAC3GmsE,EAASt4D,EAAK7T,EAAS,SAAU,MAAM,EAE3C,GAAI+vE,GAA2BlB,EAC7B,OAAO/F,EAAQ,SAAU1/D,EAAS,CAChCA,EAAS,CACnB,CAAS,EAGCmlE,GAAeO,GAEjBjF,EAASiF,GAAa,OACbP,GAAe,CAAC1E,IAEzBA,EAASqC,GAAUC,CAAM,EACzB,SAAS,KAAK,YAAYtC,CAAM,GAG9B2E,GAAe,CAACI,GAElBX,EAAQpE,CAAM,EAGhB,IAAI5sC,EAAO,CACT,MAAO4sC,EAAO,MACd,OAAQA,EAAO,MAChB,EAEGiB,GAAU,CAAC8D,GACb9D,EAAO,KAAKjB,CAAM,EAGpB+E,EAAc,GAEV9D,IACFjB,EAAO,uBAAyB,IAGlC,SAASmG,GAAW,CAClB,GAAIlF,EAAQ,CAEV,IAAI16E,EAAM,CACR,sBAAuB,UAAY,CACjC,GAAI,CAACm+E,EACH,OAAO1E,EAAO,sBAAuB,CAErD,CACW,EAEDoE,EAAQ79E,CAAG,EAEX06E,EAAO,YAAY,CACjB,OAAQ,CACN,MAAO16E,EAAI,MACX,OAAQA,EAAI,MAC1B,CACA,CAAW,EACD,MACV,CAIQ6sC,EAAK,MAAQA,EAAK,OAAS,IACnC,CAEM,SAASthC,GAAO,CACdmzE,GAAe,KAEXN,IACFC,GAA2B,GAC3BlF,EAAO,oBAAoB,SAAUyG,CAAQ,GAG3CzB,GAAe1E,IACb,SAAS,KAAK,SAASA,CAAM,GAC/B,SAAS,KAAK,YAAYA,CAAM,EAElCA,EAAS,KACT+E,EAAc,GAExB,CAOM,OALIJ,GAAe,CAACC,KAClBA,GAA2B,GAC3BlF,EAAO,iBAAiB,SAAUyG,EAAU,EAAK,GAG/ClF,EACKA,EAAO,KAAK9qE,EAASi9B,EAAMthC,CAAI,EAGjCozE,EAAU/uE,EAASi9B,EAAMthC,CAAI,CAC1C,CAEI,OAAAm0E,EAAK,MAAQ,UAAY,CACnBhF,GACFA,EAAO,MAAO,EAGZgE,IACFA,GAAa,MAAO,CAEvB,EAEMgB,CACX,CAGE,IAAIG,GACJ,SAASC,IAAiB,CACxB,OAAKD,KACHA,GAAc5B,GAAe,KAAM,CAAE,UAAW,GAAM,OAAQ,GAAM,GAE/D4B,EACX,CAEE,SAAS3C,GAAgB6C,EAAYC,EAAY/3E,EAAG,EAAGk1E,GAAQC,GAAQhB,EAAU,CAC/E,IAAI6D,EAAS,IAAI,OAAOF,CAAU,EAE9BG,EAAK,IAAI,OACbA,EAAG,QAAQD,EAAQ,IAAI,UAAUD,CAAU,CAAC,EAE5C,IAAIG,EAAK,IAAI,OAEb,OAAAA,EAAG,QAAQD,EAAI,IAAI,UAAU,CAC3B,KAAK,IAAI9D,CAAQ,EAAIe,GACrB,KAAK,IAAIf,CAAQ,EAAIe,GACrB,CAAC,KAAK,IAAIf,CAAQ,EAAIgB,GACtB,KAAK,IAAIhB,CAAQ,EAAIgB,GACrBn1E,EACA,CACN,CAAK,CAAC,EAEKk4E,CACX,CAEE,SAASC,GAAcC,EAAU,CAC/B,GAAI,CAAC9G,EACH,MAAM,IAAI,MAAM,iDAAiD,EAGnE,IAAItqD,EAAMouD,EAEN,OAAOgD,GAAa,SACtBpxD,EAAOoxD,GAEPpxD,EAAOoxD,EAAS,KAChBhD,EAASgD,EAAS,QAGpB,IAAIJ,EAAS,IAAI,OAAOhxD,CAAI,EACxBqxD,GAAa,SAAS,cAAc,QAAQ,EAC5CC,GAAUD,GAAW,WAAW,IAAI,EAExC,GAAI,CAACjD,EAAQ,CAWX,QATImD,EAAU,IACVC,EAAOD,EACPE,EAAOF,EACPG,EAAO,EACPC,EAAO,EACP99C,GAAOC,EAIF96B,EAAI,EAAGA,EAAIu4E,EAASv4E,GAAK,EAChC,QAASg0E,EAAI,EAAGA,EAAIuE,EAASvE,GAAK,EAC5BsE,GAAQ,cAAcN,EAAQh4E,EAAGg0E,EAAG,SAAS,IAC/CwE,EAAO,KAAK,IAAIA,EAAMx4E,CAAC,EACvBy4E,EAAO,KAAK,IAAIA,EAAMzE,CAAC,EACvB0E,EAAO,KAAK,IAAIA,EAAM14E,CAAC,EACvB24E,EAAO,KAAK,IAAIA,EAAM3E,CAAC,GAK7Bn5C,GAAQ69C,EAAOF,EACf19C,EAAS69C,EAAOF,EAEhB,IAAIG,EAAiB,GACjBC,EAAQ,KAAK,IAAID,EAAe/9C,GAAO+9C,EAAe99C,CAAM,EAEhEs6C,EAAS,CACPyD,EAAO,EAAG,EAAGA,EACb,CAAC,KAAK,MAAOh+C,GAAM,EAAK29C,CAAI,EAAIK,EAChC,CAAC,KAAK,MAAO/9C,EAAO,EAAK29C,CAAI,EAAII,CAClC,CACP,CAEI,MAAO,CACL,KAAM,OACN,KAAM7xD,EACN,OAAQouD,CACT,CACL,CAEE,SAAS0D,GAAcC,EAAU,CAC/B,IAAI3tD,EACAgsD,EAAS,EACT4B,EAAQ,UAERC,GAAa,iKAEb,OAAOF,GAAa,SACtB3tD,EAAO2tD,GAEP3tD,EAAO2tD,EAAS,KAChB3B,EAAS,WAAY2B,EAAWA,EAAS,OAAS3B,EAClD6B,GAAa,eAAgBF,EAAWA,EAAS,WAAaE,GAC9DD,EAAQ,UAAWD,EAAWA,EAAS,MAAQC,GAKjD,IAAIE,GAAW,GAAK9B,EAChB+B,EAAO,GAAKD,GAAW,MAAQD,GAE/BzH,EAAS,IAAI,gBAAgB0H,GAAUA,EAAQ,EAC/ChtE,EAAMslE,EAAO,WAAW,IAAI,EAEhCtlE,EAAI,KAAOitE,EACX,IAAIv0C,EAAO14B,EAAI,YAAYkf,CAAI,EAC3ByP,EAAQ,KAAK,KAAK+J,EAAK,uBAAyBA,EAAK,qBAAqB,EAC1E9J,GAAS,KAAK,KAAK8J,EAAK,wBAA0BA,EAAK,wBAAwB,EAE/Ew0C,EAAU,EACVp5E,EAAI4kC,EAAK,sBAAwBw0C,EACjCpF,EAAIpvC,EAAK,wBAA0Bw0C,EACvCv+C,GAASu+C,EAAUA,EACnBt+C,IAAUs+C,EAAUA,EAEpB5H,EAAS,IAAI,gBAAgB32C,EAAOC,EAAM,EAC1C5uB,EAAMslE,EAAO,WAAW,IAAI,EAC5BtlE,EAAI,KAAOitE,EACXjtE,EAAI,UAAY8sE,EAEhB9sE,EAAI,SAASkf,EAAMprB,EAAGg0E,CAAC,EAEvB,IAAI6E,EAAQ,EAAIzB,EAEhB,MAAO,CACL,KAAM,SAEN,OAAQ5F,EAAO,sBAAuB,EACtC,OAAQ,CAACqH,EAAO,EAAG,EAAGA,EAAO,CAACh+C,EAAQg+C,EAAQ,EAAG,CAAC/9C,GAAS+9C,EAAQ,CAAC,CACrE,CACL,CAEE5H,EAAO,QAAU,UAAW,CAC1B,OAAO4G,GAAgB,EAAC,MAAM,KAAM,SAAS,CAC9C,EACD5G,EAAO,QAAQ,MAAQ,UAAW,CAChC4G,GAAc,EAAG,MAAO,CACzB,EACD5G,EAAO,QAAQ,OAAS+E,GACxB/E,EAAO,QAAQ,cAAgBkH,GAC/BlH,EAAO,QAAQ,cAAgB6H,EACjC,GAAG,UAAY,CACb,OAAI,OAAO,OAAW,IACb,OAGL,OAAO,KAAS,IACX,KAGF,MAAQ,CAAE,CACnB,EAAI,EAAE7H,GAAQ,EAAK,EAInB,MAAeoI,GAAApI,GAAO,QACFA,GAAO,QAAQ,OCv3BtB,MAAAqI,GAAe,KAAK,sBAAsB,EAC1CC,GAAY,sBACZC,GAAe,uDACfC,GAAa,wBACbC,GAAe,GAAGD,EAAU,iCAC5BE,GAAiB,GAAGF,EAAU,mCAC9BG,GAAgB,2PC0BvBC,GAAgB,8CACtB,MAAMphE,EAAUif,GAAW,GAAGilC,EAAkB,WAAY,OAAO,EAC7Dmd,EAAO58E,GAAS,IAAMub,EAAQ,QAAU,MAAQA,EAAQ,QAAUohE,EAAa,EAC/E,CAAE,EAAAliB,CAAE,EAAI2B,GAAQ,EAEtBxpD,GAAU,SAAY,CACd,MAAAiqE,EAAa,aAAa,QAAQ,SAAS,EAC7CA,IAAe,OACjBthE,EAAQ,MAAQshE,EAChB,aAAa,WAAW,SAAS,EACnC,CACD,EAEDtyE,GACEqyE,EACA,IAAM,CACA,IAACA,EAAK,MACR,OAGF,MAAME,EAAW,EAAI,IACfC,EAAe,KAAK,MAAQD,EAE5BE,EAAW,YAAY,IAAM,CAGjC,GAFiBD,EAAe,KAAK,IAAI,GAEzB,EAAG,CACjB,cAAcC,CAAQ,EACtB,OAGGb,GAAS,CAAE,cAAe,IAAK,OAAQ,GAAI,OAAQ,CAAE,EAAG,GAAO,gBAAe,GAAI,OAAQ,IAAM,GACpG,GAAG,CACR,EACA,CAAE,UAAW,EAAK,CACpB,EAEA,SAAStxC,GAAQ,CACftvB,EAAQ,MAAQohE,EAAA,oeClEL/gD,GAAgBnxB,GAC3BwyE,GAAmB,CAAE,WAAY,GAAGxd,EAAkB,SAAU,GAAGh1D,CAAS,gLCejEmxB,GAAA,EAEP,MAAE,OAAA0jB,CAAO,EAAI8c,GAAQ,EAC3B,OAAA7xD,GACE+0C,EACA,IAAM,CACJ,SAAS,gBAAgB,aAAa,OAAQA,EAAO,KAAK,CAC5D,EACA,CAAE,UAAW,EAAK,CACpB,ijDC1BA,SAAS49B,IAA0B,CACjC,OAAO,UAAU,SAAS,MAAM,GAAG,EAAE,CAAC,CACxC,CAEA,MAAMC,GAAeD,GAAgB,EAC/BzvB,GAAOiQ,GAAW,CACtB,OAAQ,GACR,OAAQyf,EACV,CAAC,EAEYC,GAAqB,MAAO99B,GAAmB,CAC1D,KAAM,CAAE,QAASwB,CAAA,EAAc,MAAMu8B,GAA0B,uCAAAC,GAAA,2DAAAA,GAAA,kDAAAh+B,CAAA,WAE1D,OAAAmO,GAAA,OAAO,iBAAiBnO,EAAQwB,CAAQ,EAEtCrzC,GAAS,CAClB,EASK2vE,GAAmBD,EAAY,ECvBpC,IAAII,GAAkB,GAEtB,MAAMlU,GAA2B,CAC/B,CACE,KAAM,IACN,KAAM,OACN,UAAW,WAAiB,OAAO,oBAAkB,+BACvD,EACA,CACE,KAAM,6BACN,KAAM,aACN,UAAW,WAAiB,OAAO,oBAAkB,gCACrD,MAAO,EACT,EACA,CACE,KAAM,UACN,KAAM,SACN,UAAW,WAAiB,OAAO,oBAAkB,+BACvD,EACA,CACE,KAAM,aACN,KAAM,YACN,UAAW,WAAiB,OAAO,oBAAkB,+BACvD,EACA,CACE,KAAM,kBACN,KAAM,iBACN,UAAW,IAAiBiU,GAAA,WAAO,qBAA4B,8BAC/D,KAAM,CAAE,SAAU,EAAK,CACzB,EACA,CACE,KAAM,sBACN,KAAM,qBACN,UAAW,IAAiBA,GAAA,WAAO,yBAAgC,0BACnE,KAAM,CAAE,SAAU,EAAK,CACzB,EACA,CACE,KAAM,qBACN,KAAM,oBACN,UAAW,IAAiBA,GAAA,WAAO,wBAA+B,8BAClE,KAAM,CAAE,SAAU,EAAK,CACzB,EACA,CACE,KAAM,oBACN,KAAM,mBACN,UAAW,IAAiBA,GAAA,WAAO,uBAA8B,+BACjE,KAAM,CAAE,SAAU,EAAK,CACzB,EACA,CACE,KAAM,WACN,KAAM,UACN,SAAU,CAAE,KAAM,kBAAmB,CACvC,EACA,CACE,KAAM,OACN,KAAM,MACN,UAAW,WAAiB,OAAO,2BAAyB,iCAC5D,KAAM,CAAE,SAAU,EAAK,CACzB,EACA,CACE,KAAM,mBACN,KAAM,YACN,UAAW,WAAiB,OAAO,wBAAsB,MAE7D,EAEMlQ,GAASuC,GAAa,CAC1B,QAAStJ,GAAiB,EAC1B,OAAAgD,EACF,CAAC,EAEK,CAAE,SAAAwK,EAAS,EAAIlU,GAAgB,EAErCyN,GAAO,WAAW,CAACrzD,EAAIC,EAAMxa,IAAe,CAC1C,GAAIua,EAAG,OAAS,SAAWwjE,IAAmB1J,GAAS,OAAQ,CAC3C0J,GAAA,GACb/9E,EAAA,CAAE,KAAM,YAAa,EAC1B,OAGgB+9E,GAAA,GACb/9E,EAAA,CACP,CAAC,EC/ED,MAAM8b,GAAM4a,GAAUsnD,EAAG,EAEzBliE,GAAI,IAAI8xD,EAAM,EACd9xD,GAAI,IAAImyC,EAAI,EACZnyC,GAAI,MAAM,MAAM","names":["makeMap","str","map","key","val","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","isOn","isModelListener","extend","remove","arr","el","i","hasOwnProperty","hasOwn","isArray","isMap","toTypeString","isSet","isDate","isFunction","isString","isSymbol","isObject","isPromise","objectToString","value","toRawType","isPlainObject","isIntegerKey","isReservedProp","cacheStringFunction","fn","cache","camelizeRE","camelize","_","c","hyphenateRE","hyphenate","capitalize","toHandlerKey","hasChanged","oldValue","invokeArrayFns","fns","arg","def","obj","writable","looseToNumber","n","_globalThis","getGlobalThis","normalizeStyle","res","item","normalized","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","cssText","ret","tmp","normalizeClass","name","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","a","b","equal","looseEqual","aValidType","bValidType","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","isRef","toDisplayString","replacer","_key","entries","val2","stringifySymbol","v","_a","activeEffectScope","EffectScope","detached","l","currentEffectScope","fromParent","last","effectScope","getCurrentScope","onScopeDispose","failSilently","activeSub","pausedQueueEffects","ReactiveEffect","batch","cleanupEffect","prepareDeps","prevEffect","prevShouldTrack","shouldTrack","cleanupDeps","link","removeSub","isDirty","batchDepth","batchedSub","batchedComputed","sub","isComputed","startBatch","endBatch","e","next","error","err","head","tail","prev","removeDep","refreshComputed","computed","globalVersion","dep","prevSub","soft","nextSub","prevDep","nextDep","trackStack","pauseTracking","resetTracking","cleanup","Link","Dep","debugInfo","addSub","currentTail","targetMap","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ARRAY_ITERATE_KEY","track","target","type","depsMap","trigger","newValue","oldTarget","run","targetIsArray","isArrayIndex","newLength","key2","getDepFromReactive","object","depMap","reactiveReadArray","array","raw","toRaw","isShallow","toReactive","shallowReadArray","arrayInstrumentations","iterator","args","x","thisArg","apply","searchProxy","separator","noTracking","reduce","comparer","self","method","wrapValue","iter","result","arrayProto","wrappedRetFn","needsWrap","methodFn","result2","wrappedFn","index","acc","isProxy","isNonTrackableKeys","builtInSymbols","BaseReactiveHandler","_isReadonly","_isShallow","receiver","isReadonly2","isShallow2","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","readonly","reactive","MutableReactiveHandler","isOldValueReadonly","isReadonly","hadKey","ReadonlyReactiveHandler","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","toShallow","getProto","createIterableMethod","rawTarget","targetIsMap","isPair","isKeyOnly","innerIterator","wrap","toReadonly","done","createReadonlyMethod","createInstrumentations","shallow","instrumentations","rawKey","has","callback","observed","get","hadItems","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","createReactiveObject","shallowReactive","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","proxy","isReactive","markRaw","r","ref","createRef","shallowRef","rawValue","RefImpl","useDirectValue","unref","ref2","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","set","newVal","customRef","ObjectRefImpl","_object","_defaultValue","GetterRefImpl","_getter","toRef","source","defaultValue","propertyToRef","ComputedRefImpl","setter","isSSR","getterOrOptions","debugOptions","getter","INITIAL_WATCHER_VALUE","cleanupMap","activeWatcher","onWatcherCleanup","cleanupFn","owner","cleanups","watch","cb","options","immediate","deep","once","scheduler","augmentJob","call","reactiveGetter","source2","traverse","effect","boundCleanup","forceTrigger","isMultiSource","s","currentEffect","baseGetter","depth","scope","watchHandle","_cb","job","immediateFirstRun","currentWatcher","cleanup2","seen","callWithErrorHandling","instance","handleError","callWithAsyncErrorHandling","values","throwInDev","contextVNode","errorHandler","throwUnhandledErrorInProduction","cur","exposedInstance","errorInfo","errorCapturedHooks","logError","throwInProd","queue","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","nextTick","p","findInsertionIndex","id","start","end","middle","middleJob","middleJobId","getId","queueJob","jobId","lastJob","queueFlush","flushJobs","queuePostFlushCb","flushPreFlushCbs","flushPostFlushCbs","deduped","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","withCtx","ctx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","withDirectives","vnode","directives","getComponentPublicInstance","bindings","dir","modifiers","invokeDirectiveHook","prevVNode","oldBindings","binding","hook","TeleportEndKey","isTeleport","setTransitionHooks","hooks","defineComponent","extraOptions","markAsyncBoundary","setRef","rawRef","oldRawRef","parentSuspense","isUnmount","isAsyncWrapper","refValue","oldRef","refs","setupState","rawSetupState","canSetSetupRef","_isString","_isRef","doSet","existing","queuePostRenderEffect","isKeepAlive","onActivated","registerKeepAliveHook","onDeactivated","currentInstance","wrappedHook","current","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","prepend","reset","setCurrentInstance","createHook","lifecycle","isInSSRComponentSetup","onBeforeMount","onMounted","onBeforeUpdate","onUpdated","onBeforeUnmount","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","COMPONENTS","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","warnMissing","Component","selfName","getComponentName","resolve","registry","renderList","renderItem","cached","sourceIsArray","sourceIsReactiveArray","keys","renderSlot","slots","props","fallback","noSlotted","openBlock","createBlock","Fragment","createVNode","slot","validSlotContent","ensureValidVNode","slotKey","rendered","vnodes","child","isVNode","Comment","getPublicInstance","isStatefulComponent","publicPropertiesMap","resolveMergedOptions","instanceWatch","hasSetupBinding","state","PublicInstanceProxyHandlers","data","accessCache","appContext","normalizedProps","shouldCacheAccess","publicGetter","cssModule","globalProperties","propsOptions","descriptor","normalizePropsOrEmits","applyOptions","publicThis","callHook","dataOptions","computedOptions","methods","watchOptions","provideOptions","injectOptions","created","beforeMount","mounted","beforeUpdate","updated","activated","deactivated","beforeDestroy","beforeUnmount","destroyed","unmounted","render","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","inheritAttrs","components","filters","resolveInjections","methodHandler","opt","createWatcher","provides","provide","registerLifecycleHook","register","_hook","exposed","checkDuplicateProperties","normalizeInject","inject","h","createPathGetter","handler","base","mixins","extendsOptions","globalMixins","optionMergeStrategies","resolved","m","mergeOptions","to","from","strats","asMixin","strat","internalOptionMergeStrats","mergeDataFn","mergeEmitsOrPropsOptions","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","merged","createAppContext","uid$1","createAppAPI","hydrate","rootComponent","rootProps","context","installedPlugins","pluginCleanupFns","isMounted","app","version","plugin","mixin","component","directive","rootContainer","isHydrate","namespace","lastApp","currentApp","parentProvides","treatDefaultAsFactory","hasInjectionContext","internalObjectProto","createInternalObject","isInternalObject","initProps","rawProps","isStateful","attrs","setFullProps","updateProps","rawPrevProps","optimized","patchFlag","rawCurrentProps","hasAttrsChanged","propsToUpdate","isEmitListener","camelizedKey","resolvePropValue","kebabKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","propsDefaults","mixinPropsCache","normalizePropsOptions","comp","hasExtends","extendProps","raw2","normalizedKey","validatePropName","prop","propType","shouldCast","shouldCastTrue","typeName","isInternalKey","normalizeSlotValue","normalizeVNode","normalizeSlot","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","children","assignSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","queueEffectWithSuspense","createRenderer","baseCreateRenderer","createHydrationFns","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","hostSetText","hostSetElementText","hostParentNode","hostNextSibling","hostSetScopeId","hostInsertStaticContent","patch","n1","n2","container","anchor","parentComponent","slotScopeIds","isSameVNodeType","getNextHostNode","unmount","shapeFlag","Text","processText","processCommentNode","Static","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","nextSibling","removeStaticNode","mountElement","patchElement","vnodeHook","transition","dirs","mountChildren","resolveChildrenNamespace","setScopeId","invokeVNodeHook","needCallTransitionHooks","needTransition","scopeId","subTree","isSuspense","parentVNode","cloneIfMounted","dynamicChildren","oldProps","newProps","toggleRecurse","patchBlockChildren","patchChildren","patchProps","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","fragmentSlotScopeIds","traverseStaticChildren","mountComponent","updateComponent","initialVNode","createComponentInstance","setupComponent","setupRenderEffect","placeholder","shouldUpdateComponent","updateComponentPreRender","componentUpdateFn","bu","u","parent","nonHydratedAsyncRoot","locateNonHydratedAsyncRoot","originNext","nextTree","renderComponentRoot","prevTree","updateHOCHostEl","bm","root","isAsyncWrapperVNode","scopedInitialVNode","update","nextVNode","prevProps","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","unmountChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","j","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","newIndex","increasingNewIndexSequence","getSequence","nextIndex","move","moveType","leave","delayLeave","afterLeave","remove2","performLeave","doRemove","cacheIndex","shouldInvokeDirs","shouldInvokeVnodeHook","unmountComponent","removeFragment","performRemove","bum","um","invalidateMount","teleportEnd","isFlushing","currentNamespace","allowed","ch1","ch2","len","arrI","subComponent","ssrContextKey","useSSRContext","watchEffect","doWatch","watchSyncEffect","flush","baseWatchOptions","runsImmediately","ssrCleanup","watchStopHandle","isPre","isFirstRun","watch$1","path","segments","useModel","getCurrentInstance","camelizedName","hyphenatedName","getModelModifiers","localValue","prevSetValue","prevEmittedValue","propValue","emittedValue","i2","modelName","emit","event","rawArgs","handlerName","onceHandler","normalizeEmitsOptions","extendEmits","normalizedFromExtend","withProxy","renderCache","fallthroughAttrs","proxyToUse","thisProxy","render2","getFunctionalFallthrough","blockStack","filterModelListeners","cloneVNode","prevChildren","nextProps","nextChildren","emits","hasPropsChanged","dynamicProps","emitsOptions","nextKeys","suspense","currentBlock","disableTracking","closeBlock","isBlockTreeEnabled","inVOnce","setupBlock","createElementBlock","createBaseVNode","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","style","extraProps","mergeRef","cloneTransition","mergedProps","mergeProps","createTextVNode","text","flag","createCommentVNode","asBlock","slotFlag","toMerge","incoming","emptyAppContext","uid","internalSetCurrentInstance","setInSSRSetupState","g","registerGlobalSetter","setters","unsetCurrentInstance","setupResult","setupStatefulComponent","setup","setupContext","createSetupContext","isAsyncSetup","resolvedResult","handleSetupResult","finishComponentSetup","skipOptions","attrsProxyHandlers","includeInferred","computed$1","propsOrChildren","policy","tt","unsafeToTrustedHTML","svgNS","mathmlNS","doc","templateContainer","nodeOps","tag","is","node","selector","content","before","template","wrapper","vtcKey","patchClass","isSVG","transitionClasses","vShowOriginalDisplay","vShowHidden","vShow","setDisplay","CSS_VAR_TEXT","displayRE","patchStyle","isCssString","hasControlledDisplay","prevStyle","setStyle","cssVarText","importantRE","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","isBoolean","patchDOMProp","attrName","needRemove","addEventListener","removeEventListener","veiKey","patchEvent","prevValue","nextValue","invokers","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","patchStopImmediatePropagation","originalStop","isNativeOn","patchProp","shouldSetAsProp","camelize$1","getModelAssigner","onCompositionStart","onCompositionEnd","assignKey","vModelText","lazy","trim","number","castToNumber","domValue","elValue","vModelSelect","isSetModel","selectedVal","getValue","setSelected","_binding","isMultiple","isArrayValue","option","optionValue","optionType","systemModifiers","modifierGuards","withModifiers","cacheKey","guard","keyNames","withKeys","eventKey","k","rendererOptions","renderer","ensureRenderer","createApp","mount","containerOrSelector","normalizeContainer","resolveRootNamespace","tryOnScopeDispose","localProvidedStateMap","injectLocal","toValue","isClient","toString","noop","createFilterWrapper","filter","reject","bypassFilter","invoke","pausableFilter","extendFilter","isActive","pause","resume","eventFilter","pxValue","px","getLifeCycleTarget","toRef$1","watchWithFilter","watchPausable","tryOnMounted","sync","defaultWindow","unrefElement","elRef","plain","useEventListener","events","listeners","listener","options2","stopWatch","optionsClone","stop","useMounted","useSupported","ssrWidthSymbol","useSSRWidth","ssrWidth","useMediaQuery","query","window","isSupported","ssrSupport","mediaQuery","matches","queryStrings","queryString","not","minWidth","maxWidth","_global","globalKey","handlers","getHandlers","getSSRHandler","usePreferredDark","guessSerializerType","rawInit","StorageSerializers","customStorageEventName","useStorage","defaults","storage","listenToStorageChanges","writeDefaults","mergeDefaults","onError","initOnMounted","_a2","serializer","pauseWatch","resumeWatch","pausableWatch","write","updateFromCustomEvent","dispatchWriteEvent","payload","serialized","read","CSS_DISABLE_TRANS","useColorMode","attribute","storageKey","storageRef","emitAuto","disableTransition","modes","preferredDark","system","store","updateHTMLAttrs","selector2","attribute2","classesToAdd","classesToRemove","attributeToChange","defaultOnChanged","mode","onChanged","auto","useResizeObserver","observerOptions","observer","targets","_targets","els","_el","useElementSize","initialSize","box","_b","width","height","stop1","entry","boxSize","$elem","rect","formatBoxSize","inlineSize","blockSize","ele","stop2","element","decodeNamedCharacterReference","characterReference","char","splice","list","items","chunkStart","parameters","push","combineExtensions","extensions","all","syntaxExtension","extension","left","right","code","constructs","combineHtmlExtensions","htmlExtensions","htmlExtension","decodeNumericCharacterReference","characterReferences","encode","replace","normalizeIdentifier","asciiAlpha","regexCheck","asciiAlphanumeric","asciiAtext","asciiControl","asciiDigit","asciiHexDigit","asciiPunctuation","markdownLineEnding","markdownLineEndingOrSpace","markdownSpace","unicodePunctuation","unicodeWhitespace","regex","check","sanitizeUri","url","protocol","normalizeUri","colon","questionMark","numberSign","slash","skip","protocolHref","protocolSource","compile","settings","tags","definitions","buffers","mediaStack","tightStack","onenterblockquote","onentercodefenced","buffer","onentercodeindented","onentercodetext","onentercontent","onenterdefinition","onenterdefinitiondestinationstring","onenteremphasis","onenterhtmlflow","onenterhtml","onenterimage","onenterlink","onenterlistitemmarker","onenterlistitemvalue","onenterlistordered","onenterlistunordered","onenterparagraph","onenterresource","onenterresourcedestinationstring","onentersetextheading","onenterstrong","onexitatxheading","onexitatxheadingsequence","onexitautolinkemail","onexitautolinkprotocol","onexitblockquote","onexitdata","onexitcharacterreferencemarker","onexitcharacterreferencevalue","onexitflowcode","onexitcodefencedfence","onexitcodefencedfenceinfo","onresumedrop","onexitcodeflowvalue","onexitcodetext","onexitdefinition","onexitdefinitiondestinationstring","onexitdefinitionlabelstring","onexitdefinitiontitlestring","onexitemphasis","onexithardbreak","onexithtml","onexitmedia","onexitlabel","onexitlabeltext","onexitlineending","onexitlistordered","onexitlistunordered","onexitparagraph","onexitreferencestring","onexitresourcedestinationstring","onexitresourcetitlestring","onexitsetextheading","onexitsetextheadinglinesequence","onexitsetextheadingtext","onexitstrong","onexitthematicbreak","getData","lineEndingIfNeeded","setData","lineEndingStyle","listStack","body","prepareList","handles","kind","handle","slice","length","containerBalance","loose","atMarker","lineEnding","previous","_encode","token","onexitlistitem","count","media","decoded","uri","factorySpace","effects","ok","max","limit","size","prefix","initializeContent","contentStart","afterContentStartConstruct","paragraphInitial","lineStart","document","initializeDocument","containerConstruct","tokenizeContainer","stack","continued","childFlow","childToken","lineStartOffset","documentContinue","checkNewContainers","closeFlow","indexBeforeExits","indexBeforeFlow","point","exitContainers","documentContinued","flowStart","thereIsANewContainer","thereIsNoNewContainer","containerContinue","flowContinue","writeToChild","endOfFile","stream","nok","classifyCharacter","resolveAll","called","attention","resolveAllAttention","tokenizeAttention","open","group","openingSequence","closingSequence","use","nextEvents","offset","movePoint","attentionMarkers","marker","inside","after","close","autolink","tokenizeAutolink","schemeOrEmailAtext","emailAtext","schemeInsideOrEmailAtext","urlInside","emailAtSignOrDot","emailLabel","emailValue","blankLine","tokenizeBlankLine","blockQuote","tokenizeBlockQuoteContinuation","exit","tokenizeBlockQuoteStart","contStart","contBefore","characterEscape","tokenizeCharacterEscape","tokenizeCharacterReference","test","numeric","nonLazyContinuation","tokenizeNonLazyContinuation","codeFenced","tokenizeCodeFenced","closeStart","tokenizeCloseStart","initialPrefix","sizeOpen","beforeSequenceOpen","sequenceOpen","infoBefore","atNonLazyBreak","info","metaBefore","meta","contentBefore","beforeContentChunk","contentChunk","startBefore","beforeSequenceClose","sequenceClose","sequenceCloseAfter","codeIndented","tokenizeCodeIndented","furtherStart","tokenizeFurtherStart","afterPrefix","atBreak","codeText","resolveCodeText","tokenizeCodeText","tailExitIndex","headEnterIndex","enter","between","SpliceBuffer","initial","deleteCount","removed","chunkedPush","subtokenize","eventsArray","jumps","lineIndex","otherIndex","otherEvent","subevents","more","subcontent","eventIndex","startPosition","startPositions","tokenizer","childEvents","gaps","adjust","breaks","resolveContent","tokenizeContent","continuationConstruct","tokenizeContinuation","chunkInside","contentEnd","contentContinue","startLookahead","factoryDestination","literalType","literalMarkerType","stringType","balance","enclosedBefore","enclosed","enclosedEscape","rawEscape","factoryLabel","markerType","labelInside","labelEscape","factoryTitle","begin","escape","factoryWhitespace","definition","tokenizeDefinition","titleBefore","tokenizeTitleBefore","identifier","labelAfter","markerAfter","destinationBefore","destinationAfter","afterWhitespace","beforeMarker","titleAfter","titleAfterOptionalWhitespace","hardBreakEscape","tokenizeHardBreakEscape","headingAtx","resolveHeadingAtx","tokenizeHeadingAtx","sequenceFurther","htmlBlockNames","htmlRawNames","htmlFlow","resolveToHtmlFlow","tokenizeHtmlFlow","blankLineBefore","tokenizeBlankLineBefore","nonLazyContinuationStart","tokenizeNonLazyContinuationStart","closingTag","markerB","declarationOpen","tagCloseStart","continuationDeclarationInside","tagName","commentOpenInside","cdataOpenInside","continuation","basicSelfClosing","completeClosingTagAfter","completeAttributeNameBefore","completeEnd","completeAttributeName","completeAttributeNameAfter","completeAttributeValueBefore","completeAttributeValueQuoted","completeAttributeValueUnquoted","completeAttributeValueQuotedAfter","completeAfter","continuationCommentInside","continuationRawTagOpen","continuationClose","continuationCdataInside","continuationAfter","continuationStart","continuationStartNonLazy","continuationBefore","continuationRawEndTag","htmlText","tokenizeHtmlText","returnState","instruction","tagOpen","declaration","commentEnd","comment","commentClose","lineEndingBefore","cdata","cdataClose","cdataEnd","instructionClose","tagClose","tagCloseBetween","tagOpenBetween","tagOpenAttributeName","tagOpenAttributeNameAfter","tagOpenAttributeValueBefore","tagOpenAttributeValueQuoted","tagOpenAttributeValueUnquoted","tagOpenAttributeValueQuotedAfter","lineEndingAfter","lineEndingAfterPrefix","labelEnd","resolveAllLabelEnd","resolveToLabelEnd","tokenizeLabelEnd","resourceConstruct","tokenizeResource","referenceFullConstruct","tokenizeReferenceFull","referenceCollapsedConstruct","tokenizeReferenceCollapsed","newEvents","label","labelStart","defined","labelEndNok","labelEndOk","referenceNotFull","resourceStart","resourceBefore","resourceOpen","resourceEnd","resourceDestinationAfter","resourceDestinationMissing","resourceBetween","resourceTitleAfter","referenceFull","referenceFullAfter","referenceFullMissing","referenceCollapsedStart","referenceCollapsedOpen","labelStartImage","tokenizeLabelStartImage","labelStartLink","tokenizeLabelStartLink","tokenizeLineEnding","thematicBreak","tokenizeThematicBreak","sequence","tokenizeListContinuation","tokenizeListEnd","tokenizeListStart","listItemPrefixWhitespaceConstruct","tokenizeListItemPrefixWhitespace","indentConstruct","tokenizeIndent","onBlank","endOfPrefix","otherPrefix","notBlank","notInCurrentItem","setextUnderline","resolveToSetextUnderline","tokenizeSetextUnderline","heading","paragraph","flow","initializeFlow","atBlankEnding","afterConstruct","resolver","createResolver","string","initializeFactory","field","resolveAllLineSuffixes","initializeText","notText","extraResolver","resolveAllText","chunks","bufferIndex","tabs","chunk","contentInitial","flowInitial","insideSpan","resolveText","disable","createTokenizer","parser","initialize","columnStart","resolveAllConstructs","constructFactory","onsuccessfulconstruct","onsuccessfulcheck","consume","defineSkip","now","sliceSerialize","sliceStream","main","addResult","expandTabs","serializeChunks","sliceChunks","_bufferIndex","_index","line","column","accountForPotentialSkip","chunkIndex","go","fields","construct","onreturn","bogusState","listOfConstructs","constructIndex","currentConstruct","handleListOfConstructs","handleMapOfConstructs","handleConstruct","startPoint","startPrevious","startCurrentConstruct","startEventsIndex","startStack","restore","startIndex","startBufferIndex","endIndex","endBufferIndex","view","atTab","parse","defaultConstructs","create","creator","postprocess","search","preprocess","atCarriageReturn","preprocessor","encoding","match","endPosition","micromark","inBrowser","makeSymbol","shareable","generateFormatCacheKey","locale","friendlyJSONstringify","json","isNumber","isRegExp","isEmptyObject","assign","_create","escapeHtml","rawText","join","warn","msg","isNotObjectOrIsArray","deepCopy","src","des","createPosition","createLocation","CompileErrorCodes","COMPILE_ERROR_CODES_EXTEND_POINT","createCompileError","loc","domain","messages","defaultOnError","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","_buf","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","peek","resetPeek","skipToPeek","EOF","DOT","LITERAL_DELIMITER","ERROR_DOMAIN$3","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","emitError","pos","getToken","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","isTextStart","isPluralStart","hasSpace","takeChar","isIdentifier","takeIdentifierChar","isNamedIdentifier","takeNamedIdentifierChar","isDigit","takeDigit","isHexDigit","takeHexDigit","getDigits","num","readText","readNamedIdentifier","readListIdentifier","isLiteral","readLiteral","literal","readEscapeSequence","readUnicodeEscapeSequence","unicode","digits","isInvalidIdentifier","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","nextToken","startLoc","endLoc","ERROR_DOMAIN$2","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","createParser","tokenzer","startNode","endNode","parseText","parseList","parseNamed","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","optimize","optimizeMessageNode","message","minify","resource","cases","valueNode","linked","named","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","_newline","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","generatePluralNode","generateResource","generate","helpers","baseCompile","assignedOptions","jit","enalbeMinify","enambeOptimize","initFeatureFlags","format","formatParts","resolveBody","createUnhandleNodeError","resolveType","resolveCases","formatMessageParts","PROPS_BODY","resolveProps","PROPS_CASES","static_","resolveStatic","resolveItems","acm","formatMessagePart","PROPS_STATIC","PROPS_ITEMS","resolveValue$1","modifier","resolveLinkedModifier","resolveLinkedKey","PROPS_TYPE","PROPS_VALUE","PROPS_MODIFIER","PROPS_KEY","defaultOnCacheKey","compileCache","isMessageAST","detectError","baseCompile$1","devtools","setDevToolsHook","initI18nDevTools","i18n","translateDevTools","createDevToolsHook","payloads","CoreErrorCodes","CORE_ERROR_CODES_EXTEND_POINT","createCoreError","getLocale","resolveLocale","_resolveLocale","fallbackWithSimple","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","chain","block","appendBlockToChain","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","pathStateMachine","literalValueRE","exp","stripQuotes","getPathCharType","formatSubPath","trimmed","subPathDepth","newChar","action","typeMap","actions","maybeUnescapeQuote","nextChar","resolveWithKeyValue","resolveValue","hit","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","getDefaultLinkedModifiers","_compiler","registerMessageCompiler","compiler","_resolver","registerMessageResolver","_fallbacker","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","onWarn","_locale","fallbackLocale","createResources","datetimeFormats","numberFormats","pluralRules","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","internalOptions","__datetimeFormatters","__numberFormatters","__meta","handleMissing","updateFallbackLocale","isAlmostSameLocale","compareLocale","isImplicitFallback","targetLocale","locales","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","formatter","DATETIME_FORMAT_OPTIONS_KEYS","arg1","arg2","arg3","arg4","dateTime","clearDateTimeFormat","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","getPluralIndex","normalizeNamed","pluralIndex","createMessageContext","pluralRule","orgPluralRule","_list","_named","useLinked","_modifier","normalize","interpolate","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","resolveMessageFormat","cacheBaseKey","occurred","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","missingRet","getCompileContext","msgCtx","I18nErrorCodes","createI18nError","TranslateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOptionSymbol","DisposeSymbol","handleFlatJson","subKeys","lastIndex","currentObj","hasStringValue","getLocaleMessages","__i18n","flatJson","custom","getComponentOptions","adjustI18nResources","gl","componentOptions","createTextNode","DEVTOOLS_META","NOOP_RETURN_ARRAY","NOOP_RETURN_FALSE","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","__root","__injectWithOption","_isGlobal","_ref","_inheritLocale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","trackReactivityValues","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","t","rt","d","translateVNode","numberParts","datetimeParts","setPluralRules","rules","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","_message","mergeLocaleMessage","getDateTimeFormat","setDateTimeFormat","mergeDateTimeFormat","getNumberFormat","setNumberFormat","mergeNumberFormat","composer","baseFormatProps","getInterpolateArg","getFragmentableTag","TranslationImpl","useI18n","assignedAttrs","Translation","renderFormatter","slotKeys","partFormatter","parts","NumberFormatImpl","NumberFormat","DatetimeFormatImpl","DatetimeFormat","getComposer$1","i18nInternal","vueI18n","vTDirective","_process","parsedValue","parseValue","makeParams","textContent","pluginOptions","I18nInjectionKey","createI18n","VueI18nLegacy","__globalInjection","__instances","globalScope","__global","createGlobal","symbol","__getInstance","__setInstance","__deleteInstance","opts","globalReleaseHandler","injectGlobalFields","unmountApp","getI18nInstance","getGlobalComposer","getScope","getComposer","composerOptions","setupLifeCycle","legacyMode","useComponent","getParentComponentInstance","_composer","dispose","globalExportProps","globalExportMethods","desc","__props","classes","localStoragePrefix","userSettings","useUserSettings","alerts","readAlerts","alert","currentlyActive","isBrowser","isRouteComponent","isESModule","applyToParams","params","newParams","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","searchString","hash","hashPos","searchPos","resolveRelativePath","stringifyURL","stringifyQuery","stripBase","pathname","isSameRouteLocation","aLastIndex","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","isSameRouteLocationParamsValue","isEquivalentArray","fromSegments","toSegments","lastToSegment","position","toPosition","segment","START_LOCATION_NORMALIZED","NavigationType","NavigationDirection","normalizeBase","baseEl","BEFORE_HASH_RE","createHref","getElementPosition","docRect","elRect","computeScrollPosition","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getScrollKey","delta","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","teardowns","pauseState","popStateHandler","fromState","pauseListeners","listen","teardown","beforeUnloadListener","history","destroy","buildState","back","forward","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","triggerListeners","routerHistory","isRouteLocation","route","isRouteName","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","REGEX_CHARS_RE","tokensToParser","score","pattern","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","re","subPattern","stringify","avoidDuplicatedSlash","param","compareScoreArray","diff","comparePathParserScore","aScore","bScore","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","matcher","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","normalizedRecords","aliases","alias","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","isMatchable","insertMatcher","matcherRef","getRoutes","paramsFromLocation","matched","parentMatcher","mergeMetaFields","clearRoutes","normalizeRecordProps","propsObject","partialOptions","lower","upper","mid","insertionAncestor","getInsertionAncestor","ancestor","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","add","guardToPromiseFn","runWithContext","enterCallbackArray","valid","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","componentPromise","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","parentRecordPath","getOriginalPath","includesParams","isExactActive","navigate","guardEvent","preferSingleVNode","RouterLinkImpl","elClass","getLinkClass","RouterLink","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","injectedRoute","routeToDisplay","injectedDepth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","currentName","ViewComponent","routePropsOption","routeProps","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","href","matcherLocation","targetParams","fullPath","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","redirect","newTargetLocation","redirectedFrom","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","installedApps","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","canceledNavigationCheck","runGuardQueue","beforeEnter","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","readyHandlers","errorListeners","ready","isReady","scrollBehavior","started","reactiveRoute","promise","recordFrom","recordTo","useRouter","useRoute","_name","liteMode","activeArea","module","global","isWorker","workerSize","canUseWorker","canUsePaths","canDrawBitmap","canvas","bitmap","func","ModulePromise","Prom","bitmapMapper","skipTransform","raf","TIME","frame","cancel","frames","lastFrameTime","onFrame","time","timer","getWorker","worker","prom","resolves","decorate","execute","offscreen","workerDone","convert","isOk","onlyPositiveInt","randomInt","min","toDecimal","colorsToRgb","colors","hexToRgb","getOrigin","origin","setCanvasWindowSize","setCanvasRectSize","getCanvas","zIndex","ellipse","y","radiusX","radiusY","rotation","startAngle","endAngle","antiClockwise","randomPhysics","radAngle","radSpread","updateFetti","fetti","progress","x1","y1","x2","y2","transformPath2D","scaleX","scaleY","matrix","rot","innerRadius","outerRadius","spikes","step","animate","fettis","resizer","animatingFettis","animationFrame","onDone","confettiCannon","globalOpts","isLibCanvas","allowResize","hasResizeEventRegistered","globalDisableForReducedMotion","shouldUseWorker","initialized","preferLessMotion","animationObj","fireLocal","particleCount","angle","spread","startVelocity","decay","gravity","drift","ticks","shapes","scalar","flat","temp","startX","startY","fire","disableForReducedMotion","onResize","defaultFire","getDefaultFire","pathString","pathMatrix","path2d","t1","t2","shapeFromPath","pathData","tempCanvas","tempCtx","maxSize","minX","minY","maxX","maxY","maxDesiredSize","scale","shapeFromText","textData","color","fontFamily","fontSize","font","padding","confetti","feedbackMail","buildDate","analyticsUrl","tileServer","darkMapStyle","brightMapStyle","natsServerUrl","latestVersion","show","oldVersion","duration","animationEnd","interval","useColorModeVueUse","getUserLanguage","userLanguage","loadLocaleMessages","__variableDynamicImportRuntimeHelper","__vitePreload","firstStartOfApp","App"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,64,66],"sources":["../../node_modules/.pnpm/@vue+shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js","../../node_modules/.pnpm/@vue+reactivity@3.5.13/node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-core@3.5.13/node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","../../node_modules/.pnpm/@vue+runtime-dom@3.5.13/node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","../../node_modules/.pnpm/@vueuse+shared@12.2.0_typescript@5.7.2/node_modules/@vueuse/shared/index.mjs","../../node_modules/.pnpm/@vueuse+core@12.2.0_typescript@5.7.2/node_modules/@vueuse/core/index.mjs","../../node_modules/.pnpm/decode-named-character-reference@1.0.2/node_modules/decode-named-character-reference/index.dom.js","../../node_modules/.pnpm/micromark-util-chunked@2.0.1/node_modules/micromark-util-chunked/index.js","../../node_modules/.pnpm/micromark-util-combine-extensions@2.0.1/node_modules/micromark-util-combine-extensions/index.js","../../node_modules/.pnpm/micromark-util-decode-numeric-character-reference@2.0.2/node_modules/micromark-util-decode-numeric-character-reference/index.js","../../node_modules/.pnpm/micromark-util-encode@2.0.1/node_modules/micromark-util-encode/index.js","../../node_modules/.pnpm/micromark-util-normalize-identifier@2.0.1/node_modules/micromark-util-normalize-identifier/index.js","../../node_modules/.pnpm/micromark-util-character@2.1.1/node_modules/micromark-util-character/index.js","../../node_modules/.pnpm/micromark-util-sanitize-uri@2.0.1/node_modules/micromark-util-sanitize-uri/index.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/compile.js","../../node_modules/.pnpm/micromark-factory-space@2.0.1/node_modules/micromark-factory-space/index.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/initialize/content.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/initialize/document.js","../../node_modules/.pnpm/micromark-util-classify-character@2.0.1/node_modules/micromark-util-classify-character/index.js","../../node_modules/.pnpm/micromark-util-resolve-all@2.0.1/node_modules/micromark-util-resolve-all/index.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/attention.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/autolink.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/blank-line.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/block-quote.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/character-escape.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/character-reference.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/code-fenced.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/code-indented.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/code-text.js","../../node_modules/.pnpm/micromark-util-subtokenize@2.0.3/node_modules/micromark-util-subtokenize/lib/splice-buffer.js","../../node_modules/.pnpm/micromark-util-subtokenize@2.0.3/node_modules/micromark-util-subtokenize/index.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/content.js","../../node_modules/.pnpm/micromark-factory-destination@2.0.1/node_modules/micromark-factory-destination/index.js","../../node_modules/.pnpm/micromark-factory-label@2.0.1/node_modules/micromark-factory-label/index.js","../../node_modules/.pnpm/micromark-factory-title@2.0.1/node_modules/micromark-factory-title/index.js","../../node_modules/.pnpm/micromark-factory-whitespace@2.0.1/node_modules/micromark-factory-whitespace/index.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/definition.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/hard-break-escape.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/heading-atx.js","../../node_modules/.pnpm/micromark-util-html-tag-name@2.0.1/node_modules/micromark-util-html-tag-name/index.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/html-flow.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/html-text.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/label-end.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/label-start-image.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/label-start-link.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/line-ending.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/thematic-break.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/list.js","../../node_modules/.pnpm/micromark-core-commonmark@2.0.2/node_modules/micromark-core-commonmark/lib/setext-underline.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/initialize/flow.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/initialize/text.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/constructs.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/create-tokenizer.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/parse.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/postprocess.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/lib/preprocess.js","../../node_modules/.pnpm/micromark@4.0.1/node_modules/micromark/index.js","../../node_modules/.pnpm/@intlify+shared@10.0.5/node_modules/@intlify/shared/dist/shared.mjs","../../node_modules/.pnpm/@intlify+message-compiler@10.0.5/node_modules/@intlify/message-compiler/dist/message-compiler.mjs","../../node_modules/.pnpm/@intlify+core-base@10.0.5/node_modules/@intlify/core-base/dist/core-base.mjs","../../node_modules/.pnpm/vue-i18n@10.0.5_vue@3.5.13_typescript@5.7.2_/node_modules/vue-i18n/dist/vue-i18n.runtime.mjs","../../src/components/atomic/Button.vue","../../src/compositions/useUserSettings.ts","../../src/components/GeneralNotice.vue","../../node_modules/.pnpm/vue-router@4.5.0_vue@3.5.13_typescript@5.7.2_/node_modules/vue-router/dist/vue-router.mjs","../../src/components/layout/AppBarBottom.vue","../../node_modules/.pnpm/canvas-confetti@1.9.3/node_modules/canvas-confetti/dist/confetti.module.mjs","../../src/config.ts","../../src/components/UpdateNotice.vue","../../src/compositions/useColorMode.ts","../../src/App.vue","../../src/i18n.ts","../../src/router.ts","../../src/main.ts"],"sourcesContent":["/**\n* @vue/shared v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction makeMap(str) {\n const map = /* @__PURE__ */ Object.create(null);\n for (const key of str.split(\",\")) map[key] = 1;\n return (val) => val in map;\n}\n\nconst EMPTY_OBJ = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze({}) : {};\nconst EMPTY_ARR = !!(process.env.NODE_ENV !== \"production\") ? Object.freeze([]) : [];\nconst NOOP = () => {\n};\nconst NO = () => false;\nconst isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter\n(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);\nconst isModelListener = (key) => key.startsWith(\"onUpdate:\");\nconst extend = Object.assign;\nconst remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n};\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst isArray = Array.isArray;\nconst isMap = (val) => toTypeString(val) === \"[object Map]\";\nconst isSet = (val) => toTypeString(val) === \"[object Set]\";\nconst isDate = (val) => toTypeString(val) === \"[object Date]\";\nconst isRegExp = (val) => toTypeString(val) === \"[object RegExp]\";\nconst isFunction = (val) => typeof val === \"function\";\nconst isString = (val) => typeof val === \"string\";\nconst isSymbol = (val) => typeof val === \"symbol\";\nconst isObject = (val) => val !== null && typeof val === \"object\";\nconst isPromise = (val) => {\n return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n};\nconst isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\nconst isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\nconst isReservedProp = /* @__PURE__ */ makeMap(\n // the leading comma is intentional so empty string \"\" is also included\n \",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"\n);\nconst isBuiltInDirective = /* @__PURE__ */ makeMap(\n \"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"\n);\nconst cacheStringFunction = (fn) => {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n};\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction(\n (str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n }\n);\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction(\n (str) => str.replace(hyphenateRE, \"-$1\").toLowerCase()\n);\nconst capitalize = cacheStringFunction((str) => {\n return str.charAt(0).toUpperCase() + str.slice(1);\n});\nconst toHandlerKey = cacheStringFunction(\n (str) => {\n const s = str ? `on${capitalize(str)}` : ``;\n return s;\n }\n);\nconst hasChanged = (value, oldValue) => !Object.is(value, oldValue);\nconst invokeArrayFns = (fns, ...arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](...arg);\n }\n};\nconst def = (obj, key, value, writable = false) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n writable,\n value\n });\n};\nconst looseToNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n};\nconst toNumber = (val) => {\n const n = isString(val) ? Number(val) : NaN;\n return isNaN(n) ? val : n;\n};\nlet _globalThis;\nconst getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : {});\n};\nconst identRE = /^[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/;\nfunction genPropsAccessExp(name) {\n return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`;\n}\nfunction genCacheKey(source, options) {\n return source + JSON.stringify(\n options,\n (_, val) => typeof val === \"function\" ? val.toString() : val\n );\n}\n\nconst PatchFlags = {\n \"TEXT\": 1,\n \"1\": \"TEXT\",\n \"CLASS\": 2,\n \"2\": \"CLASS\",\n \"STYLE\": 4,\n \"4\": \"STYLE\",\n \"PROPS\": 8,\n \"8\": \"PROPS\",\n \"FULL_PROPS\": 16,\n \"16\": \"FULL_PROPS\",\n \"NEED_HYDRATION\": 32,\n \"32\": \"NEED_HYDRATION\",\n \"STABLE_FRAGMENT\": 64,\n \"64\": \"STABLE_FRAGMENT\",\n \"KEYED_FRAGMENT\": 128,\n \"128\": \"KEYED_FRAGMENT\",\n \"UNKEYED_FRAGMENT\": 256,\n \"256\": \"UNKEYED_FRAGMENT\",\n \"NEED_PATCH\": 512,\n \"512\": \"NEED_PATCH\",\n \"DYNAMIC_SLOTS\": 1024,\n \"1024\": \"DYNAMIC_SLOTS\",\n \"DEV_ROOT_FRAGMENT\": 2048,\n \"2048\": \"DEV_ROOT_FRAGMENT\",\n \"CACHED\": -1,\n \"-1\": \"CACHED\",\n \"BAIL\": -2,\n \"-2\": \"BAIL\"\n};\nconst PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `NEED_HYDRATION`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n};\n\nconst ShapeFlags = {\n \"ELEMENT\": 1,\n \"1\": \"ELEMENT\",\n \"FUNCTIONAL_COMPONENT\": 2,\n \"2\": \"FUNCTIONAL_COMPONENT\",\n \"STATEFUL_COMPONENT\": 4,\n \"4\": \"STATEFUL_COMPONENT\",\n \"TEXT_CHILDREN\": 8,\n \"8\": \"TEXT_CHILDREN\",\n \"ARRAY_CHILDREN\": 16,\n \"16\": \"ARRAY_CHILDREN\",\n \"SLOTS_CHILDREN\": 32,\n \"32\": \"SLOTS_CHILDREN\",\n \"TELEPORT\": 64,\n \"64\": \"TELEPORT\",\n \"SUSPENSE\": 128,\n \"128\": \"SUSPENSE\",\n \"COMPONENT_SHOULD_KEEP_ALIVE\": 256,\n \"256\": \"COMPONENT_SHOULD_KEEP_ALIVE\",\n \"COMPONENT_KEPT_ALIVE\": 512,\n \"512\": \"COMPONENT_KEPT_ALIVE\",\n \"COMPONENT\": 6,\n \"6\": \"COMPONENT\"\n};\n\nconst SlotFlags = {\n \"STABLE\": 1,\n \"1\": \"STABLE\",\n \"DYNAMIC\": 2,\n \"2\": \"DYNAMIC\",\n \"FORWARDED\": 3,\n \"3\": \"FORWARDED\"\n};\nconst slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n};\n\nconst GLOBALS_ALLOWED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol\";\nconst isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);\nconst isGloballyWhitelisted = isGloballyAllowed;\n\nconst range = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n start = Math.max(0, Math.min(start, source.length));\n end = Math.max(0, Math.min(end, source.length));\n if (start > end) return \"\";\n let lines = source.split(/(\\r?\\n)/);\n const newlineSequences = lines.filter((_, idx) => idx % 2 === 1);\n lines = lines.filter((_, idx) => idx % 2 === 0);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + (newlineSequences[i] && newlineSequences[i].length || 0);\n if (count >= start) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length) continue;\n const line = j + 1;\n res.push(\n `${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`\n );\n const lineLength = lines[j].length;\n const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0;\n if (j === i) {\n const pad = start - (count - (lineLength + newLineSeqLength));\n const length = Math.max(\n 1,\n end > count ? lineLength - pad : end - start\n );\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + newLineSeqLength;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n}\n\nfunction normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isString(value) || isObject(value)) {\n return value;\n }\n}\nconst listDelimiterRE = /;(?![^(]*\\))/g;\nconst propertyDelimiterRE = /:([^]+)/;\nconst styleCommentRE = /\\/\\*[^]*?\\*\\//g;\nfunction parseStringStyle(cssText) {\n const ret = {};\n cssText.replace(styleCommentRE, \"\").split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n}\nfunction stringifyStyle(styles) {\n if (!styles) return \"\";\n if (isString(styles)) return styles;\n let ret = \"\";\n for (const key in styles) {\n const value = styles[key];\n if (isString(value) || typeof value === \"number\") {\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n}\nfunction normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n}\nfunction normalizeProps(props) {\n if (!props) return null;\n let { class: klass, style } = props;\n if (klass && !isString(klass)) {\n props.class = normalizeClass(klass);\n }\n if (style) {\n props.style = normalizeStyle(style);\n }\n return props;\n}\n\nconst HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\nconst SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\nconst MATH_TAGS = \"annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics\";\nconst VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\nconst isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\nconst isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\nconst isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);\nconst isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n\nconst specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\nconst isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\nconst isBooleanAttr = /* @__PURE__ */ makeMap(\n specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`\n);\nfunction includeBooleanAttr(value) {\n return !!value || value === \"\";\n}\nconst unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\nconst attrValidationCache = {};\nfunction isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n}\nconst propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n};\nconst isKnownHtmlAttr = /* @__PURE__ */ makeMap(\n `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`\n);\nconst isKnownSvgAttr = /* @__PURE__ */ makeMap(\n `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan`\n);\nconst isKnownMathMLAttr = /* @__PURE__ */ makeMap(\n `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns`\n);\nfunction isRenderableAttrValue(value) {\n if (value == null) {\n return false;\n }\n const type = typeof value;\n return type === \"string\" || type === \"number\" || type === \"boolean\";\n}\n\nconst escapeRE = /[\"'&<>]/;\nfunction escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.slice(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.slice(lastIndex, index) : html;\n}\nconst commentStripRE = /^-?>||--!>|?@[\\\\\\]^`{|}~]/g;\nfunction getEscapedCssVarName(key, doubleEscape) {\n return key.replace(\n cssVarNameEscapeSymbolsRE,\n (s) => doubleEscape ? s === '\"' ? '\\\\\\\\\\\\\"' : `\\\\\\\\${s}` : `\\\\${s}`\n );\n}\n\nfunction looseCompareArrays(a, b) {\n if (a.length !== b.length) return false;\n let equal = true;\n for (let i = 0; equal && i < a.length; i++) {\n equal = looseEqual(a[i], b[i]);\n }\n return equal;\n}\nfunction looseEqual(a, b) {\n if (a === b) return true;\n let aValidType = isDate(a);\n let bValidType = isDate(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? a.getTime() === b.getTime() : false;\n }\n aValidType = isSymbol(a);\n bValidType = isSymbol(b);\n if (aValidType || bValidType) {\n return a === b;\n }\n aValidType = isArray(a);\n bValidType = isArray(b);\n if (aValidType || bValidType) {\n return aValidType && bValidType ? looseCompareArrays(a, b) : false;\n }\n aValidType = isObject(a);\n bValidType = isObject(b);\n if (aValidType || bValidType) {\n if (!aValidType || !bValidType) {\n return false;\n }\n const aKeysCount = Object.keys(a).length;\n const bKeysCount = Object.keys(b).length;\n if (aKeysCount !== bKeysCount) {\n return false;\n }\n for (const key in a) {\n const aHasKey = a.hasOwnProperty(key);\n const bHasKey = b.hasOwnProperty(key);\n if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n return String(a) === String(b);\n}\nfunction looseIndexOf(arr, val) {\n return arr.findIndex((item) => looseEqual(item, val));\n}\n\nconst isRef = (val) => {\n return !!(val && val[\"__v_isRef\"] === true);\n};\nconst toDisplayString = (val) => {\n return isString(val) ? val : val == null ? \"\" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val);\n};\nconst replacer = (_key, val) => {\n if (isRef(val)) {\n return replacer(_key, val.value);\n } else if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce(\n (entries, [key, val2], i) => {\n entries[stringifySymbol(key, i) + \" =>\"] = val2;\n return entries;\n },\n {}\n )\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))\n };\n } else if (isSymbol(val)) {\n return stringifySymbol(val);\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n};\nconst stringifySymbol = (v, i = \"\") => {\n var _a;\n return (\n // Symbol.description in es2019+ so we need to cast here to pass\n // the lib: es2016 check\n isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v\n );\n};\n\nexport { EMPTY_ARR, EMPTY_OBJ, NO, NOOP, PatchFlagNames, PatchFlags, ShapeFlags, SlotFlags, camelize, capitalize, cssVarNameEscapeSymbolsRE, def, escapeHtml, escapeHtmlComment, extend, genCacheKey, genPropsAccessExp, generateCodeFrame, getEscapedCssVarName, getGlobalThis, hasChanged, hasOwn, hyphenate, includeBooleanAttr, invokeArrayFns, isArray, isBooleanAttr, isBuiltInDirective, isDate, isFunction, isGloballyAllowed, isGloballyWhitelisted, isHTMLTag, isIntegerKey, isKnownHtmlAttr, isKnownMathMLAttr, isKnownSvgAttr, isMap, isMathMLTag, isModelListener, isObject, isOn, isPlainObject, isPromise, isRegExp, isRenderableAttrValue, isReservedProp, isSSRSafeAttrName, isSVGTag, isSet, isSpecialBooleanAttr, isString, isSymbol, isVoidTag, looseEqual, looseIndexOf, looseToNumber, makeMap, normalizeClass, normalizeProps, normalizeStyle, objectToString, parseStringStyle, propsToAttrMap, remove, slotFlagsText, stringifyStyle, toDisplayString, toHandlerKey, toNumber, toRawType, toTypeString };\n","/**\n* @vue/reactivity v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { hasChanged, extend, isArray, isIntegerKey, isSymbol, isMap, hasOwn, isObject, makeMap, toRawType, capitalize, def, isFunction, EMPTY_OBJ, isSet, isPlainObject, NOOP, remove } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this._isPaused = false;\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(\n this\n ) - 1;\n }\n }\n get active() {\n return this._active;\n }\n pause() {\n if (this._active) {\n this._isPaused = true;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].pause();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].pause();\n }\n }\n }\n /**\n * Resumes the effect scope, including all child scopes and effects.\n */\n resume() {\n if (this._active) {\n if (this._isPaused) {\n this._isPaused = false;\n let i, l;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].resume();\n }\n }\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].resume();\n }\n }\n }\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n } finally {\n activeEffectScope = currentEffectScope;\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n this._active = false;\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n this.effects.length = 0;\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n this.cleanups.length = 0;\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n this.scopes.length = 0;\n }\n if (!this.detached && this.parent && !fromParent) {\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = void 0;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn, failSilently = false) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onScopeDispose() is called when there is no active effect scope to be associated with.`\n );\n }\n}\n\nlet activeSub;\nconst EffectFlags = {\n \"ACTIVE\": 1,\n \"1\": \"ACTIVE\",\n \"RUNNING\": 2,\n \"2\": \"RUNNING\",\n \"TRACKING\": 4,\n \"4\": \"TRACKING\",\n \"NOTIFIED\": 8,\n \"8\": \"NOTIFIED\",\n \"DIRTY\": 16,\n \"16\": \"DIRTY\",\n \"ALLOW_RECURSE\": 32,\n \"32\": \"ALLOW_RECURSE\",\n \"PAUSED\": 64,\n \"64\": \"PAUSED\"\n};\nconst pausedQueueEffects = /* @__PURE__ */ new WeakSet();\nclass ReactiveEffect {\n constructor(fn) {\n this.fn = fn;\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 1 | 4;\n /**\n * @internal\n */\n this.next = void 0;\n /**\n * @internal\n */\n this.cleanup = void 0;\n this.scheduler = void 0;\n if (activeEffectScope && activeEffectScope.active) {\n activeEffectScope.effects.push(this);\n }\n }\n pause() {\n this.flags |= 64;\n }\n resume() {\n if (this.flags & 64) {\n this.flags &= ~64;\n if (pausedQueueEffects.has(this)) {\n pausedQueueEffects.delete(this);\n this.trigger();\n }\n }\n }\n /**\n * @internal\n */\n notify() {\n if (this.flags & 2 && !(this.flags & 32)) {\n return;\n }\n if (!(this.flags & 8)) {\n batch(this);\n }\n }\n run() {\n if (!(this.flags & 1)) {\n return this.fn();\n }\n this.flags |= 2;\n cleanupEffect(this);\n prepareDeps(this);\n const prevEffect = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = this;\n shouldTrack = true;\n try {\n return this.fn();\n } finally {\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub !== this) {\n warn(\n \"Active effect was not restored correctly - this is likely a Vue internal bug.\"\n );\n }\n cleanupDeps(this);\n activeSub = prevEffect;\n shouldTrack = prevShouldTrack;\n this.flags &= ~2;\n }\n }\n stop() {\n if (this.flags & 1) {\n for (let link = this.deps; link; link = link.nextDep) {\n removeSub(link);\n }\n this.deps = this.depsTail = void 0;\n cleanupEffect(this);\n this.onStop && this.onStop();\n this.flags &= ~1;\n }\n }\n trigger() {\n if (this.flags & 64) {\n pausedQueueEffects.add(this);\n } else if (this.scheduler) {\n this.scheduler();\n } else {\n this.runIfDirty();\n }\n }\n /**\n * @internal\n */\n runIfDirty() {\n if (isDirty(this)) {\n this.run();\n }\n }\n get dirty() {\n return isDirty(this);\n }\n}\nlet batchDepth = 0;\nlet batchedSub;\nlet batchedComputed;\nfunction batch(sub, isComputed = false) {\n sub.flags |= 8;\n if (isComputed) {\n sub.next = batchedComputed;\n batchedComputed = sub;\n return;\n }\n sub.next = batchedSub;\n batchedSub = sub;\n}\nfunction startBatch() {\n batchDepth++;\n}\nfunction endBatch() {\n if (--batchDepth > 0) {\n return;\n }\n if (batchedComputed) {\n let e = batchedComputed;\n batchedComputed = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n e = next;\n }\n }\n let error;\n while (batchedSub) {\n let e = batchedSub;\n batchedSub = void 0;\n while (e) {\n const next = e.next;\n e.next = void 0;\n e.flags &= ~8;\n if (e.flags & 1) {\n try {\n ;\n e.trigger();\n } catch (err) {\n if (!error) error = err;\n }\n }\n e = next;\n }\n }\n if (error) throw error;\n}\nfunction prepareDeps(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n link.version = -1;\n link.prevActiveLink = link.dep.activeLink;\n link.dep.activeLink = link;\n }\n}\nfunction cleanupDeps(sub) {\n let head;\n let tail = sub.depsTail;\n let link = tail;\n while (link) {\n const prev = link.prevDep;\n if (link.version === -1) {\n if (link === tail) tail = prev;\n removeSub(link);\n removeDep(link);\n } else {\n head = link;\n }\n link.dep.activeLink = link.prevActiveLink;\n link.prevActiveLink = void 0;\n link = prev;\n }\n sub.deps = head;\n sub.depsTail = tail;\n}\nfunction isDirty(sub) {\n for (let link = sub.deps; link; link = link.nextDep) {\n if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) {\n return true;\n }\n }\n if (sub._dirty) {\n return true;\n }\n return false;\n}\nfunction refreshComputed(computed) {\n if (computed.flags & 4 && !(computed.flags & 16)) {\n return;\n }\n computed.flags &= ~16;\n if (computed.globalVersion === globalVersion) {\n return;\n }\n computed.globalVersion = globalVersion;\n const dep = computed.dep;\n computed.flags |= 2;\n if (dep.version > 0 && !computed.isSSR && computed.deps && !isDirty(computed)) {\n computed.flags &= ~2;\n return;\n }\n const prevSub = activeSub;\n const prevShouldTrack = shouldTrack;\n activeSub = computed;\n shouldTrack = true;\n try {\n prepareDeps(computed);\n const value = computed.fn(computed._value);\n if (dep.version === 0 || hasChanged(value, computed._value)) {\n computed._value = value;\n dep.version++;\n }\n } catch (err) {\n dep.version++;\n throw err;\n } finally {\n activeSub = prevSub;\n shouldTrack = prevShouldTrack;\n cleanupDeps(computed);\n computed.flags &= ~2;\n }\n}\nfunction removeSub(link, soft = false) {\n const { dep, prevSub, nextSub } = link;\n if (prevSub) {\n prevSub.nextSub = nextSub;\n link.prevSub = void 0;\n }\n if (nextSub) {\n nextSub.prevSub = prevSub;\n link.nextSub = void 0;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && dep.subsHead === link) {\n dep.subsHead = nextSub;\n }\n if (dep.subs === link) {\n dep.subs = prevSub;\n if (!prevSub && dep.computed) {\n dep.computed.flags &= ~4;\n for (let l = dep.computed.deps; l; l = l.nextDep) {\n removeSub(l, true);\n }\n }\n }\n if (!soft && !--dep.sc && dep.map) {\n dep.map.delete(dep.key);\n }\n}\nfunction removeDep(link) {\n const { prevDep, nextDep } = link;\n if (prevDep) {\n prevDep.nextDep = nextDep;\n link.prevDep = void 0;\n }\n if (nextDep) {\n nextDep.prevDep = prevDep;\n link.nextDep = void 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect instanceof ReactiveEffect) {\n fn = fn.effect.fn;\n }\n const e = new ReactiveEffect(fn);\n if (options) {\n extend(e, options);\n }\n try {\n e.run();\n } catch (err) {\n e.stop();\n throw err;\n }\n const runner = e.run.bind(e);\n runner.effect = e;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n}\nfunction onEffectCleanup(fn, failSilently = false) {\n if (activeSub instanceof ReactiveEffect) {\n activeSub.cleanup = fn;\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onEffectCleanup() was called when there was no active effect to associate with.`\n );\n }\n}\nfunction cleanupEffect(e) {\n const { cleanup } = e;\n e.cleanup = void 0;\n if (cleanup) {\n const prevSub = activeSub;\n activeSub = void 0;\n try {\n cleanup();\n } finally {\n activeSub = prevSub;\n }\n }\n}\n\nlet globalVersion = 0;\nclass Link {\n constructor(sub, dep) {\n this.sub = sub;\n this.dep = dep;\n this.version = dep.version;\n this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0;\n }\n}\nclass Dep {\n constructor(computed) {\n this.computed = computed;\n this.version = 0;\n /**\n * Link between this dep and the current active effect\n */\n this.activeLink = void 0;\n /**\n * Doubly linked list representing the subscribing effects (tail)\n */\n this.subs = void 0;\n /**\n * For object property deps cleanup\n */\n this.map = void 0;\n this.key = void 0;\n /**\n * Subscriber counter\n */\n this.sc = 0;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.subsHead = void 0;\n }\n }\n track(debugInfo) {\n if (!activeSub || !shouldTrack || activeSub === this.computed) {\n return;\n }\n let link = this.activeLink;\n if (link === void 0 || link.sub !== activeSub) {\n link = this.activeLink = new Link(activeSub, this);\n if (!activeSub.deps) {\n activeSub.deps = activeSub.depsTail = link;\n } else {\n link.prevDep = activeSub.depsTail;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n }\n addSub(link);\n } else if (link.version === -1) {\n link.version = this.version;\n if (link.nextDep) {\n const next = link.nextDep;\n next.prevDep = link.prevDep;\n if (link.prevDep) {\n link.prevDep.nextDep = next;\n }\n link.prevDep = activeSub.depsTail;\n link.nextDep = void 0;\n activeSub.depsTail.nextDep = link;\n activeSub.depsTail = link;\n if (activeSub.deps === link) {\n activeSub.deps = next;\n }\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") && activeSub.onTrack) {\n activeSub.onTrack(\n extend(\n {\n effect: activeSub\n },\n debugInfo\n )\n );\n }\n return link;\n }\n trigger(debugInfo) {\n this.version++;\n globalVersion++;\n this.notify(debugInfo);\n }\n notify(debugInfo) {\n startBatch();\n try {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n for (let head = this.subsHead; head; head = head.nextSub) {\n if (head.sub.onTrigger && !(head.sub.flags & 8)) {\n head.sub.onTrigger(\n extend(\n {\n effect: head.sub\n },\n debugInfo\n )\n );\n }\n }\n }\n for (let link = this.subs; link; link = link.prevSub) {\n if (link.sub.notify()) {\n ;\n link.sub.dep.notify();\n }\n }\n } finally {\n endBatch();\n }\n }\n}\nfunction addSub(link) {\n link.dep.sc++;\n if (link.sub.flags & 4) {\n const computed = link.dep.computed;\n if (computed && !link.dep.subs) {\n computed.flags |= 4 | 16;\n for (let l = computed.deps; l; l = l.nextDep) {\n addSub(l);\n }\n }\n const currentTail = link.dep.subs;\n if (currentTail !== link) {\n link.prevSub = currentTail;\n if (currentTail) currentTail.nextSub = link;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && link.dep.subsHead === void 0) {\n link.dep.subsHead = link;\n }\n link.dep.subs = link;\n }\n}\nconst targetMap = /* @__PURE__ */ new WeakMap();\nconst ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Object iterate\" : \"\"\n);\nconst MAP_KEY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Map keys iterate\" : \"\"\n);\nconst ARRAY_ITERATE_KEY = Symbol(\n !!(process.env.NODE_ENV !== \"production\") ? \"Array iterate\" : \"\"\n);\nfunction track(target, type, key) {\n if (shouldTrack && activeSub) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = /* @__PURE__ */ new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Dep());\n dep.map = depsMap;\n dep.key = key;\n }\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.track({\n target,\n type,\n key\n });\n } else {\n dep.track();\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n globalVersion++;\n return;\n }\n const run = (dep) => {\n if (dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n dep.trigger({\n target,\n type,\n key,\n newValue,\n oldValue,\n oldTarget\n });\n } else {\n dep.trigger();\n }\n }\n };\n startBatch();\n if (type === \"clear\") {\n depsMap.forEach(run);\n } else {\n const targetIsArray = isArray(target);\n const isArrayIndex = targetIsArray && isIntegerKey(key);\n if (targetIsArray && key === \"length\") {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) {\n run(dep);\n }\n });\n } else {\n if (key !== void 0 || depsMap.has(void 0)) {\n run(depsMap.get(key));\n }\n if (isArrayIndex) {\n run(depsMap.get(ARRAY_ITERATE_KEY));\n }\n switch (type) {\n case \"add\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (isArrayIndex) {\n run(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!targetIsArray) {\n run(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n run(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (isMap(target)) {\n run(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n }\n endBatch();\n}\nfunction getDepFromReactive(object, key) {\n const depMap = targetMap.get(object);\n return depMap && depMap.get(key);\n}\n\nfunction reactiveReadArray(array) {\n const raw = toRaw(array);\n if (raw === array) return raw;\n track(raw, \"iterate\", ARRAY_ITERATE_KEY);\n return isShallow(array) ? raw : raw.map(toReactive);\n}\nfunction shallowReadArray(arr) {\n track(arr = toRaw(arr), \"iterate\", ARRAY_ITERATE_KEY);\n return arr;\n}\nconst arrayInstrumentations = {\n __proto__: null,\n [Symbol.iterator]() {\n return iterator(this, Symbol.iterator, toReactive);\n },\n concat(...args) {\n return reactiveReadArray(this).concat(\n ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x)\n );\n },\n entries() {\n return iterator(this, \"entries\", (value) => {\n value[1] = toReactive(value[1]);\n return value;\n });\n },\n every(fn, thisArg) {\n return apply(this, \"every\", fn, thisArg, void 0, arguments);\n },\n filter(fn, thisArg) {\n return apply(this, \"filter\", fn, thisArg, (v) => v.map(toReactive), arguments);\n },\n find(fn, thisArg) {\n return apply(this, \"find\", fn, thisArg, toReactive, arguments);\n },\n findIndex(fn, thisArg) {\n return apply(this, \"findIndex\", fn, thisArg, void 0, arguments);\n },\n findLast(fn, thisArg) {\n return apply(this, \"findLast\", fn, thisArg, toReactive, arguments);\n },\n findLastIndex(fn, thisArg) {\n return apply(this, \"findLastIndex\", fn, thisArg, void 0, arguments);\n },\n // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement\n forEach(fn, thisArg) {\n return apply(this, \"forEach\", fn, thisArg, void 0, arguments);\n },\n includes(...args) {\n return searchProxy(this, \"includes\", args);\n },\n indexOf(...args) {\n return searchProxy(this, \"indexOf\", args);\n },\n join(separator) {\n return reactiveReadArray(this).join(separator);\n },\n // keys() iterator only reads `length`, no optimisation required\n lastIndexOf(...args) {\n return searchProxy(this, \"lastIndexOf\", args);\n },\n map(fn, thisArg) {\n return apply(this, \"map\", fn, thisArg, void 0, arguments);\n },\n pop() {\n return noTracking(this, \"pop\");\n },\n push(...args) {\n return noTracking(this, \"push\", args);\n },\n reduce(fn, ...args) {\n return reduce(this, \"reduce\", fn, args);\n },\n reduceRight(fn, ...args) {\n return reduce(this, \"reduceRight\", fn, args);\n },\n shift() {\n return noTracking(this, \"shift\");\n },\n // slice could use ARRAY_ITERATE but also seems to beg for range tracking\n some(fn, thisArg) {\n return apply(this, \"some\", fn, thisArg, void 0, arguments);\n },\n splice(...args) {\n return noTracking(this, \"splice\", args);\n },\n toReversed() {\n return reactiveReadArray(this).toReversed();\n },\n toSorted(comparer) {\n return reactiveReadArray(this).toSorted(comparer);\n },\n toSpliced(...args) {\n return reactiveReadArray(this).toSpliced(...args);\n },\n unshift(...args) {\n return noTracking(this, \"unshift\", args);\n },\n values() {\n return iterator(this, \"values\", toReactive);\n }\n};\nfunction iterator(self, method, wrapValue) {\n const arr = shallowReadArray(self);\n const iter = arr[method]();\n if (arr !== self && !isShallow(self)) {\n iter._next = iter.next;\n iter.next = () => {\n const result = iter._next();\n if (result.value) {\n result.value = wrapValue(result.value);\n }\n return result;\n };\n }\n return iter;\n}\nconst arrayProto = Array.prototype;\nfunction apply(self, method, fn, thisArg, wrappedRetFn, args) {\n const arr = shallowReadArray(self);\n const needsWrap = arr !== self && !isShallow(self);\n const methodFn = arr[method];\n if (methodFn !== arrayProto[method]) {\n const result2 = methodFn.apply(self, args);\n return needsWrap ? toReactive(result2) : result2;\n }\n let wrappedFn = fn;\n if (arr !== self) {\n if (needsWrap) {\n wrappedFn = function(item, index) {\n return fn.call(this, toReactive(item), index, self);\n };\n } else if (fn.length > 2) {\n wrappedFn = function(item, index) {\n return fn.call(this, item, index, self);\n };\n }\n }\n const result = methodFn.call(arr, wrappedFn, thisArg);\n return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;\n}\nfunction reduce(self, method, fn, args) {\n const arr = shallowReadArray(self);\n let wrappedFn = fn;\n if (arr !== self) {\n if (!isShallow(self)) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, toReactive(item), index, self);\n };\n } else if (fn.length > 3) {\n wrappedFn = function(acc, item, index) {\n return fn.call(this, acc, item, index, self);\n };\n }\n }\n return arr[method](wrappedFn, ...args);\n}\nfunction searchProxy(self, method, args) {\n const arr = toRaw(self);\n track(arr, \"iterate\", ARRAY_ITERATE_KEY);\n const res = arr[method](...args);\n if ((res === -1 || res === false) && isProxy(args[0])) {\n args[0] = toRaw(args[0]);\n return arr[method](...args);\n }\n return res;\n}\nfunction noTracking(self, method, args = []) {\n pauseTracking();\n startBatch();\n const res = toRaw(self)[method].apply(self, args);\n endBatch();\n resetTracking();\n return res;\n}\n\nconst isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== \"arguments\" && key !== \"caller\").map((key) => Symbol[key]).filter(isSymbol)\n);\nfunction hasOwnProperty(key) {\n if (!isSymbol(key)) key = String(key);\n const obj = toRaw(this);\n track(obj, \"has\", key);\n return obj.hasOwnProperty(key);\n}\nclass BaseReactiveHandler {\n constructor(_isReadonly = false, _isShallow = false) {\n this._isReadonly = _isReadonly;\n this._isShallow = _isShallow;\n }\n get(target, key, receiver) {\n if (key === \"__v_skip\") return target[\"__v_skip\"];\n const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow;\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_isShallow\") {\n return isShallow2;\n } else if (key === \"__v_raw\") {\n if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype\n // this means the receiver is a user proxy of the reactive proxy\n Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {\n return target;\n }\n return;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly2) {\n let fn;\n if (targetIsArray && (fn = arrayInstrumentations[key])) {\n return fn;\n }\n if (key === \"hasOwnProperty\") {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(\n target,\n key,\n // if this is a proxy wrapping a ref, return methods using the raw ref\n // as receiver so that we don't have to call `toRaw` on the ref in all\n // its class methods\n isRef(target) ? target : receiver\n );\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (isShallow2) {\n return res;\n }\n if (isRef(res)) {\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive(res);\n }\n return res;\n }\n}\nclass MutableReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(false, isShallow2);\n }\n set(target, key, value, receiver) {\n let oldValue = target[key];\n if (!this._isShallow) {\n const isOldValueReadonly = isReadonly(oldValue);\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n if (isOldValueReadonly) {\n return false;\n } else {\n oldValue.value = value;\n return true;\n }\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key);\n const result = Reflect.set(\n target,\n key,\n value,\n isRef(target) ? target : receiver\n );\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n }\n deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n has(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n ownKeys(target) {\n track(\n target,\n \"iterate\",\n isArray(target) ? \"length\" : ITERATE_KEY\n );\n return Reflect.ownKeys(target);\n }\n}\nclass ReadonlyReactiveHandler extends BaseReactiveHandler {\n constructor(isShallow2 = false) {\n super(true, isShallow2);\n }\n set(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Set operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n deleteProperty(target, key) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `Delete operation on key \"${String(key)}\" failed: target is readonly.`,\n target\n );\n }\n return true;\n }\n}\nconst mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();\nconst readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();\nconst shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(true);\nconst shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction createIterableMethod(method, isReadonly2, isShallow2) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(\n rawTarget,\n \"iterate\",\n isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY\n );\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done ? { value, done } : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function(...args) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n warn(\n `${capitalize(type)} operation ${key}failed: target is readonly.`,\n toRaw(this)\n );\n }\n return type === \"delete\" ? false : type === \"clear\" ? void 0 : this;\n };\n}\nfunction createInstrumentations(readonly, shallow) {\n const instrumentations = {\n get(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"get\", key);\n }\n track(rawTarget, \"get\", rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n },\n get size() {\n const target = this[\"__v_raw\"];\n !readonly && track(toRaw(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n },\n has(key) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!readonly) {\n if (hasChanged(key, rawKey)) {\n track(rawTarget, \"has\", key);\n }\n track(rawTarget, \"has\", rawKey);\n }\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n },\n forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw(target);\n const wrap = shallow ? toShallow : readonly ? toReadonly : toReactive;\n !readonly && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n }\n };\n extend(\n instrumentations,\n readonly ? {\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\")\n } : {\n add(value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n },\n set(key, value) {\n if (!shallow && !isShallow(value) && !isReadonly(value)) {\n value = toRaw(value);\n }\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n },\n delete(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n },\n clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = !!(process.env.NODE_ENV !== \"production\") ? isMap(target) ? new Map(target) : new Set(target) : void 0;\n const result = target.clear();\n if (hadItems) {\n trigger(\n target,\n \"clear\",\n void 0,\n void 0,\n oldTarget\n );\n }\n return result;\n }\n }\n );\n const iteratorMethods = [\n \"keys\",\n \"values\",\n \"entries\",\n Symbol.iterator\n ];\n iteratorMethods.forEach((method) => {\n instrumentations[method] = createIterableMethod(method, readonly, shallow);\n });\n return instrumentations;\n}\nfunction createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = createInstrumentations(isReadonly2, shallow);\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(\n hasOwn(instrumentations, key) && key in target ? instrumentations : target,\n key,\n receiver\n );\n };\n}\nconst mutableCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /* @__PURE__ */ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n warn(\n `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`\n );\n }\n}\n\nconst reactiveMap = /* @__PURE__ */ new WeakMap();\nconst shallowReactiveMap = /* @__PURE__ */ new WeakMap();\nconst readonlyMap = /* @__PURE__ */ new WeakMap();\nconst shallowReadonlyMap = /* @__PURE__ */ new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1 /* COMMON */;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2 /* COLLECTION */;\n default:\n return 0 /* INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 /* INVALID */ : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(\n target,\n false,\n mutableHandlers,\n mutableCollectionHandlers,\n reactiveMap\n );\n}\nfunction shallowReactive(target) {\n return createReactiveObject(\n target,\n false,\n shallowReactiveHandlers,\n shallowCollectionHandlers,\n shallowReactiveMap\n );\n}\nfunction readonly(target) {\n return createReactiveObject(\n target,\n true,\n readonlyHandlers,\n readonlyCollectionHandlers,\n readonlyMap\n );\n}\nfunction shallowReadonly(target) {\n return createReactiveObject(\n target,\n true,\n shallowReadonlyHandlers,\n shallowReadonlyCollectionHandlers,\n shallowReadonlyMap\n );\n}\nfunction createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\n `value cannot be made ${isReadonly2 ? \"readonly\" : \"reactive\"}: ${String(\n target\n )}`\n );\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0 /* INVALID */) {\n return target;\n }\n const proxy = new Proxy(\n target,\n targetType === 2 /* COLLECTION */ ? collectionHandlers : baseHandlers\n );\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\"]);\n}\nfunction isProxy(value) {\n return value ? !!value[\"__v_raw\"] : false;\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\"];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n if (!hasOwn(value, \"__v_skip\") && Object.isExtensible(value)) {\n def(value, \"__v_skip\", true);\n }\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction isRef(r) {\n return r ? r[\"__v_isRef\"] === true : false;\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, isShallow2) {\n this.dep = new Dep();\n this[\"__v_isRef\"] = true;\n this[\"__v_isShallow\"] = false;\n this._rawValue = isShallow2 ? value : toRaw(value);\n this._value = isShallow2 ? value : toReactive(value);\n this[\"__v_isShallow\"] = isShallow2;\n }\n get value() {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n });\n } else {\n this.dep.track();\n }\n return this._value;\n }\n set value(newValue) {\n const oldValue = this._rawValue;\n const useDirectValue = this[\"__v_isShallow\"] || isShallow(newValue) || isReadonly(newValue);\n newValue = useDirectValue ? newValue : toRaw(newValue);\n if (hasChanged(newValue, oldValue)) {\n this._rawValue = newValue;\n this._value = useDirectValue ? newValue : toReactive(newValue);\n if (!!(process.env.NODE_ENV !== \"production\")) {\n this.dep.trigger({\n target: this,\n type: \"set\",\n key: \"value\",\n newValue,\n oldValue\n });\n } else {\n this.dep.trigger();\n }\n }\n }\n}\nfunction triggerRef(ref2) {\n if (ref2.dep) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n ref2.dep.trigger({\n target: ref2,\n type: \"set\",\n key: \"value\",\n newValue: ref2._value\n });\n } else {\n ref2.dep.trigger();\n }\n }\n}\nfunction unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n}\nfunction toValue(source) {\n return isFunction(source) ? source() : unref(source);\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => key === \"__v_raw\" ? target : unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n const dep = this.dep = new Dep();\n const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._value = this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if (!!(process.env.NODE_ENV !== \"production\") && !isProxy(object)) {\n warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = propertyToRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this[\"__v_isRef\"] = true;\n this._value = void 0;\n }\n get value() {\n const val = this._object[this._key];\n return this._value = val === void 0 ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nclass GetterRefImpl {\n constructor(_getter) {\n this._getter = _getter;\n this[\"__v_isRef\"] = true;\n this[\"__v_isReadonly\"] = true;\n this._value = void 0;\n }\n get value() {\n return this._value = this._getter();\n }\n}\nfunction toRef(source, key, defaultValue) {\n if (isRef(source)) {\n return source;\n } else if (isFunction(source)) {\n return new GetterRefImpl(source);\n } else if (isObject(source) && arguments.length > 1) {\n return propertyToRef(source, key, defaultValue);\n } else {\n return ref(source);\n }\n}\nfunction propertyToRef(source, key, defaultValue) {\n const val = source[key];\n return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);\n}\n\nclass ComputedRefImpl {\n constructor(fn, setter, isSSR) {\n this.fn = fn;\n this.setter = setter;\n /**\n * @internal\n */\n this._value = void 0;\n /**\n * @internal\n */\n this.dep = new Dep(this);\n /**\n * @internal\n */\n this.__v_isRef = true;\n // TODO isolatedDeclarations \"__v_isReadonly\"\n // A computed is also a subscriber that tracks other deps\n /**\n * @internal\n */\n this.deps = void 0;\n /**\n * @internal\n */\n this.depsTail = void 0;\n /**\n * @internal\n */\n this.flags = 16;\n /**\n * @internal\n */\n this.globalVersion = globalVersion - 1;\n /**\n * @internal\n */\n this.next = void 0;\n // for backwards compat\n this.effect = this;\n this[\"__v_isReadonly\"] = !setter;\n this.isSSR = isSSR;\n }\n /**\n * @internal\n */\n notify() {\n this.flags |= 16;\n if (!(this.flags & 8) && // avoid infinite self recursion\n activeSub !== this) {\n batch(this, true);\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\")) ;\n }\n get value() {\n const link = !!(process.env.NODE_ENV !== \"production\") ? this.dep.track({\n target: this,\n type: \"get\",\n key: \"value\"\n }) : this.dep.track();\n refreshComputed(this);\n if (link) {\n link.version = this.dep.version;\n }\n return this._value;\n }\n set value(newValue) {\n if (this.setter) {\n this.setter(newValue);\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn(\"Write operation failed: computed value is readonly\");\n }\n }\n}\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n if (isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, isSSR);\n if (!!(process.env.NODE_ENV !== \"production\") && debugOptions && !isSSR) {\n cRef.onTrack = debugOptions.onTrack;\n cRef.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nconst TrackOpTypes = {\n \"GET\": \"get\",\n \"HAS\": \"has\",\n \"ITERATE\": \"iterate\"\n};\nconst TriggerOpTypes = {\n \"SET\": \"set\",\n \"ADD\": \"add\",\n \"DELETE\": \"delete\",\n \"CLEAR\": \"clear\"\n};\nconst ReactiveFlags = {\n \"SKIP\": \"__v_skip\",\n \"IS_REACTIVE\": \"__v_isReactive\",\n \"IS_READONLY\": \"__v_isReadonly\",\n \"IS_SHALLOW\": \"__v_isShallow\",\n \"RAW\": \"__v_raw\",\n \"IS_REF\": \"__v_isRef\"\n};\n\nconst WatchErrorCodes = {\n \"WATCH_GETTER\": 2,\n \"2\": \"WATCH_GETTER\",\n \"WATCH_CALLBACK\": 3,\n \"3\": \"WATCH_CALLBACK\",\n \"WATCH_CLEANUP\": 4,\n \"4\": \"WATCH_CLEANUP\"\n};\nconst INITIAL_WATCHER_VALUE = {};\nconst cleanupMap = /* @__PURE__ */ new WeakMap();\nlet activeWatcher = void 0;\nfunction getCurrentWatcher() {\n return activeWatcher;\n}\nfunction onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) {\n if (owner) {\n let cleanups = cleanupMap.get(owner);\n if (!cleanups) cleanupMap.set(owner, cleanups = []);\n cleanups.push(cleanupFn);\n } else if (!!(process.env.NODE_ENV !== \"production\") && !failSilently) {\n warn(\n `onWatcherCleanup() was called when there was no active watcher to associate with.`\n );\n }\n}\nfunction watch(source, cb, options = EMPTY_OBJ) {\n const { immediate, deep, once, scheduler, augmentJob, call } = options;\n const warnInvalidSource = (s) => {\n (options.onWarn || warn)(\n `Invalid watch source: `,\n s,\n `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.`\n );\n };\n const reactiveGetter = (source2) => {\n if (deep) return source2;\n if (isShallow(source2) || deep === false || deep === 0)\n return traverse(source2, 1);\n return traverse(source2);\n };\n let effect;\n let getter;\n let cleanup;\n let boundCleanup;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow(source);\n } else if (isReactive(source)) {\n getter = () => reactiveGetter(source);\n forceTrigger = true;\n } else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some((s) => isReactive(s) || isShallow(s));\n getter = () => source.map((s) => {\n if (isRef(s)) {\n return s.value;\n } else if (isReactive(s)) {\n return reactiveGetter(s);\n } else if (isFunction(s)) {\n return call ? call(s, 2) : s();\n } else {\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(s);\n }\n });\n } else if (isFunction(source)) {\n if (cb) {\n getter = call ? () => call(source, 2) : source;\n } else {\n getter = () => {\n if (cleanup) {\n pauseTracking();\n try {\n cleanup();\n } finally {\n resetTracking();\n }\n }\n const currentEffect = activeWatcher;\n activeWatcher = effect;\n try {\n return call ? call(source, 3, [boundCleanup]) : source(boundCleanup);\n } finally {\n activeWatcher = currentEffect;\n }\n };\n }\n } else {\n getter = NOOP;\n !!(process.env.NODE_ENV !== \"production\") && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n const depth = deep === true ? Infinity : deep;\n getter = () => traverse(baseGetter(), depth);\n }\n const scope = getCurrentScope();\n const watchHandle = () => {\n effect.stop();\n if (scope && scope.active) {\n remove(scope.effects, effect);\n }\n };\n if (once && cb) {\n const _cb = cb;\n cb = (...args) => {\n _cb(...args);\n watchHandle();\n };\n }\n let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE;\n const job = (immediateFirstRun) => {\n if (!(effect.flags & 1) || !effect.dirty && !immediateFirstRun) {\n return;\n }\n if (cb) {\n const newValue = effect.run();\n if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) {\n if (cleanup) {\n cleanup();\n }\n const currentWatcher = activeWatcher;\n activeWatcher = effect;\n try {\n const args = [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue,\n boundCleanup\n ];\n call ? call(cb, 3, args) : (\n // @ts-expect-error\n cb(...args)\n );\n oldValue = newValue;\n } finally {\n activeWatcher = currentWatcher;\n }\n }\n } else {\n effect.run();\n }\n };\n if (augmentJob) {\n augmentJob(job);\n }\n effect = new ReactiveEffect(getter);\n effect.scheduler = scheduler ? () => scheduler(job, false) : job;\n boundCleanup = (fn) => onWatcherCleanup(fn, false, effect);\n cleanup = effect.onStop = () => {\n const cleanups = cleanupMap.get(effect);\n if (cleanups) {\n if (call) {\n call(cleanups, 4);\n } else {\n for (const cleanup2 of cleanups) cleanup2();\n }\n cleanupMap.delete(effect);\n }\n };\n if (!!(process.env.NODE_ENV !== \"production\")) {\n effect.onTrack = options.onTrack;\n effect.onTrigger = options.onTrigger;\n }\n if (cb) {\n if (immediate) {\n job(true);\n } else {\n oldValue = effect.run();\n }\n } else if (scheduler) {\n scheduler(job.bind(null, true), true);\n } else {\n effect.run();\n }\n watchHandle.pause = effect.pause.bind(effect);\n watchHandle.resume = effect.resume.bind(effect);\n watchHandle.stop = watchHandle;\n return watchHandle;\n}\nfunction traverse(value, depth = Infinity, seen) {\n if (depth <= 0 || !isObject(value) || value[\"__v_skip\"]) {\n return value;\n }\n seen = seen || /* @__PURE__ */ new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n depth--;\n if (isRef(value)) {\n traverse(value.value, depth, seen);\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], depth, seen);\n }\n } else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, depth, seen);\n });\n } else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], depth, seen);\n }\n for (const key of Object.getOwnPropertySymbols(value)) {\n if (Object.prototype.propertyIsEnumerable.call(value, key)) {\n traverse(value[key], depth, seen);\n }\n }\n }\n return value;\n}\n\nexport { ARRAY_ITERATE_KEY, EffectFlags, EffectScope, ITERATE_KEY, MAP_KEY_ITERATE_KEY, ReactiveEffect, ReactiveFlags, TrackOpTypes, TriggerOpTypes, WatchErrorCodes, computed, customRef, effect, effectScope, enableTracking, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onEffectCleanup, onScopeDispose, onWatcherCleanup, pauseTracking, proxyRefs, reactive, reactiveReadArray, readonly, ref, resetTracking, shallowReactive, shallowReadArray, shallowReadonly, shallowRef, stop, toRaw, toReactive, toReadonly, toRef, toRefs, toValue, track, traverse, trigger, triggerRef, unref, watch };\n","/**\n* @vue/runtime-core v3.5.13\n* (c) 2018-present Yuxi (Evan) You and Vue contributors\n* @license MIT\n**/\nimport { pauseTracking, resetTracking, isRef, toRaw, traverse, shallowRef, readonly, isReactive, ref, isShallow, shallowReadArray, toReactive, shallowReadonly, track, reactive, shallowReactive, trigger, ReactiveEffect, watch as watch$1, customRef, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, TrackOpTypes, TriggerOpTypes, customRef, effect, effectScope, getCurrentScope, getCurrentWatcher, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, onWatcherCleanup, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, toValue, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, EMPTY_OBJ, NOOP, getGlobalThis, extend, isBuiltInDirective, hasOwn, remove, def, isOn, isReservedProp, normalizeClass, stringifyStyle, normalizeStyle, isKnownSvgAttr, isBooleanAttr, isKnownHtmlAttr, includeBooleanAttr, isRenderableAttrValue, getEscapedCssVarName, isObject, isRegExp, invokeArrayFns, toHandlerKey, capitalize, camelize, isSymbol, isGloballyAllowed, NO, hyphenate, EMPTY_ARR, toRawType, makeMap, hasChanged, looseToNumber, isModelListener, toNumber } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nlet isWarning = false;\nfunction warn$1(msg, ...args) {\n if (isWarning) return;\n isWarning = true;\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(\n appWarnHandler,\n instance,\n 11,\n [\n // eslint-disable-next-line no-restricted-syntax\n msg + args.map((a) => {\n var _a, _b;\n return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a);\n }).join(\"\"),\n instance && instance.proxy,\n trace.map(\n ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`\n ).join(\"\\n\"),\n trace\n ]\n );\n } else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n if (trace.length && // avoid spamming console during tests\n true) {\n warnArgs.push(`\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n isWarning = false;\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n } else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...i === 0 ? [] : [`\n`], ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(\n vnode.component,\n vnode.type,\n isRoot\n )}`;\n const close = `>` + postfix;\n return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close];\n}\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach((key) => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n } else if (typeof value === \"number\" || typeof value === \"boolean\" || value == null) {\n return raw ? value : [`${key}=${value}`];\n } else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n } else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n } else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\nfunction assertNumber(val, type) {\n if (!!!(process.env.NODE_ENV !== \"production\")) return;\n if (val === void 0) {\n return;\n } else if (typeof val !== \"number\") {\n warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`);\n } else if (isNaN(val)) {\n warn$1(`${type} is NaN - the duration expression might be incorrect.`);\n }\n}\n\nconst ErrorCodes = {\n \"SETUP_FUNCTION\": 0,\n \"0\": \"SETUP_FUNCTION\",\n \"RENDER_FUNCTION\": 1,\n \"1\": \"RENDER_FUNCTION\",\n \"NATIVE_EVENT_HANDLER\": 5,\n \"5\": \"NATIVE_EVENT_HANDLER\",\n \"COMPONENT_EVENT_HANDLER\": 6,\n \"6\": \"COMPONENT_EVENT_HANDLER\",\n \"VNODE_HOOK\": 7,\n \"7\": \"VNODE_HOOK\",\n \"DIRECTIVE_HOOK\": 8,\n \"8\": \"DIRECTIVE_HOOK\",\n \"TRANSITION_HOOK\": 9,\n \"9\": \"TRANSITION_HOOK\",\n \"APP_ERROR_HANDLER\": 10,\n \"10\": \"APP_ERROR_HANDLER\",\n \"APP_WARN_HANDLER\": 11,\n \"11\": \"APP_WARN_HANDLER\",\n \"FUNCTION_REF\": 12,\n \"12\": \"FUNCTION_REF\",\n \"ASYNC_COMPONENT_LOADER\": 13,\n \"13\": \"ASYNC_COMPONENT_LOADER\",\n \"SCHEDULER\": 14,\n \"14\": \"SCHEDULER\",\n \"COMPONENT_UPDATE\": 15,\n \"15\": \"COMPONENT_UPDATE\",\n \"APP_UNMOUNT_CLEANUP\": 16,\n \"16\": \"APP_UNMOUNT_CLEANUP\"\n};\nconst ErrorTypeStrings$1 = {\n [\"sp\"]: \"serverPrefetch hook\",\n [\"bc\"]: \"beforeCreate hook\",\n [\"c\"]: \"created hook\",\n [\"bm\"]: \"beforeMount hook\",\n [\"m\"]: \"mounted hook\",\n [\"bu\"]: \"beforeUpdate hook\",\n [\"u\"]: \"updated\",\n [\"bum\"]: \"beforeUnmount hook\",\n [\"um\"]: \"unmounted hook\",\n [\"a\"]: \"activated hook\",\n [\"da\"]: \"deactivated hook\",\n [\"ec\"]: \"errorCaptured hook\",\n [\"rtc\"]: \"renderTracked hook\",\n [\"rtg\"]: \"renderTriggered hook\",\n [0]: \"setup function\",\n [1]: \"render function\",\n [2]: \"watcher getter\",\n [3]: \"watcher callback\",\n [4]: \"watcher cleanup function\",\n [5]: \"native event handler\",\n [6]: \"component event handler\",\n [7]: \"vnode hook\",\n [8]: \"directive hook\",\n [9]: \"transition hook\",\n [10]: \"app errorHandler\",\n [11]: \"app warnHandler\",\n [12]: \"ref function\",\n [13]: \"async component loader\",\n [14]: \"scheduler flush\",\n [15]: \"component update\",\n [16]: \"app unmount cleanup function\"\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n try {\n return args ? fn(...args) : fn();\n } catch (err) {\n handleError(err, instance, type);\n }\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch((err) => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n if (isArray(fn)) {\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}`\n );\n }\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ;\n if (instance) {\n let cur = instance.parent;\n const exposedInstance = instance.proxy;\n const errorInfo = !!(process.env.NODE_ENV !== \"production\") ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n if (errorHandler) {\n pauseTracking();\n callWithErrorHandling(errorHandler, null, 10, [\n err,\n exposedInstance,\n errorInfo\n ]);\n resetTracking();\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction);\n}\nfunction logError(err, type, contextVNode, throwInDev = true, throwInProd = false) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n const info = ErrorTypeStrings$1[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n if (throwInDev) {\n throw err;\n } else {\n console.error(err);\n }\n } else if (throwInProd) {\n throw err;\n } else {\n console.error(err);\n }\n}\n\nconst queue = [];\nlet flushIndex = -1;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /* @__PURE__ */ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\nfunction findInsertionIndex(id) {\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = start + end >>> 1;\n const middleJob = queue[middle];\n const middleJobId = getId(middleJob);\n if (middleJobId < id || middleJobId === id && middleJob.flags & 2) {\n start = middle + 1;\n } else {\n end = middle;\n }\n }\n return start;\n}\nfunction queueJob(job) {\n if (!(job.flags & 1)) {\n const jobId = getId(job);\n const lastJob = queue[queue.length - 1];\n if (!lastJob || // fast path when the job id is larger than the tail\n !(job.flags & 2) && jobId >= getId(lastJob)) {\n queue.push(job);\n } else {\n queue.splice(findInsertionIndex(jobId), 0, job);\n }\n job.flags |= 1;\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!currentFlushPromise) {\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (activePostFlushCbs && cb.id === -1) {\n activePostFlushCbs.splice(postFlushIndex + 1, 0, cb);\n } else if (!(cb.flags & 1)) {\n pendingPostFlushCbs.push(cb);\n cb.flags |= 1;\n }\n } else {\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(instance, seen, i = flushIndex + 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.flags & 2) {\n if (instance && cb.id !== instance.uid) {\n continue;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n cb();\n if (!(cb.flags & 4)) {\n cb.flags &= ~1;\n }\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)].sort(\n (a, b) => getId(a) - getId(b)\n );\n pendingPostFlushCbs.length = 0;\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n const cb = activePostFlushCbs[postFlushIndex];\n if (!!(process.env.NODE_ENV !== \"production\") && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n if (cb.flags & 4) {\n cb.flags &= ~1;\n }\n if (!(cb.flags & 8)) cb();\n cb.flags &= ~1;\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id;\nfunction flushJobs(seen) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n seen = seen || /* @__PURE__ */ new Map();\n }\n const check = !!(process.env.NODE_ENV !== \"production\") ? (job) => checkRecursiveUpdates(seen, job) : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && !(job.flags & 8)) {\n if (!!(process.env.NODE_ENV !== \"production\") && check(job)) {\n continue;\n }\n if (job.flags & 4) {\n job.flags &= ~1;\n }\n callWithErrorHandling(\n job,\n job.i,\n job.i ? 15 : 14\n );\n if (!(job.flags & 4)) {\n job.flags &= ~1;\n }\n }\n }\n } finally {\n for (; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job) {\n job.flags &= ~1;\n }\n }\n flushIndex = -1;\n queue.length = 0;\n flushPostFlushCbs(seen);\n currentFlushPromise = null;\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n const count = seen.get(fn) || 0;\n if (count > RECURSION_LIMIT) {\n const instance = fn.i;\n const componentName = instance && getComponentName(instance.type);\n handleError(\n `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,\n null,\n 10\n );\n return true;\n }\n seen.set(fn, count + 1);\n return false;\n}\n\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = /* @__PURE__ */ new Map();\nif (!!(process.env.NODE_ENV !== \"production\")) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = /* @__PURE__ */ new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: /* @__PURE__ */ new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n record.initialDef.render = newRender;\n [...record.instances].forEach((instance) => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record) return;\n newComp = normalizeClassComponent(newComp);\n updateComponentDef(record.initialDef, newComp);\n const instances = [...record.instances];\n for (let i = 0; i < instances.length; i++) {\n const instance = instances[i];\n const oldComp = normalizeClassComponent(instance.type);\n let dirtyInstances = hmrDirtyComponents.get(oldComp);\n if (!dirtyInstances) {\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set());\n }\n dirtyInstances.add(instance);\n instance.appContext.propsCache.delete(instance.type);\n instance.appContext.emitsCache.delete(instance.type);\n instance.appContext.optionsCache.delete(instance.type);\n if (instance.ceReload) {\n dirtyInstances.add(instance);\n instance.ceReload(newComp.styles);\n dirtyInstances.delete(instance);\n } else if (instance.parent) {\n queueJob(() => {\n isHmrUpdating = true;\n instance.parent.update();\n isHmrUpdating = false;\n dirtyInstances.delete(instance);\n });\n } else if (instance.appContext.reload) {\n instance.appContext.reload();\n } else if (typeof window !== \"undefined\") {\n window.location.reload();\n } else {\n console.warn(\n \"[HMR] Root or manually mounted instance modified. Full reload required.\"\n );\n }\n if (instance.root.ce && instance !== instance.root) {\n instance.root.ce._removeChildStyle(oldComp);\n }\n }\n queuePostFlushCb(() => {\n hmrDirtyComponents.clear();\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== \"__file\" && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n } catch (e) {\n console.error(e);\n console.warn(\n `[HMR] Something went wrong during Vue component hot-reload. Full reload required.`\n );\n }\n };\n}\n\nlet devtools$1;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools$1) {\n devtools$1.emit(event, ...args);\n } else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook$1(hook, target) {\n var _a, _b;\n devtools$1 = hook;\n if (devtools$1) {\n devtools$1.enabled = true;\n buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args));\n buffer = [];\n } else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== \"undefined\" && // some envs mock window but not fully\n window.HTMLElement && // also exclude jsdom\n // eslint-disable-next-line no-restricted-syntax\n !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes(\"jsdom\"))\n ) {\n const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || [];\n replay.push((newHook) => {\n setDevtoolsHook$1(newHook, target);\n });\n setTimeout(() => {\n if (!devtools$1) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3e3);\n } else {\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook(\"component:added\" /* COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook(\"component:updated\" /* COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook(\n \"component:removed\" /* COMPONENT_REMOVED */\n);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools$1 && typeof devtools$1.cleanupBuffer === \"function\" && // remove the component if it wasn't buffered\n !devtools$1.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(\n hook,\n component.appContext.app,\n component.uid,\n component.parent ? component.parent.uid : void 0,\n component\n );\n };\n}\nconst devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:start\" /* PERFORMANCE_START */);\nconst devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook(\"perf:end\" /* PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\n \"component:emit\" /* COMPONENT_EMIT */,\n component.appContext.app,\n component,\n event,\n params\n );\n}\n\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = instance && instance.type.__scopeId || null;\n return prev;\n}\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\nfunction popScopeId() {\n currentScopeId = null;\n}\nconst withScopeId = (_id) => withCtx;\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) {\n if (!ctx) return fn;\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n } finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n renderFnWithContext._n = true;\n renderFnWithContext._c = true;\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\nfunction validateDirectiveName(name) {\n if (isBuiltInDirective(name)) {\n warn$1(\"Do not use built-in directive ids as custom directive id: \" + name);\n }\n}\nfunction withDirectives(vnode, directives) {\n if (currentRenderingInstance === null) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(`withDirectives can only be used inside render functions.`);\n return vnode;\n }\n const instance = getComponentPublicInstance(currentRenderingInstance);\n const bindings = vnode.dirs || (vnode.dirs = []);\n for (let i = 0; i < directives.length; i++) {\n let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];\n if (dir) {\n if (isFunction(dir)) {\n dir = {\n mounted: dir,\n updated: dir\n };\n }\n if (dir.deep) {\n traverse(value);\n }\n bindings.push({\n dir,\n instance,\n value,\n oldValue: void 0,\n arg,\n modifiers\n });\n }\n }\n return vnode;\n}\nfunction invokeDirectiveHook(vnode, prevVNode, instance, name) {\n const bindings = vnode.dirs;\n const oldBindings = prevVNode && prevVNode.dirs;\n for (let i = 0; i < bindings.length; i++) {\n const binding = bindings[i];\n if (oldBindings) {\n binding.oldValue = oldBindings[i].value;\n }\n let hook = binding.dir[name];\n if (hook) {\n pauseTracking();\n callWithAsyncErrorHandling(hook, instance, 8, [\n vnode.el,\n binding,\n vnode,\n prevVNode\n ]);\n resetTracking();\n }\n }\n}\n\nconst TeleportEndKey = Symbol(\"_vte\");\nconst isTeleport = (type) => type.__isTeleport;\nconst isTeleportDisabled = (props) => props && (props.disabled || props.disabled === \"\");\nconst isTeleportDeferred = (props) => props && (props.defer || props.defer === \"\");\nconst isTargetSVG = (target) => typeof SVGElement !== \"undefined\" && target instanceof SVGElement;\nconst isTargetMathML = (target) => typeof MathMLElement === \"function\" && target instanceof MathMLElement;\nconst resolveTarget = (props, select) => {\n const targetSelector = props && props.to;\n if (isString(targetSelector)) {\n if (!select) {\n !!(process.env.NODE_ENV !== \"production\") && warn$1(\n `Current renderer does not support string target for Teleports. (missing querySelector renderer option)`\n );\n return null;\n } else {\n const target = select(targetSelector);\n if (!!(process.env.NODE_ENV !== \"production\") && !target && !isTeleportDisabled(props)) {\n warn$1(\n `Failed to locate Teleport target with selector \"${targetSelector}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`\n );\n }\n return target;\n }\n } else {\n if (!!(process.env.NODE_ENV !== \"production\") && !targetSelector && !isTeleportDisabled(props)) {\n warn$1(`Invalid Teleport target: ${targetSelector}`);\n }\n return targetSelector;\n }\n};\nconst TeleportImpl = {\n name: \"Teleport\",\n __isTeleport: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) {\n const {\n mc: mountChildren,\n pc: patchChildren,\n pbc: patchBlockChildren,\n o: { insert, querySelector, createText, createComment }\n } = internals;\n const disabled = isTeleportDisabled(n2.props);\n let { shapeFlag, children, dynamicChildren } = n2;\n if (!!(process.env.NODE_ENV !== \"production\") && isHmrUpdating) {\n optimized = false;\n dynamicChildren = null;\n }\n if (n1 == null) {\n const placeholder = n2.el = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport start\") : createText(\"\");\n const mainAnchor = n2.anchor = !!(process.env.NODE_ENV !== \"production\") ? createComment(\"teleport end\") : createText(\"\");\n insert(placeholder, container, anchor);\n insert(mainAnchor, container, anchor);\n const mount = (container2, anchor2) => {\n if (shapeFlag & 16) {\n if (parentComponent && parentComponent.isCE) {\n parentComponent.ce._teleportTarget = container2;\n }\n mountChildren(\n children,\n container2,\n anchor2,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized\n );\n }\n };\n const mountToTarget = () => {\n const target = n2.target = resolveTarget(n2.props, querySelector);\n const targetAnchor = prepareAnchor(target, n2, createText, insert);\n if (target) {\n if (namespace !== \"svg\" && isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace !== \"mathml\" && isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (!disabled) {\n mount(target, targetAnchor);\n updateCssVars(n2, false);\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && !disabled) {\n warn$1(\n \"Invalid Teleport target on mount:\",\n target,\n `(${typeof target})`\n );\n }\n };\n if (disabled) {\n mount(container, mainAnchor);\n updateCssVars(n2, true);\n }\n if (isTeleportDeferred(n2.props)) {\n queuePostRenderEffect(() => {\n mountToTarget();\n n2.el.__isMounted = true;\n }, parentSuspense);\n } else {\n mountToTarget();\n }\n } else {\n if (isTeleportDeferred(n2.props) && !n1.el.__isMounted) {\n queuePostRenderEffect(() => {\n TeleportImpl.process(\n n1,\n n2,\n container,\n anchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n optimized,\n internals\n );\n delete n1.el.__isMounted;\n }, parentSuspense);\n return;\n }\n n2.el = n1.el;\n n2.targetStart = n1.targetStart;\n const mainAnchor = n2.anchor = n1.anchor;\n const target = n2.target = n1.target;\n const targetAnchor = n2.targetAnchor = n1.targetAnchor;\n const wasDisabled = isTeleportDisabled(n1.props);\n const currentContainer = wasDisabled ? container : target;\n const currentAnchor = wasDisabled ? mainAnchor : targetAnchor;\n if (namespace === \"svg\" || isTargetSVG(target)) {\n namespace = \"svg\";\n } else if (namespace === \"mathml\" || isTargetMathML(target)) {\n namespace = \"mathml\";\n }\n if (dynamicChildren) {\n patchBlockChildren(\n n1.dynamicChildren,\n dynamicChildren,\n currentContainer,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds\n );\n traverseStaticChildren(n1, n2, true);\n } else if (!optimized) {\n patchChildren(\n n1,\n n2,\n currentContainer,\n currentAnchor,\n parentComponent,\n parentSuspense,\n namespace,\n slotScopeIds,\n false\n );\n }\n if (disabled) {\n if (!wasDisabled) {\n moveTeleport(\n n2,\n container,\n mainAnchor,\n internals,\n 1\n );\n } else {\n if (n2.props && n1.props && n2.props.to !== n1.props.to) {\n n2.props.to = n1.props.to;\n }\n }\n } else {\n if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {\n const nextTarget = n2.target = resolveTarget(\n n2.props,\n querySelector\n );\n if (nextTarget) {\n moveTeleport(\n n2,\n nextTarget,\n null,\n internals,\n 0\n );\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n \"Invalid Teleport target on update:\",\n target,\n `(${typeof target})`\n );\n }\n } else if (wasDisabled) {\n moveTeleport(\n n2,\n target,\n targetAnchor,\n internals,\n 1\n );\n }\n }\n updateCssVars(n2, disabled);\n }\n },\n remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) {\n const {\n shapeFlag,\n children,\n anchor,\n targetStart,\n targetAnchor,\n target,\n props\n } = vnode;\n if (target) {\n hostRemove(targetStart);\n hostRemove(targetAnchor);\n }\n doRemove && hostRemove(anchor);\n if (shapeFlag & 16) {\n const shouldRemove = doRemove || !isTeleportDisabled(props);\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n unmount(\n child,\n parentComponent,\n parentSuspense,\n shouldRemove,\n !!child.dynamicChildren\n );\n }\n }\n },\n move: moveTeleport,\n hydrate: hydrateTeleport\n};\nfunction moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) {\n if (moveType === 0) {\n insert(vnode.targetAnchor, container, parentAnchor);\n }\n const { el, anchor, shapeFlag, children, props } = vnode;\n const isReorder = moveType === 2;\n if (isReorder) {\n insert(el, container, parentAnchor);\n }\n if (!isReorder || isTeleportDisabled(props)) {\n if (shapeFlag & 16) {\n for (let i = 0; i < children.length; i++) {\n move(\n children[i],\n container,\n parentAnchor,\n 2\n );\n }\n }\n }\n if (isReorder) {\n insert(anchor, container, parentAnchor);\n }\n}\nfunction hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {\n o: { nextSibling, parentNode, querySelector, insert, createText }\n}, hydrateChildren) {\n const target = vnode.target = resolveTarget(\n vnode.props,\n querySelector\n );\n if (target) {\n const disabled = isTeleportDisabled(vnode.props);\n const targetNode = target._lpa || target.firstChild;\n if (vnode.shapeFlag & 16) {\n if (disabled) {\n vnode.anchor = hydrateChildren(\n nextSibling(node),\n vnode,\n parentNode(node),\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n vnode.targetStart = targetNode;\n vnode.targetAnchor = targetNode && nextSibling(targetNode);\n } else {\n vnode.anchor = nextSibling(node);\n let targetAnchor = targetNode;\n while (targetAnchor) {\n if (targetAnchor && targetAnchor.nodeType === 8) {\n if (targetAnchor.data === \"teleport start anchor\") {\n vnode.targetStart = targetAnchor;\n } else if (targetAnchor.data === \"teleport anchor\") {\n vnode.targetAnchor = targetAnchor;\n target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);\n break;\n }\n }\n targetAnchor = nextSibling(targetAnchor);\n }\n if (!vnode.targetAnchor) {\n prepareAnchor(target, vnode, createText, insert);\n }\n hydrateChildren(\n targetNode && nextSibling(targetNode),\n vnode,\n target,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n }\n updateCssVars(vnode, disabled);\n }\n return vnode.anchor && nextSibling(vnode.anchor);\n}\nconst Teleport = TeleportImpl;\nfunction updateCssVars(vnode, isDisabled) {\n const ctx = vnode.ctx;\n if (ctx && ctx.ut) {\n let node, anchor;\n if (isDisabled) {\n node = vnode.el;\n anchor = vnode.anchor;\n } else {\n node = vnode.targetStart;\n anchor = vnode.targetAnchor;\n }\n while (node && node !== anchor) {\n if (node.nodeType === 1) node.setAttribute(\"data-v-owner\", ctx.uid);\n node = node.nextSibling;\n }\n ctx.ut();\n }\n}\nfunction prepareAnchor(target, vnode, createText, insert) {\n const targetStart = vnode.targetStart = createText(\"\");\n const targetAnchor = vnode.targetAnchor = createText(\"\");\n targetStart[TeleportEndKey] = targetAnchor;\n if (target) {\n insert(targetStart, target);\n insert(targetAnchor, target);\n }\n return targetAnchor;\n}\n\nconst leaveCbKey = Symbol(\"_leaveCb\");\nconst enterCbKey = Symbol(\"_enterCb\");\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: /* @__PURE__ */ new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionPropsValidators = {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n};\nconst recursiveGetSubtree = (instance) => {\n const subTree = instance.subTree;\n return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;\n};\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: BaseTransitionPropsValidators,\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n const child = findNonCommentChild(children);\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n if (!!(process.env.NODE_ENV !== \"production\") && mode && mode !== \"in-out\" && mode !== \"out-in\" && mode !== \"default\") {\n warn$1(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n const innerChild = getInnerChild$1(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n let enterHooks = resolveTransitionHooks(\n innerChild,\n rawProps,\n state,\n instance,\n // #11061, ensure enterHooks is fresh after clone\n (hooks) => enterHooks = hooks\n );\n if (innerChild.type !== Comment) {\n setTransitionHooks(innerChild, enterHooks);\n }\n let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);\n if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {\n let leavingHooks = resolveTransitionHooks(\n oldInnerChild,\n rawProps,\n state,\n instance\n );\n setTransitionHooks(oldInnerChild, leavingHooks);\n if (mode === \"out-in\" && innerChild.type !== Comment) {\n state.isLeaving = true;\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n if (!(instance.job.flags & 8)) {\n instance.update();\n }\n delete leavingHooks.afterLeave;\n oldInnerChild = void 0;\n };\n return emptyPlaceholder(child);\n } else if (mode === \"in-out\" && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(\n state,\n oldInnerChild\n );\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n el[leaveCbKey] = () => {\n earlyRemove();\n el[leaveCbKey] = void 0;\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n enterHooks.delayedLeave = () => {\n delayedLeave();\n delete enterHooks.delayedLeave;\n oldInnerChild = void 0;\n };\n };\n } else {\n oldInnerChild = void 0;\n }\n } else if (oldInnerChild) {\n oldInnerChild = void 0;\n }\n return child;\n };\n }\n};\nfunction findNonCommentChild(children) {\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n for (const c of children) {\n if (c.type !== Comment) {\n if (!!(process.env.NODE_ENV !== \"production\") && hasFound) {\n warn$1(\n \" can only be used on a single element or component. Use for lists.\"\n );\n break;\n }\n child = c;\n hasFound = true;\n if (!!!(process.env.NODE_ENV !== \"production\")) break;\n }\n }\n }\n return child;\n}\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = /* @__PURE__ */ Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\nfunction resolveTransitionHooks(vnode, props, state, instance, postClone) {\n const {\n appear,\n mode,\n persisted = false,\n onBeforeEnter,\n onEnter,\n onAfterEnter,\n onEnterCancelled,\n onBeforeLeave,\n onLeave,\n onAfterLeave,\n onLeaveCancelled,\n onBeforeAppear,\n onAppear,\n onAfterAppear,\n onAppearCancelled\n } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook && callWithAsyncErrorHandling(\n hook,\n instance,\n 9,\n args\n );\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every((hook2) => hook2.length <= 1)) done();\n } else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n } else {\n return;\n }\n }\n if (el[leaveCbKey]) {\n el[leaveCbKey](\n true\n /* cancelled */\n );\n }\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {\n leavingVNode.el[leaveCbKey]();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n } else {\n return;\n }\n }\n let called = false;\n const done = el[enterCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n } else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el[enterCbKey] = void 0;\n };\n if (hook) {\n callAsyncHook(hook, [el, done]);\n } else {\n done();\n }\n },\n leave(el, remove) {\n const key2 = String(vnode.key);\n if (el[enterCbKey]) {\n el[enterCbKey](\n true\n /* cancelled */\n );\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = el[leaveCbKey] = (cancelled) => {\n if (called) return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n } else {\n callHook(onAfterLeave, [el]);\n }\n el[leaveCbKey] = void 0;\n if (leavingVNodesCache[key2] === vnode) {\n delete leavingVNodesCache[key2];\n }\n };\n leavingVNodesCache[key2] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n } else {\n done();\n }\n },\n clone(vnode2) {\n const hooks2 = resolveTransitionHooks(\n vnode2,\n props,\n state,\n instance,\n postClone\n );\n if (postClone) postClone(hooks2);\n return hooks2;\n }\n };\n return hooks;\n}\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getInnerChild$1(vnode) {\n if (!isKeepAlive(vnode)) {\n if (isTeleport(vnode.type) && vnode.children) {\n return findNonCommentChild(vnode.children);\n }\n return vnode;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && vnode.component) {\n return vnode.component.subTree;\n }\n const { shapeFlag, children } = vnode;\n if (children) {\n if (shapeFlag & 16) {\n return children[0];\n }\n if (shapeFlag & 32 && isFunction(children.default)) {\n return children.default();\n }\n }\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 && vnode.component) {\n vnode.transition = hooks;\n setTransitionHooks(vnode.component.subTree, hooks);\n } else if (vnode.shapeFlag & 128) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n } else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i);\n if (child.type === Fragment) {\n if (child.patchFlag & 128) keyedFragmentCount++;\n ret = ret.concat(\n getTransitionRawChildren(child.children, keepComment, key)\n );\n } else if (keepComment || child.type !== Comment) {\n ret.push(key != null ? cloneVNode(child, { key }) : child);\n }\n }\n if (keyedFragmentCount > 1) {\n for (let i = 0; i < ret.length; i++) {\n ret[i].patchFlag = -2;\n }\n }\n return ret;\n}\n\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineComponent(options, extraOptions) {\n return isFunction(options) ? (\n // #8236: extend call and options.name access are considered side-effects\n // by Rollup, so we have to wrap it in a pure-annotated IIFE.\n /* @__PURE__ */ (() => extend({ name: options.name }, extraOptions, { setup: options }))()\n ) : options;\n}\n\nfunction useId() {\n const i = getCurrentInstance();\n if (i) {\n return (i.appContext.config.idPrefix || \"v\") + \"-\" + i.ids[0] + i.ids[1]++;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useId() is called when there is no active component instance to be associated with.`\n );\n }\n return \"\";\n}\nfunction markAsyncBoundary(instance) {\n instance.ids = [instance.ids[0] + instance.ids[2]++ + \"-\", 0, 0];\n}\n\nconst knownTemplateRefs = /* @__PURE__ */ new WeakSet();\nfunction useTemplateRef(key) {\n const i = getCurrentInstance();\n const r = shallowRef(null);\n if (i) {\n const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs;\n let desc;\n if (!!(process.env.NODE_ENV !== \"production\") && (desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) {\n warn$1(`useTemplateRef('${key}') already exists.`);\n } else {\n Object.defineProperty(refs, key, {\n enumerable: true,\n get: () => r.value,\n set: (val) => r.value = val\n });\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `useTemplateRef() is called when there is no active component instance to be associated with.`\n );\n }\n const ret = !!(process.env.NODE_ENV !== \"production\") ? readonly(r) : r;\n if (!!(process.env.NODE_ENV !== \"production\")) {\n knownTemplateRefs.add(ret);\n }\n return ret;\n}\n\nfunction setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {\n if (isArray(rawRef)) {\n rawRef.forEach(\n (r, i) => setRef(\n r,\n oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef),\n parentSuspense,\n vnode,\n isUnmount\n )\n );\n return;\n }\n if (isAsyncWrapper(vnode) && !isUnmount) {\n if (vnode.shapeFlag & 512 && vnode.type.__asyncResolved && vnode.component.subTree.component) {\n setRef(rawRef, oldRawRef, parentSuspense, vnode.component.subTree);\n }\n return;\n }\n const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el;\n const value = isUnmount ? null : refValue;\n const { i: owner, r: ref } = rawRef;\n if (!!(process.env.NODE_ENV !== \"production\") && !owner) {\n warn$1(\n `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.`\n );\n return;\n }\n const oldRef = oldRawRef && oldRawRef.r;\n const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;\n const setupState = owner.setupState;\n const rawSetupState = toRaw(setupState);\n const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {\n warn$1(\n `Template ref \"${key}\" used on a non-ref value. It will not work in the production build.`\n );\n }\n if (knownTemplateRefs.has(rawSetupState[key])) {\n return false;\n }\n }\n return hasOwn(rawSetupState, key);\n };\n if (oldRef != null && oldRef !== ref) {\n if (isString(oldRef)) {\n refs[oldRef] = null;\n if (canSetSetupRef(oldRef)) {\n setupState[oldRef] = null;\n }\n } else if (isRef(oldRef)) {\n oldRef.value = null;\n }\n }\n if (isFunction(ref)) {\n callWithErrorHandling(ref, owner, 12, [value, refs]);\n } else {\n const _isString = isString(ref);\n const _isRef = isRef(ref);\n if (_isString || _isRef) {\n const doSet = () => {\n if (rawRef.f) {\n const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;\n if (isUnmount) {\n isArray(existing) && remove(existing, refValue);\n } else {\n if (!isArray(existing)) {\n if (_isString) {\n refs[ref] = [refValue];\n if (canSetSetupRef(ref)) {\n setupState[ref] = refs[ref];\n }\n } else {\n ref.value = [refValue];\n if (rawRef.k) refs[rawRef.k] = ref.value;\n }\n } else if (!existing.includes(refValue)) {\n existing.push(refValue);\n }\n }\n } else if (_isString) {\n refs[ref] = value;\n if (canSetSetupRef(ref)) {\n setupState[ref] = value;\n }\n } else if (_isRef) {\n ref.value = value;\n if (rawRef.k) refs[rawRef.k] = value;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n };\n if (value) {\n doSet.id = -1;\n queuePostRenderEffect(doSet, parentSuspense);\n } else {\n doSet();\n }\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\"Invalid template ref type:\", ref, `(${typeof ref})`);\n }\n }\n}\n\nlet hasLoggedMismatchError = false;\nconst logMismatchError = () => {\n if (hasLoggedMismatchError) {\n return;\n }\n console.error(\"Hydration completed but contains mismatches.\");\n hasLoggedMismatchError = true;\n};\nconst isSVGContainer = (container) => container.namespaceURI.includes(\"svg\") && container.tagName !== \"foreignObject\";\nconst isMathMLContainer = (container) => container.namespaceURI.includes(\"MathML\");\nconst getContainerType = (container) => {\n if (container.nodeType !== 1) return void 0;\n if (isSVGContainer(container)) return \"svg\";\n if (isMathMLContainer(container)) return \"mathml\";\n return void 0;\n};\nconst isComment = (node) => node.nodeType === 8;\nfunction createHydrationFunctions(rendererInternals) {\n const {\n mt: mountComponent,\n p: patch,\n o: {\n patchProp,\n createText,\n nextSibling,\n parentNode,\n remove,\n insert,\n createComment\n }\n } = rendererInternals;\n const hydrate = (vnode, container) => {\n if (!container.hasChildNodes()) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Attempting to hydrate existing markup but container is empty. Performing full mount instead.`\n );\n patch(null, vnode, container);\n flushPostFlushCbs();\n container._vnode = vnode;\n return;\n }\n hydrateNode(container.firstChild, vnode, null, null, null);\n flushPostFlushCbs();\n container._vnode = vnode;\n };\n const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const isFragmentStart = isComment(node) && node.data === \"[\";\n const onMismatch = () => handleMismatch(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n isFragmentStart\n );\n const { type, ref, shapeFlag, patchFlag } = vnode;\n let domType = node.nodeType;\n vnode.el = node;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n def(node, \"__vnode\", vnode, true);\n def(node, \"__vueParentComponent\", parentComponent, true);\n }\n if (patchFlag === -2) {\n optimized = false;\n vnode.dynamicChildren = null;\n }\n let nextNode = null;\n switch (type) {\n case Text:\n if (domType !== 3) {\n if (vnode.children === \"\") {\n insert(vnode.el = createText(\"\"), parentNode(node), node);\n nextNode = node;\n } else {\n nextNode = onMismatch();\n }\n } else {\n if (node.data !== vnode.children) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text mismatch in`,\n node.parentNode,\n `\n - rendered on server: ${JSON.stringify(\n node.data\n )}\n - expected on client: ${JSON.stringify(vnode.children)}`\n );\n logMismatchError();\n node.data = vnode.children;\n }\n nextNode = nextSibling(node);\n }\n break;\n case Comment:\n if (isTemplateNode(node)) {\n nextNode = nextSibling(node);\n replaceNode(\n vnode.el = node.content.firstChild,\n node,\n parentComponent\n );\n } else if (domType !== 8 || isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = nextSibling(node);\n }\n break;\n case Static:\n if (isFragmentStart) {\n node = nextSibling(node);\n domType = node.nodeType;\n }\n if (domType === 1 || domType === 3) {\n nextNode = node;\n const needToAdoptContent = !vnode.children.length;\n for (let i = 0; i < vnode.staticCount; i++) {\n if (needToAdoptContent)\n vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data;\n if (i === vnode.staticCount - 1) {\n vnode.anchor = nextNode;\n }\n nextNode = nextSibling(nextNode);\n }\n return isFragmentStart ? nextSibling(nextNode) : nextNode;\n } else {\n onMismatch();\n }\n break;\n case Fragment:\n if (!isFragmentStart) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateFragment(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n break;\n default:\n if (shapeFlag & 1) {\n if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {\n nextNode = onMismatch();\n } else {\n nextNode = hydrateElement(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n }\n } else if (shapeFlag & 6) {\n vnode.slotScopeIds = slotScopeIds;\n const container = parentNode(node);\n if (isFragmentStart) {\n nextNode = locateClosingAnchor(node);\n } else if (isComment(node) && node.data === \"teleport start\") {\n nextNode = locateClosingAnchor(node, node.data, \"teleport end\");\n } else {\n nextNode = nextSibling(node);\n }\n mountComponent(\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n optimized\n );\n if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {\n let subTree;\n if (isFragmentStart) {\n subTree = createVNode(Fragment);\n subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild;\n } else {\n subTree = node.nodeType === 3 ? createTextVNode(\"\") : createVNode(\"div\");\n }\n subTree.el = node;\n vnode.component.subTree = subTree;\n }\n } else if (shapeFlag & 64) {\n if (domType !== 8) {\n nextNode = onMismatch();\n } else {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateChildren\n );\n }\n } else if (shapeFlag & 128) {\n nextNode = vnode.type.hydrate(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n getContainerType(parentNode(node)),\n slotScopeIds,\n optimized,\n rendererInternals,\n hydrateNode\n );\n } else if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) {\n warn$1(\"Invalid HostVNode type:\", type, `(${typeof type})`);\n }\n }\n if (ref != null) {\n setRef(ref, null, parentSuspense, vnode);\n }\n return nextNode;\n };\n const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!vnode.dynamicChildren;\n const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode;\n const forcePatch = type === \"input\" || type === \"option\";\n if (!!(process.env.NODE_ENV !== \"production\") || forcePatch || patchFlag !== -1) {\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"created\");\n }\n let needCallTransitionHooks = false;\n if (isTemplateNode(el)) {\n needCallTransitionHooks = needTransition(\n null,\n // no need check parentSuspense in hydration\n transition\n ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear;\n const content = el.content.firstChild;\n if (needCallTransitionHooks) {\n transition.beforeEnter(content);\n }\n replaceNode(content, el, parentComponent);\n vnode.el = el = content;\n }\n if (shapeFlag & 16 && // skip if element has innerHTML / textContent\n !(props && (props.innerHTML || props.textContent))) {\n let next = hydrateChildren(\n el.firstChild,\n vnode,\n el,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n let hasWarned = false;\n while (next) {\n if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n el,\n `\nServer rendered element contains more child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n const cur = next;\n next = next.nextSibling;\n remove(cur);\n }\n } else if (shapeFlag & 8) {\n let clientText = vnode.children;\n if (clientText[0] === \"\\n\" && (el.tagName === \"PRE\" || el.tagName === \"TEXTAREA\")) {\n clientText = clientText.slice(1);\n }\n if (el.textContent !== clientText) {\n if (!isMismatchAllowed(el, 0 /* TEXT */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration text content mismatch on`,\n el,\n `\n - rendered on server: ${el.textContent}\n - expected on client: ${vnode.children}`\n );\n logMismatchError();\n }\n el.textContent = vnode.children;\n }\n }\n if (props) {\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__ || forcePatch || !optimized || patchFlag & (16 | 32)) {\n const isCustomElement = el.tagName.includes(\"-\");\n for (const key in props) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && // #11189 skip if this node has directives that have created hooks\n // as it could have mutated the DOM in any possible way\n !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) {\n logMismatchError();\n }\n if (forcePatch && (key.endsWith(\"value\") || key === \"indeterminate\") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers\n key[0] === \".\" || isCustomElement) {\n patchProp(el, key, null, props[key], void 0, parentComponent);\n }\n }\n } else if (props.onClick) {\n patchProp(\n el,\n \"onClick\",\n null,\n props.onClick,\n void 0,\n parentComponent\n );\n } else if (patchFlag & 4 && isReactive(props.style)) {\n for (const key in props.style) props.style[key];\n }\n }\n let vnodeHooks;\n if (vnodeHooks = props && props.onVnodeBeforeMount) {\n invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n }\n if (dirs) {\n invokeDirectiveHook(vnode, null, parentComponent, \"beforeMount\");\n }\n if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) {\n queueEffectWithSuspense(() => {\n vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode);\n needCallTransitionHooks && transition.enter(el);\n dirs && invokeDirectiveHook(vnode, null, parentComponent, \"mounted\");\n }, parentSuspense);\n }\n }\n return el.nextSibling;\n };\n const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n optimized = optimized || !!parentVNode.dynamicChildren;\n const children = parentVNode.children;\n const l = children.length;\n let hasWarned = false;\n for (let i = 0; i < l; i++) {\n const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]);\n const isText = vnode.type === Text;\n if (node) {\n if (isText && !optimized) {\n if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {\n insert(\n createText(\n node.data.slice(vnode.children.length)\n ),\n container,\n nextSibling(node)\n );\n node.data = vnode.children;\n }\n }\n node = hydrateNode(\n node,\n vnode,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n } else if (isText && !vnode.children) {\n insert(vnode.el = createText(\"\"), container);\n } else {\n if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {\n if ((!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {\n warn$1(\n `Hydration children mismatch on`,\n container,\n `\nServer rendered element contains fewer child nodes than client vdom.`\n );\n hasWarned = true;\n }\n logMismatchError();\n }\n patch(\n null,\n vnode,\n container,\n null,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n }\n }\n return node;\n };\n const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => {\n const { slotScopeIds: fragmentSlotScopeIds } = vnode;\n if (fragmentSlotScopeIds) {\n slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds;\n }\n const container = parentNode(node);\n const next = hydrateChildren(\n nextSibling(node),\n vnode,\n container,\n parentComponent,\n parentSuspense,\n slotScopeIds,\n optimized\n );\n if (next && isComment(next) && next.data === \"]\") {\n return nextSibling(vnode.anchor = next);\n } else {\n logMismatchError();\n insert(vnode.anchor = createComment(`]`), container, next);\n return next;\n }\n };\n const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {\n if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {\n (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(\n `Hydration node mismatch:\n- rendered on server:`,\n node,\n node.nodeType === 3 ? `(text)` : isComment(node) && node.data === \"[\" ? `(start of fragment)` : ``,\n `\n- expected on client:`,\n vnode.type\n );\n logMismatchError();\n }\n vnode.el = null;\n if (isFragment) {\n const end = locateClosingAnchor(node);\n while (true) {\n const next2 = nextSibling(node);\n if (next2 && next2 !== end) {\n remove(next2);\n } else {\n break;\n }\n }\n }\n const next = nextSibling(node);\n const container = parentNode(node);\n remove(node);\n patch(\n null,\n vnode,\n container,\n next,\n parentComponent,\n parentSuspense,\n getContainerType(container),\n slotScopeIds\n );\n if (parentComponent) {\n parentComponent.vnode.el = vnode.el;\n updateHOCHostEl(parentComponent, vnode.el);\n }\n return next;\n };\n const locateClosingAnchor = (node, open = \"[\", close = \"]\") => {\n let match = 0;\n while (node) {\n node = nextSibling(node);\n if (node && isComment(node)) {\n if (node.data === open) match++;\n if (node.data === close) {\n if (match === 0) {\n return nextSibling(node);\n } else {\n match--;\n }\n }\n }\n }\n return node;\n };\n const replaceNode = (newNode, oldNode, parentComponent) => {\n const parentNode2 = oldNode.parentNode;\n if (parentNode2) {\n parentNode2.replaceChild(newNode, oldNode);\n }\n let parent = parentComponent;\n while (parent) {\n if (parent.vnode.el === oldNode) {\n parent.vnode.el = parent.subTree.el = newNode;\n }\n parent = parent.parent;\n }\n };\n const isTemplateNode = (node) => {\n return node.nodeType === 1 && node.tagName === \"TEMPLATE\";\n };\n return [hydrate, hydrateNode];\n}\nfunction propHasMismatch(el, key, clientValue, vnode, instance) {\n let mismatchType;\n let mismatchKey;\n let actual;\n let expected;\n if (key === \"class\") {\n actual = el.getAttribute(\"class\");\n expected = normalizeClass(clientValue);\n if (!isSetEqual(toClassSet(actual || \"\"), toClassSet(expected))) {\n mismatchType = 2 /* CLASS */;\n mismatchKey = `class`;\n }\n } else if (key === \"style\") {\n actual = el.getAttribute(\"style\") || \"\";\n expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));\n const actualMap = toStyleMap(actual);\n const expectedMap = toStyleMap(expected);\n if (vnode.dirs) {\n for (const { dir, value } of vnode.dirs) {\n if (dir.name === \"show\" && !value) {\n expectedMap.set(\"display\", \"none\");\n }\n }\n }\n if (instance) {\n resolveCssVars(instance, vnode, expectedMap);\n }\n if (!isMapEqual(actualMap, expectedMap)) {\n mismatchType = 3 /* STYLE */;\n mismatchKey = \"style\";\n }\n } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {\n if (isBooleanAttr(key)) {\n actual = el.hasAttribute(key);\n expected = includeBooleanAttr(clientValue);\n } else if (clientValue == null) {\n actual = el.hasAttribute(key);\n expected = false;\n } else {\n if (el.hasAttribute(key)) {\n actual = el.getAttribute(key);\n } else if (key === \"value\" && el.tagName === \"TEXTAREA\") {\n actual = el.value;\n } else {\n actual = false;\n }\n expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;\n }\n if (actual !== expected) {\n mismatchType = 4 /* ATTRIBUTE */;\n mismatchKey = key;\n }\n }\n if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {\n const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}=\"${v}\"`;\n const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;\n const postSegment = `\n - rendered on server: ${format(actual)}\n - expected on client: ${format(expected)}\n Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead.\n You should fix the source of the mismatch.`;\n {\n warn$1(preSegment, el, postSegment);\n }\n return true;\n }\n return false;\n}\nfunction toClassSet(str) {\n return new Set(str.trim().split(/\\s+/));\n}\nfunction isSetEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const s of a) {\n if (!b.has(s)) {\n return false;\n }\n }\n return true;\n}\nfunction toStyleMap(str) {\n const styleMap = /* @__PURE__ */ new Map();\n for (const item of str.split(\";\")) {\n let [key, value] = item.split(\":\");\n key = key.trim();\n value = value && value.trim();\n if (key && value) {\n styleMap.set(key, value);\n }\n }\n return styleMap;\n}\nfunction isMapEqual(a, b) {\n if (a.size !== b.size) {\n return false;\n }\n for (const [key, value] of a) {\n if (value !== b.get(key)) {\n return false;\n }\n }\n return true;\n}\nfunction resolveCssVars(instance, vnode, expectedMap) {\n const root = instance.subTree;\n if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {\n const cssVars = instance.getCssVars();\n for (const key in cssVars) {\n expectedMap.set(\n `--${getEscapedCssVarName(key, false)}`,\n String(cssVars[key])\n );\n }\n }\n if (vnode === root && instance.parent) {\n resolveCssVars(instance.parent, instance.vnode, expectedMap);\n }\n}\nconst allowMismatchAttr = \"data-allow-mismatch\";\nconst MismatchTypeString = {\n [0 /* TEXT */]: \"text\",\n [1 /* CHILDREN */]: \"children\",\n [2 /* CLASS */]: \"class\",\n [3 /* STYLE */]: \"style\",\n [4 /* ATTRIBUTE */]: \"attribute\"\n};\nfunction isMismatchAllowed(el, allowedType) {\n if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {\n while (el && !el.hasAttribute(allowMismatchAttr)) {\n el = el.parentElement;\n }\n }\n const allowedAttr = el && el.getAttribute(allowMismatchAttr);\n if (allowedAttr == null) {\n return false;\n } else if (allowedAttr === \"\") {\n return true;\n } else {\n const list = allowedAttr.split(\",\");\n if (allowedType === 0 /* TEXT */ && list.includes(\"children\")) {\n return true;\n }\n return allowedAttr.split(\",\").includes(MismatchTypeString[allowedType]);\n }\n}\n\nconst requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1));\nconst cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id));\nconst hydrateOnIdle = (timeout = 1e4) => (hydrate) => {\n const id = requestIdleCallback(hydrate, { timeout });\n return () => cancelIdleCallback(id);\n};\nfunction elementIsVisibleInViewport(el) {\n const { top, left, bottom, right } = el.getBoundingClientRect();\n const { innerHeight, innerWidth } = window;\n return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth);\n}\nconst hydrateOnVisible = (opts) => (hydrate, forEach) => {\n const ob = new IntersectionObserver((entries) => {\n for (const e of entries) {\n if (!e.isIntersecting) continue;\n ob.disconnect();\n hydrate();\n break;\n }\n }, opts);\n forEach((el) => {\n if (!(el instanceof Element)) return;\n if (elementIsVisibleInViewport(el)) {\n hydrate();\n ob.disconnect();\n return false;\n }\n ob.observe(el);\n });\n return () => ob.disconnect();\n};\nconst hydrateOnMediaQuery = (query) => (hydrate) => {\n if (query) {\n const mql = matchMedia(query);\n if (mql.matches) {\n hydrate();\n } else {\n mql.addEventListener(\"change\", hydrate, { once: true });\n return () => mql.removeEventListener(\"change\", hydrate);\n }\n }\n};\nconst hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {\n if (isString(interactions)) interactions = [interactions];\n let hasHydrated = false;\n const doHydrate = (e) => {\n if (!hasHydrated) {\n hasHydrated = true;\n teardown();\n hydrate();\n e.target.dispatchEvent(new e.constructor(e.type, e));\n }\n };\n const teardown = () => {\n forEach((el) => {\n for (const i of interactions) {\n el.removeEventListener(i, doHydrate);\n }\n });\n };\n forEach((el) => {\n for (const i of interactions) {\n el.addEventListener(i, doHydrate, { once: true });\n }\n });\n return teardown;\n};\nfunction forEachElement(node, cb) {\n if (isComment(node) && node.data === \"[\") {\n let depth = 1;\n let next = node.nextSibling;\n while (next) {\n if (next.nodeType === 1) {\n const result = cb(next);\n if (result === false) {\n break;\n }\n } else if (isComment(next)) {\n if (next.data === \"]\") {\n if (--depth === 0) break;\n } else if (next.data === \"[\") {\n depth++;\n }\n }\n next = next.nextSibling;\n }\n } else {\n cb(node);\n }\n}\n\nconst isAsyncWrapper = (i) => !!i.type.__asyncLoader;\n/*! #__NO_SIDE_EFFECTS__ */\n// @__NO_SIDE_EFFECTS__\nfunction defineAsyncComponent(source) {\n if (isFunction(source)) {\n source = { loader: source };\n }\n const {\n loader,\n loadingComponent,\n errorComponent,\n delay = 200,\n hydrate: hydrateStrategy,\n timeout,\n // undefined = never times out\n suspensible = true,\n onError: userOnError\n } = source;\n let pendingRequest = null;\n let resolvedComp;\n let retries = 0;\n const retry = () => {\n retries++;\n pendingRequest = null;\n return load();\n };\n const load = () => {\n let thisRequest;\n return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {\n err = err instanceof Error ? err : new Error(String(err));\n if (userOnError) {\n return new Promise((resolve, reject) => {\n const userRetry = () => resolve(retry());\n const userFail = () => reject(err);\n userOnError(err, userRetry, userFail, retries + 1);\n });\n } else {\n throw err;\n }\n }).then((comp) => {\n if (thisRequest !== pendingRequest && pendingRequest) {\n return pendingRequest;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && !comp) {\n warn$1(\n `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`\n );\n }\n if (comp && (comp.__esModule || comp[Symbol.toStringTag] === \"Module\")) {\n comp = comp.default;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && comp && !isObject(comp) && !isFunction(comp)) {\n throw new Error(`Invalid async component load result: ${comp}`);\n }\n resolvedComp = comp;\n return comp;\n }));\n };\n return defineComponent({\n name: \"AsyncComponentWrapper\",\n __asyncLoader: load,\n __asyncHydrate(el, instance, hydrate) {\n const doHydrate = hydrateStrategy ? () => {\n const teardown = hydrateStrategy(\n hydrate,\n (cb) => forEachElement(el, cb)\n );\n if (teardown) {\n (instance.bum || (instance.bum = [])).push(teardown);\n }\n } : hydrate;\n if (resolvedComp) {\n doHydrate();\n } else {\n load().then(() => !instance.isUnmounted && doHydrate());\n }\n },\n get __asyncResolved() {\n return resolvedComp;\n },\n setup() {\n const instance = currentInstance;\n markAsyncBoundary(instance);\n if (resolvedComp) {\n return () => createInnerComp(resolvedComp, instance);\n }\n const onError = (err) => {\n pendingRequest = null;\n handleError(\n err,\n instance,\n 13,\n !errorComponent\n );\n };\n if (suspensible && instance.suspense || isInSSRComponentSetup) {\n return load().then((comp) => {\n return () => createInnerComp(comp, instance);\n }).catch((err) => {\n onError(err);\n return () => errorComponent ? createVNode(errorComponent, {\n error: err\n }) : null;\n });\n }\n const loaded = ref(false);\n const error = ref();\n const delayed = ref(!!delay);\n if (delay) {\n setTimeout(() => {\n delayed.value = false;\n }, delay);\n }\n if (timeout != null) {\n setTimeout(() => {\n if (!loaded.value && !error.value) {\n const err = new Error(\n `Async component timed out after ${timeout}ms.`\n );\n onError(err);\n error.value = err;\n }\n }, timeout);\n }\n load().then(() => {\n loaded.value = true;\n if (instance.parent && isKeepAlive(instance.parent.vnode)) {\n instance.parent.update();\n }\n }).catch((err) => {\n onError(err);\n error.value = err;\n });\n return () => {\n if (loaded.value && resolvedComp) {\n return createInnerComp(resolvedComp, instance);\n } else if (error.value && errorComponent) {\n return createVNode(errorComponent, {\n error: error.value\n });\n } else if (loadingComponent && !delayed.value) {\n return createVNode(loadingComponent);\n }\n };\n }\n });\n}\nfunction createInnerComp(comp, parent) {\n const { ref: ref2, props, children, ce } = parent.vnode;\n const vnode = createVNode(comp, props, children);\n vnode.ref = ref2;\n vnode.ce = ce;\n delete parent.vnode.ce;\n return vnode;\n}\n\nconst isKeepAlive = (vnode) => vnode.type.__isKeepAlive;\nconst KeepAliveImpl = {\n name: `KeepAlive`,\n // Marker for special handling inside the renderer. We are not using a ===\n // check directly on KeepAlive in the renderer, because importing it directly\n // would prevent it from being tree-shaken.\n __isKeepAlive: true,\n props: {\n include: [String, RegExp, Array],\n exclude: [String, RegExp, Array],\n max: [String, Number]\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const sharedContext = instance.ctx;\n if (!sharedContext.renderer) {\n return () => {\n const children = slots.default && slots.default();\n return children && children.length === 1 ? children[0] : children;\n };\n }\n const cache = /* @__PURE__ */ new Map();\n const keys = /* @__PURE__ */ new Set();\n let current = null;\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n instance.__v_cache = cache;\n }\n const parentSuspense = instance.suspense;\n const {\n renderer: {\n p: patch,\n m: move,\n um: _unmount,\n o: { createElement }\n }\n } = sharedContext;\n const storageContainer = createElement(\"div\");\n sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {\n const instance2 = vnode.component;\n move(vnode, container, anchor, 0, parentSuspense);\n patch(\n instance2.vnode,\n vnode,\n container,\n anchor,\n instance2,\n parentSuspense,\n namespace,\n vnode.slotScopeIds,\n optimized\n );\n queuePostRenderEffect(() => {\n instance2.isDeactivated = false;\n if (instance2.a) {\n invokeArrayFns(instance2.a);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeMounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n sharedContext.deactivate = (vnode) => {\n const instance2 = vnode.component;\n invalidateMount(instance2.m);\n invalidateMount(instance2.a);\n move(vnode, storageContainer, null, 1, parentSuspense);\n queuePostRenderEffect(() => {\n if (instance2.da) {\n invokeArrayFns(instance2.da);\n }\n const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;\n if (vnodeHook) {\n invokeVNodeHook(vnodeHook, instance2.parent, vnode);\n }\n instance2.isDeactivated = true;\n }, parentSuspense);\n if (!!(process.env.NODE_ENV !== \"production\") || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentAdded(instance2);\n }\n };\n function unmount(vnode) {\n resetShapeFlag(vnode);\n _unmount(vnode, instance, parentSuspense, true);\n }\n function pruneCache(filter) {\n cache.forEach((vnode, key) => {\n const name = getComponentName(vnode.type);\n if (name && !filter(name)) {\n pruneCacheEntry(key);\n }\n });\n }\n function pruneCacheEntry(key) {\n const cached = cache.get(key);\n if (cached && (!current || !isSameVNodeType(cached, current))) {\n unmount(cached);\n } else if (current) {\n resetShapeFlag(current);\n }\n cache.delete(key);\n keys.delete(key);\n }\n watch(\n () => [props.include, props.exclude],\n ([include, exclude]) => {\n include && pruneCache((name) => matches(include, name));\n exclude && pruneCache((name) => !matches(exclude, name));\n },\n // prune post-render after `current` has been updated\n { flush: \"post\", deep: true }\n );\n let pendingCacheKey = null;\n const cacheSubtree = () => {\n if (pendingCacheKey != null) {\n if (isSuspense(instance.subTree.type)) {\n queuePostRenderEffect(() => {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }, instance.subTree.suspense);\n } else {\n cache.set(pendingCacheKey, getInnerChild(instance.subTree));\n }\n }\n };\n onMounted(cacheSubtree);\n onUpdated(cacheSubtree);\n onBeforeUnmount(() => {\n cache.forEach((cached) => {\n const { subTree, suspense } = instance;\n const vnode = getInnerChild(subTree);\n if (cached.type === vnode.type && cached.key === vnode.key) {\n resetShapeFlag(vnode);\n const da = vnode.component.da;\n da && queuePostRenderEffect(da, suspense);\n return;\n }\n unmount(cached);\n });\n });\n return () => {\n pendingCacheKey = null;\n if (!slots.default) {\n return current = null;\n }\n const children = slots.default();\n const rawVNode = children[0];\n if (children.length > 1) {\n if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(`KeepAlive should contain exactly one component child.`);\n }\n current = null;\n return children;\n } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) {\n current = null;\n return rawVNode;\n }\n let vnode = getInnerChild(rawVNode);\n if (vnode.type === Comment) {\n current = null;\n return vnode;\n }\n const comp = vnode.type;\n const name = getComponentName(\n isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp\n );\n const { include, exclude, max } = props;\n if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) {\n vnode.shapeFlag &= ~256;\n current = vnode;\n return rawVNode;\n }\n const key = vnode.key == null ? comp : vnode.key;\n const cachedVNode = cache.get(key);\n if (vnode.el) {\n vnode = cloneVNode(vnode);\n if (rawVNode.shapeFlag & 128) {\n rawVNode.ssContent = vnode;\n }\n }\n pendingCacheKey = key;\n if (cachedVNode) {\n vnode.el = cachedVNode.el;\n vnode.component = cachedVNode.component;\n if (vnode.transition) {\n setTransitionHooks(vnode, vnode.transition);\n }\n vnode.shapeFlag |= 512;\n keys.delete(key);\n keys.add(key);\n } else {\n keys.add(key);\n if (max && keys.size > parseInt(max, 10)) {\n pruneCacheEntry(keys.values().next().value);\n }\n }\n vnode.shapeFlag |= 256;\n current = vnode;\n return isSuspense(rawVNode.type) ? rawVNode : vnode;\n };\n }\n};\nconst KeepAlive = KeepAliveImpl;\nfunction matches(pattern, name) {\n if (isArray(pattern)) {\n return pattern.some((p) => matches(p, name));\n } else if (isString(pattern)) {\n return pattern.split(\",\").includes(name);\n } else if (isRegExp(pattern)) {\n pattern.lastIndex = 0;\n return pattern.test(name);\n }\n return false;\n}\nfunction onActivated(hook, target) {\n registerKeepAliveHook(hook, \"a\", target);\n}\nfunction onDeactivated(hook, target) {\n registerKeepAliveHook(hook, \"da\", target);\n}\nfunction registerKeepAliveHook(hook, type, target = currentInstance) {\n const wrappedHook = hook.__wdc || (hook.__wdc = () => {\n let current = target;\n while (current) {\n if (current.isDeactivated) {\n return;\n }\n current = current.parent;\n }\n return hook();\n });\n injectHook(type, wrappedHook, target);\n if (target) {\n let current = target.parent;\n while (current && current.parent) {\n if (isKeepAlive(current.parent.vnode)) {\n injectToKeepAliveRoot(wrappedHook, type, target, current);\n }\n current = current.parent;\n }\n }\n}\nfunction injectToKeepAliveRoot(hook, type, target, keepAliveRoot) {\n const injected = injectHook(\n type,\n hook,\n keepAliveRoot,\n true\n /* prepend */\n );\n onUnmounted(() => {\n remove(keepAliveRoot[type], injected);\n }, target);\n}\nfunction resetShapeFlag(vnode) {\n vnode.shapeFlag &= ~256;\n vnode.shapeFlag &= ~512;\n}\nfunction getInnerChild(vnode) {\n return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;\n}\n\nfunction injectHook(type, hook, target = currentInstance, prepend = false) {\n if (target) {\n const hooks = target[type] || (target[type] = []);\n const wrappedHook = hook.__weh || (hook.__weh = (...args) => {\n pauseTracking();\n const reset = setCurrentInstance(target);\n const res = callWithAsyncErrorHandling(hook, target, type, args);\n reset();\n resetTracking();\n return res;\n });\n if (prepend) {\n hooks.unshift(wrappedHook);\n } else {\n hooks.push(wrappedHook);\n }\n return wrappedHook;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, \"\"));\n warn$1(\n `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup().` + (` If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` )\n );\n }\n}\nconst createHook = (lifecycle) => (hook, target = currentInstance) => {\n if (!isInSSRComponentSetup || lifecycle === \"sp\") {\n injectHook(lifecycle, (...args) => hook(...args), target);\n }\n};\nconst onBeforeMount = createHook(\"bm\");\nconst onMounted = createHook(\"m\");\nconst onBeforeUpdate = createHook(\n \"bu\"\n);\nconst onUpdated = createHook(\"u\");\nconst onBeforeUnmount = createHook(\n \"bum\"\n);\nconst onUnmounted = createHook(\"um\");\nconst onServerPrefetch = createHook(\n \"sp\"\n);\nconst onRenderTriggered = createHook(\"rtg\");\nconst onRenderTracked = createHook(\"rtc\");\nfunction onErrorCaptured(hook, target = currentInstance) {\n injectHook(\"ec\", hook, target);\n}\n\nconst COMPONENTS = \"components\";\nconst DIRECTIVES = \"directives\";\nfunction resolveComponent(name, maybeSelfReference) {\n return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;\n}\nconst NULL_DYNAMIC_COMPONENT = Symbol.for(\"v-ndc\");\nfunction resolveDynamicComponent(component) {\n if (isString(component)) {\n return resolveAsset(COMPONENTS, component, false) || component;\n } else {\n return component || NULL_DYNAMIC_COMPONENT;\n }\n}\nfunction resolveDirective(name) {\n return resolveAsset(DIRECTIVES, name);\n}\nfunction resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) {\n const instance = currentRenderingInstance || currentInstance;\n if (instance) {\n const Component = instance.type;\n if (type === COMPONENTS) {\n const selfName = getComponentName(\n Component,\n false\n );\n if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) {\n return Component;\n }\n }\n const res = (\n // local registration\n // check instance[type] first which is resolved for options API\n resolve(instance[type] || Component[type], name) || // global registration\n resolve(instance.appContext[type], name)\n );\n if (!res && maybeSelfReference) {\n return Component;\n }\n if (!!(process.env.NODE_ENV !== \"production\") && warnMissing && !res) {\n const extra = type === COMPONENTS ? `\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``;\n warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`);\n }\n return res;\n } else if (!!(process.env.NODE_ENV !== \"production\")) {\n warn$1(\n `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().`\n );\n }\n}\nfunction resolve(registry, name) {\n return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]);\n}\n\nfunction renderList(source, renderItem, cache, index) {\n let ret;\n const cached = cache && cache[index];\n const sourceIsArray = isArray(source);\n if (sourceIsArray || isString(source)) {\n const sourceIsReactiveArray = sourceIsArray && isReactive(source);\n let needsWrap = false;\n if (sourceIsReactiveArray) {\n needsWrap = !isShallow(source);\n source = shallowReadArray(source);\n }\n ret = new Array(source.length);\n for (let i = 0, l = source.length; i < l; i++) {\n ret[i] = renderItem(\n needsWrap ? toReactive(source[i]) : source[i],\n i,\n void 0,\n cached && cached[i]\n );\n }\n } else if (typeof source === \"number\") {\n if (!!(process.env.NODE_ENV !== \"production\") && !Number.isInteger(source)) {\n warn$1(`The v-for range expect an integer value but got ${source}.`);\n }\n ret = new Array(source);\n for (let i = 0; i < source; i++) {\n ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]);\n }\n } else if (isObject(source)) {\n if (source[Symbol.iterator]) {\n ret = Array.from(\n source,\n (item, i) => renderItem(item, i, void 0, cached && cached[i])\n );\n } else {\n const keys = Object.keys(source);\n ret = new Array(keys.length);\n for (let i = 0, l = keys.length; i < l; i++) {\n const key = keys[i];\n ret[i] = renderItem(source[key], key, i, cached && cached[i]);\n }\n }\n } else {\n ret = [];\n }\n if (cache) {\n cache[index] = ret;\n }\n return ret;\n}\n\nfunction createSlots(slots, dynamicSlots) {\n for (let i = 0; i < dynamicSlots.length; i++) {\n const slot = dynamicSlots[i];\n if (isArray(slot)) {\n for (let j = 0; j < slot.length; j++) {\n slots[slot[j].name] = slot[j].fn;\n }\n } else if (slot) {\n slots[slot.name] = slot.key ? (...args) => {\n const res = slot.fn(...args);\n if (res) res.key = slot.key;\n return res;\n } : slot.fn;\n }\n }\n return slots;\n}\n\nfunction renderSlot(slots, name, props = {}, fallback, noSlotted) {\n if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {\n if (name !== \"default\") props.name = name;\n return openBlock(), createBlock(\n Fragment,\n null,\n [createVNode(\"slot\", props, fallback && fallback())],\n 64\n );\n }\n let slot = slots[name];\n if (!!(process.env.NODE_ENV !== \"production\") && slot && slot.length > 1) {\n warn$1(\n `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.`\n );\n slot = () => [];\n }\n if (slot && slot._c) {\n slot._d = false;\n }\n openBlock();\n const validSlotContent = slot && ensureValidVNode(slot(props));\n const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch\n // key attached in the `createSlots` helper, respect that\n validSlotContent && validSlotContent.key;\n const rendered = createBlock(\n Fragment,\n {\n key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content\n (!validSlotContent && fallback ? \"_fb\" : \"\")\n },\n validSlotContent || (fallback ? fallback() : []),\n validSlotContent && slots._ === 1 ? 64 : -2\n );\n if (!noSlotted && rendered.scopeId) {\n rendered.slotScopeIds = [rendered.scopeId + \"-s\"];\n }\n if (slot && slot._c) {\n slot._d = true;\n }\n return rendered;\n}\nfunction ensureValidVNode(vnodes) {\n return vnodes.some((child) => {\n if (!isVNode(child)) return true;\n if (child.type === Comment) return false;\n if (child.type === Fragment && !ensureValidVNode(child.children))\n return false;\n return true;\n }) ? vnodes : null;\n}\n\nfunction toHandlers(obj, preserveCaseIfNecessary) {\n const ret = {};\n if (!!(process.env.NODE_ENV !== \"production\") && !isObject(obj)) {\n warn$1(`v-on with no argument expects an object value.`);\n return ret;\n }\n for (const key in obj) {\n ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key];\n }\n return ret;\n}\n\nconst getPublicInstance = (i) => {\n if (!i) return null;\n if (isStatefulComponent(i)) return getComponentPublicInstance(i);\n return getPublicInstance(i.parent);\n};\nconst publicPropertiesMap = (\n // Move PURE marker to new line to workaround compiler discarding it\n // due to type annotation\n /* @__PURE__ */ extend(/* @__PURE__ */ Object.create(null), {\n $: (i) => i,\n $el: (i) => i.vnode.el,\n $data: (i) => i.data,\n $props: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.props) : i.props,\n $attrs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.attrs) : i.attrs,\n $slots: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.slots) : i.slots,\n $refs: (i) => !!(process.env.NODE_ENV !== \"production\") ? shallowReadonly(i.refs) : i.refs,\n $parent: (i) => getPublicInstance(i.parent),\n $root: (i) => getPublicInstance(i.root),\n $host: (i) => i.ce,\n $emit: (i) => i.emit,\n $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type,\n $forceUpdate: (i) => i.f || (i.f = () => {\n queueJob(i.update);\n }),\n $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)),\n $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP\n })\n);\nconst isReservedPrefix = (key) => key === \"_\" || key === \"$\";\nconst hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key);\nconst PublicInstanceProxyHandlers = {\n get({ _: instance }, key) {\n if (key === \"__v_skip\") {\n return true;\n }\n const { ctx, setupState, data, props, accessCache, type, appContext } = instance;\n if (!!(process.env.NODE_ENV !== \"production\") && key === \"__isVue\") {\n return true;\n }\n let normalizedProps;\n if (key[0] !== \"$\") {\n const n = accessCache[key];\n if (n !== void 0) {\n switch (n) {\n case 1 /* SETUP */:\n return setupState[key];\n case 2 /* DATA */:\n return data[key];\n case 4 /* CONTEXT */:\n return ctx[key];\n case 3 /* PROPS */:\n return props[key];\n }\n } else if (hasSetupBinding(setupState, key)) {\n accessCache[key] = 1 /* SETUP */;\n return setupState[key];\n } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {\n accessCache[key] = 2 /* DATA */;\n return data[key];\n } else if (\n // only cache other properties when instance has declared (thus stable)\n // props\n (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key)\n ) {\n accessCache[key] = 3 /* PROPS */;\n return props[key];\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) {\n accessCache[key] = 0 /* OTHER */;\n }\n }\n const publicGetter = publicPropertiesMap[key];\n let cssModule, globalProperties;\n if (publicGetter) {\n if (key === \"$attrs\") {\n track(instance.attrs, \"get\", \"\");\n !!(process.env.NODE_ENV !== \"production\") && markAttrsAccessed();\n } else if (!!(process.env.NODE_ENV !== \"production\") && key === \"$slots\") {\n track(instance, \"get\", key);\n }\n return publicGetter(instance);\n } else if (\n // css module (injected by vue-loader)\n (cssModule = type.__cssModules) && (cssModule = cssModule[key])\n ) {\n return cssModule;\n } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) {\n accessCache[key] = 4 /* CONTEXT */;\n return ctx[key];\n } else if (\n // global properties\n globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key)\n ) {\n {\n return globalProperties[key];\n }\n } else if (!!(process.env.NODE_ENV !== \"production\") && currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading\n // to infinite warning loop\n key.indexOf(\"__v\") !== 0)) {\n if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) {\n warn$1(\n `Property ${JSON.stringify(\n key\n )} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`\n );\n } else if (instance === currentRenderingInstance) {\n warn$1(\n `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.`\n );\n }\n }\n },\n set({ _: instance }, key, value) {\n const { data, setupState, ctx } = instance;\n if (hasSetupBinding(setupState, key)) {\n setupState[key] = value;\n return true;\n } else if (!!(process.env.NODE_ENV !== \"production\") && setupState.__isScriptSetup && hasOwn(setupState, key)) {\n warn$1(`Cannot mutate \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase();\n if (htmlRawNames.includes(name)) {\n effects.consume(code);\n return continuationClose;\n }\n return continuation(code);\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n // Always the case.\n effects.consume(code);\n buffer += String.fromCharCode(code);\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationAfter(code);\n }\n effects.consume(code);\n return continuationClose;\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(\"htmlFlow\");\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start;\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
    \n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return effects.attempt(blankLine, ok, nok);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiAlphanumeric, asciiAlpha, markdownLineEndingOrSpace, markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable | undefined} */\n let marker;\n /** @type {number} */\n let index;\n /** @type {State} */\n let returnState;\n return start;\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n index = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n return nok(code);\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return nok(code);\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n if (markdownLineEnding(code)) {\n returnState = comment;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return comment;\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return comment(code);\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code);\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n return index === value.length ? cdata : cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return cdata;\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return declaration;\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return instruction;\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n return tagCloseBetween(code);\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n return end(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n return end(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code === null) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok;\n }\n return nok(code);\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineEndingAfter;\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code);\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(\"htmlTextData\");\n return returnState(code);\n }\n}","/**\n * @import {\n * Construct,\n * Event,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer,\n * Token\n * } from 'micromark-util-types'\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n resolveAll: resolveAllLabelEnd,\n resolveTo: resolveToLabelEnd,\n tokenize: tokenizeLabelEnd\n};\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n};\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n};\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1;\n /** @type {Array} */\n const newEvents = [];\n while (++index < events.length) {\n const token = events[index][1];\n newEvents.push(events[index]);\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n // Remove the marker.\n const offset = token.type === \"labelImage\" ? 4 : 2;\n token.type = \"data\";\n index += offset;\n }\n }\n\n // If the events are equal, we don't have to copy newEvents to events\n if (events.length !== newEvents.length) {\n splice(events, 0, events.length, newEvents);\n }\n return events;\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length;\n let offset = 0;\n /** @type {Token} */\n let token;\n /** @type {number | undefined} */\n let open;\n /** @type {number | undefined} */\n let close;\n /** @type {Array} */\n let media;\n\n // Find an opening.\n while (index--) {\n token = events[index][1];\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n const label = {\n type: \"label\",\n start: {\n ...events[open][1].start\n },\n end: {\n ...events[close][1].end\n }\n };\n const text = {\n type: \"labelText\",\n start: {\n ...events[open + offset + 2][1].end\n },\n end: {\n ...events[close - 2][1].start\n }\n };\n media = [['enter', group, context], ['enter', label, context]];\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3));\n\n // Text open.\n media = push(media, [['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));\n\n // Text close, marker close, label close.\n media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]);\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1));\n\n // Media close.\n media = push(media, [['exit', group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n /** @type {Token} */\n let labelStart;\n /** @type {boolean} */\n let defined;\n\n // Find an opening.\n while (index--) {\n if ((self.events[index][1].type === \"labelImage\" || self.events[index][1].type === \"labelLink\") && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n return start;\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code);\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code);\n }\n defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })));\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return after;\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code);\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code);\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code);\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code);\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code);\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart;\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n return resourceBefore;\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code);\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code);\n }\n return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, \"resourceDestination\", \"resourceDestinationLiteral\", \"resourceDestinationLiteralMarker\", \"resourceDestinationRaw\", \"resourceDestinationString\", 32)(code);\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code);\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code);\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, resourceTitleAfter, nok, \"resourceTitle\", \"resourceTitleMarker\", \"resourceTitleString\")(code);\n }\n return resourceEnd(code);\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code);\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok;\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this;\n return referenceFull;\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, \"reference\", \"referenceMarker\", \"referenceString\")(code);\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code);\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart;\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n return referenceCollapsedOpen;\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartImage\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

    !^a

    \n *

    !^a

    \n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n resolveAll: labelEnd.resolveAll,\n tokenize: tokenizeLabelStartLink\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @import {\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n /** @type {State} */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok, \"linePrefix\");\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n};\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"thematicBreak\");\n // To do: parse indent like `markdown-rs`.\n return before(code);\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n marker = code;\n return atBreak(code);\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter(\"thematicBreakSequence\");\n return sequence(code);\n }\n if (size >= 3 && (code === null || markdownLineEnding(code))) {\n effects.exit(\"thematicBreak\");\n return ok(code);\n }\n return nok(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code);\n size++;\n return sequence;\n }\n effects.exit(\"thematicBreakSequence\");\n return markdownSpace(code) ? factorySpace(effects, atBreak, \"whitespace\")(code) : atBreak(code);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * Exiter,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiDigit, markdownSpace } from 'micromark-util-character';\nimport { blankLine } from './blank-line.js';\nimport { thematicBreak } from './thematic-break.js';\n\n/** @type {Construct} */\nexport const list = {\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd,\n name: 'list',\n tokenize: tokenizeListStart\n};\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n partial: true,\n tokenize: tokenizeListItemPrefixWhitespace\n};\n\n/** @type {Construct} */\nconst indentConstruct = {\n partial: true,\n tokenize: tokenizeIndent\n};\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this;\n const tail = self.events[self.events.length - 1];\n let initialSize = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n let size = 0;\n return start;\n\n /** @type {State} */\n function start(code) {\n const kind = self.containerState.type || (code === 42 || code === 43 || code === 45 ? \"listUnordered\" : \"listOrdered\");\n if (kind === \"listUnordered\" ? !self.containerState.marker || code === self.containerState.marker : asciiDigit(code)) {\n if (!self.containerState.type) {\n self.containerState.type = kind;\n effects.enter(kind, {\n _container: true\n });\n }\n if (kind === \"listUnordered\") {\n effects.enter(\"listItemPrefix\");\n return code === 42 || code === 45 ? effects.check(thematicBreak, nok, atMarker)(code) : atMarker(code);\n }\n if (!self.interrupt || code === 49) {\n effects.enter(\"listItemPrefix\");\n effects.enter(\"listItemValue\");\n return inside(code);\n }\n }\n return nok(code);\n }\n\n /** @type {State} */\n function inside(code) {\n if (asciiDigit(code) && ++size < 10) {\n effects.consume(code);\n return inside;\n }\n if ((!self.interrupt || size < 2) && (self.containerState.marker ? code === self.containerState.marker : code === 41 || code === 46)) {\n effects.exit(\"listItemValue\");\n return atMarker(code);\n }\n return nok(code);\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n effects.enter(\"listItemMarker\");\n effects.consume(code);\n effects.exit(\"listItemMarker\");\n self.containerState.marker = self.containerState.marker || code;\n return effects.check(blankLine,\n // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank, effects.attempt(listItemPrefixWhitespaceConstruct, endOfPrefix, otherPrefix));\n }\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.initialBlankLine = true;\n initialSize++;\n return endOfPrefix(code);\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (markdownSpace(code)) {\n effects.enter(\"listItemPrefixWhitespace\");\n effects.consume(code);\n effects.exit(\"listItemPrefixWhitespace\");\n return endOfPrefix;\n }\n return nok(code);\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n self.containerState.size = initialSize + self.sliceSerialize(effects.exit(\"listItemPrefix\"), true).length;\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this;\n self.containerState._closeFlow = undefined;\n return effects.check(blankLine, onBlank, notBlank);\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.furtherBlankLines = self.containerState.furtherBlankLines || self.containerState.initialBlankLine;\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return factorySpace(effects, ok, \"listItemIndent\", self.containerState.size + 1)(code);\n }\n\n /** @type {State} */\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !markdownSpace(code)) {\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return notInCurrentItem(code);\n }\n self.containerState.furtherBlankLines = undefined;\n self.containerState.initialBlankLine = undefined;\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code);\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true;\n // As we’re closing flow, we’re no longer interrupting.\n self.interrupt = undefined;\n // Always populated by defaults.\n\n return factorySpace(effects, effects.attempt(list, ok, nok), \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this;\n return factorySpace(effects, afterPrefix, \"listItemIndent\", self.containerState.size + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return tail && tail[1].type === \"listItemIndent\" && tail[2].sliceSerialize(tail[1], true).length === self.containerState.size ? ok(code) : nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Exiter}\n */\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type);\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this;\n\n // Always populated by defaults.\n\n return factorySpace(effects, afterPrefix, \"listItemPrefixWhitespace\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4 + 1);\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1];\n return !markdownSpace(code) && tail && tail[1].type === \"listItemPrefixWhitespace\" ? ok(code) : nok(code);\n }\n}","/**\n * @import {\n * Code,\n * Construct,\n * Resolver,\n * State,\n * TokenizeContext,\n * Tokenizer\n * } from 'micromark-util-types'\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const setextUnderline = {\n name: 'setextUnderline',\n resolveTo: resolveToSetextUnderline,\n tokenize: tokenizeSetextUnderline\n};\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length;\n /** @type {number | undefined} */\n let content;\n /** @type {number | undefined} */\n let text;\n /** @type {number | undefined} */\n let definition;\n\n // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === \"content\") {\n content = index;\n break;\n }\n if (events[index][1].type === \"paragraph\") {\n text = index;\n }\n }\n // Exit\n else {\n if (events[index][1].type === \"content\") {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1);\n }\n if (!definition && events[index][1].type === \"definition\") {\n definition = index;\n }\n }\n }\n const heading = {\n type: \"setextHeading\",\n start: {\n ...events[text][1].start\n },\n end: {\n ...events[events.length - 1][1].end\n }\n };\n\n // Change the paragraph to setext heading text.\n events[text][1].type = \"setextHeadingText\";\n\n // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context]);\n events.splice(definition + 1, 0, ['exit', events[content][1], context]);\n events[content][1].end = {\n ...events[definition][1].end\n };\n } else {\n events[content][1] = heading;\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context]);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * Context.\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length;\n /** @type {boolean | undefined} */\n let paragraph;\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (self.events[index][1].type !== \"lineEnding\" && self.events[index][1].type !== \"linePrefix\" && self.events[index][1].type !== \"content\") {\n paragraph = self.events[index][1].type === \"paragraph\";\n break;\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter(\"setextHeadingLine\");\n marker = code;\n return before(code);\n }\n return nok(code);\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter(\"setextHeadingLineSequence\");\n return inside(code);\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n effects.exit(\"setextHeadingLineSequence\");\n return markdownSpace(code) ? factorySpace(effects, after, \"lineSuffix\")(code) : after(code);\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"setextHeadingLine\");\n return ok(code);\n }\n return nok(code);\n }\n}","/**\n * @import {\n * InitialConstruct,\n * Initializer,\n * State,\n * TokenizeContext\n * } from 'micromark-util-types'\n */\n\nimport { blankLine, content } from 'micromark-core-commonmark';\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {InitialConstruct} */\nexport const flow = {\n tokenize: initializeFlow\n};\n\n/**\n * @this {TokenizeContext}\n * Self.\n * @type {Initializer}\n * Initializer.\n */\nfunction initializeFlow(effects) {\n const self = this;\n const initial = effects.attempt(\n // Try to parse a blank line.\n blankLine, atBlankEnding,\n // Try to parse initial flow (essentially, only code).\n effects.attempt(this.parser.constructs.flowInitial, afterConstruct, factorySpace(effects, effects.attempt(this.parser.constructs.flow, afterConstruct, effects.attempt(content, afterConstruct)), \"linePrefix\")));\n return initial;\n\n /** @type {State} */\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEndingBlank\");\n effects.consume(code);\n effects.exit(\"lineEndingBlank\");\n self.currentConstruct = undefined;\n return initial;\n }\n\n /** @type {State} */\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n self.currentConstruct = undefined;\n return initial;\n }\n}","/**\n * @import {\n * Code,\n * InitialConstruct,\n * Initializer,\n * Resolver,\n * State,\n * TokenizeContext\n * } from 'micromark-util-types'\n */\n\nexport const resolver = {\n resolveAll: createResolver()\n};\nexport const string = initializeFactory('string');\nexport const text = initializeFactory('text');\n\n/**\n * @param {'string' | 'text'} field\n * Field.\n * @returns {InitialConstruct}\n * Construct.\n */\nfunction initializeFactory(field) {\n return {\n resolveAll: createResolver(field === 'text' ? resolveAllLineSuffixes : undefined),\n tokenize: initializeText\n };\n\n /**\n * @this {TokenizeContext}\n * Context.\n * @type {Initializer}\n */\n function initializeText(effects) {\n const self = this;\n const constructs = this.parser.constructs[field];\n const text = effects.attempt(constructs, start, notText);\n return start;\n\n /** @type {State} */\n function start(code) {\n return atBreak(code) ? text(code) : notText(code);\n }\n\n /** @type {State} */\n function notText(code) {\n if (code === null) {\n effects.consume(code);\n return;\n }\n effects.enter(\"data\");\n effects.consume(code);\n return data;\n }\n\n /** @type {State} */\n function data(code) {\n if (atBreak(code)) {\n effects.exit(\"data\");\n return text(code);\n }\n\n // Data.\n effects.consume(code);\n return data;\n }\n\n /**\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether the code is a break.\n */\n function atBreak(code) {\n if (code === null) {\n return true;\n }\n const list = constructs[code];\n let index = -1;\n if (list) {\n // Always populated by defaults.\n\n while (++index < list.length) {\n const item = list[index];\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true;\n }\n }\n }\n return false;\n }\n }\n}\n\n/**\n * @param {Resolver | undefined} [extraResolver]\n * Resolver.\n * @returns {Resolver}\n * Resolver.\n */\nfunction createResolver(extraResolver) {\n return resolveAllText;\n\n /** @type {Resolver} */\n function resolveAllText(events, context) {\n let index = -1;\n /** @type {number | undefined} */\n let enter;\n\n // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === \"data\") {\n enter = index;\n index++;\n }\n } else if (!events[index] || events[index][1].type !== \"data\") {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return extraResolver ? extraResolver(events, context) : events;\n }\n}\n\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0; // Skip first.\n\n while (++eventIndex <= events.length) {\n if ((eventIndex === events.length || events[eventIndex][1].type === \"lineEnding\") && events[eventIndex - 1][1].type === \"data\") {\n const data = events[eventIndex - 1][1];\n const chunks = context.sliceStream(data);\n let index = chunks.length;\n let bufferIndex = -1;\n let size = 0;\n /** @type {boolean | undefined} */\n let tabs;\n while (index--) {\n const chunk = chunks[index];\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length;\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++;\n bufferIndex--;\n }\n if (bufferIndex) break;\n bufferIndex = -1;\n }\n // Number\n else if (chunk === -2) {\n tabs = true;\n size++;\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++;\n break;\n }\n }\n if (size) {\n const token = {\n type: eventIndex === events.length || tabs || size < 2 ? \"lineSuffix\" : \"hardBreakTrailing\",\n start: {\n _bufferIndex: index ? bufferIndex : data.start._bufferIndex + bufferIndex,\n _index: data.start._index + index,\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size\n },\n end: {\n ...data.end\n }\n };\n data.end = {\n ...token.start\n };\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token);\n } else {\n events.splice(eventIndex, 0, ['enter', token, context], ['exit', token, context]);\n eventIndex += 2;\n }\n }\n eventIndex++;\n }\n }\n return events;\n}","/**\n * @import {Extension} from 'micromark-util-types'\n */\n\nimport { attention, autolink, blockQuote, characterEscape, characterReference, codeFenced, codeIndented, codeText, definition, hardBreakEscape, headingAtx, htmlFlow, htmlText, labelEnd, labelStartImage, labelStartLink, lineEnding, list, setextUnderline, thematicBreak } from 'micromark-core-commonmark';\nimport { resolver as resolveText } from './initialize/text.js';\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n};\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n};\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n};\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n};\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n};\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n};\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n};\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n};\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n};","/**\n * @import {\n * Chunk,\n * Code,\n * ConstructRecord,\n * Construct,\n * Effects,\n * InitialConstruct,\n * ParseContext,\n * Point,\n * State,\n * TokenizeContext,\n * Token\n * } from 'micromark-util-types'\n */\n\n/**\n * @callback Restore\n * Restore the state.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef Info\n * Info.\n * @property {Restore} restore\n * Restore.\n * @property {number} from\n * From.\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * Construct.\n * @param {Info} info\n * Info.\n * @returns {undefined}\n * Nothing.\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * Parser.\n * @param {InitialConstruct} initialize\n * Construct.\n * @param {Omit | undefined} [from]\n * Point (optional).\n * @returns {TokenizeContext}\n * Context.\n */\nexport function createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = {\n _bufferIndex: -1,\n _index: 0,\n line: from && from.line || 1,\n column: from && from.column || 1,\n offset: from && from.offset || 0\n };\n /** @type {Record} */\n const columnStart = {};\n /** @type {Array} */\n const resolveAllConstructs = [];\n /** @type {Array} */\n let chunks = [];\n /** @type {Array} */\n let stack = [];\n /** @type {boolean | undefined} */\n let consumed = true;\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n consume,\n enter,\n exit,\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n };\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n code: null,\n containerState: {},\n defineSkip,\n events: [],\n now,\n parser,\n previous: null,\n sliceSerialize,\n sliceStream,\n write\n };\n\n /**\n * The state function.\n *\n * @type {State | undefined}\n */\n let state = initialize.tokenize.call(context, effects);\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode;\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize);\n }\n return context;\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = push(chunks, slice);\n main();\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return [];\n }\n addResult(initialize, 0);\n\n // Otherwise, resolve, and exit.\n context.events = resolveAll(resolveAllConstructs, context.events, context);\n return context.events;\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs);\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token);\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n } = point;\n return {\n _bufferIndex,\n _index,\n line,\n column,\n offset\n };\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column;\n accountForPotentialSkip();\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {undefined}\n * Nothing.\n */\n function main() {\n /** @type {number} */\n let chunkIndex;\n while (point._index < chunks.length) {\n const chunk = chunks[point._index];\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index;\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0;\n }\n while (point._index === chunkIndex && point._bufferIndex < chunk.length) {\n go(chunk.charCodeAt(point._bufferIndex));\n }\n } else {\n go(chunk);\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * Code.\n * @returns {undefined}\n * Nothing.\n */\n function go(code) {\n consumed = undefined;\n expectedCode = code;\n state = state(code);\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (markdownLineEnding(code)) {\n point.line++;\n point.column = 1;\n point.offset += code === -3 ? 2 : 1;\n accountForPotentialSkip();\n } else if (code !== -1) {\n point.column++;\n point.offset++;\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++;\n } else {\n point._bufferIndex++;\n\n // At end of string chunk.\n if (point._bufferIndex ===\n // Points w/ non-negative `_bufferIndex` reference\n // strings.\n /** @type {string} */\n chunks[point._index].length) {\n point._bufferIndex = -1;\n point._index++;\n }\n }\n\n // Expose the previous character.\n context.previous = code;\n\n // Mark as consumed.\n consumed = true;\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {};\n token.type = type;\n token.start = now();\n context.events.push(['enter', token, context]);\n stack.push(token);\n return token;\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop();\n token.end = now();\n context.events.push(['exit', token, context]);\n return token;\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from);\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore();\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * Callback.\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n * Fields.\n */\n function constructFactory(onreturn, fields) {\n return hook;\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | ConstructRecord | Construct} constructs\n * Constructs.\n * @param {State} returnState\n * State.\n * @param {State | undefined} [bogusState]\n * State.\n * @returns {State}\n * State.\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {ReadonlyArray} */\n let listOfConstructs;\n /** @type {number} */\n let constructIndex;\n /** @type {Construct} */\n let currentConstruct;\n /** @type {Info} */\n let info;\n return Array.isArray(constructs) ? /* c8 ignore next 1 */\n handleListOfConstructs(constructs) : 'tokenize' in constructs ?\n // Looks like a construct.\n handleListOfConstructs([(/** @type {Construct} */constructs)]) : handleMapOfConstructs(constructs);\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleMapOfConstructs(map) {\n return start;\n\n /** @type {State} */\n function start(code) {\n const left = code !== null && map[code];\n const all = code !== null && map.null;\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(left) ? left : left ? [left] : []), ...(Array.isArray(all) ? all : all ? [all] : [])];\n return handleListOfConstructs(list)(code);\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {ReadonlyArray} list\n * Constructs.\n * @returns {State}\n * State.\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list;\n constructIndex = 0;\n if (list.length === 0) {\n return bogusState;\n }\n return handleConstruct(list[constructIndex]);\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * Construct.\n * @returns {State}\n * State.\n */\n function handleConstruct(construct) {\n return start;\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store();\n currentConstruct = construct;\n if (!construct.partial) {\n context.currentConstruct = construct;\n }\n\n // Always populated by defaults.\n\n if (construct.name && context.parser.constructs.disable.null.includes(construct.name)) {\n return nok(code);\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context, effects, ok, nok)(code);\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true;\n onreturn(currentConstruct, info);\n return returnState;\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true;\n info.restore();\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex]);\n }\n return bogusState;\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * Construct.\n * @param {number} from\n * From.\n * @returns {undefined}\n * Nothing.\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct);\n }\n if (construct.resolve) {\n splice(context.events, from, context.events.length - from, construct.resolve(context.events.slice(from), context));\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context);\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n * Info.\n */\n function store() {\n const startPoint = now();\n const startPrevious = context.previous;\n const startCurrentConstruct = context.currentConstruct;\n const startEventsIndex = context.events.length;\n const startStack = Array.from(stack);\n return {\n from: startEventsIndex,\n restore\n };\n\n /**\n * Restore state.\n *\n * @returns {undefined}\n * Nothing.\n */\n function restore() {\n point = startPoint;\n context.previous = startPrevious;\n context.currentConstruct = startCurrentConstruct;\n context.events.length = startEventsIndex;\n stack = startStack;\n accountForPotentialSkip();\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {undefined}\n * Nothing.\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line];\n point.offset += columnStart[point.line] - 1;\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {Pick} token\n * Token.\n * @returns {Array}\n * Chunks.\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index;\n const startBufferIndex = token.start._bufferIndex;\n const endIndex = token.end._index;\n const endBufferIndex = token.end._bufferIndex;\n /** @type {Array} */\n let view;\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)];\n } else {\n view = chunks.slice(startIndex, endIndex);\n if (startBufferIndex > -1) {\n const head = view[0];\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex);\n } else {\n view.shift();\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex));\n }\n }\n return view;\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {ReadonlyArray} chunks\n * Chunks.\n * @param {boolean | undefined} [expandTabs=false]\n * Whether to expand tabs (default: `false`).\n * @returns {string}\n * Result.\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1;\n /** @type {Array} */\n const result = [];\n /** @type {boolean | undefined} */\n let atTab;\n while (++index < chunks.length) {\n const chunk = chunks[index];\n /** @type {string} */\n let value;\n if (typeof chunk === 'string') {\n value = chunk;\n } else switch (chunk) {\n case -5:\n {\n value = \"\\r\";\n break;\n }\n case -4:\n {\n value = \"\\n\";\n break;\n }\n case -3:\n {\n value = \"\\r\" + \"\\n\";\n break;\n }\n case -2:\n {\n value = expandTabs ? \" \" : \"\\t\";\n break;\n }\n case -1:\n {\n if (!expandTabs && atTab) continue;\n value = \" \";\n break;\n }\n default:\n {\n // Currently only replacement character.\n value = String.fromCharCode(chunk);\n }\n }\n atTab = chunk === -2;\n result.push(value);\n }\n return result.join('');\n}","/**\n * @import {\n * Create,\n * FullNormalizedExtension,\n * InitialConstruct,\n * ParseContext,\n * ParseOptions\n * } from 'micromark-util-types'\n */\n\nimport { combineExtensions } from 'micromark-util-combine-extensions';\nimport { content } from './initialize/content.js';\nimport { document } from './initialize/document.js';\nimport { flow } from './initialize/flow.js';\nimport { string, text } from './initialize/text.js';\nimport * as defaultConstructs from './constructs.js';\nimport { createTokenizer } from './create-tokenizer.js';\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * Configuration (optional).\n * @returns {ParseContext}\n * Parser.\n */\nexport function parse(options) {\n const settings = options || {};\n const constructs = /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])]);\n\n /** @type {ParseContext} */\n const parser = {\n constructs,\n content: create(content),\n defined: [],\n document: create(document),\n flow: create(flow),\n lazy: {},\n string: create(string),\n text: create(text)\n };\n return parser;\n\n /**\n * @param {InitialConstruct} initial\n * Construct to start with.\n * @returns {Create}\n * Create a tokenizer.\n */\n function create(initial) {\n return creator;\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from);\n }\n }\n}","/**\n * @import {Event} from 'micromark-util-types'\n */\n\nimport { subtokenize } from 'micromark-util-subtokenize';\n\n/**\n * @param {Array} events\n * Events.\n * @returns {Array}\n * Events.\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events;\n}","/**\n * @import {Chunk, Code, Encoding, Value} from 'micromark-util-types'\n */\n\n/**\n * @callback Preprocessor\n * Preprocess a value.\n * @param {Value} value\n * Value.\n * @param {Encoding | null | undefined} [encoding]\n * Encoding when `value` is a typed array (optional).\n * @param {boolean | null | undefined} [end=false]\n * Whether this is the last chunk (default: `false`).\n * @returns {Array}\n * Chunks.\n */\n\nconst search = /[\\0\\t\\n\\r]/g;\n\n/**\n * @returns {Preprocessor}\n * Preprocess a value.\n */\nexport function preprocess() {\n let column = 1;\n let buffer = '';\n /** @type {boolean | undefined} */\n let start = true;\n /** @type {boolean | undefined} */\n let atCarriageReturn;\n return preprocessor;\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = [];\n /** @type {RegExpMatchArray | null} */\n let match;\n /** @type {number} */\n let next;\n /** @type {number} */\n let startPosition;\n /** @type {number} */\n let endPosition;\n /** @type {Code} */\n let code;\n value = buffer + (typeof value === 'string' ? value.toString() : new TextDecoder(encoding || undefined).decode(value));\n startPosition = 0;\n buffer = '';\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++;\n }\n start = undefined;\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition;\n match = search.exec(value);\n endPosition = match && match.index !== undefined ? match.index : value.length;\n code = value.charCodeAt(endPosition);\n if (!match) {\n buffer = value.slice(startPosition);\n break;\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3);\n atCarriageReturn = undefined;\n } else {\n if (atCarriageReturn) {\n chunks.push(-5);\n atCarriageReturn = undefined;\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition));\n column += endPosition - startPosition;\n }\n switch (code) {\n case 0:\n {\n chunks.push(65533);\n column++;\n break;\n }\n case 9:\n {\n next = Math.ceil(column / 4) * 4;\n chunks.push(-2);\n while (column++ < next) chunks.push(-1);\n break;\n }\n case 10:\n {\n chunks.push(-4);\n column = 1;\n break;\n }\n default:\n {\n atCarriageReturn = true;\n column = 1;\n }\n }\n }\n startPosition = endPosition + 1;\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5);\n if (buffer) chunks.push(buffer);\n chunks.push(null);\n }\n return chunks;\n }\n}","/**\n * @import {Encoding, Value} from 'micromark-util-types'\n */\n\n/**\n * @typedef {import('micromark-util-types').Options} Options\n */\n\nimport { compile } from './lib/compile.js';\nimport { parse } from './lib/parse.js';\nimport { postprocess } from './lib/postprocess.js';\nimport { preprocess } from './lib/preprocess.js';\nexport { compile } from './lib/compile.js';\nexport { parse } from './lib/parse.js';\nexport { postprocess } from './lib/postprocess.js';\nexport { preprocess } from './lib/preprocess.js';\n\n/**\n * Compile markdown to HTML.\n *\n * > Note: which encodings are supported depends on the engine.\n * > For info on Node.js, see:\n * > .\n *\n * @overload\n * @param {Value} value\n * Markdown to parse (`string` or `Uint8Array`).\n * @param {Encoding | null | undefined} encoding\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (`string`, default: `'utf8'`).\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {string}\n * Compiled HTML.\n *\n * @overload\n * @param {Value} value\n * Markdown to parse (`string` or `Uint8Array`).\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {string}\n * Compiled HTML.\n *\n * @param {Value} value\n * Markdown to parse (`string` or `Uint8Array`).\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding to understand `value` as when it’s a `Uint8Array`\n * (`string`, default: `'utf8'`).\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {string}\n * Compiled HTML.\n */\nexport function micromark(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding;\n encoding = undefined;\n }\n return compile(options)(postprocess(parse(options).document().write(preprocess()(value, encoding, true))));\n}","/*!\n * shared v10.0.5\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nconst _create = Object.create;\nconst create = (obj = null) => _create(obj);\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : create()));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => toTypeString(val) === '[object Object]';\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n // using `Object.keys` which skips prototype properties\n Object.keys(src).forEach(key => {\n if (key === '__proto__') {\n return;\n }\n // if src[key] is an object/array, set des[key]\n // to empty object/array to prevent setting by reference\n if (isObject(src[key]) && !isObject(des[key])) {\n des[key] = Array.isArray(src[key]) ? [] : create();\n }\n if (isNotObjectOrIsArray(des[key]) || isNotObjectOrIsArray(src[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, create, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n * message-compiler v10.0.5\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, join, isString } from '@intlify/shared';\n\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16\n};\n// Special value for higher-order compilers to pick up the last code\n// to avoid collision of error codes.\n// This should always be kept as the last item.\nconst COMPILE_ERROR_CODES_EXTEND_POINT = 17;\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = (process.env.NODE_ENV !== 'production')\n ? format((messages || errorMessages)[code] || '', ...(args || []))\n : code;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 13 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 13 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 13 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 7 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '') => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return hasSpace;\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readText(scnr) {\n let buf = '';\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 4 /* TokenTypes.Named */ ||\n context.currentType === 5 /* TokenTypes.List */ ||\n context.currentType === 6 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 4 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 12 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 7 /* TokenTypes.LinkedAlias */ ||\n currentType === 8 /* TokenTypes.LinkedDot */ ||\n currentType === 11 /* TokenTypes.LinkedModifier */ ||\n currentType === 9 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 7 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 8 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 11 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 10 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 7 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 13 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 13 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 11 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 8 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 9 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 10 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 5 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 7 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 13 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 13 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 13 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 13 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 13 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n if ((process.env.NODE_ENV !== 'production')) {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {}) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { COMPILE_ERROR_CODES_EXTEND_POINT, CompileErrorCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages };\n","/*!\n * core-base v10.0.5\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, hasOwn, isNumber, create, isObject, isString, isBoolean, warn, format as format$1, isFunction, isPromise, isArray, isPlainObject, assign, isRegExp, warnOnce, isEmptyObject, isDate, join, toDisplayString, escapeHtml, inBrowser, mark, measure, generateCodeFrame, generateFormatCacheKey } from '@intlify/shared';\nimport { detectHtmlTag, defaultOnError, baseCompile as baseCompile$1, COMPILE_ERROR_CODES_EXTEND_POINT, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = resolveBody(ast);\n if (body == null) {\n throw createUnhandleNodeError(0 /* NodeTypes.Resource */);\n }\n const type = resolveType(body);\n if (type === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = resolveCases(plural);\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nconst PROPS_BODY = ['b', 'body'];\nfunction resolveBody(node) {\n return resolveProps(node, PROPS_BODY);\n}\nconst PROPS_CASES = ['c', 'cases'];\nfunction resolveCases(node) {\n return resolveProps(node, PROPS_CASES, []);\n}\nfunction formatMessageParts(ctx, node) {\n const static_ = resolveStatic(node);\n if (static_ != null) {\n return ctx.type === 'text'\n ? static_\n : ctx.normalize([static_]);\n }\n else {\n const messages = resolveItems(node).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nconst PROPS_STATIC = ['s', 'static'];\nfunction resolveStatic(node) {\n return resolveProps(node, PROPS_STATIC);\n}\nconst PROPS_ITEMS = ['i', 'items'];\nfunction resolveItems(node) {\n return resolveProps(node, PROPS_ITEMS, []);\n}\nfunction formatMessagePart(ctx, node) {\n const type = resolveType(node);\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n return resolveValue$1(node, type);\n }\n case 9 /* NodeTypes.Literal */: {\n return resolveValue$1(node, type);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n if (hasOwn(named, 'k') && named.k) {\n return ctx.interpolate(ctx.named(named.k));\n }\n if (hasOwn(named, 'key') && named.key) {\n return ctx.interpolate(ctx.named(named.key));\n }\n throw createUnhandleNodeError(type);\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n if (hasOwn(list, 'i') && isNumber(list.i)) {\n return ctx.interpolate(ctx.list(list.i));\n }\n if (hasOwn(list, 'index') && isNumber(list.index)) {\n return ctx.interpolate(ctx.list(list.index));\n }\n throw createUnhandleNodeError(type);\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = resolveLinkedModifier(linked);\n const key = resolveLinkedKey(linked);\n return ctx.linked(formatMessagePart(ctx, key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n return resolveValue$1(node, type);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n return resolveValue$1(node, type);\n }\n default:\n throw new Error(`unhandled node on format message part: ${type}`);\n }\n}\nconst PROPS_TYPE = ['t', 'type'];\nfunction resolveType(node) {\n return resolveProps(node, PROPS_TYPE);\n}\nconst PROPS_VALUE = ['v', 'value'];\nfunction resolveValue$1(node, type) {\n const resolved = resolveProps(node, PROPS_VALUE);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(type);\n }\n}\nconst PROPS_MODIFIER = ['m', 'modifier'];\nfunction resolveLinkedModifier(node) {\n return resolveProps(node, PROPS_MODIFIER);\n}\nconst PROPS_KEY = ['k', 'key'];\nfunction resolveLinkedKey(node) {\n const resolved = resolveProps(node, PROPS_KEY);\n if (resolved) {\n return resolved;\n }\n else {\n throw createUnhandleNodeError(6 /* NodeTypes.Linked */);\n }\n}\nfunction resolveProps(node, props, defaultValue) {\n for (let i = 0; i < props.length; i++) {\n const prop = props[i];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (hasOwn(node, prop) && node[prop] != null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return node[prop];\n }\n }\n return defaultValue;\n}\nfunction createUnhandleNodeError(type) {\n return new Error(`unhandled node type: ${type}`);\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = create();\nfunction clearCompileCache() {\n compileCache = create();\n}\nfunction isMessageAST(val) {\n return (isObject(val) &&\n resolveType(val) === 0 &&\n (hasOwn(val, 'b') || hasOwn(val, 'body')));\n}\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nfunction compile(message, context) {\n if ((!__INTLIFY_DROP_MESSAGE_COMPILER__) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit('i18n:init', {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = \n/* #__PURE__*/ createDevToolsHook('function:translate');\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: COMPILE_ERROR_CODES_EXTEND_POINT, // 17\n INVALID_DATE_ARGUMENT: 18,\n INVALID_ISO_DATE_ARGUMENT: 19,\n NOT_SUPPORT_NON_STRING_MESSAGE: 20,\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: 21,\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: 22,\n NOT_SUPPORT_LOCALE_TYPE: 23\n};\nconst CORE_ERROR_CODES_EXTEND_POINT = 24;\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: 1,\n FALLBACK_TO_TRANSLATE: 2,\n CANNOT_FORMAT_NUMBER: 3,\n FALLBACK_TO_NUMBER_FORMAT: 4,\n CANNOT_FORMAT_DATE: 5,\n FALLBACK_TO_DATE_FORMAT: 6,\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: 7\n};\nconst CORE_WARN_CODES_EXTEND_POINT = 8;\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '10.0.5';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : createResources(_locale);\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : createResources(_locale)\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : createResources(_locale)\n ;\n const modifiers = assign(create(), options.modifiers, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || create();\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\nconst createResources = (locale) => ({ [locale]: create() });\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('missing', {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = create();\n let overrides = create();\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || create();\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key, useLinked) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key, !!useLinked)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key, true)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign(create(), _list, _named)\n };\n return ctx;\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : null;\n const enableDefaultMsg = fallbackFormat ||\n (defaultMsgOrKey != null &&\n (isString(defaultMsgOrKey) || isFunction(defaultMsgOrKey)));\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || create()\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = create();\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit('fallback', {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || create();\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit('message-resolve', {\n type: 'message-resolve',\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit('message-compilation', {\n type: 'message-compilation',\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit('message-evaluation', {\n type: 'message-evaluation',\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = create();\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit('compile-error', {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key, useLinked) => {\n let val = resolveValue(message, key);\n // fallback\n if (val == null && (fallbackContext || useLinked)) {\n const [, , message] = resolveMessageFormat(fallbackContext || context, // NOTE: if has fallbackContext, fallback to root, else if use linked, fallback to local context\n key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CORE_ERROR_CODES_EXTEND_POINT, CORE_WARN_CODES_EXTEND_POINT, CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v10.0.5\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, format, makeSymbol, isObject, create, isPlainObject, isArray, deepCopy, isString, hasOwn, warn, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, warnOnce, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CORE_WARN_CODES_EXTEND_POINT, CORE_ERROR_CODES_EXTEND_POINT, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '10.0.5';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: CORE_WARN_CODES_EXTEND_POINT, // 8\n NOT_FOUND_PARENT_SCOPE: 9,\n IGNORE_OBJ_FLATTEN: 10,\n DEPRECATE_TC: 11\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n [I18nWarnCodes.DEPRECATE_TC]: `'tc' and '$tc' has been deprecated in v10. Use 't' or '$t' instead. 'tc' and '$tc’ are going to remove in v11.`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: CORE_ERROR_CODES_EXTEND_POINT, // 24\n // legacy module errors\n INVALID_ARGUMENT: 25,\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: 26,\n NOT_INSTALLED: 27,\n // directive module errors\n REQUIRED_VALUE: 28,\n INVALID_VALUE: 29,\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: 30,\n NOT_INSTALLED_WITH_PROVIDE: 31,\n // unexpected error\n UNEXPECTED_ERROR: 32,\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: 33,\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: 34\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = create();\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? create()\n : { [locale]: create() });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || create();\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\nfunction getComponentOptions(instance) {\n return instance.type;\n}\nfunction adjustI18nResources(gl, options, componentOptions) {\n // prettier-ignore\n let messages = isObject(options.messages)\n ? options.messages\n : create();\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0);\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null;\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta }\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\nfunction createComposer(options = {}) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit('fallback', {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return (isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved));\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nconst VueDevToolsLabels = {\n 'vue-devtools-plugin-vue-i18n': 'Vue I18n DevTools',\n 'vue-i18n-resource-inspector': 'Vue I18n DevTools',\n 'vue-i18n-timeline': 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n 'vue-i18n-resource-inspector': 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n 'vue-i18n-timeline': 0xffcd19\n};\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: 'vue-devtools-plugin-vue-i18n',\n label: VueDevToolsLabels['vue-devtools-plugin-vue-i18n'],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: 'vue-i18n-resource-inspector',\n label: VueDevToolsLabels['vue-i18n-resource-inspector'],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders['vue-i18n-resource-inspector']\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === 'vue-i18n-resource-inspector') {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: 'vue-i18n-timeline',\n label: VueDevToolsLabels['vue-i18n-timeline'],\n color: VueDevToolsTimelineColors['vue-i18n-timeline']\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$2(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: 'vue-i18n-timeline',\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === 'compile-error'\n ? 'error'\n : event === 'fallback' || event === 'missing'\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$2(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n */\nfunction createVueI18n(options = {}) {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n return Reflect.apply(composer.t, composer, [...args]);\n },\n // rt\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // tc\n tc(...args) {\n const [arg1, arg2, arg3] = args;\n const options = { plural: 1 };\n let list = null;\n let named = null;\n if ((process.env.NODE_ENV !== 'production')) {\n warnOnce(getWarnMessage(I18nWarnCodes.DEPRECATE_TC));\n }\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$tc = (...args) => this.$i18n.tc(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$tc;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current])\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, create());\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag() {\n return Fragment;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
    \n * \n * \n * {{ $t('tos') }}\n * \n * \n *
    \n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = create();\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign(create(), options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, create());\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign(create(), attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\nfunction getComposer$1(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n const { instance, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$1(i18n, instance.$);\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if (globalInstall) {\n [Translation.name, 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createI18n(options = {}, VueI18nLegacy) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n}\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const scope = effectScope();\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n}\nfunction getI18nInstance(instance) {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\n{\n initFeatureFlags();\n}\n// register message compiler for jit compilation\nregisterMessageCompiler(compile);\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, createI18n, useI18n, vTDirective };\n","\n\n\n","import type { LngLatLike } from 'maplibre-gl';\nimport { useStorage } from '@vueuse/core';\n\nexport const localStoragePrefix = 'kiel_live';\n\nconst userSettings = {\n liteMode: useStorage(`${localStoragePrefix}.lite`, false),\n lastLocation: useStorage<{ center: LngLatLike; zoom: number; pitch: number; bearing: number }>(\n `${localStoragePrefix}.last_location`,\n {\n center: [10.1283, 54.3166],\n zoom: 14,\n pitch: 0,\n bearing: 0,\n },\n ),\n};\n\nexport function useUserSettings() {\n return userSettings;\n}\n","\n\n\n","/*!\n * vue-router v4.5.0\n * (c) 2024 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, shallowReactive, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof document !== 'undefined';\n\n/**\n * Allows differentiating lazy components from functional components and vue-class-component\n * @internal\n *\n * @param component\n */\nfunction isRouteComponent(component) {\n return (typeof component === 'object' ||\n 'displayName' in component ||\n 'props' in component ||\n '__vccOpts' in component);\n}\nfunction isESModule(obj) {\n return (obj.__esModule ||\n obj[Symbol.toStringTag] === 'Module' ||\n // support CF with dynamic imports that do not\n // add the Module string tag\n (obj.default && isRouteComponent(obj.default)));\n}\nconst assign = Object.assign;\nfunction applyToParams(fn, params) {\n const newParams = {};\n for (const key in params) {\n const value = params[key];\n newParams[key] = isArray(value)\n ? value.map(fn)\n : fn(value);\n }\n return newParams;\n}\nconst noop = () => { };\n/**\n * Typesafe alternative to Array.isArray\n * https://github.com/microsoft/TypeScript/pull/48228\n */\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\n // avoid using ...args as it breaks in older Edge builds\n const args = Array.from(arguments).slice(1);\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\n}\n\n/**\n * Encoding Rules (␣ = Space)\n * - Path: ␣ \" < > # ? { }\n * - Query: ␣ \" < > # & =\n * - Hash: ␣ \" < > `\n *\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\n * defines some extra characters to be encoded. Most browsers do not encode them\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\n * plus `-._~`. This extra safety should be applied to query by patching the\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\n * encoded everywhere because some browsers like FF encode it when directly\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\n */\n// const EXTRA_RESERVED_RE = /[!'()*]/g\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\nconst HASH_RE = /#/g; // %23\nconst AMPERSAND_RE = /&/g; // %26\nconst SLASH_RE = /\\//g; // %2F\nconst EQUAL_RE = /=/g; // %3D\nconst IM_RE = /\\?/g; // %3F\nconst PLUS_RE = /\\+/g; // %2B\n/**\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\n * seems to be less flexible than not doing so and I can't find out the legacy\n * systems requiring this for regular requests like text/html. In the standard,\n * the encoding of the plus character is only mentioned for\n * application/x-www-form-urlencoded\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\n * leave the plus character as is in queries. To be more flexible, we allow the\n * plus character on the query, but it can also be manually encoded by the user.\n *\n * Resources:\n * - https://url.spec.whatwg.org/#urlencoded-parsing\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\n */\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\nconst ENC_CARET_RE = /%5E/g; // ^\nconst ENC_BACKTICK_RE = /%60/g; // `\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\nconst ENC_PIPE_RE = /%7C/g; // |\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\nconst ENC_SPACE_RE = /%20/g; // }\n/**\n * Encode characters that need to be encoded on the path, search and hash\n * sections of the URL.\n *\n * @internal\n * @param text - string to encode\n * @returns encoded string\n */\nfunction commonEncode(text) {\n return encodeURI('' + text)\n .replace(ENC_PIPE_RE, '|')\n .replace(ENC_BRACKET_OPEN_RE, '[')\n .replace(ENC_BRACKET_CLOSE_RE, ']');\n}\n/**\n * Encode characters that need to be encoded on the hash section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeHash(text) {\n return commonEncode(text)\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^');\n}\n/**\n * Encode characters that need to be encoded query values on the query\n * section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeQueryValue(text) {\n return (commonEncode(text)\n // Encode the space as +, encode the + to differentiate it from the space\n .replace(PLUS_RE, '%2B')\n .replace(ENC_SPACE_RE, '+')\n .replace(HASH_RE, '%23')\n .replace(AMPERSAND_RE, '%26')\n .replace(ENC_BACKTICK_RE, '`')\n .replace(ENC_CURLY_OPEN_RE, '{')\n .replace(ENC_CURLY_CLOSE_RE, '}')\n .replace(ENC_CARET_RE, '^'));\n}\n/**\n * Like `encodeQueryValue` but also encodes the `=` character.\n *\n * @param text - string to encode\n */\nfunction encodeQueryKey(text) {\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodePath(text) {\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\n}\n/**\n * Encode characters that need to be encoded on the path section of the URL as a\n * param. This function encodes everything {@link encodePath} does plus the\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\n * string instead.\n *\n * @param text - string to encode\n * @returns encoded string\n */\nfunction encodeParam(text) {\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\n}\n/**\n * Decode text using `decodeURIComponent`. Returns the original text if it\n * fails.\n *\n * @param text - string to decode\n * @returns decoded string\n */\nfunction decode(text) {\n try {\n return decodeURIComponent('' + text);\n }\n catch (err) {\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\n }\n return '' + text;\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\n/**\n * Transforms a URI into a normalized history location\n *\n * @param parseQuery\n * @param location - URI to normalize\n * @param currentLocation - current absolute location. Allows resolving relative\n * paths. Must start with `/`. Defaults to `/`\n * @returns a normalized history location\n */\nfunction parseURL(parseQuery, location, currentLocation = '/') {\n let path, query = {}, searchString = '', hash = '';\n // Could use URL and URLSearchParams but IE 11 doesn't support it\n // TODO: move to new URL()\n const hashPos = location.indexOf('#');\n let searchPos = location.indexOf('?');\n // the hash appears before the search, so it's not part of the search string\n if (hashPos < searchPos && hashPos >= 0) {\n searchPos = -1;\n }\n if (searchPos > -1) {\n path = location.slice(0, searchPos);\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\n query = parseQuery(searchString);\n }\n if (hashPos > -1) {\n path = path || location.slice(0, hashPos);\n // keep the # character\n hash = location.slice(hashPos, location.length);\n }\n // no search and no query\n path = resolveRelativePath(path != null ? path : location, currentLocation);\n // empty path means a relative query or hash `?foo=f`, `#thing`\n return {\n fullPath: path + (searchString && '?') + searchString + hash,\n path,\n query,\n hash: decode(hash),\n };\n}\n/**\n * Stringifies a URL object\n *\n * @param stringifyQuery\n * @param location\n */\nfunction stringifyURL(stringifyQuery, location) {\n const query = location.query ? stringifyQuery(location.query) : '';\n return location.path + (query && '?') + query + (location.hash || '');\n}\n/**\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\n *\n * @param pathname - location.pathname\n * @param base - base to strip off\n */\nfunction stripBase(pathname, base) {\n // no base or base is not found at the beginning\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\n return pathname;\n return pathname.slice(base.length) || '/';\n}\n/**\n * Checks if two RouteLocation are equal. This means that both locations are\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\n * parameters and `hash` are the same\n *\n * @param stringifyQuery - A function that takes a query object of type LocationQueryRaw and returns a string representation of it.\n * @param a - first {@link RouteLocation}\n * @param b - second {@link RouteLocation}\n */\nfunction isSameRouteLocation(stringifyQuery, a, b) {\n const aLastIndex = a.matched.length - 1;\n const bLastIndex = b.matched.length - 1;\n return (aLastIndex > -1 &&\n aLastIndex === bLastIndex &&\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\n isSameRouteLocationParams(a.params, b.params) &&\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\n a.hash === b.hash);\n}\n/**\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\n * considered equal to the `RouteRecord` they are aliasing.\n *\n * @param a - first {@link RouteRecord}\n * @param b - second {@link RouteRecord}\n */\nfunction isSameRouteRecord(a, b) {\n // since the original record has an undefined value for aliasOf\n // but all aliases point to the original record, this will always compare\n // the original record\n return (a.aliasOf || a) === (b.aliasOf || b);\n}\nfunction isSameRouteLocationParams(a, b) {\n if (Object.keys(a).length !== Object.keys(b).length)\n return false;\n for (const key in a) {\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\n return false;\n }\n return true;\n}\nfunction isSameRouteLocationParamsValue(a, b) {\n return isArray(a)\n ? isEquivalentArray(a, b)\n : isArray(b)\n ? isEquivalentArray(b, a)\n : a === b;\n}\n/**\n * Check if two arrays are the same or if an array with one single entry is the\n * same as another primitive value. Used to check query and parameters\n *\n * @param a - array of values\n * @param b - array of values or a single value\n */\nfunction isEquivalentArray(a, b) {\n return isArray(b)\n ? a.length === b.length && a.every((value, i) => value === b[i])\n : a.length === 1 && a[0] === b;\n}\n/**\n * Resolves a relative path that starts with `.`.\n *\n * @param to - path location we are resolving\n * @param from - currentLocation.path, should start with `/`\n */\nfunction resolveRelativePath(to, from) {\n if (to.startsWith('/'))\n return to;\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\n return to;\n }\n if (!to)\n return from;\n const fromSegments = from.split('/');\n const toSegments = to.split('/');\n const lastToSegment = toSegments[toSegments.length - 1];\n // make . and ./ the same (../ === .., ../../ === ../..)\n // this is the same behavior as new URL()\n if (lastToSegment === '..' || lastToSegment === '.') {\n toSegments.push('');\n }\n let position = fromSegments.length - 1;\n let toPosition;\n let segment;\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\n segment = toSegments[toPosition];\n // we stay on the same position\n if (segment === '.')\n continue;\n // go up in the from array\n if (segment === '..') {\n // we can't go below zero, but we still need to increment toPosition\n if (position > 1)\n position--;\n // continue\n }\n // we reached a non-relative path, we stop here\n else\n break;\n }\n return (fromSegments.slice(0, position).join('/') +\n '/' +\n toSegments.slice(toPosition).join('/'));\n}\n/**\n * Initial route location where the router is. Can be used in navigation guards\n * to differentiate the initial navigation.\n *\n * @example\n * ```js\n * import { START_LOCATION } from 'vue-router'\n *\n * router.beforeEach((to, from) => {\n * if (from === START_LOCATION) {\n * // initial navigation\n * }\n * })\n * ```\n */\nconst START_LOCATION_NORMALIZED = {\n path: '/',\n // TODO: could we use a symbol in the future?\n name: undefined,\n params: {},\n query: {},\n hash: '',\n fullPath: '/',\n matched: [],\n meta: {},\n redirectedFrom: undefined,\n};\n\nvar NavigationType;\n(function (NavigationType) {\n NavigationType[\"pop\"] = \"pop\";\n NavigationType[\"push\"] = \"push\";\n})(NavigationType || (NavigationType = {}));\nvar NavigationDirection;\n(function (NavigationDirection) {\n NavigationDirection[\"back\"] = \"back\";\n NavigationDirection[\"forward\"] = \"forward\";\n NavigationDirection[\"unknown\"] = \"\";\n})(NavigationDirection || (NavigationDirection = {}));\n/**\n * Starting location for Histories\n */\nconst START = '';\n// Generic utils\n/**\n * Normalizes a base by removing any trailing slash and reading the base tag if\n * present.\n *\n * @param base - base to normalize\n */\nfunction normalizeBase(base) {\n if (!base) {\n if (isBrowser) {\n // respect tag\n const baseEl = document.querySelector('base');\n base = (baseEl && baseEl.getAttribute('href')) || '/';\n // strip full URL origin\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\n }\n else {\n base = '/';\n }\n }\n // ensure leading slash when it was removed by the regex above avoid leading\n // slash with hash because the file could be read from the disk like file://\n // and the leading slash would cause problems\n if (base[0] !== '/' && base[0] !== '#')\n base = '/' + base;\n // remove the trailing slash so all other method can just do `base + fullPath`\n // to build an href\n return removeTrailingSlash(base);\n}\n// remove any character before the hash\nconst BEFORE_HASH_RE = /^[^#]+#/;\nfunction createHref(base, location) {\n return base.replace(BEFORE_HASH_RE, '#') + location;\n}\n\nfunction getElementPosition(el, offset) {\n const docRect = document.documentElement.getBoundingClientRect();\n const elRect = el.getBoundingClientRect();\n return {\n behavior: offset.behavior,\n left: elRect.left - docRect.left - (offset.left || 0),\n top: elRect.top - docRect.top - (offset.top || 0),\n };\n}\nconst computeScrollPosition = () => ({\n left: window.scrollX,\n top: window.scrollY,\n});\nfunction scrollToPosition(position) {\n let scrollToOptions;\n if ('el' in position) {\n const positionEl = position.el;\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\n /**\n * `id`s can accept pretty much any characters, including CSS combinators\n * like `>` or `~`. It's still possible to retrieve elements using\n * `document.getElementById('~')` but it needs to be escaped when using\n * `document.querySelector('#\\\\~')` for it to be valid. The only\n * requirements for `id`s are them to be unique on the page and to not be\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\n * be properly escaped for it to work with `querySelector`. We could check\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\n * would make things inconsistent since they are valid characters for an\n * `id` but would need to be escaped when using `querySelector`, breaking\n * their usage and ending up in no selector returned. Selectors need to be\n * escaped:\n *\n * - `#1-thing` becomes `#\\31 -thing`\n * - `#with~symbols` becomes `#with\\\\~symbols`\n *\n * - More information about the topic can be found at\n * https://mathiasbynens.be/notes/html5-id-class.\n * - Practical example: https://mathiasbynens.be/demo/html5-id\n */\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\n try {\n const foundEl = document.querySelector(position.el);\n if (isIdSelector && foundEl) {\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\n // return to avoid other warnings\n return;\n }\n }\n catch (err) {\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\n // return to avoid other warnings\n return;\n }\n }\n }\n const el = typeof positionEl === 'string'\n ? isIdSelector\n ? document.getElementById(positionEl.slice(1))\n : document.querySelector(positionEl)\n : positionEl;\n if (!el) {\n (process.env.NODE_ENV !== 'production') &&\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\n return;\n }\n scrollToOptions = getElementPosition(el, position);\n }\n else {\n scrollToOptions = position;\n }\n if ('scrollBehavior' in document.documentElement.style)\n window.scrollTo(scrollToOptions);\n else {\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.scrollX, scrollToOptions.top != null ? scrollToOptions.top : window.scrollY);\n }\n}\nfunction getScrollKey(path, delta) {\n const position = history.state ? history.state.position - delta : -1;\n return position + path;\n}\nconst scrollPositions = new Map();\nfunction saveScrollPosition(key, scrollPosition) {\n scrollPositions.set(key, scrollPosition);\n}\nfunction getSavedScrollPosition(key) {\n const scroll = scrollPositions.get(key);\n // consume it so it's not used again\n scrollPositions.delete(key);\n return scroll;\n}\n// TODO: RFC about how to save scroll position\n/**\n * ScrollBehavior instance used by the router to compute and restore the scroll\n * position when navigating.\n */\n// export interface ScrollHandler {\n// // returns a scroll position that can be saved in history\n// compute(): ScrollPositionEntry\n// // can take an extended ScrollPositionEntry\n// scroll(position: ScrollPosition): void\n// }\n// export const scrollHandler: ScrollHandler = {\n// compute: computeScroll,\n// scroll: scrollToPosition,\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\n/**\n * Creates a normalized history location from a window.location object\n * @param base - The base path\n * @param location - The window.location object\n */\nfunction createCurrentLocation(base, location) {\n const { pathname, search, hash } = location;\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\n const hashPos = base.indexOf('#');\n if (hashPos > -1) {\n let slicePos = hash.includes(base.slice(hashPos))\n ? base.slice(hashPos).length\n : 1;\n let pathFromHash = hash.slice(slicePos);\n // prepend the starting slash to hash so the url starts with /#\n if (pathFromHash[0] !== '/')\n pathFromHash = '/' + pathFromHash;\n return stripBase(pathFromHash, '');\n }\n const path = stripBase(pathname, base);\n return path + search + hash;\n}\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\n let listeners = [];\n let teardowns = [];\n // TODO: should it be a stack? a Dict. Check if the popstate listener\n // can trigger twice\n let pauseState = null;\n const popStateHandler = ({ state, }) => {\n const to = createCurrentLocation(base, location);\n const from = currentLocation.value;\n const fromState = historyState.value;\n let delta = 0;\n if (state) {\n currentLocation.value = to;\n historyState.value = state;\n // ignore the popstate and reset the pauseState\n if (pauseState && pauseState === from) {\n pauseState = null;\n return;\n }\n delta = fromState ? state.position - fromState.position : 0;\n }\n else {\n replace(to);\n }\n // Here we could also revert the navigation by calling history.go(-delta)\n // this listener will have to be adapted to not trigger again and to wait for the url\n // to be updated before triggering the listeners. Some kind of validation function would also\n // need to be passed to the listeners so the navigation can be accepted\n // call all listeners\n listeners.forEach(listener => {\n listener(currentLocation.value, from, {\n delta,\n type: NavigationType.pop,\n direction: delta\n ? delta > 0\n ? NavigationDirection.forward\n : NavigationDirection.back\n : NavigationDirection.unknown,\n });\n });\n };\n function pauseListeners() {\n pauseState = currentLocation.value;\n }\n function listen(callback) {\n // set up the listener and prepare teardown callbacks\n listeners.push(callback);\n const teardown = () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n teardowns.push(teardown);\n return teardown;\n }\n function beforeUnloadListener() {\n const { history } = window;\n if (!history.state)\n return;\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\n }\n function destroy() {\n for (const teardown of teardowns)\n teardown();\n teardowns = [];\n window.removeEventListener('popstate', popStateHandler);\n window.removeEventListener('beforeunload', beforeUnloadListener);\n }\n // set up the listeners and prepare teardown callbacks\n window.addEventListener('popstate', popStateHandler);\n // TODO: could we use 'pagehide' or 'visibilitychange' instead?\n // https://developer.chrome.com/blog/page-lifecycle-api/\n window.addEventListener('beforeunload', beforeUnloadListener, {\n passive: true,\n });\n return {\n pauseListeners,\n listen,\n destroy,\n };\n}\n/**\n * Creates a state object\n */\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\n return {\n back,\n current,\n forward,\n replaced,\n position: window.history.length,\n scroll: computeScroll ? computeScrollPosition() : null,\n };\n}\nfunction useHistoryStateNavigation(base) {\n const { history, location } = window;\n // private variables\n const currentLocation = {\n value: createCurrentLocation(base, location),\n };\n const historyState = { value: history.state };\n // build current history entry as this is a fresh navigation\n if (!historyState.value) {\n changeLocation(currentLocation.value, {\n back: null,\n current: currentLocation.value,\n forward: null,\n // the length is off by one, we need to decrease it\n position: history.length - 1,\n replaced: true,\n // don't add a scroll as the user may have an anchor, and we want\n // scrollBehavior to be triggered without a saved position\n scroll: null,\n }, true);\n }\n function changeLocation(to, state, replace) {\n /**\n * if a base tag is provided, and we are on a normal domain, we have to\n * respect the provided `base` attribute because pushState() will use it and\n * potentially erase anything before the `#` like at\n * https://github.com/vuejs/router/issues/685 where a base of\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\n * there is no host, the `` tag makes no sense and if there isn't a\n * base tag we can just use everything after the `#`.\n */\n const hashIndex = base.indexOf('#');\n const url = hashIndex > -1\n ? (location.host && document.querySelector('base')\n ? base\n : base.slice(hashIndex)) + to\n : createBaseLocation() + base + to;\n try {\n // BROWSER QUIRK\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\n historyState.value = state;\n }\n catch (err) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('Error with push/replace State', err);\n }\n else {\n console.error(err);\n }\n // Force the navigation, this also resets the call count\n location[replace ? 'replace' : 'assign'](url);\n }\n }\n function replace(to, data) {\n const state = assign({}, history.state, buildState(historyState.value.back, \n // keep back and forward entries but override current position\n to, historyState.value.forward, true), data, { position: historyState.value.position });\n changeLocation(to, state, true);\n currentLocation.value = to;\n }\n function push(to, data) {\n // Add to current entry the information of where we are going\n // as well as saving the current position\n const currentState = assign({}, \n // use current history state to gracefully handle a wrong call to\n // history.replaceState\n // https://github.com/vuejs/router/issues/366\n historyState.value, history.state, {\n forward: to,\n scroll: computeScrollPosition(),\n });\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\n `history.replaceState(history.state, '', url)\\n\\n` +\n `You can find more information at https://router.vuejs.org/guide/migration/#Usage-of-history-state`);\n }\n changeLocation(currentState.current, currentState, true);\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\n changeLocation(to, state, false);\n currentLocation.value = to;\n }\n return {\n location: currentLocation,\n state: historyState,\n push,\n replace,\n };\n}\n/**\n * Creates an HTML5 history. Most common history for single page applications.\n *\n * @param base -\n */\nfunction createWebHistory(base) {\n base = normalizeBase(base);\n const historyNavigation = useHistoryStateNavigation(base);\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\n function go(delta, triggerListeners = true) {\n if (!triggerListeners)\n historyListeners.pauseListeners();\n history.go(delta);\n }\n const routerHistory = assign({\n // it's overridden right after\n location: '',\n base,\n go,\n createHref: createHref.bind(null, base),\n }, historyNavigation, historyListeners);\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => historyNavigation.location.value,\n });\n Object.defineProperty(routerHistory, 'state', {\n enumerable: true,\n get: () => historyNavigation.state.value,\n });\n return routerHistory;\n}\n\n/**\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\n *\n * @param base - Base applied to all urls, defaults to '/'\n * @returns a history object that can be passed to the router constructor\n */\nfunction createMemoryHistory(base = '') {\n let listeners = [];\n let queue = [START];\n let position = 0;\n base = normalizeBase(base);\n function setLocation(location) {\n position++;\n if (position !== queue.length) {\n // we are in the middle, we remove everything from here in the queue\n queue.splice(position);\n }\n queue.push(location);\n }\n function triggerListeners(to, from, { direction, delta }) {\n const info = {\n direction,\n delta,\n type: NavigationType.pop,\n };\n for (const callback of listeners) {\n callback(to, from, info);\n }\n }\n const routerHistory = {\n // rewritten by Object.defineProperty\n location: START,\n // TODO: should be kept in queue\n state: {},\n base,\n createHref: createHref.bind(null, base),\n replace(to) {\n // remove current entry and decrement position\n queue.splice(position--, 1);\n setLocation(to);\n },\n push(to, data) {\n setLocation(to);\n },\n listen(callback) {\n listeners.push(callback);\n return () => {\n const index = listeners.indexOf(callback);\n if (index > -1)\n listeners.splice(index, 1);\n };\n },\n destroy() {\n listeners = [];\n queue = [START];\n position = 0;\n },\n go(delta, shouldTrigger = true) {\n const from = this.location;\n const direction = \n // we are considering delta === 0 going forward, but in abstract mode\n // using 0 for the delta doesn't make sense like it does in html5 where\n // it reloads the page\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\n if (shouldTrigger) {\n triggerListeners(this.location, from, {\n direction,\n delta,\n });\n }\n },\n };\n Object.defineProperty(routerHistory, 'location', {\n enumerable: true,\n get: () => queue[position],\n });\n return routerHistory;\n}\n\n/**\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\n * handle any URL is not possible.\n *\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\n * after the `#`).\n *\n * @example\n * ```js\n * // at https://example.com/folder\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\n * // you should avoid doing this because it changes the original url and breaks copying urls\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\n *\n * // at file:///usr/etc/folder/index.html\n * // for locations with no `host`, the base is ignored\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\n * ```\n */\nfunction createWebHashHistory(base) {\n // Make sure this implementation is fine in terms of encoding, specially for IE11\n // for `file://`, directly use the pathname and ignore the base\n // location.pathname contains an initial `/` even at the root: `https://example.com`\n base = location.host ? base || location.pathname + location.search : '';\n // allow the user to provide a `#` in the middle: `/base/#/app`\n if (!base.includes('#'))\n base += '#';\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\n }\n return createWebHistory(base);\n}\n\nfunction isRouteLocation(route) {\n return typeof route === 'string' || (route && typeof route === 'object');\n}\nfunction isRouteName(name) {\n return typeof name === 'string' || typeof name === 'symbol';\n}\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\n/**\n * Enumeration with all possible types for navigation failures. Can be passed to\n * {@link isNavigationFailure} to check for specific failures.\n */\nvar NavigationFailureType;\n(function (NavigationFailureType) {\n /**\n * An aborted navigation is a navigation that failed because a navigation\n * guard returned `false` or called `next(false)`\n */\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\n /**\n * A cancelled navigation is a navigation that failed because a more recent\n * navigation finished started (not necessarily finished).\n */\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\n /**\n * A duplicated navigation is a navigation that failed because it was\n * initiated while already being at the exact same location.\n */\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\n})(NavigationFailureType || (NavigationFailureType = {}));\n// DEV only debug messages\nconst ErrorTypeMessages = {\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\n : ''}`;\n },\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\n },\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\n },\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\n },\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\n },\n};\n/**\n * Creates a typed NavigationFailure object.\n * @internal\n * @param type - NavigationFailureType\n * @param params - { from, to }\n */\nfunction createRouterError(type, params) {\n // keep full error messages in cjs versions\n if ((process.env.NODE_ENV !== 'production') || !true) {\n return assign(new Error(ErrorTypeMessages[type](params)), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n else {\n return assign(new Error(), {\n type,\n [NavigationFailureSymbol]: true,\n }, params);\n }\n}\nfunction isNavigationFailure(error, type) {\n return (error instanceof Error &&\n NavigationFailureSymbol in error &&\n (type == null || !!(error.type & type)));\n}\nconst propertiesToLog = ['params', 'query', 'hash'];\nfunction stringifyRoute(to) {\n if (typeof to === 'string')\n return to;\n if (to.path != null)\n return to.path;\n const location = {};\n for (const key of propertiesToLog) {\n if (key in to)\n location[key] = to[key];\n }\n return JSON.stringify(location, null, 2);\n}\n\n// default pattern for a param: non-greedy everything but /\nconst BASE_PARAM_PATTERN = '[^/]+?';\nconst BASE_PATH_PARSER_OPTIONS = {\n sensitive: false,\n strict: false,\n start: true,\n end: true,\n};\n// Special Regex characters that must be escaped in static tokens\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\n/**\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\n *\n * @param segments - array of segments returned by tokenizePath\n * @param extraOptions - optional options for the regexp\n * @returns a PathParser\n */\nfunction tokensToParser(segments, extraOptions) {\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\n const score = [];\n // the regexp as a string\n let pattern = options.start ? '^' : '';\n // extracted keys\n const keys = [];\n for (const segment of segments) {\n // the root segment needs special treatment\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\n // allow trailing slash\n if (options.strict && !segment.length)\n pattern += '/';\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\n const token = segment[tokenIndex];\n // resets the score if we are inside a sub-segment /:a-other-:b\n let subSegmentScore = 40 /* PathScore.Segment */ +\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\n if (token.type === 0 /* TokenType.Static */) {\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n pattern += '/';\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\n subSegmentScore += 40 /* PathScore.Static */;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional, regexp } = token;\n keys.push({\n name: value,\n repeatable,\n optional,\n });\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\n // the user provided a custom regexp /:id(\\\\d+)\n if (re !== BASE_PARAM_PATTERN) {\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\n // make sure the regexp is valid before using it\n try {\n new RegExp(`(${re})`);\n }\n catch (err) {\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\n err.message);\n }\n }\n // when we repeat we must take care of the repeating leading slash\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\n // prepend the slash if we are starting a new segment\n if (!tokenIndex)\n subPattern =\n // avoid an optional / if there are more segments e.g. /:p?-static\n // or /:p?-:p2\n optional && segment.length < 2\n ? `(?:/${subPattern})`\n : '/' + subPattern;\n if (optional)\n subPattern += '?';\n pattern += subPattern;\n subSegmentScore += 20 /* PathScore.Dynamic */;\n if (optional)\n subSegmentScore += -8 /* PathScore.BonusOptional */;\n if (repeatable)\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\n if (re === '.*')\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\n }\n segmentScores.push(subSegmentScore);\n }\n // an empty array like /home/ -> [[{home}], []]\n // if (!segment.length) pattern += '/'\n score.push(segmentScores);\n }\n // only apply the strict bonus to the last score\n if (options.strict && options.end) {\n const i = score.length - 1;\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\n }\n // TODO: dev only warn double trailing slash\n if (!options.strict)\n pattern += '/?';\n if (options.end)\n pattern += '$';\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\n else if (options.strict && !pattern.endsWith('/'))\n pattern += '(?:/|$)';\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\n function parse(path) {\n const match = path.match(re);\n const params = {};\n if (!match)\n return null;\n for (let i = 1; i < match.length; i++) {\n const value = match[i] || '';\n const key = keys[i - 1];\n params[key.name] = value && key.repeatable ? value.split('/') : value;\n }\n return params;\n }\n function stringify(params) {\n let path = '';\n // for optional parameters to allow to be empty\n let avoidDuplicatedSlash = false;\n for (const segment of segments) {\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\n path += '/';\n avoidDuplicatedSlash = false;\n for (const token of segment) {\n if (token.type === 0 /* TokenType.Static */) {\n path += token.value;\n }\n else if (token.type === 1 /* TokenType.Param */) {\n const { value, repeatable, optional } = token;\n const param = value in params ? params[value] : '';\n if (isArray(param) && !repeatable) {\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\n }\n const text = isArray(param)\n ? param.join('/')\n : param;\n if (!text) {\n if (optional) {\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\n if (segment.length < 2) {\n // remove the last slash as we could be at the end\n if (path.endsWith('/'))\n path = path.slice(0, -1);\n // do not append a slash on the next iteration\n else\n avoidDuplicatedSlash = true;\n }\n }\n else\n throw new Error(`Missing required param \"${value}\"`);\n }\n path += text;\n }\n }\n }\n // avoid empty path when we have multiple optional params\n return path || '/';\n }\n return {\n re,\n score,\n keys,\n parse,\n stringify,\n };\n}\n/**\n * Compares an array of numbers as used in PathParser.score and returns a\n * number. This function can be used to `sort` an array\n *\n * @param a - first array of numbers\n * @param b - second array of numbers\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n * should be sorted first\n */\nfunction compareScoreArray(a, b) {\n let i = 0;\n while (i < a.length && i < b.length) {\n const diff = b[i] - a[i];\n // only keep going if diff === 0\n if (diff)\n return diff;\n i++;\n }\n // if the last subsegment was Static, the shorter segments should be sorted first\n // otherwise sort the longest segment first\n if (a.length < b.length) {\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? -1\n : 1;\n }\n else if (a.length > b.length) {\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\n ? 1\n : -1;\n }\n return 0;\n}\n/**\n * Compare function that can be used with `sort` to sort an array of PathParser\n *\n * @param a - first PathParser\n * @param b - second PathParser\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\n */\nfunction comparePathParserScore(a, b) {\n let i = 0;\n const aScore = a.score;\n const bScore = b.score;\n while (i < aScore.length && i < bScore.length) {\n const comp = compareScoreArray(aScore[i], bScore[i]);\n // do not return if both are equal\n if (comp)\n return comp;\n i++;\n }\n if (Math.abs(bScore.length - aScore.length) === 1) {\n if (isLastScoreNegative(aScore))\n return 1;\n if (isLastScoreNegative(bScore))\n return -1;\n }\n // if a and b share the same score entries but b has more, sort b first\n return bScore.length - aScore.length;\n // this is the ternary version\n // return aScore.length < bScore.length\n // ? 1\n // : aScore.length > bScore.length\n // ? -1\n // : 0\n}\n/**\n * This allows detecting splats at the end of a path: /home/:id(.*)*\n *\n * @param score - score to check\n * @returns true if the last entry is negative\n */\nfunction isLastScoreNegative(score) {\n const last = score[score.length - 1];\n return score.length > 0 && last[last.length - 1] < 0;\n}\n\nconst ROOT_TOKEN = {\n type: 0 /* TokenType.Static */,\n value: '',\n};\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\n// After some profiling, the cache seems to be unnecessary because tokenizePath\n// (the slowest part of adding a route) is very fast\n// const tokenCache = new Map()\nfunction tokenizePath(path) {\n if (!path)\n return [[]];\n if (path === '/')\n return [[ROOT_TOKEN]];\n if (!path.startsWith('/')) {\n throw new Error((process.env.NODE_ENV !== 'production')\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\n : `Invalid path \"${path}\"`);\n }\n // if (tokenCache.has(path)) return tokenCache.get(path)!\n function crash(message) {\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\n }\n let state = 0 /* TokenizerState.Static */;\n let previousState = state;\n const tokens = [];\n // the segment will always be valid because we get into the initial state\n // with the leading /\n let segment;\n function finalizeSegment() {\n if (segment)\n tokens.push(segment);\n segment = [];\n }\n // index on the path\n let i = 0;\n // char at index\n let char;\n // buffer of the value read\n let buffer = '';\n // custom regexp for a param\n let customRe = '';\n function consumeBuffer() {\n if (!buffer)\n return;\n if (state === 0 /* TokenizerState.Static */) {\n segment.push({\n type: 0 /* TokenType.Static */,\n value: buffer,\n });\n }\n else if (state === 1 /* TokenizerState.Param */ ||\n state === 2 /* TokenizerState.ParamRegExp */ ||\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\n if (segment.length > 1 && (char === '*' || char === '+'))\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\n segment.push({\n type: 1 /* TokenType.Param */,\n value: buffer,\n regexp: customRe,\n repeatable: char === '*' || char === '+',\n optional: char === '*' || char === '?',\n });\n }\n else {\n crash('Invalid state to consume buffer');\n }\n buffer = '';\n }\n function addCharToBuffer() {\n buffer += char;\n }\n while (i < path.length) {\n char = path[i++];\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\n previousState = state;\n state = 4 /* TokenizerState.EscapeNext */;\n continue;\n }\n switch (state) {\n case 0 /* TokenizerState.Static */:\n if (char === '/') {\n if (buffer) {\n consumeBuffer();\n }\n finalizeSegment();\n }\n else if (char === ':') {\n consumeBuffer();\n state = 1 /* TokenizerState.Param */;\n }\n else {\n addCharToBuffer();\n }\n break;\n case 4 /* TokenizerState.EscapeNext */:\n addCharToBuffer();\n state = previousState;\n break;\n case 1 /* TokenizerState.Param */:\n if (char === '(') {\n state = 2 /* TokenizerState.ParamRegExp */;\n }\n else if (VALID_PARAM_RE.test(char)) {\n addCharToBuffer();\n }\n else {\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n }\n break;\n case 2 /* TokenizerState.ParamRegExp */:\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\n // it already works by escaping the closing )\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\n // is this really something people need since you can also write\n // /prefix_:p()_suffix\n if (char === ')') {\n // handle the escaped )\n if (customRe[customRe.length - 1] == '\\\\')\n customRe = customRe.slice(0, -1) + char;\n else\n state = 3 /* TokenizerState.ParamRegExpEnd */;\n }\n else {\n customRe += char;\n }\n break;\n case 3 /* TokenizerState.ParamRegExpEnd */:\n // same as finalizing a param\n consumeBuffer();\n state = 0 /* TokenizerState.Static */;\n // go back one character if we were not modifying\n if (char !== '*' && char !== '?' && char !== '+')\n i--;\n customRe = '';\n break;\n default:\n crash('Unknown state');\n break;\n }\n }\n if (state === 2 /* TokenizerState.ParamRegExp */)\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\n consumeBuffer();\n finalizeSegment();\n // tokenCache.set(path, tokens)\n return tokens;\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\n const parser = tokensToParser(tokenizePath(record.path), options);\n // warn against params with the same name\n if ((process.env.NODE_ENV !== 'production')) {\n const existingKeys = new Set();\n for (const key of parser.keys) {\n if (existingKeys.has(key.name))\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\n existingKeys.add(key.name);\n }\n }\n const matcher = assign(parser, {\n record,\n parent,\n // these needs to be populated by the parent\n children: [],\n alias: [],\n });\n if (parent) {\n // both are aliases or both are not aliases\n // we don't want to mix them because the order is used when\n // passing originalRecord in Matcher.addRoute\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\n parent.children.push(matcher);\n }\n return matcher;\n}\n\n/**\n * Creates a Router Matcher.\n *\n * @internal\n * @param routes - array of initial routes\n * @param globalOptions - global route options\n */\nfunction createRouterMatcher(routes, globalOptions) {\n // normalized ordered array of matchers\n const matchers = [];\n const matcherMap = new Map();\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\n function getRecordMatcher(name) {\n return matcherMap.get(name);\n }\n function addRoute(record, parent, originalRecord) {\n // used later on to remove by name\n const isRootAdd = !originalRecord;\n const mainNormalizedRecord = normalizeRouteRecord(record);\n if ((process.env.NODE_ENV !== 'production')) {\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\n }\n // we might be the child of an alias\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\n const options = mergeOptions(globalOptions, record);\n // generate an array of records to correctly handle aliases\n const normalizedRecords = [mainNormalizedRecord];\n if ('alias' in record) {\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\n for (const alias of aliases) {\n normalizedRecords.push(\n // we need to normalize again to ensure the `mods` property\n // being non enumerable\n normalizeRouteRecord(assign({}, mainNormalizedRecord, {\n // this allows us to hold a copy of the `components` option\n // so that async components cache is hold on the original record\n components: originalRecord\n ? originalRecord.record.components\n : mainNormalizedRecord.components,\n path: alias,\n // we might be the child of an alias\n aliasOf: originalRecord\n ? originalRecord.record\n : mainNormalizedRecord,\n // the aliases are always of the same kind as the original since they\n // are defined on the same record\n })));\n }\n }\n let matcher;\n let originalMatcher;\n for (const normalizedRecord of normalizedRecords) {\n const { path } = normalizedRecord;\n // Build up the path for nested routes if the child isn't an absolute\n // route. Only add the / delimiter if the child path isn't empty and if the\n // parent path doesn't have a trailing slash\n if (parent && path[0] !== '/') {\n const parentPath = parent.record.path;\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\n normalizedRecord.path =\n parent.record.path + (path && connectingSlash + path);\n }\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\n 'See more at https://router.vuejs.org/guide/migration/#Removed-star-or-catch-all-routes.');\n }\n // create the object beforehand, so it can be passed to children\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\n checkMissingParamsInAbsolutePath(matcher, parent);\n // if we are an alias we must tell the original record that we exist,\n // so we can be removed\n if (originalRecord) {\n originalRecord.alias.push(matcher);\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameParams(originalRecord, matcher);\n }\n }\n else {\n // otherwise, the first record is the original and others are aliases\n originalMatcher = originalMatcher || matcher;\n if (originalMatcher !== matcher)\n originalMatcher.alias.push(matcher);\n // remove the route if named and only for the top record (avoid in nested calls)\n // this works because the original record is the first one\n if (isRootAdd && record.name && !isAliasRecord(matcher)) {\n if ((process.env.NODE_ENV !== 'production')) {\n checkSameNameAsAncestor(record, parent);\n }\n removeRoute(record.name);\n }\n }\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\n // not be reached and pass through the catch all route\n if (isMatchable(matcher)) {\n insertMatcher(matcher);\n }\n if (mainNormalizedRecord.children) {\n const children = mainNormalizedRecord.children;\n for (let i = 0; i < children.length; i++) {\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\n }\n }\n // if there was no original record, then the first one was not an alias and all\n // other aliases (if any) need to reference this record when adding children\n originalRecord = originalRecord || matcher;\n // TODO: add normalized records for more flexibility\n // if (parent && isAliasRecord(originalRecord)) {\n // parent.children.push(originalRecord)\n // }\n }\n return originalMatcher\n ? () => {\n // since other matchers are aliases, they should be removed by the original matcher\n removeRoute(originalMatcher);\n }\n : noop;\n }\n function removeRoute(matcherRef) {\n if (isRouteName(matcherRef)) {\n const matcher = matcherMap.get(matcherRef);\n if (matcher) {\n matcherMap.delete(matcherRef);\n matchers.splice(matchers.indexOf(matcher), 1);\n matcher.children.forEach(removeRoute);\n matcher.alias.forEach(removeRoute);\n }\n }\n else {\n const index = matchers.indexOf(matcherRef);\n if (index > -1) {\n matchers.splice(index, 1);\n if (matcherRef.record.name)\n matcherMap.delete(matcherRef.record.name);\n matcherRef.children.forEach(removeRoute);\n matcherRef.alias.forEach(removeRoute);\n }\n }\n }\n function getRoutes() {\n return matchers;\n }\n function insertMatcher(matcher) {\n const index = findInsertionIndex(matcher, matchers);\n matchers.splice(index, 0, matcher);\n // only add the original record to the name map\n if (matcher.record.name && !isAliasRecord(matcher))\n matcherMap.set(matcher.record.name, matcher);\n }\n function resolve(location, currentLocation) {\n let matcher;\n let params = {};\n let path;\n let name;\n if ('name' in location && location.name) {\n matcher = matcherMap.get(location.name);\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n });\n // warn if the user is passing invalid params so they can debug it better when they get removed\n if ((process.env.NODE_ENV !== 'production')) {\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\n if (invalidParams.length) {\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\n }\n }\n name = matcher.record.name;\n params = assign(\n // paramsFromLocation is a new object\n paramsFromLocation(currentLocation.params, \n // only keep params that exist in the resolved location\n // only keep optional params coming from a parent record\n matcher.keys\n .filter(k => !k.optional)\n .concat(matcher.parent ? matcher.parent.keys.filter(k => k.optional) : [])\n .map(k => k.name)), \n // discard any existing params in the current location that do not exist here\n // #1497 this ensures better active/exact matching\n location.params &&\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\n // throws if cannot be stringified\n path = matcher.stringify(params);\n }\n else if (location.path != null) {\n // no need to resolve the path with the matcher as it was provided\n // this also allows the user to control the encoding\n path = location.path;\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`);\n }\n matcher = matchers.find(m => m.re.test(path));\n // matcher should have a value after the loop\n if (matcher) {\n // we know the matcher works because we tested the regexp\n params = matcher.parse(path);\n name = matcher.record.name;\n }\n // location is a relative path\n }\n else {\n // match by name or path of current route\n matcher = currentLocation.name\n ? matcherMap.get(currentLocation.name)\n : matchers.find(m => m.re.test(currentLocation.path));\n if (!matcher)\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\n location,\n currentLocation,\n });\n name = matcher.record.name;\n // since we are navigating to the same location, we don't need to pick the\n // params like when `name` is provided\n params = assign({}, currentLocation.params, location.params);\n path = matcher.stringify(params);\n }\n const matched = [];\n let parentMatcher = matcher;\n while (parentMatcher) {\n // reversed order so parents are at the beginning\n matched.unshift(parentMatcher.record);\n parentMatcher = parentMatcher.parent;\n }\n return {\n name,\n path,\n params,\n matched,\n meta: mergeMetaFields(matched),\n };\n }\n // add initial routes\n routes.forEach(route => addRoute(route));\n function clearRoutes() {\n matchers.length = 0;\n matcherMap.clear();\n }\n return {\n addRoute,\n resolve,\n removeRoute,\n clearRoutes,\n getRoutes,\n getRecordMatcher,\n };\n}\nfunction paramsFromLocation(params, keys) {\n const newParams = {};\n for (const key of keys) {\n if (key in params)\n newParams[key] = params[key];\n }\n return newParams;\n}\n/**\n * Normalizes a RouteRecordRaw. Creates a copy\n *\n * @param record\n * @returns the normalized version\n */\nfunction normalizeRouteRecord(record) {\n const normalized = {\n path: record.path,\n redirect: record.redirect,\n name: record.name,\n meta: record.meta || {},\n aliasOf: record.aliasOf,\n beforeEnter: record.beforeEnter,\n props: normalizeRecordProps(record),\n children: record.children || [],\n instances: {},\n leaveGuards: new Set(),\n updateGuards: new Set(),\n enterCallbacks: {},\n // must be declared afterwards\n // mods: {},\n components: 'components' in record\n ? record.components || null\n : record.component && { default: record.component },\n };\n // mods contain modules and shouldn't be copied,\n // logged or anything. It's just used for internal\n // advanced use cases like data loaders\n Object.defineProperty(normalized, 'mods', {\n value: {},\n });\n return normalized;\n}\n/**\n * Normalize the optional `props` in a record to always be an object similar to\n * components. Also accept a boolean for components.\n * @param record\n */\nfunction normalizeRecordProps(record) {\n const propsObject = {};\n // props does not exist on redirect records, but we can set false directly\n const props = record.props || false;\n if ('component' in record) {\n propsObject.default = props;\n }\n else {\n // NOTE: we could also allow a function to be applied to every component.\n // Would need user feedback for use cases\n for (const name in record.components)\n propsObject[name] = typeof props === 'object' ? props[name] : props;\n }\n return propsObject;\n}\n/**\n * Checks if a record or any of its parent is an alias\n * @param record\n */\nfunction isAliasRecord(record) {\n while (record) {\n if (record.record.aliasOf)\n return true;\n record = record.parent;\n }\n return false;\n}\n/**\n * Merge meta fields of an array of records\n *\n * @param matched - array of matched records\n */\nfunction mergeMetaFields(matched) {\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\n}\nfunction mergeOptions(defaults, partialOptions) {\n const options = {};\n for (const key in defaults) {\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\n }\n return options;\n}\nfunction isSameParam(a, b) {\n return (a.name === b.name &&\n a.optional === b.optional &&\n a.repeatable === b.repeatable);\n}\n/**\n * Check if a path and its alias have the same required params\n *\n * @param a - original record\n * @param b - alias record\n */\nfunction checkSameParams(a, b) {\n for (const key of a.keys) {\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n for (const key of b.keys) {\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\n }\n}\n/**\n * A route with a name and a child with an empty path without a name should warn when adding the route\n *\n * @param mainNormalizedRecord - RouteRecordNormalized\n * @param parent - RouteRecordMatcher\n */\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\n if (parent &&\n parent.record.name &&\n !mainNormalizedRecord.name &&\n !mainNormalizedRecord.path) {\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\n }\n}\nfunction checkSameNameAsAncestor(record, parent) {\n for (let ancestor = parent; ancestor; ancestor = ancestor.parent) {\n if (ancestor.record.name === record.name) {\n throw new Error(`A route named \"${String(record.name)}\" has been added as a ${parent === ancestor ? 'child' : 'descendant'} of a route with the same name. Route names must be unique and a nested route cannot use the same name as an ancestor.`);\n }\n }\n}\nfunction checkMissingParamsInAbsolutePath(record, parent) {\n for (const key of parent.keys) {\n if (!record.keys.find(isSameParam.bind(null, key)))\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\n }\n}\n/**\n * Performs a binary search to find the correct insertion index for a new matcher.\n *\n * Matchers are primarily sorted by their score. If scores are tied then we also consider parent/child relationships,\n * with descendants coming before ancestors. If there's still a tie, new routes are inserted after existing routes.\n *\n * @param matcher - new matcher to be inserted\n * @param matchers - existing matchers\n */\nfunction findInsertionIndex(matcher, matchers) {\n // First phase: binary search based on score\n let lower = 0;\n let upper = matchers.length;\n while (lower !== upper) {\n const mid = (lower + upper) >> 1;\n const sortOrder = comparePathParserScore(matcher, matchers[mid]);\n if (sortOrder < 0) {\n upper = mid;\n }\n else {\n lower = mid + 1;\n }\n }\n // Second phase: check for an ancestor with the same score\n const insertionAncestor = getInsertionAncestor(matcher);\n if (insertionAncestor) {\n upper = matchers.lastIndexOf(insertionAncestor, upper - 1);\n if ((process.env.NODE_ENV !== 'production') && upper < 0) {\n // This should never happen\n warn(`Finding ancestor route \"${insertionAncestor.record.path}\" failed for \"${matcher.record.path}\"`);\n }\n }\n return upper;\n}\nfunction getInsertionAncestor(matcher) {\n let ancestor = matcher;\n while ((ancestor = ancestor.parent)) {\n if (isMatchable(ancestor) &&\n comparePathParserScore(matcher, ancestor) === 0) {\n return ancestor;\n }\n }\n return;\n}\n/**\n * Checks if a matcher can be reachable. This means if it's possible to reach it as a route. For example, routes without\n * a component, or name, or redirect, are just used to group other routes.\n * @param matcher\n * @param matcher.record record of the matcher\n * @returns\n */\nfunction isMatchable({ record }) {\n return !!(record.name ||\n (record.components && Object.keys(record.components).length) ||\n record.redirect);\n}\n\n/**\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\n * version with the leading `?` and without Should work as URLSearchParams\n\n * @internal\n *\n * @param search - search string to parse\n * @returns a query object\n */\nfunction parseQuery(search) {\n const query = {};\n // avoid creating an object with an empty key and empty value\n // because of split('&')\n if (search === '' || search === '?')\n return query;\n const hasLeadingIM = search[0] === '?';\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\n for (let i = 0; i < searchParams.length; ++i) {\n // pre decode the + into space\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\n // allow the = character\n const eqPos = searchParam.indexOf('=');\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\n if (key in query) {\n // an extra variable for ts types\n let currentValue = query[key];\n if (!isArray(currentValue)) {\n currentValue = query[key] = [currentValue];\n }\n currentValue.push(value);\n }\n else {\n query[key] = value;\n }\n }\n return query;\n}\n/**\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\n * doesn't prepend a `?`\n *\n * @internal\n *\n * @param query - query object to stringify\n * @returns string version of the query without the leading `?`\n */\nfunction stringifyQuery(query) {\n let search = '';\n for (let key in query) {\n const value = query[key];\n key = encodeQueryKey(key);\n if (value == null) {\n // only null adds the value\n if (value !== undefined) {\n search += (search.length ? '&' : '') + key;\n }\n continue;\n }\n // keep null values\n const values = isArray(value)\n ? value.map(v => v && encodeQueryValue(v))\n : [value && encodeQueryValue(value)];\n values.forEach(value => {\n // skip undefined values in arrays as if they were not present\n // smaller code than using filter\n if (value !== undefined) {\n // only append & with non-empty search\n search += (search.length ? '&' : '') + key;\n if (value != null)\n search += '=' + value;\n }\n });\n }\n return search;\n}\n/**\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\n * numbers into strings, removing keys with an undefined value and replacing\n * undefined with null in arrays\n *\n * @param query - query object to normalize\n * @returns a normalized query object\n */\nfunction normalizeQuery(query) {\n const normalizedQuery = {};\n for (const key in query) {\n const value = query[key];\n if (value !== undefined) {\n normalizedQuery[key] = isArray(value)\n ? value.map(v => (v == null ? null : '' + v))\n : value == null\n ? value\n : '' + value;\n }\n }\n return normalizedQuery;\n}\n\n/**\n * RouteRecord being rendered by the closest ancestor Router View. Used for\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\n * Location Matched\n *\n * @internal\n */\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\n/**\n * Allows overriding the router view depth to control which component in\n * `matched` is rendered. rvd stands for Router View Depth\n *\n * @internal\n */\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\n/**\n * Allows overriding the router instance returned by `useRouter` in tests. r\n * stands for router\n *\n * @internal\n */\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\n/**\n * Allows overriding the current route returned by `useRoute` in tests. rl\n * stands for route location\n *\n * @internal\n */\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\n/**\n * Allows overriding the current route used by router-view. Internally this is\n * used when the `route` prop is passed.\n *\n * @internal\n */\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\n */\nfunction useCallbacks() {\n let handlers = [];\n function add(handler) {\n handlers.push(handler);\n return () => {\n const i = handlers.indexOf(handler);\n if (i > -1)\n handlers.splice(i, 1);\n };\n }\n function reset() {\n handlers = [];\n }\n return {\n add,\n list: () => handlers.slice(),\n reset,\n };\n}\n\nfunction registerGuard(record, name, guard) {\n const removeFromList = () => {\n record[name].delete(guard);\n };\n onUnmounted(removeFromList);\n onDeactivated(removeFromList);\n onActivated(() => {\n record[name].add(guard);\n });\n record[name].add(guard);\n}\n/**\n * Add a navigation guard that triggers whenever the component for the current\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\n * used in any component. The guard is removed when the component is unmounted.\n *\n * @param leaveGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteLeave(leaveGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\n}\n/**\n * Add a navigation guard that triggers whenever the current location is about\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\n * component. The guard is removed when the component is unmounted.\n *\n * @param updateGuard - {@link NavigationGuard}\n */\nfunction onBeforeRouteUpdate(updateGuard) {\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\n return;\n }\n const activeRecord = inject(matchedRouteKey, \n // to avoid warning\n {}).value;\n if (!activeRecord) {\n (process.env.NODE_ENV !== 'production') &&\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\n return;\n }\n registerGuard(activeRecord, 'updateGuards', updateGuard);\n}\nfunction guardToPromiseFn(guard, to, from, record, name, runWithContext = fn => fn()) {\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\n const enterCallbackArray = record &&\n // name is defined if record is because of the function overload\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\n return () => new Promise((resolve, reject) => {\n const next = (valid) => {\n if (valid === false) {\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\n from,\n to,\n }));\n }\n else if (valid instanceof Error) {\n reject(valid);\n }\n else if (isRouteLocation(valid)) {\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\n from: to,\n to: valid,\n }));\n }\n else {\n if (enterCallbackArray &&\n // since enterCallbackArray is truthy, both record and name also are\n record.enterCallbacks[name] === enterCallbackArray &&\n typeof valid === 'function') {\n enterCallbackArray.push(valid);\n }\n resolve();\n }\n };\n // wrapping with Promise.resolve allows it to work with both async and sync guards\n const guardReturn = runWithContext(() => guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next));\n let guardCall = Promise.resolve(guardReturn);\n if (guard.length < 3)\n guardCall = guardCall.then(next);\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\n guardCall = guardCall.then(resolvedValue => {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n return Promise.reject(new Error('Invalid navigation guard'));\n }\n return resolvedValue;\n });\n }\n else if (guardReturn !== undefined) {\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\n if (!next._called) {\n warn(message);\n reject(new Error('Invalid navigation guard'));\n return;\n }\n }\n }\n guardCall.catch(err => reject(err));\n });\n}\nfunction canOnlyBeCalledOnce(next, to, from) {\n let called = 0;\n return function () {\n if (called++ === 1)\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\n // @ts-expect-error: we put it in the original one because it's easier to check\n next._called = true;\n if (called === 1)\n next.apply(null, arguments);\n };\n}\nfunction extractComponentsGuards(matched, guardType, to, from, runWithContext = fn => fn()) {\n const guards = [];\n for (const record of matched) {\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\n ` or \"children\" property.`);\n }\n for (const name in record.components) {\n let rawComponent = record.components[name];\n if ((process.env.NODE_ENV !== 'production')) {\n if (!rawComponent ||\n (typeof rawComponent !== 'object' &&\n typeof rawComponent !== 'function')) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\n ` a valid component. Received \"${String(rawComponent)}\".`);\n // throw to ensure we stop here but warn to ensure the message isn't\n // missed by the user\n throw new Error('Invalid route component');\n }\n else if ('then' in rawComponent) {\n // warn if user wrote import('/component.vue') instead of () =>\n // import('./component.vue')\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\n `Promise instead of a function that returns a Promise. Did you ` +\n `write \"import('./MyPage.vue')\" instead of ` +\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\n `production if not fixed.`);\n const promise = rawComponent;\n rawComponent = () => promise;\n }\n else if (rawComponent.__asyncLoader &&\n // warn only once per component\n !rawComponent.__warnedDefineAsync) {\n rawComponent.__warnedDefineAsync = true;\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\n `using \"defineAsyncComponent()\". ` +\n `Write \"() => import('./MyPage.vue')\" instead of ` +\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\n }\n }\n // skip update and leave guards if the route component is not mounted\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\n continue;\n if (isRouteComponent(rawComponent)) {\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = rawComponent.__vccOpts || rawComponent;\n const guard = options[guardType];\n guard &&\n guards.push(guardToPromiseFn(guard, to, from, record, name, runWithContext));\n }\n else {\n // start requesting the chunk already\n let componentPromise = rawComponent();\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\n componentPromise = Promise.resolve(componentPromise);\n }\n guards.push(() => componentPromise.then(resolved => {\n if (!resolved)\n throw new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`);\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // keep the resolved module for plugins like data loaders\n record.mods[name] = resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n // __vccOpts is added by vue-class-component and contain the regular options\n const options = resolvedComponent.__vccOpts || resolvedComponent;\n const guard = options[guardType];\n return (guard &&\n guardToPromiseFn(guard, to, from, record, name, runWithContext)());\n }));\n }\n }\n }\n return guards;\n}\n/**\n * Ensures a route is loaded, so it can be passed as o prop to ``.\n *\n * @param route - resolved route to load\n */\nfunction loadRouteLocation(route) {\n return route.matched.every(record => record.redirect)\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\n : Promise.all(route.matched.map(record => record.components &&\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\n const rawComponent = record.components[name];\n if (typeof rawComponent === 'function' &&\n !('displayName' in rawComponent)) {\n promises.push(rawComponent().then(resolved => {\n if (!resolved)\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\n const resolvedComponent = isESModule(resolved)\n ? resolved.default\n : resolved;\n // keep the resolved module for plugins like data loaders\n record.mods[name] = resolved;\n // replace the function with the resolved component\n // cannot be null or undefined because we went into the for loop\n record.components[name] = resolvedComponent;\n return;\n }));\n }\n return promises;\n }, [])))).then(() => route);\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\n// `isExactActive` behavior should go through an RFC\n/**\n * Returns the internal behavior of a {@link RouterLink} without the rendering part.\n *\n * @param props - a `to` location and an optional `replace` flag\n */\nfunction useLink(props) {\n const router = inject(routerKey);\n const currentRoute = inject(routeLocationKey);\n let hasPrevious = false;\n let previousTo = null;\n const route = computed(() => {\n const to = unref(props.to);\n if ((process.env.NODE_ENV !== 'production') && (!hasPrevious || to !== previousTo)) {\n if (!isRouteLocation(to)) {\n if (hasPrevious) {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- previous to:`, previousTo, `\\n- props:`, props);\n }\n else {\n warn(`Invalid value for prop \"to\" in useLink()\\n- to:`, to, `\\n- props:`, props);\n }\n }\n previousTo = to;\n hasPrevious = true;\n }\n return router.resolve(to);\n });\n const activeRecordIndex = computed(() => {\n const { matched } = route.value;\n const { length } = matched;\n const routeMatched = matched[length - 1];\n const currentMatched = currentRoute.matched;\n if (!routeMatched || !currentMatched.length)\n return -1;\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\n if (index > -1)\n return index;\n // possible parent record\n const parentRecordPath = getOriginalPath(matched[length - 2]);\n return (\n // we are dealing with nested routes\n length > 1 &&\n // if the parent and matched route have the same path, this link is\n // referring to the empty child. Or we currently are on a different\n // child of the same parent\n getOriginalPath(routeMatched) === parentRecordPath &&\n // avoid comparing the child with its parent\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\n : index);\n });\n const isActive = computed(() => activeRecordIndex.value > -1 &&\n includesParams(currentRoute.params, route.value.params));\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\n isSameRouteLocationParams(currentRoute.params, route.value.params));\n function navigate(e = {}) {\n if (guardEvent(e)) {\n const p = router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\n // avoid uncaught errors are they are logged anyway\n ).catch(noop);\n if (props.viewTransition &&\n typeof document !== 'undefined' &&\n 'startViewTransition' in document) {\n document.startViewTransition(() => p);\n }\n return p;\n }\n return Promise.resolve();\n }\n // devtools only\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n const instance = getCurrentInstance();\n if (instance) {\n const linkContextDevtools = {\n route: route.value,\n isActive: isActive.value,\n isExactActive: isExactActive.value,\n error: null,\n };\n // @ts-expect-error: this is internal\n instance.__vrl_devtools = instance.__vrl_devtools || [];\n // @ts-expect-error: this is internal\n instance.__vrl_devtools.push(linkContextDevtools);\n watchEffect(() => {\n linkContextDevtools.route = route.value;\n linkContextDevtools.isActive = isActive.value;\n linkContextDevtools.isExactActive = isExactActive.value;\n linkContextDevtools.error = isRouteLocation(unref(props.to))\n ? null\n : 'Invalid \"to\" value';\n }, { flush: 'post' });\n }\n }\n /**\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\n */\n return {\n route,\n href: computed(() => route.value.href),\n isActive,\n isExactActive,\n navigate,\n };\n}\nfunction preferSingleVNode(vnodes) {\n return vnodes.length === 1 ? vnodes[0] : vnodes;\n}\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterLink',\n compatConfig: { MODE: 3 },\n props: {\n to: {\n type: [String, Object],\n required: true,\n },\n replace: Boolean,\n activeClass: String,\n // inactiveClass: String,\n exactActiveClass: String,\n custom: Boolean,\n ariaCurrentValue: {\n type: String,\n default: 'page',\n },\n },\n useLink,\n setup(props, { slots }) {\n const link = reactive(useLink(props));\n const { options } = inject(routerKey);\n const elClass = computed(() => ({\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\n // [getLinkClass(\n // props.inactiveClass,\n // options.linkInactiveClass,\n // 'router-link-inactive'\n // )]: !link.isExactActive,\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\n }));\n return () => {\n const children = slots.default && preferSingleVNode(slots.default(link));\n return props.custom\n ? children\n : h('a', {\n 'aria-current': link.isExactActive\n ? props.ariaCurrentValue\n : null,\n href: link.href,\n // this would override user added attrs but Vue will still add\n // the listener, so we end up triggering both\n onClick: link.navigate,\n class: elClass.value,\n }, children);\n };\n },\n});\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to render a link that triggers a navigation on click.\n */\nconst RouterLink = RouterLinkImpl;\nfunction guardEvent(e) {\n // don't redirect with control keys\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\n return;\n // don't redirect when preventDefault called\n if (e.defaultPrevented)\n return;\n // don't redirect on right click\n if (e.button !== undefined && e.button !== 0)\n return;\n // don't redirect if `target=\"_blank\"`\n // @ts-expect-error getAttribute does exist\n if (e.currentTarget && e.currentTarget.getAttribute) {\n // @ts-expect-error getAttribute exists\n const target = e.currentTarget.getAttribute('target');\n if (/\\b_blank\\b/i.test(target))\n return;\n }\n // this may be a Weex event which doesn't have this method\n if (e.preventDefault)\n e.preventDefault();\n return true;\n}\nfunction includesParams(outer, inner) {\n for (const key in inner) {\n const innerValue = inner[key];\n const outerValue = outer[key];\n if (typeof innerValue === 'string') {\n if (innerValue !== outerValue)\n return false;\n }\n else {\n if (!isArray(outerValue) ||\n outerValue.length !== innerValue.length ||\n innerValue.some((value, i) => value !== outerValue[i]))\n return false;\n }\n }\n return true;\n}\n/**\n * Get the original path value of a record by following its aliasOf\n * @param record\n */\nfunction getOriginalPath(record) {\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\n}\n/**\n * Utility class to get the active class based on defaults.\n * @param propClass\n * @param globalClass\n * @param defaultClass\n */\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\n ? propClass\n : globalClass != null\n ? globalClass\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\n name: 'RouterView',\n // #674 we manually inherit them\n inheritAttrs: false,\n props: {\n name: {\n type: String,\n default: 'default',\n },\n route: Object,\n },\n // Better compat for @vue/compat users\n // https://github.com/vuejs/router/issues/1315\n compatConfig: { MODE: 3 },\n setup(props, { attrs, slots }) {\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\n const injectedRoute = inject(routerViewLocationKey);\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\n const injectedDepth = inject(viewDepthKey, 0);\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\n // that are used to reuse the `path` property\n const depth = computed(() => {\n let initialDepth = unref(injectedDepth);\n const { matched } = routeToDisplay.value;\n let matchedRoute;\n while ((matchedRoute = matched[initialDepth]) &&\n !matchedRoute.components) {\n initialDepth++;\n }\n return initialDepth;\n });\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\n provide(viewDepthKey, computed(() => depth.value + 1));\n provide(matchedRouteKey, matchedRouteRef);\n provide(routerViewLocationKey, routeToDisplay);\n const viewRef = ref();\n // watch at the same time the component instance, the route record we are\n // rendering, and the name\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\n // copy reused instances\n if (to) {\n // this will update the instance for new instances as well as reused\n // instances when navigating to a new route\n to.instances[name] = instance;\n // the component instance is reused for a different route or name, so\n // we copy any saved update or leave guards. With async setup, the\n // mounting component will mount before the matchedRoute changes,\n // making instance === oldInstance, so we check if guards have been\n // added before. This works because we remove guards when\n // unmounting/deactivating components\n if (from && from !== to && instance && instance === oldInstance) {\n if (!to.leaveGuards.size) {\n to.leaveGuards = from.leaveGuards;\n }\n if (!to.updateGuards.size) {\n to.updateGuards = from.updateGuards;\n }\n }\n }\n // trigger beforeRouteEnter next callbacks\n if (instance &&\n to &&\n // if there is no instance but to and from are the same this might be\n // the first visit\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\n }\n }, { flush: 'post' });\n return () => {\n const route = routeToDisplay.value;\n // we need the value at the time we render because when we unmount, we\n // navigated to a different location so the value is different\n const currentName = props.name;\n const matchedRoute = matchedRouteRef.value;\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\n if (!ViewComponent) {\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\n }\n // props from route configuration\n const routePropsOption = matchedRoute.props[currentName];\n const routeProps = routePropsOption\n ? routePropsOption === true\n ? route.params\n : typeof routePropsOption === 'function'\n ? routePropsOption(route)\n : routePropsOption\n : null;\n const onVnodeUnmounted = vnode => {\n // remove the instance reference to prevent leak\n if (vnode.component.isUnmounted) {\n matchedRoute.instances[currentName] = null;\n }\n };\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\n onVnodeUnmounted,\n ref: viewRef,\n }));\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n isBrowser &&\n component.ref) {\n // TODO: can display if it's an alias, its props\n const info = {\n depth: depth.value,\n name: matchedRoute.name,\n path: matchedRoute.path,\n meta: matchedRoute.meta,\n };\n const internalInstances = isArray(component.ref)\n ? component.ref.map(r => r.i)\n : [component.ref.i];\n internalInstances.forEach(instance => {\n // @ts-expect-error\n instance.__vrv_devtools = info;\n });\n }\n return (\n // pass the vnode to the slot as a prop.\n // h and both accept vnodes\n normalizeSlot(slots.default, { Component: component, route }) ||\n component);\n };\n },\n});\nfunction normalizeSlot(slot, data) {\n if (!slot)\n return null;\n const slotContent = slot(data);\n return slotContent.length === 1 ? slotContent[0] : slotContent;\n}\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\n/**\n * Component to display the current route the user is at.\n */\nconst RouterView = RouterViewImpl;\n// warn against deprecated usage with & \n// due to functional component being no longer eager in Vue 3\nfunction warnDeprecatedUsage() {\n const instance = getCurrentInstance();\n const parentName = instance.parent && instance.parent.type.name;\n const parentSubTreeType = instance.parent && instance.parent.subTree && instance.parent.subTree.type;\n if (parentName &&\n (parentName === 'KeepAlive' || parentName.includes('Transition')) &&\n typeof parentSubTreeType === 'object' &&\n parentSubTreeType.name === 'RouterView') {\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\n warn(` can no longer be used directly inside or .\\n` +\n `Use slot props instead:\\n\\n` +\n `\\n` +\n ` <${comp}>\\n` +\n ` \\n` +\n ` \\n` +\n ``);\n }\n}\n\n/**\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\n *\n * @param routeLocation - routeLocation to format\n * @param tooltip - optional tooltip\n * @returns a copy of the routeLocation\n */\nfunction formatRouteLocation(routeLocation, tooltip) {\n const copy = assign({}, routeLocation, {\n // remove variables that can contain vue instances\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\n });\n return {\n _custom: {\n type: null,\n readOnly: true,\n display: routeLocation.fullPath,\n tooltip,\n value: copy,\n },\n };\n}\nfunction formatDisplay(display) {\n return {\n _custom: {\n display,\n },\n };\n}\n// to support multiple router instances\nlet routerId = 0;\nfunction addDevtools(app, router, matcher) {\n // Take over router.beforeEach and afterEach\n // make sure we are not registering the devtool twice\n if (router.__hasDevtools)\n return;\n router.__hasDevtools = true;\n // increment to support multiple router instances\n const id = routerId++;\n setupDevtoolsPlugin({\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\n label: 'Vue Router',\n packageName: 'vue-router',\n homepage: 'https://router.vuejs.org',\n logo: 'https://router.vuejs.org/logo.png',\n componentStateTypes: ['Routing'],\n app,\n }, api => {\n if (typeof api.now !== 'function') {\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\n }\n // display state added by the router\n api.on.inspectComponent((payload, ctx) => {\n if (payload.instanceData) {\n payload.instanceData.state.push({\n type: 'Routing',\n key: '$route',\n editable: false,\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\n });\n }\n });\n // mark router-link as active and display tags on router views\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\n if (componentInstance.__vrv_devtools) {\n const info = componentInstance.__vrv_devtools;\n node.tags.push({\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\n textColor: 0,\n tooltip: 'This component is rendered by <router-view>',\n backgroundColor: PINK_500,\n });\n }\n // if multiple useLink are used\n if (isArray(componentInstance.__vrl_devtools)) {\n componentInstance.__devtoolsApi = api;\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\n let label = devtoolsData.route.path;\n let backgroundColor = ORANGE_400;\n let tooltip = '';\n let textColor = 0;\n if (devtoolsData.error) {\n label = devtoolsData.error;\n backgroundColor = RED_100;\n textColor = RED_700;\n }\n else if (devtoolsData.isExactActive) {\n backgroundColor = LIME_500;\n tooltip = 'This is exactly active';\n }\n else if (devtoolsData.isActive) {\n backgroundColor = BLUE_600;\n tooltip = 'This link is active';\n }\n node.tags.push({\n label,\n textColor,\n tooltip,\n backgroundColor,\n });\n });\n }\n });\n watch(router.currentRoute, () => {\n // refresh active state\n refreshRoutesView();\n api.notifyComponentUpdate();\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n const navigationsLayerId = 'router:navigations:' + id;\n api.addTimelineLayer({\n id: navigationsLayerId,\n label: `Router${id ? ' ' + id : ''} Navigations`,\n color: 0x40a8c4,\n });\n // const errorsLayerId = 'router:errors'\n // api.addTimelineLayer({\n // id: errorsLayerId,\n // label: 'Router Errors',\n // color: 0xea5455,\n // })\n router.onError((error, to) => {\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'Error during Navigation',\n subtitle: to.fullPath,\n logType: 'error',\n time: api.now(),\n data: { error },\n groupId: to.meta.__navigationId,\n },\n });\n });\n // attached to `meta` and used to group events\n let navigationId = 0;\n router.beforeEach((to, from) => {\n const data = {\n guard: formatDisplay('beforeEach'),\n from: formatRouteLocation(from, 'Current Location during this navigation'),\n to: formatRouteLocation(to, 'Target location'),\n };\n // Used to group navigations together, hide from devtools\n Object.defineProperty(to.meta, '__navigationId', {\n value: navigationId++,\n });\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n time: api.now(),\n title: 'Start of navigation',\n subtitle: to.fullPath,\n data,\n groupId: to.meta.__navigationId,\n },\n });\n });\n router.afterEach((to, from, failure) => {\n const data = {\n guard: formatDisplay('afterEach'),\n };\n if (failure) {\n data.failure = {\n _custom: {\n type: Error,\n readOnly: true,\n display: failure ? failure.message : '',\n tooltip: 'Navigation Failure',\n value: failure,\n },\n };\n data.status = formatDisplay('❌');\n }\n else {\n data.status = formatDisplay('✅');\n }\n // we set here to have the right order\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\n data.to = formatRouteLocation(to, 'Target location');\n api.addTimelineEvent({\n layerId: navigationsLayerId,\n event: {\n title: 'End of navigation',\n subtitle: to.fullPath,\n time: api.now(),\n data,\n logType: failure ? 'warning' : 'default',\n groupId: to.meta.__navigationId,\n },\n });\n });\n /**\n * Inspector of Existing routes\n */\n const routerInspectorId = 'router-inspector:' + id;\n api.addInspector({\n id: routerInspectorId,\n label: 'Routes' + (id ? ' ' + id : ''),\n icon: 'book',\n treeFilterPlaceholder: 'Search routes',\n });\n function refreshRoutesView() {\n // the routes view isn't active\n if (!activeRoutesPayload)\n return;\n const payload = activeRoutesPayload;\n // children routes will appear as nested\n let routes = matcher.getRoutes().filter(route => !route.parent ||\n // these routes have a parent with no component which will not appear in the view\n // therefore we still need to include them\n !route.parent.record.components);\n // reset match state to false\n routes.forEach(resetMatchStateOnRouteRecord);\n // apply a match state if there is a payload\n if (payload.filter) {\n routes = routes.filter(route => \n // save matches state based on the payload\n isRouteMatching(route, payload.filter.toLowerCase()));\n }\n // mark active routes\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\n }\n let activeRoutesPayload;\n api.on.getInspectorTree(payload => {\n activeRoutesPayload = payload;\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n refreshRoutesView();\n }\n });\n /**\n * Display information about the currently selected route record\n */\n api.on.getInspectorState(payload => {\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\n const routes = matcher.getRoutes();\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\n if (route) {\n payload.state = {\n options: formatRouteRecordMatcherForStateInspector(route),\n };\n }\n }\n });\n api.sendInspectorTree(routerInspectorId);\n api.sendInspectorState(routerInspectorId);\n });\n}\nfunction modifierForKey(key) {\n if (key.optional) {\n return key.repeatable ? '*' : '?';\n }\n else {\n return key.repeatable ? '+' : '';\n }\n}\nfunction formatRouteRecordMatcherForStateInspector(route) {\n const { record } = route;\n const fields = [\n { editable: false, key: 'path', value: record.path },\n ];\n if (record.name != null) {\n fields.push({\n editable: false,\n key: 'name',\n value: record.name,\n });\n }\n fields.push({ editable: false, key: 'regexp', value: route.re });\n if (route.keys.length) {\n fields.push({\n editable: false,\n key: 'keys',\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.keys\n .map(key => `${key.name}${modifierForKey(key)}`)\n .join(' '),\n tooltip: 'Param keys',\n value: route.keys,\n },\n },\n });\n }\n if (record.redirect != null) {\n fields.push({\n editable: false,\n key: 'redirect',\n value: record.redirect,\n });\n }\n if (route.alias.length) {\n fields.push({\n editable: false,\n key: 'aliases',\n value: route.alias.map(alias => alias.record.path),\n });\n }\n if (Object.keys(route.record.meta).length) {\n fields.push({\n editable: false,\n key: 'meta',\n value: route.record.meta,\n });\n }\n fields.push({\n key: 'score',\n editable: false,\n value: {\n _custom: {\n type: null,\n readOnly: true,\n display: route.score.map(score => score.join(', ')).join(' | '),\n tooltip: 'Score used to sort routes',\n value: route.score,\n },\n },\n });\n return fields;\n}\n/**\n * Extracted from tailwind palette\n */\nconst PINK_500 = 0xec4899;\nconst BLUE_600 = 0x2563eb;\nconst LIME_500 = 0x84cc16;\nconst CYAN_400 = 0x22d3ee;\nconst ORANGE_400 = 0xfb923c;\n// const GRAY_100 = 0xf4f4f5\nconst DARK = 0x666666;\nconst RED_100 = 0xfee2e2;\nconst RED_700 = 0xb91c1c;\nfunction formatRouteRecordForInspector(route) {\n const tags = [];\n const { record } = route;\n if (record.name != null) {\n tags.push({\n label: String(record.name),\n textColor: 0,\n backgroundColor: CYAN_400,\n });\n }\n if (record.aliasOf) {\n tags.push({\n label: 'alias',\n textColor: 0,\n backgroundColor: ORANGE_400,\n });\n }\n if (route.__vd_match) {\n tags.push({\n label: 'matches',\n textColor: 0,\n backgroundColor: PINK_500,\n });\n }\n if (route.__vd_exactActive) {\n tags.push({\n label: 'exact',\n textColor: 0,\n backgroundColor: LIME_500,\n });\n }\n if (route.__vd_active) {\n tags.push({\n label: 'active',\n textColor: 0,\n backgroundColor: BLUE_600,\n });\n }\n if (record.redirect) {\n tags.push({\n label: typeof record.redirect === 'string'\n ? `redirect: ${record.redirect}`\n : 'redirects',\n textColor: 0xffffff,\n backgroundColor: DARK,\n });\n }\n // add an id to be able to select it. Using the `path` is not possible because\n // empty path children would collide with their parents\n let id = record.__vd_id;\n if (id == null) {\n id = String(routeRecordId++);\n record.__vd_id = id;\n }\n return {\n id,\n label: record.path,\n tags,\n children: route.children.map(formatRouteRecordForInspector),\n };\n}\n// incremental id for route records and inspector state\nlet routeRecordId = 0;\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\nfunction markRouteRecordActive(route, currentRoute) {\n // no route will be active if matched is empty\n // reset the matching state\n const isExactActive = currentRoute.matched.length &&\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\n route.__vd_exactActive = route.__vd_active = isExactActive;\n if (!isExactActive) {\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\n }\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\n}\nfunction resetMatchStateOnRouteRecord(route) {\n route.__vd_match = false;\n route.children.forEach(resetMatchStateOnRouteRecord);\n}\nfunction isRouteMatching(route, filter) {\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\n route.__vd_match = false;\n if (!found || found.length < 3) {\n return false;\n }\n // use a regexp without $ at the end to match nested routes better\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\n if (nonEndingRE.test(filter)) {\n // mark children as matches\n route.children.forEach(child => isRouteMatching(child, filter));\n // exception case: `/`\n if (route.record.path !== '/' || filter === '/') {\n route.__vd_match = route.re.test(filter);\n return true;\n }\n // hide the / route\n return false;\n }\n const path = route.record.path.toLowerCase();\n const decodedPath = decode(path);\n // also allow partial matching on the path\n if (!filter.startsWith('/') &&\n (decodedPath.includes(filter) || path.includes(filter)))\n return true;\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\n return true;\n if (route.record.name && String(route.record.name).includes(filter))\n return true;\n return route.children.some(child => isRouteMatching(child, filter));\n}\nfunction omit(obj, keys) {\n const ret = {};\n for (const key in obj) {\n if (!keys.includes(key)) {\n // @ts-expect-error\n ret[key] = obj[key];\n }\n }\n return ret;\n}\n\n/**\n * Creates a Router instance that can be used by a Vue app.\n *\n * @param options - {@link RouterOptions}\n */\nfunction createRouter(options) {\n const matcher = createRouterMatcher(options.routes, options);\n const parseQuery$1 = options.parseQuery || parseQuery;\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\n const routerHistory = options.history;\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\n ' https://router.vuejs.org/api/interfaces/RouterOptions.html#history');\n const beforeGuards = useCallbacks();\n const beforeResolveGuards = useCallbacks();\n const afterGuards = useCallbacks();\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\n let pendingLocation = START_LOCATION_NORMALIZED;\n // leave the scrollRestoration if no scrollBehavior is provided\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\n history.scrollRestoration = 'manual';\n }\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\n const encodeParams = applyToParams.bind(null, encodeParam);\n const decodeParams = \n // @ts-expect-error: intentionally avoid the type check\n applyToParams.bind(null, decode);\n function addRoute(parentOrRoute, route) {\n let parent;\n let record;\n if (isRouteName(parentOrRoute)) {\n parent = matcher.getRecordMatcher(parentOrRoute);\n if ((process.env.NODE_ENV !== 'production') && !parent) {\n warn(`Parent route \"${String(parentOrRoute)}\" not found when adding child route`, route);\n }\n record = route;\n }\n else {\n record = parentOrRoute;\n }\n return matcher.addRoute(record, parent);\n }\n function removeRoute(name) {\n const recordMatcher = matcher.getRecordMatcher(name);\n if (recordMatcher) {\n matcher.removeRoute(recordMatcher);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\n }\n }\n function getRoutes() {\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\n }\n function hasRoute(name) {\n return !!matcher.getRecordMatcher(name);\n }\n function resolve(rawLocation, currentLocation) {\n // const resolve: Router['resolve'] = (rawLocation: RouteLocationRaw, currentLocation) => {\n // const objectLocation = routerLocationAsObject(rawLocation)\n // we create a copy to modify it later\n currentLocation = assign({}, currentLocation || currentRoute.value);\n if (typeof rawLocation === 'string') {\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\n const href = routerHistory.createHref(locationNormalized.fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//'))\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation}\"`);\n }\n }\n // locationNormalized is always a new object\n return assign(locationNormalized, matchedRoute, {\n params: decodeParams(matchedRoute.params),\n hash: decode(locationNormalized.hash),\n redirectedFrom: undefined,\n href,\n });\n }\n if ((process.env.NODE_ENV !== 'production') && !isRouteLocation(rawLocation)) {\n warn(`router.resolve() was passed an invalid location. This will fail in production.\\n- Location:`, rawLocation);\n return resolve({});\n }\n let matcherLocation;\n // path could be relative in object as well\n if (rawLocation.path != null) {\n if ((process.env.NODE_ENV !== 'production') &&\n 'params' in rawLocation &&\n !('name' in rawLocation) &&\n // @ts-expect-error: the type is never\n Object.keys(rawLocation.params).length) {\n warn(`Path \"${rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\n }\n matcherLocation = assign({}, rawLocation, {\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\n });\n }\n else {\n // remove any nullish param\n const targetParams = assign({}, rawLocation.params);\n for (const key in targetParams) {\n if (targetParams[key] == null) {\n delete targetParams[key];\n }\n }\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\n matcherLocation = assign({}, rawLocation, {\n params: encodeParams(targetParams),\n });\n // current location params are decoded, we need to encode them in case the\n // matcher merges the params\n currentLocation.params = encodeParams(currentLocation.params);\n }\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\n const hash = rawLocation.hash || '';\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\n }\n // the matcher might have merged current location params, so\n // we need to run the decoding again\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\n hash: encodeHash(hash),\n path: matchedRoute.path,\n }));\n const href = routerHistory.createHref(fullPath);\n if ((process.env.NODE_ENV !== 'production')) {\n if (href.startsWith('//')) {\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\n }\n else if (!matchedRoute.matched.length) {\n warn(`No match found for location with path \"${rawLocation.path != null ? rawLocation.path : rawLocation}\"`);\n }\n }\n return assign({\n fullPath,\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\n // hash\n hash,\n query: \n // if the user is using a custom query lib like qs, we might have\n // nested objects, so we keep the query as is, meaning it can contain\n // numbers at `$route.query`, but at the point, the user will have to\n // use their own type anyway.\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\n stringifyQuery$1 === stringifyQuery\n ? normalizeQuery(rawLocation.query)\n : (rawLocation.query || {}),\n }, matchedRoute, {\n redirectedFrom: undefined,\n href,\n });\n }\n function locationAsObject(to) {\n return typeof to === 'string'\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\n : assign({}, to);\n }\n function checkCanceledNavigation(to, from) {\n if (pendingLocation !== to) {\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\n from,\n to,\n });\n }\n }\n function push(to) {\n return pushWithRedirect(to);\n }\n function replace(to) {\n return push(assign(locationAsObject(to), { replace: true }));\n }\n function handleRedirectRecord(to) {\n const lastMatched = to.matched[to.matched.length - 1];\n if (lastMatched && lastMatched.redirect) {\n const { redirect } = lastMatched;\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\n if (typeof newTargetLocation === 'string') {\n newTargetLocation =\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\n ? (newTargetLocation = locationAsObject(newTargetLocation))\n : // force empty params\n { path: newTargetLocation };\n // @ts-expect-error: force empty params when a string is passed to let\n // the router parse them again\n newTargetLocation.params = {};\n }\n if ((process.env.NODE_ENV !== 'production') &&\n newTargetLocation.path == null &&\n !('name' in newTargetLocation)) {\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\n throw new Error('Invalid redirect');\n }\n return assign({\n query: to.query,\n hash: to.hash,\n // avoid transferring params if the redirect has a path\n params: newTargetLocation.path != null ? {} : to.params,\n }, newTargetLocation);\n }\n }\n function pushWithRedirect(to, redirectedFrom) {\n const targetLocation = (pendingLocation = resolve(to));\n const from = currentRoute.value;\n const data = to.state;\n const force = to.force;\n // to could be a string where `replace` is a function\n const replace = to.replace === true;\n const shouldRedirect = handleRedirectRecord(targetLocation);\n if (shouldRedirect)\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\n state: typeof shouldRedirect === 'object'\n ? assign({}, data, shouldRedirect.state)\n : data,\n force,\n replace,\n }), \n // keep original redirectedFrom if it exists\n redirectedFrom || targetLocation);\n // if it was a redirect we already called `pushWithRedirect` above\n const toLocation = targetLocation;\n toLocation.redirectedFrom = redirectedFrom;\n let failure;\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\n // trigger scroll to allow scrolling to the same anchor\n handleScroll(from, from, \n // this is a push, the only way for it to be triggered from a\n // history.listen is with a redirect, which makes it become a push\n true, \n // This cannot be the first navigation because the initial location\n // cannot be manually navigated to\n false);\n }\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\n .catch((error) => isNavigationFailure(error)\n ? // navigation redirects still mark the router as ready\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\n ? error\n : markAsReady(error) // also returns the error\n : // reject any unknown error\n triggerError(error, toLocation, from))\n .then((failure) => {\n if (failure) {\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n if ((process.env.NODE_ENV !== 'production') &&\n // we are redirecting to the same location we were already at\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\n // and we have done it a couple of times\n redirectedFrom &&\n // @ts-expect-error: added only in dev\n (redirectedFrom._count = redirectedFrom._count\n ? // @ts-expect-error\n redirectedFrom._count + 1\n : 1) > 30) {\n warn(`Detected a possibly infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow.\\n Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`);\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\n }\n return pushWithRedirect(\n // keep options\n assign({\n // preserve an existing replacement but allow the redirect to override it\n replace,\n }, locationAsObject(failure.to), {\n state: typeof failure.to === 'object'\n ? assign({}, data, failure.to.state)\n : data,\n force,\n }), \n // preserve the original redirectedFrom if any\n redirectedFrom || toLocation);\n }\n }\n else {\n // if we fail we don't finalize the navigation\n failure = finalizeNavigation(toLocation, from, true, replace, data);\n }\n triggerAfterEach(toLocation, from, failure);\n return failure;\n });\n }\n /**\n * Helper to reject and skip all navigation guards if a new navigation happened\n * @param to\n * @param from\n */\n function checkCanceledNavigationAndReject(to, from) {\n const error = checkCanceledNavigation(to, from);\n return error ? Promise.reject(error) : Promise.resolve();\n }\n function runWithContext(fn) {\n const app = installedApps.values().next().value;\n // support Vue < 3.3\n return app && typeof app.runWithContext === 'function'\n ? app.runWithContext(fn)\n : fn();\n }\n // TODO: refactor the whole before guards by internally using router.beforeEach\n function navigate(to, from) {\n let guards;\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\n // all components here have been resolved once because we are leaving\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\n // leavingRecords is already reversed\n for (const record of leavingRecords) {\n record.leaveGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeRouteLeave guards\n return (runGuardQueue(guards)\n .then(() => {\n // check global guards beforeEach\n guards = [];\n for (const guard of beforeGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n .then(() => {\n // check in components beforeRouteUpdate\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\n for (const record of updatingRecords) {\n record.updateGuards.forEach(guard => {\n guards.push(guardToPromiseFn(guard, to, from));\n });\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check the route beforeEnter\n guards = [];\n for (const record of enteringRecords) {\n // do not trigger beforeEnter on reused views\n if (record.beforeEnter) {\n if (isArray(record.beforeEnter)) {\n for (const beforeEnter of record.beforeEnter)\n guards.push(guardToPromiseFn(beforeEnter, to, from));\n }\n else {\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\n }\n }\n }\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\n // clear existing enterCallbacks, these are added by extractComponentsGuards\n to.matched.forEach(record => (record.enterCallbacks = {}));\n // check in-component beforeRouteEnter\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from, runWithContext);\n guards.push(canceledNavigationCheck);\n // run the queue of per route beforeEnter guards\n return runGuardQueue(guards);\n })\n .then(() => {\n // check global guards beforeResolve\n guards = [];\n for (const guard of beforeResolveGuards.list()) {\n guards.push(guardToPromiseFn(guard, to, from));\n }\n guards.push(canceledNavigationCheck);\n return runGuardQueue(guards);\n })\n // catch any navigation canceled\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\n ? err\n : Promise.reject(err)));\n }\n function triggerAfterEach(to, from, failure) {\n // navigation is confirmed, call afterGuards\n // TODO: wrap with error handlers\n afterGuards\n .list()\n .forEach(guard => runWithContext(() => guard(to, from, failure)));\n }\n /**\n * - Cleans up any navigation guards\n * - Changes the url if necessary\n * - Calls the scrollBehavior\n */\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\n // a more recent navigation took place\n const error = checkCanceledNavigation(toLocation, from);\n if (error)\n return error;\n // only consider as push if it's not the first navigation\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\n const state = !isBrowser ? {} : history.state;\n // change URL only if the user did a push/replace and if it's not the initial navigation because\n // it's just reflecting the url\n if (isPush) {\n // on the initial navigation, we want to reuse the scroll position from\n // history state if it exists\n if (replace || isFirstNavigation)\n routerHistory.replace(toLocation.fullPath, assign({\n scroll: isFirstNavigation && state && state.scroll,\n }, data));\n else\n routerHistory.push(toLocation.fullPath, data);\n }\n // accept current navigation\n currentRoute.value = toLocation;\n handleScroll(toLocation, from, isPush, isFirstNavigation);\n markAsReady();\n }\n let removeHistoryListener;\n // attach listener to history to trigger navigations\n function setupListeners() {\n // avoid setting up listeners twice due to an invalid first navigation\n if (removeHistoryListener)\n return;\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\n if (!router.listening)\n return;\n // cannot be a redirect route because it was in history\n const toLocation = resolve(to);\n // due to dynamic routing, and to hash history with manual navigation\n // (manually changing the url or calling history.hash = '#/somewhere'),\n // there could be a redirect record in history\n const shouldRedirect = handleRedirectRecord(toLocation);\n if (shouldRedirect) {\n pushWithRedirect(assign(shouldRedirect, { replace: true, force: true }), toLocation).catch(noop);\n return;\n }\n pendingLocation = toLocation;\n const from = currentRoute.value;\n // TODO: should be moved to web history?\n if (isBrowser) {\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\n }\n navigate(toLocation, from)\n .catch((error) => {\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n return error;\n }\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\n // false) but this is bug prone as we have no way to wait the\n // navigation to be finished before calling pushWithRedirect. Using\n // a setTimeout of 16ms seems to work but there is no guarantee for\n // it to work on every browser. So instead we do not restore the\n // history entry and trigger a new navigation as requested by the\n // navigation guard.\n // the error is already handled by router.push we just want to avoid\n // logging the error\n pushWithRedirect(assign(locationAsObject(error.to), {\n force: true,\n }), toLocation\n // avoid an uncaught rejection, let push call triggerError\n )\n .then(failure => {\n // manual change in hash history #916 ending up in the URL not\n // changing, but it was changed by the manual url change, so we\n // need to manually change it ourselves\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\n !info.delta &&\n info.type === NavigationType.pop) {\n routerHistory.go(-1, false);\n }\n })\n .catch(noop);\n // avoid the then branch\n return Promise.reject();\n }\n // do not restore history on unknown direction\n if (info.delta) {\n routerHistory.go(-info.delta, false);\n }\n // unrecognized error, transfer to the global handler\n return triggerError(error, toLocation, from);\n })\n .then((failure) => {\n failure =\n failure ||\n finalizeNavigation(\n // after navigation, all matched components are resolved\n toLocation, from, false);\n // revert the navigation\n if (failure) {\n if (info.delta &&\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\n // entry while a different route is displayed\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\n routerHistory.go(-info.delta, false);\n }\n else if (info.type === NavigationType.pop &&\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\n // manual change in hash history #916\n // it's like a push but lacks the information of the direction\n routerHistory.go(-1, false);\n }\n }\n triggerAfterEach(toLocation, from, failure);\n })\n // avoid warnings in the console about uncaught rejections, they are logged by triggerErrors\n .catch(noop);\n });\n }\n // Initialization and Errors\n let readyHandlers = useCallbacks();\n let errorListeners = useCallbacks();\n let ready;\n /**\n * Trigger errorListeners added via onError and throws the error as well\n *\n * @param error - error to throw\n * @param to - location we were navigating to when the error happened\n * @param from - location we were navigating from when the error happened\n * @returns the error as a rejected promise\n */\n function triggerError(error, to, from) {\n markAsReady(error);\n const list = errorListeners.list();\n if (list.length) {\n list.forEach(handler => handler(error, to, from));\n }\n else {\n if ((process.env.NODE_ENV !== 'production')) {\n warn('uncaught error during route navigation:');\n }\n console.error(error);\n }\n // reject the error no matter there were error listeners or not\n return Promise.reject(error);\n }\n function isReady() {\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\n return Promise.resolve();\n return new Promise((resolve, reject) => {\n readyHandlers.add([resolve, reject]);\n });\n }\n function markAsReady(err) {\n if (!ready) {\n // still not ready if an error happened\n ready = !err;\n setupListeners();\n readyHandlers\n .list()\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\n readyHandlers.reset();\n }\n return err;\n }\n // Scroll behavior\n function handleScroll(to, from, isPush, isFirstNavigation) {\n const { scrollBehavior } = options;\n if (!isBrowser || !scrollBehavior)\n return Promise.resolve();\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\n ((isFirstNavigation || !isPush) &&\n history.state &&\n history.state.scroll) ||\n null;\n return nextTick()\n .then(() => scrollBehavior(to, from, scrollPosition))\n .then(position => position && scrollToPosition(position))\n .catch(err => triggerError(err, to, from));\n }\n const go = (delta) => routerHistory.go(delta);\n let started;\n const installedApps = new Set();\n const router = {\n currentRoute,\n listening: true,\n addRoute,\n removeRoute,\n clearRoutes: matcher.clearRoutes,\n hasRoute,\n getRoutes,\n resolve,\n options,\n push,\n replace,\n go,\n back: () => go(-1),\n forward: () => go(1),\n beforeEach: beforeGuards.add,\n beforeResolve: beforeResolveGuards.add,\n afterEach: afterGuards.add,\n onError: errorListeners.add,\n isReady,\n install(app) {\n const router = this;\n app.component('RouterLink', RouterLink);\n app.component('RouterView', RouterView);\n app.config.globalProperties.$router = router;\n Object.defineProperty(app.config.globalProperties, '$route', {\n enumerable: true,\n get: () => unref(currentRoute),\n });\n // this initial navigation is only necessary on client, on server it doesn't\n // make sense because it will create an extra unnecessary navigation and could\n // lead to problems\n if (isBrowser &&\n // used for the initial navigation client side to avoid pushing\n // multiple times when the router is used in multiple apps\n !started &&\n currentRoute.value === START_LOCATION_NORMALIZED) {\n // see above\n started = true;\n push(routerHistory.location).catch(err => {\n if ((process.env.NODE_ENV !== 'production'))\n warn('Unexpected error when starting the router:', err);\n });\n }\n const reactiveRoute = {};\n for (const key in START_LOCATION_NORMALIZED) {\n Object.defineProperty(reactiveRoute, key, {\n get: () => currentRoute.value[key],\n enumerable: true,\n });\n }\n app.provide(routerKey, router);\n app.provide(routeLocationKey, shallowReactive(reactiveRoute));\n app.provide(routerViewLocationKey, currentRoute);\n const unmountApp = app.unmount;\n installedApps.add(app);\n app.unmount = function () {\n installedApps.delete(app);\n // the router is not attached to an app anymore\n if (installedApps.size < 1) {\n // invalidate the current navigation\n pendingLocation = START_LOCATION_NORMALIZED;\n removeHistoryListener && removeHistoryListener();\n removeHistoryListener = null;\n currentRoute.value = START_LOCATION_NORMALIZED;\n started = false;\n ready = false;\n }\n unmountApp();\n };\n // TODO: this probably needs to be updated so it can be used by vue-termui\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\n addDevtools(app, router, matcher);\n }\n },\n };\n // TODO: type this as NavigationGuardReturn or similar instead of any\n function runGuardQueue(guards) {\n return guards.reduce((promise, guard) => promise.then(() => runWithContext(guard)), Promise.resolve());\n }\n return router;\n}\nfunction extractChangingRecords(to, from) {\n const leavingRecords = [];\n const updatingRecords = [];\n const enteringRecords = [];\n const len = Math.max(from.matched.length, to.matched.length);\n for (let i = 0; i < len; i++) {\n const recordFrom = from.matched[i];\n if (recordFrom) {\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\n updatingRecords.push(recordFrom);\n else\n leavingRecords.push(recordFrom);\n }\n const recordTo = to.matched[i];\n if (recordTo) {\n // the type doesn't matter because we are comparing per reference\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\n enteringRecords.push(recordTo);\n }\n }\n }\n return [leavingRecords, updatingRecords, enteringRecords];\n}\n\n/**\n * Returns the router instance. Equivalent to using `$router` inside\n * templates.\n */\nfunction useRouter() {\n return inject(routerKey);\n}\n/**\n * Returns the current route location. Equivalent to using `$route` inside\n * templates.\n */\nfunction useRoute(_name) {\n return inject(routeLocationKey);\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","\n\n\n","// canvas-confetti v1.9.3 built on 2024-04-30T22:19:17.794Z\nvar module = {};\n\n// source content\n/* globals Map */\n\n(function main(global, module, isWorker, workerSize) {\n var canUseWorker = !!(\n global.Worker &&\n global.Blob &&\n global.Promise &&\n global.OffscreenCanvas &&\n global.OffscreenCanvasRenderingContext2D &&\n global.HTMLCanvasElement &&\n global.HTMLCanvasElement.prototype.transferControlToOffscreen &&\n global.URL &&\n global.URL.createObjectURL);\n\n var canUsePaths = typeof Path2D === 'function' && typeof DOMMatrix === 'function';\n var canDrawBitmap = (function () {\n // this mostly supports ssr\n if (!global.OffscreenCanvas) {\n return false;\n }\n\n var canvas = new OffscreenCanvas(1, 1);\n var ctx = canvas.getContext('2d');\n ctx.fillRect(0, 0, 1, 1);\n var bitmap = canvas.transferToImageBitmap();\n\n try {\n ctx.createPattern(bitmap, 'no-repeat');\n } catch (e) {\n return false;\n }\n\n return true;\n })();\n\n function noop() {}\n\n // create a promise if it exists, otherwise, just\n // call the function directly\n function promise(func) {\n var ModulePromise = module.exports.Promise;\n var Prom = ModulePromise !== void 0 ? ModulePromise : global.Promise;\n\n if (typeof Prom === 'function') {\n return new Prom(func);\n }\n\n func(noop, noop);\n\n return null;\n }\n\n var bitmapMapper = (function (skipTransform, map) {\n // see https://github.com/catdad/canvas-confetti/issues/209\n // creating canvases is actually pretty expensive, so we should create a\n // 1:1 map for bitmap:canvas, so that we can animate the confetti in\n // a performant manner, but also not store them forever so that we don't\n // have a memory leak\n return {\n transform: function(bitmap) {\n if (skipTransform) {\n return bitmap;\n }\n\n if (map.has(bitmap)) {\n return map.get(bitmap);\n }\n\n var canvas = new OffscreenCanvas(bitmap.width, bitmap.height);\n var ctx = canvas.getContext('2d');\n ctx.drawImage(bitmap, 0, 0);\n\n map.set(bitmap, canvas);\n\n return canvas;\n },\n clear: function () {\n map.clear();\n }\n };\n })(canDrawBitmap, new Map());\n\n var raf = (function () {\n var TIME = Math.floor(1000 / 60);\n var frame, cancel;\n var frames = {};\n var lastFrameTime = 0;\n\n if (typeof requestAnimationFrame === 'function' && typeof cancelAnimationFrame === 'function') {\n frame = function (cb) {\n var id = Math.random();\n\n frames[id] = requestAnimationFrame(function onFrame(time) {\n if (lastFrameTime === time || lastFrameTime + TIME - 1 < time) {\n lastFrameTime = time;\n delete frames[id];\n\n cb();\n } else {\n frames[id] = requestAnimationFrame(onFrame);\n }\n });\n\n return id;\n };\n cancel = function (id) {\n if (frames[id]) {\n cancelAnimationFrame(frames[id]);\n }\n };\n } else {\n frame = function (cb) {\n return setTimeout(cb, TIME);\n };\n cancel = function (timer) {\n return clearTimeout(timer);\n };\n }\n\n return { frame: frame, cancel: cancel };\n }());\n\n var getWorker = (function () {\n var worker;\n var prom;\n var resolves = {};\n\n function decorate(worker) {\n function execute(options, callback) {\n worker.postMessage({ options: options || {}, callback: callback });\n }\n worker.init = function initWorker(canvas) {\n var offscreen = canvas.transferControlToOffscreen();\n worker.postMessage({ canvas: offscreen }, [offscreen]);\n };\n\n worker.fire = function fireWorker(options, size, done) {\n if (prom) {\n execute(options, null);\n return prom;\n }\n\n var id = Math.random().toString(36).slice(2);\n\n prom = promise(function (resolve) {\n function workerDone(msg) {\n if (msg.data.callback !== id) {\n return;\n }\n\n delete resolves[id];\n worker.removeEventListener('message', workerDone);\n\n prom = null;\n\n bitmapMapper.clear();\n\n done();\n resolve();\n }\n\n worker.addEventListener('message', workerDone);\n execute(options, id);\n\n resolves[id] = workerDone.bind(null, { data: { callback: id }});\n });\n\n return prom;\n };\n\n worker.reset = function resetWorker() {\n worker.postMessage({ reset: true });\n\n for (var id in resolves) {\n resolves[id]();\n delete resolves[id];\n }\n };\n }\n\n return function () {\n if (worker) {\n return worker;\n }\n\n if (!isWorker && canUseWorker) {\n var code = [\n 'var CONFETTI, SIZE = {}, module = {};',\n '(' + main.toString() + ')(this, module, true, SIZE);',\n 'onmessage = function(msg) {',\n ' if (msg.data.options) {',\n ' CONFETTI(msg.data.options).then(function () {',\n ' if (msg.data.callback) {',\n ' postMessage({ callback: msg.data.callback });',\n ' }',\n ' });',\n ' } else if (msg.data.reset) {',\n ' CONFETTI && CONFETTI.reset();',\n ' } else if (msg.data.resize) {',\n ' SIZE.width = msg.data.resize.width;',\n ' SIZE.height = msg.data.resize.height;',\n ' } else if (msg.data.canvas) {',\n ' SIZE.width = msg.data.canvas.width;',\n ' SIZE.height = msg.data.canvas.height;',\n ' CONFETTI = module.exports.create(msg.data.canvas);',\n ' }',\n '}',\n ].join('\\n');\n try {\n worker = new Worker(URL.createObjectURL(new Blob([code])));\n } catch (e) {\n // eslint-disable-next-line no-console\n typeof console !== undefined && typeof console.warn === 'function' ? console.warn('🎊 Could not load worker', e) : null;\n\n return null;\n }\n\n decorate(worker);\n }\n\n return worker;\n };\n })();\n\n var defaults = {\n particleCount: 50,\n angle: 90,\n spread: 45,\n startVelocity: 45,\n decay: 0.9,\n gravity: 1,\n drift: 0,\n ticks: 200,\n x: 0.5,\n y: 0.5,\n shapes: ['square', 'circle'],\n zIndex: 100,\n colors: [\n '#26ccff',\n '#a25afd',\n '#ff5e7e',\n '#88ff5a',\n '#fcff42',\n '#ffa62d',\n '#ff36ff'\n ],\n // probably should be true, but back-compat\n disableForReducedMotion: false,\n scalar: 1\n };\n\n function convert(val, transform) {\n return transform ? transform(val) : val;\n }\n\n function isOk(val) {\n return !(val === null || val === undefined);\n }\n\n function prop(options, name, transform) {\n return convert(\n options && isOk(options[name]) ? options[name] : defaults[name],\n transform\n );\n }\n\n function onlyPositiveInt(number){\n return number < 0 ? 0 : Math.floor(number);\n }\n\n function randomInt(min, max) {\n // [min, max)\n return Math.floor(Math.random() * (max - min)) + min;\n }\n\n function toDecimal(str) {\n return parseInt(str, 16);\n }\n\n function colorsToRgb(colors) {\n return colors.map(hexToRgb);\n }\n\n function hexToRgb(str) {\n var val = String(str).replace(/[^0-9a-f]/gi, '');\n\n if (val.length < 6) {\n val = val[0]+val[0]+val[1]+val[1]+val[2]+val[2];\n }\n\n return {\n r: toDecimal(val.substring(0,2)),\n g: toDecimal(val.substring(2,4)),\n b: toDecimal(val.substring(4,6))\n };\n }\n\n function getOrigin(options) {\n var origin = prop(options, 'origin', Object);\n origin.x = prop(origin, 'x', Number);\n origin.y = prop(origin, 'y', Number);\n\n return origin;\n }\n\n function setCanvasWindowSize(canvas) {\n canvas.width = document.documentElement.clientWidth;\n canvas.height = document.documentElement.clientHeight;\n }\n\n function setCanvasRectSize(canvas) {\n var rect = canvas.getBoundingClientRect();\n canvas.width = rect.width;\n canvas.height = rect.height;\n }\n\n function getCanvas(zIndex) {\n var canvas = document.createElement('canvas');\n\n canvas.style.position = 'fixed';\n canvas.style.top = '0px';\n canvas.style.left = '0px';\n canvas.style.pointerEvents = 'none';\n canvas.style.zIndex = zIndex;\n\n return canvas;\n }\n\n function ellipse(context, x, y, radiusX, radiusY, rotation, startAngle, endAngle, antiClockwise) {\n context.save();\n context.translate(x, y);\n context.rotate(rotation);\n context.scale(radiusX, radiusY);\n context.arc(0, 0, 1, startAngle, endAngle, antiClockwise);\n context.restore();\n }\n\n function randomPhysics(opts) {\n var radAngle = opts.angle * (Math.PI / 180);\n var radSpread = opts.spread * (Math.PI / 180);\n\n return {\n x: opts.x,\n y: opts.y,\n wobble: Math.random() * 10,\n wobbleSpeed: Math.min(0.11, Math.random() * 0.1 + 0.05),\n velocity: (opts.startVelocity * 0.5) + (Math.random() * opts.startVelocity),\n angle2D: -radAngle + ((0.5 * radSpread) - (Math.random() * radSpread)),\n tiltAngle: (Math.random() * (0.75 - 0.25) + 0.25) * Math.PI,\n color: opts.color,\n shape: opts.shape,\n tick: 0,\n totalTicks: opts.ticks,\n decay: opts.decay,\n drift: opts.drift,\n random: Math.random() + 2,\n tiltSin: 0,\n tiltCos: 0,\n wobbleX: 0,\n wobbleY: 0,\n gravity: opts.gravity * 3,\n ovalScalar: 0.6,\n scalar: opts.scalar,\n flat: opts.flat\n };\n }\n\n function updateFetti(context, fetti) {\n fetti.x += Math.cos(fetti.angle2D) * fetti.velocity + fetti.drift;\n fetti.y += Math.sin(fetti.angle2D) * fetti.velocity + fetti.gravity;\n fetti.velocity *= fetti.decay;\n\n if (fetti.flat) {\n fetti.wobble = 0;\n fetti.wobbleX = fetti.x + (10 * fetti.scalar);\n fetti.wobbleY = fetti.y + (10 * fetti.scalar);\n\n fetti.tiltSin = 0;\n fetti.tiltCos = 0;\n fetti.random = 1;\n } else {\n fetti.wobble += fetti.wobbleSpeed;\n fetti.wobbleX = fetti.x + ((10 * fetti.scalar) * Math.cos(fetti.wobble));\n fetti.wobbleY = fetti.y + ((10 * fetti.scalar) * Math.sin(fetti.wobble));\n\n fetti.tiltAngle += 0.1;\n fetti.tiltSin = Math.sin(fetti.tiltAngle);\n fetti.tiltCos = Math.cos(fetti.tiltAngle);\n fetti.random = Math.random() + 2;\n }\n\n var progress = (fetti.tick++) / fetti.totalTicks;\n\n var x1 = fetti.x + (fetti.random * fetti.tiltCos);\n var y1 = fetti.y + (fetti.random * fetti.tiltSin);\n var x2 = fetti.wobbleX + (fetti.random * fetti.tiltCos);\n var y2 = fetti.wobbleY + (fetti.random * fetti.tiltSin);\n\n context.fillStyle = 'rgba(' + fetti.color.r + ', ' + fetti.color.g + ', ' + fetti.color.b + ', ' + (1 - progress) + ')';\n\n context.beginPath();\n\n if (canUsePaths && fetti.shape.type === 'path' && typeof fetti.shape.path === 'string' && Array.isArray(fetti.shape.matrix)) {\n context.fill(transformPath2D(\n fetti.shape.path,\n fetti.shape.matrix,\n fetti.x,\n fetti.y,\n Math.abs(x2 - x1) * 0.1,\n Math.abs(y2 - y1) * 0.1,\n Math.PI / 10 * fetti.wobble\n ));\n } else if (fetti.shape.type === 'bitmap') {\n var rotation = Math.PI / 10 * fetti.wobble;\n var scaleX = Math.abs(x2 - x1) * 0.1;\n var scaleY = Math.abs(y2 - y1) * 0.1;\n var width = fetti.shape.bitmap.width * fetti.scalar;\n var height = fetti.shape.bitmap.height * fetti.scalar;\n\n var matrix = new DOMMatrix([\n Math.cos(rotation) * scaleX,\n Math.sin(rotation) * scaleX,\n -Math.sin(rotation) * scaleY,\n Math.cos(rotation) * scaleY,\n fetti.x,\n fetti.y\n ]);\n\n // apply the transform matrix from the confetti shape\n matrix.multiplySelf(new DOMMatrix(fetti.shape.matrix));\n\n var pattern = context.createPattern(bitmapMapper.transform(fetti.shape.bitmap), 'no-repeat');\n pattern.setTransform(matrix);\n\n context.globalAlpha = (1 - progress);\n context.fillStyle = pattern;\n context.fillRect(\n fetti.x - (width / 2),\n fetti.y - (height / 2),\n width,\n height\n );\n context.globalAlpha = 1;\n } else if (fetti.shape === 'circle') {\n context.ellipse ?\n context.ellipse(fetti.x, fetti.y, Math.abs(x2 - x1) * fetti.ovalScalar, Math.abs(y2 - y1) * fetti.ovalScalar, Math.PI / 10 * fetti.wobble, 0, 2 * Math.PI) :\n ellipse(context, fetti.x, fetti.y, Math.abs(x2 - x1) * fetti.ovalScalar, Math.abs(y2 - y1) * fetti.ovalScalar, Math.PI / 10 * fetti.wobble, 0, 2 * Math.PI);\n } else if (fetti.shape === 'star') {\n var rot = Math.PI / 2 * 3;\n var innerRadius = 4 * fetti.scalar;\n var outerRadius = 8 * fetti.scalar;\n var x = fetti.x;\n var y = fetti.y;\n var spikes = 5;\n var step = Math.PI / spikes;\n\n while (spikes--) {\n x = fetti.x + Math.cos(rot) * outerRadius;\n y = fetti.y + Math.sin(rot) * outerRadius;\n context.lineTo(x, y);\n rot += step;\n\n x = fetti.x + Math.cos(rot) * innerRadius;\n y = fetti.y + Math.sin(rot) * innerRadius;\n context.lineTo(x, y);\n rot += step;\n }\n } else {\n context.moveTo(Math.floor(fetti.x), Math.floor(fetti.y));\n context.lineTo(Math.floor(fetti.wobbleX), Math.floor(y1));\n context.lineTo(Math.floor(x2), Math.floor(y2));\n context.lineTo(Math.floor(x1), Math.floor(fetti.wobbleY));\n }\n\n context.closePath();\n context.fill();\n\n return fetti.tick < fetti.totalTicks;\n }\n\n function animate(canvas, fettis, resizer, size, done) {\n var animatingFettis = fettis.slice();\n var context = canvas.getContext('2d');\n var animationFrame;\n var destroy;\n\n var prom = promise(function (resolve) {\n function onDone() {\n animationFrame = destroy = null;\n\n context.clearRect(0, 0, size.width, size.height);\n bitmapMapper.clear();\n\n done();\n resolve();\n }\n\n function update() {\n if (isWorker && !(size.width === workerSize.width && size.height === workerSize.height)) {\n size.width = canvas.width = workerSize.width;\n size.height = canvas.height = workerSize.height;\n }\n\n if (!size.width && !size.height) {\n resizer(canvas);\n size.width = canvas.width;\n size.height = canvas.height;\n }\n\n context.clearRect(0, 0, size.width, size.height);\n\n animatingFettis = animatingFettis.filter(function (fetti) {\n return updateFetti(context, fetti);\n });\n\n if (animatingFettis.length) {\n animationFrame = raf.frame(update);\n } else {\n onDone();\n }\n }\n\n animationFrame = raf.frame(update);\n destroy = onDone;\n });\n\n return {\n addFettis: function (fettis) {\n animatingFettis = animatingFettis.concat(fettis);\n\n return prom;\n },\n canvas: canvas,\n promise: prom,\n reset: function () {\n if (animationFrame) {\n raf.cancel(animationFrame);\n }\n\n if (destroy) {\n destroy();\n }\n }\n };\n }\n\n function confettiCannon(canvas, globalOpts) {\n var isLibCanvas = !canvas;\n var allowResize = !!prop(globalOpts || {}, 'resize');\n var hasResizeEventRegistered = false;\n var globalDisableForReducedMotion = prop(globalOpts, 'disableForReducedMotion', Boolean);\n var shouldUseWorker = canUseWorker && !!prop(globalOpts || {}, 'useWorker');\n var worker = shouldUseWorker ? getWorker() : null;\n var resizer = isLibCanvas ? setCanvasWindowSize : setCanvasRectSize;\n var initialized = (canvas && worker) ? !!canvas.__confetti_initialized : false;\n var preferLessMotion = typeof matchMedia === 'function' && matchMedia('(prefers-reduced-motion)').matches;\n var animationObj;\n\n function fireLocal(options, size, done) {\n var particleCount = prop(options, 'particleCount', onlyPositiveInt);\n var angle = prop(options, 'angle', Number);\n var spread = prop(options, 'spread', Number);\n var startVelocity = prop(options, 'startVelocity', Number);\n var decay = prop(options, 'decay', Number);\n var gravity = prop(options, 'gravity', Number);\n var drift = prop(options, 'drift', Number);\n var colors = prop(options, 'colors', colorsToRgb);\n var ticks = prop(options, 'ticks', Number);\n var shapes = prop(options, 'shapes');\n var scalar = prop(options, 'scalar');\n var flat = !!prop(options, 'flat');\n var origin = getOrigin(options);\n\n var temp = particleCount;\n var fettis = [];\n\n var startX = canvas.width * origin.x;\n var startY = canvas.height * origin.y;\n\n while (temp--) {\n fettis.push(\n randomPhysics({\n x: startX,\n y: startY,\n angle: angle,\n spread: spread,\n startVelocity: startVelocity,\n color: colors[temp % colors.length],\n shape: shapes[randomInt(0, shapes.length)],\n ticks: ticks,\n decay: decay,\n gravity: gravity,\n drift: drift,\n scalar: scalar,\n flat: flat\n })\n );\n }\n\n // if we have a previous canvas already animating,\n // add to it\n if (animationObj) {\n return animationObj.addFettis(fettis);\n }\n\n animationObj = animate(canvas, fettis, resizer, size , done);\n\n return animationObj.promise;\n }\n\n function fire(options) {\n var disableForReducedMotion = globalDisableForReducedMotion || prop(options, 'disableForReducedMotion', Boolean);\n var zIndex = prop(options, 'zIndex', Number);\n\n if (disableForReducedMotion && preferLessMotion) {\n return promise(function (resolve) {\n resolve();\n });\n }\n\n if (isLibCanvas && animationObj) {\n // use existing canvas from in-progress animation\n canvas = animationObj.canvas;\n } else if (isLibCanvas && !canvas) {\n // create and initialize a new canvas\n canvas = getCanvas(zIndex);\n document.body.appendChild(canvas);\n }\n\n if (allowResize && !initialized) {\n // initialize the size of a user-supplied canvas\n resizer(canvas);\n }\n\n var size = {\n width: canvas.width,\n height: canvas.height\n };\n\n if (worker && !initialized) {\n worker.init(canvas);\n }\n\n initialized = true;\n\n if (worker) {\n canvas.__confetti_initialized = true;\n }\n\n function onResize() {\n if (worker) {\n // TODO this really shouldn't be immediate, because it is expensive\n var obj = {\n getBoundingClientRect: function () {\n if (!isLibCanvas) {\n return canvas.getBoundingClientRect();\n }\n }\n };\n\n resizer(obj);\n\n worker.postMessage({\n resize: {\n width: obj.width,\n height: obj.height\n }\n });\n return;\n }\n\n // don't actually query the size here, since this\n // can execute frequently and rapidly\n size.width = size.height = null;\n }\n\n function done() {\n animationObj = null;\n\n if (allowResize) {\n hasResizeEventRegistered = false;\n global.removeEventListener('resize', onResize);\n }\n\n if (isLibCanvas && canvas) {\n if (document.body.contains(canvas)) {\n document.body.removeChild(canvas); \n }\n canvas = null;\n initialized = false;\n }\n }\n\n if (allowResize && !hasResizeEventRegistered) {\n hasResizeEventRegistered = true;\n global.addEventListener('resize', onResize, false);\n }\n\n if (worker) {\n return worker.fire(options, size, done);\n }\n\n return fireLocal(options, size, done);\n }\n\n fire.reset = function () {\n if (worker) {\n worker.reset();\n }\n\n if (animationObj) {\n animationObj.reset();\n }\n };\n\n return fire;\n }\n\n // Make default export lazy to defer worker creation until called.\n var defaultFire;\n function getDefaultFire() {\n if (!defaultFire) {\n defaultFire = confettiCannon(null, { useWorker: true, resize: true });\n }\n return defaultFire;\n }\n\n function transformPath2D(pathString, pathMatrix, x, y, scaleX, scaleY, rotation) {\n var path2d = new Path2D(pathString);\n\n var t1 = new Path2D();\n t1.addPath(path2d, new DOMMatrix(pathMatrix));\n\n var t2 = new Path2D();\n // see https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrix/DOMMatrix\n t2.addPath(t1, new DOMMatrix([\n Math.cos(rotation) * scaleX,\n Math.sin(rotation) * scaleX,\n -Math.sin(rotation) * scaleY,\n Math.cos(rotation) * scaleY,\n x,\n y\n ]));\n\n return t2;\n }\n\n function shapeFromPath(pathData) {\n if (!canUsePaths) {\n throw new Error('path confetti are not supported in this browser');\n }\n\n var path, matrix;\n\n if (typeof pathData === 'string') {\n path = pathData;\n } else {\n path = pathData.path;\n matrix = pathData.matrix;\n }\n\n var path2d = new Path2D(path);\n var tempCanvas = document.createElement('canvas');\n var tempCtx = tempCanvas.getContext('2d');\n\n if (!matrix) {\n // attempt to figure out the width of the path, up to 1000x1000\n var maxSize = 1000;\n var minX = maxSize;\n var minY = maxSize;\n var maxX = 0;\n var maxY = 0;\n var width, height;\n\n // do some line skipping... this is faster than checking\n // every pixel and will be mostly still correct\n for (var x = 0; x < maxSize; x += 2) {\n for (var y = 0; y < maxSize; y += 2) {\n if (tempCtx.isPointInPath(path2d, x, y, 'nonzero')) {\n minX = Math.min(minX, x);\n minY = Math.min(minY, y);\n maxX = Math.max(maxX, x);\n maxY = Math.max(maxY, y);\n }\n }\n }\n\n width = maxX - minX;\n height = maxY - minY;\n\n var maxDesiredSize = 10;\n var scale = Math.min(maxDesiredSize/width, maxDesiredSize/height);\n\n matrix = [\n scale, 0, 0, scale,\n -Math.round((width/2) + minX) * scale,\n -Math.round((height/2) + minY) * scale\n ];\n }\n\n return {\n type: 'path',\n path: path,\n matrix: matrix\n };\n }\n\n function shapeFromText(textData) {\n var text,\n scalar = 1,\n color = '#000000',\n // see https://nolanlawson.com/2022/04/08/the-struggle-of-using-native-emoji-on-the-web/\n fontFamily = '\"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\", \"EmojiOne Color\", \"Android Emoji\", \"Twemoji Mozilla\", \"system emoji\", sans-serif';\n\n if (typeof textData === 'string') {\n text = textData;\n } else {\n text = textData.text;\n scalar = 'scalar' in textData ? textData.scalar : scalar;\n fontFamily = 'fontFamily' in textData ? textData.fontFamily : fontFamily;\n color = 'color' in textData ? textData.color : color;\n }\n\n // all other confetti are 10 pixels,\n // so this pixel size is the de-facto 100% scale confetti\n var fontSize = 10 * scalar;\n var font = '' + fontSize + 'px ' + fontFamily;\n\n var canvas = new OffscreenCanvas(fontSize, fontSize);\n var ctx = canvas.getContext('2d');\n\n ctx.font = font;\n var size = ctx.measureText(text);\n var width = Math.ceil(size.actualBoundingBoxRight + size.actualBoundingBoxLeft);\n var height = Math.ceil(size.actualBoundingBoxAscent + size.actualBoundingBoxDescent);\n\n var padding = 2;\n var x = size.actualBoundingBoxLeft + padding;\n var y = size.actualBoundingBoxAscent + padding;\n width += padding + padding;\n height += padding + padding;\n\n canvas = new OffscreenCanvas(width, height);\n ctx = canvas.getContext('2d');\n ctx.font = font;\n ctx.fillStyle = color;\n\n ctx.fillText(text, x, y);\n\n var scale = 1 / scalar;\n\n return {\n type: 'bitmap',\n // TODO these probably need to be transfered for workers\n bitmap: canvas.transferToImageBitmap(),\n matrix: [scale, 0, 0, scale, -width * scale / 2, -height * scale / 2]\n };\n }\n\n module.exports = function() {\n return getDefaultFire().apply(this, arguments);\n };\n module.exports.reset = function() {\n getDefaultFire().reset();\n };\n module.exports.create = confettiCannon;\n module.exports.shapeFromPath = shapeFromPath;\n module.exports.shapeFromText = shapeFromText;\n}((function () {\n if (typeof window !== 'undefined') {\n return window;\n }\n\n if (typeof self !== 'undefined') {\n return self;\n }\n\n return this || {};\n})(), module, false));\n\n// end source content\n\nexport default module.exports;\nexport var create = module.exports.create;\n","export const feedbackMail = atob('YW5kcm9pZEBqdTYwLmRl'); // email as base64\nexport const buildDate = import.meta.env.VITE_BUILD_DATE;\nexport const analyticsUrl = 'https://boomerang.ju60.de/share/z8KAHmGY/Kiel%20Live';\nexport const tileServer = 'https://tiles.ju60.de';\nexport const darkMapStyle = `${tileServer}/styles/gray-matter/style.json`;\nexport const brightMapStyle = `${tileServer}/styles/bright-matter/style.json`;\nexport const natsServerUrl = import.meta.env.VITE_NATS_URL;\n","\n\n\n","import { type BasicColorSchema, type UseColorModeOptions, useColorMode as useColorModeVueUse } from '@vueuse/core';\n\nimport { localStoragePrefix } from '~/compositions/useUserSettings';\n\nexport const useColorMode = (options?: UseColorModeOptions) =>\n useColorModeVueUse({ storageKey: `${localStoragePrefix}.theme`, ...options });\n\nexport type Theme = BasicColorSchema;\n","\n\n\n\n\n\n\n\n","import { nextTick } from 'vue';\nimport { createI18n } from 'vue-i18n';\n\nfunction getUserLanguage(): string {\n return navigator.language.split('-')[0];\n}\n\nconst userLanguage = getUserLanguage();\nconst i18n = createI18n({\n legacy: false,\n locale: userLanguage,\n});\n\nexport const loadLocaleMessages = async (locale: string) => {\n const { default: messages } = (await import(`./locales/${locale}.json`)) as { default: Record };\n\n i18n.global.setLocaleMessage(locale, messages);\n\n return nextTick();\n};\n\nexport const setI18nLanguage = async (lang: string): Promise => {\n if (!i18n.global.availableLocales.includes(lang)) {\n await loadLocaleMessages(lang);\n }\n i18n.global.locale.value = lang;\n};\n\nvoid loadLocaleMessages(userLanguage);\n\nexport default i18n;\n","import type { Component } from 'vue';\nimport { createRouter, createWebHistory, type RouteRecordRaw } from 'vue-router';\n\nimport { useUserSettings } from '~/compositions/useUserSettings';\n\nlet firstStartOfApp = true;\n\nconst routes: RouteRecordRaw[] = [\n {\n path: '/',\n name: 'home',\n component: (): Component => import('~/views/Home.vue'),\n },\n {\n path: '/map/:markerType/:markerId',\n name: 'map-marker',\n component: (): Component => import('~/views/Home.vue'),\n props: true,\n },\n {\n path: '/search',\n name: 'search',\n component: (): Component => import('~/views/Home.vue'),\n },\n {\n path: '/favorites',\n name: 'favorites',\n component: (): Component => import('~/views/Home.vue'),\n },\n {\n path: '/settings/about',\n name: 'settings-about',\n component: (): Component => import('~/views/settings/About.vue'),\n meta: { settings: true },\n },\n {\n path: '/settings/changelog',\n name: 'settings-changelog',\n component: (): Component => import('~/views/settings/Changelog.vue'),\n meta: { settings: true },\n },\n {\n path: '/settings/settings',\n name: 'settings-settings',\n component: (): Component => import('~/views/settings/Settings.vue'),\n meta: { settings: true },\n },\n {\n path: '/settings/contact',\n name: 'settings-contact',\n component: (): Component => import('~/views/settings/Contact.vue'),\n meta: { settings: true },\n },\n {\n path: '/contact',\n name: 'contact',\n redirect: { name: 'settings-contact' },\n },\n {\n path: '/dev',\n name: 'dev',\n component: (): Component => import('~/views/Development.vue'),\n meta: { settings: true },\n },\n {\n path: '/:pathMatch(.*)*',\n name: 'not-found',\n component: (): Component => import('~/views/NotFound.vue'),\n },\n];\n\nconst router = createRouter({\n history: createWebHistory(),\n routes,\n});\n\nconst { liteMode } = useUserSettings();\n\nrouter.beforeEach((to, from, next): void => {\n if (to.name === 'home' && (firstStartOfApp || liteMode.value)) {\n firstStartOfApp = false;\n next({ name: 'favorites' });\n return;\n }\n\n firstStartOfApp = false;\n next();\n});\n\nexport default router;\n","import { createApp } from 'vue';\n\nimport App from '~/App.vue';\nimport i18n from '~/i18n';\nimport router from '~/router';\n\nimport 'virtual:windi.css';\n\nconst app = createApp(App);\n\napp.use(router);\napp.use(i18n);\napp.mount('#app');\n"],"file":"assets/index-KiWmxDDy.js"} \ No newline at end of file diff --git a/assets/useFeatureFlags-A7w9DXu8.js b/assets/useFeatureFlags-A7w9DXu8.js new file mode 100644 index 0000000..589500a --- /dev/null +++ b/assets/useFeatureFlags-A7w9DXu8.js @@ -0,0 +1,2 @@ +import{V as l,W as i,u as o,c}from"./index-KiWmxDDy.js";const a=l(`${i}.feature_flags`,[]);function _(){const{t:n}=o(),u=[{id:"new_api",name:n("feature_flag_new_api")},{id:"vehicle_stop_actions",name:n("feature_flag_actions"),description:n("feature_flag_actions_description")}].map(e=>({...e,enabled:c({get:()=>a.value.includes(e.name),set:t=>{t?a.value=[...a.value,e.name]:a.value=a.value.filter(r=>r!==e.name)}})}));function s(e){const t=u.find(r=>r.id===e);if(!t)throw new Error(`Unknown feature flag: ${e}`);return t.enabled}return{featureFlags:u,checkFeatureFlag:s}}export{_ as u}; +//# sourceMappingURL=useFeatureFlags-A7w9DXu8.js.map diff --git a/assets/useFeatureFlags-A7w9DXu8.js.map b/assets/useFeatureFlags-A7w9DXu8.js.map new file mode 100644 index 0000000..4c93f90 --- /dev/null +++ b/assets/useFeatureFlags-A7w9DXu8.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useFeatureFlags-A7w9DXu8.js","sources":["../../src/compositions/useFeatureFlags.ts"],"sourcesContent":["import { useStorage } from '@vueuse/core';\nimport { computed, type Ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nimport { localStoragePrefix } from './useUserSettings';\n\nconst enabledFeatureFlags = useStorage(`${localStoragePrefix}.feature_flags`, []);\n\ninterface FeatureFlag {\n id: string;\n name: string;\n description?: string;\n}\n\nexport function useFeatureFlags() {\n const { t } = useI18n();\n\n const featureFlags = [\n {\n id: 'new_api',\n name: t('feature_flag_new_api'),\n },\n {\n id: 'vehicle_stop_actions',\n name: t('feature_flag_actions'),\n description: t('feature_flag_actions_description'),\n },\n ] satisfies FeatureFlag[];\n\n const featureFlagWithEnabled = featureFlags.map((flag) => ({\n ...flag,\n enabled: computed({\n get: () => enabledFeatureFlags.value.includes(flag.name),\n set: (value) => {\n if (value) {\n enabledFeatureFlags.value = [...enabledFeatureFlags.value, flag.name];\n } else {\n enabledFeatureFlags.value = enabledFeatureFlags.value.filter((f) => f !== flag.name);\n }\n },\n }),\n }));\n\n function checkFeatureFlag(flagId: string): Ref {\n const featureFlag = featureFlagWithEnabled.find((flag) => flag.id === flagId);\n\n if (!featureFlag) {\n throw new Error(`Unknown feature flag: ${flagId}`);\n }\n\n return featureFlag.enabled;\n }\n\n return {\n featureFlags: featureFlagWithEnabled,\n checkFeatureFlag,\n };\n}\n"],"names":["enabledFeatureFlags","useStorage","localStoragePrefix","useFeatureFlags","t","useI18n","featureFlagWithEnabled","flag","computed","value","f","checkFeatureFlag","flagId","featureFlag"],"mappings":"wDAMA,MAAMA,EAAsBC,EAAqB,GAAGC,CAAkB,iBAAkB,CAAA,CAAE,EAQnF,SAASC,GAAkB,CAC1B,KAAA,CAAE,EAAAC,CAAE,EAAIC,EAAQ,EAchBC,EAZe,CACnB,CACE,GAAI,UACJ,KAAMF,EAAE,sBAAsB,CAChC,EACA,CACE,GAAI,uBACJ,KAAMA,EAAE,sBAAsB,EAC9B,YAAaA,EAAE,kCAAkC,CAAA,CAErD,EAE4C,IAAKG,IAAU,CACzD,GAAGA,EACH,QAASC,EAAS,CAChB,IAAK,IAAMR,EAAoB,MAAM,SAASO,EAAK,IAAI,EACvD,IAAME,GAAU,CACVA,EACFT,EAAoB,MAAQ,CAAC,GAAGA,EAAoB,MAAOO,EAAK,IAAI,EAEhDP,EAAA,MAAQA,EAAoB,MAAM,OAAQU,GAAMA,IAAMH,EAAK,IAAI,CACrF,CAEH,CAAA,CAAA,EACD,EAEF,SAASI,EAAiBC,EAA8B,CACtD,MAAMC,EAAcP,EAAuB,KAAMC,GAASA,EAAK,KAAOK,CAAM,EAE5E,GAAI,CAACC,EACH,MAAM,IAAI,MAAM,yBAAyBD,CAAM,EAAE,EAGnD,OAAOC,EAAY,OAAA,CAGd,MAAA,CACL,aAAcP,EACd,iBAAAK,CACF,CACF"} \ No newline at end of file diff --git a/assets/useTrack-DmYPFwPy.js b/assets/useTrack-DmYPFwPy.js new file mode 100644 index 0000000..29c6e58 --- /dev/null +++ b/assets/useTrack-DmYPFwPy.js @@ -0,0 +1,2 @@ +function a(){const{umami:c}=globalThis;async function n(t,r){c==null||c.track(t,r)}return{track:n}}export{a as u}; +//# sourceMappingURL=useTrack-DmYPFwPy.js.map diff --git a/assets/useTrack-DmYPFwPy.js.map b/assets/useTrack-DmYPFwPy.js.map new file mode 100644 index 0000000..dc4d805 --- /dev/null +++ b/assets/useTrack-DmYPFwPy.js.map @@ -0,0 +1 @@ +{"version":3,"file":"useTrack-DmYPFwPy.js","sources":["../../src/compositions/useTrack.ts"],"sourcesContent":["export function useTrack() {\n const { umami } = globalThis as {\n umami?: {\n track: (event: string, data?: any) => void;\n };\n };\n\n async function track(event: string, data?: any) {\n umami?.track(event, data);\n }\n\n return { track };\n}\n"],"names":["useTrack","umami","track","event","data"],"mappings":"AAAO,SAASA,GAAW,CACnB,KAAA,CAAE,MAAAC,GAAU,WAMH,eAAAC,EAAMC,EAAeC,EAAY,CACvCH,GAAA,MAAAA,EAAA,MAAME,EAAOC,EAAI,CAG1B,MAAO,CAAE,MAAAF,CAAM,CACjB"} \ No newline at end of file diff --git a/assets/workbox-window.prod.es5-D5gOYdM7.js b/assets/workbox-window.prod.es5-B9K5rw8f.js similarity index 96% rename from assets/workbox-window.prod.es5-D5gOYdM7.js rename to assets/workbox-window.prod.es5-B9K5rw8f.js index 11c3155..3b38313 100644 --- a/assets/workbox-window.prod.es5-D5gOYdM7.js +++ b/assets/workbox-window.prod.es5-B9K5rw8f.js @@ -1,3 +1,3 @@ -try{self["workbox:window:7.0.0"]&&_()}catch{}function E(n,r){return new Promise(function(t){var i=new MessageChannel;i.port1.onmessage=function(c){t(c.data)},n.postMessage(r,[i.port2])})}function W(n){var r=function(t,i){if(typeof t!="object"||!t)return t;var c=t[Symbol.toPrimitive];if(c!==void 0){var h=c.call(t,i);if(typeof h!="object")return h;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(n,"string");return typeof r=="symbol"?r:r+""}function k(n,r){for(var t=0;tn.length)&&(r=n.length);for(var t=0,i=new Array(r);t=n.length?{done:!0}:{done:!1,value:n[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}try{self["workbox:core:7.0.0"]&&_()}catch{}var w=function(){var n=this;this.promise=new Promise(function(r,t){n.resolve=r,n.reject=t})};function b(n,r){var t=location.href;return new URL(n,t).href===new URL(r,t).href}var g=function(n,r){this.type=n,Object.assign(this,r)};function d(n,r,t){return t?r?r(n):n:(n&&n.then||(n=Promise.resolve(n)),r?n.then(r):n)}function O(){}var x={type:"SKIP_WAITING"};function S(n,r){return n&&n.then?n.then(O):Promise.resolve()}var U=function(n){function r(v,u){var e,o;return u===void 0&&(u={}),(e=n.call(this)||this).nn={},e.tn=0,e.rn=new w,e.en=new w,e.on=new w,e.un=0,e.an=new Set,e.cn=function(){var s=e.fn,a=s.installing;e.tn>0||!b(a.scriptURL,e.sn.toString())||performance.now()>e.un+6e4?(e.vn=a,s.removeEventListener("updatefound",e.cn)):(e.hn=a,e.an.add(a),e.rn.resolve(a)),++e.tn,a.addEventListener("statechange",e.ln)},e.ln=function(s){var a=e.fn,f=s.target,p=f.state,m=f===e.vn,y={sw:f,isExternal:m,originalEvent:s};!m&&e.mn&&(y.isUpdate=!0),e.dispatchEvent(new g(p,y)),p==="installed"?e.wn=self.setTimeout(function(){p==="installed"&&a.waiting===f&&e.dispatchEvent(new g("waiting",y))},200):p==="activating"&&(clearTimeout(e.wn),m||e.en.resolve(f))},e.yn=function(s){var a=e.hn,f=a!==navigator.serviceWorker.controller;e.dispatchEvent(new g("controlling",{isExternal:f,originalEvent:s,sw:a,isUpdate:e.mn})),f||e.on.resolve(a)},e.gn=(o=function(s){var a=s.data,f=s.ports,p=s.source;return d(e.getSW(),function(){e.an.has(p)&&e.dispatchEvent(new g("message",{data:a,originalEvent:s,ports:f,sw:p}))})},function(){for(var s=[],a=0;an.length)&&(r=n.length);for(var t=0,i=new Array(r);t=n.length?{done:!0}:{done:!1,value:n[i++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}try{self["workbox:core:7.2.0"]&&_()}catch{}var w=function(){var n=this;this.promise=new Promise(function(r,t){n.resolve=r,n.reject=t})};function b(n,r){var t=location.href;return new URL(n,t).href===new URL(r,t).href}var g=function(n,r){this.type=n,Object.assign(this,r)};function d(n,r,t){return t?r?r(n):n:(n&&n.then||(n=Promise.resolve(n)),r?n.then(r):n)}function O(){}var x={type:"SKIP_WAITING"};function S(n,r){return n&&n.then?n.then(O):Promise.resolve()}var U=function(n){function r(v,u){var e,o;return u===void 0&&(u={}),(e=n.call(this)||this).nn={},e.tn=0,e.rn=new w,e.en=new w,e.on=new w,e.un=0,e.an=new Set,e.cn=function(){var s=e.fn,a=s.installing;e.tn>0||!b(a.scriptURL,e.sn.toString())||performance.now()>e.un+6e4?(e.vn=a,s.removeEventListener("updatefound",e.cn)):(e.hn=a,e.an.add(a),e.rn.resolve(a)),++e.tn,a.addEventListener("statechange",e.ln)},e.ln=function(s){var a=e.fn,f=s.target,p=f.state,m=f===e.vn,y={sw:f,isExternal:m,originalEvent:s};!m&&e.mn&&(y.isUpdate=!0),e.dispatchEvent(new g(p,y)),p==="installed"?e.wn=self.setTimeout(function(){p==="installed"&&a.waiting===f&&e.dispatchEvent(new g("waiting",y))},200):p==="activating"&&(clearTimeout(e.wn),m||e.en.resolve(f))},e.yn=function(s){var a=e.hn,f=a!==navigator.serviceWorker.controller;e.dispatchEvent(new g("controlling",{isExternal:f,originalEvent:s,sw:a,isUpdate:e.mn})),f||e.on.resolve(a)},e.gn=(o=function(s){var a=s.data,f=s.ports,p=s.source;return d(e.getSW(),function(){e.an.has(p)&&e.dispatchEvent(new g("message",{data:a,originalEvent:s,ports:f,sw:p}))})},function(){for(var s=[],a=0;an.length)&&(t=n.length);for(var r=0,e=new Array(t);r=n.length?{done:!0}:{done:!1,value:n[e++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}try{self[\"workbox:core:7.0.0\"]&&_()}catch(n){}var u=function(){var n=this;this.promise=new Promise((function(t,r){n.resolve=t,n.reject=r}))};function a(n,t){var r=location.href;return new URL(n,r).href===new URL(t,r).href}var c=function(n,t){this.type=n,Object.assign(this,t)};function f(n,t,r){return r?t?t(n):n:(n&&n.then||(n=Promise.resolve(n)),t?n.then(t):n)}function s(){}var v={type:\"SKIP_WAITING\"};function h(n,t){if(!t)return n&&n.then?n.then(s):Promise.resolve()}var l=function(t){function i(n,r){var e,i;return void 0===r&&(r={}),(e=t.call(this)||this).nn={},e.tn=0,e.rn=new u,e.en=new u,e.on=new u,e.un=0,e.an=new Set,e.cn=function(){var n=e.fn,t=n.installing;e.tn>0||!a(t.scriptURL,e.sn.toString())||performance.now()>e.un+6e4?(e.vn=t,n.removeEventListener(\"updatefound\",e.cn)):(e.hn=t,e.an.add(t),e.rn.resolve(t)),++e.tn,t.addEventListener(\"statechange\",e.ln)},e.ln=function(n){var t=e.fn,r=n.target,i=r.state,o=r===e.vn,u={sw:r,isExternal:o,originalEvent:n};!o&&e.mn&&(u.isUpdate=!0),e.dispatchEvent(new c(i,u)),\"installed\"===i?e.wn=self.setTimeout((function(){\"installed\"===i&&t.waiting===r&&e.dispatchEvent(new c(\"waiting\",u))}),200):\"activating\"===i&&(clearTimeout(e.wn),o||e.en.resolve(r))},e.yn=function(n){var t=e.hn,r=t!==navigator.serviceWorker.controller;e.dispatchEvent(new c(\"controlling\",{isExternal:r,originalEvent:n,sw:t,isUpdate:e.mn})),r||e.on.resolve(t)},e.gn=(i=function(n){var t=n.data,r=n.ports,i=n.source;return f(e.getSW(),(function(){e.an.has(i)&&e.dispatchEvent(new c(\"message\",{data:t,originalEvent:n,ports:r,sw:i}))}))},function(){for(var n=[],t=0;tn.length)&&(t=n.length);for(var r=0,e=new Array(t);r=n.length?{done:!0}:{done:!1,value:n[e++]}}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}try{self[\"workbox:core:7.2.0\"]&&_()}catch(n){}var u=function(){var n=this;this.promise=new Promise((function(t,r){n.resolve=t,n.reject=r}))};function a(n,t){var r=location.href;return new URL(n,r).href===new URL(t,r).href}var c=function(n,t){this.type=n,Object.assign(this,t)};function f(n,t,r){return r?t?t(n):n:(n&&n.then||(n=Promise.resolve(n)),t?n.then(t):n)}function s(){}var v={type:\"SKIP_WAITING\"};function h(n,t){if(!t)return n&&n.then?n.then(s):Promise.resolve()}var l=function(t){function i(n,r){var e,i;return void 0===r&&(r={}),(e=t.call(this)||this).nn={},e.tn=0,e.rn=new u,e.en=new u,e.on=new u,e.un=0,e.an=new Set,e.cn=function(){var n=e.fn,t=n.installing;e.tn>0||!a(t.scriptURL,e.sn.toString())||performance.now()>e.un+6e4?(e.vn=t,n.removeEventListener(\"updatefound\",e.cn)):(e.hn=t,e.an.add(t),e.rn.resolve(t)),++e.tn,t.addEventListener(\"statechange\",e.ln)},e.ln=function(n){var t=e.fn,r=n.target,i=r.state,o=r===e.vn,u={sw:r,isExternal:o,originalEvent:n};!o&&e.mn&&(u.isUpdate=!0),e.dispatchEvent(new c(i,u)),\"installed\"===i?e.wn=self.setTimeout((function(){\"installed\"===i&&t.waiting===r&&e.dispatchEvent(new c(\"waiting\",u))}),200):\"activating\"===i&&(clearTimeout(e.wn),o||e.en.resolve(r))},e.yn=function(n){var t=e.hn,r=t!==navigator.serviceWorker.controller;e.dispatchEvent(new c(\"controlling\",{isExternal:r,originalEvent:n,sw:t,isUpdate:e.mn})),r||e.on.resolve(t)},e.gn=(i=function(n){var t=n.data,r=n.ports,i=n.source;return f(e.getSW(),(function(){e.an.has(i)&&e.dispatchEvent(new c(\"message\",{data:t,originalEvent:n,ports:r,sw:i}))}))},function(){for(var n=[],t=0;t - - + +
    diff --git a/service-worker.js b/service-worker.js index 0c800eb..01140c0 100644 --- a/service-worker.js +++ b/service-worker.js @@ -1,2 +1,2 @@ -if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,o)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let c={};const l=e=>i(e,r),d={module:{uri:r},exports:c,require:l};s[r]=Promise.all(n.map((e=>d[e]||l(e)))).then((e=>(o(...e),c)))}}define(["./workbox-cbf83eee"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"404.html",revision:"53f3976d6ed6ef7060481877fda75885"},{url:"assets/About-CL7R6oQV.js",revision:null},{url:"assets/Changelog-CpiSnnLL.js",revision:null},{url:"assets/Contact-BmppTCHn.js",revision:null},{url:"assets/de-B-BehOFm.js",revision:null},{url:"assets/en-Cngb1GR8.js",revision:null},{url:"assets/Home-9BF4fQiD.js",revision:null},{url:"assets/Home-KcWzUXV1.css",revision:null},{url:"assets/index-C5qMMmKR.js",revision:null},{url:"assets/index-HVXrmBud.css",revision:null},{url:"assets/logo-CDP0Em2s.png",revision:null},{url:"assets/logo-DBgTG2k7.js",revision:null},{url:"assets/NotFound-D2RZ3ij1.js",revision:null},{url:"assets/Settings-ogcWmvv1.js",revision:null},{url:"assets/SettingsContainer-vLkCKPKC.js",revision:null},{url:"assets/workbox-window.prod.es5-D5gOYdM7.js",revision:null},{url:"icons/stop-bike-selected.png",revision:"c1af5ed8a5bc34f5a4f1529b24826c37"},{url:"icons/stop-bike.png",revision:"02c530974dccdef6e4a432626b9c60f6"},{url:"icons/stop-bus-selected.png",revision:"f4b3741a96d4cff1767583c8beaf4c42"},{url:"icons/stop-bus.png",revision:"9d273453641c3614f8a5a22a11f61096"},{url:"icons/stop-ferry-selected.png",revision:"b4534f5a0bd7032921737c59bd780c98"},{url:"icons/stop-ferry.png",revision:"87632e69a7c568334516dcc28d45e652"},{url:"icons/stop-train-selected.png",revision:"36e661d463609393c814bea06edc296a"},{url:"icons/stop-train.png",revision:"79297c6cf434c714d843934dd1acce2e"},{url:"icons/stop-tram-selected.png",revision:"fd940f3221858f9671e7d4b518b47f5c"},{url:"icons/stop-tram.png",revision:"71bd6b75e49a079fb1824351e2033cef"},{url:"icons/vehicle-escooter-selected.png",revision:"2715ddf8343a33a39d8285b402c275fb"},{url:"icons/vehicle-escooter.png",revision:"14a4056c515b59b1240a68b8656c92ab"},{url:"img/icons/android-chrome-192x192.png",revision:"38ce90998cf9b499d77e3691774f23fc"},{url:"img/icons/android-chrome-512x512.png",revision:"f99d40c974ec054110b63ad595d23999"},{url:"img/icons/apple-touch-icon.png",revision:"c8cce5d4630b844ffda534cc0a4501ee"},{url:"img/icons/favicon-16x16.png",revision:"41d99be50dd392fad9006515d9b7f6df"},{url:"img/icons/favicon-32x32.png",revision:"156b617fe38e22401aebefd8eb299a06"},{url:"img/icons/mstile-150x150.png",revision:"8b7f980b55adac4cf86218daf19e82b0"},{url:"index.html",revision:"ccfbf7bb704f9f3c1e82e5f3f39ade8c"},{url:"favicon.ico",revision:"cac8b75e6ac4b8b581c5a4640bc28043"},{url:"./img/icons/android-chrome-192x192.png",revision:"38ce90998cf9b499d77e3691774f23fc"},{url:"img/icons/android-chrome-512x512.png",revision:"f99d40c974ec054110b63ad595d23999"},{url:"manifest.webmanifest",revision:"e455911964ff8360dbb4af969e40c7f8"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))})); +if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,r)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let l={};const c=e=>i(e,o),u={module:{uri:o},exports:l,require:c};s[o]=Promise.all(n.map((e=>u[e]||c(e)))).then((e=>(r(...e),l)))}}define(["./workbox-4723e66c"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"404.html",revision:"53f3976d6ed6ef7060481877fda75885"},{url:"assets/About-DBQpOReH.js",revision:null},{url:"assets/Changelog-bM6ddPWi.js",revision:null},{url:"assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js",revision:null},{url:"assets/Contact-4hCDClDF.js",revision:null},{url:"assets/de-fj2SYzel.js",revision:null},{url:"assets/Development-B5zGRVOi.js",revision:null},{url:"assets/en-B7kxybUu.js",revision:null},{url:"assets/Home-NgBe9E8J.js",revision:null},{url:"assets/Home-rl_0yGek.css",revision:null},{url:"assets/index-DUCv0PxY.css",revision:null},{url:"assets/index-KiWmxDDy.js",revision:null},{url:"assets/logo-CDP0Em2s.png",revision:null},{url:"assets/logo-DBgTG2k7.js",revision:null},{url:"assets/NotFound-Dn0X_rhl.js",revision:null},{url:"assets/Settings-DRSySDza.js",revision:null},{url:"assets/SettingsContainer-B74Cj-qJ.js",revision:null},{url:"assets/useFeatureFlags-A7w9DXu8.js",revision:null},{url:"assets/useTrack-DmYPFwPy.js",revision:null},{url:"assets/workbox-window.prod.es5-B9K5rw8f.js",revision:null},{url:"icons/stop-bike-selected.png",revision:"c1af5ed8a5bc34f5a4f1529b24826c37"},{url:"icons/stop-bike.png",revision:"02c530974dccdef6e4a432626b9c60f6"},{url:"icons/stop-bus-selected.png",revision:"f4b3741a96d4cff1767583c8beaf4c42"},{url:"icons/stop-bus.png",revision:"9d273453641c3614f8a5a22a11f61096"},{url:"icons/stop-ferry-selected.png",revision:"b4534f5a0bd7032921737c59bd780c98"},{url:"icons/stop-ferry.png",revision:"87632e69a7c568334516dcc28d45e652"},{url:"icons/stop-train-selected.png",revision:"36e661d463609393c814bea06edc296a"},{url:"icons/stop-train.png",revision:"79297c6cf434c714d843934dd1acce2e"},{url:"icons/stop-tram-selected.png",revision:"fd940f3221858f9671e7d4b518b47f5c"},{url:"icons/stop-tram.png",revision:"71bd6b75e49a079fb1824351e2033cef"},{url:"icons/vehicle-escooter-selected.png",revision:"2715ddf8343a33a39d8285b402c275fb"},{url:"icons/vehicle-escooter.png",revision:"14a4056c515b59b1240a68b8656c92ab"},{url:"img/icons/android-chrome-192x192.png",revision:"38ce90998cf9b499d77e3691774f23fc"},{url:"img/icons/android-chrome-512x512.png",revision:"f99d40c974ec054110b63ad595d23999"},{url:"img/icons/apple-touch-icon.png",revision:"c8cce5d4630b844ffda534cc0a4501ee"},{url:"img/icons/favicon-16x16.png",revision:"41d99be50dd392fad9006515d9b7f6df"},{url:"img/icons/favicon-32x32.png",revision:"156b617fe38e22401aebefd8eb299a06"},{url:"img/icons/mstile-150x150.png",revision:"8b7f980b55adac4cf86218daf19e82b0"},{url:"index.html",revision:"09b67fc9033e4932bbfc7502a69c3835"},{url:"favicon.ico",revision:"cac8b75e6ac4b8b581c5a4640bc28043"},{url:"img/icons/android-chrome-192x192.png",revision:"38ce90998cf9b499d77e3691774f23fc"},{url:"img/icons/android-chrome-512x512.png",revision:"f99d40c974ec054110b63ad595d23999"},{url:"manifest.webmanifest",revision:"e455911964ff8360dbb4af969e40c7f8"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))})); //# sourceMappingURL=sw.js.map diff --git a/service-worker.js.map b/service-worker.js.map index 94b279d..848c775 100644 --- a/service-worker.js.map +++ b/service-worker.js.map @@ -1 +1 @@ -{"version":3,"file":"sw.js","sources":["../../../../../../tmp/d2c573eaf93c70752c8be6b301adfbb8/sw.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';\nimport {registerRoute as workbox_routing_registerRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/registerRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"404.html\",\n \"revision\": \"53f3976d6ed6ef7060481877fda75885\"\n },\n {\n \"url\": \"assets/About-CL7R6oQV.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Changelog-CpiSnnLL.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Contact-BmppTCHn.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/de-B-BehOFm.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/en-Cngb1GR8.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Home-9BF4fQiD.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Home-KcWzUXV1.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-C5qMMmKR.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-HVXrmBud.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/logo-CDP0Em2s.png\",\n \"revision\": null\n },\n {\n \"url\": \"assets/logo-DBgTG2k7.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/NotFound-D2RZ3ij1.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Settings-ogcWmvv1.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/SettingsContainer-vLkCKPKC.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/workbox-window.prod.es5-D5gOYdM7.js\",\n \"revision\": null\n },\n {\n \"url\": \"icons/stop-bike-selected.png\",\n \"revision\": \"c1af5ed8a5bc34f5a4f1529b24826c37\"\n },\n {\n \"url\": \"icons/stop-bike.png\",\n \"revision\": \"02c530974dccdef6e4a432626b9c60f6\"\n },\n {\n \"url\": \"icons/stop-bus-selected.png\",\n \"revision\": \"f4b3741a96d4cff1767583c8beaf4c42\"\n },\n {\n \"url\": \"icons/stop-bus.png\",\n \"revision\": \"9d273453641c3614f8a5a22a11f61096\"\n },\n {\n \"url\": \"icons/stop-ferry-selected.png\",\n \"revision\": \"b4534f5a0bd7032921737c59bd780c98\"\n },\n {\n \"url\": \"icons/stop-ferry.png\",\n \"revision\": \"87632e69a7c568334516dcc28d45e652\"\n },\n {\n \"url\": \"icons/stop-train-selected.png\",\n \"revision\": \"36e661d463609393c814bea06edc296a\"\n },\n {\n \"url\": \"icons/stop-train.png\",\n \"revision\": \"79297c6cf434c714d843934dd1acce2e\"\n },\n {\n \"url\": \"icons/stop-tram-selected.png\",\n \"revision\": \"fd940f3221858f9671e7d4b518b47f5c\"\n },\n {\n \"url\": \"icons/stop-tram.png\",\n \"revision\": \"71bd6b75e49a079fb1824351e2033cef\"\n },\n {\n \"url\": \"icons/vehicle-escooter-selected.png\",\n \"revision\": \"2715ddf8343a33a39d8285b402c275fb\"\n },\n {\n \"url\": \"icons/vehicle-escooter.png\",\n \"revision\": \"14a4056c515b59b1240a68b8656c92ab\"\n },\n {\n \"url\": \"img/icons/android-chrome-192x192.png\",\n \"revision\": \"38ce90998cf9b499d77e3691774f23fc\"\n },\n {\n \"url\": \"img/icons/android-chrome-512x512.png\",\n \"revision\": \"f99d40c974ec054110b63ad595d23999\"\n },\n {\n \"url\": \"img/icons/apple-touch-icon.png\",\n \"revision\": \"c8cce5d4630b844ffda534cc0a4501ee\"\n },\n {\n \"url\": \"img/icons/favicon-16x16.png\",\n \"revision\": \"41d99be50dd392fad9006515d9b7f6df\"\n },\n {\n \"url\": \"img/icons/favicon-32x32.png\",\n \"revision\": \"156b617fe38e22401aebefd8eb299a06\"\n },\n {\n \"url\": \"img/icons/mstile-150x150.png\",\n \"revision\": \"8b7f980b55adac4cf86218daf19e82b0\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"ccfbf7bb704f9f3c1e82e5f3f39ade8c\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"cac8b75e6ac4b8b581c5a4640bc28043\"\n },\n {\n \"url\": \"./img/icons/android-chrome-192x192.png\",\n \"revision\": \"38ce90998cf9b499d77e3691774f23fc\"\n },\n {\n \"url\": \"img/icons/android-chrome-512x512.png\",\n \"revision\": \"f99d40c974ec054110b63ad595d23999\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"e455911964ff8360dbb4af969e40c7f8\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"index.html\")));\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches","workbox","registerRoute","workbox_routing_NavigationRoute","NavigationRoute","workbox_precaching_createHandlerBoundToURL"],"mappings":"0nBAuBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,wBACPC,SAAY,MAEd,CACED,IAAO,wBACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,sCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA,wBAC6BC,EAAAC,cAAC,IAAIC,EAA+BC,gBAACC,0BAA2C"} \ No newline at end of file +{"version":3,"file":"sw.js","sources":["../../../../../../tmp/6f24bf9f05cafdc0aa23a1857fbb50e8/sw.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';\nimport {registerRoute as workbox_routing_registerRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/registerRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"404.html\",\n \"revision\": \"53f3976d6ed6ef7060481877fda75885\"\n },\n {\n \"url\": \"assets/About-DBQpOReH.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Changelog-bM6ddPWi.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Contact-4hCDClDF.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/de-fj2SYzel.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Development-B5zGRVOi.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/en-B7kxybUu.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Home-NgBe9E8J.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Home-rl_0yGek.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-DUCv0PxY.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-KiWmxDDy.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/logo-CDP0Em2s.png\",\n \"revision\": null\n },\n {\n \"url\": \"assets/logo-DBgTG2k7.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/NotFound-Dn0X_rhl.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Settings-DRSySDza.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/SettingsContainer-B74Cj-qJ.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/useFeatureFlags-A7w9DXu8.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/useTrack-DmYPFwPy.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/workbox-window.prod.es5-B9K5rw8f.js\",\n \"revision\": null\n },\n {\n \"url\": \"icons/stop-bike-selected.png\",\n \"revision\": \"c1af5ed8a5bc34f5a4f1529b24826c37\"\n },\n {\n \"url\": \"icons/stop-bike.png\",\n \"revision\": \"02c530974dccdef6e4a432626b9c60f6\"\n },\n {\n \"url\": \"icons/stop-bus-selected.png\",\n \"revision\": \"f4b3741a96d4cff1767583c8beaf4c42\"\n },\n {\n \"url\": \"icons/stop-bus.png\",\n \"revision\": \"9d273453641c3614f8a5a22a11f61096\"\n },\n {\n \"url\": \"icons/stop-ferry-selected.png\",\n \"revision\": \"b4534f5a0bd7032921737c59bd780c98\"\n },\n {\n \"url\": \"icons/stop-ferry.png\",\n \"revision\": \"87632e69a7c568334516dcc28d45e652\"\n },\n {\n \"url\": \"icons/stop-train-selected.png\",\n \"revision\": \"36e661d463609393c814bea06edc296a\"\n },\n {\n \"url\": \"icons/stop-train.png\",\n \"revision\": \"79297c6cf434c714d843934dd1acce2e\"\n },\n {\n \"url\": \"icons/stop-tram-selected.png\",\n \"revision\": \"fd940f3221858f9671e7d4b518b47f5c\"\n },\n {\n \"url\": \"icons/stop-tram.png\",\n \"revision\": \"71bd6b75e49a079fb1824351e2033cef\"\n },\n {\n \"url\": \"icons/vehicle-escooter-selected.png\",\n \"revision\": \"2715ddf8343a33a39d8285b402c275fb\"\n },\n {\n \"url\": \"icons/vehicle-escooter.png\",\n \"revision\": \"14a4056c515b59b1240a68b8656c92ab\"\n },\n {\n \"url\": \"img/icons/android-chrome-192x192.png\",\n \"revision\": \"38ce90998cf9b499d77e3691774f23fc\"\n },\n {\n \"url\": \"img/icons/android-chrome-512x512.png\",\n \"revision\": \"f99d40c974ec054110b63ad595d23999\"\n },\n {\n \"url\": \"img/icons/apple-touch-icon.png\",\n \"revision\": \"c8cce5d4630b844ffda534cc0a4501ee\"\n },\n {\n \"url\": \"img/icons/favicon-16x16.png\",\n \"revision\": \"41d99be50dd392fad9006515d9b7f6df\"\n },\n {\n \"url\": \"img/icons/favicon-32x32.png\",\n \"revision\": \"156b617fe38e22401aebefd8eb299a06\"\n },\n {\n \"url\": \"img/icons/mstile-150x150.png\",\n \"revision\": \"8b7f980b55adac4cf86218daf19e82b0\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"09b67fc9033e4932bbfc7502a69c3835\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"cac8b75e6ac4b8b581c5a4640bc28043\"\n },\n {\n \"url\": \"img/icons/android-chrome-192x192.png\",\n \"revision\": \"38ce90998cf9b499d77e3691774f23fc\"\n },\n {\n \"url\": \"img/icons/android-chrome-512x512.png\",\n \"revision\": \"f99d40c974ec054110b63ad595d23999\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"e455911964ff8360dbb4af969e40c7f8\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"index.html\")));\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches","workbox","registerRoute","workbox_routing_NavigationRoute","NavigationRoute","workbox_precaching_createHandlerBoundToURL"],"mappings":"0nBAuBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,kEACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,wBACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,wBACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,sCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA,wBAC6BC,EAAAC,cAAC,IAAIC,EAA+BC,gBAACC,0BAA2C"} \ No newline at end of file diff --git a/sw.js b/sw.js index 0c800eb..01140c0 100644 --- a/sw.js +++ b/sw.js @@ -1,2 +1,2 @@ -if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,o)=>{const r=e||("document"in self?document.currentScript.src:"")||location.href;if(s[r])return;let c={};const l=e=>i(e,r),d={module:{uri:r},exports:c,require:l};s[r]=Promise.all(n.map((e=>d[e]||l(e)))).then((e=>(o(...e),c)))}}define(["./workbox-cbf83eee"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"404.html",revision:"53f3976d6ed6ef7060481877fda75885"},{url:"assets/About-CL7R6oQV.js",revision:null},{url:"assets/Changelog-CpiSnnLL.js",revision:null},{url:"assets/Contact-BmppTCHn.js",revision:null},{url:"assets/de-B-BehOFm.js",revision:null},{url:"assets/en-Cngb1GR8.js",revision:null},{url:"assets/Home-9BF4fQiD.js",revision:null},{url:"assets/Home-KcWzUXV1.css",revision:null},{url:"assets/index-C5qMMmKR.js",revision:null},{url:"assets/index-HVXrmBud.css",revision:null},{url:"assets/logo-CDP0Em2s.png",revision:null},{url:"assets/logo-DBgTG2k7.js",revision:null},{url:"assets/NotFound-D2RZ3ij1.js",revision:null},{url:"assets/Settings-ogcWmvv1.js",revision:null},{url:"assets/SettingsContainer-vLkCKPKC.js",revision:null},{url:"assets/workbox-window.prod.es5-D5gOYdM7.js",revision:null},{url:"icons/stop-bike-selected.png",revision:"c1af5ed8a5bc34f5a4f1529b24826c37"},{url:"icons/stop-bike.png",revision:"02c530974dccdef6e4a432626b9c60f6"},{url:"icons/stop-bus-selected.png",revision:"f4b3741a96d4cff1767583c8beaf4c42"},{url:"icons/stop-bus.png",revision:"9d273453641c3614f8a5a22a11f61096"},{url:"icons/stop-ferry-selected.png",revision:"b4534f5a0bd7032921737c59bd780c98"},{url:"icons/stop-ferry.png",revision:"87632e69a7c568334516dcc28d45e652"},{url:"icons/stop-train-selected.png",revision:"36e661d463609393c814bea06edc296a"},{url:"icons/stop-train.png",revision:"79297c6cf434c714d843934dd1acce2e"},{url:"icons/stop-tram-selected.png",revision:"fd940f3221858f9671e7d4b518b47f5c"},{url:"icons/stop-tram.png",revision:"71bd6b75e49a079fb1824351e2033cef"},{url:"icons/vehicle-escooter-selected.png",revision:"2715ddf8343a33a39d8285b402c275fb"},{url:"icons/vehicle-escooter.png",revision:"14a4056c515b59b1240a68b8656c92ab"},{url:"img/icons/android-chrome-192x192.png",revision:"38ce90998cf9b499d77e3691774f23fc"},{url:"img/icons/android-chrome-512x512.png",revision:"f99d40c974ec054110b63ad595d23999"},{url:"img/icons/apple-touch-icon.png",revision:"c8cce5d4630b844ffda534cc0a4501ee"},{url:"img/icons/favicon-16x16.png",revision:"41d99be50dd392fad9006515d9b7f6df"},{url:"img/icons/favicon-32x32.png",revision:"156b617fe38e22401aebefd8eb299a06"},{url:"img/icons/mstile-150x150.png",revision:"8b7f980b55adac4cf86218daf19e82b0"},{url:"index.html",revision:"ccfbf7bb704f9f3c1e82e5f3f39ade8c"},{url:"favicon.ico",revision:"cac8b75e6ac4b8b581c5a4640bc28043"},{url:"./img/icons/android-chrome-192x192.png",revision:"38ce90998cf9b499d77e3691774f23fc"},{url:"img/icons/android-chrome-512x512.png",revision:"f99d40c974ec054110b63ad595d23999"},{url:"manifest.webmanifest",revision:"e455911964ff8360dbb4af969e40c7f8"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))})); +if(!self.define){let e,s={};const i=(i,n)=>(i=new URL(i+".js",n).href,s[i]||new Promise((s=>{if("document"in self){const e=document.createElement("script");e.src=i,e.onload=s,document.head.appendChild(e)}else e=i,importScripts(i),s()})).then((()=>{let e=s[i];if(!e)throw new Error(`Module ${i} didn’t register its module`);return e})));self.define=(n,r)=>{const o=e||("document"in self?document.currentScript.src:"")||location.href;if(s[o])return;let l={};const c=e=>i(e,o),u={module:{uri:o},exports:l,require:c};s[o]=Promise.all(n.map((e=>u[e]||c(e)))).then((e=>(r(...e),l)))}}define(["./workbox-4723e66c"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"404.html",revision:"53f3976d6ed6ef7060481877fda75885"},{url:"assets/About-DBQpOReH.js",revision:null},{url:"assets/Changelog-bM6ddPWi.js",revision:null},{url:"assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js",revision:null},{url:"assets/Contact-4hCDClDF.js",revision:null},{url:"assets/de-fj2SYzel.js",revision:null},{url:"assets/Development-B5zGRVOi.js",revision:null},{url:"assets/en-B7kxybUu.js",revision:null},{url:"assets/Home-NgBe9E8J.js",revision:null},{url:"assets/Home-rl_0yGek.css",revision:null},{url:"assets/index-DUCv0PxY.css",revision:null},{url:"assets/index-KiWmxDDy.js",revision:null},{url:"assets/logo-CDP0Em2s.png",revision:null},{url:"assets/logo-DBgTG2k7.js",revision:null},{url:"assets/NotFound-Dn0X_rhl.js",revision:null},{url:"assets/Settings-DRSySDza.js",revision:null},{url:"assets/SettingsContainer-B74Cj-qJ.js",revision:null},{url:"assets/useFeatureFlags-A7w9DXu8.js",revision:null},{url:"assets/useTrack-DmYPFwPy.js",revision:null},{url:"assets/workbox-window.prod.es5-B9K5rw8f.js",revision:null},{url:"icons/stop-bike-selected.png",revision:"c1af5ed8a5bc34f5a4f1529b24826c37"},{url:"icons/stop-bike.png",revision:"02c530974dccdef6e4a432626b9c60f6"},{url:"icons/stop-bus-selected.png",revision:"f4b3741a96d4cff1767583c8beaf4c42"},{url:"icons/stop-bus.png",revision:"9d273453641c3614f8a5a22a11f61096"},{url:"icons/stop-ferry-selected.png",revision:"b4534f5a0bd7032921737c59bd780c98"},{url:"icons/stop-ferry.png",revision:"87632e69a7c568334516dcc28d45e652"},{url:"icons/stop-train-selected.png",revision:"36e661d463609393c814bea06edc296a"},{url:"icons/stop-train.png",revision:"79297c6cf434c714d843934dd1acce2e"},{url:"icons/stop-tram-selected.png",revision:"fd940f3221858f9671e7d4b518b47f5c"},{url:"icons/stop-tram.png",revision:"71bd6b75e49a079fb1824351e2033cef"},{url:"icons/vehicle-escooter-selected.png",revision:"2715ddf8343a33a39d8285b402c275fb"},{url:"icons/vehicle-escooter.png",revision:"14a4056c515b59b1240a68b8656c92ab"},{url:"img/icons/android-chrome-192x192.png",revision:"38ce90998cf9b499d77e3691774f23fc"},{url:"img/icons/android-chrome-512x512.png",revision:"f99d40c974ec054110b63ad595d23999"},{url:"img/icons/apple-touch-icon.png",revision:"c8cce5d4630b844ffda534cc0a4501ee"},{url:"img/icons/favicon-16x16.png",revision:"41d99be50dd392fad9006515d9b7f6df"},{url:"img/icons/favicon-32x32.png",revision:"156b617fe38e22401aebefd8eb299a06"},{url:"img/icons/mstile-150x150.png",revision:"8b7f980b55adac4cf86218daf19e82b0"},{url:"index.html",revision:"09b67fc9033e4932bbfc7502a69c3835"},{url:"favicon.ico",revision:"cac8b75e6ac4b8b581c5a4640bc28043"},{url:"img/icons/android-chrome-192x192.png",revision:"38ce90998cf9b499d77e3691774f23fc"},{url:"img/icons/android-chrome-512x512.png",revision:"f99d40c974ec054110b63ad595d23999"},{url:"manifest.webmanifest",revision:"e455911964ff8360dbb4af969e40c7f8"}],{}),e.cleanupOutdatedCaches(),e.registerRoute(new e.NavigationRoute(e.createHandlerBoundToURL("index.html")))})); //# sourceMappingURL=sw.js.map diff --git a/sw.js.map b/sw.js.map index 94b279d..848c775 100644 --- a/sw.js.map +++ b/sw.js.map @@ -1 +1 @@ -{"version":3,"file":"sw.js","sources":["../../../../../../tmp/d2c573eaf93c70752c8be6b301adfbb8/sw.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';\nimport {registerRoute as workbox_routing_registerRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/registerRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"404.html\",\n \"revision\": \"53f3976d6ed6ef7060481877fda75885\"\n },\n {\n \"url\": \"assets/About-CL7R6oQV.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Changelog-CpiSnnLL.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Contact-BmppTCHn.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/de-B-BehOFm.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/en-Cngb1GR8.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Home-9BF4fQiD.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Home-KcWzUXV1.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-C5qMMmKR.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-HVXrmBud.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/logo-CDP0Em2s.png\",\n \"revision\": null\n },\n {\n \"url\": \"assets/logo-DBgTG2k7.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/NotFound-D2RZ3ij1.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Settings-ogcWmvv1.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/SettingsContainer-vLkCKPKC.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/workbox-window.prod.es5-D5gOYdM7.js\",\n \"revision\": null\n },\n {\n \"url\": \"icons/stop-bike-selected.png\",\n \"revision\": \"c1af5ed8a5bc34f5a4f1529b24826c37\"\n },\n {\n \"url\": \"icons/stop-bike.png\",\n \"revision\": \"02c530974dccdef6e4a432626b9c60f6\"\n },\n {\n \"url\": \"icons/stop-bus-selected.png\",\n \"revision\": \"f4b3741a96d4cff1767583c8beaf4c42\"\n },\n {\n \"url\": \"icons/stop-bus.png\",\n \"revision\": \"9d273453641c3614f8a5a22a11f61096\"\n },\n {\n \"url\": \"icons/stop-ferry-selected.png\",\n \"revision\": \"b4534f5a0bd7032921737c59bd780c98\"\n },\n {\n \"url\": \"icons/stop-ferry.png\",\n \"revision\": \"87632e69a7c568334516dcc28d45e652\"\n },\n {\n \"url\": \"icons/stop-train-selected.png\",\n \"revision\": \"36e661d463609393c814bea06edc296a\"\n },\n {\n \"url\": \"icons/stop-train.png\",\n \"revision\": \"79297c6cf434c714d843934dd1acce2e\"\n },\n {\n \"url\": \"icons/stop-tram-selected.png\",\n \"revision\": \"fd940f3221858f9671e7d4b518b47f5c\"\n },\n {\n \"url\": \"icons/stop-tram.png\",\n \"revision\": \"71bd6b75e49a079fb1824351e2033cef\"\n },\n {\n \"url\": \"icons/vehicle-escooter-selected.png\",\n \"revision\": \"2715ddf8343a33a39d8285b402c275fb\"\n },\n {\n \"url\": \"icons/vehicle-escooter.png\",\n \"revision\": \"14a4056c515b59b1240a68b8656c92ab\"\n },\n {\n \"url\": \"img/icons/android-chrome-192x192.png\",\n \"revision\": \"38ce90998cf9b499d77e3691774f23fc\"\n },\n {\n \"url\": \"img/icons/android-chrome-512x512.png\",\n \"revision\": \"f99d40c974ec054110b63ad595d23999\"\n },\n {\n \"url\": \"img/icons/apple-touch-icon.png\",\n \"revision\": \"c8cce5d4630b844ffda534cc0a4501ee\"\n },\n {\n \"url\": \"img/icons/favicon-16x16.png\",\n \"revision\": \"41d99be50dd392fad9006515d9b7f6df\"\n },\n {\n \"url\": \"img/icons/favicon-32x32.png\",\n \"revision\": \"156b617fe38e22401aebefd8eb299a06\"\n },\n {\n \"url\": \"img/icons/mstile-150x150.png\",\n \"revision\": \"8b7f980b55adac4cf86218daf19e82b0\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"ccfbf7bb704f9f3c1e82e5f3f39ade8c\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"cac8b75e6ac4b8b581c5a4640bc28043\"\n },\n {\n \"url\": \"./img/icons/android-chrome-192x192.png\",\n \"revision\": \"38ce90998cf9b499d77e3691774f23fc\"\n },\n {\n \"url\": \"img/icons/android-chrome-512x512.png\",\n \"revision\": \"f99d40c974ec054110b63ad595d23999\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"e455911964ff8360dbb4af969e40c7f8\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"index.html\")));\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches","workbox","registerRoute","workbox_routing_NavigationRoute","NavigationRoute","workbox_precaching_createHandlerBoundToURL"],"mappings":"0nBAuBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,wBACPC,SAAY,MAEd,CACED,IAAO,wBACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,sCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,yCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA,wBAC6BC,EAAAC,cAAC,IAAIC,EAA+BC,gBAACC,0BAA2C"} \ No newline at end of file +{"version":3,"file":"sw.js","sources":["../../../../../../tmp/6f24bf9f05cafdc0aa23a1857fbb50e8/sw.js"],"sourcesContent":["import {precacheAndRoute as workbox_precaching_precacheAndRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precacheAndRoute.mjs';\nimport {cleanupOutdatedCaches as workbox_precaching_cleanupOutdatedCaches} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/cleanupOutdatedCaches.mjs';\nimport {registerRoute as workbox_routing_registerRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/registerRoute.mjs';\nimport {NavigationRoute as workbox_routing_NavigationRoute} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/NavigationRoute.mjs';\nimport {createHandlerBoundToURL as workbox_precaching_createHandlerBoundToURL} from '/home/runner/work/kiel-live/kiel-live/app/node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/createHandlerBoundToURL.mjs';/**\n * Welcome to your Workbox-powered service worker!\n *\n * You'll need to register this file in your web app.\n * See https://goo.gl/nhQhGp\n *\n * The rest of the code is auto-generated. Please don't update this file\n * directly; instead, make changes to your Workbox build configuration\n * and re-run your build process.\n * See https://goo.gl/2aRDsh\n */\n\n\n\n\n\n\n\n\nself.addEventListener('message', (event) => {\n if (event.data && event.data.type === 'SKIP_WAITING') {\n self.skipWaiting();\n }\n});\n\n\n\n\n/**\n * The precacheAndRoute() method efficiently caches and responds to\n * requests for URLs in the manifest.\n * See https://goo.gl/S9QRab\n */\nworkbox_precaching_precacheAndRoute([\n {\n \"url\": \"404.html\",\n \"revision\": \"53f3976d6ed6ef7060481877fda75885\"\n },\n {\n \"url\": \"assets/About-DBQpOReH.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Changelog-bM6ddPWi.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Checkbox.vue_vue_type_script_setup_true_lang-DK7r8bPf.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Contact-4hCDClDF.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/de-fj2SYzel.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Development-B5zGRVOi.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/en-B7kxybUu.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Home-NgBe9E8J.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Home-rl_0yGek.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-DUCv0PxY.css\",\n \"revision\": null\n },\n {\n \"url\": \"assets/index-KiWmxDDy.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/logo-CDP0Em2s.png\",\n \"revision\": null\n },\n {\n \"url\": \"assets/logo-DBgTG2k7.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/NotFound-Dn0X_rhl.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/Settings-DRSySDza.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/SettingsContainer-B74Cj-qJ.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/useFeatureFlags-A7w9DXu8.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/useTrack-DmYPFwPy.js\",\n \"revision\": null\n },\n {\n \"url\": \"assets/workbox-window.prod.es5-B9K5rw8f.js\",\n \"revision\": null\n },\n {\n \"url\": \"icons/stop-bike-selected.png\",\n \"revision\": \"c1af5ed8a5bc34f5a4f1529b24826c37\"\n },\n {\n \"url\": \"icons/stop-bike.png\",\n \"revision\": \"02c530974dccdef6e4a432626b9c60f6\"\n },\n {\n \"url\": \"icons/stop-bus-selected.png\",\n \"revision\": \"f4b3741a96d4cff1767583c8beaf4c42\"\n },\n {\n \"url\": \"icons/stop-bus.png\",\n \"revision\": \"9d273453641c3614f8a5a22a11f61096\"\n },\n {\n \"url\": \"icons/stop-ferry-selected.png\",\n \"revision\": \"b4534f5a0bd7032921737c59bd780c98\"\n },\n {\n \"url\": \"icons/stop-ferry.png\",\n \"revision\": \"87632e69a7c568334516dcc28d45e652\"\n },\n {\n \"url\": \"icons/stop-train-selected.png\",\n \"revision\": \"36e661d463609393c814bea06edc296a\"\n },\n {\n \"url\": \"icons/stop-train.png\",\n \"revision\": \"79297c6cf434c714d843934dd1acce2e\"\n },\n {\n \"url\": \"icons/stop-tram-selected.png\",\n \"revision\": \"fd940f3221858f9671e7d4b518b47f5c\"\n },\n {\n \"url\": \"icons/stop-tram.png\",\n \"revision\": \"71bd6b75e49a079fb1824351e2033cef\"\n },\n {\n \"url\": \"icons/vehicle-escooter-selected.png\",\n \"revision\": \"2715ddf8343a33a39d8285b402c275fb\"\n },\n {\n \"url\": \"icons/vehicle-escooter.png\",\n \"revision\": \"14a4056c515b59b1240a68b8656c92ab\"\n },\n {\n \"url\": \"img/icons/android-chrome-192x192.png\",\n \"revision\": \"38ce90998cf9b499d77e3691774f23fc\"\n },\n {\n \"url\": \"img/icons/android-chrome-512x512.png\",\n \"revision\": \"f99d40c974ec054110b63ad595d23999\"\n },\n {\n \"url\": \"img/icons/apple-touch-icon.png\",\n \"revision\": \"c8cce5d4630b844ffda534cc0a4501ee\"\n },\n {\n \"url\": \"img/icons/favicon-16x16.png\",\n \"revision\": \"41d99be50dd392fad9006515d9b7f6df\"\n },\n {\n \"url\": \"img/icons/favicon-32x32.png\",\n \"revision\": \"156b617fe38e22401aebefd8eb299a06\"\n },\n {\n \"url\": \"img/icons/mstile-150x150.png\",\n \"revision\": \"8b7f980b55adac4cf86218daf19e82b0\"\n },\n {\n \"url\": \"index.html\",\n \"revision\": \"09b67fc9033e4932bbfc7502a69c3835\"\n },\n {\n \"url\": \"favicon.ico\",\n \"revision\": \"cac8b75e6ac4b8b581c5a4640bc28043\"\n },\n {\n \"url\": \"img/icons/android-chrome-192x192.png\",\n \"revision\": \"38ce90998cf9b499d77e3691774f23fc\"\n },\n {\n \"url\": \"img/icons/android-chrome-512x512.png\",\n \"revision\": \"f99d40c974ec054110b63ad595d23999\"\n },\n {\n \"url\": \"manifest.webmanifest\",\n \"revision\": \"e455911964ff8360dbb4af969e40c7f8\"\n }\n], {});\nworkbox_precaching_cleanupOutdatedCaches();\nworkbox_routing_registerRoute(new workbox_routing_NavigationRoute(workbox_precaching_createHandlerBoundToURL(\"index.html\")));\n\n\n\n\n\n\n"],"names":["self","addEventListener","event","data","type","skipWaiting","workbox_precaching_precacheAndRoute","url","revision","workbox_precaching_cleanupOutdatedCaches","workbox","registerRoute","workbox_routing_NavigationRoute","NavigationRoute","workbox_precaching_createHandlerBoundToURL"],"mappings":"0nBAuBAA,KAAKC,iBAAiB,WAAYC,IAC5BA,EAAMC,MAA4B,iBAApBD,EAAMC,KAAKC,MAC3BJ,KAAKK,aACP,IAWFC,EAAAA,iBAAoC,CAClC,CACEC,IAAO,WACPC,SAAY,oCAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,MAEd,CACED,IAAO,kEACPC,SAAY,MAEd,CACED,IAAO,6BACPC,SAAY,MAEd,CACED,IAAO,wBACPC,SAAY,MAEd,CACED,IAAO,iCACPC,SAAY,MAEd,CACED,IAAO,wBACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,4BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,2BACPC,SAAY,MAEd,CACED,IAAO,0BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,uCACPC,SAAY,MAEd,CACED,IAAO,qCACPC,SAAY,MAEd,CACED,IAAO,8BACPC,SAAY,MAEd,CACED,IAAO,6CACPC,SAAY,MAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,qBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,gCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,sBACPC,SAAY,oCAEd,CACED,IAAO,sCACPC,SAAY,oCAEd,CACED,IAAO,6BACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,iCACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,8BACPC,SAAY,oCAEd,CACED,IAAO,+BACPC,SAAY,oCAEd,CACED,IAAO,aACPC,SAAY,oCAEd,CACED,IAAO,cACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uCACPC,SAAY,oCAEd,CACED,IAAO,uBACPC,SAAY,qCAEb,CAAE,GACLC,EAAAA,wBAC6BC,EAAAC,cAAC,IAAIC,EAA+BC,gBAACC,0BAA2C"} \ No newline at end of file diff --git a/workbox-cbf83eee.js b/workbox-4723e66c.js similarity index 97% rename from workbox-cbf83eee.js rename to workbox-4723e66c.js index 3b81780..25c44eb 100644 --- a/workbox-cbf83eee.js +++ b/workbox-4723e66c.js @@ -1,2 +1,2 @@ -define(["exports"],(function(t){"use strict";try{self["workbox:core:7.0.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.0.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);function h(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}return a().registerRoute(o),o}const u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},l=t=>[u.prefix,t,u.suffix].filter((t=>t&&t.length>0)).join("-"),f=t=>t||l(u.precache),w=t=>t||l(u.runtime);function d(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.0.0"]&&_()}catch(t){}function p(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class y{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class g{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let R;async function m(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===R){const t=new Response("");if("body"in t)try{new Response(t.body),R=!0}catch(t){R=!1}R=!1}return R}()?i.body:await i.blob();return new Response(c,o)}function v(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class q{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const U=new Set;try{self["workbox:strategies:7.0.0"]&&_()}catch(t){}function L(t){return"string"==typeof t?new Request(t):t}class b{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new q,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=L(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=L(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=L(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=v(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===v(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of U)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=L(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class C{constructor(t={}){this.cacheName=w(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new b(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class E extends C{constructor(t={}){t.cacheName=f(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(E.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==E.copyRedirectedCacheableResponsesPlugin&&(n===E.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(E.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}E.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},E.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await m(t):t};class O{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.P=new Map,this.T=new Map,this.l=new E({cacheName:f(t),plugins:[...e,new g({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.W||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.W=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=p(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.T.has(t)&&this.T.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.T.set(t,n.integrity)}if(this.K.set(i,t),this.P.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return d(t,(async()=>{const e=new y;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.T.get(s),i=this.P.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return d(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.T.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let x;const N=()=>(x||(x=new O),x);class k extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}t.NavigationRoute=class extends i{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super((t=>this.j(t)),t),this.M=e,this.S=s}j({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.S)if(t.test(s))return!1;return!!this.M.some((t=>t.test(s)))}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=f();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.createHandlerBoundToURL=function(t){return N().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){N().precache(t)}(t),function(t){const e=N();h(new k(e,t))}(e)},t.registerRoute=h})); -//# sourceMappingURL=workbox-cbf83eee.js.map +define(["exports"],(function(t){"use strict";try{self["workbox:core:7.2.0"]&&_()}catch(t){}const e=(t,...e)=>{let s=t;return e.length>0&&(s+=` :: ${JSON.stringify(e)}`),s};class s extends Error{constructor(t,s){super(e(t,s)),this.name=t,this.details=s}}try{self["workbox:routing:7.2.0"]&&_()}catch(t){}const n=t=>t&&"object"==typeof t?t:{handle:t};class i{constructor(t,e,s="GET"){this.handler=n(e),this.match=t,this.method=s}setCatchHandler(t){this.catchHandler=n(t)}}class r extends i{constructor(t,e,s){super((({url:e})=>{const s=t.exec(e.href);if(s&&(e.origin===location.origin||0===s.index))return s.slice(1)}),e,s)}}class o{constructor(){this.t=new Map,this.i=new Map}get routes(){return this.t}addFetchListener(){self.addEventListener("fetch",(t=>{const{request:e}=t,s=this.handleRequest({request:e,event:t});s&&t.respondWith(s)}))}addCacheListener(){self.addEventListener("message",(t=>{if(t.data&&"CACHE_URLS"===t.data.type){const{payload:e}=t.data,s=Promise.all(e.urlsToCache.map((e=>{"string"==typeof e&&(e=[e]);const s=new Request(...e);return this.handleRequest({request:s,event:t})})));t.waitUntil(s),t.ports&&t.ports[0]&&s.then((()=>t.ports[0].postMessage(!0)))}}))}handleRequest({request:t,event:e}){const s=new URL(t.url,location.href);if(!s.protocol.startsWith("http"))return;const n=s.origin===location.origin,{params:i,route:r}=this.findMatchingRoute({event:e,request:t,sameOrigin:n,url:s});let o=r&&r.handler;const c=t.method;if(!o&&this.i.has(c)&&(o=this.i.get(c)),!o)return;let a;try{a=o.handle({url:s,request:t,event:e,params:i})}catch(t){a=Promise.reject(t)}const h=r&&r.catchHandler;return a instanceof Promise&&(this.o||h)&&(a=a.catch((async n=>{if(h)try{return await h.handle({url:s,request:t,event:e,params:i})}catch(t){t instanceof Error&&(n=t)}if(this.o)return this.o.handle({url:s,request:t,event:e});throw n}))),a}findMatchingRoute({url:t,sameOrigin:e,request:s,event:n}){const i=this.t.get(s.method)||[];for(const r of i){let i;const o=r.match({url:t,sameOrigin:e,request:s,event:n});if(o)return i=o,(Array.isArray(i)&&0===i.length||o.constructor===Object&&0===Object.keys(o).length||"boolean"==typeof o)&&(i=void 0),{route:r,params:i}}return{}}setDefaultHandler(t,e="GET"){this.i.set(e,n(t))}setCatchHandler(t){this.o=n(t)}registerRoute(t){this.t.has(t.method)||this.t.set(t.method,[]),this.t.get(t.method).push(t)}unregisterRoute(t){if(!this.t.has(t.method))throw new s("unregister-route-but-not-found-with-method",{method:t.method});const e=this.t.get(t.method).indexOf(t);if(!(e>-1))throw new s("unregister-route-route-not-registered");this.t.get(t.method).splice(e,1)}}let c;const a=()=>(c||(c=new o,c.addFetchListener(),c.addCacheListener()),c);function h(t,e,n){let o;if("string"==typeof t){const s=new URL(t,location.href);o=new i((({url:t})=>t.href===s.href),e,n)}else if(t instanceof RegExp)o=new r(t,e,n);else if("function"==typeof t)o=new i(t,e,n);else{if(!(t instanceof i))throw new s("unsupported-route-type",{moduleName:"workbox-routing",funcName:"registerRoute",paramName:"capture"});o=t}return a().registerRoute(o),o}const u={googleAnalytics:"googleAnalytics",precache:"precache-v2",prefix:"workbox",runtime:"runtime",suffix:"undefined"!=typeof registration?registration.scope:""},l=t=>[u.prefix,t,u.suffix].filter((t=>t&&t.length>0)).join("-"),f=t=>t||l(u.precache),w=t=>t||l(u.runtime);function d(t,e){const s=e();return t.waitUntil(s),s}try{self["workbox:precaching:7.2.0"]&&_()}catch(t){}function p(t){if(!t)throw new s("add-to-cache-list-unexpected-type",{entry:t});if("string"==typeof t){const e=new URL(t,location.href);return{cacheKey:e.href,url:e.href}}const{revision:e,url:n}=t;if(!n)throw new s("add-to-cache-list-unexpected-type",{entry:t});if(!e){const t=new URL(n,location.href);return{cacheKey:t.href,url:t.href}}const i=new URL(n,location.href),r=new URL(n,location.href);return i.searchParams.set("__WB_REVISION__",e),{cacheKey:i.href,url:r.href}}class y{constructor(){this.updatedURLs=[],this.notUpdatedURLs=[],this.handlerWillStart=async({request:t,state:e})=>{e&&(e.originalRequest=t)},this.cachedResponseWillBeUsed=async({event:t,state:e,cachedResponse:s})=>{if("install"===t.type&&e&&e.originalRequest&&e.originalRequest instanceof Request){const t=e.originalRequest.url;s?this.notUpdatedURLs.push(t):this.updatedURLs.push(t)}return s}}}class g{constructor({precacheController:t}){this.cacheKeyWillBeUsed=async({request:t,params:e})=>{const s=(null==e?void 0:e.cacheKey)||this.h.getCacheKeyForURL(t.url);return s?new Request(s,{headers:t.headers}):t},this.h=t}}let R;async function m(t,e){let n=null;if(t.url){n=new URL(t.url).origin}if(n!==self.location.origin)throw new s("cross-origin-copy-response",{origin:n});const i=t.clone(),r={headers:new Headers(i.headers),status:i.status,statusText:i.statusText},o=e?e(r):r,c=function(){if(void 0===R){const t=new Response("");if("body"in t)try{new Response(t.body),R=!0}catch(t){R=!1}R=!1}return R}()?i.body:await i.blob();return new Response(c,o)}function v(t,e){const s=new URL(t);for(const t of e)s.searchParams.delete(t);return s.href}class q{constructor(){this.promise=new Promise(((t,e)=>{this.resolve=t,this.reject=e}))}}const U=new Set;try{self["workbox:strategies:7.2.0"]&&_()}catch(t){}function L(t){return"string"==typeof t?new Request(t):t}class b{constructor(t,e){this.u={},Object.assign(this,e),this.event=e.event,this.l=t,this.p=new q,this.R=[],this.m=[...t.plugins],this.v=new Map;for(const t of this.m)this.v.set(t,{});this.event.waitUntil(this.p.promise)}async fetch(t){const{event:e}=this;let n=L(t);if("navigate"===n.mode&&e instanceof FetchEvent&&e.preloadResponse){const t=await e.preloadResponse;if(t)return t}const i=this.hasCallback("fetchDidFail")?n.clone():null;try{for(const t of this.iterateCallbacks("requestWillFetch"))n=await t({request:n.clone(),event:e})}catch(t){if(t instanceof Error)throw new s("plugin-error-request-will-fetch",{thrownErrorMessage:t.message})}const r=n.clone();try{let t;t=await fetch(n,"navigate"===n.mode?void 0:this.l.fetchOptions);for(const s of this.iterateCallbacks("fetchDidSucceed"))t=await s({event:e,request:r,response:t});return t}catch(t){throw i&&await this.runCallbacks("fetchDidFail",{error:t,event:e,originalRequest:i.clone(),request:r.clone()}),t}}async fetchAndCachePut(t){const e=await this.fetch(t),s=e.clone();return this.waitUntil(this.cachePut(t,s)),e}async cacheMatch(t){const e=L(t);let s;const{cacheName:n,matchOptions:i}=this.l,r=await this.getCacheKey(e,"read"),o=Object.assign(Object.assign({},i),{cacheName:n});s=await caches.match(r,o);for(const t of this.iterateCallbacks("cachedResponseWillBeUsed"))s=await t({cacheName:n,matchOptions:i,cachedResponse:s,request:r,event:this.event})||void 0;return s}async cachePut(t,e){const n=L(t);var i;await(i=0,new Promise((t=>setTimeout(t,i))));const r=await this.getCacheKey(n,"write");if(!e)throw new s("cache-put-with-no-response",{url:(o=r.url,new URL(String(o),location.href).href.replace(new RegExp(`^${location.origin}`),""))});var o;const c=await this.q(e);if(!c)return!1;const{cacheName:a,matchOptions:h}=this.l,u=await self.caches.open(a),l=this.hasCallback("cacheDidUpdate"),f=l?await async function(t,e,s,n){const i=v(e.url,s);if(e.url===i)return t.match(e,n);const r=Object.assign(Object.assign({},n),{ignoreSearch:!0}),o=await t.keys(e,r);for(const e of o)if(i===v(e.url,s))return t.match(e,n)}(u,r.clone(),["__WB_REVISION__"],h):null;try{await u.put(r,l?c.clone():c)}catch(t){if(t instanceof Error)throw"QuotaExceededError"===t.name&&await async function(){for(const t of U)await t()}(),t}for(const t of this.iterateCallbacks("cacheDidUpdate"))await t({cacheName:a,oldResponse:f,newResponse:c.clone(),request:r,event:this.event});return!0}async getCacheKey(t,e){const s=`${t.url} | ${e}`;if(!this.u[s]){let n=t;for(const t of this.iterateCallbacks("cacheKeyWillBeUsed"))n=L(await t({mode:e,request:n,event:this.event,params:this.params}));this.u[s]=n}return this.u[s]}hasCallback(t){for(const e of this.l.plugins)if(t in e)return!0;return!1}async runCallbacks(t,e){for(const s of this.iterateCallbacks(t))await s(e)}*iterateCallbacks(t){for(const e of this.l.plugins)if("function"==typeof e[t]){const s=this.v.get(e),n=n=>{const i=Object.assign(Object.assign({},n),{state:s});return e[t](i)};yield n}}waitUntil(t){return this.R.push(t),t}async doneWaiting(){let t;for(;t=this.R.shift();)await t}destroy(){this.p.resolve(null)}async q(t){let e=t,s=!1;for(const t of this.iterateCallbacks("cacheWillUpdate"))if(e=await t({request:this.request,response:e,event:this.event})||void 0,s=!0,!e)break;return s||e&&200!==e.status&&(e=void 0),e}}class C{constructor(t={}){this.cacheName=w(t.cacheName),this.plugins=t.plugins||[],this.fetchOptions=t.fetchOptions,this.matchOptions=t.matchOptions}handle(t){const[e]=this.handleAll(t);return e}handleAll(t){t instanceof FetchEvent&&(t={event:t,request:t.request});const e=t.event,s="string"==typeof t.request?new Request(t.request):t.request,n="params"in t?t.params:void 0,i=new b(this,{event:e,request:s,params:n}),r=this.U(i,s,e);return[r,this.L(r,i,s,e)]}async U(t,e,n){let i;await t.runCallbacks("handlerWillStart",{event:n,request:e});try{if(i=await this._(e,t),!i||"error"===i.type)throw new s("no-response",{url:e.url})}catch(s){if(s instanceof Error)for(const r of t.iterateCallbacks("handlerDidError"))if(i=await r({error:s,event:n,request:e}),i)break;if(!i)throw s}for(const s of t.iterateCallbacks("handlerWillRespond"))i=await s({event:n,request:e,response:i});return i}async L(t,e,s,n){let i,r;try{i=await t}catch(r){}try{await e.runCallbacks("handlerDidRespond",{event:n,request:s,response:i}),await e.doneWaiting()}catch(t){t instanceof Error&&(r=t)}if(await e.runCallbacks("handlerDidComplete",{event:n,request:s,response:i,error:r}),e.destroy(),r)throw r}}class E extends C{constructor(t={}){t.cacheName=f(t.cacheName),super(t),this.C=!1!==t.fallbackToNetwork,this.plugins.push(E.copyRedirectedCacheableResponsesPlugin)}async _(t,e){const s=await e.cacheMatch(t);return s||(e.event&&"install"===e.event.type?await this.O(t,e):await this.N(t,e))}async N(t,e){let n;const i=e.params||{};if(!this.C)throw new s("missing-precache-entry",{cacheName:this.cacheName,url:t.url});{const s=i.integrity,r=t.integrity,o=!r||r===s;n=await e.fetch(new Request(t,{integrity:"no-cors"!==t.mode?r||s:void 0})),s&&o&&"no-cors"!==t.mode&&(this.k(),await e.cachePut(t,n.clone()))}return n}async O(t,e){this.k();const n=await e.fetch(t);if(!await e.cachePut(t,n.clone()))throw new s("bad-precaching-response",{url:t.url,status:n.status});return n}k(){let t=null,e=0;for(const[s,n]of this.plugins.entries())n!==E.copyRedirectedCacheableResponsesPlugin&&(n===E.defaultPrecacheCacheabilityPlugin&&(t=s),n.cacheWillUpdate&&e++);0===e?this.plugins.push(E.defaultPrecacheCacheabilityPlugin):e>1&&null!==t&&this.plugins.splice(t,1)}}E.defaultPrecacheCacheabilityPlugin={cacheWillUpdate:async({response:t})=>!t||t.status>=400?null:t},E.copyRedirectedCacheableResponsesPlugin={cacheWillUpdate:async({response:t})=>t.redirected?await m(t):t};class O{constructor({cacheName:t,plugins:e=[],fallbackToNetwork:s=!0}={}){this.K=new Map,this.P=new Map,this.T=new Map,this.l=new E({cacheName:f(t),plugins:[...e,new g({precacheController:this})],fallbackToNetwork:s}),this.install=this.install.bind(this),this.activate=this.activate.bind(this)}get strategy(){return this.l}precache(t){this.addToCacheList(t),this.W||(self.addEventListener("install",this.install),self.addEventListener("activate",this.activate),this.W=!0)}addToCacheList(t){const e=[];for(const n of t){"string"==typeof n?e.push(n):n&&void 0===n.revision&&e.push(n.url);const{cacheKey:t,url:i}=p(n),r="string"!=typeof n&&n.revision?"reload":"default";if(this.K.has(i)&&this.K.get(i)!==t)throw new s("add-to-cache-list-conflicting-entries",{firstEntry:this.K.get(i),secondEntry:t});if("string"!=typeof n&&n.integrity){if(this.T.has(t)&&this.T.get(t)!==n.integrity)throw new s("add-to-cache-list-conflicting-integrities",{url:i});this.T.set(t,n.integrity)}if(this.K.set(i,t),this.P.set(i,r),e.length>0){const t=`Workbox is precaching URLs without revision info: ${e.join(", ")}\nThis is generally NOT safe. Learn more at https://bit.ly/wb-precache`;console.warn(t)}}}install(t){return d(t,(async()=>{const e=new y;this.strategy.plugins.push(e);for(const[e,s]of this.K){const n=this.T.get(s),i=this.P.get(e),r=new Request(e,{integrity:n,cache:i,credentials:"same-origin"});await Promise.all(this.strategy.handleAll({params:{cacheKey:s},request:r,event:t}))}const{updatedURLs:s,notUpdatedURLs:n}=e;return{updatedURLs:s,notUpdatedURLs:n}}))}activate(t){return d(t,(async()=>{const t=await self.caches.open(this.strategy.cacheName),e=await t.keys(),s=new Set(this.K.values()),n=[];for(const i of e)s.has(i.url)||(await t.delete(i),n.push(i.url));return{deletedURLs:n}}))}getURLsToCacheKeys(){return this.K}getCachedURLs(){return[...this.K.keys()]}getCacheKeyForURL(t){const e=new URL(t,location.href);return this.K.get(e.href)}getIntegrityForCacheKey(t){return this.T.get(t)}async matchPrecache(t){const e=t instanceof Request?t.url:t,s=this.getCacheKeyForURL(e);if(s){return(await self.caches.open(this.strategy.cacheName)).match(s)}}createHandlerBoundToURL(t){const e=this.getCacheKeyForURL(t);if(!e)throw new s("non-precached-url",{url:t});return s=>(s.request=new Request(t),s.params=Object.assign({cacheKey:e},s.params),this.strategy.handle(s))}}let x;const N=()=>(x||(x=new O),x);class k extends i{constructor(t,e){super((({request:s})=>{const n=t.getURLsToCacheKeys();for(const i of function*(t,{ignoreURLParametersMatching:e=[/^utm_/,/^fbclid$/],directoryIndex:s="index.html",cleanURLs:n=!0,urlManipulation:i}={}){const r=new URL(t,location.href);r.hash="",yield r.href;const o=function(t,e=[]){for(const s of[...t.searchParams.keys()])e.some((t=>t.test(s)))&&t.searchParams.delete(s);return t}(r,e);if(yield o.href,s&&o.pathname.endsWith("/")){const t=new URL(o.href);t.pathname+=s,yield t.href}if(n){const t=new URL(o.href);t.pathname+=".html",yield t.href}if(i){const t=i({url:r});for(const e of t)yield e.href}}(s.url,e)){const e=n.get(i);if(e){return{cacheKey:e,integrity:t.getIntegrityForCacheKey(e)}}}}),t.strategy)}}t.NavigationRoute=class extends i{constructor(t,{allowlist:e=[/./],denylist:s=[]}={}){super((t=>this.j(t)),t),this.M=e,this.S=s}j({url:t,request:e}){if(e&&"navigate"!==e.mode)return!1;const s=t.pathname+t.search;for(const t of this.S)if(t.test(s))return!1;return!!this.M.some((t=>t.test(s)))}},t.cleanupOutdatedCaches=function(){self.addEventListener("activate",(t=>{const e=f();t.waitUntil((async(t,e="-precache-")=>{const s=(await self.caches.keys()).filter((s=>s.includes(e)&&s.includes(self.registration.scope)&&s!==t));return await Promise.all(s.map((t=>self.caches.delete(t)))),s})(e).then((t=>{})))}))},t.createHandlerBoundToURL=function(t){return N().createHandlerBoundToURL(t)},t.precacheAndRoute=function(t,e){!function(t){N().precache(t)}(t),function(t){const e=N();h(new k(e,t))}(e)},t.registerRoute=h})); +//# sourceMappingURL=workbox-4723e66c.js.map diff --git a/workbox-cbf83eee.js.map b/workbox-4723e66c.js.map similarity index 97% rename from workbox-cbf83eee.js.map rename to workbox-4723e66c.js.map index df08feb..e25085c 100644 --- a/workbox-cbf83eee.js.map +++ b/workbox-4723e66c.js.map @@ -1 +1 @@ -{"version":3,"file":"workbox-cbf83eee.js","sources":["node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_version.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/logger.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/models/messages/messageGenerator.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/WorkboxError.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/_version.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/utils/constants.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/utils/normalizeHandler.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/Route.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/RegExpRoute.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/Router.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/registerRoute.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/cacheNames.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/waitUntil.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/_version.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/utils/createCacheKey.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/utils/PrecacheInstallReportPlugin.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/utils/PrecacheCacheKeyPlugin.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/canConstructResponseFromBodyStream.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/copyResponse.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/Deferred.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/models/quotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.1.0/node_modules/workbox-strategies/_version.js","node_modules/.pnpm/workbox-strategies@7.1.0/node_modules/workbox-strategies/StrategyHandler.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/timeout.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/getFriendlyURL.js","node_modules/.pnpm/workbox-core@7.1.0/node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.1.0/node_modules/workbox-strategies/Strategy.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/PrecacheStrategy.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/PrecacheController.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/utils/getOrCreatePrecacheController.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/PrecacheRoute.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/utils/generateURLVariations.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/utils/removeIgnoredSearchParams.js","node_modules/.pnpm/workbox-routing@7.1.0/node_modules/workbox-routing/NavigationRoute.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/cleanupOutdatedCaches.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/utils/deleteOutdatedCaches.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/createHandlerBoundToURL.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/precacheAndRoute.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/precache.js","node_modules/.pnpm/workbox-precaching@7.1.0/node_modules/workbox-precaching/addRoute.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:7.0.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:7.0.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A utility method that makes it easier to use `event.waitUntil` with\n * async functions and return the result.\n *\n * @param {ExtendableEvent} event\n * @param {Function} asyncFn\n * @return {Function}\n * @private\n */\nfunction waitUntil(event, asyncFn) {\n const returnPromise = asyncFn();\n event.waitUntil(returnPromise);\n return returnPromise;\n}\nexport { waitUntil };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:precaching:7.0.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport '../_version.js';\n// Name of the search parameter used to store revision info.\nconst REVISION_SEARCH_PARAM = '__WB_REVISION__';\n/**\n * Converts a manifest entry into a versioned URL suitable for precaching.\n *\n * @param {Object|string} entry\n * @return {string} A URL with versioning info.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function createCacheKey(entry) {\n if (!entry) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If a precache manifest entry is a string, it's assumed to be a versioned\n // URL, like '/app.abcd1234.js'. Return as-is.\n if (typeof entry === 'string') {\n const urlObject = new URL(entry, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n const { revision, url } = entry;\n if (!url) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If there's just a URL and no revision, then it's also assumed to be a\n // versioned URL.\n if (!revision) {\n const urlObject = new URL(url, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n // Otherwise, construct a properly versioned URL using the custom Workbox\n // search parameter along with the revision info.\n const cacheKeyURL = new URL(url, location.href);\n const originalURL = new URL(url, location.href);\n cacheKeyURL.searchParams.set(REVISION_SEARCH_PARAM, revision);\n return {\n cacheKey: cacheKeyURL.href,\n url: originalURL.href,\n };\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to determine the\n * of assets that were updated (or not updated) during the install event.\n *\n * @private\n */\nclass PrecacheInstallReportPlugin {\n constructor() {\n this.updatedURLs = [];\n this.notUpdatedURLs = [];\n this.handlerWillStart = async ({ request, state, }) => {\n // TODO: `state` should never be undefined...\n if (state) {\n state.originalRequest = request;\n }\n };\n this.cachedResponseWillBeUsed = async ({ event, state, cachedResponse, }) => {\n if (event.type === 'install') {\n if (state &&\n state.originalRequest &&\n state.originalRequest instanceof Request) {\n // TODO: `state` should never be undefined...\n const url = state.originalRequest.url;\n if (cachedResponse) {\n this.notUpdatedURLs.push(url);\n }\n else {\n this.updatedURLs.push(url);\n }\n }\n }\n return cachedResponse;\n };\n }\n}\nexport { PrecacheInstallReportPlugin };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to translate URLs into\n * the corresponding cache key, based on the current revision info.\n *\n * @private\n */\nclass PrecacheCacheKeyPlugin {\n constructor({ precacheController }) {\n this.cacheKeyWillBeUsed = async ({ request, params, }) => {\n // Params is type any, can't change right now.\n /* eslint-disable */\n const cacheKey = (params === null || params === void 0 ? void 0 : params.cacheKey) ||\n this._precacheController.getCacheKeyForURL(request.url);\n /* eslint-enable */\n return cacheKey\n ? new Request(cacheKey, { headers: request.headers })\n : request;\n };\n this._precacheController = precacheController;\n }\n}\nexport { PrecacheCacheKeyPlugin };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nlet supportStatus;\n/**\n * A utility function that determines whether the current browser supports\n * constructing a new `Response` from a `response.body` stream.\n *\n * @return {boolean} `true`, if the current browser can successfully\n * construct a `Response` from a `response.body` stream, `false` otherwise.\n *\n * @private\n */\nfunction canConstructResponseFromBodyStream() {\n if (supportStatus === undefined) {\n const testResponse = new Response('');\n if ('body' in testResponse) {\n try {\n new Response(testResponse.body);\n supportStatus = true;\n }\n catch (error) {\n supportStatus = false;\n }\n }\n supportStatus = false;\n }\n return supportStatus;\n}\nexport { canConstructResponseFromBodyStream };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { canConstructResponseFromBodyStream } from './_private/canConstructResponseFromBodyStream.js';\nimport { WorkboxError } from './_private/WorkboxError.js';\nimport './_version.js';\n/**\n * Allows developers to copy a response and modify its `headers`, `status`,\n * or `statusText` values (the values settable via a\n * [`ResponseInit`]{@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#Syntax}\n * object in the constructor).\n * To modify these values, pass a function as the second argument. That\n * function will be invoked with a single object with the response properties\n * `{headers, status, statusText}`. The return value of this function will\n * be used as the `ResponseInit` for the new `Response`. To change the values\n * either modify the passed parameter(s) and return it, or return a totally\n * new object.\n *\n * This method is intentionally limited to same-origin responses, regardless of\n * whether CORS was used or not.\n *\n * @param {Response} response\n * @param {Function} modifier\n * @memberof workbox-core\n */\nasync function copyResponse(response, modifier) {\n let origin = null;\n // If response.url isn't set, assume it's cross-origin and keep origin null.\n if (response.url) {\n const responseURL = new URL(response.url);\n origin = responseURL.origin;\n }\n if (origin !== self.location.origin) {\n throw new WorkboxError('cross-origin-copy-response', { origin });\n }\n const clonedResponse = response.clone();\n // Create a fresh `ResponseInit` object by cloning the headers.\n const responseInit = {\n headers: new Headers(clonedResponse.headers),\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n };\n // Apply any user modifications.\n const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;\n // Create the new response from the body stream and `ResponseInit`\n // modifications. Note: not all browsers support the Response.body stream,\n // so fall back to reading the entire body into memory as a blob.\n const body = canConstructResponseFromBodyStream()\n ? clonedResponse.body\n : await clonedResponse.blob();\n return new Response(body, modifiedResponseInit);\n}\nexport { copyResponse };\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:7.0.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cachedResponseWillByUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillByUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { copyResponse } from 'workbox-core/copyResponse.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from 'workbox-strategies/Strategy.js';\nimport './_version.js';\n/**\n * A {@link workbox-strategies.Strategy} implementation\n * specifically designed to work with\n * {@link workbox-precaching.PrecacheController}\n * to both cache and fetch precached assets.\n *\n * Note: an instance of this class is created automatically when creating a\n * `PrecacheController`; it's generally not necessary to create this yourself.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-precaching\n */\nclass PrecacheStrategy extends Strategy {\n /**\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init}\n * of all fetch() requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor(options = {}) {\n options.cacheName = cacheNames.getPrecacheName(options.cacheName);\n super(options);\n this._fallbackToNetwork =\n options.fallbackToNetwork === false ? false : true;\n // Redirected responses cannot be used to satisfy a navigation request, so\n // any redirected response must be \"copied\" rather than cloned, so the new\n // response doesn't contain the `redirected` flag. See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n this.plugins.push(PrecacheStrategy.copyRedirectedCacheableResponsesPlugin);\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const response = await handler.cacheMatch(request);\n if (response) {\n return response;\n }\n // If this is an `install` event for an entry that isn't already cached,\n // then populate the cache.\n if (handler.event && handler.event.type === 'install') {\n return await this._handleInstall(request, handler);\n }\n // Getting here means something went wrong. An entry that should have been\n // precached wasn't found in the cache.\n return await this._handleFetch(request, handler);\n }\n async _handleFetch(request, handler) {\n let response;\n const params = (handler.params || {});\n // Fall back to the network if we're configured to do so.\n if (this._fallbackToNetwork) {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(`The precached response for ` +\n `${getFriendlyURL(request.url)} in ${this.cacheName} was not ` +\n `found. Falling back to the network.`);\n }\n const integrityInManifest = params.integrity;\n const integrityInRequest = request.integrity;\n const noIntegrityConflict = !integrityInRequest || integrityInRequest === integrityInManifest;\n // Do not add integrity if the original request is no-cors\n // See https://github.com/GoogleChrome/workbox/issues/3096\n response = await handler.fetch(new Request(request, {\n integrity: request.mode !== 'no-cors'\n ? integrityInRequest || integrityInManifest\n : undefined,\n }));\n // It's only \"safe\" to repair the cache if we're using SRI to guarantee\n // that the response matches the precache manifest's expectations,\n // and there's either a) no integrity property in the incoming request\n // or b) there is an integrity, and it matches the precache manifest.\n // See https://github.com/GoogleChrome/workbox/issues/2858\n // Also if the original request users no-cors we don't use integrity.\n // See https://github.com/GoogleChrome/workbox/issues/3096\n if (integrityInManifest &&\n noIntegrityConflict &&\n request.mode !== 'no-cors') {\n this._useDefaultCacheabilityPluginIfNeeded();\n const wasCached = await handler.cachePut(request, response.clone());\n if (process.env.NODE_ENV !== 'production') {\n if (wasCached) {\n logger.log(`A response for ${getFriendlyURL(request.url)} ` +\n `was used to \"repair\" the precache.`);\n }\n }\n }\n }\n else {\n // This shouldn't normally happen, but there are edge cases:\n // https://github.com/GoogleChrome/workbox/issues/1441\n throw new WorkboxError('missing-precache-entry', {\n cacheName: this.cacheName,\n url: request.url,\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n const cacheKey = params.cacheKey || (await handler.getCacheKey(request, 'read'));\n // Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Precaching is responding to: ` + getFriendlyURL(request.url));\n logger.log(`Serving the precached url: ${getFriendlyURL(cacheKey instanceof Request ? cacheKey.url : cacheKey)}`);\n logger.groupCollapsed(`View request details here.`);\n logger.log(request);\n logger.groupEnd();\n logger.groupCollapsed(`View response details here.`);\n logger.log(response);\n logger.groupEnd();\n logger.groupEnd();\n }\n return response;\n }\n async _handleInstall(request, handler) {\n this._useDefaultCacheabilityPluginIfNeeded();\n const response = await handler.fetch(request);\n // Make sure we defer cachePut() until after we know the response\n // should be cached; see https://github.com/GoogleChrome/workbox/issues/2737\n const wasCached = await handler.cachePut(request, response.clone());\n if (!wasCached) {\n // Throwing here will lead to the `install` handler failing, which\n // we want to do if *any* of the responses aren't safe to cache.\n throw new WorkboxError('bad-precaching-response', {\n url: request.url,\n status: response.status,\n });\n }\n return response;\n }\n /**\n * This method is complex, as there a number of things to account for:\n *\n * The `plugins` array can be set at construction, and/or it might be added to\n * to at any time before the strategy is used.\n *\n * At the time the strategy is used (i.e. during an `install` event), there\n * needs to be at least one plugin that implements `cacheWillUpdate` in the\n * array, other than `copyRedirectedCacheableResponsesPlugin`.\n *\n * - If this method is called and there are no suitable `cacheWillUpdate`\n * plugins, we need to add `defaultPrecacheCacheabilityPlugin`.\n *\n * - If this method is called and there is exactly one `cacheWillUpdate`, then\n * we don't have to do anything (this might be a previously added\n * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin).\n *\n * - If this method is called and there is more than one `cacheWillUpdate`,\n * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so,\n * we need to remove it. (This situation is unlikely, but it could happen if\n * the strategy is used multiple times, the first without a `cacheWillUpdate`,\n * and then later on after manually adding a custom `cacheWillUpdate`.)\n *\n * See https://github.com/GoogleChrome/workbox/issues/2737 for more context.\n *\n * @private\n */\n _useDefaultCacheabilityPluginIfNeeded() {\n let defaultPluginIndex = null;\n let cacheWillUpdatePluginCount = 0;\n for (const [index, plugin] of this.plugins.entries()) {\n // Ignore the copy redirected plugin when determining what to do.\n if (plugin === PrecacheStrategy.copyRedirectedCacheableResponsesPlugin) {\n continue;\n }\n // Save the default plugin's index, in case it needs to be removed.\n if (plugin === PrecacheStrategy.defaultPrecacheCacheabilityPlugin) {\n defaultPluginIndex = index;\n }\n if (plugin.cacheWillUpdate) {\n cacheWillUpdatePluginCount++;\n }\n }\n if (cacheWillUpdatePluginCount === 0) {\n this.plugins.push(PrecacheStrategy.defaultPrecacheCacheabilityPlugin);\n }\n else if (cacheWillUpdatePluginCount > 1 && defaultPluginIndex !== null) {\n // Only remove the default plugin; multiple custom plugins are allowed.\n this.plugins.splice(defaultPluginIndex, 1);\n }\n // Nothing needs to be done if cacheWillUpdatePluginCount is 1\n }\n}\nPrecacheStrategy.defaultPrecacheCacheabilityPlugin = {\n async cacheWillUpdate({ response }) {\n if (!response || response.status >= 400) {\n return null;\n }\n return response;\n },\n};\nPrecacheStrategy.copyRedirectedCacheableResponsesPlugin = {\n async cacheWillUpdate({ response }) {\n return response.redirected ? await copyResponse(response) : response;\n },\n};\nexport { PrecacheStrategy };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { waitUntil } from 'workbox-core/_private/waitUntil.js';\nimport { createCacheKey } from './utils/createCacheKey.js';\nimport { PrecacheInstallReportPlugin } from './utils/PrecacheInstallReportPlugin.js';\nimport { PrecacheCacheKeyPlugin } from './utils/PrecacheCacheKeyPlugin.js';\nimport { printCleanupDetails } from './utils/printCleanupDetails.js';\nimport { printInstallDetails } from './utils/printInstallDetails.js';\nimport { PrecacheStrategy } from './PrecacheStrategy.js';\nimport './_version.js';\n/**\n * Performs efficient precaching of assets.\n *\n * @memberof workbox-precaching\n */\nclass PrecacheController {\n /**\n * Create a new PrecacheController.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] The cache to use for precaching.\n * @param {string} [options.plugins] Plugins to use when precaching as well\n * as responding to fetch events for precached assets.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor({ cacheName, plugins = [], fallbackToNetwork = true, } = {}) {\n this._urlsToCacheKeys = new Map();\n this._urlsToCacheModes = new Map();\n this._cacheKeysToIntegrities = new Map();\n this._strategy = new PrecacheStrategy({\n cacheName: cacheNames.getPrecacheName(cacheName),\n plugins: [\n ...plugins,\n new PrecacheCacheKeyPlugin({ precacheController: this }),\n ],\n fallbackToNetwork,\n });\n // Bind the install and activate methods to the instance.\n this.install = this.install.bind(this);\n this.activate = this.activate.bind(this);\n }\n /**\n * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and\n * used to cache assets and respond to fetch events.\n */\n get strategy() {\n return this._strategy;\n }\n /**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n */\n precache(entries) {\n this.addToCacheList(entries);\n if (!this._installAndActiveListenersAdded) {\n self.addEventListener('install', this.install);\n self.addEventListener('activate', this.activate);\n this._installAndActiveListenersAdded = true;\n }\n }\n /**\n * This method will add items to the precache list, removing duplicates\n * and ensuring the information is valid.\n *\n * @param {Array} entries\n * Array of entries to precache.\n */\n addToCacheList(entries) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArray(entries, {\n moduleName: 'workbox-precaching',\n className: 'PrecacheController',\n funcName: 'addToCacheList',\n paramName: 'entries',\n });\n }\n const urlsToWarnAbout = [];\n for (const entry of entries) {\n // See https://github.com/GoogleChrome/workbox/issues/2259\n if (typeof entry === 'string') {\n urlsToWarnAbout.push(entry);\n }\n else if (entry && entry.revision === undefined) {\n urlsToWarnAbout.push(entry.url);\n }\n const { cacheKey, url } = createCacheKey(entry);\n const cacheMode = typeof entry !== 'string' && entry.revision ? 'reload' : 'default';\n if (this._urlsToCacheKeys.has(url) &&\n this._urlsToCacheKeys.get(url) !== cacheKey) {\n throw new WorkboxError('add-to-cache-list-conflicting-entries', {\n firstEntry: this._urlsToCacheKeys.get(url),\n secondEntry: cacheKey,\n });\n }\n if (typeof entry !== 'string' && entry.integrity) {\n if (this._cacheKeysToIntegrities.has(cacheKey) &&\n this._cacheKeysToIntegrities.get(cacheKey) !== entry.integrity) {\n throw new WorkboxError('add-to-cache-list-conflicting-integrities', {\n url,\n });\n }\n this._cacheKeysToIntegrities.set(cacheKey, entry.integrity);\n }\n this._urlsToCacheKeys.set(url, cacheKey);\n this._urlsToCacheModes.set(url, cacheMode);\n if (urlsToWarnAbout.length > 0) {\n const warningMessage = `Workbox is precaching URLs without revision ` +\n `info: ${urlsToWarnAbout.join(', ')}\\nThis is generally NOT safe. ` +\n `Learn more at https://bit.ly/wb-precache`;\n if (process.env.NODE_ENV === 'production') {\n // Use console directly to display this warning without bloating\n // bundle sizes by pulling in all of the logger codebase in prod.\n console.warn(warningMessage);\n }\n else {\n logger.warn(warningMessage);\n }\n }\n }\n }\n /**\n * Precaches new and updated assets. Call this method from the service worker\n * install event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n install(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const installReportPlugin = new PrecacheInstallReportPlugin();\n this.strategy.plugins.push(installReportPlugin);\n // Cache entries one at a time.\n // See https://github.com/GoogleChrome/workbox/issues/2528\n for (const [url, cacheKey] of this._urlsToCacheKeys) {\n const integrity = this._cacheKeysToIntegrities.get(cacheKey);\n const cacheMode = this._urlsToCacheModes.get(url);\n const request = new Request(url, {\n integrity,\n cache: cacheMode,\n credentials: 'same-origin',\n });\n await Promise.all(this.strategy.handleAll({\n params: { cacheKey },\n request,\n event,\n }));\n }\n const { updatedURLs, notUpdatedURLs } = installReportPlugin;\n if (process.env.NODE_ENV !== 'production') {\n printInstallDetails(updatedURLs, notUpdatedURLs);\n }\n return { updatedURLs, notUpdatedURLs };\n });\n }\n /**\n * Deletes assets that are no longer present in the current precache manifest.\n * Call this method from the service worker activate event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n activate(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const cache = await self.caches.open(this.strategy.cacheName);\n const currentlyCachedRequests = await cache.keys();\n const expectedCacheKeys = new Set(this._urlsToCacheKeys.values());\n const deletedURLs = [];\n for (const request of currentlyCachedRequests) {\n if (!expectedCacheKeys.has(request.url)) {\n await cache.delete(request);\n deletedURLs.push(request.url);\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n printCleanupDetails(deletedURLs);\n }\n return { deletedURLs };\n });\n }\n /**\n * Returns a mapping of a precached URL to the corresponding cache key, taking\n * into account the revision information for the URL.\n *\n * @return {Map} A URL to cache key mapping.\n */\n getURLsToCacheKeys() {\n return this._urlsToCacheKeys;\n }\n /**\n * Returns a list of all the URLs that have been precached by the current\n * service worker.\n *\n * @return {Array} The precached URLs.\n */\n getCachedURLs() {\n return [...this._urlsToCacheKeys.keys()];\n }\n /**\n * Returns the cache key used for storing a given URL. If that URL is\n * unversioned, like `/index.html', then the cache key will be the original\n * URL with a search parameter appended to it.\n *\n * @param {string} url A URL whose cache key you want to look up.\n * @return {string} The versioned URL that corresponds to a cache key\n * for the original URL, or undefined if that URL isn't precached.\n */\n getCacheKeyForURL(url) {\n const urlObject = new URL(url, location.href);\n return this._urlsToCacheKeys.get(urlObject.href);\n }\n /**\n * @param {string} url A cache key whose SRI you want to look up.\n * @return {string} The subresource integrity associated with the cache key,\n * or undefined if it's not set.\n */\n getIntegrityForCacheKey(cacheKey) {\n return this._cacheKeysToIntegrities.get(cacheKey);\n }\n /**\n * This acts as a drop-in replacement for\n * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match)\n * with the following differences:\n *\n * - It knows what the name of the precache is, and only checks in that cache.\n * - It allows you to pass in an \"original\" URL without versioning parameters,\n * and it will automatically look up the correct cache key for the currently\n * active revision of that URL.\n *\n * E.g., `matchPrecache('index.html')` will find the correct precached\n * response for the currently active service worker, even if the actual cache\n * key is `'/index.html?__WB_REVISION__=1234abcd'`.\n *\n * @param {string|Request} request The key (without revisioning parameters)\n * to look up in the precache.\n * @return {Promise}\n */\n async matchPrecache(request) {\n const url = request instanceof Request ? request.url : request;\n const cacheKey = this.getCacheKeyForURL(url);\n if (cacheKey) {\n const cache = await self.caches.open(this.strategy.cacheName);\n return cache.match(cacheKey);\n }\n return undefined;\n }\n /**\n * Returns a function that looks up `url` in the precache (taking into\n * account revision information), and returns the corresponding `Response`.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @return {workbox-routing~handlerCallback}\n */\n createHandlerBoundToURL(url) {\n const cacheKey = this.getCacheKeyForURL(url);\n if (!cacheKey) {\n throw new WorkboxError('non-precached-url', { url });\n }\n return (options) => {\n options.request = new Request(url);\n options.params = Object.assign({ cacheKey }, options.params);\n return this.strategy.handle(options);\n };\n }\n}\nexport { PrecacheController };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { PrecacheController } from '../PrecacheController.js';\nimport '../_version.js';\nlet precacheController;\n/**\n * @return {PrecacheController}\n * @private\n */\nexport const getOrCreatePrecacheController = () => {\n if (!precacheController) {\n precacheController = new PrecacheController();\n }\n return precacheController;\n};\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { Route } from 'workbox-routing/Route.js';\nimport { generateURLVariations } from './utils/generateURLVariations.js';\nimport './_version.js';\n/**\n * A subclass of {@link workbox-routing.Route} that takes a\n * {@link workbox-precaching.PrecacheController}\n * instance and uses it to match incoming requests and handle fetching\n * responses from the precache.\n *\n * @memberof workbox-precaching\n * @extends workbox-routing.Route\n */\nclass PrecacheRoute extends Route {\n /**\n * @param {PrecacheController} precacheController A `PrecacheController`\n * instance used to both match requests and respond to fetch events.\n * @param {Object} [options] Options to control how requests are matched\n * against the list of precached URLs.\n * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will\n * check cache entries for a URLs ending with '/' to see if there is a hit when\n * appending the `directoryIndex` value.\n * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An\n * array of regex's to remove search params when looking for a cache match.\n * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will\n * check the cache for the URL with a `.html` added to the end of the end.\n * @param {workbox-precaching~urlManipulation} [options.urlManipulation]\n * This is a function that should take a URL and return an array of\n * alternative URLs that should be checked for precache matches.\n */\n constructor(precacheController, options) {\n const match = ({ request, }) => {\n const urlsToCacheKeys = precacheController.getURLsToCacheKeys();\n for (const possibleURL of generateURLVariations(request.url, options)) {\n const cacheKey = urlsToCacheKeys.get(possibleURL);\n if (cacheKey) {\n const integrity = precacheController.getIntegrityForCacheKey(cacheKey);\n return { cacheKey, integrity };\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Precaching did not find a match for ` + getFriendlyURL(request.url));\n }\n return;\n };\n super(match, precacheController.strategy);\n }\n}\nexport { PrecacheRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { removeIgnoredSearchParams } from './removeIgnoredSearchParams.js';\nimport '../_version.js';\n/**\n * Generator function that yields possible variations on the original URL to\n * check, one at a time.\n *\n * @param {string} url\n * @param {Object} options\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function* generateURLVariations(url, { ignoreURLParametersMatching = [/^utm_/, /^fbclid$/], directoryIndex = 'index.html', cleanURLs = true, urlManipulation, } = {}) {\n const urlObject = new URL(url, location.href);\n urlObject.hash = '';\n yield urlObject.href;\n const urlWithoutIgnoredParams = removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching);\n yield urlWithoutIgnoredParams.href;\n if (directoryIndex && urlWithoutIgnoredParams.pathname.endsWith('/')) {\n const directoryURL = new URL(urlWithoutIgnoredParams.href);\n directoryURL.pathname += directoryIndex;\n yield directoryURL.href;\n }\n if (cleanURLs) {\n const cleanURL = new URL(urlWithoutIgnoredParams.href);\n cleanURL.pathname += '.html';\n yield cleanURL.href;\n }\n if (urlManipulation) {\n const additionalURLs = urlManipulation({ url: urlObject });\n for (const urlToAttempt of additionalURLs) {\n yield urlToAttempt.href;\n }\n }\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Removes any URL search parameters that should be ignored.\n *\n * @param {URL} urlObject The original URL.\n * @param {Array} ignoreURLParametersMatching RegExps to test against\n * each search parameter name. Matches mean that the search parameter should be\n * ignored.\n * @return {URL} The URL with any ignored search parameters removed.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) {\n // Convert the iterable into an array at the start of the loop to make sure\n // deletion doesn't mess up iteration.\n for (const paramName of [...urlObject.searchParams.keys()]) {\n if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) {\n urlObject.searchParams.delete(paramName);\n }\n }\n return urlObject;\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * NavigationRoute makes it easy to create a\n * {@link workbox-routing.Route} that matches for browser\n * [navigation requests]{@link https://developers.google.com/web/fundamentals/primers/service-workers/high-performance-loading#first_what_are_navigation_requests}.\n *\n * It will only match incoming Requests whose\n * {@link https://fetch.spec.whatwg.org/#concept-request-mode|mode}\n * is set to `navigate`.\n *\n * You can optionally only apply this route to a subset of navigation requests\n * by using one or both of the `denylist` and `allowlist` parameters.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass NavigationRoute extends Route {\n /**\n * If both `denylist` and `allowlist` are provided, the `denylist` will\n * take precedence and the request will not match this route.\n *\n * The regular expressions in `allowlist` and `denylist`\n * are matched against the concatenated\n * [`pathname`]{@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/pathname}\n * and [`search`]{@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search}\n * portions of the requested URL.\n *\n * *Note*: These RegExps may be evaluated against every destination URL during\n * a navigation. Avoid using\n * [complex RegExps](https://github.com/GoogleChrome/workbox/issues/3077),\n * or else your users may see delays when navigating your site.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {Object} options\n * @param {Array} [options.denylist] If any of these patterns match,\n * the route will not handle the request (even if a allowlist RegExp matches).\n * @param {Array} [options.allowlist=[/./]] If any of these patterns\n * match the URL's pathname and search parameter, the route will handle the\n * request (assuming the denylist doesn't match).\n */\n constructor(handler, { allowlist = [/./], denylist = [] } = {}) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArrayOfClass(allowlist, RegExp, {\n moduleName: 'workbox-routing',\n className: 'NavigationRoute',\n funcName: 'constructor',\n paramName: 'options.allowlist',\n });\n assert.isArrayOfClass(denylist, RegExp, {\n moduleName: 'workbox-routing',\n className: 'NavigationRoute',\n funcName: 'constructor',\n paramName: 'options.denylist',\n });\n }\n super((options) => this._match(options), handler);\n this._allowlist = allowlist;\n this._denylist = denylist;\n }\n /**\n * Routes match handler.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {Request} options.request\n * @return {boolean}\n *\n * @private\n */\n _match({ url, request }) {\n if (request && request.mode !== 'navigate') {\n return false;\n }\n const pathnameAndSearch = url.pathname + url.search;\n for (const regExp of this._denylist) {\n if (regExp.test(pathnameAndSearch)) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`The navigation route ${pathnameAndSearch} is not ` +\n `being used, since the URL matches this denylist pattern: ` +\n `${regExp.toString()}`);\n }\n return false;\n }\n }\n if (this._allowlist.some((regExp) => regExp.test(pathnameAndSearch))) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The navigation route ${pathnameAndSearch} ` + `is being used.`);\n }\n return true;\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`The navigation route ${pathnameAndSearch} is not ` +\n `being used, since the URL being navigated to doesn't ` +\n `match the allowlist.`);\n }\n return false;\n }\n}\nexport { NavigationRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { deleteOutdatedCaches } from './utils/deleteOutdatedCaches.js';\nimport './_version.js';\n/**\n * Adds an `activate` event listener which will clean up incompatible\n * precaches that were created by older versions of Workbox.\n *\n * @memberof workbox-precaching\n */\nfunction cleanupOutdatedCaches() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('activate', ((event) => {\n const cacheName = cacheNames.getPrecacheName();\n event.waitUntil(deleteOutdatedCaches(cacheName).then((cachesDeleted) => {\n if (process.env.NODE_ENV !== 'production') {\n if (cachesDeleted.length > 0) {\n logger.log(`The following out-of-date precaches were cleaned up ` +\n `automatically:`, cachesDeleted);\n }\n }\n }));\n }));\n}\nexport { cleanupOutdatedCaches };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst SUBSTRING_TO_FIND = '-precache-';\n/**\n * Cleans up incompatible precaches that were created by older versions of\n * Workbox, by a service worker registered under the current scope.\n *\n * This is meant to be called as part of the `activate` event.\n *\n * This should be safe to use as long as you don't include `substringToFind`\n * (defaulting to `-precache-`) in your non-precache cache names.\n *\n * @param {string} currentPrecacheName The cache name currently in use for\n * precaching. This cache won't be deleted.\n * @param {string} [substringToFind='-precache-'] Cache names which include this\n * substring will be deleted (excluding `currentPrecacheName`).\n * @return {Array} A list of all the cache names that were deleted.\n *\n * @private\n * @memberof workbox-precaching\n */\nconst deleteOutdatedCaches = async (currentPrecacheName, substringToFind = SUBSTRING_TO_FIND) => {\n const cacheNames = await self.caches.keys();\n const cacheNamesToDelete = cacheNames.filter((cacheName) => {\n return (cacheName.includes(substringToFind) &&\n cacheName.includes(self.registration.scope) &&\n cacheName !== currentPrecacheName);\n });\n await Promise.all(cacheNamesToDelete.map((cacheName) => self.caches.delete(cacheName)));\n return cacheNamesToDelete;\n};\nexport { deleteOutdatedCaches };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Helper function that calls\n * {@link PrecacheController#createHandlerBoundToURL} on the default\n * {@link PrecacheController} instance.\n *\n * If you are creating your own {@link PrecacheController}, then call the\n * {@link PrecacheController#createHandlerBoundToURL} on that instance,\n * instead of using this function.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @param {boolean} [fallbackToNetwork=true] Whether to attempt to get the\n * response from the network if there's a precache miss.\n * @return {workbox-routing~handlerCallback}\n *\n * @memberof workbox-precaching\n */\nfunction createHandlerBoundToURL(url) {\n const precacheController = getOrCreatePrecacheController();\n return precacheController.createHandlerBoundToURL(url);\n}\nexport { createHandlerBoundToURL };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { addRoute } from './addRoute.js';\nimport { precache } from './precache.js';\nimport './_version.js';\n/**\n * This method will add entries to the precache list and add a route to\n * respond to fetch events.\n *\n * This is a convenience method that will call\n * {@link workbox-precaching.precache} and\n * {@link workbox-precaching.addRoute} in a single call.\n *\n * @param {Array} entries Array of entries to precache.\n * @param {Object} [options] See the\n * {@link workbox-precaching.PrecacheRoute} options.\n *\n * @memberof workbox-precaching\n */\nfunction precacheAndRoute(entries, options) {\n precache(entries);\n addRoute(options);\n}\nexport { precacheAndRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * Please note: This method **will not** serve any of the cached files for you.\n * It only precaches files. To respond to a network request you call\n * {@link workbox-precaching.addRoute}.\n *\n * If you have a single array of files to precache, you can just call\n * {@link workbox-precaching.precacheAndRoute}.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n *\n * @memberof workbox-precaching\n */\nfunction precache(entries) {\n const precacheController = getOrCreatePrecacheController();\n precacheController.precache(entries);\n}\nexport { precache };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { registerRoute } from 'workbox-routing/registerRoute.js';\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport { PrecacheRoute } from './PrecacheRoute.js';\nimport './_version.js';\n/**\n * Add a `fetch` listener to the service worker that will\n * respond to\n * [network requests]{@link https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests}\n * with precached assets.\n *\n * Requests for assets that aren't precached, the `FetchEvent` will not be\n * responded to, allowing the event to fall through to other `fetch` event\n * listeners.\n *\n * @param {Object} [options] See the {@link workbox-precaching.PrecacheRoute}\n * options.\n *\n * @memberof workbox-precaching\n */\nfunction addRoute(options) {\n const precacheController = getOrCreatePrecacheController();\n const precacheRoute = new PrecacheRoute(precacheController, options);\n registerRoute(precacheRoute);\n}\nexport { addRoute };\n"],"names":["self","_","e","messageGenerator","fallback","code","args","msg","length","JSON","stringify","WorkboxError","Error","constructor","errorCode","details","super","this","name","normalizeHandler","handler","handle","Route","match","method","setCatchHandler","catchHandler","RegExpRoute","regExp","url","result","exec","href","origin","location","index","slice","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","type","payload","requestPromises","Promise","all","urlsToCache","map","entry","Request","waitUntil","ports","then","postMessage","URL","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","has","get","err","reject","_catchHandler","catch","async","catchErr","matchResult","Array","isArray","Object","keys","undefined","setDefaultHandler","set","registerRoute","push","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","getOrCreateDefaultRouter","capture","captureUrl","matchCallback","RegExp","moduleName","funcName","paramName","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","cacheName","filter","value","join","cacheNames","userCacheName","asyncFn","returnPromise","createCacheKey","urlObject","cacheKey","revision","cacheKeyURL","originalURL","searchParams","PrecacheInstallReportPlugin","updatedURLs","notUpdatedURLs","handlerWillStart","state","originalRequest","cachedResponseWillBeUsed","cachedResponse","PrecacheCacheKeyPlugin","precacheController","cacheKeyWillBeUsed","_precacheController","getCacheKeyForURL","headers","supportStatus","copyResponse","response","modifier","clonedResponse","clone","responseInit","Headers","status","statusText","modifiedResponseInit","body","testResponse","Response","error","canConstructResponseFromBodyStream","blob","stripParams","fullURL","ignoreParams","strippedURL","param","delete","Deferred","promise","resolve","quotaErrorCallbacks","Set","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","assign","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","fetch","mode","FetchEvent","preloadResponse","possiblePreloadResponse","hasCallback","cb","iterateCallbacks","thrownErrorMessage","message","pluginFilteredRequest","fetchResponse","fetchOptions","callback","runCallbacks","fetchAndCachePut","responseClone","cachePut","cacheMatch","key","matchOptions","effectiveRequest","getCacheKey","multiMatchOptions","caches","ms","setTimeout","String","replace","responseToCache","_ensureResponseSafeToCache","cache","open","hasCacheUpdateCallback","oldResponse","strippedRequestURL","keysOptions","ignoreSearch","cacheKeys","cacheMatchIgnoreParams","put","executeQuotaErrorCallbacks","newResponse","statefulCallback","statefulParam","doneWaiting","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","_awaitComplete","_handle","waitUntilError","PrecacheStrategy","_fallbackToNetwork","fallbackToNetwork","copyRedirectedCacheableResponsesPlugin","_handleInstall","_handleFetch","integrityInManifest","integrity","integrityInRequest","noIntegrityConflict","_useDefaultCacheabilityPluginIfNeeded","defaultPluginIndex","cacheWillUpdatePluginCount","entries","defaultPrecacheCacheabilityPlugin","cacheWillUpdate","redirected","PrecacheController","_urlsToCacheKeys","_urlsToCacheModes","_cacheKeysToIntegrities","install","bind","activate","addToCacheList","_installAndActiveListenersAdded","urlsToWarnAbout","cacheMode","firstEntry","secondEntry","warningMessage","console","warn","installReportPlugin","credentials","currentlyCachedRequests","expectedCacheKeys","values","deletedURLs","getURLsToCacheKeys","getCachedURLs","getIntegrityForCacheKey","matchPrecache","createHandlerBoundToURL","getOrCreatePrecacheController","PrecacheRoute","urlsToCacheKeys","possibleURL","ignoreURLParametersMatching","directoryIndex","cleanURLs","urlManipulation","hash","urlWithoutIgnoredParams","some","test","removeIgnoredSearchParams","pathname","endsWith","directoryURL","cleanURL","additionalURLs","urlToAttempt","generateURLVariations","allowlist","denylist","_match","_allowlist","_denylist","pathnameAndSearch","search","currentPrecacheName","substringToFind","cacheNamesToDelete","includes","deleteOutdatedCaches","cachesDeleted","addRoute"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"workbox-4723e66c.js","sources":["node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_version.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/logger.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/models/messages/messageGenerator.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/WorkboxError.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/_version.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/constants.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/normalizeHandler.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/Route.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/RegExpRoute.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/Router.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/utils/getOrCreateDefaultRouter.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/registerRoute.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/cacheNames.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/waitUntil.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/_version.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/createCacheKey.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/PrecacheInstallReportPlugin.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/PrecacheCacheKeyPlugin.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/canConstructResponseFromBodyStream.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/copyResponse.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/cacheMatchIgnoreParams.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/Deferred.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/models/quotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/_version.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/StrategyHandler.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/timeout.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/getFriendlyURL.js","node_modules/.pnpm/workbox-core@7.3.0/node_modules/workbox-core/_private/executeQuotaErrorCallbacks.js","node_modules/.pnpm/workbox-strategies@7.3.0/node_modules/workbox-strategies/Strategy.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheStrategy.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheController.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/getOrCreatePrecacheController.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/PrecacheRoute.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/generateURLVariations.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/removeIgnoredSearchParams.js","node_modules/.pnpm/workbox-routing@7.3.0/node_modules/workbox-routing/NavigationRoute.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/cleanupOutdatedCaches.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/utils/deleteOutdatedCaches.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/createHandlerBoundToURL.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precacheAndRoute.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/precache.js","node_modules/.pnpm/workbox-precaching@7.3.0/node_modules/workbox-precaching/addRoute.js"],"sourcesContent":["\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:core:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst logger = (process.env.NODE_ENV === 'production'\n ? null\n : (() => {\n // Don't overwrite this value if it's already set.\n // See https://github.com/GoogleChrome/workbox/pull/2284#issuecomment-560470923\n if (!('__WB_DISABLE_DEV_LOGS' in globalThis)) {\n self.__WB_DISABLE_DEV_LOGS = false;\n }\n let inGroup = false;\n const methodToColorMap = {\n debug: `#7f8c8d`,\n log: `#2ecc71`,\n warn: `#f39c12`,\n error: `#c0392b`,\n groupCollapsed: `#3498db`,\n groupEnd: null, // No colored prefix on groupEnd\n };\n const print = function (method, args) {\n if (self.__WB_DISABLE_DEV_LOGS) {\n return;\n }\n if (method === 'groupCollapsed') {\n // Safari doesn't print all console.groupCollapsed() arguments:\n // https://bugs.webkit.org/show_bug.cgi?id=182754\n if (/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) {\n console[method](...args);\n return;\n }\n }\n const styles = [\n `background: ${methodToColorMap[method]}`,\n `border-radius: 0.5em`,\n `color: white`,\n `font-weight: bold`,\n `padding: 2px 0.5em`,\n ];\n // When in a group, the workbox prefix is not displayed.\n const logPrefix = inGroup ? [] : ['%cworkbox', styles.join(';')];\n console[method](...logPrefix, ...args);\n if (method === 'groupCollapsed') {\n inGroup = true;\n }\n if (method === 'groupEnd') {\n inGroup = false;\n }\n };\n // eslint-disable-next-line @typescript-eslint/ban-types\n const api = {};\n const loggerMethods = Object.keys(methodToColorMap);\n for (const key of loggerMethods) {\n const method = key;\n api[method] = (...args) => {\n print(method, args);\n };\n }\n return api;\n })());\nexport { logger };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messages } from './messages.js';\nimport '../../_version.js';\nconst fallback = (code, ...args) => {\n let msg = code;\n if (args.length > 0) {\n msg += ` :: ${JSON.stringify(args)}`;\n }\n return msg;\n};\nconst generatorFunction = (code, details = {}) => {\n const message = messages[code];\n if (!message) {\n throw new Error(`Unable to find message for code '${code}'.`);\n }\n return message(details);\n};\nexport const messageGenerator = process.env.NODE_ENV === 'production' ? fallback : generatorFunction;\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { messageGenerator } from '../models/messages/messageGenerator.js';\nimport '../_version.js';\n/**\n * Workbox errors should be thrown with this class.\n * This allows use to ensure the type easily in tests,\n * helps developers identify errors from workbox\n * easily and allows use to optimise error\n * messages correctly.\n *\n * @private\n */\nclass WorkboxError extends Error {\n /**\n *\n * @param {string} errorCode The error code that\n * identifies this particular error.\n * @param {Object=} details Any relevant arguments\n * that will help developers identify issues should\n * be added as a key on the context object.\n */\n constructor(errorCode, details) {\n const message = messageGenerator(errorCode, details);\n super(message);\n this.name = errorCode;\n this.details = details;\n }\n}\nexport { WorkboxError };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:routing:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The default HTTP method, 'GET', used when there's no specific method\n * configured for a route.\n *\n * @type {string}\n *\n * @private\n */\nexport const defaultMethod = 'GET';\n/**\n * The list of valid HTTP methods associated with requests that could be routed.\n *\n * @type {Array}\n *\n * @private\n */\nexport const validMethods = [\n 'DELETE',\n 'GET',\n 'HEAD',\n 'PATCH',\n 'POST',\n 'PUT',\n];\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport '../_version.js';\n/**\n * @param {function()|Object} handler Either a function, or an object with a\n * 'handle' method.\n * @return {Object} An object with a handle method.\n *\n * @private\n */\nexport const normalizeHandler = (handler) => {\n if (handler && typeof handler === 'object') {\n if (process.env.NODE_ENV !== 'production') {\n assert.hasMethod(handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return handler;\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(handler, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'handler',\n });\n }\n return { handle: handler };\n }\n};\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { defaultMethod, validMethods } from './utils/constants.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport './_version.js';\n/**\n * A `Route` consists of a pair of callback functions, \"match\" and \"handler\".\n * The \"match\" callback determine if a route should be used to \"handle\" a\n * request by returning a non-falsy value if it can. The \"handler\" callback\n * is called when there is a match and should return a Promise that resolves\n * to a `Response`.\n *\n * @memberof workbox-routing\n */\nclass Route {\n /**\n * Constructor for Route class.\n *\n * @param {workbox-routing~matchCallback} match\n * A callback function that determines whether the route matches a given\n * `fetch` event by returning a non-falsy value.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(match, handler, method = defaultMethod) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(match, 'function', {\n moduleName: 'workbox-routing',\n className: 'Route',\n funcName: 'constructor',\n paramName: 'match',\n });\n if (method) {\n assert.isOneOf(method, validMethods, { paramName: 'method' });\n }\n }\n // These values are referenced directly by Router so cannot be\n // altered by minificaton.\n this.handler = normalizeHandler(handler);\n this.match = match;\n this.method = method;\n }\n /**\n *\n * @param {workbox-routing-handlerCallback} handler A callback\n * function that returns a Promise resolving to a Response\n */\n setCatchHandler(handler) {\n this.catchHandler = normalizeHandler(handler);\n }\n}\nexport { Route };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * RegExpRoute makes it easy to create a regular expression based\n * {@link workbox-routing.Route}.\n *\n * For same-origin requests the RegExp only needs to match part of the URL. For\n * requests against third-party servers, you must define a RegExp that matches\n * the start of the URL.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass RegExpRoute extends Route {\n /**\n * If the regular expression contains\n * [capture groups]{@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references},\n * the captured values will be passed to the\n * {@link workbox-routing~handlerCallback} `params`\n * argument.\n *\n * @param {RegExp} regExp The regular expression to match against URLs.\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n */\n constructor(regExp, handler, method) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(regExp, RegExp, {\n moduleName: 'workbox-routing',\n className: 'RegExpRoute',\n funcName: 'constructor',\n paramName: 'pattern',\n });\n }\n const match = ({ url }) => {\n const result = regExp.exec(url.href);\n // Return immediately if there's no match.\n if (!result) {\n return;\n }\n // Require that the match start at the first character in the URL string\n // if it's a cross-origin request.\n // See https://github.com/GoogleChrome/workbox/issues/281 for the context\n // behind this behavior.\n if (url.origin !== location.origin && result.index !== 0) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The regular expression '${regExp.toString()}' only partially matched ` +\n `against the cross-origin URL '${url.toString()}'. RegExpRoute's will only ` +\n `handle cross-origin requests if they match the entire URL.`);\n }\n return;\n }\n // If the route matches, but there aren't any capture groups defined, then\n // this will return [], which is truthy and therefore sufficient to\n // indicate a match.\n // If there are capture groups, then it will return their values.\n return result.slice(1);\n };\n super(match, handler, method);\n }\n}\nexport { RegExpRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { defaultMethod } from './utils/constants.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { normalizeHandler } from './utils/normalizeHandler.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\n/**\n * The Router can be used to process a `FetchEvent` using one or more\n * {@link workbox-routing.Route}, responding with a `Response` if\n * a matching route exists.\n *\n * If no route matches a given a request, the Router will use a \"default\"\n * handler if one is defined.\n *\n * Should the matching Route throw an error, the Router will use a \"catch\"\n * handler if one is defined to gracefully deal with issues and respond with a\n * Request.\n *\n * If a request matches multiple routes, the **earliest** registered route will\n * be used to respond to the request.\n *\n * @memberof workbox-routing\n */\nclass Router {\n /**\n * Initializes a new Router.\n */\n constructor() {\n this._routes = new Map();\n this._defaultHandlerMap = new Map();\n }\n /**\n * @return {Map>} routes A `Map` of HTTP\n * method name ('GET', etc.) to an array of all the corresponding `Route`\n * instances that are registered.\n */\n get routes() {\n return this._routes;\n }\n /**\n * Adds a fetch event listener to respond to events when a route matches\n * the event's request.\n */\n addFetchListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('fetch', ((event) => {\n const { request } = event;\n const responsePromise = this.handleRequest({ request, event });\n if (responsePromise) {\n event.respondWith(responsePromise);\n }\n }));\n }\n /**\n * Adds a message event listener for URLs to cache from the window.\n * This is useful to cache resources loaded on the page prior to when the\n * service worker started controlling it.\n *\n * The format of the message data sent from the window should be as follows.\n * Where the `urlsToCache` array may consist of URL strings or an array of\n * URL string + `requestInit` object (the same as you'd pass to `fetch()`).\n *\n * ```\n * {\n * type: 'CACHE_URLS',\n * payload: {\n * urlsToCache: [\n * './script1.js',\n * './script2.js',\n * ['./script3.js', {mode: 'no-cors'}],\n * ],\n * },\n * }\n * ```\n */\n addCacheListener() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('message', ((event) => {\n // event.data is type 'any'\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (event.data && event.data.type === 'CACHE_URLS') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const { payload } = event.data;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Caching URLs from the window`, payload.urlsToCache);\n }\n const requestPromises = Promise.all(payload.urlsToCache.map((entry) => {\n if (typeof entry === 'string') {\n entry = [entry];\n }\n const request = new Request(...entry);\n return this.handleRequest({ request, event });\n // TODO(philipwalton): TypeScript errors without this typecast for\n // some reason (probably a bug). The real type here should work but\n // doesn't: `Array | undefined>`.\n })); // TypeScript\n event.waitUntil(requestPromises);\n // If a MessageChannel was used, reply to the message on success.\n if (event.ports && event.ports[0]) {\n void requestPromises.then(() => event.ports[0].postMessage(true));\n }\n }\n }));\n }\n /**\n * Apply the routing rules to a FetchEvent object to get a Response from an\n * appropriate Route's handler.\n *\n * @param {Object} options\n * @param {Request} options.request The request to handle.\n * @param {ExtendableEvent} options.event The event that triggered the\n * request.\n * @return {Promise|undefined} A promise is returned if a\n * registered route can handle the request. If there is no matching\n * route and there's no `defaultHandler`, `undefined` is returned.\n */\n handleRequest({ request, event, }) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(request, Request, {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'handleRequest',\n paramName: 'options.request',\n });\n }\n const url = new URL(request.url, location.href);\n if (!url.protocol.startsWith('http')) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Workbox Router only supports URLs that start with 'http'.`);\n }\n return;\n }\n const sameOrigin = url.origin === location.origin;\n const { params, route } = this.findMatchingRoute({\n event,\n request,\n sameOrigin,\n url,\n });\n let handler = route && route.handler;\n const debugMessages = [];\n if (process.env.NODE_ENV !== 'production') {\n if (handler) {\n debugMessages.push([`Found a route to handle this request:`, route]);\n if (params) {\n debugMessages.push([\n `Passing the following params to the route's handler:`,\n params,\n ]);\n }\n }\n }\n // If we don't have a handler because there was no matching route, then\n // fall back to defaultHandler if that's defined.\n const method = request.method;\n if (!handler && this._defaultHandlerMap.has(method)) {\n if (process.env.NODE_ENV !== 'production') {\n debugMessages.push(`Failed to find a matching route. Falling ` +\n `back to the default handler for ${method}.`);\n }\n handler = this._defaultHandlerMap.get(method);\n }\n if (!handler) {\n if (process.env.NODE_ENV !== 'production') {\n // No handler so Workbox will do nothing. If logs is set of debug\n // i.e. verbose, we should print out this information.\n logger.debug(`No route found for: ${getFriendlyURL(url)}`);\n }\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // We have a handler, meaning Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Router is responding to: ${getFriendlyURL(url)}`);\n debugMessages.forEach((msg) => {\n if (Array.isArray(msg)) {\n logger.log(...msg);\n }\n else {\n logger.log(msg);\n }\n });\n logger.groupEnd();\n }\n // Wrap in try and catch in case the handle method throws a synchronous\n // error. It should still callback to the catch handler.\n let responsePromise;\n try {\n responsePromise = handler.handle({ url, request, event, params });\n }\n catch (err) {\n responsePromise = Promise.reject(err);\n }\n // Get route's catch handler, if it exists\n const catchHandler = route && route.catchHandler;\n if (responsePromise instanceof Promise &&\n (this._catchHandler || catchHandler)) {\n responsePromise = responsePromise.catch(async (err) => {\n // If there's a route catch handler, process that first\n if (catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to route's Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n try {\n return await catchHandler.handle({ url, request, event, params });\n }\n catch (catchErr) {\n if (catchErr instanceof Error) {\n err = catchErr;\n }\n }\n }\n if (this._catchHandler) {\n if (process.env.NODE_ENV !== 'production') {\n // Still include URL here as it will be async from the console group\n // and may not make sense without the URL\n logger.groupCollapsed(`Error thrown when responding to: ` +\n ` ${getFriendlyURL(url)}. Falling back to global Catch Handler.`);\n logger.error(`Error thrown by:`, route);\n logger.error(err);\n logger.groupEnd();\n }\n return this._catchHandler.handle({ url, request, event });\n }\n throw err;\n });\n }\n return responsePromise;\n }\n /**\n * Checks a request and URL (and optionally an event) against the list of\n * registered routes, and if there's a match, returns the corresponding\n * route along with any params generated by the match.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {boolean} options.sameOrigin The result of comparing `url.origin`\n * against the current origin.\n * @param {Request} options.request The request to match.\n * @param {Event} options.event The corresponding event.\n * @return {Object} An object with `route` and `params` properties.\n * They are populated if a matching route was found or `undefined`\n * otherwise.\n */\n findMatchingRoute({ url, sameOrigin, request, event, }) {\n const routes = this._routes.get(request.method) || [];\n for (const route of routes) {\n let params;\n // route.match returns type any, not possible to change right now.\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n const matchResult = route.match({ url, sameOrigin, request, event });\n if (matchResult) {\n if (process.env.NODE_ENV !== 'production') {\n // Warn developers that using an async matchCallback is almost always\n // not the right thing to do.\n if (matchResult instanceof Promise) {\n logger.warn(`While routing ${getFriendlyURL(url)}, an async ` +\n `matchCallback function was used. Please convert the ` +\n `following route to use a synchronous matchCallback function:`, route);\n }\n }\n // See https://github.com/GoogleChrome/workbox/issues/2079\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n params = matchResult;\n if (Array.isArray(params) && params.length === 0) {\n // Instead of passing an empty array in as params, use undefined.\n params = undefined;\n }\n else if (matchResult.constructor === Object && // eslint-disable-line\n Object.keys(matchResult).length === 0) {\n // Instead of passing an empty object in as params, use undefined.\n params = undefined;\n }\n else if (typeof matchResult === 'boolean') {\n // For the boolean value true (rather than just something truth-y),\n // don't set params.\n // See https://github.com/GoogleChrome/workbox/pull/2134#issuecomment-513924353\n params = undefined;\n }\n // Return early if have a match.\n return { route, params };\n }\n }\n // If no match was found above, return and empty object.\n return {};\n }\n /**\n * Define a default `handler` that's called when no routes explicitly\n * match the incoming request.\n *\n * Each HTTP method ('GET', 'POST', etc.) gets its own default handler.\n *\n * Without a default handler, unmatched requests will go against the\n * network as if there were no service worker present.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {string} [method='GET'] The HTTP method to associate with this\n * default handler. Each method has its own default.\n */\n setDefaultHandler(handler, method = defaultMethod) {\n this._defaultHandlerMap.set(method, normalizeHandler(handler));\n }\n /**\n * If a Route throws an error while handling a request, this `handler`\n * will be called and given a chance to provide a response.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n */\n setCatchHandler(handler) {\n this._catchHandler = normalizeHandler(handler);\n }\n /**\n * Registers a route with the router.\n *\n * @param {workbox-routing.Route} route The route to register.\n */\n registerRoute(route) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isType(route, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route, 'match', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.isType(route.handler, 'object', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route',\n });\n assert.hasMethod(route.handler, 'handle', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.handler',\n });\n assert.isType(route.method, 'string', {\n moduleName: 'workbox-routing',\n className: 'Router',\n funcName: 'registerRoute',\n paramName: 'route.method',\n });\n }\n if (!this._routes.has(route.method)) {\n this._routes.set(route.method, []);\n }\n // Give precedence to all of the earlier routes by adding this additional\n // route to the end of the array.\n this._routes.get(route.method).push(route);\n }\n /**\n * Unregisters a route with the router.\n *\n * @param {workbox-routing.Route} route The route to unregister.\n */\n unregisterRoute(route) {\n if (!this._routes.has(route.method)) {\n throw new WorkboxError('unregister-route-but-not-found-with-method', {\n method: route.method,\n });\n }\n const routeIndex = this._routes.get(route.method).indexOf(route);\n if (routeIndex > -1) {\n this._routes.get(route.method).splice(routeIndex, 1);\n }\n else {\n throw new WorkboxError('unregister-route-route-not-registered');\n }\n }\n}\nexport { Router };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { Router } from '../Router.js';\nimport '../_version.js';\nlet defaultRouter;\n/**\n * Creates a new, singleton Router instance if one does not exist. If one\n * does already exist, that instance is returned.\n *\n * @private\n * @return {Router}\n */\nexport const getOrCreateDefaultRouter = () => {\n if (!defaultRouter) {\n defaultRouter = new Router();\n // The helpers that use the default Router assume these listeners exist.\n defaultRouter.addFetchListener();\n defaultRouter.addCacheListener();\n }\n return defaultRouter;\n};\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Route } from './Route.js';\nimport { RegExpRoute } from './RegExpRoute.js';\nimport { getOrCreateDefaultRouter } from './utils/getOrCreateDefaultRouter.js';\nimport './_version.js';\n/**\n * Easily register a RegExp, string, or function with a caching\n * strategy to a singleton Router instance.\n *\n * This method will generate a Route for you if needed and\n * call {@link workbox-routing.Router#registerRoute}.\n *\n * @param {RegExp|string|workbox-routing.Route~matchCallback|workbox-routing.Route} capture\n * If the capture param is a `Route`, all other arguments will be ignored.\n * @param {workbox-routing~handlerCallback} [handler] A callback\n * function that returns a Promise resulting in a Response. This parameter\n * is required if `capture` is not a `Route` object.\n * @param {string} [method='GET'] The HTTP method to match the Route\n * against.\n * @return {workbox-routing.Route} The generated `Route`.\n *\n * @memberof workbox-routing\n */\nfunction registerRoute(capture, handler, method) {\n let route;\n if (typeof capture === 'string') {\n const captureUrl = new URL(capture, location.href);\n if (process.env.NODE_ENV !== 'production') {\n if (!(capture.startsWith('/') || capture.startsWith('http'))) {\n throw new WorkboxError('invalid-string', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n // We want to check if Express-style wildcards are in the pathname only.\n // TODO: Remove this log message in v4.\n const valueToCheck = capture.startsWith('http')\n ? captureUrl.pathname\n : capture;\n // See https://github.com/pillarjs/path-to-regexp#parameters\n const wildcards = '[*:?+]';\n if (new RegExp(`${wildcards}`).exec(valueToCheck)) {\n logger.debug(`The '$capture' parameter contains an Express-style wildcard ` +\n `character (${wildcards}). Strings are now always interpreted as ` +\n `exact matches; use a RegExp for partial or wildcard matches.`);\n }\n }\n const matchCallback = ({ url }) => {\n if (process.env.NODE_ENV !== 'production') {\n if (url.pathname === captureUrl.pathname &&\n url.origin !== captureUrl.origin) {\n logger.debug(`${capture} only partially matches the cross-origin URL ` +\n `${url.toString()}. This route will only handle cross-origin requests ` +\n `if they match the entire URL.`);\n }\n }\n return url.href === captureUrl.href;\n };\n // If `capture` is a string then `handler` and `method` must be present.\n route = new Route(matchCallback, handler, method);\n }\n else if (capture instanceof RegExp) {\n // If `capture` is a `RegExp` then `handler` and `method` must be present.\n route = new RegExpRoute(capture, handler, method);\n }\n else if (typeof capture === 'function') {\n // If `capture` is a function then `handler` and `method` must be present.\n route = new Route(capture, handler, method);\n }\n else if (capture instanceof Route) {\n route = capture;\n }\n else {\n throw new WorkboxError('unsupported-route-type', {\n moduleName: 'workbox-routing',\n funcName: 'registerRoute',\n paramName: 'capture',\n });\n }\n const defaultRouter = getOrCreateDefaultRouter();\n defaultRouter.registerRoute(route);\n return route;\n}\nexport { registerRoute };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst _cacheNameDetails = {\n googleAnalytics: 'googleAnalytics',\n precache: 'precache-v2',\n prefix: 'workbox',\n runtime: 'runtime',\n suffix: typeof registration !== 'undefined' ? registration.scope : '',\n};\nconst _createCacheName = (cacheName) => {\n return [_cacheNameDetails.prefix, cacheName, _cacheNameDetails.suffix]\n .filter((value) => value && value.length > 0)\n .join('-');\n};\nconst eachCacheNameDetail = (fn) => {\n for (const key of Object.keys(_cacheNameDetails)) {\n fn(key);\n }\n};\nexport const cacheNames = {\n updateDetails: (details) => {\n eachCacheNameDetail((key) => {\n if (typeof details[key] === 'string') {\n _cacheNameDetails[key] = details[key];\n }\n });\n },\n getGoogleAnalyticsName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.googleAnalytics);\n },\n getPrecacheName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.precache);\n },\n getPrefix: () => {\n return _cacheNameDetails.prefix;\n },\n getRuntimeName: (userCacheName) => {\n return userCacheName || _createCacheName(_cacheNameDetails.runtime);\n },\n getSuffix: () => {\n return _cacheNameDetails.suffix;\n },\n};\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A utility method that makes it easier to use `event.waitUntil` with\n * async functions and return the result.\n *\n * @param {ExtendableEvent} event\n * @param {Function} asyncFn\n * @return {Function}\n * @private\n */\nfunction waitUntil(event, asyncFn) {\n const returnPromise = asyncFn();\n event.waitUntil(returnPromise);\n return returnPromise;\n}\nexport { waitUntil };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:precaching:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport '../_version.js';\n// Name of the search parameter used to store revision info.\nconst REVISION_SEARCH_PARAM = '__WB_REVISION__';\n/**\n * Converts a manifest entry into a versioned URL suitable for precaching.\n *\n * @param {Object|string} entry\n * @return {string} A URL with versioning info.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function createCacheKey(entry) {\n if (!entry) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If a precache manifest entry is a string, it's assumed to be a versioned\n // URL, like '/app.abcd1234.js'. Return as-is.\n if (typeof entry === 'string') {\n const urlObject = new URL(entry, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n const { revision, url } = entry;\n if (!url) {\n throw new WorkboxError('add-to-cache-list-unexpected-type', { entry });\n }\n // If there's just a URL and no revision, then it's also assumed to be a\n // versioned URL.\n if (!revision) {\n const urlObject = new URL(url, location.href);\n return {\n cacheKey: urlObject.href,\n url: urlObject.href,\n };\n }\n // Otherwise, construct a properly versioned URL using the custom Workbox\n // search parameter along with the revision info.\n const cacheKeyURL = new URL(url, location.href);\n const originalURL = new URL(url, location.href);\n cacheKeyURL.searchParams.set(REVISION_SEARCH_PARAM, revision);\n return {\n cacheKey: cacheKeyURL.href,\n url: originalURL.href,\n };\n}\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to determine the\n * of assets that were updated (or not updated) during the install event.\n *\n * @private\n */\nclass PrecacheInstallReportPlugin {\n constructor() {\n this.updatedURLs = [];\n this.notUpdatedURLs = [];\n this.handlerWillStart = async ({ request, state, }) => {\n // TODO: `state` should never be undefined...\n if (state) {\n state.originalRequest = request;\n }\n };\n this.cachedResponseWillBeUsed = async ({ event, state, cachedResponse, }) => {\n if (event.type === 'install') {\n if (state &&\n state.originalRequest &&\n state.originalRequest instanceof Request) {\n // TODO: `state` should never be undefined...\n const url = state.originalRequest.url;\n if (cachedResponse) {\n this.notUpdatedURLs.push(url);\n }\n else {\n this.updatedURLs.push(url);\n }\n }\n }\n return cachedResponse;\n };\n }\n}\nexport { PrecacheInstallReportPlugin };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * A plugin, designed to be used with PrecacheController, to translate URLs into\n * the corresponding cache key, based on the current revision info.\n *\n * @private\n */\nclass PrecacheCacheKeyPlugin {\n constructor({ precacheController }) {\n this.cacheKeyWillBeUsed = async ({ request, params, }) => {\n // Params is type any, can't change right now.\n /* eslint-disable */\n const cacheKey = (params === null || params === void 0 ? void 0 : params.cacheKey) ||\n this._precacheController.getCacheKeyForURL(request.url);\n /* eslint-enable */\n return cacheKey\n ? new Request(cacheKey, { headers: request.headers })\n : request;\n };\n this._precacheController = precacheController;\n }\n}\nexport { PrecacheCacheKeyPlugin };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nlet supportStatus;\n/**\n * A utility function that determines whether the current browser supports\n * constructing a new `Response` from a `response.body` stream.\n *\n * @return {boolean} `true`, if the current browser can successfully\n * construct a `Response` from a `response.body` stream, `false` otherwise.\n *\n * @private\n */\nfunction canConstructResponseFromBodyStream() {\n if (supportStatus === undefined) {\n const testResponse = new Response('');\n if ('body' in testResponse) {\n try {\n new Response(testResponse.body);\n supportStatus = true;\n }\n catch (error) {\n supportStatus = false;\n }\n }\n supportStatus = false;\n }\n return supportStatus;\n}\nexport { canConstructResponseFromBodyStream };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { canConstructResponseFromBodyStream } from './_private/canConstructResponseFromBodyStream.js';\nimport { WorkboxError } from './_private/WorkboxError.js';\nimport './_version.js';\n/**\n * Allows developers to copy a response and modify its `headers`, `status`,\n * or `statusText` values (the values settable via a\n * [`ResponseInit`]{@link https://developer.mozilla.org/en-US/docs/Web/API/Response/Response#Syntax}\n * object in the constructor).\n * To modify these values, pass a function as the second argument. That\n * function will be invoked with a single object with the response properties\n * `{headers, status, statusText}`. The return value of this function will\n * be used as the `ResponseInit` for the new `Response`. To change the values\n * either modify the passed parameter(s) and return it, or return a totally\n * new object.\n *\n * This method is intentionally limited to same-origin responses, regardless of\n * whether CORS was used or not.\n *\n * @param {Response} response\n * @param {Function} modifier\n * @memberof workbox-core\n */\nasync function copyResponse(response, modifier) {\n let origin = null;\n // If response.url isn't set, assume it's cross-origin and keep origin null.\n if (response.url) {\n const responseURL = new URL(response.url);\n origin = responseURL.origin;\n }\n if (origin !== self.location.origin) {\n throw new WorkboxError('cross-origin-copy-response', { origin });\n }\n const clonedResponse = response.clone();\n // Create a fresh `ResponseInit` object by cloning the headers.\n const responseInit = {\n headers: new Headers(clonedResponse.headers),\n status: clonedResponse.status,\n statusText: clonedResponse.statusText,\n };\n // Apply any user modifications.\n const modifiedResponseInit = modifier ? modifier(responseInit) : responseInit;\n // Create the new response from the body stream and `ResponseInit`\n // modifications. Note: not all browsers support the Response.body stream,\n // so fall back to reading the entire body into memory as a blob.\n const body = canConstructResponseFromBodyStream()\n ? clonedResponse.body\n : await clonedResponse.blob();\n return new Response(body, modifiedResponseInit);\n}\nexport { copyResponse };\n","/*\n Copyright 2020 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nfunction stripParams(fullURL, ignoreParams) {\n const strippedURL = new URL(fullURL);\n for (const param of ignoreParams) {\n strippedURL.searchParams.delete(param);\n }\n return strippedURL.href;\n}\n/**\n * Matches an item in the cache, ignoring specific URL params. This is similar\n * to the `ignoreSearch` option, but it allows you to ignore just specific\n * params (while continuing to match on the others).\n *\n * @private\n * @param {Cache} cache\n * @param {Request} request\n * @param {Object} matchOptions\n * @param {Array} ignoreParams\n * @return {Promise}\n */\nasync function cacheMatchIgnoreParams(cache, request, ignoreParams, matchOptions) {\n const strippedRequestURL = stripParams(request.url, ignoreParams);\n // If the request doesn't include any ignored params, match as normal.\n if (request.url === strippedRequestURL) {\n return cache.match(request, matchOptions);\n }\n // Otherwise, match by comparing keys\n const keysOptions = Object.assign(Object.assign({}, matchOptions), { ignoreSearch: true });\n const cacheKeys = await cache.keys(request, keysOptions);\n for (const cacheKey of cacheKeys) {\n const strippedCacheKeyURL = stripParams(cacheKey.url, ignoreParams);\n if (strippedRequestURL === strippedCacheKeyURL) {\n return cache.match(cacheKey, matchOptions);\n }\n }\n return;\n}\nexport { cacheMatchIgnoreParams };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * The Deferred class composes Promises in a way that allows for them to be\n * resolved or rejected from outside the constructor. In most cases promises\n * should be used directly, but Deferreds can be necessary when the logic to\n * resolve a promise must be separate.\n *\n * @private\n */\nclass Deferred {\n /**\n * Creates a promise and exposes its resolve and reject functions as methods.\n */\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\nexport { Deferred };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n// Callbacks to be executed whenever there's a quota error.\n// Can't change Function type right now.\n// eslint-disable-next-line @typescript-eslint/ban-types\nconst quotaErrorCallbacks = new Set();\nexport { quotaErrorCallbacks };\n","\"use strict\";\n// @ts-ignore\ntry {\n self['workbox:strategies:7.2.0'] && _();\n}\ncatch (e) { }\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheMatchIgnoreParams } from 'workbox-core/_private/cacheMatchIgnoreParams.js';\nimport { Deferred } from 'workbox-core/_private/Deferred.js';\nimport { executeQuotaErrorCallbacks } from 'workbox-core/_private/executeQuotaErrorCallbacks.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { timeout } from 'workbox-core/_private/timeout.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport './_version.js';\nfunction toRequest(input) {\n return typeof input === 'string' ? new Request(input) : input;\n}\n/**\n * A class created every time a Strategy instance instance calls\n * {@link workbox-strategies.Strategy~handle} or\n * {@link workbox-strategies.Strategy~handleAll} that wraps all fetch and\n * cache actions around plugin callbacks and keeps track of when the strategy\n * is \"done\" (i.e. all added `event.waitUntil()` promises have resolved).\n *\n * @memberof workbox-strategies\n */\nclass StrategyHandler {\n /**\n * Creates a new instance associated with the passed strategy and event\n * that's handling the request.\n *\n * The constructor also initializes the state that will be passed to each of\n * the plugins handling this request.\n *\n * @param {workbox-strategies.Strategy} strategy\n * @param {Object} options\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params] The return value from the\n * {@link workbox-routing~matchCallback} (if applicable).\n */\n constructor(strategy, options) {\n this._cacheKeys = {};\n /**\n * The request the strategy is performing (passed to the strategy's\n * `handle()` or `handleAll()` method).\n * @name request\n * @instance\n * @type {Request}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * The event associated with this request.\n * @name event\n * @instance\n * @type {ExtendableEvent}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `URL` instance of `request.url` (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `url` param will be present if the strategy was invoked\n * from a workbox `Route` object.\n * @name url\n * @instance\n * @type {URL|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n /**\n * A `param` value (if passed to the strategy's\n * `handle()` or `handleAll()` method).\n * Note: the `param` param will be present if the strategy was invoked\n * from a workbox `Route` object and the\n * {@link workbox-routing~matchCallback} returned\n * a truthy value (it will be that value).\n * @name params\n * @instance\n * @type {*|undefined}\n * @memberof workbox-strategies.StrategyHandler\n */\n if (process.env.NODE_ENV !== 'production') {\n assert.isInstance(options.event, ExtendableEvent, {\n moduleName: 'workbox-strategies',\n className: 'StrategyHandler',\n funcName: 'constructor',\n paramName: 'options.event',\n });\n }\n Object.assign(this, options);\n this.event = options.event;\n this._strategy = strategy;\n this._handlerDeferred = new Deferred();\n this._extendLifetimePromises = [];\n // Copy the plugins list (since it's mutable on the strategy),\n // so any mutations don't affect this handler instance.\n this._plugins = [...strategy.plugins];\n this._pluginStateMap = new Map();\n for (const plugin of this._plugins) {\n this._pluginStateMap.set(plugin, {});\n }\n this.event.waitUntil(this._handlerDeferred.promise);\n }\n /**\n * Fetches a given request (and invokes any applicable plugin callback\n * methods) using the `fetchOptions` (for non-navigation requests) and\n * `plugins` defined on the `Strategy` object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - `requestWillFetch()`\n * - `fetchDidSucceed()`\n * - `fetchDidFail()`\n *\n * @param {Request|string} input The URL or request to fetch.\n * @return {Promise}\n */\n async fetch(input) {\n const { event } = this;\n let request = toRequest(input);\n if (request.mode === 'navigate' &&\n event instanceof FetchEvent &&\n event.preloadResponse) {\n const possiblePreloadResponse = (await event.preloadResponse);\n if (possiblePreloadResponse) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Using a preloaded navigation response for ` +\n `'${getFriendlyURL(request.url)}'`);\n }\n return possiblePreloadResponse;\n }\n }\n // If there is a fetchDidFail plugin, we need to save a clone of the\n // original request before it's either modified by a requestWillFetch\n // plugin or before the original request's body is consumed via fetch().\n const originalRequest = this.hasCallback('fetchDidFail')\n ? request.clone()\n : null;\n try {\n for (const cb of this.iterateCallbacks('requestWillFetch')) {\n request = await cb({ request: request.clone(), event });\n }\n }\n catch (err) {\n if (err instanceof Error) {\n throw new WorkboxError('plugin-error-request-will-fetch', {\n thrownErrorMessage: err.message,\n });\n }\n }\n // The request can be altered by plugins with `requestWillFetch` making\n // the original request (most likely from a `fetch` event) different\n // from the Request we make. Pass both to `fetchDidFail` to aid debugging.\n const pluginFilteredRequest = request.clone();\n try {\n let fetchResponse;\n // See https://github.com/GoogleChrome/workbox/issues/1796\n fetchResponse = await fetch(request, request.mode === 'navigate' ? undefined : this._strategy.fetchOptions);\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Network request for ` +\n `'${getFriendlyURL(request.url)}' returned a response with ` +\n `status '${fetchResponse.status}'.`);\n }\n for (const callback of this.iterateCallbacks('fetchDidSucceed')) {\n fetchResponse = await callback({\n event,\n request: pluginFilteredRequest,\n response: fetchResponse,\n });\n }\n return fetchResponse;\n }\n catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`Network request for ` +\n `'${getFriendlyURL(request.url)}' threw an error.`, error);\n }\n // `originalRequest` will only exist if a `fetchDidFail` callback\n // is being used (see above).\n if (originalRequest) {\n await this.runCallbacks('fetchDidFail', {\n error: error,\n event,\n originalRequest: originalRequest.clone(),\n request: pluginFilteredRequest.clone(),\n });\n }\n throw error;\n }\n }\n /**\n * Calls `this.fetch()` and (in the background) runs `this.cachePut()` on\n * the response generated by `this.fetch()`.\n *\n * The call to `this.cachePut()` automatically invokes `this.waitUntil()`,\n * so you do not have to manually call `waitUntil()` on the event.\n *\n * @param {Request|string} input The request or URL to fetch and cache.\n * @return {Promise}\n */\n async fetchAndCachePut(input) {\n const response = await this.fetch(input);\n const responseClone = response.clone();\n void this.waitUntil(this.cachePut(input, responseClone));\n return response;\n }\n /**\n * Matches a request from the cache (and invokes any applicable plugin\n * callback methods) using the `cacheName`, `matchOptions`, and `plugins`\n * defined on the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillBeUsed()\n * - cachedResponseWillBeUsed()\n *\n * @param {Request|string} key The Request or URL to use as the cache key.\n * @return {Promise} A matching response, if found.\n */\n async cacheMatch(key) {\n const request = toRequest(key);\n let cachedResponse;\n const { cacheName, matchOptions } = this._strategy;\n const effectiveRequest = await this.getCacheKey(request, 'read');\n const multiMatchOptions = Object.assign(Object.assign({}, matchOptions), { cacheName });\n cachedResponse = await caches.match(effectiveRequest, multiMatchOptions);\n if (process.env.NODE_ENV !== 'production') {\n if (cachedResponse) {\n logger.debug(`Found a cached response in '${cacheName}'.`);\n }\n else {\n logger.debug(`No cached response found in '${cacheName}'.`);\n }\n }\n for (const callback of this.iterateCallbacks('cachedResponseWillBeUsed')) {\n cachedResponse =\n (await callback({\n cacheName,\n matchOptions,\n cachedResponse,\n request: effectiveRequest,\n event: this.event,\n })) || undefined;\n }\n return cachedResponse;\n }\n /**\n * Puts a request/response pair in the cache (and invokes any applicable\n * plugin callback methods) using the `cacheName` and `plugins` defined on\n * the strategy object.\n *\n * The following plugin lifecycle methods are invoked when using this method:\n * - cacheKeyWillBeUsed()\n * - cacheWillUpdate()\n * - cacheDidUpdate()\n *\n * @param {Request|string} key The request or URL to use as the cache key.\n * @param {Response} response The response to cache.\n * @return {Promise} `false` if a cacheWillUpdate caused the response\n * not be cached, and `true` otherwise.\n */\n async cachePut(key, response) {\n const request = toRequest(key);\n // Run in the next task to avoid blocking other cache reads.\n // https://github.com/w3c/ServiceWorker/issues/1397\n await timeout(0);\n const effectiveRequest = await this.getCacheKey(request, 'write');\n if (process.env.NODE_ENV !== 'production') {\n if (effectiveRequest.method && effectiveRequest.method !== 'GET') {\n throw new WorkboxError('attempt-to-cache-non-get-request', {\n url: getFriendlyURL(effectiveRequest.url),\n method: effectiveRequest.method,\n });\n }\n // See https://github.com/GoogleChrome/workbox/issues/2818\n const vary = response.headers.get('Vary');\n if (vary) {\n logger.debug(`The response for ${getFriendlyURL(effectiveRequest.url)} ` +\n `has a 'Vary: ${vary}' header. ` +\n `Consider setting the {ignoreVary: true} option on your strategy ` +\n `to ensure cache matching and deletion works as expected.`);\n }\n }\n if (!response) {\n if (process.env.NODE_ENV !== 'production') {\n logger.error(`Cannot cache non-existent response for ` +\n `'${getFriendlyURL(effectiveRequest.url)}'.`);\n }\n throw new WorkboxError('cache-put-with-no-response', {\n url: getFriendlyURL(effectiveRequest.url),\n });\n }\n const responseToCache = await this._ensureResponseSafeToCache(response);\n if (!responseToCache) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Response '${getFriendlyURL(effectiveRequest.url)}' ` +\n `will not be cached.`, responseToCache);\n }\n return false;\n }\n const { cacheName, matchOptions } = this._strategy;\n const cache = await self.caches.open(cacheName);\n const hasCacheUpdateCallback = this.hasCallback('cacheDidUpdate');\n const oldResponse = hasCacheUpdateCallback\n ? await cacheMatchIgnoreParams(\n // TODO(philipwalton): the `__WB_REVISION__` param is a precaching\n // feature. Consider into ways to only add this behavior if using\n // precaching.\n cache, effectiveRequest.clone(), ['__WB_REVISION__'], matchOptions)\n : null;\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Updating the '${cacheName}' cache with a new Response ` +\n `for ${getFriendlyURL(effectiveRequest.url)}.`);\n }\n try {\n await cache.put(effectiveRequest, hasCacheUpdateCallback ? responseToCache.clone() : responseToCache);\n }\n catch (error) {\n if (error instanceof Error) {\n // See https://developer.mozilla.org/en-US/docs/Web/API/DOMException#exception-QuotaExceededError\n if (error.name === 'QuotaExceededError') {\n await executeQuotaErrorCallbacks();\n }\n throw error;\n }\n }\n for (const callback of this.iterateCallbacks('cacheDidUpdate')) {\n await callback({\n cacheName,\n oldResponse,\n newResponse: responseToCache.clone(),\n request: effectiveRequest,\n event: this.event,\n });\n }\n return true;\n }\n /**\n * Checks the list of plugins for the `cacheKeyWillBeUsed` callback, and\n * executes any of those callbacks found in sequence. The final `Request`\n * object returned by the last plugin is treated as the cache key for cache\n * reads and/or writes. If no `cacheKeyWillBeUsed` plugin callbacks have\n * been registered, the passed request is returned unmodified\n *\n * @param {Request} request\n * @param {string} mode\n * @return {Promise}\n */\n async getCacheKey(request, mode) {\n const key = `${request.url} | ${mode}`;\n if (!this._cacheKeys[key]) {\n let effectiveRequest = request;\n for (const callback of this.iterateCallbacks('cacheKeyWillBeUsed')) {\n effectiveRequest = toRequest(await callback({\n mode,\n request: effectiveRequest,\n event: this.event,\n // params has a type any can't change right now.\n params: this.params, // eslint-disable-line\n }));\n }\n this._cacheKeys[key] = effectiveRequest;\n }\n return this._cacheKeys[key];\n }\n /**\n * Returns true if the strategy has at least one plugin with the given\n * callback.\n *\n * @param {string} name The name of the callback to check for.\n * @return {boolean}\n */\n hasCallback(name) {\n for (const plugin of this._strategy.plugins) {\n if (name in plugin) {\n return true;\n }\n }\n return false;\n }\n /**\n * Runs all plugin callbacks matching the given name, in order, passing the\n * given param object (merged ith the current plugin state) as the only\n * argument.\n *\n * Note: since this method runs all plugins, it's not suitable for cases\n * where the return value of a callback needs to be applied prior to calling\n * the next callback. See\n * {@link workbox-strategies.StrategyHandler#iterateCallbacks}\n * below for how to handle that case.\n *\n * @param {string} name The name of the callback to run within each plugin.\n * @param {Object} param The object to pass as the first (and only) param\n * when executing each callback. This object will be merged with the\n * current plugin state prior to callback execution.\n */\n async runCallbacks(name, param) {\n for (const callback of this.iterateCallbacks(name)) {\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n await callback(param);\n }\n }\n /**\n * Accepts a callback and returns an iterable of matching plugin callbacks,\n * where each callback is wrapped with the current handler state (i.e. when\n * you call each callback, whatever object parameter you pass it will\n * be merged with the plugin's current state).\n *\n * @param {string} name The name fo the callback to run\n * @return {Array}\n */\n *iterateCallbacks(name) {\n for (const plugin of this._strategy.plugins) {\n if (typeof plugin[name] === 'function') {\n const state = this._pluginStateMap.get(plugin);\n const statefulCallback = (param) => {\n const statefulParam = Object.assign(Object.assign({}, param), { state });\n // TODO(philipwalton): not sure why `any` is needed. It seems like\n // this should work with `as WorkboxPluginCallbackParam[C]`.\n return plugin[name](statefulParam);\n };\n yield statefulCallback;\n }\n }\n }\n /**\n * Adds a promise to the\n * [extend lifetime promises]{@link https://w3c.github.io/ServiceWorker/#extendableevent-extend-lifetime-promises}\n * of the event event associated with the request being handled (usually a\n * `FetchEvent`).\n *\n * Note: you can await\n * {@link workbox-strategies.StrategyHandler~doneWaiting}\n * to know when all added promises have settled.\n *\n * @param {Promise} promise A promise to add to the extend lifetime promises\n * of the event that triggered the request.\n */\n waitUntil(promise) {\n this._extendLifetimePromises.push(promise);\n return promise;\n }\n /**\n * Returns a promise that resolves once all promises passed to\n * {@link workbox-strategies.StrategyHandler~waitUntil}\n * have settled.\n *\n * Note: any work done after `doneWaiting()` settles should be manually\n * passed to an event's `waitUntil()` method (not this handler's\n * `waitUntil()` method), otherwise the service worker thread my be killed\n * prior to your work completing.\n */\n async doneWaiting() {\n let promise;\n while ((promise = this._extendLifetimePromises.shift())) {\n await promise;\n }\n }\n /**\n * Stops running the strategy and immediately resolves any pending\n * `waitUntil()` promises.\n */\n destroy() {\n this._handlerDeferred.resolve(null);\n }\n /**\n * This method will call cacheWillUpdate on the available plugins (or use\n * status === 200) to determine if the Response is safe and valid to cache.\n *\n * @param {Request} options.request\n * @param {Response} options.response\n * @return {Promise}\n *\n * @private\n */\n async _ensureResponseSafeToCache(response) {\n let responseToCache = response;\n let pluginsUsed = false;\n for (const callback of this.iterateCallbacks('cacheWillUpdate')) {\n responseToCache =\n (await callback({\n request: this.request,\n response: responseToCache,\n event: this.event,\n })) || undefined;\n pluginsUsed = true;\n if (!responseToCache) {\n break;\n }\n }\n if (!pluginsUsed) {\n if (responseToCache && responseToCache.status !== 200) {\n responseToCache = undefined;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (responseToCache) {\n if (responseToCache.status !== 200) {\n if (responseToCache.status === 0) {\n logger.warn(`The response for '${this.request.url}' ` +\n `is an opaque response. The caching strategy that you're ` +\n `using will not cache opaque responses by default.`);\n }\n else {\n logger.debug(`The response for '${this.request.url}' ` +\n `returned a status code of '${response.status}' and won't ` +\n `be cached as a result.`);\n }\n }\n }\n }\n }\n return responseToCache;\n }\n}\nexport { StrategyHandler };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Returns a promise that resolves and the passed number of milliseconds.\n * This utility is an async/await-friendly version of `setTimeout`.\n *\n * @param {number} ms\n * @return {Promise}\n * @private\n */\nexport function timeout(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst getFriendlyURL = (url) => {\n const urlObj = new URL(String(url), location.href);\n // See https://github.com/GoogleChrome/workbox/issues/2323\n // We want to include everything, except for the origin if it's same-origin.\n return urlObj.href.replace(new RegExp(`^${location.origin}`), '');\n};\nexport { getFriendlyURL };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from '../_private/logger.js';\nimport { quotaErrorCallbacks } from '../models/quotaErrorCallbacks.js';\nimport '../_version.js';\n/**\n * Runs all of the callback functions, one at a time sequentially, in the order\n * in which they were registered.\n *\n * @memberof workbox-core\n * @private\n */\nasync function executeQuotaErrorCallbacks() {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`About to run ${quotaErrorCallbacks.size} ` +\n `callbacks to clean up caches.`);\n }\n for (const callback of quotaErrorCallbacks) {\n await callback();\n if (process.env.NODE_ENV !== 'production') {\n logger.log(callback, 'is complete.');\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log('Finished running callbacks.');\n }\n}\nexport { executeQuotaErrorCallbacks };\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { StrategyHandler } from './StrategyHandler.js';\nimport './_version.js';\n/**\n * An abstract base class that all other strategy classes must extend from:\n *\n * @memberof workbox-strategies\n */\nclass Strategy {\n /**\n * Creates a new instance of the strategy and sets all documented option\n * properties as public instance properties.\n *\n * Note: if a custom strategy class extends the base Strategy class and does\n * not need more than these properties, it does not need to define its own\n * constructor.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * [`init`](https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters)\n * of [non-navigation](https://github.com/GoogleChrome/workbox/issues/1796)\n * `fetch()` requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n */\n constructor(options = {}) {\n /**\n * Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n *\n * @type {string}\n */\n this.cacheName = cacheNames.getRuntimeName(options.cacheName);\n /**\n * The list\n * [Plugins]{@link https://developers.google.com/web/tools/workbox/guides/using-plugins}\n * used by this strategy.\n *\n * @type {Array}\n */\n this.plugins = options.plugins || [];\n /**\n * Values passed along to the\n * [`init`]{@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters}\n * of all fetch() requests made by this strategy.\n *\n * @type {Object}\n */\n this.fetchOptions = options.fetchOptions;\n /**\n * The\n * [`CacheQueryOptions`]{@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n *\n * @type {Object}\n */\n this.matchOptions = options.matchOptions;\n }\n /**\n * Perform a request strategy and returns a `Promise` that will resolve with\n * a `Response`, invoking all relevant plugin callbacks.\n *\n * When a strategy instance is registered with a Workbox\n * {@link workbox-routing.Route}, this method is automatically\n * called when the route matches.\n *\n * Alternatively, this method can be used in a standalone `FetchEvent`\n * listener by passing it to `event.respondWith()`.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n */\n handle(options) {\n const [responseDone] = this.handleAll(options);\n return responseDone;\n }\n /**\n * Similar to {@link workbox-strategies.Strategy~handle}, but\n * instead of just returning a `Promise` that resolves to a `Response` it\n * it will return an tuple of `[response, done]` promises, where the former\n * (`response`) is equivalent to what `handle()` returns, and the latter is a\n * Promise that will resolve once any promises that were added to\n * `event.waitUntil()` as part of performing the strategy have completed.\n *\n * You can await the `done` promise to ensure any extra work performed by\n * the strategy (usually caching responses) completes successfully.\n *\n * @param {FetchEvent|Object} options A `FetchEvent` or an object with the\n * properties listed below.\n * @param {Request|string} options.request A request to run this strategy for.\n * @param {ExtendableEvent} options.event The event associated with the\n * request.\n * @param {URL} [options.url]\n * @param {*} [options.params]\n * @return {Array} A tuple of [response, done]\n * promises that can be used to determine when the response resolves as\n * well as when the handler has completed all its work.\n */\n handleAll(options) {\n // Allow for flexible options to be passed.\n if (options instanceof FetchEvent) {\n options = {\n event: options,\n request: options.request,\n };\n }\n const event = options.event;\n const request = typeof options.request === 'string'\n ? new Request(options.request)\n : options.request;\n const params = 'params' in options ? options.params : undefined;\n const handler = new StrategyHandler(this, { event, request, params });\n const responseDone = this._getResponse(handler, request, event);\n const handlerDone = this._awaitComplete(responseDone, handler, request, event);\n // Return an array of promises, suitable for use with Promise.all().\n return [responseDone, handlerDone];\n }\n async _getResponse(handler, request, event) {\n await handler.runCallbacks('handlerWillStart', { event, request });\n let response = undefined;\n try {\n response = await this._handle(request, handler);\n // The \"official\" Strategy subclasses all throw this error automatically,\n // but in case a third-party Strategy doesn't, ensure that we have a\n // consistent failure when there's no response or an error response.\n if (!response || response.type === 'error') {\n throw new WorkboxError('no-response', { url: request.url });\n }\n }\n catch (error) {\n if (error instanceof Error) {\n for (const callback of handler.iterateCallbacks('handlerDidError')) {\n response = await callback({ error, event, request });\n if (response) {\n break;\n }\n }\n }\n if (!response) {\n throw error;\n }\n else if (process.env.NODE_ENV !== 'production') {\n logger.log(`While responding to '${getFriendlyURL(request.url)}', ` +\n `an ${error instanceof Error ? error.toString() : ''} error occurred. Using a fallback response provided by ` +\n `a handlerDidError plugin.`);\n }\n }\n for (const callback of handler.iterateCallbacks('handlerWillRespond')) {\n response = await callback({ event, request, response });\n }\n return response;\n }\n async _awaitComplete(responseDone, handler, request, event) {\n let response;\n let error;\n try {\n response = await responseDone;\n }\n catch (error) {\n // Ignore errors, as response errors should be caught via the `response`\n // promise above. The `done` promise will only throw for errors in\n // promises passed to `handler.waitUntil()`.\n }\n try {\n await handler.runCallbacks('handlerDidRespond', {\n event,\n request,\n response,\n });\n await handler.doneWaiting();\n }\n catch (waitUntilError) {\n if (waitUntilError instanceof Error) {\n error = waitUntilError;\n }\n }\n await handler.runCallbacks('handlerDidComplete', {\n event,\n request,\n response,\n error: error,\n });\n handler.destroy();\n if (error) {\n throw error;\n }\n }\n}\nexport { Strategy };\n/**\n * Classes extending the `Strategy` based class should implement this method,\n * and leverage the {@link workbox-strategies.StrategyHandler}\n * arg to perform all fetching and cache logic, which will ensure all relevant\n * cache, cache options, fetch options and plugins are used (per the current\n * strategy instance).\n *\n * @name _handle\n * @instance\n * @abstract\n * @function\n * @param {Request} request\n * @param {workbox-strategies.StrategyHandler} handler\n * @return {Promise}\n *\n * @memberof workbox-strategies.Strategy\n */\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { copyResponse } from 'workbox-core/copyResponse.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { Strategy } from 'workbox-strategies/Strategy.js';\nimport './_version.js';\n/**\n * A {@link workbox-strategies.Strategy} implementation\n * specifically designed to work with\n * {@link workbox-precaching.PrecacheController}\n * to both cache and fetch precached assets.\n *\n * Note: an instance of this class is created automatically when creating a\n * `PrecacheController`; it's generally not necessary to create this yourself.\n *\n * @extends workbox-strategies.Strategy\n * @memberof workbox-precaching\n */\nclass PrecacheStrategy extends Strategy {\n /**\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] Cache name to store and retrieve\n * requests. Defaults to the cache names provided by\n * {@link workbox-core.cacheNames}.\n * @param {Array} [options.plugins] {@link https://developers.google.com/web/tools/workbox/guides/using-plugins|Plugins}\n * to use in conjunction with this caching strategy.\n * @param {Object} [options.fetchOptions] Values passed along to the\n * {@link https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/fetch#Parameters|init}\n * of all fetch() requests made by this strategy.\n * @param {Object} [options.matchOptions] The\n * {@link https://w3c.github.io/ServiceWorker/#dictdef-cachequeryoptions|CacheQueryOptions}\n * for any `cache.match()` or `cache.put()` calls made by this strategy.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor(options = {}) {\n options.cacheName = cacheNames.getPrecacheName(options.cacheName);\n super(options);\n this._fallbackToNetwork =\n options.fallbackToNetwork === false ? false : true;\n // Redirected responses cannot be used to satisfy a navigation request, so\n // any redirected response must be \"copied\" rather than cloned, so the new\n // response doesn't contain the `redirected` flag. See:\n // https://bugs.chromium.org/p/chromium/issues/detail?id=669363&desc=2#c1\n this.plugins.push(PrecacheStrategy.copyRedirectedCacheableResponsesPlugin);\n }\n /**\n * @private\n * @param {Request|string} request A request to run this strategy for.\n * @param {workbox-strategies.StrategyHandler} handler The event that\n * triggered the request.\n * @return {Promise}\n */\n async _handle(request, handler) {\n const response = await handler.cacheMatch(request);\n if (response) {\n return response;\n }\n // If this is an `install` event for an entry that isn't already cached,\n // then populate the cache.\n if (handler.event && handler.event.type === 'install') {\n return await this._handleInstall(request, handler);\n }\n // Getting here means something went wrong. An entry that should have been\n // precached wasn't found in the cache.\n return await this._handleFetch(request, handler);\n }\n async _handleFetch(request, handler) {\n let response;\n const params = (handler.params || {});\n // Fall back to the network if we're configured to do so.\n if (this._fallbackToNetwork) {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(`The precached response for ` +\n `${getFriendlyURL(request.url)} in ${this.cacheName} was not ` +\n `found. Falling back to the network.`);\n }\n const integrityInManifest = params.integrity;\n const integrityInRequest = request.integrity;\n const noIntegrityConflict = !integrityInRequest || integrityInRequest === integrityInManifest;\n // Do not add integrity if the original request is no-cors\n // See https://github.com/GoogleChrome/workbox/issues/3096\n response = await handler.fetch(new Request(request, {\n integrity: request.mode !== 'no-cors'\n ? integrityInRequest || integrityInManifest\n : undefined,\n }));\n // It's only \"safe\" to repair the cache if we're using SRI to guarantee\n // that the response matches the precache manifest's expectations,\n // and there's either a) no integrity property in the incoming request\n // or b) there is an integrity, and it matches the precache manifest.\n // See https://github.com/GoogleChrome/workbox/issues/2858\n // Also if the original request users no-cors we don't use integrity.\n // See https://github.com/GoogleChrome/workbox/issues/3096\n if (integrityInManifest &&\n noIntegrityConflict &&\n request.mode !== 'no-cors') {\n this._useDefaultCacheabilityPluginIfNeeded();\n const wasCached = await handler.cachePut(request, response.clone());\n if (process.env.NODE_ENV !== 'production') {\n if (wasCached) {\n logger.log(`A response for ${getFriendlyURL(request.url)} ` +\n `was used to \"repair\" the precache.`);\n }\n }\n }\n }\n else {\n // This shouldn't normally happen, but there are edge cases:\n // https://github.com/GoogleChrome/workbox/issues/1441\n throw new WorkboxError('missing-precache-entry', {\n cacheName: this.cacheName,\n url: request.url,\n });\n }\n if (process.env.NODE_ENV !== 'production') {\n const cacheKey = params.cacheKey || (await handler.getCacheKey(request, 'read'));\n // Workbox is going to handle the route.\n // print the routing details to the console.\n logger.groupCollapsed(`Precaching is responding to: ` + getFriendlyURL(request.url));\n logger.log(`Serving the precached url: ${getFriendlyURL(cacheKey instanceof Request ? cacheKey.url : cacheKey)}`);\n logger.groupCollapsed(`View request details here.`);\n logger.log(request);\n logger.groupEnd();\n logger.groupCollapsed(`View response details here.`);\n logger.log(response);\n logger.groupEnd();\n logger.groupEnd();\n }\n return response;\n }\n async _handleInstall(request, handler) {\n this._useDefaultCacheabilityPluginIfNeeded();\n const response = await handler.fetch(request);\n // Make sure we defer cachePut() until after we know the response\n // should be cached; see https://github.com/GoogleChrome/workbox/issues/2737\n const wasCached = await handler.cachePut(request, response.clone());\n if (!wasCached) {\n // Throwing here will lead to the `install` handler failing, which\n // we want to do if *any* of the responses aren't safe to cache.\n throw new WorkboxError('bad-precaching-response', {\n url: request.url,\n status: response.status,\n });\n }\n return response;\n }\n /**\n * This method is complex, as there a number of things to account for:\n *\n * The `plugins` array can be set at construction, and/or it might be added to\n * to at any time before the strategy is used.\n *\n * At the time the strategy is used (i.e. during an `install` event), there\n * needs to be at least one plugin that implements `cacheWillUpdate` in the\n * array, other than `copyRedirectedCacheableResponsesPlugin`.\n *\n * - If this method is called and there are no suitable `cacheWillUpdate`\n * plugins, we need to add `defaultPrecacheCacheabilityPlugin`.\n *\n * - If this method is called and there is exactly one `cacheWillUpdate`, then\n * we don't have to do anything (this might be a previously added\n * `defaultPrecacheCacheabilityPlugin`, or it might be a custom plugin).\n *\n * - If this method is called and there is more than one `cacheWillUpdate`,\n * then we need to check if one is `defaultPrecacheCacheabilityPlugin`. If so,\n * we need to remove it. (This situation is unlikely, but it could happen if\n * the strategy is used multiple times, the first without a `cacheWillUpdate`,\n * and then later on after manually adding a custom `cacheWillUpdate`.)\n *\n * See https://github.com/GoogleChrome/workbox/issues/2737 for more context.\n *\n * @private\n */\n _useDefaultCacheabilityPluginIfNeeded() {\n let defaultPluginIndex = null;\n let cacheWillUpdatePluginCount = 0;\n for (const [index, plugin] of this.plugins.entries()) {\n // Ignore the copy redirected plugin when determining what to do.\n if (plugin === PrecacheStrategy.copyRedirectedCacheableResponsesPlugin) {\n continue;\n }\n // Save the default plugin's index, in case it needs to be removed.\n if (plugin === PrecacheStrategy.defaultPrecacheCacheabilityPlugin) {\n defaultPluginIndex = index;\n }\n if (plugin.cacheWillUpdate) {\n cacheWillUpdatePluginCount++;\n }\n }\n if (cacheWillUpdatePluginCount === 0) {\n this.plugins.push(PrecacheStrategy.defaultPrecacheCacheabilityPlugin);\n }\n else if (cacheWillUpdatePluginCount > 1 && defaultPluginIndex !== null) {\n // Only remove the default plugin; multiple custom plugins are allowed.\n this.plugins.splice(defaultPluginIndex, 1);\n }\n // Nothing needs to be done if cacheWillUpdatePluginCount is 1\n }\n}\nPrecacheStrategy.defaultPrecacheCacheabilityPlugin = {\n async cacheWillUpdate({ response }) {\n if (!response || response.status >= 400) {\n return null;\n }\n return response;\n },\n};\nPrecacheStrategy.copyRedirectedCacheableResponsesPlugin = {\n async cacheWillUpdate({ response }) {\n return response.redirected ? await copyResponse(response) : response;\n },\n};\nexport { PrecacheStrategy };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { WorkboxError } from 'workbox-core/_private/WorkboxError.js';\nimport { waitUntil } from 'workbox-core/_private/waitUntil.js';\nimport { createCacheKey } from './utils/createCacheKey.js';\nimport { PrecacheInstallReportPlugin } from './utils/PrecacheInstallReportPlugin.js';\nimport { PrecacheCacheKeyPlugin } from './utils/PrecacheCacheKeyPlugin.js';\nimport { printCleanupDetails } from './utils/printCleanupDetails.js';\nimport { printInstallDetails } from './utils/printInstallDetails.js';\nimport { PrecacheStrategy } from './PrecacheStrategy.js';\nimport './_version.js';\n/**\n * Performs efficient precaching of assets.\n *\n * @memberof workbox-precaching\n */\nclass PrecacheController {\n /**\n * Create a new PrecacheController.\n *\n * @param {Object} [options]\n * @param {string} [options.cacheName] The cache to use for precaching.\n * @param {string} [options.plugins] Plugins to use when precaching as well\n * as responding to fetch events for precached assets.\n * @param {boolean} [options.fallbackToNetwork=true] Whether to attempt to\n * get the response from the network if there's a precache miss.\n */\n constructor({ cacheName, plugins = [], fallbackToNetwork = true, } = {}) {\n this._urlsToCacheKeys = new Map();\n this._urlsToCacheModes = new Map();\n this._cacheKeysToIntegrities = new Map();\n this._strategy = new PrecacheStrategy({\n cacheName: cacheNames.getPrecacheName(cacheName),\n plugins: [\n ...plugins,\n new PrecacheCacheKeyPlugin({ precacheController: this }),\n ],\n fallbackToNetwork,\n });\n // Bind the install and activate methods to the instance.\n this.install = this.install.bind(this);\n this.activate = this.activate.bind(this);\n }\n /**\n * @type {workbox-precaching.PrecacheStrategy} The strategy created by this controller and\n * used to cache assets and respond to fetch events.\n */\n get strategy() {\n return this._strategy;\n }\n /**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n */\n precache(entries) {\n this.addToCacheList(entries);\n if (!this._installAndActiveListenersAdded) {\n self.addEventListener('install', this.install);\n self.addEventListener('activate', this.activate);\n this._installAndActiveListenersAdded = true;\n }\n }\n /**\n * This method will add items to the precache list, removing duplicates\n * and ensuring the information is valid.\n *\n * @param {Array} entries\n * Array of entries to precache.\n */\n addToCacheList(entries) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArray(entries, {\n moduleName: 'workbox-precaching',\n className: 'PrecacheController',\n funcName: 'addToCacheList',\n paramName: 'entries',\n });\n }\n const urlsToWarnAbout = [];\n for (const entry of entries) {\n // See https://github.com/GoogleChrome/workbox/issues/2259\n if (typeof entry === 'string') {\n urlsToWarnAbout.push(entry);\n }\n else if (entry && entry.revision === undefined) {\n urlsToWarnAbout.push(entry.url);\n }\n const { cacheKey, url } = createCacheKey(entry);\n const cacheMode = typeof entry !== 'string' && entry.revision ? 'reload' : 'default';\n if (this._urlsToCacheKeys.has(url) &&\n this._urlsToCacheKeys.get(url) !== cacheKey) {\n throw new WorkboxError('add-to-cache-list-conflicting-entries', {\n firstEntry: this._urlsToCacheKeys.get(url),\n secondEntry: cacheKey,\n });\n }\n if (typeof entry !== 'string' && entry.integrity) {\n if (this._cacheKeysToIntegrities.has(cacheKey) &&\n this._cacheKeysToIntegrities.get(cacheKey) !== entry.integrity) {\n throw new WorkboxError('add-to-cache-list-conflicting-integrities', {\n url,\n });\n }\n this._cacheKeysToIntegrities.set(cacheKey, entry.integrity);\n }\n this._urlsToCacheKeys.set(url, cacheKey);\n this._urlsToCacheModes.set(url, cacheMode);\n if (urlsToWarnAbout.length > 0) {\n const warningMessage = `Workbox is precaching URLs without revision ` +\n `info: ${urlsToWarnAbout.join(', ')}\\nThis is generally NOT safe. ` +\n `Learn more at https://bit.ly/wb-precache`;\n if (process.env.NODE_ENV === 'production') {\n // Use console directly to display this warning without bloating\n // bundle sizes by pulling in all of the logger codebase in prod.\n console.warn(warningMessage);\n }\n else {\n logger.warn(warningMessage);\n }\n }\n }\n }\n /**\n * Precaches new and updated assets. Call this method from the service worker\n * install event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n install(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const installReportPlugin = new PrecacheInstallReportPlugin();\n this.strategy.plugins.push(installReportPlugin);\n // Cache entries one at a time.\n // See https://github.com/GoogleChrome/workbox/issues/2528\n for (const [url, cacheKey] of this._urlsToCacheKeys) {\n const integrity = this._cacheKeysToIntegrities.get(cacheKey);\n const cacheMode = this._urlsToCacheModes.get(url);\n const request = new Request(url, {\n integrity,\n cache: cacheMode,\n credentials: 'same-origin',\n });\n await Promise.all(this.strategy.handleAll({\n params: { cacheKey },\n request,\n event,\n }));\n }\n const { updatedURLs, notUpdatedURLs } = installReportPlugin;\n if (process.env.NODE_ENV !== 'production') {\n printInstallDetails(updatedURLs, notUpdatedURLs);\n }\n return { updatedURLs, notUpdatedURLs };\n });\n }\n /**\n * Deletes assets that are no longer present in the current precache manifest.\n * Call this method from the service worker activate event.\n *\n * Note: this method calls `event.waitUntil()` for you, so you do not need\n * to call it yourself in your event handlers.\n *\n * @param {ExtendableEvent} event\n * @return {Promise}\n */\n activate(event) {\n // waitUntil returns Promise\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return waitUntil(event, async () => {\n const cache = await self.caches.open(this.strategy.cacheName);\n const currentlyCachedRequests = await cache.keys();\n const expectedCacheKeys = new Set(this._urlsToCacheKeys.values());\n const deletedURLs = [];\n for (const request of currentlyCachedRequests) {\n if (!expectedCacheKeys.has(request.url)) {\n await cache.delete(request);\n deletedURLs.push(request.url);\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n printCleanupDetails(deletedURLs);\n }\n return { deletedURLs };\n });\n }\n /**\n * Returns a mapping of a precached URL to the corresponding cache key, taking\n * into account the revision information for the URL.\n *\n * @return {Map} A URL to cache key mapping.\n */\n getURLsToCacheKeys() {\n return this._urlsToCacheKeys;\n }\n /**\n * Returns a list of all the URLs that have been precached by the current\n * service worker.\n *\n * @return {Array} The precached URLs.\n */\n getCachedURLs() {\n return [...this._urlsToCacheKeys.keys()];\n }\n /**\n * Returns the cache key used for storing a given URL. If that URL is\n * unversioned, like `/index.html', then the cache key will be the original\n * URL with a search parameter appended to it.\n *\n * @param {string} url A URL whose cache key you want to look up.\n * @return {string} The versioned URL that corresponds to a cache key\n * for the original URL, or undefined if that URL isn't precached.\n */\n getCacheKeyForURL(url) {\n const urlObject = new URL(url, location.href);\n return this._urlsToCacheKeys.get(urlObject.href);\n }\n /**\n * @param {string} url A cache key whose SRI you want to look up.\n * @return {string} The subresource integrity associated with the cache key,\n * or undefined if it's not set.\n */\n getIntegrityForCacheKey(cacheKey) {\n return this._cacheKeysToIntegrities.get(cacheKey);\n }\n /**\n * This acts as a drop-in replacement for\n * [`cache.match()`](https://developer.mozilla.org/en-US/docs/Web/API/Cache/match)\n * with the following differences:\n *\n * - It knows what the name of the precache is, and only checks in that cache.\n * - It allows you to pass in an \"original\" URL without versioning parameters,\n * and it will automatically look up the correct cache key for the currently\n * active revision of that URL.\n *\n * E.g., `matchPrecache('index.html')` will find the correct precached\n * response for the currently active service worker, even if the actual cache\n * key is `'/index.html?__WB_REVISION__=1234abcd'`.\n *\n * @param {string|Request} request The key (without revisioning parameters)\n * to look up in the precache.\n * @return {Promise}\n */\n async matchPrecache(request) {\n const url = request instanceof Request ? request.url : request;\n const cacheKey = this.getCacheKeyForURL(url);\n if (cacheKey) {\n const cache = await self.caches.open(this.strategy.cacheName);\n return cache.match(cacheKey);\n }\n return undefined;\n }\n /**\n * Returns a function that looks up `url` in the precache (taking into\n * account revision information), and returns the corresponding `Response`.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @return {workbox-routing~handlerCallback}\n */\n createHandlerBoundToURL(url) {\n const cacheKey = this.getCacheKeyForURL(url);\n if (!cacheKey) {\n throw new WorkboxError('non-precached-url', { url });\n }\n return (options) => {\n options.request = new Request(url);\n options.params = Object.assign({ cacheKey }, options.params);\n return this.strategy.handle(options);\n };\n }\n}\nexport { PrecacheController };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { PrecacheController } from '../PrecacheController.js';\nimport '../_version.js';\nlet precacheController;\n/**\n * @return {PrecacheController}\n * @private\n */\nexport const getOrCreatePrecacheController = () => {\n if (!precacheController) {\n precacheController = new PrecacheController();\n }\n return precacheController;\n};\n","/*\n Copyright 2020 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { getFriendlyURL } from 'workbox-core/_private/getFriendlyURL.js';\nimport { Route } from 'workbox-routing/Route.js';\nimport { generateURLVariations } from './utils/generateURLVariations.js';\nimport './_version.js';\n/**\n * A subclass of {@link workbox-routing.Route} that takes a\n * {@link workbox-precaching.PrecacheController}\n * instance and uses it to match incoming requests and handle fetching\n * responses from the precache.\n *\n * @memberof workbox-precaching\n * @extends workbox-routing.Route\n */\nclass PrecacheRoute extends Route {\n /**\n * @param {PrecacheController} precacheController A `PrecacheController`\n * instance used to both match requests and respond to fetch events.\n * @param {Object} [options] Options to control how requests are matched\n * against the list of precached URLs.\n * @param {string} [options.directoryIndex=index.html] The `directoryIndex` will\n * check cache entries for a URLs ending with '/' to see if there is a hit when\n * appending the `directoryIndex` value.\n * @param {Array} [options.ignoreURLParametersMatching=[/^utm_/, /^fbclid$/]] An\n * array of regex's to remove search params when looking for a cache match.\n * @param {boolean} [options.cleanURLs=true] The `cleanURLs` option will\n * check the cache for the URL with a `.html` added to the end of the end.\n * @param {workbox-precaching~urlManipulation} [options.urlManipulation]\n * This is a function that should take a URL and return an array of\n * alternative URLs that should be checked for precache matches.\n */\n constructor(precacheController, options) {\n const match = ({ request, }) => {\n const urlsToCacheKeys = precacheController.getURLsToCacheKeys();\n for (const possibleURL of generateURLVariations(request.url, options)) {\n const cacheKey = urlsToCacheKeys.get(possibleURL);\n if (cacheKey) {\n const integrity = precacheController.getIntegrityForCacheKey(cacheKey);\n return { cacheKey, integrity };\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`Precaching did not find a match for ` + getFriendlyURL(request.url));\n }\n return;\n };\n super(match, precacheController.strategy);\n }\n}\nexport { PrecacheRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { removeIgnoredSearchParams } from './removeIgnoredSearchParams.js';\nimport '../_version.js';\n/**\n * Generator function that yields possible variations on the original URL to\n * check, one at a time.\n *\n * @param {string} url\n * @param {Object} options\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function* generateURLVariations(url, { ignoreURLParametersMatching = [/^utm_/, /^fbclid$/], directoryIndex = 'index.html', cleanURLs = true, urlManipulation, } = {}) {\n const urlObject = new URL(url, location.href);\n urlObject.hash = '';\n yield urlObject.href;\n const urlWithoutIgnoredParams = removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching);\n yield urlWithoutIgnoredParams.href;\n if (directoryIndex && urlWithoutIgnoredParams.pathname.endsWith('/')) {\n const directoryURL = new URL(urlWithoutIgnoredParams.href);\n directoryURL.pathname += directoryIndex;\n yield directoryURL.href;\n }\n if (cleanURLs) {\n const cleanURL = new URL(urlWithoutIgnoredParams.href);\n cleanURL.pathname += '.html';\n yield cleanURL.href;\n }\n if (urlManipulation) {\n const additionalURLs = urlManipulation({ url: urlObject });\n for (const urlToAttempt of additionalURLs) {\n yield urlToAttempt.href;\n }\n }\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\n/**\n * Removes any URL search parameters that should be ignored.\n *\n * @param {URL} urlObject The original URL.\n * @param {Array} ignoreURLParametersMatching RegExps to test against\n * each search parameter name. Matches mean that the search parameter should be\n * ignored.\n * @return {URL} The URL with any ignored search parameters removed.\n *\n * @private\n * @memberof workbox-precaching\n */\nexport function removeIgnoredSearchParams(urlObject, ignoreURLParametersMatching = []) {\n // Convert the iterable into an array at the start of the loop to make sure\n // deletion doesn't mess up iteration.\n for (const paramName of [...urlObject.searchParams.keys()]) {\n if (ignoreURLParametersMatching.some((regExp) => regExp.test(paramName))) {\n urlObject.searchParams.delete(paramName);\n }\n }\n return urlObject;\n}\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { assert } from 'workbox-core/_private/assert.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { Route } from './Route.js';\nimport './_version.js';\n/**\n * NavigationRoute makes it easy to create a\n * {@link workbox-routing.Route} that matches for browser\n * [navigation requests]{@link https://developers.google.com/web/fundamentals/primers/service-workers/high-performance-loading#first_what_are_navigation_requests}.\n *\n * It will only match incoming Requests whose\n * {@link https://fetch.spec.whatwg.org/#concept-request-mode|mode}\n * is set to `navigate`.\n *\n * You can optionally only apply this route to a subset of navigation requests\n * by using one or both of the `denylist` and `allowlist` parameters.\n *\n * @memberof workbox-routing\n * @extends workbox-routing.Route\n */\nclass NavigationRoute extends Route {\n /**\n * If both `denylist` and `allowlist` are provided, the `denylist` will\n * take precedence and the request will not match this route.\n *\n * The regular expressions in `allowlist` and `denylist`\n * are matched against the concatenated\n * [`pathname`]{@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/pathname}\n * and [`search`]{@link https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils/search}\n * portions of the requested URL.\n *\n * *Note*: These RegExps may be evaluated against every destination URL during\n * a navigation. Avoid using\n * [complex RegExps](https://github.com/GoogleChrome/workbox/issues/3077),\n * or else your users may see delays when navigating your site.\n *\n * @param {workbox-routing~handlerCallback} handler A callback\n * function that returns a Promise resulting in a Response.\n * @param {Object} options\n * @param {Array} [options.denylist] If any of these patterns match,\n * the route will not handle the request (even if a allowlist RegExp matches).\n * @param {Array} [options.allowlist=[/./]] If any of these patterns\n * match the URL's pathname and search parameter, the route will handle the\n * request (assuming the denylist doesn't match).\n */\n constructor(handler, { allowlist = [/./], denylist = [] } = {}) {\n if (process.env.NODE_ENV !== 'production') {\n assert.isArrayOfClass(allowlist, RegExp, {\n moduleName: 'workbox-routing',\n className: 'NavigationRoute',\n funcName: 'constructor',\n paramName: 'options.allowlist',\n });\n assert.isArrayOfClass(denylist, RegExp, {\n moduleName: 'workbox-routing',\n className: 'NavigationRoute',\n funcName: 'constructor',\n paramName: 'options.denylist',\n });\n }\n super((options) => this._match(options), handler);\n this._allowlist = allowlist;\n this._denylist = denylist;\n }\n /**\n * Routes match handler.\n *\n * @param {Object} options\n * @param {URL} options.url\n * @param {Request} options.request\n * @return {boolean}\n *\n * @private\n */\n _match({ url, request }) {\n if (request && request.mode !== 'navigate') {\n return false;\n }\n const pathnameAndSearch = url.pathname + url.search;\n for (const regExp of this._denylist) {\n if (regExp.test(pathnameAndSearch)) {\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`The navigation route ${pathnameAndSearch} is not ` +\n `being used, since the URL matches this denylist pattern: ` +\n `${regExp.toString()}`);\n }\n return false;\n }\n }\n if (this._allowlist.some((regExp) => regExp.test(pathnameAndSearch))) {\n if (process.env.NODE_ENV !== 'production') {\n logger.debug(`The navigation route ${pathnameAndSearch} ` + `is being used.`);\n }\n return true;\n }\n if (process.env.NODE_ENV !== 'production') {\n logger.log(`The navigation route ${pathnameAndSearch} is not ` +\n `being used, since the URL being navigated to doesn't ` +\n `match the allowlist.`);\n }\n return false;\n }\n}\nexport { NavigationRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { cacheNames } from 'workbox-core/_private/cacheNames.js';\nimport { logger } from 'workbox-core/_private/logger.js';\nimport { deleteOutdatedCaches } from './utils/deleteOutdatedCaches.js';\nimport './_version.js';\n/**\n * Adds an `activate` event listener which will clean up incompatible\n * precaches that were created by older versions of Workbox.\n *\n * @memberof workbox-precaching\n */\nfunction cleanupOutdatedCaches() {\n // See https://github.com/Microsoft/TypeScript/issues/28357#issuecomment-436484705\n self.addEventListener('activate', ((event) => {\n const cacheName = cacheNames.getPrecacheName();\n event.waitUntil(deleteOutdatedCaches(cacheName).then((cachesDeleted) => {\n if (process.env.NODE_ENV !== 'production') {\n if (cachesDeleted.length > 0) {\n logger.log(`The following out-of-date precaches were cleaned up ` +\n `automatically:`, cachesDeleted);\n }\n }\n }));\n }));\n}\nexport { cleanupOutdatedCaches };\n","/*\n Copyright 2018 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport '../_version.js';\nconst SUBSTRING_TO_FIND = '-precache-';\n/**\n * Cleans up incompatible precaches that were created by older versions of\n * Workbox, by a service worker registered under the current scope.\n *\n * This is meant to be called as part of the `activate` event.\n *\n * This should be safe to use as long as you don't include `substringToFind`\n * (defaulting to `-precache-`) in your non-precache cache names.\n *\n * @param {string} currentPrecacheName The cache name currently in use for\n * precaching. This cache won't be deleted.\n * @param {string} [substringToFind='-precache-'] Cache names which include this\n * substring will be deleted (excluding `currentPrecacheName`).\n * @return {Array} A list of all the cache names that were deleted.\n *\n * @private\n * @memberof workbox-precaching\n */\nconst deleteOutdatedCaches = async (currentPrecacheName, substringToFind = SUBSTRING_TO_FIND) => {\n const cacheNames = await self.caches.keys();\n const cacheNamesToDelete = cacheNames.filter((cacheName) => {\n return (cacheName.includes(substringToFind) &&\n cacheName.includes(self.registration.scope) &&\n cacheName !== currentPrecacheName);\n });\n await Promise.all(cacheNamesToDelete.map((cacheName) => self.caches.delete(cacheName)));\n return cacheNamesToDelete;\n};\nexport { deleteOutdatedCaches };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Helper function that calls\n * {@link PrecacheController#createHandlerBoundToURL} on the default\n * {@link PrecacheController} instance.\n *\n * If you are creating your own {@link PrecacheController}, then call the\n * {@link PrecacheController#createHandlerBoundToURL} on that instance,\n * instead of using this function.\n *\n * @param {string} url The precached URL which will be used to lookup the\n * `Response`.\n * @param {boolean} [fallbackToNetwork=true] Whether to attempt to get the\n * response from the network if there's a precache miss.\n * @return {workbox-routing~handlerCallback}\n *\n * @memberof workbox-precaching\n */\nfunction createHandlerBoundToURL(url) {\n const precacheController = getOrCreatePrecacheController();\n return precacheController.createHandlerBoundToURL(url);\n}\nexport { createHandlerBoundToURL };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { addRoute } from './addRoute.js';\nimport { precache } from './precache.js';\nimport './_version.js';\n/**\n * This method will add entries to the precache list and add a route to\n * respond to fetch events.\n *\n * This is a convenience method that will call\n * {@link workbox-precaching.precache} and\n * {@link workbox-precaching.addRoute} in a single call.\n *\n * @param {Array} entries Array of entries to precache.\n * @param {Object} [options] See the\n * {@link workbox-precaching.PrecacheRoute} options.\n *\n * @memberof workbox-precaching\n */\nfunction precacheAndRoute(entries, options) {\n precache(entries);\n addRoute(options);\n}\nexport { precacheAndRoute };\n","/*\n Copyright 2019 Google LLC\n\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport './_version.js';\n/**\n * Adds items to the precache list, removing any duplicates and\n * stores the files in the\n * {@link workbox-core.cacheNames|\"precache cache\"} when the service\n * worker installs.\n *\n * This method can be called multiple times.\n *\n * Please note: This method **will not** serve any of the cached files for you.\n * It only precaches files. To respond to a network request you call\n * {@link workbox-precaching.addRoute}.\n *\n * If you have a single array of files to precache, you can just call\n * {@link workbox-precaching.precacheAndRoute}.\n *\n * @param {Array} [entries=[]] Array of entries to precache.\n *\n * @memberof workbox-precaching\n */\nfunction precache(entries) {\n const precacheController = getOrCreatePrecacheController();\n precacheController.precache(entries);\n}\nexport { precache };\n","/*\n Copyright 2019 Google LLC\n Use of this source code is governed by an MIT-style\n license that can be found in the LICENSE file or at\n https://opensource.org/licenses/MIT.\n*/\nimport { registerRoute } from 'workbox-routing/registerRoute.js';\nimport { getOrCreatePrecacheController } from './utils/getOrCreatePrecacheController.js';\nimport { PrecacheRoute } from './PrecacheRoute.js';\nimport './_version.js';\n/**\n * Add a `fetch` listener to the service worker that will\n * respond to\n * [network requests]{@link https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers#Custom_responses_to_requests}\n * with precached assets.\n *\n * Requests for assets that aren't precached, the `FetchEvent` will not be\n * responded to, allowing the event to fall through to other `fetch` event\n * listeners.\n *\n * @param {Object} [options] See the {@link workbox-precaching.PrecacheRoute}\n * options.\n *\n * @memberof workbox-precaching\n */\nfunction addRoute(options) {\n const precacheController = getOrCreatePrecacheController();\n const precacheRoute = new PrecacheRoute(precacheController, options);\n registerRoute(precacheRoute);\n}\nexport { addRoute };\n"],"names":["self","_","e","messageGenerator","fallback","code","args","msg","length","JSON","stringify","WorkboxError","Error","constructor","errorCode","details","super","this","name","normalizeHandler","handler","handle","Route","match","method","setCatchHandler","catchHandler","RegExpRoute","regExp","url","result","exec","href","origin","location","index","slice","Router","_routes","Map","_defaultHandlerMap","routes","addFetchListener","addEventListener","event","request","responsePromise","handleRequest","respondWith","addCacheListener","data","type","payload","requestPromises","Promise","all","urlsToCache","map","entry","Request","waitUntil","ports","then","postMessage","URL","protocol","startsWith","sameOrigin","params","route","findMatchingRoute","has","get","err","reject","_catchHandler","catch","async","catchErr","matchResult","Array","isArray","Object","keys","undefined","setDefaultHandler","set","registerRoute","push","unregisterRoute","routeIndex","indexOf","splice","defaultRouter","getOrCreateDefaultRouter","capture","captureUrl","matchCallback","RegExp","moduleName","funcName","paramName","_cacheNameDetails","googleAnalytics","precache","prefix","runtime","suffix","registration","scope","_createCacheName","cacheName","filter","value","join","cacheNames","userCacheName","asyncFn","returnPromise","createCacheKey","urlObject","cacheKey","revision","cacheKeyURL","originalURL","searchParams","PrecacheInstallReportPlugin","updatedURLs","notUpdatedURLs","handlerWillStart","state","originalRequest","cachedResponseWillBeUsed","cachedResponse","PrecacheCacheKeyPlugin","precacheController","cacheKeyWillBeUsed","_precacheController","getCacheKeyForURL","headers","supportStatus","copyResponse","response","modifier","clonedResponse","clone","responseInit","Headers","status","statusText","modifiedResponseInit","body","testResponse","Response","error","canConstructResponseFromBodyStream","blob","stripParams","fullURL","ignoreParams","strippedURL","param","delete","Deferred","promise","resolve","quotaErrorCallbacks","Set","toRequest","input","StrategyHandler","strategy","options","_cacheKeys","assign","_strategy","_handlerDeferred","_extendLifetimePromises","_plugins","plugins","_pluginStateMap","plugin","fetch","mode","FetchEvent","preloadResponse","possiblePreloadResponse","hasCallback","cb","iterateCallbacks","thrownErrorMessage","message","pluginFilteredRequest","fetchResponse","fetchOptions","callback","runCallbacks","fetchAndCachePut","responseClone","cachePut","cacheMatch","key","matchOptions","effectiveRequest","getCacheKey","multiMatchOptions","caches","ms","setTimeout","String","replace","responseToCache","_ensureResponseSafeToCache","cache","open","hasCacheUpdateCallback","oldResponse","strippedRequestURL","keysOptions","ignoreSearch","cacheKeys","cacheMatchIgnoreParams","put","executeQuotaErrorCallbacks","newResponse","statefulCallback","statefulParam","doneWaiting","shift","destroy","pluginsUsed","Strategy","responseDone","handleAll","_getResponse","_awaitComplete","_handle","waitUntilError","PrecacheStrategy","_fallbackToNetwork","fallbackToNetwork","copyRedirectedCacheableResponsesPlugin","_handleInstall","_handleFetch","integrityInManifest","integrity","integrityInRequest","noIntegrityConflict","_useDefaultCacheabilityPluginIfNeeded","defaultPluginIndex","cacheWillUpdatePluginCount","entries","defaultPrecacheCacheabilityPlugin","cacheWillUpdate","redirected","PrecacheController","_urlsToCacheKeys","_urlsToCacheModes","_cacheKeysToIntegrities","install","bind","activate","addToCacheList","_installAndActiveListenersAdded","urlsToWarnAbout","cacheMode","firstEntry","secondEntry","warningMessage","console","warn","installReportPlugin","credentials","currentlyCachedRequests","expectedCacheKeys","values","deletedURLs","getURLsToCacheKeys","getCachedURLs","getIntegrityForCacheKey","matchPrecache","createHandlerBoundToURL","getOrCreatePrecacheController","PrecacheRoute","urlsToCacheKeys","possibleURL","ignoreURLParametersMatching","directoryIndex","cleanURLs","urlManipulation","hash","urlWithoutIgnoredParams","some","test","removeIgnoredSearchParams","pathname","endsWith","directoryURL","cleanURL","additionalURLs","urlToAttempt","generateURLVariations","allowlist","denylist","_match","_allowlist","_denylist","pathnameAndSearch","search","currentPrecacheName","substringToFind","cacheNamesToDelete","includes","deleteOutdatedCaches","cachesDeleted","addRoute"],"mappings":"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"} \ No newline at end of file