@maptiler/geocoding-control 3.0.0-rc.8 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  * @license
3
3
  * Copyright 2019 Google LLC
4
4
  * SPDX-License-Identifier: BSD-3-Clause
5
- */const lt=globalThis,Ct=lt.ShadowRoot&&(lt.ShadyCSS===void 0||lt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ot=Symbol(),fi=new WeakMap;let pi=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==Ot)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(Ct&&e===void 0){const i=t!==void 0&&t.length===1;i&&(e=fi.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&fi.set(t,e))}return e}toString(){return this.cssText}};const at=r=>new pi(typeof r=="string"?r:r+"",void 0,Ot),_e=(r,...e)=>{const t=r.length===1?r[0]:e.reduce(((i,s,n)=>i+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal undefined, but take care to ensure page security.")})(s)+r[n+1]),r[0]);return new pi(t,r,Ot)},$r=(r,e)=>{if(Ct)r.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const t of e){const i=document.createElement("style"),s=lt.litNonce;s!==void 0&&i.setAttribute("nonce",s),i.textContent=t.cssText,r.appendChild(i)}},mi=Ct?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return at(t)})(r):r;/**
5
+ */const lt=globalThis,Ct=lt.ShadowRoot&&(lt.ShadyCSS===void 0||lt.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,Ot=Symbol(),fi=new WeakMap;let pi=class{constructor(e,t,i){if(this._$cssResult$=!0,i!==Ot)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o;const t=this.t;if(Ct&&e===void 0){const i=t!==void 0&&t.length===1;i&&(e=fi.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),i&&fi.set(t,e))}return e}toString(){return this.cssText}};const at=r=>new pi(typeof r=="string"?r:r+"",void 0,Ot),_e=(r,...e)=>{const t=r.length===1?r[0]:e.reduce(((i,s,n)=>i+(o=>{if(o._$cssResult$===!0)return o.cssText;if(typeof o=="number")return o;throw Error("Value passed to 'css' function must be a 'css' function result: "+o+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(s)+r[n+1]),r[0]);return new pi(t,r,Ot)},$r=(r,e)=>{if(Ct)r.adoptedStyleSheets=e.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const t of e){const i=document.createElement("style"),s=lt.litNonce;s!==void 0&&i.setAttribute("nonce",s),i.textContent=t.cssText,r.appendChild(i)}},mi=Ct?r=>r:r=>r instanceof CSSStyleSheet?(e=>{let t="";for(const i of e.cssRules)t+=i.cssText;return at(t)})(r):r;/**
6
6
  * @license
7
7
  * Copyright 2017 Google LLC
8
8
  * SPDX-License-Identifier: BSD-3-Clause
@@ -12,7 +12,7 @@
12
12
  * SPDX-License-Identifier: BSD-3-Clause
13
13
  */const It=globalThis,ut=It.trustedTypes,vi=ut?ut.createPolicy("lit-html",{createHTML:r=>r}):void 0,bi="$lit$",$e=`lit$${Math.random().toFixed(9).slice(2)}$`,Ei="?"+$e,Nr=`<${Ei}>`,Ce=document,ze=()=>Ce.createComment(""),qe=r=>r===null||typeof r!="object"&&typeof r!="function",Pt=Array.isArray,Rr=r=>Pt(r)||typeof r?.[Symbol.iterator]=="function",Nt=`[
14
14
  \f\r]`,He=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,wi=/-->/g,xi=/>/g,Oe=RegExp(`>|${Nt}(?:([^\\s"'>=/]+)(${Nt}*=${Nt}*(?:[^
15
- \f\r"'\`<>=]|("|')|))|$)`,"g"),Si=/'/g,Li=/"/g,_i=/^(?:script|style|textarea|title)$/i,$i=r=>(e,...t)=>({_$litType$:r,strings:e,undefined:t}),Z=$i(1),je=$i(2),we=Symbol.for("lit-noChange"),V=Symbol.for("lit-nothing"),Mi=new WeakMap,ke=Ce.createTreeWalker(Ce,129);function Ti(r,e){if(!Pt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return vi!==void 0?vi.createHTML(e):e}const Gr=(r,e)=>{const t=r.length-1,i=[];let s,n=e===2?"<svg>":e===3?"<math>":"",o=He;for(let l=0;l<t;l++){const u=r[l];let f,x,w=-1,$=0;for(;$<u.length&&(o.lastIndex=$,x=o.exec(u),x!==null);)$=o.lastIndex,o===He?x[1]==="!--"?o=wi:x[1]!==void 0?o=xi:x[2]!==void 0?(_i.test(x[2])&&(s=RegExp("</"+x[2],"g")),o=Oe):x[3]!==void 0&&(o=Oe):o===Oe?x[0]===">"?(o=s??He,w=-1):x[1]===void 0?w=-2:(w=o.lastIndex-x[2].length,f=x[1],o=x[3]===void 0?Oe:x[3]==='"'?Li:Si):o===Li||o===Si?o=Oe:o===wi||o===xi?o=He:(o=Oe,s=void 0);const M=o===Oe&&r[l+1].startsWith("/>")?" ":"";n+=o===He?u+Nr:w>=0?(i.push(f),u.slice(0,w)+bi+u.slice(w)+$e+M):u+$e+(w===-2?l:M)}return[Ti(r,n+(r[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),i]};class Ve{constructor({strings:e,_$litType$:t},i){let s;this.parts=[];let n=0,o=0;const l=e.length-1,u=this.parts,[f,x]=Gr(e,t);if(this.el=Ve.createElement(f,i),ke.currentNode=this.el.content,t===2||t===3){const w=this.el.content.firstChild;w.replaceWith(...w.childNodes)}for(;(s=ke.nextNode())!==null&&u.length<l;){if(s.nodeType===1){if(s.hasAttributes())for(const w of s.getAttributeNames())if(w.endsWith(bi)){const $=x[o++],M=s.getAttribute(w).split($e),T=/([.?@])?(.*)/.exec($);u.push({type:1,index:n,name:T[2],strings:M,ctor:T[1]==="."?Ur:T[1]==="?"?Br:T[1]==="@"?Wr:dt}),s.removeAttribute(w)}else w.startsWith($e)&&(u.push({type:6,index:n}),s.removeAttribute(w));if(_i.test(s.tagName)){const w=s.textContent.split($e),$=w.length-1;if($>0){s.textContent=ut?ut.emptyScript:"";for(let M=0;M<$;M++)s.append(w[M],ze()),ke.nextNode(),u.push({type:2,index:++n});s.append(w[$],ze())}}}else if(s.nodeType===8)if(s.data===Ei)u.push({type:2,index:n});else{let w=-1;for(;(w=s.data.indexOf($e,w+1))!==-1;)u.push({type:7,index:n}),w+=$e.length-1}n++}}static createElement(e,t){const i=Ce.createElement("template");return i.innerHTML=e,i}}function Fe(r,e,t=r,i){if(e===we)return e;let s=i!==void 0?t._$Co?.[i]:t._$Cl;const n=qe(e)?void 0:e._$litDirective$;return s?.constructor!==n&&(s?._$AO?.(!1),n===void 0?s=void 0:(s=new n(r),s._$AT(r,t,i)),i!==void 0?(t._$Co??=[])[i]=s:t._$Cl=s),s!==void 0&&(e=Fe(r,s._$AS(r,e.undefined),s,i)),e}let Fr=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:i}=this._$AD,s=(e?.creationScope??Ce).importNode(t,!0);ke.currentNode=s;let n=ke.nextNode(),o=0,l=0,u=i[0];for(;u!==void 0;){if(o===u.index){let f;u.type===2?f=new Ue(n,n.nextSibling,this,e):u.type===1?f=new u.ctor(n,u.name,u.strings,this,e):u.type===6&&(f=new Dr(n,this,e)),this._$AV.push(f),u=i[++l]}o!==u?.index&&(n=ke.nextNode(),o++)}return ke.currentNode=Ce,s}p(e){let t=0;for(const i of this._$AV)i!==void 0&&(i.strings!==void 0?(i._$AI(e,i,t),t+=i.strings.length-2):i._$AI(e[t])),t++}};class Ue{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,i,s){this.type=2,this._$AH=V,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=i,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=Fe(this,e,t),qe(e)?e===V||e==null||e===""?(this._$AH!==V&&this._$AR(),this._$AH=V):e!==this._$AH&&e!==we&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Rr(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==V&&qe(this._$AH)?this._$AA.nextSibling.data=e:this.T(Ce.createTextNode(e)),this._$AH=e}$(e){const{undefined:t,_$litType$:i}=e,s=typeof i=="number"?this._$AC(e):(i.el===void 0&&(i.el=Ve.createElement(Ti(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(t);else{const n=new Fr(s,this),o=n.u(this.options);n.p(t),this.T(o),this._$AH=n}}_$AC(e){let t=Mi.get(e.strings);return t===void 0&&Mi.set(e.strings,t=new Ve(e)),t}k(e){Pt(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,s=0;for(const n of e)s===t.length?t.push(i=new Ue(this.O(ze()),this.O(ze()),this,this.options)):i=t[s],i._$AI(n),s++;s<t.length&&(this._$AR(i&&i._$AB.nextSibling,s),t.length=s)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){const i=e.nextSibling;e.remove(),e=i}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}}class dt{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,i,s,n){this.type=1,this._$AH=V,this._$AN=void 0,this.element=e,this.name=t,this._$AM=s,this.options=n,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=V}_$AI(e,t=this,i,s){const n=this.strings;let o=!1;if(n===void 0)e=Fe(this,e,t,0),o=!qe(e)||e!==this._$AH&&e!==we,o&&(this._$AH=e);else{const l=e;let u,f;for(e=n[0],u=0;u<n.length-1;u++)f=Fe(this,l[i+u],t,u),f===we&&(f=this._$AH[u]),o||=!qe(f)||f!==this._$AH[u],f===V?e=V:e!==V&&(e+=(f??"")+n[u+1]),this._$AH[u]=f}o&&!s&&this.j(e)}j(e){e===V?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class Ur extends dt{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===V?void 0:e}}class Br extends dt{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==V)}}class Wr extends dt{constructor(e,t,i,s,n){super(e,t,i,s,n),this.type=5}_$AI(e,t=this){if((e=Fe(this,e,t,0)??V)===we)return;const i=this._$AH,s=e===V&&i!==V||e.capture!==i.capture||e.once!==i.once||e.passive!==i.passive,n=e!==V&&(i===V||s);s&&this.element.removeEventListener(this.name,this,i),n&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class Dr{constructor(e,t,i){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(e){Fe(this,e)}}const zr={I:Ue},qr=It.litHtmlPolyfillSupport;qr?.(Ve,Ue),(It.litHtmlVersions??=[]).push("3.3.1");const Hr=(r,e,t)=>{const i=t?.renderBefore??e;let s=i._$litPart$;if(s===void 0){const n=t?.renderBefore??null;i._$litPart$=s=new Ue(e.insertBefore(ze(),n),n,void 0,t??{})}return s._$AI(r),s};/**
15
+ \f\r"'\`<>=]|("|')|))|$)`,"g"),Si=/'/g,Li=/"/g,_i=/^(?:script|style|textarea|title)$/i,$i=r=>(e,...t)=>({_$litType$:r,strings:e,values:t}),Z=$i(1),je=$i(2),we=Symbol.for("lit-noChange"),V=Symbol.for("lit-nothing"),Mi=new WeakMap,ke=Ce.createTreeWalker(Ce,129);function Ti(r,e){if(!Pt(r)||!r.hasOwnProperty("raw"))throw Error("invalid template strings array");return vi!==void 0?vi.createHTML(e):e}const Gr=(r,e)=>{const t=r.length-1,i=[];let s,n=e===2?"<svg>":e===3?"<math>":"",o=He;for(let l=0;l<t;l++){const u=r[l];let f,x,w=-1,$=0;for(;$<u.length&&(o.lastIndex=$,x=o.exec(u),x!==null);)$=o.lastIndex,o===He?x[1]==="!--"?o=wi:x[1]!==void 0?o=xi:x[2]!==void 0?(_i.test(x[2])&&(s=RegExp("</"+x[2],"g")),o=Oe):x[3]!==void 0&&(o=Oe):o===Oe?x[0]===">"?(o=s??He,w=-1):x[1]===void 0?w=-2:(w=o.lastIndex-x[2].length,f=x[1],o=x[3]===void 0?Oe:x[3]==='"'?Li:Si):o===Li||o===Si?o=Oe:o===wi||o===xi?o=He:(o=Oe,s=void 0);const M=o===Oe&&r[l+1].startsWith("/>")?" ":"";n+=o===He?u+Nr:w>=0?(i.push(f),u.slice(0,w)+bi+u.slice(w)+$e+M):u+$e+(w===-2?l:M)}return[Ti(r,n+(r[t]||"<?>")+(e===2?"</svg>":e===3?"</math>":"")),i]};class Ve{constructor({strings:e,_$litType$:t},i){let s;this.parts=[];let n=0,o=0;const l=e.length-1,u=this.parts,[f,x]=Gr(e,t);if(this.el=Ve.createElement(f,i),ke.currentNode=this.el.content,t===2||t===3){const w=this.el.content.firstChild;w.replaceWith(...w.childNodes)}for(;(s=ke.nextNode())!==null&&u.length<l;){if(s.nodeType===1){if(s.hasAttributes())for(const w of s.getAttributeNames())if(w.endsWith(bi)){const $=x[o++],M=s.getAttribute(w).split($e),T=/([.?@])?(.*)/.exec($);u.push({type:1,index:n,name:T[2],strings:M,ctor:T[1]==="."?Ur:T[1]==="?"?Br:T[1]==="@"?Wr:dt}),s.removeAttribute(w)}else w.startsWith($e)&&(u.push({type:6,index:n}),s.removeAttribute(w));if(_i.test(s.tagName)){const w=s.textContent.split($e),$=w.length-1;if($>0){s.textContent=ut?ut.emptyScript:"";for(let M=0;M<$;M++)s.append(w[M],ze()),ke.nextNode(),u.push({type:2,index:++n});s.append(w[$],ze())}}}else if(s.nodeType===8)if(s.data===Ei)u.push({type:2,index:n});else{let w=-1;for(;(w=s.data.indexOf($e,w+1))!==-1;)u.push({type:7,index:n}),w+=$e.length-1}n++}}static createElement(e,t){const i=Ce.createElement("template");return i.innerHTML=e,i}}function Fe(r,e,t=r,i){if(e===we)return e;let s=i!==void 0?t._$Co?.[i]:t._$Cl;const n=qe(e)?void 0:e._$litDirective$;return s?.constructor!==n&&(s?._$AO?.(!1),n===void 0?s=void 0:(s=new n(r),s._$AT(r,t,i)),i!==void 0?(t._$Co??=[])[i]=s:t._$Cl=s),s!==void 0&&(e=Fe(r,s._$AS(r,e.values),s,i)),e}let Fr=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){const{el:{content:t},parts:i}=this._$AD,s=(e?.creationScope??Ce).importNode(t,!0);ke.currentNode=s;let n=ke.nextNode(),o=0,l=0,u=i[0];for(;u!==void 0;){if(o===u.index){let f;u.type===2?f=new Ue(n,n.nextSibling,this,e):u.type===1?f=new u.ctor(n,u.name,u.strings,this,e):u.type===6&&(f=new Dr(n,this,e)),this._$AV.push(f),u=i[++l]}o!==u?.index&&(n=ke.nextNode(),o++)}return ke.currentNode=Ce,s}p(e){let t=0;for(const i of this._$AV)i!==void 0&&(i.strings!==void 0?(i._$AI(e,i,t),t+=i.strings.length-2):i._$AI(e[t])),t++}};class Ue{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,i,s){this.type=2,this._$AH=V,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=i,this.options=s,this._$Cv=s?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=Fe(this,e,t),qe(e)?e===V||e==null||e===""?(this._$AH!==V&&this._$AR(),this._$AH=V):e!==this._$AH&&e!==we&&this._(e):e._$litType$!==void 0?this.$(e):e.nodeType!==void 0?this.T(e):Rr(e)?this.k(e):this._(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==V&&qe(this._$AH)?this._$AA.nextSibling.data=e:this.T(Ce.createTextNode(e)),this._$AH=e}$(e){const{values:t,_$litType$:i}=e,s=typeof i=="number"?this._$AC(e):(i.el===void 0&&(i.el=Ve.createElement(Ti(i.h,i.h[0]),this.options)),i);if(this._$AH?._$AD===s)this._$AH.p(t);else{const n=new Fr(s,this),o=n.u(this.options);n.p(t),this.T(o),this._$AH=n}}_$AC(e){let t=Mi.get(e.strings);return t===void 0&&Mi.set(e.strings,t=new Ve(e)),t}k(e){Pt(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,s=0;for(const n of e)s===t.length?t.push(i=new Ue(this.O(ze()),this.O(ze()),this,this.options)):i=t[s],i._$AI(n),s++;s<t.length&&(this._$AR(i&&i._$AB.nextSibling,s),t.length=s)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){const i=e.nextSibling;e.remove(),e=i}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}}class dt{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,i,s,n){this.type=1,this._$AH=V,this._$AN=void 0,this.element=e,this.name=t,this._$AM=s,this.options=n,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=V}_$AI(e,t=this,i,s){const n=this.strings;let o=!1;if(n===void 0)e=Fe(this,e,t,0),o=!qe(e)||e!==this._$AH&&e!==we,o&&(this._$AH=e);else{const l=e;let u,f;for(e=n[0],u=0;u<n.length-1;u++)f=Fe(this,l[i+u],t,u),f===we&&(f=this._$AH[u]),o||=!qe(f)||f!==this._$AH[u],f===V?e=V:e!==V&&(e+=(f??"")+n[u+1]),this._$AH[u]=f}o&&!s&&this.j(e)}j(e){e===V?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}}class Ur extends dt{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===V?void 0:e}}class Br extends dt{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==V)}}class Wr extends dt{constructor(e,t,i,s,n){super(e,t,i,s,n),this.type=5}_$AI(e,t=this){if((e=Fe(this,e,t,0)??V)===we)return;const i=this._$AH,s=e===V&&i!==V||e.capture!==i.capture||e.once!==i.once||e.passive!==i.passive,n=e!==V&&(i===V||s);s&&this.element.removeEventListener(this.name,this,i),n&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH=="function"?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}}class Dr{constructor(e,t,i){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(e){Fe(this,e)}}const zr={I:Ue},qr=It.litHtmlPolyfillSupport;qr?.(Ve,Ue),(It.litHtmlVersions??=[]).push("3.3.1");const Hr=(r,e,t)=>{const i=t?.renderBefore??e;let s=i._$litPart$;if(s===void 0){const n=t?.renderBefore??null;i._$litPart$=s=new Ue(e.insertBefore(ze(),n),n,void 0,t??{})}return s._$AI(r),s};/**
16
16
  * @license
17
17
  * Copyright 2017 Google LLC
18
18
  * SPDX-License-Identifier: BSD-3-Clause
@@ -131,7 +131,7 @@
131
131
  * @license
132
132
  * Copyright 2017 Google LLC
133
133
  * SPDX-License-Identifier: BSD-3-Clause
134
- */const Ft={ATTRIBUTE:1,CHILD:2},Ut=r=>(...e)=>({_$litDirective$:r,undefined:e});let Bt=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};/**
134
+ */const Ft={ATTRIBUTE:1,CHILD:2},Ut=r=>(...e)=>({_$litDirective$:r,values:e});let Bt=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,i){this._$Ct=e,this._$AM=t,this._$Ci=i}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}};/**
135
135
  * @license
136
136
  * Copyright 2018 Google LLC
137
137
  * SPDX-License-Identifier: BSD-3-Clause
@@ -143,7 +143,7 @@
143
143
  * @license
144
144
  * Copyright 2017 Google LLC
145
145
  * SPDX-License-Identifier: BSD-3-Clause
146
- */const Gi=(r,e,t)=>{const i=new Map;for(let s=e;s<=t;s++)i.set(r[s],s);return i},xs=Ut(class extends Bt{constructor(r){if(super(r),r.type!==Ft.CHILD)throw Error("repeat() can only be used in text expressions")}dt(r,e,t){let i;t===void 0?t=e:e!==void 0&&(i=e);const s=[],n=[];let o=0;for(const l of r)s[o]=i?i(l,o):o,n[o]=t(l,o),o++;return{undefined:n,keys:s}}render(r,e,t){return this.dt(r,e,t).undefined}update(r,[e,t,i]){const s=ws(r),{undefined:n,keys:o}=this.dt(e,t,i);if(!Array.isArray(s))return this.ut=o,n;const l=this.ut??=[],u=[];let f,x,w=0,$=s.length-1,M=0,T=n.length-1;for(;w<=$&&M<=T;)if(s[w]===null)w++;else if(s[$]===null)$--;else if(l[w]===o[M])u[M]=Ie(s[w],n[M]),w++,M++;else if(l[$]===o[T])u[T]=Ie(s[$],n[T]),$--,T--;else if(l[w]===o[T])u[T]=Ie(s[w],n[T]),Ke(r,u[T+1],s[w]),w++,T--;else if(l[$]===o[M])u[M]=Ie(s[$],n[M]),Ke(r,s[w],s[$]),$--,M++;else if(f===void 0&&(f=Gi(o,M,T),x=Gi(l,w,$)),f.has(l[w]))if(f.has(l[$])){const R=x.get(o[M]),F=R!==void 0?s[R]:null;if(F===null){const G=Ke(r,s[w]);Ie(G,n[M]),u[M]=G}else u[M]=Ie(F,n[M]),Ke(r,s[w],F),s[R]=null;M++}else Wt(s[$]),$--;else Wt(s[w]),w++;for(;M<=T;){const R=Ke(r,u[T+1]);Ie(R,n[M]),u[M++]=R}for(;w<=$;){const R=s[w++];R!==null&&Wt(R)}return this.ut=o,Es(r,u),we}});function Ss(r,e,t){const i=e[1],s=e[0],n=i-s;return r===i&&t?r:((r-s)%n+n)%n+s}function pt(r){const e=[...r];return e[2]<e[0]&&(Math.abs((e[0]+e[2]+360)/2)>Math.abs((e[0]-360+e[2])/2)?e[0]-=360:e[2]+=360),e}let Ye;async function Ls(r,e,t){for(const i of e??[])if(!(r&&(i.minZoom!=null&&i.minZoom>r[0]||i.maxZoom!=null&&i.maxZoom<r[0]))){if(i.type==="fixed")return i.coordinates.join(",");if(i.type==="client-geolocation")if(Ye&&i.cachedLocationExpiry&&Ye.time+i.cachedLocationExpiry>Date.now()){if(Ye.coords)return Ye.coords}else{let s;try{return s=await new Promise((n,o)=>{t.signal.addEventListener("abort",()=>{o(Error("aborted"))}),navigator.geolocation.getCurrentPosition(l=>{n([l.coords.longitude,l.coords.latitude].map(u=>u.toFixed(6)).join(","))},l=>{o(l)},i)}),s}catch{}finally{i.cachedLocationExpiry&&(Ye={time:Date.now(),coords:s})}if(t.signal.aborted)return}if(i.type==="server-geolocation")return"ip";if(r&&i.type==="map-center")return r[1].toFixed(6)+","+r[2].toFixed(6)}}/**
146
+ */const Gi=(r,e,t)=>{const i=new Map;for(let s=e;s<=t;s++)i.set(r[s],s);return i},xs=Ut(class extends Bt{constructor(r){if(super(r),r.type!==Ft.CHILD)throw Error("repeat() can only be used in text expressions")}dt(r,e,t){let i;t===void 0?t=e:e!==void 0&&(i=e);const s=[],n=[];let o=0;for(const l of r)s[o]=i?i(l,o):o,n[o]=t(l,o),o++;return{values:n,keys:s}}render(r,e,t){return this.dt(r,e,t).values}update(r,[e,t,i]){const s=ws(r),{values:n,keys:o}=this.dt(e,t,i);if(!Array.isArray(s))return this.ut=o,n;const l=this.ut??=[],u=[];let f,x,w=0,$=s.length-1,M=0,T=n.length-1;for(;w<=$&&M<=T;)if(s[w]===null)w++;else if(s[$]===null)$--;else if(l[w]===o[M])u[M]=Ie(s[w],n[M]),w++,M++;else if(l[$]===o[T])u[T]=Ie(s[$],n[T]),$--,T--;else if(l[w]===o[T])u[T]=Ie(s[w],n[T]),Ke(r,u[T+1],s[w]),w++,T--;else if(l[$]===o[M])u[M]=Ie(s[$],n[M]),Ke(r,s[w],s[$]),$--,M++;else if(f===void 0&&(f=Gi(o,M,T),x=Gi(l,w,$)),f.has(l[w]))if(f.has(l[$])){const R=x.get(o[M]),F=R!==void 0?s[R]:null;if(F===null){const G=Ke(r,s[w]);Ie(G,n[M]),u[M]=G}else u[M]=Ie(F,n[M]),Ke(r,s[w],F),s[R]=null;M++}else Wt(s[$]),$--;else Wt(s[w]),w++;for(;M<=T;){const R=Ke(r,u[T+1]);Ie(R,n[M]),u[M++]=R}for(;w<=$;){const R=s[w++];R!==null&&Wt(R)}return this.ut=o,Es(r,u),we}});function Ss(r,e,t){const i=e[1],s=e[0],n=i-s;return r===i&&t?r:((r-s)%n+n)%n+s}function pt(r){const e=[...r];return e[2]<e[0]&&(Math.abs((e[0]+e[2]+360)/2)>Math.abs((e[0]-360+e[2])/2)?e[0]-=360:e[2]+=360),e}let Ye;async function Ls(r,e,t){for(const i of e??[])if(!(r&&(i.minZoom!=null&&i.minZoom>r[0]||i.maxZoom!=null&&i.maxZoom<r[0]))){if(i.type==="fixed")return i.coordinates.join(",");if(i.type==="client-geolocation")if(Ye&&i.cachedLocationExpiry&&Ye.time+i.cachedLocationExpiry>Date.now()){if(Ye.coords)return Ye.coords}else{let s;try{return s=await new Promise((n,o)=>{t.signal.addEventListener("abort",()=>{o(Error("aborted"))}),navigator.geolocation.getCurrentPosition(l=>{n([l.coords.longitude,l.coords.latitude].map(u=>u.toFixed(6)).join(","))},l=>{o(l)},i)}),s}catch{}finally{i.cachedLocationExpiry&&(Ye={time:Date.now(),coords:s})}if(t.signal.aborted)return}if(i.type==="server-geolocation")return"ip";if(r&&i.type==="map-center")return r[1].toFixed(6)+","+r[2].toFixed(6)}}/**
147
147
  * @license
148
148
  * Copyright 2018 Google LLC
149
149
  * SPDX-License-Identifier: BSD-3-Clause
@@ -256,7 +256,7 @@
256
256
  @pointerenter=${()=>{I(this,C,Xi).call(this,t)}}
257
257
  @select=${()=>{I(this,C,Yi).call(this,e)}}
258
258
  .missingIconsCache=${ce(this,jt)}
259
- .iconsBaseUrl=${this.iconsBaseUrl??"https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.8/icons/"}
259
+ .iconsBaseUrl=${this.iconsBaseUrl??"https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0/icons/"}
260
260
  />
261
261
  `)}
262
262
  </ul>
@@ -277,5 +277,5 @@
277
277
  </svg>
278
278
  `}},_.MaptilerGeocodeMarkerElement.styles=_e`
279
279
  ${at(Ns)}
280
- `,_.MaptilerGeocodeMarkerElement=Gs([Me("maptiler-geocode-marker")],_.MaptilerGeocodeMarkerElement);function Et(r,e,t={}){const i={type:"Feature"};return(t.id===0||t.id)&&(i.id=t.id),t.bbox&&(i.bbox=t.bbox),i.properties=e||{},i.geometry=r,i}function Jt(r,e,t={}){for(const s of r){if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(s[s.length-1].length!==s[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<s[s.length-1].length;n++)if(s[s.length-1][n]!==s[0][n])throw new Error("First and last Position are not equivalent.")}return Et({type:"Polygon",coordinates:r},e,t)}function ei(r,e={}){const t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=r,t}function ir(r,e,t={}){return Et({type:"MultiPolygon",coordinates:r},e,t)}function rr(r,e,t){if(r!==null)for(var i,s,n,o,l,u,f,x=0,w=0,$,M=r.type,T=M==="FeatureCollection",R=M==="Feature",F=T?r.features.length:1,G=0;G<F;G++){f=T?r.features[G].geometry:R?r.geometry:r,$=f?f.type==="GeometryCollection":!1,l=$?f.geometries.length:1;for(var L=0;L<l;L++){var Q=0,ne=0;if(o=$?f.geometries[L]:f,o!==null){u=o.coordinates;var be=o.type;switch(x=0,be){case null:break;case"Point":if(e(u,w,G,Q,ne)===!1)return!1;w++,Q++;break;case"LineString":case"MultiPoint":for(i=0;i<u.length;i++){if(e(u[i],w,G,Q,ne)===!1)return!1;w++,be==="MultiPoint"&&Q++}be==="LineString"&&Q++;break;case"Polygon":case"MultiLineString":for(i=0;i<u.length;i++){for(s=0;s<u[i].length-x;s++){if(e(u[i][s],w,G,Q,ne)===!1)return!1;w++}be==="MultiLineString"&&Q++,be==="Polygon"&&ne++}be==="Polygon"&&Q++;break;case"MultiPolygon":for(i=0;i<u.length;i++){for(ne=0,s=0;s<u[i].length;s++){for(n=0;n<u[i][s].length-x;n++){if(e(u[i][s][n],w,G,Q,ne)===!1)return!1;w++}ne++}Q++}break;case"GeometryCollection":for(i=0;i<o.geometries.length;i++)if(rr(o.geometries[i],e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function ti(r,e){var t,i,s,n,o,l,u,f,x,w,$=0,M=r.type==="FeatureCollection",T=r.type==="Feature",R=M?r.features.length:1;for(t=0;t<R;t++){for(l=M?r.features[t].geometry:T?r.geometry:r,f=M?r.features[t].properties:T?r.properties:{},x=M?r.features[t].bbox:T?r.bbox:void 0,w=M?r.features[t].id:T?r.id:void 0,u=l?l.type==="GeometryCollection":!1,o=u?l.geometries.length:1,s=0;s<o;s++){if(n=u?l.geometries[s]:l,n===null){if(e(null,$,f,x,w)===!1)return!1;continue}switch(n.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(n,$,f,x,w)===!1)return!1;break}case"GeometryCollection":{for(i=0;i<n.geometries.length;i++)if(e(n.geometries[i],$,f,x,w)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}$++}}function Fs(r,e){ti(r,function(t,i,s,n,o){var l=t===null?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return e(Et(t,s,{bbox:n,id:o}),i,0)===!1?!1:void 0}var u;switch(l){case"MultiPoint":u="Point";break;case"MultiLineString":u="LineString";break;case"MultiPolygon":u="Polygon";break}for(var f=0;f<t.coordinates.length;f++){var x=t.coordinates[f],w={type:u,coordinates:x};if(e(Et(w,s),i,f)===!1)return!1}})}function Us(r,e={}){if(r.bbox!=null&&e.recompute!==!0)return r.bbox;const t=[1/0,1/0,-1/0,-1/0];return rr(r,i=>{t[0]>i[0]&&(t[0]=i[0]),t[1]>i[1]&&(t[1]=i[1]),t[2]<i[0]&&(t[2]=i[0]),t[3]<i[1]&&(t[3]=i[1])}),t}var sr=Us,Bs=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ii=Math.ceil,he=Math.floor,re="[BigNumber Error] ",nr=re+"Number primitive has more than 15 significant digits: ",me=1e14,N=14,ri=9007199254740991,si=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Ae=1e7,X=1e9;function or(r){var e,t,i,s=L.prototype={constructor:L,toString:null,valueOf:null},n=new L(1),o=20,l=4,u=-7,f=21,x=-1e7,w=1e7,$=!1,M=1,T=0,R={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},F="0123456789abcdefghijklmnopqrstuvwxyz",G=!0;function L(a,c){var h,v,p,g,E,d,m,b,y=this;if(!(y instanceof L))return new L(a,c);if(c==null){if(a&&a._isBigNumber===!0){y.s=a.s,!a.c||a.e>w?y.c=y.e=null:a.e<x?y.c=[y.e=0]:(y.e=a.e,y.c=a.c.slice());return}if((d=typeof a=="number")&&a*0==0){if(y.s=1/a<0?(a=-a,-1):1,a===~~a){for(g=0,E=a;E>=10;E/=10,g++);g>w?y.c=y.e=null:(y.e=g,y.c=[a]);return}b=String(a)}else{if(!Bs.test(b=String(a)))return i(y,b,d);y.s=b.charCodeAt(0)==45?(b=b.slice(1),-1):1}(g=b.indexOf("."))>-1&&(b=b.replace(".","")),(E=b.search(/e/i))>0?(g<0&&(g=E),g+=+b.slice(E+1),b=b.substring(0,E)):g<0&&(g=b.length)}else{if(q(c,2,F.length,"Base"),c==10&&G)return y=new L(a),fe(y,o+y.e+1,l);if(b=String(a),d=typeof a=="number"){if(a*0!=0)return i(y,b,d,c);if(y.s=1/a<0?(b=b.slice(1),-1):1,L.DEBUG&&b.replace(/^0\.0*|\./,"").length>15)throw Error(nr+a)}else y.s=b.charCodeAt(0)===45?(b=b.slice(1),-1):1;for(h=F.slice(0,c),g=E=0,m=b.length;E<m;E++)if(h.indexOf(v=b.charAt(E))<0){if(v=="."){if(E>g){g=m;continue}}else if(!p&&(b==b.toUpperCase()&&(b=b.toLowerCase())||b==b.toLowerCase()&&(b=b.toUpperCase()))){p=!0,E=-1,g=0;continue}return i(y,String(a),d,c)}d=!1,b=t(b,c,10,y.s),(g=b.indexOf("."))>-1?b=b.replace(".",""):g=b.length}for(E=0;b.charCodeAt(E)===48;E++);for(m=b.length;b.charCodeAt(--m)===48;);if(b=b.slice(E,++m)){if(m-=E,d&&L.DEBUG&&m>15&&(a>ri||a!==he(a)))throw Error(nr+y.s*a);if((g=g-E-1)>w)y.c=y.e=null;else if(g<x)y.c=[y.e=0];else{if(y.e=g,y.c=[],E=(g+1)%N,g<0&&(E+=N),E<m){for(E&&y.c.push(+b.slice(0,E)),m-=N;E<m;)y.c.push(+b.slice(E,E+=N));E=N-(b=b.slice(E)).length}else E-=m;for(;E--;b+="0");y.c.push(+b)}}else y.c=[y.e=0]}L.clone=or,L.ROUND_UP=0,L.ROUND_DOWN=1,L.ROUND_CEIL=2,L.ROUND_FLOOR=3,L.ROUND_HALF_UP=4,L.ROUND_HALF_DOWN=5,L.ROUND_HALF_EVEN=6,L.ROUND_HALF_CEIL=7,L.ROUND_HALF_FLOOR=8,L.EUCLID=9,L.config=L.set=function(a){var c,h;if(a!=null)if(typeof a=="object"){if(a.hasOwnProperty(c="DECIMAL_PLACES")&&(h=a[c],q(h,0,X,c),o=h),a.hasOwnProperty(c="ROUNDING_MODE")&&(h=a[c],q(h,0,8,c),l=h),a.hasOwnProperty(c="EXPONENTIAL_AT")&&(h=a[c],h&&h.pop?(q(h[0],-X,0,c),q(h[1],0,X,c),u=h[0],f=h[1]):(q(h,-X,X,c),u=-(f=h<0?-h:h))),a.hasOwnProperty(c="RANGE"))if(h=a[c],h&&h.pop)q(h[0],-X,-1,c),q(h[1],1,X,c),x=h[0],w=h[1];else if(q(h,-X,X,c),h)x=-(w=h<0?-h:h);else throw Error(re+c+" cannot be zero: "+h);if(a.hasOwnProperty(c="CRYPTO"))if(h=a[c],h===!!h)if(h)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))$=h;else throw $=!h,Error(re+"crypto unavailable");else $=h;else throw Error(re+c+" not true or false: "+h);if(a.hasOwnProperty(c="MODULO_MODE")&&(h=a[c],q(h,0,9,c),M=h),a.hasOwnProperty(c="POW_PRECISION")&&(h=a[c],q(h,0,X,c),T=h),a.hasOwnProperty(c="FORMAT"))if(h=a[c],typeof h=="object")R=h;else throw Error(re+c+" not an object: "+h);if(a.hasOwnProperty(c="ALPHABET"))if(h=a[c],typeof h=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(h))G=h.slice(0,10)=="0123456789",F=h;else throw Error(re+c+" invalid: "+h)}else throw Error(re+"Object expected: "+a);return{DECIMAL_PLACES:o,ROUNDING_MODE:l,EXPONENTIAL_AT:[u,f],RANGE:[x,w],CRYPTO:$,MODULO_MODE:M,POW_PRECISION:T,FORMAT:R,ALPHABET:F}},L.isBigNumber=function(a){if(!a||a._isBigNumber!==!0)return!1;if(!L.DEBUG)return!0;var c,h,v=a.c,p=a.e,g=a.s;e:if({}.toString.call(v)=="[object Array]"){if((g===1||g===-1)&&p>=-X&&p<=X&&p===he(p)){if(v[0]===0){if(p===0&&v.length===1)return!0;break e}if(c=(p+1)%N,c<1&&(c+=N),String(v[0]).length==c){for(c=0;c<v.length;c++)if(h=v[c],h<0||h>=me||h!==he(h))break e;if(h!==0)return!0}}}else if(v===null&&p===null&&(g===null||g===1||g===-1))return!0;throw Error(re+"Invalid BigNumber: "+a)},L.maximum=L.max=function(){return ne(arguments,-1)},L.minimum=L.min=function(){return ne(arguments,1)},L.random=(function(){var a=9007199254740992,c=Math.random()*a&2097151?function(){return he(Math.random()*a)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(h){var v,p,g,E,d,m=0,b=[],y=new L(n);if(h==null?h=o:q(h,0,X),E=ii(h/N),$)if(crypto.getRandomValues){for(v=crypto.getRandomValues(new Uint32Array(E*=2));m<E;)d=v[m]*131072+(v[m+1]>>>11),d>=9e15?(p=crypto.getRandomValues(new Uint32Array(2)),v[m]=p[0],v[m+1]=p[1]):(b.push(d%1e14),m+=2);m=E/2}else if(crypto.randomBytes){for(v=crypto.randomBytes(E*=7);m<E;)d=(v[m]&31)*281474976710656+v[m+1]*1099511627776+v[m+2]*4294967296+v[m+3]*16777216+(v[m+4]<<16)+(v[m+5]<<8)+v[m+6],d>=9e15?crypto.randomBytes(7).copy(v,m):(b.push(d%1e14),m+=7);m=E/7}else throw $=!1,Error(re+"crypto unavailable");if(!$)for(;m<E;)d=c(),d<9e15&&(b[m++]=d%1e14);for(E=b[--m],h%=N,E&&h&&(d=si[N-h],b[m]=he(E/d)*d);b[m]===0;b.pop(),m--);if(m<0)b=[g=0];else{for(g=-1;b[0]===0;b.splice(0,1),g-=N);for(m=1,d=b[0];d>=10;d/=10,m++);m<N&&(g-=N-m)}return y.e=g,y.c=b,y}})(),L.sum=function(){for(var a=1,c=arguments,h=new L(c[0]);a<c.length;)h=h.plus(c[a++]);return h},t=(function(){var a="0123456789";function c(h,v,p,g){for(var E,d=[0],m,b=0,y=h.length;b<y;){for(m=d.length;m--;d[m]*=v);for(d[0]+=g.indexOf(h.charAt(b++)),E=0;E<d.length;E++)d[E]>p-1&&(d[E+1]==null&&(d[E+1]=0),d[E+1]+=d[E]/p|0,d[E]%=p)}return d.reverse()}return function(h,v,p,g,E){var d,m,b,y,S,A,O,W,H=h.indexOf("."),K=o,U=l;for(H>=0&&(y=T,T=0,h=h.replace(".",""),W=new L(v),A=W.pow(h.length-H),T=y,W.c=c(xe(de(A.c),A.e,"0"),10,p,a),W.e=W.c.length),O=c(h,v,p,E?(d=F,a):(d=a,F)),b=y=O.length;O[--y]==0;O.pop());if(!O[0])return d.charAt(0);if(H<0?--b:(A.c=O,A.e=b,A.s=g,A=e(A,W,K,U,p),O=A.c,S=A.r,b=A.e),m=b+K+1,H=O[m],y=p/2,S=S||m<0||O[m+1]!=null,S=U<4?(H!=null||S)&&(U==0||U==(A.s<0?3:2)):H>y||H==y&&(U==4||S||U==6&&O[m-1]&1||U==(A.s<0?8:7)),m<1||!O[0])h=S?xe(d.charAt(1),-K,d.charAt(0)):d.charAt(0);else{if(O.length=m,S)for(--p;++O[--m]>p;)O[m]=0,m||(++b,O=[1].concat(O));for(y=O.length;!O[--y];);for(H=0,h="";H<=y;h+=d.charAt(O[H++]));h=xe(h,b,d.charAt(0))}return h}})(),e=(function(){function a(v,p,g){var E,d,m,b,y=0,S=v.length,A=p%Ae,O=p/Ae|0;for(v=v.slice();S--;)m=v[S]%Ae,b=v[S]/Ae|0,E=O*m+b*A,d=A*m+E%Ae*Ae+y,y=(d/g|0)+(E/Ae|0)+O*b,v[S]=d%g;return y&&(v=[y].concat(v)),v}function c(v,p,g,E){var d,m;if(g!=E)m=g>E?1:-1;else for(d=m=0;d<g;d++)if(v[d]!=p[d]){m=v[d]>p[d]?1:-1;break}return m}function h(v,p,g,E){for(var d=0;g--;)v[g]-=d,d=v[g]<p[g]?1:0,v[g]=d*E+v[g]-p[g];for(;!v[0]&&v.length>1;v.splice(0,1));}return function(v,p,g,E,d){var m,b,y,S,A,O,W,H,K,U,D,J,Tt,ai,ci,Ee,st,pe=v.s==p.s?1:-1,ie=v.c,j=p.c;if(!ie||!ie[0]||!j||!j[0])return new L(!v.s||!p.s||(ie?j&&ie[0]==j[0]:!j)?NaN:ie&&ie[0]==0||!j?pe*0:pe/0);for(H=new L(pe),K=H.c=[],b=v.e-p.e,pe=g+b+1,d||(d=me,b=ue(v.e/N)-ue(p.e/N),pe=pe/N|0),y=0;j[y]==(ie[y]||0);y++);if(j[y]>(ie[y]||0)&&b--,pe<0)K.push(1),S=!0;else{for(ai=ie.length,Ee=j.length,y=0,pe+=2,A=he(d/(j[0]+1)),A>1&&(j=a(j,A,d),ie=a(ie,A,d),Ee=j.length,ai=ie.length),Tt=Ee,U=ie.slice(0,Ee),D=U.length;D<Ee;U[D++]=0);st=j.slice(),st=[0].concat(st),ci=j[0],j[1]>=d/2&&ci++;do{if(A=0,m=c(j,U,Ee,D),m<0){if(J=U[0],Ee!=D&&(J=J*d+(U[1]||0)),A=he(J/ci),A>1)for(A>=d&&(A=d-1),O=a(j,A,d),W=O.length,D=U.length;c(O,U,W,D)==1;)A--,h(O,Ee<W?st:j,W,d),W=O.length,m=1;else A==0&&(m=A=1),O=j.slice(),W=O.length;if(W<D&&(O=[0].concat(O)),h(U,O,D,d),D=U.length,m==-1)for(;c(j,U,Ee,D)<1;)A++,h(U,Ee<D?st:j,D,d),D=U.length}else m===0&&(A++,U=[0]);K[y++]=A,U[0]?U[D++]=ie[Tt]||0:(U=[ie[Tt]],D=1)}while((Tt++<ai||U[0]!=null)&&pe--);S=U[0]!=null,K[0]||K.splice(0,1)}if(d==me){for(y=1,pe=K[0];pe>=10;pe/=10,y++);fe(H,g+(H.e=y+b*N-1)+1,E,S)}else H.e=b,H.r=+S;return H}})();function Q(a,c,h,v){var p,g,E,d,m;if(h==null?h=l:q(h,0,8),!a.c)return a.toString();if(p=a.c[0],E=a.e,c==null)m=de(a.c),m=v==1||v==2&&(E<=u||E>=f)?xt(m,E):xe(m,E,"0");else if(a=fe(new L(a),c,h),g=a.e,m=de(a.c),d=m.length,v==1||v==2&&(c<=g||g<=u)){for(;d<c;m+="0",d++);m=xt(m,g)}else if(c-=E+(v===2&&g>E),m=xe(m,g,"0"),g+1>d){if(--c>0)for(m+=".";c--;m+="0");}else if(c+=g-d,c>0)for(g+1==d&&(m+=".");c--;m+="0");return a.s<0&&p?"-"+m:m}function ne(a,c){for(var h,v,p=1,g=new L(a[0]);p<a.length;p++)v=new L(a[p]),(!v.s||(h=Ne(g,v))===c||h===0&&g.s===c)&&(g=v);return g}function be(a,c,h){for(var v=1,p=c.length;!c[--p];c.pop());for(p=c[0];p>=10;p/=10,v++);return(h=v+h*N-1)>w?a.c=a.e=null:h<x?a.c=[a.e=0]:(a.e=h,a.c=c),a}i=(function(){var a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,c=/^([^.]+)\.$/,h=/^\.([^.]+)$/,v=/^-?(Infinity|NaN)$/,p=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,d,m){var b,y=d?E:E.replace(p,"");if(v.test(y))g.s=isNaN(y)?null:y<0?-1:1;else{if(!d&&(y=y.replace(a,function(S,A,O){return b=(O=O.toLowerCase())=="x"?16:O=="b"?2:8,!m||m==b?A:S}),m&&(b=m,y=y.replace(c,"$1").replace(h,"0.$1")),E!=y))return new L(y,b);if(L.DEBUG)throw Error(re+"Not a"+(m?" base "+m:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function fe(a,c,h,v){var p,g,E,d,m,b,y,S=a.c,A=si;if(S){e:{for(p=1,d=S[0];d>=10;d/=10,p++);if(g=c-p,g<0)g+=N,E=c,m=S[b=0],y=he(m/A[p-E-1]%10);else if(b=ii((g+1)/N),b>=S.length)if(v){for(;S.length<=b;S.push(0));m=y=0,p=1,g%=N,E=g-N+1}else break e;else{for(m=d=S[b],p=1;d>=10;d/=10,p++);g%=N,E=g-N+p,y=E<0?0:he(m/A[p-E-1]%10)}if(v=v||c<0||S[b+1]!=null||(E<0?m:m%A[p-E-1]),v=h<4?(y||v)&&(h==0||h==(a.s<0?3:2)):y>5||y==5&&(h==4||v||h==6&&(g>0?E>0?m/A[p-E]:0:S[b-1])%10&1||h==(a.s<0?8:7)),c<1||!S[0])return S.length=0,v?(c-=a.e+1,S[0]=A[(N-c%N)%N],a.e=-c||0):S[0]=a.e=0,a;if(g==0?(S.length=b,d=1,b--):(S.length=b+1,d=A[N-g],S[b]=E>0?he(m/A[p-E]%A[E])*d:0),v)for(;;)if(b==0){for(g=1,E=S[0];E>=10;E/=10,g++);for(E=S[0]+=d,d=1;E>=10;E/=10,d++);g!=d&&(a.e++,S[0]==me&&(S[0]=1));break}else{if(S[b]+=d,S[b]!=me)break;S[b--]=0,d=1}for(g=S.length;S[--g]===0;S.pop());}a.e>w?a.c=a.e=null:a.e<x&&(a.c=[a.e=0])}return a}function Le(a){var c,h=a.e;return h===null?a.toString():(c=de(a.c),c=h<=u||h>=f?xt(c,h):xe(c,h,"0"),a.s<0?"-"+c:c)}return s.absoluteValue=s.abs=function(){var a=new L(this);return a.s<0&&(a.s=1),a},s.comparedTo=function(a,c){return Ne(this,new L(a,c))},s.decimalPlaces=s.dp=function(a,c){var h,v,p,g=this;if(a!=null)return q(a,0,X),c==null?c=l:q(c,0,8),fe(new L(g),a+g.e+1,c);if(!(h=g.c))return null;if(v=((p=h.length-1)-ue(this.e/N))*N,p=h[p])for(;p%10==0;p/=10,v--);return v<0&&(v=0),v},s.dividedBy=s.div=function(a,c){return e(this,new L(a,c),o,l)},s.dividedToIntegerBy=s.idiv=function(a,c){return e(this,new L(a,c),0,1)},s.exponentiatedBy=s.pow=function(a,c){var h,v,p,g,E,d,m,b,y,S=this;if(a=new L(a),a.c&&!a.isInteger())throw Error(re+"Exponent not an integer: "+Le(a));if(c!=null&&(c=new L(c)),d=a.e>14,!S.c||!S.c[0]||S.c[0]==1&&!S.e&&S.c.length==1||!a.c||!a.c[0])return y=new L(Math.pow(+Le(S),d?a.s*(2-wt(a)):+Le(a))),c?y.mod(c):y;if(m=a.s<0,c){if(c.c?!c.c[0]:!c.s)return new L(NaN);v=!m&&S.isInteger()&&c.isInteger(),v&&(S=S.mod(c))}else{if(a.e>9&&(S.e>0||S.e<-1||(S.e==0?S.c[0]>1||d&&S.c[1]>=24e7:S.c[0]<8e13||d&&S.c[0]<=9999975e7)))return g=S.s<0&&wt(a)?-0:0,S.e>-1&&(g=1/g),new L(m?1/g:g);T&&(g=ii(T/N+2))}for(d?(h=new L(.5),m&&(a.s=1),b=wt(a)):(p=Math.abs(+Le(a)),b=p%2),y=new L(n);;){if(b){if(y=y.times(S),!y.c)break;g?y.c.length>g&&(y.c.length=g):v&&(y=y.mod(c))}if(p){if(p=he(p/2),p===0)break;b=p%2}else if(a=a.times(h),fe(a,a.e+1,1),a.e>14)b=wt(a);else{if(p=+Le(a),p===0)break;b=p%2}S=S.times(S),g?S.c&&S.c.length>g&&(S.c.length=g):v&&(S=S.mod(c))}return v?y:(m&&(y=n.div(y)),c?y.mod(c):g?fe(y,T,l,E):y)},s.integerValue=function(a){var c=new L(this);return a==null?a=l:q(a,0,8),fe(c,c.e+1,a)},s.isEqualTo=s.eq=function(a,c){return Ne(this,new L(a,c))===0},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(a,c){return Ne(this,new L(a,c))>0},s.isGreaterThanOrEqualTo=s.gte=function(a,c){return(c=Ne(this,new L(a,c)))===1||c===0},s.isInteger=function(){return!!this.c&&ue(this.e/N)>this.c.length-2},s.isLessThan=s.lt=function(a,c){return Ne(this,new L(a,c))<0},s.isLessThanOrEqualTo=s.lte=function(a,c){return(c=Ne(this,new L(a,c)))===-1||c===0},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&this.c[0]==0},s.minus=function(a,c){var h,v,p,g,E=this,d=E.s;if(a=new L(a,c),c=a.s,!d||!c)return new L(NaN);if(d!=c)return a.s=-c,E.plus(a);var m=E.e/N,b=a.e/N,y=E.c,S=a.c;if(!m||!b){if(!y||!S)return y?(a.s=-c,a):new L(S?E:NaN);if(!y[0]||!S[0])return S[0]?(a.s=-c,a):new L(y[0]?E:l==3?-0:0)}if(m=ue(m),b=ue(b),y=y.slice(),d=m-b){for((g=d<0)?(d=-d,p=y):(b=m,p=S),p.reverse(),c=d;c--;p.push(0));p.reverse()}else for(v=(g=(d=y.length)<(c=S.length))?d:c,d=c=0;c<v;c++)if(y[c]!=S[c]){g=y[c]<S[c];break}if(g&&(p=y,y=S,S=p,a.s=-a.s),c=(v=S.length)-(h=y.length),c>0)for(;c--;y[h++]=0);for(c=me-1;v>d;){if(y[--v]<S[v]){for(h=v;h&&!y[--h];y[h]=c);--y[h],y[v]+=me}y[v]-=S[v]}for(;y[0]==0;y.splice(0,1),--b);return y[0]?be(a,y,b):(a.s=l==3?-1:1,a.c=[a.e=0],a)},s.modulo=s.mod=function(a,c){var h,v,p=this;return a=new L(a,c),!p.c||!a.s||a.c&&!a.c[0]?new L(NaN):!a.c||p.c&&!p.c[0]?new L(p):(M==9?(v=a.s,a.s=1,h=e(p,a,0,3),a.s=v,h.s*=v):h=e(p,a,0,M),a=p.minus(h.times(a)),!a.c[0]&&M==1&&(a.s=p.s),a)},s.multipliedBy=s.times=function(a,c){var h,v,p,g,E,d,m,b,y,S,A,O,W,H,K,U=this,D=U.c,J=(a=new L(a,c)).c;if(!D||!J||!D[0]||!J[0])return!U.s||!a.s||D&&!D[0]&&!J||J&&!J[0]&&!D?a.c=a.e=a.s=null:(a.s*=U.s,!D||!J?a.c=a.e=null:(a.c=[0],a.e=0)),a;for(v=ue(U.e/N)+ue(a.e/N),a.s*=U.s,m=D.length,S=J.length,m<S&&(W=D,D=J,J=W,p=m,m=S,S=p),p=m+S,W=[];p--;W.push(0));for(H=me,K=Ae,p=S;--p>=0;){for(h=0,A=J[p]%K,O=J[p]/K|0,E=m,g=p+E;g>p;)b=D[--E]%K,y=D[E]/K|0,d=O*b+y*A,b=A*b+d%K*K+W[g]+h,h=(b/H|0)+(d/K|0)+O*y,W[g--]=b%H;W[g]=h}return h?++v:W.splice(0,1),be(a,W,v)},s.negated=function(){var a=new L(this);return a.s=-a.s||null,a},s.plus=function(a,c){var h,v=this,p=v.s;if(a=new L(a,c),c=a.s,!p||!c)return new L(NaN);if(p!=c)return a.s=-c,v.minus(a);var g=v.e/N,E=a.e/N,d=v.c,m=a.c;if(!g||!E){if(!d||!m)return new L(p/0);if(!d[0]||!m[0])return m[0]?a:new L(d[0]?v:p*0)}if(g=ue(g),E=ue(E),d=d.slice(),p=g-E){for(p>0?(E=g,h=m):(p=-p,h=d),h.reverse();p--;h.push(0));h.reverse()}for(p=d.length,c=m.length,p-c<0&&(h=m,m=d,d=h,c=p),p=0;c;)p=(d[--c]=d[c]+m[c]+p)/me|0,d[c]=me===d[c]?0:d[c]%me;return p&&(d=[p].concat(d),++E),be(a,d,E)},s.precision=s.sd=function(a,c){var h,v,p,g=this;if(a!=null&&a!==!!a)return q(a,1,X),c==null?c=l:q(c,0,8),fe(new L(g),a,c);if(!(h=g.c))return null;if(p=h.length-1,v=p*N+1,p=h[p]){for(;p%10==0;p/=10,v--);for(p=h[0];p>=10;p/=10,v++);}return a&&g.e+1>v&&(v=g.e+1),v},s.shiftedBy=function(a){return q(a,-ri,ri),this.times("1e"+a)},s.squareRoot=s.sqrt=function(){var a,c,h,v,p,g=this,E=g.c,d=g.s,m=g.e,b=o+4,y=new L("0.5");if(d!==1||!E||!E[0])return new L(!d||d<0&&(!E||E[0])?NaN:E?g:1/0);if(d=Math.sqrt(+Le(g)),d==0||d==1/0?(c=de(E),(c.length+m)%2==0&&(c+="0"),d=Math.sqrt(+c),m=ue((m+1)/2)-(m<0||m%2),d==1/0?c="5e"+m:(c=d.toExponential(),c=c.slice(0,c.indexOf("e")+1)+m),h=new L(c)):h=new L(d+""),h.c[0]){for(m=h.e,d=m+b,d<3&&(d=0);;)if(p=h,h=y.times(p.plus(e(g,p,b,1))),de(p.c).slice(0,d)===(c=de(h.c)).slice(0,d))if(h.e<m&&--d,c=c.slice(d-3,d+1),c=="9999"||!v&&c=="4999"){if(!v&&(fe(p,p.e+o+2,0),p.times(p).eq(g))){h=p;break}b+=4,d+=4,v=1}else{(!+c||!+c.slice(1)&&c.charAt(0)=="5")&&(fe(h,h.e+o+2,1),a=!h.times(h).eq(g));break}}return fe(h,h.e+o+1,l,a)},s.toExponential=function(a,c){return a!=null&&(q(a,0,X),a++),Q(this,a,c,1)},s.toFixed=function(a,c){return a!=null&&(q(a,0,X),a=a+this.e+1),Q(this,a,c)},s.toFormat=function(a,c,h){var v,p=this;if(h==null)a!=null&&c&&typeof c=="object"?(h=c,c=null):a&&typeof a=="object"?(h=a,a=c=null):h=R;else if(typeof h!="object")throw Error(re+"Argument not an object: "+h);if(v=p.toFixed(a,c),p.c){var g,E=v.split("."),d=+h.groupSize,m=+h.secondaryGroupSize,b=h.groupSeparator||"",y=E[0],S=E[1],A=p.s<0,O=A?y.slice(1):y,W=O.length;if(m&&(g=d,d=m,m=g,W-=g),d>0&&W>0){for(g=W%d||d,y=O.substr(0,g);g<W;g+=d)y+=b+O.substr(g,d);m>0&&(y+=b+O.slice(g)),A&&(y="-"+y)}v=S?y+(h.decimalSeparator||"")+((m=+h.fractionGroupSize)?S.replace(new RegExp("\\d{"+m+"}\\B","g"),"$&"+(h.fractionGroupSeparator||"")):S):y}return(h.prefix||"")+v+(h.suffix||"")},s.toFraction=function(a){var c,h,v,p,g,E,d,m,b,y,S,A,O=this,W=O.c;if(a!=null&&(d=new L(a),!d.isInteger()&&(d.c||d.s!==1)||d.lt(n)))throw Error(re+"Argument "+(d.isInteger()?"out of range: ":"not an integer: ")+Le(d));if(!W)return new L(O);for(c=new L(n),b=h=new L(n),v=m=new L(n),A=de(W),g=c.e=A.length-O.e-1,c.c[0]=si[(E=g%N)<0?N+E:E],a=!a||d.comparedTo(c)>0?g>0?c:b:d,E=w,w=1/0,d=new L(A),m.c[0]=0;y=e(d,c,0,1),p=h.plus(y.times(v)),p.comparedTo(a)!=1;)h=v,v=p,b=m.plus(y.times(p=b)),m=p,c=d.minus(y.times(p=c)),d=p;return p=e(a.minus(h),v,0,1),m=m.plus(p.times(b)),h=h.plus(p.times(v)),m.s=b.s=O.s,g=g*2,S=e(b,v,g,l).minus(O).abs().comparedTo(e(m,h,g,l).minus(O).abs())<1?[b,v]:[m,h],w=E,S},s.toNumber=function(){return+Le(this)},s.toPrecision=function(a,c){return a!=null&&q(a,1,X),Q(this,a,c,2)},s.toString=function(a){var c,h=this,v=h.s,p=h.e;return p===null?v?(c="Infinity",v<0&&(c="-"+c)):c="NaN":(a==null?c=p<=u||p>=f?xt(de(h.c),p):xe(de(h.c),p,"0"):a===10&&G?(h=fe(new L(h),o+p+1,l),c=xe(de(h.c),h.e,"0")):(q(a,2,F.length,"Base"),c=t(xe(de(h.c),p,"0"),10,a,v,!0)),v<0&&h.c[0]&&(c="-"+c)),c},s.valueOf=s.toJSON=function(){return Le(this)},s._isBigNumber=!0,s[Symbol.toStringTag]="BigNumber",s[Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,r!=null&&L.set(r),L}function ue(r){var e=r|0;return r>0||r===e?e:e-1}function de(r){for(var e,t,i=1,s=r.length,n=r[0]+"";i<s;){for(e=r[i++]+"",t=N-e.length;t--;e="0"+e);n+=e}for(s=n.length;n.charCodeAt(--s)===48;);return n.slice(0,s+1||1)}function Ne(r,e){var t,i,s=r.c,n=e.c,o=r.s,l=e.s,u=r.e,f=e.e;if(!o||!l)return null;if(t=s&&!s[0],i=n&&!n[0],t||i)return t?i?0:-l:o;if(o!=l)return o;if(t=o<0,i=u==f,!s||!n)return i?0:!s^t?1:-1;if(!i)return u>f^t?1:-1;for(l=(u=s.length)<(f=n.length)?u:f,o=0;o<l;o++)if(s[o]!=n[o])return s[o]>n[o]^t?1:-1;return u==f?0:u>f^t?1:-1}function q(r,e,t,i){if(r<e||r>t||r!==he(r))throw Error(re+(i||"Argument")+(typeof r=="number"?r<e||r>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(r))}function wt(r){var e=r.c.length-1;return ue(r.e/N)==e&&r.c[e]%2!=0}function xt(r,e){return(r.length>1?r.charAt(0)+"."+r.slice(1):r)+(e<0?"e":"e+")+e}function xe(r,e,t){var i,s;if(e<0){for(s=t+".";++e;s+=t);r=s+r}else if(i=r.length,++e>i){for(s=t,e-=i;--e;s+=t);r+=s}else e<i&&(r=r.slice(0,e)+"."+r.slice(e));return r}var ye=or(),Ws=class{key;left=null;right=null;constructor(r){this.key=r}},tt=class extends Ws{constructor(r){super(r)}},Ds=class{size=0;modificationCount=0;splayCount=0;splay(r){const e=this.root;if(e==null)return this.compare(r,r),-1;let t=null,i=null,s=null,n=null,o=e;const l=this.compare;let u;for(;;)if(u=l(o.key,r),u>0){let f=o.left;if(f==null||(u=l(f.key,r),u>0&&(o.left=f.right,f.right=o,o=f,f=o.left,f==null)))break;t==null?i=o:t.left=o,t=o,o=f}else if(u<0){let f=o.right;if(f==null||(u=l(f.key,r),u<0&&(o.right=f.left,f.left=o,o=f,f=o.right,f==null)))break;s==null?n=o:s.right=o,s=o,o=f}else break;return s!=null&&(s.right=o.left,o.left=n),t!=null&&(t.left=o.right,o.right=i),this.root!==o&&(this.root=o,this.splayCount++),u}splayMin(r){let e=r,t=e.left;for(;t!=null;){const i=t;e.left=i.right,i.right=e,e=i,t=e.left}return e}splayMax(r){let e=r,t=e.right;for(;t!=null;){const i=t;e.right=i.left,i.left=e,e=i,t=e.right}return e}_delete(r){if(this.root==null||this.splay(r)!=0)return null;let t=this.root;const i=t,s=t.left;if(this.size--,s==null)this.root=t.right;else{const n=t.right;t=this.splayMax(s),t.right=n,this.root=t}return this.modificationCount++,i}addNewRoot(r,e){this.size++,this.modificationCount++;const t=this.root;if(t==null){this.root=r;return}e<0?(r.left=t,r.right=t.right,t.right=null):(r.right=t,r.left=t.left,t.left=null),this.root=r}_first(){const r=this.root;return r==null?null:(this.root=this.splayMin(r),this.root)}_last(){const r=this.root;return r==null?null:(this.root=this.splayMax(r),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(r){return this.validKey(r)&&this.splay(r)==0}defaultCompare(){return(r,e)=>r<e?-1:r>e?1:0}wrap(){return{getRoot:()=>this.root,setRoot:r=>{this.root=r},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:r=>{this.splayCount=r},splay:r=>this.splay(r),has:r=>this.has(r)}}},St=class nt extends Ds{root=null;compare;validKey;constructor(e,t){super(),this.compare=e??this.defaultCompare(),this.validKey=t??(i=>i!=null&&i!=null)}delete(e){return this.validKey(e)?this._delete(e)!=null:!1}deleteAll(e){for(const t of e)this.delete(t)}forEach(e){const t=this[Symbol.iterator]();let i;for(;i=t.next(),!i.done;)e(i.value,i.value,this)}add(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this}addAndReturn(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this.root.key}addAll(e){for(const t of e)this.add(t)}isEmpty(){return this.root==null}isNotEmpty(){return this.root!=null}single(){if(this.size==0)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(this.size==0)throw"Bad state: No element";return this._first().key}last(){if(this.size==0)throw"Bad state: No element";return this._last().key}lastBefore(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)<0)return this.root.key;let i=this.root.left;if(i==null)return null;let s=i.right;for(;s!=null;)i=s,s=i.right;return i.key}firstAfter(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)>0)return this.root.key;let i=this.root.right;if(i==null)return null;let s=i.left;for(;s!=null;)i=s,s=i.left;return i.key}retainAll(e){const t=new nt(this.compare,this.validKey),i=this.modificationCount;for(const s of e){if(i!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(s)&&this.splay(s)==0&&t.add(this.root.key)}t.size!=this.size&&(this.root=t.root,this.size=t.size,this.modificationCount++)}lookup(e){return!this.validKey(e)||this.splay(e)!=0?null:this.root.key}intersection(e){const t=new nt(this.compare,this.validKey);for(const i of this)e.has(i)&&t.add(i);return t}difference(e){const t=new nt(this.compare,this.validKey);for(const i of this)e.has(i)||t.add(i);return t}union(e){const t=this.clone();return t.addAll(e),t}clone(){const e=new nt(this.compare,this.validKey);return e.size=this.size,e.root=this.copyNode(this.root),e}copyNode(e){if(e==null)return null;function t(s,n){let o,l;do{if(o=s.left,l=s.right,o!=null){const u=new tt(o.key);n.left=u,t(o,u)}if(l!=null){const u=new tt(l.key);n.right=u,s=l,n=u}}while(l!=null)}const i=new tt(e.key);return t(e,i),i}toSet(){return this.clone()}entries(){return new qs(this.wrap())}keys(){return this[Symbol.iterator]()}undefined(){return this[Symbol.iterator]()}[Symbol.iterator](){return new zs(this.wrap())}[Symbol.toStringTag]="[object Set]"},lr=class{tree;path=new Array;modificationCount=null;splayCount;constructor(r){this.tree=r,this.splayCount=r.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const r=this.path[this.path.length-1];return this.getValue(r)}rebuildPath(r){this.path.splice(0,this.path.length),this.tree.splay(r),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(r){for(;r!=null;)this.path.push(r),r=r.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(this.modificationCount==null){this.modificationCount=this.tree.getModificationCount();let t=this.tree.getRoot();for(;t!=null;)this.path.push(t),t=t.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let r=this.path[this.path.length-1],e=r.right;if(e!=null){for(;e!=null;)this.path.push(e),e=e.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===r;)r=this.path.pop();return this.path.length>0}},zs=class extends lr{getValue(r){return r.key}},qs=class extends lr{getValue(r){return[r.key,r.key]}},ar=r=>()=>r,ni=r=>{const e=r?(t,i)=>i.minus(t).abs().isLessThanOrEqualTo(r):ar(!1);return(t,i)=>e(t,i)?0:t.comparedTo(i)};function Hs(r){const e=r?(t,i,s,n,o)=>t.exponentiatedBy(2).isLessThanOrEqualTo(n.minus(i).exponentiatedBy(2).plus(o.minus(s).exponentiatedBy(2)).times(r)):ar(!1);return(t,i,s)=>{const n=t.x,o=t.y,l=s.x,u=s.y,f=o.minus(u).times(i.x.minus(l)).minus(n.minus(l).times(i.y.minus(u)));return e(f,n,o,l,u)?0:f.comparedTo(0)}}var js=r=>r,Vs=r=>{if(r){const e=new St(ni(r)),t=new St(ni(r)),i=(n,o)=>o.addAndReturn(n),s=n=>({x:i(n.x,e),y:i(n.y,t)});return s({x:new ye(0),y:new ye(0)}),s}return js},oi=r=>({set:e=>{Se=oi(e)},reset:()=>oi(r),compare:ni(r),snap:Vs(r),orient:Hs(r)}),Se=oi(),it=(r,e)=>r.ll.x.isLessThanOrEqualTo(e.x)&&e.x.isLessThanOrEqualTo(r.ur.x)&&r.ll.y.isLessThanOrEqualTo(e.y)&&e.y.isLessThanOrEqualTo(r.ur.y),li=(r,e)=>{if(e.ur.x.isLessThan(r.ll.x)||r.ur.x.isLessThan(e.ll.x)||e.ur.y.isLessThan(r.ll.y)||r.ur.y.isLessThan(e.ll.y))return null;const t=r.ll.x.isLessThan(e.ll.x)?e.ll.x:r.ll.x,i=r.ur.x.isLessThan(e.ur.x)?r.ur.x:e.ur.x,s=r.ll.y.isLessThan(e.ll.y)?e.ll.y:r.ll.y,n=r.ur.y.isLessThan(e.ur.y)?r.ur.y:e.ur.y;return{ll:{x:t,y:s},ur:{x:i,y:n}}},Lt=(r,e)=>r.x.times(e.y).minus(r.y.times(e.x)),cr=(r,e)=>r.x.times(e.x).plus(r.y.times(e.y)),_t=r=>cr(r,r).sqrt(),Zs=(r,e,t)=>{const i={x:e.x.minus(r.x),y:e.y.minus(r.y)},s={x:t.x.minus(r.x),y:t.y.minus(r.y)};return Lt(s,i).div(_t(s)).div(_t(i))},Ks=(r,e,t)=>{const i={x:e.x.minus(r.x),y:e.y.minus(r.y)},s={x:t.x.minus(r.x),y:t.y.minus(r.y)};return cr(s,i).div(_t(s)).div(_t(i))},hr=(r,e,t)=>e.y.isZero()?null:{x:r.x.plus(e.x.div(e.y).times(t.minus(r.y))),y:t},ur=(r,e,t)=>e.x.isZero()?null:{x:t,y:r.y.plus(e.y.div(e.x).times(t.minus(r.x)))},Ys=(r,e,t,i)=>{if(e.x.isZero())return ur(t,i,r.x);if(i.x.isZero())return ur(r,e,t.x);if(e.y.isZero())return hr(t,i,r.y);if(i.y.isZero())return hr(r,e,t.y);const s=Lt(e,i);if(s.isZero())return null;const n={x:t.x.minus(r.x),y:t.y.minus(r.y)},o=Lt(n,e).div(s),l=Lt(n,i).div(s),u=r.x.plus(l.times(e.x)),f=t.x.plus(o.times(i.x)),x=r.y.plus(l.times(e.y)),w=t.y.plus(o.times(i.y)),$=u.plus(f).div(2),M=x.plus(w).div(2);return{x:$,y:M}},ve=class vr{point;isLeft;segment;otherSE;consumedBy;static compare(e,t){const i=vr.comparePoints(e.point,t.point);return i!==0?i:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:Mt.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x.isLessThan(t.x)?-1:e.x.isGreaterThan(t.x)?1:e.y.isLessThan(t.y)?-1:e.y.isGreaterThan(t.y)?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let i=0,s=t.length;i<s;i++){const n=t[i];this.point.events.push(n),n.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const i=this.point.events[t];if(i.segment.consumedBy===void 0)for(let s=t+1;s<e;s++){const n=this.point.events[s];n.consumedBy===void 0&&i.otherSE.point.events===n.otherSE.point.events&&i.segment.consume(n.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,i=this.point.events.length;t<i;t++){const s=this.point.events[t];s!==this&&!s.segment.ringOut&&s.segment.isInResult()&&e.push(s)}return e}getLeftmostComparator(e){const t=new Map,i=s=>{const n=s.otherSE;t.set(s,{sine:Zs(this.point,e.point,n.point),cosine:Ks(this.point,e.point,n.point)})};return(s,n)=>{t.has(s)||i(s),t.has(n)||i(n);const{sine:o,cosine:l}=t.get(s),{sine:u,cosine:f}=t.get(n);return o.isGreaterThanOrEqualTo(0)&&u.isGreaterThanOrEqualTo(0)?l.isLessThan(f)?1:l.isGreaterThan(f)?-1:0:o.isLessThan(0)&&u.isLessThan(0)?l.isLessThan(f)?-1:l.isGreaterThan(f)?1:0:u.isLessThan(o)?-1:u.isGreaterThan(o)?1:0}}},Xs=class hi{events;poly;_isExteriorRing;_enclosingRing;static factory(e){const t=[];for(let i=0,s=e.length;i<s;i++){const n=e[i];if(!n.isInResult()||n.ringOut)continue;let o=null,l=n.leftSE,u=n.rightSE;const f=[l],x=l.point,w=[];for(;o=l,l=u,f.push(l),l.point!==x;)for(;;){const $=l.getAvailableLinkedEvents();if($.length===0){const R=f[0].point,F=f[f.length-1].point;throw new Error(`Unable to complete output ring starting at [${R.x}, ${R.y}]. Last matching segment found ends at [${F.x}, ${F.y}].`)}if($.length===1){u=$[0].otherSE;break}let M=null;for(let R=0,F=w.length;R<F;R++)if(w[R].point===l.point){M=R;break}if(M!==null){const R=w.splice(M)[0],F=f.splice(R.index);F.unshift(F[0].otherSE),t.push(new hi(F.reverse()));continue}w.push({index:f.length,point:l.point});const T=l.getLeftmostComparator(o);u=$.sort(T)[0].otherSE;break}t.push(new hi(f))}return t}constructor(e){this.events=e;for(let t=0,i=e.length;t<i;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let f=1,x=this.events.length-1;f<x;f++){const w=this.events[f].point,$=this.events[f+1].point;Se.orient(w,e,$)!==0&&(t.push(w),e=w)}if(t.length===1)return null;const i=t[0],s=t[1];Se.orient(i,e,s)===0&&t.shift(),t.push(t[0]);const n=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,l=this.isExteriorRing()?t.length:-1,u=[];for(let f=o;f!=l;f+=n)u.push([t[f].x.toNumber(),t[f].y.toNumber()]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let s=1,n=this.events.length;s<n;s++){const o=this.events[s];ve.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),i=t?t.prevInResult():null;for(;;){if(!t)return null;if(!i)return t.ringOut;if(i.ringOut!==t.ringOut)return i.ringOut?.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut?.enclosingRing();t=i.prevInResult(),i=t?t.prevInResult():null}}},dr=class{exteriorRing;interiorRings;constructor(r){this.exteriorRing=r,r.poly=this,this.interiorRings=[]}addInterior(r){this.interiorRings.push(r),r.poly=this}getGeom(){const r=this.exteriorRing.getGeom();if(r===null)return null;const e=[r];for(let t=0,i=this.interiorRings.length;t<i;t++){const s=this.interiorRings[t].getGeom();s!==null&&e.push(s)}return e}},Qs=class{rings;polys;constructor(r){this.rings=r,this.polys=this._composePolys(r)}getGeom(){const r=[];for(let e=0,t=this.polys.length;e<t;e++){const i=this.polys[e].getGeom();i!==null&&r.push(i)}return r}_composePolys(r){const e=[];for(let t=0,i=r.length;t<i;t++){const s=r[t];if(!s.poly)if(s.isExteriorRing())e.push(new dr(s));else{const n=s.enclosingRing();n?.poly||e.push(new dr(n)),n?.poly?.addInterior(s)}}return e}},Js=class{queue;tree;segments;constructor(r,e=Mt.compare){this.queue=r,this.tree=new St(e),this.segments=[]}process(r){const e=r.segment,t=[];if(r.consumedBy)return r.isLeft?this.queue.delete(r.otherSE):this.tree.delete(e),t;r.isLeft&&this.tree.add(e);let i=e,s=e;do i=this.tree.lastBefore(i);while(i!=null&&i.consumedBy!=null);do s=this.tree.firstAfter(s);while(s!=null&&s.consumedBy!=null);if(r.isLeft){let n=null;if(i){const l=i.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(n=l),!i.isAnEndpoint(l))){const u=this._splitSafely(i,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}let o=null;if(s){const l=s.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(o=l),!s.isAnEndpoint(l))){const u=this._splitSafely(s,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}if(n!==null||o!==null){let l=null;n===null?l=o:o===null?l=n:l=ve.comparePoints(n,o)<=0?n:o,this.queue.delete(e.rightSE),t.push(e.rightSE);const u=e.split(l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}t.length>0?(this.tree.delete(e),t.push(r)):(this.segments.push(e),e.prev=i)}else{if(i&&s){const n=i.getIntersection(s);if(n!==null){if(!i.isAnEndpoint(n)){const o=this._splitSafely(i,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}if(!s.isAnEndpoint(n)){const o=this._splitSafely(s,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}}}this.tree.delete(e)}return t}_splitSafely(r,e){this.tree.delete(r);const t=r.rightSE;this.queue.delete(t);const i=r.split(e);return i.push(t),r.consumedBy===void 0&&this.tree.add(r),i}},en=class{type;numMultiPolys;run(r,e,t){rt.type=r;const i=[new pr(e,!0)];for(let f=0,x=t.length;f<x;f++)i.push(new pr(t[f],!1));if(rt.numMultiPolys=i.length,rt.type==="difference"){const f=i[0];let x=1;for(;x<i.length;)li(i[x].bbox,f.bbox)!==null?x++:i.splice(x,1)}if(rt.type==="intersection")for(let f=0,x=i.length;f<x;f++){const w=i[f];for(let $=f+1,M=i.length;$<M;$++)if(li(w.bbox,i[$].bbox)===null)return[]}const s=new St(ve.compare);for(let f=0,x=i.length;f<x;f++){const w=i[f].getSweepEvents();for(let $=0,M=w.length;$<M;$++)s.add(w[$])}const n=new Js(s);let o=null;for(s.size!=0&&(o=s.first(),s.delete(o));o;){const f=n.process(o);for(let x=0,w=f.length;x<w;x++){const $=f[x];$.consumedBy===void 0&&s.add($)}s.size!=0?(o=s.first(),s.delete(o)):o=null}Se.reset();const l=Xs.factory(n.segments);return new Qs(l).getGeom()}},rt=new en,$t=rt,tn=0,Mt=class At{id;leftSE;rightSE;rings;windings;ringOut;consumedBy;prev;_prevInResult;_beforeState;_afterState;_isInResult;static compare(e,t){const i=e.leftSE.point.x,s=t.leftSE.point.x,n=e.rightSE.point.x,o=t.rightSE.point.x;if(o.isLessThan(i))return 1;if(n.isLessThan(s))return-1;const l=e.leftSE.point.y,u=t.leftSE.point.y,f=e.rightSE.point.y,x=t.rightSE.point.y;if(i.isLessThan(s)){if(u.isLessThan(l)&&u.isLessThan(f))return 1;if(u.isGreaterThan(l)&&u.isGreaterThan(f))return-1;const w=e.comparePoint(t.leftSE.point);if(w<0)return 1;if(w>0)return-1;const $=t.comparePoint(e.rightSE.point);return $!==0?$:-1}if(i.isGreaterThan(s)){if(l.isLessThan(u)&&l.isLessThan(x))return-1;if(l.isGreaterThan(u)&&l.isGreaterThan(x))return 1;const w=t.comparePoint(e.leftSE.point);if(w!==0)return w;const $=e.comparePoint(t.rightSE.point);return $<0?1:$>0?-1:1}if(l.isLessThan(u))return-1;if(l.isGreaterThan(u))return 1;if(n.isLessThan(o)){const w=t.comparePoint(e.rightSE.point);if(w!==0)return w}if(n.isGreaterThan(o)){const w=e.comparePoint(t.rightSE.point);if(w<0)return 1;if(w>0)return-1}if(!n.eq(o)){const w=f.minus(l),$=n.minus(i),M=x.minus(u),T=o.minus(s);if(w.isGreaterThan($)&&M.isLessThan(T))return 1;if(w.isLessThan($)&&M.isGreaterThan(T))return-1}return n.isGreaterThan(o)?1:n.isLessThan(o)||f.isLessThan(x)?-1:f.isGreaterThan(x)?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,i,s){this.id=++tn,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=i,this.windings=s}static fromRing(e,t,i){let s,n,o;const l=ve.comparePoints(e,t);if(l<0)s=e,n=t,o=1;else if(l>0)s=t,n=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new ve(s,!0),f=new ve(n,!1);return new At(u,f,[i],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e.isLessThan(t)?e:t},ur:{x:this.rightSE.point.x,y:e.isGreaterThan(t)?e:t}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(e){return e.x.eq(this.leftSE.point.x)&&e.y.eq(this.leftSE.point.y)||e.x.eq(this.rightSE.point.x)&&e.y.eq(this.rightSE.point.y)}comparePoint(e){return Se.orient(this.leftSE.point,e,this.rightSE.point)}getIntersection(e){const t=this.bbox(),i=e.bbox(),s=li(t,i);if(s===null)return null;const n=this.leftSE.point,o=this.rightSE.point,l=e.leftSE.point,u=e.rightSE.point,f=it(t,l)&&this.comparePoint(l)===0,x=it(i,n)&&e.comparePoint(n)===0,w=it(t,u)&&this.comparePoint(u)===0,$=it(i,o)&&e.comparePoint(o)===0;if(x&&f)return $&&!w?o:!$&&w?u:null;if(x)return w&&n.x.eq(u.x)&&n.y.eq(u.y)?null:n;if(f)return $&&o.x.eq(l.x)&&o.y.eq(l.y)?null:l;if($&&w)return null;if($)return o;if(w)return u;const M=Ys(n,this.vector(),l,e.vector());return M===null||!it(s,M)?null:Se.snap(M)}split(e){const t=[],i=e.events!==void 0,s=new ve(e,!0),n=new ve(e,!1),o=this.rightSE;this.replaceRightSE(n),t.push(n),t.push(s);const l=new At(s,o,this.rings.slice(),this.windings.slice());return ve.comparePoints(l.leftSE.point,l.rightSE.point)>0&&l.swapEvents(),ve.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),i&&(s.checkForConsuming(),n.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,i=this.windings.length;t<i;t++)this.windings[t]*=-1}consume(e){let t=this,i=e;for(;t.consumedBy;)t=t.consumedBy;for(;i.consumedBy;)i=i.consumedBy;const s=At.compare(t,i);if(s!==0){if(s>0){const n=t;t=i,i=n}if(t.prev===i){const n=t;t=i,i=n}for(let n=0,o=i.rings.length;n<o;n++){const l=i.rings[n],u=i.windings[n],f=t.rings.indexOf(l);f===-1?(t.rings.push(l),t.windings.push(u)):t.windings[f]+=u}i.rings=null,i.windings=null,i.consumedBy=t,i.leftSE.consumedBy=t.leftSE,i.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,i=this._afterState.windings,s=this._afterState.multiPolys;for(let l=0,u=this.rings.length;l<u;l++){const f=this.rings[l],x=this.windings[l],w=t.indexOf(f);w===-1?(t.push(f),i.push(x)):i[w]+=x}const n=[],o=[];for(let l=0,u=t.length;l<u;l++){if(i[l]===0)continue;const f=t[l],x=f.poly;if(o.indexOf(x)===-1)if(f.isExterior)n.push(x);else{o.indexOf(x)===-1&&o.push(x);const w=n.indexOf(f.poly);w!==-1&&n.splice(w,1)}}for(let l=0,u=n.length;l<u;l++){const f=n[l].multiPoly;s.indexOf(f)===-1&&s.push(f)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch($t.type){case"union":{const i=e.length===0,s=t.length===0;this._isInResult=i!==s;break}case"intersection":{let i,s;e.length<t.length?(i=e.length,s=t.length):(i=t.length,s=e.length),this._isInResult=s===$t.numMultiPolys&&i<s;break}case"xor":{const i=Math.abs(e.length-t.length);this._isInResult=i%2===1;break}case"difference":{const i=s=>s.length===1&&s[0].isSubject;this._isInResult=i(e)!==i(t);break}}return this._isInResult}},fr=class{poly;isExterior;segments;bbox;constructor(r,e,t){if(!Array.isArray(r)||r.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=t,this.segments=[],typeof r[0][0]!="number"||typeof r[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=Se.snap({x:new ye(r[0][0]),y:new ye(r[0][1])});this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let s=i;for(let n=1,o=r.length;n<o;n++){if(typeof r[n][0]!="number"||typeof r[n][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const l=Se.snap({x:new ye(r[n][0]),y:new ye(r[n][1])});l.x.eq(s.x)&&l.y.eq(s.y)||(this.segments.push(Mt.fromRing(s,l,this)),l.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=l.x),l.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=l.y),l.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=l.x),l.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=l.y),s=l)}(!i.x.eq(s.x)||!i.y.eq(s.y))&&this.segments.push(Mt.fromRing(s,i,this))}getSweepEvents(){const r=[];for(let e=0,t=this.segments.length;e<t;e++){const i=this.segments[e];r.push(i.leftSE),r.push(i.rightSE)}return r}},rn=class{multiPoly;exteriorRing;interiorRings;bbox;constructor(r,e){if(!Array.isArray(r))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new fr(r[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let t=1,i=r.length;t<i;t++){const s=new fr(r[t],this,!1);s.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=e}getSweepEvents(){const r=this.exteriorRing.getSweepEvents();for(let e=0,t=this.interiorRings.length;e<t;e++){const i=this.interiorRings[e].getSweepEvents();for(let s=0,n=i.length;s<n;s++)r.push(i[s])}return r}},pr=class{isSubject;polys;bbox;constructor(r,e){if(!Array.isArray(r))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof r[0][0][0]=="number"&&(r=[r])}catch{}this.polys=[],this.bbox={ll:{x:new ye(Number.POSITIVE_INFINITY),y:new ye(Number.POSITIVE_INFINITY)},ur:{x:new ye(Number.NEGATIVE_INFINITY),y:new ye(Number.NEGATIVE_INFINITY)}};for(let t=0,i=r.length;t<i;t++){const s=new rn(r[t],this);s.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=e}getSweepEvents(){const r=[];for(let e=0,t=this.polys.length;e<t;e++){const i=this.polys[e].getSweepEvents();for(let s=0,n=i.length;s<n;s++)r.push(i[s])}return r}},sn=(r,...e)=>$t.run("union",r,e),nn=(r,...e)=>$t.run("difference",r,e);Se.set;function on(r){const e=[];if(ti(r,s=>{e.push(s.coordinates)}),e.length<2)throw new Error("Must have at least two features");const t=r.features[0].properties||{},i=nn(e[0],...e.slice(1));return i.length===0?null:i.length===1?Jt(i[0],t):ir(i,t)}var ln=on;function an(r){if(!r)throw new Error("geojson is required");var e=[];return Fs(r,function(t){e.push(t)}),ei(e)}var cn=an;function hn(r,e={}){const t=[];if(ti(r,s=>{t.push(s.coordinates)}),t.length<2)throw new Error("Must have at least 2 geometries");const i=sn(t[0],...t.slice(1));return i.length===0?null:i.length===1?Jt(i[0],e.properties):ir(i,e.properties)}var un=hn;function dn(r){const e=ln(ei([Jt([[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]]),r]));if(!e)return;e.properties={isMask:!0};const t=pt(sr(r)),i=(t[2]-t[0])/360/1e3,s=t[0]<-180,n=t[2]>180,o=cn(r);if(o.features.length>1&&(s||n))for(const l of o.features){const u=pt(sr(l));if(n&&u[0]<-180+i)for(const f of l.geometry.coordinates)for(const x of f)x[0]+=360-i;if(s&&u[2]>180-i)for(const f of l.geometry.coordinates)for(const x of f)x[0]-=360-i}return ei([o.features.length<2?r:un(o)??r,e])}const mr={continental_marine:4,country:4,major_landform:8,region:5,subregion:6,county:7,joint_municipality:8,joint_submunicipality:9,municipality:10,municipal_district:11,locality:12,neighbourhood:13,place:14,postal_code:14,road:16,poi:17,address:18,"poi.peak":15,"poi.shop":18,"poi.cafe":18,"poi.restaurant":18,"poi.aerodrome":13},gr=r=>e=>{const t=r.iconsBaseUrl??"https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0-rc.8/icons/",i=e.getProperties(),s=e.getGeometry()?.getType(),n=i.isMask?0:s==="LineString"||s==="MultiLineString"?3:2;return new Lr({stroke:i.isMask?void 0:new di({color:"#3170fe",lineDash:[n,n],width:n,lineCap:"butt"}),fill:i.isMask?new ui({color:"#00000020"}):void 0,image:new Sr({src:`${t}marker_${i.isReverse?"reverse":i.isSelected?"selected":"unselected"}.svg`,anchor:[.5,1]}),zIndex:i.isSelected?2:i.isReverse?0:1,text:(i.isSelected||i.isMouseOver)&&i.tooltip?new _r({backgroundFill:new ui({color:"white"}),text:i.tooltip,offsetY:-40,backgroundStroke:new di({color:"white",lineJoin:"round",width:3}),padding:[2,0,0,2]}):void 0})},Re="EPSG:4326";class yr extends br.Control{#e;#t;#s;constructor(e={}){const t=document.createElement("div");super({element:t,...e}),this.#e=e,this.#s=document.createElement("maptiler-geocoder"),this.#s.classList.add("openlayers-geocoder"),this.#E(),t.classList.add("openlayers-ctrl-geocoder"),t.style.zIndex="3",t.appendChild(this.#s)}setMap(e){super.setMap(e),this.#t&&this.#t!==e&&(this.#$(),this.#I(),this.#t=void 0),e&&(this.#t=e,this.#_(),this.#k())}getOptions(){return{...this.#e}}setOptions(e){Object.assign(this.#e,e),this.#E()}setQuery(e){this.#s.setQuery(e)}submitQuery(e){this.#s.submitQuery(e)}clearMap(){this.#o=[],this.#f(void 0,void 0)}clearList(){this.#s.clearList()}setReverseMode(e){this.setOptions({reverseActive:e})}focus(e){this.#s.focus(e)}blur(){this.#s.blur()}#c=new Map;#h;#n;#o;#g;#a;#r;#u;#y=!1;#v={reversetoggle:e=>{this.#y=e.detail.reverse,this.#i("reversetoggle",e.detail)},querychange:e=>{const t=e.detail.reverseCoords;this.#S(t?[t.decimalLongitude,t.decimalLatitude]:void 0),this.#i("querychange",e.detail)},queryclear:()=>{this.#S(void 0),this.#i("queryclear")},request:e=>{this.#i("request",e.detail)},response:e=>{this.#i("response",e.detail)},select:e=>{const t=e.detail.feature;t&&this.#m&&this.#e.flyToSelected&&this.#w(t.center,this.#d(t)),this.#o&&t&&this.#O(t),this.#i("select",e.detail)},pick:e=>{const t=e.detail.feature;t&&t.id!==this.#g&&this.#m&&(this.#M(t),this.#f(this.#o,t)),this.#g=t?.id,this.#i("pick",e.detail)},featuresshow:()=>{this.#i("featuresshow")},featureshide:()=>{this.#i("featureshide")},featureslisted:e=>{const t=e.detail.features;this.#o=t,this.#f(this.#o,void 0),this.#T(e),this.#i("featureslisted",e.detail)},featuresclear:()=>{this.#o=void 0,this.#f(void 0,void 0),this.#i("featuresclear")},focusin:()=>{this.#i("focusin")},focusout:()=>{this.#i("focusout")}};#b={postrender:()=>{const e=this.#t?.getView().getZoom(),t=this.#t?.getView().getCenter();this.#s.handleMapChange(e&&t?[e,...this.#L(t)]:void 0)},click:e=>{this.#s.handleMapClick(this.#L(e.coordinate)),this.#t?.forEachFeatureAtPixel(e.pixel,t=>{const i=t.getId(),s=this.#o?.find(n=>n.id===i);if(!(!i||!s))return e.stopPropagation(),this.#i("markerclick",{feature:s,marker:t}),!0})},pointermove:e=>{if(!this.#t)return;const t=this.#t.forEachFeatureAtPixel(e.pixel,s=>s.getId()?s:void 0);this.#t.getTargetElement().style.cursor=t?"pointer":this.#y?"crosshair":"";const i=t?.getId();if(this.#u!==i){if(this.#u){const s=this.#o?.find(o=>o.id===this.#u),n=this.#c.get(s);n?.set("isMouseOver",!1),s&&n&&this.#i("markermouseleave",{feature:s,marker:n})}if(t){const s=this.#o?.find(n=>n.id===i);this.#i("markermouseenter",{feature:s,marker:t}),t.set("isMouseOver",!0)}this.#u=i}}};#E(){this.#s.setOptions(this.#e),this.#s.fetchFullGeometryOnPick=this.#e.pickedResultStyle!=="marker-only"}#_(){if(this.#t){for(const[e,t]of Object.entries(this.#v))this.#s.addEventListener(e,t);for(const[e,t]of Object.entries(this.#b))this.#t.on([e],t)}}#$(){if(this.#t){for(const[e,t]of Object.entries(this.#v))this.#s.removeEventListener(e,t);for(const[e,t]of Object.entries(this.#b))this.#t.un([e],t)}}#i(e,t){this.dispatchEvent(Object.assign(new Er(e),t))}#M(e){e.bbox[0]===e.bbox[2]&&e.bbox[1]===e.bbox[3]?this.#w(e.center,this.#d(e)):this.#x(pt(e.bbox),50,this.#d(e))}#T({detail:{features:e,external:t}}){if(!e||e.length===0||!this.#m||this.#e.flyToFeatures===!1||this.#e.flyToFeatures==="never"||!t&&(this.#e.flyToFeatures===void 0||this.#e.flyToFeatures==="external"))return;const i=e.every(o=>o.matching_text),s=e.reduce((o,l)=>i||!l.matching_text?[Math.min(o[0],l.bbox[0]),Math.min(o[1],l.bbox[1]),Math.max(o[2],l.bbox[2]),Math.max(o[3],l.bbox[3])]:o,[180,90,-180,-90]),n=e.map(o=>this.#d(o)).filter(o=>o!==void 0).reduce((o,l)=>o===void 0?l:Math.max(o,l),void 0);this.#x(pt(s),50,n)}#d(e){if(e.bbox[0]!==e.bbox[2]||e.bbox[1]!==e.bbox[3])return;const t=e.id.replace(/\..*/,""),i=this.#e.zoom??mr;return(Array.isArray(e.properties?.categories)?e.properties.categories.reduce((s,n)=>{const o=i[t+"."+n];return s===void 0?o:o===void 0?s:Math.max(s,o)},void 0):void 0)??i[t]}get#m(){return!!this.#e.flyTo||this.#e.flyTo===void 0}get#A(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}get#C(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}#w(e,t){this.#t?.getView().animate({center:this.#p(e),...t?{zoom:t}:{},duration:2e3,...this.#A})}#x(e,t,i){this.#t?.getView().fit(ot.transformExtent(e,Re,this.#l()),{padding:[t,t,t,t],...i?{maxZoom:i}:{},duration:2e3,...this.#C})}#S(e){if(this.#e.marker===!1||!this.#t||!this.#r)return;if(!e){this.#n&&(this.#r.removeFeature(this.#n),this.#n.dispose(),this.#n=void 0);return}const t=this.#p(e);if(!this.#n){this.#n=new se.Feature(new oe.Point(t)),this.#n.set("isReverse",!0),this.#r.addFeature(this.#n);return}this.#n.getGeometry().setCoordinates(t)}#f(e,t){if(!this.#t||!this.#r)return;this.#r.removeFeatures([...this.#c.undefined()]),this.#c=new Map;const i=()=>{if(!t||!this.#t||this.#e.marker===!1)return;const s=new se.Feature(new oe.Point(this.#p(t.center)));s.setId(t.id),this.#c.set(t,s),this.#r?.addFeature(s)};if(t?.geometry.type==="GeometryCollection"){const s=t.geometry.geometries.map(n=>n.type==="Polygon"?new oe.Polygon(n.coordinates):n.type==="MultiPolygon"?new oe.MultiPolygon(n.coordinates):null).filter(n=>!!n);if(s.length>0)this.#r.addFeature(new se.Feature(new oe.GeometryCollection(s).transform(Re,this.#l())));else for(const n of t.geometry.geometries)n.type==="LineString"?this.#r.addFeature(new se.Feature(new oe.LineString(n.coordinates).transform(Re,this.#l()))):n.type==="MultiLineString"&&this.#r.addFeature(new se.Feature(new oe.MultiLineString(n.coordinates).transform(Re,this.#l())))}else if(t?.geometry.type.endsWith("Polygon")){const s=dn(t);if(s)for(const n of s.features){const o=n.geometry.type==="Polygon"?new oe.Polygon(n.geometry.coordinates):new oe.MultiPolygon(n.geometry.coordinates);this.#r.addFeature(new se.Feature({isMask:!!n.properties?.isMask,geometry:o.transform(Re,this.#l())}))}this.#e.pickedResultStyle==="full-geometry-including-polygon-center-marker"&&i()}else t?.geometry.type==="LineString"?this.#r.addFeature(new se.Feature(new oe.LineString(t.geometry.coordinates).transform(Re,this.#l()))):t?.geometry.type==="MultiLineString"?this.#r.addFeature(new se.Feature(new oe.MultiLineString(t.geometry.coordinates).transform(Re,this.#l()))):t?.geometry.type.endsWith("Point")&&i();if(this.#e.showResultMarkers!==!1)for(const s of e??[]){if(s.id===t?.id||s.place_type.includes("reverse"))continue;const n=new se.Feature(new oe.Point(this.#p(s.center)));n.setId(s.id),n.setProperties({fuzzy:!!s.matching_text,tooltip:s.place_type[0]==="reverse"?s.place_name:s.place_name.replace(/,.*/,"")}),this.#r.addFeature(n),this.#c.set(s,n)}}#O(e){this.#h?.set("isSelected",!1),this.#h=void 0,this.#e.markerOnSelected!==!1&&(this.#h=this.#c.get(e),this.#h?.setProperties({isSelected:!0}))}#k(){this.#t&&(this.#r=new xr({}),this.#a=new wr({updateWhileAnimating:!0}),this.#a.setSource(this.#r),this.#a.setStyle(this.#P()),this.#t.addLayer(this.#a))}#I(){!this.#t||!this.#a||(this.#t.removeLayer(this.#a),this.#a=void 0)}#l(){return ot.getUserProjection()??this.#t?.getView().getProjection()}#p(e){return ot.fromLonLat(e,this.#l())}#L(e){return ot.toLonLat(e,this.#l())}#P(){const{fullGeometryStyle:e}=this.#e;if(e===!0||e===void 0)return gr(this.#e);if(!(e===!1||e===null))return e}}_.DEFAULT_GEOMETRY_STYLE=gr,_.GeocodingControl=yr,_.OpenLayersGeocodingControl=yr,_.ZOOM_DEFAULTS=mr,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
281
- //# sourceMappingURL=openlayers.public.umd.js.map
280
+ `,_.MaptilerGeocodeMarkerElement=Gs([Me("maptiler-geocode-marker")],_.MaptilerGeocodeMarkerElement);function Et(r,e,t={}){const i={type:"Feature"};return(t.id===0||t.id)&&(i.id=t.id),t.bbox&&(i.bbox=t.bbox),i.properties=e||{},i.geometry=r,i}function Jt(r,e,t={}){for(const s of r){if(s.length<4)throw new Error("Each LinearRing of a Polygon must have 4 or more Positions.");if(s[s.length-1].length!==s[0].length)throw new Error("First and last Position are not equivalent.");for(let n=0;n<s[s.length-1].length;n++)if(s[s.length-1][n]!==s[0][n])throw new Error("First and last Position are not equivalent.")}return Et({type:"Polygon",coordinates:r},e,t)}function ei(r,e={}){const t={type:"FeatureCollection"};return e.id&&(t.id=e.id),e.bbox&&(t.bbox=e.bbox),t.features=r,t}function ir(r,e,t={}){return Et({type:"MultiPolygon",coordinates:r},e,t)}function rr(r,e,t){if(r!==null)for(var i,s,n,o,l,u,f,x=0,w=0,$,M=r.type,T=M==="FeatureCollection",R=M==="Feature",F=T?r.features.length:1,G=0;G<F;G++){f=T?r.features[G].geometry:R?r.geometry:r,$=f?f.type==="GeometryCollection":!1,l=$?f.geometries.length:1;for(var L=0;L<l;L++){var Q=0,ne=0;if(o=$?f.geometries[L]:f,o!==null){u=o.coordinates;var be=o.type;switch(x=0,be){case null:break;case"Point":if(e(u,w,G,Q,ne)===!1)return!1;w++,Q++;break;case"LineString":case"MultiPoint":for(i=0;i<u.length;i++){if(e(u[i],w,G,Q,ne)===!1)return!1;w++,be==="MultiPoint"&&Q++}be==="LineString"&&Q++;break;case"Polygon":case"MultiLineString":for(i=0;i<u.length;i++){for(s=0;s<u[i].length-x;s++){if(e(u[i][s],w,G,Q,ne)===!1)return!1;w++}be==="MultiLineString"&&Q++,be==="Polygon"&&ne++}be==="Polygon"&&Q++;break;case"MultiPolygon":for(i=0;i<u.length;i++){for(ne=0,s=0;s<u[i].length;s++){for(n=0;n<u[i][s].length-x;n++){if(e(u[i][s][n],w,G,Q,ne)===!1)return!1;w++}ne++}Q++}break;case"GeometryCollection":for(i=0;i<o.geometries.length;i++)if(rr(o.geometries[i],e)===!1)return!1;break;default:throw new Error("Unknown Geometry Type")}}}}}function ti(r,e){var t,i,s,n,o,l,u,f,x,w,$=0,M=r.type==="FeatureCollection",T=r.type==="Feature",R=M?r.features.length:1;for(t=0;t<R;t++){for(l=M?r.features[t].geometry:T?r.geometry:r,f=M?r.features[t].properties:T?r.properties:{},x=M?r.features[t].bbox:T?r.bbox:void 0,w=M?r.features[t].id:T?r.id:void 0,u=l?l.type==="GeometryCollection":!1,o=u?l.geometries.length:1,s=0;s<o;s++){if(n=u?l.geometries[s]:l,n===null){if(e(null,$,f,x,w)===!1)return!1;continue}switch(n.type){case"Point":case"LineString":case"MultiPoint":case"Polygon":case"MultiLineString":case"MultiPolygon":{if(e(n,$,f,x,w)===!1)return!1;break}case"GeometryCollection":{for(i=0;i<n.geometries.length;i++)if(e(n.geometries[i],$,f,x,w)===!1)return!1;break}default:throw new Error("Unknown Geometry Type")}}$++}}function Fs(r,e){ti(r,function(t,i,s,n,o){var l=t===null?null:t.type;switch(l){case null:case"Point":case"LineString":case"Polygon":return e(Et(t,s,{bbox:n,id:o}),i,0)===!1?!1:void 0}var u;switch(l){case"MultiPoint":u="Point";break;case"MultiLineString":u="LineString";break;case"MultiPolygon":u="Polygon";break}for(var f=0;f<t.coordinates.length;f++){var x=t.coordinates[f],w={type:u,coordinates:x};if(e(Et(w,s),i,f)===!1)return!1}})}function Us(r,e={}){if(r.bbox!=null&&e.recompute!==!0)return r.bbox;const t=[1/0,1/0,-1/0,-1/0];return rr(r,i=>{t[0]>i[0]&&(t[0]=i[0]),t[1]>i[1]&&(t[1]=i[1]),t[2]<i[0]&&(t[2]=i[0]),t[3]<i[1]&&(t[3]=i[1])}),t}var sr=Us,Bs=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,ii=Math.ceil,he=Math.floor,re="[BigNumber Error] ",nr=re+"Number primitive has more than 15 significant digits: ",me=1e14,N=14,ri=9007199254740991,si=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],Ae=1e7,X=1e9;function or(r){var e,t,i,s=L.prototype={constructor:L,toString:null,valueOf:null},n=new L(1),o=20,l=4,u=-7,f=21,x=-1e7,w=1e7,$=!1,M=1,T=0,R={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:" ",suffix:""},F="0123456789abcdefghijklmnopqrstuvwxyz",G=!0;function L(a,c){var h,v,p,g,E,d,m,b,y=this;if(!(y instanceof L))return new L(a,c);if(c==null){if(a&&a._isBigNumber===!0){y.s=a.s,!a.c||a.e>w?y.c=y.e=null:a.e<x?y.c=[y.e=0]:(y.e=a.e,y.c=a.c.slice());return}if((d=typeof a=="number")&&a*0==0){if(y.s=1/a<0?(a=-a,-1):1,a===~~a){for(g=0,E=a;E>=10;E/=10,g++);g>w?y.c=y.e=null:(y.e=g,y.c=[a]);return}b=String(a)}else{if(!Bs.test(b=String(a)))return i(y,b,d);y.s=b.charCodeAt(0)==45?(b=b.slice(1),-1):1}(g=b.indexOf("."))>-1&&(b=b.replace(".","")),(E=b.search(/e/i))>0?(g<0&&(g=E),g+=+b.slice(E+1),b=b.substring(0,E)):g<0&&(g=b.length)}else{if(q(c,2,F.length,"Base"),c==10&&G)return y=new L(a),fe(y,o+y.e+1,l);if(b=String(a),d=typeof a=="number"){if(a*0!=0)return i(y,b,d,c);if(y.s=1/a<0?(b=b.slice(1),-1):1,L.DEBUG&&b.replace(/^0\.0*|\./,"").length>15)throw Error(nr+a)}else y.s=b.charCodeAt(0)===45?(b=b.slice(1),-1):1;for(h=F.slice(0,c),g=E=0,m=b.length;E<m;E++)if(h.indexOf(v=b.charAt(E))<0){if(v=="."){if(E>g){g=m;continue}}else if(!p&&(b==b.toUpperCase()&&(b=b.toLowerCase())||b==b.toLowerCase()&&(b=b.toUpperCase()))){p=!0,E=-1,g=0;continue}return i(y,String(a),d,c)}d=!1,b=t(b,c,10,y.s),(g=b.indexOf("."))>-1?b=b.replace(".",""):g=b.length}for(E=0;b.charCodeAt(E)===48;E++);for(m=b.length;b.charCodeAt(--m)===48;);if(b=b.slice(E,++m)){if(m-=E,d&&L.DEBUG&&m>15&&(a>ri||a!==he(a)))throw Error(nr+y.s*a);if((g=g-E-1)>w)y.c=y.e=null;else if(g<x)y.c=[y.e=0];else{if(y.e=g,y.c=[],E=(g+1)%N,g<0&&(E+=N),E<m){for(E&&y.c.push(+b.slice(0,E)),m-=N;E<m;)y.c.push(+b.slice(E,E+=N));E=N-(b=b.slice(E)).length}else E-=m;for(;E--;b+="0");y.c.push(+b)}}else y.c=[y.e=0]}L.clone=or,L.ROUND_UP=0,L.ROUND_DOWN=1,L.ROUND_CEIL=2,L.ROUND_FLOOR=3,L.ROUND_HALF_UP=4,L.ROUND_HALF_DOWN=5,L.ROUND_HALF_EVEN=6,L.ROUND_HALF_CEIL=7,L.ROUND_HALF_FLOOR=8,L.EUCLID=9,L.config=L.set=function(a){var c,h;if(a!=null)if(typeof a=="object"){if(a.hasOwnProperty(c="DECIMAL_PLACES")&&(h=a[c],q(h,0,X,c),o=h),a.hasOwnProperty(c="ROUNDING_MODE")&&(h=a[c],q(h,0,8,c),l=h),a.hasOwnProperty(c="EXPONENTIAL_AT")&&(h=a[c],h&&h.pop?(q(h[0],-X,0,c),q(h[1],0,X,c),u=h[0],f=h[1]):(q(h,-X,X,c),u=-(f=h<0?-h:h))),a.hasOwnProperty(c="RANGE"))if(h=a[c],h&&h.pop)q(h[0],-X,-1,c),q(h[1],1,X,c),x=h[0],w=h[1];else if(q(h,-X,X,c),h)x=-(w=h<0?-h:h);else throw Error(re+c+" cannot be zero: "+h);if(a.hasOwnProperty(c="CRYPTO"))if(h=a[c],h===!!h)if(h)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))$=h;else throw $=!h,Error(re+"crypto unavailable");else $=h;else throw Error(re+c+" not true or false: "+h);if(a.hasOwnProperty(c="MODULO_MODE")&&(h=a[c],q(h,0,9,c),M=h),a.hasOwnProperty(c="POW_PRECISION")&&(h=a[c],q(h,0,X,c),T=h),a.hasOwnProperty(c="FORMAT"))if(h=a[c],typeof h=="object")R=h;else throw Error(re+c+" not an object: "+h);if(a.hasOwnProperty(c="ALPHABET"))if(h=a[c],typeof h=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(h))G=h.slice(0,10)=="0123456789",F=h;else throw Error(re+c+" invalid: "+h)}else throw Error(re+"Object expected: "+a);return{DECIMAL_PLACES:o,ROUNDING_MODE:l,EXPONENTIAL_AT:[u,f],RANGE:[x,w],CRYPTO:$,MODULO_MODE:M,POW_PRECISION:T,FORMAT:R,ALPHABET:F}},L.isBigNumber=function(a){if(!a||a._isBigNumber!==!0)return!1;if(!L.DEBUG)return!0;var c,h,v=a.c,p=a.e,g=a.s;e:if({}.toString.call(v)=="[object Array]"){if((g===1||g===-1)&&p>=-X&&p<=X&&p===he(p)){if(v[0]===0){if(p===0&&v.length===1)return!0;break e}if(c=(p+1)%N,c<1&&(c+=N),String(v[0]).length==c){for(c=0;c<v.length;c++)if(h=v[c],h<0||h>=me||h!==he(h))break e;if(h!==0)return!0}}}else if(v===null&&p===null&&(g===null||g===1||g===-1))return!0;throw Error(re+"Invalid BigNumber: "+a)},L.maximum=L.max=function(){return ne(arguments,-1)},L.minimum=L.min=function(){return ne(arguments,1)},L.random=(function(){var a=9007199254740992,c=Math.random()*a&2097151?function(){return he(Math.random()*a)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(h){var v,p,g,E,d,m=0,b=[],y=new L(n);if(h==null?h=o:q(h,0,X),E=ii(h/N),$)if(crypto.getRandomValues){for(v=crypto.getRandomValues(new Uint32Array(E*=2));m<E;)d=v[m]*131072+(v[m+1]>>>11),d>=9e15?(p=crypto.getRandomValues(new Uint32Array(2)),v[m]=p[0],v[m+1]=p[1]):(b.push(d%1e14),m+=2);m=E/2}else if(crypto.randomBytes){for(v=crypto.randomBytes(E*=7);m<E;)d=(v[m]&31)*281474976710656+v[m+1]*1099511627776+v[m+2]*4294967296+v[m+3]*16777216+(v[m+4]<<16)+(v[m+5]<<8)+v[m+6],d>=9e15?crypto.randomBytes(7).copy(v,m):(b.push(d%1e14),m+=7);m=E/7}else throw $=!1,Error(re+"crypto unavailable");if(!$)for(;m<E;)d=c(),d<9e15&&(b[m++]=d%1e14);for(E=b[--m],h%=N,E&&h&&(d=si[N-h],b[m]=he(E/d)*d);b[m]===0;b.pop(),m--);if(m<0)b=[g=0];else{for(g=-1;b[0]===0;b.splice(0,1),g-=N);for(m=1,d=b[0];d>=10;d/=10,m++);m<N&&(g-=N-m)}return y.e=g,y.c=b,y}})(),L.sum=function(){for(var a=1,c=arguments,h=new L(c[0]);a<c.length;)h=h.plus(c[a++]);return h},t=(function(){var a="0123456789";function c(h,v,p,g){for(var E,d=[0],m,b=0,y=h.length;b<y;){for(m=d.length;m--;d[m]*=v);for(d[0]+=g.indexOf(h.charAt(b++)),E=0;E<d.length;E++)d[E]>p-1&&(d[E+1]==null&&(d[E+1]=0),d[E+1]+=d[E]/p|0,d[E]%=p)}return d.reverse()}return function(h,v,p,g,E){var d,m,b,y,S,A,O,W,H=h.indexOf("."),K=o,U=l;for(H>=0&&(y=T,T=0,h=h.replace(".",""),W=new L(v),A=W.pow(h.length-H),T=y,W.c=c(xe(de(A.c),A.e,"0"),10,p,a),W.e=W.c.length),O=c(h,v,p,E?(d=F,a):(d=a,F)),b=y=O.length;O[--y]==0;O.pop());if(!O[0])return d.charAt(0);if(H<0?--b:(A.c=O,A.e=b,A.s=g,A=e(A,W,K,U,p),O=A.c,S=A.r,b=A.e),m=b+K+1,H=O[m],y=p/2,S=S||m<0||O[m+1]!=null,S=U<4?(H!=null||S)&&(U==0||U==(A.s<0?3:2)):H>y||H==y&&(U==4||S||U==6&&O[m-1]&1||U==(A.s<0?8:7)),m<1||!O[0])h=S?xe(d.charAt(1),-K,d.charAt(0)):d.charAt(0);else{if(O.length=m,S)for(--p;++O[--m]>p;)O[m]=0,m||(++b,O=[1].concat(O));for(y=O.length;!O[--y];);for(H=0,h="";H<=y;h+=d.charAt(O[H++]));h=xe(h,b,d.charAt(0))}return h}})(),e=(function(){function a(v,p,g){var E,d,m,b,y=0,S=v.length,A=p%Ae,O=p/Ae|0;for(v=v.slice();S--;)m=v[S]%Ae,b=v[S]/Ae|0,E=O*m+b*A,d=A*m+E%Ae*Ae+y,y=(d/g|0)+(E/Ae|0)+O*b,v[S]=d%g;return y&&(v=[y].concat(v)),v}function c(v,p,g,E){var d,m;if(g!=E)m=g>E?1:-1;else for(d=m=0;d<g;d++)if(v[d]!=p[d]){m=v[d]>p[d]?1:-1;break}return m}function h(v,p,g,E){for(var d=0;g--;)v[g]-=d,d=v[g]<p[g]?1:0,v[g]=d*E+v[g]-p[g];for(;!v[0]&&v.length>1;v.splice(0,1));}return function(v,p,g,E,d){var m,b,y,S,A,O,W,H,K,U,D,J,Tt,ai,ci,Ee,st,pe=v.s==p.s?1:-1,ie=v.c,j=p.c;if(!ie||!ie[0]||!j||!j[0])return new L(!v.s||!p.s||(ie?j&&ie[0]==j[0]:!j)?NaN:ie&&ie[0]==0||!j?pe*0:pe/0);for(H=new L(pe),K=H.c=[],b=v.e-p.e,pe=g+b+1,d||(d=me,b=ue(v.e/N)-ue(p.e/N),pe=pe/N|0),y=0;j[y]==(ie[y]||0);y++);if(j[y]>(ie[y]||0)&&b--,pe<0)K.push(1),S=!0;else{for(ai=ie.length,Ee=j.length,y=0,pe+=2,A=he(d/(j[0]+1)),A>1&&(j=a(j,A,d),ie=a(ie,A,d),Ee=j.length,ai=ie.length),Tt=Ee,U=ie.slice(0,Ee),D=U.length;D<Ee;U[D++]=0);st=j.slice(),st=[0].concat(st),ci=j[0],j[1]>=d/2&&ci++;do{if(A=0,m=c(j,U,Ee,D),m<0){if(J=U[0],Ee!=D&&(J=J*d+(U[1]||0)),A=he(J/ci),A>1)for(A>=d&&(A=d-1),O=a(j,A,d),W=O.length,D=U.length;c(O,U,W,D)==1;)A--,h(O,Ee<W?st:j,W,d),W=O.length,m=1;else A==0&&(m=A=1),O=j.slice(),W=O.length;if(W<D&&(O=[0].concat(O)),h(U,O,D,d),D=U.length,m==-1)for(;c(j,U,Ee,D)<1;)A++,h(U,Ee<D?st:j,D,d),D=U.length}else m===0&&(A++,U=[0]);K[y++]=A,U[0]?U[D++]=ie[Tt]||0:(U=[ie[Tt]],D=1)}while((Tt++<ai||U[0]!=null)&&pe--);S=U[0]!=null,K[0]||K.splice(0,1)}if(d==me){for(y=1,pe=K[0];pe>=10;pe/=10,y++);fe(H,g+(H.e=y+b*N-1)+1,E,S)}else H.e=b,H.r=+S;return H}})();function Q(a,c,h,v){var p,g,E,d,m;if(h==null?h=l:q(h,0,8),!a.c)return a.toString();if(p=a.c[0],E=a.e,c==null)m=de(a.c),m=v==1||v==2&&(E<=u||E>=f)?xt(m,E):xe(m,E,"0");else if(a=fe(new L(a),c,h),g=a.e,m=de(a.c),d=m.length,v==1||v==2&&(c<=g||g<=u)){for(;d<c;m+="0",d++);m=xt(m,g)}else if(c-=E+(v===2&&g>E),m=xe(m,g,"0"),g+1>d){if(--c>0)for(m+=".";c--;m+="0");}else if(c+=g-d,c>0)for(g+1==d&&(m+=".");c--;m+="0");return a.s<0&&p?"-"+m:m}function ne(a,c){for(var h,v,p=1,g=new L(a[0]);p<a.length;p++)v=new L(a[p]),(!v.s||(h=Ne(g,v))===c||h===0&&g.s===c)&&(g=v);return g}function be(a,c,h){for(var v=1,p=c.length;!c[--p];c.pop());for(p=c[0];p>=10;p/=10,v++);return(h=v+h*N-1)>w?a.c=a.e=null:h<x?a.c=[a.e=0]:(a.e=h,a.c=c),a}i=(function(){var a=/^(-?)0([xbo])(?=\w[\w.]*$)/i,c=/^([^.]+)\.$/,h=/^\.([^.]+)$/,v=/^-?(Infinity|NaN)$/,p=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(g,E,d,m){var b,y=d?E:E.replace(p,"");if(v.test(y))g.s=isNaN(y)?null:y<0?-1:1;else{if(!d&&(y=y.replace(a,function(S,A,O){return b=(O=O.toLowerCase())=="x"?16:O=="b"?2:8,!m||m==b?A:S}),m&&(b=m,y=y.replace(c,"$1").replace(h,"0.$1")),E!=y))return new L(y,b);if(L.DEBUG)throw Error(re+"Not a"+(m?" base "+m:"")+" number: "+E);g.s=null}g.c=g.e=null}})();function fe(a,c,h,v){var p,g,E,d,m,b,y,S=a.c,A=si;if(S){e:{for(p=1,d=S[0];d>=10;d/=10,p++);if(g=c-p,g<0)g+=N,E=c,m=S[b=0],y=he(m/A[p-E-1]%10);else if(b=ii((g+1)/N),b>=S.length)if(v){for(;S.length<=b;S.push(0));m=y=0,p=1,g%=N,E=g-N+1}else break e;else{for(m=d=S[b],p=1;d>=10;d/=10,p++);g%=N,E=g-N+p,y=E<0?0:he(m/A[p-E-1]%10)}if(v=v||c<0||S[b+1]!=null||(E<0?m:m%A[p-E-1]),v=h<4?(y||v)&&(h==0||h==(a.s<0?3:2)):y>5||y==5&&(h==4||v||h==6&&(g>0?E>0?m/A[p-E]:0:S[b-1])%10&1||h==(a.s<0?8:7)),c<1||!S[0])return S.length=0,v?(c-=a.e+1,S[0]=A[(N-c%N)%N],a.e=-c||0):S[0]=a.e=0,a;if(g==0?(S.length=b,d=1,b--):(S.length=b+1,d=A[N-g],S[b]=E>0?he(m/A[p-E]%A[E])*d:0),v)for(;;)if(b==0){for(g=1,E=S[0];E>=10;E/=10,g++);for(E=S[0]+=d,d=1;E>=10;E/=10,d++);g!=d&&(a.e++,S[0]==me&&(S[0]=1));break}else{if(S[b]+=d,S[b]!=me)break;S[b--]=0,d=1}for(g=S.length;S[--g]===0;S.pop());}a.e>w?a.c=a.e=null:a.e<x&&(a.c=[a.e=0])}return a}function Le(a){var c,h=a.e;return h===null?a.toString():(c=de(a.c),c=h<=u||h>=f?xt(c,h):xe(c,h,"0"),a.s<0?"-"+c:c)}return s.absoluteValue=s.abs=function(){var a=new L(this);return a.s<0&&(a.s=1),a},s.comparedTo=function(a,c){return Ne(this,new L(a,c))},s.decimalPlaces=s.dp=function(a,c){var h,v,p,g=this;if(a!=null)return q(a,0,X),c==null?c=l:q(c,0,8),fe(new L(g),a+g.e+1,c);if(!(h=g.c))return null;if(v=((p=h.length-1)-ue(this.e/N))*N,p=h[p])for(;p%10==0;p/=10,v--);return v<0&&(v=0),v},s.dividedBy=s.div=function(a,c){return e(this,new L(a,c),o,l)},s.dividedToIntegerBy=s.idiv=function(a,c){return e(this,new L(a,c),0,1)},s.exponentiatedBy=s.pow=function(a,c){var h,v,p,g,E,d,m,b,y,S=this;if(a=new L(a),a.c&&!a.isInteger())throw Error(re+"Exponent not an integer: "+Le(a));if(c!=null&&(c=new L(c)),d=a.e>14,!S.c||!S.c[0]||S.c[0]==1&&!S.e&&S.c.length==1||!a.c||!a.c[0])return y=new L(Math.pow(+Le(S),d?a.s*(2-wt(a)):+Le(a))),c?y.mod(c):y;if(m=a.s<0,c){if(c.c?!c.c[0]:!c.s)return new L(NaN);v=!m&&S.isInteger()&&c.isInteger(),v&&(S=S.mod(c))}else{if(a.e>9&&(S.e>0||S.e<-1||(S.e==0?S.c[0]>1||d&&S.c[1]>=24e7:S.c[0]<8e13||d&&S.c[0]<=9999975e7)))return g=S.s<0&&wt(a)?-0:0,S.e>-1&&(g=1/g),new L(m?1/g:g);T&&(g=ii(T/N+2))}for(d?(h=new L(.5),m&&(a.s=1),b=wt(a)):(p=Math.abs(+Le(a)),b=p%2),y=new L(n);;){if(b){if(y=y.times(S),!y.c)break;g?y.c.length>g&&(y.c.length=g):v&&(y=y.mod(c))}if(p){if(p=he(p/2),p===0)break;b=p%2}else if(a=a.times(h),fe(a,a.e+1,1),a.e>14)b=wt(a);else{if(p=+Le(a),p===0)break;b=p%2}S=S.times(S),g?S.c&&S.c.length>g&&(S.c.length=g):v&&(S=S.mod(c))}return v?y:(m&&(y=n.div(y)),c?y.mod(c):g?fe(y,T,l,E):y)},s.integerValue=function(a){var c=new L(this);return a==null?a=l:q(a,0,8),fe(c,c.e+1,a)},s.isEqualTo=s.eq=function(a,c){return Ne(this,new L(a,c))===0},s.isFinite=function(){return!!this.c},s.isGreaterThan=s.gt=function(a,c){return Ne(this,new L(a,c))>0},s.isGreaterThanOrEqualTo=s.gte=function(a,c){return(c=Ne(this,new L(a,c)))===1||c===0},s.isInteger=function(){return!!this.c&&ue(this.e/N)>this.c.length-2},s.isLessThan=s.lt=function(a,c){return Ne(this,new L(a,c))<0},s.isLessThanOrEqualTo=s.lte=function(a,c){return(c=Ne(this,new L(a,c)))===-1||c===0},s.isNaN=function(){return!this.s},s.isNegative=function(){return this.s<0},s.isPositive=function(){return this.s>0},s.isZero=function(){return!!this.c&&this.c[0]==0},s.minus=function(a,c){var h,v,p,g,E=this,d=E.s;if(a=new L(a,c),c=a.s,!d||!c)return new L(NaN);if(d!=c)return a.s=-c,E.plus(a);var m=E.e/N,b=a.e/N,y=E.c,S=a.c;if(!m||!b){if(!y||!S)return y?(a.s=-c,a):new L(S?E:NaN);if(!y[0]||!S[0])return S[0]?(a.s=-c,a):new L(y[0]?E:l==3?-0:0)}if(m=ue(m),b=ue(b),y=y.slice(),d=m-b){for((g=d<0)?(d=-d,p=y):(b=m,p=S),p.reverse(),c=d;c--;p.push(0));p.reverse()}else for(v=(g=(d=y.length)<(c=S.length))?d:c,d=c=0;c<v;c++)if(y[c]!=S[c]){g=y[c]<S[c];break}if(g&&(p=y,y=S,S=p,a.s=-a.s),c=(v=S.length)-(h=y.length),c>0)for(;c--;y[h++]=0);for(c=me-1;v>d;){if(y[--v]<S[v]){for(h=v;h&&!y[--h];y[h]=c);--y[h],y[v]+=me}y[v]-=S[v]}for(;y[0]==0;y.splice(0,1),--b);return y[0]?be(a,y,b):(a.s=l==3?-1:1,a.c=[a.e=0],a)},s.modulo=s.mod=function(a,c){var h,v,p=this;return a=new L(a,c),!p.c||!a.s||a.c&&!a.c[0]?new L(NaN):!a.c||p.c&&!p.c[0]?new L(p):(M==9?(v=a.s,a.s=1,h=e(p,a,0,3),a.s=v,h.s*=v):h=e(p,a,0,M),a=p.minus(h.times(a)),!a.c[0]&&M==1&&(a.s=p.s),a)},s.multipliedBy=s.times=function(a,c){var h,v,p,g,E,d,m,b,y,S,A,O,W,H,K,U=this,D=U.c,J=(a=new L(a,c)).c;if(!D||!J||!D[0]||!J[0])return!U.s||!a.s||D&&!D[0]&&!J||J&&!J[0]&&!D?a.c=a.e=a.s=null:(a.s*=U.s,!D||!J?a.c=a.e=null:(a.c=[0],a.e=0)),a;for(v=ue(U.e/N)+ue(a.e/N),a.s*=U.s,m=D.length,S=J.length,m<S&&(W=D,D=J,J=W,p=m,m=S,S=p),p=m+S,W=[];p--;W.push(0));for(H=me,K=Ae,p=S;--p>=0;){for(h=0,A=J[p]%K,O=J[p]/K|0,E=m,g=p+E;g>p;)b=D[--E]%K,y=D[E]/K|0,d=O*b+y*A,b=A*b+d%K*K+W[g]+h,h=(b/H|0)+(d/K|0)+O*y,W[g--]=b%H;W[g]=h}return h?++v:W.splice(0,1),be(a,W,v)},s.negated=function(){var a=new L(this);return a.s=-a.s||null,a},s.plus=function(a,c){var h,v=this,p=v.s;if(a=new L(a,c),c=a.s,!p||!c)return new L(NaN);if(p!=c)return a.s=-c,v.minus(a);var g=v.e/N,E=a.e/N,d=v.c,m=a.c;if(!g||!E){if(!d||!m)return new L(p/0);if(!d[0]||!m[0])return m[0]?a:new L(d[0]?v:p*0)}if(g=ue(g),E=ue(E),d=d.slice(),p=g-E){for(p>0?(E=g,h=m):(p=-p,h=d),h.reverse();p--;h.push(0));h.reverse()}for(p=d.length,c=m.length,p-c<0&&(h=m,m=d,d=h,c=p),p=0;c;)p=(d[--c]=d[c]+m[c]+p)/me|0,d[c]=me===d[c]?0:d[c]%me;return p&&(d=[p].concat(d),++E),be(a,d,E)},s.precision=s.sd=function(a,c){var h,v,p,g=this;if(a!=null&&a!==!!a)return q(a,1,X),c==null?c=l:q(c,0,8),fe(new L(g),a,c);if(!(h=g.c))return null;if(p=h.length-1,v=p*N+1,p=h[p]){for(;p%10==0;p/=10,v--);for(p=h[0];p>=10;p/=10,v++);}return a&&g.e+1>v&&(v=g.e+1),v},s.shiftedBy=function(a){return q(a,-ri,ri),this.times("1e"+a)},s.squareRoot=s.sqrt=function(){var a,c,h,v,p,g=this,E=g.c,d=g.s,m=g.e,b=o+4,y=new L("0.5");if(d!==1||!E||!E[0])return new L(!d||d<0&&(!E||E[0])?NaN:E?g:1/0);if(d=Math.sqrt(+Le(g)),d==0||d==1/0?(c=de(E),(c.length+m)%2==0&&(c+="0"),d=Math.sqrt(+c),m=ue((m+1)/2)-(m<0||m%2),d==1/0?c="5e"+m:(c=d.toExponential(),c=c.slice(0,c.indexOf("e")+1)+m),h=new L(c)):h=new L(d+""),h.c[0]){for(m=h.e,d=m+b,d<3&&(d=0);;)if(p=h,h=y.times(p.plus(e(g,p,b,1))),de(p.c).slice(0,d)===(c=de(h.c)).slice(0,d))if(h.e<m&&--d,c=c.slice(d-3,d+1),c=="9999"||!v&&c=="4999"){if(!v&&(fe(p,p.e+o+2,0),p.times(p).eq(g))){h=p;break}b+=4,d+=4,v=1}else{(!+c||!+c.slice(1)&&c.charAt(0)=="5")&&(fe(h,h.e+o+2,1),a=!h.times(h).eq(g));break}}return fe(h,h.e+o+1,l,a)},s.toExponential=function(a,c){return a!=null&&(q(a,0,X),a++),Q(this,a,c,1)},s.toFixed=function(a,c){return a!=null&&(q(a,0,X),a=a+this.e+1),Q(this,a,c)},s.toFormat=function(a,c,h){var v,p=this;if(h==null)a!=null&&c&&typeof c=="object"?(h=c,c=null):a&&typeof a=="object"?(h=a,a=c=null):h=R;else if(typeof h!="object")throw Error(re+"Argument not an object: "+h);if(v=p.toFixed(a,c),p.c){var g,E=v.split("."),d=+h.groupSize,m=+h.secondaryGroupSize,b=h.groupSeparator||"",y=E[0],S=E[1],A=p.s<0,O=A?y.slice(1):y,W=O.length;if(m&&(g=d,d=m,m=g,W-=g),d>0&&W>0){for(g=W%d||d,y=O.substr(0,g);g<W;g+=d)y+=b+O.substr(g,d);m>0&&(y+=b+O.slice(g)),A&&(y="-"+y)}v=S?y+(h.decimalSeparator||"")+((m=+h.fractionGroupSize)?S.replace(new RegExp("\\d{"+m+"}\\B","g"),"$&"+(h.fractionGroupSeparator||"")):S):y}return(h.prefix||"")+v+(h.suffix||"")},s.toFraction=function(a){var c,h,v,p,g,E,d,m,b,y,S,A,O=this,W=O.c;if(a!=null&&(d=new L(a),!d.isInteger()&&(d.c||d.s!==1)||d.lt(n)))throw Error(re+"Argument "+(d.isInteger()?"out of range: ":"not an integer: ")+Le(d));if(!W)return new L(O);for(c=new L(n),b=h=new L(n),v=m=new L(n),A=de(W),g=c.e=A.length-O.e-1,c.c[0]=si[(E=g%N)<0?N+E:E],a=!a||d.comparedTo(c)>0?g>0?c:b:d,E=w,w=1/0,d=new L(A),m.c[0]=0;y=e(d,c,0,1),p=h.plus(y.times(v)),p.comparedTo(a)!=1;)h=v,v=p,b=m.plus(y.times(p=b)),m=p,c=d.minus(y.times(p=c)),d=p;return p=e(a.minus(h),v,0,1),m=m.plus(p.times(b)),h=h.plus(p.times(v)),m.s=b.s=O.s,g=g*2,S=e(b,v,g,l).minus(O).abs().comparedTo(e(m,h,g,l).minus(O).abs())<1?[b,v]:[m,h],w=E,S},s.toNumber=function(){return+Le(this)},s.toPrecision=function(a,c){return a!=null&&q(a,1,X),Q(this,a,c,2)},s.toString=function(a){var c,h=this,v=h.s,p=h.e;return p===null?v?(c="Infinity",v<0&&(c="-"+c)):c="NaN":(a==null?c=p<=u||p>=f?xt(de(h.c),p):xe(de(h.c),p,"0"):a===10&&G?(h=fe(new L(h),o+p+1,l),c=xe(de(h.c),h.e,"0")):(q(a,2,F.length,"Base"),c=t(xe(de(h.c),p,"0"),10,a,v,!0)),v<0&&h.c[0]&&(c="-"+c)),c},s.valueOf=s.toJSON=function(){return Le(this)},s._isBigNumber=!0,s[Symbol.toStringTag]="BigNumber",s[Symbol.for("nodejs.util.inspect.custom")]=s.valueOf,r!=null&&L.set(r),L}function ue(r){var e=r|0;return r>0||r===e?e:e-1}function de(r){for(var e,t,i=1,s=r.length,n=r[0]+"";i<s;){for(e=r[i++]+"",t=N-e.length;t--;e="0"+e);n+=e}for(s=n.length;n.charCodeAt(--s)===48;);return n.slice(0,s+1||1)}function Ne(r,e){var t,i,s=r.c,n=e.c,o=r.s,l=e.s,u=r.e,f=e.e;if(!o||!l)return null;if(t=s&&!s[0],i=n&&!n[0],t||i)return t?i?0:-l:o;if(o!=l)return o;if(t=o<0,i=u==f,!s||!n)return i?0:!s^t?1:-1;if(!i)return u>f^t?1:-1;for(l=(u=s.length)<(f=n.length)?u:f,o=0;o<l;o++)if(s[o]!=n[o])return s[o]>n[o]^t?1:-1;return u==f?0:u>f^t?1:-1}function q(r,e,t,i){if(r<e||r>t||r!==he(r))throw Error(re+(i||"Argument")+(typeof r=="number"?r<e||r>t?" out of range: ":" not an integer: ":" not a primitive number: ")+String(r))}function wt(r){var e=r.c.length-1;return ue(r.e/N)==e&&r.c[e]%2!=0}function xt(r,e){return(r.length>1?r.charAt(0)+"."+r.slice(1):r)+(e<0?"e":"e+")+e}function xe(r,e,t){var i,s;if(e<0){for(s=t+".";++e;s+=t);r=s+r}else if(i=r.length,++e>i){for(s=t,e-=i;--e;s+=t);r+=s}else e<i&&(r=r.slice(0,e)+"."+r.slice(e));return r}var ye=or(),Ws=class{key;left=null;right=null;constructor(r){this.key=r}},tt=class extends Ws{constructor(r){super(r)}},Ds=class{size=0;modificationCount=0;splayCount=0;splay(r){const e=this.root;if(e==null)return this.compare(r,r),-1;let t=null,i=null,s=null,n=null,o=e;const l=this.compare;let u;for(;;)if(u=l(o.key,r),u>0){let f=o.left;if(f==null||(u=l(f.key,r),u>0&&(o.left=f.right,f.right=o,o=f,f=o.left,f==null)))break;t==null?i=o:t.left=o,t=o,o=f}else if(u<0){let f=o.right;if(f==null||(u=l(f.key,r),u<0&&(o.right=f.left,f.left=o,o=f,f=o.right,f==null)))break;s==null?n=o:s.right=o,s=o,o=f}else break;return s!=null&&(s.right=o.left,o.left=n),t!=null&&(t.left=o.right,o.right=i),this.root!==o&&(this.root=o,this.splayCount++),u}splayMin(r){let e=r,t=e.left;for(;t!=null;){const i=t;e.left=i.right,i.right=e,e=i,t=e.left}return e}splayMax(r){let e=r,t=e.right;for(;t!=null;){const i=t;e.right=i.left,i.left=e,e=i,t=e.right}return e}_delete(r){if(this.root==null||this.splay(r)!=0)return null;let t=this.root;const i=t,s=t.left;if(this.size--,s==null)this.root=t.right;else{const n=t.right;t=this.splayMax(s),t.right=n,this.root=t}return this.modificationCount++,i}addNewRoot(r,e){this.size++,this.modificationCount++;const t=this.root;if(t==null){this.root=r;return}e<0?(r.left=t,r.right=t.right,t.right=null):(r.right=t,r.left=t.left,t.left=null),this.root=r}_first(){const r=this.root;return r==null?null:(this.root=this.splayMin(r),this.root)}_last(){const r=this.root;return r==null?null:(this.root=this.splayMax(r),this.root)}clear(){this.root=null,this.size=0,this.modificationCount++}has(r){return this.validKey(r)&&this.splay(r)==0}defaultCompare(){return(r,e)=>r<e?-1:r>e?1:0}wrap(){return{getRoot:()=>this.root,setRoot:r=>{this.root=r},getSize:()=>this.size,getModificationCount:()=>this.modificationCount,getSplayCount:()=>this.splayCount,setSplayCount:r=>{this.splayCount=r},splay:r=>this.splay(r),has:r=>this.has(r)}}},St=class nt extends Ds{root=null;compare;validKey;constructor(e,t){super(),this.compare=e??this.defaultCompare(),this.validKey=t??(i=>i!=null&&i!=null)}delete(e){return this.validKey(e)?this._delete(e)!=null:!1}deleteAll(e){for(const t of e)this.delete(t)}forEach(e){const t=this[Symbol.iterator]();let i;for(;i=t.next(),!i.done;)e(i.value,i.value,this)}add(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this}addAndReturn(e){const t=this.splay(e);return t!=0&&this.addNewRoot(new tt(e),t),this.root.key}addAll(e){for(const t of e)this.add(t)}isEmpty(){return this.root==null}isNotEmpty(){return this.root!=null}single(){if(this.size==0)throw"Bad state: No element";if(this.size>1)throw"Bad state: Too many element";return this.root.key}first(){if(this.size==0)throw"Bad state: No element";return this._first().key}last(){if(this.size==0)throw"Bad state: No element";return this._last().key}lastBefore(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)<0)return this.root.key;let i=this.root.left;if(i==null)return null;let s=i.right;for(;s!=null;)i=s,s=i.right;return i.key}firstAfter(e){if(e==null)throw"Invalid arguments(s)";if(this.root==null)return null;if(this.splay(e)>0)return this.root.key;let i=this.root.right;if(i==null)return null;let s=i.left;for(;s!=null;)i=s,s=i.left;return i.key}retainAll(e){const t=new nt(this.compare,this.validKey),i=this.modificationCount;for(const s of e){if(i!=this.modificationCount)throw"Concurrent modification during iteration.";this.validKey(s)&&this.splay(s)==0&&t.add(this.root.key)}t.size!=this.size&&(this.root=t.root,this.size=t.size,this.modificationCount++)}lookup(e){return!this.validKey(e)||this.splay(e)!=0?null:this.root.key}intersection(e){const t=new nt(this.compare,this.validKey);for(const i of this)e.has(i)&&t.add(i);return t}difference(e){const t=new nt(this.compare,this.validKey);for(const i of this)e.has(i)||t.add(i);return t}union(e){const t=this.clone();return t.addAll(e),t}clone(){const e=new nt(this.compare,this.validKey);return e.size=this.size,e.root=this.copyNode(this.root),e}copyNode(e){if(e==null)return null;function t(s,n){let o,l;do{if(o=s.left,l=s.right,o!=null){const u=new tt(o.key);n.left=u,t(o,u)}if(l!=null){const u=new tt(l.key);n.right=u,s=l,n=u}}while(l!=null)}const i=new tt(e.key);return t(e,i),i}toSet(){return this.clone()}entries(){return new qs(this.wrap())}keys(){return this[Symbol.iterator]()}values(){return this[Symbol.iterator]()}[Symbol.iterator](){return new zs(this.wrap())}[Symbol.toStringTag]="[object Set]"},lr=class{tree;path=new Array;modificationCount=null;splayCount;constructor(r){this.tree=r,this.splayCount=r.getSplayCount()}[Symbol.iterator](){return this}next(){return this.moveNext()?{done:!1,value:this.current()}:{done:!0,value:null}}current(){if(!this.path.length)return null;const r=this.path[this.path.length-1];return this.getValue(r)}rebuildPath(r){this.path.splice(0,this.path.length),this.tree.splay(r),this.path.push(this.tree.getRoot()),this.splayCount=this.tree.getSplayCount()}findLeftMostDescendent(r){for(;r!=null;)this.path.push(r),r=r.left}moveNext(){if(this.modificationCount!=this.tree.getModificationCount()){if(this.modificationCount==null){this.modificationCount=this.tree.getModificationCount();let t=this.tree.getRoot();for(;t!=null;)this.path.push(t),t=t.left;return this.path.length>0}throw"Concurrent modification during iteration."}if(!this.path.length)return!1;this.splayCount!=this.tree.getSplayCount()&&this.rebuildPath(this.path[this.path.length-1].key);let r=this.path[this.path.length-1],e=r.right;if(e!=null){for(;e!=null;)this.path.push(e),e=e.left;return!0}for(this.path.pop();this.path.length&&this.path[this.path.length-1].right===r;)r=this.path.pop();return this.path.length>0}},zs=class extends lr{getValue(r){return r.key}},qs=class extends lr{getValue(r){return[r.key,r.key]}},ar=r=>()=>r,ni=r=>{const e=r?(t,i)=>i.minus(t).abs().isLessThanOrEqualTo(r):ar(!1);return(t,i)=>e(t,i)?0:t.comparedTo(i)};function Hs(r){const e=r?(t,i,s,n,o)=>t.exponentiatedBy(2).isLessThanOrEqualTo(n.minus(i).exponentiatedBy(2).plus(o.minus(s).exponentiatedBy(2)).times(r)):ar(!1);return(t,i,s)=>{const n=t.x,o=t.y,l=s.x,u=s.y,f=o.minus(u).times(i.x.minus(l)).minus(n.minus(l).times(i.y.minus(u)));return e(f,n,o,l,u)?0:f.comparedTo(0)}}var js=r=>r,Vs=r=>{if(r){const e=new St(ni(r)),t=new St(ni(r)),i=(n,o)=>o.addAndReturn(n),s=n=>({x:i(n.x,e),y:i(n.y,t)});return s({x:new ye(0),y:new ye(0)}),s}return js},oi=r=>({set:e=>{Se=oi(e)},reset:()=>oi(r),compare:ni(r),snap:Vs(r),orient:Hs(r)}),Se=oi(),it=(r,e)=>r.ll.x.isLessThanOrEqualTo(e.x)&&e.x.isLessThanOrEqualTo(r.ur.x)&&r.ll.y.isLessThanOrEqualTo(e.y)&&e.y.isLessThanOrEqualTo(r.ur.y),li=(r,e)=>{if(e.ur.x.isLessThan(r.ll.x)||r.ur.x.isLessThan(e.ll.x)||e.ur.y.isLessThan(r.ll.y)||r.ur.y.isLessThan(e.ll.y))return null;const t=r.ll.x.isLessThan(e.ll.x)?e.ll.x:r.ll.x,i=r.ur.x.isLessThan(e.ur.x)?r.ur.x:e.ur.x,s=r.ll.y.isLessThan(e.ll.y)?e.ll.y:r.ll.y,n=r.ur.y.isLessThan(e.ur.y)?r.ur.y:e.ur.y;return{ll:{x:t,y:s},ur:{x:i,y:n}}},Lt=(r,e)=>r.x.times(e.y).minus(r.y.times(e.x)),cr=(r,e)=>r.x.times(e.x).plus(r.y.times(e.y)),_t=r=>cr(r,r).sqrt(),Zs=(r,e,t)=>{const i={x:e.x.minus(r.x),y:e.y.minus(r.y)},s={x:t.x.minus(r.x),y:t.y.minus(r.y)};return Lt(s,i).div(_t(s)).div(_t(i))},Ks=(r,e,t)=>{const i={x:e.x.minus(r.x),y:e.y.minus(r.y)},s={x:t.x.minus(r.x),y:t.y.minus(r.y)};return cr(s,i).div(_t(s)).div(_t(i))},hr=(r,e,t)=>e.y.isZero()?null:{x:r.x.plus(e.x.div(e.y).times(t.minus(r.y))),y:t},ur=(r,e,t)=>e.x.isZero()?null:{x:t,y:r.y.plus(e.y.div(e.x).times(t.minus(r.x)))},Ys=(r,e,t,i)=>{if(e.x.isZero())return ur(t,i,r.x);if(i.x.isZero())return ur(r,e,t.x);if(e.y.isZero())return hr(t,i,r.y);if(i.y.isZero())return hr(r,e,t.y);const s=Lt(e,i);if(s.isZero())return null;const n={x:t.x.minus(r.x),y:t.y.minus(r.y)},o=Lt(n,e).div(s),l=Lt(n,i).div(s),u=r.x.plus(l.times(e.x)),f=t.x.plus(o.times(i.x)),x=r.y.plus(l.times(e.y)),w=t.y.plus(o.times(i.y)),$=u.plus(f).div(2),M=x.plus(w).div(2);return{x:$,y:M}},ve=class vr{point;isLeft;segment;otherSE;consumedBy;static compare(e,t){const i=vr.comparePoints(e.point,t.point);return i!==0?i:(e.point!==t.point&&e.link(t),e.isLeft!==t.isLeft?e.isLeft?1:-1:Mt.compare(e.segment,t.segment))}static comparePoints(e,t){return e.x.isLessThan(t.x)?-1:e.x.isGreaterThan(t.x)?1:e.y.isLessThan(t.y)?-1:e.y.isGreaterThan(t.y)?1:0}constructor(e,t){e.events===void 0?e.events=[this]:e.events.push(this),this.point=e,this.isLeft=t}link(e){if(e.point===this.point)throw new Error("Tried to link already linked events");const t=e.point.events;for(let i=0,s=t.length;i<s;i++){const n=t[i];this.point.events.push(n),n.point=this.point}this.checkForConsuming()}checkForConsuming(){const e=this.point.events.length;for(let t=0;t<e;t++){const i=this.point.events[t];if(i.segment.consumedBy===void 0)for(let s=t+1;s<e;s++){const n=this.point.events[s];n.consumedBy===void 0&&i.otherSE.point.events===n.otherSE.point.events&&i.segment.consume(n.segment)}}}getAvailableLinkedEvents(){const e=[];for(let t=0,i=this.point.events.length;t<i;t++){const s=this.point.events[t];s!==this&&!s.segment.ringOut&&s.segment.isInResult()&&e.push(s)}return e}getLeftmostComparator(e){const t=new Map,i=s=>{const n=s.otherSE;t.set(s,{sine:Zs(this.point,e.point,n.point),cosine:Ks(this.point,e.point,n.point)})};return(s,n)=>{t.has(s)||i(s),t.has(n)||i(n);const{sine:o,cosine:l}=t.get(s),{sine:u,cosine:f}=t.get(n);return o.isGreaterThanOrEqualTo(0)&&u.isGreaterThanOrEqualTo(0)?l.isLessThan(f)?1:l.isGreaterThan(f)?-1:0:o.isLessThan(0)&&u.isLessThan(0)?l.isLessThan(f)?-1:l.isGreaterThan(f)?1:0:u.isLessThan(o)?-1:u.isGreaterThan(o)?1:0}}},Xs=class hi{events;poly;_isExteriorRing;_enclosingRing;static factory(e){const t=[];for(let i=0,s=e.length;i<s;i++){const n=e[i];if(!n.isInResult()||n.ringOut)continue;let o=null,l=n.leftSE,u=n.rightSE;const f=[l],x=l.point,w=[];for(;o=l,l=u,f.push(l),l.point!==x;)for(;;){const $=l.getAvailableLinkedEvents();if($.length===0){const R=f[0].point,F=f[f.length-1].point;throw new Error(`Unable to complete output ring starting at [${R.x}, ${R.y}]. Last matching segment found ends at [${F.x}, ${F.y}].`)}if($.length===1){u=$[0].otherSE;break}let M=null;for(let R=0,F=w.length;R<F;R++)if(w[R].point===l.point){M=R;break}if(M!==null){const R=w.splice(M)[0],F=f.splice(R.index);F.unshift(F[0].otherSE),t.push(new hi(F.reverse()));continue}w.push({index:f.length,point:l.point});const T=l.getLeftmostComparator(o);u=$.sort(T)[0].otherSE;break}t.push(new hi(f))}return t}constructor(e){this.events=e;for(let t=0,i=e.length;t<i;t++)e[t].segment.ringOut=this;this.poly=null}getGeom(){let e=this.events[0].point;const t=[e];for(let f=1,x=this.events.length-1;f<x;f++){const w=this.events[f].point,$=this.events[f+1].point;Se.orient(w,e,$)!==0&&(t.push(w),e=w)}if(t.length===1)return null;const i=t[0],s=t[1];Se.orient(i,e,s)===0&&t.shift(),t.push(t[0]);const n=this.isExteriorRing()?1:-1,o=this.isExteriorRing()?0:t.length-1,l=this.isExteriorRing()?t.length:-1,u=[];for(let f=o;f!=l;f+=n)u.push([t[f].x.toNumber(),t[f].y.toNumber()]);return u}isExteriorRing(){if(this._isExteriorRing===void 0){const e=this.enclosingRing();this._isExteriorRing=e?!e.isExteriorRing():!0}return this._isExteriorRing}enclosingRing(){return this._enclosingRing===void 0&&(this._enclosingRing=this._calcEnclosingRing()),this._enclosingRing}_calcEnclosingRing(){let e=this.events[0];for(let s=1,n=this.events.length;s<n;s++){const o=this.events[s];ve.compare(e,o)>0&&(e=o)}let t=e.segment.prevInResult(),i=t?t.prevInResult():null;for(;;){if(!t)return null;if(!i)return t.ringOut;if(i.ringOut!==t.ringOut)return i.ringOut?.enclosingRing()!==t.ringOut?t.ringOut:t.ringOut?.enclosingRing();t=i.prevInResult(),i=t?t.prevInResult():null}}},dr=class{exteriorRing;interiorRings;constructor(r){this.exteriorRing=r,r.poly=this,this.interiorRings=[]}addInterior(r){this.interiorRings.push(r),r.poly=this}getGeom(){const r=this.exteriorRing.getGeom();if(r===null)return null;const e=[r];for(let t=0,i=this.interiorRings.length;t<i;t++){const s=this.interiorRings[t].getGeom();s!==null&&e.push(s)}return e}},Qs=class{rings;polys;constructor(r){this.rings=r,this.polys=this._composePolys(r)}getGeom(){const r=[];for(let e=0,t=this.polys.length;e<t;e++){const i=this.polys[e].getGeom();i!==null&&r.push(i)}return r}_composePolys(r){const e=[];for(let t=0,i=r.length;t<i;t++){const s=r[t];if(!s.poly)if(s.isExteriorRing())e.push(new dr(s));else{const n=s.enclosingRing();n?.poly||e.push(new dr(n)),n?.poly?.addInterior(s)}}return e}},Js=class{queue;tree;segments;constructor(r,e=Mt.compare){this.queue=r,this.tree=new St(e),this.segments=[]}process(r){const e=r.segment,t=[];if(r.consumedBy)return r.isLeft?this.queue.delete(r.otherSE):this.tree.delete(e),t;r.isLeft&&this.tree.add(e);let i=e,s=e;do i=this.tree.lastBefore(i);while(i!=null&&i.consumedBy!=null);do s=this.tree.firstAfter(s);while(s!=null&&s.consumedBy!=null);if(r.isLeft){let n=null;if(i){const l=i.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(n=l),!i.isAnEndpoint(l))){const u=this._splitSafely(i,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}let o=null;if(s){const l=s.getIntersection(e);if(l!==null&&(e.isAnEndpoint(l)||(o=l),!s.isAnEndpoint(l))){const u=this._splitSafely(s,l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}}if(n!==null||o!==null){let l=null;n===null?l=o:o===null?l=n:l=ve.comparePoints(n,o)<=0?n:o,this.queue.delete(e.rightSE),t.push(e.rightSE);const u=e.split(l);for(let f=0,x=u.length;f<x;f++)t.push(u[f])}t.length>0?(this.tree.delete(e),t.push(r)):(this.segments.push(e),e.prev=i)}else{if(i&&s){const n=i.getIntersection(s);if(n!==null){if(!i.isAnEndpoint(n)){const o=this._splitSafely(i,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}if(!s.isAnEndpoint(n)){const o=this._splitSafely(s,n);for(let l=0,u=o.length;l<u;l++)t.push(o[l])}}}this.tree.delete(e)}return t}_splitSafely(r,e){this.tree.delete(r);const t=r.rightSE;this.queue.delete(t);const i=r.split(e);return i.push(t),r.consumedBy===void 0&&this.tree.add(r),i}},en=class{type;numMultiPolys;run(r,e,t){rt.type=r;const i=[new pr(e,!0)];for(let f=0,x=t.length;f<x;f++)i.push(new pr(t[f],!1));if(rt.numMultiPolys=i.length,rt.type==="difference"){const f=i[0];let x=1;for(;x<i.length;)li(i[x].bbox,f.bbox)!==null?x++:i.splice(x,1)}if(rt.type==="intersection")for(let f=0,x=i.length;f<x;f++){const w=i[f];for(let $=f+1,M=i.length;$<M;$++)if(li(w.bbox,i[$].bbox)===null)return[]}const s=new St(ve.compare);for(let f=0,x=i.length;f<x;f++){const w=i[f].getSweepEvents();for(let $=0,M=w.length;$<M;$++)s.add(w[$])}const n=new Js(s);let o=null;for(s.size!=0&&(o=s.first(),s.delete(o));o;){const f=n.process(o);for(let x=0,w=f.length;x<w;x++){const $=f[x];$.consumedBy===void 0&&s.add($)}s.size!=0?(o=s.first(),s.delete(o)):o=null}Se.reset();const l=Xs.factory(n.segments);return new Qs(l).getGeom()}},rt=new en,$t=rt,tn=0,Mt=class At{id;leftSE;rightSE;rings;windings;ringOut;consumedBy;prev;_prevInResult;_beforeState;_afterState;_isInResult;static compare(e,t){const i=e.leftSE.point.x,s=t.leftSE.point.x,n=e.rightSE.point.x,o=t.rightSE.point.x;if(o.isLessThan(i))return 1;if(n.isLessThan(s))return-1;const l=e.leftSE.point.y,u=t.leftSE.point.y,f=e.rightSE.point.y,x=t.rightSE.point.y;if(i.isLessThan(s)){if(u.isLessThan(l)&&u.isLessThan(f))return 1;if(u.isGreaterThan(l)&&u.isGreaterThan(f))return-1;const w=e.comparePoint(t.leftSE.point);if(w<0)return 1;if(w>0)return-1;const $=t.comparePoint(e.rightSE.point);return $!==0?$:-1}if(i.isGreaterThan(s)){if(l.isLessThan(u)&&l.isLessThan(x))return-1;if(l.isGreaterThan(u)&&l.isGreaterThan(x))return 1;const w=t.comparePoint(e.leftSE.point);if(w!==0)return w;const $=e.comparePoint(t.rightSE.point);return $<0?1:$>0?-1:1}if(l.isLessThan(u))return-1;if(l.isGreaterThan(u))return 1;if(n.isLessThan(o)){const w=t.comparePoint(e.rightSE.point);if(w!==0)return w}if(n.isGreaterThan(o)){const w=e.comparePoint(t.rightSE.point);if(w<0)return 1;if(w>0)return-1}if(!n.eq(o)){const w=f.minus(l),$=n.minus(i),M=x.minus(u),T=o.minus(s);if(w.isGreaterThan($)&&M.isLessThan(T))return 1;if(w.isLessThan($)&&M.isGreaterThan(T))return-1}return n.isGreaterThan(o)?1:n.isLessThan(o)||f.isLessThan(x)?-1:f.isGreaterThan(x)?1:e.id<t.id?-1:e.id>t.id?1:0}constructor(e,t,i,s){this.id=++tn,this.leftSE=e,e.segment=this,e.otherSE=t,this.rightSE=t,t.segment=this,t.otherSE=e,this.rings=i,this.windings=s}static fromRing(e,t,i){let s,n,o;const l=ve.comparePoints(e,t);if(l<0)s=e,n=t,o=1;else if(l>0)s=t,n=e,o=-1;else throw new Error(`Tried to create degenerate segment at [${e.x}, ${e.y}]`);const u=new ve(s,!0),f=new ve(n,!1);return new At(u,f,[i],[o])}replaceRightSE(e){this.rightSE=e,this.rightSE.segment=this,this.rightSE.otherSE=this.leftSE,this.leftSE.otherSE=this.rightSE}bbox(){const e=this.leftSE.point.y,t=this.rightSE.point.y;return{ll:{x:this.leftSE.point.x,y:e.isLessThan(t)?e:t},ur:{x:this.rightSE.point.x,y:e.isGreaterThan(t)?e:t}}}vector(){return{x:this.rightSE.point.x.minus(this.leftSE.point.x),y:this.rightSE.point.y.minus(this.leftSE.point.y)}}isAnEndpoint(e){return e.x.eq(this.leftSE.point.x)&&e.y.eq(this.leftSE.point.y)||e.x.eq(this.rightSE.point.x)&&e.y.eq(this.rightSE.point.y)}comparePoint(e){return Se.orient(this.leftSE.point,e,this.rightSE.point)}getIntersection(e){const t=this.bbox(),i=e.bbox(),s=li(t,i);if(s===null)return null;const n=this.leftSE.point,o=this.rightSE.point,l=e.leftSE.point,u=e.rightSE.point,f=it(t,l)&&this.comparePoint(l)===0,x=it(i,n)&&e.comparePoint(n)===0,w=it(t,u)&&this.comparePoint(u)===0,$=it(i,o)&&e.comparePoint(o)===0;if(x&&f)return $&&!w?o:!$&&w?u:null;if(x)return w&&n.x.eq(u.x)&&n.y.eq(u.y)?null:n;if(f)return $&&o.x.eq(l.x)&&o.y.eq(l.y)?null:l;if($&&w)return null;if($)return o;if(w)return u;const M=Ys(n,this.vector(),l,e.vector());return M===null||!it(s,M)?null:Se.snap(M)}split(e){const t=[],i=e.events!==void 0,s=new ve(e,!0),n=new ve(e,!1),o=this.rightSE;this.replaceRightSE(n),t.push(n),t.push(s);const l=new At(s,o,this.rings.slice(),this.windings.slice());return ve.comparePoints(l.leftSE.point,l.rightSE.point)>0&&l.swapEvents(),ve.comparePoints(this.leftSE.point,this.rightSE.point)>0&&this.swapEvents(),i&&(s.checkForConsuming(),n.checkForConsuming()),t}swapEvents(){const e=this.rightSE;this.rightSE=this.leftSE,this.leftSE=e,this.leftSE.isLeft=!0,this.rightSE.isLeft=!1;for(let t=0,i=this.windings.length;t<i;t++)this.windings[t]*=-1}consume(e){let t=this,i=e;for(;t.consumedBy;)t=t.consumedBy;for(;i.consumedBy;)i=i.consumedBy;const s=At.compare(t,i);if(s!==0){if(s>0){const n=t;t=i,i=n}if(t.prev===i){const n=t;t=i,i=n}for(let n=0,o=i.rings.length;n<o;n++){const l=i.rings[n],u=i.windings[n],f=t.rings.indexOf(l);f===-1?(t.rings.push(l),t.windings.push(u)):t.windings[f]+=u}i.rings=null,i.windings=null,i.consumedBy=t,i.leftSE.consumedBy=t.leftSE,i.rightSE.consumedBy=t.rightSE}}prevInResult(){return this._prevInResult!==void 0?this._prevInResult:(this.prev?this.prev.isInResult()?this._prevInResult=this.prev:this._prevInResult=this.prev.prevInResult():this._prevInResult=null,this._prevInResult)}beforeState(){if(this._beforeState!==void 0)return this._beforeState;if(!this.prev)this._beforeState={rings:[],windings:[],multiPolys:[]};else{const e=this.prev.consumedBy||this.prev;this._beforeState=e.afterState()}return this._beforeState}afterState(){if(this._afterState!==void 0)return this._afterState;const e=this.beforeState();this._afterState={rings:e.rings.slice(0),windings:e.windings.slice(0),multiPolys:[]};const t=this._afterState.rings,i=this._afterState.windings,s=this._afterState.multiPolys;for(let l=0,u=this.rings.length;l<u;l++){const f=this.rings[l],x=this.windings[l],w=t.indexOf(f);w===-1?(t.push(f),i.push(x)):i[w]+=x}const n=[],o=[];for(let l=0,u=t.length;l<u;l++){if(i[l]===0)continue;const f=t[l],x=f.poly;if(o.indexOf(x)===-1)if(f.isExterior)n.push(x);else{o.indexOf(x)===-1&&o.push(x);const w=n.indexOf(f.poly);w!==-1&&n.splice(w,1)}}for(let l=0,u=n.length;l<u;l++){const f=n[l].multiPoly;s.indexOf(f)===-1&&s.push(f)}return this._afterState}isInResult(){if(this.consumedBy)return!1;if(this._isInResult!==void 0)return this._isInResult;const e=this.beforeState().multiPolys,t=this.afterState().multiPolys;switch($t.type){case"union":{const i=e.length===0,s=t.length===0;this._isInResult=i!==s;break}case"intersection":{let i,s;e.length<t.length?(i=e.length,s=t.length):(i=t.length,s=e.length),this._isInResult=s===$t.numMultiPolys&&i<s;break}case"xor":{const i=Math.abs(e.length-t.length);this._isInResult=i%2===1;break}case"difference":{const i=s=>s.length===1&&s[0].isSubject;this._isInResult=i(e)!==i(t);break}}return this._isInResult}},fr=class{poly;isExterior;segments;bbox;constructor(r,e,t){if(!Array.isArray(r)||r.length===0)throw new Error("Input geometry is not a valid Polygon or MultiPolygon");if(this.poly=e,this.isExterior=t,this.segments=[],typeof r[0][0]!="number"||typeof r[0][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const i=Se.snap({x:new ye(r[0][0]),y:new ye(r[0][1])});this.bbox={ll:{x:i.x,y:i.y},ur:{x:i.x,y:i.y}};let s=i;for(let n=1,o=r.length;n<o;n++){if(typeof r[n][0]!="number"||typeof r[n][1]!="number")throw new Error("Input geometry is not a valid Polygon or MultiPolygon");const l=Se.snap({x:new ye(r[n][0]),y:new ye(r[n][1])});l.x.eq(s.x)&&l.y.eq(s.y)||(this.segments.push(Mt.fromRing(s,l,this)),l.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=l.x),l.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=l.y),l.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=l.x),l.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=l.y),s=l)}(!i.x.eq(s.x)||!i.y.eq(s.y))&&this.segments.push(Mt.fromRing(s,i,this))}getSweepEvents(){const r=[];for(let e=0,t=this.segments.length;e<t;e++){const i=this.segments[e];r.push(i.leftSE),r.push(i.rightSE)}return r}},rn=class{multiPoly;exteriorRing;interiorRings;bbox;constructor(r,e){if(!Array.isArray(r))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");this.exteriorRing=new fr(r[0],this,!0),this.bbox={ll:{x:this.exteriorRing.bbox.ll.x,y:this.exteriorRing.bbox.ll.y},ur:{x:this.exteriorRing.bbox.ur.x,y:this.exteriorRing.bbox.ur.y}},this.interiorRings=[];for(let t=1,i=r.length;t<i;t++){const s=new fr(r[t],this,!1);s.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=s.bbox.ur.y),this.interiorRings.push(s)}this.multiPoly=e}getSweepEvents(){const r=this.exteriorRing.getSweepEvents();for(let e=0,t=this.interiorRings.length;e<t;e++){const i=this.interiorRings[e].getSweepEvents();for(let s=0,n=i.length;s<n;s++)r.push(i[s])}return r}},pr=class{isSubject;polys;bbox;constructor(r,e){if(!Array.isArray(r))throw new Error("Input geometry is not a valid Polygon or MultiPolygon");try{typeof r[0][0][0]=="number"&&(r=[r])}catch{}this.polys=[],this.bbox={ll:{x:new ye(Number.POSITIVE_INFINITY),y:new ye(Number.POSITIVE_INFINITY)},ur:{x:new ye(Number.NEGATIVE_INFINITY),y:new ye(Number.NEGATIVE_INFINITY)}};for(let t=0,i=r.length;t<i;t++){const s=new rn(r[t],this);s.bbox.ll.x.isLessThan(this.bbox.ll.x)&&(this.bbox.ll.x=s.bbox.ll.x),s.bbox.ll.y.isLessThan(this.bbox.ll.y)&&(this.bbox.ll.y=s.bbox.ll.y),s.bbox.ur.x.isGreaterThan(this.bbox.ur.x)&&(this.bbox.ur.x=s.bbox.ur.x),s.bbox.ur.y.isGreaterThan(this.bbox.ur.y)&&(this.bbox.ur.y=s.bbox.ur.y),this.polys.push(s)}this.isSubject=e}getSweepEvents(){const r=[];for(let e=0,t=this.polys.length;e<t;e++){const i=this.polys[e].getSweepEvents();for(let s=0,n=i.length;s<n;s++)r.push(i[s])}return r}},sn=(r,...e)=>$t.run("union",r,e),nn=(r,...e)=>$t.run("difference",r,e);Se.set;function on(r){const e=[];if(ti(r,s=>{e.push(s.coordinates)}),e.length<2)throw new Error("Must have at least two features");const t=r.features[0].properties||{},i=nn(e[0],...e.slice(1));return i.length===0?null:i.length===1?Jt(i[0],t):ir(i,t)}var ln=on;function an(r){if(!r)throw new Error("geojson is required");var e=[];return Fs(r,function(t){e.push(t)}),ei(e)}var cn=an;function hn(r,e={}){const t=[];if(ti(r,s=>{t.push(s.coordinates)}),t.length<2)throw new Error("Must have at least 2 geometries");const i=sn(t[0],...t.slice(1));return i.length===0?null:i.length===1?Jt(i[0],e.properties):ir(i,e.properties)}var un=hn;function dn(r){const e=ln(ei([Jt([[[180,90],[-180,90],[-180,-90],[180,-90],[180,90]]]),r]));if(!e)return;e.properties={isMask:!0};const t=pt(sr(r)),i=(t[2]-t[0])/360/1e3,s=t[0]<-180,n=t[2]>180,o=cn(r);if(o.features.length>1&&(s||n))for(const l of o.features){const u=pt(sr(l));if(n&&u[0]<-180+i)for(const f of l.geometry.coordinates)for(const x of f)x[0]+=360-i;if(s&&u[2]>180-i)for(const f of l.geometry.coordinates)for(const x of f)x[0]-=360-i}return ei([o.features.length<2?r:un(o)??r,e])}const mr={continental_marine:4,country:4,major_landform:8,region:5,subregion:6,county:7,joint_municipality:8,joint_submunicipality:9,municipality:10,municipal_district:11,locality:12,neighbourhood:13,place:14,postal_code:14,road:16,poi:17,address:18,"poi.peak":15,"poi.shop":18,"poi.cafe":18,"poi.restaurant":18,"poi.aerodrome":13},gr=r=>e=>{const t=r.iconsBaseUrl??"https://cdn.maptiler.com/maptiler-geocoding-control/v3.0.0/icons/",i=e.getProperties(),s=e.getGeometry()?.getType(),n=i.isMask?0:s==="LineString"||s==="MultiLineString"?3:2;return new Lr({stroke:i.isMask?void 0:new di({color:"#3170fe",lineDash:[n,n],width:n,lineCap:"butt"}),fill:i.isMask?new ui({color:"#00000020"}):void 0,image:new Sr({src:`${t}marker_${i.isReverse?"reverse":i.isSelected?"selected":"unselected"}.svg`,anchor:[.5,1]}),zIndex:i.isSelected?2:i.isReverse?0:1,text:(i.isSelected||i.isMouseOver)&&i.tooltip?new _r({backgroundFill:new ui({color:"white"}),text:i.tooltip,offsetY:-40,backgroundStroke:new di({color:"white",lineJoin:"round",width:3}),padding:[2,0,0,2]}):void 0})},Re="EPSG:4326";class yr extends br.Control{#e;#t;#s;constructor(e={}){const t=document.createElement("div");super({element:t,...e}),this.#e=e,this.#s=document.createElement("maptiler-geocoder"),this.#s.classList.add("openlayers-geocoder"),this.#E(),t.classList.add("openlayers-ctrl-geocoder"),t.style.zIndex="3",t.appendChild(this.#s)}setMap(e){super.setMap(e),this.#t&&this.#t!==e&&(this.#$(),this.#I(),this.#t=void 0),e&&(this.#t=e,this.#_(),this.#k())}getOptions(){return{...this.#e}}setOptions(e){Object.assign(this.#e,e),this.#E()}setQuery(e){this.#s.setQuery(e)}submitQuery(e){this.#s.submitQuery(e)}clearMap(){this.#o=[],this.#f(void 0,void 0)}clearList(){this.#s.clearList()}setReverseMode(e){this.setOptions({reverseActive:e})}focus(e){this.#s.focus(e)}blur(){this.#s.blur()}#c=new Map;#h;#n;#o;#g;#a;#r;#u;#y=!1;#v={reversetoggle:e=>{this.#y=e.detail.reverse,this.#i("reversetoggle",e.detail)},querychange:e=>{const t=e.detail.reverseCoords;this.#S(t?[t.decimalLongitude,t.decimalLatitude]:void 0),this.#i("querychange",e.detail)},queryclear:()=>{this.#S(void 0),this.#i("queryclear")},request:e=>{this.#i("request",e.detail)},response:e=>{this.#i("response",e.detail)},select:e=>{const t=e.detail.feature;t&&this.#m&&this.#e.flyToSelected&&this.#w(t.center,this.#d(t)),this.#o&&t&&this.#O(t),this.#i("select",e.detail)},pick:e=>{const t=e.detail.feature;t&&t.id!==this.#g&&this.#m&&(this.#M(t),this.#f(this.#o,t)),this.#g=t?.id,this.#i("pick",e.detail)},featuresshow:()=>{this.#i("featuresshow")},featureshide:()=>{this.#i("featureshide")},featureslisted:e=>{const t=e.detail.features;this.#o=t,this.#f(this.#o,void 0),this.#T(e),this.#i("featureslisted",e.detail)},featuresclear:()=>{this.#o=void 0,this.#f(void 0,void 0),this.#i("featuresclear")},focusin:()=>{this.#i("focusin")},focusout:()=>{this.#i("focusout")}};#b={postrender:()=>{const e=this.#t?.getView().getZoom(),t=this.#t?.getView().getCenter();this.#s.handleMapChange(e&&t?[e,...this.#L(t)]:void 0)},click:e=>{this.#s.handleMapClick(this.#L(e.coordinate)),this.#t?.forEachFeatureAtPixel(e.pixel,t=>{const i=t.getId(),s=this.#o?.find(n=>n.id===i);if(!(!i||!s))return e.stopPropagation(),this.#i("markerclick",{feature:s,marker:t}),!0})},pointermove:e=>{if(!this.#t)return;const t=this.#t.forEachFeatureAtPixel(e.pixel,s=>s.getId()?s:void 0);this.#t.getTargetElement().style.cursor=t?"pointer":this.#y?"crosshair":"";const i=t?.getId();if(this.#u!==i){if(this.#u){const s=this.#o?.find(o=>o.id===this.#u),n=this.#c.get(s);n?.set("isMouseOver",!1),s&&n&&this.#i("markermouseleave",{feature:s,marker:n})}if(t){const s=this.#o?.find(n=>n.id===i);this.#i("markermouseenter",{feature:s,marker:t}),t.set("isMouseOver",!0)}this.#u=i}}};#E(){this.#s.setOptions(this.#e),this.#s.fetchFullGeometryOnPick=this.#e.pickedResultStyle!=="marker-only"}#_(){if(this.#t){for(const[e,t]of Object.entries(this.#v))this.#s.addEventListener(e,t);for(const[e,t]of Object.entries(this.#b))this.#t.on([e],t)}}#$(){if(this.#t){for(const[e,t]of Object.entries(this.#v))this.#s.removeEventListener(e,t);for(const[e,t]of Object.entries(this.#b))this.#t.un([e],t)}}#i(e,t){this.dispatchEvent(Object.assign(new Er(e),t))}#M(e){e.bbox[0]===e.bbox[2]&&e.bbox[1]===e.bbox[3]?this.#w(e.center,this.#d(e)):this.#x(pt(e.bbox),50,this.#d(e))}#T({detail:{features:e,external:t}}){if(!e||e.length===0||!this.#m||this.#e.flyToFeatures===!1||this.#e.flyToFeatures==="never"||!t&&(this.#e.flyToFeatures===void 0||this.#e.flyToFeatures==="external"))return;const i=e.every(o=>o.matching_text),s=e.reduce((o,l)=>i||!l.matching_text?[Math.min(o[0],l.bbox[0]),Math.min(o[1],l.bbox[1]),Math.max(o[2],l.bbox[2]),Math.max(o[3],l.bbox[3])]:o,[180,90,-180,-90]),n=e.map(o=>this.#d(o)).filter(o=>o!==void 0).reduce((o,l)=>o===void 0?l:Math.max(o,l),void 0);this.#x(pt(s),50,n)}#d(e){if(e.bbox[0]!==e.bbox[2]||e.bbox[1]!==e.bbox[3])return;const t=e.id.replace(/\..*/,""),i=this.#e.zoom??mr;return(Array.isArray(e.properties?.categories)?e.properties.categories.reduce((s,n)=>{const o=i[t+"."+n];return s===void 0?o:o===void 0?s:Math.max(s,o)},void 0):void 0)??i[t]}get#m(){return!!this.#e.flyTo||this.#e.flyTo===void 0}get#A(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}get#C(){return typeof this.#e.flyTo=="boolean"?{}:this.#e.flyTo}#w(e,t){this.#t?.getView().animate({center:this.#p(e),...t?{zoom:t}:{},duration:2e3,...this.#A})}#x(e,t,i){this.#t?.getView().fit(ot.transformExtent(e,Re,this.#l()),{padding:[t,t,t,t],...i?{maxZoom:i}:{},duration:2e3,...this.#C})}#S(e){if(this.#e.marker===!1||!this.#t||!this.#r)return;if(!e){this.#n&&(this.#r.removeFeature(this.#n),this.#n.dispose(),this.#n=void 0);return}const t=this.#p(e);if(!this.#n){this.#n=new se.Feature(new oe.Point(t)),this.#n.set("isReverse",!0),this.#r.addFeature(this.#n);return}this.#n.getGeometry().setCoordinates(t)}#f(e,t){if(!this.#t||!this.#r)return;this.#r.removeFeatures([...this.#c.values()]),this.#c=new Map;const i=()=>{if(!t||!this.#t||this.#e.marker===!1)return;const s=new se.Feature(new oe.Point(this.#p(t.center)));s.setId(t.id),this.#c.set(t,s),this.#r?.addFeature(s)};if(t?.geometry.type==="GeometryCollection"){const s=t.geometry.geometries.map(n=>n.type==="Polygon"?new oe.Polygon(n.coordinates):n.type==="MultiPolygon"?new oe.MultiPolygon(n.coordinates):null).filter(n=>!!n);if(s.length>0)this.#r.addFeature(new se.Feature(new oe.GeometryCollection(s).transform(Re,this.#l())));else for(const n of t.geometry.geometries)n.type==="LineString"?this.#r.addFeature(new se.Feature(new oe.LineString(n.coordinates).transform(Re,this.#l()))):n.type==="MultiLineString"&&this.#r.addFeature(new se.Feature(new oe.MultiLineString(n.coordinates).transform(Re,this.#l())))}else if(t?.geometry.type.endsWith("Polygon")){const s=dn(t);if(s)for(const n of s.features){const o=n.geometry.type==="Polygon"?new oe.Polygon(n.geometry.coordinates):new oe.MultiPolygon(n.geometry.coordinates);this.#r.addFeature(new se.Feature({isMask:!!n.properties?.isMask,geometry:o.transform(Re,this.#l())}))}this.#e.pickedResultStyle==="full-geometry-including-polygon-center-marker"&&i()}else t?.geometry.type==="LineString"?this.#r.addFeature(new se.Feature(new oe.LineString(t.geometry.coordinates).transform(Re,this.#l()))):t?.geometry.type==="MultiLineString"?this.#r.addFeature(new se.Feature(new oe.MultiLineString(t.geometry.coordinates).transform(Re,this.#l()))):t?.geometry.type.endsWith("Point")&&i();if(this.#e.showResultMarkers!==!1)for(const s of e??[]){if(s.id===t?.id||s.place_type.includes("reverse"))continue;const n=new se.Feature(new oe.Point(this.#p(s.center)));n.setId(s.id),n.setProperties({fuzzy:!!s.matching_text,tooltip:s.place_type[0]==="reverse"?s.place_name:s.place_name.replace(/,.*/,"")}),this.#r.addFeature(n),this.#c.set(s,n)}}#O(e){this.#h?.set("isSelected",!1),this.#h=void 0,this.#e.markerOnSelected!==!1&&(this.#h=this.#c.get(e),this.#h?.setProperties({isSelected:!0}))}#k(){this.#t&&(this.#r=new xr({}),this.#a=new wr({updateWhileAnimating:!0}),this.#a.setSource(this.#r),this.#a.setStyle(this.#P()),this.#t.addLayer(this.#a))}#I(){!this.#t||!this.#a||(this.#t.removeLayer(this.#a),this.#a=void 0)}#l(){return ot.getUserProjection()??this.#t?.getView().getProjection()}#p(e){return ot.fromLonLat(e,this.#l())}#L(e){return ot.toLonLat(e,this.#l())}#P(){const{fullGeometryStyle:e}=this.#e;if(e===!0||e===void 0)return gr(this.#e);if(!(e===!1||e===null))return e}}_.DEFAULT_GEOMETRY_STYLE=gr,_.GeocodingControl=yr,_.OpenLayersGeocodingControl=yr,_.ZOOM_DEFAULTS=mr,Object.defineProperty(_,Symbol.toStringTag,{value:"Module"})}));
281
+ //# sourceMappingURL=openlayers.umd.js.map