Skip to content
React Artifact *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--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;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--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;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.18 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-5{bottom:1.25rem}.left-3{left:.75rem}.right-5{right:1.25rem}.top-0{top:0}.top-3{top:.75rem}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.mx-auto{margin-left:auto;margin-right:auto}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/10\]{aspect-ratio:16/10}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-\[20px\]{height:20px}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[52px\]{height:52px}.h-\[56px\]{height:56px}.h-full{height:100%}.h-px{height:1px}.min-h-screen{min-height:100vh}.w-5{width:1.25rem}.w-7{width:1.75rem}.w-\[56px\]{width:56px}.w-auto{width:auto}.w-full{width:100%}.max-w-\[1160px\]{max-width:1160px}.flex-1{flex:1 1 0%}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded{border-radius:.25rem}.rounded-\[14px\]{border-radius:14px}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-\[\#C5A46A\]\/15{border-color:hsla(38,44%,59%,.15)}.border-\[\#C5A46A\]\/20{border-color:hsla(38,44%,59%,.2)}.border-\[\#C5A46A\]\/25{border-color:hsla(38,44%,59%,.25)}.border-\[\#C5A46A\]\/30{border-color:hsla(38,44%,59%,.3)}.border-\[\#C5A46A\]\/40{border-color:hsla(38,44%,59%,.4)}.border-black\/10{border-color:rgba(0,0,0,.1)}.bg-\[\#101010\]{--tw-bg-opacity:1;background-color:rgb(16 16 16/var(--tw-bg-opacity,1))}.bg-\[\#25D366\]{--tw-bg-opacity:1;background-color:rgb(37 211 102/var(--tw-bg-opacity,1))}.bg-\[\#C5A46A\]{--tw-bg-opacity:1;background-color:rgb(197 164 106/var(--tw-bg-opacity,1))}.bg-\[\#C5A46A\]\/15{background-color:hsla(38,44%,59%,.15)}.bg-\[\#C5A46A\]\/30{background-color:hsla(38,44%,59%,.3)}.bg-\[\#F6F1E8\]{--tw-bg-opacity:1;background-color:rgb(246 241 232/var(--tw-bg-opacity,1))}.bg-\[\#F9F5EB\]{--tw-bg-opacity:1;background-color:rgb(249 245 235/var(--tw-bg-opacity,1))}.bg-\[\#FFFEFB\]{--tw-bg-opacity:1;background-color:rgb(255 254 251/var(--tw-bg-opacity,1))}.bg-\[\#FFFEFB\]\/90{background-color:rgba(255,254,251,.9)}.bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.bg-black\/10{background-color:rgba(0,0,0,.1)}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.fill-white{fill:#fff}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.pb-20{padding-bottom:5rem}.pl-5{padding-left:1.25rem}.pt-10{padding-top:2.5rem}.text-center{text-align:center}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14\.8px\]{font-size:14.8px}.text-\[15\.5px\]{font-size:15.5px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.leading-\[0\.97\]{line-height:.97}.leading-\[1\.75\]{line-height:1.75}.leading-\[1\.9\]{line-height:1.9}.leading-tight{line-height:1.25}.tracking-\[0\.22em\]{letter-spacing:.22em}.tracking-\[0\.2em\]{letter-spacing:.2em}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-\[\#141414\]{--tw-text-opacity:1;color:rgb(20 20 20/var(--tw-text-opacity,1))}.text-\[\#222\]{--tw-text-opacity:1;color:rgb(34 34 34/var(--tw-text-opacity,1))}.text-\[\#2A2A2A\]{--tw-text-opacity:1;color:rgb(42 42 42/var(--tw-text-opacity,1))}.text-\[\#555\]{--tw-text-opacity:1;color:rgb(85 85 85/var(--tw-text-opacity,1))}.text-\[\#666\]{--tw-text-opacity:1;color:rgb(102 102 102/var(--tw-text-opacity,1))}.text-\[\#8A7A5A\]{--tw-text-opacity:1;color:rgb(138 122 90/var(--tw-text-opacity,1))}.text-\[\#9A9A9A\]{--tw-text-opacity:1;color:rgb(154 154 154/var(--tw-text-opacity,1))}.text-\[\#C5A46A\]{--tw-text-opacity:1;color:rgb(197 164 106/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.decoration-\[\#C5A46A\]{text-decoration-color:#c5a46a}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-80{opacity:.8}.shadow-\[0_10px_30px_rgba\(0\2c 0\2c 0\2c 0\.25\)\]{--tw-shadow:0 10px 30px rgba(0,0,0,.25);--tw-shadow-colored:0 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_50px_rgba\(0\2c 0\2c 0\2c 0\.12\)\]{--tw-shadow:0 18px 50px rgba(0,0,0,.12);--tw-shadow-colored:0 18px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_70px_rgba\(197\2c 164\2c 106\2c 0\.18\)\2c 0_8px_20px_rgba\(0\2c 0\2c 0\2c 0\.08\)\]{--tw-shadow:0 24px 70px hsla(38,44%,59%,.18),0 8px 20px rgba(0,0,0,.08);--tw-shadow-colored:0 24px 70px var(--tw-shadow-color),0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.brightness-0{--tw-brightness:brightness(0)}.brightness-0,.invert{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)}.invert{--tw-invert:invert(100%)}.backdrop-blur{--tw-backdrop-blur:blur(8px);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-700{transition-duration:.7s}#root,body,html{min-height:100%}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[role=button]:not([aria-disabled=true]),button:not(:disabled),label[for],select:not(:disabled),summary{cursor:pointer}.hover\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:text-black:hover{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}@media (min-width:768px){.md\:mt-16{margin-top:4rem}.md\:mt-20{margin-top:5rem}.md\:inline{display:inline}.md\:grid-cols-\[1\.15fr_0\.85fr\]{grid-template-columns:1.15fr .85fr}.md\:flex-row{flex-direction:row}.md\:gap-10{gap:2.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:pt-14{padding-top:3.5rem}.md\:text-\[12px\]{font-size:12px}.md\:text-\[26px\]{font-size:26px}.md\:text-\[30px\]{font-size:30px}.md\:text-\[44px\]{font-size:44px}} .maplibregl-map{overflow:hidden;position:relative;-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif}.maplibregl-canvas{position:absolute;top:0;left:0}.maplibregl-map:-webkit-full-screen{width:100%;height:100%}.maplibregl-map:fullscreen{width:100%;height: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{top:0;left:0}.maplibregl-ctrl-top-right{top:0;right: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{box-sizing:border-box;cursor:pointer;display:block;outline:none;background-color:#0000;border:0;width:29px;height:29px;padding:0}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{display:block;background-position:50%;background-repeat:no-repeat;width:100%;height:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:#0000}.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}@media (hover:hover){.maplibregl-ctrl button:not(:disabled):hover{background-color:#0000000d}}.maplibregl-ctrl button:not(:disabled):active{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-globe .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='none' stroke='%23333' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-globe-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='none' stroke='%2333b5e5' viewBox='0 0 22 22'%3E%3Ccircle cx='11' cy='11' r='8.5'/%3E%3Cpath d='M17.5 11c0 4.819-3.02 8.5-6.5 8.5S4.5 15.819 4.5 11 7.52 2.5 11 2.5s6.5 3.681 6.5 8.5Z'/%3E%3Cpath d='M13.5 11c0 2.447-.331 4.64-.853 6.206-.262.785-.562 1.384-.872 1.777-.314.399-.58.517-.775.517s-.461-.118-.775-.517c-.31-.393-.61-.992-.872-1.777C8.831 15.64 8.5 13.446 8.5 11s.331-4.64.853-6.206c.262-.785.562-1.384.872-1.777.314-.399.58-.517.775-.517s.461.118.775.517c.31.393.61.992.872 1.777.522 1.565.853 3.76.853 6.206Z'/%3E%3Cpath d='M11 7.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138q.07-.058.224-.138c.299-.151.763-.302 1.379-.434C7.378 5.666 9.091 5.5 11 5.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138q-.07.058-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428ZM4.486 6.436ZM11 16.5c-1.909 0-3.622-.166-4.845-.428-.616-.132-1.08-.283-1.379-.434a1.3 1.3 0 0 1-.224-.138 1.3 1.3 0 0 1 .224-.138c.299-.151.763-.302 1.379-.434C7.378 14.666 9.091 14.5 11 14.5s3.622.166 4.845.428c.616.132 1.08.283 1.379.434.105.053.177.1.224.138a1.3 1.3 0 0 1-.224.138c-.299.151-.763.302-1.379.434-1.223.262-2.936.428-4.845.428Zm-6.514-1.064ZM11 12.5c-2.46 0-4.672-.222-6.255-.574-.796-.177-1.406-.38-1.805-.59a1.5 1.5 0 0 1-.39-.272.3.3 0 0 1-.047-.064.3.3 0 0 1 .048-.064c.066-.073.189-.167.389-.272.399-.21 1.009-.413 1.805-.59C6.328 9.722 8.54 9.5 11 9.5s4.672.222 6.256.574c.795.177 1.405.38 1.804.59.2.105.323.2.39.272a.3.3 0 0 1 .047.064.3.3 0 0 1-.048.064 1.4 1.4 0 0 1-.389.272c-.399.21-1.009.413-1.804.59-1.584.352-3.796.574-6.256.574Zm-8.501-1.51v.002zm0 .018v.002zm17.002.002v-.002zm0-.018v-.002z'/%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{cursor:pointer;display:block;overflow:hidden;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;width:88px;height:23px;margin:0 0 -4px -4px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:#0000;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{box-sizing:content-box;color:#000;position:relative;background-color:#fff;border-radius:12px;min-height:20px;margin:10px;padding:2px 24px 2px 0}.maplibregl-ctrl-attrib.maplibregl-compact-show{visibility:visible;padding:2px 28px 2px 8px}.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{box-sizing:border-box;cursor:pointer;display:none;outline:none;position:absolute;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;width:24px;height:24px;top:0;right:0}.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{top:0;right:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{top:0;left: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{box-sizing:border-box;color:#333;white-space:nowrap;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.maplibregl-popup{display:flex;pointer-events:none;position:absolute;will-change:transform;top:0;left:0}.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{z-index:1;border:10px solid #0000;width:0;height:0}.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;align-self: center}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self: flex-start}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self: flex-end}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;align-self: center}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self: flex-start}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self: flex-end}.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-left:none;border-right-color:#fff;align-self: center}.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#fff;border-right:none;align-self: center}[dir=rtl] .maplibregl-popup-anchor-left{flex-direction:row-reverse}[dir=rtl] .maplibregl-popup-anchor-right{flex-direction:row}[dir=rtl] .maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self: flex-end}[dir=rtl] .maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self: flex-start}[dir=rtl] .maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self: flex-end}[dir=rtl] .maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self: flex-start}.maplibregl-popup-close-button{cursor:pointer;position:absolute;background-color:#0000;border:0;border-radius:0 3px 0 0;top:0;right:0}.maplibregl-popup-close-button:hover{background-color:#0000000d}.maplibregl-popup-content{pointer-events:auto;position:relative;background:#fff;border-radius:3px;padding:15px 10px;box-shadow:0 1px 2px #0000001a}.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{position:absolute;will-change:transform;transition:opacity .2s;top:0;left:0}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{box-sizing:border-box;content:"";position:absolute;border:2px solid #fff;border-radius:50%;width:19px;height:19px;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}@media (prefers-reduced-motion:reduce){.maplibregl-user-location-dot:before{animation:none}}@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%;width:1px;height:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{opacity:.5;position:absolute;background:#fff;border:2px dotted #202020;width:0;height:0;top:0;left:0}.maplibregl-cooperative-gesture-screen{color:#fff;display:flex;opacity:0;pointer-events:none;position:absolute;z-index:99999;background:#0006;justify-content:center;align-items: center;padding:1rem;transition:opacity 1s 1s;font-size:1.4em;line-height:1.2;inset:0}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity 50ms}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(pointer:coarse){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{z-index:99999;position:fixed!important;width:100%!important;height:100%!important;top:0!important;left:0!important}
var $E=Object.create;var{getPrototypeOf:_E,defineProperty:Dm,getOwnPropertyNames:iE}=Object;var eE=Object.prototype.hasOwnProperty;var p4=(f,v,S)=>{S=f!=null?$E(_E(f)):{};let x=v||!f||!f.__esModule?Dm(S,"default",{value:f,enumerable:!0}):S;for(let V of iE(f))if(!eE.call(x,V))Dm(x,V,{get:()=>f[V],enumerable:!0});return x};var s8=(f,v)=>()=>(v||f((v={exports:{}}).exports,v),v.exports);var tE=(f,v)=>{for(var S in v)Dm(f,S,{get:v[S],enumerable:!0,configurable:!0,set:(x)=>v[S]=()=>x})};var ln=(f,v)=>()=>(f&&(v=f(f=0)),v);var k8=s8((Sn)=>{var S8=Symbol.for("react.element"),un=Symbol.for("react.portal"),cn=Symbol.for("react.fragment"),rn=Symbol.for("react.strict_mode"),pn=Symbol.for("react.profiler"),fn=Symbol.for("react.provider"),dn=Symbol.for("react.context"),mn=Symbol.for("react.forward_ref"),gn=Symbol.for("react.suspense"),vn=Symbol.for("react.memo"),an=Symbol.for("react.lazy"),Uh=Symbol.iterator;function on(f){if(f===null||typeof f!=="object")return null;return f=Uh&&f[Uh]||f["@@iterator"],typeof f==="function"?f:null}var Hh={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ih=Object.assign,Yh={};function p6(f,v,S){this.props=f,this.context=v,this.refs=Yh,this.updater=S||Hh}p6.prototype.isReactComponent={};p6.prototype.setState=function(f,v){if(typeof f!=="object"&&typeof f!=="function"&&f!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,f,v,"setState")};p6.prototype.forceUpdate=function(f){this.updater.enqueueForceUpdate(this,f,"forceUpdate")};function zh(){}zh.prototype=p6.prototype;function Hm(f,v,S){this.props=f,this.context=v,this.refs=Yh,this.updater=S||Hh}var Im=Hm.prototype=new zh;Im.constructor=Hm;Ih(Im,p6.prototype);Im.isPureReactComponent=!0;var Dh=Array.isArray,Oh=Object.prototype.hasOwnProperty,Ym={current:null},Gh={key:!0,ref:!0,__self:!0,__source:!0};function Qh(f,v,S){var x,V={},g=null,H=null;if(v!=null)for(x in v.ref!==void 0&&(H=v.ref),v.key!==void 0&&(g=""+v.key),v)Oh.call(v,x)&&!Gh.hasOwnProperty(x)&&(V[x]=v[x]);var b=arguments.length-2;if(b===1)V.children=S;else if(1<b){for(var _=Array(b),g1=0;g1<b;g1++)_[g1]=arguments[g1+2];V.children=_}if(f&&f.defaultProps)for(x in b=f.defaultProps,b)V[x]===void 0&&(V[x]=b[x]);return{$$typeof:S8,type:f,key:g,ref:H,props:V,_owner:Ym.current}}function hn(f,v){return{$$typeof:S8,type:f.type,key:v,ref:f.ref,props:f.props,_owner:f._owner}}function zm(f){return typeof f==="object"&&f!==null&&f.$$typeof===S8}function yn(f){var v={"=":"=0",":":"=2"};return"$"+f.replace(/[=:]/g,function(S){return v[S]})}var Rh=/\/+/g;function Rm(f,v){return typeof f==="object"&&f!==null&&f.key!=null?yn(""+f.key):v.toString(36)}function Y9(f,v,S,x,V){var g=typeof f;if(g==="undefined"||g==="boolean")f=null;var H=!1;if(f===null)H=!0;else switch(g){case"string":case"number":H=!0;break;case"object":switch(f.$$typeof){case S8:case un:H=!0}}if(H)return H=f,V=V(H),f=x===""?"."+Rm(H,0):x,Dh(V)?(S="",f!=null&&(S=f.replace(Rh,"$&/")+"/"),Y9(V,v,S,"",function(g1){return g1})):V!=null&&(zm(V)&&(V=hn(V,S+(!V.key||H&&H.key===V.key?"":(""+V.key).replace(Rh,"$&/")+"/")+f)),v.push(V)),1;if(H=0,x=x===""?".":x+":",Dh(f))for(var b=0;b<f.length;b++){g=f[b];var _=x+Rm(g,b);H+=Y9(g,v,S,_,V)}else if(_=on(f),typeof _==="function")for(f=_.call(f),b=0;!(g=f.next()).done;)g=g.value,_=x+Rm(g,b++),H+=Y9(g,v,S,_,V);else if(g==="object")throw v=String(f),Error("Objects are not valid as a React child (found: "+(v==="[object Object]"?"object with keys {"+Object.keys(f).join(", ")+"}":v)+"). If you meant to render a collection of children, use an array instead.");return H}function I9(f,v,S){if(f==null)return f;var x=[],V=0;return Y9(f,x,"","",function(g){return v.call(S,g,V++)}),x}function wn(f){if(f._status===-1){var v=f._result;v=v(),v.then(function(S){if(f._status===0||f._status===-1)f._status=1,f._result=S},function(S){if(f._status===0||f._status===-1)f._status=2,f._result=S}),f._status===-1&&(f._status=0,f._result=v)}if(f._status===1)return f._result.default;throw f._result}var W2={current:null},z9={transition:null},sn={ReactCurrentDispatcher:W2,ReactCurrentBatchConfig:z9,ReactCurrentOwner:Ym};function jh(){throw Error("act(...) is not supported in production builds of React.")}Sn.Children={map:I9,forEach:function(f,v,S){I9(f,function(){v.apply(this,arguments)},S)},count:function(f){var v=0;return I9(f,function(){v++}),v},toArray:function(f){return I9(f,function(v){return v})||[]},only:function(f){if(!zm(f))throw Error("React.Children.only expected to receive a single React element child.");return f}};Sn.Component=p6;Sn.Fragment=cn;Sn.Profiler=pn;Sn.PureComponent=Hm;Sn.StrictMode=rn;Sn.Suspense=gn;Sn.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sn;Sn.act=jh;Sn.cloneElement=function(f,v,S){if(f===null||f===void 0)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+f+".");var x=Ih({},f.props),V=f.key,g=f.ref,H=f._owner;if(v!=null){if(v.ref!==void 0&&(g=v.ref,H=Ym.current),v.key!==void 0&&(V=""+v.key),f.type&&f.type.defaultProps)var b=f.type.defaultProps;for(_ in v)Oh.call(v,_)&&!Gh.hasOwnProperty(_)&&(x[_]=v[_]===void 0&&b!==void 0?b[_]:v[_])}var _=arguments.length-2;if(_===1)x.children=S;else if(1<_){b=Array(_);for(var g1=0;g1{function Gm(f,v){var S=f.length;f.push(v);l:for(;0>>1,V=f[x];if(0>>1;xO9(b,S))_O9(g1,b)?(f[x]=g1,f[_]=S,x=_):(f[x]=b,f[H]=S,x=H);else if(_O9(g1,S))f[x]=g1,f[_]=S,x=_;else break l}}return v}function O9(f,v){var S=f.sortIndex-v.sortIndex;return S!==0?S:f.id-v.id}if(typeof performance==="object"&&typeof performance.now==="function")Qm=performance,uA.unstable_now=function(){return Qm.now()};else G9=Date,jm=G9.now(),uA.unstable_now=function(){return G9.now()-jm};var Qm,G9,jm,s5=[],f4=[],lA=1,yu=null,m2=3,X9=!1,Mc=!1,n8=!1,Xh=typeof setTimeout==="function"?setTimeout:null,Th=typeof clearTimeout==="function"?clearTimeout:null,Jh=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Jm(f){for(var v=Du(f4);v!==null;){if(v.callback===null)J9(f4);else if(v.startTimev)||f&&!$h());){var x=yu.callback;if(typeof x==="function"){yu.callback=null,m2=yu.priorityLevel;var V=x(yu.expirationTime<=v);v=uA.unstable_now(),typeof V==="function"?yu.callback=V:yu===Du(s5)&&J9(s5),Jm(v)}else J9(s5);yu=Du(s5)}if(yu!==null)var g=!0;else{var H=Du(f4);H!==null&&$m(Tm,H.startTime-v),g=!1}return g}finally{yu=null,m2=S,X9=!1}}var T9=!1,Q9=null,A8=-1,Zh=5,bh=-1;function $h(){return uA.unstable_now()-bh<Zh?!1:!0}function Om(){if(Q9!==null){var f=uA.unstable_now();bh=f;var v=!0;try{v=Q9(!0,f)}finally{v?E8():(T9=!1,Q9=null)}}else T9=!1}var E8;if(typeof Jh==="function")E8=function(){Jh(Om)};else if(typeof MessageChannelf||125<f?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Zh=0<f?Math.floor(1000/f):5};uA.unstable_getCurrentPriorityLevel=function(){return m2};uA.unstable_getFirstCallbackNode=function(){return Du(s5)};uA.unstable_next=function(f){switch(m2){case 1:case 2:case 3:var v=3;break;default:v=m2}var S=m2;m2=v;try{return f()}finally{m2=S}};uA.unstable_pauseExecution=function(){};uA.unstable_requestPaint=function(){};uA.unstable_runWithPriority=function(f,v){switch(f){case 1:case 2:case 3:case 4:case 5:break;default:f=3}var S=m2;m2=f;try{return v()}finally{m2=S}};uA.unstable_scheduleCallback=function(f,v,S){var x=uA.unstable_now();switch(typeof S==="object"&&S!==null?(S=S.delay,S=typeof S==="number"&&0x?(f.sortIndex=S,Gm(f4,f),Du(s5)===null&&f===Du(f4)&&(n8?(Th(A8),A8=-1):n8=!0,$m(Tm,S-x))):(f.sortIndex=V,Gm(s5,f),Mc||X9||(Mc=!0,bm(Zm))),f};uA.unstable_shouldYield=$h;uA.unstable_wrapCallback=function(f){var v=m2;return function(){var S=m2;m2=v;try{return f.apply(this,arguments)}finally{m2=S}}}});var ua={};tE(ua,{version:()=>aS,unstable_renderSubtreeIntoContainer:()=>vS,unstable_batchedUpdates:()=>gS,unmountComponentAtNode:()=>mS,render:()=>dS,hydrateRoot:()=>fS,hydrate:()=>pS,flushSync:()=>rS,findDOMNode:()=>cS,createRoot:()=>uS,createPortal:()=>lS,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:()=>ts});function D1(f){for(var v="https://reactjs.org/docs/error-decoder.html?invariant="+f,S=1;S<arguments.length;S++)v+="&args[]="+encodeURIComponent(arguments[S]);return"Minified React error #"+f+"; visit "+v+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function Jc(f,v){N6(f,v),N6(f+"Capture",v)}function N6(f,v){X8[f]=v;for(f=0;f"u"||WA(f,v,S,x))return!0;if(x)return!1;if(S!==null)switch(S.type){case 3:return!v;case 4:return v===!1;case 5:return isNaN(v);case 6:return isNaN(v)||1>v}return!1}function x2(f,v,S,x,V,g,H){this.acceptsBooleans=v===2||v===3||v===4,this.attributeName=x,this.attributeNamespace=V,this.mustUseProperty=S,this.propertyName=f,this.type=v,this.sanitizeURL=g,this.removeEmptyString=H}function hv(f){return f[1].toUpperCase()}function yv(f,v,S,x){var V=e0.hasOwnProperty(v)?e0[v]:null;if(V!==null?V.type!==0:x||!(2<v.length)||v[0]!=="o"&&v[0]!=="O"||v[1]!=="n"&&v[1]!=="N")LA(v,S,V,x)&&(S=null),x||V===null?VA(v)&&(S===null?f.removeAttribute(v):f.setAttribute(v,""+S)):V.mustUseProperty?f[V.propertyName]=S===null?V.type===3?!1:"":S:(v=V.attributeName,x=V.attributeNamespace,S===null?f.removeAttribute(v):(V=V.type,S=V===3||V===4&&S===!0?"":""+S,x?f.setAttributeNS(x,v,S):f.setAttribute(v,S)))}function V8(f){if(f===null||typeof f!=="object")return null;return f=th&&f[th]||f["@@iterator"],typeof f==="function"?f:null}function q8(f){if(_m===void 0)try{throw Error()}catch(S){var v=S.stack.trim().match(/\n( *(at )?)/);_m=v&&v[1]||""}return` `+_m+f}function em(f,v){if(!f||im)return"";im=!0;var S=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(v)if(v=function(){throw Error()},Object.defineProperty(v.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==="object"&&Reflect.construct){try{Reflect.construct(v,[])}catch(g1){var x=g1}Reflect.construct(f,[],v)}else{try{v.call()}catch(g1){x=g1}f.call(v.prototype)}else{try{throw Error()}catch(g1){x=g1}f()}}catch(g1){if(g1&&x&&typeof g1.stack==="string"){for(var V=g1.stack.split(` `),g=x.stack.split(` `),H=V.length-1,b=g.length-1;1<=H&&0<=b&&V[H]!==g[b];)b--;for(;1<=H&&0b||V[H]!==g[b]){var _=` `+V[H].replace(" at new "," at ");return f.displayName&&_.includes("")&&(_=_.replace("",f.displayName)),_}while(1<=H&&0<=b);break}}}finally{im=!1,Error.prepareStackTrace=S}return(f=f?f.displayName||f.name:"")?q8(f):""}function CA(f){switch(f.tag){case 5:return q8(f.type);case 16:return q8("Lazy");case 13:return q8("Suspense");case 19:return q8("SuspenseList");case 0:case 2:case 15:return f=em(f.type,!1),f;case 11:return f=em(f.type.render,!1),f;case 1:return f=em(f.type,!0),f;default:return""}}function Vg(f){if(f==null)return null;if(typeof f==="function")return f.displayName||f.name||null;if(typeof f==="string")return f;switch(f){case v6:return"Fragment";case g6:return"Portal";case Eg:return"Profiler";case wv:return"StrictMode";case ng:return"Suspense";case Ag:return"SuspenseList"}if(typeof f==="object")switch(f.$$typeof){case pw:return(f.displayName||"Context")+".Consumer";case rw:return(f._context.displayName||"Context")+".Provider";case sv:var v=f.render;return f=f.displayName,f||(f=v.displayName||v.name||"",f=f!==""?"ForwardRef("+f+")":"ForwardRef"),f;case Sv:return v=f.displayName||null,v!==null?v:Vg(f.type)||"Memo";case m4:v=f._payload,f=f._init;try{return Vg(f(v))}catch(S){}}return null}function xA(f){var v=f.type;switch(f.tag){case 24:return"Cache";case 9:return(v.displayName||"Context")+".Consumer";case 10:return(v._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return f=v.render,f=f.displayName||f.name||"",v.displayName||(f!==""?"ForwardRef("+f+")":"ForwardRef");case 7:return"Fragment";case 5:return v;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Vg(v);case 8:return v===wv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof v==="function")return v.displayName||v.name||null;if(typeof v==="string")return v}return null}function V4(f){switch(typeof f){case"boolean":case"number":case"string":case"undefined":return f;case"object":return f;default:return""}}function dw(f){var v=f.type;return(f=f.nodeName)&&f.toLowerCase()==="input"&&(v==="checkbox"||v==="radio")}function NA(f){var v=dw(f)?"checked":"value",S=Object.getOwnPropertyDescriptor(f.constructor.prototype,v),x=""+f[v];if(!f.hasOwnProperty(v)&&typeof S<"u"&&typeof S.get==="function"&&typeof S.set==="function"){var{get:V,set:g}=S;return Object.defineProperty(f,v,{configurable:!0,get:function(){return V.call(this)},set:function(H){x=""+H,g.call(this,H)}}),Object.defineProperty(f,v,{enumerable:S.enumerable}),{getValue:function(){return x},setValue:function(H){x=""+H},stopTracking:function(){f._valueTracker=null,delete f[v]}}}}function b9(f){f._valueTracker||(f._valueTracker=NA(f))}function mw(f){if(!f)return!1;var v=f._valueTracker;if(!v)return!0;var S=v.getValue(),x="";return f&&(x=dw(f)?f.checked?"true":"false":f.value),f=x,f!==S?(v.setValue(f),!0):!1}function nf(f){if(f=f||(typeof document"u")return null;try{return f.activeElement||f.body}catch(v){return f.body}}function Wg(f,v){var S=v.checked;return g0({},v,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:S!=null?S:f._wrapperState.initialChecked})}function ly(f,v){var S=v.defaultValue==null?"":v.defaultValue,x=v.checked!=null?v.checked:v.defaultChecked;S=V4(v.value!=null?v.value:S),f._wrapperState={initialChecked:x,initialValue:S,controlled:v.type==="checkbox"||v.type==="radio"?v.checked!=null:v.value!=null}}function gw(f,v){v=v.checked,v!=null&&yv(f,"checked",v,!1)}function Lg(f,v){gw(f,v);var S=V4(v.value),x=v.type;if(S!=null)if(x==="number"){if(S===0&&f.value===""||f.value!=S)f.value=""+S}else f.value!==""+S&&(f.value=""+S);else if(x==="submit"||x==="reset"){f.removeAttribute("value");return}v.hasOwnProperty("value")?Cg(f,v.type,S):v.hasOwnProperty("defaultValue")&&Cg(f,v.type,V4(v.defaultValue)),v.checked==null&&v.defaultChecked!=null&&(f.defaultChecked=!!v.defaultChecked)}function uy(f,v,S){if(v.hasOwnProperty("value")||v.hasOwnProperty("defaultValue")){var x=v.type;if(!(x!=="submit"&&x!=="reset"||v.value!==void 0&&v.value!==null))return;v=""+f._wrapperState.initialValue,S||v===f.value||(f.value=v),f.defaultValue=v}S=f.name,S!==""&&(f.name=""),f.defaultChecked=!!f._wrapperState.initialChecked,S!==""&&(f.name=S)}function Cg(f,v,S){if(v!=="number"||nf(f.ownerDocument)!==f)S==null?f.defaultValue=""+f._wrapperState.initialValue:f.defaultValue!==""+S&&(f.defaultValue=""+S)}function A6(f,v,S,x){if(f=f.options,v){v={};for(var V=0;V<S.length;V++)v["$"+S[V]]=!0;for(S=0;S<f.length;S++)V=v.hasOwnProperty("$"+f[S].value),f[S].selected!==V&&(f[S].selected=V),V&&x&&(f[S].defaultSelected=!0)}else{S=""+V4(S),v=null;for(V=0;V<f.length;V++){if(f[V].value===S){f[V].selected=!0,x&&(f[V].defaultSelected=!0);return}v!==null||f[V].disabled||(v=f[V])}v!==null&&(v.selected=!0)}}function xg(f,v){if(v.dangerouslySetInnerHTML!=null)throw Error(D1(91));return g0({},v,{value:void 0,defaultValue:void 0,children:""+f._wrapperState.initialValue})}function cy(f,v){var S=v.value;if(S==null){if(S=v.children,v=v.defaultValue,S!=null){if(v!=null)throw Error(D1(92));if(P8(S)){if(1<S.length)throw Error(D1(93));S=S[0]}v=S}v==null&&(v=""),S=v}f._wrapperState={initialValue:V4(S)}}function vw(f,v){var S=V4(v.value),x=V4(v.defaultValue);S!=null&&(S=""+S,S!==f.value&&(f.value=S),v.defaultValue==null&&f.defaultValue!==S&&(f.defaultValue=S)),x!=null&&(f.defaultValue=""+x)}function ry(f){var v=f.textContent;v===f._wrapperState.initialValue&&v!==""&&v!==null&&(f.value=v)}function aw(f){switch(f){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Ng(f,v){return f==null||f==="http://www.w3.org/1999/xhtml"?aw(v):f==="http://www.w3.org/2000/svg"&&v==="foreignObject"?"http://www.w3.org/1999/xhtml":f}function T8(f,v){if(v){var S=f.firstChild;if(S&&S===f.lastChild&&S.nodeType===3){S.nodeValue=v;return}}f.textContent=v}function hw(f,v,S){return v==null||typeof v==="boolean"||v===""?"":S||typeof v!=="number"||v===0||H8.hasOwnProperty(f)&&H8[f]?(""+v).trim():v+"px"}function yw(f,v){f=f.style;for(var S in v)if(v.hasOwnProperty(S)){var x=S.indexOf("--")===0,V=hw(S,v[S],x);S==="float"&&(S="cssFloat"),x?f.setProperty(S,V):f[S]=V}}function Fg(f,v){if(v){if(qA[f]&&(v.children!=null||v.dangerouslySetInnerHTML!=null))throw Error(D1(137,f));if(v.dangerouslySetInnerHTML!=null){if(v.children!=null)throw Error(D1(60));if(typeof v.dangerouslySetInnerHTML!=="object"||!("__html"in v.dangerouslySetInnerHTML))throw Error(D1(61))}if(v.style!=null&&typeof v.style!=="object")throw Error(D1(62))}}function qg(f,v){if(f.indexOf("-")===-1)return typeof v.is==="string";switch(f){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}function kv(f){return f=f.target||f.srcElement||window,f.correspondingUseElement&&(f=f.correspondingUseElement),f.nodeType===3?f.parentNode:f}function py(f){if(f=ap(f)){if(typeof Mg!=="function")throw Error(D1(280));var v=f.stateNode;v&&(v=Zf(v),Mg(f.stateNode,f.type,v))}}function ww(f){V6?W6?W6.push(f):W6=[f]:V6=f}function sw(){if(V6){var f=V6,v=W6;if(W6=V6=null,py(f),v)for(f=0;f>>=0,f===0?32:31-(zA(f)/OA|0)|0}function M8(f){switch(f&-f){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return f&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return f&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return f}}function Lf(f,v){var S=f.pendingLanes;if(S===0)return 0;var x=0,V=f.suspendedLanes,g=f.pingedLanes,H=S&268435455;if(H!==0){var b=H&~V;b!==0?x=M8(b):(g&=H,g!==0&&(x=M8(g)))}else H=S&~V,H!==0?x=M8(H):g!==0&&(x=M8(g));if(x===0)return 0;if(v!==0&&v!==x&&(v&V)===0&&(V=x&-x,g=v&-v,V>=g||V===16&&(g&4194240)!==0))return v;if((x&4)!==0&&(x|=S&16),v=f.entangledLanes,v!==0)for(f=f.entanglements,v&=x;0<v;)S=31-zu(v),V=1<<S,x|=f[S],v&=~V;return x}function QA(f,v){switch(f){case 1:case 2:case 4:return v+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return v+5000;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function jA(f,v){for(var{suspendedLanes:S,pingedLanes:x,expirationTimes:V,pendingLanes:g}=f;0<g;){var H=31-zu(g),b=1<<H,_=V[H];if(_===-1){if((b&S)===0||(b&x)!==0)V[H]=QA(b,v)}else _<=v&&(f.expiredLanes|=b);g&=~b}}function Ug(f){return f=f.pendingLanes&-1073741825,f!==0?f:f&1073741824?1073741824:0}function xw(){var f=_9;return _9<S;S++)v.push(f);return v}function gp(f,v,S){f.pendingLanes|=v,v!==536870912&&(f.suspendedLanes=0,f.pingedLanes=0),f=f.eventTimes,v=31-zu(v),f[v]=S}function JA(f,v){var S=f.pendingLanes&~v;f.pendingLanes=v,f.suspendedLanes=0,f.pingedLanes=0,f.expiredLanes&=v,f.mutableReadLanes&=v,f.entangledLanes&=v,v=f.entanglements;var x=f.eventTimes;for(f=f.expirationTimes;0<S;){var V=31-zu(S),g=1<<V;v[V]=0,x[V]=-1,f[V]=-1,S&=~g}}function nv(f,v){var S=f.entangledLanes|=v;for(f=f.entanglements;S;){var x=31-zu(S),V=1<<x;V&v|f[x]&v&&(f[x]|=v),S&=~V}}function Nw(f){return f&=-f,1<f?4<f?(f&268435455)!==0?16:536870912:4:1}function my(f,v){switch(f){case"focusin":case"focusout":y4=null;break;case"dragenter":case"dragleave":w4=null;break;case"mouseover":case"mouseout":s4=null;break;case"pointerover":case"pointerout":b8.delete(v.pointerId);break;case"gotpointercapture":case"lostpointercapture":$8.delete(v.pointerId)}}function W8(f,v,S,x,V,g){if(f===null||f.nativeEvent!==g)return f={blockedOn:v,domEventName:S,eventSystemFlags:x,nativeEvent:g,targetContainers:[V]},v!==null&&(v=ap(v),v!==null&&Av(v)),f;return f.eventSystemFlags|=x,v=f.targetContainers,V!==null&&v.indexOf(V)===-1&&v.push(V),f}function TA(f,v,S,x,V){switch(v){case"focusin":return y4=W8(y4,f,v,S,x,V),!0;case"dragenter":return w4=W8(w4,f,v,S,x,V),!0;case"mouseover":return s4=W8(s4,f,v,S,x,V),!0;case"pointerover":var g=V.pointerId;return b8.set(g,W8(b8.get(g)||null,f,v,S,x,V)),!0;case"gotpointercapture":return g=V.pointerId,$8.set(g,W8($8.get(g)||null,f,v,S,x,V)),!0}return!1}function Bw(f){var v=Dc(f.target);if(v!==null){var S=Xc(v);if(S!==null){if(v=S.tag,v===13){if(v=nw(S),v!==null){f.blockedOn=v,Mw(f.priority,function(){qw(S)});return}}else if(v===3&&S.stateNode.current.memoizedState.isDehydrated){f.blockedOn=S.tag===3?S.stateNode.containerInfo:null;return}}}f.blockedOn=null}function gf(f){if(f.blockedOn!==null)return!1;for(var v=f.targetContainers;0<v.length;){var S=Rg(f.domEventName,f.eventSystemFlags,v[0],f.nativeEvent);if(S===null){S=f.nativeEvent;var x=new S.constructor(S.type,S);Pg=x,S.target.dispatchEvent(x),Pg=null}else return v=ap(S),v!==null&&Av(v),f.blockedOn=S,!1;v.shift()}return!0}function gy(f,v,S){gf(f)&&S.delete(v)}function ZA(){Dg=!1,y4!==null&&gf(y4)&&(y4=null),w4!==null&&gf(w4)&&(w4=null),s4!==null&&gf(s4)&&(s4=null),b8.forEach(gy),$8.forEach(gy)}function L8(f,v){f.blockedOn===v&&(f.blockedOn=null,Dg||(Dg=!0,tl.unstable_scheduleCallback(tl.unstable_NormalPriority,ZA)))}function _8(f){function v(V){return L8(V,f)}if(0<e9.length){L8(e9[0],f);for(var S=1;S<e9.length;S++){var x=e9[S];x.blockedOn===f&&(x.blockedOn=null)}}y4!==null&&L8(y4,f),w4!==null&&L8(w4,f),s4!==null&&L8(s4,f),b8.forEach(v),$8.forEach(v);for(S=0;S<v4.length;S++)x=v4[S],x.blockedOn===f&&(x.blockedOn=null);for(;0<v4.length&&(S=v4[0],S.blockedOn===null);)Bw(S),S.blockedOn===null&&v4.shift()}function bA(f,v,S,x){var V=Kl,g=L6.transition;L6.transition=null;try{Kl=1,Vv(f,v,S,x)}finally{Kl=V,L6.transition=g}}function $A(f,v,S,x){var V=Kl,g=L6.transition;L6.transition=null;try{Kl=4,Vv(f,v,S,x)}finally{Kl=V,L6.transition=g}}function Vv(f,v,S,x){if(Cf){var V=Rg(f,v,S,x);if(V===null)dg(f,v,x,xf,S),my(f,x);else if(TA(V,f,v,S,x))x.stopPropagation();else if(my(f,x),v&4&&-1<XA.indexOf(f)){for(;V!==null;){var g=ap(V);if(g!==null&&Fw(g),g=Rg(f,v,S,x),g===null&&dg(f,v,x,xf,S),g===V)break;V=g}V!==null&&x.stopPropagation()}else dg(f,v,x,null,S)}}function Rg(f,v,S,x){if(xf=null,f=kv(x),f=Dc(f),f!==null)if(v=Xc(f),v===null)f=null;else if(S=v.tag,S===13){if(f=nw(v),f!==null)return f;f=null}else if(S===3){if(v.stateNode.current.memoizedState.isDehydrated)return v.tag===3?v.stateNode.containerInfo:null;f=null}else v!==f&&(f=null);return xf=f,null}function Kw(f){switch(f){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(HA()){case Ev:return 1;case Lw:return 4;case Wf:case IA:return 16;case Cw:return 536870912;default:return 16}default:return 16}}function Uw(){if(vf)return vf;var f,v=Wv,S=v.length,x,V="value"in o4?o4.value:o4.textContent,g=V.length;for(f=0;f<S&&v[f]===V[f];f++);var H=S-f;for(x=1;x<=H&&v[S-x]===V[g-x];x++);return vf=V.slice(f,1<x?1-x:void 0)}function af(f){var v=f.keyCode;return"charCode"in f?(f=f.charCode,f===0&&v===13&&(f=13)):f=v,f===10&&(f=13),32<=f||f===13?f:0}function t9(){return!0}function vy(){return!1}function i2(f){function v(S,x,V,g,H){this._reactName=S,this._targetInst=V,this.type=x,this.nativeEvent=g,this.target=H,this.currentTarget=null;for(var b in f)f.hasOwnProperty(b)&&(S=f[b],this[b]=S?S(g):g[b]);return this.isDefaultPrevented=(g.defaultPrevented!=null?g.defaultPrevented:g.returnValue===!1)?t9:vy,this.isPropagationStopped=vy,this}return g0(v.prototype,{preventDefault:function(){this.defaultPrevented=!0;var S=this.nativeEvent;S&&(S.preventDefault?S.preventDefault():typeof S.returnValue!=="unknown"&&(S.returnValue=!1),this.isDefaultPrevented=t9)},stopPropagation:function(){var S=this.nativeEvent;S&&(S.stopPropagation?S.stopPropagation():typeof S.cancelBubble!=="unknown"&&(S.cancelBubble=!0),this.isPropagationStopped=t9)},persist:function(){},isPersistent:t9}),v}function gV(f){var v=this.nativeEvent;return v.getModifierState?v.getModifierState(f):(f=mV[f])?!!v[f]:!1}function Cv(){return gV}function Rw(f,v){switch(f){case"keyup":return EV.indexOf(v.keyCode)!==-1;case"keydown":return v.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hw(f){return f=f.detail,typeof f==="object"&&"data"in f?f.data:null}function AV(f,v){switch(f){case"compositionend":return Hw(v);case"keypress":if(v.which!==32)return null;return wy=!0,yy;case"textInput":return f=v.data,f===yy&&wy?null:f;default:return null}}function VV(f,v){if(a6)return f==="compositionend"||!xv&&Rw(f,v)?(f=Uw(),vf=Wv=o4=null,a6=!1,f):null;switch(f){case"paste":return null;case"keypress":if(!(v.ctrlKey||v.altKey||v.metaKey)||v.ctrlKey&&v.altKey){if(v.char&&1<v.char.length)return v.char;if(v.which)return String.fromCharCode(v.which)}return null;case"compositionend":return Dw&&v.locale!=="ko"?null:v.data;default:return null}}function sy(f){var v=f&&f.nodeName&&f.nodeName.toLowerCase();return v==="input"?!!WV[f.type]:v==="textarea"?!0:!1}function Iw(f,v,S,x){ww(x),v=Nf(v,"onChange"),0<v.length&&(S=new Lv("onChange","change",null,S,x),f.push({event:S,listeners:v}))}function LV(f){bw(f,0)}function Xf(f){var v=y6(f);if(mw(v))return f}function CV(f,v){if(f==="change")return v}function Sy(){z8&&(z8.detachEvent("onpropertychange",zw),i8=z8=null)}function zw(f){if(f.propertyName==="value"&&Xf(i8)){var v=[];Iw(v,i8,f,kv(f)),Ew(LV,v)}}function xV(f,v,S){f==="focusin"?(Sy(),z8=v,i8=S,z8.attachEvent("onpropertychange",zw)):f==="focusout"&&Sy()}function NV(f){if(f==="selectionchange"||f==="keyup"||f==="keydown")return Xf(i8)}function FV(f,v){if(f==="click")return Xf(v)}function qV(f,v){if(f==="input"||f==="change")return Xf(v)}function PV(f,v){return f===v&&(f!==0||1/f===1/v)||f!==f&&v!==v}function e8(f,v){if(Gu(f,v))return!0;if(typeof f!=="object"||f===null||typeof v!=="object"||v===null)return!1;var S=Object.keys(f),x=Object.keys(v);if(S.length!==x.length)return!1;for(x=0;x<S.length;x++){var V=S[x];if(!kg.call(v,V)||!Gu(f[V],v[V]))return!1}return!0}function ky(f){for(;f&&f.firstChild;)f=f.firstChild;return f}function Ey(f,v){var S=ky(f);f=0;for(var x;S;){if(S.nodeType===3){if(x=f+S.textContent.length,f=v)return{node:S,offset:v-f};f=x}l:{for(;S;){if(S.nextSibling){S=S.nextSibling;break l}S=S.parentNode}S=void 0}S=ky(S)}}function Ow(f,v){return f&&v?f===v?!0:f&&f.nodeType===3?!1:v&&v.nodeType===3?Ow(f,v.parentNode):("contains"in f)?f.contains(v):f.compareDocumentPosition?!!(f.compareDocumentPosition(v)&16):!1:!1}function Gw(){for(var f=window,v=nf();v instanceof f.HTMLIFrameElement;){try{var S=typeof v.contentWindow.location.href==="string"}catch(x){S=!1}if(S)f=v.contentWindow;else break;v=nf(f.document)}return v}function Nv(f){var v=f&&f.nodeName&&f.nodeName.toLowerCase();return v&&(v==="input"&&(f.type==="text"||f.type==="search"||f.type==="tel"||f.type==="url"||f.type==="password")||v==="textarea"||f.contentEditable==="true")}function MV(f){var v=Gw(),S=f.focusedElem,x=f.selectionRange;if(v!==S&&S&&S.ownerDocument&&Ow(S.ownerDocument.documentElement,S)){if(x!==null&&Nv(S)){if(v=x.start,f=x.end,f===void 0&&(f=v),"selectionStart"in S)S.selectionStart=v,S.selectionEnd=Math.min(f,S.value.length);else if(f=(v=S.ownerDocument||document)&&v.defaultView||window,f.getSelection){f=f.getSelection();var V=S.textContent.length,g=Math.min(x.start,V);x=x.end===void 0?g:Math.min(x.end,V),!f.extend&&g>x&&(V=x,x=g,g=V),V=Ey(S,g);var H=Ey(S,x);V&&H&&(f.rangeCount!==1||f.anchorNode!==V.node||f.anchorOffset!==V.offset||f.focusNode!==H.node||f.focusOffset!==H.offset)&&(v=v.createRange(),v.setStart(V.node,V.offset),f.removeAllRanges(),g>x?(f.addRange(v),f.extend(H.node,H.offset)):(v.setEnd(H.node,H.offset),f.addRange(v)))}}v=[];for(f=S;f=f.parentNode;)f.nodeType===1&&v.push({element:f,left:f.scrollLeft,top:f.scrollTop});typeof S.focus==="function"&&S.focus();for(S=0;S<v.length;S++)f=v[S],f.element.scrollLeft=f.left,f.element.scrollTop=f.top}}function ny(f,v,S){var x=S.window===S?S.document:S.nodeType===9?S:S.ownerDocument;Ig||o6==null||o6!==nf(x)||(x=o6,("selectionStart"in x)&&Nv(x)?x={start:x.selectionStart,end:x.selectionEnd}:(x=(x.ownerDocument&&x.ownerDocument.defaultView||window).getSelection(),x={anchorNode:x.anchorNode,anchorOffset:x.anchorOffset,focusNode:x.focusNode,focusOffset:x.focusOffset}),O8&&e8(O8,x)||(O8=x,x=Nf(Hg,"onSelect"),0<x.length&&(v=new Lv("onSelect","select",null,v,S),f.push({event:v,listeners:x}),v.target=o6)))}function lf(f,v){var S={};return S[f.toLowerCase()]=v.toLowerCase(),S["Webkit"+f]="webkit"+v,S["Moz"+f]="moz"+v,S}function Tf(f){if(pg[f])return pg[f];if(!h6[f])return f;var v=h6[f],S;for(S in v)if(v.hasOwnProperty(S)&&S in Qw)return pg[f]=v[S];return f}function L4(f,v){Zw.set(f,v),Jc(v,[f])}function Vy(f,v,S){var x=f.type||"unknown-event";f.currentTarget=S,KA(x,v,void 0,f),f.currentTarget=null}function bw(f,v){v=(v&4)!==0;for(var S=0;S<f.length;S++){var x=f[S],V=x.event;x=x.listeners;l:{var g=void 0;if(v)for(var H=x.length-1;0<=H;H--){var b=x[H],_=b.instance,g1=b.currentTarget;if(b=b.listener,_!==g&&V.isPropagationStopped())break l;Vy(V,b,g1),g=_}else for(H=0;H<x.length;H++){if(b=x[H],_=b.instance,g1=b.currentTarget,b=b.listener,_!==g&&V.isPropagationStopped())break l;Vy(V,b,g1),g=_}}}if(Vf)throw f=Kg,Vf=!1,Kg=null,f}function bl(f,v){var S=v[Jg];S===void 0&&(S=v[Jg]=new Set);var x=f+"__bubble";S.has(x)||($w(v,f,2,!1),S.add(x))}function fg(f,v,S){var x=0;v&&(x|=4),$w(S,f,x,v)}function t8(f){if(!f[uf]){f[uf]=!0,cw.forEach(function(S){S!=="selectionchange"&&(KV.has(S)||fg(S,!1,f),fg(S,!0,f))});var v=f.nodeType===9?f:f.ownerDocument;v===null||v[uf]||(v[uf]=!0,fg("selectionchange",!1,v))}}function $w(f,v,S,x){switch(Kw(v)){case 1:var V=bA;break;case 4:V=$A;break;default:V=Vv}S=V.bind(null,v,S,f),V=void 0,!Bg||v!=="touchstart"&&v!=="touchmove"&&v!=="wheel"||(V=!0),x?V!==void 0?f.addEventListener(v,S,{capture:!0,passive:V}):f.addEventListener(v,S,!0):V!==void 0?f.addEventListener(v,S,{passive:V}):f.addEventListener(v,S,!1)}function dg(f,v,S,x,V){var g=x;if((v&1)===0&&(v&2)===0&&x!==null)l:for(;;){if(x===null)return;var H=x.tag;if(H===3||H===4){var b=x.stateNode.containerInfo;if(b===V||b.nodeType===8&&b.parentNode===V)break;if(H===4)for(H=x.return;H!==null;){var _=H.tag;if(_===3||_===4){if(_=H.stateNode.containerInfo,_===V||_.nodeType===8&&_.parentNode===V)return}H=H.return}for(;b!==null;){if(H=Dc(b),H===null)return;if(_=H.tag,_===5||_===6){x=g=H;continue l}b=b.parentNode}}x=x.return}Ew(function(){var g1=g,x1=kv(S),N1=[];l:{var V1=Zw.get(f);if(V1!==void 0){var q1=Lv,X1=f;switch(f){case"keypress":if(af(S)===0)break l;case"keydown":case"keyup":q1=aV;break;case"focusin":X1="focus",q1=rg;break;case"focusout":X1="blur",q1=rg;break;case"beforeblur":case"afterblur":q1=rg;break;case"click":if(S.button===2)break l;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":q1=ay;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":q1=eA;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":q1=yV;break;case jw:case Jw:case Xw:q1=uV;break;case Tw:q1=sV;break;case"scroll":q1=_A;break;case"wheel":q1=kV;break;case"copy":case"cut":case"paste":q1=rV;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":q1=hy}var J1=(v&4)!==0,A1=!J1&&f==="scroll",v1=J1?V1!==null?V1+"Capture":null:V1;J1=[];for(var f1=g1,o1;f1!==null;){o1=f1;var B1=o1.stateNode;if(o1.tag===5&&B1!==null&&(o1=B1,v1!==null&&(B1=Z8(f1,v1),B1!=null&&J1.push(lp(f1,B1,o1)))),A1)break;f1=f1.return}0<J1.length&&(V1=new q1(V1,X1,null,S,x1),N1.push({event:V1,listeners:J1}))}}if((v&7)===0){l:{if(V1=f==="mouseover"||f==="pointerover",q1=f==="mouseout"||f==="pointerout",V1&&S!==Pg&&(X1=S.relatedTarget||S.fromElement)&&(Dc(X1)||X1[v3]))break l;if(q1||V1){if(V1=x1.window===x1?x1:(V1=x1.ownerDocument)?V1.defaultView||V1.parentWindow:window,q1){if(X1=S.relatedTarget||S.toElement,q1=g1,X1=X1?Dc(X1):null,X1!==null&&(A1=Xc(X1),X1!==A1||X1.tag!==5&&X1.tag!==6))X1=null}else q1=null,X1=g1;if(q1!==X1){if(J1=ay,B1="onMouseLeave",v1="onMouseEnter",f1="mouse",f==="pointerout"||f==="pointerover")J1=hy,B1="onPointerLeave",v1="onPointerEnter",f1="pointer";if(A1=q1==null?V1:y6(q1),o1=X1==null?V1:y6(X1),V1=new J1(B1,f1+"leave",q1,S,x1),V1.target=A1,V1.relatedTarget=o1,B1=null,Dc(x1)===g1&&(J1=new J1(v1,f1+"enter",X1,S,x1),J1.target=o1,J1.relatedTarget=A1,B1=J1),A1=B1,q1&&X1)u:{J1=q1,v1=X1,f1=0;for(o1=J1;o1;o1=d6(o1))f1++;o1=0;for(B1=v1;B1;B1=d6(B1))o1++;for(;0<f1-o1;)J1=d6(J1),f1--;for(;0<o1-f1;)v1=d6(v1),o1--;for(;f1--;){if(J1===v1||v1!==null&&J1===v1.alternate)break u;J1=d6(J1),v1=d6(v1)}J1=null}else J1=null;q1!==null&&Wy(N1,V1,q1,J1,!1),X1!==null&&A1!==null&&Wy(N1,A1,X1,J1,!0)}}}l:{if(V1=g1?y6(g1):window,q1=V1.nodeName&&V1.nodeName.toLowerCase(),q1==="select"||q1==="input"&&V1.type==="file")var Z1=CV;else if(sy(V1))if(Yw)Z1=qV;else{Z1=NV;var J=xV}else(q1=V1.nodeName)&&q1.toLowerCase()==="input"&&(V1.type==="checkbox"||V1.type==="radio")&&(Z1=FV);if(Z1&&(Z1=Z1(f,g1))){Iw(N1,Z1,S,x1);break l}J&&J(f,V1,g1),f==="focusout"&&(J=V1._wrapperState)&&J.controlled&&V1.type==="number"&&Cg(V1,"number",V1.value)}switch(J=g1?y6(g1):window,f){case"focusin":if(sy(J)||J.contentEditable==="true")o6=J,Hg=g1,O8=null;break;case"focusout":O8=Hg=o6=null;break;case"mousedown":Ig=!0;break;case"contextmenu":case"mouseup":case"dragend":Ig=!1,ny(N1,S,x1);break;case"selectionchange":if(BV)break;case"keydown":case"keyup":ny(N1,S,x1)}var l1;if(xv)l:{switch(f){case"compositionstart":var r1="onCompositionStart";break l;case"compositionend":r1="onCompositionEnd";break l;case"compositionupdate":r1="onCompositionUpdate";break l}r1=void 0}else a6?Rw(f,S)&&(r1="onCompositionEnd"):f==="keydown"&&S.keyCode===229&&(r1="onCompositionStart");if(r1&&(Dw&&S.locale!=="ko"&&(a6||r1!=="onCompositionStart"?r1==="onCompositionEnd"&&a6&&(l1=Uw()):(o4=x1,Wv=("value"in o4)?o4.value:o4.textContent,a6=!0)),J=Nf(g1,r1),0<J.length&&(r1=new oy(r1,f,null,S,x1),N1.push({event:r1,listeners:J}),l1?r1.data=l1:(l1=Hw(S),l1!==null&&(r1.data=l1)))),l1=nV?AV(f,S):VV(f,S))g1=Nf(g1,"onBeforeInput"),0w6||(f.current=Xg[w6],Xg[w6]=null,w6--)}function Ql(f,v){w6++,Xg[w6]=f.current,f.current=v}function F6(f,v){var S=f.type.contextTypes;if(!S)return W4;var x=f.stateNode;if(x&&x.__reactInternalMemoizedUnmaskedChildContext===v)return x.__reactInternalMemoizedMaskedChildContext;var V={},g;for(g in S)V[g]=v[g];return x&&(f=f.stateNode,f.__reactInternalMemoizedUnmaskedChildContext=v,f.__reactInternalMemoizedMaskedChildContext=V),V}function Y2(f){return f=f.childContextTypes,f!==null&&f!==void 0}function qf(){$l(I2),$l(o2)}function Ny(f,v,S){if(o2.current!==W4)throw Error(D1(168));Ql(o2,v),Ql(I2,S)}function _w(f,v,S){var x=f.stateNode;if(v=v.childContextTypes,typeof x.getChildContext!=="function")return S;x=x.getChildContext();for(var V in x)if(!(V in v))throw Error(D1(108,xA(f)||"Unknown",V));return g0({},S,x)}function Pf(f){return f=(f=f.stateNode)&&f.__reactInternalMemoizedMergedChildContext||W4,zc=o2.current,Ql(o2,f),Ql(I2,I2.current),!0}function Fy(f,v,S){var x=f.stateNode;if(!x)throw Error(D1(169));S?(f=_w(f,v,zc),x.__reactInternalMemoizedMergedChildContext=f,$l(I2),$l(o2),Ql(o2,f)):$l(I2),Ql(I2,S)}function iw(f){p3===null?p3=[f]:p3.push(f)}function OV(f){bf=!0,iw(f)}function x4(){if(!gg&&p3!==null){gg=!0;var f=0,v=Kl;try{var S=p3;for(Kl=1;f<S.length;f++){var x=S[f];do x=x(!0);while(x!==null)}p3=null,bf=!1}catch(V){throw p3!==null&&(p3=p3.slice(f+1)),Ww(Ev,x4),V}finally{Kl=v,gg=!1}}return null}function Kc(f,v){s6[S6++]=Bf,s6[S6++]=Mf,Mf=f,Bf=v}function ew(f,v,S){wu[su++]=f3,wu[su++]=d3,wu[su++]=Oc,Oc=f;var x=f3;f=d3;var V=32-zu(x)-1;x&=~(1<<V),S+=1;var g=32-zu(v)+V;if(30<g){var H=V-V%5;g=(x&(1<>=H,V-=H,f3=1<<32-zu(v)+V|S<<V|x,d3=g+f}else f3=1<<g|S<<V|x,d3=f}function Fv(f){f.return!==null&&(Kc(f,1),ew(f,1,0))}function qv(f){for(;f===Mf;)Mf=s6[--S6],s6[S6]=null,Bf=s6[--S6],s6[S6]=null;for(;f===Oc;)Oc=wu[--su],wu[su]=null,d3=wu[--su],wu[su]=null,f3=wu[--su],wu[su]=null}function tw(f,v){var S=Su(5,null,null,0);S.elementType="DELETED",S.stateNode=v,S.return=f,v=f.deletions,v===null?(f.deletions=[S],f.flags|=16):v.push(S)}function qy(f,v){switch(f.tag){case 5:var S=f.type;return v=v.nodeType!==1||S.toLowerCase()!==v.nodeName.toLowerCase()?null:v,v!==null?(f.stateNode=v,_2=f,$2=S4(v.firstChild),!0):!1;case 6:return v=f.pendingProps===""||v.nodeType!==3?null:v,v!==null?(f.stateNode=v,_2=f,$2=null,!0):!1;case 13:return v=v.nodeType!==8?null:v,v!==null?(S=Oc!==null?{id:f3,overflow:d3}:null,f.memoizedState={dehydrated:v,treeContext:S,retryLane:1073741824},S=Su(18,null,null,0),S.stateNode=v,S.return=f,f.child=S,_2=f,$2=null,!0):!1;default:return!1}}function Tg(f){return(f.mode&1)!==0&&(f.flags&128)===0}function Zg(f){if(el){var v=$2;if(v){var S=v;if(!qy(f,v)){if(Tg(f))throw Error(D1(418));v=S4(S.nextSibling);var x=_2;v&&qy(f,v)?tw(x,S):(f.flags=f.flags&-4097|2,el=!1,_2=f)}}else{if(Tg(f))throw Error(D1(418));f.flags=f.flags&-4097|2,el=!1,_2=f}}}function Py(f){for(f=f.return;f!==null&&f.tag!==5&&f.tag!==3&&f.tag!==13;)f=f.return;_2=f}function rf(f){if(f!==_2)return!1;if(!el)return Py(f),el=!0,!1;var v;if((v=f.tag!==3)&&!(v=f.tag!==5)&&(v=f.type,v=v!=="head"&&v!=="body"&&!Qg(f.type,f.memoizedProps)),v&&(v=$2)){if(Tg(f))throw ls(),Error(D1(418));for(;v;)tw(f,v),v=S4(v.nextSibling)}if(Py(f),f.tag===13){if(f=f.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(D1(317));l:{f=f.nextSibling;for(v=0;f;){if(f.nodeType===8){var S=f.data;if(S==="/$"){if(v===0){$2=S4(f.nextSibling);break l}v--}else S!=="$"&&S!=="$!"&&S!=="$?"||v++}f=f.nextSibling}$2=null}}else $2=_2?S4(f.stateNode.nextSibling):null;return!0}function ls(){for(var f=$2;f;)f=S4(f.nextSibling)}function q6(){$2=_2=null,el=!1}function Pv(f){Yu===null?Yu=[f]:Yu.push(f)}function x8(f,v,S){if(f=S.ref,f!==null&&typeof f!=="function"&&typeof f!=="object"){if(S._owner){if(S=S._owner,S){if(S.tag!==1)throw Error(D1(309));var x=S.stateNode}if(!x)throw Error(D1(147,f));var V=x,g=""+f;if(v!==null&&v.ref!==null&&typeof v.ref==="function"&&v.ref._stringRef===g)return v.ref;return v=function(H){var b=V.refs;H===null?delete b[g]:b[g]=H},v._stringRef=g,v}if(typeof f!=="string")throw Error(D1(284));if(!S._owner)throw Error(D1(290,f))}return f}function pf(f,v){throw f=Object.prototype.toString.call(v),Error(D1(31,f==="[object Object]"?"object with keys {"+Object.keys(v).join(", ")+"}":f))}function My(f){var v=f._init;return v(f._payload)}function us(f){function v(v1,f1){if(f){var o1=v1.deletions;o1===null?(v1.deletions=[f1],v1.flags|=16):o1.push(f1)}}function S(v1,f1){if(!f)return null;for(;f1!==null;)v(v1,f1),f1=f1.sibling;return null}function x(v1,f1){for(v1=new Map;f1!==null;)f1.key!==null?v1.set(f1.key,f1):v1.set(f1.index,f1),f1=f1.sibling;return v1}function V(v1,f1){return v1=A4(v1,f1),v1.index=0,v1.sibling=null,v1}function g(v1,f1,o1){if(v1.index=o1,!f)return v1.flags|=1048576,f1;if(o1=v1.alternate,o1!==null)return o1=o1.index,o1<f1?(v1.flags|=2,f1):o1;return v1.flags|=2,f1}function H(v1){return f&&v1.alternate===null&&(v1.flags|=2),v1}function b(v1,f1,o1,B1){if(f1===null||f1.tag!==6)return f1=sg(o1,v1.mode,B1),f1.return=v1,f1;return f1=V(f1,o1),f1.return=v1,f1}function _(v1,f1,o1,B1){var Z1=o1.type;if(Z1===v6)return x1(v1,f1,o1.props.children,B1,o1.key);if(f1!==null&&(f1.elementType===Z1||typeof Z1==="object"&&Z1!==null&&Z1.$$typeof===m4&&My(Z1)===f1.type))return B1=V(f1,o1.props),B1.ref=x8(v1,f1,o1),B1.return=v1,B1;return B1=Ef(o1.type,o1.key,o1.props,null,v1.mode,B1),B1.ref=x8(v1,f1,o1),B1.return=v1,B1}function g1(v1,f1,o1,B1){if(f1===null||f1.tag!==4||f1.stateNode.containerInfo!==o1.containerInfo||f1.stateNode.implementation!==o1.implementation)return f1=Sg(o1,v1.mode,B1),f1.return=v1,f1;return f1=V(f1,o1.children||[]),f1.return=v1,f1}function x1(v1,f1,o1,B1,Z1){if(f1===null||f1.tag!==7)return f1=Yc(o1,v1.mode,B1,Z1),f1.return=v1,f1;return f1=V(f1,o1),f1.return=v1,f1}function N1(v1,f1,o1){if(typeof f1==="string"&&f1!==""||typeof f1==="number")return f1=sg(""+f1,v1.mode,o1),f1.return=v1,f1;if(typeof f1==="object"&&f1!==null){switch(f1.$$typeof){case Z9:return o1=Ef(f1.type,f1.key,f1.props,null,v1.mode,o1),o1.ref=x8(v1,null,f1),o1.return=v1,o1;case g6:return f1=Sg(f1,v1.mode,o1),f1.return=v1,f1;case m4:var B1=f1._init;return N1(v1,B1(f1._payload),o1)}if(P8(f1)||V8(f1))return f1=Yc(f1,v1.mode,o1,null),f1.return=v1,f1;pf(v1,f1)}return null}function V1(v1,f1,o1,B1){var Z1=f1!==null?f1.key:null;if(typeof o1==="string"&&o1!==""||typeof o1==="number")return Z1!==null?null:b(v1,f1,""+o1,B1);if(typeof o1==="object"&&o1!==null){switch(o1.$$typeof){case Z9:return o1.key===Z1?_(v1,f1,o1,B1):null;case g6:return o1.key===Z1?g1(v1,f1,o1,B1):null;case m4:return Z1=o1._init,V1(v1,f1,Z1(o1._payload),B1)}if(P8(o1)||V8(o1))return Z1!==null?null:x1(v1,f1,o1,B1,null);pf(v1,o1)}return null}function q1(v1,f1,o1,B1,Z1){if(typeof B1==="string"&&B1!==""||typeof B1==="number")return v1=v1.get(o1)||null,b(f1,v1,""+B1,Z1);if(typeof B1==="object"&&B1!==null){switch(B1.$$typeof){case Z9:return v1=v1.get(B1.key===null?o1:B1.key)||null,_(f1,v1,B1,Z1);case g6:return v1=v1.get(B1.key===null?o1:B1.key)||null,g1(f1,v1,B1,Z1);case m4:var J=B1._init;return q1(v1,f1,o1,J(B1._payload),Z1)}if(P8(B1)||V8(B1))return v1=v1.get(o1)||null,x1(f1,v1,B1,Z1,null);pf(f1,B1)}return null}function X1(v1,f1,o1,B1){for(var Z1=null,J=null,l1=f1,r1=f1=0,F1=null;l1!==null&&r1r1?(F1=l1,l1=null):F1=l1.sibling;var P1=V1(v1,l1,o1[r1],B1);if(P1===null){l1===null&&(l1=F1);break}f&&l1&&P1.alternate===null&&v(v1,l1),f1=g(P1,f1,r1),J===null?Z1=P1:J.sibling=P1,J=P1,l1=F1}if(r1===o1.length)return S(v1,l1),el&&Kc(v1,r1),Z1;if(l1===null){for(;r1<o1.length;r1++)l1=N1(v1,o1[r1],B1),l1!==null&&(f1=g(l1,f1,r1),J===null?Z1=l1:J.sibling=l1,J=l1);return el&&Kc(v1,r1),Z1}for(l1=x(v1,l1);r1r1?(F1=l1,l1=null):F1=l1.sibling;var t1=V1(v1,l1,P1.value,B1);if(t1===null){l1===null&&(l1=F1);break}f&&l1&&t1.alternate===null&&v(v1,l1),f1=g(t1,f1,r1),J===null?Z1=t1:J.sibling=t1,J=t1,l1=F1}if(P1.done)return S(v1,l1),el&&Kc(v1,r1),Z1;if(l1===null){for(;!P1.done;r1++,P1=o1.next())P1=N1(v1,P1.value,B1),P1!==null&&(f1=g(P1,f1,r1),J===null?Z1=P1:J.sibling=P1,J=P1);return el&&Kc(v1,r1),Z1}for(l1=x(v1,l1);!P1.done;r1++,P1=o1.next())P1=q1(l1,v1,r1,P1.value,B1),P1!==null&&(f&&P1.alternate!==null&&l1.delete(P1.key===null?r1:P1.key),f1=g(P1,f1,r1),J===null?Z1=P1:J.sibling=P1,J=P1);return f&&l1.forEach(function(ul){return v(v1,ul)}),el&&Kc(v1,r1),Z1}function A1(v1,f1,o1,B1){if(typeof o1==="object"&&o1!==null&&o1.type===v6&&o1.key===null&&(o1=o1.props.children),typeof o1==="object"&&o1!==null){switch(o1.$$typeof){case Z9:l:{for(var Z1=o1.key,J=f1;J!==null;){if(J.key===Z1){if(Z1=o1.type,Z1===v6){if(J.tag===7){S(v1,J.sibling),f1=V(J,o1.props.children),f1.return=v1,v1=f1;break l}}else if(J.elementType===Z1||typeof Z1==="object"&&Z1!==null&&Z1.$$typeof===m4&&My(Z1)===J.type){S(v1,J.sibling),f1=V(J,o1.props),f1.ref=x8(v1,J,o1),f1.return=v1,v1=f1;break l}S(v1,J);break}else v(v1,J);J=J.sibling}o1.type===v6?(f1=Yc(o1.props.children,v1.mode,B1,o1.key),f1.return=v1,v1=f1):(B1=Ef(o1.type,o1.key,o1.props,null,v1.mode,B1),B1.ref=x8(v1,f1,o1),B1.return=v1,v1=B1)}return H(v1);case g6:l:{for(J=o1.key;f1!==null;){if(f1.key===J)if(f1.tag===4&&f1.stateNode.containerInfo===o1.containerInfo&&f1.stateNode.implementation===o1.implementation){S(v1,f1.sibling),f1=V(f1,o1.children||[]),f1.return=v1,v1=f1;break l}else{S(v1,f1);break}else v(v1,f1);f1=f1.sibling}f1=Sg(o1,v1.mode,B1),f1.return=v1,v1=f1}return H(v1);case m4:return J=o1._init,A1(v1,f1,J(o1._payload),B1)}if(P8(o1))return X1(v1,f1,o1,B1);if(V8(o1))return J1(v1,f1,o1,B1);pf(v1,o1)}return typeof o1==="string"&&o1!==""||typeof o1==="number"?(o1=""+o1,f1!==null&&f1.tag===6?(S(v1,f1.sibling),f1=V(f1,o1),f1.return=v1,v1=f1):(S(v1,f1),f1=sg(o1,v1.mode,B1),f1.return=v1,v1=f1),H(v1)):S(v1,f1)}return A1}function Bv(){Mv=k6=Uf=null}function Kv(f){var v=Kf.current;$l(Kf),f._currentValue=v}function bg(f,v,S){for(;f!==null;){var x=f.alternate;if((f.childLanes&v)!==v?(f.childLanes|=v,x!==null&&(x.childLanes|=v)):x!==null&&(x.childLanes&v)!==v&&(x.childLanes|=v),f===S)break;f=f.return}}function C6(f,v){Uf=f,Mv=k6=null,f=f.dependencies,f!==null&&f.firstContext!==null&&((f.lanes&v)!==0&&(H2=!0),f.firstContext=null)}function Eu(f){var v=f._currentValue;if(Mv!==f)if(f={context:f,memoizedValue:v,next:null},k6===null){if(Uf===null)throw Error(D1(308));k6=f,Uf.dependencies={lanes:0,firstContext:f}}else k6=k6.next=f;return v}function Uv(f){Rc===null?Rc=[f]:Rc.push(f)}function rs(f,v,S,x){var V=v.interleaved;return V===null?(S.next=S,Uv(v)):(S.next=V.next,V.next=S),v.interleaved=S,a3(f,x)}function a3(f,v){f.lanes|=v;var S=f.alternate;S!==null&&(S.lanes|=v),S=f;for(f=f.return;f!==null;)f.childLanes|=v,S=f.alternate,S!==null&&(S.childLanes|=v),S=f,f=f.return;return S.tag===3?S.stateNode:null}function Dv(f){f.updateQueue={baseState:f.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ps(f,v){f=f.updateQueue,v.updateQueue===f&&(v.updateQueue={baseState:f.baseState,firstBaseUpdate:f.firstBaseUpdate,lastBaseUpdate:f.lastBaseUpdate,shared:f.shared,effects:f.effects})}function m3(f,v){return{eventTime:f,lane:v,tag:0,payload:null,callback:null,next:null}}function k4(f,v,S){var x=f.updateQueue;if(x===null)return null;if(x=x.shared,(Al&2)!==0){var V=x.pending;return V===null?v.next=v:(v.next=V.next,V.next=v),x.pending=v,a3(f,S)}return V=x.interleaved,V===null?(v.next=v,Uv(x)):(v.next=V.next,V.next=v),x.interleaved=v,a3(f,S)}function hf(f,v,S){if(v=v.updateQueue,v!==null&&(v=v.shared,(S&4194240)!==0)){var x=v.lanes;x&=f.pendingLanes,S|=x,v.lanes=S,nv(f,S)}}function By(f,v){var{updateQueue:S,alternate:x}=f;if(x!==null&&(x=x.updateQueue,S===x)){var V=null,g=null;if(S=S.firstBaseUpdate,S!==null){do{var H={eventTime:S.eventTime,lane:S.lane,tag:S.tag,payload:S.payload,callback:S.callback,next:null};g===null?V=g=H:g=g.next=H,S=S.next}while(S!==null);g===null?V=g=v:g=g.next=v}else V=g=v;S={baseState:x.baseState,firstBaseUpdate:V,lastBaseUpdate:g,shared:x.shared,effects:x.effects},f.updateQueue=S;return}f=S.lastBaseUpdate,f===null?S.firstBaseUpdate=v:f.next=v,S.lastBaseUpdate=v}function Df(f,v,S,x){var V=f.updateQueue;g4=!1;var{firstBaseUpdate:g,lastBaseUpdate:H}=V,b=V.shared.pending;if(b!==null){V.shared.pending=null;var _=b,g1=_.next;_.next=null,H===null?g=g1:H.next=g1,H=_;var x1=f.alternate;x1!==null&&(x1=x1.updateQueue,b=x1.lastBaseUpdate,b!==H&&(b===null?x1.firstBaseUpdate=g1:b.next=g1,x1.lastBaseUpdate=_))}if(g!==null){var N1=V.baseState;H=0,x1=g1=_=null,b=g;do{var{lane:V1,eventTime:q1}=b;if((x&V1)===V1){x1!==null&&(x1=x1.next={eventTime:q1,lane:0,tag:b.tag,payload:b.payload,callback:b.callback,next:null});l:{var X1=f,J1=b;switch(V1=v,q1=S,J1.tag){case 1:if(X1=J1.payload,typeof X1==="function"){N1=X1.call(q1,N1,V1);break l}N1=X1;break l;case 3:X1.flags=X1.flags&-65537|128;case 0:if(X1=J1.payload,V1=typeof X1==="function"?X1.call(q1,N1,V1):X1,V1===null||V1===void 0)break l;N1=g0({},N1,V1);break l;case 2:g4=!0}}b.callback!==null&&b.lane!==0&&(f.flags|=64,V1=V.effects,V1===null?V.effects=[b]:V1.push(b))}else q1={eventTime:q1,lane:V1,tag:b.tag,payload:b.payload,callback:b.callback,next:null},x1===null?(g1=x1=q1,_=N1):x1=x1.next=q1,H|=V1;if(b=b.next,b===null)if(b=V.shared.pending,b===null)break;else V1=b,b=V1.next,V1.next=null,V.lastBaseUpdate=V1,V.shared.pending=null}while(1);if(x1===null&&(_=N1),V.baseState=_,V.firstBaseUpdate=g1,V.lastBaseUpdate=x1,v=V.shared.interleaved,v!==null){V=v;do H|=V.lane,V=V.next;while(V!==v)}else g===null&&(V.shared.lanes=0);Qc|=H,f.lanes=H,f.memoizedState=N1}}function Ky(f,v,S){if(f=v.effects,v.effects=null,f!==null)for(v=0;v<f.length;v++){var x=f[v],V=x.callback;if(V!==null){if(x.callback=null,x=S,typeof V!=="function")throw Error(D1(191,V));V.call(x)}}}function Hc(f){if(f===op)throw Error(D1(174));return f}function Rv(f,v){switch(Ql(rp,v),Ql(cp,f),Ql(A5,op),f=v.nodeType,f){case 9:case 11:v=(v=v.documentElement)?v.namespaceURI:Ng(null,"");break;default:f=f===8?v.parentNode:v,v=f.namespaceURI||null,f=f.tagName,v=Ng(v,f)}$l(A5),Ql(A5,v)}function M6(){$l(A5),$l(cp),$l(rp)}function fs(f){Hc(rp.current);var v=Hc(A5.current),S=Ng(v,f.type);v!==S&&(Ql(cp,f),Ql(A5,S))}function Hv(f){cp.current===f&&($l(A5),$l(cp))}function Rf(f){for(var v=f;v!==null;){if(v.tag===13){var S=v.memoizedState;if(S!==null&&(S=S.dehydrated,S===null||S.data==="$?"||S.data==="$!"))return v}else if(v.tag===19&&v.memoizedProps.revealOrder!==void 0){if((v.flags&128)!==0)return v}else if(v.child!==null){v.child.return=v,v=v.child;continue}if(v===f)break;for(;v.sibling===null;){if(v.return===null||v.return===f)return null;v=v.return}v.sibling.return=v.return,v=v.sibling}return null}function Iv(){for(var f=0;f<vg.length;f++)vg[f]._workInProgressVersionPrimary=null;vg.length=0}function g2(){throw Error(D1(321))}function Yv(f,v){if(v===null)return!1;for(var S=0;S<v.length&&S<f.length;S++)if(!Gu(f[S],v[S]))return!1;return!0}function zv(f,v,S,x,V,g){if(Gc=g,m0=v,v.memoizedState=null,v.updateQueue=null,v.lanes=0,yf.current=f===null||f.memoizedState===null?TV:ZV,f=S(x,V),G8){g=0;do{if(G8=!1,pp=0,25S?S:4,f(!0);var x=ag.transition;ag.transition={};try{f(!1),v()}finally{Kl=S,ag.transition=x}}function Vs(){return nu().memoizedState}function JV(f,v,S){var x=n4(f);if(S={lane:x,action:S,hasEagerState:!1,eagerState:null,next:null},Ws(f))Ls(v,S);else if(S=rs(f,v,S,x),S!==null){var V=C2();Ou(S,f,x,V),Cs(S,v,x)}}function XV(f,v,S){var x=n4(f),V={lane:x,action:S,hasEagerState:!1,eagerState:null,next:null};if(Ws(f))Ls(v,V);else{var g=f.alternate;if(f.lanes===0&&(g===null||g.lanes===0)&&(g=v.lastRenderedReducer,g!==null))try{var H=v.lastRenderedState,b=g(H,S);if(V.hasEagerState=!0,V.eagerState=b,Gu(b,H)){var _=v.interleaved;_===null?(V.next=V,Uv(v)):(V.next=_.next,_.next=V),v.interleaved=V;return}}catch(g1){}finally{}S=rs(f,v,V,x),S!==null&&(V=C2(),Ou(S,f,x,V),Cs(S,v,x))}}function Ws(f){var v=f.alternate;return f===m0||v!==null&&v===m0}function Ls(f,v){G8=Hf=!0;var S=f.pending;S===null?v.next=v:(v.next=S.next,S.next=v),f.pending=v}function Cs(f,v,S){if((S&4194240)!==0){var x=v.lanes;x&=f.pendingLanes,S|=x,v.lanes=S,nv(f,S)}}function Hu(f,v){if(f&&f.defaultProps){v=g0({},v),f=f.defaultProps;for(var S in f)v[S]===void 0&&(v[S]=f[S]);return v}return v}function $g(f,v,S,x){v=f.memoizedState,S=S(x,v),S=S===null||S===void 0?v:g0({},v,S),f.memoizedState=S,f.lanes===0&&(f.updateQueue.baseState=S)}function Ry(f,v,S,x,V,g,H){return f=f.stateNode,typeof f.shouldComponentUpdate==="function"?f.shouldComponentUpdate(x,g,H):v.prototype&&v.prototype.isPureReactComponent?!e8(S,x)||!e8(V,g):!0}function xs(f,v,S){var x=!1,V=W4,g=v.contextType;return typeof g==="object"&&g!==null?g=Eu(g):(V=Y2(v)?zc:o2.current,x=v.contextTypes,g=(x=x!==null&&x!==void 0)?F6(f,V):W4),v=new v(S,g),f.memoizedState=v.state!==null&&v.state!==void 0?v.state:null,v.updater=_f,f.stateNode=v,v._reactInternals=f,x&&(f=f.stateNode,f.__reactInternalMemoizedUnmaskedChildContext=V,f.__reactInternalMemoizedMaskedChildContext=g),v}function Hy(f,v,S,x){f=v.state,typeof v.componentWillReceiveProps==="function"&&v.componentWillReceiveProps(S,x),typeof v.UNSAFE_componentWillReceiveProps==="function"&&v.UNSAFE_componentWillReceiveProps(S,x),v.state!==f&&_f.enqueueReplaceState(v,v.state,null)}function _g(f,v,S,x){var V=f.stateNode;V.props=S,V.state=f.memoizedState,V.refs={},Dv(f);var g=v.contextType;typeof g==="object"&&g!==null?V.context=Eu(g):(g=Y2(v)?zc:o2.current,V.context=F6(f,g)),V.state=f.memoizedState,g=v.getDerivedStateFromProps,typeof g==="function"&&($g(f,v,g,S),V.state=f.memoizedState),typeof v.getDerivedStateFromProps==="function"||typeof V.getSnapshotBeforeUpdate==="function"||typeof V.UNSAFE_componentWillMount!=="function"&&typeof V.componentWillMount!=="function"||(v=V.state,typeof V.componentWillMount==="function"&&V.componentWillMount(),typeof V.UNSAFE_componentWillMount==="function"&&V.UNSAFE_componentWillMount(),v!==V.state&&_f.enqueueReplaceState(V,V.state,null),Df(f,S,V,x),V.state=f.memoizedState),typeof V.componentDidMount==="function"&&(f.flags|=4194308)}function B6(f,v){try{var S="",x=v;do S+=CA(x),x=x.return;while(x);var V=S}catch(g){V=` Error generating stack: `+g.message+` `+g.stack}return{value:f,source:v,stack:V,digest:null}}function yg(f,v,S){return{value:f,source:null,stack:S!=null?S:null,digest:v!=null?v:null}}function ig(f,v){try{console.error(v.value)}catch(S){setTimeout(function(){throw S})}}function Ns(f,v,S){S=m3(-1,S),S.tag=3,S.payload={element:null};var x=v.value;return S.callback=function(){zf||(zf=!0,mv=x),ig(f,v)},S}function Fs(f,v,S){S=m3(-1,S),S.tag=3;var x=f.type.getDerivedStateFromError;if(typeof x==="function"){var V=v.value;S.payload=function(){return x(V)},S.callback=function(){ig(f,v)}}var g=f.stateNode;return g!==null&&typeof g.componentDidCatch==="function"&&(S.callback=function(){ig(f,v),typeof x!=="function"&&(E4===null?E4=new Set([this]):E4.add(this));var H=v.stack;this.componentDidCatch(v.value,{componentStack:H!==null?H:""})}),S}function Iy(f,v,S){var x=f.pingCache;if(x===null){x=f.pingCache=new $V;var V=new Set;x.set(v,V)}else V=x.get(v),V===void 0&&(V=new Set,x.set(v,V));V.has(S)||(V.add(S),f=vW.bind(null,f,v,S),v.then(f,f))}function Yy(f){do{var v;if(v=f.tag===13)v=f.memoizedState,v=v!==null?v.dehydrated!==null?!0:!1:!0;if(v)return f;f=f.return}while(f!==null);return null}function zy(f,v,S,x,V){if((f.mode&1)===0)return f===v?f.flags|=65536:(f.flags|=128,S.flags|=131072,S.flags&=-52805,S.tag===1&&(S.alternate===null?S.tag=17:(v=m3(-1,1),v.tag=2,k4(S,v,1))),S.lanes|=1),f;return f.flags|=65536,f.lanes=V,f}function L2(f,v,S,x){v.child=f===null?cs(v,null,S,x):P6(v,f.child,S,x)}function Oy(f,v,S,x,V){S=S.render;var g=v.ref;if(C6(v,V),x=zv(f,v,S,x,g,V),S=Ov(),f!==null&&!H2)return v.updateQueue=f.updateQueue,v.flags&=-2053,f.lanes&=~V,o3(f,v,V);return el&&S&&Fv(v),v.flags|=1,L2(f,v,x,V),v.child}function Gy(f,v,S,x,V){if(f===null){var g=S.type;if(typeof g==="function"&&!_v(g)&&g.defaultProps===void 0&&S.compare===null&&S.defaultProps===void 0)return v.tag=15,v.type=g,qs(f,v,g,x,V);return f=Ef(S.type,null,x,v,v.mode,V),f.ref=v.ref,f.return=v,v.child=f}if(g=f.child,(f.lanes&V)===0){var H=g.memoizedProps;if(S=S.compare,S=S!==null?S:e8,S(H,x)&&f.ref===v.ref)return o3(f,v,V)}return v.flags|=1,f=A4(g,x),f.ref=v.ref,f.return=v,v.child=f}function qs(f,v,S,x,V){if(f!==null){var g=f.memoizedProps;if(e8(g,x)&&f.ref===v.ref)if(H2=!1,v.pendingProps=x=g,(f.lanes&V)!==0)(f.flags&131072)!==0&&(H2=!0);else return v.lanes=f.lanes,o3(f,v,V)}return eg(f,v,S,x,V)}function Ps(f,v,S){var x=v.pendingProps,V=x.children,g=f!==null?f.memoizedState:null;if(x.mode==="hidden")if((v.mode&1)===0)v.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ql(n6,b2),b2|=S;else{if((S&1073741824)===0)return f=g!==null?g.baseLanes|S:S,v.lanes=v.childLanes=1073741824,v.memoizedState={baseLanes:f,cachePool:null,transitions:null},v.updateQueue=null,Ql(n6,b2),b2|=f,null;v.memoizedState={baseLanes:0,cachePool:null,transitions:null},x=g!==null?g.baseLanes:S,Ql(n6,b2),b2|=x}else g!==null?(x=g.baseLanes|S,v.memoizedState=null):x=S,Ql(n6,b2),b2|=x;return L2(f,v,V,S),v.child}function Ms(f,v){var S=v.ref;if(f===null&&S!==null||f!==null&&f.ref!==S)v.flags|=512,v.flags|=2097152}function eg(f,v,S,x,V){var g=Y2(S)?zc:o2.current;if(g=F6(v,g),C6(v,V),S=zv(f,v,S,x,g,V),x=Ov(),f!==null&&!H2)return v.updateQueue=f.updateQueue,v.flags&=-2053,f.lanes&=~V,o3(f,v,V);return el&&x&&Fv(v),v.flags|=1,L2(f,v,S,V),v.child}function Qy(f,v,S,x,V){if(Y2(S)){var g=!0;Pf(v)}else g=!1;if(C6(v,V),v.stateNode===null)sf(f,v),xs(v,S,x),_g(v,S,x,V),x=!0;else if(f===null){var{stateNode:H,memoizedProps:b}=v;H.props=b;var _=H.context,g1=S.contextType;typeof g1==="object"&&g1!==null?g1=Eu(g1):(g1=Y2(S)?zc:o2.current,g1=F6(v,g1));var x1=S.getDerivedStateFromProps,N1=typeof x1==="function"||typeof H.getSnapshotBeforeUpdate==="function";N1||typeof H.UNSAFE_componentWillReceiveProps!=="function"&&typeof H.componentWillReceiveProps!=="function"||(b!==x||_!==g1)&&Hy(v,H,x,g1),g4=!1;var V1=v.memoizedState;H.state=V1,Df(v,x,H,V),_=v.memoizedState,b!==x||V1!==_||I2.current||g4?(typeof x1==="function"&&($g(v,S,x1,x),_=v.memoizedState),(b=g4||Ry(v,S,b,x,V1,_,g1))?(N1||typeof H.UNSAFE_componentWillMount!=="function"&&typeof H.componentWillMount!=="function"||(typeof H.componentWillMount==="function"&&H.componentWillMount(),typeof H.UNSAFE_componentWillMount==="function"&&H.UNSAFE_componentWillMount()),typeof H.componentDidMount==="function"&&(v.flags|=4194308)):(typeof H.componentDidMount==="function"&&(v.flags|=4194308),v.memoizedProps=x,v.memoizedState=_),H.props=x,H.state=_,H.context=g1,x=b):(typeof H.componentDidMount==="function"&&(v.flags|=4194308),x=!1)}else{H=v.stateNode,ps(f,v),b=v.memoizedProps,g1=v.type===v.elementType?b:Hu(v.type,b),H.props=g1,N1=v.pendingProps,V1=H.context,_=S.contextType,typeof _==="object"&&_!==null?_=Eu(_):(_=Y2(S)?zc:o2.current,_=F6(v,_));var q1=S.getDerivedStateFromProps;(x1=typeof q1==="function"||typeof H.getSnapshotBeforeUpdate==="function")||typeof H.UNSAFE_componentWillReceiveProps!=="function"&&typeof H.componentWillReceiveProps!=="function"||(b!==N1||V1!==_)&&Hy(v,H,x,_),g4=!1,V1=v.memoizedState,H.state=V1,Df(v,x,H,V);var X1=v.memoizedState;b!==N1||V1!==X1||I2.current||g4?(typeof q1==="function"&&($g(v,S,q1,x),X1=v.memoizedState),(g1=g4||Ry(v,S,g1,x,V1,X1,_)||!1)?(x1||typeof H.UNSAFE_componentWillUpdate!=="function"&&typeof H.componentWillUpdate!=="function"||(typeof H.componentWillUpdate==="function"&&H.componentWillUpdate(x,X1,_),typeof H.UNSAFE_componentWillUpdate==="function"&&H.UNSAFE_componentWillUpdate(x,X1,_)),typeof H.componentDidUpdate==="function"&&(v.flags|=4),typeof H.getSnapshotBeforeUpdate==="function"&&(v.flags|=1024)):(typeof H.componentDidUpdate!=="function"||b===f.memoizedProps&&V1===f.memoizedState||(v.flags|=4),typeof H.getSnapshotBeforeUpdate!=="function"||b===f.memoizedProps&&V1===f.memoizedState||(v.flags|=1024),v.memoizedProps=x,v.memoizedState=X1),H.props=x,H.state=X1,H.context=_,x=g1):(typeof H.componentDidUpdate!=="function"||b===f.memoizedProps&&V1===f.memoizedState||(v.flags|=4),typeof H.getSnapshotBeforeUpdate!=="function"||b===f.memoizedProps&&V1===f.memoizedState||(v.flags|=1024),x=!1)}return tg(f,v,S,x,g,V)}function tg(f,v,S,x,V,g){Ms(f,v);var H=(v.flags&128)!==0;if(!x&&!H)return V&&Fy(v,S,!1),o3(f,v,g);x=v.stateNode,_V.current=v;var b=H&&typeof S.getDerivedStateFromError!=="function"?null:x.render();return v.flags|=1,f!==null&&H?(v.child=P6(v,f.child,null,g),v.child=P6(v,null,b,g)):L2(f,v,b,g),v.memoizedState=x.state,V&&Fy(v,S,!0),v.child}function Bs(f){var v=f.stateNode;v.pendingContext?Ny(f,v.pendingContext,v.pendingContext!==v.context):v.context&&Ny(f,v.context,!1),Rv(f,v.containerInfo)}function jy(f,v,S,x,V){return q6(),Pv(V),v.flags|=256,L2(f,v,S,x),v.child}function uv(f){return{baseLanes:f,cachePool:null,transitions:null}}function Ks(f,v,S){var x=v.pendingProps,V=d0.current,g=!1,H=(v.flags&128)!==0,b;if((b=H)||(b=f!==null&&f.memoizedState===null?!1:(V&2)!==0),b)g=!0,v.flags&=-129;else if(f===null||f.memoizedState!==null)V|=1;if(Ql(d0,V&1),f===null){if(Zg(v),f=v.memoizedState,f!==null&&(f=f.dehydrated,f!==null))return(v.mode&1)===0?v.lanes=1:f.data==="$!"?v.lanes=8:v.lanes=1073741824,null;return H=x.children,f=x.fallback,g?(x=v.mode,g=v.child,H={mode:"hidden",children:H},(x&1)===0&&g!==null?(g.childLanes=0,g.pendingProps=H):g=ld(H,x,0,null),f=Yc(f,x,S,null),g.return=v,f.return=v,g.sibling=f,v.child=g,v.child.memoizedState=uv(S),v.memoizedState=lv,f):jv(v,H)}if(V=f.memoizedState,V!==null&&(b=V.dehydrated,b!==null))return iV(f,v,H,x,b,V,S);if(g){g=x.fallback,H=v.mode,V=f.child,b=V.sibling;var _={mode:"hidden",children:x.children};return(H&1)===0&&v.child!==V?(x=v.child,x.childLanes=0,x.pendingProps=_,v.deletions=null):(x=A4(V,_),x.subtreeFlags=V.subtreeFlags&14680064),b!==null?g=A4(b,g):(g=Yc(g,H,S,null),g.flags|=2),g.return=v,x.return=v,x.sibling=g,v.child=x,x=g,g=v.child,H=f.child.memoizedState,H=H===null?uv(S):{baseLanes:H.baseLanes|S,cachePool:null,transitions:H.transitions},g.memoizedState=H,g.childLanes=f.childLanes&~S,v.memoizedState=lv,x}return g=f.child,f=g.sibling,x=A4(g,{mode:"visible",children:x.children}),(v.mode&1)===0&&(x.lanes=S),x.return=v,x.sibling=null,f!==null&&(S=v.deletions,S===null?(v.deletions=[f],v.flags|=16):S.push(f)),v.child=x,v.memoizedState=null,x}function jv(f,v){return v=ld({mode:"visible",children:v},f.mode,0,null),v.return=f,f.child=v}function ff(f,v,S,x){return x!==null&&Pv(x),P6(v,f.child,null,S),f=jv(v,v.pendingProps.children),f.flags|=2,v.memoizedState=null,f}function iV(f,v,S,x,V,g,H){if(S){if(v.flags&256)return v.flags&=-257,x=yg(Error(D1(422))),ff(f,v,H,x);if(v.memoizedState!==null)return v.child=f.child,v.flags|=128,null;return g=x.fallback,V=v.mode,x=ld({mode:"visible",children:x.children},V,0,null),g=Yc(g,V,H,null),g.flags|=2,x.return=v,g.return=v,x.sibling=g,v.child=x,(v.mode&1)!==0&&P6(v,f.child,null,H),v.child.memoizedState=uv(H),v.memoizedState=lv,g}if((v.mode&1)===0)return ff(f,v,H,null);if(V.data==="$!"){if(x=V.nextSibling&&V.nextSibling.dataset,x)var b=x.dgst;return x=b,g=Error(D1(419)),x=yg(g,x,void 0),ff(f,v,H,x)}if(b=(H&f.childLanes)!==0,H2||b){if(x=z0,x!==null){switch(H&-H){case 4:V=2;break;case 16:V=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:V=32;break;case 536870912:V=268435456;break;default:V=0}V=(V&(x.suspendedLanes|H))!==0?0:V,V!==0&&V!==g.retryLane&&(g.retryLane=V,a3(f,V),Ou(x,f,V,-1))}return $v(),x=yg(Error(D1(421))),ff(f,v,H,x)}if(V.data==="$?")return v.flags|=128,v.child=f.child,v=aW.bind(null,f),V._reactRetry=v,null;return f=g.treeContext,$2=S4(V.nextSibling),_2=v,el=!0,Yu=null,f!==null&&(wu[su++]=f3,wu[su++]=d3,wu[su++]=Oc,f3=f.id,d3=f.overflow,Oc=v),v=jv(v,x.children),v.flags|=4096,v}function Jy(f,v,S){f.lanes|=v;var x=f.alternate;x!==null&&(x.lanes|=v),bg(f.return,v,S)}function wg(f,v,S,x,V){var g=f.memoizedState;g===null?f.memoizedState={isBackwards:v,rendering:null,renderingStartTime:0,last:x,tail:S,tailMode:V}:(g.isBackwards=v,g.rendering=null,g.renderingStartTime=0,g.last=x,g.tail=S,g.tailMode=V)}function Us(f,v,S){var x=v.pendingProps,V=x.revealOrder,g=x.tail;if(L2(f,v,x.children,S),x=d0.current,(x&2)!==0)x=x&1|2,v.flags|=128;else{if(f!==null&&(f.flags&128)!==0)l:for(f=v.child;f!==null;){if(f.tag===13)f.memoizedState!==null&&Jy(f,S,v);else if(f.tag===19)Jy(f,S,v);else if(f.child!==null){f.child.return=f,f=f.child;continue}if(f===v)break l;for(;f.sibling===null;){if(f.return===null||f.return===v)break l;f=f.return}f.sibling.return=f.return,f=f.sibling}x&=1}if(Ql(d0,x),(v.mode&1)===0)v.memoizedState=null;else switch(V){case"forwards":S=v.child;for(V=null;S!==null;)f=S.alternate,f!==null&&Rf(f)===null&&(V=S),S=S.sibling;S=V,S===null?(V=v.child,v.child=null):(V=S.sibling,S.sibling=null),wg(v,!1,V,S,g);break;case"backwards":S=null,V=v.child;for(v.child=null;V!==null;){if(f=V.alternate,f!==null&&Rf(f)===null){v.child=V;break}f=V.sibling,V.sibling=S,S=V,V=f}wg(v,!0,S,null,g);break;case"together":wg(v,!1,null,null,void 0);break;default:v.memoizedState=null}return v.child}function sf(f,v){(v.mode&1)===0&&f!==null&&(f.alternate=null,v.alternate=null,v.flags|=2)}function o3(f,v,S){if(f!==null&&(v.dependencies=f.dependencies),Qc|=v.lanes,(S&v.childLanes)===0)return null;if(f!==null&&v.child!==f.child)throw Error(D1(153));if(v.child!==null){f=v.child,S=A4(f,f.pendingProps),v.child=S;for(S.return=v;f.sibling!==null;)f=f.sibling,S=S.sibling=A4(f,f.pendingProps),S.return=v;S.sibling=null}return v.child}function eV(f,v,S){switch(v.tag){case 3:Bs(v),q6();break;case 5:fs(v);break;case 1:Y2(v.type)&&Pf(v);break;case 4:Rv(v,v.stateNode.containerInfo);break;case 10:var x=v.type._context,V=v.memoizedProps.value;Ql(Kf,x._currentValue),x._currentValue=V;break;case 13:if(x=v.memoizedState,x!==null){if(x.dehydrated!==null)return Ql(d0,d0.current&1),v.flags|=128,null;if((S&v.child.childLanes)!==0)return Ks(f,v,S);return Ql(d0,d0.current&1),f=o3(f,v,S),f!==null?f.sibling:null}Ql(d0,d0.current&1);break;case 19:if(x=(S&v.childLanes)!==0,(f.flags&128)!==0){if(x)return Us(f,v,S);v.flags|=128}if(V=v.memoizedState,V!==null&&(V.rendering=null,V.tail=null,V.lastEffect=null),Ql(d0,d0.current),x)break;else return null;case 22:case 23:return v.lanes=0,Ps(f,v,S)}return o3(f,v,S)}function N8(f,v){if(!el)switch(f.tailMode){case"hidden":v=f.tail;for(var S=null;v!==null;)v.alternate!==null&&(S=v),v=v.sibling;S===null?f.tail=null:S.sibling=null;break;case"collapsed":S=f.tail;for(var x=null;S!==null;)S.alternate!==null&&(x=S),S=S.sibling;x===null?v||f.tail===null?f.tail=null:f.tail.sibling=null:x.sibling=null}}function v2(f){var v=f.alternate!==null&&f.alternate.child===f.child,S=0,x=0;if(v)for(var V=f.child;V!==null;)S|=V.lanes|V.childLanes,x|=V.subtreeFlags&14680064,x|=V.flags&14680064,V.return=f,V=V.sibling;else for(V=f.child;V!==null;)S|=V.lanes|V.childLanes,x|=V.subtreeFlags,x|=V.flags,V.return=f,V=V.sibling;return f.subtreeFlags|=x,f.childLanes=S,v}function tV(f,v,S){var x=v.pendingProps;switch(qv(v),v.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return v2(v),null;case 1:return Y2(v.type)&&qf(),v2(v),null;case 3:if(x=v.stateNode,M6(),$l(I2),$l(o2),Iv(),x.pendingContext&&(x.context=x.pendingContext,x.pendingContext=null),f===null||f.child===null)rf(v)?v.flags|=4:f===null||f.memoizedState.isDehydrated&&(v.flags&256)===0||(v.flags|=1024,Yu!==null&&(av(Yu),Yu=null));return cv(f,v),v2(v),null;case 5:Hv(v);var V=Hc(rp.current);if(S=v.type,f!==null&&v.stateNode!=null)Rs(f,v,S,x,V),f.ref!==v.ref&&(v.flags|=512,v.flags|=2097152);else{if(!x){if(v.stateNode===null)throw Error(D1(166));return v2(v),null}if(f=Hc(A5.current),rf(v)){x=v.stateNode,S=v.type;var g=v.memoizedProps;switch(x[E5]=v,x[up]=g,f=(v.mode&1)!==0,S){case"dialog":bl("cancel",x),bl("close",x);break;case"iframe":case"object":case"embed":bl("load",x);break;case"video":case"audio":for(V=0;V<R8.length;V++)bl(R8[V],x);break;case"source":bl("error",x);break;case"img":case"image":case"link":bl("error",x),bl("load",x);break;case"details":bl("toggle",x);break;case"input":ly(x,g),bl("invalid",x);break;case"select":x._wrapperState={wasMultiple:!!g.multiple},bl("invalid",x);break;case"textarea":cy(x,g),bl("invalid",x)}Fg(S,g),V=null;for(var H in g)if(g.hasOwnProperty(H)){var b=g[H];H==="children"?typeof b==="string"?x.textContent!==b&&(g.suppressHydrationWarning!==!0&&cf(x.textContent,b,f),V=["children",b]):typeof b==="number"&&x.textContent!==""+b&&(g.suppressHydrationWarning!==!0&&cf(x.textContent,b,f),V=["children",""+b]):X8.hasOwnProperty(H)&&b!=null&&H==="onScroll"&&bl("scroll",x)}switch(S){case"input":b9(x),uy(x,g,!0);break;case"textarea":b9(x),ry(x);break;case"select":case"option":break;default:typeof g.onClick==="function"&&(x.onclick=Ff)}x=V,v.updateQueue=x,x!==null&&(v.flags|=4)}else{H=V.nodeType===9?V:V.ownerDocument,f==="http://www.w3.org/1999/xhtml"&&(f=aw(S)),f==="http://www.w3.org/1999/xhtml"?S==="script"?(f=H.createElement("div"),f.innerHTML="",f=f.removeChild(f.firstChild)):typeof x.is==="string"?f=H.createElement(S,{is:x.is}):(f=H.createElement(S),S==="select"&&(H=f,x.multiple?H.multiple=!0:x.size&&(H.size=x.size))):f=H.createElementNS(f,S),f[E5]=v,f[up]=x,Ds(f,v,!1,!1),v.stateNode=f;l:{switch(H=qg(S,x),S){case"dialog":bl("cancel",f),bl("close",f),V=x;break;case"iframe":case"object":case"embed":bl("load",f),V=x;break;case"video":case"audio":for(V=0;VK6&&(v.flags|=128,x=!0,N8(g,!1),v.lanes=4194304)}else{if(!x)if(f=Rf(H),f!==null){if(v.flags|=128,x=!0,S=f.updateQueue,S!==null&&(v.updateQueue=S,v.flags|=4),N8(g,!0),g.tail===null&&g.tailMode==="hidden"&&!H.alternate&&!el)return v2(v),null}else 2*y0()-g.renderingStartTime>K6&&S!==1073741824&&(v.flags|=128,x=!0,N8(g,!1),v.lanes=4194304);g.isBackwards?(H.sibling=v.child,v.child=H):(S=g.last,S!==null?S.sibling=H:v.child=H,g.last=H)}if(g.tail!==null)return v=g.tail,g.rendering=v,g.tail=v.sibling,g.renderingStartTime=y0(),v.sibling=null,S=d0.current,Ql(d0,x?S&1|2:S&1),v;return v2(v),null;case 22:case 23:return bv(),x=v.memoizedState!==null,f!==null&&f.memoizedState!==null!==x&&(v.flags|=8192),x&&(v.mode&1)!==0?(b2&1073741824)!==0&&(v2(v),v.subtreeFlags&6&&(v.flags|=8192)):v2(v),null;case 24:return null;case 25:return null}throw Error(D1(156,v.tag))}function lW(f,v){switch(qv(v),v.tag){case 1:return Y2(v.type)&&qf(),f=v.flags,f&65536?(v.flags=f&-65537|128,v):null;case 3:return M6(),$l(I2),$l(o2),Iv(),f=v.flags,(f&65536)!==0&&(f&128)===0?(v.flags=f&-65537|128,v):null;case 5:return Hv(v),null;case 13:if($l(d0),f=v.memoizedState,f!==null&&f.dehydrated!==null){if(v.alternate===null)throw Error(D1(340));q6()}return f=v.flags,f&65536?(v.flags=f&-65537|128,v):null;case 19:return $l(d0),null;case 4:return M6(),null;case 10:return Kv(v.type._context),null;case 22:case 23:return bv(),null;case 24:return null;default:return null}}function E6(f,v){var S=f.ref;if(S!==null)if(typeof S==="function")try{S(null)}catch(x){o0(f,v,x)}else S.current=null}function rv(f,v,S){try{S()}catch(x){o0(f,v,x)}}function cW(f,v){if(Og=Cf,f=Gw(),Nv(f)){if("selectionStart"in f)var S={start:f.selectionStart,end:f.selectionEnd};else l:{S=(S=f.ownerDocument)&&S.defaultView||window;var x=S.getSelection&&S.getSelection();if(x&&x.rangeCount!==0){S=x.anchorNode;var{anchorOffset:V,focusNode:g}=x;x=x.focusOffset;try{S.nodeType,g.nodeType}catch(B1){S=null;break l}var H=0,b=-1,_=-1,g1=0,x1=0,N1=f,V1=null;u:for(;;){for(var q1;;){if(N1!==S||V!==0&&N1.nodeType!==3||(b=H+V),N1!==g||x!==0&&N1.nodeType!==3||(_=H+x),N1.nodeType===3&&(H+=N1.nodeValue.length),(q1=N1.firstChild)===null)break;V1=N1,N1=q1}for(;;){if(N1===f)break u;if(V1===S&&++g1===V&&(b=H),V1===g&&++x1===x&&(_=H),(q1=N1.nextSibling)!==null)break;N1=V1,V1=N1.parentNode}N1=q1}S=b===-1||_===-1?null:{start:b,end:_}}else S=null}S=S||{start:0,end:0}}else S=null;Gg={focusedElem:f,selectionRange:S},Cf=!1;for(b1=v;b1!==null;)if(v=b1,f=v.child,(v.subtreeFlags&1028)!==0&&f!==null)f.return=v,b1=f;else for(;b1!==null;){v=b1;try{var X1=v.alternate;if((v.flags&1024)!==0)switch(v.tag){case 0:case 11:case 15:break;case 1:if(X1!==null){var{memoizedProps:J1,memoizedState:A1}=X1,v1=v.stateNode,f1=v1.getSnapshotBeforeUpdate(v.elementType===v.type?J1:Hu(v.type,J1),A1);v1.__reactInternalSnapshotBeforeUpdate=f1}break;case 3:var o1=v.stateNode.containerInfo;o1.nodeType===1?o1.textContent="":o1.nodeType===9&&o1.documentElement&&o1.removeChild(o1.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(D1(163))}}catch(B1){o0(v,v.return,B1)}if(f=v.sibling,f!==null){f.return=v.return,b1=f;break}b1=v.return}return X1=Xy,Xy=!1,X1}function Q8(f,v,S){var x=v.updateQueue;if(x=x!==null?x.lastEffect:null,x!==null){var V=x=x.next;do{if((V.tag&f)===f){var g=V.destroy;V.destroy=void 0,g!==void 0&&rv(v,S,g)}V=V.next}while(V!==x)}}function ef(f,v){if(v=v.updateQueue,v=v!==null?v.lastEffect:null,v!==null){var S=v=v.next;do{if((S.tag&f)===f){var x=S.create;S.destroy=x()}S=S.next}while(S!==v)}}function pv(f){var v=f.ref;if(v!==null){var S=f.stateNode;switch(f.tag){case 5:f=S;break;default:f=S}typeof v==="function"?v(f):v.current=f}}function Is(f){var v=f.alternate;v!==null&&(f.alternate=null,Is(v)),f.child=null,f.deletions=null,f.sibling=null,f.tag===5&&(v=f.stateNode,v!==null&&(delete v[E5],delete v[up],delete v[Jg],delete v[YV],delete v[zV])),f.stateNode=null,f.return=null,f.dependencies=null,f.memoizedProps=null,f.memoizedState=null,f.pendingProps=null,f.stateNode=null,f.updateQueue=null}function Ys(f){return f.tag===5||f.tag===3||f.tag===4}function Ty(f){l:for(;;){for(;f.sibling===null;){if(f.return===null||Ys(f.return))return null;f=f.return}f.sibling.return=f.return;for(f=f.sibling;f.tag!==5&&f.tag!==6&&f.tag!==18;){if(f.flags&2)continue l;if(f.child===null||f.tag===4)continue l;else f.child.return=f,f=f.child}if(!(f.flags&2))return f.stateNode}}function fv(f,v,S){var x=f.tag;if(x===5||x===6)f=f.stateNode,v?S.nodeType===8?S.parentNode.insertBefore(f,v):S.insertBefore(f,v):(S.nodeType===8?(v=S.parentNode,v.insertBefore(f,S)):(v=S,v.appendChild(f)),S=S._reactRootContainer,S!==null&&S!==void 0||v.onclick!==null||(v.onclick=Ff));else if(x!==4&&(f=f.child,f!==null))for(fv(f,v,S),f=f.sibling;f!==null;)fv(f,v,S),f=f.sibling}function dv(f,v,S){var x=f.tag;if(x===5||x===6)f=f.stateNode,v?S.insertBefore(f,v):S.appendChild(f);else if(x!==4&&(f=f.child,f!==null))for(dv(f,v,S),f=f.sibling;f!==null;)dv(f,v,S),f=f.sibling}function d4(f,v,S){for(S=S.child;S!==null;)zs(f,v,S),S=S.sibling}function zs(f,v,S){if(n5&&typeof n5.onCommitFiberUnmount==="function")try{n5.onCommitFiberUnmount(jf,S)}catch(b){}switch(S.tag){case 5:a2||E6(S,v);case 6:var x=_0,V=Iu;_0=null,d4(f,v,S),_0=x,Iu=V,_0!==null&&(Iu?(f=_0,S=S.stateNode,f.nodeType===8?f.parentNode.removeChild(S):f.removeChild(S)):_0.removeChild(S.stateNode));break;case 18:_0!==null&&(Iu?(f=_0,S=S.stateNode,f.nodeType===8?mg(f.parentNode,S):f.nodeType===1&&mg(f,S),_8(f)):mg(_0,S.stateNode));break;case 4:x=_0,V=Iu,_0=S.stateNode.containerInfo,Iu=!0,d4(f,v,S),_0=x,Iu=V;break;case 0:case 11:case 14:case 15:if(!a2&&(x=S.updateQueue,x!==null&&(x=x.lastEffect,x!==null))){V=x=x.next;do{var g=V,H=g.destroy;g=g.tag,H!==void 0&&((g&2)!==0?rv(S,v,H):(g&4)!==0&&rv(S,v,H)),V=V.next}while(V!==x)}d4(f,v,S);break;case 1:if(!a2&&(E6(S,v),x=S.stateNode,typeof x.componentWillUnmount==="function"))try{x.props=S.memoizedProps,x.state=S.memoizedState,x.componentWillUnmount()}catch(b){o0(S,v,b)}d4(f,v,S);break;case 21:d4(f,v,S);break;case 22:S.mode&1?(a2=(x=a2)||S.memoizedState!==null,d4(f,v,S),a2=x):d4(f,v,S);break;default:d4(f,v,S)}}function Zy(f){var v=f.updateQueue;if(v!==null){f.updateQueue=null;var S=f.stateNode;S===null&&(S=f.stateNode=new uW),v.forEach(function(x){var V=oW.bind(null,f,x);S.has(x)||(S.add(x),x.then(V,V))})}}function Ru(f,v){var S=v.deletions;if(S!==null)for(var x=0;x<S.length;x++){var V=S[x];try{var g=f,H=v,b=H;l:for(;b!==null;){switch(b.tag){case 5:_0=b.stateNode,Iu=!1;break l;case 3:_0=b.stateNode.containerInfo,Iu=!0;break l;case 4:_0=b.stateNode.containerInfo,Iu=!0;break l}b=b.return}if(_0===null)throw Error(D1(160));zs(g,H,V),_0=null,Iu=!1;var _=V.alternate;_!==null&&(_.return=null),V.return=null}catch(g1){o0(V,v,g1)}}if(v.subtreeFlags&12854)for(v=v.child;v!==null;)Os(v,f),v=v.sibling}function Os(f,v){var{alternate:S,flags:x}=f;switch(f.tag){case 0:case 11:case 14:case 15:if(Ru(v,f),S5(f),x&4){try{Q8(3,f,f.return),ef(3,f)}catch(J1){o0(f,f.return,J1)}try{Q8(5,f,f.return)}catch(J1){o0(f,f.return,J1)}}break;case 1:Ru(v,f),S5(f),x&512&&S!==null&&E6(S,S.return);break;case 5:if(Ru(v,f),S5(f),x&512&&S!==null&&E6(S,S.return),f.flags&32){var V=f.stateNode;try{T8(V,"")}catch(J1){o0(f,f.return,J1)}}if(x&4&&(V=f.stateNode,V!=null)){var g=f.memoizedProps,H=S!==null?S.memoizedProps:g,b=f.type,_=f.updateQueue;if(f.updateQueue=null,_!==null)try{b==="input"&&g.type==="radio"&&g.name!=null&&gw(V,g),qg(b,H);var g1=qg(b,g);for(H=0;H<_.length;H+=2){var x1=_[H],N1=_[H+1];x1==="style"?yw(V,N1):x1==="dangerouslySetInnerHTML"?ow(V,N1):x1==="children"?T8(V,N1):yv(V,x1,N1,g1)}switch(b){case"input":Lg(V,g);break;case"textarea":vw(V,g);break;case"select":var V1=V._wrapperState.wasMultiple;V._wrapperState.wasMultiple=!!g.multiple;var q1=g.value;q1!=null?A6(V,!!g.multiple,q1,!1):V1!==!!g.multiple&&(g.defaultValue!=null?A6(V,!!g.multiple,g.defaultValue,!0):A6(V,!!g.multiple,g.multiple?[]:"",!1))}V[up]=g}catch(J1){o0(f,f.return,J1)}}break;case 6:if(Ru(v,f),S5(f),x&4){if(f.stateNode===null)throw Error(D1(162));V=f.stateNode,g=f.memoizedProps;try{V.nodeValue=g}catch(J1){o0(f,f.return,J1)}}break;case 3:if(Ru(v,f),S5(f),x&4&&S!==null&&S.memoizedState.isDehydrated)try{_8(v.containerInfo)}catch(J1){o0(f,f.return,J1)}break;case 4:Ru(v,f),S5(f);break;case 13:Ru(v,f),S5(f),V=f.child,V.flags&8192&&(g=V.memoizedState!==null,V.stateNode.isHidden=g,!g||V.alternate!==null&&V.alternate.memoizedState!==null||(Tv=y0())),x&4&&Zy(f);break;case 22:if(x1=S!==null&&S.memoizedState!==null,f.mode&1?(a2=(g1=a2)||x1,Ru(v,f),a2=g1):Ru(v,f),S5(f),x&8192){if(g1=f.memoizedState!==null,(f.stateNode.isHidden=g1)&&!x1&&(f.mode&1)!==0)for(b1=f,x1=f.child;x1!==null;){for(N1=b1=x1;b1!==null;){switch(V1=b1,q1=V1.child,V1.tag){case 0:case 11:case 14:case 15:Q8(4,V1,V1.return);break;case 1:E6(V1,V1.return);var X1=V1.stateNode;if(typeof X1.componentWillUnmount==="function"){x=V1,S=V1.return;try{v=x,X1.props=v.memoizedProps,X1.state=v.memoizedState,X1.componentWillUnmount()}catch(J1){o0(x,S,J1)}}break;case 5:E6(V1,V1.return);break;case 22:if(V1.memoizedState!==null){$y(N1);continue}}q1!==null?(q1.return=V1,b1=q1):$y(N1)}x1=x1.sibling}l:for(x1=null,N1=f;;){if(N1.tag===5){if(x1===null){x1=N1;try{V=N1.stateNode,g1?(g=V.style,typeof g.setProperty==="function"?g.setProperty("display","none","important"):g.display="none"):(b=N1.stateNode,_=N1.memoizedProps.style,H=_!==void 0&&_!==null&&_.hasOwnProperty("display")?_.display:null,b.style.display=hw("display",H))}catch(J1){o0(f,f.return,J1)}}}else if(N1.tag===6){if(x1===null)try{N1.stateNode.nodeValue=g1?"":N1.memoizedProps}catch(J1){o0(f,f.return,J1)}}else if((N1.tag!==22&&N1.tag!==23||N1.memoizedState===null||N1===f)&&N1.child!==null){N1.child.return=N1,N1=N1.child;continue}if(N1===f)break l;for(;N1.sibling===null;){if(N1.return===null||N1.return===f)break l;x1===N1&&(x1=null),N1=N1.return}x1===N1&&(x1=null),N1.sibling.return=N1.return,N1=N1.sibling}}break;case 19:Ru(v,f),S5(f),x&4&&Zy(f);break;case 21:break;default:Ru(v,f),S5(f)}}function S5(f){var v=f.flags;if(v&2){try{l:{for(var S=f.return;S!==null;){if(Ys(S)){var x=S;break l}S=S.return}throw Error(D1(160))}switch(x.tag){case 5:var V=x.stateNode;x.flags&32&&(T8(V,""),x.flags&=-33);var g=Ty(f);dv(f,g,V);break;case 3:case 4:var H=x.stateNode.containerInfo,b=Ty(f);fv(f,b,H);break;default:throw Error(D1(161))}}catch(_){o0(f,f.return,_)}f.flags&=-3}v&4096&&(f.flags&=-4097)}function rW(f,v,S){b1=f,Gs(f,v,S)}function Gs(f,v,S){for(var x=(f.mode&1)!==0;b1!==null;){var V=b1,g=V.child;if(V.tag===22&&x){var H=V.memoizedState!==null||df;if(!H){var b=V.alternate,_=b!==null&&b.memoizedState!==null||a2;b=df;var g1=a2;if(df=H,(a2=_)&&!g1)for(b1=V;b1!==null;)H=b1,_=H.child,H.tag===22&&H.memoizedState!==null?_y(V):_!==null?(_.return=H,b1=_):_y(V);for(;g!==null;)b1=g,Gs(g,v,S),g=g.sibling;b1=V,df=b,a2=g1}by(f,v,S)}else(V.subtreeFlags&8772)!==0&&g!==null?(g.return=V,b1=g):by(f,v,S)}}function by(f){for(;b1!==null;){var v=b1;if((v.flags&8772)!==0){var S=v.alternate;try{if((v.flags&8772)!==0)switch(v.tag){case 0:case 11:case 15:a2||ef(5,v);break;case 1:var x=v.stateNode;if(v.flags&4&&!a2)if(S===null)x.componentDidMount();else{var V=v.elementType===v.type?S.memoizedProps:Hu(v.type,S.memoizedProps);x.componentDidUpdate(V,S.memoizedState,x.__reactInternalSnapshotBeforeUpdate)}var g=v.updateQueue;g!==null&&Ky(v,g,x);break;case 3:var H=v.updateQueue;if(H!==null){if(S=null,v.child!==null)switch(v.child.tag){case 5:S=v.child.stateNode;break;case 1:S=v.child.stateNode}Ky(v,H,S)}break;case 5:var b=v.stateNode;if(S===null&&v.flags&4){S=b;var _=v.memoizedProps;switch(v.type){case"button":case"input":case"select":case"textarea":_.autoFocus&&S.focus();break;case"img":_.src&&(S.src=_.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(v.memoizedState===null){var g1=v.alternate;if(g1!==null){var x1=g1.memoizedState;if(x1!==null){var N1=x1.dehydrated;N1!==null&&_8(N1)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(D1(163))}a2||v.flags&512&&pv(v)}catch(V1){o0(v,v.return,V1)}}if(v===f){b1=null;break}if(S=v.sibling,S!==null){S.return=v.return,b1=S;break}b1=v.return}}function $y(f){for(;b1!==null;){var v=b1;if(v===f){b1=null;break}var S=v.sibling;if(S!==null){S.return=v.return,b1=S;break}b1=v.return}}function _y(f){for(;b1!==null;){var v=b1;try{switch(v.tag){case 0:case 11:case 15:var S=v.return;try{ef(4,v)}catch(_){o0(v,S,_)}break;case 1:var x=v.stateNode;if(typeof x.componentDidMount==="function"){var V=v.return;try{x.componentDidMount()}catch(_){o0(v,V,_)}}var g=v.return;try{pv(v)}catch(_){o0(v,g,_)}break;case 5:var H=v.return;try{pv(v)}catch(_){o0(v,H,_)}}}catch(_){o0(v,v.return,_)}if(v===f){b1=null;break}var b=v.sibling;if(b!==null){b.return=v.return,b1=b;break}b1=v.return}}function C2(){return(Al&6)!==0?y0():Sf!==-1?Sf:Sf=y0()}function n4(f){if((f.mode&1)===0)return 1;if((Al&2)!==0&&i0!==0)return i0&-i0;if(GV.transition!==null)return kf===0&&(kf=xw()),kf;if(f=Kl,f!==0)return f;return f=window.event,f=f===void 0?16:Kw(f.type),f}function Ou(f,v,S,x){if(50<J8)throw J8=0,gv=null,Error(D1(185));if(gp(f,S,x),(Al&2)===0||f!==z0)f===z0&&((Al&2)===0&&(tf|=S),q0===4&&a4(f,i0)),z2(f,x),S===1&&Al===0&&(v.mode&1)===0&&(K6=y0()+500,bf&&x4())}function z2(f,v){var S=f.callbackNode;jA(f,v);var x=Lf(f,f===z0?i0:0);if(x===0)S!==null&&dy(S),f.callbackNode=null,f.callbackPriority=0;else if(v=x&-x,f.callbackPriority!==v){if(S!=null&&dy(S),v===1)f.tag===0?OV(iy.bind(null,f)):iw(iy.bind(null,f)),HV(function(){(Al&6)===0&&x4()}),S=null;else{switch(Nw(x)){case 1:S=Ev;break;case 4:S=Lw;break;case 16:S=Wf;break;case 536870912:S=Cw;break;default:S=Wf}S=$s(S,Qs.bind(null,f))}f.callbackPriority=v,f.callbackNode=S}}function Qs(f,v){if(Sf=-1,kf=0,(Al&6)!==0)throw Error(D1(327));var S=f.callbackNode;if(x6()&&f.callbackNode!==S)return null;var x=Lf(f,f===z0?i0:0);if(x===0)return null;if((x&30)!==0||(x&f.expiredLanes)!==0||v)v=Gf(f,x);else{v=x;var V=Al;Al|=2;var g=Js();if(z0!==f||i0!==v)r3=null,K6=y0()+500,Ic(f,v);do try{mW();break}catch(b){js(f,b)}while(1);Bv(),Yf.current=g,Al=V,V0!==null?v=0:(z0=null,i0=0,v=q0)}if(v!==0){if(v===2&&(V=Ug(f),V!==0&&(x=V,v=vv(f,V))),v===1)throw S=mp,Ic(f,0),a4(f,x),z2(f,y0()),S;if(v===6)a4(f,x);else{if(V=f.current.alternate,(x&30)===0&&!fW(V)&&(v=Gf(f,x),v===2&&(g=Ug(f),g!==0&&(x=g,v=vv(f,g))),v===1))throw S=mp,Ic(f,0),a4(f,x),z2(f,y0()),S;switch(f.finishedWork=V,f.finishedLanes=x,v){case 0:case 1:throw Error(D1(345));case 2:Uc(f,R2,r3);break;case 3:if(a4(f,x),(x&130023424)===x&&(v=Tv+500-y0(),10<v)){if(Lf(f,0)!==0)break;if(V=f.suspendedLanes,(V&x)!==x){C2(),f.pingedLanes|=f.suspendedLanes&V;break}f.timeoutHandle=jg(Uc.bind(null,f,R2,r3),v);break}Uc(f,R2,r3);break;case 4:if(a4(f,x),(x&4194240)===x)break;v=f.eventTimes;for(V=-1;0<x;){var H=31-zu(x);g=1<V&&(V=H),x&=~g}if(x=V,x=y0()-x,x=(120>x?120:480>x?480:1080>x?1080:1920>x?1920:3000>x?3000:4320>x?4320:1960*pW(x/1960))-x,10<x){f.timeoutHandle=jg(Uc.bind(null,f,R2,r3),x);break}Uc(f,R2,r3);break;case 5:Uc(f,R2,r3);break;default:throw Error(D1(329))}}}return z2(f,y0()),f.callbackNode===S?Qs.bind(null,f):null}function vv(f,v){var S=j8;return f.current.memoizedState.isDehydrated&&(Ic(f,v).flags|=256),f=Gf(f,v),f!==2&&(v=R2,R2=S,v!==null&&av(v)),f}function av(f){R2===null?R2=f:R2.push.apply(R2,f)}function fW(f){for(var v=f;;){if(v.flags&16384){var S=v.updateQueue;if(S!==null&&(S=S.stores,S!==null))for(var x=0;x<S.length;x++){var V=S[x],g=V.getSnapshot;V=V.value;try{if(!Gu(g(),V))return!1}catch(H){return!1}}}if(S=v.child,v.subtreeFlags&16384&&S!==null)S.return=v,v=S;else{if(v===f)break;for(;v.sibling===null;){if(v.return===null||v.return===f)return!0;v=v.return}v.sibling.return=v.return,v=v.sibling}}return!0}function a4(f,v){v&=~Xv,v&=~tf,f.suspendedLanes|=v,f.pingedLanes&=~v;for(f=f.expirationTimes;0<v;){var S=31-zu(v),x=1<<S;f[S]=-1,v&=~x}}function iy(f){if((Al&6)!==0)throw Error(D1(327));x6();var v=Lf(f,0);if((v&1)===0)return z2(f,y0()),null;var S=Gf(f,v);if(f.tag!==0&&S===2){var x=Ug(f);x!==0&&(v=x,S=vv(f,x))}if(S===1)throw S=mp,Ic(f,0),a4(f,v),z2(f,y0()),S;if(S===6)throw Error(D1(345));return f.finishedWork=f.current.alternate,f.finishedLanes=v,Uc(f,R2,r3),z2(f,y0()),null}function Zv(f,v){var S=Al;Al|=1;try{return f(v)}finally{Al=S,Al===0&&(K6=y0()+500,bf&&x4())}}function jc(f){h4!==null&&h4.tag===0&&(Al&6)===0&&x6();var v=Al;Al|=1;var S=ku.transition,x=Kl;try{if(ku.transition=null,Kl=1,f)return f()}finally{Kl=x,ku.transition=S,Al=v,(Al&6)===0&&x4()}}function bv(){b2=n6.current,$l(n6)}function Ic(f,v){f.finishedWork=null,f.finishedLanes=0;var S=f.timeoutHandle;if(S!==-1&&(f.timeoutHandle=-1,RV(S)),V0!==null)for(S=V0.return;S!==null;){var x=S;switch(qv(x),x.tag){case 1:x=x.type.childContextTypes,x!==null&&x!==void 0&&qf();break;case 3:M6(),$l(I2),$l(o2),Iv();break;case 5:Hv(x);break;case 4:M6();break;case 13:$l(d0);break;case 19:$l(d0);break;case 10:Kv(x.type._context);break;case 22:case 23:bv()}S=S.return}if(z0=f,V0=f=A4(f.current,null),i0=b2=v,q0=0,mp=null,Xv=tf=Qc=0,R2=j8=null,Rc!==null){for(v=0;v<Rc.length;v++)if(S=Rc[v],x=S.interleaved,x!==null){S.interleaved=null;var V=x.next,g=S.pending;if(g!==null){var H=g.next;g.next=V,x.next=H}S.pending=x}Rc=null}return f}function js(f,v){do{var S=V0;try{if(Bv(),yf.current=If,Hf){for(var x=m0.memoizedState;x!==null;){var V=x.queue;V!==null&&(V.pending=null),x=x.next}Hf=!1}if(Gc=0,Y0=F0=m0=null,G8=!1,pp=0,Jv.current=null,S===null||S.return===null){q0=1,mp=v,V0=null;break}l:{var g=f,H=S.return,b=S,_=v;if(v=i0,b.flags|=32768,_!==null&&typeof _==="object"&&typeof _.then==="function"){var g1=_,x1=b,N1=x1.tag;if((x1.mode&1)===0&&(N1===0||N1===11||N1===15)){var V1=x1.alternate;V1?(x1.updateQueue=V1.updateQueue,x1.memoizedState=V1.memoizedState,x1.lanes=V1.lanes):(x1.updateQueue=null,x1.memoizedState=null)}var q1=Yy(H);if(q1!==null){q1.flags&=-257,zy(q1,H,b,g,v),q1.mode&1&&Iy(g,g1,v),v=q1,_=g1;var X1=v.updateQueue;if(X1===null){var J1=new Set;J1.add(_),v.updateQueue=J1}else X1.add(_);break l}else{if((v&1)===0){Iy(g,g1,v),$v();break l}_=Error(D1(426))}}else if(el&&b.mode&1){var A1=Yy(H);if(A1!==null){(A1.flags&65536)===0&&(A1.flags|=256),zy(A1,H,b,g,v),Pv(B6(_,b));break l}}g=_=B6(_,b),q0!==4&&(q0=2),j8===null?j8=[g]:j8.push(g),g=H;do{switch(g.tag){case 3:g.flags|=65536,v&=-v,g.lanes|=v;var v1=Ns(g,_,v);By(g,v1);break l;case 1:b=_;var{type:f1,stateNode:o1}=g;if((g.flags&128)===0&&(typeof f1.getDerivedStateFromError==="function"||o1!==null&&typeof o1.componentDidCatch==="function"&&(E4===null||!E4.has(o1)))){g.flags|=65536,v&=-v,g.lanes|=v;var B1=Fs(g,b,v);By(g,B1);break l}}g=g.return}while(g!==null)}Ts(S)}catch(Z1){v=Z1,V0===S&&S!==null&&(V0=S=S.return);continue}break}while(1)}function Js(){var f=Yf.current;return Yf.current=If,f===null?If:f}function $v(){if(q0===0||q0===3||q0===2)q0=4;z0===null||(Qc&268435455)===0&&(tf&268435455)===0||a4(z0,i0)}function Gf(f,v){var S=Al;Al|=2;var x=Js();if(z0!==f||i0!==v)r3=null,Ic(f,v);do try{dW();break}catch(V){js(f,V)}while(1);if(Bv(),Al=S,Yf.current=x,V0!==null)throw Error(D1(261));return z0=null,i0=0,q0}function dW(){for(;V0!==null;)Xs(V0)}function mW(){for(;V0!==null&&!DA();)Xs(V0)}function Xs(f){var v=bs(f.alternate,f,b2);f.memoizedProps=f.pendingProps,v===null?Ts(f):V0=v,Jv.current=null}function Ts(f){var v=f;do{var S=v.alternate;if(f=v.return,(v.flags&32768)===0){if(S=tV(S,v,b2),S!==null){V0=S;return}}else{if(S=lW(S,v),S!==null){S.flags&=32767,V0=S;return}if(f!==null)f.flags|=32768,f.subtreeFlags=0,f.deletions=null;else{q0=6,V0=null;return}}if(v=v.sibling,v!==null){V0=v;return}V0=v=f}while(v!==null);q0===0&&(q0=5)}function Uc(f,v,S){var x=Kl,V=ku.transition;try{ku.transition=null,Kl=1,gW(f,v,S,x)}finally{ku.transition=V,Kl=x}return null}function gW(f,v,S,x){do x6();while(h4!==null);if((Al&6)!==0)throw Error(D1(327));S=f.finishedWork;var V=f.finishedLanes;if(S===null)return null;if(f.finishedWork=null,f.finishedLanes=0,S===f.current)throw Error(D1(177));f.callbackNode=null,f.callbackPriority=0;var g=S.lanes|S.childLanes;if(JA(f,g),f===z0&&(V0=z0=null,i0=0),(S.subtreeFlags&2064)===0&&(S.flags&2064)===0||mf||(mf=!0,$s(Wf,function(){return x6(),null})),g=(S.flags&15990)!==0,(S.subtreeFlags&15990)!==0||g){g=ku.transition,ku.transition=null;var H=Kl;Kl=1;var b=Al;Al|=4,Jv.current=null,cW(f,S),Os(S,f),MV(Gg),Cf=!!Og,Gg=Og=null,f.current=S,rW(S,f,V),RA(),Al=b,Kl=H,ku.transition=g}else f.current=S;if(mf&&(mf=!1,h4=f,Of=V),g=f.pendingLanes,g===0&&(E4=null),YA(S.stateNode,x),z2(f,y0()),v!==null)for(x=f.onRecoverableError,S=0;Sf?16:f,h4===null)var x=!1;else{if(f=h4,h4=null,Of=0,(Al&6)!==0)throw Error(D1(331));var V=Al;Al|=4;for(b1=f.current;b1!==null;){var g=b1,H=g.child;if((b1.flags&16)!==0){var b=g.deletions;if(b!==null){for(var _=0;_y0()-Tv?Ic(f,0):Xv|=S),z2(f,v)}function Zs(f,v){v===0&&((f.mode&1)===0?v=1:(v=i9,i9<<=1,(i9&130023424)===0&&(i9=4194304)));var S=C2();f=a3(f,v),f!==null&&(gp(f,v,S),z2(f,S))}function aW(f){var v=f.memoizedState,S=0;v!==null&&(S=v.retryLane),Zs(f,S)}function oW(f,v){var S=0;switch(f.tag){case 13:var{stateNode:x,memoizedState:V}=f;V!==null&&(S=V.retryLane);break;case 19:x=f.stateNode;break;default:throw Error(D1(314))}x!==null&&x.delete(v),Zs(f,S)}function $s(f,v){return Ww(f,v)}function hW(f,v,S,x){this.tag=f,this.key=S,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=v,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=x,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Su(f,v,S,x){return new hW(f,v,S,x)}function _v(f){return f=f.prototype,!(!f||!f.isReactComponent)}function yW(f){if(typeof f==="function")return _v(f)?1:0;if(f!==void 0&&f!==null){if(f=f.$$typeof,f===sv)return 11;if(f===Sv)return 14}return 2}function A4(f,v){var S=f.alternate;return S===null?(S=Su(f.tag,v,f.key,f.mode),S.elementType=f.elementType,S.type=f.type,S.stateNode=f.stateNode,S.alternate=f,f.alternate=S):(S.pendingProps=v,S.type=f.type,S.flags=0,S.subtreeFlags=0,S.deletions=null),S.flags=f.flags&14680064,S.childLanes=f.childLanes,S.lanes=f.lanes,S.child=f.child,S.memoizedProps=f.memoizedProps,S.memoizedState=f.memoizedState,S.updateQueue=f.updateQueue,v=f.dependencies,S.dependencies=v===null?null:{lanes:v.lanes,firstContext:v.firstContext},S.sibling=f.sibling,S.index=f.index,S.ref=f.ref,S}function Ef(f,v,S,x,V,g){var H=2;if(x=f,typeof f==="function")_v(f)&&(H=1);else if(typeof f==="string")H=5;else l:switch(f){case v6:return Yc(S.children,V,g,v);case wv:H=8,V|=8;break;case Eg:return f=Su(12,S,v,V|2),f.elementType=Eg,f.lanes=g,f;case ng:return f=Su(13,S,v,V),f.elementType=ng,f.lanes=g,f;case Ag:return f=Su(19,S,v,V),f.elementType=Ag,f.lanes=g,f;case fw:return ld(S,V,g,v);default:if(typeof f==="object"&&f!==null)switch(f.$$typeof){case rw:H=10;break l;case pw:H=9;break l;case sv:H=11;break l;case Sv:H=14;break l;case m4:H=16,x=null;break l}throw Error(D1(130,f==null?f:typeof f,""))}return v=Su(H,S,v,V),v.elementType=f,v.type=x,v.lanes=g,v}function Yc(f,v,S,x){return f=Su(7,f,x,v),f.lanes=S,f}function ld(f,v,S,x){return f=Su(22,f,x,v),f.elementType=fw,f.lanes=S,f.stateNode={isHidden:!1},f}function sg(f,v,S){return f=Su(6,f,null,v),f.lanes=S,f}function Sg(f,v,S){return v=Su(4,f.children!==null?f.children:[],f.key,v),v.lanes=S,v.stateNode={containerInfo:f.containerInfo,pendingChildren:null,implementation:f.implementation},v}function wW(f,v,S,x,V){this.tag=v,this.containerInfo=f,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=lg(0),this.expirationTimes=lg(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=lg(0),this.identifierPrefix=x,this.onRecoverableError=V,this.mutableSourceEagerHydrationData=null}function iv(f,v,S,x,V,g,H,b,_){return f=new wW(f,v,S,b,_),v===1?(v=1,g===!0&&(v|=8)):v=0,g=Su(3,null,null,v),f.current=g,g.stateNode=f,g.memoizedState={element:x,isDehydrated:S,cache:null,transitions:null,pendingSuspenseBoundaries:null},Dv(g),f}function sW(f,v,S){var x=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:g6,key:x==null?null:""+x,children:f,containerInfo:v,implementation:S}}function _s(f){if(!f)return W4;f=f._reactInternals;l:{if(Xc(f)!==f||f.tag!==1)throw Error(D1(170));var v=f;do{switch(v.tag){case 3:v=v.stateNode.context;break l;case 1:if(Y2(v.type)){v=v.stateNode.__reactInternalMemoizedMergedChildContext;break l}}v=v.return}while(v!==null);throw Error(D1(171))}if(f.tag===1){var S=f.type;if(Y2(S))return _w(f,S,v)}return v}function is(f,v,S,x,V,g,H,b,_){return f=iv(S,x,!0,f,V,g,H,b,_),f.context=_s(null),S=f.current,x=C2(),V=n4(S),g=m3(x,V),g.callback=v!==void 0&&v!==null?v:null,k4(S,g,V),f.current.lanes=V,gp(f,V,x),z2(f,x),f}function ud(f,v,S,x){var V=v.current,g=C2(),H=n4(V);return S=_s(S),v.context===null?v.context=S:v.pendingContext=S,v=m3(g,H),v.payload={element:f},x=x===void 0?null:x,x!==null&&(v.callback=x),f=k4(V,v,H),f!==null&&(Ou(f,V,H,g),hf(f,V,H)),H}function Qf(f){if(f=f.current,!f.child)return null;switch(f.child.tag){case 5:return f.child.stateNode;default:return f.child.stateNode}}function ty(f,v){if(f=f.memoizedState,f!==null&&f.dehydrated!==null){var S=f.retryLane;f.retryLane=S!==0&&S<v?S:v}}function ev(f,v){ty(f,v),(f=f.alternate)&&ty(f,v)}function SW(){return null}function tv(f){this._internalRoot=f}function cd(f){this._internalRoot=f}function la(f){return!(!f||f.nodeType!==1&&f.nodeType!==9&&f.nodeType!==11)}function rd(f){return!(!f||f.nodeType!==1&&f.nodeType!==9&&f.nodeType!==11&&(f.nodeType!==8||f.nodeValue!==" react-mount-point-unstable "))}function lw(){}function kW(f,v,S,x,V){if(V){if(typeof x==="function"){var g=x;x=function(){var g1=Qf(H);g.call(g1)}}var H=is(v,x,f,0,null,!1,!1,"",lw);return f._reactRootContainer=H,f[v3]=H.current,t8(f.nodeType===8?f.parentNode:f),jc(),H}for(;V=f.lastChild;)f.removeChild(V);if(typeof x==="function"){var b=x;x=function(){var g1=Qf(_);b.call(g1)}}var _=iv(f,0,!1,null,null,!1,!1,"",lw);return f._reactRootContainer=_,f[v3]=_.current,t8(f.nodeType===8?f.parentNode:f),jc(function(){ud(v,_,S,x)}),_}function pd(f,v,S,x,V){var g=S._reactRootContainer;if(g){var H=g;if(typeof V==="function"){var b=V;V=function(){var _=Qf(H);b.call(_)}}ud(v,H,f,V)}else H=kW(S,v,f,V,x);return Qf(H)}var uw,tl,cw,X8,g3,kg,AA,ih,eh,e0,ov,h3,Z9,g6,v6,wv,Eg,rw,pw,sv,ng,Ag,Sv,m4,fw,th,g0,_m,im=!1,P8,$9,ow,H8,FA,qA,Pg=null,Mg=null,V6=null,W6=null,tm=!1,Bg=!1,Bc,I8=!1,Af=null,Vf=!1,Kg=null,MA,Ww,dy,DA,RA,y0,HA,Ev,Lw,Wf,IA,Cw,jf=null,n5=null,zu,zA,OA,_9=64,i9=4194304,Kl=0,Fw,Av,qw,Pw,Mw,Dg=!1,e9,y4=null,w4=null,s4=null,b8,$8,v4,XA,L6,Cf=!0,xf=null,o4=null,Wv=null,vf=null,U6,Lv,vp,_A,ug,cg,C8,Jf,ay,iA,eA,tA,rg,lV,uV,cV,rV,pV,oy,fV,dV,mV,vV,aV,oV,hy,hV,yV,wV,sV,SV,kV,EV,xv,Y8=null,nV,Dw,yy,wy=!1,a6=!1,WV,z8=null,i8=null,Yw=!1,B8,K8,of,Gu,BV,o6=null,Hg=null,O8=null,Ig=!1,h6,pg,Qw,jw,Jw,Xw,Tw,Zw,Ay,D8,Yg,zg,U8,R8,KV,uf,UV,DV,Og=null,Gg=null,jg,RV,Cy,HV,D6,E5,up,v3,Jg,YV,zV,Xg,w6=-1,W4,o2,I2,zc,p3=null,bf=!1,gg=!1,s6,S6=0,Mf=null,Bf=0,wu,su=0,Oc=null,f3=1,d3="",_2=null,$2=null,el=!1,Yu=null,GV,P6,cs,Kf,Uf=null,k6=null,Mv=null,Rc=null,g4=!1,op,A5,cp,rp,d0,vg,yf,ag,Gc=0,m0=null,F0=null,Y0=null,Hf=!1,G8=!1,pp=0,QV=0,If,TV,ZV,bV,_f,$V,_V,H2=!1,lv,Ds,cv,Rs,Hs,df=!1,a2=!1,uW,b1=null,Xy=!1,_0=null,Iu=!1,pW,Yf,Jv,ku,Al=0,z0=null,V0=null,i0=0,b2=0,n6,q0=0,mp=null,Qc=0,tf=0,Xv=0,j8=null,R2=null,Tv=0,K6=1/0,r3=null,zf=!1,mv=null,E4=null,mf=!1,h4=null,Of=0,J8=0,gv=null,Sf=-1,kf=0,bs,es,EW,F8,nW,m6,ts,lS=function(f,v){var S=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!la(v))throw Error(D1(200));return sW(f,v,null,S)},uS=function(f,v){if(!la(f))throw Error(D1(299));var S=!1,x="",V=es;return v!==null&&v!==void 0&&(v.unstable_strictMode===!0&&(S=!0),v.identifierPrefix!==void 0&&(x=v.identifierPrefix),v.onRecoverableError!==void 0&&(V=v.onRecoverableError)),v=iv(f,1,!1,null,null,S,!1,x,V),f[v3]=v.current,t8(f.nodeType===8?f.parentNode:f),new tv(v)},cS=function(f){if(f==null)return null;if(f.nodeType===1)return f;var v=f._reactInternals;if(v===void 0){if(typeof f.render==="function")throw Error(D1(188));throw f=Object.keys(f).join(","),Error(D1(268,f))}return f=Aw(v),f=f===null?null:f.stateNode,f},rS=function(f){return jc(f)},pS=function(f,v,S){if(!rd(v))throw Error(D1(200));return pd(null,f,v,!0,S)},fS=function(f,v,S){if(!la(f))throw Error(D1(405));var x=S!=null&&S.hydratedSources||null,V=!1,g="",H=es;if(S!==null&&S!==void 0&&(S.unstable_strictMode===!0&&(V=!0),S.identifierPrefix!==void 0&&(g=S.identifierPrefix),S.onRecoverableError!==void 0&&(H=S.onRecoverableError)),v=is(v,null,f,1,S!=null?S:null,V,!1,g,H),f[v3]=v.current,t8(f),x)for(f=0;f{uw=p4(k8(),1),tl=p4(_h(),1);cw=new Set,X8={};g3=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),kg=Object.prototype.hasOwnProperty,AA=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ih={},eh={};e0={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(f){e0[f]=new x2(f,0,!1,f,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(f){var v=f[0];e0[v]=new x2(v,1,!1,f[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(f){e0[f]=new x2(f,2,!1,f.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(f){e0[f]=new x2(f,2,!1,f,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(f){e0[f]=new x2(f,3,!1,f.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(f){e0[f]=new x2(f,3,!0,f,null,!1,!1)});["capture","download"].forEach(function(f){e0[f]=new x2(f,4,!1,f,null,!1,!1)});["cols","rows","size","span"].forEach(function(f){e0[f]=new x2(f,6,!1,f,null,!1,!1)});["rowSpan","start"].forEach(function(f){e0[f]=new x2(f,5,!1,f.toLowerCase(),null,!1,!1)});ov=/[\-:]([a-z])/g;"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(f){var v=f.replace(ov,hv);e0[v]=new x2(v,1,!1,f,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(f){var v=f.replace(ov,hv);e0[v]=new x2(v,1,!1,f,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(f){var v=f.replace(ov,hv);e0[v]=new x2(v,1,!1,f,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(f){e0[f]=new x2(f,1,!1,f.toLowerCase(),null,!1,!1)});e0.xlinkHref=new x2("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(f){e0[f]=new x2(f,1,!1,f.toLowerCase(),null,!0,!0)});h3=uw.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Z9=Symbol.for("react.element"),g6=Symbol.for("react.portal"),v6=Symbol.for("react.fragment"),wv=Symbol.for("react.strict_mode"),Eg=Symbol.for("react.profiler"),rw=Symbol.for("react.provider"),pw=Symbol.for("react.context"),sv=Symbol.for("react.forward_ref"),ng=Symbol.for("react.suspense"),Ag=Symbol.for("react.suspense_list"),Sv=Symbol.for("react.memo"),m4=Symbol.for("react.lazy"),fw=Symbol.for("react.offscreen"),th=Symbol.iterator;g0=Object.assign;P8=Array.isArray;ow=function(f){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(v,S,x,V){MSApp.execUnsafeLocalFunction(function(){return f(v,S,x,V)})}:f}(function(f,v){if(f.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in f)f.innerHTML=v;else{$9=$9||document.createElement("div"),$9.innerHTML=""+v.valueOf().toString()+"";for(v=$9.firstChild;f.firstChild;)f.removeChild(f.firstChild);for(;v.firstChild;)f.appendChild(v.firstChild)}});H8={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},FA=["Webkit","ms","Moz","O"];Object.keys(H8).forEach(function(f){FA.forEach(function(v){v=v+f.charAt(0).toUpperCase()+f.substring(1),H8[v]=H8[f]})});qA=g0({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});if(g3)try{Bc={},Object.defineProperty(Bc,"passive",{get:function(){Bg=!0}}),window.addEventListener("test",Bc,Bc),window.removeEventListener("test",Bc,Bc)}catch(f){Bg=!1}MA={onError:function(f){I8=!0,Af=f}};Ww=tl.unstable_scheduleCallback,dy=tl.unstable_cancelCallback,DA=tl.unstable_shouldYield,RA=tl.unstable_requestPaint,y0=tl.unstable_now,HA=tl.unstable_getCurrentPriorityLevel,Ev=tl.unstable_ImmediatePriority,Lw=tl.unstable_UserBlockingPriority,Wf=tl.unstable_NormalPriority,IA=tl.unstable_LowPriority,Cw=tl.unstable_IdlePriority;zu=Math.clz32?Math.clz32:GA,zA=Math.log,OA=Math.LN2;e9=[],b8=new Map,$8=new Map,v4=[],XA="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");L6=h3.ReactCurrentBatchConfig;U6={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(f){return f.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Lv=i2(U6),vp=g0({},U6,{view:0,detail:0}),_A=i2(vp),Jf=g0({},vp,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cv,button:0,buttons:0,relatedTarget:function(f){return f.relatedTarget===void 0?f.fromElement===f.srcElement?f.toElement:f.fromElement:f.relatedTarget},movementX:function(f){if("movementX"in f)return f.movementX;return f!==C8&&(C8&&f.type==="mousemove"?(ug=f.screenX-C8.screenX,cg=f.screenY-C8.screenY):cg=ug=0,C8=f),ug},movementY:function(f){return"movementY"in f?f.movementY:cg}}),ay=i2(Jf),iA=g0({},Jf,{dataTransfer:0}),eA=i2(iA),tA=g0({},vp,{relatedTarget:0}),rg=i2(tA),lV=g0({},U6,{animationName:0,elapsedTime:0,pseudoElement:0}),uV=i2(lV),cV=g0({},U6,{clipboardData:function(f){return"clipboardData"in f?f.clipboardData:window.clipboardData}}),rV=i2(cV),pV=g0({},U6,{data:0}),oy=i2(pV),fV={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},dV={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},mV={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};vV=g0({},vp,{key:function(f){if(f.key){var v=fV[f.key]||f.key;if(v!=="Unidentified")return v}return f.type==="keypress"?(f=af(f),f===13?"Enter":String.fromCharCode(f)):f.type==="keydown"||f.type==="keyup"?dV[f.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cv,charCode:function(f){return f.type==="keypress"?af(f):0},keyCode:function(f){return f.type==="keydown"||f.type==="keyup"?f.keyCode:0},which:function(f){return f.type==="keypress"?af(f):f.type==="keydown"||f.type==="keyup"?f.keyCode:0}}),aV=i2(vV),oV=g0({},Jf,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),hy=i2(oV),hV=g0({},vp,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cv}),yV=i2(hV),wV=g0({},U6,{propertyName:0,elapsedTime:0,pseudoElement:0}),sV=i2(wV),SV=g0({},Jf,{deltaX:function(f){return"deltaX"in f?f.deltaX:("wheelDeltaX"in f)?-f.wheelDeltaX:0},deltaY:function(f){return"deltaY"in f?f.deltaY:("wheelDeltaY"in f)?-f.wheelDeltaY:("wheelDelta"in f)?-f.wheelDelta:0},deltaZ:0,deltaMode:0}),kV=i2(SV),EV=[9,13,27,32],xv=g3&&"CompositionEvent"in window;g3&&"documentMode"in document&&(Y8=document.documentMode);nV=g3&&"TextEvent"in window&&!Y8,Dw=g3&&(!xv||Y8&&8=Y8),yy=String.fromCharCode(32);WV={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};if(g3){if(g3){if(K8="oninput"in document,!K8)of=document.createElement("div"),of.setAttribute("oninput","return;"),K8=typeof of.oninput==="function";B8=K8}else B8=!1;Yw=B8&&(!document.documentMode||9=document.documentMode;h6={animationend:lf("Animation","AnimationEnd"),animationiteration:lf("Animation","AnimationIteration"),animationstart:lf("Animation","AnimationStart"),transitionend:lf("Transition","TransitionEnd")},pg={},Qw={};g3&&(Qw=document.createElement("div").style,("AnimationEvent"in window)||(delete h6.animationend.animation,delete h6.animationiteration.animation,delete h6.animationstart.animation),("TransitionEvent"in window)||delete h6.transitionend.transition);jw=Tf("animationend"),Jw=Tf("animationiteration"),Xw=Tf("animationstart"),Tw=Tf("transitionend"),Zw=new Map,Ay="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");for(U8=0;U8<Ay.length;U8++)D8=Ay[U8],Yg=D8.toLowerCase(),zg=D8[0].toUpperCase()+D8.slice(1),L4(Yg,"on"+zg);L4(jw,"onAnimationEnd");L4(Jw,"onAnimationIteration");L4(Xw,"onAnimationStart");L4("dblclick","onDoubleClick");L4("focusin","onFocus");L4("focusout","onBlur");L4(Tw,"onTransitionEnd");N6("onMouseEnter",["mouseout","mouseover"]);N6("onMouseLeave",["mouseout","mouseover"]);N6("onPointerEnter",["pointerout","pointerover"]);N6("onPointerLeave",["pointerout","pointerover"]);Jc("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));Jc("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));Jc("onBeforeInput",["compositionend","keypress","textInput","paste"]);Jc("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));Jc("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));Jc("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));R8="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),KV=new Set("cancel close invalid load scroll toggle".split(" ").concat(R8));uf="_reactListening"+Math.random().toString(36).slice(2);UV=/\r\n?/g,DV=/\u0000|\uFFFD/g;jg=typeof setTimeout==="function"?setTimeout:void 0,RV=typeof clearTimeout==="function"?clearTimeout:void 0,Cy=typeof Promise==="function"?Promise:void 0,HV=typeof queueMicrotask==="function"?queueMicrotask:typeof Cy<"u"?function(f){return Cy.resolve(null).then(f).catch(IV)}:jg;D6=Math.random().toString(36).slice(2),E5="__reactFiber$"+D6,up="__reactProps$"+D6,v3="__reactContainer$"+D6,Jg="__reactEvents$"+D6,YV="__reactListeners$"+D6,zV="__reactHandles$"+D6;Xg=[];W4={},o2=C4(W4),I2=C4(!1),zc=W4;s6=[],wu=[];GV=h3.ReactCurrentBatchConfig;P6=us(!0),cs=us(!1),Kf=C4(null);op={},A5=C4(op),cp=C4(op),rp=C4(op);d0=C4(0);vg=[];yf=h3.ReactCurrentDispatcher,ag=h3.ReactCurrentBatchConfig;If={readContext:Eu,useCallback:g2,useContext:g2,useEffect:g2,useImperativeHandle:g2,useInsertionEffect:g2,useLayoutEffect:g2,useMemo:g2,useReducer:g2,useRef:g2,useState:g2,useDebugValue:g2,useDeferredValue:g2,useTransition:g2,useMutableSource:g2,useSyncExternalStore:g2,useId:g2,unstable_isNewReconciler:!1},TV={readContext:Eu,useCallback:function(f,v){return k5().memoizedState=[f,v===void 0?null:v],f},useContext:Eu,useEffect:Dy,useImperativeHandle:function(f,v,S){return S=S!==null&&S!==void 0?S.concat([f]):null,wf(4194308,4,Ss.bind(null,v,f),S)},useLayoutEffect:function(f,v){return wf(4194308,4,f,v)},useInsertionEffect:function(f,v){return wf(4,2,f,v)},useMemo:function(f,v){var S=k5();return v=v===void 0?null:v,f=f(),S.memoizedState=[f,v],f},useReducer:function(f,v,S){var x=k5();return v=S!==void 0?S(v):v,x.memoizedState=x.baseState=v,f={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:f,lastRenderedState:v},x.queue=f,f=f.dispatch=JV.bind(null,m0,f),[x.memoizedState,f]},useRef:function(f){var v=k5();return f={current:f},v.memoizedState=f},useState:Uy,useDebugValue:Qv,useDeferredValue:function(f){return k5().memoizedState=f},useTransition:function(){var f=Uy(!1),v=f[0];return f=jV.bind(null,f[1]),k5().memoizedState=f,[v,f]},useMutableSource:function(){},useSyncExternalStore:function(f,v,S){var x=m0,V=k5();if(el){if(S===void 0)throw Error(D1(407));S=S()}else{if(S=v(),z0===null)throw Error(D1(349));(Gc&30)!==0||gs(x,v,S)}V.memoizedState=S;var g={value:S,getSnapshot:v};return V.queue=g,Dy(as.bind(null,x,g,f),[f]),x.flags|=2048,dp(9,vs.bind(null,x,g,S,v),void 0,null),S},useId:function(){var f=k5(),v=z0.identifierPrefix;if(el){var S=d3,x=f3;S=(x&~(1<<32-zu(x)-1)).toString(32)+S,v=":"+v+"R"+S,S=pp++,0<S&&(v+="H"+S.toString(32)),v+=":"}else S=QV++,v=":"+v+"r"+S.toString(32)+":";return f.memoizedState=v},unstable_isNewReconciler:!1},ZV={readContext:Eu,useCallback:Es,useContext:Eu,useEffect:Gv,useImperativeHandle:ks,useInsertionEffect:ws,useLayoutEffect:ss,useMemo:ns,useReducer:og,useRef:ys,useState:function(){return og(fp)},useDebugValue:Qv,useDeferredValue:function(f){var v=nu();return As(v,F0.memoizedState,f)},useTransition:function(){var f=og(fp)[0],v=nu().memoizedState;return[f,v]},useMutableSource:ds,useSyncExternalStore:ms,useId:Vs,unstable_isNewReconciler:!1},bV={readContext:Eu,useCallback:Es,useContext:Eu,useEffect:Gv,useImperativeHandle:ks,useInsertionEffect:ws,useLayoutEffect:ss,useMemo:ns,useReducer:hg,useRef:ys,useState:function(){return hg(fp)},useDebugValue:Qv,useDeferredValue:function(f){var v=nu();return F0===null?v.memoizedState=f:As(v,F0.memoizedState,f)},useTransition:function(){var f=hg(fp)[0],v=nu().memoizedState;return[f,v]},useMutableSource:ds,useSyncExternalStore:ms,useId:Vs,unstable_isNewReconciler:!1};_f={isMounted:function(f){return(f=f._reactInternals)?Xc(f)===f:!1},enqueueSetState:function(f,v,S){f=f._reactInternals;var x=C2(),V=n4(f),g=m3(x,V);g.payload=v,S!==void 0&&S!==null&&(g.callback=S),v=k4(f,g,V),v!==null&&(Ou(v,f,V,x),hf(v,f,V))},enqueueReplaceState:function(f,v,S){f=f._reactInternals;var x=C2(),V=n4(f),g=m3(x,V);g.tag=1,g.payload=v,S!==void 0&&S!==null&&(g.callback=S),v=k4(f,g,V),v!==null&&(Ou(v,f,V,x),hf(v,f,V))},enqueueForceUpdate:function(f,v){f=f._reactInternals;var S=C2(),x=n4(f),V=m3(S,x);V.tag=2,v!==void 0&&v!==null&&(V.callback=v),v=k4(f,V,x),v!==null&&(Ou(v,f,x,S),hf(v,f,x))}};$V=typeof WeakMap==="function"?WeakMap:Map;_V=h3.ReactCurrentOwner;lv={dehydrated:null,treeContext:null,retryLane:0};Ds=function(f,v){for(var S=v.child;S!==null;){if(S.tag===5||S.tag===6)f.appendChild(S.stateNode);else if(S.tag!==4&&S.child!==null){S.child.return=S,S=S.child;continue}if(S===v)break;for(;S.sibling===null;){if(S.return===null||S.return===v)return;S=S.return}S.sibling.return=S.return,S=S.sibling}};cv=function(){};Rs=function(f,v,S,x){var V=f.memoizedProps;if(V!==x){f=v.stateNode,Hc(A5.current);var g=null;switch(S){case"input":V=Wg(f,V),x=Wg(f,x),g=[];break;case"select":V=g0({},V,{value:void 0}),x=g0({},x,{value:void 0}),g=[];break;case"textarea":V=xg(f,V),x=xg(f,x),g=[];break;default:typeof V.onClick!=="function"&&typeof x.onClick==="function"&&(f.onclick=Ff)}Fg(S,x);var H;S=null;for(g1 in V)if(!x.hasOwnProperty(g1)&&V.hasOwnProperty(g1)&&V[g1]!=null)if(g1==="style"){var b=V[g1];for(H in b)b.hasOwnProperty(H)&&(S||(S={}),S[H]="")}else g1!=="dangerouslySetInnerHTML"&&g1!=="children"&&g1!=="suppressContentEditableWarning"&&g1!=="suppressHydrationWarning"&&g1!=="autoFocus"&&(X8.hasOwnProperty(g1)?g||(g=[]):(g=g||[]).push(g1,null));for(g1 in x){var _=x[g1];if(b=V!=null?V[g1]:void 0,x.hasOwnProperty(g1)&&_!==b&&(_!=null||b!=null))if(g1==="style")if(b){for(H in b)!b.hasOwnProperty(H)||_&&_.hasOwnProperty(H)||(S||(S={}),S[H]="");for(H in _)_.hasOwnProperty(H)&&b[H]!==_[H]&&(S||(S={}),S[H]=_[H])}else S||(g||(g=[]),g.push(g1,S)),S=_;else g1==="dangerouslySetInnerHTML"?(_=_?_.__html:void 0,b=b?b.__html:void 0,_!=null&&b!==_&&(g=g||[]).push(g1,_)):g1==="children"?typeof _!=="string"&&typeof _!=="number"||(g=g||[]).push(g1,""+_):g1!=="suppressContentEditableWarning"&&g1!=="suppressHydrationWarning"&&(X8.hasOwnProperty(g1)?(_!=null&&g1==="onScroll"&&bl("scroll",f),g||b===_||(g=[])):(g=g||[]).push(g1,_))}S&&(g=g||[]).push("style",S);var g1=g;if(v.updateQueue=g1)v.flags|=4}};Hs=function(f,v,S,x){S!==x&&(v.flags|=4)};uW=typeof WeakSet==="function"?WeakSet:Set;pW=Math.ceil,Yf=h3.ReactCurrentDispatcher,Jv=h3.ReactCurrentOwner,ku=h3.ReactCurrentBatchConfig,n6=C4(0);bs=function(f,v,S){if(f!==null)if(f.memoizedProps!==v.pendingProps||I2.current)H2=!0;else{if((f.lanes&S)===0&&(v.flags&128)===0)return H2=!1,eV(f,v,S);H2=(f.flags&131072)!==0?!0:!1}else H2=!1,el&&(v.flags&1048576)!==0&&ew(v,Bf,v.index);switch(v.lanes=0,v.tag){case 2:var x=v.type;sf(f,v),f=v.pendingProps;var V=F6(v,o2.current);C6(v,S),V=zv(null,v,x,f,V,S);var g=Ov();return v.flags|=1,typeof V==="object"&&V!==null&&typeof V.render==="function"&&V.$$typeof===void 0?(v.tag=1,v.memoizedState=null,v.updateQueue=null,Y2(x)?(g=!0,Pf(v)):g=!1,v.memoizedState=V.state!==null&&V.state!==void 0?V.state:null,Dv(v),V.updater=_f,v.stateNode=V,V._reactInternals=v,_g(v,x,f,S),v=tg(null,v,x,!0,g,S)):(v.tag=0,el&&g&&Fv(v),L2(null,v,V,S),v=v.child),v;case 16:x=v.elementType;l:{switch(sf(f,v),f=v.pendingProps,V=x._init,x=V(x._payload),v.type=x,V=v.tag=yW(x),f=Hu(x,f),V){case 0:v=eg(null,v,x,f,S);break l;case 1:v=Qy(null,v,x,f,S);break l;case 11:v=Oy(null,v,x,f,S);break l;case 14:v=Gy(null,v,x,Hu(x.type,f),S);break l}throw Error(D1(306,x,""))}return v;case 0:return x=v.type,V=v.pendingProps,V=v.elementType===x?V:Hu(x,V),eg(f,v,x,V,S);case 1:return x=v.type,V=v.pendingProps,V=v.elementType===x?V:Hu(x,V),Qy(f,v,x,V,S);case 3:l:{if(Bs(v),f===null)throw Error(D1(387));x=v.pendingProps,g=v.memoizedState,V=g.element,ps(f,v),Df(v,x,null,S);var H=v.memoizedState;if(x=H.element,g.isDehydrated)if(g={element:x,isDehydrated:!1,cache:H.cache,pendingSuspenseBoundaries:H.pendingSuspenseBoundaries,transitions:H.transitions},v.updateQueue.baseState=g,v.memoizedState=g,v.flags&256){V=B6(Error(D1(423)),v),v=jy(f,v,x,S,V);break l}else if(x!==V){V=B6(Error(D1(424)),v),v=jy(f,v,x,S,V);break l}else for($2=S4(v.stateNode.containerInfo.firstChild),_2=v,el=!0,Yu=null,S=cs(v,null,x,S),v.child=S;S;)S.flags=S.flags&-3|4096,S=S.sibling;else{if(q6(),x===V){v=o3(f,v,S);break l}L2(f,v,x,S)}v=v.child}return v;case 5:return fs(v),f===null&&Zg(v),x=v.type,V=v.pendingProps,g=f!==null?f.memoizedProps:null,H=V.children,Qg(x,V)?H=null:g!==null&&Qg(x,g)&&(v.flags|=32),Ms(f,v),L2(f,v,H,S),v.child;case 6:return f===null&&Zg(v),null;case 13:return Ks(f,v,S);case 4:return Rv(v,v.stateNode.containerInfo),x=v.pendingProps,f===null?v.child=P6(v,null,x,S):L2(f,v,x,S),v.child;case 11:return x=v.type,V=v.pendingProps,V=v.elementType===x?V:Hu(x,V),Oy(f,v,x,V,S);case 7:return L2(f,v,v.pendingProps,S),v.child;case 8:return L2(f,v,v.pendingProps.children,S),v.child;case 12:return L2(f,v,v.pendingProps.children,S),v.child;case 10:l:{if(x=v.type._context,V=v.pendingProps,g=v.memoizedProps,H=V.value,Ql(Kf,x._currentValue),x._currentValue=H,g!==null)if(Gu(g.value,H)){if(g.children===V.children&&!I2.current){v=o3(f,v,S);break l}}else for(g=v.child,g!==null&&(g.return=v);g!==null;){var b=g.dependencies;if(b!==null){H=g.child;for(var _=b.firstContext;_!==null;){if(_.context===x){if(g.tag===1){_=m3(-1,S&-S),_.tag=2;var g1=g.updateQueue;if(g1!==null){g1=g1.shared;var x1=g1.pending;x1===null?_.next=_:(_.next=x1.next,x1.next=_),g1.pending=_}}g.lanes|=S,_=g.alternate,_!==null&&(_.lanes|=S),bg(g.return,S,v),b.lanes|=S;break}_=_.next}}else if(g.tag===10)H=g.type===v.type?null:g.child;else if(g.tag===18){if(H=g.return,H===null)throw Error(D1(341));H.lanes|=S,b=H.alternate,b!==null&&(b.lanes|=S),bg(H,S,v),H=g.sibling}else H=g.child;if(H!==null)H.return=g;else for(H=g;H!==null;){if(H===v){H=null;break}if(g=H.sibling,g!==null){g.return=H.return,H=g;break}H=H.return}g=H}L2(f,v,V.children,S),v=v.child}return v;case 9:return V=v.type,x=v.pendingProps.children,C6(v,S),V=Eu(V),x=x(V),v.flags|=1,L2(f,v,x,S),v.child;case 14:return x=v.type,V=Hu(x,v.pendingProps),V=Hu(x.type,V),Gy(f,v,x,V,S);case 15:return qs(f,v,v.type,v.pendingProps,S);case 17:return x=v.type,V=v.pendingProps,V=v.elementType===x?V:Hu(x,V),sf(f,v),v.tag=1,Y2(x)?(f=!0,Pf(v)):f=!1,C6(v,S),xs(v,x,V),_g(v,x,V,S),tg(null,v,x,!0,f,S);case 19:return Us(f,v,S);case 22:return Ps(f,v,S)}throw Error(D1(156,v.tag))};es=typeof reportError==="function"?reportError:function(f){console.error(f)};cd.prototype.render=tv.prototype.render=function(f){var v=this._internalRoot;if(v===null)throw Error(D1(409));ud(f,v,null,null)};cd.prototype.unmount=tv.prototype.unmount=function(){var f=this._internalRoot;if(f!==null){this._internalRoot=null;var v=f.containerInfo;jc(function(){ud(null,f,null,null)}),v[v3]=null}};cd.prototype.unstable_scheduleHydration=function(f){if(f){var v=Pw();f={blockedOn:null,target:f,priority:v};for(var S=0;S<v4.length&&v!==0&&v<v4[S].priority;S++);v4.splice(S,0,f),S===0&&Bw(f)}};Fw=function(f){switch(f.tag){case 3:var v=f.stateNode;if(v.current.memoizedState.isDehydrated){var S=M8(v.pendingLanes);S!==0&&(nv(v,S|1),z2(v,y0()),(Al&6)===0&&(K6=y0()+500,x4()))}break;case 13:jc(function(){var x=a3(f,1);if(x!==null){var V=C2();Ou(x,f,1,V)}}),ev(f,1)}};Av=function(f){if(f.tag===13){var v=a3(f,134217728);if(v!==null){var S=C2();Ou(v,f,134217728,S)}ev(f,134217728)}};qw=function(f){if(f.tag===13){var v=n4(f),S=a3(f,v);if(S!==null){var x=C2();Ou(S,f,v,x)}ev(f,v)}};Pw=function(){return Kl};Mw=function(f,v){var S=Kl;try{return Kl=f,v()}finally{Kl=S}};Mg=function(f,v,S){switch(v){case"input":if(Lg(f,S),v=S.name,S.type==="radio"&&v!=null){for(S=f;S.parentNode;)S=S.parentNode;S=S.querySelectorAll("input[name="+JSON.stringify(""+v)+'][type="radio"]');for(v=0;v<S.length;v++){var x=S[v];if(x!==f&&x.form===f.form){var V=Zf(x);if(!V)throw Error(D1(90));mw(x),Lg(x,V)}}}break;case"textarea":vw(f,S);break;case"select":v=S.value,v!=null&&A6(f,!!S.multiple,v,!1)}};Sw=Zv;kw=jc;EW={usingClientEntryPoint:!1,Events:[ap,y6,Zf,ww,sw,Zv]},F8={findFiberByHostInstance:Dc,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nW={bundleType:F8.bundleType,version:F8.version,rendererPackageName:F8.rendererPackageName,rendererConfig:F8.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:h3.ReactCurrentDispatcher,findHostInstanceByFiber:function(f){return f=Aw(f),f===null?null:f.stateNode},findFiberByHostInstance:F8.findFiberByHostInstance||SW,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__{oS();function hS(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=="function")return;try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(hS)}catch(f){console.error(f)}}hS(),yS.exports=ua});var sS=s8((VW)=>{var hp=p4(wS(),1);VW.createRoot=hp.createRoot,VW.hydrateRoot=hp.hydrateRoot;var AW});var SS=s8((ca,ra)=>{(function(f,v){typeof ca==="object"&&typeof ra<"u"?ra.exports=v():typeof define==="function"&&define.amd?define(v):(f=typeof globalThis<"u"?globalThis:f||self,f.maplibregl=v())})(ca,function(){var f={},v={};function S(V,g,H){if(v[V]=H,V!=="index")return;var b="var sharedModule = {}; ("+v.shared+")(sharedModule); ("+v.worker+")(sharedModule);",_={};if(v.shared(_),v.index(f,_),typeof window<"u")f.setWorkerUrl(window.URL.createObjectURL(new Blob([b],{type:"text/javascript"})));return f}S("shared",["exports"],function(V){function g(l,c,p,d){return new(p||(p=Promise))(function(a,h){function y(k){try{A(d.next(k))}catch(W){h(W)}}function w(k){try{A(d.throw(k))}catch(W){h(W)}}function A(k){var W;k.done?a(k.value):(W=k.value,W instanceof p?W:new p(function(n){n(W)})).then(y,w)}A((d=d.apply(l,c||[])).next())})}function H(l,c){this.x=l,this.y=c}function b(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var _,g1;typeof SuppressedError=="function"&&SuppressedError,H.prototype={clone(){return new H(this.x,this.y)},add(l){return this.clone()._add(l)},sub(l){return this.clone()._sub(l)},multByPoint(l){return this.clone()._multByPoint(l)},divByPoint(l){return this.clone()._divByPoint(l)},mult(l){return this.clone()._mult(l)},div(l){return this.clone()._div(l)},rotate(l){return this.clone()._rotate(l)},rotateAround(l,c){return this.clone()._rotateAround(l,c)},matMult(l){return this.clone()._matMult(l)},unit(){return this.clone()._unit()},perp(){return this.clone()._perp()},round(){return this.clone()._round()},mag(){return Math.sqrt(this.x*this.x+this.y*this.y)},equals(l){return this.x===l.x&&this.y===l.y},dist(l){return Math.sqrt(this.distSqr(l))},distSqr(l){let c=l.x-this.x,p=l.y-this.y;return c*c+p*p},angle(){return Math.atan2(this.y,this.x)},angleTo(l){return Math.atan2(this.y-l.y,this.x-l.x)},angleWith(l){return this.angleWithSep(l.x,l.y)},angleWithSep(l,c){return Math.atan2(this.x*c-this.y*l,this.x*l+this.y*c)},_matMult(l){let c=l[2]*this.x+l[3]*this.y;return this.x=l[0]*this.x+l[1]*this.y,this.y=c,this},_add(l){return this.x+=l.x,this.y+=l.y,this},_sub(l){return this.x-=l.x,this.y-=l.y,this},_mult(l){return this.x*=l,this.y*=l,this},_div(l){return this.x/=l,this.y/=l,this},_multByPoint(l){return this.x*=l.x,this.y*=l.y,this},_divByPoint(l){return this.x/=l.x,this.y/=l.y,this},_unit(){return this._div(this.mag()),this},_perp(){let l=this.y;return this.y=this.x,this.x=-l,this},_rotate(l){let c=Math.cos(l),p=Math.sin(l),d=p*this.x+c*this.y;return this.x=c*this.x-p*this.y,this.y=d,this},_rotateAround(l,c){let p=Math.cos(l),d=Math.sin(l),a=c.y+d*(this.x-c.x)+p*(this.y-c.y);return this.x=c.x+p*(this.x-c.x)-d*(this.y-c.y),this.y=a,this},_round(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},constructor:H},H.convert=function(l){if(l instanceof H)return l;if(Array.isArray(l))return new H(+l[0],+l[1]);if(l.x!==void 0&&l.y!==void 0)return new H(+l.x,+l.y);throw Error("Expected [x, y] or {x, y} point format")};var x1=function(){if(g1)return _;function l(c,p,d,a){this.cx=3*c,this.bx=3*(d-c)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*p,this.by=3*(a-p)-this.cy,this.ay=1-this.cy-this.by,this.p1x=c,this.p1y=p,this.p2x=d,this.p2y=a}return g1=1,_=l,l.prototype={sampleCurveX:function(c){return((this.ax*c+this.bx)*c+this.cx)*c},sampleCurveY:function(c){return((this.ay*c+this.by)*c+this.cy)*c},sampleCurveDerivativeX:function(c){return(3*this.ax*c+2*this.bx)*c+this.cx},solveCurveX:function(c,p){if(p===void 0&&(p=0.000001),c1)return 1;for(var d=c,a=0;a<8;a++){var h=this.sampleCurveX(d)-c;if(Math.abs(h)<p)return d;var y=this.sampleCurveDerivativeX(d);if(Math.abs(y)<0.000001)break;d-=h/y}var w=0,A=1;for(d=c,a=0;a<20&&(h=this.sampleCurveX(d),!(Math.abs(h-c)

h?w=d:A=d,d=0.5*(A-w)+w;return d},solve:function(c,p){return this.sampleCurveY(this.solveCurveX(c,p))}},_}(),N1=b(x1);let V1,q1;function X1(){return V1!=null||(V1=typeof OffscreenCanvas<"u"&&new OffscreenCanvas(1,1).getContext("2d")&&typeof createImageBitmap=="function"),V1}function J1(){if(q1==null&&(q1=!1,X1())){let c=new OffscreenCanvas(5,5).getContext("2d",{willReadFrequently:!0});if(c){for(let d=0;d<25;d++){let a=4*d;c.fillStyle=`rgb(${a},${a+1},${a+2})`,c.fillRect(d%5,Math.floor(d/5),1,1)}let p=c.getImageData(0,0,5,5).data;for(let d=0;d<100;d++)if(d%4!=3&&p[d]!==d){q1=!0;break}}}return q1||!1}var A1=0.000001,v1=typeof Float32Array4&&arguments[4]!==void 0?arguments[4]:"zyx",h=Math.PI/360;c*=h,d*=h,p*=h;var y=Math.sin(c),w=Math.cos(c),A=Math.sin(p),k=Math.cos(p),W=Math.sin(d),n=Math.cos(d);switch(a){case"xyz":l[0]=y*k*n+w*A*W,l[1]=w*A*n-y*k*W,l[2]=w*k*W+y*A*n,l[3]=w*k*n-y*A*W;break;case"xzy":l[0]=y*k*n-w*A*W,l[1]=w*A*n-y*k*W,l[2]=w*k*W+y*A*n,l[3]=w*k*n+y*A*W;break;case"yxz":l[0]=y*k*n+w*A*W,l[1]=w*A*n-y*k*W,l[2]=w*k*W-y*A*n,l[3]=w*k*n+y*A*W;break;case"yzx":l[0]=y*k*n+w*A*W,l[1]=w*A*n+y*k*W,l[2]=w*k*W-y*A*n,l[3]=w*k*n-y*A*W;break;case"zxy":l[0]=y*k*n-w*A*W,l[1]=w*A*n+y*k*W,l[2]=w*k*W+y*A*n,l[3]=w*k*n-y*A*W;break;case"zyx":l[0]=y*k*n-w*A*W,l[1]=w*A*n+y*k*W,l[2]=w*k*W-y*A*n,l[3]=w*k*n+y*A*W;break;default:throw Error("Unknown angle order "+a)}return l}function ol(){var l=new v1(2);return v1!=Float32Array&&(l[0]=0,l[1]=0),l}function Sl(l,c){var p=new v1(2);return p[0]=l,p[1]=c,p}B1(),P1=new v1(4),v1!=Float32Array&&(P1[0]=0,P1[1]=0,P1[2]=0,P1[3]=0),B1(),J(1,0,0),J(0,1,0),al(),al(),f1(),ol();let ll=8192;function O0(l,c,p){return c*(ll/(l.tileSize*Math.pow(2,p-l.tileID.overscaledZ)))}function l0(l){return l instanceof Error?l:Error(typeof l=="string"?l:String(l))}function O2(l,c){return(l%c+c)%c}function Au(l,c,p){return l*(1-p)+c*p}function Qu(l){if(l=1)return 1;let c=l*l,p=c*l;return 4*(la.solve(h)}let W5=V5(0.25,0.1,0.25,1);function G0(l,c,p){return Math.min(p,Math.max(c,l))}function Tc(l,c,p){let d=p-c,a=((l-c)%d+d)%d+c;return a===c?p:a}function h2(l,...c){for(let p of c)for(let d in p)l[d]=p[d];return l}let y3=1;function ju(l,c,p){let d={};for(let a in l)d[a]=c.call(this,l[a],a,l);return d}function Vl(l,c,p){let d={};for(let a in l)c.call(this,l[a],a,l)&&(d[a]=l[a]);return d}function gl(l){return Array.isArray(l)?l.map(gl):typeof l=="object"&&l?ju(l,gl):l}let L5={};function w0(l){L5[l]||(typeof console(c.y-l.y)*(p.x-l.x)}function W0(l){return typeof WorkerGlobalScope<"u"&&l!==void 0&&l instanceof WorkerGlobalScope}let Vu=null;function H6(l){return typeof ImageBitmap"u")throw Error("VideoFrame not supported");let h=new VideoFrame(l,{timestamp:0});try{let y=h==null?void 0:h.format;if(!y||!y.startsWith("BGR")&&!y.startsWith("RGB"))throw Error(`Unrecognized format ${y}`);let w=y.startsWith("BGR"),A=new Uint8ClampedArray(d*a*4);if(yield h.copyTo(A,function(k,W,n,q,C){let B=4*Math.max(-W,0),M=(Math.max(0,n)-n)*q*4+B,D=4*q,I=Math.max(0,W),O=Math.max(0,n);return{rect:{x:I,y:O,width:Math.min(k.width,W+q)-I,height:Math.min(k.height,n+C)-O},layout:[{offset:M,stride:D}]}}(l,c,p,d,a)),w)for(let k=0;k{l.removeEventListener(c,p,d)}}}function Wu(l){return l*Math.PI/180}function Xu(l){return l/Math.PI*180}let Zc={touchstart:!0,touchmove:!0,touchmoveWindow:!0,touchend:!0,touchcancel:!0},z6={dblclick:!0,click:!0,mouseover:!0,mouseout:!0,mousedown:!0,mousemove:!0,mousemoveWindow:!0,mouseup:!0,mouseupWindow:!0,contextmenu:!0,wheel:!0},bc="AbortError";class s3 extends Error{constructor(l=bc){super(l instanceof Error?l.message:l),this.name=bc,l instanceof Error&&l.stack&&(this.stack=l.stack)}}function O6(l){return l instanceof Error&&l.name===bc}function $c(l){if(l.aborted)throw new s3(l.reason)}let Tu={MAX_PARALLEL_IMAGE_REQUESTS:16,MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:8,MAX_TILE_CACHE_ZOOM_LEVELS:5,REGISTERED_PROTOCOLS:{},WORKER_URL:""};function Lu(l){return Tu.REGISTERED_PROTOCOLS[l.substring(0,l.indexOf("://"))]}let N2="global-dispatcher";class Zu extends Error{constructor(l,c,p,d){super(`AJAXError: ${c} (${l}): ${p}`),this.status=l,this.statusText=c,this.url=p,this.body=d}}let _c=()=>{var l;return W0(self)?(l=self.worker)===null||l===void 0?void 0:l.referrer:(window.location.protocol==="blob:"?window.parent:window).location.href},C5=function(l,c){return g(this,void 0,void 0,function*(){var p,d;if(l.url.includes("://")&&!/^https?:|^file:/.test(l.url)){let a=Lu(l.url);if(a){let h=yield a(l,c);return h.data||l.type!=="arrayBuffer"?h:h2(h,{data:new ArrayBuffer(0)})}if(W0(self)&&((p=self.worker)===null||p===void 0?void 0:p.actor))return self.worker.actor.sendAsync({type:"GR",data:l,targetMapId:N2},c)}if(!((a)=>{var h;return a.startsWith("file:")||((h=_c())===null||h===void 0?void 0:h.startsWith("file:"))&&!/^\w+:/.test(a)})(l.url)){if(fetch&&Request&&AbortController&&Object.hasOwn(Request.prototype,"signal"))return function(a,h){return g(this,void 0,void 0,function*(){let y=new Request(a.url,{method:a.method||"GET",body:a.body,credentials:a.credentials,headers:a.headers,cache:a.cache,referrer:_c(),referrerPolicy:a.referrerPolicy,signal:h.signal}),w,A;a.type!=="json"||y.headers.has("Accept")||y.headers.set("Accept","application/json");try{w=yield fetch(y)}catch(W){if(O6(W))throw W;throw new Zu(0,l0(W).message,a.url,new Blob)}if(!w.ok){let W=yield w.blob();throw new Zu(w.status,w.statusText,a.url,W)}A=a.type==="arrayBuffer"||a.type==="image"?w.arrayBuffer():a.type==="json"?w.json():w.text();let k=yield A;return $c(h.signal),{data:k,cacheControl:w.headers.get("Cache-Control"),expires:w.headers.get("Expires"),etag:w.headers.get("ETag")}})}(l,c);if(W0(self)&&((d=self.worker)===null||d===void 0?void 0:d.actor))return self.worker.actor.sendAsync({type:"GR",data:l,mustQueue:!0,targetMapId:N2},c)}return function(a,h){return new Promise((y,w)=>{var A;let k=new XMLHttpRequest;k.open(a.method||"GET",a.url,!0),a.type!=="arrayBuffer"&&a.type!=="image"||(k.responseType="arraybuffer");for(let W in a.headers)k.setRequestHeader(W,a.headers[W]);a.type==="json"&&(k.responseType="text",((A=a.headers)===null||A===void 0?void 0:A.Accept)||k.setRequestHeader("Accept","application/json")),k.withCredentials=a.credentials==="include",k.onerror=()=>{w(Error(k.statusText))},k.onload=()=>{if(!h.signal.aborted)if((k.status>=200&&k.status{k.abort(),w(new s3(h.signal.reason))}),k.send(a.body)})}(l,c)})};function G2(l){if(!l||l.indexOf("://"){this.off(l,c)}}}off(l,c){return x5(l,c,this._listeners),x5(l,c,this._oneTimeListeners),this}once(l,c){return c?(this._oneTimeListeners||(this._oneTimeListeners={}),S3(l,c,this._oneTimeListeners),this):new Promise((p)=>this.once(l,p))}fire(l,c){var p,d;typeof l=="string"&&(l=new k3(l,c||{}));let a=l.type;if(this.listens(a)){l.target=this;let h=((p=this._listeners)===null||p===void 0?void 0:p[a])?this._listeners[a].slice():[];for(let A of h)A.call(this,l);let y=((d=this._oneTimeListeners)===null||d===void 0?void 0:d[a])?this._oneTimeListeners[a].slice():[];for(let A of y)x5(a,A,this._oneTimeListeners),A.call(this,l);let w=this._eventedParent;w&&(h2(l,typeof this._eventedParentData=="function"?this._eventedParentData():this._eventedParentData),w.fire(l))}else l instanceof N5&&console.error(l.error);return this}listens(l){var c,p,d,a,h;return((p=(c=this._listeners)===null||c===void 0?void 0:c[l])===null||p===void 0?void 0:p.length)>0||((a=(d=this._oneTimeListeners)===null||d===void 0?void 0:d[l])===null||a===void 0?void 0:a.length)>0||((h=this._eventedParent)===null||h===void 0?void 0:h.listens(l))}setEventedParent(l,c){return this._eventedParent=l,this._eventedParentData=c,this}}var E1={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number",length:2},centerAltitude:{type:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},roll:{type:"number",default:0,units:"degrees"},state:{type:"state",default:{}},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},"font-faces":{type:"fontFaces"},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},encoding:{type:"enum",values:{mvt:{},mlt:{}},default:"mvt"},"*":{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:"filter"},tolerance:{type:"number",default:0.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:{},"color-relief":{},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_color-relief","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-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",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-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",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"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","feature"]},"property-type":"data-driven"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-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",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},"layout_color-relief":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible",expression:{interpolated:!1,parameters:["global-state"]},"property-type":"data-constant"}},filter:{type:"boolean",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"{d in c&&(p[d]=c[d])}),p}function nl(l,c){if(Array.isArray(l)){if(!Array.isArray(c)||l.length!==c.length)return!1;for(let p=0;p<l.length;p++)if(!nl(l[p],c[p]))return!1;return!0}if(typeof l=="object"&&l!==null&&c!==null){if(typeof c!="object")return!1;if(Object.keys(l).length!==Object.keys(c).length)return!1;for(let p in l)if(!nl(l[p],c[p]))return!1;return!0}return l===c}function t0(l,c){l.push(c)}function F5(l,c,p){t0(p,{command:"addSource",args:[l,c[l]]})}function yp(l,c,p){t0(c,{command:"removeSource",args:[l]}),p[l]=!0}function wp(l,c,p,d){yp(l,p,d),F5(l,c,p)}function fd(l,c,p){let d;for(d in l[p])if(Object.prototype.hasOwnProperty.call(l[p],d)&&d!=="data"&&!nl(l[p][d],c[p][d]))return!1;for(d in c[p])if(Object.prototype.hasOwnProperty.call(c[p],d)&&d!=="data"&&!nl(l[p][d],c[p][d]))return!1;return!0}function ic(l,c,p,d,a,h){l=l||{},c=c||{};for(let y in l)Object.prototype.hasOwnProperty.call(l,y)&&(nl(l[y],c[y])||p.push({command:h,args:[d,y,c[y],a]}));for(let y in c)Object.prototype.hasOwnProperty.call(c,y)&&!Object.prototype.hasOwnProperty.call(l,y)&&(nl(l[y],c[y])||p.push({command:h,args:[d,y,c[y],a]}))}function j6(l){return l.id}function sp(l,c){return l[c.id]=c,l}class M1{constructor(l,c,p,d){this.message=(l?`${l}: `:"")+p,d&&(this.identifier=d),c!=null&&c.__line__&&(this.line=c.__line__)}}function bu(l,...c){for(let p of c)for(let d in p)l[d]=p[d];return l}class s0 extends Error{constructor(l,c){super(c),this.message=c,this.key=l}}class ec{constructor(l,c=[]){this.parent=l,this.bindings={};for(let[p,d]of c)this.bindings[p]=d}concat(l){return new ec(this,l)}get(l){if(this.bindings[l])return this.bindings[l];if(this.parent)return this.parent.get(l);throw Error(`${l} not found in scope.`)}has(l){return!!this.bindings[l]||!!this.parent&&this.parent.has(l)}}let $u={kind:"null"},H1={kind:"number"},cl={kind:"string"},vl={kind:"boolean"},y2={kind:"color"},tc={kind:"projectionDefinition"},Cu={kind:"object"},pl={kind:"value"},q4={kind:"collator"},P4={kind:"formatted"},lr={kind:"padding"},E3={kind:"colorArray"},M4={kind:"numberArray"},n3={kind:"resolvedImage"},B4={kind:"variableAnchorOffsetCollection"};function L0(l,c){return{kind:"array",itemType:l,N:c}}function Wl(l){if(l.kind==="array"){let c=Wl(l.itemType);return typeof l.N=="number"?`array`:l.itemType.kind==="value"?"array":`array`}return l.kind}let ur=[$u,H1,cl,vl,y2,tc,P4,Cu,L0(pl),lr,M4,E3,n3,B4];function A3(l,c){if(c.kind==="error")return null;if(l.kind==="array"){if(c.kind==="array"&&(c.N===0&&c.itemType.kind==="value"||!A3(l.itemType,c.itemType))&&(typeof l.N!="number"||l.N===c.N))return null}else{if(l.kind===c.kind)return null;if(l.kind==="value"){for(let p of ur)if(!A3(p,c))return null}}return`Expected ${Wl(l)} but found ${Wl(c)} instead.`}function K4(l,c){return c.some((p)=>p.kind===l.kind)}function q5(l,c){return c.some((p)=>p==="null"?l===null:p==="array"?Array.isArray(l):p==="object"?l&&!Array.isArray(l)&&typeof l=="object":p===typeof l)}function Q2(l,c){return l.kind==="array"&&c.kind==="array"?l.itemType.kind===c.itemType.kind&&typeof l.N=="number":l.kind===c.kind}let Sp=0.96422,P5=0.82521,cr=0.13793103448275862,jl=0.20689655172413793,J6=3*jl*jl,X6=jl*jl*jl,V3=Math.PI/180,T6=180/Math.PI;function Z6(l){return(l%=360)<0&&(l+=360),l}function b6([l,c,p,d]){let a,h,y=pr((0.2225045*(l=rr(l))+0.7168786*(c=rr(c))+0.0606169*(p=rr(p)))/1);l===c&&c===p?a=h=y:(a=pr((0.4360747*l+0.3850649*c+0.1430804*p)/Sp),h=pr((0.0139322*l+0.0971045*c+0.7141733*p)/P5));let w=116*y-16;return[w<0?0:w,500*(a-y),200*(y-h),d]}function rr(l){return lX6?Math.pow(l,0.3333333333333333):l/J6+cr}function $6([l,c,p,d]){let a=(l+16)/116,h=isNaN(c)?a:a+c/500,y=isNaN(p)?a:a-p/200;return a=1*i6(a),h=Sp*i6(h),y=P5*i6(y),[_6(3.1338561*h-1.6168667*a-0.4906146*y),_6(-0.9787684*h+1.9161415*a+0.033454*y),_6(0.0719453*h-0.2289914*a+1.4052427*y),d]}function _6(l){return(l=l<=0.00304?12.92*l:1.055*Math.pow(l,0.4166666666666667)-0.055)1?1:l}function i6(l){return l>jl?l*l*l:J6*(l-cr)}let dd=Object.hasOwn||function(l,c){return Object.prototype.hasOwnProperty.call(l,c)};function U4(l,c){return dd(l,c)?l[c]:void 0}function fr(l){return parseInt(l.padEnd(2,l),16)/255}function kp(l,c){return W3(c?l/100:l,0,1)}function W3(l,c,p){return Math.min(Math.max(c,l),p)}function e6(l){return!l.some(Number.isNaN)}let D4={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]};function xu(l,c,p){return l+p*(c-l)}function M5(l,c,p){return l.map((d,a)=>xu(d,c[a],p))}class dl{constructor(l,c,p,d=1,a=!0){this.r=l,this.g=c,this.b=p,this.a=d,a||(this.r*=d,this.g*=d,this.b*=d,d||this.overwriteGetter("rgb",[l,c,p,d]))}static parse(l){if(l instanceof dl)return l;if(typeof l!="string")return;let c=function(p){if((p=p.toLowerCase().trim())==="transparent")return[0,0,0,0];let d=U4(D4,p);if(d){let[h,y,w]=d;return[h/255,y/255,w/255,1]}if(p.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(p)){let h=p.lengthMath.round(255*a)).join(",")},${d})`}static interpolate(l,c,p,d="rgb"){switch(d){case"rgb":{let[a,h,y,w]=M5(l.rgb,c.rgb,p);return new dl(a,h,y,w,!1)}case"hcl":{let[a,h,y,w]=l.hcl,[A,k,W,n]=c.hcl,q,C;if(isNaN(a)||isNaN(A))isNaN(a)?isNaN(A)?q=NaN:(q=A,y!==1&&y!==0||(C=k)):(q=a,W!==1&&W!==0||(C=h));else{let O=A-a;A>a&&O>180?O-=360:A180&&(O+=360),q=a+p*O}let[B,M,D,I]=function([O,Y,G,j]){return O=isNaN(O)?0:O*V3,$6([G,Math.cos(O)*Y,Math.sin(O)*Y,j])}([q,C!=null?C:xu(h,k,p),xu(y,W,p),xu(w,n,p)]);return new dl(B,M,D,I,!1)}case"lab":{let[a,h,y,w]=$6(M5(l.lab,c.lab,p));return new dl(a,h,y,w,!1)}}}}dl.black=new dl(0,0,0,1),dl.white=new dl(1,1,1,1),dl.transparent=new dl(0,0,0,0),dl.red=new dl(1,0,0,1);class R4{constructor(l,c,p){this.sensitivity=l?c?"variant":"case":c?"accent":"base",this.locale=p,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(l,c){return this.collator.compare(l,c)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}let Ep=["bottom","center","top"];class H4{constructor(l,c,p,d,a,h){this.text=l,this.image=c,this.scale=p,this.fontStack=d,this.textColor=a,this.verticalAlign=h}}class Q0{constructor(l){this.sections=l}static fromString(l){return new Q0([new H4(l,null,null,null,null,null)])}isEmpty(){return this.sections.length===0||!this.sections.some((l)=>l.text.length!==0||l.image&&l.image.name.length!==0)}static factory(l){return l instanceof Q0?l:Q0.fromString(l)}toString(){return this.sections.length===0?"":this.sections.map((l)=>l.text).join("")}}class P0{constructor(l){this.values=l.slice()}static parse(l){if(l instanceof P0)return l;if(typeof l=="number")return new P0([l,l,l,l]);if(Array.isArray(l)&&!(l.length4)){for(let c of l)if(typeof c!="number")return;switch(l.length){case 1:l=[l[0],l[0],l[0],l[0]];break;case 2:l=[l[0],l[1],l[0],l[1]];break;case 3:l=[l[0],l[1],l[2],l[1]]}return new P0(l)}}toString(){return JSON.stringify(this.values)}static interpolate(l,c,p){return new P0(M5(l.values,c.values,p))}}class Yl{constructor(l){this.values=l.slice()}static parse(l){if(l instanceof Yl)return l;if(typeof l=="number")return new Yl([l]);if(Array.isArray(l)){for(let c of l)if(typeof c!="number")return;return new Yl(l)}}toString(){return JSON.stringify(this.values)}static interpolate(l,c,p){return new Yl(M5(l.values,c.values,p))}}class e1{constructor(l){this.values=l.slice()}static parse(l){if(l instanceof e1)return l;if(typeof l=="string"){let p=dl.parse(l);if(!p)return;return new e1([p])}if(!Array.isArray(l))return;let c=[];for(let p of l){if(typeof p!="string")return;let d=dl.parse(p);if(!d)return;c.push(d)}return new e1(c)}toString(){return JSON.stringify(this.values)}static interpolate(l,c,p,d="rgb"){let a=[];if(l.values.length!=c.values.length)throw Error(`colorArray: Arrays have mismatched length (${l.values.length} vs. ${c.values.length}), cannot interpolate.`);for(let h=0;h<l.values.length;h++)a.push(dl.interpolate(l.values[h],c.values[h],p,d));return new e1(a)}}class Ll extends Error{constructor(l){super(l),this.name="RuntimeError"}toJSON(){return this.message}}let _u=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class j0{constructor(l){this.values=l.slice()}static parse(l){if(l instanceof j0)return l;if(Array.isArray(l)&&!(l.length<1)&&l.length%2==0){for(let c=0;c<l.length;c+=2){let p=l[c],d=l[c+1];if(typeof p!="string"||!_u.has(p))return;if(!Array.isArray(d)||d.length!==2||typeof d[0]!="number"||typeof d[1]!="number")return}return new j0(l)}}toString(){return JSON.stringify(this.values)}static interpolate(l,c,p){let d=l.values,a=c.values;if(d.length!==a.length)throw new Ll(`Cannot interpolate values of different length. from: ${l.toString()}, to: ${c.toString()}`);let h=[];for(let y=0;y=0&&l=0&&c=0&&p=0&&d<=1?null:`Invalid rgba value [${[l,c,p,d].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${(typeof d=="number"?[l,c,p,d]:[l,c,p]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function iu(l){if(l===null||typeof l=="string"||typeof l=="boolean"||typeof l=="number"||l instanceof M0||l instanceof dl||l instanceof R4||l instanceof Q0||l instanceof P0||l instanceof Yl||l instanceof e1||l instanceof j0||l instanceof w2)return!0;if(Array.isArray(l)){for(let c of l)if(!iu(c))return!1;return!0}if(typeof l=="object"){for(let c in l)if(!iu(l[c]))return!1;return!0}return!1}function _l(l){if(l===null)return $u;if(typeof l=="string")return cl;if(typeof l=="boolean")return vl;if(typeof l=="number")return H1;if(l instanceof dl)return y2;if(l instanceof M0)return tc;if(l instanceof R4)return q4;if(l instanceof Q0)return P4;if(l instanceof P0)return lr;if(l instanceof Yl)return M4;if(l instanceof e1)return E3;if(l instanceof j0)return B4;if(l instanceof w2)return n3;if(Array.isArray(l)){let c=l.length,p;for(let d of l){let a=_l(d);if(p){if(p===a)continue;p=pl;break}p=a}return L0(p||pl,c)}return Cu}function eu(l){let c=typeof l;return l===null?"":c==="string"||c==="number"||c==="boolean"?String(l):l instanceof dl||l instanceof M0||l instanceof Q0||l instanceof P0||l instanceof Yl||l instanceof e1||l instanceof j0||l instanceof w2?l.toString():JSON.stringify(l)}class t2{constructor(l,c){this.type=l,this.value=c}static parse(l,c){if(l.length!==2)return c.error(`'literal' expression requires exactly one argument, but found ${l.length-1} instead.`);if(!iu(l[1]))return c.error("invalid value");let p=l[1],d=_l(p),a=c.expectedType;return d.kind!=="array"||d.N!==0||!a||a.kind!=="array"||typeof a.N=="number"&&a.N!==0||(d=a),new t2(d,p)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}let I4={string:cl,number:H1,boolean:vl,object:Cu};class l2{constructor(l,c){this.type=l,this.args=c}static parse(l,c){if(l.length2){let A=l[1];if(typeof A!="string"||!(A in I4)||A==="object")return c.error('The item type argument of "array" must be one of string, number, boolean',1);y=I4[A],d++}else y=pl;if(l.length>3){if(l[2]!==null&&(typeof l[2]!="number"||l[2]<0||l[2]!==Math.floor(l[2])))return c.error('The length argument to "array" must be a positive integer literal',2);w=l[2],d++}p=L0(y,w)}else{if(!I4[a])throw Error(`Types doesn't contain name = ${a}`);p=I4[a]}let h=[];for(;d<l.length;d++){let y=c.parse(l[d],d,pl);if(!y)return null;h.push(y)}return new l2(p,h)}evaluate(l){for(let c=0;cl.outputDefined())}}let B5={"to-boolean":vl,"to-color":y2,"to-number":H1,"to-string":cl};class Nu{constructor(l,c){this.type=l,this.args=c}static parse(l,c){if(l.length<2)return c.error("Expected at least one argument.");let p=l[0];if(!B5[p])throw Error(`Can't parse ${p} as it is not part of the known types`);if((p==="to-boolean"||p==="to-string")&&l.length!==2)return c.error("Expected one argument.");let d=B5[p],a=[];for(let h=1;h<l.length;h++){let y=c.parse(l[h],h,pl);if(!y)return null;a.push(y)}return new Nu(d,a)}evaluate(l){switch(this.type.kind){case"boolean":return Boolean(this.args[0].evaluate(l));case"color":{let c,p;for(let d of this.args){if(c=d.evaluate(l),p=null,c instanceof dl)return c;if(typeof c=="string"){let a=l.parseColor(c);if(a)return a}else if(Array.isArray(c)&&(p=c.length4?`Invalid rgba value ${JSON.stringify(c)}: expected an array containing either three or four numeric values.`:L3(c[0],c[1],c[2],c[3]),!p))return new dl(c[0]/255,c[1]/255,c[2]/255,c[3])}throw new Ll(p||`Could not parse color from value '${typeof c=="string"?c:JSON.stringify(c)}'`)}case"padding":{let c;for(let p of this.args){c=p.evaluate(l);let d=P0.parse(c);if(d)return d}throw new Ll(`Could not parse padding from value '${typeof c=="string"?c:JSON.stringify(c)}'`)}case"numberArray":{let c;for(let p of this.args){c=p.evaluate(l);let d=Yl.parse(c);if(d)return d}throw new Ll(`Could not parse numberArray from value '${typeof c=="string"?c:JSON.stringify(c)}'`)}case"colorArray":{let c;for(let p of this.args){c=p.evaluate(l);let d=e1.parse(c);if(d)return d}throw new Ll(`Could not parse colorArray from value '${typeof c=="string"?c:JSON.stringify(c)}'`)}case"variableAnchorOffsetCollection":{let c;for(let p of this.args){c=p.evaluate(l);let d=j0.parse(c);if(d)return d}throw new Ll(`Could not parse variableAnchorOffsetCollection from value '${typeof c=="string"?c:JSON.stringify(c)}'`)}case"number":{let c=null;for(let p of this.args){if(c=p.evaluate(l),c===null)return 0;let d=Number(c);if(!isNaN(d))return d}throw new Ll(`Could not convert ${JSON.stringify(c)} to number.`)}case"formatted":return Q0.fromString(eu(this.args[0].evaluate(l)));case"resolvedImage":return w2.fromString(eu(this.args[0].evaluate(l)));case"projectionDefinition":return this.args[0].evaluate(l);default:return eu(this.args[0].evaluate(l))}}eachChild(l){this.args.forEach(l)}outputDefined(){return this.args.every((l)=>l.outputDefined())}}let np=["Unknown","Point","LineString","Polygon"];class dr{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,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"?np[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(l){let c=this._parseColorCache.get(l);return c||(c=dl.parse(l),this._parseColorCache.set(l,c)),c}}class tu{constructor(l,c,p=[],d,a=new ec,h=[]){this.registry=l,this.path=p,this.key=p.map((y)=>`[${y}]`).join(""),this.scope=a,this.errors=h,this.expectedType=d,this._isConstant=c}parse(l,c,p,d,a={}){return c?this.concat(c,p,d)._parse(l,a):this._parse(l,a)}_parse(l,c){function p(d,a,h){return h==="assert"?new l2(a,[d]):h==="coerce"?new Nu(a,[d]):d}if(l!==null&&typeof l!="string"&&typeof l!="boolean"&&typeof l!="number"||(l=["literal",l]),Array.isArray(l)){if(l.length===0)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');let d=l[0];if(typeof d!="string")return this.error(`Expression name must be a string, but found ${typeof d} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;let a=this.registry[d];if(a){let h=a.parse(l,this);if(!h)return null;if(this.expectedType){let y=this.expectedType,w=h.type;if(y.kind!=="string"&&y.kind!=="number"&&y.kind!=="boolean"&&y.kind!=="object"&&y.kind!=="array"||w.kind!=="value"){if(y.kind==="projectionDefinition"&&["string","array"].includes(w.kind)||["color","formatted","resolvedImage"].includes(y.kind)&&["value","string"].includes(w.kind)||["padding","numberArray"].includes(y.kind)&&["value","number","array"].includes(w.kind)||y.kind==="colorArray"&&["value","string","array"].includes(w.kind)||y.kind==="variableAnchorOffsetCollection"&&["value","array"].includes(w.kind))h=p(h,y,c.typeAnnotation||"coerce");else if(this.checkSubtype(y,w))return null}else h=p(h,y,c.typeAnnotation||"assert")}if(!(h instanceof t2)&&h.type.kind!=="resolvedImage"&&this._isConstant(h)){let y=new dr;try{h=new t2(h.type,h.evaluate(y))}catch(w){return this.error(w.message),null}}return h}return this.error(`Unknown expression "${d}". If you wanted a literal array, use ["literal", [...]].`,0)}return this.error(l===void 0?"'undefined' value invalid. Use null instead.":typeof l=="object"?'Bare objects invalid. Use ["literal", {...}] instead.':`Expected an array, but found ${typeof l} instead.`)}concat(l,c,p){let d=typeof l=="number"?this.path.concat(l):this.path,a=p?this.scope.concat(p):this.scope;return new tu(this.registry,this._isConstant,d,c||null,a,this.errors)}error(l,...c){let p=`${this.key}${c.map((d)=>`[${d}]`).join("")}`;this.errors.push(new s0(p,l))}checkSubtype(l,c){let p=A3(l,c);return p&&this.error(p),p}}class xl{constructor(l,c){this.type=c.type,this.bindings=[].concat(l),this.result=c}evaluate(l){return this.result.evaluate(l)}eachChild(l){for(let c of this.bindings)l(c[1]);l(this.result)}static parse(l,c){if(l.length<4)return c.error(`Expected at least 3 arguments, but found ${l.length-1} instead.`);let p=[];for(let a=1;a<l.length-1;a+=2){let h=l[a];if(typeof h!="string")return c.error(`Expected string, but found ${typeof h} instead.`,a);if(/[^a-zA-Z0-9_]/.test(h))return c.error("Variable names must contain only alphanumeric characters or '_'.",a);let y=c.parse(l[a+1],a+1);if(!y)return null;p.push([h,y])}let d=c.parse(l[l.length-1],l.length-1,c.expectedType,p);return d?new xl(p,d):null}outputDefined(){return this.result.outputDefined()}}class C3{constructor(l,c){this.type=c.type,this.name=l,this.boundExpression=c}static parse(l,c){if(l.length!==2||typeof l[1]!="string")return c.error("'var' expression requires exactly one string literal argument.");let p=l[1];return c.scope.has(p)?new C3(p,c.scope.get(p)):c.error(`Unknown variable "${p}". Make sure "${p}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(l){return this.boundExpression.evaluate(l)}eachChild(){}outputDefined(){return!1}}class yl{constructor(l,c,p){this.type=l,this.index=c,this.input=p}static parse(l,c){if(l.length!==3)return c.error(`Expected 2 arguments, but found ${l.length-1} instead.`);let p=c.parse(l[1],1,H1),d=c.parse(l[2],2,L0(c.expectedType||pl));return p&&d?new yl(d.type.itemType,p,d):null}evaluate(l){let c=this.index.evaluate(l),p=this.input.evaluate(l);if(c<0)throw new Ll(`Array index out of bounds: ${c} =p.length)throw new Ll(`Array index out of bounds: ${c} > ${p.length-1}.`);if(c!==Math.floor(c))throw new Ll(`Array index must be an integer, but found ${c} instead.`);return p[c]}eachChild(l){l(this.index),l(this.input)}outputDefined(){return!1}}class rl{constructor(l,c){this.type=vl,this.needle=l,this.haystack=c}static parse(l,c){if(l.length!==3)return c.error(`Expected 2 arguments, but found ${l.length-1} instead.`);let p=c.parse(l[1],1,pl),d=c.parse(l[2],2,pl);return p&&d?K4(p.type,[vl,cl,H1,$u,pl])?new rl(p,d):c.error(`Expected first argument to be of type boolean, string, number or null, but found ${Wl(p.type)} instead`):null}evaluate(l){let c=this.needle.evaluate(l),p=this.haystack.evaluate(l);if(!p)return!1;if(!q5(c,["boolean","string","number","null"]))throw new Ll(`Expected first argument to be of type boolean, string, number or null, but found ${Wl(_l(c))} instead.`);if(!q5(p,["string","array"]))throw new Ll(`Expected second argument to be of type array or string, but found ${Wl(_l(p))} instead.`);return p.indexOf(c)>=0}eachChild(l){l(this.needle),l(this.haystack)}outputDefined(){return!0}}class x3{constructor(l,c,p){this.type=H1,this.needle=l,this.haystack=c,this.fromIndex=p}static parse(l,c){if(l.length=5)return c.error(`Expected 2 or 3 arguments, but found ${l.length-1} instead.`);let p=c.parse(l[1],1,pl),d=c.parse(l[2],2,pl);if(!p||!d)return null;if(!K4(p.type,[vl,cl,H1,$u,pl]))return c.error(`Expected first argument to be of type boolean, string, number or null, but found ${Wl(p.type)} instead`);if(l.length===4){let a=c.parse(l[3],3,H1);return a?new x3(p,d,a):null}return new x3(p,d)}evaluate(l){let c=this.needle.evaluate(l),p=this.haystack.evaluate(l);if(!q5(c,["boolean","string","number","null"]))throw new Ll(`Expected first argument to be of type boolean, string, number or null, but found ${Wl(_l(c))} instead.`);let d;if(this.fromIndex&&(d=this.fromIndex.evaluate(l)),q5(p,["string"])){let a=p.indexOf(c,d);return a===-1?-1:[...p.slice(0,a)].length}if(q5(p,["array"]))return p.indexOf(c,d);throw new Ll(`Expected second argument to be of type array or string, but found ${Wl(_l(p))} instead.`)}eachChild(l){l(this.needle),l(this.haystack),this.fromIndex&&l(this.fromIndex)}outputDefined(){return!1}}class wl{constructor(l,c,p,d,a,h){this.inputType=l,this.type=c,this.input=p,this.cases=d,this.outputs=a,this.otherwise=h}static parse(l,c){if(l.length<5)return c.error(`Expected at least 4 arguments, but found only ${l.length-1}.`);if(l.length%2!=1)return c.error("Expected an even number of arguments.");let p,d;c.expectedType&&c.expectedType.kind!=="value"&&(d=c.expectedType);let a={},h=[];for(let A=2;ANumber.MAX_SAFE_INTEGER)return n.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if(typeof C=="number"&&Math.floor(C)!==C)return n.error("Numeric branch labels must be integer values.");if(p){if(n.checkSubtype(p,_l(C)))return null}else p=_l(C);if(a[String(C)]!==void 0)return n.error("Branch labels must be unique.");a[String(C)]=h.length}let q=c.parse(W,A,d);if(!q)return null;d=d||q.type,h.push(q)}let y=c.parse(l[1],1,pl);if(!y)return null;let w=c.parse(l[l.length-1],l.length-1,d);return w?y.type.kind!=="value"&&c.concat(1).checkSubtype(p,y.type)?null:new wl(p,d,y,a,h,w):null}evaluate(l){let c=this.input.evaluate(l);return(_l(c)===this.inputType&&this.outputs[this.cases[c]]||this.otherwise).evaluate(l)}eachChild(l){l(this.input),this.outputs.forEach(l),l(this.otherwise)}outputDefined(){return this.outputs.every((l)=>l.outputDefined())&&this.otherwise.outputDefined()}}class j2{constructor(l,c,p){this.type=l,this.branches=c,this.otherwise=p}static parse(l,c){if(l.length<4)return c.error(`Expected at least 3 arguments, but found only ${l.length-1}.`);if(l.length%2!=0)return c.error("Expected an odd number of arguments.");let p;c.expectedType&&c.expectedType.kind!=="value"&&(p=c.expectedType);let d=[];for(let h=1;hc.outputDefined())&&this.otherwise.outputDefined()}}class N3{constructor(l,c,p,d){this.type=l,this.input=c,this.beginIndex=p,this.endIndex=d}static parse(l,c){if(l.length=5)return c.error(`Expected 2 or 3 arguments, but found ${l.length-1} instead.`);let p=c.parse(l[1],1,pl),d=c.parse(l[2],2,H1);if(!p||!d)return null;if(!K4(p.type,[L0(pl),cl,pl]))return c.error(`Expected first argument to be of type array or string, but found ${Wl(p.type)} instead`);if(l.length===4){let a=c.parse(l[3],3,H1);return a?new N3(p.type,p,d,a):null}return new N3(p.type,p,d)}evaluate(l){let c=this.input.evaluate(l),p=this.beginIndex.evaluate(l),d;if(this.endIndex&&(d=this.endIndex.evaluate(l)),q5(c,["string"]))return[...c].slice(p,d).join("");if(q5(c,["array"]))return c.slice(p,d);throw new Ll(`Expected first argument to be of type array or string, but found ${Wl(_l(c))} instead.`)}eachChild(l){l(this.input),l(this.beginIndex),this.endIndex&&l(this.endIndex)}outputDefined(){return!1}}function K5(l,c){let p=l.length-1,d,a,h=0,y=p,w=0;for(;h<=y;)if(w=Math.floor((h+y)/2),d=l[w],a=l[w+1],d<=c){if(w===p||cc))throw new Ll("Input is not a number.");y=w-1}return 0}class F3{constructor(l,c,p){this.type=l,this.input=c,this.labels=[],this.outputs=[];for(let[d,a]of p)this.labels.push(d),this.outputs.push(a)}static parse(l,c){if(l.length-1<4)return c.error(`Expected at least 4 arguments, but found only ${l.length-1}.`);if((l.length-1)%2!=0)return c.error("Expected an even number of arguments.");let p=c.parse(l[1],1,H1);if(!p)return null;let d=[],a=null;c.expectedType&&c.expectedType.kind!=="value"&&(a=c.expectedType);for(let h=1;h=y)return c.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',A);let W=c.parse(w,k,a);if(!W)return null;a=a||W.type,d.push([y,W])}return new F3(a,p,d)}evaluate(l){let c=this.labels,p=this.outputs;if(c.length===1)return p[0].evaluate(l);let d=this.input.evaluate(l);if(d=c[a-1]?p[a-1].evaluate(l):p[K5(c,d)].evaluate(l)}eachChild(l){l(this.input);for(let c of this.outputs)l(c)}outputDefined(){return this.outputs.every((l)=>l.outputDefined())}}function t6(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Y4,Ap,l7=function(){if(Ap)return Y4;function l(c,p,d,a){this.cx=3*c,this.bx=3*(d-c)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*p,this.by=3*(a-p)-this.cy,this.ay=1-this.cy-this.by,this.p1x=c,this.p1y=p,this.p2x=d,this.p2y=a}return Ap=1,Y4=l,l.prototype={sampleCurveX:function(c){return((this.ax*c+this.bx)*c+this.cx)*c},sampleCurveY:function(c){return((this.ay*c+this.by)*c+this.cy)*c},sampleCurveDerivativeX:function(c){return(3*this.ax*c+2*this.bx)*c+this.cx},solveCurveX:function(c,p){if(p===void 0&&(p=0.000001),c1)return 1;for(var d=c,a=0;a<8;a++){var h=this.sampleCurveX(d)-c;if(Math.abs(h)<p)return d;var y=this.sampleCurveDerivativeX(d);if(Math.abs(y)<0.000001)break;d-=h/y}var w=0,A=1;for(d=c,a=0;a<20&&(h=this.sampleCurveX(d),!(Math.abs(h-c)

h?w=d:A=d,d=0.5*(A-w)+w;return d},solve:function(c,p){return this.sampleCurveY(this.solveCurveX(c,p))}},Y4}(),Vp=t6(l7);class c0{constructor(l,c,p,d,a){this.type=l,this.operator=c,this.interpolation=p,this.input=d,this.labels=[],this.outputs=[];for(let[h,y]of a)this.labels.push(h),this.outputs.push(y)}static interpolationFactor(l,c,p,d){let a=0;if(l.name==="exponential")a=S0(c,l.base,p,d);else if(l.name==="linear")a=S0(c,1,p,d);else if(l.name==="cubic-bezier"){let h=l.controlPoints;a=new Vp(h[0],h[1],h[2],h[3]).solve(S0(c,1,p,d))}return a}static parse(l,c){let[p,d,a,...h]=l;if(!Array.isArray(d)||d.length===0)return c.error("Expected an interpolation type expression.",1);if(d[0]==="linear")d={name:"linear"};else if(d[0]==="exponential"){let A=d[1];if(typeof A!="number")return c.error("Exponential interpolation requires a numeric base.",1,1);d={name:"exponential",base:A}}else{if(d[0]!=="cubic-bezier")return c.error(`Unknown interpolation type ${String(d[0])}`,1,0);{let A=d.slice(1);if(A.length!==4||A.some((k)=>typeof k!="number"||k1))return c.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);d={name:"cubic-bezier",controlPoints:A}}}if(l.length-1<4)return c.error(`Expected at least 4 arguments, but found only ${l.length-1}.`);if((l.length-1)%2!=0)return c.error("Expected an even number of arguments.");if(a=c.parse(a,2,H1),!a)return null;let y=[],w=null;p!=="interpolate-hcl"&&p!=="interpolate-lab"||c.expectedType==E3?c.expectedType&&c.expectedType.kind!=="value"&&(w=c.expectedType):w=y2;for(let A=0;A=k)return c.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',n);let C=c.parse(W,q,w);if(!C)return null;w=w||C.type,y.push([k,C])}return Q2(w,H1)||Q2(w,tc)||Q2(w,y2)||Q2(w,lr)||Q2(w,M4)||Q2(w,E3)||Q2(w,B4)||Q2(w,L0(H1))?new c0(w,p,d,a,y):c.error(`Type ${Wl(w)} is not interpolatable.`)}evaluate(l){let c=this.labels,p=this.outputs;if(c.length===1)return p[0].evaluate(l);let d=this.input.evaluate(l);if(d=c[a-1])return p[a-1].evaluate(l);let h=K5(c,d),y=c0.interpolationFactor(this.interpolation,d,c[h],c[h+1]),w=p[h].evaluate(l),A=p[h+1].evaluate(l);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return xu(w,A,y);case"color":return dl.interpolate(w,A,y);case"padding":return P0.interpolate(w,A,y);case"colorArray":return e1.interpolate(w,A,y);case"numberArray":return Yl.interpolate(w,A,y);case"variableAnchorOffsetCollection":return j0.interpolate(w,A,y);case"array":return M5(w,A,y);case"projectionDefinition":return M0.interpolate(w,A,y)}case"interpolate-hcl":switch(this.type.kind){case"color":return dl.interpolate(w,A,y,"hcl");case"colorArray":return e1.interpolate(w,A,y,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return dl.interpolate(w,A,y,"lab");case"colorArray":return e1.interpolate(w,A,y,"lab")}}}eachChild(l){l(this.input);for(let c of this.outputs)l(c)}outputDefined(){return this.outputs.every((l)=>l.outputDefined())}}function S0(l,c,p,d){let a=d-p,h=l-p;return a===0?0:c===1?h/a:(Math.pow(c,h)-1)/(Math.pow(c,a)-1)}let s2={color:dl.interpolate,number:xu,padding:P0.interpolate,numberArray:Yl.interpolate,colorArray:e1.interpolate,variableAnchorOffsetCollection:j0.interpolate,array:M5};class z4{constructor(l,c){this.type=l,this.args=c}static parse(l,c){if(l.lengthA3(d,y.type));return new z4(h?pl:p,a)}evaluate(l){let c,p=null,d=0;for(let a of this.args)if(d++,p=a.evaluate(l),p&&p instanceof w2&&!p.available&&(c||(c=p.name),p=null,d===this.args.length&&(p=c)),p!==null)break;return p}eachChild(l){this.args.forEach(l)}outputDefined(){return this.args.every((l)=>l.outputDefined())}}function O4(l,c){return l==="=="||l==="!="?c.kind==="boolean"||c.kind==="string"||c.kind==="number"||c.kind==="null"||c.kind==="value":c.kind==="string"||c.kind==="number"||c.kind==="value"}function h0(l,c,p,d){return d.compare(c,p)===0}function U5(l,c,p){let d=l!=="=="&&l!=="!=";return class a{constructor(h,y,w){this.type=vl,this.lhs=h,this.rhs=y,this.collator=w,this.hasUntypedArgument=h.type.kind==="value"||y.type.kind==="value"}static parse(h,y){if(h.length!==3&&h.length!==4)return y.error("Expected two or three arguments.");let w=h[0],A=y.parse(h[1],1,pl);if(!A)return null;if(!O4(w,A.type))return y.concat(1).error(`"${w}" comparisons are not supported for type '${Wl(A.type)}'.`);let k=y.parse(h[2],2,pl);if(!k)return null;if(!O4(w,k.type))return y.concat(2).error(`"${w}" comparisons are not supported for type '${Wl(k.type)}'.`);if(A.type.kind!==k.type.kind&&A.type.kind!=="value"&&k.type.kind!=="value")return y.error(`Cannot compare types '${Wl(A.type)}' and '${Wl(k.type)}'.`);d&&(A.type.kind==="value"&&k.type.kind!=="value"?A=new l2(k.type,[A]):A.type.kind!=="value"&&k.type.kind==="value"&&(k=new l2(A.type,[k])));let W=null;if(h.length===4){if(A.type.kind!=="string"&&k.type.kind!=="string"&&A.type.kind!=="value"&&k.type.kind!=="value")return y.error("Cannot use collator to compare non-string types.");if(W=y.parse(h[3],3,q4),!W)return null}return new a(A,k,W)}evaluate(h){let y=this.lhs.evaluate(h),w=this.rhs.evaluate(h);if(d&&this.hasUntypedArgument){let A=_l(y),k=_l(w);if(A.kind!==k.kind||A.kind!=="string"&&A.kind!=="number")throw new Ll(`Expected arguments for "${l}" to be (string, string) or (number, number), but found (${A.kind}, ${k.kind}) instead.`)}if(this.collator&&!d&&this.hasUntypedArgument){let A=_l(y),k=_l(w);if(A.kind!=="string"||k.kind!=="string")return c(h,y,w)}return this.collator?p(h,y,w,this.collator.evaluate(h)):c(h,y,w)}eachChild(h){h(this.lhs),h(this.rhs),this.collator&&h(this.collator)}outputDefined(){return!0}}}let u7=U5("==",function(l,c,p){return c===p},h0),Wp=U5("!=",function(l,c,p){return c!==p},function(l,c,p,d){return!h0(0,c,p,d)}),Lp=U5("<",function(l,c,p){return c<p},function(l,c,p,d){return d.compare(c,p)",function(l,c,p){return c>p},function(l,c,p,d){return d.compare(c,p)>0}),mr=U5("<=",function(l,c,p){return c<=p},function(l,c,p,d){return d.compare(c,p)=",function(l,c,p){return c>=p},function(l,c,p,d){return d.compare(c,p)>=0});class G4{constructor(l,c,p){this.type=q4,this.locale=p,this.caseSensitive=l,this.diacriticSensitive=c}static parse(l,c){if(l.length!==2)return c.error("Expected one argument.");let p=l[1];if(typeof p!="object"||Array.isArray(p))return c.error("Collator options argument must be an object.");let d=c.parse(p["case-sensitive"]!==void 0&&p["case-sensitive"],1,vl);if(!d)return null;let a=c.parse(p["diacritic-sensitive"]!==void 0&&p["diacritic-sensitive"],1,vl);if(!a)return null;let h=null;return p.locale&&(h=c.parse(p.locale,1,cl),!h)?null:new G4(d,a,h)}evaluate(l){return new R4(this.caseSensitive.evaluate(l),this.diacriticSensitive.evaluate(l),this.locale?this.locale.evaluate(l):null)}eachChild(l){l(this.caseSensitive),l(this.diacriticSensitive),this.locale&&l(this.locale)}outputDefined(){return!1}}class gr{constructor(l,c,p,d,a,h){this.type=cl,this.number=l,this.locale=c,this.currency=p,this.unit=d,this.minFractionDigits=a,this.maxFractionDigits=h}static parse(l,c){if(l.length!==3)return c.error("Expected two arguments.");let p=c.parse(l[1],1,H1);if(!p)return null;let d=l[2];if(typeof d!="object"||Array.isArray(d))return c.error("NumberFormat options argument must be an object.");let a=null;if(d.locale&&(a=c.parse(d.locale,1,cl),!a))return null;let h=null;if(d.currency&&(h=c.parse(d.currency,1,cl),!h))return null;let y=null;if(d.unit&&(y=c.parse(d.unit,1,cl),!y))return null;if(h&&y)return c.error("NumberFormat options `currency` and `unit` are mutually exclusive");let w=null;if(d["min-fraction-digits"]&&(w=c.parse(d["min-fraction-digits"],1,H1),!w))return null;let A=null;return d["max-fraction-digits"]&&(A=c.parse(d["max-fraction-digits"],1,H1),!A)?null:new gr(p,a,h,y,w,A)}evaluate(l){return new Intl.NumberFormat(this.locale?this.locale.evaluate(l):[],{style:this.currency?"currency":this.unit?"unit":"decimal",currency:this.currency?this.currency.evaluate(l):void 0,unit:this.unit?this.unit.evaluate(l):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(l):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(l):void 0}).format(this.number.evaluate(l))}eachChild(l){l(this.number),this.locale&&l(this.locale),this.currency&&l(this.currency),this.unit&&l(this.unit),this.minFractionDigits&&l(this.minFractionDigits),this.maxFractionDigits&&l(this.maxFractionDigits)}outputDefined(){return!1}}class D5{constructor(l){this.type=P4,this.sections=l}static parse(l,c){if(l.length<2)return c.error("Expected at least one argument.");let p=l[1];if(!Array.isArray(p)&&typeof p=="object")return c.error("First argument must be an image or text section.");let d=[],a=!1;for(let h=1;h{let p=c.content.evaluate(l);return _l(p)===n3?new H4("",p,null,null,null,c.verticalAlign?c.verticalAlign.evaluate(l):null):new H4(eu(p),null,c.scale?c.scale.evaluate(l):null,c.font?c.font.evaluate(l).join(","):null,c.textColor?c.textColor.evaluate(l):null,c.verticalAlign?c.verticalAlign.evaluate(l):null)}))}eachChild(l){for(let c of this.sections)l(c.content),c.scale&&l(c.scale),c.font&&l(c.font),c.textColor&&l(c.textColor),c.verticalAlign&&l(c.verticalAlign)}outputDefined(){return!1}}class P3{constructor(l){this.type=n3,this.input=l}static parse(l,c){if(l.length!==2)return c.error("Expected two arguments.");let p=c.parse(l[1],1,cl);return p?new P3(p):c.error("No image name provided.")}evaluate(l){let c=this.input.evaluate(l),p=w2.fromString(c);return p&&l.availableImages&&(p.available=l.availableImages.indexOf(c)>-1),p}eachChild(l){l(this.input)}outputDefined(){return!1}}class S2{constructor(l){this.type=H1,this.input=l}static parse(l,c){if(l.length!==2)return c.error(`Expected 1 argument, but found ${l.length-1} instead.`);let p=c.parse(l[1],1);return p?p.type.kind!=="array"&&p.type.kind!=="string"&&p.type.kind!=="value"?c.error(`Expected argument of type string or array, but found ${Wl(p.type)} instead.`):new S2(p):null}evaluate(l){let c=this.input.evaluate(l);if(typeof c=="string")return[...c].length;if(Array.isArray(c))return c.length;throw new Ll(`Expected value to be of type string or array, but found ${Wl(_l(c))} instead.`)}eachChild(l){l(this.input)}outputDefined(){return!1}}let F2=8192;function vr(l,c){let p=(180+l[0])/360,d=(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+l[1]*Math.PI/360)))/360,a=Math.pow(2,c.z);return[Math.round(p*a*F2),Math.round(d*a*F2)]}function r7(l,c){let p=Math.pow(2,c.z);return[(a=(l[0]/F2+c.x)/p,360*a-180),(d=(l[1]/F2+c.y)/p,360/Math.PI*Math.atan(Math.exp((180-360*d)*Math.PI/180))-90)];var d,a}function l5(l,c){l[0]=Math.min(l[0],c[0]),l[1]=Math.min(l[1],c[1]),l[2]=Math.max(l[2],c[0]),l[3]=Math.max(l[3],c[1])}function Q4(l,c){return!(l[0]=c[2]||l[1]=c[3])}function Cp(l,c,p){let d=l[0]-c[0],a=l[1]-c[1],h=l[0]-p[0],y=l[1]-p[1];return d*y-h*a==0&&d*h<=0&&a*y<=0}function ar(l,c,p,d){return(a=[d[0]-p[0],d[1]-p[1]])[0]*(h=[c[0]-l[0],c[1]-l[1]])[1]-a[1]*h[0]!=0&&!(!Fp(l,c,p,d)||!Fp(p,d,l,c));var a,h}function md(l,c,p){for(let d of p)for(let a=0;a<d.length-1;++a)if(ar(l,c,d[a],d[a+1]))return!0;return!1}function Fu(l,c,p=!1){let d=!1;for(let w of c)for(let A=0;A(a=l)[1]!=(y=w[A+1])[1]>a[1]&&a[0]<(y[0]-h[0])*(a[1]-h[1])/(y[1]-h[1])+h[0]&&(d=!d)}var a,h,y;return d}function xp(l,c){for(let p of c)if(Fu(l,p))return!0;return!1}function p7(l,c){for(let p of l)if(!Fu(p,c))return!1;for(let p=0;p0&&w<0||y0}function or(l,c,p){let d=[];for(let a=0;a<l.length;a++){let h=[];for(let y=0;y<l[a].length;y++){let w=vr(l[a][y],p);l5(c,w),h.push(w)}d.push(h)}return d}function qp(l,c,p){let d=[];for(let a=0;a<l.length;a++){let h=or(l[a],c,p);d.push(h)}return d}function Pp(l,c,p,d){if(l[0]

p[2]){let a=0.5*d,h=l[0]-p[0]>a?-d:p[0]-l[0]>a?d:0;h===0&&(h=l[0]-p[2]>a?-d:p[2]-l[0]>a?d:0),l[0]+=h}l5(c,l)}function Mp(l,c,p,d){let a=Math.pow(2,d.z)*F2,h=[d.x*F2,d.y*F2],y=[];for(let w of l)for(let A of w){let k=[A.x+h[0],A.y+h[1]];Pp(k,c,p,a),y.push(k)}return y}function Bp(l,c,p,d){let a=Math.pow(2,d.z)*F2,h=[d.x*F2,d.y*F2],y=[];for(let A of l){let k=[];for(let W of A){let n=[W.x+h[0],W.y+h[1]];l5(c,n),k.push(n)}y.push(k)}if(c[2]-c[0]pd?1:0){if(this.data=l,this.length=this.data.length,this.compare=c,this.length>0)for(let p=(this.length>>1)-1;p>=0;p--)this._down(p)}push(l){this.data.push(l),this._up(this.length++)}pop(){if(this.length===0)return;let l=this.data[0],c=this.data.pop();return--this.length>0&&(this.data[0]=c,this._down(0)),l}peek(){return this.data[0]}_up(l){let{data:c,compare:p}=this,d=c[l];for(;l>0;){let a=l-1>>1,h=c[a];if(p(d,h)>=0)break;c[l]=h,l=a}c[l]=d}_down(l){let{data:c,compare:p}=this,d=this.length>>1,a=c[l];for(;l<d;){let h=1+(l<<1),y=h+1;if(y<this.length&&p(c[y],c[h])=0)break;c[l]=c[h],l=h}c[l]=a}};function d7(l,c,p=0,d=l.length-1,a=gd){for(;d>p;){if(d-p>600){let A=d-p+1,k=c-p+1,W=Math.log(A),n=0.5*Math.exp(2*W/3),q=0.5*Math.sqrt(W*n*(A-n)/A)*(k-A/20&&M3(l,p,d);y<w;){for(M3(l,y,w),y++,w--;a(l[y],h)0;)w--}a(l[p],h)===0?M3(l,p,w):(w++,M3(l,w,d)),w<=c&&(p=w+1),c<=w&&(d=w-1)}}function M3(l,c,p){let d=l[c];l[c]=l[p],l[p]=d}function gd(l,c){return lc?1:0}function hr(l,c){if(l.length<=1)return[l];let p=[],d,a;for(let h of l){let y=ad(h);y!==0&&(h.area=Math.abs(y),a===void 0&&(a=y<0),a===y1)for(let h=0;h<p.length;h++)p[h].length<=c||(d7(p[h],c,1,p[h].length-1,vd),p[h]=p[h].slice(0,c));return p}function vd(l,c){return c.area-l.area}function ad(l){let c=0;for(let p,d,a=0,h=l.length,y=h-1;a<h;y=a++)p=l[a],d=l[y],c+=(d.x-p.x)*(p.y+d.y);return c}let j4=0.0033528106647474805,Kp=j4*(2-j4),Up=Math.PI/180;class yr{constructor(l){let c=6378.137*Up*1000,p=Math.cos(l*Up),d=1/(1-Kp*(1-p*p)),a=Math.sqrt(d);this.kx=c*a*p,this.ky=c*a*d*(1-Kp)}distance(l,c){let p=this.wrap(l[0]-c[0])*this.kx,d=(l[1]-c[1])*this.ky;return Math.sqrt(p*p+d*d)}pointOnLine(l,c){let p,d,a,h,y=1/0;for(let w=0;w1?(A=l[w+1][0],k=l[w+1][1]):q>0&&(A+=W/this.kx*q,k+=n/this.ky*q)),W=this.wrap(c[0]-A)*this.kx,n=(c[1]-k)*this.ky;let C=W*W+n*n;C<y&&(y=C,p=A,d=k,a=w,h=q)}return{point:[p,d],index:a,t:Math.max(0,Math.min(1,h))}}wrap(l){for(;l180;)l-=360;return l}}function Dp(l,c){return c[0]-l[0]}function B3(l){return l[1]-l[0]+1}function lu(l,c){return l[1]>=l[0]&&l[1]l[1])return[null,null];let p=B3(l);if(c){if(p===2)return[l,null];let a=Math.floor(p/2);return[[l[0],l[0]+a],[l[0]+a,l[1]]]}if(p===1)return[l,null];let d=Math.floor(p/2)-1;return[[l[0],l[0]+d],[l[0]+d+1,l[1]]]}function g7(l,c){if(!lu(c,l.length))return[1/0,1/0,-1/0,-1/0];let p=[1/0,1/0,-1/0,-1/0];for(let d=c[0];d<=c[1];++d)l5(p,l[d]);return p}function wr(l){let c=[1/0,1/0,-1/0,-1/0];for(let p of l)for(let d of p)l5(c,d);return c}function v7(l){return l[0]!==-1/0&&l[1]!==-1/0&&l[2]!==1/0&&l[3]!==1/0}function a7(l,c,p){if(!v7(l)||!v7(c))return NaN;let d=0,a=0;return l[2]c[2]&&(d=l[0]-c[2]),l[1]>c[3]&&(a=l[1]-c[3]),l[3]<c[1]&&(a=c[1]-l[3]),p.distance([0,0],[d,a])}function H5(l,c,p){let d=p.pointOnLine(c,l);return p.distance(l,d.point)}function o7(l,c,p,d,a){let h=Math.min(H5(l,[p,d],a),H5(c,[p,d],a)),y=Math.min(H5(p,[l,c],a),H5(d,[l,c],a));return Math.min(h,y)}function Rp(l,c,p,d,a){if(!lu(c,l.length)||!lu(d,p.length))return 1/0;let h=1/0;for(let y=c[0];y<c[1];++y){let w=l[y],A=l[y+1];for(let k=d[0];k<d[1];++k){let W=p[k],n=p[k+1];if(ar(w,A,W,n))return 0;h=Math.min(h,o7(w,A,W,n,a))}}return h}function od(l,c,p,d,a){if(!lu(c,l.length)||!lu(d,p.length))return NaN;let h=1/0;for(let y=c[0];y<=c[1];++y)for(let w=d[0];w<=d[1];++w)if(h=Math.min(h,a.distance(l[y],p[w])),h===0)return h;return h}function Hp(l,c,p){if(Fu(l,c,!0))return 0;let d=1/0;for(let a of c){let h=a[0],y=a[a.length-1];if(h!==y&&(d=Math.min(d,H5(l,[y,h],p)),d===0))return d;let w=p.pointOnLine(a,l);if(d=Math.min(d,p.distance(l,w.point)),d===0)return d}return d}function hd(l,c,p,d){if(!lu(c,l.length))return NaN;for(let h=c[0];h<=c[1];++h)if(Fu(l[h],p,!0))return 0;let a=1/0;for(let h=c[0];h<c[1];++h){let y=l[h],w=l[h+1];for(let A of p)for(let k=0,W=A.length,n=W-1;k=d)return d;if(Q4(a,h)){if(h7(l,c))return 0}else if(h7(c,l))return 0;let y=1/0;for(let w of l)for(let A=0,k=w.length,W=k-1;A<k;W=A++){let n=w[W],q=w[A];for(let C of c)for(let B=0,M=C.length,D=M-1;B<M;D=B++){let I=C[D],O=C[B];if(ar(n,q,I,O))return 0;y=Math.min(y,o7(n,q,I,O,p))}}return y}function y7(l,c,p,d,a,h){if(!h)return;let y=a7(g7(d,h),a,p);y<c&&l.push([y,h,[0,0]])}function J4(l,c,p,d,a,h,y){if(!h||!y)return;let w=a7(g7(d,h),g7(a,y),p);w0;){let A=y.pop();if(A[0]>=h)continue;let k=A[1],W=c?50:100;if(B3(k)<=W){if(!lu(k,l.length))return NaN;if(c){let n=hd(l,k,p,d);if(isNaN(n)||n===0)return n;h=Math.min(h,n)}else for(let n=k[0];n0;){let A=w.pop();if(A[0]>=y)continue;let k=A[1],W=A[2],n=c?50:100,q=d?50:100;if(B3(k)<=n&&B3(W)<=q){if(!lu(k,l.length)&&lu(W,p.length))return NaN;let C;if(c&&d)C=Rp(l,k,p,W,a),y=Math.min(y,C);else if(c&&!d){let B=l.slice(k[0],k[1]+1);for(let M=W[0];M<=W[1];++M)if(C=H5(p[M],B,a),y=Math.min(y,C),y===0)return y}else if(!c&&d){let B=p.slice(W[0],W[1]+1);for(let M=k[0];M({type:"Polygon",coordinates:c})):l.type==="MultiLineString"?l.coordinates.map((c)=>({type:"LineString",coordinates:c})):l.type==="MultiPoint"?l.coordinates.map((c)=>({type:"Point",coordinates:c})):[l]}class u5{constructor(l,c){this.type=H1,this.geojson=l,this.geometries=c}static parse(l,c){if(l.length!==2)return c.error(`'distance' expression requires exactly one argument, but found ${l.length-1} instead.`);if(iu(l[1])){let p=l[1];if(p.type==="FeatureCollection")return new u5(p,p.features.map((d)=>sr(d.geometry)).flat());if(p.type==="Feature")return new u5(p,sr(p.geometry));if("type"in p&&"coordinates"in p)return new u5(p,sr(p))}return c.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(l){if(l.geometry()!=null&&l.canonicalID()!=null){if(l.geometryType()==="Point")return function(c,p){let d=c.geometry(),a=d.flat().map((w)=>r7([w.x,w.y],c.canonical));if(d.length===0)return NaN;let h=new yr(a[0][1]),y=1/0;for(let w of p){switch(w.type){case"Point":y=Math.min(y,T4(a,!1,[w.coordinates],!1,h,y));break;case"LineString":y=Math.min(y,T4(a,!1,w.coordinates,!0,h,y));break;case"Polygon":y=Math.min(y,X4(a,!1,w.coordinates,h,y))}if(y===0)return y}return y}(l,this.geometries);if(l.geometryType()==="LineString")return function(c,p){let d=c.geometry(),a=d.flat().map((w)=>r7([w.x,w.y],c.canonical));if(d.length===0)return NaN;let h=new yr(a[0][1]),y=1/0;for(let w of p){switch(w.type){case"Point":y=Math.min(y,T4(a,!0,[w.coordinates],!1,h,y));break;case"LineString":y=Math.min(y,T4(a,!0,w.coordinates,!0,h,y));break;case"Polygon":y=Math.min(y,X4(a,!0,w.coordinates,h,y))}if(y===0)return y}return y}(l,this.geometries);if(l.geometryType()==="Polygon")return function(c,p){let d=c.geometry();if(d.length===0||d[0].length===0)return NaN;let a=hr(d,0).map((w)=>w.map((A)=>A.map((k)=>r7([k.x,k.y],c.canonical)))),h=new yr(a[0][0][0][1]),y=1/0;for(let w of p)for(let A of a){switch(w.type){case"Point":y=Math.min(y,X4([w.coordinates],!1,A,h,y));break;case"LineString":y=Math.min(y,X4(w.coordinates,!0,A,h,y));break;case"Polygon":y=Math.min(y,kl(A,w.coordinates,h,y))}if(y===0)return y}return y}(l,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class K3{constructor(l){this.type=pl,this.key=l}static parse(l,c){if(l.length!==2)return c.error(`Expected 1 argument, but found ${l.length-1} instead.`);let p=l[1];return p==null?c.error("Global state property must be defined."):typeof p!="string"?c.error(`Global state property must be string, but found ${typeof l[1]} instead.`):new K3(p)}evaluate(l){var c;let p=(c=l.globals)===null||c===void 0?void 0:c.globalState;return p&&Object.keys(p).length!==0?U4(p,this.key):null}eachChild(){}outputDefined(){return!1}}let I5={"==":u7,"!=":Wp,">":q3,"=":c7,"!Array.isArray(A)||A.length===l.length-1),w=null;for(let[A,k]of y){w=new tu(c.registry,Z4,c.path,null,c.scope);let W=[],n=!1;for(let q=1;q<l.length;q++){let C=l[q],B=Array.isArray(A)?A[q-1]:A.type,M=w.parse(C,1+W.length,B);if(!M){n=!0;break}W.push(M)}if(!n)if(Array.isArray(A)&&A.length!==W.length)w.error(`Expected ${A.length} arguments, but found ${W.length} instead.`);else{for(let q=0;q{return n=W,Array.isArray(n)?`(${n.map(Wl).join(", ")})`:`(${Wl(n.type)}...)`;var n}).join(" | "),k=[];for(let W=1;W{p=c?p&&Z4(d):p&&d instanceof t2}),!!p&&b4(l)&&$4(l,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function b4(l){if(l instanceof k2){if(l.name==="get"&&l.args.length===1)return!1;if(l.name==="feature-state")return!1;if(l.name==="has"&&l.args.length===1)return!1;if(l.name==="properties"||l.name==="geometry-type"||l.name==="id")return!1;if(/^filter-/.test(l.name))return!1}if(l instanceof R5)return!1;if(l instanceof u5)return!1;let c=!0;return l.eachChild((p)=>{c&&!b4(p)&&(c=!1)}),c}function U3(l){if(l instanceof k2&&l.name==="feature-state")return!1;let c=!0;return l.eachChild((p)=>{c&&!U3(p)&&(c=!1)}),c}function $4(l,c){if(l instanceof k2&&c.indexOf(l.name)>=0)return!1;let p=!0;return l.eachChild((d)=>{p&&!$4(d,c)&&(p=!1)}),p}function S7(l){return{result:"success",value:l}}function Y5(l){return{result:"error",value:l}}function z5(l){return l["property-type"]==="data-driven"||l["property-type"]==="cross-faded-data-driven"}function k7(l){return!!l.expression&&l.expression.parameters.indexOf("zoom")>-1}function kr(l){return!!l.expression&&l.expression.interpolated}function ml(l){return l instanceof Number?"number":l instanceof String?"string":l instanceof Boolean?"boolean":Array.isArray(l)?"array":l===null?"null":typeof l}function _4(l){return typeof l=="object"&&l!==null&&!Array.isArray(l)&&_l(l)===Cu}function Ip(l){return l}function E7(l,c){let p=l.stops&&typeof l.stops[0][0]=="object",d=p||!(p||l.property!==void 0),a=l.type||(kr(c)?"exponential":"interval"),h=function(W){switch(W.type){case"color":return dl.parse;case"padding":return P0.parse;case"numberArray":return Yl.parse;case"colorArray":return e1.parse;default:return null}}(c);if(h&&((l=bu({},l)).stops&&(l.stops=l.stops.map((W)=>[W[0],h(W[1])])),l.default=h(l.default?l.default:c.default)),l.colorSpace&&(y=l.colorSpace)!=="rgb"&&y!=="hcl"&&y!=="lab")throw Error(`Unknown color space: "${l.colorSpace}"`);var y;let w=function(W){switch(W){case"exponential":return n7;case"interval":return zp;case"categorical":return Yp;case"identity":return Op;default:throw Error(`Unknown function type "${W}"`)}}(a),A,k;if(a==="categorical"){A=Object.create(null);for(let W of l.stops)A[W[0]]=W[1];k=typeof l.stops[0][0]}if(p){let W={},n=[];for(let B=0;BB[0]),evaluate:({zoom:B},M)=>n7({stops:q,base:l.base},c,B).evaluate(B,M)}}if(d){let W=a==="exponential"?{name:"exponential",base:l.base!==void 0?l.base:1}:null;return{kind:"camera",interpolationType:W,interpolationFactor:c0.interpolationFactor.bind(void 0,W),zoomStops:l.stops.map((n)=>n[0]),evaluate:({zoom:n})=>w(l,c,n,A,k)}}return{kind:"source",evaluate(W,n){let q=n&&n.properties?n.properties[l.property]:void 0;return q===void 0?D3(l.default,c.default):w(l,c,q,A,k)}}}function D3(l,c,p){return l!==void 0?l:c!==void 0?c:p!==void 0?p:void 0}function Yp(l,c,p,d,a){return D3(typeof p===a?d[p]:void 0,l.default,c.default)}function zp(l,c,p){if(ml(p)!=="number")return D3(l.default,c.default);let d=l.stops.length;if(d===1)return l.stops[0][1];if(p=l.stops[d-1][0])return l.stops[d-1][1];let a=K5(l.stops.map((h)=>h[0]),p);return l.stops[a][1]}function n7(l,c,p){let d=l.base!==void 0?l.base:1;if(ml(p)!=="number")return D3(l.default,c.default);let a=l.stops.length;if(a===1)return l.stops[0][1];if(p=l.stops[a-1][0])return l.stops[a-1][1];let h=K5(l.stops.map((W)=>W[0]),p),y=function(W,n,q,C){let B=C-q,M=W-q;return B===0?0:n===1?M/B:(Math.pow(n,M)-1)/(Math.pow(n,B)-1)}(p,d,l.stops[h][0],l.stops[h+1][0]),w=l.stops[h][1],A=l.stops[h+1][1],k=s2[c.type]||Ip;return typeof w.evaluate=="function"?{evaluate(...W){let n=w.evaluate.apply(void 0,W),q=A.evaluate.apply(void 0,W);if(n!==void 0&&q!==void 0)return k(n,q,y,l.colorSpace)}}:k(w,A,y,l.colorSpace)}function Op(l,c,p){switch(c.type){case"color":p=dl.parse(p);break;case"formatted":p=Q0.fromString(p.toString());break;case"resolvedImage":p=w2.fromString(p.toString());break;case"padding":p=P0.parse(p);break;case"colorArray":p=e1.parse(p);break;case"numberArray":p=Yl.parse(p);break;default:ml(p)===c.type||c.type==="enum"&&c.values[p]||(p=void 0)}return D3(p,l.default,c.default)}k2.register(I5,{error:[{kind:"error"},[cl],(l,[c])=>{throw new Ll(c.evaluate(l))}],typeof:[cl,[pl],(l,[c])=>Wl(_l(c.evaluate(l)))],"to-rgba":[L0(H1,4),[y2],(l,[c])=>{let[p,d,a,h]=c.evaluate(l).rgb;return[255*p,255*d,255*a,h]}],rgb:[y2,[H1,H1,H1],w7],rgba:[y2,[H1,H1,H1,H1],w7],has:{type:vl,overloads:[[[cl],(l,[c])=>s7(c.evaluate(l),l.properties())],[[cl,Cu],(l,[c,p])=>s7(c.evaluate(l),p.evaluate(l))]]},get:{type:pl,overloads:[[[cl],(l,[c])=>Sr(c.evaluate(l),l.properties())],[[cl,Cu],(l,[c,p])=>Sr(c.evaluate(l),p.evaluate(l))]]},"feature-state":[pl,[cl],(l,[c])=>Sr(c.evaluate(l),l.featureState||{})],properties:[Cu,[],(l)=>l.properties()],"geometry-type":[cl,[],(l)=>l.geometryType()],id:[pl,[],(l)=>l.id()],zoom:[H1,[],(l)=>l.globals.zoom],"heatmap-density":[H1,[],(l)=>l.globals.heatmapDensity||0],elevation:[H1,[],(l)=>l.globals.elevation||0],"line-progress":[H1,[],(l)=>l.globals.lineProgress||0],accumulated:[pl,[],(l)=>l.globals.accumulated===void 0?null:l.globals.accumulated],"+":[H1,c5(H1),(l,c)=>{let p=0;for(let d of c)p+=d.evaluate(l);return p}],"*":[H1,c5(H1),(l,c)=>{let p=1;for(let d of c)p*=d.evaluate(l);return p}],"-":{type:H1,overloads:[[[H1,H1],(l,[c,p])=>c.evaluate(l)-p.evaluate(l)],[[H1],(l,[c])=>-c.evaluate(l)]]},"/":[H1,[H1,H1],(l,[c,p])=>c.evaluate(l)/p.evaluate(l)],"%":[H1,[H1,H1],(l,[c,p])=>c.evaluate(l)%p.evaluate(l)],ln2:[H1,[],()=>Math.LN2],pi:[H1,[],()=>Math.PI],e:[H1,[],()=>Math.E],"^":[H1,[H1,H1],(l,[c,p])=>Math.pow(c.evaluate(l),p.evaluate(l))],sqrt:[H1,[H1],(l,[c])=>Math.sqrt(c.evaluate(l))],log10:[H1,[H1],(l,[c])=>Math.log(c.evaluate(l))/Math.LN10],ln:[H1,[H1],(l,[c])=>Math.log(c.evaluate(l))],log2:[H1,[H1],(l,[c])=>Math.log(c.evaluate(l))/Math.LN2],sin:[H1,[H1],(l,[c])=>Math.sin(c.evaluate(l))],cos:[H1,[H1],(l,[c])=>Math.cos(c.evaluate(l))],tan:[H1,[H1],(l,[c])=>Math.tan(c.evaluate(l))],asin:[H1,[H1],(l,[c])=>Math.asin(c.evaluate(l))],acos:[H1,[H1],(l,[c])=>Math.acos(c.evaluate(l))],atan:[H1,[H1],(l,[c])=>Math.atan(c.evaluate(l))],min:[H1,c5(H1),(l,c)=>Math.min(...c.map((p)=>p.evaluate(l)))],max:[H1,c5(H1),(l,c)=>Math.max(...c.map((p)=>p.evaluate(l)))],abs:[H1,[H1],(l,[c])=>Math.abs(c.evaluate(l))],round:[H1,[H1],(l,[c])=>{let p=c.evaluate(l);return pMath.floor(c.evaluate(l))],ceil:[H1,[H1],(l,[c])=>Math.ceil(c.evaluate(l))],"filter-==":[vl,[cl,pl],(l,[c,p])=>l.properties()[c.value]===p.value],"filter-id-==":[vl,[pl],(l,[c])=>l.id()===c.value],"filter-type-==":[vl,[cl],(l,[c])=>l.geometryType()===c.value],"filter-{let d=l.properties()[c.value],a=p.value;return typeof d==typeof a&&d<a}],"filter-id-{let p=l.id(),d=c.value;return typeof p==typeof d&&p":[vl,[cl,pl],(l,[c,p])=>{let d=l.properties()[c.value],a=p.value;return typeof d==typeof a&&d>a}],"filter-id->":[vl,[pl],(l,[c])=>{let p=l.id(),d=c.value;return typeof p==typeof d&&p>d}],"filter-{let d=l.properties()[c.value],a=p.value;return typeof d==typeof a&&d<=a}],"filter-id-{let p=l.id(),d=c.value;return typeof p==typeof d&&p=":[vl,[cl,pl],(l,[c,p])=>{let d=l.properties()[c.value],a=p.value;return typeof d==typeof a&&d>=a}],"filter-id->=":[vl,[pl],(l,[c])=>{let p=l.id(),d=c.value;return typeof p==typeof d&&p>=d}],"filter-has":[vl,[pl],(l,[c])=>(c.value in l.properties())],"filter-has-id":[vl,[],(l)=>l.id()!==null&&l.id()!==void 0],"filter-type-in":[vl,[L0(cl)],(l,[c])=>c.value.indexOf(l.geometryType())>=0],"filter-id-in":[vl,[L0(pl)],(l,[c])=>c.value.indexOf(l.id())>=0],"filter-in-small":[vl,[cl,L0(pl)],(l,[c,p])=>p.value.indexOf(l.properties()[c.value])>=0],"filter-in-large":[vl,[cl,L0(pl)],(l,[c,p])=>function(d,a,h,y){for(;h>1;if(a[w]===d)return!0;a[w]>d?y=w-1:h=w+1}return!1}(l.properties()[c.value],p.value,0,p.value.length-1)],all:{type:vl,overloads:[[[vl,vl],(l,[c,p])=>c.evaluate(l)&&p.evaluate(l)],[c5(vl),(l,c)=>{for(let p of c)if(!p.evaluate(l))return!1;return!0}]]},any:{type:vl,overloads:[[[vl,vl],(l,[c,p])=>c.evaluate(l)||p.evaluate(l)],[c5(vl),(l,c)=>{for(let p of c)if(p.evaluate(l))return!0;return!1}]]},"!":[vl,[vl],(l,[c])=>!c.evaluate(l)],"is-supported-script":[vl,[cl],(l,[c])=>{let p=l.globals&&l.globals.isSupportedScript;return!p||p(c.evaluate(l))}],upcase:[cl,[cl],(l,[c])=>c.evaluate(l).toUpperCase()],downcase:[cl,[cl],(l,[c])=>c.evaluate(l).toLowerCase()],concat:[cl,c5(pl),(l,c)=>c.map((p)=>eu(p.evaluate(l))).join("")],split:[L0(cl),[cl,cl],(l,[c,p])=>c.evaluate(l).split(p.evaluate(l))],join:[cl,[L0(cl),cl],(l,[c,p])=>c.evaluate(l).join(p.evaluate(l))],"resolved-locale":[cl,[q4],(l,[c])=>c.evaluate(l).resolvedLocale()]});class O5{constructor(l,c,p){this.expression=l,this._warningHistory={},this._evaluator=new dr,this._defaultValue=c?function(d){if(d.type==="color"&&_4(d.default))return new dl(0,0,0,0);switch(d.type){case"color":return dl.parse(d.default)||null;case"padding":return P0.parse(d.default)||null;case"numberArray":return Yl.parse(d.default)||null;case"colorArray":return e1.parse(d.default)||null;case"variableAnchorOffsetCollection":return j0.parse(d.default)||null;case"projectionDefinition":return M0.parse(d.default)||null;default:return d.default===void 0?null:d.default}}(c):null,this._enumValues=c&&c.type==="enum"?c.values:null,this._globalState=p}evaluateWithoutErrorHandling(l,c,p,d,a,h){return this._globalState&&(l=Y3(l,this._globalState)),this._evaluator.globals=l,this._evaluator.feature=c,this._evaluator.featureState=p,this._evaluator.canonical=d,this._evaluator.availableImages=a||null,this._evaluator.formattedSection=h,this.expression.evaluate(this._evaluator)}evaluate(l,c,p,d,a,h){this._globalState&&(l=Y3(l,this._globalState)),this._evaluator.globals=l,this._evaluator.feature=c||null,this._evaluator.featureState=p||null,this._evaluator.canonical=d,this._evaluator.availableImages=a||null,this._evaluator.formattedSection=h||null;try{let 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 Ll(`Expected value to be one of ${Object.keys(this._enumValues).map((w)=>JSON.stringify(w)).join(", ")}, but found ${JSON.stringify(y)} instead.`);return y}catch(y){return this._warningHistory[y.message]||(this._warningHistory[y.message]=!0,typeof console0&&typeof l[0]=="string"&&l[0]in I5}function R3(l,c,p){let d=new tu(I5,Z4,[],c?function(h){let y={color:y2,string:cl,number:H1,enum:cl,boolean:vl,formatted:P4,padding:lr,numberArray:M4,colorArray:E3,projectionDefinition:tc,resolvedImage:n3,variableAnchorOffsetCollection:B4};return h.type==="array"?L0(y[h.value]||pl,h.length):y[h.type]}(c):void 0),a=d.parse(l,void 0,void 0,void 0,c&&c.type==="string"?{typeAnnotation:"coerce"}:void 0);return a?S7(new O5(a,c,p)):Y5(d.errors)}class H3{constructor(l,c,p){this.kind=l,this._styleExpression=c,this.isStateDependent=l!=="constant"&&!U3(c.expression),this.globalStateRefs=I3(c.expression),this._globalState=p}evaluateWithoutErrorHandling(l,c,p,d,a,h){return this._globalState&&(l=Y3(l,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(l,c,p,d,a,h)}evaluate(l,c,p,d,a,h){return this._globalState&&(l=Y3(l,this._globalState)),this._styleExpression.evaluate(l,c,p,d,a,h)}}class e4{constructor(l,c,p,d,a){this.kind=l,this.zoomStops=p,this._styleExpression=c,this.isStateDependent=l!=="camera"&&!U3(c.expression),this.globalStateRefs=I3(c.expression),this.interpolationType=d,this._globalState=a}evaluateWithoutErrorHandling(l,c,p,d,a,h){return this._globalState&&(l=Y3(l,this._globalState)),this._styleExpression.evaluateWithoutErrorHandling(l,c,p,d,a,h)}evaluate(l,c,p,d,a,h){return this._globalState&&(l=Y3(l,this._globalState)),this._styleExpression.evaluate(l,c,p,d,a,h)}interpolationFactor(l,c,p){return this.interpolationType?c0.interpolationFactor(this.interpolationType,l,c,p):0}}function A7(l,c,p){let d=R3(l,c,p);if(d.result==="error")return d;let a=d.value.expression,h=b4(a);if(!h&&!z5(c))return Y5([new s0("","data expressions not supported")]);let y=$4(a,["zoom"]);if(!y&&!k7(c))return Y5([new s0("","zoom expressions not supported")]);let w=G5(a);return w||y?w instanceof s0?Y5([w]):w instanceof c0&&!kr(c)?Y5([new s0("",'"interpolate" expressions cannot be used with this property')]):S7(w?new e4(h?"camera":"composite",d.value,w.labels,w instanceof c0?w.interpolation:void 0,p):new H3(h?"constant":"source",d.value,p)):Y5([new s0("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')])}class t4{constructor(l,c){this._parameters=l,this._specification=c,bu(this,E7(this._parameters,this._specification))}static deserialize(l){return new t4(l._parameters,l._specification)}static serialize(l){return{_parameters:l._parameters,_specification:l._specification}}}function G5(l){let c=null;if(l instanceof xl)c=G5(l.result);else if(l instanceof z4){for(let p of l.args)if(c=G5(p),c)break}else(l instanceof F3||l instanceof c0)&&l.input instanceof k2&&l.input.name==="zoom"&&(c=l);return c instanceof s0||l.eachChild((p)=>{let d=G5(p);d instanceof s0?c=d:!c&&d?c=new s0("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):c&&d&&c!==d&&(c=new s0("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),c}function I3(l,c=new Set){return l instanceof K3&&c.add(l.key),l.eachChild((p)=>{I3(p,c)}),c}function Y3(l,c){let{zoom:p,heatmapDensity:d,elevation:a,lineProgress:h,isSupportedScript:y,accumulated:w}=l!=null?l:{};return{zoom:p,heatmapDensity:d,elevation:a,lineProgress:h,isSupportedScript:y,accumulated:w,globalState:c}}function V7(l){if(l===!0||l===!1)return!0;if(!Array.isArray(l)||l.length===0)return!1;switch(l[0]){case"has":return l.length>=2&&l[1]!=="$id"&&l[1]!=="$type";case"in":return l.length>=3&&(typeof l[1]!="string"||Array.isArray(l[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};V7(l)||(l=uc(l));let p=R3(l,yd,c);if(p.result==="error")throw Error(p.value.map((d)=>`${d.key}: ${d.message}`).join(", "));return{filter:(d,a,h)=>p.value.evaluate(d,a,{},h),needGeometry:W7(l),getGlobalStateRefs:()=>I3(p.value.expression)}}function wd(l,c){return lc?1:0}function W7(l){if(!Array.isArray(l))return!1;if(l[0]==="within"||l[0]==="distance")return!0;for(let c=1;c<l.length;c++)if(W7(l[c]))return!0;return!1}function uc(l){if(!l)return!0;let c=l[0];return l.length<=1?c!=="any":c==="=="?L7(l[1],l[2],"=="):c==="!="?cc(L7(l[1],l[2],"==")):c===""||c==="="?L7(l[1],l[2],c):c==="any"?(p=l.slice(1),["any"].concat(p.map(uc))):c==="all"?["all"].concat(l.slice(1).map(uc)):c==="none"?["all"].concat(l.slice(1).map(uc).map(cc)):c==="in"?Gp(l[1],l.slice(2)):c==="!in"?cc(Gp(l[1],l.slice(2))):c==="has"?C7(l[1]):c!=="!has"||cc(C7(l[1]));var p}function L7(l,c,p){switch(l){case"$type":return[`filter-type-${p}`,c];case"$id":return[`filter-id-${p}`,c];default:return[`filter-${p}`,l,c]}}function Gp(l,c){if(c.length===0)return!1;switch(l){case"$type":return["filter-type-in",["literal",c]];case"$id":return["filter-id-in",["literal",c]];default:return c.length>200&&!c.some((p)=>typeof p!=typeof c[0])?["filter-in-large",l,["literal",c.sort(wd)]]:["filter-in-small",l,["literal",c]]}}function C7(l){switch(l){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",l]}}function cc(l){return["!",l]}function Er(l){let c=typeof l;if(c==="number"||c==="boolean"||c==="string"||l==null)return JSON.stringify(l);if(Array.isArray(l)){let a="[";for(let h of l)a+=`${Er(h)},`;return`${a}]`}let p=Object.keys(l).sort(),d="{";for(let a=0;a<p.length;a++)d+=`${JSON.stringify(p[a])}:${Er(l[p[a]])},`;return`${d}}`}function sd(l){let c="";for(let p of G6)c+=`/${Er(l[p])}`;return c}function Qp(l){let c=l.value;return c?[new M1(l.key,c,"constants have been deprecated as of v8")]:[]}function il(l){return l instanceof Number||l instanceof String||l instanceof Boolean?l.valueOf():l}function Q5(l){if(Array.isArray(l))return l.map(Q5);if(l instanceof Object&&!(l instanceof Number||l instanceof String||l instanceof Boolean)){let c={};for(let p in l)c[p]=Q5(l[p]);return c}return il(l)}function u2(l){let{key:c,value:p}=l,d=l.valueSpec||{},a=l.objectElementValidators||{},h=l.style,y=l.styleSpec,w=l.validateSpec,A=[],k=ml(p);if(k!=="object")return[new M1(c,p,`object expected, ${k} found`)];for(let W in p){let n=W.split(".")[0],q=U4(d,n)||d["*"],C;if(U4(a,n))C=a[n];else if(U4(d,n)){if(p[W]===void 0)continue;C=w}else if(a["*"])C=a["*"];else{if(!d["*"]){A.push(new M1(c,p[W],`unknown property "${W}"`));continue}C=w}A=A.concat(C({key:(c?`${c}.`:c)+W,value:p[W],valueSpec:q,style:h,styleSpec:y,object:p,objectKey:W,validateSpec:w},p))}for(let W in d)a[W]||d[W].required&&d[W].default===void 0&&p[W]===void 0&&A.push(new M1(c,p,`missing required property "${W}"`));return A}function nr(l){let{value:c,valueSpec:p,style:d,styleSpec:a,key:h}=l,y=l.arrayElementValidator||l.validateSpec;if(ml(c)!=="array")return[new M1(h,c,`array expected, ${ml(c)} found`)];if(p.length&&c.length!==p.length)return[new M1(h,c,`array length ${p.length} expected, length ${c.length} found`)];let w={type:p.value,values:p.values};a.$version<7&&(w.function=p.function),ml(p.value)==="object"&&(w=p.value);let A=[];for(let k=0;k<c.length;k++)A=A.concat(y({array:c,arrayIndex:k,value:c[k],valueSpec:w,validateSpec:l.validateSpec,style:d,styleSpec:a,key:`${h}[${k}]`}));return A}function z3(l){let{key:c,value:p,valueSpec:d}=l,a=ml(p);return a==="number"&&p!=p&&(a="NaN"),a!=="number"?[new M1(c,p,`number expected, ${a} found`)]:("minimum"in d)&&pd.maximum?[new M1(c,p,`${p} is greater than the maximum value ${d.maximum}`)]:[]}function Ar(l){let c=l.valueSpec,p=il(l.value.type),d,a,h,y={},w=p!=="categorical"&&l.value.property===void 0,A=!w,k=ml(l.value.stops)==="array"&&ml(l.value.stops[0])==="array"&&ml(l.value.stops[0][0])==="object",W=u2({key:l.key,value:l.value,valueSpec:l.styleSpec.function,validateSpec:l.validateSpec,style:l.style,styleSpec:l.styleSpec,objectElementValidators:{stops:function(C){if(p==="identity")return[new M1(C.key,C.value,'identity function may not have a "stops" property')];let B=[],M=C.value;return B=B.concat(nr({key:C.key,value:M,valueSpec:C.valueSpec,validateSpec:C.validateSpec,style:C.style,styleSpec:C.styleSpec,arrayElementValidator:n})),ml(M)==="array"&&M.length===0&&B.push(new M1(C.key,M,"array must have at least one stop")),B},default:function(C){return C.validateSpec({key:C.key,value:C.value,valueSpec:c,validateSpec:C.validateSpec,style:C.style,styleSpec:C.styleSpec})}}});return p==="identity"&&w&&W.push(new M1(l.key,l.value,'missing required property "property"')),p==="identity"||l.value.stops||W.push(new M1(l.key,l.value,'missing required property "stops"')),p==="exponential"&&l.valueSpec.expression&&!kr(l.valueSpec)&&W.push(new M1(l.key,l.value,"exponential functions not supported")),l.styleSpec.$version>=8&&(A&&!z5(l.valueSpec)?W.push(new M1(l.key,l.value,"property functions not supported")):w&&!k7(l.valueSpec)&&W.push(new M1(l.key,l.value,"zoom functions not supported"))),p!=="categorical"&&!k||l.value.property!==void 0||W.push(new M1(l.key,l.value,'"property" property is required')),W;function n(C){let B=[],M=C.value,D=C.key;if(ml(M)!=="array")return[new M1(D,M,`array expected, ${ml(M)} found`)];if(M.length!==2)return[new M1(D,M,`array length 2 expected, length ${M.length} found`)];if(k){if(ml(M[0])!=="object")return[new M1(D,M,`object expected, ${ml(M[0])} found`)];if(M[0].zoom===void 0)return[new M1(D,M,"object stop key must have zoom")];if(M[0].value===void 0)return[new M1(D,M,"object stop key must have value")];if(h&&h>il(M[0].zoom))return[new M1(D,M[0].zoom,"stop zoom values must appear in ascending order")];il(M[0].zoom)!==h&&(h=il(M[0].zoom),a=void 0,y={}),B=B.concat(u2({key:`${D}[0]`,value:M[0],valueSpec:{zoom:{}},validateSpec:C.validateSpec,style:C.style,styleSpec:C.styleSpec,objectElementValidators:{zoom:z3,value:q}}))}else B=B.concat(q({key:`${D}[0]`,value:M[0],validateSpec:C.validateSpec,style:C.style,styleSpec:C.styleSpec},M));return i4(Q5(M[1]))?B.concat([new M1(`${D}[1]`,M[1],"expressions are not allowed in function stops.")]):B.concat(C.validateSpec({key:`${D}[1]`,value:M[1],valueSpec:c,validateSpec:C.validateSpec,style:C.style,styleSpec:C.styleSpec}))}function q(C,B){let M=ml(C.value),D=il(C.value),I=C.value!==null?C.value:B;if(d){if(M!==d)return[new M1(C.key,I,`${M} stop domain type must match previous stop domain type ${d}`)]}else d=M;if(M!=="number"&&M!=="string"&&M!=="boolean")return[new M1(C.key,I,"stop domain value must be a number, string, or boolean")];if(M!=="number"&&p!=="categorical"){let O=`number expected, ${M} found`;return z5(c)&&p===void 0&&(O+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new M1(C.key,I,O)]}return p!=="categorical"||M!=="number"||isFinite(D)&&Math.floor(D)===D?p!=="categorical"&&M==="number"&&a!==void 0&&Dnew M1(`${l.key}${d.key}`,l.value,d.message));let p=c.value.expression||c.value._styleExpression.expression;if(l.expressionContext==="property"&&l.propertyKey==="text-font"&&!p.outputDefined())return[new M1(l.key,l.value,`Invalid data expression for "${l.propertyKey}". Output values must be contained as literals within the expression.`)];if(l.expressionContext==="property"&&l.propertyType==="layout"&&!U3(p))return[new M1(l.key,l.value,'"feature-state" data expressions are not supported with layout properties.')];if(l.expressionContext==="filter"&&!U3(p))return[new M1(l.key,l.value,'"feature-state" data expressions are not supported with filters.')];if(l.expressionContext&&l.expressionContext.indexOf("cluster")===0){if(!$4(p,["zoom","feature-state"]))return[new M1(l.key,l.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if(l.expressionContext==="cluster-initial"&&!b4(p))return[new M1(l.key,l.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function rc(l){let{key:c,value:p}=l,d=ml(p);return d!=="string"?[new M1(c,p,`color expected, ${d} found`)]:dl.parse(String(p))?[]:[new M1(c,p,`color expected, "${p}" found`)]}function j5(l){let{key:c,value:p,valueSpec:d}=l,a=[];return Array.isArray(d.values)?d.values.indexOf(il(p))===-1&&a.push(new M1(c,p,`expected one of [${d.values.join(", ")}], ${JSON.stringify(p)} found`)):Object.keys(d.values).indexOf(il(p))===-1&&a.push(new M1(c,p,`expected one of [${Object.keys(d.values).join(", ")}], ${JSON.stringify(p)} found`)),a}function O3(l){return V7(Q5(l.value))?r5(bu({},l,{expressionContext:"filter",valueSpec:{value:"boolean"}})):jp(l)}function jp(l){let{value:c,key:p}=l;if(ml(c)!=="array")return[new M1(p,c,`array expected, ${ml(c)} found`)];let d=l.styleSpec,a,h=[];if(c.length<1)return[new M1(p,c,"filter array must have at least 1 element")];switch(h=h.concat(j5({key:`${p}[0]`,value:c[0],valueSpec:d.filter_operator,style:l.style,styleSpec:l.styleSpec})),il(c[0])){case"<":case"":case">=":c.length>=2&&il(c[1])==="$type"&&h.push(new M1(p,c,`"$type" cannot be use with operator "${c[0]}"`));case"==":case"!=":c.length!==3&&h.push(new M1(p,c,`filter array for operator "${c[0]}" must have 3 elements`));case"in":case"!in":c.length>=2&&(a=ml(c[1]),a!=="string"&&h.push(new M1(`${p}[1]`,c[1],`string expected, ${a} found`)));for(let y=2;y<c.length;y++)a=ml(c[y]),il(c[1])==="$type"?h=h.concat(j5({key:`${p}[${y}]`,value:c[y],valueSpec:d.geometry_type,style:l.style,styleSpec:l.styleSpec})):a!=="string"&&a!=="number"&&a!=="boolean"&&h.push(new M1(`${p}[${y}]`,c[y],`string, number, or boolean expected, ${a} found`));break;case"any":case"all":case"none":for(let y=1;y<c.length;y++)h=h.concat(jp({key:`${p}[${y}]`,value:c[y],style:l.style,styleSpec:l.styleSpec}));break;case"has":case"!has":a=ml(c[1]),c.length!==2?h.push(new M1(p,c,`filter array for "${c[0]}" operator must have 2 elements`)):a!=="string"&&h.push(new M1(`${p}[1]`,c[1],`string expected, ${a} found`))}return h}function Jp(l,c){let{key:p,validateSpec:d,style:a,styleSpec:h,value:y,objectKey:w}=l,A=h[`${c}_${l.layerType}`];if(!A)return[];let k=w.match(/^(.*)-transition$/);if(c==="paint"&&k&&A[k[1]]&&A[k[1]].transition)return d({key:p,value:y,valueSpec:h.transition,style:a,styleSpec:h});let W=l.valueSpec||A[w];if(!W)return[new M1(p,y,`unknown property "${w}"`)];let n;if(ml(y)==="string"&&z5(W)&&!W.tokens&&(n=/^{([^}]+)}$/.exec(y)))return[new M1(p,y,`"${w}" does not support interpolation syntax Use an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(n[1])} }\`.`)];let q=[];return l.layerType==="symbol"&&w==="text-font"&&_4(Q5(y))&&il(y.type)==="identity"&&q.push(new M1(p,y,'"text-font" does not support identity functions')),q.concat(d({key:l.key,value:y,valueSpec:W,style:a,styleSpec:h,expressionContext:"property",propertyType:c,propertyKey:w}))}function Xp(l){return Jp(l,"paint")}function Tp(l){return Jp(l,"layout")}function Zp(l){var c,p;let d=[],a=l.value,h=l.key,y=l.style,w=l.styleSpec;if(ml(a)!=="object")return[new M1(h,a,`object expected, ${ml(a)} found`)];a.type||a.ref||d.push(new M1(h,a,'either "type" or "ref" is required'));let A=il(a.type),k=il(a.ref);if(a.id){let W=il(a.id);for(let n=0;n{n in a&&d.push(new M1(h,a[n],`"${n}" is prohibited for ref layers`))}),y.layers.forEach((n)=>{il(n.id)===k&&(W=n)}),W?W.ref?d.push(new M1(h,a.ref,"ref cannot reference another ref layer")):A=il(W.type):d.push(new M1(h,a.ref,`ref layer "${k}" not found`))}else if(A!=="background")if(a.source){let W=y.sources&&y.sources[a.source],n=W&&il(W.type);W?n==="vector"&&A==="raster"?d.push(new M1(h,a.source,`layer "${a.id}" requires a raster source`)):n!=="raster-dem"&&A==="hillshade"||n!=="raster-dem"&&A==="color-relief"?d.push(new M1(h,a.source,`layer "${a.id}" requires a raster-dem source`)):n==="raster"&&A!=="raster"?d.push(new M1(h,a.source,`layer "${a.id}" requires a vector source`)):n!=="vector"||a["source-layer"]?n==="raster-dem"&&A!=="hillshade"&&A!=="color-relief"?d.push(new M1(h,a.source,"raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.")):A!=="line"||!a.paint||!a.paint["line-gradient"]||n==="geojson"&&W.lineMetrics||d.push(new M1(h,a,`layer "${a.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):d.push(new M1(h,a,`layer "${a.id}" must specify a "source-layer"`)):d.push(new M1(h,a.source,`source "${a.source}" not found`))}else d.push(new M1(h,a,'missing required property "source"'));return A==="raster"&&((c=a.paint)===null||c===void 0?void 0:c.resampling)&&((p=a.paint)===null||p===void 0?void 0:p["raster-resampling"])&&d.push(new M1(h,a.paint,`layer "${a.id}" redundantly specifies "resampling" and "raster-resampling" paint properties, but only one is allowed. It is advised to use "resampling".`)),d=d.concat(u2({key:h,value:a,valueSpec:w.layer,style:l.style,styleSpec:l.styleSpec,validateSpec:l.validateSpec,objectElementValidators:{"*":()=>[],type:()=>l.validateSpec({key:`${h}.type`,value:a.type,valueSpec:w.layer.type,style:l.style,styleSpec:l.styleSpec,validateSpec:l.validateSpec,object:a,objectKey:"type"}),filter:O3,layout:(W)=>u2({layer:a,key:W.key,value:W.value,style:W.style,styleSpec:W.styleSpec,validateSpec:W.validateSpec,objectElementValidators:{"*":(n)=>Tp(bu({layerType:A},n))}}),paint:(W)=>u2({layer:a,key:W.key,value:W.value,style:W.style,styleSpec:W.styleSpec,validateSpec:W.validateSpec,objectElementValidators:{"*":(n)=>Xp(bu({layerType:A},n))}})}})),d}function p5(l){let{value:c,key:p}=l,d=ml(c);return d!=="string"?[new M1(p,c,`string expected, ${d} found`)]:[]}let x7={promoteId:function({key:l,value:c}){if(ml(c)==="string")return p5({key:l,value:c});{let p=[];for(let d in c)p.push(...p5({key:`${l}.${d}`,value:c[d]}));return p}}};function N7(l){let{value:c,key:p,styleSpec:d,style:a,validateSpec:h}=l;if(!c.type)return[new M1(p,c,'"type" is required')];let y=il(c.type),w;switch(y){case"vector":case"raster":return w=u2({key:p,value:c,valueSpec:d[`source_${y.replace("-","_")}`],style:l.style,styleSpec:d,objectElementValidators:x7,validateSpec:h}),w;case"raster-dem":return w=function(A){var k;let W=(k=A.sourceName)!==null&&k!==void 0?k:"",n=A.value,q=A.styleSpec,C=q.source_raster_dem,B=A.style,M=[],D=ml(n);if(n===void 0)return M;if(D!=="object")return M.push(new M1("source_raster_dem",n,`object expected, ${D} found`)),M;let I=il(n.encoding)==="custom",O=["redFactor","greenFactor","blueFactor","baseShift"],Y=A.value.encoding?`"${A.value.encoding}"`:"Default";for(let G in n)!I&&O.includes(G)?M.push(new M1(G,n[G],`In "${W}": "${G}" is only valid when "encoding" is set to "custom". ${Y} encoding found`)):C[G]?M=M.concat(A.validateSpec({key:G,value:n[G],valueSpec:C[G],validateSpec:A.validateSpec,style:B,styleSpec:q})):M.push(new M1(G,n[G],`unknown property "${G}"`));return M}({sourceName:p,value:c,style:l.style,styleSpec:d,validateSpec:h}),w;case"geojson":if(w=u2({key:p,value:c,valueSpec:d.source_geojson,style:a,styleSpec:d,validateSpec:h,objectElementValidators:x7}),c.cluster)for(let A in c.clusterProperties){let[k,W]=c.clusterProperties[A],n=typeof k=="string"?[k,["accumulated"],["get",A]]:k;w.push(...r5({key:`${p}.${A}.map`,value:W,expressionContext:"cluster-map"})),w.push(...r5({key:`${p}.${A}.reduce`,value:n,expressionContext:"cluster-reduce"}))}return w;case"video":return u2({key:p,value:c,valueSpec:d.source_video,style:a,validateSpec:h,styleSpec:d});case"image":return u2({key:p,value:c,valueSpec:d.source_image,style:a,validateSpec:h,styleSpec:d});case"canvas":return[new M1(p,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return j5({key:`${p}.type`,value:c.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]}})}}function pc(l){let{value:c,styleSpec:p}=l,d=p.light,a=l.style,h=[],y=ml(c);if(c===void 0)return h;if(y!=="object")return h=h.concat([new M1("light",c,`object expected, ${y} found`)]),h;for(let w in c){let A=w.match(/^(.*)-transition$/);h=h.concat(A&&d[A[1]]&&d[A[1]].transition?l.validateSpec({key:w,value:c[w],valueSpec:p.transition,validateSpec:l.validateSpec,style:a,styleSpec:p}):d[w]?l.validateSpec({key:w,value:c[w],valueSpec:d[w],validateSpec:l.validateSpec,style:a,styleSpec:p}):[new M1(w,c[w],`unknown property "${w}"`)])}return h}function bp(l){let{value:c,styleSpec:p}=l,d=p.sky,a=l.style,h=ml(c);if(c===void 0)return[];if(h!=="object")return[new M1("sky",c,`object expected, ${h} found`)];let y=[];for(let w in c)y=y.concat(d[w]?l.validateSpec({key:w,value:c[w],valueSpec:d[w],style:a,styleSpec:p}):[new M1(w,c[w],`unknown property "${w}"`)]);return y}function F7(l){let{value:c,styleSpec:p}=l,d=p.terrain,a=l.style,h=[],y=ml(c);if(c===void 0)return h;if(y!=="object")return h=h.concat([new M1("terrain",c,`object expected, ${y} found`)]),h;for(let w in c)h=h.concat(d[w]?l.validateSpec({key:w,value:c[w],valueSpec:d[w],validateSpec:l.validateSpec,style:a,styleSpec:p}):[new M1(w,c[w],`unknown property "${w}"`)]);return h}function q7(l){let c=[],p=l.value,d=l.key;if(Array.isArray(p)){let a=[],h=[];for(let y in p)p[y].id&&a.includes(p[y].id)&&c.push(new M1(d,p,`all the sprites' ids must be unique, but ${p[y].id} is duplicated`)),a.push(p[y].id),p[y].url&&h.includes(p[y].url)&&c.push(new M1(d,p,`all the sprites' URLs must be unique, but ${p[y].url} is duplicated`)),h.push(p[y].url),c=c.concat(u2({key:`${d}[${y}]`,value:p[y],valueSpec:{id:{type:"string",required:!0},url:{type:"string",required:!0}},validateSpec:l.validateSpec}));return c}return p5({key:d,value:p})}function $p(l){return Boolean(l)&&l.constructor===Object}function fc(l){return $p(l.value)?[]:[new M1(l.key,l.value,`object expected, ${ml(l.value)} found`)]}let P7={"*":()=>[],array:nr,boolean:function(l){let{value:c,key:p}=l,d=ml(c);return d!=="boolean"?[new M1(p,c,`boolean expected, ${d} found`)]:[]},number:z3,color:rc,constants:Qp,enum:j5,filter:O3,function:Ar,layer:Zp,object:u2,source:N7,light:pc,sky:bp,terrain:F7,projection:function(l){let{value:c,styleSpec:p}=l,d=p.projection,a=l.style,h=ml(c);if(c===void 0)return[];if(h!=="object")return[new M1("projection",c,`object expected, ${h} found`)];let y=[];for(let w in c)y=y.concat(d[w]?l.validateSpec({key:w,value:c[w],valueSpec:d[w],style:a,styleSpec:p}):[new M1(w,c[w],`unknown property "${w}"`)]);return y},projectionDefinition:function(l){let{key:c,value:p}=l;p=p instanceof String?p.valueOf():p;let d=ml(p);return d!=="array"||function(a){return Array.isArray(a)&&a.length===3&&typeof a[0]=="string"&&typeof a[1]=="string"&&typeof a[2]=="number"}(p)||function(a){return!!["interpolate","step","literal"].includes(a[0])}(p)?["array","string"].includes(d)?[]:[new M1(c,p,`projection expected, invalid type "${d}" found`)]:[new M1(c,p,`projection expected, invalid array ${JSON.stringify(p)} found`)]},string:p5,formatted:function(l){return p5(l).length===0?[]:r5(l)},resolvedImage:function(l){return p5(l).length===0?[]:r5(l)},padding:function(l){let{key:c,value:p}=l;if(ml(p)==="array"){if(p.length4)return[new M1(c,p,`padding requires 1 to 4 values; ${p.length} values found`)];let d={type:"number"},a=[];for(let h=0;h<p.length;h++)a=a.concat(l.validateSpec({key:`${c}[${h}]`,value:p[h],validateSpec:l.validateSpec,valueSpec:d}));return a}return z3({key:c,value:p,valueSpec:{}})},numberArray:function(l){let{key:c,value:p}=l;if(ml(p)==="array"){let d={type:"number"};if(p.length<1)return[new M1(c,p,"array length at least 1 expected, length 0 found")];let a=[];for(let h=0;h<p.length;h++)a=a.concat(l.validateSpec({key:`${c}[${h}]`,value:p[h],validateSpec:l.validateSpec,valueSpec:d}));return a}return z3({key:c,value:p,valueSpec:{}})},colorArray:function(l){let{key:c,value:p}=l;if(ml(p)==="array"){if(p.length<1)return[new M1(c,p,"array length at least 1 expected, length 0 found")];let d=[];for(let a=0;a<p.length;a++)d=d.concat(rc({key:`${c}[${a}]`,value:p[a]}));return d}return rc({key:c,value:p})},variableAnchorOffsetCollection:function(l){let{key:c,value:p}=l,d=ml(p),a=l.styleSpec;if(d!=="array"||p.length<1||p.length%2!=0)return[new M1(c,p,"variableAnchorOffsetCollection requires a non-empty array of even length")];let h=[];for(let y=0;y

[]}})),l.constants&&(p=p.concat(Qp({key:"constants",value:l.constants}))),_p(p)}function J2(l){return function(c){return l(Object.assign({},c,{validateSpec:G3}))}}function _p(l){return[].concat(l).sort((c,p)=>c.line-p.line)}function X2(l){return function(...c){return _p(l.apply(this,c))}}q2.source=X2(J2(N7)),q2.sprite=X2(J2(q7)),q2.glyphs=X2(J2(Q3)),q2.light=X2(J2(pc)),q2.sky=X2(J2(bp)),q2.terrain=X2(J2(F7)),q2.state=X2(J2(fc)),q2.layer=X2(J2(Zp)),q2.filter=X2(J2(O3)),q2.paintProperty=X2(J2(Xp)),q2.layoutProperty=X2(J2(Tp));let Sd={type:"enum","property-type":"data-constant",expression:{interpolated:!1,parameters:["global-state"]},values:{visible:{},none:{}},transition:!1,default:"visible"};class M7{constructor(l,c){this._globalState=c,this.setValue(l)}evaluate(){var l;return(l=this._literalValue)!==null&&l!==void 0?l:this._compiledValue.evaluate({})}setValue(l){if(l==null||l==="visible"||l==="none")return this._literalValue=l==="none"?"none":"visible",this._compiledValue=void 0,void(this._globalStateRefs=new Set);let c=R3(l,Sd,this._globalState);if(c.result==="error")throw this._literalValue="visible",this._compiledValue=void 0,Error(c.value.map((p)=>`${p.key}: ${p.message}`).join(", "));this._literalValue=void 0,this._compiledValue=c.value,this._globalStateRefs=I3(c.value.expression)}getGlobalStateRefs(){return this._globalStateRefs}}let dc=E1,uu=q2,c2=uu.light,j3=uu.sky,B7=uu.paintProperty,ip=uu.layoutProperty;function K7(l,c){let p=!1;if(c==null?void 0:c.length)for(let d of c)l.fire(new N5(Error(d.message))),p=!0;return p}class cu{constructor(l,c,p){let d=this.cells=[];if(l instanceof ArrayBuffer){this.arrayBuffer=l;let h=new Int32Array(this.arrayBuffer);l=h[0],this.d=(c=h[1])+2*(p=h[2]);for(let w=0;w<this.d*this.d;w++){let A=h[3+w],k=h[3+w+1];d.push(A===k?null:h.subarray(A,k))}let y=h[3+d.length+1];this.keys=h.subarray(h[3+d.length],y),this.bboxes=h.subarray(y),this.insert=this._insertReadonly}else{this.d=c+2*p;for(let h=0;h<this.d*this.d;h++)d.push([]);this.keys=[],this.bboxes=[]}this.n=c,this.extent=l,this.padding=p,this.scale=c/l,this.uid=0;let a=p/c*l;this.min=-a,this.max=l+a}insert(l,c,p,d,a){this._forEachCell(c,p,d,a,this._insertCell,this.uid++,void 0,void 0),this.keys.push(l),this.bboxes.push(c),this.bboxes.push(p),this.bboxes.push(d),this.bboxes.push(a)}_insertReadonly(){throw Error("Cannot insert into a GridIndex created from an ArrayBuffer.")}_insertCell(l,c,p,d,a,h){this.cells[a].push(h)}query(l,c,p,d,a){let h=this.min,y=this.max;if(l<=h&&c<=h&&y<=p&&y<=d&&!a)return[...this.keys];{let w=[];return this._forEachCell(l,c,p,d,this._queryCell,w,{},a),w}}_queryCell(l,c,p,d,a,h,y,w){let A=this.cells[a];if(A!==null){let k=this.keys,W=this.bboxes;for(let n of A)if(y[n]===void 0){let q=4*n;(w?w(W[q+0],W[q+1],W[q+2],W[q+3]):l<=W[q+2]&&c=W[q+0]&&d>=W[q+1])?(y[n]=!0,h.push(k[n])):y[n]=!1}}}_forEachCell(l,c,p,d,a,h,y,w){let A=this._convertToCellCoord(l),k=this._convertToCellCoord(c),W=this._convertToCellCoord(p),n=this._convertToCellCoord(d);for(let q=A;q<=W;q++)for(let C=k;C<=n;C++){let B=this.d*C+q;if((!w||w(this._convertFromCellCoord(q),this._convertFromCellCoord(C),this._convertFromCellCoord(q+1),this._convertFromCellCoord(C+1)))&&a.call(this,l,c,p,d,B,h,y,w))return}}_convertFromCellCoord(l){return(l-this.padding)/this.scale}_convertToCellCoord(l){return Math.max(0,Math.min(this.d-1,Math.floor(l*this.scale)+this.padding))}toArrayBuffer(){if(this.arrayBuffer)return this.arrayBuffer;let l=this.cells,c=3+this.cells.length+1+1,p=0;for(let h of this.cells)p+=h.length;let d=new Int32Array(c+p+this.keys.length+this.bboxes.length);d[0]=this.extent,d[1]=this.n,d[2]=this.padding;let a=c;for(let h=0;h<l.length;h++){let y=l[h];d[3+h]=a,d.set(y,a),a+=y.length}return d[3+l.length]=a,d.set(this.keys,a),a+=this.keys.length,d[3+l.length+1]=a,d.set(this.bboxes,a),a+=this.bboxes.length,d.buffer}static serialize(l,c){let p=l.toArrayBuffer();return c&&c.push(p),{buffer:p}}static deserialize(l){return new cu(l.buffer)}}let T2={};function z1(l,c,p={}){if(T2[l])throw Error(`${l} is already registered.`);Object.defineProperty(c,"_classRegistryKey",{value:l,writeable:!1}),T2[l]={klass:c,omit:p.omit||[],shallow:p.shallow||[]}}z1("Object",Object),z1("Set",Set),z1("TransferableGridIndex",cu),z1("Color",dl),z1("Error",Error),z1("AJAXError",Zu),z1("ResolvedImage",w2),z1("StylePropertyFunction",t4),z1("StyleExpression",O5,{omit:["_evaluator"]}),z1("ZoomDependentExpression",e4),z1("ZoomConstantExpression",H3),z1("CompoundExpression",k2,{omit:["_evaluate"]});for(let l in I5)I5[l]._classRegistryKey||z1(`Expression_${l}`,I5[l]);function U7(l){var c;return l&&typeof ArrayBufferp?(this.lastIntegerZoom=p+1,this.lastIntegerZoomTime=c):this.lastFloorZoom

{try{return new RegExp(`\\p{sc=${p}}`,"u").source}catch(d){return null}}).filter((p)=>p);return new RegExp(c.join("|"),"u")}let Cr=H7(["Arab","Dupl","Mong","Ougr","Syrc"]);function xr(l){return!Cr.test(String.fromCodePoint(l))}function I7(l){return!(f5(l)||(c=l,/[\xA7\xA9\xAE\xB1\xBC-\xBE\xD7\xF7\u2016\u2020\u2021\u2030\u2031\u203B\u203C\u2042\u2047-\u2049\u2051\u2100-\u218F\u221E\u2234\u2235\u2300-\u2307\u230C-\u231F\u2324-\u2328\u232B\u237D-\u239A\u23BE-\u23CD\u23CF\u23D1-\u23DB\u23E2-\u2422\u2424-\u24FF\u25A0-\u2619\u2620-\u2767\u2776-\u2793\u2B12-\u2B2F\u2B50-\u2B59\u2BB8-\u2BEB\u3000-\u303F\u30A0-\u30FF\uE000-\uF8FF\uFE30-\uFE6F\uFF00-\uFFEF\uFFFC\uFFFD]|[\uDB80-\uDBFF][\uDC00-\uDFFF]/gim.test(String.fromCodePoint(c))));var c}let Y7=H7(["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 z7(l){return Y7.test(String.fromCodePoint(l))}function O7(l,c){return!(!c&&z7(l)||/[\u0900-\u0DFF\u0F00-\u109F\u1780-\u17FF]/gim.test(String.fromCodePoint(l)))}function G7(l){for(let c of l)if(z7(c.codePointAt(0)))return!0;return!1}let pu=new class{constructor(){this.TIMEOUT=5000,this.applyArabicShaping=null,this.processBidirectionalText=null,this.processStyledBidirectionalText=null,this.pluginStatus="unavailable",this.pluginURL=null,this.loadScriptResolve=()=>{}}setState(l){this.pluginStatus=l.pluginStatus,this.pluginURL=l.pluginURL}getState(){return{pluginStatus:this.pluginStatus,pluginURL:this.pluginURL}}setMethods(l){if(pu.isParsed())throw Error("RTL text plugin already registered.");this.applyArabicShaping=l.applyArabicShaping,this.processBidirectionalText=l.processBidirectionalText,this.processStyledBidirectionalText=l.processStyledBidirectionalText,this.loadScriptResolve()}isParsed(){return this.applyArabicShaping!=null&&this.processBidirectionalText!=null&&this.processStyledBidirectionalText!=null}getRTLTextPluginStatus(){return this.pluginStatus}syncState(l,c){return g(this,void 0,void 0,function*(){if(this.isParsed())return this.getState();if(l.pluginStatus!=="loading")return this.setState(l),l;let p=l.pluginURL,d=new Promise((h)=>{this.loadScriptResolve=h});c(p);let a=new Promise((h)=>setTimeout(()=>h(),this.TIMEOUT));if(yield Promise.race([d,a]),this.isParsed()){let h={pluginStatus:"loaded",pluginURL:p};return this.setState(h),h}throw this.setState({pluginStatus:"error",pluginURL:""}),Error(`RTL Text Plugin failed to import scripts from ${p}`)})}};class Nl{constructor(l,c){this.isSupportedScript=Q7,this.zoom=l,c?(this.now=c.now||0,this.fadeDuration=c.fadeDuration||0,this.zoomHistory=c.zoomHistory||new Vr,this.transition=c.transition||{}):(this.now=0,this.fadeDuration=0,this.zoomHistory=new Vr,this.transition={})}crossFadingFactor(){return this.fadeDuration===0?1:Math.min((this.now-this.zoomHistory.lastIntegerZoomTime)/this.fadeDuration,1)}getCrossfadeParameters(){let l=this.zoom,c=l-Math.floor(l),p=this.crossFadingFactor();return l>this.zoomHistory.lastIntegerZoom?{fromScale:2,toScale:1,t:c+(1-c)*p}:{fromScale:0.5,toScale:1,t:1-(1-p)*c}}}function Q7(l){return function(c,p){for(let d of c)if(!O7(d.codePointAt(0),p))return!1;return!0}(l,pu.getRTLTextPluginStatus()==="loaded")}let Nr="-transition";class X3{constructor(l,c,p){this.property=l,this.value=c,this.expression=function(d,a,h){if(_4(d))return new t4(d,a);if(i4(d)){let y=A7(d,a,h);if(y.result==="error")throw Error(y.value.map((w)=>`${w.key}: ${w.message}`).join(", "));return y.value}{let y=d;return a.type==="color"&&typeof d=="string"?y=dl.parse(d):a.type!=="padding"||typeof d!="number"&&!Array.isArray(d)?a.type!=="numberArray"||typeof d!="number"&&!Array.isArray(d)?a.type!=="colorArray"||typeof d!="string"&&!Array.isArray(d)?a.type==="variableAnchorOffsetCollection"&&Array.isArray(d)?y=j0.parse(d):a.type==="projectionDefinition"&&typeof d=="string"&&(y=M0.parse(d)):y=e1.parse(d):y=Yl.parse(d):y=P0.parse(d),{globalStateRefs:new Set,_globalState:null,kind:"constant",evaluate:()=>y}}}(c===void 0?l.specification.default:c,l.specification,p)}isDataDriven(){return this.expression.kind==="source"||this.expression.kind==="composite"}getGlobalStateRefs(){return this.expression.globalStateRefs||new Set}possiblyEvaluate(l,c,p){return this.property.possiblyEvaluate(this,l,c,p)}}class Fr{constructor(l,c){this.property=l,this.value=new X3(l,void 0,c)}transitioned(l,c){return new vc(this.property,this.value,c,h2({},l.transition,this.transition),l.now)}untransitioned(){return new vc(this.property,this.value,null,{},0)}}class gc{constructor(l,c){this._properties=l,this._values=Object.create(l.defaultTransitionablePropertyValues),this._globalState=c}hasProperty(l){return l in this._properties.defaultTransitionablePropertyValues}getValue(l){return gl(this._values[l].value.value)}setValue(l,c){Object.hasOwn(this._values,l)||(this._values[l]=new Fr(this._values[l].property,this._globalState)),this._values[l].value=new X3(this._values[l].property,c===null?void 0:gl(c),this._globalState)}getTransition(l){return gl(this._values[l].transition)}setTransition(l,c){Object.hasOwn(this._values,l)||(this._values[l]=new Fr(this._values[l].property,this._globalState)),this._values[l].transition=gl(c)||void 0}serialize(){let l={};for(let c of Object.keys(this._values)){let p=this.getValue(c);p!==void 0&&(l[c]=p);let d=this.getTransition(c);d!==void 0&&(l[`${c}${Nr}`]=d)}return l}transitioned(l,c){let p=new qr(this._properties);for(let d of Object.keys(this._values))p._values[d]=this._values[d].transitioned(l,c._values[d]);return p}untransitioned(){let l=new qr(this._properties);for(let c of Object.keys(this._values))l._values[c]=this._values[c].untransitioned();return l}}class vc{constructor(l,c,p,d,a){this.property=l,this.value=c,this.begin=a+d.delay||0,this.end=this.begin+d.duration||0,l.specification.transition&&(d.delay||d.duration)&&(this.prior=p)}possiblyEvaluate(l,c,p){let d=l.now||0,a=this.value.possiblyEvaluate(l,c,p),h=this.prior;if(h){if(d>this.end)return this.prior=null,a;if(this.value.isDataDriven())return this.prior=null,a;if(dd.zoomHistory.lastIntegerZoom?{from:l,to:c}:{from:p,to:c}}interpolate(l){return l}}class Pr{constructor(l){this.specification=l}possiblyEvaluate(l,c,p,d){if(l.value!==void 0){if(l.expression.kind==="constant"){let a=l.expression.evaluate(c,null,{},p,d);return this._calculate(a,a,a,c)}return this._calculate(l.expression.evaluate(new Nl(Math.floor(c.zoom-1),c)),l.expression.evaluate(new Nl(Math.floor(c.zoom),c)),l.expression.evaluate(new Nl(Math.floor(c.zoom+1),c)),c)}}_calculate(l,c,p,d){return d.zoom>d.zoomHistory.lastIntegerZoom?{from:l,to:c}:{from:p,to:c}}interpolate(l){return l}}class X5{constructor(l){this.specification=l}possiblyEvaluate(l,c,p,d){return!!l.expression.evaluate(c,null,{},p,d)}interpolate(){return!1}}class C0{constructor(l){this.properties=l,this.defaultPropertyValues={},this.defaultTransitionablePropertyValues={},this.defaultTransitioningPropertyValues={},this.defaultPossiblyEvaluatedValues={},this.overridableProperties=[];for(let c in l){let p=l[c];p.specification.overridable&&this.overridableProperties.push(c);let d=this.defaultPropertyValues[c]=new X3(p,void 0,void 0),a=this.defaultTransitionablePropertyValues[c]=new Fr(p,void 0);this.defaultTransitioningPropertyValues[c]=a.untransitioned(),this.defaultPossiblyEvaluatedValues[c]=d.possiblyEvaluate({})}}}z1("DataDrivenProperty",$1),z1("DataConstantProperty",T1),z1("CrossFadedDataDrivenProperty",qu),z1("CrossFadedProperty",Pr),z1("ColorRampProperty",X5);let J7=" is a PAINT property not a LAYOUT property. Use get/setPaintProperty instead?",Mr=" is a LAYOUT property not a PAINT property. Use get/setLayoutProperty instead?";class r2 extends F4{constructor(l,c,p){if(super(),this.id=l.id,this.type=l.type,this._globalState=p,this._featureFilter={filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set},this._visibilityExpression=function(d,a){return new M7(d,a)}(this.visibility,p),l.type!=="custom"&&(this.metadata=l.metadata,this.minzoom=l.minzoom,this.maxzoom=l.maxzoom,l.type!=="background"&&(this.source=l.source,this.sourceLayer=l["source-layer"],this.filter=l.filter,this._featureFilter=lc(l.filter,p)),c.layout&&(this._unevaluatedLayout=new j7(c.layout,p)),c.paint)){this._transitionablePaint=new gc(c.paint,p);for(let d in l.paint)this.setPaintProperty(d,l.paint[d],{validate:!1});for(let d in l.layout)this.setLayoutProperty(d,l.layout[d],{validate:!1});this._transitioningPaint=this._transitionablePaint.untransitioned(),this.paint=new J5(c.paint)}}setFilter(l){this.filter=l,this._featureFilter=lc(l,this._globalState)}getCrossfadeParameters(){return this._crossfadeParameters}getLayoutProperty(l){var c;if(l==="visibility")return this.visibility;if((c=this._transitionablePaint)===null||c===void 0?void 0:c.hasProperty(l))throw Error(l+J7);if(!this._unevaluatedLayout)throw Error(`Cannot get layout property "${l}" on layer type "${this.type}" which has no layout properties.`);return this._unevaluatedLayout.getValue(l)}getLayoutAffectingGlobalStateRefs(){let l=new Set;for(let c of this._visibilityExpression.getGlobalStateRefs())l.add(c);if(this._unevaluatedLayout)for(let c in this._unevaluatedLayout._values){let p=this._unevaluatedLayout._values[c];for(let d of p.getGlobalStateRefs())l.add(d)}for(let c of this._featureFilter.getGlobalStateRefs())l.add(c);return l}getPaintAffectingGlobalStateRefs(){var l;let c=new globalThis.Map;if(this._transitionablePaint)for(let p in this._transitionablePaint._values){let d=this._transitionablePaint._values[p].value;for(let a of d.getGlobalStateRefs()){let h=(l=c.get(a))!==null&&l!==void 0?l:[];h.push({name:p,value:d.value}),c.set(a,h)}}return c}getVisibilityAffectingGlobalStateRefs(){return this._visibilityExpression.getGlobalStateRefs()}setLayoutProperty(l,c,p={}){var d;if(l==="visibility")return this.visibility=c,this._visibilityExpression.setValue(c),void this.recalculateVisibility();((d=this._transitionablePaint)===null||d===void 0?void 0:d.hasProperty(l))?this.fire(new N5(Error(l+J7))):c!=null&&this._validate(ip,`layers.${this.id}.layout.${l}`,l,c,p)||this._unevaluatedLayout.setValue(l,c)}getPaintProperty(l){var c,p;if(l.endsWith(Nr)){let d=l.slice(0,-11);if(d==="visibility"||((c=this._unevaluatedLayout)===null||c===void 0?void 0:c.hasProperty(d)))throw Error(l+Mr);return this._transitionablePaint.getTransition(d)}if(l==="visibility"||((p=this._unevaluatedLayout)===null||p===void 0?void 0:p.hasProperty(l)))throw Error(l+Mr);return this._transitionablePaint.getValue(l)}setPaintProperty(l,c,p={}){var d;if(l==="visibility"||((d=this._unevaluatedLayout)===null||d===void 0?void 0:d.hasProperty(l)))return this.fire(new N5(Error(l+Mr))),!1;if(c!=null&&this._validate(B7,`layers.${this.id}.paint.${l}`,l,c,p))return!1;if(l.endsWith(Nr))return this._transitionablePaint.setTransition(l.slice(0,-11),c||void 0),!1;{let a=this._transitionablePaint._values[l],h=a.property.specification["property-type"]==="cross-faded-data-driven",y=a.value.isDataDriven(),w=a.value;this._transitionablePaint.setValue(l,c),this._handleSpecialPaintPropertyUpdate(l);let A=this._transitionablePaint._values[l].value;return A.isDataDriven()||y||h||this._handleOverridablePaintPropertyUpdate(l,w,A)}}_handleSpecialPaintPropertyUpdate(l){}_handleOverridablePaintPropertyUpdate(l,c,p){return!1}isHidden(l=this.minzoom,c=!1){return!!(this.minzoom&&l=this.maxzoom)||this._evaluatedVisibility==="none"}updateTransitions(l){this._transitioningPaint=this._transitionablePaint.transitioned(l,this._transitioningPaint)}hasTransition(){return this._transitioningPaint.hasTransition()}recalculateVisibility(){this._evaluatedVisibility=this._visibilityExpression.evaluate()}recalculate(l,c){l.getCrossfadeParameters&&(this._crossfadeParameters=l.getCrossfadeParameters()),this._unevaluatedLayout&&(this.layout=this._unevaluatedLayout.possiblyEvaluate(l,void 0,c)),this.paint=this._transitioningPaint.possiblyEvaluate(l,void 0,c)}serialize(){var l,c;let p={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:(l=this._unevaluatedLayout)===null||l===void 0?void 0:l.serialize(),paint:(c=this._transitionablePaint)===null||c===void 0?void 0:c.serialize()};return this.visibility&&(p.layout||(p.layout={}),p.layout.visibility=this.visibility),Vl(p,(d,a)=>!(d===void 0||a==="layout"&&!Object.keys(d).length||a==="paint"&&!Object.keys(d).length))}_validate(l,c,p,d,a={}){return(a==null?void 0:a.validate)!==!1&&K7(this,l.call(uu,{key:c,layerType:this.type,objectKey:p,value:d,styleSpec:E1,style:{glyphs:!0,sprite:!0}}))}is3D(){return!1}isTileClipped(){return!1}hasOffscreenPass(){return!1}resize(){}isStateDependent(){for(let l in this.paint._values){let c=this.paint.get(l);if(c instanceof E2&&z5(c.property.specification)&&(c.value.kind==="source"||c.value.kind==="composite")&&c.value.isStateDependent)return!0}return!1}}let Br;var ep={get paint(){return Br=Br||new C0({"raster-opacity":new T1(E1.paint_raster["raster-opacity"]),"raster-hue-rotate":new T1(E1.paint_raster["raster-hue-rotate"]),"raster-brightness-min":new T1(E1.paint_raster["raster-brightness-min"]),"raster-brightness-max":new T1(E1.paint_raster["raster-brightness-max"]),"raster-saturation":new T1(E1.paint_raster["raster-saturation"]),"raster-contrast":new T1(E1.paint_raster["raster-contrast"]),resampling:new T1(E1.paint_raster.resampling),"raster-resampling":new T1(E1.paint_raster["raster-resampling"]),"raster-fade-duration":new T1(E1.paint_raster["raster-fade-duration"])})}};class tp extends r2{constructor(l,c){super(l,ep,c)}}let l9={Int8:Int8Array,Uint8:Uint8Array,Int16:Int16Array,Uint16:Uint16Array,Int32:Int32Array,Uint32:Uint32Array,Float32:Float32Array};class T5{constructor(l,c){this._structArray=l,this._pos1=c*this.size,this._pos2=this._pos1/2,this._pos4=this._pos1/4,this._pos8=this._pos1/8}}class Ul{constructor(){this.isTransferred=!1,this.capacity=-1,this.resize(0)}static serialize(l,c){return l._trim(),c&&(l.isTransferred=!0,c.push(l.arrayBuffer)),{length:l.length,arrayBuffer:l.arrayBuffer}}static deserialize(l){let c=Object.create(this.prototype);return c.arrayBuffer=l.arrayBuffer,c.length=l.length,c.capacity=l.arrayBuffer.byteLength/c.bytesPerElement,c._refreshViews(),c}_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(l){this.reserve(l),this.length=l}reserve(l){if(l>this.capacity){this.capacity=Math.max(l,Math.floor(5*this.capacity),128),this.arrayBuffer=new ArrayBuffer(this.capacity*this.bytesPerElement);let c=this.uint8;this._refreshViews(),c&&this.uint8.set(c)}}_refreshViews(){throw Error("_refreshViews() must be implemented by each concrete StructArray layout")}freeBufferAfterUpload(){this.arrayBuffer=new ArrayBuffer(0),this._refreshViews()}}function Pl(l,c=1){let p=0,d=0;return{members:l.map((a)=>{let h=l9[a.type].BYTES_PER_ELEMENT,y=p=X7(p,Math.max(c,h)),w=a.components||1;return d=Math.max(d,h),p+=h*w,{name:a.name,type:a.type,components:w,offset:y}}),size:X7(p,Math.max(d,c)),alignment:c}}function X7(l,c){return Math.ceil(l/c)*c}class T3 extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,c){let p=this.length;return this.resize(p+1),this.emplace(p,l,c)}emplace(l,c,p){let d=2*l;return this.int16[d+0]=c,this.int16[d+1]=p,l}}T3.prototype.bytesPerElement=4,z1("StructArrayLayout2i4",T3);class ac extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,c,p){let d=this.length;return this.resize(d+1),this.emplace(d,l,c,p)}emplace(l,c,p,d){let a=3*l;return this.int16[a+0]=c,this.int16[a+1]=p,this.int16[a+2]=d,l}}ac.prototype.bytesPerElement=6,z1("StructArrayLayout3i6",ac);class oc extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,c,p,d){let a=this.length;return this.resize(a+1),this.emplace(a,l,c,p,d)}emplace(l,c,p,d,a){let h=4*l;return this.int16[h+0]=c,this.int16[h+1]=p,this.int16[h+2]=d,this.int16[h+3]=a,l}}oc.prototype.bytesPerElement=8,z1("StructArrayLayout4i8",oc);class hc extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,c,p,d,a,h){let y=this.length;return this.resize(y+1),this.emplace(y,l,c,p,d,a,h)}emplace(l,c,p,d,a,h,y){let w=6*l;return this.int16[w+0]=c,this.int16[w+1]=p,this.int16[w+2]=d,this.int16[w+3]=a,this.int16[w+4]=h,this.int16[w+5]=y,l}}hc.prototype.bytesPerElement=12,z1("StructArrayLayout2i4i12",hc);class Kr extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,c,p,d,a,h){let y=this.length;return this.resize(y+1),this.emplace(y,l,c,p,d,a,h)}emplace(l,c,p,d,a,h,y){let w=4*l,A=8*l;return this.int16[w+0]=c,this.int16[w+1]=p,this.uint8[A+4]=d,this.uint8[A+5]=a,this.uint8[A+6]=h,this.uint8[A+7]=y,l}}Kr.prototype.bytesPerElement=8,z1("StructArrayLayout2i4ub8",Kr);class Z5 extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,c){let p=this.length;return this.resize(p+1),this.emplace(p,l,c)}emplace(l,c,p){let d=2*l;return this.float32[d+0]=c,this.float32[d+1]=p,l}}Z5.prototype.bytesPerElement=8,z1("StructArrayLayout2f8",Z5);class fu extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,c,p,d,a,h,y,w,A,k){let W=this.length;return this.resize(W+1),this.emplace(W,l,c,p,d,a,h,y,w,A,k)}emplace(l,c,p,d,a,h,y,w,A,k,W){let n=10*l;return this.uint16[n+0]=c,this.uint16[n+1]=p,this.uint16[n+2]=d,this.uint16[n+3]=a,this.uint16[n+4]=h,this.uint16[n+5]=y,this.uint16[n+6]=w,this.uint16[n+7]=A,this.uint16[n+8]=k,this.uint16[n+9]=W,l}}fu.prototype.bytesPerElement=20,z1("StructArrayLayout10ui20",fu);class yc extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,c,p,d,a,h,y,w){let A=this.length;return this.resize(A+1),this.emplace(A,l,c,p,d,a,h,y,w)}emplace(l,c,p,d,a,h,y,w,A){let k=8*l;return this.uint16[k+0]=c,this.uint16[k+1]=p,this.uint16[k+2]=d,this.uint16[k+3]=a,this.uint16[k+4]=h,this.uint16[k+5]=y,this.uint16[k+6]=w,this.uint16[k+7]=A,l}}yc.prototype.bytesPerElement=16,z1("StructArrayLayout8ui16",yc);class Z3 extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,c,p,d,a,h,y,w,A,k,W,n){let q=this.length;return this.resize(q+1),this.emplace(q,l,c,p,d,a,h,y,w,A,k,W,n)}emplace(l,c,p,d,a,h,y,w,A,k,W,n,q){let C=12*l;return this.int16[C+0]=c,this.int16[C+1]=p,this.int16[C+2]=d,this.int16[C+3]=a,this.uint16[C+4]=h,this.uint16[C+5]=y,this.uint16[C+6]=w,this.uint16[C+7]=A,this.int16[C+8]=k,this.int16[C+9]=W,this.int16[C+10]=n,this.int16[C+11]=q,l}}Z3.prototype.bytesPerElement=24,z1("StructArrayLayout4i4ui4i24",Z3);class wc extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,c,p){let d=this.length;return this.resize(d+1),this.emplace(d,l,c,p)}emplace(l,c,p,d){let a=3*l;return this.float32[a+0]=c,this.float32[a+1]=p,this.float32[a+2]=d,l}}wc.prototype.bytesPerElement=12,z1("StructArrayLayout3f12",wc);class b5 extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer)}emplaceBack(l){let c=this.length;return this.resize(c+1),this.emplace(c,l)}emplace(l,c){return this.uint32[1*l+0]=c,l}}b5.prototype.bytesPerElement=4,z1("StructArrayLayout1ul4",b5);class Ur extends Ul{_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(l,c,p,d,a,h,y,w,A){let k=this.length;return this.resize(k+1),this.emplace(k,l,c,p,d,a,h,y,w,A)}emplace(l,c,p,d,a,h,y,w,A,k){let W=10*l,n=5*l;return this.int16[W+0]=c,this.int16[W+1]=p,this.int16[W+2]=d,this.int16[W+3]=a,this.int16[W+4]=h,this.int16[W+5]=y,this.uint32[n+3]=w,this.uint16[W+8]=A,this.uint16[W+9]=k,l}}Ur.prototype.bytesPerElement=20,z1("StructArrayLayout6i1ul2ui20",Ur);class $5 extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,c,p,d,a,h){let y=this.length;return this.resize(y+1),this.emplace(y,l,c,p,d,a,h)}emplace(l,c,p,d,a,h,y){let w=6*l;return this.int16[w+0]=c,this.int16[w+1]=p,this.int16[w+2]=d,this.int16[w+3]=a,this.int16[w+4]=h,this.int16[w+5]=y,l}}$5.prototype.bytesPerElement=12,z1("StructArrayLayout2i2i2i12",$5);class d5 extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,c,p,d,a){let h=this.length;return this.resize(h+1),this.emplace(h,l,c,p,d,a)}emplace(l,c,p,d,a,h){let y=4*l,w=8*l;return this.float32[y+0]=c,this.float32[y+1]=p,this.float32[y+2]=d,this.int16[w+6]=a,this.int16[w+7]=h,l}}d5.prototype.bytesPerElement=16,z1("StructArrayLayout2f1f2i16",d5);class Dr extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer),this.int16=new Int16Array(this.arrayBuffer)}emplaceBack(l,c,p,d,a,h){let y=this.length;return this.resize(y+1),this.emplace(y,l,c,p,d,a,h)}emplace(l,c,p,d,a,h,y){let w=16*l,A=4*l,k=8*l;return this.uint8[w+0]=c,this.uint8[w+1]=p,this.float32[A+1]=d,this.float32[A+2]=a,this.int16[k+6]=h,this.int16[k+7]=y,l}}Dr.prototype.bytesPerElement=16,z1("StructArrayLayout2ub2f2i16",Dr);class b3 extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,c,p){let d=this.length;return this.resize(d+1),this.emplace(d,l,c,p)}emplace(l,c,p,d){let a=3*l;return this.uint16[a+0]=c,this.uint16[a+1]=p,this.uint16[a+2]=d,l}}b3.prototype.bytesPerElement=6,z1("StructArrayLayout3ui6",b3);class m5 extends Ul{_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(l,c,p,d,a,h,y,w,A,k,W,n,q,C,B,M,D){let I=this.length;return this.resize(I+1),this.emplace(I,l,c,p,d,a,h,y,w,A,k,W,n,q,C,B,M,D)}emplace(l,c,p,d,a,h,y,w,A,k,W,n,q,C,B,M,D,I){let O=24*l,Y=12*l,G=48*l;return this.int16[O+0]=c,this.int16[O+1]=p,this.uint16[O+2]=d,this.uint16[O+3]=a,this.uint32[Y+2]=h,this.uint32[Y+3]=y,this.uint32[Y+4]=w,this.uint16[O+10]=A,this.uint16[O+11]=k,this.uint16[O+12]=W,this.float32[Y+7]=n,this.float32[Y+8]=q,this.uint8[G+36]=C,this.uint8[G+37]=B,this.uint8[G+38]=M,this.uint32[Y+10]=D,this.int16[O+22]=I,l}}m5.prototype.bytesPerElement=48,z1("StructArrayLayout2i2ui3ul3ui2f3ub1ul1i48",m5);class Rr extends Ul{_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(l,c,p,d,a,h,y,w,A,k,W,n,q,C,B,M,D,I,O,Y,G,j,Z,d1,m1,a1,s1,w1){let k1=this.length;return this.resize(k1+1),this.emplace(k1,l,c,p,d,a,h,y,w,A,k,W,n,q,C,B,M,D,I,O,Y,G,j,Z,d1,m1,a1,s1,w1)}emplace(l,c,p,d,a,h,y,w,A,k,W,n,q,C,B,M,D,I,O,Y,G,j,Z,d1,m1,a1,s1,w1,k1){let y1=32*l,n1=16*l;return this.int16[y1+0]=c,this.int16[y1+1]=p,this.int16[y1+2]=d,this.int16[y1+3]=a,this.int16[y1+4]=h,this.int16[y1+5]=y,this.int16[y1+6]=w,this.int16[y1+7]=A,this.uint16[y1+8]=k,this.uint16[y1+9]=W,this.uint16[y1+10]=n,this.uint16[y1+11]=q,this.uint16[y1+12]=C,this.uint16[y1+13]=B,this.uint16[y1+14]=M,this.uint16[y1+15]=D,this.uint16[y1+16]=I,this.uint16[y1+17]=O,this.uint16[y1+18]=Y,this.uint16[y1+19]=G,this.uint16[y1+20]=j,this.uint16[y1+21]=Z,this.uint16[y1+22]=d1,this.uint32[n1+12]=m1,this.float32[n1+13]=a1,this.float32[n1+14]=s1,this.uint16[y1+30]=w1,this.uint16[y1+31]=k1,l}}Rr.prototype.bytesPerElement=64,z1("StructArrayLayout8i15ui1ul2f2ui64",Rr);class sc extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l){let c=this.length;return this.resize(c+1),this.emplace(c,l)}emplace(l,c){return this.float32[1*l+0]=c,l}}sc.prototype.bytesPerElement=4,z1("StructArrayLayout1f4",sc);class Sc extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,c,p){let d=this.length;return this.resize(d+1),this.emplace(d,l,c,p)}emplace(l,c,p,d){let a=3*l;return this.uint16[6*l+0]=c,this.float32[a+1]=p,this.float32[a+2]=d,l}}Sc.prototype.bytesPerElement=12,z1("StructArrayLayout1ui2f12",Sc);class Hr extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint32=new Uint32Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,c,p){let d=this.length;return this.resize(d+1),this.emplace(d,l,c,p)}emplace(l,c,p,d){let a=4*l;return this.uint32[2*l+0]=c,this.uint16[a+2]=p,this.uint16[a+3]=d,l}}Hr.prototype.bytesPerElement=8,z1("StructArrayLayout1ul2ui8",Hr);class u extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l,c){let p=this.length;return this.resize(p+1),this.emplace(p,l,c)}emplace(l,c,p){let d=2*l;return this.uint16[d+0]=c,this.uint16[d+1]=p,l}}u.prototype.bytesPerElement=4,z1("StructArrayLayout2ui4",u);class r extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.uint16=new Uint16Array(this.arrayBuffer)}emplaceBack(l){let c=this.length;return this.resize(c+1),this.emplace(c,l)}emplace(l,c){return this.uint16[1*l+0]=c,l}}r.prototype.bytesPerElement=2,z1("StructArrayLayout1ui2",r);class m extends Ul{_refreshViews(){this.uint8=new Uint8Array(this.arrayBuffer),this.float32=new Float32Array(this.arrayBuffer)}emplaceBack(l,c,p,d){let a=this.length;return this.resize(a+1),this.emplace(a,l,c,p,d)}emplace(l,c,p,d,a){let h=4*l;return this.float32[h+0]=c,this.float32[h+1]=p,this.float32[h+2]=d,this.float32[h+3]=a,l}}m.prototype.bytesPerElement=16,z1("StructArrayLayout4f16",m);class o extends T5{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 H(this.anchorPointX,this.anchorPointY)}}o.prototype.size=20;class s extends Ur{get(l){return new o(this,l)}}z1("CollisionBoxArray",s);class E extends T5{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(l){this._structArray.uint8[this._pos1+37]=l}get hidden(){return this._structArray.uint8[this._pos1+38]}set hidden(l){this._structArray.uint8[this._pos1+38]=l}get crossTileID(){return this._structArray.uint32[this._pos4+10]}set crossTileID(l){this._structArray.uint32[this._pos4+10]=l}get associatedIconIndex(){return this._structArray.int16[this._pos2+22]}}E.prototype.size=48;class L extends m5{get(l){return new E(this,l)}}z1("PlacedSymbolArray",L);class N extends T5{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(l){this._structArray.uint32[this._pos4+12]=l}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]}}N.prototype.size=64;class F extends Rr{get(l){return new N(this,l)}}z1("SymbolInstanceArray",F);class P extends sc{getoffsetX(l){return this.float32[1*l+0]}}z1("GlyphOffsetArray",P);class K extends ac{getx(l){return this.int16[3*l+0]}gety(l){return this.int16[3*l+1]}gettileUnitDistanceFromAnchor(l){return this.int16[3*l+2]}}z1("SymbolLineVertexArray",K);class R extends T5{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]}}R.prototype.size=12;class U extends Sc{get(l){return new R(this,l)}}z1("TextAnchorOffsetArray",U);class z extends T5{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]}}z.prototype.size=8;class Q extends Hr{get(l){return new z(this,l)}}z1("FeatureIndexArray",Q);class t extends T3{}class i extends T3{}class X extends T3{}class c1 extends hc{}class $ extends Kr{}class e extends Z5{}class u1 extends fu{}class T extends yc{}class p1 extends Z3{}class S1 extends wc{}class h1 extends b5{}class W1 extends $5{}class L1 extends Dr{}class Q1 extends b3{}class j1 extends u{}let C1=Pl([{name:"a_pos",components:2,type:"Int16"}],4),{members:O1}=C1;class I1{constructor(l=[]){this._forceNewSegmentOnNextPrepare=!1,this.segments=l}prepareSegment(l,c,p,d){let a=this.segments[this.segments.length-1];return l>I1.MAX_VERTEX_ARRAY_LENGTH&&w0(`Max vertices per segment is ${I1.MAX_VERTEX_ARRAY_LENGTH}: bucket requested ${l}. Consider using the \`fillLargeMeshArrays\` function if you require meshes with more than ${I1.MAX_VERTEX_ARRAY_LENGTH} vertices.`),this._forceNewSegmentOnNextPrepare||!a||a.vertexLength+l>I1.MAX_VERTEX_ARRAY_LENGTH||a.sortKey!==d?this.createNewSegment(c,p,d):a}createNewSegment(l,c,p){let d={vertexOffset:l.length,primitiveOffset:c.length,vertexLength:0,primitiveLength:0,vaos:{}};return p!==void 0&&(d.sortKey=p),this._forceNewSegmentOnNextPrepare=!1,this.segments.push(d),d}getOrCreateLatestSegment(l,c,p){return this.prepareSegment(0,l,c,p)}forceNewSegmentOnNextPrepare(){this._forceNewSegmentOnNextPrepare=!0}get(){return this.segments}destroy(){for(let l of this.segments)for(let c in l.vaos)l.vaos[c].destroy()}static simpleSegment(l,c,p,d){return new I1([{vertexOffset:l,primitiveOffset:c,vertexLength:p,primitiveLength:d,vaos:{},sortKey:0}])}}function i1(l,c){return 256*(l=G0(Math.floor(l),0,255))+G0(Math.floor(c),0,255)}I1.MAX_VERTEX_ARRAY_LENGTH=Math.pow(2,16)-1,z1("SegmentVector",I1);let Jl=Pl([{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"}]),Xl=Pl([{name:"a_dasharray_from",components:4,type:"Uint16"},{name:"a_dasharray_to",components:4,type:"Uint16"}]);var Dl,r0,B0,Ml={exports:{}},P2={exports:{}},v0={exports:{}},K0=function(){if(B0)return Ml.exports;B0=1;var l=(Dl||(Dl=1,P2.exports=function(p,d){var a,h,y,w,A,k,W,n;for(h=p.length-(a=3&p.length),y=d,A=3432918353,k=461845907,n=0;n<h;)W=255&p.charCodeAt(n)|(255&p.charCodeAt(++n))<<8|(255&p.charCodeAt(++n))<<16|(255&p.charCodeAt(++n))<>>16)*A&65535)<<16)&4294967295)<>>17))*k+(((W>>>16)*k&65535)<<16)&4294967295)<>>19))+((5*(y>>>16)&65535)<>>16)&65535)<<16);switch(W=0,a){case 3:W^=(255&p.charCodeAt(n+2))<<16;case 2:W^=(255&p.charCodeAt(n+1))<>>16)*A&65535)<<16)&4294967295)<>>17))*k+(((W>>>16)*k&65535)<>>16))+((2246822507*(y>>>16)&65535)<>>13))+((3266489909*(y>>>16)&65535)<>>16)>>>0}),P2.exports),c=(r0||(r0=1,v0.exports=function(p,d){for(var a,h=p.length,y=d^h,w=0;h>=4;)a=1540483477*(65535&(a=255&p.charCodeAt(w)|(255&p.charCodeAt(++w))<<8|(255&p.charCodeAt(++w))<<16|(255&p.charCodeAt(++w))<>>16)&65535)<>>16)&65535)<>>24))+((1540483477*(a>>>16)&65535)<<16)),h-=4,++w;switch(h){case 3:y^=(255&p.charCodeAt(w+2))<<16;case 2:y^=(255&p.charCodeAt(w+1))<>>16)&65535)<>>13))+((1540483477*(y>>>16)&65535)<>>15)>>>0}),v0.exports);return Ml.exports=l,Ml.exports.murmur3=l,Ml.exports.murmur2=c,Ml.exports}(),U0=b(K0);class du{constructor(){this.ids=[],this.positions=[],this.indexed=!1}add(l,c,p,d){this.ids.push(_5(l)),this.positions.push(c,p,d)}getPositions(l){if(!this.indexed)throw Error("Trying to get index, but feature positions are not indexed");let c=_5(l),p=0,d=this.ids.length-1;for(;p>1;this.ids[h]>=c?d=h:p=h+1}let a=[];for(;this.ids[p]===c;)a.push({index:this.positions[3*p],start:this.positions[3*p+1],end:this.positions[3*p+2]}),p++;return a}static serialize(l,c){let p=new Float64Array(l.ids),d=new Uint32Array(l.positions);return i5(p,d,0,p.length-1),c&&c.push(p.buffer,d.buffer),{ids:p,positions:d}}static deserialize(l){let c=new du;return c.ids=l.ids,c.positions=l.positions,c.indexed=!0,c}}function _5(l){let c=+l;return!isNaN(c)&&c<=Number.MAX_SAFE_INTEGER?c:U0(String(l))}function i5(l,c,p,d){for(;p>1],h=p-1,y=d+1;for(;;){do h++;while(l[h]a);if(h>=y)break;mu(l,h,y),mu(c,3*h,3*y),mu(c,3*h+1,3*y+1),mu(c,3*h+2,3*y+2)}y-p`u_${d}`),this.type=p}setUniform(l,c,p){l.set(p.constantOr(this.value))}getBinding(l,c,p){return this.type==="color"?new M2(l,c):new gu(l,c)}}class zl{constructor(l,c){this.uniformNames=c.map((p)=>`u_${p}`),this.patternFrom=null,this.patternTo=null,this.pixelRatioFrom=1,this.pixelRatioTo=1}setConstantPatternPositions(l,c){this.pixelRatioFrom=c.pixelRatio,this.pixelRatioTo=l.pixelRatio,this.patternFrom=c.tlbr,this.patternTo=l.tlbr}setConstantDashPositions(l,c){this.dashTo=[0,l.y,l.height,l.width],this.dashFrom=[0,c.y,c.height,c.width]}setUniform(l,c,p,d){let a=null;d==="u_pattern_to"?a=this.patternTo:d==="u_pattern_from"?a=this.patternFrom:d==="u_dasharray_to"?a=this.dashTo:d==="u_dasharray_from"?a=this.dashFrom:d==="u_pixel_ratio_to"?a=this.pixelRatioTo:d==="u_pixel_ratio_from"&&(a=this.pixelRatioFrom),a!==null&&l.set(a)}getBinding(l,c,p){return p.startsWith("u_pattern")||p.startsWith("u_dasharray_")?new g5(l,c):new gu(l,c)}}class Rl{constructor(l,c,p,d){this.expression=l,this.type=p,this.maxValue=0,this.paintVertexAttributes=c.map((a)=>({name:`a_${a}`,type:"Float32",components:p==="color"?2:1,offset:0})),this.paintVertexArray=new d}populatePaintArray(l,c,p){let d=this.paintVertexArray.length,a=this.expression.evaluate(new Nl(0,p),c,{},p.canonical,[],p.formattedSection);this.paintVertexArray.resize(l),this._setPaintValue(d,l,a)}updatePaintArray(l,c,p,d,a){let h=this.expression.evaluate(new Nl(0,a),p,d);this._setPaintValue(l,c,h)}_setPaintValue(l,c,p){if(this.type==="color"){let d=a5(p);for(let a=l;a<c;a++)this.paintVertexArray.emplace(a,d[0],d[1])}else{for(let d=l;d`u_${y}_t`),this.type=p,this.useIntegerZoom=d,this.zoom=a,this.maxValue=0,this.paintVertexAttributes=c.map((y)=>({name:`a_${y}`,type:"Float32",components:p==="color"?4:2,offset:0})),this.paintVertexArray=new h}populatePaintArray(l,c,p){let d=this.expression.evaluate(new Nl(this.zoom,p),c,{},p.canonical,[],p.formattedSection),a=this.expression.evaluate(new Nl(this.zoom+1,p),c,{},p.canonical,[],p.formattedSection),h=this.paintVertexArray.length;this.paintVertexArray.resize(l),this._setPaintValue(h,l,d,a)}updatePaintArray(l,c,p,d,a){let h=this.expression.evaluate(new Nl(this.zoom,a),p,d),y=this.expression.evaluate(new Nl(this.zoom+1,a),p,d);this._setPaintValue(l,c,h,y)}_setPaintValue(l,c,p,d){if(this.type==="color"){let a=a5(p),h=a5(d);for(let y=l;y<c;y++)this.paintVertexArray.emplace(y,a[0],a[1],h[0],h[1])}else{for(let a=l;a<c;a++)this.paintVertexArray.emplace(a,p,d);this.maxValue=Math.max(this.maxValue,Math.abs(p),Math.abs(d))}}upload(l){var c,p;((c=this.paintVertexArray)===null||c===void 0?void 0:c.arrayBuffer.byteLength)&&(((p=this.paintVertexBuffer)===null||p===void 0?void 0:p.buffer)?this.paintVertexBuffer.updateData(this.paintVertexArray):this.paintVertexBuffer=l.createVertexBuffer(this.paintVertexArray,this.paintVertexAttributes,this.expression.isStateDependent))}destroy(){this.paintVertexBuffer&&this.paintVertexBuffer.destroy()}setUniform(l,c){let p=this.useIntegerZoom?Math.floor(c.zoom):c.zoom,d=G0(this.expression.interpolationFactor(p,this.zoom,this.zoom+1),0,1);l.set(d)}getBinding(l,c,p){return new gu(l,c)}}class Bl{constructor(l,c,p,d,a,h){this.expression=l,this.type=c,this.useIntegerZoom=p,this.zoom=d,this.layerId=h,this.zoomInPaintVertexArray=new a,this.zoomOutPaintVertexArray=new a}populatePaintArray(l,c,p){let d=this.zoomInPaintVertexArray.length;this.zoomInPaintVertexArray.resize(l),this.zoomOutPaintVertexArray.resize(l),this._setPaintValues(d,l,this.getPositionIds(c),p)}updatePaintArray(l,c,p,d,a){this._setPaintValues(l,c,this.getPositionIds(p),a)}_setPaintValues(l,c,p,d){let a=this.getPositions(d);if(!a||!p)return;let h=a[p.min],y=a[p.mid],w=a[p.max];if(h&&y&&w)for(let A=l;A`#define HAS_UNIFORM_${d}`))}return l}getBinderAttributes(){let l=[];for(let c in this.binders){let p=this.binders[c];if(p instanceof Rl||p instanceof Ol)for(let d of p.paintVertexAttributes)l.push(d.name);else if(p instanceof Bl){let d=p.getVertexAttributes();for(let a of d)l.push(a.name)}}return l}getBinderUniforms(){let l=[];for(let c in this.binders){let p=this.binders[c];if(p instanceof B2||p instanceof zl||p instanceof Ol)for(let d of p.uniformNames)l.push(d)}return l}getPaintVertexBuffers(){return this._buffers}getUniforms(l,c){let p=[];for(let d in this.binders){let a=this.binders[d];if(a instanceof B2||a instanceof zl||a instanceof Ol){for(let h of a.uniformNames)if(c[h]){let y=a.getBinding(l,c[h],h);p.push({name:h,property:d,binding:y})}}}return p}setUniforms(l,c,p,d){for(let{name:a,property:h,binding:y}of c)this.binders[h].setUniform(y,d,p.get(h),a)}updatePaintBuffers(l){this._buffers=[];for(let c in this.binders){let p=this.binders[c];if(l&&p instanceof Bl){let d=l.fromScale===2?p.zoomInPaintVertexBuffer:p.zoomOutPaintVertexBuffer;d&&this._buffers.push(d)}else(p instanceof Rl||p instanceof Ol)&&p.paintVertexBuffer&&this._buffers.push(p.paintVertexBuffer)}}upload(l){for(let c in this.binders){let p=this.binders[c];(p instanceof Rl||p instanceof Ol||p instanceof Bl)&&p.upload(l)}this.updatePaintBuffers()}destroy(){for(let l in this.binders){let c=this.binders[l];(c instanceof Rl||c instanceof Ol||c instanceof Bl)&&c.destroy()}}}class au{constructor(l,c,p=()=>!0){this.programConfigurations={};for(let d of l)this.programConfigurations[d.id]=new kc(d,c,p);this.needsUpload=!1,this._featureMap=new du,this._bufferOffset=0}populatePaintArrays(l,c,p,d){for(let a in this.programConfigurations)this.programConfigurations[a].populatePaintArrays(l,c,d);c.id!==void 0&&this._featureMap.add(c.id,p,this._bufferOffset,l),this._bufferOffset=l,this.needsUpload=!0}updatePaintArrays(l,c,p,d){for(let a of p)this.needsUpload=this.programConfigurations[a.id].updatePaintArrays(l,this._featureMap,c,a,d)||this.needsUpload}get(l){return this.programConfigurations[l]}upload(l){if(this.needsUpload){for(let c in this.programConfigurations)this.programConfigurations[c].upload(l);this.needsUpload=!1}}destroy(){for(let l in this.programConfigurations)this.programConfigurations[l].destroy()}}function T7(l,c){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-dasharray":["dasharray_to","dasharray_from"],"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"]}[l]||[l.replace(`${c}-`,"").replace(/-/g,"_")]}function u9(l,c,p){let d={color:{source:Z5,composite:m},number:{source:sc,composite:Z5}},a=function(h){return{"line-pattern":{source:u1,composite:u1},"fill-pattern":{source:u1,composite:u1},"fill-extrusion-pattern":{source:u1,composite:u1},"line-dasharray":{source:T,composite:T}}[h]}(l);return(a==null?void 0:a[p])||d[c][p]}z1("ConstantBinder",B2),z1("CrossFadedConstantBinder",zl),z1("SourceExpressionBinder",Rl),z1("CrossFadedPatternBinder",vu),z1("CrossFadedDasharrayBinder",o5),z1("CompositeExpressionBinder",Ol),z1("ProgramConfiguration",kc,{omit:["_buffers"]}),z1("ProgramConfigurationSet",au);let Pu=Math.pow(2,14)-1,Z7=-Pu-1;function h5(l){let c=ll/l.extent,p=l.loadGeometry();for(let d of p)for(let a of d){let h=Math.round(a.x*c),y=Math.round(a.y*c);a.x=G0(h,Z7,Pu),a.y=G0(y,Z7,Pu),(ha.x+1||ya.y+1)&&w0("Geometry exceeds allowed extent, reduce your vector tile buffer size")}return p}function y5(l,c){return{type:l.type,id:l.id,properties:l.properties,geometry:c?h5(l):[]}}let Ir=-32768;function c9(l,c,p,d,a){l.emplaceBack(Ir+8*c+d,Ir+8*p+a)}class $3{constructor(l){this.zoom=l.zoom,this.overscaling=l.overscaling,this.layers=l.layers,this.layerIds=this.layers.map((c)=>c.id),this.index=l.index,this.hasDependencies=!1,this.layoutVertexArray=new i,this.indexArray=new Q1,this.segments=new I1,this.programConfigurations=new au(l.layers,l.zoom),this.stateDependentLayerIds=this.layers.filter((c)=>c.isStateDependent()).map((c)=>c.id)}populate(l,c,p){let d=this.layers[0],a=[],h=null,y=!1,w=d.type==="heatmap";if(d.type==="circle"){let k=d;h=k.layout.get("circle-sort-key"),y=!h.isConstant(),w||(w=k.paint.get("circle-pitch-alignment")==="map")}let A=w?c.subdivisionGranularity.circle:1;for(let{feature:k,id:W,index:n,sourceLayerIndex:q}of l){let C=this.layers[0]._featureFilter.needGeometry,B=y5(k,C);if(!this.layers[0]._featureFilter.filter(new Nl(this.zoom),B,p))continue;let M=y?h.evaluate(B,{},p):void 0,D={id:W,properties:k.properties,type:k.type,sourceLayerIndex:q,index:n,geometry:C?B.geometry:h5(k),patterns:{},sortKey:M};a.push(D)}y&&a.sort((k,W)=>k.sortKey-W.sortKey);for(let k of a){let{geometry:W,index:n,sourceLayerIndex:q}=k,C=l[n].feature;this.addFeature(k,W,n,p,A),c.featureIndex.insert(C,W,n,q,this.index)}}update(l,c,p){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(l,c,this.stateDependentLayers,{imagePositions:p})}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(l){this.uploaded||(this.layoutVertexBuffer=l.createVertexBuffer(this.layoutVertexArray,O1),this.indexBuffer=l.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(l),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}addFeature(l,c,p,d,a=1){let h;switch(a){case 1:h=[0,7];break;case 3:h=[0,2,5,7];break;case 5:h=[0,1,3,4,6,7];break;case 7:h=[0,1,2,3,4,5,6,7];break;default:throw Error(`Invalid circle bucket granularity: ${a}; valid values are 1, 3, 5, 7.`)}let y=h.length;for(let w of c)for(let A of w){let{x:k,y:W}=A;if(k=ll||W=ll)continue;let n=this.segments.prepareSegment(y*y,this.layoutVertexArray,this.indexArray,l.sortKey),q=n.vertexLength;for(let C=0;C<y;C++)for(let B=0;B<y;B++)c9(this.layoutVertexArray,k,W,h[B],h[C]);for(let C=0;C<y-1;C++)for(let B=0;B1){if(Ed(l,c))return!0;for(let d of c)if(nd(d,l,p))return!0}for(let d of l)if(nd(d,c,p))return!0;return!1}function Ed(l,c){if(l.length===0||c.length===0)return!1;for(let p=0;p<l.length-1;p++){let d=l[p],a=l[p+1];for(let h=0;h<c.length-1;h++)if(NS(d,a,c[h],c[h+1]))return!0}return!1}function NS(l,c,p,d){return u0(l,p,d)!==u0(c,p,d)&&u0(l,c,p)!==u0(l,c,d)}function nd(l,c,p){let d=p*p;if(c.length===1)return l.distSqr(c[0])<d;for(let a=1;a<c.length;a++)if(ga(l,c[a-1],c[a])<d)return!0;return!1}function ga(l,c,p){let d=c.distSqr(p);if(d===0)return l.distSqr(c);let a=((l.x-c.x)*(p.x-c.x)+(l.y-c.y)*(p.y-c.y))/d;return l.distSqr(a1?p:p.sub(c)._mult(a)._add(c))}function va(l,c){let p,d,a,h=!1;for(let y of l){p=y;for(let w=0,A=p.length-1;w

c.y!=a.y>c.y&&c.x<(a.x-d.x)*(c.y-d.y)/(a.y-d.y)+d.x&&(h=!h)}return h}function Yr(l,c){let p=!1;for(let d=0,a=l.length-1;dc.y!=y.y>c.y&&c.x<(y.x-h.x)*(c.y-h.y)/(y.y-h.y)+h.x&&(p=!p)}return p}function FS(l,c,p){let d=p[0],a=p[2];if(l.x<d.x&&c.xa.x&&c.x>a.x||l.y<d.y&&c.ya.y&&c.y>a.y)return!1;let h=u0(l,c,p[0]);return h!==u0(l,c,p[1])||h!==u0(l,c,p[2])||h!==u0(l,c,p[3])}function zr(l,c,p){let d=c.paint.get(l).value;return d.kind==="constant"?d.value:p.programConfigurations.get(c.id).getMaxValue(l)}function p9(l){return Math.sqrt(l[0]*l[0]+l[1]*l[1])}function f9(l,c,p,d,a){if(!c[0]&&!c[1])return l;let h=H.convert(c)._mult(a);p==="viewport"&&h._rotate(-d);let y=[];for(let w of l)y.push(w.sub(h));return y}function qS(l){let c=[];for(let p=0;pAd(O,M,D,I))}(A,a,y,w),C=k),aa({queryGeometry:q,size:C,transform:a,unwrappedTileID:y,getElevation:w,pitchAlignment:n,pitchScale:W},d)}}class Vd extends $3{}let wa;z1("HeatmapBucket",Vd,{omit:["layers"]});var DS={get paint(){return wa=wa||new C0({"heatmap-radius":new $1(E1.paint_heatmap["heatmap-radius"]),"heatmap-weight":new $1(E1.paint_heatmap["heatmap-weight"]),"heatmap-intensity":new T1(E1.paint_heatmap["heatmap-intensity"]),"heatmap-color":new X5(E1.paint_heatmap["heatmap-color"]),"heatmap-opacity":new T1(E1.paint_heatmap["heatmap-opacity"])})}};function Wd(l,{width:c,height:p},d,a){if(a){if(a instanceof Uint8ClampedArray)a=new Uint8Array(a.buffer);else if(a.length!==c*p*d)throw RangeError(`mismatched image size. expected: ${a.length} but got: ${c*p*d}`)}else a=new Uint8Array(c*p*d);return l.width=c,l.height=p,l.data=a,l}function sa(l,{width:c,height:p},d){if(c===l.width&&p===l.height)return;let a=Wd({},{width:c,height:p},d);Ld(l,a,{x:0,y:0},{x:0,y:0},{width:Math.min(l.width,c),height:Math.min(l.height,p)},d),l.width=c,l.height=p,l.data=a.data}function Ld(l,c,p,d,a,h){if(a.width===0||a.height===0)return c;if(a.width>l.width||a.height>l.height||p.x>l.width-a.width||p.y>l.height-a.height)throw RangeError("out of range source coordinates for image copy");if(a.width>c.width||a.height>c.height||d.x>c.width-a.width||d.y>c.height-a.height)throw RangeError("out of range destination coordinates for image copy");let y=l.data,w=c.data;if(y===w)throw Error("srcData equals dstData, so image is already copied");for(let A=0;A<a.height;A++){let k=((p.y+A)*l.width+p.x)*h,W=((d.y+A)*c.width+d.x)*h;for(let n=0;n<a.width*h;n++)w[W+n]=y[k+n]}return c}class b7{constructor(l,c){Wd(this,l,1,c)}resize(l){sa(this,l,1)}clone(){return new b7({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(l,c,p,d,a){Ld(l,c,p,d,a,1)}}class n2{constructor(l,c){Wd(this,l,4,c)}resize(l){sa(this,l,4)}replace(l,c){c?this.data.set(l):this.data=l instanceof Uint8ClampedArray?new Uint8Array(l.buffer):l}clone(){return new n2({width:this.width,height:this.height},new Uint8Array(this.data))}static copy(l,c,p,d,a){Ld(l,c,p,d,a,4)}setPixel(l,c,p){let d=4*(l*this.width+c);this.data[d+0]=Math.round(255*p.r/p.a),this.data[d+1]=Math.round(255*p.g/p.a),this.data[d+2]=Math.round(255*p.b/p.a),this.data[d+3]=Math.round(255*p.a)}}function Sa(l){let c=new Uint8Array(l.length);for(let p=0;p{c[l.evaluationKey]=A;let k=l.expression.evaluate(c);a.setPixel(y/4/p,w/4,k)};if(l.clips)for(let y=0,w=0;y<d;++y,w+=4*p)for(let A=0,k=0;A<p;A++,k+=4){let W=A/(p-1),{start:n,end:q}=l.clips[y];h(w,k,n*(1-W)+q*W)}else for(let y=0,w=0;y<p;y++,w+=4)h(0,w,y/(p-1));return a}z1("AlphaImage",b7),z1("RGBAImage",n2);let Cd="big-fb";class Ea extends r2{createBucket(l){return new Vd(l)}constructor(l,c){super(l,DS,c),this.heatmapFbos=new Map,this._updateColorRamp()}_handleSpecialPaintPropertyUpdate(l){l==="heatmap-color"&&this._updateColorRamp()}_updateColorRamp(){this.colorRamp=ka({expression:this._transitionablePaint._values["heatmap-color"].value.expression,evaluationKey:"heatmapDensity",image:this.colorRamp}),this.colorRampTexture=null}resize(){this.heatmapFbos.has(Cd)&&this.heatmapFbos.delete(Cd)}queryRadius(l){return zr("heatmap-radius",this,l)}queryIntersectsFeature({queryGeometry:l,feature:c,featureState:p,geometry:d,transform:a,pixelsToTileUnits:h,unwrappedTileID:y,getElevation:w}){return aa({queryGeometry:l,size:this.paint.get("heatmap-radius").evaluate(c,p)*h,transform:a,unwrappedTileID:y,getElevation:w},d)}hasOffscreenPass(){return this.paint.get("heatmap-opacity")!==0&&!this.isHidden()}}let na;var RS={get paint(){return na=na||new C0({"hillshade-illumination-direction":new T1(E1.paint_hillshade["hillshade-illumination-direction"]),"hillshade-illumination-altitude":new T1(E1.paint_hillshade["hillshade-illumination-altitude"]),"hillshade-illumination-anchor":new T1(E1.paint_hillshade["hillshade-illumination-anchor"]),"hillshade-exaggeration":new T1(E1.paint_hillshade["hillshade-exaggeration"]),"hillshade-shadow-color":new T1(E1.paint_hillshade["hillshade-shadow-color"]),"hillshade-highlight-color":new T1(E1.paint_hillshade["hillshade-highlight-color"]),"hillshade-accent-color":new T1(E1.paint_hillshade["hillshade-accent-color"]),"hillshade-method":new T1(E1.paint_hillshade["hillshade-method"]),resampling:new T1(E1.paint_hillshade.resampling)})}};class Aa extends r2{constructor(l,c){super(l,RS,c),this.recalculate({zoom:0,zoomHistory:{}},void 0)}getIlluminationProperties(){let l=this.paint.get("hillshade-illumination-direction").values,c=this.paint.get("hillshade-illumination-altitude").values,p=this.paint.get("hillshade-highlight-color").values,d=this.paint.get("hillshade-shadow-color").values,a=Math.max(l.length,c.length,p.length,d.length);l=l.concat(Array(a-l.length).fill(l.at(-1))),c=c.concat(Array(a-c.length).fill(c.at(-1))),p=p.concat(Array(a-p.length).fill(p.at(-1))),d=d.concat(Array(a-d.length).fill(d.at(-1)));let h=c.map(Wu);return{directionRadians:l.map(Wu),altitudeRadians:h,shadowColor:d,highlightColor:p}}hasOffscreenPass(){return this.paint.get("hillshade-exaggeration")!==0&&!this.isHidden()}}let Va;var HS={get paint(){return Va=Va||new C0({"color-relief-opacity":new T1(E1["paint_color-relief"]["color-relief-opacity"]),"color-relief-color":new X5(E1["paint_color-relief"]["color-relief-color"]),resampling:new T1(E1["paint_color-relief"].resampling)})}};function Wa(l){return"data"in l}class d9{constructor(l,c,p,d){this.context=l,this.format=p,this.texture=l.gl.createTexture(),this._ownedHandle=this.texture,this.update(c,d)}update(l,c,p){var d;let{width:a,height:h}=l,y=(((d=this.size)===null||d===void 0?void 0:d[0])!==a||this.size[1]!==h)&&!p,{context:w}=this,{gl:A}=w;this.useMipmap=Boolean(c==null?void 0:c.useMipmap),A.bindTexture(A.TEXTURE_2D,this.texture),w.pixelStoreUnpackFlipY.set(!1),w.pixelStoreUnpack.set(1);let k=this.format===A.RGBA&&(c==null?void 0:c.premultiply)!==!1;if(y)this.size=[a,h],Wa(l)?(w.pixelStoreUnpackPremultiplyAlpha.set(!1),this._uploadRawData(l,k,a,h,A)):(w.pixelStoreUnpackPremultiplyAlpha.set(k),this._uploadDomImage(l,A));else{let{x:W,y:n}=p||{x:0,y:0};Wa(l)?(w.pixelStoreUnpackPremultiplyAlpha.set(!1),this._updateRawData(l,k,W,n,a,h,A)):(w.pixelStoreUnpackPremultiplyAlpha.set(k),this._updateDomImage(l,W,n,A))}this.useMipmap&&this.isSizePowerOfTwo()&&A.generateMipmap(A.TEXTURE_2D),w.pixelStoreUnpackFlipY.setDefault(),w.pixelStoreUnpack.setDefault(),w.pixelStoreUnpackPremultiplyAlpha.setDefault()}_uploadDomImage(l,c){c.texImage2D(c.TEXTURE_2D,0,this.format,this.format,c.UNSIGNED_BYTE,l)}_uploadRawData(l,c,p,d,a){let{data:h}=l;c&&h&&(h=Sa(h)),a.texImage2D(a.TEXTURE_2D,0,this.format,p,d,0,this.format,a.UNSIGNED_BYTE,h)}_updateDomImage(l,c,p,d){d.texSubImage2D(d.TEXTURE_2D,0,c,p,d.RGBA,d.UNSIGNED_BYTE,l)}_updateRawData(l,c,p,d,a,h,y){let{data:w}=l;c&&w&&(w=Sa(w)),y.texSubImage2D(y.TEXTURE_2D,0,p,d,a,h,y.RGBA,y.UNSIGNED_BYTE,w)}bind(l,c,p){let{context:d}=this,{gl:a}=d;this.texture!==this._ownedHandle&&(this.texture=this._ownedHandle),a.bindTexture(a.TEXTURE_2D,this.texture),p!==a.LINEAR_MIPMAP_NEAREST||this.isSizePowerOfTwo()||(p=a.LINEAR),l!==this.filter&&(a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MAG_FILTER,l),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_MIN_FILTER,p||l),this.filter=l),c!==this.wrap&&(a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_S,c),a.texParameteri(a.TEXTURE_2D,a.TEXTURE_WRAP_T,c),this.wrap=c)}isSizePowerOfTwo(){return this.size[0]===this.size[1]&&Math.log(this.size[0])/Math.LN2%1==0}destroy(){let{gl:l}=this.context;l.deleteTexture(this.texture),this.texture=null,this._ownedHandle=null}}class xd{constructor(l,c,p,d=1,a=1,h=1,y=0){if(this.uid=l,c.height!==c.width)throw RangeError("DEM tiles must be square");if(p&&!["mapbox","terrarium","custom"].includes(p))return void w0(`"${p}" is not a valid encoding type. Valid types include "mapbox", "terrarium" and "custom".`);this.stride=c.height;let w=this.dim=c.height-2;switch(this.data=new Uint32Array(c.data.buffer),p){case"terrarium":this.redFactor=256,this.greenFactor=1,this.blueFactor=0.00390625,this.baseShift=32768;break;case"custom":this.redFactor=d,this.greenFactor=a,this.blueFactor=h,this.baseShift=y;break;default:this.redFactor=6553.6,this.greenFactor=25.6,this.blueFactor=0.1,this.baseShift=1e4}for(let A=0;A<w;A++)this.data[this._idx(-1,A)]=this.data[this._idx(0,A)],this.data[this._idx(w,A)]=this.data[this._idx(w-1,A)],this.data[this._idx(A,-1)]=this.data[this._idx(A,0)],this.data[this._idx(A,w)]=this.data[this._idx(A,w-1)];this.data[this._idx(-1,-1)]=this.data[this._idx(0,0)],this.data[this._idx(w,-1)]=this.data[this._idx(w-1,0)],this.data[this._idx(-1,w)]=this.data[this._idx(0,w-1)],this.data[this._idx(w,w)]=this.data[this._idx(w-1,w-1)],this.min=Number.MAX_SAFE_INTEGER,this.max=Number.MIN_SAFE_INTEGER;for(let A=0;A<w;A++)for(let k=0;kthis.max&&(this.max=W),W<this.min&&(this.min=W)}}get(l,c){let p=new Uint8Array(this.data.buffer),d=4*this._idx(l,c);return this.unpack(p[d],p[d+1],p[d+2])}getUnpackVector(){return[this.redFactor,this.greenFactor,this.blueFactor,this.baseShift]}_idx(l,c){if(l=this.dim+1||c=this.dim+1)throw RangeError(`Out of range source coordinates for DEM data. x: ${l}, y: ${c}, dim: ${this.dim}`);return(c+1)*this.stride+(l+1)}unpack(l,c,p){return l*this.redFactor+c*this.greenFactor+p*this.blueFactor-this.baseShift}pack(l){return La(l,this.getUnpackVector())}getPixels(){return new n2({width:this.stride,height:this.stride},new Uint8Array(this.data.buffer))}backfillBorder(l,c,p){if(this.dim!==l.dim)throw Error("dem dimension mismatch");let d=c*this.dim,a=c*this.dim+this.dim,h=p*this.dim,y=p*this.dim+this.dim;switch(c){case-1:d=a-1;break;case 1:a=d+1}switch(p){case-1:h=y-1;break;case 1:y=h+1}let w=-c*this.dim,A=-p*this.dim;for(let k=h;k<y;k++)for(let W=d;W<a;W++)this.data[this._idx(W,k)]=l.data[this._idx(W+w,k+A)]}}function La(l,c){let p=c[0],d=c[1],a=c[2],h=c[3],y=Math.min(p,d,a),w=Math.round((l+h)/y);return{r:Math.floor(w*y/p)%256,g:Math.floor(w*y/d)%256,b:Math.floor(w*y/a)%256}}z1("DEMData",xd);class Ca extends r2{constructor(l,c){super(l,HS,c)}_createColorRamp(l){let c={elevationStops:[],colorStops:[]},p=this._transitionablePaint._values["color-relief-color"].value.expression;if(p instanceof H3&&p._styleExpression.expression instanceof c0){this.colorRampExpression=p;let h=p._styleExpression.expression;c.elevationStops=h.labels,c.colorStops=[];for(let y of c.elevationStops)c.colorStops.push(h.evaluate({globals:{elevation:y}}))}if(c.elevationStops.length<1&&(c.elevationStops=[0],c.colorStops=[dl.transparent]),c.elevationStops.length<2&&(c.elevationStops.push(c.elevationStops[0]+1),c.colorStops.push(c.colorStops[0])),c.elevationStops.length<=l)return c;let d={elevationStops:[],colorStops:[]},a=(c.elevationStops.length-1)/(l-1);for(let h=0;h<c.elevationStops.length-0.5;h+=a)d.elevationStops.push(c.elevationStops[Math.round(h)]),d.colorStops.push(c.colorStops[Math.round(h)]);return w0(`Too many colors in specification of ${this.id} color-relief layer, may not render properly. Max possible colors: ${l}, provided: ${c.elevationStops.length}`),d}_colorRampChanged(){return this.colorRampExpression!=this._transitionablePaint._values["color-relief-color"].value.expression}getColorRampTextures(l,c,p){if(this.colorRampTextures&&!this._colorRampChanged())return this.colorRampTextures;let d=this._createColorRamp(c),a=new n2({width:d.colorStops.length,height:1}),h=new n2({width:d.colorStops.length,height:1});for(let y=0;y<d.elevationStops.length;y++){let w=La(d.elevationStops[y],p);h.setPixel(0,y,new dl(w.r/255,w.g/255,w.b/255,1)),a.setPixel(0,y,d.colorStops[y])}return this.colorRampTextures={elevationTexture:new d9(l,h,l.gl.RGBA),colorTexture:new d9(l,a,l.gl.RGBA)},this.colorRampTextures}hasOffscreenPass(){return!this.isHidden()&&!!this.colorRampTextures}}let IS=Pl([{name:"a_pos",components:2,type:"Int16"}],4),{members:YS}=IS;function m9(l,c,p){let d=p.patternDependencies,a=!1;for(let h of c){let y=h.paint.get(`${l}-pattern`);y.isConstant()||(a=!0);let w=y.constantOr(null);w&&(a=!0,d[w.to]=!0,d[w.from]=!0)}return a}function Nd(l,c,p,d,a){let{zoom:h}=d,y=a.patternDependencies;for(let w of c){let A=w.paint.get(`${l}-pattern`).value;if(A.kind!=="constant"){let k=A.evaluate({zoom:h-1},p,{},a.availableImages),W=A.evaluate({zoom:h},p,{},a.availableImages),n=A.evaluate({zoom:h+1},p,{},a.availableImages);k=(k==null?void 0:k.name)?k.name:k,W=(W==null?void 0:W.name)?W.name:W,n=(n==null?void 0:n.name)?n.name:n,y[k]=!0,y[W]=!0,y[n]=!0,p.patterns[w.id]={min:k,mid:W,max:n}}}return p}function xa(l,c,p,d,a){let h;if(a===function(y,w,A,k){let W=0;for(let n=w,q=A-k;n0)for(let y=c;y

=c;y-=d)h=Pa(y/d|0,l[y],l[y+1],h);return h&&Or(h,h.next)&&(e7(h),h=h.next),h}function Ec(l,c){if(!l)return l;c||(c=l);let p,d=l;do if(p=!1,d.steiner||!Or(d,d.next)&&p0(d.prev,d,d.next)!==0)d=d.next;else{if(e7(d),d=c=d.prev,d===d.next)break;p=!0}while(p||d!==c);return c}function $7(l,c,p,d,a,h,y){if(!l)return;!y&&h&&function(A,k,W,n){let q=A;do q.z===0&&(q.z=Fd(q.x,q.y,k,W,n)),q.prevZ=q.prev,q.nextZ=q.next,q=q.next;while(q!==A);q.prevZ.nextZ=null,q.prevZ=null,function(C){let B,M=1;do{let D,I=C;C=null;let O=null;for(B=0;I;){B++;let Y=I,G=0;for(let Z=0;Z0||j>0&&Y;)G!==0&&(j===0||!Y||I.z1)}(q)}(l,d,a,h);let w=l;for(;l.prev!==l.next;){let{prev:A,next:k}=l;if(h?OS(l,d,a,h):zS(l))c.push(A.i,l.i,k.i),e7(l),l=k.next,w=k.next;else if((l=k)===w){y?y===1?$7(l=GS(Ec(l),c),c,p,d,a,h,2):y===2&&QS(l,c,p,d,a,h):$7(Ec(l),c,p,d,a,h,1);break}}}function zS(l){let c=l.prev,p=l,d=l.next;if(p0(c,p,d)>=0)return!1;let a=c.x,h=p.x,y=d.x,w=c.y,A=p.y,k=d.y,W=Math.min(a,h,y),n=Math.min(w,A,k),q=Math.max(a,h,y),C=Math.max(w,A,k),B=d.next;for(;B!==c;){if(B.x>=W&&B.x=n&&B.y=0)return!1;B=B.next}return!0}function OS(l,c,p,d){let a=l.prev,h=l,y=l.next;if(p0(a,h,y)>=0)return!1;let w=a.x,A=h.x,k=y.x,W=a.y,n=h.y,q=y.y,C=Math.min(w,A,k),B=Math.min(W,n,q),M=Math.max(w,A,k),D=Math.max(W,n,q),I=Fd(C,B,c,p,d),O=Fd(M,D,c,p,d),Y=l.prevZ,G=l.nextZ;for(;Y&&Y.z>=I&&G&&G.z=C&&Y.x=B&&Y.y=0)return!1;if(Y=Y.prevZ,G.x>=C&&G.x=B&&G.y=0)return!1;G=G.nextZ}for(;Y&&Y.z>=I;){if(Y.x>=C&&Y.x=B&&Y.y=0)return!1;Y=Y.prevZ}for(;G&&G.z=C&&G.x=B&&G.y=0)return!1;G=G.nextZ}return!0}function GS(l,c){let p=l;do{let d=p.prev,a=p.next.next;!Or(d,a)&&Fa(d,p,p.next,a)&&i7(d,a)&&i7(a,d)&&(c.push(d.i,p.i,a.i),e7(p),e7(p.next),p=l=a),p=p.next}while(p!==l);return Ec(p)}function QS(l,c,p,d,a,h){let y=l;do{let w=y.next.next;for(;w!==y.prev;){if(y.i!==w.i&&ZS(y,w)){let A=qa(y,w);return y=Ec(y,y.next),A=Ec(A,A.next),$7(y,c,p,d,a,h,0),void $7(A,c,p,d,a,h,0)}w=w.next}y=y.next}while(y!==l)}function jS(l,c){let p=l.x-c.x;return p===0&&(p=l.y-c.y,p===0)&&(p=(l.next.y-l.y)/(l.next.x-l.x)-(c.next.y-c.y)/(c.next.x-c.x)),p}function JS(l,c){let p=function(a,h){let y=h,w=a.x,A=a.y,k,W=-1/0;if(Or(a,y))return y;do{if(Or(a,y.next))return y.next;if(A=y.next.y&&y.next.y!==y.y){let M=y.x+(A-y.y)*(y.next.x-y.x)/(y.next.y-y.y);if(MW&&(W=M,k=y.x=y.x&&y.x>=q&&w!==y.x&&Na(A<C?w:W,A,q,C,A<C?W:w,A,y.x,y.y)){let M=Math.abs(A-y.y)/(w-y.x);i7(y,a)&&(Mk.x||y.x===k.x&&XS(k,y)))&&(k=y,B=M)}y=y.next}while(y!==n);return k}(l,c);if(!p)return c;let d=qa(p,l);return Ec(d,d.next),Ec(p,p.next)}function XS(l,c){return p0(l.prev,l,c.prev)<0&&p0(c.next,l,l.next)<0}function Fd(l,c,p,d,a){return(l=1431655765&((l=858993459&((l=252645135&((l=16711935&((l=(l-p)*a|0)|l<<8))|l<<4))|l<<2))|l<<1))|(c=1431655765&((c=858993459&((c=252645135&((c=16711935&((c=(c-d)*a|0)|c<<8))|c<<4))|c<<2))|c<<1))<<1}function TS(l){let c=l,p=l;do(c.x<p.x||c.x===p.x&&c.y

=(l-y)*(h-w)&&(l-y)*(d-w)>=(p-y)*(c-w)&&(p-y)*(h-w)>=(a-y)*(d-w)}function _7(l,c,p,d,a,h,y,w){return!(l===y&&c===w)&&Na(l,c,p,d,a,h,y,w)}function ZS(l,c){return l.next.i!==c.i&&l.prev.i!==c.i&&!function(p,d){let a=p;do{if(a.i!==p.i&&a.next.i!==p.i&&a.i!==d.i&&a.next.i!==d.i&&Fa(a,a.next,p,d))return!0;a=a.next}while(a!==p);return!1}(l,c)&&(i7(l,c)&&i7(c,l)&&function(p,d){let a=p,h=!1,y=(p.x+d.x)/2,w=(p.y+d.y)/2;do a.y>w!=a.next.y>w&&a.next.y!==a.y&&y0&&p0(c.prev,c,c.next)>0)}function p0(l,c,p){return(c.y-l.y)*(p.x-c.x)-(c.x-l.x)*(p.y-c.y)}function Or(l,c){return l.x===c.x&&l.y===c.y}function Fa(l,c,p,d){let a=v9(p0(l,c,p)),h=v9(p0(l,c,d)),y=v9(p0(p,d,l)),w=v9(p0(p,d,c));return a!==h&&y!==w||!(a!==0||!g9(l,p,c))||!(h!==0||!g9(l,d,c))||!(y!==0||!g9(p,l,d))||!(w!==0||!g9(p,c,d))}function g9(l,c,p){return c.x=Math.min(l.x,p.x)&&c.y=Math.min(l.y,p.y)}function v9(l){return l>0?1:l<0?-1:0}function i7(l,c){return p0(l.prev,l,l.next)=0&&p0(l,l.prev,c)>=0:p0(l,c,l.prev)<0||p0(l,l.next,c)l)throw Error("Min granularity must not be greater than base granularity.");this._baseZoomGranularity=l,this._minGranularity=c}getGranularityForZoomLevel(l){return Math.max(Math.floor(this._baseZoomGranularity/(1<<l)),this._minGranularity,1)}}class t7{constructor(l){this.fill=l.fill,this.line=l.line,this.tile=l.tile,this.stencil=l.stencil,this.circle=l.circle}}t7.noSubdivision=new t7({fill:new nc(0,0),line:new nc(0,0),tile:new nc(0,0),stencil:new nc(0,0),circle:1}),z1("SubdivisionGranularityExpression",nc),z1("SubdivisionGranularitySetting",t7);let Gr=-32768,l8=32767;class Ma{constructor(l,c){this._vertexBuffer=[],this._vertexDictionary=new Map,this._used=!1,this._granularity=l,this._granularityCellSize=ll/l,this._canonical=c}_getKey(l,c){return(l+=32768)<<16|c+32768}_vertexToIndex(l,c){if(l<-32768||c32767||c>32767)throw Error("Vertex coordinates are out of signed 16 bit integer range.");let p=0|Math.round(l),d=0|Math.round(c),a=this._getKey(p,d);if(this._vertexDictionary.has(a))return this._vertexDictionary.get(a);let h=this._vertexBuffer.length/2;return this._vertexDictionary.set(a,h),this._vertexBuffer.push(p,d),h}_subdivideTrianglesScanline(l){if(this._granularity<2)return function(d,a){let h=[];for(let y=0;y0?(h.push(w),h.push(k),h.push(A)):(h.push(w),h.push(A),h.push(k))}return h}(this._vertexBuffer,l);let c=[],p=l.length;for(let d=0;d<p;d+=3){let a=[l[d+0],l[d+1],l[d+2]],h=[this._vertexBuffer[2*l[d+0]+0],this._vertexBuffer[2*l[d+0]+1],this._vertexBuffer[2*l[d+1]+0],this._vertexBuffer[2*l[d+1]+1],this._vertexBuffer[2*l[d+2]+0],this._vertexBuffer[2*l[d+2]+1]],y=1/0,w=1/0,A=-1/0,k=-1/0;for(let B=0;B<3;B++){let M=h[2*B],D=h[2*B+1];y=Math.min(y,M),A=Math.max(A,M),w=Math.min(w,D),k=Math.max(k,D)}if(y===A||w===k)continue;let W=Math.floor(y/this._granularityCellSize),n=Math.ceil(A/this._granularityCellSize),q=Math.floor(w/this._granularityCellSize),C=Math.ceil(k/this._granularityCellSize);if(W!==n||q!==C)for(let B=q;B<C;B++){let M=this._scanlineGenerateVertexRingForCellRow(B,h,a);bS(this._vertexBuffer,M,c)}else c.push(...a)}return c}_scanlineGenerateVertexRingForCellRow(l,c,p){let d=l*this._granularityCellSize,a=d+this._granularityCellSize,h=[];for(let y=0;y=1||G<=0)||D&&(Aa)){W>=d&&W0&&h.push(this._vertexToIndex(w+C*Y,A+B*Y));let j=w+C*Math.max(Y,0),Z=w+C*Math.min(G,1);M||this._generateIntraEdgeVertices(h,w,A,k,W,j,Z),!D&&G=d&&W<=a)&&h.push(p[(y+1)%3]),!D&&(W=a)&&this._generateInterEdgeVertices(h,w,A,k,W,n,q,Z,d,a)}return h}_generateIntraEdgeVertices(l,c,p,d,a,h,y){let w=d-c,A=a-p,k=A===0,W=k?Math.min(c,d):Math.min(h,y),n=k?Math.max(c,d):Math.max(h,y),q=Math.floor(W/this._granularityCellSize)+1,C=Math.ceil(n/this._granularityCellSize)-1;if(k?c<d:h<y)for(let B=q;B=q;B--){let M=B*this._granularityCellSize;l.push(this._vertexToIndex(M,p+A*(M-c)/w))}}_generateInterEdgeVertices(l,c,p,d,a,h,y,w,A,k){let W=a-p,n=h-d,q=y-a,C=(A-a)/q,B=(k-a)/q,M=Math.min(C,B),D=Math.max(C,B),I=d+n*M,O=Math.floor(Math.min(I,w)/this._granularityCellSize)+1,Y=Math.ceil(Math.max(I,w)/this._granularityCellSize)-1,G=w=1||D<=0){let d1=p-y,m1=h+(c-h)*Math.min((A-y)/d1,(k-y)/d1);O=Math.floor(Math.min(m1,w)/this._granularityCellSize)+1,Y=Math.ceil(Math.max(m1,w)/this._granularityCellSize)-1,G=w0?k:A;if(G)for(let d1=O;d1=O;d1--)l.push(this._vertexToIndex(d1*this._granularityCellSize,Z))}_generateOutline(l){let c=[];for(let p of l){let d=Ac(p,this._granularity,!0),a=this._pointArrayToIndices(d),h=[];for(let y=1;y<a.length;y++)h.push(a[y-1]),h.push(a[y]);c.push(h)}return c}_handlePoles(l){let c=!1,p=!1;this._canonical&&(this._canonical.y===0&&(c=!0),this._canonical.y===(1<<this._canonical.z)-1&&(p=!0)),(c||p)&&this._fillPoles(l,c,p)}_ensureNoPoleVertices(){let l=this._vertexBuffer;for(let c=0;ca!=(h===Gr)?(l.push(c),l.push(p),l.push(this._vertexToIndex(d,h)),l.push(p),l.push(this._vertexToIndex(a,h)),l.push(this._vertexToIndex(d,h))):(l.push(p),l.push(c),l.push(this._vertexToIndex(d,h)),l.push(this._vertexToIndex(a,h)),l.push(p),l.push(this._vertexToIndex(d,h)))}_fillPoles(l,c,p){let d=this._vertexBuffer,a=ll,h=l.length;for(let y=2;y<h;y+=3){let w=l[y-2],A=l[y-1],k=l[y],W=d[2*w],n=d[2*w+1],q=d[2*A],C=d[2*A+1],B=d[2*k],M=d[2*k+1];c&&(n===0&&C===0&&this._generatePoleQuad(l,w,A,W,q,Gr),C===0&&M===0&&this._generatePoleQuad(l,A,k,q,B,Gr),M===0&&n===0&&this._generatePoleQuad(l,k,w,B,W,Gr)),p&&(n===a&&C===a&&this._generatePoleQuad(l,w,A,W,q,l8),C===a&&M===a&&this._generatePoleQuad(l,A,k,q,B,l8),M===a&&n===a&&this._generatePoleQuad(l,k,w,B,W,l8))}}_initializeVertices(l){for(let c=0;c<l.length;c+=2)this._vertexToIndex(l[c],l[c+1])}subdividePolygonInternal(l,c){if(this._used)throw Error("Subdivision: multiple use not allowed.");this._used=!0;let{flattened:p,holeIndices:d}=function(y){let w=[],A=[];for(let k of y)if(k.length!==0){k!==y[0]&&w.push(A.length/2);for(let W of k)A.push(W.x),A.push(W.y)}return{flattened:A,holeIndices:w}}(l),a;this._initializeVertices(p);try{let y=function(A,k,W=2){let n=k&&k.length,q=n?k[0]*W:A.length,C=xa(A,0,q,W,!0),B=[];if(!C||C.next===C.prev)return B;let M,D,I;if(n&&(C=function(O,Y,G,j){let Z=[];for(let d1=0,m1=Y.length;d1<m1;d1++){let a1=xa(O,Y[d1]*j,d1<m1-1?Y[d1+1]*j:O.length,j,!1);a1===a1.next&&(a1.steiner=!0),Z.push(TS(a1))}Z.sort(jS);for(let d1=0;d180*W){M=A[0],D=A[1];let O=M,Y=D;for(let G=W;G<q;G+=W){let j=A[G],Z=A[G+1];j<M&&(M=j),ZO&&(O=j),Z>Y&&(Y=Z)}I=Math.max(O-M,Y-D),I=I!==0?32767/I:0}return $7(C,B,W,M,D,I,0),B}(p,d),w=this._convertIndices(p,y);a=this._subdivideTrianglesScanline(w)}catch(y){console.error(y)}let h=[];return c&&(h=this._generateOutline(l)),this._ensureNoPoleVertices(),this._handlePoles(a),{verticesFlattened:this._vertexBuffer,indicesTriangles:a,indicesLineList:h}}_convertIndices(l,c){let p=[];for(let d of c)p.push(this._vertexToIndex(l[2*d],l[2*d+1]));return p}_pointArrayToIndices(l){let c=[];for(let p of l)c.push(this._vertexToIndex(p.x,p.y));return c}}function Ba(l,c,p,d=!0){return new Ma(p,c).subdividePolygonInternal(l,d)}function Ac(l,c,p=!1){if(!l||l.length<1)return[];if(l.length<2)return[];let d=l[0],a=l[l.length-1],h=p&&(d.x!==a.x||d.y!==a.y);if(c<2)return h?[...l,l[0]]:[...l];let y=Math.floor(ll/c),w=[];w.push(new H(l[0].x,l[0].y));let A=l.length,k=h?A:A-1;for(let W=0;W<k;W++){let n=l[W],q=W0?(Math.floor(d1/y)+1)*y:(Math.ceil(d1/y)-1)*y,w1=G>0?(Math.floor(m1/y)+1)*y:(Math.ceil(m1/y)-1)*y,k1=Math.abs(d1-s1),y1=Math.abs(m1-w1),n1=Math.abs(d1-M),Y1=Math.abs(m1-D),U1=I?k1/j:Number.POSITIVE_INFINITY,K1=O?y1/Z:Number.POSITIVE_INFINITY;if((n1<=k1||!I)&&(Y1<=y1||!O))break;if(U1<K1&&I||!O){d1=s1,m1+=G*U1;let R1=new H(d1,Math.round(m1));w[w.length-1].x===R1.x&&w[w.length-1].y===R1.y||w.push(R1)}else{d1+=Y*K1,m1=w1;let R1=new H(Math.round(d1),m1);w[w.length-1].x===R1.x&&w[w.length-1].y===R1.y||w.push(R1)}}let a1=new H(M,D);w[w.length-1].x===a1.x&&w[w.length-1].y===a1.y||w.push(a1)}return w}function bS(l,c,p){if(c.length===0)throw Error("Subdivision vertex ring is empty.");let d=0,a=l[2*c[0]];for(let A=1;A<c.length;A++){let k=l[2*c[A]];k=0?y-1:h-1,k=(w+1)%h,W=l[2*c[A]],n=l[2*c[k]],q=l[2*c[y]],C=l[2*c[y]+1],B=l[2*c[w]+1],M=!1;if(Wn)M=!1;else{let D=B-C,I=-(l[2*c[w]]-q),O=C((n-q)*D+(l[2*c[k]+1]-C)*I)*O&&(M=!0)}if(M){let D=c[A],I=c[y],O=c[w];D!==I&&D!==O&&I!==O&&p.push(O,I,D),y--,y=h&&(w=0)}if(A===k)break}}function Ka(l,c,p,d,a,h,y,w,A){let k=a.length/2,W=y&&w&&A;if(k<I1.MAX_VERTEX_ARRAY_LENGTH){let n=c.prepareSegment(k,p,d),q=n.vertexLength;for(let M=0;M<h.length;M+=3)d.emplaceBack(q+h[M],q+h[M+1],q+h[M+2]);let C,B;n.vertexLength+=k,n.primitiveLength+=h.length/3,W&&(B=y.prepareSegment(k,p,w),C=B.vertexLength,B.vertexLength+=k);for(let M=0;M<a.length;M+=2)l(a[M],a[M+1]);if(W)for(let M of A){for(let D=1;D<M.length;D+=2)w.emplaceBack(C+M[D-1],C+M[D]);B.primitiveLength+=M.length/2}}else(function(n,q,C,B,M,D){let I=[];for(let Z=0;Z<B.length/2;Z++)I.push(-1);let O={count:0},Y=0,G=n.getOrCreateLatestSegment(q,C),j=G.vertexLength;for(let Z=2;Z<M.length;Z+=3){let d1=M[Z-2],m1=M[Z-1],a1=M[Z],s1=I[d1]<Y,w1=I[m1]<Y,k1=I[a1]I1.MAX_VERTEX_ARRAY_LENGTH&&(G=n.createNewSegment(q,C),Y=O.count,s1=!0,w1=!0,k1=!0,j=0);let y1=u8(I,B,D,O,d1,s1,G),n1=u8(I,B,D,O,m1,w1,G),Y1=u8(I,B,D,O,a1,k1,G);C.emplaceBack(j+y1-Y,j+n1-Y,j+Y1-Y),G.primitiveLength++}})(c,p,d,a,h,l),W&&function(n,q,C,B,M,D){let I=[];for(let Z=0;Z<B.length/2;Z++)I.push(-1);let O={count:0},Y=0,G=n.getOrCreateLatestSegment(q,C),j=G.vertexLength;for(let Z of M)for(let d1=1;d1<Z.length;d1+=2){let m1=Z[d1-1],a1=Z[d1],s1=I[m1]<Y,w1=I[a1]I1.MAX_VERTEX_ARRAY_LENGTH&&(G=n.createNewSegment(q,C),Y=O.count,s1=!0,w1=!0,j=0);let k1=u8(I,B,D,O,m1,s1,G),y1=u8(I,B,D,O,a1,w1,G);C.emplaceBack(j+k1-Y,j+y1-Y),G.primitiveLength++}}(y,p,w,a,A,l),c.forceNewSegmentOnNextPrepare(),y==null||y.forceNewSegmentOnNextPrepare()}function u8(l,c,p,d,a,h,y){if(h){let w=d.count;return p(c[2*a],c[2*a+1]),l[a]=d.count,d.count++,y.vertexLength++,w}return l[a]}class a9{constructor(l){this.zoom=l.zoom,this.overscaling=l.overscaling,this.layers=l.layers,this.layerIds=this.layers.map((c)=>c.id),this.index=l.index,this.hasDependencies=!1,this.patternFeatures=[],this.layoutVertexArray=new X,this.indexArray=new Q1,this.indexArray2=new j1,this.programConfigurations=new au(l.layers,l.zoom),this.segments=new I1,this.segments2=new I1,this.stateDependentLayerIds=this.layers.filter((c)=>c.isStateDependent()).map((c)=>c.id)}populate(l,c,p){this.hasDependencies=m9("fill",this.layers,c);let d=this.layers[0].layout.get("fill-sort-key"),a=!d.isConstant(),h=[];for(let{feature:y,id:w,index:A,sourceLayerIndex:k}of l){let W=this.layers[0]._featureFilter.needGeometry,n=y5(y,W);if(!this.layers[0]._featureFilter.filter(new Nl(this.zoom),n,p))continue;let q=a?d.evaluate(n,{},p,c.availableImages):void 0,C={id:w,properties:y.properties,type:y.type,sourceLayerIndex:k,index:A,geometry:W?n.geometry:h5(y),patterns:{},sortKey:q};h.push(C)}a&&h.sort((y,w)=>y.sortKey-w.sortKey);for(let y of h){let{geometry:w,index:A,sourceLayerIndex:k}=y;if(this.hasDependencies){let W=Nd("fill",this.layers,y,{zoom:this.zoom},c);this.patternFeatures.push(W)}else this.addFeature(y,w,A,p,{},c.subdivisionGranularity);c.featureIndex.insert(l[A].feature,w,A,k,this.index)}}update(l,c,p){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(l,c,this.stateDependentLayers,{imagePositions:p})}addFeatures(l,c,p){for(let d of this.patternFeatures)this.addFeature(d,d.geometry,d.index,c,p,l.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(l){this.uploaded||(this.layoutVertexBuffer=l.createVertexBuffer(this.layoutVertexArray,YS),this.indexBuffer=l.createIndexBuffer(this.indexArray),this.indexBuffer2=l.createIndexBuffer(this.indexArray2)),this.programConfigurations.upload(l),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(l,c,p,d,a,h){for(let y of hr(c,500)){let w=Ba(y,d,h.fill.getGranularityForZoomLevel(d.z)),A=this.layoutVertexArray;Ka((k,W)=>{A.emplaceBack(k,W)},this.segments,this.layoutVertexArray,this.indexArray,w.verticesFlattened,w.indicesTriangles,this.segments2,this.indexArray2,w.indicesLineList)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,l,p,{imagePositions:a,canonical:d})}}let Ua,Da;z1("FillBucket",a9,{omit:["layers","patternFeatures"]});var $S={get paint(){return Da=Da||new C0({"fill-antialias":new T1(E1.paint_fill["fill-antialias"]),"fill-opacity":new $1(E1.paint_fill["fill-opacity"]),"fill-color":new $1(E1.paint_fill["fill-color"]),"fill-outline-color":new $1(E1.paint_fill["fill-outline-color"]),"fill-translate":new T1(E1.paint_fill["fill-translate"]),"fill-translate-anchor":new T1(E1.paint_fill["fill-translate-anchor"]),"fill-pattern":new qu(E1.paint_fill["fill-pattern"])})},get layout(){return Ua=Ua||new C0({"fill-sort-key":new $1(E1.layout_fill["fill-sort-key"])})}};class Ra extends r2{constructor(l,c){super(l,$S,c)}recalculate(l,c){super.recalculate(l,c);let p=this.paint._values["fill-outline-color"];p.value.kind==="constant"&&p.value.value===void 0&&(this.paint._values["fill-outline-color"]=this.paint._values["fill-color"])}createBucket(l){return new a9(l)}queryRadius(){return p9(this.paint.get("fill-translate"))}queryIntersectsFeature({queryGeometry:l,geometry:c,transform:p,pixelsToTileUnits:d}){return ma(f9(l,this.paint.get("fill-translate"),this.paint.get("fill-translate-anchor"),-p.bearingInRadians,d),c)}isTileClipped(){return!0}}let _S=Pl([{name:"a_pos",components:2,type:"Int16"},{name:"a_normal_ed",components:4,type:"Int16"}],4),iS=Pl([{name:"a_centroid",components:2,type:"Int16"}],4),{members:eS}=_S;class Qr{constructor(l,c,p,d,a){this.properties={},this.extent=p,this.type=0,this.id=void 0,this._pbf=l,this._geometry=-1,this._keys=d,this._values=a,l.readFields(tS,this,c)}loadGeometry(){let l=this._pbf;l.pos=this._geometry;let c=l.readVarint()+l.pos,p=[],d,a=1,h=0,y=0,w=0;for(;l.pos<c;){if(h>3}if(h--,a===1||a===2)y+=l.readSVarint(),w+=l.readSVarint(),a===1&&(d&&p.push(d),d=[]),d&&d.push(new H(y,w));else{if(a!==7)throw Error(`unknown command ${a}`);d&&d.push(d[0].clone())}}return d&&p.push(d),p}bbox(){let l=this._pbf;l.pos=this._geometry;let c=l.readVarint()+l.pos,p=1,d=0,a=0,h=0,y=1/0,w=-1/0,A=1/0,k=-1/0;for(;l.pos<c;){if(d>3}if(d--,p===1||p===2)a+=l.readSVarint(),h+=l.readSVarint(),aw&&(w=a),hk&&(k=h);else if(p!==7)throw Error(`unknown command ${p}`)}return[y,A,w,k]}toGeoJSON(l,c,p){let d=this.extent*Math.pow(2,p),a=this.extent*l,h=this.extent*c,y=this.loadGeometry();function w(n){return[360*(n.x+a)/d-180,360/Math.PI*Math.atan(Math.exp((1-2*(n.y+h)/d)*Math.PI))-90]}function A(n){return n.map(w)}let k;if(this.type===1){let n=[];for(let C of y)n.push(C[0]);let q=A(n);k=n.length===1?{type:"Point",coordinates:q[0]}:{type:"MultiPoint",coordinates:q}}else if(this.type===2){let n=y.map(A);k=n.length===1?{type:"LineString",coordinates:n[0]}:{type:"MultiLineString",coordinates:n}}else{if(this.type!==3)throw Error("unknown feature type");{let n=Ha(y),q=[];for(let C of n)q.push(C.map(A));k=q.length===1?{type:"Polygon",coordinates:q[0]}:{type:"MultiPolygon",coordinates:q}}}let W={type:"Feature",geometry:k,properties:this.properties};return this.id!=null&&(W.id=this.id),W}}function tS(l,c,p){l===1?c.id=p.readVarint():l===2?function(d,a){let h=d.readVarint()+d.pos;for(;d.pos<h;){let y=a._keys[d.readVarint()],w=a._values[d.readVarint()];a.properties[y]=w}}(p,c):l===3?c.type=p.readVarint():l===4&&(c._geometry=p.pos)}function Ha(l){let c=l.length;if(c<=1)return[l];let p=[],d,a;for(let h=0;h<c;h++){let y=lk(l[h]);y!==0&&(a===void 0&&(a=y<0),a===y<0?(d&&p.push(d),d=[l[h]]):d&&d.push(l[h]))}return d&&p.push(d),p}function lk(l){let c=0;for(let p,d,a=0,h=l.length,y=h-1;a<h;y=a++)p=l[a],d=l[y],c+=(d.x-p.x)*(p.y+d.y);return c}Qr.types=["Unknown","Point","LineString","Polygon"];class Ia{constructor(l,c){this.version=1,this.name="",this.extent=4096,this.length=0,this._pbf=l,this._keys=[],this._values=[],this._features=[],l.readFields(uk,this,c),this.length=this._features.length}feature(l){if(l=this._features.length)throw Error("feature index out of bounds");this._pbf.pos=this._features[l];let c=this._pbf.readVarint()+this._pbf.pos;return new Qr(this._pbf,c,this.extent,this._keys,this._values)}}function uk(l,c,p){l===15?c.version=p.readVarint():l===1?c.name=p.readString():l===5?c.extent=p.readVarint():l===2?c._features.push(p.pos):l===3?c._keys.push(p.readString()):l===4&&c._values.push(function(d){let a=null,h=d.readVarint()+d.pos;for(;d.pos>3;a=y===1?d.readString():y===2?d.readFloat():y===3?d.readDouble():y===4?d.readVarint64():y===5?d.readVarint():y===6?d.readSVarint():y===7?d.readBoolean():null}if(a==null)throw Error("unknown feature value");return a}(p))}class Pd{constructor(l,c){this.layers=l.readFields(ck,{},c)}}function ck(l,c,p){if(l===3){let d=new Ia(p,p.readVarint()+p.pos);d.length&&(c[d.name]=d)}}let Md=Math.pow(2,13);function c8(l,c,p,d,a,h,y,w){l.emplaceBack(c,p,2*Math.floor(d*Md)+y,a*Md*2,h*Md*2,Math.round(w))}class o9{constructor(l){this.zoom=l.zoom,this.overscaling=l.overscaling,this.layers=l.layers,this.layerIds=this.layers.map((c)=>c.id),this.index=l.index,this.hasDependencies=!1,this.layoutVertexArray=new c1,this.centroidVertexArray=new t,this.indexArray=new Q1,this.programConfigurations=new au(l.layers,l.zoom),this.segments=new I1,this.stateDependentLayerIds=this.layers.filter((c)=>c.isStateDependent()).map((c)=>c.id)}populate(l,c,p){this.features=[],this.hasDependencies=m9("fill-extrusion",this.layers,c);for(let{feature:d,id:a,index:h,sourceLayerIndex:y}of l){let w=this.layers[0]._featureFilter.needGeometry,A=y5(d,w);if(!this.layers[0]._featureFilter.filter(new Nl(this.zoom),A,p))continue;let k={id:a,sourceLayerIndex:y,index:h,geometry:w?A.geometry:h5(d),properties:d.properties,type:d.type,patterns:{}};this.hasDependencies?this.features.push(Nd("fill-extrusion",this.layers,k,{zoom:this.zoom},c)):this.addFeature(k,k.geometry,h,p,{},c.subdivisionGranularity),c.featureIndex.insert(d,k.geometry,h,y,this.index,!0)}}addFeatures(l,c,p){for(let d of this.features){let{geometry:a}=d;this.addFeature(d,a,d.index,c,p,l.subdivisionGranularity)}}update(l,c,p){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(l,c,this.stateDependentLayers,{imagePositions:p})}isEmpty(){return this.layoutVertexArray.length===0&&this.centroidVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(l){this.uploaded||(this.layoutVertexBuffer=l.createVertexBuffer(this.layoutVertexArray,eS),this.centroidVertexBuffer=l.createVertexBuffer(this.centroidVertexArray,iS.members,!0),this.indexBuffer=l.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(l),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy(),this.centroidVertexBuffer.destroy())}addFeature(l,c,p,d,a,h){for(let y of hr(c,500)){let w={x:0,y:0,sampleCount:0},A=this.layoutVertexArray.length;this.processPolygon(w,d,l,y,h);let k=this.layoutVertexArray.length-A,W=Math.floor(w.x/w.sampleCount),n=Math.floor(w.y/w.sampleCount);for(let q=0;q<k;q++)this.centroidVertexArray.emplaceBack(W,n)}this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,l,p,{imagePositions:a,canonical:d})}processPolygon(l,c,p,d,a){if(d.length{c8(k,W,n,0,0,1,1,0)},this.segments,this.layoutVertexArray,this.indexArray,A.verticesFlattened,A.indicesTriangles)}_generateSideFaces(l,c){let p=0;for(let d=1;dI1.MAX_VERTEX_ARRAY_LENGTH&&(c.segment=this.segments.prepareSegment(4,this.layoutVertexArray,this.indexArray));let y=a.sub(h)._perp()._unit(),w=h.dist(a);p+w>32768&&(p=0),c8(this.layoutVertexArray,a.x,a.y,y.x,y.y,0,0,p),c8(this.layoutVertexArray,a.x,a.y,y.x,y.y,0,1,p),p+=w,c8(this.layoutVertexArray,h.x,h.y,y.x,y.y,0,0,p),c8(this.layoutVertexArray,h.x,h.y,y.x,y.y,0,1,p);let A=c.segment.vertexLength;this.indexArray.emplaceBack(A,A+2,A+1),this.indexArray.emplaceBack(A+1,A+2,A+3),c.segment.vertexLength+=4,c.segment.primitiveLength+=2}}}function rk(l,c){for(let p=0;p<c.length;p++){let d=c[p];p===c.length-1&&c[0].x===d.x&&c[0].y===d.y||(l.x+=d.x,l.y+=d.y,l.sampleCount++)}}function pk(l,c){return l.x===c.x&&(l.xll)||l.y===c.y&&(l.yll)}function Ya(l){return l.every((c)=>c.xc.x>ll)||l.every((c)=>c.yc.y>ll)}let za;z1("FillExtrusionBucket",o9,{omit:["layers","features"]});var fk={get paint(){return za=za||new C0({"fill-extrusion-opacity":new T1(E1["paint_fill-extrusion"]["fill-extrusion-opacity"]),"fill-extrusion-color":new $1(E1["paint_fill-extrusion"]["fill-extrusion-color"]),"fill-extrusion-translate":new T1(E1["paint_fill-extrusion"]["fill-extrusion-translate"]),"fill-extrusion-translate-anchor":new T1(E1["paint_fill-extrusion"]["fill-extrusion-translate-anchor"]),"fill-extrusion-pattern":new qu(E1["paint_fill-extrusion"]["fill-extrusion-pattern"]),"fill-extrusion-height":new $1(E1["paint_fill-extrusion"]["fill-extrusion-height"]),"fill-extrusion-base":new $1(E1["paint_fill-extrusion"]["fill-extrusion-base"]),"fill-extrusion-vertical-gradient":new T1(E1["paint_fill-extrusion"]["fill-extrusion-vertical-gradient"])})}};class Oa extends r2{constructor(l,c){super(l,fk,c)}createBucket(l){return new o9(l)}queryRadius(){return p9(this.paint.get("fill-extrusion-translate"))}is3D(){return!0}queryIntersectsFeature({queryGeometry:l,feature:c,featureState:p,geometry:d,transform:a,pixelsToTileUnits:h,pixelPosMatrix:y}){let w=f9(l,this.paint.get("fill-extrusion-translate"),this.paint.get("fill-extrusion-translate-anchor"),-a.bearingInRadians,h),A=this.paint.get("fill-extrusion-height").evaluate(c,p),k=this.paint.get("fill-extrusion-base").evaluate(c,p),W=function(q,C){let B=[];for(let M of q){let D=[M.x,M.y,0,1];ul(D,D,C),B.push(new H(D[0]/D[3],D[1]/D[3]))}return B}(w,y),n=function(q,C,B,M){let D=[],I=[],O=M[8]*C,Y=M[9]*C,G=M[10]*C,j=M[11]*C,Z=M[8]*B,d1=M[9]*B,m1=M[10]*B,a1=M[11]*B;for(let s1 of q){let w1=[],k1=[];for(let y1 of s1){let{x:n1,y:Y1}=y1,U1=M[0]*n1+M[4]*Y1+M[12],K1=M[1]*n1+M[5]*Y1+M[13],R1=M[2]*n1+M[6]*Y1+M[14],_1=M[3]*n1+M[7]*Y1+M[15],Cl=R1+G,sl=_1+j,ql=U1+Z,H0=K1+d1,Tl=R1+m1,f0=_1+a1,N0=new H((U1+O)/sl,(K1+Y)/sl);N0.z=Cl/sl,w1.push(N0);let Il=new H(ql/f0,H0/f0);Il.z=Tl/f0,k1.push(Il)}D.push(w1),I.push(k1)}return[D,I]}(d,k,A,y);return function(q,C,B){let M=1/0;ma(B,C)&&(M=Ga(B,C[0]));for(let D=0;D<C.length;D++){let I=C[D],O=q[D];for(let Y=0;Y<I.length-1;Y++){let G=I[Y],j=[G,I[Y+1],O[Y+1],O[Y],G];da(B,j)&&(M=Math.min(M,Ga(B,j)))}}return M!==1/0&&M}(n[0],n[1],W)}}function r8(l,c){return l.x*c.x+l.y*c.y}function Ga(l,c){if(l.length===1){let p=0,d=c[p++],a;for(;!a||d.equals(a);)if(a=c[p++],!a)return 1/0;for(;p>4;if(d!==1)throw Error(`Got v${d} data when expected v1.`);let a=Qa[15&p];if(!a)throw Error("Unrecognized array type.");let[h]=new Uint16Array(l,2,1),[y]=new Uint32Array(l,4,1);return new h9(y,h,a,l)}constructor(l,c=64,p=Float64Array,d){if(isNaN(l)||l<0)throw Error(`Unpexpected numItems value: ${l}.`);this.numItems=+l,this.nodeSize=Math.min(Math.max(+c,2),65535),this.ArrayType=p,this.IndexArrayType=l<65536?Uint16Array:Uint32Array;let a=Qa.indexOf(this.ArrayType),h=2*l*this.ArrayType.BYTES_PER_ELEMENT,y=l*this.IndexArrayType.BYTES_PER_ELEMENT,w=(8-y%8)%8;if(a>1;return this.ids[p]=p,this.coords[this._pos++]=l,this.coords[this._pos++]=c,p}finish(){let l=this._pos>>1;if(l!==this.numItems)throw Error(`Added ${l} items when expected ${this.numItems}.`);return Bd(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(l,c,p,d){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:a,coords:h,nodeSize:y}=this,w=[0,a.length-1,0],A=[];for(;w.length;){let k=w.pop()||0,W=w.pop()||0,n=w.pop()||0;if(W-n<=y){for(let M=n;M=l&&D=c&&I>1,C=h[2*q],B=h[2*q+1];C>=l&&C=c&&B<=d&&A.push(a[q]),(k===0?l<=C:c=C:d>=B)&&(w.push(q+1),w.push(W),w.push(1-k))}return A}within(l,c,p){if(!this._finished)throw Error("Data not yet indexed - call index.finish().");let{ids:d,coords:a,nodeSize:h}=this,y=[0,d.length-1,0],w=[],A=p*p;for(;y.length;){let k=y.pop()||0,W=y.pop()||0,n=y.pop()||0;if(W-n<=h){for(let M=n;M<=W;M++)Ja(a[2*M],a[2*M+1],l,c)>1,C=a[2*q],B=a[2*q+1];Ja(C,B,l,c)<=A&&w.push(d[q]),(k===0?l-p<=C:c-p=C:c+p>=B)&&(y.push(q+1),y.push(W),y.push(1-k))}return w}}function Bd(l,c,p,d,a,h){if(a-d>1;ja(l,c,y,d,a,h),Bd(l,c,p,d,y-1,1-h),Bd(l,c,p,y+1,a,1-h)}function ja(l,c,p,d,a,h){for(;a>d;){if(a-d>600){let k=a-d+1,W=p-d+1,n=Math.log(k),q=0.5*Math.exp(2*n/3),C=0.5*Math.sqrt(n*q*(k-q)/k)*(W-k/2y&&p8(l,c,d,a);w<A;){for(p8(l,c,w,A),w++,A--;c[2*w+h]y;)A--}c[2*d+h]===y?p8(l,c,d,A):(A++,p8(l,c,A,a)),A<=p&&(d=A+1),p>1),y,w=p-c,A=l[c],k=l[c+1],W=l[p],n=l[p+1];for(let q=c+3;q

a)y=q,a=C;else if(C===a){let B=Math.abs(q-h);Bd&&(y-c>3&&Ud(l,c,y,d),l[y+2]=a,p-y>3&&Ud(l,y,p,d))}function dk(l,c,p,d,a,h){let y=a-p,w=h-d;if(y!==0||w!==0){let A=((l-p)*y+(c-d)*w)/(y*y+w*w);A>1?(p=a,d=h):A>0&&(p+=y*A,d+=w*A)}return y=l-p,w=c-d,y*y+w*w}function x0(l,c,p,d){let a={type:c,geom:p},h={id:l==null?null:l,type:a.type,geometry:a.geom,tags:d,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0};switch(a.type){case"Point":case"MultiPoint":f8(h,a.geom);break;case"LineString":f8(h,a.geom.points);break;case"Polygon":f8(h,a.geom[0].points);break;case"MultiLineString":for(let y of a.geom)f8(h,y.points);break;case"MultiPolygon":for(let y of a.geom)f8(h,y[0].points)}return h}function Dd(l){l.points.length>64&&(l.points=new Float64Array(l.points))}function f8(l,c){for(let p=0;p<c.length;p+=3)l.minX=Math.min(l.minX,c[p]),l.minY=Math.min(l.minY,c[p+1]),l.maxX=Math.max(l.maxX,c[p]),l.maxY=Math.max(l.maxY,c[p+1])}function Rd(l,c){let p=[];switch(l.type){case"FeatureCollection":for(let d=0;d<l.features.length;d++)y9(p,l.features[d],c,d);break;case"Feature":y9(p,l,c);break;default:y9(p,{geometry:l,properties:void 0},c)}return p}function y9(l,c,p,d){if(!c.geometry)return;if(c.geometry.type==="GeometryCollection")return void function(w,A,k,W,n){for(let q of k.geometries)y9(w,{id:A.id,geometry:q,properties:A.properties},W,n)}(l,c,c.geometry,p,d);if(!c.geometry.coordinates?.length)return;let h=function(w,A,k){return A.promoteId?w.properties?.[A.promoteId]:A.generateId?k||0:w.id}(c,p,d),y=Math.pow(p.tolerance/((1<<p.maxZoom)*p.extent),2);switch(c.geometry.type){case"Point":return void function(w,A,k,W){let n=[];n.push(jr(k.coordinates[0]),Jr(k.coordinates[1]),0),w.push(x0(A,"Point",n,W))}(l,h,c.geometry,c.properties);case"MultiPoint":return void function(w,A,k,W){let n=[];for(let q of k.coordinates)n.push(jr(q[0]),Jr(q[1]),0);w.push(x0(A,"MultiPoint",n,W))}(l,h,c.geometry,c.properties);case"LineString":return void function(w,A,k,W,n){let q={points:[]};Hd(k.coordinates,q,W,!1),w.push(x0(A,"LineString",q,n))}(l,h,c.geometry,y,c.properties);case"MultiLineString":return void function(w,A,k,W,n,q){if(n.lineMetrics)for(let C of k.coordinates){let B={points:[]};Hd(C,B,W,!1),w.push(x0(A,"LineString",B,q))}else{let C=[];Id(k.coordinates,C,W,!1),w.push(x0(A,"MultiLineString",C,q))}}(l,h,c.geometry,y,p,c.properties);case"Polygon":return void function(w,A,k,W,n){let q=[];Id(k.coordinates,q,W,!0),w.push(x0(A,"Polygon",q,n))}(l,h,c.geometry,y,c.properties);case"MultiPolygon":return void function(w,A,k,W,n){let q=[];for(let C of k.coordinates){let B=[];Id(C,B,W,!0),q.push(B)}w.push(x0(A,"MultiPolygon",q,n))}(l,h,c.geometry,y,c.properties);default:throw Error("Input data is not a valid GeoJSON object.")}}function Hd(l,c,p,d){let a,h,y=0;for(let A=0;A0&&(y+=d?(a*W-k*h)/2:Math.sqrt(Math.pow(k-a,2)+Math.pow(W-h,2))),a=k,h=W}let w=c.points.length-3;c.points[2]=1,p>0&&Ud(c.points,0,w,p),c.points[w+2]=1,Dd(c),c.size=Math.abs(y),c.start=0,c.end=c.size}function Id(l,c,p,d){for(let a=0;a<l.length;a++){let h={points:[]};Hd(l[a],h,p,d),c.push(h)}}function jr(l){return l/360+0.5}function Jr(l){let c=Math.sin(l*Math.PI/180),p=0.5-0.25*Math.log((1+c)/(1-c))/Math.PI;return p1?1:p}function w9(l){let c={type:"Feature",geometry:mk(l),properties:l.tags};return l.id!=null&&(c.id=l.id),c}function mk(l){let{type:c,geometry:p}=l;switch(c){case"Point":return{type:c,coordinates:Xa(p[0],p[1])};case"MultiPoint":return{type:c,coordinates:s9(p)};case"LineString":return{type:c,coordinates:s9(p.points)};case"MultiLineString":case"Polygon":return{type:c,coordinates:p.map((d)=>s9(d.points))};case"MultiPolygon":return{type:c,coordinates:p.map((d)=>d.map((a)=>s9(a.points)))}}}function s9(l){let c=[];for(let p=0;p=(p/=c)&&y<d)return l;if(y

=d)return null;let A=[];for(let k of l){let W=a===X0.X?k.minX:k.minY,n=a===X0.X?k.maxX:k.maxY;if(W>=p&&n<d)A.push(k);else if(!(n

=d))switch(k.type){case"Point":case"MultiPoint":gk(k,A,p,d,a);continue;case"LineString":vk(k,A,p,d,a,w);continue;case"MultiLineString":ak(k,A,p,d,a);continue;case"Polygon":ok(k,A,p,d,a);continue;case"MultiPolygon":hk(k,A,p,d,a);continue}}return A.length?A:null}function gk(l,c,p,d,a){let h=[];(function(y,w,A,k,W){for(let n=0;n=A&&q1?x0(l.id,"MultiLineString",y,l.tags):x0(l.id,"LineString",y[0],l.tags))}function ak(l,c,p,d,a){let h=[];Yd(l.geometry,h,p,d,a,!1),h.length&&c.push(h.length!==1?x0(l.id,"MultiLineString",h,l.tags):x0(l.id,"LineString",h[0],l.tags))}function ok(l,c,p,d,a){let h=[];Yd(l.geometry,h,p,d,a,!0),h.length&&c.push(x0(l.id,"Polygon",h,l.tags))}function hk(l,c,p,d,a){let h=[];for(let y of l.geometry){let w=[];Yd(y,w,p,d,a,!0),w.length&&h.push(w)}h.length&&c.push(x0(l.id,"MultiPolygon",h,l.tags))}function ba(l,c,p,d,a,h,y){let w=$a(l),A=a===X0.X?yk:wk,k,W,n=l.start;for(let D=0;D<l.points.length-3;D+=3){let I=l.points[D],O=l.points[D+1],Y=l.points[D+2],G=l.points[D+3],j=l.points[D+4],Z=a===X0.X?I:O,d1=a===X0.X?G:j,m1=!1;y&&(k=Math.sqrt(Math.pow(I-G,2)+Math.pow(O-j,2))),Z

p&&(W=A(w,I,O,G,j,p),y&&(w.start=n+k*W)):Z>d?d1<d&&(W=A(w,I,O,G,j,d),y&&(w.start=n+k*W)):Xr(w.points,I,O,Y),d1

=p&&(W=A(w,I,O,G,j,p),m1=!0),d1>d&&Z=p&&M=3&&(w.points[q]!==w.points[0]||w.points[q+1]!==w.points[1])&&Xr(w.points,w.points[0],w.points[1],w.points[2]),w.points.length&&(Dd(w),c.push(w))}function $a(l){return{points:[],size:l.size,start:l.start,end:l.end}}function Yd(l,c,p,d,a,h){for(let y of l)ba(y,c,p,d,a,h,!1)}function Xr(l,c,p,d){l.push(c,p,d)}function yk(l,c,p,d,a,h){let y=(h-c)/(d-c);return Xr(l.points,h,p+(a-p)*y,1),y}function wk(l,c,p,d,a,h){let y=(h-p)/(a-p);return Xr(l.points,c+(d-c)*y,h,1),y}function zd(l,c){let p=c.buffer/c.extent,d=l,a=e5(l,1,-1-p,p,X0.X,-1,2,c),h=e5(l,1,1-p,2+p,X0.X,-1,2,c);return a||h?(d=e5(l,1,-p,1+p,X0.X,-1,2,c)||[],a&&(d=_a(a,1).concat(d)),h&&(d=d.concat(_a(h,-1))),d):d}function _a(l,c){let p=[];for(let d of l)switch(d.type){case"Point":case"MultiPoint":{let a=sk(d.geometry,c);p.push(x0(d.id,d.type,a,d.tags));continue}case"LineString":{let a=Od(d.geometry,c);p.push(x0(d.id,d.type,a,d.tags));continue}case"MultiLineString":case"Polygon":{let a=[];for(let h of d.geometry)a.push(Od(h,c));p.push(x0(d.id,d.type,a,d.tags));continue}case"MultiPolygon":{let a=[];for(let h of d.geometry){let y=[];for(let w of h)y.push(Od(w,c));a.push(y)}p.push(x0(d.id,d.type,a,d.tags));continue}}return p}function sk(l,c){let p=[];for(let d=0;d<l.length;d+=3)p.push(l[d]+c,l[d+1],l[d+2]);return p}function Od(l,c){let p={points:[],size:l.size};l.start!==void 0&&(p.start=l.start,p.end=l.end);for(let d=0;d0||c.addOrUpdateProperties?.length>0;if(d){let h=l[0],y=Rd({type:"FeatureCollection",features:[{type:"Feature",id:h.id,geometry:c.newGeometry,properties:a?ia(h.tags,c):h.tags}]},p);return y=zd(y,p),y}if(a){let h=[];for(let y of l){let w={...y};w.tags=ia(w.tags,c),h.push(w)}return h}return l}function ia(l,c){if(c.removeAllProperties)return{};let p={...l||{}};if(c.removeProperties)for(let d of c.removeProperties)delete p[d];if(c.addOrUpdateProperties)for(let{key:d,value:a}of c.addOrUpdateProperties)p[d]=a;return p}(function(l){l[l.X=0]="X",l[l.Y=1]="Y"})(X0||(X0={}));let Gd={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:(l)=>l};class ea{constructor(l){this.options=Object.assign(Object.create(Gd),l),this.trees=Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[],this.points=[]}load(l){let c=[];for(let p of l){if(!p.geometry)continue;let[d,a]=p.geometry.coordinates,[h,y]=[jr(d),Jr(a)];c.push({id:p.id,type:"Point",geometry:[h,y],tags:p.properties})}this.createIndex(c)}initialize(l){let c=[];for(let p of l)p.type==="Point"&&c.push(p);this.createIndex(c)}updateIndex(l,c,p){this.options=Object.assign(Object.create(Gd),p.clusterOptions),this.initialize(l)}createIndex(l){let{log:c,minZoom:p,maxZoom:d}=this.options;c&&console.time("total time");let a=`prepare ${l.length} points`;c&&console.time(a),this.points=l;let h=[];for(let w=0;w=p;w--){let A=Date.now();y=this.trees[w]=this.createTree(this.cluster(y,w)),c&&console.log("z%d: %d clusters in %dms",w,y.numItems,Date.now()-A)}c&&console.timeEnd("total time")}getClusters(l,c){return this.getClustersInternal(l,c).map((p)=>w9(p))}getClustersInternal(l,c){let p=((l[0]+180)%360+360)%360-180,d=Math.max(-90,Math.min(90,l[1])),a=l[2]===180?180:((l[2]+180)%360+360)%360-180,h=Math.max(-90,Math.min(90,l[3]));if(l[2]-l[0]>=360)p=-180,a=180;else if(p>a){let W=this.getClustersInternal([p,d,180,h],c),n=this.getClustersInternal([-180,d,a,h],c);return W.concat(n)}let y=this.trees[this.limitZoom(c)],w=y.range(jr(p),Jr(h),jr(a),Jr(d)),A=y.flatData,k=[];for(let W of w){let n=this.stride*W;k.push(A[n+5]>1?kk(A,n,this.clusterProps):this.points[A[n+3]])}return k}getChildren(l){let c=this.getOriginId(l),p=this.getOriginZoom(l),d=Error("No cluster with the specified id: "+l),a=this.trees[p];if(!a)throw d;let h=a.flatData;if(c*this.stride>=h.length)throw d;let y=this.options.radius/(this.options.extent*Math.pow(2,p-1)),w=a.within(h[c*this.stride],h[c*this.stride+1],y),A=[];for(let k of w){let W=k*this.stride;h[W+4]===l&&A.push(h[W+5]>1?Ek(h,W,this.clusterProps):w9(this.points[h[W+3]]))}if(A.length===0)throw d;return A}getLeaves(l,c,p){let d=[];return this.appendLeaves(d,l,c=c||10,p=p||0,0),d}getTile(l,c,p){let d=this.trees[this.limitZoom(l)];if(!d)return null;let a=Math.pow(2,l),{extent:h,radius:y}=this.options,w=y/h,A=(p-w)/a,k=(p+1+w)/a,W={transformed:!0,features:[],source:null,x:c,y:p,z:l};return this.addTileFeatures(d.range((c-w)/a,A,(c+1+w)/a,k),d.flatData,c,p,a,W),c===0&&this.addTileFeatures(d.range(1-w/a,A,1,k),d.flatData,a,p,a,W),c===a-1&&this.addTileFeatures(d.range(0,A,w/a,k),d.flatData,-1,p,a,W),W}getClusterExpansionZoom(l){return this.getOriginZoom(l)}appendLeaves(l,c,p,d,a){let h=this.getChildren(c);for(let y of h){let w=y.properties;if(w?.cluster?a+w.point_count<=d?a+=w.point_count:a=this.appendLeaves(l,w.cluster_id,p,d,a):a<d?a++:l.push(y),l.length===p)break}return a}createTree(l){let c=new h9(l.length/this.stride|0,this.options.nodeSize,Float32Array);for(let p=0;p1,k,W,n;if(A)k=Qd(c,w,this.clusterProps),W=c[w],n=c[w+1];else{let B=this.points[c[w+3]];k=B.tags,[W,n]=B.geometry}let q={type:1,geometry:[[Math.round(this.options.extent*(W*a-p)),Math.round(this.options.extent*(n*a-d))]],tags:k},C;C=A||this.options.generateId?c[w+3]:this.points[c[w+3]].id,C!==void 0&&(q.id=C),h.features.push(q)}}limitZoom(l){return Math.max(this.options.minZoom,Math.min(Math.floor(+l),this.options.maxZoom+1))}cluster(l,c){let{radius:p,extent:d,reduce:a,minPoints:h}=this.options,y=p/(d*Math.pow(2,c)),w=l.flatData,A=[],k=this.stride;for(let W=0;W<w.length;W+=k){if(w[W+2]c&&(M+=w[I+5])}if(M>B&&M>=h){let D,I=n*B,O=q*B,Y=-1,G=(W/k<<5)+(c+1)+this.points.length;for(let j of C){let Z=j*k;if(w[Z+2]<=c)continue;w[Z+2]=c;let d1=w[Z+5];I+=w[Z]*d1,O+=w[Z+1]*d1,w[Z+4]=G,a&&(D||(D=this.map(w,W,!0),Y=this.clusterProps.length,this.clusterProps.push(D)),a(D,this.map(w,Z)))}w[W+4]=G,A.push(I/M,O/M,1/0,G,-1,M),a&&A.push(Y)}else{for(let D=0;D1)for(let D of C){let I=D*k;if(!(w[I+2]<=c)){w[I+2]=c;for(let O=0;O>5}getOriginZoom(l){return(l-this.points.length)%32}map(l,c,p){if(l[c+5]>1){let h=this.clusterProps[l[c+6]];return p?Object.assign({},h):h}let d=this.points[l[c+3]].tags,a=this.options.map(d);return p&&a===d?Object.assign({},a):a}}function kk(l,c,p){return{id:l[c+3],type:"Point",tags:Qd(l,c,p),geometry:[l[c],l[c+1]]}}function Ek(l,c,p){return{type:"Feature",id:l[c+3],properties:Qd(l,c,p),geometry:{type:"Point",coordinates:[Ta(l[c]),Za(l[c+1])]}}}function Qd(l,c,p){let d=l[c+5],a=d>=1e4?`${Math.round(d/1000)}k`:d>=1000?Math.round(d/100)/10+"k":d,h=l[c+6],y=h===-1?{}:Object.assign({},p[h]);return Object.assign(y,{cluster:!0,cluster_id:l[c+3],point_count:d,point_count_abbreviated:a})}let jd="geojsonvt_clip_start",Jd="geojsonvt_clip_end";function ta(l,c,p,d,a){let h=c===a.maxZoom?0:a.tolerance/((1<<c)*a.extent),y={transformed:!1,features:[],source:null,x:p,y:d,z:c,minX:2,minY:1,maxX:-1,maxY:0,numPoints:0,numSimplified:0,numFeatures:l.length};for(let w of l)nk(y,w,h,a);return y}function nk(l,c,p,d){switch(l.minX=Math.min(l.minX,c.minX),l.minY=Math.min(l.minY,c.minY),l.maxX=Math.max(l.maxX,c.maxX),l.maxY=Math.max(l.maxY,c.maxY),c.type){case"Point":case"MultiPoint":return void function(a,h){let y=[];for(let A=0;A<h.geometry.length;A+=3)y.push(h.geometry[A],h.geometry[A+1]),a.numPoints++,a.numSimplified++;if(!y.length)return;let w={type:1,tags:h.tags||null,geometry:y};h.id!==null&&(w.id=h.id),a.features.push(w)}(l,c);case"LineString":return void function(a,h,y,w){let A=[];if(Xd(A,h.geometry,a,y,!1,!1),!A.length)return;let k=h.tags||null;if(w.lineMetrics){k={};for(let n in h.tags)k[n]=h.tags[n];k[jd]=h.geometry.start/h.geometry.size,k[Jd]=h.geometry.end/h.geometry.size}let W={type:2,tags:k,geometry:A};h.id!==null&&(W.id=h.id),a.features.push(W)}(l,c,p,d);case"MultiLineString":case"Polygon":return void function(a,h,y){let w=[];for(let k=0;k<h.geometry.length;k++)Xd(w,h.geometry[k],a,y,h.type==="Polygon",k===0);if(!w.length)return;let A={type:h.type==="Polygon"?3:2,tags:h.tags||null,geometry:w};h.id!==null&&(A.id=h.id),a.features.push(A)}(l,c,p);case"MultiPolygon":return void function(a,h,y){let w=[];for(let k=0;k<h.geometry.length;k++){let W=h.geometry[k];for(let n=0;n0&&c.size<(a?y:d))return void(p.numPoints+=c.points.length/3);let w=[];for(let A=0;Ay)&&(p.numSimplified++,w.push(c.points[A],c.points[A+1])),p.numPoints++;a&&function(A,k){let W=0;for(let n=0,q=A.length,C=q-2;n0===k)for(let n=0,q=A.length;n<q/2;n+=2){let C=A[n],B=A[n+1];A[n]=A[q-2-n],A[n+1]=A[q-1-n],A[q-2-n]=C,A[q-1-n]=B}}(w,h),l.push(w)}function lo(l,c){if(l.transformed)return l;let p=1<<l.z,d=l.x,a=l.y;for(let h of l.features)h.type===1?Ak(h,c,p,d,a):Vk(h,c,p,d,a);return l.transformed=!0,l}function Ak(l,c,p,d,a){let h=l,y=l.geometry,w=[];for(let A=0;A<y.length;A+=2)w.push(uo(y[A],y[A+1],c,p,d,a));return h.geometry=w,h}function Vk(l,c,p,d,a){let h=l,y=l.geometry,w=[];for(let A of y){let k=[];for(let W=0;W1&&(console.log("invalidating tiles"),console.time("invalidating")),this.invalidateTiles(c),p.debug>1&&console.timeEnd("invalidating");let[d,a,h]=[0,0,0],y=ta(l,d,a,h,p);y.source=l;let w=S9(d,a,h);if(this.tiles[w]=y,this.tileCoords.push({z:d,x:a,y:h,id:w}),p.debug){let A=`z${d}`;this.stats[A]=(this.stats[A]||0)+1,this.total++}}getClusterExpansionZoom(l){return null}getChildren(l){return null}getLeaves(l,c,p){return null}getTile(l,c,p){let{extent:d,debug:a}=this.options,h=1<1&&console.log("drilling down to z%d-%d-%d",l,c,p);let w,A=l,k=c,W=p;for(;!w&&A>0;)A--,k>>=1,W>>=1,w=this.tiles[S9(A,k,W)];return w?.source?(a>1&&(console.log("found parent tile z%d-%d-%d",A,k,W),console.time("drilling down")),this.splitTile(w.source,A,k,W,l,c,p),a>1&&console.timeEnd("drilling down"),this.tiles[y]?lo(this.tiles[y],d):null):null}splitTile(l,c,p,d,a,h,y){let w=[l,c,p,d],A=this.options,k=A.debug;for(;w.length;){d=w.pop(),p=w.pop(),c=w.pop(),l=w.pop();let W=1<1&&console.time("creation"),q=this.tiles[n]=ta(l,c,p,d,A),this.tileCoords.push({z:c,x:p,y:d,id:n}),k)){k>1&&(console.log("tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",c,p,d,q.numFeatures,q.numPoints,q.numSimplified),console.timeEnd("creation"));let d1=`z${c}`;this.stats[d1]=(this.stats[d1]||0)+1,this.total++}if(q.source=l,a==null){if(c===A.indexMaxZoom||q.numPoints>d1||d!==y>>d1)continue}}if(q.source=null,!l.length)continue;k>1&&console.time("clipping");let C=0.5*A.buffer/A.extent,B=0.5-C,M=0.5+C,D=1+C,I=null,O=null,Y=null,G=null,j=e5(l,W,p-C,p+M,X0.X,q.minX,q.maxX,A),Z=e5(l,W,p+B,p+D,X0.X,q.minX,q.maxX,A);j&&(I=e5(j,W,d-C,d+M,X0.Y,q.minY,q.maxY,A),O=e5(j,W,d+B,d+D,X0.Y,q.minY,q.maxY,A)),Z&&(Y=e5(Z,W,d-C,d+M,X0.Y,q.minY,q.maxY,A),G=e5(Z,W,d+B,d+D,X0.Y,q.minY,q.maxY,A)),k>1&&console.timeEnd("clipping"),w.push(I||[],c+1,2*p,2*d),w.push(O||[],c+1,2*p,2*d+1),w.push(Y||[],c+1,2*p+1,2*d),w.push(G||[],c+1,2*p+1,2*d+1)}}invalidateTiles(l){if(!l.length)return;let c=this.options,{debug:p}=c,d=1/0,a=-1/0,h=1/0,y=-1/0;for(let k of l)d=Math.min(d,k.minX),a=Math.max(a,k.maxX),h=Math.min(h,k.minY),y=Math.max(y,k.maxY);let w=c.buffer/c.extent,A=new Set;for(let k in this.tiles){let W=this.tiles[k],n=1<<W.z,q=(W.x-w)/n,C=(W.x+1+w)/n,B=(W.y-w)/n,M=(W.y+1+w)/n;if(a=C||y=M)continue;let D=!1;for(let I of l)if(I.maxX>=q&&I.minX=B&&I.minY1&&console.log("invalidate tile z%d-%d-%d (features: %d, points: %d, simplified: %d)",W.z,W.x,W.y,W.numFeatures,W.numPoints,W.numSimplified);let I=`z${W.z}`;this.stats[I]=(this.stats[I]||0)-1,this.total--}delete this.tiles[k],A.add(k)}}A.size&&(this.tileCoords=this.tileCoords.filter((k)=>!A.has(k.id)))}}function S9(l,c,p){return 32*((1<c.id),this.index=l.index,this.hasDependencies=!1,this.patternFeatures=[],this.lineClipsArray=[],this.gradients={};for(let c of this.layers)this.gradients[c.id]={};this.layoutVertexArray=new $,this.layoutVertexArray2=new e,this.indexArray=new Q1,this.programConfigurations=new au(l.layers,l.zoom),this.segments=new I1,this.maxLineLength=0,this.stateDependentLayerIds=this.layers.filter((c)=>c.isStateDependent()).map((c)=>c.id)}populate(l,c,p){this.hasDependencies=m9("line",this.layers,c)||this.hasLineDasharray(this.layers);let d=this.layers[0].layout.get("line-sort-key"),a=!d.isConstant(),h=[];for(let{feature:y,id:w,index:A,sourceLayerIndex:k}of l){let W=this.layers[0]._featureFilter.needGeometry,n=y5(y,W);if(!this.layers[0]._featureFilter.filter(new Nl(this.zoom),n,p))continue;let q=a?d.evaluate(n,{},p):void 0,C={id:w,properties:y.properties,type:y.type,sourceLayerIndex:k,index:A,geometry:W?n.geometry:h5(y),patterns:{},dashes:{},sortKey:q};h.push(C)}a&&h.sort((y,w)=>y.sortKey-w.sortKey);for(let y of h){let{geometry:w,index:A,sourceLayerIndex:k}=y;this.hasDependencies?(m9("line",this.layers,c)?Nd("line",this.layers,y,{zoom:this.zoom},c):this.hasLineDasharray(this.layers)&&this.addLineDashDependencies(this.layers,y,this.zoom,c),this.patternFeatures.push(y)):this.addFeature(y,w,A,p,{},{},c.subdivisionGranularity),c.featureIndex.insert(l[A].feature,w,A,k,this.index)}}update(l,c,p,d){this.stateDependentLayers.length&&this.programConfigurations.updatePaintArrays(l,c,this.stateDependentLayers,{imagePositions:p,dashPositions:d})}addFeatures(l,c,p,d){for(let a of this.patternFeatures)this.addFeature(a,a.geometry,a.index,c,p,d,l.subdivisionGranularity)}isEmpty(){return this.layoutVertexArray.length===0}uploadPending(){return!this.uploaded||this.programConfigurations.needsUpload}upload(l){this.uploaded||(this.layoutVertexArray2.length!==0&&(this.layoutVertexBuffer2=l.createVertexBuffer(this.layoutVertexArray2,Nk)),this.layoutVertexBuffer=l.createVertexBuffer(this.layoutVertexArray,Ck),this.indexBuffer=l.createIndexBuffer(this.indexArray)),this.programConfigurations.upload(l),this.uploaded=!0}destroy(){this.layoutVertexBuffer&&(this.layoutVertexBuffer.destroy(),this.indexBuffer.destroy(),this.programConfigurations.destroy(),this.segments.destroy())}lineFeatureClips(l){if(l.properties&&Object.hasOwn(l.properties,jd)&&Object.hasOwn(l.properties,Jd))return{start:+l.properties[jd],end:+l.properties[Jd]}}addFeature(l,c,p,d,a,h,y){let w=this.layers[0].layout,A=w.get("line-join").evaluate(l,{}),k=w.get("line-cap").evaluate(l,{}),W=w.get("line-miter-limit").evaluate(l,{}),n=w.get("line-round-limit").evaluate(l,{});this.lineClips=this.lineFeatureClips(l);for(let q of c)this.addLine(q,l,A,k,W,n,d,y);this.programConfigurations.populatePaintArrays(this.layoutVertexArray.length,l,p,{imagePositions:a,dashPositions:h,canonical:d})}addLine(l,c,p,d,a,h,y,w){if(this.distance=0,this.scaledDistance=0,this.totalDistance=0,l=Ac(l,y?w.line.getGranularityForZoomLevel(y.z):1),this.lineClips){this.lineClipsArray.push(this.lineClips);for(let O=0;O=2&&l[k-1].equals(l[k-2]);)k--;let W=0;for(;W<k-1&&l[W].equals(l[W+1]);)W++;if(k<(A?3:2))return;p==="bevel"&&(a=1.05);let n=this.overscaling<=16?122880/(512*this.overscaling):0,q=this.segments.prepareSegment(10*k,this.layoutVertexArray,this.indexArray),C,B,M,D,I;this.e1=this.e2=-1,A&&(C=l[k-2],I=l[W].sub(C)._unit()._perp());for(let O=W;O<k;O++){if(M=O===k-1?A?l[W+1]:void 0:l[O+1],M&&l[O].equals(M))continue;I&&(D=I),C&&(B=C),C=l[O],I=M?M.sub(C)._unit()._perp():D,D||(D=I);let Y=D.add(I);Y.x===0&&Y.y===0||Y._unit();let G=D.x*I.x+D.y*I.y,j=Y.x*I.x+Y.y*I.y,Z=j!==0?1/j:1/0,d1=2*Math.sqrt(2-2*j),m1=j0;if(m1&&O>W){let k1=C.dist(B);if(k1>2*n){let y1=C.sub(C.sub(B)._mult(n/k1)._round());this.updateDistance(B,y1),this.addCurrentVertex(y1,D,0,0,q),B=y1}}let s1=B&&M,w1=s1?p:A?"butt":d;if(s1&&w1==="round"&&(Z<h?w1="miter":Za&&(w1="bevel"),w1==="bevel"&&(Z>2&&(w1="flipbevel"),Z100)Y=I.mult(-1);else{let k1=Z*D.add(I).mag()/D.sub(I).mag();Y._perp()._mult(k1*(a1?-1:1))}this.addCurrentVertex(C,Y,0,0,q),this.addCurrentVertex(C,Y.mult(-1),0,0,q)}else if(w1==="bevel"||w1==="fakeround"){let k1=-Math.sqrt(Z*Z-1),y1=a1?k1:0,n1=a1?0:k1;if(B&&this.addCurrentVertex(C,D,y1,n1,q),w1==="fakeround"){let Y1=Math.round(180*d1/Math.PI/20);for(let U1=1;U1<Y1;U1++){let K1=U1/Y1;if(K1!==0.5){let _1=K1-0.5;K1+=K1*_1*(K1-1)*((1.0904+G*(G*(3.55645-1.43519*G)-3.2452))*_1*_1+(0.848013+G*(0.215638*G-1.06021)))}let R1=I.sub(D)._mult(K1)._add(D)._unit()._mult(a1?-1:1);this.addHalfVertex(C,R1.x,R1.y,!1,a1,0,q)}}M&&this.addCurrentVertex(C,I,-y1,-n1,q)}else if(w1==="butt")this.addCurrentVertex(C,Y,0,0,q);else if(w1==="square"){let k1=B?1:-1;this.addCurrentVertex(C,Y,k1,k1,q)}else w1==="round"&&(B&&(this.addCurrentVertex(C,D,0,0,q),this.addCurrentVertex(C,D,1,1,q,!0)),M&&(this.addCurrentVertex(C,I,-1,-1,q,!0),this.addCurrentVertex(C,I,0,0,q)));if(m1&&O2*n){let y1=C.add(M.sub(C)._mult(n/k1)._round());this.updateDistance(C,y1),this.addCurrentVertex(y1,I,0,0,q),C=y1}}}}addCurrentVertex(l,c,p,d,a,h=!1){let y=c.y*d-c.x,w=-c.y-c.x*d;this.addHalfVertex(l,c.x+c.y*p,c.y-c.x*p,h,!1,p,a),this.addHalfVertex(l,y,w,h,!0,-d,a),this.distance>ro/2&&this.totalDistance===0&&(this.distance=0,this.updateScaledDistance(),this.addCurrentVertex(l,c,p,d,a,h))}addHalfVertex({x:l,y:c},p,d,a,h,y,w){let A=0.5*(this.lineClips?this.scaledDistance*(ro-1):this.scaledDistance);this.layoutVertexArray.emplaceBack((l<<1)+(a?1:0),(c<<1)+(h?1:0),Math.round(63*p)+128,Math.round(63*d)+128,1+(y===0?0:y<0?-1:1)|(63&A)<>6),this.lineClips&&this.layoutVertexArray2.emplaceBack((this.scaledDistance-this.lineClips.start)/(this.lineClips.end-this.lineClips.start),this.lineClipsArray.length);let k=w.vertexLength++;this.e1>=0&&this.e2>=0&&(this.indexArray.emplaceBack(this.e1,k,this.e2),w.primitiveLength++),h?this.e2=k:this.e1=k}updateScaledDistance(){this.scaledDistance=this.lineClips?this.lineClips.start+(this.lineClips.end-this.lineClips.start)*this.distance/this.totalDistance:this.distance}updateDistance(l,c){this.distance+=l.dist(c),this.updateScaledDistance()}hasLineDasharray(l){for(let c of l){let p=c.paint.get("line-dasharray");if(p&&!p.isConstant())return!0}return!1}addLineDashDependencies(l,c,p,d){for(let a of l){let h=a.paint.get("line-dasharray");if(!h||h.value.kind==="constant")continue;let y=a.layout.get("line-cap").evaluate(c,{})==="round",w={dasharray:h.value.evaluate({zoom:p-1},c,{}),round:y},A={dasharray:h.value.evaluate({zoom:p},c,{}),round:y},k={dasharray:h.value.evaluate({zoom:p+1},c,{}),round:y},W=`${w.dasharray.join(",")},${w.round}`,n=`${A.dasharray.join(",")},${A.round}`,q=`${k.dasharray.join(",")},${k.round}`;d.dashDependencies[W]=w,d.dashDependencies[n]=A,d.dashDependencies[q]=k,c.dashes[a.id]={min:W,mid:n,max:q}}}}let po,fo;z1("LineBucket",k9,{omit:["layers","patternFeatures"]});var mo={get paint(){return fo=fo||new C0({"line-opacity":new $1(E1.paint_line["line-opacity"]),"line-color":new $1(E1.paint_line["line-color"]),"line-translate":new T1(E1.paint_line["line-translate"]),"line-translate-anchor":new T1(E1.paint_line["line-translate-anchor"]),"line-width":new $1(E1.paint_line["line-width"]),"line-gap-width":new $1(E1.paint_line["line-gap-width"]),"line-offset":new $1(E1.paint_line["line-offset"]),"line-blur":new $1(E1.paint_line["line-blur"]),"line-dasharray":new qu(E1.paint_line["line-dasharray"]),"line-pattern":new qu(E1.paint_line["line-pattern"]),"line-gradient":new X5(E1.paint_line["line-gradient"])})},get layout(){return po=po||new C0({"line-cap":new $1(E1.layout_line["line-cap"]),"line-join":new $1(E1.layout_line["line-join"]),"line-miter-limit":new $1(E1.layout_line["line-miter-limit"]),"line-round-limit":new $1(E1.layout_line["line-round-limit"]),"line-sort-key":new $1(E1.layout_line["line-sort-key"])})}};class go extends $1{possiblyEvaluate(l,c){return c=new Nl(Math.floor(c.zoom),{now:c.now,fadeDuration:c.fadeDuration,zoomHistory:c.zoomHistory,transition:c.transition}),super.possiblyEvaluate(l,c)}evaluate(l,c,p,d){return c=h2({},c,{zoom:Math.floor(c.zoom)}),super.evaluate(l,c,p,d)}}let E9;class vo extends r2{constructor(l,c){super(l,mo,c),this.gradientVersion=0,E9||(E9=new go(mo.paint.properties["line-width"].specification),E9.useIntegerZoom=!0)}_handleSpecialPaintPropertyUpdate(l){if(l==="line-gradient"){let c=this.gradientExpression();this.stepInterpolant=!!function(p){return p._styleExpression!==void 0}(c)&&c._styleExpression.expression instanceof F3,this.gradientVersion=(this.gradientVersion+1)%Number.MAX_SAFE_INTEGER}}gradientExpression(){return this._transitionablePaint._values["line-gradient"].value.expression}recalculate(l,c){super.recalculate(l,c),this.paint._values["line-floorwidth"]=E9.possiblyEvaluate(this._transitioningPaint._values["line-width"].value,l)}createBucket(l){return new k9(l)}queryRadius(l){let c=l,p=ao(zr("line-width",this,c),zr("line-gap-width",this,c)),d=zr("line-offset",this,c);return p/2+Math.abs(d)+p9(this.paint.get("line-translate"))}queryIntersectsFeature({queryGeometry:l,feature:c,featureState:p,geometry:d,transform:a,pixelsToTileUnits:h}){let y=f9(l,this.paint.get("line-translate"),this.paint.get("line-translate-anchor"),-a.bearingInRadians,h),w=h/2*ao(this.paint.get("line-width").evaluate(c,p),this.paint.get("line-gap-width").evaluate(c,p)),A=this.paint.get("line-offset").evaluate(c,p);return A&&(d=function(k,W){let n=[];for(let q of k){let C=qS(q),B=[];for(let M=0;M=3){for(let C of q)if(Yr(k,C))return!0}if(xS(k,q,n))return!0}return!1}(y,d,w)}isTileClipped(){return!0}}function ao(l,c){return c>0?c+2*l:l}let qk=Pl([{name:"a_pos_offset",components:4,type:"Int16"},{name:"a_data",components:4,type:"Uint16"},{name:"a_pixeloffset",components:4,type:"Int16"}],4),Pk=Pl([{name:"a_projected_pos",components:3,type:"Float32"}],4);Pl([{name:"a_fade_opacity",components:1,type:"Uint32"}],4);let Mk=Pl([{name:"a_placed",components:2,type:"Uint8"},{name:"a_shift",components:2,type:"Float32"},{name:"a_box_real",components:2,type:"Int16"}]);Pl([{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"}]);let oo=Pl([{name:"a_pos",components:2,type:"Int16"},{name:"a_anchor_pos",components:2,type:"Int16"},{name:"a_extrude",components:2,type:"Int16"}],4),Bk=Pl([{name:"a_pos",components:2,type:"Float32"},{name:"a_radius",components:1,type:"Float32"},{name:"a_flags",components:2,type:"Int16"}],4);function Kk(l,c,p){let d=c.layout.get("text-transform").evaluate(p,{});return d==="uppercase"?l=l.toLocaleUpperCase():d==="lowercase"&&(l=l.toLocaleLowerCase()),pu.applyArabicShaping&&(l=pu.applyArabicShaping(l)),l}function Uk(l,c,p){for(let d of l.sections)d.text=Kk(d.text,c,p);return l}Pl([{name:"triangle",components:3,type:"Uint16"}]),Pl([{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"}]),Pl([{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"}]),Pl([{type:"Float32",name:"offsetX"}]),Pl([{type:"Int16",name:"x"},{type:"Int16",name:"y"},{type:"Int16",name:"tileUnitDistanceFromAnchor"}]),Pl([{type:"Uint16",name:"textAnchor"},{type:"Float32",components:2,name:"textOffset"}]);var k0=24;let d8={"!":"︕","#":"#",$:"$","%":"%","&":"&","(":"︵",")":"︶","*":"*","+":"+",",":"︐","-":"︲",".":"・","/":"/",":":"︓",";":"︔","":"﹀","?":"︖","@":"@","[":"﹇","\\":"\","]":"﹈","^":"^",_:"︳","`":"`","{":"︷","|":"―","}":"︸","~":"~","¢":"¢","£":"£","¥":"¥","¦":"¦","¬":"¬","¯":" ̄","–":"︲","—":"︱","‘":"﹃","’":"﹄","“":"﹁","”":"﹂","…":"︙","⋯":"︙","‧":"・","₩":"₩","、":"︑","。":"︒","〈":"︿","〉":"﹀","《":"︽","》":"︾","「":"﹁","」":"﹂","『":"﹃","』":"﹄","【":"︻","】":"︼","〔":"︹","〕":"︺","〖":"︗","〗":"︘","!":"︕","(":"︵",")":"︶",",":"︐","-":"︲",".":"・",":":"︓",";":"︔","<":"︿",">":"﹀","?":"︖","[":"﹇","]":"﹈","_":"︳","{":"︷","|":"―","}":"︸","⦅":"︵","⦆":"︶","。":"︒","「":"﹁","」":"﹂"},Dk={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},Rk={40:!0};function ho(l,c,p,d,a,h){if("fontStack"in c){let y=p[c.fontStack],w=y==null?void 0:y[l];return w?w.metrics.advance*c.scale+a:0}{let y=d[c.imageName];return y?y.displaySize[0]*c.scale*k0/h+a:0}}function yo(l,c,p,d){let a=Math.pow(l-c,2);return d?l<c?a/2:2*a:a+Math.abs(p)*p}function Hk(l,c,p){let d=0;return l===10&&(d-=1e4),p&&(d+=150),l!==40&&l!==65288||(d+=50),c!==41&&c!==65289||(d+=50),d}function wo(l,c,p,d,a,h){let y=null,w=yo(c,p,a,h);for(let A of d){let k=yo(c-A.x,p,a,h)+A.badness;kMath.max(l,this.sections[c].scale),0)}getMaxImageSize(l){let c=0,p=0;for(let d=0;dp))}addImageSection(l){let c=l.image?l.image.name:"";if(c.length===0)return void w0("Can't add FormattedSection with an empty image.");let p=this.getNextImageSectionCharCode();p?(this.text+=String.fromCharCode(p),this.sections.push({scale:1,verticalAlign:l.verticalAlign||"bottom",imageName:c}),this.sectionIndex.push(this.sections.length-1)):w0("Reached maximum number of images 6401")}getNextImageSectionCharCode(){return this.imageSectionID?this.imageSectionID>=63743?null:++this.imageSectionID:(this.imageSectionID=57344,this.imageSectionID)}determineLineBreaks(l,c,p,d,a){let h=[],y=this.determineAverageLineWidth(l,c,p,d,a),w=this.hasZeroWidthSpaces(),A=0,k=0,W=this.text[Symbol.iterator](),n=W.next(),q=this.text[Symbol.iterator]();q.next();let C=q.next(),B=this.text[Symbol.iterator]();B.next(),B.next();let M=B.next();for(;!n.done;){let D=this.getSection(k),I=n.value.codePointAt(0);if(R7(I)||(A+=ho(I,D,p,d,l,a)),!C.done){let O=kd(I),Y=C.value.codePointAt(0);(Dk[I]||O||("imageName"in D)||!M.done&&Rk[Y])&&h.push(wo(k+1,A,y,h,Hk(I,Y,O&&w),!1))}k++,n=W.next(),C=q.next(),M=B.next()}return so(wo(this.length(),A,y,h,0,!0))}determineAverageLineWidth(l,c,p,d,a){let h=0,y=0;for(let w of this.text){let A=this.getSection(y);h+=ho(w.codePointAt(0),A,p,d,l,a),y++}return h/Math.max(1,Math.ceil(h/c))}}let Td=4294967296,So=1/Td,ko=typeof TextDecoder>"u"?null:new TextDecoder("utf-8");class m8{constructor(l=new Uint8Array(16)){this.buf=ArrayBuffer.isView(l)?l:new Uint8Array(l),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(l,c,p=this.length){for(;this.pos

>3,h=this.pos;this.type=7&d,l(a,c,this),this.pos===h&&this.skip(d)}return c}readMessage(l,c){return this.readFields(l,c,this.readVarint()+this.pos)}readFixed32(){let l=this.dataView.getUint32(this.pos,!0);return this.pos+=4,l}readSFixed32(){let l=this.dataView.getInt32(this.pos,!0);return this.pos+=4,l}readFixed64(){let l=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*Td;return this.pos+=8,l}readSFixed64(){let l=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*Td;return this.pos+=8,l}readFloat(){let l=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,l}readDouble(){let l=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,l}readVarint(l){let c=this.buf,p,d;return d=c[this.pos++],p=127&d,d<128?p:(d=c[this.pos++],p|=(127&d)<<7,d<128?p:(d=c[this.pos++],p|=(127&d)<<14,d<128?p:(d=c[this.pos++],p|=(127&d)<<21,d<128?p:(d=c[this.pos],p|=(15&d)<>4,k<128)return Zr(a,A,h);if(k=w[y.pos++],A|=(127&k)<<3,k<128)return Zr(a,A,h);if(k=w[y.pos++],A|=(127&k)<<10,k<128)return Zr(a,A,h);if(k=w[y.pos++],A|=(127&k)<<17,k<128)return Zr(a,A,h);if(k=w[y.pos++],A|=(127&k)<<24,k<128)return Zr(a,A,h);if(k=w[y.pos++],A|=(1&k)<<31,k=12&&ko?ko.decode(this.buf.subarray(c,l)):function(p,d,a){let h="",y=d;for(;y239?4:w>223?3:w>191?2:1;if(y+q>a)break;q===1?w<128&&(n=w):q===2?(A=p[y+1],(192&A)==128&&(n=(31&w)<<6|63&A,n<=127&&(n=null))):q===3?(A=p[y+1],k=p[y+2],(192&A)==128&&(192&k)==128&&(n=(15&w)<<12|(63&A)<<6|63&k,(n=55296&&n<=57343)&&(n=null))):q===4&&(A=p[y+1],k=p[y+2],W=p[y+3],(192&A)==128&&(192&k)==128&&(192&W)==128&&(n=(15&w)<<18|(63&A)<<12|(63&k)<<6|63&W,(n=1114112)&&(n=null))),n===null?(n=65533,q=1):n>65535&&(n-=65536,h+=String.fromCharCode(n>>>10&1023|55296),n=56320|1023&n),h+=String.fromCharCode(n),y+=q}return h}(this.buf,c,l)}readBytes(){let l=this.readVarint()+this.pos,c=this.buf.subarray(this.pos,l);return this.pos=l,c}readPackedVarint(l=[],c){let p=this.readPackedEnd();for(;this.pos<p;)l.push(this.readVarint(c));return l}readPackedSVarint(l=[]){let c=this.readPackedEnd();for(;this.pos<c;)l.push(this.readSVarint());return l}readPackedBoolean(l=[]){let c=this.readPackedEnd();for(;this.pos<c;)l.push(this.readBoolean());return l}readPackedFloat(l=[]){let c=this.readPackedEnd();for(;this.pos<c;)l.push(this.readFloat());return l}readPackedDouble(l=[]){let c=this.readPackedEnd();for(;this.pos<c;)l.push(this.readDouble());return l}readPackedFixed32(l=[]){let c=this.readPackedEnd();for(;this.pos<c;)l.push(this.readFixed32());return l}readPackedSFixed32(l=[]){let c=this.readPackedEnd();for(;this.pos<c;)l.push(this.readSFixed32());return l}readPackedFixed64(l=[]){let c=this.readPackedEnd();for(;this.pos<c;)l.push(this.readFixed64());return l}readPackedSFixed64(l=[]){let c=this.readPackedEnd();for(;this.pos127;);else if(c===2)this.pos=this.readVarint()+this.pos;else if(c===5)this.pos+=4;else{if(c!==1)throw Error(`Unimplemented type: ${c}`);this.pos+=8}}writeTag(l,c){this.writeVarint(l<<3|c)}realloc(l){let c=this.length||16;for(;c268435455||l=0?(d=c%4294967296|0,a=c/4294967296|0):(d=~(-c%4294967296),a=~(-c/4294967296),4294967295^d?d=d+1|0:(d=0,a=a+1|0)),c>=18446744073709552000||c>>=7,w.buf[w.pos++]=127&h|128,h>>>=7,w.buf[w.pos++]=127&h|128,h>>>=7,w.buf[w.pos++]=127&h|128,w.buf[w.pos]=127&(h>>>=7)}(d,0,p),function(h,y){let w=(7&h)<>>=3)?128:0),h&&(y.buf[y.pos++]=127&h|((h>>>=7)?128:0),h&&(y.buf[y.pos++]=127&h|((h>>>=7)?128:0),h&&(y.buf[y.pos++]=127&h|((h>>>=7)?128:0),h&&(y.buf[y.pos++]=127&h|((h>>>=7)?128:0),h&&(y.buf[y.pos++]=127&h)))))}(a,p)}(l,this):(this.realloc(4),this.buf[this.pos++]=127&l|(l>127?128:0),l>>=7)|(l>127?128:0),l>>=7)|(l>127?128:0),l>>7&127))))}writeSVarint(l){this.writeVarint(l<0?2*-l-1:2*l)}writeBoolean(l){this.writeVarint(+l)}writeString(l){l=String(l),this.realloc(4*l.length),this.pos++;let c=this.pos;this.pos=function(d,a,h){for(let y,w,A=0;A55295&&y56319||A+1===a.length?(d[h++]=239,d[h++]=191,d[h++]=189):w=y;continue}if(y<56320){d[h++]=239,d[h++]=191,d[h++]=189,w=y;continue}y=w-55296<<10|y-56320|65536,w=null}else w&&(d[h++]=239,d[h++]=191,d[h++]=189,w=null);y<128?d[h++]=y:(y>6|192:(y>12|224:(d[h++]=y>>18|240,d[h++]=y>>12&63|128),d[h++]=y>>6&63|128),d[h++]=63&y|128)}return h}(this.buf,l,this.pos);let p=this.pos-c;p>=128&&Eo(c,p,this),this.pos=c-1,this.writeVarint(p),this.pos+=p}writeFloat(l){this.realloc(4),this.dataView.setFloat32(this.pos,l,!0),this.pos+=4}writeDouble(l){this.realloc(8),this.dataView.setFloat64(this.pos,l,!0),this.pos+=8}writeBytes(l){let c=l.length;this.writeVarint(c),this.realloc(c);for(let p=0;p=128&&Eo(p,d,this),this.pos=p-1,this.writeVarint(d),this.pos+=d}writeMessage(l,c,p){this.writeTag(l,2),this.writeRawMessage(c,p)}writePackedVarint(l,c){c.length&&this.writeMessage(l,Ik,c)}writePackedSVarint(l,c){c.length&&this.writeMessage(l,Yk,c)}writePackedBoolean(l,c){c.length&&this.writeMessage(l,Gk,c)}writePackedFloat(l,c){c.length&&this.writeMessage(l,zk,c)}writePackedDouble(l,c){c.length&&this.writeMessage(l,Ok,c)}writePackedFixed32(l,c){c.length&&this.writeMessage(l,Qk,c)}writePackedSFixed32(l,c){c.length&&this.writeMessage(l,jk,c)}writePackedFixed64(l,c){c.length&&this.writeMessage(l,Jk,c)}writePackedSFixed64(l,c){c.length&&this.writeMessage(l,Xk,c)}writeBytesField(l,c){this.writeTag(l,2),this.writeBytes(c)}writeFixed32Field(l,c){this.writeTag(l,5),this.writeFixed32(c)}writeSFixed32Field(l,c){this.writeTag(l,5),this.writeSFixed32(c)}writeFixed64Field(l,c){this.writeTag(l,1),this.writeFixed64(c)}writeSFixed64Field(l,c){this.writeTag(l,1),this.writeSFixed64(c)}writeVarintField(l,c){this.writeTag(l,0),this.writeVarint(c)}writeSVarintField(l,c){this.writeTag(l,0),this.writeSVarint(c)}writeStringField(l,c){this.writeTag(l,2),this.writeString(c)}writeFloatField(l,c){this.writeTag(l,5),this.writeFloat(c)}writeDoubleField(l,c){this.writeTag(l,1),this.writeDouble(c)}writeBooleanField(l,c){this.writeVarintField(l,+c)}}function Zr(l,c,p){return p?4294967296*c+(l>>>0):4294967296*(c>>>0)+(l>>>0)}function Eo(l,c,p){let d=c<=16383?1:c<=2097151?2:c=l;a--)p.buf[a+d]=p.buf[a]}function Ik(l,c){for(let p=0;p<l.length;p++)c.writeVarint(l[p])}function Yk(l,c){for(let p=0;p<l.length;p++)c.writeSVarint(l[p])}function zk(l,c){for(let p=0;p<l.length;p++)c.writeFloat(l[p])}function Ok(l,c){for(let p=0;p<l.length;p++)c.writeDouble(l[p])}function Gk(l,c){for(let p=0;p<l.length;p++)c.writeBoolean(l[p])}function Qk(l,c){for(let p=0;p<l.length;p++)c.writeFixed32(l[p])}function jk(l,c){for(let p=0;p<l.length;p++)c.writeSFixed32(l[p])}function Jk(l,c){for(let p=0;p<l.length;p++)c.writeFixed64(l[p])}function Xk(l,c){for(let p=0;pw.h-y.h);let d=[{x:0,y:0,w:Math.max(Math.ceil(Math.sqrt(c/0.95)),p),h:1/0}],a=0,h=0;for(let y of l)for(let w=d.length-1;w>=0;w--){let A=d[w];if(!(y.w>A.w||y.h>A.h)){if(y.x=A.x,y.y=A.y,h=Math.max(h,y.y+y.h),a=Math.max(a,y.x+y.w),y.w===A.w&&y.h===A.h){let k=d.pop();k&&wM.toCodeUnitIndex(d1));let Z=O(M.toString(),I);for(let d1 of Z){let m1=[...d1].map(()=>0);D.push(new Tr(d1,M.sections,m1))}}else if(Y){D=[],I=I.map((a1)=>M.toCodeUnitIndex(a1));let Z=0,d1=[];for(let a1 of M.text)d1.push(...Array(a1.length).fill(M.sectionIndex[Z])),Z++;let m1=Y(M.text,d1,I);for(let a1 of m1){let s1=[],w1="";for(let k1 of a1[0])s1.push(a1[1][w1.length]),w1+=k1;D.push(new Tr(a1[0],M.sections,s1))}}else D=function(Z,d1){let m1=[],a1=0;for(let s1 of d1)m1.push(Z.substring(a1,s1)),a1=s1;return a1<Z.length()&&m1.push(Z.substring(a1,Z.length())),m1}(M,I);let G=[],j={positionedLines:G,text:M.toString(),top:W[1],bottom:W[1],left:W[0],right:W[0],writingMode:n,iconsInText:!1,verticalizable:!1};return function(Z,d1,m1,a1,s1,w1,k1,y1,n1,Y1,U1,K1){let R1=0,_1=0,Cl=0,sl=0,ql=y1==="right"?1:y1==="left"?0:0.5,H0=k0/K1,Tl=0;for(let Il of s1){Il.trim();let d2=Il.getMaxScale(),Z0={positionedGlyphs:[],lineOffset:0};Z.positionedLines[Tl]=Z0;let b0=Z0.positionedGlyphs,A2=0;if(!Il.length()){_1+=w1,++Tl;continue}let I0=$k(a1,Il,H0),V2=0;for(let n0 of Il.text){let Gl=Il.getSection(V2),a0=n0.codePointAt(0),Zl=_k(n1,U1,a0),A0={glyph:a0,imageName:null,x:R1,y:_1+-17,vertical:Zl,scale:1,fontStack:"",sectionIndex:Il.getSectionIndex(V2),metrics:null,rect:null},u3;if("fontStack"in Gl){if(u3=ik(Gl,a0,Zl,I0,d1,m1),!u3)continue;A0.fontStack=Gl.fontStack}else{if(Z.iconsInText=!0,Gl.scale*=H0,u3=ek(Gl,Zl,d2,I0,a1),!u3)continue;A2=Math.max(A2,u3.imageOffset),A0.imageName=Gl.imageName}let{rect:Bu,metrics:w8,baselineOffset:r4}=u3;A0.y+=r4,A0.scale=Gl.scale,A0.metrics=w8,A0.rect=Bu,b0.push(A0),Zl?(Z.verticalizable=!0,R1+=("imageName"in Gl?w8.advance:k0)*Gl.scale+Y1):R1+=w8.advance*Gl.scale+Y1,V2++}b0.length!==0&&(Cl=Math.max(R1-Y1,Cl),tk(b0,0,b0.length-1,ql)),R1=0,Z0.lineOffset=Math.max(A2,(d2-1)*k0);let hu=w1*d2+A2;_1+=hu,sl=Math.max(hu,sl),++Tl}let{horizontalAlign:f0,verticalAlign:N0}=bd(k1);(function(Il,d2,Z0,b0,A2,I0,V2,hu,n0){let Gl=(d2-Z0)*A2,a0=0;a0=I0!==V2?-hu*b0- -17:-b0*n0*V2+0.5*V2;for(let Zl of Il)for(let A0 of Zl.positionedGlyphs)A0.x+=Gl,A0.y+=a0})(Z.positionedLines,ql,f0,N0,Cl,sl,w1,_1,s1.length),Z.top+=-N0*_1,Z.bottom=Z.top+_1,Z.left+=-f0*Cl,Z.right=Z.left+Cl}(j,c,p,d,D,y,w,A,n,k,q,B),!function(Z){for(let d1 of Z)if(d1.positionedGlyphs.length!==0)return!1;return!0}(G)&&j}function bd(l){let c=0.5,p=0.5;switch(l){case"right":case"top-right":case"bottom-right":c=1;break;case"left":case"top-left":case"bottom-left":c=0}switch(l){case"bottom":case"bottom-right":case"bottom-left":p=1;break;case"top":case"top-right":case"top-left":p=0}return{horizontalAlign:c,verticalAlign:p}}function $k(l,c,p){let d=c.getMaxScale()*k0,{maxImageWidth:a,maxImageHeight:h}=c.getMaxImageSize(l),y=Math.max(d,h*p);return{verticalLineContentWidth:Math.max(d,a*p),horizontalLineContentHeight:y}}function Ao(l){switch(l){case"top":return 0;case"center":return 0.5;default:return 1}}function _k(l,c,p){return!(l===V.ax.horizontal||!c&&!f5(p)||c&&(R7(p)||(d=p,/\p{sc=Arab}/u.test(String.fromCodePoint(d)))));var d}function ik(l,c,p,d,a,h){let y=h[l.fontStack],w=function(k,W,n,q){if(k==null?void 0:k.rect)return k;let C=W[n.fontStack],B=C==null?void 0:C[q];return B?{rect:null,metrics:B.metrics}:null}(y==null?void 0:y[c],a,l,c);if(w===null)return null;let A;if(p)A=d.verticalLineContentWidth-l.scale*k0;else{let k=Ao(l.verticalAlign);A=(d.horizontalLineContentHeight-l.scale*k0)*k}return{rect:w.rect,metrics:w.metrics,baselineOffset:A}}function ek(l,c,p,d,a){let h=a[l.imageName];if(!h)return null;let{paddedRect:y,displaySize:w}=h,A={width:w[0],height:w[1],left:1,top:-3,advance:c?w[1]:w[0]},k;if(c)k=d.verticalLineContentWidth-w[1]*l.scale;else{let W=Ao(l.verticalAlign);k=(d.horizontalLineContentHeight-w[1]*l.scale)*W}return{rect:y,metrics:A,baselineOffset:k,imageOffset:(c?w[0]:w[1])*l.scale-k0*p}}function tk(l,c,p,d){if(d===0)return;let a=l[p],h=(l[p].x+a.metrics.advance*a.scale)*d;for(let y=c;y<=p;y++)l[y].x-=h}function lE(l,c,p){let{horizontalAlign:d,verticalAlign:a}=bd(p),h=c[0]-l.displaySize[0]*d,y=c[1]-l.displaySize[1]*a;return{image:l,top:y,bottom:y+l.displaySize[1],left:h,right:h+l.displaySize[0]}}function Vo(l){var c,p;let{left:d,top:a}=l,h=l.right-d,y=l.bottom-a,w=(c=l.image.textFitWidth)!==null&&c!==void 0?c:"stretchOrShrink",A=(p=l.image.textFitHeight)!==null&&p!==void 0?p:"stretchOrShrink",k=(l.image.content[2]-l.image.content[0])/(l.image.content[3]-l.image.content[1]);if(A==="proportional"){if(w==="stretchOnly"&&h/yk){let W=Math.ceil(h/k);a*=W/y,y=W}return{x1:d,y1:a,x2:d+h,y2:a+y}}function Wo(l,c,p,d,a,h){let y=l.image,w;if(y.content){let D=y.content,I=y.pixelRatio||1;w=[D[0]/I,D[1]/I,y.displaySize[0]-D[2]/I,y.displaySize[1]-D[3]/I]}let A=c.left*h,k=c.right*h,W,n,q,C;p==="width"||p==="both"?(C=a[0]+A-d[3],n=a[0]+k+d[1]):(C=a[0]+(A+k-y.displaySize[0])/2,n=C+y.displaySize[0]);let B=c.top*h,M=c.bottom*h;return p==="height"||p==="both"?(W=a[1]+B-d[0],q=a[1]+M+d[2]):(W=a[1]+(B+M-y.displaySize[1])/2,q=W+y.displaySize[1]),{image:y,top:W,right:n,bottom:q,left:C,collisionPadding:w}}z1("ImagePosition",n9),z1("ImageAtlas",Zd),V.ax=void 0,(_3=V.ax||(V.ax={}))[_3.none=0]="none",_3[_3.horizontal=1]="horizontal",_3[_3.vertical=2]="vertical",_3[_3.horizontalOnly=3]="horizontalOnly";let t5=128,i3=32640;function Lo(l,c){let{expression:p}=c;if(p.kind==="constant")return{kind:"constant",layoutSize:p.evaluate(new Nl(l+1))};if(p.kind==="source")return{kind:"source"};{let{zoomStops:d,interpolationType:a}=p,h=0;for(;h<d.length&&d[h]<=l;)h++;h=Math.max(0,h-1);let y=h;for(;y<d.length&&d[y]<l+1;)y++;y=Math.min(d.length-1,y);let w=d[h],A=d[y];return p.kind==="composite"?{kind:"composite",minZoom:w,maxZoom:A,interpolationType:a}:{kind:"camera",minZoom:w,maxZoom:A,minSize:p.evaluate(new Nl(w)),maxSize:p.evaluate(new Nl(A)),interpolationType:a}}}function $d(l,c,p){let d="never",a=l.get(c);return a?d=a:l.get(p)&&(d="always"),d}let uE=[{name:"a_fade_opacity",components:1,type:"Uint8",offset:0}];function V9(l,c,p,d,a,h,y,w,A,k,W,n,q){let C=w?Math.min(i3,Math.round(w[0])):0,B=w?Math.min(i3,Math.round(w[1])):0;l.emplaceBack(c,p,Math.round(32*d),Math.round(32*a),h,y,(C<h.id),this.index=l.index,this.pixelRatio=l.pixelRatio,this.sourceLayerIndex=l.sourceLayerIndex,this.hasDependencies=!1,this.hasRTLText=!1,this.sortKeyRanges=[],this.collisionCircleArray=[];let c=this.layers[0]._unevaluatedLayout._values;this.textSizeData=Lo(this.zoom,c["text-size"]),this.iconSizeData=Lo(this.zoom,c["icon-size"]);let p=this.layers[0].layout,d=p.get("symbol-sort-key"),a=p.get("symbol-z-order");this.canOverlap=$d(p,"text-overlap","text-allow-overlap")!=="never"||$d(p,"icon-overlap","icon-allow-overlap")!=="never"||p.get("text-ignore-placement")||p.get("icon-ignore-placement"),this.sortFeaturesByKey=a!=="viewport-y"&&!d.isConstant(),this.sortFeaturesByY=(a==="viewport-y"||a==="auto"&&!this.sortFeaturesByKey)&&this.canOverlap,p.get("symbol-placement")==="point"&&(this.writingModes=p.get("text-writing-mode").map((h)=>V.ax[h])),this.stateDependentLayerIds=this.layers.filter((h)=>h.isStateDependent()).map((h)=>h.id),this.sourceID=l.sourceID}createArrays(){this.text=new W9(new au(this.layers,this.zoom,(l)=>l.startsWith("text"))),this.icon=new W9(new au(this.layers,this.zoom,(l)=>l.startsWith("icon"))),this.glyphOffsetArray=new P,this.lineVertexArray=new K,this.symbolInstances=new F,this.textAnchorOffsets=new U}calculateGlyphDependencies(l,c,p,d,a){for(let h of l)if(c[h.codePointAt(0)]=!0,(p||d)&&a){let y=d8[h];y&&(c[y.codePointAt(0)]=!0)}}populate(l,c,p){var d;let a=this.layers[0],h=a.layout,y=h.get("text-font"),w=h.get("text-field"),A=h.get("icon-image"),k=(w.value.kind!=="constant"||w.value.value instanceof Q0&&!w.value.value.isEmpty()||w.value.value.toString().length>0)&&(y.value.kind!=="constant"||y.value.value.length>0),W=A.value.kind!=="constant"||!!A.value.value||Object.keys(A.parameters).length>0,n=h.get("symbol-sort-key");if(this.features=[],!k&&!W)return;let{iconDependencies:q,glyphDependencies:C,availableImages:B}=c,M=new Nl(this.zoom);for(let{feature:D,id:I,index:O,sourceLayerIndex:Y}of l){let G=a._featureFilter.needGeometry,j=y5(D,G);if(!a._featureFilter.filter(M,j,p))continue;let Z,d1;if(G||(j.geometry=h5(D)),k){let a1=a.getValueAndResolveTokens("text-field",j,p,B),s1=Q0.factory(a1);this.hasRTLText||(this.hasRTLText=cE(s1)),(!this.hasRTLText||pu.getRTLTextPluginStatus()==="unavailable"||this.hasRTLText&&pu.isParsed())&&(Z=Uk(s1,a,j))}if(W){let a1=a.getValueAndResolveTokens("icon-image",j,p,B);d1=a1 instanceof w2?a1:w2.fromString(a1)}if(!Z&&!d1)continue;let m1=this.sortFeaturesByKey?n.evaluate(j,{},p):void 0;if(this.features.push({id:I,text:Z,icon:d1,index:O,sourceLayerIndex:Y,geometry:j.geometry,properties:D.properties,type:Qr.types[D.type],sortKey:m1}),d1&&(q[d1.name]=!0),Z){let a1=y.evaluate(j,{},p).join(","),s1=h.get("text-rotation-alignment")!=="viewport"&&h.get("symbol-placement")!=="point";this.allowVerticalPlacement=(d=this.writingModes)===null||d===void 0?void 0:d.includes(V.ax.vertical);for(let w1 of Z.sections)if(w1.image)q[w1.image.name]=!0;else{let k1=Wr(Z.toString()),y1=w1.fontStack||a1;C[y1]||(C[y1]={}),this.calculateGlyphDependencies(w1.text,C[y1],s1,this.allowVerticalPlacement,k1)}}}h.get("symbol-placement")==="line"&&(this.features=function(D){let I={},O={},Y=[],G=0;function j(a1){Y.push(D[a1]),G++}function Z(a1,s1,w1){let k1=O[a1];return delete O[a1],O[s1]=k1,Y[k1].geometry[0].pop(),Y[k1].geometry[0]=Y[k1].geometry[0].concat(w1[0]),k1}function d1(a1,s1,w1){let k1=I[s1];return delete I[s1],I[a1]=k1,Y[k1].geometry[0].shift(),Y[k1].geometry[0]=w1[0].concat(Y[k1].geometry[0]),k1}function m1(a1,s1,w1){let k1=w1?s1[0][s1[0].length-1]:s1[0][0];return`${a1}:${k1.x}:${k1.y}`}for(let a1=0;a1a1.geometry)}(this.features)),this.sortFeaturesByKey&&this.features.sort((D,I)=>D.sortKey-I.sortKey)}update(l,c,p){this.stateDependentLayers.length&&(this.text.programConfigurations.updatePaintArrays(l,c,this.layers,{imagePositions:p}),this.icon.programConfigurations.updatePaintArrays(l,c,this.layers,{imagePositions:p}))}isEmpty(){return this.symbolInstances.length===0&&!this.hasRTLText}uploadPending(){return!this.uploaded||this.text.programConfigurations.needsUpload||this.icon.programConfigurations.needsUpload}upload(l){!this.uploaded&&this.hasDebugData()&&(this.textCollisionBox.upload(l),this.iconCollisionBox.upload(l)),this.text.upload(l,this.sortFeaturesByY,!this.uploaded,this.text.programConfigurations.needsUpload),this.icon.upload(l,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(l,c){let p=this.lineVertexArray.length;if(l.segment!==void 0){let d=l.dist(c[l.segment+1]),a=l.dist(c[l.segment]),h={};for(let y=l.segment+1;y<c.length;y++)h[y]={x:c[y].x,y:c[y].y,tileUnitDistanceFromAnchor:d},y=0;y--)h[y]={x:c[y].x,y:c[y].y,tileUnitDistanceFromAnchor:a},y>0&&(a+=c[y-1].dist(c[y]));for(let y=0;y<c.length;y++){let w=h[y];this.lineVertexArray.emplaceBack(w.x,w.y,w.tileUnitDistanceFromAnchor)}}return{lineStartIndex:p,lineLength:this.lineVertexArray.length-p}}addSymbols(l,c,p,d,a,h,y,w,A,k,W,n){let{indexArray:q,layoutVertexArray:C}=l,B=l.segments.prepareSegment(4*c.length,C,q,this.canOverlap?h.sortKey:void 0),M=this.glyphOffsetArray.length,D=B.vertexLength,I=this.allowVerticalPlacement&&y===V.ax.vertical?Math.PI/2:0,O=h.text&&h.text.sections;for(let Y=0;Y<c.length;Y++){let{tl:G,tr:j,bl:Z,br:d1,tex:m1,pixelOffsetTL:a1,pixelOffsetBR:s1,minFontScaleX:w1,minFontScaleY:k1,glyphOffset:y1,isSDF:n1,sectionIndex:Y1}=c[Y],U1=B.vertexLength,K1=y1[1];V9(C,w.x,w.y,G.x,K1+G.y,m1.x,m1.y,p,n1,a1.x,a1.y,w1,k1),V9(C,w.x,w.y,j.x,K1+j.y,m1.x+m1.w,m1.y,p,n1,s1.x,a1.y,w1,k1),V9(C,w.x,w.y,Z.x,K1+Z.y,m1.x,m1.y+m1.h,p,n1,a1.x,s1.y,w1,k1),V9(C,w.x,w.y,d1.x,K1+d1.y,m1.x+m1.w,m1.y+m1.h,p,n1,s1.x,s1.y,w1,k1),_d(l.dynamicLayoutVertexArray,w,I),q.emplaceBack(U1,U1+2,U1+1),q.emplaceBack(U1+1,U1+2,U1+3),B.vertexLength+=4,B.primitiveLength+=2,this.glyphOffsetArray.emplaceBack(y1[0]),Y!==c.length-1&&Y1===c[Y+1].sectionIndex||l.programConfigurations.populatePaintArrays(C.length,h,h.index,{imagePositions:{},canonical:n,formattedSection:O==null?void 0:O[Y1]})}l.placedSymbolArray.emplaceBack(w.x,w.y,M,this.glyphOffsetArray.length-M,D,A,k,w.segment,p?p[0]:0,p?p[1]:0,d[0],d[1],y,0,!1,0,W)}_addCollisionDebugVertex(l,c,p,d,a,h){return c.emplaceBack(0,0),l.emplaceBack(p.x,p.y,d,a,Math.round(h.x),Math.round(h.y))}addCollisionDebugVertices(l,c,p,d,a,h,y){let w=a.segments.prepareSegment(4,a.layoutVertexArray,a.indexArray),A=w.vertexLength,k=a.layoutVertexArray,W=a.collisionVertexArray,n=y.anchorX,q=y.anchorY;this._addCollisionDebugVertex(k,W,h,n,q,new H(l,c)),this._addCollisionDebugVertex(k,W,h,n,q,new H(p,c)),this._addCollisionDebugVertex(k,W,h,n,q,new H(p,d)),this._addCollisionDebugVertex(k,W,h,n,q,new H(l,d)),w.vertexLength+=4;let C=a.indexArray;C.emplaceBack(A,A+1),C.emplaceBack(A+1,A+2),C.emplaceBack(A+2,A+3),C.emplaceBack(A+3,A),w.primitiveLength+=4}addDebugCollisionBoxes(l,c,p,d){for(let a=l;a<c;a++){let h=this.collisionBoxArray.get(a);this.addCollisionDebugVertices(h.x1,h.y1,h.x2,h.y2,d?this.textCollisionBox:this.iconCollisionBox,h.anchorPoint,p)}}generateCollisionDebugBuffers(){this.hasDebugData()&&this.destroyDebugData(),this.textCollisionBox=new L9(W1,oo.members,j1),this.iconCollisionBox=new L9(W1,oo.members,j1);for(let l=0;l<this.symbolInstances.length;l++){let c=this.symbolInstances.get(l);this.addDebugCollisionBoxes(c.textBoxStartIndex,c.textBoxEndIndex,c,!0),this.addDebugCollisionBoxes(c.verticalTextBoxStartIndex,c.verticalTextBoxEndIndex,c,!0),this.addDebugCollisionBoxes(c.iconBoxStartIndex,c.iconBoxEndIndex,c,!1),this.addDebugCollisionBoxes(c.verticalIconBoxStartIndex,c.verticalIconBoxEndIndex,c,!1)}}_deserializeCollisionBoxesForSymbol(l,c,p,d,a,h,y,w,A){let k={};for(let W=c;W<p;W++){let n=l.get(W);k.textBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},k.textFeatureIndex=n.featureIndex;break}for(let W=d;W<a;W++){let n=l.get(W);k.verticalTextBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},k.verticalTextFeatureIndex=n.featureIndex;break}for(let W=h;W<y;W++){let n=l.get(W);k.iconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},k.iconFeatureIndex=n.featureIndex;break}for(let W=w;W<A;W++){let n=l.get(W);k.verticalIconBox={x1:n.x1,y1:n.y1,x2:n.x2,y2:n.y2,anchorPointX:n.anchorPointX,anchorPointY:n.anchorPointY},k.verticalIconFeatureIndex=n.featureIndex;break}return k}deserializeCollisionBoxes(l){this.collisionArrays=[];for(let c=0;c0}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(l,c){let p=l.placedSymbolArray.get(c),d=p.vertexStartIndex+4*p.numGlyphs;for(let a=p.vertexStartIndex;a<d;a+=4)l.indexArray.emplaceBack(a,a+2,a+1),l.indexArray.emplaceBack(a+1,a+2,a+3)}getSortedSymbolIndexes(l){if(this.sortedAngle===l&&this.symbolInstanceIndexes!==void 0)return this.symbolInstanceIndexes;let c=Math.sin(l),p=Math.cos(l),d=[],a=[],h=[];for(let y=0;yd[y]-d[w]||a[w]-a[y]),h}addToSortKeyRanges(l,c){let p=this.sortKeyRanges[this.sortKeyRanges.length-1];(p==null?void 0:p.sortKey)===c?p.symbolInstanceEnd=l+1:this.sortKeyRanges.push({sortKey:c,symbolInstanceStart:l,symbolInstanceEnd:l+1})}sortFeatures(l){if(this.sortFeaturesByY&&this.sortedAngle!==l&&!(this.text.segments.get().length>1||this.icon.segments.get().length>1)){this.symbolInstanceIndexes=this.getSortedSymbolIndexes(l),this.sortedAngle=l,this.text.indexArray.clear(),this.icon.indexArray.clear(),this.featureSortOrder=[];for(let c of this.symbolInstanceIndexes){let p=this.symbolInstances.get(c);this.featureSortOrder.push(p.featureIndex);let d=[p.rightJustifiedTextSymbolIndex,p.centerJustifiedTextSymbolIndex,p.leftJustifiedTextSymbolIndex];for(let a=0;a=0&&d.indexOf(h)===a&&this.addIndicesForPlacedSymbol(this.text,h)}p.verticalPlacedTextSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.text,p.verticalPlacedTextSymbolIndex),p.placedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,p.placedIconSymbolIndex),p.verticalPlacedIconSymbolIndex>=0&&this.addIndicesForPlacedSymbol(this.icon,p.verticalPlacedIconSymbolIndex)}this.text.indexBuffer&&this.text.indexBuffer.updateData(this.text.indexArray),this.icon.indexBuffer&&this.icon.indexBuffer.updateData(this.icon.indexArray)}}}let Co,xo;z1("SymbolBucket",Vc,{omit:["layers","collisionBoxArray","features","compareText"]}),Vc.MAX_GLYPHS=65535,Vc.addDynamicAttributes=_d;var id={get paint(){return xo=xo||new C0({"icon-opacity":new $1(E1.paint_symbol["icon-opacity"]),"icon-color":new $1(E1.paint_symbol["icon-color"]),"icon-halo-color":new $1(E1.paint_symbol["icon-halo-color"]),"icon-halo-width":new $1(E1.paint_symbol["icon-halo-width"]),"icon-halo-blur":new $1(E1.paint_symbol["icon-halo-blur"]),"icon-translate":new T1(E1.paint_symbol["icon-translate"]),"icon-translate-anchor":new T1(E1.paint_symbol["icon-translate-anchor"]),"text-opacity":new $1(E1.paint_symbol["text-opacity"]),"text-color":new $1(E1.paint_symbol["text-color"],{runtimeType:y2,getOverride:(l)=>l.textColor,hasOverride:(l)=>!!l.textColor}),"text-halo-color":new $1(E1.paint_symbol["text-halo-color"]),"text-halo-width":new $1(E1.paint_symbol["text-halo-width"]),"text-halo-blur":new $1(E1.paint_symbol["text-halo-blur"]),"text-translate":new T1(E1.paint_symbol["text-translate"]),"text-translate-anchor":new T1(E1.paint_symbol["text-translate-anchor"])})},get layout(){return Co=Co||new C0({"symbol-placement":new T1(E1.layout_symbol["symbol-placement"]),"symbol-spacing":new T1(E1.layout_symbol["symbol-spacing"]),"symbol-avoid-edges":new T1(E1.layout_symbol["symbol-avoid-edges"]),"symbol-sort-key":new $1(E1.layout_symbol["symbol-sort-key"]),"symbol-z-order":new T1(E1.layout_symbol["symbol-z-order"]),"icon-allow-overlap":new T1(E1.layout_symbol["icon-allow-overlap"]),"icon-overlap":new T1(E1.layout_symbol["icon-overlap"]),"icon-ignore-placement":new T1(E1.layout_symbol["icon-ignore-placement"]),"icon-optional":new T1(E1.layout_symbol["icon-optional"]),"icon-rotation-alignment":new T1(E1.layout_symbol["icon-rotation-alignment"]),"icon-size":new $1(E1.layout_symbol["icon-size"]),"icon-text-fit":new T1(E1.layout_symbol["icon-text-fit"]),"icon-text-fit-padding":new T1(E1.layout_symbol["icon-text-fit-padding"]),"icon-image":new $1(E1.layout_symbol["icon-image"]),"icon-rotate":new $1(E1.layout_symbol["icon-rotate"]),"icon-padding":new $1(E1.layout_symbol["icon-padding"]),"icon-keep-upright":new T1(E1.layout_symbol["icon-keep-upright"]),"icon-offset":new $1(E1.layout_symbol["icon-offset"]),"icon-anchor":new $1(E1.layout_symbol["icon-anchor"]),"icon-pitch-alignment":new T1(E1.layout_symbol["icon-pitch-alignment"]),"text-pitch-alignment":new T1(E1.layout_symbol["text-pitch-alignment"]),"text-rotation-alignment":new T1(E1.layout_symbol["text-rotation-alignment"]),"text-field":new $1(E1.layout_symbol["text-field"]),"text-font":new $1(E1.layout_symbol["text-font"]),"text-size":new $1(E1.layout_symbol["text-size"]),"text-max-width":new $1(E1.layout_symbol["text-max-width"]),"text-line-height":new T1(E1.layout_symbol["text-line-height"]),"text-letter-spacing":new $1(E1.layout_symbol["text-letter-spacing"]),"text-justify":new $1(E1.layout_symbol["text-justify"]),"text-radial-offset":new $1(E1.layout_symbol["text-radial-offset"]),"text-variable-anchor":new T1(E1.layout_symbol["text-variable-anchor"]),"text-variable-anchor-offset":new $1(E1.layout_symbol["text-variable-anchor-offset"]),"text-anchor":new $1(E1.layout_symbol["text-anchor"]),"text-max-angle":new T1(E1.layout_symbol["text-max-angle"]),"text-writing-mode":new T1(E1.layout_symbol["text-writing-mode"]),"text-rotate":new $1(E1.layout_symbol["text-rotate"]),"text-padding":new T1(E1.layout_symbol["text-padding"]),"text-keep-upright":new T1(E1.layout_symbol["text-keep-upright"]),"text-transform":new $1(E1.layout_symbol["text-transform"]),"text-offset":new $1(E1.layout_symbol["text-offset"]),"text-allow-overlap":new T1(E1.layout_symbol["text-allow-overlap"]),"text-overlap":new T1(E1.layout_symbol["text-overlap"]),"text-ignore-placement":new T1(E1.layout_symbol["text-ignore-placement"]),"text-optional":new T1(E1.layout_symbol["text-optional"])})}};class ed{constructor(l){if(l.property.overrides===void 0)throw Error("overrides must be provided to instantiate FormatSectionOverride class");this.type=l.property.overrides?l.property.overrides.runtimeType:$u,this.defaultValue=l}evaluate(l){if(l.formattedSection){let c=this.defaultValue.property.overrides;if(c==null?void 0:c.hasOverride(l.formattedSection))return c.getOverride(l.formattedSection)}return l.feature&&l.featureState?this.defaultValue.evaluate(l.feature,l.featureState):this.defaultValue.property.specification.default}eachChild(l){this.defaultValue.isConstant()||l(this.defaultValue.value._styleExpression.expression)}outputDefined(){return!1}serialize(){return null}}z1("FormatSectionOverride",ed,{omit:["defaultValue"]});class C9 extends r2{constructor(l,c){super(l,id,c)}recalculate(l,c){if(super.recalculate(l,c),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"){let p=this.layout.get("text-writing-mode");if(p){let d=[];for(let a of p)d.includes(a)||d.push(a);this.layout._values["text-writing-mode"]=d}else this.layout._values["text-writing-mode"]=["horizontal"]}this._setPaintOverrides()}getValueAndResolveTokens(l,c,p,d){let a=this.layout.get(l).evaluate(c,{},p,d),h=this._unevaluatedLayout._values[l];return h.isDataDriven()||i4(h.value)||!a?a:function(y,w){return w.replace(/{([^{}]+)}/g,(A,k)=>y&&(k in y)?String(y[k]):"")}(c.properties,a)}createBucket(l){return new Vc(l)}queryRadius(){return 0}queryIntersectsFeature(){throw Error("Should take a different path in FeatureIndex")}_setPaintOverrides(){for(let l of id.paint.overridableProperties){if(!C9.hasPaintOverride(this.layout,l))continue;let c=this.paint.get(l),p=new ed(c),d=new O5(p,c.property.specification),a=null;a=c.value.kind==="constant"||c.value.kind==="source"?new H3("source",d):new e4("composite",d,c.value.zoomStops),this.paint._values[l]=new E2(c.property,a,c.parameters)}}_handleOverridablePaintPropertyUpdate(l,c,p){return!(!this.layout||c.isDataDriven()||p.isDataDriven())&&C9.hasPaintOverride(this.layout,l)}static hasPaintOverride(l,c){let p=l.get("text-field"),d=id.paint.properties[c],a=!1,h=(y)=>{var w;for(let A of y)if((w=d.overrides)===null||w===void 0?void 0:w.hasOverride(A))return void(a=!0)};if(p.value.kind==="constant"&&p.value.value instanceof Q0)h(p.value.value.sections);else if(p.value.kind==="source"||p.value.kind==="composite"){let y=(A)=>{a||(A instanceof t2&&_l(A.value)===P4?h(A.value.sections):A instanceof D5?h(A.sections):A.eachChild(y))},w=p.value;w._styleExpression&&y(w._styleExpression.expression)}return a}}let No;var rE={get paint(){return No=No||new C0({"background-color":new T1(E1.paint_background["background-color"]),"background-pattern":new Pr(E1.paint_background["background-pattern"]),"background-opacity":new T1(E1.paint_background["background-opacity"])})}};class Fo extends r2{constructor(l,c){super(l,rE,c)}}class qo extends r2{constructor(l,c){super(l,{},c),this.onAdd=(p)=>{this.implementation.onAdd&&this.implementation.onAdd(p,p.painter.context.gl)},this.onRemove=(p)=>{this.implementation.onRemove&&this.implementation.onRemove(p,p.painter.context.gl)},this.implementation=l}is3D(){return this.implementation.renderingMode==="3d"}hasOffscreenPass(){return this.implementation.prerender!==void 0}recalculate(){}updateTransitions(){}hasTransition(){return!1}serialize(){throw Error("Custom layers cannot be serialized")}}class Po{constructor(l){this._methodToThrottle=l,this._triggered=!1,this._channel=new MessageChannel,this._channel.port2.onmessage=()=>{this._triggered=!1,this._methodToThrottle()}}trigger(){var l;this._triggered||(this._triggered=!0,(l=this._channel)===null||l===void 0||l.port1.postMessage(!0))}remove(){delete this._channel,this._methodToThrottle=()=>{}}}let pE={once:!0},td=6371008.8;class e3{constructor(l,c){if(isNaN(l)||isNaN(c))throw Error(`Invalid LngLat object: (${l}, ${c})`);if(this.lng=+l,this.lat=+c,this.lat>90||this.lat<-90)throw Error("Invalid LngLat latitude value: must be between -90 and 90")}wrap(){return new e3(Tc(this.lng,-180,180),this.lat)}toArray(){return[this.lng,this.lat]}toString(){return`LngLat(${this.lng}, ${this.lat})`}distanceTo(l){let c=Math.PI/180,p=this.lat*c,d=l.lat*c,a=Math.sin(p)*Math.sin(d)+Math.cos(p)*Math.cos(d)*Math.cos((l.lng-this.lng)*c);return td*Math.acos(Math.min(a,1))}static convert(l){if(l instanceof e3)return l;if(Array.isArray(l)&&(l.length===2||l.length===3))return new e3(Number(l[0]),Number(l[1]));if(!Array.isArray(l)&&typeof l=="object"&&l!==null)return new e3(Number("lng"in l?l.lng:l.lon),Number(l.lat));throw Error("`LngLatLike` argument must be specified as a LngLat instance, an object {lng: , lat: }, an object {lon: , lat: }, or an array of [, ]")}}let Mo=2*Math.PI*td;function Bo(l){return Mo*Math.cos(l*Math.PI/180)}function Ko(l){return(180+l)/360}function Uo(l){return(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+l*Math.PI/360)))/360}function Do(l,c){return l/Bo(c)}function Ro(l){return 360*l-180}function x9(l){return 360/Math.PI*Math.atan(Math.exp((180-360*l)*Math.PI/180))-90}function Ho(l,c){return l*Bo(x9(c))}class g8{constructor(l,c,p=0){this.x=+l,this.y=+c,this.z=+p}static fromLngLat(l,c=0){let p=e3.convert(l);return new g8(Ko(p.lng),Uo(p.lat),Do(c,p.lat))}toLngLat(){return new e3(Ro(this.x),x9(this.y))}toAltitude(){return Ho(this.z,this.y)}meterInMercatorCoordinateUnits(){return 1/Mo*(l=x9(this.y),1/Math.cos(l*Math.PI/180));var l}}function Io(l,c,p){var d=2*Math.PI*6378137/256/Math.pow(2,p);return[l*d-2*Math.PI*6378137/2,c*d-2*Math.PI*6378137/2]}class N9{constructor(l,c,p){if(!function(d,a,h){return!(d25||h=Math.pow(2,d)||a=Math.pow(2,d))}(l,c,p))throw Error(`x=${c}, y=${p}, z=${l} outside of bounds. 0<=x<${Math.pow(2,l)}, 0<=y<${Math.pow(2,l)} 0<=z0;B--){let M=1<1?"@2x":"").replace(/{quadkey}/g,k).replace(/{bbox-epsg-3857}/g,d)}isChildOf(l){let c=this.z-l.z;return c>0&&l.x===this.x>>c&&l.y===this.y>>c}getTilePoint(l){let c=Math.pow(2,this.z);return new H((l.x*c-this.x)*ll,(l.y*c-this.y)*ll)}toString(){return`${this.z}/${this.x}/${this.y}`}}class lm{constructor(l,c){this.wrap=l,this.canonical=c,this.key=br(l,c.z,c.z,c.x,c.y)}}class K2{constructor(l,c,p,d,a){if(this.terrainRttPosMatrix32f=null,l

= z; overscaledZ = ${l}; z = ${p}`);this.overscaledZ=l,this.wrap=c,this.canonical=new N9(p,+d,+a),this.key=br(c,l,p,d,a)}clone(){return new K2(this.overscaledZ,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)}equals(l){return this.overscaledZ===l.overscaledZ&&this.wrap===l.wrap&&this.canonical.equals(l.canonical)}scaledTo(l){if(l>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${l}; overscaledZ = ${this.overscaledZ}`);let c=this.canonical.z-l;return l>this.canonical.z?new K2(l,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y):new K2(l,this.wrap,l,this.canonical.x>>c,this.canonical.y>>c)}isOverscaled(){return this.overscaledZ>this.canonical.z}calculateScaledKey(l,c){if(l>this.overscaledZ)throw Error(`targetZ > this.overscaledZ; targetZ = ${l}; overscaledZ = ${this.overscaledZ}`);let p=this.canonical.z-l;return l>this.canonical.z?br(this.wrap*+c,l,this.canonical.z,this.canonical.x,this.canonical.y):br(this.wrap*+c,l,l,this.canonical.x>>p,this.canonical.y>>p)}isChildOf(l){if(l.wrap!==this.wrap)return!1;if(this.overscaledZ-l.overscaledZ0;let c=this.canonical.z-l.canonical.z;return!(c>c&&l.canonical.y===this.canonical.y>>c}children(l){if(this.overscaledZ>=l)return[new K2(this.overscaledZ+1,this.wrap,this.canonical.z,this.canonical.x,this.canonical.y)];let c=this.canonical.z+1,p=2*this.canonical.x,d=2*this.canonical.y;return[new K2(c,this.wrap,c,p,d),new K2(c,this.wrap,c,p+1,d),new K2(c,this.wrap,c,p,d+1),new K2(c,this.wrap,c,p+1,d+1)]}isLessThan(l){return this.wrapl.wrap)&&(this.overscaledZl.overscaledZ)&&(this.canonical.xl.canonical.x)&&this.canonical.y=0&&l

=0&&c<p)return{tileID:this,x:l,y:c};let d=Math.floor(l/p),a=Math.floor(c/p),h=l-d*p,y=c-a*p,w=this.canonical.z,A=1<<w,k=this.canonical.y+a;if(k=A)return null;let W=this.canonical.x+d,n=this.wrap;return W=A&&(n+=Math.floor(W/A),W%=A),{tileID:new K2(this.overscaledZ,n,w,W,k),x:h,y}}}function br(l,c,p,d,a){(l*=2)<0&&(l=-1*l-1);let h=1<

this.maxX||this.minY>this.maxY)&&(this.minX=1/0,this.maxX=-1/0,this.minY=1/0,this.maxY=-1/0),this}shrinkBy(l){return this.expandBy(-l)}map(l){let c=new Wc;return c.extend(l(new H(this.minX,this.minY))),c.extend(l(new H(this.maxX,this.minY))),c.extend(l(new H(this.minX,this.maxY))),c.extend(l(new H(this.maxX,this.maxY))),c}static fromPoints(l){let c=new Wc;for(let p of l)c.extend(p);return c}contains(l){return l.x>=this.minX&&l.x=this.minY&&l.ythis.maxX}width(){return this.maxX-this.minX}height(){return this.maxY-this.minY}covers(l){return!this.empty()&&!l.empty()&&l.minX>=this.minX&&l.maxX=this.minY&&l.maxY<=this.maxY}intersects(l){return!this.empty()&&!l.empty()&&l.minX=this.minX&&l.minY=this.minY}}class um{constructor(l){this._stringToNumber={},this._numberToString=[];for(let c=0;c=this._numberToString.length)throw Error(`Out of bounds. Index requested n=${l} can't be >= this._numberToString.length ${this._numberToString.length}`);return this._numberToString[l]}}class cm{constructor(l,c,p,d,a){this.type="Feature",this._vectorTileFeature=l,this._x=p,this._y=d,this._z=c,this.properties=l.properties,this.id=a}projectPoint(l,c,p,d){return[360*(l.x+c)/d-180,360/Math.PI*Math.atan(Math.exp((1-2*(l.y+p)/d)*Math.PI))-90]}projectLine(l,c,p,d){return l.map((a)=>this.projectPoint(a,c,p,d))}get geometry(){if(this._geometry)return this._geometry;let l=this._vectorTileFeature,c=l.extent*Math.pow(2,this._z),p=l.extent*this._x,d=l.extent*this._y,a=l.loadGeometry();switch(l.type){case 1:{let h=[];for(let w of a)h.push(w[0]);let y=this.projectLine(h,p,d,c);this._geometry=h.length===1?{type:"Point",coordinates:y[0]}:{type:"MultiPoint",coordinates:y};break}case 2:{let h=a.map((y)=>this.projectLine(y,p,d,c));this._geometry=h.length===1?{type:"LineString",coordinates:h[0]}:{type:"MultiLineString",coordinates:h};break}case 3:{let h=Ha(a),y=[];for(let w of h)y.push(w.map((A)=>this.projectLine(A,p,d,c)));this._geometry=y.length===1?{type:"Polygon",coordinates:y[0]}:{type:"MultiPolygon",coordinates:y};break}default:throw Error(`unknown feature type: ${l.type}`)}return this._geometry}set geometry(l){this._geometry=l}toJSON(){let l={geometry:this.geometry};for(let c in this)c!=="_geometry"&&c!=="_vectorTileFeature"&&c!=="_x"&&c!=="_y"&&c!=="_z"&&(l[c]=this[c]);return l}}class Lc{constructor(l,c,p){this._name=l,this.dataBuffer=c,typeof p=="number"?this._size=p:(this.nullabilityBuffer=p,this._size=p.size())}getValue(l){return this.nullabilityBuffer&&!this.nullabilityBuffer.get(l)?null:this.getValueFromBuffer(l)}has(l){return this.nullabilityBuffer?.get(l)||!this.nullabilityBuffer}get name(){return this._name}get size(){return this._size}}class v8 extends Lc{}class F9 extends v8{getValueFromBuffer(l){return this.dataBuffer[l]}}class q9 extends v8{getValueFromBuffer(l){return this.dataBuffer[l]}}class rm extends Lc{constructor(l,c,p,d){super(l,c,d),this.delta=p}}class P9 extends rm{constructor(l,c,p,d){super(l,Int32Array.of(c),p,d)}getValueFromBuffer(l){return this.dataBuffer[0]+l*this.delta}}class M9 extends Lc{constructor(l,c,p,d){super(l,d?Int32Array.of(c):Uint32Array.of(c),p)}getValueFromBuffer(l){return this.dataBuffer[0]}}class Yo{constructor(l,c,p,d,a=4096){this._name=l,this._geometryVector=c,this._idVector=p,this._propertyVectors=d,this._extent=a}get name(){return this._name}get idVector(){return this._idVector}get geometryVector(){return this._geometryVector}get propertyVectors(){return this._propertyVectors}getPropertyVector(l){return this.propertyVectorsMap||(this.propertyVectorsMap=new Map(this._propertyVectors.map((c)=>[c.name,c]))),this.propertyVectorsMap.get(l)}get numFeatures(){return this.geometryVector.numGeometries}get extent(){return this._extent}getFeatures(){let l=[],c=this.geometryVector.getGeometries();for(let p=0;p<this.numFeatures;p++){let d;if(this.idVector){let y=this.idVector.getValue(p);d=this.containsMaxSafeIntegerValues(this.idVector)&&y!==null?Number(y):y}let a={coordinates:c[p],type:this.geometryVector.geometryType(p)},h={};for(let y of this.propertyVectors){if(!y)continue;let w=y.name,A=y.getValue(p);A!==null&&(h[w]=A)}l.push({id:d,geometry:a,properties:h})}return l}containsMaxSafeIntegerValues(l){return l instanceof F9||l instanceof M9||l instanceof P9||l instanceof q9}}class pm{constructor(l){this.value=l}get(){return this.value}set(l){this.value=l}increment(){return this.value++}add(l){this.value+=l}}var hl,t3;(function(l){l.NONE="NONE",l.DELTA="DELTA",l.COMPONENTWISE_DELTA="COMPONENTWISE_DELTA",l.RLE="RLE",l.MORTON="MORTON",l.PDE="PDE"})(hl||(hl={})),function(l){l.NONE="NONE",l.FAST_PFOR="FAST_PFOR",l.VARINT="VARINT",l.ALP="ALP"}(t3||(t3={}));let fm=new Uint32Array(33);fm[0]=0;for(let l=1;l>>32-l;let dm=fm,l3=256;function mm(l,c){return l-l%c}function fE(l){let c=l>>>0;return((255&c)<<24|(65280&c)<>>8&65280|c>>>24&255)>>>0}let gm=function(){if(!Number.isFinite(65536))return 65536;let l=mm(Math.floor(65536),l3);return l===0?l3:l}(),dE=3*gm/l3+gm|0;function zo(){let l=new Uint8Array(dE);return{dataToBePacked:Array(33),dataPointers:new Int32Array(33),byteContainer:l,byteContainerI32:new Int32Array(l.buffer,l.byteOffset,l.byteLength>>>2),exceptionSizes:new Int32Array(33)}}function mE(l,c,p,d,a){switch(a){case 1:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0;w[k++]=q>>>0&1,w[k++]=q>>>1&1,w[k++]=q>>>2&1,w[k++]=q>>>3&1,w[k++]=q>>>4&1,w[k++]=q>>>5&1,w[k++]=q>>>6&1,w[k++]=q>>>7&1,w[k++]=q>>>8&1,w[k++]=q>>>9&1,w[k++]=q>>>10&1,w[k++]=q>>>11&1,w[k++]=q>>>12&1,w[k++]=q>>>13&1,w[k++]=q>>>14&1,w[k++]=q>>>15&1,w[k++]=q>>>16&1,w[k++]=q>>>17&1,w[k++]=q>>>18&1,w[k++]=q>>>19&1,w[k++]=q>>>20&1,w[k++]=q>>>21&1,w[k++]=q>>>22&1,w[k++]=q>>>23&1,w[k++]=q>>>24&1,w[k++]=q>>>25&1,w[k++]=q>>>26&1,w[k++]=q>>>27&1,w[k++]=q>>>28&1,w[k++]=q>>>29&1,w[k++]=q>>>30&1,w[k++]=q>>>31&1}})(l,c,p,d);break;case 2:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0,C=h[W++]>>>0;w[k++]=q>>>0&3,w[k++]=q>>>2&3,w[k++]=q>>>4&3,w[k++]=q>>>6&3,w[k++]=q>>>8&3,w[k++]=q>>>10&3,w[k++]=q>>>12&3,w[k++]=q>>>14&3,w[k++]=q>>>16&3,w[k++]=q>>>18&3,w[k++]=q>>>20&3,w[k++]=q>>>22&3,w[k++]=q>>>24&3,w[k++]=q>>>26&3,w[k++]=q>>>28&3,w[k++]=q>>>30&3,w[k++]=C>>>0&3,w[k++]=C>>>2&3,w[k++]=C>>>4&3,w[k++]=C>>>6&3,w[k++]=C>>>8&3,w[k++]=C>>>10&3,w[k++]=C>>>12&3,w[k++]=C>>>14&3,w[k++]=C>>>16&3,w[k++]=C>>>18&3,w[k++]=C>>>20&3,w[k++]=C>>>22&3,w[k++]=C>>>24&3,w[k++]=C>>>26&3,w[k++]=C>>>28&3,w[k++]=C>>>30&3}})(l,c,p,d);break;case 3:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0,C=h[W++]>>>0,B=h[W++]>>>0;w[k++]=q>>>0&7,w[k++]=q>>>3&7,w[k++]=q>>>6&7,w[k++]=q>>>9&7,w[k++]=q>>>12&7,w[k++]=q>>>15&7,w[k++]=q>>>18&7,w[k++]=q>>>21&7,w[k++]=q>>>24&7,w[k++]=q>>>27&7,w[k++]=7&(q>>>30|(1&C)<>>1&7,w[k++]=C>>>4&7,w[k++]=C>>>7&7,w[k++]=C>>>10&7,w[k++]=C>>>13&7,w[k++]=C>>>16&7,w[k++]=C>>>19&7,w[k++]=C>>>22&7,w[k++]=C>>>25&7,w[k++]=C>>>28&7,w[k++]=7&(C>>>31|(3&B)<>>2&7,w[k++]=B>>>5&7,w[k++]=B>>>8&7,w[k++]=B>>>11&7,w[k++]=B>>>14&7,w[k++]=B>>>17&7,w[k++]=B>>>20&7,w[k++]=B>>>23&7,w[k++]=B>>>26&7,w[k++]=B>>>29&7}})(l,c,p,d);break;case 4:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0,C=h[W++]>>>0,B=h[W++]>>>0,M=h[W++]>>>0;w[k++]=q>>>0&15,w[k++]=q>>>4&15,w[k++]=q>>>8&15,w[k++]=q>>>12&15,w[k++]=q>>>16&15,w[k++]=q>>>20&15,w[k++]=q>>>24&15,w[k++]=q>>>28&15,w[k++]=C>>>0&15,w[k++]=C>>>4&15,w[k++]=C>>>8&15,w[k++]=C>>>12&15,w[k++]=C>>>16&15,w[k++]=C>>>20&15,w[k++]=C>>>24&15,w[k++]=C>>>28&15,w[k++]=B>>>0&15,w[k++]=B>>>4&15,w[k++]=B>>>8&15,w[k++]=B>>>12&15,w[k++]=B>>>16&15,w[k++]=B>>>20&15,w[k++]=B>>>24&15,w[k++]=B>>>28&15,w[k++]=M>>>0&15,w[k++]=M>>>4&15,w[k++]=M>>>8&15,w[k++]=M>>>12&15,w[k++]=M>>>16&15,w[k++]=M>>>20&15,w[k++]=M>>>24&15,w[k++]=M>>>28&15}})(l,c,p,d);break;case 5:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0,C=h[W++]>>>0,B=h[W++]>>>0,M=h[W++]>>>0,D=h[W++]>>>0;w[k++]=q>>>0&31,w[k++]=q>>>5&31,w[k++]=q>>>10&31,w[k++]=q>>>15&31,w[k++]=q>>>20&31,w[k++]=q>>>25&31,w[k++]=31&(q>>>30|(7&C)<>>3&31,w[k++]=C>>>8&31,w[k++]=C>>>13&31,w[k++]=C>>>18&31,w[k++]=C>>>23&31,w[k++]=31&(C>>>28|(1&B)<>>1&31,w[k++]=B>>>6&31,w[k++]=B>>>11&31,w[k++]=B>>>16&31,w[k++]=B>>>21&31,w[k++]=B>>>26&31,w[k++]=31&(B>>>31|(15&M)<>>4&31,w[k++]=M>>>9&31,w[k++]=M>>>14&31,w[k++]=M>>>19&31,w[k++]=M>>>24&31,w[k++]=31&(M>>>29|(3&D)<>>2&31,w[k++]=D>>>7&31,w[k++]=D>>>12&31,w[k++]=D>>>17&31,w[k++]=D>>>22&31,w[k++]=D>>>27&31}})(l,c,p,d);break;case 6:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0,C=h[W++]>>>0,B=h[W++]>>>0,M=h[W++]>>>0,D=h[W++]>>>0,I=h[W++]>>>0;w[k++]=q>>>0&63,w[k++]=q>>>6&63,w[k++]=q>>>12&63,w[k++]=q>>>18&63,w[k++]=q>>>24&63,w[k++]=63&(q>>>30|(15&C)<>>4&63,w[k++]=C>>>10&63,w[k++]=C>>>16&63,w[k++]=C>>>22&63,w[k++]=63&(C>>>28|(3&B)<>>2&63,w[k++]=B>>>8&63,w[k++]=B>>>14&63,w[k++]=B>>>20&63,w[k++]=B>>>26&63,w[k++]=M>>>0&63,w[k++]=M>>>6&63,w[k++]=M>>>12&63,w[k++]=M>>>18&63,w[k++]=M>>>24&63,w[k++]=63&(M>>>30|(15&D)<>>4&63,w[k++]=D>>>10&63,w[k++]=D>>>16&63,w[k++]=D>>>22&63,w[k++]=63&(D>>>28|(3&I)<>>2&63,w[k++]=I>>>8&63,w[k++]=I>>>14&63,w[k++]=I>>>20&63,w[k++]=I>>>26&63}})(l,c,p,d);break;case 7:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0,C=h[W++]>>>0,B=h[W++]>>>0,M=h[W++]>>>0,D=h[W++]>>>0,I=h[W++]>>>0,O=h[W++]>>>0;w[k++]=q>>>0&127,w[k++]=q>>>7&127,w[k++]=q>>>14&127,w[k++]=q>>>21&127,w[k++]=127&(q>>>28|(7&C)<>>3&127,w[k++]=C>>>10&127,w[k++]=C>>>17&127,w[k++]=C>>>24&127,w[k++]=127&(C>>>31|(63&B)<>>6&127,w[k++]=B>>>13&127,w[k++]=B>>>20&127,w[k++]=127&(B>>>27|(3&M)<>>2&127,w[k++]=M>>>9&127,w[k++]=M>>>16&127,w[k++]=M>>>23&127,w[k++]=127&(M>>>30|(31&D)<>>5&127,w[k++]=D>>>12&127,w[k++]=D>>>19&127,w[k++]=127&(D>>>26|(1&I)<>>1&127,w[k++]=I>>>8&127,w[k++]=I>>>15&127,w[k++]=I>>>22&127,w[k++]=127&(I>>>29|(15&O)<>>4&127,w[k++]=O>>>11&127,w[k++]=O>>>18&127,w[k++]=O>>>25&127}})(l,c,p,d);break;case 8:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0,C=h[W++]>>>0,B=h[W++]>>>0,M=h[W++]>>>0,D=h[W++]>>>0,I=h[W++]>>>0,O=h[W++]>>>0,Y=h[W++]>>>0;w[k++]=q>>>0&255,w[k++]=q>>>8&255,w[k++]=q>>>16&255,w[k++]=q>>>24&255,w[k++]=C>>>0&255,w[k++]=C>>>8&255,w[k++]=C>>>16&255,w[k++]=C>>>24&255,w[k++]=B>>>0&255,w[k++]=B>>>8&255,w[k++]=B>>>16&255,w[k++]=B>>>24&255,w[k++]=M>>>0&255,w[k++]=M>>>8&255,w[k++]=M>>>16&255,w[k++]=M>>>24&255,w[k++]=D>>>0&255,w[k++]=D>>>8&255,w[k++]=D>>>16&255,w[k++]=D>>>24&255,w[k++]=I>>>0&255,w[k++]=I>>>8&255,w[k++]=I>>>16&255,w[k++]=I>>>24&255,w[k++]=O>>>0&255,w[k++]=O>>>8&255,w[k++]=O>>>16&255,w[k++]=O>>>24&255,w[k++]=Y>>>0&255,w[k++]=Y>>>8&255,w[k++]=Y>>>16&255,w[k++]=Y>>>24&255}})(l,c,p,d);break;case 16:(function(h,y,w,A){let k=A,W=y;for(let n=0;n>>0;w[k++]=65535&q,w[k++]=q>>>16&65535}})(l,c,p,d);break;default:(function(h,y,w,A,k){let W=dm[k]>>>0,n=y,q=0,C=h[n]>>>0,B=A;for(let M=0;M<8;M++){for(let D=0;D<32;D++)if(q+k>>q&W,q+=k,q===32&&(q=0,n++,D!==31&&(C=h[n]>>>0));else{let I=32-q,O=C>>>q;n++,C=h[n]>>>0;let Y=k-I;w[B+D]=(O|(C&-1>>>32-Y>>>0)<<I)&W,q=Y}B+=32,q=0,M>>0)}})(l,c,p,d,a)}return c+(a<c)throw Error(`FastPFOR decode: byteContainer underflow at block=${d} (need 2 bytes for [bitWidth, exceptionCount], bytePos=${p}, byteSize=${c})`);let a=l[p++],h=l[p++];if(a>32)throw Error(`FastPFOR decode: invalid bitWidth=${a} at block=${d} (expected 0..32). This likely indicates corrupted or truncated input.`);return{bitWidth:a,exceptionCount:h,bytePosIn:p}}function vE(l,c,p,d,a,h,y,w,A){let{maxBits:k,exceptionBitWidth:W,bytePosIn:n}=function(D,I,O,Y,G,j){if(O+1>I)throw Error(`FastPFOR decode: exception header underflow at block=${j} (need 1 byte for maxBits, bytePos=${O}, byteSize=${I})`);let Z=D[O++];if(Z32)throw Error(`FastPFOR decode: invalid maxBits=${Z} at block=${j} (bitWidth=${Y}, expected ${Y}..32)`);let d1=Z-Y|0;if(d132)throw Error(`FastPFOR decode: invalid exceptionBitWidth=${d1} at block=${j} (bitWidth=${Y}, maxBits=${Z})`);if(O+G>I)throw Error(`FastPFOR decode: exception positions underflow at block=${j} (need=${G}, have=${I-O})`);return{maxBits:Z,exceptionBitWidth:d1,bytePosIn:O}}(a,h,y,p,d,A);if(y=n,W===1){let D=1<<p;for(let I=0;IM)throw Error(`FastPFOR decode: exception stream overflow for exceptionBitWidth=${W} (ptr=${B}, need ${d}, size=${M}) at block ${A}`);for(let D=0;D<d;D=D+1|0){let I=a[y++],O=0|q[B++];l[I+c|0]|=O<<p}return C[W]=B,y}function aE(l,c,p,d,a,h){let y=0|p,w=0|l[y];if(wl.length-1)throw Error(`FastPFOR decode: invalid whereMeta=${w} at pageStart=${y} (expected > 0 and pageStart+whereMeta >>0,n=W+3>>>2,q=k+1,C=q+n;if(C>=l.length)throw Error(`FastPFOR decode: invalid byteSize=${W} (metaInts=${n}, pageStart=${y}, packedEnd=${k}, byteContainerStart=${q}) causes bitmapPos=${C} out of bounds (encoded.length=${l.length})`);let B=function(I,O,Y,G){G.byteContainer.length>>2;if(3&j.byteOffset)for(let m1=0;m1<Z;m1=m1+1|0){let a1=0|I[O+m1|0],s1=m1<>>8&255,j[s1+2|0]=a1>>>16&255,j[s1+3|0]=a1>>>24&255}else{let m1=G.byteContainerI32;(!m1||m1.buffer!==j.buffer||m1.byteOffset!==j.byteOffset||m1.length>>2)),m1.set(I.subarray(O,O+Z))}let d1=3&Y;if(d1>0){let m1=0|I[O+Z|0],a1=Z<<2;for(let s1=0;s1>>(s1<<3)&255}return j}(l,q,W,h),M=W,D=function(I,O,Y){let G=0|I[O++],j=Y.dataToBePacked;for(let Z=2;Z>>Z-1&1))continue;if(O>=I.length)throw Error(`FastPFOR decode: truncated exception stream header (bitWidth=${Z}, streamWordIndex=${O}, needWords=1, availableWords=${I.length-O}, encodedWords=${I.length})`);let d1=I[O++]>>>0,m1=mm(d1+31,32),a1=d1*Z+31>>>5;if(O+a1>I.length)throw Error(`FastPFOR decode: truncated exception stream (bitWidth=${Z}, size=${d1}, streamWordIndex=${O}, needWords=${a1}, availableWords=${I.length-O}, encodedWords=${I.length})`);let s1=j[Z];(!s1||s1.length<m1)&&(s1=j[Z]=new Uint32Array(m1));let w1=0;for(;w1>>5)|0,Y.exceptionSizes[Z]=d1}return O}(l,C,h);return h.dataPointers.fill(0),function(I,O,Y,G,j,Z,d1,m1,a1,s1){let w1=0|Y,k1=0;for(let y1=0;y1<d1;y1=y1+1|0){let n1=gE(m1,a1,k1,y1);k1=n1.bytePosIn;let{bitWidth:Y1,exceptionCount:U1}=n1,K1=Z+y1*l3|0;switch(Y1){case 0:j.fill(0,K1,K1+l3);break;case 32:for(let R1=0;R10&&(k1=vE(j,K1,Y1,U1,m1,a1,k1,s1,y1))}if(w1!==G)throw Error(`FastPFOR decode: packed region mismatch (pageStart=${O}, packedStart=${Y}, consumedPackedEnd=${w1}, expectedPackedEnd=${G}, packedWords=${G-Y}, encoded.length=${I.length})`)}(l,y,A,k,c,0|d,a/l3|0,B,M,h),D}function oE(l,c,p,d,a){switch(a){case 2:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0;n[C++]=B>>>0&3,n[C++]=B>>>2&3,n[C++]=B>>>4&3,n[C++]=B>>>6&3,n[C++]=B>>>8&3,n[C++]=B>>>10&3,n[C++]=B>>>12&3,n[C++]=B>>>14&3,n[C++]=B>>>16&3,n[C++]=B>>>18&3,n[C++]=B>>>20&3,n[C++]=B>>>22&3,n[C++]=B>>>24&3,n[C++]=B>>>26&3,n[C++]=B>>>28&3,n[C++]=B>>>30&3,n[C++]=M>>>0&3,n[C++]=M>>>2&3,n[C++]=M>>>4&3,n[C++]=M>>>6&3,n[C++]=M>>>8&3,n[C++]=M>>>10&3,n[C++]=M>>>12&3,n[C++]=M>>>14&3,n[C++]=M>>>16&3,n[C++]=M>>>18&3,n[C++]=M>>>20&3,n[C++]=M>>>22&3,n[C++]=M>>>24&3,n[C++]=M>>>26&3,n[C++]=M>>>28&3,n[C]=M>>>30&3}(l,c,p,d);case 3:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0;n[C++]=B>>>0&7,n[C++]=B>>>3&7,n[C++]=B>>>6&7,n[C++]=B>>>9&7,n[C++]=B>>>12&7,n[C++]=B>>>15&7,n[C++]=B>>>18&7,n[C++]=B>>>21&7,n[C++]=B>>>24&7,n[C++]=B>>>27&7,n[C++]=7&(B>>>30|(1&M)<>>1&7,n[C++]=M>>>4&7,n[C++]=M>>>7&7,n[C++]=M>>>10&7,n[C++]=M>>>13&7,n[C++]=M>>>16&7,n[C++]=M>>>19&7,n[C++]=M>>>22&7,n[C++]=M>>>25&7,n[C++]=M>>>28&7,n[C++]=7&(M>>>31|(3&D)<>>2&7,n[C++]=D>>>5&7,n[C++]=D>>>8&7,n[C++]=D>>>11&7,n[C++]=D>>>14&7,n[C++]=D>>>17&7,n[C++]=D>>>20&7,n[C++]=D>>>23&7,n[C++]=D>>>26&7,n[C]=D>>>29&7}(l,c,p,d);case 4:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0;n[C++]=B>>>0&15,n[C++]=B>>>4&15,n[C++]=B>>>8&15,n[C++]=B>>>12&15,n[C++]=B>>>16&15,n[C++]=B>>>20&15,n[C++]=B>>>24&15,n[C++]=B>>>28&15,n[C++]=M>>>0&15,n[C++]=M>>>4&15,n[C++]=M>>>8&15,n[C++]=M>>>12&15,n[C++]=M>>>16&15,n[C++]=M>>>20&15,n[C++]=M>>>24&15,n[C++]=M>>>28&15,n[C++]=D>>>0&15,n[C++]=D>>>4&15,n[C++]=D>>>8&15,n[C++]=D>>>12&15,n[C++]=D>>>16&15,n[C++]=D>>>20&15,n[C++]=D>>>24&15,n[C++]=D>>>28&15,n[C++]=I>>>0&15,n[C++]=I>>>4&15,n[C++]=I>>>8&15,n[C++]=I>>>12&15,n[C++]=I>>>16&15,n[C++]=I>>>20&15,n[C++]=I>>>24&15,n[C]=I>>>28&15}(l,c,p,d);case 5:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0;n[C++]=B>>>0&31,n[C++]=B>>>5&31,n[C++]=B>>>10&31,n[C++]=B>>>15&31,n[C++]=B>>>20&31,n[C++]=B>>>25&31,n[C++]=31&(B>>>30|(7&M)<>>3&31,n[C++]=M>>>8&31,n[C++]=M>>>13&31,n[C++]=M>>>18&31,n[C++]=M>>>23&31,n[C++]=31&(M>>>28|(1&D)<>>1&31,n[C++]=D>>>6&31,n[C++]=D>>>11&31,n[C++]=D>>>16&31,n[C++]=D>>>21&31,n[C++]=D>>>26&31,n[C++]=31&(D>>>31|(15&I)<>>4&31,n[C++]=I>>>9&31,n[C++]=I>>>14&31,n[C++]=I>>>19&31,n[C++]=I>>>24&31,n[C++]=31&(I>>>29|(3&O)<>>2&31,n[C++]=O>>>7&31,n[C++]=O>>>12&31,n[C++]=O>>>17&31,n[C++]=O>>>22&31,n[C]=O>>>27&31}(l,c,p,d);case 6:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0,Y=k[W+5]>>>0;n[C++]=B>>>0&63,n[C++]=B>>>6&63,n[C++]=B>>>12&63,n[C++]=B>>>18&63,n[C++]=B>>>24&63,n[C++]=63&(B>>>30|(15&M)<>>4&63,n[C++]=M>>>10&63,n[C++]=M>>>16&63,n[C++]=M>>>22&63,n[C++]=63&(M>>>28|(3&D)<>>2&63,n[C++]=D>>>8&63,n[C++]=D>>>14&63,n[C++]=D>>>20&63,n[C++]=D>>>26&63,n[C++]=I>>>0&63,n[C++]=I>>>6&63,n[C++]=I>>>12&63,n[C++]=I>>>18&63,n[C++]=I>>>24&63,n[C++]=63&(I>>>30|(15&O)<>>4&63,n[C++]=O>>>10&63,n[C++]=O>>>16&63,n[C++]=O>>>22&63,n[C++]=63&(O>>>28|(3&Y)<>>2&63,n[C++]=Y>>>8&63,n[C++]=Y>>>14&63,n[C++]=Y>>>20&63,n[C]=Y>>>26&63}(l,c,p,d);case 7:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0,Y=k[W+5]>>>0,G=k[W+6]>>>0;n[C++]=B>>>0&127,n[C++]=B>>>7&127,n[C++]=B>>>14&127,n[C++]=B>>>21&127,n[C++]=127&(B>>>28|(7&M)<>>3&127,n[C++]=M>>>10&127,n[C++]=M>>>17&127,n[C++]=M>>>24&127,n[C++]=127&(M>>>31|(63&D)<>>6&127,n[C++]=D>>>13&127,n[C++]=D>>>20&127,n[C++]=127&(D>>>27|(3&I)<>>2&127,n[C++]=I>>>9&127,n[C++]=I>>>16&127,n[C++]=I>>>23&127,n[C++]=127&(I>>>30|(31&O)<>>5&127,n[C++]=O>>>12&127,n[C++]=O>>>19&127,n[C++]=127&(O>>>26|(1&Y)<>>1&127,n[C++]=Y>>>8&127,n[C++]=Y>>>15&127,n[C++]=Y>>>22&127,n[C++]=127&(Y>>>29|(15&G)<>>4&127,n[C++]=G>>>11&127,n[C++]=G>>>18&127,n[C]=G>>>25&127}(l,c,p,d);case 8:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0,Y=k[W+5]>>>0,G=k[W+6]>>>0,j=k[W+7]>>>0;n[C++]=B>>>0&255,n[C++]=B>>>8&255,n[C++]=B>>>16&255,n[C++]=B>>>24&255,n[C++]=M>>>0&255,n[C++]=M>>>8&255,n[C++]=M>>>16&255,n[C++]=M>>>24&255,n[C++]=D>>>0&255,n[C++]=D>>>8&255,n[C++]=D>>>16&255,n[C++]=D>>>24&255,n[C++]=I>>>0&255,n[C++]=I>>>8&255,n[C++]=I>>>16&255,n[C++]=I>>>24&255,n[C++]=O>>>0&255,n[C++]=O>>>8&255,n[C++]=O>>>16&255,n[C++]=O>>>24&255,n[C++]=Y>>>0&255,n[C++]=Y>>>8&255,n[C++]=Y>>>16&255,n[C++]=Y>>>24&255,n[C++]=G>>>0&255,n[C++]=G>>>8&255,n[C++]=G>>>16&255,n[C++]=G>>>24&255,n[C++]=j>>>0&255,n[C++]=j>>>8&255,n[C++]=j>>>16&255,n[C]=j>>>24&255}(l,c,p,d);case 9:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0,Y=k[W+5]>>>0,G=k[W+6]>>>0,j=k[W+7]>>>0,Z=k[W+8]>>>0;n[C++]=B>>>0&511,n[C++]=B>>>9&511,n[C++]=B>>>18&511,n[C++]=511&(B>>>27|(15&M)<>>4&511,n[C++]=M>>>13&511,n[C++]=M>>>22&511,n[C++]=511&(M>>>31|(255&D)<>>8&511,n[C++]=D>>>17&511,n[C++]=511&(D>>>26|(7&I)<>>3&511,n[C++]=I>>>12&511,n[C++]=I>>>21&511,n[C++]=511&(I>>>30|(127&O)<>>7&511,n[C++]=O>>>16&511,n[C++]=511&(O>>>25|(3&Y)<>>2&511,n[C++]=Y>>>11&511,n[C++]=Y>>>20&511,n[C++]=511&(Y>>>29|(63&G)<>>6&511,n[C++]=G>>>15&511,n[C++]=511&(G>>>24|(1&j)<>>1&511,n[C++]=j>>>10&511,n[C++]=j>>>19&511,n[C++]=511&(j>>>28|(31&Z)<>>5&511,n[C++]=Z>>>14&511,n[C]=Z>>>23&511}(l,c,p,d);case 10:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0,Y=k[W+5]>>>0,G=k[W+6]>>>0,j=k[W+7]>>>0,Z=k[W+8]>>>0,d1=k[W+9]>>>0;n[C++]=B>>>0&1023,n[C++]=B>>>10&1023,n[C++]=B>>>20&1023,n[C++]=1023&(B>>>30|(255&M)<>>8&1023,n[C++]=M>>>18&1023,n[C++]=1023&(M>>>28|(63&D)<>>6&1023,n[C++]=D>>>16&1023,n[C++]=1023&(D>>>26|(15&I)<>>4&1023,n[C++]=I>>>14&1023,n[C++]=1023&(I>>>24|(3&O)<>>2&1023,n[C++]=O>>>12&1023,n[C++]=O>>>22&1023,n[C++]=Y>>>0&1023,n[C++]=Y>>>10&1023,n[C++]=Y>>>20&1023,n[C++]=1023&(Y>>>30|(255&G)<>>8&1023,n[C++]=G>>>18&1023,n[C++]=1023&(G>>>28|(63&j)<>>6&1023,n[C++]=j>>>16&1023,n[C++]=1023&(j>>>26|(15&Z)<>>4&1023,n[C++]=Z>>>14&1023,n[C++]=1023&(Z>>>24|(3&d1)<>>2&1023,n[C++]=d1>>>12&1023,n[C]=d1>>>22&1023}(l,c,p,d);case 11:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0,Y=k[W+5]>>>0,G=k[W+6]>>>0,j=k[W+7]>>>0,Z=k[W+8]>>>0,d1=k[W+9]>>>0,m1=k[W+10]>>>0;n[C++]=B>>>0&2047,n[C++]=B>>>11&2047,n[C++]=2047&(B>>>22|(1&M)<>>1&2047,n[C++]=M>>>12&2047,n[C++]=2047&(M>>>23|(3&D)<>>2&2047,n[C++]=D>>>13&2047,n[C++]=2047&(D>>>24|(7&I)<>>3&2047,n[C++]=I>>>14&2047,n[C++]=2047&(I>>>25|(15&O)<>>4&2047,n[C++]=O>>>15&2047,n[C++]=2047&(O>>>26|(31&Y)<>>5&2047,n[C++]=Y>>>16&2047,n[C++]=2047&(Y>>>27|(63&G)<>>6&2047,n[C++]=G>>>17&2047,n[C++]=2047&(G>>>28|(127&j)<>>7&2047,n[C++]=j>>>18&2047,n[C++]=2047&(j>>>29|(255&Z)<>>8&2047,n[C++]=Z>>>19&2047,n[C++]=2047&(Z>>>30|(511&d1)<>>9&2047,n[C++]=d1>>>20&2047,n[C++]=2047&(d1>>>31|(1023&m1)<>>10&2047,n[C]=m1>>>21&2047}(l,c,p,d);case 12:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0,Y=k[W+5]>>>0,G=k[W+6]>>>0,j=k[W+7]>>>0,Z=k[W+8]>>>0,d1=k[W+9]>>>0,m1=k[W+10]>>>0,a1=k[W+11]>>>0;n[C++]=B>>>0&4095,n[C++]=B>>>12&4095,n[C++]=4095&(B>>>24|(15&M)<>>4&4095,n[C++]=M>>>16&4095,n[C++]=4095&(M>>>28|(255&D)<>>8&4095,n[C++]=D>>>20&4095,n[C++]=I>>>0&4095,n[C++]=I>>>12&4095,n[C++]=4095&(I>>>24|(15&O)<>>4&4095,n[C++]=O>>>16&4095,n[C++]=4095&(O>>>28|(255&Y)<>>8&4095,n[C++]=Y>>>20&4095,n[C++]=G>>>0&4095,n[C++]=G>>>12&4095,n[C++]=4095&(G>>>24|(15&j)<>>4&4095,n[C++]=j>>>16&4095,n[C++]=4095&(j>>>28|(255&Z)<>>8&4095,n[C++]=Z>>>20&4095,n[C++]=d1>>>0&4095,n[C++]=d1>>>12&4095,n[C++]=4095&(d1>>>24|(15&m1)<>>4&4095,n[C++]=m1>>>16&4095,n[C++]=4095&(m1>>>28|(255&a1)<>>8&4095,n[C]=a1>>>20&4095}(l,c,p,d);case 16:return void function(k,W,n,q){let C=q,B=k[W]>>>0,M=k[W+1]>>>0,D=k[W+2]>>>0,I=k[W+3]>>>0,O=k[W+4]>>>0,Y=k[W+5]>>>0,G=k[W+6]>>>0,j=k[W+7]>>>0,Z=k[W+8]>>>0,d1=k[W+9]>>>0,m1=k[W+10]>>>0,a1=k[W+11]>>>0,s1=k[W+12]>>>0,w1=k[W+13]>>>0,k1=k[W+14]>>>0,y1=k[W+15]>>>0;n[C++]=B>>>0&65535,n[C++]=B>>>16&65535,n[C++]=M>>>0&65535,n[C++]=M>>>16&65535,n[C++]=D>>>0&65535,n[C++]=D>>>16&65535,n[C++]=I>>>0&65535,n[C++]=I>>>16&65535,n[C++]=O>>>0&65535,n[C++]=O>>>16&65535,n[C++]=Y>>>0&65535,n[C++]=Y>>>16&65535,n[C++]=G>>>0&65535,n[C++]=G>>>16&65535,n[C++]=j>>>0&65535,n[C++]=j>>>16&65535,n[C++]=Z>>>0&65535,n[C++]=Z>>>16&65535,n[C++]=d1>>>0&65535,n[C++]=d1>>>16&65535,n[C++]=m1>>>0&65535,n[C++]=m1>>>16&65535,n[C++]=a1>>>0&65535,n[C++]=a1>>>16&65535,n[C++]=s1>>>0&65535,n[C++]=s1>>>16&65535,n[C++]=w1>>>0&65535,n[C++]=w1>>>16&65535,n[C++]=k1>>>0&65535,n[C++]=k1>>>16&65535,n[C++]=y1>>>0&65535,n[C]=y1>>>16&65535}(l,c,p,d);case 32:for(let k=0;k>>0,y=c,w=0,A=l[y]>>>0;for(let k=0;k<32;k++)if(w+a>>w&h,w+=a,w===32&&(w=0,y++,k!==31&&(A=l[y]>>>0));else{let W=32-w,n=A>>>w;y++,A=l[y]>>>0,p[d+k]=(n|(A&dm[a-W]>>>0)<<W)&h,w=a-W}}function T0(l,c,p){let d=new Uint32Array(p),a=0,h=c.get();for(let y=0;y<d.length;y++){let w=l[h++],A=127&w;w<128||(w=l[h++],A|=(127&w)<<7,w<128||(w=l[h++],A|=(127&w)<<14,w<128||(w=l[h++],A|=(127&w)<<21,w<128||(w=l[h++],A|=(15&w)<<28)))),d[a++]=A}return c.set(h),d}function $r(l,c,p){let d=new BigUint64Array(p);for(let a=0;a<d.length;a++)d[a]=hE(l,c);return d}function hE(l,c){let p=0n,d=0,a=c.get();for(;a<l.length;){let h=l[a++];if(p|=BigInt(127&h)<=64)throw Error("Varint too long")}return c.set(a),p}function yE(l,c){let p,d;return d=l[c.get()],c.increment(),p=127&d,d<128?p:(d=l[c.get()],c.increment(),p|=(127&d)<<7,d<128?p:(d=l[c.get()],c.increment(),p|=(127&d)<<14,d<128?p:(d=l[c.get()],c.increment(),p|=(127&d)<<21,d<128?p:(d=l[c.get()],p|=(15&d)<>4,A>>0);if(A=h[y.get()],y.increment(),w|=(127&A)<<3,A>>0);if(A=h[y.get()],y.increment(),w|=(127&A)<<10,A>>0);if(A=h[y.get()],y.increment(),w|=(127&A)<<17,A>>0);if(A=h[y.get()],y.increment(),w|=(127&A)<<24,A>>0);if(A=h[y.get()],y.increment(),w|=(1&A)<<31,A>>0);throw Error("Expected varint not more than 10 bytes")}(p,l,c)))))}function Fl(l){return l>>>1^-(1&l)}function p2(l){return l>>1n^-(1n&l)}function _r(l){return l%2==1?(l+1)/-2:l/2}function vm(l,c,p){if(p===void 0){p=0;for(let h=0;h<c;h++)p+=l[h]}let d=new Uint32Array(p),a=0;for(let h=0;h<c;h++){let y=l[h];d.fill(l[h+c],a,a+y),a+=y}return d}function am(l,c,p){if(p===void 0){p=0;for(let h=0;h<c;h++)p+=Number(l[h])}let d=new BigUint64Array(p),a=0;for(let h=0;h<c;h++){let y=Number(l[h]);d.fill(l[h+c],a,a+y),a+=y}return d}function Oo(l,c,p){let d=new Float64Array(p),a=0;for(let h=0;h=4)for(;d=4)for(;d=4)for(let d=l[0];p>4],w=null;switch(y){case D0.DATA:w={dictionaryType:Object.values(Mu)[15&h]};break;case D0.OFFSET:w={offsetType:Object.values(Cc)[15&h]};break;case D0.LENGTH:w={lengthType:Object.values(U2)[15&h]}}a.increment();let A=d[a.get()],k=Object.values(hl)[A>>5],W=Object.values(hl)[A>>2&7],n=Object.values(t3)[3&A];a.increment();let q=T0(d,a,2),C=q[0];return{physicalStreamType:y,logicalStreamType:w,logicalLevelTechnique1:k,logicalLevelTechnique2:W,physicalLevelTechnique:n,numValues:C,byteLength:q[1],decompressedCount:C}}(l,c);return p.logicalLevelTechnique1===hl.MORTON?function(d,a,h){let y=T0(a,h,2);return{physicalStreamType:d.physicalStreamType,logicalStreamType:d.logicalStreamType,logicalLevelTechnique1:d.logicalLevelTechnique1,logicalLevelTechnique2:d.logicalLevelTechnique2,physicalLevelTechnique:d.physicalLevelTechnique,numValues:d.numValues,byteLength:d.byteLength,decompressedCount:d.decompressedCount,numBits:y[0],coordinateShift:y[1]}}(p,l,c):hl.RLE!==p.logicalLevelTechnique1&&hl.RLE!==p.logicalLevelTechnique2||t3.NONE===p.physicalLevelTechnique?p:function(d,a,h){let y=T0(a,h,2);return{physicalStreamType:d.physicalStreamType,logicalStreamType:d.logicalStreamType,logicalLevelTechnique1:d.logicalLevelTechnique1,logicalLevelTechnique2:d.logicalLevelTechnique2,physicalLevelTechnique:d.physicalLevelTechnique,numValues:d.numValues,byteLength:d.byteLength,decompressedCount:y[1],runs:y[0],numRleValues:y[1]}}(p,l,c)}(function(l){l.PRESENT="PRESENT",l.DATA="DATA",l.OFFSET="OFFSET",l.LENGTH="LENGTH"})(D0||(D0={})),function(l){l.NONE="NONE",l.SINGLE="SINGLE",l.SHARED="SHARED",l.VERTEX="VERTEX",l.MORTON="MORTON",l.FSST="FSST"}(Mu||(Mu={})),function(l){l.VERTEX="VERTEX",l.INDEX="INDEX",l.STRING="STRING",l.KEY="KEY"}(Cc||(Cc={})),function(l){l.VAR_BINARY="VAR_BINARY",l.GEOMETRIES="GEOMETRIES",l.PARTS="PARTS",l.RINGS="RINGS",l.TRIANGLES="TRIANGLES",l.SYMBOL="SYMBOL",l.DICTIONARY="DICTIONARY"}(U2||(U2={})),function(l){l[l.FLAT=0]="FLAT",l[l.CONST=1]="CONST",l[l.SEQUENCE=2]="SEQUENCE",l[l.DICTIONARY=3]="DICTIONARY",l[l.FSST_DICTIONARY=4]="FSST_DICTIONARY"}(Hl||(Hl={}));class ou{constructor(l,c){this.values=l,this._size=c}get(l){let c=Math.floor(l/8);return(this.values[c]>>l%8&1)==1}set(l,c){let p=Math.floor(l/8);this.values[p]=this.values[p]|(c?1:0)<>l%8&1}size(){return this._size}getBuffer(){return this.values}}function ir(l,c,p){if(!c)return l;let d=c.size(),a=new l.constructor(d),h=0;for(let y=0;y<d;y++)a[y]=c.get(y)?l[h++]:p;return a}function hm(l,c,p,d,a){return function(h,y,w,A){let k;switch(y.logicalLevelTechnique1){case hl.DELTA:if(y.logicalLevelTechnique2===hl.RLE){let W=y;if(!A)return function(n,q,C){let B=new Int32Array(C),M=0,D=0;for(let I=0;I<q;I++){let O=n[I],Y=Fl(n[I+q]);for(let G=0;G<O;G++)D+=Y,B[M++]=D}return B}(h,W.runs,W.numRleValues);k=Go(h=vm(h,W.runs,W.numRleValues))}else k=Go(h);break;case hl.RLE:k=function(W,n,q){if(q===void 0){q=0;for(let M=0;M<n;M++)q+=W[M]}let C=new Int32Array(q),B=0;for(let M=0;M<n;M++){let D=W[M],I=W[M+n];I=Fl(I),C.fill(I,B,B+D),B+=D}return C}(h,y.runs,y.numRleValues);break;case hl.MORTON:om(h),k=new Int32Array(h);break;case hl.COMPONENTWISE_DELTA:k=function(W){if(W.length=4)for(;C<q-4;C+=4){let B=W[C+1],M=W[C+2],D=W[C+3];n[C]=Fl(W[C])+n[C-2],n[C+1]=Fl(B)+n[C-1],n[C+2]=Fl(M)+n[C],n[C+3]=Fl(D)+n[C+1]}for(;C!==W.length;C+=2)n[C]=Fl(W[C])+n[C-2],n[C+1]=Fl(W[C+1])+n[C-1];return n}(h);break;case hl.NONE:k=function(W){let n=new Int32Array(W.length);for(let q=0;q>>0;for(let q=1;q>>0;return n}(y.logicalLevelTechnique2===hl.RLE?vm(h,y.runs,y.numRleValues):h);break;case hl.RLE:k=vm(h,y.runs,y.numRleValues);break;case hl.MORTON:om(h),k=h;break;case hl.COMPONENTWISE_DELTA:k=function(W){if(W.length>>0,n[1]=Fl(W[1])>>>0;for(let q=2;q>>0,n[q+1]=n[q-1]+Fl(W[q+1])>>>0;return n}(h);break;case hl.NONE:k=h;break;default:throw Error(`The specified Logical level technique is not supported: ${y.logicalLevelTechnique1}`)}return A?ir(k,A,0):k}(er(l,c,p),p,0,a)}function u4(l,c,p){return function(d,a){if(a.logicalLevelTechnique1===hl.DELTA&&a.logicalLevelTechnique2===hl.NONE)return function(h){let y=new Int32Array(h.length+1);y[0]=0,y[1]=Fl(h[0]);let w=y[1];for(let A=2;A!==y.length;++A)w+=Fl(h[A-1]),y[A]=y[A-1]+w;return new Uint32Array(y)}(d);if(a.logicalLevelTechnique1===hl.RLE&&a.logicalLevelTechnique2===hl.NONE)return function(h,y,w){let A=new Uint32Array(w+1);A[0]=0;let k=1,W=A[0];for(let n=0;n<y;n++){let q=h[n],C=h[n+y];for(let B=k;B<k+q;B++)A[B]=C+W,W=A[B];k+=q}return A}(d,a.runs,a.numRleValues);if(a.logicalLevelTechnique1===hl.NONE&&a.logicalLevelTechnique2===hl.NONE){(function(y){let w=0;for(let A=0;A<y.length;A++)y[A]+=w,w=y[A]})(d);let h=new Uint32Array(a.numValues+1);return h[0]=0,h.set(d,1),h}if(a.logicalLevelTechnique1===hl.DELTA&&a.logicalLevelTechnique2===hl.RLE){let h=function(y,w,A){let k=new Int32Array(A+1);k[0]=0;let W=1,n=k[0];for(let q=0;q<w;q++){let C=y[q],B=y[q+w];B=Fl(B);for(let M=W;M>>2,M=function(I,O){if(O<=I.encodedWords.length)return I.encodedWords;let Y=new Uint32Array(Math.max(16,2*O));return I.encodedWords=Y,Y}(q,B);(function(I,O,Y,G){if(O<0||YI.length)throw RangeError(`decodeBigEndianInt32sInto: out of bounds (offset=${O}, byteLength=${Y}, bytes.length=${I.length})`);let j=Math.floor(Y/4),Z=Y%4!=0,d1=Z?j+1:j;if(G.length<d1)throw RangeError(`decodeBigEndianInt32sInto: out.length=${G.length} 0){let m1=I.byteOffset+O;if(3&m1)for(let a1=0;a1<j;a1++){let s1=O+4*a1;G[a1]=I[s1]<<24|I[s1+1]<<16|I[s1+2]<<8|I[s1+3]}else{let a1=new Uint32Array(I.buffer,m1,j);for(let s1=0;s1<j;s1++)G[s1]=0|fE(a1[s1])}}if(Z){let m1=O+4*j,a1=Y-4*j,s1=0;for(let w1=0;w1<a1;w1++)s1|=I[m1+w1]<0){let m1=0|I[G];if(G=G+1|0,255&m1)throw Error(`FastPFOR decode: invalid alignedLength=${m1} (expected multiple of 256)`);if(j+m1>Z.length)throw Error(`FastPFOR decode: output buffer too small (outPos=${j}, alignedLength=${m1}, out.length=${Z.length})`);G=function(a1,s1,w1,k1,y1,n1){let Y1=k1+mm(y1,l3),U1=k1,K1=w1;for(;U1!==Y1;){let R1=Math.min(gm,Y1-U1);K1=aE(a1,s1,K1,U1,R1,n1),U1=U1+R1|0}return K1}(I,Z,G,j,m1,d1),j=j+m1|0}return function(m1,a1,s1,w1,k1,y1){if(y1===0)return a1;let n1=0,Y1=a1,U1=a1+s1,K1=k1,R1=k1,_1=k1+y1,Cl=0,sl=0;for(;Y1<U1&&R1>>n1&255;if(n1+=8,Y1+=n1>>>5,n1&=31,Cl|=(127&ql)<28)throw Error(`FastPFOR VByte: unterminated value (expected MSB=1 terminator within 5 bytes; shift=${sl}, partial=${Cl}, decoded=${R1-K1}/${y1}, inPos=${Y1}, inEnd=${U1})`)}if(R1!==_1)throw Error(`FastPFOR VByte: truncated stream (decoded=${R1-K1}, expected=${y1}, consumedWords=${Y1-a1}/${s1}, vbyteStart=${a1}, vbyteEnd=${U1})`)}(I,G,I.length-G|0,Z,j,O-j|0),Z}(M.subarray(0,B),k,q.decoderWorkspace);return n.add(W),D}(a,h,y,w,function(A=16){if(A= 0, got ${A}`);let k=Math.max(16,0|A);return{encodedWords:new Uint32Array(k),decoderWorkspace:zo()}}(y>>>2))}(l,p.numValues,p.byteLength,c);case t3.VARINT:return T0(l,c,p.numValues);case t3.NONE:{let a=c.get();c.add(p.byteLength);let h=l.subarray(a,c.get());return new Uint32Array(h)}default:throw Error(`Specified physicalLevelTechnique ${d} is not supported (yet).`)}}function ym(l,c,p){let d=er(l,c,p);return d.length===1?d[0]:function(a){return a[1]}(d)}function Jo(l,c,p){return function(d){if(d.length===2){let a=Fl(d[1]);return[a,a]}return[Fl(d[2]),Fl(d[3])]}(er(l,c,p))}function Xo(l,c,p){return function(d){if(d.length===2){let a=p2(d[1]);return[a,a]}return[p2(d[2]),p2(d[3])]}($r(l,c,p.numValues))}function To(l,c,p,d){return function(a,h,y){let w;switch(h.logicalLevelTechnique1){case hl.DELTA:w=function(A){let k=new BigUint64Array(A.length);k[0]=BigInt.asUintN(64,p2(A[0]));for(let W=1;W>1,c)-p}}function bo(l,c){let p=0;for(let d=0;d<c;d++)p|=(l&1<>d;return p}function tr(l,c,p,d,a,h,y){return l===l4.MORTON?function(w,A,k,W,n,q){let C=Array(n?W+1:W);for(let B=0;B<W;B++){let M=Sm(w[A[k+B]],q.numBits,q.coordinateShift);C[B]=new H(M.x,M.y)}return n&&(C[C.length-1]=C[0]),C}(c,p,d,a,h,y):function(w,A,k,W,n){let q=Array(n?W+1:W);for(let C=0;C<2*W;C+=2){let B=2*A[k+C/2];q[C/2]=new H(w[B],w[B+1])}return n&&(q[q.length-1]=q[0]),q}(c,p,d,a,h)}function l6(l,c,p,d){let a=Array(d?p+1:p);for(let h=0;h<2*p;h+=2)a[h/2]=new H(l[c+h],l[c+h+1]);return d&&(a[a.length-1]=a[0]),a}(function(l){l[l.POINT=0]="POINT",l[l.LINESTRING=1]="LINESTRING",l[l.POLYGON=2]="POLYGON",l[l.MULTIPOINT=3]="MULTIPOINT",l[l.MULTILINESTRING=4]="MULTILINESTRING",l[l.MULTIPOLYGON=5]="MULTIPOLYGON"})(E0||(E0={})),function(l){l[l.POINT=0]="POINT",l[l.LINESTRING=1]="LINESTRING",l[l.POLYGON=2]="POLYGON"}(jo||(jo={})),function(l){l[l.MORTON=0]="MORTON",l[l.VEC_2=1]="VEC_2",l[l.VEC_3=2]="VEC_3"}(l4||(l4={}));class km{constructor(l,c,p,d,a){this._vertexBufferType=l,this._topologyVector=c,this._vertexOffsets=p,this._vertexBuffer=d,this._mortonSettings=a}get vertexBufferType(){return this._vertexBufferType}get topologyVector(){return this._topologyVector}get vertexOffsets(){return this._vertexOffsets}get vertexBuffer(){return this._vertexBuffer}getSimpleEncodedVertex(l){let c=this.vertexOffsets?2*this.vertexOffsets[l]:2*l;return[this.vertexBuffer[c],this.vertexBuffer[c+1]]}getVertex(l){if(this.vertexOffsets&&this.mortonSettings){let p=Sm(this.vertexBuffer[this.vertexOffsets[l]],this.mortonSettings.numBits,this.mortonSettings.coordinateShift);return[p.x,p.y]}let c=this.vertexOffsets?2*this.vertexOffsets[l]:2*l;return[this.vertexBuffer[c],this.vertexBuffer[c+1]]}getGeometries(){return function(l){let c=Array(l.numGeometries),p=1,d=1,a=1,h=0,y=0,w=0,A=l.mortonSettings,k=l.topologyVector,W=k.geometryOffsets,n=k.partOffsets,q=k.ringOffsets,C=l.vertexOffsets,B=!C||C.length===0,M=l.containsPolygonGeometry(),D=l.vertexBuffer;for(let I=0;I<l.numGeometries;I++)switch(l.geometryType(I)){case E0.POINT:{let O,Y;if(B)O=D[y++],Y=D[y++];else if(l.vertexBufferType===l4.MORTON){let G=Sm(D[C[w++]],A.numBits,A.coordinateShift);O=G.x,Y=G.y}else{let G=2*C[w++];O=D[G],Y=D[G+1]}c[h++]=[[new H(O,Y)]],W&&a++,n&&p++,q&&d++}break;case E0.MULTIPOINT:{let O=W[a]-W[a-1];a++;let Y=Array(O);if(B)for(let G=0;G<O;G++){let j=D[y++],Z=D[y++];Y[G]=new H(j,Z)}else for(let G=0;G[G]),p+=O,d+=O}break;case E0.LINESTRING:{let O,Y;M?(O=q[d]-q[d-1],d++):O=n[p]-n[p-1],p++,B?(Y=l6(D,y,O,!1),y+=2*O):(Y=tr(l.vertexBufferType,D,C,w,O,!1,A),w+=O),c[h++]=[Y],W&&a++}break;case E0.POLYGON:{let O=n[p]-n[p-1];p++;let Y=Array(O-1),G,j=q[d]-q[d-1];if(d++,B){G=l6(D,y,j,!0),y+=2*j;for(let Z=0;Z<Y.length;Z++)j=q[d]-q[d-1],d++,Y[Z]=l6(D,y,j,!0),y+=2*j}else{G=tr(l.vertexBufferType,D,C,w,j,!0,A),w+=j;for(let Z=0;Z<Y.length;Z++)j=q[d]-q[d-1],d++,Y[Z]=tr(l.vertexBufferType,D,C,w,j,!0,A),w+=j}c[h++]=[G].concat(Y),W&&a++}break;case E0.MULTILINESTRING:{let O=W[a]-W[a-1];a++;let Y=Array(O);for(let G=0;G<O;G++){let j;if(M?(j=q[d]-q[d-1],d++):j=n[p]-n[p-1],p++,B)Y[G]=l6(D,y,j,!1),y+=2*j;else{let Z=tr(l.vertexBufferType,D,C,w,j,!1,A);Y[G]=Z,w+=j}}c[h++]=Y}break;case E0.MULTIPOLYGON:{let O=W[a]-W[a-1];a++;let Y=Array(O);for(let G=0;G<O;G++){let j=n[p]-n[p-1],Z;p++;let d1=Array(j-1),m1=q[d]-q[d-1];d++,B?(Z=l6(D,y,m1,!0),y+=2*m1):(Z=tr(l.vertexBufferType,D,C,w,m1,!0,A),w+=m1);for(let a1=0;a1<d1.length;a1++){let s1=q[d]-q[d-1];d++,B?(d1[a1]=l6(D,y,s1,!0),y+=2*s1):(d1[a1]=tr(l.vertexBufferType,D,C,w,s1,!0,A),w+=s1)}Y[G]=[Z].concat(d1)}c[h++]=Y.flat()}break;default:throw Error("The specified geometry type is currently not supported.")}return c}(this)}get mortonSettings(){return this._mortonSettings}}class Em extends km{constructor(l,c,p,d,a,h,y){super(p,d,a,h,y),this._numGeometries=l,this._geometryType=c}geometryType(l){return this._geometryType}get numGeometries(){return this._numGeometries}containsPolygonGeometry(){return this._geometryType===E0.POLYGON||this._geometryType===E0.MULTIPOLYGON}containsSingleGeometryType(){return!0}}class nm extends km{constructor(l,c,p,d,a,h){super(l,p,d,a,h),this._geometryTypes=c}geometryType(l){return this._geometryTypes[l]}get numGeometries(){return this._geometryTypes.length}containsPolygonGeometry(){for(let l=0;l<this.numGeometries;l++)if(this.geometryType(l)===E0.POLYGON||this.geometryType(l)===E0.MULTIPOLYGON)return!0;return!1}containsSingleGeometryType(){return!1}}class Am{constructor(l,c,p,d){this._triangleOffsets=l,this._indexBuffer=c,this._vertexBuffer=p,this._topologyVector=d}get triangleOffsets(){return this._triangleOffsets}get indexBuffer(){return this._indexBuffer}get vertexBuffer(){return this._vertexBuffer}get topologyVector(){return this._topologyVector}getGeometries(){if(!this._topologyVector)throw Error("Cannot convert GpuVector to coordinates without topology information");let l=Array(this.numGeometries),c=this._topologyVector,p=c.partOffsets,d=c.ringOffsets,a=c.geometryOffsets,h=0,y=1,w=1,A=1;for(let k=0;k<this.numGeometries;k++)switch(this.geometryType(k)){case E0.POLYGON:{let W=p[y]-p[y-1];y++;let n=[];for(let q=0;q<W;q++){let C=d[w]-d[w-1];w++;let B=[];for(let M=0;M0&&B.push(B[0]),n.push(B)}l[k]=n,a&&A++}break;case E0.MULTIPOLYGON:{let W=a[A]-a[A-1];A++;let n=[];for(let q=0;q<W;q++){let C=p[y]-p[y-1];y++;for(let B=0;B<C;B++){let M=d[w]-d[w-1];w++;let D=[];for(let I=0;I0&&D.push(D[0]),n.push(D)}}l[k]=n}}return l}[Symbol.iterator](){return null}}function $o(l,c,p,d,a,h){return new _o(l,c,p,d,a,h)}class _o extends Am{constructor(l,c,p,d,a,h){super(p,d,a,h),this._numGeometries=l,this._geometryType=c}geometryType(l){return this._geometryType}get numGeometries(){return this._numGeometries}containsSingleGeometryType(){return!0}}function io(l,c,p,d,a){return new eo(l,c,p,d,a)}class eo extends Am{constructor(l,c,p,d,a){super(c,p,d,a),this._geometryTypes=l}geometryType(l){return this._geometryTypes[l]}get numGeometries(){return this._geometryTypes.length}containsSingleGeometryType(){return!1}}function wE(l,c,p,d,a){let h=f2(l,p),y,w,A,k;if(B9(h,d,l,p)===Hl.CONST){let O=ym(l,p,h),Y,G,j,Z;for(let d1=0;d1<c-1;d1++){let m1=f2(l,p);switch(m1.physicalStreamType){case D0.LENGTH:switch(m1.logicalStreamType.lengthType){case U2.GEOMETRIES:Y=u4(l,p,m1);break;case U2.PARTS:G=u4(l,p,m1);break;case U2.RINGS:j=u4(l,p,m1);break;case U2.TRIANGLES:Z=u4(l,p,m1)}break;case D0.OFFSET:switch(m1.logicalStreamType.offsetType){case Cc.VERTEX:y=D2(l,p,m1);break;case Cc.INDEX:k=D2(l,p,m1)}break;case D0.DATA:Mu.VERTEX===m1.logicalStreamType.dictionaryType?w=hm(l,p,m1):(A={numBits:m1.numBits,coordinateShift:m1.coordinateShift},w=D2(l,p,m1))}}return k?Y!==void 0||G!==void 0?$o(d,O,Z,k,w,{geometryOffsets:Y,partOffsets:G,ringOffsets:j}):$o(d,O,Z,k,w):A===void 0?function(d1,m1,a1,s1,w1){return new Em(d1,m1,l4.VEC_2,a1,s1,w1)}(d,O,{geometryOffsets:Y,partOffsets:G,ringOffsets:j},y,w):function(d1,m1,a1,s1,w1,k1){return new Em(d1,m1,l4.MORTON,a1,s1,w1,k1)}(d,O,{geometryOffsets:Y,partOffsets:G,ringOffsets:j},y,w,A)}let W=D2(l,p,h),n,q,C,B,M,D,I;for(let O=0;O<c-1;O++){let Y=f2(l,p);switch(Y.physicalStreamType){case D0.LENGTH:switch(Y.logicalStreamType.lengthType){case U2.GEOMETRIES:n=D2(l,p,Y);break;case U2.PARTS:q=D2(l,p,Y);break;case U2.RINGS:C=D2(l,p,Y);break;case U2.TRIANGLES:B=u4(l,p,Y)}break;case D0.OFFSET:switch(Y.logicalStreamType.offsetType){case Cc.VERTEX:y=D2(l,p,Y);break;case Cc.INDEX:k=D2(l,p,Y)}break;case D0.DATA:Mu.VERTEX===Y.logicalStreamType.dictionaryType?w=hm(l,p,Y):(A={numBits:Y.numBits,coordinateShift:Y.coordinateShift},w=D2(l,p,Y))}}return n?(M=Vm(W,n,2),q&&C?(D=to(W,M,q,!1),I=function(O,Y,G,j){let Z=new Uint32Array(G[G.length-1]+1),d1=0;Z[0]=d1;let m1=1,a1=1,s1=0;for(let w1=0;w1<O.length;w1++){let k1=O[w1],y1=Y[w1+1]-Y[w1];if(k1!==0&&k1!==3)for(let n1=0;n1<y1;n1++){let Y1=G[m1]-G[m1-1];m1++;for(let U1=0;U1<Y1;U1++)d1=Z[a1++]=d1+j[s1++]}else for(let n1=0;n1<y1;n1++)Z[a1++]=++d1,m1++}return Z}(W,M,D,C)):q&&(D=function(O,Y,G){let j=new Uint32Array(Y[Y.length-1]+1),Z=0;j[0]=Z;let d1=1,m1=0;for(let a1=0;a1<O.length;a1++){let s1=O[a1],w1=Y[a1+1]-Y[a1];if(s1===4||s1===1)for(let k1=0;k1<w1;k1++)Z=j[d1++]=Z+G[m1++];else for(let k1=0;k1<w1;k1++)j[d1++]=++Z}return j}(W,M,q))):q&&C?(D=Vm(W,q,1),I=to(W,D,C,!0)):q&&(D=Vm(W,q,0)),k&&!D?io(W,B,k,w):k?io(W,B,k,w,{geometryOffsets:M,partOffsets:D,ringOffsets:I}):A===void 0?function(O,Y,G,j){return new nm(l4.VEC_2,O,Y,G,j)}(W,{geometryOffsets:M,partOffsets:D,ringOffsets:I},y,w):function(O,Y,G,j,Z){return new nm(l4.MORTON,O,Y,G,j,Z)}(W,{geometryOffsets:M,partOffsets:D,ringOffsets:I},y,w,A)}function Vm(l,c,p){let d=new Uint32Array(l.length+1),a=0;d[0]=a;let h=0;for(let y=0;yp?c[h++]:1);return d}function to(l,c,p,d){let a=new Uint32Array(c[c.length-1]+1),h=0;a[0]=h;let y=1,w=0;for(let A=0;A<l.length;A++){let k=l[A],W=c[A+1]-c[A];if(k===5||k===2||d&&(k===4||k===1))for(let n=0;n<W;n++)h=a[y++]=h+p[w++];else for(let n=0;n<W;n++)a[y++]=++h}return a}class lh extends Lc{constructor(l,c,p){super(l,c.getBuffer(),p),this.dataVector=c}getValueFromBuffer(l){return this.dataVector.get(l)}}class uh extends v8{getValueFromBuffer(l){return this.dataBuffer[l]}}class Wm extends Lc{constructor(l,c,p,d){super(l,d?BigInt64Array.of(c):BigUint64Array.of(c),p)}getValueFromBuffer(l){return this.dataBuffer[0]}}function a8(l,c,p,d,a){let h=function(y,w,A,k){let W=new Uint8Array(w),n=0,q=k.get()+A;for(;n=q);){let C=y[k.increment()];if(C<=127){let B=C+3,M=y[k.increment()],D=Math.min(n+B,w);W.fill(M,n,D),n=D}else{let B=256-C;for(let M=0;M<B&&n<w;M++)W[n++]=y[k.increment()]}}return k.set(q),W}(l,Math.ceil(c/8),p,d);return a?function(y,w,A){if(!A)return y;let k=A.size(),W=new ou(y,w),n=new ou(new Uint8Array(Math.ceil(k/8)),k),q=0;for(let C=0;C=12?sE.decode(l.subarray(c,p)):function(d,a,h){let y="",w=a;for(;w239?4:A>223?3:A>191?2:1;if(w+C>h)break;C===1?A<128&&(q=A):C===2?(k=d[w+1],(192&k)==128&&(q=(31&A)<<6|63&k,q<=127&&(q=null))):C===3?(k=d[w+1],W=d[w+2],(192&k)==128&&(192&W)==128&&(q=(15&A)<<12|(63&k)<<6|63&W,(q=55296&&q<=57343)&&(q=null))):C===4&&(k=d[w+1],W=d[w+2],n=d[w+3],(192&k)==128&&(192&W)==128&&(192&n)==128&&(q=(15&A)<<18|(63&k)<<12|(63&W)<<6|63&n,(q=1114112)&&(q=null))),q===null?(q=65533,C=1):q>65535&&(q-=65536,y+=String.fromCharCode(q>>>10&1023|55296),q=56320|1023&q),y+=String.fromCharCode(q),w+=C}return y}(l,c,p)}class K9 extends Lc{constructor(l,c,p,d){super(l,p,d),this.offsetBuffer=c}}class Cm extends K9{constructor(l,c,p,d){super(l,c,p,d??c.length-1)}getValueFromBuffer(l){return Lm(this.dataBuffer,this.offsetBuffer[l],this.offsetBuffer[l+1])}}class xc extends K9{constructor(l,c,p,d,a){super(l,p,d,a??c.length),this.indexBuffer=c,this.indexBuffer=c}getValueFromBuffer(l){let c=this.indexBuffer[l];return Lm(this.dataBuffer,this.offsetBuffer[c],this.offsetBuffer[c+1])}}class xm extends K9{constructor(l,c,p,d,a,h,y){super(l,p,d,y),this.indexBuffer=c,this.symbolOffsetBuffer=a,this.symbolTableBuffer=h}getValueFromBuffer(l){this.decodedDictionary==null&&(this.symbolLengthBuffer==null&&(this.symbolLengthBuffer=this.offsetToLengthBuffer(this.symbolOffsetBuffer)),this.decodedDictionary=function(p,d,a){let h=[],y=Array(d.length).fill(0);for(let w=1;w<d.length;w++)y[w]=y[w-1]+d[w-1];for(let w=0;w<a.length;w++)if(a[w]===255)h.push(a[++w]);else{let A=d[a[w]],k=y[a[w]];for(let W=0;W<A;W++)h.push(p[k+W])}return new Uint8Array(h)}(this.symbolTableBuffer,this.symbolLengthBuffer,this.dataBuffer));let c=this.indexBuffer[l];return Lm(this.decodedDictionary,this.offsetBuffer[c],this.offsetBuffer[c+1])}offsetToLengthBuffer(l){let c=new Uint32Array(l.length-1),p=l[0];for(let d=1;d<l.length;d++){let a=l[d];c[d-1]=a-p,p=a}return c}}function SE(l,c,p,d,a,h){return p.type==="scalarType"?function(y,w,A,k,W,n){let q=null;if(y===0)return null;if(n.nullable){let B=f2(w,A),M=B.numValues,D=A.get(),I=a8(w,M,B.byteLength,A);A.set(D+B.byteLength),q=new ou(I,B.numValues)}let C=q??k;switch(W.physicalType){case 4:case 3:return function(B,M,D,I,O){let Y=f2(B,M),G=B9(Y,O,B,M),j=I.physicalType===3;if(G===Hl.FLAT){let d1=o8(O)?O:void 0,m1=j?hm(B,M,Y,0,d1):D2(B,M,Y,0,d1);return new F9(D.name,m1,O)}if(G===Hl.SEQUENCE){let d1=Jo(B,M,Y);return new P9(D.name,d1[0],d1[1],Y.numRleValues)}let Z=j?function(d1,m1,a1){let s1=er(d1,m1,a1);return s1.length===1?Fl(s1[0]):function(w1){return Fl(w1[1])}(s1)}(B,M,Y):ym(B,M,Y);return new M9(D.name,Z,O,j)}(w,A,n,W,C);case 9:return function(B,M,D,I,O){let Y=null,G=null,j=null,Z=null,d1=null,m1=O??null,a1=null,s1=null;for(let w1=0;w1<I;w1++){let k1=f2(M,D);switch(k1.physicalStreamType){case D0.PRESENT:{let y1=a8(M,k1.numValues,k1.byteLength,D),n1=new ou(y1,k1.numValues);m1=O??n1;break}case D0.OFFSET:G=D2(M,D,k1,0,m1);break;case D0.LENGTH:{let y1=u4(M,D,k1);U2.DICTIONARY===k1.logicalStreamType.lengthType?Y=y1:U2.SYMBOL===k1.logicalStreamType.lengthType?Z=y1:a1=y1;break}case D0.DATA:{let y1=M.subarray(D.get(),D.get()+k1.byteLength);D.add(k1.byteLength);let n1=k1.logicalStreamType.dictionaryType;Mu.FSST===n1?d1=y1:Mu.SINGLE===n1||Mu.SHARED===n1?j=y1:Mu.NONE===n1&&(s1=y1);break}}}return function(w1,k1,y1,n1,Y1,U1,K1){return k1?new xm(w1,y1,n1,Y1,U1,k1,K1):null}(B,d1,G,Y,j,Z,m1)??function(w1,k1,y1,n1,Y1){return k1?Y1?new xc(w1,y1,n1,k1,Y1):new xc(w1,y1,n1,k1):null}(B,j,G,Y,m1)??function(w1,k1,y1,n1,Y1){if(!k1||!y1)return null;if(n1)return Y1?new xc(w1,n1,k1,y1,Y1):new xc(w1,n1,k1,y1);if(Y1&&Y1.size()!==k1.length-1){let U1=new Uint32Array(Y1.size()),K1=0;for(let R1=0;R1<Y1.size();R1++)U1[R1]=Y1.get(R1)?K1++:0;return new xc(w1,U1,k1,y1,Y1)}return Y1?new Cm(w1,k1,y1,Y1):new Cm(w1,k1,y1)}(B,a1,s1,G,m1)}(n.name,w,A,n.nullable?y-1:y,q);case 0:return function(B,M,D,I,O){let Y=f2(B,M),G=Y.numValues,j=M.get(),Z=o8(O)?O:void 0,d1=a8(B,G,Y.byteLength,M,Z);M.set(j+Y.byteLength);let m1=new ou(d1,G);return new lh(D.name,m1,O)}(w,A,n,0,C);case 6:case 5:return function(B,M,D,I,O){let Y=f2(B,M),G=B9(Y,I,B,M,"int64"),j=O.physicalType===5;if(G===Hl.FLAT){let d1=o8(I)?I:void 0,m1=j?function(a1,s1,w1,k1){return function(y1,n1,Y1){let U1;switch(n1.logicalLevelTechnique1){case hl.DELTA:if(n1.logicalLevelTechnique2===hl.RLE){let K1=n1;if(!Y1)return function(R1,_1,Cl){let sl=new BigInt64Array(Cl),ql=0,H0=0n;for(let Tl=0;Tl<_1;Tl++){let f0=Number(R1[Tl]),N0=p2(R1[Tl+_1]);for(let Il=0;Il<f0;Il++)H0+=N0,sl[ql++]=H0}return sl}(y1,K1.runs,K1.numRleValues);U1=Qo(y1=am(y1,K1.runs,K1.numRleValues))}else U1=Qo(y1);break;case hl.RLE:U1=function(K1,R1,_1){if(_1===void 0){_1=0;for(let ql=0;ql<R1;ql++)_1+=Number(K1[ql])}let Cl=new BigInt64Array(_1),sl=0;for(let ql=0;ql<R1;ql++){let H0=Number(K1[ql]),Tl=K1[ql+R1];Tl=p2(Tl),Cl.fill(Tl,sl,sl+H0),sl+=H0}return Cl}(y1,n1.runs,n1.numRleValues);break;case hl.NONE:U1=function(K1){let R1=new BigInt64Array(K1.length);for(let _1=0;_1=10}function ph(l){return l===30}function kE(l){if(l.type==="scalarType"){let c=l.scalarType;if(c.type==="physicalType")switch(c.physicalType){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:default:return!1;case 9:return!0}if(c.type==="logicalType")return!1}else if(l.type==="complexType"){let c=l.complexType;if(c.type==="physicalType")switch(c.physicalType){case 0:case 1:return!0;default:return!1}}return console.warn("Unexpected column type in hasStreamCount",l),!1}function EE(l){return l.type==="complexType"&&l.complexType?.type==="physicalType"&&l.complexType.physicalType===0}let nE=new TextDecoder;function Nm(l,c){let p=T0(l,c,1)[0];if(p===0)return"";let d=c.get(),a=l.subarray(d,d+p);return c.add(p),nE.decode(a)}function fh(l,c){let p=T0(l,c,1)[0]>>>0;if(p30)throw Error(`Unsupported field type code ${p}. Supported: 10-29(scalars), 30(STRUCT)`);let d=ch(p);if(rh(p)&&(d.name=Nm(l,c)),ph(p)){let a=T0(l,c,1)[0]>>>0;d.complexType.children=Array(a);for(let h=0;h>>0,d=ch(p);if(!d)throw Error(`Unsupported column type code ${p}. Supported: 0-3(ID), 4(GEOMETRY), 10-29(scalars), 30(STRUCT)`);if(rh(p)?d.name=Nm(l,c):p>=0&&p>>0,h=d.complexType;h.children=Array(a);for(let y=0;y>>0,h=T0(l,c,1)[0]>>>0;d.columns=Array(h);for(let y=0;y<h;y++)d.columns[y]=AE(l,c);return p.featureTables.push(d),[p,a]}function WE(l,c,p,d,a,h,y=!1){let w=c.scalarType;if(!w||w.type!=="logicalType"||w.logicalType!==0)throw Error(`ID column must be a logical ID scalar type: ${d}`);let A=w.longID?6:4,k=typeof h=="number"?void 0:h,W=B9(a,h,l,p,A===6?"int64":"int32");if(A===4)switch(W){case Hl.FLAT:{let n=D2(l,p,a,0,k);return new F9(d,n,h)}case Hl.SEQUENCE:{let n=Jo(l,p,a);return new P9(d,n[0],n[1],a.numRleValues)}case Hl.CONST:{let n=ym(l,p,a);return new M9(d,n,h,!1)}}switch(W){case Hl.FLAT:{if(y){let q=function(C,B,M){let D=function(I,O,Y){let G=new Float64Array(Y);for(let j=0;j=4)for(;j<G-4;j+=4){let Z=Y[j+1],d1=Y[j+2],m1=Y[j+3];Y[j]=_r(Y[j])+Y[j-1],Y[j+1]=_r(Z)+Y[j],Y[j+2]=_r(d1)+Y[j+1],Y[j+3]=_r(m1)+Y[j+2]}for(;j!==Y.length;++j)Y[j]=_r(Y[j])+Y[j-1]}(I),I;case hl.RLE:return function(Y,G){return Oo(Y,G.runs,G.numRleValues)}(I,O);case hl.NONE:return I;default:throw Error(`The specified Logical level technique is not supported: ${O.logicalLevelTechnique1}`)}}(D,M)}(l,p,a);return new q9(d,q,h)}let n=To(l,p,a,k);return new wm(d,n,h)}case Hl.SEQUENCE:{let n=Xo(l,p,a);return new sm(d,n[0],n[1],a.numRleValues)}case Hl.CONST:{let n=Zo(l,p,a);return new Wm(d,n,h,!1)}}throw Error("Vector type not supported for id column.")}class dh{constructor(l,c){var p;switch(this._featureData=l,this.properties=this._featureData.properties||{},(p=this._featureData.geometry)===null||p===void 0?void 0:p.type){case E0.POINT:case E0.MULTIPOINT:this.type=1;break;case E0.LINESTRING:case E0.MULTILINESTRING:this.type=2;break;case E0.POLYGON:case E0.MULTIPOLYGON:this.type=3;break;default:this.type=0}this.extent=c,this.id=Number(this._featureData.id)}loadGeometry(){let l=[];for(let c of this._featureData.geometry.coordinates){let p=[];for(let d of c)p.push(new H(d.x,d.y));l.push(p)}return l}}class mh{constructor(l){this.features=[],this.featureTable=l,this.name=l.name,this.extent=l.extent,this.version=2,this.features=l.getFeatures(),this.length=this.features.length}feature(l){return new dh(this.features[l],this.extent)}}class Fm{constructor(l){this.layers={};let c=function(p,d,a=!0){let h=new pm(0),y=[];for(;h.get()

>>0,k=h.get()+A;if(k>p.length)throw Error(`Block overruns tile: ${k} > ${p.length}`);if(T0(p,h,1)[0]>>>0!=1){h.set(k);continue}let[W,n]=VE(p,h),q=W.featureTables[0],C=null,B=null,M=[],D=0;for(let O of q.columns){let Y=O.name;if((w=O).type==="scalarType"&&w.scalarType?.type==="logicalType"&&w.scalarType.logicalType===0){let G=null;if(O.nullable){let Z=f2(p,h),d1=h.get(),m1=a8(p,Z.numValues,Z.byteLength,h);h.set(d1+Z.byteLength),G=new ou(m1,Z.numValues)}let j=f2(p,h);D=G?G.size():j.decompressedCount,C=WE(p,O,h,Y,j,G??D,a)}else if(EE(O)){let G=T0(p,h,1)[0];if(D===0){let j=h.get();D=f2(p,h).decompressedCount,h.set(j)}B=wE(p,G,h,D)}else{let G=kE(O)?T0(p,h,1)[0]:1;if(G===0)continue;let j=SE(p,h,O,G,D);if(j)if(Array.isArray(j))for(let Z of j)M.push(Z);else M.push(j)}}let I=new Yo(q.name,B,C,M,n);y.push(I),h.set(k)}var w;return y}(new Uint8Array(l));this.layers=c.reduce((p,d)=>Object.assign(Object.assign({},p),{[d.name]:new mh(d)}),{})}}class gh{constructor(l,c){this.feature=l,this.type=l.type,this.properties=l.tags?l.tags:{},this.extent=c,"id"in l&&(typeof l.id=="string"?this.id=parseInt(l.id,10):typeof l.id!="number"||isNaN(l.id)||(this.id=l.id))}loadGeometry(){let l=[],c=this.feature.type===1?[this.feature.geometry]:this.feature.geometry;for(let p of c){let d=[];for(let a of p)d.push(new H(a[0],a[1]));l.push(d)}return l}}let h8="_geojsonTileLayer";function LE(l,c,p=""){c.writeVarintField(15,l.version||1),c.writeStringField(1,l.name||""),c.writeVarintField(5,l.extent||4096);let d={jsonPrefix:p,keys:[],values:[],keycache:{},valuecache:{}};for(let y=0;y<l.length;y++)d.feature=l.feature(y),c.writeMessage(2,CE,d);let a=d.keys;for(let y of a)c.writeStringField(3,y);let h=d.values;for(let y of h)c.writeMessage(4,FE,y)}function CE(l,c){if(!l.feature)return;let p=l.feature;p.id!==void 0&&c.writeVarintField(1,p.id),c.writeMessage(2,xE,l),c.writeVarintField(3,p.type),c.writeMessage(4,NE,p)}function xE(l,c){for(let p in l.feature?.properties){let d=l.feature.properties[p],a=l.keycache[p];if(d==null)continue;a===void 0&&(l.keys.push(p),a=l.keys.length-1,l.keycache[p]=a),c.writeVarint(a),typeof d!="string"&&typeof d!="boolean"&&typeof d!="number"&&(d=l.jsonPrefix+JSON.stringify(d));let h=typeof d+":"+d,y=l.valuecache[h];y===void 0&&(l.values.push(d),y=l.values.length-1,l.valuecache[h]=y),c.writeVarint(y)}}function qm(l,c){return(c<<3)+(7&l)}function vh(l){return l<>31}function NE(l,c){let p=l.loadGeometry(),d=l.type,a=0,h=0;for(let y of p){let w=1;d===1&&(w=y.length),c.writeVarint(qm(1,w));let A=d===3?y.length-1:y.length;for(let k=0;k<A;k++){k===1&&d!==1&&c.writeVarint(qm(2,A-1));let W=y[k].x-a,n=y[k].y-h;c.writeVarint(vh(W)),c.writeVarint(vh(n)),a+=W,h+=n}l.type===3&&c.writeVarint(qm(7,1))}}function FE(l,c){let p=typeof l;p==="string"?c.writeStringField(1,l):p==="boolean"?c.writeBooleanField(7,l):p==="number"&&(l%1!=0?c.writeDoubleField(3,l):l<0?c.writeSVarintField(6,l):c.writeVarintField(5,l))}class Pm{constructor(l,c){this.tileID=l,this.x=l.canonical.x,this.y=l.canonical.y,this.z=l.canonical.z,this.grid=new cu(ll,16,0),this.grid3D=new cu(ll,16,0),this.featureIndexArray=new Q,this.promoteId=c}insert(l,c,p,d,a,h){let y=this.featureIndexArray.length;this.featureIndexArray.emplaceBack(p,d,a);let w=h?this.grid3D:this.grid;for(let A of c){let k=[1/0,1/0,-1/0,-1/0];for(let W of A)k[0]=Math.min(k[0],W.x),k[1]=Math.min(k[1],W.y),k[2]=Math.max(k[2],W.x),k[3]=Math.max(k[3],W.y);k[0]<ll&&k[1]=0&&k[3]>=0&&w.insert(y,k[0],k[1],k[2],k[3])}}loadVTLayers(){return this.vtLayers||(this.vtLayers=this.encoding!=="mlt"?new Pd(new m8(this.rawTileData)).layers:new Fm(this.rawTileData).layers,this.sourceLayerCoder=new um(this.vtLayers?Object.keys(this.vtLayers).sort():[h8])),this.vtLayers}query(l,c,p,d){this.loadVTLayers();let a=l.params,h=ll/l.tileSize/l.scale,y=lc(a.filter,a.globalState),w=l.queryGeometry,A=l.queryPadding*h,k=Wc.fromPoints(w),W=this.grid.query(k.minX-A,k.minY-A,k.maxX+A,k.maxY+A),n=Wc.fromPoints(l.cameraQueryGeometry).expandBy(A),q=this.grid3D.query(n.minX,n.minY,n.maxX,n.maxY,(M,D,I,O)=>function(Y,G,j,Z,d1){for(let a1 of Y)if(G<=a1.x&&j=a1.x&&d1>=a1.y)return!0;let m1=[new H(G,j),new H(G,d1),new H(Z,d1),new H(Z,j)];if(Y.length>2){for(let a1 of m1)if(Yr(Y,a1))return!0}for(let a1=0;a1(I||(I=h5(O)),Y.queryIntersectsFeature({queryGeometry:w,feature:O,featureState:G,geometry:I,zoom:this.z,transform:l.transform,pixelsToTileUnits:h,pixelPosMatrix:l.pixelPosMatrix,unwrappedTileID:this.tileID.toUnwrapped(),getElevation:l.getElevation})))}return C}loadMatchingFeature(l,c,p,d,a,h,y,w,A,k,W){let n=this.bucketLayerIDs[c];if(h&&!n.some((M)=>h.has(M)))return;let q=this.sourceLayerCoder.decode(p),C=this.vtLayers[q].feature(d);if(a.needGeometry){let M=y5(C,!0);if(!a.filter(new Nl(this.tileID.overscaledZ),M,this.tileID.canonical))return}else if(!a.filter(new Nl(this.tileID.overscaledZ),C))return;let B=this.getId(C,q);for(let M of n){if(h&&!h.has(M))continue;let D=w[M];if(!D)continue;let I={};B&&k&&(I=k.getState(D.sourceLayer||h8,B));let O=h2({},A[M]);O.paint=ah(O.paint,D.paint,C,I,y),O.layout=ah(O.layout,D.layout,C,I,y);let Y=!W||W(C,D,I);if(!Y)continue;let G=new cm(C,this.z,this.x,this.y,B);G.layer=O;let j=l[M];j===void 0&&(j=l[M]=[]),j.push({featureIndex:d,feature:G,intersectionZ:Y})}}lookupSymbolFeatures(l,c,p,d,a,h,y,w){let A={};this.loadVTLayers();let k=lc(a.filterSpec,a.globalState);for(let W of l)this.loadMatchingFeature(A,p,d,W,k,h,y,w,c);return A}hasLayer(l){for(let c of this.bucketLayerIDs)for(let p of c)if(l===p)return!0;return!1}getId(l,c){var p;let d=l.id;return this.promoteId&&(d=l.properties[typeof this.promoteId=="string"?this.promoteId:this.promoteId[c]],typeof d=="boolean"&&(d=Number(d)),d===void 0&&((p=l.properties)===null||p===void 0?void 0:p.cluster)&&this.promoteId&&(d=Number(l.properties.cluster_id))),d}}function ah(l,c,p,d,a){return ju(l,(h,y)=>{let w=c instanceof J5?c.get(y):null;return(w==null?void 0:w.evaluate)?w.evaluate(p,d,a):w})}function qE(l,c){return c-l}function oh(l,c,p,d,a){let h=[];for(let y of l){let w;for(let A=0;A<y.length-1;A++){let k=y[A],W=y[A+1];k.x<c&&W.x<c||(k.x<c?k=new H(c,k.y+(c-k.x)/(W.x-k.x)*(W.y-k.y))._round():W.x<c&&(W=new H(c,k.y+(c-k.x)/(W.x-k.x)*(W.y-k.y))._round()),k.y<p&&W.y<p||(k.y<p?k=new H(k.x+(p-k.y)/(W.y-k.y)*(W.x-k.x),p)._round():W.y

=d&&W.x>=d||(k.x>=d?k=new H(d,k.y+(d-k.x)/(W.x-k.x)*(W.y-k.y))._round():W.x>=d&&(W=new H(d,k.y+(d-k.x)/(W.x-k.x)*(W.y-k.y))._round()),k.y>=a&&W.y>=a||(k.y>=a?k=new H(k.x+(a-k.y)/(W.y-k.y)*(W.x-k.x),a)._round():W.y>=a&&(W=new H(k.x+(a-k.y)/(W.y-k.y)*(W.x-k.x),a)._round()),w&&k.equals(w[w.length-1])||(w=[k],h.push(w)),w.push(W)))))}}return h}function hh(l,c,p,d,a){switch(c){case 1:return function(h,y,w,A){let k=[];for(let W of h)for(let n of W){let q=A===0?n.x:n.y;q>=y&&q<=w&&k.push([n])}return k}(l,p,d,a);case 2:return yh(l,p,d,a,!1);case 3:return yh(l,p,d,a,!0)}return[]}function PE(l,c,p,d,a){let h=d===0?ME:BE,y=[],w=[];for(let W=0;W<l.length-1;W++){let n=l[W],q=l[W+1],C=d===0?n.x:n.y,B=d===0?q.x:q.y,M=!1;Cc&&y.push(h(n,q,c)):C>p?B<p&&y.push(h(n,q,p)):y.push(n),B=c&&(y.push(h(n,q,c)),M=!0),B>p&&C=c&&k0&&!y[0].equals(y[y.length-1])&&y.push(new H(y[0].x,y[0].y)),y.length>0&&w.push(y),w}function yh(l,c,p,d,a){let h=[];for(let y of l){let w=PE(y,c,p,d,a);w.length>0&&h.push(...w)}return h}function ME(l,c,p){return new H(p,l.y+(p-l.x)/(c.x-l.x)*(c.y-l.y))}function BE(l,c,p){return new H(l.x+(p-l.y)/(c.y-l.y)*(c.x-l.x),p)}z1("FeatureIndex",Pm,{omit:["rawTileData","sourceLayerCoder"]});class c4 extends H{constructor(l,c,p,d){super(l,c),this.angle=p,d!==void 0&&(this.segment=d)}clone(){return new c4(this.x,this.y,this.angle,this.segment)}}function wh(l,c,p,d,a){if(c.segment===void 0||p===0)return!0;let h=c,y=c.segment+1,w=0;for(;w>-p/2;){if(y--,y<0)return!1;w-=l[y].dist(h),h=l[y]}w+=l[y].dist(l[y+1]),y++;let A=[],k=0;for(;w

d;)k-=A.shift().angleDelta;if(k>a)return!1;y++,w+=W.dist(n)}return!0}function sh(l){let c=0;for(let p=0;p<l.length-1;p++)c+=l[p].dist(l[p+1]);return c}function Sh(l,c,p){return l?0.6*c*p:0}function kh(l,c){return Math.max(l?l.right-l.left:0,c?c.right-c.left:0)}function KE(l,c,p,d,a,h){let y=Sh(p,a,h),w=kh(p,d)*h,A=0,k=sh(l)/2;for(let W=0;Wk){let B=(k-A)/C,M=s2.number(n.x,q.x,B),D=s2.number(n.y,q.y,B),I=new c4(M,D,q.angleTo(n),W);return I._round(),!y||wh(l,I,w,y,c)?I:void 0}A+=C}}function UE(l,c,p,d,a,h,y,w,A){let k=Sh(d,h,y),W=kh(d,a),n=W*y,q=l[0].x===0||l[0].x===A||l[0].y===0||l[0].y===A;return c-n<c/4&&(c=n+c/4),Eh(l,q?c/2*w%c:(W/2+2*h)*y*w%c,c,k,p,n,q,!1,A)}function Eh(l,c,p,d,a,h,y,w,A){let k=h/2,W=sh(l),n=0,q=c-p,C=[];for(let B=0;B<l.length-1;B++){let M=l[B],D=l[B+1],I=M.dist(D),O=D.angleTo(M);for(;q+p=0&&G=0&&j=0&&q+kn1+Y1[1]-Y1[0],C=W.reduce(q,0),B=n.reduce(q,0),M=w-C,D=A-B,I=0,O=C,Y=0,G=B,j=0,Z=M,d1=0,m1=D;if(h.content&&d){let n1=h.content,Y1=n1[2]-n1[0],U1=n1[3]-n1[1];(h.textFitWidth||h.textFitHeight)&&(k=Vo(l)),I=U9(W,0,n1[0]),Y=U9(n,0,n1[1]),O=U9(W,n1[0],n1[2]),G=U9(n,n1[1],n1[3]),j=n1[0]-I,d1=n1[1]-Y,Z=Y1-O,m1=U1-G}let{x1:a1,y1:s1}=k,w1=k.x2-a1,k1=k.y2-s1,y1=(n1,Y1,U1,K1)=>{let R1=D9(n1.stretch-I,O,w1,a1),_1=R9(n1.fixed-j,Z,n1.stretch,C),Cl=D9(Y1.stretch-Y,G,k1,s1),sl=R9(Y1.fixed-d1,m1,Y1.stretch,B),ql=D9(U1.stretch-I,O,w1,a1),H0=R9(U1.fixed-j,Z,U1.stretch,C),Tl=D9(K1.stretch-Y,G,k1,s1),f0=R9(K1.fixed-d1,m1,K1.stretch,B),N0=new H(R1,Cl),Il=new H(ql,Cl),d2=new H(ql,Tl),Z0=new H(R1,Tl),b0=new H(_1/y,sl/y),A2=new H(H0/y,f0/y),I0=c*Math.PI/180;if(I0){let n0=Math.sin(I0),Gl=Math.cos(I0),a0=[Gl,-n0,n0,Gl];N0._matMult(a0),Il._matMult(a0),Z0._matMult(a0),d2._matMult(a0)}let V2=n1.stretch+n1.fixed,hu=Y1.stretch+Y1.fixed;return{tl:N0,tr:Il,bl:Z0,br:d2,tex:{x:h.paddedRect.x+1+V2,y:h.paddedRect.y+1+hu,w:U1.stretch+U1.fixed-V2,h:K1.stretch+K1.fixed-hu},writingMode:void 0,glyphOffset:[0,0],sectionIndex:0,pixelOffsetTL:b0,pixelOffsetBR:A2,minFontScaleX:Z/y/w1,minFontScaleY:m1/y/k1,isSDF:p}};if(d&&(h.stretchX||h.stretchY)){let n1=Ah(W,M,C),Y1=Ah(n,D,B);for(let U1=0;U1<n1.length-1;U1++){let K1=n1[U1],R1=n1[U1+1];for(let _1=0;_10&&(B=Math.max(10,B),this.circleDiameter=B)}else{let n=((W=h.image)===null||W===void 0?void 0:W.content)&&(h.image.textFitWidth||h.image.textFitHeight)?Vo(h):{x1:h.left,y1:h.top,x2:h.right,y2:h.bottom};n.y1=n.y1*y-w[0],n.y2=n.y2*y+w[2],n.x1=n.x1*y-w[3],n.x2=n.x2*y+w[1];let q=h.collisionPadding;if(q&&(n.x1-=q[0]*y,n.y1-=q[1]*y,n.x2+=q[2]*y,n.y2+=q[3]*y),k){let C=new H(n.x1,n.y1),B=new H(n.x2,n.y1),M=new H(n.x1,n.y2),D=new H(n.x2,n.y2),I=k*Math.PI/180;C._rotate(I),B._rotate(I),M._rotate(I),D._rotate(I),n.x1=Math.min(C.x,B.x,M.x,D.x),n.x2=Math.max(C.x,B.x,M.x,D.x),n.y1=Math.min(C.y,B.y,M.y,D.y),n.y2=Math.max(C.y,B.y,M.y,D.y)}l.emplaceBack(c.x,c.y,n.x1,n.y1,n.x2,n.y2,p,d,a)}this.boxEndIndex=l.length}}class Vh{constructor(l=[],c=(p,d)=>pd?1:0){if(this.data=l,this.length=this.data.length,this.compare=c,this.length>0)for(let p=(this.length>>1)-1;p>=0;p--)this._down(p)}push(l){this.data.push(l),this._up(this.length++)}pop(){if(this.length===0)return;let l=this.data[0],c=this.data.pop();return--this.length>0&&(this.data[0]=c,this._down(0)),l}peek(){return this.data[0]}_up(l){let{data:c,compare:p}=this,d=c[l];for(;l>0;){let a=l-1>>1,h=c[a];if(p(d,h)>=0)break;c[l]=h,l=a}c[l]=d}_down(l){let{data:c,compare:p}=this,d=this.length>>1,a=c[l];for(;l<d;){let h=1+(l<<1),y=h+1;if(y<this.length&&p(c[y],c[h])=0)break;c[l]=c[h],l=h}c[l]=a}}function DE(l,c=1){let p=Wc.fromPoints(l[0]),d=Math.min(p.width(),p.height()),a=d/2,h=new Vh([],RE),{minX:y,minY:w,maxX:A,maxY:k}=p;if(d===0)return new H(y,w);for(let q=y;q<A;q+=d)for(let C=w;C<k;C+=d)h.push(new Nc(q+a,C+a,a,l));let W=function(q){let C=0,B=0,M=0,D=q[0];for(let I=0,O=D.length,Y=O-1;In.d||!n.d)&&(n=q),q.max-n.d0&&n.d-W.d<=c?W.p:n.p}function RE(l,c){return c.max-l.max}class Nc{constructor(l,c,p,d){this.p=new H(l,c),this.h=p,this.d=function(a,h){let y=!1,w=1/0;for(let A of h)for(let k=0,W=A.length,n=W-1;ka.y!=C.y>a.y&&a.x<(C.x-q.x)*(a.y-q.y)/(C.y-q.y)+q.x&&(y=!y),w=Math.min(w,ga(a,q,C))}return(y?1:-1)*Math.sqrt(w)}(this.p,d),this.max=this.d+this.h*Math.SQRT2}}var R0;V.aM=void 0,(R0=V.aM||(V.aM={}))[R0.center=1]="center",R0[R0.left=2]="left",R0[R0.right=3]="right",R0[R0.top=4]="top",R0[R0.bottom=5]="bottom",R0[R0["top-left"]=6]="top-left",R0[R0["top-right"]=7]="top-right",R0[R0["bottom-left"]=8]="bottom-left",R0[R0["bottom-right"]=9]="bottom-right";let Mm=Number.POSITIVE_INFINITY;function Wh(l,c){return c[1]!==Mm?function(p,d,a){let h=0,y=0;switch(d=Math.abs(d),a=Math.abs(a),p){case"top-right":case"top-left":case"top":y=a-7;break;case"bottom-right":case"bottom-left":case"bottom":y=7-a}switch(p){case"top-right":case"bottom-right":case"right":h=-d;break;case"top-left":case"bottom-left":case"left":h=d}return[h,y]}(l,c[0],c[1]):function(p,d){let a=0,h=0;d<0&&(d=0);let y=d/Math.SQRT2;switch(p){case"top-right":case"top-left":h=y-7;break;case"bottom-right":case"bottom-left":h=7-y;break;case"bottom":h=7-d;break;case"top":h=d-7}switch(p){case"top-right":case"bottom-right":a=-y;break;case"top-left":case"bottom-left":a=y;break;case"left":a=d;break;case"right":a=-d}return[a,h]}(l,c[0])}function Lh(l,c,p){var d;let a=l.layout,h=(d=a.get("text-variable-anchor-offset"))===null||d===void 0?void 0:d.evaluate(c,{},p);if(h){let w=h.values,A=[];for(let k=0;kq*k0);W.startsWith("top")?n[1]-=7:W.startsWith("bottom")&&(n[1]+=7),A[k+1]=n}return new j0(A)}let y=a.get("text-variable-anchor");if(y){let w;w=l._unevaluatedLayout.getValue("text-radial-offset")!==void 0?[a.get("text-radial-offset").evaluate(c,{},p)*k0,Mm]:a.get("text-offset").evaluate(c,{},p).map((k)=>k*k0);let A=[];for(let k of y)A.push(k,Wh(k,w));return new j0(A)}return null}function Bm(l){switch(l){case"right":case"top-right":case"bottom-right":return"right";case"left":case"top-left":case"bottom-left":return"left"}return"center"}function HE(l,c,p,d,a,h,y,w,A,k,W,n){let q=h.textMaxSize.evaluate(c,{});q===void 0&&(q=y);let C=l.layers[0].layout,B=C.get("icon-offset").evaluate(c,{},W),M=xh(p.horizontal),D=y/24,I=l.tilePixelRatio*D,O=l.tilePixelRatio*q/24,Y=l.tilePixelRatio*w,G=l.tilePixelRatio*C.get("symbol-spacing"),j=C.get("text-padding")*l.tilePixelRatio,Z=function(U1,K1,R1,_1=1){let Cl=U1.get("icon-padding").evaluate(K1,{},R1),sl=Cl==null?void 0:Cl.values;return[sl[0]*_1,sl[1]*_1,sl[2]*_1,sl[3]*_1]}(C,c,W,l.tilePixelRatio),d1=C.get("text-max-angle")/180*Math.PI,m1=C.get("text-rotation-alignment")!=="viewport"&&C.get("symbol-placement")!=="point",a1=C.get("icon-rotation-alignment")==="map"&&C.get("symbol-placement")!=="point",s1=C.get("symbol-placement"),w1=G/2,k1=C.get("icon-text-fit"),y1;d&&k1!=="none"&&(l.allowVerticalPlacement&&p.vertical&&(y1=Wo(d,p.vertical,k1,C.get("icon-text-fit-padding"),B,D)),M&&(d=Wo(d,M,k1,C.get("icon-text-fit-padding"),B,D)));let n1=W?n.line.getGranularityForZoomLevel(W.z):1,Y1=(U1,K1)=>{K1.x=ll||K1.y=ll||function(R1,_1,Cl,sl,ql,H0,Tl,f0,N0,Il,d2,Z0,b0,A2,I0,V2,hu,n0,Gl,a0,Zl,A0,u3,Bu,w8){let r4=R1.addToLineVertexArray(_1,Cl),Fc,u6,c6,r6,Nh=0,Fh=0,qh=0,Ph=0,Km=-1,Um=-1,c3={},Mh=U0("");if(R1.allowVerticalPlacement&&sl.vertical){let $0=f0.layout.get("text-rotate").evaluate(Zl,{},Bu)+90;c6=new y8(N0,_1,Il,d2,Z0,sl.vertical,b0,A2,I0,$0),Tl&&(r6=new y8(N0,_1,Il,d2,Z0,Tl,hu,n0,I0,$0))}if(ql){let $0=f0.layout.get("icon-rotate").evaluate(Zl,{}),Z2=f0.layout.get("icon-text-fit")!=="none",qc=nh(ql,$0,u3,Z2),Uu=Tl?nh(Tl,$0,u3,Z2):void 0;u6=new y8(N0,_1,Il,d2,Z0,ql,hu,n0,!1,$0),Nh=4*qc.length;let Pc=R1.iconSizeData,w5=null;Pc.kind==="source"?(w5=[t5*f0.layout.get("icon-size").evaluate(Zl,{})],w5[0]>i3&&w0(`${R1.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)):Pc.kind==="composite"&&(w5=[t5*A0.compositeIconSizes[0].evaluate(Zl,{},Bu),t5*A0.compositeIconSizes[1].evaluate(Zl,{},Bu)],(w5[0]>i3||w5[1]>i3)&&w0(`${R1.layerIds[0]}: Value for "icon-size" is >= 255. Reduce your "icon-size".`)),R1.addSymbols(R1.icon,qc,w5,a0,Gl,Zl,V.ax.none,_1,r4.lineStartIndex,r4.lineLength,-1,Bu),Km=R1.icon.placedSymbolArray.length-1,Uu&&(Fh=4*Uu.length,R1.addSymbols(R1.icon,Uu,w5,a0,Gl,Zl,V.ax.vertical,_1,r4.lineStartIndex,r4.lineLength,-1,Bu),Um=R1.icon.placedSymbolArray.length-1)}let Bh=Object.keys(sl.horizontal);for(let $0 of Bh){let Z2=sl.horizontal[$0];if(!Fc){Mh=U0(Z2.text);let Uu=f0.layout.get("text-rotate").evaluate(Zl,{},Bu);Fc=new y8(N0,_1,Il,d2,Z0,Z2,b0,A2,I0,Uu)}let qc=Z2.positionedLines.length===1;if(qh+=Ch(R1,_1,Z2,H0,f0,I0,Zl,V2,r4,sl.vertical?V.ax.horizontal:V.ax.horizontalOnly,qc?Bh:[$0],c3,Km,A0,Bu),qc)break}sl.vertical&&(Ph+=Ch(R1,_1,sl.vertical,H0,f0,I0,Zl,V2,r4,V.ax.vertical,["vertical"],c3,Um,A0,Bu));let YE=Fc?Fc.boxStartIndex:R1.collisionBoxArray.length,zE=Fc?Fc.boxEndIndex:R1.collisionBoxArray.length,OE=c6?c6.boxStartIndex:R1.collisionBoxArray.length,GE=c6?c6.boxEndIndex:R1.collisionBoxArray.length,QE=u6?u6.boxStartIndex:R1.collisionBoxArray.length,jE=u6?u6.boxEndIndex:R1.collisionBoxArray.length,JE=r6?r6.boxStartIndex:R1.collisionBoxArray.length,XE=r6?r6.boxEndIndex:R1.collisionBoxArray.length,Ku=-1,H9=($0,Z2)=>($0==null?void 0:$0.circleDiameter)?Math.max($0.circleDiameter,Z2):Z2;Ku=H9(Fc,Ku),Ku=H9(c6,Ku),Ku=H9(u6,Ku),Ku=H9(r6,Ku);let Kh=Ku>-1?1:0;Kh&&(Ku*=w8/k0),R1.glyphOffsetArray.length>=Vc.MAX_GLYPHS&&w0("Too many glyphs being rendered in a tile. See https://github.com/mapbox/mapbox-gl-js/issues/2907"),Zl.sortKey!==void 0&&R1.addToSortKeyRanges(R1.symbolInstances.length,Zl.sortKey);let TE=Lh(f0,Zl,Bu),[ZE,bE]=function($0,Z2){let qc=$0.length,Uu=Z2==null?void 0:Z2.values;if((Uu==null?void 0:Uu.length)>0)for(let Pc=0;Pc=0?c3.right:-1,c3.center>=0?c3.center:-1,c3.left>=0?c3.left:-1,c3.vertical||-1,Km,Um,Mh,YE,zE,OE,GE,QE,jE,JE,XE,Il,qh,Ph,Nh,Fh,Kh,0,b0,Ku,ZE,bE)}(l,K1,U1,p,d,a,y1,l.layers[0],l.collisionBoxArray,c.index,c.sourceLayerIndex,l.index,I,[j,j,j,j],m1,A,Y,Z,a1,B,c,h,k,W,y)};if(s1==="line")for(let U1 of oh(c.geometry,0,0,ll,ll)){let K1=Ac(U1,n1),R1=UE(K1,G,d1,p.vertical||M,d,24,O,l.overscaling,ll);for(let _1 of R1)M&&IE(l,M.text,w1,_1)||Y1(K1,_1)}else if(s1==="line-center"){for(let U1 of c.geometry)if(U1.length>1){let K1=Ac(U1,n1),R1=KE(K1,d1,p.vertical||M,d,24,O);R1&&Y1(K1,R1)}}else if(c.type==="Polygon")for(let U1 of hr(c.geometry,0)){let K1=DE(U1,16);Y1(Ac(U1[0],n1,!0),new c4(K1.x,K1.y,0))}else if(c.type==="LineString")for(let U1 of c.geometry){let K1=Ac(U1,n1);Y1(K1,new c4(K1[0].x,K1[0].y,0))}else if(c.type==="Point")for(let U1 of c.geometry)for(let K1 of U1)Y1([K1],new c4(K1.x,K1.y,0))}function Ch(l,c,p,d,a,h,y,w,A,k,W,n,q,C,B){let M=function(O,Y,G,j,Z,d1,m1,a1){let s1=j.layout.get("text-rotate").evaluate(d1,{})*Math.PI/180,w1=[];for(let k1 of Y.positionedLines)for(let y1 of k1.positionedGlyphs){if(!y1.rect)continue;let n1=y1.rect||{},Y1=4,U1=!0,K1=1,R1=0,_1=(Z||a1)&&y1.vertical,Cl=y1.metrics.advance*y1.scale/2;if(a1&&Y.verticalizable&&(R1=k1.lineOffset/2-(y1.imageName?-(k0-y1.metrics.width*y1.scale)/2:(y1.scale-1)*k0)),y1.imageName){let n0=m1[y1.imageName];U1=n0.sdf,K1=n0.pixelRatio,Y1=1/K1}let sl=Z?[y1.x+Cl,y1.y]:[0,0],ql=Z?[0,0]:[y1.x+Cl+G[0],y1.y+G[1]-R1],H0=[0,0];_1&&(H0=ql,ql=[0,0]);let Tl=y1.metrics.isDoubleResolution?2:1,f0=(y1.metrics.left-Y1)*y1.scale-Cl+ql[0],N0=(-y1.metrics.top-Y1)*y1.scale+ql[1],Il=f0+n1.w/Tl*y1.scale/K1,d2=N0+n1.h/Tl*y1.scale/K1,Z0=new H(f0,N0),b0=new H(Il,N0),A2=new H(f0,d2),I0=new H(Il,d2);if(_1){let n0=new H(-Cl,Cl- -17),Gl=-Math.PI/2,a0=12-Cl,Zl=new H(22-a0,-(y1.imageName?a0:0)),A0=new H(...H0);Z0._rotateAround(Gl,n0)._add(Zl)._add(A0),b0._rotateAround(Gl,n0)._add(Zl)._add(A0),A2._rotateAround(Gl,n0)._add(Zl)._add(A0),I0._rotateAround(Gl,n0)._add(Zl)._add(A0)}if(s1){let n0=Math.sin(s1),Gl=Math.cos(s1),a0=[Gl,-n0,n0,Gl];Z0._matMult(a0),b0._matMult(a0),A2._matMult(a0),I0._matMult(a0)}let V2=new H(0,0),hu=new H(0,0);w1.push({tl:Z0,tr:b0,bl:A2,br:I0,tex:n1,writingMode:Y.writingMode,glyphOffset:sl,sectionIndex:y1.sectionIndex,isSDF:U1,pixelOffsetTL:V2,pixelOffsetBR:hu,minFontScaleX:0,minFontScaleY:0})}return w1}(0,p,w,a,h,y,d,l.allowVerticalPlacement),D=l.textSizeData,I=null;D.kind==="source"?(I=[t5*a.layout.get("text-size").evaluate(y,{})],I[0]>i3&&w0(`${l.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)):D.kind==="composite"&&(I=[t5*C.compositeTextSizes[0].evaluate(y,{},B),t5*C.compositeTextSizes[1].evaluate(y,{},B)],(I[0]>i3||I[1]>i3)&&w0(`${l.layerIds[0]}: Value for "text-size" is >= 255. Reduce your "text-size".`)),l.addSymbols(l.text,M,I,w,h,y,k,c,A.lineStartIndex,A.lineLength,q,B);for(let O of W)n[O]=l.text.placedSymbolArray.length-1;return 4*M.length}function xh(l){for(let c in l)return l[c];return null}function IE(l,c,p,d){let a=l.compareText;if(c in a){let h=a[c];for(let y=h.length-1;y>=0;y--)if(d.dist(h[y])

this.process()),this.subscription=N4(this.target,"message",(p)=>this.receive(p),!1),this.globalScope=W0(self)?l:window}registerMessageHandler(l,c){this.messageHandlers[l]=c}unregisterMessageHandler(l){delete this.messageHandlers[l]}sendAsync(l,c){return new Promise((p,d)=>{let a=Math.round(1000000000000000000*Math.random()).toString(36).substring(0,10),h=c?N4(c.signal,"abort",()=>{h==null||h.unsubscribe(),delete this.resolveRejects[a];let A={id:a,type:"",origin:location.origin,targetMapId:l.targetMapId,sourceMapId:this.mapId};this.target.postMessage(A)},pE):null;this.resolveRejects[a]={resolve:(A)=>{h==null||h.unsubscribe(),p(A)},reject:(A)=>{h==null||h.unsubscribe(),d(A)}};let y=[],w=Object.assign(Object.assign({},l),{id:a,sourceMapId:this.mapId,origin:location.origin,data:ru(l.data,y)});this.target.postMessage(w,{transfer:y})})}receive(l){let c=l.data,p=c.id,d=["file://","resource://android","null"],a=[c.origin,location.origin],h=c.origin===location.origin,y=a.some((w)=>d.includes(w));if((h||y)&&(!c.targetMapId||this.mapId===c.targetMapId)){if(c.type===""){delete this.tasks[p];let w=this.abortControllers[p];return delete this.abortControllers[p],void(w&&w.abort())}if(W0(self)||c.mustQueue)return this.tasks[p]=c,this.taskQueue.push(p),void this.invoker.trigger();this.processTask(p,c)}}process(){if(this.taskQueue.length===0)return;let l=this.taskQueue.shift(),c=this.tasks[l];delete this.tasks[l],this.taskQueue.length>0&&this.invoker.trigger(),c&&this.processTask(l,c)}processTask(l,c){return g(this,void 0,void 0,function*(){if(c.type===""){let a=this.resolveRejects[l];if(delete this.resolveRejects[l],!a)return;return void(c.error?a.reject(l0(mc(c.error))):a.resolve(mc(c.data)))}if(!this.messageHandlers[c.type])return void this.completeTask(l,Error(`Could not find a registered handler for ${c.type}, map ID: ${this.mapId}, available handlers: ${Object.keys(this.messageHandlers).join(", ")}`));let p=mc(c.data),d=new AbortController;this.abortControllers[l]=d;try{let a=yield this.messageHandlers[c.type](c.sourceMapId,p,d);this.completeTask(l,null,a)}catch(a){this.completeTask(l,l0(a))}})}completeTask(l,c,p){let d=[];delete this.abortControllers[l];let a={id:l,type:"",sourceMapId:this.mapId,origin:location.origin,error:c?ru(c):null,data:ru(p,d)};this.target.postMessage(a,{transfer:d})}remove(){this.invoker.remove(),this.subscription.unsubscribe()}},V.O=function(){var l=new v1(16);return v1!=Float32Array&&(l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[6]=0,l[7]=0,l[8]=0,l[9]=0,l[11]=0,l[12]=0,l[13]=0,l[14]=0),l[0]=1,l[5]=1,l[10]=1,l[15]=1,l},V.P=H,V.Q=function(l,c,p){var d,a,h,y,w,A,k,W,n,q,C,B,M=p[0],D=p[1],I=p[2];return c===l?(l[12]=c[0]*M+c[4]*D+c[8]*I+c[12],l[13]=c[1]*M+c[5]*D+c[9]*I+c[13],l[14]=c[2]*M+c[6]*D+c[10]*I+c[14],l[15]=c[3]*M+c[7]*D+c[11]*I+c[15]):(a=c[1],h=c[2],y=c[3],w=c[4],A=c[5],k=c[6],W=c[7],n=c[8],q=c[9],C=c[10],B=c[11],l[0]=d=c[0],l[1]=a,l[2]=h,l[3]=y,l[4]=w,l[5]=A,l[6]=k,l[7]=W,l[8]=n,l[9]=q,l[10]=C,l[11]=B,l[12]=d*M+w*D+n*I+c[12],l[13]=a*M+A*D+q*I+c[13],l[14]=h*M+k*D+C*I+c[14],l[15]=y*M+W*D+B*I+c[15]),l},V.R=n2,V.S=function(l,c,p){var d=p[0],a=p[1],h=p[2];return l[0]=c[0]*d,l[1]=c[1]*d,l[2]=c[2]*d,l[3]=c[3]*d,l[4]=c[4]*a,l[5]=c[5]*a,l[6]=c[6]*a,l[7]=c[7]*a,l[8]=c[8]*h,l[9]=c[9]*h,l[10]=c[10]*h,l[11]=c[11]*h,l[12]=c[12],l[13]=c[13],l[14]=c[14],l[15]=c[15],l},V.T=d9,V.U=function(l,c,p){var d=c[0],a=c[1],h=c[2],y=c[3],w=c[4],A=c[5],k=c[6],W=c[7],n=c[8],q=c[9],C=c[10],B=c[11],M=c[12],D=c[13],I=c[14],O=c[15],Y=p[0],G=p[1],j=p[2],Z=p[3];return l[0]=Y*d+G*w+j*n+Z*M,l[1]=Y*a+G*A+j*q+Z*D,l[2]=Y*h+G*k+j*C+Z*I,l[3]=Y*y+G*W+j*B+Z*O,l[4]=(Y=p[4])*d+(G=p[5])*w+(j=p[6])*n+(Z=p[7])*M,l[5]=Y*a+G*A+j*q+Z*D,l[6]=Y*h+G*k+j*C+Z*I,l[7]=Y*y+G*W+j*B+Z*O,l[8]=(Y=p[8])*d+(G=p[9])*w+(j=p[10])*n+(Z=p[11])*M,l[9]=Y*a+G*A+j*q+Z*D,l[10]=Y*h+G*k+j*C+Z*I,l[11]=Y*y+G*W+j*B+Z*O,l[12]=(Y=p[12])*d+(G=p[13])*w+(j=p[14])*n+(Z=p[15])*M,l[13]=Y*a+G*A+j*q+Z*D,l[14]=Y*h+G*k+j*C+Z*I,l[15]=Y*y+G*W+j*B+Z*O,l},V.V=function(l,c){let p={};for(let d of c)d in l&&(p[d]=l[d]);return p},V.W=e3,V.X=Tc,V.Y=Uo,V.Z=Ko,V._=g,V.a=s3,V.a$=function(l){var c=new v1(3);return c[0]=l[0],c[1]=l[1],c[2]=l[2],c},V.a0=X1,V.a1=J1,V.a2=Y6,V.a3=K2,V.a4=Ro,V.a5=x9,V.a6=ll,V.a7=g8,V.a8=Wc,V.a9=25,V.aA=function(l){var c=l[0],p=l[1];return Math.sqrt(c*c+p*p)},V.aB=function(l){return l[0]=0,l[1]=0,l},V.aC=function(l,c,p){return l[0]=c[0]*p,l[1]=c[1]*p,l},V.aD=_d,V.aE=ul,V.aF=function(l,c,p,d){let a=c.y-l.y,h=c.x-l.x,y=d.y-p.y,w=d.x-p.x,A=y*h-w*a;if(A===0)return null;let k=(w*(l.y-p.y)-y*(l.x-p.x))/A;return new H(l.x+k*h,l.y+k*a)},V.aG=oh,V.aH=da,V.aI=function(l){let c=1/0,p=1/0,d=-1/0,a=-1/0;for(let h of l)c=Math.min(c,h.x),p=Math.min(p,h.y),d=Math.max(d,h.x),a=Math.max(a,h.y);return[c,p,d,a]},V.aJ=k0,V.aK=O0,V.aL=function(l,c,p,d,a=!1){if(!p[0]&&!p[1])return[0,0];let h=a?d==="map"?-l.bearingInRadians:0:d==="viewport"?l.bearingInRadians:0;if(h){let y=Math.sin(h),w=Math.cos(h);p=[p[0]*w-p[1]*y,p[0]*y+p[1]*w]}return[a?p[0]:O0(c,p[0],l.zoom),a?p[1]:O0(c,p[1],l.zoom)]},V.aN=$d,V.aO=Bm,V.aP=bd,V.aQ=(l)=>l.type==="symbol",V.aR=h9,V.aS=Pl,V.aT=t7,V.aU=t,V.aV=I1,V.aW=Q1,V.aX=Xu,V.aY=Ho,V.aZ=r1,V.a_=l1,V.aa=N9,V.ab=(l)=>{let c=window.document.createElement("video");return c.muted=!0,new Promise((p)=>{c.onloadstart=()=>{p(c)};for(let d of l){let a=window.document.createElement("source");G2(d)||(c.crossOrigin="Anonymous"),a.src=d,c.appendChild(a)}})},V.ac=M1,V.ad=function(){return y3++},V.ae=s,V.af=Vc,V.ag=h8,V.ah=lc,V.ai=y5,V.aj=cm,V.ak=function(l){let c={};if(l.replace(/(?:^|(?:\s*\,\s*))([^\x00-\x20\(\)@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)(?:\=(?:([^\x00-\x20\(\)@\,;\:\\"\/\[\]\?\=\{\}\x7F]+)|(?:\"((?:[^"\\]|\\.)*)\")))?/g,(p,d,a,h)=>{let y=a||h;return c[d]=!y||y.toLowerCase(),""}),c["max-age"]){let p=parseInt(c["max-age"],10);isNaN(p)?delete c["max-age"]:c["max-age"]=p}return c},V.al=G0,V.am=85.051129,V.an=Wu,V.ao=function(l){return Math.pow(2,l)},V.ap=o1,V.aq=Do,V.ar=function(l){return Math.log(l)/Math.LN2},V.as=function(l){var c=l[0],p=l[1];return c*c+p*p},V.at=function(l){if(!l.length)return new Set;let c=Math.max(...l.map((A)=>A.canonical.z)),p=1/0,d=-1/0,a=1/0,h=-1/0,y=[];for(let A of l){let{x:k,y:W,z:n}=A.canonical,q=Math.pow(2,c-n),C=k*q,B=W*q;y.push({id:A,x:C,y:B}),C

d&&(d=C),Bh&&(h=B)}let w=new Set;for(let A of y)A.x!==p&&A.x!==d&&A.y!==a&&A.y!==h||w.add(A.id);return w},V.au=function(l,c){let p=Math.abs(2*l.wrap)-+(l.wrap<0),d=Math.abs(2*c.wrap)-+(c.wrap{this.remove(l,a)},p)),this.data[d].push(a),this.order.push(d),this.order.length>this.max){let h=this._getAndRemoveByKey(this.order[0]);h&&this.onRemove(h)}return this}has(l){return l.wrapped().key in this.data}getAndRemove(l){return this.has(l)?this._getAndRemoveByKey(l.wrapped().key):null}_getAndRemoveByKey(l){let c=this.data[l].shift();return c.timeout&&clearTimeout(c.timeout),this.data[l].length===0&&delete this.data[l],this.order.splice(this.order.indexOf(l),1),c.value}getByKey(l){let c=this.data[l];return c?c[0].value:null}get(l){return this.has(l)?this.data[l.wrapped().key][0].value:null}remove(l,c){if(!this.has(l))return this;let p=l.wrapped().key,d=c===void 0?0:this.data[p].indexOf(c),a=this.data[p][d];return this.data[p].splice(d,1),a.timeout&&clearTimeout(a.timeout),this.data[p].length===0&&delete this.data[p],this.onRemove(a.value),this.order.splice(this.order.indexOf(p),1),this}setMaxSize(l){for(this.max=l;this.order.length>this.max;){let c=this._getAndRemoveByKey(this.order[0]);c&&this.onRemove(c)}return this}filter(l){let c=[];for(let p in this.data)for(let d of this.data[p])l(d.value)||c.push(d);for(let p of c)this.remove(p.value.tileID,p)}},V.aw=function(l,c){let p=0,d=0;if(l.kind==="constant")d=l.layoutSize;else if(l.kind!=="source"){let{interpolationType:a,minZoom:h,maxZoom:y}=l,w=a?G0(c0.interpolationFactor(a,c,h,y),0,1):0;l.kind==="camera"?d=s2.number(l.minSize,l.maxSize,w):p=w}return{uSizeT:p,uSize:d}},V.ay=function(l,{uSize:c,uSizeT:p},{lowerSize:d,upperSize:a}){return l.kind==="source"?d/t5:l.kind==="composite"?s2.number(d/t5,a/t5,p):c},V.az=ol,V.b=H6,V.b$=M2,V.b0=function(l,c,p){return l[0]=c[0]-p[0],l[1]=c[1]-p[1],l[2]=c[2]-p[2],l},V.b1=function(l,c){var p=c[0],d=c[1],a=c[2],h=p*p+d*d+a*a;return h>0&&(h=1/Math.sqrt(h)),l[0]=c[0]*h,l[1]=c[1]*h,l[2]=c[2]*h,l},V.b2=F1,V.b3=function(l,c){return l[0]*c[0]+l[1]*c[1]+l[2]*c[2]},V.b4=function(l,c,p){return l[0]=c[0]*p[0],l[1]=c[1]*p[1],l[2]=c[2]*p[2],l[3]=c[3]*p[3],l},V.b5=Z1,V.b6=function(l,c,p){let d=c[0]*p[0]+c[1]*p[1]+c[2]*p[2];return d===0?null:(-(l[0]*p[0]+l[1]*p[1]+l[2]*p[2])-p[3])/d},V.b7=t1,V.b8=function(l,c,p){return l[0]=c[0]*p,l[1]=c[1]*p,l[2]=c[2]*p,l[3]=c[3]*p,l},V.b9=function(l,c){return l[0]*c[0]+l[1]*c[1]+l[2]*c[2]+l[3]},V.bA=fl,V.bB=function(l,c,p){var d=p[0],a=p[1],h=p[2],y=p[3],w=c[0],A=c[1],k=c[2],W=a*k-h*A,n=h*w-d*k,q=d*A-a*w;return l[0]=w+y*(W+=W)+a*(q+=q)-h*(n+=n),l[1]=A+y*n+h*W-d*q,l[2]=k+y*q+d*n-a*W,l},V.bC=function(l,c,p){let d=(a=[l[0],l[1],l[2],c[0],c[1],c[2],p[0],p[1],p[2]])[0]*((W=a[8])*(y=a[4])-(w=a[5])*(k=a[7]))+a[1]*(-W*(h=a[3])+w*(A=a[6]))+a[2]*(k*h-y*A);var a,h,y,w,A,k,W;if(d===0)return null;let n=F1([],[c[0],c[1],c[2]],[p[0],p[1],p[2]]),q=F1([],[p[0],p[1],p[2]],[l[0],l[1],l[2]]),C=F1([],[l[0],l[1],l[2]],[c[0],c[1],c[2]]),B=r1([],n,-l[3]);return l1(B,B,r1([],q,-c[3])),l1(B,B,r1([],C,-p[3])),r1(B,B,1/d),B},V.bD=td,V.bE=function(){return new Float64Array(4)},V.bF=function(l,c,p,d){var a=[],h=[];return a[0]=c[0]-p[0],a[1]=c[1]-p[1],a[2]=c[2]-p[2],h[0]=a[0]*Math.cos(d)-a[1]*Math.sin(d),h[1]=a[0]*Math.sin(d)+a[1]*Math.cos(d),h[2]=a[2],l[0]=h[0]+p[0],l[1]=h[1]+p[1],l[2]=h[2]+p[2],l},V.bG=function(l,c,p,d){var a=[],h=[];return a[0]=c[0]-p[0],a[1]=c[1]-p[1],a[2]=c[2]-p[2],h[0]=a[0],h[1]=a[1]*Math.cos(d)-a[2]*Math.sin(d),h[2]=a[1]*Math.sin(d)+a[2]*Math.cos(d),l[0]=h[0]+p[0],l[1]=h[1]+p[1],l[2]=h[2]+p[2],l},V.bH=function(l,c,p,d){var a=[],h=[];return a[0]=c[0]-p[0],a[1]=c[1]-p[1],a[2]=c[2]-p[2],h[0]=a[2]*Math.sin(d)+a[0]*Math.cos(d),h[1]=a[1],h[2]=a[2]*Math.cos(d)-a[0]*Math.sin(d),l[0]=h[0]+p[0],l[1]=h[1]+p[1],l[2]=h[2]+p[2],l},V.bI=function(l,c,p){var d=Math.sin(p),a=Math.cos(p),h=c[0],y=c[1],w=c[2],A=c[3],k=c[8],W=c[9],n=c[10],q=c[11];return c!==l&&(l[4]=c[4],l[5]=c[5],l[6]=c[6],l[7]=c[7],l[12]=c[12],l[13]=c[13],l[14]=c[14],l[15]=c[15]),l[0]=h*a-k*d,l[1]=y*a-W*d,l[2]=w*a-n*d,l[3]=A*a-q*d,l[8]=h*d+k*a,l[9]=y*d+W*a,l[10]=w*d+n*a,l[11]=A*d+q*a,l},V.bJ=function(l,c){let p=O2(l,360),d=O2(c,360),a=d-p,h=d>p?a-360:a+360;return Math.abs(a)0?y:-y},V.bM=function(l,c){let p=O2(l,2*Math.PI),d=O2(c,2*Math.PI);return Math.min(Math.abs(p-d),Math.abs(p-d+2*Math.PI),Math.abs(p-d-2*Math.PI))},V.bN=function(){let l={},c=E1.$version;for(let p in E1.$root){let d=E1.$root[p];if(d.required){let a=null;a=p==="version"?c:d.type==="array"?[]:{},a!=null&&(l[p]=a)}}return l},V.bO=_c,V.bP=Vr,V.bQ=function l(c,p){if(Array.isArray(c)){if(!Array.isArray(p)||c.length!==p.length)return!1;for(let d=0;d<c.length;d++)if(!l(c[d],p[d]))return!1;return!0}if(typeof c=="object"&&c!==null&&p!==null){if(typeof p!="object")return!1;if(Object.keys(c).length!==Object.keys(p).length)return!1;for(let d in c)if(!l(c[d],p[d]))return!1;return!0}return c===p},V.bR=$c,V.bS=function(l){l=l.slice();let c=Object.create(null);for(let p=0;p<l.length;p++)c[l[p].id]=l[p];for(let p=0;pl.type==="raster",V.bV=gl,V.bW=function(l,c){if(!l)return[{command:"setStyle",args:[c]}];let p=[];try{if(!nl(l.version,c.version))return[{command:"setStyle",args:[c]}];nl(l.center,c.center)||p.push({command:"setCenter",args:[c.center]}),nl(l.state,c.state)||p.push({command:"setGlobalState",args:[c.state]}),nl(l.centerAltitude,c.centerAltitude)||p.push({command:"setCenterAltitude",args:[c.centerAltitude]}),nl(l.zoom,c.zoom)||p.push({command:"setZoom",args:[c.zoom]}),nl(l.bearing,c.bearing)||p.push({command:"setBearing",args:[c.bearing]}),nl(l.pitch,c.pitch)||p.push({command:"setPitch",args:[c.pitch]}),nl(l.roll,c.roll)||p.push({command:"setRoll",args:[c.roll]}),nl(l.sprite,c.sprite)||p.push({command:"setSprite",args:[c.sprite]}),nl(l.glyphs,c.glyphs)||p.push({command:"setGlyphs",args:[c.glyphs]}),nl(l.transition,c.transition)||p.push({command:"setTransition",args:[c.transition]}),nl(l.light,c.light)||p.push({command:"setLight",args:[c.light]}),nl(l.terrain,c.terrain)||p.push({command:"setTerrain",args:[c.terrain]}),nl(l.sky,c.sky)||p.push({command:"setSky",args:[c.sky]}),nl(l.projection,c.projection)||p.push({command:"setProjection",args:[c.projection]});let d={},a=[];(function(y,w,A,k){let W;for(W in w=w||{},y=y||{})Object.prototype.hasOwnProperty.call(y,W)&&(Object.prototype.hasOwnProperty.call(w,W)||yp(W,A,k));for(W in w)Object.prototype.hasOwnProperty.call(w,W)&&(Object.prototype.hasOwnProperty.call(y,W)?nl(y[W],w[W])||(y[W].type==="geojson"&&w[W].type==="geojson"&&fd(y,w,W)?t0(A,{command:"setGeoJSONSourceData",args:[W,w[W].data]}):wp(W,w,A,k)):F5(W,w,A))})(l.sources,c.sources,a,d);let h=[];l.layers&&l.layers.forEach((y)=>{"source"in y&&d[y.source]?p.push({command:"removeLayer",args:[y.id]}):h.push(y)}),p=p.concat(a),function(y,w,A){w=w||[];let k=(y=y||[]).map(j6),W=w.map(j6),n=y.reduce(sp,{}),q=w.reduce(sp,{}),C=k.slice(),B=Object.create(null),M,D,I,O,Y;for(let G=0,j=0;G<k.length;G++)M=k[G],Object.prototype.hasOwnProperty.call(q,M)?j++:(t0(A,{command:"removeLayer",args:[M]}),C.splice(C.indexOf(M,j),1));for(let G=0,j=0;G<W.length;G++)M=W[W.length-1-G],C[C.length-1-G]!==M&&(Object.prototype.hasOwnProperty.call(n,M)?(t0(A,{command:"removeLayer",args:[M]}),C.splice(C.lastIndexOf(M,C.length-j),1)):j++,O=C[C.length-G],t0(A,{command:"addLayer",args:[q[M],O]}),C.splice(C.length-G,0,M),B[M]=!0);for(let G=0;G<W.length;G++)if(M=W[G],D=n[M],I=q[M],!B[M]&&!nl(D,I))if(nl(D.source,I.source)&&nl(D["source-layer"],I["source-layer"])&&nl(D.type,I.type)){for(Y in ic(D.layout,I.layout,A,M,null,"setLayoutProperty"),ic(D.paint,I.paint,A,M,null,"setPaintProperty"),nl(D.filter,I.filter)||t0(A,{command:"setFilter",args:[M,I.filter]}),nl(D.minzoom,I.minzoom)&&nl(D.maxzoom,I.maxzoom)||t0(A,{command:"setLayerZoomRange",args:[M,I.minzoom,I.maxzoom]}),D)Object.prototype.hasOwnProperty.call(D,Y)&&Y!=="layout"&&Y!=="paint"&&Y!=="filter"&&Y!=="metadata"&&Y!=="minzoom"&&Y!=="maxzoom"&&(Y.indexOf("paint.")===0?ic(D[Y],I[Y],A,M,Y.slice(6),"setPaintProperty"):nl(D[Y],I[Y])||t0(A,{command:"setLayerProperty",args:[M,Y,I[Y]]}));for(Y in I)Object.prototype.hasOwnProperty.call(I,Y)&&!Object.prototype.hasOwnProperty.call(D,Y)&&Y!=="layout"&&Y!=="paint"&&Y!=="filter"&&Y!=="metadata"&&Y!=="minzoom"&&Y!=="maxzoom"&&(Y.indexOf("paint.")===0?ic(D[Y],I[Y],A,M,Y.slice(6),"setPaintProperty"):nl(D[Y],I[Y])||t0(A,{command:"setLayerProperty",args:[M,Y,I[Y]]}))}else t0(A,{command:"removeLayer",args:[M]}),O=C[C.lastIndexOf(M)+1],t0(A,{command:"addLayer",args:[I,O]})}(h,c.layers,p)}catch(d){console.warn("Unable to compute style diff:",d),p=[{command:"setStyle",args:[c]}]}return p},V.bX=function(l){let c=[],p=l.id;return p===void 0&&c.push({message:`layers.${p}: missing required property "id"`}),l.render===void 0&&c.push({message:`layers.${p}: missing required method "render"`}),l.renderingMode&&l.renderingMode!=="2d"&&l.renderingMode!=="3d"&&c.push({message:`layers.${p}: property "renderingMode" must be either "2d" or "3d"`}),c},V.bY=ju,V.bZ=Vl,V.b_=class extends J0{constructor(l,c){super(l,c),this.current=0}set(l){this.current!==l&&(this.current=l,this.gl.uniform1i(this.location,l))}},V.ba=lm,V.bb=br,V.bc=function(l,c,p,d,a){var h=1/Math.tan(c/2);if(l[0]=h/p,l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[5]=h,l[6]=0,l[7]=0,l[8]=0,l[9]=0,l[11]=-1,l[12]=0,l[13]=0,l[15]=0,a!=null&&a!==1/0){var y=1/(d-a);l[10]=(a+d)*y,l[14]=2*a*d*y}else l[10]=-1,l[14]=-2*d;return l},V.bd=function(l){var c=new v1(16);return c[0]=l[0],c[1]=l[1],c[2]=l[2],c[3]=l[3],c[4]=l[4],c[5]=l[5],c[6]=l[6],c[7]=l[7],c[8]=l[8],c[9]=l[9],c[10]=l[10],c[11]=l[11],c[12]=l[12],c[13]=l[13],c[14]=l[14],c[15]=l[15],c},V.be=function(l,c,p){var d=Math.sin(p),a=Math.cos(p),h=c[0],y=c[1],w=c[2],A=c[3],k=c[4],W=c[5],n=c[6],q=c[7];return c!==l&&(l[8]=c[8],l[9]=c[9],l[10]=c[10],l[11]=c[11],l[12]=c[12],l[13]=c[13],l[14]=c[14],l[15]=c[15]),l[0]=h*a+k*d,l[1]=y*a+W*d,l[2]=w*a+n*d,l[3]=A*a+q*d,l[4]=k*a-h*d,l[5]=W*a-y*d,l[6]=n*a-w*d,l[7]=q*a-A*d,l},V.bf=function(l,c,p){var d=Math.sin(p),a=Math.cos(p),h=c[4],y=c[5],w=c[6],A=c[7],k=c[8],W=c[9],n=c[10],q=c[11];return c!==l&&(l[0]=c[0],l[1]=c[1],l[2]=c[2],l[3]=c[3],l[12]=c[12],l[13]=c[13],l[14]=c[14],l[15]=c[15]),l[4]=h*a+k*d,l[5]=y*a+W*d,l[6]=w*a+n*d,l[7]=A*a+q*d,l[8]=k*a-h*d,l[9]=W*a-y*d,l[10]=n*a-w*d,l[11]=q*a-A*d,l},V.bg=function(l,c){var p=c[0],d=c[1],a=c[2],h=c[3],y=c[4],w=c[5],A=c[6],k=c[7],W=c[8],n=c[9],q=c[10],C=c[11],B=c[12],M=c[13],D=c[14],I=c[15],O=p*w-d*y,Y=p*A-a*y,G=p*k-h*y,j=d*A-a*w,Z=d*k-h*w,d1=a*k-h*A,m1=W*M-n*B,a1=W*D-q*B,s1=W*I-C*B,w1=n*D-q*M,k1=n*I-C*M,y1=q*I-C*D,n1=O*y1-Y*k1+G*w1+j*s1-Z*a1+d1*m1;return n1?(l[0]=(w*y1-A*k1+k*w1)*(n1=1/n1),l[1]=(a*k1-d*y1-h*w1)*n1,l[2]=(M*d1-D*Z+I*j)*n1,l[3]=(q*Z-n*d1-C*j)*n1,l[4]=(A*s1-y*y1-k*a1)*n1,l[5]=(p*y1-a*s1+h*a1)*n1,l[6]=(D*G-B*d1-I*Y)*n1,l[7]=(W*d1-q*G+C*Y)*n1,l[8]=(y*k1-w*s1+k*m1)*n1,l[9]=(d*s1-p*k1-h*m1)*n1,l[10]=(B*Z-M*G+I*O)*n1,l[11]=(n*G-W*Z-C*O)*n1,l[12]=(w*a1-y*w1-A*m1)*n1,l[13]=(p*w1-d*a1+a*m1)*n1,l[14]=(M*Y-B*j-D*O)*n1,l[15]=(W*j-n*Y+q*O)*n1,l):null},V.bh=function(){let l=new Float32Array(16);return o1(l),l},V.bi=function(){let l=new Float64Array(16);return o1(l),l},V.bj=function(){return new Float64Array(16)},V.bk=function(l,c,p){let d=new Float64Array(4);return fl(d,l,c-90,p),d},V.bl=function(l,c,p,d){var a,h,y,w,A,k=c[0],W=c[1],n=c[2],q=c[3],C=p[0],B=p[1],M=p[2],D=p[3];return(h=k*C+W*B+n*M+q*D)A1?(a=Math.acos(h),y=Math.sin(a),w=Math.sin((1-d)*a)/y,A=Math.sin(d*a)/y):(w=1-d,A=d),l[0]=w*k+A*C,l[1]=w*W+A*B,l[2]=w*n+A*M,l[3]=w*q+A*D,l},V.bm=function(l){let c=new Float64Array(9);var p,d,a,h,y,w,A,k,W,n,q,C,B,M,D,I,O,Y;n=(a=(d=l)[0])*(A=a+a),q=(h=d[1])*A,B=(y=d[2])*A,M=y*(k=h+h),I=(w=d[3])*A,O=w*k,Y=w*(W=y+y),(p=c)[0]=1-(C=h*k)-(D=y*W),p[3]=q-Y,p[6]=B+O,p[1]=q+Y,p[4]=1-n-D,p[7]=M-I,p[2]=B-O,p[5]=M+I,p[8]=1-n-C;let G=Xu(-Math.asin(G0(c[2],-1,1))),j,Z;return Math.hypot(c[5],c[8])<0.001?(j=0,Z=-Xu(Math.atan2(c[3],c[4]))):(j=Xu(c[5]===0&&c[8]===0?0:Math.atan2(c[5],c[8])),Z=Xu(c[1]===0&&c[0]===0?0:Math.atan2(c[1],c[0]))),{roll:j,pitch:G+90,bearing:Z}},V.bn=function(l,c){return l.roll==c.roll&&l.pitch==c.pitch&&l.bearing==c.bearing},V.bo=dl,V.bp=gu,V.bq=Gr,V.br=l8,V.bs=nc,V.bt=Au,V.bu=Qu,V.bv=M0,V.bw=function(l,c,p,d,a){return Au(d,a,G0((l-c)/(p-c),0,1))},V.bx=function(l,c,p,d){return l[0]=c[0]+p[0]*d,l[1]=c[1]+p[1]*d,l[2]=c[2]+p[2]*d,l},V.by=O2,V.bz=function(){return new Float64Array(3)},V.c=Tu,V.c$=R3,V.c0=class extends J0{constructor(l,c){super(l,c),this.current=v5}set(l){if(l[12]!==this.current[12]||l[0]!==this.current[0])return this.current=l,void this.gl.uniformMatrix4fv(this.location,!1,l);for(let c=1;c<16;c++)if(l[c]!==this.current[c]){this.current=l,this.gl.uniformMatrix4fv(this.location,!1,l);break}}},V.c1=g5,V.c2=class extends J0{constructor(l,c){super(l,c),this.current=[0,0,0]}set(l){l[0]===this.current[0]&&l[1]===this.current[1]&&l[2]===this.current[2]||(this.current=l,this.gl.uniform3f(this.location,l[0],l[1],l[2]))}},V.c3=class extends J0{constructor(l,c){super(l,c),this.current=[0,0]}set(l){l[0]===this.current[0]&&l[1]===this.current[1]||(this.current=l,this.gl.uniform2f(this.location,l[0],l[1]))}},V.c4=f1,V.c5=function(l,c){var p=Math.sin(c),d=Math.cos(c);return l[0]=d,l[1]=p,l[2]=0,l[3]=-p,l[4]=d,l[5]=0,l[6]=0,l[7]=0,l[8]=1,l},V.c6=function(l,c,p){var d=c[0],a=c[1],h=c[2];return l[0]=d*p[0]+a*p[3]+h*p[6],l[1]=d*p[1]+a*p[4]+h*p[7],l[2]=d*p[2]+a*p[5]+h*p[8],l},V.c7=function(l,c,p,d,a,h,y){var w=1/(c-p),A=1/(d-a),k=1/(h-y);return l[0]=-2*w,l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[5]=-2*A,l[6]=0,l[7]=0,l[8]=0,l[9]=0,l[10]=2*k,l[11]=0,l[12]=(c+p)*w,l[13]=(a+d)*A,l[14]=(y+h)*k,l[15]=1,l},V.c8=class extends J0{constructor(l,c){super(l,c),this.current=[]}set(l){if(l!=this.current){this.current=l;let c=new Float32Array(4*l.length);for(let p=0;p<l.length;p++)c[4*p]=l[p].r,c[4*p+1]=l[p].g,c[4*p+2]=l[p].b,c[4*p+3]=l[p].a;this.gl.uniform4fv(this.location,c)}}},V.c9=class extends J0{constructor(l,c){super(l,c),this.current=[]}set(l){if(l!=this.current){this.current=l;let c=new Float32Array(l);this.gl.uniform1fv(this.location,c)}}},V.cA=function(l,c){return Zc[c]&&"touches"in l},V.cB=function(l){return Zc[l]||z6[l]},V.cC=function(l,c,p){var d=c[0],a=c[1];return l[0]=p[0]*d+p[4]*a+p[12],l[1]=p[1]*d+p[5]*a+p[13],l},V.cD=function(l,c){let{x:p,y:d}=g8.fromLngLat(c);return!(l25||d=1||p=1)},V.cE=function(l,c){return l[0]=c[0],l[1]=0,l[2]=0,l[3]=0,l[4]=0,l[5]=c[1],l[6]=0,l[7]=0,l[8]=0,l[9]=0,l[10]=c[2],l[11]=0,l[12]=0,l[13]=0,l[14]=0,l[15]=1,l},V.cF=class extends ac{},V.cG=Zu,V.cH=function(l,c){Tu.REGISTERED_PROTOCOLS[l]=c},V.cI=function(l){delete Tu.REGISTERED_PROTOCOLS[l]},V.cJ=function(l,c){let p={};for(let a=0;aY1*k0)}let w1=A?"center":a.get("text-justify").evaluate(n,{},l.canonical),k1=a.get("symbol-placement")==="point"?a.get("text-max-width").evaluate(n,{},l.canonical)*k0:1/0,y1=()=>{l.bucket.allowVerticalPlacement&&Wr(Z)&&(D.vertical=A9(I,l.glyphMap,l.glyphPositions,l.imagePositions,q,k1,w,a1,"left",m1,Y,V.ax.vertical,!0,B,C))};if(!A&&s1){let n1=new Set;if(w1==="auto")for(let U1=0;U1LE(w,A,h),d.layers[y])}(l,p,c),p.finish()},V.cT=function(l,c,p,d,a,h){let y=hh(l,c,p,a,0);return y=hh(y,c,d,h,1),y},V.cU=class{constructor(l){this.maxEntries=l,this.map=new Map}get(l){let c=this.map.get(l);return c!==void 0&&(this.map.delete(l),this.map.set(l,c)),c}set(l,c){if(this.map.has(l))this.map.delete(l);else if(this.map.size>=this.maxEntries){let p=this.map.keys().next().value;this.map.delete(p)}this.map.set(l,c)}clear(){this.map.clear()}},V.cV=Pd,V.cW=m8,V.cX=Fm,V.cY=function(l,c,p,d,a){return g(this,void 0,void 0,function*(){if(J1())try{return yield Y6(l,c,p,d,a)}catch(h){}return function(h,y,w,A,k){let{width:W,height:n}=h;Ju&&w3||(Ju=new OffscreenCanvas(W,n),w3=Ju.getContext("2d",{willReadFrequently:!0})),Ju.width=W,Ju.height=n,w3.drawImage(h,0,0,W,n);let q=w3.getImageData(y,w,A,k);return w3.clearRect(0,0,W,n),q.data}(l,c,p,d,a)})},V.cZ=xd,V.c_=class{constructor(l,c){this.layers={[h8]:this},this.name=h8,this.version=c?c.version:1,this.extent=c?c.extent:4096,this.length=l.length,this.features=l}feature(l){return new gh(this.features[l],this.extent)}},V.ca=class extends d5{},V.cb=Bk,V.cc=class extends b3{},V.cd=Cd,V.ce=function(l){return l<=1?1:Math.pow(2,Math.ceil(Math.log(l)/Math.LN2))},V.cf=ka,V.cg=function(l,c,p){var d=c[0],a=c[1],h=c[2],y=p[3]*d+p[7]*a+p[11]*h+p[15];return l[0]=(p[0]*d+p[4]*a+p[8]*h+p[12])/(y=y||1),l[1]=(p[1]*d+p[5]*a+p[9]*h+p[13])/y,l[2]=(p[2]*d+p[6]*a+p[10]*h+p[14])/y,l},V.ch=class extends oc{},V.ci=class extends r{},V.cj=function(l,c){return l[0]===c[0]&&l[1]===c[1]&&l[2]===c[2]&&l[3]===c[3]&&l[4]===c[4]&&l[5]===c[5]&&l[6]===c[6]&&l[7]===c[7]&&l[8]===c[8]&&l[9]===c[9]&&l[10]===c[10]&&l[11]===c[11]&&l[12]===c[12]&&l[13]===c[13]&&l[14]===c[14]&&l[15]===c[15]},V.ck=function(l,c){var p=l[0],d=l[1],a=l[2],h=l[3],y=l[4],w=l[5],A=l[6],k=l[7],W=l[8],n=l[9],q=l[10],C=l[11],B=l[12],M=l[13],D=l[14],I=l[15],O=c[0],Y=c[1],G=c[2],j=c[3],Z=c[4],d1=c[5],m1=c[6],a1=c[7],s1=c[8],w1=c[9],k1=c[10],y1=c[11],n1=c[12],Y1=c[13],U1=c[14],K1=c[15];return Math.abs(p-O)<=A1*Math.max(1,Math.abs(p),Math.abs(O))&&Math.abs(d-Y)<=A1*Math.max(1,Math.abs(d),Math.abs(Y))&&Math.abs(a-G)<=A1*Math.max(1,Math.abs(a),Math.abs(G))&&Math.abs(h-j)<=A1*Math.max(1,Math.abs(h),Math.abs(j))&&Math.abs(y-Z)<=A1*Math.max(1,Math.abs(y),Math.abs(Z))&&Math.abs(w-d1)<=A1*Math.max(1,Math.abs(w),Math.abs(d1))&&Math.abs(A-m1)<=A1*Math.max(1,Math.abs(A),Math.abs(m1))&&Math.abs(k-a1)<=A1*Math.max(1,Math.abs(k),Math.abs(a1))&&Math.abs(W-s1)<=A1*Math.max(1,Math.abs(W),Math.abs(s1))&&Math.abs(n-w1)<=A1*Math.max(1,Math.abs(n),Math.abs(w1))&&Math.abs(q-k1)<=A1*Math.max(1,Math.abs(q),Math.abs(k1))&&Math.abs(C-y1)<=A1*Math.max(1,Math.abs(C),Math.abs(y1))&&Math.abs(B-n1)<=A1*Math.max(1,Math.abs(B),Math.abs(n1))&&Math.abs(M-Y1)<=A1*Math.max(1,Math.abs(M),Math.abs(Y1))&&Math.abs(D-U1)<=A1*Math.max(1,Math.abs(D),Math.abs(U1))&&Math.abs(I-K1)l.type==="circle",V.cn=(l)=>l.type==="heatmap",V.co=(l)=>l.type==="line",V.cp=(l)=>l.type==="fill",V.cq=(l)=>l.type==="fill-extrusion",V.cr=(l)=>l.type==="hillshade",V.cs=(l)=>l.type==="color-relief",V.ct=(l)=>l.type==="background",V.cu=(l)=>l.type==="custom",V.cv=V5,V.cw=function(l,c,p){if(c<=0)return l;let d=1/c;return p===void 0||Math.abs(p)0?Math.ceil(l*d-0.000000001):Math.floor(l*d+0.0000000001))/d},V.cx=function(l,c,p){let d=Sl(c.x-p.x,c.y-p.y),a=Sl(l.x-p.x,l.y-p.y);var h,y;return Xu(Math.atan2(d[0]*a[1]-d[1]*a[0],(h=d)[0]*(y=a)[0]+h[1]*y[1]))},V.cy=W5,V.cz=function(l,c){var p;if(!z6[c])return!1;let d=l==null?void 0:l.target,a=((p=d==null?void 0:d.ownerDocument)===null||p===void 0?void 0:p.defaultView)||window;return l instanceof a.MouseEvent||l instanceof a.WheelEvent},V.d=l0,V.d0=class{constructor(l,c){let p=(c=this.options=Object.assign({},Wk,c)).debug;if(p&&console.time("preprocess data"),c.maxZoom24)throw Error("maxZoom should be in the 0-24 range");if(c.promoteId&&c.generateId)throw Error("promoteId and generateId cannot be used together.");let d=Rd(l,c);p&&(console.timeEnd("preprocess data"),console.log("index: maxZoom: %d, maxPoints: %d",c.indexMaxZoom,c.indexMaxPoints),console.time("generate tiles")),d=zd(d,c),c.updateable&&(this.source=d),this.initializeIndex(d,c)}initializeIndex(l,c){this.tileIndex=c.cluster?new ea(c.clusterOptions):new co(c),l.length&&this.tileIndex.initialize(l)}getTile(l,c,p){return c=+c,p=+p,(l=+l)24?null:this.tileIndex.getTile(l,c,p)}updateData(l,c){let p=this.options;if(!p.updateable)throw Error("to update tile geojson `updateable` option must be set to true");let{affected:d,source:a}=function(h,y,w){let A=function(W,n){return W?{removeAll:W.removeAll,remove:new Set(W.remove||[]),add:new Map(W.add?.map((q)=>[n.promoteId?q.properties[n.promoteId]:q.id,q])),update:new Map(W.update?.map((q)=>[q.id,q]))}:{remove:new Set,add:new Map,update:new Map}}(y,w),k=[];if(A.removeAll&&(k=h,h=[]),A.remove.size||A.add.size){let W=[];for(let n of h)(A.remove.has(n.id)||A.add.has(n.id))&&W.push(n);if(W.length){k.push(...W);let n=new Set(W.map((q)=>q.id));h=h.filter((q)=>!n.has(q.id))}if(A.add.size){let n=Rd({type:"FeatureCollection",features:Array.from(A.add.values())},w);n=zd(n,w),k.push(...n),h.push(...n)}}if(A.update.size){let W=new Map,n=[];for(let q of h)A.update.has(q.id)?W.set(q.id,[...W.get(q.id)||[],q]):n.push(q);for(let[q,C]of A.update){let B=W.get(q);if(!B||B.length===0)continue;let M=Sk(B,C,w);k.push(...B,...M),n.push(...M)}h=n}return{affected:k,source:h}}(this.source,l,p);c&&({affected:d,source:a}=this.filterUpdate(a,d,c)),d.length&&(this.source=a,this.tileIndex.updateIndex(a,d,p))}filterUpdate(l,c,p){let d=new Set;for(let a of l)a.id!=null&&(p(w9(a))||(c.push(a),d.add(a.id)));return{affected:c,source:l=l.filter((a)=>!d.has(a.id))}}getData(){if(!this.options.updateable)throw Error("to retrieve data the `updateable` option must be set to true");return{type:"FeatureCollection",features:this.source.map((l)=>w9(l))}}updateClusterOptions(l,c){let p=this.options.cluster;this.options.cluster=l,this.options.clusterOptions=c,p!=l?this.initializeIndex(this.source,this.options):this.tileIndex.updateIndex(this.source,[],this.options)}getClusterExpansionZoom(l){return this.tileIndex.getClusterExpansionZoom(l)}getClusterChildren(l){return this.tileIndex.getChildren(l)}getClusterLeaves(l,c,p){return this.tileIndex.getLeaves(l,c,p)}},V.d1=pu,V.e=h2,V.f=G2,V.g=Lu,V.h=(l)=>g(void 0,void 0,void 0,function*(){if(l.byteLength===0)return createImageBitmap(new ImageData(1,1));let c=new Blob([new Uint8Array(l)],{type:"image/png"});try{return createImageBitmap(c)}catch(p){throw Error(`Could not load image because of ${l0(p).message}. Please make sure to use a supported image type such as PNG or JPEG. Note that SVGs are not supported.`)}}),V.i=W0,V.j=(l)=>new Promise((c,p)=>{let d=new Image;d.onload=()=>{c(d),URL.revokeObjectURL(d.src),d.onload=null,window.requestAnimationFrame(()=>d.src=I6)},d.onerror=()=>p(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."));let a=new Blob([new Uint8Array(l)],{type:"image/png"});d.src=l.byteLength?URL.createObjectURL(a):I6}),V.k=(l,c)=>C5(h2(l,{type:"json"}),c),V.l=N5,V.m=C5,V.n=k3,V.o=(l,c)=>C5(h2(l,{type:"arrayBuffer"}),c),V.p=no,V.q=function(l){return new m8(l).readFields(Tk,[])},V.r=function(l){return/[\u02EA\u02EB\u1100-\u11FF\u2E80-\u2FDF\u3000-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFE10-\uFE1F\uFE30-\uFE4F\uFF00-\uFFEF]|\uD81B[\uDFE0-\uDFFF]|[\uD81C-\uD822\uD840-\uD868\uD86A-\uD86D\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD88C][\uDC00-\uDFFF]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD1E\uDD80-\uDDF2]|\uD82B[\uDFF0-\uDFFF]|\uD82C[\uDC00-\uDEFB]|\uD83C[\uDE00-\uDEFF]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEAD\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD88D[\uDC00-\uDC79]/gim.test(String.fromCodePoint(l))},V.s=N4,V.t=b7,V.u=C0,V.v=dc,V.w=w0,V.x=E1,V.y=gc,V.z=c2}),S("worker",["./shared"],function(V){class g{constructor(J,l1){this.keyCache={},J&&this.replace(J,l1)}replace(J,l1){this._layerConfigs={},this._layers={},this.update(J,[],l1)}update(J,l1,r1){for(let P1 of J){this._layerConfigs[P1.id]=P1;let t1=this._layers[P1.id]=V.bT(P1,r1);t1._featureFilter=V.ah(t1.filter,r1),this.keyCache[P1.id]&&delete this.keyCache[P1.id]}for(let P1 of l1)delete this.keyCache[P1],delete this._layerConfigs[P1],delete this._layers[P1];this.familiesBySource={};let F1=V.cJ(Object.values(this._layerConfigs),this.keyCache);for(let P1 of F1){let t1=P1.map((ll)=>this._layers[ll.id]),ul=t1[0];if(ul.isHidden())continue;let al=ul.source||"",fl=this.familiesBySource[al];fl||(fl=this.familiesBySource[al]={});let ol=ul.sourceLayer||V.ag,Sl=fl[ol];Sl||(Sl=fl[ol]=[]),Sl.push(t1)}}}class H{constructor(J){let l1={},r1=[];for(let ul in J){let al=J[ul],fl=l1[ul]={};for(let ol in al){let Sl=al[+ol];if(!Sl||Sl.bitmap.width===0||Sl.bitmap.height===0)continue;let ll={x:0,y:0,w:Sl.bitmap.width+2,h:Sl.bitmap.height+2};r1.push(ll),fl[ol]={rect:ll,metrics:Sl.metrics}}}let{w:F1,h:P1}=V.p(r1),t1=new V.t({width:F1||1,height:P1||1});for(let ul in J){let al=J[ul];for(let fl in al){let ol=al[+fl];if(!ol||ol.bitmap.width===0||ol.bitmap.height===0)continue;let Sl=l1[ul][fl].rect;V.t.copy(ol.bitmap,t1,{x:0,y:0},{x:Sl.x+1,y:Sl.y+1},ol.bitmap)}}this.image=t1,this.positions=l1}}V.cK("GlyphAtlas",H);class b{constructor(J){this.tileID=new V.a3(J.tileID.overscaledZ,J.tileID.wrap,J.tileID.canonical.z,J.tileID.canonical.x,J.tileID.canonical.y),this.uid=J.uid,this.zoom=J.zoom,this.pixelRatio=J.pixelRatio,this.tileSize=J.tileSize,this.source=J.source,this.overscaling=this.tileID.overscaleFactor(),this.showCollisionBoxes=J.showCollisionBoxes,this.collectResourceTiming=!!J.collectResourceTiming,this.returnDependencies=!!J.returnDependencies,this.promoteId=J.promoteId,this.inFlightDependencies=[]}parse(J,l1,r1,F1,P1){return V._(this,void 0,void 0,function*(){this.status="parsing",this.data=J,this.collisionBoxArray=new V.ae;let t1=new V.cL(Object.keys(J.layers).sort()),ul=new V.cM(this.tileID,this.promoteId);ul.bucketLayerIDs=[];let al={},fl={featureIndex:ul,iconDependencies:{},patternDependencies:{},glyphDependencies:{},dashDependencies:{},availableImages:r1,subdivisionGranularity:P1},ol=l1.familiesBySource[this.source];for(let Vl in ol){let gl=J.layers[Vl];if(!gl)continue;gl.version===1&&V.w(`Vector tile source "${this.source}" layer "${Vl}" does not use vector tile spec v2 and therefore may have some rendering errors.`);let L5=t1.encode(Vl),w0=[];for(let u0=0;u0Vu.id)))}}let Sl=V.bY(fl.glyphDependencies,(Vl)=>Object.keys(Vl).map(Number));for(let Vl of this.inFlightDependencies)Vl==null||Vl.abort();this.inFlightDependencies=[];let ll=Promise.resolve({});if(Object.keys(Sl).length){let Vl=new AbortController;this.inFlightDependencies.push(Vl),ll=F1.sendAsync({type:"GG",data:{stacks:Sl,source:this.source,tileID:this.tileID,type:"glyphs"}},Vl)}let O0=Object.keys(fl.iconDependencies),l0=Promise.resolve({});if(O0.length){let Vl=new AbortController;this.inFlightDependencies.push(Vl),l0=F1.sendAsync({type:"GI",data:{icons:O0,source:this.source,tileID:this.tileID,type:"icons"}},Vl)}let O2=Object.keys(fl.patternDependencies),Au=Promise.resolve({});if(O2.length){let Vl=new AbortController;this.inFlightDependencies.push(Vl),Au=F1.sendAsync({type:"GI",data:{icons:O2,source:this.source,tileID:this.tileID,type:"patterns"}},Vl)}let Qu=fl.dashDependencies,V5=Promise.resolve({});if(Object.keys(Qu).length){let Vl=new AbortController;this.inFlightDependencies.push(Vl),V5=F1.sendAsync({type:"GDA",data:{dashes:Qu}},Vl)}let[W5,G0,Tc,h2]=yield Promise.all([ll,l0,Au,V5]),y3=new H(W5),ju=new V.cN(G0,Tc);for(let Vl in al){let gl=al[Vl];gl instanceof V.af?(_(gl.layers,this.zoom,r1),V.cO({bucket:gl,glyphMap:W5,glyphPositions:y3.positions,imageMap:G0,imagePositions:ju.iconPositions,showCollisionBoxes:this.showCollisionBoxes,canonical:this.tileID.canonical,subdivisionGranularity:fl.subdivisionGranularity})):gl.hasDependencies&&(gl instanceof V.cP||gl instanceof V.cQ||gl instanceof V.cR)&&(_(gl.layers,this.zoom,r1),gl.addFeatures(fl,this.tileID.canonical,ju.patternPositions,h2))}return this.status="done",{buckets:Object.values(al).filter((Vl)=>!Vl.isEmpty()),featureIndex:ul,collisionBoxArray:this.collisionBoxArray,glyphAtlasImage:y3.image,imageAtlas:ju,dashPositions:h2,glyphMap:this.returnDependencies?W5:null,iconMap:this.returnDependencies?G0:null,glyphPositions:this.returnDependencies?y3.positions:null}})}}function _(J,l1,r1){let F1=new V.J(l1);for(let P1 of J)P1.recalculate(F1,r1)}class g1{constructor(){this.loading={},this.loaded={},this.parsing={}}startLoading(J,l1){this.loading[J]=l1}finishLoading(J){delete this.loading[J]}abort(J){let l1=this.loading[J];(l1==null?void 0:l1.abort)&&(l1.abort.abort(),delete this.loading[J])}setParsing(J,l1){this.parsing[J]=l1}consumeParsing(J){let l1=this.parsing[J];if(l1)return delete this.parsing[J],l1}clearParsing(J){delete this.parsing[J]}markLoaded(J,l1){this.loaded[J]=l1}getLoaded(J){let l1=this.loaded[J];if(l1)return l1}removeLoaded(J){delete this.loaded[J]}clearLoaded(){this.loaded={}}}class x1{constructor(J){this.start=`${J}#start`,this.end=`${J}#end`,this.measure=J,performance.mark(this.start)}finish(){performance.mark(this.end);let J=performance.getEntriesByName(this.measure);return J.length===0&&(performance.measure(this.measure,this.start,this.end),J=performance.getEntriesByName(this.measure),performance.clearMarks(this.start),performance.clearMarks(this.end),performance.clearMeasures(this.measure)),J}}class N1{constructor(J,l1,r1,F1,P1){this.type=J,this.properties=r1||{},this.extent=P1,this.pointsArray=l1,this.id=F1}loadGeometry(){return this.pointsArray.map((J)=>J.map((l1)=>new V.P(l1.x,l1.y)))}}class V1{constructor(J,l1,r1){this.version=2,this._myFeatures=J,this.name=l1,this.length=J.length,this.extent=r1}feature(J){return this._myFeatures[J]}}class q1{constructor(){this.layers={}}addLayer(J){this.layers[J.name]=J}}function X1(J){let l1=V.cS(J);return l1.byteOffset===0&&l1.byteLength===l1.buffer.byteLength||(l1=new Uint8Array(l1)),{vectorTile:J,rawData:l1.buffer}}function J1(J,l1,r1){let{extent:F1}=J,P1=Math.pow(2,r1.z-l1.z),t1=(r1.x-l1.x*P1)*F1,ul=(r1.y-l1.y*P1)*F1,al=[];for(let fl=0;fl0&&ol.addLayer(O2)}let ll=X1(ol);return this.overzoomedTileResultCache.set(al,ll),ll}reloadTile(J){return V._(this,void 0,void 0,function*(){let l1=J.uid,r1=this.tileState.getLoaded(l1);if(!r1)throw Error("Should not be trying to reload a tile that was never loaded or has been removed");if(r1.showCollisionBoxes=J.showCollisionBoxes,r1.status==="parsing"){let F1=this.tileState.consumeParsing(l1);return yield this._parseWorkerTile(r1,J,F1)}if(r1.status==="done"&&r1.vectorTile)return yield this._parseWorkerTile(r1,J)})}abortTile(J){return V._(this,void 0,void 0,function*(){this.tileState.abort(J.uid)})}removeTile(J){return V._(this,void 0,void 0,function*(){this.tileState.removeLoaded(J.uid)})}}class v1{constructor(){this.loaded={}}loadTile(J){return V._(this,void 0,void 0,function*(){let{uid:l1,encoding:r1,rawImageData:F1,redFactor:P1,greenFactor:t1,blueFactor:ul,baseShift:al}=J,fl=F1.width+2,ol=F1.height+2,Sl=V.b(F1)?new V.R({width:fl,height:ol},yield V.cY(F1,-1,-1,fl,ol)):F1,ll=new V.cZ(l1,Sl,r1,P1,t1,ul,al);return this.loaded||(this.loaded={}),this.loaded[l1]=ll,ll})}removeTile(J){let l1=this.loaded,r1=J.uid;(l1==null?void 0:l1[r1])&&delete l1[r1]}}class f1{constructor(J,l1,r1,F1=o1){this.actor=J,this.layerIndex=l1,this.availableImages=r1,this.tileState=new g1,this._createGeoJSONIndex=F1}loadVectorTile(J){if(!this._geoJSONIndex)throw Error("Unable to parse the data into a cluster or geojson");let{z:l1,x:r1,y:F1}=J.tileID.canonical,P1=this._geoJSONIndex.getTile(l1,r1,F1);return P1?X1(new V.c_(P1.features,{version:2,extent:V.a6})):null}loadTile(J){return V._(this,void 0,void 0,function*(){let{uid:l1}=J,r1=new b(J);r1.abort=new AbortController;try{let F1=this.loadVectorTile(J);if(!F1)return null;let{vectorTile:P1,rawData:t1}=F1;r1.vectorTile=P1,this.tileState.markLoaded(l1,r1);let ul={rawData:t1};this.tileState.setParsing(l1,ul);try{return yield this._parseWorkerTile(r1,J,ul)}finally{this.tileState.clearParsing(l1)}}catch(F1){throw r1.status="done",this.tileState.markLoaded(l1,r1),F1}})}_reloadLoadedTile(J){return V._(this,void 0,void 0,function*(){let l1=J.uid,r1=this.tileState.getLoaded(l1);if(!r1)throw Error("Should not be trying to reload a tile that was never loaded or has been removed");if(r1.showCollisionBoxes=J.showCollisionBoxes,r1.status==="parsing"){let F1=this.tileState.consumeParsing(l1);return yield this._parseWorkerTile(r1,J,F1)}if(r1.status==="done"&&r1.vectorTile)return yield this._parseWorkerTile(r1,J)})}_parseWorkerTile(J,l1,r1){return V._(this,void 0,void 0,function*(){let F1=yield J.parse(J.vectorTile,this.layerIndex,this.availableImages,this.actor,l1.subdivisionGranularity);if(r1){let{rawData:P1}=r1;F1=V.e({rawTileData:P1.slice(0),encoding:"mvt"},F1)}return F1})}abortTile(J){return V._(this,void 0,void 0,function*(){this.tileState.abort(J.uid)})}removeTile(J){return V._(this,void 0,void 0,function*(){this.tileState.removeLoaded(J.uid)})}loadData(J){return V._(this,void 0,void 0,function*(){var l1;(l1=this._pendingRequest)===null||l1===void 0||l1.abort();let r1=this._startRequestTiming(J);this._pendingRequest=new AbortController;try{yield this.loadAndProcessGeoJSON(J,this._pendingRequest),delete this._pendingRequest,this.tileState.clearLoaded();let F1={};return J.request&&(F1.data=J.data),this._finishRequestTiming(r1,J,F1),F1}catch(F1){if(delete this._pendingRequest,!V.$(F1))throw F1;return{abandoned:!0}}})}_startRequestTiming(J){var l1;if((l1=J.request)===null||l1===void 0?void 0:l1.collectResourceTiming)return new x1(J.request.url)}_finishRequestTiming(J,l1,r1){let F1=J==null?void 0:J.finish();F1&&(r1.resourceTiming={[l1.source]:JSON.parse(JSON.stringify(F1))})}reloadTile(J){return this.tileState.getLoaded(J.uid)?this._reloadLoadedTile(J):this.loadTile(J)}loadAndProcessGeoJSON(J,l1){return V._(this,void 0,void 0,function*(){var r1;if(J.request&&(J.data=(yield V.k(J.request,l1)).data),J.data)return J.data=this._filterGeoJSON(J.data,J.filter),void(this._geoJSONIndex=this._createGeoJSONIndex(J.data,J));if(J.dataDiff)return(r1=this._geoJSONIndex)!==null&&r1!==void 0||(this._geoJSONIndex=this._createGeoJSONIndex({type:"FeatureCollection",features:[]},J)),void this._geoJSONIndex.updateData(J.dataDiff,this._getFilterPredicate(J.filter));if(J.updateCluster&&this._geoJSONIndex.updateClusterOptions(J.geojsonVtOptions.cluster,B1(J)),this._geoJSONIndex==null)throw Error(`Input data given to '${J.source}' is not a valid GeoJSON object.`)})}_filterGeoJSON(J,l1){if(J.type!=="FeatureCollection")return J;let r1=this._getFilterPredicate(l1);return r1?{type:"FeatureCollection",features:J.features.filter((F1)=>r1(F1))}:J}_getFilterPredicate(J){if(typeof J!="boolean"&&!(J==null?void 0:J.length))return;let l1=V.c$(J,{type:"boolean","property-type":"data-driven",overridable:!1,transition:!1});if(l1.result==="error")throw Error(l1.value.map((r1)=>`${r1.key}: ${r1.message}`).join(", "));return(r1)=>l1.value.evaluate({zoom:0},r1)}removeSource(J){return V._(this,void 0,void 0,function*(){var l1;(l1=this._pendingRequest)===null||l1===void 0||l1.abort()})}getClusterExpansionZoom(J){return this._geoJSONIndex.getClusterExpansionZoom(J.clusterId)}getClusterChildren(J){return this._geoJSONIndex.getClusterChildren(J.clusterId)}getClusterLeaves(J){return this._geoJSONIndex.getClusterLeaves(J.clusterId,J.limit,J.offset)}}function o1(J,l1){let r1=V.e(l1.geojsonVtOptions||{},{updateable:!0,clusterOptions:B1(l1)});return new V.d0(J,r1)}function B1({geojsonVtOptions:J,clusterProperties:l1}){if(!l1||!J.clusterOptions)return J.clusterOptions;let r1={},F1={},P1={accumulated:null,zoom:0},t1={properties:null},ul=Object.keys(l1);for(let al of ul){let[fl,ol]=l1[al],Sl=V.c$(ol),ll=V.c$(typeof fl=="string"?[fl,["accumulated"],["get",al]]:fl);r1[al]=Sl.value,F1[al]=ll.value}return J.clusterOptions.map=(al)=>{t1.properties=al;let fl={};for(let ol of ul)fl[ol]=r1[ol].evaluate(P1,t1);return fl},J.clusterOptions.reduce=(al,fl)=>{t1.properties=fl;for(let ol of ul)P1.accumulated=al[ol],al[ol]=F1[ol].evaluate(P1,t1)},J.clusterOptions}class Z1{constructor(J){this.self=J,this.actor=new V.N(J),this.layerIndexes={},this.availableImages={},this.workerSources={},this.demWorkerSources={},this.externalWorkerSourceTypes={},this.globalStates=new Map,this.self.registerWorkerSource=(l1,r1)=>{if(this.externalWorkerSourceTypes[l1])throw Error(`Worker source with name "${l1}" already registered.`);this.externalWorkerSourceTypes[l1]=r1},this.self.addProtocol=V.cH,this.self.removeProtocol=V.cI,this.self.registerRTLTextPlugin=(l1)=>{V.d1.setMethods(l1)},this.self.makeRequest=V.m,this.actor.registerMessageHandler("LDT",(l1,r1)=>this._getDEMWorkerSource(l1,r1.source).loadTile(r1)),this.actor.registerMessageHandler("RDT",(l1,r1)=>V._(this,void 0,void 0,function*(){this._getDEMWorkerSource(l1,r1.source).removeTile(r1)})),this.actor.registerMessageHandler("GCEZ",(l1,r1)=>V._(this,void 0,void 0,function*(){return this._getWorkerSource(l1,r1.type,r1.source).getClusterExpansionZoom(r1)})),this.actor.registerMessageHandler("GCC",(l1,r1)=>V._(this,void 0,void 0,function*(){return this._getWorkerSource(l1,r1.type,r1.source).getClusterChildren(r1)})),this.actor.registerMessageHandler("GCL",(l1,r1)=>V._(this,void 0,void 0,function*(){return this._getWorkerSource(l1,r1.type,r1.source).getClusterLeaves(r1)})),this.actor.registerMessageHandler("LD",(l1,r1)=>this._getWorkerSource(l1,r1.type,r1.source).loadData(r1)),this.actor.registerMessageHandler("LT",(l1,r1)=>this._getWorkerSource(l1,r1.type,r1.source).loadTile(r1)),this.actor.registerMessageHandler("RT",(l1,r1)=>this._getWorkerSource(l1,r1.type,r1.source).reloadTile(r1)),this.actor.registerMessageHandler("AT",(l1,r1)=>this._getWorkerSource(l1,r1.type,r1.source).abortTile(r1)),this.actor.registerMessageHandler("RMT",(l1,r1)=>this._getWorkerSource(l1,r1.type,r1.source).removeTile(r1)),this.actor.registerMessageHandler("RS",(l1,r1)=>V._(this,void 0,void 0,function*(){var F1,P1;if(!((P1=(F1=this.workerSources[l1])===null||F1===void 0?void 0:F1[r1.type])===null||P1===void 0?void 0:P1[r1.source]))return;let t1=this.workerSources[l1][r1.type][r1.source];delete this.workerSources[l1][r1.type][r1.source],t1.removeSource!==void 0&&t1.removeSource(r1)})),this.actor.registerMessageHandler("RM",(l1)=>V._(this,void 0,void 0,function*(){delete this.layerIndexes[l1],delete this.availableImages[l1],delete this.workerSources[l1],delete this.demWorkerSources[l1],this.globalStates.delete(l1)})),this.actor.registerMessageHandler("SR",(l1,r1)=>V._(this,void 0,void 0,function*(){this.referrer=r1})),this.actor.registerMessageHandler("SRPS",(l1,r1)=>this._syncRTLPluginState(l1,r1)),this.actor.registerMessageHandler("IS",(l1,r1)=>V._(this,void 0,void 0,function*(){this.self.importScripts(r1)})),this.actor.registerMessageHandler("SI",(l1,r1)=>this._setImages(l1,r1)),this.actor.registerMessageHandler("UL",(l1,r1)=>V._(this,void 0,void 0,function*(){this._getLayerIndex(l1).update(r1.layers,r1.removedIds,this._getGlobalState(l1))})),this.actor.registerMessageHandler("UGS",(l1,r1)=>V._(this,void 0,void 0,function*(){let F1=this._getGlobalState(l1);for(let P1 in r1)F1[P1]=r1[P1]})),this.actor.registerMessageHandler("SL",(l1,r1)=>V._(this,void 0,void 0,function*(){this._getLayerIndex(l1).replace(r1,this._getGlobalState(l1))}))}_getGlobalState(J){let l1=this.globalStates.get(J);return l1||(l1={},this.globalStates.set(J,l1)),l1}_setImages(J,l1){return V._(this,void 0,void 0,function*(){this.availableImages[J]=l1;for(let r1 in this.workerSources[J]){let F1=this.workerSources[J][r1];for(let P1 in F1)F1[P1].availableImages=l1}})}_syncRTLPluginState(J,l1){return V._(this,void 0,void 0,function*(){return yield V.d1.syncState(l1,this.self.importScripts)})}_getAvailableImages(J){let l1=this.availableImages[J];return l1||(l1=[]),l1}_getLayerIndex(J){let l1=this.layerIndexes[J];return l1||(l1=this.layerIndexes[J]=new g),l1}_getWorkerSource(J,l1,r1){var F1,P1;if((F1=this.workerSources)[J]||(F1[J]={}),(P1=this.workerSources[J])[l1]||(P1[l1]={}),!this.workerSources[J][l1][r1]){let t1={sendAsync:(ul,al)=>(ul.targetMapId=J,this.actor.sendAsync(ul,al))};switch(l1){case"vector":this.workerSources[J][l1][r1]=new A1(t1,this._getLayerIndex(J),this._getAvailableImages(J));break;case"geojson":this.workerSources[J][l1][r1]=new f1(t1,this._getLayerIndex(J),this._getAvailableImages(J));break;default:this.workerSources[J][l1][r1]=new this.externalWorkerSourceTypes[l1](t1,this._getLayerIndex(J),this._getAvailableImages(J))}}return this.workerSources[J][l1][r1]}_getDEMWorkerSource(J,l1){var r1,F1;return(r1=this.demWorkerSources)[J]||(r1[J]={}),(F1=this.demWorkerSources[J])[l1]||(F1[l1]=new v1),this.demWorkerSources[J][l1]}}return V.i(self)&&(self.worker=new Z1(self)),Z1}),S("index",["exports","./shared"],function(V,g){var H="5.24.0";function b(){var u=new g.A(4);return g.A!=Float32Array&&(u[1]=0,u[2]=0),u[0]=1,u[3]=1,u}let _,g1,x1,N1={frame(u,r,m,o){let s=o||window,E=s.requestAnimationFrame((N)=>{L(),r(N)}),{unsubscribe:L}=g.s(u.signal,"abort",()=>{L(),s.cancelAnimationFrame(E),m(new g.a(u.signal.reason))},!1)},frameAsync(u,r){return new Promise((m,o)=>{this.frame(u,m,o,r)})},getImageData(u,r=0){return this.getImageCanvasContext(u).getImageData(-r,-r,u.width+2*r,u.height+2*r)},getImageCanvasContext(u){let r=window.document.createElement("canvas"),m=r.getContext("2d",{willReadFrequently:!0});if(!m)throw Error("failed to create canvas 2d context");return r.width=u.width,r.height=u.height,m.drawImage(u,0,0,u.width,u.height),m},resolveURL:(u)=>(_||(_=document.createElement("a")),_.href=u,_.href),hardwareConcurrency:typeof navigator{window.removeEventListener("click",A1.suppressClickInternal,!0)},0)}static getScale(u){let r=u.getBoundingClientRect();return{x:r.width/u.offsetWidth||1,y:r.height/u.offsetHeight||1,boundingClientRect:r}}static getPoint(u,r,m){let o=r.boundingClientRect;return new g.P((m.clientX-o.left)/r.x-u.clientLeft,(m.clientY-o.top)/r.y-u.clientTop)}static mousePos(u,r){let m=A1.getScale(u);return A1.getPoint(u,m,r)}static touchPos(u,r){let m=[],o=A1.getScale(u);for(let s of r)m.push(A1.getPoint(u,o,s));return m}static sanitize(u){let r=new DOMParser().parseFromString(u,"text/html").body||document.createElement("body"),m=r.querySelectorAll("script");for(let o of m)o.remove();return A1.clean(r),r.innerHTML}static isPossiblyDangerous(u,r){let m=r.replace(/\s+/g,"").toLowerCase();return!(!["src","href","xlink:href"].includes(u)||!m.includes("javascript:")&&!m.includes("data:"))||!!u.startsWith("on")||void 0}static clean(u){let r=u.children;for(let m of r)A1.removeAttributes(m),A1.clean(m)}static removeAttributes(u){for(let{name:r,value:m}of u.attributes)A1.isPossiblyDangerous(r,m)&&u.removeAttribute(r)}}A1.docStyle=typeof window{r=[],m=0,o=0,s={}},u.addThrottleControl=(F)=>{let P=o++;return s[P]=F,P},u.removeThrottleControl=(F)=>{delete s[F],L()},u.getImage=(F,P,K=!0)=>new Promise((R,U)=>{F.headers||(F.headers={}),F.headers.accept="image/webp,*/*",g.e(F,{type:"image"}),r.push({abortController:P,requestParameters:F,supportImageRefresh:K,state:"queued",onError:(z)=>{U(z)},onSuccess:(z)=>{R(z)}}),L()});let E=(F)=>g._(this,void 0,void 0,function*(){F.state="running";let{requestParameters:P,supportImageRefresh:K,onError:R,onSuccess:U,abortController:z}=F,Q=K===!1&&!g.i(self)&&!g.g(P.url)&&(!P.headers||Object.keys(P.headers).reduce((X,c1)=>X&&c1==="accept",!0));m++;let t=Q?N(P,z):g.m(P,z);try{let X=yield t;delete F.abortController,F.state="completed",X.data instanceof HTMLImageElement||g.b(X.data)?U(X):X.data&&U({data:yield(i=X.data,typeof createImageBitmap=="function"?g.h(i):g.j(i)),cacheControl:X.cacheControl,expires:X.expires})}catch(X){delete F.abortController,R(g.d(X))}finally{m--,L()}var i}),L=()=>{let F=(()=>{for(let P of Object.keys(s))if(s[P]())return!0;return!1})()?g.c.MAX_PARALLEL_IMAGE_REQUESTS_PER_FRAME:g.c.MAX_PARALLEL_IMAGE_REQUESTS;for(let P=m;P0;P++){let K=r.shift();K.abortController.signal.aborted?P--:E(K)}},N=(F,P)=>new Promise((K,R)=>{let U=new Image,z=F.url,Q=F.credentials;Q&&Q==="include"?U.crossOrigin="use-credentials":(Q&&Q==="same-origin"||!g.f(z))&&(U.crossOrigin="anonymous"),P.signal.addEventListener("abort",()=>{U.src="",R(new g.a(P.signal.reason))}),U.fetchPriority="high",U.onload=()=>{U.onerror=U.onload=null,K({data:U})},U.onerror=()=>{U.onerror=U.onload=null,P.signal.aborted||R(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."))},U.src=z})}(J1||(J1={})),J1.resetRequestQueue();class v1{constructor(u){this._transformRequestFn=u!=null?u:null}transformRequest(u,r){return this._transformRequestFn&&this._transformRequestFn(u,r)||{url:u}}setTransformRequest(u){this._transformRequestFn=u}}function f1(u){let r=[];if(typeof u=="string")r.push({id:"default",url:u});else if(u&&u.length>0){let m=[];for(let{id:o,url:s}of u){let E=`${o}${s}`;m.includes(E)||(m.push(E),r.push({id:o,url:s}))}}return r}function o1(u,r,m){try{let o=new URL(u);return o.pathname+=`${r}${m}`,o.toString()}catch(o){throw Error(`Invalid sprite URL "${u}", must be absolute. Modify style specification directly or use TransformStyleFunction to correct the issue dynamically`)}}function B1(u){let{userImage:r}=u;return!(!(r==null?void 0:r.render)||!r.render()||(u.data.replace(new Uint8Array(r.data.buffer)),0))}class Z1 extends g.E{constructor(){super(),this.images={},this.updatedImages={},this.callbackDispatchedThisFrame={},this.loaded=!1,this.requestors=[],this.patterns={},this.atlasImage=new g.R({width:1,height:1}),this.dirty=!0}destroy(){this.atlasTexture&&(this.atlasTexture.destroy(),this.atlasTexture=null);for(let u of Object.keys(this.images))this.removeImage(u);this.patterns={},this.atlasImage=new g.R({width:1,height:1}),this.dirty=!0}isLoaded(){return this.loaded}setLoaded(u){if(this.loaded!==u&&(this.loaded=u,u)){for(let{ids:r,promiseResolve:m}of this.requestors)m(this._getImagesForIds(r));this.requestors=[]}}getImage(u){let r=this.images[u];if(r&&!r.data&&r.spriteData){let m=r.spriteData;r.data=new g.R({width:m.width,height:m.height},m.context.getImageData(m.x,m.y,m.width,m.height).data),r.spriteData=null}return r}addImage(u,r){if(this.images[u])throw Error(`Image id ${u} already exist, use updateImage instead`);this._validate(u,r)&&(this.images[u]=r)}_validate(u,r){let m=!0,o=r.data||r.spriteData;return this._validateStretch(r.stretchX,o==null?void 0:o.width)||(this.fire(new g.l(Error(`Image "${u}" has invalid "stretchX" value`))),m=!1),this._validateStretch(r.stretchY,o==null?void 0:o.height)||(this.fire(new g.l(Error(`Image "${u}" has invalid "stretchY" value`))),m=!1),this._validateContent(r.content,r)||(this.fire(new g.l(Error(`Image "${u}" has invalid "content" value`))),m=!1),m}_validateStretch(u,r){if(!u)return!0;let m=0;for(let o of u){if(o[0]<m||o[1]<o[0]||r<o[1])return!1;m=o[1]}return!0}_validateContent(u,r){if(!u)return!0;if(u.length!==4)return!1;let m=r.spriteData,o=(m==null?void 0:m.width)||r.data.width,s=(m==null?void 0:m.height)||r.data.height;return!(u[0]<0||o<u[0]||u[1]<0||s<u[1]||u[2]<0||o<u[2]||u[3]<0||s<u[3]||u[2]=u[1]))}updateImage(u,r,m=!0){let o=this.getImage(u);if(m&&(o.data.width!==r.data.width||o.data.height!==r.data.height))throw Error(`size mismatch between old image (${o.data.width}x${o.data.height}) and new image (${r.data.width}x${r.data.height}).`);r.version=o.version+1,this.images[u]=r,this.updatedImages[u]=!0}removeImage(u){var r;let m=this.images[u];delete this.images[u],delete this.patterns[u],((r=m.userImage)===null||r===void 0?void 0:r.onRemove)&&m.userImage.onRemove()}listImages(){return Object.keys(this.images)}getImages(u){return new Promise((r,m)=>{let o=!0;if(!this.isLoaded())for(let s of u)this.images[s]||(o=!1);this.isLoaded()||o?r(this._getImagesForIds(u)):this.requestors.push({ids:u,promiseResolve:r})})}_getImagesForIds(u){var r;let m={};for(let o of u){let s=this.getImage(o);s||(this.fire(new g.n("styleimagemissing",{id:o})),s=this.getImage(o)),s?m[o]={data:s.data.clone(),pixelRatio:s.pixelRatio,sdf:s.sdf,version:s.version,stretchX:s.stretchX,stretchY:s.stretchY,content:s.content,textFitWidth:s.textFitWidth,textFitHeight:s.textFitHeight,hasRenderCallback:Boolean((r=s.userImage)===null||r===void 0?void 0:r.render)}:g.w(`Image "${o}" 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 m}getPixelSize(){let{width:u,height:r}=this.atlasImage;return{width:u,height:r}}getPattern(u){let r=this.patterns[u],m=this.getImage(u);if(!m)return null;if(r&&r.position.version===m.version)return r.position;if(r)r.position.version=m.version;else{let o={w:m.data.width+2,h:m.data.height+2,x:0,y:0},s=new g.I(o,m);this.patterns[u]={bin:o,position:s}}return this._updatePatternAtlas(),this.patterns[u].position}bind(u){let r=u.gl;this.atlasTexture?this.dirty&&(this.atlasTexture.update(this.atlasImage),this.dirty=!1):this.atlasTexture=new g.T(u,this.atlasImage,r.RGBA),this.atlasTexture.bind(r.LINEAR,r.CLAMP_TO_EDGE)}_updatePatternAtlas(){let u=[];for(let s in this.patterns)u.push(this.patterns[s].bin);let{w:r,h:m}=g.p(u),o=this.atlasImage;o.resize({width:r||1,height:m||1});for(let s in this.patterns){let{bin:E}=this.patterns[s],L=E.x+1,N=E.y+1,F=this.getImage(s).data,P=F.width,K=F.height;g.R.copy(F,o,{x:0,y:0},{x:L,y:N},{width:P,height:K}),g.R.copy(F,o,{x:0,y:K-1},{x:L,y:N-1},{width:P,height:1}),g.R.copy(F,o,{x:0,y:0},{x:L,y:N+K},{width:P,height:1}),g.R.copy(F,o,{x:P-1,y:0},{x:L-1,y:N},{width:1,height:K}),g.R.copy(F,o,{x:0,y:0},{x:L+P,y:N},{width:1,height:K})}this.dirty=!0}beginFrame(){this.callbackDispatchedThisFrame={}}dispatchRenderCallbacks(u){for(let r of u){if(this.callbackDispatchedThisFrame[r])continue;this.callbackDispatchedThisFrame[r]=!0;let m=this.getImage(r);m||g.w(`Image with ID: "${r}" was not found`),B1(m)&&this.updateImage(r,m)}}cloneImages(){let u={};for(let r in this.images){let m=this.images[r];u[r]=Object.assign(Object.assign({},m),{data:m.data?m.data.clone():null})}return u}}let J=100000000000000000000,l1=new Float64Array(256);for(let u=0;u<256;u++){let r=0.5-Math.pow(u/255,0.45454545454545453);l1[u]=r*Math.abs(r)}function r1(u,r,m,o,s,E,L,N,F){for(let P=r;P<r+o;P++)F1(u,m*E+P,E,s,L,N,F);for(let P=m;P<m+s;P++)F1(u,P*E+r,1,o,L,N,F)}function F1(u,r,m,o,s,E,L){E[0]=0,L[0]=-J,L[1]=J,s[0]=u[r];for(let N=1,F=0,P=0;N<o;N++){s[N]=u[r+N*m];let K=N*N;do{let R=E[F];P=(s[N]-s[R]+K-R*R)/(N-R)/2}while(P-1);F++,E[F]=N,L[F]=P,L[F+1]=J}for(let N=0,F=0;N<o;N++){for(;L[F+1]/[-\w]+/.test(o)?o:`'${CSS.escape(o)}'`).join(",");return new t1.TinySDF({fontSize:48,buffer:6,radius:16,cutoff:0.25,fontFamily:m,fontWeight:this._fontWeight(r[0]),fontStyle:this._fontStyle(r[0]),lang:this.lang})}_fontStyle(u){return/italic/i.test(u)?"italic":/oblique/i.test(u)?"oblique":"normal"}_fontWeight(u){let r={thin:100,hairline:100,"extra light":200,"ultra light":200,light:300,normal:400,regular:400,medium:500,semibold:600,demibold:600,bold:700,"extra bold":800,"ultra bold":800,black:900,heavy:900,"extra black":950,"ultra black":950},m;for(let[o,s]of Object.entries(r))new RegExp(`\\b${o}\\b`,"i").test(u)&&(m=`${s}`);return m}destroy(){for(let u in this.entries){let r=this.entries[u];r.tinySDF=null,r.ideographTinySDF=null,r.glyphs={},r.requests={},r.ranges={}}this.entries={}}}t1.loadGlyphRange=function(u,r,m,o){return g._(this,void 0,void 0,function*(){let s=256*r,E=s+255,L=yield o.transformRequest(m.replace("{fontstack}",u).replace("{range}",`${s}-${E}`),"Glyphs"),N=yield g.o(L,new AbortController);if(!(N==null?void 0:N.data))throw Error(`Could not load glyph range. range: ${r}, ${s}-${E}`);let F={};for(let P of g.q(N.data))F[P.id]=P;return F})},t1.TinySDF=class{constructor({fontSize:u=24,buffer:r=3,radius:m=8,cutoff:o=0.25,fontFamily:s="sans-serif",fontWeight:E="normal",fontStyle:L="normal",lang:N=null}={}){this.buffer=r,this.radius=m,this.cutoff=o,this.lang=N;let F=this.size=u+4*r,P=this._createCanvas(F),K=this.ctx=P.getContext("2d",{willReadFrequently:!0});K.font=`${L} ${E} ${u}px ${s}`,K.textBaseline="alphabetic",K.textAlign="left",K.fillStyle="black",this.gridOuter=new Float64Array(F*F),this.gridInner=new Float64Array(F*F),this.f=new Float64Array(F),this.z=new Float64Array(F+1),this.v=new Uint16Array(F)}_createCanvas(u){if(typeof OffscreenCanvas<"u")return new OffscreenCanvas(u,u);let r=document.createElement("canvas");return r.width=r.height=u,r}draw(u){let{width:r,actualBoundingBoxAscent:m,actualBoundingBoxDescent:o,actualBoundingBoxLeft:s,actualBoundingBoxRight:E}=this.ctx.measureText(u),L=Math.ceil(m),N=Math.floor(s),F=Math.max(0,Math.min(this.size-this.buffer,Math.ceil(E)-N)),P=Math.max(0,Math.min(this.size-this.buffer,L+Math.ceil(o))),K=F+2*this.buffer,R=P+2*this.buffer,U=Math.max(K*R,0),z=new Uint8ClampedArray(U),Q={data:z,width:K,height:R,glyphWidth:F,glyphHeight:P,glyphTop:L,glyphLeft:N,glyphAdvance:r};if(F===0||P===0)return Q;let{ctx:t,buffer:i,gridInner:X,gridOuter:c1}=this;this.lang&&(t.lang=this.lang),t.clearRect(i,i,F,P),t.fillText(u,i-N,i+L);let $=t.getImageData(i,i,F,P);c1.fill(J,0,U),X.fill(0,0,U);let e=3;for(let p1=0;p1<P;p1++){let S1=(p1+i)*K+i;for(let h1=0;h1<F;h1++,e+=4,S1++){let W1=$.data[e];if(W1===0)continue;let L1=l1[W1];c1[S1]=Math.max(0,L1),X[S1]=Math.max(0,-L1)}}r1(c1,0,0,K,R,K,this.f,this.v,this.z),r1(X,i,i,F,P,K,this.f,this.v,this.z);let u1=255/this.radius,T=255*(1-this.cutoff);for(let p1=0;p1<U;p1++){let S1=Math.sqrt(c1[p1])-Math.sqrt(X[p1]);z[p1]=Math.round(T-u1*S1)}return Q}};class ul{constructor(){this.specification=g.x.light.position}possiblyEvaluate(u,r){return g.G(u.expression.evaluate(r))}interpolate(u,r,m){return{x:g.H.number(u.x,r.x,m),y:g.H.number(u.y,r.y,m),z:g.H.number(u.z,r.z,m)}}}let al;class fl extends g.E{constructor(u){super(),al||(al=new g.u({anchor:new g.D(g.x.light.anchor),position:new ul,color:new g.D(g.x.light.color),intensity:new g.D(g.x.light.intensity)})),this._transitionable=new g.y(al,void 0),this.setLight(u),this._transitioning=this._transitionable.untransitioned()}getLight(){return this._transitionable.serialize()}setLight(u,r={}){if(!this._validate(g.z,u,r))for(let m in u){let o=u[m];m.endsWith(g.B)?this._transitionable.setTransition(m.slice(0,-g.B.length),o):this._transitionable.setValue(m,o)}}updateTransitions(u){this._transitioning=this._transitionable.transitioned(u,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(u){this.properties=this._transitioning.possiblyEvaluate(u)}_validate(u,r,m){return(m==null?void 0:m.validate)!==!1&&g.C(this,u.call(g.F,{value:r,style:{glyphs:!0,sprite:!0},styleSpec:g.x}))}}let ol=new g.u({"sky-color":new g.D(g.x.sky["sky-color"]),"horizon-color":new g.D(g.x.sky["horizon-color"]),"fog-color":new g.D(g.x.sky["fog-color"]),"fog-ground-blend":new g.D(g.x.sky["fog-ground-blend"]),"horizon-fog-blend":new g.D(g.x.sky["horizon-fog-blend"]),"sky-horizon-blend":new g.D(g.x.sky["sky-horizon-blend"]),"atmosphere-blend":new g.D(g.x.sky["atmosphere-blend"])});class Sl extends g.E{constructor(u){super(),this._transitionable=new g.y(ol,void 0),this.setSky(u),this._transitioning=this._transitionable.untransitioned(),this.recalculate(new g.J(0))}setSky(u,r={}){if(!this._validate(g.K,u,r)){u||(u={"sky-color":"transparent","horizon-color":"transparent","fog-color":"transparent","fog-ground-blend":1,"atmosphere-blend":0});for(let m in u){let o=u[m];m.endsWith(g.B)?this._transitionable.setTransition(m.slice(0,-g.B.length),o):this._transitionable.setValue(m,o)}}}getSky(){return this._transitionable.serialize()}updateTransitions(u){this._transitioning=this._transitionable.transitioned(u,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()}recalculate(u){this.properties=this._transitioning.possiblyEvaluate(u)}_validate(u,r,m={}){return(m==null?void 0:m.validate)!==!1&&g.C(this,u.call(g.F,g.e({value:r,style:{glyphs:!0,sprite:!0},styleSpec:g.x})))}calculateFogBlendOpacity(u){return u<60?0:u<70?(u-60)/10:1}}class ll{constructor(u,r){this.width=u,this.height=r,this.nextRow=0,this.data=new Uint8Array(this.width*this.height),this.dashEntry={}}getDash(u,r){var m;let o=u.join(",")+String(r);return(m=this.dashEntry)[o]||(m[o]=this.addDash(u,r)),this.dashEntry[o]}getDashRanges(u,r,m){let o=[],s=u.length%2==1?-u[u.length-1]*m:0,E=u[0]*m,L=!0;o.push({left:s,right:E,isDash:L,zeroLength:u[0]===0});let N=u[0];for(let F=1;F<u.length;F++){L=!L;let P=u[F];s=N*m,N+=P,E=N*m,o.push({left:s,right:E,isDash:L,zeroLength:P===0})}return o}addRoundDash(u,r,m){let o=r/2;for(let s=-m;s<=m;s++){let E=this.width*(this.nextRow+m+s),L=0,N=u[L];for(let F=0;F1&&(N=u[++L]);let P=Math.abs(F-N.left),K=Math.abs(F-N.right),R=Math.min(P,K),U,z=s/m*(o+1);if(N.isDash){let Q=o-Math.abs(z);U=Math.sqrt(R*R+Q*Q)}else U=o-Math.sqrt(R*R+z*z);this.data[E+F]=Math.max(0,Math.min(255,U+128))}}}addRegularDash(u){for(let L=u.length-1;L>=0;--L){let N=u[L],F=u[L+1];N.zeroLength?u.splice(L,1):F&&F.isDash===N.isDash&&(F.left=N.left,u.splice(L,1))}let r=u[0],m=u[u.length-1];r.isDash===m.isDash&&(r.left=m.left-this.width,m.right=r.right+this.width);let o=this.width*this.nextRow,s=0,E=u[s];for(let L=0;L1&&(E=u[++s]);let N=Math.abs(L-E.left),F=Math.abs(L-E.right),P=Math.min(N,F);this.data[o+L]=Math.max(0,Math.min(255,(E.isDash?P:-P)+128))}}addDash(u,r){let m=r?7:0,o=2*m+1;if(this.nextRow+o>this.height)return g.w("LineAtlas out of space"),null;let s=0;for(let L of u)s+=L;if(s!==0){let L=this.width/s,N=this.getDashRanges(u,this.width,L);r?this.addRoundDash(N,L,m):this.addRegularDash(N)}let E={y:this.nextRow+m,height:2*m,width:s};return this.nextRow+=o,this.dirty=!0,E}bind(u){let r=u.gl;this.texture?(r.bindTexture(r.TEXTURE_2D,this.texture),this.dirty&&(this.dirty=!1,r.texSubImage2D(r.TEXTURE_2D,0,0,0,this.width,this.height,r.ALPHA,r.UNSIGNED_BYTE,this.data))):(this.texture=r.createTexture(),r.bindTexture(r.TEXTURE_2D,this.texture),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.REPEAT),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.REPEAT),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texImage2D(r.TEXTURE_2D,0,r.ALPHA,this.width,this.height,0,r.ALPHA,r.UNSIGNED_BYTE,this.data))}}let O0="maplibre_preloaded_worker_pool";class l0{constructor(){this.active={}}acquire(u){if(!this.workers)for(this.workers=[];this.workers.length<l0.workerCount;)this.workers.push(new Worker(g.c.WORKER_URL));return this.active[u]=!0,this.workers.slice()}release(u){if(delete this.active[u],this.numActive()===0){for(let r of this.workers)r.terminate();this.workers=null}}isPreloaded(){return!!this.active[O0]}numActive(){return Object.keys(this.active).length}}let O2=Math.floor(N1.hardwareConcurrency/2),Au,Qu;function V5(){return Au||(Au=new l0),Au}l0.workerCount=g.L(globalThis)?Math.max(Math.min(O2,3),1):1;class W5{constructor(u,r){this.workerPool=u,this.actors=[],this.currentActor=0,this.id=r;let m=this.workerPool.acquire(r);for(let o=0;og.m(r,m))),Qu}function Tc(u,r){let m=g.O();return g.Q(m,m,[1,1,0]),g.S(m,m,[0.5*u.width,0.5*u.height,1]),u.calculatePosMatrix?g.U(m,m,u.calculatePosMatrix(r.toUnwrapped())):m}function h2(u,r,m,o,s,E,L){var N;let F=function(U,z,Q){if(U)for(let t of U){let i=z[t];if((i==null?void 0:i.source)===Q&&i.type==="fill-extrusion")return!0}else for(let t in z){let i=z[t];if(i.source===Q&&i.type==="fill-extrusion")return!0}return!1}((N=s==null?void 0:s.layers)!==null&&N!==void 0?N:null,r,u.id),P=E.maxPitchScaleFactor(),K=u.tilesIn(o,P,F);K.sort(y3);let R=[];for(let U of K)R.push({wrappedTileID:U.tileID.wrapped().key,queryResults:U.tile.queryRenderedFeatures(r,m,u.getState(),U.queryGeometry,U.cameraQueryGeometry,U.scale,s,E,P,Tc(E,U.tileID),L?(z,Q)=>L(U.tileID,z,Q):void 0)});return function(U,z){for(let Q in U)for(let t of U[Q])ju(t,z);return U}(function(U){let z={},Q={};for(let{queryResults:t,wrappedTileID:i}of U){Q[i]||(Q[i]={});let X=Q[i];for(let c1 in t){let $=t[c1];X[c1]||(X[c1]={});let e=X[c1];z[c1]||(z[c1]=[]);for(let u1 of $)e[u1.featureIndex]||(e[u1.featureIndex]=!0,z[c1].push(u1))}}return z}(R),u)}function y3(u,r){let m=u.tileID,o=r.tileID;return m.overscaledZ-o.overscaledZ||m.canonical.y-o.canonical.y||m.wrap-o.wrap||m.canonical.x-o.canonical.x}function ju(u,r){let m=u.feature,o=r.getFeatureState(m.layer["source-layer"],m.id);m.source=m.layer.source,m.layer["source-layer"]&&(m.sourceLayer=m.layer["source-layer"]),m.state=o}function Vl(u,r,m,o){return g._(this,void 0,void 0,function*(){let s=u;if(u.url?s=(yield g.k(yield r.transformRequest(u.url,"Source"),m)).data:yield N1.frameAsync(m,o),!s)return null;let E=g.V(g.e(s,u),["tiles","minzoom","maxzoom","attribution","bounds","scheme","tileSize","encoding"]);return"vector_layers"in s&&s.vector_layers&&(E.vectorLayerIds=s.vector_layers.map((L)=>L.id)),E})}class gl{constructor(u,r){u&&(r?this.setSouthWest(u).setNorthEast(r):Array.isArray(u)&&(u.length===4?this.setSouthWest([u[0],u[1]]).setNorthEast([u[2],u[3]]):this.setSouthWest(u[0]).setNorthEast(u[1])))}setNorthEast(u){return this._ne=u instanceof g.W?new g.W(u.lng,u.lat):g.W.convert(u),this}setSouthWest(u){return this._sw=u instanceof g.W?new g.W(u.lng,u.lat):g.W.convert(u),this}extend(u){let r=this._sw,m=this._ne,o,s;if(u instanceof g.W)o=u,s=u;else{if(!(u instanceof gl))return Array.isArray(u)?u.length===4||u.every(Array.isArray)?this.extend(gl.convert(u)):this.extend(g.W.convert(u)):u&&(("lng"in u)||("lon"in u))&&("lat"in u)?this.extend(g.W.convert(u)):this;if(o=u._sw,s=u._ne,!o||!s)return this}return r||m?(r.lng=Math.min(o.lng,r.lng),r.lat=Math.min(o.lat,r.lat),m.lng=Math.max(s.lng,m.lng),m.lat=Math.max(s.lat,m.lat)):(this._sw=new g.W(o.lng,o.lat),this._ne=new g.W(s.lng,s.lat)),this}getCenter(){return new g.W((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 g.W(this.getWest(),this.getNorth())}getSouthEast(){return new g.W(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(u){let{lng:r,lat:m}=g.W.convert(u),o=this._sw.lng<=r&&rthis._ne.lng&&(o=this._sw.lng>=r&&r>=this._ne.lng),this._sw.lat<=m&&m=this.getSouth()&&u.getSouth()=360||m>=360)return!0;let o=g.X(this.getWest(),-180,180),s=g.X(this.getEast(),-180,180),E=g.X(u.getWest(),-180,180),L=g.X(u.getEast(),-180,180),N=o>s,F=E>L;return!(!N||!F)||(N?L>=o||E=E||o<=L:E=o)}static convert(u){return u instanceof gl?u:u?new gl(u):u}static fromLngLat(u,r=0){let m=360*r/40075017,o=m/Math.cos(Math.PI/180*u.lat);return new gl(new g.W(u.lng-o,u.lat-m),new g.W(u.lng+o,u.lat+m))}adjustAntiMeridian(){let u=new g.W(this._sw.lng,this._sw.lat),r=new g.W(this._ne.lng,this._ne.lat);return new gl(u,u.lng>r.lng?new g.W(r.lng+360,r.lat):r)}}class L5{constructor(u,r,m){this.bounds=gl.convert(this.validateBounds(u)),this.minzoom=r||0,this.maxzoom=m||24}validateBounds(u){return Array.isArray(u)&&u.length===4?[Math.max(-180,u[0]),Math.max(-90,u[1]),Math.min(180,u[2]),Math.min(90,u[3])]:[-180,-90,180,90]}contains(u){let r=Math.pow(2,u.z),m=Math.floor(g.Z(this.bounds.getWest())*r),o=Math.floor(g.Y(this.bounds.getNorth())*r),s=Math.ceil(g.Z(this.bounds.getEast())*r),E=Math.ceil(g.Y(this.bounds.getSouth())*r);return u.x>=m&&u.x=o&&u.y{this._options.tiles=u}),this}setUrl(u){return this.setSourceProperty(()=>{this.url=u,this._options.url=u}),this}onRemove(){this._tileJSONRequest&&(this._tileJSONRequest.abort(),this._tileJSONRequest=null)}serialize(){return g.e({},this._options)}loadTile(u){return g._(this,void 0,void 0,function*(){let r=u.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),m={request:yield this.map._requestManager.transformRequest(r,"Tile"),uid:u.uid,tileID:u.tileID,zoom:u.tileID.overscaledZ,tileSize:this.tileSize*u.tileID.overscaleFactor(),type:this.type,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity,encoding:this.encoding,overzoomParameters:yield this._getOverzoomParameters(u),etag:u.etag};m.request.collectResourceTiming=this._collectResourceTiming;let o="RT";if(u.actor&&u.state!=="expired"){if(u.state==="loading")return new Promise((s,E)=>{u.reloadPromise={resolve:s,reject:E}})}else u.actor=this.dispatcher.getActor(),o="LT";u.abortController=new AbortController;try{let s=yield u.actor.sendAsync({type:o,data:m},u.abortController);if(delete u.abortController,u.aborted)return;this._afterTileLoadWorkerResponse(u,s);let E={};return(s==null?void 0:s.etagUnmodified)&&(E.unmodified=!0),E}catch(s){if(delete u.abortController,u.aborted)return;if(s&&s.status!==404)throw s;this._afterTileLoadWorkerResponse(u,null)}})}_getOverzoomParameters(u){return g._(this,void 0,void 0,function*(){if(u.tileID.canonical.z{this._options.tiles=u}),this}setUrl(u){return this.setSourceProperty(()=>{this.url=u,this._options.url=u}),this}serialize(){return g.e({},this._options)}hasTile(u){return!this.tileBounds||this.tileBounds.contains(u.canonical)}loadTile(u){return g._(this,void 0,void 0,function*(){let r=u.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme);u.abortController=new AbortController;try{let m=yield J1.getImage(yield this.map._requestManager.transformRequest(r,"Tile"),u.abortController,this.map._refreshExpiredTiles);if(delete u.abortController,u.aborted)return void(u.state="unloaded");if(m==null?void 0:m.data){this.map._refreshExpiredTiles&&(m.cacheControl||m.expires)&&u.setExpiryData({cacheControl:m.cacheControl,expires:m.expires});let o=this.map.painter.context,s=o.gl,E=m.data;u.texture=this.map.painter.getTileTexture(E.width),u.texture?u.texture.update(E,{useMipmap:!0}):(u.texture=new g.T(o,E,s.RGBA,{useMipmap:!0}),u.texture.bind(s.LINEAR,s.CLAMP_TO_EDGE,s.LINEAR_MIPMAP_NEAREST)),u.state="loaded"}}catch(m){if(delete u.abortController,u.aborted)u.state="unloaded";else if(m)throw u.state="errored",m}})}abortTile(u){return g._(this,void 0,void 0,function*(){u.abortController&&(u.abortController.abort(),delete u.abortController)})}unloadTile(u){return g._(this,void 0,void 0,function*(){u.texture&&this.map.painter.saveTileTexture(u.texture)})}hasTransition(){return!1}}class W0 extends u0{constructor(u,r,m,o){super(u,r,m,o),this.type="raster-dem",this.maxzoom=22,this._options=g.e({type:"raster-dem"},r),this.encoding=r.encoding||"mapbox",this.redFactor=r.redFactor,this.greenFactor=r.greenFactor,this.blueFactor=r.blueFactor,this.baseShift=r.baseShift}loadTile(u){return g._(this,void 0,void 0,function*(){let r=u.tileID.canonical.url(this.tiles,this.map.getPixelRatio(),this.scheme),m=yield this.map._requestManager.transformRequest(r,"Tile");u.neighboringTiles=this._getNeighboringTiles(u.tileID),u.abortController=new AbortController;try{let o=yield J1.getImage(m,u.abortController,this.map._refreshExpiredTiles);if(delete u.abortController,u.aborted)return void(u.state="unloaded");if(o==null?void 0:o.data){let s=o.data;this.map._refreshExpiredTiles&&(o.cacheControl||o.expires)&&u.setExpiryData({cacheControl:o.cacheControl,expires:o.expires});let E=g.b(s)&&g.a0()?s:yield this.readImageNow(s),L={type:this.type,uid:u.uid,source:this.id,rawImageData:E,encoding:this.encoding,redFactor:this.redFactor,greenFactor:this.greenFactor,blueFactor:this.blueFactor,baseShift:this.baseShift};if(u.actor&&u.state!=="expired"&&u.state!=="reloading")return;u.actor&&u.state!=="expired"||(u.actor=this.dispatcher.getActor()),u.dem=yield u.actor.sendAsync({type:"LDT",data:L}),u.needsHillshadePrepare=!0,u.needsTerrainPrepare=!0,u.state="loaded"}}catch(o){if(delete u.abortController,u.aborted)u.state="unloaded";else if(o)throw u.state="errored",o}})}readImageNow(u){return g._(this,void 0,void 0,function*(){if(typeof VideoFrame0&&(N[new g.a3(u.overscaledZ,s,r.z,o,r.y-1).key]={backfilled:!1},N[new g.a3(u.overscaledZ,u.wrap,r.z,r.x,r.y-1).key]={backfilled:!1},N[new g.a3(u.overscaledZ,L,r.z,E,r.y-1).key]={backfilled:!1}),r.y+1E.key===o);s>-1&&u.addOrUpdateProperties.splice(s,1)}return(u.removeAllProperties||r.removeAllProperties)&&(m.removeAllProperties=!0),(u.removeProperties||r.removeProperties)&&(m.removeProperties=[...u.removeProperties||[],...r.removeProperties||[]]),(u.addOrUpdateProperties||r.addOrUpdateProperties)&&(m.addOrUpdateProperties=[...u.addOrUpdateProperties||[],...r.addOrUpdateProperties||[]]),(u.newGeometry||r.newGeometry)&&(m.newGeometry=r.newGeometry||u.newGeometry),m}function I6(u){var r,m;if(!u)return{};let o={};return o.removeAll=u.removeAll,o.remove=new Set(u.remove||[]),o.add=new Map((r=u.add)===null||r===void 0?void 0:r.map((s)=>[s.id,s])),o.update=new Map((m=u.update)===null||m===void 0?void 0:m.map((s)=>[s.id,s])),o}function Y6(u){return u&&u.length!==0?typeof u[0]=="number"?[u]:u.flatMap((r)=>Y6(r)):[]}function Ju(u){return u.type==="GeometryCollection"?u.geometries.flatMap((r)=>Ju(r)):Y6(u.coordinates)}function w3(u){let r=new gl,m;switch(u.type){case"FeatureCollection":m=u.features.flatMap((o)=>Ju(o.geometry));break;case"Feature":m=Ju(u.geometry);break;default:m=Ju(u)}if(m.length===0)return r;for(let o of m){let[s,E]=o;r.extend([s,E])}return r}class N4 extends g.E{constructor(u,r,m,o){super(),this.id=u,this.type="geojson",this.minzoom=0,this.maxzoom=18,this.tileSize=512,this.isTileClipped=!0,this.reparseOverscaled=!0,this._removed=!1,this._isUpdatingWorker=!1,this._pendingWorkerUpdate={data:r.data},this.actor=m.getActor(),this.setEventedParent(o),this._data=typeof r.data=="string"?{url:r.data}:{geojson:r.data},this._options=g.e({},r),this._collectResourceTiming=r.collectResourceTiming,r.maxzoom!==void 0&&(this.maxzoom=r.maxzoom),r.type&&(this.type=r.type),r.attribution&&(this.attribution=r.attribution),this.promoteId=r.promoteId,r.clusterMaxZoom!==void 0&&this.maxzoom0||((N=P.addOrUpdateProperties)===null||N===void 0?void 0:N.length)>0;if(!R&&!U)continue;F.push(K.geometry);let z=Object.assign({},K);if(o.set(P.id,z),R&&(F.push(P.newGeometry),z.geometry=P.newGeometry),U){if(z.properties=P.removeAllProperties?{}:Object.assign({},z.properties||{}),P.removeProperties)for(let Q of P.removeProperties)delete z.properties[Q];if(P.addOrUpdateProperties)for(let{key:Q,value:t}of P.addOrUpdateProperties)z.properties[Q]=t}}return F}(this._data.updateable,u,r);return u.removeAll||this._options.cluster?void 0:m}_getShouldReloadTileOptions(u){if(u)return{affectedBounds:u.filter(Boolean).map((r)=>w3(r))}}shouldReloadTile(u,{affectedBounds:r}){if(u.state==="loading")return!0;if(u.state==="unloaded")return!1;let{buffer:m,extent:o}=this.workerOptions.geojsonVtOptions,s=function({x:E,y:L,z:N},F=0){let P=g.a4((E-F)/Math.pow(2,N)),K=g.a5((L+1+F)/Math.pow(2,N)),R=g.a4((E+1+F)/Math.pow(2,N)),U=g.a5((L-F)/Math.pow(2,N));return new gl([P,K],[R,U])}(u.tileID.canonical,m/o);for(let E of r)if(s.intersects(E))return!0;return!1}loaded(){return!this._isUpdatingWorker&&!this._hasPendingWorkerUpdate()}loadTile(u){return g._(this,void 0,void 0,function*(){let r=u.actor?"RT":"LT";u.actor=this.actor;let m={type:this.type,uid:u.uid,tileID:u.tileID,zoom:u.tileID.overscaledZ,maxZoom:this.maxzoom,tileSize:this.tileSize,source:this.id,pixelRatio:this.map.getPixelRatio(),showCollisionBoxes:this.map.showCollisionBoxes,promoteId:this.promoteId,subdivisionGranularity:this.map.style.projection.subdivisionGranularity};u.abortController=new AbortController;let o=yield this.actor.sendAsync({type:r,data:m},u.abortController);delete u.abortController,u.unloadVectorData(),u.aborted||u.loadVectorData(o,this.map.painter,r==="RT")})}abortTile(u){return g._(this,void 0,void 0,function*(){u.abortController&&(u.abortController.abort(),delete u.abortController),u.aborted=!0})}unloadTile(u){return g._(this,void 0,void 0,function*(){u.unloadVectorData(),yield this.actor.sendAsync({type:"RMT",data:{uid:u.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 g.e({},this._options,{type:this.type,data:this._data.updateable?{type:"FeatureCollection",features:Array.from(this._data.updateable.values())}:this._data.url||this._data.geojson})}hasTransition(){return!1}}class Wu extends g.E{constructor(u,r,m,o){super(),this.flippedWindingOrder=!1,this.id=u,this.dispatcher=m,this.coordinates=r.coordinates,this.type="image",this.minzoom=0,this.maxzoom=22,this.tileSize=512,this.tiles={},this._loaded=!1,this.setEventedParent(o),this.options=r}load(u){return g._(this,void 0,void 0,function*(){this._loaded=!1,this.fire(new g.n("dataloading",{dataType:"source"})),this.url=this.options.url,this._request=new AbortController;try{let r=yield J1.getImage(yield this.map._requestManager.transformRequest(this.url,"Image"),this._request);this._request=null,this._loaded=!0,(r==null?void 0:r.data)&&(this.image=r.data,u&&(this.coordinates=u),this._finishLoading())}catch(r){this._request=null,this._loaded=!0,g.$(r)||this.fire(new g.l(g.d(r)))}})}loaded(){return this._loaded}updateImage(u){return u.url?(this._request&&(this._request.abort(),this._request=null),this.options.url=u.url,this.load(u.coordinates).finally(()=>this.texture=null),this):this}_finishLoading(){this.map&&(this.setCoordinates(this.coordinates),this.fire(new g.n("data",{dataType:"source",sourceDataType:"metadata"})))}onAdd(u){this.map=u,this.load()}onRemove(){this._request&&(this._request.abort(),this._request=null)}setCoordinates(u){this.coordinates=u;let r=u.map(g.a7.fromLngLat);var m;return this.tileID=function(o){let s=g.a8.fromPoints(o),E=s.width(),L=s.height(),N=Math.max(E,L),F=Math.max(0,Math.floor(-Math.log(N)/Math.LN2)),P=Math.pow(2,F);return new g.aa(F,Math.floor((s.minX+s.maxX)/2*P),Math.floor((s.minY+s.maxY)/2*P))}(r),this.terrainTileRanges=this._getOverlappingTileRanges(r),this.minzoom=this.maxzoom=this.tileID.z,this.tileCoords=r.map((o)=>this.tileID.getTilePoint(o)._round()),this.flippedWindingOrder=((m=this.tileCoords)[1].x-m[0].x)*(m[2].y-m[0].y)-(m[1].y-m[0].y)*(m[2].x-m[0].x)<0,this.fire(new g.n("data",{dataType:"source",sourceDataType:"content"})),this}prepare(){if(Object.keys(this.tiles).length===0||!this.image)return;let u=this.map.painter.context,r=u.gl;this.texture||(this.texture=new g.T(u,this.image,r.RGBA),this.texture.bind(r.LINEAR,r.CLAMP_TO_EDGE));let m=!1;for(let o in this.tiles){let s=this.tiles[o];s.state!=="loaded"&&(s.state="loaded",s.texture=this.texture,m=!0)}m&&this.fire(new g.n("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}loadTile(u){return g._(this,void 0,void 0,function*(){var r;((r=this.tileID)===null||r===void 0?void 0:r.equals(u.tileID.canonical))?(this.tiles[String(u.tileID.wrap)]=u,u.buckets={}):u.state="errored"})}serialize(){return{type:"image",url:this.options.url,coordinates:this.coordinates}}hasTransition(){return!1}_getOverlappingTileRanges(u){let{minX:r,minY:m,maxX:o,maxY:s}=g.a8.fromPoints(u),E={};for(let L=0;L{var s;(s=this.map)===null||s===void 0||s.triggerRepaint()},this.roundZoom=!0,this.type="video",this.options=r}load(){return g._(this,void 0,void 0,function*(){this._loaded=!1;let u=this.options;this.urls=[];for(let r of u.urls)this.urls.push((yield this.map._requestManager.transformRequest(r,"Source")).url);try{let r=yield g.ab(this.urls);if(this._loaded=!0,!r)return;this.video=r,this.video.loop=!0,this.video.addEventListener("playing",this._onPlayingHandler),this.map&&this.video.play(),this._finishLoading()}catch(r){this.fire(new g.l(g.d(r)))}})}pause(){this.video&&this.video.pause()}play(){this.video&&this.video.play()}seek(u){if(this.video){let r=this.video.seekable;ur.end(0)?this.fire(new g.l(new g.ac(`sources.${this.id}`,null,`Playback for this video can be set only between the ${r.start(0)} and ${r.end(0)}-second mark.`))):this.video.currentTime=u}}getVideo(){return this.video}onAdd(u){this.map||(this.map=u,this.load(),this.video&&(this.video.play(),this.setCoordinates(this.coordinates)))}onRemove(){super.onRemove(),this.video&&(this.video.removeEventListener("playing",this._onPlayingHandler),this.video.pause())}prepare(){if(Object.keys(this.tiles).length===0||this.video.readyState!Array.isArray(s)||s.length!==2||s.some((E)=>typeof E!="number"))||this.fire(new g.l(new g.ac(`sources.${u}`,null,'"coordinates" property must be an array of 4 longitude/latitude array pairs'))):this.fire(new g.l(new g.ac(`sources.${u}`,null,'missing required property "coordinates"'))),r.animate&&typeof r.animate!="boolean"&&this.fire(new g.l(new g.ac(`sources.${u}`,null,'optional "animate" property must be a boolean value'))),r.canvas?typeof r.canvas=="string"||r.canvas instanceof HTMLCanvasElement||this.fire(new g.l(new g.ac(`sources.${u}`,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 g.l(new g.ac(`sources.${u}`,null,'missing required property "canvas"'))),this.options=r,this.animate=r.animate===void 0||r.animate}load(){return g._(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 g.l(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(u){this.map=u,this.load(),this.canvas&&this.animate&&this.play()}onRemove(){this.pause()}prepare(){let u=!1;if(this.canvas.width!==this.width&&(this.width=this.canvas.width,u=!0),this.canvas.height!==this.height&&(this.height=this.canvas.height,u=!0),this._hasInvalidDimensions())return;if(Object.keys(this.tiles).length===0)return;let r=this.map.painter.context,m=r.gl;this.texture?(u||this._playing)&&this.texture.update(this.canvas,{premultiply:!0}):(this.texture=new g.T(r,this.canvas,m.RGBA,{premultiply:!0}),this.texture.bind(m.LINEAR,m.CLAMP_TO_EDGE));let o=!1;for(let s in this.tiles){let E=this.tiles[s];E.state!=="loaded"&&(E.state="loaded",E.texture=this.texture,o=!0)}o&&this.fire(new g.n("data",{dataType:"source",sourceDataType:"idle",sourceId:this.id}))}serialize(){return{type:"canvas",animate:this.animate,canvas:this.options.canvas,coordinates:this.coordinates}}hasTransition(){return this._playing}_hasInvalidDimensions(){for(let u of[this.canvas.width,this.canvas.height])if(isNaN(u)||u{switch(u){case"geojson":return N4;case"image":return Wu;case"raster":return u0;case"raster-dem":return W0;case"vector":return w0;case"video":return Xu;case"canvas":return Zc}return z6[u]},s3="RTLPluginLoaded";class O6 extends g.E{constructor(){super(...arguments),this.status="unavailable",this.url=null,this.dispatcher=G0()}_syncState(u){return this.status=u,this.dispatcher.broadcast("SRPS",{pluginStatus:u,pluginURL:this.url}).catch((r)=>{throw this.status="error",r})}getRTLTextPluginStatus(){return this.status}clearRTLTextPlugin(){this.status="unavailable",this.url=null}setRTLTextPlugin(u){return g._(this,arguments,void 0,function*(r,m=!1){if(this.url)throw Error("setRTLTextPlugin cannot be called multiple times.");if(this.url=N1.resolveURL(r),!this.url)throw Error(`requested url ${r} is invalid`);if(this.status==="unavailable"){if(!m)return this._requestImport();this.status="deferred",this._syncState(this.status)}else if(this.status==="requested")return this._requestImport()})}_requestImport(){return g._(this,void 0,void 0,function*(){yield this._syncState("loading"),this.status="loaded",this.fire(new g.n(s3))})}lazyLoad(){this.status==="unavailable"?this.status="requested":this.status==="deferred"&&this._requestImport()}}let $c=null;function Tu(){return $c||($c=new O6),$c}var Lu,N2;(function(u){u[u.Base=0]="Base",u[u.Parent=1]="Parent"})(Lu||(Lu={})),function(u){u[u.Departing=0]="Departing",u[u.Incoming=1]="Incoming"}(N2||(N2={}));class Zu{constructor(u,r){this.timeAdded=0,this.fadeEndTime=0,this.fadeOpacity=1,this.tileID=u,this.uid=g.ad(),this.uses=0,this.tileSize=r,this.buckets={},this.expirationTime=null,this.queryPadding=0,this.hasSymbolBuckets=!1,this.hasRTLText=!1,this.dependencies={},this.rtt=[],this.rttFingerprint={},this.expiredRequestCount=0,this.state="loading"}isRenderable(u){return this.hasData()&&(!this.fadeEndTime||this.fadeOpacity>0)&&(u||!this.holdingForSymbolFade())}setCrossFadeLogic({fadingRole:u,fadingDirection:r,fadingParentID:m,fadeEndTime:o}){this.resetFadeLogic(),this.fadingRole=u,this.fadingDirection=r,this.fadingParentID=m,this.fadeEndTime=o}setSelfFadeLogic(u){this.resetFadeLogic(),this.selfFading=!0,this.fadeEndTime=u}resetFadeLogic(){this.fadingRole=null,this.fadingDirection=null,this.fadingParentID=null,this.selfFading=!1,this.timeAdded=q1(),this.fadeEndTime=0,this.fadeOpacity=1}wasRequested(){return this.state==="errored"||this.state==="loaded"||this.state==="reloading"}clearTextures(u){this.demTexture&&u.saveTileTexture(this.demTexture),this.demTexture=null}loadVectorData(u,r,m){if((u==null?void 0:u.etagUnmodified)!==!0)if(this.hasData()&&this.unloadVectorData(),this.state="loaded",u){u.featureIndex&&(this.latestFeatureIndex=u.featureIndex,u.rawTileData?(this.latestRawTileData=u.rawTileData,this.latestEncoding=u.encoding,this.latestFeatureIndex.rawTileData=u.rawTileData,this.latestFeatureIndex.encoding=u.encoding):this.latestRawTileData&&(this.latestFeatureIndex.rawTileData=this.latestRawTileData,this.latestFeatureIndex.encoding=this.latestEncoding)),this.collisionBoxArray=u.collisionBoxArray,this.buckets=function(o,s){let E={};if(!s)return E;for(let L of o){let N=L.layerIds.map((F)=>s.getLayer(F)).filter(Boolean);if(N.length!==0){L.layers=N,L.stateDependentLayerIds&&(L.stateDependentLayers=L.stateDependentLayerIds.map((F)=>N.filter((P)=>P.id===F)[0]));for(let F of N)E[F.id]=L}}return E}(u.buckets,r==null?void 0:r.style),this.hasSymbolBuckets=!1;for(let o in this.buckets){let s=this.buckets[o];if(s instanceof g.af){if(this.hasSymbolBuckets=!0,!m)break;s.justReloaded=!0}}if(this.hasRTLText=!1,this.hasSymbolBuckets)for(let o in this.buckets){let s=this.buckets[o];if(s instanceof g.af&&s.hasRTLText){this.hasRTLText=!0,Tu().lazyLoad();break}}this.queryPadding=0;for(let o in this.buckets){let s=this.buckets[o];this.queryPadding=Math.max(this.queryPadding,r.style.getLayer(o).queryRadius(s))}u.imageAtlas&&(this.imageAtlas=u.imageAtlas),u.glyphAtlasImage&&(this.glyphAtlasImage=u.glyphAtlasImage),this.dashPositions=u.dashPositions}else this.collisionBoxArray=new g.ae;else this.state="loaded"}unloadVectorData(){for(let u in this.buckets)this.buckets[u].destroy();this.buckets={},this.imageAtlasTexture&&this.imageAtlasTexture.destroy(),this.glyphAtlasTexture&&this.glyphAtlasTexture.destroy(),this.imageAtlas=null,this.dashPositions=null,this.latestFeatureIndex=null,this.state="unloaded"}getBucket(u){return this.buckets[u.id]}upload(u){for(let m in this.buckets){let o=this.buckets[m];o.uploadPending()&&o.upload(u)}let r=u.gl;this.imageAtlas&&!this.imageAtlas.uploaded&&(this.imageAtlasTexture=new g.T(u,this.imageAtlas.image,r.RGBA),this.imageAtlas.uploaded=!0),this.glyphAtlasImage&&(this.glyphAtlasTexture=new g.T(u,this.glyphAtlasImage,r.ALPHA),this.glyphAtlasImage=null)}prepare(u){this.imageAtlas&&this.imageAtlas.patchUpdatedImages(u,this.imageAtlasTexture)}queryRenderedFeatures(u,r,m,o,s,E,L,N,F,P,K){var R;return((R=this.latestFeatureIndex)===null||R===void 0?void 0:R.rawTileData)?this.latestFeatureIndex.query({queryGeometry:o,cameraQueryGeometry:s,scale:E,tileSize:this.tileSize,pixelPosMatrix:P,transform:N,params:L,queryPadding:this.queryPadding*F,getElevation:K},u,r,m):{}}querySourceFeatures(u,r){let m=this.latestFeatureIndex;if(!(m==null?void 0:m.rawTileData))return;let o=m.loadVTLayers(),s=(r==null?void 0:r.sourceLayer)?r.sourceLayer:"",E=o[g.ag]||o[s];if(!E)return;let L=g.ah(r==null?void 0:r.filter,r==null?void 0:r.globalState),{z:N,x:F,y:P}=this.tileID.canonical,K={z:N,x:F,y:P};for(let R=0;Rm)o=!1;else if(r)if(this.expirationTime<r)o=!0;else{let s=this.expirationTime-r;s?this.expirationTime=m+Math.max(s,30000):o=!0}else o=!0;o?(this.expiredRequestCount++,this.state="expired"):this.expiredRequestCount=0}}getExpiryTimeout(){if(this.expirationTime)return this.expiredRequestCount?1000*(1<<Math.min(this.expiredRequestCount-1,31)):Math.min(this.expirationTime-new Date().getTime(),Math.pow(2,31)-1)}setFeatureState(u,r){var m,o,s;if(!((m=this.latestFeatureIndex)===null||m===void 0?void 0:m.rawTileData)||Object.keys(u).length===0)return;let E=this.latestFeatureIndex.loadVTLayers();for(let L in this.buckets){if(!r.style.hasLayer(L))continue;let N=this.buckets[L],F=N.layers[0].sourceLayer||g.ag,P=E[F],K=u[F];if(!P||!K||Object.keys(K).length===0)continue;N.update(K,P,((o=this.imageAtlas)===null||o===void 0?void 0:o.patternPositions)||{},this.dashPositions||{});let R=(s=r==null?void 0:r.style)===null||s===void 0?void 0:s.getLayer(L);R&&(this.queryPadding=Math.max(this.queryPadding,R.queryRadius(N)))}}holdingForSymbolFade(){return this.symbolFadeHoldUntil!==void 0}symbolFadeFinished(){return!this.symbolFadeHoldUntil||this.symbolFadeHoldUntil<q1()}clearSymbolFadeHold(){this.symbolFadeHoldUntil=void 0}setSymbolHoldDuration(u){this.symbolFadeHoldUntil=q1()+u}setDependencies(u,r){let m={};for(let o of r)m[o]=!0;this.dependencies[u]=m}hasDependency(u,r){for(let m of u){let o=this.dependencies[m];if(o){for(let s of r)if(o[s])return!0}}return!1}}class _c{constructor(){this.state={},this.stateChanges={},this.deletedStates={},this.revision=0}updateState(u,r,m){var o,s,E,L,N;let F=String(r);if((L=this.stateChanges)[u]||(L[u]={}),(N=this.stateChanges[u])[F]||(N[F]={}),g.e(this.stateChanges[u][F],m),this.deletedStates[u]===null){this.deletedStates[u]={};for(let P in this.state[u])P!==F&&(this.deletedStates[u][P]=null)}else if(((o=this.deletedStates[u])===null||o===void 0?void 0:o[F])===null){this.deletedStates[u][F]={};for(let P in this.state[u][F])m[P]||(this.deletedStates[u][F][P]=null)}else for(let P in m)((E=(s=this.deletedStates[u])===null||s===void 0?void 0:s[F])===null||E===void 0?void 0:E[P])===null&&delete this.deletedStates[u][F][P]}removeFeatureState(u,r,m){var o,s,E;if(this.deletedStates[u]===null)return;let L=String(r);if((s=this.deletedStates)[u]||(s[u]={}),m&&r!==void 0)this.deletedStates[u][L]!==null&&((E=this.deletedStates[u])[L]||(E[L]={}),this.deletedStates[u][L][m]=null);else if(r!==void 0)if((o=this.stateChanges[u])===null||o===void 0?void 0:o[L])for(m in this.deletedStates[u][L]={},this.stateChanges[u][L])this.deletedStates[u][L][m]=null;else this.deletedStates[u][L]=null;else this.deletedStates[u]=null}getState(u,r){let m=String(r),o=g.e({},(this.state[u]||{})[m],(this.stateChanges[u]||{})[m]);if(this.deletedStates[u]===null)return{};if(this.deletedStates[u]){let s=this.deletedStates[u][r];if(s===null)return{};for(let E in s)delete o[E]}return o}initializeTileState(u,r){u.setFeatureState(this.state,r)}coalesceChanges(u,r){var m,o,s;let E={};for(let L in this.stateChanges){(m=this.state)[L]||(m[L]={});let N={};for(let F in this.stateChanges[L])(o=this.state[L])[F]||(o[F]={}),g.e(this.state[L][F],this.stateChanges[L][F]),N[F]=this.state[L][F];E[L]=N}for(let L in this.deletedStates){(s=this.state)[L]||(s[L]={});let N={};if(this.deletedStates[L]===null)for(let F in this.state[L])N[F]={},this.state[L][F]={};else for(let F in this.deletedStates[L]){if(this.deletedStates[L][F]===null)this.state[L][F]={};else for(let P of Object.keys(this.deletedStates[L][F]))delete this.state[L][F][P];N[F]=this.state[L][F]}E[L]||(E[L]={}),g.e(E[L],N)}this.stateChanges={},this.deletedStates={},Object.keys(E).length!==0&&(this.revision++,u.setFeatureState(E,r))}}let C5=89.25;function G2(u,r){let m=g.al(r.lat,-g.am,g.am);return new g.P(g.Z(r.lng)*u,g.Y(m)*u)}function S3(u,r){return new g.a7(r.x/u,r.y/u).toLngLat()}function x5(u){return u.cameraToCenterDistance*Math.min(0.85*Math.tan(g.an(90-u.pitch)),Math.tan(g.an(C5-u.pitch)))}function k3(u,r){let m=u.canonical,o=r/g.ao(m.z),s=m.x+Math.pow(2,m.z)*u.wrap,E=g.ap(new Float64Array(16));return g.Q(E,E,[s*o,m.y*o,0]),g.S(E,E,[o/g.a6,o/g.a6,1]),E}function N5(u,r,m,o,s){let E=g.a7.fromLngLat(u,r),L=s*g.aq(1,u.lat),{x:N,y:F,z:P}=F4(m,o);return new g.a7(E.x+L*-N,E.y+L*-F,E.z+L*-P)}function F4(u,r){let m=g.an(u),o=g.an(r),s=Math.cos(-m),E=Math.sin(m);return{x:E*Math.sin(o),y:-E*Math.cos(o),z:s}}function E1(u,r,m){let o=r.intersectsFrustum(u);if(!m||o===0)return o;let s=r.intersectsPlane(m);return s===0?0:o===2&&s===2?2:1}function G6(u,r,m){let o=0,s=(m-r)/10;for(let E=0;E({zoom:0,x:0,y:0,wrap:u1,fullyVisible:!1}),$=[],e=[];if(u.renderWorldCopies&&L.allowWorldCopies())for(let u1=1;u10;){let u1=$.pop(),T=u1.x,p1=u1.y,S1=u1.fullyVisible,h1={x:T,y:p1,z:u1.zoom},W1=L.getTileBoundingVolume(h1,u1.wrap,u.elevation,r);if(!S1){let C1=E1(m,W1,o);if(C1===0)continue;S1=C1===2}let L1=L.distanceToTile2d(s.x,s.y,h1,W1),Q1=F;N&&(Q1=(r.calculateTileZoom||nl)(u.zoom+g.ar(u.tileSize/r.tileSize),L1,i,X,u.fov)),Q1=(r.roundZoom?Math.round:Math.floor)(Q1),Q1=Math.max(0,Q1);let j1=Math.min(Q1,K);if(u1.wrap=L.getWrap(E,h1,u1.wrap),u1.zoom>=j1){if(u1.zoom<P)continue;let C1=R-u1.zoom,O1=z[0]-0.5-(T<<C1),I1=z[1]-0.5-(p1<<C1),i1=r.reparseOverscaled?Math.max(u1.zoom,Q1):u1.zoom;e.push({tileID:new g.a3(u1.zoom===K?i1:u1.zoom,u1.wrap,u1.zoom,T,p1),distanceSq:g.as([Q[0]-0.5-T,Q[1]-0.5-p1]),tileDistanceToCamera:Math.sqrt(O1*O1+I1*I1)})}else for(let C1=0;C1<4;C1++)$.push({zoom:u1.zoom+1,x:(T<<1)+C1%2,y:(p1<>1),wrap:u1.wrap,fullyVisible:S1})}return e.sort((u1,T)=>u1.distanceSq-T.distanceSq).map((u1)=>u1.tileID)}let yp=g.a8.fromPoints([new g.P(0,0),new g.P(g.a6,g.a6)]);function wp(u){return u==="raster"||u==="image"||u==="video"}function fd(u,r,m,o,s,E,L){if(!r.hasData())return!1;let{tileID:N,fadingRole:F,fadingDirection:P,fadingParentID:K}=r;if(F===Lu.Base&&P===N2.Incoming&&K)return m[K.key]=K,!0;let R=Math.max(N.overscaledZ-s,E);for(let U=N.overscaledZ-1;U>=R;U--){let z=N.scaledTo(U),Q=u.getLoadedTile(z);if(Q)return r.setCrossFadeLogic({fadingRole:Lu.Base,fadingDirection:N2.Incoming,fadingParentID:Q.tileID,fadeEndTime:o+L}),Q.setCrossFadeLogic({fadingRole:Lu.Parent,fadingDirection:N2.Departing,fadeEndTime:o+L}),m[z.key]=z,!0}return!1}function ic(u,r,m,o,s,E){if(!r.hasData())return!1;let L=r.tileID.children(s),N=j6(u,r,L,m,o,s,E);if(N)return!0;for(let F of L)j6(u,r,F.children(s),m,o,s,E)&&(N=!0);return N}function j6(u,r,m,o,s,E,L){if(m[0].overscaledZ>=E)return!1;let N=!1;for(let F of m){let P=u.getLoadedTile(F);if(!P)continue;let{fadingRole:K,fadingDirection:R,fadingParentID:U}=P;K===Lu.Base&&R===N2.Departing&&U||(P.setCrossFadeLogic({fadingRole:Lu.Base,fadingDirection:N2.Departing,fadingParentID:r.tileID,fadeEndTime:s+L}),r.setCrossFadeLogic({fadingRole:Lu.Parent,fadingDirection:N2.Incoming,fadeEndTime:s+L})),o[F.key]=F,N=!0}return N}function sp(u,r,m,o){let s=u.tileID;return!!u.selfFading||!u.hasData()&&!!r.has(s)&&(u.setSelfFadeLogic(m+o),!0)}function M1(u,r){var m;u.needsHillshadePrepare=!0,u.needsTerrainPrepare=!0;let o=r.tileID.canonical.x-u.tileID.canonical.x,s=r.tileID.canonical.y-u.tileID.canonical.y,E=Math.pow(2,u.tileID.canonical.z),L=r.tileID.key;o===0&&s===0||Math.abs(s)>1||(Math.abs(o)>1&&(Math.abs(o+E)===1?o+=E:Math.abs(o-E)===1&&(o-=E)),r.dem&&u.dem&&(u.dem.backfillBorder(r.dem,o,s),((m=u.neighboringTiles)===null||m===void 0?void 0:m[L])&&(u.neighboringTiles[L].backfilled=!0)))}class bu{constructor(){this._tiles={}}handleWrapJump(u){let r={};for(let m in this._tiles){let o=this._tiles[m];o.tileID=o.tileID.unwrapTo(o.tileID.wrap+u),r[o.tileID.key]=o}this._tiles=r}setFeatureState(u,r){for(let m in this._tiles)this._tiles[m].setFeatureState(u,r)}getAllTiles(){return Object.values(this._tiles)}getAllIds(u=!1){return u?Object.values(this._tiles).map((r)=>r.tileID).sort(g.au).map((r)=>r.key):Object.keys(this._tiles)}getTileById(u){return this._tiles[u]}setTile(u,r){this._tiles[u]=r}deleteTileById(u){delete this._tiles[u]}getLoadedTile(u){let r=this.getTileById(u.key);return(r==null?void 0:r.hasData())?r:null}isIdRenderable(u,r=!1){var m;return(m=this.getTileById(u))===null||m===void 0?void 0:m.isRenderable(r)}getRenderableIds(u=0,r){let m=[];for(let o of this.getAllIds())this.isIdRenderable(o,r)&&m.push(this.getTileById(o));return r?m.sort((o,s)=>{let E=o.tileID,L=s.tileID,N=new g.P(E.canonical.x,E.canonical.y)._rotate(-u),F=new g.P(L.canonical.x,L.canonical.y)._rotate(-u);return E.overscaledZ-L.overscaledZ||F.y-N.y||F.x-N.x}).map((o)=>o.tileID.key):m.map((o)=>o.tileID).sort(g.au).map((o)=>o.key)}}class s0 extends g.E{constructor(u,r,m){super(),this.id=u,this.dispatcher=m,this.on("data",(o)=>{this._dataHandler(o)}),this.on("dataloading",()=>{this._sourceErrored=!1}),this.on("error",()=>{this._sourceErrored=this._source.loaded()}),this._source=((o,s,E,L)=>{let N=new(bc(s.type))(o,s,E,L);if(N.id!==o)throw Error(`Expected Source id to be ${o} instead of ${N.id}`);return N})(u,r,m,this),this._inViewTiles=new bu,this._outOfViewCache=new g.av(0,(o)=>this._unloadTile(o)),this._timers={},this._maxTileCacheSize=null,this._maxTileCacheZoomLevels=null,this._rasterFadeDuration=0,this._maxFadingAncestorLevels=5,this._state=new _c,this._didEmitContent=!1,this._updated=!1}onAdd(u){var r;this.map=u,this._maxTileCacheSize=u?u._maxTileCacheSize:null,this._maxTileCacheZoomLevels=u?u._maxTileCacheZoomLevels:null,((r=this._source)===null||r===void 0?void 0:r.onAdd)&&this._source.onAdd(u)}onRemove(u){var r;for(let m of this._inViewTiles.getAllTiles())m.unloadVectorData();this.clearTiles(),((r=this._source)===null||r===void 0?void 0:r.onRemove)&&this._source.onRemove(u),this._inViewTiles=new bu}loaded(){if(this._sourceErrored)return!0;if(!this._sourceLoaded)return!1;if(!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(let u of this._inViewTiles.getAllTiles())if(u.state!=="loaded"&&u.state!=="errored")return!1;return!0}getSource(){return this._source}getState(){return this._state}pause(){this._paused=!0}resume(){if(!this._paused)return;let u=this._shouldReloadOnResume;this._paused=!1,this._shouldReloadOnResume=!1,u&&this.reload(),this.transform&&this.update(this.transform,this.terrain)}_loadTile(u,r,m){return g._(this,void 0,void 0,function*(){try{let o=yield this._source.loadTile(u);this._tileLoaded(u,r,m,o)}catch(o){u.state="errored",o.status!==404?this._source.fire(new g.l(g.d(o),{tile:u})):this.update(this.transform,this.terrain)}})}_unloadTile(u){this._source.unloadTile&&this._source.unloadTile(u)}_abortTile(u){this._source.abortTile&&this._source.abortTile(u),this._source.fire(new g.n("dataabort",{tile:u,coord:u.tileID,dataType:"source"}))}serialize(){return this._source.serialize()}prepare(u){this._source.prepare&&this._source.prepare(),this._state.coalesceChanges(this._inViewTiles,this.map?this.map.painter:null);for(let r of this._inViewTiles.getAllTiles())r.upload(u),r.prepare(this.map.style.imageManager)}getIds(){return this._inViewTiles.getAllIds(!0)}getRenderableIds(u){var r;return this._inViewTiles.getRenderableIds((r=this.transform)===null||r===void 0?void 0:r.bearingInRadians,u)}hasRenderableParent(u){let r=u.overscaledZ-1;if(r>=this._source.minzoom){let m=this.getLoadedTile(u.scaledTo(r));if(m)return this._inViewTiles.isIdRenderable(m.tileID.key)}return!1}reload(u,r=void 0){if(this._paused)this._shouldReloadOnResume=!0;else{this._outOfViewCache.reset();for(let m of this._inViewTiles.getAllIds()){let o=this._inViewTiles.getTileById(m);r&&!this._source.shouldReloadTile(o,r)||(u?this._reloadTile(m,"expired"):o.state!=="errored"&&this._reloadTile(m,"reloading"))}}}_reloadTile(u,r){return g._(this,void 0,void 0,function*(){let m=this._inViewTiles.getTileById(u);m&&(m.state!=="loading"&&(m.state=r),yield this._loadTile(m,u,r))})}_tileLoaded(u,r,m,o){u.timeAdded=q1(),u.selfFading&&(u.fadeEndTime=u.timeAdded+this._rasterFadeDuration),m==="expired"&&(u.refreshedUponExpiration=!0),this._setTileReloadTimer(r,u),(o==null?void 0:o.unmodified)||(this.getSource().type==="raster-dem"&&u.dem&&function(s,E){var L,N,F;let P=E.getRenderableIds();for(let K of P){if(!((L=s.neighboringTiles)===null||L===void 0?void 0:L[K]))continue;let R=E.getTileById(K);s.neighboringTiles[K].backfilled||M1(s,R),((F=(N=R.neighboringTiles)===null||N===void 0?void 0:N[s.tileID.key])===null||F===void 0?void 0:F.backfilled)||M1(R,s)}}(u,this._inViewTiles),this._state.initializeTileState(u,this.map?this.map.painter:null),u.aborted||this._source.fire(new g.n("data",{dataType:"source",tile:u,coord:u.tileID})))}getTile(u){return this.getTileByID(u.key)}getTileByID(u){return this._inViewTiles.getTileById(u)}_retainLoadedChildren(u,r){let m=this._getLoadedDescendents(r),o=new Set;for(let s of r){let E=m[s.key];if(!(E==null?void 0:E.length)){o.add(s);continue}let L=s.overscaledZ+s0.maxOverzooming,N=E.filter((K)=>K.tileID.overscaledZK.tileID.overscaledZ)),P=N.filter((K)=>K.tileID.overscaledZ===F).map((K)=>K.tileID);for(let K of P)u[K.key]=K;this._areDescendentsComplete(P,F,s.overscaledZ)||o.add(s)}return o}_getLoadedDescendents(u){var r;let m={};for(let o of this._inViewTiles.getAllTiles().filter((s)=>s.hasData()))for(let s of u)o.tileID.isChildOf(s)&&(m[r=s.key]||(m[r]=[]),m[s.key].push(o));return m}_areDescendentsComplete(u,r,m){return u.length===1&&u[0].isOverscaled()?u[0].overscaledZ===r:Math.pow(4,r-m)===u.length}getLoadedTile(u){return this._inViewTiles.getLoadedTile(u)}updateCacheSize(u){let r=Math.ceil(u.width/this._source.tileSize)+1,m=Math.ceil(u.height/this._source.tileSize)+1,o=Math.floor(r*m*(this._maxTileCacheZoomLevels===null?g.c.MAX_TILE_CACHE_ZOOM_LEVELS:this._maxTileCacheZoomLevels)),s=typeof this._maxTileCacheSize=="number"?Math.min(this._maxTileCacheSize,o):o;this._outOfViewCache.setMaxSize(s)}handleWrapJump(u){let r=Math.round((u-(this._prevLng===void 0?u:this._prevLng))/360);this._prevLng=u,r&&(this._inViewTiles.handleWrapJump(r),this._resetTileReloadTimers())}update(u,r){if(!this._sourceLoaded||this._paused)return;let m;this.transform=u,this.terrain=r,this.updateCacheSize(u),this.handleWrapJump(this.transform.center.lng),this.used||this.usedForTerrain?this._source.tileID?m=u.getVisibleUnwrappedCoordinates(this._source.tileID).map((N)=>new g.a3(N.canonical.z,N.wrap,N.canonical.z,N.canonical.x,N.canonical.y)):(m=F5(u,{tileSize:this.usedForTerrain?this.tileSize:this._source.tileSize,minzoom:this._source.minzoom,maxzoom:this._source.type==="vector"&&this.map._zoomLevelsToOverscale!==void 0?u.maxZoom-this.map._zoomLevelsToOverscale:this._source.maxzoom,roundZoom:!this.usedForTerrain&&this._source.roundZoom,reparseOverscaled:this._source.reparseOverscaled,terrain:r,calculateTileZoom:this._source.calculateTileZoom}),this._source.hasTile&&(m=m.filter((N)=>this._source.hasTile(N)))):m=[],this.usedForTerrain&&(m=this._addTerrainIdealTiles(m));let o=m.length===0&&!this._updated&&this._didEmitContent;this._updated=!0,o&&this.fire(new g.n("data",{sourceDataType:"idle",dataType:"source",sourceId:this.id}));let s=t0(u,this._source),E=this._updateRetainedTiles(m,s),L=wp(this._source.type);L&&this._rasterFadeDuration>0&&!r&&function(N,F,P,K,R,U,z){let Q=q1(),t=g.at(F);for(let i of F){let X=N.getTileById(i.key);X.fadingDirection!==N2.Departing&&X.fadeOpacity!==0||X.resetFadeLogic(),fd(N,X,P,Q,K,R,z)||ic(N,X,P,Q,U,z)||sp(X,t,Q,z)||X.resetFadeLogic()}}(this._inViewTiles,m,E,this._maxFadingAncestorLevels,this._source.minzoom,this._source.maxzoom,this._rasterFadeDuration),L?this._cleanUpRasterTiles(E):this._cleanUpVectorTiles(E)}_cleanUpRasterTiles(u){for(let r of this._inViewTiles.getAllIds())u[r]||this._removeTile(r)}_cleanUpVectorTiles(u){for(let r of this._inViewTiles.getAllIds()){let m=this._inViewTiles.getTileById(r);u[r]?m.clearSymbolFadeHold():m.hasSymbolBuckets?m.holdingForSymbolFade()?m.symbolFadeFinished()&&this._removeTile(r):m.setSymbolHoldDuration(this.map._fadeDuration):this._removeTile(r)}}_addTerrainIdealTiles(u){let r=[];for(let m of u)if(m.canonical.z>this._source.minzoom){let o=m.scaledTo(m.canonical.z-1);r.push(o);let s=m.scaledTo(Math.max(this._source.minzoom,Math.min(m.canonical.z,5)));r.push(s)}return u.concat(r)}releaseSymbolFadeTiles(){for(let u of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(u).holdingForSymbolFade()&&this._removeTile(u)}_updateRetainedTiles(u,r){var m;let o=new Set;for(let F of u)this._addTile(F).hasData()||o.add(F);let s=u.reduce((F,P)=>(F[P.key]=P,F),{}),E=this._retainLoadedChildren(s,o),L={},N=Math.max(r-s0.maxUnderzooming,this._source.minzoom);for(let F of E){let P=this._inViewTiles.getTileById(F.key),K=P==null?void 0:P.wasRequested();for(let R=F.overscaledZ-1;R>=N;--R){let U=F.scaledTo(R);if(L[U.key])break;if(L[U.key]=!0,P=this.getTile(U),!P&&K&&(P=this._addTile(U)),P){let z=P.hasData();if((z||!((m=this.map)===null||m===void 0?void 0:m.cancelPendingTileRequestsWhileZooming)||K)&&(s[U.key]=U),K=P.wasRequested(),z)break}}}return s}_addTile(u){let r=this._inViewTiles.getTileById(u.key);if(r)return r;r=this._outOfViewCache.getAndRemove(u),r&&(r.resetFadeLogic(),this._setTileReloadTimer(u.key,r),r.tileID=u,this._state.initializeTileState(r,this.map?this.map.painter:null));let m=r;return r||(r=new Zu(u,this._source.tileSize*u.overscaleFactor()),this._loadTile(r,u.key,r.state)),r.uses++,this._inViewTiles.setTile(u.key,r),m||this._source.fire(new g.n("dataloading",{tile:r,coord:r.tileID,dataType:"source"})),r}_setTileReloadTimer(u,r){this._clearTileReloadTimer(u);let m=r.getExpiryTimeout();m&&(this._timers[u]=setTimeout(()=>{this._reloadTile(u,"expired"),delete this._timers[u]},m))}_clearTileReloadTimer(u){let r=this._timers[u];r&&(clearTimeout(r),delete this._timers[u])}_resetTileReloadTimers(){for(let u in this._timers)clearTimeout(this._timers[u]),delete this._timers[u];for(let u of this._inViewTiles.getAllIds()){let r=this._inViewTiles.getTileById(u);this._setTileReloadTimer(u,r)}}refreshTiles(u){for(let r of this._inViewTiles.getAllIds()){let m=this._inViewTiles.getTileById(r);(this._inViewTiles.isIdRenderable(r)||m.state=="errored")&&u.some((o)=>o.equals(m.tileID.canonical))&&this._reloadTile(r,"expired")}}_removeTile(u){let r=this._inViewTiles.getTileById(u);r&&(r.uses--,this._inViewTiles.deleteTileById(u),this._clearTileReloadTimer(u),r.uses>0||(r.hasData()&&r.state!=="reloading"?this._outOfViewCache.add(r.tileID,r,r.getExpiryTimeout()):(r.aborted=!0,this._abortTile(r),this._unloadTile(r))))}_dataHandler(u){u.dataType==="source"&&(u.sourceDataType!=="metadata"?u.sourceDataType==="content"&&this._sourceLoaded&&!this._paused&&(this.reload(u.sourceDataChanged,u.shouldReloadTileOptions),this.transform&&this.update(this.transform,this.terrain),this._didEmitContent=!0):this._sourceLoaded=!0)}clearTiles(){this._shouldReloadOnResume=!1,this._paused=!1;for(let u of this._inViewTiles.getAllIds())this._removeTile(u);this._outOfViewCache.reset()}tilesIn(u,r,m){let o=[],s=this.transform;if(!s)return o;let E=s.getCoveringTilesDetailsProvider().allowWorldCopies(),L=m?s.getCameraQueryGeometry(u):u,N=(U)=>s.screenPointToMercatorCoordinate(U,this.terrain),F=this.transformBbox(u,N,!E),P=this.transformBbox(L,N,!E),K=this.getIds(),R=g.a8.fromPoints(P);for(let U of K){let z=this._inViewTiles.getTileById(U);if(z.holdingForSymbolFade())continue;let Q=E?[z.tileID]:[z.tileID.unwrapTo(-1),z.tileID.unwrapTo(0)],t=Math.pow(2,s.zoom-z.tileID.overscaledZ),i=r*z.queryPadding*g.a6/z.tileSize/t;for(let X of Q){let c1=R.map(($)=>X.getTilePoint(new g.a7($.x,$.y)));if(c1.expandBy(i),c1.intersects(yp)){let $=F.map((u1)=>X.getTilePoint(u1)),e=P.map((u1)=>X.getTilePoint(u1));o.push({tile:z,tileID:E?X:X.unwrapTo(0),queryGeometry:$,cameraQueryGeometry:e,scale:t})}}}return o}transformBbox(u,r,m){let o=u.map(r);if(m){let s=g.a8.fromPoints(u);s.shrinkBy(0.001*Math.min(s.width(),s.height()));let E=s.map(r);g.a8.fromPoints(o).covers(E)||(o=o.map((L)=>L.x>0.5?new g.a7(L.x-1,L.y,L.z):L))}return o}getVisibleCoordinates(u){let r=this.getRenderableIds(u).map((m)=>this._inViewTiles.getTileById(m).tileID);return this.transform&&this.transform.populateCache(r),r}hasTransition(){return!!this._source.hasTransition()||wp(this._source.type)&&function(u,r){if(r=m)return!0;return!1}(this._inViewTiles,this._rasterFadeDuration)}setRasterFadeDuration(u){this._rasterFadeDuration=u}setFeatureState(u,r,m){u||(u=g.ag),this._state.updateState(u,r,m)}removeFeatureState(u,r,m){u||(u=g.ag),this._state.removeFeatureState(u,r,m)}getFeatureState(u,r){return u||(u=g.ag),this._state.getState(u,r)}setDependencies(u,r,m){let o=this._inViewTiles.getTileById(u);o&&o.setDependencies(r,m)}reloadTilesForDependencies(u,r){for(let m of this._inViewTiles.getAllIds())this._inViewTiles.getTileById(m).hasDependency(u,r)&&this._reloadTile(m,"reloading");this._outOfViewCache.filter((m)=>!m.hasDependency(u,r))}areTilesLoaded(){for(let u of this._inViewTiles.getAllTiles())if(u.state!=="loaded"&&u.state!=="errored")return!1;return!0}}s0.maxUnderzooming=10,s0.maxOverzooming=3;class ec{constructor(u,r){this.reset(u,r)}reset(u,r){this.points=u||[],this._distances=[0];for(let m=1;m<this.points.length;m++)this._distances[m]=this._distances[m-1]+this.points[m].dist(this.points[m-1]);this.length=this._distances[this._distances.length-1],this.padding=Math.min(r||0,0.5*this.length),this.paddedLength=this.length-2*this.padding}lerp(u){if(this.points.length===1)return this.points[0];u=g.al(u,0,1);let r=1,m=this._distances[r],o=u*this.paddedLength+this.padding;for(;m<o&&r0?(o-E)/L:0;return this.points[s].mult(1-N).add(this.points[r].mult(N))}}function $u(u,r){let m=!0;return u==="always"||u!=="never"&&r!=="never"||(m=!1),m}class H1{constructor(u,r,m){let o=this.boxCells=[],s=this.circleCells=[];this.xCellCount=Math.ceil(u/m),this.yCellCount=Math.ceil(r/m);for(let E=0;E<this.xCellCount*this.yCellCount;E++)o.push([]),s.push([]);this.circleKeys=[],this.boxKeys=[],this.bboxes=[],this.circles=[],this.width=u,this.height=r,this.xScale=this.xCellCount/u,this.yScale=this.yCellCount/r,this.boxUid=0,this.circleUid=0}keysLength(){return this.boxKeys.length+this.circleKeys.length}insert(u,r,m,o,s){this._forEachCell(r,m,o,s,this._insertBoxCell,this.boxUid++),this.boxKeys.push(u),this.bboxes.push(r),this.bboxes.push(m),this.bboxes.push(o),this.bboxes.push(s)}insertCircle(u,r,m,o){this._forEachCell(r-o,m-o,r+o,m+o,this._insertCircleCell,this.circleUid++),this.circleKeys.push(u),this.circles.push(r),this.circles.push(m),this.circles.push(o)}_insertBoxCell(u,r,m,o,s,E){this.boxCells[s].push(E)}_insertCircleCell(u,r,m,o,s,E){this.circleCells[s].push(E)}_query(u,r,m,o,s,E,L){if(mthis.width||othis.height)return[];let N=[];if(u<=0&&r<=0&&this.width<=m&&this.height<=o){if(s)return[{key:null,x1:u,y1:r,x2:m,y2:o}];for(let F=0;F<this.boxKeys.length;F++)N.push({key:this.boxKeys[F],x1:this.bboxes[4*F],y1:this.bboxes[4*F+1],x2:this.bboxes[4*F+2],y2:this.bboxes[4*F+3]});for(let F=0;F0}hitTestCircle(u,r,m,o,s){let E=u-m,L=u+m,N=r-m,F=r+m;if(Lthis.width||Fthis.height)return!1;let P=[];return this._forEachCell(E,N,L,F,this._queryCellCircle,P,{hitTest:!0,overlapMode:o,circle:{x:u,y:r,radius:m},seenUids:{box:{},circle:{}}},s),P.length>0}_queryCell(u,r,m,o,s,E,L,N){let{seenUids:F,hitTest:P,overlapMode:K}=L,R=this.boxCells[s];if(R!==null){let Q=this.bboxes;for(let t of R)if(!F.box[t]){F.box[t]=!0;let i=4*t,X=this.boxKeys[t];if(u<=Q[i+2]+0.000001&&r=Q[i+0]-0.000001&&o>=Q[i+1]-0.000001&&(!N||N(X))&&(!P||!$u(K,X.overlapMode))&&(E.push({key:X,x1:Q[i],y1:Q[i+1],x2:Q[i+2],y2:Q[i+3]}),P))return!0}}let z=this.circleCells[s];if(z!==null){let Q=this.circles;for(let t of z)if(!F.circle[t]){F.circle[t]=!0;let i=3*t,X=this.circleKeys[t];if(this._circleAndRectCollide(Q[i],Q[i+1],Q[i+2],u,r,m,o)&&(!N||N(X))&&(!P||!$u(K,X.overlapMode))){let c1=Q[i],$=Q[i+1],e=Q[i+2];if(E.push({key:X,x1:c1-e,y1:$-e,x2:c1+e,y2:$+e}),P)return!0}}}return!1}_queryCellCircle(u,r,m,o,s,E,L,N){let{circle:F,seenUids:P,overlapMode:K}=L,R=this.boxCells[s];if(R!==null){let z=this.bboxes;for(let Q of R)if(!P.box[Q]){P.box[Q]=!0;let t=4*Q,i=this.boxKeys[Q];if(this._circleAndRectCollide(F.x,F.y,F.radius,z[t+0],z[t+1],z[t+2],z[t+3])&&(!N||N(i))&&!$u(K,i.overlapMode))return E.push(!0),!0}}let U=this.circleCells[s];if(U!==null){let z=this.circles;for(let Q of U)if(!P.circle[Q]){P.circle[Q]=!0;let t=3*Q,i=this.circleKeys[Q];if(this._circlesCollide(z[t],z[t+1],z[t+2],F.x,F.y,F.radius)&&(!N||N(i))&&!$u(K,i.overlapMode))return E.push(!0),!0}}}_forEachCell(u,r,m,o,s,E,L,N){let F=this._convertToXCellCoord(u),P=this._convertToYCellCoord(r),K=this._convertToXCellCoord(m),R=this._convertToYCellCoord(o);for(let U=F;U<=K;U++)for(let z=P;zL*L+N*N}_circleAndRectCollide(u,r,m,o,s,E,L){let N=(E-o)/2,F=Math.abs(u-(o+N));if(F>N+m)return!1;let P=(L-s)/2,K=Math.abs(r-(s+P));if(K>P+m)return!1;if(F<=N||K<=P)return!0;let R=F-N,U=K-P;return R*R+U*U<=m*m}}function cl(u,r){let m=1/(r[0]*r[0]+r[1]*r[1]+r[2]*r[2]),o=1/(r[8]*r[8]+r[9]*r[9]+r[10]*r[10]),s=r[0]*m,E=r[4]*m,L=r[8]*o,N=r[1]*m,F=r[5]*m,P=r[9]*o,K=r[2]*m,R=r[6]*m,U=r[10]*o;u[0]=s,u[1]=E,u[2]=L,u[4]=N,u[5]=F,u[6]=P,u[8]=K,u[9]=R,u[10]=U;let z=r[12],Q=r[13],t=r[14];return u[12]=-s*z-N*Q-K*t,u[13]=-E*z-F*Q-R*t,u[14]=-L*z-P*Q-U*t,u[3]=0,u[7]=0,u[11]=0,u[15]=1,u}let vl=g.O();function y2(u,r,m){let o=g.O();if(!u){let{vecSouth:R,vecEast:U}=Cu(r),z=b();z[0]=U[0],z[1]=U[1],z[2]=R[0],z[3]=R[1],s=z,(K=(L=(E=z)[0])*(P=E[3])-(F=E[2])*(N=E[1]))&&(s[0]=P*(K=1/K),s[1]=-N*K,s[2]=-F*K,s[3]=L*K),o[0]=z[0],o[1]=z[1],o[4]=z[2],o[5]=z[3]}var s,E,L,N,F,P,K;return g.S(o,o,[1/m,1/m,1]),o}function tc(u,r,m,o){if(u){let s=g.O();if(!r){let{vecSouth:E,vecEast:L}=Cu(m);s[0]=L[0],s[1]=L[1],s[4]=E[0],s[5]=E[1]}return g.S(s,s,[o,o,1]),s}return m.pixelsToClipSpaceMatrix}function Cu(u){let r=Math.cos(u.rollInRadians),m=Math.sin(u.rollInRadians),o=Math.cos(u.pitchInRadians),s=Math.cos(u.bearingInRadians),E=Math.sin(u.bearingInRadians),L=g.az();L[0]=-s*o*m-E*r,L[1]=-E*o*m+s*r;let N=g.aA(L);N<0.000000001?g.aB(L):g.aC(L,L,1/N);let F=g.az();F[0]=s*o*r-E*m,F[1]=E*o*r+s*m;let P=g.aA(F);return P=-r[0]&&u.x=-r[1]&&u.y<=r[1]}function lr(u,r,m,o,s,E,L,N,F,P,K,R,U){let z=m?u.textSizeData:u.iconSizeData,Q=g.aw(z,r.transform.zoom),t=[256/r.width*2+1,256/r.height*2+1],i=m?u.text.dynamicLayoutVertexArray:u.icon.dynamicLayoutVertexArray;i.clear();let X=u.lineVertexArray,c1=m?u.text.placedSymbolArray:u.icon.placedSymbolArray,$=r.transform.width/r.transform.height,e=!1;for(let u1=0;u1Math.abs(m.x-r.x)*o?{useVertical:!0}:(u===g.ax.vertical?r.ym.x)?{needsFlipping:!0}:null}function n3(u){let{projectionContext:r,pitchedLabelPlaneMatrixInverse:m,symbol:o,fontSize:s,flip:E,keepUpright:L,glyphOffsetArray:N,dynamicLayoutVertexArray:F,aspectRatio:P,rotateToLine:K}=u,R=s/24,U=o.lineOffsetX*R,z=o.lineOffsetY*R,Q;if(o.numGlyphs>1){let t=o.glyphStartIndex+o.numGlyphs,i=o.lineStartIndex,X=o.lineStartIndex+o.lineLength,c1=E3(R,N,U,z,E,o,K,r);if(!c1)return{notEnoughRoom:!0};let $=ur(c1.first.point.x,c1.first.point.y,r,m),e=ur(c1.last.point.x,c1.last.point.y,r,m);if(L&&!E){let u1=M4(o.writingMode,$,e,P);if(u1)return u1}Q=[c1.first];for(let u1=o.glyphStartIndex+1;u10?$.point:B4(r.tileAnchorPoint,c1,i,1,r),u1=ur(i.x,i.y,r,m),T=ur(e.x,e.y,r,m),p1=M4(o.writingMode,u1,T,P);if(p1)return p1}let t=Q2(R*N.getoffsetX(o.glyphStartIndex),U,z,E,o.segment,o.lineStartIndex,o.lineStartIndex+o.lineLength,r,K);if(!t||r.projectionCache.anyProjectionOccluded)return{notEnoughRoom:!0};Q=[t]}for(let t of Q)g.aD(F,t.point,t.angle);return{}}function B4(u,r,m,o,s){let E=u.add(u.sub(r)._unit()),L=Wl(E.x,E.y,s).point,N=m.sub(L);return m.add(N._mult(o/N.mag()))}function L0(u,r,m){let o=r.projectionCache;if(o.projections[u])return o.projections[u];let s=new g.P(r.lineVertexArray.getx(u),r.lineVertexArray.gety(u)),E=Wl(s.x,s.y,r);if(E.signedDistanceFromCamera>0)return o.projections[u]=E.point,o.anyProjectionOccluded||(o.anyProjectionOccluded=E.isOccluded),E.point;let L=u-m.direction;return B4(m.distanceFromAnchor===0?r.tileAnchorPoint:new g.P(r.lineVertexArray.getx(L),r.lineVertexArray.gety(L)),s,m.previousVertex,m.absOffsetX-m.distanceFromAnchor+1,r)}function Wl(u,r,m){let o=u+m.translation[0],s=r+m.translation[1],E;return m.pitchWithMap?(E=pl(o,s,m.pitchedLabelPlaneMatrix,m.getElevation),E.isOccluded=!1):(E=m.transform.projectTileCoordinates(o,s,m.unwrappedTileID,m.getElevation),E.point.x=(0.5*E.point.x+0.5)*m.width,E.point.y=(0.5*-E.point.y+0.5)*m.height),E}function ur(u,r,m,o){if(m.pitchWithMap){let s=[u,r,0,1];return g.aE(s,s,o),m.transform.projectTileCoordinates(s[0]/s[3],s[1]/s[3],m.unwrappedTileID,m.getElevation).point}return{x:u/m.width*2-1,y:1-r/m.height*2}}function A3(u,r,m){return m.transform.projectTileCoordinates(u,r,m.unwrappedTileID,m.getElevation)}function K4(u,r,m){return u._unit()._perp()._mult(r*m)}function q5(u,r,m,o,s,E,L,N,F){if(N.projectionCache.offsets[u])return N.projectionCache.offsets[u];let P=m.add(r);if(u+F.direction=s)return N.projectionCache.offsets[u]=P,P;let K=L0(u+F.direction,N,F),R=K4(K.sub(m),L,F.direction),U=m.add(R),z=K.add(R);return N.projectionCache.offsets[u]=g.aF(E,P,U,z)||P,N.projectionCache.offsets[u]}function Q2(u,r,m,o,s,E,L,N,F){let P=o?u-r:u+r,K=P>0?1:-1,R=0;o&&(K*=-1,R=Math.PI),K0?E+s:E+s+1;N.projectionCache.cachedAnchorPoint?U=N.projectionCache.cachedAnchorPoint:(U=Wl(N.tileAnchorPoint.x,N.tileAnchorPoint.y,N).point,N.projectionCache.cachedAnchorPoint=U);let Q,t,i=U,X=U,c1=0,$=0,e=Math.abs(P),u1=[],T;for(;c1+$<=e;){if(z+=K,z=L)return null;c1+=$,X=i,t=Q;let h1={absOffsetX:e,direction:K,distanceFromAnchor:c1,previousVertex:X};if(i=L0(z,N,h1),m===0)u1.push(X),T=i.sub(X);else{let W1,L1=i.sub(X);W1=L1.mag()===0?K4(L0(z+K,N,h1).sub(i),m,K):K4(L1,m,K),t||(t=X.add(W1)),Q=q5(z,W1,i,E,L,t,m,N,h1),u1.push(t),T=Q.sub(t)}$=T.mag()}let p1=T._mult((e-c1)/$)._add(t||X),S1=R+Math.atan2(i.y-X.y,i.x-X.x);return u1.push(p1),{point:p1,angle:F?S1:0,path:u1}}let Sp=new Float32Array([-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0,-1/0,-1/0,0]);function P5(u,r){for(let m=0;m<u;m++){let o=r.length;r.resize(o+4),r.float32.set(Sp,3*o)}}function cr(u,r,m){let o=r[0],s=r[1];return u[0]=m[0]*o+m[4]*s+m[12],u[1]=m[1]*o+m[5]*s+m[13],u[3]=m[3]*o+m[7]*s+m[15],u}let jl=100;class J6{constructor(u,r=new H1(u.width+200,u.height+200,25),m=new H1(u.width+200,u.height+200,25)){this.transform=u,this.grid=r,this.ignoredGrid=m,this.pitchFactor=Math.cos(u.pitch*Math.PI/180)*u.cameraToCenterDistance,this.screenRightBoundary=u.width+jl,this.screenBottomBoundary=u.height+jl,this.gridRightBoundary=u.width+200,this.gridBottomBoundary=u.height+200,this.perspectiveRatioCutoff=0.6}placeCollisionBox(u,r,m,o,s,E,L,N,F,P,K,R){let U=this.projectAndGetPerspectiveRatio(u.anchorPointX+N[0],u.anchorPointY+N[1],s,P,R),z=m*U.perspectiveRatio,Q;if(E||L)Q=this._projectCollisionBox(u,z,o,s,E,L,N,U,P,K,R);else{let u1=U.x+(K?K.x*z:0),T=U.y+(K?K.y*z:0);Q={allPointsOccluded:!1,box:[u1+u.x1*z,T+u.y1*z,u1+u.x2*z,T+u.y2*z]}}let[t,i,X,c1]=Q.box,$=E?Q.allPointsOccluded:U.isOccluded,e=$;return e||(e=U.perspectiveRatio=1;I1--)j1.push(L1.path[I1]);for(let I1=1;I1i1.signedDistanceFromCamerai1.point)}let O1=[];if(j1.length>0){let I1=j1[0].clone(),i1=j1[0].clone();for(let Jl=1;Jl=S1.x&&i1.x=S1.y&&i1.y<=h1.y?[j1]:i1.xh1.x||i1.yh1.y?[]:g.aG([j1],S1.x,S1.y,h1.x,h1.y)}for(let I1 of O1){W1.reset(I1,0.25*p1);let i1=0;i1=W1.length<=0.5*p1?1:Math.ceil(W1.paddedLength/C1)+1;for(let Jl=0;Jl<i1;Jl++){let Xl=Jl/Math.max(i1-1,1),Dl=W1.lerp(Xl),r0=Dl.x+jl,B0=Dl.y+jl;Q.push(r0,B0,p1,0);let Ml=r0-p1,P2=B0-p1,v0=r0+p1,K0=B0+p1;if(T&&(T=this.isOffscreen(Ml,P2,v0,K0)),u1||(u1=this.isInsideGrid(Ml,P2,v0,K0)),u!=="always"&&this.grid.hitTestCircle(r0,B0,p1,u,P)&&(e=!0,!N))return{circles:[],offscreen:!1,collisionDetected:e}}}}return{circles:!N&&e||!u1||i{let N=pl(L.x,L.y,E,s.getElevation),F=s.transform.projectTileCoordinates(N.point.x,N.point.y,s.unwrappedTileID,s.getElevation);return F.point.x=(0.5*F.point.x+0.5)*s.width,F.point.y=(0.5*-F.point.y+0.5)*s.height,F})}(u,r);return function(o){let s=0,E=0,L=0,N=0;for(let F=0;FE&&(E=N,s=L));return o.slice(s,s+E)}(m)}queryRenderedSymbols(u){if(u.length===0||this.grid.keysLength()===0&&this.ignoredGrid.keysLength()===0)return{};let r=[],m=new g.a8;for(let K of u){let R=new g.P(K.x+jl,K.y+jl);m.extend(R),r.push(R)}let{minX:o,minY:s,maxX:E,maxY:L}=m,N=this.grid.query(o,s,E,L).concat(this.ignoredGrid.query(o,s,E,L)),F={},P={};for(let K of N){let R=K.key;if(F[R.bucketInstanceId]===void 0&&(F[R.bucketInstanceId]={}),F[R.bucketInstanceId][R.featureIndex])continue;let U=[new g.P(K.x1,K.y1),new g.P(K.x2,K.y1),new g.P(K.x2,K.y2),new g.P(K.x1,K.y2)];g.aH(r,U)&&(F[R.bucketInstanceId][R.featureIndex]=!0,P[R.bucketInstanceId]===void 0&&(P[R.bucketInstanceId]=[]),P[R.bucketInstanceId].push(R.featureIndex))}return P}insertCollisionBox(u,r,m,o,s,E){(m?this.ignoredGrid:this.grid).insert({bucketInstanceId:o,featureIndex:s,collisionGroupID:E,overlapMode:r},u[0],u[1],u[2],u[3])}insertCollisionCircles(u,r,m,o,s,E){let L=m?this.ignoredGrid:this.grid,N={bucketInstanceId:o,featureIndex:s,collisionGroupID:E,overlapMode:r};for(let F=0;F<u.length;F+=4)L.insertCircle(N,u[F],u[F+1],u[F+2])}projectAndGetPerspectiveRatio(u,r,m,o,s){if(s){let E;o?(E=[u,r,o(u,r),1],g.aE(E,E,s)):(E=[u,r,0,1],cr(E,E,s));let L=E[3];return{x:(E[0]/L+1)/2*this.transform.width+jl,y:(-E[1]/L+1)/2*this.transform.height+jl,perspectiveRatio:0.5+this.transform.cameraToCenterDistance/L*0.5,isOccluded:!1,signedDistanceFromCamera:L}}{let E=this.transform.projectTileCoordinates(u,r,m,o);return{x:(E.point.x+1)/2*this.transform.width+jl,y:(1-E.point.y)/2*this.transform.height+jl,perspectiveRatio:0.5+this.transform.cameraToCenterDistance/E.signedDistanceFromCamera*0.5,isOccluded:E.isOccluded,signedDistanceFromCamera:E.signedDistanceFromCamera}}}getPerspectiveRatio(u,r,m,o){let s=this.transform.projectTileCoordinates(u,r,m,o);return 0.5+this.transform.cameraToCenterDistance/s.signedDistanceFromCamera*0.5}isOffscreen(u,r,m,o){return m=this.screenRightBoundary||othis.screenBottomBoundary}isInsideGrid(u,r,m,o){return m>=0&&u=0&&r<this.gridBottomBoundary}getViewportMatrix(){let u=g.ap([]);return g.Q(u,u,[-100,-100,0]),u}_projectCollisionBox(u,r,m,o,s,E,L,N,F,P,K){let R=1,U=0,z=0,Q=1,t=u.anchorPointX+L[0],i=u.anchorPointY+L[1];if(E&&!s){let j1=this.projectAndGetPerspectiveRatio(t+1,i,o,F,K),C1=j1.x-N.x,O1=Math.atan((j1.y-N.y)/C1)+(C1this.projectAndGetPerspectiveRatio(C1.x,C1.y,o,F,K));Q1=j1.some((C1)=>!C1.isOccluded),L1=j1.map((C1)=>new g.P(C1.x,C1.y))}else Q1=!0;return{box:g.aI(L1),allPointsOccluded:!Q1}}}class X6{constructor(u,r,m,o){this.opacity=u?Math.max(0,Math.min(1,u.opacity+(u.placed?r:-r))):o&&m?1:0,this.placed=m}isHidden(){return this.opacity===0&&!this.placed}}class V3{constructor(u,r,m,o,s){this.text=new X6(u?u.text:null,r,m,s),this.icon=new X6(u?u.icon:null,r,o,s)}isHidden(){return this.text.isHidden()&&this.icon.isHidden()}}class T6{constructor(u,r,m){this.text=u,this.icon=r,this.skipFade=m}}class Z6{constructor(u,r,m,o,s){this.bucketInstanceId=u,this.featureIndex=r,this.sourceLayerIndex=m,this.bucketIndex=o,this.tileID=s}}class b6{constructor(u){this.crossSourceCollisions=u,this.maxGroupID=0,this.collisionGroups={}}get(u){if(this.crossSourceCollisions)return{ID:0,predicate:null};if(!this.collisionGroups[u]){let r=++this.maxGroupID;this.collisionGroups[u]={ID:r,predicate:(m)=>m.collisionGroupID===r}}return this.collisionGroups[u]}}function rr(u,r,m,o,s){let{horizontalAlign:E,verticalAlign:L}=g.aP(u);return new g.P(-(E-0.5)*r+o[0]*s,-(L-0.5)*m+o[1]*s)}class pr{constructor(u,r,m,o,s){this.transform=u.clone(),this.terrain=r,this.collisionIndex=new J6(this.transform),this.placements={},this.opacities={},this.variableOffsets={},this.stale=!1,this.commitTime=0,this.fadeDuration=m,this.retainedQueryData={},this.collisionGroups=new b6(o),this.collisionCircleArrays={},this.collisionBoxArrays=new Map,this.prevPlacement=s,s&&(s.prevPlacement=void 0),this.placedOrientations={}}_getTerrainElevationFunc(u){let r=this.terrain;return r?(m,o)=>r.getElevation(u,m,o):null}getBucketParts(u,r,m,o){let s=m.getBucket(r),E=m.latestFeatureIndex;if(!s||!E||r.id!==s.layerIds[0])return;let L=m.collisionBoxArray,N=s.layers[0].layout,F=s.layers[0].paint,P=Math.pow(2,this.transform.zoom-m.tileID.overscaledZ),K=m.tileSize/g.a6,R=m.tileID.toUnwrapped(),U=N.get("text-rotation-alignment")==="map",z=g.aK(m,1,this.transform.zoom),Q=g.aL(this.collisionIndex.transform,m,F.get("text-translate"),F.get("text-translate-anchor")),t=g.aL(this.collisionIndex.transform,m,F.get("icon-translate"),F.get("icon-translate-anchor")),i=y2(U,this.transform,z);this.retainedQueryData[s.bucketInstanceId]=new Z6(s.bucketInstanceId,E,s.sourceLayerIndex,s.index,m.tileID);let X={bucket:s,layout:N,translationText:Q,translationIcon:t,unwrappedTileID:R,pitchedLabelPlaneMatrix:i,scale:P,textPixelRatio:K,holdingForFade:m.holdingForSymbolFade(),collisionBoxArray:L,partiallyEvaluatedTextSize:g.aw(s.textSizeData,this.transform.zoom),collisionGroup:this.collisionGroups.get(s.sourceID)};if(o)for(let c1 of s.sortKeyRanges){let{sortKey:$,symbolInstanceStart:e,symbolInstanceEnd:u1}=c1;u.push({sortKey:$,symbolInstanceStart:e,symbolInstanceEnd:u1,parameters:X})}else u.push({symbolInstanceStart:0,symbolInstanceEnd:s.symbolInstances.length,parameters:X})}attemptAnchorPlacement(u,r,m,o,s,E,L,N,F,P,K,R,U,z,Q,t,i,X,c1,$){var e,u1,T;let p1=g.aM[u.textAnchor],S1=[u.textOffset0,u.textOffset1],h1=rr(p1,m,o,S1,s),W1=this.collisionIndex.placeCollisionBox(r,R,N,F,P,L,E,t,K.predicate,c1,h1,$);if((!X||this.collisionIndex.placeCollisionBox(X,R,N,F,P,L,E,i,K.predicate,c1,h1,$).placeable)&&W1.placeable){let L1;if(((e=this.prevPlacement)===null||e===void 0?void 0:e.variableOffsets[U.crossTileID])&&((T=(u1=this.prevPlacement)===null||u1===void 0?void 0:u1.placements[U.crossTileID])===null||T===void 0?void 0:T.text)&&(L1=this.prevPlacement.variableOffsets[U.crossTileID].anchor),U.crossTileID===0)throw Error("symbolInstance.crossTileID can't be 0");return this.variableOffsets[U.crossTileID]={textOffset:S1,width:m,height:o,anchor:p1,textBoxScale:s,prevAnchor:L1},this.markUsedJustification(z,p1,U,Q),z.allowVerticalPlacement&&(this.markUsedOrientation(z,Q,U),this.placedOrientations[U.crossTileID]=Q),{shift:h1,placedGlyphBoxes:W1}}}placeLayerBucketPart(u,r,m){let{bucket:o,layout:s,translationText:E,translationIcon:L,unwrappedTileID:N,pitchedLabelPlaneMatrix:F,textPixelRatio:P,holdingForFade:K,collisionBoxArray:R,partiallyEvaluatedTextSize:U,collisionGroup:z}=u.parameters,Q=s.get("text-optional"),t=s.get("icon-optional"),i=g.aN(s,"text-overlap","text-allow-overlap"),X=i==="always",c1=g.aN(s,"icon-overlap","icon-allow-overlap"),$=c1==="always",e=s.get("text-rotation-alignment")==="map",u1=s.get("text-pitch-alignment")==="map",T=s.get("icon-text-fit")!=="none",p1=s.get("symbol-z-order")==="viewport-y",S1=X&&($||!o.hasIconData()||t),h1=$&&(X||!o.hasTextData()||Q);!o.collisionArrays&&R&&o.deserializeCollisionBoxes(R);let W1=this.retainedQueryData[o.bucketInstanceId].tileID,L1=this._getTerrainElevationFunc(W1),Q1=this.transform.getFastPathSimpleProjectionMatrix(W1),j1=(C1,O1,I1)=>{var i1,Jl;if(r[C1.crossTileID])return;if(K)return void(this.placements[C1.crossTileID]=new T6(!1,!1,!1));let Xl=!1,Dl=!1,r0=!0,B0=null,Ml={box:null,placeable:!1,offscreen:null,occluded:!1},P2={placeable:!1},v0=null,K0=null,U0=null,du=0,_5=0,i5=0;O1.textFeatureIndex?du=O1.textFeatureIndex:C1.useRuntimeCollisionCircles&&(du=C1.featureIndex),O1.verticalTextFeatureIndex&&(_5=O1.verticalTextFeatureIndex);let mu=O1.textBox;if(mu){let M2=(zl)=>{let Rl=g.ax.horizontal;if(o.allowVerticalPlacement&&!zl&&this.prevPlacement){let Ol=this.prevPlacement.placedOrientations[C1.crossTileID];Ol&&(this.placedOrientations[C1.crossTileID]=Ol,Rl=Ol,this.markUsedOrientation(o,Rl,C1))}return Rl},v5=(zl,Rl)=>{if(o.allowVerticalPlacement&&C1.numVerticalGlyphVertices>0&&O1.verticalTextBox){for(let Ol of o.writingModes)if(Ol===g.ax.vertical?(Ml=Rl(),P2=Ml):Ml=zl(),Ml==null?void 0:Ml.placeable)break}else Ml=zl()},a5=C1.textAnchorOffsetStartIndex,B2=C1.textAnchorOffsetEndIndex;if(B2===a5){let zl=(Rl,Ol)=>{let Bl=this.collisionIndex.placeCollisionBox(Rl,i,P,W1,N,u1,e,E,z.predicate,L1,void 0,Q1);return(Bl==null?void 0:Bl.placeable)&&(this.markUsedOrientation(o,Ol,C1),this.placedOrientations[C1.crossTileID]=Ol),Bl};v5(()=>zl(mu,g.ax.horizontal),()=>{let Rl=O1.verticalTextBox;return o.allowVerticalPlacement&&C1.numVerticalGlyphVertices>0&&Rl?zl(Rl,g.ax.vertical):{box:null,offscreen:null}}),M2(Ml==null?void 0:Ml.placeable)}else{let zl=g.aM[(Jl=(i1=this.prevPlacement)===null||i1===void 0?void 0:i1.variableOffsets[C1.crossTileID])===null||Jl===void 0?void 0:Jl.anchor],Rl=(Bl,vu,o5)=>{let kc=Bl.x2-Bl.x1,au=Bl.y2-Bl.y1,T7=C1.textBoxScale,u9=T&&c1==="never"?vu:null,Pu=null,Z7=i==="never"?1:2,h5="never";zl&&Z7++;for(let y5=0;y5<Z7;y5++){for(let Ir=a5;IrRl(mu,O1.iconBox,g.ax.horizontal),()=>{let Bl=O1.verticalTextBox;return o.allowVerticalPlacement&&!(Ml==null?void 0:Ml.placeable)&&C1.numVerticalGlyphVertices>0&&Bl?Rl(Bl,O1.verticalIconBox,g.ax.vertical):{box:null,occluded:!0,offscreen:null}}),Ml&&(Xl=Ml.placeable,r0=Ml.offscreen);let Ol=M2(Ml==null?void 0:Ml.placeable);if(!Xl&&this.prevPlacement){let Bl=this.prevPlacement.variableOffsets[C1.crossTileID];Bl&&(this.variableOffsets[C1.crossTileID]=Bl,this.markUsedJustification(o,Bl.anchor,C1,Ol))}}}if(v0=Ml,Xl=v0==null?void 0:v0.placeable,r0=v0==null?void 0:v0.offscreen,C1.useRuntimeCollisionCircles&&C1.centerJustifiedTextSymbolIndex>=0){let M2=o.text.placedSymbolArray.get(C1.centerJustifiedTextSymbolIndex),v5=g.ay(o.textSizeData,U,M2),a5=s.get("text-padding");K0=this.collisionIndex.placeCollisionCircles(i,M2,o.lineVertexArray,o.glyphOffsetArray,v5,N,F,m,u1,z.predicate,C1.collisionCircleDiameter,a5,E,L1),K0.circles.length&&K0.collisionDetected&&!m&&g.w("Collisions detected, but collision boxes are not shown"),Xl=X||K0.circles.length>0&&!K0.collisionDetected,r0&&(r0=K0.offscreen)}if(O1.iconFeatureIndex&&(i5=O1.iconFeatureIndex),O1.iconBox){let M2=(v5)=>this.collisionIndex.placeCollisionBox(v5,c1,P,W1,N,u1,e,L,z.predicate,L1,T&&B0?B0:void 0,Q1);P2&&P2.placeable&&O1.verticalIconBox?(U0=M2(O1.verticalIconBox),Dl=U0.placeable):(U0=M2(O1.iconBox),Dl=U0.placeable),r0&&(r0=U0.offscreen)}let J0=Q||C1.numHorizontalGlyphVertices===0&&C1.numVerticalGlyphVertices===0,gu=t||C1.numIconVertices===0;J0||gu?gu?J0||Dl&&(Dl=Xl):Xl=Dl&&Xl:Dl=Xl=Dl&&Xl;let g5=Dl&&U0.placeable;if(Xl&&v0.placeable&&this.collisionIndex.insertCollisionBox(v0.box,i,s.get("text-ignore-placement"),o.bucketInstanceId,P2&&P2.placeable&&_5?_5:du,z.ID),g5&&this.collisionIndex.insertCollisionBox(U0.box,c1,s.get("icon-ignore-placement"),o.bucketInstanceId,i5,z.ID),K0&&Xl&&this.collisionIndex.insertCollisionCircles(K0.circles,i,s.get("text-ignore-placement"),o.bucketInstanceId,du,z.ID),m&&this.storeCollisionData(o.bucketInstanceId,I1,O1,v0,U0,K0),C1.crossTileID===0)throw Error("symbolInstance.crossTileID can't be 0");if(o.bucketInstanceId===0)throw Error("bucket.bucketInstanceId can't be 0");this.placements[C1.crossTileID]=new T6((Xl||S1)&&!(v0==null?void 0:v0.occluded),(Dl||h1)&&!(U0==null?void 0:U0.occluded),r0||o.justReloaded),r[C1.crossTileID]=!0};if(p1){if(u.symbolInstanceStart!==0)throw Error("bucket.bucketInstanceId should be 0");let C1=o.getSortedSymbolIndexes(-this.transform.bearingInRadians);for(let O1=C1.length-1;O1>=0;--O1){let I1=C1[O1];j1(o.symbolInstances.get(I1),o.collisionArrays[I1],I1)}}else for(let C1=u.symbolInstanceStart;C1<u.symbolInstanceEnd;C1++)j1(o.symbolInstances.get(C1),o.collisionArrays[C1],C1);o.justReloaded=!1}storeCollisionData(u,r,m,o,s,E){if(m.textBox||m.iconBox){let L,N;this.collisionBoxArrays.has(u)?L=this.collisionBoxArrays.get(u):(L=new Map,this.collisionBoxArrays.set(u,L)),L.has(r)?N=L.get(r):(N={text:null,icon:null},L.set(r,N)),m.textBox&&(N.text=o.box),m.iconBox&&(N.icon=s.box)}if(E){let L=this.collisionCircleArrays[u];L===void 0&&(L=this.collisionCircleArrays[u]=[]);for(let N=0;N=0&&(u.text.placedSymbolArray.get(L).crossTileID=s>=0&&L!==s?0:m.crossTileID)}markUsedOrientation(u,r,m){let o=r===g.ax.horizontal||r===g.ax.horizontalOnly?r:0,s=r===g.ax.vertical?r:0,E=[m.leftJustifiedTextSymbolIndex,m.centerJustifiedTextSymbolIndex,m.rightJustifiedTextSymbolIndex];for(let L of E)u.text.placedSymbolArray.get(L).placedOrientation=o;m.verticalPlacedTextSymbolIndex&&(u.text.placedSymbolArray.get(m.verticalPlacedTextSymbolIndex).placedOrientation=s)}commit(u){this.commitTime=u,this.zoomAtLastRecencyCheck=this.transform.zoom;let r=this.prevPlacement,m=!1;this.prevZoomAdjustment=r?r.zoomAdjustment(this.transform.zoom):0;let o=r?r.symbolFadeChange(u):1,s=r?r.opacities:{},E=r?r.variableOffsets:{},L=r?r.placedOrientations:{};for(let N in this.placements){let F=this.placements[N],P=s[N];P?(this.opacities[N]=new V3(P,o,F.text,F.icon),m||(m=F.text!==P.text.placed),m||(m=F.icon!==P.icon.placed)):(this.opacities[N]=new V3(null,o,F.text,F.icon,F.skipFade),m||(m=F.text||F.icon))}for(let N in s){let F=s[N];if(!this.opacities[N]){let P=new V3(F,o,!1,!1);P.isHidden()||(this.opacities[N]=P,m||(m=F.text.placed),m||(m=F.icon.placed))}}for(let N in E)this.variableOffsets[N]||!this.opacities[N]||this.opacities[N].isHidden()||(this.variableOffsets[N]=E[N]);for(let N in L)this.placedOrientations[N]||!this.opacities[N]||this.opacities[N].isHidden()||(this.placedOrientations[N]=L[N]);if(r&&r.lastPlacementChangeTime===void 0)throw Error("Last placement time for previous placement is not defined");m?this.lastPlacementChangeTime=u:typeof this.lastPlacementChangeTime!="number"&&(this.lastPlacementChangeTime=r?r.lastPlacementChangeTime:u)}updateLayerOpacities(u,r){let m={};for(let o of r){let s=o.getBucket(u);s&&o.latestFeatureIndex&&u.id===s.layerIds[0]&&this.updateBucketOpacities(s,o.tileID,m,o.collisionBoxArray)}}updateBucketOpacities(u,r,m,o){u.hasTextData()&&(u.text.opacityVertexArray.clear(),u.text.hasVisibleVertices=!1),u.hasIconData()&&(u.icon.opacityVertexArray.clear(),u.icon.hasVisibleVertices=!1),u.hasIconCollisionBoxData()&&u.iconCollisionBox.collisionVertexArray.clear(),u.hasTextCollisionBoxData()&&u.textCollisionBox.collisionVertexArray.clear();let s=u.layers[0],E=s.layout,L=new V3(null,0,!1,!1,!0),N=E.get("text-allow-overlap"),F=E.get("icon-allow-overlap"),P=s._unevaluatedLayout.hasValue("text-variable-anchor")||s._unevaluatedLayout.hasValue("text-variable-anchor-offset"),K=E.get("text-rotation-alignment")==="map",R=E.get("text-pitch-alignment")==="map",U=E.get("icon-text-fit")!=="none",z=new V3(null,0,N&&(F||!u.hasIconData()||E.get("icon-optional")),F&&(N||!u.hasTextData()||E.get("text-optional")),!0);!u.collisionArrays&&o&&(u.hasIconCollisionBoxData()||u.hasTextCollisionBoxData())&&u.deserializeCollisionBoxes(o);let Q=(i,X,c1)=>{for(let $=0;$<X/4;$++)i.opacityVertexArray.emplaceBack(c1);i.hasVisibleVertices||(i.hasVisibleVertices=c1!==D4)},t=this.collisionBoxArrays.get(u.bucketInstanceId);for(let i=0;i0,p1=this.placedOrientations[X.crossTileID],S1=p1===g.ax.vertical,h1=p1===g.ax.horizontal||p1===g.ax.horizontalOnly;if(c1>0||$>0){let L1=e6(u1.text);Q(u.text,c1,S1?D4:L1),Q(u.text,$,h1?D4:L1);let Q1=u1.text.isHidden(),j1=[X.rightJustifiedTextSymbolIndex,X.centerJustifiedTextSymbolIndex,X.leftJustifiedTextSymbolIndex];for(let I1 of j1)I1>=0&&(u.text.placedSymbolArray.get(I1).hidden=Q1||S1?1:0);X.verticalPlacedTextSymbolIndex>=0&&(u.text.placedSymbolArray.get(X.verticalPlacedTextSymbolIndex).hidden=Q1||h1?1:0);let C1=this.variableOffsets[X.crossTileID];C1&&this.markUsedJustification(u,C1.anchor,X,p1);let O1=this.placedOrientations[X.crossTileID];O1&&(this.markUsedJustification(u,"left",X,O1),this.markUsedOrientation(u,O1,X))}if(T){let L1=e6(u1.icon),Q1=!(U&&X.verticalPlacedIconSymbolIndex&&S1);X.placedIconSymbolIndex>=0&&(Q(u.icon,X.numIconVertices,Q1?L1:D4),u.icon.placedSymbolArray.get(X.placedIconSymbolIndex).hidden=u1.icon.isHidden()),X.verticalPlacedIconSymbolIndex>=0&&(Q(u.icon,X.numVerticalIconVertices,Q1?D4:L1),u.icon.placedSymbolArray.get(X.verticalPlacedIconSymbolIndex).hidden=u1.icon.isHidden())}let W1=(t==null?void 0:t.has(i))?t.get(i):{text:null,icon:null};if(u.hasIconCollisionBoxData()||u.hasTextCollisionBoxData()){let L1=u.collisionArrays[i];if(L1){let Q1=new g.P(0,0);if(L1.textBox||L1.verticalTextBox){let j1=!0;if(P){let C1=this.variableOffsets[e];C1?(Q1=rr(C1.anchor,C1.width,C1.height,C1.textOffset,C1.textBoxScale),K&&Q1._rotate(R?-this.transform.bearingInRadians:this.transform.bearingInRadians)):j1=!1}if(L1.textBox||L1.verticalTextBox){let C1;L1.textBox&&(C1=S1),L1.verticalTextBox&&(C1=h1),$6(u.textCollisionBox.collisionVertexArray,u1.text.placed,!j1||C1,W1.text,Q1.x,Q1.y)}}if(L1.iconBox||L1.verticalIconBox){let j1=Boolean(!h1&&L1.verticalIconBox),C1;L1.iconBox&&(C1=j1),L1.verticalIconBox&&(C1=!j1),$6(u.iconCollisionBox.collisionVertexArray,u1.icon.placed,C1,W1.icon,U?Q1.x:0,U?Q1.y:0)}}}}if(u.sortFeatures(-this.transform.bearingInRadians),this.retainedQueryData[u.bucketInstanceId]&&(this.retainedQueryData[u.bucketInstanceId].featureSortOrder=u.featureSortOrder),u.hasTextData()&&u.text.opacityVertexBuffer&&u.text.opacityVertexBuffer.updateData(u.text.opacityVertexArray),u.hasIconData()&&u.icon.opacityVertexBuffer&&u.icon.opacityVertexBuffer.updateData(u.icon.opacityVertexArray),u.hasIconCollisionBoxData()&&u.iconCollisionBox.collisionVertexBuffer&&u.iconCollisionBox.collisionVertexBuffer.updateData(u.iconCollisionBox.collisionVertexArray),u.hasTextCollisionBoxData()&&u.textCollisionBox.collisionVertexBuffer&&u.textCollisionBox.collisionVertexBuffer.updateData(u.textCollisionBox.collisionVertexArray),u.text.opacityVertexArray.length!==u.text.layoutVertexArray.length/4)throw Error(`bucket.text.opacityVertexArray.length (= ${u.text.opacityVertexArray.length}) !== bucket.text.layoutVertexArray.length (= ${u.text.layoutVertexArray.length}) / 4`);if(u.icon.opacityVertexArray.length!==u.icon.layoutVertexArray.length/4)throw Error(`bucket.icon.opacityVertexArray.length (= ${u.icon.opacityVertexArray.length}) !== bucket.icon.layoutVertexArray.length (= ${u.icon.layoutVertexArray.length}) / 4`);u.bucketInstanceId in this.collisionCircleArrays&&(u.collisionCircleArray=this.collisionCircleArrays[u.bucketInstanceId],delete this.collisionCircleArrays[u.bucketInstanceId])}symbolFadeChange(u){return this.fadeDuration===0?1:(u-this.commitTime)/this.fadeDuration+this.prevZoomAdjustment}zoomAdjustment(u){return Math.max(0,(this.transform.zoom-u)/1.5)}hasTransitions(u){return this.stale||u-this.lastPlacementChangeTimeu}setStale(){this.stale=!0}}function $6(u,r,m,o,s,E){o&&o.length!==0||(o=[0,0,0,0]);let L=o[0]-jl,N=o[1]-jl,F=o[2]-jl,P=o[3]-jl;u.emplaceBack(r?1:0,m?1:0,s||0,E||0,L,N),u.emplaceBack(r?1:0,m?1:0,s||0,E||0,F,N),u.emplaceBack(r?1:0,m?1:0,s||0,E||0,F,P),u.emplaceBack(r?1:0,m?1:0,s||0,E||0,L,P)}let _6=Math.pow(2,25),i6=Math.pow(2,24),dd=Math.pow(2,17),U4=Math.pow(2,16),fr=Math.pow(2,9),kp=Math.pow(2,8),W3=Math.pow(2,1);function e6(u){if(u.opacity===0&&!u.placed)return 0;if(u.opacity===1&&u.placed)return 4294967295;let r=u.placed?1:0,m=Math.floor(127*u.opacity);return m*_6+r*i6+m*dd+r*U4+m*fr+r*kp+m*W3+r}let D4=0;class xu{constructor(u){this._sortAcrossTiles=u.layout.get("symbol-z-order")!=="viewport-y"&&!u.layout.get("symbol-sort-key").isConstant(),this._currentTileIndex=0,this._currentPartIndex=0,this._seenCrossTileIDs={},this._bucketParts=[]}continuePlacement(u,r,m,o,s){let E=this._bucketParts;for(;this._currentTileIndexL.sortKey-N.sortKey));this._currentPartIndex!this._forceFullPlacement&&q1()-o>2;for(;this._currentPlacementIndex>=0;){let E=r[u[this._currentPlacementIndex]],L=this.placement.collisionIndex.transform.zoom;if(g.aQ(E)&&E.layout&&(!E.minzoom||E.minzoomL)){if(this._inProgressLayer||(this._inProgressLayer=new xu(E)),this._inProgressLayer.continuePlacement(m[E.source],this.placement,this._showCollisionBoxes,E,s))return;delete this._inProgressLayer}this._currentPlacementIndex--}this._done=!0}commit(u){return this.placement.commit(u),this.placement}}let dl=512/g.a6/2;class R4{constructor(u,r,m){this.tileID=u,this.bucketInstanceId=m,this._symbolsByKey={};let o=new Map;for(let s=0;s({x:Math.floor(N.anchorX*dl),y:Math.floor(N.anchorY*dl)})),crossTileIDs:E.map((N)=>N.crossTileID)};if(L.positions.length>128){let N=new g.aR(L.positions.length,16,Uint16Array);for(let{x:F,y:P}of L.positions)N.add(F,P);N.finish(),delete L.positions,L.index=N}this._symbolsByKey[s]=L}}getScaledCoordinates(u,r){let{x:m,y:o,z:s}=this.tileID.canonical,{x:E,y:L,z:N}=r.canonical,F=dl/Math.pow(2,N-s),P=(L*g.a6+u.anchorY)*F,K=o*g.a6*dl;return{x:Math.floor((E*g.a6+u.anchorX)*F-m*g.a6*dl),y:Math.floor(P-K)}}findMatches(u,r,m){let o=this.tileID.canonical.z<r.canonical.z?1:Math.pow(2,this.tileID.canonical.z-r.canonical.z);for(let s=0;s<u.length;s++){let E=u.get(s);if(E.crossTileID)continue;let L=this._symbolsByKey[E.key];if(!L)continue;let N=this.getScaledCoordinates(E,r);if(L.index){let F=L.index.range(N.x-o,N.y-o,N.x+o,N.y+o).sort();for(let P of F){let K=L.crossTileIDs[P];if(!m[K]){m[K]=!0,E.crossTileID=K;break}}}else if(L.positions)for(let F=0;F<L.positions.length;F++){let P=L.positions[F],K=L.crossTileIDs[F];if(Math.abs(P.x-N.x)<=o&&Math.abs(P.y-N.y)u)}}class Ep{constructor(){this.maxCrossTileID=0}generate(){return++this.maxCrossTileID}}class H4{constructor(){this.indexes={},this.usedCrossTileIDs={},this.lng=0}handleWrapJump(u){let r=Math.round((u-this.lng)/360);if(r!==0)for(let m in this.indexes){let o=this.indexes[m],s={};for(let E in o){let L=o[E];L.tileID=L.tileID.unwrapTo(L.tileID.wrap+r),s[L.tileID.key]=L}this.indexes[m]=s}this.lng=u}addBucket(u,r,m){var o,s,E;if((o=this.indexes[u.overscaledZ])===null||o===void 0?void 0:o[u.key]){if(this.indexes[u.overscaledZ][u.key].bucketInstanceId===r.bucketInstanceId)return!1;this.removeBucketCrossTileIDs(u.overscaledZ,this.indexes[u.overscaledZ][u.key])}for(let N=0;Nu.overscaledZ)for(let P in F){let K=F[P];K.tileID.isChildOf(u)&&K.findMatches(r.symbolInstances,u,L)}else{let P=F[u.scaledTo(Number(N)).key];P&&P.findMatches(r.symbolInstances,u,L)}}for(let N=0;N 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=(texture(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 #ifdef GLOBE if ((pos.y 32766.5)) {return 0.0;} #endif 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 }const float PI=3.141592653589793;uniform mat4 u_projection_matrix;`),projectionMercator:e1("","float projectLineThickness(float tileY) {return 1.0;}float projectCircleRadius(float tileY) {return 1.0;}vec4 projectTile(vec2 p) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);return result;}vec4 projectTile(vec2 p,vec2 rawPos) {vec4 result=u_projection_matrix*vec4(p,0.0,1.0);if (rawPos.y 32766.5) {result.z=-10000000.0;}return result;}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return u_projection_matrix*vec4(posInTile,elevation,1.0);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {return projectTileWithElevation(posInTile,elevation);}"),projectionGlobe:e1("",`#define GLOBE_RADIUS 6371008.8 uniform highp vec4 u_projection_tile_mercator_coords;uniform highp vec4 u_projection_clipping_plane;uniform highp float u_projection_transition;uniform mat4 u_projection_fallback_matrix;vec3 globeRotateVector(vec3 vec,vec2 angles) {vec3 axisRight=vec3(vec.z,0.0,-vec.x);vec3 axisUp=cross(axisRight,vec);axisRight=normalize(axisRight);axisUp=normalize(axisUp);vec2 t=tan(angles);return normalize(vec+axisRight*t.x+axisUp*t.y);}mat3 globeGetRotationMatrix(vec3 spherePos) {vec3 axisRight=vec3(spherePos.z,0.0,-spherePos.x);vec3 axisDown=cross(axisRight,spherePos);axisRight=normalize(axisRight);axisDown=normalize(axisDown);return mat3(axisRight,axisDown,spherePos );}float circumferenceRatioAtTileY(float tileY) {float mercator_pos_y=u_projection_tile_mercator_coords.y+u_projection_tile_mercator_coords.w*tileY;float spherical_y=2.0*atan(exp(PI-(mercator_pos_y*PI*2.0)))-PI*0.5;return cos(spherical_y);}float projectLineThickness(float tileY) {float thickness=1.0/circumferenceRatioAtTileY(tileY); if (u_projection_transition < 0.999) {return mix(1.0,thickness,u_projection_transition);} else {return thickness;}}vec3 projectToSphere(vec2 translatedPos,vec2 rawPos) {vec2 mercator_pos=u_projection_tile_mercator_coords.xy+u_projection_tile_mercator_coords.zw*translatedPos;vec2 spherical;spherical.x=mercator_pos.x*PI*2.0+PI;spherical.y=2.0*atan(exp(PI-(mercator_pos.y*PI*2.0)))-PI*0.5;float len=cos(spherical.y);vec3 pos=vec3(sin(spherical.x)*len,sin(spherical.y),cos(spherical.x)*len );if (rawPos.y 32766.5) {pos=vec3(0.0,-1.0,0.0);}return pos;}vec3 projectToSphere(vec2 posInTile) {return projectToSphere(posInTile,vec2(0.0,0.0));}float globeComputeClippingZ(vec3 spherePos) {return (1.0-(dot(spherePos,u_projection_clipping_plane.xyz)+u_projection_clipping_plane.w));}vec4 interpolateProjection(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);globePosition.z=globeComputeClippingZ(elevatedPos)*globePosition.w;if (u_projection_transition > 0.999) {return globePosition;}vec4 flatPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);const float z_globeness_threshold=0.2;vec4 result=globePosition;result.z=mix(0.0,globePosition.z,clamp((u_projection_transition-z_globeness_threshold)/(1.0-z_globeness_threshold),0.0,1.0));result.xyw=mix(flatPosition.xyw,globePosition.xyw,u_projection_transition);if ((posInTile.y 32766.5)) {result=globePosition;const float poles_hidden_anim_percentage=0.02;result.z=mix(globePosition.z,100.0,pow(max((1.0-u_projection_transition)/poles_hidden_anim_percentage,0.0),8.0));}return result;}vec4 interpolateProjectionFor3D(vec2 posInTile,vec3 spherePos,float elevation) {vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);vec4 globePosition=u_projection_matrix*vec4(elevatedPos,1.0);if (u_projection_transition > 0.999) {return globePosition;}vec4 fallbackPosition=u_projection_fallback_matrix*vec4(posInTile,elevation,1.0);return mix(fallbackPosition,globePosition,u_projection_transition);}vec4 projectTile(vec2 posInTile) {return interpolateProjection(posInTile,projectToSphere(posInTile),0.0);}vec4 projectTile(vec2 posInTile,vec2 rawPos) {return interpolateProjection(posInTile,projectToSphere(posInTile,rawPos),0.0);}vec4 projectTileWithElevation(vec2 posInTile,float elevation) {return interpolateProjection(posInTile,projectToSphere(posInTile),elevation);}vec4 projectTileFor3D(vec2 posInTile,float elevation) {vec3 spherePos=projectToSphere(posInTile,posInTile);return interpolateProjectionFor3D(posInTile,spherePos,elevation);}`),background:e1(`uniform vec4 u_color;uniform float u_opacity;void main() {fragColor=u_color*u_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,"in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}"),backgroundPattern:e1(`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;in vec2 v_pos_a;in 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=texture(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=texture(u_image,pos2);fragColor=mix(color1,color2,u_mix)*u_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,"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;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;void main() {gl_Position=projectTile(a_pos);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:e1(`in vec3 v_data;in 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));fragColor=v_visibility*opacity_t*mix(color*opacity,stroke_color*stroke_opacity,color_t);const float epsilon=0.5/255.0;if (fragColor.r < epsilon && fragColor.g < epsilon && fragColor.b < epsilon && fragColor.a 1.0) {gl_Position.xy=vec2(10000.0);}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:e1(P0,"in vec2 a_pos;void main() {gl_Position=projectTile(a_pos);}"),heatmap:e1(`uniform highp float u_intensity;in 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);fragColor=vec4(val,1.0,1.0,1.0); #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`uniform float u_extrude_scale;uniform float u_opacity;uniform float u_intensity;uniform highp float u_globe_extrude_scale;in vec2 a_pos;out 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 pos_raw=a_pos+32768.0;vec2 unscaled_extrude=vec2(mod(pos_raw,8.0)/7.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;vec2 circle_center=floor(pos_raw/8.0); #ifdef GLOBE vec2 angles=v_extrude*radius*u_globe_extrude_scale;vec3 center_vector=projectToSphere(circle_center);vec3 corner_vector=globeRotateVector(center_vector,angles);gl_Position=interpolateProjection(circle_center+extrude,corner_vector,0.0); #else gl_Position=projectTileFor3D(circle_center+extrude,get_elevation(circle_center)); #endif }`),heatmapTexture:e1(`uniform sampler2D u_image;uniform sampler2D u_color_ramp;uniform float u_opacity;in vec2 v_pos;void main() {float t=texture(u_image,v_pos).r;vec4 color=texture(u_color_ramp,vec2(t,0.5));fragColor=color*u_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(0.0); #endif }`,"uniform mat4 u_matrix;uniform vec2 u_world;in vec2 a_pos;out 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:e1("in float v_placed;in float v_notUsed;void main() {float alpha=0.5;fragColor=vec4(1.0,0.0,0.0,1.0)*alpha;if (v_placed > 0.5) {fragColor=vec4(0.0,0.0,1.0,0.5)*alpha;}if (v_notUsed > 0.5) {fragColor*=.1;}}","in vec2 a_anchor_pos;in vec2 a_placed;in vec2 a_box_real;uniform vec2 u_pixel_extrude_scale;out float v_placed;out float v_notUsed;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 =2.0)),mix(-1.0,1.0,float(vertexIdx >=1.0 && vertexIdx 1){int m=(r+l)/2;float el_m=getElevationStop(m);if(el < el_m){r=m;el_r=el_m;}else {l=m;el_l=el_m;}}float x=(float(l)+(el-el_l)/(el_r-el_l)+0.5)/float(u_color_ramp_size);fragColor=u_opacity*texture(u_color_stops,vec2(x,0)); #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,"uniform vec2 u_dimension;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);highp vec2 epsilon=1.0/u_dimension;float scale=(u_dimension.x-2.0)/u_dimension.x;v_pos=(a_pos/8192.0)*scale+epsilon;if (a_pos.y 32766.5) {v_pos.y=1.0;}}"),debug:e1("uniform highp vec4 u_color;uniform sampler2D u_overlay;in vec2 v_uv;void main() {vec4 overlay_color=texture(u_overlay,v_uv);fragColor=mix(u_color,overlay_color,overlay_color.a);}","in vec2 a_pos;out vec2 v_uv;uniform float u_overlay_scale;void main() {v_uv=a_pos/8192.0;gl_Position=projectTileWithElevation(a_pos*u_overlay_scale,get_elevation(a_pos));}"),depth:e1(P0,`in vec2 a_pos;void main() { #ifdef GLOBE gl_Position=projectTileFor3D(a_pos,0.0); #else gl_Position=u_projection_matrix*vec4(a_pos,0.0,1.0); #endif }`),fill:e1(`#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 fragColor=color*opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`uniform vec2 u_fill_translate;in vec2 a_pos; #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=projectTile(a_pos+u_fill_translate,a_pos);}`),fillOutline:e1(`in vec2 v_pos; #ifdef GLOBE in float v_depth; #endif #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);fragColor=outline_color*(alpha*opacity); #ifdef GLOBE if (v_depth > 1.0) {discard;} #endif #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`uniform vec2 u_world;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos; #ifdef GLOBE out float v_depth; #endif #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=projectTile(a_pos+u_fill_translate,a_pos);v_pos=(gl_Position.xy/gl_Position.w+1.0)/2.0*u_world; #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif }`),fillOutlinePattern:e1(`uniform vec2 u_texsize;uniform sampler2D u_image;uniform float u_fade;in vec2 v_pos_a;in vec2 v_pos_b;in vec2 v_pos; #ifdef GLOBE in float v_depth; #endif #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=texture(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=texture(u_image,pos2);float dist=length(v_pos-gl_FragCoord.xy);float alpha=1.0-smoothstep(0.0,1.0,dist);fragColor=mix(color1,color2,u_fade)*alpha*opacity; #ifdef GLOBE if (v_depth > 1.0) {discard;} #endif #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`uniform vec2 u_world;uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out vec2 v_pos_b;out vec2 v_pos; #ifdef GLOBE out float v_depth; #endif #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=projectTile(a_pos+u_fill_translate,a_pos);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; #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif }`),fillPattern:e1(`#ifdef GL_ES precision highp float; #endif uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in 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=texture(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=texture(u_image,pos2);fragColor=mix(color1,color2,u_fade)*opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`uniform vec2 u_pixel_coord_upper;uniform vec2 u_pixel_coord_lower;uniform vec3 u_scale;uniform vec2 u_fill_translate;in vec2 a_pos;out vec2 v_pos_a;out 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=projectTile(a_pos+u_fill_translate,a_pos);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:e1(`in vec4 v_color;void main() {fragColor=v_color; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;uniform float u_vertical_gradient;uniform lowp float u_opacity;uniform vec2 u_fill_translate;in vec2 a_pos;in vec4 a_normal_ed; #ifdef TERRAIN3D in vec2 a_centroid; #endif out 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);float elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; #ifdef GLOBE vec3 spherePos=projectToSphere(posInTile,a_pos);gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); #else gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); #endif 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;vec3 normalForLighting=normal/16384.0;float directional=clamp(dot(normalForLighting,u_lightpos),0.0,1.0); #ifdef GLOBE mat3 rotMatrix=globeGetRotationMatrix(spherePos);normalForLighting=rotMatrix*normalForLighting;directional=mix(directional,clamp(dot(normalForLighting,u_lightpos_globe),0.0,1.0),u_projection_transition); #endif 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:e1(`uniform vec2 u_texsize;uniform float u_fade;uniform sampler2D u_image;in vec2 v_pos_a;in vec2 v_pos_b;in 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=texture(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=texture(u_image,pos2);vec4 mixedColor=mix(color1,color2,u_fade);fragColor=mixedColor*v_lighting; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`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 vec2 u_fill_translate;uniform vec3 u_lightcolor;uniform lowp vec3 u_lightpos;uniform lowp vec3 u_lightpos_globe;uniform lowp float u_lightintensity;in vec2 a_pos;in vec4 a_normal_ed; #ifdef TERRAIN3D in vec2 a_centroid; #endif #ifdef GLOBE out vec3 v_sphere_pos; #endif out vec2 v_pos_a;out vec2 v_pos_b;out 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 elevation=t > 0.0 ? height : base;vec2 posInTile=a_pos+u_fill_translate; #ifdef GLOBE vec3 spherePos=projectToSphere(posInTile,a_pos);vec3 elevatedPos=spherePos*(1.0+elevation/GLOBE_RADIUS);v_sphere_pos=elevatedPos;gl_Position=interpolateProjectionFor3D(posInTile,spherePos,elevation); #else gl_Position=u_projection_matrix*vec4(posInTile,elevation,1.0); #endif vec2 pos=normal.x==1.0 && normal.y==0.0 && normal.z==16384.0 ? a_pos : vec2(edgedistance,elevation*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:e1(`#ifdef GL_ES precision highp float; #endif uniform sampler2D u_image;in vec2 v_pos;uniform vec2 u_dimension;uniform float u_zoom;uniform vec4 u_unpack;float getElevation(vec2 coord,float bias) {vec4 data=texture(u_image,coord)*255.0;data.a=-1.0;return dot(data,u_unpack);}void main() {vec2 epsilon=1.0/u_dimension;float tileSize=u_dimension.x-2.0;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 0.0 ? 1.0 :-1.0);}void igor_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float aspect=get_aspect(deriv);float azimuth=u_azimuths[0]+PI;float slope_stength=atan(length(deriv))*2.0/PI;float aspect_strength=1.0-abs(mod((aspect+azimuth)/PI+0.5,2.0)-1.0);float shadow_strength=slope_stength*aspect_strength;float highlight_strength=slope_stength*(1.0-aspect_strength);fragColor=u_shadows[0]*shadow_strength+u_highlights[0]*highlight_strength;}void standard_hillshade(vec2 deriv){float azimuth=u_azimuths[0]+PI;float slope=atan(0.625*length(deriv));float aspect=get_aspect(deriv);float intensity=u_exaggeration;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_shadows[0],u_highlights[0],shade)*sin(scaledSlope)*clamp(intensity*2.0,0.0,1.0);fragColor=accent_color*(1.0-shade_color.a)+shade_color;}void basic_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=(sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv));float shade=clamp(cang,0.0,1.0);if(shade > 0.5){fragColor=u_highlights[0]*(2.0*shade-1.0);}else {fragColor=u_shadows[0]*(1.0-2.0*shade);}}void multidirectional_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;fragColor=vec4(0,0,0,0);for(int i=0; i 0.5){fragColor+=u_highlights[i]*(2.0*shade-1.0)/float(NUM_ILLUMINATION_SOURCES);}else {fragColor+=u_shadows[i]*(1.0-2.0*shade)/float(NUM_ILLUMINATION_SOURCES);}}}void combined_hillshade(vec2 deriv){deriv=deriv*u_exaggeration*2.0;float azimuth=u_azimuths[0]+PI;float cos_az=cos(azimuth);float sin_az=sin(azimuth);float cos_alt=cos(u_altitudes[0]);float sin_alt=sin(u_altitudes[0]);float cang=acos((sin_alt-(deriv.y*cos_az*cos_alt-deriv.x*sin_az*cos_alt))/sqrt(1.0+dot(deriv,deriv)));cang=clamp(cang,0.0,PI/2.0);float shade=cang*atan(length(deriv))*4.0/PI/PI;float highlight=(PI/2.0-cang)*atan(length(deriv))*4.0/PI/PI;fragColor=u_shadows[0]*shade+u_highlights[0]*highlight;}void main() {vec4 pixel=texture(u_image,v_pos);float scaleFactor=cos(radians((u_latrange[0]-u_latrange[1])*(1.0-v_pos.y)+u_latrange[1]));vec2 deriv=((pixel.rg*8.0)-4.0)/scaleFactor;if (u_method==BASIC) {basic_hillshade(deriv);} else if (u_method==COMBINED) {combined_hillshade(deriv);} else if (u_method==IGOR) {igor_hillshade(deriv);} else if (u_method==MULTIDIRECTIONAL) {multidirectional_hillshade(deriv);} else if (u_method==STANDARD) {standard_hillshade(deriv);} else {standard_hillshade(deriv);} #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,"uniform mat4 u_matrix;in vec2 a_pos;out vec2 v_pos;void main() {gl_Position=projectTile(a_pos,a_pos);v_pos=a_pos/8192.0;if (a_pos.y 32766.5) {v_pos.y=1.0;}}"),line:e1(`uniform lowp float u_device_pixel_ratio;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale; #ifdef GLOBE in float v_depth; #endif #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);fragColor=color*(alpha*opacity); #ifdef GLOBE if (v_depth > 1.0) {discard;} #endif #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,` #define scale 0.015873016 in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform vec2 u_units_to_pixels;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp float v_linesofar; #ifdef GLOBE out float v_depth; #endif #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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif #ifdef TERRAIN3D v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif v_width2=vec2(outset,inset);}`),lineGradient:e1(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;in vec2 v_width2;in vec2 v_normal;in float v_gamma_scale;in highp vec2 v_uv; #ifdef GLOBE in float v_depth; #endif #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=texture(u_image,v_uv);fragColor=color*(alpha*opacity); #ifdef GLOBE if (v_depth > 1.0) {discard;} #endif #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,` #define scale 0.015873016 in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv; #ifdef GLOBE out float v_depth; #endif #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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif #ifdef TERRAIN3D v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif v_width2=vec2(outset,inset);}`),linePattern:e1(`#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;in vec2 v_normal;in vec2 v_width2;in float v_linesofar;in float v_gamma_scale;in float v_width; #ifdef GLOBE in float v_depth; #endif #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(texture(u_image,pos_a),texture(u_image,pos_b),u_fade);fragColor=color*alpha*opacity; #ifdef GLOBE if (v_depth > 1.0) {discard;} #endif #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,` #define scale 0.015873016 #define LINE_DISTANCE_SCALE 2.0 in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform vec2 u_units_to_pixels;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;out vec2 v_normal;out vec2 v_width2;out float v_linesofar;out float v_gamma_scale;out float v_width; #ifdef GLOBE out float v_depth; #endif #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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif #ifdef TERRAIN3D v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.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:e1(`uniform lowp float u_device_pixel_ratio;uniform lowp float u_lineatlas_width;uniform sampler2D u_image;uniform float u_mix;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale; #ifdef GLOBE in float v_depth; #endif #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 #pragma mapbox: define mediump vec4 dasharray_from #pragma mapbox: define mediump vec4 dasharray_to 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 #pragma mapbox: initialize mediump vec4 dasharray_from #pragma mapbox: initialize mediump vec4 dasharray_to 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=texture(u_image,v_tex_a).a;float sdfdist_b=texture(u_image,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);float sdfgamma=(u_lineatlas_width/256.0/u_device_pixel_ratio)/min(dasharray_from.w,dasharray_to.w);alpha*=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*opacity); #ifdef GLOBE if (v_depth > 1.0) {discard;} #endif #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,` #define scale 0.015873016 #define LINE_DISTANCE_SCALE 2.0 in vec2 a_pos_normal;in vec4 a_data;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;out vec2 v_width2;out vec2 v_tex_a;out vec2 v_tex_b;out float v_gamma_scale; #ifdef GLOBE out float v_depth; #endif #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 #pragma mapbox: define mediump vec4 dasharray_from #pragma mapbox: define mediump vec4 dasharray_to 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 #pragma mapbox: initialize mediump vec4 dasharray_from #pragma mapbox: initialize mediump vec4 dasharray_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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif #ifdef TERRAIN3D v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),lineGradientSDF:e1(`uniform lowp float u_device_pixel_ratio;uniform sampler2D u_image;uniform sampler2D u_image_dash;uniform float u_mix;uniform lowp float u_lineatlas_width;in vec2 v_normal;in vec2 v_width2;in vec2 v_tex_a;in vec2 v_tex_b;in float v_gamma_scale;in highp vec2 v_uv; #ifdef GLOBE in float v_depth; #endif #pragma mapbox: define lowp float blur #pragma mapbox: define lowp float opacity #pragma mapbox: define mediump float width #pragma mapbox: define lowp float floorwidth #pragma mapbox: define mediump vec4 dasharray_from #pragma mapbox: define mediump vec4 dasharray_to void main() { #pragma mapbox: initialize lowp float blur #pragma mapbox: initialize lowp float opacity #pragma mapbox: initialize mediump float width #pragma mapbox: initialize lowp float floorwidth #pragma mapbox: initialize mediump vec4 dasharray_from #pragma mapbox: initialize mediump vec4 dasharray_to 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=texture(u_image,v_uv);float sdfdist_a=texture(u_image_dash,v_tex_a).a;float sdfdist_b=texture(u_image_dash,v_tex_b).a;float sdfdist=mix(sdfdist_a,sdfdist_b,u_mix);float sdfgamma=(u_lineatlas_width/256.0)/min(dasharray_from.w,dasharray_to.w);float dash_alpha=smoothstep(0.5-sdfgamma/floorwidth,0.5+sdfgamma/floorwidth,sdfdist);fragColor=color*(alpha*dash_alpha*opacity); #ifdef GLOBE if (v_depth > 1.0) {discard;} #endif #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,` #define scale 0.015873016 #define LINE_DISTANCE_SCALE 2.0 in vec2 a_pos_normal;in vec4 a_data;in float a_uv_x;in float a_split_index;uniform vec2 u_translation;uniform mediump float u_ratio;uniform lowp float u_device_pixel_ratio;uniform vec2 u_units_to_pixels;uniform float u_image_height;uniform float u_tileratio;uniform float u_crossfade_from;uniform float u_crossfade_to;uniform float u_lineatlas_height;out vec2 v_normal;out vec2 v_width2;out float v_gamma_scale;out highp vec2 v_uv;out vec2 v_tex_a;out vec2 v_tex_b; #ifdef GLOBE out float v_depth; #endif #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 #pragma mapbox: define mediump vec4 dasharray_from #pragma mapbox: define mediump vec4 dasharray_to 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 #pragma mapbox: initialize lowp float floorwidth #pragma mapbox: initialize mediump vec4 dasharray_from #pragma mapbox: initialize mediump vec4 dasharray_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;float texel_height=1.0/u_image_height;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);float adjustedThickness=projectLineThickness(pos.y);vec4 projected_no_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation);vec4 projected_with_extrude=projectTile(pos+offset2/u_ratio*adjustedThickness+u_translation+dist/u_ratio*adjustedThickness);gl_Position=projected_with_extrude; #ifdef GLOBE v_depth=gl_Position.z/gl_Position.w; #endif #ifdef TERRAIN3D v_gamma_scale=1.0; #else float extrude_length_without_perspective=length(dist);float extrude_length_with_perspective=length((projected_with_extrude.xy-projected_no_extrude.xy)/projected_with_extrude.w*u_units_to_pixels);v_gamma_scale=extrude_length_without_perspective/extrude_length_with_perspective; #endif float u_patternscale_a_x=u_tileratio/dasharray_from.w/u_crossfade_from;float u_patternscale_a_y=-dasharray_from.z/2.0/u_lineatlas_height;float u_patternscale_b_x=u_tileratio/dasharray_to.w/u_crossfade_to;float u_patternscale_b_y=-dasharray_to.z/2.0/u_lineatlas_height;v_tex_a=vec2(a_linesofar*u_patternscale_a_x/floorwidth,normal.y*u_patternscale_a_y+(float(dasharray_from.y)+0.5)/u_lineatlas_height);v_tex_b=vec2(a_linesofar*u_patternscale_b_x/floorwidth,normal.y*u_patternscale_b_y+(float(dasharray_to.y)+0.5)/u_lineatlas_height);v_width2=vec2(outset,inset);}`),raster:e1(`uniform float u_fade_t;uniform float u_opacity;uniform sampler2D u_image0;uniform sampler2D u_image1;in vec2 v_pos0;in 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=texture(u_image0,v_pos0);vec4 color1=texture(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);fragColor=vec4(mix(u_high_vec,u_low_vec,rgb)*color.a,color.a); #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`uniform vec2 u_tl_parent;uniform float u_scale_parent;uniform float u_buffer_scale;uniform vec4 u_coords_top;uniform vec4 u_coords_bottom;in vec2 a_pos;out vec2 v_pos0;out vec2 v_pos1;void main() {vec2 fractionalPos=a_pos/8192.0;vec2 position=mix(mix(u_coords_top.xy,u_coords_top.zw,fractionalPos.x),mix(u_coords_bottom.xy,u_coords_bottom.zw,fractionalPos.x),fractionalPos.y);gl_Position=projectTile(position,position);v_pos0=((fractionalPos-0.5)/u_buffer_scale)+0.5; #ifdef GLOBE if (a_pos.y 32766.5) {v_pos0.y=1.0;} #endif v_pos1=(v_pos0*u_scale_parent)+u_tl_parent;}`),symbolIcon:e1(`uniform sampler2D u_texture;in vec2 v_tex;in float v_total_opacity;void main() {fragColor=texture(u_texture,v_tex)*v_total_opacity; #ifdef OVERDRAW_INSPECTOR fragColor=vec4(1.0); #endif }`,`in vec4 a_pos_offset;in vec4 a_data;in vec4 a_pixeloffset;in vec3 a_projected_pos;in 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_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;out vec2 v_tex;out float v_total_opacity; #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);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_total_opacity=opacity*max(0.0,min(visibility,fade_opacity[0]+fade_change));if (v_total_opacity 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));float total_opacity=opacity*interpolated_fade_opacity;if (total_opacity 0.5 ? u_fade_change :-u_fade_change;float interpolated_fade_opacity=max(0.0,min(visibility,fade_opacity[0]+fade_change));float total_opacity=opacity*interpolated_fade_opacity;if (total_opacity 0.0 && 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);fragColor=linearToGamma(mix(surface_color_linear,fog_horizon_color_linear,pow(factor_fog,2.0)*u_fog_ground_blend_opacity));} else {fragColor=surface_color;}}","in vec3 a_pos3d;uniform mat4 u_fog_matrix;uniform float u_ele_delta;out vec2 v_texture_pos;out 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=projectTileFor3D(a_pos3d.xy,ele-ele_delta);vec4 pos=u_fog_matrix*vec4(a_pos3d.xy,ele,1.0);v_fog_depth=pos.z/pos.w*0.5+0.5;}"),terrainDepth:e1("in 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() {fragColor=pack(v_depth);}","in vec3 a_pos3d;uniform float u_ele_delta;out 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=projectTileFor3D(a_pos3d.xy,ele-ele_delta);v_depth=gl_Position.z/gl_Position.w;}"),terrainCoords:e1("precision mediump float;uniform sampler2D u_texture;uniform float u_terrain_coords_id;in vec2 v_texture_pos;void main() {vec4 rgba=texture(u_texture,v_texture_pos);fragColor=vec4(rgba.r,rgba.g,rgba.b,u_terrain_coords_id);}","in vec3 a_pos3d;uniform float u_ele_delta;out 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=projectTileFor3D(a_pos3d.xy,ele-ele_delta);}"),projectionErrorMeasurement:e1("in vec4 v_output_error_encoded;void main() {fragColor=v_output_error_encoded;}","in vec2 a_pos;uniform highp float u_input;uniform highp float u_output_expected;out vec4 v_output_error_encoded;void main() {float real_output=2.0*atan(exp(PI-(u_input*PI*2.0)))-PI*0.5;float error=real_output-u_output_expected;float abs_error=abs(error)*128.0;v_output_error_encoded.x=min(floor(abs_error*256.0),255.0)/255.0;abs_error-=v_output_error_encoded.x;v_output_error_encoded.y=min(floor(abs_error*65536.0),255.0)/255.0;abs_error-=v_output_error_encoded.x/255.0;v_output_error_encoded.z=min(floor(abs_error*16777216.0),255.0)/255.0;v_output_error_encoded.w=error >=0.0 ? 1.0 : 0.0;gl_Position=vec4(a_pos,0.0,1.0);}"),atmosphere:e1(`#ifdef GL_ES precision highp float; #endif in vec3 view_direction;uniform vec3 u_sun_pos;uniform vec3 u_globe_position;uniform float u_globe_radius;uniform float u_atmosphere_blend;/**Shader use from https:*Made some change to adapt to MapLibre Globe geometry*/const float PI=3.141592653589793;const int iSteps=5;const int jSteps=3;/*radius of the planet*/const float EARTH_RADIUS=6371e3;/*radius of the atmosphere*/const float ATMOS_RADIUS=6471e3;vec2 rsi(vec3 r0,vec3 rd,float sr) {float a=dot(rd,rd);float b=2.0*dot(rd,r0);float c=dot(r0,r0)-(sr*sr);float d=(b*b)-4.0*a*c;if (d p.y) {return vec4(0.0,0.0,0.0,1.0);}if (p.x < 0.0) {p.x=0.0;}vec3 pos=r0+r*p.x;vec2 p2=rsi(r0,r,rPlanet);if (p2.x 0.0) {p.y=min(p.y,p2.x);}float iStepSize=(p.y-p.x)/float(iSteps);float iTime=p.x+iStepSize*0.5;vec3 totalRlh=vec3(0,0,0);vec3 totalMie=vec3(0,0,0);float iOdRlh=0.0;float iOdMie=0.0;float mu=dot(r,pSun);float mumu=mu*mu;float gg=g*g;float pRlh=3.0/(16.0*PI)*(1.0+mumu);float pMie=3.0/(8.0*PI)*((1.0-gg)*(mumu+1.0))/(pow(1.0+gg-2.0*mu*g,1.5)*(2.0+gg));for (int i=0; i < iSteps; i++) {vec3 iPos=r0+r*iTime;float iHeight=length(iPos)-rPlanet;float odStepRlh=exp(-iHeight/shRlh)*iStepSize;float odStepMie=exp(-iHeight/shMie)*iStepSize;iOdRlh+=odStepRlh;iOdMie+=odStepMie;float jStepSize=rsi(iPos,pSun,rAtmos).y/float(jSteps);float jTime=jStepSize*0.5;float jOdRlh=0.0;float jOdMie=0.0;for (int j=0; j 0.0) {if (blend (N[U]=!0,P==="define"?` #ifndef HAS_UNIFORM_u_${U} in ${K} ${R} ${U}; #else uniform ${K} ${R} u_${U}; #endif `:` #ifdef HAS_UNIFORM_u_${U} ${K} ${R} ${U} = u_${U}; #endif `)),vertexSource:r=r.replace(m,(F,P,K,R,U)=>{let z=R==="float"?"vec2":"vec4",Q=U.match(/color/)?"color":z;return N[U]?P==="define"?` #ifndef HAS_UNIFORM_u_${U} uniform lowp float u_${U}_t; in ${K} ${z} a_${U}; out ${K} ${R} ${U}; #else uniform ${K} ${R} u_${U}; #endif `:Q==="vec4"?` #ifndef HAS_UNIFORM_u_${U} ${U} = a_${U}; #else ${K} ${R} ${U} = u_${U}; #endif `:` #ifndef HAS_UNIFORM_u_${U} ${U} = unpack_mix_${Q}(a_${U}, u_${U}_t); #else ${K} ${R} ${U} = u_${U}; #endif `:P==="define"?` #ifndef HAS_UNIFORM_u_${U} uniform lowp float u_${U}_t; in ${K} ${z} a_${U}; #else uniform ${K} ${R} u_${U}; #endif `:Q==="vec4"?` #ifndef HAS_UNIFORM_u_${U} ${K} ${R} ${U} = a_${U}; #else ${K} ${R} ${U} = u_${U}; #endif `:` #ifndef HAS_UNIFORM_u_${U} ${K} ${R} ${U} = unpack_mix_${Q}(a_${U}, u_${U}_t); #else ${K} ${R} ${U} = u_${U}; #endif `}),staticAttributes:o,staticUniforms:L}}class Ll{constructor(u,r,m){this.vertexBuffer=u,this.indexBuffer=r,this.segments=m}destroy(){this.vertexBuffer.destroy(),this.indexBuffer.destroy(),this.segments.destroy(),this.vertexBuffer=null,this.indexBuffer=null,this.segments=null}}var _u=g.aS([{name:"a_pos",type:"Int16",components:2}]);let j0="#define PROJECTION_MERCATOR",w2="mercator";class M0{constructor(){this._cachedMesh=null}get name(){return"mercator"}get useSubdivision(){return!1}get shaderVariantName(){return w2}get shaderDefine(){return j0}get shaderPreludeCode(){return Yl.projectionMercator}get vertexShaderPreludeCode(){return Yl.projectionMercator.vertexSource}get subdivisionGranularity(){return g.aT.noSubdivision}get useGlobeControls(){return!1}get transitionState(){return 0}get latitudeErrorCorrectionRadians(){return 0}destroy(){}updateGPUdependent(u){}getMeshFromTileID(u,r,m,o,s){if(this._cachedMesh)return this._cachedMesh;let E=new g.aU;E.emplaceBack(0,0),E.emplaceBack(g.a6,0),E.emplaceBack(0,g.a6),E.emplaceBack(g.a6,g.a6);let L=u.createVertexBuffer(E,_u.members),N=g.aV.simpleSegment(0,0,4,2),F=new g.aW;F.emplaceBack(1,0,2),F.emplaceBack(1,2,3);let P=u.createIndexBuffer(F);return this._cachedMesh=new Ll(L,P,N),this._cachedMesh}recalculate(){}hasTransition(){return!1}setErrorQueryLatitudeDegrees(u){}}class L3{constructor(u=0,r=0,m=0,o=0){if(isNaN(u)||u<0||isNaN(r)||r<0||isNaN(m)||m<0||isNaN(o)||o180?-360:mthis._constrainOverride!==null?this._constrainOverride(o,s):this._callbacks.defaultConstrain(o,s),this._callbacks=u,this._tileSize=512,this._renderWorldCopies=(r==null?void 0:r.renderWorldCopies)===void 0||!!(r==null?void 0:r.renderWorldCopies),this._minZoom=(r==null?void 0:r.minZoom)||0,this._maxZoom=(r==null?void 0:r.maxZoom)||22,this._minPitch=(r==null?void 0:r.minPitch)==null?0:r==null?void 0:r.minPitch,this._maxPitch=(r==null?void 0:r.maxPitch)==null?60:r==null?void 0:r.maxPitch,this._constrainOverride=(m=r==null?void 0:r.constrainOverride)!==null&&m!==void 0?m:null,this.setMaxBounds(),this._width=0,this._height=0,this._center=new g.W(0,0),this._elevation=0,this._zoom=0,this._tileZoom=_l(this._zoom),this._scale=g.ao(this._zoom),this._bearingInRadians=0,this._fovInRadians=0.6435011087932844,this._pitchInRadians=0,this._rollInRadians=0,this._unmodified=!0,this._edgeInsets=new L3,this._minElevationForCurrentTile=0,this._autoCalculateNearFarZ=!0}apply(u,r,m){this._constrainOverride=u.constrainOverride,this._latRange=u.latRange,this._lngRange=u.lngRange,this._width=u.width,this._height=u.height,this._center=u.center,this._elevation=u.elevation,this._minElevationForCurrentTile=u.minElevationForCurrentTile,this._zoom=u.zoom,this._tileZoom=_l(this._zoom),this._scale=g.ao(this._zoom),this._bearingInRadians=u.bearingInRadians,this._fovInRadians=u.fovInRadians,this._pitchInRadians=u.pitchInRadians,this._rollInRadians=u.rollInRadians,this._unmodified=u.unmodified,this._edgeInsets=new L3(u.padding.top,u.padding.bottom,u.padding.left,u.padding.right),this._minZoom=u.minZoom,this._maxZoom=u.maxZoom,this._minPitch=u.minPitch,this._maxPitch=u.maxPitch,this._renderWorldCopies=u.renderWorldCopies,this._cameraToCenterDistance=u.cameraToCenterDistance,this._nearZ=u.nearZ,this._farZ=u.farZ,this._autoCalculateNearFarZ=!m&&u.autoCalculateNearFarZ,r&&this.constrainInternal(),this._calcMatrices()}get pixelsToClipSpaceMatrix(){return this._pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._clipSpaceToPixelsMatrix}get minElevationForCurrentTile(){return this._minElevationForCurrentTile}setMinElevationForCurrentTile(u){this._minElevationForCurrentTile=u}get tileSize(){return this._tileSize}get tileZoom(){return this._tileZoom}get scale(){return this._scale}get width(){return this._width}get height(){return this._height}get bearingInRadians(){return this._bearingInRadians}get lngRange(){return this._lngRange}get latRange(){return this._latRange}get pixelsToGLUnits(){return this._pixelsToGLUnits}get minZoom(){return this._minZoom}setMinZoom(u){this._minZoom!==u&&(this._minZoom=u,this.setZoom(this.applyConstrain(this._center,this.zoom).zoom))}get maxZoom(){return this._maxZoom}setMaxZoom(u){this._maxZoom!==u&&(this._maxZoom=u,this.setZoom(this.applyConstrain(this._center,this.zoom).zoom))}get minPitch(){return this._minPitch}setMinPitch(u){this._minPitch!==u&&(this._minPitch=u,this.setPitch(Math.max(this.pitch,u)))}get maxPitch(){return this._maxPitch}setMaxPitch(u){this._maxPitch!==u&&(this._maxPitch=u,this.setPitch(Math.min(this.pitch,u)))}get renderWorldCopies(){return this._renderWorldCopies}setRenderWorldCopies(u){u===void 0?u=!0:u===null&&(u=!1),this._renderWorldCopies=u}get constrainOverride(){return this._constrainOverride}setConstrainOverride(u){u===void 0&&(u=null),this._constrainOverride!==u&&(this._constrainOverride=u,this.constrainInternal(),this._calcMatrices())}get worldSize(){return this._tileSize*this._scale}get centerOffset(){return this.centerPoint._sub(this.size._div(2))}get size(){return new g.P(this._width,this._height)}get bearing(){return this._bearingInRadians/Math.PI*180}setBearing(u){let r=g.X(u,-180,180)*Math.PI/180;var m,o,s,E,L,N,F,P,K;this._bearingInRadians!==r&&(this._unmodified=!1,this._bearingInRadians=r,this._calcMatrices(),this._rotationMatrix=b(),m=this._rotationMatrix,s=-this._bearingInRadians,E=(o=this._rotationMatrix)[0],L=o[1],N=o[2],F=o[3],P=Math.sin(s),K=Math.cos(s),m[0]=E*K+N*P,m[1]=L*K+F*P,m[2]=E*-P+N*K,m[3]=L*-P+F*K)}get rotationMatrix(){return this._rotationMatrix}get pitchInRadians(){return this._pitchInRadians}get pitch(){return this._pitchInRadians/Math.PI*180}setPitch(u){let r=g.al(u,this.minPitch,this.maxPitch)/180*Math.PI;this._pitchInRadians!==r&&(this._unmodified=!1,this._pitchInRadians=r,this._calcMatrices())}get rollInRadians(){return this._rollInRadians}get roll(){return this._rollInRadians/Math.PI*180}setRoll(u){let r=u/180*Math.PI;this._rollInRadians!==r&&(this._unmodified=!1,this._rollInRadians=r,this._calcMatrices())}get fovInRadians(){return this._fovInRadians}get fov(){return g.aX(this._fovInRadians)}setFov(u){u=g.al(u,0.1,150),this.fov!==u&&(this._unmodified=!1,this._fovInRadians=g.an(u),this._calcMatrices())}get zoom(){return this._zoom}setZoom(u){let r=this.applyConstrain(this._center,u).zoom;this._zoom!==r&&(this._unmodified=!1,this._zoom=r,this._tileZoom=Math.max(0,Math.floor(r)),this._scale=g.ao(r),this.constrainInternal(),this._calcMatrices())}get center(){return this._center}setCenter(u){u.lat===this._center.lat&&u.lng===this._center.lng||(this._unmodified=!1,this._center=u,this.constrainInternal(),this._calcMatrices())}get elevation(){return this._elevation}setElevation(u){u!==this._elevation&&(this._elevation=u,this.constrainInternal(),this._calcMatrices())}get padding(){return this._edgeInsets.toJSON()}setPadding(u){this._edgeInsets.equals(u)||(this._unmodified=!1,this._edgeInsets.interpolate(this._edgeInsets,u,1),this._calcMatrices())}get centerPoint(){return this._edgeInsets.getCenter(this._width,this._height)}get pixelsPerMeter(){return this._pixelPerMeter}get unmodified(){return this._unmodified}get cameraToCenterDistance(){return this._cameraToCenterDistance}get nearZ(){return this._nearZ}get farZ(){return this._farZ}get autoCalculateNearFarZ(){return this._autoCalculateNearFarZ}overrideNearFarZ(u,r){this._autoCalculateNearFarZ=!1,this._nearZ=u,this._farZ=r,this._calcMatrices()}clearNearFarZOverride(){this._autoCalculateNearFarZ=!0,this._calcMatrices()}isPaddingEqual(u){return this._edgeInsets.equals(u)}interpolatePadding(u,r,m){this._unmodified=!1,this._edgeInsets.interpolate(u,r,m),this.constrainInternal(),this._calcMatrices()}resize(u,r,m=!0){this._width=u,this._height=r,m&&this.constrainInternal(),this._calcMatrices()}getMaxBounds(){var u,r;return((u=this._latRange)===null||u===void 0?void 0:u.length)!==2||((r=this._lngRange)===null||r===void 0?void 0:r.length)!==2?null:new gl([this._lngRange[0],this._latRange[0]],[this._lngRange[1],this._latRange[1]])}setMaxBounds(u){u?(this._lngRange=[u.getWest(),u.getEast()],this._latRange=[u.getSouth(),u.getNorth()],this.constrainInternal()):(this._lngRange=null,this._latRange=[-g.am,g.am])}getCameraQueryGeometry(u,r){if(r.length===1)return[r[0],u];{let{minX:m,minY:o,maxX:s,maxY:E}=g.a8.fromPoints(r).extend(u);return[new g.P(m,o),new g.P(s,o),new g.P(s,E),new g.P(m,E),new g.P(m,o)]}}constrainInternal(){if(!this.center||!this._width||!this._height||this._constraining)return;this._constraining=!0;let u=this._unmodified,{center:r,zoom:m}=this.applyConstrain(this.center,this.zoom);this.setCenter(r),this.setZoom(m),this._unmodified=u,this._constraining=!1}_calcMatrices(){if(this._width&&this._height){this._pixelsToGLUnits=[2/this._width,-2/this._height];let u=g.ap(new Float64Array(16));g.S(u,u,[this._width/2,-this._height/2,1]),g.Q(u,u,[1,-1,0]),this._clipSpaceToPixelsMatrix=u,u=g.ap(new Float64Array(16)),g.S(u,u,[1,-1,1]),g.Q(u,u,[-1,-1,0]),g.S(u,u,[2/this._width,2/this._height,1]),this._pixelsToClipSpaceMatrix=u,this._cameraToCenterDistance=0.5/Math.tan(this.fovInRadians/2)*this._height}this._callbacks.calcMatrices()}calculateCenterFromCameraLngLatAlt(u,r,m,o){let s=m!==void 0?m:this.bearing,E=o=o!==void 0?o:this.pitch,{distanceToCenter:L,clampedElevation:N}=this._distanceToCenterFromAltElevationPitch(r,this.elevation,E),{x:F,y:P}=F4(E,s),K=g.a7.fromLngLat(u,r),R,U,z=g.aY(1,K.y),Q=0;do{if(Q+=1,Q>10)break;U=L/z,R=new g.a7(K.x+F*U,K.y+P*U),z=1/R.meterInMercatorCoordinateUnits()}while(Math.abs(L-U*z)>0.000000000001);return{center:R.toLngLat(),elevation:N,zoom:g.ar(this.height/2/Math.tan(this.fovInRadians/2)/U/this.tileSize)}}recalculateZoomAndCenter(u){if(this.elevation-u==0)return;let r=1/this.worldSize,m=g.aq(1,this.center.lat)*this.worldSize,o=g.a7.fromLngLat(this.center,this.elevation),s=o.x/r,E=o.y/r,L=o.z/r,N=this.pitch,F=this.bearing,{x:P,y:K,z:R}=F4(N,F),U=this.cameraToCenterDistance,z=s+U*-P,Q=E+U*-K,t=L+U*R,{distanceToCenter:i,clampedElevation:X}=this._distanceToCenterFromAltElevationPitch(t/m,u,N),c1=i*m,$=new g.a7((z+P*c1)*r,(Q+K*c1)*r,0).toLngLat(),e=g.aq(1,$.lat),u1=g.ar(this.height/2/Math.tan(this.fovInRadians/2)/i/e/this.tileSize);this._elevation=X,this._center=$,this.setZoom(u1)}_distanceToCenterFromAltElevationPitch(u,r,m){let o=-Math.cos(g.an(m)),s=u-r,E,L=r;return o*s>=0||Math.abs(o)=0?1<<u.canonical.z:Math.pow(2,u.canonical.z);return[u.canonical.x/r,u.canonical.y/r,1/r/g.a6,1/r/g.a6]}}class t2{constructor(u,r){this.min=u,this.max=r,this.center=g.aZ([],g.a_([],this.min,this.max),0.5)}quadrant(u){let r=[u%2==0,u<2],m=g.a$(this.min),o=g.a$(this.max);for(let s=0;sthis.max[0]||u.aabb.min[1]>this.max[1]||u.aabb.min[2]>this.max[2]||u.aabb.max[0]<this.min[0]||u.aabb.max[1]<this.min[1]||u.aabb.max[2]<this.min[2]?0:1}intersectsPlane(u){let r=u[3],m=u[3];for(let o=0;o0?(r+=u[o]*this.min[o],m+=u[o]*this.max[o]):(m+=u[o]*this.min[o],r+=u[o]*this.max[o]);return r>=0?2:m<0?0:1}}class I4{distanceToTile2d(u,r,m,o){let s=o,E=s.distanceX([u,r]),L=s.distanceY([u,r]);return Math.hypot(E,L)}getWrap(u,r,m){return m}getTileBoundingVolume(u,r,m,o){var s,E;let L=0,N=0;if(o==null?void 0:o.terrain){let P=new g.a3(u.z,r,u.z,u.x,u.y),K=o.terrain.getMinMaxElevation(P);L=(s=K.minElevation)!==null&&s!==void 0?s:Math.min(0,m),N=(E=K.maxElevation)!==null&&E!==void 0?E:Math.max(0,m)}let F=1<o}allowWorldCopies(){return!0}prepareNextFrame(){}}class l2{constructor(u,r,m){this.points=u,this.planes=r,this.aabb=m}static fromInvProjectionMatrix(u,r=1,m=0,o,s){let E=s?[[6,5,4],[0,1,2],[0,3,7],[2,1,5],[3,2,6],[0,4,5]]:[[0,1,2],[6,5,4],[0,3,7],[2,1,5],[3,2,6],[0,4,5]],L=Math.pow(2,m),N=[[-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((R)=>function(U,z,Q,t){let i=g.aE([],U,z),X=1/i[3]/Q*t;return g.b4(i,i,[X,X,1/i[3],X])}(R,u,r,L));o&&function(R,U,z,Q){let t=Q?4:0,i=Q?0:4,X=0,c1=[],$=[];for(let T=0;T<4;T++){let p1=g.b0([],R[T+i],R[T+t]),S1=g.b5(p1);g.aZ(p1,p1,1/S1),c1.push(S1),$.push(p1)}for(let T=0;T=0?Math.max(X,p1):Math.max(X,c1[T])}let e=function(T,p1){let S1=g.b0([],T[p1[0]],T[p1[1]]),h1=g.b0([],T[p1[2]],T[p1[1]]),W1=[0,0,0,0];return g.b1(W1,g.b2([],S1,h1)),W1[3]=-g.b3(W1,T[p1[0]]),W1}(R,U),u1=function(T,p1){let S1=g.b7(T),h1=g.b8([],T,1/S1),W1=g.b0([],p1,g.aZ([],h1,g.b3(p1,h1))),L1=g.b7(W1);if(L1>0){let Q1=Math.sqrt(1-h1[3]*h1[3]),j1=g.aZ([],h1,-h1[3]),C1=g.a_([],j1,g.aZ([],W1,Q1/L1));return g.b9(p1,C1)}return null}(z,e);if(u1!==null){let T=u1/g.b3($[0],e);X=Math.min(X,T)}for(let T=0;T{let U=g.b0([],N[R[0]],N[R[1]]),z=g.b0([],N[R[2]],N[R[1]]),Q=g.b1([],g.b2([],U,z)),t=-g.b3(Q,N[R[1]]);return Q.concat(t)}),P=[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY],K=[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY];for(let R of N)for(let U=0;U{m=g.al(+m,this.minZoom,this.maxZoom);let o={center:new g.W(r.lng,r.lat),zoom:m},s=this._helper._lngRange;if(!this._helper._renderWorldCopies&&s===null)s=[-179.9999999999,179.9999999999];let E=this.tileSize*g.ao(o.zoom),L=0,N=E,F=0,P=E,K=0,R=0,{x:U,y:z}=this.size;if(this._helper._latRange){let $=this._helper._latRange;L=g.Y($[1])*E,N=g.Y($[0])*E,N-L<z&&(K=z/(N-L))}s&&(F=g.X(g.Z(s[0])*E,0,E),P=g.X(g.Z(s[1])*E,0,E),P<F&&(P+=E),P-F<U&&(R=U/(P-F)));let{x:Q,y:t}=G2(E,r),i,X,c1=Math.max(R||0,K||0);if(c1){let $=new g.P(R?(P+F)/2:Q,K?(N+L)/2:t);return o.center=S3(E,$).wrap(),o.zoom+=g.ar(c1),o}if(this._helper._latRange){let $=z/2;t-$N&&(X=N-$)}if(s){let $=(F+P)/2,e=Q;this._helper._renderWorldCopies&&(e=g.X(Q,$-E/2,$+E/2));let u1=U/2;e-u1P&&(i=P-u1)}if(i!==void 0||X!==void 0){let $=new g.P(i!=null?i:Q,X!=null?X:t);o.center=S3(E,$).wrap()}return o},this.applyConstrain=(r,m)=>this._helper.applyConstrain(r,m),this._helper=new eu({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(r,m)=>this.defaultConstrain(r,m)},u),this._coveringTilesDetailsProvider=new I4}clone(){let u=new B5;return u.apply(this,!1),u}apply(u,r,m){this._helper.apply(u,r,m)}get cameraPosition(){return this._cameraPosition}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._viewProjMatrix}get inverseProjectionMatrix(){return this._invProjMatrix}get mercatorMatrix(){return this._mercatorMatrix}getVisibleUnwrappedCoordinates(u){let r=[new g.ba(0,u)];if(this._helper._renderWorldCopies){let m=this.screenPointToMercatorCoordinate(new g.P(0,0)),o=this.screenPointToMercatorCoordinate(new g.P(this._helper._width,0)),s=this.screenPointToMercatorCoordinate(new g.P(this._helper._width,this._helper._height)),E=this.screenPointToMercatorCoordinate(new g.P(0,this._helper._height)),L=Math.floor(Math.min(m.x,o.x,s.x,E.x)),N=Math.floor(Math.max(m.x,o.x,s.x,E.x));for(let P=L-1;Pthis.height/2-x5(this)}calculatePosMatrix(u,r=!1,m){var o;let s=(o=u.key)!==null&&o!==void 0?o:g.bb(u.wrap,u.canonical.z,u.canonical.z,u.canonical.x,u.canonical.y),E=r?this._alignedPosMatrixCache:this._posMatrixCache;if(E.has(s)){let F=E.get(s);return m?F.f32:F.f64}let L=k3(u,this.worldSize);g.U(L,r?this._alignedProjMatrix:this._viewProjMatrix,L);let N={f64:L,f32:new Float32Array(L)};return E.set(s,N),m?N.f32:N.f64}calculateFogMatrix(u){let r=u.key,m=this._fogMatrixCacheF32;if(m.has(r))return m.get(r);let o=k3(u,this.worldSize);return g.U(o,this._fogMatrix,o),m.set(r,new Float32Array(o)),m.get(r)}calculateCenterFromCameraLngLatAlt(u,r,m,o){return this._helper.calculateCenterFromCameraLngLatAlt(u,r,m,o)}_calculateNearFarZIfNeeded(u,r,m){if(!this._helper.autoCalculateNearFarZ)return;let o=Math.min(this.elevation,this.minElevationForCurrentTile,this.getCameraAltitude()-100),s=u-o*this._helper._pixelPerMeter/Math.cos(r),E=oR?2*K*(0.5+m.y/(2*P)):R,z=Math.sin(U)*E/Math.sin(g.al(Math.PI-L-U,0.01,Math.PI-0.01)),Q=Math.min(F,z);this._helper._farZ=1.01*(Math.cos(Math.PI/2-r)*Q+E),this._helper._nearZ=this._helper._height/50}_calcMatrices(){if(!this._helper._height)return;let u=this.centerOffset,r=G2(this.worldSize,this.center),m=r.x,o=r.y;this._helper._pixelPerMeter=g.aq(1,this.center.lat)*this.worldSize;let s=g.an(Math.min(this.pitch,C5)),E=Math.max(this._helper.cameraToCenterDistance/2,this._helper.cameraToCenterDistance+this._helper._elevation*this._helper._pixelPerMeter/Math.cos(s)),L;var N,F;this._calculateNearFarZIfNeeded(E,s,u),L=new Float64Array(16),g.bc(L,this.fovInRadians,this._helper._width/this._helper._height,this._helper._nearZ,this._helper._farZ),this._invProjMatrix=new Float64Array(16),(N=this._invProjMatrix)[0]=1/(F=L)[0],N[1]=0,N[2]=0,N[3]=0,N[4]=0,N[5]=1/F[5],N[6]=0,N[7]=0,N[8]=0,N[9]=0,N[10]=0,N[11]=1/F[14],N[12]=0,N[13]=0,N[14]=-1,N[15]=F[10]/F[14],L[8]=2*-u.x/this._helper._width,L[9]=2*u.y/this._helper._height,this._projectionMatrix=g.bd(L),g.S(L,L,[1,-1,1]),g.Q(L,L,[0,0,-this._helper.cameraToCenterDistance]),g.be(L,L,-this.rollInRadians),g.bf(L,L,this.pitchInRadians),g.be(L,L,-this.bearingInRadians),g.Q(L,L,[-m,-o,0]),this._mercatorMatrix=g.S([],L,[this.worldSize,this.worldSize,this.worldSize]),g.S(L,L,[1,1,this._helper._pixelPerMeter]),this._pixelMatrix=g.U(new Float64Array(16),this.clipSpaceToPixelsMatrix,L),g.Q(L,L,[0,0,-this.elevation]),this._viewProjMatrix=L,this._invViewProjMatrix=g.bg([],L);let P=[0,0,-1,1];g.aE(P,P,this._invViewProjMatrix),this._cameraPosition=[P[0]/P[3],P[1]/P[3],P[2]/P[3]],this._fogMatrix=new Float64Array(16),g.bc(this._fogMatrix,this.fovInRadians,this.width/this.height,E,this._helper._farZ),this._fogMatrix[8]=2*-u.x/this.width,this._fogMatrix[9]=2*u.y/this.height,g.S(this._fogMatrix,this._fogMatrix,[1,-1,1]),g.Q(this._fogMatrix,this._fogMatrix,[0,0,-this.cameraToCenterDistance]),g.be(this._fogMatrix,this._fogMatrix,-this.rollInRadians),g.bf(this._fogMatrix,this._fogMatrix,this.pitchInRadians),g.be(this._fogMatrix,this._fogMatrix,-this.bearingInRadians),g.Q(this._fogMatrix,this._fogMatrix,[-m,-o,0]),g.S(this._fogMatrix,this._fogMatrix,[1,1,this._helper._pixelPerMeter]),g.Q(this._fogMatrix,this._fogMatrix,[0,0,-this.elevation]),this._pixelMatrix3D=g.U(new Float64Array(16),this.clipSpaceToPixelsMatrix,L);let K=this._helper._width%2/2,R=this._helper._height%2/2,U=Math.cos(this.bearingInRadians),z=Math.sin(-this.bearingInRadians),Q=m-Math.round(m)+U*K+z*R,t=o-Math.round(o)+U*R+z*K,i=new Float64Array(L);if(g.Q(i,i,[Q>0.5?Q-1:Q,t>0.5?t-1:t,0]),this._alignedProjMatrix=i,L=g.bg(new Float64Array(16),this._pixelMatrix),!L)throw Error("failed to invert matrix");this._pixelMatrixInverse=L,this._clearMatrixCaches()}_clearMatrixCaches(){this._posMatrixCache.clear(),this._alignedPosMatrixCache.clear(),this._fogMatrixCacheF32.clear()}maxPitchScaleFactor(){if(!this._pixelMatrixInverse)return 1;let u=this.screenPointToMercatorCoordinate(new g.P(0,0)),r=[u.x*this.worldSize,u.y*this.worldSize,0,1];return g.aE(r,r,this._pixelMatrix)[3]/this._helper.cameraToCenterDistance}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){let u=g.aq(1,this.center.lat)*this.worldSize;return N5(this.center,this.elevation,this.pitch,this.bearing,this._helper.cameraToCenterDistance/u).toLngLat()}lngLatToCameraDepth(u,r){let m=g.a7.fromLngLat(u),o=[m.x*this.worldSize,m.y*this.worldSize,r,1];return g.aE(o,o,this._viewProjMatrix),o[2]/o[3]}getProjectionData(u){let{overscaledTileID:r,aligned:m,applyTerrainMatrix:o}=u,s=this._helper.getMercatorTileCoordinates(r),E=r?this.calculatePosMatrix(r,m,!0):null,L;return L=(r==null?void 0:r.terrainRttPosMatrix32f)&&o?r.terrainRttPosMatrix32f:E||g.bh(),{mainMatrix:L,tileMercatorCoords:s,clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:L}}isLocationOccluded(u){return!1}getPixelScale(){return 1}getCircleRadiusCorrection(){return 1}getPitchedTextCorrection(u,r,m){return 1}transformLightDirection(u){return g.a$(u)}getRayDirectionFromPixel(u){throw Error("Not implemented.")}projectTileCoordinates(u,r,m,o){let s=this.calculatePosMatrix(m),E;o?(E=[u,r,o(u,r),1],g.aE(E,E,s)):(E=[u,r,0,1],cr(E,E,s));let L=E[3];return{point:new g.P(E[0]/L,E[1]/L),signedDistanceFromCamera:L,isOccluded:!1}}populateCache(u){for(let r of u)this.calculatePosMatrix(r)}getMatrixForModel(u,r){let m=g.a7.fromLngLat(u,r),o=m.meterInMercatorCoordinateUnits(),s=g.bi();return g.Q(s,s,[m.x,m.y,m.z]),g.be(s,s,Math.PI),g.bf(s,s,Math.PI/2),g.S(s,s,[-o,o,o]),s}getProjectionDataForCustomLayer(u=!0){let r=new g.a3(0,0,0,0,0),m=this.getProjectionData({overscaledTileID:r,applyGlobeMatrix:u}),o=k3(r,this.worldSize);g.U(o,this._viewProjMatrix,o),m.tileMercatorCoords=[0,0,1,1];let s=[g.a6,g.a6,this.worldSize/this._helper.pixelsPerMeter],E=g.bj();return g.S(E,o,s),m.fallbackMatrix=E,m.mainMatrix=E,m}getFastPathSimpleProjectionMatrix(u){return this.calculatePosMatrix(u)}}function Nu(){g.w("Map cannot fit within canvas with the given bounds, padding, and/or offset.")}function np(u){if(u.useSlerp)if(u.k<1){let r=g.bk(u.startEulerAngles.roll,u.startEulerAngles.pitch,u.startEulerAngles.bearing),m=g.bk(u.endEulerAngles.roll,u.endEulerAngles.pitch,u.endEulerAngles.bearing),o=new Float64Array(4);g.bl(o,r,m,u.k);let s=g.bm(o);u.tr.setRoll(s.roll),u.tr.setPitch(s.pitch),u.tr.setBearing(s.bearing)}else u.tr.setRoll(u.endEulerAngles.roll),u.tr.setPitch(u.endEulerAngles.pitch),u.tr.setBearing(u.endEulerAngles.bearing);else u.tr.setRoll(g.H.number(u.startEulerAngles.roll,u.endEulerAngles.roll,u.k)),u.tr.setPitch(g.H.number(u.startEulerAngles.pitch,u.endEulerAngles.pitch,u.k)),u.tr.setBearing(g.H.number(u.startEulerAngles.bearing,u.endEulerAngles.bearing,u.k))}function dr(u,r,m,o,s){let E=s.padding,L=G2(s.worldSize,m.getNorthWest()),N=G2(s.worldSize,m.getNorthEast()),F=G2(s.worldSize,m.getSouthEast()),P=G2(s.worldSize,m.getSouthWest()),K=g.an(-o),R=L.rotate(K),U=N.rotate(K),z=F.rotate(K),Q=P.rotate(K),t=new g.P(Math.max(R.x,U.x,Q.x,z.x),Math.max(R.y,U.y,Q.y,z.y)),i=new g.P(Math.min(R.x,U.x,Q.x,z.x),Math.min(R.y,U.y,Q.y,z.y)),X=t.sub(i),c1=(s.width-(E.left+E.right+r.left+r.right))/X.x,$=(s.height-(E.top+E.bottom+r.top+r.bottom))/X.y;if($<0||c1<0)return void Nu();let e=Math.min(g.ar(s.scale*Math.min(c1,$)),u.maxZoom),u1=g.P.convert(u.offset),T=new g.P((r.left-r.right)/2,(r.top-r.bottom)/2).rotate(g.an(o)),p1=u1.add(T).mult(s.scale/g.ao(e));return{center:S3(s.worldSize,L.add(F).div(2).sub(p1)),zoom:e,bearing:o}}class tu{get useGlobeControls(){return!1}handlePanInertia(u,r){let m=u.mag(),o=Math.abs(x5(r));return{easingOffset:u.mult(Math.min(0.75*o/m,1)),easingCenter:r.center}}handleMapControlsRollPitchBearingZoom(u,r){u.bearingDelta&&r.setBearing(r.bearing+u.bearingDelta),u.pitchDelta&&r.setPitch(r.pitch+u.pitchDelta),u.rollDelta&&r.setRoll(r.roll+u.rollDelta),u.zoomDelta&&r.setZoom(r.zoom+u.zoomDelta)}handleMapControlsPan(u,r,m){u.around.distSqr(r.centerPoint){if(F&&u.setZoom(g.H.number(m,z,X)),g.bn(s,E)||np({startEulerAngles:s,endEulerAngles:E,tr:u,k:X,useSlerp:s.roll!=E.roll}),N&&(u.interpolatePadding(o,r.padding,X),K=u.centerPoint.add(r.offsetAsPoint)),r.around)u.setLocationAtPoint(r.around,r.aroundPoint);else{let c1=g.ao(u.zoom-m),$=z>m?Math.min(2,i):Math.max(0.5,i),e=Math.pow($,1-X),u1=S3(u.worldSize,Q.add(t.mult(X*e)).mult(c1));u.setLocationAtPoint(u.renderWorldCopies?u1.wrap():u1,K)}},isZooming:F,elevationCenter:U}}handleFlyTo(u,r){let m=r.zoom!==void 0,o=u.zoom,s=u.applyConstrain(g.W.convert(r.center||r.locationAtOffset),m?+r.zoom:o),E=s.center,L=s.zoom;iu(u,E);let N=G2(u.worldSize,r.locationAtOffset),F=G2(u.worldSize,E).sub(N),P=F.mag(),K=g.ao(L-o),R;if(r.minZoom!==void 0){let U=Math.min(+r.minZoom,o,L),z=u.applyConstrain(E,U).zoom;R=g.ao(z-o)}return{easeFunc:(U,z,Q,t)=>{u.setZoom(U===1?L:o+g.ar(z));let i=U===1?E:S3(u.worldSize,N.add(F.mult(Q)).mult(z));u.setLocationAtPoint(u.renderWorldCopies?i.wrap():i,t)},scaleOfZoom:K,targetCenter:E,scaleOfMinZoom:R,pixelPathLength:P}}}class xl{constructor(u,r,m){this.blendFunction=u,this.blendColor=r,this.mask=m}}xl.Replace=[1,0],xl.disabled=new xl(xl.Replace,g.bo.transparent,[!1,!1,!1,!1]),xl.unblended=new xl(xl.Replace,g.bo.transparent,[!0,!0,!0,!0]),xl.alphaBlended=new xl([1,771],g.bo.transparent,[!0,!0,!0,!0]);let C3=2305;class yl{constructor(u,r,m){this.enable=u,this.mode=r,this.frontFace=m}}yl.disabled=new yl(!1,1029,C3),yl.backCCW=new yl(!0,1029,C3),yl.frontCCW=new yl(!0,1028,C3);class rl{constructor(u,r,m){this.func=u,this.mask=r,this.range=m}}rl.ReadOnly=!1,rl.ReadWrite=!0,rl.disabled=new rl(519,rl.ReadOnly,[0,1]);let x3=7680;class wl{constructor(u,r,m,o,s,E){this.test=u,this.ref=r,this.mask=m,this.fail=o,this.depthFail=s,this.pass=E}}function j2(u){return typeof WebGL2RenderingContext=this._readbackQueue.frameNumberIssued+this._readbackWaitFrames&&this._tryReadback():m>=this._lastReadbackFrame+this._measureWaitFrames&&this._renderErrorTexture(u,r),this._updateCount++,this._measuredError}_bindFramebuffer(){let u=this._cachedRenderContext.context,r=u.gl;u.activeTexture.set(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,this._fbo.colorAttachment.get()),u.bindFramebuffer.set(this._fbo.framebuffer)}_renderErrorTexture(u,r){let m=this._cachedRenderContext.context,o=m.gl;if(this._bindFramebuffer(),m.viewport.set([0,0,this._texWidth,this._texHeight]),m.clear({color:g.bo.transparent}),this._cachedRenderContext.useProgram("projectionErrorMeasurement").draw(m,o.TRIANGLES,rl.disabled,wl.disabled,xl.unblended,yl.disabled,((s,E)=>({u_input:s,u_output_expected:E}))(u,r),null,null,"$clipping",this._fullscreenTriangle.vertexBuffer,this._fullscreenTriangle.indexBuffer,this._fullscreenTriangle.segments),this._pbo&&j2(o)){o.bindBuffer(o.PIXEL_PACK_BUFFER,this._pbo),o.readBuffer(o.COLOR_ATTACHMENT0),o.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,0),o.bindBuffer(o.PIXEL_PACK_BUFFER,null);let s=o.fenceSync(o.SYNC_GPU_COMMANDS_COMPLETE,0);o.flush(),this._readbackQueue={frameNumberIssued:this._updateCount,sync:s}}else this._readbackQueue={frameNumberIssued:this._updateCount,sync:null}}_tryReadback(){let u=this._cachedRenderContext.context.gl;if(this._pbo&&this._readbackQueue&&j2(u)){let r=u.clientWaitSync(this._readbackQueue.sync,0,0);if(r===u.WAIT_FAILED)return g.w("WebGL2 clientWaitSync failed."),this._readbackQueue=null,void(this._lastReadbackFrame=this._updateCount);if(r===u.TIMEOUT_EXPIRED)return;u.bindBuffer(u.PIXEL_PACK_BUFFER,this._pbo),u.getBufferSubData(u.PIXEL_PACK_BUFFER,0,this._resultBuffer,0,4),u.bindBuffer(u.PIXEL_PACK_BUFFER,null)}else this._bindFramebuffer(),u.readPixels(0,0,this._texWidth,this._texHeight,this._texFormat,this._texType,this._resultBuffer);this._readbackQueue=null,this._measuredError=N3._parseRGBA8float(this._resultBuffer),this._lastReadbackFrame=this._updateCount}static _parseRGBA8float(u){let r=0;return r+=u[0]/256,r+=u[1]/65536,r+=u[2]/16777216,u[3]65536;if(z&&r==="16bit")throw Error("Granularity is too large and meshes would not fit inside 16 bit vertex indices.");let Q=z||r==="32bit",t=new Int16Array(2*R),i=0;for(let $=F;$<=K;$++)for(let e=N;e<=P;e++){let u1=e/m*g.a6;e===-1&&(u1=-K5),e===m+1&&(u1=g.a6+K5);let T=$/m*g.a6;$===-1&&(T=u.extendToNorthPole?g.bq:-K5),$===m+1&&(T=u.extendToSouthPole?g.br:g.a6+K5),t[i++]=u1,t[i++]=T}let X=Q?new Uint32Array(U):new Uint16Array(U),c1=0;for(let $=0;$<s;$++)for(let e=0;e<o;e++){let u1=e+1+$*E,T=e+($+1)*E,p1=e+1+($+1)*E;X[c1++]=e+$*E,X[c1++]=T,X[c1++]=u1,X[c1++]=u1,X[c1++]=T,X[c1++]=p1}return{vertices:t.buffer.slice(0),indices:X.buffer.slice(0),uses32bitIndices:Q}}let t6=new g.aT({fill:new g.bs(128,2),line:new g.bs(512,0),tile:new g.bs(128,32),stencil:new g.bs(128,1),circle:3});class Y4{constructor(){this._tileMeshCache={},this._errorCorrectionUsable=0,this._errorMeasurementLastValue=0,this._errorCorrectionPreviousValue=0,this._errorMeasurementLastChangeTime=-1000}get name(){return"vertical-perspective"}get transitionState(){return 1}get useSubdivision(){return!0}get shaderVariantName(){return"globe"}get shaderDefine(){return"#define GLOBE"}get shaderPreludeCode(){return Yl.projectionGlobe}get vertexShaderPreludeCode(){return Yl.projectionMercator.vertexSource}get subdivisionGranularity(){return t6}get useGlobeControls(){return!0}get latitudeErrorCorrectionRadians(){return this._errorCorrectionUsable}destroy(){this._errorMeasurement&&this._errorMeasurement.destroy()}updateGPUdependent(u){this._errorMeasurement||(this._errorMeasurement=new N3(u));let r=g.Y(this._errorQueryLatitudeDegrees),m=2*Math.atan(Math.exp(Math.PI-r*Math.PI*2))-0.5*Math.PI,o=this._errorMeasurement.updateErrorLoop(r,m),s=q1();o!==this._errorMeasurementLastValue&&(this._errorCorrectionPreviousValue=this._errorCorrectionUsable,this._errorMeasurementLastValue=o,this._errorMeasurementLastChangeTime=s);let E=Math.min(Math.max((s-this._errorMeasurementLastChangeTime)/1000/0.5,0),1);this._errorCorrectionUsable=g.bt(this._errorCorrectionPreviousValue,-this._errorMeasurementLastValue,g.bu(E))}_getMeshKey(u){return`${u.granularity.toString(36)}_${u.generateBorders?"b":""}${u.extendToNorthPole?"n":""}${u.extendToSouthPole?"s":""}`}getMeshFromTileID(u,r,m,o,s){let E=(s==="stencil"?t6.stencil:t6.tile).getGranularityForZoomLevel(r.z);return this._getMesh(u,{granularity:E,generateBorders:m,extendToNorthPole:r.y===0&&o,extendToSouthPole:r.y===(1<<r.z)-1&&o})}_getMesh(u,r){let m=this._getMeshKey(r);if(m in this._tileMeshCache)return this._tileMeshCache[m];let o=function(s,E){let L=F3(E,"16bit"),N=g.aU.deserialize({arrayBuffer:L.vertices,length:L.vertices.byteLength/2/2}),F=g.aW.deserialize({arrayBuffer:L.indices,length:L.indices.byteLength/2/3});return new Ll(s.createVertexBuffer(N,_u.members),s.createIndexBuffer(F),g.aV.simpleSegment(0,0,N.length,F.length))}(u,r);return this._tileMeshCache[m]=o,o}recalculate(u){}hasTransition(){var u;let r=q1(),m=!1;return m||(m=(r-this._errorMeasurementLastChangeTime)/10000}get latitudeErrorCorrectionRadians(){return this._verticalPerspectiveProjection.latitudeErrorCorrectionRadians}get currentProjection(){return this.useGlobeRendering?this._verticalPerspectiveProjection:this._mercatorProjection}get name(){return"globe"}get useSubdivision(){return this.currentProjection.useSubdivision}get shaderVariantName(){return this.currentProjection.shaderVariantName}get shaderDefine(){return this.currentProjection.shaderDefine}get shaderPreludeCode(){return this.currentProjection.shaderPreludeCode}get vertexShaderPreludeCode(){return this.currentProjection.vertexShaderPreludeCode}get subdivisionGranularity(){return this.currentProjection.subdivisionGranularity}get useGlobeControls(){return this.transitionState>0}destroy(){this._mercatorProjection.destroy(),this._verticalPerspectiveProjection.destroy()}updateGPUdependent(u){this._mercatorProjection.updateGPUdependent(u),this._verticalPerspectiveProjection.updateGPUdependent(u)}getMeshFromTileID(u,r,m,o,s){return this.currentProjection.getMeshFromTileID(u,r,m,o,s)}setProjection(u){this._transitionable.setValue("type",(u==null?void 0:u.type)||"mercator")}updateTransitions(u){this._transitioning=this._transitionable.transitioned(u,this._transitioning)}hasTransition(){return this._transitioning.hasTransition()||this.currentProjection.hasTransition()}recalculate(u){this.properties=this._transitioning.possiblyEvaluate(u)}setErrorQueryLatitudeDegrees(u){this._verticalPerspectiveProjection.setErrorQueryLatitudeDegrees(u),this._mercatorProjection.setErrorQueryLatitudeDegrees(u)}}function Vp(u){let r=s2(u.worldSize,u.center.lat);return 2*Math.PI*r}function c0(u,r,m,o,s){let E=1/(1<0.000001){let o=u[0]/m,s=Math.acos(u[2]/m),E=(o>0?s:-s)/Math.PI*180;return new g.W(g.X(E,-180,180),r)}return new g.W(0,r)}function O4(u){return Math.cos(u*Math.PI/180)}function h0(u,r){let m=O4(u),o=O4(r);return g.ar(o/m)}function U5(u,r){let m=u.rotate(r.bearingInRadians),o=r.zoom+h0(r.center.lat,0),s=g.bt(1/O4(r.center.lat),1/O4(Math.min(Math.abs(r.center.lat),60)),g.bw(o,7,3,0,1)),E=360/Vp({worldSize:r.worldSize,center:{lat:r.center.lat}});return new g.W(r.center.lng-m.x*E*s,g.al(r.center.lat+m.y*E,-g.am,g.am))}function u7(u){let r=0.5*u,m=Math.sin(r),o=Math.cos(r);return Math.log(m+o)-Math.log(o-m)}function Wp(u,r,m,o){let s=u.lat+m*o;if(Math.abs(m)>1){let E=(Math.sign(u.lat+m)!==Math.sign(u.lat)?-Math.abs(u.lat):Math.abs(u.lat))*Math.PI/180,L=Math.abs(u.lat+m)*Math.PI/180,N=u7(E+o*(L-E)),F=u7(E),P=u7(L);return new g.W(u.lng+r*((N-F)/(P-F)),s)}return new g.W(u.lng+r*o,s)}class Lp{constructor(u){this._cachePrevious=new Map,this._cache=new Map,this._hadAnyChanges=!1,this._boundingVolumeFactory=u}swapBuffers(){if(!this._hadAnyChanges)return;let u=this._cachePrevious;this._cachePrevious=this._cache,this._cache=u,this._cache.clear(),this._hadAnyChanges=!1}getTileBoundingVolume(u,r,m,o){let s=`${u.z}_${u.x}_${u.y}_${(o==null?void 0:o.terrain)?"t":""}`,E=this._cache.get(s);if(E)return E;let L=this._cachePrevious.get(s);if(L)return this._cache.set(s,L),L;let N=this._boundingVolumeFactory(u,r,m,o);return this._cache.set(s,N),this._hadAnyChanges=!0,N}}class q3{constructor(u,r,m,o){this.min=m,this.max=o,this.points=u,this.planes=r}static fromAabb(u,r){let m=[];for(let o=0;o>1&1)==1?r[1]:u[1],(o>>2&1)==1?r[2]:u[2]]);return new q3(m,[[-1,0,0,r[0]],[1,0,0,-u[0]],[0,-1,0,r[1]],[0,1,0,-u[1]],[0,0,-1,r[2]],[0,0,1,-u[2]]],u,r)}static fromCenterSizeAngles(u,r,m){let o=g.bA([],m[0],m[1],m[2]),s=g.bB([],[r[0],0,0],o),E=g.bB([],[0,r[1],0],o),L=g.bB([],[0,0,r[2]],o),N=[...u],F=[...u];for(let K=0;K<8;K++)for(let R=0;R>1&1)==1?1:-1)+L[R]*((K>>2&1)==1?1:-1);N[R]=Math.min(N[R],U),F[R]=Math.max(F[R],U)}let P=[];for(let K=0;K>1&1)==1?1:-1)),g.a_(R,R,g.aZ([],L,(K>>2&1)==1?1:-1)),P.push(R)}return new q3(P,[[...s,-g.b3(s,P[0])],[...E,-g.b3(E,P[0])],[...L,-g.b3(L,P[0])],[-s[0],-s[1],-s[2],-g.b3(s,P[7])],[-E[0],-E[1],-E[2],-g.b3(E,P[7])],[-L[0],-L[1],-L[2],-g.b3(L,P[7])]],N,F)}intersectsFrustum(u){let r=!0,m=this.points.length,o=this.planes.length,s=u.planes.length,E=u.points.length;for(let L=0;L<s;L++){let N=u.planes[L],F=0;for(let P=0;P=0&&F++}if(F===0)return 0;F<m&&(r=!1)}if(r)return 2;for(let L=0;L<o;L++){let N=this.planes[L],F=0;for(let P=0;P=0&&F++}if(F===0)return 0}return 1}intersectsPlane(u){let r=this.points.length,m=0;for(let o=0;o=0&&m++}return m===r?2:m===0?0:1}}function mr(u,r,m){let o=u-r;return o<0?-o:Math.max(0,o-m)}function c7(u,r,m,o,s){let E=u-m,L;return L=Es?Math.min(Math.max(E-s,0),1-E):0,Math.max(L,mr(r,o,s))}class G4{constructor(){this._boundingVolumeCache=new Lp(this._computeTileBoundingVolume)}prepareNextFrame(){this._boundingVolumeCache.swapBuffers()}distanceToTile2d(u,r,m,o){let s=1<<m.z,E=1/s,L=m.x/s,N=m.y/s,F=2;return F=Math.min(F,c7(u,r,L,N,E)),F=Math.min(F,c7(u,r,L+0.5,-N-E,E)),F=Math.min(F,c7(u,r,L+0.5,2-N-E,E)),F}getWrap(u,r,m){let o=1<4}allowWorldCopies(){return!1}getTileBoundingVolume(u,r,m,o){return this._boundingVolumeCache.getTileBoundingVolume(u,r,m,o)}_computeTileBoundingVolume(u,r,m,o){var s,E;let L=0,N=0;if(o==null?void 0:o.terrain){let F=new g.a3(u.z,r,u.z,u.x,u.y),P=o.terrain.getMinMaxElevation(F);L=(s=P.minElevation)!==null&&s!==void 0?s:Math.min(0,m),N=(E=P.maxElevation)!==null&&E!==void 0?E:Math.max(0,m)}if(L/=g.bD,N/=g.bD,L+=1,N+=1,u.z<=0)return q3.fromAabb([-N,-N,-N],[N,N,N]);if(u.z===1)return q3.fromAabb([u.x===0?-N:0,u.y===0?0:-N,-N],[u.x===0?0:N,u.y===0?N:0,N]);{let F=[c0(0,0,u.x,u.y,u.z),c0(g.a6,0,u.x,u.y,u.z),c0(g.a6,g.a6,u.x,u.y,u.z),c0(0,g.a6,u.x,u.y,u.z)],P=[];for(let W1 of F)P.push(g.aZ([],W1,N));if(N!==L)for(let W1 of F)P.push(g.aZ([],W1,L));u.y===0&&P.push([0,1,0]),u.y===(1<<u.z)-1&&P.push([0,-1,0]);let K=[1,1,1],R=[-1,-1,-1];for(let W1 of P)for(let L1=0;L1=(1<<u.z)/2&&P.push(g.aZ([],c0(g.a6/2,0,u.x,u.y,u.z),N)),u.y<(1<<u.z)/2&&P.push(g.aZ([],c0(g.a6/2,g.a6,u.x,u.y,u.z),N));let X=gr(U,P),c1=gr(Q,P),$=[-U[0],-U[1],-U[2],X.max],e=[U[0],U[1],U[2],-X.min],u1=[-Q[0],-Q[1],-Q[2],c1.max],T=[Q[0],Q[1],Q[2],-c1.min],p1=[...t,0],S1=[...i,0],h1=[];return u.y===0?h1.push(g.bC(S1,p1,$),g.bC(S1,p1,e)):h1.push(g.bC(u1,p1,$),g.bC(u1,p1,e),g.bC(u1,S1,$),g.bC(u1,S1,e)),u.y===(1<{let o=g.al(r.lat,-g.am,g.am),s=g.al(+m,this.minZoom+h0(0,o),this.maxZoom);return{center:new g.W(r.lng,o),zoom:s}},this.applyConstrain=(r,m)=>this._helper.applyConstrain(r,m),this._helper=new eu({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(r,m)=>this.defaultConstrain(r,m)},u),this._coveringTilesDetailsProvider=new G4}clone(){let u=new D5;return u.apply(this,!1),u}apply(u,r,m){this._globeLatitudeErrorCorrectionRadians=m||0,this._helper.apply(u,r)}get projectionMatrix(){return this._projectionMatrix}get modelViewProjectionMatrix(){return this._globeViewProjMatrixNoCorrection}get inverseProjectionMatrix(){return this._globeProjMatrixInverted}get cameraPosition(){let u=g.bz();return u[0]=this._cameraPosition[0],u[1]=this._cameraPosition[1],u[2]=this._cameraPosition[2],u}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}getProjectionData(u){let{overscaledTileID:r,applyGlobeMatrix:m}=u,o=this._helper.getMercatorTileCoordinates(r);return{mainMatrix:this._globeViewProjMatrix32f,tileMercatorCoords:o,clippingPlane:this._cachedClippingPlane,projectionTransition:m?1:0,fallbackMatrix:this._globeViewProjMatrix32f}}_computeClippingPlane(u){let r=this.pitchInRadians,m=this.cameraToCenterDistance/u,o=Math.sin(r)*m,s=Math.cos(r)*m+1,E=1/Math.sqrt(o*o+s*s)*1,L=-o,N=s,F=Math.sqrt(L*L+N*N);L/=F,N/=F;let P=[0,L,N];g.bF(P,P,[0,0,0],-this.bearingInRadians),g.bG(P,P,[0,0,0],-1*this.center.lat*Math.PI/180),g.bH(P,P,[0,0,0],this.center.lng*Math.PI/180);let K=1/g.b5(P);return g.aZ(P,P,K),[...P,-E*K]}isLocationOccluded(u){return!this.isSurfacePointVisible(S0(u))}transformLightDirection(u){let r=this._helper._center.lng*Math.PI/180,m=this._helper._center.lat*Math.PI/180,o=Math.cos(m),s=[Math.sin(r)*o,Math.sin(m),Math.cos(r)*o],E=[s[2],0,-s[0]],L=[0,0,0];g.b2(L,E,s),g.b1(E,E),g.b1(L,L);let N=[0,0,0];return g.b1(N,[E[0]*u[0]+L[0]*u[1]+s[0]*u[2],E[1]*u[0]+L[1]*u[1]+s[1]*u[2],E[2]*u[0]+L[2]*u[1]+s[2]*u[2]]),N}getPixelScale(){return 1/Math.cos(this._helper._center.lat*Math.PI/180)}getCircleRadiusCorrection(){return Math.cos(this._helper._center.lat*Math.PI/180)}getPitchedTextCorrection(u,r,m){let o=function(L,N,F){let P=1/(1<<F.z);return new g.a7(L/g.a6*P+F.x*P,N/g.a6*P+F.y*P)}(u,r,m.canonical),s=(E=o.y,[g.by(o.x*Math.PI*2+Math.PI,2*Math.PI),2*Math.atan(Math.exp(Math.PI-E*Math.PI*2))-0.5*Math.PI]);var E;return this.getCircleRadiusCorrection()/Math.cos(s[1])}projectTileCoordinates(u,r,m,o){let s=m.canonical,E=c0(u,r,s.x,s.y,s.z),L=1+(o?o(u,r):0)/g.bD,N=[E[0]*L,E[1]*L,E[2]*L,1];g.aE(N,N,this._globeViewProjMatrixNoCorrection);let F=this._cachedClippingPlane,P=F[0]*E[0]+F[1]*E[1]+F[2]*E[2]+F[3]<0;return{point:new g.P(N[0]/N[3],N[1]/N[3]),signedDistanceFromCamera:N[3],isOccluded:P}}_calcMatrices(){if(!this._helper._width||!this._helper._height)return;let u=s2(this.worldSize,this.center.lat),r=g.bj(),m=g.bj();this._helper.autoCalculateNearFarZ&&(this._helper._nearZ=0.5,this._helper._farZ=this.cameraToCenterDistance+2*u),g.bc(r,this.fovInRadians,this.width/this.height,this._helper._nearZ,this._helper._farZ);let o=this.centerOffset;r[8]=2*-o.x/this._helper._width,r[9]=2*o.y/this._helper._height,this._projectionMatrix=g.bd(r),this._globeProjMatrixInverted=g.bj(),g.bg(this._globeProjMatrixInverted,r),g.Q(r,r,[0,0,-this.cameraToCenterDistance]),g.be(r,r,this.rollInRadians),g.bf(r,r,-this.pitchInRadians),g.be(r,r,this.bearingInRadians),g.Q(r,r,[0,0,-u]);let s=g.bz();s[0]=u,s[1]=u,s[2]=u,g.bf(m,r,this.center.lat*Math.PI/180),g.bI(m,m,-this.center.lng*Math.PI/180),g.S(m,m,s),this._globeViewProjMatrixNoCorrection=m,g.bf(r,r,this.center.lat*Math.PI/180-this._globeLatitudeErrorCorrectionRadians),g.bI(r,r,-this.center.lng*Math.PI/180),g.S(r,r,s),this._globeViewProjMatrix32f=new Float32Array(r),this._globeViewProjMatrixNoCorrectionInverted=g.bj(),g.bg(this._globeViewProjMatrixNoCorrectionInverted,m);let E=g.bz();this._cameraPosition=g.bz(),this._cameraPosition[2]=this.cameraToCenterDistance/u,g.bF(this._cameraPosition,this._cameraPosition,E,-this.rollInRadians),g.bG(this._cameraPosition,this._cameraPosition,E,this.pitchInRadians),g.bF(this._cameraPosition,this._cameraPosition,E,-this.bearingInRadians),g.a_(this._cameraPosition,this._cameraPosition,[0,0,1]),g.bG(this._cameraPosition,this._cameraPosition,E,-this.center.lat*Math.PI/180),g.bH(this._cameraPosition,this._cameraPosition,E,this.center.lng*Math.PI/180),this._cachedClippingPlane=this._computeClippingPlane(u);let L=g.bd(this._globeViewProjMatrixNoCorrectionInverted);g.S(L,L,[1,1,-1]),this._cachedFrustum=l2.fromInvProjectionMatrix(L,1,0,this._cachedClippingPlane,!0)}calculateFogMatrix(u){g.w("calculateFogMatrix is not supported on globe projection.");let r=g.bj();return g.ap(r),r}getVisibleUnwrappedCoordinates(u){return[new g.ba(0,u)]}getCameraFrustum(){return this._cachedFrustum}getClippingPlane(){return this._cachedClippingPlane}getCoveringTilesDetailsProvider(){return this._coveringTilesDetailsProvider}recalculateZoomAndCenter(u){u&&g.w("terrain is not fully supported on vertical perspective projection."),this._helper.recalculateZoomAndCenter(0)}maxPitchScaleFactor(){return 1}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(u,r){if(!this._globeViewProjMatrixNoCorrection)return 1;let m=S0(u);g.aZ(m,m,1+r/g.bD);let o=g.bE();return g.aE(o,[m[0],m[1],m[2],1],this._globeViewProjMatrixNoCorrection),o[2]/o[3]}populateCache(u){}getBounds(){let u=0.5*this.width,r=0.5*this.height,m=[new g.P(0,0),new g.P(u,0),new g.P(this.width,0),new g.P(this.width,r),new g.P(this.width,this.height),new g.P(u,this.height),new g.P(0,this.height),new g.P(0,r)],o=[];for(let K of m)o.push(this.unprojectScreenPoint(K));let s=0,E=0,L=0,N=0,F=this.center;for(let K of o){let R=g.bJ(F.lng,K.lng),U=g.bJ(F.lat,K.lat);Rs&&(s=R),UL&&(L=U)}let P=[F.lng+E,F.lat+N,F.lng+s,F.lat+L];return this.isSurfacePointOnScreen([0,1,0])&&(P[3]=90,P[0]=-180,P[2]=180),this.isSurfacePointOnScreen([0,-1,0])&&(P[1]=-90,P[0]=-180,P[2]=180),new gl(P)}calculateCenterFromCameraLngLatAlt(u,r,m,o){return this._helper.calculateCenterFromCameraLngLatAlt(u,r,m,o)}setLocationAtPoint(u,r){let m=S0(this.unprojectScreenPoint(r)),o=S0(u),s=g.bz();g.bK(s);let E=g.bz();g.bH(E,m,s,-this.center.lng*Math.PI/180),g.bG(E,E,s,this.center.lat*Math.PI/180);let L=o[0]*o[0]+o[2]*o[2],N=E[0]*E[0];if(L=-i&&z=-i&&t<=i,$,e;if(X&&c1){let S1=this.center.lng*Math.PI/180,h1=this.center.lat*Math.PI/180;g.bM(K,S1)+g.bM(z,h1)=0}isSurfacePointOnScreen(u){if(!this.isSurfacePointVisible(u))return!1;let r=g.bE();return g.aE(r,[...u,1],this._globeViewProjMatrixNoCorrection),r[0]/=r[3],r[1]/=r[3],r[2]/=r[3],r[0]>-1&&r[0]-1&&r[1]-1&&r[2]<1}rayPlanetIntersection(u,r){let m=g.b3(u,r),o=g.bz(),s=g.bz();g.aZ(s,r,m),g.b0(o,u,s);let E=1-g.b3(o,o);if(E<0)return null;let L=g.b3(u,u)-1,N=-m+(m0)g.a_(N,r,[m[0]*L,m[1]*L,m[2]*L]);else{let P=g.bz();g.a_(P,r,[2*m[0],2*m[1],2*m[2]]);let K=g.b9(this._cachedClippingPlane,P);g.b0(N,P,[this._cachedClippingPlane[0]*K,this._cachedClippingPlane[1]*K,this._cachedClippingPlane[2]*K])}let F=function(P){let K=g.bz();return K[0]=P[0]*-P[3],K[1]=P[1]*-P[3],K[2]=P[2]*-P[3],{center:K,radius:Math.sqrt(1-P[3]*P[3])}}(s);return z4(function(P,K,R){let U=g.bz();g.b0(U,R,P);let z=g.bz();return g.bx(z,P,U,K/g.b7(U)),z}(F.center,F.radius,N))}getMatrixForModel(u,r){let m=g.W.convert(u),o=1/g.bD,s=g.bi();return g.bI(s,s,m.lng/180*Math.PI),g.bf(s,s,-m.lat/180*Math.PI),g.Q(s,s,[0,0,1+r/g.bD]),g.bf(s,s,0.5*Math.PI),g.S(s,s,[o,o,o]),s}getProjectionDataForCustomLayer(u=!0){let r=this.getProjectionData({overscaledTileID:new g.a3(0,0,0,0,0),applyGlobeMatrix:u});return r.tileMercatorCoords=[0,0,1,1],r}getFastPathSimpleProjectionMatrix(u){}}class P3{get pixelsToClipSpaceMatrix(){return this._helper.pixelsToClipSpaceMatrix}get clipSpaceToPixelsMatrix(){return this._helper.clipSpaceToPixelsMatrix}get pixelsToGLUnits(){return this._helper.pixelsToGLUnits}get centerOffset(){return this._helper.centerOffset}get size(){return this._helper.size}get rotationMatrix(){return this._helper.rotationMatrix}get centerPoint(){return this._helper.centerPoint}get pixelsPerMeter(){return this._helper.pixelsPerMeter}setMinZoom(u){this._helper.setMinZoom(u)}setMaxZoom(u){this._helper.setMaxZoom(u)}setMinPitch(u){this._helper.setMinPitch(u)}setMaxPitch(u){this._helper.setMaxPitch(u)}setRenderWorldCopies(u){this._helper.setRenderWorldCopies(u)}setBearing(u){this._helper.setBearing(u)}setPitch(u){this._helper.setPitch(u)}setRoll(u){this._helper.setRoll(u)}setFov(u){this._helper.setFov(u)}setZoom(u){this._helper.setZoom(u)}setCenter(u){this._helper.setCenter(u)}setElevation(u){this._helper.setElevation(u)}setMinElevationForCurrentTile(u){this._helper.setMinElevationForCurrentTile(u)}setPadding(u){this._helper.setPadding(u)}interpolatePadding(u,r,m){this._helper.interpolatePadding(u,r,m)}isPaddingEqual(u){return this._helper.isPaddingEqual(u)}resize(u,r,m=!0){this._helper.resize(u,r,m)}getMaxBounds(){return this._helper.getMaxBounds()}setMaxBounds(u){this._helper.setMaxBounds(u)}setConstrainOverride(u){this._helper.setConstrainOverride(u)}overrideNearFarZ(u,r){this._helper.overrideNearFarZ(u,r)}clearNearFarZOverride(){this._helper.clearNearFarZOverride()}getCameraQueryGeometry(u){return this._helper.getCameraQueryGeometry(this.getCameraPoint(),u)}get tileSize(){return this._helper.tileSize}get tileZoom(){return this._helper.tileZoom}get scale(){return this._helper.scale}get worldSize(){return this._helper.worldSize}get width(){return this._helper.width}get height(){return this._helper.height}get lngRange(){return this._helper.lngRange}get latRange(){return this._helper.latRange}get minZoom(){return this._helper.minZoom}get maxZoom(){return this._helper.maxZoom}get zoom(){return this._helper.zoom}get center(){return this._helper.center}get minPitch(){return this._helper.minPitch}get maxPitch(){return this._helper.maxPitch}get pitch(){return this._helper.pitch}get pitchInRadians(){return this._helper.pitchInRadians}get roll(){return this._helper.roll}get rollInRadians(){return this._helper.rollInRadians}get bearing(){return this._helper.bearing}get bearingInRadians(){return this._helper.bearingInRadians}get fov(){return this._helper.fov}get fovInRadians(){return this._helper.fovInRadians}get elevation(){return this._helper.elevation}get minElevationForCurrentTile(){return this._helper.minElevationForCurrentTile}get padding(){return this._helper.padding}get unmodified(){return this._helper.unmodified}get renderWorldCopies(){return this._helper.renderWorldCopies}get cameraToCenterDistance(){return this._helper.cameraToCenterDistance}get constrainOverride(){return this._helper.constrainOverride}get nearZ(){return this._helper.nearZ}get farZ(){return this._helper.farZ}get autoCalculateNearFarZ(){return this._helper.autoCalculateNearFarZ}get isGlobeRendering(){return this._globeness>0}setTransitionState(u,r){this._globeness=u,this._globeLatitudeErrorCorrectionRadians=r,this._calcMatrices(),this._verticalPerspectiveTransform.getCoveringTilesDetailsProvider().prepareNextFrame(),this._mercatorTransform.getCoveringTilesDetailsProvider().prepareNextFrame()}get currentTransform(){return this.isGlobeRendering?this._verticalPerspectiveTransform:this._mercatorTransform}constructor(u){this._globeLatitudeErrorCorrectionRadians=0,this._globeness=1,this.defaultConstrain=(r,m)=>this.currentTransform.defaultConstrain(r,m),this.applyConstrain=(r,m)=>this._helper.applyConstrain(r,m),this._helper=new eu({calcMatrices:()=>this._calcMatrices(),defaultConstrain:(r,m)=>this.defaultConstrain(r,m)},u),this._globeness=1,this._mercatorTransform=new B5,this._verticalPerspectiveTransform=new D5}clone(){let u=new P3;return u._globeness=this._globeness,u._globeLatitudeErrorCorrectionRadians=this._globeLatitudeErrorCorrectionRadians,u.apply(this,!1),u}apply(u,r){this._helper.apply(u,r),this._mercatorTransform.apply(this,!1),this._verticalPerspectiveTransform.apply(this,!1,this._globeLatitudeErrorCorrectionRadians)}get projectionMatrix(){return this.currentTransform.projectionMatrix}get modelViewProjectionMatrix(){return this.currentTransform.modelViewProjectionMatrix}get inverseProjectionMatrix(){return this.currentTransform.inverseProjectionMatrix}get cameraPosition(){return this.currentTransform.cameraPosition}getProjectionData(u){let r=this._mercatorTransform.getProjectionData(u),m=this._verticalPerspectiveTransform.getProjectionData(u);return{mainMatrix:this.isGlobeRendering?m.mainMatrix:r.mainMatrix,clippingPlane:m.clippingPlane,tileMercatorCoords:m.tileMercatorCoords,projectionTransition:u.applyGlobeMatrix?this._globeness:0,fallbackMatrix:r.fallbackMatrix}}isLocationOccluded(u){return this.currentTransform.isLocationOccluded(u)}transformLightDirection(u){return this.currentTransform.transformLightDirection(u)}getPixelScale(){return g.bt(this._mercatorTransform.getPixelScale(),this._verticalPerspectiveTransform.getPixelScale(),this._globeness)}getCircleRadiusCorrection(){return g.bt(this._mercatorTransform.getCircleRadiusCorrection(),this._verticalPerspectiveTransform.getCircleRadiusCorrection(),this._globeness)}getPitchedTextCorrection(u,r,m){let o=this._mercatorTransform.getPitchedTextCorrection(u,r,m),s=this._verticalPerspectiveTransform.getPitchedTextCorrection(u,r,m);return g.bt(o,s,this._globeness)}projectTileCoordinates(u,r,m,o){return this.currentTransform.projectTileCoordinates(u,r,m,o)}_calcMatrices(){this._helper._width&&this._helper._height&&(this._verticalPerspectiveTransform.apply(this,!1,this._globeLatitudeErrorCorrectionRadians),this._helper._nearZ=this._verticalPerspectiveTransform.nearZ,this._helper._farZ=this._verticalPerspectiveTransform.farZ,this._mercatorTransform.apply(this,!0,this.isGlobeRendering),this._helper._nearZ=this._mercatorTransform.nearZ,this._helper._farZ=this._mercatorTransform.farZ)}calculateFogMatrix(u){return this.currentTransform.calculateFogMatrix(u)}getVisibleUnwrappedCoordinates(u){return this.currentTransform.getVisibleUnwrappedCoordinates(u)}getCameraFrustum(){return this.currentTransform.getCameraFrustum()}getClippingPlane(){return this.currentTransform.getClippingPlane()}getCoveringTilesDetailsProvider(){return this.currentTransform.getCoveringTilesDetailsProvider()}recalculateZoomAndCenter(u){this._mercatorTransform.recalculateZoomAndCenter(u),this._verticalPerspectiveTransform.recalculateZoomAndCenter(u)}maxPitchScaleFactor(){return this._mercatorTransform.maxPitchScaleFactor()}getCameraPoint(){return this._helper.getCameraPoint()}getCameraAltitude(){return this._helper.getCameraAltitude()}getCameraLngLat(){return this._helper.getCameraLngLat()}lngLatToCameraDepth(u,r){return this.currentTransform.lngLatToCameraDepth(u,r)}populateCache(u){this._mercatorTransform.populateCache(u),this._verticalPerspectiveTransform.populateCache(u)}getBounds(){return this.currentTransform.getBounds()}calculateCenterFromCameraLngLatAlt(u,r,m,o){return this._helper.calculateCenterFromCameraLngLatAlt(u,r,m,o)}setLocationAtPoint(u,r){if(!this.isGlobeRendering)return this._mercatorTransform.setLocationAtPoint(u,r),void this.apply(this._mercatorTransform,!1);this._verticalPerspectiveTransform.setLocationAtPoint(u,r),this.apply(this._verticalPerspectiveTransform,!1)}locationToScreenPoint(u,r){return this.currentTransform.locationToScreenPoint(u,r)}screenPointToMercatorCoordinate(u,r){return this.currentTransform.screenPointToMercatorCoordinate(u,r)}screenPointToLocation(u,r){return this.currentTransform.screenPointToLocation(u,r)}isPointOnMapSurface(u,r){return this.currentTransform.isPointOnMapSurface(u,r)}getRayDirectionFromPixel(u){return this._verticalPerspectiveTransform.getRayDirectionFromPixel(u)}getMatrixForModel(u,r){return this.currentTransform.getMatrixForModel(u,r)}getProjectionDataForCustomLayer(u=!0){let r=this._mercatorTransform.getProjectionDataForCustomLayer(u);if(!this.isGlobeRendering)return r;let m=this._verticalPerspectiveTransform.getProjectionDataForCustomLayer(u);return m.fallbackMatrix=r.mainMatrix,m}getFastPathSimpleProjectionMatrix(u){return this.currentTransform.getFastPathSimpleProjectionMatrix(u)}}class S2{get useGlobeControls(){return!0}handlePanInertia(u,r){let m=U5(u,r);return Math.abs(m.lng-r.center.lng)>180&&(m.lng=r.center.lng+179.5*Math.sign(m.lng-r.center.lng)),{easingCenter:m,easingOffset:new g.P(0,0)}}handleMapControlsRollPitchBearingZoom(u,r){let m=u.around,o=r.screenPointToLocation(m);u.bearingDelta&&r.setBearing(r.bearing+u.bearingDelta),u.pitchDelta&&r.setPitch(r.pitch+u.pitchDelta),u.rollDelta&&r.setRoll(r.roll+u.rollDelta);let s=r.zoom;u.zoomDelta&&r.setZoom(r.zoom+u.zoomDelta);let E=r.zoom-s;if(E===0)return;let L=g.bJ(r.center.lng,o.lng),N=L/(Math.abs(L/180)+1),F=g.bJ(r.center.lat,o.lat),P=r.getRayDirectionFromPixel(m),K=r.cameraPosition,R=-1*g.b3(K,P),U=g.bz();g.a_(U,K,[P[0]*R,P[1]*R,P[2]*R]);let z=g.b5(U)-1,Q=Math.exp(0.5*-Math.max(z-0.3,0)),t=s2(r.worldSize,r.center.lat)/Math.min(r.width,r.height),i=g.bw(t,0.9,0.5,1,0.25),X=(1-g.ao(-E))*Math.min(Q,i),c1=r.center.lat,$=r.zoom,e=new g.W(r.center.lng+N*X,g.al(r.center.lat+F*X,-g.am,g.am));r.setLocationAtPoint(o,m);let u1=r.center,T=g.bw(Math.abs(L),45,85,0,1),p1=g.bw(t,0.75,0.35,0,1),S1=Math.pow(Math.max(T,p1),0.25),h1=g.bJ(u1.lng,e.lng),W1=g.bJ(u1.lat,e.lat);r.setCenter(new g.W(u1.lng+h1*S1,u1.lat+W1*S1).wrap()),r.setZoom($+h0(c1,r.center.lat))}handleMapControlsPan(u,r,m){if(!u.panDelta)return;let o=r.center.lat,s=r.zoom;r.setCenter(U5(u.panDelta,r).wrap()),r.setZoom(s+h0(o,r.center.lat))}cameraForBoxAndBearing(u,r,m,o,s){let E=dr(u,r,m,o,s),L=r.left/s.width*2-1,N=(s.width-r.right)/s.width*2-1,F=r.top/s.height*-2+1,P=(s.height-r.bottom)/s.height*-2+1,K=g.bJ(m.getWest(),m.getEast())<0,R=K?m.getEast():m.getWest(),U=K?m.getWest():m.getEast(),z=Math.max(m.getNorth(),m.getSouth()),Q=Math.min(m.getNorth(),m.getSouth()),t=R+0.5*g.bJ(R,U),i=z+0.5*g.bJ(z,Q),X=s.clone();X.setCenter(E.center),X.setBearing(E.bearing),X.setPitch(0),X.setRoll(0),X.setZoom(E.zoom);let c1=X.modelViewProjectionMatrix,$=[S0(m.getNorthWest()),S0(m.getNorthEast()),S0(m.getSouthWest()),S0(m.getSouthEast()),S0(new g.W(U,i)),S0(new g.W(R,i)),S0(new g.W(t,z)),S0(new g.W(t,Q))],e=S0(E.center),u1=Number.POSITIVE_INFINITY;for(let T of $)L0&&(u1=S2.getLesserNonNegativeNonNull(u1,S2.solveVectorScale(T,e,c1,"x",N))),F>0&&(u1=S2.getLesserNonNegativeNonNull(u1,S2.solveVectorScale(T,e,c1,"y",F))),P0?U.center:R,t=N?+r.zoom:m+h0(o.lat,Q.lat),i=m+h0(o.lat,0),X=t+h0(Q.lat,0),c1=g.bJ(o.lng,Q.lng),$=g.bJ(o.lat,Q.lat),e=g.ao(X-i);return P=t!==m,{easeFunc:(u1)=>{if(g.bn(E,L)||np({startEulerAngles:E,endEulerAngles:L,tr:u,k:u1,useSlerp:E.roll!=L.roll}),F&&u.interpolatePadding(s,r.padding,u1),r.around)g.w("Easing around a point is not supported under globe projection."),u.setLocationAtPoint(r.around,r.aroundPoint);else{let T=X>i?Math.min(2,e):Math.max(0.5,e),p1=Math.pow(T,1-u1),S1=Wp(o,c1,$,u1*p1);u.setCenter(S1.wrap())}if(P){let T=g.H.number(i,X,u1)+h0(0,u.center.lat);u.setZoom(T)}},isZooming:P,elevationCenter:Q}}handleFlyTo(u,r){let m=r.zoom!==void 0,o=u.center,s=u.zoom,E=u.padding,L=!u.isPaddingEqual(r.padding),N=u.applyConstrain(g.W.convert(r.center||r.locationAtOffset),s).center,F=m?+r.zoom:u.zoom+h0(u.center.lat,N.lat),P=u.clone();P.setCenter(N),P.setZoom(F),P.setBearing(r.bearing);let K=new g.P(g.al(u.centerPoint.x+r.offsetAsPoint.x,0,u.width),g.al(u.centerPoint.y+r.offsetAsPoint.y,0,u.height));P.setLocationAtPoint(N,K);let R=P.center;iu(u,R);let U=function($,e,u1){let T=S0(e),p1=S0(u1),S1=g.b3(T,p1),h1=Math.acos(S1),W1=Vp($);return h1/(2*Math.PI)*W1}(u,o,R),z=s+h0(o.lat,0),Q=F+h0(R.lat,0),t=g.ao(Q-z),i;if(typeof r.minZoom=="number"){let $=+r.minZoom+h0(R.lat,0),e=Math.min($,z,Q)+h0(0,R.lat),u1=u.applyConstrain(R,e).zoom+h0(R.lat,0);i=g.ao(u1-z)}let X=g.bJ(o.lng,R.lng),c1=g.bJ(o.lat,R.lat);return{easeFunc:($,e,u1,T)=>{let p1=Wp(o,X,c1,u1);L&&u.interpolatePadding(E,r.padding,$);let S1=$===1?R:p1;u.setCenter(S1.wrap());let h1=z+g.ar(e);u.setZoom($===1?F:h1+h0(0,S1.lat))},scaleOfZoom:t,targetCenter:R,scaleOfMinZoom:i,pixelPathLength:U}}static solveVectorScale(u,r,m,o,s){let E=o==="x"?[m[0],m[4],m[8],m[12]]:[m[1],m[5],m[9],m[13]],L=[m[3],m[7],m[11],m[15]],N=u[0]*E[0]+u[1]*E[1]+u[2]*E[2],F=u[0]*L[0]+u[1]*L[1]+u[2]*L[2],P=r[0]*E[0]+r[1]*E[1]+r[2]*E[2],K=r[0]*L[0]+r[1]*L[1]+r[2]*L[2];return P+s*F===N+s*K||L[3]*(N-P)+E[3]*(K-F)+N*K==P*F?null:(P+E[3]-s*K-s*L[3])/(P-N-s*K+s*F)}static getLesserNonNegativeNonNull(u,r){return r!==null&&r>=0&&rg.C(u,r==null?void 0:r.filter((m)=>m.identifier!=="source.canvas")),r7=g.bN();class l5 extends g.E{constructor(u,r={}){var m,o;super(),this._rtlPluginLoaded=()=>{for(let E in this.tileManagers){let L=this.tileManagers[E].getSource().type;L!=="vector"&&L!=="geojson"||this.tileManagers[E].reload()}},this.map=u,this.dispatcher=new W5(V5(),u._getMapId()),this.dispatcher.registerMessageHandler("GG",(E,L)=>this.getGlyphs(E,L)),this.dispatcher.registerMessageHandler("GI",(E,L)=>this.getImages(E,L)),this.dispatcher.registerMessageHandler("GDA",(E,L)=>this.getDashes(E,L)),this.imageManager=new Z1,this.imageManager.setEventedParent(this);let s=((m=u._container)===null||m===void 0?void 0:m.lang)||typeof document{if(E.dataType!=="source"||E.sourceDataType!=="metadata")return;let L=this.tileManagers[E.sourceId];if(!L)return;let N=L.getSource();if(N==null?void 0:N.vectorLayerIds)for(let F in this._layers){let P=this._layers[F];P.source===N.id&&this._validateLayer(P)}})}_setInitialValues(){var u;this._spritesImagesIds={},this._layers={},this._order=[],this.tileManagers={},this.zoomHistory=new g.bP,this._availableImages=[],this._globalState={},this._serializedLayers={},this.stylesheet=null,this.light=null,this.sky=null,this.projection&&(this.projection.destroy(),delete this.projection),this._loaded=!1,this._changed=!1,this._updatedLayers={},this._updatedSources={},this._changedImages={},this._glyphsDidChange=!1,this._updatedPaintProps={},this._layerOrderChanged=!1,this.crossTileSymbolIndex=new(((u=this.crossTileSymbolIndex)===null||u===void 0?void 0:u.constructor)||Object),this.pauseablePlacement=void 0,this.placement=void 0,this.z=0}setGlobalStateProperty(u,r){var m,o,s;this._checkLoaded();let E=r===null?(s=(o=(m=this.stylesheet.state)===null||m===void 0?void 0:m[u])===null||o===void 0?void 0:o.default)!==null&&s!==void 0?s:null:r;if(g.bQ(E,this._globalState[u]))return this;this._globalState[u]=E,this._applyGlobalStateChanges([u])}getGlobalState(){return this._globalState}setGlobalState(u){this._checkLoaded();let r=[];for(let m in u)!g.bQ(this._globalState[m],u[m].default)&&(r.push(m),this._globalState[m]=u[m].default);this._applyGlobalStateChanges(r)}_applyGlobalStateChanges(u){if(u.length===0)return;let r=new Set,m={};for(let o of u){m[o]=this._globalState[o];for(let s in this._layers){let E=this._layers[s],L=E.getLayoutAffectingGlobalStateRefs(),N=E.getPaintAffectingGlobalStateRefs(),F=E.getVisibilityAffectingGlobalStateRefs();if(L.has(o)&&r.add(E.source),N.has(o))for(let{name:P,value:K}of N.get(o))this._updatePaintProperty(E,P,K);(F==null?void 0:F.has(o))&&(E.recalculateVisibility(),this._updateLayer(E))}}this.dispatcher.broadcast("UGS",m);for(let o in this.tileManagers)r.has(o)&&(this._reloadSource(o),this._changed=!0)}loadURL(u){return g._(this,arguments,void 0,function*(r,m={},o){this.fire(new g.n("dataloading",{dataType:"style"})),m.validate=typeof m.validate!="boolean"||m.validate,this._loadStyleRequest=new AbortController;let s=this._loadStyleRequest;try{let E=yield this.map._requestManager.transformRequest(r,"Style");g.bR(s.signal);let L=yield g.k(E,s);this._loadStyleRequest===s&&(this._loadStyleRequest=null),this._load(L.data,m,o)}catch(E){this._loadStyleRequest===s&&(this._loadStyleRequest=null),E&&!s.signal.aborted&&this.fire(new g.l(g.d(E)))}})}loadJSON(u,r={},m){this.fire(new g.n("dataloading",{dataType:"style"})),this._frameRequest=new AbortController,N1.frameAsync(this._frameRequest,this.map._ownerWindow).then(()=>{this._frameRequest=null,r.validate=r.validate!==!1,this._load(u,r,m)}).catch(()=>{})}loadEmpty(){this.fire(new g.n("dataloading",{dataType:"style"})),this._load(r7,{validate:!1})}_load(u,r,m){var o,s;let E=r.transformStyle?r.transformStyle(m,u):u;if(!r.validate||!vr(this,g.F(E))){E=Object.assign({},E),this._loaded=!0,this.stylesheet=E;for(let L in E.sources)this.addSource(L,E.sources[L],{validate:!1});E.sprite?this._loadSprite(E.sprite):this.imageManager.setLoaded(!0),this.glyphManager.setURL(E.glyphs),this._createLayers(),this.light=new fl(this.stylesheet.light),this._setProjectionInternal(((o=this.stylesheet.projection)===null||o===void 0?void 0:o.type)||"mercator"),this.sky=new Sl(this.stylesheet.sky),this.map.setTerrain((s=this.stylesheet.terrain)!==null&&s!==void 0?s:null),this.fire(new g.n("data",{dataType:"style"})),this.fire(new g.n("style.load"))}}_createLayers(){var u,r,m;let o=g.bS(this.stylesheet.layers);this.setGlobalState((u=this.stylesheet.state)!==null&&u!==void 0?u:null),this.dispatcher.broadcast("SL",o),this._order=o.map((s)=>s.id),this._layers={},this._serializedLayers=null;for(let s of o){let E=g.bT(s,this._globalState);if(E.setEventedParent(this,{layer:{id:s.id}}),this._layers[s.id]=E,g.bU(E)&&this.tileManagers[E.source]){let L=(m=(r=s.paint)===null||r===void 0?void 0:r["raster-fade-duration"])!==null&&m!==void 0?m:E.paint.get("raster-fade-duration");this.tileManagers[E.source].setRasterFadeDuration(L)}}}_loadSprite(u,r=!1,m=void 0){this.imageManager.setLoaded(!1);let o=new AbortController,s;this._spriteRequest=o,function(E,L,N,F){return g._(this,void 0,void 0,function*(){let P=f1(E),K=N>1?"@2x":"",R={},U={};for(let{id:z,url:Q}of P){let t=yield L.transformRequest(o1(Q,K,".json"),"SpriteJSON");R[z]=g.k(t,F);let i=yield L.transformRequest(o1(Q,K,".png"),"SpriteImage");U[z]=J1.getImage(i,F)}return yield Promise.all([...Object.values(R),...Object.values(U)]),function(z,Q){return g._(this,void 0,void 0,function*(){let t={};for(let i in z){t[i]={};let X=N1.getImageCanvasContext((yield Q[i]).data),c1=(yield z[i]).data;for(let $ in c1){let{width:e,height:u1,x:T,y:p1,sdf:S1,pixelRatio:h1,stretchX:W1,stretchY:L1,content:Q1,textFitWidth:j1,textFitHeight:C1}=c1[$];t[i][$]={data:null,pixelRatio:h1,sdf:S1,stretchX:W1,stretchY:L1,content:Q1,textFitWidth:j1,textFitHeight:C1,spriteData:{width:e,height:u1,x:T,y:p1,context:X}}}}return t})}(R,U)})}(u,this.map._requestManager,this.map.getPixelRatio(),this._spriteRequest).then((E)=>{if(this._spriteRequest=null,E)for(let L in E){this._spritesImagesIds[L]=[];let N=this._spritesImagesIds[L]?this._spritesImagesIds[L].filter((F)=>!(F in E)):[];for(let F of N)this.imageManager.removeImage(F),this._changedImages[F]=!0;for(let F in E[L]){let P=L==="default"?F:`${L}:${F}`;this._spritesImagesIds[L].push(P),P in this.imageManager.images?this.imageManager.updateImage(P,E[L][F],!1):this.imageManager.addImage(P,E[L][F]),r&&(this._changedImages[P]=!0)}}}).catch((E)=>{this._spriteRequest=null,s=E,o.signal.aborted||this.fire(new g.l(s))}).finally(()=>{this.imageManager.setLoaded(!0),this._availableImages=this.imageManager.listImages(),r&&(this._changed=!0),this.dispatcher.broadcast("SI",this._availableImages),this.fire(new g.n("data",{dataType:"style"})),m&&m(s)})}_unloadSprite(){for(let u of Object.values(this._spritesImagesIds).flat())this.imageManager.removeImage(u),this._changedImages[u]=!0;this._spritesImagesIds={},this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new g.n("data",{dataType:"style"}))}_validateLayer(u){let r=this.tileManagers[u.source];if(!r)return;let m=u.sourceLayer;if(!m)return;let o=r.getSource();(o.type==="geojson"||o.vectorLayerIds&&!o.vectorLayerIds.includes(m))&&this.fire(new g.l(Error(`Source layer "${m}" does not exist on source "${o.id}" as specified by style layer "${u.id}".`)))}loaded(){if(!this._loaded)return!1;if(Object.keys(this._updatedSources).length)return!1;for(let u in this.tileManagers)if(!this.tileManagers[u].loaded())return!1;return this.imageManager.isLoaded()}_serializeByIds(u,r=!1){let m=this._serializedAllLayers();if(!u||u.length===0)return Object.values(r?g.bV(m):m);let o=[];for(let s of u)if(m[s]){let E=r?g.bV(m[s]):m[s];o.push(E)}return o}_serializedAllLayers(){let u=this._serializedLayers;if(u)return u;u=this._serializedLayers={};let r=Object.keys(this._layers);for(let m of r){let o=this._layers[m];o.type!=="custom"&&(u[m]=o.serialize())}return u}hasTransitions(){var u,r,m;if((u=this.light)===null||u===void 0?void 0:u.hasTransition())return!0;if((r=this.sky)===null||r===void 0?void 0:r.hasTransition())return!0;if((m=this.projection)===null||m===void 0?void 0:m.hasTransition())return!0;for(let o in this.tileManagers)if(this.tileManagers[o].hasTransition())return!0;for(let o in this._layers)if(this._layers[o].hasTransition())return!0;return!1}_checkLoaded(){if(!this._loaded)throw Error("Style is not done loading.")}update(u){if(!this._loaded)return;let r=this._changed;if(r){let o=Object.keys(this._updatedLayers),s=Object.keys(this._removedLayers);(o.length||s.length)&&this._updateWorkerLayers(o,s);for(let E in this._updatedSources){let L=this._updatedSources[E];if(L==="reload")this._reloadSource(E);else{if(L!=="clear")throw Error(`Invalid action ${L}`);this._clearSource(E)}}this._updateTilesForChangedImages(),this._updateTilesForChangedGlyphs();for(let E in this._updatedPaintProps)this._layers[E].updateTransitions(u);this.light.updateTransitions(u),this.sky.updateTransitions(u),this._resetUpdates()}let m={};for(let o in this.tileManagers){let s=this.tileManagers[o];m[o]=s.used,s.used=!1}for(let o of this._order){let s=this._layers[o];s.recalculate(u,this._availableImages),!s.isHidden(u.zoom)&&s.source&&(this.tileManagers[s.source].used=!0)}for(let o in m){let s=this.tileManagers[o];!!m[o]!=!!s.used&&s.fire(new g.n("data",{sourceDataType:"visibility",dataType:"source",sourceId:o}))}this.light.recalculate(u),this.sky.recalculate(u),this.projection.recalculate(u),this.z=u.zoom,r&&this.fire(new g.n("data",{dataType:"style"}))}_updateTilesForChangedImages(){let u=Object.keys(this._changedImages);if(u.length){for(let r in this.tileManagers)this.tileManagers[r].reloadTilesForDependencies(["icons","patterns"],u);this._changedImages={}}}_updateTilesForChangedGlyphs(){if(this._glyphsDidChange){for(let u in this.tileManagers)this.tileManagers[u].reloadTilesForDependencies(["glyphs"],[""]);this._glyphsDidChange=!1}}_updateWorkerLayers(u,r){this.dispatcher.broadcast("UL",{layers:this._serializeByIds(u,!1),removedIds:r})}_resetUpdates(){this._changed=!1,this._updatedLayers={},this._removedLayers={},this._updatedSources={},this._updatedPaintProps={},this._changedImages={},this._glyphsDidChange=!1}setState(u,r={}){var m;this._checkLoaded();let o=this.serialize();if(u=r.transformStyle?r.transformStyle(o,u):u,((m=r.validate)===null||m===void 0||m)&&vr(this,g.F(u)))return!1;(u=g.bV(u)).layers=g.bS(u.layers);let s=g.bW(o,u),E=this._getOperationsToPerform(s);if(E.unimplemented.length>0)throw Error(`Unimplemented: ${E.unimplemented.join(", ")}.`);if(E.operations.length===0)return!1;for(let L of E.operations)L();return this.stylesheet=u,this._serializedLayers=null,this.fire(new g.n("style.load",{style:this})),!0}_getOperationsToPerform(u){let r=[],m=[];for(let o of u)switch(o.command){case"setCenter":case"setZoom":case"setBearing":case"setPitch":case"setRoll":continue;case"addLayer":r.push(()=>this.addLayer.apply(this,o.args));break;case"removeLayer":r.push(()=>this.removeLayer.apply(this,o.args));break;case"setPaintProperty":r.push(()=>this.setPaintProperty.apply(this,o.args));break;case"setLayoutProperty":r.push(()=>this.setLayoutProperty.apply(this,o.args));break;case"setFilter":r.push(()=>this.setFilter.apply(this,o.args));break;case"addSource":r.push(()=>this.addSource.apply(this,o.args));break;case"removeSource":r.push(()=>this.removeSource.apply(this,o.args));break;case"setLayerZoomRange":r.push(()=>this.setLayerZoomRange.apply(this,o.args));break;case"setLight":r.push(()=>this.setLight.apply(this,o.args));break;case"setGeoJSONSourceData":r.push(()=>this.setGeoJSONSourceData.apply(this,o.args));break;case"setGlyphs":r.push(()=>this.setGlyphs.apply(this,o.args));break;case"setSprite":r.push(()=>this.setSprite.apply(this,o.args));break;case"setTerrain":r.push(()=>this.map.setTerrain.apply(this,o.args));break;case"setSky":r.push(()=>this.setSky.apply(this,o.args));break;case"setProjection":this.setProjection.apply(this,o.args);break;case"setGlobalState":r.push(()=>this.setGlobalState.apply(this,o.args));break;case"setTransition":r.push(()=>{});break;default:m.push(o.command)}return{operations:r,unimplemented:m}}addImage(u,r){if(this.getImage(u))return this.fire(new g.l(Error(`An image named "${u}" already exists.`)));this.imageManager.addImage(u,r),this._afterImageUpdated(u)}updateImage(u,r){this.imageManager.updateImage(u,r)}getImage(u){return this.imageManager.getImage(u)}removeImage(u){if(!this.getImage(u))return this.fire(new g.l(Error(`An image named "${u}" does not exist.`)));this.imageManager.removeImage(u),this._afterImageUpdated(u)}_afterImageUpdated(u){this._availableImages=this.imageManager.listImages(),this._changedImages[u]=!0,this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new g.n("data",{dataType:"style"}))}listImages(){return this._checkLoaded(),this.imageManager.listImages()}addSource(u,r,m={}){var o;if(this._checkLoaded(),this.tileManagers[u]!==void 0)throw Error(`Source "${u}" already exists.`);if(!r.type)throw Error(`The type property must be defined, but only the following properties were given: ${Object.keys(r).join(", ")}.`);if(["vector","raster","geojson","video","image"].includes(r.type)&&this._validate(g.F.source,`sources.${u}`,r,null,m))return;((o=this.map)===null||o===void 0?void 0:o._collectResourceTiming)&&(r.collectResourceTiming=!0);let s=this.tileManagers[u]=new s0(u,r,this.dispatcher);s.style=this,s.setEventedParent(this,()=>({isSourceLoaded:s.loaded(),source:s.serialize(),sourceId:u})),s.onAdd(this.map),this._changed=!0}removeSource(u){if(this._checkLoaded(),this.tileManagers[u]===void 0)throw Error(`There is no source with this ID=${u}`);for(let m in this._layers)if(this._layers[m].source===u)return this.fire(new g.l(Error(`Source "${u}" cannot be removed while layer "${m}" is using it.`)));let r=this.tileManagers[u];delete this.tileManagers[u],delete this._updatedSources[u],r.fire(new g.n("data",{sourceDataType:"metadata",dataType:"source",sourceId:u})),r.setEventedParent(null),r.onRemove(this.map),this._changed=!0}setGeoJSONSourceData(u,r){if(this._checkLoaded(),this.tileManagers[u]===void 0)throw Error(`There is no source with this ID=${u}`);let m=this.tileManagers[u].getSource();if(m.type!=="geojson")throw Error(`geojsonSource.type is ${m.type}, which is !== 'geojson`);m.setData(r),this._changed=!0}getSource(u){var r;return(r=this.tileManagers[u])===null||r===void 0?void 0:r.getSource()}addLayer(u,r,m={}){this._checkLoaded();let o=u.id;if(this.getLayer(o))return void this.fire(new g.l(Error(`Layer "${o}" already exists on this map.`)));let s;if(u.type==="custom"){if(vr(this,g.bX(u)))return;s=g.bT(u,this._globalState)}else{if("source"in u&&typeof u.source=="object"&&(this.addSource(o,u.source),u=g.bV(u),u=g.e(u,{source:o})),this._validate(g.F.layer,`layers.${o}`,u,{arrayIndex:-1},m))return;s=g.bT(u,this._globalState),this._validateLayer(s),s.setEventedParent(this,{layer:{id:o}})}let E=r?this._order.indexOf(r):this._order.length;if(r&&E===-1)this.fire(new g.l(Error(`Cannot add layer "${o}" before non-existing layer "${r}".`)));else{if(this._order.splice(E,0,o),this._layerOrderChanged=!0,this._layers[o]=s,this._removedLayers[o]&&s.source&&s.type!=="custom"){let L=this._removedLayers[o];delete this._removedLayers[o],L.type!==s.type?this._updatedSources[s.source]="clear":(this._updatedSources[s.source]="reload",this.tileManagers[s.source].pause())}this._updateLayer(s),s.onAdd&&s.onAdd(this.map)}}moveLayer(u,r){if(this._checkLoaded(),this._changed=!0,!this._layers[u])return void this.fire(new g.l(Error(`The layer '${u}' does not exist in the map's style and cannot be moved.`)));if(u===r)return;let m=this._order.indexOf(u);this._order.splice(m,1);let o=r?this._order.indexOf(r):this._order.length;r&&o===-1?this.fire(new g.l(Error(`Cannot move layer "${u}" before non-existing layer "${r}".`))):(this._order.splice(o,0,u),this._layerOrderChanged=!0)}removeLayer(u){this._checkLoaded();let r=this._layers[u];if(!r)return void this.fire(new g.l(Error(`Cannot remove non-existing layer "${u}".`)));r.setEventedParent(null);let m=this._order.indexOf(u);this._order.splice(m,1),this._layerOrderChanged=!0,this._changed=!0,this._removedLayers[u]=r,delete this._layers[u],this._serializedLayers&&delete this._serializedLayers[u],delete this._updatedLayers[u],delete this._updatedPaintProps[u],r.onRemove&&r.onRemove(this.map)}getLayer(u){return this._layers[u]}getLayersOrder(){return[...this._order]}hasLayer(u){return u in this._layers}setLayerZoomRange(u,r,m){this._checkLoaded();let o=this.getLayer(u);o?o.minzoom===r&&o.maxzoom===m||(r!=null&&(o.minzoom=r),m!=null&&(o.maxzoom=m),this._updateLayer(o)):this.fire(new g.l(Error(`Cannot set the zoom range of non-existing layer "${u}".`)))}setFilter(u,r,m={}){this._checkLoaded();let o=this.getLayer(u);if(o){if(!g.bQ(o.filter,r))return r==null?(o.setFilter(void 0),void this._updateLayer(o)):void(this._validate(g.F.filter,`layers.${o.id}.filter`,r,null,m)||(o.setFilter(g.bV(r)),this._updateLayer(o)))}else this.fire(new g.l(Error(`Cannot filter non-existing layer "${u}".`)))}getFilter(u){return g.bV(this.getLayer(u).filter)}setLayoutProperty(u,r,m,o={}){this._checkLoaded();let s=this.getLayer(u);s?g.bQ(s.getLayoutProperty(r),m)||(s.setLayoutProperty(r,m,o),this._updateLayer(s)):this.fire(new g.l(Error(`Cannot style non-existing layer "${u}".`)))}getLayoutProperty(u,r){let m=this.getLayer(u);if(m)return m.getLayoutProperty(r);this.fire(new g.l(Error(`Cannot get style of non-existing layer "${u}".`)))}setPaintProperty(u,r,m,o={}){this._checkLoaded();let s=this.getLayer(u);s?g.bQ(s.getPaintProperty(r),m)||this._updatePaintProperty(s,r,m,o):this.fire(new g.l(Error(`Cannot style non-existing layer "${u}".`)))}_updatePaintProperty(u,r,m,o={}){u.setPaintProperty(r,m,o)&&this._updateLayer(u),g.bU(u)&&r==="raster-fade-duration"&&this.tileManagers[u.source].setRasterFadeDuration(m),this._changed=!0,this._updatedPaintProps[u.id]=!0,this._serializedLayers=null}getPaintProperty(u,r){return this.getLayer(u).getPaintProperty(r)}setFeatureState(u,r){this._checkLoaded();let{source:m,sourceLayer:o}=u,s=this.tileManagers[m];if(s===void 0)return void this.fire(new g.l(Error(`The source '${m}' does not exist in the map's style.`)));let E=s.getSource().type;E==="geojson"&&o?this.fire(new g.l(Error("GeoJSON sources cannot have a sourceLayer parameter."))):E!=="vector"||o?(u.id===void 0&&this.fire(new g.l(Error("The feature id parameter must be provided."))),s.setFeatureState(o,u.id,r)):this.fire(new g.l(Error("The sourceLayer parameter must be provided for vector source types.")))}removeFeatureState(u,r){this._checkLoaded();let m=u.source,o=this.tileManagers[m];if(o===void 0)return void this.fire(new g.l(Error(`The source '${m}' does not exist in the map's style.`)));let s=o.getSource().type,E=s==="vector"?u.sourceLayer:void 0;s!=="vector"||E?r&&typeof u.id!="string"&&typeof u.id!="number"?this.fire(new g.l(Error("A feature id is required to remove its specific state property."))):o.removeFeatureState(E,u.id,r):this.fire(new g.l(Error("The sourceLayer parameter must be provided for vector source types.")))}getFeatureState(u){this._checkLoaded();let{source:r,sourceLayer:m}=u,o=this.tileManagers[r];if(o!==void 0)return o.getSource().type!=="vector"||m?(u.id===void 0&&this.fire(new g.l(Error("The feature id parameter must be provided."))),o.getFeatureState(m,u.id)):void this.fire(new g.l(Error("The sourceLayer parameter must be provided for vector source types.")));this.fire(new g.l(Error(`The source '${r}' does not exist in the map's style.`)))}getTransition(){var u;return g.e({duration:300,delay:0},(u=this.stylesheet)===null||u===void 0?void 0:u.transition)}serialize(){if(!this._loaded)return;let u=g.bY(this.tileManagers,(s)=>s.serialize()),r=this._serializeByIds(this._order,!0),m=this.map.getTerrain()||void 0,o=this.stylesheet;return g.bZ({version:o.version,name:o.name,metadata:o.metadata,light:o.light,sky:o.sky,center:o.center,zoom:o.zoom,bearing:o.bearing,pitch:o.pitch,sprite:o.sprite,glyphs:o.glyphs,transition:o.transition,projection:o.projection,sources:u,layers:r,terrain:m},(s)=>s!==void 0)}_updateLayer(u){this._updatedLayers[u.id]=!0,u.source&&!this._updatedSources[u.source]&&this.tileManagers[u.source].getSource().type!=="raster"&&(this._updatedSources[u.source]="reload",this.tileManagers[u.source].pause()),this._serializedLayers=null,this._changed=!0}_flattenAndSortRenderedFeatures(u){let r=(E)=>this._layers[E].type==="fill-extrusion",m={},o=[];for(let E=this._order.length-1;E>=0;E--){let L=this._order[E];if(r(L)){m[L]=E;for(let N of u){let F=N[L];if(F)for(let P of F)o.push(P)}}}o.sort((E,L)=>L.intersectionZ-E.intersectionZ);let s=[];for(let E=this._order.length-1;E>=0;E--){let L=this._order[E];if(r(L))for(let N=o.length-1;N>=0;N--){let F=o[N].feature;if(m[F.layer.id]this.map.terrain.getElevation(P,K,R):void 0));return this.placement&&s.push(function(F,P,K,R,U,z,Q){let t={},i=z.queryRenderedSymbols(R),X=[];for(let c1 of Object.keys(i).map(Number))X.push(Q[c1]);X.sort(y3);for(let c1 of X){let $=c1.featureIndex.lookupSymbolFeatures(i[c1.bucketInstanceId],P,c1.bucketIndex,c1.sourceLayerIndex,{filterSpec:U.filter,globalState:U.globalState},U.layers,U.availableImages,F);for(let e in $){t[e]||(t[e]=[]);let u1=$[e];u1.sort((T,p1)=>{let S1=c1.featureSortOrder;if(S1){let h1=S1.indexOf(T.featureIndex);return S1.indexOf(p1.featureIndex)-h1}return p1.featureIndex-T.featureIndex});for(let T of u1)t[e].push(T)}}return function(c1,$,e){for(let u1 in c1)for(let T of c1[u1])ju(T,e[$[u1].source]);return c1}(t,F,K)}(this._layers,E,this.tileManagers,u,N,this.placement.collisionIndex,this.placement.retainedQueryData)),this._flattenAndSortRenderedFeatures(s)}querySourceFeatures(u,r){(r==null?void 0:r.filter)&&this._validate(g.F.filter,"querySourceFeatures.filter",r.filter,null,r);let m=this.tileManagers[u];return m?function(o,s){let E=o.getRenderableIds().map((F)=>o.getTileByID(F)),L=[],N={};for(let F of E){let P=F.tileID.canonical.key;N[P]||(N[P]=!0,F.querySourceFeatures(L,s))}return L}(m,r?Object.assign(Object.assign({},r),{globalState:this._globalState}):{globalState:this._globalState}):[]}getLight(){return this.light.getLight()}setLight(u,r={}){this._checkLoaded();let m=this.light.getLight(),o=!1;for(let E in u)if(!g.bQ(u[E],m[E])){o=!0;break}if(!o)return;let s={now:q1(),transition:g.e({duration:300,delay:0},this.stylesheet.transition)};this.light.setLight(u,r),this.light.updateTransitions(s)}getProjection(){var u;return(u=this.stylesheet)===null||u===void 0?void 0:u.projection}setProjection(u){this._checkLoaded();let r=u!=null?u:{type:"mercator"};if(this.stylesheet.projection=u,this.projection){if(this.projection.name===r.type)return;this.projection.destroy(),delete this.projection}this._setProjectionInternal(r.type)}getSky(){var u;return(u=this.stylesheet)===null||u===void 0?void 0:u.sky}setSky(u,r={}){this._checkLoaded();let m=this.getSky(),o=!1;if(!u&&!m)return;if(u&&!m)o=!0;else if(!u&&m)o=!0;else for(let E in u)if(!g.bQ(u[E],m[E])){o=!0;break}if(!o)return;let s={now:q1(),transition:g.e({duration:300,delay:0},this.stylesheet.transition)};this.stylesheet.sky=u,this.sky.setSky(u,r),this.sky.updateTransitions(s)}_setProjectionInternal(u){let r=function(m,o){let s={constrainOverride:o};if(Array.isArray(m)){let E=new l7({type:m});return{projection:E,transform:new P3(s),cameraHelper:new F2(E)}}switch(m){case"mercator":return{projection:new M0,transform:new B5(s),cameraHelper:new tu};case"globe":{let E=new l7({type:["interpolate",["linear"],["zoom"],11,"vertical-perspective",12,"mercator"]});return{projection:E,transform:new P3(s),cameraHelper:new F2(E)}}case"vertical-perspective":return{projection:new Y4,transform:new D5(s),cameraHelper:new S2};default:return g.w(`Unknown projection name: ${m}. Falling back to mercator projection.`),{projection:new M0,transform:new B5(s),cameraHelper:new tu}}}(u,this.map.transformConstrain);this.projection=r.projection,this.map.migrateProjection(r.transform,r.cameraHelper);for(let m in this.tileManagers)this.tileManagers[m].reload()}_validate(u,r,m,o,s={}){return(s==null?void 0:s.validate)!==!1&&vr(this,u.call(g.F,g.e({key:r,style:this.serialize(),value:m,styleSpec:g.x},o)))}_remove(u=!0){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null),Tu().off(s3,this._rtlPluginLoaded);for(let r in this._layers)this._layers[r].setEventedParent(null);for(let r in this.tileManagers){let m=this.tileManagers[r];m.setEventedParent(null),m.onRemove(this.map)}this.imageManager.setEventedParent(null),this.setEventedParent(null),u&&this.dispatcher.broadcast("RM",void 0),this.dispatcher.remove(u)}_clearSource(u){this.tileManagers[u].clearTiles()}_reloadSource(u){this.tileManagers[u].resume(),this.tileManagers[u].reload()}_updateSources(u){for(let r in this.tileManagers)this.tileManagers[r].update(u,this.map.terrain)}_generateCollisionBoxes(){for(let u in this.tileManagers)this._reloadSource(u)}_updatePlacement(u,r,m,o,s=!1){let E=!1,L=!1,N={};for(let F of this._order){let P=this._layers[F];if(P.type!=="symbol")continue;if(!N[P.source]){let R=this.tileManagers[P.source];N[P.source]=R.getRenderableIds(!0).map((U)=>R.getTileByID(U)).sort((U,z)=>z.tileID.overscaledZ-U.tileID.overscaledZ||(U.tileID.isLessThan(z.tileID)?-1:1))}let K=this.crossTileSymbolIndex.addLayer(P,N[P.source],u.center.lng);E||(E=K)}if(this.crossTileSymbolIndex.pruneUnusedLayers(this._order),s||(s=this._layerOrderChanged||m===0),(s||!this.pauseablePlacement||this.pauseablePlacement.isDone()&&!this.placement.stillRecent(q1(),u.zoom))&&(this.pauseablePlacement=new M5(u,this.map.terrain,this._order,s,r,m,o,this.placement),this._layerOrderChanged=!1),this.pauseablePlacement.isDone()?this.placement.setStale():(this.pauseablePlacement.continuePlacement(this._order,this._layers,N),this.pauseablePlacement.isDone()&&(this.placement=this.pauseablePlacement.commit(q1()),L=!0),E&&this.pauseablePlacement.placement.setStale()),L||E)for(let F of this._order){let P=this._layers[F];P.type==="symbol"&&this.placement.updateLayerOpacities(P,N[P.source])}return!this.pauseablePlacement.isDone()||this.placement.hasTransitions(q1())}_releaseSymbolFadeTiles(){for(let u in this.tileManagers)this.tileManagers[u].releaseSymbolFadeTiles()}getImages(u,r){return g._(this,void 0,void 0,function*(){let m=yield this.imageManager.getImages(r.icons);this._updateTilesForChangedImages();let o=this.tileManagers[r.source];return o&&o.setDependencies(r.tileID.key,r.type,r.icons),m})}getGlyphs(u,r){return g._(this,void 0,void 0,function*(){let m=yield this.glyphManager.getGlyphs(r.stacks),o=this.tileManagers[r.source];return o&&o.setDependencies(r.tileID.key,r.type,[""]),m})}getGlyphsUrl(){return this.stylesheet.glyphs||null}setGlyphs(u,r={}){this._checkLoaded(),u&&this._validate(g.F.glyphs,"glyphs",u,null,r)||(this._glyphsDidChange=!0,this.stylesheet.glyphs=u,this.glyphManager.entries={},this.glyphManager.setURL(u))}getDashes(u,r){return g._(this,void 0,void 0,function*(){let m={};for(let[o,s]of Object.entries(r.dashes))m[o]=this.lineAtlas.getDash(s.dasharray,s.round);return m})}addSprite(u,r,m={},o){this._checkLoaded();let s=[{id:u,url:r}],E=[...f1(this.stylesheet.sprite),...s];this._validate(g.F.sprite,"sprite",E,null,m)||(this.stylesheet.sprite=E,this._loadSprite(s,!0,o))}removeSprite(u){this._checkLoaded();let r=f1(this.stylesheet.sprite);if(r.find((m)=>m.id===u)){if(this._spritesImagesIds[u])for(let m of this._spritesImagesIds[u])this.imageManager.removeImage(m),this._changedImages[m]=!0;r.splice(r.findIndex((m)=>m.id===u),1),this.stylesheet.sprite=r.length>0?r:void 0,delete this._spritesImagesIds[u],this._availableImages=this.imageManager.listImages(),this._changed=!0,this.dispatcher.broadcast("SI",this._availableImages),this.fire(new g.n("data",{dataType:"style"}))}else this.fire(new g.l(Error(`Sprite "${u}" doesn't exists on this map.`)))}getSprite(){return f1(this.stylesheet.sprite)}setSprite(u,r={},m){this._checkLoaded(),u&&this._validate(g.F.sprite,"sprite",u,null,r)||(this.stylesheet.sprite=u,u?this._loadSprite(u,!0,m):(this._unloadSprite(),m&&m(null)))}destroy(){this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._loadStyleRequest&&(this._loadStyleRequest.abort(),this._loadStyleRequest=null),this._spriteRequest&&(this._spriteRequest.abort(),this._spriteRequest=null);for(let u in this.tileManagers){let r=this.tileManagers[u];r.setEventedParent(null),r.onRemove(this.map)}this.tileManagers={},this.imageManager&&(this.imageManager.setEventedParent(null),this.imageManager.destroy(),this._availableImages=[],this._spritesImagesIds={}),this.glyphManager&&this.glyphManager.destroy();for(let u in this._layers){let r=this._layers[u];r.setEventedParent(null),r.onRemove&&r.onRemove(this.map)}this._setInitialValues(),this.setEventedParent(null),this.dispatcher.unregisterMessageHandler("GG"),this.dispatcher.unregisterMessageHandler("GI"),this.dispatcher.unregisterMessageHandler("GDA"),this.dispatcher.remove(!0),this._listeners={},this._oneTimeListeners={}}}var Q4=g.aS([{name:"a_pos",type:"Int16",components:2},{name:"a_texture_pos",type:"Int16",components:2}]);class Cp{constructor(){this.boundProgram=null,this.boundLayoutVertexBuffer=null,this.boundPaintVertexBuffers=[],this.boundIndexBuffer=null,this.boundVertexOffset=null,this.boundDynamicVertexBuffer=null,this.vao=null}bind(u,r,m,o,s,E,L,N,F){this.context=u;let P=this.boundPaintVertexBuffers.length!==o.length;for(let K=0;!P&&K({u_texture:0,u_ele_delta:u,u_fog_matrix:r,u_fog_color:m?m.properties.get("fog-color"):g.bo.white,u_fog_ground_blend:m?m.properties.get("fog-ground-blend"):1,u_fog_ground_blend_opacity:s?0:m?m.calculateFogBlendOpacity(o):0,u_horizon_color:m?m.properties.get("horizon-color"):g.bo.white,u_horizon_fog_blend:m?m.properties.get("horizon-fog-blend"):1,u_is_globe_mode:s?1:0}),md={mainMatrix:"u_projection_matrix",tileMercatorCoords:"u_projection_tile_mercator_coords",clippingPlane:"u_projection_clipping_plane",projectionTransition:"u_projection_transition",fallbackMatrix:"u_projection_fallback_matrix"};function Fu(u){let r=[];for(let m of u){if(m===null)continue;let o=m.split(" ");r.push(o.pop())}return r}class xp{constructor(u,r,m,o,s,E,L,N,F=[]){let P=u.gl;this.program=P.createProgram();let K=Fu(r.staticAttributes),R=m?m.getBinderAttributes():[],U=K.concat(R),z=Yl.prelude.staticUniforms?Fu(Yl.prelude.staticUniforms):[],Q=L.staticUniforms?Fu(L.staticUniforms):[],t=r.staticUniforms?Fu(r.staticUniforms):[],i=m?m.getBinderUniforms():[],X=z.concat(Q).concat(t).concat(i),c1=[];for(let h1 of X)c1.includes(h1)||c1.push(h1);let $=m?m.defines():[];j2(P)&&$.unshift("#version 300 es"),s&&$.push("#define OVERDRAW_INSPECTOR;"),E&&$.push("#define TERRAIN3D;"),N&&$.push(N),F&&$.push(...F);let e=$.concat(Yl.prelude.fragmentSource,L.fragmentSource,r.fragmentSource).join(` `),u1=$.concat(Yl.prelude.vertexSource,L.vertexSource,r.vertexSource).join(` `);j2(P)||(e=function(h1){return h1.replace(/\bin\s/g,"varying ").replace("out highp vec4 fragColor;","").replace(/fragColor/g,"gl_FragColor").replace(/texture\(/g,"texture2D(")}(e),u1=function(h1){return h1.replace(/\bin\s/g,"attribute ").replace(/\bout\s/g,"varying ").replace(/texture\(/g,"texture2D(")}(u1));let T=P.createShader(P.FRAGMENT_SHADER);if(P.isContextLost())return void(this.failedToCreate=!0);if(P.shaderSource(T,e),P.compileShader(T),!P.getShaderParameter(T,P.COMPILE_STATUS))throw Error(`Could not compile fragment shader: ${P.getShaderInfoLog(T)}`);P.attachShader(this.program,T);let p1=P.createShader(P.VERTEX_SHADER);if(P.isContextLost())return void(this.failedToCreate=!0);if(P.shaderSource(p1,u1),P.compileShader(p1),!P.getShaderParameter(p1,P.COMPILE_STATUS))throw Error(`Could not compile vertex shader: ${P.getShaderInfoLog(p1)}`);P.attachShader(this.program,p1),this.attributes={};let S1={};this.numAttributes=U.length;for(let h1=0;h1({u_depth:new g.b_(h1,W1.u_depth),u_terrain:new g.b_(h1,W1.u_terrain),u_terrain_dim:new g.bp(h1,W1.u_terrain_dim),u_terrain_matrix:new g.c0(h1,W1.u_terrain_matrix),u_terrain_unpack:new g.c1(h1,W1.u_terrain_unpack),u_terrain_exaggeration:new g.bp(h1,W1.u_terrain_exaggeration)}))(u,S1),this.projectionUniforms=((h1,W1)=>({u_projection_matrix:new g.c0(h1,W1.u_projection_matrix),u_projection_tile_mercator_coords:new g.c1(h1,W1.u_projection_tile_mercator_coords),u_projection_clipping_plane:new g.c1(h1,W1.u_projection_clipping_plane),u_projection_transition:new g.bp(h1,W1.u_projection_transition),u_projection_fallback_matrix:new g.c0(h1,W1.u_projection_fallback_matrix)}))(u,S1),this.binderUniforms=m?m.getUniforms(u,S1):[]}draw(u,r,m,o,s,E,L,N,F,P,K,R,U,z,Q,t,i,X,c1){var $;let e=u.gl;if(this.failedToCreate)return;if(u.program.set(this.program),u.setDepthMode(m),u.setStencilMode(o),u.setColorMode(s),u.setCullFace(E),N){u.activeTexture.set(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,N.depthTexture),u.activeTexture.set(e.TEXTURE3),e.bindTexture(e.TEXTURE_2D,N.texture);for(let T in this.terrainUniforms)this.terrainUniforms[T].set(N[T])}if(F)for(let T in F)this.projectionUniforms[md[T]].set(F[T]);if(L)for(let T in this.fixedUniforms)this.fixedUniforms[T].set(L[T]);t&&t.setUniforms(u,this.binderUniforms,z,{zoom:Q});let u1=0;switch(r){case e.LINES:u1=2;break;case e.TRIANGLES:u1=3;break;case e.LINE_STRIP:u1=1}for(let T of U.get())T.vaos||(T.vaos={}),($=T.vaos)[P]||($[P]=new Cp),T.vaos[P].bind(u,this,K,t?t.getPaintVertexBuffers():[],R,T.vertexOffset,i,X,c1),e.drawElements(r,T.primitiveLength*u1,e.UNSIGNED_SHORT,T.primitiveOffset*u1*2)}}function p7(u,r,m){let o=1/g.aK(m,1,r.transform.tileZoom),s=Math.pow(2,m.tileID.overscaledZ),E=m.tileSize*Math.pow(2,r.transform.tileZoom)/s,L=E*(m.tileID.canonical.x+m.tileID.wrap*s),N=E*m.tileID.canonical.y;return{u_image:0,u_texsize:m.imageAtlasTexture.size,u_scale:[o,u.fromScale,u.toScale],u_fade:u.t,u_pixel_coord_upper:[L>>16,N>>16],u_pixel_coord_lower:[65535&L,65535&N]}}let Np=(u,r,m,o)=>{let s=u.style.light,E=s.properties.get("position"),L=[E.x,E.y,E.z],N=g.c4();s.properties.get("anchor")==="viewport"&&g.c5(N,u.transform.bearingInRadians),g.c6(L,L,N);let F=u.transform.transformLightDirection(L),P=s.properties.get("color");return{u_lightpos:L,u_lightpos_globe:F,u_lightintensity:s.properties.get("intensity"),u_lightcolor:[P.r,P.g,P.b],u_vertical_gradient:+r,u_opacity:m,u_fill_translate:o}},Fp=(u,r,m,o,s,E,L)=>g.e(Np(u,r,m,o),p7(E,u,L),{u_height_factor:-Math.pow(2,s.overscaledZ)/L.tileSize/8}),or=(u,r,m,o)=>g.e(p7(r,u,m),{u_fill_translate:o}),qp=(u,r)=>({u_world:u,u_fill_translate:r}),Pp=(u,r,m,o,s)=>g.e(or(u,r,m,s),{u_world:o}),Mp=(u,r,m,o,s)=>{let E=u.transform,L,N,F=0;if(m.paint.get("circle-pitch-alignment")==="map"){let P=g.aK(r,1,E.zoom);L=!0,N=[P,P],F=P/(g.a6*Math.pow(2,r.tileID.overscaledZ))*2*Math.PI*s}else L=!1,N=E.pixelsToGLUnits;return{u_camera_to_center_distance:E.cameraToCenterDistance,u_scale_with_map:+(m.paint.get("circle-pitch-scale")==="map"),u_pitch_with_map:+L,u_device_pixel_ratio:u.pixelRatio,u_extrude_scale:N,u_globe_extrude_scale:F,u_translate:o}},Bp=(u)=>({u_pixel_extrude_scale:[1/u.width,1/u.height]}),R5=(u)=>({u_viewport_size:[u.width,u.height]}),f7=(u,r=1)=>({u_color:u,u_overlay:0,u_overlay_scale:r}),d7=(u,r,m,o)=>{let s=g.aK(u,1,r)/(g.a6*Math.pow(2,u.tileID.overscaledZ))*2*Math.PI*o;return{u_extrude_scale:g.aK(u,1,r),u_intensity:m,u_globe_extrude_scale:s}},M3=(u,r,m,o)=>{let s=g.O();g.c7(s,0,u.width,u.height,0,0,1);let E=u.context.gl;return{u_matrix:s,u_world:[E.drawingBufferWidth,E.drawingBufferHeight],u_image:m,u_color_ramp:o,u_opacity:r.paint.get("heatmap-opacity")}},gd=(u,r,m)=>{let o=m.paint.get("hillshade-accent-color"),s;switch(m.paint.get("hillshade-method")){case"basic":s=4;break;case"combined":s=1;break;case"igor":s=2;break;case"multidirectional":s=3;break;default:s=0}let E=m.getIlluminationProperties();for(let L=0;L{let m=r.stride,o=g.O();return g.c7(o,0,g.a6,-g.a6,0,0,1),g.Q(o,o,[0,-g.a6,0]),{u_matrix:o,u_image:1,u_dimension:[m,m],u_zoom:u.overscaledZ,u_unpack:r.getUnpackVector()}};function vd(u,r){let m=Math.pow(2,r.canonical.z),o=r.canonical.y;return[new g.a7(0,o/m).toLngLat().lat,new g.a7(0,(o+1)/m).toLngLat().lat]}let ad=(u,r,m=0)=>({u_image:0,u_unpack:r.getUnpackVector(),u_dimension:[r.stride,r.stride],u_elevation_stops:1,u_color_stops:4,u_color_ramp_size:m,u_opacity:u.paint.get("color-relief-opacity")}),j4=(u,r,m,o)=>{let s=u.transform;return{u_translation:lu(u,r,m),u_ratio:o/g.aK(r,1,s.zoom),u_device_pixel_ratio:u.pixelRatio,u_units_to_pixels:[1/s.pixelsToGLUnits[0],1/s.pixelsToGLUnits[1]]}},Kp=(u,r,m,o,s)=>g.e(j4(u,r,m,o),{u_image:0,u_image_height:s}),Up=(u,r,m,o,s)=>{let E=u.transform,L=B3(r,E);return{u_translation:lu(u,r,m),u_texsize:r.imageAtlasTexture.size,u_ratio:o/g.aK(r,1,E.zoom),u_device_pixel_ratio:u.pixelRatio,u_image:0,u_scale:[L,s.fromScale,s.toScale],u_fade:s.t,u_units_to_pixels:[1/E.pixelsToGLUnits[0],1/E.pixelsToGLUnits[1]]}},yr=(u,r,m,o,s)=>{let E=B3(r,u.transform);return g.e(j4(u,r,m,o),{u_tileratio:E,u_crossfade_from:s.fromScale,u_crossfade_to:s.toScale,u_image:0,u_mix:s.t,u_lineatlas_width:u.lineAtlas.width,u_lineatlas_height:u.lineAtlas.height})},Dp=(u,r,m,o,s,E)=>{let L=B3(r,u.transform);return g.e(j4(u,r,m,o),{u_image:0,u_image_height:E,u_tileratio:L,u_crossfade_from:s.fromScale,u_crossfade_to:s.toScale,u_image_dash:1,u_mix:s.t,u_lineatlas_width:u.lineAtlas.width,u_lineatlas_height:u.lineAtlas.height})};function B3(u,r){return 1/g.aK(u,1,r.tileZoom)}function lu(u,r,m){return g.aL(u.transform,r,m.paint.get("line-translate"),m.paint.get("line-translate-anchor"))}let m7=(u,r,m,o,s)=>{return{u_tl_parent:u,u_scale_parent:r,u_buffer_scale:1,u_fade_t:m.mix,u_opacity:m.opacity*o.paint.get("raster-opacity"),u_image0:0,u_image1:1,u_brightness_low:o.paint.get("raster-brightness-min"),u_brightness_high:o.paint.get("raster-brightness-max"),u_saturation_factor:(L=o.paint.get("raster-saturation"),L>0?1-1/(1.001-L):-L),u_contrast_factor:(E=o.paint.get("raster-contrast"),E>0?1/(1-E):1+E),u_spin_weights:g7(o.paint.get("raster-hue-rotate")),u_coords_top:[s[0].x,s[0].y,s[1].x,s[1].y],u_coords_bottom:[s[3].x,s[3].y,s[2].x,s[2].y]};var E,L};function g7(u){u*=Math.PI/180;let r=Math.sin(u),m=Math.cos(u);return[(2*m+1)/3,(-Math.sqrt(3)*r-m+1)/3,(Math.sqrt(3)*r-m+1)/3]}let wr=(u,r,m,o,s,E,L,N,F,P,K,R,U)=>{let z=L.transform;return{u_is_size_zoom_constant:+(u==="constant"||u==="source"),u_is_size_feature_constant:+(u==="constant"||u==="camera"),u_size_t:r?r.uSizeT:0,u_size:r?r.uSize:0,u_camera_to_center_distance:z.cameraToCenterDistance,u_pitch:z.pitch/360*2*Math.PI,u_rotate_symbol:+m,u_aspect_ratio:z.width/z.height,u_fade_change:L.options.fadeDuration?L.symbolFadeChange:1,u_label_plane_matrix:N,u_coord_matrix:F,u_is_text:+K,u_pitch_with_map:+o,u_is_along_line:s,u_is_variable_anchor:E,u_texsize:R,u_texture:0,u_translation:P,u_pitched_scale:U}},v7=(u,r,m,o,s,E,L,N,F,P,K,R,U,z)=>{let Q=L.transform;return g.e(wr(u,r,m,o,s,E,L,N,F,P,K,R,z),{u_gamma_scale:o?Math.cos(Q.pitch*Math.PI/180)*Q.cameraToCenterDistance:1,u_device_pixel_ratio:L.pixelRatio,u_is_halo:U?1:0,u_is_plain:1})},a7=(u,r,m,o,s,E,L,N,F,P,K,R,U)=>g.e(v7(u,r,m,o,s,E,L,N,F,P,!0,K,!0,U),{u_texsize_icon:R,u_texture_icon:1}),H5=(u,r)=>({u_opacity:u,u_color:r}),o7=(u,r,m,o,s)=>g.e(function(E,L,N,F){let P=N.imageManager.getPattern(E.from.toString()),K=N.imageManager.getPattern(E.to.toString()),{width:R,height:U}=N.imageManager.getPixelSize(),z=Math.pow(2,F.tileID.overscaledZ),Q=F.tileSize*Math.pow(2,N.transform.tileZoom)/z,t=Q*(F.tileID.canonical.x+F.tileID.wrap*z),i=Q*F.tileID.canonical.y;return{u_image:0,u_pattern_tl_a:P.tl,u_pattern_br_a:P.br,u_pattern_tl_b:K.tl,u_pattern_br_b:K.br,u_texsize:[R,U],u_mix:L.t,u_pattern_size_a:P.displaySize,u_pattern_size_b:K.displaySize,u_scale_a:L.fromScale,u_scale_b:L.toScale,u_tile_units_to_pixels:1/g.aK(F,1,N.transform.tileZoom),u_pixel_coord_upper:[t>>16,i>>16],u_pixel_coord_lower:[65535&t,65535&i]}}(m,s,r,o),{u_opacity:u}),Rp=(u,r)=>{},od={fillExtrusion:(u,r)=>({u_lightpos:new g.c2(u,r.u_lightpos),u_lightpos_globe:new g.c2(u,r.u_lightpos_globe),u_lightintensity:new g.bp(u,r.u_lightintensity),u_lightcolor:new g.c2(u,r.u_lightcolor),u_vertical_gradient:new g.bp(u,r.u_vertical_gradient),u_opacity:new g.bp(u,r.u_opacity),u_fill_translate:new g.c3(u,r.u_fill_translate)}),fillExtrusionPattern:(u,r)=>({u_lightpos:new g.c2(u,r.u_lightpos),u_lightpos_globe:new g.c2(u,r.u_lightpos_globe),u_lightintensity:new g.bp(u,r.u_lightintensity),u_lightcolor:new g.c2(u,r.u_lightcolor),u_vertical_gradient:new g.bp(u,r.u_vertical_gradient),u_height_factor:new g.bp(u,r.u_height_factor),u_opacity:new g.bp(u,r.u_opacity),u_fill_translate:new g.c3(u,r.u_fill_translate),u_image:new g.b_(u,r.u_image),u_texsize:new g.c3(u,r.u_texsize),u_pixel_coord_upper:new g.c3(u,r.u_pixel_coord_upper),u_pixel_coord_lower:new g.c3(u,r.u_pixel_coord_lower),u_scale:new g.c2(u,r.u_scale),u_fade:new g.bp(u,r.u_fade)}),fill:(u,r)=>({u_fill_translate:new g.c3(u,r.u_fill_translate)}),fillPattern:(u,r)=>({u_image:new g.b_(u,r.u_image),u_texsize:new g.c3(u,r.u_texsize),u_pixel_coord_upper:new g.c3(u,r.u_pixel_coord_upper),u_pixel_coord_lower:new g.c3(u,r.u_pixel_coord_lower),u_scale:new g.c2(u,r.u_scale),u_fade:new g.bp(u,r.u_fade),u_fill_translate:new g.c3(u,r.u_fill_translate)}),fillOutline:(u,r)=>({u_world:new g.c3(u,r.u_world),u_fill_translate:new g.c3(u,r.u_fill_translate)}),fillOutlinePattern:(u,r)=>({u_world:new g.c3(u,r.u_world),u_image:new g.b_(u,r.u_image),u_texsize:new g.c3(u,r.u_texsize),u_pixel_coord_upper:new g.c3(u,r.u_pixel_coord_upper),u_pixel_coord_lower:new g.c3(u,r.u_pixel_coord_lower),u_scale:new g.c2(u,r.u_scale),u_fade:new g.bp(u,r.u_fade),u_fill_translate:new g.c3(u,r.u_fill_translate)}),circle:(u,r)=>({u_camera_to_center_distance:new g.bp(u,r.u_camera_to_center_distance),u_scale_with_map:new g.b_(u,r.u_scale_with_map),u_pitch_with_map:new g.b_(u,r.u_pitch_with_map),u_extrude_scale:new g.c3(u,r.u_extrude_scale),u_device_pixel_ratio:new g.bp(u,r.u_device_pixel_ratio),u_globe_extrude_scale:new g.bp(u,r.u_globe_extrude_scale),u_translate:new g.c3(u,r.u_translate)}),collisionBox:(u,r)=>({u_pixel_extrude_scale:new g.c3(u,r.u_pixel_extrude_scale)}),collisionCircle:(u,r)=>({u_viewport_size:new g.c3(u,r.u_viewport_size)}),debug:(u,r)=>({u_color:new g.b$(u,r.u_color),u_overlay:new g.b_(u,r.u_overlay),u_overlay_scale:new g.bp(u,r.u_overlay_scale)}),depth:Rp,clippingMask:Rp,heatmap:(u,r)=>({u_extrude_scale:new g.bp(u,r.u_extrude_scale),u_intensity:new g.bp(u,r.u_intensity),u_globe_extrude_scale:new g.bp(u,r.u_globe_extrude_scale)}),heatmapTexture:(u,r)=>({u_matrix:new g.c0(u,r.u_matrix),u_world:new g.c3(u,r.u_world),u_image:new g.b_(u,r.u_image),u_color_ramp:new g.b_(u,r.u_color_ramp),u_opacity:new g.bp(u,r.u_opacity)}),hillshade:(u,r)=>({u_image:new g.b_(u,r.u_image),u_latrange:new g.c3(u,r.u_latrange),u_exaggeration:new g.bp(u,r.u_exaggeration),u_altitudes:new g.c9(u,r.u_altitudes),u_azimuths:new g.c9(u,r.u_azimuths),u_accent:new g.b$(u,r.u_accent),u_method:new g.b_(u,r.u_method),u_shadows:new g.c8(u,r.u_shadows),u_highlights:new g.c8(u,r.u_highlights)}),hillshadePrepare:(u,r)=>({u_matrix:new g.c0(u,r.u_matrix),u_image:new g.b_(u,r.u_image),u_dimension:new g.c3(u,r.u_dimension),u_zoom:new g.bp(u,r.u_zoom),u_unpack:new g.c1(u,r.u_unpack)}),colorRelief:(u,r)=>({u_image:new g.b_(u,r.u_image),u_unpack:new g.c1(u,r.u_unpack),u_dimension:new g.c3(u,r.u_dimension),u_elevation_stops:new g.b_(u,r.u_elevation_stops),u_color_stops:new g.b_(u,r.u_color_stops),u_color_ramp_size:new g.b_(u,r.u_color_ramp_size),u_opacity:new g.bp(u,r.u_opacity)}),line:(u,r)=>({u_translation:new g.c3(u,r.u_translation),u_ratio:new g.bp(u,r.u_ratio),u_device_pixel_ratio:new g.bp(u,r.u_device_pixel_ratio),u_units_to_pixels:new g.c3(u,r.u_units_to_pixels)}),lineGradient:(u,r)=>({u_translation:new g.c3(u,r.u_translation),u_ratio:new g.bp(u,r.u_ratio),u_device_pixel_ratio:new g.bp(u,r.u_device_pixel_ratio),u_units_to_pixels:new g.c3(u,r.u_units_to_pixels),u_image:new g.b_(u,r.u_image),u_image_height:new g.bp(u,r.u_image_height)}),linePattern:(u,r)=>({u_translation:new g.c3(u,r.u_translation),u_texsize:new g.c3(u,r.u_texsize),u_ratio:new g.bp(u,r.u_ratio),u_device_pixel_ratio:new g.bp(u,r.u_device_pixel_ratio),u_image:new g.b_(u,r.u_image),u_units_to_pixels:new g.c3(u,r.u_units_to_pixels),u_scale:new g.c2(u,r.u_scale),u_fade:new g.bp(u,r.u_fade)}),lineSDF:(u,r)=>({u_translation:new g.c3(u,r.u_translation),u_ratio:new g.bp(u,r.u_ratio),u_device_pixel_ratio:new g.bp(u,r.u_device_pixel_ratio),u_units_to_pixels:new g.c3(u,r.u_units_to_pixels),u_image:new g.b_(u,r.u_image),u_mix:new g.bp(u,r.u_mix),u_tileratio:new g.bp(u,r.u_tileratio),u_crossfade_from:new g.bp(u,r.u_crossfade_from),u_crossfade_to:new g.bp(u,r.u_crossfade_to),u_lineatlas_width:new g.bp(u,r.u_lineatlas_width),u_lineatlas_height:new g.bp(u,r.u_lineatlas_height)}),lineGradientSDF:(u,r)=>({u_translation:new g.c3(u,r.u_translation),u_ratio:new g.bp(u,r.u_ratio),u_device_pixel_ratio:new g.bp(u,r.u_device_pixel_ratio),u_units_to_pixels:new g.c3(u,r.u_units_to_pixels),u_image:new g.b_(u,r.u_image),u_image_height:new g.bp(u,r.u_image_height),u_tileratio:new g.bp(u,r.u_tileratio),u_crossfade_from:new g.bp(u,r.u_crossfade_from),u_crossfade_to:new g.bp(u,r.u_crossfade_to),u_image_dash:new g.b_(u,r.u_image_dash),u_mix:new g.bp(u,r.u_mix),u_lineatlas_width:new g.bp(u,r.u_lineatlas_width),u_lineatlas_height:new g.bp(u,r.u_lineatlas_height)}),raster:(u,r)=>({u_tl_parent:new g.c3(u,r.u_tl_parent),u_scale_parent:new g.bp(u,r.u_scale_parent),u_buffer_scale:new g.bp(u,r.u_buffer_scale),u_fade_t:new g.bp(u,r.u_fade_t),u_opacity:new g.bp(u,r.u_opacity),u_image0:new g.b_(u,r.u_image0),u_image1:new g.b_(u,r.u_image1),u_brightness_low:new g.bp(u,r.u_brightness_low),u_brightness_high:new g.bp(u,r.u_brightness_high),u_saturation_factor:new g.bp(u,r.u_saturation_factor),u_contrast_factor:new g.bp(u,r.u_contrast_factor),u_spin_weights:new g.c2(u,r.u_spin_weights),u_coords_top:new g.c1(u,r.u_coords_top),u_coords_bottom:new g.c1(u,r.u_coords_bottom)}),symbolIcon:(u,r)=>({u_is_size_zoom_constant:new g.b_(u,r.u_is_size_zoom_constant),u_is_size_feature_constant:new g.b_(u,r.u_is_size_feature_constant),u_size_t:new g.bp(u,r.u_size_t),u_size:new g.bp(u,r.u_size),u_camera_to_center_distance:new g.bp(u,r.u_camera_to_center_distance),u_pitch:new g.bp(u,r.u_pitch),u_rotate_symbol:new g.b_(u,r.u_rotate_symbol),u_aspect_ratio:new g.bp(u,r.u_aspect_ratio),u_fade_change:new g.bp(u,r.u_fade_change),u_label_plane_matrix:new g.c0(u,r.u_label_plane_matrix),u_coord_matrix:new g.c0(u,r.u_coord_matrix),u_is_text:new g.b_(u,r.u_is_text),u_pitch_with_map:new g.b_(u,r.u_pitch_with_map),u_is_along_line:new g.b_(u,r.u_is_along_line),u_is_variable_anchor:new g.b_(u,r.u_is_variable_anchor),u_texsize:new g.c3(u,r.u_texsize),u_texture:new g.b_(u,r.u_texture),u_translation:new g.c3(u,r.u_translation),u_pitched_scale:new g.bp(u,r.u_pitched_scale)}),symbolSDF:(u,r)=>({u_is_size_zoom_constant:new g.b_(u,r.u_is_size_zoom_constant),u_is_size_feature_constant:new g.b_(u,r.u_is_size_feature_constant),u_size_t:new g.bp(u,r.u_size_t),u_size:new g.bp(u,r.u_size),u_camera_to_center_distance:new g.bp(u,r.u_camera_to_center_distance),u_pitch:new g.bp(u,r.u_pitch),u_rotate_symbol:new g.b_(u,r.u_rotate_symbol),u_aspect_ratio:new g.bp(u,r.u_aspect_ratio),u_fade_change:new g.bp(u,r.u_fade_change),u_label_plane_matrix:new g.c0(u,r.u_label_plane_matrix),u_coord_matrix:new g.c0(u,r.u_coord_matrix),u_is_text:new g.b_(u,r.u_is_text),u_pitch_with_map:new g.b_(u,r.u_pitch_with_map),u_is_along_line:new g.b_(u,r.u_is_along_line),u_is_variable_anchor:new g.b_(u,r.u_is_variable_anchor),u_texsize:new g.c3(u,r.u_texsize),u_texture:new g.b_(u,r.u_texture),u_gamma_scale:new g.bp(u,r.u_gamma_scale),u_device_pixel_ratio:new g.bp(u,r.u_device_pixel_ratio),u_is_halo:new g.b_(u,r.u_is_halo),u_is_plain:new g.b_(u,r.u_is_plain),u_translation:new g.c3(u,r.u_translation),u_pitched_scale:new g.bp(u,r.u_pitched_scale)}),symbolTextAndIcon:(u,r)=>({u_is_size_zoom_constant:new g.b_(u,r.u_is_size_zoom_constant),u_is_size_feature_constant:new g.b_(u,r.u_is_size_feature_constant),u_size_t:new g.bp(u,r.u_size_t),u_size:new g.bp(u,r.u_size),u_camera_to_center_distance:new g.bp(u,r.u_camera_to_center_distance),u_pitch:new g.bp(u,r.u_pitch),u_rotate_symbol:new g.b_(u,r.u_rotate_symbol),u_aspect_ratio:new g.bp(u,r.u_aspect_ratio),u_fade_change:new g.bp(u,r.u_fade_change),u_label_plane_matrix:new g.c0(u,r.u_label_plane_matrix),u_coord_matrix:new g.c0(u,r.u_coord_matrix),u_is_text:new g.b_(u,r.u_is_text),u_pitch_with_map:new g.b_(u,r.u_pitch_with_map),u_is_along_line:new g.b_(u,r.u_is_along_line),u_is_variable_anchor:new g.b_(u,r.u_is_variable_anchor),u_texsize:new g.c3(u,r.u_texsize),u_texsize_icon:new g.c3(u,r.u_texsize_icon),u_texture:new g.b_(u,r.u_texture),u_texture_icon:new g.b_(u,r.u_texture_icon),u_gamma_scale:new g.bp(u,r.u_gamma_scale),u_device_pixel_ratio:new g.bp(u,r.u_device_pixel_ratio),u_is_halo:new g.b_(u,r.u_is_halo),u_translation:new g.c3(u,r.u_translation),u_pitched_scale:new g.bp(u,r.u_pitched_scale)}),background:(u,r)=>({u_opacity:new g.bp(u,r.u_opacity),u_color:new g.b$(u,r.u_color)}),backgroundPattern:(u,r)=>({u_opacity:new g.bp(u,r.u_opacity),u_image:new g.b_(u,r.u_image),u_pattern_tl_a:new g.c3(u,r.u_pattern_tl_a),u_pattern_br_a:new g.c3(u,r.u_pattern_br_a),u_pattern_tl_b:new g.c3(u,r.u_pattern_tl_b),u_pattern_br_b:new g.c3(u,r.u_pattern_br_b),u_texsize:new g.c3(u,r.u_texsize),u_mix:new g.bp(u,r.u_mix),u_pattern_size_a:new g.c3(u,r.u_pattern_size_a),u_pattern_size_b:new g.c3(u,r.u_pattern_size_b),u_scale_a:new g.bp(u,r.u_scale_a),u_scale_b:new g.bp(u,r.u_scale_b),u_pixel_coord_upper:new g.c3(u,r.u_pixel_coord_upper),u_pixel_coord_lower:new g.c3(u,r.u_pixel_coord_lower),u_tile_units_to_pixels:new g.bp(u,r.u_tile_units_to_pixels)}),terrain:(u,r)=>({u_texture:new g.b_(u,r.u_texture),u_ele_delta:new g.bp(u,r.u_ele_delta),u_fog_matrix:new g.c0(u,r.u_fog_matrix),u_fog_color:new g.b$(u,r.u_fog_color),u_fog_ground_blend:new g.bp(u,r.u_fog_ground_blend),u_fog_ground_blend_opacity:new g.bp(u,r.u_fog_ground_blend_opacity),u_horizon_color:new g.b$(u,r.u_horizon_color),u_horizon_fog_blend:new g.bp(u,r.u_horizon_fog_blend),u_is_globe_mode:new g.bp(u,r.u_is_globe_mode)}),terrainDepth:(u,r)=>({u_ele_delta:new g.bp(u,r.u_ele_delta)}),terrainCoords:(u,r)=>({u_texture:new g.b_(u,r.u_texture),u_terrain_coords_id:new g.bp(u,r.u_terrain_coords_id),u_ele_delta:new g.bp(u,r.u_ele_delta)}),projectionErrorMeasurement:(u,r)=>({u_input:new g.bp(u,r.u_input),u_output_expected:new g.bp(u,r.u_output_expected)}),atmosphere:(u,r)=>({u_sun_pos:new g.c2(u,r.u_sun_pos),u_atmosphere_blend:new g.bp(u,r.u_atmosphere_blend),u_globe_position:new g.c2(u,r.u_globe_position),u_globe_radius:new g.bp(u,r.u_globe_radius),u_inv_proj_matrix:new g.c0(u,r.u_inv_proj_matrix)}),sky:(u,r)=>({u_sky_color:new g.b$(u,r.u_sky_color),u_horizon_color:new g.b$(u,r.u_horizon_color),u_horizon:new g.c3(u,r.u_horizon),u_horizon_normal:new g.c3(u,r.u_horizon_normal),u_sky_horizon_blend:new g.bp(u,r.u_sky_horizon_blend),u_sky_blend:new g.bp(u,r.u_sky_blend)})};class Hp{constructor(u,r,m){this.context=u;let o=u.gl;this.buffer=o.createBuffer(),this.dynamicDraw=Boolean(m),this.context.unbindVAO(),u.bindElementBuffer.set(this.buffer),o.bufferData(o.ELEMENT_ARRAY_BUFFER,r.arrayBuffer,this.dynamicDraw?o.DYNAMIC_DRAW:o.STATIC_DRAW),this.dynamicDraw||r.freeBufferAfterUpload()}bind(){this.context.bindElementBuffer.set(this.buffer)}updateData(u){let r=this.context.gl;if(!this.dynamicDraw)throw Error("Attempted to update data while not in dynamic mode.");this.context.unbindVAO(),this.bind(),r.bufferSubData(r.ELEMENT_ARRAY_BUFFER,0,u.arrayBuffer)}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}let hd={Int8:"BYTE",Uint8:"UNSIGNED_BYTE",Int16:"SHORT",Uint16:"UNSIGNED_SHORT",Int32:"INT",Uint32:"UNSIGNED_INT",Float32:"FLOAT"};class h7{constructor(u,r,m,o){this.length=r.length,this.attributes=m,this.itemSize=r.bytesPerElement,this.dynamicDraw=o,this.context=u;let s=u.gl;this.buffer=s.createBuffer(),u.bindVertexBuffer.set(this.buffer),s.bufferData(s.ARRAY_BUFFER,r.arrayBuffer,this.dynamicDraw?s.DYNAMIC_DRAW:s.STATIC_DRAW),this.dynamicDraw||r.freeBufferAfterUpload()}bind(){this.context.bindVertexBuffer.set(this.buffer)}updateData(u){if(u.length!==this.length)throw Error(`Length of new data is ${u.length}, which doesn't match current length of ${this.length}`);let r=this.context.gl;this.bind(),r.bufferSubData(r.ARRAY_BUFFER,0,u.arrayBuffer)}enableAttributes(u,r){for(let m of this.attributes){let o=r.attributes[m.name];o!==void 0&&u.enableVertexAttribArray(o)}}setVertexAttribPointers(u,r,m){for(let o of this.attributes){let s=r.attributes[o.name];s!==void 0&&u.vertexAttribPointer(s,o.components,u[hd[o.type]],!1,this.itemSize,o.offset+this.itemSize*(m||0))}}destroy(){this.buffer&&(this.context.gl.deleteBuffer(this.buffer),delete this.buffer)}}class kl{constructor(u){this.gl=u.gl,this.default=this.getDefault(),this.current=this.default,this.dirty=!1}get(){return this.current}set(u){}getDefault(){return this.default}setDefault(){this.set(this.default)}}class y7 extends kl{getDefault(){return g.bo.transparent}set(u){let r=this.current;(u.r!==r.r||u.g!==r.g||u.b!==r.b||u.a!==r.a||this.dirty)&&(this.gl.clearColor(u.r,u.g,u.b,u.a),this.current=u,this.dirty=!1)}}class J4 extends kl{getDefault(){return 1}set(u){(u!==this.current||this.dirty)&&(this.gl.clearDepth(u),this.current=u,this.dirty=!1)}}class X4 extends kl{getDefault(){return 0}set(u){(u!==this.current||this.dirty)&&(this.gl.clearStencil(u),this.current=u,this.dirty=!1)}}class T4 extends kl{getDefault(){return[!0,!0,!0,!0]}set(u){let r=this.current;(u[0]!==r[0]||u[1]!==r[1]||u[2]!==r[2]||u[3]!==r[3]||this.dirty)&&(this.gl.colorMask(u[0],u[1],u[2],u[3]),this.current=u,this.dirty=!1)}}class sr extends kl{getDefault(){return!0}set(u){(u!==this.current||this.dirty)&&(this.gl.depthMask(u),this.current=u,this.dirty=!1)}}class u5 extends kl{getDefault(){return 255}set(u){(u!==this.current||this.dirty)&&(this.gl.stencilMask(u),this.current=u,this.dirty=!1)}}class K3 extends kl{getDefault(){return{func:this.gl.ALWAYS,ref:0,mask:255}}set(u){let r=this.current;(u.func!==r.func||u.ref!==r.ref||u.mask!==r.mask||this.dirty)&&(this.gl.stencilFunc(u.func,u.ref,u.mask),this.current=u,this.dirty=!1)}}class I5 extends kl{getDefault(){let u=this.gl;return[u.KEEP,u.KEEP,u.KEEP]}set(u){let r=this.current;(u[0]!==r[0]||u[1]!==r[1]||u[2]!==r[2]||this.dirty)&&(this.gl.stencilOp(u[0],u[1],u[2]),this.current=u,this.dirty=!1)}}class k2 extends kl{getDefault(){return!1}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;u?r.enable(r.STENCIL_TEST):r.disable(r.STENCIL_TEST),this.current=u,this.dirty=!1}}class w7 extends kl{getDefault(){return[0,1]}set(u){let r=this.current;(u[0]!==r[0]||u[1]!==r[1]||this.dirty)&&(this.gl.depthRange(u[0],u[1]),this.current=u,this.dirty=!1)}}class s7 extends kl{getDefault(){return!1}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;u?r.enable(r.DEPTH_TEST):r.disable(r.DEPTH_TEST),this.current=u,this.dirty=!1}}class Sr extends kl{getDefault(){return this.gl.LESS}set(u){(u!==this.current||this.dirty)&&(this.gl.depthFunc(u),this.current=u,this.dirty=!1)}}class c5 extends kl{getDefault(){return!1}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;u?r.enable(r.BLEND):r.disable(r.BLEND),this.current=u,this.dirty=!1}}class Z4 extends kl{getDefault(){let u=this.gl;return[u.ONE,u.ZERO]}set(u){let r=this.current;(u[0]!==r[0]||u[1]!==r[1]||this.dirty)&&(this.gl.blendFunc(u[0],u[1]),this.current=u,this.dirty=!1)}}class b4 extends kl{getDefault(){return g.bo.transparent}set(u){let r=this.current;(u.r!==r.r||u.g!==r.g||u.b!==r.b||u.a!==r.a||this.dirty)&&(this.gl.blendColor(u.r,u.g,u.b,u.a),this.current=u,this.dirty=!1)}}class U3 extends kl{getDefault(){return this.gl.FUNC_ADD}set(u){(u!==this.current||this.dirty)&&(this.gl.blendEquation(u),this.current=u,this.dirty=!1)}}class $4 extends kl{getDefault(){return!1}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;u?r.enable(r.CULL_FACE):r.disable(r.CULL_FACE),this.current=u,this.dirty=!1}}class S7 extends kl{getDefault(){return this.gl.BACK}set(u){(u!==this.current||this.dirty)&&(this.gl.cullFace(u),this.current=u,this.dirty=!1)}}class Y5 extends kl{getDefault(){return this.gl.CCW}set(u){(u!==this.current||this.dirty)&&(this.gl.frontFace(u),this.current=u,this.dirty=!1)}}class z5 extends kl{getDefault(){return null}set(u){(u!==this.current||this.dirty)&&(this.gl.useProgram(u),this.current=u,this.dirty=!1)}}class k7 extends kl{getDefault(){return this.gl.TEXTURE0}set(u){(u!==this.current||this.dirty)&&(this.gl.activeTexture(u),this.current=u,this.dirty=!1)}}class kr extends kl{getDefault(){let u=this.gl;return[0,0,u.drawingBufferWidth,u.drawingBufferHeight]}set(u){let r=this.current;(u[0]!==r[0]||u[1]!==r[1]||u[2]!==r[2]||u[3]!==r[3]||this.dirty)&&(this.gl.viewport(u[0],u[1],u[2],u[3]),this.current=u,this.dirty=!1)}}class ml extends kl{getDefault(){return null}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;r.bindFramebuffer(r.FRAMEBUFFER,u),this.current=u,this.dirty=!1}}class _4 extends kl{getDefault(){return null}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;r.bindRenderbuffer(r.RENDERBUFFER,u),this.current=u,this.dirty=!1}}class Ip extends kl{getDefault(){return null}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;r.bindTexture(r.TEXTURE_2D,u),this.current=u,this.dirty=!1}}class E7 extends kl{getDefault(){return null}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;r.bindBuffer(r.ARRAY_BUFFER,u),this.current=u,this.dirty=!1}}class D3 extends kl{getDefault(){return null}set(u){let r=this.gl;r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,u),this.current=u,this.dirty=!1}}class Yp extends kl{getDefault(){return null}set(u){var r;if(u===this.current&&!this.dirty)return;let m=this.gl;j2(m)?m.bindVertexArray(u):(r=m.getExtension("OES_vertex_array_object"))===null||r===void 0||r.bindVertexArrayOES(u),this.current=u,this.dirty=!1}}class zp extends kl{getDefault(){return 4}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;r.pixelStorei(r.UNPACK_ALIGNMENT,u),this.current=u,this.dirty=!1}}class n7 extends kl{getDefault(){return!1}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,u),this.current=u,this.dirty=!1}}class Op extends kl{getDefault(){return!1}set(u){if(u===this.current&&!this.dirty)return;let r=this.gl;r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,u),this.current=u,this.dirty=!1}}class O5 extends kl{constructor(u,r){super(u),this.context=u,this.parent=r}getDefault(){return null}}class i4 extends O5{setDirty(){this.dirty=!0}set(u){if(u===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let r=this.gl;r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,u,0),this.current=u,this.dirty=!1}}class R3 extends O5{set(u){if(u===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let r=this.gl;r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_ATTACHMENT,r.RENDERBUFFER,u),this.current=u,this.dirty=!1}}class H3 extends O5{set(u){if(u===this.current&&!this.dirty)return;this.context.bindFramebuffer.set(this.parent);let r=this.gl;r.framebufferRenderbuffer(r.FRAMEBUFFER,r.DEPTH_STENCIL_ATTACHMENT,r.RENDERBUFFER,u),this.current=u,this.dirty=!1}}let e4="Framebuffer is not complete";class A7{constructor(u,r,m,o,s){this.context=u,this.width=r,this.height=m;let E=u.gl,L=this.framebuffer=E.createFramebuffer();if(this.colorAttachment=new i4(u,L),o)this.depthAttachment=s?new H3(u,L):new R3(u,L);else if(s)throw Error("Stencil cannot be set without depth");if(E.checkFramebufferStatus(E.FRAMEBUFFER)!==E.FRAMEBUFFER_COMPLETE)throw Error(e4)}destroy(){let u=this.context.gl,r=this.colorAttachment.get();if(r&&u.deleteTexture(r),this.depthAttachment){let m=this.depthAttachment.get();m&&u.deleteRenderbuffer(m)}u.deleteFramebuffer(this.framebuffer)}}class t4{constructor(u){var r,m;if(this.gl=u,this.clearColor=new y7(this),this.clearDepth=new J4(this),this.clearStencil=new X4(this),this.colorMask=new T4(this),this.depthMask=new sr(this),this.stencilMask=new u5(this),this.stencilFunc=new K3(this),this.stencilOp=new I5(this),this.stencilTest=new k2(this),this.depthRange=new w7(this),this.depthTest=new s7(this),this.depthFunc=new Sr(this),this.blend=new c5(this),this.blendFunc=new Z4(this),this.blendColor=new b4(this),this.blendEquation=new U3(this),this.cullFace=new $4(this),this.cullFaceSide=new S7(this),this.frontFace=new Y5(this),this.program=new z5(this),this.activeTexture=new k7(this),this.viewport=new kr(this),this.bindFramebuffer=new ml(this),this.bindRenderbuffer=new _4(this),this.bindTexture=new Ip(this),this.bindVertexBuffer=new E7(this),this.bindElementBuffer=new D3(this),this.bindVertexArray=new Yp(this),this.pixelStoreUnpack=new zp(this),this.pixelStoreUnpackPremultiplyAlpha=new n7(this),this.pixelStoreUnpackFlipY=new Op(this),this.extTextureFilterAnisotropic=u.getExtension("EXT_texture_filter_anisotropic"),this.extTextureFilterAnisotropic&&(this.extTextureFilterAnisotropicMax=u.getParameter(this.extTextureFilterAnisotropic.MAX_TEXTURE_MAX_ANISOTROPY_EXT)),this.maxTextureSize=u.getParameter(u.MAX_TEXTURE_SIZE),j2(u)){this.HALF_FLOAT=u.HALF_FLOAT;let o=u.getExtension("EXT_color_buffer_half_float");this.RGBA16F=(r=u.RGBA16F)!==null&&r!==void 0?r:o==null?void 0:o.RGBA16F_EXT,this.RGB16F=(m=u.RGB16F)!==null&&m!==void 0?m:o==null?void 0:o.RGB16F_EXT,u.getExtension("EXT_color_buffer_float")}else{u.getExtension("EXT_color_buffer_half_float"),u.getExtension("OES_texture_half_float_linear");let o=u.getExtension("OES_texture_half_float");this.HALF_FLOAT=o==null?void 0:o.HALF_FLOAT_OES}}setDefault(){this.unbindVAO(),this.clearColor.setDefault(),this.clearDepth.setDefault(),this.clearStencil.setDefault(),this.colorMask.setDefault(),this.depthMask.setDefault(),this.stencilMask.setDefault(),this.stencilFunc.setDefault(),this.stencilOp.setDefault(),this.stencilTest.setDefault(),this.depthRange.setDefault(),this.depthTest.setDefault(),this.depthFunc.setDefault(),this.blend.setDefault(),this.blendFunc.setDefault(),this.blendColor.setDefault(),this.blendEquation.setDefault(),this.cullFace.setDefault(),this.cullFaceSide.setDefault(),this.frontFace.setDefault(),this.program.setDefault(),this.activeTexture.setDefault(),this.bindFramebuffer.setDefault(),this.pixelStoreUnpack.setDefault(),this.pixelStoreUnpackPremultiplyAlpha.setDefault(),this.pixelStoreUnpackFlipY.setDefault()}setDirty(){this.clearColor.dirty=!0,this.clearDepth.dirty=!0,this.clearStencil.dirty=!0,this.colorMask.dirty=!0,this.depthMask.dirty=!0,this.stencilMask.dirty=!0,this.stencilFunc.dirty=!0,this.stencilOp.dirty=!0,this.stencilTest.dirty=!0,this.depthRange.dirty=!0,this.depthTest.dirty=!0,this.depthFunc.dirty=!0,this.blend.dirty=!0,this.blendFunc.dirty=!0,this.blendColor.dirty=!0,this.blendEquation.dirty=!0,this.cullFace.dirty=!0,this.cullFaceSide.dirty=!0,this.frontFace.dirty=!0,this.program.dirty=!0,this.activeTexture.dirty=!0,this.viewport.dirty=!0,this.bindFramebuffer.dirty=!0,this.bindRenderbuffer.dirty=!0,this.bindTexture.dirty=!0,this.bindVertexBuffer.dirty=!0,this.bindElementBuffer.dirty=!0,this.bindVertexArray.dirty=!0,this.pixelStoreUnpack.dirty=!0,this.pixelStoreUnpackPremultiplyAlpha.dirty=!0,this.pixelStoreUnpackFlipY.dirty=!0}createIndexBuffer(u,r){return new Hp(this,u,r)}createVertexBuffer(u,r,m){return new h7(this,u,r,m)}createRenderbuffer(u,r,m){let o=this.gl,s=o.createRenderbuffer();return this.bindRenderbuffer.set(s),o.renderbufferStorage(o.RENDERBUFFER,u,r,m),this.bindRenderbuffer.set(null),s}createFramebuffer(u,r,m,o){return new A7(this,u,r,m,o)}clear({color:u,depth:r,stencil:m}){let o=this.gl,s=0;u&&(s|=o.COLOR_BUFFER_BIT,this.clearColor.set(u),this.colorMask.set([!0,!0,!0,!0])),r!==void 0&&(s|=o.DEPTH_BUFFER_BIT,this.depthRange.set([0,1]),this.clearDepth.set(r),this.depthMask.set(!0)),m!==void 0&&(s|=o.STENCIL_BUFFER_BIT,this.clearStencil.set(m),this.stencilMask.set(255)),o.clear(s)}setCullFace(u){u.enable===!1?this.cullFace.set(!1):(this.cullFace.set(!0),this.cullFaceSide.set(u.mode),this.frontFace.set(u.frontFace))}setDepthMode(u){u.func!==this.gl.ALWAYS||u.mask?(this.depthTest.set(!0),this.depthFunc.set(u.func),this.depthMask.set(u.mask),this.depthRange.set(u.range)):this.depthTest.set(!1)}setStencilMode(u){u.test.func!==this.gl.ALWAYS||u.mask?(this.stencilTest.set(!0),this.stencilMask.set(u.mask),this.stencilOp.set([u.fail,u.depthFail,u.pass]),this.stencilFunc.set({func:u.test.func,ref:u.ref,mask:u.test.mask})):this.stencilTest.set(!1)}setColorMode(u){g.bQ(u.blendFunction,xl.Replace)?this.blend.set(!1):(this.blend.set(!0),this.blendFunc.set(u.blendFunction),this.blendColor.set(u.blendColor)),this.colorMask.set(u.mask)}createVertexArray(){var u;return j2(this.gl)?this.gl.createVertexArray():(u=this.gl.getExtension("OES_vertex_array_object"))===null||u===void 0?void 0:u.createVertexArrayOES()}deleteVertexArray(u){var r;j2(this.gl)?this.gl.deleteVertexArray(u):(r=this.gl.getExtension("OES_vertex_array_object"))===null||r===void 0||r.deleteVertexArrayOES(u)}unbindVAO(){this.bindVertexArray.set(null)}}let G5;function I3(u,r,m,o,s){var E,L;let{context:N,transform:F}=u,P=N.gl,K=u.useProgram("collisionBox"),R=[],U=0,z=0;for(let $ of o){let e=r.getTile($).getBucket(m);if(!e)continue;let u1=s?e.textCollisionBox:e.iconCollisionBox,T=e.collisionCircleArray;T.length>0&&(R.push({circleArray:T,circleOffset:z,coord:$}),U+=T.length/4,z=U),u1&&K.draw(N,P.LINES,rl.disabled,wl.disabled,u.colorModeForRenderPass(),yl.disabled,Bp(u.transform),(E=u.style.map.terrain)===null||E===void 0?void 0:E.getTerrainData($),F.getProjectionData({overscaledTileID:$,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),m.id,u1.layoutVertexBuffer,u1.indexBuffer,u1.segments,null,u.transform.zoom,null,null,u1.collisionVertexBuffer)}if(!s||!R.length)return;let Q=u.useProgram("collisionCircle"),t=new g.ca;t.resize(4*U),t._trim();let i=0;for(let $ of R)for(let e=0;e<$.circleArray.length/4;e++){let u1=4*e,T=$.circleArray[u1+0],p1=$.circleArray[u1+1],S1=$.circleArray[u1+2],h1=$.circleArray[u1+3];t.emplace(i++,T,p1,S1,h1,0),t.emplace(i++,T,p1,S1,h1,1),t.emplace(i++,T,p1,S1,h1,2),t.emplace(i++,T,p1,S1,h1,3)}(!G5||G5.length<2*U)&&(G5=function($){let e=2*$,u1=new g.cc;u1.resize(e),u1._trim();for(let T=0;T<e;T++){let p1=6*T;u1.uint16[p1+0]=4*T+0,u1.uint16[p1+1]=4*T+1,u1.uint16[p1+2]=4*T+2,u1.uint16[p1+3]=4*T+2,u1.uint16[p1+4]=4*T+3,u1.uint16[p1+5]=4*T+0}return u1}(U));let X=N.createIndexBuffer(G5,!0),c1=N.createVertexBuffer(t,g.cb.members,!0);for(let $ of R){let e=R5(u.transform);Q.draw(N,P.TRIANGLES,rl.disabled,wl.disabled,u.colorModeForRenderPass(),yl.disabled,e,(L=u.style.map.terrain)===null||L===void 0?void 0:L.getTerrainData($.coord),null,m.id,c1,X,g.aV.simpleSegment(0,2*$.circleOffset,$.circleArray.length,$.circleArray.length/2),null,u.transform.zoom,null,null,null)}c1.destroy(),X.destroy()}let Y3=g.ap(new Float32Array(16));function V7(u,r,m,o,s,E){let{horizontalAlign:L,verticalAlign:N}=g.aP(u);return new g.P((-(L-0.5)*r/s+o[0])*E,(-(N-0.5)*m/s+o[1])*E)}function yd(u,r,m,o,s,E){let L=r.tileAnchorPoint.add(new g.P(r.translation[0],r.translation[1]));if(r.pitchWithMap){let N=o.mult(E);m||(N=N.rotate(-s));let F=L.add(N);return pl(F.x,F.y,r.pitchedLabelPlaneMatrix,r.getElevation).point}if(m){let N=Wl(r.tileAnchorPoint.x+1,r.tileAnchorPoint.y,r).point.sub(u),F=Math.atan(N.y/N.x)+(N.x<0?Math.PI:0);return u.add(o.rotate(F))}return u.add(o)}function lc(u,r,m,o,s,E,L,N,F,P,K,R){let U=u.text.placedSymbolArray,z=u.text.dynamicLayoutVertexArray,Q=u.icon.dynamicLayoutVertexArray,t={};z.clear();for(let i=0;i<U.length;i++){let X=U.get(i),c1=X.hidden||!X.crossTileID||u.allowVerticalPlacement&&!X.placedOrientation?null:o[X.crossTileID];if(c1){let $=new g.P(X.anchorX,X.anchorY),e={getElevation:R,width:s.width,height:s.height,pitchedLabelPlaneMatrix:E,pitchWithMap:m,transform:s,tileAnchorPoint:$,translation:P,unwrappedTileID:K},u1=m?A3($.x,$.y,e):Wl($.x,$.y,e),T=q4(s.cameraToCenterDistance,u1.signedDistanceFromCamera),p1=g.ay(u.textSizeData,N,X)*T/g.aJ;m&&(p1*=u.tilePixelRatio/L);let{width:S1,height:h1,anchor:W1,textOffset:L1,textBoxScale:Q1}=c1,j1=V7(W1,S1,h1,L1,Q1,p1),C1=s.getPitchedTextCorrection($.x+P[0],$.y+P[1],K),O1=yd(u1.point,e,r,j1,-s.bearingInRadians,C1),I1=u.allowVerticalPlacement&&X.placedOrientation===g.ax.vertical?Math.PI/2:0;for(let i1=0;i1=0&&(t[X.associatedIconIndex]={shiftedAnchor:O1,angle:I1})}else P5(X.numGlyphs,z)}if(F){Q.clear();let i=u.icon.placedSymbolArray;for(let X=0;X<i.length;X++){let c1=i.get(X);if(c1.hidden)P5(c1.numGlyphs,Q);else{let $=t[X];if($)for(let e=0;eu.style.map.terrain.getElevation(C1,au,T7):null,kc=m.layout.get("text-rotation-alignment")==="map";lr(I1,u,s,J0,vu,$,P,kc,C1.toUnwrapped(),X.width,X.height,g5,o5)}let B2=s&&h1||a5,zl=e||B2?Y3:$?J0:u.transform.clipSpaceToPixelsMatrix,Rl=Xl&&m.paint.get(s?"text-halo-width":"icon-halo-width").constantOr(1)!==0,Ol;Ol=Xl?I1.iconsInText?a7(Dl.kind,Ml,u1,$,e,B2,u,zl,gu,g5,v0,_5,L1):v7(Dl.kind,Ml,u1,$,e,B2,u,zl,gu,g5,s,v0,Rl,L1):wr(Dl.kind,Ml,u1,$,e,B2,u,zl,gu,g5,s,v0,L1);let Bl={program:B0,buffers:i1,uniformValues:Ol,projectionData:M2,atlasTexture:K0,atlasTextureIcon:i5,atlasInterpolation:U0,atlasInterpolationIcon:du,isSDF:Xl,hasHalo:Rl};if(T&&I1.canOverlap){p1=!0;let vu=i1.segments.get();for(let o5 of vu)W1.push({segments:new g.aV([o5]),sortKey:o5.sortKey,state:Bl,terrainData:P2})}else W1.push({segments:i1.segments,sortKey:0,state:Bl,terrainData:P2})}p1&&W1.sort((C1,O1)=>C1.sortKey-O1.sortKey);let Q1=(Q=m.paint.get(s?"text-halo-width":"icon-halo-width").constantOr(null))!==null&&Q!==void 0?Q:1/0,j1=m.layout.get("text-letter-spacing").constantOr(0)*g.aJ1;for(let C1 of W1){let O1=C1.state;t.activeTexture.set(i.TEXTURE0),O1.atlasTexture.bind(O1.atlasInterpolation,i.CLAMP_TO_EDGE),O1.atlasTextureIcon&&(t.activeTexture.set(i.TEXTURE1),O1.atlasTextureIcon&&O1.atlasTextureIcon.bind(O1.atlasInterpolationIcon,i.CLAMP_TO_EDGE));let I1=O1.isSDF&&O1.hasHalo;if(I1){let i1=O1.uniformValues;i1.u_is_halo=1,j1&&(i1.u_is_plain=0,uc(O1.buffers,C1.segments,m,u,O1.program,S1,K,R,i1,O1.projectionData,C1.terrainData),i1.u_is_halo=0,i1.u_is_plain=1)}uc(O1.buffers,C1.segments,m,u,O1.program,S1,K,R,O1.uniformValues,O1.projectionData,C1.terrainData),I1&&!j1&&(O1.uniformValues.u_is_halo=0)}}function uc(u,r,m,o,s,E,L,N,F,P,K){let R=o.context;s.draw(R,R.gl.TRIANGLES,E,L,N,yl.backCCW,F,K,P,m.id,u.layoutVertexBuffer,u.indexBuffer,r,m.paint,o.transform.zoom,u.programConfigurations.get(m.id),u.dynamicLayoutVertexBuffer,u.opacityVertexBuffer)}function L7(u,r,m,o,s){let E=u.context,L=E.gl,N=wl.disabled,F=new xl([L.ONE,L.ONE],g.bo.transparent,[!0,!0,!0,!0]),P=r.getBucket(m);if(!P)return;let K=o.key,R=m.heatmapFbos.get(K);R||(R=C7(E,r.tileSize,r.tileSize),m.heatmapFbos.set(K,R)),E.bindFramebuffer.set(R.framebuffer),E.viewport.set([0,0,r.tileSize,r.tileSize]),E.clear({color:g.bo.transparent});let U=P.programConfigurations.get(m.id),z=u.useProgram("heatmap",U,!s),Q=u.transform.getProjectionData({overscaledTileID:r.tileID,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),t=u.style.map.terrain.getTerrainData(o);z.draw(E,L.TRIANGLES,rl.disabled,N,F,yl.disabled,d7(r,u.transform.zoom,m.paint.get("heatmap-intensity"),1),t,Q,m.id,P.layoutVertexBuffer,P.indexBuffer,P.segments,m.paint,u.transform.zoom,U)}function Gp(u,r,m,o,s){let E=u.context,L=E.gl,N=u.transform;E.setColorMode(u.colorModeForRenderPass());let F=cc(E,r),P=m.key,K=r.heatmapFbos.get(P);if(!K)return;E.activeTexture.set(L.TEXTURE0),L.bindTexture(L.TEXTURE_2D,K.colorAttachment.get()),E.activeTexture.set(L.TEXTURE1),F.bind(L.LINEAR,L.CLAMP_TO_EDGE);let R=N.getProjectionData({overscaledTileID:m,applyTerrainMatrix:s,applyGlobeMatrix:!o});u.useProgram("heatmapTexture").draw(E,L.TRIANGLES,rl.disabled,wl.disabled,u.colorModeForRenderPass(),yl.disabled,M3(u,r,0,1),null,R,r.id,u.rasterBoundsBuffer,u.quadTriangleIndexBuffer,u.rasterBoundsSegments,r.paint,N.zoom),K.destroy(),r.heatmapFbos.delete(P)}function C7(u,r,m){var o,s;let E=u.gl,L=E.createTexture();E.bindTexture(E.TEXTURE_2D,L),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_S,E.CLAMP_TO_EDGE),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_WRAP_T,E.CLAMP_TO_EDGE),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MIN_FILTER,E.LINEAR),E.texParameteri(E.TEXTURE_2D,E.TEXTURE_MAG_FILTER,E.LINEAR);let N=(o=u.HALF_FLOAT)!==null&&o!==void 0?o:E.UNSIGNED_BYTE,F=(s=u.RGBA16F)!==null&&s!==void 0?s:E.RGBA;E.texImage2D(E.TEXTURE_2D,0,F,r,m,0,E.RGBA,N,null);let P=u.createFramebuffer(r,m,!1,!1);return P.colorAttachment.set(L),P}function cc(u,r){return r.colorRampTexture||(r.colorRampTexture=new g.T(u,r.colorRamp,u.gl.RGBA)),r.colorRampTexture}function Er(u,r,m,o,s,E,L,N){let F=256;if(s.stepInterpolant){let P=r.getSource().maxzoom,K=L.canonical.z===P?Math.ceil(1<u.options.anisotropicFilterPitch&&z.texParameterf(z.TEXTURE_2D,U.extTextureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,U.extTextureFilterAnisotropicMax);let C1=(K=u.style.map.terrain)===null||K===void 0?void 0:K.getTerrainData(p1),O1=t.getProjectionData({overscaledTileID:p1,aligned:c1,applyGlobeMatrix:!P,applyTerrainMatrix:!0}),I1=m7(Q1,L1,j1.fadeMix,m,N),i1=i.getMeshFromTileID(U,p1.canonical,E,L,"raster");Q.draw(U,z.TRIANGLES,S1,s?s[p1.overscaledZ]:wl.disabled,X,F?yl.frontCCW:yl.backCCW,I1,C1,O1,m.id,i1.vertexBuffer,i1.indexBuffer,i1.segments)}}function jp(u,r,m,o){let s={parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:{tileOpacity:1,parentTileOpacity:1,fadeMix:{opacity:1,mix:0}}};if(m===0||o)return s;if(u.fadingParentID){let E=r.getLoadedTile(u.fadingParentID);if(!E)return s;let L=Math.pow(2,E.tileID.overscaledZ-u.tileID.overscaledZ),N=[u.tileID.canonical.x*L%1,u.tileID.canonical.y*L%1],F=function(P,K,R){let U=q1(),z=(U-K.timeAdded)/R,Q=P.fadingDirection===N2.Incoming,t=g.al((U-P.timeAdded)/R,0,1),i=g.al(1-z,0,1),X=Q?t:i;return{tileOpacity:X,parentTileOpacity:Q?i:t,fadeMix:{opacity:1,mix:1-X}}}(u,E,m);return{parentTile:E,parentScaleBy:L,parentTopLeft:N,fadeValues:F}}if(u.selfFading){let E=function(L,N){let F=(q1()-L.timeAdded)/N,P=g.al(F,0,1);return{tileOpacity:P,fadeMix:{opacity:P,mix:0}}}(u,m);return{parentTile:null,parentScaleBy:1,parentTopLeft:[0,0],fadeValues:E}}return s}let Jp=new g.bo(1,0,0,1),Xp=new g.bo(0,1,0,1),Tp=new g.bo(0,0,1,1),Zp=new g.bo(1,0,1,1),p5=new g.bo(0,1,1,1);function x7(u,r,m,o){pc(u,0,r+m/2,u.transform.width,m,o)}function N7(u,r,m,o){pc(u,r-m/2,0,m,u.transform.height,o)}function pc(u,r,m,o,s,E){let L=u.context,N=L.gl;N.enable(N.SCISSOR_TEST),N.scissor(r*u.pixelRatio,m*u.pixelRatio,o*u.pixelRatio,s*u.pixelRatio),L.clear({color:E}),N.disable(N.SCISSOR_TEST)}function bp(u,r,m){var o;let s=u.context,E=s.gl,L=u.useProgram("debug"),N=rl.disabled,F=wl.disabled,P=u.colorModeForRenderPass(),K="$debug",R=(o=u.style.map.terrain)===null||o===void 0?void 0:o.getTerrainData(m);s.activeTexture.set(E.TEXTURE0);let U=r.getTileByID(m.key).latestRawTileData,z=Math.floor(((U==null?void 0:U.byteLength)||0)/1024),Q=r.getTile(m).tileSize,t=512/Math.min(Q,512)*(m.overscaledZ/u.transform.zoom)*0.5,i=m.canonical.toString();m.overscaledZ!==m.canonical.z&&(i+=` => ${m.overscaledZ}`),function(c1,$){c1.initDebugOverlayCanvas();let e=c1.debugOverlayCanvas,u1=c1.context.gl,T=c1.debugOverlayCanvas.getContext("2d");T.clearRect(0,0,e.width,e.height),T.shadowColor="white",T.shadowBlur=2,T.lineWidth=1.5,T.strokeStyle="white",T.textBaseline="top",T.font="bold 36px Open Sans, sans-serif",T.fillText($,5,5),T.strokeText($,5,5),c1.debugOverlayTexture.update(e),c1.debugOverlayTexture.bind(u1.LINEAR,u1.CLAMP_TO_EDGE)}(u,`${i} ${z}kB`);let X=u.transform.getProjectionData({overscaledTileID:m,applyGlobeMatrix:!0,applyTerrainMatrix:!0});L.draw(s,E.TRIANGLES,N,F,xl.alphaBlended,yl.disabled,f7(g.bo.transparent,t),null,X,"$debug",u.debugBuffer,u.quadTriangleIndexBuffer,u.debugSegments),L.draw(s,E.LINE_STRIP,N,F,P,yl.disabled,f7(g.bo.red),R,X,"$debug",u.debugBuffer,u.tileBorderIndexBuffer,u.debugSegments)}function F7(u,r,m,o){let{isRenderingGlobe:s}=o,E=u.context,L=E.gl,N=u.transform,F=u.colorModeForRenderPass(),P=u.getDepthModeFor3D(),K=u.useProgram("terrain");E.bindFramebuffer.set(null),E.viewport.set([0,0,u.width,u.height]);for(let R of m){let U=r.getTerrainMesh(R.tileID),z=u.renderToTexture.getTexture(R),Q=r.getTerrainData(R.tileID);E.activeTexture.set(L.TEXTURE0),L.bindTexture(L.TEXTURE_2D,z.texture);let t=r.getMeshFrameDelta(N.zoom),i=N.calculateFogMatrix(R.tileID.toUnwrapped()),X=ar(t,i,u.style.sky,N.pitch,s),c1=N.getProjectionData({overscaledTileID:R.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});K.draw(E,L.TRIANGLES,P,wl.disabled,F,yl.backCCW,X,Q,c1,"terrain",U.vertexBuffer,U.indexBuffer,U.segments)}}function q7(u,r){if(!r.mesh){let m=new g.aU;m.emplaceBack(-1,-1),m.emplaceBack(1,-1),m.emplaceBack(1,1),m.emplaceBack(-1,1);let o=new g.aW;o.emplaceBack(0,1,2),o.emplaceBack(0,2,3),r.mesh=new Ll(u.createVertexBuffer(m,_u.members),u.createIndexBuffer(o),g.aV.simpleSegment(0,0,m.length,o.length))}return r.mesh}let $p={symbol:function(u,r,m,o,s,E){if(u.renderPass!=="translucent")return;let{isRenderingToTexture:L}=E,N=wl.disabled,F=u.colorModeForRenderPass();(m._unevaluatedLayout.hasValue("text-variable-anchor")||m._unevaluatedLayout.hasValue("text-variable-anchor-offset"))&&function(P,K,R,U,z,Q,t,i,X){var c1;let $=K.transform,e=K.style.map.terrain,u1=z==="map",T=Q==="map";for(let p1 of P){let S1=U.getTile(p1),h1=S1.getBucket(R);if(!((c1=h1==null?void 0:h1.text)===null||c1===void 0?void 0:c1.segments.get().length))continue;let W1=g.aw(h1.textSizeData,$.zoom),L1=g.aK(S1,1,K.transform.zoom),Q1=y2(u1,K.transform,L1),j1=R.layout.get("icon-text-fit")!=="none"&&h1.hasIconData();if(W1){let C1=Math.pow(2,$.zoom-S1.tileID.overscaledZ),O1=e?(I1,i1)=>e.getElevation(p1,I1,i1):null;lc(h1,u1,T,X,$,Q1,C1,W1,j1,g.aL($,S1,t,i),p1.toUnwrapped(),O1)}}}(o,u,m,r,m.layout.get("text-rotation-alignment"),m.layout.get("text-pitch-alignment"),m.paint.get("text-translate"),m.paint.get("text-translate-anchor"),s),m.paint.get("icon-opacity").constantOr(1)!==0&&W7(u,r,m,o,!1,m.paint.get("icon-translate"),m.paint.get("icon-translate-anchor"),m.layout.get("icon-rotation-alignment"),m.layout.get("icon-pitch-alignment"),m.layout.get("icon-keep-upright"),N,F,L),m.paint.get("text-opacity").constantOr(1)!==0&&W7(u,r,m,o,!0,m.paint.get("text-translate"),m.paint.get("text-translate-anchor"),m.layout.get("text-rotation-alignment"),m.layout.get("text-pitch-alignment"),m.layout.get("text-keep-upright"),N,F,L),r.map.showCollisionBoxes&&(I3(u,r,m,o,!0),I3(u,r,m,o,!1))},circle:function(u,r,m,o,s){var E;if(u.renderPass!=="translucent")return;let{isRenderingToTexture:L}=s,N=m.paint.get("circle-opacity"),F=m.paint.get("circle-stroke-width"),P=m.paint.get("circle-stroke-opacity"),K=!m.layout.get("circle-sort-key").isConstant();if(N.constantOr(1)===0&&(F.constantOr(1)===0||P.constantOr(1)===0))return;let R=u.context,U=R.gl,z=u.transform,Q=u.getDepthModeForSublayer(0,rl.ReadOnly),t=wl.disabled,i=u.colorModeForRenderPass(),X=[],c1=z.getCircleRadiusCorrection();for(let $ of o){let e=r.getTile($),u1=e.getBucket(m);if(!u1)continue;let T=m.paint.get("circle-translate"),p1=m.paint.get("circle-translate-anchor"),S1=g.aL(z,e,T,p1),h1=u1.programConfigurations.get(m.id),W1=u.useProgram("circle",h1),L1=u1.layoutVertexBuffer,Q1=u1.indexBuffer,j1=(E=u.style.map.terrain)===null||E===void 0?void 0:E.getTerrainData($),C1={programConfiguration:h1,program:W1,layoutVertexBuffer:L1,indexBuffer:Q1,uniformValues:Mp(u,e,m,S1,c1),terrainData:j1,projectionData:z.getProjectionData({overscaledTileID:$,applyGlobeMatrix:!L,applyTerrainMatrix:!0})};if(K){let O1=u1.segments.get();for(let I1 of O1)X.push({segments:new g.aV([I1]),sortKey:I1.sortKey,state:C1})}else X.push({segments:u1.segments,sortKey:0,state:C1})}K&&X.sort(($,e)=>$.sortKey-e.sortKey);for(let $ of X){let{programConfiguration:e,program:u1,layoutVertexBuffer:T,indexBuffer:p1,uniformValues:S1,terrainData:h1,projectionData:W1}=$.state;u1.draw(R,U.TRIANGLES,Q,t,i,yl.backCCW,S1,h1,W1,m.id,T,p1,$.segments,m.paint,u.transform.zoom,e)}},heatmap:function(u,r,m,o,s){if(m.paint.get("heatmap-opacity")===0)return;let E=u.context,{isRenderingToTexture:L,isRenderingGlobe:N}=s;if(u.style.map.terrain){for(let F of o){let P=r.getTile(F);r.hasRenderableParent(F)||(u.renderPass==="offscreen"?L7(u,P,m,F,N):u.renderPass==="translucent"&&Gp(u,m,F,L,N))}E.viewport.set([0,0,u.width,u.height])}else u.renderPass==="offscreen"?function(F,P,K,R){let U=F.context,z=U.gl,Q=F.transform,t=wl.disabled,i=new xl([z.ONE,z.ONE],g.bo.transparent,[!0,!0,!0,!0]);(function(X,c1,$){let e=X.gl;X.activeTexture.set(e.TEXTURE1),X.viewport.set([0,0,c1.width/4,c1.height/4]);let u1=$.heatmapFbos.get(g.cd);u1?(e.bindTexture(e.TEXTURE_2D,u1.colorAttachment.get()),X.bindFramebuffer.set(u1.framebuffer)):(u1=C7(X,c1.width/4,c1.height/4),$.heatmapFbos.set(g.cd,u1))})(U,F,K),U.clear({color:g.bo.transparent});for(let X of R){if(P.hasRenderableParent(X))continue;let c1=P.getTile(X),$=c1.getBucket(K);if(!$)continue;let e=$.programConfigurations.get(K.id),u1=F.useProgram("heatmap",e),T=Q.getProjectionData({overscaledTileID:X,applyGlobeMatrix:!0,applyTerrainMatrix:!1}),p1=Q.getCircleRadiusCorrection();u1.draw(U,z.TRIANGLES,rl.disabled,t,i,yl.backCCW,d7(c1,Q.zoom,K.paint.get("heatmap-intensity"),p1),null,T,K.id,$.layoutVertexBuffer,$.indexBuffer,$.segments,K.paint,Q.zoom,e)}U.viewport.set([0,0,F.width,F.height])}(u,r,m,o):u.renderPass==="translucent"&&function(F,P){let K=F.context,R=K.gl;K.setColorMode(F.colorModeForRenderPass());let U=P.heatmapFbos.get(g.cd);U&&(K.activeTexture.set(R.TEXTURE0),R.bindTexture(R.TEXTURE_2D,U.colorAttachment.get()),K.activeTexture.set(R.TEXTURE1),cc(K,P).bind(R.LINEAR,R.CLAMP_TO_EDGE),F.useProgram("heatmapTexture").draw(K,R.TRIANGLES,rl.disabled,wl.disabled,F.colorModeForRenderPass(),yl.disabled,M3(F,P,0,1),null,null,P.id,F.viewportBuffer,F.quadTriangleIndexBuffer,F.viewportSegments,P.paint,F.transform.zoom))}(u,m)},line:function(u,r,m,o,s){var E;if(u.renderPass!=="translucent")return;let{isRenderingToTexture:L}=s,N=m.paint.get("line-opacity"),F=m.paint.get("line-width");if(N.constantOr(1)===0||F.constantOr(1)===0)return;let P=u.getDepthModeForSublayer(0,rl.ReadOnly),K=u.colorModeForRenderPass(),R=m.paint.get("line-dasharray"),U=R.constantOr(1),z=m.paint.get("line-pattern"),Q=z.constantOr(1),t=m.paint.get("line-gradient"),i=m.getCrossfadeParameters(),X;X=Q?"linePattern":U&&t?"lineGradientSDF":U?"lineSDF":t?"lineGradient":"line";let c1=u.context,$=c1.gl,e=u.transform,u1=!0;for(let T of o){let p1=r.getTile(T);if(Q&&!p1.patternsLoaded())continue;let S1=p1.getBucket(m);if(!S1)continue;let h1=S1.programConfigurations.get(m.id),W1=u.context.program.get(),L1=u.useProgram(X,h1),Q1=u1||L1.program!==W1,j1=(E=u.style.map.terrain)===null||E===void 0?void 0:E.getTerrainData(T),C1=z.constantOr(null),O1=R==null?void 0:R.constantOr(null);if(C1&&p1.imageAtlas){let Dl=p1.imageAtlas,r0=Dl.patternPositions[C1.to.toString()],B0=Dl.patternPositions[C1.from.toString()];r0&&B0&&h1.setConstantPatternPositions(r0,B0)}else if(O1){let Dl=m.layout.get("line-cap").constantOr(null)==="round",r0=u.lineAtlas.getDash(O1.to,Dl),B0=u.lineAtlas.getDash(O1.from,Dl);h1.setConstantDashPositions(r0,B0)}let I1=e.getProjectionData({overscaledTileID:T,applyGlobeMatrix:!L,applyTerrainMatrix:!0}),i1=e.getPixelScale(),Jl;Q?(Jl=Up(u,p1,m,i1,i),sd(c1,$,p1,h1,i)):U&&t?(Jl=Dp(u,p1,m,i1,i,S1.lineClipsArray.length),Q5(u,r,c1,$,m,S1,T,h1,i)):U?(Jl=yr(u,p1,m,i1,i),Qp(u,c1,$,h1,Q1,i)):t?(Jl=Kp(u,p1,m,i1,S1.lineClipsArray.length),il(u,r,c1,$,m,S1,T)):Jl=j4(u,p1,m,i1);let Xl=u.stencilModeForClipping(T);L1.draw(c1,$.TRIANGLES,P,Xl,K,yl.disabled,Jl,j1,I1,m.id,S1.layoutVertexBuffer,S1.indexBuffer,S1.segments,m.paint,u.transform.zoom,h1,S1.layoutVertexBuffer2),u1=!1}},fill:function(u,r,m,o,s){let E=m.paint.get("fill-color"),L=m.paint.get("fill-opacity");if(L.constantOr(1)===0)return;let{isRenderingToTexture:N}=s,F=u.colorModeForRenderPass(),P=m.paint.get("fill-pattern"),K=u.opaquePassEnabledForLayer()&&!P.constantOr(1)&&E.constantOr(g.bo.transparent).a===1&&L.constantOr(0)===1?"opaque":"translucent";if(u.renderPass===K){let R=u.getDepthModeForSublayer(1,u.renderPass==="opaque"?rl.ReadWrite:rl.ReadOnly);nr(u,r,m,o,R,F,!1,N)}if(u.renderPass==="translucent"&&m.paint.get("fill-antialias")){let R=u.getDepthModeForSublayer(m.getPaintProperty("fill-outline-color")?2:0,rl.ReadOnly);nr(u,r,m,o,R,F,!0,N)}},fillExtrusion:function(u,r,m,o,s){let E=m.paint.get("fill-extrusion-opacity");if(E===0)return;let{isRenderingToTexture:L}=s;if(u.renderPass==="translucent"){let N=new rl(u.context.gl.LEQUAL,rl.ReadWrite,u.depthRangeFor3D);if(E!==1||m.paint.get("fill-extrusion-pattern").constantOr(1))z3(u,r,m,o,N,wl.disabled,xl.disabled,L),z3(u,r,m,o,N,u.stencilModeFor3D(),u.colorModeForRenderPass(),L);else{let F=u.colorModeForRenderPass();z3(u,r,m,o,N,wl.disabled,F,L)}}},hillshade:function(u,r,m,o,s){if(u.renderPass!=="offscreen"&&u.renderPass!=="translucent")return;let{isRenderingToTexture:E}=s,L=u.context,N=u.style.projection.useSubdivision,F=u.getDepthModeForSublayer(0,rl.ReadOnly),P=u.colorModeForRenderPass();if(u.renderPass==="offscreen")(function(K,R,U,z,Q,t,i){let X=K.context,c1=X.gl,$=z.paint.get("resampling")==="nearest"?c1.NEAREST:c1.LINEAR;for(let e of U){let u1=R.getTile(e),T=u1.dem;if(!(T==null?void 0:T.data))continue;if(!u1.needsHillshadePrepare)continue;let{dim:p1,stride:S1}=T,h1=T.getPixels();if(X.activeTexture.set(c1.TEXTURE1),X.pixelStoreUnpackPremultiplyAlpha.set(!1),u1.demTexture||(u1.demTexture=K.getTileTexture(S1)),u1.demTexture){let L1=u1.demTexture;L1.update(h1,{premultiply:!1}),L1.bind(c1.NEAREST,c1.CLAMP_TO_EDGE)}else u1.demTexture=new g.T(X,h1,c1.RGBA,{premultiply:!1}),u1.demTexture.bind(c1.NEAREST,c1.CLAMP_TO_EDGE);X.activeTexture.set(c1.TEXTURE0);let W1=u1.fbo;if(!W1){let L1=new g.T(X,{width:p1,height:p1,data:null},c1.RGBA);L1.bind($,c1.CLAMP_TO_EDGE),W1=u1.fbo=X.createFramebuffer(p1,p1,!0,!1),W1.colorAttachment.set(L1.texture)}X.bindFramebuffer.set(W1.framebuffer),X.viewport.set([0,0,p1,p1]),K.useProgram("hillshadePrepare").draw(X,c1.TRIANGLES,Q,t,i,yl.disabled,hr(u1.tileID,T),null,null,z.id,K.rasterBoundsBuffer,K.quadTriangleIndexBuffer,K.rasterBoundsSegments),u1.needsHillshadePrepare=!1}})(u,r,o,m,F,wl.disabled,P),L.viewport.set([0,0,u.width,u.height]);else if(u.renderPass==="translucent")if(N){let[K,R,U]=u.stencilConfigForOverlapTwoPass(o);Ar(u,r,m,U,K,F,P,!1,E),Ar(u,r,m,U,R,F,P,!0,E)}else{let[K,R]=u.getStencilConfigForOverlapAndUpdateStencilID(o);Ar(u,r,m,R,K,F,P,!1,E)}},colorRelief:function(u,r,m,o,s){if(u.renderPass!=="translucent")return;if(!o.length)return;let{isRenderingToTexture:E}=s,L=u.style.projection.useSubdivision,N=u.getDepthModeForSublayer(0,rl.ReadOnly),F=u.colorModeForRenderPass();if(L){let[P,K,R]=u.stencilConfigForOverlapTwoPass(o);rc(u,r,m,R,P,N,F,!1,E),rc(u,r,m,R,K,N,F,!0,E)}else{let[P,K]=u.getStencilConfigForOverlapAndUpdateStencilID(o);rc(u,r,m,K,P,N,F,!1,E)}},raster:function(u,r,m,o,s){if(u.renderPass!=="translucent")return;if(m.paint.get("raster-opacity")===0)return;if(!o.length)return;let{isRenderingToTexture:E}=s,L=r.getSource(),N=u.style.projection.useSubdivision;if(L instanceof Wu)O3(u,r,m,o,null,!1,!1,L.tileCoords,L.flippedWindingOrder,E);else if(N){let[F,P,K]=u.stencilConfigForOverlapTwoPass(o);O3(u,r,m,K,F,!1,!0,j5,!1,E),O3(u,r,m,K,P,!0,!0,j5,!1,E)}else{let[F,P]=u.getStencilConfigForOverlapAndUpdateStencilID(o);O3(u,r,m,P,F,!1,!0,j5,!1,E)}},background:function(u,r,m,o,s){var E;let L=m.paint.get("background-color"),N=m.paint.get("background-opacity");if(N===0)return;let{isRenderingToTexture:F}=s,P=u.context,K=P.gl,R=u.style.projection,U=u.transform,z=U.tileSize,Q=m.paint.get("background-pattern");if(u.isPatternMissing(Q))return;let t=!Q&&L.a===1&&N===1&&u.opaquePassEnabledForLayer()?"opaque":"translucent";if(u.renderPass!==t)return;let i=wl.disabled,X=u.getDepthModeForSublayer(0,t==="opaque"?rl.ReadWrite:rl.ReadOnly),c1=u.colorModeForRenderPass(),$=u.useProgram(Q?"backgroundPattern":"background"),e=o||F5(U,{tileSize:z,terrain:u.style.map.terrain});Q&&(P.activeTexture.set(K.TEXTURE0),u.imageManager.bind(u.context));let u1=m.getCrossfadeParameters();for(let T of e){let p1=U.getProjectionData({overscaledTileID:T,applyGlobeMatrix:!F,applyTerrainMatrix:!0}),S1=Q?o7(N,u,Q,{tileID:T,tileSize:z},u1):H5(N,L),h1=(E=u.style.map.terrain)===null||E===void 0?void 0:E.getTerrainData(T),W1=R.getMeshFromTileID(P,T.canonical,!1,!0,"raster");$.draw(P,K.TRIANGLES,X,i,c1,yl.backCCW,S1,h1,p1,m.id,W1.vertexBuffer,W1.indexBuffer,W1.segments)}},sky:function(u,r){let m=u.context,o=m.gl,s=((K,R,U)=>{let z=Math.cos(R.rollInRadians),Q=Math.sin(R.rollInRadians),t=x5(R),i=R.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}).projectionTransition;return{u_sky_color:K.properties.get("sky-color"),u_horizon_color:K.properties.get("horizon-color"),u_horizon:[(R.width/2-t*Q)*U,(R.height/2+t*z)*U],u_horizon_normal:[-Q,z],u_sky_horizon_blend:K.properties.get("sky-horizon-blend")*R.height/2*U,u_sky_blend:i}})(r,u.style.map.transform,u.pixelRatio),E=new rl(o.LEQUAL,rl.ReadWrite,[0,1]),L=wl.disabled,N=u.colorModeForRenderPass(),F=u.useProgram("sky"),P=q7(m,r);F.draw(m,o.TRIANGLES,E,L,N,yl.disabled,s,null,void 0,"sky",P.vertexBuffer,P.indexBuffer,P.segments)},atmosphere:function(u,r,m){let o=u.context,s=o.gl,E=u.useProgram("atmosphere"),L=new rl(s.LEQUAL,rl.ReadOnly,[0,1]),N=u.transform,F=function(i,X){let c1=i.properties.get("position"),$=[-c1.x,-c1.y,-c1.z],e=g.ap(new Float64Array(16));return i.properties.get("anchor")==="map"&&(g.be(e,e,X.rollInRadians),g.bf(e,e,-X.pitchInRadians),g.be(e,e,X.bearingInRadians),g.bf(e,e,X.center.lat*Math.PI/180),g.bI(e,e,-X.center.lng*Math.PI/180)),g.cg($,$,e),$}(m,u.transform),P=N.getProjectionData({overscaledTileID:null,applyGlobeMatrix:!0,applyTerrainMatrix:!0}),K=r.properties.get("atmosphere-blend")*P.projectionTransition;if(K===0)return;let R=s2(N.worldSize,N.center.lat),U=N.inverseProjectionMatrix,z=new Float64Array(4);z[3]=1,g.aE(z,z,N.modelViewProjectionMatrix),z[0]/=z[3],z[1]/=z[3],z[2]/=z[3],z[3]=1,g.aE(z,z,U),z[0]/=z[3],z[1]/=z[3],z[2]/=z[3],z[3]=1;let Q=((i,X,c1,$,e)=>({u_sun_pos:i,u_atmosphere_blend:X,u_globe_position:c1,u_globe_radius:$,u_inv_proj_matrix:e}))(F,K,[z[0],z[1],z[2]],R,U),t=q7(o,r);E.draw(o,s.TRIANGLES,L,wl.disabled,xl.alphaBlended,yl.disabled,Q,null,null,"atmosphere",t.vertexBuffer,t.indexBuffer,t.segments)},custom:function(u,r,m,o){let{isRenderingGlobe:s}=o,E=u.context,L=m.implementation,N=u.style.projection,F=u.transform,P=F.getProjectionDataForCustomLayer(s),K={farZ:F.farZ,nearZ:F.nearZ,fov:F.fov*Math.PI/180,modelViewProjectionMatrix:F.modelViewProjectionMatrix,projectionMatrix:F.projectionMatrix,shaderData:{variantName:N.shaderVariantName,vertexShaderPrelude:`const float PI = 3.141592653589793; uniform mat4 u_projection_matrix; ${N.shaderPreludeCode.vertexSource}`,define:N.shaderDefine},defaultProjectionData:P},R=L.renderingMode?L.renderingMode:"2d";if(u.renderPass==="offscreen"){let U=L.prerender;U&&(u.setCustomLayerDefaults(),E.setColorMode(u.colorModeForRenderPass()),U.call(L,E.gl,K),E.setDirty(),u.setBaseState())}else if(u.renderPass==="translucent"){u.setCustomLayerDefaults(),E.setColorMode(u.colorModeForRenderPass()),E.setStencilMode(wl.disabled);let U=R==="3d"?u.getDepthModeFor3D():u.getDepthModeForSublayer(0,rl.ReadOnly);E.setDepthMode(U),L.render(E.gl,K),E.setDirty(),u.setBaseState(),E.bindFramebuffer.set(null)}},debug:function(u,r,m){for(let o of m)bp(u,r,o)},debugPadding:function(u){let r=u.transform.padding;x7(u,u.transform.height-(r.top||0),3,Jp),x7(u,r.bottom||0,3,Xp),N7(u,r.left||0,3,Tp),N7(u,u.transform.width-(r.right||0),3,Zp);let m=u.transform.centerPoint;(function(o,s,E,L){pc(o,s-1,E-10,2,20,L),pc(o,s-10,E-1,20,2,L)})(u,m.x,u.transform.height-m.y,p5)},terrainDepth:function(u,r){let m=u.context,o=m.gl,s=u.transform,E=xl.unblended,L=new rl(o.LEQUAL,rl.ReadWrite,[0,1]),N=r.tileManager.getRenderableTiles(),F=u.useProgram("terrainDepth");m.bindFramebuffer.set(r.getFramebuffer("depth").framebuffer),m.viewport.set([0,0,u.width/devicePixelRatio,u.height/devicePixelRatio]),m.clear({color:g.bo.transparent,depth:1});for(let P of N){let K=r.getTerrainMesh(P.tileID),R=r.getTerrainData(P.tileID),U=s.getProjectionData({overscaledTileID:P.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0}),z={u_ele_delta:r.getMeshFrameDelta(s.zoom)};F.draw(m,o.TRIANGLES,L,wl.disabled,E,yl.backCCW,z,R,U,"terrain",K.vertexBuffer,K.indexBuffer,K.segments)}m.bindFramebuffer.set(null),m.viewport.set([0,0,u.width,u.height])},terrainCoords:function(u,r){let m=u.context,o=m.gl,s=u.transform,E=xl.unblended,L=new rl(o.LEQUAL,rl.ReadWrite,[0,1]),N=r.getCoordsTexture(),F=r.tileManager.getRenderableTiles(),P=u.useProgram("terrainCoords");m.bindFramebuffer.set(r.getFramebuffer("coords").framebuffer),m.viewport.set([0,0,u.width/devicePixelRatio,u.height/devicePixelRatio]),m.clear({color:g.bo.transparent,depth:1}),r.coordsIndex=[];for(let K of F){let R=r.getTerrainMesh(K.tileID),U=r.getTerrainData(K.tileID);m.activeTexture.set(o.TEXTURE0),o.bindTexture(o.TEXTURE_2D,N.texture);let z={u_terrain_coords_id:(255-r.coordsIndex.length)/255,u_texture:0,u_ele_delta:r.getMeshFrameDelta(s.zoom)},Q=s.getProjectionData({overscaledTileID:K.tileID,applyTerrainMatrix:!1,applyGlobeMatrix:!0});P.draw(m,o.TRIANGLES,L,wl.disabled,E,yl.backCCW,z,U,Q,"terrain",R.vertexBuffer,R.indexBuffer,R.segments),r.coordsIndex.push(K.tileID.key)}m.bindFramebuffer.set(null),m.viewport.set([0,0,u.width,u.height])}};class fc{constructor(u,r){this.drawFunctions=$p,this.context=new t4(u),this.transform=r,this._tileTextures={},this.terrainFacilitator={depthDirty:!0,coordsDirty:!1,matrix:g.ap(new Float64Array(16)),renderTime:0},this.setup(),this.numSublayers=s0.maxOverzooming+s0.maxUnderzooming+1,this.depthEpsilon=1/Math.pow(2,16),this.crossTileSymbolIndex=new Q0}resize(u,r,m){if(this.width=Math.floor(u*m),this.height=Math.floor(r*m),this.pixelRatio=m,this.context.viewport.set([0,0,this.width,this.height]),this.style)for(let o of this.style._order)this.style._layers[o].resize()}setup(){let u=this.context,r=new g.aU;r.emplaceBack(0,0),r.emplaceBack(g.a6,0),r.emplaceBack(0,g.a6),r.emplaceBack(g.a6,g.a6),this.tileExtentBuffer=u.createVertexBuffer(r,_u.members),this.tileExtentSegments=g.aV.simpleSegment(0,0,4,2);let m=new g.aU;m.emplaceBack(0,0),m.emplaceBack(g.a6,0),m.emplaceBack(0,g.a6),m.emplaceBack(g.a6,g.a6),this.debugBuffer=u.createVertexBuffer(m,_u.members),this.debugSegments=g.aV.simpleSegment(0,0,4,5);let o=new g.ch;o.emplaceBack(0,0,0,0),o.emplaceBack(g.a6,0,g.a6,0),o.emplaceBack(0,g.a6,0,g.a6),o.emplaceBack(g.a6,g.a6,g.a6,g.a6),this.rasterBoundsBuffer=u.createVertexBuffer(o,Q4.members),this.rasterBoundsSegments=g.aV.simpleSegment(0,0,4,2);let s=new g.aU;s.emplaceBack(0,0),s.emplaceBack(g.a6,0),s.emplaceBack(0,g.a6),s.emplaceBack(g.a6,g.a6),this.rasterBoundsBufferPosOnly=u.createVertexBuffer(s,_u.members),this.rasterBoundsSegmentsPosOnly=g.aV.simpleSegment(0,0,4,5);let E=new g.aU;E.emplaceBack(0,0),E.emplaceBack(1,0),E.emplaceBack(0,1),E.emplaceBack(1,1),this.viewportBuffer=u.createVertexBuffer(E,_u.members),this.viewportSegments=g.aV.simpleSegment(0,0,4,2);let L=new g.ci;L.emplaceBack(0),L.emplaceBack(1),L.emplaceBack(3),L.emplaceBack(2),L.emplaceBack(0),this.tileBorderIndexBuffer=u.createIndexBuffer(L);let N=new g.aW;N.emplaceBack(1,0,2),N.emplaceBack(1,2,3),this.quadTriangleIndexBuffer=u.createIndexBuffer(N);let F=this.context.gl;this.stencilClearMode=new wl({func:F.ALWAYS,mask:0},0,255,F.ZERO,F.ZERO,F.ZERO),this.tileExtentMesh=new Ll(this.tileExtentBuffer,this.quadTriangleIndexBuffer,this.tileExtentSegments)}clearStencil(){let u=this.context,r=u.gl;this.nextStencilID=1,this.currentStencilSource=void 0;let m=g.O();g.c7(m,0,this.width,this.height,0,0,1),g.S(m,m,[r.drawingBufferWidth,r.drawingBufferHeight,0]);let o={mainMatrix:m,tileMercatorCoords:[0,0,1,1],clippingPlane:[0,0,0,0],projectionTransition:0,fallbackMatrix:m};this.useProgram("clippingMask",null,!0).draw(u,r.TRIANGLES,rl.disabled,this.stencilClearMode,xl.disabled,yl.disabled,null,null,o,"$clipping",this.viewportBuffer,this.quadTriangleIndexBuffer,this.viewportSegments)}_renderTileClippingMasks(u,r,m){if(this.currentStencilSource===u.source||!u.isTileClipped()||!(r==null?void 0:r.length))return;this.currentStencilSource=u.source,this.nextStencilID+r.length>256&&this.clearStencil();let o=this.context;o.setColorMode(xl.disabled),o.setDepthMode(rl.disabled);let s={};for(let E of r)s[E.key]=this.nextStencilID++;this._renderTileMasks(s,r,m,!0),this._renderTileMasks(s,r,m,!1),this._tileClippingMaskIDs=s}_renderTileMasks(u,r,m,o){var s;let E=this.context,L=E.gl,N=this.style.projection,F=this.transform,P=this.useProgram("clippingMask");for(let K of r){let R=u[K.key],U=(s=this.style.map.terrain)===null||s===void 0?void 0:s.getTerrainData(K),z=N.getMeshFromTileID(this.context,K.canonical,o,!0,"stencil"),Q=F.getProjectionData({overscaledTileID:K,applyGlobeMatrix:!m,applyTerrainMatrix:!0});P.draw(E,L.TRIANGLES,rl.disabled,new wl({func:L.ALWAYS,mask:0},R,255,L.KEEP,L.KEEP,L.REPLACE),xl.disabled,m?yl.disabled:yl.backCCW,null,U,Q,"$clipping",z.vertexBuffer,z.indexBuffer,z.segments)}}_renderTilesDepthBuffer(){var u;let r=this.context,m=r.gl,o=this.style.projection,s=this.transform,E=this.useProgram("depth"),L=this.getDepthModeFor3D(),N=F5(s,{tileSize:s.tileSize});for(let F of N){let P=(u=this.style.map.terrain)===null||u===void 0?void 0:u.getTerrainData(F),K=o.getMeshFromTileID(this.context,F.canonical,!0,!0,"raster"),R=s.getProjectionData({overscaledTileID:F,applyGlobeMatrix:!0,applyTerrainMatrix:!0});E.draw(r,m.TRIANGLES,L,wl.disabled,xl.disabled,yl.backCCW,null,P,R,"$clipping",K.vertexBuffer,K.indexBuffer,K.segments)}}stencilModeFor3D(){this.currentStencilSource=void 0,this.nextStencilID+1>256&&this.clearStencil();let u=this.nextStencilID++,r=this.context.gl;return new wl({func:r.NOTEQUAL,mask:255},u,255,r.KEEP,r.KEEP,r.REPLACE)}stencilModeForClipping(u){let r=this.context.gl;return new wl({func:r.EQUAL,mask:255},this._tileClippingMaskIDs[u.key],0,r.KEEP,r.KEEP,r.REPLACE)}getStencilConfigForOverlapAndUpdateStencilID(u){let r=this.context.gl,m=u.sort((E,L)=>L.overscaledZ-E.overscaledZ),o=m[m.length-1].overscaledZ,s=m[0].overscaledZ-o+1;if(s>1){this.currentStencilSource=void 0,this.nextStencilID+s>256&&this.clearStencil();let E={};for(let L=0;LL.overscaledZ-E.overscaledZ),o=m[m.length-1].overscaledZ,s=m[0].overscaledZ-o+1;if(this.clearStencil(),s>1){let E={},L={};for(let N=0;N<s;N++)E[N+o]=new wl({func:r.GREATER,mask:255},s+1+N,255,r.KEEP,r.KEEP,r.REPLACE),L[N+o]=new wl({func:r.GREATER,mask:255},1+N,255,r.KEEP,r.KEEP,r.REPLACE);return this.nextStencilID=2*s+1,[E,L,m]}return this.nextStencilID=3,[{[o]:new wl({func:r.GREATER,mask:255},2,255,r.KEEP,r.KEEP,r.REPLACE)},{[o]:new wl({func:r.GREATER,mask:255},1,255,r.KEEP,r.KEEP,r.REPLACE)},m]}colorModeForRenderPass(){let u=this.context.gl;if(this._showOverdrawInspector)return new xl([u.CONSTANT_COLOR,u.ONE],new g.bo(0.125,0.125,0.125,0),[!0,!0,!0,!0]);return this.renderPass==="opaque"?xl.unblended:xl.alphaBlended}getDepthModeForSublayer(u,r,m){if(!this.opaquePassEnabledForLayer())return rl.disabled;let o=1-((1+this.currentLayer)*this.numSublayers+u)*this.depthEpsilon;return new rl(m||this.context.gl.LEQUAL,r,[o,o])}getDepthModeFor3D(){return new rl(this.context.gl.LEQUAL,rl.ReadWrite,this.depthRangeFor3D)}opaquePassEnabledForLayer(){return this.currentLayer0};for(let U in L){let z=L[U];z.used&&z.prepare(this.context),N[U]=z.getVisibleCoordinates(!1),F[U]=N[U].slice().reverse(),P[U]=z.getVisibleCoordinates(!0).reverse()}this.opaquePassCutoff=1/0;for(let U=0;Uthis.useProgram(U)}),this.context.viewport.set([0,0,this.width,this.height]),this.context.bindFramebuffer.set(null),this.context.clear({color:r.showOverdrawInspector?g.bo.black:g.bo.transparent,depth:1}),this.clearStencil(),this.style.sky&&this.drawFunctions.sky(this,this.style.sky),this._showOverdrawInspector=r.showOverdrawInspector,this.depthRangeFor3D=[0,1-(u._order.length+2)*this.numSublayers*this.depthEpsilon],!this.renderToTexture)for(this.renderPass="opaque",this.currentLayer=E.length-1;this.currentLayer>=0;this.currentLayer--){let U=this.style._layers[E[this.currentLayer]],z=L[U.source],Q=N[U.source];this._renderTileClippingMasks(U,Q,!1),this.renderLayer(this,z,U,Q,K)}this.renderPass="translucent";let R=!1;for(this.currentLayer=0;this.currentLayere.source&&!e.isHidden(Q)?[z.tileManagers[e.source]]:[]),X=i.filter((e)=>e.getSource().type==="vector"),c1=i.filter((e)=>e.getSource().type!=="vector"),$=(e)=>{(!t||t.getSource().maxzoom<e.getSource().maxzoom)&&(t=e)};for(let e of X)$(e);if(!t)for(let e of c1)$(e);return t}(this.style,this.transform.zoom);U&&this.drawFunctions.debug(this,U,U.getVisibleCoordinates())}this.options.showPadding&&this.drawFunctions.debugPadding(this),this.context.setDefault()}maybeDrawDepth(u){var r,m;if(!((m=(r=this.style)===null||r===void 0?void 0:r.map)===null||m===void 0?void 0:m.terrain))return;let o=this.terrainFacilitator.matrix,s=this.transform.modelViewProjectionMatrix,E=this.terrainFacilitator.depthDirty;E||(E=u?!g.cj(o,s):!g.ck(o,s)),E||(E=this.style.map.terrain.tileManager.anyTilesAfterTime(this.terrainFacilitator.renderTime)),E&&(g.cl(o,s),this.terrainFacilitator.renderTime=Date.now(),this.terrainFacilitator.depthDirty=!1,this.terrainFacilitator.coordsDirty=!0,this.drawFunctions.terrainDepth(this,this.style.map.terrain))}maybeDrawCoords(){var u,r;((r=(u=this.style)===null||u===void 0?void 0:u.map)===null||r===void 0?void 0:r.terrain)&&this.terrainFacilitator.coordsDirty&&(this.terrainFacilitator.coordsDirty=!1,this.drawFunctions.terrainCoords(this,this.style.map.terrain))}renderLayer(u,r,m,o,s){if(m.isHidden(this.transform.zoom))return;if(m.type!=="background"&&m.type!=="custom"&&!(o||[]).length)return;this.id=m.id;let E=this.drawFunctions;g.aQ(m)?E.symbol(u,r,m,o,this.style.placement.variableOffsets,s):g.cm(m)?E.circle(u,r,m,o,s):g.cn(m)?E.heatmap(u,r,m,o,s):g.co(m)?E.line(u,r,m,o,s):g.cp(m)?E.fill(u,r,m,o,s):g.cq(m)?E.fillExtrusion(u,r,m,o,s):g.cr(m)?E.hillshade(u,r,m,o,s):g.cs(m)?E.colorRelief(u,r,m,o,s):g.bU(m)?E.raster(u,r,m,o,s):g.ct(m)?E.background(u,r,m,o,s):g.cu(m)&&E.custom(u,r,m,s)}saveTileTexture(u){let r=this._tileTextures[u.size[0]];r?r.length0?r.pop():null}isPatternMissing(u){if(!u)return!1;if(!u.from||!u.to)return!0;let r=this.imageManager.getPattern(u.from.toString()),m=this.imageManager.getPattern(u.to.toString());return!r||!m}useProgram(u,r,m=!1,o=[]){var s;this.cache||(this.cache={});let E=!!this.style.map.terrain,L=this.style.projection,N=m?Yl.projectionMercator:L.shaderPreludeCode,F=m?j0:L.shaderDefine,P=u+(r?r.cacheKey:"")+`/${m?w2:L.shaderVariantName}`+(this._showOverdrawInspector?"/overdraw":"")+(E?"/terrain":"")+(o?`/${o.join("/")}`:"");return(s=this.cache)[P]||(s[P]=new xp(this.context,Yl[u],r,od[u],this._showOverdrawInspector,E,N,F,o)),this.cache[P]}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(){let u=this.context.gl;this.context.cullFace.set(!1),this.context.viewport.set([0,0,this.width,this.height]),this.context.blendEquation.set(u.FUNC_ADD)}initDebugOverlayCanvas(){this.debugOverlayCanvas==null&&(this.debugOverlayCanvas=document.createElement("canvas"),this.debugOverlayCanvas.width=512,this.debugOverlayCanvas.height=512,this.debugOverlayTexture=new g.T(this.context,this.debugOverlayCanvas,this.context.gl.RGBA))}destroy(){var u,r;if(this._tileTextures){for(let m in this._tileTextures){let o=this._tileTextures[m];if(o)for(let s of o)s.destroy()}this._tileTextures={}}if(this.tileExtentBuffer&&this.tileExtentBuffer.destroy(),this.debugBuffer&&this.debugBuffer.destroy(),this.rasterBoundsBuffer&&this.rasterBoundsBuffer.destroy(),this.rasterBoundsBufferPosOnly&&this.rasterBoundsBufferPosOnly.destroy(),this.viewportBuffer&&this.viewportBuffer.destroy(),this.tileBorderIndexBuffer&&this.tileBorderIndexBuffer.destroy(),this.quadTriangleIndexBuffer&&this.quadTriangleIndexBuffer.destroy(),this.tileExtentMesh&&((u=this.tileExtentMesh.vertexBuffer)===null||u===void 0||u.destroy()),this.tileExtentMesh&&((r=this.tileExtentMesh.indexBuffer)===null||r===void 0||r.destroy()),this.debugOverlayTexture&&this.debugOverlayTexture.destroy(),this.cache){for(let m in this.cache){let o=this.cache[m];(o==null?void 0:o.program)&&this.context.gl.deleteProgram(o.program)}this.cache={}}this.context&&this.context.setDefault()}overLimit(){let{drawingBufferWidth:u,drawingBufferHeight:r}=this.context.gl;return this.width!==u||this.height!==r}}function P7(u,r){let m,o=!1,s=null,E=()=>{s=null,o&&(u(...m),s=setTimeout(E,r),o=!1)};return(...L)=>(o=!0,m=L,s||E(),s)}fc.MAX_TEXTURE_POOL_SIZE_PER_BUCKET=50;class G3{constructor(u){this._getCurrentHash=()=>{let r=window.location.hash.replace("#","");if(this._hashName){let m,o=r.split("&").map((s)=>s.split("="));for(let s of o)s[0]===this._hashName&&(m=s);return(m&&m[1]||"").split("/")}return r.split("/")},this._onHashChange=()=>{let r=this._getCurrentHash();if(!this._isValidHash(r))return!1;let m=this._map.dragRotate.isEnabled()&&this._map.touchZoomRotate.isEnabled()?+(r[3]||0):this._map.getBearing();return this._map.jumpTo({center:[+r[2],+r[1]],zoom:+r[0],bearing:m,pitch:+(r[4]||0)}),!0},this._updateHashUnthrottled=()=>{let r=window.location.href.replace(/(#.*)?$/,this.getHashString());window.history.replaceState(window.history.state,null,r)},this._removeHash=()=>{let r=this._getCurrentHash();if(r.length===0)return;let m=r.join("/"),o=m;o.split("&").length>0&&(o=o.split("&")[0]),this._hashName&&(o=`${this._hashName}=${m}`);let s=window.location.hash.replace(o,"");s.startsWith("#&")?s=s.slice(0,1)+s.slice(2):s==="#"&&(s="");let E=window.location.href.replace(/(#.+)?$/,s);E=E.replace("&&","&"),window.history.replaceState(window.history.state,null,E)},this._updateHash=P7(this._updateHashUnthrottled,300),this._hashName=u&&encodeURIComponent(u)}addTo(u){return this._map=u,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(u){let r=this._map.getCenter(),m=Math.round(100*this._map.getZoom())/100,o=Math.ceil((m*Math.LN2+Math.log(2.8444444444444446))/Math.LN10),s=Math.pow(10,o),E=Math.round(r.lng*s)/s,L=Math.round(r.lat*s)/s,N=this._map.getBearing(),F=this._map.getPitch(),P="";if(P+=u?`/${E}/${L}/${m}`:`${m}/${L}/${E}`,(N||F)&&(P+="/"+Math.round(10*N)/10),F&&(P+=`/${Math.round(F)}`),this._hashName){let K=this._hashName,R=!1,U=window.location.hash.slice(1).split("&").map((z)=>{let Q=z.split("=")[0];return Q===K?(R=!0,`${Q}=${P}`):z}).filter((z)=>z);return R||U.push(`${K}=${P}`),`#${U.join("&")}`}return`#${P}`}_isValidHash(u){if(u.length=this._map.getMinZoom()&&r=-180&&m=this._map.getMinPitch()&&o0&&r-u[0].time>160;)u.shift()}_onMoveEnd(u){if(this._drainInertiaBuffer(),this._inertiaBuffer.length<2)return;let r={zoom:0,bearing:0,pitch:0,roll:0,pan:new g.P(0,0),pinchAround:void 0,around:void 0};for(let{settings:s}of this._inertiaBuffer)r.zoom+=s.zoomDelta||0,r.bearing+=s.bearingDelta||0,r.pitch+=s.pitchDelta||0,r.roll+=s.rollDelta||0,s.panDelta&&r.pan._add(s.panDelta),s.around&&(r.around=s.around),s.pinchAround&&(r.pinchAround=s.pinchAround);let m=this._inertiaBuffer[this._inertiaBuffer.length-1].time-this._inertiaBuffer[0].time,o={};if(r.pan.mag()){let s=uu(r.pan.mag(),m,g.e({},q2,u||{})),E=r.pan.mult(s.amount/r.pan.mag()),L=this._map.cameraHelper.handlePanInertia(E,this._map.transform);o.center=L.easingCenter,o.offset=L.easingOffset,dc(o,s)}if(r.zoom){let s=uu(r.zoom,m,J2);o.zoom=g.cw(this._map.transform.zoom+s.amount,this._map.getZoomSnap(),s.amount),dc(o,s)}if(r.bearing){let s=uu(r.bearing,m,_p);o.bearing=this._map.transform.bearing+g.al(s.amount,-179,179),dc(o,s)}if(r.pitch){let s=uu(r.pitch,m,X2);o.pitch=this._map.transform.pitch+s.amount,dc(o,s)}if(r.roll){let s=uu(r.roll,m,Sd);o.roll=this._map.transform.roll+g.al(s.amount,-179,179),dc(o,s)}if(o.zoom||o.bearing){let s=r.pinchAround===void 0?r.around:r.pinchAround;o.around=s?this._map.unproject(s):this._map.getCenter()}return this.clear(),g.e(o,{noMoveStart:!0})}}function dc(u,r){(!u.duration||u.durationr.unproject(N)),L=s.reduce((N,F,P,K)=>N.add(F.div(K.length)),new g.P(0,0));super(u,{points:s,point:L,lngLats:E,lngLat:r.unproject(L),originalEvent:m}),this._defaultPrevented=!1}}class B7 extends g.n{preventDefault(){this._defaultPrevented=!0}get defaultPrevented(){return this._defaultPrevented}constructor(u,r,m){super(u,{originalEvent:m}),this._defaultPrevented=!1}}class ip{constructor(u,r){this._map=u,this._clickTolerance=r.clickTolerance}reset(){delete this._mousedownPos}wheel(u){return this._firePreventable(new B7(u.type,this._map,u))}mousedown(u,r){return this._mousedownPos=r,this._firePreventable(new c2(u.type,this._map,u))}mouseup(u){this._map.fire(new c2(u.type,this._map,u))}click(u,r){this._mousedownPos&&this._mousedownPos.dist(r)>=this._clickTolerance||this._map.fire(new c2(u.type,this._map,u))}dblclick(u){return this._firePreventable(new c2(u.type,this._map,u))}mouseover(u){this._map.fire(new c2(u.type,this._map,u))}mouseout(u){this._map.fire(new c2(u.type,this._map,u))}touchstart(u){return this._firePreventable(new j3(u.type,this._map,u))}touchmove(u){this._map.fire(new j3(u.type,this._map,u))}touchend(u){this._map.fire(new j3(u.type,this._map,u))}touchcancel(u){this._map.fire(new j3(u.type,this._map,u))}_firePreventable(u){if(this._map.fire(u),u.defaultPrevented)return{}}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class K7{constructor(u){this._map=u}reset(){this._delayContextMenu=!1,this._ignoreContextMenu=!0,delete this._contextMenuEvent}mousemove(u){this._map.fire(new c2(u.type,this._map,u))}mousedown(){this._delayContextMenu=!0,this._ignoreContextMenu=!1}mouseup(){this._delayContextMenu=!1,this._contextMenuEvent&&(this._map.fire(new c2("contextmenu",this._map,this._contextMenuEvent)),delete this._contextMenuEvent)}contextmenu(u){this._delayContextMenu?this._contextMenuEvent=u:this._ignoreContextMenu||this._map.fire(new c2(u.type,this._map,u)),this._map.listens("contextmenu")&&u.preventDefault()}isEnabled(){return!0}isActive(){return!1}enable(){}disable(){}}class cu{constructor(u){this._map=u}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(u){return this.transform.screenPointToLocation(g.P.convert(u),this._map.terrain)}}class T2{constructor(u,r){this._map=u,this._tr=new cu(u),this._el=u.getCanvasContainer(),this._container=u.getContainer(),this._clickTolerance=r.clickTolerance||1,r.boxZoom&&typeof r.boxZoom=="object"&&(this._boxZoomEnd=r.boxZoom.boxZoomEnd)}isEnabled(){return!!this._enabled}isActive(){return!!this._active}enable(){this.isEnabled()||(this._enabled=!0)}disable(){this.isEnabled()&&(this._enabled=!1)}mousedown(u,r){this.isEnabled()&&u.shiftKey&&u.button===0&&(A1.disableDrag(),this._startPos=this._lastPos=r,this._active=!0)}mousemoveWindow(u,r){if(!this._active)return;let m=r;if(this._lastPos.equals(m)||!this._box&&m.dist(this._startPos)s.fitScreenCoordinates(m,o,this._tr.bearing,{linear:!0})};this._fireEvent("boxzoomcancel",u)}keydown(u){this._active&&u.keyCode===27&&(this.reset(),this._fireEvent("boxzoomcancel",u))}reset(){this._active=!1,this._container.classList.remove("maplibregl-crosshair"),this._box&&(this._box.remove(),this._box=null),A1.enableDrag(),delete this._startPos,delete this._lastPos}_fireEvent(u,r){return this._map.fire(new g.n(u,{originalEvent:r}))}}function z1(u,r){if(u.length!==r.length)throw Error(`The number of touches and points are not equal - touches ${u.length}, points ${r.length}`);let m={};for(let o=0;othis.numTouches)&&(this.aborted=!0),this.aborted||(this.startTime===void 0&&(this.startTime=u.timeStamp),m.length===this.numTouches&&(this.centroid=function(o){let s=new g.P(0,0);for(let E of o)s._add(E);return s.div(o.length)}(r),this.touches=z1(m,r)))}touchmove(u,r,m){if(this.aborted||!this.centroid)return;let o=z1(m,r);for(let s in this.touches){let E=o[s];(!E||E.dist(this.touches[s])>30)&&(this.aborted=!0)}}touchend(u,r,m){if((!this.centroid||u.timeStamp-this.startTime>500)&&(this.aborted=!0),m.length===0){let o=!this.aborted&&this.centroid;if(this.reset(),o)return o}}}class J3{constructor(u){this.singleTap=new U7(u),this.numTaps=u.numTaps,this.reset()}reset(){this.lastTime=1/0,delete this.lastTap,this.count=0,this.singleTap.reset()}touchstart(u,r,m){this.singleTap.touchstart(u,r,m)}touchmove(u,r,m){this.singleTap.touchmove(u,r,m)}touchend(u,r,m){let o=this.singleTap.touchend(u,r,m);if(o){let s=u.timeStamp-this.lastTime<500,E=!this.lastTap||this.lastTap.dist(o)this.reset(),0),{cameraAnimation:(L)=>L.easeTo({duration:300,zoom:g.cw(E.zoom+1,L.getZoomSnap()),around:E.unproject(o)},{originalEvent:u})}):s?(this._active=!0,u.preventDefault(),setTimeout(()=>this.reset(),0),{cameraAnimation:(L)=>L.easeTo({duration:300,zoom:g.cw(E.zoom-1,L.getZoomSnap()),around:E.unproject(s)},{originalEvent:u})}):void 0}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class ru{constructor(u){this._enabled=!!u.enable,this._moveStateManager=u.moveStateManager,this._clickTolerance=u.clickTolerance||1,this._moveFunction=u.move,this._activateOnStart=!!u.activateOnStart,u.assignEvents(this),this.reset()}reset(u){this._active=!1,this._moved=!1,delete this._lastPoint,this._moveStateManager.endMove(u)}_move(...u){let r=this._moveFunction(...u);if(r.bearingDelta||r.pitchDelta||r.rollDelta||r.around||r.panDelta)return this._active=!0,r}dragStart(u,r){this.isEnabled()&&!this._lastPoint&&this._moveStateManager.isValidStartEvent(u)&&(this._moveStateManager.startMove(u),this._lastPoint=Array.isArray(r)?r[0]:r,this._activateOnStart&&this._lastPoint&&(this._active=!0))}dragMove(u,r){if(!this.isEnabled())return;let m=this._lastPoint;if(!m)return;if(u.preventDefault(),!this._moveStateManager.isValidMoveEvent(u))return void this.reset(u);let o=Array.isArray(r)?r[0]:r;return!this._moved&&o.dist(m)!0}),r=new R7){this.mouseMoveStateManager=u,this.oneFingerTouchMoveStateManager=r}_executeRelevantHandler(u,r,m){return u instanceof MouseEvent?r(u):typeof TouchEvent{this.mouseMoveStateManager.startMove(r)},(r)=>{this.oneFingerTouchMoveStateManager.startMove(r)})}endMove(u){this._executeRelevantHandler(u,(r)=>{this.mouseMoveStateManager.endMove(r)},(r)=>{this.oneFingerTouchMoveStateManager.endMove(r)})}isValidStartEvent(u){return this._executeRelevantHandler(u,(r)=>this.mouseMoveStateManager.isValidStartEvent(r),(r)=>this.oneFingerTouchMoveStateManager.isValidStartEvent(r))}isValidMoveEvent(u){return this._executeRelevantHandler(u,(r)=>this.mouseMoveStateManager.isValidMoveEvent(r),(r)=>this.oneFingerTouchMoveStateManager.isValidMoveEvent(r))}isValidEndEvent(u){return this._executeRelevantHandler(u,(r)=>this.mouseMoveStateManager.isValidEndEvent(r),(r)=>this.oneFingerTouchMoveStateManager.isValidEndEvent(r))}}let Lr=(u)=>{u.mousedown=u.dragStart,u.mousemoveWindow=u.dragMove,u.mouseup=u.dragEnd,u.contextmenu=(r)=>{r.preventDefault()}};class H7{constructor(u,r){this._clickTolerance=u.clickTolerance||1,this._map=r,this.reset()}reset(){this._active=!1,this._touches={},this._sum=new g.P(0,0)}_shouldBePrevented(u){return u0&&(this._active=!0);let o=z1(m,r),s=new g.P(0,0),E=new g.P(0,0),L=0;for(let F in o){let P=o[F],K=this._touches[F];K&&(s._add(P),E._add(P.sub(K)),L++,o[F]=P)}if(this._touches=o,this._shouldBePrevented(L)||!E.mag())return;let N=E.div(L);return this._sum._add(N),this._sum.mag()<this._clickTolerance?void 0:{around:s.div(L),panDelta:N}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class Cr{constructor(){this.reset()}reset(){this._active=!1,delete this._firstTwoTouches}touchstart(u,r,m){this._firstTwoTouches||m.length<2||(this._firstTwoTouches=[m[0].identifier,m[1].identifier],this._start([r[0],r[1]]))}touchmove(u,r,m){if(!this._firstTwoTouches)return;u.preventDefault();let[o,s]=this._firstTwoTouches,E=xr(m,r,o),L=xr(m,r,s);if(!E||!L)return;let N=this._aroundCenter?null:E.add(L).div(2);return this._move([E,L],N,u)}touchend(u,r,m){if(!this._firstTwoTouches)return;let[o,s]=this._firstTwoTouches,E=xr(m,r,o),L=xr(m,r,s);E&&L||(this._active&&A1.suppressClick(),this.reset())}touchcancel(){this.reset()}enable(u){this._enabled=!0,this._aroundCenter=!!u&&u.around==="center"}disable(){this._enabled=!1,this.reset()}isEnabled(){return!!this._enabled}isActive(){return!!this._active}}function xr(u,r,m){for(let o=0;o<u.length;o++)if(u[o].identifier===m)return r[o]}function I7(u,r){return Math.log(u/r)/Math.LN2}class Y7 extends Cr{constructor(){super(),this._zoomRate=1,this._zoomThreshold=0.1}setZoomRate(u){this._zoomRate=u!=null?u:1}setZoomThreshold(u){this._zoomThreshold=u!=null?u:0.1}reset(){super.reset(),delete this._distance,delete this._startDistance}_start(u){this._startDistance=this._distance=u[0].dist(u[1])}_move(u,r){let m=this._distance;if(this._distance=u[0].dist(u[1]),this._active||!(Math.abs(I7(this._distance,this._startDistance))<this._zoomThreshold))return this._active=!0,{zoomDelta:I7(this._distance,m)*this._zoomRate,pinchAround:r}}}function z7(u,r){return 180*u.angleWith(r)/Math.PI}class O7 extends Cr{reset(){super.reset(),delete this._minDiameter,delete this._startVector,delete this._vector}_start(u){this._startVector=this._vector=u[0].sub(u[1]),this._minDiameter=u[0].dist(u[1])}_move(u,r,m){let o=this._vector;if(this._vector=u[0].sub(u[1]),this._active||!this._isBelowThreshold(this._vector))return this._active=!0,{bearingDelta:z7(this._vector,o),pinchAround:r}}_isBelowThreshold(u){this._minDiameter=Math.min(this._minDiameter,u.mag());let r=25/(Math.PI*this._minDiameter)*360,m=z7(u,this._startVector);return Math.abs(m)Math.abs(u.x)}class pu extends Cr{constructor(u){super(),this._currentTouchCount=0,this._map=u}reset(){super.reset(),this._valid=void 0,delete this._firstMove,delete this._lastPoints}touchstart(u,r,m){super.touchstart(u,r,m),this._currentTouchCount=m.length}_start(u){this._lastPoints=u,G7(u[0].sub(u[1]))&&(this._valid=!1)}_move(u,r,m){if(this._map.cooperativeGestures.isEnabled()&&this._currentTouchCount=2,s=r.mag()>=2;if(!o&&!s)return;if(!o||!s)return this._firstMove===void 0&&(this._firstMove=m),m-this._firstMove0==r.y>0;return G7(u)&&G7(r)&&E}}let Nl={panStep:100,bearingStep:15,pitchStep:10};class Q7{constructor(u){this._tr=new cu(u);let r=Nl;this._panStep=r.panStep,this._bearingStep=r.bearingStep,this._pitchStep=r.pitchStep,this._rotationDisabled=!1}reset(){this._active=!1}keydown(u){if(u.altKey||u.ctrlKey||u.metaKey)return;let r=0,m=0,o=0,s=0,E=0;switch(u.keyCode){case 61:case 107:case 171:case 187:r=1;break;case 189:case 109:case 173:r=-1;break;case 37:u.shiftKey?m=-1:(u.preventDefault(),s=-1);break;case 39:u.shiftKey?m=1:(u.preventDefault(),s=1);break;case 38:u.shiftKey?o=1:(u.preventDefault(),E=-1);break;case 40:u.shiftKey?o=-1:(u.preventDefault(),E=1);break;default:return}return this._rotationDisabled&&(m=0,o=0),{cameraAnimation:(L)=>{let N=this._tr;L.easeTo({duration:300,easeId:"keyboardHandler",easing:Nr,zoom:r?g.cw(N.zoom+r*(u.shiftKey?2:1),L.getZoomSnap()):N.zoom,bearing:N.bearing+m*this._bearingStep,pitch:N.pitch+o*this._pitchStep,offset:[-s*this._panStep,-E*this._panStep],center:N.center},{originalEvent:u})}}}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 Nr(u){return u*(2-u)}let X3=4.000244140625,Fr=0.0022222222222222222;class gc{constructor(u,r){this._onTimeout=(m)=>{this._type="wheel",this._delta-=this._lastValue,this._active||this._start(m)},this._map=u,this._tr=new cu(u),this._triggerRenderFrame=r,this._delta=0,this._defaultZoomRate=0.01,this._wheelZoomRate=Fr}setZoomRate(u){this._defaultZoomRate=u}setWheelZoomRate(u){this._wheelZoomRate=u}isEnabled(){return!!this._enabled}isActive(){return!!this._active||this._finishTimeout!==void 0}isZooming(){return!!this._zooming}enable(u){this.isEnabled()||(this._enabled=!0,this._aroundCenter=!!u&&u.around==="center")}disable(){this.isEnabled()&&(this._enabled=!1)}_shouldBePrevented(u){return!!this._map.cooperativeGestures.isEnabled()&&!(u.ctrlKey||this._map.cooperativeGestures.isBypassed(u))}wheel(u){if(!this.isEnabled())return;if(this._shouldBePrevented(u))return void this._map.cooperativeGestures.notifyGestureBlocked("wheel_zoom",u);let r=u.deltaMode===WheelEvent.DOM_DELTA_LINE?40*u.deltaY:u.deltaY,m=q1(),o=m-(this._lastWheelEventTime||0);this._lastWheelEventTime=m,r!==0&&r%X3==0?this._type="wheel":r!==0&&Math.abs(r)400?(this._type=null,this._lastValue=r,this._timeout=setTimeout(this._onTimeout,40,u)):this._type||(this._type=Math.abs(o*r)X3?this._wheelZoomRate:this._defaultZoomRate,N=2/(1+Math.exp(-Math.abs(this._delta*L)));this._delta0){let R=g.cw(u.zoom,K);this._targetZoom=g.cw(P,K,P-R)}else this._targetZoom=P;this._type==="wheel"&&(this._startZoom=u.zoom,this._easing=this._smoothOutEasing(200)),this._delta=0}let r=typeof this._targetZoom!="number"?u.zoom:this._targetZoom,m=this._startZoom,o=this._easing,s,E=!1;if(this._type==="wheel"&&m&&o){let L=q1()-this._lastWheelEventTime,N=Math.min((L+5)/200,1),F=o(N);s=g.H.number(m,r,F),N{this._zooming=!1,this._triggerRenderFrame(),delete this._targetZoom,delete this._lastExpectedZoom,delete this._finishTimeout},200)),this._lastExpectedZoom=s,{noInertia:!0,needsRenderFrame:!E,zoomDelta:s-u.zoom,around:this._aroundPoint,originalEvent:this._lastWheelEvent}}_smoothOutEasing(u){let r=g.cy;if(this._prevEase){let m=this._prevEase,o=(q1()-m.start)/m.duration,s=m.easing(o+0.01)-m.easing(o),E=0.27/Math.sqrt(s*s+0.0001)*0.01,L=Math.sqrt(0.0729-E*E);r=g.cv(E,L,0.25,1)}return this._prevEase={start:q1(),duration:u,easing:r},r}reset(){this._active=!1,this._zooming=!1,delete this._targetZoom,delete this._lastExpectedZoom,this._finishTimeout&&(clearTimeout(this._finishTimeout),delete this._finishTimeout)}}class vc{constructor(u,r){this._clickZoom=u,this._tapZoom=r}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 qr{constructor(u){this._tr=new cu(u),this.reset()}reset(){this._active=!1}dblclick(u,r){return u.preventDefault(),{cameraAnimation:(m)=>{m.easeTo({duration:300,zoom:g.cw(this._tr.zoom+(u.shiftKey?-1:1),m.getZoomSnap()),around:this._tr.unproject(r)},{originalEvent:u})}}}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class j7{constructor(){this._tap=new J3({numTouches:1,numTaps:1}),this._zoomRate=1,this.reset()}setZoomRate(u){this._zoomRate=u!=null?u:1}reset(){this._active=!1,delete this._swipePoint,delete this._swipeTouch,delete this._tapTime,delete this._tapPoint,this._tap.reset()}touchstart(u,r,m){if(!this._swipePoint)if(this._tapTime){let o=r[0],s=u.timeStamp-this._tapTime<500,E=this._tapPoint.dist(o)0&&(this._swipePoint=o,this._swipeTouch=m[0].identifier):this.reset()}else this._tap.touchstart(u,r,m)}touchmove(u,r,m){if(this._tapTime){if(this._swipePoint){if(m[0].identifier!==this._swipeTouch)return;let o=r[0],s=o.y-this._swipePoint.y;return this._swipePoint=o,u.preventDefault(),this._active=!0,{zoomDelta:s/128*this._zoomRate}}}else this._tap.touchmove(u,r,m)}touchend(u,r,m){if(this._tapTime)this._swipePoint&&m.length===0&&this.reset();else{let o=this._tap.touchend(u,r,m);o&&(this._tapTime=u.timeStamp,this._tapPoint=o)}}touchcancel(){this.reset()}enable(){this._enabled=!0}disable(){this._enabled=!1,this.reset()}isEnabled(){return this._enabled}isActive(){return this._active}}class E2{constructor(u,r,m){this._el=u,this._mousePan=r,this._touchPan=m}enable(u){this._inertiaOptions=u||{},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 J5{constructor(u,r,m,o){this._pitchWithRotate=u.pitchWithRotate,this._rollEnabled=u.rollEnabled,this._mouseRotate=r,this._mousePitch=m,this._mouseRoll=o}enable(){this._mouseRotate.enable(),this._pitchWithRotate&&this._mousePitch.enable(),this._rollEnabled&&this._mouseRoll.enable()}disable(){this._mouseRotate.disable(),this._mousePitch.disable(),this._mouseRoll.disable()}isEnabled(){return this._mouseRotate.isEnabled()&&(!this._pitchWithRotate||this._mousePitch.isEnabled())&&(!this._rollEnabled||this._mouseRoll.isEnabled())}isActive(){return this._mouseRotate.isActive()||this._mousePitch.isActive()||this._mouseRoll.isActive()}}class T1{constructor(u,r,m,o){this._el=u,this._touchZoom=r,this._touchRotate=m,this._tapDragZoom=o,this._rotationDisabled=!1,this._enabled=!0}enable(u){this._touchZoom.enable(u),this._rotationDisabled||this._touchRotate.enable(u),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()}setZoomRate(u){this._touchZoom.setZoomRate(u),this._tapDragZoom.setZoomRate(u)}setZoomThreshold(u){this._touchZoom.setZoomThreshold(u)}disableRotation(){this._rotationDisabled=!0,this._touchRotate.disable()}enableRotation(){this._rotationDisabled=!1,this._touchZoom.isEnabled()&&this._touchRotate.enable()}}class $1{constructor(u,r){this._bypassKey=navigator.userAgent.includes("Mac")?"metaKey":"ctrlKey",this._map=u,this._options=r,this._enabled=!1}isActive(){return!1}reset(){}_setupUI(){if(this._container)return;let u=this._map.getCanvasContainer();u.classList.add("maplibregl-cooperative-gestures"),this._container=A1.create("div","maplibregl-cooperative-gesture-screen",u);let r=this._map._getUIString("CooperativeGesturesHandler.WindowsHelpText");this._bypassKey==="metaKey"&&(r=this._map._getUIString("CooperativeGesturesHandler.MacHelpText"));let m=this._map._getUIString("CooperativeGesturesHandler.MobileHelpText"),o=document.createElement("div");o.className="maplibregl-desktop-message",o.textContent=r,this._container.appendChild(o);let s=document.createElement("div");s.className="maplibregl-mobile-message",s.textContent=m,this._container.appendChild(s),this._container.setAttribute("aria-hidden","true")}_destroyUI(){this._container&&(this._container.remove(),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(u){return u[this._bypassKey]}notifyGestureBlocked(u,r){this._enabled&&(this._map.fire(new g.n("cooperativegestureprevented",{gestureType:u,originalEvent:r})),this._container.classList.add("maplibregl-show"),setTimeout(()=>{this._container.classList.remove("maplibregl-show")},100))}}let qu=(u)=>u.zoom||u.drag||u.roll||u.pitch||u.rotate;class Pr extends g.n{}function X5(u){var r;return((r=u.panDelta)===null||r===void 0?void 0:r.mag())||u.zoomDelta||u.bearingDelta||u.pitchDelta||u.rollDelta}class C0{get _ownerDocument(){var u;return((u=this._el)===null||u===void 0?void 0:u.ownerDocument)||document}get _ownerWindow(){var u,r;return((r=(u=this._el)===null||u===void 0?void 0:u.ownerDocument)===null||r===void 0?void 0:r.defaultView)||window}constructor(u,r){this.handleWindowEvent=(o)=>{this.handleEvent(o,`${o.type}Window`)},this.handleEvent=(o,s)=>{if(o.type==="blur")return void this.stop(!0);this._updatingCamera=!0;let E=o.type==="renderFrame"?void 0:o,L={needsRenderFrame:!1},N={},F={};for(let{handlerName:R,handler:U,allowed:z}of this._handlers){if(!U.isEnabled())continue;let Q;if(this._blockedByActive(F,z,R))U.reset();else if(U[s||o.type]){if(g.cz(o,s||o.type)){let t=A1.mousePos(this._map.getCanvas(),o);Q=U[s||o.type](o,t)}else if(g.cA(o,s||o.type)){let t=this._getMapTouches(o.touches),i=A1.touchPos(this._map.getCanvas(),t);Q=U[s||o.type](o,i,t)}else g.cB(s||o.type)||(Q=U[s||o.type](o));this.mergeHandlerResult(L,N,Q,R,E),(Q==null?void 0:Q.needsRenderFrame)&&this._triggerRenderFrame()}(Q||U.isActive())&&(F[R]=U)}let P={};for(let R in this._previousActiveHandlers)F[R]||(P[R]=E);this._previousActiveHandlers=F,(Object.keys(P).length||X5(L))&&(this._changes.push([L,N,P]),this._triggerRenderFrame()),(Object.keys(F).length||X5(L))&&this._map._stop(!0),this._updatingCamera=!1;let{cameraAnimation:K}=L;K&&(this._inertia.clear(),this._fireEvents({},{},!0),this._changes=[],K(this._map))},this._map=u,this._el=this._map.getCanvasContainer(),this._handlers=[],this._handlersById={},this._changes=[],this._inertia=new M7(u),this._bearingSnap=r.bearingSnap,this._previousActiveHandlers={},this._eventsInProgress={},this._addDefaultHandlers(r);let m=this._el;this._listeners=[[m,"touchstart",{passive:!0}],[m,"touchmove",{passive:!1}],[m,"touchend",void 0],[m,"touchcancel",void 0],[m,"mousedown",void 0],[m,"mousemove",void 0],[m,"mouseup",void 0],[this._ownerDocument,"mousemove",{capture:!0}],[this._ownerDocument,"mouseup",void 0],[m,"mouseover",void 0],[m,"mouseout",void 0],[m,"dblclick",void 0],[m,"click",void 0],[m,"keydown",{capture:!1}],[m,"keyup",void 0],[m,"wheel",{passive:!1}],[m,"contextmenu",void 0],[this._ownerWindow,"blur",void 0]];for(let[o,s,E]of this._listeners)o.addEventListener(s,o===this._ownerDocument?this.handleWindowEvent:this.handleEvent,E)}destroy(){for(let[u,r,m]of this._listeners)u.removeEventListener(r,u===this._ownerDocument?this.handleWindowEvent:this.handleEvent,m)}_addDefaultHandlers(u){let r=this._map,m=r.getCanvasContainer();this._add("mapEvent",new ip(r,u));let o=r.boxZoom=new T2(r,u);this._add("boxZoom",o),u.interactive&&u.boxZoom&&o.enable();let s=r.cooperativeGestures=new $1(r,u.cooperativeGestures);this._add("cooperativeGestures",s),u.cooperativeGestures&&s.enable();let E=new D7(r),L=new qr(r);r.doubleClickZoom=new vc(L,E),this._add("tapZoom",E),this._add("clickZoom",L),u.interactive&&u.doubleClickZoom&&r.doubleClickZoom.enable();let N=new j7;this._add("tapDragZoom",N);let F=r.touchPitch=new pu(r);this._add("touchPitch",F),u.interactive&&u.touchPitch&&r.touchPitch.enable(u.touchPitch);let P=()=>r.project(r.getCenter()),K=function({enable:$,clickTolerance:e,aroundCenter:u1=!0,minPixelCenterThreshold:T=100,rotateDegreesPerPixelMoved:p1=0.8},S1){let h1=new f5({checkCorrectEvent:(W1)=>W1.button===0&&W1.ctrlKey||W1.button===2&&!W1.ctrlKey});return new ru({clickTolerance:e,move:(W1,L1)=>{let Q1=S1();if(u1&&Math.abs(Q1.y-W1.y)>T)return{bearingDelta:g.cx(new g.P(W1.x,L1.y),L1,Q1)};let j1=(L1.x-W1.x)*p1;return u1&&L1.yp1.button===0&&p1.ctrlKey||p1.button===2});return new ru({clickTolerance:e,move:(p1,S1)=>({pitchDelta:(S1.y-p1.y)*u1}),moveStateManager:T,enable:$,assignEvents:Lr})}(u),U=function({enable:$,clickTolerance:e,rollDegreesPerPixelMoved:u1=0.3},T){let p1=new f5({checkCorrectEvent:(S1)=>S1.button===2&&S1.ctrlKey});return new ru({clickTolerance:e,move:(S1,h1)=>{let W1=T(),L1=(h1.x-S1.x)*u1;return h1.yT.button===0&&!T.ctrlKey});return new ru({clickTolerance:e,move:(T,p1)=>({around:p1,panDelta:p1.sub(T)}),activateOnStart:!0,moveStateManager:u1,enable:$,assignEvents:Lr})}(u),Q=new H7(u,r);r.dragPan=new E2(m,z,Q),this._add("mousePan",z),this._add("touchPan",Q,["touchZoom","touchRotate"]),u.interactive&&u.dragPan&&r.dragPan.enable(u.dragPan);let t=new O7,i=new Y7;r.touchZoomRotate=new T1(m,i,t,N),this._add("touchRotate",t,["touchPan","touchZoom"]),this._add("touchZoom",i,["touchPan","touchRotate"]),u.interactive&&u.touchZoomRotate&&r.touchZoomRotate.enable(u.touchZoomRotate),this._add("blockableMapEvent",new K7(r));let X=r.scrollZoom=new gc(r,()=>this._triggerRenderFrame());this._add("scrollZoom",X,["mousePan"]),u.interactive&&u.scrollZoom&&r.scrollZoom.enable(u.scrollZoom);let c1=r.keyboard=new Q7(r);this._add("keyboard",c1),u.interactive&&u.keyboard&&r.keyboard.enable()}_add(u,r,m){this._handlers.push({handlerName:u,handler:r,allowed:m}),this._handlersById[u]=r}stop(u){if(!this._updatingCamera){for(let{handler:r}of this._handlers)r.reset();this._inertia.clear(),this._fireEvents({},{},u),this._changes=[]}}isActive(){for(let{handler:u}of this._handlers)if(u.isActive())return!0;return!1}isZooming(){return!!this._eventsInProgress.zoom||this._map.scrollZoom.isZooming()}isRotating(){return!!this._eventsInProgress.rotate}isMoving(){return Boolean(qu(this._eventsInProgress))||this.isZooming()}_blockedByActive(u,r,m){for(let o in u)if(o!==m&&!(r==null?void 0:r.includes(o)))return!0;return!1}_getMapTouches(u){let r=[];for(let m of u)this._el.contains(m.target)&&r.push(m);return r}mergeHandlerResult(u,r,m,o,s){if(!m)return;g.e(u,m);let E={handlerName:o,originalEvent:m.originalEvent||s};m.zoomDelta!==void 0&&(r.zoom=E),m.panDelta!==void 0&&(r.drag=E),m.rollDelta!==void 0&&(r.roll=E),m.pitchDelta!==void 0&&(r.pitch=E),m.bearingDelta!==void 0&&(r.rotate=E)}_applyChanges(){let u={},r={},m={};for(let[o,s,E]of this._changes)o.panDelta&&(u.panDelta=(u.panDelta||new g.P(0,0))._add(o.panDelta)),o.zoomDelta&&(u.zoomDelta=(u.zoomDelta||0)+o.zoomDelta),o.bearingDelta&&(u.bearingDelta=(u.bearingDelta||0)+o.bearingDelta),o.pitchDelta&&(u.pitchDelta=(u.pitchDelta||0)+o.pitchDelta),o.rollDelta&&(u.rollDelta=(u.rollDelta||0)+o.rollDelta),o.around!==void 0&&(u.around=o.around),o.pinchAround!==void 0&&(u.pinchAround=o.pinchAround),o.noInertia&&(u.noInertia=o.noInertia),g.e(r,s),g.e(m,E);this._updateMapTransform(u,r,m),this._changes=[]}_updateMapTransform(u,r,m){let o=this._map,s=o._getTransformForUpdate(),E=o.terrain;if(!(X5(u)||E&&this._terrainMovement))return void this._fireEvents(r,m,!0);o._stop(!0);let{panDelta:L,zoomDelta:N,bearingDelta:F,pitchDelta:P,rollDelta:K,around:R,pinchAround:U}=u;U!==void 0&&(R=U),R||(R=o.transform.centerPoint),E&&!s.isPointOnMapSurface(R)&&(R=s.centerPoint);let z={panDelta:L,zoomDelta:N,rollDelta:K,pitchDelta:P,bearingDelta:F,around:R};this._map.cameraHelper.useGlobeControls&&!s.isPointOnMapSurface(R)&&(R=s.centerPoint);let Q=R.distSqr(s.centerPoint)U!==0&&-this._bearingSnap<U&&U{delete this._frameId,this.handleEvent(new Pr("renderFrame",{timeStamp:u})),this._applyChanges()})}_triggerRenderFrame(){this._frameId===void 0&&(this._frameId=this._requestFrame())}}class J7 extends g.E{constructor(u,r,m){super(),this._renderFrameCallback=()=>{let o=Math.min((q1()-this._easeStart)/this._easeOptions.duration,1);this._onEaseFrame(this._easeOptions.easing(o)),o{delete this._requestedCameraState})}migrateProjection(u,r){u.apply(this.transform,!0),this.transform=u,this.cameraHelper=r}getCenter(){return new g.W(this.transform.center.lng,this.transform.center.lat)}setCenter(u,r){return this.jumpTo({center:u},r)}getCenterElevation(){return this.transform.elevation}setCenterElevation(u,r){return this.jumpTo({elevation:u},r),this}getCenterClampedToGround(){return this._centerClampedToGround}setCenterClampedToGround(u){this._centerClampedToGround=u}panBy(u,r,m){return u=g.P.convert(u).mult(-1),this.panTo(this.transform.center,g.e({offset:u},r),m)}panTo(u,r,m){return this.easeTo(g.e({center:u},r),m)}getZoom(){return this.transform.zoom}setZoom(u,r){return this.jumpTo({zoom:u},r),this}zoomTo(u,r,m){return this.easeTo(g.e({zoom:u},r),m)}zoomIn(u,r){return this.zoomTo(g.cw(this.getZoom()+1,this._zoomSnap),u,r),this}zoomOut(u,r){return this.zoomTo(g.cw(this.getZoom()-1,this._zoomSnap),u,r),this}getVerticalFieldOfView(){return this.transform.fov}setVerticalFieldOfView(u,r){return u!=this.transform.fov&&(this.transform.setFov(u),this.fire(new g.n("movestart",r)).fire(new g.n("move",r)).fire(new g.n("moveend",r))),this}getBearing(){return this.transform.bearing}setZoomSnap(u){return this._zoomSnap=u,this}getZoomSnap(){return this._zoomSnap}setBearing(u,r){return this.jumpTo({bearing:u},r),this}getPadding(){return this.transform.padding}setPadding(u,r){return this.jumpTo({padding:u},r),this}rotateTo(u,r,m){return this.easeTo(g.e({bearing:u},r),m)}resetNorth(u,r){return this.rotateTo(0,g.e({duration:1000},u),r),this}resetNorthPitch(u,r){return this.easeTo(g.e({bearing:0,pitch:0,roll:0,duration:1000},u),r),this}snapToNorth(u,r){return Math.abs(this.getBearing())<this._bearingSnap?this.resetNorth(u,r):this}getPitch(){return this.transform.pitch}setPitch(u,r){return this.jumpTo({pitch:u},r),this}getRoll(){return this.transform.roll}setRoll(u,r){return this.jumpTo({roll:u},r),this}cameraForBounds(u,r){u=gl.convert(u).adjustAntiMeridian();let m=(r==null?void 0:r.bearing)||0;return this._cameraForBoxAndBearing(u.getNorthWest(),u.getSouthEast(),m,r)}_cameraForBoxAndBearing(u,r,m,o){let s={top:0,bottom:0,right:0,left:0};if(typeof(o=g.e({padding:s,offset:[0,0],maxZoom:this.transform.maxZoom},o)).padding=="number"){let P=o.padding;o.padding={top:P,bottom:P,right:P,left:P}}let E=g.e(s,o.padding);o.padding=E;let L=this.transform,N=new gl(u,r),F=this.cameraHelper.cameraForBoxAndBearing(o,E,N,m,L);return F&&this._zoomSnap&&(F.zoom=g.cw(F.zoom,this._zoomSnap,-1)),F}fitBounds(u,r,m){return this._fitInternal(this.cameraForBounds(u,r),r,m)}fitScreenCoordinates(u,r,m,o,s){return this._fitInternal(this._cameraForBoxAndBearing(this.transform.screenPointToLocation(g.P.convert(u)),this.transform.screenPointToLocation(g.P.convert(r)),m,o),o,s)}_fitInternal(u,r,m){return u?(delete(r=g.e(u,r)).padding,r.linear?this.easeTo(r,m):this.flyTo(r,m)):this}jumpTo(u,r){this.stop(),"zoom"in u&&this._zoomSnap&&(u.zoom=g.cw(u.zoom,this._zoomSnap));let m=this._getTransformForUpdate(),o=!1,s=!1,E=!1,L=m.zoom;this.terrain&&m.setElevation(this.terrain.getElevationForLngLatZoom(u.center?g.W.convert(u.center):m.center,u.zoom||m.tileZoom)),this.cameraHelper.handleJumpToCenterZoom(m,u);let N=m.zoom!==L;return"elevation"in u&&m.elevation!==+u.elevation&&m.setElevation(+u.elevation),"bearing"in u&&m.bearing!==+u.bearing&&(o=!0,m.setBearing(+u.bearing)),"pitch"in u&&m.pitch!==+u.pitch&&(s=!0,m.setPitch(+u.pitch)),"roll"in u&&m.roll!==+u.roll&&(E=!0,m.setRoll(+u.roll)),u.padding==null||m.isPaddingEqual(u.padding)||m.setPadding(u.padding),this._applyUpdatedTransform(m),this.fire(new g.n("movestart",r)).fire(new g.n("move",r)),N&&this.fire(new g.n("zoomstart",r)).fire(new g.n("zoom",r)).fire(new g.n("zoomend",r)),o&&this.fire(new g.n("rotatestart",r)).fire(new g.n("rotate",r)).fire(new g.n("rotateend",r)),s&&this.fire(new g.n("pitchstart",r)).fire(new g.n("pitch",r)).fire(new g.n("pitchend",r)),E&&this.fire(new g.n("rollstart",r)).fire(new g.n("roll",r)).fire(new g.n("rollend",r)),this.fire(new g.n("moveend",r))}calculateCameraOptionsFromTo(u,r,m,o=0){let s=g.a7.fromLngLat(u,r),E=g.a7.fromLngLat(m,o),L=E.x-s.x,N=E.y-s.y,F=E.z-s.z,P=Math.hypot(L,N,F);if(P===0)throw Error("Can't calculate camera options with same From and To");let K=Math.hypot(L,N),R=g.ar(this.transform.cameraToCenterDistance/P/this.transform.tileSize),U=180*Math.atan2(L,-N)/Math.PI,z=180*Math.acos(K/P)/Math.PI;return z=F{Q.easeFunc(t),this.terrain&&!u.freezeElevation&&this._updateElevation(t),this._applyUpdatedTransform(m),this._fireMoveEvents(r)},(t)=>{this.terrain&&u.freezeElevation&&this._finalizeElevation(),this._afterEase(r,t)},u),this}_prepareEase(u,r,m={}){this._moving=!0,r||m.moving||this.fire(new g.n("movestart",u)),this._zooming&&!m.zooming&&this.fire(new g.n("zoomstart",u)),this._rotating&&!m.rotating&&this.fire(new g.n("rotatestart",u)),this._pitching&&!m.pitching&&this.fire(new g.n("pitchstart",u)),this._rolling&&!m.rolling&&this.fire(new g.n("rollstart",u))}_prepareElevation(u){this._elevationCenter=u,this._elevationStart=this.transform.elevation,this._elevationTarget=this.terrain.getElevationForLngLatZoom(u,this.transform.tileZoom),this._elevationFreeze=!0}_updateElevation(u){this._elevationStart!==void 0&&this._elevationCenter!==void 0||this._prepareElevation(this.transform.center),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom));let r=this.terrain.getElevationForLngLatZoom(this._elevationCenter,this.transform.tileZoom);if(u=0&&u.pitch<=90)return{};let r=u.getCameraLngLat(),m=u.getCameraAltitude(),o=this.terrain?this.terrain.getElevationForLngLatZoom(r,u.zoom):0;if(mthis._elevateCameraIfInsideTerrain(o)),this.transformCameraUpdate&&r.push((o)=>this.transformCameraUpdate(o)),!r.length)return;let m=u.clone();for(let o of r){let s=m.clone(),{center:E,zoom:L,roll:N,pitch:F,bearing:P,elevation:K}=o(s);E&&s.setCenter(E),K!==void 0&&s.setElevation(K),L!==void 0&&s.setZoom(L),N!==void 0&&s.setRoll(N),F!==void 0&&s.setPitch(F),P!==void 0&&s.setBearing(P),m.apply(s,!1)}this.transform.apply(m,!1)}_fireMoveEvents(u){this.fire(new g.n("move",u)),this._zooming&&this.fire(new g.n("zoom",u)),this._rotating&&this.fire(new g.n("rotate",u)),this._pitching&&this.fire(new g.n("pitch",u)),this._rolling&&this.fire(new g.n("roll",u))}_afterEase(u,r){if(this._easeId&&r&&this._easeId===r)return;delete this._easeId;let m=this._zooming,o=this._rotating,s=this._pitching,E=this._rolling;this._moving=!1,this._zooming=!1,this._rotating=!1,this._pitching=!1,this._rolling=!1,this._padding=!1,m&&this.fire(new g.n("zoomend",u)),o&&this.fire(new g.n("rotateend",u)),s&&this.fire(new g.n("pitchend",u)),E&&this.fire(new g.n("rollend",u)),this.fire(new g.n("moveend",u))}flyTo(u,r){if(!u.essential&&N1.prefersReducedMotion){let L1=g.V(u,["center","zoom","bearing","pitch","roll","elevation","padding"]);return this.jumpTo(L1,r)}this.stop(),"zoom"in(u=g.e({offset:[0,0],speed:1.2,curve:1.42,easing:g.cy},u))&&this._zoomSnap&&(u.zoom=g.cw(u.zoom,this._zoomSnap));let m=this._getTransformForUpdate(),o=m.bearing,s=m.pitch,E=m.roll,L=m.padding,N="bearing"in u?this._normalizeBearing(u.bearing,o):o,F="pitch"in u?+u.pitch:s,P="roll"in u?this._normalizeBearing(u.roll,E):E,K="padding"in u?u.padding:m.padding,R=g.P.convert(u.offset),U=m.centerPoint.add(R),z=m.screenPointToLocation(U),Q=this.cameraHelper.handleFlyTo(m,{bearing:N,pitch:F,roll:P,padding:K,locationAtOffset:z,offsetAsPoint:R,center:u.center,minZoom:u.minZoom,zoom:u.zoom}),t=u.curve,i=Math.max(m.width,m.height),X=i/Q.scaleOfZoom,c1=Q.pixelPathLength;typeof Q.scaleOfMinZoom=="number"&&(t=Math.sqrt(i/Q.scaleOfMinZoom/c1*2));let $=t*t;function e(L1){let Q1=(X*X-i*i+(L1?-1:1)*$*$*c1*c1)/(2*(L1?X:i)*$*c1);return Math.log(Math.sqrt(Q1*Q1+1)-Q1)}function u1(L1){return(Math.exp(L1)-Math.exp(-L1))/2}function T(L1){return(Math.exp(L1)+Math.exp(-L1))/2}let p1=e(!1),S1=function(L1){return T(p1)/T(p1+t*L1)},h1=function(L1){return i*((T(p1)*(u1(Q1=p1+t*L1)/T(Q1))-u1(p1))/$)/c1;var Q1},W1=(e(!0)-p1)/t;if(Math.abs(c1)<0.000002||!isFinite(W1)){if(Math.abs(i-X)<0.000001)return this.easeTo(u,r);let L1=X0,S1=(Q1)=>Math.exp(L1*t*Q1)}return u.duration="duration"in u?+u.duration:1000*W1/("screenSpeed"in u?+u.screenSpeed/t:+u.speed),u.maxDuration&&u.duration>u.maxDuration&&(u.duration=0),this._zooming=!0,this._rotating=o!==N,this._pitching=F!==s,this._rolling=P!==E,this._padding=!m.isPaddingEqual(K),this._prepareEase(r,!1),this.terrain&&this._prepareElevation(Q.targetCenter),this._ease((L1)=>{let Q1=L1*W1,j1=1/S1(Q1),C1=h1(Q1);this._rotating&&m.setBearing(g.H.number(o,N,L1)),this._pitching&&m.setPitch(g.H.number(s,F,L1)),this._rolling&&m.setRoll(g.H.number(E,P,L1)),this._padding&&(m.interpolatePadding(L,K,L1),U=m.centerPoint.add(R)),Q.easeFunc(L1,j1,C1,U),this.terrain&&!u.freezeElevation&&this._updateElevation(L1),this._applyUpdatedTransform(m),this._fireMoveEvents(r)},()=>{this.terrain&&u.freezeElevation&&this._finalizeElevation(),this._afterEase(r)},u),this}isEasing(){return!!this._easeFrameId}stop(){return this._stop()}_stop(u,r){var m;if(this._easeFrameId&&(this._cancelRenderFrame(this._easeFrameId),delete this._easeFrameId,delete this._onEaseFrame),this._onEaseEnd){let o=this._onEaseEnd;delete this._onEaseEnd,o.call(this,r)}return u||(m=this.handlers)===null||m===void 0||m.stop(!1),this}_ease(u,r,m){m.animate===!1||m.duration===0?(u(1),r()):(this._easeStart=q1(),this._easeOptions=m,this._onEaseFrame=u,this._onEaseEnd=r,this._easeFrameId=this._requestRenderFrame(this._renderFrameCallback))}_normalizeBearing(u,r){u=g.X(u,-180,180);let m=Math.abs(u-r);return Math.abs(u-360-r)<m&&(u-=360),Math.abs(u+360-r)<m&&(u+=360),u}queryTerrainElevation(u){return this.terrain?this.terrain.getElevationForLngLat(g.W.convert(u),this.transform):null}}let Mr={compact:!0,customAttribution:'MapLibre'};class r2{constructor(u=Mr){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=(r)=>{!r||r.sourceDataType!=="metadata"&&r.sourceDataType!=="visibility"&&r.dataType!=="style"&&r.type!=="terrain"||this._updateAttributions()},this._updateCompact=()=>{this._map.getCanvasContainer().offsetWidth{this._container.classList.contains("maplibregl-compact")&&this._container.classList.contains("maplibregl-compact-show")&&this._container.classList.remove("maplibregl-compact-show")},this.options=u}getDefaultPosition(){return"bottom-right"}onAdd(u){return this._map=u,this._compact=this.options.compact,this._container=A1.create("details","maplibregl-ctrl maplibregl-ctrl-attrib"),this._compactButton=A1.create("summary","maplibregl-ctrl-attrib-button",this._container),this._compactButton.addEventListener("click",this._toggleAttribution),this._setElementTitle(this._compactButton,"ToggleAttribution"),this._innerContainer=A1.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(){this._container.remove(),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(u,r){let m=this._map._getUIString(`AttributionControl.${r}`);u.title=m,u.setAttribute("aria-label",m)}_updateAttributions(){if(!this._map.style)return;let u=[];if(this.options.customAttribution&&(Array.isArray(this.options.customAttribution)?u=u.concat(this.options.customAttribution.map((o)=>typeof o!="string"?"":o)):typeof this.options.customAttribution=="string"&&u.push(this.options.customAttribution)),this._map.style.stylesheet){let o=this._map.style.stylesheet;this.styleOwner=o.owner,this.styleId=o.id}let r=this._map.style.tileManagers;for(let o in r){let s=r[o];if(s.used||s.usedForTerrain){let E=s.getSource();E.attribution&&!u.includes(E.attribution)&&u.push(E.attribution)}}u=u.filter((o)=>String(o).trim()),u.sort((o,s)=>o.length-s.length),u=u.filter((o,s)=>{for(let E=s+1;E{let r=this._container.children;if(r.length){let m=r[0];this._map.getCanvasContainer().offsetWidththis.getTileByID(u))}getTileByID(u){return this._tiles[u]}getTerrainCoords(u,r){return r?this._getTerrainCoordsForTileRanges(u,r):this._getTerrainCoordsForRegularTile(u)}_getTerrainCoordsForRegularTile(u){let r={};for(let m of this._renderableTilesKeys){let o=this._tiles[m].tileID,s=u.clone(),E=g.bj();if(o.canonical.equals(u.canonical))g.c7(E,0,g.a6,g.a6,0,0,1);else if(o.canonical.isChildOf(u.canonical)){let L=o.canonical.z-u.canonical.z,N=o.canonical.x-(o.canonical.x>>L<>L<>L;g.c7(E,0,P,P,0,0,1),g.Q(E,E,[-N*P,-F*P,0])}else{if(!u.canonical.isChildOf(o.canonical))continue;{let L=u.canonical.z-o.canonical.z,N=u.canonical.x-(u.canonical.x>>L<>L<>L;g.c7(E,0,g.a6,g.a6,0,0,1),g.Q(E,E,[N*P,F*P,0]),g.S(E,E,[1/2**L,1/2**L,0])}}s.terrainRttPosMatrix32f=new Float32Array(E),r[m]=s}return r}_getTerrainCoordsForTileRanges(u,r){let m={};for(let o of this._renderableTilesKeys){let s=this._tiles[o].tileID;if(!this._isWithinTileRanges(s,r))continue;let E=u.clone(),L=g.bj();if(s.canonical.z===u.canonical.z){let N=u.canonical.x-s.canonical.x+u.wrap*(1<u.canonical.z){let N=s.canonical.z-u.canonical.z,F=s.canonical.x-(s.canonical.x>>N<<N)+u.wrap*(1<>N<>N),R=u.canonical.y-(s.canonical.y>>N),U=g.a6>>N;g.c7(L,0,U,U,0,0,1),g.Q(L,L,[-F*U+K*g.a6,-P*U+R*g.a6,0])}else{let N=u.canonical.z-s.canonical.z,F=u.canonical.x-(u.canonical.x>>N<<N)+u.wrap*(1<>N<>N)-s.canonical.x,R=(u.canonical.y>>N)-s.canonical.y,U=g.a6<s.maxzoom&&(E=s.maxzoom),E=s.minzoom&&!(L==null?void 0:L.dem);)L=this.findTileInCaches(u.scaledTo(E--).key);return L}findTileInCaches(u){let r=this.tileManager.getTileByID(u);return r||(r=this.tileManager._outOfViewCache.getByKey(u),r)}anyTilesAfterTime(u=Date.now()){return this._lastTilesetChange>=u}_isWithinTileRanges(u,r){let m=r[u.canonical.z];return!!m&&(u.wrap>m.minWrap||u.wrap=m.minTileXWrapped&&u.canonical.x=m.minTileY&&u.canonical.yo&&(o=Math.min(s.canonical.z,this.tileManager.maxzoom));return this.getElevationForLngLatZoom(u,o)}getElevation(u,r,m,o=g.a6){return this.getDEMElevation(u,r,m,o)*this.exaggeration}getTerrainData(u){var r,m;if(!this._emptyDemTexture){let E=this.painter.context,L=new g.R({width:1,height:1},new Uint8Array(4));this._emptyDepthTexture=new g.T(E,L,E.gl.RGBA,{premultiply:!1}),this._emptyDemUnpack=[0,0,0,0],this._emptyDemTexture=new g.T(E,new g.R({width:1,height:1}),E.gl.RGBA,{premultiply:!1}),this._emptyDemTexture.bind(E.gl.NEAREST,E.gl.CLAMP_TO_EDGE),this._emptyDemMatrix=g.ap([])}let o=this.tileManager.getSourceTile(u,!0);if((o==null?void 0:o.dem)&&(!o.demTexture||o.needsTerrainPrepare)){let E=this.painter.context;o.demTexture=this.painter.getTileTexture(o.dem.stride),o.demTexture?o.demTexture.update(o.dem.getPixels(),{premultiply:!1}):o.demTexture=new g.T(E,o.dem.getPixels(),E.gl.RGBA,{premultiply:!1}),o.demTexture.bind(E.gl.NEAREST,E.gl.CLAMP_TO_EDGE),o.needsTerrainPrepare=!1}let s=o&&o.toString()+o.tileID.key+u.key;if(s&&!this._demMatrixCache[s]){let E=this.tileManager.getSource().maxzoom,L=u.canonical.z-o.tileID.canonical.z;u.overscaledZ>u.canonical.z&&(u.canonical.z>=E?L=u.canonical.z-E:g.w("cannot calculate elevation if elevation maxzoom > source.maxzoom"));let N=u.canonical.x-(u.canonical.x>>L<>L<<L),P=g.cE(new Float64Array(16),[1/(g.a6<<L),1/(g.a6<<L),0]);g.Q(P,P,[N*g.a6,F*g.a6,0]),this._demMatrixCache[s]={matrix:P,coord:u}}return{u_depth:2,u_terrain:3,u_terrain_dim:((r=o==null?void 0:o.dem)===null||r===void 0?void 0:r.dim)||1,u_terrain_matrix:s?this._demMatrixCache[s].matrix:this._emptyDemMatrix,u_terrain_unpack:((m=o==null?void 0:o.dem)===null||m===void 0?void 0:m.getUnpackVector())||this._emptyDemUnpack,u_terrain_exaggeration:this.exaggeration,texture:((o==null?void 0:o.demTexture)||this._emptyDemTexture).texture,depthTexture:(this._fboDepthTexture||this._emptyDepthTexture).texture,tile:o}}getFramebuffer(u){let r=this.painter,m=r.width/devicePixelRatio,o=r.height/devicePixelRatio;return!this._fbo||this._fbo.width===m&&this._fbo.height===o||(this._fbo.destroy(),this._fboCoordsTexture.destroy(),this._fboDepthTexture.destroy(),delete this._fbo,delete this._fboDepthTexture,delete this._fboCoordsTexture),this._fboCoordsTexture||(this._fboCoordsTexture=new g.T(r.context,{width:m,height:o,data:null},r.context.gl.RGBA,{premultiply:!1}),this._fboCoordsTexture.bind(r.context.gl.NEAREST,r.context.gl.CLAMP_TO_EDGE)),this._fboDepthTexture||(this._fboDepthTexture=new g.T(r.context,{width:m,height:o,data:null},r.context.gl.RGBA,{premultiply:!1}),this._fboDepthTexture.bind(r.context.gl.NEAREST,r.context.gl.CLAMP_TO_EDGE)),this._fbo||(this._fbo=r.context.createFramebuffer(m,o,!0,!1),this._fbo.depthAttachment.set(r.context.createRenderbuffer(r.context.gl.DEPTH_COMPONENT16,m,o))),this._fbo.colorAttachment.set(u==="coords"?this._fboCoordsTexture.texture:this._fboDepthTexture.texture),this._fbo}getCoordsTexture(){let u=this.painter.context;if(this._coordsTexture)return this._coordsTexture;let r=new Uint8Array(this._coordsTextureSize*this._coordsTextureSize*4);for(let s=0,E=0;s<this._coordsTextureSize;s++)for(let L=0;L>8<>8,r[E+3]=0;let m=new g.R({width:this._coordsTextureSize,height:this._coordsTextureSize},new Uint8Array(r.buffer)),o=new g.T(u,m,u.gl.RGBA,{premultiply:!1});return o.bind(u.gl.NEAREST,u.gl.CLAMP_TO_EDGE),this._coordsTexture=o,o}pointCoordinate(u){this.painter.maybeDrawDepth(!0),this.painter.maybeDrawCoords();let r=new Uint8Array(4),m=this.painter.context,o=m.gl,s=Math.round(u.x*this.painter.pixelRatio/devicePixelRatio),E=Math.round(u.y*this.painter.pixelRatio/devicePixelRatio),L=Math.round(this.painter.height/devicePixelRatio);m.bindFramebuffer.set(this.getFramebuffer("coords").framebuffer),o.readPixels(s,L-E-1,1,1,o.RGBA,o.UNSIGNED_BYTE,r),m.bindFramebuffer.set(null);let N=r[0]+(r[2]>>4<<8),F=r[1]+((15&r[2])<<8),P=this.coordsIndex[255-r[3]],K=P&&this.tileManager.getTileByID(P);if(!K)return null;let R=this._coordsTextureSize,U=(1<0,o=m&&u.canonical.y===0,s=m&&u.canonical.y===(1<<u.canonical.z)-1,E=`m_${o?"n":""}_${s?"s":""}`;if(this._meshCache[E])return this._meshCache[E];let L=this.painter.context,N=new g.cF,F=new g.aW,P=this.meshSize,K=g.a6/P,R=P*P;for(let T=0;T<=P;T++)for(let p1=0;p1<=P;p1++)N.emplaceBack(p1*K,T*K,0);for(let T=0;T<R;T+=P+1)for(let p1=0;p1<P;p1++)F.emplaceBack(p1+T,P+p1+T+1,P+p1+T+2),F.emplaceBack(p1+T,P+p1+T+2,p1+T+1);let U=N.length,z=U+(P+1),Q=(P+1)*P,t=o?g.bq:0,i=o?0:1,X=s?g.br:g.a6,c1=s?0:1;for(let T=0;T<=P;T++)N.emplaceBack(T*K,t,i);for(let T=0;T<=P;T++)N.emplaceBack(T*K,X,c1);for(let T=0;T<P;T++)F.emplaceBack(Q+T,z+T,z+T+1),F.emplaceBack(Q+T,z+T+1,Q+T+1),F.emplaceBack(0+T,U+T+1,U+T),F.emplaceBack(0+T,0+T+1,U+T+1);let $=N.length,e=$+2*(P+1);for(let T of[0,1])for(let p1=0;p1<=P;p1++)for(let S1 of[0,1])N.emplaceBack(T*g.a6,p1*K,S1);for(let T=0;T<2*P;T+=2)F.emplaceBack($+T,$+T+1,$+T+3),F.emplaceBack($+T,$+T+3,$+T+2),F.emplaceBack(e+T,e+T+3,e+T+1),F.emplaceBack(e+T,e+T+2,e+T+3);let u1=new Ll(L.createVertexBuffer(N,tp.members),L.createIndexBuffer(F),g.aV.simpleSegment(0,0,N.length,F.length));return this._meshCache[E]=u1,u1}getMeshFrameDelta(u){return 2*Math.PI*g.bD/Math.pow(2,Math.max(u,0))/5}getMinTileElevationForLngLatZoom(u,r){var m;if(!g.cD(r,u.wrap()))return 0;let{tileID:o}=this._getOverscaledTileIDFromLngLatZoom(u,r);return(m=this.getMinMaxElevation(o).minElevation)!==null&&m!==void 0?m:0}getMinMaxElevation(u){let r=this.getTerrainData(u).tile,m={minElevation:null,maxElevation:null};return(r==null?void 0:r.dem)&&(m.minElevation=r.dem.min*this.exaggeration,m.maxElevation=r.dem.max*this.exaggeration),m}_getOverscaledTileIDFromLngLatZoom(u,r){let m=g.a7.fromLngLat(u.wrap()),o=(1<u.id!==r),this._recentlyUsed.push(u.id)}stampObject(u){u.stamp=++this._stamp}getOrCreateFreeObject(){for(let r of this._recentlyUsed)if(!this._objects[r].inUse)return this._objects[r];if(this._objects.length>=this._size)throw Error("No free RenderPool available, call freeAllObjects() required!");let u=this._createObject(this._objects.length);return this._objects.push(u),u}freeObject(u){u.inUse=!1}freeAllObjects(){for(let u of this._objects)this.freeObject(u)}isFull(){return!(this._objects.length!u.inUse)===!1}}let Pl={background:!0,fill:!0,line:!0,raster:!0,hillshade:!0,"color-relief":!0};class X7{constructor(u,r){this.painter=u,this.terrain=r,this.pool=new Ul(u.context,30,r.tileManager.tileSize*r.qualityFactor)}destruct(){this.pool.destruct()}getTexture(u){return this.pool.getObjectForId(u.rtt[this._stacks.length-1].id).texture}prepareForRender(u,r){var m,o,s;this._stacks=[],this._prevType=null,this._rttTiles=[],this._renderableTiles=this.terrain.tileManager.getRenderableTiles(),this._renderableLayerIds=u._order.filter((E)=>!u._layers[E].isHidden(r)),this._coordsAscending={};for(let E in u.tileManagers){this._coordsAscending[E]={};let L=u.tileManagers[E].getVisibleCoordinates(),N=u.tileManagers[E].getSource(),F=N instanceof Wu?N.terrainTileRanges:null;for(let P of L){let K=this.terrain.tileManager.getTerrainCoords(P,F);for(let R in K)(s=this._coordsAscending[E])[R]||(s[R]=[]),this._coordsAscending[E][R].push(K[R])}}this._rttFingerprints={};for(let E of u._order){let L=u._layers[E],N=L.source;if(Pl[L.type]&&!this._rttFingerprints[N]){this._rttFingerprints[N]={};let F=(o=(m=u.tileManagers[N])===null||m===void 0?void 0:m.getState().revision)!==null&&o!==void 0?o:0;for(let P in this._coordsAscending[N])this._rttFingerprints[N][P]=`${this._coordsAscending[N][P].map((K)=>K.key).sort().join()}#${F}`}}for(let E of this._renderableTiles)for(let L in this._rttFingerprints){let N=this._rttFingerprints[L][E.tileID.key];N&&N!==E.rttFingerprint[L]&&(E.rtt=[])}}renderLayer(u,r){if(u.isHidden(this.painter.transform.zoom))return!1;let m=Object.assign(Object.assign({},r),{isRenderingToTexture:!0}),o=u.type,s=this.painter,E=this._renderableLayerIds[this._renderableLayerIds.length-1]===u.id;if(Pl[o]&&(this._prevType&&Pl[this._prevType]||this._stacks.push([]),this._prevType=o,this._stacks[this._stacks.length-1].push(u.id),!E))return!0;if(Pl[this._prevType]||Pl[o]&&E){this._prevType=o;let L=this._stacks.length-1,N=this._stacks[L]||[];for(let F of this._renderableTiles){if(this.pool.isFull()&&(F7(this.painter,this.terrain,this._rttTiles,m),this._rttTiles=[],this.pool.freeAllObjects()),this._rttTiles.push(F),F.rtt[L]){let K=this.pool.getObjectForId(F.rtt[L].id);if(K.stamp===F.rtt[L].stamp){this.pool.useObject(K);continue}}let P=this.pool.getOrCreateFreeObject();this.pool.useObject(P),this.pool.stampObject(P),F.rtt[L]={id:P.id,stamp:P.stamp},s.context.bindFramebuffer.set(P.fbo.framebuffer),s.context.clear({color:g.bo.transparent,stencil:0}),s.currentStencilSource=void 0;for(let K of N){let R=s.style._layers[K],U=R.source?this._coordsAscending[R.source][F.tileID.key]:[F.tileID];s.context.viewport.set([0,0,P.fbo.width,P.fbo.height]),s._renderTileClippingMasks(R,U,!0),s.renderLayer(s,s.style.tileManagers[R.source],R,U,m),R.source&&(F.rttFingerprint[R.source]=this._rttFingerprints[R.source][F.tileID.key])}}return F7(this.painter,this.terrain,this._rttTiles,m),this._rttTiles=[],this.pool.freeAllObjects(),Pl[o]}return!1}}let T3={"AttributionControl.ToggleAttribution":"Toggle attribution","AttributionControl.MapFeedback":"Map feedback","FullscreenControl.Enter":"Enter fullscreen","FullscreenControl.Exit":"Exit fullscreen","GeolocateControl.FindMyLocation":"Find my location","GeolocateControl.LocationNotAvailable":"Location not available","LogoControl.Title":"MapLibre logo","Map.Title":"Map","Marker.Title":"Map marker","NavigationControl.ResetBearing":"Drag to rotate map, click to reset north","NavigationControl.ZoomIn":"Zoom in","NavigationControl.ZoomOut":"Zoom out","Popup.Close":"Close popup","ScaleControl.Feet":"ft","ScaleControl.Meters":"m","ScaleControl.Kilometers":"km","ScaleControl.Miles":"mi","ScaleControl.NauticalMiles":"nm","GlobeControl.Enable":"Enable globe","GlobeControl.Disable":"Disable globe","TerrainControl.Enable":"Enable terrain","TerrainControl.Disable":"Disable terrain","CooperativeGesturesHandler.WindowsHelpText":"Use Ctrl + scroll to zoom the map","CooperativeGesturesHandler.MacHelpText":"Use ⌘ + scroll to zoom the map","CooperativeGesturesHandler.MobileHelpText":"Use two fingers to move the map"},ac=H,oc={hash:!1,interactive:!0,bearingSnap:7,zoomSnap:0,attributionControl:Mr,maplibreLogo:!1,refreshExpiredTiles:!0,canvasContextAttributes:{antialias:!1,preserveDrawingBuffer:!1,powerPreference:"high-performance",failIfMajorPerformanceCaveat:!1,desynchronized:!1,contextType:void 0},scrollZoom:!0,minZoom:-2,maxZoom:22,minPitch:0,maxPitch:60,boxZoom:!0,dragRotate:!0,dragPan:!0,keyboard:!0,doubleClickZoom:!0,touchZoomRotate:!0,touchPitch:!0,cooperativeGestures:!1,trackResize:!0,center:[0,0],elevation:0,zoom:0,bearing:0,pitch:0,roll:0,renderWorldCopies:!0,maxTileCacheSize:null,maxTileCacheZoomLevels:g.c.MAX_TILE_CACHE_ZOOM_LEVELS,transformRequest:null,transformCameraUpdate:null,transformConstrain:null,fadeDuration:300,crossSourceCollisions:!0,clickTolerance:3,localIdeographFontFamily:"sans-serif",pitchWithRotate:!0,rollEnabled:!1,reduceMotion:void 0,validateStyle:!0,maxCanvasSize:[4096,4096],cancelPendingTileRequestsWhileZooming:!0,centerClampedToGround:!0,experimentalZoomLevelsToOverscale:void 0,anisotropicFilterPitch:20},hc=class extends J7{get _ownerWindow(){var u,r;return((r=(u=this._container)===null||u===void 0?void 0:u.ownerDocument)===null||r===void 0?void 0:r.defaultView)||window}constructor(u){var r,m,o;let s=Object.assign(Object.assign(Object.assign({},oc),u),{canvasContextAttributes:Object.assign(Object.assign({},oc.canvasContextAttributes),u.canvasContextAttributes)});if(s.minZoom!=null&&s.maxZoom!=null&&s.minZoom>s.maxZoom)throw Error("maxZoom must be greater than or equal to minZoom");if(s.minPitch!=null&&s.maxPitch!=null&&s.minPitch>s.maxPitch)throw Error("maxPitch must be greater than or equal to minPitch");if(s.minPitch!=null&&s.minPitch180)throw Error("maxPitch must be less than or equal to 180");let E=new B5,L=new tu;s.minZoom!==void 0&&E.setMinZoom(s.minZoom),s.maxZoom!==void 0&&E.setMaxZoom(s.maxZoom),s.minPitch!==void 0&&E.setMinPitch(s.minPitch),s.maxPitch!==void 0&&E.setMaxPitch(s.maxPitch),s.renderWorldCopies!==void 0&&E.setRenderWorldCopies(s.renderWorldCopies),s.transformConstrain!==null&&E.setConstrainOverride(s.transformConstrain),super(E,L,{bearingSnap:s.bearingSnap,zoomSnap:s.zoomSnap}),this._idleTriggered=!1,this._crossFadingFactor=1,this._renderTaskQueue=new ep,this._controls=[],this._mapId=g.ad(),this._lostContextStyle={style:null,images:null},this._contextLost=(F)=>{if(F.preventDefault(),this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this.painter.destroy(),this._lostContextStyle=this._getStyleAndImages(),this.style){for(let P of Object.values(this.style._layers))if(P.type==="custom"&&console.warn(`Custom layer with id '${P.id}' cannot be restored after WebGL context loss. You will need to re-add it manually after context restoration.`),P._listeners)for(let[K]of Object.entries(P._listeners))console.warn(`Custom layer with id '${P.id}' had event listeners for event '${K}' which cannot be restored after WebGL context loss. You will need to re-add them manually after context restoration.`);this.style.destroy(),this.style=null,this.fire(new g.n("webglcontextlost",{originalEvent:F}))}else this.fire(new g.n("webglcontextlost",{originalEvent:F}))},this._contextRestored=(F)=>{this._lostContextStyle.style&&this.setStyle(this._lostContextStyle.style,{diff:!1}),this._lostContextStyle.images&&this.style&&(this.style.imageManager.images=this._lostContextStyle.images),this._lostContextStyle={style:null,images:null},this._setupPainter(),this.resize(),this._update(),this._resizeInternal(),this.fire(new g.n("webglcontextrestored",{originalEvent:F}))},this._onMapScroll=(F)=>{if(F.target===this._container)return this._container.scrollTop=0,this._container.scrollLeft=0,!1},this._onWindowOnline=()=>{this._update()},this._interactive=s.interactive,this._maxTileCacheSize=s.maxTileCacheSize,this._maxTileCacheZoomLevels=s.maxTileCacheZoomLevels,this._canvasContextAttributes=Object.assign({},s.canvasContextAttributes),this._trackResize=s.trackResize===!0,this._bearingSnap=s.bearingSnap,this._zoomSnap=s.zoomSnap,this._centerClampedToGround=s.centerClampedToGround,this._refreshExpiredTiles=s.refreshExpiredTiles===!0,this._fadeDuration=s.fadeDuration,this._crossSourceCollisions=s.crossSourceCollisions===!0,this._collectResourceTiming=s.collectResourceTiming===!0,this._locale=Object.assign(Object.assign({},T3),s.locale),this._clickTolerance=s.clickTolerance,this._overridePixelRatio=s.pixelRatio,this._maxCanvasSize=s.maxCanvasSize,this._zoomLevelsToOverscale=s.experimentalZoomLevelsToOverscale,this.transformCameraUpdate=s.transformCameraUpdate,this.transformConstrain=s.transformConstrain,this.cancelPendingTileRequestsWhileZooming=s.cancelPendingTileRequestsWhileZooming===!0,this.setAnisotropicFilterPitch(s.anisotropicFilterPitch),s.reduceMotion!==void 0&&(N1.prefersReducedMotion=s.reduceMotion),this._imageQueueHandle=J1.addThrottleControl(()=>this.isMoving()),this._requestManager=new v1(s.transformRequest),this._container=this._resolveContainer(s.container),s.maxBounds&&this.setMaxBounds(s.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.depthDirty=!0,this._update(!0)}),this.once("idle",()=>this._idleTriggered=!0),typeof window{if(N||this._resizeTransform(),this.transform.unmodified){let F=g.V(this.style.stylesheet,["center","zoom","bearing","pitch","roll"]);this.jumpTo(F)}}),this.on("data",(F)=>{this._update(F.dataType==="style"),this.fire(new g.n(`${F.dataType}data`,F))}),this.on("dataloading",(F)=>{this.fire(new g.n(`${F.dataType}dataloading`,F))}),this.on("dataabort",(F)=>{this.fire(new g.n("sourcedataabort",F))})}_getMapId(){return this._mapId}setGlobalStateProperty(u,r){return this.style.setGlobalStateProperty(u,r),this._update(!0)}getGlobalState(){return this.style.getGlobalState()}addControl(u,r){if(r===void 0&&(r=u.getDefaultPosition?u.getDefaultPosition():"top-right"),!(u==null?void 0:u.onAdd))return this.fire(new g.l(Error("Invalid argument to map.addControl(). Argument must be a control with onAdd and onRemove methods.")));let m=u.onAdd(this);this._controls.push(u);let o=this._controlPositions[r];return r.includes("bottom")?o.insertBefore(m,o.firstChild):o.appendChild(m),this}removeControl(u){if(!(u==null?void 0:u.onRemove))return this.fire(new g.l(Error("Invalid argument to map.removeControl(). Argument must be a control with onAdd and onRemove methods.")));let r=this._controls.indexOf(u);return r>-1&&this._controls.splice(r,1),u.onRemove(this),this}hasControl(u){return this._controls.includes(u)}coveringTiles(u){return F5(this.transform,u)}calculateCameraOptionsFromTo(u,r,m,o){return o==null&&this.terrain&&(o=this.terrain.getElevationForLngLat(m,this.transform)),super.calculateCameraOptionsFromTo(u,r,m,o)}resize(u,r=!0){if(this._lostContextStyle.style!==null)return this;this._resizeInternal(r);let m=!this._moving;return m&&(this.stop(),this.fire(new g.n("movestart",u)).fire(new g.n("move",u))),this.fire(new g.n("resize",u)),m&&this.fire(new g.n("moveend",u)),this}_resizeInternal(u=!0){let[r,m]=this._containerDimensions(),o=this._getClampedPixelRatio(r,m);if(this._resizeCanvas(r,m,o),this.painter.resize(r,m,o),this.painter.overLimit()){let s=this.painter.context.gl;this._maxCanvasSize=[s.drawingBufferWidth,s.drawingBufferHeight];let E=this._getClampedPixelRatio(r,m);this._resizeCanvas(r,m,E),this.painter.resize(r,m,E)}this._resizeTransform(u)}_resizeTransform(u=!0){var r;let[m,o]=this._containerDimensions();this.transform.resize(m,o,u),(r=this._requestedCameraState)===null||r===void 0||r.resize(m,o,u)}_getClampedPixelRatio(u,r){let{0:m,1:o}=this._maxCanvasSize,s=this.getPixelRatio(),E=u*s,L=r*s;return Math.min(E>m?m/E:1,L>o?o/L:1)*s}getPixelRatio(){var u;return(u=this._overridePixelRatio)!==null&&u!==void 0?u:devicePixelRatio}setPixelRatio(u){this._overridePixelRatio=u,this.resize()}getBounds(){return this.transform.getBounds()}getMaxBounds(){return this.transform.getMaxBounds()}setMaxBounds(u){return this.transform.setMaxBounds(gl.convert(u)),this._update()}setMinZoom(u){if((u=u==null?-2:u)>=-2&&u=this.transform.minZoom){let r=this.transform.zoom,m=this._getTransformForUpdate();return m.setMaxZoom(u),this._applyUpdatedTransform(m),this._update(),r!==this.transform.zoom&&this.fire(new g.n("zoomstart")).fire(new g.n("zoom")).fire(new g.n("zoomend")).fire(new g.n("movestart")).fire(new g.n("move")).fire(new g.n("moveend")),this}throw Error("maxZoom must be greater than the current minZoom")}getMaxZoom(){return this.transform.maxZoom}setMinPitch(u){if((u=u==null?0:u)=0&&u180)throw Error("maxPitch must be less than or equal to 180");if(u>=this.transform.minPitch){let r=this.transform.pitch,m=this._getTransformForUpdate();return m.setMaxPitch(u),this._applyUpdatedTransform(m),this._update(),r!==this.transform.pitch&&this.fire(new g.n("pitchstart")).fire(new g.n("pitch")).fire(new g.n("pitchend")).fire(new g.n("movestart")).fire(new g.n("move")).fire(new g.n("moveend")),this}throw Error("maxPitch must be greater than the current minPitch")}getMaxPitch(){return this.transform.maxPitch}getAnisotropicFilterPitch(){return this._anisotropicFilterPitch}setAnisotropicFilterPitch(u){if((u=u==null?20:u)>180)throw Error("anisotropicFilterPitch must be less than or equal to 180");if(u{let L=r.filter((F)=>this.getLayer(F)),N=L.length!==0?this.queryRenderedFeatures(E.point,{layers:L}):[];N.length?o||(o=!0,m.call(this,new c2(u,this,E.originalEvent,{features:N}))):o=!1},mouseout:()=>{o=!1}}}}if(u==="mouseleave"||u==="mouseout"){let o=!1;return{layers:r,listener:m,delegates:{mousemove:(L)=>{let N=r.filter((F)=>this.getLayer(F));(N.length!==0?this.queryRenderedFeatures(L.point,{layers:N}):[]).length?o=!0:o&&(o=!1,m.call(this,new c2(u,this,L.originalEvent)))},mouseout:(L)=>{o&&(o=!1,m.call(this,new c2(u,this,L.originalEvent)))}}}}{let o=(s)=>{let E=r.filter((N)=>this.getLayer(N)),L=E.length!==0?this.queryRenderedFeatures(s.point,{layers:E}):[];L.length&&(s.features=L,m.call(this,s),delete s.features)};return{layers:r,listener:m,delegates:{[u]:o}}}}_saveDelegatedListener(u,r){var m;this._delegatedListeners||(this._delegatedListeners={}),(m=this._delegatedListeners)[u]||(m[u]=[]),this._delegatedListeners[u].push(r)}_removeDelegatedListener(u,r,m){var o;if(!((o=this._delegatedListeners)===null||o===void 0?void 0:o[u]))return;let s=this._delegatedListeners[u];for(let E=0;Er.includes(N))){for(let N in L.delegates)this.off(N,L.delegates[N]);return void s.splice(E,1)}}}on(u,r,m){if(m===void 0)return super.on(u,r);let o=typeof r=="string"?[r]:r,s=this._createDelegatedListener(u,o,m);this._saveDelegatedListener(u,s);for(let E in s.delegates)this.on(E,s.delegates[E]);return{unsubscribe:()=>{this._removeDelegatedListener(u,o,m)}}}once(u,r,m){if(m===void 0)return super.once(u,r);let o=typeof r=="string"?[r]:r,s=this._createDelegatedListener(u,o,m);for(let E in s.delegates){let L=s.delegates[E];s.delegates[E]=(...N)=>{this._removeDelegatedListener(u,o,m),L(...N)}}this._saveDelegatedListener(u,s);for(let E in s.delegates)this.once(E,s.delegates[E]);return this}off(u,r,m){return m===void 0?super.off(u,r):(this._removeDelegatedListener(u,typeof r=="string"?[r]:r,m),this)}queryRenderedFeatures(u,r){if(!this.style)return[];let m,o=u instanceof g.P||Array.isArray(u),s=o?u:[[0,0],[this.transform.width,this.transform.height]];if(r||(r=(o?{}:u)||{}),s instanceof g.P||typeof s[0]=="number")m=[g.P.convert(s)];else{let E=g.P.convert(s[0]),L=g.P.convert(s[1]);m=[E,new g.P(L.x,E.y),L,new g.P(E.x,L.y),E]}return this.style.queryRenderedFeatures(m,r,this.transform)}querySourceFeatures(u,r){return this.style.querySourceFeatures(u,r)}setStyle(u,r){return(r=g.e({},{localIdeographFontFamily:this._localIdeographFontFamily,validate:this._validateStyle},r)).diff!==!1&&r.localIdeographFontFamily===this._localIdeographFontFamily&&this.style&&u?(this._diffStyle(u,r),this):(this._localIdeographFontFamily=r.localIdeographFontFamily,this._updateStyle(u,r))}setTransformRequest(u){return this._requestManager.setTransformRequest(u),this}_getUIString(u){let r=this._locale[u];if(r==null)throw Error(`Missing UI string '${u}'`);return r}_updateStyle(u,r){var m,o,s;if((m=this._diffStyleRequest)===null||m===void 0||m.abort(),this._diffStyleRequest=null,r.transformStyle&&this.style&&!this.style._loaded)return void this.style.once("style.load",()=>this._updateStyle(u,r));let E=this.style&&r.transformStyle?this.style.serialize():void 0;return this.style&&(this.style.setEventedParent(null),this.style._remove(!u)),u?(this.style=new l5(this,r||{}),this.style.setEventedParent(this,{style:this.style}),typeof u=="string"?this.style.loadURL(u,r,E):this.style.loadJSON(u,r,E),this):(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),(s=(o=this.style)===null||o===void 0?void 0:o.projection)===null||s===void 0||s.destroy(),delete this.style,this)}_lazyInitEmptyStyle(){this.style||(this.style=new l5(this,{}),this.style.setEventedParent(this,{style:this.style}),this.style.loadEmpty())}_diffStyle(u,r){return g._(this,void 0,void 0,function*(){var m;if((m=this._diffStyleRequest)===null||m===void 0||m.abort(),typeof u=="string"){let o=u;this._diffStyleRequest=new AbortController;let s=this._diffStyleRequest;try{let E=yield this._requestManager.transformRequest(o,"Style");if(s.signal.aborted)return void(this._diffStyleRequest=null);let L=yield g.k(E,s);this._diffStyleRequest=null,this._updateDiff(L.data,r)}catch(E){this._diffStyleRequest=null,g.$(E)||this.fire(new g.l(g.d(E)))}}else typeof u=="object"&&(this._diffStyleRequest=null,this._updateDiff(u,r))})}_updateDiff(u,r){try{this.style.setState(u,r)&&this._update(!0)}catch(m){g.w(`Unable to perform style diff: ${g.d(m).message}. Rebuilding the style from scratch.`),this._updateStyle(u,r)}}getStyle(){if(this.style)return this.style.serialize()}_getStyleAndImages(){return this.style?{style:this.style.serialize(),images:this.style.imageManager.cloneImages()}:{style:null,images:{}}}isStyleLoaded(){if(this.style)return this.style.loaded();g.w("There is no style added to the map.")}addSource(u,r){return this._lazyInitEmptyStyle(),this.style.addSource(u,r),this._update(!0)}isSourceLoaded(u){var r;let m=(r=this.style)===null||r===void 0?void 0:r.tileManagers[u];if(m!==void 0)return m.loaded();this.fire(new g.l(Error(`There is no tile manager with ID '${u}'`)))}setTerrain(u){if(this.style._checkLoaded(),this._terrainDataCallback&&this.style.off("data",this._terrainDataCallback),u){let r=this.style.tileManagers[u.source];if(!r)throw Error(`cannot load terrain, because there exists no source with ID: ${u.source}`);this.terrain===null&&r.reload();for(let m in this.style._layers){let o=this.style._layers[m];o.type==="hillshade"&&o.source===u.source&&g.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."),o.type==="color-relief"&&o.source===u.source&&g.w("You are using the same source for a color-relief layer and for 3D terrain. Please consider using two separate sources to improve rendering quality.")}this.terrain=new T5(this.painter,r,u),this.painter.renderToTexture=new X7(this.painter,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._terrainDataCallback=(m)=>{var o;m.dataType==="style"?this.terrain.tileManager.freeRtt():m.dataType==="source"&&m.tile&&(m.sourceId!==u.source||this._elevationFreeze||(this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))),((o=m.source)===null||o===void 0?void 0:o.type)==="image"?this.terrain.tileManager.freeRtt():this.terrain.tileManager.freeRtt(m.tile.tileID))},this.style.on("data",this._terrainDataCallback)}else this.terrain&&this.terrain.destroy(),this.terrain=null,this.painter.renderToTexture&&this.painter.renderToTexture.destruct(),this.painter.renderToTexture=null,this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0);return this.fire(new g.n("terrain",{terrain:u})),this}getTerrain(){var u,r;return(r=(u=this.terrain)===null||u===void 0?void 0:u.options)!==null&&r!==void 0?r:null}areTilesLoaded(){var u;let r=(u=this.style)===null||u===void 0?void 0:u.tileManagers;for(let m of Object.values(r))if(!m.areTilesLoaded())return!1;return!0}removeSource(u){return this.style.removeSource(u),this._update(!0)}getSource(u){return this.style.getSource(u)}setSourceTileLodParams(u,r,m){if(m){let o=this.getSource(m);if(!o)throw Error(`There is no source with ID "${m}", cannot set LOD parameters`);o.calculateTileZoom=Q6(Math.max(1,u),Math.max(1,r))}else for(let o in this.style.tileManagers)this.style.tileManagers[o].getSource().calculateTileZoom=Q6(Math.max(1,u),Math.max(1,r));return this._update(!0),this}refreshTiles(u,r){let m=this.style.tileManagers[u];if(!m)throw Error(`There is no tile manager with ID "${u}", cannot refresh tile`);r===void 0?m.reload(!0):m.refreshTiles(r.map((o)=>new g.aa(o.z,o.x,o.y)))}addImage(u,r,m={}){let{pixelRatio:o=1,sdf:s=!1,stretchX:E,stretchY:L,content:N,textFitWidth:F,textFitHeight:P}=m;if(this._lazyInitEmptyStyle(),!(r instanceof HTMLImageElement||g.b(r))){if(r.width===void 0||r.height===void 0)return this.fire(new g.l(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`")));{let{width:K,height:R,data:U}=r,z=r;return this.style.addImage(u,{data:new g.R({width:K,height:R},new Uint8Array(U)),pixelRatio:o,stretchX:E,stretchY:L,content:N,textFitWidth:F,textFitHeight:P,sdf:s,version:0,userImage:z}),z.onAdd&&z.onAdd(this,u),this}}{let{width:K,height:R,data:U}=N1.getImageData(r);this.style.addImage(u,{data:new g.R({width:K,height:R},U),pixelRatio:o,stretchX:E,stretchY:L,content:N,textFitWidth:F,textFitHeight:P,sdf:s,version:0})}}updateImage(u,r){let m=this.style.getImage(u);if(!m)return this.fire(new g.l(Error("The map has no image with that id. If you are adding a new image use `map.addImage(...)` instead.")));let o=r instanceof HTMLImageElement||g.b(r)?N1.getImageData(r):r,{width:s,height:E,data:L}=o;if(s===void 0||E===void 0)return this.fire(new g.l(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(s!==m.data.width||E!==m.data.height)return this.fire(new g.l(Error("The width and height of the updated image must be that same as the previous version of the image")));let N=!(r instanceof HTMLImageElement||g.b(r));return m.data.replace(L,N),this.style.updateImage(u,m),this}getImage(u){return this.style.getImage(u)}hasImage(u){return u?!!this.style.getImage(u):(this.fire(new g.l(Error("Missing required image id"))),!1)}removeImage(u){this.style.removeImage(u)}loadImage(u){return g._(this,void 0,void 0,function*(){return J1.getImage(yield this._requestManager.transformRequest(u,"Image"),new AbortController)})}listImages(){return this.style.listImages()}addLayer(u,r){return this._lazyInitEmptyStyle(),this.style.addLayer(u,r),this._update(!0)}moveLayer(u,r){return this.style.moveLayer(u,r),this._update(!0)}removeLayer(u){return this.style.removeLayer(u),this._update(!0)}getLayer(u){return this.style.getLayer(u)}getLayersOrder(){return this.style.getLayersOrder()}setLayerZoomRange(u,r,m){return this.style.setLayerZoomRange(u,r,m),this._update(!0)}setFilter(u,r,m={}){return this.style.setFilter(u,r,m),this._update(!0)}getFilter(u){return this.style.getFilter(u)}setPaintProperty(u,r,m,o={}){return this.style.setPaintProperty(u,r,m,o),this._update(!0)}getPaintProperty(u,r){return this.style.getPaintProperty(u,r)}setLayoutProperty(u,r,m,o={}){return this.style.setLayoutProperty(u,r,m,o),this._update(!0)}getLayoutProperty(u,r){return this.style.getLayoutProperty(u,r)}setGlyphs(u,r={}){return this._lazyInitEmptyStyle(),this.style.setGlyphs(u,r),this._update(!0)}getGlyphs(){return this.style.getGlyphsUrl()}addSprite(u,r,m={}){return this._lazyInitEmptyStyle(),this.style.addSprite(u,r,m,(o)=>{o||this._update(!0)}),this}removeSprite(u){return this._lazyInitEmptyStyle(),this.style.removeSprite(u),this._update(!0)}getSprite(){return this.style.getSprite()}setSprite(u,r={}){return this._lazyInitEmptyStyle(),this.style.setSprite(u,r,(m)=>{m||this._update(!0)}),this}setLight(u,r={}){return this._lazyInitEmptyStyle(),this.style.setLight(u,r),this._update(!0)}getLight(){return this.style.getLight()}setSky(u,r={}){return this._lazyInitEmptyStyle(),this.style.setSky(u,r),this._update(!0)}getSky(){return this.style.getSky()}setFeatureState(u,r){return this.style.setFeatureState(u,r),this._update()}removeFeatureState(u,r){return this.style.removeFeatureState(u,r),this._update()}getFeatureState(u){return this.style.getFeatureState(u)}getContainer(){return this._container}getCanvasContainer(){return this._canvasContainer}getCanvas(){return this._canvas}_containerDimensions(){let u=0,r=0;return this._container&&(u=this._container.clientWidth||400,r=this._container.clientHeight||300),[u,r]}_setupResizeObserver(){var u;let r=!1,m=P7((s)=>{this._trackResize&&!this._removed&&(this.resize(s),this.redraw())},50),o=(u=this._ownerWindow.ResizeObserver)!==null&&u!==void 0?u:ResizeObserver;this._resizeObserver=new o((s)=>{r?m(s):r=!0}),this._resizeObserver.observe(this._container)}_resolveContainer(u){if(typeof u=="string"){let r=document.getElementById(u);if(!r)throw Error(`Container '${u}' not found.`);return r}if(u instanceof HTMLElement)return u;if(u&&typeof u=="object"&&u.nodeType===1)return u;throw Error("Invalid type: 'container' must be a String or HTMLElement.")}_setupContainer(){let u=this._container;u.classList.add("maplibregl-map");let r=this._canvasContainer=A1.create("div","maplibregl-canvas-container",u);this._interactive&&r.classList.add("maplibregl-interactive"),this._canvas=A1.create("canvas","maplibregl-canvas",r),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");let m=this._containerDimensions(),o=this._getClampedPixelRatio(m[0],m[1]);this._resizeCanvas(m[0],m[1],o);let s=this._controlContainer=A1.create("div","maplibregl-control-container",u),E=this._controlPositions={};for(let L of["top-left","top-right","bottom-left","bottom-right"])E[L]=A1.create("div",`maplibregl-ctrl-${L} `,s);this._container.addEventListener("scroll",this._onMapScroll,!1)}_resizeCanvas(u,r,m){this._canvas.width=Math.floor(m*u),this._canvas.height=Math.floor(m*r),this._canvas.style.width=`${u}px`,this._canvas.style.height=`${r}px`}_setupPainter(){let u=Object.assign(Object.assign({},this._canvasContextAttributes),{alpha:!0,depth:!0,stencil:!0,premultipliedAlpha:!0}),r=null;this._canvas.addEventListener("webglcontextcreationerror",(o)=>{r={requestedAttributes:u},o&&(r.statusMessage=o.statusMessage,r.type=o.type)},{once:!0});let m=null;if(m=this._canvasContextAttributes.contextType?this._canvas.getContext(this._canvasContextAttributes.contextType,u):this._canvas.getContext("webgl2",u)||this._canvas.getContext("webgl",u),!m)throw r?(r.message="Failed to initialize WebGL",Error(JSON.stringify(r))):Error("Failed to initialize WebGL");this.painter=new fc(m,this.transform)}migrateProjection(u,r){super.migrateProjection(u,r),this.painter.transform=u,this.fire(new g.n("projectiontransition",{newProjection:this.style.projection.name}))}loaded(){return!this._styleDirty&&!this._sourcesDirty&&!!this.style&&this.style.loaded()}_update(u){var r;return((r=this.style)===null||r===void 0?void 0:r._loaded)?(this._styleDirty||(this._styleDirty=u),this._sourcesDirty=!0,this.triggerRepaint(),this):this}_requestRenderFrame(u){return this._update(),this._renderTaskQueue.add(u)}_cancelRenderFrame(u){this._renderTaskQueue.remove(u)}_render(u){var r,m,o,s,E,L;let N=this._idleTriggered?this._fadeDuration:0,F=((r=this.style.projection)===null||r===void 0?void 0:r.transitionState)>0;if(this.painter.context.setDirty(),this.painter.setBaseState(),this._renderTaskQueue.run(u),this._removed)return;let P=!1;if(this.style&&this._styleDirty){this._styleDirty=!1;let U=this.transform.zoom,z=q1();this.style.zoomHistory.update(U,z);let Q=new g.J(U,{now:z,fadeDuration:N,zoomHistory:this.style.zoomHistory,transition:this.style.getTransition()}),t=Q.crossFadingFactor();t===1&&t===this._crossFadingFactor||(P=!0,this._crossFadingFactor=t),this.style.update(Q)}let K=((m=this.style.projection)===null||m===void 0?void 0:m.transitionState)>0!==F;(o=this.style.projection)===null||o===void 0||o.setErrorQueryLatitudeDegrees(this.transform.center.lat),this.transform.setTransitionState((s=this.style.projection)===null||s===void 0?void 0:s.transitionState,(E=this.style.projection)===null||E===void 0?void 0:E.latitudeErrorCorrectionRadians),this.style&&(this._sourcesDirty||K)&&(this._sourcesDirty=!1,this.style._updateSources(this.transform)),this.terrain?(this.terrain.tileManager.update(this.transform,this.terrain),this.transform.setMinElevationForCurrentTile(this.terrain.getMinTileElevationForLngLatZoom(this.transform.center,this.transform.tileZoom)),!this._elevationFreeze&&this._centerClampedToGround&&this.transform.setElevation(this.terrain.getElevationForLngLatZoom(this.transform.center,this.transform.tileZoom))):(this.transform.setMinElevationForCurrentTile(0),this._centerClampedToGround&&this.transform.setElevation(0)),this._placementDirty=(L=this.style)===null||L===void 0?void 0:L._updatePlacement(this.transform,this.showCollisionBoxes,N,this._crossSourceCollisions,K),this.painter.render(this.style,{showTileBoundaries:this.showTileBoundaries,showOverdrawInspector:this._showOverdrawInspector,rotating:this.isRotating(),zooming:this.isZooming(),moving:this.isMoving(),fadeDuration:N,showPadding:this.showPadding,anisotropicFilterPitch:this.getAnisotropicFilterPitch()}),this.fire(new g.n("render")),this.loaded()&&!this._loaded&&(this._loaded=!0,this.fire(new g.n("load"))),this.style&&(this.style.hasTransitions()||P)&&(this._styleDirty=!0),this.style&&!this._placementDirty&&this.style._releaseSymbolFadeTiles();let R=this._sourcesDirty||this._styleDirty||this._placementDirty;return R||this._repaint?this.triggerRepaint():!this.isMoving()&&this.loaded()&&this.fire(new g.n("idle")),!this._loaded||this._fullyLoaded||R||(this._fullyLoaded=!0),this}redraw(){return this.style&&(this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._render(0)),this}remove(){var u,r;this._hash&&this._hash.remove();for(let o of this._controls)o.onRemove(this);this._controls=[],this._frameRequest&&(this._frameRequest.abort(),this._frameRequest=null),this._renderTaskQueue.clear(),(u=this._diffStyleRequest)===null||u===void 0||u.abort(),this.painter.destroy(),this.handlers.destroy(),delete this.handlers,this.setStyle(null),typeof window{this._frameRequest=null;try{this._render(u)}catch(r){if(!g.$(r)&&!function(m){return m.message===e4}(r))throw r}},()=>{},this._ownerWindow))}get showTileBoundaries(){return!!this._showTileBoundaries}set showTileBoundaries(u){this._showTileBoundaries!==u&&(this._showTileBoundaries=u,this._update())}get showPadding(){return!!this._showPadding}set showPadding(u){this._showPadding!==u&&(this._showPadding=u,this._update())}get showCollisionBoxes(){return!!this._showCollisionBoxes}set showCollisionBoxes(u){this._showCollisionBoxes!==u&&(this._showCollisionBoxes=u,u?this.style._generateCollisionBoxes():this._update())}get showOverdrawInspector(){return!!this._showOverdrawInspector}set showOverdrawInspector(u){this._showOverdrawInspector!==u&&(this._showOverdrawInspector=u,this._update())}get repaint(){return!!this._repaint}set repaint(u){this._repaint!==u&&(this._repaint=u,this.triggerRepaint())}get vertices(){return!!this._vertices}set vertices(u){this._vertices=u,this._update()}get version(){return ac}getCameraTargetElevation(){return this.transform.elevation}getProjection(){return this.style.getProjection()}setProjection(u){return this._lazyInitEmptyStyle(),this.style.setProjection(u),this._update(!0)}},Kr={showCompass:!0,showZoom:!0,visualizePitch:!1,visualizeRoll:!0};class Z5{constructor(u,r,m=!1){this.mousedown=(s)=>{this.startMove(s,A1.mousePos(this.element,s)),window.addEventListener("mousemove",this.mousemove),window.addEventListener("mouseup",this.mouseup)},this.mousemove=(s)=>{this.move(s,A1.mousePos(this.element,s))},this.mouseup=(s)=>{this._rotatePitchHandler.dragEnd(s),this.offTemp()},this.touchstart=(s)=>{s.targetTouches.length!==1?this.reset():(this._startPos=this._lastPos=A1.touchPos(this.element,s.targetTouches)[0],this.startMove(s,this._startPos),window.addEventListener("touchmove",this.touchmove,{passive:!1}),window.addEventListener("touchend",this.touchend))},this.touchmove=(s)=>{s.targetTouches.length!==1?this.reset():(this._lastPos=A1.touchPos(this.element,s.targetTouches)[0],this.move(s,this._lastPos))},this.touchend=(s)=>{s.targetTouches.length===0&&this._startPos&&this._lastPos&&this._startPos.dist(this._lastPos){this._rotatePitchHandler.reset(),delete this._startPos,delete this._lastPos,this.offTemp()},this._clickTolerance=10,this.element=r;let o=new Wr;this._rotatePitchHandler=new ru({clickTolerance:3,move:(s,E)=>{let L=r.getBoundingClientRect(),N=new g.P((L.bottom-L.top)/2,(L.right-L.left)/2);return{bearingDelta:g.cx(new g.P(s.x,E.y),E,N),pitchDelta:m?-0.5*(E.y-s.y):void 0}},moveStateManager:o,enable:!0,assignEvents:()=>{}}),this.map=u,r.addEventListener("mousedown",this.mousedown),r.addEventListener("touchstart",this.touchstart,{passive:!1}),r.addEventListener("touchcancel",this.reset)}startMove(u,r){this._rotatePitchHandler.dragStart(u,r),A1.disableDrag()}move(u,r){let m=this.map,{bearingDelta:o,pitchDelta:s}=this._rotatePitchHandler.dragMove(u,r)||{};o&&m.setBearing(m.getBearing()+o),s&&m.setPitch(m.getPitch()+s)}off(){let u=this.element;u.removeEventListener("mousedown",this.mousedown),u.removeEventListener("touchstart",this.touchstart),window.removeEventListener("touchmove",this.touchmove),window.removeEventListener("touchend",this.touchend),u.removeEventListener("touchcancel",this.reset),this.offTemp()}offTemp(){A1.enableDrag(),window.removeEventListener("mousemove",this.mousemove),window.removeEventListener("mouseup",this.mouseup),window.removeEventListener("touchmove",this.touchmove),window.removeEventListener("touchend",this.touchend)}}let fu;function yc(u,r,m,o=!1){if(o||!m.getCoveringTilesDetailsProvider().allowWorldCopies())return u==null?void 0:u.wrap();let s=new g.W(u.lng,u.lat);if(u=new g.W(u.lng,u.lat),r){let E=new g.W(u.lng-360,u.lat),L=new g.W(u.lng+360,u.lat),N=m.locationToScreenPoint(u).distSqr(r);m.locationToScreenPoint(E).distSqr(r)<N?u=E:m.locationToScreenPoint(L).distSqr(r)180;){let E=m.locationToScreenPoint(u);if(E.x>=0&&E.y>=0&&E.x<=m.width&&E.ym.center.lng?u.lng-=360:u.lng+=360}return u.lng!==s.lng&&m.isPointOnMapSurface(m.locationToScreenPoint(u))?u:s}let Z3={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 wc(u,r,m){let o=u.classList;for(let s in Z3)o.remove(`maplibregl-${m}-anchor-${s}`);o.add(`maplibregl-${m}-anchor-${r}`)}class b5 extends g.E{constructor(u){if(super(),this._onClick=(r)=>{this.fire(new g.n("click",{originalEvent:r}))},this._onKeyPress=(r)=>{r.code!=="Space"&&r.code!=="Enter"||this.togglePopup()},this._onMapClick=(r)=>{let m=r.originalEvent.target,o=this._element;this._popup&&(m===o||o.contains(m))&&this.togglePopup()},this._update=(r)=>{if(!this._map)return;let m=this._map.loaded()&&!this._map.isMoving();((r==null?void 0:r.type)==="terrain"||(r==null?void 0:r.type)==="render"&&!m)&&this._map.once("render",this._update),this._lngLat=yc(this._lngLat,this._flatPos,this._map.transform),this._flatPos=this._pos=this._map.project(this._lngLat)._add(this._offset),this._map.terrain&&(this._flatPos=this._map.transform.locationToScreenPoint(this._lngLat)._add(this._offset));let o="";this._rotationAlignment==="viewport"||this._rotationAlignment==="auto"?o=`rotateZ(${this._rotation}deg)`:this._rotationAlignment==="map"&&(o=`rotateZ(${this._rotation-this._map.getBearing()}deg)`);let s="";this._pitchAlignment==="viewport"||this._pitchAlignment==="auto"?s="rotateX(0deg)":this._pitchAlignment==="map"&&(s=`rotateX(${this._map.getPitch()}deg)`),this._subpixelPositioning||r&&r.type!=="moveend"||(this._pos=this._pos.round()),this._element.style.transform=`${Z3[this._anchor]} translate(${this._pos.x}px, ${this._pos.y}px) ${s} ${o}`,N1.frameAsync(new AbortController,this._map._ownerWindow).then(()=>{this._updateOpacity((r==null?void 0:r.type)==="moveend")}).catch(()=>{})},this._onMove=(r)=>{if(!this._isDragging){let m=this._clickTolerance||this._map._clickTolerance;this._isDragging=r.point.dist(this._pointerdownPos)>=m}this._isDragging&&(this._pos=r.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 g.n("dragstart"))),this.fire(new g.n("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 g.n("dragend")),this._state="inactive"},this._addDragHandler=(r)=>{this._element.contains(r.originalEvent.target)&&(r.preventDefault(),this._positionDelta=r.point.sub(this._pos).add(this._offset),this._pointerdownPos=r.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=(u==null?void 0:u.anchor)||"center",this._color=(u==null?void 0:u.color)||"#3FB1CE",this._scale=(u==null?void 0:u.scale)||1,this._draggable=(u==null?void 0:u.draggable)||!1,this._clickTolerance=(u==null?void 0:u.clickTolerance)||0,this._subpixelPositioning=(u==null?void 0:u.subpixelPositioning)||!1,this._isDragging=!1,this._state="inactive",this._rotation=(u==null?void 0:u.rotation)||0,this._rotationAlignment=(u==null?void 0:u.rotationAlignment)||"auto",this._pitchAlignment=(u==null?void 0:u.pitchAlignment)&&u.pitchAlignment!=="auto"?u.pitchAlignment:this._rotationAlignment,this.setOpacity(u==null?void 0:u.opacity,u==null?void 0:u.opacityWhenCovered),u==null?void 0:u.element)this._element=u.element,this._offset=g.P.convert((u==null?void 0:u.offset)||[0,0]);else{this._defaultMarker=!0,this._element=A1.create("div");let r=A1.createNS("http://www.w3.org/2000/svg","svg"),m=41,o=27;r.setAttributeNS(null,"display","block"),r.setAttributeNS(null,"height",`${m}px`),r.setAttributeNS(null,"width",`${o}px`),r.setAttributeNS(null,"viewBox",`0 0 ${o} ${m}`);let s=A1.createNS("http://www.w3.org/2000/svg","g");s.setAttributeNS(null,"stroke","none"),s.setAttributeNS(null,"stroke-width","1"),s.setAttributeNS(null,"fill","none"),s.setAttributeNS(null,"fill-rule","evenodd");let E=A1.createNS("http://www.w3.org/2000/svg","g");E.setAttributeNS(null,"fill-rule","nonzero");let L=A1.createNS("http://www.w3.org/2000/svg","g");L.setAttributeNS(null,"transform","translate(3.0, 29.0)"),L.setAttributeNS(null,"fill","#000000");let N=[{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(let i of N){let X=A1.createNS("http://www.w3.org/2000/svg","ellipse");X.setAttributeNS(null,"opacity","0.04"),X.setAttributeNS(null,"cx","10.5"),X.setAttributeNS(null,"cy","5.80029008"),X.setAttributeNS(null,"rx",i.rx),X.setAttributeNS(null,"ry",i.ry),L.appendChild(X)}let F=A1.createNS("http://www.w3.org/2000/svg","g");F.setAttributeNS(null,"fill",this._color);let P=A1.createNS("http://www.w3.org/2000/svg","path");P.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"),F.appendChild(P);let K=A1.createNS("http://www.w3.org/2000/svg","g");K.setAttributeNS(null,"opacity","0.25"),K.setAttributeNS(null,"fill","#000000");let R=A1.createNS("http://www.w3.org/2000/svg","path");R.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"),K.appendChild(R);let U=A1.createNS("http://www.w3.org/2000/svg","g");U.setAttributeNS(null,"transform","translate(6.0, 7.0)"),U.setAttributeNS(null,"fill","#FFFFFF");let z=A1.createNS("http://www.w3.org/2000/svg","g");z.setAttributeNS(null,"transform","translate(8.0, 8.0)");let Q=A1.createNS("http://www.w3.org/2000/svg","circle");Q.setAttributeNS(null,"fill","#000000"),Q.setAttributeNS(null,"opacity","0.25"),Q.setAttributeNS(null,"cx","5.5"),Q.setAttributeNS(null,"cy","5.5"),Q.setAttributeNS(null,"r","5.4999962");let t=A1.createNS("http://www.w3.org/2000/svg","circle");t.setAttributeNS(null,"fill","#FFFFFF"),t.setAttributeNS(null,"cx","5.5"),t.setAttributeNS(null,"cy","5.5"),t.setAttributeNS(null,"r","5.4999962"),z.appendChild(Q),z.appendChild(t),E.appendChild(L),E.appendChild(F),E.appendChild(K),E.appendChild(U),E.appendChild(z),r.appendChild(E),r.setAttributeNS(null,"height",m*this._scale+"px"),r.setAttributeNS(null,"width",o*this._scale+"px"),this._element.appendChild(r),this._offset=g.P.convert((u==null?void 0:u.offset)||[0,-14])}if(this._element.classList.add("maplibregl-marker"),this._element.addEventListener("dragstart",(r)=>{r.preventDefault()}),this._element.addEventListener("mousedown",(r)=>{r.preventDefault()}),wc(this._element,this._anchor,"marker"),u==null?void 0:u.className)for(let r of u.className.split(" "))this._element.classList.add(r);this._popup=null}addTo(u){return this.remove(),this._map=u,this._element.hasAttribute("aria-label")||this._element.setAttribute("aria-label",u._getUIString("Marker.Title")),this._element.hasAttribute("role")||this._element.setAttribute("role","button"),u.getCanvasContainer().appendChild(this._element),u.on("move",this._update),u.on("moveend",this._update),u.on("terrain",this._update),u.on("projectiontransition",this._update),this._element.addEventListener("click",this._onClick),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("projectiontransition",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),this._element.removeEventListener("click",this._onClick),this._element.remove(),this._popup&&this._popup.remove(),this}getLngLat(){return this._lngLat}setLngLat(u){return this._lngLat=g.W.convert(u),this._pos=null,this._popup&&this._popup.setLngLat(this._lngLat),this._update(),this}getElement(){return this._element}setPopup(u){if(this._popup&&(this._popup.remove(),this._popup=null,this._element.removeEventListener("keypress",this._onKeyPress),this._originalTabIndex||this._element.removeAttribute("tabindex")),u){if(!("offset"in u.options)){let o=Math.abs(13.5)/Math.SQRT2;u.options.offset=this._defaultMarker?{top:[0,0],"top-left":[0,0],"top-right":[0,0],bottom:[0,-38.1],"bottom-left":[o,-1*(24.6+o)],"bottom-right":[-o,-1*(24.6+o)],left:[13.5,-24.6],right:[-13.5,-24.6]}:this._offset}this._popup=u,this._originalTabIndex=this._element.getAttribute("tabindex"),this._originalTabIndex||this._element.setAttribute("tabindex","0"),this._element.addEventListener("keypress",this._onKeyPress)}return this}setSubpixelPositioning(u){return this._subpixelPositioning=u,this}getPopup(){return this._popup}togglePopup(){let u=this._popup;return this._element.style.opacity===this._opacityWhenCovered?this:u?(u.isOpen()?u.remove():(u.setLngLat(this._lngLat),u.addTo(this._map)),this):this}_updateOpacity(u=!1){var r,m;let o=(r=this._map)===null||r===void 0?void 0:r.terrain,s=this._map.transform.isLocationOccluded(this._lngLat);if(!o||s){let U=s?this._opacityWhenCovered:this._opacity;return void(this._element.style.opacity!==U&&(this._element.style.opacity=U,this._element.classList.toggle("maplibregl-marker-covered",s)))}if(u)this._opacityTimeout=null;else{if(this._opacityTimeout)return;this._opacityTimeout=setTimeout(()=>{this._opacityTimeout=null},100)}let E=this._map,L=E.terrain.depthAtPoint(this._pos),N=E.terrain.getElevationForLngLat(this._lngLat,E.transform);if(E.transform.lngLatToCameraDepth(this._lngLat,N)-L0.006;((m=this._popup)===null||m===void 0?void 0:m.isOpen())&&R&&this._popup.remove(),this._element.style.opacity=R?this._opacityWhenCovered:this._opacity,this._element.classList.toggle("maplibregl-marker-covered",R)}getOffset(){return this._offset}setOffset(u){return this._offset=g.P.convert(u),this._update(),this}addClassName(u){this._element.classList.add(u)}removeClassName(u){this._element.classList.remove(u)}toggleClassName(u){return this._element.classList.toggle(u)}setDraggable(u){return this._draggable=!!u,this._map&&(u?(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(u){return this._rotation=u||0,this._update(),this}getRotation(){return this._rotation}setRotationAlignment(u){return this._rotationAlignment=u||"auto",this._update(),this}getRotationAlignment(){return this._rotationAlignment}setPitchAlignment(u){return this._pitchAlignment=u&&u!=="auto"?u:this._rotationAlignment,this._update(),this}getPitchAlignment(){return this._pitchAlignment}setOpacity(u,r){return(this._opacity===void 0||u===void 0&&r===void 0)&&(this._opacity="1",this._opacityWhenCovered="0.2"),u!==void 0&&(this._opacity=String(u)),r!==void 0&&(this._opacityWhenCovered=String(r)),this._map&&this._updateOpacity(!0),this}}let Ur={positionOptions:{enableHighAccuracy:!1,maximumAge:0,timeout:6000},fitBoundsOptions:{maxZoom:15},trackUserLocation:!1,showAccuracyCircle:!0,showUserLocation:!0},$5=0,d5=!1,Dr={maxWidth:100,unit:"metric"};function b3(u,r,m){let o=(m==null?void 0:m.maxWidth)||100,s=u._container.clientHeight/2,E=u._container.clientWidth/2,L=u.unproject([E-o/2,s]),N=u.unproject([E+o/2,s]),F=Math.round(u.project(N).x-u.project(L).x),P=Math.min(o,F,u._container.clientWidth),K=L.distanceTo(N);if((m==null?void 0:m.unit)==="imperial"){let R=3.2808*K;R>5280?m5(r,P,R/5280,u._getUIString("ScaleControl.Miles")):m5(r,P,R,u._getUIString("ScaleControl.Feet"))}else(m==null?void 0:m.unit)==="nautical"?m5(r,P,K/1852,u._getUIString("ScaleControl.NauticalMiles")):K>=1000?m5(r,P,K/1000,u._getUIString("ScaleControl.Kilometers")):m5(r,P,K,u._getUIString("ScaleControl.Meters"))}function m5(u,r,m,o){let s=function(E){let L=Math.pow(10,`${Math.floor(E)}`.length-1),N=E/L;return N=N>=10?10:N>=5?5:N>=3?3:N>=2?2:N>=1?1:function(F){let P=Math.pow(10,Math.ceil(-Math.log(F)/Math.LN10));return Math.round(F*P)/P}(N),L*N}(m);u.style.width=r*(s/m)+"px",u.innerHTML=`${s} ${o}`}let Rr={closeButton:!0,closeOnClick:!0,focusAfterOpen:!0,className:"",maxWidth:"240px",subpixelPositioning:!1,locationOccludedOpacity:void 0,padding:void 0},sc=["a[href]","[tabindex]:not([tabindex='-1'])","[contenteditable]:not([contenteditable='false'])","button:not([disabled])","input:not([disabled])","select:not([disabled])","textarea:not([disabled])"].join(", ");function Sc(u){if(u){if(typeof u=="number"){let r=Math.round(Math.abs(u)/Math.SQRT2);return{center:new g.P(0,0),top:new g.P(0,u),"top-left":new g.P(r,r),"top-right":new g.P(-r,r),bottom:new g.P(0,-u),"bottom-left":new g.P(r,-r),"bottom-right":new g.P(-r,-r),left:new g.P(u,0),right:new g.P(-u,0)}}if(u instanceof g.P||Array.isArray(u)){let r=g.P.convert(u);return{center:r,top:r,"top-left":r,"top-right":r,bottom:r,"bottom-left":r,"bottom-right":r,left:r,right:r}}return{center:g.P.convert(u.center||[0,0]),top:g.P.convert(u.top||[0,0]),"top-left":g.P.convert(u["top-left"]||[0,0]),"top-right":g.P.convert(u["top-right"]||[0,0]),bottom:g.P.convert(u.bottom||[0,0]),"bottom-left":g.P.convert(u["bottom-left"]||[0,0]),"bottom-right":g.P.convert(u["bottom-right"]||[0,0]),left:g.P.convert(u.left||[0,0]),right:g.P.convert(u.right||[0,0])}}return Sc(new g.P(0,0))}let Hr=H;V.AJAXError=g.cG,V.EXTENT=g.a6,V.Event=g.n,V.Evented=g.E,V.LngLat=g.W,V.MercatorCoordinate=g.a7,V.Point=g.P,V.addProtocol=g.cH,V.config=g.c,V.removeProtocol=g.cI,V.AttributionControl=r2,V.BoxZoomHandler=T2,V.CanvasSource=Zc,V.CooperativeGesturesHandler=$1,V.DoubleClickZoomHandler=vc,V.DragPanHandler=E2,V.DragRotateHandler=J5,V.EdgeInsets=L3,V.FullscreenControl=class extends g.E{constructor(u={}){var r;super(),this._onFullscreenChange=()=>{var m;let o=window.document.fullscreenElement||window.document.webkitFullscreenElement;for(;(m=o==null?void 0:o.shadowRoot)===null||m===void 0?void 0:m.fullscreenElement;)o=o.shadowRoot.fullscreenElement;o===this._container!==this._fullscreen&&this._handleFullscreenChange()},this._onClickFullscreen=()=>{this._isFullscreen()?this._exitFullscreen():this._requestFullscreen()},this._fullscreen=!1,this._pseudo=(r=u.pseudo)!==null&&r!==void 0&&r,(u==null?void 0:u.container)&&(u.container instanceof HTMLElement?this._container=u.container:g.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(u){return this._map=u,this._container||(this._container=this._map.getContainer()),this._controlContainer=A1.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),this._controlContainer}onRemove(){this._controlContainer.remove(),this._map=null,window.document.removeEventListener(this._fullscreenchange,this._onFullscreenChange)}_setupUI(){let u=this._fullscreenButton=A1.create("button","maplibregl-ctrl-fullscreen",this._controlContainer);A1.create("span","maplibregl-ctrl-icon",u).setAttribute("aria-hidden","true"),u.type="button",this._updateTitle(),this._fullscreenButton.addEventListener("click",this._onClickFullscreen),window.document.addEventListener(this._fullscreenchange,this._onFullscreenChange)}_updateTitle(){let u=this._getTitle();this._fullscreenButton.setAttribute("aria-label",u),this._fullscreenButton.title=u}_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 g.n("fullscreenstart")),this._prevCooperativeGesturesEnabled=this._map.cooperativeGestures.isEnabled(),this._map.cooperativeGestures.disable()):(this.fire(new g.n("fullscreenend")),this._prevCooperativeGesturesEnabled&&this._map.cooperativeGestures.enable())}_exitFullscreen(){this._pseudo?this._togglePseudoFullScreen():window.document.exitFullscreen?window.document.exitFullscreen():window.document.webkitCancelFullScreen?window.document.webkitCancelFullScreen():this._togglePseudoFullScreen()}_requestFullscreen(){this._pseudo?this._togglePseudoFullScreen():this._container.requestFullscreen?this._container.requestFullscreen():this._container.webkitRequestFullscreen?this._container.webkitRequestFullscreen():this._togglePseudoFullScreen()}_togglePseudoFullScreen(){this._container.classList.toggle("maplibregl-pseudo-fullscreen"),this._handleFullscreenChange(),this._map.resize()}},V.GeoJSONSource=N4,V.GeolocateControl=class extends g.E{constructor(u){super(),this._onSuccess=(r)=>{if(this._map){if(this._isOutOfMapMaxBounds(r))return this._setErrorState(),this.fire(new g.n("outofmaxbounds",r)),this._updateMarker(),void this._finish();if(this.options.trackUserLocation)switch(this._lastKnownPosition=r,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 Error(`Unexpected watchState ${this._watchState}`)}this.options.showUserLocation&&this._watchState!=="OFF"&&this._updateMarker(r),this.options.trackUserLocation&&this._watchState!=="ACTIVE_LOCK"||this._updateCamera(r),this.options.showUserLocation&&this._dotElement.classList.remove("maplibregl-user-location-dot-stale"),this.fire(new g.n("geolocate",r)),this._finish()}},this._updateCamera=(r)=>{let m=new g.W(r.coords.longitude,r.coords.latitude),o=r.coords.accuracy,s=this._map.getBearing(),E=g.e({bearing:s},this.options.fitBoundsOptions),L=gl.fromLngLat(m,o);this._map.fitBounds(L,E,{geolocateSource:!0})},this._updateMarker=(r)=>{if(r){let m=new g.W(r.coords.longitude,r.coords.latitude);this._accuracyCircleMarker.setLngLat(m).addTo(this._map),this._userLocationDotMarker.setLngLat(m).addTo(this._map),this._accuracy=r.coords.accuracy,this._updateCircleRadiusIfNeeded()}else this._userLocationDotMarker.remove(),this._accuracyCircleMarker.remove()},this._onUpdate=()=>{this._updateCircleRadiusIfNeeded()},this._onError=(r)=>{if(this._map){if(r.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;let m=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.title=m,this._geolocateButton.setAttribute("aria-label",m),this._geolocationWatchID!==void 0&&this._clearWatch()}else{if(r.code===3&&d5)return;this._setErrorState()}this._watchState!=="OFF"&&this.options.showUserLocation&&this._dotElement.classList.add("maplibregl-user-location-dot-stale"),this.fire(new g.n("error",r)),this._finish()}},this._finish=()=>{this._timeoutId&&clearTimeout(this._timeoutId),this._timeoutId=void 0},this._onMoveStart=(r)=>{if(!this._map)return;let m=(r==null?void 0:r[0])instanceof ResizeObserverEntry;r.geolocateSource||this._watchState!=="ACTIVE_LOCK"||m||this._map.isZooming()||(this._watchState="BACKGROUND",this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-background"),this._geolocateButton.classList.remove("maplibregl-ctrl-geolocate-active"),this.fire(new g.n("trackuserlocationend")),this.fire(new g.n("userlocationlostfocus")))},this._setupUI=()=>{this._map&&(this._container.addEventListener("contextmenu",(r)=>{r.preventDefault()}),this._geolocateButton=A1.create("button","maplibregl-ctrl-geolocate",this._container),A1.create("span","maplibregl-ctrl-icon",this._geolocateButton).setAttribute("aria-hidden","true"),this._geolocateButton.type="button",this._geolocateButton.disabled=!0)},this._finishSetupUI=(r)=>{if(this._map){if(r===!1){g.w("Geolocation support is not available so the GeolocateControl will be disabled.");let m=this._map._getUIString("GeolocateControl.LocationNotAvailable");this._geolocateButton.disabled=!0,this._geolocateButton.title=m,this._geolocateButton.setAttribute("aria-label",m)}else{let m=this._map._getUIString("GeolocateControl.FindMyLocation");this._geolocateButton.disabled=!1,this._geolocateButton.title=m,this._geolocateButton.setAttribute("aria-label",m)}this.options.trackUserLocation&&(this._geolocateButton.setAttribute("aria-pressed","false"),this._watchState="OFF"),this.options.showUserLocation&&(this._dotElement=A1.create("div","maplibregl-user-location-dot"),this._userLocationDotMarker=new b5({element:this._dotElement}),this._circleElement=A1.create("div","maplibregl-user-location-accuracy-circle"),this._accuracyCircleMarker=new b5({element:this._circleElement,pitchAlignment:"map"}),this.options.trackUserLocation&&(this._watchState="OFF"),this._map.on("zoom",this._onUpdate),this._map.on("move",this._onUpdate),this._map.on("rotate",this._onUpdate),this._map.on("pitch",this._onUpdate)),this._geolocateButton.addEventListener("click",()=>this.trigger()),this._setup=!0,this.options.trackUserLocation&&this._map.on("movestart",this._onMoveStart)}},this.options=g.e({},Ur,u)}onAdd(u){return this._map=u,this._container=A1.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._setupUI(),function(){return g._(this,arguments,void 0,function*(r=!1){if(fu!==void 0&&!r)return fu;if(window.navigator.permissions===void 0)return fu=!!window.navigator.geolocation,fu;try{fu=(yield window.navigator.permissions.query({name:"geolocation"})).state!=="denied"}catch(m){fu=!!window.navigator.geolocation}return fu})}().then((r)=>this._finishSetupUI(r)),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(),this._container.remove(),this._map.off("movestart",this._onMoveStart),this._map.off("zoom",this._onUpdate),this._map.off("move",this._onUpdate),this._map.off("rotate",this._onUpdate),this._map.off("pitch",this._onUpdate),this._map=void 0,$5=0,d5=!1}_isOutOfMapMaxBounds(u){let r=this._map.getMaxBounds(),m=u.coords;return r&&(m.longituder.getEast()||m.latituder.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":case"BACKGROUND_ERROR":case"OFF":case void 0:break;default:throw Error(`Unexpected watchState ${this._watchState}`)}}_updateCircleRadiusIfNeeded(){let u=this._userLocationDotMarker.getLngLat();if(!(this.options.showUserLocation&&this.options.showAccuracyCircle&&this._accuracy&&u))return;let r=this._map.project(u),m=this._map.unproject([r.x+100,r.y]),o=u.distanceTo(m)/100,s=2*this._accuracy/o;this._circleElement.style.width=`${s.toFixed(2)}px`,this._circleElement.style.height=`${s.toFixed(2)}px`}trigger(){if(!this._setup)return g.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 g.n("trackuserlocationstart"));break;case"WAITING_ACTIVE":case"ACTIVE_LOCK":case"ACTIVE_ERROR":case"BACKGROUND_ERROR":$5--,d5=!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 g.n("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 g.n("trackuserlocationstart")),this.fire(new g.n("userlocationfocus"));break;default:throw 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 Error(`Unexpected watchState ${this._watchState}`)}if(this._watchState==="OFF"&&this._geolocationWatchID!==void 0)this._clearWatch();else if(this._geolocationWatchID===void 0){let u;this._geolocateButton.classList.add("maplibregl-ctrl-geolocate-waiting"),this._geolocateButton.setAttribute("aria-pressed","true"),$5++,$5>1?(u={maximumAge:600000,timeout:0},d5=!0):(u=this.options.positionOptions,d5=!1),this._geolocationWatchID=window.navigator.geolocation.watchPosition(this._onSuccess,this._onError,u)}}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)}},V.GlobeControl=class{constructor(){this._toggleProjection=()=>{var u;let r=(u=this._map.getProjection())===null||u===void 0?void 0:u.type;this._map.setProjection(r!=="mercator"&&r?{type:"mercator"}:{type:"globe"}),this._updateGlobeIcon()},this._updateGlobeIcon=()=>{var u;this._globeButton.classList.remove("maplibregl-ctrl-globe"),this._globeButton.classList.remove("maplibregl-ctrl-globe-enabled"),((u=this._map.getProjection())===null||u===void 0?void 0:u.type)==="globe"?(this._globeButton.classList.add("maplibregl-ctrl-globe-enabled"),this._globeButton.title=this._map._getUIString("GlobeControl.Disable")):(this._globeButton.classList.add("maplibregl-ctrl-globe"),this._globeButton.title=this._map._getUIString("GlobeControl.Enable"))}}onAdd(u){return this._map=u,this._container=A1.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._globeButton=A1.create("button","maplibregl-ctrl-globe",this._container),A1.create("span","maplibregl-ctrl-icon",this._globeButton).setAttribute("aria-hidden","true"),this._globeButton.type="button",this._globeButton.addEventListener("click",this._toggleProjection),this._updateGlobeIcon(),this._map.on("styledata",this._updateGlobeIcon),this._map.on("projectiontransition",this._updateGlobeIcon),this._container}onRemove(){this._container.remove(),this._map.off("styledata",this._updateGlobeIcon),this._map.off("projectiontransition",this._updateGlobeIcon),this._globeButton.removeEventListener("click",this._toggleProjection),this._map=void 0}},V.Hash=G3,V.ImageSource=Wu,V.KeyboardHandler=Q7,V.LngLatBounds=gl,V.LogoControl=Br,V.Map=hc,V.MapLibreMap=hc,V.MapMouseEvent=c2,V.MapTouchEvent=j3,V.MapWheelEvent=B7,V.Marker=b5,V.NavigationControl=class{constructor(u){this._updateZoomButtons=()=>{let r=this._map.getZoom(),m=r===this._map.getMaxZoom(),o=r===this._map.getMinZoom();this._zoomInButton.disabled=m,this._zoomOutButton.disabled=o,this._zoomInButton.setAttribute("aria-disabled",m.toString()),this._zoomOutButton.setAttribute("aria-disabled",o.toString())},this._rotateCompassArrow=()=>{this._compassIcon.style.transform=this.options.visualizePitch&&this.options.visualizeRoll?`scale(${1/Math.pow(Math.cos(this._map.transform.pitchInRadians),0.5)}) rotateZ(${-this._map.transform.roll}deg) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizePitch?`scale(${1/Math.pow(Math.cos(this._map.transform.pitchInRadians),0.5)}) rotateX(${this._map.transform.pitch}deg) rotateZ(${-this._map.transform.bearing}deg)`:this.options.visualizeRoll?`rotate(${-this._map.transform.bearing-this._map.transform.roll}deg)`:`rotate(${-this._map.transform.bearing}deg)`},this._setButtonTitle=(r,m)=>{let o=this._map._getUIString(`NavigationControl.${m}`);r.title=o,r.setAttribute("aria-label",o)},this.options=g.e({},Kr,u),this._container=A1.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._container.addEventListener("contextmenu",(r)=>r.preventDefault()),this.options.showZoom&&(this._zoomInButton=this._createButton("maplibregl-ctrl-zoom-in",(r)=>this._map.zoomIn({},{originalEvent:r})),A1.create("span","maplibregl-ctrl-icon",this._zoomInButton).setAttribute("aria-hidden","true"),this._zoomOutButton=this._createButton("maplibregl-ctrl-zoom-out",(r)=>this._map.zoomOut({},{originalEvent:r})),A1.create("span","maplibregl-ctrl-icon",this._zoomOutButton).setAttribute("aria-hidden","true")),this.options.showCompass&&(this._compass=this._createButton("maplibregl-ctrl-compass",(r)=>{this.options.visualizePitch?this._map.resetNorthPitch({},{originalEvent:r}):this._map.resetNorth({},{originalEvent:r})}),this._compassIcon=A1.create("span","maplibregl-ctrl-icon",this._compass),this._compassIcon.setAttribute("aria-hidden","true"))}onAdd(u){return this._map=u,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.options.visualizeRoll&&this._map.on("roll",this._rotateCompassArrow),this._map.on("rotate",this._rotateCompassArrow),this._rotateCompassArrow(),this._handler=new Z5(this._map,this._compass,this.options.visualizePitch)),this._container}onRemove(){this._container.remove(),this.options.showZoom&&this._map.off("zoom",this._updateZoomButtons),this.options.showCompass&&(this.options.visualizePitch&&this._map.off("pitch",this._rotateCompassArrow),this.options.visualizeRoll&&this._map.off("roll",this._rotateCompassArrow),this._map.off("rotate",this._rotateCompassArrow),this._handler.off(),delete this._handler),delete this._map}_createButton(u,r){let m=A1.create("button",u,this._container);return m.type="button",m.addEventListener("click",r),m}},V.Popup=class extends g.E{constructor(u){super(),this._updateOpacity=()=>{this.options.locationOccludedOpacity!==void 0&&(this._container.style.opacity=this._map.transform.isLocationOccluded(this.getLngLat())?`${this.options.locationOccludedOpacity}`:"")},this.remove=()=>(this._content&&this._content.remove(),this._container&&(this._container.remove(),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("terrain",this._update),this._map.off("projectiontransition",this._update),this._map.off("mousemove",this._update),this._map.off("mouseup",this._update),this._map.off("drag",this._update),this._map._canvasContainer.classList.remove("maplibregl-track-pointer"),delete this._map,this.fire(new g.n("close"))),this),this._update=(r)=>{if(!this._map||!this._lngLat&&!this._trackPointer||!this._content)return;if(!this._container){if(this._container=A1.create("div","maplibregl-popup",this._map.getContainer()),this._tip=A1.create("div","maplibregl-popup-tip",this._container),this._container.appendChild(this._content),this.options.className)for(let N of this.options.className.split(" "))this._container.classList.add(N);this._closeButton&&this._closeButton.setAttribute("aria-label",this._map._getUIString("Popup.Close")),this._trackPointer&&this._container.classList.add("maplibregl-popup-track-pointer")}let m;if(this.options.maxWidth&&this._container.style.maxWidth!==this.options.maxWidth&&(this._container.style.maxWidth=this.options.maxWidth),this._lngLat=yc(this._lngLat,this._flatPos,this._map.transform,this._trackPointer),r&&"point"in r&&r.point&&(m=r.point),this._trackPointer&&!m)return;let o=this._flatPos=this._pos=this._trackPointer&&m?m:this._map.project(this._lngLat);this._map.terrain&&(this._flatPos=this._trackPointer&&m?m:this._map.transform.locationToScreenPoint(this._lngLat));let s=this.options.anchor,E=Sc(this.options.offset);if(!s){let N=this._container.offsetWidth,F=this._container.offsetHeight,P=function(R){var U,z,Q,t;return R?{top:(U=R.top)!==null&&U!==void 0?U:0,right:(z=R.right)!==null&&z!==void 0?z:0,bottom:(Q=R.bottom)!==null&&Q!==void 0?Q:0,left:(t=R.left)!==null&&t!==void 0?t:0}:{top:0,right:0,bottom:0,left:0}}(this.options.padding),K;K=o.y+E.bottom.ythis._map.transform.height-F-P.bottom?["bottom"]:[],o.xthis._map.transform.width-N/2-P.right&&K.push("right"),s=K.length===0?"bottom":K.join("-")}let L=o.add(E[s]);this.options.subpixelPositioning||(L=L.round()),this._container.style.transform=`${Z3[s]} translate(${L.x}px,${L.y}px)`,wc(this._container,s,"popup"),this._updateOpacity()},this._onClose=()=>{this.remove()},this.options=g.e(Object.create(Rr),u)}addTo(u){return this._map&&this.remove(),this._map=u,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._map.on("terrain",this._update),this._map.on("projectiontransition",this._update),this._update(),this._focusFirstElement(),this._trackPointer?(this._map.on("mousemove",this._update),this._map.on("mouseup",this._update),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 g.n("open")),this}isOpen(){return!!this._map}getLngLat(){return this._lngLat}setLngLat(u){return this._lngLat=g.W.convert(u),this._pos=null,this._flatPos=null,this._trackPointer=!1,this._update(),this._map&&(this._map.on("move",this._update),this._map.off("mousemove",this._update),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._update),this._map.on("drag",this._update),this._container&&this._container.classList.add("maplibregl-popup-track-pointer"),this._map._canvasContainer.classList.add("maplibregl-track-pointer")),this}getElement(){return this._container}setText(u){return this.setDOMContent(document.createTextNode(u))}setHTML(u){let r=document.createDocumentFragment(),m=document.createElement("body"),o;for(m.innerHTML=u;o=m.firstChild,o;)r.appendChild(o);return this.setDOMContent(r)}getMaxWidth(){var u;return(u=this._container)===null||u===void 0?void 0:u.style.maxWidth}setMaxWidth(u){return this.options.maxWidth=u,this._update(),this}setDOMContent(u){if(this._content)for(;this._content.hasChildNodes();)this._content.firstChild&&this._content.removeChild(this._content.firstChild);else this._content=A1.create("div","maplibregl-popup-content",this._container);return this._content.appendChild(u),this._createCloseButton(),this._update(),this._focusFirstElement(),this}addClassName(u){return this._container&&this._container.classList.add(u),this}removeClassName(u){return this._container&&this._container.classList.remove(u),this}setOffset(u){return this.options.offset=u,this._update(),this}toggleClassName(u){if(this._container)return this._container.classList.toggle(u)}setSubpixelPositioning(u){this.options.subpixelPositioning=u}setPadding(u){this.options.padding=u,this._update()}_createCloseButton(){this.options.closeButton&&(this._closeButton=A1.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;let u=this._container.querySelector(sc);u&&u.focus()}},V.RasterDEMTileSource=W0,V.RasterTileSource=u0,V.ScaleControl=class{constructor(u){this._onMove=()=>{b3(this._map,this._container,this.options)},this.setUnit=(r)=>{this.options.unit=r,b3(this._map,this._container,this.options)},this.options=Object.assign(Object.assign({},Dr),u)}getDefaultPosition(){return"bottom-left"}onAdd(u){return this._map=u,this._container=A1.create("div","maplibregl-ctrl maplibregl-ctrl-scale",u.getContainer()),this._map.on("move",this._onMove),this._onMove(),this._container}onRemove(){this._container.remove(),this._map.off("move",this._onMove),this._map=void 0}},V.ScrollZoomHandler=gc,V.Style=l5,V.TerrainControl=class{constructor(u){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=u}onAdd(u){return this._map=u,this._container=A1.create("div","maplibregl-ctrl maplibregl-ctrl-group"),this._terrainButton=A1.create("button","maplibregl-ctrl-terrain",this._container),A1.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(){this._container.remove(),this._map.off("terrain",this._updateTerrainIcon),this._map=void 0}},V.TwoFingersTouchPitchHandler=pu,V.TwoFingersTouchRotateHandler=O7,V.TwoFingersTouchZoomHandler=Y7,V.TwoFingersTouchZoomRotateHandler=T1,V.VectorTileSource=w0,V.VideoSource=Xu,V.addSourceType=(u,r)=>g._(void 0,void 0,void 0,function*(){if(bc(u))throw Error(`A source type called "${u}" already exists.`);((m,o)=>{z6[m]=o})(u,r)}),V.clearPrewarmedResources=function(){let u=Au;u&&(u.isPreloaded()&&u.numActive()===1?(u.release(O0),Au=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()"))},V.createTileMesh=F3,V.getGlobalDispatcher=G0,V.getMaxParallelImageRequests=function(){return g.c.MAX_PARALLEL_IMAGE_REQUESTS},V.getRTLTextPluginStatus=function(){return Tu().getRTLTextPluginStatus()},V.getVersion=function(){return Hr},V.getWorkerCount=function(){return l0.workerCount},V.getWorkerUrl=function(){return g.c.WORKER_URL},V.importScriptInWorkers=function(u){return G0().broadcast("IS",u)},V.isTimeFrozen=function(){return V1.isFrozen()},V.now=q1,V.prewarm=function(){V5().acquire(O0)},V.restoreNow=function(){V1.restoreNow()},V.setMaxParallelImageRequests=function(u){g.c.MAX_PARALLEL_IMAGE_REQUESTS=u},V.setNow=function(u){V1.setNow(u)},V.setRTLTextPlugin=function(u,r){return Tu().setRTLTextPlugin(u,r)},V.setWorkerCount=function(u){l0.workerCount=u},V.setWorkerUrl=function(u){g.c.WORKER_URL=u}});var x=f;return x})});var LS=p4(k8(),1),CS=p4(sS(),1);var e2=p4(k8(),1),R6=p4(SS(),1);var kS="data:image/png;base64,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";var ES=p4(k8(),1),WW=Symbol.for("react.element");var LW=Object.prototype.hasOwnProperty,CW=ES.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,xW={key:!0,ref:!0,__self:!0,__source:!0};function nS(f,v,S){var x,V={},g=null,H=null;S!==void 0&&(g=""+S),v.key!==void 0&&(g=""+v.key),v.ref!==void 0&&(H=v.ref);for(x in v)LW.call(v,x)&&!xW.hasOwnProperty(x)&&(V[x]=v[x]);if(f&&f.defaultProps)for(x in v=f.defaultProps,v)V[x]===void 0&&(V[x]=v[x]);return{$$typeof:WW,type:f,key:g,ref:H,props:V,_owner:CW.current}}var G1=nS,El=nS;var NW="https://external.xx.fbcdn.net/maps/vt/style/canterbury_1_0/?locale=en_US&_nc_client_id=metaai_artifact&_nc_client_caller=MetaAI",pa=["https://www.zagoraexperience.com/wp-content/uploads/2026/10/tangeri-a-marrakech-via-deserto-7-giorni-viaggio-organizzato-in-marocco-tour-privati-con-guida-parla-italiana-zagora-experience-chefchaouen-.avif","https://www.zagoraexperience.com/wp-content/uploads/2026/10/tangeri-a-marrakech-via-deserto-7-giorni-viaggio-organizzato-in-marocco-tour-privati-con-guida-parla-italiana-zagora-experience.avif","https://www.zagoraexperience.com/wp-content/uploads/2026/10/tangeri-a-marrakech-via-deserto-viaggio-organizzato-in-marocco-tour-privati-con-guida-parla-italiana.avif","https://www.zagoraexperience.com/wp-content/uploads/2026/10/tangeri-akchour-marrakech-via-deserto-7-giorni-viaggio-organizzato-in-marocco-tour-privati-con-guida-parla-italiana.avif"],FW=[{label:"Giorno 1: Tangeri - Partenza",lat:35.77979,lng:-5.80347,city:"Tangeri"},{label:"Giorno 1-2: Chefchaouen Blu + Akchour",lat:35.16518,lng:-5.26186,city:"Chefchaouen"},{label:"Giorno 3: Fès Medina UNESCO",lat:34.02667,lng:-5.00443,city:"Fès"},{label:"Giorno 4: Merzouga Deserto Cammelli",lat:31.09919,lng:-4.01661,city:"Merzouga"},{label:"Giorno 5: Todra & Dades Gorges",lat:31.54916,lng:-5.5832,city:"Todra"},{label:"Giorno 6: Ait Benhaddou Ksar",lat:31.0473,lng:-7.1289,city:"Ait Benhaddou"},{label:"Giorno 7: Marrakech - Arrivo",lat:31.62464,lng:-7.99164,city:"Marrakech"}],AS=[[-5.80347,35.77979],[-5.26186,35.16518],[-5.00443,34.02667],[-4.01661,31.09919],[-5.5832,31.54916],[-7.1289,31.0473],[-7.99164,31.62464]],VS=["Tangeri","Chefchaouen","Fès","Merzouga","Todra","Ait Benhaddou","Marrakech"],WS=["112 km","205 km","470 km","130 km","165 km","188 km"];function fa(){let f=e2.useRef(null),v=e2.useRef(null),[S,x]=e2.useState(0),[V,g]=e2.useState(!0),[H,b]=e2.useState(5);return e2.useEffect(()=>{let _=setInterval(()=>x((g1)=>(g1+1)%pa.length),2000);return()=>clearInterval(_)},[]),e2.useEffect(()=>{document.title="tangeri marrakech via deserto 7 giorni: tour lusso privato";let _=document.querySelector('meta[name="description"]')||document.createElement("meta");if(_.name="description",_.content="tangeri marrakech via deserto 7 giorni: tour privato di lusso con guida italiana, 1.450km di trajet bayan da Tangeri a Marrakech via Sahara e riad.",!_.parentNode)document.head.appendChild(_)},[]),e2.useEffect(()=>{if(!f.current)return;try{let _=new R6.default.Map({container:f.current,style:NW,attributionControl:!0,center:[-5.5,33.5],zoom:5});v.current=_,_.addControl(new R6.default.NavigationControl({showCompass:!1}),"top-right"),_.on("error",()=>{}),_.on("zoom",()=>{try{b(Math.round(_.getZoom()*10)/10)}catch{}}),_.on("load",()=>{g(!1);try{b(Math.round(_.getZoom()*10)/10)}catch{}_.addSource("tour-route",{type:"geojson",data:{type:"Feature",properties:{},geometry:{type:"LineString",coordinates:AS}}}),_.addLayer({id:"tour-route-glow",type:"line",source:"tour-route",layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"#C5A46A","line-width":12,"line-opacity":0.22,"line-blur":5}}),_.addLayer({id:"tour-route-line",type:"line",source:"tour-route",layout:{"line-join":"round","line-cap":"round"},paint:{"line-color":"#C5A46A","line-width":4,"line-opacity":0.9}});let g1=new R6.default.LngLatBounds;AS.forEach((x1)=>g1.extend(x1)),_.fitBounds(g1,{padding:70,duration:1000}),FW.forEach((x1,N1)=>{let V1=document.createElement("div");V1.style.width="32px",V1.style.height="32px",V1.style.background="#111",V1.style.border="2px solid #C5A46A",V1.style.borderRadius="50%",V1.style.display="flex",V1.style.alignItems="center",V1.style.justifyContent="center",V1.style.color="#C5A46A",V1.style.fontWeight="700",V1.style.fontSize="13px",V1.style.fontFamily="Inter",V1.style.boxShadow="0 4px 12px rgba(197,164,106,0.35)",V1.textContent=String(N1+1);let q1=new R6.default.Popup({offset:20,closeButton:!1}).setHTML(`

${N1+1}. ${x1.city}
${x1.label}
`);new R6.default.Marker({element:V1,anchor:"center"}).setLngLat([x1.lng,x1.lat]).setPopup(q1).addTo(_)})})}catch{}return()=>v.current?.remove()},[]),El("div",{className:"min-h-screen bg-[#FFFEFB] text-[#141414]",children:[G1("style",{children:"@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Inter:wght@300;400;500;600&display=swap'); .playfair{font-family:'Playfair Display',serif} .inter{font-family:'Inter',sans-serif} [contenteditable]:focus{outline:none}"}),G1("header",{className:"border-b border-[#C5A46A]/15 bg-[#FFFEFB]/90 backdrop-blur sticky top-0 z-30",children:El("div",{className:"mx-auto max-w-[1160px] px-5 md:px-8 h-[52px] flex items-center justify-between",children:[El("a",{href:"https://www.zagoraexperience.com/",target:"_blank",rel:"noopener",className:"flex items-center gap-2",children:[G1("img",{src:"https://www.zagoraexperience.com/wp-content/uploads/2023/05/LOGO.png",alt:"Zagora Experience",className:"h-[20px] w-auto"}),G1("span",{className:"inter text-[10px] tracking-[0.22em] uppercase text-[#8A7A5A] hidden md:inline",children:"Lusso Privato"})]}),G1("a",{href:"mailto:abdalhadi.tours@gmail.com",className:"inter text-[11px] md:text-[12px] text-[#555] hover:text-black",children:"abdalhadi.tours@gmail.com"})]})}),El("main",{className:"mx-auto max-w-[1160px] px-5 md:px-8 pt-10 md:pt-14",children:[El("div",{className:"grid md:grid-cols-[1.15fr_0.85fr] gap-8 md:gap-10 items-start",children:[El("div",{children:[G1("h1",{className:"playfair text-[30px] md:text-[44px] leading-[0.97] font-semibold tracking-tight",children:"tangeri marrakech via deserto 7 giorni: tour privato di lusso da Tangeri"}),G1("p",{className:"inter mt-3 text-[11px] tracking-[0.2em] uppercase text-[#C5A46A] font-semibold",children:"7 Giorni / 6 Notti · Guida Italiana · Privato"}),G1("div",{className:"mt-5 inter text-[15.5px] leading-[1.75] text-[#2A2A2A]",contentEditable:!0,suppressContentEditableWarning:!0,children:El("p",{children:[G1("strong",{children:"tangeri marrakech via deserto 7 giorn"})," è il viaggio organizzato di lusso che collega il Mediterraneo al Sahara in un unico trajet bayan, chiaro e memorabile. Infatti, questo tour privato di 7 giorni parte da Tangeri e arriva a Marrakech attraversando Chefchaouen, Fès, Merzouga, Todra e Ait Benhaddou con una linea oro visibile su mappa. Inoltre, viaggerai con autista privato e guida che parla italiano, dormendo in riad boutique e campi tendati di lusso. Quindi, se cerchi un’esperienza autentica ma raffinata, questo itinerario è pensato esattamente per te."]})}),El("div",{className:"mt-5 flex gap-2 inter text-[11px]",children:[G1("span",{className:"px-3 py-1.5 rounded-full bg-black text-white",children:"Totale 1.450 km"}),G1("span",{className:"px-3 py-1.5 rounded-full border border-black/10",children:"Privato"}),G1("span",{className:"px-3 py-1.5 rounded-full border border-black/10",children:"Guida Italiana"})]})]}),El("div",{className:"w-full",children:[G1("div",{className:"relative w-full aspect-[16/10] rounded-[20px] overflow-hidden border border-[#C5A46A]/25 shadow-[0_18px_50px_rgba(0,0,0,0.12)] bg-[#F6F1E8]",children:pa.map((_,g1)=>G1("img",{src:_,alt:`tour ${g1+1}`,className:`absolute inset-0 w-full h-full object-cover transition-opacity duration-700 ${g1===S?"opacity-100":"opacity-0"}`,onError:(x1)=>{x1.target.style.display="none"}},_))}),G1("div",{className:"mt-3 flex gap-1.5",children:pa.map((_,g1)=>G1("div",{className:`h-[2px] flex-1 rounded-full ${g1===S?"bg-[#C5A46A]":"bg-black/10"}`},g1))})]})]}),El("section",{id:"mappa",className:"mt-14 md:mt-20",children:[El("div",{className:"flex items-center gap-4 mb-5",children:[G1("div",{className:"h-px flex-1 bg-[#C5A46A]/30"}),G1("h2",{className:"playfair text-[20px] md:text-[26px] font-semibold text-center",children:"Mappa Trajet Bayan – tangeri marrakech via deserto 7 giorn"}),G1("div",{className:"h-px flex-1 bg-[#C5A46A]/30"})]}),El("div",{className:"relative w-full rounded-[20px] border border-[#C5A46A]/40 overflow-hidden bg-[#F9F5EB] shadow-[0_24px_70px_rgba(197,164,106,0.18),0_8px_20px_rgba(0,0,0,0.08)]",style:{height:"480px"},children:[V&&G1("img",{src:kS,alt:"Mappa fallback",className:"absolute inset-0 w-full h-full object-cover z-10"}),G1("div",{ref:f,className:"absolute inset-0 w-full h-full"}),El("div",{className:"absolute top-3 left-3 z-20 inter text-[11px] bg-white/90 backdrop-blur px-3 py-1.5 rounded-full border border-[#C5A46A]/20 flex items-center gap-2",children:[G1("span",{className:"w-5 h-[3px] bg-[#C5A46A] rounded"})," Trajet Oro · Zoom ",H," · 1.450 km"]})]}),G1("div",{className:"mt-4 rounded-[14px] border border-[#C5A46A]/20 bg-white p-4",children:El("div",{className:"flex flex-wrap items-center gap-2",children:[VS.map((_,g1)=>El(e2.default.Fragment,{children:[El("div",{className:"inter flex items-center gap-1.5 px-3 py-1.5 rounded-full bg-[#101010] text-white text-[12px] border border-[#C5A46A]/30",children:[G1("span",{className:"w-5 h-5 rounded-full bg-[#C5A46A] text-black flex items-center justify-center text-[11px] font-bold",children:g1+1}),_,g1<WS.length&&G1("span",{className:"text-[10px] text-[#C5A46A] ml-1",children:WS[g1]})]}),g1<VS.length-1&&G1("span",{className:"text-[#C5A46A]",children:"→"})]},_)),G1("span",{className:"inter text-[11px] px-3 py-1 rounded-full bg-[#C5A46A]/15 border border-[#C5A46A]/30",children:"Totale 1.450 km"})]})})]}),El("article",{className:"mt-14 md:mt-16 pb-20 inter text-[14.8px] leading-[1.9] text-[#222]",contentEditable:!0,suppressContentEditableWarning:!0,children:[El("section",{id:"perche",children:[G1("h2",{className:"playfair text-[26px] md:text-[30px] font-semibold leading-tight",children:"Perché scegliere questo tour tangeri marrakech via deserto 7 giorn"}),G1("p",{className:"mt-4",children:"Infatti, molti viaggiatori cercano un tour da Tangeri a Marrakech ma trovano solo pin sparsi su una mappa, senza una vera logica di percorso. Quindi, abbiamo progettato questo trajet bayan perché sia immediatamente leggibile: una linea oro continua che unisce 7 tappe in sequenza, senza salti illogici. Inoltre, il percorso è bilanciato: circa 1.450 km totali spalmati su 7 giorni, con medie giornaliere confortevoli e tempo dedicato alle visite. Di conseguenza, non correrai, ma assaporerai ogni luogo."}),G1("p",{className:"mt-3",children:"Tuttavia, la vera differenza è lo stile. Per esempio, dormi in riad selezionati nella medina di Chefchaouen e Fès, in un lodge fronte dune a Merzouga e in una kasbah boutique vicino a Ait Benhaddou. Inoltre, il trasporto è privato in 4x4 o minivan premium con autista esperto. Quindi, avrai flessibilità totale su soste foto, pranzi locali e tempi. Infatti, ogni giornata prevede guida parlante italiano dove serve davvero, come a Fès e Marrakech."})]}),El("section",{id:"itinerario",className:"mt-10",children:[G1("h2",{className:"playfair text-[26px] md:text-[30px] font-semibold leading-tight",children:"Itinerario tangeri marrakech via deserto 7 giorn – Giorno per giorno"}),G1("h3",{className:"playfair text-[19px] font-semibold mt-6",children:"Giorno 1 – Tangeri → Chefchaouen (112 km)"}),G1("p",{className:"mt-2",children:"Arrivo a Tangeri e accoglienza privata. Quindi, partenza verso Chefchaouen attraverso le colline del Rif. Infatti, il tragitto è panoramico e dolce, ideale per ambientarsi. Inoltre, sosta per tè alla menta e vista sulle montagne. Arrivati nella città blu, check-in in riad boutique. Per esempio, passeggiata al tramonto in Place Outa Hammam. Infine, cena libera in medina. Di conseguenza, primo giorno leggero e fotografico."}),G1("h3",{className:"playfair text-[19px] font-semibold mt-6",children:"Giorno 2 – Chefchaouen → Akchour – tangeri marrakech via deserto 7 giorn natura"}),G1("p",{className:"mt-2",children:"Colazione in terrazza. Quindi, escursione alle cascate di Akchour, ponte di Dio e piscine naturali. Infatti, è una giornata rigenerante dopo il viaggio. Inoltre, pranzo picnic in natura. Di conseguenza, rientro nel pomeriggio per tempo libero fotografico nella medina blu. Per esempio, porta con te scarpe comode: i vicoli sono un labirinto poetico. Infine, rientro in riad."}),G1("h3",{className:"playfair text-[19px] font-semibold mt-6",children:"Giorno 3 – Chefchaouen → Fès (205 km)"}),G1("p",{className:"mt-2",children:"Partenza verso Fès, una delle medine più grandi al mondo. Tuttavia, il percorso è fluido e con soste. Infatti, pranzo a Ouazzane, città santa meno turistica. Inoltre, arrivo a Fès nel pomeriggio e visita introduttiva con guida locale che parla italiano. Quindi, concerie, Medersa Bou Inania e Mellah ebraico. Infine, cena in riad storico con patio e zellige. Di conseguenza, giornata culturale intensa ma equilibrata."}),G1("h3",{className:"playfair text-[19px] font-semibold mt-6",children:"Giorno 4 – Fès → Merzouga (470 km) – Sahara"}),G1("p",{className:"mt-2",children:"Giornata più lunga ma scenografica. Quindi, attraverserai Ifrane, la Svizzera del Marocco, e la foresta di cedri di Azrou con le scimmie bertucce. Infatti, pranzo a Midelt, tra le montagne. Inoltre, discesa verso Errachidia e la valle dello Ziz con palmeti infiniti. Di conseguenza, arrivo a Merzouga al tramonto. Per esempio, esperienza in cammello sulle dune Erg Chebbi fino al campo tendato di lusso con bagno privato, doccia calda e cena sotto le stelle. Infine, notte magica nel deserto."}),G1("h3",{className:"playfair text-[19px] font-semibold mt-6",children:"Giorno 5 – Merzouga → Todra & Dades (130 km)"}),G1("p",{className:"mt-2",children:"Risveglio all’alba sulle dune, quindi colazione nel campo. Infatti, il silenzio del deserto è terapeutico. Inoltre, rientro in 4x4 e partenza verso Tinghir. Per esempio, visita alle Gole di Todra, canyon alto 300 metri. Quindi, pranzo locale e prosecuzione per la valle del Dades. Infine, pernottamento in boutique hotel scavato nella roccia. Di conseguenza, contrasti incredibili in poche ore."}),G1("h3",{className:"playfair text-[19px] font-semibold mt-6",children:"Giorno 6 – Dades → Ait Benhaddou (165 km) → Marrakech (188 km)"}),G1("p",{className:"mt-2",children:"Strada delle Mille Kasbah, quindi Ouarzazate. Infatti, visiterai Ait Benhaddou, Ksar patrimonio UNESCO dove sono stati girati Gladiatore e Game of Thrones. Inoltre, pranzo con vista e attraversamento del passo Tizi n’Tichka a 2.260m. Di conseguenza, discesa verso Marrakech tra villaggi berberi e tornanti rosa. Per esempio, sosta per olio di argan cooperativo femminile. Arrivo a Marrakech in serata, check-in in riad di lusso. Infine, meritato hammam."}),G1("h3",{className:"playfair text-[19px] font-semibold mt-6",children:"Giorno 7 – Marrakech – Chiusura tangeri marrakech via deserto 7 giorn"}),G1("p",{className:"mt-2",children:"Visita guidata privata di Marrakech con guida in italiano: Bahia Palace, Saadian Tombs, Jemaa el-Fna. Quindi, tempo per shopping di qualità in souk selezionati. Infatti, il tour termina qui, ma puoi estendere con 1 notte extra. Inoltre, transfer aeroportuale incluso. Infine, saluti e consegna di un piccolo ricordo artigianale. Di conseguenza, fine perfetta di un trajet bayan completo."})]}),El("section",{id:"esperienze",className:"mt-10",children:[G1("h2",{className:"playfair text-[26px] md:text-[30px] font-semibold leading-tight",children:"Cosa include questo tangeri marrakech via deserto 7 giorn di lusso"}),G1("p",{className:"mt-3",children:"Infatti, tutto è curato nei dettagli. Inoltre, include: trasporto privato con autista, carburante, 6 notti in mezza pensione in riad 4* superior e campo lusso, cammellata al tramonto e alba, guide locali in italiano a Fès e Marrakech, ingressi base, assistenza WhatsApp 24/7. Quindi, non dovrai pensare a nulla. Tuttavia, voli, pranzi, mance e assicurazione sono extra. Per esempio, possiamo aggiungere mongolfiera a Marrakech o notte extra a Chefchaouen. Di conseguenza, esperienza flessibile e personalizzabile."}),El("ul",{className:"mt-3 list-disc pl-5 space-y-1.5",children:[G1("li",{children:"Inoltre, veicolo premium climatizzato con acqua e Wi-Fi dove disponibile"}),G1("li",{children:"Quindi, riad con carattere: non hotel anonimi, ma dimore storiche restaurate"}),G1("li",{children:"Infatti, campo tendato con bagno privato e stufa in inverno"}),G1("li",{children:"Per esempio, flessibilità totale su orari e soste foto"}),G1("li",{children:"Di conseguenza, perfetto per coppie, amici e piccoli gruppi privati"}),G1("li",{children:"Tuttavia, ritmo bilanciato senza corse, ideale anche per famiglie"})]}),El("p",{className:"mt-3",children:["Inoltre, questo tour è consigliato da molti viaggiatori italiani perché unisce nord e sud senza voli interni. Quindi, vedrai davvero il Marocco che cambia: dal blu di Chefchaouen al verde di Fès, dall’oro del Sahara al rosso di Marrakech. Infatti, la mappa con trajet bayan oro lo dimostra chiaramente. Per esempio, guarda la linea continua su ",G1("a",{href:"#mappa",className:"underline decoration-[#C5A46A]",children:"Mappa Trajet Bayan"})," e capirai subito la logica del viaggio."]}),El("div",{className:"mt-4 flex flex-wrap gap-3 text-[13px]",children:[G1("a",{href:"https://www.zagoraexperience.com/tour/tangeri-a-marrakech-via-deserto-7-giorni/",target:"_blank",rel:"noopener",className:"underline decoration-[#C5A46A] font-medium",children:"Tour ufficiale Zagora Experience"}),G1("a",{href:"https://www.zagoraexperience.com/",target:"_blank",rel:"noopener",className:"underline",children:"ZagoraExperience.com"}),G1("a",{href:"https://whc.unesco.org/en/list/444/",target:"_blank",rel:"noopener",className:"underline text-[#666]",children:"UNESCO Fès"}),G1("a",{href:"https://www.lonelyplanet.com/morocco",target:"_blank",rel:"noopener",className:"underline text-[#666]",children:"Lonely Planet Morocco"})]})]}),El("section",{className:"mt-10",children:[G1("h3",{className:"playfair text-[19px] font-semibold",children:"Consigli pratici per tangeri marrakech via deserto 7 giorn"}),G1("p",{className:"mt-2",children:"Infatti, il periodo migliore è marzo-maggio e settembre-novembre, ma il deserto è magico anche in inverno. Quindi, porta strati: caldo di giorno, fresco la sera. Inoltre, scarpe comode, cappello e crema solare. Tuttavia, non serve sacco a pelo: il campo è attrezzato. Per esempio, porta power bank per il deserto. Di conseguenza, godrai di ogni momento senza stress. Infine, prenota con anticipo per alta stagione. Inoltre, valuta estensione a Essaouira o 2 notti extra a Marrakech per shopping."}),El("p",{className:"mt-3",children:["Quindi, se cerchi un tour privato che mostri davvero il percorso, questo articolo con mappa interattiva e linea oro continua è stato creato per te. Infatti, il testo è editabile per modifiche rapide. Inoltre, contattaci via ",G1("a",{href:"mailto:abdalhadi.tours@gmail.com",className:"underline",children:"abdalhadi.tours@gmail.com"})," o WhatsApp per preventivo personalizzato senza impegno. Per esempio, indicaci date, numero persone e preferenze riad."]})]}),El("section",{id:"faq",className:"mt-10",children:[G1("h2",{className:"playfair text-[22px] font-semibold",children:"FAQ – tangeri marrakech via deserto 7 giorn"}),El("div",{className:"mt-4 space-y-4",children:[El("div",{children:[G1("p",{className:"font-semibold",children:"La mappa mostra davvero il trajet bayan con linea?"}),G1("p",{className:"mt-1",children:"Sì. Infatti, la linea oro #C5A46A collega Tangeri → Chefchaouen → Fès → Merzouga → Todra → Ait Benhaddou → Marrakech con spessore 4 e opacità 0.9. Inoltre, i marker numerati 1-7 mostrano Giorno e label."})]}),El("div",{children:[G1("p",{className:"font-semibold",children:"Quanti km totali?"}),G1("p",{className:"mt-1",children:"Circa 1.450 km. Quindi, medie giornaliere gestibili con autista privato. Per esempio, il giorno più lungo è Fès-Merzouga ma è panoramico."})]}),El("div",{children:[G1("p",{className:"font-semibold",children:"Guida italiana inclusa?"}),G1("p",{className:"mt-1",children:"Guida parlante italiano a Fès e Marrakech, autista esperto per tutto il trajet. Inoltre, assistenza via WhatsApp e email."})]})]})]})]})]}),G1("footer",{className:"border-t border-[#C5A46A]/15 bg-[#101010] text-white",children:El("div",{className:"mx-auto max-w-[1160px] px-5 md:px-8 py-7 flex flex-col md:flex-row items-center justify-between gap-3",children:[El("div",{className:"flex items-center gap-2",children:[G1("img",{src:"https://www.zagoraexperience.com/wp-content/uploads/2023/05/LOGO.png",alt:"logo",className:"h-[20px] w-auto brightness-0 invert opacity-80"}),G1("span",{className:"inter text-[11px] tracking-widest uppercase text-[#C5A46A]",children:"Zagora Experience"})]}),G1("div",{className:"inter text-[11px] text-[#9A9A9A]",children:"abdalhadi.tours@gmail.com · Tour privato tangeri marrakech via deserto 7 giorni – Trajet Bayan 1.450 km"})]})}),G1("a",{href:"https://wa.me/212662867405",target:"_blank",rel:"noopener","aria-label":"WhatsApp",className:"fixed bottom-5 right-5 z-50 w-[56px] h-[56px] rounded-full bg-[#25D366] shadow-[0_10px_30px_rgba(0,0,0,0.25)] flex items-center justify-center hover:scale-105 transition",children:G1("svg",{viewBox:"0 0 24 24",className:"w-7 h-7 fill-white",children:G1("path",{d:"M19.11 4.56A9.86 9.86 0 0 0 12.04 2C6.6 2 2.18 6.43 2.18 10.87c0 1.56.41 3.08 1.18 4.42L2 22l6.88-1.8a9.82 9.82 0 0 0 4.7 1.2h.01c5.44 0 9.86-4.43 9.86-9.87a9.82 9.82 0 0 0-2.64-6.97Zm-7.07 15.2h-.01a8.13 8.13 0 0 1-4.15-1.14l-.3-.18-4.08 1.07 1.09-3.98-.19-.31a8.1 8.1 0 0 1-1.26-4.35c0-4.5 3.66-8.16 8.17-8.16a8.08 8.08 0 0 1 5.74 2.38 8.08 8.08 0 0 1 2.37 5.75c0 4.5-3.66 8.16-8.16 8.16Zm4.48-6.11c-.25-.12-1.47-.72-1.7-.81-.23-.08-.39-.12-.56.12-.17.25-.64.81-.79.97-.14.17-.29.19-.54.06-.25-.12-1.04-.38-1.98-1.22-.73-.65-1.22-1.45-1.36-1.7-.14-.25-.02-.38.1-.51.11-.11.25-.29.37-.43.12-.14.16-.25.24-.41.08-.17.04-.31-.02-.43-.06-.12-.56-1.35-.77-1.85-.2-.48-.4-.41-.56-.42h-.48c-.17 0-.43.06-.66.31-.23.25-.87.85-.87 2.07s.89 2.4 1.01 2.57c.12.17 1.75 2.67 4.24 3.75.59.26 1.05.41 1.41.53.59.19 1.13.16 1.56.1.48-.07 1.47-.6 1.68-1.18.21-.58.21-1.07.14-1.18-.06-.11-.23-.17-.48-.29Z"})})}),G1("style",{children:'@media(max-width:768px){div[style*="height: 480px"]{height:380px !important}}'})]})}CS.createRoot(document.getElementById("root")).render(G1(LS.default.StrictMode,{children:G1(fa,{})}));(function(){function m(a){var h=a.getAttribute("href");if(!h)return;try{var u=new URL(h,document.baseURI);if((u.protocol==="http:"||u.protocol==="https:")&&u.host!==location.host){a.target="_blank";a.rel="noopener noreferrer";}}catch(e){}}function s(){document.querySelectorAll("a[href]").forEach(m);}if(document.readyState!=="loading"){s();}else{document.addEventListener("DOMContentLoaded",s);}document.addEventListener("click",function(e){var a=e.target&&e.target.closest&&e.target.closest("a[href]");if(a){m(a);}},true);})();
Ti preghiamo di compilare il modulo sottostante e ti ricontatteremo il prima possibile
Ti piacerà anche