@graphhopper/graphhopper-maps-bundle 0.0.0-0eaff08e → 0.0.0-103e6069
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.
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! For license information please see bundle.789e5f032ec42b999a53.js.LICENSE.txt */
|
|
2
|
-
(()=>{var e={61(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-AddressInputAutocomplete-module__autocompleteItem:not(:last-child) {\n border-bottom: 1px lightgray solid;\n}\n\n@media (max-width: 44rem) {\n .src-sidebar-search-AddressInputAutocomplete-module__autocompleteItem:first-child {\n border-top: 1px lightgray solid;\n }\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__selectableItem {\n display: block;\n width: 100%;\n border: none;\n background: none;\n color: inherit;\n font: inherit;\n padding: 0;\n cursor: pointer;\n outline: inherit;\n overflow: hidden;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__highlightedItem,\n.src-sidebar-search-AddressInputAutocomplete-module__selectableItem:hover {\n background-color: #ececec;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__selectableItem:active {\n background-color: #c6c6c6;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__poiEntry {\n padding: 0.5em 0;\n display: flex;\n flex-direction: row;\n gap: 0.4rem;\n text-align: start;\n margin: 0.4rem 0.5rem;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__poiEntryPrimaryText {\n font-weight: bold;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__geocodingEntry {\n display: flex;\n flex-direction: column;\n text-align: start;\n margin: 0.4rem 0.5rem;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__mainText {\n font-weight: bold;\n}\n\n.src-sidebar-search-AddressInputAutocomplete-module__secondaryText {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n font-size: small;\n color: #5b616a;\n}\n",""]),s.locals={autocompleteItem:"src-sidebar-search-AddressInputAutocomplete-module__autocompleteItem",selectableItem:"src-sidebar-search-AddressInputAutocomplete-module__selectableItem",highlightedItem:"src-sidebar-search-AddressInputAutocomplete-module__highlightedItem",poiEntry:"src-sidebar-search-AddressInputAutocomplete-module__poiEntry",poiEntryPrimaryText:"src-sidebar-search-AddressInputAutocomplete-module__poiEntryPrimaryText",geocodingEntry:"src-sidebar-search-AddressInputAutocomplete-module__geocodingEntry",mainText:"src-sidebar-search-AddressInputAutocomplete-module__mainText",secondaryText:"src-sidebar-search-AddressInputAutocomplete-module__secondaryText"};const a=s},140(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".CodeMirror-hints {\n position: absolute;\n z-index: 10;\n overflow: hidden;\n list-style: none;\n\n margin: 0;\n padding: 2px;\n\n -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n box-shadow: 2px 3px 5px rgba(0,0,0,.2);\n border-radius: 3px;\n border: 1px solid silver;\n\n background: white;\n font-size: 90%;\n font-family: monospace;\n\n max-height: 20em;\n overflow-y: auto;\n box-sizing: border-box;\n}\n\n.CodeMirror-hint {\n margin: 0;\n padding: 0 4px;\n border-radius: 2px;\n white-space: pre;\n color: black;\n cursor: pointer;\n}\n\nli.CodeMirror-hint-active {\n background: #08f;\n color: white;\n}\n",""]);const a=s},628(e,t,n){"use strict";var i=n(4067);function r(){}function o(){}o.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,o,s){if(s!==i){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:o,resetWarningCache:r};return n.PropTypes=n,n}},822(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-MobileSidebar-module__sidebar {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.src-sidebar-MobileSidebar-module__background {\n pointer-events: all; /* we want all the content to behave normally*/\n background-color: white;\n}\n\n.src-sidebar-MobileSidebar-module__fullHeight {\n height: 100%;\n}\n\n.src-sidebar-MobileSidebar-module__addressSearch {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n padding: 0.5rem;\n}\n\n.src-sidebar-MobileSidebar-module__addressInputContainer {\n flex-grow: 1;\n}\n\n.src-sidebar-MobileSidebar-module__mapView {\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.src-sidebar-MobileSidebar-module__mapViewRow {\n display: flex;\n flex-direction: row;\n}\n\n.src-sidebar-MobileSidebar-module__queryPointText {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: #5b616a;\n}\n\n.src-sidebar-MobileSidebar-module__queryPointTextTo {\n font-size: large;\n font-weight: bold;\n color: inherit;\n}\n\n.src-sidebar-MobileSidebar-module__queryPointTextVia {\n font-size: small;\n}\n\n.src-sidebar-MobileSidebar-module__markerContainer {\n align-self: center;\n justify-self: center;\n width: 0.6rem;\n margin-right: 0.5rem;\n flex-shrink: 0;\n}\n\n.src-sidebar-MobileSidebar-module__markerContainer > svg {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.src-sidebar-MobileSidebar-module__btnCloseContainer {\n display: flex;\n flex-direction: column;\n}\n\n.src-sidebar-MobileSidebar-module__btnCloseInputs svg {\n width: 34px;\n color: #adadad;\n}\n\n.src-sidebar-MobileSidebar-module__btnCloseInputs {\n z-index: 0; /* without it the button isn't clickable */\n position: absolute;\n top: 10px;\n right: 1px;\n}\n\n.src-sidebar-MobileSidebar-module__btnOpenContainer {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n\n padding: 0.25rem 0.5rem;\n border: 1px black solid;\n margin: 0.5rem;\n border-radius: 0.2rem;\n}\n\n/* address often too wide and we need to truncate */\n.src-sidebar-MobileSidebar-module__btnOpenContainer .src-sidebar-MobileSidebar-module__mapView {\n width: calc(100% - 34px - 34px);\n}\n\n.src-sidebar-MobileSidebar-module__btnOpenInputs svg {\n color: #adadad;\n}\n\n.src-sidebar-MobileSidebar-module__btnOpenInputs,\n.src-sidebar-MobileSidebar-module__profile {\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: 34px;\n}\n",""]),s.locals={sidebar:"src-sidebar-MobileSidebar-module__sidebar",background:"src-sidebar-MobileSidebar-module__background",fullHeight:"src-sidebar-MobileSidebar-module__fullHeight",addressSearch:"src-sidebar-MobileSidebar-module__addressSearch",addressInputContainer:"src-sidebar-MobileSidebar-module__addressInputContainer",mapView:"src-sidebar-MobileSidebar-module__mapView",mapViewRow:"src-sidebar-MobileSidebar-module__mapViewRow",queryPointText:"src-sidebar-MobileSidebar-module__queryPointText",queryPointTextTo:"src-sidebar-MobileSidebar-module__queryPointTextTo",queryPointTextVia:"src-sidebar-MobileSidebar-module__queryPointTextVia",markerContainer:"src-sidebar-MobileSidebar-module__markerContainer",btnCloseContainer:"src-sidebar-MobileSidebar-module__btnCloseContainer",btnCloseInputs:"src-sidebar-MobileSidebar-module__btnCloseInputs",btnOpenContainer:"src-sidebar-MobileSidebar-module__btnOpenContainer",btnOpenInputs:"src-sidebar-MobileSidebar-module__btnOpenInputs",profile:"src-sidebar-MobileSidebar-module__profile"};const a=s},1208(e,t){"use strict";var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.fragment");function r(e,t,i){var r=null;if(void 0!==i&&(r=""+i),void 0!==t.key&&(r=""+t.key),"key"in t)for(var o in i={},t)"key"!==o&&(i[o]=t[o]);else i=t;return t=i.ref,{$$typeof:n,type:e,key:r,ref:void 0!==t?t:null,props:i}}t.Fragment=i,t.jsx=r,t.jsxs=r},1211(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-map-LocationButton-module__locationOnOff {\n position: absolute;\n right: 10px;\n top: 62px;\n background-color: red;\n\n padding: 4px;\n width: 34px;\n height: 34px;\n}\n\n.src-map-LocationButton-module__locationOnOff svg {\n color: gray;\n width: 100%;\n height: 100%;\n}\n",""]),s.locals={locationOnOff:"src-map-LocationButton-module__locationOnOff"};const a=s},1259(e,t,n){"use strict";var i=n(7810);function r(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(){}var s={d:{f:o,r:function(){throw Error(r(522))},D:o,C:o,L:o,m:o,X:o,S:o,M:o},p:0,findDOMNode:null},a=Symbol.for("react.portal"),l=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(e,t){return"font"===e?"":"string"==typeof t?"use-credentials"===t?t:"":void 0}t.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=s,t.createPortal=function(e,t){var n=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!t||1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType)throw Error(r(299));return function(e,t,n){var i=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:a,key:null==i?null:""+i,children:e,containerInfo:t,implementation:n}}(e,t,null,n)},t.flushSync=function(e){var t=l.T,n=s.p;try{if(l.T=null,s.p=2,e)return e()}finally{l.T=t,s.p=n,s.d.f()}},t.preconnect=function(e,t){"string"==typeof e&&(t=t?"string"==typeof(t=t.crossOrigin)?"use-credentials"===t?t:"":void 0:null,s.d.C(e,t))},t.prefetchDNS=function(e){"string"==typeof e&&s.d.D(e)},t.preinit=function(e,t){if("string"==typeof e&&t&&"string"==typeof t.as){var n=t.as,i=c(n,t.crossOrigin),r="string"==typeof t.integrity?t.integrity:void 0,o="string"==typeof t.fetchPriority?t.fetchPriority:void 0;"style"===n?s.d.S(e,"string"==typeof t.precedence?t.precedence:void 0,{crossOrigin:i,integrity:r,fetchPriority:o}):"script"===n&&s.d.X(e,{crossOrigin:i,integrity:r,fetchPriority:o,nonce:"string"==typeof t.nonce?t.nonce:void 0})}},t.preinitModule=function(e,t){if("string"==typeof e)if("object"==typeof t&&null!==t){if(null==t.as||"script"===t.as){var n=c(t.as,t.crossOrigin);s.d.M(e,{crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0})}}else null==t&&s.d.M(e)},t.preload=function(e,t){if("string"==typeof e&&"object"==typeof t&&null!==t&&"string"==typeof t.as){var n=t.as,i=c(n,t.crossOrigin);s.d.L(e,n,{crossOrigin:i,integrity:"string"==typeof t.integrity?t.integrity:void 0,nonce:"string"==typeof t.nonce?t.nonce:void 0,type:"string"==typeof t.type?t.type:void 0,fetchPriority:"string"==typeof t.fetchPriority?t.fetchPriority:void 0,referrerPolicy:"string"==typeof t.referrerPolicy?t.referrerPolicy:void 0,imageSrcSet:"string"==typeof t.imageSrcSet?t.imageSrcSet:void 0,imageSizes:"string"==typeof t.imageSizes?t.imageSizes:void 0,media:"string"==typeof t.media?t.media:void 0})}},t.preloadModule=function(e,t){if("string"==typeof e)if(t){var n=c(t.as,t.crossOrigin);s.d.m(e,{as:"string"==typeof t.as&&"script"!==t.as?t.as:void 0,crossOrigin:n,integrity:"string"==typeof t.integrity?t.integrity:void 0})}else s.d.m(e)},t.requestFormReset=function(e){s.d.r(e)},t.unstable_batchedUpdates=function(e,t){return e(t)},t.useFormState=function(e,t,n){return l.H.useFormState(e,t,n)},t.useFormStatus=function(){return l.H.useHostTransitionStatus()},t.version="19.2.3"},1364(e){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n="",i=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),i&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),i&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n}).join("")},t.i=function(e,n,i,r,o){"string"==typeof e&&(e=[[null,e,void 0]]);var s={};if(i)for(var a=0;a<this.length;a++){var l=this[a][0];null!=l&&(s[l]=!0)}for(var c=0;c<e.length;c++){var u=[].concat(e[c]);i&&s[u[0]]||(void 0!==o&&(void 0===u[5]||(u[1]="@layer".concat(u[5].length>0?" ".concat(u[5]):""," {").concat(u[1],"}")),u[5]=o),n&&(u[2]?(u[1]="@media ".concat(u[2]," {").concat(u[1],"}"),u[2]=n):u[2]=n),r&&(u[4]?(u[1]="@supports (".concat(u[4],") {").concat(u[1],"}"),u[4]=r):u[4]="".concat(r)),t.push(u))}},t}},1679(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-PopUp-module__popup {\n box-sizing: border-box;\n background-color: white;\n border: solid 1px lightgray;\n box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);\n border-radius: 0.2rem;\n position: absolute;\n pointer-events: all;\n}\n",""]),s.locals={popup:"src-sidebar-search-PopUp-module__popup"};const a=s},1719(e){e.exports=function(){"use strict";var e=navigator.userAgent,t=navigator.platform,n=/gecko\/\d/i.test(e),i=/MSIE \d/.test(e),r=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(e),o=/Edge\/(\d+)/.exec(e),s=i||r||o,a=s&&(i?document.documentMode||6:+(o||r)[1]),l=!o&&/WebKit\//.test(e),c=l&&/Qt\/\d+\.\d+/.test(e),u=!o&&/Chrome\/(\d+)/.exec(e),d=u&&+u[1],p=/Opera\//.test(e),h=/Apple Computer/.test(navigator.vendor),f=/Mac OS X 1\d\D([8-9]|\d\d)\D/.test(e),_=/PhantomJS/.test(e),g=h&&(/Mobile\/\w+/.test(e)||navigator.maxTouchPoints>2),m=/Android/.test(e),y=g||m||/webOS|BlackBerry|Opera Mini|Opera Mobi|IEMobile/i.test(e),v=g||/Mac/.test(t),b=/\bCrOS\b/.test(e),x=/win/i.test(t),w=p&&e.match(/Version\/(\d*\.\d*)/);w&&(w=Number(w[1])),w&&w>=15&&(p=!1,l=!0);var k=v&&(c||p&&(null==w||w<12.11)),C=n||s&&a>=9;function A(e){return new RegExp("(^|\\s)"+e+"(?:$|\\s)\\s*")}var S,E=function(e,t){var n=e.className,i=A(t).exec(n);if(i){var r=n.slice(i.index+i[0].length);e.className=n.slice(0,i.index)+(r?i[1]+r:"")}};function I(e){for(var t=e.childNodes.length;t>0;--t)e.removeChild(e.firstChild);return e}function T(e,t){return I(e).appendChild(t)}function M(e,t,n,i){var r=document.createElement(e);if(n&&(r.className=n),i&&(r.style.cssText=i),"string"==typeof t)r.appendChild(document.createTextNode(t));else if(t)for(var o=0;o<t.length;++o)r.appendChild(t[o]);return r}function P(e,t,n,i){var r=M(e,t,n,i);return r.setAttribute("role","presentation"),r}function R(e,t){if(3==t.nodeType&&(t=t.parentNode),e.contains)return e.contains(t);do{if(11==t.nodeType&&(t=t.host),t==e)return!0}while(t=t.parentNode)}function z(e){var t,n=e.ownerDocument||e;try{t=e.activeElement}catch(e){t=n.body||null}for(;t&&t.shadowRoot&&t.shadowRoot.activeElement;)t=t.shadowRoot.activeElement;return t}function L(e,t){var n=e.className;A(t).test(n)||(e.className+=(n?" ":"")+t)}function O(e,t){for(var n=e.split(" "),i=0;i<n.length;i++)n[i]&&!A(n[i]).test(t)&&(t+=" "+n[i]);return t}S=document.createRange?function(e,t,n,i){var r=document.createRange();return r.setEnd(i||e,n),r.setStart(e,t),r}:function(e,t,n){var i=document.body.createTextRange();try{i.moveToElementText(e.parentNode)}catch(e){return i}return i.collapse(!0),i.moveEnd("character",n),i.moveStart("character",t),i};var F=function(e){e.select()};function j(e){return e.display.wrapper.ownerDocument}function D(e){return N(e.display.wrapper)}function N(e){return e.getRootNode?e.getRootNode():e.ownerDocument}function B(e){return j(e).defaultView}function q(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,t)}}function G(e,t,n){for(var i in t||(t={}),e)!e.hasOwnProperty(i)||!1===n&&t.hasOwnProperty(i)||(t[i]=e[i]);return t}function V(e,t,n,i,r){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);for(var o=i||0,s=r||0;;){var a=e.indexOf("\t",o);if(a<0||a>=t)return s+(t-o);s+=a-o,s+=n-s%n,o=a+1}}g?F=function(e){e.selectionStart=0,e.selectionEnd=e.value.length}:s&&(F=function(e){try{e.select()}catch(e){}});var W=function(){this.id=null,this.f=null,this.time=0,this.handler=q(this.onTimeout,this)};function H(e,t){for(var n=0;n<e.length;++n)if(e[n]==t)return n;return-1}W.prototype.onTimeout=function(e){e.id=0,e.time<=+new Date?e.f():setTimeout(e.handler,e.time-+new Date)},W.prototype.set=function(e,t){this.f=t;var n=+new Date+e;(!this.id||n<this.time)&&(clearTimeout(this.id),this.id=setTimeout(this.handler,e),this.time=n)};var U={toString:function(){return"CodeMirror.Pass"}},$={scroll:!1},K={origin:"*mouse"},X={origin:"+move"};function Z(e,t,n){for(var i=0,r=0;;){var o=e.indexOf("\t",i);-1==o&&(o=e.length);var s=o-i;if(o==e.length||r+s>=t)return i+Math.min(s,t-r);if(r+=o-i,i=o+1,(r+=n-r%n)>=t)return i}}var Y=[""];function Q(e){for(;Y.length<=e;)Y.push(J(Y)+" ");return Y[e]}function J(e){return e[e.length-1]}function ee(e,t){for(var n=[],i=0;i<e.length;i++)n[i]=t(e[i],i);return n}function te(){}function ne(e,t){var n;return Object.create?n=Object.create(e):(te.prototype=e,n=new te),t&&G(t,n),n}var ie=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;function re(e){return/\w/.test(e)||e>""&&(e.toUpperCase()!=e.toLowerCase()||ie.test(e))}function oe(e,t){return t?!!(t.source.indexOf("\\w")>-1&&re(e))||t.test(e):re(e)}function se(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!1;return!0}var ae=/[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065e\u0670\u06d6-\u06dc\u06de-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0900-\u0902\u093c\u0941-\u0948\u094d\u0951-\u0955\u0962\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2\u09e3\u0a01\u0a02\u0a3c\u0a41\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81\u0a82\u0abc\u0ac1-\u0ac5\u0ac7\u0ac8\u0acd\u0ae2\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86\u0f87\u0f90-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039\u103a\u103d\u103e\u1058\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085\u1086\u108d\u109d\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927\u1928\u1932\u1939-\u193b\u1a17\u1a18\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80\u1b81\u1ba2-\u1ba5\u1ba8\u1ba9\u1c2c-\u1c33\u1c36\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1dc0-\u1de6\u1dfd-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua825\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\uaa29-\uaa2e\uaa31\uaa32\uaa35\uaa36\uaa43\uaa4c\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe5\uabe8\uabed\udc00-\udfff\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]/;function le(e){return e.charCodeAt(0)>=768&&ae.test(e)}function ce(e,t,n){for(;(n<0?t>0:t<e.length)&&le(e.charAt(t));)t+=n;return t}function ue(e,t,n){for(var i=t>n?-1:1;;){if(t==n)return t;var r=(t+n)/2,o=i<0?Math.ceil(r):Math.floor(r);if(o==t)return e(o)?t:n;e(o)?n=o:t=o+i}}var de=null;function pe(e,t,n){var i;de=null;for(var r=0;r<e.length;++r){var o=e[r];if(o.from<t&&o.to>t)return r;o.to==t&&(o.from!=o.to&&"before"==n?i=r:de=r),o.from==t&&(o.from!=o.to&&"before"!=n?i=r:de=r)}return null!=i?i:de}var he=function(){function e(e){return e<=247?"bbbbbbbbbtstwsbbbbbbbbbbbbbbssstwNN%%%NNNNNN,N,N1111111111NNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNNNLLLLLLLLLLLLLLLLLLLLLLLLLLNNNNbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbb,N%%%%NNNNLNNNNN%%11NLNNN1LNNNNNLLLLLLLLLLLLLLLLLLLLLLLNLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLN".charAt(e):1424<=e&&e<=1524?"R":1536<=e&&e<=1785?"nnnnnnNNr%%r,rNNmmmmmmmmmmmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnn%nnrrrmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrmmmmmmmnNmmmmmmrrmmNmmmmrr1111111111".charAt(e-1536):1774<=e&&e<=2220?"r":8192<=e&&e<=8203?"w":8204==e?"b":"L"}var t=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac]/,n=/[stwN]/,i=/[LRr]/,r=/[Lb1n]/,o=/[1n]/;function s(e,t,n){this.level=e,this.from=t,this.to=n}return function(a,l){var c="ltr"==l?"L":"R";if(0==a.length||"ltr"==l&&!t.test(a))return!1;for(var u=a.length,d=[],p=0;p<u;++p)d.push(e(a.charCodeAt(p)));for(var h=0,f=c;h<u;++h){var _=d[h];"m"==_?d[h]=f:f=_}for(var g=0,m=c;g<u;++g){var y=d[g];"1"==y&&"r"==m?d[g]="n":i.test(y)&&(m=y,"r"==y&&(d[g]="R"))}for(var v=1,b=d[0];v<u-1;++v){var x=d[v];"+"==x&&"1"==b&&"1"==d[v+1]?d[v]="1":","!=x||b!=d[v+1]||"1"!=b&&"n"!=b||(d[v]=b),b=x}for(var w=0;w<u;++w){var k=d[w];if(","==k)d[w]="N";else if("%"==k){var C=void 0;for(C=w+1;C<u&&"%"==d[C];++C);for(var A=w&&"!"==d[w-1]||C<u&&"1"==d[C]?"1":"N",S=w;S<C;++S)d[S]=A;w=C-1}}for(var E=0,I=c;E<u;++E){var T=d[E];"L"==I&&"1"==T?d[E]="L":i.test(T)&&(I=T)}for(var M=0;M<u;++M)if(n.test(d[M])){var P=void 0;for(P=M+1;P<u&&n.test(d[P]);++P);for(var R="L"==(M?d[M-1]:c),z=R==("L"==(P<u?d[P]:c))?R?"L":"R":c,L=M;L<P;++L)d[L]=z;M=P-1}for(var O,F=[],j=0;j<u;)if(r.test(d[j])){var D=j;for(++j;j<u&&r.test(d[j]);++j);F.push(new s(0,D,j))}else{var N=j,B=F.length,q="rtl"==l?1:0;for(++j;j<u&&"L"!=d[j];++j);for(var G=N;G<j;)if(o.test(d[G])){N<G&&(F.splice(B,0,new s(1,N,G)),B+=q);var V=G;for(++G;G<j&&o.test(d[G]);++G);F.splice(B,0,new s(2,V,G)),B+=q,N=G}else++G;N<j&&F.splice(B,0,new s(1,N,j))}return"ltr"==l&&(1==F[0].level&&(O=a.match(/^\s+/))&&(F[0].from=O[0].length,F.unshift(new s(0,0,O[0].length))),1==J(F).level&&(O=a.match(/\s+$/))&&(J(F).to-=O[0].length,F.push(new s(0,u-O[0].length,u)))),"rtl"==l?F.reverse():F}}();function fe(e,t){var n=e.order;return null==n&&(n=e.order=he(e.text,t)),n}var _e=[],ge=function(e,t,n){if(e.addEventListener)e.addEventListener(t,n,!1);else if(e.attachEvent)e.attachEvent("on"+t,n);else{var i=e._handlers||(e._handlers={});i[t]=(i[t]||_e).concat(n)}};function me(e,t){return e._handlers&&e._handlers[t]||_e}function ye(e,t,n){if(e.removeEventListener)e.removeEventListener(t,n,!1);else if(e.detachEvent)e.detachEvent("on"+t,n);else{var i=e._handlers,r=i&&i[t];if(r){var o=H(r,n);o>-1&&(i[t]=r.slice(0,o).concat(r.slice(o+1)))}}}function ve(e,t){var n=me(e,t);if(n.length)for(var i=Array.prototype.slice.call(arguments,2),r=0;r<n.length;++r)n[r].apply(null,i)}function be(e,t,n){return"string"==typeof t&&(t={type:t,preventDefault:function(){this.defaultPrevented=!0}}),ve(e,n||t.type,e,t),Se(t)||t.codemirrorIgnore}function xe(e){var t=e._handlers&&e._handlers.cursorActivity;if(t)for(var n=e.curOp.cursorActivityHandlers||(e.curOp.cursorActivityHandlers=[]),i=0;i<t.length;++i)-1==H(n,t[i])&&n.push(t[i])}function we(e,t){return me(e,t).length>0}function ke(e){e.prototype.on=function(e,t){ge(this,e,t)},e.prototype.off=function(e,t){ye(this,e,t)}}function Ce(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function Ae(e){e.stopPropagation?e.stopPropagation():e.cancelBubble=!0}function Se(e){return null!=e.defaultPrevented?e.defaultPrevented:0==e.returnValue}function Ee(e){Ce(e),Ae(e)}function Ie(e){return e.target||e.srcElement}function Te(e){var t=e.which;return null==t&&(1&e.button?t=1:2&e.button?t=3:4&e.button&&(t=2)),v&&e.ctrlKey&&1==t&&(t=3),t}var Me,Pe,Re=function(){if(s&&a<9)return!1;var e=M("div");return"draggable"in e||"dragDrop"in e}();function ze(e){if(null==Me){var t=M("span","");T(e,M("span",[t,document.createTextNode("x")])),0!=e.firstChild.offsetHeight&&(Me=t.offsetWidth<=1&&t.offsetHeight>2&&!(s&&a<8))}var n=Me?M("span",""):M("span"," ",null,"display: inline-block; width: 1px; margin-right: -1px");return n.setAttribute("cm-text",""),n}function Le(e){if(null!=Pe)return Pe;var t=T(e,document.createTextNode("AخA")),n=S(t,0,1).getBoundingClientRect(),i=S(t,1,2).getBoundingClientRect();return I(e),!(!n||n.left==n.right)&&(Pe=i.right-n.right<3)}var Oe,Fe=3!="\n\nb".split(/\n/).length?function(e){for(var t=0,n=[],i=e.length;t<=i;){var r=e.indexOf("\n",t);-1==r&&(r=e.length);var o=e.slice(t,"\r"==e.charAt(r-1)?r-1:r),s=o.indexOf("\r");-1!=s?(n.push(o.slice(0,s)),t+=s+1):(n.push(o),t=r+1)}return n}:function(e){return e.split(/\r\n?|\n/)},je=window.getSelection?function(e){try{return e.selectionStart!=e.selectionEnd}catch(e){return!1}}:function(e){var t;try{t=e.ownerDocument.selection.createRange()}catch(e){}return!(!t||t.parentElement()!=e)&&0!=t.compareEndPoints("StartToEnd",t)},De="oncopy"in(Oe=M("div"))||(Oe.setAttribute("oncopy","return;"),"function"==typeof Oe.oncopy),Ne=null;var Be={},qe={};function Ge(e,t){arguments.length>2&&(t.dependencies=Array.prototype.slice.call(arguments,2)),Be[e]=t}function Ve(e){if("string"==typeof e&&qe.hasOwnProperty(e))e=qe[e];else if(e&&"string"==typeof e.name&&qe.hasOwnProperty(e.name)){var t=qe[e.name];"string"==typeof t&&(t={name:t}),(e=ne(t,e)).name=t.name}else{if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+xml$/.test(e))return Ve("application/xml");if("string"==typeof e&&/^[\w\-]+\/[\w\-]+\+json$/.test(e))return Ve("application/json")}return"string"==typeof e?{name:e}:e||{name:"null"}}function We(e,t){t=Ve(t);var n=Be[t.name];if(!n)return We(e,"text/plain");var i=n(e,t);if(He.hasOwnProperty(t.name)){var r=He[t.name];for(var o in r)r.hasOwnProperty(o)&&(i.hasOwnProperty(o)&&(i["_"+o]=i[o]),i[o]=r[o])}if(i.name=t.name,t.helperType&&(i.helperType=t.helperType),t.modeProps)for(var s in t.modeProps)i[s]=t.modeProps[s];return i}var He={};function Ue(e,t){G(t,He.hasOwnProperty(e)?He[e]:He[e]={})}function $e(e,t){if(!0===t)return t;if(e.copyState)return e.copyState(t);var n={};for(var i in t){var r=t[i];r instanceof Array&&(r=r.concat([])),n[i]=r}return n}function Ke(e,t){for(var n;e.innerMode&&(n=e.innerMode(t))&&n.mode!=e;)t=n.state,e=n.mode;return n||{mode:e,state:t}}function Xe(e,t,n){return!e.startState||e.startState(t,n)}var Ze=function(e,t,n){this.pos=this.start=0,this.string=e,this.tabSize=t||8,this.lastColumnPos=this.lastColumnValue=0,this.lineStart=0,this.lineOracle=n};function Ye(e,t){if((t-=e.first)<0||t>=e.size)throw new Error("There is no line "+(t+e.first)+" in the document.");for(var n=e;!n.lines;)for(var i=0;;++i){var r=n.children[i],o=r.chunkSize();if(t<o){n=r;break}t-=o}return n.lines[t]}function Qe(e,t,n){var i=[],r=t.line;return e.iter(t.line,n.line+1,function(e){var o=e.text;r==n.line&&(o=o.slice(0,n.ch)),r==t.line&&(o=o.slice(t.ch)),i.push(o),++r}),i}function Je(e,t,n){var i=[];return e.iter(t,n,function(e){i.push(e.text)}),i}function et(e,t){var n=t-e.height;if(n)for(var i=e;i;i=i.parent)i.height+=n}function tt(e){if(null==e.parent)return null;for(var t=e.parent,n=H(t.lines,e),i=t.parent;i;t=i,i=i.parent)for(var r=0;i.children[r]!=t;++r)n+=i.children[r].chunkSize();return n+t.first}function nt(e,t){var n=e.first;e:do{for(var i=0;i<e.children.length;++i){var r=e.children[i],o=r.height;if(t<o){e=r;continue e}t-=o,n+=r.chunkSize()}return n}while(!e.lines);for(var s=0;s<e.lines.length;++s){var a=e.lines[s].height;if(t<a)break;t-=a}return n+s}function it(e,t){return t>=e.first&&t<e.first+e.size}function rt(e,t){return String(e.lineNumberFormatter(t+e.firstLineNumber))}function ot(e,t,n){if(void 0===n&&(n=null),!(this instanceof ot))return new ot(e,t,n);this.line=e,this.ch=t,this.sticky=n}function st(e,t){return e.line-t.line||e.ch-t.ch}function at(e,t){return e.sticky==t.sticky&&0==st(e,t)}function lt(e){return ot(e.line,e.ch)}function ct(e,t){return st(e,t)<0?t:e}function ut(e,t){return st(e,t)<0?e:t}function dt(e,t){return Math.max(e.first,Math.min(t,e.first+e.size-1))}function pt(e,t){if(t.line<e.first)return ot(e.first,0);var n=e.first+e.size-1;return t.line>n?ot(n,Ye(e,n).text.length):function(e,t){var n=e.ch;return null==n||n>t?ot(e.line,t):n<0?ot(e.line,0):e}(t,Ye(e,t.line).text.length)}function ht(e,t){for(var n=[],i=0;i<t.length;i++)n[i]=pt(e,t[i]);return n}Ze.prototype.eol=function(){return this.pos>=this.string.length},Ze.prototype.sol=function(){return this.pos==this.lineStart},Ze.prototype.peek=function(){return this.string.charAt(this.pos)||void 0},Ze.prototype.next=function(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)},Ze.prototype.eat=function(e){var t=this.string.charAt(this.pos);if("string"==typeof e?t==e:t&&(e.test?e.test(t):e(t)))return++this.pos,t},Ze.prototype.eatWhile=function(e){for(var t=this.pos;this.eat(e););return this.pos>t},Ze.prototype.eatSpace=function(){for(var e=this.pos;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e},Ze.prototype.skipToEnd=function(){this.pos=this.string.length},Ze.prototype.skipTo=function(e){var t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0},Ze.prototype.backUp=function(e){this.pos-=e},Ze.prototype.column=function(){return this.lastColumnPos<this.start&&(this.lastColumnValue=V(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue-(this.lineStart?V(this.string,this.lineStart,this.tabSize):0)},Ze.prototype.indentation=function(){return V(this.string,null,this.tabSize)-(this.lineStart?V(this.string,this.lineStart,this.tabSize):0)},Ze.prototype.match=function(e,t,n){if("string"!=typeof e){var i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}var r=function(e){return n?e.toLowerCase():e};if(r(this.string.substr(this.pos,e.length))==r(e))return!1!==t&&(this.pos+=e.length),!0},Ze.prototype.current=function(){return this.string.slice(this.start,this.pos)},Ze.prototype.hideFirstChars=function(e,t){this.lineStart+=e;try{return t()}finally{this.lineStart-=e}},Ze.prototype.lookAhead=function(e){var t=this.lineOracle;return t&&t.lookAhead(e)},Ze.prototype.baseToken=function(){var e=this.lineOracle;return e&&e.baseToken(this.pos)};var ft=function(e,t){this.state=e,this.lookAhead=t},_t=function(e,t,n,i){this.state=t,this.doc=e,this.line=n,this.maxLookAhead=i||0,this.baseTokens=null,this.baseTokenPos=1};function gt(e,t,n,i){var r=[e.state.modeGen],o={};At(e,t.text,e.doc.mode,n,function(e,t){return r.push(e,t)},o,i);for(var s=n.state,a=function(i){n.baseTokens=r;var a=e.state.overlays[i],l=1,c=0;n.state=!0,At(e,t.text,a.mode,n,function(e,t){for(var n=l;c<e;){var i=r[l];i>e&&r.splice(l,1,e,r[l+1],i),l+=2,c=Math.min(e,i)}if(t)if(a.opaque)r.splice(n,l-n,e,"overlay "+t),l=n+2;else for(;n<l;n+=2){var o=r[n+1];r[n+1]=(o?o+" ":"")+"overlay "+t}},o),n.state=s,n.baseTokens=null,n.baseTokenPos=1},l=0;l<e.state.overlays.length;++l)a(l);return{styles:r,classes:o.bgClass||o.textClass?o:null}}function mt(e,t,n){if(!t.styles||t.styles[0]!=e.state.modeGen){var i=yt(e,tt(t)),r=t.text.length>e.options.maxHighlightLength&&$e(e.doc.mode,i.state),o=gt(e,t,i);r&&(i.state=r),t.stateAfter=i.save(!r),t.styles=o.styles,o.classes?t.styleClasses=o.classes:t.styleClasses&&(t.styleClasses=null),n===e.doc.highlightFrontier&&(e.doc.modeFrontier=Math.max(e.doc.modeFrontier,++e.doc.highlightFrontier))}return t.styles}function yt(e,t,n){var i=e.doc,r=e.display;if(!i.mode.startState)return new _t(i,!0,t);var o=function(e,t,n){for(var i,r,o=e.doc,s=n?-1:t-(e.doc.mode.innerMode?1e3:100),a=t;a>s;--a){if(a<=o.first)return o.first;var l=Ye(o,a-1),c=l.stateAfter;if(c&&(!n||a+(c instanceof ft?c.lookAhead:0)<=o.modeFrontier))return a;var u=V(l.text,null,e.options.tabSize);(null==r||i>u)&&(r=a-1,i=u)}return r}(e,t,n),s=o>i.first&&Ye(i,o-1).stateAfter,a=s?_t.fromSaved(i,s,o):new _t(i,Xe(i.mode),o);return i.iter(o,t,function(n){vt(e,n.text,a);var i=a.line;n.stateAfter=i==t-1||i%5==0||i>=r.viewFrom&&i<r.viewTo?a.save():null,a.nextLine()}),n&&(i.modeFrontier=a.line),a}function vt(e,t,n,i){var r=e.doc.mode,o=new Ze(t,e.options.tabSize,n);for(o.start=o.pos=i||0,""==t&&bt(r,n.state);!o.eol();)xt(r,o,n.state),o.start=o.pos}function bt(e,t){if(e.blankLine)return e.blankLine(t);if(e.innerMode){var n=Ke(e,t);return n.mode.blankLine?n.mode.blankLine(n.state):void 0}}function xt(e,t,n,i){for(var r=0;r<10;r++){i&&(i[0]=Ke(e,n).mode);var o=e.token(t,n);if(t.pos>t.start)return o}throw new Error("Mode "+e.name+" failed to advance stream.")}_t.prototype.lookAhead=function(e){var t=this.doc.getLine(this.line+e);return null!=t&&e>this.maxLookAhead&&(this.maxLookAhead=e),t},_t.prototype.baseToken=function(e){if(!this.baseTokens)return null;for(;this.baseTokens[this.baseTokenPos]<=e;)this.baseTokenPos+=2;var t=this.baseTokens[this.baseTokenPos+1];return{type:t&&t.replace(/( |^)overlay .*/,""),size:this.baseTokens[this.baseTokenPos]-e}},_t.prototype.nextLine=function(){this.line++,this.maxLookAhead>0&&this.maxLookAhead--},_t.fromSaved=function(e,t,n){return t instanceof ft?new _t(e,$e(e.mode,t.state),n,t.lookAhead):new _t(e,$e(e.mode,t),n)},_t.prototype.save=function(e){var t=!1!==e?$e(this.doc.mode,this.state):this.state;return this.maxLookAhead>0?new ft(t,this.maxLookAhead):t};var wt=function(e,t,n){this.start=e.start,this.end=e.pos,this.string=e.current(),this.type=t||null,this.state=n};function kt(e,t,n,i){var r,o,s=e.doc,a=s.mode,l=Ye(s,(t=pt(s,t)).line),c=yt(e,t.line,n),u=new Ze(l.text,e.options.tabSize,c);for(i&&(o=[]);(i||u.pos<t.ch)&&!u.eol();)u.start=u.pos,r=xt(a,u,c.state),i&&o.push(new wt(u,r,$e(s.mode,c.state)));return i?o:new wt(u,r,c.state)}function Ct(e,t){if(e)for(;;){var n=e.match(/(?:^|\s+)line-(background-)?(\S+)/);if(!n)break;e=e.slice(0,n.index)+e.slice(n.index+n[0].length);var i=n[1]?"bgClass":"textClass";null==t[i]?t[i]=n[2]:new RegExp("(?:^|\\s)"+n[2]+"(?:$|\\s)").test(t[i])||(t[i]+=" "+n[2])}return e}function At(e,t,n,i,r,o,s){var a=n.flattenSpans;null==a&&(a=e.options.flattenSpans);var l,c=0,u=null,d=new Ze(t,e.options.tabSize,i),p=e.options.addModeClass&&[null];for(""==t&&Ct(bt(n,i.state),o);!d.eol();){if(d.pos>e.options.maxHighlightLength?(a=!1,s&&vt(e,t,i,d.pos),d.pos=t.length,l=null):l=Ct(xt(n,d,i.state,p),o),p){var h=p[0].name;h&&(l="m-"+(l?h+" "+l:h))}if(!a||u!=l){for(;c<d.start;)r(c=Math.min(d.start,c+5e3),u);u=l}d.start=d.pos}for(;c<d.pos;){var f=Math.min(d.pos,c+5e3);r(f,u),c=f}}var St=!1,Et=!1;function It(e,t,n){this.marker=e,this.from=t,this.to=n}function Tt(e,t){if(e)for(var n=0;n<e.length;++n){var i=e[n];if(i.marker==t)return i}}function Mt(e,t){for(var n,i=0;i<e.length;++i)e[i]!=t&&(n||(n=[])).push(e[i]);return n}function Pt(e,t){if(t.full)return null;var n=it(e,t.from.line)&&Ye(e,t.from.line).markedSpans,i=it(e,t.to.line)&&Ye(e,t.to.line).markedSpans;if(!n&&!i)return null;var r=t.from.ch,o=t.to.ch,s=0==st(t.from,t.to),a=function(e,t,n){var i;if(e)for(var r=0;r<e.length;++r){var o=e[r],s=o.marker;if(null==o.from||(s.inclusiveLeft?o.from<=t:o.from<t)||o.from==t&&"bookmark"==s.type&&(!n||!o.marker.insertLeft)){var a=null==o.to||(s.inclusiveRight?o.to>=t:o.to>t);(i||(i=[])).push(new It(s,o.from,a?null:o.to))}}return i}(n,r,s),l=function(e,t,n){var i;if(e)for(var r=0;r<e.length;++r){var o=e[r],s=o.marker;if(null==o.to||(s.inclusiveRight?o.to>=t:o.to>t)||o.from==t&&"bookmark"==s.type&&(!n||o.marker.insertLeft)){var a=null==o.from||(s.inclusiveLeft?o.from<=t:o.from<t);(i||(i=[])).push(new It(s,a?null:o.from-t,null==o.to?null:o.to-t))}}return i}(i,o,s),c=1==t.text.length,u=J(t.text).length+(c?r:0);if(a)for(var d=0;d<a.length;++d){var p=a[d];if(null==p.to){var h=Tt(l,p.marker);h?c&&(p.to=null==h.to?null:h.to+u):p.to=r}}if(l)for(var f=0;f<l.length;++f){var _=l[f];null!=_.to&&(_.to+=u),null==_.from?Tt(a,_.marker)||(_.from=u,c&&(a||(a=[])).push(_)):(_.from+=u,c&&(a||(a=[])).push(_))}a&&(a=Rt(a)),l&&l!=a&&(l=Rt(l));var g=[a];if(!c){var m,y=t.text.length-2;if(y>0&&a)for(var v=0;v<a.length;++v)null==a[v].to&&(m||(m=[])).push(new It(a[v].marker,null,null));for(var b=0;b<y;++b)g.push(m);g.push(l)}return g}function Rt(e){for(var t=0;t<e.length;++t){var n=e[t];null!=n.from&&n.from==n.to&&!1!==n.marker.clearWhenEmpty&&e.splice(t--,1)}return e.length?e:null}function zt(e){var t=e.markedSpans;if(t){for(var n=0;n<t.length;++n)t[n].marker.detachLine(e);e.markedSpans=null}}function Lt(e,t){if(t){for(var n=0;n<t.length;++n)t[n].marker.attachLine(e);e.markedSpans=t}}function Ot(e){return e.inclusiveLeft?-1:0}function Ft(e){return e.inclusiveRight?1:0}function jt(e,t){var n=e.lines.length-t.lines.length;if(0!=n)return n;var i=e.find(),r=t.find(),o=st(i.from,r.from)||Ot(e)-Ot(t);return o?-o:st(i.to,r.to)||Ft(e)-Ft(t)||t.id-e.id}function Dt(e,t){var n,i=Et&&e.markedSpans;if(i)for(var r=void 0,o=0;o<i.length;++o)(r=i[o]).marker.collapsed&&null==(t?r.from:r.to)&&(!n||jt(n,r.marker)<0)&&(n=r.marker);return n}function Nt(e){return Dt(e,!0)}function Bt(e){return Dt(e,!1)}function qt(e,t){var n,i=Et&&e.markedSpans;if(i)for(var r=0;r<i.length;++r){var o=i[r];o.marker.collapsed&&(null==o.from||o.from<t)&&(null==o.to||o.to>t)&&(!n||jt(n,o.marker)<0)&&(n=o.marker)}return n}function Gt(e,t,n,i,r){var o=Ye(e,t),s=Et&&o.markedSpans;if(s)for(var a=0;a<s.length;++a){var l=s[a];if(l.marker.collapsed){var c=l.marker.find(0),u=st(c.from,n)||Ot(l.marker)-Ot(r),d=st(c.to,i)||Ft(l.marker)-Ft(r);if(!(u>=0&&d<=0||u<=0&&d>=0)&&(u<=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?st(c.to,n)>=0:st(c.to,n)>0)||u>=0&&(l.marker.inclusiveRight&&r.inclusiveLeft?st(c.from,i)<=0:st(c.from,i)<0)))return!0}}}function Vt(e){for(var t;t=Nt(e);)e=t.find(-1,!0).line;return e}function Wt(e,t){var n=Ye(e,t),i=Vt(n);return n==i?t:tt(i)}function Ht(e,t){if(t>e.lastLine())return t;var n,i=Ye(e,t);if(!Ut(e,i))return t;for(;n=Bt(i);)i=n.find(1,!0).line;return tt(i)+1}function Ut(e,t){var n=Et&&t.markedSpans;if(n)for(var i=void 0,r=0;r<n.length;++r)if((i=n[r]).marker.collapsed){if(null==i.from)return!0;if(!i.marker.widgetNode&&0==i.from&&i.marker.inclusiveLeft&&$t(e,t,i))return!0}}function $t(e,t,n){if(null==n.to){var i=n.marker.find(1,!0);return $t(e,i.line,Tt(i.line.markedSpans,n.marker))}if(n.marker.inclusiveRight&&n.to==t.text.length)return!0;for(var r=void 0,o=0;o<t.markedSpans.length;++o)if((r=t.markedSpans[o]).marker.collapsed&&!r.marker.widgetNode&&r.from==n.to&&(null==r.to||r.to!=n.from)&&(r.marker.inclusiveLeft||n.marker.inclusiveRight)&&$t(e,t,r))return!0}function Kt(e){for(var t=0,n=(e=Vt(e)).parent,i=0;i<n.lines.length;++i){var r=n.lines[i];if(r==e)break;t+=r.height}for(var o=n.parent;o;o=(n=o).parent)for(var s=0;s<o.children.length;++s){var a=o.children[s];if(a==n)break;t+=a.height}return t}function Xt(e){if(0==e.height)return 0;for(var t,n=e.text.length,i=e;t=Nt(i);){var r=t.find(0,!0);i=r.from.line,n+=r.from.ch-r.to.ch}for(i=e;t=Bt(i);){var o=t.find(0,!0);n-=i.text.length-o.from.ch,n+=(i=o.to.line).text.length-o.to.ch}return n}function Zt(e){var t=e.display,n=e.doc;t.maxLine=Ye(n,n.first),t.maxLineLength=Xt(t.maxLine),t.maxLineChanged=!0,n.iter(function(e){var n=Xt(e);n>t.maxLineLength&&(t.maxLineLength=n,t.maxLine=e)})}var Yt=function(e,t,n){this.text=e,Lt(this,t),this.height=n?n(this):1};function Qt(e){e.parent=null,zt(e)}Yt.prototype.lineNo=function(){return tt(this)},ke(Yt);var Jt={},en={};function tn(e,t){if(!e||/^\s*$/.test(e))return null;var n=t.addModeClass?en:Jt;return n[e]||(n[e]=e.replace(/\S+/g,"cm-$&"))}function nn(e,t){var n=P("span",null,null,l?"padding-right: .1px":null),i={pre:P("pre",[n],"CodeMirror-line"),content:n,col:0,pos:0,cm:e,trailingSpace:!1,splitSpaces:e.getOption("lineWrapping")};t.measure={};for(var r=0;r<=(t.rest?t.rest.length:0);r++){var o=r?t.rest[r-1]:t.line,s=void 0;i.pos=0,i.addToken=on,Le(e.display.measure)&&(s=fe(o,e.doc.direction))&&(i.addToken=sn(i.addToken,s)),i.map=[],ln(o,i,mt(e,o,t!=e.display.externalMeasured&&tt(o))),o.styleClasses&&(o.styleClasses.bgClass&&(i.bgClass=O(o.styleClasses.bgClass,i.bgClass||"")),o.styleClasses.textClass&&(i.textClass=O(o.styleClasses.textClass,i.textClass||""))),0==i.map.length&&i.map.push(0,0,i.content.appendChild(ze(e.display.measure))),0==r?(t.measure.map=i.map,t.measure.cache={}):((t.measure.maps||(t.measure.maps=[])).push(i.map),(t.measure.caches||(t.measure.caches=[])).push({}))}if(l){var a=i.content.lastChild;(/\bcm-tab\b/.test(a.className)||a.querySelector&&a.querySelector(".cm-tab"))&&(i.content.className="cm-tab-wrap-hack")}return ve(e,"renderLine",e,t.line,i.pre),i.pre.className&&(i.textClass=O(i.pre.className,i.textClass||"")),i}function rn(e){var t=M("span","•","cm-invalidchar");return t.title="\\u"+e.charCodeAt(0).toString(16),t.setAttribute("aria-label",t.title),t}function on(e,t,n,i,r,o,l){if(t){var c,u=e.splitSpaces?function(e,t){if(e.length>1&&!/ /.test(e))return e;for(var n=t,i="",r=0;r<e.length;r++){var o=e.charAt(r);" "!=o||!n||r!=e.length-1&&32!=e.charCodeAt(r+1)||(o=" "),i+=o,n=" "==o}return i}(t,e.trailingSpace):t,d=e.cm.state.specialChars,p=!1;if(d.test(t)){c=document.createDocumentFragment();for(var h=0;;){d.lastIndex=h;var f=d.exec(t),_=f?f.index-h:t.length-h;if(_){var g=document.createTextNode(u.slice(h,h+_));s&&a<9?c.appendChild(M("span",[g])):c.appendChild(g),e.map.push(e.pos,e.pos+_,g),e.col+=_,e.pos+=_}if(!f)break;h+=_+1;var m=void 0;if("\t"==f[0]){var y=e.cm.options.tabSize,v=y-e.col%y;(m=c.appendChild(M("span",Q(v),"cm-tab"))).setAttribute("role","presentation"),m.setAttribute("cm-text","\t"),e.col+=v}else"\r"==f[0]||"\n"==f[0]?((m=c.appendChild(M("span","\r"==f[0]?"␍":"","cm-invalidchar"))).setAttribute("cm-text",f[0]),e.col+=1):((m=e.cm.options.specialCharPlaceholder(f[0])).setAttribute("cm-text",f[0]),s&&a<9?c.appendChild(M("span",[m])):c.appendChild(m),e.col+=1);e.map.push(e.pos,e.pos+1,m),e.pos++}}else e.col+=t.length,c=document.createTextNode(u),e.map.push(e.pos,e.pos+t.length,c),s&&a<9&&(p=!0),e.pos+=t.length;if(e.trailingSpace=32==u.charCodeAt(t.length-1),n||i||r||p||o||l){var b=n||"";i&&(b+=i),r&&(b+=r);var x=M("span",[c],b,o);if(l)for(var w in l)l.hasOwnProperty(w)&&"style"!=w&&"class"!=w&&x.setAttribute(w,l[w]);return e.content.appendChild(x)}e.content.appendChild(c)}}function sn(e,t){return function(n,i,r,o,s,a,l){r=r?r+" cm-force-border":"cm-force-border";for(var c=n.pos,u=c+i.length;;){for(var d=void 0,p=0;p<t.length&&!((d=t[p]).to>c&&d.from<=c);p++);if(d.to>=u)return e(n,i,r,o,s,a,l);e(n,i.slice(0,d.to-c),r,o,null,a,l),o=null,i=i.slice(d.to-c),c=d.to}}}function an(e,t,n,i){var r=!i&&n.widgetNode;r&&e.map.push(e.pos,e.pos+t,r),!i&&e.cm.display.input.needsContentAttribute&&(r||(r=e.content.appendChild(document.createElement("span"))),r.setAttribute("cm-marker",n.id)),r&&(e.cm.display.input.setUneditable(r),e.content.appendChild(r)),e.pos+=t,e.trailingSpace=!1}function ln(e,t,n){var i=e.markedSpans,r=e.text,o=0;if(i)for(var s,a,l,c,u,d,p,h=r.length,f=0,_=1,g="",m=0;;){if(m==f){l=c=u=a="",p=null,d=null,m=1/0;for(var y=[],v=void 0,b=0;b<i.length;++b){var x=i[b],w=x.marker;if("bookmark"==w.type&&x.from==f&&w.widgetNode)y.push(w);else if(x.from<=f&&(null==x.to||x.to>f||w.collapsed&&x.to==f&&x.from==f)){if(null!=x.to&&x.to!=f&&m>x.to&&(m=x.to,c=""),w.className&&(l+=" "+w.className),w.css&&(a=(a?a+";":"")+w.css),w.startStyle&&x.from==f&&(u+=" "+w.startStyle),w.endStyle&&x.to==m&&(v||(v=[])).push(w.endStyle,x.to),w.title&&((p||(p={})).title=w.title),w.attributes)for(var k in w.attributes)(p||(p={}))[k]=w.attributes[k];w.collapsed&&(!d||jt(d.marker,w)<0)&&(d=x)}else x.from>f&&m>x.from&&(m=x.from)}if(v)for(var C=0;C<v.length;C+=2)v[C+1]==m&&(c+=" "+v[C]);if(!d||d.from==f)for(var A=0;A<y.length;++A)an(t,0,y[A]);if(d&&(d.from||0)==f){if(an(t,(null==d.to?h+1:d.to)-f,d.marker,null==d.from),null==d.to)return;d.to==f&&(d=!1)}}if(f>=h)break;for(var S=Math.min(h,m);;){if(g){var E=f+g.length;if(!d){var I=E>S?g.slice(0,S-f):g;t.addToken(t,I,s?s+l:l,u,f+I.length==m?c:"",a,p)}if(E>=S){g=g.slice(S-f),f=S;break}f=E,u=""}g=r.slice(o,o=n[_++]),s=tn(n[_++],t.cm.options)}}else for(var T=1;T<n.length;T+=2)t.addToken(t,r.slice(o,o=n[T]),tn(n[T+1],t.cm.options))}function cn(e,t,n){this.line=t,this.rest=function(e){for(var t,n;t=Bt(e);)e=t.find(1,!0).line,(n||(n=[])).push(e);return n}(t),this.size=this.rest?tt(J(this.rest))-n+1:1,this.node=this.text=null,this.hidden=Ut(e,t)}function un(e,t,n){for(var i,r=[],o=t;o<n;o=i){var s=new cn(e.doc,Ye(e.doc,o),o);i=o+s.size,r.push(s)}return r}var dn=null;var pn=null;function hn(e,t){var n=me(e,t);if(n.length){var i,r=Array.prototype.slice.call(arguments,2);dn?i=dn.delayedCallbacks:pn?i=pn:(i=pn=[],setTimeout(fn,0));for(var o=function(e){i.push(function(){return n[e].apply(null,r)})},s=0;s<n.length;++s)o(s)}}function fn(){var e=pn;pn=null;for(var t=0;t<e.length;++t)e[t]()}function _n(e,t,n,i){for(var r=0;r<t.changes.length;r++){var o=t.changes[r];"text"==o?yn(e,t):"gutter"==o?bn(e,t,n,i):"class"==o?vn(e,t):"widget"==o&&xn(e,t,i)}t.changes=null}function gn(e){return e.node==e.text&&(e.node=M("div",null,null,"position: relative"),e.text.parentNode&&e.text.parentNode.replaceChild(e.node,e.text),e.node.appendChild(e.text),s&&a<8&&(e.node.style.zIndex=2)),e.node}function mn(e,t){var n=e.display.externalMeasured;return n&&n.line==t.line?(e.display.externalMeasured=null,t.measure=n.measure,n.built):nn(e,t)}function yn(e,t){var n=t.text.className,i=mn(e,t);t.text==t.node&&(t.node=i.pre),t.text.parentNode.replaceChild(i.pre,t.text),t.text=i.pre,i.bgClass!=t.bgClass||i.textClass!=t.textClass?(t.bgClass=i.bgClass,t.textClass=i.textClass,vn(e,t)):n&&(t.text.className=n)}function vn(e,t){(function(e,t){var n=t.bgClass?t.bgClass+" "+(t.line.bgClass||""):t.line.bgClass;if(n&&(n+=" CodeMirror-linebackground"),t.background)n?t.background.className=n:(t.background.parentNode.removeChild(t.background),t.background=null);else if(n){var i=gn(t);t.background=i.insertBefore(M("div",null,n),i.firstChild),e.display.input.setUneditable(t.background)}})(e,t),t.line.wrapClass?gn(t).className=t.line.wrapClass:t.node!=t.text&&(t.node.className="");var n=t.textClass?t.textClass+" "+(t.line.textClass||""):t.line.textClass;t.text.className=n||""}function bn(e,t,n,i){if(t.gutter&&(t.node.removeChild(t.gutter),t.gutter=null),t.gutterBackground&&(t.node.removeChild(t.gutterBackground),t.gutterBackground=null),t.line.gutterClass){var r=gn(t);t.gutterBackground=M("div",null,"CodeMirror-gutter-background "+t.line.gutterClass,"left: "+(e.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px; width: "+i.gutterTotalWidth+"px"),e.display.input.setUneditable(t.gutterBackground),r.insertBefore(t.gutterBackground,t.text)}var o=t.line.gutterMarkers;if(e.options.lineNumbers||o){var s=gn(t),a=t.gutter=M("div",null,"CodeMirror-gutter-wrapper","left: "+(e.options.fixedGutter?i.fixedPos:-i.gutterTotalWidth)+"px");if(a.setAttribute("aria-hidden","true"),e.display.input.setUneditable(a),s.insertBefore(a,t.text),t.line.gutterClass&&(a.className+=" "+t.line.gutterClass),!e.options.lineNumbers||o&&o["CodeMirror-linenumbers"]||(t.lineNumber=a.appendChild(M("div",rt(e.options,n),"CodeMirror-linenumber CodeMirror-gutter-elt","left: "+i.gutterLeft["CodeMirror-linenumbers"]+"px; width: "+e.display.lineNumInnerWidth+"px"))),o)for(var l=0;l<e.display.gutterSpecs.length;++l){var c=e.display.gutterSpecs[l].className,u=o.hasOwnProperty(c)&&o[c];u&&a.appendChild(M("div",[u],"CodeMirror-gutter-elt","left: "+i.gutterLeft[c]+"px; width: "+i.gutterWidth[c]+"px"))}}}function xn(e,t,n){t.alignable&&(t.alignable=null);for(var i=A("CodeMirror-linewidget"),r=t.node.firstChild,o=void 0;r;r=o)o=r.nextSibling,i.test(r.className)&&t.node.removeChild(r);kn(e,t,n)}function wn(e,t,n,i){var r=mn(e,t);return t.text=t.node=r.pre,r.bgClass&&(t.bgClass=r.bgClass),r.textClass&&(t.textClass=r.textClass),vn(e,t),bn(e,t,n,i),kn(e,t,i),t.node}function kn(e,t,n){if(Cn(e,t.line,t,n,!0),t.rest)for(var i=0;i<t.rest.length;i++)Cn(e,t.rest[i],t,n,!1)}function Cn(e,t,n,i,r){if(t.widgets)for(var o=gn(n),s=0,a=t.widgets;s<a.length;++s){var l=a[s],c=M("div",[l.node],"CodeMirror-linewidget"+(l.className?" "+l.className:""));l.handleMouseEvents||c.setAttribute("cm-ignore-events","true"),An(l,c,n,i),e.display.input.setUneditable(c),r&&l.above?o.insertBefore(c,n.gutter||n.text):o.appendChild(c),hn(l,"redraw")}}function An(e,t,n,i){if(e.noHScroll){(n.alignable||(n.alignable=[])).push(t);var r=i.wrapperWidth;t.style.left=i.fixedPos+"px",e.coverGutter||(r-=i.gutterTotalWidth,t.style.paddingLeft=i.gutterTotalWidth+"px"),t.style.width=r+"px"}e.coverGutter&&(t.style.zIndex=5,t.style.position="relative",e.noHScroll||(t.style.marginLeft=-i.gutterTotalWidth+"px"))}function Sn(e){if(null!=e.height)return e.height;var t=e.doc.cm;if(!t)return 0;if(!R(document.body,e.node)){var n="position: relative;";e.coverGutter&&(n+="margin-left: -"+t.display.gutters.offsetWidth+"px;"),e.noHScroll&&(n+="width: "+t.display.wrapper.clientWidth+"px;"),T(t.display.measure,M("div",[e.node],null,n))}return e.height=e.node.parentNode.offsetHeight}function En(e,t){for(var n=Ie(t);n!=e.wrapper;n=n.parentNode)if(!n||1==n.nodeType&&"true"==n.getAttribute("cm-ignore-events")||n.parentNode==e.sizer&&n!=e.mover)return!0}function In(e){return e.lineSpace.offsetTop}function Tn(e){return e.mover.offsetHeight-e.lineSpace.offsetHeight}function Mn(e){if(e.cachedPaddingH)return e.cachedPaddingH;var t=T(e.measure,M("pre","x","CodeMirror-line-like")),n=window.getComputedStyle?window.getComputedStyle(t):t.currentStyle,i={left:parseInt(n.paddingLeft),right:parseInt(n.paddingRight)};return isNaN(i.left)||isNaN(i.right)||(e.cachedPaddingH=i),i}function Pn(e){return 50-e.display.nativeBarWidth}function Rn(e){return e.display.scroller.clientWidth-Pn(e)-e.display.barWidth}function zn(e){return e.display.scroller.clientHeight-Pn(e)-e.display.barHeight}function Ln(e,t,n){if(e.line==t)return{map:e.measure.map,cache:e.measure.cache};if(e.rest){for(var i=0;i<e.rest.length;i++)if(e.rest[i]==t)return{map:e.measure.maps[i],cache:e.measure.caches[i]};for(var r=0;r<e.rest.length;r++)if(tt(e.rest[r])>n)return{map:e.measure.maps[r],cache:e.measure.caches[r],before:!0}}}function On(e,t,n,i){return Dn(e,jn(e,t),n,i)}function Fn(e,t){if(t>=e.display.viewFrom&&t<e.display.viewTo)return e.display.view[_i(e,t)];var n=e.display.externalMeasured;return n&&t>=n.lineN&&t<n.lineN+n.size?n:void 0}function jn(e,t){var n=tt(t),i=Fn(e,n);i&&!i.text?i=null:i&&i.changes&&(_n(e,i,n,ui(e)),e.curOp.forceUpdate=!0),i||(i=function(e,t){var n=tt(t=Vt(t)),i=e.display.externalMeasured=new cn(e.doc,t,n);i.lineN=n;var r=i.built=nn(e,i);return i.text=r.pre,T(e.display.lineMeasure,r.pre),i}(e,t));var r=Ln(i,t,n);return{line:t,view:i,rect:null,map:r.map,cache:r.cache,before:r.before,hasHeights:!1}}function Dn(e,t,n,i,r){t.before&&(n=-1);var o,l=n+(i||"");return t.cache.hasOwnProperty(l)?o=t.cache[l]:(t.rect||(t.rect=t.view.text.getBoundingClientRect()),t.hasHeights||(function(e,t,n){var i=e.options.lineWrapping,r=i&&Rn(e);if(!t.measure.heights||i&&t.measure.width!=r){var o=t.measure.heights=[];if(i){t.measure.width=r;for(var s=t.text.firstChild.getClientRects(),a=0;a<s.length-1;a++){var l=s[a],c=s[a+1];Math.abs(l.bottom-c.bottom)>2&&o.push((l.bottom+c.top)/2-n.top)}}o.push(n.bottom-n.top)}}(e,t.view,t.rect),t.hasHeights=!0),(o=function(e,t,n,i){var r,o=qn(t.map,n,i),l=o.node,c=o.start,u=o.end,d=o.collapse;if(3==l.nodeType){for(var p=0;p<4;p++){for(;c&&le(t.line.text.charAt(o.coverStart+c));)--c;for(;o.coverStart+u<o.coverEnd&&le(t.line.text.charAt(o.coverStart+u));)++u;if((r=s&&a<9&&0==c&&u==o.coverEnd-o.coverStart?l.parentNode.getBoundingClientRect():Gn(S(l,c,u).getClientRects(),i)).left||r.right||0==c)break;u=c,c-=1,d="right"}s&&a<11&&(r=function(e,t){if(!window.screen||null==screen.logicalXDPI||screen.logicalXDPI==screen.deviceXDPI||!function(e){if(null!=Ne)return Ne;var t=T(e,M("span","x")),n=t.getBoundingClientRect(),i=S(t,0,1).getBoundingClientRect();return Ne=Math.abs(n.left-i.left)>1}(e))return t;var n=screen.logicalXDPI/screen.deviceXDPI,i=screen.logicalYDPI/screen.deviceYDPI;return{left:t.left*n,right:t.right*n,top:t.top*i,bottom:t.bottom*i}}(e.display.measure,r))}else{var h;c>0&&(d=i="right"),r=e.options.lineWrapping&&(h=l.getClientRects()).length>1?h["right"==i?h.length-1:0]:l.getBoundingClientRect()}if(s&&a<9&&!c&&(!r||!r.left&&!r.right)){var f=l.parentNode.getClientRects()[0];r=f?{left:f.left,right:f.left+ci(e.display),top:f.top,bottom:f.bottom}:Bn}for(var _=r.top-t.rect.top,g=r.bottom-t.rect.top,m=(_+g)/2,y=t.view.measure.heights,v=0;v<y.length-1&&!(m<y[v]);v++);var b=v?y[v-1]:0,x=y[v],w={left:("right"==d?r.right:r.left)-t.rect.left,right:("left"==d?r.left:r.right)-t.rect.left,top:b,bottom:x};return r.left||r.right||(w.bogus=!0),e.options.singleCursorHeightPerLine||(w.rtop=_,w.rbottom=g),w}(e,t,n,i)).bogus||(t.cache[l]=o)),{left:o.left,right:o.right,top:r?o.rtop:o.top,bottom:r?o.rbottom:o.bottom}}var Nn,Bn={left:0,right:0,top:0,bottom:0};function qn(e,t,n){for(var i,r,o,s,a,l,c=0;c<e.length;c+=3)if(a=e[c],l=e[c+1],t<a?(r=0,o=1,s="left"):t<l?o=1+(r=t-a):(c==e.length-3||t==l&&e[c+3]>t)&&(r=(o=l-a)-1,t>=l&&(s="right")),null!=r){if(i=e[c+2],a==l&&n==(i.insertLeft?"left":"right")&&(s=n),"left"==n&&0==r)for(;c&&e[c-2]==e[c-3]&&e[c-1].insertLeft;)i=e[2+(c-=3)],s="left";if("right"==n&&r==l-a)for(;c<e.length-3&&e[c+3]==e[c+4]&&!e[c+5].insertLeft;)i=e[(c+=3)+2],s="right";break}return{node:i,start:r,end:o,collapse:s,coverStart:a,coverEnd:l}}function Gn(e,t){var n=Bn;if("left"==t)for(var i=0;i<e.length&&(n=e[i]).left==n.right;i++);else for(var r=e.length-1;r>=0&&(n=e[r]).left==n.right;r--);return n}function Vn(e){if(e.measure&&(e.measure.cache={},e.measure.heights=null,e.rest))for(var t=0;t<e.rest.length;t++)e.measure.caches[t]={}}function Wn(e){e.display.externalMeasure=null,I(e.display.lineMeasure);for(var t=0;t<e.display.view.length;t++)Vn(e.display.view[t])}function Hn(e){Wn(e),e.display.cachedCharWidth=e.display.cachedTextHeight=e.display.cachedPaddingH=null,e.options.lineWrapping||(e.display.maxLineChanged=!0),e.display.lineNumChars=null}function Un(e){return u&&m?-(e.body.getBoundingClientRect().left-parseInt(getComputedStyle(e.body).marginLeft)):e.defaultView.pageXOffset||(e.documentElement||e.body).scrollLeft}function $n(e){return u&&m?-(e.body.getBoundingClientRect().top-parseInt(getComputedStyle(e.body).marginTop)):e.defaultView.pageYOffset||(e.documentElement||e.body).scrollTop}function Kn(e){var t=Vt(e).widgets,n=0;if(t)for(var i=0;i<t.length;++i)t[i].above&&(n+=Sn(t[i]));return n}function Xn(e,t,n,i,r){if(!r){var o=Kn(t);n.top+=o,n.bottom+=o}if("line"==i)return n;i||(i="local");var s=Kt(t);if("local"==i?s+=In(e.display):s-=e.display.viewOffset,"page"==i||"window"==i){var a=e.display.lineSpace.getBoundingClientRect();s+=a.top+("window"==i?0:$n(j(e)));var l=a.left+("window"==i?0:Un(j(e)));n.left+=l,n.right+=l}return n.top+=s,n.bottom+=s,n}function Zn(e,t,n){if("div"==n)return t;var i=t.left,r=t.top;if("page"==n)i-=Un(j(e)),r-=$n(j(e));else if("local"==n||!n){var o=e.display.sizer.getBoundingClientRect();i+=o.left,r+=o.top}var s=e.display.lineSpace.getBoundingClientRect();return{left:i-s.left,top:r-s.top}}function Yn(e,t,n,i,r){return i||(i=Ye(e.doc,t.line)),Xn(e,i,On(e,i,t.ch,r),n)}function Qn(e,t,n,i,r,o){function s(t,s){var a=Dn(e,r,t,s?"right":"left",o);return s?a.left=a.right:a.right=a.left,Xn(e,i,a,n)}i=i||Ye(e.doc,t.line),r||(r=jn(e,i));var a=fe(i,e.doc.direction),l=t.ch,c=t.sticky;if(l>=i.text.length?(l=i.text.length,c="before"):l<=0&&(l=0,c="after"),!a)return s("before"==c?l-1:l,"before"==c);function u(e,t,n){return s(n?e-1:e,1==a[t].level!=n)}var d=pe(a,l,c),p=de,h=u(l,d,"before"==c);return null!=p&&(h.other=u(l,p,"before"!=c)),h}function Jn(e,t){var n=0;t=pt(e.doc,t),e.options.lineWrapping||(n=ci(e.display)*t.ch);var i=Ye(e.doc,t.line),r=Kt(i)+In(e.display);return{left:n,right:n,top:r,bottom:r+i.height}}function ei(e,t,n,i,r){var o=ot(e,t,n);return o.xRel=r,i&&(o.outside=i),o}function ti(e,t,n){var i=e.doc;if((n+=e.display.viewOffset)<0)return ei(i.first,0,null,-1,-1);var r=nt(i,n),o=i.first+i.size-1;if(r>o)return ei(i.first+i.size-1,Ye(i,o).text.length,null,1,1);t<0&&(t=0);for(var s=Ye(i,r);;){var a=oi(e,s,r,t,n),l=qt(s,a.ch+(a.xRel>0||a.outside>0?1:0));if(!l)return a;var c=l.find(1);if(c.line==r)return c;s=Ye(i,r=c.line)}}function ni(e,t,n,i){i-=Kn(t);var r=t.text.length,o=ue(function(t){return Dn(e,n,t-1).bottom<=i},r,0);return{begin:o,end:r=ue(function(t){return Dn(e,n,t).top>i},o,r)}}function ii(e,t,n,i){return n||(n=jn(e,t)),ni(e,t,n,Xn(e,t,Dn(e,n,i),"line").top)}function ri(e,t,n,i){return!(e.bottom<=n)&&(e.top>n||(i?e.left:e.right)>t)}function oi(e,t,n,i,r){r-=Kt(t);var o=jn(e,t),s=Kn(t),a=0,l=t.text.length,c=!0,u=fe(t,e.doc.direction);if(u){var d=(e.options.lineWrapping?ai:si)(e,t,n,o,u,i,r);a=(c=1!=d.level)?d.from:d.to-1,l=c?d.to:d.from-1}var p,h,f=null,_=null,g=ue(function(t){var n=Dn(e,o,t);return n.top+=s,n.bottom+=s,!!ri(n,i,r,!1)&&(n.top<=r&&n.left<=i&&(f=t,_=n),!0)},a,l),m=!1;if(_){var y=i-_.left<_.right-i,v=y==c;g=f+(v?0:1),h=v?"after":"before",p=y?_.left:_.right}else{c||g!=l&&g!=a||g++,h=0==g?"after":g==t.text.length?"before":Dn(e,o,g-(c?1:0)).bottom+s<=r==c?"after":"before";var b=Qn(e,ot(n,g,h),"line",t,o);p=b.left,m=r<b.top?-1:r>=b.bottom?1:0}return ei(n,g=ce(t.text,g,1),h,m,i-p)}function si(e,t,n,i,r,o,s){var a=ue(function(a){var l=r[a],c=1!=l.level;return ri(Qn(e,ot(n,c?l.to:l.from,c?"before":"after"),"line",t,i),o,s,!0)},0,r.length-1),l=r[a];if(a>0){var c=1!=l.level,u=Qn(e,ot(n,c?l.from:l.to,c?"after":"before"),"line",t,i);ri(u,o,s,!0)&&u.top>s&&(l=r[a-1])}return l}function ai(e,t,n,i,r,o,s){var a=ni(e,t,i,s),l=a.begin,c=a.end;/\s/.test(t.text.charAt(c-1))&&c--;for(var u=null,d=null,p=0;p<r.length;p++){var h=r[p];if(!(h.from>=c||h.to<=l)){var f=Dn(e,i,1!=h.level?Math.min(c,h.to)-1:Math.max(l,h.from)).right,_=f<o?o-f+1e9:f-o;(!u||d>_)&&(u=h,d=_)}}return u||(u=r[r.length-1]),u.from<l&&(u={from:l,to:u.to,level:u.level}),u.to>c&&(u={from:u.from,to:c,level:u.level}),u}function li(e){if(null!=e.cachedTextHeight)return e.cachedTextHeight;if(null==Nn){Nn=M("pre",null,"CodeMirror-line-like");for(var t=0;t<49;++t)Nn.appendChild(document.createTextNode("x")),Nn.appendChild(M("br"));Nn.appendChild(document.createTextNode("x"))}T(e.measure,Nn);var n=Nn.offsetHeight/50;return n>3&&(e.cachedTextHeight=n),I(e.measure),n||1}function ci(e){if(null!=e.cachedCharWidth)return e.cachedCharWidth;var t=M("span","xxxxxxxxxx"),n=M("pre",[t],"CodeMirror-line-like");T(e.measure,n);var i=t.getBoundingClientRect(),r=(i.right-i.left)/10;return r>2&&(e.cachedCharWidth=r),r||10}function ui(e){for(var t=e.display,n={},i={},r=t.gutters.clientLeft,o=t.gutters.firstChild,s=0;o;o=o.nextSibling,++s){var a=e.display.gutterSpecs[s].className;n[a]=o.offsetLeft+o.clientLeft+r,i[a]=o.clientWidth}return{fixedPos:di(t),gutterTotalWidth:t.gutters.offsetWidth,gutterLeft:n,gutterWidth:i,wrapperWidth:t.wrapper.clientWidth}}function di(e){return e.scroller.getBoundingClientRect().left-e.sizer.getBoundingClientRect().left}function pi(e){var t=li(e.display),n=e.options.lineWrapping,i=n&&Math.max(5,e.display.scroller.clientWidth/ci(e.display)-3);return function(r){if(Ut(e.doc,r))return 0;var o=0;if(r.widgets)for(var s=0;s<r.widgets.length;s++)r.widgets[s].height&&(o+=r.widgets[s].height);return n?o+(Math.ceil(r.text.length/i)||1)*t:o+t}}function hi(e){var t=e.doc,n=pi(e);t.iter(function(e){var t=n(e);t!=e.height&&et(e,t)})}function fi(e,t,n,i){var r=e.display;if(!n&&"true"==Ie(t).getAttribute("cm-not-content"))return null;var o,s,a=r.lineSpace.getBoundingClientRect();try{o=t.clientX-a.left,s=t.clientY-a.top}catch(e){return null}var l,c=ti(e,o,s);if(i&&c.xRel>0&&(l=Ye(e.doc,c.line).text).length==c.ch){var u=V(l,l.length,e.options.tabSize)-l.length;c=ot(c.line,Math.max(0,Math.round((o-Mn(e.display).left)/ci(e.display))-u))}return c}function _i(e,t){if(t>=e.display.viewTo)return null;if((t-=e.display.viewFrom)<0)return null;for(var n=e.display.view,i=0;i<n.length;i++)if((t-=n[i].size)<0)return i}function gi(e,t,n,i){null==t&&(t=e.doc.first),null==n&&(n=e.doc.first+e.doc.size),i||(i=0);var r=e.display;if(i&&n<r.viewTo&&(null==r.updateLineNumbers||r.updateLineNumbers>t)&&(r.updateLineNumbers=t),e.curOp.viewChanged=!0,t>=r.viewTo)Et&&Wt(e.doc,t)<r.viewTo&&yi(e);else if(n<=r.viewFrom)Et&&Ht(e.doc,n+i)>r.viewFrom?yi(e):(r.viewFrom+=i,r.viewTo+=i);else if(t<=r.viewFrom&&n>=r.viewTo)yi(e);else if(t<=r.viewFrom){var o=vi(e,n,n+i,1);o?(r.view=r.view.slice(o.index),r.viewFrom=o.lineN,r.viewTo+=i):yi(e)}else if(n>=r.viewTo){var s=vi(e,t,t,-1);s?(r.view=r.view.slice(0,s.index),r.viewTo=s.lineN):yi(e)}else{var a=vi(e,t,t,-1),l=vi(e,n,n+i,1);a&&l?(r.view=r.view.slice(0,a.index).concat(un(e,a.lineN,l.lineN)).concat(r.view.slice(l.index)),r.viewTo+=i):yi(e)}var c=r.externalMeasured;c&&(n<c.lineN?c.lineN+=i:t<c.lineN+c.size&&(r.externalMeasured=null))}function mi(e,t,n){e.curOp.viewChanged=!0;var i=e.display,r=e.display.externalMeasured;if(r&&t>=r.lineN&&t<r.lineN+r.size&&(i.externalMeasured=null),!(t<i.viewFrom||t>=i.viewTo)){var o=i.view[_i(e,t)];if(null!=o.node){var s=o.changes||(o.changes=[]);-1==H(s,n)&&s.push(n)}}}function yi(e){e.display.viewFrom=e.display.viewTo=e.doc.first,e.display.view=[],e.display.viewOffset=0}function vi(e,t,n,i){var r,o=_i(e,t),s=e.display.view;if(!Et||n==e.doc.first+e.doc.size)return{index:o,lineN:n};for(var a=e.display.viewFrom,l=0;l<o;l++)a+=s[l].size;if(a!=t){if(i>0){if(o==s.length-1)return null;r=a+s[o].size-t,o++}else r=a-t;t+=r,n+=r}for(;Wt(e.doc,n)!=n;){if(o==(i<0?0:s.length-1))return null;n+=i*s[o-(i<0?1:0)].size,o+=i}return{index:o,lineN:n}}function bi(e){for(var t=e.display.view,n=0,i=0;i<t.length;i++){var r=t[i];r.hidden||r.node&&!r.changes||++n}return n}function xi(e){e.display.input.showSelection(e.display.input.prepareSelection())}function wi(e,t){void 0===t&&(t=!0);var n=e.doc,i={},r=i.cursors=document.createDocumentFragment(),o=i.selection=document.createDocumentFragment(),s=e.options.$customCursor;s&&(t=!0);for(var a=0;a<n.sel.ranges.length;a++)if(t||a!=n.sel.primIndex){var l=n.sel.ranges[a];if(!(l.from().line>=e.display.viewTo||l.to().line<e.display.viewFrom)){var c=l.empty();if(s){var u=s(e,l);u&&ki(e,u,r)}else(c||e.options.showCursorWhenSelecting)&&ki(e,l.head,r);c||Ai(e,l,o)}}return i}function ki(e,t,n){var i=Qn(e,t,"div",null,null,!e.options.singleCursorHeightPerLine),r=n.appendChild(M("div"," ","CodeMirror-cursor"));if(r.style.left=i.left+"px",r.style.top=i.top+"px",r.style.height=Math.max(0,i.bottom-i.top)*e.options.cursorHeight+"px",/\bcm-fat-cursor\b/.test(e.getWrapperElement().className)){var o=Yn(e,t,"div",null,null),s=o.right-o.left;r.style.width=(s>0?s:e.defaultCharWidth())+"px"}if(i.other){var a=n.appendChild(M("div"," ","CodeMirror-cursor CodeMirror-secondarycursor"));a.style.display="",a.style.left=i.other.left+"px",a.style.top=i.other.top+"px",a.style.height=.85*(i.other.bottom-i.other.top)+"px"}}function Ci(e,t){return e.top-t.top||e.left-t.left}function Ai(e,t,n){var i=e.display,r=e.doc,o=document.createDocumentFragment(),s=Mn(e.display),a=s.left,l=Math.max(i.sizerWidth,Rn(e)-i.sizer.offsetLeft)-s.right,c="ltr"==r.direction;function u(e,t,n,i){t<0&&(t=0),t=Math.round(t),i=Math.round(i),o.appendChild(M("div",null,"CodeMirror-selected","position: absolute; left: "+e+"px;\n top: "+t+"px; width: "+(null==n?l-e:n)+"px;\n height: "+(i-t)+"px"))}function d(t,n,i){var o,s,d=Ye(r,t),p=d.text.length;function h(n,i){return Yn(e,ot(t,n),"div",d,i)}function f(t,n,i){var r=ii(e,d,null,t),o="ltr"==n==("after"==i)?"left":"right";return h("after"==i?r.begin:r.end-(/\s/.test(d.text.charAt(r.end-1))?2:1),o)[o]}var _=fe(d,r.direction);return function(e,t,n,i){if(!e)return i(t,n,"ltr",0);for(var r=!1,o=0;o<e.length;++o){var s=e[o];(s.from<n&&s.to>t||t==n&&s.to==t)&&(i(Math.max(s.from,t),Math.min(s.to,n),1==s.level?"rtl":"ltr",o),r=!0)}r||i(t,n,"ltr")}(_,n||0,null==i?p:i,function(e,t,r,d){var g="ltr"==r,m=h(e,g?"left":"right"),y=h(t-1,g?"right":"left"),v=null==n&&0==e,b=null==i&&t==p,x=0==d,w=!_||d==_.length-1;if(y.top-m.top<=3){var k=(c?b:v)&&w,C=(c?v:b)&&x?a:(g?m:y).left,A=k?l:(g?y:m).right;u(C,m.top,A-C,m.bottom)}else{var S,E,I,T;g?(S=c&&v&&x?a:m.left,E=c?l:f(e,r,"before"),I=c?a:f(t,r,"after"),T=c&&b&&w?l:y.right):(S=c?f(e,r,"before"):a,E=!c&&v&&x?l:m.right,I=!c&&b&&w?a:y.left,T=c?f(t,r,"after"):l),u(S,m.top,E-S,m.bottom),m.bottom<y.top&&u(a,m.bottom,null,y.top),u(I,y.top,T-I,y.bottom)}(!o||Ci(m,o)<0)&&(o=m),Ci(y,o)<0&&(o=y),(!s||Ci(m,s)<0)&&(s=m),Ci(y,s)<0&&(s=y)}),{start:o,end:s}}var p=t.from(),h=t.to();if(p.line==h.line)d(p.line,p.ch,h.ch);else{var f=Ye(r,p.line),_=Ye(r,h.line),g=Vt(f)==Vt(_),m=d(p.line,p.ch,g?f.text.length+1:null).end,y=d(h.line,g?0:null,h.ch).start;g&&(m.top<y.top-2?(u(m.right,m.top,null,m.bottom),u(a,y.top,y.left,y.bottom)):u(m.right,m.top,y.left-m.right,m.bottom)),m.bottom<y.top&&u(a,m.bottom,null,y.top)}n.appendChild(o)}function Si(e){if(e.state.focused){var t=e.display;clearInterval(t.blinker);var n=!0;t.cursorDiv.style.visibility="",e.options.cursorBlinkRate>0?t.blinker=setInterval(function(){e.hasFocus()||Mi(e),t.cursorDiv.style.visibility=(n=!n)?"":"hidden"},e.options.cursorBlinkRate):e.options.cursorBlinkRate<0&&(t.cursorDiv.style.visibility="hidden")}}function Ei(e){e.hasFocus()||(e.display.input.focus(),e.state.focused||Ti(e))}function Ii(e){e.state.delayingBlurEvent=!0,setTimeout(function(){e.state.delayingBlurEvent&&(e.state.delayingBlurEvent=!1,e.state.focused&&Mi(e))},100)}function Ti(e,t){e.state.delayingBlurEvent&&!e.state.draggingText&&(e.state.delayingBlurEvent=!1),"nocursor"!=e.options.readOnly&&(e.state.focused||(ve(e,"focus",e,t),e.state.focused=!0,L(e.display.wrapper,"CodeMirror-focused"),e.curOp||e.display.selForContextMenu==e.doc.sel||(e.display.input.reset(),l&&setTimeout(function(){return e.display.input.reset(!0)},20)),e.display.input.receivedFocus()),Si(e))}function Mi(e,t){e.state.delayingBlurEvent||(e.state.focused&&(ve(e,"blur",e,t),e.state.focused=!1,E(e.display.wrapper,"CodeMirror-focused")),clearInterval(e.display.blinker),setTimeout(function(){e.state.focused||(e.display.shift=!1)},150))}function Pi(e){for(var t=e.display,n=t.lineDiv.offsetTop,i=Math.max(0,t.scroller.getBoundingClientRect().top),r=t.lineDiv.getBoundingClientRect().top,o=0,l=0;l<t.view.length;l++){var c=t.view[l],u=e.options.lineWrapping,d=void 0,p=0;if(!c.hidden){if(r+=c.line.height,s&&a<8){var h=c.node.offsetTop+c.node.offsetHeight;d=h-n,n=h}else{var f=c.node.getBoundingClientRect();d=f.bottom-f.top,!u&&c.text.firstChild&&(p=c.text.firstChild.getBoundingClientRect().right-f.left-1)}var _=c.line.height-d;if((_>.005||_<-.005)&&(r<i&&(o-=_),et(c.line,d),Ri(c.line),c.rest))for(var g=0;g<c.rest.length;g++)Ri(c.rest[g]);if(p>e.display.sizerWidth){var m=Math.ceil(p/ci(e.display));m>e.display.maxLineLength&&(e.display.maxLineLength=m,e.display.maxLine=c.line,e.display.maxLineChanged=!0)}}}Math.abs(o)>2&&(t.scroller.scrollTop+=o)}function Ri(e){if(e.widgets)for(var t=0;t<e.widgets.length;++t){var n=e.widgets[t],i=n.node.parentNode;i&&(n.height=i.offsetHeight)}}function zi(e,t,n){var i=n&&null!=n.top?Math.max(0,n.top):e.scroller.scrollTop;i=Math.floor(i-In(e));var r=n&&null!=n.bottom?n.bottom:i+e.wrapper.clientHeight,o=nt(t,i),s=nt(t,r);if(n&&n.ensure){var a=n.ensure.from.line,l=n.ensure.to.line;a<o?(o=a,s=nt(t,Kt(Ye(t,a))+e.wrapper.clientHeight)):Math.min(l,t.lastLine())>=s&&(o=nt(t,Kt(Ye(t,l))-e.wrapper.clientHeight),s=l)}return{from:o,to:Math.max(s,o+1)}}function Li(e,t){var n=e.display,i=li(e.display);t.top<0&&(t.top=0);var r=e.curOp&&null!=e.curOp.scrollTop?e.curOp.scrollTop:n.scroller.scrollTop,o=zn(e),s={};t.bottom-t.top>o&&(t.bottom=t.top+o);var a=e.doc.height+Tn(n),l=t.top<i,c=t.bottom>a-i;if(t.top<r)s.scrollTop=l?0:t.top;else if(t.bottom>r+o){var u=Math.min(t.top,(c?a:t.bottom)-o);u!=r&&(s.scrollTop=u)}var d=e.options.fixedGutter?0:n.gutters.offsetWidth,p=e.curOp&&null!=e.curOp.scrollLeft?e.curOp.scrollLeft:n.scroller.scrollLeft-d,h=Rn(e)-n.gutters.offsetWidth,f=t.right-t.left>h;return f&&(t.right=t.left+h),t.left<10?s.scrollLeft=0:t.left<p?s.scrollLeft=Math.max(0,t.left+d-(f?0:10)):t.right>h+p-3&&(s.scrollLeft=t.right+(f?0:10)-h),s}function Oi(e,t){null!=t&&(Di(e),e.curOp.scrollTop=(null==e.curOp.scrollTop?e.doc.scrollTop:e.curOp.scrollTop)+t)}function Fi(e){Di(e);var t=e.getCursor();e.curOp.scrollToPos={from:t,to:t,margin:e.options.cursorScrollMargin}}function ji(e,t,n){null==t&&null==n||Di(e),null!=t&&(e.curOp.scrollLeft=t),null!=n&&(e.curOp.scrollTop=n)}function Di(e){var t=e.curOp.scrollToPos;t&&(e.curOp.scrollToPos=null,Ni(e,Jn(e,t.from),Jn(e,t.to),t.margin))}function Ni(e,t,n,i){var r=Li(e,{left:Math.min(t.left,n.left),top:Math.min(t.top,n.top)-i,right:Math.max(t.right,n.right),bottom:Math.max(t.bottom,n.bottom)+i});ji(e,r.scrollLeft,r.scrollTop)}function Bi(e,t){Math.abs(e.doc.scrollTop-t)<2||(n||hr(e,{top:t}),qi(e,t,!0),n&&hr(e),lr(e,100))}function qi(e,t,n){t=Math.max(0,Math.min(e.display.scroller.scrollHeight-e.display.scroller.clientHeight,t)),(e.display.scroller.scrollTop!=t||n)&&(e.doc.scrollTop=t,e.display.scrollbars.setScrollTop(t),e.display.scroller.scrollTop!=t&&(e.display.scroller.scrollTop=t))}function Gi(e,t,n,i){t=Math.max(0,Math.min(t,e.display.scroller.scrollWidth-e.display.scroller.clientWidth)),(n?t==e.doc.scrollLeft:Math.abs(e.doc.scrollLeft-t)<2)&&!i||(e.doc.scrollLeft=t,gr(e),e.display.scroller.scrollLeft!=t&&(e.display.scroller.scrollLeft=t),e.display.scrollbars.setScrollLeft(t))}function Vi(e){var t=e.display,n=t.gutters.offsetWidth,i=Math.round(e.doc.height+Tn(e.display));return{clientHeight:t.scroller.clientHeight,viewHeight:t.wrapper.clientHeight,scrollWidth:t.scroller.scrollWidth,clientWidth:t.scroller.clientWidth,viewWidth:t.wrapper.clientWidth,barLeft:e.options.fixedGutter?n:0,docHeight:i,scrollHeight:i+Pn(e)+t.barHeight,nativeBarWidth:t.nativeBarWidth,gutterWidth:n}}var Wi=function(e,t,n){this.cm=n;var i=this.vert=M("div",[M("div",null,null,"min-width: 1px")],"CodeMirror-vscrollbar"),r=this.horiz=M("div",[M("div",null,null,"height: 100%; min-height: 1px")],"CodeMirror-hscrollbar");i.tabIndex=r.tabIndex=-1,e(i),e(r),ge(i,"scroll",function(){i.clientHeight&&t(i.scrollTop,"vertical")}),ge(r,"scroll",function(){r.clientWidth&&t(r.scrollLeft,"horizontal")}),this.checkedZeroWidth=!1,s&&a<8&&(this.horiz.style.minHeight=this.vert.style.minWidth="18px")};Wi.prototype.update=function(e){var t=e.scrollWidth>e.clientWidth+1,n=e.scrollHeight>e.clientHeight+1,i=e.nativeBarWidth;if(n){this.vert.style.display="block",this.vert.style.bottom=t?i+"px":"0";var r=e.viewHeight-(t?i:0);this.vert.firstChild.style.height=Math.max(0,e.scrollHeight-e.clientHeight+r)+"px"}else this.vert.scrollTop=0,this.vert.style.display="",this.vert.firstChild.style.height="0";if(t){this.horiz.style.display="block",this.horiz.style.right=n?i+"px":"0",this.horiz.style.left=e.barLeft+"px";var o=e.viewWidth-e.barLeft-(n?i:0);this.horiz.firstChild.style.width=Math.max(0,e.scrollWidth-e.clientWidth+o)+"px"}else this.horiz.style.display="",this.horiz.firstChild.style.width="0";return!this.checkedZeroWidth&&e.clientHeight>0&&(0==i&&this.zeroWidthHack(),this.checkedZeroWidth=!0),{right:n?i:0,bottom:t?i:0}},Wi.prototype.setScrollLeft=function(e){this.horiz.scrollLeft!=e&&(this.horiz.scrollLeft=e),this.disableHoriz&&this.enableZeroWidthBar(this.horiz,this.disableHoriz,"horiz")},Wi.prototype.setScrollTop=function(e){this.vert.scrollTop!=e&&(this.vert.scrollTop=e),this.disableVert&&this.enableZeroWidthBar(this.vert,this.disableVert,"vert")},Wi.prototype.zeroWidthHack=function(){var e=v&&!f?"12px":"18px";this.horiz.style.height=this.vert.style.width=e,this.horiz.style.visibility=this.vert.style.visibility="hidden",this.disableHoriz=new W,this.disableVert=new W},Wi.prototype.enableZeroWidthBar=function(e,t,n){e.style.visibility="",t.set(1e3,function i(){var r=e.getBoundingClientRect();("vert"==n?document.elementFromPoint(r.right-1,(r.top+r.bottom)/2):document.elementFromPoint((r.right+r.left)/2,r.bottom-1))!=e?e.style.visibility="hidden":t.set(1e3,i)})},Wi.prototype.clear=function(){var e=this.horiz.parentNode;e.removeChild(this.horiz),e.removeChild(this.vert)};var Hi=function(){};function Ui(e,t){t||(t=Vi(e));var n=e.display.barWidth,i=e.display.barHeight;$i(e,t);for(var r=0;r<4&&n!=e.display.barWidth||i!=e.display.barHeight;r++)n!=e.display.barWidth&&e.options.lineWrapping&&Pi(e),$i(e,Vi(e)),n=e.display.barWidth,i=e.display.barHeight}function $i(e,t){var n=e.display,i=n.scrollbars.update(t);n.sizer.style.paddingRight=(n.barWidth=i.right)+"px",n.sizer.style.paddingBottom=(n.barHeight=i.bottom)+"px",n.heightForcer.style.borderBottom=i.bottom+"px solid transparent",i.right&&i.bottom?(n.scrollbarFiller.style.display="block",n.scrollbarFiller.style.height=i.bottom+"px",n.scrollbarFiller.style.width=i.right+"px"):n.scrollbarFiller.style.display="",i.bottom&&e.options.coverGutterNextToScrollbar&&e.options.fixedGutter?(n.gutterFiller.style.display="block",n.gutterFiller.style.height=i.bottom+"px",n.gutterFiller.style.width=t.gutterWidth+"px"):n.gutterFiller.style.display=""}Hi.prototype.update=function(){return{bottom:0,right:0}},Hi.prototype.setScrollLeft=function(){},Hi.prototype.setScrollTop=function(){},Hi.prototype.clear=function(){};var Ki={native:Wi,null:Hi};function Xi(e){e.display.scrollbars&&(e.display.scrollbars.clear(),e.display.scrollbars.addClass&&E(e.display.wrapper,e.display.scrollbars.addClass)),e.display.scrollbars=new Ki[e.options.scrollbarStyle](function(t){e.display.wrapper.insertBefore(t,e.display.scrollbarFiller),ge(t,"mousedown",function(){e.state.focused&&setTimeout(function(){return e.display.input.focus()},0)}),t.setAttribute("cm-not-content","true")},function(t,n){"horizontal"==n?Gi(e,t):Bi(e,t)},e),e.display.scrollbars.addClass&&L(e.display.wrapper,e.display.scrollbars.addClass)}var Zi=0;function Yi(e){var t;e.curOp={cm:e,viewChanged:!1,startHeight:e.doc.height,forceUpdate:!1,updateInput:0,typing:!1,changeObjs:null,cursorActivityHandlers:null,cursorActivityCalled:0,selectionChanged:!1,updateMaxLine:!1,scrollLeft:null,scrollTop:null,scrollToPos:null,focus:!1,id:++Zi,markArrays:null},t=e.curOp,dn?dn.ops.push(t):t.ownsGroup=dn={ops:[t],delayedCallbacks:[]}}function Qi(e){var t=e.curOp;t&&function(e,t){var n=e.ownsGroup;if(n)try{!function(e){var t=e.delayedCallbacks,n=0;do{for(;n<t.length;n++)t[n].call(null);for(var i=0;i<e.ops.length;i++){var r=e.ops[i];if(r.cursorActivityHandlers)for(;r.cursorActivityCalled<r.cursorActivityHandlers.length;)r.cursorActivityHandlers[r.cursorActivityCalled++].call(null,r.cm)}}while(n<t.length)}(n)}finally{dn=null,t(n)}}(t,function(e){for(var t=0;t<e.ops.length;t++)e.ops[t].cm.curOp=null;!function(e){for(var t=e.ops,n=0;n<t.length;n++)Ji(t[n]);for(var i=0;i<t.length;i++)er(t[i]);for(var r=0;r<t.length;r++)tr(t[r]);for(var o=0;o<t.length;o++)nr(t[o]);for(var s=0;s<t.length;s++)ir(t[s])}(e)})}function Ji(e){var t=e.cm,n=t.display;(function(e){var t=e.display;!t.scrollbarsClipped&&t.scroller.offsetWidth&&(t.nativeBarWidth=t.scroller.offsetWidth-t.scroller.clientWidth,t.heightForcer.style.height=Pn(e)+"px",t.sizer.style.marginBottom=-t.nativeBarWidth+"px",t.sizer.style.borderRightWidth=Pn(e)+"px",t.scrollbarsClipped=!0)})(t),e.updateMaxLine&&Zt(t),e.mustUpdate=e.viewChanged||e.forceUpdate||null!=e.scrollTop||e.scrollToPos&&(e.scrollToPos.from.line<n.viewFrom||e.scrollToPos.to.line>=n.viewTo)||n.maxLineChanged&&t.options.lineWrapping,e.update=e.mustUpdate&&new ur(t,e.mustUpdate&&{top:e.scrollTop,ensure:e.scrollToPos},e.forceUpdate)}function er(e){e.updatedDisplay=e.mustUpdate&&dr(e.cm,e.update)}function tr(e){var t=e.cm,n=t.display;e.updatedDisplay&&Pi(t),e.barMeasure=Vi(t),n.maxLineChanged&&!t.options.lineWrapping&&(e.adjustWidthTo=On(t,n.maxLine,n.maxLine.text.length).left+3,t.display.sizerWidth=e.adjustWidthTo,e.barMeasure.scrollWidth=Math.max(n.scroller.clientWidth,n.sizer.offsetLeft+e.adjustWidthTo+Pn(t)+t.display.barWidth),e.maxScrollLeft=Math.max(0,n.sizer.offsetLeft+e.adjustWidthTo-Rn(t))),(e.updatedDisplay||e.selectionChanged)&&(e.preparedSelection=n.input.prepareSelection())}function nr(e){var t=e.cm;null!=e.adjustWidthTo&&(t.display.sizer.style.minWidth=e.adjustWidthTo+"px",e.maxScrollLeft<t.doc.scrollLeft&&Gi(t,Math.min(t.display.scroller.scrollLeft,e.maxScrollLeft),!0),t.display.maxLineChanged=!1);var n=e.focus&&e.focus==z(D(t));e.preparedSelection&&t.display.input.showSelection(e.preparedSelection,n),(e.updatedDisplay||e.startHeight!=t.doc.height)&&Ui(t,e.barMeasure),e.updatedDisplay&&_r(t,e.barMeasure),e.selectionChanged&&Si(t),t.state.focused&&e.updateInput&&t.display.input.reset(e.typing),n&&Ei(e.cm)}function ir(e){var t=e.cm,n=t.display,i=t.doc;e.updatedDisplay&&pr(t,e.update),null==n.wheelStartX||null==e.scrollTop&&null==e.scrollLeft&&!e.scrollToPos||(n.wheelStartX=n.wheelStartY=null),null!=e.scrollTop&&qi(t,e.scrollTop,e.forceScroll),null!=e.scrollLeft&&Gi(t,e.scrollLeft,!0,!0),e.scrollToPos&&function(e,t){if(!be(e,"scrollCursorIntoView")){var n=e.display,i=n.sizer.getBoundingClientRect(),r=null,o=n.wrapper.ownerDocument;if(t.top+i.top<0?r=!0:t.bottom+i.top>(o.defaultView.innerHeight||o.documentElement.clientHeight)&&(r=!1),null!=r&&!_){var s=M("div","",null,"position: absolute;\n top: "+(t.top-n.viewOffset-In(e.display))+"px;\n height: "+(t.bottom-t.top+Pn(e)+n.barHeight)+"px;\n left: "+t.left+"px; width: "+Math.max(2,t.right-t.left)+"px;");e.display.lineSpace.appendChild(s),s.scrollIntoView(r),e.display.lineSpace.removeChild(s)}}}(t,function(e,t,n,i){var r;null==i&&(i=0),e.options.lineWrapping||t!=n||(n="before"==t.sticky?ot(t.line,t.ch+1,"before"):t,t=t.ch?ot(t.line,"before"==t.sticky?t.ch-1:t.ch,"after"):t);for(var o=0;o<5;o++){var s=!1,a=Qn(e,t),l=n&&n!=t?Qn(e,n):a,c=Li(e,r={left:Math.min(a.left,l.left),top:Math.min(a.top,l.top)-i,right:Math.max(a.left,l.left),bottom:Math.max(a.bottom,l.bottom)+i}),u=e.doc.scrollTop,d=e.doc.scrollLeft;if(null!=c.scrollTop&&(Bi(e,c.scrollTop),Math.abs(e.doc.scrollTop-u)>1&&(s=!0)),null!=c.scrollLeft&&(Gi(e,c.scrollLeft),Math.abs(e.doc.scrollLeft-d)>1&&(s=!0)),!s)break}return r}(t,pt(i,e.scrollToPos.from),pt(i,e.scrollToPos.to),e.scrollToPos.margin));var r=e.maybeHiddenMarkers,o=e.maybeUnhiddenMarkers;if(r)for(var s=0;s<r.length;++s)r[s].lines.length||ve(r[s],"hide");if(o)for(var a=0;a<o.length;++a)o[a].lines.length&&ve(o[a],"unhide");n.wrapper.offsetHeight&&(i.scrollTop=t.display.scroller.scrollTop),e.changeObjs&&ve(t,"changes",t,e.changeObjs),e.update&&e.update.finish()}function rr(e,t){if(e.curOp)return t();Yi(e);try{return t()}finally{Qi(e)}}function or(e,t){return function(){if(e.curOp)return t.apply(e,arguments);Yi(e);try{return t.apply(e,arguments)}finally{Qi(e)}}}function sr(e){return function(){if(this.curOp)return e.apply(this,arguments);Yi(this);try{return e.apply(this,arguments)}finally{Qi(this)}}}function ar(e){return function(){var t=this.cm;if(!t||t.curOp)return e.apply(this,arguments);Yi(t);try{return e.apply(this,arguments)}finally{Qi(t)}}}function lr(e,t){e.doc.highlightFrontier<e.display.viewTo&&e.state.highlight.set(t,q(cr,e))}function cr(e){var t=e.doc;if(!(t.highlightFrontier>=e.display.viewTo)){var n=+new Date+e.options.workTime,i=yt(e,t.highlightFrontier),r=[];t.iter(i.line,Math.min(t.first+t.size,e.display.viewTo+500),function(o){if(i.line>=e.display.viewFrom){var s=o.styles,a=o.text.length>e.options.maxHighlightLength?$e(t.mode,i.state):null,l=gt(e,o,i,!0);a&&(i.state=a),o.styles=l.styles;var c=o.styleClasses,u=l.classes;u?o.styleClasses=u:c&&(o.styleClasses=null);for(var d=!s||s.length!=o.styles.length||c!=u&&(!c||!u||c.bgClass!=u.bgClass||c.textClass!=u.textClass),p=0;!d&&p<s.length;++p)d=s[p]!=o.styles[p];d&&r.push(i.line),o.stateAfter=i.save(),i.nextLine()}else o.text.length<=e.options.maxHighlightLength&&vt(e,o.text,i),o.stateAfter=i.line%5==0?i.save():null,i.nextLine();if(+new Date>n)return lr(e,e.options.workDelay),!0}),t.highlightFrontier=i.line,t.modeFrontier=Math.max(t.modeFrontier,i.line),r.length&&rr(e,function(){for(var t=0;t<r.length;t++)mi(e,r[t],"text")})}}var ur=function(e,t,n){var i=e.display;this.viewport=t,this.visible=zi(i,e.doc,t),this.editorIsHidden=!i.wrapper.offsetWidth,this.wrapperHeight=i.wrapper.clientHeight,this.wrapperWidth=i.wrapper.clientWidth,this.oldDisplayWidth=Rn(e),this.force=n,this.dims=ui(e),this.events=[]};function dr(e,t){var n=e.display,i=e.doc;if(t.editorIsHidden)return yi(e),!1;if(!t.force&&t.visible.from>=n.viewFrom&&t.visible.to<=n.viewTo&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo)&&n.renderedView==n.view&&0==bi(e))return!1;mr(e)&&(yi(e),t.dims=ui(e));var r=i.first+i.size,o=Math.max(t.visible.from-e.options.viewportMargin,i.first),s=Math.min(r,t.visible.to+e.options.viewportMargin);n.viewFrom<o&&o-n.viewFrom<20&&(o=Math.max(i.first,n.viewFrom)),n.viewTo>s&&n.viewTo-s<20&&(s=Math.min(r,n.viewTo)),Et&&(o=Wt(e.doc,o),s=Ht(e.doc,s));var a=o!=n.viewFrom||s!=n.viewTo||n.lastWrapHeight!=t.wrapperHeight||n.lastWrapWidth!=t.wrapperWidth;(function(e,t,n){var i=e.display;0==i.view.length||t>=i.viewTo||n<=i.viewFrom?(i.view=un(e,t,n),i.viewFrom=t):(i.viewFrom>t?i.view=un(e,t,i.viewFrom).concat(i.view):i.viewFrom<t&&(i.view=i.view.slice(_i(e,t))),i.viewFrom=t,i.viewTo<n?i.view=i.view.concat(un(e,i.viewTo,n)):i.viewTo>n&&(i.view=i.view.slice(0,_i(e,n)))),i.viewTo=n})(e,o,s),n.viewOffset=Kt(Ye(e.doc,n.viewFrom)),e.display.mover.style.top=n.viewOffset+"px";var c=bi(e);if(!a&&0==c&&!t.force&&n.renderedView==n.view&&(null==n.updateLineNumbers||n.updateLineNumbers>=n.viewTo))return!1;var u=function(e){if(e.hasFocus())return null;var t=z(D(e));if(!t||!R(e.display.lineDiv,t))return null;var n={activeElt:t};if(window.getSelection){var i=B(e).getSelection();i.anchorNode&&i.extend&&R(e.display.lineDiv,i.anchorNode)&&(n.anchorNode=i.anchorNode,n.anchorOffset=i.anchorOffset,n.focusNode=i.focusNode,n.focusOffset=i.focusOffset)}return n}(e);return c>4&&(n.lineDiv.style.display="none"),function(e,t,n){var i=e.display,r=e.options.lineNumbers,o=i.lineDiv,s=o.firstChild;function a(t){var n=t.nextSibling;return l&&v&&e.display.currentWheelTarget==t?t.style.display="none":t.parentNode.removeChild(t),n}for(var c=i.view,u=i.viewFrom,d=0;d<c.length;d++){var p=c[d];if(p.hidden);else if(p.node&&p.node.parentNode==o){for(;s!=p.node;)s=a(s);var h=r&&null!=t&&t<=u&&p.lineNumber;p.changes&&(H(p.changes,"gutter")>-1&&(h=!1),_n(e,p,u,n)),h&&(I(p.lineNumber),p.lineNumber.appendChild(document.createTextNode(rt(e.options,u)))),s=p.node.nextSibling}else{var f=wn(e,p,u,n);o.insertBefore(f,s)}u+=p.size}for(;s;)s=a(s)}(e,n.updateLineNumbers,t.dims),c>4&&(n.lineDiv.style.display=""),n.renderedView=n.view,function(e){if(e&&e.activeElt&&e.activeElt!=z(N(e.activeElt))&&(e.activeElt.focus(),!/^(INPUT|TEXTAREA)$/.test(e.activeElt.nodeName)&&e.anchorNode&&R(document.body,e.anchorNode)&&R(document.body,e.focusNode))){var t=e.activeElt.ownerDocument,n=t.defaultView.getSelection(),i=t.createRange();i.setEnd(e.anchorNode,e.anchorOffset),i.collapse(!1),n.removeAllRanges(),n.addRange(i),n.extend(e.focusNode,e.focusOffset)}}(u),I(n.cursorDiv),I(n.selectionDiv),n.gutters.style.height=n.sizer.style.minHeight=0,a&&(n.lastWrapHeight=t.wrapperHeight,n.lastWrapWidth=t.wrapperWidth,lr(e,400)),n.updateLineNumbers=null,!0}function pr(e,t){for(var n=t.viewport,i=!0;;i=!1){if(i&&e.options.lineWrapping&&t.oldDisplayWidth!=Rn(e))i&&(t.visible=zi(e.display,e.doc,n));else if(n&&null!=n.top&&(n={top:Math.min(e.doc.height+Tn(e.display)-zn(e),n.top)}),t.visible=zi(e.display,e.doc,n),t.visible.from>=e.display.viewFrom&&t.visible.to<=e.display.viewTo)break;if(!dr(e,t))break;Pi(e);var r=Vi(e);xi(e),Ui(e,r),_r(e,r),t.force=!1}t.signal(e,"update",e),e.display.viewFrom==e.display.reportedViewFrom&&e.display.viewTo==e.display.reportedViewTo||(t.signal(e,"viewportChange",e,e.display.viewFrom,e.display.viewTo),e.display.reportedViewFrom=e.display.viewFrom,e.display.reportedViewTo=e.display.viewTo)}function hr(e,t){var n=new ur(e,t);if(dr(e,n)){Pi(e),pr(e,n);var i=Vi(e);xi(e),Ui(e,i),_r(e,i),n.finish()}}function fr(e){var t=e.gutters.offsetWidth;e.sizer.style.marginLeft=t+"px",hn(e,"gutterChanged",e)}function _r(e,t){e.display.sizer.style.minHeight=t.docHeight+"px",e.display.heightForcer.style.top=t.docHeight+"px",e.display.gutters.style.height=t.docHeight+e.display.barHeight+Pn(e)+"px"}function gr(e){var t=e.display,n=t.view;if(t.alignWidgets||t.gutters.firstChild&&e.options.fixedGutter){for(var i=di(t)-t.scroller.scrollLeft+e.doc.scrollLeft,r=t.gutters.offsetWidth,o=i+"px",s=0;s<n.length;s++)if(!n[s].hidden){e.options.fixedGutter&&(n[s].gutter&&(n[s].gutter.style.left=o),n[s].gutterBackground&&(n[s].gutterBackground.style.left=o));var a=n[s].alignable;if(a)for(var l=0;l<a.length;l++)a[l].style.left=o}e.options.fixedGutter&&(t.gutters.style.left=i+r+"px")}}function mr(e){if(!e.options.lineNumbers)return!1;var t=e.doc,n=rt(e.options,t.first+t.size-1),i=e.display;if(n.length!=i.lineNumChars){var r=i.measure.appendChild(M("div",[M("div",n)],"CodeMirror-linenumber CodeMirror-gutter-elt")),o=r.firstChild.offsetWidth,s=r.offsetWidth-o;return i.lineGutter.style.width="",i.lineNumInnerWidth=Math.max(o,i.lineGutter.offsetWidth-s)+1,i.lineNumWidth=i.lineNumInnerWidth+s,i.lineNumChars=i.lineNumInnerWidth?n.length:-1,i.lineGutter.style.width=i.lineNumWidth+"px",fr(e.display),!0}return!1}function yr(e,t){for(var n=[],i=!1,r=0;r<e.length;r++){var o=e[r],s=null;if("string"!=typeof o&&(s=o.style,o=o.className),"CodeMirror-linenumbers"==o){if(!t)continue;i=!0}n.push({className:o,style:s})}return t&&!i&&n.push({className:"CodeMirror-linenumbers",style:null}),n}function vr(e){var t=e.gutters,n=e.gutterSpecs;I(t),e.lineGutter=null;for(var i=0;i<n.length;++i){var r=n[i],o=r.className,s=r.style,a=t.appendChild(M("div",null,"CodeMirror-gutter "+o));s&&(a.style.cssText=s),"CodeMirror-linenumbers"==o&&(e.lineGutter=a,a.style.width=(e.lineNumWidth||1)+"px")}t.style.display=n.length?"":"none",fr(e)}function br(e){vr(e.display),gi(e),gr(e)}function xr(e,t,i,r){var o=this;this.input=i,o.scrollbarFiller=M("div",null,"CodeMirror-scrollbar-filler"),o.scrollbarFiller.setAttribute("cm-not-content","true"),o.gutterFiller=M("div",null,"CodeMirror-gutter-filler"),o.gutterFiller.setAttribute("cm-not-content","true"),o.lineDiv=P("div",null,"CodeMirror-code"),o.selectionDiv=M("div",null,null,"position: relative; z-index: 1"),o.cursorDiv=M("div",null,"CodeMirror-cursors"),o.measure=M("div",null,"CodeMirror-measure"),o.lineMeasure=M("div",null,"CodeMirror-measure"),o.lineSpace=P("div",[o.measure,o.lineMeasure,o.selectionDiv,o.cursorDiv,o.lineDiv],null,"position: relative; outline: none");var c=P("div",[o.lineSpace],"CodeMirror-lines");o.mover=M("div",[c],null,"position: relative"),o.sizer=M("div",[o.mover],"CodeMirror-sizer"),o.sizerWidth=null,o.heightForcer=M("div",null,null,"position: absolute; height: 50px; width: 1px;"),o.gutters=M("div",null,"CodeMirror-gutters"),o.lineGutter=null,o.scroller=M("div",[o.sizer,o.heightForcer,o.gutters],"CodeMirror-scroll"),o.scroller.setAttribute("tabIndex","-1"),o.wrapper=M("div",[o.scrollbarFiller,o.gutterFiller,o.scroller],"CodeMirror"),u&&105===d&&(o.wrapper.style.clipPath="inset(0px)"),o.wrapper.setAttribute("translate","no"),s&&a<8&&(o.gutters.style.zIndex=-1,o.scroller.style.paddingRight=0),l||n&&y||(o.scroller.draggable=!0),e&&(e.appendChild?e.appendChild(o.wrapper):e(o.wrapper)),o.viewFrom=o.viewTo=t.first,o.reportedViewFrom=o.reportedViewTo=t.first,o.view=[],o.renderedView=null,o.externalMeasured=null,o.viewOffset=0,o.lastWrapHeight=o.lastWrapWidth=0,o.updateLineNumbers=null,o.nativeBarWidth=o.barHeight=o.barWidth=0,o.scrollbarsClipped=!1,o.lineNumWidth=o.lineNumInnerWidth=o.lineNumChars=null,o.alignWidgets=!1,o.cachedCharWidth=o.cachedTextHeight=o.cachedPaddingH=null,o.maxLine=null,o.maxLineLength=0,o.maxLineChanged=!1,o.wheelDX=o.wheelDY=o.wheelStartX=o.wheelStartY=null,o.shift=!1,o.selForContextMenu=null,o.activeTouch=null,o.gutterSpecs=yr(r.gutters,r.lineNumbers),vr(o),i.init(o)}ur.prototype.signal=function(e,t){we(e,t)&&this.events.push(arguments)},ur.prototype.finish=function(){for(var e=0;e<this.events.length;e++)ve.apply(null,this.events[e])};var wr=0,kr=null;function Cr(e){var t=e.wheelDeltaX,n=e.wheelDeltaY;return null==t&&e.detail&&e.axis==e.HORIZONTAL_AXIS&&(t=e.detail),null==n&&e.detail&&e.axis==e.VERTICAL_AXIS?n=e.detail:null==n&&(n=e.wheelDelta),{x:t,y:n}}function Ar(e){var t=Cr(e);return t.x*=kr,t.y*=kr,t}function Sr(e,t){u&&102==d&&(null==e.display.chromeScrollHack?e.display.sizer.style.pointerEvents="none":clearTimeout(e.display.chromeScrollHack),e.display.chromeScrollHack=setTimeout(function(){e.display.chromeScrollHack=null,e.display.sizer.style.pointerEvents=""},100));var i=Cr(t),r=i.x,o=i.y,s=kr;0===t.deltaMode&&(r=t.deltaX,o=t.deltaY,s=1);var a=e.display,c=a.scroller,h=c.scrollWidth>c.clientWidth,f=c.scrollHeight>c.clientHeight;if(r&&h||o&&f){if(o&&v&&l)e:for(var _=t.target,g=a.view;_!=c;_=_.parentNode)for(var m=0;m<g.length;m++)if(g[m].node==_){e.display.currentWheelTarget=_;break e}if(r&&!n&&!p&&null!=s)return o&&f&&Bi(e,Math.max(0,c.scrollTop+o*s)),Gi(e,Math.max(0,c.scrollLeft+r*s)),(!o||o&&f)&&Ce(t),void(a.wheelStartX=null);if(o&&null!=s){var y=o*s,b=e.doc.scrollTop,x=b+a.wrapper.clientHeight;y<0?b=Math.max(0,b+y-50):x=Math.min(e.doc.height,x+y+50),hr(e,{top:b,bottom:x})}wr<20&&0!==t.deltaMode&&(null==a.wheelStartX?(a.wheelStartX=c.scrollLeft,a.wheelStartY=c.scrollTop,a.wheelDX=r,a.wheelDY=o,setTimeout(function(){if(null!=a.wheelStartX){var e=c.scrollLeft-a.wheelStartX,t=c.scrollTop-a.wheelStartY,n=t&&a.wheelDY&&t/a.wheelDY||e&&a.wheelDX&&e/a.wheelDX;a.wheelStartX=a.wheelStartY=null,n&&(kr=(kr*wr+n)/(wr+1),++wr)}},200)):(a.wheelDX+=r,a.wheelDY+=o))}}s?kr=-.53:n?kr=15:u?kr=-.7:h&&(kr=-1/3);var Er=function(e,t){this.ranges=e,this.primIndex=t};Er.prototype.primary=function(){return this.ranges[this.primIndex]},Er.prototype.equals=function(e){if(e==this)return!0;if(e.primIndex!=this.primIndex||e.ranges.length!=this.ranges.length)return!1;for(var t=0;t<this.ranges.length;t++){var n=this.ranges[t],i=e.ranges[t];if(!at(n.anchor,i.anchor)||!at(n.head,i.head))return!1}return!0},Er.prototype.deepCopy=function(){for(var e=[],t=0;t<this.ranges.length;t++)e[t]=new Ir(lt(this.ranges[t].anchor),lt(this.ranges[t].head));return new Er(e,this.primIndex)},Er.prototype.somethingSelected=function(){for(var e=0;e<this.ranges.length;e++)if(!this.ranges[e].empty())return!0;return!1},Er.prototype.contains=function(e,t){t||(t=e);for(var n=0;n<this.ranges.length;n++){var i=this.ranges[n];if(st(t,i.from())>=0&&st(e,i.to())<=0)return n}return-1};var Ir=function(e,t){this.anchor=e,this.head=t};function Tr(e,t,n){var i=e&&e.options.selectionsMayTouch,r=t[n];t.sort(function(e,t){return st(e.from(),t.from())}),n=H(t,r);for(var o=1;o<t.length;o++){var s=t[o],a=t[o-1],l=st(a.to(),s.from());if(i&&!s.empty()?l>0:l>=0){var c=ut(a.from(),s.from()),u=ct(a.to(),s.to()),d=a.empty()?s.from()==s.head:a.from()==a.head;o<=n&&--n,t.splice(--o,2,new Ir(d?u:c,d?c:u))}}return new Er(t,n)}function Mr(e,t){return new Er([new Ir(e,t||e)],0)}function Pr(e){return e.text?ot(e.from.line+e.text.length-1,J(e.text).length+(1==e.text.length?e.from.ch:0)):e.to}function Rr(e,t){if(st(e,t.from)<0)return e;if(st(e,t.to)<=0)return Pr(t);var n=e.line+t.text.length-(t.to.line-t.from.line)-1,i=e.ch;return e.line==t.to.line&&(i+=Pr(t).ch-t.to.ch),ot(n,i)}function zr(e,t){for(var n=[],i=0;i<e.sel.ranges.length;i++){var r=e.sel.ranges[i];n.push(new Ir(Rr(r.anchor,t),Rr(r.head,t)))}return Tr(e.cm,n,e.sel.primIndex)}function Lr(e,t,n){return e.line==t.line?ot(n.line,e.ch-t.ch+n.ch):ot(n.line+(e.line-t.line),e.ch)}function Or(e){e.doc.mode=We(e.options,e.doc.modeOption),Fr(e)}function Fr(e){e.doc.iter(function(e){e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null)}),e.doc.modeFrontier=e.doc.highlightFrontier=e.doc.first,lr(e,100),e.state.modeGen++,e.curOp&&gi(e)}function jr(e,t){return 0==t.from.ch&&0==t.to.ch&&""==J(t.text)&&(!e.cm||e.cm.options.wholeLineUpdateBefore)}function Dr(e,t,n,i){function r(e){return n?n[e]:null}function o(e,n,r){(function(e,t,n,i){e.text=t,e.stateAfter&&(e.stateAfter=null),e.styles&&(e.styles=null),null!=e.order&&(e.order=null),zt(e),Lt(e,n);var r=i?i(e):1;r!=e.height&&et(e,r)})(e,n,r,i),hn(e,"change",e,t)}function s(e,t){for(var n=[],o=e;o<t;++o)n.push(new Yt(c[o],r(o),i));return n}var a=t.from,l=t.to,c=t.text,u=Ye(e,a.line),d=Ye(e,l.line),p=J(c),h=r(c.length-1),f=l.line-a.line;if(t.full)e.insert(0,s(0,c.length)),e.remove(c.length,e.size-c.length);else if(jr(e,t)){var _=s(0,c.length-1);o(d,d.text,h),f&&e.remove(a.line,f),_.length&&e.insert(a.line,_)}else if(u==d)if(1==c.length)o(u,u.text.slice(0,a.ch)+p+u.text.slice(l.ch),h);else{var g=s(1,c.length-1);g.push(new Yt(p+u.text.slice(l.ch),h,i)),o(u,u.text.slice(0,a.ch)+c[0],r(0)),e.insert(a.line+1,g)}else if(1==c.length)o(u,u.text.slice(0,a.ch)+c[0]+d.text.slice(l.ch),r(0)),e.remove(a.line+1,f);else{o(u,u.text.slice(0,a.ch)+c[0],r(0)),o(d,p+d.text.slice(l.ch),h);var m=s(1,c.length-1);f>1&&e.remove(a.line+1,f-1),e.insert(a.line+1,m)}hn(e,"change",e,t)}function Nr(e,t,n){!function e(i,r,o){if(i.linked)for(var s=0;s<i.linked.length;++s){var a=i.linked[s];if(a.doc!=r){var l=o&&a.sharedHist;n&&!l||(t(a.doc,l),e(a.doc,i,l))}}}(e,null,!0)}function Br(e,t){if(t.cm)throw new Error("This document is already in use.");e.doc=t,t.cm=e,hi(e),Or(e),qr(e),e.options.direction=t.direction,e.options.lineWrapping||Zt(e),e.options.mode=t.modeOption,gi(e)}function qr(e){("rtl"==e.doc.direction?L:E)(e.display.lineDiv,"CodeMirror-rtl")}function Gr(e){this.done=[],this.undone=[],this.undoDepth=e?e.undoDepth:1/0,this.lastModTime=this.lastSelTime=0,this.lastOp=this.lastSelOp=null,this.lastOrigin=this.lastSelOrigin=null,this.generation=this.maxGeneration=e?e.maxGeneration:1}function Vr(e,t){var n={from:lt(t.from),to:Pr(t),text:Qe(e,t.from,t.to)};return Kr(e,n,t.from.line,t.to.line+1),Nr(e,function(e){return Kr(e,n,t.from.line,t.to.line+1)},!0),n}function Wr(e){for(;e.length&&J(e).ranges;)e.pop()}function Hr(e,t,n,i){var r=e.history;r.undone.length=0;var o,s,a=+new Date;if((r.lastOp==i||r.lastOrigin==t.origin&&t.origin&&("+"==t.origin.charAt(0)&&r.lastModTime>a-(e.cm?e.cm.options.historyEventDelay:500)||"*"==t.origin.charAt(0)))&&(o=function(e,t){return t?(Wr(e.done),J(e.done)):e.done.length&&!J(e.done).ranges?J(e.done):e.done.length>1&&!e.done[e.done.length-2].ranges?(e.done.pop(),J(e.done)):void 0}(r,r.lastOp==i)))s=J(o.changes),0==st(t.from,t.to)&&0==st(t.from,s.to)?s.to=Pr(t):o.changes.push(Vr(e,t));else{var l=J(r.done);for(l&&l.ranges||$r(e.sel,r.done),o={changes:[Vr(e,t)],generation:r.generation},r.done.push(o);r.done.length>r.undoDepth;)r.done.shift(),r.done[0].ranges||r.done.shift()}r.done.push(n),r.generation=++r.maxGeneration,r.lastModTime=r.lastSelTime=a,r.lastOp=r.lastSelOp=i,r.lastOrigin=r.lastSelOrigin=t.origin,s||ve(e,"historyAdded")}function Ur(e,t,n,i){var r=e.history,o=i&&i.origin;n==r.lastSelOp||o&&r.lastSelOrigin==o&&(r.lastModTime==r.lastSelTime&&r.lastOrigin==o||function(e,t,n,i){var r=t.charAt(0);return"*"==r||"+"==r&&n.ranges.length==i.ranges.length&&n.somethingSelected()==i.somethingSelected()&&new Date-e.history.lastSelTime<=(e.cm?e.cm.options.historyEventDelay:500)}(e,o,J(r.done),t))?r.done[r.done.length-1]=t:$r(t,r.done),r.lastSelTime=+new Date,r.lastSelOrigin=o,r.lastSelOp=n,i&&!1!==i.clearRedo&&Wr(r.undone)}function $r(e,t){var n=J(t);n&&n.ranges&&n.equals(e)||t.push(e)}function Kr(e,t,n,i){var r=t["spans_"+e.id],o=0;e.iter(Math.max(e.first,n),Math.min(e.first+e.size,i),function(n){n.markedSpans&&((r||(r=t["spans_"+e.id]={}))[o]=n.markedSpans),++o})}function Xr(e){if(!e)return null;for(var t,n=0;n<e.length;++n)e[n].marker.explicitlyCleared?t||(t=e.slice(0,n)):t&&t.push(e[n]);return t?t.length?t:null:e}function Zr(e,t){var n=function(e,t){var n=t["spans_"+e.id];if(!n)return null;for(var i=[],r=0;r<t.text.length;++r)i.push(Xr(n[r]));return i}(e,t),i=Pt(e,t);if(!n)return i;if(!i)return n;for(var r=0;r<n.length;++r){var o=n[r],s=i[r];if(o&&s)e:for(var a=0;a<s.length;++a){for(var l=s[a],c=0;c<o.length;++c)if(o[c].marker==l.marker)continue e;o.push(l)}else s&&(n[r]=s)}return n}function Yr(e,t,n){for(var i=[],r=0;r<e.length;++r){var o=e[r];if(o.ranges)i.push(n?Er.prototype.deepCopy.call(o):o);else{var s=o.changes,a=[];i.push({changes:a});for(var l=0;l<s.length;++l){var c=s[l],u=void 0;if(a.push({from:c.from,to:c.to,text:c.text}),t)for(var d in c)(u=d.match(/^spans_(\d+)$/))&&H(t,Number(u[1]))>-1&&(J(a)[d]=c[d],delete c[d])}}}return i}function Qr(e,t,n,i){if(i){var r=e.anchor;if(n){var o=st(t,r)<0;o!=st(n,r)<0?(r=t,t=n):o!=st(t,n)<0&&(t=n)}return new Ir(r,t)}return new Ir(n||t,t)}function Jr(e,t,n,i,r){null==r&&(r=e.cm&&(e.cm.display.shift||e.extend)),ro(e,new Er([Qr(e.sel.primary(),t,n,r)],0),i)}function eo(e,t,n){for(var i=[],r=e.cm&&(e.cm.display.shift||e.extend),o=0;o<e.sel.ranges.length;o++)i[o]=Qr(e.sel.ranges[o],t[o],null,r);ro(e,Tr(e.cm,i,e.sel.primIndex),n)}function to(e,t,n,i){var r=e.sel.ranges.slice(0);r[t]=n,ro(e,Tr(e.cm,r,e.sel.primIndex),i)}function no(e,t,n,i){ro(e,Mr(t,n),i)}function io(e,t,n){var i=e.history.done,r=J(i);r&&r.ranges?(i[i.length-1]=t,oo(e,t,n)):ro(e,t,n)}function ro(e,t,n){oo(e,t,n),Ur(e,e.sel,e.cm?e.cm.curOp.id:NaN,n)}function oo(e,t,n){(we(e,"beforeSelectionChange")||e.cm&&we(e.cm,"beforeSelectionChange"))&&(t=function(e,t,n){var i={ranges:t.ranges,update:function(t){this.ranges=[];for(var n=0;n<t.length;n++)this.ranges[n]=new Ir(pt(e,t[n].anchor),pt(e,t[n].head))},origin:n&&n.origin};return ve(e,"beforeSelectionChange",e,i),e.cm&&ve(e.cm,"beforeSelectionChange",e.cm,i),i.ranges!=t.ranges?Tr(e.cm,i.ranges,i.ranges.length-1):t}(e,t,n));var i=n&&n.bias||(st(t.primary().head,e.sel.primary().head)<0?-1:1);so(e,lo(e,t,i,!0)),n&&!1===n.scroll||!e.cm||"nocursor"==e.cm.getOption("readOnly")||Fi(e.cm)}function so(e,t){t.equals(e.sel)||(e.sel=t,e.cm&&(e.cm.curOp.updateInput=1,e.cm.curOp.selectionChanged=!0,xe(e.cm)),hn(e,"cursorActivity",e))}function ao(e){so(e,lo(e,e.sel,null,!1))}function lo(e,t,n,i){for(var r,o=0;o<t.ranges.length;o++){var s=t.ranges[o],a=t.ranges.length==e.sel.ranges.length&&e.sel.ranges[o],l=uo(e,s.anchor,a&&a.anchor,n,i),c=s.head==s.anchor?l:uo(e,s.head,a&&a.head,n,i);(r||l!=s.anchor||c!=s.head)&&(r||(r=t.ranges.slice(0,o)),r[o]=new Ir(l,c))}return r?Tr(e.cm,r,t.primIndex):t}function co(e,t,n,i,r){var o=Ye(e,t.line);if(o.markedSpans)for(var s=0;s<o.markedSpans.length;++s){var a=o.markedSpans[s],l=a.marker,c="selectLeft"in l?!l.selectLeft:l.inclusiveLeft,u="selectRight"in l?!l.selectRight:l.inclusiveRight;if((null==a.from||(c?a.from<=t.ch:a.from<t.ch))&&(null==a.to||(u?a.to>=t.ch:a.to>t.ch))){if(r&&(ve(l,"beforeCursorEnter"),l.explicitlyCleared)){if(o.markedSpans){--s;continue}break}if(!l.atomic)continue;if(n){var d=l.find(i<0?1:-1),p=void 0;if((i<0?u:c)&&(d=po(e,d,-i,d&&d.line==t.line?o:null)),d&&d.line==t.line&&(p=st(d,n))&&(i<0?p<0:p>0))return co(e,d,t,i,r)}var h=l.find(i<0?-1:1);return(i<0?c:u)&&(h=po(e,h,i,h.line==t.line?o:null)),h?co(e,h,t,i,r):null}}return t}function uo(e,t,n,i,r){var o=i||1;return co(e,t,n,o,r)||!r&&co(e,t,n,o,!0)||co(e,t,n,-o,r)||!r&&co(e,t,n,-o,!0)||(e.cantEdit=!0,ot(e.first,0))}function po(e,t,n,i){return n<0&&0==t.ch?t.line>e.first?pt(e,ot(t.line-1)):null:n>0&&t.ch==(i||Ye(e,t.line)).text.length?t.line<e.first+e.size-1?ot(t.line+1,0):null:new ot(t.line,t.ch+n)}function ho(e){e.setSelection(ot(e.firstLine(),0),ot(e.lastLine()),$)}function fo(e,t,n){var i={canceled:!1,from:t.from,to:t.to,text:t.text,origin:t.origin,cancel:function(){return i.canceled=!0}};return n&&(i.update=function(t,n,r,o){t&&(i.from=pt(e,t)),n&&(i.to=pt(e,n)),r&&(i.text=r),void 0!==o&&(i.origin=o)}),ve(e,"beforeChange",e,i),e.cm&&ve(e.cm,"beforeChange",e.cm,i),i.canceled?(e.cm&&(e.cm.curOp.updateInput=2),null):{from:i.from,to:i.to,text:i.text,origin:i.origin}}function _o(e,t,n){if(e.cm){if(!e.cm.curOp)return or(e.cm,_o)(e,t,n);if(e.cm.state.suppressEdits)return}if(!(we(e,"beforeChange")||e.cm&&we(e.cm,"beforeChange"))||(t=fo(e,t,!0))){var i=St&&!n&&function(e,t,n){var i=null;if(e.iter(t.line,n.line+1,function(e){if(e.markedSpans)for(var t=0;t<e.markedSpans.length;++t){var n=e.markedSpans[t].marker;!n.readOnly||i&&-1!=H(i,n)||(i||(i=[])).push(n)}}),!i)return null;for(var r=[{from:t,to:n}],o=0;o<i.length;++o)for(var s=i[o],a=s.find(0),l=0;l<r.length;++l){var c=r[l];if(!(st(c.to,a.from)<0||st(c.from,a.to)>0)){var u=[l,1],d=st(c.from,a.from),p=st(c.to,a.to);(d<0||!s.inclusiveLeft&&!d)&&u.push({from:c.from,to:a.from}),(p>0||!s.inclusiveRight&&!p)&&u.push({from:a.to,to:c.to}),r.splice.apply(r,u),l+=u.length-3}}return r}(e,t.from,t.to);if(i)for(var r=i.length-1;r>=0;--r)go(e,{from:i[r].from,to:i[r].to,text:r?[""]:t.text,origin:t.origin});else go(e,t)}}function go(e,t){if(1!=t.text.length||""!=t.text[0]||0!=st(t.from,t.to)){var n=zr(e,t);Hr(e,t,n,e.cm?e.cm.curOp.id:NaN),vo(e,t,n,Pt(e,t));var i=[];Nr(e,function(e,n){n||-1!=H(i,e.history)||(ko(e.history,t),i.push(e.history)),vo(e,t,null,Pt(e,t))})}}function mo(e,t,n){var i=e.cm&&e.cm.state.suppressEdits;if(!i||n){for(var r,o=e.history,s=e.sel,a="undo"==t?o.done:o.undone,l="undo"==t?o.undone:o.done,c=0;c<a.length&&(r=a[c],n?!r.ranges||r.equals(e.sel):r.ranges);c++);if(c!=a.length){for(o.lastOrigin=o.lastSelOrigin=null;;){if(!(r=a.pop()).ranges){if(i)return void a.push(r);break}if($r(r,l),n&&!r.equals(e.sel))return void ro(e,r,{clearRedo:!1});s=r}var u=[];$r(s,l),l.push({changes:u,generation:o.generation}),o.generation=r.generation||++o.maxGeneration;for(var d=we(e,"beforeChange")||e.cm&&we(e.cm,"beforeChange"),p=function(n){var i=r.changes[n];if(i.origin=t,d&&!fo(e,i,!1))return a.length=0,{};u.push(Vr(e,i));var o=n?zr(e,i):J(a);vo(e,i,o,Zr(e,i)),!n&&e.cm&&e.cm.scrollIntoView({from:i.from,to:Pr(i)});var s=[];Nr(e,function(e,t){t||-1!=H(s,e.history)||(ko(e.history,i),s.push(e.history)),vo(e,i,null,Zr(e,i))})},h=r.changes.length-1;h>=0;--h){var f=p(h);if(f)return f.v}}}}function yo(e,t){if(0!=t&&(e.first+=t,e.sel=new Er(ee(e.sel.ranges,function(e){return new Ir(ot(e.anchor.line+t,e.anchor.ch),ot(e.head.line+t,e.head.ch))}),e.sel.primIndex),e.cm)){gi(e.cm,e.first,e.first-t,t);for(var n=e.cm.display,i=n.viewFrom;i<n.viewTo;i++)mi(e.cm,i,"gutter")}}function vo(e,t,n,i){if(e.cm&&!e.cm.curOp)return or(e.cm,vo)(e,t,n,i);if(t.to.line<e.first)yo(e,t.text.length-1-(t.to.line-t.from.line));else if(!(t.from.line>e.lastLine())){if(t.from.line<e.first){var r=t.text.length-1-(e.first-t.from.line);yo(e,r),t={from:ot(e.first,0),to:ot(t.to.line+r,t.to.ch),text:[J(t.text)],origin:t.origin}}var o=e.lastLine();t.to.line>o&&(t={from:t.from,to:ot(o,Ye(e,o).text.length),text:[t.text[0]],origin:t.origin}),t.removed=Qe(e,t.from,t.to),n||(n=zr(e,t)),e.cm?function(e,t,n){var i=e.doc,r=e.display,o=t.from,s=t.to,a=!1,l=o.line;e.options.lineWrapping||(l=tt(Vt(Ye(i,o.line))),i.iter(l,s.line+1,function(e){if(e==r.maxLine)return a=!0,!0})),i.sel.contains(t.from,t.to)>-1&&xe(e),Dr(i,t,n,pi(e)),e.options.lineWrapping||(i.iter(l,o.line+t.text.length,function(e){var t=Xt(e);t>r.maxLineLength&&(r.maxLine=e,r.maxLineLength=t,r.maxLineChanged=!0,a=!1)}),a&&(e.curOp.updateMaxLine=!0)),function(e,t){if(e.modeFrontier=Math.min(e.modeFrontier,t),!(e.highlightFrontier<t-10)){for(var n=e.first,i=t-1;i>n;i--){var r=Ye(e,i).stateAfter;if(r&&(!(r instanceof ft)||i+r.lookAhead<t)){n=i+1;break}}e.highlightFrontier=Math.min(e.highlightFrontier,n)}}(i,o.line),lr(e,400);var c=t.text.length-(s.line-o.line)-1;t.full?gi(e):o.line!=s.line||1!=t.text.length||jr(e.doc,t)?gi(e,o.line,s.line+1,c):mi(e,o.line,"text");var u=we(e,"changes"),d=we(e,"change");if(d||u){var p={from:o,to:s,text:t.text,removed:t.removed,origin:t.origin};d&&hn(e,"change",e,p),u&&(e.curOp.changeObjs||(e.curOp.changeObjs=[])).push(p)}e.display.selForContextMenu=null}(e.cm,t,i):Dr(e,t,i),oo(e,n,$),e.cantEdit&&uo(e,ot(e.firstLine(),0))&&(e.cantEdit=!1)}}function bo(e,t,n,i,r){var o;i||(i=n),st(i,n)<0&&(n=(o=[i,n])[0],i=o[1]),"string"==typeof t&&(t=e.splitLines(t)),_o(e,{from:n,to:i,text:t,origin:r})}function xo(e,t,n,i){n<e.line?e.line+=i:t<e.line&&(e.line=t,e.ch=0)}function wo(e,t,n,i){for(var r=0;r<e.length;++r){var o=e[r],s=!0;if(o.ranges){o.copied||((o=e[r]=o.deepCopy()).copied=!0);for(var a=0;a<o.ranges.length;a++)xo(o.ranges[a].anchor,t,n,i),xo(o.ranges[a].head,t,n,i)}else{for(var l=0;l<o.changes.length;++l){var c=o.changes[l];if(n<c.from.line)c.from=ot(c.from.line+i,c.from.ch),c.to=ot(c.to.line+i,c.to.ch);else if(t<=c.to.line){s=!1;break}}s||(e.splice(0,r+1),r=0)}}}function ko(e,t){var n=t.from.line,i=t.to.line,r=t.text.length-(i-n)-1;wo(e.done,n,i,r),wo(e.undone,n,i,r)}function Co(e,t,n,i){var r=t,o=t;return"number"==typeof t?o=Ye(e,dt(e,t)):r=tt(t),null==r?null:(i(o,r)&&e.cm&&mi(e.cm,r,n),o)}function Ao(e){this.lines=e,this.parent=null;for(var t=0,n=0;n<e.length;++n)e[n].parent=this,t+=e[n].height;this.height=t}function So(e){this.children=e;for(var t=0,n=0,i=0;i<e.length;++i){var r=e[i];t+=r.chunkSize(),n+=r.height,r.parent=this}this.size=t,this.height=n,this.parent=null}Ir.prototype.from=function(){return ut(this.anchor,this.head)},Ir.prototype.to=function(){return ct(this.anchor,this.head)},Ir.prototype.empty=function(){return this.head.line==this.anchor.line&&this.head.ch==this.anchor.ch},Ao.prototype={chunkSize:function(){return this.lines.length},removeInner:function(e,t){for(var n=e,i=e+t;n<i;++n){var r=this.lines[n];this.height-=r.height,Qt(r),hn(r,"delete")}this.lines.splice(e,t)},collapse:function(e){e.push.apply(e,this.lines)},insertInner:function(e,t,n){this.height+=n,this.lines=this.lines.slice(0,e).concat(t).concat(this.lines.slice(e));for(var i=0;i<t.length;++i)t[i].parent=this},iterN:function(e,t,n){for(var i=e+t;e<i;++e)if(n(this.lines[e]))return!0}},So.prototype={chunkSize:function(){return this.size},removeInner:function(e,t){this.size-=t;for(var n=0;n<this.children.length;++n){var i=this.children[n],r=i.chunkSize();if(e<r){var o=Math.min(t,r-e),s=i.height;if(i.removeInner(e,o),this.height-=s-i.height,r==o&&(this.children.splice(n--,1),i.parent=null),0==(t-=o))break;e=0}else e-=r}if(this.size-t<25&&(this.children.length>1||!(this.children[0]instanceof Ao))){var a=[];this.collapse(a),this.children=[new Ao(a)],this.children[0].parent=this}},collapse:function(e){for(var t=0;t<this.children.length;++t)this.children[t].collapse(e)},insertInner:function(e,t,n){this.size+=t.length,this.height+=n;for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(e<=o){if(r.insertInner(e,t,n),r.lines&&r.lines.length>50){for(var s=r.lines.length%25+25,a=s;a<r.lines.length;){var l=new Ao(r.lines.slice(a,a+=25));r.height-=l.height,this.children.splice(++i,0,l),l.parent=this}r.lines=r.lines.slice(0,s),this.maybeSpill()}break}e-=o}},maybeSpill:function(){if(!(this.children.length<=10)){var e=this;do{var t=new So(e.children.splice(e.children.length-5,5));if(e.parent){e.size-=t.size,e.height-=t.height;var n=H(e.parent.children,e);e.parent.children.splice(n+1,0,t)}else{var i=new So(e.children);i.parent=e,e.children=[i,t],e=i}t.parent=e.parent}while(e.children.length>10);e.parent.maybeSpill()}},iterN:function(e,t,n){for(var i=0;i<this.children.length;++i){var r=this.children[i],o=r.chunkSize();if(e<o){var s=Math.min(t,o-e);if(r.iterN(e,s,n))return!0;if(0==(t-=s))break;e=0}else e-=o}}};var Eo=function(e,t,n){if(n)for(var i in n)n.hasOwnProperty(i)&&(this[i]=n[i]);this.doc=e,this.node=t};function Io(e,t,n){Kt(t)<(e.curOp&&e.curOp.scrollTop||e.doc.scrollTop)&&Oi(e,n)}Eo.prototype.clear=function(){var e=this.doc.cm,t=this.line.widgets,n=this.line,i=tt(n);if(null!=i&&t){for(var r=0;r<t.length;++r)t[r]==this&&t.splice(r--,1);t.length||(n.widgets=null);var o=Sn(this);et(n,Math.max(0,n.height-o)),e&&(rr(e,function(){Io(e,n,-o),mi(e,i,"widget")}),hn(e,"lineWidgetCleared",e,this,i))}},Eo.prototype.changed=function(){var e=this,t=this.height,n=this.doc.cm,i=this.line;this.height=null;var r=Sn(this)-t;r&&(Ut(this.doc,i)||et(i,i.height+r),n&&rr(n,function(){n.curOp.forceUpdate=!0,Io(n,i,r),hn(n,"lineWidgetChanged",n,e,tt(i))}))},ke(Eo);var To=0,Mo=function(e,t){this.lines=[],this.type=t,this.doc=e,this.id=++To};function Po(e,t,n,i,r){if(i&&i.shared)return function(e,t,n,i,r){(i=G(i)).shared=!1;var o=[Po(e,t,n,i,r)],s=o[0],a=i.widgetNode;return Nr(e,function(e){a&&(i.widgetNode=a.cloneNode(!0)),o.push(Po(e,pt(e,t),pt(e,n),i,r));for(var l=0;l<e.linked.length;++l)if(e.linked[l].isParent)return;s=J(o)}),new Ro(o,s)}(e,t,n,i,r);if(e.cm&&!e.cm.curOp)return or(e.cm,Po)(e,t,n,i,r);var o=new Mo(e,r),s=st(t,n);if(i&&G(i,o,!1),s>0||0==s&&!1!==o.clearWhenEmpty)return o;if(o.replacedWith&&(o.collapsed=!0,o.widgetNode=P("span",[o.replacedWith],"CodeMirror-widget"),i.handleMouseEvents||o.widgetNode.setAttribute("cm-ignore-events","true"),i.insertLeft&&(o.widgetNode.insertLeft=!0)),o.collapsed){if(Gt(e,t.line,t,n,o)||t.line!=n.line&&Gt(e,n.line,t,n,o))throw new Error("Inserting collapsed marker partially overlapping an existing one");Et=!0}o.addToHistory&&Hr(e,{from:t,to:n,origin:"markText"},e.sel,NaN);var a,l=t.line,c=e.cm;if(e.iter(l,n.line+1,function(i){c&&o.collapsed&&!c.options.lineWrapping&&Vt(i)==c.display.maxLine&&(a=!0),o.collapsed&&l!=t.line&&et(i,0),function(e,t,n){var i=n&&window.WeakSet&&(n.markedSpans||(n.markedSpans=new WeakSet));i&&e.markedSpans&&i.has(e.markedSpans)?e.markedSpans.push(t):(e.markedSpans=e.markedSpans?e.markedSpans.concat([t]):[t],i&&i.add(e.markedSpans)),t.marker.attachLine(e)}(i,new It(o,l==t.line?t.ch:null,l==n.line?n.ch:null),e.cm&&e.cm.curOp),++l}),o.collapsed&&e.iter(t.line,n.line+1,function(t){Ut(e,t)&&et(t,0)}),o.clearOnEnter&&ge(o,"beforeCursorEnter",function(){return o.clear()}),o.readOnly&&(St=!0,(e.history.done.length||e.history.undone.length)&&e.clearHistory()),o.collapsed&&(o.id=++To,o.atomic=!0),c){if(a&&(c.curOp.updateMaxLine=!0),o.collapsed)gi(c,t.line,n.line+1);else if(o.className||o.startStyle||o.endStyle||o.css||o.attributes||o.title)for(var u=t.line;u<=n.line;u++)mi(c,u,"text");o.atomic&&ao(c.doc),hn(c,"markerAdded",c,o)}return o}Mo.prototype.clear=function(){if(!this.explicitlyCleared){var e=this.doc.cm,t=e&&!e.curOp;if(t&&Yi(e),we(this,"clear")){var n=this.find();n&&hn(this,"clear",n.from,n.to)}for(var i=null,r=null,o=0;o<this.lines.length;++o){var s=this.lines[o],a=Tt(s.markedSpans,this);e&&!this.collapsed?mi(e,tt(s),"text"):e&&(null!=a.to&&(r=tt(s)),null!=a.from&&(i=tt(s))),s.markedSpans=Mt(s.markedSpans,a),null==a.from&&this.collapsed&&!Ut(this.doc,s)&&e&&et(s,li(e.display))}if(e&&this.collapsed&&!e.options.lineWrapping)for(var l=0;l<this.lines.length;++l){var c=Vt(this.lines[l]),u=Xt(c);u>e.display.maxLineLength&&(e.display.maxLine=c,e.display.maxLineLength=u,e.display.maxLineChanged=!0)}null!=i&&e&&this.collapsed&&gi(e,i,r+1),this.lines.length=0,this.explicitlyCleared=!0,this.atomic&&this.doc.cantEdit&&(this.doc.cantEdit=!1,e&&ao(e.doc)),e&&hn(e,"markerCleared",e,this,i,r),t&&Qi(e),this.parent&&this.parent.clear()}},Mo.prototype.find=function(e,t){var n,i;null==e&&"bookmark"==this.type&&(e=1);for(var r=0;r<this.lines.length;++r){var o=this.lines[r],s=Tt(o.markedSpans,this);if(null!=s.from&&(n=ot(t?o:tt(o),s.from),-1==e))return n;if(null!=s.to&&(i=ot(t?o:tt(o),s.to),1==e))return i}return n&&{from:n,to:i}},Mo.prototype.changed=function(){var e=this,t=this.find(-1,!0),n=this,i=this.doc.cm;t&&i&&rr(i,function(){var r=t.line,o=tt(t.line),s=Fn(i,o);if(s&&(Vn(s),i.curOp.selectionChanged=i.curOp.forceUpdate=!0),i.curOp.updateMaxLine=!0,!Ut(n.doc,r)&&null!=n.height){var a=n.height;n.height=null;var l=Sn(n)-a;l&&et(r,r.height+l)}hn(i,"markerChanged",i,e)})},Mo.prototype.attachLine=function(e){if(!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;t.maybeHiddenMarkers&&-1!=H(t.maybeHiddenMarkers,this)||(t.maybeUnhiddenMarkers||(t.maybeUnhiddenMarkers=[])).push(this)}this.lines.push(e)},Mo.prototype.detachLine=function(e){if(this.lines.splice(H(this.lines,e),1),!this.lines.length&&this.doc.cm){var t=this.doc.cm.curOp;(t.maybeHiddenMarkers||(t.maybeHiddenMarkers=[])).push(this)}},ke(Mo);var Ro=function(e,t){this.markers=e,this.primary=t;for(var n=0;n<e.length;++n)e[n].parent=this};function zo(e){return e.findMarks(ot(e.first,0),e.clipPos(ot(e.lastLine())),function(e){return e.parent})}function Lo(e){for(var t=function(t){var n=e[t],i=[n.primary.doc];Nr(n.primary.doc,function(e){return i.push(e)});for(var r=0;r<n.markers.length;r++){var o=n.markers[r];-1==H(i,o.doc)&&(o.parent=null,n.markers.splice(r--,1))}},n=0;n<e.length;n++)t(n)}Ro.prototype.clear=function(){if(!this.explicitlyCleared){this.explicitlyCleared=!0;for(var e=0;e<this.markers.length;++e)this.markers[e].clear();hn(this,"clear")}},Ro.prototype.find=function(e,t){return this.primary.find(e,t)},ke(Ro);var Oo=0,Fo=function(e,t,n,i,r){if(!(this instanceof Fo))return new Fo(e,t,n,i,r);null==n&&(n=0),So.call(this,[new Ao([new Yt("",null)])]),this.first=n,this.scrollTop=this.scrollLeft=0,this.cantEdit=!1,this.cleanGeneration=1,this.modeFrontier=this.highlightFrontier=n;var o=ot(n,0);this.sel=Mr(o),this.history=new Gr(null),this.id=++Oo,this.modeOption=t,this.lineSep=i,this.direction="rtl"==r?"rtl":"ltr",this.extend=!1,"string"==typeof e&&(e=this.splitLines(e)),Dr(this,{from:o,to:o,text:e}),ro(this,Mr(o),$)};Fo.prototype=ne(So.prototype,{constructor:Fo,iter:function(e,t,n){n?this.iterN(e-this.first,t-e,n):this.iterN(this.first,this.first+this.size,e)},insert:function(e,t){for(var n=0,i=0;i<t.length;++i)n+=t[i].height;this.insertInner(e-this.first,t,n)},remove:function(e,t){this.removeInner(e-this.first,t)},getValue:function(e){var t=Je(this,this.first,this.first+this.size);return!1===e?t:t.join(e||this.lineSeparator())},setValue:ar(function(e){var t=ot(this.first,0),n=this.first+this.size-1;_o(this,{from:t,to:ot(n,Ye(this,n).text.length),text:this.splitLines(e),origin:"setValue",full:!0},!0),this.cm&&ji(this.cm,0,0),ro(this,Mr(t),$)}),replaceRange:function(e,t,n,i){bo(this,e,t=pt(this,t),n=n?pt(this,n):t,i)},getRange:function(e,t,n){var i=Qe(this,pt(this,e),pt(this,t));return!1===n?i:""===n?i.join(""):i.join(n||this.lineSeparator())},getLine:function(e){var t=this.getLineHandle(e);return t&&t.text},getLineHandle:function(e){if(it(this,e))return Ye(this,e)},getLineNumber:function(e){return tt(e)},getLineHandleVisualStart:function(e){return"number"==typeof e&&(e=Ye(this,e)),Vt(e)},lineCount:function(){return this.size},firstLine:function(){return this.first},lastLine:function(){return this.first+this.size-1},clipPos:function(e){return pt(this,e)},getCursor:function(e){var t=this.sel.primary();return null==e||"head"==e?t.head:"anchor"==e?t.anchor:"end"==e||"to"==e||!1===e?t.to():t.from()},listSelections:function(){return this.sel.ranges},somethingSelected:function(){return this.sel.somethingSelected()},setCursor:ar(function(e,t,n){no(this,pt(this,"number"==typeof e?ot(e,t||0):e),null,n)}),setSelection:ar(function(e,t,n){no(this,pt(this,e),pt(this,t||e),n)}),extendSelection:ar(function(e,t,n){Jr(this,pt(this,e),t&&pt(this,t),n)}),extendSelections:ar(function(e,t){eo(this,ht(this,e),t)}),extendSelectionsBy:ar(function(e,t){eo(this,ht(this,ee(this.sel.ranges,e)),t)}),setSelections:ar(function(e,t,n){if(e.length){for(var i=[],r=0;r<e.length;r++)i[r]=new Ir(pt(this,e[r].anchor),pt(this,e[r].head||e[r].anchor));null==t&&(t=Math.min(e.length-1,this.sel.primIndex)),ro(this,Tr(this.cm,i,t),n)}}),addSelection:ar(function(e,t,n){var i=this.sel.ranges.slice(0);i.push(new Ir(pt(this,e),pt(this,t||e))),ro(this,Tr(this.cm,i,i.length-1),n)}),getSelection:function(e){for(var t,n=this.sel.ranges,i=0;i<n.length;i++){var r=Qe(this,n[i].from(),n[i].to());t=t?t.concat(r):r}return!1===e?t:t.join(e||this.lineSeparator())},getSelections:function(e){for(var t=[],n=this.sel.ranges,i=0;i<n.length;i++){var r=Qe(this,n[i].from(),n[i].to());!1!==e&&(r=r.join(e||this.lineSeparator())),t[i]=r}return t},replaceSelection:function(e,t,n){for(var i=[],r=0;r<this.sel.ranges.length;r++)i[r]=e;this.replaceSelections(i,t,n||"+input")},replaceSelections:ar(function(e,t,n){for(var i=[],r=this.sel,o=0;o<r.ranges.length;o++){var s=r.ranges[o];i[o]={from:s.from(),to:s.to(),text:this.splitLines(e[o]),origin:n}}for(var a=t&&"end"!=t&&function(e,t,n){for(var i=[],r=ot(e.first,0),o=r,s=0;s<t.length;s++){var a=t[s],l=Lr(a.from,r,o),c=Lr(Pr(a),r,o);if(r=a.to,o=c,"around"==n){var u=e.sel.ranges[s],d=st(u.head,u.anchor)<0;i[s]=new Ir(d?c:l,d?l:c)}else i[s]=new Ir(l,l)}return new Er(i,e.sel.primIndex)}(this,i,t),l=i.length-1;l>=0;l--)_o(this,i[l]);a?io(this,a):this.cm&&Fi(this.cm)}),undo:ar(function(){mo(this,"undo")}),redo:ar(function(){mo(this,"redo")}),undoSelection:ar(function(){mo(this,"undo",!0)}),redoSelection:ar(function(){mo(this,"redo",!0)}),setExtending:function(e){this.extend=e},getExtending:function(){return this.extend},historySize:function(){for(var e=this.history,t=0,n=0,i=0;i<e.done.length;i++)e.done[i].ranges||++t;for(var r=0;r<e.undone.length;r++)e.undone[r].ranges||++n;return{undo:t,redo:n}},clearHistory:function(){var e=this;this.history=new Gr(this.history),Nr(this,function(t){return t.history=e.history},!0)},markClean:function(){this.cleanGeneration=this.changeGeneration(!0)},changeGeneration:function(e){return e&&(this.history.lastOp=this.history.lastSelOp=this.history.lastOrigin=null),this.history.generation},isClean:function(e){return this.history.generation==(e||this.cleanGeneration)},getHistory:function(){return{done:Yr(this.history.done),undone:Yr(this.history.undone)}},setHistory:function(e){var t=this.history=new Gr(this.history);t.done=Yr(e.done.slice(0),null,!0),t.undone=Yr(e.undone.slice(0),null,!0)},setGutterMarker:ar(function(e,t,n){return Co(this,e,"gutter",function(e){var i=e.gutterMarkers||(e.gutterMarkers={});return i[t]=n,!n&&se(i)&&(e.gutterMarkers=null),!0})}),clearGutter:ar(function(e){var t=this;this.iter(function(n){n.gutterMarkers&&n.gutterMarkers[e]&&Co(t,n,"gutter",function(){return n.gutterMarkers[e]=null,se(n.gutterMarkers)&&(n.gutterMarkers=null),!0})})}),lineInfo:function(e){var t;if("number"==typeof e){if(!it(this,e))return null;if(t=e,!(e=Ye(this,e)))return null}else if(null==(t=tt(e)))return null;return{line:t,handle:e,text:e.text,gutterMarkers:e.gutterMarkers,textClass:e.textClass,bgClass:e.bgClass,wrapClass:e.wrapClass,widgets:e.widgets}},addLineClass:ar(function(e,t,n){return Co(this,e,"gutter"==t?"gutter":"class",function(e){var i="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass";if(e[i]){if(A(n).test(e[i]))return!1;e[i]+=" "+n}else e[i]=n;return!0})}),removeLineClass:ar(function(e,t,n){return Co(this,e,"gutter"==t?"gutter":"class",function(e){var i="text"==t?"textClass":"background"==t?"bgClass":"gutter"==t?"gutterClass":"wrapClass",r=e[i];if(!r)return!1;if(null==n)e[i]=null;else{var o=r.match(A(n));if(!o)return!1;var s=o.index+o[0].length;e[i]=r.slice(0,o.index)+(o.index&&s!=r.length?" ":"")+r.slice(s)||null}return!0})}),addLineWidget:ar(function(e,t,n){return function(e,t,n,i){var r=new Eo(e,n,i),o=e.cm;return o&&r.noHScroll&&(o.display.alignWidgets=!0),Co(e,t,"widget",function(t){var n=t.widgets||(t.widgets=[]);if(null==r.insertAt?n.push(r):n.splice(Math.min(n.length,Math.max(0,r.insertAt)),0,r),r.line=t,o&&!Ut(e,t)){var i=Kt(t)<e.scrollTop;et(t,t.height+Sn(r)),i&&Oi(o,r.height),o.curOp.forceUpdate=!0}return!0}),o&&hn(o,"lineWidgetAdded",o,r,"number"==typeof t?t:tt(t)),r}(this,e,t,n)}),removeLineWidget:function(e){e.clear()},markText:function(e,t,n){return Po(this,pt(this,e),pt(this,t),n,n&&n.type||"range")},setBookmark:function(e,t){var n={replacedWith:t&&(null==t.nodeType?t.widget:t),insertLeft:t&&t.insertLeft,clearWhenEmpty:!1,shared:t&&t.shared,handleMouseEvents:t&&t.handleMouseEvents};return Po(this,e=pt(this,e),e,n,"bookmark")},findMarksAt:function(e){var t=[],n=Ye(this,(e=pt(this,e)).line).markedSpans;if(n)for(var i=0;i<n.length;++i){var r=n[i];(null==r.from||r.from<=e.ch)&&(null==r.to||r.to>=e.ch)&&t.push(r.marker.parent||r.marker)}return t},findMarks:function(e,t,n){e=pt(this,e),t=pt(this,t);var i=[],r=e.line;return this.iter(e.line,t.line+1,function(o){var s=o.markedSpans;if(s)for(var a=0;a<s.length;a++){var l=s[a];null!=l.to&&r==e.line&&e.ch>=l.to||null==l.from&&r!=e.line||null!=l.from&&r==t.line&&l.from>=t.ch||n&&!n(l.marker)||i.push(l.marker.parent||l.marker)}++r}),i},getAllMarks:function(){var e=[];return this.iter(function(t){var n=t.markedSpans;if(n)for(var i=0;i<n.length;++i)null!=n[i].from&&e.push(n[i].marker)}),e},posFromIndex:function(e){var t,n=this.first,i=this.lineSeparator().length;return this.iter(function(r){var o=r.text.length+i;if(o>e)return t=e,!0;e-=o,++n}),pt(this,ot(n,t))},indexFromPos:function(e){var t=(e=pt(this,e)).ch;if(e.line<this.first||e.ch<0)return 0;var n=this.lineSeparator().length;return this.iter(this.first,e.line,function(e){t+=e.text.length+n}),t},copy:function(e){var t=new Fo(Je(this,this.first,this.first+this.size),this.modeOption,this.first,this.lineSep,this.direction);return t.scrollTop=this.scrollTop,t.scrollLeft=this.scrollLeft,t.sel=this.sel,t.extend=!1,e&&(t.history.undoDepth=this.history.undoDepth,t.setHistory(this.getHistory())),t},linkedDoc:function(e){e||(e={});var t=this.first,n=this.first+this.size;null!=e.from&&e.from>t&&(t=e.from),null!=e.to&&e.to<n&&(n=e.to);var i=new Fo(Je(this,t,n),e.mode||this.modeOption,t,this.lineSep,this.direction);return e.sharedHist&&(i.history=this.history),(this.linked||(this.linked=[])).push({doc:i,sharedHist:e.sharedHist}),i.linked=[{doc:this,isParent:!0,sharedHist:e.sharedHist}],function(e,t){for(var n=0;n<t.length;n++){var i=t[n],r=i.find(),o=e.clipPos(r.from),s=e.clipPos(r.to);if(st(o,s)){var a=Po(e,o,s,i.primary,i.primary.type);i.markers.push(a),a.parent=i}}}(i,zo(this)),i},unlinkDoc:function(e){if(e instanceof Rs&&(e=e.doc),this.linked)for(var t=0;t<this.linked.length;++t)if(this.linked[t].doc==e){this.linked.splice(t,1),e.unlinkDoc(this),Lo(zo(this));break}if(e.history==this.history){var n=[e.id];Nr(e,function(e){return n.push(e.id)},!0),e.history=new Gr(null),e.history.done=Yr(this.history.done,n),e.history.undone=Yr(this.history.undone,n)}},iterLinkedDocs:function(e){Nr(this,e)},getMode:function(){return this.mode},getEditor:function(){return this.cm},splitLines:function(e){return this.lineSep?e.split(this.lineSep):Fe(e)},lineSeparator:function(){return this.lineSep||"\n"},setDirection:ar(function(e){var t;"rtl"!=e&&(e="ltr"),e!=this.direction&&(this.direction=e,this.iter(function(e){return e.order=null}),this.cm&&rr(t=this.cm,function(){qr(t),gi(t)}))})}),Fo.prototype.eachLine=Fo.prototype.iter;var jo=0;function Do(e){var t=this;if(No(t),!be(t,e)&&!En(t.display,e)){Ce(e),s&&(jo=+new Date);var n=fi(t,e,!0),i=e.dataTransfer.files;if(n&&!t.isReadOnly())if(i&&i.length&&window.FileReader&&window.File)for(var r=i.length,o=Array(r),a=0,l=function(){++a==r&&or(t,function(){var e={from:n=pt(t.doc,n),to:n,text:t.doc.splitLines(o.filter(function(e){return null!=e}).join(t.doc.lineSeparator())),origin:"paste"};_o(t.doc,e),io(t.doc,Mr(pt(t.doc,n),pt(t.doc,Pr(e))))})()},c=function(e,n){if(t.options.allowDropFileTypes&&-1==H(t.options.allowDropFileTypes,e.type))l();else{var i=new FileReader;i.onerror=function(){return l()},i.onload=function(){var e=i.result;/[\x00-\x08\x0e-\x1f]{2}/.test(e)||(o[n]=e),l()},i.readAsText(e)}},u=0;u<i.length;u++)c(i[u],u);else{if(t.state.draggingText&&t.doc.sel.contains(n)>-1)return t.state.draggingText(e),void setTimeout(function(){return t.display.input.focus()},20);try{var d=e.dataTransfer.getData("Text");if(d){var p;if(t.state.draggingText&&!t.state.draggingText.copy&&(p=t.listSelections()),oo(t.doc,Mr(n,n)),p)for(var h=0;h<p.length;++h)bo(t.doc,"",p[h].anchor,p[h].head,"drag");t.replaceSelection(d,"around","paste"),t.display.input.focus()}}catch(e){}}}}function No(e){e.display.dragCursor&&(e.display.lineSpace.removeChild(e.display.dragCursor),e.display.dragCursor=null)}function Bo(e){if(document.getElementsByClassName){for(var t=document.getElementsByClassName("CodeMirror"),n=[],i=0;i<t.length;i++){var r=t[i].CodeMirror;r&&n.push(r)}n.length&&n[0].operation(function(){for(var t=0;t<n.length;t++)e(n[t])})}}var qo=!1;function Go(){var e;qo||(ge(window,"resize",function(){null==e&&(e=setTimeout(function(){e=null,Bo(Vo)},100))}),ge(window,"blur",function(){return Bo(Mi)}),qo=!0)}function Vo(e){var t=e.display;t.cachedCharWidth=t.cachedTextHeight=t.cachedPaddingH=null,t.scrollbarsClipped=!1,e.setSize()}for(var Wo={3:"Pause",8:"Backspace",9:"Tab",13:"Enter",16:"Shift",17:"Ctrl",18:"Alt",19:"Pause",20:"CapsLock",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"PrintScrn",45:"Insert",46:"Delete",59:";",61:"=",91:"Mod",92:"Mod",93:"Mod",106:"*",107:"=",109:"-",110:".",111:"/",145:"ScrollLock",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",224:"Mod",63232:"Up",63233:"Down",63234:"Left",63235:"Right",63272:"Delete",63273:"Home",63275:"End",63276:"PageUp",63277:"PageDown",63302:"Insert"},Ho=0;Ho<10;Ho++)Wo[Ho+48]=Wo[Ho+96]=String(Ho);for(var Uo=65;Uo<=90;Uo++)Wo[Uo]=String.fromCharCode(Uo);for(var $o=1;$o<=12;$o++)Wo[$o+111]=Wo[$o+63235]="F"+$o;var Ko={};function Xo(e){var t,n,i,r,o=e.split(/-(?!$)/);e=o[o.length-1];for(var s=0;s<o.length-1;s++){var a=o[s];if(/^(cmd|meta|m)$/i.test(a))r=!0;else if(/^a(lt)?$/i.test(a))t=!0;else if(/^(c|ctrl|control)$/i.test(a))n=!0;else{if(!/^s(hift)?$/i.test(a))throw new Error("Unrecognized modifier name: "+a);i=!0}}return t&&(e="Alt-"+e),n&&(e="Ctrl-"+e),r&&(e="Cmd-"+e),i&&(e="Shift-"+e),e}function Zo(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var i=e[n];if(/^(name|fallthrough|(de|at)tach)$/.test(n))continue;if("..."==i){delete e[n];continue}for(var r=ee(n.split(" "),Xo),o=0;o<r.length;o++){var s=void 0,a=void 0;o==r.length-1?(a=r.join(" "),s=i):(a=r.slice(0,o+1).join(" "),s="...");var l=t[a];if(l){if(l!=s)throw new Error("Inconsistent bindings for "+a)}else t[a]=s}delete e[n]}for(var c in t)e[c]=t[c];return e}function Yo(e,t,n,i){var r=(t=ts(t)).call?t.call(e,i):t[e];if(!1===r)return"nothing";if("..."===r)return"multi";if(null!=r&&n(r))return"handled";if(t.fallthrough){if("[object Array]"!=Object.prototype.toString.call(t.fallthrough))return Yo(e,t.fallthrough,n,i);for(var o=0;o<t.fallthrough.length;o++){var s=Yo(e,t.fallthrough[o],n,i);if(s)return s}}}function Qo(e){var t="string"==typeof e?e:Wo[e.keyCode];return"Ctrl"==t||"Alt"==t||"Shift"==t||"Mod"==t}function Jo(e,t,n){var i=e;return t.altKey&&"Alt"!=i&&(e="Alt-"+e),(k?t.metaKey:t.ctrlKey)&&"Ctrl"!=i&&(e="Ctrl-"+e),(k?t.ctrlKey:t.metaKey)&&"Mod"!=i&&(e="Cmd-"+e),!n&&t.shiftKey&&"Shift"!=i&&(e="Shift-"+e),e}function es(e,t){if(p&&34==e.keyCode&&e.char)return!1;var n=Wo[e.keyCode];return null!=n&&!e.altGraphKey&&(3==e.keyCode&&e.code&&(n=e.code),Jo(n,e,t))}function ts(e){return"string"==typeof e?Ko[e]:e}function ns(e,t){for(var n=e.doc.sel.ranges,i=[],r=0;r<n.length;r++){for(var o=t(n[r]);i.length&&st(o.from,J(i).to)<=0;){var s=i.pop();if(st(s.from,o.from)<0){o.from=s.from;break}}i.push(o)}rr(e,function(){for(var t=i.length-1;t>=0;t--)bo(e.doc,"",i[t].from,i[t].to,"+delete");Fi(e)})}function is(e,t,n){var i=ce(e.text,t+n,n);return i<0||i>e.text.length?null:i}function rs(e,t,n){var i=is(e,t.ch,n);return null==i?null:new ot(t.line,i,n<0?"after":"before")}function os(e,t,n,i,r){if(e){"rtl"==t.doc.direction&&(r=-r);var o=fe(n,t.doc.direction);if(o){var s,a=r<0?J(o):o[0],l=r<0==(1==a.level)?"after":"before";if(a.level>0||"rtl"==t.doc.direction){var c=jn(t,n);s=r<0?n.text.length-1:0;var u=Dn(t,c,s).top;s=ue(function(e){return Dn(t,c,e).top==u},r<0==(1==a.level)?a.from:a.to-1,s),"before"==l&&(s=is(n,s,1))}else s=r<0?a.to:a.from;return new ot(i,s,l)}}return new ot(i,r<0?n.text.length:0,r<0?"before":"after")}Ko.basic={Left:"goCharLeft",Right:"goCharRight",Up:"goLineUp",Down:"goLineDown",End:"goLineEnd",Home:"goLineStartSmart",PageUp:"goPageUp",PageDown:"goPageDown",Delete:"delCharAfter",Backspace:"delCharBefore","Shift-Backspace":"delCharBefore",Tab:"defaultTab","Shift-Tab":"indentAuto",Enter:"newlineAndIndent",Insert:"toggleOverwrite",Esc:"singleSelection"},Ko.pcDefault={"Ctrl-A":"selectAll","Ctrl-D":"deleteLine","Ctrl-Z":"undo","Shift-Ctrl-Z":"redo","Ctrl-Y":"redo","Ctrl-Home":"goDocStart","Ctrl-End":"goDocEnd","Ctrl-Up":"goLineUp","Ctrl-Down":"goLineDown","Ctrl-Left":"goGroupLeft","Ctrl-Right":"goGroupRight","Alt-Left":"goLineStart","Alt-Right":"goLineEnd","Ctrl-Backspace":"delGroupBefore","Ctrl-Delete":"delGroupAfter","Ctrl-S":"save","Ctrl-F":"find","Ctrl-G":"findNext","Shift-Ctrl-G":"findPrev","Shift-Ctrl-F":"replace","Shift-Ctrl-R":"replaceAll","Ctrl-[":"indentLess","Ctrl-]":"indentMore","Ctrl-U":"undoSelection","Shift-Ctrl-U":"redoSelection","Alt-U":"redoSelection",fallthrough:"basic"},Ko.emacsy={"Ctrl-F":"goCharRight","Ctrl-B":"goCharLeft","Ctrl-P":"goLineUp","Ctrl-N":"goLineDown","Ctrl-A":"goLineStart","Ctrl-E":"goLineEnd","Ctrl-V":"goPageDown","Shift-Ctrl-V":"goPageUp","Ctrl-D":"delCharAfter","Ctrl-H":"delCharBefore","Alt-Backspace":"delWordBefore","Ctrl-K":"killLine","Ctrl-T":"transposeChars","Ctrl-O":"openLine"},Ko.macDefault={"Cmd-A":"selectAll","Cmd-D":"deleteLine","Cmd-Z":"undo","Shift-Cmd-Z":"redo","Cmd-Y":"redo","Cmd-Home":"goDocStart","Cmd-Up":"goDocStart","Cmd-End":"goDocEnd","Cmd-Down":"goDocEnd","Alt-Left":"goGroupLeft","Alt-Right":"goGroupRight","Cmd-Left":"goLineLeft","Cmd-Right":"goLineRight","Alt-Backspace":"delGroupBefore","Ctrl-Alt-Backspace":"delGroupAfter","Alt-Delete":"delGroupAfter","Cmd-S":"save","Cmd-F":"find","Cmd-G":"findNext","Shift-Cmd-G":"findPrev","Cmd-Alt-F":"replace","Shift-Cmd-Alt-F":"replaceAll","Cmd-[":"indentLess","Cmd-]":"indentMore","Cmd-Backspace":"delWrappedLineLeft","Cmd-Delete":"delWrappedLineRight","Cmd-U":"undoSelection","Shift-Cmd-U":"redoSelection","Ctrl-Up":"goDocStart","Ctrl-Down":"goDocEnd",fallthrough:["basic","emacsy"]},Ko.default=v?Ko.macDefault:Ko.pcDefault;var ss={selectAll:ho,singleSelection:function(e){return e.setSelection(e.getCursor("anchor"),e.getCursor("head"),$)},killLine:function(e){return ns(e,function(t){if(t.empty()){var n=Ye(e.doc,t.head.line).text.length;return t.head.ch==n&&t.head.line<e.lastLine()?{from:t.head,to:ot(t.head.line+1,0)}:{from:t.head,to:ot(t.head.line,n)}}return{from:t.from(),to:t.to()}})},deleteLine:function(e){return ns(e,function(t){return{from:ot(t.from().line,0),to:pt(e.doc,ot(t.to().line+1,0))}})},delLineLeft:function(e){return ns(e,function(e){return{from:ot(e.from().line,0),to:e.from()}})},delWrappedLineLeft:function(e){return ns(e,function(t){var n=e.charCoords(t.head,"div").top+5;return{from:e.coordsChar({left:0,top:n},"div"),to:t.from()}})},delWrappedLineRight:function(e){return ns(e,function(t){var n=e.charCoords(t.head,"div").top+5,i=e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div");return{from:t.from(),to:i}})},undo:function(e){return e.undo()},redo:function(e){return e.redo()},undoSelection:function(e){return e.undoSelection()},redoSelection:function(e){return e.redoSelection()},goDocStart:function(e){return e.extendSelection(ot(e.firstLine(),0))},goDocEnd:function(e){return e.extendSelection(ot(e.lastLine()))},goLineStart:function(e){return e.extendSelectionsBy(function(t){return as(e,t.head.line)},{origin:"+move",bias:1})},goLineStartSmart:function(e){return e.extendSelectionsBy(function(t){return ls(e,t.head)},{origin:"+move",bias:1})},goLineEnd:function(e){return e.extendSelectionsBy(function(t){return function(e,t){var n=Ye(e.doc,t),i=function(e){for(var t;t=Bt(e);)e=t.find(1,!0).line;return e}(n);return i!=n&&(t=tt(i)),os(!0,e,n,t,-1)}(e,t.head.line)},{origin:"+move",bias:-1})},goLineRight:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:e.display.lineDiv.offsetWidth+100,top:n},"div")},X)},goLineLeft:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5;return e.coordsChar({left:0,top:n},"div")},X)},goLineLeftSmart:function(e){return e.extendSelectionsBy(function(t){var n=e.cursorCoords(t.head,"div").top+5,i=e.coordsChar({left:0,top:n},"div");return i.ch<e.getLine(i.line).search(/\S/)?ls(e,t.head):i},X)},goLineUp:function(e){return e.moveV(-1,"line")},goLineDown:function(e){return e.moveV(1,"line")},goPageUp:function(e){return e.moveV(-1,"page")},goPageDown:function(e){return e.moveV(1,"page")},goCharLeft:function(e){return e.moveH(-1,"char")},goCharRight:function(e){return e.moveH(1,"char")},goColumnLeft:function(e){return e.moveH(-1,"column")},goColumnRight:function(e){return e.moveH(1,"column")},goWordLeft:function(e){return e.moveH(-1,"word")},goGroupRight:function(e){return e.moveH(1,"group")},goGroupLeft:function(e){return e.moveH(-1,"group")},goWordRight:function(e){return e.moveH(1,"word")},delCharBefore:function(e){return e.deleteH(-1,"codepoint")},delCharAfter:function(e){return e.deleteH(1,"char")},delWordBefore:function(e){return e.deleteH(-1,"word")},delWordAfter:function(e){return e.deleteH(1,"word")},delGroupBefore:function(e){return e.deleteH(-1,"group")},delGroupAfter:function(e){return e.deleteH(1,"group")},indentAuto:function(e){return e.indentSelection("smart")},indentMore:function(e){return e.indentSelection("add")},indentLess:function(e){return e.indentSelection("subtract")},insertTab:function(e){return e.replaceSelection("\t")},insertSoftTab:function(e){for(var t=[],n=e.listSelections(),i=e.options.tabSize,r=0;r<n.length;r++){var o=n[r].from(),s=V(e.getLine(o.line),o.ch,i);t.push(Q(i-s%i))}e.replaceSelections(t)},defaultTab:function(e){e.somethingSelected()?e.indentSelection("add"):e.execCommand("insertTab")},transposeChars:function(e){return rr(e,function(){for(var t=e.listSelections(),n=[],i=0;i<t.length;i++)if(t[i].empty()){var r=t[i].head,o=Ye(e.doc,r.line).text;if(o)if(r.ch==o.length&&(r=new ot(r.line,r.ch-1)),r.ch>0)r=new ot(r.line,r.ch+1),e.replaceRange(o.charAt(r.ch-1)+o.charAt(r.ch-2),ot(r.line,r.ch-2),r,"+transpose");else if(r.line>e.doc.first){var s=Ye(e.doc,r.line-1).text;s&&(r=new ot(r.line,1),e.replaceRange(o.charAt(0)+e.doc.lineSeparator()+s.charAt(s.length-1),ot(r.line-1,s.length-1),r,"+transpose"))}n.push(new Ir(r,r))}e.setSelections(n)})},newlineAndIndent:function(e){return rr(e,function(){for(var t=e.listSelections(),n=t.length-1;n>=0;n--)e.replaceRange(e.doc.lineSeparator(),t[n].anchor,t[n].head,"+input");t=e.listSelections();for(var i=0;i<t.length;i++)e.indentLine(t[i].from().line,null,!0);Fi(e)})},openLine:function(e){return e.replaceSelection("\n","start")},toggleOverwrite:function(e){return e.toggleOverwrite()}};function as(e,t){var n=Ye(e.doc,t),i=Vt(n);return i!=n&&(t=tt(i)),os(!0,e,i,t,1)}function ls(e,t){var n=as(e,t.line),i=Ye(e.doc,n.line),r=fe(i,e.doc.direction);if(!r||0==r[0].level){var o=Math.max(n.ch,i.text.search(/\S/)),s=t.line==n.line&&t.ch<=o&&t.ch;return ot(n.line,s?0:o,n.sticky)}return n}function cs(e,t,n){if("string"==typeof t&&!(t=ss[t]))return!1;e.display.input.ensurePolled();var i=e.display.shift,r=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),n&&(e.display.shift=!1),r=t(e)!=U}finally{e.display.shift=i,e.state.suppressEdits=!1}return r}var us=new W;function ds(e,t,n,i){var r=e.state.keySeq;if(r){if(Qo(t))return"handled";if(/\'$/.test(t)?e.state.keySeq=null:us.set(50,function(){e.state.keySeq==r&&(e.state.keySeq=null,e.display.input.reset())}),ps(e,r+" "+t,n,i))return!0}return ps(e,t,n,i)}function ps(e,t,n,i){var r=function(e,t,n){for(var i=0;i<e.state.keyMaps.length;i++){var r=Yo(t,e.state.keyMaps[i],n,e);if(r)return r}return e.options.extraKeys&&Yo(t,e.options.extraKeys,n,e)||Yo(t,e.options.keyMap,n,e)}(e,t,i);return"multi"==r&&(e.state.keySeq=t),"handled"==r&&hn(e,"keyHandled",e,t,n),"handled"!=r&&"multi"!=r||(Ce(n),Si(e)),!!r}function hs(e,t){var n=es(t,!0);return!!n&&(t.shiftKey&&!e.state.keySeq?ds(e,"Shift-"+n,t,function(t){return cs(e,t,!0)})||ds(e,n,t,function(t){if("string"==typeof t?/^go[A-Z]/.test(t):t.motion)return cs(e,t)}):ds(e,n,t,function(t){return cs(e,t)}))}var fs=null;function _s(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||(t.curOp.focus=z(D(t)),be(t,e)))){s&&a<11&&27==e.keyCode&&(e.returnValue=!1);var i=e.keyCode;t.display.shift=16==i||e.shiftKey;var r=hs(t,e);p&&(fs=r?i:null,r||88!=i||De||!(v?e.metaKey:e.ctrlKey)||t.replaceSelection("",null,"cut")),n&&!v&&!r&&46==i&&e.shiftKey&&!e.ctrlKey&&document.execCommand&&document.execCommand("cut"),18!=i||/\bCodeMirror-crosshair\b/.test(t.display.lineDiv.className)||function(e){var t=e.display.lineDiv;function n(e){18!=e.keyCode&&e.altKey||(E(t,"CodeMirror-crosshair"),ye(document,"keyup",n),ye(document,"mouseover",n))}L(t,"CodeMirror-crosshair"),ge(document,"keyup",n),ge(document,"mouseover",n)}(t)}}function gs(e){16==e.keyCode&&(this.doc.sel.shift=!1),be(this,e)}function ms(e){var t=this;if(!(e.target&&e.target!=t.display.input.getField()||En(t.display,e)||be(t,e)||e.ctrlKey&&!e.altKey||v&&e.metaKey)){var n=e.keyCode,i=e.charCode;if(p&&n==fs)return fs=null,void Ce(e);if(!p||e.which&&!(e.which<10)||!hs(t,e)){var r=String.fromCharCode(null==i?n:i);"\b"!=r&&(function(e,t,n){return ds(e,"'"+n+"'",t,function(t){return cs(e,t,!0)})}(t,e,r)||t.display.input.onKeyPress(e))}}}var ys,vs,bs=function(e,t,n){this.time=e,this.pos=t,this.button=n};function xs(e){var t=this,n=t.display;if(!(be(t,e)||n.activeTouch&&n.input.supportsTouch()))if(n.input.ensurePolled(),n.shift=e.shiftKey,En(n,e))l||(n.scroller.draggable=!1,setTimeout(function(){return n.scroller.draggable=!0},100));else if(!Cs(t,e)){var i=fi(t,e),r=Te(e),o=i?function(e,t){var n=+new Date;return vs&&vs.compare(n,e,t)?(ys=vs=null,"triple"):ys&&ys.compare(n,e,t)?(vs=new bs(n,e,t),ys=null,"double"):(ys=new bs(n,e,t),vs=null,"single")}(i,r):"single";B(t).focus(),1==r&&t.state.selectingText&&t.state.selectingText(e),i&&function(e,t,n,i,r){var o="Click";return"double"==i?o="Double"+o:"triple"==i&&(o="Triple"+o),ds(e,Jo(o=(1==t?"Left":2==t?"Middle":"Right")+o,r),r,function(t){if("string"==typeof t&&(t=ss[t]),!t)return!1;var i=!1;try{e.isReadOnly()&&(e.state.suppressEdits=!0),i=t(e,n)!=U}finally{e.state.suppressEdits=!1}return i})}(t,r,i,o,e)||(1==r?i?function(e,t,n,i){s?setTimeout(q(Ei,e),0):e.curOp.focus=z(D(e));var r,o=function(e,t,n){var i=e.getOption("configureMouse"),r=i?i(e,t,n):{};if(null==r.unit){var o=b?n.shiftKey&&n.metaKey:n.altKey;r.unit=o?"rectangle":"single"==t?"char":"double"==t?"word":"line"}return(null==r.extend||e.doc.extend)&&(r.extend=e.doc.extend||n.shiftKey),null==r.addNew&&(r.addNew=v?n.metaKey:n.ctrlKey),null==r.moveOnDrag&&(r.moveOnDrag=!(v?n.altKey:n.ctrlKey)),r}(e,n,i),c=e.doc.sel;e.options.dragDrop&&Re&&!e.isReadOnly()&&"single"==n&&(r=c.contains(t))>-1&&(st((r=c.ranges[r]).from(),t)<0||t.xRel>0)&&(st(r.to(),t)>0||t.xRel<0)?function(e,t,n,i){var r=e.display,o=!1,c=or(e,function(t){l&&(r.scroller.draggable=!1),e.state.draggingText=!1,e.state.delayingBlurEvent&&(e.hasFocus()?e.state.delayingBlurEvent=!1:Ii(e)),ye(r.wrapper.ownerDocument,"mouseup",c),ye(r.wrapper.ownerDocument,"mousemove",u),ye(r.scroller,"dragstart",d),ye(r.scroller,"drop",c),o||(Ce(t),i.addNew||Jr(e.doc,n,null,null,i.extend),l&&!h||s&&9==a?setTimeout(function(){r.wrapper.ownerDocument.body.focus({preventScroll:!0}),r.input.focus()},20):r.input.focus())}),u=function(e){o=o||Math.abs(t.clientX-e.clientX)+Math.abs(t.clientY-e.clientY)>=10},d=function(){return o=!0};l&&(r.scroller.draggable=!0),e.state.draggingText=c,c.copy=!i.moveOnDrag,ge(r.wrapper.ownerDocument,"mouseup",c),ge(r.wrapper.ownerDocument,"mousemove",u),ge(r.scroller,"dragstart",d),ge(r.scroller,"drop",c),e.state.delayingBlurEvent=!0,setTimeout(function(){return r.input.focus()},20),r.scroller.dragDrop&&r.scroller.dragDrop()}(e,i,t,o):function(e,t,n,i){s&&Ii(e);var r=e.display,o=e.doc;Ce(t);var a,l,c=o.sel,u=c.ranges;if(i.addNew&&!i.extend?(l=o.sel.contains(n),a=l>-1?u[l]:new Ir(n,n)):(a=o.sel.primary(),l=o.sel.primIndex),"rectangle"==i.unit)i.addNew||(a=new Ir(n,n)),n=fi(e,t,!0,!0),l=-1;else{var d=ws(e,n,i.unit);a=i.extend?Qr(a,d.anchor,d.head,i.extend):d}i.addNew?-1==l?(l=u.length,ro(o,Tr(e,u.concat([a]),l),{scroll:!1,origin:"*mouse"})):u.length>1&&u[l].empty()&&"char"==i.unit&&!i.extend?(ro(o,Tr(e,u.slice(0,l).concat(u.slice(l+1)),0),{scroll:!1,origin:"*mouse"}),c=o.sel):to(o,l,a,K):(l=0,ro(o,new Er([a],0),K),c=o.sel);var p=n;function h(t){if(0!=st(p,t))if(p=t,"rectangle"==i.unit){for(var r=[],s=e.options.tabSize,u=V(Ye(o,n.line).text,n.ch,s),d=V(Ye(o,t.line).text,t.ch,s),h=Math.min(u,d),f=Math.max(u,d),_=Math.min(n.line,t.line),g=Math.min(e.lastLine(),Math.max(n.line,t.line));_<=g;_++){var m=Ye(o,_).text,y=Z(m,h,s);h==f?r.push(new Ir(ot(_,y),ot(_,y))):m.length>y&&r.push(new Ir(ot(_,y),ot(_,Z(m,f,s))))}r.length||r.push(new Ir(n,n)),ro(o,Tr(e,c.ranges.slice(0,l).concat(r),l),{origin:"*mouse",scroll:!1}),e.scrollIntoView(t)}else{var v,b=a,x=ws(e,t,i.unit),w=b.anchor;st(x.anchor,w)>0?(v=x.head,w=ut(b.from(),x.anchor)):(v=x.anchor,w=ct(b.to(),x.head));var k=c.ranges.slice(0);k[l]=function(e,t){var n=t.anchor,i=t.head,r=Ye(e.doc,n.line);if(0==st(n,i)&&n.sticky==i.sticky)return t;var o=fe(r);if(!o)return t;var s=pe(o,n.ch,n.sticky),a=o[s];if(a.from!=n.ch&&a.to!=n.ch)return t;var l,c=s+(a.from==n.ch==(1!=a.level)?0:1);if(0==c||c==o.length)return t;if(i.line!=n.line)l=(i.line-n.line)*("ltr"==e.doc.direction?1:-1)>0;else{var u=pe(o,i.ch,i.sticky),d=u-s||(i.ch-n.ch)*(1==a.level?-1:1);l=u==c-1||u==c?d<0:d>0}var p=o[c+(l?-1:0)],h=l==(1==p.level),f=h?p.from:p.to,_=h?"after":"before";return n.ch==f&&n.sticky==_?t:new Ir(new ot(n.line,f,_),i)}(e,new Ir(pt(o,w),v)),ro(o,Tr(e,k,l),K)}}var f=r.wrapper.getBoundingClientRect(),_=0;function g(t){var n=++_,s=fi(e,t,!0,"rectangle"==i.unit);if(s)if(0!=st(s,p)){e.curOp.focus=z(D(e)),h(s);var a=zi(r,o);(s.line>=a.to||s.line<a.from)&&setTimeout(or(e,function(){_==n&&g(t)}),150)}else{var l=t.clientY<f.top?-20:t.clientY>f.bottom?20:0;l&&setTimeout(or(e,function(){_==n&&(r.scroller.scrollTop+=l,g(t))}),50)}}function m(t){e.state.selectingText=!1,_=1/0,t&&(Ce(t),r.input.focus()),ye(r.wrapper.ownerDocument,"mousemove",y),ye(r.wrapper.ownerDocument,"mouseup",v),o.history.lastSelOrigin=null}var y=or(e,function(e){0!==e.buttons&&Te(e)?g(e):m(e)}),v=or(e,m);e.state.selectingText=v,ge(r.wrapper.ownerDocument,"mousemove",y),ge(r.wrapper.ownerDocument,"mouseup",v)}(e,i,t,o)}(t,i,o,e):Ie(e)==n.scroller&&Ce(e):2==r?(i&&Jr(t.doc,i),setTimeout(function(){return n.input.focus()},20)):3==r&&(C?t.display.input.onContextMenu(e):Ii(t)))}}function ws(e,t,n){if("char"==n)return new Ir(t,t);if("word"==n)return e.findWordAt(t);if("line"==n)return new Ir(ot(t.line,0),pt(e.doc,ot(t.line+1,0)));var i=n(e,t);return new Ir(i.from,i.to)}function ks(e,t,n,i){var r,o;if(t.touches)r=t.touches[0].clientX,o=t.touches[0].clientY;else try{r=t.clientX,o=t.clientY}catch(e){return!1}if(r>=Math.floor(e.display.gutters.getBoundingClientRect().right))return!1;i&&Ce(t);var s=e.display,a=s.lineDiv.getBoundingClientRect();if(o>a.bottom||!we(e,n))return Se(t);o-=a.top-s.viewOffset;for(var l=0;l<e.display.gutterSpecs.length;++l){var c=s.gutters.childNodes[l];if(c&&c.getBoundingClientRect().right>=r)return ve(e,n,e,nt(e.doc,o),e.display.gutterSpecs[l].className,t),Se(t)}}function Cs(e,t){return ks(e,t,"gutterClick",!0)}function As(e,t){En(e.display,t)||function(e,t){return!!we(e,"gutterContextMenu")&&ks(e,t,"gutterContextMenu",!1)}(e,t)||be(e,t,"contextmenu")||C||e.display.input.onContextMenu(t)}function Ss(e){e.display.wrapper.className=e.display.wrapper.className.replace(/\s*cm-s-\S+/g,"")+e.options.theme.replace(/(^|\s)\s*/g," cm-s-"),Hn(e)}bs.prototype.compare=function(e,t,n){return this.time+400>e&&0==st(t,this.pos)&&n==this.button};var Es={toString:function(){return"CodeMirror.Init"}},Is={},Ts={};function Ms(e,t,n){if(!t!=!(n&&n!=Es)){var i=e.display.dragFunctions,r=t?ge:ye;r(e.display.scroller,"dragstart",i.start),r(e.display.scroller,"dragenter",i.enter),r(e.display.scroller,"dragover",i.over),r(e.display.scroller,"dragleave",i.leave),r(e.display.scroller,"drop",i.drop)}}function Ps(e){e.options.lineWrapping?(L(e.display.wrapper,"CodeMirror-wrap"),e.display.sizer.style.minWidth="",e.display.sizerWidth=null):(E(e.display.wrapper,"CodeMirror-wrap"),Zt(e)),hi(e),gi(e),Hn(e),setTimeout(function(){return Ui(e)},100)}function Rs(e,t){var n=this;if(!(this instanceof Rs))return new Rs(e,t);this.options=t=t?G(t):{},G(Is,t,!1);var i=t.value;"string"==typeof i?i=new Fo(i,t.mode,null,t.lineSeparator,t.direction):t.mode&&(i.modeOption=t.mode),this.doc=i;var r=new Rs.inputStyles[t.inputStyle](this),o=this.display=new xr(e,i,r,t);for(var c in o.wrapper.CodeMirror=this,Ss(this),t.lineWrapping&&(this.display.wrapper.className+=" CodeMirror-wrap"),Xi(this),this.state={keyMaps:[],overlays:[],modeGen:0,overwrite:!1,delayingBlurEvent:!1,focused:!1,suppressEdits:!1,pasteIncoming:-1,cutIncoming:-1,selectingText:!1,draggingText:!1,highlight:new W,keySeq:null,specialChars:null},t.autofocus&&!y&&o.input.focus(),s&&a<11&&setTimeout(function(){return n.display.input.reset(!0)},20),function(e){var t=e.display;ge(t.scroller,"mousedown",or(e,xs)),ge(t.scroller,"dblclick",s&&a<11?or(e,function(t){if(!be(e,t)){var n=fi(e,t);if(n&&!Cs(e,t)&&!En(e.display,t)){Ce(t);var i=e.findWordAt(n);Jr(e.doc,i.anchor,i.head)}}}):function(t){return be(e,t)||Ce(t)}),ge(t.scroller,"contextmenu",function(t){return As(e,t)}),ge(t.input.getField(),"contextmenu",function(n){t.scroller.contains(n.target)||As(e,n)});var n,i={end:0};function r(){t.activeTouch&&(n=setTimeout(function(){return t.activeTouch=null},1e3),(i=t.activeTouch).end=+new Date)}function o(e){if(1!=e.touches.length)return!1;var t=e.touches[0];return t.radiusX<=1&&t.radiusY<=1}function l(e,t){if(null==t.left)return!0;var n=t.left-e.left,i=t.top-e.top;return n*n+i*i>400}ge(t.scroller,"touchstart",function(r){if(!be(e,r)&&!o(r)&&!Cs(e,r)){t.input.ensurePolled(),clearTimeout(n);var s=+new Date;t.activeTouch={start:s,moved:!1,prev:s-i.end<=300?i:null},1==r.touches.length&&(t.activeTouch.left=r.touches[0].pageX,t.activeTouch.top=r.touches[0].pageY)}}),ge(t.scroller,"touchmove",function(){t.activeTouch&&(t.activeTouch.moved=!0)}),ge(t.scroller,"touchend",function(n){var i=t.activeTouch;if(i&&!En(t,n)&&null!=i.left&&!i.moved&&new Date-i.start<300){var o,s=e.coordsChar(t.activeTouch,"page");o=!i.prev||l(i,i.prev)?new Ir(s,s):!i.prev.prev||l(i,i.prev.prev)?e.findWordAt(s):new Ir(ot(s.line,0),pt(e.doc,ot(s.line+1,0))),e.setSelection(o.anchor,o.head),e.focus(),Ce(n)}r()}),ge(t.scroller,"touchcancel",r),ge(t.scroller,"scroll",function(){t.scroller.clientHeight&&(Bi(e,t.scroller.scrollTop),Gi(e,t.scroller.scrollLeft,!0),ve(e,"scroll",e))}),ge(t.scroller,"mousewheel",function(t){return Sr(e,t)}),ge(t.scroller,"DOMMouseScroll",function(t){return Sr(e,t)}),ge(t.wrapper,"scroll",function(){return t.wrapper.scrollTop=t.wrapper.scrollLeft=0}),t.dragFunctions={enter:function(t){be(e,t)||Ee(t)},over:function(t){be(e,t)||(function(e,t){var n=fi(e,t);if(n){var i=document.createDocumentFragment();ki(e,n,i),e.display.dragCursor||(e.display.dragCursor=M("div",null,"CodeMirror-cursors CodeMirror-dragcursors"),e.display.lineSpace.insertBefore(e.display.dragCursor,e.display.cursorDiv)),T(e.display.dragCursor,i)}}(e,t),Ee(t))},start:function(t){return function(e,t){if(s&&(!e.state.draggingText||+new Date-jo<100))Ee(t);else if(!be(e,t)&&!En(e.display,t)&&(t.dataTransfer.setData("Text",e.getSelection()),t.dataTransfer.effectAllowed="copyMove",t.dataTransfer.setDragImage&&!h)){var n=M("img",null,null,"position: fixed; left: 0; top: 0;");n.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==",p&&(n.width=n.height=1,e.display.wrapper.appendChild(n),n._top=n.offsetTop),t.dataTransfer.setDragImage(n,0,0),p&&n.parentNode.removeChild(n)}}(e,t)},drop:or(e,Do),leave:function(t){be(e,t)||No(e)}};var c=t.input.getField();ge(c,"keyup",function(t){return gs.call(e,t)}),ge(c,"keydown",or(e,_s)),ge(c,"keypress",or(e,ms)),ge(c,"focus",function(t){return Ti(e,t)}),ge(c,"blur",function(t){return Mi(e,t)})}(this),Go(),Yi(this),this.curOp.forceUpdate=!0,Br(this,i),t.autofocus&&!y||this.hasFocus()?setTimeout(function(){n.hasFocus()&&!n.state.focused&&Ti(n)},20):Mi(this),Ts)Ts.hasOwnProperty(c)&&Ts[c](this,t[c],Es);mr(this),t.finishInit&&t.finishInit(this);for(var u=0;u<zs.length;++u)zs[u](this);Qi(this),l&&t.lineWrapping&&"optimizelegibility"==getComputedStyle(o.lineDiv).textRendering&&(o.lineDiv.style.textRendering="auto")}Rs.defaults=Is,Rs.optionHandlers=Ts;var zs=[];function Ls(e,t,n,i){var r,o=e.doc;null==n&&(n="add"),"smart"==n&&(o.mode.indent?r=yt(e,t).state:n="prev");var s=e.options.tabSize,a=Ye(o,t),l=V(a.text,null,s);a.stateAfter&&(a.stateAfter=null);var c,u=a.text.match(/^\s*/)[0];if(i||/\S/.test(a.text)){if("smart"==n&&((c=o.mode.indent(r,a.text.slice(u.length),a.text))==U||c>150)){if(!i)return;n="prev"}}else c=0,n="not";"prev"==n?c=t>o.first?V(Ye(o,t-1).text,null,s):0:"add"==n?c=l+e.options.indentUnit:"subtract"==n?c=l-e.options.indentUnit:"number"==typeof n&&(c=l+n),c=Math.max(0,c);var d="",p=0;if(e.options.indentWithTabs)for(var h=Math.floor(c/s);h;--h)p+=s,d+="\t";if(p<c&&(d+=Q(c-p)),d!=u)return bo(o,d,ot(t,0),ot(t,u.length),"+input"),a.stateAfter=null,!0;for(var f=0;f<o.sel.ranges.length;f++){var _=o.sel.ranges[f];if(_.head.line==t&&_.head.ch<u.length){var g=ot(t,u.length);to(o,f,new Ir(g,g));break}}}Rs.defineInitHook=function(e){return zs.push(e)};var Os=null;function Fs(e){Os=e}function js(e,t,n,i,r){var o=e.doc;e.display.shift=!1,i||(i=o.sel);var s=+new Date-200,a="paste"==r||e.state.pasteIncoming>s,l=Fe(t),c=null;if(a&&i.ranges.length>1)if(Os&&Os.text.join("\n")==t){if(i.ranges.length%Os.text.length==0){c=[];for(var u=0;u<Os.text.length;u++)c.push(o.splitLines(Os.text[u]))}}else l.length==i.ranges.length&&e.options.pasteLinesPerSelection&&(c=ee(l,function(e){return[e]}));for(var d=e.curOp.updateInput,p=i.ranges.length-1;p>=0;p--){var h=i.ranges[p],f=h.from(),_=h.to();h.empty()&&(n&&n>0?f=ot(f.line,f.ch-n):e.state.overwrite&&!a?_=ot(_.line,Math.min(Ye(o,_.line).text.length,_.ch+J(l).length)):a&&Os&&Os.lineWise&&Os.text.join("\n")==l.join("\n")&&(f=_=ot(f.line,0)));var g={from:f,to:_,text:c?c[p%c.length]:l,origin:r||(a?"paste":e.state.cutIncoming>s?"cut":"+input")};_o(e.doc,g),hn(e,"inputRead",e,g)}t&&!a&&Ns(e,t),Fi(e),e.curOp.updateInput<2&&(e.curOp.updateInput=d),e.curOp.typing=!0,e.state.pasteIncoming=e.state.cutIncoming=-1}function Ds(e,t){var n=e.clipboardData&&e.clipboardData.getData("Text");if(n)return e.preventDefault(),t.isReadOnly()||t.options.disableInput||!t.hasFocus()||rr(t,function(){return js(t,n,0,null,"paste")}),!0}function Ns(e,t){if(e.options.electricChars&&e.options.smartIndent)for(var n=e.doc.sel,i=n.ranges.length-1;i>=0;i--){var r=n.ranges[i];if(!(r.head.ch>100||i&&n.ranges[i-1].head.line==r.head.line)){var o=e.getModeAt(r.head),s=!1;if(o.electricChars){for(var a=0;a<o.electricChars.length;a++)if(t.indexOf(o.electricChars.charAt(a))>-1){s=Ls(e,r.head.line,"smart");break}}else o.electricInput&&o.electricInput.test(Ye(e.doc,r.head.line).text.slice(0,r.head.ch))&&(s=Ls(e,r.head.line,"smart"));s&&hn(e,"electricInput",e,r.head.line)}}}function Bs(e){for(var t=[],n=[],i=0;i<e.doc.sel.ranges.length;i++){var r=e.doc.sel.ranges[i].head.line,o={anchor:ot(r,0),head:ot(r+1,0)};n.push(o),t.push(e.getRange(o.anchor,o.head))}return{text:t,ranges:n}}function qs(e,t,n,i){e.setAttribute("autocorrect",n?"on":"off"),e.setAttribute("autocapitalize",i?"on":"off"),e.setAttribute("spellcheck",!!t)}function Gs(){var e=M("textarea",null,null,"position: absolute; bottom: -1em; padding: 0; width: 1px; height: 1em; min-height: 1em; outline: none"),t=M("div",[e],null,"overflow: hidden; position: relative; width: 3px; height: 0px;");return l?e.style.width="1000px":e.setAttribute("wrap","off"),g&&(e.style.border="1px solid black"),t}function Vs(e,t,n,i,r){var o=t,s=n,a=Ye(e,t.line),l=r&&"rtl"==e.direction?-n:n;function c(o){var s,c;if("codepoint"==i){var u=a.text.charCodeAt(t.ch+(n>0?0:-1));if(isNaN(u))s=null;else{var d=n>0?u>=55296&&u<56320:u>=56320&&u<57343;s=new ot(t.line,Math.max(0,Math.min(a.text.length,t.ch+n*(d?2:1))),-n)}}else s=r?function(e,t,n,i){var r=fe(t,e.doc.direction);if(!r)return rs(t,n,i);n.ch>=t.text.length?(n.ch=t.text.length,n.sticky="before"):n.ch<=0&&(n.ch=0,n.sticky="after");var o=pe(r,n.ch,n.sticky),s=r[o];if("ltr"==e.doc.direction&&s.level%2==0&&(i>0?s.to>n.ch:s.from<n.ch))return rs(t,n,i);var a,l=function(e,n){return is(t,e instanceof ot?e.ch:e,n)},c=function(n){return e.options.lineWrapping?(a=a||jn(e,t),ii(e,t,a,n)):{begin:0,end:t.text.length}},u=c("before"==n.sticky?l(n,-1):n.ch);if("rtl"==e.doc.direction||1==s.level){var d=1==s.level==i<0,p=l(n,d?1:-1);if(null!=p&&(d?p<=s.to&&p<=u.end:p>=s.from&&p>=u.begin)){var h=d?"before":"after";return new ot(n.line,p,h)}}var f=function(e,t,i){for(var o=function(e,t){return t?new ot(n.line,l(e,1),"before"):new ot(n.line,e,"after")};e>=0&&e<r.length;e+=t){var s=r[e],a=t>0==(1!=s.level),c=a?i.begin:l(i.end,-1);if(s.from<=c&&c<s.to)return o(c,a);if(c=a?s.from:l(s.to,-1),i.begin<=c&&c<i.end)return o(c,a)}},_=f(o+i,i,u);if(_)return _;var g=i>0?u.end:l(u.begin,-1);return null==g||i>0&&g==t.text.length||!(_=f(i>0?0:r.length-1,i,c(g)))?null:_}(e.cm,a,t,n):rs(a,t,n);if(null==s){if(o||((c=t.line+l)<e.first||c>=e.first+e.size||(t=new ot(c,t.ch,t.sticky),!(a=Ye(e,c)))))return!1;t=os(r,e.cm,a,t.line,l)}else t=s;return!0}if("char"==i||"codepoint"==i)c();else if("column"==i)c(!0);else if("word"==i||"group"==i)for(var u=null,d="group"==i,p=e.cm&&e.cm.getHelper(t,"wordChars"),h=!0;!(n<0)||c(!h);h=!1){var f=a.text.charAt(t.ch)||"\n",_=oe(f,p)?"w":d&&"\n"==f?"n":!d||/\s/.test(f)?null:"p";if(!d||h||_||(_="s"),u&&u!=_){n<0&&(n=1,c(),t.sticky="after");break}if(_&&(u=_),n>0&&!c(!h))break}var g=uo(e,t,o,s,!0);return at(o,g)&&(g.hitSide=!0),g}function Ws(e,t,n,i){var r,o,s=e.doc,a=t.left;if("page"==i){var l=Math.min(e.display.wrapper.clientHeight,B(e).innerHeight||s(e).documentElement.clientHeight),c=Math.max(l-.5*li(e.display),3);r=(n>0?t.bottom:t.top)+n*c}else"line"==i&&(r=n>0?t.bottom+3:t.top-3);for(;(o=ti(e,a,r)).outside;){if(n<0?r<=0:r>=s.height){o.hitSide=!0;break}r+=5*n}return o}var Hs=function(e){this.cm=e,this.lastAnchorNode=this.lastAnchorOffset=this.lastFocusNode=this.lastFocusOffset=null,this.polling=new W,this.composing=null,this.gracePeriod=!1,this.readDOMTimeout=null};function Us(e,t){var n=Fn(e,t.line);if(!n||n.hidden)return null;var i=Ye(e.doc,t.line),r=Ln(n,i,t.line),o=fe(i,e.doc.direction),s="left";o&&(s=pe(o,t.ch)%2?"right":"left");var a=qn(r.map,t.ch,s);return a.offset="right"==a.collapse?a.end:a.start,a}function $s(e,t){return t&&(e.bad=!0),e}function Ks(e,t,n){var i;if(t==e.display.lineDiv){if(!(i=e.display.lineDiv.childNodes[n]))return $s(e.clipPos(ot(e.display.viewTo-1)),!0);t=null,n=0}else for(i=t;;i=i.parentNode){if(!i||i==e.display.lineDiv)return null;if(i.parentNode&&i.parentNode==e.display.lineDiv)break}for(var r=0;r<e.display.view.length;r++){var o=e.display.view[r];if(o.node==i)return Xs(o,t,n)}}function Xs(e,t,n){var i=e.text.firstChild,r=!1;if(!t||!R(i,t))return $s(ot(tt(e.line),0),!0);if(t==i&&(r=!0,t=i.childNodes[n],n=0,!t)){var o=e.rest?J(e.rest):e.line;return $s(ot(tt(o),o.text.length),r)}var s=3==t.nodeType?t:null,a=t;for(s||1!=t.childNodes.length||3!=t.firstChild.nodeType||(s=t.firstChild,n&&(n=s.nodeValue.length));a.parentNode!=i;)a=a.parentNode;var l=e.measure,c=l.maps;function u(t,n,i){for(var r=-1;r<(c?c.length:0);r++)for(var o=r<0?l.map:c[r],s=0;s<o.length;s+=3){var a=o[s+2];if(a==t||a==n){var u=tt(r<0?e.line:e.rest[r]),d=o[s]+i;return(i<0||a!=t)&&(d=o[s+(i?1:0)]),ot(u,d)}}}var d=u(s,a,n);if(d)return $s(d,r);for(var p=a.nextSibling,h=s?s.nodeValue.length-n:0;p;p=p.nextSibling){if(d=u(p,p.firstChild,0))return $s(ot(d.line,d.ch-h),r);h+=p.textContent.length}for(var f=a.previousSibling,_=n;f;f=f.previousSibling){if(d=u(f,f.firstChild,-1))return $s(ot(d.line,d.ch+_),r);_+=f.textContent.length}}Hs.prototype.init=function(e){var t=this,n=this,i=n.cm,r=n.div=e.lineDiv;function o(e){for(var t=e.target;t;t=t.parentNode){if(t==r)return!0;if(/\bCodeMirror-(?:line)?widget\b/.test(t.className))break}return!1}function s(e){if(o(e)&&!be(i,e)){if(i.somethingSelected())Fs({lineWise:!1,text:i.getSelections()}),"cut"==e.type&&i.replaceSelection("",null,"cut");else{if(!i.options.lineWiseCopyCut)return;var t=Bs(i);Fs({lineWise:!0,text:t.text}),"cut"==e.type&&i.operation(function(){i.setSelections(t.ranges,0,$),i.replaceSelection("",null,"cut")})}if(e.clipboardData){e.clipboardData.clearData();var s=Os.text.join("\n");if(e.clipboardData.setData("Text",s),e.clipboardData.getData("Text")==s)return void e.preventDefault()}var a=Gs(),l=a.firstChild;qs(l),i.display.lineSpace.insertBefore(a,i.display.lineSpace.firstChild),l.value=Os.text.join("\n");var c=z(N(r));F(l),setTimeout(function(){i.display.lineSpace.removeChild(a),c.focus(),c==r&&n.showPrimarySelection()},50)}}r.contentEditable=!0,qs(r,i.options.spellcheck,i.options.autocorrect,i.options.autocapitalize),ge(r,"paste",function(e){!o(e)||be(i,e)||Ds(e,i)||a<=11&&setTimeout(or(i,function(){return t.updateFromDOM()}),20)}),ge(r,"compositionstart",function(e){t.composing={data:e.data,done:!1}}),ge(r,"compositionupdate",function(e){t.composing||(t.composing={data:e.data,done:!1})}),ge(r,"compositionend",function(e){t.composing&&(e.data!=t.composing.data&&t.readFromDOMSoon(),t.composing.done=!0)}),ge(r,"touchstart",function(){return n.forceCompositionEnd()}),ge(r,"input",function(){t.composing||t.readFromDOMSoon()}),ge(r,"copy",s),ge(r,"cut",s)},Hs.prototype.screenReaderLabelChanged=function(e){e?this.div.setAttribute("aria-label",e):this.div.removeAttribute("aria-label")},Hs.prototype.prepareSelection=function(){var e=wi(this.cm,!1);return e.focus=z(N(this.div))==this.div,e},Hs.prototype.showSelection=function(e,t){e&&this.cm.display.view.length&&((e.focus||t)&&this.showPrimarySelection(),this.showMultipleSelections(e))},Hs.prototype.getSelection=function(){return this.cm.display.wrapper.ownerDocument.getSelection()},Hs.prototype.showPrimarySelection=function(){var e=this.getSelection(),t=this.cm,i=t.doc.sel.primary(),r=i.from(),o=i.to();if(t.display.viewTo==t.display.viewFrom||r.line>=t.display.viewTo||o.line<t.display.viewFrom)e.removeAllRanges();else{var s=Ks(t,e.anchorNode,e.anchorOffset),a=Ks(t,e.focusNode,e.focusOffset);if(!s||s.bad||!a||a.bad||0!=st(ut(s,a),r)||0!=st(ct(s,a),o)){var l=t.display.view,c=r.line>=t.display.viewFrom&&Us(t,r)||{node:l[0].measure.map[2],offset:0},u=o.line<t.display.viewTo&&Us(t,o);if(!u){var d=l[l.length-1].measure,p=d.maps?d.maps[d.maps.length-1]:d.map;u={node:p[p.length-1],offset:p[p.length-2]-p[p.length-3]}}if(c&&u){var h,f=e.rangeCount&&e.getRangeAt(0);try{h=S(c.node,c.offset,u.offset,u.node)}catch(e){}h&&(!n&&t.state.focused?(e.collapse(c.node,c.offset),h.collapsed||(e.removeAllRanges(),e.addRange(h))):(e.removeAllRanges(),e.addRange(h)),f&&null==e.anchorNode?e.addRange(f):n&&this.startGracePeriod()),this.rememberSelection()}else e.removeAllRanges()}}},Hs.prototype.startGracePeriod=function(){var e=this;clearTimeout(this.gracePeriod),this.gracePeriod=setTimeout(function(){e.gracePeriod=!1,e.selectionChanged()&&e.cm.operation(function(){return e.cm.curOp.selectionChanged=!0})},20)},Hs.prototype.showMultipleSelections=function(e){T(this.cm.display.cursorDiv,e.cursors),T(this.cm.display.selectionDiv,e.selection)},Hs.prototype.rememberSelection=function(){var e=this.getSelection();this.lastAnchorNode=e.anchorNode,this.lastAnchorOffset=e.anchorOffset,this.lastFocusNode=e.focusNode,this.lastFocusOffset=e.focusOffset},Hs.prototype.selectionInEditor=function(){var e=this.getSelection();if(!e.rangeCount)return!1;var t=e.getRangeAt(0).commonAncestorContainer;return R(this.div,t)},Hs.prototype.focus=function(){"nocursor"!=this.cm.options.readOnly&&(this.selectionInEditor()&&z(N(this.div))==this.div||this.showSelection(this.prepareSelection(),!0),this.div.focus())},Hs.prototype.blur=function(){this.div.blur()},Hs.prototype.getField=function(){return this.div},Hs.prototype.supportsTouch=function(){return!0},Hs.prototype.receivedFocus=function(){var e=this,t=this;this.selectionInEditor()?setTimeout(function(){return e.pollSelection()},20):rr(this.cm,function(){return t.cm.curOp.selectionChanged=!0}),this.polling.set(this.cm.options.pollInterval,function e(){t.cm.state.focused&&(t.pollSelection(),t.polling.set(t.cm.options.pollInterval,e))})},Hs.prototype.selectionChanged=function(){var e=this.getSelection();return e.anchorNode!=this.lastAnchorNode||e.anchorOffset!=this.lastAnchorOffset||e.focusNode!=this.lastFocusNode||e.focusOffset!=this.lastFocusOffset},Hs.prototype.pollSelection=function(){if(null==this.readDOMTimeout&&!this.gracePeriod&&this.selectionChanged()){var e=this.getSelection(),t=this.cm;if(m&&u&&this.cm.display.gutterSpecs.length&&function(e){for(var t=e;t;t=t.parentNode)if(/CodeMirror-gutter-wrapper/.test(t.className))return!0;return!1}(e.anchorNode))return this.cm.triggerOnKeyDown({type:"keydown",keyCode:8,preventDefault:Math.abs}),this.blur(),void this.focus();if(!this.composing){this.rememberSelection();var n=Ks(t,e.anchorNode,e.anchorOffset),i=Ks(t,e.focusNode,e.focusOffset);n&&i&&rr(t,function(){ro(t.doc,Mr(n,i),$),(n.bad||i.bad)&&(t.curOp.selectionChanged=!0)})}}},Hs.prototype.pollContent=function(){null!=this.readDOMTimeout&&(clearTimeout(this.readDOMTimeout),this.readDOMTimeout=null);var e,t,n,i=this.cm,r=i.display,o=i.doc.sel.primary(),s=o.from(),a=o.to();if(0==s.ch&&s.line>i.firstLine()&&(s=ot(s.line-1,Ye(i.doc,s.line-1).length)),a.ch==Ye(i.doc,a.line).text.length&&a.line<i.lastLine()&&(a=ot(a.line+1,0)),s.line<r.viewFrom||a.line>r.viewTo-1)return!1;s.line==r.viewFrom||0==(e=_i(i,s.line))?(t=tt(r.view[0].line),n=r.view[0].node):(t=tt(r.view[e].line),n=r.view[e-1].node.nextSibling);var l,c,u=_i(i,a.line);if(u==r.view.length-1?(l=r.viewTo-1,c=r.lineDiv.lastChild):(l=tt(r.view[u+1].line)-1,c=r.view[u+1].node.previousSibling),!n)return!1;for(var d=i.doc.splitLines(function(e,t,n,i,r){var o="",s=!1,a=e.doc.lineSeparator(),l=!1;function c(){s&&(o+=a,l&&(o+=a),s=l=!1)}function u(e){e&&(c(),o+=e)}function d(t){if(1==t.nodeType){var n=t.getAttribute("cm-text");if(n)return void u(n);var o,p=t.getAttribute("cm-marker");if(p){var h=e.findMarks(ot(i,0),ot(r+1,0),(g=+p,function(e){return e.id==g}));return void(h.length&&(o=h[0].find(0))&&u(Qe(e.doc,o.from,o.to).join(a)))}if("false"==t.getAttribute("contenteditable"))return;var f=/^(pre|div|p|li|table|br)$/i.test(t.nodeName);if(!/^br$/i.test(t.nodeName)&&0==t.textContent.length)return;f&&c();for(var _=0;_<t.childNodes.length;_++)d(t.childNodes[_]);/^(pre|p)$/i.test(t.nodeName)&&(l=!0),f&&(s=!0)}else 3==t.nodeType&&u(t.nodeValue.replace(/\u200b/g,"").replace(/\u00a0/g," "));var g}for(;d(t),t!=n;)t=t.nextSibling,l=!1;return o}(i,n,c,t,l)),p=Qe(i.doc,ot(t,0),ot(l,Ye(i.doc,l).text.length));d.length>1&&p.length>1;)if(J(d)==J(p))d.pop(),p.pop(),l--;else{if(d[0]!=p[0])break;d.shift(),p.shift(),t++}for(var h=0,f=0,_=d[0],g=p[0],m=Math.min(_.length,g.length);h<m&&_.charCodeAt(h)==g.charCodeAt(h);)++h;for(var y=J(d),v=J(p),b=Math.min(y.length-(1==d.length?h:0),v.length-(1==p.length?h:0));f<b&&y.charCodeAt(y.length-f-1)==v.charCodeAt(v.length-f-1);)++f;if(1==d.length&&1==p.length&&t==s.line)for(;h&&h>s.ch&&y.charCodeAt(y.length-f-1)==v.charCodeAt(v.length-f-1);)h--,f++;d[d.length-1]=y.slice(0,y.length-f).replace(/^\u200b+/,""),d[0]=d[0].slice(h).replace(/\u200b+$/,"");var x=ot(t,h),w=ot(l,p.length?J(p).length-f:0);return d.length>1||d[0]||st(x,w)?(bo(i.doc,d,x,w,"+input"),!0):void 0},Hs.prototype.ensurePolled=function(){this.forceCompositionEnd()},Hs.prototype.reset=function(){this.forceCompositionEnd()},Hs.prototype.forceCompositionEnd=function(){this.composing&&(clearTimeout(this.readDOMTimeout),this.composing=null,this.updateFromDOM(),this.div.blur(),this.div.focus())},Hs.prototype.readFromDOMSoon=function(){var e=this;null==this.readDOMTimeout&&(this.readDOMTimeout=setTimeout(function(){if(e.readDOMTimeout=null,e.composing){if(!e.composing.done)return;e.composing=null}e.updateFromDOM()},80))},Hs.prototype.updateFromDOM=function(){var e=this;!this.cm.isReadOnly()&&this.pollContent()||rr(this.cm,function(){return gi(e.cm)})},Hs.prototype.setUneditable=function(e){e.contentEditable="false"},Hs.prototype.onKeyPress=function(e){0==e.charCode||this.composing||(e.preventDefault(),this.cm.isReadOnly()||or(this.cm,js)(this.cm,String.fromCharCode(null==e.charCode?e.keyCode:e.charCode),0))},Hs.prototype.readOnlyChanged=function(e){this.div.contentEditable=String("nocursor"!=e)},Hs.prototype.onContextMenu=function(){},Hs.prototype.resetPosition=function(){},Hs.prototype.needsContentAttribute=!0;var Zs=function(e){this.cm=e,this.prevInput="",this.pollingFast=!1,this.polling=new W,this.hasSelection=!1,this.composing=null,this.resetting=!1};Zs.prototype.init=function(e){var t=this,n=this,i=this.cm;this.createField(e);var r=this.textarea;function o(e){if(!be(i,e)){if(i.somethingSelected())Fs({lineWise:!1,text:i.getSelections()});else{if(!i.options.lineWiseCopyCut)return;var t=Bs(i);Fs({lineWise:!0,text:t.text}),"cut"==e.type?i.setSelections(t.ranges,null,$):(n.prevInput="",r.value=t.text.join("\n"),F(r))}"cut"==e.type&&(i.state.cutIncoming=+new Date)}}e.wrapper.insertBefore(this.wrapper,e.wrapper.firstChild),g&&(r.style.width="0px"),ge(r,"input",function(){s&&a>=9&&t.hasSelection&&(t.hasSelection=null),n.poll()}),ge(r,"paste",function(e){be(i,e)||Ds(e,i)||(i.state.pasteIncoming=+new Date,n.fastPoll())}),ge(r,"cut",o),ge(r,"copy",o),ge(e.scroller,"paste",function(t){if(!En(e,t)&&!be(i,t)){if(!r.dispatchEvent)return i.state.pasteIncoming=+new Date,void n.focus();var o=new Event("paste");o.clipboardData=t.clipboardData,r.dispatchEvent(o)}}),ge(e.lineSpace,"selectstart",function(t){En(e,t)||Ce(t)}),ge(r,"compositionstart",function(){var e=i.getCursor("from");n.composing&&n.composing.range.clear(),n.composing={start:e,range:i.markText(e,i.getCursor("to"),{className:"CodeMirror-composing"})}}),ge(r,"compositionend",function(){n.composing&&(n.poll(),n.composing.range.clear(),n.composing=null)})},Zs.prototype.createField=function(e){this.wrapper=Gs(),this.textarea=this.wrapper.firstChild;var t=this.cm.options;qs(this.textarea,t.spellcheck,t.autocorrect,t.autocapitalize)},Zs.prototype.screenReaderLabelChanged=function(e){e?this.textarea.setAttribute("aria-label",e):this.textarea.removeAttribute("aria-label")},Zs.prototype.prepareSelection=function(){var e=this.cm,t=e.display,n=e.doc,i=wi(e);if(e.options.moveInputWithCursor){var r=Qn(e,n.sel.primary().head,"div"),o=t.wrapper.getBoundingClientRect(),s=t.lineDiv.getBoundingClientRect();i.teTop=Math.max(0,Math.min(t.wrapper.clientHeight-10,r.top+s.top-o.top)),i.teLeft=Math.max(0,Math.min(t.wrapper.clientWidth-10,r.left+s.left-o.left))}return i},Zs.prototype.showSelection=function(e){var t=this.cm.display;T(t.cursorDiv,e.cursors),T(t.selectionDiv,e.selection),null!=e.teTop&&(this.wrapper.style.top=e.teTop+"px",this.wrapper.style.left=e.teLeft+"px")},Zs.prototype.reset=function(e){if(!(this.contextMenuPending||this.composing&&e)){var t=this.cm;if(this.resetting=!0,t.somethingSelected()){this.prevInput="";var n=t.getSelection();this.textarea.value=n,t.state.focused&&F(this.textarea),s&&a>=9&&(this.hasSelection=n)}else e||(this.prevInput=this.textarea.value="",s&&a>=9&&(this.hasSelection=null));this.resetting=!1}},Zs.prototype.getField=function(){return this.textarea},Zs.prototype.supportsTouch=function(){return!1},Zs.prototype.focus=function(){if("nocursor"!=this.cm.options.readOnly&&(!y||z(N(this.textarea))!=this.textarea))try{this.textarea.focus()}catch(e){}},Zs.prototype.blur=function(){this.textarea.blur()},Zs.prototype.resetPosition=function(){this.wrapper.style.top=this.wrapper.style.left=0},Zs.prototype.receivedFocus=function(){this.slowPoll()},Zs.prototype.slowPoll=function(){var e=this;this.pollingFast||this.polling.set(this.cm.options.pollInterval,function(){e.poll(),e.cm.state.focused&&e.slowPoll()})},Zs.prototype.fastPoll=function(){var e=!1,t=this;t.pollingFast=!0,t.polling.set(20,function n(){t.poll()||e?(t.pollingFast=!1,t.slowPoll()):(e=!0,t.polling.set(60,n))})},Zs.prototype.poll=function(){var e=this,t=this.cm,n=this.textarea,i=this.prevInput;if(this.contextMenuPending||this.resetting||!t.state.focused||je(n)&&!i&&!this.composing||t.isReadOnly()||t.options.disableInput||t.state.keySeq)return!1;var r=n.value;if(r==i&&!t.somethingSelected())return!1;if(s&&a>=9&&this.hasSelection===r||v&&/[\uf700-\uf7ff]/.test(r))return t.display.input.reset(),!1;if(t.doc.sel==t.display.selForContextMenu){var o=r.charCodeAt(0);if(8203!=o||i||(i=""),8666==o)return this.reset(),this.cm.execCommand("undo")}for(var l=0,c=Math.min(i.length,r.length);l<c&&i.charCodeAt(l)==r.charCodeAt(l);)++l;return rr(t,function(){js(t,r.slice(l),i.length-l,null,e.composing?"*compose":null),r.length>1e3||r.indexOf("\n")>-1?n.value=e.prevInput="":e.prevInput=r,e.composing&&(e.composing.range.clear(),e.composing.range=t.markText(e.composing.start,t.getCursor("to"),{className:"CodeMirror-composing"}))}),!0},Zs.prototype.ensurePolled=function(){this.pollingFast&&this.poll()&&(this.pollingFast=!1)},Zs.prototype.onKeyPress=function(){s&&a>=9&&(this.hasSelection=null),this.fastPoll()},Zs.prototype.onContextMenu=function(e){var t=this,n=t.cm,i=n.display,r=t.textarea;t.contextMenuPending&&t.contextMenuPending();var o=fi(n,e),c=i.scroller.scrollTop;if(o&&!p){n.options.resetSelectionOnContextMenu&&-1==n.doc.sel.contains(o)&&or(n,ro)(n.doc,Mr(o),$);var u,d=r.style.cssText,h=t.wrapper.style.cssText,f=t.wrapper.offsetParent.getBoundingClientRect();if(t.wrapper.style.cssText="position: static",r.style.cssText="position: absolute; width: 30px; height: 30px;\n top: "+(e.clientY-f.top-5)+"px; left: "+(e.clientX-f.left-5)+"px;\n z-index: 1000; background: "+(s?"rgba(255, 255, 255, .05)":"transparent")+";\n outline: none; border-width: 0; outline: none; overflow: hidden; opacity: .05; filter: alpha(opacity=5);",l&&(u=r.ownerDocument.defaultView.scrollY),i.input.focus(),l&&r.ownerDocument.defaultView.scrollTo(null,u),i.input.reset(),n.somethingSelected()||(r.value=t.prevInput=" "),t.contextMenuPending=m,i.selForContextMenu=n.doc.sel,clearTimeout(i.detectingSelectAll),s&&a>=9&&g(),C){Ee(e);var _=function(){ye(window,"mouseup",_),setTimeout(m,20)};ge(window,"mouseup",_)}else setTimeout(m,50)}function g(){if(null!=r.selectionStart){var e=n.somethingSelected(),o=""+(e?r.value:"");r.value="⇚",r.value=o,t.prevInput=e?"":"",r.selectionStart=1,r.selectionEnd=o.length,i.selForContextMenu=n.doc.sel}}function m(){if(t.contextMenuPending==m&&(t.contextMenuPending=!1,t.wrapper.style.cssText=h,r.style.cssText=d,s&&a<9&&i.scrollbars.setScrollTop(i.scroller.scrollTop=c),null!=r.selectionStart)){(!s||s&&a<9)&&g();var e=0,o=function(){i.selForContextMenu==n.doc.sel&&0==r.selectionStart&&r.selectionEnd>0&&""==t.prevInput?or(n,ho)(n):e++<10?i.detectingSelectAll=setTimeout(o,500):(i.selForContextMenu=null,i.input.reset())};i.detectingSelectAll=setTimeout(o,200)}}},Zs.prototype.readOnlyChanged=function(e){e||this.reset(),this.textarea.disabled="nocursor"==e,this.textarea.readOnly=!!e},Zs.prototype.setUneditable=function(){},Zs.prototype.needsContentAttribute=!1,function(e){var t=e.optionHandlers;function n(n,i,r,o){e.defaults[n]=i,r&&(t[n]=o?function(e,t,n){n!=Es&&r(e,t,n)}:r)}e.defineOption=n,e.Init=Es,n("value","",function(e,t){return e.setValue(t)},!0),n("mode",null,function(e,t){e.doc.modeOption=t,Or(e)},!0),n("indentUnit",2,Or,!0),n("indentWithTabs",!1),n("smartIndent",!0),n("tabSize",4,function(e){Fr(e),Hn(e),gi(e)},!0),n("lineSeparator",null,function(e,t){if(e.doc.lineSep=t,t){var n=[],i=e.doc.first;e.doc.iter(function(e){for(var r=0;;){var o=e.text.indexOf(t,r);if(-1==o)break;r=o+t.length,n.push(ot(i,o))}i++});for(var r=n.length-1;r>=0;r--)bo(e.doc,t,n[r],ot(n[r].line,n[r].ch+t.length))}}),n("specialChars",/[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\u202d\u202e\u2066\u2067\u2069\ufeff\ufff9-\ufffc]/g,function(e,t,n){e.state.specialChars=new RegExp(t.source+(t.test("\t")?"":"|\t"),"g"),n!=Es&&e.refresh()}),n("specialCharPlaceholder",rn,function(e){return e.refresh()},!0),n("electricChars",!0),n("inputStyle",y?"contenteditable":"textarea",function(){throw new Error("inputStyle can not (yet) be changed in a running editor")},!0),n("spellcheck",!1,function(e,t){return e.getInputField().spellcheck=t},!0),n("autocorrect",!1,function(e,t){return e.getInputField().autocorrect=t},!0),n("autocapitalize",!1,function(e,t){return e.getInputField().autocapitalize=t},!0),n("rtlMoveVisually",!x),n("wholeLineUpdateBefore",!0),n("theme","default",function(e){Ss(e),br(e)},!0),n("keyMap","default",function(e,t,n){var i=ts(t),r=n!=Es&&ts(n);r&&r.detach&&r.detach(e,i),i.attach&&i.attach(e,r||null)}),n("extraKeys",null),n("configureMouse",null),n("lineWrapping",!1,Ps,!0),n("gutters",[],function(e,t){e.display.gutterSpecs=yr(t,e.options.lineNumbers),br(e)},!0),n("fixedGutter",!0,function(e,t){e.display.gutters.style.left=t?di(e.display)+"px":"0",e.refresh()},!0),n("coverGutterNextToScrollbar",!1,function(e){return Ui(e)},!0),n("scrollbarStyle","native",function(e){Xi(e),Ui(e),e.display.scrollbars.setScrollTop(e.doc.scrollTop),e.display.scrollbars.setScrollLeft(e.doc.scrollLeft)},!0),n("lineNumbers",!1,function(e,t){e.display.gutterSpecs=yr(e.options.gutters,t),br(e)},!0),n("firstLineNumber",1,br,!0),n("lineNumberFormatter",function(e){return e},br,!0),n("showCursorWhenSelecting",!1,xi,!0),n("resetSelectionOnContextMenu",!0),n("lineWiseCopyCut",!0),n("pasteLinesPerSelection",!0),n("selectionsMayTouch",!1),n("readOnly",!1,function(e,t){"nocursor"==t&&(Mi(e),e.display.input.blur()),e.display.input.readOnlyChanged(t)}),n("screenReaderLabel",null,function(e,t){t=""===t?null:t,e.display.input.screenReaderLabelChanged(t)}),n("disableInput",!1,function(e,t){t||e.display.input.reset()},!0),n("dragDrop",!0,Ms),n("allowDropFileTypes",null),n("cursorBlinkRate",530),n("cursorScrollMargin",0),n("cursorHeight",1,xi,!0),n("singleCursorHeightPerLine",!0,xi,!0),n("workTime",100),n("workDelay",100),n("flattenSpans",!0,Fr,!0),n("addModeClass",!1,Fr,!0),n("pollInterval",100),n("undoDepth",200,function(e,t){return e.doc.history.undoDepth=t}),n("historyEventDelay",1250),n("viewportMargin",10,function(e){return e.refresh()},!0),n("maxHighlightLength",1e4,Fr,!0),n("moveInputWithCursor",!0,function(e,t){t||e.display.input.resetPosition()}),n("tabindex",null,function(e,t){return e.display.input.getField().tabIndex=t||""}),n("autofocus",null),n("direction","ltr",function(e,t){return e.doc.setDirection(t)},!0),n("phrases",null)}(Rs),function(e){var t=e.optionHandlers,n=e.helpers={};e.prototype={constructor:e,focus:function(){B(this).focus(),this.display.input.focus()},setOption:function(e,n){var i=this.options,r=i[e];i[e]==n&&"mode"!=e||(i[e]=n,t.hasOwnProperty(e)&&or(this,t[e])(this,n,r),ve(this,"optionChange",this,e))},getOption:function(e){return this.options[e]},getDoc:function(){return this.doc},addKeyMap:function(e,t){this.state.keyMaps[t?"push":"unshift"](ts(e))},removeKeyMap:function(e){for(var t=this.state.keyMaps,n=0;n<t.length;++n)if(t[n]==e||t[n].name==e)return t.splice(n,1),!0},addOverlay:sr(function(t,n){var i=t.token?t:e.getMode(this.options,t);if(i.startState)throw new Error("Overlays may not be stateful.");(function(e,t,n){for(var i=0,r=n(t);i<e.length&&n(e[i])<=r;)i++;e.splice(i,0,t)})(this.state.overlays,{mode:i,modeSpec:t,opaque:n&&n.opaque,priority:n&&n.priority||0},function(e){return e.priority}),this.state.modeGen++,gi(this)}),removeOverlay:sr(function(e){for(var t=this.state.overlays,n=0;n<t.length;++n){var i=t[n].modeSpec;if(i==e||"string"==typeof e&&i.name==e)return t.splice(n,1),this.state.modeGen++,void gi(this)}}),indentLine:sr(function(e,t,n){"string"!=typeof t&&"number"!=typeof t&&(t=null==t?this.options.smartIndent?"smart":"prev":t?"add":"subtract"),it(this.doc,e)&&Ls(this,e,t,n)}),indentSelection:sr(function(e){for(var t=this.doc.sel.ranges,n=-1,i=0;i<t.length;i++){var r=t[i];if(r.empty())r.head.line>n&&(Ls(this,r.head.line,e,!0),n=r.head.line,i==this.doc.sel.primIndex&&Fi(this));else{var o=r.from(),s=r.to(),a=Math.max(n,o.line);n=Math.min(this.lastLine(),s.line-(s.ch?0:1))+1;for(var l=a;l<n;++l)Ls(this,l,e);var c=this.doc.sel.ranges;0==o.ch&&t.length==c.length&&c[i].from().ch>0&&to(this.doc,i,new Ir(o,c[i].to()),$)}}}),getTokenAt:function(e,t){return kt(this,e,t)},getLineTokens:function(e,t){return kt(this,ot(e),t,!0)},getTokenTypeAt:function(e){e=pt(this.doc,e);var t,n=mt(this,Ye(this.doc,e.line)),i=0,r=(n.length-1)/2,o=e.ch;if(0==o)t=n[2];else for(;;){var s=i+r>>1;if((s?n[2*s-1]:0)>=o)r=s;else{if(!(n[2*s+1]<o)){t=n[2*s+2];break}i=s+1}}var a=t?t.indexOf("overlay "):-1;return a<0?t:0==a?null:t.slice(0,a-1)},getModeAt:function(t){var n=this.doc.mode;return n.innerMode?e.innerMode(n,this.getTokenAt(t).state).mode:n},getHelper:function(e,t){return this.getHelpers(e,t)[0]},getHelpers:function(e,t){var i=[];if(!n.hasOwnProperty(t))return i;var r=n[t],o=this.getModeAt(e);if("string"==typeof o[t])r[o[t]]&&i.push(r[o[t]]);else if(o[t])for(var s=0;s<o[t].length;s++){var a=r[o[t][s]];a&&i.push(a)}else o.helperType&&r[o.helperType]?i.push(r[o.helperType]):r[o.name]&&i.push(r[o.name]);for(var l=0;l<r._global.length;l++){var c=r._global[l];c.pred(o,this)&&-1==H(i,c.val)&&i.push(c.val)}return i},getStateAfter:function(e,t){var n=this.doc;return yt(this,(e=dt(n,null==e?n.first+n.size-1:e))+1,t).state},cursorCoords:function(e,t){var n=this.doc.sel.primary();return Qn(this,null==e?n.head:"object"==typeof e?pt(this.doc,e):e?n.from():n.to(),t||"page")},charCoords:function(e,t){return Yn(this,pt(this.doc,e),t||"page")},coordsChar:function(e,t){return ti(this,(e=Zn(this,e,t||"page")).left,e.top)},lineAtHeight:function(e,t){return e=Zn(this,{top:e,left:0},t||"page").top,nt(this.doc,e+this.display.viewOffset)},heightAtLine:function(e,t,n){var i,r=!1;if("number"==typeof e){var o=this.doc.first+this.doc.size-1;e<this.doc.first?e=this.doc.first:e>o&&(e=o,r=!0),i=Ye(this.doc,e)}else i=e;return Xn(this,i,{top:0,left:0},t||"page",n||r).top+(r?this.doc.height-Kt(i):0)},defaultTextHeight:function(){return li(this.display)},defaultCharWidth:function(){return ci(this.display)},getViewport:function(){return{from:this.display.viewFrom,to:this.display.viewTo}},addWidget:function(e,t,n,i,r){var o,s,a,l=this.display,c=(e=Qn(this,pt(this.doc,e))).bottom,u=e.left;if(t.style.position="absolute",t.setAttribute("cm-ignore-events","true"),this.display.input.setUneditable(t),l.sizer.appendChild(t),"over"==i)c=e.top;else if("above"==i||"near"==i){var d=Math.max(l.wrapper.clientHeight,this.doc.height),p=Math.max(l.sizer.clientWidth,l.lineSpace.clientWidth);("above"==i||e.bottom+t.offsetHeight>d)&&e.top>t.offsetHeight?c=e.top-t.offsetHeight:e.bottom+t.offsetHeight<=d&&(c=e.bottom),u+t.offsetWidth>p&&(u=p-t.offsetWidth)}t.style.top=c+"px",t.style.left=t.style.right="","right"==r?(u=l.sizer.clientWidth-t.offsetWidth,t.style.right="0px"):("left"==r?u=0:"middle"==r&&(u=(l.sizer.clientWidth-t.offsetWidth)/2),t.style.left=u+"px"),n&&(o=this,s={left:u,top:c,right:u+t.offsetWidth,bottom:c+t.offsetHeight},null!=(a=Li(o,s)).scrollTop&&Bi(o,a.scrollTop),null!=a.scrollLeft&&Gi(o,a.scrollLeft))},triggerOnKeyDown:sr(_s),triggerOnKeyPress:sr(ms),triggerOnKeyUp:gs,triggerOnMouseDown:sr(xs),execCommand:function(e){if(ss.hasOwnProperty(e))return ss[e].call(null,this)},triggerElectric:sr(function(e){Ns(this,e)}),findPosH:function(e,t,n,i){var r=1;t<0&&(r=-1,t=-t);for(var o=pt(this.doc,e),s=0;s<t&&!(o=Vs(this.doc,o,r,n,i)).hitSide;++s);return o},moveH:sr(function(e,t){var n=this;this.extendSelectionsBy(function(i){return n.display.shift||n.doc.extend||i.empty()?Vs(n.doc,i.head,e,t,n.options.rtlMoveVisually):e<0?i.from():i.to()},X)}),deleteH:sr(function(e,t){var n=this.doc.sel,i=this.doc;n.somethingSelected()?i.replaceSelection("",null,"+delete"):ns(this,function(n){var r=Vs(i,n.head,e,t,!1);return e<0?{from:r,to:n.head}:{from:n.head,to:r}})}),findPosV:function(e,t,n,i){var r=1,o=i;t<0&&(r=-1,t=-t);for(var s=pt(this.doc,e),a=0;a<t;++a){var l=Qn(this,s,"div");if(null==o?o=l.left:l.left=o,(s=Ws(this,l,r,n)).hitSide)break}return s},moveV:sr(function(e,t){var n=this,i=this.doc,r=[],o=!this.display.shift&&!i.extend&&i.sel.somethingSelected();if(i.extendSelectionsBy(function(s){if(o)return e<0?s.from():s.to();var a=Qn(n,s.head,"div");null!=s.goalColumn&&(a.left=s.goalColumn),r.push(a.left);var l=Ws(n,a,e,t);return"page"==t&&s==i.sel.primary()&&Oi(n,Yn(n,l,"div").top-a.top),l},X),r.length)for(var s=0;s<i.sel.ranges.length;s++)i.sel.ranges[s].goalColumn=r[s]}),findWordAt:function(e){var t=Ye(this.doc,e.line).text,n=e.ch,i=e.ch;if(t){var r=this.getHelper(e,"wordChars");"before"!=e.sticky&&i!=t.length||!n?++i:--n;for(var o=t.charAt(n),s=oe(o,r)?function(e){return oe(e,r)}:/\s/.test(o)?function(e){return/\s/.test(e)}:function(e){return!/\s/.test(e)&&!oe(e)};n>0&&s(t.charAt(n-1));)--n;for(;i<t.length&&s(t.charAt(i));)++i}return new Ir(ot(e.line,n),ot(e.line,i))},toggleOverwrite:function(e){null!=e&&e==this.state.overwrite||((this.state.overwrite=!this.state.overwrite)?L(this.display.cursorDiv,"CodeMirror-overwrite"):E(this.display.cursorDiv,"CodeMirror-overwrite"),ve(this,"overwriteToggle",this,this.state.overwrite))},hasFocus:function(){return this.display.input.getField()==z(D(this))},isReadOnly:function(){return!(!this.options.readOnly&&!this.doc.cantEdit)},scrollTo:sr(function(e,t){ji(this,e,t)}),getScrollInfo:function(){var e=this.display.scroller;return{left:e.scrollLeft,top:e.scrollTop,height:e.scrollHeight-Pn(this)-this.display.barHeight,width:e.scrollWidth-Pn(this)-this.display.barWidth,clientHeight:zn(this),clientWidth:Rn(this)}},scrollIntoView:sr(function(e,t){null==e?(e={from:this.doc.sel.primary().head,to:null},null==t&&(t=this.options.cursorScrollMargin)):"number"==typeof e?e={from:ot(e,0),to:null}:null==e.from&&(e={from:e,to:null}),e.to||(e.to=e.from),e.margin=t||0,null!=e.from.line?function(e,t){Di(e),e.curOp.scrollToPos=t}(this,e):Ni(this,e.from,e.to,e.margin)}),setSize:sr(function(e,t){var n=this,i=function(e){return"number"==typeof e||/^\d+$/.test(String(e))?e+"px":e};null!=e&&(this.display.wrapper.style.width=i(e)),null!=t&&(this.display.wrapper.style.height=i(t)),this.options.lineWrapping&&Wn(this);var r=this.display.viewFrom;this.doc.iter(r,this.display.viewTo,function(e){if(e.widgets)for(var t=0;t<e.widgets.length;t++)if(e.widgets[t].noHScroll){mi(n,r,"widget");break}++r}),this.curOp.forceUpdate=!0,ve(this,"refresh",this)}),operation:function(e){return rr(this,e)},startOperation:function(){return Yi(this)},endOperation:function(){return Qi(this)},refresh:sr(function(){var e=this.display.cachedTextHeight;gi(this),this.curOp.forceUpdate=!0,Hn(this),ji(this,this.doc.scrollLeft,this.doc.scrollTop),fr(this.display),(null==e||Math.abs(e-li(this.display))>.5||this.options.lineWrapping)&&hi(this),ve(this,"refresh",this)}),swapDoc:sr(function(e){var t=this.doc;return t.cm=null,this.state.selectingText&&this.state.selectingText(),Br(this,e),Hn(this),this.display.input.reset(),ji(this,e.scrollLeft,e.scrollTop),this.curOp.forceScroll=!0,hn(this,"swapDoc",this,t),t}),phrase:function(e){var t=this.options.phrases;return t&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:e},getInputField:function(){return this.display.input.getField()},getWrapperElement:function(){return this.display.wrapper},getScrollerElement:function(){return this.display.scroller},getGutterElement:function(){return this.display.gutters}},ke(e),e.registerHelper=function(t,i,r){n.hasOwnProperty(t)||(n[t]=e[t]={_global:[]}),n[t][i]=r},e.registerGlobalHelper=function(t,i,r,o){e.registerHelper(t,i,o),n[t]._global.push({pred:r,val:o})}}(Rs);var Ys="iter insert remove copy getEditor constructor".split(" ");for(var Qs in Fo.prototype)Fo.prototype.hasOwnProperty(Qs)&&H(Ys,Qs)<0&&(Rs.prototype[Qs]=function(e){return function(){return e.apply(this.doc,arguments)}}(Fo.prototype[Qs]));return ke(Fo),Rs.inputStyles={textarea:Zs,contenteditable:Hs},Rs.defineMode=function(e){Rs.defaults.mode||"null"==e||(Rs.defaults.mode=e),Ge.apply(this,arguments)},Rs.defineMIME=function(e,t){qe[e]=t},Rs.defineMode("null",function(){return{token:function(e){return e.skipToEnd()}}}),Rs.defineMIME("text/plain","null"),Rs.defineExtension=function(e,t){Rs.prototype[e]=t},Rs.defineDocExtension=function(e,t){Fo.prototype[e]=t},Rs.fromTextArea=function(e,t){if((t=t?G(t):{}).value=e.value,!t.tabindex&&e.tabIndex&&(t.tabindex=e.tabIndex),!t.placeholder&&e.placeholder&&(t.placeholder=e.placeholder),null==t.autofocus){var n=z(N(e));t.autofocus=n==e||null!=e.getAttribute("autofocus")&&n==document.body}function i(){e.value=a.getValue()}var r;if(e.form&&(ge(e.form,"submit",i),!t.leaveSubmitMethodAlone)){var o=e.form;r=o.submit;try{var s=o.submit=function(){i(),o.submit=r,o.submit(),o.submit=s}}catch(e){}}t.finishInit=function(n){n.save=i,n.getTextArea=function(){return e},n.toTextArea=function(){n.toTextArea=isNaN,i(),e.parentNode.removeChild(n.getWrapperElement()),e.style.display="",e.form&&(ye(e.form,"submit",i),t.leaveSubmitMethodAlone||"function"!=typeof e.form.submit||(e.form.submit=r))}},e.style.display="none";var a=Rs(function(t){return e.parentNode.insertBefore(t,e.nextSibling)},t);return a},function(e){e.off=ye,e.on=ge,e.wheelEventPixels=Ar,e.Doc=Fo,e.splitLines=Fe,e.countColumn=V,e.findColumn=Z,e.isWordChar=re,e.Pass=U,e.signal=ve,e.Line=Yt,e.changeEnd=Pr,e.scrollbarModel=Ki,e.Pos=ot,e.cmpPos=st,e.modes=Be,e.mimeModes=qe,e.resolveMode=Ve,e.getMode=We,e.modeExtensions=He,e.extendMode=Ue,e.copyState=$e,e.startState=Xe,e.innerMode=Ke,e.commands=ss,e.keyMap=Ko,e.keyName=es,e.isModifierKey=Qo,e.lookupKey=Yo,e.normalizeKeyMap=Zo,e.StringStream=Ze,e.SharedTextMarker=Ro,e.TextMarker=Mo,e.LineWidget=Eo,e.e_preventDefault=Ce,e.e_stopPropagation=Ae,e.e_stop=Ee,e.addClass=L,e.contains=R,e.rmClass=E,e.keyNames=Wo}(Rs),Rs.version="5.65.20",Rs}()},1954(e){"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII="},2155(e){"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var i="";n.supports&&(i+="@supports (".concat(n.supports,") {")),n.media&&(i+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(i+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),i+=n.css,r&&(i+="}"),n.media&&(i+="}"),n.supports&&(i+="}");var o=n.sourceMap;o&&"undefined"!=typeof btoa&&(i+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(o))))," */")),t.styleTagTransform(i,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},2328(e,t,n){"use strict";e.exports=n(4195)},2379(e){"use strict";e.exports=function(e){return e[1]}},2483(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(1259)},2596(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-map-Map-module__contextMenu {\n z-index: 3;\n}\n\n.src-map-Map-module__mapContainer {\n height: 100%;\n width: 100%;\n}\n\n.src-map-Map-module__customZoom {\n right: 17px;\n top: 115px;\n}\n\n@media (max-width: 44rem) {\n .src-map-Map-module__customZoom {\n top: unset;\n bottom: 0.5em;\n }\n}\n\n/* changing the position of the attribution is a bit complex as we have to repeat the other css */\n.src-map-Map-module__customAttribution {\n right: 0;\n left: auto;\n bottom: 0;\n padding: 1px 5px;\n background-color: rgba(255, 255, 255, 0.8);\n border-radius: 4px 0 0 0;\n}\n\n.src-map-Map-module__customAttribution ul {\n font-size: 12px;\n}\n\n.src-map-Map-module__customAttribution a {\n padding-right: 3px;\n color: rgba(0, 60, 136, 0.7);\n text-decoration: none;\n}\n\n.src-map-Map-module__customAttribution button {\n display: none;\n}\n",""]),s.locals={contextMenu:"src-map-Map-module__contextMenu",mapContainer:"src-map-Map-module__mapContainer",customZoom:"src-map-Map-module__customZoom",customAttribution:"src-map-Map-module__customAttribution"};const a=s},3116(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-map-MapOptions-module__mapOptionsContainer {\n position: absolute;\n z-index: 2;\n top: 10px;\n right: 10px;\n display: flex;\n}\n\n.src-map-MapOptions-module__options {\n width: 220px;\n display: flex;\n flex-direction: column;\n margin: 0.5rem;\n}\n\n.src-map-MapOptions-module__option {\n display: flex;\n flex-direction: row;\n gap: 0.5rem;\n align-items: center;\n}\n\n.src-map-MapOptions-module__layerButton {\n margin: 5px !important;\n width: 32px;\n height: 32px;\n}\n\n.src-map-MapOptions-module__layerButton svg {\n color: gray;\n height: 100%;\n width: 100%;\n}\n",""]),s.locals={mapOptionsContainer:"src-map-MapOptions-module__mapOptionsContainer",options:"src-map-MapOptions-module__options",option:"src-map-MapOptions-module__option",layerButton:"src-map-MapOptions-module__layerButton"};const a=s},3414(e,t,n){"use strict";e.exports=n.p+"fc2b5060f7accec5cf74.ttf"},3604(e){"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII="},3615(e){"use strict";e.exports=function(e,t){return t||(t={}),e?(e=String(e.__esModule?e.default:e),/^['"].*['"]$/.test(e)&&(e=e.slice(1,-1)),t.hash&&(e+=t.hash),/["'() \t\n]|(%20)/.test(e)||t.needQuotes?'"'.concat(e.replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):e):e}},3891(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-CustomModelBox-module__customModelBox {\n margin: 0.6em 0;\n padding: 0 0;\n border-top: lightgray solid 1px;\n height: 18rem;\n}\n\n.src-sidebar-CustomModelBox-module__customModelOptionTable {\n display: grid;\n font-size: 14px;\n grid-template-columns: 50px auto 50px;\n grid-template-rows: 1.3rem;\n align-content: center;\n align-items: center;\n margin: 1.5rem 0.5rem 0.5rem 0;\n}\n\n.src-sidebar-CustomModelBox-module__customModelOptionTable svg {\n scale: 0.7;\n}\n\n.src-sidebar-CustomModelBox-module__drawAreas {\n justify-content: end;\n scale: 0.8;\n}\n\n#src-sidebar-CustomModelBox-module__element::-webkit-scrollbar {\n display: none;\n}\n\n.src-sidebar-CustomModelBox-module__customModelBoxBottomBar {\n display: flex;\n border-bottom: lightgray solid 1px;\n}\n\n.src-sidebar-CustomModelBox-module__helpLink {\n text-decoration: none;\n flex-grow: 1;\n}\n\n.src-sidebar-CustomModelBox-module__examples,\n.src-sidebar-CustomModelBox-module__helpLink,\n.src-sidebar-CustomModelBox-module__applyButton button {\n font-size: 14px;\n}\n\n.src-sidebar-CustomModelBox-module__examples {\n border: none;\n border-top: #ececec solid 1px;\n border-right: #ececec solid 1px;\n padding-left: 1em;\n margin-left: 0;\n background-color: white;\n color: rgba(0, 60, 136, 0.7);\n}\n\n.src-sidebar-CustomModelBox-module__examples option {\n background-color: white;\n color: rgba(0, 60, 136, 0.7);\n}\n\n/* show disabled button while route calculation */\n.src-sidebar-CustomModelBox-module__applyButtonProgress button,\n.src-sidebar-CustomModelBox-module__applyButtonInvalid button {\n cursor: default !important;\n color: lightgray !important;\n}\n\n.src-sidebar-CustomModelBox-module__infiniteProgressBar {\n animation: src-sidebar-CustomModelBox-module__progress 4s infinite normal;\n height: 2px;\n margin-top: -2px; /* when visible it should not occupy space */\n background-color: rgb(65, 121, 0);\n}\n\n@keyframes src-sidebar-CustomModelBox-module__progress {\n 0% {\n width: 0;\n margin-left: 0;\n }\n 50% {\n width: 100%;\n margin-left: 0;\n }\n 100% {\n width: 0;\n margin-left: 100%;\n }\n}\n\n.src-sidebar-CustomModelBox-module__helpLink:hover {\n color: black;\n}\n\n.src-sidebar-CustomModelBox-module__helpLink,\n.src-sidebar-CustomModelBox-module__examples {\n cursor: pointer;\n color: #5b616a;\n}\n\n.src-sidebar-CustomModelBox-module__applyButton button {\n background-color: rgb(124, 179, 66, 0.1);\n}\n\n.src-sidebar-CustomModelBox-module__applyButton button,\n.src-sidebar-CustomModelBox-module__helpLink {\n padding: 0.8em 1.7em;\n}\n",""]),s.locals={customModelBox:"src-sidebar-CustomModelBox-module__customModelBox",customModelOptionTable:"src-sidebar-CustomModelBox-module__customModelOptionTable",drawAreas:"src-sidebar-CustomModelBox-module__drawAreas",element:"src-sidebar-CustomModelBox-module__element",customModelBoxBottomBar:"src-sidebar-CustomModelBox-module__customModelBoxBottomBar",helpLink:"src-sidebar-CustomModelBox-module__helpLink",examples:"src-sidebar-CustomModelBox-module__examples",applyButton:"src-sidebar-CustomModelBox-module__applyButton",applyButtonProgress:"src-sidebar-CustomModelBox-module__applyButtonProgress",applyButtonInvalid:"src-sidebar-CustomModelBox-module__applyButtonInvalid",infiniteProgressBar:"src-sidebar-CustomModelBox-module__infiniteProgressBar",progress:"src-sidebar-CustomModelBox-module__progress"};const a=s},4067(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4096(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,':root,\n:host {\n --ol-background-color: white;\n --ol-accent-background-color: #F5F5F5;\n --ol-subtle-background-color: rgba(128, 128, 128, 0.25);\n --ol-partial-background-color: rgba(255, 255, 255, 0.75);\n --ol-foreground-color: #333333;\n --ol-subtle-foreground-color: #666666;\n --ol-brand-color: #00AAFF;\n}\n\n.ol-box {\n box-sizing: border-box;\n border-radius: 2px;\n border: 1.5px solid var(--ol-background-color);\n background-color: var(--ol-partial-background-color);\n}\n\n.ol-mouse-position {\n top: 8px;\n right: 8px;\n position: absolute;\n}\n\n.ol-scale-line {\n background: var(--ol-partial-background-color);\n border-radius: 4px;\n bottom: 8px;\n left: 8px;\n padding: 2px;\n position: absolute;\n}\n\n.ol-scale-line-inner {\n border: 1px solid var(--ol-subtle-foreground-color);\n border-top: none;\n color: var(--ol-foreground-color);\n font-size: 10px;\n text-align: center;\n margin: 1px;\n will-change: contents, width;\n transition: all 0.25s;\n}\n\n.ol-scale-bar {\n position: absolute;\n bottom: 8px;\n left: 8px;\n}\n\n.ol-scale-bar-inner {\n display: flex;\n}\n\n.ol-scale-step-marker {\n width: 1px;\n height: 15px;\n background-color: var(--ol-foreground-color);\n float: right;\n z-index: 10;\n}\n\n.ol-scale-step-text {\n position: absolute;\n bottom: -5px;\n font-size: 10px;\n z-index: 11;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-text {\n position: absolute;\n font-size: 12px;\n text-align: center;\n bottom: 25px;\n color: var(--ol-foreground-color);\n text-shadow: -1.5px 0 var(--ol-partial-background-color), 0 1.5px var(--ol-partial-background-color), 1.5px 0 var(--ol-partial-background-color), 0 -1.5px var(--ol-partial-background-color);\n}\n\n.ol-scale-singlebar {\n position: relative;\n height: 10px;\n z-index: 9;\n box-sizing: border-box;\n border: 1px solid var(--ol-foreground-color);\n}\n\n.ol-scale-singlebar-even {\n background-color: var(--ol-subtle-foreground-color);\n}\n\n.ol-scale-singlebar-odd {\n background-color: var(--ol-background-color);\n}\n\n.ol-unsupported {\n display: none;\n}\n\n.ol-viewport,\n.ol-unselectable {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n}\n\n.ol-viewport canvas {\n all: unset;\n overflow: hidden;\n}\n\n.ol-viewport {\n touch-action: pan-x pan-y;\n}\n\n.ol-selectable {\n -webkit-touch-callout: default;\n -webkit-user-select: text;\n -moz-user-select: text;\n user-select: text;\n}\n\n.ol-grabbing {\n cursor: -webkit-grabbing;\n cursor: -moz-grabbing;\n cursor: grabbing;\n}\n\n.ol-grab {\n cursor: move;\n cursor: -webkit-grab;\n cursor: -moz-grab;\n cursor: grab;\n}\n\n.ol-control {\n position: absolute;\n background-color: var(--ol-subtle-background-color);\n border-radius: 4px;\n}\n\n.ol-zoom {\n top: .5em;\n left: .5em;\n}\n\n.ol-rotate {\n top: .5em;\n right: .5em;\n transition: opacity .25s linear, visibility 0s linear;\n}\n\n.ol-rotate.ol-hidden {\n opacity: 0;\n visibility: hidden;\n transition: opacity .25s linear, visibility 0s linear .25s;\n}\n\n.ol-zoom-extent {\n top: 4.643em;\n left: .5em;\n}\n\n.ol-full-screen {\n right: .5em;\n top: .5em;\n}\n\n.ol-control button {\n display: block;\n margin: 1px;\n padding: 0;\n color: var(--ol-subtle-foreground-color);\n font-weight: bold;\n text-decoration: none;\n font-size: inherit;\n text-align: center;\n height: 1.375em;\n width: 1.375em;\n line-height: .4em;\n background-color: var(--ol-background-color);\n border: none;\n border-radius: 2px;\n}\n\n.ol-control button::-moz-focus-inner {\n border: none;\n padding: 0;\n}\n\n.ol-zoom-extent button {\n line-height: 1.4em;\n}\n\n.ol-compass {\n display: block;\n font-weight: normal;\n will-change: transform;\n}\n\n.ol-touch .ol-control button {\n font-size: 1.5em;\n}\n\n.ol-touch .ol-zoom-extent {\n top: 5.5em;\n}\n\n.ol-control button:hover,\n.ol-control button:focus {\n text-decoration: none;\n outline: 1px solid var(--ol-subtle-foreground-color);\n color: var(--ol-foreground-color);\n}\n\n.ol-zoom .ol-zoom-in {\n border-radius: 2px 2px 0 0;\n}\n\n.ol-zoom .ol-zoom-out {\n border-radius: 0 0 2px 2px;\n}\n\n.ol-attribution {\n text-align: right;\n bottom: .5em;\n right: .5em;\n max-width: calc(100% - 1.3em);\n display: flex;\n flex-flow: row-reverse;\n align-items: center;\n}\n\n.ol-attribution a {\n color: var(--ol-subtle-foreground-color);\n text-decoration: none;\n}\n\n.ol-attribution ul {\n margin: 0;\n padding: 1px .5em;\n color: var(--ol-foreground-color);\n text-shadow: 0 0 2px var(--ol-background-color);\n font-size: 12px;\n}\n\n.ol-attribution li {\n display: inline;\n list-style: none;\n}\n\n.ol-attribution li:not(:last-child):after {\n content: " ";\n}\n\n.ol-attribution img {\n max-height: 2em;\n max-width: inherit;\n vertical-align: middle;\n}\n\n.ol-attribution button {\n flex-shrink: 0;\n}\n\n.ol-attribution.ol-collapsed ul {\n display: none;\n}\n\n.ol-attribution:not(.ol-collapsed) {\n background: var(--ol-partial-background-color);\n}\n\n.ol-attribution.ol-uncollapsible {\n bottom: 0;\n right: 0;\n border-radius: 4px 0 0;\n}\n\n.ol-attribution.ol-uncollapsible img {\n margin-top: -.2em;\n max-height: 1.6em;\n}\n\n.ol-attribution.ol-uncollapsible button {\n display: none;\n}\n\n.ol-zoomslider {\n top: 4.5em;\n left: .5em;\n height: 200px;\n}\n\n.ol-zoomslider button {\n position: relative;\n height: 10px;\n}\n\n.ol-touch .ol-zoomslider {\n top: 5.5em;\n}\n\n.ol-overviewmap {\n left: 0.5em;\n bottom: 0.5em;\n}\n\n.ol-overviewmap.ol-uncollapsible {\n bottom: 0;\n left: 0;\n border-radius: 0 4px 0 0;\n}\n\n.ol-overviewmap .ol-overviewmap-map,\n.ol-overviewmap button {\n display: block;\n}\n\n.ol-overviewmap .ol-overviewmap-map {\n border: 1px solid var(--ol-subtle-foreground-color);\n height: 150px;\n width: 150px;\n}\n\n.ol-overviewmap:not(.ol-collapsed) button {\n bottom: 0;\n left: 0;\n position: absolute;\n}\n\n.ol-overviewmap.ol-collapsed .ol-overviewmap-map,\n.ol-overviewmap.ol-uncollapsible button {\n display: none;\n}\n\n.ol-overviewmap:not(.ol-collapsed) {\n background: var(--ol-subtle-background-color);\n}\n\n.ol-overviewmap-box {\n border: 1.5px dotted var(--ol-subtle-foreground-color);\n}\n\n.ol-overviewmap .ol-overviewmap-box:hover {\n cursor: move;\n}\n\n.ol-overviewmap .ol-viewport:hover {\n cursor: pointer;\n}\n',""]);const a=s},4115(e,t,n){"use strict";e.exports=n.p+"fc3d2f2e3a203d0037c1.ttf"},4140(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(8305)},4195(e,t){"use strict";function n(e,t){var n=e.length;e.push(t);e:for(;0<n;){var i=n-1>>>1,r=e[i];if(!(0<o(r,t)))break e;e[i]=t,e[n]=r,n=i}}function i(e){return 0===e.length?null:e[0]}function r(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,r=e.length,s=r>>>1;i<s;){var a=2*(i+1)-1,l=e[a],c=a+1,u=e[c];if(0>o(l,n))c<r&&0>o(u,l)?(e[i]=u,e[c]=n,i=c):(e[i]=l,e[a]=n,i=a);else{if(!(c<r&&0>o(u,n)))break e;e[i]=u,e[c]=n,i=c}}}return t}function o(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var s=performance;t.unstable_now=function(){return s.now()}}else{var a=Date,l=a.now();t.unstable_now=function(){return a.now()-l}}var c=[],u=[],d=1,p=null,h=3,f=!1,_=!1,g=!1,m=!1,y="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,b="undefined"!=typeof setImmediate?setImmediate:null;function x(e){for(var t=i(u);null!==t;){if(null===t.callback)r(u);else{if(!(t.startTime<=e))break;r(u),t.sortIndex=t.expirationTime,n(c,t)}t=i(u)}}function w(e){if(g=!1,x(e),!_)if(null!==i(c))_=!0,C||(C=!0,k());else{var t=i(u);null!==t&&R(w,t.startTime-e)}}var k,C=!1,A=-1,S=5,E=-1;function I(){return!(!m&&t.unstable_now()-E<S)}function T(){if(m=!1,C){var e=t.unstable_now();E=e;var n=!0;try{e:{_=!1,g&&(g=!1,v(A),A=-1),f=!0;var o=h;try{t:{for(x(e),p=i(c);null!==p&&!(p.expirationTime>e&&I());){var s=p.callback;if("function"==typeof s){p.callback=null,h=p.priorityLevel;var a=s(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof a){p.callback=a,x(e),n=!0;break t}p===i(c)&&r(c),x(e)}else r(c);p=i(c)}if(null!==p)n=!0;else{var l=i(u);null!==l&&R(w,l.startTime-e),n=!1}}break e}finally{p=null,h=o,f=!1}n=void 0}}finally{n?k():C=!1}}}if("function"==typeof b)k=function(){b(T)};else if("undefined"!=typeof MessageChannel){var M=new MessageChannel,P=M.port2;M.port1.onmessage=T,k=function(){P.postMessage(null)}}else k=function(){y(T,0)};function R(e,n){A=y(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):S=0<e?Math.floor(1e3/e):5},t.unstable_getCurrentPriorityLevel=function(){return h},t.unstable_next=function(e){switch(h){case 1:case 2:case 3:var t=3;break;default:t=h}var n=h;h=t;try{return e()}finally{h=n}},t.unstable_requestPaint=function(){m=!0},t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=h;h=e;try{return t()}finally{h=n}},t.unstable_scheduleCallback=function(e,r,o){var s=t.unstable_now();switch(o="object"==typeof o&&null!==o&&"number"==typeof(o=o.delay)&&0<o?s+o:s,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return e={id:d++,callback:r,priorityLevel:e,startTime:o,expirationTime:a=o+a,sortIndex:-1},o>s?(e.sortIndex=o,n(u,e),null===i(c)&&e===i(u)&&(g?(v(A),A=-1):g=!0,R(w,o-s))):(e.sortIndex=a,n(c,e),_||f||(_=!0,C||(C=!0,k()))),e},t.unstable_shouldYield=I,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},4408(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-pathDetails-elevationWidget-ElevationWidget-module__container {\n position: relative;\n background-color: rgba(255, 255, 255, 0.95);\n border-radius: 0.5rem;\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n pointer-events: auto;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__containerExpanded {\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__canvasContainer {\n position: relative;\n width: 100%;\n cursor: crosshair;\n overflow: hidden;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__chartCanvas {\n display: block;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__overlayCanvas {\n position: absolute;\n top: 0;\n left: 0;\n pointer-events: none;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__controls {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.35rem 0.5rem 0;\n flex-wrap: nowrap;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__buttons {\n display: flex;\n align-items: center;\n gap: 0.25rem;\n margin-left: auto;\n flex-shrink: 0;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__alternativeButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: #f8f8f9;\n cursor: pointer;\n flex-shrink: 0;\n padding: 0;\n position: relative;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__alternativeButton:hover {\n background: #e8e8e8;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__alternativeButtonActive {\n background: #e8eef5;\n border-color: #888;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__alternativeNumber {\n font-size: 12px;\n font-weight: 700;\n color: #555;\n line-height: 1;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__inclineButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: #f8f8f9;\n cursor: pointer;\n flex-shrink: 0;\n padding: 0;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__inclineButton:hover {\n background: #e8e8e8;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__inclineButtonActive {\n background: #e0f0e4;\n border-color: #2E7D32;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__expandButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: #f8f8f9;\n cursor: pointer;\n font-size: 9px;\n color: #666;\n flex-shrink: 0;\n padding: 0 0 0 1px;\n}\n\n.src-pathDetails-elevationWidget-ElevationWidget-module__expandButton:hover {\n background: #e8e8e8;\n color: #333;\n}\n\n@media (max-width: 44rem) {\n .src-pathDetails-elevationWidget-ElevationWidget-module__expandButton {\n display: none;\n }\n\n .src-pathDetails-elevationWidget-ElevationWidget-module__container {\n border-radius: 0;\n }\n}\n",""]),s.locals={container:"src-pathDetails-elevationWidget-ElevationWidget-module__container",containerExpanded:"src-pathDetails-elevationWidget-ElevationWidget-module__containerExpanded",canvasContainer:"src-pathDetails-elevationWidget-ElevationWidget-module__canvasContainer",chartCanvas:"src-pathDetails-elevationWidget-ElevationWidget-module__chartCanvas",overlayCanvas:"src-pathDetails-elevationWidget-ElevationWidget-module__overlayCanvas",controls:"src-pathDetails-elevationWidget-ElevationWidget-module__controls",buttons:"src-pathDetails-elevationWidget-ElevationWidget-module__buttons",alternativeButton:"src-pathDetails-elevationWidget-ElevationWidget-module__alternativeButton",alternativeButtonActive:"src-pathDetails-elevationWidget-ElevationWidget-module__alternativeButtonActive",alternativeNumber:"src-pathDetails-elevationWidget-ElevationWidget-module__alternativeNumber",inclineButton:"src-pathDetails-elevationWidget-ElevationWidget-module__inclineButton",inclineButtonActive:"src-pathDetails-elevationWidget-ElevationWidget-module__inclineButtonActive",expandButton:"src-pathDetails-elevationWidget-ElevationWidget-module__expandButton"};const a=s},4457(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-Search-module__searchBoxParent {\n margin: 0.1rem 0.5rem 0.5rem 0.5rem;\n}\n\n.src-sidebar-search-Search-module__searchBox {\n display: grid;\n grid-template-columns: auto 1fr auto;\n align-items: center;\n grid-gap: 0.5rem;\n margin: 0.5rem 0.1rem 0.7rem 0;\n}\n\n.src-sidebar-search-Search-module__searchBoxScrollable {\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.src-sidebar-search-Search-module__searchBoxInput {\n grid-column: 2 / span 2;\n}\n\n.src-sidebar-search-Search-module__removeSearchBox {\n grid-column: 4;\n width: 1rem;\n color: #adadad;\n justify-self: center;\n}\n\n.src-sidebar-search-Search-module__markerContainer {\n grid-column: 1 / span 1;\n align-self: center;\n justify-self: center;\n width: 1rem;\n}\n\n.src-sidebar-search-Search-module__markerContainer > svg {\n height: 100%;\n width: 100%;\n}\n\n.src-sidebar-search-Search-module__searchOptions {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n margin: 1rem 0;\n}\n\n.src-sidebar-search-Search-module__geocodingResults {\n grid-column: 1 / span 3;\n}\n\n.src-sidebar-search-Search-module__addSearchBox {\n font-size: 14px;\n color: gray;\n}\n\n.src-sidebar-search-Search-module__settingsButton,\n.src-sidebar-search-Search-module__settingsButton:hover {\n font-size: 14px;\n font-weight: bold;\n color: rgba(39, 100, 200, 0.85);\n}\n\n.src-sidebar-search-Search-module__settingsButton:hover {\n color: rgb(35, 92, 185);\n}\n\n.src-sidebar-search-Search-module__lastSearchLine {\n display: flex;\n flex-direction: row;\n justify-content: flex-end;\n margin-right: 2px;\n}\n\n.src-sidebar-search-Search-module__addSearchBox:hover path,\n.src-sidebar-search-Search-module__infoButton:hover path {\n fill: black;\n}\n\n.src-sidebar-search-Search-module__infoButton:active path,\n.src-sidebar-search-Search-module__addSearchBox:active path,\n.src-sidebar-search-Search-module__markerTarget:active path {\n fill: lightgray;\n}\n\n.src-sidebar-search-Search-module__addSearchBox svg {\n width: 18px;\n height: 18px;\n}\n\n.src-sidebar-search-Search-module__addSearchBox svg {\n color: #adadad;\n padding: 0 1.25em 0 0;\n}\n\n.src-sidebar-search-Search-module__addSearchBox {\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n}\n\n.src-sidebar-search-Search-module__infoButton svg {\n fill: #adadad;\n}\n\n.src-sidebar-search-Search-module__markerContainer:hover svg {\n fill: black !important;\n}\n\n.src-sidebar-search-Search-module__markerContainer,\n.src-sidebar-search-Search-module__markerSelected,\n.src-sidebar-search-Search-module__markerTarget {\n grid-column: 1 / span 1;\n align-self: center;\n justify-self: center;\n width: 1rem;\n}\n\n.src-sidebar-search-Search-module__markerContainer {\n outline: none;\n}\n\n.src-sidebar-search-Search-module__markerTarget:hover svg {\n fill: black;\n}\n\n.src-sidebar-search-Search-module__markerContainer > svg,\n.src-sidebar-search-Search-module__markerTarget > svg {\n height: 100%;\n width: 100%;\n}\n\n.src-sidebar-search-Search-module__markerSelected {\n margin-left: -4px;\n}\n\n.src-sidebar-search-Search-module__markerTarget > svg {\n transform: scaleX(1.7) scaleY(1.5);\n margin-left: 3px;\n fill: gray;\n}\n\n.src-sidebar-search-Search-module__dropPreview > svg {\n fill: black;\n}\n\n.src-sidebar-search-Search-module__hide {\n visibility: hidden;\n}\n",""]),s.locals={searchBoxParent:"src-sidebar-search-Search-module__searchBoxParent",searchBox:"src-sidebar-search-Search-module__searchBox",searchBoxScrollable:"src-sidebar-search-Search-module__searchBoxScrollable",searchBoxInput:"src-sidebar-search-Search-module__searchBoxInput",removeSearchBox:"src-sidebar-search-Search-module__removeSearchBox",markerContainer:"src-sidebar-search-Search-module__markerContainer",searchOptions:"src-sidebar-search-Search-module__searchOptions",geocodingResults:"src-sidebar-search-Search-module__geocodingResults",addSearchBox:"src-sidebar-search-Search-module__addSearchBox",settingsButton:"src-sidebar-search-Search-module__settingsButton",lastSearchLine:"src-sidebar-search-Search-module__lastSearchLine",infoButton:"src-sidebar-search-Search-module__infoButton",markerTarget:"src-sidebar-search-Search-module__markerTarget",markerSelected:"src-sidebar-search-Search-module__markerSelected",dropPreview:"src-sidebar-search-Search-module__dropPreview",hide:"src-sidebar-search-Search-module__hide"};const a=s},4468(e,t,n){!function(e){var t={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=e.Pos;function i(e,n){return"pairs"==n&&"string"==typeof e?e:"object"==typeof e&&null!=e[n]?e[n]:t[n]}e.defineOption("autoCloseBrackets",!1,function(t,n,s){s&&s!=e.Init&&(t.removeKeyMap(r),t.state.closeBrackets=null),n&&(o(i(n,"pairs")),t.state.closeBrackets=n,t.addKeyMap(r))});var r={Backspace:function(t){var r=a(t);if(!r||t.getOption("disableInput"))return e.Pass;for(var o=i(r,"pairs"),s=t.listSelections(),l=0;l<s.length;l++){if(!s[l].empty())return e.Pass;var c=u(t,s[l].head);if(!c||o.indexOf(c)%2!=0)return e.Pass}for(l=s.length-1;l>=0;l--){var d=s[l].head;t.replaceRange("",n(d.line,d.ch-1),n(d.line,d.ch+1),"+delete")}},Enter:function(t){var n=a(t),r=n&&i(n,"explode");if(!r||t.getOption("disableInput"))return e.Pass;for(var o=t.listSelections(),s=0;s<o.length;s++){if(!o[s].empty())return e.Pass;var c=u(t,o[s].head);if(!c||r.indexOf(c)%2!=0)return e.Pass}t.operation(function(){var e=t.lineSeparator()||"\n";t.replaceSelection(e+e,null),l(t,-1),o=t.listSelections();for(var n=0;n<o.length;n++){var i=o[n].head.line;t.indentLine(i,null,!0),t.indentLine(i+1,null,!0)}})}};function o(e){for(var t=0;t<e.length;t++){var n=e.charAt(t),i="'"+n+"'";r[i]||(r[i]=s(n))}}function s(t){return function(r){return function(t,r){var o=a(t);if(!o||t.getOption("disableInput"))return e.Pass;var s=i(o,"pairs"),u=s.indexOf(r);if(-1==u)return e.Pass;for(var p,h=i(o,"closeBefore"),f=i(o,"triples"),_=s.charAt(u+1)==r,g=t.listSelections(),m=u%2==0,y=0;y<g.length;y++){var v,b=g[y],x=b.head,w=t.getRange(x,n(x.line,x.ch+1));if(m&&!b.empty())v="surround";else if(!_&&m||w!=r)if(_&&x.ch>1&&f.indexOf(r)>=0&&t.getRange(n(x.line,x.ch-2),x)==r+r){if(x.ch>2&&/\bstring/.test(t.getTokenTypeAt(n(x.line,x.ch-2))))return e.Pass;v="addFour"}else if(_){var k=0==x.ch?" ":t.getRange(n(x.line,x.ch-1),x);if(e.isWordChar(w)||k==r||e.isWordChar(k))return e.Pass;v="both"}else{if(!m||!(0===w.length||/\s/.test(w)||h.indexOf(w)>-1))return e.Pass;v="both"}else v=_&&d(t,x)?"both":f.indexOf(r)>=0&&t.getRange(x,n(x.line,x.ch+3))==r+r+r?"skipThree":"skip";if(p){if(p!=v)return e.Pass}else p=v}var C=u%2?s.charAt(u-1):r,A=u%2?r:s.charAt(u+1);t.operation(function(){if("skip"==p)l(t,1);else if("skipThree"==p)l(t,3);else if("surround"==p){for(var e=t.getSelections(),n=0;n<e.length;n++)e[n]=C+e[n]+A;for(t.replaceSelections(e,"around"),e=t.listSelections().slice(),n=0;n<e.length;n++)e[n]=c(e[n]);t.setSelections(e)}else"both"==p?(t.replaceSelection(C+A,null),t.triggerElectric(C+A),l(t,-1)):"addFour"==p&&(t.replaceSelection(C+C+C+C,"before"),l(t,1))})}(r,t)}}function a(e){var t=e.state.closeBrackets;return!t||t.override?t:e.getModeAt(e.getCursor()).closeBrackets||t}function l(e,t){for(var n=[],i=e.listSelections(),r=0,o=0;o<i.length;o++){var s=i[o];s.head==e.getCursor()&&(r=o);var a=s.head.ch||t>0?{line:s.head.line,ch:s.head.ch+t}:{line:s.head.line-1};n.push({anchor:a,head:a})}e.setSelections(n,r)}function c(t){var i=e.cmpPos(t.anchor,t.head)>0;return{anchor:new n(t.anchor.line,t.anchor.ch+(i?-1:1)),head:new n(t.head.line,t.head.ch+(i?1:-1))}}function u(e,t){var i=e.getRange(n(t.line,t.ch-1),n(t.line,t.ch+1));return 2==i.length?i:null}function d(e,t){var i=e.getTokenAt(n(t.line,t.ch+1));return/\bstring/.test(i.type)&&i.start==t.ch&&(0==t.ch||!/\bstring/.test(e.getTokenTypeAt(t)))}o(t.pairs+"`")}(n(1719))},4762(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,"/* BASICS */\n\n.CodeMirror {\n /* Set height, width, borders, and global font properties here */\n font-family: monospace;\n height: 300px;\n color: black;\n direction: ltr;\n}\n\n/* PADDING */\n\n.CodeMirror-lines {\n padding: 4px 0; /* Vertical padding around content */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n padding: 0 4px; /* Horizontal padding of content */\n}\n\n.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n background-color: white; /* The little square between H and V scrollbars */\n}\n\n/* GUTTER */\n\n.CodeMirror-gutters {\n border-right: 1px solid #ddd;\n background-color: #f7f7f7;\n white-space: nowrap;\n}\n.CodeMirror-linenumbers {}\n.CodeMirror-linenumber {\n padding: 0 3px 0 5px;\n min-width: 20px;\n text-align: right;\n color: #999;\n white-space: nowrap;\n}\n\n.CodeMirror-guttermarker { color: black; }\n.CodeMirror-guttermarker-subtle { color: #999; }\n\n/* CURSOR */\n\n.CodeMirror-cursor {\n border-left: 1px solid black;\n border-right: none;\n width: 0;\n}\n/* Shown when moving in bi-directional text */\n.CodeMirror div.CodeMirror-secondarycursor {\n border-left: 1px solid silver;\n}\n.cm-fat-cursor .CodeMirror-cursor {\n width: auto;\n border: 0 !important;\n background: #7e7;\n}\n.cm-fat-cursor div.CodeMirror-cursors {\n z-index: 1;\n}\n.cm-fat-cursor .CodeMirror-line::selection,\n.cm-fat-cursor .CodeMirror-line > span::selection, \n.cm-fat-cursor .CodeMirror-line > span > span::selection { background: transparent; }\n.cm-fat-cursor .CodeMirror-line::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span::-moz-selection,\n.cm-fat-cursor .CodeMirror-line > span > span::-moz-selection { background: transparent; }\n.cm-fat-cursor { caret-color: transparent; }\n@-moz-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@-webkit-keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n@keyframes blink {\n 0% {}\n 50% { background-color: transparent; }\n 100% {}\n}\n\n/* Can style cursor different in overwrite (non-insert) mode */\n.CodeMirror-overwrite .CodeMirror-cursor {}\n\n.cm-tab { display: inline-block; text-decoration: inherit; }\n\n.CodeMirror-rulers {\n position: absolute;\n left: 0; right: 0; top: -50px; bottom: 0;\n overflow: hidden;\n}\n.CodeMirror-ruler {\n border-left: 1px solid #ccc;\n top: 0; bottom: 0;\n position: absolute;\n}\n\n/* DEFAULT THEME */\n\n.cm-s-default .cm-header {color: blue;}\n.cm-s-default .cm-quote {color: #090;}\n.cm-negative {color: #d44;}\n.cm-positive {color: #292;}\n.cm-header, .cm-strong {font-weight: bold;}\n.cm-em {font-style: italic;}\n.cm-link {text-decoration: underline;}\n.cm-strikethrough {text-decoration: line-through;}\n\n.cm-s-default .cm-keyword {color: #708;}\n.cm-s-default .cm-atom {color: #219;}\n.cm-s-default .cm-number {color: #164;}\n.cm-s-default .cm-def {color: #00f;}\n.cm-s-default .cm-variable,\n.cm-s-default .cm-punctuation,\n.cm-s-default .cm-property,\n.cm-s-default .cm-operator {}\n.cm-s-default .cm-variable-2 {color: #05a;}\n.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}\n.cm-s-default .cm-comment {color: #a50;}\n.cm-s-default .cm-string {color: #a11;}\n.cm-s-default .cm-string-2 {color: #f50;}\n.cm-s-default .cm-meta {color: #555;}\n.cm-s-default .cm-qualifier {color: #555;}\n.cm-s-default .cm-builtin {color: #30a;}\n.cm-s-default .cm-bracket {color: #997;}\n.cm-s-default .cm-tag {color: #170;}\n.cm-s-default .cm-attribute {color: #00c;}\n.cm-s-default .cm-hr {color: #999;}\n.cm-s-default .cm-link {color: #00c;}\n\n.cm-s-default .cm-error {color: #f00;}\n.cm-invalidchar {color: #f00;}\n\n.CodeMirror-composing { border-bottom: 2px solid; }\n\n/* Default styles for common addons */\n\ndiv.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}\ndiv.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}\n.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }\n.CodeMirror-activeline-background {background: #e8f2ff;}\n\n/* STOP */\n\n/* The rest of this file contains styles related to the mechanics of\n the editor. You probably shouldn't touch them. */\n\n.CodeMirror {\n position: relative;\n overflow: hidden;\n background: white;\n}\n\n.CodeMirror-scroll {\n overflow: scroll !important; /* Things will break if this is overridden */\n /* 50px is the magic margin used to hide the element's real scrollbars */\n /* See overflow: hidden in .CodeMirror */\n margin-bottom: -50px; margin-right: -50px;\n padding-bottom: 50px;\n height: 100%;\n outline: none; /* Prevent dragging from highlighting the element */\n position: relative;\n z-index: 0;\n}\n.CodeMirror-sizer {\n position: relative;\n border-right: 50px solid transparent;\n}\n\n/* The fake, visible scrollbars. Used to force redraw during scrolling\n before actual scrolling happens, thus preventing shaking and\n flickering artifacts. */\n.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {\n position: absolute;\n z-index: 6;\n display: none;\n outline: none;\n}\n.CodeMirror-vscrollbar {\n right: 0; top: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n.CodeMirror-hscrollbar {\n bottom: 0; left: 0;\n overflow-y: hidden;\n overflow-x: scroll;\n}\n.CodeMirror-scrollbar-filler {\n right: 0; bottom: 0;\n}\n.CodeMirror-gutter-filler {\n left: 0; bottom: 0;\n}\n\n.CodeMirror-gutters {\n position: absolute; left: 0; top: 0;\n min-height: 100%;\n z-index: 3;\n}\n.CodeMirror-gutter {\n white-space: normal;\n height: 100%;\n display: inline-block;\n vertical-align: top;\n margin-bottom: -50px;\n}\n.CodeMirror-gutter-wrapper {\n position: absolute;\n z-index: 4;\n background: none !important;\n border: none !important;\n}\n.CodeMirror-gutter-background {\n position: absolute;\n top: 0; bottom: 0;\n z-index: 4;\n}\n.CodeMirror-gutter-elt {\n position: absolute;\n cursor: default;\n z-index: 4;\n}\n.CodeMirror-gutter-wrapper ::selection { background-color: transparent }\n.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }\n\n.CodeMirror-lines {\n cursor: text;\n min-height: 1px; /* prevents collapsing before first draw */\n}\n.CodeMirror pre.CodeMirror-line,\n.CodeMirror pre.CodeMirror-line-like {\n /* Reset some styles that the rest of the page might have set */\n -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;\n border-width: 0;\n background: transparent;\n font-family: inherit;\n font-size: inherit;\n margin: 0;\n white-space: pre;\n word-wrap: normal;\n line-height: inherit;\n color: inherit;\n z-index: 2;\n position: relative;\n overflow: visible;\n -webkit-tap-highlight-color: transparent;\n -webkit-font-variant-ligatures: contextual;\n font-variant-ligatures: contextual;\n}\n.CodeMirror-wrap pre.CodeMirror-line,\n.CodeMirror-wrap pre.CodeMirror-line-like {\n word-wrap: break-word;\n white-space: pre-wrap;\n word-break: normal;\n}\n\n.CodeMirror-linebackground {\n position: absolute;\n left: 0; right: 0; top: 0; bottom: 0;\n z-index: 0;\n}\n\n.CodeMirror-linewidget {\n position: relative;\n z-index: 2;\n padding: 0.1px; /* Force widget margins to stay inside of the container */\n}\n\n.CodeMirror-widget {}\n\n.CodeMirror-rtl pre { direction: rtl; }\n\n.CodeMirror-code {\n outline: none;\n}\n\n/* Force content-box sizing for the elements where we expect it */\n.CodeMirror-scroll,\n.CodeMirror-sizer,\n.CodeMirror-gutter,\n.CodeMirror-gutters,\n.CodeMirror-linenumber {\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\n\n.CodeMirror-measure {\n position: absolute;\n width: 100%;\n height: 0;\n overflow: hidden;\n visibility: hidden;\n}\n\n.CodeMirror-cursor {\n position: absolute;\n pointer-events: none;\n}\n.CodeMirror-measure pre { position: static; }\n\ndiv.CodeMirror-cursors {\n visibility: hidden;\n position: relative;\n z-index: 3;\n}\ndiv.CodeMirror-dragcursors {\n visibility: visible;\n}\n\n.CodeMirror-focused div.CodeMirror-cursors {\n visibility: visible;\n}\n\n.CodeMirror-selected { background: #d9d9d9; }\n.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }\n.CodeMirror-crosshair { cursor: crosshair; }\n.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }\n.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }\n\n.cm-searching {\n background-color: #ffa;\n background-color: rgba(255, 255, 0, .4);\n}\n\n/* Used to force a border model for a node */\n.cm-force-border { padding-right: .1px; }\n\n@media print {\n /* Hide the cursor when printing */\n .CodeMirror div.CodeMirror-cursors {\n visibility: hidden;\n }\n}\n\n/* See issue #2901 */\n.cm-tab-wrap-hack:after { content: ''; }\n\n/* Help users use markselection to safely style text background */\nspan.CodeMirror-selectedtext { background: none; }\n",""]);const a=s},4825(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-map-ContextMenuContent-module__wrapper {\n display: flex;\n flex-direction: column;\n max-width: 11em;\n}\n\nbutton.src-map-ContextMenuContent-module__entry div {\n margin-bottom: 2px;\n padding-right: 8px;\n}\n\n.src-map-ContextMenuContent-module__entry {\n display: flex;\n align-items: center;\n\n border: none;\n background: none;\n text-align: left;\n cursor: pointer;\n outline: inherit;\n font-size: 16px;\n padding: 0.15em 0.8em;\n}\n\n.src-map-ContextMenuContent-module__entry:hover {\n background-color: #ececec;\n}\n\n.src-map-ContextMenuContent-module__entry:active {\n background-color: #c6c6c6;\n}\n\n.src-map-ContextMenuContent-module__entry:disabled {\n color: lightgray;\n}\n",""]),s.locals={wrapper:"src-map-ContextMenuContent-module__wrapper",entry:"src-map-ContextMenuContent-module__entry"};const a=s},4858(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-SettingsBox-module__parent {\n margin-top: 15px;\n padding: 15px 5px 10px 5px;\n border-top: 1px lightgray solid;\n border-bottom: 1px lightgray solid;\n}\n\n.src-sidebar-SettingsBox-module__settingsTable {\n display: flex;\n flex-direction: column;\n align-items: start;\n gap: 0;\n margin: 0.2rem 0.5rem 1.5rem 0;\n}\n\n.src-sidebar-SettingsBox-module__settingsTable svg {\n scale: 0.7;\n margin-left: calc(-8px); /* scaling svg creates white space around it */\n}\n\n.src-sidebar-SettingsBox-module__settingsToggle {\n cursor: pointer;\n display: grid;\n grid-template-columns: 50px auto;\n align-content: flex-start;\n align-items: center;\n}\n\n.src-sidebar-SettingsBox-module__groupProfileOptionsHeader {\n font-weight: bold;\n}\n\n.src-sidebar-SettingsBox-module__groupProfileOptions div {\n padding: 4px 20px;\n}\n\n.src-sidebar-SettingsBox-module__groupProfileOptions label,\ninput {\n cursor: pointer;\n}\n\n.src-sidebar-SettingsBox-module__groupProfileOptions label {\n margin-left: 10px;\n}\n\n.src-sidebar-SettingsBox-module__toggleButton {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 2rem;\n}\n\n.src-sidebar-SettingsBox-module__settingsCheckboxes {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n flex-wrap: wrap;\n height: 2rem;\n}\n\n.src-sidebar-SettingsBox-module__settingsCheckbox label {\n padding-left: 3px;\n}\n\n.src-sidebar-SettingsBox-module__settingsCheckbox:hover label,\n.src-sidebar-SettingsBox-module__settingsCheckbox:hover input {\n cursor: pointer;\n}\n\n.src-sidebar-SettingsBox-module__infoLine {\n padding: 10px 2px 0 0;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n}\n\n.src-sidebar-SettingsBox-module__infoLine a {\n color: gray;\n text-decoration: none;\n}\n\n.src-sidebar-SettingsBox-module__infoLine a:hover {\n color: black;\n}\n\n.src-sidebar-SettingsBox-module__title {\n font-weight: bold;\n}\n\n.src-sidebar-SettingsBox-module__title,\n.src-sidebar-SettingsBox-module__infoLine,\n.src-sidebar-SettingsBox-module__settingsTable,\n.src-sidebar-SettingsBox-module__groupProfileOptionsHeader {\n font-size: 14px;\n color: gray;\n}\n",""]),s.locals={parent:"src-sidebar-SettingsBox-module__parent",settingsTable:"src-sidebar-SettingsBox-module__settingsTable",settingsToggle:"src-sidebar-SettingsBox-module__settingsToggle",groupProfileOptionsHeader:"src-sidebar-SettingsBox-module__groupProfileOptionsHeader",groupProfileOptions:"src-sidebar-SettingsBox-module__groupProfileOptions",toggleButton:"src-sidebar-SettingsBox-module__toggleButton",settingsCheckboxes:"src-sidebar-SettingsBox-module__settingsCheckboxes",settingsCheckbox:"src-sidebar-SettingsBox-module__settingsCheckbox",infoLine:"src-sidebar-SettingsBox-module__infoLine",title:"src-sidebar-SettingsBox-module__title"};const a=s},4912(e){"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg=="},4922(e,t,n){"use strict";e.exports=n(1208)},5139(e){"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC"},5397(e,t,n){!function(e){"use strict";var t="CodeMirror-hint-active";function n(e,t){if(this.cm=e,this.options=t,this.widget=null,this.debounce=0,this.tick=0,this.startPos=this.cm.getCursor("start"),this.startLen=this.cm.getLine(this.startPos.line).length-this.cm.getSelection().length,this.options.updateOnCursorActivity){var n=this;e.on("cursorActivity",this.activityFunc=function(){n.cursorActivity()})}}e.showHint=function(e,t,n){if(!t)return e.showHint(n);n&&n.async&&(t.async=!0);var i={hint:t};if(n)for(var r in n)i[r]=n[r];return e.showHint(i)},e.defineExtension("showHint",function(t){t=function(e,t,n){var i=e.options.hintOptions,r={};for(var o in c)r[o]=c[o];if(i)for(var o in i)void 0!==i[o]&&(r[o]=i[o]);if(n)for(var o in n)void 0!==n[o]&&(r[o]=n[o]);return r.hint.resolve&&(r.hint=r.hint.resolve(e,t)),r}(this,this.getCursor("start"),t);var i=this.listSelections();if(!(i.length>1)){if(this.somethingSelected()){if(!t.hint.supportsSelection)return;for(var r=0;r<i.length;r++)if(i[r].head.line!=i[r].anchor.line)return}this.state.completionActive&&this.state.completionActive.close();var o=this.state.completionActive=new n(this,t);o.options.hint&&(e.signal(this,"startCompletion",this),o.update(!0))}}),e.defineExtension("closeHint",function(){this.state.completionActive&&this.state.completionActive.close()});var i=window.requestAnimationFrame||function(e){return setTimeout(e,1e3/60)},r=window.cancelAnimationFrame||clearTimeout;function o(e){return"string"==typeof e?e:e.text}function s(e,t){for(;t&&t!=e;){if("LI"===t.nodeName.toUpperCase()&&t.parentNode==e)return t;t=t.parentNode}}function a(n,i){this.id="cm-complete-"+Math.floor(Math.random(1e6)),this.completion=n,this.data=i,this.picked=!1;var r=this,a=n.cm,l=a.getInputField().ownerDocument,c=l.defaultView||l.parentWindow,u=this.hints=l.createElement("ul");u.setAttribute("role","listbox"),u.setAttribute("aria-expanded","true"),u.id=this.id;var d=n.cm.options.theme;u.className="CodeMirror-hints "+d,this.selectedHint=i.selectedHint||0;for(var p=i.list,h=0;h<p.length;++h){var f=u.appendChild(l.createElement("li")),_=p[h],g="CodeMirror-hint"+(h!=this.selectedHint?"":" "+t);null!=_.className&&(g=_.className+" "+g),f.className=g,h==this.selectedHint&&f.setAttribute("aria-selected","true"),f.id=this.id+"-"+h,f.setAttribute("role","option"),_.render?_.render(f,i,_):f.appendChild(l.createTextNode(_.displayText||o(_))),f.hintId=h}var m=n.options.container||l.body,y=a.cursorCoords(n.options.alignWithWord?i.from:null),v=y.left,b=y.bottom,x=!0,w=0,k=0;if(m!==l.body){var C=-1!==["absolute","relative","fixed"].indexOf(c.getComputedStyle(m).position)?m:m.offsetParent,A=C.getBoundingClientRect(),S=l.body.getBoundingClientRect();w=A.left-S.left-C.scrollLeft,k=A.top-S.top-C.scrollTop}u.style.left=v-w+"px",u.style.top=b-k+"px";var E=c.innerWidth||Math.max(l.body.offsetWidth,l.documentElement.offsetWidth),I=c.innerHeight||Math.max(l.body.offsetHeight,l.documentElement.offsetHeight);m.appendChild(u),a.getInputField().setAttribute("aria-autocomplete","list"),a.getInputField().setAttribute("aria-owns",this.id),a.getInputField().setAttribute("aria-activedescendant",this.id+"-"+this.selectedHint);var T,M=n.options.moveOnOverlap?u.getBoundingClientRect():new DOMRect,P=!!n.options.paddingForScrollbar&&u.scrollHeight>u.clientHeight+1;if(setTimeout(function(){T=a.getScrollInfo()}),M.bottom-I>0){var R=M.bottom-M.top,z=M.top-(y.bottom-y.top)-2;I-M.top<z?(R>z&&(u.style.height=(R=z)+"px"),u.style.top=(b=y.top-R)-k+"px",x=!1):u.style.height=I-M.top-2+"px"}var L,O=M.right-E;if(P&&(O+=a.display.nativeBarWidth),O>0&&(M.right-M.left>E&&(u.style.width=E-5+"px",O-=M.right-M.left-E),u.style.left=(v=Math.max(y.left-O-w,0))+"px"),P)for(var F=u.firstChild;F;F=F.nextSibling)F.style.paddingRight=a.display.nativeBarWidth+"px";a.addKeyMap(this.keyMap=function(e,t){var n={Up:function(){t.moveFocus(-1)},Down:function(){t.moveFocus(1)},PageUp:function(){t.moveFocus(1-t.menuSize(),!0)},PageDown:function(){t.moveFocus(t.menuSize()-1,!0)},Home:function(){t.setFocus(0)},End:function(){t.setFocus(t.length-1)},Enter:t.pick,Tab:t.pick,Esc:t.close};/Mac/.test(navigator.platform)&&(n["Ctrl-P"]=function(){t.moveFocus(-1)},n["Ctrl-N"]=function(){t.moveFocus(1)});var i=e.options.customKeys,r=i?{}:n;function o(e,i){var o;o="string"!=typeof i?function(e){return i(e,t)}:n.hasOwnProperty(i)?n[i]:i,r[e]=o}if(i)for(var s in i)i.hasOwnProperty(s)&&o(s,i[s]);var a=e.options.extraKeys;if(a)for(var s in a)a.hasOwnProperty(s)&&o(s,a[s]);return r}(n,{moveFocus:function(e,t){r.changeActive(r.selectedHint+e,t)},setFocus:function(e){r.changeActive(e)},menuSize:function(){return r.screenAmount()},length:p.length,close:function(){n.close()},pick:function(){r.pick()},data:i})),n.options.closeOnUnfocus&&(a.on("blur",this.onBlur=function(){L=setTimeout(function(){n.close()},100)}),a.on("focus",this.onFocus=function(){clearTimeout(L)})),a.on("scroll",this.onScroll=function(){var e=a.getScrollInfo(),t=a.getWrapperElement().getBoundingClientRect();T||(T=a.getScrollInfo());var i=b+T.top-e.top,r=i-(c.pageYOffset||(l.documentElement||l.body).scrollTop);if(x||(r+=u.offsetHeight),r<=t.top||r>=t.bottom)return n.close();u.style.top=i+"px",u.style.left=v+T.left-e.left+"px"}),e.on(u,"dblclick",function(e){var t=s(u,e.target||e.srcElement);t&&null!=t.hintId&&(r.changeActive(t.hintId),r.pick())}),e.on(u,"click",function(e){var t=s(u,e.target||e.srcElement);t&&null!=t.hintId&&(r.changeActive(t.hintId),n.options.completeOnSingleClick&&r.pick())}),e.on(u,"mousedown",function(){setTimeout(function(){a.focus()},20)});var j=this.getSelectedHintRange();return 0===j.from&&0===j.to||this.scrollToActive(),e.signal(i,"select",p[this.selectedHint],u.childNodes[this.selectedHint]),!0}function l(e,t,n,i){if(e.async)e(t,i,n);else{var r=e(t,n);r&&r.then?r.then(i):i(r)}}n.prototype={close:function(){this.active()&&(this.cm.state.completionActive=null,this.tick=null,this.options.updateOnCursorActivity&&this.cm.off("cursorActivity",this.activityFunc),this.widget&&this.data&&e.signal(this.data,"close"),this.widget&&this.widget.close(),e.signal(this.cm,"endCompletion",this.cm))},active:function(){return this.cm.state.completionActive==this},pick:function(t,n){var i=t.list[n],r=this;this.cm.operation(function(){i.hint?i.hint(r.cm,t,i):r.cm.replaceRange(o(i),i.from||t.from,i.to||t.to,"complete"),e.signal(t,"pick",i),r.cm.scrollIntoView()}),this.options.closeOnPick&&this.close()},cursorActivity:function(){this.debounce&&(r(this.debounce),this.debounce=0);var e=this.startPos;this.data&&(e=this.data.from);var t=this.cm.getCursor(),n=this.cm.getLine(t.line);if(t.line!=this.startPos.line||n.length-t.ch!=this.startLen-this.startPos.ch||t.ch<e.ch||this.cm.somethingSelected()||!t.ch||this.options.closeCharacters.test(n.charAt(t.ch-1)))this.close();else{var o=this;this.debounce=i(function(){o.update()}),this.widget&&this.widget.disable()}},update:function(e){if(null!=this.tick){var t=this,n=++this.tick;l(this.options.hint,this.cm,this.options,function(i){t.tick==n&&t.finishUpdate(i,e)})}},finishUpdate:function(t,n){this.data&&e.signal(this.data,"update");var i=this.widget&&this.widget.picked||n&&this.options.completeSingle;this.widget&&this.widget.close(),this.data=t,t&&t.list.length&&(i&&1==t.list.length?this.pick(t,0):(this.widget=new a(this,t),e.signal(t,"shown")))}},a.prototype={close:function(){if(this.completion.widget==this){this.completion.widget=null,this.hints.parentNode&&this.hints.parentNode.removeChild(this.hints),this.completion.cm.removeKeyMap(this.keyMap);var e=this.completion.cm.getInputField();e.removeAttribute("aria-activedescendant"),e.removeAttribute("aria-owns");var t=this.completion.cm;this.completion.options.closeOnUnfocus&&(t.off("blur",this.onBlur),t.off("focus",this.onFocus)),t.off("scroll",this.onScroll)}},disable:function(){this.completion.cm.removeKeyMap(this.keyMap);var e=this;this.keyMap={Enter:function(){e.picked=!0}},this.completion.cm.addKeyMap(this.keyMap)},pick:function(){this.completion.pick(this.data,this.selectedHint)},changeActive:function(n,i){if(n>=this.data.list.length?n=i?this.data.list.length-1:0:n<0&&(n=i?0:this.data.list.length-1),this.selectedHint!=n){var r=this.hints.childNodes[this.selectedHint];r&&(r.className=r.className.replace(" "+t,""),r.removeAttribute("aria-selected")),(r=this.hints.childNodes[this.selectedHint=n]).className+=" "+t,r.setAttribute("aria-selected","true"),this.completion.cm.getInputField().setAttribute("aria-activedescendant",r.id),this.scrollToActive(),e.signal(this.data,"select",this.data.list[this.selectedHint],r)}},scrollToActive:function(){var e=this.getSelectedHintRange(),t=this.hints.childNodes[e.from],n=this.hints.childNodes[e.to],i=this.hints.firstChild;t.offsetTop<this.hints.scrollTop?this.hints.scrollTop=t.offsetTop-i.offsetTop:n.offsetTop+n.offsetHeight>this.hints.scrollTop+this.hints.clientHeight&&(this.hints.scrollTop=n.offsetTop+n.offsetHeight-this.hints.clientHeight+i.offsetTop)},screenAmount:function(){return Math.floor(this.hints.clientHeight/this.hints.firstChild.offsetHeight)||1},getSelectedHintRange:function(){var e=this.completion.options.scrollMargin||0;return{from:Math.max(0,this.selectedHint-e),to:Math.min(this.data.list.length-1,this.selectedHint+e)}}},e.registerHelper("hint","auto",{resolve:function(t,n){var i,r=t.getHelpers(n,"hint");if(r.length){var o=function(e,t,n){var i=function(e,t){if(!e.somethingSelected())return t;for(var n=[],i=0;i<t.length;i++)t[i].supportsSelection&&n.push(t[i]);return n}(e,r);!function r(o){if(o==i.length)return t(null);l(i[o],e,n,function(e){e&&e.list.length>0?t(e):r(o+1)})}(0)};return o.async=!0,o.supportsSelection=!0,o}return(i=t.getHelper(t.getCursor(),"hintWords"))?function(t){return e.hint.fromList(t,{words:i})}:e.hint.anyword?function(t,n){return e.hint.anyword(t,n)}:function(){}}}),e.registerHelper("hint","fromList",function(t,n){var i,r=t.getCursor(),o=t.getTokenAt(r),s=e.Pos(r.line,o.start),a=r;o.start<r.ch&&/\w/.test(o.string.charAt(r.ch-o.start-1))?i=o.string.substr(0,r.ch-o.start):(i="",s=r);for(var l=[],c=0;c<n.words.length;c++){var u=n.words[c];u.slice(0,i.length)==i&&l.push(u)}if(l.length)return{list:l,from:s,to:a}}),e.commands.autocomplete=e.showHint;var c={hint:e.hint.auto,completeSingle:!0,alignWithWord:!0,closeCharacters:/[\s()\[\]{};:>,]/,closeOnPick:!0,closeOnUnfocus:!0,updateOnCursorActivity:!0,completeOnSingleClick:!0,container:null,customKeys:null,extraKeys:null,paddingForScrollbar:!0,moveOnOverlap:!0};e.defineOption("hintOptions",null)}(n(1719))},5399(e,t,n){!function(e){"use strict";var t="CodeMirror-lint-markers";function n(e){e.parentNode&&e.parentNode.removeChild(e)}function i(t,i,r,o){var s=function(t,n,i){var r=document.createElement("div");function o(t){if(!r.parentNode)return e.off(document,"mousemove",o);var n=Math.max(0,t.clientY-r.offsetHeight-5),i=Math.max(0,Math.min(t.clientX+5,r.ownerDocument.defaultView.innerWidth-r.offsetWidth));r.style.top=n+"px",r.style.left=i+"px"}return r.className="CodeMirror-lint-tooltip cm-s-"+t.options.theme,r.appendChild(i.cloneNode(!0)),t.state.lint.options.selfContain?t.getWrapperElement().appendChild(r):document.body.appendChild(r),e.on(document,"mousemove",o),o(n),null!=r.style.opacity&&(r.style.opacity=1),r}(t,i,r);function a(){var t;e.off(o,"mouseout",a),s&&((t=s).parentNode&&(null==t.style.opacity&&n(t),t.style.opacity=0,setTimeout(function(){n(t)},600)),s=null)}var l=setInterval(function(){if(s)for(var e=o;;e=e.parentNode){if(e&&11==e.nodeType&&(e=e.host),e==document.body)return;if(!e){a();break}}if(!s)return clearInterval(l)},400);e.on(o,"mouseout",a)}function r(e,t,n){for(var r in this.marked=[],t instanceof Function&&(t={getAnnotations:t}),t&&!0!==t||(t={}),this.options={},this.linterOptions=t.options||{},o)this.options[r]=o[r];for(var r in t)o.hasOwnProperty(r)?null!=t[r]&&(this.options[r]=t[r]):t.options||(this.linterOptions[r]=t[r]);this.timeout=null,this.hasGutter=n,this.onMouseOver=function(t){!function(e,t){var n=t.target||t.srcElement;if(/\bCodeMirror-lint-mark-/.test(n.className)){for(var r=n.getBoundingClientRect(),o=(r.left+r.right)/2,s=(r.top+r.bottom)/2,a=e.findMarksAt(e.coordsChar({left:o,top:s},"client")),l=[],u=0;u<a.length;++u){var d=a[u].__annotation;d&&l.push(d)}l.length&&function(e,t,n){for(var r=n.target||n.srcElement,o=document.createDocumentFragment(),s=0;s<t.length;s++){var a=t[s];o.appendChild(c(a))}i(e,n,o,r)}(e,l,t)}}(e,t)},this.waitingFor=0}var o={highlightLines:!1,tooltips:!0,delay:500,lintOnChange:!0,getAnnotations:null,async:!1,selfContain:null,formatAnnotation:null,onUpdateLinting:null};function s(e){var n=e.state.lint;n.hasGutter&&e.clearGutter(t),n.options.highlightLines&&function(e){e.eachLine(function(t){var n=t.wrapClass&&/\bCodeMirror-lint-line-\w+\b/.exec(t.wrapClass);n&&e.removeLineClass(t,"wrap",n[0])})}(e);for(var i=0;i<n.marked.length;++i)n.marked[i].clear();n.marked.length=0}function a(t,n,r,o,s){var a=document.createElement("div"),l=a;return a.className="CodeMirror-lint-marker CodeMirror-lint-marker-"+r,o&&((l=a.appendChild(document.createElement("div"))).className="CodeMirror-lint-marker CodeMirror-lint-marker-multiple"),0!=s&&e.on(l,"mouseover",function(e){i(t,e,n,l)}),a}function l(e,t){return"error"==e?e:t}function c(e){var t=e.severity;t||(t="error");var n=document.createElement("div");return n.className="CodeMirror-lint-message CodeMirror-lint-message-"+t,void 0!==e.messageHTML?n.innerHTML=e.messageHTML:n.appendChild(document.createTextNode(e.message)),n}function u(t){var n=t.state.lint;if(n){var i=n.options,r=i.getAnnotations||t.getHelper(e.Pos(0,0),"lint");if(r)if(i.async||r.async)!function(t,n){var i=t.state.lint,r=++i.waitingFor;function o(){r=-1,t.off("change",o)}t.on("change",o),n(t.getValue(),function(n,s){t.off("change",o),i.waitingFor==r&&(s&&n instanceof e&&(n=s),t.operation(function(){d(t,n)}))},i.linterOptions,t)}(t,r);else{var o=r(t.getValue(),n.linterOptions,t);if(!o)return;o.then?o.then(function(e){t.operation(function(){d(t,e)})}):t.operation(function(){d(t,o)})}}}function d(e,n){var i=e.state.lint;if(i){var r=i.options;s(e);for(var o=function(e){for(var t=[],n=0;n<e.length;++n){var i=e[n],r=i.from.line;(t[r]||(t[r]=[])).push(i)}return t}(n),u=0;u<o.length;++u){var d=o[u];if(d){for(var p=null,h=i.hasGutter&&document.createDocumentFragment(),f=0;f<d.length;++f){var _=d[f],g=_.severity;g||(g="error"),p=l(p,g),r.formatAnnotation&&(_=r.formatAnnotation(_)),i.hasGutter&&h.appendChild(c(_)),_.to&&i.marked.push(e.markText(_.from,_.to,{className:"CodeMirror-lint-mark CodeMirror-lint-mark-"+g,__annotation:_}))}i.hasGutter&&e.setGutterMarker(u,t,a(e,h,p,d.length>1,r.tooltips)),r.highlightLines&&e.addLineClass(u,"wrap","CodeMirror-lint-line-"+p)}}r.onUpdateLinting&&r.onUpdateLinting(n,o,e)}}function p(e){var t=e.state.lint;t&&(clearTimeout(t.timeout),t.timeout=setTimeout(function(){u(e)},t.options.delay))}e.defineOption("lint",!1,function(n,i,o){if(o&&o!=e.Init&&(s(n),!1!==n.state.lint.options.lintOnChange&&n.off("change",p),e.off(n.getWrapperElement(),"mouseover",n.state.lint.onMouseOver),clearTimeout(n.state.lint.timeout),delete n.state.lint),i){for(var a=n.getOption("gutters"),l=!1,c=0;c<a.length;++c)a[c]==t&&(l=!0);var d=n.state.lint=new r(n,i,l);d.options.lintOnChange&&n.on("change",p),0!=d.options.tooltips&&"gutter"!=d.options.tooltips&&e.on(n.getWrapperElement(),"mouseover",d.onMouseOver),u(n)}}),e.defineExtension("performLint",function(){u(this)})}(n(1719))},5437(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-PoweredBy-module__poweredByContainer {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n gap: 0.3rem;\n padding: 0.1rem;\n font-size: x-small;\n}\n\n.src-sidebar-PoweredBy-module__logoContainer {\n width: 7rem;\n display: flex;\n}\n",""]),s.locals={poweredByContainer:"src-sidebar-PoweredBy-module__poweredByContainer",logoContainer:"src-sidebar-PoweredBy-module__logoContainer"};const a=s},5464(e,t,n){"use strict";n.d(t,{A:()=>y});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o),a=n(3615),l=n.n(a),c=new URL(n(8264),n.b),u=new URL(n(9678),n.b),d=new URL(n(3414),n.b),p=new URL(n(4115),n.b),h=s()(r()),f=l()(c),_=l()(u),g=l()(d),m=l()(p);h.push([e.id,`.src-App-module__appWrapper {\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n display: grid;\n grid-template-columns: 26rem 1fr auto;\n grid-template-rows: 100%;\n justify-content: space-between;\n overflow: auto;\n -webkit-user-select: none;\n user-select: none; /* firefox does not ignore -webkit-user-select so make this explicit, see #217 */\n}\n\n.src-App-module__map {\n grid-column: 1 / span 3;\n grid-row: 1 / span 1;\n}\n\n.src-App-module__sidebar {\n grid-column: 1 / span 1;\n grid-row: 1 / span 1;\n background-color: transparent;\n pointer-events: none;\n z-index: 1;\n align-self: stretch;\n}\n\n.src-App-module__popupContainer {\n grid-column: 1 / span 1;\n grid-row: 1 / span 1;\n background-color: transparent;\n pointer-events: none;\n z-index: 2;\n align-self: stretch;\n\n margin: 0 0.5rem 0 0.5rem;\n overflow: hidden;\n position: relative;\n}\n\n.src-App-module__sidebarContent {\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: 0.5rem;\n background-color: white;\n max-height: calc(100% - 10.3rem);\n margin: 0.5rem;\n\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n pointer-events: all;\n overflow: auto;\n}\n\n.src-App-module__onMapRightSide {\n position: relative;\n grid-column: 3 / span 1;\n grid-row: 1 / span 1;\n z-index: 1;\n\n padding: 0.5rem;\n}\n\n.src-App-module__onMapRightSide > div {\n cursor: pointer !important;\n}\n\n.src-App-module__onMapRightSide > div {\n background-color: white;\n border-radius: 0.5rem;\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n}\n\n.src-App-module__pathDetails {\n grid-column: 1 / span 1;\n grid-row: 1 / span 1;\n z-index: 2;\n align-self: end;\n overflow: hidden;\n margin: 0 0.5rem 0.5rem 0.5rem;\n pointer-events: none;\n}\n\n.src-App-module__pathDetailsExpanded {\n grid-column: 1 / span 3;\n grid-row: 1 / span 1;\n z-index: 2;\n align-self: end;\n overflow: hidden;\n margin: 0 0.5rem 0.5rem 0.5rem;\n pointer-events: none;\n}\n\n.src-App-module__elevationReopenButton {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 26px;\n height: 26px;\n border: 1px solid #ccc;\n border-radius: 4px;\n background: rgba(255, 255, 255, 0.95);\n cursor: pointer;\n font-size: 9px;\n color: #666;\n pointer-events: auto;\n padding: 0;\n}\n\n.src-App-module__elevationReopenButton:hover {\n background: #e8e8e8;\n color: #333;\n}\n\n.src-App-module__smallScreenMap {\n grid-row: 1 / span 3;\n grid-column: 1 / span 1;\n}\n\n.src-App-module__smallScreenSidebar {\n grid-row: 1 / span 1;\n grid-column: 1 / span 1;\n margin: 0;\n border-radius: 0;\n z-index: 3;\n}\n\n.src-App-module__smallScreenMapOptions {\n grid-row: 2 / span 1;\n grid-column: 1 / span 1;\n justify-self: end;\n}\n\n.src-App-module__onMapRightSide > div {\n background-color: white;\n border-radius: 0.5rem;\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n}\n\n.src-App-module__smallScreenRoutingResult {\n grid-row: 4 / span 1;\n grid-column: 1 / span 1;\n margin: 0;\n z-index: 2;\n background-color: white;\n}\n\n.src-App-module__smallScreenPoweredBy {\n grid-row: 5 / span 1;\n grid-column: 1 / span 1;\n margin: 0;\n border-radius: 0;\n z-index: 2;\n}\n\n@media (max-width: 44rem) {\n .src-App-module__appWrapper {\n grid-template-columns: 100%;\n grid-template-rows: auto 0 1fr auto auto;\n }\n}\n\n/* mapilion */\n@font-face {\n font-family: 'Open Sans';\n src: url(${f}) format('truetype');\n}\n\n/* maptiler */\n@font-face {\n font-family: 'Noto Sans';\n src: url(${_}) format('truetype');\n}\n\n@font-face {\n font-family: 'Roboto';\n src: url(${g}) format('truetype');\n}\n\n@font-face {\n font-family: 'Roboto Condensed';\n src: url(${m}) format('truetype');\n}\n\n.src-App-module__sidebarCloseButton {\n position: absolute;\n\n color: lightgray !important; /* unsure why !important is necessary here but not in ErrorMessage.module.css for same <Cross/> */\n\n height: 10px;\n width: 10px;\n\n right: 7px;\n top: 6px;\n}\n\n.src-App-module__sidebarCloseButton:hover {\n color: black !important;\n}\n\n.src-App-module__sidebarWhenClosed {\n z-index: 1;\n position: absolute;\n background-color: white;\n border-radius: 0.5rem;\n box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);\n padding: 0.25em;\n margin: 0.5em;\n}\n\n.src-App-module__sidebarOpenButton svg {\n fill: gray;\n\n width: 30px;\n height: 24px;\n}\n\n.src-App-module__sidebarOpenButton:hover svg {\n fill: black;\n}\n`,""]),h.locals={appWrapper:"src-App-module__appWrapper",map:"src-App-module__map",sidebar:"src-App-module__sidebar",popupContainer:"src-App-module__popupContainer",sidebarContent:"src-App-module__sidebarContent",onMapRightSide:"src-App-module__onMapRightSide",pathDetails:"src-App-module__pathDetails",pathDetailsExpanded:"src-App-module__pathDetailsExpanded",elevationReopenButton:"src-App-module__elevationReopenButton",smallScreenMap:"src-App-module__smallScreenMap",smallScreenSidebar:"src-App-module__smallScreenSidebar",smallScreenMapOptions:"src-App-module__smallScreenMapOptions",smallScreenRoutingResult:"src-App-module__smallScreenRoutingResult",smallScreenPoweredBy:"src-App-module__smallScreenPoweredBy",sidebarCloseButton:"src-App-module__sidebarCloseButton",sidebarWhenClosed:"src-App-module__sidebarWhenClosed",sidebarOpenButton:"src-App-module__sidebarOpenButton"};const y=h},5735(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-PlainButton-module__button {\n outline-color: #368fe8; /* doesn't work for firefox? force blue for chrome too */\n border: none;\n padding: 0;\n margin: 0;\n background-color: inherit;\n color: #5b616a;\n font-size: 1rem;\n}\n\n.src-PlainButton-module__button:hover {\n cursor: pointer;\n color: #2a2b31;\n}\n\n.src-PlainButton-module__button:active {\n color: lightgray;\n}\n",""]),s.locals={button:"src-PlainButton-module__button"};const a=s},5771(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,'.src-sidebar-RoutingResult-module__resultRow {\n border-bottom: 1px lightgray solid;\n}\n\n.src-sidebar-RoutingResult-module__resultSelectableArea {\n padding: 1rem 0;\n border-left: white solid 0.25rem;\n}\n\n.src-sidebar-RoutingResult-module__resultSelectableArea:hover .src-sidebar-RoutingResult-module__resultSummary {\n border-left: rgba(201, 217, 241, 0.7) solid 0.25rem;\n padding: 0 1rem 0 15px;\n}\n\n.src-sidebar-RoutingResult-module__resultSummary {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n padding: 0 1rem 0 15px;\n border-left: white solid 0.25rem;\n}\n\n.src-sidebar-RoutingResult-module__selectedResultSummary {\n border-left: rgba(39, 100, 200, 0.85) solid 0.25rem !important;\n padding: 0 1rem 0 15px;\n}\n\n.src-sidebar-RoutingResult-module__resultValues {\n cursor: pointer;\n width: 50%;\n\n display: flex;\n flex-direction: column;\n}\n\n.src-sidebar-RoutingResult-module__resultMainText {\n font-size: large;\n font-weight: bold;\n margin-bottom: 0.1rem;\n}\n\n.src-sidebar-RoutingResult-module__resultSecondaryText,\n.src-sidebar-RoutingResult-module__exportButton div,\n.src-sidebar-RoutingResult-module__elevationHint {\n color: #5b616a;\n}\n\n.src-sidebar-RoutingResult-module__resultTertiaryText {\n color: #5b616a;\n font-size: 12px;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton,\n.src-sidebar-RoutingResult-module__exportButton {\n padding-top: 1px; /* correction for "height: auto" of svg */\n}\n\n.src-sidebar-RoutingResult-module__detailsButton div,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded div,\n.src-sidebar-RoutingResult-module__exportButton div {\n color: #5b616a;\n font-size: 12px;\n float: left;\n padding-top: 0.15em;\n padding-left: 0.5em;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton svg,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded svg,\n.src-sidebar-RoutingResult-module__exportButton svg {\n float: left;\n width: 1.2em;\n height: auto;\n}\n\n.src-sidebar-RoutingResult-module__exportButton:active div,\n.src-sidebar-RoutingResult-module__detailsButton:active div,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded:active div {\n color: lightgray;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton:active svg path,\n.src-sidebar-RoutingResult-module__exportButton:active svg path,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded:active svg path {\n fill: lightgray;\n}\n\n.src-sidebar-RoutingResult-module__exportButton:hover div,\n.src-sidebar-RoutingResult-module__detailsButton:hover div,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded:hover div {\n color: black;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton:hover svg path,\n.src-sidebar-RoutingResult-module__exportButton:hover svg path,\n.src-sidebar-RoutingResult-module__detailsButtonExpanded:hover svg path {\n fill: black;\n}\n\n.src-sidebar-RoutingResult-module__detailsButton svg path,\n.src-sidebar-RoutingResult-module__exportButton svg path {\n fill: #5b616a;\n stroke: #5b616a;\n}\n\n.src-sidebar-RoutingResult-module__placeholderContainer {\n margin: 1.08rem 1rem;\n}\n\n.src-sidebar-RoutingResult-module__placeholderMain {\n height: 1.25rem;\n width: 7rem;\n background-color: lightgray;\n margin-bottom: 0.5rem;\n border-radius: 0.2rem;\n animation-name: src-sidebar-RoutingResult-module__pulse;\n animation-duration: 1s;\n animation-iteration-count: infinite;\n animation-direction: alternate;\n}\n\n.src-sidebar-RoutingResult-module__placeholderSecondary {\n height: 1rem;\n width: 5rem;\n margin-bottom: 0;\n animation-delay: 0.25s;\n}\n\n@keyframes src-sidebar-RoutingResult-module__pulse {\n from {\n opacity: 0.5;\n }\n to {\n opacity: 1;\n }\n}\n\n.src-sidebar-RoutingResult-module__routeHints div {\n padding: 0 1.5em 0.2em 1.4em;\n}\n\n.src-sidebar-RoutingResult-module__routeHints div {\n font-size: small;\n color: #383838;\n}\n\n.src-sidebar-RoutingResult-module__routeHints {\n margin-top: -0.3rem;\n padding-bottom: 0.2em;\n}\n\n.src-sidebar-RoutingResult-module__routeHints .src-sidebar-RoutingResult-module__icons {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n column-gap: 8px;\n padding-bottom: 0.5rem;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton span,\n.src-sidebar-RoutingResult-module__selectedRouteHintButton span {\n font-size: xx-small;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton,\n.src-sidebar-RoutingResult-module__selectedRouteHintButton {\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 50px;\n padding: 2px 4px;\n border: 1px solid transparent; /* make border visible on hover or for selected */\n transition: border-color 0.5s ease;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton:hover {\n border-color: #bebebe;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton:hover,\n.src-sidebar-RoutingResult-module__selectedRouteHintButton:hover,\n.src-sidebar-RoutingResult-module__routeHintButton:hover span {\n color: black;\n}\n\n.src-sidebar-RoutingResult-module__redButton {\n color: red !important;\n}\n\n.src-sidebar-RoutingResult-module__orangeButton {\n color: orange !important;\n}\n\n.src-sidebar-RoutingResult-module__routeHintButton,\n.src-sidebar-RoutingResult-module__routeHintButton span {\n color: gray;\n padding-top: 1px;\n}\n\n.src-sidebar-RoutingResult-module__selectedRouteHintButton,\n.src-sidebar-RoutingResult-module__selectedRouteHintButton span {\n color: #383838;\n padding-top: 1px;\n border-color: #d5d4d4;\n}\n\n.src-sidebar-RoutingResult-module__routingResultRoadData {\n color: gray;\n font-size: small;\n padding: 10px 5px 10px 3rem;\n}\n',""]),s.locals={resultRow:"src-sidebar-RoutingResult-module__resultRow",resultSelectableArea:"src-sidebar-RoutingResult-module__resultSelectableArea",resultSummary:"src-sidebar-RoutingResult-module__resultSummary",selectedResultSummary:"src-sidebar-RoutingResult-module__selectedResultSummary",resultValues:"src-sidebar-RoutingResult-module__resultValues",resultMainText:"src-sidebar-RoutingResult-module__resultMainText",resultSecondaryText:"src-sidebar-RoutingResult-module__resultSecondaryText",exportButton:"src-sidebar-RoutingResult-module__exportButton",elevationHint:"src-sidebar-RoutingResult-module__elevationHint",resultTertiaryText:"src-sidebar-RoutingResult-module__resultTertiaryText",detailsButton:"src-sidebar-RoutingResult-module__detailsButton",detailsButtonExpanded:"src-sidebar-RoutingResult-module__detailsButtonExpanded",placeholderContainer:"src-sidebar-RoutingResult-module__placeholderContainer",placeholderMain:"src-sidebar-RoutingResult-module__placeholderMain",pulse:"src-sidebar-RoutingResult-module__pulse",placeholderSecondary:"src-sidebar-RoutingResult-module__placeholderSecondary",routeHints:"src-sidebar-RoutingResult-module__routeHints",icons:"src-sidebar-RoutingResult-module__icons",routeHintButton:"src-sidebar-RoutingResult-module__routeHintButton",selectedRouteHintButton:"src-sidebar-RoutingResult-module__selectedRouteHintButton",redButton:"src-sidebar-RoutingResult-module__redButton",orangeButton:"src-sidebar-RoutingResult-module__orangeButton",routingResultRoadData:"src-sidebar-RoutingResult-module__routingResultRoadData"};const a=s},5826(e,t,n){e.exports=n(628)()},5980(e){"use strict";e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII="},6e3(e,t,n){"use strict";n.d(t,{A:()=>b});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o),a=n(3615),l=n.n(a),c=new URL(n(1954),n.b),u=new URL(n(4912),n.b),d=new URL(n(5980),n.b),p=new URL(n(3604),n.b),h=new URL(n(5139),n.b),f=s()(r()),_=l()(c),g=l()(u),m=l()(d),y=l()(p),v=l()(h);f.push([e.id,`/* The lint marker gutter */\n.CodeMirror-lint-markers {\n width: 16px;\n}\n\n.CodeMirror-lint-tooltip {\n background-color: #ffd;\n border: 1px solid black;\n border-radius: 4px 4px 4px 4px;\n color: black;\n font-family: monospace;\n font-size: 10pt;\n overflow: hidden;\n padding: 2px 5px;\n position: fixed;\n white-space: pre;\n white-space: pre-wrap;\n z-index: 100;\n max-width: 600px;\n opacity: 0;\n transition: opacity .4s;\n -moz-transition: opacity .4s;\n -webkit-transition: opacity .4s;\n -o-transition: opacity .4s;\n -ms-transition: opacity .4s;\n}\n\n.CodeMirror-lint-mark {\n background-position: left bottom;\n background-repeat: repeat-x;\n}\n\n.CodeMirror-lint-mark-warning {\n background-image: url(${_});\n}\n\n.CodeMirror-lint-mark-error {\n background-image: url(${g});\n}\n\n.CodeMirror-lint-marker {\n background-position: center center;\n background-repeat: no-repeat;\n cursor: pointer;\n display: inline-block;\n height: 16px;\n width: 16px;\n vertical-align: middle;\n position: relative;\n}\n\n.CodeMirror-lint-message {\n padding-left: 18px;\n background-position: top left;\n background-repeat: no-repeat;\n}\n\n.CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning {\n background-image: url(${m});\n}\n\n.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {\n background-image: url(${y});\n}\n\n.CodeMirror-lint-marker-multiple {\n background-image: url(${v});\n background-repeat: no-repeat;\n background-position: right bottom;\n width: 100%; height: 100%;\n}\n\n.CodeMirror-lint-line-error {\n background-color: rgba(183, 76, 81, 0.08);\n}\n\n.CodeMirror-lint-line-warning {\n background-color: rgba(255, 211, 0, 0.1);\n}\n`,""]);const b=f},6186(e){"use strict";var t=[];function n(e){for(var n=-1,i=0;i<t.length;i++)if(t[i].identifier===e){n=i;break}return n}function i(e,i){for(var o={},s=[],a=0;a<e.length;a++){var l=e[a],c=i.base?l[0]+i.base:l[0],u=o[c]||0,d="".concat(c," ").concat(u);o[c]=u+1;var p=n(d),h={css:l[1],media:l[2],sourceMap:l[3],supports:l[4],layer:l[5]};if(-1!==p)t[p].references++,t[p].updater(h);else{var f=r(h,i);i.byIndex=a,t.splice(a,0,{identifier:d,updater:f,references:1})}s.push(d)}return s}function r(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,r){var o=i(e=e||[],r=r||{});return function(e){e=e||[];for(var s=0;s<o.length;s++){var a=n(o[s]);t[a].references--}for(var l=i(e,r),c=0;c<o.length;c++){var u=n(o[c]);0===t[u].references&&(t[u].updater(),t.splice(u,1))}o=l}}},6315(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-ErrorMessage-module__errorMessageContainer {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n background-color: #f97777;\n color: white;\n margin: 0.5rem;\n padding: 0.5rem;\n border-radius: 0.3rem;\n}\n\n.src-sidebar-ErrorMessage-module__errorMessage {\n font-size: smaller;\n word-break: break-word;\n max-width: 90%;\n user-select: all;\n}\n\n.src-sidebar-ErrorMessage-module__errorMessageCloseBtn {\n width: 0.8rem;\n color: white;\n align-self: flex-start;\n flex-shrink: 0;\n}\n\n.src-sidebar-ErrorMessage-module__errorMessageCloseBtn svg {\n width: 100%;\n}\n",""]),s.locals={errorMessageContainer:"src-sidebar-ErrorMessage-module__errorMessageContainer",errorMessage:"src-sidebar-ErrorMessage-module__errorMessage",errorMessageCloseBtn:"src-sidebar-ErrorMessage-module__errorMessageCloseBtn"};const a=s},6596(e,t,n){"use strict";var i=n(9845).Y,r="undefined"!=typeof window?window.matchMedia:null;function o(e,t,n){var o,s=this;function a(e){s.matches=e.matches,s.media=e.media}r&&!n&&(o=r.call(window,e)),o?(this.matches=o.matches,this.media=o.media,o.addListener(a)):(this.matches=i(e,t),this.media=e),this.addListener=function(e){o&&o.addListener(e)},this.removeListener=function(e){o&&o.removeListener(e)},this.dispose=function(){o&&o.removeListener(a)}}e.exports=function(e,t,n){return new o(e,t,n)}},7382(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-routingProfiles-RoutingProfiles-module__profilesParent {\n display: flex;\n flex-direction: row;\n padding: 0.7em 0 0.1em 0;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__carousel {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 0.5rem;\n padding: 0 2rem;\n box-sizing: border-box;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__profiles {\n width: 100%;\n display: flex;\n flex-direction: row;\n justify-content: start;\n overflow: scroll;\n gap: 0.1rem;\n\n /* Hide scrollbar for IE, Edge and Firefox */\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n /* Hide scrollbar for Chrome, Safari and Opera */\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__profiles_center {\n justify-content: center;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__chevron {\n cursor: pointer;\n display: none;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabled {\n display: inline-block;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__chevron svg path {\n fill: #000000;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__chevron:disabled svg path {\n fill: lightgray;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__flip {\n transform: scaleX(-1);\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__selectedProfile {\n background-color: rgba(39, 93, 173, 0.2);\n color: #275dad;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__selectedProfile:hover {\n color: #275dad;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__profileBtn {\n position: relative;\n border-radius: 50%;\n padding: 0.3em;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__profileBtn span {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 1.5em;\n aspect-ratio: 1 / 1;\n font-weight: bold;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__iconContainer {\n position: relative;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__batchNumber {\n position: absolute;\n top: -7.1px;\n right: -5px;\n font-size: 0.75em;\n font-weight: bold;\n -webkit-text-stroke: 2px #fff;\n paint-order: stroke fill;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__asIndicator {\n position: absolute;\n fill: none;\n stroke: #193b6e;\n left: -20px;\n top: -41px;\n z-index: 1;\n scale: 0.1;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox {\n position: absolute;\n border-radius: 50%;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox svg path,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox svg path {\n fill: #a8a8a8;\n stroke: #a8a8a8;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox:active svg path,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox:active svg path {\n fill: lightgray;\n stroke: lightgray;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox:hover svg path,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox:hover svg path {\n fill: #000000;\n stroke: #000000;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox:active svg path,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox:active svg path {\n fill: lightgray;\n stroke: lightgray;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox svg,\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox svg {\n margin: 0;\n padding: 8px;\n width: 18px;\n height: 18px;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox svg {\n transform: rotate(0);\n animation-name: src-sidebar-search-routingProfiles-RoutingProfiles-module__reverse_rotate;\n animation-duration: 0.2s;\n}\n\n.src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox svg {\n transform: rotate(180deg);\n animation-name: src-sidebar-search-routingProfiles-RoutingProfiles-module__setting_rotate;\n animation-duration: 0.2s;\n}\n\n@keyframes src-sidebar-search-routingProfiles-RoutingProfiles-module__setting_rotate {\n 0% {\n transform: rotate(0);\n }\n 100% {\n transform: rotate(180deg);\n }\n}\n\n@keyframes src-sidebar-search-routingProfiles-RoutingProfiles-module__reverse_rotate {\n 0% {\n transform: rotate(180deg);\n }\n 100% {\n transform: rotate(0);\n }\n}\n",""]),s.locals={profilesParent:"src-sidebar-search-routingProfiles-RoutingProfiles-module__profilesParent",carousel:"src-sidebar-search-routingProfiles-RoutingProfiles-module__carousel",profiles:"src-sidebar-search-routingProfiles-RoutingProfiles-module__profiles",profiles_center:"src-sidebar-search-routingProfiles-RoutingProfiles-module__profiles_center",chevron:"src-sidebar-search-routingProfiles-RoutingProfiles-module__chevron",enabled:"src-sidebar-search-routingProfiles-RoutingProfiles-module__enabled",flip:"src-sidebar-search-routingProfiles-RoutingProfiles-module__flip",selectedProfile:"src-sidebar-search-routingProfiles-RoutingProfiles-module__selectedProfile",profileBtn:"src-sidebar-search-routingProfiles-RoutingProfiles-module__profileBtn",iconContainer:"src-sidebar-search-routingProfiles-RoutingProfiles-module__iconContainer",batchNumber:"src-sidebar-search-routingProfiles-RoutingProfiles-module__batchNumber",asIndicator:"src-sidebar-search-routingProfiles-RoutingProfiles-module__asIndicator",enabledCMBox:"src-sidebar-search-routingProfiles-RoutingProfiles-module__enabledCMBox",cmBox:"src-sidebar-search-routingProfiles-RoutingProfiles-module__cmBox",reverse_rotate:"src-sidebar-search-routingProfiles-RoutingProfiles-module__reverse_rotate",setting_rotate:"src-sidebar-search-routingProfiles-RoutingProfiles-module__setting_rotate"};const a=s},7433(e){"use strict";var t={};e.exports=function(e,n){var i=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(n)}},7491(e,t){"use strict";var n=Symbol.for("react.transitional.element"),i=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),a=Symbol.for("react.consumer"),l=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),h=Symbol.for("react.activity"),f=Symbol.iterator,_={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},g=Object.assign,m={};function y(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||_}function v(){}function b(e,t,n){this.props=e,this.context=t,this.refs=m,this.updater=n||_}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},v.prototype=y.prototype;var x=b.prototype=new v;x.constructor=b,g(x,y.prototype),x.isPureReactComponent=!0;var w=Array.isArray;function k(){}var C={H:null,A:null,T:null,S:null},A=Object.prototype.hasOwnProperty;function S(e,t,i){var r=i.ref;return{$$typeof:n,type:e,key:t,ref:void 0!==r?r:null,props:i}}function E(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}var I=/\/+/g;function T(e,t){return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,i={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return i[e]})):t.toString(36);var n,i}function M(e,t,r,o,s){var a=typeof e;"undefined"!==a&&"boolean"!==a||(e=null);var l,c,u=!1;if(null===e)u=!0;else switch(a){case"bigint":case"string":case"number":u=!0;break;case"object":switch(e.$$typeof){case n:case i:u=!0;break;case p:return M((u=e._init)(e._payload),t,r,o,s)}}if(u)return s=s(e),u=""===o?"."+T(e,0):o,w(s)?(r="",null!=u&&(r=u.replace(I,"$&/")+"/"),M(s,t,r,"",function(e){return e})):null!=s&&(E(s)&&(l=s,c=r+(null==s.key||e&&e.key===s.key?"":(""+s.key).replace(I,"$&/")+"/")+u,s=S(l.type,c,l.props)),t.push(s)),1;u=0;var d,h=""===o?".":o+":";if(w(e))for(var _=0;_<e.length;_++)u+=M(o=e[_],t,r,a=h+T(o,_),s);else if("function"==typeof(_=null===(d=e)||"object"!=typeof d?null:"function"==typeof(d=f&&d[f]||d["@@iterator"])?d:null))for(e=_.call(e),_=0;!(o=e.next()).done;)u+=M(o=o.value,t,r,a=h+T(o,_++),s);else if("object"===a){if("function"==typeof e.then)return M(function(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch("string"==typeof e.status?e.then(k,k):(e.status="pending",e.then(function(t){"pending"===e.status&&(e.status="fulfilled",e.value=t)},function(t){"pending"===e.status&&(e.status="rejected",e.reason=t)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}(e),t,r,o,s);throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.")}return u}function P(e,t,n){if(null==e)return e;var i=[],r=0;return M(e,i,"","",function(e){return t.call(n,e,r++)}),i}function R(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var z="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},L={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!E(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};t.Activity=h,t.Children=L,t.Component=y,t.Fragment=r,t.Profiler=s,t.PureComponent=b,t.StrictMode=o,t.Suspense=u,t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=C,t.__COMPILER_RUNTIME={__proto__:null,c:function(e){return C.H.useMemoCache(e)}},t.cache=function(e){return function(){return e.apply(null,arguments)}},t.cacheSignal=function(){return null},t.cloneElement=function(e,t,n){if(null==e)throw Error("The argument must be a React element, but you passed "+e+".");var i=g({},e.props),r=e.key;if(null!=t)for(o in void 0!==t.key&&(r=""+t.key),t)!A.call(t,o)||"key"===o||"__self"===o||"__source"===o||"ref"===o&&void 0===t.ref||(i[o]=t[o]);var o=arguments.length-2;if(1===o)i.children=n;else if(1<o){for(var s=Array(o),a=0;a<o;a++)s[a]=arguments[a+2];i.children=s}return S(e.type,r,i)},t.createContext=function(e){return(e={$$typeof:l,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null}).Provider=e,e.Consumer={$$typeof:a,_context:e},e},t.createElement=function(e,t,n){var i,r={},o=null;if(null!=t)for(i in void 0!==t.key&&(o=""+t.key),t)A.call(t,i)&&"key"!==i&&"__self"!==i&&"__source"!==i&&(r[i]=t[i]);var s=arguments.length-2;if(1===s)r.children=n;else if(1<s){for(var a=Array(s),l=0;l<s;l++)a[l]=arguments[l+2];r.children=a}if(e&&e.defaultProps)for(i in s=e.defaultProps)void 0===r[i]&&(r[i]=s[i]);return S(e,o,r)},t.createRef=function(){return{current:null}},t.forwardRef=function(e){return{$$typeof:c,render:e}},t.isValidElement=E,t.lazy=function(e){return{$$typeof:p,_payload:{_status:-1,_result:e},_init:R}},t.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},t.startTransition=function(e){var t=C.T,n={};C.T=n;try{var i=e(),r=C.S;null!==r&&r(n,i),"object"==typeof i&&null!==i&&"function"==typeof i.then&&i.then(k,z)}catch(e){z(e)}finally{null!==t&&null!==n.types&&(t.types=n.types),C.T=t}},t.unstable_useCacheRefresh=function(){return C.H.useCacheRefresh()},t.use=function(e){return C.H.use(e)},t.useActionState=function(e,t,n){return C.H.useActionState(e,t,n)},t.useCallback=function(e,t){return C.H.useCallback(e,t)},t.useContext=function(e){return C.H.useContext(e)},t.useDebugValue=function(){},t.useDeferredValue=function(e,t){return C.H.useDeferredValue(e,t)},t.useEffect=function(e,t){return C.H.useEffect(e,t)},t.useEffectEvent=function(e){return C.H.useEffectEvent(e)},t.useId=function(){return C.H.useId()},t.useImperativeHandle=function(e,t,n){return C.H.useImperativeHandle(e,t,n)},t.useInsertionEffect=function(e,t){return C.H.useInsertionEffect(e,t)},t.useLayoutEffect=function(e,t){return C.H.useLayoutEffect(e,t)},t.useMemo=function(e,t){return C.H.useMemo(e,t)},t.useOptimistic=function(e,t){return C.H.useOptimistic(e,t)},t.useReducer=function(e,t,n){return C.H.useReducer(e,t,n)},t.useRef=function(e){return C.H.useRef(e)},t.useState=function(e){return C.H.useState(e)},t.useSyncExternalStore=function(e,t,n){return C.H.useSyncExternalStore(e,t,n)},t.useTransition=function(){return C.H.useTransition()},t.version="19.2.3"},7508(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-layers-MapFeaturePopup-module__popup {\n background-color: white;\n font-size: small;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n padding: 5px 10px 5px 10px;\n border-radius: 10px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopup {\n position: relative;\n top: -40px;\n left: 20px;\n max-width: 300px;\n\n background-color: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n box-sizing: border-box;\n padding: 5px 10px 5px 10px;\n border-radius: 10px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopup div:first-child {\n font-weight: bold;\n padding-bottom: 5px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopupButton {\n display: flex;\n flex-direction: row;\n gap: 7px;\n padding-top: 12px;\n padding-bottom: 8px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopupButton svg {\n margin-top: 3px;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopup a {\n color: gray;\n text-decoration: none;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopup a:hover {\n color: black;\n text-decoration: underline;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopupTable {\n font-size: small;\n padding: 6px 0;\n}\n\n.src-layers-MapFeaturePopup-module__osmLink {\n padding-bottom: 7px;\n}\n\n.src-layers-MapFeaturePopup-module__osmLink a {\n font-size: small;\n}\n\n.src-layers-MapFeaturePopup-module__poiPopupTable th,\n.src-layers-MapFeaturePopup-module__poiPopupTable td {\n border-bottom: 1px solid #ccc;\n padding: 3px 1px 3px 0;\n text-align: left;\n\n /* strange, why do we need the following? */\n word-break: break-all;\n min-width: 120px;\n}\n",""]),s.locals={popup:"src-layers-MapFeaturePopup-module__popup",poiPopup:"src-layers-MapFeaturePopup-module__poiPopup",poiPopupButton:"src-layers-MapFeaturePopup-module__poiPopupButton",poiPopupTable:"src-layers-MapFeaturePopup-module__poiPopupTable",osmLink:"src-layers-MapFeaturePopup-module__osmLink"};const a=s},7518(e,t,n){!function(e){"use strict";e.defineMode("javascript",function(t,n){var i,r,o=t.indentUnit,s=n.statementIndent,a=n.jsonld,l=n.json||a,c=!1!==n.trackScope,u=n.typescript,d=n.wordCharacters||/[\w$\xa1-\uffff]/,p=function(){function e(e){return{type:e,style:"keyword"}}var t=e("keyword a"),n=e("keyword b"),i=e("keyword c"),r=e("keyword d"),o=e("operator"),s={type:"atom",style:"atom"};return{if:e("if"),while:t,with:t,else:n,do:n,try:n,finally:n,return:r,break:r,continue:r,new:e("new"),delete:i,void:i,throw:i,debugger:e("debugger"),var:e("var"),const:e("var"),let:e("var"),function:e("function"),catch:e("catch"),for:e("for"),switch:e("switch"),case:e("case"),default:e("default"),in:o,typeof:o,instanceof:o,true:s,false:s,null:s,undefined:s,NaN:s,Infinity:s,this:e("this"),class:e("class"),super:e("atom"),yield:i,export:e("export"),import:e("import"),extends:i,await:i}}(),h=/[+\-*&%=<>!?|~^@]/,f=/^@(context|id|value|language|type|container|list|set|reverse|index|base|vocab|graph)"/;function _(e,t,n){return i=e,r=n,t}function g(e,t){var n,i=e.next();if('"'==i||"'"==i)return t.tokenize=(n=i,function(e,t){var i,r=!1;if(a&&"@"==e.peek()&&e.match(f))return t.tokenize=g,_("jsonld-keyword","meta");for(;null!=(i=e.next())&&(i!=n||r);)r=!r&&"\\"==i;return r||(t.tokenize=g),_("string","string")}),t.tokenize(e,t);if("."==i&&e.match(/^\d[\d_]*(?:[eE][+\-]?[\d_]+)?/))return _("number","number");if("."==i&&e.match(".."))return _("spread","meta");if(/[\[\]{}\(\),;\:\.]/.test(i))return _(i);if("="==i&&e.eat(">"))return _("=>","operator");if("0"==i&&e.match(/^(?:x[\dA-Fa-f_]+|o[0-7_]+|b[01_]+)n?/))return _("number","number");if(/\d/.test(i))return e.match(/^[\d_]*(?:n|(?:\.[\d_]*)?(?:[eE][+\-]?[\d_]+)?)?/),_("number","number");if("/"==i)return e.eat("*")?(t.tokenize=m,m(e,t)):e.eat("/")?(e.skipToEnd(),_("comment","comment")):Je(e,t,1)?(function(e){for(var t,n=!1,i=!1;null!=(t=e.next());){if(!n){if("/"==t&&!i)return;"["==t?i=!0:i&&"]"==t&&(i=!1)}n=!n&&"\\"==t}}(e),e.match(/^\b(([gimyus])(?![gimyus]*\2))+\b/),_("regexp","string-2")):(e.eat("="),_("operator","operator",e.current()));if("`"==i)return t.tokenize=y,y(e,t);if("#"==i&&"!"==e.peek())return e.skipToEnd(),_("meta","meta");if("#"==i&&e.eatWhile(d))return _("variable","property");if("<"==i&&e.match("!--")||"-"==i&&e.match("->")&&!/\S/.test(e.string.slice(0,e.start)))return e.skipToEnd(),_("comment","comment");if(h.test(i))return">"==i&&t.lexical&&">"==t.lexical.type||(e.eat("=")?"!"!=i&&"="!=i||e.eat("="):/[<>*+\-|&?]/.test(i)&&(e.eat(i),">"==i&&e.eat(i))),"?"==i&&e.eat(".")?_("."):_("operator","operator",e.current());if(d.test(i)){e.eatWhile(d);var r=e.current();if("."!=t.lastType){if(p.propertyIsEnumerable(r)){var o=p[r];return _(o.type,o.style,r)}if("async"==r&&e.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/,!1))return _("async","keyword",r)}return _("variable","variable",r)}}function m(e,t){for(var n,i=!1;n=e.next();){if("/"==n&&i){t.tokenize=g;break}i="*"==n}return _("comment","comment")}function y(e,t){for(var n,i=!1;null!=(n=e.next());){if(!i&&("`"==n||"$"==n&&e.eat("{"))){t.tokenize=g;break}i=!i&&"\\"==n}return _("quasi","string-2",e.current())}function v(e,t){t.fatArrowAt&&(t.fatArrowAt=null);var n=e.string.indexOf("=>",e.start);if(!(n<0)){if(u){var i=/:\s*(?:\w+(?:<[^>]*>|\[\])?|\{[^}]*\})\s*$/.exec(e.string.slice(e.start,n));i&&(n=i.index)}for(var r=0,o=!1,s=n-1;s>=0;--s){var a=e.string.charAt(s),l="([{}])".indexOf(a);if(l>=0&&l<3){if(!r){++s;break}if(0==--r){"("==a&&(o=!0);break}}else if(l>=3&&l<6)++r;else if(d.test(a))o=!0;else if(/["'\/`]/.test(a))for(;;--s){if(0==s)return;if(e.string.charAt(s-1)==a&&"\\"!=e.string.charAt(s-2)){s--;break}}else if(o&&!r){++s;break}}o&&!r&&(t.fatArrowAt=s)}}var b={atom:!0,number:!0,variable:!0,string:!0,regexp:!0,this:!0,import:!0,"jsonld-keyword":!0};function x(e,t,n,i,r,o){this.indented=e,this.column=t,this.type=n,this.prev=r,this.info=o,null!=i&&(this.align=i)}function w(e,t){if(!c)return!1;for(var n=e.localVars;n;n=n.next)if(n.name==t)return!0;for(var i=e.context;i;i=i.prev)for(n=i.vars;n;n=n.next)if(n.name==t)return!0}function k(e,t,n,i,r){var o=e.cc;for(C.state=e,C.stream=r,C.marked=null,C.cc=o,C.style=t,e.lexical.hasOwnProperty("align")||(e.lexical.align=!0);;)if((o.length?o.pop():l?G:B)(n,i)){for(;o.length&&o[o.length-1].lex;)o.pop()();return C.marked?C.marked:"variable"==n&&w(e,i)?"variable-2":t}}var C={state:null,column:null,marked:null,cc:null};function A(){for(var e=arguments.length-1;e>=0;e--)C.cc.push(arguments[e])}function S(){return A.apply(null,arguments),!0}function E(e,t){for(var n=t;n;n=n.next)if(n.name==e)return!0;return!1}function I(e){var t=C.state;if(C.marked="def",c){if(t.context)if("var"==t.lexical.info&&t.context&&t.context.block){var i=T(e,t.context);if(null!=i)return void(t.context=i)}else if(!E(e,t.localVars))return void(t.localVars=new R(e,t.localVars));n.globalVars&&!E(e,t.globalVars)&&(t.globalVars=new R(e,t.globalVars))}}function T(e,t){if(t){if(t.block){var n=T(e,t.prev);return n?n==t.prev?t:new P(n,t.vars,!0):null}return E(e,t.vars)?t:new P(t.prev,new R(e,t.vars),!1)}return null}function M(e){return"public"==e||"private"==e||"protected"==e||"abstract"==e||"readonly"==e}function P(e,t,n){this.prev=e,this.vars=t,this.block=n}function R(e,t){this.name=e,this.next=t}var z=new R("this",new R("arguments",null));function L(){C.state.context=new P(C.state.context,C.state.localVars,!1),C.state.localVars=z}function O(){C.state.context=new P(C.state.context,C.state.localVars,!0),C.state.localVars=null}function F(){C.state.localVars=C.state.context.vars,C.state.context=C.state.context.prev}function j(e,t){var n=function(){var n=C.state,i=n.indented;if("stat"==n.lexical.type)i=n.lexical.indented;else for(var r=n.lexical;r&&")"==r.type&&r.align;r=r.prev)i=r.indented;n.lexical=new x(i,C.stream.column(),e,null,n.lexical,t)};return n.lex=!0,n}function D(){var e=C.state;e.lexical.prev&&(")"==e.lexical.type&&(e.indented=e.lexical.indented),e.lexical=e.lexical.prev)}function N(e){return function t(n){return n==e?S():";"==e||"}"==n||")"==n||"]"==n?A():S(t)}}function B(e,t){return"var"==e?S(j("vardef",t),Ce,N(";"),D):"keyword a"==e?S(j("form"),W,B,D):"keyword b"==e?S(j("form"),B,D):"keyword d"==e?C.stream.match(/^\s*$/,!1)?S():S(j("stat"),U,N(";"),D):"debugger"==e?S(N(";")):"{"==e?S(j("}"),O,le,D,F):";"==e?S():"if"==e?("else"==C.state.lexical.info&&C.state.cc[C.state.cc.length-1]==D&&C.state.cc.pop()(),S(j("form"),W,B,D,Me)):"function"==e?S(Le):"for"==e?S(j("form"),O,Pe,B,F,D):"class"==e||u&&"interface"==t?(C.marked="keyword",S(j("form","class"==e?e:t),Ne,D)):"variable"==e?u&&"declare"==t?(C.marked="keyword",S(B)):u&&("module"==t||"enum"==t||"type"==t)&&C.stream.match(/^\s*\w/,!1)?(C.marked="keyword","enum"==t?S(Ye):"type"==t?S(Fe,N("operator"),he,N(";")):S(j("form"),Ae,N("{"),j("}"),le,D,D)):u&&"namespace"==t?(C.marked="keyword",S(j("form"),G,B,D)):u&&"abstract"==t?(C.marked="keyword",S(B)):S(j("stat"),te):"switch"==e?S(j("form"),W,N("{"),j("}","switch"),O,le,D,D,F):"case"==e?S(G,N(":")):"default"==e?S(N(":")):"catch"==e?S(j("form"),L,q,B,D,F):"export"==e?S(j("stat"),Ve,D):"import"==e?S(j("stat"),He,D):"async"==e?S(B):"@"==t?S(G,B):A(j("stat"),G,N(";"),D)}function q(e){if("("==e)return S(je,N(")"))}function G(e,t){return H(e,t,!1)}function V(e,t){return H(e,t,!0)}function W(e){return"("!=e?A():S(j(")"),U,N(")"),D)}function H(e,t,n){if(C.state.fatArrowAt==C.stream.start){var i=n?Q:Y;if("("==e)return S(L,j(")"),se(je,")"),D,N("=>"),i,F);if("variable"==e)return A(L,Ae,N("=>"),i,F)}var r=n?K:$;return b.hasOwnProperty(e)?S(r):"function"==e?S(Le,r):"class"==e||u&&"interface"==t?(C.marked="keyword",S(j("form"),De,D)):"keyword c"==e||"async"==e?S(n?V:G):"("==e?S(j(")"),U,N(")"),D,r):"operator"==e||"spread"==e?S(n?V:G):"["==e?S(j("]"),Ze,D,r):"{"==e?ae(ie,"}",null,r):"quasi"==e?A(X,r):"new"==e?S(function(e){return function(t){return"."==t?S(e?ee:J):"variable"==t&&u?S(xe,e?K:$):A(e?V:G)}}(n)):S()}function U(e){return e.match(/[;\}\)\],]/)?A():A(G)}function $(e,t){return","==e?S(U):K(e,t,!1)}function K(e,t,n){var i=0==n?$:K,r=0==n?G:V;return"=>"==e?S(L,n?Q:Y,F):"operator"==e?/\+\+|--/.test(t)||u&&"!"==t?S(i):u&&"<"==t&&C.stream.match(/^([^<>]|<[^<>]*>)*>\s*\(/,!1)?S(j(">"),se(he,">"),D,i):"?"==t?S(G,N(":"),r):S(r):"quasi"==e?A(X,i):";"!=e?"("==e?ae(V,")","call",i):"."==e?S(ne,i):"["==e?S(j("]"),U,N("]"),D,i):u&&"as"==t?(C.marked="keyword",S(he,i)):"regexp"==e?(C.state.lastType=C.marked="operator",C.stream.backUp(C.stream.pos-C.stream.start-1),S(r)):void 0:void 0}function X(e,t){return"quasi"!=e?A():"${"!=t.slice(t.length-2)?S(X):S(U,Z)}function Z(e){if("}"==e)return C.marked="string-2",C.state.tokenize=y,S(X)}function Y(e){return v(C.stream,C.state),A("{"==e?B:G)}function Q(e){return v(C.stream,C.state),A("{"==e?B:V)}function J(e,t){if("target"==t)return C.marked="keyword",S($)}function ee(e,t){if("target"==t)return C.marked="keyword",S(K)}function te(e){return":"==e?S(D,B):A($,N(";"),D)}function ne(e){if("variable"==e)return C.marked="property",S()}function ie(e,t){return"async"==e?(C.marked="property",S(ie)):"variable"==e||"keyword"==C.style?(C.marked="property","get"==t||"set"==t?S(re):(u&&C.state.fatArrowAt==C.stream.start&&(n=C.stream.match(/^\s*:\s*/,!1))&&(C.state.fatArrowAt=C.stream.pos+n[0].length),S(oe))):"number"==e||"string"==e?(C.marked=a?"property":C.style+" property",S(oe)):"jsonld-keyword"==e?S(oe):u&&M(t)?(C.marked="keyword",S(ie)):"["==e?S(G,ce,N("]"),oe):"spread"==e?S(V,oe):"*"==t?(C.marked="keyword",S(ie)):":"==e?A(oe):void 0;var n}function re(e){return"variable"!=e?A(oe):(C.marked="property",S(Le))}function oe(e){return":"==e?S(V):"("==e?A(Le):void 0}function se(e,t,n){function i(r,o){if(n?n.indexOf(r)>-1:","==r){var s=C.state.lexical;return"call"==s.info&&(s.pos=(s.pos||0)+1),S(function(n,i){return n==t||i==t?A():A(e)},i)}return r==t||o==t?S():n&&n.indexOf(";")>-1?A(e):S(N(t))}return function(n,r){return n==t||r==t?S():A(e,i)}}function ae(e,t,n){for(var i=3;i<arguments.length;i++)C.cc.push(arguments[i]);return S(j(t,n),se(e,t),D)}function le(e){return"}"==e?S():A(B,le)}function ce(e,t){if(u){if(":"==e)return S(he);if("?"==t)return S(ce)}}function ue(e,t){if(u&&(":"==e||"in"==t))return S(he)}function de(e){if(u&&":"==e)return C.stream.match(/^\s*\w+\s+is\b/,!1)?S(G,pe,he):S(he)}function pe(e,t){if("is"==t)return C.marked="keyword",S()}function he(e,t){return"keyof"==t||"typeof"==t||"infer"==t||"readonly"==t?(C.marked="keyword",S("typeof"==t?V:he)):"variable"==e||"void"==t?(C.marked="type",S(be)):"|"==t||"&"==t?S(he):"string"==e||"number"==e||"atom"==e?S(be):"["==e?S(j("]"),se(he,"]",","),D,be):"{"==e?S(j("}"),_e,D,be):"("==e?S(se(ve,")"),fe,be):"<"==e?S(se(he,">"),he):"quasi"==e?A(me,be):void 0}function fe(e){if("=>"==e)return S(he)}function _e(e){return e.match(/[\}\)\]]/)?S():","==e||";"==e?S(_e):A(ge,_e)}function ge(e,t){return"variable"==e||"keyword"==C.style?(C.marked="property",S(ge)):"?"==t||"number"==e||"string"==e?S(ge):":"==e?S(he):"["==e?S(N("variable"),ue,N("]"),ge):"("==e?A(Oe,ge):e.match(/[;\}\)\],]/)?void 0:S()}function me(e,t){return"quasi"!=e?A():"${"!=t.slice(t.length-2)?S(me):S(he,ye)}function ye(e){if("}"==e)return C.marked="string-2",C.state.tokenize=y,S(me)}function ve(e,t){return"variable"==e&&C.stream.match(/^\s*[?:]/,!1)||"?"==t?S(ve):":"==e?S(he):"spread"==e?S(ve):A(he)}function be(e,t){return"<"==t?S(j(">"),se(he,">"),D,be):"|"==t||"."==e||"&"==t?S(he):"["==e?S(he,N("]"),be):"extends"==t||"implements"==t?(C.marked="keyword",S(he)):"?"==t?S(he,N(":"),he):void 0}function xe(e,t){if("<"==t)return S(j(">"),se(he,">"),D,be)}function we(){return A(he,ke)}function ke(e,t){if("="==t)return S(he)}function Ce(e,t){return"enum"==t?(C.marked="keyword",S(Ye)):A(Ae,ce,Ie,Te)}function Ae(e,t){return u&&M(t)?(C.marked="keyword",S(Ae)):"variable"==e?(I(t),S()):"spread"==e?S(Ae):"["==e?ae(Ee,"]"):"{"==e?ae(Se,"}"):void 0}function Se(e,t){return"variable"!=e||C.stream.match(/^\s*:/,!1)?("variable"==e&&(C.marked="property"),"spread"==e?S(Ae):"}"==e?A():"["==e?S(G,N("]"),N(":"),Se):S(N(":"),Ae,Ie)):(I(t),S(Ie))}function Ee(){return A(Ae,Ie)}function Ie(e,t){if("="==t)return S(V)}function Te(e){if(","==e)return S(Ce)}function Me(e,t){if("keyword b"==e&&"else"==t)return S(j("form","else"),B,D)}function Pe(e,t){return"await"==t?S(Pe):"("==e?S(j(")"),Re,D):void 0}function Re(e){return"var"==e?S(Ce,ze):"variable"==e?S(ze):A(ze)}function ze(e,t){return")"==e?S():";"==e?S(ze):"in"==t||"of"==t?(C.marked="keyword",S(G,ze)):A(G,ze)}function Le(e,t){return"*"==t?(C.marked="keyword",S(Le)):"variable"==e?(I(t),S(Le)):"("==e?S(L,j(")"),se(je,")"),D,de,B,F):u&&"<"==t?S(j(">"),se(we,">"),D,Le):void 0}function Oe(e,t){return"*"==t?(C.marked="keyword",S(Oe)):"variable"==e?(I(t),S(Oe)):"("==e?S(L,j(")"),se(je,")"),D,de,F):u&&"<"==t?S(j(">"),se(we,">"),D,Oe):void 0}function Fe(e,t){return"keyword"==e||"variable"==e?(C.marked="type",S(Fe)):"<"==t?S(j(">"),se(we,">"),D):void 0}function je(e,t){return"@"==t&&S(G,je),"spread"==e?S(je):u&&M(t)?(C.marked="keyword",S(je)):u&&"this"==e?S(ce,Ie):A(Ae,ce,Ie)}function De(e,t){return"variable"==e?Ne(e,t):Be(e,t)}function Ne(e,t){if("variable"==e)return I(t),S(Be)}function Be(e,t){return"<"==t?S(j(">"),se(we,">"),D,Be):"extends"==t||"implements"==t||u&&","==e?("implements"==t&&(C.marked="keyword"),S(u?he:G,Be)):"{"==e?S(j("}"),qe,D):void 0}function qe(e,t){return"async"==e||"variable"==e&&("static"==t||"get"==t||"set"==t||u&&M(t))&&C.stream.match(/^\s+#?[\w$\xa1-\uffff]/,!1)?(C.marked="keyword",S(qe)):"variable"==e||"keyword"==C.style?(C.marked="property",S(Ge,qe)):"number"==e||"string"==e?S(Ge,qe):"["==e?S(G,ce,N("]"),Ge,qe):"*"==t?(C.marked="keyword",S(qe)):u&&"("==e?A(Oe,qe):";"==e||","==e?S(qe):"}"==e?S():"@"==t?S(G,qe):void 0}function Ge(e,t){if("!"==t)return S(Ge);if("?"==t)return S(Ge);if(":"==e)return S(he,Ie);if("="==t)return S(V);var n=C.state.lexical.prev;return A(n&&"interface"==n.info?Oe:Le)}function Ve(e,t){return"*"==t?(C.marked="keyword",S(Xe,N(";"))):"default"==t?(C.marked="keyword",S(G,N(";"))):"{"==e?S(se(We,"}"),Xe,N(";")):A(B)}function We(e,t){return"as"==t?(C.marked="keyword",S(N("variable"))):"variable"==e?A(V,We):void 0}function He(e){return"string"==e?S():"("==e?A(G):"."==e?A($):A(Ue,$e,Xe)}function Ue(e,t){return"{"==e?ae(Ue,"}"):("variable"==e&&I(t),"*"==t&&(C.marked="keyword"),S(Ke))}function $e(e){if(","==e)return S(Ue,$e)}function Ke(e,t){if("as"==t)return C.marked="keyword",S(Ue)}function Xe(e,t){if("from"==t)return C.marked="keyword",S(G)}function Ze(e){return"]"==e?S():A(se(V,"]"))}function Ye(){return A(j("form"),Ae,N("{"),j("}"),se(Qe,"}"),D,D)}function Qe(){return A(Ae,Ie)}function Je(e,t,n){return t.tokenize==g&&/^(?:operator|sof|keyword [bcd]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(t.lastType)||"quasi"==t.lastType&&/\{\s*$/.test(e.string.slice(0,e.pos-(n||0)))}return L.lex=O.lex=!0,F.lex=!0,D.lex=!0,{startState:function(e){var t={tokenize:g,lastType:"sof",cc:[],lexical:new x((e||0)-o,0,"block",!1),localVars:n.localVars,context:n.localVars&&new P(null,null,!1),indented:e||0};return n.globalVars&&"object"==typeof n.globalVars&&(t.globalVars=n.globalVars),t},token:function(e,t){if(e.sol()&&(t.lexical.hasOwnProperty("align")||(t.lexical.align=!1),t.indented=e.indentation(),v(e,t)),t.tokenize!=m&&e.eatSpace())return null;var n=t.tokenize(e,t);return"comment"==i?n:(t.lastType="operator"!=i||"++"!=r&&"--"!=r?i:"incdec",k(t,n,i,r,e))},indent:function(t,i){if(t.tokenize==m||t.tokenize==y)return e.Pass;if(t.tokenize!=g)return 0;var r,a=i&&i.charAt(0),l=t.lexical;if(!/^\s*else\b/.test(i))for(var c=t.cc.length-1;c>=0;--c){var u=t.cc[c];if(u==D)l=l.prev;else if(u!=Me&&u!=F)break}for(;("stat"==l.type||"form"==l.type)&&("}"==a||(r=t.cc[t.cc.length-1])&&(r==$||r==K)&&!/^[,\.=+\-*:?[\(]/.test(i));)l=l.prev;s&&")"==l.type&&"stat"==l.prev.type&&(l=l.prev);var d=l.type,p=a==d;return"vardef"==d?l.indented+("operator"==t.lastType||","==t.lastType?l.info.length+1:0):"form"==d&&"{"==a?l.indented:"form"==d?l.indented+o:"stat"==d?l.indented+(function(e,t){return"operator"==e.lastType||","==e.lastType||h.test(t.charAt(0))||/[,.]/.test(t.charAt(0))}(t,i)?s||o:0):"switch"!=l.info||p||0==n.doubleIndentSwitch?l.align?l.column+(p?0:1):l.indented+(p?0:o):l.indented+(/^(?:case|default)\b/.test(i)?o:2*o)},electricInput:/^\s*(?:case .*?:|default:|\{|\})$/,blockCommentStart:l?null:"/*",blockCommentEnd:l?null:"*/",blockCommentContinue:l?null:" * ",lineComment:l?null:"//",fold:"brace",closeBrackets:"()[]{}''\"\"``",helperType:l?"json":"javascript",jsonldMode:a,jsonMode:l,expressionAllowed:Je,skipExpression:function(t){k(t,"atom","atom","true",new e.StringStream("",2,null))}}}),e.registerHelper("wordChars","javascript",/[\w$]/),e.defineMIME("text/javascript","javascript"),e.defineMIME("text/ecmascript","javascript"),e.defineMIME("application/javascript","javascript"),e.defineMIME("application/x-javascript","javascript"),e.defineMIME("application/ecmascript","javascript"),e.defineMIME("application/json",{name:"javascript",json:!0}),e.defineMIME("application/x-json",{name:"javascript",json:!0}),e.defineMIME("application/manifest+json",{name:"javascript",json:!0}),e.defineMIME("application/ld+json",{name:"javascript",jsonld:!0}),e.defineMIME("text/typescript",{name:"javascript",typescript:!0}),e.defineMIME("application/typescript",{name:"javascript",typescript:!0})}(n(1719))},7639(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-instructions-Instructions-module__instructionsList {\n}\n\n.src-sidebar-instructions-Instructions-module__instruction {\n display: grid;\n grid-template-rows: auto auto;\n grid-template-columns: 3rem auto;\n align-items: center;\n cursor: pointer;\n}\n\n.src-sidebar-instructions-Instructions-module__sign {\n grid-row: 1 / span 2;\n justify-self: center;\n align-self: center;\n height: 1.5rem;\n}\n\n.src-sidebar-instructions-Instructions-module__sign > svg {\n width: 100%;\n height: 100%;\n display: block;\n}\n\n.src-sidebar-instructions-Instructions-module__mainText {\n margin-top: 1rem;\n}\n\n.src-sidebar-instructions-Instructions-module__motorwayJunction {\n font-weight: bold;\n font-size: smaller;\n color: white;\n width: fit-content;\n margin: 3px 0;\n padding: 5px;\n border-radius: 3px;\n}\n\n.src-sidebar-instructions-Instructions-module__distance {\n grid-column: 2 / span 1;\n font-size: small;\n color: #5b616a;\n padding-bottom: 1rem;\n border-bottom: 1px solid lightgray;\n}\n",""]),s.locals={instructionsList:"src-sidebar-instructions-Instructions-module__instructionsList",instruction:"src-sidebar-instructions-Instructions-module__instruction",sign:"src-sidebar-instructions-Instructions-module__sign",mainText:"src-sidebar-instructions-Instructions-module__mainText",motorwayJunction:"src-sidebar-instructions-Instructions-module__motorwayJunction",distance:"src-sidebar-instructions-Instructions-module__distance"};const a=s},7681(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-sidebar-search-AddressInput-module__btnInputClear {\n display: none;\n padding: 0 5px;\n color: grey;\n scale: 0.7;\n}\n\n.src-sidebar-search-AddressInput-module__btnCurrentLocation {\n padding: 0 7px 0 5px;\n color: grey;\n width: 32px;\n}\n\n.src-sidebar-search-AddressInput-module__btnCurrentLocation > svg {\n height: 100%;\n width: 100%;\n}\n\n.src-sidebar-search-AddressInput-module__btnClose {\n display: none;\n}\n\n.src-sidebar-search-AddressInput-module__inputContainer {\n display: grid;\n grid-template-columns: 1fr auto auto;\n grid-gap: 0;\n\n box-sizing: border-box;\n border: 1px solid #5b616a;\n border-radius: 0.2rem;\n /* for the radius we need some padding otherwise the corners will be nearly hidden */\n padding: 1px;\n}\n\n.src-sidebar-search-AddressInput-module__input {\n border: none;\n padding: 0.25rem 0.5rem;\n font-size: 1.05rem;\n}\n\n.src-sidebar-search-AddressInput-module__input:focus {\n outline: none;\n}\n\n.src-sidebar-search-AddressInput-module__smallList {\n grid-column: 2 / 3;\n overflow-x: hidden;\n}\n\n@media (max-width: 44rem) {\n .src-sidebar-search-AddressInput-module__fullscreen {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background-color: white;\n z-index: 5;\n padding: 0.5rem;\n }\n\n .src-sidebar-search-AddressInput-module__fullscreen .src-sidebar-search-AddressInput-module__inputContainer {\n grid-template-columns: auto 1fr auto;\n }\n\n .src-sidebar-search-AddressInput-module__fullscreen .src-sidebar-search-AddressInput-module__btnClose {\n display: block;\n margin: 0;\n padding: 5px 15px 5px 5px;\n }\n\n .src-sidebar-search-AddressInput-module__fullscreen .src-sidebar-search-AddressInput-module__btnInputClear {\n display: block;\n }\n /* when showing btnInputClear => remove the padding */\n .src-sidebar-search-AddressInput-module__fullscreen .src-sidebar-search-AddressInput-module__input {\n padding-right: 0;\n }\n}\n\n@media not all and (max-width: 44rem) {\n .src-sidebar-search-AddressInput-module__inputContainer:hover .src-sidebar-search-AddressInput-module__btnInputClear {\n display: block;\n }\n /* when showing btnInputClear => remove the padding */\n .src-sidebar-search-AddressInput-module__inputContainer:hover .src-sidebar-search-AddressInput-module__input {\n padding-right: 0;\n }\n}\n\n.src-sidebar-search-AddressInput-module__topBorder {\n padding-top: 3px;\n margin-top: -5px;\n border-top: dashed grey 2px;\n}\n\n.src-sidebar-search-AddressInput-module__bottomBorder {\n padding-bottom: 3px;\n margin-bottom: -5px;\n border-bottom: dashed grey 2px;\n}\n",""]),s.locals={btnInputClear:"src-sidebar-search-AddressInput-module__btnInputClear",btnCurrentLocation:"src-sidebar-search-AddressInput-module__btnCurrentLocation",btnClose:"src-sidebar-search-AddressInput-module__btnClose",inputContainer:"src-sidebar-search-AddressInput-module__inputContainer",input:"src-sidebar-search-AddressInput-module__input",smallList:"src-sidebar-search-AddressInput-module__smallList",fullscreen:"src-sidebar-search-AddressInput-module__fullscreen",topBorder:"src-sidebar-search-AddressInput-module__topBorder",bottomBorder:"src-sidebar-search-AddressInput-module__bottomBorder"};const a=s},7810(e,t,n){"use strict";e.exports=n(7491)},8264(e,t,n){"use strict";e.exports=n.p+"ceb05254cedfa895b512.ttf"},8305(e,t,n){"use strict";var i=n(2328),r=n(7810),o=n(2483);function s(e){var t="https://react.dev/errors/"+e;if(1<arguments.length){t+="?args[]="+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n])}return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function a(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function l(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function c(e){if(31===e.tag){var t=e.memoizedState;if(null===t&&null!==(e=e.alternate)&&(t=e.memoizedState),null!==t)return t.dehydrated}return null}function u(e){if(a(e)!==e)throw Error(s(188))}function d(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e;for(e=e.child;null!==e;){if(null!==(t=d(e)))return t;e=e.sibling}return null}var p=Object.assign,h=Symbol.for("react.element"),f=Symbol.for("react.transitional.element"),_=Symbol.for("react.portal"),g=Symbol.for("react.fragment"),m=Symbol.for("react.strict_mode"),y=Symbol.for("react.profiler"),v=Symbol.for("react.consumer"),b=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),w=Symbol.for("react.suspense"),k=Symbol.for("react.suspense_list"),C=Symbol.for("react.memo"),A=Symbol.for("react.lazy");Symbol.for("react.scope");var S=Symbol.for("react.activity");Symbol.for("react.legacy_hidden"),Symbol.for("react.tracing_marker");var E=Symbol.for("react.memo_cache_sentinel");Symbol.for("react.view_transition");var I=Symbol.iterator;function T(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=I&&e[I]||e["@@iterator"])?e:null}var M=Symbol.for("react.client.reference");function P(e){if(null==e)return null;if("function"==typeof e)return e.$$typeof===M?null:e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case g:return"Fragment";case y:return"Profiler";case m:return"StrictMode";case w:return"Suspense";case k:return"SuspenseList";case S:return"Activity"}if("object"==typeof e)switch(e.$$typeof){case _:return"Portal";case b:return e.displayName||"Context";case v:return(e._context.displayName||"Context")+".Consumer";case x:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case C:return null!==(t=e.displayName||null)?t:P(e.type)||"Memo";case A:t=e._payload,e=e._init;try{return P(e(t))}catch(e){}}return null}var R=Array.isArray,z=r.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,L=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,O={pending:!1,data:null,method:null,action:null},F=[],j=-1;function D(e){return{current:e}}function N(e){0>j||(e.current=F[j],F[j]=null,j--)}function B(e,t){j++,F[j]=e.current,e.current=t}var q,G,V=D(null),W=D(null),H=D(null),U=D(null);function $(e,t){switch(B(H,t),B(W,e),B(V,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?gd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=md(t=gd(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}N(V),B(V,e)}function K(){N(V),N(W),N(H)}function X(e){null!==e.memoizedState&&B(U,e);var t=V.current,n=md(t,e.type);t!==n&&(B(W,e),B(V,n))}function Z(e){W.current===e&&(N(V),N(W)),U.current===e&&(N(U),cp._currentValue=O)}function Y(e){if(void 0===q)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);q=t&&t[1]||"",G=-1<e.stack.indexOf("\n at")?" (<anonymous>)":-1<e.stack.indexOf("@")?"@unknown:0:0":""}return"\n"+q+e+G}var Q=!1;function J(e,t){if(!e||Q)return"";Q=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var i={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var i=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){i=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){i=e}(n=e())&&"function"==typeof n.catch&&n.catch(function(){})}}catch(e){if(e&&i&&"string"==typeof e.stack)return[e.stack,i.stack]}return[null,null]}};i.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var r=Object.getOwnPropertyDescriptor(i.DetermineComponentFrameRoot,"name");r&&r.configurable&&Object.defineProperty(i.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var o=i.DetermineComponentFrameRoot(),s=o[0],a=o[1];if(s&&a){var l=s.split("\n"),c=a.split("\n");for(r=i=0;i<l.length&&!l[i].includes("DetermineComponentFrameRoot");)i++;for(;r<c.length&&!c[r].includes("DetermineComponentFrameRoot");)r++;if(i===l.length||r===c.length)for(i=l.length-1,r=c.length-1;1<=i&&0<=r&&l[i]!==c[r];)r--;for(;1<=i&&0<=r;i--,r--)if(l[i]!==c[r]){if(1!==i||1!==r)do{if(i--,0>--r||l[i]!==c[r]){var u="\n"+l[i].replace(" at new "," at ");return e.displayName&&u.includes("<anonymous>")&&(u=u.replace("<anonymous>",e.displayName)),u}}while(1<=i&&0<=r);break}}}finally{Q=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?Y(n):""}function ee(e,t){switch(e.tag){case 26:case 27:case 5:return Y(e.type);case 16:return Y("Lazy");case 13:return e.child!==t&&null!==t?Y("Suspense Fallback"):Y("Suspense");case 19:return Y("SuspenseList");case 0:case 15:return J(e.type,!1);case 11:return J(e.type.render,!1);case 1:return J(e.type,!0);case 31:return Y("Activity");default:return""}}function te(e){try{var t="",n=null;do{t+=ee(e,n),n=e,e=e.return}while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var ne=Object.prototype.hasOwnProperty,ie=i.unstable_scheduleCallback,re=i.unstable_cancelCallback,oe=i.unstable_shouldYield,se=i.unstable_requestPaint,ae=i.unstable_now,le=i.unstable_getCurrentPriorityLevel,ce=i.unstable_ImmediatePriority,ue=i.unstable_UserBlockingPriority,de=i.unstable_NormalPriority,pe=i.unstable_LowPriority,he=i.unstable_IdlePriority,fe=i.log,_e=i.unstable_setDisableYieldValue,ge=null,me=null;function ye(e){if("function"==typeof fe&&_e(e),me&&"function"==typeof me.setStrictMode)try{me.setStrictMode(ge,e)}catch(e){}}var ve=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(be(e)/xe|0)|0},be=Math.log,xe=Math.LN2,we=256,ke=262144,Ce=4194304;function Ae(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return 261888&e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function Se(e,t,n){var i=e.pendingLanes;if(0===i)return 0;var r=0,o=e.suspendedLanes,s=e.pingedLanes;e=e.warmLanes;var a=134217727&i;return 0!==a?0!==(i=a&~o)?r=Ae(i):0!==(s&=a)?r=Ae(s):n||0!==(n=a&~e)&&(r=Ae(n)):0!==(a=i&~o)?r=Ae(a):0!==s?r=Ae(s):n||0!==(n=i&~e)&&(r=Ae(n)),0===r?0:0!==t&&t!==r&&0===(t&o)&&((o=r&-r)>=(n=t&-t)||32===o&&4194048&n)?t:r}function Ee(e,t){return 0===(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function Ie(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function Te(){var e=Ce;return!(62914560&(Ce<<=1))&&(Ce=4194304),e}function Me(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Pe(e,t){e.pendingLanes|=t,268435456!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Re(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var i=31-ve(t);e.entangledLanes|=t,e.entanglements[i]=1073741824|e.entanglements[i]|261930&n}function ze(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var i=31-ve(n),r=1<<i;r&t|e[i]&t&&(e[i]|=t),n&=~r}}function Le(e,t){var n=t&-t;return 0!==((n=42&n?1:Oe(n))&(e.suspendedLanes|t))?0:n}function Oe(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function Fe(e){return 2<(e&=-e)?8<e?134217727&e?32:268435456:8:2}function je(){var e=L.p;return 0!==e?e:void 0===(e=window.event)?32:kp(e.type)}function De(e,t){var n=L.p;try{return L.p=e,t()}finally{L.p=n}}var Ne=Math.random().toString(36).slice(2),Be="__reactFiber$"+Ne,qe="__reactProps$"+Ne,Ge="__reactContainer$"+Ne,Ve="__reactEvents$"+Ne,We="__reactListeners$"+Ne,He="__reactHandles$"+Ne,Ue="__reactResources$"+Ne,$e="__reactMarker$"+Ne;function Ke(e){delete e[Be],delete e[qe],delete e[Ve],delete e[We],delete e[He]}function Xe(e){var t=e[Be];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Ge]||n[Be]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=Od(e);null!==e;){if(n=e[Be])return n;e=Od(e)}return t}n=(e=n).parentNode}return null}function Ze(e){if(e=e[Be]||e[Ge]){var t=e.tag;if(5===t||6===t||13===t||31===t||26===t||27===t||3===t)return e}return null}function Ye(e){var t=e.tag;if(5===t||26===t||27===t||6===t)return e.stateNode;throw Error(s(33))}function Qe(e){var t=e[Ue];return t||(t=e[Ue]={hoistableStyles:new Map,hoistableScripts:new Map}),t}function Je(e){e[$e]=!0}var et=new Set,tt={};function nt(e,t){it(e,t),it(e+"Capture",t)}function it(e,t){for(tt[e]=t,e=0;e<t.length;e++)et.add(t[e])}var rt=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),ot={},st={};function at(e,t,n){if(r=t,ne.call(st,r)||!ne.call(ot,r)&&(rt.test(r)?st[r]=!0:(ot[r]=!0,0)))if(null===n)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":return void e.removeAttribute(t);case"boolean":var i=t.toLowerCase().slice(0,5);if("data-"!==i&&"aria-"!==i)return void e.removeAttribute(t)}e.setAttribute(t,""+n)}var r}function lt(e,t,n){if(null===n)e.removeAttribute(t);else{switch(typeof n){case"undefined":case"function":case"symbol":case"boolean":return void e.removeAttribute(t)}e.setAttribute(t,""+n)}}function ct(e,t,n,i){if(null===i)e.removeAttribute(n);else{switch(typeof i){case"undefined":case"function":case"symbol":case"boolean":return void e.removeAttribute(n)}e.setAttributeNS(t,n,""+i)}}function ut(e){switch(typeof e){case"bigint":case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function dt(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function pt(e){if(!e._valueTracker){var t=dt(e)?"checked":"value";e._valueTracker=function(e,t,n){var i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&void 0!==i&&"function"==typeof i.get&&"function"==typeof i.set){var r=i.get,o=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(e){n=""+e,o.call(this,e)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return n},setValue:function(e){n=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e,t,""+e[t])}}function ht(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),i="";return e&&(i=dt(e)?e.checked?"true":"false":e.value),(e=i)!==n&&(t.setValue(e),!0)}function ft(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}var _t=/[\n"\\]/g;function gt(e){return e.replace(_t,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function mt(e,t,n,i,r,o,s,a){e.name="",null!=s&&"function"!=typeof s&&"symbol"!=typeof s&&"boolean"!=typeof s?e.type=s:e.removeAttribute("type"),null!=t?"number"===s?(0===t&&""===e.value||e.value!=t)&&(e.value=""+ut(t)):e.value!==""+ut(t)&&(e.value=""+ut(t)):"submit"!==s&&"reset"!==s||e.removeAttribute("value"),null!=t?vt(e,s,ut(t)):null!=n?vt(e,s,ut(n)):null!=i&&e.removeAttribute("value"),null==r&&null!=o&&(e.defaultChecked=!!o),null!=r&&(e.checked=r&&"function"!=typeof r&&"symbol"!=typeof r),null!=a&&"function"!=typeof a&&"symbol"!=typeof a&&"boolean"!=typeof a?e.name=""+ut(a):e.removeAttribute("name")}function yt(e,t,n,i,r,o,s,a){if(null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o&&(e.type=o),null!=t||null!=n){if(("submit"===o||"reset"===o)&&null==t)return void pt(e);n=null!=n?""+ut(n):"",t=null!=t?""+ut(t):n,a||t===e.value||(e.value=t),e.defaultValue=t}i="function"!=typeof(i=null!=i?i:r)&&"symbol"!=typeof i&&!!i,e.checked=a?e.checked:!!i,e.defaultChecked=!!i,null!=s&&"function"!=typeof s&&"symbol"!=typeof s&&"boolean"!=typeof s&&(e.name=s),pt(e)}function vt(e,t,n){"number"===t&&ft(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}function bt(e,t,n,i){if(e=e.options,t){t={};for(var r=0;r<n.length;r++)t["$"+n[r]]=!0;for(n=0;n<e.length;n++)r=t.hasOwnProperty("$"+e[n].value),e[n].selected!==r&&(e[n].selected=r),r&&i&&(e[n].defaultSelected=!0)}else{for(n=""+ut(n),t=null,r=0;r<e.length;r++){if(e[r].value===n)return e[r].selected=!0,void(i&&(e[r].defaultSelected=!0));null!==t||e[r].disabled||(t=e[r])}null!==t&&(t.selected=!0)}}function xt(e,t,n){null==t||((t=""+ut(t))!==e.value&&(e.value=t),null!=n)?e.defaultValue=null!=n?""+ut(n):"":e.defaultValue!==t&&(e.defaultValue=t)}function wt(e,t,n,i){if(null==t){if(null!=i){if(null!=n)throw Error(s(92));if(R(i)){if(1<i.length)throw Error(s(93));i=i[0]}n=i}null==n&&(n=""),t=n}n=ut(t),e.defaultValue=n,(i=e.textContent)===n&&""!==i&&null!==i&&(e.value=i),pt(e)}function kt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var Ct=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function At(e,t,n){var i=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?i?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":i?e.setProperty(t,n):"number"!=typeof n||0===n||Ct.has(t)?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function St(e,t,n){if(null!=t&&"object"!=typeof t)throw Error(s(62));if(e=e.style,null!=n){for(var i in n)!n.hasOwnProperty(i)||null!=t&&t.hasOwnProperty(i)||(0===i.indexOf("--")?e.setProperty(i,""):"float"===i?e.cssFloat="":e[i]="");for(var r in t)i=t[r],t.hasOwnProperty(r)&&n[r]!==i&&At(e,r,i)}else for(var o in t)t.hasOwnProperty(o)&&At(e,o,t[o])}function Et(e){if(-1===e.indexOf("-"))return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var It=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Tt=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Mt(e){return Tt.test(""+e)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":e}function Pt(){}var Rt=null;function zt(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var Lt=null,Ot=null;function Ft(e){var t=Ze(e);if(t&&(e=t.stateNode)){var n=e[qe]||null;e:switch(e=t.stateNode,t.type){case"input":if(mt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+gt(""+t)+'"][type="radio"]'),t=0;t<n.length;t++){var i=n[t];if(i!==e&&i.form===e.form){var r=i[qe]||null;if(!r)throw Error(s(90));mt(i,r.value,r.defaultValue,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name)}}for(t=0;t<n.length;t++)(i=n[t]).form===e.form&&ht(i)}break e;case"textarea":xt(e,n.value,n.defaultValue);break e;case"select":null!=(t=n.value)&&bt(e,!!n.multiple,t,!1)}}}var jt=!1;function Dt(e,t,n){if(jt)return e(t,n);jt=!0;try{return e(t)}finally{if(jt=!1,(null!==Lt||null!==Ot)&&(Qc(),Lt&&(t=Lt,e=Ot,Ot=Lt=null,Ft(t),e)))for(t=0;t<e.length;t++)Ft(e[t])}}function Nt(e,t){var n=e.stateNode;if(null===n)return null;var i=n[qe]||null;if(null===i)return null;n=i[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(i=!i.disabled)||(i=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!i;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(s(231,t,typeof n));return n}var Bt=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),qt=!1;if(Bt)try{var Gt={};Object.defineProperty(Gt,"passive",{get:function(){qt=!0}}),window.addEventListener("test",Gt,Gt),window.removeEventListener("test",Gt,Gt)}catch(e){qt=!1}var Vt=null,Wt=null,Ht=null;function Ut(){if(Ht)return Ht;var e,t,n=Wt,i=n.length,r="value"in Vt?Vt.value:Vt.textContent,o=r.length;for(e=0;e<i&&n[e]===r[e];e++);var s=i-e;for(t=1;t<=s&&n[i-t]===r[o-t];t++);return Ht=r.slice(e,1<t?1-t:void 0)}function $t(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function Kt(){return!0}function Xt(){return!1}function Zt(e){function t(t,n,i,r,o){for(var s in this._reactName=t,this._targetInst=i,this.type=n,this.nativeEvent=r,this.target=o,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(r):r[s]);return this.isDefaultPrevented=(null!=r.defaultPrevented?r.defaultPrevented:!1===r.returnValue)?Kt:Xt,this.isPropagationStopped=Xt,this}return p(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Kt)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Kt)},persist:function(){},isPersistent:Kt}),t}var Yt,Qt,Jt,en={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},tn=Zt(en),nn=p({},en,{view:0,detail:0}),rn=Zt(nn),on=p({},nn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:gn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Jt&&(Jt&&"mousemove"===e.type?(Yt=e.screenX-Jt.screenX,Qt=e.screenY-Jt.screenY):Qt=Yt=0,Jt=e),Yt)},movementY:function(e){return"movementY"in e?e.movementY:Qt}}),sn=Zt(on),an=Zt(p({},on,{dataTransfer:0})),ln=Zt(p({},nn,{relatedTarget:0})),cn=Zt(p({},en,{animationName:0,elapsedTime:0,pseudoElement:0})),un=Zt(p({},en,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}})),dn=Zt(p({},en,{data:0})),pn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},hn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},fn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function _n(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=fn[e])&&!!t[e]}function gn(){return _n}var mn=Zt(p({},nn,{key:function(e){if(e.key){var t=pn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=$t(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?hn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:gn,charCode:function(e){return"keypress"===e.type?$t(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?$t(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}})),yn=Zt(p({},on,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),vn=Zt(p({},nn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:gn})),bn=Zt(p({},en,{propertyName:0,elapsedTime:0,pseudoElement:0})),xn=Zt(p({},on,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),wn=Zt(p({},en,{newState:0,oldState:0})),kn=[9,13,27,32],Cn=Bt&&"CompositionEvent"in window,An=null;Bt&&"documentMode"in document&&(An=document.documentMode);var Sn=Bt&&"TextEvent"in window&&!An,En=Bt&&(!Cn||An&&8<An&&11>=An),In=String.fromCharCode(32),Tn=!1;function Mn(e,t){switch(e){case"keyup":return-1!==kn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Pn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Rn=!1,zn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Ln(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!zn[e.type]:"textarea"===t}function On(e,t,n,i){Lt?Ot?Ot.push(i):Ot=[i]:Lt=i,0<(t=nd(t,"onChange")).length&&(n=new tn("onChange","change",null,n,i),e.push({event:n,listeners:t}))}var Fn=null,jn=null;function Dn(e){Ku(e,0)}function Nn(e){if(ht(Ye(e)))return e}function Bn(e,t){if("change"===e)return t}var qn=!1;if(Bt){var Gn;if(Bt){var Vn="oninput"in document;if(!Vn){var Wn=document.createElement("div");Wn.setAttribute("oninput","return;"),Vn="function"==typeof Wn.oninput}Gn=Vn}else Gn=!1;qn=Gn&&(!document.documentMode||9<document.documentMode)}function Hn(){Fn&&(Fn.detachEvent("onpropertychange",Un),jn=Fn=null)}function Un(e){if("value"===e.propertyName&&Nn(jn)){var t=[];On(t,jn,e,zt(e)),Dt(Dn,t)}}function $n(e,t,n){"focusin"===e?(Hn(),jn=n,(Fn=t).attachEvent("onpropertychange",Un)):"focusout"===e&&Hn()}function Kn(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Nn(jn)}function Xn(e,t){if("click"===e)return Nn(t)}function Zn(e,t){if("input"===e||"change"===e)return Nn(t)}var Yn="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function Qn(e,t){if(Yn(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(i=0;i<n.length;i++){var r=n[i];if(!ne.call(t,r)||!Yn(e[r],t[r]))return!1}return!0}function Jn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function ei(e,t){var n,i=Jn(e);for(e=0;i;){if(3===i.nodeType){if(n=e+i.textContent.length,e<=t&&n>=t)return{node:i,offset:t-e};e=n}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=Jn(i)}}function ti(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?ti(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function ni(e){for(var t=ft((e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window).document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=ft((e=t.contentWindow).document)}return t}function ii(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var ri=Bt&&"documentMode"in document&&11>=document.documentMode,oi=null,si=null,ai=null,li=!1;function ci(e,t,n){var i=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;li||null==oi||oi!==ft(i)||(i="selectionStart"in(i=oi)&&ii(i)?{start:i.selectionStart,end:i.selectionEnd}:{anchorNode:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset},ai&&Qn(ai,i)||(ai=i,0<(i=nd(si,"onSelect")).length&&(t=new tn("onSelect","select",null,t,n),e.push({event:t,listeners:i}),t.target=oi)))}function ui(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var di={animationend:ui("Animation","AnimationEnd"),animationiteration:ui("Animation","AnimationIteration"),animationstart:ui("Animation","AnimationStart"),transitionrun:ui("Transition","TransitionRun"),transitionstart:ui("Transition","TransitionStart"),transitioncancel:ui("Transition","TransitionCancel"),transitionend:ui("Transition","TransitionEnd")},pi={},hi={};function fi(e){if(pi[e])return pi[e];if(!di[e])return e;var t,n=di[e];for(t in n)if(n.hasOwnProperty(t)&&t in hi)return pi[e]=n[t];return e}Bt&&(hi=document.createElement("div").style,"AnimationEvent"in window||(delete di.animationend.animation,delete di.animationiteration.animation,delete di.animationstart.animation),"TransitionEvent"in window||delete di.transitionend.transition);var _i=fi("animationend"),gi=fi("animationiteration"),mi=fi("animationstart"),yi=fi("transitionrun"),vi=fi("transitionstart"),bi=fi("transitioncancel"),xi=fi("transitionend"),wi=new Map,ki="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Ci(e,t){wi.set(e,t),nt(t,[e])}ki.push("scrollEnd");var Ai="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof process&&"function"==typeof process.emit)return void process.emit("uncaughtException",e);console.error(e)},Si=[],Ei=0,Ii=0;function Ti(){for(var e=Ei,t=Ii=Ei=0;t<e;){var n=Si[t];Si[t++]=null;var i=Si[t];Si[t++]=null;var r=Si[t];Si[t++]=null;var o=Si[t];if(Si[t++]=null,null!==i&&null!==r){var s=i.pending;null===s?r.next=r:(r.next=s.next,s.next=r),i.pending=r}0!==o&&zi(n,r,o)}}function Mi(e,t,n,i){Si[Ei++]=e,Si[Ei++]=t,Si[Ei++]=n,Si[Ei++]=i,Ii|=i,e.lanes|=i,null!==(e=e.alternate)&&(e.lanes|=i)}function Pi(e,t,n,i){return Mi(e,t,n,i),Li(e)}function Ri(e,t){return Mi(e,null,null,t),Li(e)}function zi(e,t,n){e.lanes|=n;var i=e.alternate;null!==i&&(i.lanes|=n);for(var r=!1,o=e.return;null!==o;)o.childLanes|=n,null!==(i=o.alternate)&&(i.childLanes|=n),22===o.tag&&(null===(e=o.stateNode)||1&e._visibility||(r=!0)),e=o,o=o.return;return 3===e.tag?(o=e.stateNode,r&&null!==t&&(r=31-ve(n),null===(i=(e=o.hiddenUpdates)[r])?e[r]=[t]:i.push(t),t.lane=536870912|n),o):null}function Li(e){if(50<Vc)throw Vc=0,Wc=null,Error(s(185));for(var t=e.return;null!==t;)t=(e=t).return;return 3===e.tag?e.stateNode:null}var Oi={};function Fi(e,t,n,i){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ji(e,t,n,i){return new Fi(e,t,n,i)}function Di(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ni(e,t){var n=e.alternate;return null===n?((n=ji(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=65011712&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Bi(e,t){e.flags&=65011714;var n=e.alternate;return null===n?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function qi(e,t,n,i,r,o){var a=0;if(i=e,"function"==typeof e)Di(e)&&(a=1);else if("string"==typeof e)a=function(e,t,n){if(1===n||null!=t.itemProp)return!1;switch(e){case"meta":case"title":return!0;case"style":if("string"!=typeof t.precedence||"string"!=typeof t.href||""===t.href)break;return!0;case"link":if("string"!=typeof t.rel||"string"!=typeof t.href||""===t.href||t.onLoad||t.onError)break;return"stylesheet"!==t.rel||(e=t.disabled,"string"==typeof t.precedence&&null==e);case"script":if(t.async&&"function"!=typeof t.async&&"symbol"!=typeof t.async&&!t.onLoad&&!t.onError&&t.src&&"string"==typeof t.src)return!0}return!1}(e,n,V.current)?26:"html"===e||"head"===e||"body"===e?27:5;else e:switch(e){case S:return(e=ji(31,n,t,r)).elementType=S,e.lanes=o,e;case g:return Gi(n.children,r,o,t);case m:a=8,r|=24;break;case y:return(e=ji(12,n,t,2|r)).elementType=y,e.lanes=o,e;case w:return(e=ji(13,n,t,r)).elementType=w,e.lanes=o,e;case k:return(e=ji(19,n,t,r)).elementType=k,e.lanes=o,e;default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case b:a=10;break e;case v:a=9;break e;case x:a=11;break e;case C:a=14;break e;case A:a=16,i=null;break e}a=29,n=Error(s(130,null===e?"null":typeof e,"")),i=null}return(t=ji(a,n,t,r)).elementType=e,t.type=i,t.lanes=o,t}function Gi(e,t,n,i){return(e=ji(7,e,i,t)).lanes=n,e}function Vi(e,t,n){return(e=ji(6,e,null,t)).lanes=n,e}function Wi(e){var t=ji(18,null,null,0);return t.stateNode=e,t}function Hi(e,t,n){return(t=ji(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Ui=new WeakMap;function $i(e,t){if("object"==typeof e&&null!==e){var n=Ui.get(e);return void 0!==n?n:(t={value:e,source:t,stack:te(t)},Ui.set(e,t),t)}return{value:e,source:t,stack:te(t)}}var Ki=[],Xi=0,Zi=null,Yi=0,Qi=[],Ji=0,er=null,tr=1,nr="";function ir(e,t){Ki[Xi++]=Yi,Ki[Xi++]=Zi,Zi=e,Yi=t}function rr(e,t,n){Qi[Ji++]=tr,Qi[Ji++]=nr,Qi[Ji++]=er,er=e;var i=tr;e=nr;var r=32-ve(i)-1;i&=~(1<<r),n+=1;var o=32-ve(t)+r;if(30<o){var s=r-r%5;o=(i&(1<<s)-1).toString(32),i>>=s,r-=s,tr=1<<32-ve(t)+r|n<<r|i,nr=o+e}else tr=1<<o|n<<r|i,nr=e}function or(e){null!==e.return&&(ir(e,1),rr(e,1,0))}function sr(e){for(;e===Zi;)Zi=Ki[--Xi],Ki[Xi]=null,Yi=Ki[--Xi],Ki[Xi]=null;for(;e===er;)er=Qi[--Ji],Qi[Ji]=null,nr=Qi[--Ji],Qi[Ji]=null,tr=Qi[--Ji],Qi[Ji]=null}function ar(e,t){Qi[Ji++]=tr,Qi[Ji++]=nr,Qi[Ji++]=er,tr=t.id,nr=t.overflow,er=e}var lr=null,cr=null,ur=!1,dr=null,pr=!1,hr=Error(s(519));function fr(e){throw br($i(Error(s(418,1<arguments.length&&void 0!==arguments[1]&&arguments[1]?"text":"HTML","")),e)),hr}function _r(e){var t=e.stateNode,n=e.type,i=e.memoizedProps;switch(t[Be]=e,t[qe]=i,n){case"dialog":Xu("cancel",t),Xu("close",t);break;case"iframe":case"object":case"embed":Xu("load",t);break;case"video":case"audio":for(n=0;n<Uu.length;n++)Xu(Uu[n],t);break;case"source":Xu("error",t);break;case"img":case"image":case"link":Xu("error",t),Xu("load",t);break;case"details":Xu("toggle",t);break;case"input":Xu("invalid",t),yt(t,i.value,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name,!0);break;case"select":Xu("invalid",t);break;case"textarea":Xu("invalid",t),wt(t,i.value,i.defaultValue,i.children)}"string"!=typeof(n=i.children)&&"number"!=typeof n&&"bigint"!=typeof n||t.textContent===""+n||!0===i.suppressHydrationWarning||ld(t.textContent,n)?(null!=i.popover&&(Xu("beforetoggle",t),Xu("toggle",t)),null!=i.onScroll&&Xu("scroll",t),null!=i.onScrollEnd&&Xu("scrollend",t),null!=i.onClick&&(t.onclick=Pt),t=!0):t=!1,t||fr(e,!0)}function gr(e){for(lr=e.return;lr;)switch(lr.tag){case 5:case 31:case 13:return void(pr=!1);case 27:case 3:return void(pr=!0);default:lr=lr.return}}function mr(e){if(e!==lr)return!1;if(!ur)return gr(e),ur=!0,!1;var t,n=e.tag;if((t=3!==n&&27!==n)&&((t=5===n)&&(t=!("form"!==(t=e.type)&&"button"!==t)||yd(e.type,e.memoizedProps)),t=!t),t&&cr&&fr(e),gr(e),13===n){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(s(317));cr=Ld(e)}else if(31===n){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(s(317));cr=Ld(e)}else 27===n?(n=cr,Ad(e.type)?(e=zd,zd=null,cr=e):cr=n):cr=lr?Rd(e.stateNode.nextSibling):null;return!0}function yr(){cr=lr=null,ur=!1}function vr(){var e=dr;return null!==e&&(null===Tc?Tc=e:Tc.push.apply(Tc,e),dr=null),e}function br(e){null===dr?dr=[e]:dr.push(e)}var xr=D(null),wr=null,kr=null;function Cr(e,t,n){B(xr,t._currentValue),t._currentValue=n}function Ar(e){e._currentValue=xr.current,N(xr)}function Sr(e,t,n){for(;null!==e;){var i=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==i&&(i.childLanes|=t)):null!==i&&(i.childLanes&t)!==t&&(i.childLanes|=t),e===n)break;e=e.return}}function Er(e,t,n,i){var r=e.child;for(null!==r&&(r.return=e);null!==r;){var o=r.dependencies;if(null!==o){var a=r.child;o=o.firstContext;e:for(;null!==o;){var l=o;o=r;for(var c=0;c<t.length;c++)if(l.context===t[c]){o.lanes|=n,null!==(l=o.alternate)&&(l.lanes|=n),Sr(o.return,n,e),i||(a=null);break e}o=l.next}}else if(18===r.tag){if(null===(a=r.return))throw Error(s(341));a.lanes|=n,null!==(o=a.alternate)&&(o.lanes|=n),Sr(a,n,e),a=null}else a=r.child;if(null!==a)a.return=r;else for(a=r;null!==a;){if(a===e){a=null;break}if(null!==(r=a.sibling)){r.return=a.return,a=r;break}a=a.return}r=a}}function Ir(e,t,n,i){e=null;for(var r=t,o=!1;null!==r;){if(!o)if(524288&r.flags)o=!0;else if(262144&r.flags)break;if(10===r.tag){var a=r.alternate;if(null===a)throw Error(s(387));if(null!==(a=a.memoizedProps)){var l=r.type;Yn(r.pendingProps.value,a.value)||(null!==e?e.push(l):e=[l])}}else if(r===U.current){if(null===(a=r.alternate))throw Error(s(387));a.memoizedState.memoizedState!==r.memoizedState.memoizedState&&(null!==e?e.push(cp):e=[cp])}r=r.return}null!==e&&Er(t,e,n,i),t.flags|=262144}function Tr(e){for(e=e.firstContext;null!==e;){if(!Yn(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Mr(e){wr=e,kr=null,null!==(e=e.dependencies)&&(e.firstContext=null)}function Pr(e){return zr(wr,e)}function Rr(e,t){return null===wr&&Mr(e),zr(e,t)}function zr(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},null===kr){if(null===e)throw Error(s(308));kr=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else kr=kr.next=t;return n}var Lr="undefined"!=typeof AbortController?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Or=i.unstable_scheduleCallback,Fr=i.unstable_NormalPriority,jr={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Dr(){return{controller:new Lr,data:new Map,refCount:0}}function Nr(e){e.refCount--,0===e.refCount&&Or(Fr,function(){e.controller.abort()})}var Br=null,qr=0,Gr=0,Vr=null;function Wr(){if(0===--qr&&null!==Br){null!==Vr&&(Vr.status="fulfilled");var e=Br;Br=null,Gr=0,Vr=null;for(var t=0;t<e.length;t++)(0,e[t])()}}var Hr=z.S;z.S=function(e,t){Rc=ae(),"object"==typeof t&&null!==t&&"function"==typeof t.then&&function(e,t){if(null===Br){var n=Br=[];qr=0,Gr=qu(),Vr={status:"pending",value:void 0,then:function(e){n.push(e)}}}qr++,t.then(Wr,Wr)}(0,t),null!==Hr&&Hr(e,t)};var Ur=D(null);function $r(){var e=Ur.current;return null!==e?e:hc.pooledCache}function Kr(e,t){B(Ur,null===t?Ur.current:t.pool)}function Xr(){var e=$r();return null===e?null:{parent:jr._currentValue,pool:e}}var Zr=Error(s(460)),Yr=Error(s(474)),Qr=Error(s(542)),Jr={then:function(){}};function eo(e){return"fulfilled"===(e=e.status)||"rejected"===e}function to(e,t,n){switch(void 0===(n=e[n])?e.push(t):n!==t&&(t.then(Pt,Pt),t=n),t.status){case"fulfilled":return t.value;case"rejected":throw oo(e=t.reason),e;default:if("string"==typeof t.status)t.then(Pt,Pt);else{if(null!==(e=hc)&&100<e.shellSuspendCounter)throw Error(s(482));(e=t).status="pending",e.then(function(e){if("pending"===t.status){var n=t;n.status="fulfilled",n.value=e}},function(e){if("pending"===t.status){var n=t;n.status="rejected",n.reason=e}})}switch(t.status){case"fulfilled":return t.value;case"rejected":throw oo(e=t.reason),e}throw io=t,Zr}}function no(e){try{return(0,e._init)(e._payload)}catch(e){if(null!==e&&"object"==typeof e&&"function"==typeof e.then)throw io=e,Zr;throw e}}var io=null;function ro(){if(null===io)throw Error(s(459));var e=io;return io=null,e}function oo(e){if(e===Zr||e===Qr)throw Error(s(483))}var so=null,ao=0;function lo(e){var t=ao;return ao+=1,null===so&&(so=[]),to(so,e,t)}function co(e,t){t=t.props.ref,e.ref=void 0!==t?t:null}function uo(e,t){if(t.$$typeof===h)throw Error(s(525));throw e=Object.prototype.toString.call(t),Error(s(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function po(e){function t(t,n){if(e){var i=t.deletions;null===i?(t.deletions=[n],t.flags|=16):i.push(n)}}function n(n,i){if(!e)return null;for(;null!==i;)t(n,i),i=i.sibling;return null}function i(e){for(var t=new Map;null!==e;)null!==e.key?t.set(e.key,e):t.set(e.index,e),e=e.sibling;return t}function r(e,t){return(e=Ni(e,t)).index=0,e.sibling=null,e}function o(t,n,i){return t.index=i,e?null!==(i=t.alternate)?(i=i.index)<n?(t.flags|=67108866,n):i:(t.flags|=67108866,n):(t.flags|=1048576,n)}function a(t){return e&&null===t.alternate&&(t.flags|=67108866),t}function l(e,t,n,i){return null===t||6!==t.tag?((t=Vi(n,e.mode,i)).return=e,t):((t=r(t,n)).return=e,t)}function c(e,t,n,i){var o=n.type;return o===g?d(e,t,n.props.children,i,n.key):null!==t&&(t.elementType===o||"object"==typeof o&&null!==o&&o.$$typeof===A&&no(o)===t.type)?(co(t=r(t,n.props),n),t.return=e,t):(co(t=qi(n.type,n.key,n.props,null,e.mode,i),n),t.return=e,t)}function u(e,t,n,i){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Hi(n,e.mode,i)).return=e,t):((t=r(t,n.children||[])).return=e,t)}function d(e,t,n,i,o){return null===t||7!==t.tag?((t=Gi(n,e.mode,i,o)).return=e,t):((t=r(t,n)).return=e,t)}function p(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t||"bigint"==typeof t)return(t=Vi(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case f:return co(n=qi(t.type,t.key,t.props,null,e.mode,n),t),n.return=e,n;case _:return(t=Hi(t,e.mode,n)).return=e,t;case A:return p(e,t=no(t),n)}if(R(t)||T(t))return(t=Gi(t,e.mode,n,null)).return=e,t;if("function"==typeof t.then)return p(e,lo(t),n);if(t.$$typeof===b)return p(e,Rr(e,t),n);uo(e,t)}return null}function h(e,t,n,i){var r=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n||"bigint"==typeof n)return null!==r?null:l(e,t,""+n,i);if("object"==typeof n&&null!==n){switch(n.$$typeof){case f:return n.key===r?c(e,t,n,i):null;case _:return n.key===r?u(e,t,n,i):null;case A:return h(e,t,n=no(n),i)}if(R(n)||T(n))return null!==r?null:d(e,t,n,i,null);if("function"==typeof n.then)return h(e,t,lo(n),i);if(n.$$typeof===b)return h(e,t,Rr(e,n),i);uo(e,n)}return null}function m(e,t,n,i,r){if("string"==typeof i&&""!==i||"number"==typeof i||"bigint"==typeof i)return l(t,e=e.get(n)||null,""+i,r);if("object"==typeof i&&null!==i){switch(i.$$typeof){case f:return c(t,e=e.get(null===i.key?n:i.key)||null,i,r);case _:return u(t,e=e.get(null===i.key?n:i.key)||null,i,r);case A:return m(e,t,n,i=no(i),r)}if(R(i)||T(i))return d(t,e=e.get(n)||null,i,r,null);if("function"==typeof i.then)return m(e,t,n,lo(i),r);if(i.$$typeof===b)return m(e,t,n,Rr(t,i),r);uo(t,i)}return null}function y(l,c,u,d){if("object"==typeof u&&null!==u&&u.type===g&&null===u.key&&(u=u.props.children),"object"==typeof u&&null!==u){switch(u.$$typeof){case f:e:{for(var v=u.key;null!==c;){if(c.key===v){if((v=u.type)===g){if(7===c.tag){n(l,c.sibling),(d=r(c,u.props.children)).return=l,l=d;break e}}else if(c.elementType===v||"object"==typeof v&&null!==v&&v.$$typeof===A&&no(v)===c.type){n(l,c.sibling),co(d=r(c,u.props),u),d.return=l,l=d;break e}n(l,c);break}t(l,c),c=c.sibling}u.type===g?((d=Gi(u.props.children,l.mode,d,u.key)).return=l,l=d):(co(d=qi(u.type,u.key,u.props,null,l.mode,d),u),d.return=l,l=d)}return a(l);case _:e:{for(v=u.key;null!==c;){if(c.key===v){if(4===c.tag&&c.stateNode.containerInfo===u.containerInfo&&c.stateNode.implementation===u.implementation){n(l,c.sibling),(d=r(c,u.children||[])).return=l,l=d;break e}n(l,c);break}t(l,c),c=c.sibling}(d=Hi(u,l.mode,d)).return=l,l=d}return a(l);case A:return y(l,c,u=no(u),d)}if(R(u))return function(r,s,a,l){for(var c=null,u=null,d=s,f=s=0,_=null;null!==d&&f<a.length;f++){d.index>f?(_=d,d=null):_=d.sibling;var g=h(r,d,a[f],l);if(null===g){null===d&&(d=_);break}e&&d&&null===g.alternate&&t(r,d),s=o(g,s,f),null===u?c=g:u.sibling=g,u=g,d=_}if(f===a.length)return n(r,d),ur&&ir(r,f),c;if(null===d){for(;f<a.length;f++)null!==(d=p(r,a[f],l))&&(s=o(d,s,f),null===u?c=d:u.sibling=d,u=d);return ur&&ir(r,f),c}for(d=i(d);f<a.length;f++)null!==(_=m(d,r,f,a[f],l))&&(e&&null!==_.alternate&&d.delete(null===_.key?f:_.key),s=o(_,s,f),null===u?c=_:u.sibling=_,u=_);return e&&d.forEach(function(e){return t(r,e)}),ur&&ir(r,f),c}(l,c,u,d);if(T(u)){if("function"!=typeof(v=T(u)))throw Error(s(150));return function(r,a,l,c){if(null==l)throw Error(s(151));for(var u=null,d=null,f=a,_=a=0,g=null,y=l.next();null!==f&&!y.done;_++,y=l.next()){f.index>_?(g=f,f=null):g=f.sibling;var v=h(r,f,y.value,c);if(null===v){null===f&&(f=g);break}e&&f&&null===v.alternate&&t(r,f),a=o(v,a,_),null===d?u=v:d.sibling=v,d=v,f=g}if(y.done)return n(r,f),ur&&ir(r,_),u;if(null===f){for(;!y.done;_++,y=l.next())null!==(y=p(r,y.value,c))&&(a=o(y,a,_),null===d?u=y:d.sibling=y,d=y);return ur&&ir(r,_),u}for(f=i(f);!y.done;_++,y=l.next())null!==(y=m(f,r,_,y.value,c))&&(e&&null!==y.alternate&&f.delete(null===y.key?_:y.key),a=o(y,a,_),null===d?u=y:d.sibling=y,d=y);return e&&f.forEach(function(e){return t(r,e)}),ur&&ir(r,_),u}(l,c,u=v.call(u),d)}if("function"==typeof u.then)return y(l,c,lo(u),d);if(u.$$typeof===b)return y(l,c,Rr(l,u),d);uo(l,u)}return"string"==typeof u&&""!==u||"number"==typeof u||"bigint"==typeof u?(u=""+u,null!==c&&6===c.tag?(n(l,c.sibling),(d=r(c,u)).return=l,l=d):(n(l,c),(d=Vi(u,l.mode,d)).return=l,l=d),a(l)):n(l,c)}return function(e,t,n,i){try{ao=0;var r=y(e,t,n,i);return so=null,r}catch(t){if(t===Zr||t===Qr)throw t;var o=ji(29,t,null,e.mode);return o.lanes=i,o.return=e,o}}}var ho=po(!0),fo=po(!1),_o=!1;function go(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function mo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function yo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function vo(e,t,n){var i=e.updateQueue;if(null===i)return null;if(i=i.shared,2&pc){var r=i.pending;return null===r?t.next=t:(t.next=r.next,r.next=t),i.pending=t,t=Li(e),zi(e,null,n),t}return Mi(e,i,t,n),Li(e)}function bo(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194048&n)){var i=t.lanes;n|=i&=e.pendingLanes,t.lanes=n,ze(e,n)}}function xo(e,t){var n=e.updateQueue,i=e.alternate;if(null!==i&&n===(i=i.updateQueue)){var r=null,o=null;if(null!==(n=n.firstBaseUpdate)){do{var s={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===o?r=o=s:o=o.next=s,n=n.next}while(null!==n);null===o?r=o=t:o=o.next=t}else r=o=t;return n={baseState:i.baseState,firstBaseUpdate:r,lastBaseUpdate:o,shared:i.shared,callbacks:i.callbacks},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var wo=!1;function ko(){if(wo&&null!==Vr)throw Vr}function Co(e,t,n,i){wo=!1;var r=e.updateQueue;_o=!1;var o=r.firstBaseUpdate,s=r.lastBaseUpdate,a=r.shared.pending;if(null!==a){r.shared.pending=null;var l=a,c=l.next;l.next=null,null===s?o=c:s.next=c,s=l;var u=e.alternate;null!==u&&(a=(u=u.updateQueue).lastBaseUpdate)!==s&&(null===a?u.firstBaseUpdate=c:a.next=c,u.lastBaseUpdate=l)}if(null!==o){var d=r.baseState;for(s=0,u=c=l=null,a=o;;){var h=-536870913&a.lane,f=h!==a.lane;if(f?(_c&h)===h:(i&h)===h){0!==h&&h===Gr&&(wo=!0),null!==u&&(u=u.next={lane:0,tag:a.tag,payload:a.payload,callback:null,next:null});e:{var _=e,g=a;h=t;var m=n;switch(g.tag){case 1:if("function"==typeof(_=g.payload)){d=_.call(m,d,h);break e}d=_;break e;case 3:_.flags=-65537&_.flags|128;case 0:if(null==(h="function"==typeof(_=g.payload)?_.call(m,d,h):_))break e;d=p({},d,h);break e;case 2:_o=!0}}null!==(h=a.callback)&&(e.flags|=64,f&&(e.flags|=8192),null===(f=r.callbacks)?r.callbacks=[h]:f.push(h))}else f={lane:h,tag:a.tag,payload:a.payload,callback:a.callback,next:null},null===u?(c=u=f,l=d):u=u.next=f,s|=h;if(null===(a=a.next)){if(null===(a=r.shared.pending))break;a=(f=a).next,f.next=null,r.lastBaseUpdate=f,r.shared.pending=null}}null===u&&(l=d),r.baseState=l,r.firstBaseUpdate=c,r.lastBaseUpdate=u,null===o&&(r.shared.lanes=0),kc|=s,e.lanes=s,e.memoizedState=d}}function Ao(e,t){if("function"!=typeof e)throw Error(s(191,e));e.call(t)}function So(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;e<n.length;e++)Ao(n[e],t)}var Eo=D(null),Io=D(0);function To(e,t){B(Io,e=xc),B(Eo,t),xc=e|t.baseLanes}function Mo(){B(Io,xc),B(Eo,Eo.current)}function Po(){xc=Io.current,N(Eo),N(Io)}var Ro=D(null),zo=null;function Lo(e){var t=e.alternate;B(No,1&No.current),B(Ro,e),null===zo&&(null===t||null!==Eo.current||null!==t.memoizedState)&&(zo=e)}function Oo(e){B(No,No.current),B(Ro,e),null===zo&&(zo=e)}function Fo(e){22===e.tag?(B(No,No.current),B(Ro,e),null===zo&&(zo=e)):jo()}function jo(){B(No,No.current),B(Ro,Ro.current)}function Do(e){N(Ro),zo===e&&(zo=null),N(No)}var No=D(0);function Bo(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||Md(n)||Pd(n)))return t}else if(19!==t.tag||"forwards"!==t.memoizedProps.revealOrder&&"backwards"!==t.memoizedProps.revealOrder&&"unstable_legacy-backwards"!==t.memoizedProps.revealOrder&&"together"!==t.memoizedProps.revealOrder){if(null!==t.child){t.child.return=t,t=t.child;continue}}else if(128&t.flags)return t;if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var qo=0,Go=null,Vo=null,Wo=null,Ho=!1,Uo=!1,$o=!1,Ko=0,Xo=0,Zo=null,Yo=0;function Qo(){throw Error(s(321))}function Jo(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Yn(e[n],t[n]))return!1;return!0}function es(e,t,n,i,r,o){return qo=o,Go=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,z.H=null===e||null===e.memoizedState?_a:ga,$o=!1,o=n(i,r),$o=!1,Uo&&(o=ns(t,n,i,r)),ts(e),o}function ts(e){z.H=fa;var t=null!==Vo&&null!==Vo.next;if(qo=0,Wo=Vo=Go=null,Ho=!1,Xo=0,Zo=null,t)throw Error(s(300));null===e||Ra||null!==(e=e.dependencies)&&Tr(e)&&(Ra=!0)}function ns(e,t,n,i){Go=e;var r=0;do{if(Uo&&(Zo=null),Xo=0,Uo=!1,25<=r)throw Error(s(301));if(r+=1,Wo=Vo=null,null!=e.updateQueue){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,null!=o.memoCache&&(o.memoCache.index=0)}z.H=ma,o=t(n,i)}while(Uo);return o}function is(){var e=z.H,t=e.useState()[0];return t="function"==typeof t.then?cs(t):t,e=e.useState()[0],(null!==Vo?Vo.memoizedState:null)!==e&&(Go.flags|=1024),t}function rs(){var e=0!==Ko;return Ko=0,e}function os(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function ss(e){if(Ho){for(e=e.memoizedState;null!==e;){var t=e.queue;null!==t&&(t.pending=null),e=e.next}Ho=!1}qo=0,Wo=Vo=Go=null,Uo=!1,Xo=Ko=0,Zo=null}function as(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===Wo?Go.memoizedState=Wo=e:Wo=Wo.next=e,Wo}function ls(){if(null===Vo){var e=Go.alternate;e=null!==e?e.memoizedState:null}else e=Vo.next;var t=null===Wo?Go.memoizedState:Wo.next;if(null!==t)Wo=t,Vo=e;else{if(null===e){if(null===Go.alternate)throw Error(s(467));throw Error(s(310))}e={memoizedState:(Vo=e).memoizedState,baseState:Vo.baseState,baseQueue:Vo.baseQueue,queue:Vo.queue,next:null},null===Wo?Go.memoizedState=Wo=e:Wo=Wo.next=e}return Wo}function cs(e){var t=Xo;return Xo+=1,null===Zo&&(Zo=[]),e=to(Zo,e,t),t=Go,null===(null===Wo?t.memoizedState:Wo.next)&&(t=t.alternate,z.H=null===t||null===t.memoizedState?_a:ga),e}function us(e){if(null!==e&&"object"==typeof e){if("function"==typeof e.then)return cs(e);if(e.$$typeof===b)return Pr(e)}throw Error(s(438,String(e)))}function ds(e){var t=null,n=Go.updateQueue;if(null!==n&&(t=n.memoCache),null==t){var i=Go.alternate;null!==i&&null!==(i=i.updateQueue)&&null!=(i=i.memoCache)&&(t={data:i.data.map(function(e){return e.slice()}),index:0})}if(null==t&&(t={data:[],index:0}),null===n&&(n={lastEffect:null,events:null,stores:null,memoCache:null},Go.updateQueue=n),n.memoCache=t,void 0===(n=t.data[t.index]))for(n=t.data[t.index]=Array(e),i=0;i<e;i++)n[i]=E;return t.index++,n}function ps(e,t){return"function"==typeof t?t(e):t}function hs(e){return fs(ls(),Vo,e)}function fs(e,t,n){var i=e.queue;if(null===i)throw Error(s(311));i.lastRenderedReducer=n;var r=e.baseQueue,o=i.pending;if(null!==o){if(null!==r){var a=r.next;r.next=o.next,o.next=a}t.baseQueue=r=o,i.pending=null}if(o=e.baseState,null===r)e.memoizedState=o;else{var l=a=null,c=null,u=t=r.next,d=!1;do{var p=-536870913&u.lane;if(p!==u.lane?(_c&p)===p:(qo&p)===p){var h=u.revertLane;if(0===h)null!==c&&(c=c.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),p===Gr&&(d=!0);else{if((qo&h)===h){u=u.next,h===Gr&&(d=!0);continue}p={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},null===c?(l=c=p,a=o):c=c.next=p,Go.lanes|=h,kc|=h}p=u.action,$o&&n(o,p),o=u.hasEagerState?u.eagerState:n(o,p)}else h={lane:p,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},null===c?(l=c=h,a=o):c=c.next=h,Go.lanes|=p,kc|=p;u=u.next}while(null!==u&&u!==t);if(null===c?a=o:c.next=l,!Yn(o,e.memoizedState)&&(Ra=!0,d&&null!==(n=Vr)))throw n;e.memoizedState=o,e.baseState=a,e.baseQueue=c,i.lastRenderedState=o}return null===r&&(i.lanes=0),[e.memoizedState,i.dispatch]}function _s(e){var t=ls(),n=t.queue;if(null===n)throw Error(s(311));n.lastRenderedReducer=e;var i=n.dispatch,r=n.pending,o=t.memoizedState;if(null!==r){n.pending=null;var a=r=r.next;do{o=e(o,a.action),a=a.next}while(a!==r);Yn(o,t.memoizedState)||(Ra=!0),t.memoizedState=o,null===t.baseQueue&&(t.baseState=o),n.lastRenderedState=o}return[o,i]}function gs(e,t,n){var i=Go,r=ls(),o=ur;if(o){if(void 0===n)throw Error(s(407));n=n()}else n=t();var a=!Yn((Vo||r).memoizedState,n);if(a&&(r.memoizedState=n,Ra=!0),r=r.queue,qs(vs.bind(null,i,r,e),[e]),r.getSnapshot!==t||a||null!==Wo&&1&Wo.memoizedState.tag){if(i.flags|=2048,Fs(9,{destroy:void 0},ys.bind(null,i,r,n,t),null),null===hc)throw Error(s(349));o||127&qo||ms(i,t,n)}return n}function ms(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=Go.updateQueue)?(t={lastEffect:null,events:null,stores:null,memoCache:null},Go.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function ys(e,t,n,i){t.value=n,t.getSnapshot=i,bs(t)&&xs(e)}function vs(e,t,n){return n(function(){bs(t)&&xs(e)})}function bs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Yn(e,n)}catch(e){return!0}}function xs(e){var t=Ri(e,2);null!==t&&$c(t,0,2)}function ws(e){var t=as();if("function"==typeof e){var n=e;if(e=n(),$o){ye(!0);try{n()}finally{ye(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:e},t}function ks(e,t,n,i){return e.baseState=n,fs(e,Vo,"function"==typeof i?i:ps)}function Cs(e,t,n,i,r){if(da(e))throw Error(s(485));if(null!==(e=t.action)){var o={payload:r,action:e,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};null!==z.T?n(!0):o.isTransition=!1,i(o),null===(n=t.pending)?(o.next=t.pending=o,As(t,o)):(o.next=n.next,t.pending=n.next=o)}}function As(e,t){var n=t.action,i=t.payload,r=e.state;if(t.isTransition){var o=z.T,s={};z.T=s;try{var a=n(r,i),l=z.S;null!==l&&l(s,a),Ss(e,t,a)}catch(n){Is(e,t,n)}finally{null!==o&&null!==s.types&&(o.types=s.types),z.T=o}}else try{Ss(e,t,o=n(r,i))}catch(n){Is(e,t,n)}}function Ss(e,t,n){null!==n&&"object"==typeof n&&"function"==typeof n.then?n.then(function(n){Es(e,t,n)},function(n){return Is(e,t,n)}):Es(e,t,n)}function Es(e,t,n){t.status="fulfilled",t.value=n,Ts(t),e.state=n,null!==(t=e.pending)&&((n=t.next)===t?e.pending=null:(n=n.next,t.next=n,As(e,n)))}function Is(e,t,n){var i=e.pending;if(e.pending=null,null!==i){i=i.next;do{t.status="rejected",t.reason=n,Ts(t),t=t.next}while(t!==i)}e.action=null}function Ts(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function Ms(e,t){return t}function Ps(e,t){if(ur){var n=hc.formState;if(null!==n){e:{var i=Go;if(ur){if(cr){t:{for(var r=cr,o=pr;8!==r.nodeType;){if(!o){r=null;break t}if(null===(r=Rd(r.nextSibling))){r=null;break t}}r="F!"===(o=r.data)||"F"===o?r:null}if(r){cr=Rd(r.nextSibling),i="F!"===r.data;break e}}fr(i)}i=!1}i&&(t=n[0])}}return(n=as()).memoizedState=n.baseState=t,i={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Ms,lastRenderedState:t},n.queue=i,n=la.bind(null,Go,i),i.dispatch=n,i=ws(!1),o=ua.bind(null,Go,!1,i.queue),r={state:t,dispatch:null,action:e,pending:null},(i=as()).queue=r,n=Cs.bind(null,Go,r,o,n),r.dispatch=n,i.memoizedState=e,[t,n,!1]}function Rs(e){return zs(ls(),Vo,e)}function zs(e,t,n){if(t=fs(e,t,Ms)[0],e=hs(ps)[0],"object"==typeof t&&null!==t&&"function"==typeof t.then)try{var i=cs(t)}catch(e){if(e===Zr)throw Qr;throw e}else i=t;var r=(t=ls()).queue,o=r.dispatch;return n!==t.memoizedState&&(Go.flags|=2048,Fs(9,{destroy:void 0},Ls.bind(null,r,n),null)),[i,o,e]}function Ls(e,t){e.action=t}function Os(e){var t=ls(),n=Vo;if(null!==n)return zs(t,n,e);ls(),t=t.memoizedState;var i=(n=ls()).queue.dispatch;return n.memoizedState=e,[t,i,!1]}function Fs(e,t,n,i){return e={tag:e,create:n,deps:i,inst:t,next:null},null===(t=Go.updateQueue)&&(t={lastEffect:null,events:null,stores:null,memoCache:null},Go.updateQueue=t),null===(n=t.lastEffect)?t.lastEffect=e.next=e:(i=n.next,n.next=e,e.next=i,t.lastEffect=e),e}function js(){return ls().memoizedState}function Ds(e,t,n,i){var r=as();Go.flags|=e,r.memoizedState=Fs(1|t,{destroy:void 0},n,void 0===i?null:i)}function Ns(e,t,n,i){var r=ls();i=void 0===i?null:i;var o=r.memoizedState.inst;null!==Vo&&null!==i&&Jo(i,Vo.memoizedState.deps)?r.memoizedState=Fs(t,o,n,i):(Go.flags|=e,r.memoizedState=Fs(1|t,o,n,i))}function Bs(e,t){Ds(8390656,8,e,t)}function qs(e,t){Ns(2048,8,e,t)}function Gs(e){var t=ls().memoizedState;return function(e){Go.flags|=4;var t=Go.updateQueue;if(null===t)t={lastEffect:null,events:null,stores:null,memoCache:null},Go.updateQueue=t,t.events=[e];else{var n=t.events;null===n?t.events=[e]:n.push(e)}}({ref:t,nextImpl:e}),function(){if(2&pc)throw Error(s(440));return t.impl.apply(void 0,arguments)}}function Vs(e,t){return Ns(4,2,e,t)}function Ws(e,t){return Ns(4,4,e,t)}function Hs(e,t){if("function"==typeof t){e=e();var n=t(e);return function(){"function"==typeof n?n():t(null)}}if(null!=t)return e=e(),t.current=e,function(){t.current=null}}function Us(e,t,n){n=null!=n?n.concat([e]):null,Ns(4,4,Hs.bind(null,t,e),n)}function $s(){}function Ks(e,t){var n=ls();t=void 0===t?null:t;var i=n.memoizedState;return null!==t&&Jo(t,i[1])?i[0]:(n.memoizedState=[e,t],e)}function Xs(e,t){var n=ls();t=void 0===t?null:t;var i=n.memoizedState;if(null!==t&&Jo(t,i[1]))return i[0];if(i=e(),$o){ye(!0);try{e()}finally{ye(!1)}}return n.memoizedState=[i,t],i}function Zs(e,t,n){return void 0===n||1073741824&qo&&!(261930&_c)?e.memoizedState=t:(e.memoizedState=n,e=Uc(),Go.lanes|=e,kc|=e,n)}function Ys(e,t,n,i){return Yn(n,t)?n:null!==Eo.current?(e=Zs(e,n,i),Yn(e,t)||(Ra=!0),e):42&qo&&(!(1073741824&qo)||261930&_c)?(e=Uc(),Go.lanes|=e,kc|=e,t):(Ra=!0,e.memoizedState=n)}function Qs(e,t,n,i,r){var o=L.p;L.p=0!==o&&8>o?o:8;var s,a,l,c=z.T,u={};z.T=u,ua(e,!1,t,n);try{var d=r(),p=z.S;null!==p&&p(u,d),null!==d&&"object"==typeof d&&"function"==typeof d.then?ca(e,t,(s=i,a=[],l={status:"pending",value:null,reason:null,then:function(e){a.push(e)}},d.then(function(){l.status="fulfilled",l.value=s;for(var e=0;e<a.length;e++)(0,a[e])(s)},function(e){for(l.status="rejected",l.reason=e,e=0;e<a.length;e++)(0,a[e])(void 0)}),l),Hc()):ca(e,t,i,Hc())}catch(n){ca(e,t,{then:function(){},status:"rejected",reason:n},Hc())}finally{L.p=o,null!==c&&null!==u.types&&(c.types=u.types),z.T=c}}function Js(){}function ea(e,t,n,i){if(5!==e.tag)throw Error(s(476));var r=ta(e).queue;Qs(e,r,t,O,null===n?Js:function(){return na(e),n(i)})}function ta(e){var t=e.memoizedState;if(null!==t)return t;var n={};return(t={memoizedState:O,baseState:O,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:O},next:null}).next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:n},next:null},e.memoizedState=t,null!==(e=e.alternate)&&(e.memoizedState=t),t}function na(e){var t=ta(e);null===t.next&&(t=e.alternate.memoizedState),ca(e,t.next.queue,{},Hc())}function ia(){return Pr(cp)}function ra(){return ls().memoizedState}function oa(){return ls().memoizedState}function sa(e){for(var t=e.return;null!==t;){switch(t.tag){case 24:case 3:var n=Hc(),i=vo(t,e=yo(n),n);return null!==i&&($c(i,0,n),bo(i,t,n)),t={cache:Dr()},void(e.payload=t)}t=t.return}}function aa(e,t,n){var i=Hc();n={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},da(e)?pa(t,n):null!==(n=Pi(e,t,n,i))&&($c(n,0,i),ha(n,t,i))}function la(e,t,n){ca(e,t,n,Hc())}function ca(e,t,n,i){var r={lane:i,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(da(e))pa(t,r);else{var o=e.alternate;if(0===e.lanes&&(null===o||0===o.lanes)&&null!==(o=t.lastRenderedReducer))try{var s=t.lastRenderedState,a=o(s,n);if(r.hasEagerState=!0,r.eagerState=a,Yn(a,s))return Mi(e,t,r,0),null===hc&&Ti(),!1}catch(e){}if(null!==(n=Pi(e,t,r,i)))return $c(n,0,i),ha(n,t,i),!0}return!1}function ua(e,t,n,i){if(i={lane:2,revertLane:qu(),gesture:null,action:i,hasEagerState:!1,eagerState:null,next:null},da(e)){if(t)throw Error(s(479))}else null!==(t=Pi(e,n,i,2))&&$c(t,0,2)}function da(e){var t=e.alternate;return e===Go||null!==t&&t===Go}function pa(e,t){Uo=Ho=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function ha(e,t,n){if(4194048&n){var i=t.lanes;n|=i&=e.pendingLanes,t.lanes=n,ze(e,n)}}var fa={readContext:Pr,use:us,useCallback:Qo,useContext:Qo,useEffect:Qo,useImperativeHandle:Qo,useLayoutEffect:Qo,useInsertionEffect:Qo,useMemo:Qo,useReducer:Qo,useRef:Qo,useState:Qo,useDebugValue:Qo,useDeferredValue:Qo,useTransition:Qo,useSyncExternalStore:Qo,useId:Qo,useHostTransitionStatus:Qo,useFormState:Qo,useActionState:Qo,useOptimistic:Qo,useMemoCache:Qo,useCacheRefresh:Qo};fa.useEffectEvent=Qo;var _a={readContext:Pr,use:us,useCallback:function(e,t){return as().memoizedState=[e,void 0===t?null:t],e},useContext:Pr,useEffect:Bs,useImperativeHandle:function(e,t,n){n=null!=n?n.concat([e]):null,Ds(4194308,4,Hs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ds(4194308,4,e,t)},useInsertionEffect:function(e,t){Ds(4,2,e,t)},useMemo:function(e,t){var n=as();t=void 0===t?null:t;var i=e();if($o){ye(!0);try{e()}finally{ye(!1)}}return n.memoizedState=[i,t],i},useReducer:function(e,t,n){var i=as();if(void 0!==n){var r=n(t);if($o){ye(!0);try{n(t)}finally{ye(!1)}}}else r=t;return i.memoizedState=i.baseState=r,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:r},i.queue=e,e=e.dispatch=aa.bind(null,Go,e),[i.memoizedState,e]},useRef:function(e){return e={current:e},as().memoizedState=e},useState:function(e){var t=(e=ws(e)).queue,n=la.bind(null,Go,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:$s,useDeferredValue:function(e,t){return Zs(as(),e,t)},useTransition:function(){var e=ws(!1);return e=Qs.bind(null,Go,e.queue,!0,!1),as().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var i=Go,r=as();if(ur){if(void 0===n)throw Error(s(407));n=n()}else{if(n=t(),null===hc)throw Error(s(349));127&_c||ms(i,t,n)}r.memoizedState=n;var o={value:n,getSnapshot:t};return r.queue=o,Bs(vs.bind(null,i,o,e),[e]),i.flags|=2048,Fs(9,{destroy:void 0},ys.bind(null,i,o,n,t),null),n},useId:function(){var e=as(),t=hc.identifierPrefix;if(ur){var n=nr;t="_"+t+"R_"+(n=(tr&~(1<<32-ve(tr)-1)).toString(32)+n),0<(n=Ko++)&&(t+="H"+n.toString(32)),t+="_"}else t="_"+t+"r_"+(n=Yo++).toString(32)+"_";return e.memoizedState=t},useHostTransitionStatus:ia,useFormState:Ps,useActionState:Ps,useOptimistic:function(e){var t=as();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=ua.bind(null,Go,!0,n),n.dispatch=t,[e,t]},useMemoCache:ds,useCacheRefresh:function(){return as().memoizedState=sa.bind(null,Go)},useEffectEvent:function(e){var t=as(),n={impl:e};return t.memoizedState=n,function(){if(2&pc)throw Error(s(440));return n.impl.apply(void 0,arguments)}}},ga={readContext:Pr,use:us,useCallback:Ks,useContext:Pr,useEffect:qs,useImperativeHandle:Us,useInsertionEffect:Vs,useLayoutEffect:Ws,useMemo:Xs,useReducer:hs,useRef:js,useState:function(){return hs(ps)},useDebugValue:$s,useDeferredValue:function(e,t){return Ys(ls(),Vo.memoizedState,e,t)},useTransition:function(){var e=hs(ps)[0],t=ls().memoizedState;return["boolean"==typeof e?e:cs(e),t]},useSyncExternalStore:gs,useId:ra,useHostTransitionStatus:ia,useFormState:Rs,useActionState:Rs,useOptimistic:function(e,t){return ks(ls(),0,e,t)},useMemoCache:ds,useCacheRefresh:oa};ga.useEffectEvent=Gs;var ma={readContext:Pr,use:us,useCallback:Ks,useContext:Pr,useEffect:qs,useImperativeHandle:Us,useInsertionEffect:Vs,useLayoutEffect:Ws,useMemo:Xs,useReducer:_s,useRef:js,useState:function(){return _s(ps)},useDebugValue:$s,useDeferredValue:function(e,t){var n=ls();return null===Vo?Zs(n,e,t):Ys(n,Vo.memoizedState,e,t)},useTransition:function(){var e=_s(ps)[0],t=ls().memoizedState;return["boolean"==typeof e?e:cs(e),t]},useSyncExternalStore:gs,useId:ra,useHostTransitionStatus:ia,useFormState:Os,useActionState:Os,useOptimistic:function(e,t){var n=ls();return null!==Vo?ks(n,0,e,t):(n.baseState=e,[e,n.queue.dispatch])},useMemoCache:ds,useCacheRefresh:oa};function ya(e,t,n,i){n=null==(n=n(i,t=e.memoizedState))?t:p({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}ma.useEffectEvent=Gs;var va={enqueueSetState:function(e,t,n){e=e._reactInternals;var i=Hc(),r=yo(i);r.payload=t,null!=n&&(r.callback=n),null!==(t=vo(e,r,i))&&($c(t,0,i),bo(t,e,i))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var i=Hc(),r=yo(i);r.tag=1,r.payload=t,null!=n&&(r.callback=n),null!==(t=vo(e,r,i))&&($c(t,0,i),bo(t,e,i))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Hc(),i=yo(n);i.tag=2,null!=t&&(i.callback=t),null!==(t=vo(e,i,n))&&($c(t,0,n),bo(t,e,n))}};function ba(e,t,n,i,r,o,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(i,o,s):!(t.prototype&&t.prototype.isPureReactComponent&&Qn(n,i)&&Qn(r,o))}function xa(e,t,n,i){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,i),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,i),t.state!==e&&va.enqueueReplaceState(t,t.state,null)}function wa(e,t){var n=t;if("ref"in t)for(var i in n={},t)"ref"!==i&&(n[i]=t[i]);if(e=e.defaultProps)for(var r in n===t&&(n=p({},n)),e)void 0===n[r]&&(n[r]=e[r]);return n}function ka(e){Ai(e)}function Ca(e){console.error(e)}function Aa(e){Ai(e)}function Sa(e,t){try{(0,e.onUncaughtError)(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Ea(e,t,n){try{(0,e.onCaughtError)(n.value,{componentStack:n.stack,errorBoundary:1===t.tag?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Ia(e,t,n){return(n=yo(n)).tag=3,n.payload={element:null},n.callback=function(){Sa(e,t)},n}function Ta(e){return(e=yo(e)).tag=3,e}function Ma(e,t,n,i){var r=n.type.getDerivedStateFromError;if("function"==typeof r){var o=i.value;e.payload=function(){return r(o)},e.callback=function(){Ea(t,n,i)}}var s=n.stateNode;null!==s&&"function"==typeof s.componentDidCatch&&(e.callback=function(){Ea(t,n,i),"function"!=typeof r&&(null===Oc?Oc=new Set([this]):Oc.add(this));var e=i.stack;this.componentDidCatch(i.value,{componentStack:null!==e?e:""})})}var Pa=Error(s(461)),Ra=!1;function za(e,t,n,i){t.child=null===e?fo(t,null,n,i):ho(t,e.child,n,i)}function La(e,t,n,i,r){n=n.render;var o=t.ref;if("ref"in i){var s={};for(var a in i)"ref"!==a&&(s[a]=i[a])}else s=i;return Mr(t),i=es(e,t,n,s,o,r),a=rs(),null===e||Ra?(ur&&a&&or(t),t.flags|=1,za(e,t,i,r),t.child):(os(e,t,r),il(e,t,r))}function Oa(e,t,n,i,r){if(null===e){var o=n.type;return"function"!=typeof o||Di(o)||void 0!==o.defaultProps||null!==n.compare?((e=qi(n.type,null,i,t,t.mode,r)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=o,Fa(e,t,o,i,r))}if(o=e.child,!rl(e,r)){var s=o.memoizedProps;if((n=null!==(n=n.compare)?n:Qn)(s,i)&&e.ref===t.ref)return il(e,t,r)}return t.flags|=1,(e=Ni(o,i)).ref=t.ref,e.return=t,t.child=e}function Fa(e,t,n,i,r){if(null!==e){var o=e.memoizedProps;if(Qn(o,i)&&e.ref===t.ref){if(Ra=!1,t.pendingProps=i=o,!rl(e,r))return t.lanes=e.lanes,il(e,t,r);131072&e.flags&&(Ra=!0)}}return Va(e,t,n,i,r)}function ja(e,t,n,i){var r=i.children,o=null!==e?e.memoizedState:null;if(null===e&&null===t.stateNode&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),"hidden"===i.mode){if(128&t.flags){if(o=null!==o?o.baseLanes|n:n,null!==e){for(i=t.child=e.child,r=0;null!==i;)r=r|i.lanes|i.childLanes,i=i.sibling;i=r&~o}else i=0,t.child=null;return Na(e,t,o,n,i)}if(!(536870912&n))return i=t.lanes=536870912,Na(e,t,null!==o?o.baseLanes|n:n,n,i);t.memoizedState={baseLanes:0,cachePool:null},null!==e&&Kr(0,null!==o?o.cachePool:null),null!==o?To(t,o):Mo(),Fo(t)}else null!==o?(Kr(0,o.cachePool),To(t,o),jo(),t.memoizedState=null):(null!==e&&Kr(0,null),Mo(),jo());return za(e,t,r,n),t.child}function Da(e,t){return null!==e&&22===e.tag||null!==t.stateNode||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Na(e,t,n,i,r){var o=$r();return o=null===o?null:{parent:jr._currentValue,pool:o},t.memoizedState={baseLanes:n,cachePool:o},null!==e&&Kr(0,null),Mo(),Fo(t),null!==e&&Ir(e,t,i,!0),t.childLanes=r,null}function Ba(e,t){return(t=Qa({mode:t.mode,children:t.children},e.mode)).ref=e.ref,e.child=t,t.return=e,t}function qa(e,t,n){return ho(t,e.child,null,n),(e=Ba(t,t.pendingProps)).flags|=2,Do(t),t.memoizedState=null,e}function Ga(e,t){var n=t.ref;if(null===n)null!==e&&null!==e.ref&&(t.flags|=4194816);else{if("function"!=typeof n&&"object"!=typeof n)throw Error(s(284));null!==e&&e.ref===n||(t.flags|=4194816)}}function Va(e,t,n,i,r){return Mr(t),n=es(e,t,n,i,void 0,r),i=rs(),null===e||Ra?(ur&&i&&or(t),t.flags|=1,za(e,t,n,r),t.child):(os(e,t,r),il(e,t,r))}function Wa(e,t,n,i,r,o){return Mr(t),t.updateQueue=null,n=ns(t,i,n,r),ts(e),i=rs(),null===e||Ra?(ur&&i&&or(t),t.flags|=1,za(e,t,n,o),t.child):(os(e,t,o),il(e,t,o))}function Ha(e,t,n,i,r){if(Mr(t),null===t.stateNode){var o=Oi,s=n.contextType;"object"==typeof s&&null!==s&&(o=Pr(s)),o=new n(i,o),t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,o.updater=va,t.stateNode=o,o._reactInternals=t,(o=t.stateNode).props=i,o.state=t.memoizedState,o.refs={},go(t),s=n.contextType,o.context="object"==typeof s&&null!==s?Pr(s):Oi,o.state=t.memoizedState,"function"==typeof(s=n.getDerivedStateFromProps)&&(ya(t,n,s,i),o.state=t.memoizedState),"function"==typeof n.getDerivedStateFromProps||"function"==typeof o.getSnapshotBeforeUpdate||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||(s=o.state,"function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount(),s!==o.state&&va.enqueueReplaceState(o,o.state,null),Co(t,i,o,r),ko(),o.state=t.memoizedState),"function"==typeof o.componentDidMount&&(t.flags|=4194308),i=!0}else if(null===e){o=t.stateNode;var a=t.memoizedProps,l=wa(n,a);o.props=l;var c=o.context,u=n.contextType;s=Oi,"object"==typeof u&&null!==u&&(s=Pr(u));var d=n.getDerivedStateFromProps;u="function"==typeof d||"function"==typeof o.getSnapshotBeforeUpdate,a=t.pendingProps!==a,u||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(a||c!==s)&&xa(t,o,i,s),_o=!1;var p=t.memoizedState;o.state=p,Co(t,i,o,r),ko(),c=t.memoizedState,a||p!==c||_o?("function"==typeof d&&(ya(t,n,d,i),c=t.memoizedState),(l=_o||ba(t,n,l,i,p,c,s))?(u||"function"!=typeof o.UNSAFE_componentWillMount&&"function"!=typeof o.componentWillMount||("function"==typeof o.componentWillMount&&o.componentWillMount(),"function"==typeof o.UNSAFE_componentWillMount&&o.UNSAFE_componentWillMount()),"function"==typeof o.componentDidMount&&(t.flags|=4194308)):("function"==typeof o.componentDidMount&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=c),o.props=i,o.state=c,o.context=s,i=l):("function"==typeof o.componentDidMount&&(t.flags|=4194308),i=!1)}else{o=t.stateNode,mo(e,t),u=wa(n,s=t.memoizedProps),o.props=u,d=t.pendingProps,p=o.context,c=n.contextType,l=Oi,"object"==typeof c&&null!==c&&(l=Pr(c)),(c="function"==typeof(a=n.getDerivedStateFromProps)||"function"==typeof o.getSnapshotBeforeUpdate)||"function"!=typeof o.UNSAFE_componentWillReceiveProps&&"function"!=typeof o.componentWillReceiveProps||(s!==d||p!==l)&&xa(t,o,i,l),_o=!1,p=t.memoizedState,o.state=p,Co(t,i,o,r),ko();var h=t.memoizedState;s!==d||p!==h||_o||null!==e&&null!==e.dependencies&&Tr(e.dependencies)?("function"==typeof a&&(ya(t,n,a,i),h=t.memoizedState),(u=_o||ba(t,n,u,i,p,h,l)||null!==e&&null!==e.dependencies&&Tr(e.dependencies))?(c||"function"!=typeof o.UNSAFE_componentWillUpdate&&"function"!=typeof o.componentWillUpdate||("function"==typeof o.componentWillUpdate&&o.componentWillUpdate(i,h,l),"function"==typeof o.UNSAFE_componentWillUpdate&&o.UNSAFE_componentWillUpdate(i,h,l)),"function"==typeof o.componentDidUpdate&&(t.flags|=4),"function"==typeof o.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof o.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=h),o.props=i,o.state=h,o.context=l,i=u):("function"!=typeof o.componentDidUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=4),"function"!=typeof o.getSnapshotBeforeUpdate||s===e.memoizedProps&&p===e.memoizedState||(t.flags|=1024),i=!1)}return o=i,Ga(e,t),i=!!(128&t.flags),o||i?(o=t.stateNode,n=i&&"function"!=typeof n.getDerivedStateFromError?null:o.render(),t.flags|=1,null!==e&&i?(t.child=ho(t,e.child,null,r),t.child=ho(t,null,n,r)):za(e,t,n,r),t.memoizedState=o.state,e=t.child):e=il(e,t,r),e}function Ua(e,t,n,i){return yr(),t.flags|=256,za(e,t,n,i),t.child}var $a={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Ka(e){return{baseLanes:e,cachePool:Xr()}}function Xa(e,t,n){return e=null!==e?e.childLanes&~n:0,t&&(e|=Sc),e}function Za(e,t,n){var i,r=t.pendingProps,o=!1,a=!!(128&t.flags);if((i=a)||(i=(null===e||null!==e.memoizedState)&&!!(2&No.current)),i&&(o=!0,t.flags&=-129),i=!!(32&t.flags),t.flags&=-33,null===e){if(ur){if(o?Lo(t):jo(),(e=cr)?null!==(e=null!==(e=Td(e,pr))&&"&"!==e.data?e:null)&&(t.memoizedState={dehydrated:e,treeContext:null!==er?{id:tr,overflow:nr}:null,retryLane:536870912,hydrationErrors:null},(n=Wi(e)).return=t,t.child=n,lr=t,cr=null):e=null,null===e)throw fr(t);return Pd(e)?t.lanes=32:t.lanes=536870912,null}var l=r.children;return r=r.fallback,o?(jo(),l=Qa({mode:"hidden",children:l},o=t.mode),r=Gi(r,o,n,null),l.return=t,r.return=t,l.sibling=r,t.child=l,(r=t.child).memoizedState=Ka(n),r.childLanes=Xa(e,i,n),t.memoizedState=$a,Da(null,r)):(Lo(t),Ya(t,l))}var c=e.memoizedState;if(null!==c&&null!==(l=c.dehydrated)){if(a)256&t.flags?(Lo(t),t.flags&=-257,t=Ja(e,t,n)):null!==t.memoizedState?(jo(),t.child=e.child,t.flags|=128,t=null):(jo(),l=r.fallback,o=t.mode,r=Qa({mode:"visible",children:r.children},o),(l=Gi(l,o,n,null)).flags|=2,r.return=t,l.return=t,r.sibling=l,t.child=r,ho(t,e.child,null,n),(r=t.child).memoizedState=Ka(n),r.childLanes=Xa(e,i,n),t.memoizedState=$a,t=Da(null,r));else if(Lo(t),Pd(l)){if(i=l.nextSibling&&l.nextSibling.dataset)var u=i.dgst;i=u,(r=Error(s(419))).stack="",r.digest=i,br({value:r,source:null,stack:null}),t=Ja(e,t,n)}else if(Ra||Ir(e,t,n,!1),i=0!==(n&e.childLanes),Ra||i){if(null!==(i=hc)&&0!==(r=Le(i,n))&&r!==c.retryLane)throw c.retryLane=r,Ri(e,r),$c(i,0,r),Pa;Md(l)||ou(),t=Ja(e,t,n)}else Md(l)?(t.flags|=192,t.child=e.child,t=null):(e=c.treeContext,cr=Rd(l.nextSibling),lr=t,ur=!0,dr=null,pr=!1,null!==e&&ar(t,e),(t=Ya(t,r.children)).flags|=4096);return t}return o?(jo(),l=r.fallback,o=t.mode,u=(c=e.child).sibling,(r=Ni(c,{mode:"hidden",children:r.children})).subtreeFlags=65011712&c.subtreeFlags,null!==u?l=Ni(u,l):(l=Gi(l,o,n,null)).flags|=2,l.return=t,r.return=t,r.sibling=l,t.child=r,Da(null,r),r=t.child,null===(l=e.child.memoizedState)?l=Ka(n):(null!==(o=l.cachePool)?(c=jr._currentValue,o=o.parent!==c?{parent:c,pool:c}:o):o=Xr(),l={baseLanes:l.baseLanes|n,cachePool:o}),r.memoizedState=l,r.childLanes=Xa(e,i,n),t.memoizedState=$a,Da(e.child,r)):(Lo(t),e=(n=e.child).sibling,(n=Ni(n,{mode:"visible",children:r.children})).return=t,n.sibling=null,null!==e&&(null===(i=t.deletions)?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=n,t.memoizedState=null,n)}function Ya(e,t){return(t=Qa({mode:"visible",children:t},e.mode)).return=e,e.child=t}function Qa(e,t){return(e=ji(22,e,null,t)).lanes=0,e}function Ja(e,t,n){return ho(t,e.child,null,n),(e=Ya(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function el(e,t,n){e.lanes|=t;var i=e.alternate;null!==i&&(i.lanes|=t),Sr(e.return,t,n)}function tl(e,t,n,i,r,o){var s=e.memoizedState;null===s?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:n,tailMode:r,treeForkCount:o}:(s.isBackwards=t,s.rendering=null,s.renderingStartTime=0,s.last=i,s.tail=n,s.tailMode=r,s.treeForkCount=o)}function nl(e,t,n){var i=t.pendingProps,r=i.revealOrder,o=i.tail;i=i.children;var s=No.current,a=!!(2&s);if(a?(s=1&s|2,t.flags|=128):s&=1,B(No,s),za(e,t,i,n),i=ur?Yi:0,!a&&null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&el(e,n,t);else if(19===e.tag)el(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(r){case"forwards":for(n=t.child,r=null;null!==n;)null!==(e=n.alternate)&&null===Bo(e)&&(r=n),n=n.sibling;null===(n=r)?(r=t.child,t.child=null):(r=n.sibling,n.sibling=null),tl(t,!1,r,n,o,i);break;case"backwards":case"unstable_legacy-backwards":for(n=null,r=t.child,t.child=null;null!==r;){if(null!==(e=r.alternate)&&null===Bo(e)){t.child=r;break}e=r.sibling,r.sibling=n,n=r,r=e}tl(t,!0,n,null,o,i);break;case"together":tl(t,!1,null,null,void 0,i);break;default:t.memoizedState=null}return t.child}function il(e,t,n){if(null!==e&&(t.dependencies=e.dependencies),kc|=t.lanes,0===(n&t.childLanes)){if(null===e)return null;if(Ir(e,t,n,!1),0===(n&t.childLanes))return null}if(null!==e&&t.child!==e.child)throw Error(s(153));if(null!==t.child){for(n=Ni(e=t.child,e.pendingProps),t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=Ni(e,e.pendingProps)).return=t;n.sibling=null}return t.child}function rl(e,t){return 0!==(e.lanes&t)||!(null===(e=e.dependencies)||!Tr(e))}function ol(e,t,n){if(null!==e)if(e.memoizedProps!==t.pendingProps)Ra=!0;else{if(!(rl(e,n)||128&t.flags))return Ra=!1,function(e,t,n){switch(t.tag){case 3:$(t,t.stateNode.containerInfo),Cr(0,jr,e.memoizedState.cache),yr();break;case 27:case 5:X(t);break;case 4:$(t,t.stateNode.containerInfo);break;case 10:Cr(0,t.type,t.memoizedProps.value);break;case 31:if(null!==t.memoizedState)return t.flags|=128,Oo(t),null;break;case 13:var i=t.memoizedState;if(null!==i)return null!==i.dehydrated?(Lo(t),t.flags|=128,null):0!==(n&t.child.childLanes)?Za(e,t,n):(Lo(t),null!==(e=il(e,t,n))?e.sibling:null);Lo(t);break;case 19:var r=!!(128&e.flags);if((i=0!==(n&t.childLanes))||(Ir(e,t,n,!1),i=0!==(n&t.childLanes)),r){if(i)return nl(e,t,n);t.flags|=128}if(null!==(r=t.memoizedState)&&(r.rendering=null,r.tail=null,r.lastEffect=null),B(No,No.current),i)break;return null;case 22:return t.lanes=0,ja(e,t,n,t.pendingProps);case 24:Cr(0,jr,e.memoizedState.cache)}return il(e,t,n)}(e,t,n);Ra=!!(131072&e.flags)}else Ra=!1,ur&&1048576&t.flags&&rr(t,Yi,t.index);switch(t.lanes=0,t.tag){case 16:e:{var i=t.pendingProps;if(e=no(t.elementType),t.type=e,"function"!=typeof e){if(null!=e){var r=e.$$typeof;if(r===x){t.tag=11,t=La(null,t,e,i,n);break e}if(r===C){t.tag=14,t=Oa(null,t,e,i,n);break e}}throw t=P(e)||e,Error(s(306,t,""))}Di(e)?(i=wa(e,i),t.tag=1,t=Ha(null,t,e,i,n)):(t.tag=0,t=Va(null,t,e,i,n))}return t;case 0:return Va(e,t,t.type,t.pendingProps,n);case 1:return Ha(e,t,i=t.type,r=wa(i,t.pendingProps),n);case 3:e:{if($(t,t.stateNode.containerInfo),null===e)throw Error(s(387));i=t.pendingProps;var o=t.memoizedState;r=o.element,mo(e,t),Co(t,i,null,n);var a=t.memoizedState;if(i=a.cache,Cr(0,jr,i),i!==o.cache&&Er(t,[jr],n,!0),ko(),i=a.element,o.isDehydrated){if(o={element:i,isDehydrated:!1,cache:a.cache},t.updateQueue.baseState=o,t.memoizedState=o,256&t.flags){t=Ua(e,t,i,n);break e}if(i!==r){br(r=$i(Error(s(424)),t)),t=Ua(e,t,i,n);break e}for(e=9===(e=t.stateNode.containerInfo).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,cr=Rd(e.firstChild),lr=t,ur=!0,dr=null,pr=!0,n=fo(t,null,i,n),t.child=n;n;)n.flags=-3&n.flags|4096,n=n.sibling}else{if(yr(),i===r){t=il(e,t,n);break e}za(e,t,i,n)}t=t.child}return t;case 26:return Ga(e,t),null===e?(n=Wd(t.type,null,t.pendingProps,null))?t.memoizedState=n:ur||(n=t.type,e=t.pendingProps,(i=_d(H.current).createElement(n))[Be]=t,i[qe]=e,dd(i,n,e),Je(i),t.stateNode=i):t.memoizedState=Wd(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return X(t),null===e&&ur&&(i=t.stateNode=Fd(t.type,t.pendingProps,H.current),lr=t,pr=!0,r=cr,Ad(t.type)?(zd=r,cr=Rd(i.firstChild)):cr=r),za(e,t,t.pendingProps.children,n),Ga(e,t),null===e&&(t.flags|=4194304),t.child;case 5:return null===e&&ur&&((r=i=cr)&&(null!==(i=function(e,t,n,i){for(;1===e.nodeType;){var r=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!i&&("INPUT"!==e.nodeName||"hidden"!==e.type))break}else if(i){if(!e[$e])switch(t){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if("stylesheet"===(o=e.getAttribute("rel"))&&e.hasAttribute("data-precedence"))break;if(o!==r.rel||e.getAttribute("href")!==(null==r.href||""===r.href?null:r.href)||e.getAttribute("crossorigin")!==(null==r.crossOrigin?null:r.crossOrigin)||e.getAttribute("title")!==(null==r.title?null:r.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(((o=e.getAttribute("src"))!==(null==r.src?null:r.src)||e.getAttribute("type")!==(null==r.type?null:r.type)||e.getAttribute("crossorigin")!==(null==r.crossOrigin?null:r.crossOrigin))&&o&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else{if("input"!==t||"hidden"!==e.type)return e;var o=null==r.name?null:""+r.name;if("hidden"===r.type&&e.getAttribute("name")===o)return e}if(null===(e=Rd(e.nextSibling)))break}return null}(i,t.type,t.pendingProps,pr))?(t.stateNode=i,lr=t,cr=Rd(i.firstChild),pr=!1,r=!0):r=!1),r||fr(t)),X(t),r=t.type,o=t.pendingProps,a=null!==e?e.memoizedProps:null,i=o.children,yd(r,o)?i=null:null!==a&&yd(r,a)&&(t.flags|=32),null!==t.memoizedState&&(r=es(e,t,is,null,null,n),cp._currentValue=r),Ga(e,t),za(e,t,i,n),t.child;case 6:return null===e&&ur&&((e=n=cr)&&(null!==(n=function(e,t,n){if(""===t)return null;for(;3!==e.nodeType;){if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!n)return null;if(null===(e=Rd(e.nextSibling)))return null}return e}(n,t.pendingProps,pr))?(t.stateNode=n,lr=t,cr=null,e=!0):e=!1),e||fr(t)),null;case 13:return Za(e,t,n);case 4:return $(t,t.stateNode.containerInfo),i=t.pendingProps,null===e?t.child=ho(t,null,i,n):za(e,t,i,n),t.child;case 11:return La(e,t,t.type,t.pendingProps,n);case 7:return za(e,t,t.pendingProps,n),t.child;case 8:case 12:return za(e,t,t.pendingProps.children,n),t.child;case 10:return i=t.pendingProps,Cr(0,t.type,i.value),za(e,t,i.children,n),t.child;case 9:return r=t.type._context,i=t.pendingProps.children,Mr(t),i=i(r=Pr(r)),t.flags|=1,za(e,t,i,n),t.child;case 14:return Oa(e,t,t.type,t.pendingProps,n);case 15:return Fa(e,t,t.type,t.pendingProps,n);case 19:return nl(e,t,n);case 31:return function(e,t,n){var i=t.pendingProps,r=!!(128&t.flags);if(t.flags&=-129,null===e){if(ur){if("hidden"===i.mode)return e=Ba(t,i),t.lanes=536870912,Da(null,e);if(Oo(t),(e=cr)?null!==(e=null!==(e=Td(e,pr))&&"&"===e.data?e:null)&&(t.memoizedState={dehydrated:e,treeContext:null!==er?{id:tr,overflow:nr}:null,retryLane:536870912,hydrationErrors:null},(n=Wi(e)).return=t,t.child=n,lr=t,cr=null):e=null,null===e)throw fr(t);return t.lanes=536870912,null}return Ba(t,i)}var o=e.memoizedState;if(null!==o){var a=o.dehydrated;if(Oo(t),r)if(256&t.flags)t.flags&=-257,t=qa(e,t,n);else{if(null===t.memoizedState)throw Error(s(558));t.child=e.child,t.flags|=128,t=null}else if(Ra||Ir(e,t,n,!1),r=0!==(n&e.childLanes),Ra||r){if(null!==(i=hc)&&0!==(a=Le(i,n))&&a!==o.retryLane)throw o.retryLane=a,Ri(e,a),$c(i,0,a),Pa;ou(),t=qa(e,t,n)}else e=o.treeContext,cr=Rd(a.nextSibling),lr=t,ur=!0,dr=null,pr=!1,null!==e&&ar(t,e),(t=Ba(t,i)).flags|=4096;return t}return(e=Ni(e.child,{mode:i.mode,children:i.children})).ref=t.ref,t.child=e,e.return=t,e}(e,t,n);case 22:return ja(e,t,n,t.pendingProps);case 24:return Mr(t),i=Pr(jr),null===e?(null===(r=$r())&&(r=hc,o=Dr(),r.pooledCache=o,o.refCount++,null!==o&&(r.pooledCacheLanes|=n),r=o),t.memoizedState={parent:i,cache:r},go(t),Cr(0,jr,r)):(0!==(e.lanes&n)&&(mo(e,t),Co(t,null,null,n),ko()),r=e.memoizedState,o=t.memoizedState,r.parent!==i?(r={parent:i,cache:i},t.memoizedState=r,0===t.lanes&&(t.memoizedState=t.updateQueue.baseState=r),Cr(0,jr,i)):(i=o.cache,Cr(0,jr,i),i!==r.cache&&Er(t,[jr],n,!0))),za(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(s(156,t.tag))}function sl(e){e.flags|=4}function al(e,t,n,i,r){if((t=!!(32&e.mode))&&(t=!1),t){if(e.flags|=16777216,(335544128&r)===r)if(e.stateNode.complete)e.flags|=8192;else{if(!nu())throw io=Jr,Yr;e.flags|=8192}}else e.flags&=-16777217}function ll(e,t){if("stylesheet"!==t.type||4&t.state.loading)e.flags&=-16777217;else if(e.flags|=16777216,!ip(t)){if(!nu())throw io=Jr,Yr;e.flags|=8192}}function cl(e,t){null!==t&&(e.flags|=4),16384&e.flags&&(t=22!==e.tag?Te():536870912,e.lanes|=t,Ec|=t)}function ul(e,t){if(!ur)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var i=null;null!==n;)null!==n.alternate&&(i=n),n=n.sibling;null===i?t||null===e.tail?e.tail=null:e.tail.sibling=null:i.sibling=null}}function dl(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,i=0;if(t)for(var r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=65011712&r.subtreeFlags,i|=65011712&r.flags,r.return=e,r=r.sibling;else for(r=e.child;null!==r;)n|=r.lanes|r.childLanes,i|=r.subtreeFlags,i|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=i,e.childLanes=n,t}function pl(e,t,n){var i=t.pendingProps;switch(sr(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:case 1:return dl(t),null;case 3:return n=t.stateNode,i=null,null!==e&&(i=e.memoizedState.cache),t.memoizedState.cache!==i&&(t.flags|=2048),Ar(jr),K(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),null!==e&&null!==e.child||(mr(t)?sl(t):null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,vr())),dl(t),null;case 26:var r=t.type,o=t.memoizedState;return null===e?(sl(t),null!==o?(dl(t),ll(t,o)):(dl(t),al(t,r,0,0,n))):o?o!==e.memoizedState?(sl(t),dl(t),ll(t,o)):(dl(t),t.flags&=-16777217):((e=e.memoizedProps)!==i&&sl(t),dl(t),al(t,r,0,0,n)),null;case 27:if(Z(t),n=H.current,r=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==i&&sl(t);else{if(!i){if(null===t.stateNode)throw Error(s(166));return dl(t),null}e=V.current,mr(t)?_r(t):(e=Fd(r,i,n),t.stateNode=e,sl(t))}return dl(t),null;case 5:if(Z(t),r=t.type,null!==e&&null!=t.stateNode)e.memoizedProps!==i&&sl(t);else{if(!i){if(null===t.stateNode)throw Error(s(166));return dl(t),null}if(o=V.current,mr(t))_r(t);else{var a=_d(H.current);switch(o){case 1:o=a.createElementNS("http://www.w3.org/2000/svg",r);break;case 2:o=a.createElementNS("http://www.w3.org/1998/Math/MathML",r);break;default:switch(r){case"svg":o=a.createElementNS("http://www.w3.org/2000/svg",r);break;case"math":o=a.createElementNS("http://www.w3.org/1998/Math/MathML",r);break;case"script":(o=a.createElement("div")).innerHTML="<script><\/script>",o=o.removeChild(o.firstChild);break;case"select":o="string"==typeof i.is?a.createElement("select",{is:i.is}):a.createElement("select"),i.multiple?o.multiple=!0:i.size&&(o.size=i.size);break;default:o="string"==typeof i.is?a.createElement(r,{is:i.is}):a.createElement(r)}}o[Be]=t,o[qe]=i;e:for(a=t.child;null!==a;){if(5===a.tag||6===a.tag)o.appendChild(a.stateNode);else if(4!==a.tag&&27!==a.tag&&null!==a.child){a.child.return=a,a=a.child;continue}if(a===t)break e;for(;null===a.sibling;){if(null===a.return||a.return===t)break e;a=a.return}a.sibling.return=a.return,a=a.sibling}t.stateNode=o;e:switch(dd(o,r,i),r){case"button":case"input":case"select":case"textarea":i=!!i.autoFocus;break e;case"img":i=!0;break e;default:i=!1}i&&sl(t)}}return dl(t),al(t,t.type,null===e||e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==i&&sl(t);else{if("string"!=typeof i&&null===t.stateNode)throw Error(s(166));if(e=H.current,mr(t)){if(e=t.stateNode,n=t.memoizedProps,i=null,null!==(r=lr))switch(r.tag){case 27:case 5:i=r.memoizedProps}e[Be]=t,(e=!!(e.nodeValue===n||null!==i&&!0===i.suppressHydrationWarning||ld(e.nodeValue,n)))||fr(t,!0)}else(e=_d(e).createTextNode(i))[Be]=t,t.stateNode=e}return dl(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(i=mr(t),null!==n){if(null===e){if(!i)throw Error(s(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(s(557));e[Be]=t}else yr(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;dl(t),e=!1}else n=vr(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return 256&t.flags?(Do(t),t):(Do(t),null);if(128&t.flags)throw Error(s(558))}return dl(t),null;case 13:if(i=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(r=mr(t),null!==i&&null!==i.dehydrated){if(null===e){if(!r)throw Error(s(318));if(!(r=null!==(r=t.memoizedState)?r.dehydrated:null))throw Error(s(317));r[Be]=t}else yr(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;dl(t),r=!1}else r=vr(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=r),r=!0;if(!r)return 256&t.flags?(Do(t),t):(Do(t),null)}return Do(t),128&t.flags?(t.lanes=n,t):(n=null!==i,e=null!==e&&null!==e.memoizedState,n&&(r=null,null!==(i=t.child).alternate&&null!==i.alternate.memoizedState&&null!==i.alternate.memoizedState.cachePool&&(r=i.alternate.memoizedState.cachePool.pool),o=null,null!==i.memoizedState&&null!==i.memoizedState.cachePool&&(o=i.memoizedState.cachePool.pool),o!==r&&(i.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),cl(t,t.updateQueue),dl(t),null);case 4:return K(),null===e&&Qu(t.stateNode.containerInfo),dl(t),null;case 10:return Ar(t.type),dl(t),null;case 19:if(N(No),null===(i=t.memoizedState))return dl(t),null;if(r=!!(128&t.flags),null===(o=i.rendering))if(r)ul(i,!1);else{if(0!==wc||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(o=Bo(e))){for(t.flags|=128,ul(i,!1),e=o.updateQueue,t.updateQueue=e,cl(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)Bi(n,e),n=n.sibling;return B(No,1&No.current|2),ur&&ir(t,i.treeForkCount),t.child}e=e.sibling}null!==i.tail&&ae()>zc&&(t.flags|=128,r=!0,ul(i,!1),t.lanes=4194304)}else{if(!r)if(null!==(e=Bo(o))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,cl(t,e),ul(i,!0),null===i.tail&&"hidden"===i.tailMode&&!o.alternate&&!ur)return dl(t),null}else 2*ae()-i.renderingStartTime>zc&&536870912!==n&&(t.flags|=128,r=!0,ul(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=i.last)?e.sibling=o:t.child=o,i.last=o)}return null!==i.tail?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=ae(),e.sibling=null,n=No.current,B(No,r?1&n|2:1&n),ur&&ir(t,i.treeForkCount),e):(dl(t),null);case 22:case 23:return Do(t),Po(),i=null!==t.memoizedState,null!==e?null!==e.memoizedState!==i&&(t.flags|=8192):i&&(t.flags|=8192),i?!!(536870912&n)&&!(128&t.flags)&&(dl(t),6&t.subtreeFlags&&(t.flags|=8192)):dl(t),null!==(n=t.updateQueue)&&cl(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),i=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(i=t.memoizedState.cachePool.pool),i!==n&&(t.flags|=2048),null!==e&&N(Ur),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Ar(jr),dl(t),null;case 25:case 30:return null}throw Error(s(156,t.tag))}function hl(e,t){switch(sr(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return Ar(jr),K(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return Z(t),null;case 31:if(null!==t.memoizedState){if(Do(t),null===t.alternate)throw Error(s(340));yr()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(Do(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(s(340));yr()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return N(No),null;case 4:return K(),null;case 10:return Ar(t.type),null;case 22:case 23:return Do(t),Po(),null!==e&&N(Ur),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return Ar(jr),null;default:return null}}function fl(e,t){switch(sr(t),t.tag){case 3:Ar(jr),K();break;case 26:case 27:case 5:Z(t);break;case 4:K();break;case 31:null!==t.memoizedState&&Do(t);break;case 13:Do(t);break;case 19:N(No);break;case 10:Ar(t.type);break;case 22:case 23:Do(t),Po(),null!==e&&N(Ur);break;case 24:Ar(jr)}}function _l(e,t){try{var n=t.updateQueue,i=null!==n?n.lastEffect:null;if(null!==i){var r=i.next;n=r;do{if((n.tag&e)===e){i=void 0;var o=n.create,s=n.inst;i=o(),s.destroy=i}n=n.next}while(n!==r)}}catch(e){wu(t,t.return,e)}}function gl(e,t,n){try{var i=t.updateQueue,r=null!==i?i.lastEffect:null;if(null!==r){var o=r.next;i=o;do{if((i.tag&e)===e){var s=i.inst,a=s.destroy;if(void 0!==a){s.destroy=void 0,r=t;var l=n,c=a;try{c()}catch(e){wu(r,l,e)}}}i=i.next}while(i!==o)}}catch(e){wu(t,t.return,e)}}function ml(e){var t=e.updateQueue;if(null!==t){var n=e.stateNode;try{So(t,n)}catch(t){wu(e,e.return,t)}}}function yl(e,t,n){n.props=wa(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){wu(e,t,n)}}function vl(e,t){try{var n=e.ref;if(null!==n){switch(e.tag){case 26:case 27:case 5:var i=e.stateNode;break;default:i=e.stateNode}"function"==typeof n?e.refCleanup=n(i):n.current=i}}catch(n){wu(e,t,n)}}function bl(e,t){var n=e.ref,i=e.refCleanup;if(null!==n)if("function"==typeof i)try{i()}catch(n){wu(e,t,n)}finally{e.refCleanup=null,null!=(e=e.alternate)&&(e.refCleanup=null)}else if("function"==typeof n)try{n(null)}catch(n){wu(e,t,n)}else n.current=null}function xl(e){var t=e.type,n=e.memoizedProps,i=e.stateNode;try{e:switch(t){case"button":case"input":case"select":case"textarea":n.autoFocus&&i.focus();break e;case"img":n.src?i.src=n.src:n.srcSet&&(i.srcset=n.srcSet)}}catch(t){wu(e,e.return,t)}}function wl(e,t,n){try{var i=e.stateNode;!function(e,t,n,i){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var r=null,o=null,a=null,l=null,c=null,u=null,d=null;for(f in n){var p=n[f];if(n.hasOwnProperty(f)&&null!=p)switch(f){case"checked":case"value":break;case"defaultValue":c=p;default:i.hasOwnProperty(f)||cd(e,t,f,null,i,p)}}for(var h in i){var f=i[h];if(p=n[h],i.hasOwnProperty(h)&&(null!=f||null!=p))switch(h){case"type":o=f;break;case"name":r=f;break;case"checked":u=f;break;case"defaultChecked":d=f;break;case"value":a=f;break;case"defaultValue":l=f;break;case"children":case"dangerouslySetInnerHTML":if(null!=f)throw Error(s(137,t));break;default:f!==p&&cd(e,t,h,f,i,p)}}return void mt(e,a,l,c,u,d,o,r);case"select":for(o in f=a=l=h=null,n)if(c=n[o],n.hasOwnProperty(o)&&null!=c)switch(o){case"value":break;case"multiple":f=c;default:i.hasOwnProperty(o)||cd(e,t,o,null,i,c)}for(r in i)if(o=i[r],c=n[r],i.hasOwnProperty(r)&&(null!=o||null!=c))switch(r){case"value":h=o;break;case"defaultValue":l=o;break;case"multiple":a=o;default:o!==c&&cd(e,t,r,o,i,c)}return t=l,n=a,i=f,void(null!=h?bt(e,!!n,h,!1):!!i!=!!n&&(null!=t?bt(e,!!n,t,!0):bt(e,!!n,n?[]:"",!1)));case"textarea":for(l in f=h=null,n)if(r=n[l],n.hasOwnProperty(l)&&null!=r&&!i.hasOwnProperty(l))switch(l){case"value":case"children":break;default:cd(e,t,l,null,i,r)}for(a in i)if(r=i[a],o=n[a],i.hasOwnProperty(a)&&(null!=r||null!=o))switch(a){case"value":h=r;break;case"defaultValue":f=r;break;case"children":break;case"dangerouslySetInnerHTML":if(null!=r)throw Error(s(91));break;default:r!==o&&cd(e,t,a,r,i,o)}return void xt(e,h,f);case"option":for(var _ in n)h=n[_],n.hasOwnProperty(_)&&null!=h&&!i.hasOwnProperty(_)&&("selected"===_?e.selected=!1:cd(e,t,_,null,i,h));for(c in i)h=i[c],f=n[c],!i.hasOwnProperty(c)||h===f||null==h&&null==f||("selected"===c?e.selected=h&&"function"!=typeof h&&"symbol"!=typeof h:cd(e,t,c,h,i,f));return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var g in n)h=n[g],n.hasOwnProperty(g)&&null!=h&&!i.hasOwnProperty(g)&&cd(e,t,g,null,i,h);for(u in i)if(h=i[u],f=n[u],i.hasOwnProperty(u)&&h!==f&&(null!=h||null!=f))switch(u){case"children":case"dangerouslySetInnerHTML":if(null!=h)throw Error(s(137,t));break;default:cd(e,t,u,h,i,f)}return;default:if(Et(t)){for(var m in n)h=n[m],n.hasOwnProperty(m)&&void 0!==h&&!i.hasOwnProperty(m)&&ud(e,t,m,void 0,i,h);for(d in i)h=i[d],f=n[d],!i.hasOwnProperty(d)||h===f||void 0===h&&void 0===f||ud(e,t,d,h,i,f);return}}for(var y in n)h=n[y],n.hasOwnProperty(y)&&null!=h&&!i.hasOwnProperty(y)&&cd(e,t,y,null,i,h);for(p in i)h=i[p],f=n[p],!i.hasOwnProperty(p)||h===f||null==h&&null==f||cd(e,t,p,h,i,f)}(i,e.type,n,t),i[qe]=t}catch(t){wu(e,e.return,t)}}function kl(e){return 5===e.tag||3===e.tag||26===e.tag||27===e.tag&&Ad(e.type)||4===e.tag}function Cl(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||kl(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(27===e.tag&&Ad(e.type))continue e;if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function Al(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?(9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).insertBefore(e,t):((t=9===n.nodeType?n.body:"HTML"===n.nodeName?n.ownerDocument.body:n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=Pt));else if(4!==i&&(27===i&&Ad(e.type)&&(n=e.stateNode,t=null),null!==(e=e.child)))for(Al(e,t,n),e=e.sibling;null!==e;)Al(e,t,n),e=e.sibling}function Sl(e,t,n){var i=e.tag;if(5===i||6===i)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==i&&(27===i&&Ad(e.type)&&(n=e.stateNode),null!==(e=e.child)))for(Sl(e,t,n),e=e.sibling;null!==e;)Sl(e,t,n),e=e.sibling}function El(e){var t=e.stateNode,n=e.memoizedProps;try{for(var i=e.type,r=t.attributes;r.length;)t.removeAttributeNode(r[0]);dd(t,i,n),t[Be]=e,t[qe]=n}catch(t){wu(e,e.return,t)}}var Il=!1,Tl=!1,Ml=!1,Pl="function"==typeof WeakSet?WeakSet:Set,Rl=null;function zl(e,t,n){var i=n.flags;switch(n.tag){case 0:case 11:case 15:$l(e,n),4&i&&_l(5,n);break;case 1:if($l(e,n),4&i)if(e=n.stateNode,null===t)try{e.componentDidMount()}catch(e){wu(n,n.return,e)}else{var r=wa(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(r,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){wu(n,n.return,e)}}64&i&&ml(n),512&i&&vl(n,n.return);break;case 3:if($l(e,n),64&i&&null!==(e=n.updateQueue)){if(t=null,null!==n.child)switch(n.child.tag){case 27:case 5:case 1:t=n.child.stateNode}try{So(e,t)}catch(e){wu(n,n.return,e)}}break;case 27:null===t&&4&i&&El(n);case 26:case 5:$l(e,n),null===t&&4&i&&xl(n),512&i&&vl(n,n.return);break;case 12:$l(e,n);break;case 31:$l(e,n),4&i&&Nl(e,n);break;case 13:$l(e,n),4&i&&Bl(e,n),64&i&&null!==(e=n.memoizedState)&&null!==(e=e.dehydrated)&&function(e,t){var n=e.ownerDocument;if("$~"===e.data)e._reactRetry=t;else if("$?"!==e.data||"loading"!==n.readyState)t();else{var i=function(){t(),n.removeEventListener("DOMContentLoaded",i)};n.addEventListener("DOMContentLoaded",i),e._reactRetry=i}}(e,n=Su.bind(null,n));break;case 22:if(!(i=null!==n.memoizedState||Il)){t=null!==t&&null!==t.memoizedState||Tl,r=Il;var o=Tl;Il=i,(Tl=t)&&!o?Xl(e,n,!!(8772&n.subtreeFlags)):$l(e,n),Il=r,Tl=o}break;case 30:break;default:$l(e,n)}}function Ll(e){var t=e.alternate;null!==t&&(e.alternate=null,Ll(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&null!==(t=e.stateNode)&&Ke(t),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Ol=null,Fl=!1;function jl(e,t,n){for(n=n.child;null!==n;)Dl(e,t,n),n=n.sibling}function Dl(e,t,n){if(me&&"function"==typeof me.onCommitFiberUnmount)try{me.onCommitFiberUnmount(ge,n)}catch(e){}switch(n.tag){case 26:Tl||bl(n,t),jl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode).parentNode.removeChild(n);break;case 27:Tl||bl(n,t);var i=Ol,r=Fl;Ad(n.type)&&(Ol=n.stateNode,Fl=!1),jl(e,t,n),jd(n.stateNode),Ol=i,Fl=r;break;case 5:Tl||bl(n,t);case 6:if(i=Ol,r=Fl,Ol=null,jl(e,t,n),Fl=r,null!==(Ol=i))if(Fl)try{(9===Ol.nodeType?Ol.body:"HTML"===Ol.nodeName?Ol.ownerDocument.body:Ol).removeChild(n.stateNode)}catch(e){wu(n,t,e)}else try{Ol.removeChild(n.stateNode)}catch(e){wu(n,t,e)}break;case 18:null!==Ol&&(Fl?(Sd(9===(e=Ol).nodeType?e.body:"HTML"===e.nodeName?e.ownerDocument.body:e,n.stateNode),qp(e)):Sd(Ol,n.stateNode));break;case 4:i=Ol,r=Fl,Ol=n.stateNode.containerInfo,Fl=!0,jl(e,t,n),Ol=i,Fl=r;break;case 0:case 11:case 14:case 15:gl(2,n,t),Tl||gl(4,n,t),jl(e,t,n);break;case 1:Tl||(bl(n,t),"function"==typeof(i=n.stateNode).componentWillUnmount&&yl(n,t,i)),jl(e,t,n);break;case 21:jl(e,t,n);break;case 22:Tl=(i=Tl)||null!==n.memoizedState,jl(e,t,n),Tl=i;break;default:jl(e,t,n)}}function Nl(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)){e=e.dehydrated;try{qp(e)}catch(e){wu(t,t.return,e)}}}function Bl(e,t){if(null===t.memoizedState&&null!==(e=t.alternate)&&null!==(e=e.memoizedState)&&null!==(e=e.dehydrated))try{qp(e)}catch(e){wu(t,t.return,e)}}function ql(e,t){var n=function(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return null===t&&(t=e.stateNode=new Pl),t;case 22:return null===(t=(e=e.stateNode)._retryCache)&&(t=e._retryCache=new Pl),t;default:throw Error(s(435,e.tag))}}(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var i=Eu.bind(null,e,t);t.then(i,i)}})}function Gl(e,t){var n=t.deletions;if(null!==n)for(var i=0;i<n.length;i++){var r=n[i],o=e,a=t,l=a;e:for(;null!==l;){switch(l.tag){case 27:if(Ad(l.type)){Ol=l.stateNode,Fl=!1;break e}break;case 5:Ol=l.stateNode,Fl=!1;break e;case 3:case 4:Ol=l.stateNode.containerInfo,Fl=!0;break e}l=l.return}if(null===Ol)throw Error(s(160));Dl(o,a,r),Ol=null,Fl=!1,null!==(o=r.alternate)&&(o.return=null),r.return=null}if(13886&t.subtreeFlags)for(t=t.child;null!==t;)Wl(t,e),t=t.sibling}var Vl=null;function Wl(e,t){var n=e.alternate,i=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:Gl(t,e),Hl(e),4&i&&(gl(3,e,e.return),_l(3,e),gl(5,e,e.return));break;case 1:Gl(t,e),Hl(e),512&i&&(Tl||null===n||bl(n,n.return)),64&i&&Il&&null!==(e=e.updateQueue)&&null!==(i=e.callbacks)&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=null===n?i:n.concat(i));break;case 26:var r=Vl;if(Gl(t,e),Hl(e),512&i&&(Tl||null===n||bl(n,n.return)),4&i){var o=null!==n?n.memoizedState:null;if(i=e.memoizedState,null===n)if(null===i)if(null===e.stateNode){e:{i=e.type,n=e.memoizedProps,r=r.ownerDocument||r;t:switch(i){case"title":(!(o=r.getElementsByTagName("title")[0])||o[$e]||o[Be]||"http://www.w3.org/2000/svg"===o.namespaceURI||o.hasAttribute("itemprop"))&&(o=r.createElement(i),r.head.insertBefore(o,r.querySelector("head > title"))),dd(o,i,n),o[Be]=e,Je(o),i=o;break e;case"link":var a=tp("link","href",r).get(i+(n.href||""));if(a)for(var l=0;l<a.length;l++)if((o=a[l]).getAttribute("href")===(null==n.href||""===n.href?null:n.href)&&o.getAttribute("rel")===(null==n.rel?null:n.rel)&&o.getAttribute("title")===(null==n.title?null:n.title)&&o.getAttribute("crossorigin")===(null==n.crossOrigin?null:n.crossOrigin)){a.splice(l,1);break t}dd(o=r.createElement(i),i,n),r.head.appendChild(o);break;case"meta":if(a=tp("meta","content",r).get(i+(n.content||"")))for(l=0;l<a.length;l++)if((o=a[l]).getAttribute("content")===(null==n.content?null:""+n.content)&&o.getAttribute("name")===(null==n.name?null:n.name)&&o.getAttribute("property")===(null==n.property?null:n.property)&&o.getAttribute("http-equiv")===(null==n.httpEquiv?null:n.httpEquiv)&&o.getAttribute("charset")===(null==n.charSet?null:n.charSet)){a.splice(l,1);break t}dd(o=r.createElement(i),i,n),r.head.appendChild(o);break;default:throw Error(s(468,i))}o[Be]=e,Je(o),i=o}e.stateNode=i}else np(r,e.type,e.stateNode);else e.stateNode=Zd(r,i,e.memoizedProps);else o!==i?(null===o?null!==n.stateNode&&(n=n.stateNode).parentNode.removeChild(n):o.count--,null===i?np(r,e.type,e.stateNode):Zd(r,i,e.memoizedProps)):null===i&&null!==e.stateNode&&wl(e,e.memoizedProps,n.memoizedProps)}break;case 27:Gl(t,e),Hl(e),512&i&&(Tl||null===n||bl(n,n.return)),null!==n&&4&i&&wl(e,e.memoizedProps,n.memoizedProps);break;case 5:if(Gl(t,e),Hl(e),512&i&&(Tl||null===n||bl(n,n.return)),32&e.flags){r=e.stateNode;try{kt(r,"")}catch(t){wu(e,e.return,t)}}4&i&&null!=e.stateNode&&wl(e,r=e.memoizedProps,null!==n?n.memoizedProps:r),1024&i&&(Ml=!0);break;case 6:if(Gl(t,e),Hl(e),4&i){if(null===e.stateNode)throw Error(s(162));i=e.memoizedProps,n=e.stateNode;try{n.nodeValue=i}catch(t){wu(e,e.return,t)}}break;case 3:if(ep=null,r=Vl,Vl=Bd(t.containerInfo),Gl(t,e),Vl=r,Hl(e),4&i&&null!==n&&n.memoizedState.isDehydrated)try{qp(t.containerInfo)}catch(t){wu(e,e.return,t)}Ml&&(Ml=!1,Ul(e));break;case 4:i=Vl,Vl=Bd(e.stateNode.containerInfo),Gl(t,e),Hl(e),Vl=i;break;case 12:default:Gl(t,e),Hl(e);break;case 31:case 19:Gl(t,e),Hl(e),4&i&&null!==(i=e.updateQueue)&&(e.updateQueue=null,ql(e,i));break;case 13:Gl(t,e),Hl(e),8192&e.child.flags&&null!==e.memoizedState!=(null!==n&&null!==n.memoizedState)&&(Pc=ae()),4&i&&null!==(i=e.updateQueue)&&(e.updateQueue=null,ql(e,i));break;case 22:r=null!==e.memoizedState;var c=null!==n&&null!==n.memoizedState,u=Il,d=Tl;if(Il=u||r,Tl=d||c,Gl(t,e),Tl=d,Il=u,Hl(e),8192&i)e:for(t=e.stateNode,t._visibility=r?-2&t._visibility:1|t._visibility,r&&(null===n||c||Il||Tl||Kl(e)),n=null,t=e;;){if(5===t.tag||26===t.tag){if(null===n){c=n=t;try{if(o=c.stateNode,r)"function"==typeof(a=o.style).setProperty?a.setProperty("display","none","important"):a.display="none";else{l=c.stateNode;var p=c.memoizedProps.style,h=null!=p&&p.hasOwnProperty("display")?p.display:null;l.style.display=null==h||"boolean"==typeof h?"":(""+h).trim()}}catch(e){wu(c,c.return,e)}}}else if(6===t.tag){if(null===n){c=t;try{c.stateNode.nodeValue=r?"":c.memoizedProps}catch(e){wu(c,c.return,e)}}}else if(18===t.tag){if(null===n){c=t;try{var f=c.stateNode;r?Ed(f,!0):Ed(c.stateNode,!1)}catch(e){wu(c,c.return,e)}}}else if((22!==t.tag&&23!==t.tag||null===t.memoizedState||t===e)&&null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break e;for(;null===t.sibling;){if(null===t.return||t.return===e)break e;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}4&i&&null!==(i=e.updateQueue)&&null!==(n=i.retryQueue)&&(i.retryQueue=null,ql(e,n));case 30:case 21:}}function Hl(e){var t=e.flags;if(2&t){try{for(var n,i=e.return;null!==i;){if(kl(i)){n=i;break}i=i.return}if(null==n)throw Error(s(160));switch(n.tag){case 27:var r=n.stateNode;Sl(e,Cl(e),r);break;case 5:var o=n.stateNode;32&n.flags&&(kt(o,""),n.flags&=-33),Sl(e,Cl(e),o);break;case 3:case 4:var a=n.stateNode.containerInfo;Al(e,Cl(e),a);break;default:throw Error(s(161))}}catch(t){wu(e,e.return,t)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function Ul(e){if(1024&e.subtreeFlags)for(e=e.child;null!==e;){var t=e;Ul(t),5===t.tag&&1024&t.flags&&t.stateNode.reset(),e=e.sibling}}function $l(e,t){if(8772&t.subtreeFlags)for(t=t.child;null!==t;)zl(e,t.alternate,t),t=t.sibling}function Kl(e){for(e=e.child;null!==e;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:gl(4,t,t.return),Kl(t);break;case 1:bl(t,t.return);var n=t.stateNode;"function"==typeof n.componentWillUnmount&&yl(t,t.return,n),Kl(t);break;case 27:jd(t.stateNode);case 26:case 5:bl(t,t.return),Kl(t);break;case 22:null===t.memoizedState&&Kl(t);break;default:Kl(t)}e=e.sibling}}function Xl(e,t,n){for(n=n&&!!(8772&t.subtreeFlags),t=t.child;null!==t;){var i=t.alternate,r=e,o=t,s=o.flags;switch(o.tag){case 0:case 11:case 15:Xl(r,o,n),_l(4,o);break;case 1:if(Xl(r,o,n),"function"==typeof(r=(i=o).stateNode).componentDidMount)try{r.componentDidMount()}catch(e){wu(i,i.return,e)}if(null!==(r=(i=o).updateQueue)){var a=i.stateNode;try{var l=r.shared.hiddenCallbacks;if(null!==l)for(r.shared.hiddenCallbacks=null,r=0;r<l.length;r++)Ao(l[r],a)}catch(e){wu(i,i.return,e)}}n&&64&s&&ml(o),vl(o,o.return);break;case 27:El(o);case 26:case 5:Xl(r,o,n),n&&null===i&&4&s&&xl(o),vl(o,o.return);break;case 12:Xl(r,o,n);break;case 31:Xl(r,o,n),n&&4&s&&Nl(r,o);break;case 13:Xl(r,o,n),n&&4&s&&Bl(r,o);break;case 22:null===o.memoizedState&&Xl(r,o,n),vl(o,o.return);break;case 30:break;default:Xl(r,o,n)}t=t.sibling}}function Zl(e,t){var n=null;null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),e=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(e=t.memoizedState.cachePool.pool),e!==n&&(null!=e&&e.refCount++,null!=n&&Nr(n))}function Yl(e,t){e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(t.refCount++,null!=e&&Nr(e))}function Ql(e,t,n,i){if(10256&t.subtreeFlags)for(t=t.child;null!==t;)Jl(e,t,n,i),t=t.sibling}function Jl(e,t,n,i){var r=t.flags;switch(t.tag){case 0:case 11:case 15:Ql(e,t,n,i),2048&r&&_l(9,t);break;case 1:case 31:case 13:default:Ql(e,t,n,i);break;case 3:Ql(e,t,n,i),2048&r&&(e=null,null!==t.alternate&&(e=t.alternate.memoizedState.cache),(t=t.memoizedState.cache)!==e&&(t.refCount++,null!=e&&Nr(e)));break;case 12:if(2048&r){Ql(e,t,n,i),e=t.stateNode;try{var o=t.memoizedProps,s=o.id,a=o.onPostCommit;"function"==typeof a&&a(s,null===t.alternate?"mount":"update",e.passiveEffectDuration,-0)}catch(e){wu(t,t.return,e)}}else Ql(e,t,n,i);break;case 23:break;case 22:o=t.stateNode,s=t.alternate,null!==t.memoizedState?2&o._visibility?Ql(e,t,n,i):tc(e,t):2&o._visibility?Ql(e,t,n,i):(o._visibility|=2,ec(e,t,n,i,!!(10256&t.subtreeFlags)||!1)),2048&r&&Zl(s,t);break;case 24:Ql(e,t,n,i),2048&r&&Yl(t.alternate,t)}}function ec(e,t,n,i,r){for(r=r&&(!!(10256&t.subtreeFlags)||!1),t=t.child;null!==t;){var o=e,s=t,a=n,l=i,c=s.flags;switch(s.tag){case 0:case 11:case 15:ec(o,s,a,l,r),_l(8,s);break;case 23:break;case 22:var u=s.stateNode;null!==s.memoizedState?2&u._visibility?ec(o,s,a,l,r):tc(o,s):(u._visibility|=2,ec(o,s,a,l,r)),r&&2048&c&&Zl(s.alternate,s);break;case 24:ec(o,s,a,l,r),r&&2048&c&&Yl(s.alternate,s);break;default:ec(o,s,a,l,r)}t=t.sibling}}function tc(e,t){if(10256&t.subtreeFlags)for(t=t.child;null!==t;){var n=e,i=t,r=i.flags;switch(i.tag){case 22:tc(n,i),2048&r&&Zl(i.alternate,i);break;case 24:tc(n,i),2048&r&&Yl(i.alternate,i);break;default:tc(n,i)}t=t.sibling}}var nc=8192;function ic(e,t,n){if(e.subtreeFlags&nc)for(e=e.child;null!==e;)rc(e,t,n),e=e.sibling}function rc(e,t,n){switch(e.tag){case 26:ic(e,t,n),e.flags&nc&&null!==e.memoizedState&&function(e,t,n,i){if(!("stylesheet"!==n.type||"string"==typeof i.media&&!1===matchMedia(i.media).matches||4&n.state.loading)){if(null===n.instance){var r=Hd(i.href),o=t.querySelector(Ud(r));if(o)return null!==(t=o._p)&&"object"==typeof t&&"function"==typeof t.then&&(e.count++,e=op.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=o,void Je(o);o=t.ownerDocument||t,i=$d(i),(r=Dd.get(r))&&Qd(i,r),Je(o=o.createElement("link"));var s=o;s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),dd(o,"link",i),n.instance=o}null===e.stylesheets&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(3&n.state.loading)&&(e.count++,n=op.bind(e),t.addEventListener("load",n),t.addEventListener("error",n))}}(n,Vl,e.memoizedState,e.memoizedProps);break;case 5:default:ic(e,t,n);break;case 3:case 4:var i=Vl;Vl=Bd(e.stateNode.containerInfo),ic(e,t,n),Vl=i;break;case 22:null===e.memoizedState&&(null!==(i=e.alternate)&&null!==i.memoizedState?(i=nc,nc=16777216,ic(e,t,n),nc=i):ic(e,t,n))}}function oc(e){var t=e.alternate;if(null!==t&&null!==(e=t.child)){t.child=null;do{t=e.sibling,e.sibling=null,e=t}while(null!==e)}}function sc(e){var t=e.deletions;if(16&e.flags){if(null!==t)for(var n=0;n<t.length;n++){var i=t[n];Rl=i,cc(i,e)}oc(e)}if(10256&e.subtreeFlags)for(e=e.child;null!==e;)ac(e),e=e.sibling}function ac(e){switch(e.tag){case 0:case 11:case 15:sc(e),2048&e.flags&&gl(9,e,e.return);break;case 3:case 12:default:sc(e);break;case 22:var t=e.stateNode;null!==e.memoizedState&&2&t._visibility&&(null===e.return||13!==e.return.tag)?(t._visibility&=-3,lc(e)):sc(e)}}function lc(e){var t=e.deletions;if(16&e.flags){if(null!==t)for(var n=0;n<t.length;n++){var i=t[n];Rl=i,cc(i,e)}oc(e)}for(e=e.child;null!==e;){switch((t=e).tag){case 0:case 11:case 15:gl(8,t,t.return),lc(t);break;case 22:2&(n=t.stateNode)._visibility&&(n._visibility&=-3,lc(t));break;default:lc(t)}e=e.sibling}}function cc(e,t){for(;null!==Rl;){var n=Rl;switch(n.tag){case 0:case 11:case 15:gl(8,n,t);break;case 23:case 22:if(null!==n.memoizedState&&null!==n.memoizedState.cachePool){var i=n.memoizedState.cachePool.pool;null!=i&&i.refCount++}break;case 24:Nr(n.memoizedState.cache)}if(null!==(i=n.child))i.return=n,Rl=i;else e:for(n=e;null!==Rl;){var r=(i=Rl).sibling,o=i.return;if(Ll(i),i===n){Rl=null;break e}if(null!==r){r.return=o,Rl=r;break e}Rl=o}}}var uc={getCacheForType:function(e){var t=Pr(jr),n=t.data.get(e);return void 0===n&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Pr(jr).controller.signal}},dc="function"==typeof WeakMap?WeakMap:Map,pc=0,hc=null,fc=null,_c=0,gc=0,mc=null,yc=!1,vc=!1,bc=!1,xc=0,wc=0,kc=0,Cc=0,Ac=0,Sc=0,Ec=0,Ic=null,Tc=null,Mc=!1,Pc=0,Rc=0,zc=1/0,Lc=null,Oc=null,Fc=0,jc=null,Dc=null,Nc=0,Bc=0,qc=null,Gc=null,Vc=0,Wc=null;function Hc(){return 2&pc&&0!==_c?_c&-_c:null!==z.T?qu():je()}function Uc(){if(0===Sc)if(536870912&_c&&!ur)Sc=536870912;else{var e=ke;!(3932160&(ke<<=1))&&(ke=262144),Sc=e}return null!==(e=Ro.current)&&(e.flags|=32),Sc}function $c(e,t,n){(e!==hc||2!==gc&&9!==gc)&&null===e.cancelPendingCommit||(eu(e,0),Yc(e,_c,Sc,!1)),Pe(e,n),2&pc&&e===hc||(e===hc&&(!(2&pc)&&(Cc|=n),4===wc&&Yc(e,_c,Sc,!1)),Lu(e))}function Kc(e,t,n){if(6&pc)throw Error(s(327));for(var i=!n&&!(127&t)&&0===(t&e.expiredLanes)||Ee(e,t),r=i?function(e,t){var n=pc;pc|=2;var i=iu(),r=ru();hc!==e||_c!==t?(Lc=null,zc=ae()+500,eu(e,t)):vc=Ee(e,t);e:for(;;)try{if(0!==gc&&null!==fc){t=fc;var o=mc;t:switch(gc){case 1:gc=0,mc=null,du(e,t,o,1);break;case 2:case 9:if(eo(o)){gc=0,mc=null,uu(t);break}t=function(){2!==gc&&9!==gc||hc!==e||(gc=7),Lu(e)},o.then(t,t);break e;case 3:gc=7;break e;case 4:gc=5;break e;case 7:eo(o)?(gc=0,mc=null,uu(t)):(gc=0,mc=null,du(e,t,o,7));break;case 5:var a=null;switch(fc.tag){case 26:a=fc.memoizedState;case 5:case 27:var l=fc;if(a?ip(a):l.stateNode.complete){gc=0,mc=null;var c=l.sibling;if(null!==c)fc=c;else{var u=l.return;null!==u?(fc=u,pu(u)):fc=null}break t}}gc=0,mc=null,du(e,t,o,5);break;case 6:gc=0,mc=null,du(e,t,o,6);break;case 8:Jc(),wc=6;break e;default:throw Error(s(462))}}lu();break}catch(t){tu(e,t)}return kr=wr=null,z.H=i,z.A=r,pc=n,null!==fc?0:(hc=null,_c=0,Ti(),wc)}(e,t):su(e,t,!0),o=i;;){if(0===r){vc&&!i&&Yc(e,t,0,!1);break}if(n=e.current.alternate,!o||Zc(n)){if(2===r){if(o=t,e.errorRecoveryDisabledLanes&o)var a=0;else a=0!=(a=-536870913&e.pendingLanes)?a:536870912&a?536870912:0;if(0!==a){t=a;e:{var l=e;r=Ic;var c=l.current.memoizedState.isDehydrated;if(c&&(eu(l,a).flags|=256),2!==(a=su(l,a,!1))){if(bc&&!c){l.errorRecoveryDisabledLanes|=o,Cc|=o,r=4;break e}o=Tc,Tc=r,null!==o&&(null===Tc?Tc=o:Tc.push.apply(Tc,o))}r=a}if(o=!1,2!==r)continue}}if(1===r){eu(e,0),Yc(e,t,0,!0);break}e:{switch(i=e,o=r){case 0:case 1:throw Error(s(345));case 4:if((4194048&t)!==t)break;case 6:Yc(i,t,Sc,!yc);break e;case 2:Tc=null;break;case 3:case 5:break;default:throw Error(s(329))}if((62914560&t)===t&&10<(r=Pc+300-ae())){if(Yc(i,t,Sc,!yc),0!==Se(i,0,!0))break e;Nc=t,i.timeoutHandle=bd(Xc.bind(null,i,n,Tc,Lc,Mc,t,Sc,Cc,Ec,yc,o,"Throttled",-0,0),r)}else Xc(i,n,Tc,Lc,Mc,t,Sc,Cc,Ec,yc,o,null,-0,0)}break}r=su(e,t,!1),o=!1}Lu(e)}function Xc(e,t,n,i,r,o,s,a,l,c,u,d,p,h){if(e.timeoutHandle=-1,8192&(d=t.subtreeFlags)||!(16785408&~d)){rc(t,o,d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Pt});var f=(62914560&o)===o?Pc-ae():(4194048&o)===o?Rc-ae():0;if(null!==(f=function(e,t){return e.stylesheets&&0===e.count&&ap(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var i=setTimeout(function(){if(e.stylesheets&&ap(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&0===rp&&(rp=62500*function(){if("function"==typeof performance.getEntriesByType){for(var e=0,t=0,n=performance.getEntriesByType("resource"),i=0;i<n.length;i++){var r=n[i],o=r.transferSize,s=r.initiatorType,a=r.duration;if(o&&a&&pd(s)){for(s=0,a=r.responseEnd,i+=1;i<n.length;i++){var l=n[i],c=l.startTime;if(c>a)break;var u=l.transferSize,d=l.initiatorType;u&&pd(d)&&(s+=u*((l=l.responseEnd)<a?1:(a-c)/(l-c)))}if(--i,t+=8*(o+s)/(r.duration/1e3),10<++e)break}}if(0<e)return t/e/1e6}return navigator.connection&&"number"==typeof(e=navigator.connection.downlink)?e:5}());var r=setTimeout(function(){if(e.waitingForImages=!1,0===e.count&&(e.stylesheets&&ap(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>rp?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(i),clearTimeout(r)}}:null}(d,f)))return Nc=o,e.cancelPendingCommit=f(fu.bind(null,e,t,o,n,i,r,s,a,l,u,d,null,p,h)),void Yc(e,o,s,!c)}fu(e,t,o,n,i,r,s,a,l)}function Zc(e){for(var t=e;;){var n=t.tag;if((0===n||11===n||15===n)&&16384&t.flags&&null!==(n=t.updateQueue)&&null!==(n=n.stores))for(var i=0;i<n.length;i++){var r=n[i],o=r.getSnapshot;r=r.value;try{if(!Yn(o(),r))return!1}catch(e){return!1}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Yc(e,t,n,i){t&=~Ac,t&=~Cc,e.suspendedLanes|=t,e.pingedLanes&=~t,i&&(e.warmLanes|=t),i=e.expirationTimes;for(var r=t;0<r;){var o=31-ve(r),s=1<<o;i[o]=-1,r&=~s}0!==n&&Re(e,n,t)}function Qc(){return!!(6&pc)||(Ou(0,!1),!1)}function Jc(){if(null!==fc){if(0===gc)var e=fc.return;else kr=wr=null,ss(e=fc),so=null,ao=0,e=fc;for(;null!==e;)fl(e.alternate,e),e=e.return;fc=null}}function eu(e,t){var n=e.timeoutHandle;-1!==n&&(e.timeoutHandle=-1,xd(n)),null!==(n=e.cancelPendingCommit)&&(e.cancelPendingCommit=null,n()),Nc=0,Jc(),hc=e,fc=n=Ni(e.current,null),_c=t,gc=0,mc=null,yc=!1,vc=Ee(e,t),bc=!1,Ec=Sc=Ac=Cc=kc=wc=0,Tc=Ic=null,Mc=!1,8&t&&(t|=32&t);var i=e.entangledLanes;if(0!==i)for(e=e.entanglements,i&=t;0<i;){var r=31-ve(i),o=1<<r;t|=e[r],i&=~o}return xc=t,Ti(),n}function tu(e,t){Go=null,z.H=fa,t===Zr||t===Qr?(t=ro(),gc=3):t===Yr?(t=ro(),gc=4):gc=t===Pa?8:null!==t&&"object"==typeof t&&"function"==typeof t.then?6:1,mc=t,null===fc&&(wc=1,Sa(e,$i(t,e.current)))}function nu(){var e=Ro.current;return null===e||((4194048&_c)===_c?null===zo:!!((62914560&_c)===_c||536870912&_c)&&e===zo)}function iu(){var e=z.H;return z.H=fa,null===e?fa:e}function ru(){var e=z.A;return z.A=uc,e}function ou(){wc=4,yc||(4194048&_c)!==_c&&null!==Ro.current||(vc=!0),!(134217727&kc)&&!(134217727&Cc)||null===hc||Yc(hc,_c,Sc,!1)}function su(e,t,n){var i=pc;pc|=2;var r=iu(),o=ru();hc===e&&_c===t||(Lc=null,eu(e,t)),t=!1;var s=wc;e:for(;;)try{if(0!==gc&&null!==fc){var a=fc,l=mc;switch(gc){case 8:Jc(),s=6;break e;case 3:case 2:case 9:case 6:null===Ro.current&&(t=!0);var c=gc;if(gc=0,mc=null,du(e,a,l,c),n&&vc){s=0;break e}break;default:c=gc,gc=0,mc=null,du(e,a,l,c)}}au(),s=wc;break}catch(t){tu(e,t)}return t&&e.shellSuspendCounter++,kr=wr=null,pc=i,z.H=r,z.A=o,null===fc&&(hc=null,_c=0,Ti()),s}function au(){for(;null!==fc;)cu(fc)}function lu(){for(;null!==fc&&!oe();)cu(fc)}function cu(e){var t=ol(e.alternate,e,xc);e.memoizedProps=e.pendingProps,null===t?pu(e):fc=t}function uu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Wa(n,t,t.pendingProps,t.type,void 0,_c);break;case 11:t=Wa(n,t,t.pendingProps,t.type.render,t.ref,_c);break;case 5:ss(t);default:fl(n,t),t=ol(n,t=fc=Bi(t,xc),xc)}e.memoizedProps=e.pendingProps,null===t?pu(e):fc=t}function du(e,t,n,i){kr=wr=null,ss(t),so=null,ao=0;var r=t.return;try{if(function(e,t,n,i,r){if(n.flags|=32768,null!==i&&"object"==typeof i&&"function"==typeof i.then){if(null!==(t=n.alternate)&&Ir(t,n,r,!0),null!==(n=Ro.current)){switch(n.tag){case 31:case 13:return null===zo?ou():null===n.alternate&&0===wc&&(wc=3),n.flags&=-257,n.flags|=65536,n.lanes=r,i===Jr?n.flags|=16384:(null===(t=n.updateQueue)?n.updateQueue=new Set([i]):t.add(i),ku(e,i,r)),!1;case 22:return n.flags|=65536,i===Jr?n.flags|=16384:(null===(t=n.updateQueue)?(t={transitions:null,markerInstances:null,retryQueue:new Set([i])},n.updateQueue=t):null===(n=t.retryQueue)?t.retryQueue=new Set([i]):n.add(i),ku(e,i,r)),!1}throw Error(s(435,n.tag))}return ku(e,i,r),ou(),!1}if(ur)return null!==(t=Ro.current)?(!(65536&t.flags)&&(t.flags|=256),t.flags|=65536,t.lanes=r,i!==hr&&br($i(e=Error(s(422),{cause:i}),n))):(i!==hr&&br($i(t=Error(s(423),{cause:i}),n)),(e=e.current.alternate).flags|=65536,r&=-r,e.lanes|=r,i=$i(i,n),xo(e,r=Ia(e.stateNode,i,r)),4!==wc&&(wc=2)),!1;var o=Error(s(520),{cause:i});if(o=$i(o,n),null===Ic?Ic=[o]:Ic.push(o),4!==wc&&(wc=2),null===t)return!0;i=$i(i,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=r&-r,n.lanes|=e,xo(n,e=Ia(n.stateNode,i,e)),!1;case 1:if(t=n.type,o=n.stateNode,!(128&n.flags||"function"!=typeof t.getDerivedStateFromError&&(null===o||"function"!=typeof o.componentDidCatch||null!==Oc&&Oc.has(o))))return n.flags|=65536,r&=-r,n.lanes|=r,Ma(r=Ta(r),e,n,i),xo(n,r),!1}n=n.return}while(null!==n);return!1}(e,r,t,n,_c))return wc=1,Sa(e,$i(n,e.current)),void(fc=null)}catch(t){if(null!==r)throw fc=r,t;return wc=1,Sa(e,$i(n,e.current)),void(fc=null)}32768&t.flags?(ur||1===i?e=!0:vc||536870912&_c?e=!1:(yc=e=!0,(2===i||9===i||3===i||6===i)&&null!==(i=Ro.current)&&13===i.tag&&(i.flags|=16384)),hu(t,e)):pu(t)}function pu(e){var t=e;do{if(32768&t.flags)return void hu(t,yc);e=t.return;var n=pl(t.alternate,t,xc);if(null!==n)return void(fc=n);if(null!==(t=t.sibling))return void(fc=t);fc=t=e}while(null!==t);0===wc&&(wc=5)}function hu(e,t){do{var n=hl(e.alternate,e);if(null!==n)return n.flags&=32767,void(fc=n);if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling))return void(fc=e);fc=e=n}while(null!==e);wc=6,fc=null}function fu(e,t,n,i,r,o,a,l,c){e.cancelPendingCommit=null;do{vu()}while(0!==Fc);if(6&pc)throw Error(s(327));if(null!==t){if(t===e.current)throw Error(s(177));if(o=t.lanes|t.childLanes,function(e,t,n,i,r,o){var s=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var a=e.entanglements,l=e.expirationTimes,c=e.hiddenUpdates;for(n=s&~n;0<n;){var u=31-ve(n),d=1<<u;a[u]=0,l[u]=-1;var p=c[u];if(null!==p)for(c[u]=null,u=0;u<p.length;u++){var h=p[u];null!==h&&(h.lane&=-536870913)}n&=~d}0!==i&&Re(e,i,0),0!==o&&0===r&&0!==e.tag&&(e.suspendedLanes|=o&~(s&~t))}(e,n,o|=Ii,a,l,c),e===hc&&(fc=hc=null,_c=0),Dc=t,jc=e,Nc=n,Bc=o,qc=r,Gc=i,10256&t.subtreeFlags||10256&t.flags?(e.callbackNode=null,e.callbackPriority=0,ie(de,function(){return bu(),null})):(e.callbackNode=null,e.callbackPriority=0),i=!!(13878&t.flags),13878&t.subtreeFlags||i){i=z.T,z.T=null,r=L.p,L.p=2,a=pc,pc|=4;try{!function(e,t){if(e=e.containerInfo,hd=gp,ii(e=ni(e))){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{var i=(n=(n=e.ownerDocument)&&n.defaultView||window).getSelection&&n.getSelection();if(i&&0!==i.rangeCount){n=i.anchorNode;var r=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{n.nodeType,o.nodeType}catch(e){n=null;break e}var a=0,l=-1,c=-1,u=0,d=0,p=e,h=null;t:for(;;){for(var f;p!==n||0!==r&&3!==p.nodeType||(l=a+r),p!==o||0!==i&&3!==p.nodeType||(c=a+i),3===p.nodeType&&(a+=p.nodeValue.length),null!==(f=p.firstChild);)h=p,p=f;for(;;){if(p===e)break t;if(h===n&&++u===r&&(l=a),h===o&&++d===i&&(c=a),null!==(f=p.nextSibling))break;h=(p=h).parentNode}p=f}n=-1===l||-1===c?null:{start:l,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(fd={focusedElem:e,selectionRange:n},gp=!1,Rl=t;null!==Rl;)if(e=(t=Rl).child,1028&t.subtreeFlags&&null!==e)e.return=t,Rl=e;else for(;null!==Rl;){switch(o=(t=Rl).alternate,e=t.flags,t.tag){case 0:if(4&e&&null!==(e=null!==(e=t.updateQueue)?e.events:null))for(n=0;n<e.length;n++)(r=e[n]).ref.impl=r.nextImpl;break;case 11:case 15:case 5:case 26:case 27:case 6:case 4:case 17:break;case 1:if(1024&e&&null!==o){e=void 0,n=t,r=o.memoizedProps,o=o.memoizedState,i=n.stateNode;try{var _=wa(n.type,r);e=i.getSnapshotBeforeUpdate(_,o),i.__reactInternalSnapshotBeforeUpdate=e}catch(e){wu(n,n.return,e)}}break;case 3:if(1024&e)if(9===(n=(e=t.stateNode.containerInfo).nodeType))Id(e);else if(1===n)switch(e.nodeName){case"HEAD":case"HTML":case"BODY":Id(e);break;default:e.textContent=""}break;default:if(1024&e)throw Error(s(163))}if(null!==(e=t.sibling)){e.return=t.return,Rl=e;break}Rl=t.return}}(e,t)}finally{pc=a,L.p=r,z.T=i}}Fc=1,_u(),gu(),mu()}}function _u(){if(1===Fc){Fc=0;var e=jc,t=Dc,n=!!(13878&t.flags);if(13878&t.subtreeFlags||n){n=z.T,z.T=null;var i=L.p;L.p=2;var r=pc;pc|=4;try{Wl(t,e);var o=fd,s=ni(e.containerInfo),a=o.focusedElem,l=o.selectionRange;if(s!==a&&a&&a.ownerDocument&&ti(a.ownerDocument.documentElement,a)){if(null!==l&&ii(a)){var c=l.start,u=l.end;if(void 0===u&&(u=c),"selectionStart"in a)a.selectionStart=c,a.selectionEnd=Math.min(u,a.value.length);else{var d=a.ownerDocument||document,p=d&&d.defaultView||window;if(p.getSelection){var h=p.getSelection(),f=a.textContent.length,_=Math.min(l.start,f),g=void 0===l.end?_:Math.min(l.end,f);!h.extend&&_>g&&(s=g,g=_,_=s);var m=ei(a,_),y=ei(a,g);if(m&&y&&(1!==h.rangeCount||h.anchorNode!==m.node||h.anchorOffset!==m.offset||h.focusNode!==y.node||h.focusOffset!==y.offset)){var v=d.createRange();v.setStart(m.node,m.offset),h.removeAllRanges(),_>g?(h.addRange(v),h.extend(y.node,y.offset)):(v.setEnd(y.node,y.offset),h.addRange(v))}}}}for(d=[],h=a;h=h.parentNode;)1===h.nodeType&&d.push({element:h,left:h.scrollLeft,top:h.scrollTop});for("function"==typeof a.focus&&a.focus(),a=0;a<d.length;a++){var b=d[a];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}gp=!!hd,fd=hd=null}finally{pc=r,L.p=i,z.T=n}}e.current=t,Fc=2}}function gu(){if(2===Fc){Fc=0;var e=jc,t=Dc,n=!!(8772&t.flags);if(8772&t.subtreeFlags||n){n=z.T,z.T=null;var i=L.p;L.p=2;var r=pc;pc|=4;try{zl(e,t.alternate,t)}finally{pc=r,L.p=i,z.T=n}}Fc=3}}function mu(){if(4===Fc||3===Fc){Fc=0,se();var e=jc,t=Dc,n=Nc,i=Gc;10256&t.subtreeFlags||10256&t.flags?Fc=5:(Fc=0,Dc=jc=null,yu(e,e.pendingLanes));var r=e.pendingLanes;if(0===r&&(Oc=null),Fe(n),t=t.stateNode,me&&"function"==typeof me.onCommitFiberRoot)try{me.onCommitFiberRoot(ge,t,void 0,!(128&~t.current.flags))}catch(e){}if(null!==i){t=z.T,r=L.p,L.p=2,z.T=null;try{for(var o=e.onRecoverableError,s=0;s<i.length;s++){var a=i[s];o(a.value,{componentStack:a.stack})}}finally{z.T=t,L.p=r}}3&Nc&&vu(),Lu(e),r=e.pendingLanes,261930&n&&42&r?e===Wc?Vc++:(Vc=0,Wc=e):Vc=0,Ou(0,!1)}}function yu(e,t){0===(e.pooledCacheLanes&=t)&&null!=(t=e.pooledCache)&&(e.pooledCache=null,Nr(t))}function vu(){return _u(),gu(),mu(),bu()}function bu(){if(5!==Fc)return!1;var e=jc,t=Bc;Bc=0;var n=Fe(Nc),i=z.T,r=L.p;try{L.p=32>n?32:n,z.T=null,n=qc,qc=null;var o=jc,a=Nc;if(Fc=0,Dc=jc=null,Nc=0,6&pc)throw Error(s(331));var l=pc;if(pc|=4,ac(o.current),Jl(o,o.current,a,n),pc=l,Ou(0,!1),me&&"function"==typeof me.onPostCommitFiberRoot)try{me.onPostCommitFiberRoot(ge,o)}catch(e){}return!0}finally{L.p=r,z.T=i,yu(e,t)}}function xu(e,t,n){t=$i(n,t),null!==(e=vo(e,t=Ia(e.stateNode,t,2),2))&&(Pe(e,2),Lu(e))}function wu(e,t,n){if(3===e.tag)xu(e,e,n);else for(;null!==t;){if(3===t.tag){xu(t,e,n);break}if(1===t.tag){var i=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof i.componentDidCatch&&(null===Oc||!Oc.has(i))){e=$i(n,e),null!==(i=vo(t,n=Ta(2),2))&&(Ma(n,i,t,e),Pe(i,2),Lu(i));break}}t=t.return}}function ku(e,t,n){var i=e.pingCache;if(null===i){i=e.pingCache=new dc;var r=new Set;i.set(t,r)}else void 0===(r=i.get(t))&&(r=new Set,i.set(t,r));r.has(n)||(bc=!0,r.add(n),e=Cu.bind(null,e,t,n),t.then(e,e))}function Cu(e,t,n){var i=e.pingCache;null!==i&&i.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,hc===e&&(_c&n)===n&&(4===wc||3===wc&&(62914560&_c)===_c&&300>ae()-Pc?!(2&pc)&&eu(e,0):Ac|=n,Ec===_c&&(Ec=0)),Lu(e)}function Au(e,t){0===t&&(t=Te()),null!==(e=Ri(e,t))&&(Pe(e,t),Lu(e))}function Su(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Au(e,n)}function Eu(e,t){var n=0;switch(e.tag){case 31:case 13:var i=e.stateNode,r=e.memoizedState;null!==r&&(n=r.retryLane);break;case 19:i=e.stateNode;break;case 22:i=e.stateNode._retryCache;break;default:throw Error(s(314))}null!==i&&i.delete(t),Au(e,n)}var Iu=null,Tu=null,Mu=!1,Pu=!1,Ru=!1,zu=0;function Lu(e){e!==Tu&&null===e.next&&(null===Tu?Iu=Tu=e:Tu=Tu.next=e),Pu=!0,Mu||(Mu=!0,kd(function(){6&pc?ie(ce,Fu):ju()}))}function Ou(e,t){if(!Ru&&Pu){Ru=!0;do{for(var n=!1,i=Iu;null!==i;){if(!t)if(0!==e){var r=i.pendingLanes;if(0===r)var o=0;else{var s=i.suspendedLanes,a=i.pingedLanes;o=(1<<31-ve(42|e)+1)-1,o=201326741&(o&=r&~(s&~a))?201326741&o|1:o?2|o:0}0!==o&&(n=!0,Bu(i,o))}else o=_c,!(3&(o=Se(i,i===hc?o:0,null!==i.cancelPendingCommit||-1!==i.timeoutHandle)))||Ee(i,o)||(n=!0,Bu(i,o));i=i.next}}while(n);Ru=!1}}function Fu(){ju()}function ju(){Pu=Mu=!1;var e,t=0;0!==zu&&((e=window.event)&&"popstate"===e.type?e!==vd&&(vd=e,1):(vd=null,0))&&(t=zu);for(var n=ae(),i=null,r=Iu;null!==r;){var o=r.next,s=Du(r,n);0===s?(r.next=null,null===i?Iu=o:i.next=o,null===o&&(Tu=i)):(i=r,(0!==t||3&s)&&(Pu=!0)),r=o}0!==Fc&&5!==Fc||Ou(t,!1),0!==zu&&(zu=0)}function Du(e,t){for(var n=e.suspendedLanes,i=e.pingedLanes,r=e.expirationTimes,o=-62914561&e.pendingLanes;0<o;){var s=31-ve(o),a=1<<s,l=r[s];-1===l?0!==(a&n)&&0===(a&i)||(r[s]=Ie(a,t)):l<=t&&(e.expiredLanes|=a),o&=~a}if(n=_c,n=Se(e,e===(t=hc)?n:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle),i=e.callbackNode,0===n||e===t&&(2===gc||9===gc)||null!==e.cancelPendingCommit)return null!==i&&null!==i&&re(i),e.callbackNode=null,e.callbackPriority=0;if(!(3&n)||Ee(e,n)){if((t=n&-n)===e.callbackPriority)return t;switch(null!==i&&re(i),Fe(n)){case 2:case 8:n=ue;break;case 32:default:n=de;break;case 268435456:n=he}return i=Nu.bind(null,e),n=ie(n,i),e.callbackPriority=t,e.callbackNode=n,t}return null!==i&&null!==i&&re(i),e.callbackPriority=2,e.callbackNode=null,2}function Nu(e,t){if(0!==Fc&&5!==Fc)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(vu()&&e.callbackNode!==n)return null;var i=_c;return 0===(i=Se(e,e===hc?i:0,null!==e.cancelPendingCommit||-1!==e.timeoutHandle))?null:(Kc(e,i,t),Du(e,ae()),null!=e.callbackNode&&e.callbackNode===n?Nu.bind(null,e):null)}function Bu(e,t){if(vu())return null;Kc(e,t,!0)}function qu(){if(0===zu){var e=Gr;0===e&&(e=we,!(261888&(we<<=1))&&(we=256)),zu=e}return zu}function Gu(e){return null==e||"symbol"==typeof e||"boolean"==typeof e?null:"function"==typeof e?e:Mt(""+e)}function Vu(e,t){var n=t.ownerDocument.createElement("input");return n.name=t.name,n.value=t.value,e.id&&n.setAttribute("form",e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}for(var Wu=0;Wu<ki.length;Wu++){var Hu=ki[Wu];Ci(Hu.toLowerCase(),"on"+(Hu[0].toUpperCase()+Hu.slice(1)))}Ci(_i,"onAnimationEnd"),Ci(gi,"onAnimationIteration"),Ci(mi,"onAnimationStart"),Ci("dblclick","onDoubleClick"),Ci("focusin","onFocus"),Ci("focusout","onBlur"),Ci(yi,"onTransitionRun"),Ci(vi,"onTransitionStart"),Ci(bi,"onTransitionCancel"),Ci(xi,"onTransitionEnd"),it("onMouseEnter",["mouseout","mouseover"]),it("onMouseLeave",["mouseout","mouseover"]),it("onPointerEnter",["pointerout","pointerover"]),it("onPointerLeave",["pointerout","pointerover"]),nt("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),nt("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),nt("onBeforeInput",["compositionend","keypress","textInput","paste"]),nt("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),nt("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),nt("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Uu="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),$u=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat(Uu));function Ku(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var i=e[n],r=i.event;i=i.listeners;e:{var o=void 0;if(t)for(var s=i.length-1;0<=s;s--){var a=i[s],l=a.instance,c=a.currentTarget;if(a=a.listener,l!==o&&r.isPropagationStopped())break e;o=a,r.currentTarget=c;try{o(r)}catch(e){Ai(e)}r.currentTarget=null,o=l}else for(s=0;s<i.length;s++){if(l=(a=i[s]).instance,c=a.currentTarget,a=a.listener,l!==o&&r.isPropagationStopped())break e;o=a,r.currentTarget=c;try{o(r)}catch(e){Ai(e)}r.currentTarget=null,o=l}}}}function Xu(e,t){var n=t[Ve];void 0===n&&(n=t[Ve]=new Set);var i=e+"__bubble";n.has(i)||(Ju(t,e,2,!1),n.add(i))}function Zu(e,t,n){var i=0;t&&(i|=4),Ju(n,e,i,t)}var Yu="_reactListening"+Math.random().toString(36).slice(2);function Qu(e){if(!e[Yu]){e[Yu]=!0,et.forEach(function(t){"selectionchange"!==t&&($u.has(t)||Zu(t,!1,e),Zu(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Yu]||(t[Yu]=!0,Zu("selectionchange",!1,t))}}function Ju(e,t,n,i){switch(kp(t)){case 2:var r=mp;break;case 8:r=yp;break;default:r=vp}n=r.bind(null,t,n,e),r=void 0,!qt||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(r=!0),i?void 0!==r?e.addEventListener(t,n,{capture:!0,passive:r}):e.addEventListener(t,n,!0):void 0!==r?e.addEventListener(t,n,{passive:r}):e.addEventListener(t,n,!1)}function ed(e,t,n,i,r){var o=i;if(!(1&t||2&t||null===i))e:for(;;){if(null===i)return;var s=i.tag;if(3===s||4===s){var l=i.stateNode.containerInfo;if(l===r)break;if(4===s)for(s=i.return;null!==s;){var c=s.tag;if((3===c||4===c)&&s.stateNode.containerInfo===r)return;s=s.return}for(;null!==l;){if(null===(s=Xe(l)))return;if(5===(c=s.tag)||6===c||26===c||27===c){i=o=s;continue e}l=l.parentNode}}i=i.return}Dt(function(){var i=o,r=zt(n),s=[];e:{var l=wi.get(e);if(void 0!==l){var c=tn,u=e;switch(e){case"keypress":if(0===$t(n))break e;case"keydown":case"keyup":c=mn;break;case"focusin":u="focus",c=ln;break;case"focusout":u="blur",c=ln;break;case"beforeblur":case"afterblur":c=ln;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":c=sn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":c=an;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":c=vn;break;case _i:case gi:case mi:c=cn;break;case xi:c=bn;break;case"scroll":case"scrollend":c=rn;break;case"wheel":c=xn;break;case"copy":case"cut":case"paste":c=un;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":c=yn;break;case"toggle":case"beforetoggle":c=wn}var d=!!(4&t),p=!d&&("scroll"===e||"scrollend"===e),h=d?null!==l?l+"Capture":null:l;d=[];for(var f,_=i;null!==_;){var g=_;if(f=g.stateNode,5!==(g=g.tag)&&26!==g&&27!==g||null===f||null===h||null!=(g=Nt(_,h))&&d.push(td(_,g,f)),p)break;_=_.return}0<d.length&&(l=new c(l,u,null,n,r),s.push({event:l,listeners:d}))}}if(!(7&t)){if(c="mouseout"===e||"pointerout"===e,(!(l="mouseover"===e||"pointerover"===e)||n===Rt||!(u=n.relatedTarget||n.fromElement)||!Xe(u)&&!u[Ge])&&(c||l)&&(l=r.window===r?r:(l=r.ownerDocument)?l.defaultView||l.parentWindow:window,c?(c=i,null!==(u=(u=n.relatedTarget||n.toElement)?Xe(u):null)&&(p=a(u),d=u.tag,u!==p||5!==d&&27!==d&&6!==d)&&(u=null)):(c=null,u=i),c!==u)){if(d=sn,g="onMouseLeave",h="onMouseEnter",_="mouse","pointerout"!==e&&"pointerover"!==e||(d=yn,g="onPointerLeave",h="onPointerEnter",_="pointer"),p=null==c?l:Ye(c),f=null==u?l:Ye(u),(l=new d(g,_+"leave",c,n,r)).target=p,l.relatedTarget=f,g=null,Xe(r)===i&&((d=new d(h,_+"enter",u,n,r)).target=f,d.relatedTarget=p,g=d),p=g,c&&u)e:{for(d=id,_=u,f=0,g=h=c;g;g=d(g))f++;g=0;for(var m=_;m;m=d(m))g++;for(;0<f-g;)h=d(h),f--;for(;0<g-f;)_=d(_),g--;for(;f--;){if(h===_||null!==_&&h===_.alternate){d=h;break e}h=d(h),_=d(_)}d=null}else d=null;null!==c&&rd(s,l,c,d,!1),null!==u&&null!==p&&rd(s,p,u,d,!0)}if("select"===(c=(l=i?Ye(i):window).nodeName&&l.nodeName.toLowerCase())||"input"===c&&"file"===l.type)var y=Bn;else if(Ln(l))if(qn)y=Zn;else{y=Kn;var v=$n}else!(c=l.nodeName)||"input"!==c.toLowerCase()||"checkbox"!==l.type&&"radio"!==l.type?i&&Et(i.elementType)&&(y=Bn):y=Xn;switch(y&&(y=y(e,i))?On(s,y,n,r):(v&&v(e,l,i),"focusout"===e&&i&&"number"===l.type&&null!=i.memoizedProps.value&&vt(l,"number",l.value)),v=i?Ye(i):window,e){case"focusin":(Ln(v)||"true"===v.contentEditable)&&(oi=v,si=i,ai=null);break;case"focusout":ai=si=oi=null;break;case"mousedown":li=!0;break;case"contextmenu":case"mouseup":case"dragend":li=!1,ci(s,n,r);break;case"selectionchange":if(ri)break;case"keydown":case"keyup":ci(s,n,r)}var b;if(Cn)e:{switch(e){case"compositionstart":var x="onCompositionStart";break e;case"compositionend":x="onCompositionEnd";break e;case"compositionupdate":x="onCompositionUpdate";break e}x=void 0}else Rn?Mn(e,n)&&(x="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(x="onCompositionStart");x&&(En&&"ko"!==n.locale&&(Rn||"onCompositionStart"!==x?"onCompositionEnd"===x&&Rn&&(b=Ut()):(Wt="value"in(Vt=r)?Vt.value:Vt.textContent,Rn=!0)),0<(v=nd(i,x)).length&&(x=new dn(x,e,null,n,r),s.push({event:x,listeners:v}),(b||null!==(b=Pn(n)))&&(x.data=b))),(b=Sn?function(e,t){switch(e){case"compositionend":return Pn(t);case"keypress":return 32!==t.which?null:(Tn=!0,In);case"textInput":return(e=t.data)===In&&Tn?null:e;default:return null}}(e,n):function(e,t){if(Rn)return"compositionend"===e||!Cn&&Mn(e,t)?(e=Ut(),Ht=Wt=Vt=null,Rn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return En&&"ko"!==t.locale?null:t.data}}(e,n))&&0<(x=nd(i,"onBeforeInput")).length&&(v=new dn("onBeforeInput","beforeinput",null,n,r),s.push({event:v,listeners:x}),v.data=b),function(e,t,n,i,r){if("submit"===t&&n&&n.stateNode===r){var o=Gu((r[qe]||null).action),s=i.submitter;s&&null!==(t=(t=s[qe]||null)?Gu(t.formAction):s.getAttribute("formAction"))&&(o=t,s=null);var a=new tn("action","action",null,i,r);e.push({event:a,listeners:[{instance:null,listener:function(){if(i.defaultPrevented){if(0!==zu){var e=s?Vu(r,s):new FormData(r);ea(n,{pending:!0,data:e,method:r.method,action:o},null,e)}}else"function"==typeof o&&(a.preventDefault(),e=s?Vu(r,s):new FormData(r),ea(n,{pending:!0,data:e,method:r.method,action:o},o,e))},currentTarget:r}]})}}(s,e,i,n,r)}Ku(s,t)})}function td(e,t,n){return{instance:e,listener:t,currentTarget:n}}function nd(e,t){for(var n=t+"Capture",i=[];null!==e;){var r=e,o=r.stateNode;if(5!==(r=r.tag)&&26!==r&&27!==r||null===o||(null!=(r=Nt(e,n))&&i.unshift(td(e,r,o)),null!=(r=Nt(e,t))&&i.push(td(e,r,o))),3===e.tag)return i;e=e.return}return[]}function id(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag&&27!==e.tag);return e||null}function rd(e,t,n,i,r){for(var o=t._reactName,s=[];null!==n&&n!==i;){var a=n,l=a.alternate,c=a.stateNode;if(a=a.tag,null!==l&&l===i)break;5!==a&&26!==a&&27!==a||null===c||(l=c,r?null!=(c=Nt(n,o))&&s.unshift(td(n,c,l)):r||null!=(c=Nt(n,o))&&s.push(td(n,c,l))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var od=/\r\n?/g,sd=/\u0000|\uFFFD/g;function ad(e){return("string"==typeof e?e:""+e).replace(od,"\n").replace(sd,"")}function ld(e,t){return t=ad(t),ad(e)===t}function cd(e,t,n,i,r,o){switch(n){case"children":"string"==typeof i?"body"===t||"textarea"===t&&""===i||kt(e,i):("number"==typeof i||"bigint"==typeof i)&&"body"!==t&&kt(e,""+i);break;case"className":lt(e,"class",i);break;case"tabIndex":lt(e,"tabindex",i);break;case"dir":case"role":case"viewBox":case"width":case"height":lt(e,n,i);break;case"style":St(e,i,o);break;case"data":if("object"!==t){lt(e,"data",i);break}case"src":case"href":if(""===i&&("a"!==t||"href"!==n)){e.removeAttribute(n);break}if(null==i||"function"==typeof i||"symbol"==typeof i||"boolean"==typeof i){e.removeAttribute(n);break}i=Mt(""+i),e.setAttribute(n,i);break;case"action":case"formAction":if("function"==typeof i){e.setAttribute(n,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}if("function"==typeof o&&("formAction"===n?("input"!==t&&cd(e,t,"name",r.name,r,null),cd(e,t,"formEncType",r.formEncType,r,null),cd(e,t,"formMethod",r.formMethod,r,null),cd(e,t,"formTarget",r.formTarget,r,null)):(cd(e,t,"encType",r.encType,r,null),cd(e,t,"method",r.method,r,null),cd(e,t,"target",r.target,r,null))),null==i||"symbol"==typeof i||"boolean"==typeof i){e.removeAttribute(n);break}i=Mt(""+i),e.setAttribute(n,i);break;case"onClick":null!=i&&(e.onclick=Pt);break;case"onScroll":null!=i&&Xu("scroll",e);break;case"onScrollEnd":null!=i&&Xu("scrollend",e);break;case"dangerouslySetInnerHTML":if(null!=i){if("object"!=typeof i||!("__html"in i))throw Error(s(61));if(null!=(n=i.__html)){if(null!=r.children)throw Error(s(60));e.innerHTML=n}}break;case"multiple":e.multiple=i&&"function"!=typeof i&&"symbol"!=typeof i;break;case"muted":e.muted=i&&"function"!=typeof i&&"symbol"!=typeof i;break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":case"autoFocus":break;case"xlinkHref":if(null==i||"function"==typeof i||"boolean"==typeof i||"symbol"==typeof i){e.removeAttribute("xlink:href");break}n=Mt(""+i),e.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",n);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":null!=i&&"function"!=typeof i&&"symbol"!=typeof i?e.setAttribute(n,""+i):e.removeAttribute(n);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":i&&"function"!=typeof i&&"symbol"!=typeof i?e.setAttribute(n,""):e.removeAttribute(n);break;case"capture":case"download":!0===i?e.setAttribute(n,""):!1!==i&&null!=i&&"function"!=typeof i&&"symbol"!=typeof i?e.setAttribute(n,i):e.removeAttribute(n);break;case"cols":case"rows":case"size":case"span":null!=i&&"function"!=typeof i&&"symbol"!=typeof i&&!isNaN(i)&&1<=i?e.setAttribute(n,i):e.removeAttribute(n);break;case"rowSpan":case"start":null==i||"function"==typeof i||"symbol"==typeof i||isNaN(i)?e.removeAttribute(n):e.setAttribute(n,i);break;case"popover":Xu("beforetoggle",e),Xu("toggle",e),at(e,"popover",i);break;case"xlinkActuate":ct(e,"http://www.w3.org/1999/xlink","xlink:actuate",i);break;case"xlinkArcrole":ct(e,"http://www.w3.org/1999/xlink","xlink:arcrole",i);break;case"xlinkRole":ct(e,"http://www.w3.org/1999/xlink","xlink:role",i);break;case"xlinkShow":ct(e,"http://www.w3.org/1999/xlink","xlink:show",i);break;case"xlinkTitle":ct(e,"http://www.w3.org/1999/xlink","xlink:title",i);break;case"xlinkType":ct(e,"http://www.w3.org/1999/xlink","xlink:type",i);break;case"xmlBase":ct(e,"http://www.w3.org/XML/1998/namespace","xml:base",i);break;case"xmlLang":ct(e,"http://www.w3.org/XML/1998/namespace","xml:lang",i);break;case"xmlSpace":ct(e,"http://www.w3.org/XML/1998/namespace","xml:space",i);break;case"is":at(e,"is",i);break;case"innerText":case"textContent":break;default:(!(2<n.length)||"o"!==n[0]&&"O"!==n[0]||"n"!==n[1]&&"N"!==n[1])&&at(e,n=It.get(n)||n,i)}}function ud(e,t,n,i,r,o){switch(n){case"style":St(e,i,o);break;case"dangerouslySetInnerHTML":if(null!=i){if("object"!=typeof i||!("__html"in i))throw Error(s(61));if(null!=(n=i.__html)){if(null!=r.children)throw Error(s(60));e.innerHTML=n}}break;case"children":"string"==typeof i?kt(e,i):("number"==typeof i||"bigint"==typeof i)&&kt(e,""+i);break;case"onScroll":null!=i&&Xu("scroll",e);break;case"onScrollEnd":null!=i&&Xu("scrollend",e);break;case"onClick":null!=i&&(e.onclick=Pt);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":case"innerText":case"textContent":break;default:tt.hasOwnProperty(n)||("o"!==n[0]||"n"!==n[1]||(r=n.endsWith("Capture"),t=n.slice(2,r?n.length-7:void 0),"function"==typeof(o=null!=(o=e[qe]||null)?o[n]:null)&&e.removeEventListener(t,o,r),"function"!=typeof i)?n in e?e[n]=i:!0===i?e.setAttribute(n,""):at(e,n,i):("function"!=typeof o&&null!==o&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,i,r)))}}function dd(e,t,n){switch(t){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":Xu("error",e),Xu("load",e);var i,r=!1,o=!1;for(i in n)if(n.hasOwnProperty(i)){var a=n[i];if(null!=a)switch(i){case"src":r=!0;break;case"srcSet":o=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(s(137,t));default:cd(e,t,i,a,n,null)}}return o&&cd(e,t,"srcSet",n.srcSet,n,null),void(r&&cd(e,t,"src",n.src,n,null));case"input":Xu("invalid",e);var l=i=a=o=null,c=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(null!=d)switch(r){case"name":o=d;break;case"type":a=d;break;case"checked":c=d;break;case"defaultChecked":u=d;break;case"value":i=d;break;case"defaultValue":l=d;break;case"children":case"dangerouslySetInnerHTML":if(null!=d)throw Error(s(137,t));break;default:cd(e,t,r,d,n,null)}}return void yt(e,i,l,c,u,a,o,!1);case"select":for(o in Xu("invalid",e),r=a=i=null,n)if(n.hasOwnProperty(o)&&null!=(l=n[o]))switch(o){case"value":i=l;break;case"defaultValue":a=l;break;case"multiple":r=l;default:cd(e,t,o,l,n,null)}return t=i,n=a,e.multiple=!!r,void(null!=t?bt(e,!!r,t,!1):null!=n&&bt(e,!!r,n,!0));case"textarea":for(a in Xu("invalid",e),i=o=r=null,n)if(n.hasOwnProperty(a)&&null!=(l=n[a]))switch(a){case"value":r=l;break;case"defaultValue":o=l;break;case"children":i=l;break;case"dangerouslySetInnerHTML":if(null!=l)throw Error(s(91));break;default:cd(e,t,a,l,n,null)}return void wt(e,r,o,i);case"option":for(c in n)n.hasOwnProperty(c)&&null!=(r=n[c])&&("selected"===c?e.selected=r&&"function"!=typeof r&&"symbol"!=typeof r:cd(e,t,c,r,n,null));return;case"dialog":Xu("beforetoggle",e),Xu("toggle",e),Xu("cancel",e),Xu("close",e);break;case"iframe":case"object":Xu("load",e);break;case"video":case"audio":for(r=0;r<Uu.length;r++)Xu(Uu[r],e);break;case"image":Xu("error",e),Xu("load",e);break;case"details":Xu("toggle",e);break;case"embed":case"source":case"link":Xu("error",e),Xu("load",e);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(u in n)if(n.hasOwnProperty(u)&&null!=(r=n[u]))switch(u){case"children":case"dangerouslySetInnerHTML":throw Error(s(137,t));default:cd(e,t,u,r,n,null)}return;default:if(Et(t)){for(d in n)n.hasOwnProperty(d)&&void 0!==(r=n[d])&&ud(e,t,d,r,n,void 0);return}}for(l in n)n.hasOwnProperty(l)&&null!=(r=n[l])&&cd(e,t,l,r,n,null)}function pd(e){switch(e){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}var hd=null,fd=null;function _d(e){return 9===e.nodeType?e:e.ownerDocument}function gd(e){switch(e){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function md(e,t){if(0===e)switch(t){case"svg":return 1;case"math":return 2;default:return 0}return 1===e&&"foreignObject"===t?0:e}function yd(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"bigint"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var vd=null,bd="function"==typeof setTimeout?setTimeout:void 0,xd="function"==typeof clearTimeout?clearTimeout:void 0,wd="function"==typeof Promise?Promise:void 0,kd="function"==typeof queueMicrotask?queueMicrotask:void 0!==wd?function(e){return wd.resolve(null).then(e).catch(Cd)}:bd;function Cd(e){setTimeout(function(){throw e})}function Ad(e){return"head"===e}function Sd(e,t){var n=t,i=0;do{var r=n.nextSibling;if(e.removeChild(n),r&&8===r.nodeType)if("/$"===(n=r.data)||"/&"===n){if(0===i)return e.removeChild(r),void qp(t);i--}else if("$"===n||"$?"===n||"$~"===n||"$!"===n||"&"===n)i++;else if("html"===n)jd(e.ownerDocument.documentElement);else if("head"===n){jd(n=e.ownerDocument.head);for(var o=n.firstChild;o;){var s=o.nextSibling,a=o.nodeName;o[$e]||"SCRIPT"===a||"STYLE"===a||"LINK"===a&&"stylesheet"===o.rel.toLowerCase()||n.removeChild(o),o=s}}else"body"===n&&jd(e.ownerDocument.body);n=r}while(n);qp(t)}function Ed(e,t){var n=e;e=0;do{var i=n.nextSibling;if(1===n.nodeType?t?(n._stashedDisplay=n.style.display,n.style.display="none"):(n.style.display=n._stashedDisplay||"",""===n.getAttribute("style")&&n.removeAttribute("style")):3===n.nodeType&&(t?(n._stashedText=n.nodeValue,n.nodeValue=""):n.nodeValue=n._stashedText||""),i&&8===i.nodeType)if("/$"===(n=i.data)){if(0===e)break;e--}else"$"!==n&&"$?"!==n&&"$~"!==n&&"$!"!==n||e++;n=i}while(n)}function Id(e){var t=e.firstChild;for(t&&10===t.nodeType&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case"HTML":case"HEAD":case"BODY":Id(n),Ke(n);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if("stylesheet"===n.rel.toLowerCase())continue}e.removeChild(n)}}function Td(e,t){for(;8!==e.nodeType;){if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!t)return null;if(null===(e=Rd(e.nextSibling)))return null}return e}function Md(e){return"$?"===e.data||"$~"===e.data}function Pd(e){return"$!"===e.data||"$?"===e.data&&"loading"!==e.ownerDocument.readyState}function Rd(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t||"$~"===t||"&"===t||"F!"===t||"F"===t)break;if("/$"===t||"/&"===t)return null}}return e}var zd=null;function Ld(e){e=e.nextSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("/$"===n||"/&"===n){if(0===t)return Rd(e.nextSibling);t--}else"$"!==n&&"$!"!==n&&"$?"!==n&&"$~"!==n&&"&"!==n||t++}e=e.nextSibling}return null}function Od(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n||"$~"===n||"&"===n){if(0===t)return e;t--}else"/$"!==n&&"/&"!==n||t++}e=e.previousSibling}return null}function Fd(e,t,n){switch(t=_d(n),e){case"html":if(!(e=t.documentElement))throw Error(s(452));return e;case"head":if(!(e=t.head))throw Error(s(453));return e;case"body":if(!(e=t.body))throw Error(s(454));return e;default:throw Error(s(451))}}function jd(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Ke(e)}var Dd=new Map,Nd=new Set;function Bd(e){return"function"==typeof e.getRootNode?e.getRootNode():9===e.nodeType?e:e.ownerDocument}var qd=L.d;L.d={f:function(){var e=qd.f(),t=Qc();return e||t},r:function(e){var t=Ze(e);null!==t&&5===t.tag&&"form"===t.type?na(t):qd.r(e)},D:function(e){qd.D(e),Vd("dns-prefetch",e,null)},C:function(e,t){qd.C(e,t),Vd("preconnect",e,t)},L:function(e,t,n){qd.L(e,t,n);var i=Gd;if(i&&e&&t){var r='link[rel="preload"][as="'+gt(t)+'"]';"image"===t&&n&&n.imageSrcSet?(r+='[imagesrcset="'+gt(n.imageSrcSet)+'"]',"string"==typeof n.imageSizes&&(r+='[imagesizes="'+gt(n.imageSizes)+'"]')):r+='[href="'+gt(e)+'"]';var o=r;switch(t){case"style":o=Hd(e);break;case"script":o=Kd(e)}Dd.has(o)||(e=p({rel:"preload",href:"image"===t&&n&&n.imageSrcSet?void 0:e,as:t},n),Dd.set(o,e),null!==i.querySelector(r)||"style"===t&&i.querySelector(Ud(o))||"script"===t&&i.querySelector(Xd(o))||(dd(t=i.createElement("link"),"link",e),Je(t),i.head.appendChild(t)))}},m:function(e,t){qd.m(e,t);var n=Gd;if(n&&e){var i=t&&"string"==typeof t.as?t.as:"script",r='link[rel="modulepreload"][as="'+gt(i)+'"][href="'+gt(e)+'"]',o=r;switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":o=Kd(e)}if(!Dd.has(o)&&(e=p({rel:"modulepreload",href:e},t),Dd.set(o,e),null===n.querySelector(r))){switch(i){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(n.querySelector(Xd(o)))return}dd(i=n.createElement("link"),"link",e),Je(i),n.head.appendChild(i)}}},X:function(e,t){qd.X(e,t);var n=Gd;if(n&&e){var i=Qe(n).hoistableScripts,r=Kd(e),o=i.get(r);o||((o=n.querySelector(Xd(r)))||(e=p({src:e,async:!0},t),(t=Dd.get(r))&&Jd(e,t),Je(o=n.createElement("script")),dd(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(r,o))}},S:function(e,t,n){qd.S(e,t,n);var i=Gd;if(i&&e){var r=Qe(i).hoistableStyles,o=Hd(e);t=t||"default";var s=r.get(o);if(!s){var a={loading:0,preload:null};if(s=i.querySelector(Ud(o)))a.loading=5;else{e=p({rel:"stylesheet",href:e,"data-precedence":t},n),(n=Dd.get(o))&&Qd(e,n);var l=s=i.createElement("link");Je(l),dd(l,"link",e),l._p=new Promise(function(e,t){l.onload=e,l.onerror=t}),l.addEventListener("load",function(){a.loading|=1}),l.addEventListener("error",function(){a.loading|=2}),a.loading|=4,Yd(s,t,i)}s={type:"stylesheet",instance:s,count:1,state:a},r.set(o,s)}}},M:function(e,t){qd.M(e,t);var n=Gd;if(n&&e){var i=Qe(n).hoistableScripts,r=Kd(e),o=i.get(r);o||((o=n.querySelector(Xd(r)))||(e=p({src:e,async:!0,type:"module"},t),(t=Dd.get(r))&&Jd(e,t),Je(o=n.createElement("script")),dd(o,"link",e),n.head.appendChild(o)),o={type:"script",instance:o,count:1,state:null},i.set(r,o))}}};var Gd="undefined"==typeof document?null:document;function Vd(e,t,n){var i=Gd;if(i&&"string"==typeof t&&t){var r=gt(t);r='link[rel="'+e+'"][href="'+r+'"]',"string"==typeof n&&(r+='[crossorigin="'+n+'"]'),Nd.has(r)||(Nd.add(r),e={rel:e,crossOrigin:n,href:t},null===i.querySelector(r)&&(dd(t=i.createElement("link"),"link",e),Je(t),i.head.appendChild(t)))}}function Wd(e,t,n,i){var r,o,a,l,c=(c=H.current)?Bd(c):null;if(!c)throw Error(s(446));switch(e){case"meta":case"title":return null;case"style":return"string"==typeof n.precedence&&"string"==typeof n.href?(t=Hd(n.href),(i=(n=Qe(c).hoistableStyles).get(t))||(i={type:"style",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};case"link":if("stylesheet"===n.rel&&"string"==typeof n.href&&"string"==typeof n.precedence){e=Hd(n.href);var u=Qe(c).hoistableStyles,d=u.get(e);if(d||(c=c.ownerDocument||c,d={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},u.set(e,d),(u=c.querySelector(Ud(e)))&&!u._p&&(d.instance=u,d.state.loading=5),Dd.has(e)||(n={rel:"preload",as:"style",href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},Dd.set(e,n),u||(r=c,o=e,a=n,l=d.state,r.querySelector('link[rel="preload"][as="style"]['+o+"]")?l.loading=1:(o=r.createElement("link"),l.preload=o,o.addEventListener("load",function(){return l.loading|=1}),o.addEventListener("error",function(){return l.loading|=2}),dd(o,"link",a),Je(o),r.head.appendChild(o))))),t&&null===i)throw Error(s(528,""));return d}if(t&&null!==i)throw Error(s(529,""));return null;case"script":return t=n.async,"string"==typeof(n=n.src)&&t&&"function"!=typeof t&&"symbol"!=typeof t?(t=Kd(n),(i=(n=Qe(c).hoistableScripts).get(t))||(i={type:"script",instance:null,count:0,state:null},n.set(t,i)),i):{type:"void",instance:null,count:0,state:null};default:throw Error(s(444,e))}}function Hd(e){return'href="'+gt(e)+'"'}function Ud(e){return'link[rel="stylesheet"]['+e+"]"}function $d(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Kd(e){return'[src="'+gt(e)+'"]'}function Xd(e){return"script[async]"+e}function Zd(e,t,n){if(t.count++,null===t.instance)switch(t.type){case"style":var i=e.querySelector('style[data-href~="'+gt(n.href)+'"]');if(i)return t.instance=i,Je(i),i;var r=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return Je(i=(e.ownerDocument||e).createElement("style")),dd(i,"style",r),Yd(i,n.precedence,e),t.instance=i;case"stylesheet":r=Hd(n.href);var o=e.querySelector(Ud(r));if(o)return t.state.loading|=4,t.instance=o,Je(o),o;i=$d(n),(r=Dd.get(r))&&Qd(i,r),Je(o=(e.ownerDocument||e).createElement("link"));var a=o;return a._p=new Promise(function(e,t){a.onload=e,a.onerror=t}),dd(o,"link",i),t.state.loading|=4,Yd(o,n.precedence,e),t.instance=o;case"script":return o=Kd(n.src),(r=e.querySelector(Xd(o)))?(t.instance=r,Je(r),r):(i=n,(r=Dd.get(o))&&Jd(i=p({},n),r),Je(r=(e=e.ownerDocument||e).createElement("script")),dd(r,"link",i),e.head.appendChild(r),t.instance=r);case"void":return null;default:throw Error(s(443,t.type))}else"stylesheet"===t.type&&!(4&t.state.loading)&&(i=t.instance,t.state.loading|=4,Yd(i,n.precedence,e));return t.instance}function Yd(e,t,n){for(var i=n.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),r=i.length?i[i.length-1]:null,o=r,s=0;s<i.length;s++){var a=i[s];if(a.dataset.precedence===t)o=a;else if(o!==r)break}o?o.parentNode.insertBefore(e,o.nextSibling):(t=9===n.nodeType?n.head:n).insertBefore(e,t.firstChild)}function Qd(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.title&&(e.title=t.title)}function Jd(e,t){null==e.crossOrigin&&(e.crossOrigin=t.crossOrigin),null==e.referrerPolicy&&(e.referrerPolicy=t.referrerPolicy),null==e.integrity&&(e.integrity=t.integrity)}var ep=null;function tp(e,t,n){if(null===ep){var i=new Map,r=ep=new Map;r.set(n,i)}else(i=(r=ep).get(n))||(i=new Map,r.set(n,i));if(i.has(e))return i;for(i.set(e,null),n=n.getElementsByTagName(e),r=0;r<n.length;r++){var o=n[r];if(!(o[$e]||o[Be]||"link"===e&&"stylesheet"===o.getAttribute("rel"))&&"http://www.w3.org/2000/svg"!==o.namespaceURI){var s=o.getAttribute(t)||"";s=e+s;var a=i.get(s);a?a.push(o):i.set(s,[o])}}return i}function np(e,t,n){(e=e.ownerDocument||e).head.insertBefore(n,"title"===t?e.querySelector("head > title"):null)}function ip(e){return!!("stylesheet"!==e.type||3&e.state.loading)}var rp=0;function op(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages))if(this.stylesheets)ap(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}var sp=null;function ap(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sp=new Map,t.forEach(lp,e),sp=null,op.call(e))}function lp(e,t){if(!(4&t.state.loading)){var n=sp.get(e);if(n)var i=n.get(null);else{n=new Map,sp.set(e,n);for(var r=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;o<r.length;o++){var s=r[o];"LINK"!==s.nodeName&&"not all"===s.getAttribute("media")||(n.set(s.dataset.precedence,s),i=s)}i&&n.set(null,i)}s=(r=t.instance).getAttribute("data-precedence"),(o=n.get(s)||i)===i&&n.set(null,r),n.set(s,r),this.count++,i=op.bind(this),r.addEventListener("load",i),r.addEventListener("error",i),o?o.parentNode.insertBefore(r,o.nextSibling):(e=9===e.nodeType?e.head:e).insertBefore(r,e.firstChild),t.state.loading|=4}}var cp={$$typeof:b,Provider:null,Consumer:null,_currentValue:O,_currentValue2:O,_threadCount:0};function up(e,t,n,i,r,o,s,a,l){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Me(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Me(0),this.hiddenUpdates=Me(null),this.identifierPrefix=i,this.onUncaughtError=r,this.onCaughtError=o,this.onRecoverableError=s,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=l,this.incompleteTransitions=new Map}function dp(e,t,n,i,r,o){r=function(e){return e?e=Oi:Oi}(r),null===i.context?i.context=r:i.pendingContext=r,(i=yo(t)).payload={element:n},null!==(o=void 0===o?null:o)&&(i.callback=o),null!==(n=vo(e,i,t))&&($c(n,0,t),bo(n,e,t))}function pp(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function hp(e,t){pp(e,t),(e=e.alternate)&&pp(e,t)}function fp(e){if(13===e.tag||31===e.tag){var t=Ri(e,67108864);null!==t&&$c(t,0,67108864),hp(e,67108864)}}function _p(e){if(13===e.tag||31===e.tag){var t=Hc(),n=Ri(e,t=Oe(t));null!==n&&$c(n,0,t),hp(e,t)}}var gp=!0;function mp(e,t,n,i){var r=z.T;z.T=null;var o=L.p;try{L.p=2,vp(e,t,n,i)}finally{L.p=o,z.T=r}}function yp(e,t,n,i){var r=z.T;z.T=null;var o=L.p;try{L.p=8,vp(e,t,n,i)}finally{L.p=o,z.T=r}}function vp(e,t,n,i){if(gp){var r=bp(i);if(null===r)ed(e,t,i,xp,n),Rp(e,i);else if(function(e,t,n,i,r){switch(t){case"focusin":return Ap=zp(Ap,e,t,n,i,r),!0;case"dragenter":return Sp=zp(Sp,e,t,n,i,r),!0;case"mouseover":return Ep=zp(Ep,e,t,n,i,r),!0;case"pointerover":var o=r.pointerId;return Ip.set(o,zp(Ip.get(o)||null,e,t,n,i,r)),!0;case"gotpointercapture":return o=r.pointerId,Tp.set(o,zp(Tp.get(o)||null,e,t,n,i,r)),!0}return!1}(r,e,t,n,i))i.stopPropagation();else if(Rp(e,i),4&t&&-1<Pp.indexOf(e)){for(;null!==r;){var o=Ze(r);if(null!==o)switch(o.tag){case 3:if((o=o.stateNode).current.memoizedState.isDehydrated){var s=Ae(o.pendingLanes);if(0!==s){var a=o;for(a.pendingLanes|=2,a.entangledLanes|=2;s;){var l=1<<31-ve(s);a.entanglements[1]|=l,s&=~l}Lu(o),!(6&pc)&&(zc=ae()+500,Ou(0,!1))}}break;case 31:case 13:null!==(a=Ri(o,2))&&$c(a,0,2),Qc(),hp(o,2)}if(null===(o=bp(i))&&ed(e,t,i,xp,n),o===r)break;r=o}null!==r&&i.stopPropagation()}else ed(e,t,i,null,n)}}function bp(e){return wp(e=zt(e))}var xp=null;function wp(e){if(xp=null,null!==(e=Xe(e))){var t=a(e);if(null===t)e=null;else{var n=t.tag;if(13===n){if(null!==(e=l(t)))return e;e=null}else if(31===n){if(null!==(e=c(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return xp=e,null}function kp(e){switch(e){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(le()){case ce:return 2;case ue:return 8;case de:case pe:return 32;case he:return 268435456;default:return 32}default:return 32}}var Cp=!1,Ap=null,Sp=null,Ep=null,Ip=new Map,Tp=new Map,Mp=[],Pp="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function Rp(e,t){switch(e){case"focusin":case"focusout":Ap=null;break;case"dragenter":case"dragleave":Sp=null;break;case"mouseover":case"mouseout":Ep=null;break;case"pointerover":case"pointerout":Ip.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Tp.delete(t.pointerId)}}function zp(e,t,n,i,r,o){return null===e||e.nativeEvent!==o?(e={blockedOn:t,domEventName:n,eventSystemFlags:i,nativeEvent:o,targetContainers:[r]},null!==t&&null!==(t=Ze(t))&&fp(t),e):(e.eventSystemFlags|=i,t=e.targetContainers,null!==r&&-1===t.indexOf(r)&&t.push(r),e)}function Lp(e){var t=Xe(e.target);if(null!==t){var n=a(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=l(n)))return e.blockedOn=t,void De(e.priority,function(){_p(n)})}else if(31===t){if(null!==(t=c(n)))return e.blockedOn=t,void De(e.priority,function(){_p(n)})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Op(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=bp(e.nativeEvent);if(null!==n)return null!==(t=Ze(n))&&fp(t),e.blockedOn=n,!1;var i=new(n=e.nativeEvent).constructor(n.type,n);Rt=i,n.target.dispatchEvent(i),Rt=null,t.shift()}return!0}function Fp(e,t,n){Op(e)&&n.delete(t)}function jp(){Cp=!1,null!==Ap&&Op(Ap)&&(Ap=null),null!==Sp&&Op(Sp)&&(Sp=null),null!==Ep&&Op(Ep)&&(Ep=null),Ip.forEach(Fp),Tp.forEach(Fp)}function Dp(e,t){e.blockedOn===t&&(e.blockedOn=null,Cp||(Cp=!0,i.unstable_scheduleCallback(i.unstable_NormalPriority,jp)))}var Np=null;function Bp(e){Np!==e&&(Np=e,i.unstable_scheduleCallback(i.unstable_NormalPriority,function(){Np===e&&(Np=null);for(var t=0;t<e.length;t+=3){var n=e[t],i=e[t+1],r=e[t+2];if("function"!=typeof i){if(null===wp(i||n))continue;break}var o=Ze(n);null!==o&&(e.splice(t,3),t-=3,ea(o,{pending:!0,data:r,method:n.method,action:i},i,r))}}))}function qp(e){function t(t){return Dp(t,e)}null!==Ap&&Dp(Ap,e),null!==Sp&&Dp(Sp,e),null!==Ep&&Dp(Ep,e),Ip.forEach(t),Tp.forEach(t);for(var n=0;n<Mp.length;n++){var i=Mp[n];i.blockedOn===e&&(i.blockedOn=null)}for(;0<Mp.length&&null===(n=Mp[0]).blockedOn;)Lp(n),null===n.blockedOn&&Mp.shift();if(null!=(n=(e.ownerDocument||e).$$reactFormReplay))for(i=0;i<n.length;i+=3){var r=n[i],o=n[i+1],s=r[qe]||null;if("function"==typeof o)s||Bp(n);else if(s){var a=null;if(o&&o.hasAttribute("formAction")){if(r=o,s=o[qe]||null)a=s.formAction;else if(null!==wp(r))continue}else a=s.action;"function"==typeof a?n[i+1]=a:(n.splice(i,3),i-=3),Bp(n)}}}function Gp(){function e(e){e.canIntercept&&"react-transition"===e.info&&e.intercept({handler:function(){return new Promise(function(e){return r=e})},focusReset:"manual",scroll:"manual"})}function t(){null!==r&&(r(),r=null),i||setTimeout(n,20)}function n(){if(!i&&!navigation.transition){var e=navigation.currentEntry;e&&null!=e.url&&navigation.navigate(e.url,{state:e.getState(),info:"react-transition",history:"replace"})}}if("object"==typeof navigation){var i=!1,r=null;return navigation.addEventListener("navigate",e),navigation.addEventListener("navigatesuccess",t),navigation.addEventListener("navigateerror",t),setTimeout(n,100),function(){i=!0,navigation.removeEventListener("navigate",e),navigation.removeEventListener("navigatesuccess",t),navigation.removeEventListener("navigateerror",t),null!==r&&(r(),r=null)}}}function Vp(e){this._internalRoot=e}function Wp(e){this._internalRoot=e}Wp.prototype.render=Vp.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(s(409));dp(t.current,Hc(),e,t,null,null)},Wp.prototype.unmount=Vp.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;dp(e.current,2,null,e,null,null),Qc(),t[Ge]=null}},Wp.prototype.unstable_scheduleHydration=function(e){if(e){var t=je();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Mp.length&&0!==t&&t<Mp[n].priority;n++);Mp.splice(n,0,e),0===n&&Lp(e)}};var Hp=r.version;if("19.2.3"!==Hp)throw Error(s(527,Hp,"19.2.3"));L.findDOMNode=function(e){var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(s(188));throw e=Object.keys(e).join(","),Error(s(268,e))}return e=function(e){var t=e.alternate;if(!t){if(null===(t=a(e)))throw Error(s(188));return t!==e?null:e}for(var n=e,i=t;;){var r=n.return;if(null===r)break;var o=r.alternate;if(null===o){if(null!==(i=r.return)){n=i;continue}break}if(r.child===o.child){for(o=r.child;o;){if(o===n)return u(r),e;if(o===i)return u(r),t;o=o.sibling}throw Error(s(188))}if(n.return!==i.return)n=r,i=o;else{for(var l=!1,c=r.child;c;){if(c===n){l=!0,n=r,i=o;break}if(c===i){l=!0,i=r,n=o;break}c=c.sibling}if(!l){for(c=o.child;c;){if(c===n){l=!0,n=o,i=r;break}if(c===i){l=!0,i=o,n=r;break}c=c.sibling}if(!l)throw Error(s(189))}}if(n.alternate!==i)throw Error(s(190))}if(3!==n.tag)throw Error(s(188));return n.stateNode.current===n?e:t}(t),null===(e=null!==e?d(e):null)?null:e.stateNode};var Up={bundleType:0,version:"19.2.3",rendererPackageName:"react-dom",currentDispatcherRef:z,reconcilerVersion:"19.2.3"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var $p=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!$p.isDisabled&&$p.supportsFiber)try{ge=$p.inject(Up),me=$p}catch(e){}}t.createRoot=function(e,t){if(!(n=e)||1!==n.nodeType&&9!==n.nodeType&&11!==n.nodeType)throw Error(s(299));var n,i=!1,r="",o=ka,a=Ca,l=Aa;return null!=t&&(!0===t.unstable_strictMode&&(i=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onUncaughtError&&(o=t.onUncaughtError),void 0!==t.onCaughtError&&(a=t.onCaughtError),void 0!==t.onRecoverableError&&(l=t.onRecoverableError)),t=function(e,t,n,i,r,o,s,a,l,c,u,d){return e=new up(e,t,n,s,l,c,u,d,a),t=1,!0===o&&(t|=24),o=ji(3,null,null,t),e.current=o,o.stateNode=e,(t=Dr()).refCount++,e.pooledCache=t,t.refCount++,o.memoizedState={element:i,isDehydrated:n,cache:t},go(o),e}(e,1,!1,null,0,i,r,null,o,a,l,Gp),e[Ge]=t.current,Qu(e),new Vp(t)}},8626(e,t,n){"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},8709(e,t,n){!function(e){var t=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),n=e.Pos,i={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};function r(e){return e&&e.bracketRegex||/[(){}[\]]/}function o(e,t,o){var a=e.getLineHandle(t.line),l=t.ch-1,c=o&&o.afterCursor;null==c&&(c=/(^| )cm-fat-cursor($| )/.test(e.getWrapperElement().className));var u=r(o),d=!c&&l>=0&&u.test(a.text.charAt(l))&&i[a.text.charAt(l)]||u.test(a.text.charAt(l+1))&&i[a.text.charAt(++l)];if(!d)return null;var p=">"==d.charAt(1)?1:-1;if(o&&o.strict&&p>0!=(l==t.ch))return null;var h=e.getTokenTypeAt(n(t.line,l+1)),f=s(e,n(t.line,l+(p>0?1:0)),p,h,o);return null==f?null:{from:n(t.line,l),to:f&&f.pos,match:f&&f.ch==d.charAt(0),forward:p>0}}function s(e,t,o,s,a){for(var l=a&&a.maxScanLineLength||1e4,c=a&&a.maxScanLines||1e3,u=[],d=r(a),p=o>0?Math.min(t.line+c,e.lastLine()+1):Math.max(e.firstLine()-1,t.line-c),h=t.line;h!=p;h+=o){var f=e.getLine(h);if(f){var _=o>0?0:f.length-1,g=o>0?f.length:-1;if(!(f.length>l))for(h==t.line&&(_=t.ch-(o<0?1:0));_!=g;_+=o){var m=f.charAt(_);if(d.test(m)&&(void 0===s||(e.getTokenTypeAt(n(h,_+1))||"")==(s||""))){var y=i[m];if(y&&">"==y.charAt(1)==o>0)u.push(m);else{if(!u.length)return{pos:n(h,_),ch:m};u.pop()}}}}}return h-o!=(o>0?e.lastLine():e.firstLine())&&null}function a(e,i,r){for(var s=e.state.matchBrackets.maxHighlightLineLength||1e3,a=r&&r.highlightNonMatching,l=[],c=e.listSelections(),u=0;u<c.length;u++){var d=c[u].empty()&&o(e,c[u].head,r);if(d&&(d.match||!1!==a)&&e.getLine(d.from.line).length<=s){var p=d.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";l.push(e.markText(d.from,n(d.from.line,d.from.ch+1),{className:p})),d.to&&e.getLine(d.to.line).length<=s&&l.push(e.markText(d.to,n(d.to.line,d.to.ch+1),{className:p}))}}if(l.length){t&&e.state.focused&&e.focus();var h=function(){e.operation(function(){for(var e=0;e<l.length;e++)l[e].clear()})};if(!i)return h;setTimeout(h,800)}}function l(e){e.operation(function(){e.state.matchBrackets.currentlyHighlighted&&(e.state.matchBrackets.currentlyHighlighted(),e.state.matchBrackets.currentlyHighlighted=null),e.state.matchBrackets.currentlyHighlighted=a(e,!1,e.state.matchBrackets)})}function c(e){e.state.matchBrackets&&e.state.matchBrackets.currentlyHighlighted&&(e.state.matchBrackets.currentlyHighlighted(),e.state.matchBrackets.currentlyHighlighted=null)}e.defineOption("matchBrackets",!1,function(t,n,i){i&&i!=e.Init&&(t.off("cursorActivity",l),t.off("focus",l),t.off("blur",c),c(t)),n&&(t.state.matchBrackets="object"==typeof n?n:{},t.on("cursorActivity",l),t.on("focus",l),t.on("blur",c))}),e.defineExtension("matchBrackets",function(){a(this,!0)}),e.defineExtension("findMatchingBracket",function(e,t,n){return(n||"boolean"==typeof t)&&(n?(n.strict=t,t=n):t=t?{strict:!0}:null),o(this,e,t)}),e.defineExtension("scanForBracket",function(e,t,n,i){return s(this,e,t,n,i)})}(n(1719))},8766(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".src-layers-ContextMenu-module__contextMenu {\n background-color: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n padding: 0.5em 0;\n border-radius: 3px 3px 3px 3px;\n}\n",""]),s.locals={contextMenu:"src-layers-ContextMenu-module__contextMenu"};const a=s},8990(e){"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},9663(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,".cm-s-default .cm-string {\n color: #067d17;\n}\n\n.cm-s-default .cm-property {\n color: #871094;\n}\n\n.cm-s-default .cm-number {\n color: #1750eb;\n}\n\n.cm-s-default .cm-atom {\n color: #0033b3;\n}\n",""]);const a=s},9678(e,t,n){"use strict";e.exports=n.p+"eae34fa8f1e0c4c6d797.ttf"},9799(e,t,n){"use strict";n.d(t,{A:()=>a});var i=n(2379),r=n.n(i),o=n(1364),s=n.n(o)()(r());s.push([e.id,"/* todo: this was just copy-pasted from https://openlayers.org/en/latest/examples/popup.html.\n the popup looks ugly still, but at the very minimum the background color needs to be set to make it visible.\n the popup design needs an overhaul anyway... https://github.com/graphhopper/graphhopper-maps/issues/136\n */\n.src-layers-DefaultMapPopup-module__popup {\n position: absolute;\n bottom: 12px;\n left: -50px;\n background-color: white;\n box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);\n padding: 0 15px 0 15px;\n border-radius: 10px;\n border: 1px solid #cccccc;\n font-size: small;\n width: 110px;\n}\n.src-layers-DefaultMapPopup-module__popup:after,\n.src-layers-DefaultMapPopup-module__popup:before {\n top: 100%;\n border: solid transparent;\n content: ' ';\n height: 0;\n width: 0;\n position: absolute;\n pointer-events: none;\n}\n.src-layers-DefaultMapPopup-module__popup:after {\n border-top-color: white;\n border-width: 10px;\n left: 48px;\n margin-left: -10px;\n}\n.src-layers-DefaultMapPopup-module__popup:before {\n border-top-color: #cccccc;\n border-width: 11px;\n left: 48px;\n margin-left: -11px;\n}\n",""]),s.locals={popup:"src-layers-DefaultMapPopup-module__popup"};const a=s},9827(e){"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},9845(e,t){"use strict";t.Y=function(e,t){return function(e){return e.split(",").map(function(e){var t=(e=e.trim()).match(n),o=t[1],s=t[2],a=t[3]||"",l={};return l.inverse=!!o&&"not"===o.toLowerCase(),l.type=s?s.toLowerCase():"all",a=a.match(/\([^\)]+\)/g)||[],l.expressions=a.map(function(e){var t=e.match(i),n=t[1].toLowerCase().match(r);return{modifier:n[1],feature:n[2],value:t[2]}}),l})}(e).some(function(e){var n=e.inverse,i="all"===e.type||t.type===e.type;if(i&&n||!i&&!n)return!1;var r=e.expressions.every(function(e){var n=e.feature,i=e.modifier,r=e.value,o=t[n];if(!o)return!1;switch(n){case"orientation":case"scan":return o.toLowerCase()===r.toLowerCase();case"width":case"height":case"device-width":case"device-height":r=c(r),o=c(o);break;case"resolution":r=l(r),o=l(o);break;case"aspect-ratio":case"device-aspect-ratio":case"device-pixel-ratio":r=a(r),o=a(o);break;case"grid":case"color":case"color-index":case"monochrome":r=parseInt(r,10)||1,o=parseInt(o,10)||0}switch(i){case"min":return o>=r;case"max":return o<=r;default:return o===r}});return r&&!n||!r&&n})};var n=/(?:(only|not)?\s*([^\s\(\)]+)(?:\s*and)?\s*)?(.+)?/i,i=/\(\s*([^\s\:\)]+)\s*(?:\:\s*([^\s\)]+))?\s*\)/,r=/^(?:(min|max)-)?(.+)/,o=/(em|rem|px|cm|mm|in|pt|pc)?$/,s=/(dpi|dpcm|dppx)?$/;function a(e){var t,n=Number(e);return n||(n=(t=e.match(/^(\d+)\s*\/\s*(\d+)$/))[1]/t[2]),n}function l(e){var t=parseFloat(e);switch(String(e).match(s)[1]){case"dpcm":return t/2.54;case"dppx":return 96*t;default:return t}}function c(e){var t=parseFloat(e);switch(String(e).match(o)[1]){case"em":case"rem":return 16*t;case"cm":return 96*t/2.54;case"mm":return 96*t/2.54/10;case"in":return 96*t;case"pt":return 72*t;case"pc":return 72*t/12;default:return t}}}},t={};function n(i){var r=t[i];if(void 0!==r)return r.exports;var o=t[i]={id:i,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.exports}n.m=e,n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var i in t)n.o(t,i)&&!n.o(e,i)&&Object.defineProperty(e,i,{enumerable:!0,get:t[i]})},n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var t=n.g.document;if(!e&&t&&(t.currentScript&&"SCRIPT"===t.currentScript.tagName.toUpperCase()&&(e=t.currentScript.src),!e)){var i=t.getElementsByTagName("script");if(i.length)for(var r=i.length-1;r>-1&&(!e||!/^http(s?):/.test(e));)e=i[r--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),n.b="undefined"!=typeof document&&document.baseURI||self.location.href,n.nc=void 0,(()=>{"use strict";var e=n(4922),t=n(4140);const i=JSON.parse('{"en_US":{"total_ascend":"%1$s total ascent","total_descend":"%1$s total descent","way_contains_ford":"Route includes fords","way_contains_ferry":"Route includes ferries","way_contains_toll":"Route has tolls","way_crosses_border":"Route crosses a country border","way_contains":"Route includes %1$s","way_contains_restrictions":"Route with potential access restrictions","tracks":"unpaved dirt roads","steps":"steps","footways":"footways","steep_sections":"steep sections","private_sections":"private sections","restricted_sections":"restricted sections","challenging_sections":"Route includes difficult or even dangerous sections. You need mountaineering experience and equipment","dangerous_sections":"Route includes technically challenging and dangerous sections that requires extreme caution. You need mountaineering experience and equipment (rope, ice axe, ...)","trunk_roads_warn":"Route includes potentially dangerous trunk roads or worse","get_off_bike_for":"Get off the bike and push for %1$s","start_label":"Start","intermediate_label":"Intermediate","end_label":"End","set_start":"From here","set_intermediate":"Via location","set_end":"To here","center_map":"Center map","show_coords":"Show coordinates","query_osm":"Query OSM","route":"Route","add_to_route":"Add location","delete_from_route":"Delete from Route","open_custom_model_box":"Open custom model box","draw_areas_enabled":"Draw and modify areas on map","help_custom_model":"Help","apply_custom_model":"Apply","custom_model_enabled":"Custom Model Active","settings":"Settings","settings_close":"Close","exclude_motorway_example":"Exclude Motorway","exclude_disneyland_paris_example":"Exclude Disneyland Paris","simple_electric_car_example":"Simple Electric Car","avoid_tunnels_bridges_example":"Avoid Bridges & Tunnels","limit_speed_example":"Limit Speed","cargo_bike_example":"Cargo Bike","prefer_bike_network":"Prefer Cycle Routes","exclude_area_example":"Exclude Area","combined_example":"Combined Example","examples_custom_model":"Examples","marker":"Marker","gh_offline_info":"GraphHopper API offline?","refresh_button":"Refresh page","server_status":"Status","zoom_in":"Zoom in","zoom_out":"Zoom out","zoom_to_route":"Zoom to route","drag_to_reorder":"Drag to reorder","route_timed_out":"Route calculation timed out","route_request_failed":"Route request failed","current_location":"Current Location","searching_location":"Searching location","searching_location_failed":"Searching location failed","via_hint":"Via","from_hint":"From","gpx_export_button":"GPX Export","gpx_button":"GPX","settings_gpx_export":"GPX export","settings_gpx_export_trk":"With track","settings_gpx_export_rte":"With route","settings_gpx_export_wpt":"With waypoint","hide_button":"Hide","details_button":"Details","to_hint":"To","route_info":"%1$s will take %2$s","search_button":"Search","more_button":"more","pt_route_info":"arrives at %1$s with %2$s transfers (%3$s)","pt_route_info_walking":"arrives at %1$s with just walking (%2$s)","locations_not_found":"Routing not possible. Location(s) not found in the area.","search_with_nominatim":"Search with Nominatim","powered_by":"Powered by","info":"Info","feedback":"Feedback","imprint":"Imprint","privacy":"Privacy","terms":"Terms","bike":"Bike","racingbike":"Road Bike","mtb":"MTB","car":"Car","foot":"Walking","hike":"Hiking","small_truck":"Small Truck","bus":"Bus","truck":"Truck","staticlink":"static link","motorcycle":"Motorcycle","scooter":"Scooter","car_settings":"Route options (Car)","car_settings_car":"Standard","car_settings_car_avoid_ferry":"Avoid Ferries","car_settings_car_avoid_motorway":"Avoid Motorways","car_settings_car_avoid_toll":"Avoid Tolls and Ferries","truck_settings":"Route options (Truck)","truck_settings_truck":"Big Truck","truck_settings_small_truck":"Delivery Van","foot_settings":"Route options (Walking)","foot_settings_foot":"Standard","foot_settings_hike":"Hiking","racingbike_settings":"Route options (Road Bike)","racingbike_settings_racingbike":"Standard","racingbike_settings_ecargobike":"E-Cargo Bike","back_to_map":"Back","distance_unit":"Distances are in %1$s","waiting_for_gps":"Waiting for the GPS signal...","elevation":"Elevation","slope":"Slope","towerslope":"Towerslope","country":"Country","surface":"Surface","road_environment":"Road environment","road_access":"Road access","road_class":"Road class","max_speed":"Max. speed","average_speed":"Avg. speed","track_type":"Track type","toll":"Toll","next":"Next","back":"Back","as_start":"As start","as_destination":"As destination","poi_removal_words":"area, around, here, in, local, nearby, this","poi_nearby":"%1$s nearby","poi_in":"%1$s in %2$s","poi_airports":"airports, airport","poi_atm":"atm, money","poi_banks":"banks, bank","poi_bureau_de_change":"bureau de change, money changer, money change, currency exchange","poi_bus_stops":"bus stops, bus stop, bus","poi_bicycle":"bicycle shop, bike repair, bike shop","poi_bicycle_rental":"bicycle rental, bike rental","poi_cafe":"café, cafe, cafe shop, coffeehouse, bistro","poi_car_rental":"car rental, car sharing, car share, rental car, vehicle hire","poi_car_repair":"car repair, auto repair, car service, vehicle maintenance","poi_charging_station":"charging stations, charging station, charging, charger","poi_cinema":"cinema, movie theater, theater, picture house, motion pictures","poi_cuisine_american":"american food, american","poi_cuisine_african":"african food, african","poi_cuisine_arab":"arab food, arab","poi_cuisine_asian":"asian food, asian","poi_cuisine_chinese":"chinese food, chinese","poi_cuisine_greek":"greek food, greek","poi_cuisine_indian":"indian food, indian","poi_cuisine_italian":"italian food, italian","poi_cuisine_japanese":"japanese food, japanese","poi_cuisine_mexican":"mexican food, mexican","poi_cuisine_polish":"polish food, polish","poi_cuisine_russian":"russian food, russian","poi_cuisine_turkish":"turkish food, turkish","poi_diy":"hardware stores, hardware store, hardware shop, home improvement, home improvement store, home improvement shop, do it yourself, DYI, DYI store, DYI shop, Lumberyard, ","poi_dentist":"dentist, dental surgeon","poi_doctor":"doctors, doctor, physician","poi_education":"education","poi_fast_food":"fast food, take away","poi_food_burger":"eat burger, burger, eat hamburger, hamburger","poi_food_kebab":"eat kebab, kebab","poi_food_pizza":"eat pizza, pizza","poi_food_sandwich":"eat sandwich, sandwich, toast, eat toast","poi_food_sushi":"eat sushi, sushi","poi_food_chicken":"eat chicken, chicken","poi_gas_station":"gas stations, gas station, petrol stations, petrol station","poi_hospitals":"hospitals, hospital","poi_hotels":"hotels, hotel","poi_leisure":"leisure","poi_museums":"museums, museum","poi_parking":"parking, parking place","poi_parks":"parks, park","poi_pharmacies":"pharmacies, pharmacy","poi_playgrounds":"playgrounds, playground","poi_public_transit":"public transit","poi_police":"police","poi_post":"post, postal office, stamps","poi_post_box":"mailbox, post box, letterbox, letter box","poi_railway_station":"railway stations, railway station, trains, train","poi_recycling":"recycling","poi_restaurants":"restaurants, restaurant, eat, go eat","poi_schools":"schools, school","poi_shopping":"shops, shop, shopping","poi_shop_bakery":"bakery, baker","poi_shop_butcher":"butcher shop, butcher\'s shop, butchers shop, meat market, butcher","poi_super_markets":"super markets, super market, supermarket","poi_swim":"swim, bathing","poi_toilets":"toilets, toilet","poi_tourism":"tourism","poi_townhall":"town hall, city hall, municipal, municipal building, council, council building","poi_transit_stops":"stop, station, public transit, public transport","poi_viewpoint":"viewpoint, view, lookout, vantage point, outlook","poi_water":"water","poi_wifi":"wifi, wlan, internet"},"ar":{"total_ascend":"%1$s اجمالى صعود","total_descend":"%1$s اجمالى نزول","way_contains_ford":"انتبه ، هناك مخاضة على الطريق","way_contains_ferry":"استخدم العبارة","way_contains_toll":"طريق برسم عبور","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"البداية","intermediate_label":"نقطة عبور","end_label":"النهاية","set_start":"ادخل نقطة بدء","set_intermediate":"ادخل نقطة عبور","set_end":"ادخل نقطة وصول","center_map":"اجعل وسط الخريطة هنا","show_coords":"اظهر الاحداثيات","query_osm":"","route":"المسار","add_to_route":"","delete_from_route":"احذف من المسار","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"رمز او علامة","gh_offline_info":"واجهة برمجة التطبيقات (API) بلا اتصال؟","refresh_button":"اعادة تنشيط","server_status":"الحالة","zoom_in":"تكبير","zoom_out":"تصغير","zoom_to_route":"","drag_to_reorder":"اسحب لاعادة الترتيب","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"خلال","from_hint":"من","gpx_export_button":"GPX التصدير","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"إلي","route_info":"%1$s ستاخذ %2$s","search_button":"ابحث","more_button":"المزيد","pt_route_info":"وصول سعت %1$s مع %2$s انتقال (%3$s)","pt_route_info_walking":"الوصول عند %1$s مشياً (%2$s)","locations_not_found":"لا يوجد طريق من هذه المنطقة","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"دراجة","racingbike":"دراجة سباق","mtb":"دراجة جبلية","car":"سيارة","foot":"مشياً","hike":"نزهة","small_truck":"شاحنة صغيرة","bus":"باص","truck":"شاحنة","staticlink":"رابط ثابت","motorcycle":"دراجة نارية","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ast":{"total_ascend":"%1$s d\'ascensu total","total_descend":"%1$s de descensu total","way_contains_ford":"hai un vau nel camín","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Principiu","intermediate_label":"Intermediu","end_label":"Final","set_start":"Poner como principiu","set_intermediate":"Poner como intermediu","set_end":"Poner como final","center_map":"Centrar el mapa equí","show_coords":"Ver coordenaes","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Quitar de la ruta","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marcador","gh_offline_info":"¿Cayó la API de GraphHopper?","refresh_button":"Refrescar la páxina","server_status":"Estáu","zoom_in":"Averar","zoom_out":"Alloñar","zoom_to_route":"","drag_to_reorder":"Abasnar pa cambiar l\'orde","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Pasando per","from_hint":"Dende","gpx_export_button":"Esportar GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"","route_info":"%1$s tardaràs %2$s","search_button":"Buscar","more_button":"más","pt_route_info":"llegada a les %1$s con %2$s tresbordos (%3$s)","pt_route_info_walking":"llegada a les %1$s sólo caminando (%2$s)","locations_not_found":"Nun se puede trazar una ruta. Dalgún llugar nun s\'alcuentra nel área","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bici de carreres","mtb":"Bici de montaña","car":"Coche","foot":"A pie","hike":"Senderismu","small_truck":"Camioneta","bus":"Autobús","truck":"Camión","staticlink":"enllaz estáticu","motorcycle":"Motocicleta","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"az":{"total_ascend":"%1$s yüksəliş","total_descend":"%1$s eniş","way_contains_ford":"Yolda keçid var","way_contains_ferry":"Bərəyə minin","way_contains_toll":"ödənişli yol","way_crosses_border":"Marşrut dövlət sərhədini keçir","way_contains":"Маrşrut %1$s ehtiva edir","way_contains_restrictions":"Giriş məhdudiyyətləri ola bilən marşrut","tracks":"asfaltlanmamış torpaq yollar","steps":"pilləkənlər","footways":"piyada yolları","steep_sections":"dik hissələr","private_sections":"özəl sahələr","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"Marşrut potensial təhlükəli magistral yolları ehtiva edir","get_off_bike_for":"Velosipeddən enib, %1$s hərəkət edin","start_label":"Başlanğıc","intermediate_label":"Ara nöqtə","end_label":"Son","set_start":"Başlanğıcını burada təyin edin","set_intermediate":"Ara nöqtə olaraq təyin edin","set_end":"Bitmə məntəqəsi olaraq təyin edin","center_map":"Xəritənin mərkəzini bura təyin edin","show_coords":"Koordinatları göstər","query_osm":"OSM sorğusu","route":"Marşrut","add_to_route":"Məkan əlavə et","delete_from_route":"Marşrutdan sil","open_custom_model_box":"İstifadəçi modeli pəncərəsini aç","draw_areas_enabled":"Xəritədə sahələri çəkmək və dəyişdirmək","help_custom_model":"Yardım","apply_custom_model":"Tətbiq et","custom_model_enabled":"Fərdi Rejim Aktivləşdirildi","settings":"Tənzimləmələr","settings_close":"Bağla","exclude_motorway_example":"Magistral Yolları İzləməyin","exclude_disneyland_paris_example":"Disneyland Paris-i İzləməyin","simple_electric_car_example":"Elektrik Avtomobili","avoid_tunnels_bridges_example":"Körpülər və Tunellərdən Qaçın","limit_speed_example":"Sürət Limiti","cargo_bike_example":"Yük Velosipedi","prefer_bike_network":"Velosiped Marşrutlarını Üstün Tutun","exclude_area_example":"Ərazini İstisna Et","combined_example":"Birləşdirilmiş Nümunə","examples_custom_model":"Nümunələr","marker":"İşarələyici","gh_offline_info":"GraphHopper APİ ilə bağlantı qurulmadı?","refresh_button":"Səhifəni yeniləyin","server_status":"Server statusu","zoom_in":"Yaxınlaşdır","zoom_out":"Uzaqlaşdır","zoom_to_route":"Bütün marşrutu göstər","drag_to_reorder":"Yol nöqtəsini köçürün","route_timed_out":"Marşrutun hesablanma vaxtı keçdi","route_request_failed":"Marşrut qurulması baş tutmadı","current_location":"Hazırki yer","searching_location":"Məkan axtarışı","searching_location_failed":"Məkan axtarış baş tutmadı","via_hint":"vasitəsilə","from_hint":"-dan","gpx_export_button":"GPX ixrac","gpx_button":"GPX","settings_gpx_export":"GPX ixrac","settings_gpx_export_trk":"Track ilə","settings_gpx_export_rte":"Marşrut ilə","settings_gpx_export_wpt":"Yol nöqtəsi ilə","hide_button":"Gizlət","details_button":"Ətraflı","to_hint":"-dək","route_info":"məsafə - %1$s vaxt - %2$s","search_button":"Axtarış","more_button":"daha","pt_route_info":"Təxmini çatma vaxtı %1$s transfer - %2$s (%3$s)","pt_route_info_walking":"Piyada olaraq təxmini çatma vaxtı %1$s ( %2$s)","locations_not_found":"Marşrut qurulmağı mümkün deyil. Yer müəyyən edilməyib.","search_with_nominatim":"Nominatim ilə axtarış","powered_by":"Təmin edən","info":"Məlumat","feedback":"Rəy","imprint":"İz","privacy":"Gizlilik","terms":"Şərtlər","bike":"Velosiped","racingbike":"Yarış velosipedi","mtb":"Dağ velosipedi","car":"Avtomobil","foot":"Piyada","hike":"Gəzinti","small_truck":"yüngül yük maşını","bus":"Avtobus","truck":"Yük maşını","staticlink":"Daimi keçid","motorcycle":"Motosiklet","scooter":"Skuter","car_settings":"Marşrut seçimləri (Avtomobil)","car_settings_car":"Standart","car_settings_car_avoid_ferry":"Bərələrdən qaç","car_settings_car_avoid_motorway":"Magistrallardan qaç","car_settings_car_avoid_toll":"Ödənişli yollar və bərələrdən qaç","truck_settings":"Marşrut seçimləri (Yük maşını)","truck_settings_truck":"Böyük yük maşını","truck_settings_small_truck":"Çatdırılma furgonu","foot_settings":"Marşrut seçimləri (Piyada)","foot_settings_foot":"Standart","foot_settings_hike":"Gəzinti","racingbike_settings":"Marşrut seçimləri (Yol velosipedi)","racingbike_settings_racingbike":"Standart","racingbike_settings_ecargobike":"E-Yük Velosipedi","back_to_map":"Geri","distance_unit":"Məsafələr %1$s ilə göstərilir","waiting_for_gps":"GPS siqnalı gözlənilir...","elevation":"Hündürlük","slope":"Maillik","towerslope":"Qüllə maililiyi","country":"Ölkə","surface":"Səth","road_environment":"Yol mühiti","road_access":"Yola giriş","road_class":"Yol kateqoriyası","max_speed":"Maks. sürət","average_speed":"Orta sürət","track_type":"Yol növü","toll":"Ödənişli","next":"Növbəti","back":"Geri","as_start":"Başlanğıc nöqtəsi kimi","as_destination":"Təyinat nöqtəsi kimi","poi_removal_words":"ərazi, ətraf, burada, içində, yerli, yaxınlıqda, bu","poi_nearby":"%1$s yaxınlıqda","poi_in":"%2$s vasitəsilə %1$s","poi_airports":"hava limanları, hava limanı","poi_atm":"bankomat, pul","poi_banks":"banklar, bank","poi_bureau_de_change":"valyuta mübadiləsi, pul dəyişmə, mübadilə məntəqəsi, mübadilə məntəqəsi","poi_bus_stops":"avtobus dayanacaqları, avtobus dayanacağı, avtobus","poi_bicycle":"velosiped mağazası, velosiped təmiri, velosiped dükanı","poi_bicycle_rental":"velosiped icarəsi, velosiped icarəsi","poi_cafe":"kafe, kafe, kafe, qəhvəxana, bistro","poi_car_rental":"avtomobil icarəsi, karşerinq, karşerinq, icarəyə götürülmüş maşınlar, nəqliyyat icarəsi","poi_car_repair":"avtomobil təmiri, avtomobil təmiri, avtomobil təmiri, avtomobil təmiri","poi_charging_station":"şarj stansiyaları, enerji doldurma məntəqələri, şarj cihazları, şarj cihazları","poi_cinema":"kinoteatr, kinoteatr, teatr, kinoteatr, kino film","poi_cuisine_american":"amerikan mətbəxi, amerikan","poi_cuisine_african":"afrika mətbəxi, afrikalı","poi_cuisine_arab":"ərəb mətbəxi, ərəb","poi_cuisine_asian":"asiyalı mətbəxi, asiyalı","poi_cuisine_chinese":"çin mətbəxi, çin","poi_cuisine_greek":"yunan mətbəxi, yunan","poi_cuisine_indian":"hind mətbəxi, hind","poi_cuisine_italian":"italyan mətbəxi, italyan","poi_cuisine_japanese":"yapon mətbəxi, yapon","poi_cuisine_mexican":"meksika mətbəxi, meksikalı","poi_cuisine_polish":"polyak mətbəxi, polyak","poi_cuisine_russian":"rus mətbəxi, rus","poi_cuisine_turkish":"türk mətbəxi, türk","poi_diy":"ev təmiri mağazaları, ev təmiri mağazası, ev təmiri mağazası, ev əşyaları, ev əşyaları mağazası, ev əşyaları mağazası, əl işləri, əl işləri, əl işləri mağazası, əl işləri mağazası, taxta materialları","poi_dentist":"diş həkimi, diş cərrahı","poi_doctor":"həkimlər, həkim, həkim-mütəxəssis","poi_education":"təhsil","poi_fast_food":"fast food, evə aparılacaq yemək","poi_food_burger":"burger yemək, burger, gamburger yemək, gamburger","poi_food_kebab":"kabab yemək, kabab","poi_food_pizza":"pizza yemək, pizza","poi_food_sandwich":"sendviç yemək, sendviç, tost, tost yemək","poi_food_sushi":"sushi yemək, sushi","poi_food_chicken":"toyuq yemək, toyuq","poi_gas_station":"yanacaq stansiyaları, yanacaq stansiyası, yanacaq stansiyaları, yanacaq stansiyası","poi_hospitals":"xəstəxanalar, xəstəxana","poi_hotels":"otellər, otel","poi_leisure":"əyləncə","poi_museums":"muzeylər, muzey","poi_parking":"parking, park yeri","poi_parks":"parklar, park","poi_pharmacies":"apteklər, aptek","poi_playgrounds":"uşaq meydançalari, uşaq meydançası","poi_public_transit":"ictimai nəqliyyat","poi_police":"polis","poi_post":"poçt, poçt ofisi, markalar","poi_post_box":"poçt qutusu, poçt qutusu, məktub qutusu, məktub qutusu","poi_railway_station":"dəmiryolu stansiyaları, dəmiryolu stansiyası, qatarlar, qatar","poi_recycling":"təkrar emal","poi_restaurants":"restoranlar, restoran, yemək, yeməyə getmək","poi_schools":"məktəblər, məktəb","poi_shopping":"mağazalar, dükan, alış-veriş","poi_shop_bakery":"çörəkxana, çörəkçi","poi_shop_butcher":"ət dükanı, ət dükanı, ət mağazası, ət bazarı, ətçi","poi_super_markets":"supermarketlər, supermarket, supermarket","poi_swim":"üzmək, çimərlik","poi_toilets":"tualetlər, tualet","poi_tourism":"turizm","poi_townhall":"şəhər iclası, şəhər meriyası, bələdiyyə, bələdiyyə binası, şura, şura binası","poi_transit_stops":"dayanacaq, stansiya, ictimai nəqliyyat, ictimai nəqliyyat","poi_viewpoint":"baxış nöqtəsi, mənzərə, baxış, baxış nöqtəsi, görünüş","poi_water":"su","poi_wifi":"Wi-Fi, WLAN, internet"},"bg":{"total_ascend":"%1$s общо изкачване","total_descend":"%1$s общо слизане","way_contains_ford":"Внимание, на пътя има брод","way_contains_ferry":"вземете ферибота","way_contains_toll":"път с такса","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Начална точка","intermediate_label":"Междинна точка","end_label":"Крайна точка","set_start":"Избиране като начална точка","set_intermediate":"Избиране като междинна точка","set_end":"Избиране като крайна точка","center_map":"Центриране на картата тук","show_coords":"Показване на координатите","query_osm":"","route":"Маршрут","add_to_route":"","delete_from_route":"Премахване от маршрута","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Значка","gh_offline_info":"ППИ на GraphHopper е без мрежа?","refresh_button":"Презареждане на страницата","server_status":"Състояние","zoom_in":"Увеличаване","zoom_out":"Намаляване","zoom_to_route":"","drag_to_reorder":"Влачете за преподреждане","route_timed_out":"Времето за изчисляване на маршрут изтече","route_request_failed":"Заявката за маршрут е неуспешна","current_location":"Текущо местоположение","searching_location":"","searching_location_failed":"","via_hint":"През","from_hint":"От","gpx_export_button":"Изнасяне като GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"До","route_info":"%1$s ще отнемат %2$s","search_button":"Търсене","more_button":"повече","pt_route_info":"пристига в %1$s с %2$s прекачвания (%3$s)","pt_route_info_walking":"пристига в %1$s само с ходене (%2$s)","locations_not_found":"Не са изтеглени упътвания. Търсеното местоположение не е открито.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Велосипед","racingbike":"Състезателно колело","mtb":"Планинско колело","car":"Автомобил","foot":"Пеша","hike":"Планински преход","small_truck":"Малък камион","bus":"Автобус","truck":"Камион","staticlink":"Постоянна препратка","motorcycle":"Мотоциклет","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"bn_BN":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"রুটে টোল আছে","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"সাহায্য","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"উদাহরণ","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"","from_hint":"","gpx_export_button":"","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"","route_info":"","search_button":"অনুসন্ধান করুন","more_button":"আরও","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"","racingbike":"","mtb":"","car":"","foot":"","hike":"","small_truck":"","bus":"","truck":"","staticlink":"","motorcycle":"","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ca":{"total_ascend":"%1$s de pujada total","total_descend":"%1$s de baixada total","way_contains_ford":"hi ha un gual en el camí","way_contains_ferry":"Agafa el ferri","way_contains_toll":"via de peatge","way_crosses_border":"La ruta creua la frontera d\'un país","way_contains":"La ruta inclou %1$s","way_contains_restrictions":"Hi poden haver restriccions d\'accés a la ruta","tracks":"camí de terra","steps":"escales","footways":"vorera","steep_sections":"tram escarpat","private_sections":"tram privat","restricted_sections":"","challenging_sections":"La ruta inclou tram difícil o perillós","dangerous_sections":"","trunk_roads_warn":"La ruta inclou carreteres potencialment perilloses","get_off_bike_for":"Baixeu de la bicicleta i premeu %1$s","start_label":"Punt d\'inici","intermediate_label":"Punt intermig","end_label":"Punt final","set_start":"Defineix com a punt d\'inici","set_intermediate":"Defineix com a punt intermig","set_end":"Defineix com a punt final","center_map":"Centra el mapa","show_coords":"Mostra les coordenades","query_osm":"Consulta OSM","route":"Ruta","add_to_route":"Afegeix la ubicació","delete_from_route":"Suprimeix el punt de la ruta","open_custom_model_box":"Obre model personalitzat","draw_areas_enabled":"Dibuixa i modifica àrees al mapa","help_custom_model":"Ajuda","apply_custom_model":"Aplica","custom_model_enabled":"Model personalitzat actiu","settings":"Configuració","settings_close":"Tanca","exclude_motorway_example":"Exclou autopistes","exclude_disneyland_paris_example":"Exclou Disneyland Paris","simple_electric_car_example":"Cotxe elèctric senzill","avoid_tunnels_bridges_example":"Evita ponts i túnels","limit_speed_example":"Límit de velocitat","cargo_bike_example":"Bicicleta de càrrega","prefer_bike_network":"Prefereix les rutes en bicicleta","exclude_area_example":"Àrea exclosa","combined_example":"Exemple combinat","examples_custom_model":"Exemples","marker":"Marcador","gh_offline_info":"L\'API GraphHopper no té connexió ?","refresh_button":"Actualitza la pàgina","server_status":"Estat","zoom_in":"Apropa","zoom_out":"Allunya","zoom_to_route":"Mostra tota la ruta","drag_to_reorder":"Arrossega per canviar l\'ordre","route_timed_out":"S\'ha esgotat el temps de càlcul de la ruta","route_request_failed":"Ha fallat la resolució de la ruta.","current_location":"Ubicació actual","searching_location":"Cerca d\'ubicació","searching_location_failed":"La cerca d\'ubicació ha fallat","via_hint":"Passant per","from_hint":"Des de","gpx_export_button":"Exporta a GPX","gpx_button":"GPX","settings_gpx_export":"Exportació GPX","settings_gpx_export_trk":"Amb pista","settings_gpx_export_rte":"Amb ruta","settings_gpx_export_wpt":"Amb waypoints","hide_button":"Amaga","details_button":"Detall","to_hint":"Cap a","route_info":"%1$s trigaràs %2$s","search_button":"Cerca","more_button":"més","pt_route_info":"arriba a les %1$s amb %2$s transbordaments (%3$s)","pt_route_info_walking":"arriba caminant a les %1$s (%2$s)","locations_not_found":"No hi ha cap ruta. El destí no es troba dins l\'àrea.","search_with_nominatim":"Busca amb Nominatim","powered_by":"Powered by","info":"Info","feedback":"Feedback","imprint":"Emprenta","privacy":"Protecció de dades","terms":"Termes","bike":"Bicicleta","racingbike":"Bicicleta de curses","mtb":"Bicicleta de muntanya","car":"Cotxe","foot":"A peu","hike":"Senderisme","small_truck":"Camioneta","bus":"Autobús","truck":"Camió","staticlink":"Enllaç","motorcycle":"Motocicleta","scooter":"Scooter","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Enrera","distance_unit":"Distancies són en %1$s","waiting_for_gps":"Esperant senyal GPS ...","elevation":"Elevació","slope":"","towerslope":"","country":"País","surface":"Superfície","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"Peatge","next":"Següent","back":"Enrera","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"Caixer","poi_banks":"Banc","poi_bureau_de_change":"","poi_bus_stops":"Parada d\'autobús","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"WC","poi_tourism":"turisme","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"font d\'aigua","poi_wifi":"wlan, wifi, internet"},"cs_CZ":{"total_ascend":"celkové stoupání %1$s","total_descend":"celkové klesání %1$s","way_contains_ford":"Trasa obsahuje brody","way_contains_ferry":"Trasa obsahuje přívozy","way_contains_toll":"Trasa obsahuje zpoplatněné úseky","way_crosses_border":"Trasa obsahuje překročení hranic","way_contains":"Trasa obsahuje %1$s","way_contains_restrictions":"","tracks":"nezpevněné cesty","steps":"schody","footways":"stezky pro pěší","steep_sections":"příkré úseky","private_sections":"soukromé úseky","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"Je třeba sesednout z kola a %1$s jej tlačit","start_label":"Start","intermediate_label":"Zastávka","end_label":"Cíl","set_start":"Nastavit jako start","set_intermediate":"Nastavit jako zastávku","set_end":"Nastavit jako cíl","center_map":"Vycentrovat mapu sem","show_coords":"Zobrazit souřadnice","query_osm":"Dotaz do OSM","route":"Trasa","add_to_route":"Přidat místo","delete_from_route":"Odstranit z trasy","open_custom_model_box":"Otevřít rámeček s vlastním modelem","draw_areas_enabled":"Kreslit a měnit oblasti na mapě","help_custom_model":"Nápověda","apply_custom_model":"Použít","custom_model_enabled":"Vlastní model aktivní","settings":"Nastavení","settings_close":"Zavřít","exclude_motorway_example":"Vynechat dálnice","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Rychlostní omezení","cargo_bike_example":"Nákladní kolo","prefer_bike_network":"","exclude_area_example":"Vynechat oblast","combined_example":"Kombinovaný příklad","examples_custom_model":"Příklady","marker":"Značka","gh_offline_info":"API GraphHopper je offline?","refresh_button":"Obnovit stránku","server_status":"Stav","zoom_in":"Přiblížit","zoom_out":"Oddálit","zoom_to_route":"","drag_to_reorder":"Přetažením změníte pořadí","route_timed_out":"Časový limit výpočtu trasy překročen","route_request_failed":"Trasa nemohla být vypočítána","current_location":"Aktuální pozice","searching_location":"Hledá se pozice","searching_location_failed":"Nepodařilo se najít pozici","via_hint":"Přes","from_hint":"Z","gpx_export_button":"Export do GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Skrýt","details_button":"Detaily","to_hint":"Do","route_info":"%1$s bude trvat %2$s","search_button":"Vyhledat","more_button":"více","pt_route_info":"dorazí v %1$s, %2$s přestup(y) (%3$s)","pt_route_info_walking":"dorazí v %1$s pěšky (%2$s)","locations_not_found":"","search_with_nominatim":"Hledat pomocí Nominatim","powered_by":"Běží na","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Kolo","racingbike":"Závodní kolo","mtb":"Horské kolo","car":"Automobil","foot":"Pěšky","hike":"Turistika","small_truck":"Dodávka","bus":"Autobus","truck":"Nákladní automobil","staticlink":"statický odkaz","motorcycle":"Motocykl","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Zpět","distance_unit":"Vzdálenosti jsou uváděny v %1$s","waiting_for_gps":"Čekání na signál GPS…","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"da_DK":{"total_ascend":"%1$s samlet stigning","total_descend":"%1$s samlet fald","way_contains_ford":"der er et vadested undervejs","way_contains_ferry":"Rute med færger","way_contains_toll":"Rute med betalingsveje","way_crosses_border":"Rute der krydser landegrænser","way_contains":"Rute inkluderer %1$s","way_contains_restrictions":"","tracks":"Grusveje uden asfalt","steps":"Trapper","footways":"Fortove","steep_sections":"Stejle sektioner","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"Føreren skal stige af og cyklen skal skubbes %1$s","start_label":"Start","intermediate_label":"Via","end_label":"Mål","set_start":"Sæt som start","set_intermediate":"Sæt via","set_end":"Sæt som mål","center_map":"Centrer kort her","show_coords":"Vis koordinater","query_osm":"","route":"Rute","add_to_route":"Tilføj placering","delete_from_route":"Fjern fra rute","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"Hjælp","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Eksludér motorvej","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Max hastighed","cargo_bike_example":"Ladcykel","prefer_bike_network":"","exclude_area_example":"Eksludér område","combined_example":"Kombinerede eksempler","examples_custom_model":"Eksempler","marker":"Markør","gh_offline_info":"Er GraphHopper API offline?","refresh_button":"Genindlæs siden","server_status":"Status","zoom_in":"Zoom ind","zoom_out":"Zoom ud","zoom_to_route":"","drag_to_reorder":"Træk for at ændre rækkefølgen","route_timed_out":"Ruteberegning fejlede","route_request_failed":"Ukendt fejl","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Via","from_hint":"Fra","gpx_export_button":"Eksportér GPX-fil","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Gem","details_button":"Detaljer","to_hint":"Til","route_info":"%1$s med køretid %2$s","search_button":"Søg","more_button":"mere","pt_route_info":"ankommer %1$s med %2$s omstigninger (%3$s)","pt_route_info_walking":"ankommer til fods %1$s (%2$s)","locations_not_found":"Kan ikke beregne ruten. Lokation(erne) kan ikke findes i området.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Cykel","racingbike":"Racercykel","mtb":"Mountain bike","car":"Bil","foot":"Gang","hike":"Vandre","small_truck":"Varevogn","bus":"Bus","truck":"Lastbil","staticlink":"statisk link","motorcycle":"Motorcykel","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Tilbage","distance_unit":"Distance er i %1$s","waiting_for_gps":"Venter på GPS signal","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"de_DE":{"total_ascend":"%1$s Gesamtaufstieg","total_descend":"%1$s Gesamtabstieg","way_contains_ford":"Eine Furt muss überquert werden","way_contains_ferry":"Route erfordert Fährennutzung","way_contains_toll":"Route mit mautpflichtigen Straßen","way_crosses_border":"Route überquert Landesgrenzen","way_contains":"Auf der Route sind %1$s","way_contains_restrictions":"Auf der Route gibt es potentielle Zugangsbeschränkungen","tracks":"unbefestigte Feldwege","steps":"Treppen","footways":"Fußwege","steep_sections":"sehr steile Passagen","private_sections":"private Abschnitte","restricted_sections":"zugangsbeschränkte Abschnitte","challenging_sections":"Route enthält herausfordernde oder sogar gefährliche Abschnitte. Erfordert Bergsteigererfahrung und -ausrüstung","dangerous_sections":"Die Route enthält technisch anspruchsvolle und gefährliche Abschnitte, die äußerste Vorsicht verlangen. Erfordert Bergsteigererfahrung und -ausrüstung (Seil, Eispickel, ...)","trunk_roads_warn":"Route beinhaltet potentiell gefährliche Fernstraßen","get_off_bike_for":"Vom Fahrrad absteigen und für %1$s schieben","start_label":"Start","intermediate_label":"Zwischenziel","end_label":"Ziel","set_start":"Von hier","set_intermediate":"Zwischenziel","set_end":"Bis hier","center_map":"Zentriere Karte","show_coords":"Zeige Koordinaten","query_osm":"OSM anfragen","route":"Route","add_to_route":"Ziel hinzufügen","delete_from_route":"Lösche aus Route","open_custom_model_box":"Öffne custom model Kasten","draw_areas_enabled":"Auf der Karte neue Gebiete einzeichnen und verändern","help_custom_model":"Hilfe","apply_custom_model":"Anwenden","custom_model_enabled":"Custom Model aktiv","settings":"Optionen","settings_close":"Schließen","exclude_motorway_example":"Autobahn vermeiden","exclude_disneyland_paris_example":"","simple_electric_car_example":"Elektroauto (vereinfacht)","avoid_tunnels_bridges_example":"Brücken u. Tunnel vermeiden","limit_speed_example":"Max. Geschwindigkeit","cargo_bike_example":"Lastenfahrrad","prefer_bike_network":"Radnetz bevorzugen","exclude_area_example":"Gebiet umfahren","combined_example":"Kombiniertes Bsp","examples_custom_model":"Beispiele","marker":"Marker","gh_offline_info":"Ist die GraphHopper API offline?","refresh_button":"Lade Seite neu","server_status":"Status","zoom_in":"Vergrössern","zoom_out":"Verkleinern","zoom_to_route":"Zeige Gesamtroute","drag_to_reorder":"Zum Ändern der Reihenfolge ziehen","route_timed_out":"Zeitlimit für Routenberechnung überschritten","route_request_failed":"Route konnte nicht berechnet werden","current_location":"Aktueller Standort","searching_location":"Suche Standort","searching_location_failed":"Standortsuche fehlgeschlagen","via_hint":"Über","from_hint":"Von","gpx_export_button":"GPX Export","gpx_button":"GPX","settings_gpx_export":"GPX Export","settings_gpx_export_trk":"Mit Track","settings_gpx_export_rte":"Mit Route","settings_gpx_export_wpt":"Mit Wegpunkten","hide_button":"Weniger","details_button":"Details","to_hint":"Nach","route_info":"%1$s werden %2$s brauchen","search_button":"Suche","more_button":"mehr","pt_route_info":"Ankunft %1$s mit %2$s Umstiegen (%3$s)","pt_route_info_walking":"Ankunft zu Fuß %1$s (%2$s)","locations_not_found":"Routing war nicht möglich. Ort(e) nicht gefunden in diesem Gebiet.","search_with_nominatim":"Suche mit Nominatim","powered_by":"Powered by","info":"Info","feedback":"Feedback","imprint":"Impressum","privacy":"Datenschutz","terms":"AGB","bike":"Fahrrad","racingbike":"Rennrad","mtb":"Mountainbike","car":"Auto","foot":"Zu Fuß","hike":"Wandern","small_truck":"Kleintransporter","bus":"Bus","truck":"LKW","staticlink":"Link","motorcycle":"Motorrad","scooter":"Roller","car_settings":"Routenoptionen (Auto)","car_settings_car":"Standard","car_settings_car_avoid_ferry":"Fähren vermeiden","car_settings_car_avoid_motorway":"Autobahn vermeiden","car_settings_car_avoid_toll":"Maut und Fähren vermeiden","truck_settings":"Routenoptionen (LKW)","truck_settings_truck":"Großer LKW","truck_settings_small_truck":"Lieferwagen","foot_settings":"Routenoptionen (zu Fuß)","foot_settings_foot":"Standard","foot_settings_hike":"Wandern","racingbike_settings":"Routenoptionen (Rennrad)","racingbike_settings_racingbike":"Rennrad","racingbike_settings_ecargobike":"E-Lastenrad","back_to_map":"Zurück","distance_unit":"Distanzen sind in %1$s","waiting_for_gps":"Warten auf das GPS Signal...","elevation":"Höhe","slope":"Gefälle","towerslope":"Towerslope","country":"Land","surface":"Oberfläche","road_environment":"Straßenumgebung","road_access":"Straßenzugang","road_class":"Straßentyp","max_speed":"Max. Geschwindigkeit","average_speed":"Durchsch. Geschwindigkeit","track_type":"Straßenbefestigung","toll":"Maut","next":"Weiter","back":"Zurück","as_start":"Als Start","as_destination":"Als Ziel","poi_removal_words":"der, dem, gebiet, in, karte, lokal, lokale, nähe","poi_nearby":"%1$s in der Nähe","poi_in":"%1$s in %2$s","poi_airports":"Flughäfen, Flughafen","poi_atm":"Geldautomaten, Geldautomat, Geld abheben, Geld, abheben","poi_banks":"Banken, Bank","poi_bureau_de_change":"Wechselstube, Geld wechseln, Geld tauschen","poi_bus_stops":"Bushaltestellen, Bushaltestelle","poi_bicycle":"Radläden, Fahrradladen, Radladen, Fahrradreparatur, Fahrradwerkstatt","poi_bicycle_rental":"fahrradverleih, radverleih, fahrrad verleih, rad verleih","poi_cafe":"café, cafe, Kaffee, Kaffeehaus, bistro","poi_car_rental":"Autoverleih, Auto leihen, Auto mieten, car sharing, car share","poi_car_repair":"Autowerkstatt, Auto Werkstatt, Werkstatt, Autoreparatur, Auto Reparatur","poi_charging_station":"Ladestation, Ladesäulen, Ladesäule, aufladen","poi_cinema":"Kinos, Kino, Film","poi_cuisine_american":"amerikanisch essen, amerikanisch","poi_cuisine_african":"afrikanisch essen, afrikanisch","poi_cuisine_arab":"arabisch essen, arabisch, araber","poi_cuisine_asian":"asiatisch essen, asiatisch, asia, asiate","poi_cuisine_chinese":"chinesisch essen, chinesisch, china","poi_cuisine_greek":"griechisch essen, griechisch, grieche","poi_cuisine_indian":"indisch essen, indisch, indisches Essen, inder","poi_cuisine_italian":"italienisch essen, italienisch, italienisches Essen, italiener","poi_cuisine_japanese":"japanisch essen, japanisch, japanisches Essen, japaner","poi_cuisine_mexican":"mexikanisch essen, mexikanisch, mexikanisches Essen,","poi_cuisine_polish":"polnisch essen, polnisch, polnisches Essen","poi_cuisine_russian":"russisch essen, russisch, russisches Essen","poi_cuisine_turkish":"türkisch essen, türkisch, türkisches Essen","poi_diy":"Baumärkte, Baumarkt, Heimwerkerbedarf, Heimwerker, Heimwerker Bedarf, Baustoffhandel, Baufachhandel, Heimwerkermarkt, Heimwerker Markt","poi_dentist":"Zahnärzte, Zahnarzt, Zahnärztin","poi_doctor":"Ärzte, Arzt, Ärztin, Doktor, Doktorin","poi_education":"Bildung","poi_fast_food":"Imbiss, fast food","poi_food_burger":"burger, hamburger","poi_food_kebab":"kebab, döner","poi_food_pizza":"pizza","poi_food_sandwich":"sandwich, toast","poi_food_sushi":"sushi","poi_food_chicken":"hühnchen, grillhuhn, huhn","poi_gas_station":"Tankstellen, Tankstelle","poi_hospitals":"Krankenhäuser, Krankenhaus","poi_hotels":"Hotels, Hotel","poi_leisure":"Freizeit","poi_museums":"Museen, Museum","poi_parking":"Parkplätze, Parkplatz","poi_parks":"Parks, Park","poi_pharmacies":"Apotheken, Apotheke","poi_playgrounds":"Spielplätze, Spielplatz","poi_public_transit":"ÖPNV, Nahverkehr","poi_police":"Polizei","poi_post":"Post, Postamt, Poststelle, Briefmarke, Briefmarken","poi_post_box":"Briefkästen, Briefkasten","poi_railway_station":"Bahnhöfe, Bahnhof, Züge, Zug","poi_recycling":"Abfallcontainer, recycling, pappe container, Pappcontainer, Pappecontainer, Glascontainer, Glasabfall","poi_restaurants":"Restaurants, Restaurant, Gasthof, Gaststätten, Gaststätte, Essen gehen","poi_schools":"Schulen, Schule","poi_shopping":"Einkaufen, Einkauf, Laden, shoppen. shopping, shop","poi_shop_bakery":"Bäckerei, Bäcker, Backwaren","poi_shop_butcher":"Fleicherei, Fleischer, Fleisch, Fleischwaren, Metzger, Metzgerei","poi_super_markets":"Supermärkte, Supermarkt, Einkauf, Einkaufsladen, Einkauf Laden, Essen","poi_swim":"schwimmen, baden, badesee","poi_toilets":"Toiletten, Toilette, WC","poi_tourism":"Tourismus, Fremdenverkehr, Touristik, Sehenswürdigkeit, Sehenswürdigkeiten","poi_townhall":"Rathaus, Meldeamt, Bürgeramt","poi_transit_stops":"Haltestellen, Haltestelle, ÖPNV, Nahverkehr","poi_viewpoint":"Aussicht, Aussichtsturm, Aussichtsplattform","poi_water":"Wasser, Wasserspender","poi_wifi":"wlan, wifi, internet"},"el":{"total_ascend":"%1$s συνολική ανάβαση","total_descend":"%1$s συνολική κατάβαση","way_contains_ford":"Διαδρομή με περάσματα από ποτάμια","way_contains_ferry":"Διαδρομή με πορθμείο","way_contains_toll":"Διαδρομή με διόδια","way_crosses_border":"Διαδρομή διασχίζει σύνορα χώρας","way_contains":"Διαδρομή περιλαμβάνει %1$s","way_contains_restrictions":"Διαδρομή με πιθανούς περιορισμούς πρόσβασης","tracks":"μη ασφαλτοστρωμένοι χωματόδρομοι","steps":"σκαλοπάτια","footways":"μονοπάτια","steep_sections":"απότομα τμήματα","private_sections":"ιδιωτικά τμήματα","restricted_sections":"περιορισμένα τμήματα","challenging_sections":"Διαδρομή περιλαμβάνει απαιτητικά ή επικίνδυνα τμήματα","dangerous_sections":"","trunk_roads_warn":"διαδρομή περιλαμβάνει πιθανά επικίνδυνους αυτοκινητρόδρομους ή χειρότερα","get_off_bike_for":"Πρέπει να κατεβείτε από το ποδήλατο και να σπρώξετε για %1$s","start_label":"Αφετηρία","intermediate_label":"Ενδιάμεσο σημείο","end_label":"Προορισμός","set_start":"Ορισμός αφετηρίας","set_intermediate":"Ορισμός ενδιάμεσου σημείου","set_end":"Ορισμός προορισμού","center_map":"Κεντράρισμα χάρτη εδώ","show_coords":"Εμφάνιση συντεταγμένων","query_osm":"Ερώτημα OSM","route":"Διαδρομή","add_to_route":"Προσθήκη τοποθεσίας","delete_from_route":"Αφαίρεση από διαδρομή","open_custom_model_box":"Άνοιγμα πλαισίου προσαρμοσμένου μοντέλου","draw_areas_enabled":"Σχεδίαση και τροποποίηση περιοχών στον χάρτη","help_custom_model":"Βοήθεια","apply_custom_model":"Εφαρμογή","custom_model_enabled":"Προσαρμοσμένο Μοντέλο Ενεργό","settings":"Ρυθμίσεις","settings_close":"Κλείσιμο","exclude_motorway_example":"Αποφυγή αυτοκινητόδρομου","exclude_disneyland_paris_example":"Αποφυγή Disneyland Παρισιού","simple_electric_car_example":"Απλό ηλεκτρικό αυτοκίνητο","avoid_tunnels_bridges_example":"Αποφυγή γεφυρών και σηράγγων","limit_speed_example":"Περιορισμός ταχύτητας","cargo_bike_example":"Ποδήλατο μεταφοράς","prefer_bike_network":"Προτίμησε ποδηλατικές διαδρομές","exclude_area_example":"Αποφυγή περιοχής","combined_example":"Συνδυαστικό παράδειγμα","examples_custom_model":"Παραδείγματα","marker":"Σημάδι","gh_offline_info":"GraphHopper API offline;","refresh_button":"Ανανέωση σελίδας","server_status":"Κατάσταση","zoom_in":"Μεγέθυνση","zoom_out":"Σμίκρυνση","zoom_to_route":"Μεγέθυνση στη διαδρομή","drag_to_reorder":"Σύρετε για αναδιάταξη","route_timed_out":"Ο υπολογισμός διαδρομής απέτυχε λόγω εξάντλησης χρόνου","route_request_failed":"Ο υπολογισμός διαδρομής απέτυχε","current_location":"Τωρινή τοποθεσία","searching_location":"Αναζήτηση τοποθεσίας","searching_location_failed":"Η αναζήτηση τοποθεσίας απέτυχε","via_hint":"Μέσω","from_hint":"Αφετηρία","gpx_export_button":"Εξαγωγή GPX","gpx_button":"GPX","settings_gpx_export":"Εξαγγωγή GPX","settings_gpx_export_trk":"Με ίχνος","settings_gpx_export_rte":"Με διαδρομή","settings_gpx_export_wpt":"Με σημεία","hide_button":"Απόκρυψη","details_button":"Λεπτομέρειες","to_hint":"Προορισμός","route_info":"%1$s θα πάρει %2$s","search_button":"Αναζήτηση","more_button":"περισσότερα","pt_route_info":"φτάνει στις %1$s με %2$s μεταβιβάσεις (%3$s)","pt_route_info_walking":"φτάνει στις %1$s απλά περπατώντας (%2$s)","locations_not_found":"Η δρομολόγηση δεν είναι δυνατή. Οι τοποθεσίες δεν βρέθηκαν στην περιοχή.","search_with_nominatim":"Αναζήτηση με Nominatim","powered_by":"Τροφοδοτείται από","info":"Πληροφορίες","feedback":"Ανατροφοδότηση","imprint":"Αποτύπωμα","privacy":"Απόρρητο","terms":"Όροι","bike":"Ποδήλατο","racingbike":"Αγωνιστικό ποδήλατο","mtb":"Ποδήλατο βουνού","car":"Αυτοκίνητο","foot":"Πεζός","hike":"Πεζοπορία","small_truck":"Μικρό φορτηγό","bus":"Λεωφορείο","truck":"Φορτηγό","staticlink":"στατική διεύθυνση","motorcycle":"Μοτοσυκλέτα","scooter":"Σκούτερ","car_settings":"Επιλογές διαδρομής (Αυτοκίνητο)","car_settings_car":"Τυπικό","car_settings_car_avoid_ferry":"Αποφυγή πορθμείων","car_settings_car_avoid_motorway":"Αποφυγή αυτοκινητόδρομων","car_settings_car_avoid_toll":"Αποφυγή διοδίων και πορθμείων","truck_settings":"Επιλογές διαδρομής (Φορτηγό)","truck_settings_truck":"Μεγάλο φορτηγό","truck_settings_small_truck":"Βαν μεταφορών","foot_settings":"Επιλογές διαδρομής (Πεζός)","foot_settings_foot":"Τυπικό","foot_settings_hike":"Πεζοπορία","racingbike_settings":"Επιλογές διαδρομής (Ποδήλατο)","racingbike_settings_racingbike":"Τυπικό","racingbike_settings_ecargobike":"Ηλεκτρικό ποδήλατο cargo","back_to_map":"Πίσω","distance_unit":"Οι αποστάσεις είναι σε %1$s","waiting_for_gps":"Αναμονή για σήμα GPS...","elevation":"Ανύψωση","slope":"Πλαγιά","towerslope":"Towerslope","country":"Χώρα","surface":"Επιφάνεια","road_environment":"Περιβάλλον δρόμου","road_access":"Πρόσβαση δρόμου","road_class":"Κλάση δρόμου","max_speed":"Μέγιστη ταχύτητα","average_speed":"Μέση ταχύτητα","track_type":"Τύπος δρόμου","toll":"Διόδια","next":"Επόμενο","back":"Πίσω","as_start":"Ως αφετηρία","as_destination":"Ως προορισμό","poi_removal_words":"περιοχή, γύρω, εδώ, μέσα, τοπικά, τριγύρω, δίπλα, κοντινά, αυτό","poi_nearby":"%1$s κοντινά","poi_in":"%1$s σε %2$s","poi_airports":"αεροδρόμιο, αεροδρόμια, αερολιμένας","poi_atm":"ατμ, λεφτά, χρήματα","poi_banks":"τράπεζα, τράπεζες","poi_bureau_de_change":"","poi_bus_stops":"στάση λεωφορείου, στάση αστικού, λεωφορείο, αστικό, υπεραστικό, στάση υπεραστικού","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"καφέ, καφετέρια, καφενείο, μπιστρό, μαγαζί καφέ","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"σταθμός φόρτισης, φορτιστής, φόρτιση","poi_cinema":"κινηματογράφος, σινεμά","poi_cuisine_american":"αμερικάνικο φαγητό, αμερικάνικη κουζίνα","poi_cuisine_african":"αφρικάνικο φαγητό, αφρικάνικη κουζίνα, αφρικάνικο","poi_cuisine_arab":"αραβικό φαγητό, αραβική κουζίνα","poi_cuisine_asian":"ασιατικό φαγητό, ασιατική κουζίνα, ασιατικό","poi_cuisine_chinese":"κινέζικο, κινέζικο φαγητό, κινέζικη κουζίκα","poi_cuisine_greek":"ελληνικό φαγητό, ελληνική κουζίνα","poi_cuisine_indian":"ινδικό, ινδικό φαγητό, ινδική κουζίνα","poi_cuisine_italian":"ιταλικό, ιταλικό φαγητό, ιταλική κουζίνα","poi_cuisine_japanese":"","poi_cuisine_mexican":"μεξικάνικο, μεξικάνικο φαγητό, μεξικάνικη κουζίνα","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"οδοντίατρος, οδοντιατρείο, χειρούργος οδοντίατρος","poi_doctor":"γιατρός, ιατρός, ιατρείο","poi_education":"εκπαίδευση, σχολή","poi_fast_food":"fast food, φαστ φουντ, γρήγορο φαγητό","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"πίτσα","poi_food_sandwich":"","poi_food_sushi":"σούσι","poi_food_chicken":"κοτόπουλο","poi_gas_station":"βενζινάδικο, βενζινάδικα","poi_hospitals":"νοσοκομείο, νοσοκομεία","poi_hotels":"ξενοδοχείο, ξενοδοχεία","poi_leisure":"αναψυχή, άνεση, ψυχαγωγία","poi_museums":"μουσείο, μουσεία","poi_parking":"πάρκινγκ, γκαράζ, στάθμευση, χώρος στάθμευσης","poi_parks":"πάρκο, πάρκα, πράσινο","poi_pharmacies":"φαρμακείο, φαρμακοποιός, φαρμακεία","poi_playgrounds":"παιδική χαρά, παιδικές χαρές, παιδότοπος","poi_public_transit":"δημόσια συγκοινωνία, ΜΜΕ","poi_police":"αστυνομία, ΑΤ","poi_post":"ταχυδρομείο, ταχυδρομική υπηρεσία, γραμματόσημα","poi_post_box":"","poi_railway_station":"σταθμός τρένου, στάση τρένου, τρένο, τρένα, σιδηρόδρομος, σιδηροδρομικός σταθμός, σιδηροδρομική στάση","poi_recycling":"ανακύκλωση","poi_restaurants":"φαγητό, φαί, εστιατόριο, ταβέρνα, φαγάδικο","poi_schools":"σχολείο, σχολεία","poi_shopping":"μαγαζί, κατάστημα, ψώνια, αγορά","poi_shop_bakery":"φούρνος, αρτοποιείο","poi_shop_butcher":"κρεοπώλης, κρεοπωλείο, αγορά κρέατος, κρέας","poi_super_markets":"σούπερ μάρκετ, υπεραγορά, αγορά","poi_swim":"κολύμβηση, κολύμπι, μπάνιο","poi_toilets":"τουαλέτα, τουαλέτες, WC","poi_tourism":"τουρισμός, τουριστικό, τουριστικά","poi_townhall":"δημαρχείο, κοινότητα, γραφείο κοινότητας","poi_transit_stops":"στάση, σταθμός, δημόσια συγκοινωνία, ΜΜΕ","poi_viewpoint":"","poi_water":"νερό, βρύση, πηγή","poi_wifi":"wifi, wlan, internet"},"eo":{"total_ascend":"%1$s supreniro tute","total_descend":"%1$s malsupreniro tute","way_contains_ford":"travadejo sur la kurso","way_contains_ferry":"enpramiĝu","way_contains_toll":"pegenda vojo","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Komenco","intermediate_label":"Intercelo","end_label":"Celo!","set_start":"Agordi kiel komencon","set_intermediate":"Agordi kiel intercelon","set_end":"Agordi kiel celon","center_map":"Centrigi mapon ĉi tien","show_coords":"Montri koordinatojn","query_osm":"","route":"Kurso","add_to_route":"","delete_from_route":"Forigi el la kurso","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marko","gh_offline_info":"Eble GraphHopper-API malfunkcias?","refresh_button":"Aktualigi paĝon","server_status":"Stato","zoom_in":"Pligrandigi","zoom_out":"Malgrandigi","zoom_to_route":"","drag_to_reorder":"Trenu por reordigi","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Tra","from_hint":"El","gpx_export_button":"Elporti GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Al","route_info":"%1$s daŭros %2$s","search_button":"Serĉi","more_button":"pli","pt_route_info":"alveno je %1$s kun %2$s transveturiliĝoj (%3$s)","pt_route_info_walking":"alveno je %1$s nur perpiede (%2$s)","locations_not_found":"Vojdifinado ne eblas. Ne trovis loko(j)n en la ĉirkaŭaĵo.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Biciklo","racingbike":"Sporta biciklo","mtb":"Montara biciklo","car":"Aŭto","foot":"Piede","hike":"Marŝade","small_truck":"Eta kamiono","bus":"Aŭtobuso","truck":"Kamiono","staticlink":"konstanta ligilo","motorcycle":"Motorciklo","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"es":{"total_ascend":"Ascender %1$s en total","total_descend":"Descender %1$s en total","way_contains_ford":"hay un vado en el camino","way_contains_ferry":"toma el ferry","way_contains_toll":"carretera con peaje","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Punto de partida","intermediate_label":"Punto intermedio","end_label":"Punto de finalización","set_start":"Fijar como partida","set_intermediate":"Fijar como punto intermedio","set_end":"Fijar como finalización","center_map":"Centrar mapa aquí","show_coords":"Mostrar coordenadas","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Borrar punto de ruta","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marcador","gh_offline_info":"¿API de GraphHopper sin conexión?","refresh_button":"Actualizar página","server_status":"Estado","zoom_in":"Acercar","zoom_out":"Alejar","zoom_to_route":"","drag_to_reorder":"Arrastra para cambiar el orden","route_timed_out":"Se ha agotado el tiempo de cálculo de la ruta","route_request_failed":"Solicitud de ruta fallida","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Pasando por","from_hint":"Desde","gpx_export_button":"Exportar GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Hasta","route_info":"%1$s tardará %2$s","search_button":"Buscar","more_button":"más","pt_route_info":"llega a las %1$s con %2$s transferencias (%3$s)","pt_route_info_walking":"llega sólo caminando a las %1$s (%2$s)","locations_not_found":"No se ha encontrado la ruta. El destino no se encuentra en el área.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicicleta de carrera","mtb":"Bicicleta de montaña","car":"Automóvil","foot":"A pie","hike":"Senderismo","small_truck":"Camioneta","bus":"Autobús","truck":"Camión","staticlink":"enlace estático","motorcycle":"Motocicleta","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fa":{"total_ascend":"مجموع صعود %1$s","total_descend":"مجموع نزول %1$s","way_contains_ford":"در طول مسیر گُدار وجود دارد","way_contains_ferry":"این مسیر دارای کشتی است","way_contains_toll":"این مسیر دارای عوارض است","way_crosses_border":"این مسیر از مرز یک کشور عبور میکند","way_contains":"این مسیر دارای %1$s است","way_contains_restrictions":"","tracks":"هشدار: این مسیر دارای جاده های خاکی و غیر آسفالت است","steps":"پله","footways":"","steep_sections":"هشدار: این مسیر دارای شیب تند رو به بالا و یا رو به پایین است","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"آغاز","intermediate_label":"نقطهٔ میانی","end_label":"پایان","set_start":"انتخاب نقطهٔ آغاز","set_intermediate":"انتخاب نقطهٔ میانی","set_end":"انتخاب نقطهٔ پایان","center_map":"اینجا مرکز نقشه شود","show_coords":"مختصات اینجا","query_osm":"","route":"مسیر","add_to_route":"مقصد جدید را اضافه کنید","delete_from_route":"از مسیر حذف شود","open_custom_model_box":"","draw_areas_enabled":"محدوده را مشخص و یا ویرایش کنید","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"نشانه","gh_offline_info":"گرافهاپر در دسترس نیست؟","refresh_button":"تازهسازی صفحه","server_status":"وضعیت","zoom_in":"بزرگنمایی","zoom_out":"کوچکنمایی","zoom_to_route":"","drag_to_reorder":"برای مرتبسازی جابهجا کنید","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"با گذر از","from_hint":"از","gpx_export_button":"دریافت در قالب GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"به","route_info":"%1$s %2$s طول میکشد","search_button":"جستوجو","more_button":"بیشتر","pt_route_info":"با %2$s جابهجایی در ساعت %1$s میرسید (%3$s)","pt_route_info_walking":"ساعت %1$s میرسید، فقط پیاده (%2$s)","locations_not_found":"مسیریابی ممکن نیست. مکان(ها) در ناحیهٔ موردنظر پیدا نشد.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"دوچرخه","racingbike":"دوچرخه کورسی","mtb":"دوچرخه کوهستان","car":"ماشین","foot":"پیادهروی","hike":"پیادهگردی","small_truck":"وانت","bus":"اتوبوس","truck":"کامیون","staticlink":"پیوند ثابت","motorcycle":"موتورسیکلت","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fil":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"","from_hint":"mula sa","gpx_export_button":"GPX Export","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"upang sa","route_info":"%1$s ay magdadala sa %2$s","search_button":"Paghahanap","more_button":"mas","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Routing hindi maaari, hindi nahanap Lokasyon sa lugar.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bike","racingbike":"Racing Bike","mtb":"Mountain Bike","car":"kotse","foot":"lumakad","hike":"","small_truck":"","bus":"","truck":"","staticlink":"static link","motorcycle":"motorsiklo","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fi":{"total_ascend":"nousu yhteensä %1$s","total_descend":"lasku yhteensä %1$s","way_contains_ford":"Huomio, reitillä on kahlaamo","way_contains_ferry":"käytä lauttaa","way_contains_toll":"maksullinen tie","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Lähtöpaikka","intermediate_label":"Välikohde","end_label":"Päätepiste","set_start":"Merkitse lähtöpaikaksi","set_intermediate":"Merkitse välikohteeksi","set_end":"Merkitse päätepisteeksi","center_map":"Keskitä kartta tähän","show_coords":"Näytä koordinaatit","query_osm":"","route":"Reitti","add_to_route":"","delete_from_route":"Poista reitistä","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Merkki","gh_offline_info":"Ei yhteyttä GraphHopper-palvelimeen","refresh_button":"Päivitä sivu","server_status":"Tilanne","zoom_in":"Lähennä","zoom_out":"Loitonna","zoom_to_route":"","drag_to_reorder":"Järjestele vetämällä","route_timed_out":"Reitin laskenan aikaraja ylittyi","route_request_failed":"Reittipyyntö epäonnistui","current_location":"Nykyinen paikka","searching_location":"Paikkaa haetaan","searching_location_failed":"Paikan haku epäonnistui","via_hint":"Reittipiste","from_hint":"Lähtöpaikka","gpx_export_button":"GPX-tuonti","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Määränpää","route_info":"%1$s kestää %2$s","search_button":"Etsi","more_button":"lisää","pt_route_info":"saapuu kello %1$s, %2$s vaihtoa (%3$s)","pt_route_info_walking":"saapuu kello %1$s, vain kävely (%3$s)","locations_not_found":"Reittiohjeiden luonti epäonnistui. Paikkaa ei löydy tältä alueelta.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Pyörä","racingbike":"Kilpapyörä","mtb":"Maastopyörä","car":"Auto","foot":"Kävely","hike":"Patikointi","small_truck":"Pieni kuorma-auto","bus":"Linja-auto","truck":"Kuorma-auto","staticlink":"yhteys","motorcycle":"Moottoripyörällä","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fr_FR":{"total_ascend":"%1$s de dénivelé positif","total_descend":"%1$s de dénivelé négatif","way_contains_ford":"cet itinéraire comprend un passage à gué","way_contains_ferry":"prenez le bateau","way_contains_toll":"route à péage","way_crosses_border":"L\'itinéraire traverse une frontière nationale","way_contains":"L\'itinéraire inclut %1$s","way_contains_restrictions":"","tracks":"chemins de terre non pavés","steps":"pas","footways":"chemin pédestre","steep_sections":"section raide","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Départ","intermediate_label":"Point intermédiaire","end_label":"Arrivée","set_start":"Départ de l\'itinéraire ici","set_intermediate":"Ajouter un point intermédiaire","set_end":"Arrivée de l\'itinéraire ici","center_map":"Centrer la carte ici","show_coords":"Afficher les coordonnées","query_osm":"Interroger OSM","route":"Itinéraire","add_to_route":"Ajouter un Emplacement","delete_from_route":"Supprimer ce point de l\'itinéraire","open_custom_model_box":"Ouvrir la boîte du modèle personnalisé","draw_areas_enabled":"","help_custom_model":"Aide","apply_custom_model":"Appliquer","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Eviter les Autoroutes","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Vitesse Limite","cargo_bike_example":"Vélo cargo","prefer_bike_network":"","exclude_area_example":"Exclure Zone","combined_example":"Exemple Combiné","examples_custom_model":"Exemples","marker":"Marqueur","gh_offline_info":"GraphHopper API hors connexion?","refresh_button":"Rafraîchir","server_status":"Statut","zoom_in":"Zoom avant","zoom_out":"Zoom arrière","zoom_to_route":"","drag_to_reorder":"Faire glisser pour réorganiser","route_timed_out":"Le calcul de l\'itinéraire a expiré","route_request_failed":"Échec du calcul de l\'itinéraire","current_location":"Localisation actuelle","searching_location":"Chercher localisation","searching_location_failed":"Recherche de localisation échouée","via_hint":"Via","from_hint":"De","gpx_export_button":"Export GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Cacher","details_button":"Détails","to_hint":"À","route_info":"%1$s durera %2$s","search_button":"Rechercher","more_button":"plus","pt_route_info":"arrivée à %1$s avec %2$s changements (%3$s)","pt_route_info_walking":"arrivée à pied à %1$s (%2$s)","locations_not_found":"Calcul d\'itinéraire impossible. Position(s) non trouvée(s) dans la zone.","search_with_nominatim":"Rechercher avec Nominatim","powered_by":"Alimenté par","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Vélo","racingbike":"Vélo de course","mtb":"VTT","car":"Voiture","foot":"À pied","hike":"Randonnée pédestre","small_truck":"Camionnette","bus":"Bus","truck":"Camion","staticlink":"Lien","motorcycle":"Moto","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Retour","distance_unit":"Les distances sont en %1$s","waiting_for_gps":"En attente du signal GPS...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"fr_CH":{"total_ascend":"%1$s de dénivelé positif","total_descend":"%1$s de dénivelé négatif","way_contains_ford":"cet itinéraire comprend un passage à gué","way_contains_ferry":"prenez le bateau","way_contains_toll":"route à péage","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Départ","intermediate_label":"Point intermédiaire","end_label":"Arrivée","set_start":"Départ de l\'itinéraire ici","set_intermediate":"Ajouter un point intermédiaire","set_end":"Arrivée de l\'itinéraire ici","center_map":"Centrer la carte ici","show_coords":"Afficher les coordonnées","query_osm":"","route":"Itinéraire","add_to_route":"Ajouter un Emplacement","delete_from_route":"Supprimer ce point de l\'itinéraire","open_custom_model_box":"Ouvrir la boîte du modèle personnalisé","draw_areas_enabled":"","help_custom_model":"Aide","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marqueur","gh_offline_info":"GraphHopper API hors connexion?","refresh_button":"Rafraîchir","server_status":"Statut","zoom_in":"Zoom avant","zoom_out":"Zoom arrière","zoom_to_route":"","drag_to_reorder":"Faire glisser pour réorganiser","route_timed_out":"Le calcul de l\'itinéraire a expiré","route_request_failed":"Échec du calcul de l\'itinéraire","current_location":"Localisation actuelle","searching_location":"Chercher localisation","searching_location_failed":"Recherche de localisation échouée","via_hint":"Via","from_hint":"De","gpx_export_button":"Export GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"À","route_info":"%1$s durera %2$s","search_button":"Rechercher","more_button":"plus","pt_route_info":"arrivée à %1$s avec %2$s changements (%3$s)","pt_route_info_walking":"arrivée à pied à %1$s (%2$s)","locations_not_found":"Calcul d\'itinéraire impossible. Position(s) non trouvée(s) dans la zone.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Vélo","racingbike":"Vélo de course","mtb":"VTT","car":"Voiture","foot":"À pied","hike":"Randonnée pédestre","small_truck":"Camionnette","bus":"Bus","truck":"Camion","staticlink":"Lien","motorcycle":"Moto","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"gl":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Vía","from_hint":"dende","gpx_export_button":"GPX Exportación","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"ata","route_info":"%1$s tardará %2$s","search_button":"buscar","more_button":"máis","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Non se atopou a ruta. O destino non se atopa na área","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicleta de carreiras","mtb":"Bicicleta de montaña","car":"automóbil","foot":"A pé","hike":"","small_truck":"","bus":"","truck":"","staticlink":"Enlace","motorcycle":"Motocicleta","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"he":{"total_ascend":"עלייה כוללת של %1$s","total_descend":"ירידה כוללת של %1$s","way_contains_ford":"המסלול כולל מעברי מים (גשרים איריים)","way_contains_ferry":"המסלול כולל מעבורות","way_contains_toll":"המסלול כולל כבישי אגרה","way_crosses_border":"המסלול כולל חציית גבולות בין מדינות","way_contains":"המסלול כולל %1$s","way_contains_restrictions":"","tracks":"דרכי עפר לא סלולות","steps":"מדרגות","footways":"שבילים להולכי רגל","steep_sections":"קטעים תלולים","private_sections":"קטעים פרטיים","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"המסלול כולל דרכי עפר שיכולות להיות מסוכנות ואף גרוע מכך.","get_off_bike_for":"יש לרדת מהאופניים למשך %1$s","start_label":"התחלה","intermediate_label":"נקודת ביניים","end_label":"סוף","set_start":"הגדרה כהתחלה","set_intermediate":"הגדרה כנקודת ביניים","set_end":"הגדרה כסוף","center_map":"למרכז את המפה לכאן","show_coords":"הצגת קואורדינטות","query_osm":"שאילתת OSM","route":"מסלול","add_to_route":"הוספה למסלול","delete_from_route":"מחיקה מהמסלול","open_custom_model_box":"פתיחת חלונית מודל מותאם אישית","draw_areas_enabled":"שירטוט ועריכה של אזורים על המפה","help_custom_model":"עזרה","apply_custom_model":"החל","custom_model_enabled":"מודל מותאם אישית מופעל","settings":"הגדרות","settings_close":"סגירה","exclude_motorway_example":"ללא כבישים מהירים","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"הגבלת מהירות","cargo_bike_example":"אופני משא","prefer_bike_network":"העדפת מסלולי אופניים","exclude_area_example":"המנעות מאיזור","combined_example":"דוגמה משולבת","examples_custom_model":"דוגמאות","marker":"נעץ","gh_offline_info":" GraphHopper API לא מקוון?","refresh_button":"רענון הדף","server_status":"מצב","zoom_in":"התקרבות","zoom_out":"התרחקות","zoom_to_route":"","drag_to_reorder":"יש לגרור כדי לסדר מחדש","route_timed_out":"חישוב המסלול ארך זמן רב מדי","route_request_failed":"בקשת חישוב המסלול נכשלה","current_location":"מיקום נוכחי","searching_location":"חיפוש מיקום","searching_location_failed":"חיפוש המיקום נכשל","via_hint":"נקודת ביניים","from_hint":"מוצא","gpx_export_button":"ייצוא GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"הסתרה","details_button":"פרטים","to_hint":"יעד","route_info":"%1$s ייקחו %2$s","search_button":"חיפוש","more_button":"עוד","pt_route_info":"מגיע ב־%1$s עם %2$s החלפות (%3$s)","pt_route_info_walking":"מגיע ב־%1$s עם הליכה בלבד (%3$s)","locations_not_found":"אין נתיב ישיר אל היעד. המקום/ות לא נמצא/ים באזור.","search_with_nominatim":"חיפוש בעזרת Nominatim","powered_by":"פועל בעזרת","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"אופניים","racingbike":"מסלולי אופניים","mtb":"אופני הרים","car":"מכונית","foot":"רגל","hike":"טיול רגלי","small_truck":"משאית קטנה","bus":"אוטובוס","truck":"משאית","staticlink":"קישור קבוע","motorcycle":"אופנוע","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"חזרה","distance_unit":"מרחקים ב%1$s","waiting_for_gps":"המתנה לאות GPS...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"hr_HR":{"total_ascend":"%1$s ukupni uspon","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Početak","intermediate_label":"Posrednik","end_label":"Kraj","set_start":"Postavi kao početak","set_intermediate":"Postavi kao posrednik","set_end":"Postavi kao kraj","center_map":"Postavi kao centar karte","show_coords":"Prikaži koordinate","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Izbriši iz rute","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Oznaka","gh_offline_info":"GraphHopper API nedostupan","refresh_button":"Osvježi stranicu","server_status":"Status","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Preko","from_hint":"Od","gpx_export_button":"Izvezi kao GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Do","route_info":"%1$s trajat će %2$s","search_button":"Pretraži","more_button":"više","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Rutiranje nije moguće. Lokacije nisu pronađene na ovome području.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicikl","racingbike":"Trkaći motocikl","mtb":"Brdski bicikl","car":"Automobil","foot":"Pješak","hike":"","small_truck":"Mali kamion","bus":"Autobus","truck":"Kamion","staticlink":"statička poveznica","motorcycle":"Motocikl","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"hsb":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"přez","from_hint":"wot","gpx_export_button":"eksport do GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"do","route_info":"za %1$s so trjeba %2$s","search_button":"pytaj","more_button":"wjac","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Čara njeje móžna. Městno so w tutej kónčinje njenamaka.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"koleso","racingbike":"wubědźowanske koleso","mtb":"mountainbike","car":"awto","foot":"pěši","hike":"","small_truck":"","bus":"","truck":"","staticlink":"link","motorcycle":"motorske","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"hu_HU":{"total_ascend":"Összes szintemelkedés: %1$s","total_descend":"Összes szintcsökkenés: %1$s","way_contains_ford":"Az útvonalon gázló található","way_contains_ferry":"Az útvonalon kompátkelés található","way_contains_toll":"Az útvonalon útdíjat kell fizetni","way_crosses_border":"Az útvonal országhatárt keresztez","way_contains":"Az útvonalon előfordul %1$s","way_contains_restrictions":"Az útvonalon korlátozások lehetnek","tracks":"burkolatlan földút","steps":"lépcső","footways":"gyalogút","steep_sections":"meredek szakasz","private_sections":"magánút","restricted_sections":"korlátozott szakasz","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"Az útvonal potenciálisan veszélyes autóutat vagy forgalmasabbat is tartalmaz","get_off_bike_for":"A kerékpárt tolni kell ennyit: %1$s","start_label":"Indulás","intermediate_label":"Köztes célpont","end_label":"Célpont","set_start":"Beállítás kiindulási pontnak","set_intermediate":"Beállítás köztes célpontnak","set_end":"Beállítás célpontnak","center_map":"Beállítás a térkép középpontjának","show_coords":"Pozíció megjelenítése","query_osm":"OSM-lekérdezés","route":"Útvonal","add_to_route":"Hely hozzáadása","delete_from_route":"Eltávolítás az útvonalról","open_custom_model_box":"Egyedi modelldoboz megnyitása","draw_areas_enabled":"Területek rajzolása és módosítása a térképen","help_custom_model":"Súgó","apply_custom_model":"Alkalmazás","custom_model_enabled":"Egyedi modell bekapcsolva","settings":"Beállítások","settings_close":"Bezárás","exclude_motorway_example":"Autópálya nélkül","exclude_disneyland_paris_example":"Disneyland Párizs kizárása","simple_electric_car_example":"Egyszerű elektromos autó","avoid_tunnels_bridges_example":"Hidak és alagutak elkerülése","limit_speed_example":"Sebességkorlátozás","cargo_bike_example":"Viszikli (teherkerékpár)","prefer_bike_network":"Kerékpárutak előnyben részesítése","exclude_area_example":"Terület elkerülése","combined_example":"Kombinált példa","examples_custom_model":"Példák","marker":"Jelölő","gh_offline_info":"Lehet, hogy a GraphHopper API nem elérhető?","refresh_button":"Oldal frissítése","server_status":"Állapot","zoom_in":"Nagyítás","zoom_out":"Kicsinyítés","zoom_to_route":"Útvonalra közelítés","drag_to_reorder":"Húzza el az átrendezéshez","route_timed_out":"Időtúllépés az útvonaltervezéskor","route_request_failed":"Útvonaltervezés sikertelen","current_location":"Jelenlegi helyzet","searching_location":"Helyzet keresése","searching_location_failed":"A jelenlegi helyzet megtalálása sikertelen","via_hint":"Ezen keresztül","from_hint":"Innen","gpx_export_button":"GPX export","gpx_button":"GPX","settings_gpx_export":"GPX-be való exportálás beállításai","settings_gpx_export_trk":"Nyomvonallal","settings_gpx_export_rte":"Útvonallal","settings_gpx_export_wpt":"Útpontokkal","hide_button":"Elrejtés","details_button":"Részletek","to_hint":"Ide","route_info":"%1$s ennyi ideig tart: %2$s","search_button":"Keresés","more_button":"tovább","pt_route_info":"érkezés %1$s órakor, %2$s átszállással (%3$s)","pt_route_info_walking":"érkezés %1$s órakor, csak gyalog (%2$s)","locations_not_found":"Útvonaltervezés nem lehetséges. A megadott hely(ek) nem található(k) meg a területen.","search_with_nominatim":"Keresés a Nominatim segítségével","powered_by":"Motor:","info":"Információ","feedback":"Visszajelzés","imprint":"Impresszum","privacy":"Adatvédelem","terms":"Feltételek","bike":"Kerékpár","racingbike":"Versenykerékpár","mtb":"Hegyi kerékpár","car":"Autó","foot":"Gyalogos","hike":"Túrázás","small_truck":"Kisteherautó","bus":"Busz","truck":"Teherautó","staticlink":"statikus hivatkozás","motorcycle":"Motorkerékpár","scooter":"Robogó","car_settings":"Útvonaltervezési beállítások (autó)","car_settings_car":"Standard","car_settings_car_avoid_ferry":"Komp elkerülése","car_settings_car_avoid_motorway":"Autópálya elkerülése","car_settings_car_avoid_toll":"Útdíjas szakaszok és autópálya elkerülése","truck_settings":"Útvonaltervezési beállítások (teherautó)","truck_settings_truck":"Nehéz tehergépjármű","truck_settings_small_truck":"Kisteherautó","foot_settings":"Útvonaltervezési beállítások (séta)","foot_settings_foot":"Standard","foot_settings_hike":"Túrázás","racingbike_settings":"Útvonaltervezési beállítások (országúti kerékpár)","racingbike_settings_racingbike":"Standard","racingbike_settings_ecargobike":"Elektromos teherkerékpár","back_to_map":"Vissza","distance_unit":"Távolság mértékegysége: %1$s","waiting_for_gps":"Várakozás a GPS jelre...","elevation":"Magasság","slope":"Meredekség","towerslope":"","country":"Ország","surface":"Felület","road_environment":"Típus","road_access":"Használhatóság","road_class":"Besorolás","max_speed":"Sebességkorlátozás","average_speed":"Átlagsebesség","track_type":"Mzg./erdészeti út besorolása","toll":"Útdíj","next":"Tovább","back":"Vissza","as_start":"Kiindulási pontnak","as_destination":"Célpontnak","poi_removal_words":"a, az, egy","poi_nearby":"%1$s a közelben","poi_in":"%1$s itt: %2$s","poi_airports":"repülőterek, repülőtér","poi_atm":"bankautomata","poi_banks":"bankok, bank","poi_bureau_de_change":"pénzváltó, valutaváltó","poi_bus_stops":"buszmegállók, buszmegálló, busz","poi_bicycle":"kerékpárbolt, kerékpáros bolt, biciklibolt, biciklis bolt","poi_bicycle_rental":"kerékpárkölcsönző, biciklikölcsönző","poi_cafe":"kávé, kávézó, kávéház, cukrászda","poi_car_rental":"autókölcsönző, gépkocsikölcsönző, járműkölcsönző","poi_car_repair":"autószerelő, gépjárműszerelő, autószerviz, gépjárműszerviz, szerviz","poi_charging_station":"töltőállomás, elektromos töltőállomás, töltőpont","poi_cinema":"mozi","poi_cuisine_american":"amerikai ételek, amerikai konyha, amerikai","poi_cuisine_african":"afrikai ételek, afrikai konyha, afrikai","poi_cuisine_arab":"arab ételek, arab konyha, arab","poi_cuisine_asian":"ázsiai ételek, ázsiai konyha, ázsiai","poi_cuisine_chinese":"kínai ételek, kínai konyha, kínai","poi_cuisine_greek":"görög ételek, görög konyha, görög","poi_cuisine_indian":"indiai ételek, indiai konyha, indiai","poi_cuisine_italian":"olasz ételek, olasz konyha, olasz","poi_cuisine_japanese":"japán ételek, japán konyha, japán","poi_cuisine_mexican":"mexikói ételek, mexikói konyha, mexikói","poi_cuisine_polish":"lengyel ételek, lengyel konyha, lengyel","poi_cuisine_russian":"orosz ételek, orosz konyha, orosz","poi_cuisine_turkish":"török ételek, török konyha, török","poi_diy":"barkácsbolt, barkácsáruház, vas-műszaki bolt, vaskereskedés","poi_dentist":"fogorvos, fogász","poi_doctor":"orvos, doktor, háziorvos","poi_education":"oktatás, nevelés","poi_fast_food":"büfé, gyorsétterem, menza","poi_food_burger":"burger, hamburger","poi_food_kebab":"kebab, döner","poi_food_pizza":"pizza","poi_food_sandwich":"szendvics","poi_food_sushi":"szusi","poi_food_chicken":"csirke","poi_gas_station":"benzinkutak, benzinkút, benzinkutak, benzinkút","poi_hospitals":"kórházak, kórház","poi_hotels":"hotelek, hotel, szállodák, szálloda","poi_leisure":"szabadidő","poi_museums":"múzeumok, múzeum","poi_parking":"parkoló, parkolóhely","poi_parks":"parkok, park","poi_pharmacies":"gyógyszertárak, gyógyszertár, patikák, patika","poi_playgrounds":"játszóterek, játszótér","poi_public_transit":"közösségi közlekedés, tömegközlekedés","poi_police":"rendőrség","poi_post":"posta, postahivatal, bélyeg","poi_post_box":"postaláda, postaládák","poi_railway_station":"vasútállomások, vasútállomás, vonat","poi_recycling":"újrahasznosítás, hulladék, szemét","poi_restaurants":"éttermek, étterem, vendéglők, vendéglő","poi_schools":"iskolák, iskola","poi_shopping":"bolt, üzlet, vásárlás, bevásárlás","poi_shop_bakery":"pékség, pék","poi_shop_butcher":"hentes, mészáros","poi_super_markets":"szupermarketek, szupermarket","poi_swim":"úszás, fürdés, fürdőzés","poi_toilets":"mosdók, mosdó","poi_tourism":"turizmus","poi_townhall":"városháza, községháza, polgármesteri hivatal","poi_transit_stops":"buszmegállók, buszmegálló, busz","poi_viewpoint":"kilátó, kilátóhely, panoráma","poi_water":"ivóvíz","poi_wifi":"wifi, internet"},"in_ID":{"total_ascend":"naik dengan jarak %1$s","total_descend":"turun dengan jarak %1$s","way_contains_ford":"terdapat jalan untuk dilewati","way_contains_ferry":"Rute termasuk kapal feri","way_contains_toll":"Rute dengan jalan tol","way_crosses_border":"Rute melintasi perbatasan negara","way_contains":"Rute termasuk %1$s","way_contains_restrictions":"Rute dengan potensi pembatasan akses","tracks":"Jalan Tanah","steps":"Langkah","footways":"Jalan setapak","steep_sections":"bagian curam","private_sections":"bagian pribadi","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"Rute termasuk jalan utama yang berpotensi berbahaya atau lebih buruk","get_off_bike_for":"Turun dan dorong sepeda untuk %1$s","start_label":"Mulai","intermediate_label":"Antara","end_label":"Akhir","set_start":"Atur sebagai titik mulai","set_intermediate":"Atur sebagai titik antara","set_end":"Atur sebagai titik akhir","center_map":"Tengahkan Peta","show_coords":"Tampilkan koordinat","query_osm":"Query OSM","route":"Rute","add_to_route":"Tambah Lokasi","delete_from_route":"Hapus dari rute","open_custom_model_box":"Buka kotak model kustom","draw_areas_enabled":"Gambar dan ubah area di peta","help_custom_model":"Bantuan","apply_custom_model":"Terapkan","custom_model_enabled":"Model Kustom Aktif","settings":"Pengaturan","settings_close":"Tutup","exclude_motorway_example":"Tidak termasuk jalur motor","exclude_disneyland_paris_example":"Tidak termasuk Disneyland Paris","simple_electric_car_example":"Mobil Listrik Sederhana","avoid_tunnels_bridges_example":"Hindari Jembatan & Terowongan","limit_speed_example":"Batas Kecepatan","cargo_bike_example":"Sepeda Kargo","prefer_bike_network":"Lebih suka Rute Sepeda","exclude_area_example":"Kecualikan Area","combined_example":"Contoh Gabungan","examples_custom_model":"Contoh","marker":"Titik","gh_offline_info":"Pelayanan API Graphhopper dalam kondisi offline","refresh_button":"Perbarui Halaman","server_status":"Status","zoom_in":"Perbesaran","zoom_out":"Pengecilan","zoom_to_route":"","drag_to_reorder":"Drag untuk mengatur urutan","route_timed_out":"Waktu Penghitungan Rute Habis","route_request_failed":"Permintaan Rute Gagal","current_location":"Lokasi Saat Ini","searching_location":"Mencari Lokasi","searching_location_failed":"Pencarian lokasi gagal","via_hint":"melalui","from_hint":"dari","gpx_export_button":"Ekspor GPX","gpx_button":"GPX","settings_gpx_export":"Ekspor GPX","settings_gpx_export_trk":"Dengan trek","settings_gpx_export_rte":"Dengan rute","settings_gpx_export_wpt":"Dengan titik jalan","hide_button":"Sembunyikan","details_button":"Detil","to_hint":"ke","route_info":"%1$s berada dalam waktu %2$s","search_button":"pencarian","more_button":"lebih lanjut","pt_route_info":"sampai pada %1$s dengan %2$s jarak (%3$s)","pt_route_info_walking":"sampai pada %1$s dengan berjalan kaki (%2$s)","locations_not_found":"Penentuan rute tidak dapat dilakukan. Lokasi tidak ditemukan","search_with_nominatim":"Pencarian dengan Nominatim","powered_by":"Didukung oleh","info":"Info","feedback":"Umpan Balik","imprint":"Jejak","privacy":"Privasi","terms":"Syarat","bike":"Sepeda","racingbike":"Sepeda Balap","mtb":"Sepeda Gunung","car":"Mobil","foot":"Jalan Kaki","hike":"Mendaki","small_truck":"Truk Kecil","bus":"Bus","truck":"Truk","staticlink":"Jalur tetap","motorcycle":"Motor","scooter":"Vespa","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Kembali","distance_unit":"Jarak dalam %1$s","waiting_for_gps":"Menunggu sinyal GPS","elevation":"Ketinggian","slope":"Kemiringan","towerslope":"","country":"Negara","surface":"Permukaan","road_environment":"Lingkungan Jalan","road_access":"Akses Jalan","road_class":"Kelas Jalan","max_speed":"Kecepatan Maks","average_speed":"Kecepatan Rata-Rata","track_type":"Tipe trek","toll":"Tol","next":"Selanjutnya","back":"Sebelumnya","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"it":{"total_ascend":"%1$s di dislivello positivo","total_descend":"%1$s di dislivello negativo","way_contains_ford":"Il percorso include un guado","way_contains_ferry":"Il percorso include traghetti","way_contains_toll":"Il percorso include pedaggi","way_crosses_border":"Il percorso attraversa un confine di stato","way_contains":"Il percorso include %1$s","way_contains_restrictions":"","tracks":"strade sterrate","steps":"Passi","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Partenza","intermediate_label":"Punto intermedio","end_label":"Arrivo","set_start":"Imposta partenza","set_intermediate":"Imposta punto intermedio","set_end":"Imposta arrivo","center_map":"Centra la mappa qui","show_coords":"Mostra coordinate","query_osm":"","route":"Itinerario","add_to_route":"Aggiungi destinazione","delete_from_route":"Elimina dall\'itinerario","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"Aiuto","apply_custom_model":"Applica","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Escludi autostrada","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Limita velocità","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"Escludi area","combined_example":"Esempio combinato","examples_custom_model":"Esempi","marker":"Marker","gh_offline_info":"Servizio GraphHopper non disponibile?","refresh_button":"Ricarica pagina","server_status":"Stato","zoom_in":"Zoom avanti","zoom_out":"Zoom indietro","zoom_to_route":"","drag_to_reorder":"Trascina per riordinare","route_timed_out":"Calcolo del percorso fallito","route_request_failed":"Richiesta della posizione fallita","current_location":"Posizione attuale","searching_location":"Ricerca posizione","searching_location_failed":"Ricerca posizione fallita","via_hint":"Attraverso","from_hint":"Da","gpx_export_button":"Esporta GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Nascondi","details_button":"Dettagli","to_hint":"A","route_info":"%1$s in %2$s","search_button":"Ricerca","more_button":"altro","pt_route_info":"arrivato alle %1$s con %2$s trasferimenti (%3$s)","pt_route_info_walking":"arrivato alle %1$s solo camminando (%2$s)","locations_not_found":"Percorso non calcolabile. Località non trovata(e) nell\'area.","search_with_nominatim":"Cerca con Nominatim","powered_by":"Offerto da","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicletta","racingbike":"Bici da corsa","mtb":"Mountainbike","car":"Auto","foot":"A piedi","hike":"Scarpinata","small_truck":"Furgone","bus":"Tram","truck":"Camion","staticlink":"permalink","motorcycle":"Moto","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Indietro","distance_unit":"Le distanze sono in %1$s","waiting_for_gps":"Aspettando il segnale GPS...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ja":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"座標を表示","query_osm":"","route":"経路","add_to_route":"","delete_from_route":"経路から取り除く","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"ピン","gh_offline_info":"サーバに接続できませんでした","refresh_button":"更新","server_status":"ステータス","zoom_in":"拡大","zoom_out":"縮小","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"経由","from_hint":"出発地点","gpx_export_button":"GPX形式でエクスポート","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"目的地点","route_info":"%1$s 所要時間 %2$s","search_button":"検索","more_button":"詳細","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"経路を検索できませんでした.指定の地点が存在しません.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"自転車","racingbike":"レースバイク","mtb":"マウンテンバイク","car":"車","foot":"徒歩","hike":"","small_truck":"","bus":"","truck":"","staticlink":"パーマリンク","motorcycle":"オートバイ","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ko":{"total_ascend":"오르막길 총 %1$s","total_descend":"내리막길 총 %1$s","way_contains_ford":"경로에 여울이 있습니다","way_contains_ferry":"페리 승선","way_contains_toll":"유료 도로","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"출발지","intermediate_label":"경유지","end_label":"도착지","set_start":"출발지로 설정","set_intermediate":"경유지로 설정","set_end":"도착지로 설정","center_map":"여기를 지도의 중심으로 설정","show_coords":"좌표 보기","query_osm":"","route":"경로","add_to_route":"","delete_from_route":"경로에서 삭제","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"핀","gh_offline_info":"GraphHopper API에 연결할 수 없습니다.","refresh_button":"새로고침","server_status":"상태","zoom_in":"확대","zoom_out":"축소","zoom_to_route":"","drag_to_reorder":"드래그하여 재정렬","route_timed_out":"경로 탐색 시간 초과","route_request_failed":"경로 탐색 요청 실패","current_location":"현재 위치","searching_location":"위치 탐색","searching_location_failed":"위티 탐색 실패","via_hint":"경유","from_hint":"출발","gpx_export_button":"GPX 내보내기","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"도착","route_info":"%1$s %2$s 소요","search_button":"탐색","more_button":"더보기","pt_route_info":"%1$s회 환승, %2$s에 도착 (%3$s)","pt_route_info_walking":"도보 이용, %1$s에 도착 (%2$s)","locations_not_found":"경로를 탐색할 수 없습니다. 이 지역에서 위치를 찾을 수 없습니다.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"자전거","racingbike":"경주용 자전거","mtb":"산악자전거","car":"자동차","foot":"도보","hike":"하이킹","small_truck":"소형 트럭","bus":"버스","truck":"트럭","staticlink":"정적 링크","motorcycle":"모터사이클","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"kz":{"total_ascend":"%1$s көтерілу","total_descend":"%1$s төмен түсу","way_contains_ford":"Жолда өткел бар","way_contains_ferry":"паромға отырыңыз","way_contains_toll":"жол ақылы","way_crosses_border":"жол ел шекарасын кесіп жатыр","way_contains":"жолда %1$s бар","way_contains_restrictions":"","tracks":"асфальтталмаған қара жолдар","steps":"қадамдар","footways":"жаяу жүргіншілер жолы","steep_sections":"күрделі аялдамалар","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"бастапқы нүкте","intermediate_label":"аралық нүкте","end_label":"соңғы нүкте","set_start":"бастапқы нүктені таңдау","set_intermediate":"аралық нүктені қосу","set_end":"соңғы нүктені таңдау","center_map":"","show_coords":"координаталарды көрсету","query_osm":"","route":"маршрут","add_to_route":"","delete_from_route":"маршруттан жою","open_custom_model_box":"Арнайы модель қорабын ашыңыз","draw_areas_enabled":"","help_custom_model":"көмек","apply_custom_model":"қолдану","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Автомогистральді алып тастау","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"шектеулі жылдамдық","cargo_bike_example":"жүк велосипеді","prefer_bike_network":"","exclude_area_example":"Аймақты алып тастау","combined_example":"","examples_custom_model":"мысалдар","marker":"белгі","gh_offline_info":"","refresh_button":"бетті жаңартыңыз","server_status":"жағдайы","zoom_in":"үлкейту","zoom_out":"кішірейту","zoom_to_route":"","drag_to_reorder":"Ретін өзгерту үшін жылжытыңыз","route_timed_out":"Маршрутты есептеу уақыты таусылды","route_request_failed":"маршрут сұранысы орындалмады","current_location":"қазіргі орныңыз","searching_location":"орналасқан жерді іздеу","searching_location_failed":"Қазіргі орныңызды іздеу сәтсіз аяқталды","via_hint":"арқылы","from_hint":"Бастауы","gpx_export_button":"GPX Экспорты","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"жасыру","details_button":"толығырақ","to_hint":"дейін","route_info":"%1$s-ге дейін шамамен %2$s уақыт кетеді","search_button":"іздеу","more_button":"тағы","pt_route_info":"%2$s-ден %1$s-ге пересадкамен бару (%3$s)","pt_route_info_walking":"%1$s-ге дейін тек жаяу жүру (%2$s)","locations_not_found":"Маршрут құру мүмкін болмады. Орын анықталмады.","search_with_nominatim":"Nominatim арқылы іздеу","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"велосипед","racingbike":"","mtb":"Таулы велосипед","car":"көлік","foot":"жаяу жүргінші","hike":"","small_truck":"Шағын жүк көлігі","bus":"автобус","truck":"үлкен жүк көлігі","staticlink":"","motorcycle":"мотоцикл","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Қайту","distance_unit":"","waiting_for_gps":"GPS сигналын күтіңіз...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"lt_LT":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Pradėti","intermediate_label":"","end_label":"Baigti","set_start":"Pasirinkti pradžią čia","set_intermediate":"","set_end":"Pasirinkti pabaigą čia","center_map":"Centruoti žemėlapį čia","show_coords":"Rodyti koordinates","query_osm":"","route":"Maršrutas","add_to_route":"","delete_from_route":"Ištrinti iš maršruto","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Žymeklis","gh_offline_info":"GraphHopper API nepasiekiamas?","refresh_button":"Atnaujinti puslapį","server_status":"Būsena","zoom_in":"Priartinti","zoom_out":"Atitolinti","zoom_to_route":"","drag_to_reorder":"Tempkite, kad pakeistumėte eilės tvarką","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Per","from_hint":"Nuo","gpx_export_button":"GPX eksportas","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Iki","route_info":"%1$s užtruksite %2$s","search_button":"Ieškoti","more_button":"dar","pt_route_info":"Atvyksta %1$s su %2$s persėdimais (%3$s)","pt_route_info_walking":"Atvyksta %1$s, su ėjimu pėščiomis (%2$s)","locations_not_found":"Neįmanoma sukurti maršruto. Nurodyti taškai nerasti šioje zonoje.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Dviratis","racingbike":"Plentinis dviratis","mtb":"MTB dviratis","car":"Automobilis","foot":"Pėsčiomis","hike":"","small_truck":"Mažas sunkvežimis","bus":"Autobusas","truck":"Sunkvežimis","staticlink":"statinė nuoroda","motorcycle":"Motociklas","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"mn":{"total_ascend":"%1$s нийт өгсөнө","total_descend":"%1$s нийт уруудна","way_contains_ford":"Маршрут нь гүүрүүд багтдаг","way_contains_ferry":"Маршрут нь гарам багтана","way_contains_toll":"Маршрут хураамжтай","way_crosses_border":"Маршрут нь улсын хилээр дамждаг","way_contains":"Маршрут нь %1$s-г агуулдаг","way_contains_restrictions":"Боломжит хандалтын хязгаарлалттай маршрут","tracks":"шороон замууд","steps":"алхам","footways":"явган хүний зам","steep_sections":"эгц хэсгүүд","private_sections":"хувийн хэсгүүд","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"Маршрут нь аюултай байж болзошгүй гол зам буюу түүнээс ч дор байдаг","get_off_bike_for":"Унадаг дугуйнаасаа бууж, %1$s руу түлхэнэ үү","start_label":"Эхлэл","intermediate_label":"Дунд зэрэг","end_label":"Төгсгөл","set_start":"Эндээс","set_intermediate":"Байршлаар дамжуулан","set_end":"Тийшээ","center_map":"Газрын зургийг голлуулах","show_coords":"Координатуудыг харуулах","query_osm":"OSM query","route":"Маршрут","add_to_route":"Байршил нэмэх","delete_from_route":"Маршрутаас устгах","open_custom_model_box":"Захиалгат загварын хайрцгийг нээнэ үү","draw_areas_enabled":"Газрын зураг дээр газар нутгийг зурж, өөрчлөх","help_custom_model":"Туслаач","apply_custom_model":"Хэрэглэх","custom_model_enabled":"Захиалгат загвар идэвхтэй","settings":"Тохиргоо","settings_close":"Хаах","exclude_motorway_example":"Хурдны замыг оруулахгүй","exclude_disneyland_paris_example":"Парисын Диснейлэндийг оруулахгүй","simple_electric_car_example":"Энгийн цахилгаан машин","avoid_tunnels_bridges_example":"Гүүр, хонгилоос зайлсхий","limit_speed_example":"Хурд хязгаарлах","cargo_bike_example":"Ачааны дугуй","prefer_bike_network":"Дугуйн замыг илүүд үзээрэй","exclude_area_example":"Талбайг оруулахгүй","combined_example":"Хосолсон жишээ","examples_custom_model":"Жишээ","marker":"Тэмдэглэгч","gh_offline_info":"GraphHopper API офлайн уу?","refresh_button":"Хуудсыг шинэчлэх","server_status":"Статус","zoom_in":"Томруулах","zoom_out":"Жижигрүүлэх","zoom_to_route":"Чиглэл рүү томруулна уу","drag_to_reorder":"Дахин эрэмбэлэхийн тулд чирнэ үү","route_timed_out":"Маршрутын тооцооны хугацаа дууссан","route_request_failed":"Маршрутын хүсэлт амжилтгүй боллоо","current_location":"Одоогийн байршил","searching_location":"Байршил хайж байна","searching_location_failed":"Байршлыг хайж чадсангүй","via_hint":"Via","from_hint":"-аас","gpx_export_button":"GPX экспорт","gpx_button":"GPX","settings_gpx_export":"GPX экспорт","settings_gpx_export_trk":"Замтай","settings_gpx_export_rte":"Маршруттай","settings_gpx_export_wpt":"Замын цэгтэй","hide_button":"Нуух","details_button":"Дэлгэрэнгүй мэдээлэл","to_hint":"руу","route_info":"%1$s нь %2$s авна","search_button":"Хайх","more_button":"илүү","pt_route_info":"%1$s-д %2$s шилжүүлгээр (%3$s) ирнэ","pt_route_info_walking":"зүгээр л алхаж байж %1$s хүрнэ (%2$s)","locations_not_found":"Чиглүүлэлт хийх боломжгүй. Тухайн бүсэд байршил олдсонгүй.","search_with_nominatim":"Nominatim ашиглан хайх","powered_by":"Powered by","info":"Мэдээлэл","feedback":"Санал хүсэлт","imprint":"Дардас","privacy":"Нууцлал","terms":"Нөхцөл","bike":"Унадаг дугуй","racingbike":"Уралдааны дугуй","mtb":"MTB","car":"Машин","foot":"Хөл","hike":"Явган аялал","small_truck":"Жижиг ачааны машин","bus":"Автобус","truck":"Ачааны машин","staticlink":"статик холбоос","motorcycle":"Мотоцикл","scooter":"Скутер","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Буцах","distance_unit":"Зай %1$s байна","waiting_for_gps":"GPS дохиог хүлээж байна...","elevation":"Өндөр","slope":"Налуу","towerslope":"Цамхаг налуу","country":"Улс","surface":"Гадаргуу","road_environment":"Замын орчин","road_access":"Зам нэвтрэх","road_class":"Замын анги","max_speed":"Макс. хурд","average_speed":"Дундаж. хурд","track_type":"Замын төрөл","toll":"Төлбөр","next":"Дараачийн","back":"Буцах","as_start":"","as_destination":"","poi_removal_words":"талбай, эргэн тойронд, энд, дотор, орон нутгийн, ойролцоо, энэ","poi_nearby":"%1$s ойролцоо байна","poi_in":"%2$s-д %1$s","poi_airports":"нисэх онгоцны буудал, нисэх онгоцны буудал","poi_atm":"атм","poi_banks":"банк, банк","poi_bureau_de_change":"","poi_bus_stops":"автобусны зогсоол, автобусны зогсоол, автобус","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"цэнэглэх станц, цэнэглэх станц, цэнэглэгч, цэнэглэгч","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"боловсрол","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"шатахуун түгээх станц, шатахуун түгээх станц, шатахуун түгээх станц, шатахуун түгээх станц","poi_hospitals":"эмнэлгүүд, эмнэлэг","poi_hotels":"зочид буудал, зочид буудал","poi_leisure":"чөлөөт цаг","poi_museums":"музей, музей","poi_parking":"зогсоол, зогсоол","poi_parks":"цэцэрлэгт хүрээлэн, цэцэрлэгт хүрээлэн","poi_pharmacies":"эмийн сан, эмийн сан","poi_playgrounds":"тоглоомын талбай, тоглоомын талбай","poi_public_transit":"нийтийн тээвэр","poi_police":"цагдаа","poi_post":"шуудан, шуудангийн газар","poi_post_box":"шуудангийн хайрцаг, шуудангийн хайрцаг, шуудангийн хайрцаг, захидлын хайрцаг","poi_railway_station":"төмөр замын өртөө, төмөр замын буудал, галт тэрэг, галт тэрэг","poi_recycling":"","poi_restaurants":"ресторан, зоогийн газар, идэх","poi_schools":"сургууль, сургууль","poi_shopping":"дэлгүүр, дэлгүүр, дэлгүүр","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"супер захууд, супер захууд","poi_swim":"","poi_toilets":"бие засах газар, бие засах газар","poi_tourism":"аялал жуулчлал","poi_townhall":"","poi_transit_stops":"автобусны зогсоол, автобусны зогсоол, автобус","poi_viewpoint":"","poi_water":"ус","poi_wifi":""},"nb_NO":{"total_ascend":"%1$s totale høydemeter","total_descend":"%1$s total nedkjøring","way_contains_ford":"ruten inneholder vadesteder","way_contains_ferry":"ruten inneholder ferge","way_contains_toll":"ruten er avgiftsbelagt","way_crosses_border":"ruten krysser landegrense","way_contains":"ruten inneholder %1$s","way_contains_restrictions":"","tracks":"grusvei","steps":"trapper","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Start","intermediate_label":"delmål","end_label":"Mål","set_start":"Angi som start","set_intermediate":"Angi delmål","set_end":"Angi som mål","center_map":"Sentrer kart","show_coords":"Via koordinater","query_osm":"","route":"Rute","add_to_route":"Legg til","delete_from_route":"Fjern fra ruten","open_custom_model_box":"Åpne tilpasser modellboks","draw_areas_enabled":"","help_custom_model":"Hjelp","apply_custom_model":"Bekreft","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"Unngå motorvei","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Begrens hastighet","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"Unngå område","combined_example":"","examples_custom_model":"Eksempler","marker":"Nål","gh_offline_info":"GraphHopper API offline?","refresh_button":"Oppdater side","server_status":"Status","zoom_in":"Zoom inn","zoom_out":"Zoom ut","zoom_to_route":"","drag_to_reorder":"Dra for å endre rekkefølge","route_timed_out":"","route_request_failed":"","current_location":"Nåværende plassering","searching_location":"Søker…","searching_location_failed":"Søk feilet","via_hint":"Via","from_hint":"Fra","gpx_export_button":"Eksporter GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Skjul","details_button":"Detaljer","to_hint":"Til","route_info":"%1$s vil ta %2$s","search_button":"Søk","more_button":"flere","pt_route_info":"ankommer %1$s med %2$s bytter (%3$s)","pt_route_info_walking":"ankommer %1$s ved å gå (%2$s)","locations_not_found":"Ruteplanlegging mislykket. Destinasjon(ene) ikke funnet i valgt område","search_with_nominatim":"Søk med Nominatim","powered_by":"Powered by","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Sykkel","racingbike":"Landeveisykkel","mtb":"Mountain bike","car":"Bil","foot":"Gange","hike":"Vandring","small_truck":"Lett lastebil","bus":"Buss","truck":"Lastebil","staticlink":"lenke","motorcycle":"Motorsykkel","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Tilbake","distance_unit":"Avstand måles i %1$s","waiting_for_gps":"Venter på GPS-signal","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ne":{"total_ascend":"","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"बाट","from_hint":"सुरु","gpx_export_button":"GPX मा परिबर्तन गर्नुहोस","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"अन्त्य","route_info":"%1$s को लागि %2$s लाग्नेछ","search_button":"खोज","more_button":"अझै","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"ठाउँ नभेटीनाले बाटो पत्ता लगाउन सकिएन","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"बाईक","racingbike":"छिटो गतिका बाईक","mtb":"माउन्टेन बाईक","car":"गाडी","foot":"पैदल","hike":"","small_truck":"","bus":"","truck":"","staticlink":"ईस्ट्यातिक लिंक","motorcycle":"मोटरसाइकल","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"nl":{"total_ascend":"%1$s totale klim","total_descend":"%1$s totale daling","way_contains_ford":"Er is een doorwaadbare plaats","way_contains_ferry":"route met veerponten","way_contains_toll":"route met tolwegen","way_crosses_border":"route met grensovergangen","way_contains":"route bevat %1$s","way_contains_restrictions":"","tracks":"route bevat onverharde wegen","steps":"trappen","footways":"voetpaden","steep_sections":"route bevat stijle hellingen","private_sections":"privé gedeelten","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"Route bevat mogelijk gevaarlijke stukken","get_off_bike_for":"stap af en duw voor %1$s","start_label":"Start","intermediate_label":"Tussenstop","end_label":"Einde","set_start":"Stel in als startpunt","set_intermediate":"Stel in als tussenstop","set_end":"Stel in als einde","center_map":"Centreer de kaart hier","show_coords":"Laat coordinaten zien","query_osm":"Query OSM","route":"Route","add_to_route":"voeg locatie toe","delete_from_route":"Van route verwijderen","open_custom_model_box":"Open op maat gemaakte box","draw_areas_enabled":"Teken en verander gebied op de kaart","help_custom_model":"Help","apply_custom_model":"Activeer","custom_model_enabled":"","settings":"Instellingen","settings_close":"Sluit","exclude_motorway_example":"Vermijd snelweg","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Max snelheid","cargo_bike_example":"Bestel fiets","prefer_bike_network":"Prefereer fiets routes","exclude_area_example":"Exclusief gebied","combined_example":"Samengesteld voorbeeld","examples_custom_model":"Voorbeeld","marker":"Pin","gh_offline_info":"GrabHopper API offline?","refresh_button":"Ververs pagina","server_status":"Status","zoom_in":"Zoom in","zoom_out":"Zoom uit","zoom_to_route":"","drag_to_reorder":"Slepen om opnieuw te organiseren","route_timed_out":"server berekening time out","route_request_failed":"Aanvraag mislukt","current_location":"huidige locatie","searching_location":"zoek locatie","searching_location_failed":"locatie zoeken mislukt","via_hint":"via","from_hint":"van","gpx_export_button":"GPX export","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"verberg","details_button":"details","to_hint":"naar","route_info":"%1$s duurt %2$s","search_button":"zoek","more_button":"meer","pt_route_info":"aankomst om %1$s met %2$s overstappen (%3$s)","pt_route_info_walking":"aankomst om %1$s te voet (%2$s)","locations_not_found":"Route niet mogelijk. Locatie(s) niet gevonden.","search_with_nominatim":"","powered_by":"Powered by","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"fiets","racingbike":"racefiets","mtb":"mountainbike","car":"auto","foot":"te voet","hike":"wandelen","small_truck":"bestelbus","bus":"bus","truck":"vrachtwagen","staticlink":"statische link","motorcycle":"motorfiets","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Terug","distance_unit":"Afstanden zijn in %1$s","waiting_for_gps":"Wacht op GPS signaal","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"pl_PL":{"total_ascend":"%1$s w górę","total_descend":"%1$s w dół","way_contains_ford":"Trasa przez brody","way_contains_ferry":"Trasa obejmuje promy","way_contains_toll":"Trasa jest płatna","way_crosses_border":"Trasa przebiega przez granicę państwową","way_contains":"Trasa przez %1$s","way_contains_restrictions":"","tracks":"nieutwardzone drogi gruntowe","steps":"schody","footways":"chodniki","steep_sections":"strome fragmenty","private_sections":"tereny prywatne","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"piechotą przez %1$s","start_label":"Początek","intermediate_label":"Punkt pośredni","end_label":"Cel","set_start":"Ustaw jako początek","set_intermediate":"Ustaw jako punkt pośredni","set_end":"Ustaw jako cel","center_map":"Centruj mapę tutaj","show_coords":"Pokaż współrzędne","query_osm":"Wyświetl dane obiektów na OSM","route":"Trasa","add_to_route":"Dodaj punkt pośredni","delete_from_route":"Usuń z trasy","open_custom_model_box":"Otwórz okienko modelu niestandardowego","draw_areas_enabled":"Rysuj i zmieniaj obszar na mapie","help_custom_model":"Pomoc","apply_custom_model":"Zastosuj","custom_model_enabled":"","settings":"Ustawienia","settings_close":"Zamknij","exclude_motorway_example":"Pomijaj autostrady","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Ogranicz prędkość","cargo_bike_example":"Rower towarowy","prefer_bike_network":"Preferuj ścieżki rowerowe","exclude_area_example":"Wyklucz obszar","combined_example":"Przykład łączony","examples_custom_model":"Przykłady","marker":"Znacznik","gh_offline_info":"GraphHopper API nie działa?","refresh_button":"Odśwież stronę","server_status":"Stan","zoom_in":"Przybliż","zoom_out":"Oddal","zoom_to_route":"","drag_to_reorder":"Przeciągnij, aby przestawić","route_timed_out":"Przekroczono limit czasu","route_request_failed":"Wyznaczenie trasy nie powiodło się","current_location":"Moja geolokalizacja","searching_location":"Wyszukiwanie...","searching_location_failed":"Nie udało się wyszukać lokalizacji","via_hint":"Przez","from_hint":"Z","gpx_export_button":"Eksportuj GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Ukryj","details_button":"Szczegóły","to_hint":"Do","route_info":"%1$s zajmie %2$s","search_button":"Szukaj","more_button":"więcej","pt_route_info":"przybycie o %1$s z %2$s przesiadkami (%3$s)","pt_route_info_walking":"przybycie o %1$s pieszo (%2$s)","locations_not_found":"Nie można wyznaczyć trasy. Nie znaleziono lokalizacji.","search_with_nominatim":"Szukaj z Nominatimem","powered_by":"Dostarczony przez","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Rower","racingbike":"Rower wyścigowy","mtb":"Rower górski","car":"Samochód","foot":"Pieszo","hike":"Szlakiem turystycznym","small_truck":"Mała ciężarówka","bus":"Autobus","truck":"Ciężarówka","staticlink":"link","motorcycle":"Motocykl","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Wróć","distance_unit":"Odległości w %1$s","waiting_for_gps":"Oczekiwanie na sygnał GPS...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"pt_BR":{"total_ascend":"subida de %1$s","total_descend":"descida de %1$s","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Início","intermediate_label":"Intermediário","end_label":"Fim","set_start":"Definir como início","set_intermediate":"Definir como intermediário","set_end":"Definir como fim","center_map":"Centralizar o mapa aqui","show_coords":"Mostrar coordenadas","query_osm":"","route":"Rota","add_to_route":"","delete_from_route":"Remover da rota","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Marca","gh_offline_info":"API do GraphHopper offline?","refresh_button":"Recarregar página","server_status":"Status","zoom_in":"Ampliar","zoom_out":"Reduzir zoom","zoom_to_route":"","drag_to_reorder":"Arraste para reordenar","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Via","from_hint":"De","gpx_export_button":"Exportar GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Para","route_info":"%1$s levará %2$s","search_button":"Pesquisar","more_button":"mais","pt_route_info":"chega às %1$s com %2$s trocas (%3$s)","pt_route_info_walking":"chega às %1$s caminhando (%2$s)","locations_not_found":"Rota inviável. Localização(ões) não encontrada(s) na área.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicicleta de corrida","mtb":"Mountainbike","car":"Carro","foot":"A pé","hike":"Caminhada","small_truck":"Caminhão pequeno","bus":"Ônibus","truck":"Caminhão","staticlink":"Link estático","motorcycle":"Motocicleta","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"pt_PT":{"total_ascend":"subida de %1$s","total_descend":"descida de %1$s","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"","intermediate_label":"","end_label":"","set_start":"","set_intermediate":"","set_end":"","center_map":"","show_coords":"Mostrar coordenadas","query_osm":"","route":"","add_to_route":"","delete_from_route":"","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"","gh_offline_info":"","refresh_button":"","server_status":"","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Por","from_hint":"De","gpx_export_button":"Exportar GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Para","route_info":"%1$s irá demorar %2$s","search_button":"Pesquisar","more_button":"mais","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Roteamento impossível. Localização(ões) não encontrada(s) na área.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicicleta","racingbike":"Bicicleta de corrida","mtb":"Bicicleta de montanha","car":"Carro","foot":"A pé","hike":"Caminhada","small_truck":"Camião pequeno","bus":"Autocarro","truck":"Camião","staticlink":"Ligação permanente","motorcycle":"Motocicleta","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ro":{"total_ascend":"urcare %1$s","total_descend":"coborâre %1$s","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Pornire","intermediate_label":"Intermediar","end_label":"Sfârșit","set_start":"Selectează ca punct de pornire","set_intermediate":"Selectează ca punct intermediar","set_end":"Selectează ca punct de sosire","center_map":"Centrează harta aici","show_coords":"Arată coordonatele","query_osm":"","route":"Intinerariu","add_to_route":"","delete_from_route":"Șterge din intinerariu","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Punct de interes","gh_offline_info":"Serverul GraphHopper API este disponibil?","refresh_button":"Reîmprospătează pagina","server_status":"Disponibilitate","zoom_in":"Mărește","zoom_out":"Micșorează","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Prin","from_hint":"De la","gpx_export_button":"Exportă GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"La","route_info":"%1$s durează %2$s","search_button":"Caută","more_button":"mai mult","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Traseul nu este posibil. Locul(locurile) nu pot fi găsite în zonă.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"bicicletă","racingbike":"bicicletă de curse","mtb":"Mountainbike","car":"mașină","foot":"pe jos","hike":"Drumeție","small_truck":"Camionetă","bus":"Autobuz","truck":"Camion","staticlink":"link","motorcycle":"Motocicletă","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"ru":{"total_ascend":"подъём на %1$s","total_descend":"спуск на %1$s","way_contains_ford":"На пути есть брод","way_contains_ferry":"садитесь на паром","way_contains_toll":"платная дорога","way_crosses_border":"Маршрут пересекает государственную границу","way_contains":"Маршрут содержит %1$s","way_contains_restrictions":"Маршрут с возможными ограничениями доступа","tracks":"грунтовые дороги","steps":"шаги","footways":"пешеходные дорожки","steep_sections":"крутые участки","private_sections":"частный сектор","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"Маршрут содержит потенциально опасные магистральные дороги","get_off_bike_for":"Сойдите с велосипеда и двигайтесь %1$s","start_label":"Начало","intermediate_label":"Промежуточная точка","end_label":"Конец","set_start":"Установить начало здесь","set_intermediate":"Установить промежуточной точкой","set_end":"Установить конец здесь","center_map":"Сдвинуть карту сюда","show_coords":"Показать координаты","query_osm":"Запрос OSM","route":"Маршрут","add_to_route":"Добавить пунк назначения","delete_from_route":"Удалить из маршрута","open_custom_model_box":"Открыть окно пользовательской модели","draw_areas_enabled":"Рисовать и изменять области на карте","help_custom_model":"Помощь","apply_custom_model":"Применить","custom_model_enabled":"Пользовательский Режим активирован","settings":"Настройки","settings_close":"Закрыть","exclude_motorway_example":"Избегать магистрали","exclude_disneyland_paris_example":"Избегать Disneyland Paris","simple_electric_car_example":"Электромобиль","avoid_tunnels_bridges_example":"Избегать мосты и туннели","limit_speed_example":"Предельная скорость","cargo_bike_example":"Грузовой велосипед","prefer_bike_network":"Предпочитать веломаршруты","exclude_area_example":"Исключить область","combined_example":"Комбинированный пример","examples_custom_model":"Примеры","marker":"Значок","gh_offline_info":"GraphHopper API недоступен?","refresh_button":"Обновить страницу","server_status":"Статус сервера","zoom_in":"Приблизить","zoom_out":"Отдалить","zoom_to_route":"Показать весь маршрут","drag_to_reorder":"Переместите путевую точку","route_timed_out":"Время ожидания маршрута истекло","route_request_failed":"Не удалось выполнить запрос маршрута","current_location":"Текущее местоположение","searching_location":"Поиск местоположения","searching_location_failed":"Не удалось найти местоположение","via_hint":"Через","from_hint":"От","gpx_export_button":"Экспорт GPX","gpx_button":"GPX","settings_gpx_export":"Экспорт GPX","settings_gpx_export_trk":"С дорожкой","settings_gpx_export_rte":"С маршрутом","settings_gpx_export_wpt":"С путевой точкой","hide_button":"Скрыть","details_button":"Подробности","to_hint":"До","route_info":"%1$s займет %2$s","search_button":"Поиск","more_button":"еще","pt_route_info":"Прибытие в %1$s с %2$s пересадками (%3$s)","pt_route_info_walking":"Прибытие в %1$s пешком (%2$s)","locations_not_found":"Построить маршрут невозможно. Не определено местоположение.","search_with_nominatim":"Поиск с помощью Nominatim","powered_by":"При поддержке","info":"Информация","feedback":"Обратная связь","imprint":"Отпечаток","privacy":"Конфиденциальность","terms":"Условия","bike":"Велосипед","racingbike":"Гоночный велосипед","mtb":"Горный велосипед","car":"Автомобиль","foot":"Пешком","hike":"Пеший туризм","small_truck":"Лёгкий грузовик","bus":"Автобус","truck":"Грузовой автомобиль","staticlink":"Постоянная ссылка","motorcycle":"Мотоцикл","scooter":"Самокат","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Назад","distance_unit":"Расстояния показаны в %1$s","waiting_for_gps":"Ожидание сигнала GPS...","elevation":"Высота","slope":"Уклон","towerslope":"Наклон башни","country":"Страна","surface":"Поверхность","road_environment":"Доступ к дороге","road_access":"Дорожный класс","road_class":"Класс дороги","max_speed":"Максимальная скорость","average_speed":"Средняя скорость","track_type":"","toll":"Плата за проезд","next":"Дальше","back":"Назад","as_start":"Как пункт отправления","as_destination":"Как пункт назначения","poi_removal_words":"область, вокруг, здесь, в, местный, неподалеку, этот","poi_nearby":"%1$s неподалеку","poi_in":"%1$s через %2$s","poi_airports":"аэропорты, аэропорт","poi_atm":"банкомат, деньги","poi_banks":"банки, банк","poi_bureau_de_change":"бюро обмена, пункт обмена валюты, обменный пункт, пункт обмена валюты","poi_bus_stops":"автобусные остановки, автобусная остановка, автобус","poi_bicycle":"магазин велосипедов, ремонт велосипедов, магазин велосипедов","poi_bicycle_rental":"прокат велосипедов, прокат велосипедов","poi_cafe":"кафе, кафе, кафе, кофейня, бистро","poi_car_rental":"прокат автомобилей, каршеринг, каршеринг, арендованая машина, прокат транспортных средств","poi_car_repair":"автосервис, автосервис, автосервис, автосервис","poi_charging_station":"зарядные станции, зарядная станция, зарядка, зарядное устройство","poi_cinema":"кинотеатр, кинотеатр, театр, кинотеатр, кинофильмы","poi_cuisine_american":"американская кухня, американский","poi_cuisine_african":"африканская кухня, африканский","poi_cuisine_arab":"арабская кухня, арабский","poi_cuisine_asian":"азиатская кухня, азиатский","poi_cuisine_chinese":"китайская кухня, китайский","poi_cuisine_greek":"греческая кухня, греческий","poi_cuisine_indian":"индийская кухня, индийский","poi_cuisine_italian":"итальянская кухня, итальянский","poi_cuisine_japanese":"японская кухня, японский","poi_cuisine_mexican":"мексиканская кухня, мексиканский","poi_cuisine_polish":"польская кухня, польский","poi_cuisine_russian":"русская кухня, русский","poi_cuisine_turkish":"турецкая кухня, турецкий","poi_diy":"хозяйственные магазины, хозяйственный магазин, хозяйственный магазин, товары для дома, магазин товаров для дома, магазин товаров для дома, рукоделие, рукоделие, магазин товаров для рукоделия, магазин товаров для рукоделия, пиломатериалы","poi_dentist":"стоматолог, зубной хирург","poi_doctor":"врачи, врач, терапевт","poi_education":"образование","poi_fast_food":"фастфуд, еда на вынос","poi_food_burger":"есть бургер, бургер, есть гамбургер, гамбургер","poi_food_kebab":"есть кебаб, кебаб","poi_food_pizza":"есть пиццу, пицца","poi_food_sandwich":"есть сэндвич, сэндвич, тост, есть тост","poi_food_sushi":"есть суши, суши","poi_food_chicken":"есть курицу, курица","poi_gas_station":"автозаправки, автозаправка, автозаправки, автозаправка","poi_hospitals":"больницы, больница","poi_hotels":"гостиницы, гостиница","poi_leisure":"досуг","poi_museums":"музеи, музей","poi_parking":"парковка, парковочное место","poi_parks":"парки, парк","poi_pharmacies":"аптеки, аптека","poi_playgrounds":"детские площадки, детская площадка","poi_public_transit":"общественный транспорт","poi_police":"полиция","poi_post":"почта, почта, марки","poi_post_box":"почтовый ящик, почтовый ящик, почтовый ящик, почтовый ящик","poi_railway_station":"ж/д станции, ж/д станция, поезда, поезд","poi_recycling":"переработка","poi_restaurants":"рестораны, ресторан, есть, пойти поесть","poi_schools":"школы, школа","poi_shopping":"магазины, магазин, шоппинг","poi_shop_bakery":"пекарня, пекарь","poi_shop_butcher":"мясная лавка, мясная лавка, мясной магазин, мясной рынок, мясник","poi_super_markets":"супермаркеты, супермаркет, супермаркет","poi_swim":"плавать, купание","poi_toilets":"уборные, уборная","poi_tourism":"туризм","poi_townhall":"ратуша, мэрия, муниципальный, муниципальное здание, совет, здание совета","poi_transit_stops":"остановка, станция, общественный транспорт, общественный транспорт","poi_viewpoint":"обзорная точка","poi_water":"вода","poi_wifi":"Wi-Fi, беспроводная сеть, интернет"},"sk":{"total_ascend":"%1$s celkové stúpanie","total_descend":"%1$s celkové klesanie","way_contains_ford":"popri ceste sa nachádza brod","way_contains_ferry":"","way_contains_toll":"Trasa obsahuje spoplatnené úseky.","way_crosses_border":"Trasa križuje štátnu hranicu.","way_contains":"Trasa obsahuje %1$s","way_contains_restrictions":"","tracks":"nespevnené cesty","steps":"schody","footways":"chodníky","steep_sections":"úseky s prudkým stúpaním","private_sections":"súkromné úseky","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"Je potrebné zosadnúť z bicykla a %1$s ho tlačiť","start_label":"Začiatok","intermediate_label":"Bod trasy","end_label":"Koniec","set_start":"Nastaviť ako začiatok","set_intermediate":"Nastaviť ako bod trasy","set_end":"Nastaviť ako koniec","center_map":"Vycentrovať mapu sem","show_coords":"Zobraziť súradnice","query_osm":"Požiadavka na OSM","route":"Trasa","add_to_route":"Pridať umiestnenie","delete_from_route":"Odstrániť z trasy","open_custom_model_box":"","draw_areas_enabled":"Kresliť a meniť oblasti na mape","help_custom_model":"Pomocník","apply_custom_model":"Použiť","custom_model_enabled":"Je aktívny vlastný model","settings":"Nastavenia","settings_close":"Zavrieť","exclude_motorway_example":"Vynechať diaľnice","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Limit rýchlosti","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"Vynechať oblasť","combined_example":"","examples_custom_model":"Príklady","marker":"Značka","gh_offline_info":"GraphHopper API bez pripojenia?","refresh_button":"Obnoviť stránku","server_status":"Stav","zoom_in":"Priblížiť","zoom_out":"Oddialiť","zoom_to_route":"","drag_to_reorder":"Ťahaj pre zmenu poradia","route_timed_out":"","route_request_failed":"","current_location":"Aktuálna pozícia","searching_location":"Hľadám pozíciu","searching_location_failed":"Pozícia sa nepodarila nájsť","via_hint":"Cez","from_hint":"Odkiaľ","gpx_export_button":"Export do GPX","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Skryť","details_button":"Podrobnosti","to_hint":"Kam","route_info":"%1$s zaberie %2$s","search_button":"Vyhľadať","more_button":"viac","pt_route_info":"dorazí o %1$s, %2$s prestup(y) (%3$s)","pt_route_info_walking":"príchod o %1$s iba chôdzou (%2$s)","locations_not_found":"Navigovanie nie je možné. Umiestnenie nebolo nájdené v oblasti.","search_with_nominatim":"Hľadať pomocou Nominatim-u","powered_by":"Beží na","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicykel","racingbike":"Cestný bicykel","mtb":"Horský bicykel","car":"Automobil","foot":"Pešo","hike":"Túra","small_truck":"Dodávka","bus":"Autobus","truck":"Kamión","staticlink":"nemenný odkaz","motorcycle":"Motocykel","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Späť","distance_unit":"Vzdialenosti sú v %1$s","waiting_for_gps":"Čakám na GPS signál...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"sl_SI":{"total_ascend":"Skupni vzpon: %1$s","total_descend":"Skupni spust: %1$s","way_contains_ford":"Na poti je pregaz","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Začetna točka","intermediate_label":"Vmesna točka","end_label":"Končna točka","set_start":"Nastavi kot začetno točko","set_intermediate":"Nastavi kot vmesno točko","set_end":"Nastavi kot končno točko","center_map":"Premakni na sredino","show_coords":"Prikaži koordinate","query_osm":"","route":"Pot","add_to_route":"","delete_from_route":"Izbriši iz poti","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Oznaka","gh_offline_info":"Je API GraphHopper morda izklopljen?","refresh_button":"Osveži stran","server_status":"Stanje","zoom_in":"Povečaj","zoom_out":"Pomanjšaj","zoom_to_route":"","drag_to_reorder":"Povlecite za spremembo vrstnega reda","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Preko","from_hint":"Od","gpx_export_button":"Izvozi GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Do","route_info":"%1$s bo trajalo %2$s","search_button":"Išči","more_button":"več","pt_route_info":"prispe ob %1$s s/z %2$s-imi prestopi (%3$s)","pt_route_info_walking":"prispe ob %1$s s samo hojo (%3$s)","locations_not_found":"Usmerjanje ni mogoče. Lokacije ni bilo mogoče najti na tem območju.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Kolo","racingbike":"Cestno kolo","mtb":"Gorsko kolo","car":"Avto","foot":"Hoja","hike":"Pohodništvo","small_truck":"Majhen tovornjak","bus":"Avtobus","truck":"Tovornjak","staticlink":"Povezava","motorcycle":"Motorno kolo","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"sr_RS":{"total_ascend":"%1$s ukupni uspon","total_descend":"","way_contains_ford":"","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Početak","intermediate_label":"Prelazni","end_label":"Kraj","set_start":"Postavi kao početak","set_intermediate":"Postavi kao prelazni","set_end":"Postavi kao kraj","center_map":"Postavi kao centar karte","show_coords":"Prikaži koordinate","query_osm":"","route":"Ruta","add_to_route":"","delete_from_route":"Izbriši iz rute","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Oznaka","gh_offline_info":"GraphHopper API nedostupan","refresh_button":"Osveži stranicu","server_status":"Status","zoom_in":"","zoom_out":"","zoom_to_route":"","drag_to_reorder":"","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Preko","from_hint":"Od","gpx_export_button":"Izvezi kao GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Do","route_info":"%1$s trajaće %2$s","search_button":"Pretraži","more_button":"više","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Rutiranje nije moguće. Lokacije nisu pronađene na ovome području.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bicikl","racingbike":"Trkački motocikl","mtb":"Brdski bicikl","car":"Automobil","foot":"Pešak","hike":"","small_truck":"Mali kamion","bus":"Autobus","truck":"Kamion","staticlink":"statička veza","motorcycle":"Motocikl","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"sv_SE":{"total_ascend":"%1$s stigning","total_descend":"%1$s nedstigning","way_contains_ford":"Observera att det finns ett vadställe längs rutten","way_contains_ferry":"Ta färjan","way_contains_toll":"Avgiftsbelagd väg","way_crosses_border":"","way_contains":"Rutten inkluderar %1$s","way_contains_restrictions":"","tracks":"","steps":"steg","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Start","intermediate_label":"delmål","end_label":"mål","set_start":"Ange som start","set_intermediate":"ange delmål","set_end":"Ange som mål","center_map":"Centrera kartan här","show_coords":"Visa koordinater","query_osm":"","route":"Rutt","add_to_route":"Lägg till plats","delete_from_route":"Ta bort från rutt","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"Hjälp","apply_custom_model":"Applicera","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"Exempel","marker":"Markör","gh_offline_info":"GrabHopper API offline?","refresh_button":"Ladda om sida","server_status":"Status","zoom_in":"Zooma in","zoom_out":"Zooma ut","zoom_to_route":"","drag_to_reorder":"Dra för att ändra ordning","route_timed_out":"","route_request_failed":"","current_location":"Nuvarande plats","searching_location":"Söker plats","searching_location_failed":"","via_hint":"Via","from_hint":"Från","gpx_export_button":"exportera GPX-fil","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Göm","details_button":"Detaljer","to_hint":"Till","route_info":"%1$s med körtid %2$s","search_button":"Sök","more_button":"fler","pt_route_info":"","pt_route_info_walking":"","locations_not_found":"Kan inte beräkna rutt. Platsen eller platserna kan inte hittas i området.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Cykel","racingbike":"Tävlingscykel","mtb":"Mountain bike","car":"Bil","foot":"Gång","hike":"Vandra","small_truck":"lätt lastbil","bus":"Buss","truck":"Lastbil","staticlink":"direktlänk","motorcycle":"Motorcykel","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Backa","distance_unit":"Avstånden är i %1$s","waiting_for_gps":"Väntar på GPS signal...","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"tr":{"total_ascend":"%1$s toplam tırmanış","total_descend":"%1$s toplam alçalış","way_contains_ford":"Dikkat, yolda bir sığ yer var","way_contains_ferry":"feribota binin","way_contains_toll":"Ücretli yol","way_crosses_border":"Rota ülke sınırından geçmektedir","way_contains":"Rota %1$s içermektedir","way_contains_restrictions":"","tracks":"Asfaltsız toprak yol","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Başlangıç","intermediate_label":"Ara nokta","end_label":"Son","set_start":"Başlangıç olarak ayarla","set_intermediate":"Ara nokta olarak ayarla","set_end":"Bitiş olarak ayarla","center_map":"Haritayı buraya ortala","show_coords":"Koordinatları göster","query_osm":"","route":"Rota","add_to_route":"Konum ekle","delete_from_route":"Rotadan kaldır","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"Yardım","apply_custom_model":"Uygula","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"Hız limiti","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"Örnekler","marker":"İşaretler","gh_offline_info":"GraphHopper arayüzüne ulaşılamıyor","refresh_button":"Sayfayı yinele","server_status":"Durum","zoom_in":"Yakınlaştır","zoom_out":"Uzaklaştır","zoom_to_route":"","drag_to_reorder":"Yeniden sıralamak için sürükle bırak","route_timed_out":"Rota planlaması zaman aşımına uğradı","route_request_failed":"Rota oluşturulamadı","current_location":"Mevcut konum","searching_location":"Konum aranıyor","searching_location_failed":"Konum bulunamadı","via_hint":"Yoluyla","from_hint":"Şuradan","gpx_export_button":"GPX dışa aktar","gpx_button":"GPX","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"Gizle","details_button":"Ayrıntılar","to_hint":"Yönüne","route_info":"%1$s alacak %2$s","search_button":"Ara","more_button":"daha fazlası","pt_route_info":"%2$s aktarma ile varış saati %1$s (%3$s)","pt_route_info_walking":"yürüyerek varış saati %1$s (%2$s)","locations_not_found":"Rota oluşturulamadı. Bölgedeki yer(ler) bulunamadı.","search_with_nominatim":"Nominatim ile ara","powered_by":"... tarafından desteklenmektedir","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Bisiklet","racingbike":"Yarış Bisikleti","mtb":"Dağ Bisikleti","car":"Otomobil","foot":"Yürüyerek","hike":"Doğa yürüyüşü","small_truck":"Kamyonet","bus":"Otobüs","truck":"Kamyon","staticlink":"kalıcı bağlantı","motorcycle":"motosiklet","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"geri","distance_unit":"Mesafe birimi %1$s","waiting_for_gps":"GPS sinyali bekleniyor","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"uk":{"total_ascend":"%1$s загалом підйому","total_descend":"%1$s загалом спуску","way_contains_ford":"На шляху є брід","way_contains_ferry":"","way_contains_toll":"","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Початок","intermediate_label":"Проміжна точка","end_label":"Кінець","set_start":"Встановити початок","set_intermediate":"Додати проміжну точку","set_end":"Встановити кінець","center_map":"Відцентрувати мапу тут","show_coords":"Показати координати","query_osm":"","route":"Маршрут","add_to_route":"","delete_from_route":"Вилучити з маршруту","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Значок","gh_offline_info":"GraphHopper API в офлайн режимі?","refresh_button":"Оновити сторінку","server_status":"Стан","zoom_in":"Наблизити","zoom_out":"Віддалити","zoom_to_route":"","drag_to_reorder":"Перемістіть шляхову точку","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"через","from_hint":"Від","gpx_export_button":"Експорт в GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"До","route_info":"%1$s займе %2$s","search_button":"Пошук","more_button":"ще","pt_route_info":"Прибуття до %1$s з %2$s пересадками (%3$s)","pt_route_info_walking":"Прибуття до %1$s пішки (%2$s)","locations_not_found":"Побудова маршруту неможлива. Місцезнаходження не визначено.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Велосипед","racingbike":"Шосейний велосипед","mtb":"Гірський велосипед","car":"Автомобіль","foot":"Пішки","hike":"Пішохідний туризм","small_truck":"Мала вантажівка","bus":"Автобус","truck":"Велика вантажівка","staticlink":"статичне посилання","motorcycle":"Мотоцикл","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"uz":{"total_ascend":"%1$s ga ko\'tarilish","total_descend":"%1$s ga tushish","way_contains_ford":"Yo\'lda ford bor","way_contains_ferry":"paromga o\'tiring","way_contains_toll":"pullik yo\'l","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Boshlanish","intermediate_label":"Oraliq nuqta","end_label":"Tamom","set_start":"Boshlash nuqtasi deb belgilash","set_intermediate":"Oraliq nuqtasi deb belgilash","set_end":"Yakunlash nuqtasi deb belgilash","center_map":"Xaritani shu yerga siljitish","show_coords":"Kordinatalarni ko\'rsatish","query_osm":"","route":"Marshrut","add_to_route":"","delete_from_route":"Marshrutdan o\'chirish","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Belgi","gh_offline_info":"GraphHopper API mavjud emasmi?","refresh_button":"Sahifani yangilash","server_status":"Server holati","zoom_in":"Yaqinlashtirish","zoom_out":"Uzoqlashtirish","zoom_to_route":"","drag_to_reorder":"Yoʻnalish nuqtasini koʻchirish","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"orqali","from_hint":"dan","gpx_export_button":"GPX yuklab olish","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"gacha","route_info":"%1$s %2$s oladi","search_button":"Qidiruv","more_button":"yana","pt_route_info":"","pt_route_info_walking":"%1$s ga piyoda yetib kelish (%2$s)","locations_not_found":"Marshrut qurish imkonsiz. Joylashuvingiz aniqlanmadi","search_with_nominatim":"Nominatim orqali qidirish","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Velosiped","racingbike":"Poyga velosipedi","mtb":"Tog\' velosipedi","car":"Avtoulov","foot":"Piyoda","hike":"Piyoda turizmi","small_truck":"Yengil yuk mashinasi","bus":"Avtobus","truck":"Yuk mashinasi","staticlink":"Doimiy havola","motorcycle":"Mototsikl","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"Xaritaga qaytish","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"vi_VN":{"total_ascend":"Đi tiếp %1$s nữa","total_descend":"Tổng số hạ %1$s","way_contains_ford":"Chú ý, có khúc sông cạn trên đường","way_contains_ferry":"","way_contains_toll":"đường thu phí","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"Điểm bắt đầu","intermediate_label":"Điểm trung gian","end_label":"Điểm kết thúc","set_start":"Chọn điểm bắt đầu","set_intermediate":"Chọn điểm trung gian","set_end":"Chọn điểm kết thúc","center_map":"Trung tâm bản đồ","show_coords":"Xem tọa độ","query_osm":"","route":"Lộ trình","add_to_route":"","delete_from_route":"Xóa khỏi tuyến đường","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"Đánh dấu","gh_offline_info":"Mất kết nối với GH API","refresh_button":"Làm mới lại trang","server_status":"Tình trạng Server","zoom_in":"Phóng to","zoom_out":"Thu nhỏ","zoom_to_route":"","drag_to_reorder":"Kéo để sắp xếp lại","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"Qua","from_hint":"Từ","gpx_export_button":"Xuất GPX","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"Đến","route_info":"%1$s mất %2$s","search_button":"Tìm","more_button":"thêm","pt_route_info":"Đến lúc %1$s với %2$s phương tiện(tuyến) (%3$s )","pt_route_info_walking":"Đến lúc %1$s chỉ bằng cách đi bộ (%2$s)","locations_not_found":"Không tìm thấy lộ trình! Các điểm đã chọn không tìm thấy trong vùng này.","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"Xe đạp","racingbike":"Xe đạp đua","mtb":"Xe leo núi","car":"Ô tô","foot":"Đi bộ","hike":"Đi bộ đường dài","small_truck":"Xe tải nhỏ","bus":"Xe buýt","truck":"Xe tải","staticlink":"liên kết tĩnh","motorcycle":"Mô tô","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"zh_CN":{"total_ascend":"总上升 %1$s","total_descend":"总下降 %1$s","way_contains_ford":"路径中包含河滩","way_contains_ferry":"路径中包含轮渡","way_contains_toll":"路径中包含收费路段","way_crosses_border":"路径中跨越了国界","way_contains":"路径中包含%1$s","way_contains_restrictions":"可能存在访问限制的路线","tracks":"未铺设的土路","steps":"台阶","footways":"人行道","steep_sections":"陡峭路段","private_sections":"私人路段","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"路线中可能包含潜在危险的主干道或其他更糟糕的道路条件","get_off_bike_for":"骑行者必须下车并推行自行车 %1$s","start_label":"起点","intermediate_label":"途经点","end_label":"终点","set_start":"设置为起点","set_intermediate":"设置为途经点","set_end":"设置为终点","center_map":"地图居中到这里","show_coords":"显示坐标","query_osm":"查询 OSM","route":"路线","add_to_route":"增加位置","delete_from_route":"从线路中移除","open_custom_model_box":"打开自定义模型选项","draw_areas_enabled":" 在地图上绘制和修改区域","help_custom_model":"帮助","apply_custom_model":"应用","custom_model_enabled":"激活自定义模型","settings":"设置","settings_close":"关闭","exclude_motorway_example":"排除高速公路","exclude_disneyland_paris_example":"请避开巴黎迪士尼乐园","simple_electric_car_example":"适合电动汽车行驶的路线","avoid_tunnels_bridges_example":"请避开桥梁和隧道","limit_speed_example":"限速","cargo_bike_example":"货运自行车","prefer_bike_network":"优先选择自行车道","exclude_area_example":"排除区域","combined_example":"综合范例","examples_custom_model":"范例","marker":"标记","gh_offline_info":"无法连接 GraphHopper API","refresh_button":"刷新网页","server_status":"状态","zoom_in":"放大","zoom_out":"缩小","zoom_to_route":"","drag_to_reorder":"拖动可重新排序","route_timed_out":"导航计算超时","route_request_failed":"导航请求失败","current_location":"当前位置","searching_location":"正在搜索位置","searching_location_failed":"搜索位置失败","via_hint":"途经点","from_hint":"起点","gpx_export_button":"GPX 格式导出","gpx_button":"GPX","settings_gpx_export":"GPX导出","settings_gpx_export_trk":"轨迹","settings_gpx_export_rte":"路线","settings_gpx_export_wpt":"航点","hide_button":"隐藏","details_button":"详情","to_hint":"终点","route_info":"%1$s 的路线,需要 %2$s","search_button":"搜索","more_button":"更多","pt_route_info":"换乘 %2$s 次,在 %1$s 到达 (%3$s)","pt_route_info_walking":"仅需步行,在 %1$s 到达 (%2$s)","locations_not_found":"无法导航,因为地点未找到。","search_with_nominatim":"用 Nominatim 搜索","powered_by":"Powered by","info":"信息","feedback":"反馈","imprint":"印记","privacy":"个人隐私","terms":"条款","bike":"自行车","racingbike":"竞技自行车","mtb":"山地自行车","car":"驾车","foot":"步行","hike":"徒步","small_truck":"小货车","bus":"公交车","truck":"卡车","staticlink":"永久链接","motorcycle":"摩托车","scooter":"滑板车","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"返回","distance_unit":"距离单位:%1$s","waiting_for_gps":"正在搜索 GPS 信号……","elevation":"高程(地面某点相对于海平面或其他参考平面的垂直距离)","slope":"坡度","towerslope":"塔形坡","country":"国家/乡村","surface":"表面","road_environment":"道路环境","road_access":"道路通行","road_class":"道路等级","max_speed":"最高速度","average_speed":"平均速度","track_type":"轨道类型","toll":"收费","next":"下一页","back":"返回","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"zh_HK":{"total_ascend":"總共上昇 %1$s","total_descend":"總共下降 %1$s","way_contains_ford":"路径中包含河灘","way_contains_ferry":"路径中包含渡輪","way_contains_toll":"路径中包含收費路段","way_crosses_border":"路径跨越了國界","way_contains":"路径中包含%1$s","way_contains_restrictions":"可能存在訪問限制的路線","tracks":"未鋪設的土路","steps":"台階","footways":"人行道","steep_sections":"陡峭路段","private_sections":"私人路段","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"路線中可能包含潛在危險的主幹道或其他更糟糕的路況","get_off_bike_for":"騎行者必須下車並推行自行車 %1$s","start_label":"起點","intermediate_label":"途經點","end_label":"目的地","set_start":"設置為起點","set_intermediate":"設置為途經點","set_end":"設置為目的地","center_map":"地圖居中","show_coords":"顯示坐標","query_osm":"查詢 OSM","route":"路線","add_to_route":"增加位置","delete_from_route":"從路線移除","open_custom_model_box":"打開自定義模型選項","draw_areas_enabled":"在地圖上繪製和修改區域","help_custom_model":"幫助","apply_custom_model":"應用","custom_model_enabled":"啟用自定義模型","settings":"設置","settings_close":"關閉","exclude_motorway_example":"排除高速公路","exclude_disneyland_paris_example":"請避開巴黎迪士尼樂園","simple_electric_car_example":"適合電動汽車行駛的路線","avoid_tunnels_bridges_example":"請避開橋樑和隧道","limit_speed_example":"限速","cargo_bike_example":"貨運自行車","prefer_bike_network":"優先選擇自行車道","exclude_area_example":"排除區域","combined_example":"綜合範例","examples_custom_model":"範例","marker":"標記","gh_offline_info":"無法連接 GraphHopper API","refresh_button":"刷新網頁","server_status":"狀況","zoom_in":"放大","zoom_out":"縮小","zoom_to_route":"","drag_to_reorder":"拖動可重新排序","route_timed_out":"導航計算超時","route_request_failed":"導航請求失敗","current_location":"當前位置","searching_location":"正在搜索位置","searching_location_failed":"搜索位置失敗","via_hint":"途經","from_hint":"起點","gpx_export_button":"GPX格式輸出","gpx_button":"GPX","settings_gpx_export":"GPX導出","settings_gpx_export_trk":"軌跡","settings_gpx_export_rte":"路線","settings_gpx_export_wpt":"航點","hide_button":"隱藏","details_button":"詳情","to_hint":"目的地","route_info":"%1$s 需時 %2$s","search_button":"搜尋","more_button":"更多","pt_route_info":"换乘 %2$s 次,在 %1$s 到達 (%3$s)","pt_route_info_walking":"僅需步行,在 %1$s 到達 (%2$s)","locations_not_found":"無法導航,因為地點未找到。","search_with_nominatim":"用 Nominatim 搜索","powered_by":"Powered by","info":"信息","feedback":"反饋","imprint":"印記","privacy":"個人隱私","terms":"條款","bike":"單車","racingbike":"競技單車","mtb":"越野單車","car":"汽車","foot":"步行","hike":"徒步","small_truck":"小型貨車","bus":"巴士","truck":"貨車","staticlink":"鏈接","motorcycle":"電單車","scooter":"滑板車","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"返回","distance_unit":"距離單位:%1$s","waiting_for_gps":"正在搜索 GPS 信號……","elevation":"高程(地面某點相對於海平面或其他參考平面的垂直距離)","slope":"坡度","towerslope":"塔形坡","country":"國家/鄉村","surface":"表面","road_environment":"道路環境","road_access":"道路通行","road_class":"道路等級","max_speed":"最高速度","average_speed":"平均速度","track_type":"軌道類型","toll":"收費","next":"下一頁","back":"返回","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""},"zh_TW":{"total_ascend":"總共上昇 %1$s","total_descend":"總共下降 %1$s","way_contains_ford":"路徑中含有淺灘","way_contains_ferry":"搭乘渡輪","way_contains_toll":"收費道路","way_crosses_border":"","way_contains":"","way_contains_restrictions":"","tracks":"","steps":"","footways":"","steep_sections":"","private_sections":"","restricted_sections":"","challenging_sections":"","dangerous_sections":"","trunk_roads_warn":"","get_off_bike_for":"","start_label":"出發點","intermediate_label":"途經點","end_label":"抵達點","set_start":"設為出發點","set_intermediate":"設為途經點","set_end":"設為抵達點","center_map":"設為地圖中心","show_coords":"顯示坐標","query_osm":"","route":"路線","add_to_route":"","delete_from_route":"從路線中移除","open_custom_model_box":"","draw_areas_enabled":"","help_custom_model":"","apply_custom_model":"","custom_model_enabled":"","settings":"","settings_close":"","exclude_motorway_example":"","exclude_disneyland_paris_example":"","simple_electric_car_example":"","avoid_tunnels_bridges_example":"","limit_speed_example":"","cargo_bike_example":"","prefer_bike_network":"","exclude_area_example":"","combined_example":"","examples_custom_model":"","marker":"標記","gh_offline_info":"GraphHopper API 離線狀態?","refresh_button":"刷新頁面","server_status":"狀態","zoom_in":"放大","zoom_out":"縮小","zoom_to_route":"","drag_to_reorder":"拖曳排序","route_timed_out":"","route_request_failed":"","current_location":"","searching_location":"","searching_location_failed":"","via_hint":"途經","from_hint":"起點","gpx_export_button":"匯出GPS","gpx_button":"","settings_gpx_export":"","settings_gpx_export_trk":"","settings_gpx_export_rte":"","settings_gpx_export_wpt":"","hide_button":"","details_button":"","to_hint":"迄點","route_info":"%1$s 需時 %2$s","search_button":"搜尋","more_button":"更多","pt_route_info":"於 %1$s 抵達,%2$s 次轉乘 (%3$s)","pt_route_info_walking":"於 %1$s 抵達,僅步行 (%2$s)","locations_not_found":"無法進行規劃。無法在此區域內找到指定的地點","search_with_nominatim":"","powered_by":"","info":"","feedback":"","imprint":"","privacy":"","terms":"","bike":"自行車","racingbike":"競技自行車","mtb":"登山車","car":"汽車","foot":"步行","hike":"健行","small_truck":"小貨車","bus":"公車","truck":"貨車","staticlink":"永久鏈結","motorcycle":"摩托車","scooter":"","car_settings":"","car_settings_car":"","car_settings_car_avoid_ferry":"","car_settings_car_avoid_motorway":"","car_settings_car_avoid_toll":"","truck_settings":"","truck_settings_truck":"","truck_settings_small_truck":"","foot_settings":"","foot_settings_foot":"","foot_settings_hike":"","racingbike_settings":"","racingbike_settings_racingbike":"","racingbike_settings_ecargobike":"","back_to_map":"","distance_unit":"","waiting_for_gps":"","elevation":"","slope":"","towerslope":"","country":"","surface":"","road_environment":"","road_access":"","road_class":"","max_speed":"","average_speed":"","track_type":"","toll":"","next":"","back":"","as_start":"","as_destination":"","poi_removal_words":"","poi_nearby":"","poi_in":"","poi_airports":"","poi_atm":"","poi_banks":"","poi_bureau_de_change":"","poi_bus_stops":"","poi_bicycle":"","poi_bicycle_rental":"","poi_cafe":"","poi_car_rental":"","poi_car_repair":"","poi_charging_station":"","poi_cinema":"","poi_cuisine_american":"","poi_cuisine_african":"","poi_cuisine_arab":"","poi_cuisine_asian":"","poi_cuisine_chinese":"","poi_cuisine_greek":"","poi_cuisine_indian":"","poi_cuisine_italian":"","poi_cuisine_japanese":"","poi_cuisine_mexican":"","poi_cuisine_polish":"","poi_cuisine_russian":"","poi_cuisine_turkish":"","poi_diy":"","poi_dentist":"","poi_doctor":"","poi_education":"","poi_fast_food":"","poi_food_burger":"","poi_food_kebab":"","poi_food_pizza":"","poi_food_sandwich":"","poi_food_sushi":"","poi_food_chicken":"","poi_gas_station":"","poi_hospitals":"","poi_hotels":"","poi_leisure":"","poi_museums":"","poi_parking":"","poi_parks":"","poi_pharmacies":"","poi_playgrounds":"","poi_public_transit":"","poi_police":"","poi_post":"","poi_post_box":"","poi_railway_station":"","poi_recycling":"","poi_restaurants":"","poi_schools":"","poi_shopping":"","poi_shop_bakery":"","poi_shop_butcher":"","poi_super_markets":"","poi_swim":"","poi_toilets":"","poi_tourism":"","poi_townhall":"","poi_transit_stops":"","poi_viewpoint":"","poi_water":"","poi_wifi":""}}');class r{constructor(e,t,n){if(!t)throw Error("Translation is undefined");if(!n)throw Error("Translation fallback is undefined");this.lang=e,this.data=t,this.fallback=n}get(e,t){let n=this.data[e];if(!n&&(n=this.fallback[e],!n))return e;if(t)for(let e=0;e<t.length;e++)n=n.replace("%"+(e+1)+"$s",t[e]);return n||""}getLang(){return this.lang}}let o;function s(e){return e.indexOf("_")>0?e.substring(0,e.indexOf("_")):e}function a(){if(!o)throw new Error("init translation via setTranslation before using getTranslation");return o}function l(e,t){return a().get(e,t)}var c=n(7810);class u{constructor(e){this._subscriptions=[],this._state=e}get state(){return this._state}receive(e){const t=this.reduce(this._state,e);t!==this._state&&this.setState(t)}register(e){this._subscriptions.push(e)}deregister(e){this._subscriptions=this._subscriptions.filter(t=>t!==e)}setState(e){this._state=e,this.notifyChanged()}notifyChanged(){this._subscriptions.forEach(e=>e())}}class d{constructor(e){this.result=e}}class p{constructor(e,t){this.point=e,this.zoomResponse=t}}class h{constructor(e){this.profile=e}}class f{constructor(e){this.group=e}}class _{constructor(e,t,n,i){this.atIndex=e,this.coordinate=t,this.isInitialized=n,this.zoom=i}}class g{constructor(e){this.queryPoints=e}}class m{}class y{constructor(e){this.point=e}}class v{constructor(e,t){this.point=e,this.newIndex=t}}class b{constructor(e){this.point=e}}class x{constructor(e){this.enabled=e}}class w{constructor(e,t){this.customModelStr=e,this.issueRoutingRequest=t}}class k{constructor(e,t,n){this.result=n,this.request=e,this.zoom=t}}class C{constructor(e){this.message=e}}class A extends C{constructor(e,t){super(t),this.request=e}}class S{}class E{constructor(e){this.path=e}}class I{}class T{constructor(e){this.layer=e}}class M{constructor(e){this.routingGraphEnabled=e}}class P{constructor(e){this.urbanDensityEnabled=e}}class R{constructor(e){this.externalMVTLayerEnabled=e}}class z{}class L{constructor(e){this.coordinate=e}}class O{constructor(e){this.bbox=e}}class F{constructor(e){this.pathDetailsPoint=e}}class j{constructor(e){this.bbox=e}}class D{constructor(e){this.segments=e}}class N{constructor(e,t){this.point=e,this.properties=t}}class B{constructor(e,t){this.coordinate=e,this.text=t}}class q{constructor(e){this.updatedSettings=e}}class G{constructor(e){this.selected=e}}class V{constructor(e){this.pois=e}}class W{}class H{}class U{}class ${}class K{constructor(e){this.error=e}}class X{constructor(e,t,n){this.coordinate=e,this.accuracy=t,this.heading=n}}const Z={showDistanceInMiles:!1,drawAreasEnabled:!1,gpxExportRte:!1,gpxExportWpt:!1,gpxExportTrk:!0},Y=(0,c.createContext)(Z),Q=new class{constructor(){this.receivers=[],this.isDispatching=!1}dispatch(e){this.isDispatching&&console.error("No calls to 'dispatch' allowed while another dispatch is ongoing."),this.isDispatching=!0,this.receivers.forEach(t=>t.receive(e)),this.isDispatching=!1}register(e){this.receivers.push(e)}clear(){this.receivers=[]}},J={surface:{asphalt:"#2E7D32",paved:"#43A047",concrete:"#66BB6A","concrete:plates":"#A5D6A7","concrete:lanes":"#388E3C",paving_stones:"#81C784",metal:"#00897B",compacted:"#FFB74D",gravel:"#FF8A65",fine_gravel:"#FFCC80",unpaved:"#C68642",ground:"#9E9D24",earth:"#8D6E63",grass:"#7CB342",grass_paver:"#AED581",sand:"#FFD54F",mud:"#5D4037",dirt:"#E53935",wood:"#C62828",cobblestone:"#D81B60","cobblestone:flattened":"#D81B60",sett:"#AD1457",unhewn_cobblestone:"#880E4F"},road_class:{motorway:"#D32F2F",trunk:"#E64A19",primary:"#F57C00",secondary:"#FFA726",tertiary:"#42A5F5",residential:"#66BB6A",unclassified:"#78909C",living_street:"#81C784",service:"#A5D6A7",cycleway:"#2E7D32",path:"#66BB6A",track:"#81C784",bridleway:"#795548",footway:"#EC407A",pedestrian:"#F48FB1",steps:"#FF5722"},road_environment:{road:"#757575",ferry:"#1976D2",bridge:"#5D4037",tunnel:"#37474F",ford:"#FF8F00"},track_type:{grade1:"#2E7D32",grade2:"#8BC34A",grade3:"#FFC107",grade4:"#FF9800",grade5:"#E53935"},toll:{no:"#4CAF50",all:"#E53935",hgv:"#FF9800"}},ee=[{label:"flat (≤3%)",shortLabel:"flat",maxSlope:3,color:"#2E7D32"},{label:"mild (3–6%)",shortLabel:"mild",maxSlope:6,color:"#FF9800"},{label:"steep (6–10%)",shortLabel:"steep",maxSlope:10,color:"#F44336"},{label:"very steep (>10%)",shortLabel:"v. steep",maxSlope:1/0,color:"#7B1FA2"}],te=["#F44336","#FF9800","#FFD54F","#66BB6A","#2E7D32"];function ne(e,t){for(let n=0;n<t.length;n++)if(e<t[n])return te[n];return te[Math.min(t.length,te.length-1)]}const ie=["#332288","#88ccee","#44aa99","#117733","#999933","#ddcc77","#cc6677","#882255","#aa4499"];function re(e){const t=Math.abs(e);for(const e of ee)if(t<=e.maxSlope)return e.color;return ee[ee.length-1].color}function oe(e){const t=Math.max(0,Math.min(1,e));return`rgb(${Math.round(0+241*t)}, ${Math.round(153+-130*t)}, ${Math.round(247+-229*t)})`}function se(e){return"missing"===e||"unclassified"===e||"Undefined"===e||""===e}function ae(e,t){const n=e=>.017453292519943295*e,i=n(t[1]-e[1]),r=n(t[0]-e[0]),o=Math.cos(n((e[1]+t[1])/2))*r;return 6371e3*Math.sqrt(i*i+o*o)}function le(e){if(0===e.length)return[];const t=e[0].length>=3,n=[];let i=0;for(let r=0;r<e.length;r++){if(t&&e[r].length<3)throw new Error(`Coordinate at index ${r} is 2D but first coordinate is 3D`);r>0&&(i+=ae(e[r-1],e[r])),n.push({distance:i,elevation:t?e[r][2]:0,lng:e[r][0],lat:e[r][1]})}return n}function ce(e){let t=1/0,n=-1/0,i=0,r=0;for(const o of e){const e=o[2];null!=e&&(r++,"number"==typeof e&&isFinite(e)&&(i++,t=Math.min(e,t),n=Math.max(e,n)))}return{numeric:i===r&&i>0,minVal:t===1/0?0:t,maxVal:n===-1/0?0:n}}function ue(e,t,n,i,r,o=""){const s=ce(n),a=s.numeric&&s.minVal!==s.maxVal?"line":"bars",l=s.numeric?function(e){const t=e.map(e=>e[2]).filter(e=>"number"==typeof e&&isFinite(e));if(0===t.length)return e;t.sort((e,t)=>e-t);const n=t[Math.floor(.99*t.length)];return e.map(([e,t,i])=>null==i?[e,t,0]:"number"!=typeof i||isFinite(i)?[e,t,i]:[e,t,n])}(n):n,c=s.numeric?ce(l):s,u="average_speed"===e||"max_speed"===e;let d,p;if("line"===a&&u){const e=function(e){const t=e.includes("car")&&!e.includes("cargobike")||e.includes("truck")||e.includes("scooter")||e.includes("bus")||e.includes("motorcycle"),n=e.includes("hike")||e.includes("foot");return t?[30,50,80]:n?[3,4,5]:[5,10,15,20]}(o);d=l.map(([t,n,o])=>({fromDistance:r[t]||0,toDistance:r[n]||0,value:o,color:ne(o,e),coordinates:i.slice(t,n+1).map(e=>[e[0],e[1]])}));const t=function(e){return[`< ${e[0]}`,...e.slice(0,-1).map((t,n)=>`${t}–${e[n+1]}`),`≥ ${e[e.length-1]}`]}(e);p=t.map((e,t)=>({label:e,color:te[Math.min(t,te.length-1)]}))}else if("line"===a){d=l.map(([e,t,n])=>{const o=c.maxVal!==c.minVal?(n-c.minVal)/(c.maxVal-c.minVal):0;return{fromDistance:r[e]||0,toDistance:r[t]||0,value:n,color:oe(o),coordinates:i.slice(e,t+1).map(e=>[e[0],e[1]])}});const e=Math.round((c.minVal+c.maxVal)/2);p=[{label:String(c.minVal),color:oe(0)},{label:String(e),color:oe(.5)},{label:String(c.maxVal),color:oe(1)}]}else{const t=function(e,t){const n=new Map,i=J[e];let r=0;for(const e of t){const t=String(e);n.has(t)||(se(e)?n.set(t,"#dddddd"):i&&i[t]?n.set(t,i[t]):(n.set(t,ie[r%ie.length]),r++))}return n}(e,l.map(e=>e[2]));d=l.map(([e,n,o])=>({fromDistance:r[e]||0,toDistance:r[n]||0,value:null!=o?o:"Undefined",color:t.get(String(null!=o?o:"Undefined"))||"#dddddd",coordinates:i.slice(e,n+1).map(e=>[e[0],e[1]])}));const n=new Set;p=[];for(const[,,e]of l){const i=String(null!=e?e:"Undefined");n.has(i)||(n.add(i),p.push({label:i,color:t.get(i)||"#dddddd"}))}}return{key:e,label:t,type:a,segments:d,legend:p,minValue:"line"===a?c.minVal:void 0,maxValue:"line"===a?c.maxVal:void 0,unit:u?"km/h":void 0}}var de=n(6186),pe=n.n(de),he=n(2155),fe=n.n(he),_e=n(7433),ge=n.n(_e),me=n(8626),ye=n.n(me),ve=n(8990),be=n.n(ve),xe=n(9827),we=n.n(xe),ke=n(4408),Ce={};Ce.styleTagTransform=we(),Ce.setAttributes=ye(),Ce.insert=ge().bind(null,"head"),Ce.domAPI=fe(),Ce.insertStyleElement=be(),pe()(ke.A,Ce);const Ae=ke.A&&ke.A.locals?ke.A.locals:void 0;function Se(e,t,n){if(t<=e||n<2)return[e];const i=(t-e)/(n-1),r=Math.pow(10,Math.floor(Math.log10(i)));let o=10*r;for(const i of[1,2,5,10]){const s=i*r,a=Math.ceil(e/s)*s,l=Math.floor(t/s)*s;if(l>=a&&Math.round((l-a)/s)+1<=n){o=s;break}}const s=Math.floor(e/o)*o,a=Math.ceil(t/o)*o,l=[];for(let e=s;e<=a+.5*o;e+=o)l.push(Math.round(1e10*e)/1e10);return l}function Ee(e,t){if(t){const t=e/1609.34;return t<.1?`${Math.round(e/.3048)} ft`:`${Te(t)} mi`}return e<1e3?`${Math.round(e)} m`:`${Te(e/1e3)} km`}function Ie(e,t){return t?`${Math.round(e/.3048)} ft`:`${Math.round(e)} m`}function Te(e){return e>=100?Math.round(e).toString():e>=10?(Math.round(10*e)/10).toString():(Math.round(100*e)/100).toString()}const Me={top:10,right:15,bottom:26,left:48},Pe="12px sans-serif",Re="#666";class ze{constructor(e,t){this.data=null,this.config={showDistanceInMiles:!1,height:160,margin:Me,devicePixelRatio:"undefined"!=typeof window&&window.devicePixelRatio||1},this.selectedDetail=null,this.visibleAlternativeIndex=-1,this.cssWidth=0,this.cssHeight=0,this.chartCanvas=e,this.overlayCanvas=t}getEffectiveMargin(){var e;const t=this.config.margin;let n=t.left;if(this.data&&this.data.elevation.length>0){const{eleMax:e}=this.getElevationRange();Math.abs(e)>=1e3&&(n=56)}return"line"===(null===(e=this.selectedDetail)||void 0===e?void 0:e.type)?{...t,left:n,right:35}:{...t,left:n}}setData(e){this.data=e,this.render()}setConfig(e){Object.assign(this.config,e),this.render()}setSelectedDetail(e){this.selectedDetail=e,this.render()}setVisibleAlternativeIndex(e){this.visibleAlternativeIndex=e,this.render()}resize(e,t){this.cssWidth=e,this.cssHeight=t;const n=this.config.devicePixelRatio;for(const i of[this.chartCanvas,this.overlayCanvas])i.width=Math.round(e*n),i.height=Math.round(t*n),i.style.width=e+"px",i.style.height=t+"px";this.render()}hitTest(e,t){if(!this.data||0===this.data.elevation.length)return null;const n=this.getEffectiveMargin(),i=this.cssWidth-n.left-n.right,r=this.data.elevation,o=e-n.left;if(o<0||o>i)return null;const s=r[r.length-1].distance;if(0===s)return null;const a=o/i*s;let l=0,c=r.length-1;for(;l<c;){const e=l+c>>1;r[e].distance<a?l=e+1:c=e}l>0&&Math.abs(r[l-1].distance-a)<Math.abs(r[l].distance-a)&&(l-=1);const u=r[l];let d;if(this.selectedDetail)for(const e of this.selectedDetail.segments)if(a>=e.fromDistance&&a<=e.toDistance){d=e;break}return{distance:u.distance,elevationIndex:l,point:{lng:u.lng,lat:u.lat},elevation:u.elevation,segment:d}}drawHoverLine(e){var t;const n=this.overlayCanvas.getContext("2d");if(!n||!this.data||0===this.data.elevation.length)return;const i=this.config.devicePixelRatio,r=this.getEffectiveMargin(),o=this.cssWidth-r.left-r.right,s=this.data.elevation[this.data.elevation.length-1].distance;if(0===s)return;n.save(),n.setTransform(i,0,0,i,0,0),n.clearRect(0,0,this.cssWidth,this.cssHeight);const a=r.left+e.distance/s*o,l=this.cssHeight-r.bottom,c=this.selectedDetail&&"line"!==this.selectedDetail.type?20:0;if(n.beginPath(),n.strokeStyle="#333",n.lineWidth=1,n.moveTo(Math.round(a)+.5,r.top),n.lineTo(Math.round(a)+.5,l),n.stroke(),"line"!==(null===(t=this.selectedDetail)||void 0===t?void 0:t.type)){const{eleMin:t,eleMax:i}=this.getElevationRange(),o=l-r.top-c,s=l-c-(e.elevation-t)/(i-t||1)*o;n.beginPath(),n.arc(a,s,4,0,2*Math.PI),n.fillStyle="#333",n.fill(),n.strokeStyle="white",n.lineWidth=2,n.stroke()}const u=this.config.showDistanceInMiles,d=Ee(e.distance,u);let p;p=e.segment?String(e.segment.value):Ie(e.elevation,u);const h=p?`${d} ${p}`:d;n.font="12px sans-serif";const f=n.measureText(h).width+12;let _=a-f/2;_=Math.max(r.left,Math.min(_,this.cssWidth-r.right-f));const g=r.top+2;n.fillStyle="rgba(255,255,255,0.9)",n.strokeStyle="#ccc",n.lineWidth=1,n.beginPath(),n.roundRect(_,g,f,20,3),n.fill(),n.stroke(),n.fillStyle="#333",n.textAlign="center",n.textBaseline="middle",n.fillText(h,_+f/2,g+10),n.restore()}clearHoverLine(){const e=this.overlayCanvas.getContext("2d");if(!e)return;const t=this.config.devicePixelRatio;e.save(),e.setTransform(t,0,0,t,0,0),e.clearRect(0,0,this.cssWidth,this.cssHeight),e.restore()}getElevationRange(){if(!this.data||0===this.data.elevation.length)return{eleMin:0,eleMax:100};let e=1/0,t=-1/0;for(const n of this.data.elevation)e=Math.min(e,n.elevation),t=Math.max(t,n.elevation);if(t-e<100){const n=(e+t)/2;e=n-50,t=n+50}const n=.1*(t-e);return e-=n,t+=n,{eleMin:e,eleMax:t}}render(){var e;const t=this.chartCanvas.getContext("2d");if(!t||0===this.cssWidth||0===this.cssHeight)return;if(!this.data||0===this.data.elevation.length)return t.save(),t.setTransform(this.config.devicePixelRatio,0,0,this.config.devicePixelRatio,0,0),t.clearRect(0,0,this.cssWidth,this.cssHeight),void t.restore();const n=this.config.devicePixelRatio;t.save(),t.setTransform(n,0,0,n,0,0),t.clearRect(0,0,this.cssWidth,this.cssHeight);const i=this.getEffectiveMargin(),r=this.cssWidth-i.left-i.right,o=this.cssHeight-i.bottom,s=this.selectedDetail&&"line"!==this.selectedDetail.type?20:0,a=o-i.top-s,l=this.data.elevation,c=l[l.length-1].distance,{eleMin:u,eleMax:d}=this.getElevationRange(),p=c>0?e=>i.left+e/c*r:e=>i.left+r/2,h=e=>o-s-(e-u)/(d-u)*a;this.drawGrid(t,u,d,c,p,h,r,a,s);const f="line"===(null===(e=this.selectedDetail)||void 0===e?void 0:e.type);f||(this.drawElevationArea(t,l,p,h,o-s),this.visibleAlternativeIndex>=0&&this.visibleAlternativeIndex<this.data.alternativeElevations.length&&this.drawAlternativeElevation(t,this.data.alternativeElevations[this.visibleAlternativeIndex],r,o,s,a,u,d)),this.selectedDetail&&(f?this.drawDetailLine(t,this.selectedDetail,p,o,s,a,i.top):this.drawDetailBars(t,this.selectedDetail,p,o,s)),this.drawViaPointMarkers(t,p,i.top,o),this.drawXAxis(t,c,p,o),f||this.drawYAxis(t,u,d,h,i.left,i.top,o-s),t.restore(),this.clearHoverLine()}drawGrid(e,t,n,i,r,o,s,a,l){const c=this.getEffectiveMargin();e.strokeStyle="#e8e8e8",e.lineWidth=1;const u=Se(t,n,5);for(const t of u){const n=Math.round(o(t))+.5;n<c.top||n>this.cssHeight-c.bottom-l||(e.beginPath(),e.moveTo(c.left,n),e.lineTo(c.left+s,n),e.stroke())}const d=Se(0,i,Math.max(2,Math.floor(s/65)));for(const t of d){const n=Math.round(r(t))+.5;n<c.left||n>c.left+s||(e.beginPath(),e.moveTo(n,c.top),e.lineTo(n,this.cssHeight-c.bottom),e.stroke())}}drawAlternativeElevation(e,t,n,i,r,o,s,a){if(t.length<2)return;const l=this.getEffectiveMargin(),c=t[t.length-1].distance,u=e=>l.left+e/c*n,d=e=>i-r-(e-s)/(a-s)*o;e.beginPath(),e.strokeStyle="#aaa",e.lineWidth=2,e.moveTo(u(t[0].distance),d(t[0].elevation));for(let n=1;n<t.length;n++)e.lineTo(u(t[n].distance),d(t[n].elevation));e.stroke()}drawElevationArea(e,t,n,i,r){if(0===t.length)return;if(t.length<2||0===t[t.length-1].distance){const r=n(t[0].distance),o=i(t[0].elevation);return e.beginPath(),e.arc(r,o,4,0,2*Math.PI),e.fillStyle="#555",void e.fill()}const o=t[t.length-1].distance,s=1/(n(o)-n(0))*o,a=[];let l=0,c=0,u=0;for(let e=0;e<t.length-1;e++){const n=t[e+1].distance-t[e].distance,i=n>0?100*(t[e+1].elevation-t[e].elevation)/n:0,r=Math.abs(i);r>c&&(c=r,u=i),(t[e+1].distance-t[l].distance>=s||e===t.length-2)&&(a.push({fromIdx:l,toIdx:e+1,color:re(u)}),l=e+1,c=0,u=0)}const d=[];for(const e of a){const t=d[d.length-1];t&&t.color===e.color?t.toIdx=e.toIdx:d.push({...e})}for(const o of d){e.beginPath(),e.moveTo(n(t[o.fromIdx].distance),r);for(let r=o.fromIdx;r<=o.toIdx;r++)e.lineTo(n(t[r].distance),i(t[r].elevation));e.lineTo(n(t[o.toIdx].distance),r),e.closePath(),e.fillStyle=o.color+"60",e.fill()}e.beginPath(),e.strokeStyle="#555",e.lineWidth=1,e.moveTo(n(t[0].distance),i(t[0].elevation));for(let r=1;r<t.length;r++)e.lineTo(n(t[r].distance),i(t[r].elevation));e.stroke()}drawDetailBars(e,t,n,i,r){var o,s,a;const l=i-r;for(const i of t.segments){const t=n(i.fromDistance),o=n(i.toDistance);e.fillStyle=i.color,e.fillRect(t,l,o-t,r)}e.strokeStyle="#ccc",e.lineWidth=.5,e.strokeRect(n((null===(o=t.segments[0])||void 0===o?void 0:o.fromDistance)||0),l,n((null===(s=t.segments[t.segments.length-1])||void 0===s?void 0:s.toDistance)||0)-n((null===(a=t.segments[0])||void 0===a?void 0:a.fromDistance)||0),r)}drawDetailLine(e,t,n,i,r,o,s){if(void 0===t.minValue||void 0===t.maxValue)return;let a=t.minValue,l=t.maxValue;if(l-a<10){const e=(a+l)/2;a=e-25,l=e+25}const c=.1*(l-a);a-=c,l+=c,t.minValue>=0&&(a=Math.max(0,a));const u=e=>i-r-(e-a)/(l-a)*o;e.beginPath(),e.strokeStyle="#1976D2",e.lineWidth=2;let d=!1;for(const i of t.segments){const t=n(i.fromDistance),r=n(i.toDistance),o=u(Number(i.value));d?e.lineTo(t,o):(e.moveTo(t,o),d=!0),e.lineTo(r,o)}e.stroke();const p=this.getEffectiveMargin(),h=this.cssWidth-p.right,f=Se(a,l,4);e.font=Pe,e.fillStyle="#1976D2",e.textBaseline="middle",e.strokeStyle="#1976D2",e.lineWidth=1,e.beginPath(),e.moveTo(h+.5,s),e.lineTo(h+.5,i-r),e.stroke(),e.textAlign="left";for(const t of f){const n=u(t);n<s||n>i-r||e.fillText(String(Math.round(t)),h+4,n)}t.unit&&(e.font="10px sans-serif",e.textAlign="left",e.textBaseline="bottom",e.fillText(t.unit,h+3,s-1))}drawViaPointMarkers(e,t,n,i){if(this.data){e.save(),e.strokeStyle="#76D0F7",e.lineWidth=1.5,e.setLineDash([5,4]);for(const r of this.data.viaPointDistances){const o=Math.round(t(r))+.5;e.beginPath(),e.moveTo(o,n),e.lineTo(o,i),e.stroke()}e.restore()}}drawXAxis(e,t,n,i){const r=this.getEffectiveMargin(),o=this.config.showDistanceInMiles,s=this.cssWidth-r.left-r.right,a=Se(0,t,Math.max(2,Math.floor(s/65)));e.strokeStyle=Re,e.lineWidth=1,e.beginPath(),e.moveTo(r.left,i+.5),e.lineTo(this.cssWidth-r.right,i+.5),e.stroke(),e.font=Pe,e.fillStyle=Re,e.textAlign="center",e.textBaseline="top";for(const t of a){const s=n(t);s<r.left||s>this.cssWidth-r.right||e.fillText(Ee(t,o),s,i+5)}}drawYAxis(e,t,n,i,r,o,s){const a=this.config.showDistanceInMiles,l=Se(t,n,5);e.strokeStyle=Re,e.lineWidth=1,e.beginPath(),e.moveTo(r-.5,o),e.lineTo(r-.5,s),e.stroke(),e.font=Pe,e.fillStyle=Re,e.textAlign="right",e.textBaseline="middle";for(const t of l){const n=i(t);n<o||n>s||e.fillText(Ie(t,a),r-5,n)}}}function Le({details:t,selectedKey:n,onSelect:i,elevationLabel:r}){return(0,e.jsxs)("select",{value:n||"",onChange:e=>i(e.target.value||null),style:{fontSize:"13px",padding:"6px 4px",border:"1px solid #ccc",borderRadius:4,background:"transparent",cursor:"pointer",maxWidth:120},children:[(0,e.jsx)("option",{value:"",children:r}),t.map(t=>(0,e.jsx)("option",{value:t.key,children:t.label},t.key))]})}function Oe({entries:t,maxVisible:n}){if(0===t.length)return null;const i=null!=n&&t.length>n,r=i?t.slice(0,n):t;return(0,e.jsxs)("div",{style:{display:"flex",flexWrap:"wrap",gap:"0.4rem 0.75rem",fontSize:"13px",color:"#555"},children:[r.map((t,n)=>(0,e.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.25rem"},children:[(0,e.jsx)("span",{style:{display:"inline-block",width:10,height:10,borderRadius:2,backgroundColor:t.color,flexShrink:0}}),(0,e.jsx)("span",{children:t.label})]},n)),i&&(0,e.jsx)("span",{style:{color:"#999"},children:"…"})]})}function Fe({data:t,showDistanceInMiles:n,onHover:i,onDetailSelected:r,isExpanded:o,onToggleExpanded:s,onClose:a,alternativeRouteNumbers:l,showInclineOnMap:u,onToggleInclineOnMap:d,elevationLabel:p}){var h;const f=(0,c.useRef)(null),_=(0,c.useRef)(null),g=(0,c.useRef)(null),m=(0,c.useRef)(null),y=(0,c.useRef)(null),[v,b]=(0,c.useState)(null),[x,w]=(0,c.useState)(-1);(0,c.useEffect)(()=>{const e=_.current,n=g.current,i=f.current;if(e&&n&&i){if(!m.current){const t=new ze(e,n);m.current=t;const r=i.clientWidth;r>0&&t.resize(r,120);const o=new ResizeObserver(e=>{for(const n of e){const e=n.contentRect.width;e>0&&t.resize(e,120)}});o.observe(i),y.current=o}m.current.setData(t)}},[t]),(0,c.useEffect)(()=>()=>{var e;null===(e=y.current)||void 0===e||e.disconnect()},[]),(0,c.useEffect)(()=>{var e;null===(e=m.current)||void 0===e||e.setConfig({showDistanceInMiles:n})},[n]),(0,c.useEffect)(()=>{var e;const n=(null==t?void 0:t.pathDetails.find(e=>e.key===v))||null;null===(e=m.current)||void 0===e||e.setSelectedDetail(n),r(n)},[v,t]),(0,c.useEffect)(()=>{w(-1)},[t]),(0,c.useEffect)(()=>{var e;null===(e=m.current)||void 0===e||e.setVisibleAlternativeIndex(x)},[x]);const k=(0,c.useCallback)(e=>{if(!m.current)return;const t=e.currentTarget.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top,o=m.current.hitTest(n,r);o?(m.current.drawHoverLine(o),i(o)):(m.current.clearHoverLine(),i(null))},[i]),C=(0,c.useCallback)(()=>{var e;null===(e=m.current)||void 0===e||e.clearHoverLine(),i(null)},[i]),A=!!t&&t.elevation.length>0,S=A&&t.pathDetails.find(e=>e.key===v)||null,E=null!==(h=null==t?void 0:t.alternativeElevations.length)&&void 0!==h?h:0,I=t&&t.elevation.length>=2?function(e){const t=new Set;for(let n=0;n<e.length-1;n++){const i=e[n+1].distance-e[n].distance,r=i>0?100*(e[n+1].elevation-e[n].elevation)/i:0;t.add(re(r))}return t}(t.elevation):null,T=I?ee.filter(e=>I.has(e.color)).map(e=>({label:o?e.label:e.shortLabel,color:e.color})):[],M=(0,c.useCallback)(()=>{w(e=>e+1>=E?-1:e+1)},[E]);return(0,e.jsxs)("div",{className:`${Ae.container}${o?" "+Ae.containerExpanded:""}`,style:{display:A?void 0:"none"},children:[(0,e.jsxs)("div",{className:Ae.controls,children:[(0,e.jsx)(Le,{details:(null==t?void 0:t.pathDetails)||[],selectedKey:v,onSelect:b,elevationLabel:p}),S?(0,e.jsx)(Oe,{entries:S.legend,maxVisible:a&&!o?3:void 0}):A&&(0,e.jsx)(Oe,{entries:T,maxVisible:a&&!o?3:void 0}),(0,e.jsxs)("div",{className:Ae.buttons,children:[!S&&E>0&&(0,e.jsx)("button",{className:`${Ae.alternativeButton}${x>=0?" "+Ae.alternativeButtonActive:""}`,onClick:M,title:x>=0?`Route ${l[x]}`:"Show alternative elevation",children:x>=0&&E>1?(0,e.jsx)("span",{className:Ae.alternativeNumber,children:l[x]}):(0,e.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[(0,e.jsx)("path",{d:"M1 10 Q4 4 7 7 Q10 10 13 4",stroke:x>=0?"#555":"#aaa",strokeWidth:"1.5",fill:"none"}),(0,e.jsx)("path",{d:"M1 10 Q5 6 9 5 L13 4",stroke:x>=0?"#aaa":"#ccc",strokeWidth:"1",strokeDasharray:"2 2",fill:"none"})]})}),!S&&(0,e.jsx)("button",{className:`${Ae.inclineButton}${u?" "+Ae.inclineButtonActive:""}`,onClick:d,title:"Show incline on map",children:(0,e.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none",children:[(0,e.jsx)("line",{x1:"1",y1:"10",x2:"5",y2:"5",stroke:"#2E7D32",strokeWidth:"2.5",strokeLinecap:"round"}),(0,e.jsx)("line",{x1:"5",y1:"5",x2:"9",y2:"3",stroke:"#FF9800",strokeWidth:"2.5"}),(0,e.jsx)("line",{x1:"9",y1:"3",x2:"13",y2:"10",stroke:"#F44336",strokeWidth:"2.5",strokeLinecap:"round"})]})}),(0,e.jsx)("button",{className:Ae.expandButton,onClick:s,title:o?"Compact":"Expand",children:o?"◀":"▶"}),o&&a&&(0,e.jsx)("button",{className:Ae.expandButton,onClick:a,title:"Close",children:"✕"})]})]}),(0,e.jsxs)("div",{className:Ae.canvasContainer,ref:f,style:{height:120},children:[(0,e.jsx)("canvas",{ref:_,className:Ae.chartCanvas}),(0,e.jsx)("canvas",{ref:g,className:Ae.overlayCanvas,onMouseMove:k,onMouseLeave:C,style:{pointerEvents:"auto"}})]})]})}function je({selectedPath:t,alternativePaths:n,profile:i,isExpanded:r,onToggleExpanded:o,onClose:s,onActiveDetailChanged:a}){const u=(0,c.useContext)(Y),[d,p]=(0,c.useState)(!1),[h,f]=(0,c.useState)(null),_=(0,c.useMemo)(()=>t.points.coordinates.length>0?function(e,t,n,i=""){const r=e.points.coordinates,o=r.length>0&&2===r[0].length?r.map(e=>[e[0],e[1],0]):r,s=le(o),a=s.map(e=>e.distance),l=t.filter(t=>t!==e&&t.points.coordinates.length>0).map(e=>{const t=e.points.coordinates;return le(t.length>0&&2===t[0].length?t.map(e=>[e[0],e[1],0]):t)}),c=[],u=e.details;for(const[e,t]of Object.entries(u))t&&0!==t.length&&c.push(ue(e,n(e),t,o,a,i));return{elevation:s,alternativeElevations:l,pathDetails:c,viaPointDistances:function(e){const t=e.points.coordinates;if(0===t.length)return[];const n=[0];for(let e=1;e<t.length;e++)n.push(n[e-1]+ae(t[e-1],t[e]));const i=e.snapped_waypoints.coordinates;if(i.length<=2)return[];const r=[];let o=0;for(let e=1;e<i.length-1;e++){const s=i[e];let a=1/0,l=o;for(let e=o;e<t.length;e++){const n=ae(t[e],s);n<a&&(a=n,l=e)}r.push(n[l]),o=l}return r}(e),totalDistance:e.distance}}(t,n,l,i):null,[t,n,i]),g=n.map((e,t)=>({path:e,num:t+1})).filter(e=>e.path!==t&&e.path.points.coordinates.length>0).map(e=>e.num),m=(0,c.useMemo)(()=>_?function(e){const t=ee.map(e=>({label:e.label,color:e.color}));if(e.length<2)return{key:"_incline",label:"Incline",type:"bars",segments:[],legend:t};const n=[];for(let t=0;t<e.length-1;t++){const i=e[t],r=e[t+1],o=r.distance-i.distance,s=o>0?(r.elevation-i.elevation)/o*100:0,a=re(s);n.push({fromDistance:i.distance,toDistance:r.distance,value:Math.round(10*Math.abs(s))/10,color:a,coordinates:[[i.lng,i.lat],[r.lng,r.lat]]})}const i=[];for(const e of n){const t=i[i.length-1];t&&t.color===e.color?(t.toDistance=e.toDistance,t.coordinates.push(e.coordinates[e.coordinates.length-1])):i.push({...e,coordinates:[...e.coordinates]})}return{key:"_incline",label:"Incline",type:"bars",segments:i,legend:t}}(_.elevation):null,[_]);(0,c.useEffect)(()=>{a(null!=h?h:d?m:null)},[h,d,m,a]);const y=(0,c.useCallback)(e=>{if(e){const t=e.segment?String(e.segment.value):"";Q.dispatch(new F({point:e.point,elevation:e.elevation,description:t}))}else Q.dispatch(new F(null))},[]),v=(0,c.useCallback)(e=>{f(e)},[]),b=(0,c.useCallback)(()=>{p(e=>!e)},[]);return(0,e.jsx)(Fe,{data:_,showDistanceInMiles:u.showDistanceInMiles,onHover:y,onDetailSelected:v,isExpanded:r,onToggleExpanded:o,onClose:s,alternativeRouteNumbers:g,showInclineOnMap:d,onToggleInclineOnMap:b,elevationLabel:l("elevation")})}var De=n(5464),Ne={};Ne.styleTagTransform=we(),Ne.setAttributes=ye(),Ne.insert=ge().bind(null,"head"),Ne.domAPI=fe(),Ne.insertStyleElement=be(),pe()(De.A,Ne);const Be=De.A&&De.A.locals?De.A.locals:void 0;let qe,Ge,Ve,We,He,Ue,$e,Ke,Xe,Ze;const Ye=()=>qe,Qe=()=>Ge,Je=()=>Ve,et=()=>We,tt=()=>He,nt=()=>Ue,it=()=>$e,rt=()=>Ke,ot=()=>Xe,st=()=>Ze;var at=n(4096),lt={};lt.styleTagTransform=we(),lt.setAttributes=ye(),lt.insert=ge().bind(null,"head"),lt.domAPI=fe(),lt.insertStyleElement=be(),pe()(at.A,lt),at.A&&at.A.locals&&at.A.locals;var ct=n(2596),ut={};ut.styleTagTransform=we(),ut.setAttributes=ye(),ut.insert=ge().bind(null,"head"),ut.domAPI=fe(),ut.insertStyleElement=be(),pe()(ct.A,ut);const dt=ct.A&&ct.A.locals?ct.A.locals:void 0;class pt{static create(e){let t={};if(e)for(const[n,i]of Object.entries(e))for(const e of i.options)t[e.profile]=n;return t}}function ht(e,t=.005){return[e.lng-t,e.lat-t,e.lng+t,e.lat+t]}function ft(e){const t=e.reduce((e,t)=>[Math.min(e[0],t.lng),Math.min(e[1],t.lat),Math.max(e[2],t.lng),Math.max(e[3],t.lat)],[180,90,-180,-90]);return 1==e.length&&(t[0]=t[0]-.001,t[1]=t[1]-.001,t[2]=t[2]+.001,t[3]=t[3]+.001),t[0]<t[2]&&t[1]<t[3]?t:null}function _t(e,t){const n=e.lat,i=t.lat,r=e.lng,o=t.lng,s=Math.sin(gt(i-n)/2),a=Math.sin(gt(o-r)/2);return 12742e3*Math.asin(Math.sqrt(s*s+a*a*Math.cos(gt(n))*Math.cos(gt(i))))}function gt(e){return.017453292519943295*e}function mt({map:t}){const n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{t.setTarget(n.current)},[t]),(0,e.jsx)("div",{ref:n,className:dt.mapContainer})}var yt=n(3116),vt={};vt.styleTagTransform=we(),vt.setAttributes=ye(),vt.insert=ge().bind(null,"head"),vt.domAPI=fe(),vt.insertStyleElement=be(),pe()(yt.A,vt);const bt=yt.A&&yt.A.locals?yt.A.locals:void 0;var xt=n(5735),wt={};wt.styleTagTransform=we(),wt.setAttributes=ye(),wt.insert=ge().bind(null,"head"),wt.domAPI=fe(),wt.insertStyleElement=be(),pe()(xt.A,wt);const kt=xt.A&&xt.A.locals?xt.A.locals:void 0;function Ct(t){const n=kt.button+" "+t.className;return(0,e.jsx)("button",{...t,className:n,children:t.children})}var At;function St(){return St=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},St.apply(null,arguments)}const Et=function(e){return c.createElement("svg",St({xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",className:"layer-group-solid_svg__svg-inline--fa layer-group-solid_svg__fa-layer-group layer-group-solid_svg__fa-w-16","data-icon":"layer-group","data-prefix":"fas",viewBox:"0 0 512 512"},e),At||(At=c.createElement("path",{fill:"currentColor",d:"m12.41 148.02 232.94 105.67c6.8 3.09 14.49 3.09 21.29 0l232.94-105.67c16.55-7.51 16.55-32.52 0-40.03L266.65 2.31a25.6 25.6 0 0 0-21.29 0L12.41 107.98c-16.55 7.51-16.55 32.53 0 40.04m487.18 88.28-58.09-26.33-161.64 73.27c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.51 209.97l-58.1 26.33c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 276.3c16.55-7.5 16.55-32.5 0-40m0 127.8-57.87-26.23-161.86 73.37c-7.56 3.43-15.59 5.17-23.86 5.17s-16.29-1.74-23.86-5.17L70.29 337.87 12.41 364.1c-16.55 7.5-16.55 32.5 0 40l232.94 105.59c6.8 3.08 14.49 3.08 21.29 0L499.59 404.1c16.55-7.5 16.55-32.5 0-40"})))},It=config;var Tt=n.n(It);function Mt(t){const[n,i]=(0,c.useState)(!1),r=(0,c.useRef)(null);return(0,c.useEffect)(()=>{function e(e){r.current&&!r.current.contains(e.target)&&i(!1)}return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),(0,e.jsx)("div",{ref:r,className:bt.mapOptionsContainer,onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),children:n?(0,e.jsx)(Pt,{storeState:t,notifyChanged:()=>i(!1)}):(0,e.jsx)(Ct,{className:bt.layerButton,onClick:()=>i(!0),children:(0,e.jsx)(Et,{})})})}const Pt=function({storeState:t,notifyChanged:n}){return(0,e.jsxs)("div",{className:bt.options,children:[(0,e.jsx)("div",{onChange:e=>{var t;n(),t=e.target,Q.dispatch(new T(t.value))},children:t.styleOptions.map(n=>(0,e.jsxs)("div",{className:bt.option,children:[(0,e.jsx)("input",{type:"radio",id:n.name,name:"layer",value:n.name,defaultChecked:n===t.selectedStyle,disabled:!t.isMapLoaded}),(0,e.jsx)("label",{htmlFor:n.name,children:n.name+("vector"===n.type?" (Vector)":"")})]},n.name))}),It.routingGraphLayerAllowed&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:bt.option,children:[(0,e.jsx)("input",{type:"checkbox",id:"routing-graph-checkbox",checked:t.routingGraphEnabled,onChange:e=>{n(),Q.dispatch(new M(e.target.checked))}}),(0,e.jsx)("label",{htmlFor:"routing-graph-checkbox",children:"Show Routing Graph"})]}),(0,e.jsxs)("div",{className:bt.option,children:[(0,e.jsx)("input",{type:"checkbox",id:"urban-density-checkbox",checked:t.urbanDensityEnabled,onChange:e=>{n(),Q.dispatch(new P(e.target.checked))}}),(0,e.jsx)("label",{htmlFor:"urban-density-checkbox",children:"Show Urban Density"})]})]}),It.externalMVTLayer&&(0,e.jsx)(e.Fragment,{children:(0,e.jsxs)("div",{className:bt.option,children:[(0,e.jsx)("input",{type:"checkbox",id:"external-mvt-layer-checkbox",checked:t.externalMVTEnabled,onChange:e=>{n(),Q.dispatch(new R(e.target.checked))}}),(0,e.jsx)("label",{htmlFor:"external-mvt-layer-checkbox",children:"Show External MVT"})]})})]})};function Rt(e){const t=Math.floor(e/36e5),n=Math.round(e%36e5/6e4);if(60==n)return t+1+" h";const i=t>0?t+" h":"";return 0==n&&i.length>0?i:(i?i+" ":"")+n+" min"}let zt,Lt=new Intl.NumberFormat("en",{maximumFractionDigits:1});function Ot(e,t,n=!1){return t?e<160.934||n?Math.floor(e/.3048)+" ft":Lt.format(e/1609.34)+" mi":e<1e3||n?Math.floor(e)+" m":Lt.format(e/1e3)+" km"}function Ft(e,t){return t?e<160.934?Math.floor(e/.3048)+"ft":e<160934?Lt.format(e/1609.34)+"mi":Math.round(e/1609.34)+"mi":e<1e3?Math.floor(e)+"m":e<1e5?Lt.format(e/1e3)+"km":Math.round(e/1e3)+"km"}function jt(e){const t=e.street&&e.name.indexOf(e.street)>=0?e.street+(e.housenumber?" "+e.housenumber:""):e.name;return{mainText:t,secondText:Dt(e,t)}}function Dt(e,t){let n=e.street&&t.indexOf(e.street)<0?e.street+(e.housenumber?" "+e.housenumber:"")+", ":"";return n+=function(e){return e.city&&e.postcode?e.postcode+" "+e.city:e.city?e.city:e.postcode?e.postcode:""}(e),e.state&&!n.includes(e.state)&&(n+=(n?", ":"")+e.state),e.country&&(n+=(n?", ":"")+e.country),n}function Nt(e){return Math.round(1e6*e.lat)/1e6+","+Math.round(1e6*e.lng)/1e6}function Bt(e){const t=e.split(/[,| s]/).filter(e=>e);if(2!==t.length)return null;const n={lat:Number.parseFloat(t[0]),lng:Number.parseFloat(t[1])};return isNaN(n.lng)||isNaN(n.lat)?null:n}function qt(){if(!zt)throw Error('Api must be initialized before it can be used. Use "setApi" when starting the app');return zt}class Gt{constructor(e,t,n){this.routeCounter=0,this.lastRouteNumber=-1,this.apiKey=n,this.routingApi=e,this.geocodingApi=t}async info(){const e=await fetch(this.getRoutingURLWithKey("info").toString(),{headers:{Accept:"application/json"}}).catch(()=>{throw new Error("Could not connect to the Service. Try to reload!")}),t=await e.json();if(e.ok)return Gt.convertToApiInfo(t);if(t.message)throw new Error(t.message);throw new Error("There has been an error. Server responded with "+e.statusText+" ("+e.status+")")}async geocode(e,t,n){if(!this.supportsGeocoding())return{hits:[],took:0};const i=this.getGeocodingURLWithKey("geocode");i.searchParams.append("q",e),i.searchParams.append("provider",t);const r=a().getLang().split("_");if(i.searchParams.append("locale",r.length>0?r[0]:"en"),i.searchParams.append("osm_tag","!place:county"),i.searchParams.append("osm_tag","!boundary"),i.searchParams.append("osm_tag","!historic"),n)for(const e in n)i.searchParams.append(e,n[e]);const o=await fetch(i.toString(),{headers:{Accept:"application/json"}});if(o.ok)return await o.json();throw new Error("Geocoding went wrong "+o.status)}async reverseGeocode(e,t){if(!this.supportsGeocoding())return[];let n=t[1],i=t[0],r=t[3],o=t[2];if(r-n>.3){const e=(r+n)/2;r=e+.15,n=e-.15}if(o-i>.3){const e=(o+i)/2;o=e+.15,i=e-.15}let s="";for(const t of e.queries){s+="nwr";for(const e of t.phrases)"="==e.sign&&"*"==e.v?s+=`["${e.k}"]`:e.ignoreCase?s+=`["${e.k}"${e.sign}"${e.v}", i]`:s+=`["${e.k}"${e.sign}"${e.v}"]`;s+=";\n"}try{const e=`[out:json][timeout:15][bbox:${n}, ${i}, ${r}, ${o}];\n(${s});\nout center 100;`;console.log(e);const t=await fetch("https://overpass-api.de/api/interpreter",{method:"POST",body:"data="+encodeURIComponent(e)}),a=await t.json();return a.elements?a.elements.map(e=>e.center?{...e,point:{lat:e.center.lat,lng:e.center.lon}}:{...e,point:{lat:e.lat,lng:e.lon}}).filter(e=>!!e.tags&&e.point):[]}catch(e){return console.warn("error occured "+e),[]}}supportsGeocoding(){return""!==this.geocodingApi}async route(e){const t=Gt.createRequest(e),n=await fetch(this.getRoutingURLWithKey("route").toString(),{method:"POST",mode:"cors",body:JSON.stringify(t),headers:{Accept:"application/json","Content-Type":"application/json"}});if(n.ok){const e=await n.json();return{...e,paths:Gt.decodeResult(e,t.elevation)}}if(500===n.status)throw new Error(l("route_timed_out"));if(400===n.status){const e=await n.json();let t=e.message;if(e.hints&&e.hints.length>0){let n="";e.hints.forEach(e=>{e.message.includes(t)||(n+=(n?" and ":"")+n,n+=e.message)}),n&&(t+=(t?" and ":"")+n)}throw new Error(t)}throw new Error(l("route_request_failed"))}routeWithDispatch(e,t){const n=this.routeCounter++;this.route(e).then(i=>{if(n>this.lastRouteNumber)this.lastRouteNumber=n,Q.dispatch(new k(e,t,i));else{const t=JSON.stringify(e)+" "+n+" <= "+this.lastRouteNumber;console.log("Ignore response of earlier started route "+t)}}).catch(t=>{if(n>this.lastRouteNumber)console.warn("error when performing /route request "+n+": ",t),this.lastRouteNumber=n,Q.dispatch(new A(e,t.message));else{const i=JSON.stringify(e)+" "+n+" <= "+this.lastRouteNumber;console.log("Ignore error "+t.message+" of earlier started route "+i)}})}getRoutingURLWithKey(e){const t=new URL(this.routingApi+e);return t.searchParams.append("key",this.apiKey),t}getGeocodingURLWithKey(e){const t=new URL(this.geocodingApi+e);return t.searchParams.append("key",this.apiKey),t}static createRequest(e){var t,n,i;let r=It.profiles?It.profiles[e.profile]:{},o=(null===(t=It.request)||void 0===t?void 0:t.details)?It.request.details:[];(null==r?void 0:r.details)&&(o=[...o,...r.details]);const s={points:e.points,profile:e.profile,elevation:!0,instructions:!0,locale:a().getLang(),points_encoded:!0,points_encoded_multiplier:1e6,...r,details:o};if((null===(n=It.request)||void 0===n?void 0:n.snapPreventions)&&(s.snap_preventions=null===(i=It.request)||void 0===i?void 0:i.snapPreventions),e.customModel){const t=Xt(e.points.map(e=>({lat:e[1],lng:e[0]})));t>25e4?s["astarbi.epsilon"]=1.8:t>15e4?s["astarbi.epsilon"]=1.6:t>1e5&&(s["astarbi.epsilon"]=1.4),s.custom_model=e.customModel,s["ch.disable"]=!0,s.timeout_ms=1e4}return e.points.length<=2&&e.maxAlternativeRoutes>1&&!s.curbsides&&!e.profile.startsWith("cp_")?{...s,timeout_ms:1e4,"alternative_route.max_paths":e.maxAlternativeRoutes,algorithm:"alternative_route"}:s}static convertToApiInfo(e){let t=[0,0,0,0],n="";const i=[];for(const t in e.profiles){const n={name:e.profiles[t].name};i.push(n)}for(const i in e)"bbox"===i?t=e[i]:"version"===i&&(n=e[i]);return{profiles:i,elevation:e.elevation,bbox:t,version:n,encoded_values:e.encoded_values}}static decodeResult(e,t){return e.paths.map(e=>({...e,points:Gt.decodePoints(e,t),snapped_waypoints:Gt.decodeWaypoints(e,t)})).map(e=>({...e,instructions:Gt.setPointsOnInstructions(e)}))}static decodePoints(e,t){if(e.points_encoded){const n=e.points_encoded_multiplier||1e5;return{type:"LineString",coordinates:Gt.decodePath(e.points,t,n)}}return e.points}static decodeWaypoints(e,t){if(e.points_encoded){const n=e.points_encoded_multiplier||1e5;return{type:"LineString",coordinates:Gt.decodePath(e.snapped_waypoints,t,n)}}return e.snapped_waypoints}static setPointsOnInstructions(e){return e.instructions?e.instructions.map(t=>({...t,points:e.points.coordinates.slice(t.interval[0],t.interval[1]+1)})):e.instructions}static decodePath(e,t,n){const i=e.length;let r=0;const o=[];let s=0,a=0,l=0;for(;r<i;){let i,c=0,u=0;do{i=e.charCodeAt(r++)-63,u|=(31&i)<<c,c+=5}while(i>=32);s+=1&u?~(u>>1):u>>1,c=0,u=0;do{i=e.charCodeAt(r++)-63,u|=(31&i)<<c,c+=5}while(i>=32);if(a+=1&u?~(u>>1):u>>1,t){c=0,u=0;do{i=e.charCodeAt(r++)-63,u|=(31&i)<<c,c+=5}while(i>=32);l+=1&u?~(u>>1):u>>1,o.push([a/n,s/n,l/100])}else o.push([a/n,s/n])}return o}static isFootLike(e){return e.includes("hike")||e.includes("foot")}static isBikeLike(e){return e.includes("mtb")||e.includes("bike")}static isMotorVehicle(e){return e.includes("car")&&!e.includes("cargobike")||e.includes("truck")||e.includes("scooter")||e.includes("bus")||e.includes("motorcycle")}static isTruck(e){return e.includes("truck")}}const Vt={default_example:{distance_influence:15,priority:[{if:"road_environment == FERRY",multiply_by:"0.9"}],speed:[],areas:{type:"FeatureCollection",features:[]}},exclude_motorway:{priority:[{if:"road_class == MOTORWAY",multiply_by:"0.0"}]},avoid_tunnels_bridges:{priority:[{if:"road_environment == TUNNEL || road_environment == BRIDGE",multiply_by:"0.1"}]},exclude_disneyland_paris:{priority:[{if:"road_environment==FERRY",multiply_by:"0.9"},{if:"in_area1",multiply_by:"0"}],areas:{type:"FeatureCollection",features:[{id:"area1",properties:{},type:"Feature",geometry:{type:"Polygon",coordinates:[[[2.74773,48.876539],[2.751936,48.794903],[2.850813,48.819775],[2.808754,48.887642],[2.74773,48.876539]]]}}]}},simple_electric_car:{distance_influence:100,priority:[{if:"average_slope >= 10",multiply_by:"0.7"},{else_if:"average_slope >= 7",multiply_by:"0.8"},{else_if:"average_slope >= 4",multiply_by:"0.9"}],speed:[{if:"true",limit_to:"110"}]},limit_speed:{speed:[{if:"true",limit_to:"100"},{if:"road_class == TERTIARY",limit_to:"80"}]},cargo_bike:{speed:[{if:"road_class == TRACK",limit_to:"2"}],priority:[{if:"max_width < 1.5 || road_class == STEPS",multiply_by:"0"}]},bike_network:{priority:[{if:"bike_network == MISSING",multiply_by:"0.5"}]},combined:{distance_influence:100,speed:[{if:"road_class == TRACK || road_environment == FERRY || surface == DIRT",limit_to:"10"}],priority:[{if:"road_environment == TUNNEL || toll == ALL",multiply_by:"0.5"},{if:"max_weight < 3 || max_height < 2.5",multiply_by:"0.0"}]}};function Wt(e){return JSON.stringify(e,null,2)}var Ht,Ut;!function(e){e[e.From=0]="From",e[e.To=1]="To",e[e.Via=2]="Via"}(Ht||(Ht={})),function(e){e[e.SENT=0]="SENT",e[e.SUCCESS=1]="SUCCESS",e[e.FAILED=2]="FAILED"}(Ut||(Ut={}));class $t extends u{constructor(e,t=null){super($t.getInitialState(t)),this.api=e}static getInitialState(e){const t=null!=e;e||(e=Wt(Vt.default_example));try{e=Wt(JSON.parse(e))}catch(e){}return{profiles:[],memorizedProfilePerGroup:{},queryPoints:[$t.getEmptyPoint(0,Ht.From),$t.getEmptyPoint(1,Ht.To)],nextQueryPointId:2,currentRequest:{subRequests:[]},maxAlternativeRoutes:3,routingProfile:{name:""},customModelEnabled:t,customModelStr:e}}reduce(e,t){if(t instanceof b){const n=$t.replacePoint(e.queryPoints,{...t.point,isInitialized:!1});return{...e,queryPoints:n}}if(t instanceof m){const t=e.queryPoints.map(e=>({...e,queryText:"",point:{lat:0,lng:0},isInitialized:!1}));return{...e,queryPoints:t}}if(t instanceof p){const n={...e,queryPoints:$t.replacePoint(e.queryPoints,t.point)};return this.routeIfReady(n,t.zoomResponse)}if(t instanceof v){const n=$t.movePoint(e.queryPoints,t.point,t.newIndex).map((t,n)=>{const i=$t.getPointType(n,e.queryPoints.length);return{...t,color:$t.getMarkerColor(i),type:i,id:this.state.nextQueryPointId+n}}),i={...e,nextQueryPointId:e.nextQueryPointId+e.queryPoints.length,queryPoints:n};return this.routeIfReady(i,!1)}if(t instanceof _){const n=e.queryPoints.slice(),i=t.isInitialized?Nt(t.coordinate):"";n.splice(t.atIndex,0,{coordinate:t.coordinate,id:e.nextQueryPointId,queryText:i,color:"",isInitialized:t.isInitialized,type:Ht.Via});const r=n.map((e,t)=>{const i=$t.getPointType(t,n.length);return{...e,color:$t.getMarkerColor(i),type:i}}),o={...e,nextQueryPointId:e.nextQueryPointId+1,queryPoints:r};return this.routeIfReady(o,t.zoom)}if(t instanceof g){const n=t.queryPoints.map((n,i)=>{const r=$t.getPointType(i,t.queryPoints.length),o=n.isInitialized&&!n.queryText?Nt(n.coordinate):n.queryText;return{...n,id:e.nextQueryPointId+i,type:r,color:$t.getMarkerColor(r),queryText:o}});for(;n.length<2;){const e=$t.getPointType(n.length,2);n.push({id:n.length,type:e,color:$t.getMarkerColor(e),queryText:"",isInitialized:!1,coordinate:{lat:0,lng:0}})}const i=e.nextQueryPointId+n.length;return this.routeIfReady({...e,queryPoints:n,nextQueryPointId:i},!0)}if(t instanceof y){const n=e.queryPoints.filter(e=>e.id!==t.point.id).map((t,n)=>{const i=$t.getPointType(n,e.queryPoints.length-1);return{...t,color:$t.getMarkerColor(i),type:i}}),i={...e,queryPoints:n};return this.routeIfReady(i,!1)}if(t instanceof d){if(t.result.profiles.length<=0)return e;const n=Tt().profiles?Object.keys(Tt().profiles).map(e=>({name:e})):t.result.profiles,i=e.routingProfile.name?e.routingProfile:n[0];return this.routeIfReady({...e,profiles:n,routingProfile:i},!0)}if(t instanceof f){let n=this.state.memorizedProfilePerGroup[t.group];n||(n=t.group);const i={...e,routingProfile:{...this.state.routingProfile,name:n}};return this.routeIfReady(i,!0)}if(t instanceof h){const n=t.profile.name,i=pt.create(Tt().profile_group_mapping)[n],r={...e,routingProfile:{...t.profile,name:n},memorizedProfilePerGroup:{...e.memorizedProfilePerGroup,[i]:n}};return this.routeIfReady(r,!0)}if(t instanceof w){const n={...e,customModelStr:t.customModelStr};return t.issueRoutingRequest?this.routeIfReady(n,!0):n}if(t instanceof k||t instanceof A)return $t.handleFinishedRequest(e,t);if(t instanceof x){const n={...e,customModelEnabled:t.enabled};return this.routeIfReady(n,!0)}return e}static handleFinishedRequest(e,t){const n=t instanceof k?Ut.SUCCESS:Ut.FAILED,i=$t.replaceSubRequest(e.currentRequest.subRequests,t.request,n);return{...e,currentRequest:{subRequests:i}}}routeIfReady(e,t){if($t.isReadyToRoute(e)){let n;const i=Xt(e.queryPoints.map(e=>e.coordinate));if(e.customModelEnabled)if(i<2e5)n=[$t.buildRouteRequest(e)];else{if(!(i<7e5))return Q.dispatch(new C("Using the custom model feature is unfortunately not possible when the request points are further than "+Ot(7e5,!1)+" apart.")),e;n=[$t.buildRouteRequest({...e,maxAlternativeRoutes:1})]}else n=[$t.buildRouteRequest({...e,maxAlternativeRoutes:1})],2===e.queryPoints.length&&e.maxAlternativeRoutes>1&&(Gt.isMotorVehicle(e.routingProfile.name)&&i<7e6||i<5e5)&&n.push($t.buildRouteRequest(e));return{...e,currentRequest:{subRequests:this.send(n,t)}}}return e}send(e,t){const n=e.map(e=>({args:e,state:Ut.SENT}));return n.forEach((e,n)=>this.api.routeWithDispatch(e.args,0==n&&t)),n}static isReadyToRoute(e){if(e.customModelEnabled)try{JSON.parse(e.customModelStr)}catch{return!1}return!(e.queryPoints.length<=1||!e.queryPoints.every(e=>e.isInitialized)||!e.routingProfile.name)}static movePoint(e,t,n){if(n<0)return e;const i=e.filter((e,i)=>e.id!=t.id||(i<n&&n--,!1));return n>=e.length?e:(i.splice(n,0,t),i)}static replacePoint(e,t){return Kt(e,e=>e.id===t.id,()=>t)}static replaceSubRequest(e,t,n){return Kt(e,e=>e.args===t,e=>({...e,state:n}))}static getMarkerColor(e){switch(e){case Ht.From:return"#7cb342";case Ht.To:return"#F97777";default:return"#76D0F7"}}static getPointType(e,t){return 0===e?Ht.From:e===t-1?Ht.To:Ht.Via}static buildRouteRequest(e){const t=e.queryPoints.map(e=>[e.coordinate.lng,e.coordinate.lat]);let n=null;if(e.customModelEnabled)try{n=JSON.parse(e.customModelStr)}catch{}return{points:t,profile:e.routingProfile.name,maxAlternativeRoutes:e.maxAlternativeRoutes,customModel:n}}static getEmptyPoint(e,t){return{isInitialized:!1,queryText:"",coordinate:{lat:0,lng:0},id:e,color:$t.getMarkerColor(t),type:t}}}function Kt(e,t,n){const i=[];for(const r of e)t(r)?i.push(n(r)):i.push(r);return i}function Xt(e){let t=0;for(let n=1;n<e.length;n++){const i=_t(e[n-1],e[n]);t=Math.max(i,t)}return t}var Zt=n(822),Yt={};Yt.styleTagTransform=we(),Yt.setAttributes=ye(),Yt.insert=ge().bind(null,"head"),Yt.domAPI=fe(),Yt.insertStyleElement=be(),pe()(Zt.A,Yt);const Qt=Zt.A&&Zt.A.locals?Zt.A.locals:void 0;var Jt=n(4457),en={};en.styleTagTransform=we(),en.setAttributes=ye(),en.insert=ge().bind(null,"head"),en.domAPI=fe(),en.insertStyleElement=be(),pe()(Jt.A,en);const tn=Jt.A&&Jt.A.locals?Jt.A.locals:void 0;var nn;function rn(){return rn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},rn.apply(null,arguments)}const on=function(e){return c.createElement("svg",rn({xmlns:"http://www.w3.org/2000/svg",className:"minus-circle-solid_svg__svg-inline--fa minus-circle-solid_svg__fa-minus-circle minus-circle-solid_svg__fa-w-16","data-icon":"minus-circle","data-prefix":"fas",viewBox:"0 0 512 512"},e),nn||(nn=c.createElement("path",{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8M124 296c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h264c6.6 0 12 5.4 12 12v56c0 6.6-5.4 12-12 12z"})))};var sn;function an(){return an=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},an.apply(null,arguments)}const ln=function(e){return c.createElement("svg",an({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,"aria-hidden":"true",className:"plus-circle-solid_svg__svg-inline--fa plus-circle-solid_svg__fa-plus-circle plus-circle-solid_svg__fa-w-16","data-icon":"plus-circle","data-prefix":"fas",viewBox:"0 0 512 512"},e),sn||(sn=c.createElement("path",{fill:"currentColor",d:"M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8m144 276c0 6.6-5.4 12-12 12h-92v92c0 6.6-5.4 12-12 12h-56c-6.6 0-12-5.4-12-12v-92h-92c-6.6 0-12-5.4-12-12v-56c0-6.6 5.4-12 12-12h92v-92c0-6.6 5.4-12 12-12h56c6.6 0 12 5.4 12 12v92h92c6.6 0 12 5.4 12 12z"})))};var cn;function un(){return un=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},un.apply(null,arguments)}const dn=function(e){return c.createElement("svg",un({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 50 50"},e),cn||(cn=c.createElement("path",{d:"M6 40V8l38 16Zm3-4.65L36.2 24 9 12.5v8.4L21.1 24 9 27Zm0 0V12.5 27Z"})))};var pn=n(61),hn={};hn.styleTagTransform=we(),hn.setAttributes=ye(),hn.insert=ge().bind(null,"head"),hn.domAPI=fe(),hn.insertStyleElement=be(),pe()(pn.A,hn);const fn=pn.A&&pn.A.locals?pn.A.locals:void 0;class _n{constructor(e,t,n,i){this.mainText=e,this.secondText=t,this.point=n,this.bbox=i}toText(){return this.mainText+", "+this.secondText}}class gn{constructor(e){this.result=e}}function mn({items:t,highlightedItem:n,onSelect:i}){return(0,e.jsx)("ul",{children:t.map((t,r)=>(0,e.jsx)("li",{className:fn.autocompleteItem,children:yn(t,n===t,i)},r))})}function yn(t,n,i){if(t instanceof _n)return(0,e.jsx)(bn,{item:t,isHighlighted:n,onSelect:i});if(t instanceof gn)return(0,e.jsx)(vn,{item:t,isHighlighted:n,onSelect:i});throw Error("Unsupported item type: "+typeof t)}function vn({item:t,isHighlighted:n,onSelect:i}){const r=t.result.poi?t.result.poi:"";return(0,e.jsx)(xn,{isHighlighted:n,onSelect:()=>i(t),children:(0,e.jsxs)("div",{className:fn.poiEntry,children:[(0,e.jsx)("span",{className:fn.poiEntryPrimaryText,children:r.charAt(0).toUpperCase()+r.slice(1)}),(0,e.jsx)("span",{children:t.result.text("")})]})})}function bn({item:t,isHighlighted:n,onSelect:i}){return(0,e.jsx)(xn,{isHighlighted:n,onSelect:()=>i(t),children:(0,e.jsxs)("div",{className:fn.geocodingEntry,title:t.toText(),children:[(0,e.jsx)("span",{className:fn.mainText,children:t.mainText}),(0,e.jsx)("span",{className:fn.secondaryText,children:t.secondText})]})})}function xn({isHighlighted:t,children:n,onSelect:i}){const r=t?fn.selectableItem+" "+fn.highlightedItem:fn.selectableItem;return(0,e.jsx)("button",{className:r,onClick:()=>i(),onTouchEnd:e=>{e.preventDefault(),i()},onMouseDown:e=>{e.preventDefault()},children:n})}var wn;function kn(){return kn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},kn.apply(null,arguments)}const Cn=function(e){return c.createElement("svg",kn({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),wn||(wn=c.createElement("path",{fill:"currentColor",d:"m313-440 224 224-57 56-320-320 320-320 57 56-224 224h487v80z"})))};var An;function Sn(){return Sn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Sn.apply(null,arguments)}const En=function(e){return c.createElement("svg",Sn({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),An||(An=c.createElement("path",{fill:"currentColor",d:"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224z"})))};var In,Tn;function Mn(){return Mn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Mn.apply(null,arguments)}const Pn=function(e){return c.createElement("svg",Mn({xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},e),In||(In=c.createElement("path",{fill:"none",d:"M0 0h24v24H0z"})),Tn||(Tn=c.createElement("path",{fill:"currentColor",d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m8.94 3A8.994 8.994 0 0 0 13 3.06V2c0-.55-.45-1-1-1s-1 .45-1 1v1.06A8.994 8.994 0 0 0 3.06 11H2c-.55 0-1 .45-1 1s.45 1 1 1h1.06A8.994 8.994 0 0 0 11 20.94V22c0 .55.45 1 1 1s1-.45 1-1v-1.06A8.994 8.994 0 0 0 20.94 13H22c.55 0 1-.45 1-1s-.45-1-1-1zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7"})))};var Rn=n(7681),zn={};zn.styleTagTransform=we(),zn.setAttributes=ye(),zn.insert=ge().bind(null,"head"),zn.domAPI=fe(),zn.insertStyleElement=be(),pe()(Rn.A,zn);const Ln=Rn.A&&Rn.A.locals?Rn.A.locals:void 0;var On=n(6596),Fn=n.n(On),jn=/[A-Z]/g,Dn=/^ms-/,Nn={};function Bn(e){return"-"+e.toLowerCase()}const qn=function(e){if(Nn.hasOwnProperty(e))return Nn[e];var t=e.replace(jn,Bn);return Nn[e]=Dn.test(t)?"-"+t:t};var Gn=n(5826),Vn=n.n(Gn);const Wn=Vn().oneOfType([Vn().string,Vn().number]),Hn={all:Vn().bool,grid:Vn().bool,aural:Vn().bool,braille:Vn().bool,handheld:Vn().bool,print:Vn().bool,projection:Vn().bool,screen:Vn().bool,tty:Vn().bool,tv:Vn().bool,embossed:Vn().bool},Un={orientation:Vn().oneOf(["portrait","landscape"]),scan:Vn().oneOf(["progressive","interlace"]),aspectRatio:Vn().string,deviceAspectRatio:Vn().string,height:Wn,deviceHeight:Wn,width:Wn,deviceWidth:Wn,color:Vn().bool,colorIndex:Vn().bool,monochrome:Vn().bool,resolution:Wn,type:Object.keys(Hn)},{type:$n,...Kn}=Un,Xn={minAspectRatio:Vn().string,maxAspectRatio:Vn().string,minDeviceAspectRatio:Vn().string,maxDeviceAspectRatio:Vn().string,minHeight:Wn,maxHeight:Wn,minDeviceHeight:Wn,maxDeviceHeight:Wn,minWidth:Wn,maxWidth:Wn,minDeviceWidth:Wn,maxDeviceWidth:Wn,minColor:Vn().number,maxColor:Vn().number,minColorIndex:Vn().number,maxColorIndex:Vn().number,minMonochrome:Vn().number,maxMonochrome:Vn().number,minResolution:Wn,maxResolution:Wn,...Kn};var Zn={all:{...Hn,...Xn},types:Hn,matchers:Un,features:Xn};const Yn=(0,c.createContext)(void 0),Qn=e=>{if(e)return Object.keys(e).reduce((t,n)=>(t[qn(n)]=e[n],t),{})},Jn=()=>{const e=(0,c.useRef)(!1);return(0,c.useEffect)(()=>{e.current=!0},[]),e.current},ei=e=>{const t=()=>(e=>e.query||(e=>{const t=[];return Object.keys(Zn.all).forEach(n=>{const i=e[n];null!=i&&t.push(((e,t)=>{const n=qn(e);return"number"==typeof t&&(t=`${t}px`),!0===t?n:!1===t?`not ${n}`:`(${n}: ${t})`})(n,i))}),t.join(" and ")})(e))(e),[n,i]=(0,c.useState)(t);return(0,c.useEffect)(()=>{const e=t();n!==e&&i(e)},[e]),n},ti=(e,t,n)=>{const i=(e=>{const t=(0,c.useContext)(Yn),n=()=>Qn(e)||Qn(t),[i,r]=(0,c.useState)(n);return(0,c.useEffect)(()=>{const e=n();(function(e,t){if(e===t)return!0;if(!e||!t)return!1;const n=Object.keys(e),i=Object.keys(t),r=n.length;if(i.length!==r)return!1;for(let i=0;i<r;i++){const r=n[i];if(e[r]!==t[r]||!Object.prototype.hasOwnProperty.call(t,r))return!1}return!0})(i,e)||r(e)},[e,t]),i})(t),r=ei(e);if(!r)throw new Error("Invalid or missing MediaQuery!");const o=((e,t)=>{const n=()=>Fn()(e,t||{},!!t),[i,r]=(0,c.useState)(n),o=Jn();return(0,c.useEffect)(()=>{if(o){const e=n();return r(e),()=>{e&&e.dispose()}}},[e,t]),i})(r,i),s=(e=>{const[t,n]=(0,c.useState)(e.matches);return(0,c.useEffect)(()=>{const t=e=>{n(e.matches)};return e.addListener(t),n(e.matches),()=>{e.removeListener(t)}},[e]),t})(o),a=Jn();return(0,c.useEffect)(()=>{a&&n&&n(s)},[s]),(0,c.useEffect)(()=>()=>{o&&o.dispose()},[]),s};var ni=n(2483),ii=n(1679),ri={};ri.styleTagTransform=we(),ri.setAttributes=ye(),ri.insert=ge().bind(null,"head"),ri.domAPI=fe(),ri.insertStyleElement=be(),pe()(ii.A,ri);const oi=ii.A&&ii.A.locals?ii.A.locals:void 0;function si({children:e,inputElement:t,keepClearAtBottom:n}){const i=(0,c.useRef)(document.createElement("div")),r=(0,c.useRef)(document.getElementById(yM)),o=function(e,t){const[n,i]=(0,c.useState)(DOMRect.fromRect());return(0,c.useEffect)(()=>{t&&i(t.getBoundingClientRect())},[t]),(0,c.useEffect)(()=>{const n=()=>{i(t.getBoundingClientRect())},r=document.getElementById(e);return r&&r.addEventListener("scroll",n,{passive:!0}),()=>{r&&r.removeEventListener("scroll",n)}},[t]),n}(vM,t);return(0,c.useEffect)(()=>(i.current.className=oi.popup,r.current.appendChild(i.current),()=>{r.current.removeChild(i.current)}),[i]),(0,c.useEffect)(()=>{const e=r.current.getBoundingClientRect();e.bottom-o.bottom>n?function(e,t,n){const i=e.bottom-t.top,r=e.left-t.left;n.style.top=i+"px",n.style.bottom="",n.style.left=r+"px",n.style.width=e.width+"px"}(o,e,i.current):function(e,t,n){const i=t.bottom-e.bottom+e.height,r=e.left-t.left;n.style.bottom=i+"px",n.style.top="",n.style.left=r+"px",n.style.width=e.width+"px"}(o,e,i.current)},[o]),(0,ni.createPortal)(e,i.current)}const ai=2;let li=1;function ci(...e){li>ai||console.warn(...e)}function ui(e){const t=[1/0,1/0,-1/0,-1/0];for(let n=0,i=e.length;n<i;++n)Ci(t,e[n]);return t}function di(e,t,n){return n?(n[0]=e[0]-t,n[1]=e[1]-t,n[2]=e[2]+t,n[3]=e[3]+t,n):[e[0]-t,e[1]-t,e[2]+t,e[3]+t]}function pi(e,t){return t?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):e.slice()}function hi(e,t,n){let i,r;return i=t<e[0]?e[0]-t:e[2]<t?t-e[2]:0,r=n<e[1]?e[1]-n:e[3]<n?n-e[3]:0,i*i+r*r}function fi(e,t){return gi(e,t[0],t[1])}function _i(e,t){return e[0]<=t[0]&&t[2]<=e[2]&&e[1]<=t[1]&&t[3]<=e[3]}function gi(e,t,n){return e[0]<=t&&t<=e[2]&&e[1]<=n&&n<=e[3]}function mi(e,t){const n=e[0],i=e[1],r=e[2],o=e[3],s=t[0],a=t[1];let l=0;return s<n?l|=16:s>r&&(l|=4),a<i?l|=8:a>o&&(l|=2),0===l&&(l=1),l}function yi(e,t,n,i,r){return r?(r[0]=e,r[1]=t,r[2]=n,r[3]=i,r):[e,t,n,i]}function vi(e){return yi(1/0,1/0,-1/0,-1/0,e)}function bi(e,t){const n=e[0],i=e[1];return yi(n,i,n,i,t)}function xi(e,t,n,i,r){return Ai(vi(r),e,t,n,i)}function wi(e,t){return e[0]==t[0]&&e[2]==t[2]&&e[1]==t[1]&&e[3]==t[3]}function ki(e,t){return t[0]<e[0]&&(e[0]=t[0]),t[2]>e[2]&&(e[2]=t[2]),t[1]<e[1]&&(e[1]=t[1]),t[3]>e[3]&&(e[3]=t[3]),e}function Ci(e,t){t[0]<e[0]&&(e[0]=t[0]),t[0]>e[2]&&(e[2]=t[0]),t[1]<e[1]&&(e[1]=t[1]),t[1]>e[3]&&(e[3]=t[1])}function Ai(e,t,n,i,r){for(;n<i;n+=r)Si(e,t[n],t[n+1]);return e}function Si(e,t,n){e[0]=Math.min(e[0],t),e[1]=Math.min(e[1],n),e[2]=Math.max(e[2],t),e[3]=Math.max(e[3],n)}function Ei(e,t){let n;return n=t(Ti(e)),n||(n=t(Mi(e)),n||(n=t(Di(e)),n||(n=t(ji(e)),n||!1)))}function Ii(e){let t=0;return qi(e)||(t=Ni(e)*Oi(e)),t}function Ti(e){return[e[0],e[1]]}function Mi(e){return[e[2],e[1]]}function Pi(e){return[(e[0]+e[2])/2,(e[1]+e[3])/2]}function Ri(e,t){let n;if("bottom-left"===t)n=Ti(e);else if("bottom-right"===t)n=Mi(e);else if("top-left"===t)n=ji(e);else{if("top-right"!==t)throw new Error("Invalid corner");n=Di(e)}return n}function zi(e,t,n,i,r){const[o,s,a,l,c,u,d,p]=Li(e,t,n,i);return yi(Math.min(o,a,c,d),Math.min(s,l,u,p),Math.max(o,a,c,d),Math.max(s,l,u,p),r)}function Li(e,t,n,i){const r=t*i[0]/2,o=t*i[1]/2,s=Math.cos(n),a=Math.sin(n),l=r*s,c=r*a,u=o*s,d=o*a,p=e[0],h=e[1];return[p-l+d,h-c-u,p-l-d,h-c+u,p+l-d,h+c+u,p+l+d,h+c-u,p-l+d,h-c-u]}function Oi(e){return e[3]-e[1]}function Fi(e,t,n){const i=n||[1/0,1/0,-1/0,-1/0];return Bi(e,t)?(e[0]>t[0]?i[0]=e[0]:i[0]=t[0],e[1]>t[1]?i[1]=e[1]:i[1]=t[1],e[2]<t[2]?i[2]=e[2]:i[2]=t[2],e[3]<t[3]?i[3]=e[3]:i[3]=t[3]):vi(i),i}function ji(e){return[e[0],e[3]]}function Di(e){return[e[2],e[3]]}function Ni(e){return e[2]-e[0]}function Bi(e,t){return e[0]<=t[2]&&e[2]>=t[0]&&e[1]<=t[3]&&e[3]>=t[1]}function qi(e){return e[2]<e[0]||e[3]<e[1]}function Gi(e,t,n,i){if(qi(e))return vi(n);let r=[];if(i>1){const t=e[2]-e[0],n=e[3]-e[1];for(let o=0;o<i;++o)r.push(e[0]+t*o/i,e[1],e[2],e[1]+n*o/i,e[2]-t*o/i,e[3],e[0],e[3]-n*o/i)}else r=[e[0],e[1],e[2],e[1],e[2],e[3],e[0],e[3]];t(r,r,2);const o=[],s=[];for(let e=0,t=r.length;e<t;e+=2)o.push(r[e]),s.push(r[e+1]);return function(e,t,n){return yi(Math.min.apply(null,e),Math.min.apply(null,t),Math.max.apply(null,e),Math.max.apply(null,t),n)}(o,s,n)}function Vi(e,t){const n=t.getExtent(),i=Pi(e);if(t.canWrapX()&&(i[0]<n[0]||i[0]>=n[2])){const t=Ni(n),r=Math.floor((i[0]-n[0])/t)*t;e[0]-=r,e[2]-=r}return e}function Wi(e,t,n){if(t.canWrapX()){const i=t.getExtent();if(!isFinite(e[0])||!isFinite(e[2]))return[[i[0],e[1],i[2],e[3]]];Vi(e,t);const r=Ni(i);if(Ni(e)>r&&!n)return[[i[0],e[1],i[2],e[3]]];if(e[0]<i[0])return[[e[0]+r,e[1],i[2],e[3]],[i[0],e[1],e[2],e[3]]];if(e[2]>i[2])return[[e[0],e[1],i[2],e[3]],[i[0],e[1],e[2]-r,e[3]]]}return[e]}function Hi(e,t){const n=t.getRadius(),i=t.getCenter(),r=i[0],o=i[1];let s=e[0]-r;const a=e[1]-o;0===s&&0===a&&(s=1);const l=Math.sqrt(s*s+a*a);return[r+n*s/l,o+n*a/l]}function Ui(e,t){const n=e[0],i=e[1],r=t[0],o=t[1],s=r[0],a=r[1],l=o[0],c=o[1],u=l-s,d=c-a,p=0===u&&0===d?0:(u*(n-s)+d*(i-a))/(u*u+d*d||0);let h,f;return p<=0?(h=s,f=a):p>=1?(h=l,f=c):(h=s+p*u,f=a+p*d),[h,f]}function $i(e,t){let n=!0;for(let i=e.length-1;i>=0;--i)if(e[i]!=t[i]){n=!1;break}return n}function Ki(e,t){const n=Math.cos(t),i=Math.sin(t),r=e[0]*n-e[1]*i,o=e[1]*n+e[0]*i;return e[0]=r,e[1]=o,e}function Xi(e,t){const n=e[0]-t[0],i=e[1]-t[1];return n*n+i*i}function Zi(e,t){return Math.sqrt(Xi(e,t))}function Yi(e,t){if(t.canWrapX()){const n=Ni(t.getExtent()),i=function(e,t,n){const i=t.getExtent();let r=0;return t.canWrapX()&&(e[0]<i[0]||e[0]>i[2])&&(n=n||Ni(i),r=Math.floor((e[0]-i[0])/n)),r}(e,t,n);i&&(e[0]-=i*n)}return e}function Qi(e,t,n){return Math.min(Math.max(e,t),n)}function Ji(e,t,n,i,r,o){const s=r-n,a=o-i;if(0!==s||0!==a){const l=((e-n)*s+(t-i)*a)/(s*s+a*a);l>1?(n=r,i=o):l>0&&(n+=s*l,i+=a*l)}return er(e,t,n,i)}function er(e,t,n,i){const r=n-e,o=i-t;return r*r+o*o}function tr(e){return 180*e/Math.PI}function nr(e){return e*Math.PI/180}function ir(e,t){const n=e%t;return n*t<0?n+t:n}function rr(e,t,n){return e+n*(t-e)}function or(e,t){const n=Math.pow(10,t);return Math.round(e*n)/n}function sr(e,t){return Math.floor(or(e,t))}function ar(e,t){return Math.ceil(or(e,t))}function lr(e,t,n){if(e>=t&&e<n)return e;const i=n-t;return((e-t)%i+i)%i+t}const cr={radians:6370997/(2*Math.PI),degrees:2*Math.PI*6370997/360,ft:.3048,m:1,"us-ft":1200/3937},ur=class{constructor(e){this.code_=e.code,this.units_=e.units,this.extent_=void 0!==e.extent?e.extent:null,this.worldExtent_=void 0!==e.worldExtent?e.worldExtent:null,this.axisOrientation_=void 0!==e.axisOrientation?e.axisOrientation:"enu",this.global_=void 0!==e.global&&e.global,this.canWrapX_=!(!this.global_||!this.extent_),this.getPointResolutionFunc_=e.getPointResolution,this.defaultTileGrid_=null,this.metersPerUnit_=e.metersPerUnit}canWrapX(){return this.canWrapX_}getCode(){return this.code_}getExtent(){return this.extent_}getUnits(){return this.units_}getMetersPerUnit(){return this.metersPerUnit_||cr[this.units_]}getWorldExtent(){return this.worldExtent_}getAxisOrientation(){return this.axisOrientation_}isGlobal(){return this.global_}setGlobal(e){this.global_=e,this.canWrapX_=!(!e||!this.extent_)}getDefaultTileGrid(){return this.defaultTileGrid_}setDefaultTileGrid(e){this.defaultTileGrid_=e}setExtent(e){this.extent_=e,this.canWrapX_=!(!this.global_||!e)}setWorldExtent(e){this.worldExtent_=e}setGetPointResolution(e){this.getPointResolutionFunc_=e}getPointResolutionFunc(){return this.getPointResolutionFunc_}},dr=6378137,pr=Math.PI*dr,hr=[-pr,-pr,pr,pr],fr=[-180,-85,180,85],_r=dr*Math.log(Math.tan(Math.PI/2));class gr extends ur{constructor(e){super({code:e,units:"m",extent:hr,global:!0,worldExtent:fr,getPointResolution:function(e,t){return e/Math.cosh(t[1]/dr)}})}}const mr=[new gr("EPSG:3857"),new gr("EPSG:102100"),new gr("EPSG:102113"),new gr("EPSG:900913"),new gr("http://www.opengis.net/def/crs/EPSG/0/3857"),new gr("http://www.opengis.net/gml/srs/epsg.xml#3857")];const yr=[-180,-90,180,90],vr=6378137*Math.PI/180;class br extends ur{constructor(e,t){super({code:e,units:"degrees",extent:yr,axisOrientation:t,global:!0,metersPerUnit:vr,worldExtent:yr})}}const xr=[new br("CRS:84"),new br("EPSG:4326","neu"),new br("urn:ogc:def:crs:OGC:1.3:CRS84"),new br("urn:ogc:def:crs:OGC:2:84"),new br("http://www.opengis.net/def/crs/OGC/1.3/CRS84"),new br("http://www.opengis.net/gml/srs/epsg.xml#4326","neu"),new br("http://www.opengis.net/def/crs/EPSG/0/4326","neu")];let wr={},kr={};function Cr(e,t,n){const i=e.getCode(),r=t.getCode();i in kr||(kr[i]={}),kr[i][r]=n}function Ar(e,t){return e in kr&&t in kr[e]?kr[e][t]:null}const Sr=.9996,Er=.00669438,Ir=Er*Er,Tr=Ir*Er,Mr=Er/(1-Er),Pr=Math.sqrt(1-Er),Rr=(1-Pr)/(1+Pr),zr=Rr*Rr,Lr=zr*Rr,Or=Lr*Rr,Fr=Or*Rr,jr=.9983242984503243,Dr=15*Ir/256+45*Tr/1024,Nr=35*Tr/3072,Br=1.5*Rr-27/32*Lr+269/512*Fr,qr=21/16*zr-55/32*Or,Gr=151/96*Lr-417/128*Fr,Vr=1097/512*Or,Wr=6378137;function Hr(e,t,n){const i=e-5e5,r=(n.north?t:t-1e7)/Sr/(Wr*jr),o=r+Br*Math.sin(2*r)+qr*Math.sin(4*r)+Gr*Math.sin(6*r)+Vr*Math.sin(8*r),s=Math.sin(o),a=s*s,l=Math.cos(o),c=s/l,u=c*c,d=u*u,p=1-Er*a,h=Math.sqrt(1-Er*a),f=Mr*l**2,_=f*f,g=i/(Wr/h*Sr),m=g*g,y=m*g,v=y*g,b=v*g,x=o-c/((1-Er)/p)*(m/2-v/24*(5+3*u+10*f-4*_-9*Mr))+b*g/720*(61+90*u+298*f+45*d-252*Mr-3*_);let w=(g-y/6*(1+2*u+f)+b/120*(5-2*f+28*u-3*_+8*Mr+24*d))/l;return w=lr(w+nr($r(n.number)),-Math.PI,Math.PI),[tr(w),tr(x)]}function Ur(e,t,n){e=lr(e,-180,180),t<-80?t=-80:t>84&&(t=84);const i=nr(t),r=Math.sin(i),o=Math.cos(i),s=r/o,a=s*s,l=a*a,c=nr(e),u=nr($r(n.number)),d=Wr/Math.sqrt(1-Er*r**2),p=Mr*o**2,h=o*lr(c-u,-Math.PI,Math.PI),f=h*h,_=f*h,g=_*h,m=g*h,y=m*h,v=Wr*(jr*i-.002514607064228144*Math.sin(2*i)+Dr*Math.sin(4*i)-Nr*Math.sin(6*i)),b=Sr*d*(h+_/6*(1-a+p)+m/120*(5-18*a+l+72*p-58*Mr))+5e5;let x=Sr*(v+d*s*(f/2+g/24*(5-a+9*p+4*p**2)+y/720*(61-58*a+l+600*p-330*Mr)));return n.north||(x+=1e7),[b,x]}function $r(e){return 6*(e-1)-180+3}const Kr=[/^EPSG:(\d+)$/,/^urn:ogc:def:crs:EPSG::(\d+)$/,/^http:\/\/www\.opengis\.net\/def\/crs\/EPSG\/0\/(\d+)$/];function Xr(e){let t=0;for(const n of Kr){const i=e.match(n);if(i){t=parseInt(i[1]);break}}if(!t)return null;let n=0,i=!1;return t>32700&&t<32761?n=t-32700:t>32600&&t<32661&&(i=!0,n=t-32600),n?{number:n,north:i}:null}function Zr(e,t){return function(n,i,r,o){const s=n.length;r=r>1?r:2,o=o??r,i||(i=r>2?n.slice():new Array(s));for(let r=0;r<s;r+=o){const o=n[r],s=n[r+1],a=e(o,s,t);i[r]=a[0],i[r+1]=a[1]}return i}}function Yr(e,t,n){n=n||6371008.8;const i=nr(e[1]),r=nr(t[1]),o=(r-i)/2,s=nr(t[0]-e[0])/2,a=Math.sin(o)*Math.sin(o)+Math.sin(s)*Math.sin(s)*Math.cos(i)*Math.cos(r);return 2*n*Math.atan2(Math.sqrt(a),Math.sqrt(1-a))}const Qr=[function(e){const t=Xr(e.getCode());return t?{forward:Zr(Ur,t),inverse:Zr(Hr,t)}:null}],Jr=[function(e){return Xr(e)?new ur({code:e,units:"m"}):null}];let eo=!0;function to(e){eo=!(void 0===e||e)}function no(e,t){if(void 0!==t)for(let n=0,i=e.length;n<i;++n)t[n]=e[n];else t=e.slice();return t}function io(e){!function(e,t){wr[e]=t}(e.getCode(),e),Cr(e,e,no)}function ro(e){if("string"!=typeof e)return e;const t=wr[n=e]||wr[n.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/,"EPSG:$3")]||null;var n;if(t)return t;for(const t of Jr){const n=t(e);if(n)return n}return null}function oo(e,t,n,i){let r;const o=(e=ro(e)).getPointResolutionFunc();if(o){if(r=o(t,n),i&&i!==e.getUnits()){const t=e.getMetersPerUnit();t&&(r=r*t/cr[i])}}else{const o=e.getUnits();if("degrees"==o&&!i||"degrees"==i)r=t;else{const s=po(e,ro("EPSG:4326"));if(s||"degrees"===o){let e=[n[0]-t/2,n[1],n[0]+t/2,n[1],n[0],n[1]-t/2,n[0],n[1]+t/2];e=s(e,e,2),r=(Yr(e.slice(0,2),e.slice(2,4))+Yr(e.slice(4,6),e.slice(6,8)))/2}else r=t*e.getMetersPerUnit();const a=i?cr[i]:e.getMetersPerUnit();void 0!==a&&(r/=a)}}return r}function so(e){!function(e){e.forEach(io)}(e),e.forEach(function(t){e.forEach(function(e){t!==e&&Cr(t,e,no)})})}function ao(e,t){return e?"string"==typeof e?ro(e):e:ro(t)}function lo(e,t){return to(),_o(e,"EPSG:4326",void 0!==t?t:"EPSG:3857")}function co(e,t){const n=_o(e,void 0!==t?t:"EPSG:3857","EPSG:4326"),i=n[0];return(i<-180||i>180)&&(n[0]=ir(i+180,360)-180),n}function uo(e,t){if(e===t)return!0;const n=e.getUnits()===t.getUnits();return(e.getCode()===t.getCode()||po(e,t)===no)&&n}function po(e,t){const n=e.getCode(),i=t.getCode();let r=Ar(n,i);if(r)return r;let o=null,s=null;for(const n of Qr)o||(o=n(e)),s||(s=n(t));if(!o&&!s)return null;const a="EPSG:4326";if(s)if(o)r=ho(o.inverse,s.forward);else{const e=Ar(n,a);e&&(r=ho(e,s.forward))}else{const e=Ar(a,i);e&&(r=ho(o.inverse,e))}return r&&(io(e),io(t),Cr(e,t,r)),r}function ho(e,t){return function(n,i,r,o){return i=e(n,i,r,o),t(i,i,r,o)}}function fo(e,t){return po(ro(e),ro(t))}function _o(e,t,n){const i=fo(t,n);if(!i){const e=ro(t).getCode(),i=ro(n).getCode();throw new Error(`No transform available between ${e} and ${i}`)}return i(e,void 0,e.length)}function go(e,t,n,i){return Gi(e,fo(t,n),void 0,i)}let mo=null;function yo(){return mo}function vo(e,t){return e}function bo(e,t){return eo&&!$i(e,[0,0])&&e[0]>=-180&&e[0]<=180&&e[1]>=-90&&e[1]<=90&&(eo=!1,ci("Call useGeographic() from ol/proj once to work with [longitude, latitude] coordinates.")),e}function xo(e,t){return e}function wo(e,t){return e}function ko(e,t){return e}var Co,Ao,So;so(mr),so(xr),Co=mr,Ao=function(e,t,n,i){const r=e.length;n=n>1?n:2,i=i??n,void 0===t&&(t=n>2?e.slice():new Array(r));for(let n=0;n<r;n+=i){t[n]=pr*e[n]/180;let i=dr*Math.log(Math.tan(Math.PI*(+e[n+1]+90)/360));i>_r?i=_r:i<-_r&&(i=-_r),t[n+1]=i}return t},So=function(e,t,n,i){const r=e.length;n=n>1?n:2,i=i??n,void 0===t&&(t=n>2?e.slice():new Array(r));for(let n=0;n<r;n+=i)t[n]=180*e[n]/pr,t[n+1]=360*Math.atan(Math.exp(e[n+1]/dr))/Math.PI-90;return t},xr.forEach(function(e){Co.forEach(function(t){Cr(e,t,Ao),Cr(t,e,So)})});class Eo{constructor(e,t,n,i){this.location=e,this.query=t,this.icon=n,this.poi=i}hasPOIs(){return this.query.queries.length>0}text(e){return this.location?l("poi_in",[e,this.location]):l("poi_nearby",[e])}static parse(e,t){e=e.toLowerCase();const n=Eo.REMOVE_VALUES,i=e.split(" ").filter(e=>e&&!n.includes(e)),r=Eo.getGeneric(i);if(r.hasPOIs())return r;const o=i.join(" "),s=[];for(let e=0;e<i.length-1;e++)s.push(i[e]+" "+i[e+1]);const a=[];for(let e=0;e<i.length-2;e++)a.push(i[e]+" "+i[e+1]+" "+i[e+2]);for(const e of Eo.TRIGGER_VALUES){if(a.length>0)for(const t of e.k){const n=a.indexOf(t);if(!(n<0))return new Eo(o.replace(a[n],"").trim(),e.q,e.i,e.k[0])}if(s.length>0)for(const t of e.k){const n=s.indexOf(t);if(!(n<0))return new Eo(o.replace(s[n],"").trim(),e.q,e.i,e.k[0])}for(const t of e.k){const n=i.indexOf(t);if(!(n<0))return new Eo(o.replace(i[n],"").trim(),e.q,e.i,e.k[0])}}return new Eo("",new Io([]),"","")}static getGeneric(e){const t=[],n=[],i=[],r=new Io([new To([])]),o=e.includes("and");for(const o of e){const e=o.indexOf("!"),s=o.indexOf("="),a=o.indexOf("~");if(e>=0){const t=o.includes("~")?"!~":"!=",n=new Mo(o.substring(0,e),t,o.substring(e+2),!1);r.queries[0].phrases.push(n),i.push(n)}else if(a>=0){const e=new Mo(o.substring(0,a),"~",o.substring(a+1),!0);r.queries[0].phrases.push(e),n.push(e)}else if(s>=0){const e=new Mo(o.substring(0,s),"=",o.substring(s+1),!1);r.queries[0].phrases.push(e),n.push(e)}else"and"==o||t.push(o)}if(o)return new Eo(t.join(" "),r,"store",r.toString());const s=[];for(const e of n)s.push(new To([e,...i]));const a=new Io(s);return new Eo(t.join(" "),a,"store",a.toString())}static handleGeocodingResponse(e,t){if(0==e.length)return void Q.dispatch(new V([]));const n=e.filter(e=>!!e.point).map(e=>{const n=jt({name:e.tags.name?e.tags.name:"",country:e.tags["addr:country"],city:e.tags["addr:city"],state:e.tags["addr:state"],street:e.tags["addr:street"],housenumber:e.tags["addr:housenumer"],postcode:e.tags["addr:postcode"]});return{name:n.mainText,osm_id:""+e.id,osm_type:e.type,query:t.query,tags:e.tags,icon:t.icon,coordinate:e.point,address:n.secondText}}),i=ft(n.map(e=>e.coordinate));i?(t.location&&Q.dispatch(new O(i)),Q.dispatch(new V(n))):console.warn("invalid bbox for points "+JSON.stringify(n)+" result was: "+JSON.stringify(t))}static setPOITriggerPhrases(e){const t=t=>e.get(t).split(",").map(e=>e.trim().toLowerCase());Eo.REMOVE_VALUES=t("poi_removal_words"),Eo.TRIGGER_VALUES=[{k:"poi_airports",q:["aeroway=aerodrome and landuse!=military and military!~.*"],i:"flight_takeoff"},{k:"poi_bureau_de_change",q:["amenity=bureau_de_change"],i:"local_atm"},{k:"poi_atm",q:["amenity=atm","amenity=bank"],i:"local_atm"},{k:"poi_banks",q:["amenity=bank"],i:"universal_currency_alt"},{k:"poi_bicycle",q:["shop=bicycle"],i:"pedal_bike"},{k:"poi_bicycle_rental",q:["amenity=bicycle_rental"],i:"pedal_bike"},{k:"poi_car_rental",q:["amenity=car_rental","amenity=car_sharing"],i:"car_rental"},{k:"poi_car_repair",q:["shop=car","shop=car_repair"],i:"car_repair"},{k:"poi_bus_stops",q:["highway=bus_stop"],i:"train"},{k:"poi_cafe",q:["amenity=cafe","amenity=restaurant and cuisine=coffee_shop","amenity=internet_cafe"],i:"restaurant"},{k:"poi_charging_station",q:["amenity=charging_station"],i:"charger"},{k:"poi_cinema",q:["amenity=cinema"],i:"cinematic_blur"},{k:"poi_cuisine_american",q:["cuisine=american","origin=american"],i:"restaurant"},{k:"poi_cuisine_african",q:["cuisine=african","origin=african"],i:"restaurant"},{k:"poi_cuisine_arab",q:["cuisine=arab","origin=arab"],i:"restaurant"},{k:"poi_cuisine_asian",q:["cuisine=asian","origin=asian","name~asia"],i:"restaurant"},{k:"poi_cuisine_chinese",q:["cuisine=chinese","origin=chinese"],i:"restaurant"},{k:"poi_cuisine_greek",q:["cuisine=greek","origin=greek"],i:"restaurant"},{k:"poi_cuisine_indian",q:["cuisine=indian","origin=indian"],i:"restaurant"},{k:"poi_cuisine_italian",q:["cuisine=italian","origin=italian"],i:"restaurant"},{k:"poi_cuisine_japanese",q:["cuisine=japanese","origin=japanese"],i:"restaurant"},{k:"poi_cuisine_mexican",q:["cuisine=mexican","origin=mexican"],i:"restaurant"},{k:"poi_cuisine_polish",q:["cuisine=polish","origin=polish"],i:"restaurant"},{k:"poi_cuisine_russian",q:["cuisine=russian","origin=russian"],i:"restaurant"},{k:"poi_cuisine_turkish",q:["cuisine=turkish","origin=turkish"],i:"restaurant"},{k:"poi_diy",q:["shop=doityourself"],i:"store"},{k:"poi_doctor",q:["amenity=doctors","healthcare=doctor"],i:"local_pharmacy"},{k:"poi_dentist",q:["amenity=dentist","healthcare=dentist"],i:"local_pharmacy"},{k:"poi_education",q:["amenity=school","building=school","building=university"],i:"school"},{k:"poi_fast_food",q:["amenity=fast_food"],i:"restaurant"},{k:"poi_food_burger",q:["cuisine=burger","name~burger","cuisine=american","origin=american"],i:"restaurant"},{k:"poi_food_kebab",q:["cuisine=kebab","name~kebab"],i:"restaurant"},{k:"poi_food_pizza",q:["cuisine=pizza","name~pizza","cuisine=italian","origin=italian"],i:"restaurant"},{k:"poi_food_sandwich",q:["cuisine=sandwich","name~sandwich"],i:"restaurant"},{k:"poi_food_sushi",q:["cuisine=sushi","name~sushi","cuisine=japanese","origin=japanese"],i:"restaurant"},{k:"poi_food_chicken",q:["cuisine=chicken","name~chicken"],i:"restaurant"},{k:"poi_gas_station",q:["amenity=fuel"],i:"local_gas_station"},{k:"poi_hospitals",q:["amenity=hospital","building=hospital"],i:"local_hospital"},{k:"poi_hotels",q:["amenity=hotel","building=hotel","tourism=hotel"],i:"hotel"},{k:"poi_leisure",q:["leisure=*"],i:"sports_handball"},{k:"poi_museums",q:["tourism=museum","building=museum"],i:"museum"},{k:"poi_parking",q:["amenity=parking"],i:"local_parking"},{k:"poi_parks",q:["leisure=park"],i:"sports_handball"},{k:"poi_pharmacies",q:["amenity=pharmacy"],i:"local_pharmacy"},{k:"poi_playgrounds",q:["leisure=playground"],i:"sports_handball"},{k:"poi_police",q:["amenity=police"],i:"police"},{k:"poi_post_box",q:["amenity=post_box","amenity=post_office","amenity=post_depot"],i:"local_post_office"},{k:"poi_post",q:["amenity=post_office","amenity=post_depot"],i:"local_post_office"},{k:"poi_public_transit",q:["public_transport=station","railway=station","highway=bus_stop"],i:"train"},{k:"poi_railway_station",q:["railway=station","railway=halt"],i:"train"},{k:"poi_recycling",q:["amenity=recycling"],i:"recycling"},{k:"poi_restaurants",q:["amenity=restaurant"],i:"restaurant"},{k:"poi_schools",q:["amenity=school","building=school"],i:"school"},{k:"poi_shopping",q:["shop=*"],i:"store"},{k:"poi_shop_bakery",q:["shop=bakery"],i:"store"},{k:"poi_shop_butcher",q:["shop=butcher"],i:"store"},{k:"poi_super_markets",q:["shop=supermarket","building=supermarket"],i:"store"},{k:"poi_swim",q:["natural=beach","sport=swimming"],i:"pool"},{k:"poi_toilets",q:["amenity=toilets"],i:"home_and_garden"},{k:"poi_tourism",q:["tourism=*"],i:"luggage"},{k:"poi_townhall",q:["amenity=townhall"],i:"location_city"},{k:"poi_transit_stops",q:["highway=bus_stop","railway=tram_stop","public_transport=platform","railway=platform"],i:"train"},{k:"poi_viewpoint",q:["tourism=viewpoint"],i:"visibility"},{k:"poi_water",q:["amenity=drinking_water","natural=spring"],i:"water_drop"},{k:"poi_wifi",q:["internet_access=* and internet_access!=no","amenity=internet_cafe"],i:"wifi"}].map(e=>{const n=e.q.map(e=>new To(e.split(" and ").map(e=>{let t=e.split("!=");return t.length>1?new Mo(t[0],"!=",t[1],!1):(t=e.split("!~"),t.length>1?new Mo(t[0],"!~",t[1],!1):(t=e.split("~"),t.length>1?new Mo(t[0],"~",t[1],!0):(t=e.split("="),new Mo(t[0],"=",t[1],!1))))})));return{k:t(e.k),q:new Io(n),i:e.i}})}}class Io{constructor(e){this.queries=e}toString(){return this.queries.join(" ")}}class To{constructor(e){this.phrases=e}toString(){return this.phrases.map(e=>e.toString()).join(" and ").trim()}}class Mo{constructor(e,t,n,i){this.k=e,this.sign=t,this.v=n,this.ignoreCase=i}toString(){return this.k+this.sign+this.v}}const Po="add",Ro="remove",zo="propertychange",Lo="change",Oo="contextmenu",Fo="click",jo="keydown",Do="keypress",No="touchmove",Bo="wheel",qo=class{constructor(){this.disposed=!1}dispose(){this.disposed||(this.disposed=!0,this.disposeInternal())}disposeInternal(){}};function Go(e,t){return e>t?1:e<t?-1:0}function Vo(e,t){return e<t?1:e>t?-1:0}function Wo(e,t,n){if(e[0]<=t)return 0;const i=e.length;if(t<=e[i-1])return i-1;if("function"==typeof n){for(let r=1;r<i;++r){const i=e[r];if(i===t)return r;if(i<t)return n(t,e[r-1],i)>0?r-1:r}return i-1}if(n>0){for(let n=1;n<i;++n)if(e[n]<t)return n-1;return i-1}if(n<0){for(let n=1;n<i;++n)if(e[n]<=t)return n;return i-1}for(let n=1;n<i;++n){if(e[n]==t)return n;if(e[n]<t)return e[n-1]-t<t-e[n]?n-1:n}return i-1}function Ho(e,t,n){for(;t<n;){const i=e[t];e[t]=e[n],e[n]=i,++t,--n}}function Uo(e,t){const n=Array.isArray(t)?t:[t],i=n.length;for(let t=0;t<i;t++)e[e.length]=n[t]}function $o(e,t){const n=e.length;if(n!==t.length)return!1;for(let i=0;i<n;i++)if(e[i]!==t[i])return!1;return!0}function Ko(){return!0}function Xo(){return!1}function Zo(){}function Yo(e){let t,n,i;return function(){const r=Array.prototype.slice.call(arguments);return n&&this===i&&$o(r,n)||(i=this,n=r,t=e.apply(this,arguments)),t}}function Qo(e){return function(){let t;try{t=e()}catch(e){return Promise.reject(e)}return t instanceof Promise?t:Promise.resolve(t)}()}function Jo(e){for(const t in e)delete e[t]}function es(e){let t;for(t in e)return!1;return!t}const ts=class{constructor(e){this.propagationStopped,this.defaultPrevented,this.type=e,this.target=null}preventDefault(){this.defaultPrevented=!0}stopPropagation(){this.propagationStopped=!0}},ns=class extends qo{constructor(e){super(),this.eventTarget_=e,this.pendingRemovals_=null,this.dispatching_=null,this.listeners_=null}addEventListener(e,t){if(!e||!t)return;const n=this.listeners_||(this.listeners_={}),i=n[e]||(n[e]=[]);i.includes(t)||i.push(t)}dispatchEvent(e){const t="string"==typeof e,n=t?e:e.type,i=this.listeners_&&this.listeners_[n];if(!i)return;const r=t?new ts(e):e;r.target||(r.target=this.eventTarget_||this);const o=this.dispatching_||(this.dispatching_={}),s=this.pendingRemovals_||(this.pendingRemovals_={});let a;n in o||(o[n]=0,s[n]=0),++o[n];for(let e=0,t=i.length;e<t;++e)if(a="handleEvent"in i[e]?i[e].handleEvent(r):i[e].call(this,r),!1===a||r.propagationStopped){a=!1;break}if(0===--o[n]){let e=s[n];for(delete s[n];e--;)this.removeEventListener(n,Zo);delete o[n]}return a}disposeInternal(){this.listeners_&&Jo(this.listeners_)}getListeners(e){return this.listeners_&&this.listeners_[e]||void 0}hasListener(e){return!!this.listeners_&&(e?e in this.listeners_:Object.keys(this.listeners_).length>0)}removeEventListener(e,t){if(!this.listeners_)return;const n=this.listeners_[e];if(!n)return;const i=n.indexOf(t);-1!==i&&(this.pendingRemovals_&&e in this.pendingRemovals_?(n[i]=Zo,++this.pendingRemovals_[e]):(n.splice(i,1),0===n.length&&delete this.listeners_[e]))}};function is(e,t,n,i,r){if(r){const r=n;n=function(o){return e.removeEventListener(t,n),r.call(i??this,o)}}else i&&i!==e&&(n=n.bind(i));const o={target:e,type:t,listener:n};return e.addEventListener(t,n),o}function rs(e,t,n,i){return is(e,t,n,i,!0)}function os(e){e&&e.target&&(e.target.removeEventListener(e.type,e.listener),Jo(e))}class ss extends ns{constructor(){super(),this.on=this.onInternal,this.once=this.onceInternal,this.un=this.unInternal,this.revision_=0}changed(){++this.revision_,this.dispatchEvent(Lo)}getRevision(){return this.revision_}onInternal(e,t){if(Array.isArray(e)){const n=e.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=is(this,e[r],t);return i}return is(this,e,t)}onceInternal(e,t){let n;if(Array.isArray(e)){const i=e.length;n=new Array(i);for(let r=0;r<i;++r)n[r]=rs(this,e[r],t)}else n=rs(this,e,t);return t.ol_key=n,n}unInternal(e,t){const n=t.ol_key;if(n)!function(e){if(Array.isArray(e))for(let t=0,n=e.length;t<n;++t)os(e[t]);else os(e)}(n);else if(Array.isArray(e))for(let n=0,i=e.length;n<i;++n)this.removeEventListener(e[n],t);else this.removeEventListener(e,t)}}ss.prototype.on,ss.prototype.once,ss.prototype.un;const as=ss;function ls(){throw new Error("Unimplemented abstract method.")}let cs=0;function us(e){return e.ol_uid||(e.ol_uid=String(++cs))}class ds extends ts{constructor(e,t,n){super(e),this.key=t,this.oldValue=n}}const ps=class extends as{constructor(e){super(),this.on,this.once,this.un,us(this),this.values_=null,void 0!==e&&this.setProperties(e)}get(e){let t;return this.values_&&this.values_.hasOwnProperty(e)&&(t=this.values_[e]),t}getKeys(){return this.values_&&Object.keys(this.values_)||[]}getProperties(){return this.values_&&Object.assign({},this.values_)||{}}getPropertiesInternal(){return this.values_}hasProperties(){return!!this.values_}notify(e,t){let n;n=`change:${e}`,this.hasListener(n)&&this.dispatchEvent(new ds(n,e,t)),n=zo,this.hasListener(n)&&this.dispatchEvent(new ds(n,e,t))}addChangeListener(e,t){this.addEventListener(`change:${e}`,t)}removeChangeListener(e,t){this.removeEventListener(`change:${e}`,t)}set(e,t,n){const i=this.values_||(this.values_={});if(n)i[e]=t;else{const n=i[e];i[e]=t,n!==t&&this.notify(e,n)}}setProperties(e,t){for(const n in e)this.set(n,e[n],t)}applyProperties(e){e.values_&&Object.assign(this.values_||(this.values_={}),e.values_)}unset(e,t){if(this.values_&&e in this.values_){const n=this.values_[e];delete this.values_[e],es(this.values_)&&(this.values_=null),t||this.notify(e,n)}}},hs="length";class fs extends ts{constructor(e,t,n){super(e),this.element=t,this.index=n}}const _s=class extends ps{constructor(e,t){if(super(),this.on,this.once,this.un,t=t||{},this.unique_=!!t.unique,this.array_=e||[],this.unique_)for(let e=0,t=this.array_.length;e<t;++e)this.assertUnique_(this.array_[e],e);this.updateLength_()}clear(){for(;this.getLength()>0;)this.pop()}extend(e){for(let t=0,n=e.length;t<n;++t)this.push(e[t]);return this}forEach(e){const t=this.array_;for(let n=0,i=t.length;n<i;++n)e(t[n],n,t)}getArray(){return this.array_}item(e){return this.array_[e]}getLength(){return this.get(hs)}insertAt(e,t){if(e<0||e>this.getLength())throw new Error("Index out of bounds: "+e);this.unique_&&this.assertUnique_(t),this.array_.splice(e,0,t),this.updateLength_(),this.dispatchEvent(new fs(Po,t,e))}pop(){return this.removeAt(this.getLength()-1)}push(e){this.unique_&&this.assertUnique_(e);const t=this.getLength();return this.insertAt(t,e),this.getLength()}remove(e){const t=this.array_;for(let n=0,i=t.length;n<i;++n)if(t[n]===e)return this.removeAt(n)}removeAt(e){if(e<0||e>=this.getLength())return;const t=this.array_[e];return this.array_.splice(e,1),this.updateLength_(),this.dispatchEvent(new fs(Ro,t,e)),t}setAt(e,t){if(e>=this.getLength())return void this.insertAt(e,t);if(e<0)throw new Error("Index out of bounds: "+e);this.unique_&&this.assertUnique_(t,e);const n=this.array_[e];this.array_[e]=t,this.dispatchEvent(new fs(Ro,n,e)),this.dispatchEvent(new fs(Po,t,e))}updateLength_(){this.set(hs,this.array_.length)}assertUnique_(e,t){for(let n=0,i=this.array_.length;n<i;++n)if(this.array_[n]===e&&n!==t)throw new Error("Duplicate item added to a unique collection")}},gs=class extends ts{constructor(e,t,n){super(e),this.map=t,this.frameState=void 0!==n?n:null}},ms=class extends gs{constructor(e,t,n,i,r,o){super(e,t,r),this.originalEvent=n,this.pixel_=null,this.coordinate_=null,this.dragging=void 0!==i&&i,this.activePointers=o}get pixel(){return this.pixel_||(this.pixel_=this.map.getEventPixel(this.originalEvent)),this.pixel_}set pixel(e){this.pixel_=e}get coordinate(){return this.coordinate_||(this.coordinate_=this.map.getCoordinateFromPixel(this.pixel)),this.coordinate_}set coordinate(e){this.coordinate_=e}preventDefault(){super.preventDefault(),"preventDefault"in this.originalEvent&&this.originalEvent.preventDefault()}stopPropagation(){super.stopPropagation(),"stopPropagation"in this.originalEvent&&this.originalEvent.stopPropagation()}},ys={SINGLECLICK:"singleclick",CLICK:Fo,DBLCLICK:"dblclick",POINTERDRAG:"pointerdrag",POINTERMOVE:"pointermove",POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",POINTERCANCEL:"pointercancel"},vs="undefined"!=typeof navigator&&void 0!==navigator.userAgent?navigator.userAgent.toLowerCase():"",bs=(vs.includes("safari")&&!vs.includes("chrom")&&(vs.includes("version/15.4")||/cpu (os|iphone os) 15_4 like mac os x/.test(vs)),vs.includes("webkit")&&!vs.includes("edge")),xs=vs.includes("macintosh"),ws="undefined"!=typeof devicePixelRatio?devicePixelRatio:1,ks="undefined"!=typeof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas&&self instanceof WorkerGlobalScope,Cs="undefined"!=typeof Image&&Image.prototype.decode,As="function"==typeof createImageBitmap,Ss=function(){let e=!1;try{const t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("_",null,t),window.removeEventListener("_",null,t)}catch{}return e}(),Es="pointerdown",Is=class extends ns{constructor(e,t){super(e),this.map_=e,this.clickTimeoutId_,this.emulateClicks_=!1,this.dragging_=!1,this.dragListenerKeys_=[],this.moveTolerance_=void 0===t?1:t,this.down_=null;const n=this.map_.getViewport();this.activePointers_=[],this.trackedTouches_={},this.element_=n,this.pointerdownListenerKey_=is(n,Es,this.handlePointerDown_,this),this.originalPointerMoveEvent_,this.relayedListenerKey_=is(n,"pointermove",this.relayMoveEvent_,this),this.boundHandleTouchMove_=this.handleTouchMove_.bind(this),this.element_.addEventListener(No,this.boundHandleTouchMove_,!!Ss&&{passive:!1})}emulateClick_(e){let t=new ms(ys.CLICK,this.map_,e);this.dispatchEvent(t),void 0!==this.clickTimeoutId_?(clearTimeout(this.clickTimeoutId_),this.clickTimeoutId_=void 0,t=new ms(ys.DBLCLICK,this.map_,e),this.dispatchEvent(t)):this.clickTimeoutId_=setTimeout(()=>{this.clickTimeoutId_=void 0;const t=new ms(ys.SINGLECLICK,this.map_,e);this.dispatchEvent(t)},250)}updateActivePointers_(e){const t=e,n=t.pointerId;if(t.type==ys.POINTERUP||t.type==ys.POINTERCANCEL){delete this.trackedTouches_[n];for(const e in this.trackedTouches_)if(this.trackedTouches_[e].target!==t.target){delete this.trackedTouches_[e];break}}else t.type!=ys.POINTERDOWN&&t.type!=ys.POINTERMOVE||(this.trackedTouches_[n]=t);this.activePointers_=Object.values(this.trackedTouches_)}handlePointerUp_(e){this.updateActivePointers_(e);const t=new ms(ys.POINTERUP,this.map_,e,void 0,void 0,this.activePointers_);this.dispatchEvent(t),this.emulateClicks_&&!t.defaultPrevented&&!this.dragging_&&this.isMouseActionButton_(e)&&this.emulateClick_(this.down_),0===this.activePointers_.length&&(this.dragListenerKeys_.forEach(os),this.dragListenerKeys_.length=0,this.dragging_=!1,this.down_=null)}isMouseActionButton_(e){return 0===e.button}handlePointerDown_(e){this.emulateClicks_=0===this.activePointers_.length,this.updateActivePointers_(e);const t=new ms(ys.POINTERDOWN,this.map_,e,void 0,void 0,this.activePointers_);if(this.dispatchEvent(t),this.down_=new PointerEvent(e.type,e),Object.defineProperty(this.down_,"target",{writable:!1,value:e.target}),0===this.dragListenerKeys_.length){const e=this.map_.getOwnerDocument();this.dragListenerKeys_.push(is(e,ys.POINTERMOVE,this.handlePointerMove_,this),is(e,ys.POINTERUP,this.handlePointerUp_,this),is(this.element_,ys.POINTERCANCEL,this.handlePointerUp_,this)),this.element_.getRootNode&&this.element_.getRootNode()!==e&&this.dragListenerKeys_.push(is(this.element_.getRootNode(),ys.POINTERUP,this.handlePointerUp_,this))}}handlePointerMove_(e){if(this.isMoving_(e)){this.updateActivePointers_(e),this.dragging_=!0;const t=new ms(ys.POINTERDRAG,this.map_,e,this.dragging_,void 0,this.activePointers_);this.dispatchEvent(t)}}relayMoveEvent_(e){this.originalPointerMoveEvent_=e;const t=!(!this.down_||!this.isMoving_(e));this.dispatchEvent(new ms(ys.POINTERMOVE,this.map_,e,t))}handleTouchMove_(e){const t=this.originalPointerMoveEvent_;t&&!t.defaultPrevented||"boolean"==typeof e.cancelable&&!0!==e.cancelable||e.preventDefault()}isMoving_(e){return this.dragging_||Math.abs(e.clientX-this.down_.clientX)>this.moveTolerance_||Math.abs(e.clientY-this.down_.clientY)>this.moveTolerance_}disposeInternal(){this.relayedListenerKey_&&(os(this.relayedListenerKey_),this.relayedListenerKey_=null),this.element_.removeEventListener(No,this.boundHandleTouchMove_),this.pointerdownListenerKey_&&(os(this.pointerdownListenerKey_),this.pointerdownListenerKey_=null),this.dragListenerKeys_.forEach(os),this.dragListenerKeys_.length=0,this.element_=null,super.disposeInternal()}},Ts="postrender",Ms="loadstart",Ps="loadend",Rs="layergroup",zs="size",Ls="target",Os="view";function Fs(e,t){if(!e)throw new Error(t)}const js=1/0,Ds=class{constructor(e,t){this.priorityFunction_=e,this.keyFunction_=t,this.elements_=[],this.priorities_=[],this.queuedElements_={}}clear(){this.elements_.length=0,this.priorities_.length=0,Jo(this.queuedElements_)}dequeue(){const e=this.elements_,t=this.priorities_,n=e[0];1==e.length?(e.length=0,t.length=0):(e[0]=e.pop(),t[0]=t.pop(),this.siftUp_(0));const i=this.keyFunction_(n);return delete this.queuedElements_[i],n}enqueue(e){Fs(!(this.keyFunction_(e)in this.queuedElements_),"Tried to enqueue an `element` that was already added to the queue");const t=this.priorityFunction_(e);return t!=js&&(this.elements_.push(e),this.priorities_.push(t),this.queuedElements_[this.keyFunction_(e)]=!0,this.siftDown_(0,this.elements_.length-1),!0)}getCount(){return this.elements_.length}getLeftChildIndex_(e){return 2*e+1}getRightChildIndex_(e){return 2*e+2}getParentIndex_(e){return e-1>>1}heapify_(){let e;for(e=(this.elements_.length>>1)-1;e>=0;e--)this.siftUp_(e)}isEmpty(){return 0===this.elements_.length}isKeyQueued(e){return e in this.queuedElements_}isQueued(e){return this.isKeyQueued(this.keyFunction_(e))}siftUp_(e){const t=this.elements_,n=this.priorities_,i=t.length,r=t[e],o=n[e],s=e;for(;e<i>>1;){const r=this.getLeftChildIndex_(e),o=this.getRightChildIndex_(e),s=o<i&&n[o]<n[r]?o:r;t[e]=t[s],n[e]=n[s],e=s}t[e]=r,n[e]=o,this.siftDown_(s,e)}siftDown_(e,t){const n=this.elements_,i=this.priorities_,r=n[t],o=i[t];for(;t>e;){const e=this.getParentIndex_(t);if(!(i[e]>o))break;n[t]=n[e],i[t]=i[e],t=e}n[t]=r,i[t]=o}reprioritize(){const e=this.priorityFunction_,t=this.elements_,n=this.priorities_;let i=0;const r=t.length;let o,s,a;for(s=0;s<r;++s)o=t[s],a=e(o),a==js?delete this.queuedElements_[this.keyFunction_(o)]:(n[i]=a,t[i++]=o);t.length=i,n.length=i,this.heapify_()}},Ns=class extends Ds{constructor(e,t){super(t=>e.apply(null,t),e=>e[0].getKey()),this.boundHandleTileChange_=this.handleTileChange.bind(this),this.tileChangeCallback_=t,this.tilesLoading_=0,this.tilesLoadingKeys_={}}enqueue(e){const t=super.enqueue(e);return t&&e[0].addEventListener(Lo,this.boundHandleTileChange_),t}getTilesLoading(){return this.tilesLoading_}handleTileChange(e){const t=e.target,n=t.getState();if(2===n||3===n||4===n){3!==n&&t.removeEventListener(Lo,this.boundHandleTileChange_);const e=t.getKey();e in this.tilesLoadingKeys_&&(delete this.tilesLoadingKeys_[e],--this.tilesLoading_),this.tileChangeCallback_()}}loadMoreTiles(e,t){let n=0;for(;this.tilesLoading_<e&&n<t&&this.getCount()>0;){const e=this.dequeue()[0],t=e.getKey();0!==e.getState()||t in this.tilesLoadingKeys_||(this.tilesLoadingKeys_[t]=!0,++this.tilesLoading_,++n,e.load())}}},Bs={CENTER:"center",RESOLUTION:"resolution",ROTATION:"rotation"};function qs(e,t,n){return function(i,r,o,s,a){if(!i)return;if(!r&&!t)return i;const l=t?0:o[0]*r,c=t?0:o[1]*r,u=a?a[0]:0,d=a?a[1]:0;let p=e[0]+l/2+u,h=e[2]-l/2+u,f=e[1]+c/2+d,_=e[3]-c/2+d;p>h&&(p=(h+p)/2,h=p),f>_&&(f=(_+f)/2,_=f);let g=Qi(i[0],p,h),m=Qi(i[1],f,_);if(s&&n&&r){const e=30*r;g+=-e*Math.log(1+Math.max(0,p-i[0])/e)+e*Math.log(1+Math.max(0,i[0]-h)/e),m+=-e*Math.log(1+Math.max(0,f-i[1])/e)+e*Math.log(1+Math.max(0,i[1]-_)/e)}return[g,m]}}function Gs(e){return e}function Vs(e){return Math.pow(e,3)}function Ws(e){return 1-Vs(1-e)}function Hs(e){return 3*e*e-2*e*e*e}function Us(e){return e}const $s=new Array(6);function Ks(e){return Zs(e,1,0,0,1,0,0)}function Xs(e,t){const n=e[0],i=e[1],r=e[2],o=e[3],s=e[4],a=e[5],l=t[0],c=t[1],u=t[2],d=t[3],p=t[4],h=t[5];return e[0]=n*l+r*c,e[1]=i*l+o*c,e[2]=n*u+r*d,e[3]=i*u+o*d,e[4]=n*p+r*h+s,e[5]=i*p+o*h+a,e}function Zs(e,t,n,i,r,o,s){return e[0]=t,e[1]=n,e[2]=i,e[3]=r,e[4]=o,e[5]=s,e}function Ys(e,t){const n=t[0],i=t[1];return t[0]=e[0]*n+e[2]*i+e[4],t[1]=e[1]*n+e[3]*i+e[5],t}function Qs(e,t,n){return Xs(e,Zs($s,t,0,0,n,0,0))}function Js(e,t,n,i,r,o,s,a){const l=Math.sin(o),c=Math.cos(o);return e[0]=i*c,e[1]=r*l,e[2]=-i*l,e[3]=r*c,e[4]=s*i*c-a*i*l+t,e[5]=s*r*l+a*r*c+n,e}function ea(e,t){const n=(i=t)[0]*i[3]-i[1]*i[2];var i;Fs(0!==n,"Transformation matrix cannot be inverted");const r=t[0],o=t[1],s=t[2],a=t[3],l=t[4],c=t[5];return e[0]=a/n,e[1]=-o/n,e[2]=-s/n,e[3]=r/n,e[4]=(s*c-a*l)/n,e[5]=-(r*c-o*l)/n,e}const ta=[1e5,1e5,1e5,1e5,2,2];function na(e){return e.substring(7,e.length-1).split(",").map(parseFloat)}function ia(e,t,n,i,r,o,s){o=o||[],s=s||2;let a=0;for(let l=t;l<n;l+=i){const t=e[l],n=e[l+1];o[a++]=r[0]*t+r[2]*n+r[4],o[a++]=r[1]*t+r[3]*n+r[5];for(let t=2;t<s;t++)o[a++]=e[l+t]}return o&&o.length!=a&&(o.length=a),o}function ra(e,t,n,i,r,o,s){s=s||[];const a=Math.cos(r),l=Math.sin(r),c=o[0],u=o[1];let d=0;for(let r=t;r<n;r+=i){const t=e[r]-c,n=e[r+1]-u;s[d++]=c+t*a-n*l,s[d++]=u+t*l+n*a;for(let t=r+2;t<r+i;++t)s[d++]=e[t]}return s&&s.length!=d&&(s.length=d),s}const oa=[1,0,0,1,0,0],sa=[NaN,NaN],aa=class extends ps{constructor(){super(),this.extent_=[1/0,1/0,-1/0,-1/0],this.extentRevision_=-1,this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=0,this.simplifyTransformedInternal=Yo((e,t,n)=>{if(!n)return this.getSimplifiedGeometry(t);const i=this.clone();return i.applyTransform(n),i.getSimplifiedGeometry(t)})}simplifyTransformed(e,t){return this.simplifyTransformedInternal(this.getRevision(),e,t)}clone(){return ls()}closestPointXY(e,t,n,i){return ls()}containsXY(e,t){return 0===this.closestPointXY(e,t,sa,Number.MIN_VALUE)}getClosestPoint(e,t){return t=t||[NaN,NaN],this.closestPointXY(e[0],e[1],t,1/0),t}intersectsCoordinate(e){return this.containsXY(e[0],e[1])}computeExtent(e){return ls()}getExtent(e){if(this.extentRevision_!=this.getRevision()){const e=this.computeExtent(this.extent_);(isNaN(e[0])||isNaN(e[1]))&&vi(e),this.extentRevision_=this.getRevision()}return function(e,t){return t?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):e}(this.extent_,e)}rotate(e,t){ls()}scale(e,t,n){ls()}simplify(e){return this.getSimplifiedGeometry(e*e)}getSimplifiedGeometry(e){return ls()}getType(){return ls()}applyTransform(e){ls()}intersectsExtent(e){return ls()}translate(e,t){ls()}transform(e,t){const n=ro(e),i="tile-pixels"==n.getUnits()?function(e,i,r){const o=n.getExtent(),s=n.getWorldExtent(),a=Oi(s)/Oi(o);Js(oa,s[0],s[3],a,-a,0,0,0);const l=ia(e,0,e.length,r,oa,i),c=fo(n,t);return c?c(l,l,r):l}:fo(n,t);return this.applyTransform(i),this}};function la(e){let t;return 2==e?t="XY":3==e?t="XYZ":4==e&&(t="XYZM"),t}function ca(e){let t;return"XY"==e?t=2:"XYZ"==e||"XYM"==e?t=3:"XYZM"==e&&(t=4),t}const ua=class extends aa{constructor(){super(),this.layout="XY",this.stride=2,this.flatCoordinates}computeExtent(e){return xi(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)}getCoordinates(){return ls()}getFirstCoordinate(){return this.flatCoordinates.slice(0,this.stride)}getFlatCoordinates(){return this.flatCoordinates}getLastCoordinate(){return this.flatCoordinates.slice(this.flatCoordinates.length-this.stride)}getLayout(){return this.layout}getSimplifiedGeometry(e){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),e<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&e<=this.simplifiedGeometryMaxMinSquaredTolerance)return this;const t=this.getSimplifiedGeometryInternal(e);return t.getFlatCoordinates().length<this.flatCoordinates.length?t:(this.simplifiedGeometryMaxMinSquaredTolerance=e,this)}getSimplifiedGeometryInternal(e){return this}getStride(){return this.stride}setFlatCoordinates(e,t){this.stride=ca(e),this.layout=e,this.flatCoordinates=t}setCoordinates(e,t){ls()}setLayout(e,t,n){let i;if(e)i=ca(e);else{for(let e=0;e<n;++e){if(0===t.length)return this.layout="XY",void(this.stride=2);t=t[0]}i=t.length,e=la(i)}this.layout=e,this.stride=i}applyTransform(e){this.flatCoordinates&&(e(this.flatCoordinates,this.flatCoordinates,this.layout.startsWith("XYZ")?3:2,this.stride),this.changed())}rotate(e,t){const n=this.getFlatCoordinates();if(n){const i=this.getStride();ra(n,0,n.length,i,e,t,n),this.changed()}}scale(e,t,n){void 0===t&&(t=e),n||(n=Pi(this.getExtent()));const i=this.getFlatCoordinates();if(i){const r=this.getStride();!function(e,t,n,i,r,o,s,a){a=a||[];const l=s[0],c=s[1];let u=0;for(let t=0;t<n;t+=i){const n=e[t]-l,s=e[t+1]-c;a[u++]=l+r*n,a[u++]=c+o*s;for(let n=t+2;n<t+i;++n)a[u++]=e[n]}a&&a.length!=u&&(a.length=u)}(i,0,i.length,r,e,t,n,i),this.changed()}}translate(e,t){const n=this.getFlatCoordinates();if(n){const i=this.getStride();!function(e,t,n,i,r,o,s){s=s||[];let a=0;for(let t=0;t<n;t+=i){s[a++]=e[t]+r,s[a++]=e[t+1]+o;for(let n=t+2;n<t+i;++n)s[a++]=e[n]}s&&s.length!=a&&(s.length=a)}(n,0,n.length,i,e,t,n),this.changed()}}};function da(e,t,n,i){let r=0;const o=e[n-i],s=e[n-i+1];let a=0,l=0;for(;t<n;t+=i){const n=e[t]-o,i=e[t+1]-s;r+=l*n-a*i,a=n,l=i}return r/2}function pa(e,t,n,i){let r=0;for(let o=0,s=n.length;o<s;++o){const s=n[o];r+=da(e,t,s,i),t=s}return r}function ha(e,t,n,i,r,o,s){const a=e[t],l=e[t+1],c=e[n]-a,u=e[n+1]-l;let d;if(0===c&&0===u)d=t;else{const p=((r-a)*c+(o-l)*u)/(c*c+u*u);if(p>1)d=n;else{if(p>0){for(let r=0;r<i;++r)s[r]=rr(e[t+r],e[n+r],p);return void(s.length=i)}d=t}}for(let t=0;t<i;++t)s[t]=e[d+t];s.length=i}function fa(e,t,n,i,r){let o=e[t],s=e[t+1];for(t+=i;t<n;t+=i){const n=e[t],i=e[t+1],a=er(o,s,n,i);a>r&&(r=a),o=n,s=i}return r}function _a(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o];r=fa(e,t,s,i,r),t=s}return r}function ga(e,t,n,i,r,o,s,a,l,c,u){if(t==n)return c;let d,p;if(0===r){if(p=er(s,a,e[t],e[t+1]),p<c){for(d=0;d<i;++d)l[d]=e[t+d];return l.length=i,p}return c}u=u||[NaN,NaN];let h=t+i;for(;h<n;)if(ha(e,h-i,h,i,s,a,u),p=er(s,a,u[0],u[1]),p<c){for(c=p,d=0;d<i;++d)l[d]=u[d];l.length=i,h+=i}else h+=i*Math.max((Math.sqrt(p)-Math.sqrt(c))/r|0,1);if(o&&(ha(e,n-i,t,i,s,a,u),p=er(s,a,u[0],u[1]),p<c)){for(c=p,d=0;d<i;++d)l[d]=u[d];l.length=i}return c}function ma(e,t,n,i,r,o,s,a,l,c,u){u=u||[NaN,NaN];for(let d=0,p=n.length;d<p;++d){const p=n[d];c=ga(e,t,p,i,r,o,s,a,l,c,u),t=p}return c}function ya(e,t,n,i){for(let i=0,r=n.length;i<r;++i)e[t++]=n[i];return t}function va(e,t,n,i){for(let r=0,o=n.length;r<o;++r){const o=n[r];for(let n=0;n<i;++n)e[t++]=o[n]}return t}function ba(e,t,n,i,r){r=r||[];let o=0;for(let s=0,a=n.length;s<a;++s){const a=va(e,t,n[s],i);r[o++]=a,t=a}return r.length=o,r}function xa(e,t,n,i,r){r=r||[];let o=0;for(let s=0,a=n.length;s<a;++s){const a=ba(e,t,n[s],i,r[o]);0===a.length&&(a[0]=t),r[o++]=a,t=a[a.length-1]}return r.length=o,r}function wa(e,t,n,i,r){r=void 0!==r?r:[];let o=0;for(let s=t;s<n;s+=i)r[o++]=e.slice(s,s+i);return r.length=o,r}function ka(e,t,n,i,r){r=void 0!==r?r:[];let o=0;for(let s=0,a=n.length;s<a;++s){const a=n[s];r[o++]=wa(e,t,a,i,r[o]),t=a}return r.length=o,r}function Ca(e,t,n,i,r){r=void 0!==r?r:[];let o=0;for(let s=0,a=n.length;s<a;++s){const a=n[s];r[o++]=1===a.length&&a[0]===t?[]:ka(e,t,a,i,r[o]),t=a[a.length-1]}return r.length=o,r}function Aa(e,t,n,i,r,o,s){const a=(n-t)/i;if(a<3){for(;t<n;t+=i)o[s++]=e[t],o[s++]=e[t+1];return s}const l=new Array(a);l[0]=1,l[a-1]=1;const c=[t,n-i];let u=0;for(;c.length>0;){const n=c.pop(),o=c.pop();let s=0;const a=e[o],d=e[o+1],p=e[n],h=e[n+1];for(let t=o+i;t<n;t+=i){const n=Ji(e[t],e[t+1],a,d,p,h);n>s&&(u=t,s=n)}s>r&&(l[(u-t)/i]=1,o+i<u&&c.push(o,u),u+i<n&&c.push(u,n))}for(let n=0;n<a;++n)l[n]&&(o[s++]=e[t+n*i],o[s++]=e[t+n*i+1]);return s}function Sa(e,t,n,i,r,o,s,a){for(let l=0,c=n.length;l<c;++l){const c=n[l];s=Aa(e,t,c,i,r,o,s),a.push(s),t=c}return s}function Ea(e,t){return t*Math.round(e/t)}function Ia(e,t,n,i,r,o,s){if(t==n)return s;let a,l,c=Ea(e[t],r),u=Ea(e[t+1],r);t+=i,o[s++]=c,o[s++]=u;do{if(a=Ea(e[t],r),l=Ea(e[t+1],r),(t+=i)==n)return o[s++]=a,o[s++]=l,s}while(a==c&&l==u);for(;t<n;){const n=Ea(e[t],r),d=Ea(e[t+1],r);if(t+=i,n==a&&d==l)continue;const p=a-c,h=l-u,f=n-c,_=d-u;p*_==h*f&&(p<0&&f<p||p==f||p>0&&f>p)&&(h<0&&_<h||h==_||h>0&&_>h)?(a=n,l=d):(o[s++]=a,o[s++]=l,c=a,u=l,a=n,l=d)}return o[s++]=a,o[s++]=l,s}function Ta(e,t,n,i,r,o,s,a){for(let l=0,c=n.length;l<c;++l){const c=n[l];s=Ia(e,t,c,i,r,o,s),a.push(s),t=c}return s}class Ma extends ua{constructor(e,t){super(),this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===t||Array.isArray(e[0])?this.setCoordinates(e,t):this.setFlatCoordinates(t,e)}clone(){return new Ma(this.flatCoordinates.slice(),this.layout)}closestPointXY(e,t,n,i){return i<hi(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(fa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ga(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!0,e,t,n,i))}getArea(){return da(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinates(){return wa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getSimplifiedGeometryInternal(e){const t=[];return t.length=Aa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,0),new Ma(t,"XY")}getType(){return"LinearRing"}intersectsExtent(e){return!1}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=va(this.flatCoordinates,0,e,this.stride),this.changed()}}const Pa=Ma;class Ra extends ua{constructor(e,t){super(),this.setCoordinates(e,t)}clone(){const e=new Ra(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,n,i){const r=this.flatCoordinates,o=er(e,t,r[0],r[1]);if(o<i){const e=this.stride;for(let t=0;t<e;++t)n[t]=r[t];return n.length=e,o}return i}getCoordinates(){return this.flatCoordinates.slice()}computeExtent(e){return bi(this.flatCoordinates,e)}getType(){return"Point"}intersectsExtent(e){return gi(e,this.flatCoordinates[0],this.flatCoordinates[1])}setCoordinates(e,t){this.setLayout(t,e,0),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=ya(this.flatCoordinates,0,e,this.stride),this.changed()}}const za=Ra;function La(e,t,n,i,r){return!Ei(r,function(r){return!Oa(e,t,n,i,r[0],r[1])})}function Oa(e,t,n,i,r,o){let s=0,a=e[n-i],l=e[n-i+1];for(;t<n;t+=i){const n=e[t],i=e[t+1];l<=o?i>o&&(n-a)*(o-l)-(r-a)*(i-l)>0&&s++:i<=o&&(n-a)*(o-l)-(r-a)*(i-l)<0&&s--,a=n,l=i}return 0!==s}function Fa(e,t,n,i,r,o){if(0===n.length)return!1;if(!Oa(e,t,n[0],i,r,o))return!1;for(let t=1,s=n.length;t<s;++t)if(Oa(e,n[t-1],n[t],i,r,o))return!1;return!0}function ja(e,t,n,i,r,o,s){let a,l,c,u,d,p,h;const f=r[o+1],_=[];for(let r=0,o=n.length;r<o;++r){const o=n[r];for(u=e[o-i],p=e[o-i+1],a=t;a<o;a+=i)d=e[a],h=e[a+1],(f<=p&&h<=f||p<=f&&f<=h)&&(c=(f-p)/(h-p)*(d-u)+u,_.push(c)),u=d,p=h}let g=NaN,m=-1/0;for(_.sort(Go),u=_[0],a=1,l=_.length;a<l;++a){d=_[a];const r=Math.abs(d-u);r>m&&(c=(u+d)/2,Fa(e,t,n,i,c,f)&&(g=c,m=r)),u=d}return isNaN(g)&&(g=r[o]),s?(s.push(g,f,m),s):[g,f,m]}function Da(e,t,n,i,r){let o=[];for(let s=0,a=n.length;s<a;++s){const a=n[s];o=ja(e,t,a,i,r,2*s,o),t=a[a.length-1]}return o}function Na(e,t,n,i,r){let o;for(t+=i;t<n;t+=i)if(o=r(e.slice(t-i,t),e.slice(t,t+i)),o)return o;return!1}function Ba(e,t){const[n,i]=e,[r,o]=t,s=((n[0]-r[0])*(r[1]-o[1])-(n[1]-r[1])*(r[0]-o[0]))/((n[0]-i[0])*(r[1]-o[1])-(n[1]-i[1])*(r[0]-o[0])),a=((n[0]-r[0])*(n[1]-i[1])-(n[1]-r[1])*(n[0]-i[0]))/((n[0]-i[0])*(r[1]-o[1])-(n[1]-i[1])*(r[0]-o[0]));if(0<=s&&s<=1&&0<=a&&a<=1)return[n[0]+s*(i[0]-n[0]),n[1]+s*(i[1]-n[1])]}function qa(e,t,n,i,r,o){return o=o??Ai([1/0,1/0,-1/0,-1/0],e,t,n,i),!!Bi(r,o)&&(o[0]>=r[0]&&o[2]<=r[2]||o[1]>=r[1]&&o[3]<=r[3]||Na(e,t,n,i,function(e,t){return function(e,t,n){let i=!1;const r=mi(e,t),o=mi(e,n);if(1===r||1===o)i=!0;else{const s=e[0],a=e[1],l=e[2],c=e[3],u=t[0],d=t[1],p=n[0],h=n[1],f=(h-d)/(p-u);let _,g;2&o&&!(2&r)&&(_=p-(h-c)/f,i=_>=s&&_<=l),i||!(4&o)||4&r||(g=h-(p-l)*f,i=g>=a&&g<=c),i||!(8&o)||8&r||(_=p-(h-a)/f,i=_>=s&&_<=l),i||!(16&o)||16&r||(g=h-(p-s)*f,i=g>=a&&g<=c)}return i}(r,e,t)}))}function Ga(e,t,n,i,r){return!!(qa(e,t,n,i,r)||Oa(e,t,n,i,r[0],r[1])||Oa(e,t,n,i,r[0],r[3])||Oa(e,t,n,i,r[2],r[1])||Oa(e,t,n,i,r[2],r[3]))}function Va(e,t,n,i,r){if(!Ga(e,t,n[0],i,r))return!1;if(1===n.length)return!0;for(let t=1,o=n.length;t<o;++t)if(La(e,n[t-1],n[t],i,r)&&!qa(e,n[t-1],n[t],i,r))return!1;return!0}function Wa(e,t,n,i){for(;t<n-i;){for(let r=0;r<i;++r){const o=e[t+r];e[t+r]=e[n-i+r],e[n-i+r]=o}t+=i,n-=i}}function Ha(e,t,n,i){let r=0,o=e[n-i],s=e[n-i+1];for(;t<n;t+=i){const n=e[t],i=e[t+1];r+=(n-o)*(i+s),o=n,s=i}return 0===r?void 0:r>0}function Ua(e,t,n,i,r){r=void 0!==r&&r;for(let o=0,s=n.length;o<s;++o){const s=n[o],a=Ha(e,t,s,i);if(0===o){if(r&&a||!r&&!a)return!1}else if(r&&!a||!r&&a)return!1;t=s}return!0}function $a(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o];if(!Ua(e,t,s,i,r))return!1;s.length&&(t=s[s.length-1])}return!0}function Ka(e,t,n,i,r){r=void 0!==r&&r;for(let o=0,s=n.length;o<s;++o){const s=n[o],a=Ha(e,t,s,i);(0===o?r&&a||!r&&!a:r&&!a||!r&&a)&&Wa(e,t,s,i),t=s}return t}function Xa(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o)t=Ka(e,t,n[o],i,r);return t}function Za(e,t){const n=[];let i,r=0,o=0;for(let s=0,a=t.length;s<a;++s){const a=t[s],l=Ha(e,r,a,2);if(void 0===i&&(i=l),l===i)n.push(t.slice(o,s+1));else{if(0===n.length)continue;n[n.length-1].push(t[o])}o=s+1,r=a}return n}class Ya extends ua{constructor(e,t,n){super(),this.ends_=[],this.flatInteriorPointRevision_=-1,this.flatInteriorPoint_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,void 0!==t&&n?(this.setFlatCoordinates(t,e),this.ends_=n):this.setCoordinates(e,t)}appendLinearRing(e){this.flatCoordinates?Uo(this.flatCoordinates,e.getFlatCoordinates()):this.flatCoordinates=e.getFlatCoordinates().slice(),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const e=new Ya(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return e.applyProperties(this),e}closestPointXY(e,t,n,i){return i<hi(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(_a(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ma(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!0,e,t,n,i))}containsXY(e,t){return Fa(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,t)}getArea(){return pa(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride)}getCoordinates(e){let t;return void 0!==e?(t=this.getOrientedFlatCoordinates().slice(),Ka(t,0,this.ends_,this.stride,e)):t=this.flatCoordinates,ka(t,0,this.ends_,this.stride)}getEnds(){return this.ends_}getFlatInteriorPoint(){if(this.flatInteriorPointRevision_!=this.getRevision()){const e=Pi(this.getExtent());this.flatInteriorPoint_=ja(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e,0),this.flatInteriorPointRevision_=this.getRevision()}return this.flatInteriorPoint_}getInteriorPoint(){return new za(this.getFlatInteriorPoint(),"XYM")}getLinearRingCount(){return this.ends_.length}getLinearRing(e){return e<0||this.ends_.length<=e?null:new Pa(this.flatCoordinates.slice(0===e?0:this.ends_[e-1],this.ends_[e]),this.layout)}getLinearRings(){const e=this.layout,t=this.flatCoordinates,n=this.ends_,i=[];let r=0;for(let o=0,s=n.length;o<s;++o){const s=n[o],a=new Pa(t.slice(r,s),e);i.push(a),r=s}return i}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const e=this.flatCoordinates;Ua(e,0,this.ends_,this.stride)?this.orientedFlatCoordinates_=e:(this.orientedFlatCoordinates_=e.slice(),this.orientedFlatCoordinates_.length=Ka(this.orientedFlatCoordinates_,0,this.ends_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(e){const t=[],n=[];return t.length=Ta(this.flatCoordinates,0,this.ends_,this.stride,Math.sqrt(e),t,0,n),new Ya(t,"XY",n)}getType(){return"Polygon"}intersectsExtent(e){return Va(this.getOrientedFlatCoordinates(),0,this.ends_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,2),this.flatCoordinates||(this.flatCoordinates=[]);const n=ba(this.flatCoordinates,0,e,this.stride,this.ends_);this.flatCoordinates.length=0===n.length?0:n[n.length-1],this.changed()}}const Qa=Ya;function Ja(e){if(qi(e))throw new Error("Cannot create polygon from empty extent");const t=e[0],n=e[1],i=e[2],r=e[3],o=[t,n,t,r,i,r,i,n,t,n];return new Ya(o,"XY",[o.length])}function el(e,t,n){t=t||32;const i=e.getStride(),r=e.getLayout(),o=e.getCenter(),s=i*(t+1),a=new Array(s);for(let e=0;e<s;e+=i){a[e]=0,a[e+1]=0;for(let t=2;t<i;t++)a[e+t]=o[t]}const l=[a.length],c=new Ya(a,r,l);return function(e,t,n,i){const r=e.getFlatCoordinates(),o=e.getStride(),s=r.length/o-1,a=i||0;for(let e=0;e<=s;++e){const i=e*o,l=a+2*ir(e,s)*Math.PI/s;r[i]=t[0]+n*Math.cos(l),r[i+1]=t[1]+n*Math.sin(l)}e.changed()}(c,o,e.getRadius(),n),c}function tl(e,t,n,i){const r=Ni(t)/n[0],o=Oi(t)/n[1];return i?Math.min(e,Math.max(r,o)):Math.min(e,Math.min(r,o))}function nl(e,t,n){let i=Math.min(e,t);return i*=Math.log(1+50*Math.max(0,e/t-1))/50+1,n&&(i=Math.max(i,n),i/=Math.log(1+50*Math.max(0,n/e-1))/50+1),Qi(i,n/2,2*t)}function il(e,t,n,i,r){return n=void 0===n||n,function(o,s,a,l){if(void 0!==o){const s=i?tl(e,i,a,r):e;return n&&l?nl(o,s,t):Qi(o,t,s)}}}function rl(e){if(void 0!==e)return 0}function ol(e){if(void 0!==e)return e}function sl(e,t){setTimeout(function(){e(t)},0)}function al(e){return!(e.sourceCenter&&e.targetCenter&&!$i(e.sourceCenter,e.targetCenter))&&e.sourceResolution===e.targetResolution&&e.sourceRotation===e.targetRotation}function ll(e,t,n,i,r){const o=Math.cos(-r);let s=Math.sin(-r),a=e[0]*o-e[1]*s,l=e[1]*o+e[0]*s;return a+=(t[0]/2-n[0])*i,l+=(n[1]-t[1]/2)*i,s=-s,[a*o-l*s,l*o+a*s]}const cl=class extends ps{constructor(e){super(),this.on,this.once,this.un,e=Object.assign({},e),this.hints_=[0,0],this.animations_=[],this.updateAnimationKey_,this.projection_=ao(e.projection,"EPSG:3857"),this.viewportSize_=[100,100],this.targetCenter_=null,this.targetResolution_,this.targetRotation_,this.nextCenter_=null,this.nextResolution_,this.nextRotation_,this.cancelAnchor_=void 0,e.projection&&to(),e.center&&(e.center=bo(e.center,this.projection_)),e.extent&&(e.extent=wo(e.extent,this.projection_)),this.applyOptions_(e)}applyOptions_(e){const t=Object.assign({},e);for(const e in Bs)delete t[e];this.setProperties(t,!0);const n=function(e){let t,n,i;let r=void 0!==e.minZoom?e.minZoom:0,o=void 0!==e.maxZoom?e.maxZoom:28;const s=void 0!==e.zoomFactor?e.zoomFactor:2,a=void 0!==e.multiWorld&&e.multiWorld,l=void 0===e.smoothResolutionConstraint||e.smoothResolutionConstraint,c=void 0!==e.showFullExtent&&e.showFullExtent,u=ao(e.projection,"EPSG:3857"),d=u.getExtent();let p=e.constrainOnlyCenter,h=e.extent;if(a||h||!u.isGlobal()||(p=!1,h=d),void 0!==e.resolutions){const s=e.resolutions;n=s[r],i=void 0!==s[o]?s[o]:s[s.length-1],t=e.constrainResolution?function(e,t,n,i){return t=void 0===t||t,function(r,o,s,a){if(void 0!==r){const l=e[0],c=e[e.length-1],u=n?tl(l,n,s,i):l;if(a)return t?nl(r,u,c):Qi(r,c,u);const d=Math.min(u,r),p=Math.floor(Wo(e,d,o));return e[p]>u&&p<e.length-1?e[p+1]:e[p]}}}(s,l,!p&&h,c):il(n,i,l,!p&&h,c)}else{const a=(d?Math.max(Ni(d),Oi(d)):360*cr.degrees/u.getMetersPerUnit())/256/Math.pow(2,0),f=a/Math.pow(2,28);n=e.maxResolution,void 0!==n?r=0:n=a/Math.pow(s,r),i=e.minResolution,void 0===i&&(i=void 0!==e.maxZoom?void 0!==e.maxResolution?n/Math.pow(s,o):a/Math.pow(s,o):f),o=r+Math.floor(Math.log(n/i)/Math.log(s)),i=n/Math.pow(s,o-r),t=e.constrainResolution?function(e,t,n,i,r,o){return i=void 0===i||i,n=void 0!==n?n:0,function(s,a,l,c){if(void 0!==s){const u=r?tl(t,r,l,o):t;if(c)return i?nl(s,u,n):Qi(s,n,u);const d=1e-9,p=Math.ceil(Math.log(t/u)/Math.log(e)-d),h=-a*(.5-d)+.5,f=Math.min(u,s),_=Math.floor(Math.log(t/f)/Math.log(e)+h),g=Math.max(p,_);return Qi(t/Math.pow(e,g),n,u)}}}(s,n,i,l,!p&&h,c):il(n,i,l,!p&&h,c)}return{constraint:t,maxResolution:n,minResolution:i,minZoom:r,zoomFactor:s}}(e);this.maxResolution_=n.maxResolution,this.minResolution_=n.minResolution,this.zoomFactor_=n.zoomFactor,this.resolutions_=e.resolutions,this.padding_=e.padding,this.minZoom_=n.minZoom;const i=function(e){if(void 0!==e.extent){const t=void 0===e.smoothExtentConstraint||e.smoothExtentConstraint;return qs(e.extent,e.constrainOnlyCenter,t)}const t=ao(e.projection,"EPSG:3857");if(!0!==e.multiWorld&&t.isGlobal()){const e=t.getExtent().slice();return e[0]=-1/0,e[2]=1/0,qs(e,!1,!1)}return Gs}(e),r=n.constraint,o=function(e){if(void 0===e.enableRotation||e.enableRotation){const t=e.constrainRotation;return void 0===t||!0===t?function(){const e=nr(5);return function(t,n){return n||void 0===t?t:Math.abs(t)<=e?0:t}}():!1===t?ol:"number"==typeof t?function(e){const t=2*Math.PI/e;return function(e,n){return n?e:void 0!==e?e=Math.floor(e/t+.5)*t:void 0}}(t):ol}return rl}(e);this.constraints_={center:i,resolution:r,rotation:o},this.setRotation(void 0!==e.rotation?e.rotation:0),this.setCenterInternal(void 0!==e.center?e.center:null),void 0!==e.resolution?this.setResolution(e.resolution):void 0!==e.zoom&&this.setZoom(e.zoom)}get padding(){return this.padding_}set padding(e){let t=this.padding_;this.padding_=e;const n=this.getCenterInternal();if(n){const i=e||[0,0,0,0];t=t||[0,0,0,0];const r=this.getResolution(),o=r/2*(i[3]-t[3]+t[1]-i[1]),s=r/2*(i[0]-t[0]+t[2]-i[2]);this.setCenterInternal([n[0]+o,n[1]-s])}}getUpdatedOptions_(e){const t=this.getProperties();return void 0!==t.resolution?t.resolution=this.getResolution():t.zoom=this.getZoom(),t.center=this.getCenterInternal(),t.rotation=this.getRotation(),Object.assign({},t,e)}animate(e){this.isDef()&&!this.getAnimating()&&this.resolveConstraints(0);const t=new Array(arguments.length);for(let e=0;e<t.length;++e){let n=arguments[e];n.center&&(n=Object.assign({},n),n.center=bo(n.center,this.getProjection())),n.anchor&&(n=Object.assign({},n),n.anchor=bo(n.anchor,this.getProjection())),t[e]=n}this.animateInternal.apply(this,t)}animateInternal(e){let t,n=arguments.length;n>1&&"function"==typeof arguments[n-1]&&(t=arguments[n-1],--n);let i=0;for(;i<n&&!this.isDef();++i){const e=arguments[i];e.center&&this.setCenterInternal(e.center),void 0!==e.zoom?this.setZoom(e.zoom):e.resolution&&this.setResolution(e.resolution),void 0!==e.rotation&&this.setRotation(e.rotation)}if(i===n)return void(t&&sl(t,!0));let r=Date.now(),o=this.targetCenter_.slice(),s=this.targetResolution_,a=this.targetRotation_;const l=[];for(;i<n;++i){const e=arguments[i],n={start:r,complete:!1,anchor:e.anchor,duration:void 0!==e.duration?e.duration:1e3,easing:e.easing||Hs,callback:t};if(e.center&&(n.sourceCenter=o,n.targetCenter=e.center.slice(),o=n.targetCenter),void 0!==e.zoom?(n.sourceResolution=s,n.targetResolution=this.getResolutionForZoom(e.zoom),s=n.targetResolution):e.resolution&&(n.sourceResolution=s,n.targetResolution=e.resolution,s=n.targetResolution),void 0!==e.rotation){n.sourceRotation=a;const t=ir(e.rotation-a+Math.PI,2*Math.PI)-Math.PI;n.targetRotation=a+t,a=n.targetRotation}al(n)?n.complete=!0:r+=n.duration,l.push(n)}this.animations_.push(l),this.setHint(0,1),this.updateAnimations_()}getAnimating(){return this.hints_[0]>0}getInteracting(){return this.hints_[1]>0}cancelAnimations(){let e;this.setHint(0,-this.hints_[0]);for(let t=0,n=this.animations_.length;t<n;++t){const n=this.animations_[t];if(n[0].callback&&sl(n[0].callback,!1),!e)for(let t=0,i=n.length;t<i;++t){const i=n[t];if(!i.complete){e=i.anchor;break}}}this.animations_.length=0,this.cancelAnchor_=e,this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN}updateAnimations_(){if(void 0!==this.updateAnimationKey_&&(cancelAnimationFrame(this.updateAnimationKey_),this.updateAnimationKey_=void 0),!this.getAnimating())return;const e=Date.now();let t=!1;for(let n=this.animations_.length-1;n>=0;--n){const i=this.animations_[n];let r=!0;for(let n=0,o=i.length;n<o;++n){const o=i[n];if(o.complete)continue;const s=e-o.start;let a=o.duration>0?s/o.duration:1;a>=1?(o.complete=!0,a=1):r=!1;const l=o.easing(a);if(o.sourceCenter){const e=o.sourceCenter[0],t=o.sourceCenter[1],n=o.targetCenter[0],i=o.targetCenter[1];this.nextCenter_=o.targetCenter;const r=e+l*(n-e),s=t+l*(i-t);this.targetCenter_=[r,s]}if(o.sourceResolution&&o.targetResolution){const e=1===l?o.targetResolution:o.sourceResolution+l*(o.targetResolution-o.sourceResolution);if(o.anchor){const t=this.getViewportSize_(this.getRotation()),n=this.constraints_.resolution(e,0,t,!0);this.targetCenter_=this.calculateCenterZoom(n,o.anchor)}this.nextResolution_=o.targetResolution,this.targetResolution_=e,this.applyTargetState_(!0)}if(void 0!==o.sourceRotation&&void 0!==o.targetRotation){const e=1===l?ir(o.targetRotation+Math.PI,2*Math.PI)-Math.PI:o.sourceRotation+l*(o.targetRotation-o.sourceRotation);if(o.anchor){const t=this.constraints_.rotation(e,!0);this.targetCenter_=this.calculateCenterRotate(t,o.anchor)}this.nextRotation_=o.targetRotation,this.targetRotation_=e}if(this.applyTargetState_(!0),t=!0,!o.complete)break}if(r){this.animations_[n]=null,this.setHint(0,-1),this.nextCenter_=null,this.nextResolution_=NaN,this.nextRotation_=NaN;const e=i[0].callback;e&&sl(e,!0)}}this.animations_=this.animations_.filter(Boolean),t&&void 0===this.updateAnimationKey_&&(this.updateAnimationKey_=requestAnimationFrame(this.updateAnimations_.bind(this)))}calculateCenterRotate(e,t){let n;const i=this.getCenterInternal();var r,o;return void 0!==i&&(n=[i[0]-t[0],i[1]-t[1]],Ki(n,e-this.getRotation()),o=t,(r=n)[0]+=+o[0],r[1]+=+o[1]),n}calculateCenterZoom(e,t){let n;const i=this.getCenterInternal(),r=this.getResolution();return void 0!==i&&void 0!==r&&(n=[t[0]-e*(t[0]-i[0])/r,t[1]-e*(t[1]-i[1])/r]),n}getViewportSize_(e){const t=this.viewportSize_;if(e){const n=t[0],i=t[1];return[Math.abs(n*Math.cos(e))+Math.abs(i*Math.sin(e)),Math.abs(n*Math.sin(e))+Math.abs(i*Math.cos(e))]}return t}setViewportSize(e){this.viewportSize_=Array.isArray(e)?e.slice():[100,100],this.getAnimating()||this.resolveConstraints(0)}getCenter(){const e=this.getCenterInternal();return e?vo(e,this.getProjection()):e}getCenterInternal(){return this.get(Bs.CENTER)}getConstraints(){return this.constraints_}getConstrainResolution(){return this.get("constrainResolution")}getHints(e){return void 0!==e?(e[0]=this.hints_[0],e[1]=this.hints_[1],e):this.hints_.slice()}calculateExtent(e){return xo(this.calculateExtentInternal(e),this.getProjection())}calculateExtentInternal(e){e=e||this.getViewportSizeMinusPadding_();const t=this.getCenterInternal();Fs(t,"The view center is not defined");const n=this.getResolution();Fs(void 0!==n,"The view resolution is not defined");const i=this.getRotation();return Fs(void 0!==i,"The view rotation is not defined"),zi(t,n,i,e)}getMaxResolution(){return this.maxResolution_}getMinResolution(){return this.minResolution_}getMaxZoom(){return this.getZoomForResolution(this.minResolution_)}setMaxZoom(e){this.applyOptions_(this.getUpdatedOptions_({maxZoom:e}))}getMinZoom(){return this.getZoomForResolution(this.maxResolution_)}setMinZoom(e){this.applyOptions_(this.getUpdatedOptions_({minZoom:e}))}setConstrainResolution(e){this.applyOptions_(this.getUpdatedOptions_({constrainResolution:e}))}getProjection(){return this.projection_}getResolution(){return this.get(Bs.RESOLUTION)}getResolutions(){return this.resolutions_}getResolutionForExtent(e,t){return this.getResolutionForExtentInternal(wo(e,this.getProjection()),t)}getResolutionForExtentInternal(e,t){t=t||this.getViewportSizeMinusPadding_();const n=Ni(e)/t[0],i=Oi(e)/t[1];return Math.max(n,i)}getResolutionForValueFunction(e){e=e||2;const t=this.getConstrainedResolution(this.maxResolution_),n=this.minResolution_,i=Math.log(t/n)/Math.log(e);return function(n){return t/Math.pow(e,n*i)}}getRotation(){return this.get(Bs.ROTATION)}getValueForResolutionFunction(e){const t=Math.log(e||2),n=this.getConstrainedResolution(this.maxResolution_),i=this.minResolution_,r=Math.log(n/i)/t;return function(e){return Math.log(n/e)/t/r}}getViewportSizeMinusPadding_(e){let t=this.getViewportSize_(e);const n=this.padding_;return n&&(t=[t[0]-n[1]-n[3],t[1]-n[0]-n[2]]),t}getState(){const e=this.getProjection(),t=this.getResolution(),n=this.getRotation();let i=this.getCenterInternal();const r=this.padding_;if(r){const e=this.getViewportSizeMinusPadding_();i=ll(i,this.getViewportSize_(),[e[0]/2+r[3],e[1]/2+r[0]],t,n)}return{center:i.slice(0),projection:void 0!==e?e:null,resolution:t,nextCenter:this.nextCenter_,nextResolution:this.nextResolution_,nextRotation:this.nextRotation_,rotation:n,zoom:this.getZoom()}}getViewStateAndExtent(){return{viewState:this.getState(),extent:this.calculateExtent()}}getZoom(){let e;const t=this.getResolution();return void 0!==t&&(e=this.getZoomForResolution(t)),e}getZoomForResolution(e){let t,n,i=this.minZoom_||0;if(this.resolutions_){const r=Wo(this.resolutions_,e,1);i=r,t=this.resolutions_[r],n=r==this.resolutions_.length-1?2:t/this.resolutions_[r+1]}else t=this.maxResolution_,n=this.zoomFactor_;return i+Math.log(t/e)/Math.log(n)}getResolutionForZoom(e){if(this.resolutions_?.length){if(1===this.resolutions_.length)return this.resolutions_[0];const t=Qi(Math.floor(e),0,this.resolutions_.length-2),n=this.resolutions_[t]/this.resolutions_[t+1];return this.resolutions_[t]/Math.pow(n,Qi(e-t,0,1))}return this.maxResolution_/Math.pow(this.zoomFactor_,e-this.minZoom_)}fit(e,t){let n;if(Fs(Array.isArray(e)||"function"==typeof e.getSimplifiedGeometry,"Invalid extent or geometry provided as `geometry`"),Array.isArray(e))Fs(!qi(e),"Cannot fit empty extent provided as `geometry`"),n=Ja(wo(e,this.getProjection()));else if("Circle"===e.getType()){const t=wo(e.getExtent(),this.getProjection());n=Ja(t),n.rotate(this.getRotation(),Pi(t))}else{const t=yo();n=t?e.clone().transform(t,this.getProjection()):e}this.fitInternal(n,t)}rotatedExtentForGeometry(e){const t=this.getRotation(),n=Math.cos(t),i=Math.sin(-t),r=e.getFlatCoordinates(),o=e.getStride();let s=1/0,a=1/0,l=-1/0,c=-1/0;for(let e=0,t=r.length;e<t;e+=o){const t=r[e]*n-r[e+1]*i,o=r[e]*i+r[e+1]*n;s=Math.min(s,t),a=Math.min(a,o),l=Math.max(l,t),c=Math.max(c,o)}return[s,a,l,c]}fitInternal(e,t){let n=(t=t||{}).size;n||(n=this.getViewportSizeMinusPadding_());const i=void 0!==t.padding?t.padding:[0,0,0,0],r=void 0!==t.nearest&&t.nearest;let o;o=void 0!==t.minResolution?t.minResolution:void 0!==t.maxZoom?this.getResolutionForZoom(t.maxZoom):0;const s=this.rotatedExtentForGeometry(e);let a=this.getResolutionForExtentInternal(s,[n[0]-i[1]-i[3],n[1]-i[0]-i[2]]);a=isNaN(a)?o:Math.max(a,o),a=this.getConstrainedResolution(a,r?0:1);const l=this.getRotation(),c=Math.sin(l),u=Math.cos(l),d=Pi(s);d[0]+=(i[1]-i[3])/2*a,d[1]+=(i[0]-i[2])/2*a;const p=d[0]*u-d[1]*c,h=d[1]*u+d[0]*c,f=this.getConstrainedCenter([p,h],a),_=t.callback?t.callback:Zo;void 0!==t.duration?this.animateInternal({resolution:a,center:f,duration:t.duration,easing:t.easing},_):(this.targetResolution_=a,this.targetCenter_=f,this.applyTargetState_(!1,!0),sl(_,!0))}centerOn(e,t,n){this.centerOnInternal(bo(e,this.getProjection()),t,n)}centerOnInternal(e,t,n){this.setCenterInternal(ll(e,t,n,this.getResolution(),this.getRotation()))}calculateCenterShift(e,t,n,i){let r;const o=this.padding_;if(o&&e){const s=this.getViewportSizeMinusPadding_(-n),a=ll(e,i,[s[0]/2+o[3],s[1]/2+o[0]],t,n);r=[e[0]-a[0],e[1]-a[1]]}return r}isDef(){return!!this.getCenterInternal()&&void 0!==this.getResolution()}adjustCenter(e){const t=vo(this.targetCenter_,this.getProjection());this.setCenter([t[0]+e[0],t[1]+e[1]])}adjustCenterInternal(e){const t=this.targetCenter_;this.setCenterInternal([t[0]+e[0],t[1]+e[1]])}adjustResolution(e,t){t=t&&bo(t,this.getProjection()),this.adjustResolutionInternal(e,t)}adjustResolutionInternal(e,t){const n=this.getAnimating()||this.getInteracting(),i=this.getViewportSize_(this.getRotation()),r=this.constraints_.resolution(this.targetResolution_*e,0,i,n);t&&(this.targetCenter_=this.calculateCenterZoom(r,t)),this.targetResolution_*=e,this.applyTargetState_()}adjustZoom(e,t){this.adjustResolution(Math.pow(this.zoomFactor_,-e),t)}adjustRotation(e,t){t&&(t=bo(t,this.getProjection())),this.adjustRotationInternal(e,t)}adjustRotationInternal(e,t){const n=this.getAnimating()||this.getInteracting(),i=this.constraints_.rotation(this.targetRotation_+e,n);t&&(this.targetCenter_=this.calculateCenterRotate(i,t)),this.targetRotation_+=e,this.applyTargetState_()}setCenter(e){this.setCenterInternal(e?bo(e,this.getProjection()):e)}setCenterInternal(e){this.targetCenter_=e,this.applyTargetState_()}setHint(e,t){return this.hints_[e]+=t,this.changed(),this.hints_[e]}setResolution(e){this.targetResolution_=e,this.applyTargetState_()}setRotation(e){this.targetRotation_=e,this.applyTargetState_()}setZoom(e){this.setResolution(this.getResolutionForZoom(e))}applyTargetState_(e,t){const n=this.getAnimating()||this.getInteracting()||t,i=this.constraints_.rotation(this.targetRotation_,n),r=this.getViewportSize_(i),o=this.constraints_.resolution(this.targetResolution_,0,r,n),s=this.constraints_.center(this.targetCenter_,o,r,n,this.calculateCenterShift(this.targetCenter_,o,i,r));this.get(Bs.ROTATION)!==i&&this.set(Bs.ROTATION,i),this.get(Bs.RESOLUTION)!==o&&(this.set(Bs.RESOLUTION,o),this.set("zoom",this.getZoom(),!0)),s&&this.get(Bs.CENTER)&&$i(this.get(Bs.CENTER),s)||this.set(Bs.CENTER,s),this.getAnimating()&&!e&&this.cancelAnimations(),this.cancelAnchor_=void 0}resolveConstraints(e,t,n){e=void 0!==e?e:200;const i=t||0,r=this.constraints_.rotation(this.targetRotation_),o=this.getViewportSize_(r),s=this.constraints_.resolution(this.targetResolution_,i,o),a=this.constraints_.center(this.targetCenter_,s,o,!1,this.calculateCenterShift(this.targetCenter_,s,r,o));if(0===e&&!this.cancelAnchor_)return this.targetResolution_=s,this.targetRotation_=r,this.targetCenter_=a,void this.applyTargetState_();n=n||(0===e?this.cancelAnchor_:void 0),this.cancelAnchor_=void 0,this.getResolution()===s&&this.getRotation()===r&&this.getCenterInternal()&&$i(this.getCenterInternal(),a)||(this.getAnimating()&&this.cancelAnimations(),this.animateInternal({rotation:r,center:a,resolution:s,duration:e,easing:Ws,anchor:n}))}beginInteraction(){this.resolveConstraints(0),this.setHint(1,1)}endInteraction(e,t,n){n=n&&bo(n,this.getProjection()),this.endInteractionInternal(e,t,n)}endInteractionInternal(e,t,n){this.getInteracting()&&(this.setHint(1,-1),this.resolveConstraints(e,t,n))}getConstrainedCenter(e,t){const n=this.getViewportSize_(this.getRotation());return this.constraints_.center(e,t||this.getResolution(),n)}getConstrainedZoom(e,t){const n=this.getResolutionForZoom(e);return this.getZoomForResolution(this.getConstrainedResolution(n,t))}getConstrainedResolution(e,t){t=t||0;const n=this.getViewportSize_(this.getRotation());return this.constraints_.resolution(e,t,n)}},ul="ol-hidden",dl="ol-unselectable",pl="ol-control",hl="ol-collapsed",fl=new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)","(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)","(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?","(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))","(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))","?\\s*([-,\\\"\\'\\sa-z0-9]+?)\\s*$"].join(""),"i"),_l=["style","variant","weight","size","lineHeight","family"],gl={normal:400,bold:700},ml=function(e){const t=e.match(fl);if(!t)return null;const n={lineHeight:"normal",size:"1.2em",style:"normal",weight:"400",variant:"normal"};for(let e=0,i=_l.length;e<i;++e){const i=t[e+1];void 0!==i&&(n[_l[e]]="string"==typeof i?i.trim():i)}return isNaN(Number(n.weight))&&n.weight in gl&&(n.weight=gl[n.weight]),n.families=n.family.split(/,\s?/).map(e=>e.trim().replace(/^['"]|['"]$/g,"")),n};function yl(e,t,n,i){let r;return r=n&&n.length?n.shift():ks?new OffscreenCanvas(e||300,t||300):document.createElement("canvas"),e&&(r.width=e),t&&(r.height=t),r.getContext("2d",i)}let vl;function bl(){return vl||(vl=yl(1,1)),vl}function xl(e){const t=e.canvas;t.width=1,t.height=1,e.clearRect(0,0,1,1)}function wl(e){let t=e.offsetWidth;const n=getComputedStyle(e);return t+=parseInt(n.marginLeft,10)+parseInt(n.marginRight,10),t}function kl(e){let t=e.offsetHeight;const n=getComputedStyle(e);return t+=parseInt(n.marginTop,10)+parseInt(n.marginBottom,10),t}function Cl(e,t){const n=t.parentNode;n&&n.replaceChild(e,t)}function Al(e){for(;e.lastChild;)e.lastChild.remove()}const Sl=class extends ps{constructor(e){super();const t=e.element;!t||e.target||t.style.pointerEvents||(t.style.pointerEvents="auto"),this.element=t||null,this.target_=null,this.map_=null,this.listenerKeys=[],e.render&&(this.render=e.render),e.target&&this.setTarget(e.target)}disposeInternal(){this.element?.remove(),super.disposeInternal()}getMap(){return this.map_}setMap(e){this.map_&&this.element?.remove();for(let e=0,t=this.listenerKeys.length;e<t;++e)os(this.listenerKeys[e]);if(this.listenerKeys.length=0,this.map_=e,e){const t=this.target_??e.getOverlayContainerStopEvent();this.element&&t.appendChild(this.element),this.render!==Zo&&this.listenerKeys.push(is(e,Ts,this.render,this)),e.render()}}render(e){}setTarget(e){this.target_="string"==typeof e?document.getElementById(e):e}},El=class extends Sl{constructor(e){e=e||{},super({element:document.createElement("div"),render:e.render,target:e.target}),this.ulElement_=document.createElement("ul"),this.collapsed_=void 0===e.collapsed||e.collapsed,this.userCollapsed_=this.collapsed_,this.overrideCollapsible_=void 0!==e.collapsible,this.collapsible_=void 0===e.collapsible||e.collapsible,this.collapsible_||(this.collapsed_=!1),this.attributions_=e.attributions;const t=void 0!==e.className?e.className:"ol-attribution",n=void 0!==e.tipLabel?e.tipLabel:"Attributions",i=void 0!==e.expandClassName?e.expandClassName:t+"-expand",r=void 0!==e.collapseLabel?e.collapseLabel:"›",o=void 0!==e.collapseClassName?e.collapseClassName:t+"-collapse";"string"==typeof r?(this.collapseLabel_=document.createElement("span"),this.collapseLabel_.textContent=r,this.collapseLabel_.className=o):this.collapseLabel_=r;const s=void 0!==e.label?e.label:"i";"string"==typeof s?(this.label_=document.createElement("span"),this.label_.textContent=s,this.label_.className=i):this.label_=s;const a=this.collapsible_&&!this.collapsed_?this.collapseLabel_:this.label_;this.toggleButton_=document.createElement("button"),this.toggleButton_.setAttribute("type","button"),this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_)),this.toggleButton_.title=n,this.toggleButton_.appendChild(a),this.toggleButton_.addEventListener(Fo,this.handleClick_.bind(this),!1);const l=t+" "+dl+" "+pl+(this.collapsed_&&this.collapsible_?" "+hl:"")+(this.collapsible_?"":" ol-uncollapsible"),c=this.element;c.className=l,c.appendChild(this.toggleButton_),c.appendChild(this.ulElement_),this.renderedAttributions_=[],this.renderedVisible_=!0}collectSourceAttributions_(e){const t=this.getMap().getAllLayers(),n=new Set(t.flatMap(t=>t.getAttributions(e)));if(void 0!==this.attributions_&&(Array.isArray(this.attributions_)?this.attributions_.forEach(e=>n.add(e)):n.add(this.attributions_)),!this.overrideCollapsible_){const e=!t.some(e=>!1===e.getSource()?.getAttributionsCollapsible());this.setCollapsible(e)}return Array.from(n)}async updateElement_(e){if(!e)return void(this.renderedVisible_&&(this.element.style.display="none",this.renderedVisible_=!1));const t=await Promise.all(this.collectSourceAttributions_(e).map(e=>Qo(()=>e))),n=t.length>0;if(this.renderedVisible_!=n&&(this.element.style.display=n?"":"none",this.renderedVisible_=n),!$o(t,this.renderedAttributions_)){Al(this.ulElement_);for(let e=0,n=t.length;e<n;++e){const n=document.createElement("li");n.innerHTML=t[e],this.ulElement_.appendChild(n)}this.renderedAttributions_=t}}handleClick_(e){e.preventDefault(),this.handleToggle_(),this.userCollapsed_=this.collapsed_}handleToggle_(){this.element.classList.toggle(hl),this.collapsed_?Cl(this.collapseLabel_,this.label_):Cl(this.label_,this.collapseLabel_),this.collapsed_=!this.collapsed_,this.toggleButton_.setAttribute("aria-expanded",String(!this.collapsed_))}getCollapsible(){return this.collapsible_}setCollapsible(e){this.collapsible_!==e&&(this.collapsible_=e,this.element.classList.toggle("ol-uncollapsible"),this.userCollapsed_&&this.handleToggle_())}setCollapsed(e){this.userCollapsed_=e,this.collapsible_&&this.collapsed_!==e&&this.handleToggle_()}getCollapsed(){return this.collapsed_}render(e){this.updateElement_(e.frameState)}},Il=class extends Sl{constructor(e){e=e||{},super({element:document.createElement("div"),render:e.render,target:e.target});const t=void 0!==e.className?e.className:"ol-rotate",n=void 0!==e.label?e.label:"⇧",i=void 0!==e.compassClassName?e.compassClassName:"ol-compass";this.label_=null,"string"==typeof n?(this.label_=document.createElement("span"),this.label_.className=i,this.label_.textContent=n):(this.label_=n,this.label_.classList.add(i));const r=e.tipLabel?e.tipLabel:"Reset rotation",o=document.createElement("button");o.className=t+"-reset",o.setAttribute("type","button"),o.title=r,o.appendChild(this.label_),o.addEventListener(Fo,this.handleClick_.bind(this),!1);const s=t+" "+dl+" "+pl,a=this.element;a.className=s,a.appendChild(o),this.callResetNorth_=e.resetNorth?e.resetNorth:void 0,this.duration_=void 0!==e.duration?e.duration:250,this.autoHide_=void 0===e.autoHide||e.autoHide,this.rotation_=void 0,this.autoHide_&&this.element.classList.add(ul)}handleClick_(e){e.preventDefault(),void 0!==this.callResetNorth_?this.callResetNorth_():this.resetNorth_()}resetNorth_(){const e=this.getMap().getView();if(!e)return;const t=e.getRotation();void 0!==t&&(this.duration_>0&&t%(2*Math.PI)!=0?e.animate({rotation:0,duration:this.duration_,easing:Ws}):e.setRotation(0))}render(e){const t=e.frameState;if(!t)return;const n=t.viewState.rotation;if(n!=this.rotation_){const e="rotate("+n+"rad)";if(this.autoHide_){const e=this.element.classList.contains(ul);e||0!==n?e&&0!==n&&this.element.classList.remove(ul):this.element.classList.add(ul)}this.label_.style.transform=e}this.rotation_=n}},Tl=class extends Sl{constructor(e){e=e||{},super({element:document.createElement("div"),target:e.target});const t=void 0!==e.className?e.className:"ol-zoom",n=void 0!==e.delta?e.delta:1,i=void 0!==e.zoomInClassName?e.zoomInClassName:t+"-in",r=void 0!==e.zoomOutClassName?e.zoomOutClassName:t+"-out",o=void 0!==e.zoomInLabel?e.zoomInLabel:"+",s=void 0!==e.zoomOutLabel?e.zoomOutLabel:"–",a=void 0!==e.zoomInTipLabel?e.zoomInTipLabel:"Zoom in",l=void 0!==e.zoomOutTipLabel?e.zoomOutTipLabel:"Zoom out",c=document.createElement("button");c.className=i,c.setAttribute("type","button"),c.title=a,c.appendChild("string"==typeof o?document.createTextNode(o):o),c.addEventListener(Fo,this.handleClick_.bind(this,n),!1);const u=document.createElement("button");u.className=r,u.setAttribute("type","button"),u.title=l,u.appendChild("string"==typeof s?document.createTextNode(s):s),u.addEventListener(Fo,this.handleClick_.bind(this,-n),!1);const d=t+" "+dl+" "+pl,p=this.element;p.className=d,p.appendChild(c),p.appendChild(u),this.duration_=void 0!==e.duration?e.duration:250}handleClick_(e,t){t.preventDefault(),this.zoomByDelta_(e)}zoomByDelta_(e){const t=this.getMap().getView();if(!t)return;const n=t.getZoom();if(void 0!==n){const i=t.getConstrainedZoom(n+e);this.duration_>0?(t.getAnimating()&&t.cancelAnimations(),t.animate({zoom:i,duration:this.duration_,easing:Ws})):t.setZoom(i)}}};function Ml(e){e=e||{};const t=new _s;return(void 0===e.zoom||e.zoom)&&t.push(new Tl(e.zoomOptions)),(void 0===e.rotate||e.rotate)&&t.push(new Il(e.rotateOptions)),(void 0===e.attribution||e.attribution)&&t.push(new El(e.attributionOptions)),t}const Pl=class{constructor(e,t,n){this.decay_=e,this.minVelocity_=t,this.delay_=n,this.points_=[],this.angle_=0,this.initialVelocity_=0}begin(){this.points_.length=0,this.angle_=0,this.initialVelocity_=0}update(e,t){this.points_.push(e,t,Date.now())}end(){if(this.points_.length<6)return!1;const e=Date.now()-this.delay_,t=this.points_.length-3;if(this.points_[t+2]<e)return!1;let n=t-3;for(;n>0&&this.points_[n+2]>e;)n-=3;const i=this.points_[t+2]-this.points_[n+2];if(i<1e3/60)return!1;const r=this.points_[t]-this.points_[n],o=this.points_[t+1]-this.points_[n+1];return this.angle_=Math.atan2(o,r),this.initialVelocity_=Math.sqrt(r*r+o*o)/i,this.initialVelocity_>this.minVelocity_}getDistance(){return(this.minVelocity_-this.initialVelocity_)/this.decay_}getAngle(){return this.angle_}},Rl="active";function zl(e,t,n,i){const r=e.getZoom();if(void 0===r)return;const o=e.getConstrainedZoom(r+t),s=e.getResolutionForZoom(o);e.getAnimating()&&e.cancelAnimations(),e.animate({resolution:s,anchor:n,duration:void 0!==i?i:250,easing:Ws})}const Ll=class extends ps{constructor(e){super(),this.on,this.once,this.un,e&&e.handleEvent&&(this.handleEvent=e.handleEvent),this.map_=null,this.setActive(!0)}getActive(){return this.get(Rl)}getMap(){return this.map_}handleEvent(e){return!0}setActive(e){this.set(Rl,e)}setMap(e){this.map_=e}},Ol=class extends Ll{constructor(e){super(),e=e||{},this.delta_=e.delta?e.delta:1,this.duration_=void 0!==e.duration?e.duration:250}handleEvent(e){let t=!1;if(e.type==ys.DBLCLICK){const n=e.originalEvent,i=e.map,r=e.coordinate,o=n.shiftKey?-this.delta_:this.delta_;zl(i.getView(),o,r,this.duration_),n.preventDefault(),t=!0}return!t}};function Fl(e){const t=arguments;return function(e){let n=!0;for(let i=0,r=t.length;i<r&&(n=n&&t[i](e),n);++i);return n}}const jl=function(e){const t=e.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},Dl=function(e){const t=e.map.getTargetElement(),n=t.getRootNode();return!(n instanceof ShadowRoot?n.host:t).hasAttribute("tabindex")||function(e){const t=e.map.getTargetElement(),n=t.getRootNode(),i=e.map.getOwnerDocument().activeElement;return n instanceof ShadowRoot?n.host.contains(i):t.contains(i)}(e)},Nl=Ko,Bl=function(e){return e.type==ys.CLICK},ql=function(e){const t=e.originalEvent;return"pointerId"in t&&0==t.button&&!(bs&&xs&&t.ctrlKey)},Gl=Xo,Vl=function(e){return e.type==ys.SINGLECLICK},Wl=function(e){const t=e.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey},Hl=function(e){const t=e.originalEvent;return!t.altKey&&!(t.metaKey||t.ctrlKey)&&t.shiftKey},Ul=function(e){const t=e.originalEvent,n=t.target.tagName;return"INPUT"!==n&&"SELECT"!==n&&"TEXTAREA"!==n&&!t.target.isContentEditable},$l=function(e){const t=e.originalEvent;return"pointerId"in t&&"mouse"==t.pointerType},Kl=function(e){const t=e.originalEvent;return"pointerId"in t&&t.isPrimary&&0===t.button};function Xl(e){const t=e.length;let n=0,i=0;for(let r=0;r<t;r++)n+=e[r].clientX,i+=e[r].clientY;return{clientX:n/t,clientY:i/t}}const Zl=class extends Ll{constructor(e){super(e=e||{}),e.handleDownEvent&&(this.handleDownEvent=e.handleDownEvent),e.handleDragEvent&&(this.handleDragEvent=e.handleDragEvent),e.handleMoveEvent&&(this.handleMoveEvent=e.handleMoveEvent),e.handleUpEvent&&(this.handleUpEvent=e.handleUpEvent),e.stopDown&&(this.stopDown=e.stopDown),this.handlingDownUpSequence=!1,this.targetPointers=[]}getPointerCount(){return this.targetPointers.length}handleDownEvent(e){return!1}handleDragEvent(e){}handleEvent(e){if(!e.originalEvent)return!0;let t=!1;if(this.updateTrackedPointers_(e),this.handlingDownUpSequence){if(e.type==ys.POINTERDRAG)this.handleDragEvent(e),e.originalEvent.preventDefault();else if(e.type==ys.POINTERUP){const t=this.handleUpEvent(e);this.handlingDownUpSequence=t&&this.targetPointers.length>0}}else if(e.type==ys.POINTERDOWN){const n=this.handleDownEvent(e);this.handlingDownUpSequence=n,t=this.stopDown(n)}else e.type==ys.POINTERMOVE&&this.handleMoveEvent(e);return!t}handleMoveEvent(e){}handleUpEvent(e){return!1}stopDown(e){return e}updateTrackedPointers_(e){e.activePointers&&(this.targetPointers=e.activePointers)}},Yl=class extends Zl{constructor(e){super({stopDown:Xo}),e=e||{},this.kinetic_=e.kinetic,this.lastCentroid=null,this.lastPointersCount_,this.panning_=!1;const t=e.condition?e.condition:Fl(Wl,Kl);this.condition_=e.onFocusOnly?Fl(Dl,t):t,this.noKinetic_=!1}handleDragEvent(e){const t=e.map;this.panning_||(this.panning_=!0,t.getView().beginInteraction());const n=this.targetPointers,i=t.getEventPixel(Xl(n));if(n.length==this.lastPointersCount_){if(this.kinetic_&&this.kinetic_.update(i[0],i[1]),this.lastCentroid){const t=[this.lastCentroid[0]-i[0],i[1]-this.lastCentroid[1]],n=e.map.getView();r=t,o=n.getResolution(),r[0]*=o,r[1]*=o,Ki(t,n.getRotation()),n.adjustCenterInternal(t)}}else this.kinetic_&&this.kinetic_.begin();var r,o;this.lastCentroid=i,this.lastPointersCount_=n.length,e.originalEvent.preventDefault()}handleUpEvent(e){const t=e.map,n=t.getView();if(0===this.targetPointers.length){if(!this.noKinetic_&&this.kinetic_&&this.kinetic_.end()){const e=this.kinetic_.getDistance(),i=this.kinetic_.getAngle(),r=n.getCenterInternal(),o=t.getPixelFromCoordinateInternal(r),s=t.getCoordinateFromPixelInternal([o[0]-e*Math.cos(i),o[1]-e*Math.sin(i)]);n.animateInternal({center:n.getConstrainedCenter(s),duration:500,easing:Ws})}return this.panning_&&(this.panning_=!1,n.endInteraction()),!1}return this.kinetic_&&this.kinetic_.begin(),this.lastCentroid=null,!0}handleDownEvent(e){if(this.targetPointers.length>0&&this.condition_(e)){const t=e.map.getView();return this.lastCentroid=null,t.getAnimating()&&t.cancelAnimations(),this.kinetic_&&this.kinetic_.begin(),this.noKinetic_=this.targetPointers.length>1,!0}return!1}},Ql=class extends Zl{constructor(e){e=e||{},super({stopDown:Xo}),this.condition_=e.condition?e.condition:jl,this.lastAngle_=void 0,this.duration_=void 0!==e.duration?e.duration:250}handleDragEvent(e){if(!$l(e))return;const t=e.map,n=t.getView();if(n.getConstraints().rotation===rl)return;const i=t.getSize(),r=e.pixel,o=Math.atan2(i[1]/2-r[1],r[0]-i[0]/2);if(void 0!==this.lastAngle_){const e=o-this.lastAngle_;n.adjustRotationInternal(-e)}this.lastAngle_=o}handleUpEvent(e){return!$l(e)||(e.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(e){return!!$l(e)&&(!(!ql(e)||!this.condition_(e))&&(e.map.getView().beginInteraction(),this.lastAngle_=void 0,!0))}},Jl=class extends qo{constructor(e){super(),this.geometry_=null,this.element_=document.createElement("div"),this.element_.style.position="absolute",this.element_.style.pointerEvents="auto",this.element_.className="ol-box "+e,this.map_=null,this.startPixel_=null,this.endPixel_=null}disposeInternal(){this.setMap(null)}render_(){const e=this.startPixel_,t=this.endPixel_,n="px",i=this.element_.style;i.left=Math.min(e[0],t[0])+n,i.top=Math.min(e[1],t[1])+n,i.width=Math.abs(t[0]-e[0])+n,i.height=Math.abs(t[1]-e[1])+n}setMap(e){if(this.map_){this.map_.getOverlayContainer().removeChild(this.element_);const e=this.element_.style;e.left="inherit",e.top="inherit",e.width="inherit",e.height="inherit"}this.map_=e,this.map_&&this.map_.getOverlayContainer().appendChild(this.element_)}setPixels(e,t){this.startPixel_=e,this.endPixel_=t,this.createOrUpdateGeometry(),this.render_()}createOrUpdateGeometry(){if(!this.map_)return;const e=this.startPixel_,t=this.endPixel_,n=[e,[e[0],t[1]],t,[t[0],e[1]]].map(this.map_.getCoordinateFromPixelInternal,this.map_);n[4]=n[0].slice(),this.geometry_?this.geometry_.setCoordinates([n]):this.geometry_=new Qa([n])}getGeometry(){return this.geometry_}},ec="boxcancel";class tc extends ts{constructor(e,t,n){super(e),this.coordinate=t,this.mapBrowserEvent=n}}const nc=class extends Zl{constructor(e){super(),this.on,this.once,this.un,e=e??{},this.box_=new Jl(e.className||"ol-dragbox"),this.minArea_=e.minArea??64,e.onBoxEnd&&(this.onBoxEnd=e.onBoxEnd),this.startPixel_=null,this.condition_=e.condition??ql,this.boxEndCondition_=e.boxEndCondition??this.defaultBoxEndCondition}defaultBoxEndCondition(e,t,n){const i=n[0]-t[0],r=n[1]-t[1];return i*i+r*r>=this.minArea_}getGeometry(){return this.box_.getGeometry()}handleDragEvent(e){this.startPixel_&&(this.box_.setPixels(this.startPixel_,e.pixel),this.dispatchEvent(new tc("boxdrag",e.coordinate,e)))}handleUpEvent(e){if(!this.startPixel_)return!1;const t=this.boxEndCondition_(e,this.startPixel_,e.pixel);return t&&this.onBoxEnd(e),this.dispatchEvent(new tc(t?"boxend":ec,e.coordinate,e)),this.box_.setMap(null),this.startPixel_=null,!1}handleDownEvent(e){return!!this.condition_(e)&&(this.startPixel_=e.pixel,this.box_.setMap(e.map),this.box_.setPixels(this.startPixel_,this.startPixel_),this.dispatchEvent(new tc("boxstart",e.coordinate,e)),!0)}onBoxEnd(e){}setActive(e){e||(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new tc(ec,this.startPixel_,null)),this.startPixel_=null)),super.setActive(e)}setMap(e){this.getMap()&&(this.box_.setMap(null),this.startPixel_&&(this.dispatchEvent(new tc(ec,this.startPixel_,null)),this.startPixel_=null)),super.setMap(e)}},ic=class extends nc{constructor(e){super({condition:(e=e||{}).condition?e.condition:Hl,className:e.className||"ol-dragzoom",minArea:e.minArea}),this.duration_=void 0!==e.duration?e.duration:200,this.out_=void 0!==e.out&&e.out}onBoxEnd(e){const t=this.getMap().getView();let n=this.getGeometry();if(this.out_){const e=t.rotatedExtentForGeometry(n),i=t.getResolutionForExtentInternal(e),r=t.getResolution()/i;n=n.clone(),n.scale(r*r)}t.fitInternal(n,{duration:this.duration_,easing:Ws})}},rc="ArrowLeft",oc="ArrowRight",sc="ArrowDown",ac=class extends Ll{constructor(e){super(),e=e||{},this.defaultCondition_=function(e){return Wl(e)&&Ul(e)},this.condition_=void 0!==e.condition?e.condition:this.defaultCondition_,this.duration_=void 0!==e.duration?e.duration:100,this.pixelDelta_=void 0!==e.pixelDelta?e.pixelDelta:128}handleEvent(e){let t=!1;if(e.type==jo){const n=e.originalEvent,i=n.key;if(this.condition_(e)&&(i==sc||i==rc||i==oc||"ArrowUp"==i)){const r=e.map.getView(),o=r.getResolution()*this.pixelDelta_;let s=0,a=0;i==sc?a=-o:i==rc?s=-o:i==oc?s=o:a=o;const l=[s,a];Ki(l,r.getRotation()),function(e,t,n){const i=e.getCenterInternal();if(i){const r=[i[0]+t[0],i[1]+t[1]];e.animateInternal({duration:void 0!==n?n:250,easing:Us,center:e.getConstrainedCenter(r)})}}(r,l,this.duration_),n.preventDefault(),t=!0}}return!t}},lc=class extends Ll{constructor(e){super(),e=e||{},this.condition_=e.condition?e.condition:function(e){return!function(e){const t=e.originalEvent;return xs?t.metaKey:t.ctrlKey}(e)&&Ul(e)},this.delta_=e.delta?e.delta:1,this.duration_=void 0!==e.duration?e.duration:100}handleEvent(e){let t=!1;if(e.type==jo||e.type==Do){const n=e.originalEvent,i=n.key;if(this.condition_(e)&&("+"===i||"-"===i)){const r=e.map,o="+"===i?this.delta_:-this.delta_;zl(r.getView(),o,void 0,this.duration_),n.preventDefault(),t=!0}}return!t}},cc=class extends Ll{constructor(e){super(e=e||{}),this.totalDelta_=0,this.lastDelta_=0,this.maxDelta_=void 0!==e.maxDelta?e.maxDelta:1,this.duration_=void 0!==e.duration?e.duration:250,this.timeout_=void 0!==e.timeout?e.timeout:80,this.useAnchor_=void 0===e.useAnchor||e.useAnchor,this.constrainResolution_=void 0!==e.constrainResolution&&e.constrainResolution;const t=e.condition?e.condition:Nl;this.condition_=e.onFocusOnly?Fl(Dl,t):t,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_,this.mode_=void 0,this.trackpadEventGap_=400,this.trackpadTimeoutId_,this.deltaPerZoom_=300}endInteraction_(){this.trackpadTimeoutId_=void 0;const e=this.getMap();e&&e.getView().endInteraction(void 0,this.lastDelta_?this.lastDelta_>0?1:-1:0,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null)}handleEvent(e){if(!this.condition_(e))return!0;if(e.type!==Bo)return!0;const t=e.map,n=e.originalEvent;n.preventDefault(),this.useAnchor_&&(this.lastAnchor_=e.pixel);let i=n.deltaY;switch(n.deltaMode){case WheelEvent.DOM_DELTA_LINE:i*=40;break;case WheelEvent.DOM_DELTA_PAGE:i*=300}if(0===i)return!1;this.lastDelta_=i;const r=Date.now();void 0===this.startTime_&&(this.startTime_=r),(!this.mode_||r-this.startTime_>this.trackpadEventGap_)&&(this.mode_=Math.abs(i)<4?"trackpad":"wheel");const o=t.getView();if("trackpad"===this.mode_&&!o.getConstrainResolution()&&!this.constrainResolution_)return this.trackpadTimeoutId_?clearTimeout(this.trackpadTimeoutId_):(o.getAnimating()&&o.cancelAnimations(),o.beginInteraction()),this.trackpadTimeoutId_=setTimeout(this.endInteraction_.bind(this),this.timeout_),o.adjustZoom(-i/this.deltaPerZoom_,this.lastAnchor_?t.getCoordinateFromPixel(this.lastAnchor_):null),this.startTime_=r,!1;this.totalDelta_+=i;const s=Math.max(this.timeout_-(r-this.startTime_),0);return clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(this.handleWheelZoom_.bind(this,t),s),!1}handleWheelZoom_(e){const t=e.getView();t.getAnimating()&&t.cancelAnimations();let n=-Qi(this.totalDelta_,-this.maxDelta_*this.deltaPerZoom_,this.maxDelta_*this.deltaPerZoom_)/this.deltaPerZoom_;(t.getConstrainResolution()||this.constrainResolution_)&&(n=n?n>0?1:-1:0),zl(t,n,this.lastAnchor_?e.getCoordinateFromPixel(this.lastAnchor_):null,this.duration_),this.mode_=void 0,this.totalDelta_=0,this.lastAnchor_=null,this.startTime_=void 0,this.timeoutId_=void 0}setMouseAnchor(e){this.useAnchor_=e,e||(this.lastAnchor_=null)}},uc=class extends Zl{constructor(e){const t=e=e||{};t.stopDown||(t.stopDown=Xo),super(t),this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.threshold_=void 0!==e.threshold?e.threshold:.3,this.duration_=void 0!==e.duration?e.duration:250}handleDragEvent(e){let t=0;const n=this.targetPointers[0],i=this.targetPointers[1],r=Math.atan2(i.clientY-n.clientY,i.clientX-n.clientX);if(void 0!==this.lastAngle_){const e=r-this.lastAngle_;this.rotationDelta_+=e,!this.rotating_&&Math.abs(this.rotationDelta_)>this.threshold_&&(this.rotating_=!0),t=e}this.lastAngle_=r;const o=e.map,s=o.getView();s.getConstraints().rotation!==rl&&(this.anchor_=o.getCoordinateFromPixelInternal(o.getEventPixel(Xl(this.targetPointers))),this.rotating_&&(o.render(),s.adjustRotationInternal(t,this.anchor_)))}handleUpEvent(e){return!(this.targetPointers.length<2)||(e.map.getView().endInteraction(this.duration_),!1)}handleDownEvent(e){if(this.targetPointers.length>=2){const t=e.map;return this.anchor_=null,this.lastAngle_=void 0,this.rotating_=!1,this.rotationDelta_=0,this.handlingDownUpSequence||t.getView().beginInteraction(),!0}return!1}},dc=class extends Zl{constructor(e){const t=e=e||{};t.stopDown||(t.stopDown=Xo),super(t),this.anchor_=null,this.duration_=void 0!==e.duration?e.duration:400,this.lastDistance_=void 0,this.lastScaleDelta_=1}handleDragEvent(e){let t=1;const n=this.targetPointers[0],i=this.targetPointers[1],r=n.clientX-i.clientX,o=n.clientY-i.clientY,s=Math.sqrt(r*r+o*o);void 0!==this.lastDistance_&&(t=this.lastDistance_/s),this.lastDistance_=s;const a=e.map,l=a.getView();1!=t&&(this.lastScaleDelta_=t),this.anchor_=a.getCoordinateFromPixelInternal(a.getEventPixel(Xl(this.targetPointers))),a.render(),l.adjustResolutionInternal(t,this.anchor_)}handleUpEvent(e){if(this.targetPointers.length<2){const t=e.map.getView(),n=this.lastScaleDelta_>1?1:-1;return t.endInteraction(this.duration_,n),!1}return!0}handleDownEvent(e){if(this.targetPointers.length>=2){const t=e.map;return this.anchor_=null,this.lastDistance_=void 0,this.lastScaleDelta_=1,this.handlingDownUpSequence||t.getView().beginInteraction(),!0}return!1}},pc="opacity",hc="visible",fc="extent",_c="zIndex",gc="maxResolution",mc="minResolution",yc="maxZoom",vc="minZoom",bc="source",xc=class extends ps{constructor(e){super(),this.on,this.once,this.un,this.background_=e.background;const t=Object.assign({},e);"object"==typeof e.properties&&(delete t.properties,Object.assign(t,e.properties)),t[pc]=void 0!==e.opacity?e.opacity:1,Fs("number"==typeof t[pc],"Layer opacity must be a number"),t[hc]=void 0===e.visible||e.visible,t[_c]=e.zIndex,t[gc]=void 0!==e.maxResolution?e.maxResolution:1/0,t[mc]=void 0!==e.minResolution?e.minResolution:0,t[vc]=void 0!==e.minZoom?e.minZoom:-1/0,t[yc]=void 0!==e.maxZoom?e.maxZoom:1/0,this.className_=void 0!==t.className?t.className:"ol-layer",delete t.className,this.setProperties(t),this.state_=null}getBackground(){return this.background_}getClassName(){return this.className_}getLayerState(e){const t=this.state_||{layer:this,managed:void 0===e||e},n=this.getZIndex();return t.opacity=Qi(Math.round(100*this.getOpacity())/100,0,1),t.visible=this.getVisible(),t.extent=this.getExtent(),t.zIndex=void 0!==n||t.managed?n:1/0,t.maxResolution=this.getMaxResolution(),t.minResolution=Math.max(this.getMinResolution(),0),t.minZoom=this.getMinZoom(),t.maxZoom=this.getMaxZoom(),this.state_=t,t}getLayersArray(e){return ls()}getLayerStatesArray(e){return ls()}getExtent(){return this.get(fc)}getMaxResolution(){return this.get(gc)}getMinResolution(){return this.get(mc)}getMinZoom(){return this.get(vc)}getMaxZoom(){return this.get(yc)}getOpacity(){return this.get(pc)}getSourceState(){return ls()}getVisible(){return this.get(hc)}getZIndex(){return this.get(_c)}setBackground(e){this.background_=e,this.changed()}setExtent(e){this.set(fc,e)}setMaxResolution(e){this.set(gc,e)}setMinResolution(e){this.set(mc,e)}setMaxZoom(e){this.set(yc,e)}setMinZoom(e){this.set(vc,e)}setOpacity(e){Fs("number"==typeof e,"Layer opacity must be a number"),this.set(pc,e)}setVisible(e){this.set(hc,e)}setZIndex(e){this.set(_c,e)}disposeInternal(){this.state_&&(this.state_.layer=null,this.state_=null),super.disposeInternal()}};class wc extends ts{constructor(e,t){super(e),this.layer=t}}const kc="layers";class Cc extends xc{constructor(e){e=e||{};const t=Object.assign({},e);delete t.layers;let n=e.layers;super(t),this.on,this.once,this.un,this.layersListenerKeys_=[],this.listenerKeys_={},this.addChangeListener(kc,this.handleLayersChanged_),n?Array.isArray(n)?n=new _s(n.slice(),{unique:!0}):Fs("function"==typeof n.getArray,"Expected `layers` to be an array or a `Collection`"):n=new _s(void 0,{unique:!0}),this.setLayers(n)}handleLayerChange_(){this.changed()}handleLayersChanged_(){this.layersListenerKeys_.forEach(os),this.layersListenerKeys_.length=0;const e=this.getLayers();this.layersListenerKeys_.push(is(e,Po,this.handleLayersAdd_,this),is(e,Ro,this.handleLayersRemove_,this));for(const e in this.listenerKeys_)this.listenerKeys_[e].forEach(os);Jo(this.listenerKeys_);const t=e.getArray();for(let e=0,n=t.length;e<n;e++){const n=t[e];this.registerLayerListeners_(n),this.dispatchEvent(new wc("addlayer",n))}this.changed()}registerLayerListeners_(e){const t=[is(e,zo,this.handleLayerChange_,this),is(e,Lo,this.handleLayerChange_,this)];e instanceof Cc&&t.push(is(e,"addlayer",this.handleLayerGroupAdd_,this),is(e,"removelayer",this.handleLayerGroupRemove_,this)),this.listenerKeys_[us(e)]=t}handleLayerGroupAdd_(e){this.dispatchEvent(new wc("addlayer",e.layer))}handleLayerGroupRemove_(e){this.dispatchEvent(new wc("removelayer",e.layer))}handleLayersAdd_(e){const t=e.element;this.registerLayerListeners_(t),this.dispatchEvent(new wc("addlayer",t)),this.changed()}handleLayersRemove_(e){const t=e.element,n=us(t);this.listenerKeys_[n].forEach(os),delete this.listenerKeys_[n],this.dispatchEvent(new wc("removelayer",t)),this.changed()}getLayers(){return this.get(kc)}setLayers(e){const t=this.getLayers();if(t){const e=t.getArray();for(let t=0,n=e.length;t<n;++t)this.dispatchEvent(new wc("removelayer",e[t]))}this.set(kc,e)}getLayersArray(e){return e=void 0!==e?e:[],this.getLayers().forEach(function(t){t.getLayersArray(e)}),e}getLayerStatesArray(e){const t=void 0!==e?e:[],n=t.length;this.getLayers().forEach(function(e){e.getLayerStatesArray(t)});const i=this.getLayerState();let r=i.zIndex;e||void 0!==i.zIndex||(r=0);for(let e=n,o=t.length;e<o;e++){const n=t[e];n.opacity*=i.opacity,n.visible=n.visible&&i.visible,n.maxResolution=Math.min(n.maxResolution,i.maxResolution),n.minResolution=Math.max(n.minResolution,i.minResolution),n.minZoom=Math.max(n.minZoom,i.minZoom),n.maxZoom=Math.min(n.maxZoom,i.maxZoom),void 0!==i.extent&&(void 0!==n.extent?n.extent=Fi(n.extent,i.extent):n.extent=i.extent),void 0===n.zIndex&&(n.zIndex=r)}return t}getSourceState(){return"ready"}}const Ac=Cc,Sc="prerender",Ec="postrender",Ic="precompose",Tc="rendercomplete";function Mc(e,t){if(!e.visible)return!1;const n=t.resolution;if(n<e.minResolution||n>=e.maxResolution)return!1;const i=t.zoom;return i>e.minZoom&&i<=e.maxZoom}const Pc=class extends xc{constructor(e){const t=Object.assign({},e);delete t.source,super(t),this.on,this.once,this.un,this.mapPrecomposeKey_=null,this.mapRenderKey_=null,this.sourceChangeKey_=null,this.renderer_=null,this.sourceReady_=!1,this.rendered=!1,e.render&&(this.render=e.render),e.map&&this.setMap(e.map),this.addChangeListener(bc,this.handleSourcePropertyChange_);const n=e.source?e.source:null;this.setSource(n)}getLayersArray(e){return(e=e||[]).push(this),e}getLayerStatesArray(e){return(e=e||[]).push(this.getLayerState()),e}getSource(){return this.get(bc)||null}getRenderSource(){return this.getSource()}getSourceState(){const e=this.getSource();return e?e.getState():"undefined"}handleSourceChange_(){this.changed(),this.sourceReady_||"ready"!==this.getSource().getState()||(this.sourceReady_=!0,this.dispatchEvent("sourceready"))}handleSourcePropertyChange_(){this.sourceChangeKey_&&(os(this.sourceChangeKey_),this.sourceChangeKey_=null),this.sourceReady_=!1;const e=this.getSource();e&&(this.sourceChangeKey_=is(e,Lo,this.handleSourceChange_,this),"ready"===e.getState()&&(this.sourceReady_=!0,setTimeout(()=>{this.dispatchEvent("sourceready")},0))),this.changed()}getFeatures(e){return this.renderer_?this.renderer_.getFeatures(e):Promise.resolve([])}getData(e){return this.renderer_&&this.rendered?this.renderer_.getData(e):null}isVisible(e){let t;const n=this.getMapInternal();let i;if(!e&&n&&(e=n.getView()),t=e instanceof cl?{viewState:e.getState(),extent:e.calculateExtent()}:e,!t.layerStatesArray&&n&&(t.layerStatesArray=n.getLayerGroup().getLayerStatesArray()),t.layerStatesArray){if(i=t.layerStatesArray.find(e=>e.layer===this),!i)return!1}else i=this.getLayerState();const r=this.getExtent();return Mc(i,t.viewState)&&(!r||Bi(r,t.extent))}getAttributions(e){if(!this.isVisible(e))return[];const t=this.getSource()?.getAttributions();if(!t)return[];let n=t(e instanceof cl?e.getViewStateAndExtent():e);return Array.isArray(n)||(n=[n]),n}render(e,t){const n=this.getRenderer();return n.prepareFrame(e)?(this.rendered=!0,n.renderFrame(e,t)):null}unrender(){this.rendered=!1}getDeclutter(){}renderDeclutter(e,t){}renderDeferred(e){const t=this.getRenderer();t&&t.renderDeferred(e)}setMapInternal(e){e||this.unrender(),this.set("map",e)}getMapInternal(){return this.get("map")}setMap(e){this.mapPrecomposeKey_&&(os(this.mapPrecomposeKey_),this.mapPrecomposeKey_=null),e||this.changed(),this.mapRenderKey_&&(os(this.mapRenderKey_),this.mapRenderKey_=null),e&&(this.mapPrecomposeKey_=is(e,Ic,this.handlePrecompose_,this),this.mapRenderKey_=is(this,Lo,e.render,e),this.changed())}handlePrecompose_(e){const t=e.frameState.layerStatesArray,n=this.getLayerState(!1);Fs(!t.some(e=>e.layer===n.layer),"A layer can only be added to the map once. Use either `layer.setMap()` or `map.addLayer()`, not both."),t.push(n)}setSource(e){this.set(bc,e)}getRenderer(){return this.renderer_||(this.renderer_=this.createRenderer()),this.renderer_}hasRenderer(){return!!this.renderer_}createRenderer(){return null}clearRenderer(){this.renderer_&&(this.renderer_.dispose(),delete this.renderer_)}disposeInternal(){this.clearRenderer(),this.setSource(null),super.disposeInternal()}};function Rc(e,t,n=0,i=e.length-1,r=Lc){for(;i>n;){if(i-n>600){const o=i-n+1,s=t-n+1,a=Math.log(o),l=.5*Math.exp(2*a/3),c=.5*Math.sqrt(a*l*(o-l)/o)*(s-o/2<0?-1:1);Rc(e,t,Math.max(n,Math.floor(t-s*l/o+c)),Math.min(i,Math.floor(t+(o-s)*l/o+c)),r)}const o=e[t];let s=n,a=i;for(zc(e,n,t),r(e[i],o)>0&&zc(e,n,i);s<a;){for(zc(e,s,a),s++,a--;r(e[s],o)<0;)s++;for(;r(e[a],o)>0;)a--}0===r(e[n],o)?zc(e,n,a):(a++,zc(e,a,i)),a<=t&&(n=a+1),t<=a&&(i=a-1)}}function zc(e,t,n){const i=e[t];e[t]=e[n],e[n]=i}function Lc(e,t){return e<t?-1:e>t?1:0}class Oc{constructor(e=9){this._maxEntries=Math.max(4,e),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()}all(){return this._all(this.data,[])}search(e){let t=this.data;const n=[];if(!$c(e,t))return n;const i=this.toBBox,r=[];for(;t;){for(let o=0;o<t.children.length;o++){const s=t.children[o],a=t.leaf?i(s):s;$c(e,a)&&(t.leaf?n.push(s):Uc(e,a)?this._all(s,n):r.push(s))}t=r.pop()}return n}collides(e){let t=this.data;if(!$c(e,t))return!1;const n=[];for(;t;){for(let i=0;i<t.children.length;i++){const r=t.children[i],o=t.leaf?this.toBBox(r):r;if($c(e,o)){if(t.leaf||Uc(e,o))return!0;n.push(r)}}t=n.pop()}return!1}load(e){if(!e||!e.length)return this;if(e.length<this._minEntries){for(let t=0;t<e.length;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this.data.children.length)if(this.data.height===t.height)this._splitRoot(this.data,t);else{if(this.data.height<t.height){const e=this.data;this.data=t,t=e}this._insert(t,this.data.height-t.height-1,!0)}else this.data=t;return this}insert(e){return e&&this._insert(e,this.data.height-1),this}clear(){return this.data=Kc([]),this}remove(e,t){if(!e)return this;let n=this.data;const i=this.toBBox(e),r=[],o=[];let s,a,l;for(;n||r.length;){if(n||(n=r.pop(),a=r[r.length-1],s=o.pop(),l=!0),n.leaf){const i=Fc(e,n.children,t);if(-1!==i)return n.children.splice(i,1),r.push(n),this._condense(r),this}l||n.leaf||!Uc(n,i)?a?(s++,n=a.children[s],l=!1):n=null:(r.push(n),o.push(s),s=0,a=n,n=n.children[0])}return this}toBBox(e){return e}compareMinX(e,t){return e.minX-t.minX}compareMinY(e,t){return e.minY-t.minY}toJSON(){return this.data}fromJSON(e){return this.data=e,this}_all(e,t){const n=[];for(;e;)e.leaf?t.push(...e.children):n.push(...e.children),e=n.pop();return t}_build(e,t,n,i){const r=n-t+1;let o,s=this._maxEntries;if(r<=s)return o=Kc(e.slice(t,n+1)),jc(o,this.toBBox),o;i||(i=Math.ceil(Math.log(r)/Math.log(s)),s=Math.ceil(r/Math.pow(s,i-1))),o=Kc([]),o.leaf=!1,o.height=i;const a=Math.ceil(r/s),l=a*Math.ceil(Math.sqrt(s));Xc(e,t,n,l,this.compareMinX);for(let r=t;r<=n;r+=l){const t=Math.min(r+l-1,n);Xc(e,r,t,a,this.compareMinY);for(let n=r;n<=t;n+=a){const r=Math.min(n+a-1,t);o.children.push(this._build(e,n,r,i-1))}}return jc(o,this.toBBox),o}_chooseSubtree(e,t,n,i){for(;i.push(t),!t.leaf&&i.length-1!==n;){let n,i=1/0,r=1/0;for(let o=0;o<t.children.length;o++){const s=t.children[o],a=Gc(s),l=Wc(e,s)-a;l<r?(r=l,i=a<i?a:i,n=s):l===r&&a<i&&(i=a,n=s)}t=n||t.children[0]}return t}_insert(e,t,n){const i=n?e:this.toBBox(e),r=[],o=this._chooseSubtree(i,this.data,t,r);for(o.children.push(e),Nc(o,i);t>=0&&r[t].children.length>this._maxEntries;)this._split(r,t),t--;this._adjustParentBBoxes(i,r,t)}_split(e,t){const n=e[t],i=n.children.length,r=this._minEntries;this._chooseSplitAxis(n,r,i);const o=this._chooseSplitIndex(n,r,i),s=Kc(n.children.splice(o,n.children.length-o));s.height=n.height,s.leaf=n.leaf,jc(n,this.toBBox),jc(s,this.toBBox),t?e[t-1].children.push(s):this._splitRoot(n,s)}_splitRoot(e,t){this.data=Kc([e,t]),this.data.height=e.height+1,this.data.leaf=!1,jc(this.data,this.toBBox)}_chooseSplitIndex(e,t,n){let i,r=1/0,o=1/0;for(let s=t;s<=n-t;s++){const t=Dc(e,0,s,this.toBBox),a=Dc(e,s,n,this.toBBox),l=Hc(t,a),c=Gc(t)+Gc(a);l<r?(r=l,i=s,o=c<o?c:o):l===r&&c<o&&(o=c,i=s)}return i||n-t}_chooseSplitAxis(e,t,n){const i=e.leaf?this.compareMinX:Bc,r=e.leaf?this.compareMinY:qc;this._allDistMargin(e,t,n,i)<this._allDistMargin(e,t,n,r)&&e.children.sort(i)}_allDistMargin(e,t,n,i){e.children.sort(i);const r=this.toBBox,o=Dc(e,0,t,r),s=Dc(e,n-t,n,r);let a=Vc(o)+Vc(s);for(let i=t;i<n-t;i++){const t=e.children[i];Nc(o,e.leaf?r(t):t),a+=Vc(o)}for(let i=n-t-1;i>=t;i--){const t=e.children[i];Nc(s,e.leaf?r(t):t),a+=Vc(s)}return a}_adjustParentBBoxes(e,t,n){for(let i=n;i>=0;i--)Nc(t[i],e)}_condense(e){for(let t,n=e.length-1;n>=0;n--)0===e[n].children.length?n>0?(t=e[n-1].children,t.splice(t.indexOf(e[n]),1)):this.clear():jc(e[n],this.toBBox)}}function Fc(e,t,n){if(!n)return t.indexOf(e);for(let i=0;i<t.length;i++)if(n(e,t[i]))return i;return-1}function jc(e,t){Dc(e,0,e.children.length,t,e)}function Dc(e,t,n,i,r){r||(r=Kc(null)),r.minX=1/0,r.minY=1/0,r.maxX=-1/0,r.maxY=-1/0;for(let o=t;o<n;o++){const t=e.children[o];Nc(r,e.leaf?i(t):t)}return r}function Nc(e,t){return e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY),e}function Bc(e,t){return e.minX-t.minX}function qc(e,t){return e.minY-t.minY}function Gc(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function Vc(e){return e.maxX-e.minX+(e.maxY-e.minY)}function Wc(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function Hc(e,t){const n=Math.max(e.minX,t.minX),i=Math.max(e.minY,t.minY),r=Math.min(e.maxX,t.maxX),o=Math.min(e.maxY,t.maxY);return Math.max(0,r-n)*Math.max(0,o-i)}function Uc(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function $c(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function Kc(e){return{children:e,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function Xc(e,t,n,i,r){const o=[t,n];for(;o.length;){if((n=o.pop())-(t=o.pop())<=i)continue;const s=t+Math.ceil((n-t)/i/2)*i;Rc(e,s,t,n,r),o.push(t,s,s,n)}}const Zc=[NaN,NaN,NaN,0];let Yc;const Qc=/^rgba?\(\s*(\d+%?)\s+(\d+%?)\s+(\d+%?)(?:\s*\/\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,Jc=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,eu=/^rgba?\(\s*(\d+%)\s*,\s*(\d+%)\s*,\s*(\d+%)(?:\s*,\s*(\d+%|\d*\.\d+|[01]))?\s*\)$/i,tu=/^#([\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$/i;function nu(e,t){return e.endsWith("%")?Number(e.substring(0,e.length-1))/t:Number(e)}function iu(e){throw new Error('failed to parse "'+e+'" as color')}function ru(e){if(e.toLowerCase().startsWith("rgb")){const t=e.match(Jc)||e.match(Qc)||e.match(eu);if(t){const e=t[4],n=100/255;return[Qi(nu(t[1],n)+.5|0,0,255),Qi(nu(t[2],n)+.5|0,0,255),Qi(nu(t[3],n)+.5|0,0,255),void 0!==e?Qi(nu(e,100),0,1):1]}iu(e)}if(e.startsWith("#")){if(tu.test(e)){const t=e.substring(1),n=t.length<=4?1:2,i=[0,0,0,255];for(let e=0,r=t.length;e<r;e+=n){let r=parseInt(t.substring(e,e+n),16);1===n&&(r+=r<<4),i[e/n]=r}return i[3]=i[3]/255,i}iu(e)}const t=(Yc||(Yc=yl(1,1,void 0,{willReadFrequently:!0,desynchronized:!0})),Yc);t.fillStyle="#abcdef";let n=t.fillStyle;t.fillStyle=e,t.fillStyle===n&&(t.fillStyle="#fedcba",n=t.fillStyle,t.fillStyle=e,t.fillStyle===n&&iu(e));const i=t.fillStyle;if(i.startsWith("#")||i.startsWith("rgba"))return ru(i);t.clearRect(0,0,1,1),t.fillRect(0,0,1,1);const r=Array.from(t.getImageData(0,0,1,1).data);return r[3]=or(r[3]/255,3),r}const ou={};let su=0;function au(e){if(4===e.length)return e;const t=e.slice();return t[3]=1,t}function lu(e){return e>.0031308?269.025*Math.pow(e,1/2.4)-14.025:3294.6*e}function cu(e){return e>.2068965?Math.pow(e,3):108/841*(e-4/29)}function uu(e){return e>10.314724?Math.pow((e+14.025)/269.025,2.4):e/3294.6}function du(e){return e>.0088564?Math.pow(e,1/3):e/(108/841)+4/29}function pu(e){const t=uu(e[0]),n=uu(e[1]),i=uu(e[2]),r=du(.222488403*t+.716873169*n+.06060791*i),o=500*(du(.452247074*t+.399439023*n+.148375274*i)-r),s=200*(r-du(.016863605*t+.117638439*n+.865350722*i)),a=Math.atan2(s,o)*(180/Math.PI);return[116*r-16,Math.sqrt(o*o+s*s),a<0?a+360:a,e[3]]}function hu(e){if("none"===e)return Zc;if(ou.hasOwnProperty(e))return ou[e];if(su>=1024){let e=0;for(const t in ou)3&e++||(delete ou[t],--su)}const t=ru(e);4!==t.length&&iu(e);for(const n of t)isNaN(n)&&iu(e);return ou[e]=t,++su,t}function fu(e){return Array.isArray(e)?e:hu(e)}function _u(e){let t=e[0];t!=(0|t)&&(t=t+.5|0);let n=e[1];n!=(0|n)&&(n=n+.5|0);let i=e[2];return i!=(0|i)&&(i=i+.5|0),"rgba("+t+","+n+","+i+","+(void 0===e[3]?1:Math.round(1e3*e[3])/1e3)+")"}function gu(e){return e[0]>0&&e[1]>0}function mu(e,t){return Array.isArray(e)?e:(void 0===t?t=[e,e]:(t[0]=e,t[1]=e),t)}let yu=0;const vu=1<<yu++,bu=1<<yu++,xu=1<<yu++,wu=1<<yu++,ku=1<<yu++,Cu=1<<yu++,Au=Math.pow(2,6)-1,Su={[vu]:"boolean",[bu]:"number",[xu]:"string",[wu]:"color",[ku]:"number[]",[Cu]:"size"},Eu=Object.keys(Su).map(Number).sort(Go);function Iu(e){const t=[];for(const n of Eu)Tu(e,n)&&t.push(Su[n]);return 0===t.length?"untyped":t.length<3?t.join(" or "):t.slice(0,-1).join(", ")+", or "+t[t.length-1]}function Tu(e,t){return(e&t)===t}function Mu(e,t){return e===t}class Pu{constructor(e,t){if(!function(e){return e in Su}(e))throw new Error(`literal expressions must have a specific type, got ${Iu(e)}`);this.type=e,this.value=t}}class Ru{constructor(e,t,...n){this.type=e,this.operator=t,this.args=n}}function zu(){return{variables:new Set,properties:new Set,featureId:!1,geometryType:!1,mapState:!1}}function Lu(e,t,n){switch(typeof e){case"boolean":if(Mu(t,xu))return new Pu(xu,e?"true":"false");if(!Tu(t,vu))throw new Error(`got a boolean, but expected ${Iu(t)}`);return new Pu(vu,e);case"number":if(Mu(t,Cu))return new Pu(Cu,mu(e));if(Mu(t,vu))return new Pu(vu,!!e);if(Mu(t,xu))return new Pu(xu,e.toString());if(!Tu(t,bu))throw new Error(`got a number, but expected ${Iu(t)}`);return new Pu(bu,e);case"string":if(Mu(t,wu))return new Pu(wu,hu(e));if(Mu(t,vu))return new Pu(vu,!!e);if(!Tu(t,xu))throw new Error(`got a string, but expected ${Iu(t)}`);return new Pu(xu,e)}if(!Array.isArray(e))throw new Error("expression must be an array or a primitive value");if(0===e.length)throw new Error("empty expression");if("string"==typeof e[0])return function(e,t,n){const i=e[0],r=Id[i];if(!r)throw new Error(`unknown operator: ${i}`);return r(e,t,n)}(e,t,n);for(const t of e)if("number"!=typeof t)throw new Error("expected an array of numbers");if(Mu(t,Cu)){if(2!==e.length)throw new Error(`expected an array of two values for a size, got ${e.length}`);return new Pu(Cu,e)}if(Mu(t,wu)){if(3===e.length)return new Pu(wu,[...e,1]);if(4===e.length)return new Pu(wu,e);throw new Error(`expected an array of 3 or 4 values for a color, got ${e.length}`)}if(!Tu(t,ku))throw new Error(`got an array of numbers, but expected ${Iu(t)}`);return new Pu(ku,e)}const Ou="get",Fu="var",ju="concat",Du="geometry-type",Nu="line-metric",Bu="any",qu="all",Gu="!",Vu="resolution",Wu="zoom",Hu="time",Uu="==",$u="!=",Ku=">",Xu=">=",Zu="<",Yu="<=",Qu="*",Ju="/",ed="+",td="-",nd="clamp",id="%",rd="^",od="abs",sd="floor",ad="ceil",ld="round",cd="sin",ud="cos",dd="atan",pd="sqrt",hd="match",fd="between",_d="interpolate",gd="coalesce",md="case",yd="in",vd="number",bd="string",xd="array",wd="color",kd="id",Cd="band",Ad="palette",Sd="to-string",Ed="has",Id={[Ou]:Fd(Rd(1,1/0),Td),[Fu]:Fd(Rd(1,1),function(e,t,n){const i=e[1];if("string"!=typeof i)throw new Error("expected a string argument for var operation");return n.variables.add(i),[new Pu(xu,i)]}),[Ed]:Fd(Rd(1,1/0),Td),[kd]:Fd(function(e,t,n){n.featureId=!0},Pd),[ju]:Fd(Rd(2,1/0),Ld(xu)),[Du]:Fd(function(e,t,n){n.geometryType=!0},Pd),[Nu]:Fd(Pd),[Vu]:Fd(Md,Pd),[Wu]:Fd(Md,Pd),[Hu]:Fd(Md,Pd),[Bu]:Fd(Rd(2,1/0),Ld(vu)),[qu]:Fd(Rd(2,1/0),Ld(vu)),[Gu]:Fd(Rd(1,1),Ld(vu)),[Uu]:Fd(Rd(2,2),Ld(Au)),[$u]:Fd(Rd(2,2),Ld(Au)),[Ku]:Fd(Rd(2,2),Ld(bu)),[Xu]:Fd(Rd(2,2),Ld(bu)),[Zu]:Fd(Rd(2,2),Ld(bu)),[Yu]:Fd(Rd(2,2),Ld(bu)),[Qu]:Fd(Rd(2,1/0),zd),[gd]:Fd(Rd(2,1/0),zd),[Ju]:Fd(Rd(2,2),Ld(bu)),[ed]:Fd(Rd(2,1/0),Ld(bu)),[td]:Fd(Rd(2,2),Ld(bu)),[nd]:Fd(Rd(3,3),Ld(bu)),[id]:Fd(Rd(2,2),Ld(bu)),[rd]:Fd(Rd(2,2),Ld(bu)),[od]:Fd(Rd(1,1),Ld(bu)),[sd]:Fd(Rd(1,1),Ld(bu)),[ad]:Fd(Rd(1,1),Ld(bu)),[ld]:Fd(Rd(1,1),Ld(bu)),[cd]:Fd(Rd(1,1),Ld(bu)),[ud]:Fd(Rd(1,1),Ld(bu)),[dd]:Fd(Rd(1,2),Ld(bu)),[pd]:Fd(Rd(1,1),Ld(bu)),[hd]:Fd(Rd(4,1/0),Od,function(e,t,n){const i=e.length-1,r=xu|bu|vu,o=Lu(e[1],r,n),s=Lu(e[e.length-1],t,n),a=new Array(i-2);for(let t=0;t<i-2;t+=2){try{const i=Lu(e[t+2],o.type,n);a[t]=i}catch(e){throw new Error(`failed to parse argument ${t+1} of match expression: ${e.message}`)}try{const i=Lu(e[t+3],s.type,n);a[t+1]=i}catch(e){throw new Error(`failed to parse argument ${t+2} of match expression: ${e.message}`)}}return[o,...a,s]}),[fd]:Fd(Rd(3,3),Ld(bu)),[_d]:Fd(Rd(6,1/0),Od,function(e,t,n){const i=e[1];let r;switch(i[0]){case"linear":r=1;break;case"exponential":const e=i[1];if("number"!=typeof e||e<=0)throw new Error(`expected a number base for exponential interpolation, got ${JSON.stringify(e)} instead`);r=e;break;default:throw new Error(`invalid interpolation type: ${JSON.stringify(i)}`)}const o=new Pu(bu,r);let s;try{s=Lu(e[2],bu,n)}catch(e){throw new Error(`failed to parse argument 1 in interpolate expression: ${e.message}`)}const a=new Array(e.length-3);for(let i=0;i<a.length;i+=2){try{const t=Lu(e[i+3],bu,n);a[i]=t}catch(e){throw new Error(`failed to parse argument ${i+2} for interpolate expression: ${e.message}`)}try{const r=Lu(e[i+4],t,n);a[i+1]=r}catch(e){throw new Error(`failed to parse argument ${i+3} for interpolate expression: ${e.message}`)}}return[o,s,...a]}),[md]:Fd(Rd(3,1/0),function(e,t,n){const i=e[0],r=e.length-1;if(r%2==0)throw new Error(`expected an odd number of arguments for ${i}, got ${r} instead`)},function(e,t,n){const i=Lu(e[e.length-1],t,n),r=new Array(e.length-1);for(let t=0;t<r.length-1;t+=2){try{const i=Lu(e[t+1],vu,n);r[t]=i}catch(e){throw new Error(`failed to parse argument ${t} of case expression: ${e.message}`)}try{const o=Lu(e[t+2],i.type,n);r[t+1]=o}catch(e){throw new Error(`failed to parse argument ${t+1} of case expression: ${e.message}`)}}return r[r.length-1]=i,r}),[yd]:Fd(Rd(2,2),function(e,t,n){let i,r=e[2];if(!Array.isArray(r))throw new Error('the second argument for the "in" operator must be an array');if("string"==typeof r[0]){if("literal"!==r[0])throw new Error('for the "in" operator, a string array should be wrapped in a "literal" operator to disambiguate from expressions');if(!Array.isArray(r[1]))throw new Error('failed to parse "in" expression: the literal operator must be followed by an array');r=r[1],i=xu}else i=bu;const o=new Array(r.length);for(let e=0;e<o.length;e++)try{const t=Lu(r[e],i,n);o[e]=t}catch(t){throw new Error(`failed to parse haystack item ${e} for "in" expression: ${t.message}`)}return[Lu(e[1],i,n),...o]}),[vd]:Fd(Rd(1,1/0),Ld(Au)),[bd]:Fd(Rd(1,1/0),Ld(Au)),[xd]:Fd(Rd(1,1/0),Ld(bu)),[wd]:Fd(Rd(1,4),Ld(bu)),[Cd]:Fd(Rd(1,3),Ld(bu)),[Ad]:Fd(Rd(2,2),function(e,t,n){let i;try{i=Lu(e[1],bu,n)}catch(e){throw new Error(`failed to parse first argument in palette expression: ${e.message}`)}const r=e[2];if(!Array.isArray(r))throw new Error("the second argument of palette must be an array");const o=new Array(r.length);for(let e=0;e<o.length;e++){let t;try{t=Lu(r[e],wu,n)}catch(t){throw new Error(`failed to parse color at index ${e} in palette expression: ${t.message}`)}if(!(t instanceof Pu))throw new Error(`the palette color at index ${e} must be a literal value`);o[e]=t}return[i,...o]}),[Sd]:Fd(Rd(1,1),Ld(vu|bu|xu|wu))};function Td(e,t,n){const i=e.length-1,r=new Array(i);for(let t=0;t<i;++t){const i=e[t+1];switch(typeof i){case"number":r[t]=new Pu(bu,i);break;case"string":r[t]=new Pu(xu,i);break;default:throw new Error(`expected a string key or numeric array index for a get operation, got ${i}`)}0===t&&n.properties.add(String(i))}return r}function Md(e,t,n){n.mapState=!0}function Pd(e,t,n){const i=e[0];if(1!==e.length)throw new Error(`expected no arguments for ${i} operation`);return[]}function Rd(e,t){return function(n,i,r){const o=n[0],s=n.length-1;if(e===t){if(s!==e)throw new Error(`expected ${e} argument${1===e?"":"s"} for ${o}, got ${s}`)}else if(s<e||s>t)throw new Error(`expected ${t===1/0?`${e} or more`:`${e} to ${t}`} arguments for ${o}, got ${s}`)}}function zd(e,t,n){const i=e.length-1,r=new Array(i);for(let o=0;o<i;++o){const i=Lu(e[o+1],t,n);r[o]=i}return r}function Ld(e){return function(t,n,i){const r=t.length-1,o=new Array(r);for(let n=0;n<r;++n){const r=Lu(t[n+1],e,i);o[n]=r}return o}}function Od(e,t,n){const i=e[0],r=e.length-1;if(r%2==1)throw new Error(`expected an even number of arguments for operation ${i}, got ${r} instead`)}function Fd(...e){return function(t,n,i){const r=t[0];let o;for(let r=0;r<e.length;r++){const s=e[r](t,n,i);if(r==e.length-1){if(!s)throw new Error("expected last argument validator to return the parsed args");o=s}}return new Ru(n,r,...o)}}function jd(e){if(!e)return"";const t=e.getType();switch(t){case"Point":case"LineString":case"Polygon":return t;case"MultiPoint":case"MultiLineString":case"MultiPolygon":return t.substring(5);case"Circle":return"Polygon";case"GeometryCollection":return jd(e.getGeometries()[0]);default:return""}}function Dd(e,t,n){return Nd(Lu(e,t,n),n)}function Nd(e,t){if(e instanceof Pu){if(e.type===wu&&"string"==typeof e.value){const t=hu(e.value);return function(){return t}}return function(){return e.value}}const n=e.operator;switch(n){case vd:case bd:case gd:return function(e,t){const n=e.operator,i=e.args.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=Nd(e.args[n],t);switch(n){case gd:return e=>{for(let t=0;t<i;++t){const n=r[t](e);if(null!=n)return n}throw new Error("Expected one of the values to be non-null")};case vd:case bd:return e=>{for(let t=0;t<i;++t){const i=r[t](e);if(typeof i===n)return i}throw new Error(`Expected one of the values to be a ${n}`)};default:throw new Error(`Unsupported assertion operator ${n}`)}}(e,t);case Ou:case Fu:case Ed:return function(e){const t=e.args[0].value;switch(e.operator){case Ou:return n=>{const i=e.args;let r=n.properties[t];for(let e=1,t=i.length;e<t;++e)r=r[i[e].value];return r};case Fu:return e=>e.variables[t];case Ed:return n=>{const i=e.args;if(!(t in n.properties))return!1;let r=n.properties[t];for(let e=1,t=i.length;e<t;++e){const t=i[e].value;if(!r||!Object.hasOwn(r,t))return!1;r=r[t]}return!0};default:throw new Error(`Unsupported accessor operator ${e.operator}`)}}(e);case"id":return e=>e.featureId;case Du:return e=>e.geometryType;case ju:{const n=e.args.map(e=>Nd(e,t));return e=>"".concat(...n.map(t=>t(e).toString()))}case Vu:return e=>e.resolution;case Bu:case qu:case fd:case yd:case"!":return function(e,t){const n=e.operator,i=e.args.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=Nd(e.args[n],t);switch(n){case Bu:return e=>{for(let t=0;t<i;++t)if(r[t](e))return!0;return!1};case qu:return e=>{for(let t=0;t<i;++t)if(!r[t](e))return!1;return!0};case fd:return e=>{const t=r[0](e),n=r[1](e),i=r[2](e);return t>=n&&t<=i};case yd:return e=>{const t=r[0](e);for(let n=1;n<i;++n)if(t===r[n](e))return!0;return!1};case"!":return e=>!r[0](e);default:throw new Error(`Unsupported logical operator ${n}`)}}(e,t);case Uu:case $u:case"<":case Yu:case">":case Xu:return function(e,t){const n=e.operator,i=Nd(e.args[0],t),r=Nd(e.args[1],t);switch(n){case Uu:return e=>i(e)===r(e);case $u:return e=>i(e)!==r(e);case"<":return e=>i(e)<r(e);case Yu:return e=>i(e)<=r(e);case">":return e=>i(e)>r(e);case Xu:return e=>i(e)>=r(e);default:throw new Error(`Unsupported comparison operator ${n}`)}}(e,t);case"*":case"/":case"+":case"-":case nd:case"%":case"^":case od:case sd:case ad:case ld:case cd:case ud:case dd:case pd:return function(e,t){const n=e.operator,i=e.args.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=Nd(e.args[n],t);switch(n){case"*":return e=>{let t=1;for(let n=0;n<i;++n)t*=r[n](e);return t};case"/":return e=>r[0](e)/r[1](e);case"+":return e=>{let t=0;for(let n=0;n<i;++n)t+=r[n](e);return t};case"-":return e=>r[0](e)-r[1](e);case nd:return e=>{const t=r[0](e),n=r[1](e);if(t<n)return n;const i=r[2](e);return t>i?i:t};case"%":return e=>r[0](e)%r[1](e);case"^":return e=>Math.pow(r[0](e),r[1](e));case od:return e=>Math.abs(r[0](e));case sd:return e=>Math.floor(r[0](e));case ad:return e=>Math.ceil(r[0](e));case ld:return e=>Math.round(r[0](e));case cd:return e=>Math.sin(r[0](e));case ud:return e=>Math.cos(r[0](e));case dd:return 2===i?e=>Math.atan2(r[0](e),r[1](e)):e=>Math.atan(r[0](e));case pd:return e=>Math.sqrt(r[0](e));default:throw new Error(`Unsupported numeric operator ${n}`)}}(e,t);case md:return function(e,t){const n=e.args.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=Nd(e.args[r],t);return e=>{for(let t=0;t<n-1;t+=2)if(i[t](e))return i[t+1](e);return i[n-1](e)}}(e,t);case hd:return function(e,t){const n=e.args.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=Nd(e.args[r],t);return e=>{const t=i[0](e);for(let r=1;r<n-1;r+=2)if(t===i[r](e))return i[r+1](e);return i[n-1](e)}}(e,t);case _d:return function(e,t){const n=e.args.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=Nd(e.args[r],t);return e=>{const t=i[0](e),r=i[1](e);let o,s;for(let a=2;a<n;a+=2){const n=i[a](e);let l=i[a+1](e);const c=Array.isArray(l);if(c&&(l=au(l)),n>=r)return 2===a?l:c?qd(t,r,o,s,n,l):Bd(t,r,o,s,n,l);o=n,s=l}return s}}(e,t);case Sd:return function(e,t){const n=e.operator,i=e.args.length,r=new Array(i);for(let n=0;n<i;++n)r[n]=Nd(e.args[n],t);if(n===Sd)return t=>{const n=r[0](t);return e.args[0].type===wu?_u(n):n.toString()};throw new Error(`Unsupported convert operator ${n}`)}(e,t);default:throw new Error(`Unsupported operator ${n}`)}}function Bd(e,t,n,i,r,o){const s=r-n;if(0===s)return i;const a=t-n;return i+(1===e?a/s:(Math.pow(e,a)-1)/(Math.pow(e,s)-1))*(o-i)}function qd(e,t,n,i,r,o){if(0===r-n)return i;const s=pu(i),a=pu(o);let l=a[2]-s[2];return l>180?l-=360:l<-180&&(l+=360),function(e){const t=(e[0]+16)/116,n=e[1],i=e[2]*Math.PI/180,r=cu(t),o=cu(t+n/500*Math.cos(i)),s=cu(t-n/200*Math.sin(i)),a=lu(3.021973625*o-1.617392459*r-.404875592*s),l=lu(-.943766287*o+1.916279586*r+.027607165*s),c=lu(.069407491*o-.22898585*r+1.159737864*s);return[Qi(a+.5|0,0,255),Qi(l+.5|0,0,255),Qi(c+.5|0,0,255),e[3]]}([Bd(e,t,n,s[0],r,a[0]),Bd(e,t,n,s[1],r,a[1]),s[2]+Bd(e,t,n,0,r,l),Bd(e,t,n,i[3],r,o[3])])}const Gd=class extends ns{constructor(e,t,n,i){super(),this.extent=e,this.pixelRatio_=n,this.resolution=t,this.state="function"==typeof i?0:i,this.image_=null,this.loader="function"==typeof i?i:null}changed(){this.dispatchEvent(Lo)}getExtent(){return this.extent}getImage(){return this.image_}getPixelRatio(){return this.pixelRatio_}getResolution(){return this.resolution}getState(){return this.state}load(){if(0==this.state&&this.loader){this.state=1,this.changed();const e=this.getResolution(),t=Array.isArray(e)?e[0]:e;Qo(()=>this.loader(this.getExtent(),t,this.getPixelRatio())).then(e=>{"image"in e&&(this.image_=e.image),"extent"in e&&(this.extent=e.extent),"resolution"in e&&(this.resolution=e.resolution),"pixelRatio"in e&&(this.pixelRatio_=e.pixelRatio),(e instanceof HTMLImageElement||As&&e instanceof ImageBitmap||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement)&&(this.image_=e),this.state=2}).catch(e=>{this.state=3,console.error(e)}).finally(()=>this.changed())}}setImage(e){this.image_=e}setResolution(e){this.resolution=e}};function Vd(e,t,n){return t+":"+e+":"+(n?fu(n):"null")}const Wd=new class{constructor(){this.cache_={},this.patternCache_={},this.cacheSize_=0,this.maxCacheSize_=1024}clear(){this.cache_={},this.patternCache_={},this.cacheSize_=0}canExpireCache(){return this.cacheSize_>this.maxCacheSize_}expire(){if(this.canExpireCache()){let e=0;for(const t in this.cache_){const n=this.cache_[t];3&e++||n.hasListener()||(delete this.cache_[t],delete this.patternCache_[t],--this.cacheSize_)}}}get(e,t,n){const i=Vd(e,t,n);return i in this.cache_?this.cache_[i]:null}getPattern(e,t,n){const i=Vd(e,t,n);return i in this.patternCache_?this.patternCache_[i]:null}set(e,t,n,i,r){const o=Vd(e,t,n),s=o in this.cache_;this.cache_[o]=i,r&&(0===i.getImageState()&&i.load(),1===i.getImageState()?i.ready().then(()=>{this.patternCache_[o]=bl().createPattern(i.getImage(1),"repeat")}):this.patternCache_[o]=bl().createPattern(i.getImage(1),"repeat")),s||++this.cacheSize_}setSize(e){this.maxCacheSize_=e,this.expire()}};let Hd=null;class Ud extends ns{constructor(e,t,n,i,r){super(),this.hitDetectionImage_=null,this.image_=e,this.crossOrigin_=n,this.canvas_={},this.color_=r,this.imageState_=void 0===i?0:i,this.size_=e&&e.width&&e.height?[e.width,e.height]:null,this.src_=t,this.tainted_,this.ready_=null}initializeImage_(){this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)}isTainted_(){if(void 0===this.tainted_&&2===this.imageState_){Hd||(Hd=yl(1,1,void 0,{willReadFrequently:!0})),Hd.drawImage(this.image_,0,0);try{Hd.getImageData(0,0,1,1),this.tainted_=!1}catch{Hd=null,this.tainted_=!0}}return!0===this.tainted_}dispatchChangeEvent_(){this.dispatchEvent(Lo)}handleImageError_(){this.imageState_=3,this.dispatchChangeEvent_()}handleImageLoad_(){this.imageState_=2,this.size_=[this.image_.width,this.image_.height],this.dispatchChangeEvent_()}getImage(e){return this.image_||this.initializeImage_(),this.replaceColor_(e),this.canvas_[e]?this.canvas_[e]:this.image_}getPixelRatio(e){return this.replaceColor_(e),this.canvas_[e]?e:1}getImageState(){return this.imageState_}getHitDetectionImage(){if(this.image_||this.initializeImage_(),!this.hitDetectionImage_)if(this.isTainted_()){const e=this.size_[0],t=this.size_[1],n=yl(e,t);n.fillRect(0,0,e,t),this.hitDetectionImage_=n.canvas}else this.hitDetectionImage_=this.image_;return this.hitDetectionImage_}getSize(){return this.size_}getSrc(){return this.src_}load(){if(0===this.imageState_){this.image_||this.initializeImage_(),this.imageState_=1;try{void 0!==this.src_&&(this.image_.src=this.src_)}catch{this.handleImageError_()}this.image_ instanceof HTMLImageElement&&(e=this.image_,t=this.src_,t&&(e.src=t),e.src&&Cs?new Promise((t,n)=>e.decode().then(()=>t(e)).catch(i=>e.complete&&e.width?t(e):n(i))):function(e){return new Promise((t,n)=>{function i(){o(),t(e)}function r(){o(),n(new Error("Image load error"))}function o(){e.removeEventListener("load",i),e.removeEventListener("error",r)}e.addEventListener("load",i),e.addEventListener("error",r)})}(e)).then(e=>{this.image_=e,this.handleImageLoad_()}).catch(this.handleImageError_.bind(this))}var e,t}replaceColor_(e){if(!this.color_||this.canvas_[e]||2!==this.imageState_)return;const t=this.image_,n=yl(Math.ceil(t.width*e),Math.ceil(t.height*e)),i=n.canvas;var r;n.scale(e,e),n.drawImage(t,0,0),n.globalCompositeOperation="multiply",n.fillStyle="string"==typeof(r=this.color_)?r:_u(r),n.fillRect(0,0,i.width/e,i.height/e),n.globalCompositeOperation="destination-in",n.drawImage(t,0,0),this.canvas_[e]=i}ready(){return this.ready_||(this.ready_=new Promise(e=>{if(2===this.imageState_||3===this.imageState_)e();else{const t=()=>{2!==this.imageState_&&3!==this.imageState_||(this.removeEventListener(Lo,t),e())};this.addEventListener(Lo,t)}})),this.ready_}}function $d(e,t,n,i,r,o){let s=void 0===t?void 0:Wd.get(t,n,r);return s||(s=new Ud(e,e&&"src"in e?e.src||void 0:t,n,i,r),Wd.set(t,n,r,s,o)),o&&s&&!Wd.getPattern(t,n,r)&&Wd.set(t,n,r,s,o),s}const Kd=Ud;function Xd(e){return e?Array.isArray(e)?_u(e):"object"==typeof e&&"src"in e?function(e){if(!e.offset||!e.size)return Wd.getPattern(e.src,"anonymous",e.color);const t=e.src+":"+e.offset,n=Wd.getPattern(t,void 0,e.color);if(n)return n;const i=Wd.get(e.src,"anonymous",null);if(2!==i.getImageState())return null;const r=yl(e.size[0],e.size[1]);return r.drawImage(i.getImage(1),e.offset[0],e.offset[1],e.size[0],e.size[1],0,0,e.size[0],e.size[1]),$d(r.canvas,t,void 0,2,e.color,!0),Wd.getPattern(t,void 0,e.color)}(e):e:null}const Zd="10px sans-serif",Yd="#000",Qd="round",Jd=[],ep="round",tp="#000",np="center",ip="middle",rp=[0,0,0,0],op=new ps;let sp,ap=null;const lp={},cp=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","emoji","math","fangsong"]);function up(e,t,n){return`${e} ${t} 16px "${n}"`}const dp=function(){const e=100;let t,n;async function i(e){await n.ready;const t=await n.load(e);if(0===t.length)return!1;const i=ml(e),r=i.families[0].toLowerCase(),o=i.weight;return t.some(e=>{const t=e.family.replace(/^['"]|['"]$/g,"").toLowerCase(),n=gl[e.weight]||e.weight;return t===r&&e.style===i.style&&n==o})}async function r(){await n.ready;let o=!0;const s=op.getProperties(),a=Object.keys(s).filter(t=>s[t]<e);for(let t=a.length-1;t>=0;--t){const n=a[t];let r=s[n];r<e&&(await i(n)?(Jo(lp),op.set(n,e)):(r+=10,op.set(n,r,!0),r<e&&(o=!1)))}t=void 0,o||(t=setTimeout(r,100))}return async function(e){n||(n=ks?self.fonts:document.fonts);const i=ml(e);if(!i)return;const o=i.families;let s=!1;for(const e of o){if(cp.has(e))continue;const t=up(i.style,i.weight,e);void 0===op.get(t)&&(op.set(t,0,!0),s=!0)}s&&(clearTimeout(t),t=setTimeout(r,100))}}(),pp=function(){let e;return function(t){let n=lp[t];if(null==n){if(ks){const e=ml(t),i=hp(t,"Žg");n=(isNaN(Number(e.lineHeight))?1.2:Number(e.lineHeight))*(i.actualBoundingBoxAscent+i.actualBoundingBoxDescent)}else e||(e=document.createElement("div"),e.innerHTML="M",e.style.minHeight="0",e.style.maxHeight="none",e.style.height="auto",e.style.padding="0",e.style.border="none",e.style.position="absolute",e.style.display="block",e.style.left="-99999px"),e.style.font=t,document.body.appendChild(e),n=e.offsetHeight,document.body.removeChild(e);lp[t]=n}return n}}();function hp(e,t){return ap||(ap=yl(1,1)),e!=sp&&(ap.font=e,sp=ap.font),ap.measureText(t)}function fp(e,t){return hp(e,t).width}function _p(e,t,n){if(t in n)return n[t];const i=t.split("\n").reduce((t,n)=>Math.max(t,fp(e,n)),0);return n[t]=i,i}class gp{constructor(e){this.opacity_=e.opacity,this.rotateWithView_=e.rotateWithView,this.rotation_=e.rotation,this.scale_=e.scale,this.scaleArray_=mu(e.scale),this.displacement_=e.displacement,this.declutterMode_=e.declutterMode}clone(){const e=this.getScale();return new gp({opacity:this.getOpacity(),scale:Array.isArray(e)?e.slice():e,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getOpacity(){return this.opacity_}getRotateWithView(){return this.rotateWithView_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getDisplacement(){return this.displacement_}getDeclutterMode(){return this.declutterMode_}getAnchor(){return ls()}getImage(e){return ls()}getHitDetectionImage(){return ls()}getPixelRatio(e){return 1}getImageState(){return ls()}getImageSize(){return ls()}getOrigin(){return ls()}getSize(){return ls()}setDisplacement(e){this.displacement_=e}setOpacity(e){this.opacity_=e}setRotateWithView(e){this.rotateWithView_=e}setRotation(e){this.rotation_=e}setScale(e){this.scale_=e,this.scaleArray_=mu(e)}listenImageChange(e){ls()}load(){ls()}unlistenImageChange(e){ls()}ready(){return Promise.resolve()}}const mp=gp;class yp extends mp{constructor(e){super({opacity:1,rotateWithView:void 0!==e.rotateWithView&&e.rotateWithView,rotation:void 0!==e.rotation?e.rotation:0,scale:void 0!==e.scale?e.scale:1,displacement:void 0!==e.displacement?e.displacement:[0,0],declutterMode:e.declutterMode}),this.hitDetectionCanvas_=null,this.fill_=void 0!==e.fill?e.fill:null,this.origin_=[0,0],this.points_=e.points,this.radius=e.radius,this.radius2_=e.radius2,this.angle_=void 0!==e.angle?e.angle:0,this.stroke_=void 0!==e.stroke?e.stroke:null,this.size_,this.renderOptions_,this.imageState_=this.fill_&&this.fill_.loading()?1:2,1===this.imageState_&&this.ready().then(()=>this.imageState_=2),this.render()}clone(){const e=this.getScale(),t=new yp({fill:this.getFill()?this.getFill().clone():void 0,points:this.getPoints(),radius:this.getRadius(),radius2:this.getRadius2(),angle:this.getAngle(),stroke:this.getStroke()?this.getStroke().clone():void 0,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),scale:Array.isArray(e)?e.slice():e,displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return t.setOpacity(this.getOpacity()),t}getAnchor(){const e=this.size_,t=this.getDisplacement(),n=this.getScaleArray();return[e[0]/2-t[0]/n[0],e[1]/2+t[1]/n[1]]}getAngle(){return this.angle_}getFill(){return this.fill_}setFill(e){this.fill_=e,this.render()}getHitDetectionImage(){return this.hitDetectionCanvas_||(this.hitDetectionCanvas_=this.createHitDetectionCanvas_(this.renderOptions_)),this.hitDetectionCanvas_}getImage(e){const t=this.fill_?.getKey(),n=`${e},${this.angle_},${this.radius},${this.radius2_},${this.points_},${t}`+Object.values(this.renderOptions_).join(",");let i=Wd.get(n,null,null)?.getImage(1);if(!i){const t=this.renderOptions_,r=Math.ceil(t.size*e),o=yl(r,r);this.draw_(t,o,e),i=o.canvas,Wd.set(n,null,null,new Kd(i,void 0,null,2,null))}return i}getPixelRatio(e){return e}getImageSize(){return this.size_}getImageState(){return this.imageState_}getOrigin(){return this.origin_}getPoints(){return this.points_}getRadius(){return this.radius}getRadius2(){return this.radius2_}getSize(){return this.size_}getStroke(){return this.stroke_}setStroke(e){this.stroke_=e,this.render()}listenImageChange(e){}load(){}unlistenImageChange(e){}calculateLineJoinSize_(e,t,n){if(0===t||this.points_===1/0||"bevel"!==e&&"miter"!==e)return t;let i=this.radius,r=void 0===this.radius2_?i:this.radius2_;if(i<r){const e=i;i=r,r=e}const o=void 0===this.radius2_?this.points_:2*this.points_,s=2*Math.PI/o,a=r*Math.sin(s),l=i-Math.sqrt(r*r-a*a),c=Math.sqrt(a*a+l*l),u=c/a;if("miter"===e&&u<=n)return u*t;const d=t/2/u,p=t/2*(l/c),h=Math.sqrt((i+d)*(i+d)+p*p)-i;if(void 0===this.radius2_||"bevel"===e)return 2*h;const f=i*Math.sin(s),_=r-Math.sqrt(i*i-f*f),g=Math.sqrt(f*f+_*_)/f;if(g<=n){const e=g*t/2-r-i;return 2*Math.max(h,e)}return 2*h}createRenderOptions(){let e,t=Qd,n=ep,i=0,r=null,o=0,s=0;this.stroke_&&(e=Xd(this.stroke_.getColor()??tp),s=this.stroke_.getWidth()??1,r=this.stroke_.getLineDash(),o=this.stroke_.getLineDashOffset()??0,n=this.stroke_.getLineJoin()??ep,t=this.stroke_.getLineCap()??Qd,i=this.stroke_.getMiterLimit()??10);const a=this.calculateLineJoinSize_(n,s,i),l=Math.max(this.radius,this.radius2_||0);return{strokeStyle:e,strokeWidth:s,size:Math.ceil(2*l+a),lineCap:t,lineDash:r,lineDashOffset:o,lineJoin:n,miterLimit:i}}render(){this.renderOptions_=this.createRenderOptions();const e=this.renderOptions_.size;this.hitDetectionCanvas_=null,this.size_=[e,e]}draw_(e,t,n){if(t.scale(n,n),t.translate(e.size/2,e.size/2),this.createPath_(t),this.fill_){let e=this.fill_.getColor();null===e&&(e=Yd),t.fillStyle=Xd(e),t.fill()}e.strokeStyle&&(t.strokeStyle=e.strokeStyle,t.lineWidth=e.strokeWidth,e.lineDash&&(t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset),t.lineCap=e.lineCap,t.lineJoin=e.lineJoin,t.miterLimit=e.miterLimit,t.stroke())}createHitDetectionCanvas_(e){let t;if(this.fill_){let n=this.fill_.getColor(),i=0;"string"==typeof n&&(n=fu(n)),null===n?i=1:Array.isArray(n)&&(i=4===n.length?n[3]:1),0===i&&(t=yl(e.size,e.size),this.drawHitDetectionCanvas_(e,t))}return t?t.canvas:this.getImage(1)}createPath_(e){let t=this.points_;const n=this.radius;if(t===1/0)e.arc(0,0,n,0,2*Math.PI);else{const i=void 0===this.radius2_?n:this.radius2_;void 0!==this.radius2_&&(t*=2);const r=this.angle_-Math.PI/2,o=2*Math.PI/t;for(let s=0;s<t;s++){const t=r+s*o,a=s%2==0?n:i;e.lineTo(a*Math.cos(t),a*Math.sin(t))}e.closePath()}}drawHitDetectionCanvas_(e,t){t.translate(e.size/2,e.size/2),this.createPath_(t),t.fillStyle=Yd,t.fill(),e.strokeStyle&&(t.strokeStyle=e.strokeStyle,t.lineWidth=e.strokeWidth,e.lineDash&&(t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset),t.lineJoin=e.lineJoin,t.miterLimit=e.miterLimit,t.stroke())}ready(){return this.fill_?this.fill_.ready():Promise.resolve()}}const vp=yp;class bp extends vp{constructor(e){super({points:1/0,fill:(e=e||{radius:5}).fill,radius:e.radius,stroke:e.stroke,scale:void 0!==e.scale?e.scale:1,rotation:void 0!==e.rotation?e.rotation:0,rotateWithView:void 0!==e.rotateWithView&&e.rotateWithView,displacement:void 0!==e.displacement?e.displacement:[0,0],declutterMode:e.declutterMode})}clone(){const e=this.getScale(),t=new bp({fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,radius:this.getRadius(),scale:Array.isArray(e)?e.slice():e,rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()});return t.setOpacity(this.getOpacity()),t}setRadius(e){this.radius=e,this.render()}}const xp=bp;class wp{constructor(e){e=e||{},this.patternImage_=null,this.color_=null,void 0!==e.color&&this.setColor(e.color)}clone(){const e=this.getColor();return new wp({color:Array.isArray(e)?e.slice():e||void 0})}getColor(){return this.color_}setColor(e){if(null!==e&&"object"==typeof e&&"src"in e){const t=$d(null,e.src,"anonymous",void 0,e.offset?null:e.color?e.color:null,!(e.offset&&e.size));t.ready().then(()=>{this.patternImage_=null}),0===t.getImageState()&&t.load(),1===t.getImageState()&&(this.patternImage_=t)}this.color_=e}getKey(){const e=this.getColor();return e?e instanceof CanvasPattern||e instanceof CanvasGradient?us(e):"object"==typeof e&&"src"in e?e.src+":"+e.offset:fu(e).toString():""}loading(){return!!this.patternImage_}ready(){return this.patternImage_?this.patternImage_.ready():Promise.resolve()}}const kp=wp;function Cp(e,t,n,i){return void 0!==n&&void 0!==i?[n/e,i/t]:void 0!==n?n/e:void 0!==i?i/t:1}class Ap extends mp{constructor(e){const t=void 0!==(e=e||{}).opacity?e.opacity:1,n=void 0!==e.rotation?e.rotation:0,i=void 0!==e.scale?e.scale:1,r=void 0!==e.rotateWithView&&e.rotateWithView;super({opacity:t,rotation:n,scale:i,displacement:void 0!==e.displacement?e.displacement:[0,0],rotateWithView:r,declutterMode:e.declutterMode}),this.anchor_=void 0!==e.anchor?e.anchor:[.5,.5],this.normalizedAnchor_=null,this.anchorOrigin_=void 0!==e.anchorOrigin?e.anchorOrigin:"top-left",this.anchorXUnits_=void 0!==e.anchorXUnits?e.anchorXUnits:"fraction",this.anchorYUnits_=void 0!==e.anchorYUnits?e.anchorYUnits:"fraction",this.crossOrigin_=void 0!==e.crossOrigin?e.crossOrigin:null;const o=void 0!==e.img?e.img:null;let s,a=e.src;if(Fs(!(void 0!==a&&o),"`image` and `src` cannot be provided at the same time"),void 0!==a&&0!==a.length||!o||(a=o.src||us(o)),Fs(void 0!==a&&a.length>0,"A defined and non-empty `src` or `image` must be provided"),Fs(!((void 0!==e.width||void 0!==e.height)&&void 0!==e.scale),"`width` or `height` cannot be provided together with `scale`"),void 0!==e.src?s=0:void 0!==o&&(s="complete"in o?o.complete?o.src?2:0:1:2),this.color_=void 0!==e.color?fu(e.color):null,this.iconImage_=$d(o,a,this.crossOrigin_,s,this.color_),this.offset_=void 0!==e.offset?e.offset:[0,0],this.offsetOrigin_=void 0!==e.offsetOrigin?e.offsetOrigin:"top-left",this.origin_=null,this.size_=void 0!==e.size?e.size:null,this.initialOptions_,void 0!==e.width||void 0!==e.height){let t,n;if(e.size)[t,n]=e.size;else{const i=this.getImage(1);if(i.width&&i.height)t=i.width,n=i.height;else if(i instanceof HTMLImageElement){this.initialOptions_=e;const t=()=>{if(this.unlistenImageChange(t),!this.initialOptions_)return;const n=this.iconImage_.getSize();this.setScale(Cp(n[0],n[1],e.width,e.height))};return void this.listenImageChange(t)}}void 0!==t&&this.setScale(Cp(t,n,e.width,e.height))}}clone(){let e,t,n;return this.initialOptions_?(t=this.initialOptions_.width,n=this.initialOptions_.height):(e=this.getScale(),e=Array.isArray(e)?e.slice():e),new Ap({anchor:this.anchor_.slice(),anchorOrigin:this.anchorOrigin_,anchorXUnits:this.anchorXUnits_,anchorYUnits:this.anchorYUnits_,color:this.color_&&this.color_.slice?this.color_.slice():this.color_||void 0,crossOrigin:this.crossOrigin_,offset:this.offset_.slice(),offsetOrigin:this.offsetOrigin_,opacity:this.getOpacity(),rotateWithView:this.getRotateWithView(),rotation:this.getRotation(),scale:e,width:t,height:n,size:null!==this.size_?this.size_.slice():void 0,src:this.getSrc(),displacement:this.getDisplacement().slice(),declutterMode:this.getDeclutterMode()})}getAnchor(){let e=this.normalizedAnchor_;if(!e){e=this.anchor_;const t=this.getSize();if("fraction"==this.anchorXUnits_||"fraction"==this.anchorYUnits_){if(!t)return null;e=this.anchor_.slice(),"fraction"==this.anchorXUnits_&&(e[0]*=t[0]),"fraction"==this.anchorYUnits_&&(e[1]*=t[1])}if("top-left"!=this.anchorOrigin_){if(!t)return null;e===this.anchor_&&(e=this.anchor_.slice()),"top-right"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(e[0]=-e[0]+t[0]),"bottom-left"!=this.anchorOrigin_&&"bottom-right"!=this.anchorOrigin_||(e[1]=-e[1]+t[1])}this.normalizedAnchor_=e}const t=this.getDisplacement(),n=this.getScaleArray();return[e[0]-t[0]/n[0],e[1]+t[1]/n[1]]}setAnchor(e){this.anchor_=e,this.normalizedAnchor_=null}getColor(){return this.color_}getImage(e){return this.iconImage_.getImage(e)}getPixelRatio(e){return this.iconImage_.getPixelRatio(e)}getImageSize(){return this.iconImage_.getSize()}getImageState(){return this.iconImage_.getImageState()}getHitDetectionImage(){return this.iconImage_.getHitDetectionImage()}getOrigin(){if(this.origin_)return this.origin_;let e=this.offset_;if("top-left"!=this.offsetOrigin_){const t=this.getSize(),n=this.iconImage_.getSize();if(!t||!n)return null;e=e.slice(),"top-right"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(e[0]=n[0]-t[0]-e[0]),"bottom-left"!=this.offsetOrigin_&&"bottom-right"!=this.offsetOrigin_||(e[1]=n[1]-t[1]-e[1])}return this.origin_=e,this.origin_}getSrc(){return this.iconImage_.getSrc()}getSize(){return this.size_?this.size_:this.iconImage_.getSize()}getWidth(){const e=this.getScaleArray();return this.size_?this.size_[0]*e[0]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[0]*e[0]:void 0}getHeight(){const e=this.getScaleArray();return this.size_?this.size_[1]*e[1]:2==this.iconImage_.getImageState()?this.iconImage_.getSize()[1]*e[1]:void 0}setScale(e){delete this.initialOptions_,super.setScale(e)}listenImageChange(e){this.iconImage_.addEventListener(Lo,e)}load(){this.iconImage_.load()}unlistenImageChange(e){this.iconImage_.removeEventListener(Lo,e)}ready(){return this.iconImage_.ready()}}const Sp=Ap;class Ep{constructor(e){e=e||{},this.color_=void 0!==e.color?e.color:null,this.lineCap_=e.lineCap,this.lineDash_=void 0!==e.lineDash?e.lineDash:null,this.lineDashOffset_=e.lineDashOffset,this.lineJoin_=e.lineJoin,this.miterLimit_=e.miterLimit,this.width_=e.width}clone(){const e=this.getColor();return new Ep({color:Array.isArray(e)?e.slice():e||void 0,lineCap:this.getLineCap(),lineDash:this.getLineDash()?this.getLineDash().slice():void 0,lineDashOffset:this.getLineDashOffset(),lineJoin:this.getLineJoin(),miterLimit:this.getMiterLimit(),width:this.getWidth()})}getColor(){return this.color_}getLineCap(){return this.lineCap_}getLineDash(){return this.lineDash_}getLineDashOffset(){return this.lineDashOffset_}getLineJoin(){return this.lineJoin_}getMiterLimit(){return this.miterLimit_}getWidth(){return this.width_}setColor(e){this.color_=e}setLineCap(e){this.lineCap_=e}setLineDash(e){this.lineDash_=e}setLineDashOffset(e){this.lineDashOffset_=e}setLineJoin(e){this.lineJoin_=e}setMiterLimit(e){this.miterLimit_=e}setWidth(e){this.width_=e}}const Ip=Ep;class Tp{constructor(e){e=e||{},this.geometry_=null,this.geometryFunction_=zp,void 0!==e.geometry&&this.setGeometry(e.geometry),this.fill_=void 0!==e.fill?e.fill:null,this.image_=void 0!==e.image?e.image:null,this.renderer_=void 0!==e.renderer?e.renderer:null,this.hitDetectionRenderer_=void 0!==e.hitDetectionRenderer?e.hitDetectionRenderer:null,this.stroke_=void 0!==e.stroke?e.stroke:null,this.text_=void 0!==e.text?e.text:null,this.zIndex_=e.zIndex}clone(){let e=this.getGeometry();return e&&"object"==typeof e&&(e=e.clone()),new Tp({geometry:e??void 0,fill:this.getFill()?this.getFill().clone():void 0,image:this.getImage()?this.getImage().clone():void 0,renderer:this.getRenderer()??void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,text:this.getText()?this.getText().clone():void 0,zIndex:this.getZIndex()})}getRenderer(){return this.renderer_}setRenderer(e){this.renderer_=e}setHitDetectionRenderer(e){this.hitDetectionRenderer_=e}getHitDetectionRenderer(){return this.hitDetectionRenderer_}getGeometry(){return this.geometry_}getGeometryFunction(){return this.geometryFunction_}getFill(){return this.fill_}setFill(e){this.fill_=e}getImage(){return this.image_}setImage(e){this.image_=e}getStroke(){return this.stroke_}setStroke(e){this.stroke_=e}getText(){return this.text_}setText(e){this.text_=e}getZIndex(){return this.zIndex_}setGeometry(e){"function"==typeof e?this.geometryFunction_=e:"string"==typeof e?this.geometryFunction_=function(t){return t.get(e)}:e?void 0!==e&&(this.geometryFunction_=function(){return e}):this.geometryFunction_=zp,this.geometry_=e}setZIndex(e){this.zIndex_=e}}let Mp=null;function Pp(e,t){if(!Mp){const e=new kp({color:"rgba(255,255,255,0.4)"}),t=new Ip({color:"#3399CC",width:1.25});Mp=[new Tp({image:new xp({fill:e,stroke:t,radius:5}),fill:e,stroke:t})]}return Mp}function Rp(){const e={},t=[255,255,255,1],n=[0,153,255,1];return e.Polygon=[new Tp({fill:new kp({color:[255,255,255,.5]})})],e.MultiPolygon=e.Polygon,e.LineString=[new Tp({stroke:new Ip({color:t,width:5})}),new Tp({stroke:new Ip({color:n,width:3})})],e.MultiLineString=e.LineString,e.Circle=e.Polygon.concat(e.LineString),e.Point=[new Tp({image:new xp({radius:6,fill:new kp({color:n}),stroke:new Ip({color:t,width:1.5})}),zIndex:1/0})],e.MultiPoint=e.Point,e.GeometryCollection=e.Polygon.concat(e.LineString,e.Point),e}function zp(e){return e.getGeometry()}const Lp=Tp;class Op{constructor(e){e=e||{},this.font_=e.font,this.rotation_=e.rotation,this.rotateWithView_=e.rotateWithView,this.keepUpright_=e.keepUpright,this.scale_=e.scale,this.scaleArray_=mu(void 0!==e.scale?e.scale:1),this.text_=e.text,this.textAlign_=e.textAlign,this.justify_=e.justify,this.repeat_=e.repeat,this.textBaseline_=e.textBaseline,this.fill_=void 0!==e.fill?e.fill:new kp({color:"#333"}),this.maxAngle_=void 0!==e.maxAngle?e.maxAngle:Math.PI/4,this.placement_=void 0!==e.placement?e.placement:"point",this.overflow_=!!e.overflow,this.stroke_=void 0!==e.stroke?e.stroke:null,this.offsetX_=void 0!==e.offsetX?e.offsetX:0,this.offsetY_=void 0!==e.offsetY?e.offsetY:0,this.backgroundFill_=e.backgroundFill?e.backgroundFill:null,this.backgroundStroke_=e.backgroundStroke?e.backgroundStroke:null,this.padding_=void 0===e.padding?null:e.padding,this.declutterMode_=e.declutterMode}clone(){const e=this.getScale();return new Op({font:this.getFont(),placement:this.getPlacement(),repeat:this.getRepeat(),maxAngle:this.getMaxAngle(),overflow:this.getOverflow(),rotation:this.getRotation(),rotateWithView:this.getRotateWithView(),keepUpright:this.getKeepUpright(),scale:Array.isArray(e)?e.slice():e,text:this.getText(),textAlign:this.getTextAlign(),justify:this.getJustify(),textBaseline:this.getTextBaseline(),fill:this.getFill()?this.getFill().clone():void 0,stroke:this.getStroke()?this.getStroke().clone():void 0,offsetX:this.getOffsetX(),offsetY:this.getOffsetY(),backgroundFill:this.getBackgroundFill()?this.getBackgroundFill().clone():void 0,backgroundStroke:this.getBackgroundStroke()?this.getBackgroundStroke().clone():void 0,padding:this.getPadding()||void 0,declutterMode:this.getDeclutterMode()})}getOverflow(){return this.overflow_}getFont(){return this.font_}getMaxAngle(){return this.maxAngle_}getPlacement(){return this.placement_}getRepeat(){return this.repeat_}getOffsetX(){return this.offsetX_}getOffsetY(){return this.offsetY_}getFill(){return this.fill_}getRotateWithView(){return this.rotateWithView_}getKeepUpright(){return this.keepUpright_}getRotation(){return this.rotation_}getScale(){return this.scale_}getScaleArray(){return this.scaleArray_}getStroke(){return this.stroke_}getText(){return this.text_}getTextAlign(){return this.textAlign_}getJustify(){return this.justify_}getTextBaseline(){return this.textBaseline_}getBackgroundFill(){return this.backgroundFill_}getBackgroundStroke(){return this.backgroundStroke_}getPadding(){return this.padding_}getDeclutterMode(){return this.declutterMode_}setOverflow(e){this.overflow_=e}setFont(e){this.font_=e}setMaxAngle(e){this.maxAngle_=e}setOffsetX(e){this.offsetX_=e}setOffsetY(e){this.offsetY_=e}setPlacement(e){this.placement_=e}setRepeat(e){this.repeat_=e}setRotateWithView(e){this.rotateWithView_=e}setKeepUpright(e){this.keepUpright_=e}setFill(e){this.fill_=e}setRotation(e){this.rotation_=e}setScale(e){this.scale_=e,this.scaleArray_=mu(void 0!==e?e:1)}setStroke(e){this.stroke_=e}setText(e){this.text_=e}setTextAlign(e){this.textAlign_=e}setJustify(e){this.justify_=e}setTextBaseline(e){this.textBaseline_=e}setBackgroundFill(e){this.backgroundFill_=e}setBackgroundStroke(e){this.backgroundStroke_=e}setPadding(e){this.padding_=e}}const Fp=Op;function jp(e){return!0}function Dp(e){const t=zu(),n=function(e,t){const n=e.length,i=new Array(n);for(let r=0;r<n;++r){const n=e[r],o="filter"in n?Dd(n.filter,vu,t):jp;let s;if(Array.isArray(n.style)){const e=n.style.length;s=new Array(e);for(let i=0;i<e;++i)s[i]=Bp(n.style[i],t)}else s=[Bp(n.style,t)];i[r]={filter:o,styles:s}}return function(t){const r=[];let o=!1;for(let s=0;s<n;++s)if((0,i[s].filter)(t)&&(!e[s].else||!o)){o=!0;for(const e of i[s].styles){const n=e(t);n&&r.push(n)}}return r}}(e,t),i={variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""};return function(e,r){if(i.properties=e.getPropertiesInternal(),i.resolution=r,t.featureId){const t=e.getId();i.featureId=void 0!==t?t:null}return t.geometryType&&(i.geometryType=jd(e.getGeometry())),n(i)}}function Np(e){const t=zu(),n=e.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=Bp(e[r],t);const r={variables:{},properties:{},resolution:NaN,featureId:null,geometryType:""},o=new Array(n);return function(e,s){if(r.properties=e.getPropertiesInternal(),r.resolution=s,t.featureId){const t=e.getId();r.featureId=void 0!==t?t:null}let a=0;for(let e=0;e<n;++e){const t=i[e](r);t&&(o[a]=t,a+=1)}return o.length=a,o}}function Bp(e,t){const n=qp(e,"",t),i=Gp(e,"",t),r=function(e,t){const n="text-",i=Wp(e,n+"value",t);if(!i)return null;const r=qp(e,n,t),o=qp(e,n+"background-",t),s=Gp(e,n,t),a=Gp(e,n+"background-",t),l=Wp(e,n+"font",t),c=Vp(e,n+"max-angle",t),u=Vp(e,n+"offset-x",t),d=Vp(e,n+"offset-y",t),p=Hp(e,n+"overflow",t),h=Wp(e,n+"placement",t),f=Vp(e,n+"repeat",t),_=Zp(e,n+"scale",t),g=Hp(e,n+"rotate-with-view",t),m=Vp(e,n+"rotation",t),y=Wp(e,n+"align",t),v=Wp(e,n+"justify",t),b=Wp(e,n+"baseline",t),x=Hp(e,n+"keep-upright",t),w=$p(e,n+"padding",t),k=eh(e,n+"declutter-mode"),C=new Fp({declutterMode:k});return function(e){if(C.setText(i(e)),r&&C.setFill(r(e)),o&&C.setBackgroundFill(o(e)),s&&C.setStroke(s(e)),a&&C.setBackgroundStroke(a(e)),l&&C.setFont(l(e)),c&&C.setMaxAngle(c(e)),u&&C.setOffsetX(u(e)),d&&C.setOffsetY(d(e)),p&&C.setOverflow(p(e)),h){const t=h(e);if("point"!==t&&"line"!==t)throw new Error("Expected point or line for text-placement");C.setPlacement(t)}if(f&&C.setRepeat(f(e)),_&&C.setScale(_(e)),g&&C.setRotateWithView(g(e)),m&&C.setRotation(m(e)),y){const t=y(e);if("left"!==t&&"center"!==t&&"right"!==t&&"end"!==t&&"start"!==t)throw new Error("Expected left, right, center, start, or end for text-align");C.setTextAlign(t)}if(v){const t=v(e);if("left"!==t&&"right"!==t&&"center"!==t)throw new Error("Expected left, right, or center for text-justify");C.setJustify(t)}if(b){const t=b(e);if("bottom"!==t&&"top"!==t&&"middle"!==t&&"alphabetic"!==t&&"hanging"!==t)throw new Error("Expected bottom, top, middle, alphabetic, or hanging for text-baseline");C.setTextBaseline(t)}return w&&C.setPadding(w(e)),x&&C.setKeepUpright(x(e)),C}}(e,t),o=function(e,t){return"icon-src"in e?function(e,t){const n="icon-",i=n+"src",r=nh(e[i],i),o=Kp(e,n+"anchor",t),s=Zp(e,n+"scale",t),a=Vp(e,n+"opacity",t),l=Kp(e,n+"displacement",t),c=Vp(e,n+"rotation",t),u=Hp(e,n+"rotate-with-view",t),d=Qp(e,n+"anchor-origin"),p=Jp(e,n+"anchor-x-units"),h=Jp(e,n+"anchor-y-units"),f=function(e,t){const n=e[t];if(void 0!==n)return rh(n,t)}(e,n+"color"),_=function(e,t){const n=e[t];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${t}`);return n}}(e,n+"cross-origin"),g=function(e,t){const n=e[t];if(void 0!==n)return th(n,t)}(e,n+"offset"),m=Qp(e,n+"offset-origin"),y=Yp(e,n+"width"),v=Yp(e,n+"height"),b=function(e,t){const n=e[t];if(void 0!==n){if("number"==typeof n)return mu(n);if(!Array.isArray(n))throw new Error(`Expected a number or size array for ${t}`);if(2!==n.length||"number"!=typeof n[0]||"number"!=typeof n[1])throw new Error(`Expected a number or size array for ${t}`);return n}}(e,n+"size"),x=eh(e,n+"declutter-mode"),w=new Sp({src:r,anchorOrigin:d,anchorXUnits:p,anchorYUnits:h,color:f,crossOrigin:_,offset:g,offsetOrigin:m,height:v,width:y,size:b,declutterMode:x});return function(e){return a&&w.setOpacity(a(e)),l&&w.setDisplacement(l(e)),c&&w.setRotation(c(e)),u&&w.setRotateWithView(u(e)),s&&w.setScale(s(e)),o&&w.setAnchor(o(e)),w}}(e,t):"shape-points"in e?function(e,t){const n="shape-",i=n+"points",r=n+"radius",o=ih(e[i],i),s=ih(e[r],r),a=qp(e,n,t),l=Gp(e,n,t),c=Zp(e,n+"scale",t),u=Kp(e,n+"displacement",t),d=Vp(e,n+"rotation",t),p=Hp(e,n+"rotate-with-view",t),h=Yp(e,n+"radius2"),f=Yp(e,n+"angle"),_=eh(e,n+"declutter-mode"),g=new vp({points:o,radius:s,radius2:h,angle:f,declutterMode:_});return function(e){return a&&g.setFill(a(e)),l&&g.setStroke(l(e)),u&&g.setDisplacement(u(e)),d&&g.setRotation(d(e)),p&&g.setRotateWithView(p(e)),c&&g.setScale(c(e)),g}}(e,t):"circle-radius"in e?function(e,t){const n="circle-",i=qp(e,n,t),r=Gp(e,n,t),o=Vp(e,n+"radius",t),s=Zp(e,n+"scale",t),a=Kp(e,n+"displacement",t),l=Vp(e,n+"rotation",t),c=Hp(e,n+"rotate-with-view",t),u=eh(e,n+"declutter-mode"),d=new xp({radius:5,declutterMode:u});return function(e){return o&&d.setRadius(o(e)),i&&d.setFill(i(e)),r&&d.setStroke(r(e)),a&&d.setDisplacement(a(e)),l&&d.setRotation(l(e)),c&&d.setRotateWithView(c(e)),s&&d.setScale(s(e)),d}}(e,t):null}(e,t),s=Vp(e,"z-index",t);if(!(n||i||r||o||es(e)))throw new Error("No fill, stroke, point, or text symbolizer properties in style: "+JSON.stringify(e));const a=new Lp;return function(e){let t=!0;if(n){const i=n(e);i&&(t=!1),a.setFill(i)}if(i){const n=i(e);n&&(t=!1),a.setStroke(n)}if(r){const n=r(e);n&&(t=!1),a.setText(n)}if(o){const n=o(e);n&&(t=!1),a.setImage(n)}return s&&a.setZIndex(s(e)),t?null:a}}function qp(e,t,n){let i;if(t+"fill-pattern-src"in e)i=function(e,t,n){const i=Wp(e,t+"pattern-src",n),r=Xp(e,t+"pattern-offset",n),o=Xp(e,t+"pattern-size",n),s=Up(e,t+"color",n);return function(e){return{src:i(e),offset:r&&r(e),size:o&&o(e),color:s&&s(e)}}}(e,t+"fill-",n);else{if("none"===e[t+"fill-color"])return e=>null;i=Up(e,t+"fill-color",n)}if(!i)return null;const r=new kp;return function(e){const t=i(e);return t===Zc?null:(r.setColor(t),r)}}function Gp(e,t,n){const i=Vp(e,t+"stroke-width",n),r=Up(e,t+"stroke-color",n);if(!i&&!r)return null;const o=Wp(e,t+"stroke-line-cap",n),s=Wp(e,t+"stroke-line-join",n),a=$p(e,t+"stroke-line-dash",n),l=Vp(e,t+"stroke-line-dash-offset",n),c=Vp(e,t+"stroke-miter-limit",n),u=new Ip;return function(e){if(r){const t=r(e);if(t===Zc)return null;u.setColor(t)}if(i&&u.setWidth(i(e)),o){const t=o(e);if("butt"!==t&&"round"!==t&&"square"!==t)throw new Error("Expected butt, round, or square line cap");u.setLineCap(t)}if(s){const t=s(e);if("bevel"!==t&&"round"!==t&&"miter"!==t)throw new Error("Expected bevel, round, or miter line join");u.setLineJoin(t)}return a&&u.setLineDash(a(e)),l&&u.setLineDashOffset(l(e)),c&&u.setMiterLimit(c(e)),u}}function Vp(e,t,n){if(!(t in e))return;const i=Dd(e[t],bu,n);return function(e){return ih(i(e),t)}}function Wp(e,t,n){if(!(t in e))return null;const i=Dd(e[t],xu,n);return function(e){return nh(i(e),t)}}function Hp(e,t,n){if(!(t in e))return null;const i=Dd(e[t],vu,n);return function(e){const n=i(e);if("boolean"!=typeof n)throw new Error(`Expected a boolean for ${t}`);return n}}function Up(e,t,n){if(!(t in e))return null;const i=Dd(e[t],wu,n);return function(e){return rh(i(e),t)}}function $p(e,t,n){if(!(t in e))return null;const i=Dd(e[t],ku,n);return function(e){return th(i(e),t)}}function Kp(e,t,n){if(!(t in e))return null;const i=Dd(e[t],ku,n);return function(e){const n=th(i(e),t);if(2!==n.length)throw new Error(`Expected two numbers for ${t}`);return n}}function Xp(e,t,n){if(!(t in e))return null;const i=Dd(e[t],ku,n);return function(e){return oh(i(e),t)}}function Zp(e,t,n){if(!(t in e))return null;const i=Dd(e[t],ku|bu,n);return function(e){return n=i(e),r=t,"number"==typeof n?n:oh(n,r);var n,r}}function Yp(e,t){const n=e[t];if(void 0!==n){if("number"!=typeof n)throw new Error(`Expected a number for ${t}`);return n}}function Qp(e,t){const n=e[t];if(void 0!==n){if("bottom-left"!==n&&"bottom-right"!==n&&"top-left"!==n&&"top-right"!==n)throw new Error(`Expected bottom-left, bottom-right, top-left, or top-right for ${t}`);return n}}function Jp(e,t){const n=e[t];if(void 0!==n){if("pixels"!==n&&"fraction"!==n)throw new Error(`Expected pixels or fraction for ${t}`);return n}}function eh(e,t){const n=e[t];if(void 0!==n){if("string"!=typeof n)throw new Error(`Expected a string for ${t}`);if("declutter"!==n&&"obstacle"!==n&&"none"!==n)throw new Error(`Expected declutter, obstacle, or none for ${t}`);return n}}function th(e,t){if(!Array.isArray(e))throw new Error(`Expected an array for ${t}`);const n=e.length;for(let i=0;i<n;++i)if("number"!=typeof e[i])throw new Error(`Expected an array of numbers for ${t}`);return e}function nh(e,t){if("string"!=typeof e)throw new Error(`Expected a string for ${t}`);return e}function ih(e,t){if("number"!=typeof e)throw new Error(`Expected a number for ${t}`);return e}function rh(e,t){if("string"==typeof e)return e;const n=th(e,t),i=n.length;if(i<3||i>4)throw new Error(`Expected a color with 3 or 4 values for ${t}`);return n}function oh(e,t){const n=th(e,t);if(2!==n.length)throw new Error(`Expected an array of two numbers for ${t}`);return n}const sh="renderOrder",ah=class extends Pc{constructor(e){e=e||{};const t=Object.assign({},e);delete t.style,delete t.renderBuffer,delete t.updateWhileAnimating,delete t.updateWhileInteracting,super(t),this.declutter_=e.declutter?String(e.declutter):void 0,this.renderBuffer_=void 0!==e.renderBuffer?e.renderBuffer:100,this.style_=null,this.styleFunction_=void 0,this.setStyle(e.style),this.updateWhileAnimating_=void 0!==e.updateWhileAnimating&&e.updateWhileAnimating,this.updateWhileInteracting_=void 0!==e.updateWhileInteracting&&e.updateWhileInteracting}getDeclutter(){return this.declutter_}getFeatures(e){return super.getFeatures(e)}getRenderBuffer(){return this.renderBuffer_}getRenderOrder(){return this.get(sh)}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}getUpdateWhileAnimating(){return this.updateWhileAnimating_}getUpdateWhileInteracting(){return this.updateWhileInteracting_}renderDeclutter(e,t){const n=this.getDeclutter();n in e.declutter==0&&(e.declutter[n]=new Oc(9)),this.getRenderer().renderDeclutter(e,t)}setRenderOrder(e){this.set(sh,e)}setStyle(e){this.style_=void 0===e?Pp:e;const t=function(e){if(void 0===e)return Pp;if(!e)return null;if("function"==typeof e)return e;if(e instanceof Lp)return e;if(!Array.isArray(e))return Np([e]);if(0===e.length)return[];const t=e.length,n=e[0];if(n instanceof Lp){const n=new Array(t);for(let i=0;i<t;++i){const t=e[i];if(!(t instanceof Lp))throw new Error("Expected a list of style instances");n[i]=t}return n}if("style"in n){const n=new Array(t);for(let i=0;i<t;++i){const t=e[i];if(!("style"in t))throw new Error("Expected a list of rules with a style property");n[i]=t}return Dp(n)}return Np(e)}(e);this.styleFunction_=null===e?void 0:function(e){let t;if("function"==typeof e)t=e;else{let n;Array.isArray(e)?n=e:(Fs("function"==typeof e.getZIndex,"Expected an `Style` or an array of `Style`"),n=[e]),t=function(){return n}}return t}(t),this.changed()}setDeclutter(e){this.declutter_=e?String(e):void 0,this.changed()}},lh=class extends ts{constructor(e,t,n,i){super(e),this.inversePixelTransform=t,this.frameState=n,this.context=i}};function ch(e,t){Wd.expire()}const uh=class extends qo{constructor(e){super(),this.map_=e}dispatchRenderEvent(e,t){ls()}calculateMatrices2D(e){const t=e.viewState,n=e.coordinateToPixelTransform,i=e.pixelToCoordinateTransform;Js(n,e.size[0]/2,e.size[1]/2,1/t.resolution,-1/t.resolution,-t.rotation,-t.center[0],-t.center[1]),ea(i,n)}forEachFeatureAtCoordinate(e,t,n,i,r,o,s,a){let l;const c=t.viewState;function u(e,t,n,i){return r.call(o,t,e?n:null,i)}const d=c.projection,p=Yi(e.slice(),d),h=[[0,0]];if(d.canWrapX()&&i){const e=Ni(d.getExtent());h.push([-e,0],[e,0])}const f=t.layerStatesArray,_=f.length,g=[],m=[];for(let i=0;i<h.length;i++)for(let r=_-1;r>=0;--r){const o=f[r],d=o.layer;if(d.hasRenderer()&&Mc(o,c)&&s.call(a,d)){const r=d.getRenderer(),s=d.getSource();if(r&&s){const a=s.getWrapX()?p:e,c=u.bind(null,o.managed);m[0]=a[0]+h[i][0],m[1]=a[1]+h[i][1],l=r.forEachFeatureAtCoordinate(m,t,n,c,g)}if(l)return l}}if(0===g.length)return;const y=1/g.length;return g.forEach((e,t)=>e.distanceSq+=t*y),g.sort((e,t)=>e.distanceSq-t.distanceSq),g.some(e=>l=e.callback(e.feature,e.layer,e.geometry)),l}hasFeatureAtCoordinate(e,t,n,i,r,o){return void 0!==this.forEachFeatureAtCoordinate(e,t,n,i,Ko,this,r,o)}getMap(){return this.map_}renderFrame(e){ls()}scheduleExpireIconCache(e){Wd.canExpireCache()&&e.postRenderFunctions.push(ch)}},dh=class extends uh{constructor(e){super(e),this.fontChangeListenerKey_=is(op,zo,e.redrawText,e),this.element_=document.createElement("div");const t=this.element_.style;t.position="absolute",t.width="100%",t.height="100%",t.zIndex="0",this.element_.className=dl+" ol-layers";const n=e.getViewport();n.insertBefore(this.element_,n.firstChild||null),this.children_=[],this.renderedVisible_=!0}dispatchRenderEvent(e,t){const n=this.getMap();if(n.hasListener(e)){const i=new lh(e,void 0,t);n.dispatchEvent(i)}}disposeInternal(){os(this.fontChangeListenerKey_),this.element_.remove(),super.disposeInternal()}renderFrame(e){if(!e)return void(this.renderedVisible_&&(this.element_.style.display="none",this.renderedVisible_=!1));this.calculateMatrices2D(e),this.dispatchRenderEvent(Ic,e);const t=e.layerStatesArray.sort((e,t)=>e.zIndex-t.zIndex);t.some(e=>e.layer instanceof ah&&e.layer.getDeclutter())&&(e.declutter={});const n=e.viewState;this.children_.length=0;const i=[];let r=null;for(let o=0,s=t.length;o<s;++o){const s=t[o];e.layerIndex=o;const a=s.layer,l=a.getSourceState();if(!Mc(s,n)||"ready"!=l&&"undefined"!=l){a.unrender();continue}const c=a.render(e,r);c&&(c!==r&&(this.children_.push(c),r=c),i.push(s))}this.declutter(e,i),function(e,t){const n=e.childNodes;for(let i=0;;++i){const r=n[i],o=t[i];if(!r&&!o)break;r!==o&&(r?o?e.insertBefore(o,r):(e.removeChild(r),--i):e.appendChild(o))}}(this.element_,this.children_),this.dispatchRenderEvent("postcompose",e),this.renderedVisible_||(this.element_.style.display="",this.renderedVisible_=!0),this.scheduleExpireIconCache(e)}declutter(e,t){if(e.declutter){for(let n=t.length-1;n>=0;--n){const i=t[n],r=i.layer;r.getDeclutter()&&r.renderDeclutter(e,i)}t.forEach(t=>t.layer.renderDeferred(e))}}};function ph(e){e instanceof Pc?e.setMapInternal(null):e instanceof Ac&&e.getLayers().forEach(ph)}function hh(e,t){if(e instanceof Pc)e.setMapInternal(t);else if(e instanceof Ac){const n=e.getLayers().getArray();for(let e=0,i=n.length;e<i;++e)hh(n[e],t)}}const fh=class extends ps{constructor(e){super(),e=e||{},this.on,this.once,this.un;const t=function(e){let t=null;void 0!==e.keyboardEventTarget&&(t="string"==typeof e.keyboardEventTarget?document.getElementById(e.keyboardEventTarget):e.keyboardEventTarget);const n={},i=e.layers&&"function"==typeof e.layers.getLayers?e.layers:new Ac({layers:e.layers});let r,o,s;return n[Rs]=i,n[Ls]=e.target,n[Os]=e.view instanceof cl?e.view:new cl,void 0!==e.controls&&(Array.isArray(e.controls)?r=new _s(e.controls.slice()):(Fs("function"==typeof e.controls.getArray,"Expected `controls` to be an array or an `ol/Collection.js`"),r=e.controls)),void 0!==e.interactions&&(Array.isArray(e.interactions)?o=new _s(e.interactions.slice()):(Fs("function"==typeof e.interactions.getArray,"Expected `interactions` to be an array or an `ol/Collection.js`"),o=e.interactions)),void 0!==e.overlays?Array.isArray(e.overlays)?s=new _s(e.overlays.slice()):(Fs("function"==typeof e.overlays.getArray,"Expected `overlays` to be an array or an `ol/Collection.js`"),s=e.overlays):s=new _s,{controls:r,interactions:o,keyboardEventTarget:t,overlays:s,values:n}}(e);this.renderComplete_=!1,this.loaded_=!0,this.boundHandleBrowserEvent_=this.handleBrowserEvent.bind(this),this.maxTilesLoading_=void 0!==e.maxTilesLoading?e.maxTilesLoading:16,this.pixelRatio_=void 0!==e.pixelRatio?e.pixelRatio:ws,this.postRenderTimeoutHandle_,this.animationDelayKey_,this.animationDelay_=this.animationDelay_.bind(this),this.coordinateToPixelTransform_=[1,0,0,1,0,0],this.pixelToCoordinateTransform_=[1,0,0,1,0,0],this.frameIndex_=0,this.frameState_=null,this.previousExtent_=null,this.viewPropertyListenerKey_=null,this.viewChangeListenerKey_=null,this.layerGroupPropertyListenerKeys_=null,this.viewport_=document.createElement("div"),this.viewport_.className="ol-viewport"+("ontouchstart"in window?" ol-touch":""),this.viewport_.style.position="relative",this.viewport_.style.overflow="hidden",this.viewport_.style.width="100%",this.viewport_.style.height="100%",this.overlayContainer_=document.createElement("div"),this.overlayContainer_.style.position="absolute",this.overlayContainer_.style.zIndex="0",this.overlayContainer_.style.width="100%",this.overlayContainer_.style.height="100%",this.overlayContainer_.style.pointerEvents="none",this.overlayContainer_.className="ol-overlaycontainer",this.viewport_.appendChild(this.overlayContainer_),this.overlayContainerStopEvent_=document.createElement("div"),this.overlayContainerStopEvent_.style.position="absolute",this.overlayContainerStopEvent_.style.zIndex="0",this.overlayContainerStopEvent_.style.width="100%",this.overlayContainerStopEvent_.style.height="100%",this.overlayContainerStopEvent_.style.pointerEvents="none",this.overlayContainerStopEvent_.className="ol-overlaycontainer-stopevent",this.viewport_.appendChild(this.overlayContainerStopEvent_),this.mapBrowserEventHandler_=null,this.moveTolerance_=e.moveTolerance,this.keyboardEventTarget_=t.keyboardEventTarget,this.targetChangeHandlerKeys_=null,this.targetElement_=null,this.resizeObserver_=new ResizeObserver(()=>this.updateSize()),this.controls=t.controls||Ml(),this.interactions=t.interactions||function(e){e=e||{};const t=new _s,n=new Pl(-.005,.05,100);return(void 0===e.altShiftDragRotate||e.altShiftDragRotate)&&t.push(new Ql),(void 0===e.doubleClickZoom||e.doubleClickZoom)&&t.push(new Ol({delta:e.zoomDelta,duration:e.zoomDuration})),(void 0===e.dragPan||e.dragPan)&&t.push(new Yl({onFocusOnly:e.onFocusOnly,kinetic:n})),(void 0===e.pinchRotate||e.pinchRotate)&&t.push(new uc),(void 0===e.pinchZoom||e.pinchZoom)&&t.push(new dc({duration:e.zoomDuration})),(void 0===e.keyboard||e.keyboard)&&(t.push(new ac),t.push(new lc({delta:e.zoomDelta,duration:e.zoomDuration}))),(void 0===e.mouseWheelZoom||e.mouseWheelZoom)&&t.push(new cc({onFocusOnly:e.onFocusOnly,duration:e.zoomDuration})),(void 0===e.shiftDragZoom||e.shiftDragZoom)&&t.push(new ic({duration:e.zoomDuration})),t}({onFocusOnly:!0}),this.overlays_=t.overlays,this.overlayIdIndex_={},this.renderer_=null,this.postRenderFunctions_=[],this.tileQueue_=new Ns(this.getTilePriority.bind(this),this.handleTileChange_.bind(this)),this.addChangeListener(Rs,this.handleLayerGroupChanged_),this.addChangeListener(Os,this.handleViewChanged_),this.addChangeListener(zs,this.handleSizeChanged_),this.addChangeListener(Ls,this.handleTargetChanged_),this.setProperties(t.values);const n=this;!e.view||e.view instanceof cl||e.view.then(function(e){n.setView(new cl(e))}),this.controls.addEventListener(Po,e=>{e.element.setMap(this)}),this.controls.addEventListener(Ro,e=>{e.element.setMap(null)}),this.interactions.addEventListener(Po,e=>{e.element.setMap(this)}),this.interactions.addEventListener(Ro,e=>{e.element.setMap(null)}),this.overlays_.addEventListener(Po,e=>{this.addOverlayInternal_(e.element)}),this.overlays_.addEventListener(Ro,e=>{const t=e.element.getId();void 0!==t&&delete this.overlayIdIndex_[t.toString()],e.element.setMap(null)}),this.controls.forEach(e=>{e.setMap(this)}),this.interactions.forEach(e=>{e.setMap(this)}),this.overlays_.forEach(this.addOverlayInternal_.bind(this))}addControl(e){this.getControls().push(e)}addInteraction(e){this.getInteractions().push(e)}addLayer(e){this.getLayerGroup().getLayers().push(e)}handleLayerAdd_(e){hh(e.layer,this)}addOverlay(e){this.getOverlays().push(e)}addOverlayInternal_(e){const t=e.getId();void 0!==t&&(this.overlayIdIndex_[t.toString()]=e),e.setMap(this)}disposeInternal(){this.controls.clear(),this.interactions.clear(),this.overlays_.clear(),this.resizeObserver_.disconnect(),this.setTarget(null),super.disposeInternal()}forEachFeatureAtPixel(e,t,n){if(!this.frameState_||!this.renderer_)return;const i=this.getCoordinateFromPixelInternal(e),r=void 0!==(n=void 0!==n?n:{}).hitTolerance?n.hitTolerance:0,o=void 0!==n.layerFilter?n.layerFilter:Ko,s=!1!==n.checkWrapped;return this.renderer_.forEachFeatureAtCoordinate(i,this.frameState_,r,s,t,null,o,null)}getFeaturesAtPixel(e,t){const n=[];return this.forEachFeatureAtPixel(e,function(e){n.push(e)},t),n}getAllLayers(){const e=[];return function t(n){n.forEach(function(n){n instanceof Ac?t(n.getLayers()):e.push(n)})}(this.getLayers()),e}hasFeatureAtPixel(e,t){if(!this.frameState_||!this.renderer_)return!1;const n=this.getCoordinateFromPixelInternal(e),i=void 0!==(t=void 0!==t?t:{}).layerFilter?t.layerFilter:Ko,r=void 0!==t.hitTolerance?t.hitTolerance:0,o=!1!==t.checkWrapped;return this.renderer_.hasFeatureAtCoordinate(n,this.frameState_,r,o,i,null)}getEventCoordinate(e){return this.getCoordinateFromPixel(this.getEventPixel(e))}getEventCoordinateInternal(e){return this.getCoordinateFromPixelInternal(this.getEventPixel(e))}getEventPixel(e){const t=this.viewport_.getBoundingClientRect(),n=this.getSize(),i=t.width/n[0],r=t.height/n[1],o="changedTouches"in e?e.changedTouches[0]:e;return[(o.clientX-t.left)/i,(o.clientY-t.top)/r]}getTarget(){return this.get(Ls)}getTargetElement(){return this.targetElement_}getCoordinateFromPixel(e){return vo(this.getCoordinateFromPixelInternal(e),this.getView().getProjection())}getCoordinateFromPixelInternal(e){const t=this.frameState_;return t?Ys(t.pixelToCoordinateTransform,e.slice()):null}getControls(){return this.controls}getOverlays(){return this.overlays_}getOverlayById(e){const t=this.overlayIdIndex_[e.toString()];return void 0!==t?t:null}getInteractions(){return this.interactions}getLayerGroup(){return this.get(Rs)}setLayers(e){const t=this.getLayerGroup();if(e instanceof _s)return void t.setLayers(e);const n=t.getLayers();n.clear(),n.extend(e)}getLayers(){return this.getLayerGroup().getLayers()}getLoadingOrNotReady(){const e=this.getLayerGroup().getLayerStatesArray();for(let t=0,n=e.length;t<n;++t){const n=e[t];if(!n.visible)continue;const i=n.layer.getRenderer();if(i&&!i.ready)return!0;const r=n.layer.getSource();if(r&&r.loading)return!0}return!1}getPixelFromCoordinate(e){const t=bo(e,this.getView().getProjection());return this.getPixelFromCoordinateInternal(t)}getPixelFromCoordinateInternal(e){const t=this.frameState_;return t?Ys(t.coordinateToPixelTransform,e.slice(0,2)):null}getRenderer(){return this.renderer_}getSize(){return this.get(zs)}getView(){return this.get(Os)}getViewport(){return this.viewport_}getOverlayContainer(){return this.overlayContainer_}getOverlayContainerStopEvent(){return this.overlayContainerStopEvent_}getOwnerDocument(){const e=this.getTargetElement();return e?e.ownerDocument:document}getTilePriority(e,t,n,i){return function(e,t,n,i,r){if(!e||!(n in e.wantedTiles))return js;if(!e.wantedTiles[n][t.getKey()])return js;const o=e.viewState.center,s=i[0]-o[0],a=i[1]-o[1];return 65536*Math.log(r)+Math.sqrt(s*s+a*a)/r}(this.frameState_,e,t,n,i)}handleBrowserEvent(e,t){t=t||e.type;const n=new ms(t,this,e);this.handleMapBrowserEvent(n)}handleMapBrowserEvent(e){if(!this.frameState_)return;const t=e.originalEvent,n=t.type;if(n===Es||n===Bo||n===jo){const e=this.getOwnerDocument(),n=this.viewport_.getRootNode?this.viewport_.getRootNode():e,i=t.target,r=n instanceof ShadowRoot?n.host===i?n.host.ownerDocument:n:n===e?e.documentElement:n;if(this.overlayContainerStopEvent_.contains(i)||!r.contains(i))return}if(e.frameState=this.frameState_,!1!==this.dispatchEvent(e)){const t=this.getInteractions().getArray().slice();for(let n=t.length-1;n>=0;n--){const i=t[n];if(i.getMap()===this&&i.getActive()&&this.getTargetElement()&&(!i.handleEvent(e)||e.propagationStopped))break}}}handlePostRender(){const e=this.frameState_,t=this.tileQueue_;if(!t.isEmpty()){let n=this.maxTilesLoading_,i=n;if(e){const t=e.viewHints;if(t[0]||t[1]){const t=Date.now()-e.time>8;n=t?0:8,i=t?0:2}}t.getTilesLoading()<n&&(t.reprioritize(),t.loadMoreTiles(n,i))}e&&this.renderer_&&!e.animate&&(this.renderComplete_?(this.hasListener(Tc)&&this.renderer_.dispatchRenderEvent(Tc,e),!1===this.loaded_&&(this.loaded_=!0,this.dispatchEvent(new gs(Ps,this,e)))):!0===this.loaded_&&(this.loaded_=!1,this.dispatchEvent(new gs(Ms,this,e))));const n=this.postRenderFunctions_;if(e)for(let t=0,i=n.length;t<i;++t)n[t](this,e);n.length=0}handleSizeChanged_(){this.getView()&&!this.getView().getAnimating()&&this.getView().resolveConstraints(0),this.render()}handleTargetChanged_(){if(this.mapBrowserEventHandler_){for(let e=0,t=this.targetChangeHandlerKeys_.length;e<t;++e)os(this.targetChangeHandlerKeys_[e]);this.targetChangeHandlerKeys_=null,this.viewport_.removeEventListener(Oo,this.boundHandleBrowserEvent_),this.viewport_.removeEventListener(Bo,this.boundHandleBrowserEvent_),this.mapBrowserEventHandler_.dispose(),this.mapBrowserEventHandler_=null,this.viewport_.remove()}if(this.targetElement_){this.resizeObserver_.unobserve(this.targetElement_);const e=this.targetElement_.getRootNode();e instanceof ShadowRoot&&this.resizeObserver_.unobserve(e.host),this.setSize(void 0)}const e=this.getTarget(),t="string"==typeof e?document.getElementById(e):e;if(this.targetElement_=t,t){t.appendChild(this.viewport_),this.renderer_||(this.renderer_=new dh(this)),this.mapBrowserEventHandler_=new Is(this,this.moveTolerance_);for(const e in ys)this.mapBrowserEventHandler_.addEventListener(ys[e],this.handleMapBrowserEvent.bind(this));let e;if(this.viewport_.addEventListener(Oo,this.boundHandleBrowserEvent_,!1),this.viewport_.addEventListener(Bo,this.boundHandleBrowserEvent_,!!Ss&&{passive:!1}),this.keyboardEventTarget_)e=this.keyboardEventTarget_;else{const n=t.getRootNode();e=n instanceof ShadowRoot?n.host:t}this.targetChangeHandlerKeys_=[is(e,jo,this.handleBrowserEvent,this),is(e,Do,this.handleBrowserEvent,this)];const n=t.getRootNode();n instanceof ShadowRoot&&this.resizeObserver_.observe(n.host),this.resizeObserver_.observe(t)}else this.renderer_&&(clearTimeout(this.postRenderTimeoutHandle_),this.postRenderTimeoutHandle_=void 0,this.postRenderFunctions_.length=0,this.renderer_.dispose(),this.renderer_=null),this.animationDelayKey_&&(cancelAnimationFrame(this.animationDelayKey_),this.animationDelayKey_=void 0);this.updateSize()}handleTileChange_(){this.render()}handleViewPropertyChanged_(){this.render()}handleViewChanged_(){this.viewPropertyListenerKey_&&(os(this.viewPropertyListenerKey_),this.viewPropertyListenerKey_=null),this.viewChangeListenerKey_&&(os(this.viewChangeListenerKey_),this.viewChangeListenerKey_=null);const e=this.getView();e&&(this.updateViewportSize_(this.getSize()),this.viewPropertyListenerKey_=is(e,zo,this.handleViewPropertyChanged_,this),this.viewChangeListenerKey_=is(e,Lo,this.handleViewPropertyChanged_,this),e.resolveConstraints(0)),this.render()}handleLayerGroupChanged_(){this.layerGroupPropertyListenerKeys_&&(this.layerGroupPropertyListenerKeys_.forEach(os),this.layerGroupPropertyListenerKeys_=null);const e=this.getLayerGroup();e&&(this.handleLayerAdd_(new wc("addlayer",e)),this.layerGroupPropertyListenerKeys_=[is(e,zo,this.render,this),is(e,Lo,this.render,this),is(e,"addlayer",this.handleLayerAdd_,this),is(e,"removelayer",this.handleLayerRemove_,this)]),this.render()}isRendered(){return!!this.frameState_}animationDelay_(){this.animationDelayKey_=void 0,this.renderFrame_(Date.now())}renderSync(){this.animationDelayKey_&&cancelAnimationFrame(this.animationDelayKey_),this.animationDelay_()}redrawText(){if(!this.frameState_)return;const e=this.frameState_.layerStatesArray;for(let t=0,n=e.length;t<n;++t){const n=e[t].layer;n.hasRenderer()&&n.getRenderer().handleFontsChanged()}}render(){this.renderer_&&void 0===this.animationDelayKey_&&(this.animationDelayKey_=requestAnimationFrame(this.animationDelay_))}removeControl(e){return this.getControls().remove(e)}removeInteraction(e){return this.getInteractions().remove(e)}removeLayer(e){return this.getLayerGroup().getLayers().remove(e)}handleLayerRemove_(e){ph(e.layer)}removeOverlay(e){return this.getOverlays().remove(e)}renderFrame_(e){const t=this.getSize(),n=this.getView(),i=this.frameState_;let r=null;if(void 0!==t&&gu(t)&&n&&n.isDef()){const i=n.getHints(this.frameState_?this.frameState_.viewHints:void 0),o=n.getState();if(r={animate:!1,coordinateToPixelTransform:this.coordinateToPixelTransform_,declutter:null,extent:zi(o.center,o.resolution,o.rotation,t),index:this.frameIndex_++,layerIndex:0,layerStatesArray:this.getLayerGroup().getLayerStatesArray(),pixelRatio:this.pixelRatio_,pixelToCoordinateTransform:this.pixelToCoordinateTransform_,postRenderFunctions:[],size:t,tileQueue:this.tileQueue_,time:e,usedTiles:{},viewState:o,viewHints:i,wantedTiles:{},mapId:us(this),renderTargets:{}},o.nextCenter&&o.nextResolution){const e=isNaN(o.nextRotation)?o.rotation:o.nextRotation;r.nextExtent=zi(o.nextCenter,o.nextResolution,e,t)}}this.frameState_=r,this.renderer_.renderFrame(r),r&&(r.animate&&this.render(),Array.prototype.push.apply(this.postRenderFunctions_,r.postRenderFunctions),i&&(!this.previousExtent_||!qi(this.previousExtent_)&&!wi(r.extent,this.previousExtent_))&&(this.dispatchEvent(new gs("movestart",this,i)),this.previousExtent_=vi(this.previousExtent_)),this.previousExtent_&&!r.viewHints[0]&&!r.viewHints[1]&&!wi(r.extent,this.previousExtent_)&&(this.dispatchEvent(new gs("moveend",this,r)),pi(r.extent,this.previousExtent_))),this.dispatchEvent(new gs(Ts,this,r)),this.renderComplete_=(this.hasListener(Ms)||this.hasListener(Ps)||this.hasListener(Tc))&&!this.tileQueue_.getTilesLoading()&&!this.tileQueue_.getCount()&&!this.getLoadingOrNotReady(),this.postRenderTimeoutHandle_||(this.postRenderTimeoutHandle_=setTimeout(()=>{this.postRenderTimeoutHandle_=void 0,this.handlePostRender()},0))}setLayerGroup(e){const t=this.getLayerGroup();t&&this.handleLayerRemove_(new wc("removelayer",t)),this.set(Rs,e)}setSize(e){this.set(zs,e)}setTarget(e){this.set(Ls,e)}setView(e){if(!e||e instanceof cl)return void this.set(Os,e);this.set(Os,new cl);const t=this;e.then(function(e){t.setView(new cl(e))})}updateSize(){const e=this.getTargetElement();let t;if(e){const n=getComputedStyle(e),i=e.offsetWidth-parseFloat(n.borderLeftWidth)-parseFloat(n.paddingLeft)-parseFloat(n.paddingRight)-parseFloat(n.borderRightWidth),r=e.offsetHeight-parseFloat(n.borderTopWidth)-parseFloat(n.paddingTop)-parseFloat(n.paddingBottom)-parseFloat(n.borderBottomWidth);isNaN(i)||isNaN(r)||(t=[Math.max(0,i),Math.max(0,r)],!gu(t)&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)&&ci("No map visible because the map container's width or height are 0."))}const n=this.getSize();!t||n&&$o(t,n)||(this.setSize(t),this.updateViewportSize_(t))}updateViewportSize_(e){const t=this.getView();t&&t.setViewportSize(e)}};let _h;function gh(){if(!_h)throw Error('Map must be initialized before it can be used. Use "createMap" when starting the app');return _h}function mh(t){const[n,i]=(0,c.useState)(t.point.queryText),[r,o]=(0,c.useState)(t.point.queryText);(0,c.useEffect)(()=>o(t.point.queryText),[t.point.queryText]);const[s,a]=(0,c.useState)(!1),u=ti({query:"(max-width: 44rem)"}),[d,p]=(0,c.useState)([]),[h,f]=(0,c.useState)([]),[_]=(0,c.useState)(new bh(qt(),(e,t,n)=>{const r=[],o=Eo.parse(e,!0);o.hasPOIs()&&r.push(new gn(o)),n.forEach(e=>{const t=jt(e);r.push(new _n(t.mainText,t.secondText,e.point,e.extent?e.extent:ht(e.point)))}),i(e),f(r)})),[g]=(0,c.useState)(new xh(qt(),t.point,Eo.handleGeocodingResponse));(0,c.useEffect)(()=>f([]),[t.point]);const[m,y]=(0,c.useState)(-1);(0,c.useEffect)(()=>y(-1),[h]);const v=(0,c.useRef)(null),b=(0,c.useRef)(null),x=(0,c.useCallback)(e=>{if("Escape"===e.key)return o(n),void b.current.blur();switch(e.key){case"ArrowUp":case"ArrowDown":y(t=>{t<0&&o(n);const i="ArrowUp"===e.key?-1:1,r=function(e,t,n){const i=t+n;return i>=e?-1:i<-1?e-1:i}(h.length,t,i);if(h.length>0)if(r<0)o(n);else if(r>=0){const e=h[r];o(e instanceof _n?e.mainText:n)}return r}),e.preventDefault();break;case"Enter":case"Tab":const i=Bt(r);if(i)t.onAddressSelected(r,i);else if(h.length>0){const e=h[m>=0?m:0];e instanceof gn?(yh(g,e.result,t.map),t.onAddressSelected(e.result.text(e.result.poi),void 0)):m<0&&!t.point.isInitialized?qt().geocode(r,"nominatim").then(n=>{if(n&&n.hits.length>0){const e=n.hits[0],i=function(e){const t=e.name?e.name:e.country,n=e.street?e.street+(e.housenumber?" "+e.housenumber:""):"",i=e.street&&0==t.indexOf(e.street)?n:t.split(",")[0];return{mainText:i,secondText:(!i.includes(n)&&n.length>0?n+", ":"")+(!i.includes(e.postcode)&&e.postcode?e.postcode+" ":"")+(!i.includes(e.city)&&e.city?e.city+", ":"")+(!i.includes(e.state)&&e.state?e.state+", ":"")+e.country}}(e);t.onAddressSelected(i.mainText+", "+i.secondText,e.point)}else e instanceof _n&&t.onAddressSelected(e.toText(),e.point)}):e instanceof _n&&t.onAddressSelected(e.toText(),e.point)}"Enter"==e.key&&b.current.blur()}},[h,m]),w=s?Ln.fullscreen:"",k=t.point.type,A=co(gh().getView().getCenter()),S={lng:A[0],lat:A[1]},E=0==t.index&&!u;return(0,e.jsx)("div",{className:w,children:(0,e.jsxs)("div",{ref:v,className:[Ln.inputContainer,t.dropPreviewIndex==t.index?t.dropPreviewIndex<t.moveStartIndex?Ln.topBorder:Ln.bottomBorder:{}].join(" "),children:[(0,e.jsx)(Ct,{className:Ln.btnClose,onMouseDown:e=>e.preventDefault(),onClick:()=>b.current.blur(),children:(0,e.jsx)(Cn,{})}),(0,e.jsx)("input",{style:t.moveStartIndex==t.index?{borderWidth:"2px",margin:"-1px"}:{},className:Ln.input,type:"text",autoFocus:E,ref:b,autoComplete:"off",onChange:e=>{const n=e.target.value;o(n),Bt(n)||_.request(e.target.value,S,gh().getView().getZoom()),t.onChange(n)},onKeyDown:x,onFocus:()=>{a(!0),t.clearDragDrop(),d.length>0&&f(d)},onBlur:()=>{a(!1),_.cancel(),p(h),f([])},value:r,placeholder:l(k==Ht.From?"from_hint":k==Ht.To?"to_hint":"via_hint")}),(0,e.jsx)(Ct,{tabIndex:-1,style:0==r.length?{display:"none"}:{},className:Ln.btnInputClear,onMouseDown:e=>e.preventDefault(),onClick:e=>{o(""),t.onChange(""),b.current.focus()},children:(0,e.jsx)(En,{})}),(0,e.jsx)(Ct,{tabIndex:-1,style:0==r.length&&s?{}:{display:"none"},className:Ln.btnCurrentLocation,onMouseDown:e=>e.preventDefault(),onClick:()=>{var e;e=t.onAddressSelected,navigator.geolocation?(e(l("searching_location")+" ...",void 0,void 0),navigator.geolocation.getCurrentPosition(t=>{const n={lat:t.coords.latitude,lng:t.coords.longitude};e(l("current_location"),n,ht(n))},t=>{Q.dispatch(new C(l("searching_location_failed")+": "+t.message)),e("",void 0,void 0)},{timeout:3e5,enableHighAccuracy:!0})):Q.dispatch(new C("Geolocation is not supported in this browser")),b.current.blur()},children:(0,e.jsx)(Pn,{})}),h.length>0&&(0,e.jsx)(vh,{inputRef:v.current,index:t.index,isSmallScreen:u,children:(0,e.jsx)(mn,{items:h,highlightedItem:h[m],onSelect:e=>{e instanceof _n?t.onAddressSelected(e.toText(),e.point):e instanceof gn&&(yh(g,e.result,t.map),o(e.result.text(e.result.poi))),b.current.blur()}})})]})})}function yh(e,t,n){if(!t.hasPOIs())return;const i=go(n.getView().calculateExtent(n.getSize()),"EPSG:3857","EPSG:4326");e.request(t,i)}function vh({inputRef:t,children:n,index:i,isSmallScreen:r}){return(0,e.jsx)(e.Fragment,{children:r?(0,e.jsx)("div",{className:Ln.smallList,children:n}):(0,e.jsx)(si,{inputElement:t,keepClearAtBottom:i>5?270:0,children:n})})}class bh{constructor(e,t){this.requestId=0,this.timeout=new wh(100),this.api=e,this.onSuccess=t}request(e,t,n=11){this.requestAsync(e,t,n).then(()=>{})}cancel(){this.getNextId()}async requestAsync(e,t,n){const i="default",r=this.getNextId();if(this.timeout.cancel(),e&&!(e.length<2)){await this.timeout.wait();try{const o=t?{point:Nt(t),location_bias_scale:"0.5",zoom:""+(n+1)}:{},s=await this.api.geocode(e,i,o),a=bh.filterDuplicates(s.hits);r===this.requestId&&this.onSuccess(e,i,a)}catch(e){throw Error("Could not get geocoding results because: "+e)}}}getNextId(){return this.requestId++,this.requestId}static filterDuplicates(e){const t=new Set;return e.filter(e=>!t.has(e.osm_id)&&(t.add(e.osm_id),!0))}}class xh{constructor(e,t,n){this.requestId=0,this.timeout=new wh(200),this.api=e,this.onSuccess=n,this.queryPoint=t}cancel(){this.getNextId()}request(e,t){this.requestAsync(e,t).then(()=>{})}async requestAsync(e,t){const n=this.getNextId();this.timeout.cancel(),await this.timeout.wait();try{let i=[];if(e.location){let n={point:Nt({lat:(t[1]+t[3])/2,lng:(t[0]+t[2])/2}),location_bias_scale:"0.5",zoom:"9"};const r=await this.api.geocode(e.location,"default",n);if(r.hits.length>0){const t=r.hits[0].extent?r.hits[0].extent:ht(r.hits[0].point,.01);t&&(i=await this.api.reverseGeocode(e.query,t))}}else i=await this.api.reverseGeocode(e.query,t);n===this.requestId&&this.onSuccess(i,e,this.queryPoint)}catch(e){throw Error("Could not get geocoding results because: "+e)}}getNextId(){return this.requestId++,this.requestId}}class wh{constructor(e){this.handle=0,this.delay=e}wait(){return new Promise(e=>{this.handle=window.setTimeout(e,this.delay)})}cancel(){clearTimeout(this.handle)}}const kh={cursor:"pointer",stroke:"none"};function Ch({color:t,number:n,size:i=0,cursor:r}){return(0,e.jsxs)("svg",{"aria-hidden":"true",focusable:"false",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 384 512",height:i,style:{...kh,fill:t,cursor:r||kh.cursor},children:[(0,e.jsx)("path",{d:"M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0z"}),void 0===n?(0,e.jsx)("path",{d:"M192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z",fill:"white"}):(0,e.jsx)("circle",{cx:"192",cy:"190",r:"150",fill:"white"}),(0,e.jsx)("text",{x:"50%",y:"55%",textAnchor:"middle",style:{fontSize:210},fill:"black",children:void 0!==n?n:""})]})}var Ah=n(4858),Sh={};Sh.styleTagTransform=we(),Sh.setAttributes=ye(),Sh.insert=ge().bind(null,"head"),Sh.domAPI=fe(),Sh.insertStyleElement=be(),pe()(Ah.A,Sh);const Eh=Ah.A&&Ah.A.locals?Ah.A.locals:void 0;var Ih;function Th(){return Th=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Th.apply(null,arguments)}const Mh=function(e){return c.createElement("svg",Th({xmlns:"http://www.w3.org/2000/svg",width:48,height:48},e),Ih||(Ih=c.createElement("path",{fill:"currentColor",d:"M14 36q-5 0-8.5-3.5T2 24t3.5-8.5T14 12h20q5 0 8.5 3.5T46 24t-3.5 8.5T34 36Zm0-3h20q3.75 0 6.375-2.625T43 24t-2.625-6.375T34 15H14q-3.75 0-6.375 2.625T5 24t2.625 6.375T14 33m20.05-3.95q2.1 0 3.575-1.475T39.1 24t-1.475-3.575-3.575-1.475-3.575 1.475T29 24t1.475 3.575 3.575 1.475M24 24"})))};var Ph;function Rh(){return Rh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Rh.apply(null,arguments)}const zh=function(e){return c.createElement("svg",Rh({xmlns:"http://www.w3.org/2000/svg",width:48,height:48},e),Ph||(Ph=c.createElement("path",{fill:"currentColor",d:"M14 36q-5 0-8.5-3.5T2 24t3.5-8.5T14 12h20q5 0 8.5 3.5T46 24t-3.5 8.5T34 36Zm0-3h20q3.75 0 6.375-2.625T43 24t-2.625-6.375T34 15H14q-3.75 0-6.375 2.625T5 24t2.625 6.375T14 33m-.05-3.95q2.1 0 3.575-1.475T19 24t-1.475-3.575-3.575-1.475-3.575 1.475T8.9 24t1.475 3.575 3.575 1.475M24 24"})))};function Lh({profile:t}){const n=(0,c.useContext)(Y),i=pt.create(It.profile_group_mapping)[t.name],r=It.profile_group_mapping[i];return(0,e.jsxs)("div",{className:Eh.parent,children:[i&&(0,e.jsx)("span",{className:Eh.groupProfileOptionsHeader,children:l(i+"_settings")}),i&&(0,e.jsx)("div",{className:Eh.settingsTable,children:(0,e.jsx)("div",{className:Eh.groupProfileOptions,children:r.options.map(n=>(0,e.jsxs)("div",{children:[(0,e.jsx)("input",{checked:t.name===n.profile,type:"radio",id:n.profile,name:i,value:n.profile,onChange:()=>{return e=n.profile,void Q.dispatch(new h({name:t.name===e?"car":e}));var e}}),(0,e.jsx)("label",{htmlFor:n.profile,children:l(i+"_settings_"+n.profile)})]},n.profile))})}),(0,e.jsx)("div",{className:Eh.title,children:l("settings")}),(0,e.jsx)("div",{className:Eh.settingsTable,children:(0,e.jsx)(Oh,{title:l("distance_unit",[l(n.showDistanceInMiles?"mi":"km")]),enabled:n.showDistanceInMiles,onClick:()=>Q.dispatch(new q({showDistanceInMiles:!n.showDistanceInMiles}))})}),(0,e.jsx)("div",{className:Eh.title,children:l("settings_gpx_export")}),(0,e.jsx)("div",{className:Eh.settingsTable,children:(0,e.jsxs)("div",{className:Eh.settingsCheckboxes,children:[(0,e.jsx)(Fh,{title:l("settings_gpx_export_trk"),enabled:n.gpxExportTrk,onClick:()=>Q.dispatch(new q({gpxExportTrk:!n.gpxExportTrk}))}),(0,e.jsx)(Fh,{title:l("settings_gpx_export_rte"),enabled:n.gpxExportRte,onClick:()=>Q.dispatch(new q({gpxExportRte:!n.gpxExportRte}))}),(0,e.jsx)(Fh,{title:l("settings_gpx_export_wpt"),enabled:n.gpxExportWpt,onClick:()=>Q.dispatch(new q({gpxExportWpt:!n.gpxExportWpt}))})]})}),(0,e.jsxs)("div",{className:Eh.infoLine,children:[(0,e.jsx)("a",{href:"https://www.graphhopper.com/maps-route-planner/",children:l("info")}),(0,e.jsx)("a",{href:"https://github.com/graphhopper/graphhopper-maps/issues",children:l("feedback")}),(0,e.jsx)("a",{href:"https://www.graphhopper.com/imprint/",children:l("imprint")}),(0,e.jsx)("a",{href:"https://www.graphhopper.com/privacy/",children:l("privacy")}),(0,e.jsx)("a",{href:"https://www.graphhopper.com/terms/",children:l("terms")})]})]})}function Oh({title:t,enabled:n,onClick:i}){return(0,e.jsxs)("div",{className:Eh.settingsToggle,onClick:i,children:[(0,e.jsx)(Ct,{style:{color:n?"":"lightgray"},className:Eh.toggleButton,children:n?(0,e.jsx)(Mh,{}):(0,e.jsx)(zh,{})}),(0,e.jsx)("div",{style:{color:n?"#5b616a":"gray"},children:t})]})}function Fh({title:t,enabled:n,onClick:i}){return(0,e.jsxs)("div",{className:Eh.settingsCheckbox,children:[(0,e.jsx)("input",{type:"checkbox",checked:n,onChange:i}),(0,e.jsx)("label",{style:{color:n?"#5b616a":"gray"},children:t})]})}function jh({points:t,profile:n,map:i}){const[r,o]=(0,c.useState)(!1),[s,a]=(0,c.useState)(!0),[u,d]=(0,c.useState)(-1),[p,h]=(0,c.useState)(-1);return(0,e.jsxs)("div",{className:tn.searchBoxParent,children:[(0,e.jsx)("div",{className:tn.searchBox,children:t.map((n,r)=>(0,e.jsx)(Dh,{index:r,points:t,deletable:t.length>2,onChange:()=>{Q.dispatch(new S),Q.dispatch(new b(n)),Q.dispatch(new $)},showTargetIcons:s,moveStartIndex:u,onMoveStartSelect:(e,t)=>{d(e),a(t)},dropPreviewIndex:p,onDropPreviewSelect:h,map:i},n.id))}),(0,e.jsxs)("div",{className:tn.lastSearchLine,children:[(0,e.jsxs)(Ct,{style:s&&u>=0&&u+1<t.length?{paddingTop:"2rem"}:{},onClick:()=>Q.dispatch(new _(t.length,{lat:0,lng:0},!1,!0)),className:tn.addSearchBox,children:[(0,e.jsx)(ln,{}),(0,e.jsx)("div",{children:l("add_to_route")})]}),(0,e.jsx)(Ct,{className:tn.settingsButton,onClick:()=>o(!r),children:l(r?"settings_close":"settings")})]}),r&&(0,e.jsx)(Lh,{profile:n})]})}const Dh=({index:t,points:n,onChange:i,deletable:r,moveStartIndex:o,showTargetIcons:s,onMoveStartSelect:a,dropPreviewIndex:c,onDropPreviewSelect:u,map:d})=>{const h=n[t];function f(){u(-1);const e=o<t?t+1:t;Q.dispatch(new v(n[o],e)),a(t,!1),setTimeout(()=>{a(-1,!0)},1e3)}return(0,e.jsxs)(e.Fragment,{children:[(o<0||o==t)&&(0,e.jsx)("div",{title:l("drag_to_reorder"),className:tn.markerContainer,draggable:!0,onDragStart:()=>{o!=t&&(a(t,!0),u(-1))},onDragEnd:()=>{a(-1,!0),u(-1)},onClick:()=>{o==t?(a(-1,!0),u(-1)):a(t,!0)},children:(0,e.jsx)(Ch,{number:t>0&&t+1<n.length?""+t:void 0,cursor:"ns-resize",color:o>=0?"gray":h.color})}),o>=0&&o!=t&&(0,e.jsx)(Ct,{title:l("click to move selected input here"),className:[s?"":tn.hide,tn.markerTarget,c>=0&&c==t?tn.dropPreview:""].join(" "),style:o>t?{marginTop:"-2.4rem"}:{marginBottom:"-2.4rem"},onDragOver:e=>{e.preventDefault(),u(t)},onDragLeave:()=>u(-1),onDrop:f,onClick:f,children:(0,e.jsx)(dn,{})}),(0,e.jsx)("div",{className:tn.searchBoxInput,children:(0,e.jsx)(mh,{map:d,moveStartIndex:o,dropPreviewIndex:c,index:t,point:h,points:n,onCancel:()=>console.log("cancel"),onAddressSelected:(e,t)=>{const i=n.filter(e=>e.isInitialized).length;t&&i!=n.length&&Q.dispatch(new O(ht(t))),Q.dispatch(new p({...h,isInitialized:!!t,queryText:e,coordinate:t||h.coordinate},i>0))},clearDragDrop:()=>{a(-1,!0),u(-1)},onChange:i})}),r&&(0,e.jsx)(Ct,{title:l("delete_from_route"),onClick:()=>{Q.dispatch(new y(h)),a(-1,!0)},className:tn.removeSearchBox,children:(0,e.jsx)(on,{})})]})};var Nh=n(6315),Bh={};Bh.styleTagTransform=we(),Bh.setAttributes=ye(),Bh.insert=ge().bind(null,"head"),Bh.domAPI=fe(),Bh.insertStyleElement=be(),pe()(Nh.A,Bh);const qh=Nh.A&&Nh.A.locals?Nh.A.locals:void 0;var Gh;function Vh(){return Vh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Vh.apply(null,arguments)}const Wh=function(e){return c.createElement("svg",Vh({xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",className:"times-solid_svg__svg-inline--fa times-solid_svg__fa-times times-solid_svg__fa-w-11","data-icon":"times","data-prefix":"fas",viewBox:"0 0 352 512"},e),Gh||(Gh=c.createElement("path",{fill:"currentColor",d:"m242.72 256 100.07-100.07c12.28-12.28 12.28-32.19 0-44.48l-22.24-22.24c-12.28-12.28-32.19-12.28-44.48 0L176 189.28 75.93 89.21c-12.28-12.28-32.19-12.28-44.48 0L9.21 111.45c-12.28 12.28-12.28 32.19 0 44.48L109.28 256 9.21 356.07c-12.28 12.28-12.28 32.19 0 44.48l22.24 22.24c12.28 12.28 32.2 12.28 44.48 0L176 322.72l100.07 100.07c12.28 12.28 32.2 12.28 44.48 0l22.24-22.24c12.28-12.28 12.28-32.19 0-44.48z"})))};function Hh({error:t}){return(0,e.jsxs)("div",{className:qh.errorMessageContainer,children:[(0,e.jsx)("span",{className:qh.errorMessage,children:t.lastError}),(0,e.jsx)(Ct,{className:qh.errorMessageCloseBtn,onClick:()=>Q.dispatch(new I),children:(0,e.jsx)(Wh,{})})]})}var Uh=n(7382),$h={};$h.styleTagTransform=we(),$h.setAttributes=ye(),$h.insert=ge().bind(null,"head"),$h.domAPI=fe(),$h.insertStyleElement=be(),pe()(Uh.A,$h);const Kh=Uh.A&&Uh.A.locals?Uh.A.locals:void 0;var Xh;function Zh(){return Zh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Zh.apply(null,arguments)}const Yh=function(e){return c.createElement("svg",Zh({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),Xh||(Xh=c.createElement("path",{d:"M560-240 320-480l240-240 56 56-184 184 184 184z"})))};function Qh(){return Qh=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Qh.apply(null,arguments)}const Jh=function(e){return c.createElement("svg",Qh({xmlns:"http://www.w3.org/2000/svg",xmlSpace:"preserve",width:96,height:96,viewBox:"0 0 11 11"},e),c.createElement("path",{fill:"currentColor",d:"m4.194 10.685-.265-1.667q-.25-.092-.529-.251-.278-.159-.49-.33l-1.56.713L.12 6.98l1.428-1.044q-.026-.12-.033-.271-.007-.153-.007-.272t.007-.27.033-.272L.12 3.806l1.23-2.17 1.562.715q.211-.172.49-.331.277-.159.528-.238l.265-1.68h2.434l.265 1.667q.251.092.536.244.284.152.482.338l1.561-.715 1.23 2.17-1.428 1.019q.027.132.033.284t.007.284q0 .133-.007.278t-.033.278l1.429 1.032-1.23 2.17-1.562-.715q-.211.172-.482.337-.272.166-.536.245l-.265 1.667zm1.217-3.572q.714 0 1.217-.503.503-.502.503-1.217 0-.714-.503-1.217-.503-.502-1.217-.502t-1.217.502-.503 1.217q0 .715.503 1.217t1.217.503m0-.794q-.384 0-.655-.27-.271-.272-.271-.656 0-.383.271-.654.271-.272.655-.272t.655.272.271.654-.271.655-.655.271M4.83 9.891h1.164l.185-1.481q.437-.106.827-.331t.708-.542l1.402.608.53-.952L8.4 6.28q.053-.225.086-.443.033-.219.033-.444 0-.224-.027-.443-.026-.218-.092-.443l1.243-.913-.529-.952-1.402.608q-.304-.344-.688-.575-.384-.232-.847-.298L5.993.895H4.83l-.185 1.482q-.45.093-.84.318t-.695.555l-1.402-.608-.53.952 1.244.913q-.053.225-.086.443-.033.219-.033.443 0 .225.033.444.033.218.086.443l-1.243.913.529.952 1.402-.608q.318.317.708.542t.827.33z",style:{strokeWidth:.1}}),c.createElement("rect",{width:1.208,height:1.633,x:4.803,y:3.421,ry:.049,style:{fill:"#fff",strokeWidth:.209373}}))};function ef(){return ef=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ef.apply(null,arguments)}function tf(){return tf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},tf.apply(null,arguments)}function nf(){return nf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},nf.apply(null,arguments)}function rf(){return rf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},rf.apply(null,arguments)}function of(){return of=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},of.apply(null,arguments)}function sf(){return sf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},sf.apply(null,arguments)}function af(){return af=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},af.apply(null,arguments)}function lf(){return lf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},lf.apply(null,arguments)}function cf(){return cf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},cf.apply(null,arguments)}function uf(){return uf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},uf.apply(null,arguments)}function df(){return df=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},df.apply(null,arguments)}function pf(){return pf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},pf.apply(null,arguments)}function hf(){return hf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},hf.apply(null,arguments)}function ff(){return ff=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ff.apply(null,arguments)}var _f,gf,mf;function yf(){return yf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},yf.apply(null,arguments)}function vf(){return vf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},vf.apply(null,arguments)}const bf={car:function(e){return c.createElement("svg",tf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("path",{d:"m5.35 1043.364 13.272.015c0-2.144.003-3.484.002-4.136-.004-.324-.086-.354-.188-.527-.49-.78-2.167-3.815-2.352-4.103-.11-.157-.216-.203-.388-.189H8.364c-.206 0-.317.073-.406.189-.228.361-1.99 3.453-2.508 4.278-.095.151-.103.346-.11.526.003 1.98.005 2.974.01 3.946zm3.048-7.778 7.226.039 1.537 3.236H6.813Zm-1.055 4.442a1.041 1.041 0 1 1 0 2.083 1.041 1.041 0 0 1 0-2.083m9.265 0a1.041 1.041 0 1 1 0 2.083 1.041 1.041 0 0 1 0-2.083",style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:"1.38819px",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"m6.39 1043.127-.008 2.192",style:{stroke:"currentColor",fill:"currentColor",fillOpacity:1,strokeWidth:2.08227,strokeLinecap:"round",strokeLinejoin:"miter",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"m17.587 1043.12-.009 2.199",style:{stroke:"currentColor",fill:"currentColor",fillOpacity:1,strokeWidth:2.07309,strokeLinecap:"round",strokeLinejoin:"miter",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"m5.35 1043.364 13.275.015c-.001-2.144-.663-3.037-.553-4.43-2.15-3.365-1.269-3.902-6.134-3.9-3.52-.011-6.582.374-6.588 8.314zm3.232-7.753 6.81-.026 1.77 3.275H6.812Zm-1.239 4.417a1.041 1.041 0 1 1 0 2.083 1.041 1.041 0 0 1 0-2.083m9.265 0a1.041 1.041 0 1 1 0 2.083 1.041 1.041 0 0 1 0-2.083",style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:"1.38819px",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1},transform:"translate(0 -1028.362)"}))},small_truck:function(e){return c.createElement("svg",cf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M9.93 1035.133a.424.424 0 0 0-.423.424l-.104 8.262c2.162.024 5.242.01 7.704.015.254-.456.408-1.129 1.713-1.13 1.345 0 1.405.642 1.66 1.099h.471a.423.423 0 0 0 .423-.424v-7.823a.423.423 0 0 0-.423-.423z",style:{fill:"currentColor",stroke:"currentColor",fillOpacity:1,strokeWidth:1.15286,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"M3.697 1039.694h6.218v3.192H3.697z",style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:1.04201}}),c.createElement("path",{d:"M2.85 1040.73v3.68h1.706l-.004-.048a1.44 1.44 0 0 1 1.44-1.44 1.44 1.44 0 0 1 1.442 1.44l-.005.047h4.889v-3.68z",style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:1.0461}}),c.createElement("path",{d:"M5.624 1036.386c-3.576 7.11-3.044 4.821-3.076 7.505l1.366-.01 1.373-1.312 2.042-.382.922-.184 1.014.138.138-5.715c-.594-.018-3.162-.047-3.779-.046z",style:{stroke:"currentColor",fill:"none",strokeWidth:"1.04276px",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1}}),c.createElement("path",{d:"m5.402 1035.907 4.112-1.26.09 1.555z",style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:1.04201}}),c.createElement("circle",{cx:18.949,cy:1044.363,r:1.441,style:{stroke:"currentColor",fill:"#fff",fillOpacity:.0820312,strokeWidth:.864469,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:6.078,cy:1044.363,r:1.441,style:{stroke:"currentColor",fill:"#fff",fillOpacity:.0820312,strokeWidth:.864469,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"M7.999 1036.68h6.218v3.192H7.999z",style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:1.04201}})))},truck:function(e){return c.createElement("svg",uf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("rect",{width:7.3,height:2.796,x:6.392,y:1041.53,ry:.684,style:{strokeWidth:.99494,stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M1.417 1039.837a.02.02 0 0 0-.02.02v4.448q.001.021.02.021h2.039l-.004-.038a1.533 1.533 0 0 1 3.066 0l-.003.038h1.984c.012 0 .021-.012.021-.02v-4.448c0-.013-.01-.021-.021-.021z",style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:.99494}}),c.createElement("path",{d:"M1.244 1043.746H2.93l.506-1.555 1.002-.551 2.075-.2 1.401.114-.01-5.58c-1.188.02-6.147-.012-6.648 0-.028 3.015-.003 5.58-.012 7.772",style:{strokeOpacity:1,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:"1.19518px",stroke:"currentColor",fill:"none"}}),c.createElement("rect",{width:2.329,height:4.491,x:5.468,y:1036.143,ry:.022,style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:.99494}}),c.createElement("path",{d:"M10.047 1034.45c-.637 0-1.148.513-1.148 1.15v7.57c0 .636.511 1.15 1.148 1.15h4.579l-.004-.028a1.533 1.533 0 0 1 1.533-1.532 1.533 1.533 0 0 1 1.533 1.532l-.004.028h1.481a1.533 1.533 0 0 1 1.53-1.49 1.533 1.533 0 0 1 1.53 1.488 1.146 1.146 0 0 0 1.1-1.149v-7.569c0-.637-.51-1.15-1.148-1.15z",style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:2.00558,strokeOpacity:1}}),c.createElement("circle",{cx:16.288,cy:1044.289,r:1.533,fill:"none",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.919458,stroke:"currentColor",fillOpacity:0,fill:"#fff"}}),c.createElement("circle",{cx:4.887,cy:1044.289,r:1.533,fill:"none",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.919458,stroke:"currentColor",fillOpacity:0,fill:"#fff"}}),c.createElement("circle",{cx:20.733,cy:1044.289,r:1.533,fill:"none",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.919458,stroke:"currentColor",fillOpacity:0,fill:"#fff"}})))},scooter:function(e){return c.createElement("svg",lf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M5.548 1039.803c.905 1.804 1.202 2.42 3.18 2.495h.98l5.104.079c3.577-2.625 1.439-3.39 1.277-7.866.985.237 1.25 1.446 1.898 1.94.462.352 1.049 1.298 1.034 2.32-.3 1.348-2.838 4.798-3.328 5.233-.265.382-2.747.463-5.553.419s-5.936-.216-8.121-.588c.516-1.95 1.369-3.47 3.529-4.032z",style:{stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("circle",{cx:19.143,cy:1043.334,r:2.267,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.957069,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"m17.614 1040.655 1.523 2.73",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.16776,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"M5.183 1041.033c-1.384-1.072-1.439-3.227-1.106-3.739.026-.04 4.81.452 7.13.09 2.375.382-2.742 3.904.167 5.137-2.709.076-4.184 1-6.191-1.488z",style:{stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("circle",{cx:5.436,cy:1043.355,r:2.267,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:.957069,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"M15.645 1042.746c.66-1.65 1.007-1.608 2.641-3.034 2.079-.304 3.533 1.57 3.416 1.795-.75.58-2.606-2.008-5.292.885z",style:{stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M16.68 1035.348s-1.95.398-1.72.89c.197.416.944-.126 1.72-.89",style:{strokeOpacity:1,strokeLinejoin:"miter",strokeLinecap:"butt",strokeWidth:1,stroke:"none",fillRule:"evenodd",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M18.188 1035.784c-.332.054-.551.048-.931.048s-.665-.292-.665-.61c0-.32.241-.767.62-.767.19 0 .49-.054.94.092-.116.357-.12.79.036 1.238z",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.7,stroke:"none",fillOpacity:1,fill:"currentColor"}})))},foot:function(e){return c.createElement("svg",nf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("path",{d:"M11.393 1031.664c-.947 0-1.71.763-1.71 1.71 0 .948.832 1.355 1.71 1.71 2.064.578 2.473-3.332 0-3.42m.245 10.752a.4.4 0 0 0-.03.122c-1.57-2.758 1.099-4.25.03-.122",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.3,fill:"none",stroke:"#fff",strokeWidth:1.95499,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,marker:"none"},transform:"translate(0 -1028.362)"}),c.createElement("g",{style:{fill:"currentColor"}},c.createElement("g",{style:{display:"inline",fill:"currentColor"}},c.createElement("path",{d:"M14.875 1008.362c-.97 0-1.75.78-1.75 1.75s.78 1.75 1.75 1.75 1.75-.78 1.75-1.75-.78-1.75-1.75-1.75",style:{color:"currentColor",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:2,marker:"none"},transform:"matrix(.9775 0 0 .9775 -3.025 -982.366)"}))),c.createElement("path",{d:"M0 1028.362h24v24H0z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.5,fill:"none",stroke:"none",strokeWidth:2,marker:"none"},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"M12.475 1035.556c-.358-.067-.972-.264-1.531.211-.567.625-.44.89-.263 2.093 0 0 .033 2.472-.421 4.243a.4.4 0 0 0-.053.115l-1.76 5.453c-.361.598.03 1.068.5 1.15.307.056.635-.075.852-.401l2.383-5.959c.113-5.007.1-3.506.293-6.905",style:{marker:"none",strokeWidth:1.95499,stroke:"none",fillRule:"nonzero",fillOpacity:1,fill:"currentColor",visibility:"visible",overflow:"visible",display:"inline",color:"currentColor"},transform:"translate(0 -1028.362)"}),c.createElement("path",{d:"M12.838 1035.562c.508.232 1.057.842 1.682 2.646.508.901.588 1.321 1.117 2.207.351.589-.977 1.023-1.243.399l-1.144-2.677s-.24 2.782.516 4.035a.4.4 0 0 1 .052.115l1.205 2.24.851 2.852a.743.743 0 0 1-.623.905c-.306.057-.818-.256-.851-.583l-.673-2.494-1.883-2.677c.151-2.783-1.831-7.856.994-6.969",style:{marker:"none",strokeWidth:1.95499,stroke:"none",fillRule:"nonzero",fillOpacity:1,fill:"currentColor",visibility:"visible",overflow:"visible",display:"inline",color:"currentColor"},transform:"translate(0 -1028.362)"}))},hike:function(e){return c.createElement("svg",rf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M11.583 1031.78c-.942 0-1.701.758-1.701 1.7 0 .943.828 1.348 1.7 1.701 2.053.575 2.46-3.313 0-3.401m.243 10.691a.3.3 0 0 0-.03.122c-1.561-2.743 1.093-4.228.03-.122",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.3,fill:"none",stroke:"#fff",strokeWidth:1.94388,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeDashoffset:0,strokeOpacity:1,marker:"none"}}),c.createElement("g",{style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.00006006,stroke:"none",fillOpacity:1,fill:"currentColor"}},c.createElement("g",{style:{display:"inline",stroke:"none",strokeOpacity:1,fill:"currentColor",fillOpacity:1,strokeWidth:1.00006006,strokeMiterlimit:4,strokeDasharray:"none"}},c.createElement("path",{d:"M14.875 1008.362c-.97 0-1.75.78-1.75 1.75s.78 1.75 1.75 1.75 1.75-.78 1.75-1.75-.78-1.75-1.75-1.75",style:{color:"currentColor",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:1.00006006,marker:"none",strokeOpacity:1,strokeMiterlimit:4,strokeDasharray:"none"},transform:"translate(-2.753 51.71)scale(.97194)"}))),c.createElement("path",{d:"M0 1028.362h24v24H0z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.5,fill:"none",stroke:"none",strokeWidth:2,marker:"none"}}),c.createElement("path",{d:"M12.295 1035.65c-.356-.067-.967-.263-1.523.21-.563.62-.438.884-.26 2.08 0 0 .032 2.459-.42 4.22a.4.4 0 0 0-.052.114l-1.75 5.422c-.36.594.03 1.063.497 1.143.305.056.631-.073.847-.398l2.37-5.925c.112-4.979.098-3.487.29-6.867",style:{color:"currentColor",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:1.94389,marker:"none"}}),c.createElement("path",{d:"M12.655 1035.655c.506.231 1.052.838 1.673 2.631.506.897.982 1.062 1.508 1.943.35.585-.418 1.083-.827.545l-1.943-2.557s-.24 2.766.512 4.012c.026.042.047.08.053.114l1.198 2.227.846 2.836a.74.74 0 0 1-.62.9c-.304.056-.813-.255-.846-.58l-.67-2.48-1.872-2.661c.151-2.767-1.82-7.812.988-6.93",style:{color:"currentColor",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:1.94389,marker:"none"}}),c.createElement("rect",{width:2.7,height:2.395,x:274.144,y:1069.759,ry:.293,style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:.971942},transform:"skewX(-14.409)scale(1 .96854)"}),c.createElement("rect",{width:2.467,height:4.322,x:110.265,y:1041.998,ry:.529,style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:.971942},transform:"skewX(-5.616)scale(1 .9952)"}),c.createElement("path",{d:"m16.008 1040.567.332 7.844",style:{fill:"none",stroke:"currentColor",strokeWidth:.777553,strokeLinecap:"round",strokeLinejoin:"miter",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}})))},bike:function(e){return c.createElement("svg",ef({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("circle",{cx:17.346,cy:1044.106,r:3.092,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.30522,stroke:"currentColor",fill:"none"}}),c.createElement("circle",{cx:6.759,cy:1044.106,r:3.092,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.30522,stroke:"currentColor",fill:"none"}}),c.createElement("circle",{cx:12.729,cy:1033.707,r:1.128,style:{strokeWidth:.243187,stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M10.38 1040.226c2.188 1.92 1.38 3.656.856 5.451.243-.93.809-2.298.76-3.105-.232-.971-2.227-2.74-1.616-2.346",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.25956,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"m9.962 1039.68 1.78-3.357v0",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:2.29606,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"m12.15 1036.158 2.803 2.52",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.20108,stroke:"currentColor",fill:"none"}})))},mtb:function(e){return c.createElement("svg",sf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("circle",{cx:17.398,cy:1042.2,r:2.846,style:{stroke:"currentColor",fill:"none",strokeWidth:1.20111,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:6.753,cy:1044.276,r:2.846,style:{stroke:"currentColor",fill:"none",strokeWidth:1.20119,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:14.234,cy:1033.513,r:1.173,style:{stroke:"currentColor",strokeWidth:.252678,fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M10.602 1040.225c.644.561 1.46 3.262.655 5.06.252-.965.297-1.56.442-2.43-.242-1.01-1.731-3.039-1.097-2.63",style:{stroke:"currentColor",fill:"none",strokeWidth:1.30871,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m9.992 1039.283 2.824-3.072",style:{stroke:"currentColor",fill:"none",strokeWidth:2.38567,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m13.47 1036.203 2.89 1.47",style:{stroke:"currentColor",fill:"none",strokeWidth:1.24796,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m2.787 1050.013 2.373-1.78 5.22-.296 6.227-1.78 3.915.534 2.017-2.432",style:{stroke:"currentColor",fill:"none",strokeWidth:".949028px",strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1}})))},racingbike:function(e){return c.createElement("svg",af({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("circle",{cx:17.366,cy:1043.13,r:3.199,style:{stroke:"currentColor",fill:"none",strokeWidth:1.3502,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:6.414,cy:1043.13,r:3.199,style:{stroke:"currentColor",fill:"none",strokeWidth:1.3502,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:16.52,cy:1035.737,r:1.167,style:{strokeWidth:.251568,stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("path",{d:"M10.925 1039.245c.642.559.922 3.72.12 5.51.252-.961.414-1.907.559-2.774-.241-1.005-1.31-3.143-.679-2.736",style:{stroke:"currentColor",fill:"none",strokeWidth:1.30296,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m10.693 1038.554 3.734-1.229v0",style:{stroke:"currentColor",fill:"none",strokeWidth:2.37518,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m15.263 1037.495 1.103 3.74",style:{stroke:"currentColor",fill:"none",strokeWidth:1.24247,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m11.245 1034.652-6.437-.354",style:{stroke:"currentColor",fill:"#4d4d4d",strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m6.604 1037.74-3.42-.201",style:{stroke:"currentColor",fill:"#474747",fillOpacity:1,strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m8.474 1036.063-5.295-.32",style:{stroke:"currentColor",fill:"none",strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}})))},ecargobike:function(e){return c.createElement("svg",hf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M3.614 1044.113a3.09 3.09 0 0 0 3.006 2.4 3.09 3.09 0 0 0 3.006-2.4z",style:{fill:"none",stroke:"currentColor",strokeWidth:1.30522,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:19.203,cy:1043.417,r:3.092,style:{fill:"none",stroke:"currentColor",strokeWidth:1.30522,strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:15.783,cy:1033.502,r:1.128,style:{fill:"currentColor",fillOpacity:1,stroke:"none",strokeWidth:.243187}}),c.createElement("path",{d:"M12.14 1039.486c2.188 1.92 1.38 3.656.857 5.451.242-.929.809-2.298.76-3.105-.232-.971-2.227-2.74-1.616-2.346",style:{fill:"none",stroke:"currentColor",strokeWidth:1.25956,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m11.723 1038.94 2.377-2.894",style:{fill:"none",stroke:"currentColor",strokeWidth:2.29606,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m15.07 1036.42 3.149 1.942",style:{fill:"none",stroke:"currentColor",strokeWidth:1.20108,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m9.71 1033.688-5.673-.28",style:{fill:"#4d4d4d",stroke:"currentColor",strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m5.833 1036.85-3.42-.201",style:{fill:"#474747",fillOpacity:1,stroke:"currentColor",strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m7.702 1035.172-5.294-.32",style:{fill:"none",stroke:"currentColor",strokeWidth:.755886,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:4,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"M9.88 1039.711H2.528l.006 4.359 7.359.096z",style:{fill:"none",stroke:"currentColor",strokeWidth:1.13386,strokeLinecap:"round",strokeLinejoin:"round",strokeOpacity:1}})))},motorcycle:function(e){return c.createElement("svg",of({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M5.406 1043.768c-.356-.12-.571-.333-.716-.71-.146-.378-.17-.662-.085-.992.08-.309.211-.487.429-.58.137-.059.701 0 2.061.197.369.055.97.092 1.546.094h.942l.253-.183c2.115-1.958 5.018-4.124 6.424-5.109.053-.246-.177-1-.379-1.374-.102-.19-.178-.354-.17-.364.034-.04.635.216.878.372.784.507 1.574 1.765 1.642 2.617.03.37.009.392-.642.635-.706.264-1.393.796-2.22 1.721-.68.76-1.145 1.664-1.522 2.955l-.212.726-.29-.034c-.708-.082-3.088-.099-5.284-.038a96 96 0 0 0-2.462.085.4.4 0 0 1-.193-.023z",style:{strokeWidth:.960606,stroke:"none",fillOpacity:1,fill:"currentColor"}}),c.createElement("circle",{cx:18.2,cy:1042.641,r:3.002,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.4,stroke:"currentColor",fill:"none"}}),c.createElement("circle",{cx:5.732,cy:1042.592,r:3.002,style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeWidth:1.4,stroke:"currentColor",fill:"none"}}),c.createElement("path",{d:"m16.147 1039.016 1.99 3.567",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.52584,stroke:"currentColor",fill:"none"}}),c.createElement("rect",{width:6.45,height:1.035,x:235.031,y:1002.115,ry:0,style:{strokeWidth:.960606,stroke:"none",fillOpacity:1,fill:"currentColor",opacity:.99},transform:"matrix(.96339 .26812 -.22085 .9753 0 0)"}),c.createElement("path",{d:"M5.193 1038.175c-1.33-.764-1.467-1.281-1.148-1.646.026-.029 2.499-.023 3.242.191 1.111.322 1.323.44 2.679 1.49.311.242.657.384.934.384.15 0 .89-.22 2.192-.655 1.08-.36 1.975-.644 1.988-.63s-.415.397-.95.85c-1.57 1.328-3.27 2.946-3.541 2.946-1.117-1.647-3.638-2.417-5.396-2.93",style:{strokeWidth:.960606,stroke:"none",fillOpacity:1,fill:"currentColor"}})))},wheelchair:function(e){return c.createElement("svg",df({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("defs",null,c.createElement("pattern",{id:"wheelchair_svg__a",width:2,height:1,patternTransform:"scale(10)",patternUnits:"userSpaceOnUse"},c.createElement("path",{d:"M0-.5h1v2H0z",style:{fill:"#000",stroke:"none"}}))),c.createElement("g",{transform:"translate(0 -1028.362)"},c.createElement("path",{d:"M0 1028.362h24v24H0z",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",opacity:.5,fill:"none",stroke:"none",strokeWidth:2,marker:"none"}}),c.createElement("path",{d:"M12.26 1036.434c.696.172 1.449.624 2.304 1.96.697.668.807.979 1.531 1.635.482.436-1.338.757-1.703.295l-1.567-1.982s-.408 1.483.628 2.411c.035.031.862.761.869.787l1.307 1.535 1.447 1.518c.118.307-.054 1.204-.697 1.264-.42.042-1.433-.815-1.479-1.057l-2.65-3.252-2.383-.015c.207-2.061-1.478-5.756 2.392-5.099",style:{color:"#000",display:"inline",overflow:"visible",visibility:"visible",fill:"currentColor",fillOpacity:1,fillRule:"nonzero",stroke:"none",strokeWidth:1.96937,marker:"none"}}),c.createElement("path",{d:"M11 1041.362a3.281 3.281 0 1 0 0 6.563 3.281 3.281 0 0 0 0-6.563z",style:{fill:"none",fillOpacity:1,stroke:"currentColor",strokeWidth:1.037,strokeMiterlimit:10,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("circle",{cx:11.402,cy:1034.037,r:1.75,style:{strokeWidth:1.33307,fill:"currentColor"}})))},question_mark:function(e){return c.createElement("svg",pf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24},e),c.createElement("path",{d:"M10.446 1043.803v-.149q.016-1.456.29-2.317.281-.861.798-1.394t1.245-.97q.47-.298.846-.666.375-.368.595-.846.219-.477.219-1.057 0-.696-.329-1.205t-.877-.783q-.54-.282-1.206-.282-.602 0-1.15.25-.549.251-.909.783-.36.525-.415 1.355h-2.38q.055-1.41.713-2.38.657-.979 1.738-1.48 1.088-.501 2.403-.501 1.441 0 2.521.54 1.08.532 1.676 1.495.603.956.603 2.232 0 .877-.274 1.581-.274.697-.783 1.245-.501.548-1.206.971-.665.415-1.08.861-.407.447-.595 1.057-.188.611-.204 1.511v.15zm1.182 4.76q-.642 0-1.104-.454-.462-.461-.462-1.111 0-.642.462-1.096.462-.462 1.104-.462.634 0 1.096.462.47.454.47 1.096 0 .43-.22.79-.21.353-.563.564-.352.212-.783.212","aria-label":"?",style:{strokeOpacity:1,strokeDasharray:"none",strokeMiterlimit:4,strokeLinejoin:"round",strokeLinecap:"round",strokeWidth:1.25956,stroke:"none",fill:"currentColor"},transform:"translate(0 -1028.362)"}))},car_avoid_motorway:function(e){return c.createElement("svg",ff({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),c.createElement("path",{d:"m570.34 191.687-48.173.299.628 191.377 100.414.619z",style:{fill:"none",stroke:"currentColor",strokeWidth:45.36,strokeLinecap:"round",strokeLinejoin:"miter",strokeDasharray:"none"}}),c.createElement("path",{d:"m677.89 575.688-59.685-.041 78.567 68.74zM522.608 713.312l1.456 245.813 259.296.781-21.156-37.255Z",style:{fill:"none",stroke:"currentColor",strokeWidth:45.3544,strokeLinecap:"round",strokeLinejoin:"miter",strokeOpacity:1}}),c.createElement("rect",{width:700,height:70,x:127.685,y:431.215,fill:"currentColor",rx:10,style:{paintOrder:"markers stroke fill"}}),c.createElement("rect",{width:56.163,height:70,x:199.446,y:467.577,fill:"currentColor",rx:.802,style:{strokeWidth:.283255}}),c.createElement("rect",{width:56.163,height:70,x:703.415,y:467.029,fill:"currentColor",rx:.802,style:{strokeWidth:.28,strokeDasharray:"none",paintOrder:"fill markers stroke"}}),c.createElement("path",{d:"m388.36 191.86-40.415 146.913 51.646 44.965 36.268-.238.625-191.406zM280.76 575.812l84.666-.007 69.074 60.47.112 323.018-259.31.723z",style:{fill:"none",stroke:"currentColor",strokeWidth:45.3544,strokeLinecap:"round",strokeLinejoin:"miter"}}),c.createElement("path",{d:"M261.749 82.567h975.158v31.612H261.749z",style:{fill:"none",stroke:"currentColor",strokeWidth:47.9343,strokeLinecap:"round",strokeLinejoin:"miter",strokeDasharray:"none",paintOrder:"markers stroke fill"},transform:"rotate(41.191)skewX(.159)"}))},car_avoid_ferry:function(e){return c.createElement("svg",yf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),_f||(_f=c.createElement("path",{fill:"currentColor",d:"M156 856 82 599q-4-12 1.5-23.5T101 560l59-20V316q0-25 17.5-42t42.5-18h150V136h220v120h150q24.75 0 42.375 17.625T800 316v225l60 19q11 4 16.5 15t1.5 23l-74 258q-48-5-89.5-29T641 770q-32 36-72.685 61-40.684 25-88.315 25t-88.315-25Q351 806 319 770q-32 33-73.5 57T156 856m-76 160v-60h80q42 0 83-13t77-37q36 24 77 36t83 12 83-12 77-36q36 24 77 37t83 13h80v60h-80q-41 0-81-10.5T640 975q-39 20-80 30.5t-80 10.5-80-10.5-80-30.5q-39 20-78.802 30.5t-81.594 10.5zm140-495 260-84 260 85V316H220zm259.5 275q51.5 0 91.5-41t69-76q25 30 55.5 58.5T762 787l51-179-333-108-334 108 52 177q35-19 66.5-47.5T320 679q30 36 69 76.5t90.5 40.5"})),gf||(gf=c.createElement("path",{fill:"none",stroke:"currentColor",strokeWidth:90,d:"m100 200 760 800"})))},car_avoid_toll:function(e){return c.createElement("svg",vf({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),c.createElement("path",{fill:"currentColor",d:"M724.175 970.88q-72.065 0-133.163-42.299t-83.03-114.363h-84.598v-37.599h77.078q-2.507-17.546-2.193-31.332.313-13.786 2.193-31.332h-77.078v-37.6h84.598q21.932-72.063 83.03-114.362t133.163-42.299q43.238 0 81.15 14.726t69.245 42.926l-26.946 26.319q-25.692-22.56-57.651-34.466t-65.798-11.906q-58.905 0-107.47 32.899t-68.618 86.164h176.088v37.599H538.687q-3.133 16.92-3.133 31.332 0 14.413 3.133 31.332h185.488v37.599H548.087q20.053 53.265 68.618 86.164t107.47 32.899q33.212 0 65.171-11.28t58.905-35.092l26.319 26.32q-27.573 26.318-67.051 41.984-39.48 15.667-83.344 15.667",style:{strokeWidth:.626646}}),c.createElement("path",{d:"m474.326 176.788 48.327 355.214M192.135 177.419l-86.064 796.71",style:{fill:"none",stroke:"currentColor",strokeWidth:48}}),c.createElement("path",{d:"m336.384 194.835.131 163.04M336.384 458.057l.131 163.04M336.383 733.697l.121 149.452",style:{fill:"none",stroke:"currentColor",strokeWidth:44}}),mf||(mf=c.createElement("path",{fill:"none",stroke:"currentColor",strokeWidth:90,d:"m100 200 760 800"})))}};function xf({routingProfiles:t,selectedProfile:n,memorizedProfilePerGroup:i,showCustomModelBox:r,toggleCustomModelBox:o,customModelBoxEnabled:s}){const[a,u]=(0,c.useState)(0),[d,p]=(0,c.useState)(0);function _(){const e=document.getElementById("profiles_carousel_items");if(e){if(e.scrollWidth>e.clientWidth){for(const e of document.getElementsByClassName(Kh.chevron))e.classList.add(Kh.enabled);e.classList.remove(Kh.profiles_center)}else{for(const e of document.getElementsByClassName(Kh.chevron))e.classList.remove(Kh.enabled);e.classList.add(Kh.profiles_center)}p(e.scrollWidth-e.clientWidth)}}function g(e=!0){const t=document.getElementById("profiles_carousel_items");if(!t)return;const n=t.clientWidth*(e?1:-1),i=e?d-a:-a,r=e?Math.min(n,i):Math.max(n,i);t.scrollBy({left:r,behavior:"smooth"})}(0,c.useEffect)(()=>(_(),window.addEventListener("resize",_),()=>window.removeEventListener("resize",_)),[t]);let m={};t.forEach(e=>{const t=(Object.keys(bf).find(t=>e.name.startsWith(t+"_"))||"")+"_";bf[e.name]||(m[t]=[...m[t]||[],e.name])});let y=pt.create(It.profile_group_mapping);return(0,e.jsxs)("div",{className:Kh.profilesParent,children:[(0,e.jsx)(Ct,{title:l("open_custom_model_box"),className:r?Kh.enabledCMBox:Kh.cmBox,onClick:o,children:(0,e.jsx)(Jh,{})}),(0,e.jsxs)("div",{className:Kh.carousel,children:[(0,e.jsx)(Ct,{className:Kh.chevron,title:l("back"),onClick:()=>g(!1),disabled:a<=0,children:(0,e.jsx)(Yh,{})}),(0,e.jsx)("ul",{className:Kh.profiles,id:"profiles_carousel_items",onScroll:function(){const e=document.getElementById("profiles_carousel_items");e&&u(e.scrollLeft)},children:t.filter(e=>!y[e.name]||e.name==y[e.name]).map(t=>{const r=y[t.name],o=t.name===n.name||t.name==y[n.name]?Kh.selectedProfile+" "+Kh.profileBtn:Kh.profileBtn,a=r&&i[r]||t.name,c=bf[a]?a:t.name;return(0,e.jsx)("li",{children:(0,e.jsxs)(Ct,{title:l(a),onClick:()=>Q.dispatch(r?new f(r):new h(t)),className:o,children:[s&&t.name===n.name&&(0,e.jsx)(Jh,{className:Kh.asIndicator}),wf(c,m)]})},t.name)})}),(0,e.jsx)(Ct,{className:Kh.chevron+" "+Kh.flip,title:l("next"),onClick:()=>g(),disabled:a>=d,children:(0,e.jsx)(Yh,{})})]})]})}function wf(t,n){let i=bf[t];if(i)return c.createElement(i);for(const[i,r]of Object.entries(n)){const n=r.findIndex(e=>e==t)+1;if(n>=1){let t=bf[i.slice(0,-1)];return t||(t=bf.question_mark),"_"===i?(0,e.jsx)(Cf,{number:n}):(0,e.jsx)(kf,{baseIcon:t,number:n})}}return c.createElement(bf.question_mark)}function kf({baseIcon:t,number:n}){return(0,e.jsxs)("div",{className:Kh.iconContainer,children:[c.createElement(t),(0,e.jsx)("div",{className:Kh.batchNumber,children:(0,e.jsx)(Cf,{number:n})})]})}function Cf({number:t}){return(0,e.jsx)("span",{children:t})}var Af;function Sf(){return Sf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Sf.apply(null,arguments)}const Ef=function(e){return c.createElement("svg",Sf({xmlns:"http://www.w3.org/2000/svg",width:36,height:36,viewBox:"0 0 48 48"},e),Af||(Af=c.createElement("path",{fill:"currentColor",d:"m24 42-9-9 2.2-2.2 6.8 6.8 6.8-6.8L33 33Zm-6.8-24.6L15 15.2l9-9 9 9-2.2 2.2-6.8-6.8Z"})))};var If;function Tf(){return Tf=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Tf.apply(null,arguments)}const Mf=function(e){return c.createElement("svg",Tf({xmlns:"http://www.w3.org/2000/svg",width:36,height:36,viewBox:"0 0 48 48"},e),If||(If=c.createElement("path",{fill:"currentColor",d:"M17.15 40 15 37.85l9-9 9 9L30.85 40 24 33.15ZM24 19.15l-9-9L17.15 8 24 14.85 30.85 8 33 10.15Z"})))};var Pf=n(4762),Rf={};Rf.styleTagTransform=we(),Rf.setAttributes=ye(),Rf.insert=ge().bind(null,"head"),Rf.domAPI=fe(),Rf.insertStyleElement=be(),pe()(Pf.A,Rf),Pf.A&&Pf.A.locals&&Pf.A.locals;var zf=n(140),Lf={};Lf.styleTagTransform=we(),Lf.setAttributes=ye(),Lf.insert=ge().bind(null,"head"),Lf.domAPI=fe(),Lf.insertStyleElement=be(),pe()(zf.A,Lf),zf.A&&zf.A.locals&&zf.A.locals;var Of=n(6e3),Ff={};Ff.styleTagTransform=we(),Ff.setAttributes=ye(),Ff.insert=ge().bind(null,"head"),Ff.domAPI=fe(),Ff.insertStyleElement=be(),pe()(Of.A,Ff),Of.A&&Of.A.locals&&Of.A.locals;var jf=n(9663),Df={};Df.styleTagTransform=we(),Df.setAttributes=ye(),Df.insert=ge().bind(null,"head"),Df.domAPI=fe(),Df.insertStyleElement=be(),pe()(jf.A,Df),jf.A&&jf.A.locals&&jf.A.locals;var Nf=n(3891),Bf={};Bf.styleTagTransform=we(),Bf.setAttributes=ye(),Bf.insert=ge().bind(null,"head"),Bf.domAPI=fe(),Bf.insertStyleElement=be(),pe()(Nf.A,Bf);const qf=Nf.A&&Nf.A.locals?Nf.A.locals:void 0;var Gf,Vf=n(1719),Wf=n.n(Vf);function Hf(e){return 32===e||9===e}function Uf(e){return 10===e||13===e}function $f(e){return e>=48&&e<=57}n(7518),n(8709),n(4468),n(5397),n(5399),function(e){e[e.lineFeed=10]="lineFeed",e[e.carriageReturn=13]="carriageReturn",e[e.space=32]="space",e[e._0=48]="_0",e[e._1=49]="_1",e[e._2=50]="_2",e[e._3=51]="_3",e[e._4=52]="_4",e[e._5=53]="_5",e[e._6=54]="_6",e[e._7=55]="_7",e[e._8=56]="_8",e[e._9=57]="_9",e[e.a=97]="a",e[e.b=98]="b",e[e.c=99]="c",e[e.d=100]="d",e[e.e=101]="e",e[e.f=102]="f",e[e.g=103]="g",e[e.h=104]="h",e[e.i=105]="i",e[e.j=106]="j",e[e.k=107]="k",e[e.l=108]="l",e[e.m=109]="m",e[e.n=110]="n",e[e.o=111]="o",e[e.p=112]="p",e[e.q=113]="q",e[e.r=114]="r",e[e.s=115]="s",e[e.t=116]="t",e[e.u=117]="u",e[e.v=118]="v",e[e.w=119]="w",e[e.x=120]="x",e[e.y=121]="y",e[e.z=122]="z",e[e.A=65]="A",e[e.B=66]="B",e[e.C=67]="C",e[e.D=68]="D",e[e.E=69]="E",e[e.F=70]="F",e[e.G=71]="G",e[e.H=72]="H",e[e.I=73]="I",e[e.J=74]="J",e[e.K=75]="K",e[e.L=76]="L",e[e.M=77]="M",e[e.N=78]="N",e[e.O=79]="O",e[e.P=80]="P",e[e.Q=81]="Q",e[e.R=82]="R",e[e.S=83]="S",e[e.T=84]="T",e[e.U=85]="U",e[e.V=86]="V",e[e.W=87]="W",e[e.X=88]="X",e[e.Y=89]="Y",e[e.Z=90]="Z",e[e.asterisk=42]="asterisk",e[e.backslash=92]="backslash",e[e.closeBrace=125]="closeBrace",e[e.closeBracket=93]="closeBracket",e[e.colon=58]="colon",e[e.comma=44]="comma",e[e.dot=46]="dot",e[e.doubleQuote=34]="doubleQuote",e[e.minus=45]="minus",e[e.openBrace=123]="openBrace",e[e.openBracket=91]="openBracket",e[e.plus=43]="plus",e[e.slash=47]="slash",e[e.formFeed=12]="formFeed",e[e.tab=9]="tab"}(Gf||(Gf={})),new Array(20).fill(0).map((e,t)=>" ".repeat(t));const Kf=200;var Xf,Zf,Yf;function Qf(e,t,n=Xf.DEFAULT){const i=function(e,t=!1){const n=e.length;let i=0,r="",o=0,s=16,a=0,l=0,c=0,u=0,d=0;function p(t,n){let r=0,o=0;for(;r<t||!n;){let t=e.charCodeAt(i);if(t>=48&&t<=57)o=16*o+t-48;else if(t>=65&&t<=70)o=16*o+t-65+10;else{if(!(t>=97&&t<=102))break;o=16*o+t-97+10}i++,r++}return r<t&&(o=-1),o}function h(){if(r="",d=0,o=i,l=a,u=c,i>=n)return o=n,s=17;let t=e.charCodeAt(i);if(Hf(t)){do{i++,r+=String.fromCharCode(t),t=e.charCodeAt(i)}while(Hf(t));return s=15}if(Uf(t))return i++,r+=String.fromCharCode(t),13===t&&10===e.charCodeAt(i)&&(i++,r+="\n"),a++,c=i,s=14;switch(t){case 123:return i++,s=1;case 125:return i++,s=2;case 91:return i++,s=3;case 93:return i++,s=4;case 58:return i++,s=6;case 44:return i++,s=5;case 34:return i++,r=function(){let t="",r=i;for(;;){if(i>=n){t+=e.substring(r,i),d=2;break}const o=e.charCodeAt(i);if(34===o){t+=e.substring(r,i),i++;break}if(92!==o){if(o>=0&&o<=31){if(Uf(o)){t+=e.substring(r,i),d=2;break}d=6}i++}else{if(t+=e.substring(r,i),i++,i>=n){d=2;break}switch(e.charCodeAt(i++)){case 34:t+='"';break;case 92:t+="\\";break;case 47:t+="/";break;case 98:t+="\b";break;case 102:t+="\f";break;case 110:t+="\n";break;case 114:t+="\r";break;case 116:t+="\t";break;case 117:const e=p(4,!0);e>=0?t+=String.fromCharCode(e):d=4;break;default:d=5}r=i}}return t}(),s=10;case 47:const l=i-1;if(47===e.charCodeAt(i+1)){for(i+=2;i<n&&!Uf(e.charCodeAt(i));)i++;return r=e.substring(l,i),s=12}if(42===e.charCodeAt(i+1)){i+=2;const t=n-1;let o=!1;for(;i<t;){const t=e.charCodeAt(i);if(42===t&&47===e.charCodeAt(i+1)){i+=2,o=!0;break}i++,Uf(t)&&(13===t&&10===e.charCodeAt(i)&&i++,a++,c=i)}return o||(i++,d=1),r=e.substring(l,i),s=13}return r+=String.fromCharCode(t),i++,s=16;case 45:if(r+=String.fromCharCode(t),i++,i===n||!$f(e.charCodeAt(i)))return s=16;case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return r+=function(){let t=i;if(48===e.charCodeAt(i))i++;else for(i++;i<e.length&&$f(e.charCodeAt(i));)i++;if(i<e.length&&46===e.charCodeAt(i)){if(i++,!(i<e.length&&$f(e.charCodeAt(i))))return d=3,e.substring(t,i);for(i++;i<e.length&&$f(e.charCodeAt(i));)i++}let n=i;if(i<e.length&&(69===e.charCodeAt(i)||101===e.charCodeAt(i)))if(i++,(i<e.length&&43===e.charCodeAt(i)||45===e.charCodeAt(i))&&i++,i<e.length&&$f(e.charCodeAt(i))){for(i++;i<e.length&&$f(e.charCodeAt(i));)i++;n=i}else d=3;return e.substring(t,n)}(),s=11;default:for(;i<n&&f(t);)i++,t=e.charCodeAt(i);if(o!==i){switch(r=e.substring(o,i),r){case"true":return s=8;case"false":return s=9;case"null":return s=7}return s=16}return r+=String.fromCharCode(t),i++,s=16}}function f(e){if(Hf(e)||Uf(e))return!1;switch(e){case 125:case 93:case 123:case 91:case 34:case 58:case 44:case 47:return!1}return!0}return{setPosition:function(e){i=e,r="",o=0,s=16,d=0},getPosition:()=>i,scan:t?function(){let e;do{e=h()}while(e>=12&&e<=15);return e}:h,getToken:()=>s,getTokenValue:()=>r,getTokenOffset:()=>o,getTokenLength:()=>i-o,getTokenStartLine:()=>l,getTokenStartCharacter:()=>o-u,getTokenError:()=>d}}(e,!1),r=[];let o=0;function s(e){return e?t=>0===o&&e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter()):()=>!0}function a(e){return e?t=>0===o&&e(t,i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter(),()=>r.slice()):()=>!0}function l(e){return e?()=>{o>0?o++:!1===e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter(),()=>r.slice())&&(o=1)}:()=>!0}function c(e){return e?()=>{o>0&&o--,0===o&&e(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter())}:()=>!0}const u=l(t.onObjectBegin),d=a(t.onObjectProperty),p=c(t.onObjectEnd),h=l(t.onArrayBegin),f=c(t.onArrayEnd),_=a(t.onLiteralValue),g=s(t.onSeparator),m=(v=t.onComment)?()=>0===o&&v(i.getTokenOffset(),i.getTokenLength(),i.getTokenStartLine(),i.getTokenStartCharacter()):()=>!0,y=s(t.onError);var v;const b=n&&n.disallowComments,x=n&&n.allowTrailingComma;function w(){for(;;){const e=i.scan();switch(i.getTokenError()){case 4:k(14);break;case 5:k(15);break;case 3:k(13);break;case 1:b||k(11);break;case 2:k(12);break;case 6:k(16)}switch(e){case 12:case 13:b?k(10):m();break;case 16:k(1);break;case 15:case 14:break;default:return e}}}function k(e,t=[],n=[]){if(y(e),t.length+n.length>0){let e=i.getToken();for(;17!==e;){if(-1!==t.indexOf(e)){w();break}if(-1!==n.indexOf(e))break;e=w()}}}function C(e){const t=i.getTokenValue();return e?_(t):(d(t),r.push(t)),w(),!0}function A(){return 10!==i.getToken()?(k(3,[],[2,5]),!1):(C(!1),6===i.getToken()?(g(":"),w(),S()||k(4,[],[2,5])):k(5,[],[2,5]),r.pop(),!0)}function S(){switch(i.getToken()){case 3:return function(){h(),w();let e=!0,t=!1;for(;4!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(t||k(4,[],[]),g(","),w(),4===i.getToken()&&x)break}else t&&k(6,[],[]);e?(r.push(0),e=!1):r[r.length-1]++,S()||k(4,[],[4,5]),t=!0}return f(),e||r.pop(),4!==i.getToken()?k(8,[4],[]):w(),!0}();case 1:return function(){u(),w();let e=!1;for(;2!==i.getToken()&&17!==i.getToken();){if(5===i.getToken()){if(e||k(4,[],[]),g(","),w(),2===i.getToken()&&x)break}else e&&k(6,[],[]);A()||k(4,[],[2,5]),e=!0}return p(),2!==i.getToken()?k(7,[2],[]):w(),!0}();case 10:return C(!0);default:return function(){switch(i.getToken()){case 11:const e=i.getTokenValue();let t=Number(e);isNaN(t)&&(k(2),t=0),_(t);break;case 7:_(null);break;case 8:_(!0);break;case 9:_(!1);break;default:return!1}return w(),!0}()}}return w(),17===i.getToken()?!!n.allowEmptyContent||(k(4,[],[]),!1):S()?(17!==i.getToken()&&k(9,[],[]),!0):(k(4,[],[]),!1)}function Jf(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string";case"object":return e?Array.isArray(e)?"array":"object":"null";default:return"null"}}new Array(Kf).fill(0).map((e,t)=>"\n"+" ".repeat(t)),new Array(Kf).fill(0).map((e,t)=>"\r"+" ".repeat(t)),new Array(Kf).fill(0).map((e,t)=>"\r\n"+" ".repeat(t)),new Array(Kf).fill(0).map((e,t)=>"\n"+"\t".repeat(t)),new Array(Kf).fill(0).map((e,t)=>"\r"+"\t".repeat(t)),new Array(Kf).fill(0).map((e,t)=>"\r\n"+"\t".repeat(t)),function(e){e.DEFAULT={allowTrailingComma:!1}}(Xf||(Xf={})),function(e){e[e.None=0]="None",e[e.UnexpectedEndOfComment=1]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=2]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=3]="UnexpectedEndOfNumber",e[e.InvalidUnicode=4]="InvalidUnicode",e[e.InvalidEscapeCharacter=5]="InvalidEscapeCharacter",e[e.InvalidCharacter=6]="InvalidCharacter"}(Zf||(Zf={})),function(e){e[e.OpenBraceToken=1]="OpenBraceToken",e[e.CloseBraceToken=2]="CloseBraceToken",e[e.OpenBracketToken=3]="OpenBracketToken",e[e.CloseBracketToken=4]="CloseBracketToken",e[e.CommaToken=5]="CommaToken",e[e.ColonToken=6]="ColonToken",e[e.NullKeyword=7]="NullKeyword",e[e.TrueKeyword=8]="TrueKeyword",e[e.FalseKeyword=9]="FalseKeyword",e[e.StringLiteral=10]="StringLiteral",e[e.NumericLiteral=11]="NumericLiteral",e[e.LineCommentTrivia=12]="LineCommentTrivia",e[e.BlockCommentTrivia=13]="BlockCommentTrivia",e[e.LineBreakTrivia=14]="LineBreakTrivia",e[e.Trivia=15]="Trivia",e[e.Unknown=16]="Unknown",e[e.EOF=17]="EOF"}(Yf||(Yf={}));const e_=function(e,t=[],n=Xf.DEFAULT){let i={type:"array",offset:-1,length:-1,children:[],parent:void 0};function r(e){"property"===i.type&&(i.length=e-i.offset,i=i.parent)}function o(e){return i.children.push(e),e}Qf(e,{onObjectBegin:e=>{i=o({type:"object",offset:e,length:-1,parent:i,children:[]})},onObjectProperty:(e,t,n)=>{i=o({type:"property",offset:t,length:-1,parent:i,children:[]}),i.children.push({type:"string",value:e,offset:t,length:n,parent:i})},onObjectEnd:(e,t)=>{r(e+t),i.length=e+t-i.offset,i=i.parent,r(e+t)},onArrayBegin:(e,t)=>{i=o({type:"array",offset:e,length:-1,parent:i,children:[]})},onArrayEnd:(e,t)=>{i.length=e+t-i.offset,i=i.parent,r(e+t)},onLiteralValue:(e,t,n)=>{o({type:Jf(e),offset:t,length:n,parent:i,value:e}),r(t+n)},onSeparator:(e,t,n)=>{"property"===i.type&&(":"===e?i.colonOffset=t:","===e&&r(t))},onError:(e,n,i)=>{t.push({error:e,offset:n,length:i})}},n);const s=i.children[0];return s&&delete s.parent,s},t_=function e(t,n,i=!1){if(function(e,t,n=!1){return t>=e.offset&&t<e.offset+e.length||n&&t===e.offset+e.length}(t,n,i)){const r=t.children;if(Array.isArray(r))for(let t=0;t<r.length&&r[t].offset<=n;t++){const o=e(r[t],n,i);if(o)return o}return t}};var n_;!function(e){e[e.InvalidSymbol=1]="InvalidSymbol",e[e.InvalidNumberFormat=2]="InvalidNumberFormat",e[e.PropertyNameExpected=3]="PropertyNameExpected",e[e.ValueExpected=4]="ValueExpected",e[e.ColonExpected=5]="ColonExpected",e[e.CommaExpected=6]="CommaExpected",e[e.CloseBraceExpected=7]="CloseBraceExpected",e[e.CloseBracketExpected=8]="CloseBracketExpected",e[e.EndOfFileExpected=9]="EndOfFileExpected",e[e.InvalidCommentToken=10]="InvalidCommentToken",e[e.UnexpectedEndOfComment=11]="UnexpectedEndOfComment",e[e.UnexpectedEndOfString=12]="UnexpectedEndOfString",e[e.UnexpectedEndOfNumber=13]="UnexpectedEndOfNumber",e[e.InvalidUnicode=14]="InvalidUnicode",e[e.InvalidEscapeCharacter=15]="InvalidEscapeCharacter",e[e.InvalidCharacter=16]="InvalidCharacter"}(n_||(n_={}));const i_=["speed","priority","distance_influence","areas"],r_=["if","else_if","else"],o_=["multiply_by","limit_to"],s_=r_.concat(o_);let a_=[],l_=[],c_=[];function u_(e){if(a_=[],l_=[],c_=[],0===e.trim().length)return{errors:[E_("root","must be an object",[0,e.length])],jsonErrors:[],conditionRanges:a_,operatorValueRanges:l_,areas:c_};const t=[],n=e_(e,t,{allowEmptyContent:!1,allowTrailingComma:!1,disallowComments:!0}),i=t.map(e=>E_("syntax",function(e){switch(e){case 1:return"InvalidSymbol";case 2:return"InvalidNumberFormat";case 3:return"PropertyNameExpected";case 4:return"ValueExpected";case 5:return"ColonExpected";case 6:return"CommaExpected";case 7:return"CloseBraceExpected";case 8:return"CloseBracketExpected";case 9:return"EndOfFileExpected";case 10:return"InvalidCommentToken";case 11:return"UnexpectedEndOfComment";case 12:return"UnexpectedEndOfString";case 13:return"UnexpectedEndOfNumber";case 14:return"InvalidUnicode";case 15:return"InvalidEscapeCharacter";case 16:return"InvalidCharacter"}return"<unknown ParseErrorCode>"}(e.error),[e.offset,e.offset+Math.max(1,e.length)]));return{errors:n?S_("root",n,e=>i_.indexOf(e.value)>=0,(e,t,n)=>[],`possible keys: ${z_(i_)}`,d_):[],jsonErrors:i,conditionRanges:a_,operatorValueRanges:l_,areas:c_}}function d_(e,t,n){if("null"===n.type)return[E_(`${t.value}`,"must not be null",P_(n))];if("speed"===t.value||"priority"===t.value)return function(e,t){const n=w_(e,t,0,-1,p_);if(n.length>0)return n;const i=t.children,r=[];for(let e=0;e<i.length;++e)for(let t=0;t<i[e].children.length;++t){const n=i[e].children[t].children[0].value;r_.indexOf(n)>=0&&r.push(n)}let o="";for(let t=0;t<r.length;++t)"else_if"!==r[t]&&"else"!==r[t]||"else_if"===o||"if"===o||n.push(E_(`${e}[${t}]`,`'${r[t]}' clause must be preceded by 'if' or 'else_if'`,P_(i[t]))),o=r[t];return n}(t.value,n);if("distance_influence"===t.value)return function(e){return T_(e)?[]:[E_("distance_influence",`must be a number. given type: ${R_(e)}`,P_(e))]}(n);if("areas"===t.value)return function(e){const t=["type","features"];return S_("areas",e,e=>t.indexOf(e.value)>=0,__,`possible keys: ${z_(t)}`,g_)}(n);throw`Unexpected root key ${t.value}`}function p_(e,t,n){return S_(e,t,e=>s_.indexOf(e.value)>=0,h_,`possible keys: ${z_(s_)}`,f_)}function h_(e,t,n){const i=[];t.length>2&&i.push(E_(e,`too many keys. maximum: 2. given: ${t.sort()}`,n));const r=t.some(e=>r_.indexOf(e)>=0),o=t.some(e=>o_.indexOf(e)>=0);return r||i.push(E_(e,`every statement must have a clause ${z_(r_)}. given: ${t}`,n)),o||i.push(E_(e,`every statement must have an operator ${z_(o_)}. given: ${t}`,n)),i}function f_(e,t,n){const i=[],r=r_.indexOf(t.value)>=0,o=o_.indexOf(t.value)>=0;if(r&&("else"===t.value?M_(n)&&""===n.value||i.push(E_(`${e}[else]`,`must be an empty string. given: '${n.value}'`,P_(n))):M_(n)?a_.push(P_(n)):i.push(E_(`${e}[${t.value}]`,`must be a string. given type: ${R_(n)}`,P_(n)))),o&&(M_(n)?l_.push(P_(n)):i.push(E_(`${e}[${t.value}]`,`must be a string. given type: ${R_(n)}`,P_(n)))),r===o)throw`Unexpected statement: ${r} ${o} ${t} ${n}`;return i}function __(e,t,n){const i=["type","features"],r=[];for(let o=0;o<i.length;o++)t.indexOf(i[o])<0&&r.push(E_(e,`missing '${i[o]}'. given: ${z_(t)}`,n));return r}function g_(e,t,n){return"type"===t.value?M_(n)?"FeatureCollection"!==n.value?[E_(`${e}[${t.value}]`,`must be "FeatureCollection". given: "${n.value}"`,P_(n))]:[]:[E_(`${e}[${t.value}]`,`must be "FeatureCollection". given type: ${R_(n)}`,P_(n))]:"features"===t.value?w_(`${e}[${t.value}]`,n,0,-1,m_):(console.error(`unexpected FeatureCollection field ${t.value}`),[])}function m_(e,t,n){const i=["type","geometry","id","properties"];return S_(e,t,e=>i.indexOf(e.value)>=0,y_,`possible keys: ${z_(i)}`,v_)}function y_(e,t,n){const i=["type","id","geometry"],r=[];for(let o=0;o<i.length;o++)t.indexOf(i[o])<0&&r.push(E_(e,`missing '${i[o]}'. given: ${z_(t)}`,n));return r}function v_(e,t,n){if("type"===t.value)return M_(n)?"Feature"!==n.value?[E_(`${e}[${t.value}]`,`must be "Feature". given: "${n.value}"`,P_(n))]:[]:[E_(`${e}[${t.value}]`,`must be "Feature". given type: ${R_(n)}`,P_(n))];if("properties"===t.value)return S_(`${e}[${t.value}]`,n,()=>!0,()=>[],"",()=>[]);if("id"!==t.value){if("geometry"===t.value){const i=["type","coordinates"],r=`possible keys: ${z_(i)}`,o=e=>i.indexOf(e.value)>=0;return S_(`${e}[${t.value}]`,n,o,b_,r,x_)}return console.error(`unexpected area field ${t.value}`),[]}return M_(n)?/^[0-9A-Za-z][0-9A-Za-z_]*$/g.test(n.value)?c_.indexOf(n.value)>=0?[E_(`${e}[${t.value}]`,`area ids must be unique. duplicate: '${n.value}'`,P_(n))]:void c_.push(n.value):[E_(`${e}[${t.value}]`,`area ids may only contain a-z, A-Z, digits and _. given: '${n.value}'`,P_(n))]:[E_(`${e}[${t.value}]`,`must be a string. given type: ${R_(n)}`,P_(n))]}function b_(e,t,n){const i=["type","coordinates"],r=[];for(let o=0;o<i.length;o++)t.indexOf(i[o])<0&&r.push(E_(e,`missing '${i[o]}'. given: ${z_(t)}`,n));return r}function x_(e,t,n){if("type"===t.value)return"Polygon"!==n.value?[E_(`${e}[${t.value}]`,`must be "Polygon". given: '${n.value}'`,P_(n))]:[];if("coordinates"===t.value)return function(e,t,n){return w_(e,n,1,-1,k_)}(`${e}[${t.value}]`,0,n);throw`unexpected geometry field ${t.value}`}function w_(e,t,n,i,r){if(!function(e){return"array"===e.type}(t))return[E_(e,`must be an array. given type: ${R_(t)}`,P_(t))];const o=t.children;if(o.length<n)return[E_(e,`minimum length: ${n}, given: ${o.length}`,P_(t))];if(i>=0&&o.length>i)return[E_(e,`maximum length: ${i}, given: ${o.length}`,P_(t))];const s=[];for(let t=0;t<o.length;++t){const n=o[t];s.push.apply(s,r(`${e}[${t}]`,n,t))}return s}function k_(e,t,n){const i=w_(e,t,4,-1,C_);if(i.length>0)return i;const r=t.children[0],o=t.children[t.children.length-1];return a=o,(s=r).children[0].value!==a.children[0].value||s.children[1].value!==a.children[1].value?[E_(`${e}`,"the last point must be equal to the first",P_(o))]:[];var s,a}function C_(e,t,n){return w_(e,t,2,2,A_)}function A_(e,t,n){const i=[];return T_(t)?(0===n&&(t.value<-180||t.value>180)&&i.push(E_(`${e}`,"longitude must be in [-180, +180]",P_(t))),1===n&&(t.value<-90||t.value>90)&&i.push(E_(`${e}`,"latitude must be in [-90, +90]",P_(t)))):i.push(E_(e,"must be a number",P_(t))),i}function S_(e,t,n,i,r,o){if("object"!==t.type)return[E_(e,`must be an object. given type: ${R_(t)}`,P_(t))];const s=function(e,t,n,i){const r=[],o=new Set,s=i.children;for(let i=0;i<s.length;++i){if(!I_(s[i]))throw`Expected a key-value pair, but got: ${s[i]}`;const a=s[i].children[0];0===a.value.length||0===a.value.trim().length?r.push(E_(e,`keys must be non-empty and must not only consist of whitespace. given: '${a.value}'`,P_(a))):t(a)?o.has(a.value)?r.push(E_(e,`keys must be unique. duplicate: '${a.value}'`,P_(a))):o.add(a.value):r.push(E_(e,`${n}. given: '${a.value}'`,P_(a)))}return{errors:r,keys:Array.from(o)}}(e,n,r,t);if(s.errors.length>0)return s.errors;const a=[];return a.push.apply(a,i(e,s.keys,P_(t))),a.length>0||a.push.apply(a,function(e,t,n){const i=[];for(let r=0;r<t.length;++r){if(!I_(t[r]))throw`Expected a key-value pair, but got: ${t[r]}`;const o=t[r].children[0],s=t[r].children[1];if(s)i.push.apply(i,n(e,o,s));else{const t="root"===e?o.value:`${e}[${o.value}]`;i.push(E_(t,"missing value",P_(o)))}}return i}(e,t.children,o)),a}function E_(e,t,n){return{path:e,message:t,range:n}}function I_(e){return"property"===e.type}function T_(e){return"number"===e.type}function M_(e){return"string"===e.type}function P_(e){return[e.offset,e.offset+e.length]}function R_(e){return e.type}function z_(e){return`[${e.map(e=>`'${e}'`).join(", ")}]`}const L_=["(",")","<",">","!"],O_=["||","&&","==","!=","<=",">="],F_=["*","/","+","-"],j_=[];function D_(e,t,n,i){if(t<0||t>=e.length)throw`pos ${t} out of range: [0, ${e.length}[`;const r=N_(e,n,i);for(let e=0;e<r.ranges.length;++e){const n=r.ranges[e];if(n[0]<=t&&t<n[1])return{token:r.tokens[e],range:n};if(n[0]>t)return{token:null,range:0===e?[0,n[0]]:[r.ranges[e-1][1],n[0]]}}return{token:null,range:0===r.ranges.length?[0,e.length]:[r.ranges[r.ranges.length-1][1],e.length]}}function N_(e,t,n){let i=[],r=[];const o=function(a,l){return a>=e.length?(s(a-l,a),{ranges:i,tokens:r}):function(e,t,n){return n.indexOf(e.slice(t,t+2))>=0}(e,a,n)?(s(a-l,a),s(a,a+2),o(a+2,0)):function(e,t,n){return n.indexOf(e[t])>=0}(e,a,t)?(s(a-l,a),s(a,a+1),o(a+1,0)):function(e,t){return""!==e.slice(t,t+1).trim()}(e,a)?(l++,o(a+1,l)):(s(a-l,a),o(a+1,0))},s=function(t,n){n>t&&(r.push(e.slice(t,n)),i.push([t,n]))};return o(0,0)}function B_(e,t,n,i){return[n===t.length?e.length:t[n][0],i===t.length?e.length:t[i-1][t[i-1].length-1]]}const q_=["==","!="],G_=["<","<=",">",">=","==","!="],V_=["||","&&"];let W_,H_,U_,$_;function K_(e,t,n){const i=function(e){return N_(e,L_,O_)}(e),r=function(e,t,n){for(let[e,n]of Object.entries(t))if("enum"===n.type){if(n.values.length<1)return cg(`no values given for enum category ${e}`)}else if("boolean"!==n.type&&"numeric"!==n.type)return cg(`unknown category type: ${n.type} for category ${e}`);W_=t,H_=n,U_=e,$_=0;const i=X_();return null!==i.error?i:eg()?{error:null,range:[],completions:[]}:cg(`unexpected token '${U_[$_]}'`,[$_,$_+1],V_)}(i.tokens,t,n);return r.tokens=i.tokens,null!==r.error&&(r.range=B_(e,i.ranges,r.range[0],r.range[1])),r}function X_(){const e=Z_();if(null!==e.error)return e;if(eg())return{error:null,range:[],completions:[]};for(;tg();){if($_++,eg())return cg(`unexpected token '${U_[$_-1]}'`,[$_-1,$_],[]);const e=Z_();if(null!==e.error)return e}return{error:null,range:[],completions:[]}}function Z_(){return og()&&"enum"===W_[U_[$_]].type?Y_(q_,(e,t,n)=>function(e,t){return W_[e].values.indexOf(t)>=0}(e,n),(e,t,n)=>void 0!==W_[e]?W_[e].values:[]):og()&&"numeric"===W_[U_[$_]].type?Y_(G_,(e,t,n)=>function(e){return!isNaN(Number(e))}(n),(e,t,n)=>["__hint__type a number"]):ig()?($_++,{error:null,range:[],completions:[]}):ng()?$_+1===U_.length||q_.indexOf(U_[$_+1])<0?($_++,{error:null,range:[],completions:[]}):Y_(q_,(e,t,n)=>lg(n),(e,t,n)=>["true","false"]):rg()?function(){const e=U_[$_];if(e.length<3)return void console.error(`expected something like 'in_xyz', but got: '${e}'`);const t=e.substring(3);return H_.indexOf(t)<0?cg(`unknown area: '${t}'`,[$_,$_+1],H_.map(e=>"in_"+e)):$_+1===U_.length||q_.indexOf(U_[$_+1])<0?($_++,{error:null,range:[],completions:[]}):Y_(q_,(e,t,n)=>lg(n),(e,t,n)=>["true","false"])}():sg()?Q_():ag()?J_():eg()?cg("empty comparison",[$_,$_],[]):function(){const e=U_[$_];return"string"==typeof e&&H_.indexOf(e)>=0}()?function(){const e=U_[$_];if("in_"!==e.substring(0,3))return cg("area names must be prefixed with 'in_'",[$_,$_+1],H_.map(e=>"in_"+e));console.error(`${e} is a valid area operator and should have been detected earlier`)}():cg(`unexpected token '${U_[$_]}'`,[$_,$_+1],Object.keys(W_).concat(H_.map(e=>"in_"+e)).concat(["true","false"]))}function Y_(e,t,n){if($_+1>=U_.length)return cg("invalid comparison. missing operator.",[$_,$_+1],[]);const i=U_[$_],r=U_[$_+1];if(e.indexOf(r)<0)return cg(`invalid operator '${r}'`,[$_+1,$_+2],e);if($_+2>=U_.length)return cg("invalid comparison. missing value.",[$_,$_+2],[]);const o=U_[$_+2];return t(i,r,o)?($_+=3,{error:null,range:[],completions:[]}):cg(`invalid ${i}: '${o}'`,[$_+2,$_+3],n(i,r,o))}function Q_(){const e=$_;return $_++,eg()?cg("missing condition after negation operator '!'",[e,$_],Object.entries(W_).filter(([,e])=>"boolean"===e.type).map(([e])=>e).concat(H_.map(e=>"in_"+e))):sg()?Q_():ng()||ig()||rg()?($_++,{error:null,range:[],completions:[]}):ag()?J_():cg(`unexpected token after negation operator '${U_[$_]}'`,[$_,$_+1],Object.entries(W_).filter(([,e])=>"boolean"===e.type).map(([e])=>e).concat(H_.map(e=>"in_"+e)))}function J_(){const e=$_;$_++;const t=X_();return null!==t.error?t:")"!==U_[$_]?cg("unmatched opening '('",[e,$_],[]):($_++,{error:null,range:[],completions:[]})}function eg(){return $_===U_.length}function tg(){return e=U_[$_],V_.indexOf(e)>=0;var e}function ng(){return og()&&"boolean"===W_[U_[$_]].type}function ig(){return lg(U_[$_])}function rg(){const e=U_[$_];return"string"==typeof e&&"in_"===e.substr(0,3)}function og(){return void 0!==W_[U_[$_]]}function sg(){return"!"===U_[$_]}function ag(){return"("===U_[$_]}function lg(e){return"true"===e||"false"===e}function cg(e,t,n){return{error:e,range:t,completions:n}}const ug=["+","-","*"];let dg,pg,hg;function fg(e,t){const n=function(e){return N_(e,F_,j_)}(e),i=function(e,t){dg=t,pg=e,hg=0;const n=function(){const e=_g();if(null!==e.error)return e;if(gg())return{error:null,range:[],completions:[]};for(;yg();){if(mg(),gg())return vg(`unexpected token '${pg[hg-1]}'`,[hg-1,hg],[]);const e=_g();if(null!==e.error)return e}return{error:null,range:[],completions:[]}}();return null!==n.error?n:gg()?e.reduce((e,n)=>e+(t.indexOf(n)>=0),0)>1?vg("too many encoded values, max: 1",[0,pg.length],[]):{error:null,range:[],completions:[]}:vg(`unexpected token '${pg[hg]}'`,[hg,hg+1],ug)}(n.tokens,t);return i.tokens=n.tokens,null!==i.error&&(i.range=B_(e,n.ranges,i.range[0],i.range[1])),i}function _g(){return gg()?vg("empty expression",[hg,hg],[]):dg.indexOf(pg[hg])>=0||(e=pg[hg],!isNaN(Number(e)))?(mg(),{error:null,range:[],completions:[]}):vg(`unexpected token '${pg[hg]}'`,[hg,hg+1],["__hint__type a number"].concat(dg));var e}function gg(){return hg===pg.length}function mg(){hg++}function yg(){return e=pg[hg],ug.indexOf(e)>=0;var e}function vg(e,t,n){return{error:e,range:t,completions:n}}function bg(e,t,n,i){const r=function(e){for(let t=e.length-1;t>=0;--t)if(""!==e.slice(t,t+1).trim())return t;return-1}(e);if(t>r){let r=e;for(;r.length<t;)r+=" ";r=r.slice(0,t),r+="…";const o=n(r),s=i(r,t);if(o.range[0]!==s.range[0])return{suggestions:[],range:null};const a=o.completions.filter(e=>xg(e,s.token.substring(0,s.token.length-1)));return{suggestions:a,range:0===a.length?null:[s.range[0],t]}}{let r=i(e,t);const o=e.substring(0,r.range[0])+"…"+e.substring(r.range[1]),s=i(o,r.range[0]),a=n(o);if(a.range[0]!==s.range[0])return{suggestions:[],range:null};const l=a.completions.filter(e=>xg(e,null===r.token?s.token.substring(0,s.token.length-1):r.token.substring(0,t-r.range[0])));return{suggestions:l,range:0===l.length?null:[s.range[0],null===r.token?t:r.range[1]]}}}function xg(e,t){return e.substring(0,t.length)===t}function wg(e,t){for(;t>=e.length;)e+=" ";const n=function(e,t){if(0===e.trim().length)return{path:[],signature:["root"],tokenRange:[]};const n=e_(e,[],{allowEmptyContent:!1,allowTrailingComma:!1,disallowComments:!0});if(!n)return{path:[],signature:[],tokenRange:[]};const i=t_(n,t,!0);if(!i)return{path:[],signature:[],tokenRange:[]};const r=function(e){const t=[e];let n=e;for(;n.parent;)t.push(n.parent),n=n.parent;return t.reverse(),t}(i),o=r.map((e,t)=>function(e,t){if("object"===e.type)return"object";if("property"===e.type)return null!==t&&e.children[1]===t?`property[${e.children[0].value}]`:"property";if("array"===e.type)return null!==t?`array[${e.children.indexOf(t)}]`:"array";if("string"===e.type||"number"===e.type||"boolean"===e.type){if(e.parent&&"property"===e.parent.type){if(e.parent.children[0]===e)return"key";if(e.parent.children[1]===e)return"value";throw"a literal in a property should be the first or second child"}return"literal"}return`unknown[${e.type}]`}(e,t+1<r.length?r[t+1]:null));o.unshift("root");const s=[i.offset,i.offset+i.length];return"property"===i.type&&i.colonOffset&&t>i.colonOffset&&(o[o.length-1]=`property[${i.children[0].value}]`,o.push("value"),s[0]=i.colonOffset+1),{path:r,signature:o,tokenRange:s}}(e,t),i=n.signature.join("-");if(/^root-object(-property|-property-key)?$/.test(i))return{suggestions:['"speed"','"priority"','"distance_influence"','"areas"'].filter(e=>!kg(n.path[0].children,n.path[1],e)),range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]};if(/^root-object-property\[distance_influence]-value$/.test(i))return{suggestions:["__hint__type a number"],range:n.tokenRange};if(/^root-object-property\[(speed|priority)]-array\[[0-9]+]-object(-property|-property-key)?$/.test(i)){const e=['"if"','"else_if"','"else"'],i=['"limit_to"','"multiply_by"'],r=n.signature.length>4&&Cg(n.path[3].children,n.path[4],e),o=n.signature.length>4&&Cg(n.path[3].children,n.path[4],i);let s=[];return r||s.push(...e),o||s.push(...i),{suggestions:s,range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}}return/^root-object-property\[(speed|priority)]-array\[[0-9]+]-object-property\[(else)]-value$/.test(i)?{suggestions:['""'],range:[t,t+2]}:/^root-object-property\[(speed|priority)]-array\[[0-9]+]-object-property\[(if|else_if)]-value$/.test(i)?{suggestions:["__hint__type a condition"],range:n.tokenRange}:/^root-object-property\[(speed|priority)]-array\[[0-9]+]-object-property\[(limit_to|multiply_by)]-value$/.test(i)?{suggestions:["__hint__type an expression"],range:n.tokenRange}:/^root-object-property\[areas]-value$/.test(i)?{suggestions:[' {\n "type": "FeatureCollection",\n "features": [\n {\n "type": "Feature",\n "id": "area_id",\n "geometry": {\n "type": "Polygon",\n "coordinates": [[[0, 0], [0, 0], [0, 0], [0, 0]]]\n }\n }\n ]\n }'],range:n.tokenRange}:/^root-object-property\[areas]-object(-property-key)?$/.test(i)?{suggestions:['"type"','"features"'].filter(e=>!kg(n.path[2].children,n.path[3],e)),range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}:/^root-object-property\[areas]-object-property\[type]-value$/.test(i)?{suggestions:['"FeatureCollection"'],range:n.tokenRange}:/^root-object-property\[areas]-object-property\[features]-value$/.test(i)?{suggestions:["__hint__type an array of features"],range:n.tokenRange}:/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object(-property-key)?$/.test(i)?{suggestions:['"type"','"id"','"geometry"'].filter(e=>!kg(n.path[5].children,n.path[6],e)),range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}:/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object-property\[type]-value$/.test(i)?{suggestions:['"Feature"'],range:n.tokenRange}:/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object-property\[id]-value$/.test(i)?{suggestions:["__hint__type an area id"],range:n.tokenRange}:/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object-property\[geometry]-object(-property-key)?$/.test(i)?{suggestions:['"type"','"coordinates"'].filter(e=>!kg(n.path[7].children,n.path[8],e)),range:"key"===n.signature[n.signature.length-1]?n.tokenRange:[t,t+1]}:/^root-object-property\[areas]-object-property\[features]-array\[[0-9]+]-object-property\[geometry]-object-property\[type]-value$/.test(i)?{suggestions:['"Polygon"'],range:n.tokenRange}:{suggestions:[],range:[]}}function kg(e,t,n){return e.some(e=>e!==t&&e.children&&`"${e.children[0].value}"`===n)}function Cg(e,t,n){return e.some(e=>e!==t&&e.children&&n.indexOf(`"${e.children[0].value}"`)>=0)}class Ag{cm;_categories={};_numericCategories=[];_validListener;constructor(e,t){this.categories=e,this.cm=Wf()(t,{lineNumbers:!1,matchBrackets:!0,autoCloseBrackets:!0,mode:{name:"javascript",json:!0},extraKeys:{"Ctrl-Space":this.showAutoCompleteSuggestions,"Alt-Enter":this.showAutoCompleteSuggestions},lint:{getAnnotations:this.getAnnotations},gutters:[]}),this.cm.on("cursorActivity",e=>{const t=this.cm.state.completionActive;this.cm.closeHint(),t&&this.showAutoCompleteSuggestions()})}set categories(e){this._categories=e,0===Object.keys(e).length&&console.warn("Empty list of categories provided to Custom Model Editor"),this._numericCategories=[],Object.entries(this._categories).forEach(([e,t])=>{"numeric"===t.type&&this._numericCategories.push(e)})}set value(e){this.cm.setValue(e)}get value(){return this.cm.getValue()}get jsonObj(){try{return JSON.parse(this.cm.getValue())}catch(e){throw"invalid json: "+this.cm.getValue()+"error: "+e}}getUsedCategories=()=>{const e=this.getCurrentErrors(this.cm.getValue(),this.cm);return 0!==e.errors.length&&console.warn("invalid custom model",e.errors),e.usedCategories};setExtraKey=(e,t)=>{this.cm.getOption("extraKeys")[e]=t};set validListener(e){this._validListener=e}getAnnotations=(e,t,n)=>{const i=this.getCurrentErrors(e,n).errors;return this._validListener&&this._validListener(0===i.length),i};getCurrentErrors=(e,t)=>{const n=u_(e),i=n.errors.map((e,n)=>({message:e.path+": "+e.message,severity:"error",from:t.posFromIndex(e.range[0]),to:t.posFromIndex(e.range[1])})),r=n.areas,o=new Set;return n.conditionRanges.forEach((n,s)=>{const a=e.substring(n[0],n[1]);if(a.length<3||'"'!==a[0]||'"'!==a[a.length-1])return void i.push({message:`must be a non-empty string with double quotes, e.g. "true". given: ${a}`,severity:"error",from:t.posFromIndex(n[0]),to:t.posFromIndex(n[1])});const l=K_(a.substring(1,a.length-1),this._categories,r);null!==l.error&&i.push({message:l.error,severity:"error",from:t.posFromIndex(n[0]+l.range[0]+1),to:t.posFromIndex(n[0]+l.range[1]+1)}),Object.keys(this._categories).filter(e=>l.tokens.includes(e)).forEach(e=>o.add(e))}),n.operatorValueRanges.forEach((n,r)=>{const s=e.substring(n[0],n[1]);if(s.length<3||'"'!==s[0]||'"'!==s[s.length-1])return void i.push({message:`must be a non-empty string with double quotes, e.g. "100". given: ${s}`,severity:"error",from:t.posFromIndex(n[0]),to:t.posFromIndex(n[1])});const a=fg(s.substring(1,s.length-1),this._numericCategories);null!==a.error&&i.push({message:a.error,severity:"error",from:t.posFromIndex(n[0]+a.range[0]+1),to:t.posFromIndex(n[0]+a.range[1]+1)}),this._numericCategories.filter(e=>a.tokens.includes(e)).forEach(e=>o.add(e))}),0===i.length&&n.jsonErrors.forEach(e=>{i.push({message:e.path+": "+e.message,severity:"error",from:t.posFromIndex(e.range[0]),to:t.posFromIndex(e.range[1])})}),{errors:i,usedCategories:Array.from(o)}};showAutoCompleteSuggestions=()=>{const e=u_(this.cm.getValue()),t=this.cm.indexFromPos(this.cm.getCursor()),n=wg(this.cm.getValue(),t);if(n.suggestions.length>0)if(1===n.suggestions.length&&"__hint__type a condition"===n.suggestions[0])this._completeExpression(n,t,(t,n)=>function(e,t,n,i){return bg(e,t,e=>K_(e,n,i),(e,t)=>function(e,t){return D_(e,t,L_,O_)}(e,t))}(t,n,this._categories,e.areas));else if(1===n.suggestions.length&&"__hint__type an expression"===n.suggestions[0])this._completeExpression(n,t,(e,t)=>function(e,t,n){return bg(e,t,e=>fg(e,n),(e,t)=>function(e,t){return D_(e,t,F_,j_)}(e,t))}(e,t,this._numericCategories));else{const e=this.cm.indexFromPos({line:this.cm.getCursor().line,ch:0}),t=this.cm.indexFromPos({line:this.cm.getCursor().line+1,ch:0}),i=Math.max(e,n.range[0]);let r=Math.min(t,n.range[1]);r>i&&/\r\n|\r|\n/g.test(this.cm.getValue()[r-1])&&r--;const o=[this.cm.posFromIndex(i),this.cm.posFromIndex(r)];this._suggest(o,n.suggestions)}};_completeExpression=(e,t,n)=>{let i=e.range[0],r=e.range[1];'"'===this.cm.getValue()[i]&&i++,'"'===this.cm.getValue()[r-1]&&r--;const o=n(this.cm.getValue().substring(i,r),t-i);if(o.suggestions.length>0){const e=[this.cm.posFromIndex(o.range[0]+i),this.cm.posFromIndex(o.range[1]+i)];this._suggest(e,o.suggestions.sort())}};_suggest=(e,t)=>{const n={hint:function(){const n={from:e[0],to:e[1],list:t.map(e=>{return t="__hint__",e.substr(0,8)===t?{text:"",displayText:e.substring(8)}:{text:e};var t})};return Wf().on(n,"pick",function(e){}),n},completeSingle:!1};this.cm.showHint(n)}}var Sg;function Eg(){return Eg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Eg.apply(null,arguments)}const Ig=function(e){return c.createElement("svg",Eg({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 96 960 960"},e),Sg||(Sg=c.createElement("path",{fill:"currentColor",d:"M158.511 965.582q-24 0-42-18t-18-42v-600q0-24 18-42t42-18h405l-60 60h-345v600h600v-348l60-60v408q0 24-18 42t-42 18zm482-712 43 42-285 284v86h85l286-286 42 42-303 304h-170v-170zm171 168-171-168 100-100q17-17 42.311-17t42.69 18l84 85q17 18 17 42.472t-18 41.528z"})))};var Tg,Mg,Pg;function Rg(){return Rg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Rg.apply(null,arguments)}const zg=function(e){return c.createElement("svg",Rg({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 96 960 960"},e),Tg||(Tg=c.createElement("path",{fill:"currentColor",d:"m811.146 420-171-168 100-100q17-17 42.31-17 25.312 0 42.69 18l84 85q17 18 17 42.472t-18 41.528z"})),Mg||(Mg=c.createElement("path",{fill:"currentColor",d:"m562.079 592.242 42.851 42.032 206.203-214.29-41.992-41.992zM370.43 521.742l-32.266 32.266v170h170l33.906-34.024-42.851-42.03-16.055 16.054h-85v-86.016l14.727-14.648zM431.88 460.988l42.461 41.601 208.823-208.581-43.008-41.992zM758.033 788.08l60.073 60.366.058-352.446-60 60z"})),Pg||(Pg=c.createElement("path",{fill:"currentColor",d:"M114.61 265.57c-10.055 11.294-16.446 23.793-16.446 38.438v600c0 16 5.969 29.992 17.969 41.992s26.031 18.008 42.031 18.008h600c16 0 29.992-6.008 41.992-18.008 1.733-1.732 1.135-4.239 2.617-6.055l-44.609-43.71v7.773h-600V308.227zM275.835 303.246l227.33.762 60-60-346.658.078z"})),c.createElement("path",{d:"m56.648 207.056 796.235 799.184",style:{fill:"none",stroke:"currentColor",strokeWidth:60}}))};function Lg(e){const t={};return Object.keys(e).forEach(n=>{const i=e[n];2===i.length&&"true"===i[0]&&"false"===i[1]?t[n]={type:"boolean"}:2===i.length&&">number"===i[0]&&"<number"===i[1]?t[n]={type:"numeric"}:t[n]={type:"enum",values:i.sort()}}),t}function Og({customModelEnabled:t,encodedValues:n,customModelStr:i,queryOngoing:r,drawAreas:o}){const[s,a]=(0,c.useState)(),[u,d]=(0,c.useState)(!1),p=(0,c.useRef)(null);(0,c.useEffect)(()=>{const e=(t=Lg(n),new Ag(t,e=>{var t;return null===(t=p.current)||void 0===t?void 0:t.appendChild(e)}));var t;a(e),e.cm.setSize("100%","100%"),e.cm.on("change",()=>Q.dispatch(new w(e.value,!1))),e.validListener=e=>d(e)},[]),(0,c.useEffect)(()=>{s&&(s.categories=Lg(n),t&&s.cm.focus(),s.value!==i&&(s.value=i))},[s,n,t,i]);const h=(0,c.useCallback)(e=>{if(e.ctrlKey&&"Enter"===e.key){try{JSON.parse(s.value)}catch(e){Q.dispatch(new C("Custom Model "+e.toString()))}Q.dispatch(new w(s.value,!0))}},[s,u]);return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:qf.customModelOptionTable,children:[(0,e.jsx)(Ct,{style:{color:t?"":"lightgray"},onClick:()=>{t&&Q.dispatch(new I),Q.dispatch(new S),Q.dispatch(new x(!t))},children:t?(0,e.jsx)(Mh,{}):(0,e.jsx)(zh,{})}),(0,e.jsx)("div",{style:{color:t?"#5b616a":"gray"},children:l("custom_model_enabled")}),t&&(0,e.jsx)(Ct,{className:qf.drawAreas,title:l("draw_areas_enabled"),style:{color:o?"":"lightgray"},onClick:()=>Q.dispatch(new q({drawAreasEnabled:!o})),children:o?(0,e.jsx)(Ig,{}):(0,e.jsx)(zg,{})})]}),(0,e.jsx)("div",{ref:p,className:qf.customModelBox,onKeyUp:h}),(0,e.jsxs)("div",{className:qf.customModelBoxBottomBar,children:[(0,e.jsxs)("select",{className:qf.examples,onChange:e=>{Q.dispatch(new w(Wt(Vt[e.target.value]),!0))},children:[(0,e.jsx)("option",{value:"default_example",children:l("examples_custom_model")}),(0,e.jsx)("option",{value:"exclude_motorway",children:l("exclude_motorway_example")}),(0,e.jsx)("option",{value:"exclude_disneyland_paris",children:l("exclude_disneyland_paris_example")}),(0,e.jsx)("option",{value:"avoid_tunnels_bridges",children:l("avoid_tunnels_bridges_example")}),(0,e.jsx)("option",{value:"simple_electric_car",children:l("simple_electric_car_example")}),(0,e.jsx)("option",{value:"limit_speed",children:l("limit_speed_example")}),(0,e.jsx)("option",{value:"cargo_bike",children:l("cargo_bike_example")}),(0,e.jsx)("option",{value:"bike_network",children:l("prefer_bike_network")}),(0,e.jsx)("option",{value:"combined",children:l("combined_example")})]}),(0,e.jsx)("a",{target:"_blank",className:qf.helpLink,href:"https://github.com/graphhopper/graphhopper/blob/master/docs/core/custom-models.md",children:l("help_custom_model")}),(0,e.jsxs)("div",{className:`${qf.applyButton} ${u?"":qf.applyButtonInvalid} ${r?qf.applyButtonProgress:""}`,children:[(0,e.jsx)(Ct,{title:l("Apply custom model of text box to routing request"),disabled:!u||r,onClick:()=>{t||Q.dispatch(new x(!0)),Q.dispatch(new w(s.value,!0))},children:l("apply_custom_model")}),r&&(0,e.jsx)("div",{className:qf.infiniteProgressBar})]})]})]})}function Fg({query:t,route:n,error:i,encodedValues:r,drawAreas:o,map:s}){var a;const[l,u]=(0,c.useState)(!1),d=ti({query:"(max-height: 55rem)"}),[p,h]=(0,c.useState)(d&&jg(n)),f=(0,c.useRef)(null),_=(0,c.useCallback)(e=>{var t;!(e.target instanceof Node&&(null===(t=f.current)||void 0===t?void 0:t.contains(e.target)))&&d&&jg(n)&&h(!0)},[d,n]);return(0,c.useEffect)(()=>(window.addEventListener("mousedown",_),window.addEventListener("touchstart",_),()=>{window.removeEventListener("mousedown",_),window.removeEventListener("touchstart",_)})),(0,e.jsx)("div",{className:Qt.sidebar,children:(0,e.jsxs)("div",{className:Qt.background,ref:f,children:[p?(0,e.jsx)(Dg,{selectedProfile:t.routingProfile,points:t.queryPoints,onClick:()=>h(!1)}):(0,e.jsxs)("div",{className:Qt.btnCloseContainer,children:[(0,e.jsx)("div",{className:Qt.btnCloseInputs,onClick:()=>h(!0),children:(0,e.jsx)(Mf,{})}),(0,e.jsx)(xf,{routingProfiles:t.profiles,selectedProfile:t.routingProfile,memorizedProfilePerGroup:t.memorizedProfilePerGroup,showCustomModelBox:l,toggleCustomModelBox:()=>u(!l),customModelBoxEnabled:t.customModelEnabled}),l&&(0,e.jsx)(Og,{customModelEnabled:t.customModelEnabled,encodedValues:r,customModelStr:t.customModelStr,queryOngoing:(null===(a=t.currentRequest.subRequests[0])||void 0===a?void 0:a.state)===Ut.SENT,drawAreas:o}),(0,e.jsx)(jh,{points:t.queryPoints,profile:t.routingProfile,map:s})]}),!i.isDismissed&&(0,e.jsx)(Hh,{error:i})]})})}function jg(e){return e.routingResult.paths.length>0}function Dg(t){const n=t.points[0],i=t.points[t.points.length-1],r=ti({query:"(max-height: 36rem)"}),o=bf[t.selectedProfile.name],s=o?c.createElement(o):c.createElement(bf.question_mark);return(0,e.jsxs)("div",{className:Qt.btnOpenContainer,onClick:t.onClick,children:[(0,e.jsx)("div",{className:Qt.profile,children:s}),(0,e.jsxs)("div",{className:Qt.mapView,children:[!r&&(0,e.jsx)(Ng,{text:n.queryText,color:n.color,position:n.type}),!r&&(0,e.jsx)(qg,{points:t.points}),(0,e.jsx)(Ng,{text:i.queryText,color:i.color,position:i.type})]}),(0,e.jsx)("div",{className:Qt.btnOpenInputs,children:(0,e.jsx)(Ef,{})})]})}function Ng({text:t,color:n,position:i}){return(0,e.jsxs)("div",{className:Qt.mapViewRow,children:[(0,e.jsx)("div",{className:Qt.markerContainer,children:(0,e.jsx)(Ch,{color:n})}),(0,e.jsx)("span",{className:Bg(i),children:t})]})}function Bg(e){switch(e){case Ht.To:return Qt.queryPointText+" "+Qt.queryPointTextTo;case Ht.Via:return Qt.queryPointText+" "+Qt.queryPointTextVia;default:return Qt.queryPointText}}function qg({points:t}){return 3===t.length?(0,e.jsx)(Ng,{text:t[1].queryText,color:t[1].color,position:Ht.Via}):t.length>3?(0,e.jsx)(Ng,{text:t.length-2+" via points",color:"#76D0F7",position:Ht.Via}):(0,e.jsx)("div",{})}var Gg=n(5771),Vg={};Vg.styleTagTransform=we(),Vg.setAttributes=ye(),Vg.insert=ge().bind(null,"head"),Vg.domAPI=fe(),Vg.insertStyleElement=be(),pe()(Gg.A,Vg);const Wg=Gg.A&&Gg.A.locals?Gg.A.locals:void 0;var Hg;function Ug(){return Ug=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Ug.apply(null,arguments)}const $g=function(e){return c.createElement("svg",Ug({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 50 50"},e),Hg||(Hg=c.createElement("path",{d:"M7.5 34q-.65 0-1.075-.425T6 32.5t.425-1.075T7.5 31t1.075.425T9 32.5t-.425 1.075T7.5 34m0-8.5q-.65 0-1.075-.425T6 24t.425-1.075T7.5 22.5t1.075.425T9 24t-.425 1.075T7.5 25.5m0-8.5q-.65 0-1.075-.425T6 15.5t.425-1.075T7.5 14t1.075.425T9 15.5t-.425 1.075T7.5 17m7 17v-3H42v3Zm0-8.5v-3H42v3Zm0-8.5v-3H42v3Z"})))};var Kg;function Xg(){return Xg=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Xg.apply(null,arguments)}const Zg=function(e){return c.createElement("svg",Xg({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 0 50 50"},e),Kg||(Kg=c.createElement("path",{d:"M11 40q-1.2 0-2.1-.9T8 37v-7.15h3V37h26v-7.15h3V37q0 1.2-.9 2.1T37 40Zm13-7.65-9.65-9.65 2.15-2.15 6 6V8h3v18.55l6-6 2.15 2.15Z"})))};var Yg=n(7639),Qg={};Qg.styleTagTransform=we(),Qg.setAttributes=ye(),Qg.insert=ge().bind(null,"head"),Qg.domAPI=fe(),Qg.insertStyleElement=be(),pe()(Yg.A,Qg);const Jg=Yg.A&&Yg.A.locals?Yg.A.locals:void 0,em=n.p+"01f24e0d2b07a8c8b132.png";function tm(t){return(0,e.jsx)("ul",{className:Jg.instructionsList,children:t.instructions.map((n,i)=>(0,e.jsx)(nm,{instruction:n,index:i,us:t.us},i))})}const nm=function({instruction:t,index:n,us:i}){const r=(0,c.useContext)(Y);return(0,e.jsxs)("li",{className:Jg.instruction,onClick:()=>Q.dispatch(new B({lng:t.points[0][0],lat:t.points[0][1]},t.text)),children:[im(t.sign,n),(0,e.jsx)("span",{className:Jg.mainText,children:t.text}),t.motorway_junction&&(0,e.jsx)("span",{style:{background:i?"#00674c":"#003399"},className:Jg.motorwayJunction,children:t.motorway_junction}),(0,e.jsx)("span",{className:Jg.distance,children:Ot(t.distance,r.showDistanceInMiles)})]})};function im(t,n){if(0===n||4===t||5===t){let i;return i=0===n?$t.getMarkerColor(Ht.From):4===t?$t.getMarkerColor(Ht.To):$t.getMarkerColor(Ht.Via),(0,e.jsx)("div",{className:Jg.sign,children:(0,e.jsx)(Ch,{color:i})})}return(0,e.jsx)("img",{className:Jg.sign,src:rm(t),alt:"turn instruction"})}function rm(e){switch(e){case-98:case-8:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAKxAAACsQBZm2C1AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAUySURBVGiB7ZldiFRlGMf/z+s5Izuru7PSBwRqoRcZiBWR7IY40JxZF9ToYwMhAqUuFKIb9SIKRsgotMQSWvqkCMqmC1mSac67wqFYtsK9yNQ+yFWiwtRpN7dtd77epwtnt1l3znvec8aNLvxfnbPP128f3jnzzHOA6/pvRPORNJlM3mDb9hpmvoOIFgNoA9BCRKPMfBHABSHEmWKxeMLzvErY/NcMOpVKrSaiLQB6Aaw0DJsgos8AfNDV1dWfyWSUSVDT0Ol0+nZm3gvgwSbz/Qhgl5SyP8ixKehUKvU4EfUBaGkmT72Y+Y2Ojo6nstlsyc8nKjSlUqlDRLQjYrxWzPyFbdsbc7nc5UZ2ESWp4zjPzxcwABDRumq1ejiZTFqN7KGh0+n0RgDPNE0WIGbeEIvF9jWyhToeyWQyYdv2KQC3hAgbA3AewASAm2qxCwxjlRCiM5/Pf13/x1CdtizraRgAE9EZADuJaJWUcomUcpWU8h4p5bJyuZwA8CSA7w1KCqXUa5lMZhancac3b968eHJy8hyAJRo3JqIXCoXCnuHh4bIuX2dnZ0tra+shItpmUP6B+kdhw4PeSFNTU73QAwPADtd1+0zyDQ0NTQJ4wnGcFgBbdL5EtB3ADLTx8VBKPRbg8p6U0gi4Tlwul7cB+EnrxJxOp9O3Td8bQXd3dy8hovUal78ty9plxjlbnudNAdgd4CaY+aGZG5PESqn1Ab7v53K5iya5GklKeYSZf9D5ENGG6WvT46HrMoQQHxvm8RMLId7WOjCv27RpUxwwhGbmuzXmcltb22AIQD99EmBfWCwW7wTMoImIVmuM3+mGG1O5rnsWwIjOh5nvAgygk8nkzQASmkQnwgJq9LnOSERrAAPoWCy2PMDlZAgorZj5G51dKbUSMDseS3VGIor81GiQ61udXQixDDCAVkrdGGAvhEPzFxH9qrMz89JMJiNMOt0eUGgsFJlGpVLpfIBLbGhoKCEAIJ1Ot149SdVBtemyCCGuGbTneWMApnQ+1Wp1kTV9MTg4eNxxnKMAPpJSHq/z69AlqVQqM9NcT0/Pwkqlcj8zPyyEOOm67oEI7OcB3Kqxt86Mpo7jvIR/Z4CfmflTIjpKRFuZ+RG/DEqpHiHEcgDdzJyq7TkuMfPKgYGBP8MSO47zJYC1mnr3zoym5XJ5n2VZ22tFl9V+A+5gZm0RIURu+proSg+YeW8U4JomdEbLshbNnGPP8y4JIV6NWKhe52zbfr2JeO3GiZlbZ334SqXSfgCjTRQEET2by+WKUeOZOWgkWDQL2vO8MWY+GLUgEZ3o6ur6MGp8TUGdpjmPOdu2DwD4I0o1pdRu032cn4hI22lmrs6Brm11Xo5QzxsYGMhHiLta2n9aCKH8vlAOArgQohAT0c4wZBrFdEalVGNo13UniGh/iEKHXdcdDoXmLzvAPvd4TGt8fPwQgN8MipSFEM+FwtJL22nf4wFc2Uswc8NdWr2IqC+fz2tXACGl7XTDD2K9KpVKH4BfNC5/VavVvVHINNJ2mojKWujaTuJFPzsz7z927NjvEeH8pO00EVUC5+lEIvEmgLMNTBfi8fgrUck00na6Wq3qOw0A2Wy2RERzuk1Ee/r7+8ebofORttNCiGBoACgUCu9i9s/7kfb29reaIfMTMwc98irGq95UKrWViN6p3T4qpcxGR/OX4zj3MbPvi6d4PP6VMXRvb++C0dHRU0R0WUq5FoB+0J5Hmb5GwOnTp3nFihVjAI6MjIxoN0H/N83La+nr+r/qHxuK3rF5mZJHAAAAAElFTkSuQmCC";case-7:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAABACAYAAACOcP4eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPMQAADzEBHgryygAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAcZSURBVGiB7ZltjFxVGcd/z53Zpdt2tzubGECb0nQXE6Hxg01NNrvqpHPv3I5lP2CyIK0bBIxNKOGlJoJR6RI0WBIIqKGtBtEYX3CiEetmd+69sx1pt8FQoTUQ4ku1ppIqCGzB9G3v3McPO0Om0zs7d6YzLiT9f5p7zv+c85szz3nOOXewLGunbdt9vI9kAH2q+rJlWZ9ebJioMkQkr6pXAL81TXPPyMjI0sWGqicDmAYUEBH54pkzZw7Ztv2xReZaUAKQTqePqOpHK8p9EfnmihUrHsxms8VFYqspAyAIgnxVeVxVd8zOzh6wbXvg/wk0ODjYVc8TA1izZk1cRDaH1K8MguCWgYGBN44ePfqHlhNWKZlMxru6ug709/evTSQS+RMnTgRhPgNg6dKlzwJzYQYR6VbVPaZpehs3blzdPmSIx+M7gPXAnX19fa5t21eGMpU/WJZ1ABiq0+8p4CbXdX/TMtKSbNv+eBAEM8DbwFFgvYj8S0Q253K5fZXeWPlDf3//VcCn6vTdAdzU39/fv2rVKvfYsWPnWgGcTCaXGIYxAVyhql/wfX97LBa7DNioqp8bGBgwxsbGni0UCgql8AAQkerFuJDGOjo6/mia5nAroDs6OnYC14rIM57n/bRQKPiu694nItcD76jqjpmZGTeVSl0OFeExOjraOTs7+yawrIHxfOCR3t7e+7PZbFOzbppmsjRh/4nH42snJydfr6xPpVIfjsVi2VJKPh4EwY1SabAsaz/QzOw9H4vFxqampv7USKNMJtPj+/4RYLWIXO84zq/DfIODg13d3d3PlcDzRmWliLzSBDDA+mKx+KJlWXdR8evVk+/7jwKrgR/XAgbo7u4eVtW1wJsicst50EEQ7GoSGqALeMyyrKkNGzZ8qJ45nU5fB9wGvNrZ2XlXLV8mk/mAqv6I+XPS7Y7jHD8Penh4+AjwxkWAA6RjsdhLpmmGbVZlkB5V3QOoqt42MTHxVg2rzM3N/QC4UlW/5zjO01CRPQDGx8cDYF9Y6wbVKyI/sSzrF5s2bUpUVxaLxQeADwI/9DwvV6sT0zS3ich1wCtdXV33lMuNEG8jqa+eRs+dO/eiaZrJckE6nV6rqtuAt+Lx+L21Gtq2fa2IPAycBTbv3bv3VE1owzC8FgGfAZ4DjojIzalU6hpAVHUX85vUV6rTW1mDg4NdQRD8nPl1cq/ruocr6+PVDXK53F8ty/oHcFWjlCLyT+CJIAj2JRKJF6pzdzqdvlFVh4Hnh4aGvu+6bmg/y5cv/xawFphwXffb1fUXQAOoal5Ebm0UWlXp7OzcHbaw1q1b16Gq3yj5tpfWzwWybfsTQRDcAbxeYtBqT1hMYxjGdKPAJa08e/bsd8IqEonEVmCgtFUfCPOUwuLJEtc2x3FeC+ULKywWix4h3zCKRGRLOp3+bGXZyMjIUhH5GlAUka/Warts2bIHgKuBX7mum63lC4XO5/P/Bl5uBhpAVXeZprmq/Hz69OlbgcuBn+VyudB+U6nUNSJyNzAbBMHtC/UfCl1SsyEC0GsYxpOAJJPJuIh8CVAR2VkTxDAeBTpU9eulSauphaDD8vXjwJ+jUKuqaVnWnfF4/Abmzxd7Hcd5KcxrmuZnABs4nEgk6h4lakKr6u+YP3qWn/cPDQ1tB7ZQ42oWop0ish1ARB4JM4yOjsZEpJxV7oly+68J7XneSeBQ6fEssHV8fDxwXfcQ8FBE6MuAdcBfHMfZH2Y4efLkzcBHRGTK87xClE4XCo93bzOq+pDnee8eW+fm5h4Efh8RHOBVQrLR+Pi4oar3MR/vNbNKtaJAn1LV71aWFwoFv1gsbgH+G2UQEflk5fmjrIMHD24CrhaRfC6Xe6El0D09PTPArnw+f8FxdXp6+qiqfjnKIKpqiMhTmUymp6r8DoAgCB6LCgx1oLPZ7LklS5bcX6ve87zdwETEsVb7vv94+aF0SU0Bx4eHhycj9gHUgQaoPBKGSEvngwXzaoU+b5rmDQAiMgrEROTpWueQWqoLXU+O47ymqluj+kVkdyaTWSkiGwGCIPhlo2NeNDSA53nPAE9FtCd8338CGFbVd3zfP1S3RZVaAg0Qj8fvBv4e0T4CrBCRg4VCwa/rrlLLoCcnJ98GxoBG3mcfrm+5UC2DBnBddwZ4uIEmTZ0kWwoN0NvbOw6cjGj/WzNjtBy6dC+M9F5PVU80M0bLoUuK1beA7/uh16l6agu0iER6n5dMJhfauGqqLdCqWhdaRIJGd8Ky2hUedftV1ab/6lvM8GhqlmERw4PGNqHz1K7wiALd1HsVaB9000BR1K7wiAId+W+OarVrIdZdZBHjPlSLFh4R959QtQs6Sjp7z830+w86SkxfjBYzezStdoVHW7VoM/1ezB5tVbsWYt2ZvpiwvzTTFbqUPap1aabLirIQuYgv9j8F7ZPhIGK1QgAAAABJRU5ErkJggg==";case-3:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA+CAYAAACbQR1vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAYVQAAGFUBN+4GkAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAATaSURBVGiB7VtdiBtVFP6+u5mxVltqUCtI/QGlIOIfVUQpMpq5d9KuLYgPrYqi0ILVaiviH4hdRUWEWuuDiC9WaCmLhSrKNklroA/VF8G/F6H40ifpwxRaSEky9/jQBpaa3c3cmWTdZD9YSGbOOffeM+ec79w7G4oI5hPGmK3NZvNAvV4/l5fNNWvWeMVicRzAIyTXish5kr9Za4/WarXJ6bKcTwdorV8G8Fa1Wl2Zh70oiopJkmwl+SKA67vJkDwCYGulUjkFzKMDwjB8g+SHJH+qVCoPZLFVLpdXJ0myA8DTAJb2oHKq1WrdUa/XzxSyDOwKrfW7JN8GABE56WonDMMSyZ0AygCYQnWV53mfA9g8cAcYYz4G8GrnO8l/0ugHQbDE9/0nRWQHydszTGWTMeb9gTmAJMMw/AzAC9Ovi4jfi36pVFqplNrmed7zInJNHnMSkQcH4oCJiQlVKpW+BPBcl0ksmU03iqI7rbU7lVKbAfTkrBS4t+8OCIKg4Pv+PpJPdLtP8rJLr01MTKgTJ06st9buJBn0cXrL+uqAi3x8UEQem0VseeeDMeYKa+2zJF8CcCuZpq45gX2jwSAIlnie9w2A9XOIniT5sLV2O8ktAFb0ZUJdQPJQXyJgw4YNS33f/1ZESj2I3yIif5McOCOJiMp90I0bNy5rNBo/kFybQm1e+hERydfr4+PjVzWbzSMk78vTbr9AMr8ICILgas/zagDuysvmAJBPBARBcJ3neccA3JaHvQFCqawWjDGrPM87joW3eCCrA4wxN4vIcQC35jShLIjTKpCkswPK5fJqEfkZwE2uNnJAk+TXAO4GsCetsoi4RUCpVIqSJPkdwLUu+jngNID3Wq3WjZVK5ZlqtforAJeOLn0RjKLoHqXUfuS/MekFf5Lc02w299fr9fPTb4iIdWid09FgGIb3k5zCANtVXHiyUyLySa1WOzqTEMnUEZCqE9RaP0TyewBXph3IBSLSUEp9pZT6dGpq6q8e5FNHAHvtv7XWGsBhAJenGiEbjlUqlW29CpO0DmPMXQSNMY8C+A6DXTxIjodh+E4KeZcUmJ0GjTGPi8ghAP85tBgESO7SWn/Qi6yIpI4AkjNHgNb6KRE5CMBLazhnvGmM2cu5Ezx1BMzogDAMtwDYB2AsrdF+QES2h2F4YN26dctnkUkdAV1TIAzD7SS/AJB5n5AzNrXb7T+iKOp6RqiUyl4Etdavk9yLdC8ZBokbrLWHtdavXHrDWputEzTG7ALQc9XNAhE5SzLGhQ1MDCAWkZhkLCKxUioWkdhaG4+NjcVJksS+78eNRiOu1+vtritxpMECAGitPwLwWpo1ADh7yeTPkVwB4BcROd1ZSGcR1tq41WrFAM7MtIgsIClpD3hFhIWL4RQC+LHzBKY/hc41a21cKBTidrsdF4vFM5OTk0nei8gCVxosVKvV3QB292FOAwVJmzYCZu0DFhpciuCcneBCQi40uMDhRIND4wCXIohhioCRd4DLdhjDlAIuneAiDS7S4BDVALjR4PA4wJEFhicFRp4GMeqdoEsRXKRB17fD/0c40uDwpIC1drSL4MjvBRYjYNQjwKUIDhUL5P52eKFh5FNgsQiOegSM/IHIYgo4psC8/FKjH7DWdv5P0OLC2cD0v5mu2X8Bfk0MprjEg5cAAAAASUVORK5CYII=";case-2:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAYAAABQHc7KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAVrAAAFawBqQLmJgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAASTSURBVGiB7VtBaBxVGP6+2Z2tIg0xAVtLCVispVUk0SCWFXV1ZjZZKGk9RFsVtaC2ik2sMSAeovWu4kGveg09pAeHnbdJ0yqGXhRLQTwoepLqydRDWLMzv4dsQrrsNjO7k7fr7n4w7OzM//738e/3/v+9ebMUEbQSbNvOknxcKfW+jv6SOjrZCplMJplKpZ4FME3yQZJpXX03NQDZbPaOIAheNU3zbREZKF8+73neki4OTQlANpu9C8AZEXmD5J2bbolhGO/p5KI1AI7j7AfwDoCXANxWxWQpn8//opOTlgCMjIw8IiLTAI4BMGrZkZzVwWczti0AJGnb9iiAaQBPhGgiInJ+u/jUAuMug8PDw2Z/f/8JEZkC8ECEpt8ppR6LlUwIxKaAsbGxnSsrK6/19fVNisjeOlxciYtLFDQcgEwmszuVSk2IyCkAvfX6IXmtUS71oO4AjI6OHvB9f8o0zRdFZEejRJoVgMg5wLKswySnSY4BYEw8hOTXIkKSCRExACTKR9VzkoaIbFwvt9uwqfBjAPgdwPeGYXyRz+d/WO84VADKGf0IgHcBaE9UMaME4COl1DlgiwCMj4+nlpeXXyhn9IOaCGoByTc9z/u8agByuVxPqVQ6BWACwB7t7PRgheT9NyVBx3H2iMgkydcB9DSJmC7cLiK5JABYlnXIMIwpAM+TTDWZmDaIyOHE0tLSWZJzAIawljE7BiSvG0qpjwE8BOArAMUmc9IN3pQELcvalUgkTpdndbuax0sbFmpVgR2lUuk41qrAoHZa+nBxy4mQbdtPGoYxKSJHcIu1/P8Ul0JPhW3b3kfyjIicJLkzbiYi8jfJEoAAgF8+AgA+yUBENq6R9Mvf1+/7IrLe7lEAYSvZ5chrgVwu17O6unqS5FsA9kVqfAuQfNrzvIuN+nEc5w8Ad4exFZFvI0vadd0bhULh03Q6vZ/kMQCXo/qoQSauXBP6FyVp1L0cnpmZCQDMAZhzHGcQwCSA4wgvv0oM1culAkEEW8aS1JRSPyqlXg6CYIDkhwD+qsPNw3FwQQQFADBizerz8/N/ep73QTKZHADwCoCrEZoftCzrUAw09CugEq7rFpVSXyqlBkUkQ/JCGGKJROJEDN1HCUC8CqiGQqFwyfO8o77v3wfgMxH5p5atiMQRgChDYHsUUA0LCwu/KqUmTNPcS/IsgN+qmN3jOE6jG6OhFSAi26+ASriue8PzvE/S6fS9AJ4B8E2FybkGu4hSBhn7xkg9sG17qDzdfg5ASkSOFgqFC3X6+pnkgZDmV1siAOvIZDK7TdM8DcDq7e3NzM7O/hvVh+M4PyH888trLbW4WVxcvK6Umkkmk08Vi8V69xoiJcGWeEOkEq7rFlH/w5nWKoNNQGuWQY1o7TKoAaEDQLL9FCDRylr7KYBkZysAEZJgx+cAtOMQQLcMdhXQ/CdCzUS3DHbLYLcMdnYSjDIE0E2CbagAdHoZJNnZCii/JxDWtv0UECUAJNtPARGHQPspIGIZbD8FBEHQ2Umw4ydC6PSpMNpha6wRiEhQrgSCNTVs/tw4l7X/5/j/AZzOwmKqcltsAAAAAElFTkSuQmCC";case-1:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAABACAYAAADidqwbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAARIQAAESEBdkeL6QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPaSURBVFiF7ZhPaBx1FMc/77c7odKYaEAQvXiogh6k1OAhFx2d+c1iDgGVvajkqmLpQQ8VD6VUBfGg1Is9qbRF3KPG4EyyWSjNUmhMQYuI6CFI8RLq1hDWZrPzPGQ3hGT/zG52k1D7hWGY33u//fzevDdv5zf4vv/B+Pj4/arKXh9GRB5YW1v7OQgCnz2WAfLAw6oaBkFwdmxs7J49g6dSqTlAAVHV44ODg4vW2tG9gIuqYq29BhzdMr4OnKlUKh8WCoX1fsFN7ZzfNp4GTjuOM+953mN9hcdxPNvE/rQx5loQBG/2Ay6qShAEh1X1JjDQwndORE6EYXi9V3ADEIbhKnClje9zqrro+362p/Catue9kRwR+cb3/Quu697XM7iINMv7DonIK47j/GStfX43cFFVAFzXTafT6Zsicm8H8xU4W6lUThYKhX87hW9GXigU1kVkscP5ApxwHGcxk8kc6xoOICJXO/2Bmh6P4/iK7/vvZbPZVFdw4Ksu4bBRjO+XSqXLmUzmSJIJmzmvKwiCv1T1wV0sAmAVeDuKonOtnLZHDjC3SzDAYeBza+33rus2DWQHvEWr7UYvOI5z3ff9lxLBSdZskqoKrIjIG77vP7vduCPnANba34BHu4CVgU9U9VIqlfpjeXl5aWFhodLMOd1oUERmVbUbuIjI+SiKfk3i3Oi2E8dxt7f+UBzHF0dHR52u4alUqgDE3dBF5NjIyMjpRL6Ncg5grV0AnupmAUCsqs/MzMxcbuXUMPKadvPIGRE5PzEx0fJPqilcVXfAReQHoGU0W/RIuVz+rCv46urqPHB7y9CNlZWVF6vV6qvArYQLmAyC4OWO4cVisQzM169F5FSxWCzn8/kl4K2EcFT1nLX2oY7gNdUfuV+Gh4e/rA9GUXQByCXkjwBfiIh0BDfGzAKIyMlcLlfdahsYGHgduJFwAdZae7wj+NDQ0I/At2EYfrfdNjU19TcwycarVFup6kee5z2RGJ7L5arpdPq1ZvYoivKq+mkSOHDIGHMxm81u7g3a5Zzp6el/Wtkdx3kXSLqROFoqlc7UL5p2uE7ked6TxpirtN7x1BWLiBuG4aWewAF8339HRD5O6L5UqVSO9AwuIuJ5Xl5E3IRTgrY5TypVVWPMJFBKOCXbMzhAGIZ/Akm306M9hQNEUfQ1sKMvNJDpORxAVX/fN7gxptreq3+RJ3kFk77ARSQJfF8jvwPhdwuuje7AnB/4ghOR/uQ8SeSq2p/I/9cFt39Nxhizf03mwBeciNwtuN7qwBcc/Yo8aYdr+Plzt6pFrmx8SKyf64eqaiwi8X/xCNwLBu+YEwAAAABJRU5ErkJggg==";case 0:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACEAAABACAYAAACUTB6QAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAARtwAAEbcBmmNTKwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAKkSURBVGiB7Zg/aBNhGId/71EJ0lQdCmL9MzgoCg5ChdKpGWwwbZPJKi6CICiKDhZRWv90Lbq4iLi4uXTpdwm2IBQnESy4KChYwVUQHIRo6fdzMG+4prnc1cudy/dAIHf3cu+TJ5clIIkkr7GxsRujo6O9Se7hIQHlcrlfRO7ncrnLSe6TSALAFIA8yanJycntmUuUy+V+klcah7vr9frFzCXQqKAHJG+WSqVcZhItFZS9nuddyEwCLRUUEbk1ODi4LXWJkArKgYGBgfOpSyCkgkLydqFQ6ElNIqKCcjCfz59LTQIRFQJMz87Oxr537MGYFZRDKysrZ7ougfgVAADW2hkRkTizQjJyqFHhy1YkGpz2fX8+aihuiS1VCBCrRmSJBBUAACQr1WrVdJqJU+JfK/xd4Hl3omY6lkhaoblEpGSMeRF2PapEogoKyY41Qkt0q0JA5GS1Wn3Z7lqnEl2p0FzU4dloW6LbFZrLREaMMa82CYbMd7WCEvZsbCqRVoUAw77vvw6eaFcilQqKiNzddC5YIoMKAABr7YlarfZWj1tLpFqhubTll9IskVUFxVp7vFarvQM2lsikguJ53oy+F5KRFUTkB8kPAH4BGImx45uIrJI8AmBHyAxF5Jgx5r2W2FBBRD4DmBORIoB9xphdvu8Pk3wSQwAismqMGfJ9f+f6+vp+a+0pEXkI4FNwjOQMAMjExIRW+E3yMcl5/a5aGR8fPysiz2NIvDHGDLW7VqlUDltrKwCuAdjjed7RHpLXATxbW1u7t7i4+D3OJ03CwsLCRwBzhULhUV9f31WSl3pE5Kkx5mvay1tZXl6uA3hQLBZ7vf8hEGRpaeln0j9JuoKTUJyE4iQUJ6E4CcVJKE5CcRKKk1CchOIkFCehOAnFSSh/ABGodcE7J4gvAAAAAElFTkSuQmCC";case 1:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAABACAYAAADidqwbAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAARHwAAER8BCfL2SQAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAPHSURBVFiF7ZhPiFtFHMc/v7dJDFrYjaGKFxGpuniUUKQLyoP3MkGXPekelF4silSooB5KUUQvBSl40wpSKutB4i0KkpeU58GFwtKKf1hkD3qV4mFxZVmSZn4empTsbjZvkn3ZhaW/U2bezPvMd35/Zl5EVTlom5+fL7Rarfe8gwaXy+Vyq9X6TUSOZw4KurCwcP/W1tYnwFlArLVNOYhtr1QqJ621S8CT3S5tt9sPTVS57/uZbDb7AXAB6Gf9EsfxPxODG2Nms9nsElDa+UxEmgCpB5yIiDHmnKreHAQG6HQ61wBS9bkxZhb4TFX9IcNa+Xy+UKvVNlPbdmPMq6p6BcglDL1eq9U2YXsQjGWVSuVBa+1l4GXHKc3ej33BgyCoeJ53BXjEdY61dn9wY8wDqnrJ87w3R5z6b6fTWRkbHobhsyKyBJwYda6q3ojj+PbI8FKplC0Wix+KyHlgalQwgIis9red4EEQPF0oFJZU9ZlxoD3zPO/zbYsZluciIkEQvC0iF4H8fsCq+nej0dgWmHsqD8Pw0SAIrorIsILhbL2S2m8Dy2u5XD4tIr+mBe7atUR4GIYvAq8BG0BqtTeTyexSPtTnvu/np6amHvc87wTwPPAWcN8Y7LUoip7ataBhM+I43gJWgdUwDH8H3hCRkeGqukt1Irxni4uLU93CcmxUMAwONnA8z9fX1y8Ap8YBAzaXy/04cFFJ53n3/rXM+IfQShRFJwc9GPrC7gHy9T7A0HeE7rSkbf8UeMIRcgP4bkD/rvxOhJfL5QVVfd0RvGmtfWVmZuYl4M++/q12u708EjwIgoeBLx3BAO82m821arXaAt7vdYrIT910dYd3byfHXaiq+n0URZd77Uaj8Q3wM4C1ds8tHwg3xpwFXnABA7c8zzuzYzEKnIe983sg3Bgzq6qXHMGIyJl6vX5rZ38URRHw7dzc3M2h83t5XiqVsoVC4bqIuF4YvoiiaM87nO/7x+I4/m/YC+4qLxaLH48AXsvn8+8MG5AEhq5yY8xzqhrjVm5vW2tPNZvNleShw83zfT+jql85ghGRj9IAA3i5XM4HHnMcvzw9PX0xDTDcUev0maOqGyJyulqtdlKDq+rAE2enici5er3+V1pguKPcxdc/RFF0NU2wM1xV/0gb7AwXETspuCQNUtWJwQ9VuUvAHU3liT631k7kb8pDV+6S50fT54enXEQSA87zvMnAVfWez/e0I6v88CqcS8BNLNpFJBFurT08n09MuQt8ktGeGHD38jxtywAbqtqLeulb0N32pJT/D6Ytcj4BbQBBAAAAAElFTkSuQmCC";case 2:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAYAAABQHc7KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAViAAAFYgBxNdAoAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAARSSURBVGiB7ZvfayNVFMe/38nEHw/apU+y+OCCIC4+qAuC7YO0JHdSfeiL9GH/AdFXf+CLFhZErBVjF+3CYlUQd62+xIVIZlLiLiv6UHD9haLYlVXEXSjCFqlJO3N8yKTW0IS5M+lNdprPS2bmzL33zOGc+517h1BEYAKl1EsicsHzvIqRASNCUwFwHGdMRD4n+Q2AuUaj8WGtVts2MngXjAUAAJRSHwF4PDy9IiKvW5Z1ulKp/G3MiTaMBqBQKNwdBMFPALjr8l8k3wKwUKlUrhlzJsRoAABAKXURwPgepn8AvAfgNdd1fzblj2VqoBYklzuYbgHwBIAfHcf5uFAoPGTEnz5kwGEAv+P/ZdCJ8wDmPM/7VPbJUeMBALqWQSe+Izm/vr7+werq6lYvfTFeAiFfat5/n4i8Ozo6uqaUenp6evq2XjnSlwCQ/DZm0zsBzG9ubl5xHOfliYmJO5L6cqMFoMUhEXk+m83+qpQ6PTU1dU9sX3bPAYVC4cEgCJ4EcAzAXQACAD7JQER8AD6AgKQfnrfsvogEoX3nevtxqx+SIiKPIdpEGAURkZKIzFWr1S90Gu4EQCn1IoAXANg9cqpfXATwqud556IoB0UEjuM8JSJvGnDOJD+QnB8ZGXl/eXm50ekmKqWOiMj3AG416JxJ/gDwhm3bp8rl8vV2oyUijyK9Dw8AhwG8sr29/Vs+n58LX8R2sETk4T45ZprbST4L4LJSaimXyx0FAObz+QoA1V/f+oIAeMZG76ToRqEO4CyAouu6l2z073XYNFdJnvJ9f7FarV5tXTwIGXAJTRU4Uy6X6+3GtGZAQPJcEARFz/M+63ajbgY00FzJZUhaIpIBkAFgkcyE51Zoz4iI1bKHvxk0lccmeUj/ubojIhskl0RkwXXdtShtbBGxyMgxWHdd95H4LjZxHGdSRFaS9rOLNRE5mc1ml/Z62emGTVKnBHqyeyIi9/eiHwDnSRbHxsY+mZ2dDeJ0oFsCsQbZgwcStG0AOINQxpI6ojsJ9mr/7FiMNtdILrbLWFKMZ0AulztqWda9Gk2+BlDsJGNJ0c2AxAHIZDLHIyzTI8tYUnQzIHEJiMjxLrYNku/4vr+wsrLyS9KxoqArg4kyQCk1DuDIHqbLJE/atv22rowlxabG0yN5BpxoO78AoDg+Pl6KK2NJ0ZoDwo3PWOTz+WmSkwAaJM+G9f1V3P56hVYASMYKwMzMzE0knwNwYmtra7FWq/0Zp5/9wMgkWK/Xb7Zte3I/ZCwpRmSwVCptxGlnAguGZXDQsMIla1T6MlPvJ5amDKYvANCTwfSVgE4GxJXBQUZ3DkhfBsDwanDQGMoghhnQlz3BgWEog0MZHMrgcBI82CWAgz4JYiiDWnuC6csAEYmcAUl2hQcVS+fzeCoDAD0VSF8JwMB3gUFGKwBBEKQyA4YvQhr3pzIAB3pHyAZwXUQy4bKY+C8ou48tNP9ckboM+Bfnbd377tn9YQAAAABJRU5ErkJggg==";case 3:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAYAAABQHc7KAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAYlAAAGJQBP7stjgAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAU9SURBVGiB7ZpdaBxVFMf/5+5M0jSKma0f1dJiq5haULEEoaWCQ+feSULYgJWIoiD4IEL1QZD64FftgyloRYtfoC+iWGJFiIiZWU2yDw1+VCn0RawPShErkTZKG9NNdo4P2W3T7W6yc2emdTf7g2F3Zu459+7lnPO/c2eJmbEQx3G2CCH6AHQx8y9EdFQI8ePIyMh3iBHbtleYpvmo7/tvxuk3LFSagEwms3JmZuY9AA9UaXsEwL6TJ08eOHz48GwcnSulThDRXs/zXovDnw7EzKUfPwHgjhpsfgewf3Z29t2xsbGpKJ0rpb4FcBeAZ3zf3xvFly4CAGZmZl5GbT8eANYAGDRN87hS6nXXdddH6P+34ueg67rPRvCjjZBS3gpgp4btFQCeZOZjSqlPHMfZouHjz9IXZt6jlHpJw0ckBIBtxU9dUgDuE0JMuK47IaXcsXv37lr9mWXnzymlBiOMJTSCiDbH5YyZtxDRwUOHDh2TUj7hum77EiatFa7tUkq9GteYlkIASCfgdwMRvcHMx5VSg0qpG6q0W1Hl+lNKqf1ERAmM7QIEgCQ7sQDsAvCrUuqD7u7u8kK7chHbnVLKt5OeBEFEUfK/VkwADwdBcEQp9ZXruj1ERMzcuYTdY1LK90PUlNCQlPJTAPcm1cEi/ASgE7VF4IcdHR2PDA0NFeIehGDmSxEBldiI2tPvoVOnTn1k27YR9yCEECLxQhMHRHR/S0vLga6urnLpjMTljIDQMPOOdDp9cGBgoCUunwLRFkGXg8zU1NRntm1Xk9BQJC2DSdFrmubw1q1b26I6ulQymASyvb39ixpWm4simDl0BDDzWwD2APgrSudRISI7CIIv+/v7r9T1oVUDiOiE7/vPnz59eh2AxwH8rDuAqBDR3dPT09/39fVZOvZCZ6lJRAwAExMT//q+/042m91IRBkAOZ1BRIWIOvP5fE5nErRkkJmDsnP2PO9z3/fvIaIuAB8DmAvrNyK35fP5rx3HWRXGSDcFuNo9z/N+8H3/QSLaQESvAPg7rP8I3JlKpUZ7e3uvqdVASwbLI6ASnucd9zzv6ba2trWYj4hLAjPfPjc3N27b9upa2mulABEtOQElzp49uw5Af9g+IrLJMIzxRfYhzqFVBIMgqJoCC3EcZ1MQBFks/tyfCETUCSDnuu7axdrp1oAlI6C7u3uzECIH4Pqw/mPkZmbO9fT03FitQSQZrIaUclsQBKMArg7rOwHWFwqF3Pbt22+qdDMWGSxh27bhuu6LRDQG4KqwfhNkXSqVyjmOc0v5jdhk0HGcTaZpfsPMLwCIfeMiBtakUqlc8T3IOQxoyGAQBBdFgGEY1xUKhX0A0kRkMbNFRBYRWUEQpInIwvwmqYXLUBQBgJlXE9G4lNLJZrNHAcBgZhG2DAghLpqAkZGRsVrtBwYGWiYnJ9OGYVhCCCsIAqs0aShO4IJzC/Nb96uKR9ToupaIxpRSju/7R4wkZbAaQ0NDeQAnikcobNvuaG1tbQOQLhQKF0wgFkQfzkdbesH30k7SKgCjSillICEZTIriG+kpAH+Etc1kMivPnDljCSHSQgiLmduN4v58KEdLyeD/leHh4WkA05h/xQ8gZhmsR7Qehuo1AiqhtQ6oJIP1ilYKVJLBeiXRp8F6ILGnwXohkafBeqIpg2jK4DKXQWhMQEPJIPT2A5Z3CjRlsJGKYFMGmzLYlMFY3w7XG7oyuLwjoKEWQjp/kmqoFND5m1xTBhspAtCUwaYMhk6BhlIBNFNgeRdBA8A/OB8JVHZUvNZIEfAf4JbpKskQ/HUAAAAASUVORK5CYII=";case 6:case-6:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPHgAADx4B+ux9RAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAVTSURBVHic7ZtdiFVVFMd/czJjMpMCy2myjxcNNBBKDE2DpKSmccrSkNVLFKMPQg9ak0I+2INp9iCR1JD4UAspy5rRTNEJnEqTqQhSMF8KTUcNCjP7spwe9rrjzDjXe886+9wZ0x8cuHPOXWv995p97tn77LWrurq6yBMRuRN4ELgFqLXjBuCaPl/9BTgCHLbjB2CLqn6Zp76q2AkQkSHANOBhO0ZndHkI+NCOdlX9J6O/XkRLgIjUAi8As4Frozg9l5+BDcCLqno4hsPMCRCRq4DngIXAlTFElcHvwCvASlX9LYsjdwJE5DLgKWAZcH0WERk4BiwF1qrqvx4HrgSIyDjgHWCcJ2gO7AMeV9V9aQ2TtAYiUgfsZvA0HoKW3aYtFakSICILgVZgeNpAFWA40Coii9IYlXULiMhQ4HXgSZ+2irMOmK+qf5f6YskE2HN9MzAjjraKsQ14qNS4oZxbYDUXXuMhaF5d6kvn7QEi0gi8EVHUQDBPVZuLXSyaABGZCrQBl+ckrFKcBqar6qf9Xew3ASIyGvgKGBlRyClgK7AdOEiY+BwBqoAb7bgZmA7cR9xR5U/AHap6qO+FIUUMXiNe41uAtcB2Vf2zyHeOA1/b51dFpBq4n/DUaYigYSShTTP7XjinB1jXb48QdBfwrKruyuJERCYDLwOTI2i6W1U/73mivx6wImOQP4BGVX07ox8ALIFTROQJoBmozuDuJWBqzxO9eoCIPAJszBCgE2hQ1Y4MPooiIhMJt1RNBjf1qrq58Ed3Amx2txe4zen4O8KvbZR5ejHsvUMbMNbp4ltggqqegd4DoTn4G38CmJl34wEsxkyL6eF2wksboHcCHnM6PAPMVdUDTvvUWKy5FtvDnMKHBEBErsA/3F2hqh87bd1YTO8P9gxrc3cPmA4Mczg6Dix3iojBctOQlmGENncnwDvYWKaqJ522mbHYy5zmDQCJiFQB9Q4HBwnP5YGmmaAlLfUiUpUAE/E9Vzeq6mmHXVRMg2fsUgNMSIBbnbE3Oe3ywKtlTILvv3+COPOFWLTjGxfUeBOwJ/YSVRZMyx6HqTsBuY/4HHg0uRPQ6bDJG4+mmgQYVaFgeePRNCr1ytD/jQQ46rDLMh/PC4+mownOe8dhkzeu3zJvAmodNnnj0eROwCRbMhsUmJZJDlN3AkYQ6oAGC9MImtLSmQDfO4N6ZpB54dVyIAE68PWCWSIy4MtmpmGWw7QT+CZR1S58s6mbgEaHXWwaCVrSsklVuwoDoRZn8KUiMmDVIhZ7qdO8Bc6+EmsjLF6m5TpgsVNADBabhrScIrQ5JEBV/yJUVHhoEpEHnLZuLGaT03ybtbnXusB7TmcJsF5ExjjtU2Ox1uOocjPeLXxI+pzc73Q4glChlfsI0WK04nvuQ1ga21D4ozsBVmm5JIO2sUCHLWDmgvnuwL8uCLCksC4IfbqQqn5AKIL0UgPstKXsqJjPnWSbiH3Wc2UY+q8PaCLbC89q4C0RmQ8sUtUvMvhCRO4CVgFTsvgxnu97oliNUCvxhrrvA28Cn5RTuGjxhwL3Ak8Dj0bSsUlVS5fImIA8iqR+BbYQuvGPdhReZNZytlDqHsIOk6sjxi5aJHXRl8kVfY6awYK8VFWQBcUaDyUGElZhuSa6pMqx5nxVolDeSOoZYEccPRVlB0H7eSmZAFt2qiOUoF8orAPqylm+S7VlxjZMrMQ/Bs+bM0CTqq4q1yD1niHblrKewbdr5CShWOujNEbeTVPjCRMKb1ldbPYDs1V1b1pDV1e2QOOBeYStawPFMdMw3tN4uLRx8tLW2Uubpy/27fP/AamW7NQNtbA8AAAAAElFTkSuQmCC";case 7:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAABACAYAAACOcP4eAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPMQAADzEBHgryygAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAbzSURBVGiB7ZlvjFxVGYef99y5dXGprGJSKhjq7kajEkkaY1h3G8a9c2dc0YbUjh/EaFGsYqQVsWJQyUQtqSRVIaDSmkUsKLqRD9aw3Xvv1IW0Wmg26Nb/cUtME4zVdraubRaYva8fZraZbu/M3LnTSZfE36e557znnGfe857/witImUzmMmPM7eZig8SV67qOiBwB3pC62DDNlE6nu2zbLgDbAAMU5eIiNVY2m71GVR8Frq0maRiGq62LCVVPhULB2La9BRgDrqzJmg6CYGfTmB4YGLikY3QRGh4evvrgwYP7ge8Ar1qSXYRKjEQqn89b2Wy20N3dfSCfz6/oIOdZua6btyzrt8D1dUyKAJEDMZfLrZ6dnf0JcL2IMDs7+xXg7s6gwsjIyFXlcvn7wA0NzMqpVOoAwHkDMZfLvUdVf6yqVwCHgX5gZRiG7y4Wi4cvNLDrulngCaC7iekB3/fXwbnhIa7rbg3D0FPVK1R1V09Pz5CI3AakjDE/upDxPTAwcInruvcB+2IAIyLFxd8pAMdxLjfG7AFGVHXOGLPZ9/3HqzaPua57I7Cxu7t7O/D5doFzudy7wjDcA7w5bplaaOM4zoAx5jlgRESmVfWdnuc9XlsglUp9BjguIltd1603SJoqnU6nXNe9MwzDA60AA2eMMc+ehTbGfB14o4hMz83NXVcsFv+6tMT4+Pi/VPVWKuH08Pr161e2CpzJZHpt254EdgB2K2VF5Lnx8fEXz0KLyM1ASVWvWbly5VC9gkEQPKGqjwFvmp+f39ki8EdF5HfAYCvlFqWqf679Np7nHVPVWwCjqnscx1lVr3C5XP4scExVP+m67vuaNeY4zirXdX8hIo8AlyYBruqBc6Ch4kUR2Q2sMsbsJmIqBJicnJwVkU8BCuxqFCaZTGaDMeb3wAfagAU4OTg4OF2bcHbv0dfXtx/YAAz29/cfn5mZiZyTZ2Zm/tbf398LrCuXyyuOHj3q1eaPjIy8Zs2aNfeLyL3Aq9sEBvjl6Ojoz2oTzs7TnuedVtUPAfOqutNxnHc0qGgbUAK21to5jjNQLpenRGTzBYBdVHFpwjl7jyAIjojIXUCXMebRdDrdFVWL53nHga9SWXTuB8RxnLcZYzYDfwQOAfMXgtgYcx50VOxKNpt9UlXfC+z0ff8LUZXl83mrVCo9KyJrVXVjEAQ/X5K/olQqrRWRYeBW4KoEzH/3fX/NeX8kwlAXFhY2ASeBrblcbm1UbWNjYwvAHdXP7el0OrUk/6UgCA6p6oPAQgJgVPU8L9eDplgs/lNEvgikwjAcXQq0qCAIJoEnReQttm3fEtmAMd8Frk4CTUQ8Q4P9tOd5o8AkcG31FBEpVf0SEAJ3Lx0DmUzmg6r64US4oJZl/Soqo9HJRS3L+jTwIvC14eHhSG8FQXAE+Cmw2rbtTYvpw8PDV4rIroTAAH+YmJj4R1RGw+PWvn37/gLcA3RblvW9enZhGO6gsuBsq4aSWJa1G3hdcubo0IAm0AA9PT07qExjI9ls9sbI2ovFaSr74t5UKrUhk8lsBUZiwh0FHlyaWLsVbRl6bGzsJWALgKp+I5/PR57gVfVb1cZuF5F7YgKXVfWmwcHBLcDB2vQwDJ9ODA3g+36RSne9/dSpUx+JsgmCoAg8r6rXAbFOOCKyPQiCQ4VCIbQs6xNUFyQRORwEwam2oKsVfRlAVe8kelFS4JhI7PufqRMnTmxf/KiOn3urn/sbFYwN7XneM8BTwFsdx8ktzXddd5D4++UzlmXdNDU19fI5MMbcB5wOwzBoVLilC0hV/Xa18ttq09Pp9KXAD6nZNTbRHVXPnqOJiYmTwA9s2/5No8ItQQ8NDe0FXgCy6XT69Yvptm0/QOWqIY483/cfqpfZ1dV1V+3RKkotQRcKhZDK/VrKtu2NANVp8GMxq/i3MWYTlfiP1N69e880q6TlC8je3t7/isjHgbCvr+9pYJz4m/1N1bHRllq+VC+VSs8Ap4F1qvoQcHnMog/7vj/WantRahm6OuJ/DbxWRN4fs9jzqVTqc622VU+Jni+q1wFxFQI3j4+P/ydJW1FK+ubypxZsv+n7/lMJ24lUIugwDI/GND3V09NTSNJGIyWCVtUXYprOVzdcF1SJoBcWFo7HNO3I61ki6Lm5udMxTTvyepYIempq6mVVrbuqLUpa2PK1osQvtiISNrNR1WUHHecuY3lBq2pTT4tIR97e26m0KXQYhsvL08ToemNM08GaRO2ERxybpr2RRO0MxDhdv7w8TbyZYXl5Oqb+7+lFddrTyws6zhIdZ3+SRImhOzUHx2q7k5WLyPLydId6PpbaWVzimC0vT8dRp3qj0+HxyvN0p9QOdJwzYhvV11enoTsSHv8DYKFg2UAoHpgAAAAASUVORK5CYII=";case 8:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAKxAAACsQBZm2C1AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAVFSURBVGiB7ZlbiBtVGMf/3zeT0G0X3XStiNTbRhQsqBBEsIJTcmmxBakYiuJb8aEvilBpxQpRVtAqra1asF5AFC8EL2zFpJkNDGrdp0opdqG0xqIrbW3dTbuX0sxmPh+6kWw2c87kwupDf2+Z73J+O3tO5swJcJXFgdopisViof7+/rtFZADA9US0QkQiAC4R0QXP86aY+VilUjnqOM757iq3IJ1Op42JiYlHiOhJAGsBLA1YegJAlog+KxQKv7Qj2Ugg6WQyuRHATgC3dzCWAPjSMIwd+Xz+eAd91NKWZZmhUGgQwLZOBmngMoBttm3vabeB4RewLKsvFAoVADzebnMfTADrotHo8lKplG+nQVPpWCwW6u3t/QaA1YGcjvuj0SiXSiWn1UJudjESibwJINmpVQBejMfj61otWjCnE4nEg0T0fbOYD1UAfwI4B2AZgBsA9LXgMGaa5qpcLncxaIFZ/yGdThvlcnkvggmPEtEuAJ8XCoXpuuuUSqXu9DxvAxFtATCg6bOyWq0+DWAwqPQ8uVQq9ZiIZLVFRO9NTk4+MzIyckmVl06nw+VyOQNge+NYDfztuu6tjuNMBZGetxAHBgbeAnCbpuZj27Y3j42Nubrmo6Oj1VKpVIxGo+cBPKxIXcrMJ0ul0hG9ct1CjMfjdwBYo8k/YZrmU7jyoAiMbdvvAPhEKcL8RNB+/0oT0aPQz+WtuVzuctDm9XietxWA73QSkTWJROLaIL3qpddqckdt2x4KpriQYrF4lohUd9sgooeC9GIAsCyrF8ADqkQiej+4YnNE5AtNSnDpUCgUAxBWJjJ/HUzNH9M0fwSgWsD3BulTmx7KZBE5ns/nTwVT82duPah2ePcE6RNImoh+COilhYiOKsL9lmVdp+tRk1buk0VENVBLiMgxVTwcDt+i61GTvlmVZBhGV944AEBEzqninufppS3LMgHcqGk01pqaknGlELN+eoTD4eVo2Dg1Yprm2RbFVFITmhTtA4Y9z+vV5Ey3sm3UQURlTUpT6Uwmw6lUahkAmCLSS6R8ep9uRy6VSj0rIqsAfNXX1zeczWYrADA7OzvL3PTdAwAgIvOk4/H4fcy86dChQ+s9z7MATJu4snFX8Vc70p7nfUhEJwFsLpfLF5PJZJGI8gD+EPHfbxHRikQisZ6Z14vIBgA3zYV2FovFswDARKSTntbEmzI8PHxBRF6Z+3gNgI0i8q6IfKeqE5FNRPStiGypCYvIpOu6r9dymJl1c1q7b/YjEonsI6Jf262vY0/9SRVDMz2IqG3pbDZbEZFMu/VzXDAMY3f9BRYR/1UBQETalgaA1atXfyoiP3fQYtfBgwfnfbeziFRVFURU6WBAZDIZT0ReaLO87Lru3saLzMxKac/zWnq1akaxWMwT0XCrdUS003GcBd/rLCKeplC5zw6KiDwHQDlWA+eXLFnydrOAVlpEQq3I+WHb9pEgxxN14742NDQ02SzGRLQodxoAmPl5ANo1QkRnenp69vn2IaJZTYOuSRcKhd8A7NflicirBw4cmPGLMwCldLemRw3TNF8GoNqAnZ6amlL+YSwiyn9XN+80AORyuXNEtNsvTkSDuuM21j3xRKSr0gBQqVTeIKIzTUK/G4bxga6eq9WqUpqIujo9AMBxnCkRWXBKKiKDQU6wmJkX/U4DwPj4+H5c+eWrxqlIJPJRkFqzp6fn+MzMjO+pPzP7ruJOOHz4sJtIJHYQUe3U6aXai4KOtn787CKUTCZ/AtDvuu5djuMov8lqKF9oFwEBsJ2IVgYV/j/xX//Hr9KUfwAe1OfnoChuNgAAAABJRU5ErkJggg==";case 9:return em;case 101:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAArEAAAKxAFmbYLUAAAAB3RJTUUH4AsWFQQSVQpdpwAABhBJREFUaN7VmWtoFFcUx//nTjbRRA0x0cbGRzVLTGnqu0pQaczO7pjKagVFihpLW6Ev6EuQ9kvzQfrBDy2VfiiFKlZqBVvUvlhnR7uKQSnEttIS0iYbEfHVNiYkmjU7c08/dFY2m93NTjJRcmDY4c6dc3979tzzuEsAqgB0YfzI1Dwb+J+HCEEA2MkL4mGbLRAIzGxoaJg5rqA9Hk+fZVnPjSvorq6uGDM3jivoadOm5QGo0TRtSa7v5I1mwYaGhinxeHy1EKKSmScQ0U1m/iMej/8aiUTMXHTE4/EJACClbARwMdedW+Y0eqiqWkxEewC8CGBimik9AI4T0X5d189m0+Xz+RYIIX4D8HdXV1dFS0tLfJjlyxy7h9/vX0RElwC8ngEYAIoB7GDmM36//4Kmaasz6VMUpSLhKaWlpWtd92m/37+Smc8CmO3gtRVSyjOqqh5RVXXIe8y8IOm+0VXoQCBQA+AHIpo8kgRCRFuIqFVV1Z0pzxYl3QfXrVtX4opPr1+/fnJ/f//PAKpdChrHhBAv1dbWdjc3N18HMD3p2SvhcPjT0fo0xWKxQy4CA8BGKWVLc3Pz1hRgEFHjqC0dCATeYuYPxyhMDwDIT7M5q0OhUNuILK2q6jxm3jOGuSU/3aBpmttGuhGJiD4DUDjMwj8S0WYp5XwAi4loGxEdBnBnxGUf0fampibh2D38fv92AF9k0R0D8EI4HP4q3UNN06ZKKd8EsCtLPM8ozLzGMIxIOvdQbEveTfHjIgDHAUzJrJM3G4bxdaZFOzo6+qPR6E9er/cwET3mdCMTEUej0RNpHhWKDES7AVRkUfiJYRgncllc1/VOXdefZeYdAPocWHpTMBgszMmnNU2bAeCdLPr+7O3t3e305y4pKTlCROccWHryvXv3NuYEzczvZtt8RPT++fPn+x12J7O6u7tPM/Nah37dOCx0fX19BTPvzKKkrbi4+KiD0rVAVdVdzPw7gJUjCCS++vr6iqz1tKIobwOYkEXJx0ePHrVysGy1lHKLZVkvE1H5KOK4oijKVgB700JrmjbVsqydRJQxxBUUFBxJHWxqahLnzp1bLoRYw8xPEtFyZq4kIjAzXJDGVOj7Ia+qqkoCKAJQmyHpHAuFQodSByORCEej0atVVVWXLMu6RUTdRGQCeHS0nZEt071e7/cdHR3XEyFvSHIJBAIrpJQHiWh+ygbcpuv6l7muVFdXl5efn7+QmVfZ/rzGXmsksi8cDr+RSC5pM2IwGCyMxWJ7AbxqZ00ppZx+6tSpf0djMlVV5wFYBWAlEa0C8LitfzhJbsXKslZ5qqqqRLSfiG7rur7Q7WrJ5/M9oijKcmZeaX+ZZQAKMkzfEA6Hvx0WOtHECiHW6Lp+fKyPE4LBYGF/f/8SIlpqu1Q9gFLbPb/RdX1TTtAPU+zI9ETiVzBN87VIJDIJo9gcD0vGG+//0HkpaRfxeBypicE0TUQikTGn8fv9ywA8Yx9R3GHmFgAnDMPoSW0CEvEZUsrkOiO17sDp06fHBFbTtBlSygMAtHRnlMy8yzCMA8lNwCDgZFhmvn8BwKxZs3DlyhVXgevq6sqFEBcALM0wZSIRbaisrIxFo9FmAIWirKxsCDAzQ0o56LIsC0II1NTUuArt8Xg+BzAnh6kf+Hy+pwBAVFdXZwS2LGvINWnSJNeAVVVdbPtwTqdhRPQeAOR5PJ5B7pBq4WT3sI9kXYMmogaH87WioiIlLxEpUq9s4C7KbIfzJ86ZM6csj5mRqKGTgdNZPV1UGaU4Phu5e/fuHWGaZqbWahB44n5gYMBN6F8czm+/fPlyn7h165aTRhM9PT2uETPzdwBuO/DpgwAg2traEgP3P9NdABCPx3Ht2jXXoA3D6LHPWHL5gm0APkq0W+js7MTcuXPTZsNk4Pb2dliW5epOjEajF71eLwF4OktD8JeiKOt0Xb8JoFBJjHZ2dqK8vByKogyCNU0Tvb29aG1tdR046QgtUllZGSGimXZESfSoV5l5n8fjeT4UCg3qEdNKeXk5bty48cBLOLvVqxBC9J08efIGhv5vPj5LU3rQC7qgY+p/raHc/dLH+CUAAAAASUVORK5CYII=";case 102:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAKxAAACsQBZm2C1AAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAZUSURBVGiB1ZlbbBRlFMf//5luC61QKQuKqCV0rRBviIpBIJTuXFzJFk28xIiYeEm8JSqSGI2JfTA+SKLR+ECINyQgSTXglWZ2qouhQkzqLRqCuiMPJl7Q2sqli7s7x4ddcdnO7M6UkuL/YTP7fd8557czZ77LWQJoBzCI/49a6lAE/n0CIQhAwhgopwgksAzDODeRSJwbxmbCoSORyOFCoXBrGJsJhx4cHMyKyJowNhMOPWPGjDoAF5umuTCoTd3JBEwkElNzudwyRVHaRGQSyV9F5NtcLvdlOp3OB/GRy+UmAYDrumsAfB7EhgCiCDl7aJrWTPJpAHcBmOwxZBjADpKvWpb1STVf8Xj8UkVRvgJwcHBwcPbAwECuRvho6PTQdX0Bya8BPOgDDADNAO4QkV26ru81TXOZnz9VVWeXLmdMnz792iAMoaB1XV8iIp8AOD+E2dWu6+7SNG2bpmmj7ETk0rLrQC9kYGjDMC4G8AHJKUFtykSSt5Dcp2naPRV9C8qukytXrpxW0xkC5HRXV9eUkZGRzwDMC43rre2Koty9ePHiof7+/p8BzCzruy+VSm2oYhsop5nNZjdj/IAB4AbXdQf6+/tvw4nAIFkzRWreacMwHhGR504a01t/A6ivbFRVdV5vb+9+H5vqd1rTtLki8vR40PloFDAA5PP51dWMqkGT5EYAjTUCf0jyJtd1LwRwOcnVJLcCOFLDrlrg27u7u33ZfNND1/XbAbxRxXcWwJ2pVOpNr07TNFtc130YwDr4z+e+EpEVtm2nPbqiKop38mh5q2EYTQB2AJjq71Nusm37Lb+gmUxmxHGcj2Ox2FaScxDyRSYpjuO849HV6PkIROQxALO9+koOX7Jt28vhKFmW9aNlWdeLyB0ADgciLjLcmEwmPVNzFLRpmrMAPFrF33eHDh16LGjwfzVt2rRtJHcHHU9yyrFjx27w6hsFLSKPo8rLR/KpPXv2jAQNDgCGYZw3NDT0kYgE2luUsXjO2SdAd3Z2zhaRymW23Mn+5ubmnqBBE4lEg6Zp60TkGwBLAtP+p3hnZ+eoND1hP62q6loAk6o4eaGnp6dQK5JhGPNc172lUCjcS/Ls8KzlSOptAJ4tbzwObZpmS6FQuIekn4NsQ0PDtsrG7u5uZffu3YsURVkhIpeQXCQibSQhEuqQ7ac1ldDHp7z29nYXQBOAxfBedLb39vZurmxMp9PiOM5P7e3tXxcKhd9IDpHMAzgHJ3kyKmlmLBZ7P5PJ/Fz63jhqcTEM42rXdTeRvLDckuRqy7K2BI3U0dFRV19ff5mILEUxn1eUYo1FL6ZSqYdK11HPFTGZTDZms9lnAdyP4qrpuq47s6+v748xBgVQ3MsAWApgCcmlAOaX/NdS+VHMG7osiEbyVZJ/WpZ12ckAeykej5+lquoiEVmC4o+5EkCDz/BVqVTq3ZrQJfBmRVFWWJa1Y7yhK5VMJhtHRkYWkrwCxZTqBDAdAEi+bVnWjYGgJ1KlmekilJ5CPp9/IJ1OnwGM/eWYKIUvIZwOOmEeTSQSDfl8/maSmojMAjBM8lMAWyzL+u1Uw+i6fiWA61AsURwRkQEA79i2PVw+7nhOG4ZxjYhsBdDq4e8wyUcty9p4KmBN05zluu5rAEyP7kERWWfb9mul78VDgGEYC0SkD/75XQ8gOXfu3GHHcfaOJ3BHR8fZiqLsBXCFz5DJJFe1tbVlHcfpB9CoRKPRehHZguobJQAAyfWGYYxnKQGRSOQVeD/dSj0Tj8evAgBl/vz5XQDmBIxRB2Dt2PBGS9O0y1HM4SBSSD4BAEokElkeJpCIaGHh/EQyEXK82dTUpCokzwoZy/fsOAaFKWQCwOTW1taoIiKHQhoO1x4SWKFrI0ePHj2i5PP5QNX3Mo3n7PFFyPE/HDhw4LBy8ODBt1FR96ihl0MG8pWIvAfgz6DjSW4CAGXfvn2/kHwyoN320vZwXGTb9nCpxlJTIrIfwPNA6biVyWQ+isViBLAc/pvyd0muzmQytf4TCSXHcT4PEPt7VVVXWpb1KyqPW/F4/CpFUdYBMACcCSArInsAbLBtuwch/w4OI13Xl5N8UkQ68N+e6CcReT0SiazfuXPnX6W26PGPSvmVpE61kslko67rF5QqXV533h/6NFa0DkDLRFOEVMs/dfMzpJFEFmAAAAAASUVORK5CYII=";case 103:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAAwCAYAAACFUvPfAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAArEAAAKxAFmbYLUAAAAB3RJTUUH4QQHDzoKt7uMpAAABf5JREFUaN7VWV1sU2UYft7vrBtswrIfcDhkQpsxI/I/yDKI23raw1wKkkCIAYZRSfxL/CMheuMuiBdcaCReGBMhSEQSNIB/6U4PWsgWiMlQicZM3dkuSJCpY4SxFtt+rxecztq1Xc/aMfdeNef7vvd9znven+f9SgBqAQxh5kh5gQX4z2kEQQDYzgEx3W7zer0LW1tbF84o0A6HYyQWiz0+o0APDQ2Fmbl9RoGeN29eAYBlmqatzvZMQS4GW1tb50YikY1CCCczzyKia8z8UyQS+T4YDEaz0RGJRGYBgJSyHcClbDO30m71UFW1lIgOAHgKwOwUW24AOE1Eh3VdP59Jl9vtXi6E+AHAH0NDQ9U9PT2RCcxX2g4Pj8ezkoguA3ghDWAAKAWwh5nPeTyei5qmbUynT1GU6nikVFRUbMp7THs8nkZmPg9gkY1j66WU51RVPaGq6rhzzLw84Xd7XkF7vd5lAL4kojmTaSBEtIOIflZVdW/S2sqE3762trayvMT05s2b54RCoW8B1OWpaJwSQjzd0NAw3N3dfRXA/IS1ZwOBwHu5xjSFw+FjeQQMAFullD3d3d07kwCDiNpz9rTX632Zmd+aojL9N4DCFMlZ5/f7eyflaVVVlzDzgSnsLYWpHkaj0V2TTUQiovcBFE9g+Csi2i6lXApgFRHtIqLjAG5NmvYR7e7o6BC2w8Pj8ewG8GEG3WEATwYCgY9TLWqaVi6lfAnAvgz1PK0wc7NhGMFU4aFYnhxNiuMSAKcBzE2vk7cbhvFJOqN9fX0h0zS/cblcx4noAbuJTERsmuaZFEvFIg2i/QCqMyh81zCMM9kY13W9X9f1x5h5D4ARG57e5vP5irOKaU3TFgB4NYO+X27evLnf7ucuKys7QURdNjw95/bt21uzAs3Mr2VKPiJ648KFCyGb08n9w8PDXzPzJptx3T4h6JaWlmpm3ptBSW9paelJG9S1SFXVfcz8I4DGSRQSd0tLS3VGPq0oyisAZmVQ8s7JkydjWXi2Tkq5IxaLPUNEVTnUcUVRlJ0ADqYErWlaeSwW20tEaUtcUVHRieSHHR0doqura50QopmZHyaidczsJCIwM/Ig7cmgx0pebW2tBFACoCFN0znl9/uPJT8MBoNsmuaV2tray7FYbJCIhokoCuC+XCcjS+a7XK4v+vr6rsZL3rjm4vV610spjxLR0qQE3KXr+kfZWmpqaiooLCxcwcwbrHhutmxNRg4FAoEX480lZUf0+XzF4XD4IIDnrK4ppZTzz549+1cuLlNVdQmADQAaiWgDgAct/RNJ4ihWmZHlqaqqEtFhIrqu6/qKfLMlt9t9r6Io65i50XqZtQCK0mzfEggEPpsQdHyIFUI067p+eqqvE3w+X3EoFFpNRGuskGoBUGGF56e6rm/LCvR0ilWZHop/hWg0+nwwGLwHOSTHdEnltCuYjBQktV1EIhFYDWYtgEet64JbzNwD4IxhGDemCozH40mmDQAAwzDGDQHx+gwpJRRFWSClPAJAS3VfyMz7DMM4kuDpnPNB0zRIKTMRp/8AVxIBR6PRKiHERQBr0pyfTURbnE5n2DTN7lQDhF1pamqCEGIimgqn0wnTNO+wvMrKyrG3dDgcHwCoycLWm263uz4fIeFwOOzU9Tug6+rGpqBVVgxndTNFRK/nClhVVbsD7x3j8TclolabCrSSkhIlF9AZGGXa/SUlJRAJFHKRTZuza2pq7nrJq6mpgUjgvLbvKUZHR2/dbdCjo6MQ0ejYhf13Ns//NjAwMHK3QQ8MDEAMDg7Ga+HnAK7biK+juQKwO9mMJWJvb29cwQ3rviMbY70A3s4VtGEYWQNP3KcAQH9/PxYvXgwp5SVFUQjAIxnI+a+KorTpun4tH83FNE24XK5sJlzouv4v6DjwqqoqAAgqihIkooVWRYm3qyvMfMjhcDzh9/vH5rVcQVtXaHA6nSlLIDPD4XDA7/eP5x7JUlVVhfr6+uJwOFwthBjp7Oz8HeP/w847F/f5fAiHwxBCoLOz8//JbSdLTXMxXG7T03n5Mv8AYvZC/w+MjzcAAAAASUVORK5CYII=";default:return"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAA/CAYAAABQHc7KAAAAyHpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVDbDcMgDPxnio6AfeY1DmkSqRt0/F7AqZKqJ3H4AedH2N6vPTwOqFiwVGpuOUfCmjXtNGqc6IMl2uAB8xT9Wzxg94QyBN6Ybs3+/ozLV2BenVa6CNWnJ5Z7onlprT9CXghHR0pjdaHmQtCZEBfoc6yYWy3XEZYt3lHnCQdlHb1Eaf75x7fC7a2JdaC6QRDJQJ4N4DgpoNMoZIHxoSCNiJETzpG4kH97OhE+NOZZX6lifwYAAAGDaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1OlIq0OdhBxyFA72UVFHGsVilAh1AqtOphc+gVNDEmKi6PgWnDwY7Hq4OKsq4OrIAh+gLgLToouUuL/kkKLGA+O+/Hu3uPuHSA0a0yzepKApttmNp0S84UVMfSKEAYQQRBxmVnGrCRl4Du+7hHg612CZ/mf+3NE1KLFgIBInGSGaROvE09v2gbnfeIoq8gq8TnxuEkXJH7kuuLxG+eyywLPjJq57BxxlFgsd7HSxaxiasRTxDFV0ylfyHusct7irNXqrH1P/sJwUV9e4jrNUaSxgEVIEKGgjipqsJGgVSfFQpb2Uz7+EdcvkUshVxWMHPPYgAbZ9YP/we9urdLkhJcUTgG9L47zMQaEdoFWw3G+jx2ndQIEn4ErvePfaAIzn6Q3OlrsCBjcBi6uO5qyB1zuAMNPhmzKrhSkKZRKwPsZfVMBGLoF+le93tr7OH0ActRV5gY4OATiZcpe83l3X3dv/55p9/cDW5dynUwTcpYAAA14aVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA0LjQuMC1FeGl2MiI+CiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIKICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgICB4bWxuczpHSU1QPSJodHRwOi8vd3d3LmdpbXAub3JnL3htcC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgeG1wTU06RG9jdW1lbnRJRD0iZ2ltcDpkb2NpZDpnaW1wOmVkYmEyYmY3LTBmNTctNGI2Ni1iZmM3LTEwNjlhNjA4OTYzMiIKICAgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoyZTEyZWE1Ni0xNjMxLTQwYzktYmE1Zi1jNjAxNjhkM2E5MTQiCiAgIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4OGIxOTgwMS0zOTUwLTQzZTYtODQzNi04ZjQ5OTM0NGFmNmEiCiAgIGRjOkZvcm1hdD0iaW1hZ2UvcG5nIgogICBHSU1QOkFQST0iMi4wIgogICBHSU1QOlBsYXRmb3JtPSJMaW51eCIKICAgR0lNUDpUaW1lU3RhbXA9IjE3NTI0OTgyOTQ2MTI3NTMiCiAgIEdJTVA6VmVyc2lvbj0iMi4xMC4zNiIKICAgdGlmZjpPcmllbnRhdGlvbj0iMSIKICAgeG1wOkNyZWF0b3JUb29sPSJHSU1QIDIuMTAiCiAgIHhtcDpNZXRhZGF0YURhdGU9IjIwMjU6MDc6MTRUMTU6MDQ6NTMrMDI6MDAiCiAgIHhtcDpNb2RpZnlEYXRlPSIyMDI1OjA3OjE0VDE1OjA0OjUzKzAyOjAwIj4KICAgPHhtcE1NOkhpc3Rvcnk+CiAgICA8cmRmOlNlcT4KICAgICA8cmRmOmxpCiAgICAgIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiCiAgICAgIHN0RXZ0OmNoYW5nZWQ9Ii8iCiAgICAgIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NmQ1ZTZlNjEtMjNiYy00MTUzLWE1NjQtN2IyMDFkM2QxZGIwIgogICAgICBzdEV2dDpzb2Z0d2FyZUFnZW50PSJHaW1wIDIuMTAgKExpbnV4KSIKICAgICAgc3RFdnQ6d2hlbj0iMjAyNS0wNy0xNFQxNTowNDo1NCswMjowMCIvPgogICAgPC9yZGY6U2VxPgogICA8L3htcE1NOkhpc3Rvcnk+CiAgPC9yZGY6RGVzY3JpcHRpb24+CiA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9InciPz7qXfIsAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAABWIAAAViAHE10CgAAAAB3RJTUUH6QcODQQ2DG6IBwAAAixJREFUaN7t2tFrzlEcx/GXPbOiZFuhVqtRilpqTHFLKxdKaaVwJTe7kguuXIkr+R9wK0VJs1uN7EJxo+zCItKekCZs2bh4fmo9nd/T8LTffr9z3nVuzunX7/m8n+c553tOh0QikUgkEolEnKwr4J39GEQPNmdtCZ/xCS8wXSXJ/TiHcdTxawWtjlvYX9bQ63EaT1YYuFW7j21lCr8F79sQfHmbxXCZJEy2WcAfCTvLImA0EGAJT3ENx7AXA+hGH4ZwNpsrFnMkTJZFQA2vsw/9Dpex/S+eP4iZHAnHyyLhFM6g6x+f35Etjc0C7sVUp1wMCPj6H1JLx0DO36Btk2HHGhcwgx+B/q2xCJAjYEMsAjqzvUIzs7EI2JezYfsQi4CTgb6X7fwFrGV2YyGwAlyNIXwvXgXCz2Vlc6XpyfYMofX/QtXD92UnQqHwdxRzgrVqDOJNTvhH2Fjl8IfxJSf8eNXDj2I+J/wNjeO1ynIUP3MOTy5VfcLbk21tm8MvZGcJlaYDU4Hw3zASQ6FzIhB+HkdiOeiYCAg4H0v4Gr43hX9e9SJnObsC3/5YkZPRahM6znock4BNgb63MQkIVXZzRQnoLOCd07je1LcokUgkCqCo6mtY4/5PF55pnPhEQRduByrBiZz6oHKMyb8CcyWGQuhQi7GRGAR0txjrjUHAxxZj9RgEPGwx9iCGSbCGm4EJ8K42XnooQx0whAPZsjilcaU2kUgkEonE6vIb5ADzhbM1A1YAAAAASUVORK5CYII="}}var om;function sm(){return sm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},sm.apply(null,arguments)}const am=function(e){return c.createElement("svg",sm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),om||(om=c.createElement("path",{fill:"currentColor",d:"M80 805v-60q38 0 61.5-23t68.5-23 70 27 64 27 65-27 71-27 70.5 27 64.5 27 64.5-27 70.5-27 68.5 23 61.5 23v60q-47 0-69.5-23T750 759t-64 27-71 27-71-27-64-27-64.5 27-71.5 27-70.5-27-63.5-27-60.5 23T80 805m0-160v-60q38 0 61.5-23t68.5-23 70 27 64 27 65-27 71-27 70.5 27 64.5 27 64.5-27 70.5-27 68.5 23 61.5 23v60q-47 0-69.5-23T750 599t-64 27-71 27-71-27-64-27-64.5 27-71.5 27-70.5-27-63.5-27-60.5 23T80 645m0-160v-60q38 0 61.5-23t68.5-23 70 27 64 27 65-27 71-27 70.5 27 64.5 27 64.5-27 70.5-27 68.5 23 61.5 23v60q-47 0-69.5-23T750 439t-64 27-71 27-71-27-64-27-64.5 27-71.5 27-70.5-27-63.5-27-60.5 23T80 485"})))};var lm;function cm(){return cm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},cm.apply(null,arguments)}const um=function(e){return c.createElement("svg",cm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),lm||(lm=c.createElement("path",{fill:"currentColor",d:"M720-160v-640h80v640zm-560 0v-640h80v640zm280-480v-160h80v160zm0 480v-160h80v160zM337.02-396.3l85-85-85-84 57-57 85 85 85-85 56 57-85 85 84 85-55 56-86-85-85 85z"})))};var dm;function pm(){return pm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},pm.apply(null,arguments)}const hm=function(e){return c.createElement("svg",pm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),dm||(dm=c.createElement("path",{fill:"currentColor",d:"M156 856 82 599q-4-12 1.5-23.5T101 560l59-20V316q0-25 17.5-42t42.5-18h150V136h220v120h150q24.75 0 42.375 17.625T800 316v225l60 19q11 4 16.5 15t1.5 23l-74 258q-48-5-89.5-29T641 770q-32 36-72.685 61-40.684 25-88.315 25t-88.315-25Q351 806 319 770q-32 33-73.5 57T156 856m-76 160v-60h80q42 0 83-13t77-37q36 24 77 36t83 12 83-12 77-36q36 24 77 37t83 13h80v60h-80q-41 0-81-10.5T640 975q-39 20-80 30.5t-80 10.5-80-10.5-80-30.5q-39 20-78.802 30.5t-81.594 10.5zm140-495 260-84 260 85V316H220zm259.5 275q51.5 0 91.5-41t69-76q25 30 55.5 58.5T762 787l51-179-333-108-334 108 52 177q35-19 66.5-47.5T320 679q30 36 69 76.5t90.5 40.5"})))};var fm;function _m(){return _m=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_m.apply(null,arguments)}const gm=function(e){return c.createElement("svg",_m({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),fm||(fm=c.createElement("path",{fill:"currentColor",d:"M450 772h60V515h-60zm30-323q14.45 0 24.225-9.775T514 415t-9.775-24.225T480 381t-24.225 9.775T446 415t9.775 24.225T480 449m0 526q-140-35-230-162.5T160 533V295l320-120 320 120v238q0 152-90 279.5T480 975m0-62q115-38 187.5-143.5T740 533V337l-260-98-260 98v196q0 131 72.5 236.5T480 913m0-337"})))};var mm;function ym(){return ym=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ym.apply(null,arguments)}const vm=function(e){return c.createElement("svg",ym({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),mm||(mm=c.createElement("path",{fill:"currentColor",d:"M120 966v-60h150V726h180V546h180V366h180V216h60v210H690v180H510v180H330v180z"})))};function bm(){return bm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},bm.apply(null,arguments)}const xm=function(e){return c.createElement("svg",bm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),c.createElement("path",{fill:"currentColor",d:"M45.142 628.976V145.815l256.814.537 13.5 61.106 176.37.907-1.03 277.722-189.16-.908-13.452-60.395H99.846l1.03 204.73zm293.761-201.253H441.93l-1.03-162.808H278.19l-13.501-61.106H99.846l1.03 163.519h224.527z",style:{strokeWidth:.710532}}),c.createElement("path",{fill:"currentColor",d:"M606.257 1024.678V680.055h189.175l9.63 43.585 130.321.675v200.901l-139.444-.676-9.595-43.078H652.008v143.216Zm215.529-143.93h73.486V767.432H779.215l-9.63-43.585H652.008V837.67h160.149z",style:{strokeWidth:.506799}}),c.createElement("path",{d:"m718.589 177.478-59.666 312.817-139.16 127.263-154.83 56.304-110.74 232.069-199.849 59.814",style:{fill:"none",stroke:"currentColor",strokeWidth:60,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}))};function wm(){return wm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},wm.apply(null,arguments)}const km=function(e){return c.createElement("svg",wm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),c.createElement("path",{fill:"currentColor",d:"M724.175 970.88q-72.065 0-133.163-42.299t-83.03-114.363h-84.598v-37.599h77.078q-2.507-17.546-2.193-31.332.313-13.786 2.193-31.332h-77.078v-37.6h84.598q21.932-72.063 83.03-114.362t133.163-42.299q43.238 0 81.15 14.726t69.245 42.926l-26.946 26.319q-25.692-22.56-57.651-34.466t-65.798-11.906q-58.905 0-107.47 32.899t-68.618 86.164h176.088v37.599H538.687q-3.133 16.92-3.133 31.332 0 14.413 3.133 31.332h185.488v37.599H548.087q20.053 53.265 68.618 86.164t107.47 32.899q33.212 0 65.171-11.28t58.905-35.092l26.319 26.32q-27.573 26.318-67.051 41.984-39.48 15.667-83.344 15.667",style:{strokeWidth:.626646}}),c.createElement("path",{d:"m474.326 176.788 48.327 355.214M192.135 177.419l-86.064 796.71",style:{fill:"none",stroke:"currentColor",strokeWidth:48,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m336.384 194.835.131 163.04M336.384 458.057l.131 163.04",style:{fill:"none",stroke:"currentColor",strokeWidth:44,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m336.383 733.697.121 149.452",style:{fill:"none",stroke:"currentColor",strokeWidth:43.9994,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}))};function Cm(){return Cm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Cm.apply(null,arguments)}const Am=function(e){return c.createElement("svg",Cm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),c.createElement("circle",{cx:654.31,cy:728.639,r:232.522,style:{fill:"none",stroke:"currentColor",strokeWidth:48,strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m476.247 174.472 48.327 355.214M194.056 175.103l-86.064 796.71",style:{fill:"none",stroke:"currentColor",strokeWidth:48,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m338.305 192.52.132 163.04M338.305 455.74l.132 163.04",style:{fill:"none",stroke:"currentColor",strokeWidth:44,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m657.177 542.357.017 40.212M658.598 870.665l.07 42.484",style:{fill:"none",stroke:"currentColor",strokeWidth:48,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"m338.305 731.382.12 149.45",style:{fill:"none",stroke:"currentColor",strokeWidth:43.9994,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}),c.createElement("path",{d:"M728.411 623.884c-14.47-16.73-36.415-35.035-65.873-35.676-45.732-.994-70.376 21.669-70.767 56.445-.866 77.092 148.25 75.893 148.222 165.686-.012 39.4-53.63 52.43-83.814 51.957-36.238-.568-65.603-20.787-90.654-59.177",style:{fill:"none",stroke:"currentColor",strokeWidth:43.9287,strokeLinecap:"butt",strokeLinejoin:"miter",strokeDasharray:"none",strokeOpacity:1}}))};var Sm;function Em(){return Em=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Em.apply(null,arguments)}const Im=function(e){return c.createElement("svg",Em({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),Sm||(Sm=c.createElement("path",{fill:"currentColor",d:"m278 1016 116-586-101 43v133h-61V433l192-81q14-6 29.5-7.5T484 346q17 3 29.5 11t20.5 20l42 66q31 48 77.5 75.5T753 546v60q-70-2-123.5-30.5T533 488l-38 152 92 83v293h-60V776l-108-98-79 338zm262-714q-30 0-51.5-21.5T467 229t21.5-51.5T540 156t51.5 21.5T613 229t-21.5 51.5T540 302"})))};var Tm;function Mm(){return Mm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Mm.apply(null,arguments)}const Pm=function(e){return c.createElement("svg",Mm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),Tm||(Tm=c.createElement("path",{fill:"currentColor",d:"m82 936 258-360h202l298-348v708zm62-257-48-35 163-228h201l185-215 45 39-202 236H289zm55 197h581V390L569 636H370zm581 0"})))};var Rm;function zm(){return zm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},zm.apply(null,arguments)}const Lm=function(e){return c.createElement("svg",zm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),Rm||(Rm=c.createElement("path",{fill:"currentColor",d:"M481 936 233 696l-113 81v-74l119-85 245 238 172-137h184v60H676zm0-386L306 375 120 510v-74l192-140 175 175 353-255v74z"})))};var Om;function Fm(){return Fm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},Fm.apply(null,arguments)}const jm=function(e){return c.createElement("svg",Fm({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 96 960 960"},e),Om||(Om=c.createElement("path",{fill:"currentColor",d:"M480 775q14 0 24.5-10.5T515 740t-10.5-24.5T480 705t-24.5 10.5T445 740t10.5 24.5T480 775m-30-144h60V368h-60zM330 936 120 726V426l210-210h300l210 210v300L630 936zm25-60h250l175-175V451L605 276H355L180 451v250zm125-300"})))};function Dm(t){const n=ti({query:"(max-height: 45rem) and (orientation: landscape), (max-height: 70rem) and (orientation: portrait)"});return(0,e.jsx)("ul",{children:n?Km(t):Xm(t)})}function Nm({info:t,path:n,isSelected:i,profile:r,detailsExtra:o}){const[s,a]=(0,c.useState)(!1),[u,d]=(0,c.useState)(""),[p,h]=(0,c.useState)(""),f=i?Wg.resultSummary+" "+Wg.selectedResultSummary:Wg.resultSummary;(0,c.useEffect)(()=>a(i&&s),[i]);const _=(0,c.useContext)(Y),g=_.showDistanceInMiles,m=Vm(n.points,n.details.road_environment,e=>"ford"===e),y=Vm(n.points,n.details.toll,e=>"all"===e||"hgv"===e&&Gt.isTruck(r)),v=Vm(n.points,n.details.road_environment,e=>"ferry"===e),b=Vm(n.points,n.details.access_conditional,e=>null!=e&&e.length>0),x=Gt.isFootLike(r)?Vm(n.points,n.details.foot_conditional,e=>null!=e&&e.length>0):new qm,w=Gt.isFootLike(r)?Vm(n.points,n.details.hike_rating,e=>e>1&&e<5):new qm,k=Gt.isFootLike(r)?Vm(n.points,n.details.hike_rating,e=>e>=5):new qm,C=Gt.isBikeLike(r)?Vm(n.points,n.details.bike_conditional,e=>null!=e&&e.length>0):new qm,A=Gt.isBikeLike(r)?Vm(n.points,n.details.mtb_rating,e=>e>1):new qm,S=Gt.isMotorVehicle(r)?Vm(n.points,n.details.road_access,e=>"private"===e):new qm,I=Gt.isMotorVehicle(r)?Vm(n.points,n.details.road_access,e=>"delivery"===e||"customers"===e||"destination"===e):new qm,T=Gt.isMotorVehicle(r)?Vm(n.points,n.details.track_type,e=>"grade2"===e||"grade3"===e||"grade4"===e||"grade5"===e):new qm,M=Gt.isMotorVehicle(r)?new qm:Vm(n.points,n.details.road_class,e=>"motorway"===e||"trunk"===e),P=Gt.isBikeLike(r)?Vm(n.points,n.details.road_class,e=>"steps"===e):new qm,R=Gt.isMotorVehicle(r)?new qm:function(e,t,n){if(0==e.coordinates.length)return new qm;if(3!=e.coordinates[0].length)return new qm;const i=new qm;let r=0,o=[],s=e.coordinates[0],a=e.coordinates[0];return e.coordinates.forEach(e=>{if(r+=Wm(e,a),r>100){const t=100*Math.abs(s[2]-e[2])/r;if(t>15){const e=Ft(Math.round(r),n);i.values.push(e+" ("+Math.round(t)+"%)"),i.distance+=r,i.segments.push(o)}s=e,r=0,o=[]}a=e,o.push(Gm(e))}),i}(n.points,0,g),z=Gt.isBikeLike(r)?Vm(n.points,n.details.get_off_bike,e=>e):new qm,L=function(e,t){if(!t||0==t.length)return new qm;const n=new qm;let i=t[0][2];const r=e.coordinates;for(const e in t)t[e][2]!=i&&(n.values.push(i+" - "+t[e][2]),n.segments.push([Gm(r[t[e][0]-1]),Gm(r[t[e][0]])]),i=t[e][2]);return n}(n.points,n.details.country),O=m.distance>0||y.distance>0||v.distance>0||b.distance>0||x.distance>0||C.distance>0||S.distance>0||M.distance>0||T.distance>0||P.distance>0||L.values.length>0||z.distance>0||A.distance>0||w.distance>0||k.distance>0||R.distance>0;return(0,e.jsxs)("div",{className:Wg.resultRow,children:[(0,e.jsx)("div",{className:Wg.resultSelectableArea,onClick:()=>Q.dispatch(new E(n)),children:(0,e.jsxs)("div",{className:f,children:[(0,e.jsxs)("div",{className:Wg.resultValues,children:[(0,e.jsx)("span",{className:Wg.resultMainText,children:Rt(n.time)}),(0,e.jsx)("span",{className:Wg.resultSecondaryText,children:Ot(n.distance,g)}),i&&!Gt.isMotorVehicle(r)&&(0,e.jsxs)("div",{className:Wg.elevationHint,children:[(0,e.jsxs)("span",{title:l("total_ascend",[Math.round(n.ascend)+"m"]),children:["↗",Ft(n.ascend,g)," "]}),(0,e.jsxs)("span",{title:l("total_descend",[Math.round(n.descend)+"m"]),children:["↘",Ft(n.descend,g)]})]}),n.description&&(0,e.jsxs)("span",{className:Wg.resultTertiaryText,children:[l("Via")," ",n.description]})]}),i&&(0,e.jsxs)(Ct,{className:Wg.exportButton,onClick:()=>function(e,t){let n='<?xml version="1.0" encoding="UTF-8" standalone="no" ?><gpx xmlns="http://www.topografix.com/GPX/1/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" creator="GraphHopper" version="1.1" xmlns:gh="https://graphhopper.com/public/schema/gpx/1.1">\n';n+=`<metadata><copyright author="OpenStreetMap contributors"/><link href="http://graphhopper.com"><text>GraphHopper GPX</text></link><time>${(new Date).toISOString()}</time></metadata>\n`;const i=t.gpxExportRte,r=t.gpxExportWpt,o=t.gpxExportTrk;r&&(n+=e.snapped_waypoints.coordinates.reduce((e,t)=>e+`<wpt lat="${t[1]}" lon="${t[0]}"></wpt>\n`,"")),i&&(n+="<rte>\n",n+=e.instructions.reduce((e,t)=>{let n=`<rtept lat="${t.points[0][1].toFixed(6)}" lon="${t.points[0][0].toFixed(6)}">`;return n+=`<desc>${t.text}</desc><extensions><gh:distance>${t.distance}</gh:distance>`,n+=`<gh:time>${t.time}</gh:time><gh:sign>${t.sign}</gh:sign>`,n+="</extensions></rtept>\n",e+n},""),n+="</rte>\n"),o&&(n+="<trk>\n<name>GraphHopper Track</name><desc></desc>\n<trkseg>",n+=e.points.coordinates.reduce((e,t)=>{let n="<trkpt ";return n+=`lat="${t[1].toFixed(6)}" lon="${t[0].toFixed(6)}">`,t.length>2&&(n+=`<ele>${t[2].toFixed(1)}</ele>`),n+="</trkpt>\n",e+n},""),n+="</trkseg></trk>\n</gpx>");const s=document.createElement("a"),a=new Blob([n],{type:"application/gpx+xml"});s.href=URL.createObjectURL(a);const l=new Date;s.download=`GraphHopper-Track-${l.getUTCFullYear()}-${Hm(l.getUTCMonth()+1)}-${Hm(l.getUTCDate())}-${function(e,t){return t?e<1609.34?Math.floor(e/.3048)+"ft":Math.round(e/1609.34)+"mi":e<1e3?Math.floor(e)+"m":Math.round(e/1e3)+"km"}(e.distance,t.showDistanceInMiles)}.gpx`,s.click()}(n,_),children:[(0,e.jsx)(Zg,{}),(0,e.jsx)("div",{children:l("gpx_button")})]}),i&&(0,e.jsxs)(Ct,{className:s?Wg.detailsButtonExpanded:Wg.detailsButton,onClick:()=>a(!s),children:[(0,e.jsx)($g,{}),(0,e.jsx)("div",{children:l(s?"hide_button":"details_button")})]})]})}),i&&!s&&O&&(0,e.jsxs)("div",{className:Wg.routeHints,children:[(0,e.jsxs)("div",{className:Wg.icons,children:[(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains_ford"),setType:e=>d(e),type:"ford",child:(0,e.jsx)(am,{}),value:m.distance>0&&Ft(m.distance,g),selected:u,segments:m.segments,values:[],addClassName:Wg.orangeButton}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_crosses_border"),setType:e=>d(e),type:"border",child:(0,e.jsx)(xm,{}),value:L.values.length>0&&L.values[0],selected:u,segments:L.segments,values:L.values}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains_ferry"),setType:e=>d(e),type:"ferry",child:(0,e.jsx)(hm,{}),value:v.distance>0&&Ft(v.distance,g),selected:u,segments:v.segments,values:[]}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains_restrictions"),setType:e=>d(e),type:"access_conditional",child:(0,e.jsx)(um,{}),value:b.distance>0&&Ft(b.distance,g),selected:u,segments:b.segments,values:b.values}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains_restrictions"),setType:e=>d(e),type:"foot_access_conditional",child:(0,e.jsx)(um,{}),value:x.distance>0&&Ft(x.distance,g),selected:u,segments:x.segments,values:x.values}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains_restrictions"),setType:e=>d(e),type:"bike_access_conditional",child:(0,e.jsx)(um,{}),value:C.distance>0&&Ft(C.distance,g),selected:u,segments:C.segments,values:C.values}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains",[l("private_sections")]),setType:e=>d(e),type:"private",child:(0,e.jsx)(gm,{}),value:S.distance>0&&Ft(S.distance,g),selected:u,segments:S.segments,values:[]}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains",[l("restricted_sections")]),setType:e=>d(e),type:"delivery_etc",child:(0,e.jsx)(gm,{}),value:I.distance>0&&Ft(I.distance,g),selected:u,segments:I.segments,values:I.values}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains_toll"),setType:e=>d(e),type:"toll",child:g?(0,e.jsx)(Am,{}):(0,e.jsx)(km,{}),value:y.distance>0&&Ft(y.distance,g),selected:u,segments:y.segments,values:[]}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("challenging_sections"),setType:e=>d(e),type:"mtb_rating",child:(0,e.jsx)(jm,{}),value:A.distance>0&&Ft(A.distance,g),selected:u,segments:A.segments,values:A.values,addClassName:Wg.orangeButton}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("challenging_sections"),setType:e=>d(e),type:"hike_rating",child:(0,e.jsx)(jm,{}),value:w.distance>0&&Ft(w.distance,g),selected:u,segments:w.segments,values:w.values,addClassName:Wg.orangeButton}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("dangerous_sections"),setType:e=>d(e),type:"hike_rating",child:(0,e.jsx)(jm,{}),value:k.distance>0&&Ft(k.distance,g),selected:u,segments:k.segments,values:k.values,addClassName:Wg.redButton}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains",[l("steps")]),setType:e=>d(e),type:"steps",child:(0,e.jsx)(vm,{}),value:P.distance>0&&Ft(P.distance,g),selected:u,segments:P.segments,values:[]}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains",[l("tracks")]),setType:e=>d(e),type:"tracks",child:(0,e.jsx)(Lm,{}),value:T.distance>0&&Ft(T.distance,g),selected:u,segments:T.segments,values:T.values}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("trunk_roads_warn"),setType:e=>d(e),type:"trunk",child:(0,e.jsx)(jm,{}),value:M.distance>0&&Ft(M.distance,g),selected:u,segments:M.segments,values:[],addClassName:Wg.orangeButton}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("get_off_bike_for",[Ft(z.distance,g)]),setType:e=>d(e),type:"get_off_bike",child:(0,e.jsx)(Im,{}),value:z.distance>0&&Ft(z.distance,g),selected:u,segments:z.segments,values:[]}),(0,e.jsx)(Bm,{setDescription:e=>h(e),description:l("way_contains",[l("steep_sections")]),setType:e=>d(e),type:"steep_sections",child:(0,e.jsx)(Pm,{}),value:R.distance>0&&Ft(R.distance,g),selected:u,segments:R.segments,values:R.values})]}),p&&(0,e.jsx)("div",{children:p})]}),o&&(0,e.jsx)("div",{style:{display:s?void 0:"none"},children:o}),s&&(0,e.jsx)(tm,{instructions:n.instructions,us:g}),s&&(0,e.jsxs)("div",{className:Wg.routingResultRoadData,children:[l("road_data_from"),": ",t.road_data_timestamp]})]})}function Bm(t){let[n,i]=(0,c.useState)(0);return!1===t.value?null:(0,e.jsxs)(Ct,{className:(t.addClassName||"")+" "+(t.selected==t.type?Wg.selectedRouteHintButton:Wg.routeHintButton),onClick:()=>{if(t.setType(t.type),n<0)Q.dispatch(new D([])),t.setDescription("");else{let e;e="get_off_bike"==t.type?t.description:"border"==t.type?t.description+": "+t.values[n]:t.values&&t.values[n]?t.type.includes("rating")?t.description+": "+t.value+" ("+t.type+":"+t.values[n]+")":t.type.includes("steep")?t.description+": "+t.values[n]:t.description+": "+t.value+" "+t.values[n]:t.description+": "+t.value,t.setDescription(e),Q.dispatch(new D(t.segments)),t.segments.length>n&&Q.dispatch(new O(function(e){const t=ht(e[0],.002);return e.length,e.forEach(e=>{t[0]=Math.min(t[0],e.lng),t[1]=Math.min(t[1],e.lat),t[2]=Math.max(t[2],e.lng),t[3]=Math.max(t[3],e.lat)}),t[2]-t[0]<.005&&(t[0]-=.0025,t[2]+=.0025),t[3]-t[1]<.005&&(t[1]-=.0025,t[3]+=.0025),t}(t.segments[n])))}i(n+1>=t.segments.length?-1:n+1)},title:t.description,children:[t.child,(0,e.jsx)("span",{children:t.value})]})}class qm{constructor(){this.segments=[],this.distance=0,this.values=[]}}function Gm(e){return{lng:e[0],lat:e[1]}}function Vm(e,t,n){if(!t)return new qm;let i=new qm;const r=e.coordinates;for(const e in t)if(n(t[e][2])){const n=t[e][0],o=t[e][1],s=[];for(let e=n;e<o;e++){const t=Wm(r[e],r[e+1]);i.distance+=t,0==t&&(i.distance+=.01),s.push(Gm(r[e]))}s.push(Gm(r[o])),i.values.push(t[e][2]),i.segments.push(s)}return i}function Wm(e,t){return _t({lat:e[1],lng:e[0]},{lat:t[1],lng:t[0]})}function Hm(e){return e<10?"0"+e:""+e}function Um(){return(0,e.jsx)("div",{className:Wg.resultRow,children:(0,e.jsxs)("div",{className:Wg.placeholderContainer,children:[(0,e.jsx)("div",{className:Wg.placeholderMain}),(0,e.jsx)("div",{className:Wg.placeholderMain+" "+Wg.placeholderSecondary})]})})}function $m(e){return e.some(e=>e.state===Ut.SENT)}function Km(t){return t.paths.length>0?(0,e.jsx)(Nm,{path:t.selectedPath,isSelected:!0,profile:t.profile,info:t.info,detailsExtra:t.detailsExtra}):$m(t.currentRequest.subRequests)?(0,e.jsx)(Um,{},1):""}function Xm({info:t,paths:n,currentRequest:i,selectedPath:r,profile:o,detailsExtra:s}){const a=function(e,t){return t.length>0&&$m(t)?Math.max(e.length,...t.filter(e=>e.state===Ut.SENT).map(e=>e.args.maxAlternativeRoutes)):e.length}(n,i.subRequests),l=[];for(let i=0;i<a;i++)if(i<n.length){const a=n[i]===r;l.push((0,e.jsx)(Nm,{path:n[i],isSelected:a,profile:o,info:t,detailsExtra:a?s:void 0},i))}else l.push((0,e.jsx)(Um,{},i));return l}var Zm=n(5437),Ym={};Ym.styleTagTransform=we(),Ym.setAttributes=ye(),Ym.insert=ge().bind(null,"head"),Ym.domAPI=fe(),Ym.insertStyleElement=be(),pe()(Zm.A,Ym);const Qm=Zm.A&&Zm.A.locals?Zm.A.locals:void 0;var Jm,ey,ty,ny,iy,ry,oy,sy;function ay(){return ay=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ay.apply(null,arguments)}const ly=function(e){return c.createElement("svg",ay({xmlns:"http://www.w3.org/2000/svg",width:260,height:30,viewBox:"0 0 260 50"},e),Jm||(Jm=c.createElement("g",{fill:"#ccc"},c.createElement("path",{d:"M118.239 24.82v13.557h-6.462V28.04q0-2.922-.125-4.015-.108-1.094-.395-1.61a2.7 2.7 0 0 0-1.023-1.074 2.75 2.75 0 0 0-1.472-.397q-2.01 0-3.159 1.73-1.149 1.709-1.149 4.75v10.953H98.03c-5.456-18.695 6.405-40.603 6.425-19.003q1.455-1.948 3.087-2.862 1.634-.935 3.608-.935 3.482 0 5.277 2.366 1.813 2.366 1.813 6.878M145.469 20.34c-3.726 6.104-.904 16.197 4.033 18.054H138.3v-12.83q0-3.03-.14-4.164-.12-1.134-.44-1.67a2.9 2.9 0 0 0-1.138-1.113q-.72-.413-1.638-.413-2.237 0-3.516 1.794-1.278 1.773-1.278 4.927v13.47h-7.152c-6.071-19.39 7.071-43.55 7.152-21.82q1.618-2.019 3.436-2.968 1.818-.969 4.015-.969 3.875 0 5.873 2.454c.797.858 1.88 2.74 2.017 4.47"}),c.createElement("path",{d:"M156.659 20.48q-2.059 0-3.148 1.67-1.072 1.651-1.072 4.78 0 3.126 1.072 4.797 1.09 1.65 3.148 1.651 2.024 0 3.096-1.65 1.073-1.672 1.073-4.799t-1.073-4.778q-1.073-1.67-3.096-1.671m0-4.973q5 0 7.801 3.03 2.82 3.03 2.82 8.392 0 5.36-2.82 8.392-2.802 3.03-7.801 3.03-5.016 0-7.853-3.03-2.82-3.03-2.82-8.392 0-5.36 2.82-8.392 2.837-3.03 7.853-3.03"}),c.createElement("path",{d:"M175.189 34.62v11.385c-14.984 2.813-5.88-24.53 2.784-29.547q1.528-.91 3.514-.91 3.514 0 5.773 3.195 2.257 3.176 2.257 8.19 0 5.015-2.257 8.21-2.259 3.174-5.773 3.175-1.986 0-3.514-.89-1.528-.911-2.784-2.808m4.04-14.038q-1.952 0-3.004 1.645-1.035 1.627-1.036 4.705 0 3.08 1.036 4.725 1.052 1.626 3.005 1.626 1.951 0 2.97-1.626 1.036-1.627 1.036-4.725t-1.035-4.724q-1.02-1.626-2.971-1.626M247.119 21.34c-1.797 0-3.228.538-4.204 1.7q-1.446 1.725-1.446 4.96v10.117c-16.799 2.842-4.274-17.8 3.086-21.486 1.782-.81 3.284-1.047 4.961-.96 2.758-.027 2.22 3.442 1.476 5.72M218.249 18.13c1.806-1.43 5.043-2.78 8.148-2.59 3.656.226 5.387 2.173 6.333 4.28 1.025 2.938.94 6.068-.747 8.114-3.247 3.473-6.536 3.639-11.171 2.538 0 0 1.979 2.508 4.938 5.691-4.888 4.869-10.733.475-11.814-4.518-.86-3.975-.024-10.079 4.314-13.515zm5.161 2.285c-1.541.03-2.232.519-2.936 1.228-.657.813-.71 1.812-.748 2.874-.05 1.405.41 2.368.903 2.87.794.705 1.846.85 2.922.849 1.036-.002 1.882-.264 2.53-.913.311-.362.987-1.089.965-2.863-.002-1.467-.333-2.303-.909-2.945-.917-.842-1.64-1.063-2.556-1.089M50.509 21.37c-2.047 0-3.228.54-4.204 1.71q-1.446 1.734-1.446 4.987v10.17c-16.799 2.857-4.274-17.896 3.086-21.602 1.782-.815 3.284-1.053 4.961-.966 2.758-.026 2.22 3.461 1.476 5.752"}),c.createElement("path",{d:"M27.479 11.39c-3.53-3.949-9.117-4.201-12.908-1.616q-4.092 2.86-5.83 8.818-1.737 5.958.149 10.666c3.315 6.812 9.042 7.113 15.514 5.886 0 0-2.094 4.523-3.623 7.642 7.77 7.645 12.59 1.003 13.302-7.188.714-8.192-1.733-19.477-6.604-24.207zm-2.905 3.813q2.587.788 3.412 3.17.81 2.35-.258 6.008-1.066 3.658-3.009 5.194-1.957 1.507-4.545.719-2.588-.789-3.374-3.133-.808-2.351.265-6.031 1.072-3.681 3.009-5.195 1.913-1.521 4.5-.732M197.409 34.69v11.385c-14.984 2.813-5.88-24.53 2.784-29.547q1.528-.91 3.514-.91 3.514 0 5.773 3.195 2.258 3.176 2.258 8.19 0 5.015-2.258 8.21-2.259 3.174-5.773 3.175-1.986 0-3.514-.89-1.527-.911-2.784-2.808m4.04-14.038q-1.952 0-3.004 1.645-1.035 1.627-1.036 4.705 0 3.08 1.036 4.725 1.052 1.626 3.005 1.626 1.951 0 2.97-1.626 1.036-1.627 1.036-4.725t-1.035-4.724q-1.02-1.626-2.971-1.626M80.239 34.74v11.385c-14.984 2.813-5.88-24.53 2.784-29.547q1.528-.91 3.514-.91 3.514 0 5.773 3.195 2.258 3.176 2.258 8.19 0 5.015-2.258 8.21-2.259 3.174-5.773 3.175-1.986 0-3.514-.89-1.527-.911-2.784-2.808m4.04-14.038q-1.952 0-3.004 1.645-1.035 1.627-1.036 4.705 0 3.08 1.036 4.725 1.052 1.626 3.004 1.626 1.953 0 2.972-1.626 1.035-1.627 1.035-4.725t-1.035-4.724q-1.02-1.626-2.972-1.626"}))),ey||(ey=c.createElement("path",{d:"M116.859 23.54v13.557h-6.462V26.76q0-2.922-.125-4.015-.108-1.094-.395-1.61a2.7 2.7 0 0 0-1.023-1.074 2.75 2.75 0 0 0-1.472-.397q-2.01 0-3.159 1.73-1.149 1.709-1.149 4.75v10.953H96.65c-5.456-18.695 6.405-40.603 6.425-19.003q1.455-1.948 3.087-2.862 1.634-.935 3.608-.935 3.482 0 5.277 2.366 1.813 2.366 1.813 6.878M144.089 19.05c-3.726 6.104-.904 16.197 4.033 18.054H136.92v-12.83q0-3.03-.14-4.164-.12-1.134-.44-1.67a2.9 2.9 0 0 0-1.138-1.113q-.72-.413-1.638-.413-2.237 0-3.516 1.794-1.278 1.773-1.278 4.927v13.47h-7.152c-6.071-19.39 7.071-43.55 7.152-21.82q1.618-2.019 3.436-2.968 1.818-.969 4.015-.969 3.875 0 5.873 2.454c.797.858 1.88 2.74 2.017 4.47"})),ty||(ty=c.createElement("path",{d:"M155.279 19.2q-2.058 0-3.148 1.67-1.073 1.651-1.073 4.78 0 3.126 1.073 4.797 1.09 1.65 3.148 1.651 2.024 0 3.096-1.65 1.073-1.672 1.073-4.799t-1.073-4.778q-1.073-1.67-3.096-1.671m0-4.973q5 0 7.801 3.03 2.82 3.03 2.82 8.392 0 5.36-2.82 8.392-2.802 3.03-7.801 3.03-5.016 0-7.853-3.03-2.82-3.03-2.82-8.392 0-5.36 2.82-8.392 2.837-3.03 7.853-3.03"})),ny||(ny=c.createElement("path",{d:"M173.809 33.33v11.385c-14.984 2.813-5.88-24.53 2.784-29.547q1.528-.91 3.514-.91 3.514 0 5.773 3.195 2.257 3.176 2.257 8.19 0 5.015-2.257 8.21-2.259 3.174-5.773 3.175-1.986 0-3.514-.89-1.527-.911-2.784-2.808m4.04-14.038q-1.952 0-3.004 1.645-1.036 1.627-1.036 4.705 0 3.08 1.036 4.725 1.052 1.626 3.005 1.626 1.951 0 2.97-1.626 1.036-1.627 1.036-4.725t-1.035-4.724q-1.02-1.626-2.971-1.626M245.739 20.05c-1.797 0-3.228.538-4.204 1.7q-1.446 1.725-1.446 4.96v10.117c-16.799 2.842-4.274-17.8 3.086-21.486 1.782-.81 3.284-1.047 4.961-.96 2.758-.027 2.22 3.442 1.476 5.72M216.869 16.85c1.806-1.43 5.043-2.78 8.148-2.59 3.656.226 5.387 2.173 6.333 4.28 1.025 2.938.94 6.068-.747 8.114-3.247 3.473-6.536 3.639-11.171 2.538 0 0 1.979 2.508 4.938 5.691-4.888 4.869-10.733.475-11.814-4.518-.86-3.975-.024-10.079 4.314-13.515zm5.161 2.285c-1.541.03-2.232.519-2.936 1.228-.657.813-.71 1.812-.748 2.874-.05 1.405.41 2.368.903 2.87.794.705 1.846.85 2.922.849 1.036-.002 1.882-.264 2.53-.913.311-.362.987-1.089.965-2.863-.002-1.467-.333-2.303-.909-2.945-.917-.842-1.64-1.063-2.556-1.089M49.129 20.08c-2.047 0-3.228.54-4.204 1.71q-1.446 1.734-1.446 4.987v10.17c-16.799 2.857-4.274-17.896 3.086-21.602 1.782-.815 3.284-1.053 4.961-.966 2.758-.026 2.22 3.461 1.476 5.752"})),iy||(iy=c.createElement("path",{d:"M26.099 10.1c-3.53-3.949-9.117-4.201-12.908-1.616q-4.092 2.86-5.83 8.818-1.737 5.958.149 10.666c3.315 6.812 9.042 7.113 15.514 5.886 0 0-2.094 4.523-3.623 7.642 7.77 7.645 12.59 1.003 13.302-7.188.714-8.192-1.733-19.477-6.604-24.207zm-2.905 3.813q2.587.789 3.412 3.17.81 2.35-.258 6.008-1.066 3.658-3.009 5.194-1.957 1.507-4.545.719-2.588-.789-3.373-3.133-.81-2.351.264-6.031 1.073-3.681 3.009-5.195 1.913-1.521 4.5-.732M196.029 33.4v11.385c-14.984 2.813-5.88-24.53 2.784-29.547q1.528-.91 3.514-.91 3.514 0 5.773 3.195 2.258 3.176 2.258 8.19 0 5.015-2.258 8.21-2.259 3.174-5.773 3.175-1.986 0-3.514-.89-1.527-.911-2.784-2.808m4.04-14.038q-1.952 0-3.004 1.645-1.036 1.627-1.036 4.705 0 3.08 1.036 4.725 1.052 1.626 3.005 1.626 1.951 0 2.97-1.626 1.036-1.627 1.036-4.725t-1.035-4.724q-1.02-1.626-2.971-1.626M78.849 33.45v11.385c-14.984 2.813-5.88-24.53 2.784-29.547q1.528-.91 3.514-.91 3.514 0 5.773 3.195 2.257 3.176 2.257 8.19 0 5.015-2.257 8.21-2.259 3.174-5.773 3.175-1.986 0-3.514-.89-1.528-.911-2.784-2.808m4.04-14.038q-1.952 0-3.004 1.645-1.035 1.627-1.036 4.705 0 3.08 1.036 4.725 1.052 1.626 3.004 1.626 1.953 0 2.971-1.626 1.035-1.627 1.036-4.725 0-3.098-1.036-4.724-1.019-1.626-2.97-1.626"})),ry||(ry=c.createElement("g",{fill:"#ccc"},c.createElement("path",{d:"M68.49 35.284c-1.644 1.535-4.681 3.097-7.702 3.137-3.556.047-5.373-1.737-6.442-3.735-1.205-2.807-1.349-5.884.138-8.014 2.893-3.645 6.065-4.049 10.634-3.308 0 0-2.098-2.315-5.194-5.222 4.381-5.134 9.077-1.296 10.485 3.523 1.121 3.837 2.034 9.93-1.918 13.62zm-4.85-1.802c.835.015 1.593-.453 2.223-1.2.578-.846.824-1.86.798-2.905-.022-.852-.193-1.637-.676-2.562-.6-.916-1.41-1.263-2.328-1.276-1.005-.014-1.647.303-2.227.988-.884 1.073-1.205 3.575-.135 5.607.45.759 1.048 1.394 2.218 1.352"}),c.createElement("path",{d:"m71.37 27.544.028 3.465c-.773 1.761-1.44 3.843-1.63 7.355h-3.121l-.044-2.607.882-7.866"}))),oy||(oy=c.createElement("path",{d:"M67.359 34.01c-1.645 1.535-4.682 3.097-7.702 3.137-3.557.047-5.374-1.737-6.443-3.735-1.205-2.807-1.349-5.884.138-8.014 2.893-3.645 6.065-4.049 10.634-3.308 0 0-2.098-2.315-5.194-5.222 4.381-5.134 9.078-1.296 10.485 3.523 1.121 3.837 2.034 9.93-1.918 13.62zm-4.85-1.802c.834.015 1.592-.453 2.222-1.2.579-.846.825-1.86.798-2.905-.021-.852-.192-1.637-.675-2.562-.601-.916-1.412-1.263-2.329-1.276-1.005-.014-1.771.49-2.351 1.175-.884 1.073-1.205 3.513-.136 5.545.45.759 1.173 1.27 2.343 1.227"})),sy||(sy=c.createElement("path",{d:"m70.239 26.27.028 3.465c-.774 1.761-1.44 3.843-1.63 7.355h-3.122l-.044-2.607.882-7.866"})))};function cy(){return(0,e.jsxs)("div",{className:Qm.poweredByContainer,children:[(0,e.jsx)("span",{children:l("powered_by")}),(0,e.jsx)("a",{className:Qm.logoContainer,href:"https://www.graphhopper.com",target:"_blank",children:(0,e.jsx)(ly,{})})]})}class uy extends ps{constructor(e){if(super(),this.on,this.once,this.un,this.id_=void 0,this.geometryName_="geometry",this.style_=null,this.styleFunction_=void 0,this.geometryChangeKey_=null,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),e)if("function"==typeof e.getSimplifiedGeometry){const t=e;this.setGeometry(t)}else{const t=e;this.setProperties(t)}}clone(){const e=new uy(this.hasProperties()?this.getProperties():null);e.setGeometryName(this.getGeometryName());const t=this.getGeometry();t&&e.setGeometry(t.clone());const n=this.getStyle();return n&&e.setStyle(n),e}getGeometry(){return this.get(this.geometryName_)}getId(){return this.id_}getGeometryName(){return this.geometryName_}getStyle(){return this.style_}getStyleFunction(){return this.styleFunction_}handleGeometryChange_(){this.changed()}handleGeometryChanged_(){this.geometryChangeKey_&&(os(this.geometryChangeKey_),this.geometryChangeKey_=null);const e=this.getGeometry();e&&(this.geometryChangeKey_=is(e,Lo,this.handleGeometryChange_,this)),this.changed()}setGeometry(e){this.set(this.geometryName_,e)}setStyle(e){this.style_=e,this.styleFunction_=e?function(e){if("function"==typeof e)return e;let t;return Array.isArray(e)?t=e:(Fs("function"==typeof e.getZIndex,"Expected an `ol/style/Style` or an array of `ol/style/Style.js`"),t=[e]),function(){return t}}(e):void 0,this.changed()}setId(e){this.id_=e,this.changed()}setGeometryName(e){this.removeChangeListener(this.geometryName_,this.handleGeometryChanged_),this.geometryName_=e,this.addChangeListener(this.geometryName_,this.handleGeometryChanged_),this.handleGeometryChanged_()}}const dy=uy,py=class extends ns{constructor(e,t,n){super(),n=n||{},this.tileCoord=e,this.state=t,this.key="",this.transition_=void 0===n.transition?250:n.transition,this.transitionStarts_={},this.interpolate=!!n.interpolate}changed(){this.dispatchEvent(Lo)}release(){this.setState(4)}getKey(){return this.key+"/"+this.tileCoord}getTileCoord(){return this.tileCoord}getState(){return this.state}setState(e){if(4!==this.state){if(3!==this.state&&this.state>e)throw new Error("Tile load sequence violation");this.state=e,this.changed()}}load(){ls()}getAlpha(e,t){if(!this.transition_)return 1;let n=this.transitionStarts_[e];if(n){if(-1===n)return 1}else n=t,this.transitionStarts_[e]=n;const i=t-n+1e3/60;return i>=this.transition_?1:Vs(i/this.transition_)}inTransition(e){return!!this.transition_&&-1!==this.transitionStarts_[e]}endTransition(e){this.transition_&&(this.transitionStarts_[e]=-1)}disposeInternal(){this.release(),super.disposeInternal()}};function hy(e){return e instanceof Image||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement||e instanceof ImageBitmap?e:null}const fy=new Error("disposed"),_y=[256,256],gy=class extends py{constructor(e){super(e.tileCoord,0,{transition:e.transition,interpolate:e.interpolate}),this.loader_=e.loader,this.data_=null,this.error_=null,this.size_=e.size||null,this.controller_=e.controller||null}getSize(){if(this.size_)return this.size_;const e=hy(this.data_);return e?[e.width,e.height]:_y}getData(){return this.data_}getError(){return this.error_}load(){if(0!==this.state&&3!==this.state)return;this.state=1,this.changed();const e=this;this.loader_().then(function(t){e.data_=t,e.state=2,e.changed()}).catch(function(t){e.error_=t,e.state=3,e.changed()})}disposeInternal(){this.controller_&&(this.controller_.abort(fy),this.controller_=null),super.disposeInternal()}},my=class extends py{constructor(e,t,n,i,r,o){super(e,t,o),this.crossOrigin_=i,this.src_=n,this.key=n,this.image_=new Image,null!==i&&(this.image_.crossOrigin=i),this.unlisten_=null,this.tileLoadFunction_=r}getImage(){return this.image_}setImage(e){this.image_=e,this.state=2,this.unlistenImage_(),this.changed()}handleImageError_(){this.state=3,this.unlistenImage_(),this.image_=function(){const e=yl(1,1);return e.fillStyle="rgba(0,0,0,0)",e.fillRect(0,0,1,1),e.canvas}(),this.changed()}handleImageLoad_(){const e=this.image_;e.naturalWidth&&e.naturalHeight?this.state=2:this.state=4,this.unlistenImage_(),this.changed()}load(){3==this.state&&(this.state=0,this.image_=new Image,null!==this.crossOrigin_&&(this.image_.crossOrigin=this.crossOrigin_)),0==this.state&&(this.state=1,this.changed(),this.tileLoadFunction_(this,this.src_),this.unlisten_=function(e,t,n){const i=e;let r=!0,o=!1,s=!1;const a=[rs(i,"load",function(){s=!0,o||t()})];return i.src&&Cs?(o=!0,i.decode().then(function(){r&&t()}).catch(function(e){r&&(s?t():n())})):a.push(rs(i,"error",n)),function(){r=!1,a.forEach(os)}}(this.image_,this.handleImageLoad_.bind(this),this.handleImageError_.bind(this)))}unlistenImage_(){this.unlisten_&&(this.unlisten_(),this.unlisten_=null)}disposeInternal(){this.unlistenImage_(),this.image_=null,super.disposeInternal()}};class yy{constructor(e,t,n,i){this.minX=e,this.maxX=t,this.minY=n,this.maxY=i}contains(e){return this.containsXY(e[1],e[2])}containsTileRange(e){return this.minX<=e.minX&&e.maxX<=this.maxX&&this.minY<=e.minY&&e.maxY<=this.maxY}containsXY(e,t){return this.minX<=e&&e<=this.maxX&&this.minY<=t&&t<=this.maxY}equals(e){return this.minX==e.minX&&this.minY==e.minY&&this.maxX==e.maxX&&this.maxY==e.maxY}extend(e){e.minX<this.minX&&(this.minX=e.minX),e.maxX>this.maxX&&(this.maxX=e.maxX),e.minY<this.minY&&(this.minY=e.minY),e.maxY>this.maxY&&(this.maxY=e.maxY)}getHeight(){return this.maxY-this.minY+1}getSize(){return[this.getWidth(),this.getHeight()]}getWidth(){return this.maxX-this.minX+1}intersects(e){return this.minX<=e.maxX&&this.maxX>=e.minX&&this.minY<=e.maxY&&this.maxY>=e.minY}}function vy(e,t,n,i,r){return void 0!==r?(r.minX=e,r.maxX=t,r.minY=n,r.maxY=i,r):new yy(e,t,n,i)}const by=yy;let xy;const wy=[];function ky(e,t,n,i,r){e.beginPath(),e.moveTo(0,0),e.lineTo(t,n),e.lineTo(i,r),e.closePath(),e.save(),e.clip(),e.fillRect(0,0,Math.max(t,i)+1,Math.max(n,r)),e.restore()}function Cy(e,t){return Math.abs(e[4*t]-210)>2||Math.abs(e[4*t+3]-191.25)>2}function Ay(e,t,n,i){const r=_o(n,t,e);let o=oo(t,i,n);const s=t.getMetersPerUnit();void 0!==s&&(o*=s);const a=e.getMetersPerUnit();void 0!==a&&(o/=a);const l=e.getExtent();if(!l||fi(l,r)){const t=oo(e,o,r)/o;isFinite(t)&&t>0&&(o/=t)}return o}function Sy(e,t,n,i,r,o,s,a,l,c,u,d,p,h){const f=yl(Math.round(n*e),Math.round(n*t),wy);if(d||(f.imageSmoothingEnabled=!1),0===l.length)return f.canvas;function _(e){return Math.round(e*n)/n}f.scale(n,n),f.globalCompositeOperation="lighter";const g=[1/0,1/0,-1/0,-1/0];let m;l.forEach(function(e,t,n){ki(g,e.extent)});const y=n/i,v=(d?1:1+Math.pow(2,-24))/y;if(!p||1!==l.length||0!==c){if(m=yl(Math.round(Ni(g)*y),Math.round(Oi(g)*y),wy),d||(m.imageSmoothingEnabled=!1),r&&h){const e=(r[0]-g[0])*y,t=-(r[3]-g[3])*y,n=Ni(r)*y,i=Oi(r)*y;m.rect(e,t,n,i),m.clip()}l.forEach(function(e,t,n){if(e.image.width>0&&e.image.height>0){if(e.clipExtent){m.save();const t=(e.clipExtent[0]-g[0])*y,n=-(e.clipExtent[3]-g[3])*y,i=Ni(e.clipExtent)*y,r=Oi(e.clipExtent)*y;m.rect(d?t:Math.round(t),d?n:Math.round(n),d?i:Math.round(t+i)-Math.round(t),d?r:Math.round(n+r)-Math.round(n)),m.clip()}const t=(e.extent[0]-g[0])*y,n=-(e.extent[3]-g[3])*y,i=Ni(e.extent)*y,r=Oi(e.extent)*y;m.drawImage(e.image,c,c,e.image.width-2*c,e.image.height-2*c,d?t:Math.round(t),d?n:Math.round(n),d?i:Math.round(t+i)-Math.round(t),d?r:Math.round(n+r)-Math.round(n)),e.clipExtent&&m.restore()}})}const b=ji(s);return a.getTriangles().forEach(function(e,t,n){const i=e.source,r=e.target;let s=i[0][0],a=i[0][1],c=i[1][0],u=i[1][1],p=i[2][0],h=i[2][1];const y=_((r[0][0]-b[0])/o),x=_(-(r[0][1]-b[1])/o),w=_((r[1][0]-b[0])/o),k=_(-(r[1][1]-b[1])/o),C=_((r[2][0]-b[0])/o),A=_(-(r[2][1]-b[1])/o),S=s,E=a;s=0,a=0,c-=S,u-=E,p-=S,h-=E;const I=function(e){const t=e.length;for(let n=0;n<t;n++){let i=n,r=Math.abs(e[n][n]);for(let o=n+1;o<t;o++){const t=Math.abs(e[o][n]);t>r&&(r=t,i=o)}if(0===r)return null;const o=e[i];e[i]=e[n],e[n]=o;for(let i=n+1;i<t;i++){const r=-e[i][n]/e[n][n];for(let o=n;o<t+1;o++)n==o?e[i][o]=0:e[i][o]+=r*e[n][o]}}const n=new Array(t);for(let i=t-1;i>=0;i--){n[i]=e[i][t]/e[i][i];for(let r=i-1;r>=0;r--)e[r][t]-=e[r][i]*n[i]}return n}([[c,u,0,0,w-y],[p,h,0,0,C-y],[0,0,c,u,k-x],[0,0,p,h,A-x]]);if(!I)return;if(f.save(),f.beginPath(),function(){if(void 0===xy){const e=yl(6,6,wy);e.globalCompositeOperation="lighter",e.fillStyle="rgba(210, 0, 0, 0.75)",ky(e,4,5,4,0),ky(e,4,5,0,5);const t=e.getImageData(0,0,3,3).data;xy=Cy(t,0)||Cy(t,4)||Cy(t,8),xl(e),wy.push(e.canvas)}return xy}()||!d){f.moveTo(w,k);const e=4,t=y-w,n=x-k;for(let i=0;i<e;i++)f.lineTo(w+_((i+1)*t/e),k+_(i*n/(e-1))),i!=e-1&&f.lineTo(w+_((i+1)*t/e),k+_((i+1)*n/(e-1)));f.lineTo(C,A)}else f.moveTo(w,k),f.lineTo(y,x),f.lineTo(C,A);let T;if(f.clip(),f.transform(I[0],I[2],I[1],I[3],y,x),f.translate(g[0]-S,g[3]-E),m)T=m.canvas,f.scale(v,-v);else{const e=l[0],t=e.extent;T=e.image,f.scale(Ni(t)/T.width,-Oi(t)/T.height)}f.drawImage(T,0,0),f.restore()}),m&&(xl(m),wy.push(m.canvas)),u&&(f.save(),f.globalCompositeOperation="source-over",f.strokeStyle="black",f.lineWidth=1,a.getTriangles().forEach(function(e,t,n){const i=e.target,r=(i[0][0]-b[0])/o,s=-(i[0][1]-b[1])/o,a=(i[1][0]-b[0])/o,l=-(i[1][1]-b[1])/o,c=(i[2][0]-b[0])/o,u=-(i[2][1]-b[1])/o;f.beginPath(),f.moveTo(a,l),f.lineTo(r,s),f.lineTo(c,u),f.closePath(),f.stroke()}),f.restore()),f.canvas}const Ey=class{constructor(e,t,n,i,r,o,s){this.sourceProj_=e,this.targetProj_=t;let a={};const l=s?(c=e=>Ys(s,_o(e,this.targetProj_,this.sourceProj_)),function(e,t,n,i){const r=e.length;n=void 0!==n?n:2,i=i??n,t=void 0!==t?t:new Array(r);for(let o=0;o<r;o+=i){const r=c(e.slice(o,o+n)),s=r.length;for(let n=0,a=i;n<a;++n)t[o+n]=n>=s?e[o+n]:r[n]}return t}):fo(this.targetProj_,this.sourceProj_);var c;this.transformInv_=function(e){const t=e[0]+"/"+e[1];return a[t]||(a[t]=l(e)),a[t]},this.maxSourceExtent_=i,this.errorThresholdSquared_=r*r,this.triangles_=[],this.wrapsXInSource_=!1,this.canWrapXInSource_=this.sourceProj_.canWrapX()&&!!i&&!!this.sourceProj_.getExtent()&&Ni(i)>=Ni(this.sourceProj_.getExtent()),this.sourceWorldWidth_=this.sourceProj_.getExtent()?Ni(this.sourceProj_.getExtent()):null,this.targetWorldWidth_=this.targetProj_.getExtent()?Ni(this.targetProj_.getExtent()):null;const u=ji(n),d=Di(n),p=Mi(n),h=Ti(n),f=this.transformInv_(u),_=this.transformInv_(d),g=this.transformInv_(p),m=this.transformInv_(h),y=10+(o?Math.max(0,Math.ceil(Math.log2(Ii(n)/(o*o*256*256)))):0);if(this.addQuad_(u,d,p,h,f,_,g,m,y),this.wrapsXInSource_){let e=1/0;this.triangles_.forEach(function(t,n,i){e=Math.min(e,t.source[0][0],t.source[1][0],t.source[2][0])}),this.triangles_.forEach(t=>{if(Math.max(t.source[0][0],t.source[1][0],t.source[2][0])-e>this.sourceWorldWidth_/2){const n=[[t.source[0][0],t.source[0][1]],[t.source[1][0],t.source[1][1]],[t.source[2][0],t.source[2][1]]];n[0][0]-e>this.sourceWorldWidth_/2&&(n[0][0]-=this.sourceWorldWidth_),n[1][0]-e>this.sourceWorldWidth_/2&&(n[1][0]-=this.sourceWorldWidth_),n[2][0]-e>this.sourceWorldWidth_/2&&(n[2][0]-=this.sourceWorldWidth_);const i=Math.min(n[0][0],n[1][0],n[2][0]);Math.max(n[0][0],n[1][0],n[2][0])-i<this.sourceWorldWidth_/2&&(t.source=n)}})}a={}}addTriangle_(e,t,n,i,r,o){this.triangles_.push({source:[i,r,o],target:[e,t,n]})}addQuad_(e,t,n,i,r,o,s,a,l){const c=ui([r,o,s,a]),u=this.sourceWorldWidth_?Ni(c)/this.sourceWorldWidth_:null,d=this.sourceWorldWidth_,p=this.sourceProj_.canWrapX()&&u>.5&&u<1;let h=!1;if(l>0&&(this.targetProj_.isGlobal()&&this.targetWorldWidth_&&(h=Ni(ui([e,t,n,i]))/this.targetWorldWidth_>.25||h),!p&&this.sourceProj_.isGlobal()&&u&&(h=u>.25||h)),!h&&this.maxSourceExtent_&&isFinite(c[0])&&isFinite(c[1])&&isFinite(c[2])&&isFinite(c[3])&&!Bi(c,this.maxSourceExtent_))return;let f=0;if(!(h||isFinite(r[0])&&isFinite(r[1])&&isFinite(o[0])&&isFinite(o[1])&&isFinite(s[0])&&isFinite(s[1])&&isFinite(a[0])&&isFinite(a[1])))if(l>0)h=!0;else if(f=(isFinite(r[0])&&isFinite(r[1])?0:8)+(isFinite(o[0])&&isFinite(o[1])?0:4)+(isFinite(s[0])&&isFinite(s[1])?0:2)+(isFinite(a[0])&&isFinite(a[1])?0:1),1!=f&&2!=f&&4!=f&&8!=f)return;if(l>0){if(!h){const t=[(e[0]+n[0])/2,(e[1]+n[1])/2],i=this.transformInv_(t);let o;o=p?(ir(r[0],d)+ir(s[0],d))/2-ir(i[0],d):(r[0]+s[0])/2-i[0];const a=(r[1]+s[1])/2-i[1];h=o*o+a*a>this.errorThresholdSquared_}if(h){if(Math.abs(e[0]-n[0])<=Math.abs(e[1]-n[1])){const c=[(t[0]+n[0])/2,(t[1]+n[1])/2],u=this.transformInv_(c),d=[(i[0]+e[0])/2,(i[1]+e[1])/2],p=this.transformInv_(d);this.addQuad_(e,t,c,d,r,o,u,p,l-1),this.addQuad_(d,c,n,i,p,u,s,a,l-1)}else{const c=[(e[0]+t[0])/2,(e[1]+t[1])/2],u=this.transformInv_(c),d=[(n[0]+i[0])/2,(n[1]+i[1])/2],p=this.transformInv_(d);this.addQuad_(e,c,d,i,r,u,p,a,l-1),this.addQuad_(c,t,n,d,u,o,s,p,l-1)}return}}if(p){if(!this.canWrapXInSource_)return;this.wrapsXInSource_=!0}11&f||this.addTriangle_(e,n,i,r,s,a),14&f||this.addTriangle_(e,n,t,r,s,o),f&&(13&f||this.addTriangle_(t,i,e,o,a,r),7&f||this.addTriangle_(t,i,n,o,a,s))}calculateSourceExtent(){const e=[1/0,1/0,-1/0,-1/0];return this.triangles_.forEach(function(t,n,i){const r=t.source;Ci(e,r[0]),Ci(e,r[1]),Ci(e,r[2])}),e}getTriangles(){return this.triangles_}},Iy=class extends py{constructor(e,t,n,i,r,o,s,a,l,c,u,d){super(r,0,d),this.renderEdges_=void 0!==u&&u,this.pixelRatio_=s,this.gutter_=a,this.canvas_=null,this.sourceTileGrid_=t,this.targetTileGrid_=i,this.wrappedTileCoord_=o||r,this.sourceTiles_=[],this.sourcesListenerKeys_=null,this.sourceZ_=0,this.clipExtent_=e.canWrapX()?e.getExtent():void 0;const p=i.getTileCoordExtent(this.wrappedTileCoord_),h=this.targetTileGrid_.getExtent();let f=this.sourceTileGrid_.getExtent();const _=h?Fi(p,h):p;if(0===Ii(_))return void(this.state=4);const g=e.getExtent();g&&(f=f?Fi(f,g):g);const m=i.getResolution(this.wrappedTileCoord_[0]),y=function(e,t,n,i){const r=Pi(n);let o=Ay(e,t,r,i);return(!isFinite(o)||o<=0)&&Ei(n,function(n){return o=Ay(e,t,n,i),isFinite(o)&&o>0}),o}(e,n,_,m);if(!isFinite(y)||y<=0)return void(this.state=4);const v=void 0!==c?c:.5;if(this.triangulation_=new Ey(e,n,_,f,y*v,m),0===this.triangulation_.getTriangles().length)return void(this.state=4);this.sourceZ_=t.getZForResolution(y);let b=this.triangulation_.calculateSourceExtent();if(f&&(e.canWrapX()?(b[1]=Qi(b[1],f[1],f[3]),b[3]=Qi(b[3],f[1],f[3])):b=Fi(b,f)),Ii(b)){let n=0,i=0;e.canWrapX()&&(n=Ni(g),i=Math.floor((b[0]-g[0])/n)),Wi(b.slice(),e,!0).forEach(e=>{const r=t.getTileRangeForExtentAndZ(e,this.sourceZ_);for(let e=r.minX;e<=r.maxX;e++)for(let t=r.minY;t<=r.maxY;t++){const r=l(this.sourceZ_,e,t,s);if(r){const e=i*n;this.sourceTiles_.push({tile:r,offset:e})}}++i}),0===this.sourceTiles_.length&&(this.state=4)}else this.state=4}getImage(){return this.canvas_}reproject_(){const e=[];if(this.sourceTiles_.forEach(t=>{const n=t.tile;if(n&&2==n.getState()){const i=this.sourceTileGrid_.getTileCoordExtent(n.tileCoord);i[0]+=t.offset,i[2]+=t.offset;const r=this.clipExtent_?.slice();r&&(r[0]+=t.offset,r[2]+=t.offset),e.push({extent:i,clipExtent:r,image:n.getImage()})}}),this.sourceTiles_.length=0,0===e.length)this.state=3;else{const t=this.wrappedTileCoord_[0],n=this.targetTileGrid_.getTileSize(t),i="number"==typeof n?n:n[0],r="number"==typeof n?n:n[1],o=this.targetTileGrid_.getResolution(t),s=this.sourceTileGrid_.getResolution(this.sourceZ_),a=this.targetTileGrid_.getTileCoordExtent(this.wrappedTileCoord_);this.canvas_=Sy(i,r,this.pixelRatio_,s,this.sourceTileGrid_.getExtent(),o,a,this.triangulation_,e,this.gutter_,this.renderEdges_,this.interpolate),this.state=2}this.changed()}load(){if(0==this.state){this.state=1,this.changed();let e=0;this.sourcesListenerKeys_=[],this.sourceTiles_.forEach(({tile:t})=>{const n=t.getState();if(0==n||1==n){e++;const n=is(t,Lo,i=>{const r=t.getState();2!=r&&3!=r&&4!=r||(os(n),e--,0===e&&(this.unlistenSources_(),this.reproject_()))});this.sourcesListenerKeys_.push(n)}}),0===e?setTimeout(this.reproject_.bind(this),0):this.sourceTiles_.forEach(function({tile:e},t,n){0==e.getState()&&e.load()})}}unlistenSources_(){this.sourcesListenerKeys_.forEach(os),this.sourcesListenerKeys_=null}release(){this.canvas_&&(xl(this.canvas_.getContext("2d")),wy.push(this.canvas_),this.canvas_=null),super.release()}},Ty=class{constructor(e){this.highWaterMark=void 0!==e?e:2048,this.count_=0,this.entries_={},this.oldest_=null,this.newest_=null}deleteOldest(){const e=this.pop();e instanceof qo&&e.dispose()}canExpireCache(){return this.highWaterMark>0&&this.getCount()>this.highWaterMark}expireCache(e){for(;this.canExpireCache();)this.deleteOldest()}clear(){for(;this.oldest_;)this.deleteOldest()}containsKey(e){return this.entries_.hasOwnProperty(e)}forEach(e){let t=this.oldest_;for(;t;)e(t.value_,t.key_,this),t=t.newer}get(e,t){const n=this.entries_[e];return Fs(void 0!==n,"Tried to get a value for a key that does not exist in the cache"),n===this.newest_||(n===this.oldest_?(this.oldest_=this.oldest_.newer,this.oldest_.older=null):(n.newer.older=n.older,n.older.newer=n.newer),n.newer=null,n.older=this.newest_,this.newest_.newer=n,this.newest_=n),n.value_}remove(e){const t=this.entries_[e];return Fs(void 0!==t,"Tried to get a value for a key that does not exist in the cache"),t===this.newest_?(this.newest_=t.older,this.newest_&&(this.newest_.newer=null)):t===this.oldest_?(this.oldest_=t.newer,this.oldest_&&(this.oldest_.older=null)):(t.newer.older=t.older,t.older.newer=t.newer),delete this.entries_[e],--this.count_,t.value_}getCount(){return this.count_}getKeys(){const e=new Array(this.count_);let t,n=0;for(t=this.newest_;t;t=t.older)e[n++]=t.key_;return e}getValues(){const e=new Array(this.count_);let t,n=0;for(t=this.newest_;t;t=t.older)e[n++]=t.value_;return e}peekLast(){return this.oldest_.value_}peekLastKey(){return this.oldest_.key_}peekFirstKey(){return this.newest_.key_}peek(e){return this.entries_[e]?.value_}pop(){const e=this.oldest_;return delete this.entries_[e.key_],e.newer&&(e.newer.older=null),this.oldest_=e.newer,this.oldest_||(this.newest_=null),--this.count_,e.value_}replace(e,t){this.get(e),this.entries_[e].value_=t}set(e,t){Fs(!(e in this.entries_),"Tried to set a value for a key that is used already");const n={key_:e,newer:null,older:this.newest_,value_:t};this.newest_?this.newest_.newer=n:this.oldest_=n,this.newest_=n,this.entries_[e]=n,++this.count_}setSize(e){this.highWaterMark=e}};function My(e,t,n,i){return void 0!==i?(i[0]=e,i[1]=t,i[2]=n,i):[e,t,n]}const Py=class{constructor(){this.instructions_=[],this.zIndex=0,this.offset_=0,this.context_=new Proxy(bl(),{get:(e,t)=>{if("function"==typeof bl()[t])return this.push_(t),this.pushMethodArgs_},set:(e,t,n)=>(this.push_(t,n),!0)})}push_(...e){const t=this.instructions_,n=this.zIndex+this.offset_;t[n]||(t[n]=[]),t[n].push(...e)}pushMethodArgs_=(...e)=>(this.push_(e),this);pushFunction(e){this.push_(e)}getContext(){return this.context_}draw(e){this.instructions_.forEach(t=>{for(let n=0,i=t.length;n<i;++n){const i=t[n];if("function"==typeof i){i(e);continue}const r=t[++n];if("function"==typeof e[i])e[i](...r);else{if("function"==typeof r){e[i]=r(e);continue}e[i]=r}}})}clear(){this.instructions_.length=0,this.zIndex=0,this.offset_=0}offset(){this.offset_=this.instructions_.length,this.zIndex=0}},Ry=class extends as{constructor(e){super(),this.ready=!0,this.boundHandleImageChange_=this.handleImageChange_.bind(this),this.layer_=e,this.staleKeys_=new Array,this.maxStaleKeys=5}getStaleKeys(){return this.staleKeys_}prependStaleKey(e){this.staleKeys_.unshift(e),this.staleKeys_.length>this.maxStaleKeys&&(this.staleKeys_.length=this.maxStaleKeys)}getFeatures(e){return ls()}getData(e){return null}prepareFrame(e){return ls()}renderFrame(e,t){return ls()}forEachFeatureAtCoordinate(e,t,n,i,r){}getLayer(){return this.layer_}handleFontsChanged(){}handleImageChange_(e){const t=e.target;2!==t.getState()&&3!==t.getState()||this.renderIfReadyAndVisible()}loadImage(e){let t=e.getState();return 2!=t&&3!=t&&e.addEventListener(Lo,this.boundHandleImageChange_),0==t&&(e.load(),t=e.getState()),2==t}renderIfReadyAndVisible(){const e=this.getLayer();e&&e.getVisible()&&"ready"===e.getSourceState()&&e.changed()}renderDeferred(e){}disposeInternal(){delete this.layer_,super.disposeInternal()}},zy=[];let Ly=null;const Oy=class extends Ry{constructor(e){super(e),this.container=null,this.renderedResolution,this.tempTransform=[1,0,0,1,0,0],this.pixelTransform=[1,0,0,1,0,0],this.inversePixelTransform=[1,0,0,1,0,0],this.context=null,this.deferredContext_=null,this.containerReused=!1,this.frameState=null}getImageData(e,t,n){let i;Ly||(Ly=yl(1,1,void 0,{willReadFrequently:!0})),Ly.clearRect(0,0,1,1);try{Ly.drawImage(e,t,n,1,1,0,0,1,1),i=Ly.getImageData(0,0,1,1).data}catch{return Ly=null,null}return i}getBackground(e){let t=this.getLayer().getBackground();return"function"==typeof t&&(t=t(e.viewState.resolution)),t||void 0}useContainer(e,t,n){const i=this.getLayer().getClassName();let r,o;if(e&&e.className===i&&(!n||e&&e.style.backgroundColor&&$o(fu(e.style.backgroundColor),fu(n)))){const t=e.firstElementChild;t instanceof HTMLCanvasElement&&(o=t.getContext("2d"))}if(o&&function(e,t){const n=na(e),i=na(t);for(let e=0;e<6;++e)if(0!==Math.round((n[e]-i[e])*ta[e]))return!1;return!0}(o.canvas.style.transform,t)?(this.container=e,this.context=o,this.containerReused=!0):this.containerReused?(this.container=null,this.context=null,this.containerReused=!1):this.container&&(this.container.style.backgroundColor=null),!this.container){r=document.createElement("div"),r.className=i;let e=r.style;e.position="absolute",e.width="100%",e.height="100%",o=yl();const t=o.canvas;r.appendChild(t),e=t.style,e.position="absolute",e.left="0",e.transformOrigin="top left",this.container=r,this.context=o}this.containerReused||!n||this.container.style.backgroundColor||(this.container.style.backgroundColor=n)}clipUnrotated(e,t,n){const i=ji(n),r=Di(n),o=Mi(n),s=Ti(n);Ys(t.coordinateToPixelTransform,i),Ys(t.coordinateToPixelTransform,r),Ys(t.coordinateToPixelTransform,o),Ys(t.coordinateToPixelTransform,s);const a=this.inversePixelTransform;Ys(a,i),Ys(a,r),Ys(a,o),Ys(a,s),e.save(),e.beginPath(),e.moveTo(Math.round(i[0]),Math.round(i[1])),e.lineTo(Math.round(r[0]),Math.round(r[1])),e.lineTo(Math.round(o[0]),Math.round(o[1])),e.lineTo(Math.round(s[0]),Math.round(s[1])),e.clip()}prepareContainer(e,t){const n=e.extent,i=e.viewState.resolution,r=e.viewState.rotation,o=e.pixelRatio,s=Math.round(Ni(n)/i*o),a=Math.round(Oi(n)/i*o);Js(this.pixelTransform,e.size[0]/2,e.size[1]/2,1/o,1/o,r,-s/2,-a/2),ea(this.inversePixelTransform,this.pixelTransform);const l="matrix("+this.pixelTransform.join(", ")+")";if(this.useContainer(t,l,this.getBackground(e)),!this.containerReused){const e=this.context.canvas;e.width!=s||e.height!=a?(e.width=s,e.height=a):this.context.clearRect(0,0,s,a),l!==e.style.transform&&(e.style.transform=l)}}dispatchRenderEvent_(e,t,n){const i=this.getLayer();if(i.hasListener(e)){const r=new lh(e,this.inversePixelTransform,n,t);i.dispatchEvent(r)}}preRender(e,t){this.frameState=t,t.declutter||this.dispatchRenderEvent_(Sc,e,t)}postRender(e,t){t.declutter||this.dispatchRenderEvent_(Ec,e,t)}renderDeferredInternal(e){}getRenderContext(e){return e.declutter&&!this.deferredContext_&&(this.deferredContext_=new Py),e.declutter?this.deferredContext_.getContext():this.context}renderDeferred(e){e.declutter&&(this.dispatchRenderEvent_(Sc,this.context,e),e.declutter&&this.deferredContext_&&(this.deferredContext_.draw(this.context),this.deferredContext_.clear()),this.renderDeferredInternal(e),this.dispatchRenderEvent_(Ec,this.context,e))}getRenderTransform(e,t,n,i,r,o,s){const a=r/2,l=o/2,c=i/t,u=-c,d=-e[0]+s,p=-e[1];return Js(this.tempTransform,a,l,c,u,-n,d,p)}disposeInternal(){delete this.frameState,super.disposeInternal()}};function Fy(e,t,n,i,r){return`${us(e)},${t},${function(e,t,n){return e+"/"+t+"/"+n}(n,i,r)}`}function jy(e,t,n){if(!(n in e))return e[n]=new Set([t]),!0;const i=e[n],r=i.has(t);return r||i.add(t),!r}function Dy(e,t,n){const i=e[n];return!!i&&i.delete(t)}function Ny(e,t){const n=e.layerStatesArray[e.layerIndex];n.extent&&(t=Fi(t,wo(n.extent,e.viewState.projection)));const i=n.layer.getRenderSource();if(!i.getWrapX()){const n=i.getTileGridForProjection(e.viewState.projection).getExtent();n&&(t=Fi(t,n))}return t}const By=class extends Oy{constructor(e,t){super(e),t=t||{},this.extentChanged=!0,this.renderComplete=!1,this.renderedExtent_=null,this.renderedPixelRatio,this.renderedProjection=null,this.renderedTiles=[],this.renderedSourceKey_,this.renderedSourceRevision_,this.tempExtent=[1/0,1/0,-1/0,-1/0],this.tempTileRange_=new by(0,0,0,0),this.tempTileCoord_=My(0,0,0);const n=void 0!==t.cacheSize?t.cacheSize:512;this.tileCache_=new Ty(n),this.maxStaleKeys=.5*n}getTileCache(){return this.tileCache_}getOrCreateTile(e,t,n,i){const r=this.tileCache_,o=this.getLayer().getSource(),s=Fy(o,o.getKey(),e,t,n);let a;if(r.containsKey(s))a=r.get(s);else{if(a=o.getTile(e,t,n,i.pixelRatio,i.viewState.projection),!a)return null;r.set(s,a)}return a}getTile(e,t,n,i){return this.getOrCreateTile(e,t,n,i)||null}getData(e){const t=this.frameState;if(!t)return null;const n=this.getLayer(),i=Ys(t.pixelToCoordinateTransform,e.slice()),r=n.getExtent();if(r&&!fi(r,i))return null;const o=t.viewState,s=n.getRenderSource(),a=s.getTileGridForProjection(o.projection),l=s.getTilePixelRatio(t.pixelRatio);for(let e=a.getZForResolution(o.resolution);e>=a.getMinZoom();--e){const n=a.getTileCoordForCoordAndZ(i,e),r=this.getTile(e,n[1],n[2],t);if(!r||2!==r.getState())continue;const c=a.getOrigin(e),u=mu(a.getTileSize(e)),d=a.getResolution(e);let p;if(r instanceof my||r instanceof Iy)p=r.getImage();else{if(!(r instanceof gy))continue;if(p=hy(r.getData()),!p)continue}const h=Math.floor(l*((i[0]-c[0])/d-n[1]*u[0])),f=Math.floor(l*((c[1]-i[1])/d-n[2]*u[1])),_=Math.round(l*s.getGutterForProjection(o.projection));return this.getImageData(p,h+_,f+_)}return null}prepareFrame(e){this.renderedProjection?e.viewState.projection!==this.renderedProjection&&(this.tileCache_.clear(),this.renderedProjection=e.viewState.projection):this.renderedProjection=e.viewState.projection;const t=this.getLayer().getSource();if(!t)return!1;const n=t.getRevision();return this.renderedSourceRevision_?this.renderedSourceRevision_!==n&&(this.renderedSourceRevision_=n,this.renderedSourceKey_===t.getKey()&&this.tileCache_.clear()):this.renderedSourceRevision_=n,!0}enqueueTiles(e,t,n,i,r){const o=e.viewState,s=this.getLayer(),a=s.getRenderSource(),l=a.getTileGridForProjection(o.projection),c=us(a);c in e.wantedTiles||(e.wantedTiles[c]={});const u=e.wantedTiles[c],d=s.getMapInternal(),p=Math.max(n-r,l.getMinZoom(),l.getZForResolution(Math.min(s.getMaxResolution(),d?d.getView().getResolutionForZoom(Math.max(s.getMinZoom(),0)):l.getResolution(0)),a.zDirection)),h=o.rotation,f=h?Li(o.center,o.resolution,h,e.size):void 0;for(let r=n;r>=p;--r){const n=l.getTileRangeForExtentAndZ(t,r,this.tempTileRange_),o=l.getResolution(r);for(let t=n.minX;t<=n.maxX;++t)for(let s=n.minY;s<=n.maxY;++s){if(h&&!l.tileCoordIntersectsViewport([r,t,s],f))continue;const n=this.getTile(r,t,s,e);if(!n)continue;if(!jy(i,n,r))continue;const a=n.getKey();if(u[a]=!0,0===n.getState()&&!e.tileQueue.isKeyQueued(a)){const i=My(r,t,s,this.tempTileCoord_);e.tileQueue.enqueue([n,c,l.getTileCoordCenter(i),o])}}}}findStaleTile_(e,t){const n=this.tileCache_,i=e[0],r=e[1],o=e[2],s=this.getStaleKeys();for(let e=0;e<s.length;++e){const a=Fy(this.getLayer().getSource(),s[e],i,r,o);if(n.containsKey(a)){const e=n.peek(a);if(2===e.getState())return e.endTransition(us(this)),jy(t,e,i),!0}}return!1}findAltTiles_(e,t,n,i){const r=e.getTileRangeForTileCoordAndZ(t,n,this.tempTileRange_);if(!r)return!1;let o=!0;const s=this.tileCache_,a=this.getLayer().getRenderSource(),l=a.getKey();for(let e=r.minX;e<=r.maxX;++e)for(let t=r.minY;t<=r.maxY;++t){const r=Fy(a,l,n,e,t);let c=!1;if(s.containsKey(r)){const e=s.peek(r);2===e.getState()&&(jy(i,e,n),c=!0)}c||(o=!1)}return o}renderFrame(e,t){this.renderComplete=!0;const n=e.layerStatesArray[e.layerIndex],i=e.viewState,r=i.projection,o=i.resolution,s=i.center,a=e.pixelRatio,l=this.getLayer(),c=l.getSource(),u=c.getTileGridForProjection(r),d=u.getZForResolution(o,c.zDirection),p=u.getResolution(d),h=c.getKey();this.renderedSourceKey_?this.renderedSourceKey_!==h&&(this.prependStaleKey(this.renderedSourceKey_),this.renderedSourceKey_=h):this.renderedSourceKey_=h;let f=e.extent;const _=c.getTilePixelRatio(a);this.prepareContainer(e,t);const g=this.context.canvas.width,m=this.context.canvas.height,y=n.extent&&wo(n.extent);y&&(f=Fi(f,wo(n.extent)));const v=p*g/2/_,b=p*m/2/_,x=[s[0]-v,s[1]-b,s[0]+v,s[1]+b],w={};this.renderedTiles.length=0;const k=l.getPreload();if(e.nextExtent){const t=u.getZForResolution(i.nextResolution,c.zDirection),n=Ny(e,e.nextExtent);this.enqueueTiles(e,n,t,w,k)}const C=Ny(e,f);if(this.enqueueTiles(e,C,d,w,0),k>0&&setTimeout(()=>{this.enqueueTiles(e,C,d-1,w,k-1)},0),!(d in w))return this.container;const A=us(this),S=e.time;for(const t of w[d]){const n=t.getState();if(4===n)continue;const i=t.tileCoord;if(2===n&&1===t.getAlpha(A,S)){t.endTransition(A);continue}if(3!==n&&(this.renderComplete=!1),this.findStaleTile_(i,w)){Dy(w,t,d),e.animate=!0;continue}if(this.findAltTiles_(u,i,d+1,w))continue;const r=u.getMinZoom();for(let e=d-1;e>=r&&!this.findAltTiles_(u,i,e,w);--e);}const E=p/o*a/_,I=this.getRenderContext(e);Js(this.tempTransform,g/2,m/2,E,E,0,-g/2,-m/2),n.extent&&this.clipUnrotated(I,e,y),c.getInterpolate()||(I.imageSmoothingEnabled=!1),this.preRender(I,e);const T=Object.keys(w).map(Number);let M;T.sort(Go);const P=[],R=[];for(let t=T.length-1;t>=0;--t){const n=T[t],i=c.getTilePixelSize(n,a,r),o=u.getResolution(n)/p,s=i[0]*o*E,l=i[1]*o*E,d=u.getTileCoordForCoordAndZ(ji(x),n),h=u.getTileCoordExtent(d),f=Ys(this.tempTransform,[_*(h[0]-x[0])/p,_*(x[3]-h[3])/p]),g=_*c.getGutterForProjection(r);for(const t of w[n]){if(2!==t.getState())continue;const i=t.tileCoord,r=d[1]-i[1],o=Math.round(f[0]-(r-1)*s),a=d[2]-i[2],u=Math.round(f[1]-(a-1)*l),p=Math.round(f[0]-r*s),h=Math.round(f[1]-a*l),_=o-p,m=u-h,y=1===T.length;let v=!1;M=[p,h,p+_,h,p+_,h+m,p,h+m];for(let e=0,t=P.length;e<t;++e)if(!y&&n<R[e]){const t=P[e];Bi([p,h,p+_,h+m],[t[0],t[3],t[4],t[7]])&&(v||(I.save(),v=!0),I.beginPath(),I.moveTo(M[0],M[1]),I.lineTo(M[2],M[3]),I.lineTo(M[4],M[5]),I.lineTo(M[6],M[7]),I.moveTo(t[6],t[7]),I.lineTo(t[4],t[5]),I.lineTo(t[2],t[3]),I.lineTo(t[0],t[1]),I.clip())}P.push(M),R.push(n),this.drawTile(t,e,p,h,_,m,g,y),v&&I.restore(),this.renderedTiles.unshift(t),this.updateUsedTiles(e.usedTiles,c,t)}}if(this.renderedResolution=p,this.extentChanged=!this.renderedExtent_||!wi(this.renderedExtent_,x),this.renderedExtent_=x,this.renderedPixelRatio=a,this.postRender(this.context,e),n.extent&&I.restore(),I.imageSmoothingEnabled=!0,this.renderComplete){const t=(e,t)=>{const n=us(c),i=t.wantedTiles[n],r=i?Object.keys(i).length:0;this.updateCacheSize(r),this.tileCache_.expireCache()};e.postRenderFunctions.push(t)}return this.container}updateCacheSize(e){this.tileCache_.highWaterMark=Math.max(this.tileCache_.highWaterMark,2*e)}drawTile(e,t,n,i,r,o,s,a){let l;if(e instanceof gy){if(l=hy(e.getData()),!l)throw new Error("Rendering array data is not yet supported")}else l=this.getTileImage(e);if(!l)return;const c=this.getRenderContext(t),u=us(this),d=t.layerStatesArray[t.layerIndex],p=d.opacity*(a?e.getAlpha(u,t.time):1),h=p!==c.globalAlpha;h&&(c.save(),c.globalAlpha=p),c.drawImage(l,s,s,l.width-2*s,l.height-2*s,n,i,r,o),h&&c.restore(),p!==d.opacity?t.animate=!0:a&&e.endTransition(u)}getImage(){const e=this.context;return e?e.canvas:null}getTileImage(e){return e.getImage()}updateUsedTiles(e,t,n){const i=us(t);i in e||(e[i]={}),e[i][n.getKey()]=!0}},qy="preload",Gy="useInterimTilesOnError",Vy=class extends Pc{constructor(e){e=e||{};const t=Object.assign({},e),n=e.cacheSize;delete e.cacheSize,delete t.preload,delete t.useInterimTilesOnError,super(t),this.on,this.once,this.un,this.cacheSize_=n,this.setPreload(void 0!==e.preload?e.preload:0),this.setUseInterimTilesOnError(void 0===e.useInterimTilesOnError||e.useInterimTilesOnError)}getCacheSize(){return this.cacheSize_}getPreload(){return this.get(qy)}setPreload(e){this.set(qy,e)}getUseInterimTilesOnError(){return this.get(Gy)}setUseInterimTilesOnError(e){this.set(Gy,e)}getData(e){return super.getData(e)}},Wy=class extends Vy{constructor(e){super(e)}createRenderer(){return new By(this,{cacheSize:this.getCacheSize()})}},Hy=[0,0,0],Uy=class{constructor(e){let t;if(this.minZoom=void 0!==e.minZoom?e.minZoom:0,this.resolutions_=e.resolutions,Fs(function(e){const t=((e,t)=>t-e)||Go;return e.every(function(n,i){if(0===i)return!0;const r=t(e[i-1],n);return!(r>0||0===r)})}(this.resolutions_),"`resolutions` must be sorted in descending order"),!e.origins)for(let e=0,n=this.resolutions_.length-1;e<n;++e)if(t){if(this.resolutions_[e]/this.resolutions_[e+1]!==t){t=void 0;break}}else t=this.resolutions_[e]/this.resolutions_[e+1];this.zoomFactor_=t,this.maxZoom=this.resolutions_.length-1,this.origin_=void 0!==e.origin?e.origin:null,this.origins_=null,void 0!==e.origins&&(this.origins_=e.origins,Fs(this.origins_.length==this.resolutions_.length,"Number of `origins` and `resolutions` must be equal"));const n=e.extent;void 0===n||this.origin_||this.origins_||(this.origin_=ji(n)),Fs(!this.origin_&&this.origins_||this.origin_&&!this.origins_,"Either `origin` or `origins` must be configured, never both"),this.tileSizes_=null,void 0!==e.tileSizes&&(this.tileSizes_=e.tileSizes,Fs(this.tileSizes_.length==this.resolutions_.length,"Number of `tileSizes` and `resolutions` must be equal")),this.tileSize_=void 0!==e.tileSize?e.tileSize:this.tileSizes_?null:256,Fs(!this.tileSize_&&this.tileSizes_||this.tileSize_&&!this.tileSizes_,"Either `tileSize` or `tileSizes` must be configured, never both"),this.extent_=void 0!==n?n:null,this.fullTileRanges_=null,this.tmpSize_=[0,0],this.tmpExtent_=[0,0,0,0],void 0!==e.sizes?this.fullTileRanges_=e.sizes.map((e,t)=>{const i=new by(Math.min(0,e[0]),Math.max(e[0]-1,-1),Math.min(0,e[1]),Math.max(e[1]-1,-1));if(n){const e=this.getTileRangeForExtentAndZ(n,t);i.minX=Math.max(e.minX,i.minX),i.maxX=Math.min(e.maxX,i.maxX),i.minY=Math.max(e.minY,i.minY),i.maxY=Math.min(e.maxY,i.maxY)}return i}):n&&this.calculateTileRanges_(n)}forEachTileCoord(e,t,n){const i=this.getTileRangeForExtentAndZ(e,t);for(let e=i.minX,r=i.maxX;e<=r;++e)for(let r=i.minY,o=i.maxY;r<=o;++r)n([t,e,r])}forEachTileCoordParentTileRange(e,t,n,i){let r,o,s,a=null,l=e[0]-1;for(2===this.zoomFactor_?(o=e[1],s=e[2]):a=this.getTileCoordExtent(e,i);l>=this.minZoom;){if(void 0!==o&&void 0!==s?(o=Math.floor(o/2),s=Math.floor(s/2),r=vy(o,o,s,s,n)):r=this.getTileRangeForExtentAndZ(a,l,n),t(l,r))return!0;--l}return!1}getExtent(){return this.extent_}getMaxZoom(){return this.maxZoom}getMinZoom(){return this.minZoom}getOrigin(e){return this.origin_?this.origin_:this.origins_[e]}getResolution(e){return this.resolutions_[e]}getResolutions(){return this.resolutions_}getTileCoordChildTileRange(e,t,n){if(e[0]<this.maxZoom){if(2===this.zoomFactor_){const n=2*e[1],i=2*e[2];return vy(n,n+1,i,i+1,t)}const i=this.getTileCoordExtent(e,n||this.tmpExtent_);return this.getTileRangeForExtentAndZ(i,e[0]+1,t)}return null}getTileRangeForTileCoordAndZ(e,t,n){if(t>this.maxZoom||t<this.minZoom)return null;const i=e[0],r=e[1],o=e[2];if(t===i)return vy(r,o,r,o,n);if(this.zoomFactor_){const e=Math.pow(this.zoomFactor_,t-i),s=Math.floor(r*e),a=Math.floor(o*e);return t<i?vy(s,s,a,a,n):vy(s,Math.floor(e*(r+1))-1,a,Math.floor(e*(o+1))-1,n)}const s=this.getTileCoordExtent(e,this.tmpExtent_);return this.getTileRangeForExtentAndZ(s,t,n)}getTileRangeForExtentAndZ(e,t,n){this.getTileCoordForXYAndZ_(e[0],e[3],t,!1,Hy);const i=Hy[1],r=Hy[2];return this.getTileCoordForXYAndZ_(e[2],e[1],t,!0,Hy),vy(i,Hy[1],r,Hy[2],n)}getTileCoordCenter(e){const t=this.getOrigin(e[0]),n=this.getResolution(e[0]),i=mu(this.getTileSize(e[0]),this.tmpSize_);return[t[0]+(e[1]+.5)*i[0]*n,t[1]-(e[2]+.5)*i[1]*n]}getTileCoordExtent(e,t){const n=this.getOrigin(e[0]),i=this.getResolution(e[0]),r=mu(this.getTileSize(e[0]),this.tmpSize_),o=n[0]+e[1]*r[0]*i,s=n[1]-(e[2]+1)*r[1]*i;return yi(o,s,o+r[0]*i,s+r[1]*i,t)}getTileCoordForCoordAndResolution(e,t,n){return this.getTileCoordForXYAndResolution_(e[0],e[1],t,!1,n)}getTileCoordForXYAndResolution_(e,t,n,i,r){const o=this.getZForResolution(n),s=n/this.getResolution(o),a=this.getOrigin(o),l=mu(this.getTileSize(o),this.tmpSize_);let c=s*(e-a[0])/n/l[0],u=s*(a[1]-t)/n/l[1];return i?(c=ar(c,5)-1,u=ar(u,5)-1):(c=sr(c,5),u=sr(u,5)),My(o,c,u,r)}getTileCoordForXYAndZ_(e,t,n,i,r){const o=this.getOrigin(n),s=this.getResolution(n),a=mu(this.getTileSize(n),this.tmpSize_);let l=(e-o[0])/s/a[0],c=(o[1]-t)/s/a[1];return i?(l=ar(l,5)-1,c=ar(c,5)-1):(l=sr(l,5),c=sr(c,5)),My(n,l,c,r)}getTileCoordForCoordAndZ(e,t,n){return this.getTileCoordForXYAndZ_(e[0],e[1],t,!1,n)}getTileCoordResolution(e){return this.resolutions_[e[0]]}getTileSize(e){return this.tileSize_?this.tileSize_:this.tileSizes_[e]}getFullTileRange(e){return this.fullTileRanges_?this.fullTileRanges_[e]:this.extent_?this.getTileRangeForExtentAndZ(this.extent_,e):null}getZForResolution(e,t){return Qi(Wo(this.resolutions_,e,t||0),this.minZoom,this.maxZoom)}tileCoordIntersectsViewport(e,t){return Ga(t,0,t.length,2,this.getTileCoordExtent(e))}calculateTileRanges_(e){const t=this.resolutions_.length,n=new Array(t);for(let i=this.minZoom;i<t;++i)n[i]=this.getTileRangeForExtentAndZ(e,i);this.fullTileRanges_=n}};function $y(e){let t=e.getDefaultTileGrid();return t||(t=function(e){return function(e,t,n,i){i=void 0!==i?i:"top-left";const r=Xy(e,t,n);return new Uy({extent:e,origin:Ri(e,i),resolutions:r,tileSize:n})}(Zy(e),void 0,void 0,void 0)}(e),e.setDefaultTileGrid(t)),t}function Ky(e){const t=e||{},n=t.extent||ro("EPSG:3857").getExtent(),i={extent:n,minZoom:t.minZoom,tileSize:t.tileSize,resolutions:Xy(n,t.maxZoom,t.tileSize,t.maxResolution)};return new Uy(i)}function Xy(e,t,n,i){t=void 0!==t?t:42,n=mu(void 0!==n?n:256);const r=Oi(e),o=Ni(e);i=i>0?i:Math.max(o/n[0],r/n[1]);const s=t+1,a=new Array(s);for(let e=0;e<s;++e)a[e]=i/Math.pow(2,e);return a}function Zy(e){let t=(e=ro(e)).getExtent();if(!t){const n=180*cr.degrees/e.getMetersPerUnit();t=yi(-n,-n,n,n)}return t}const Yy=/\{z\}/g,Qy=/\{x\}/g,Jy=/\{y\}/g,ev=/\{-y\}/g;function tv(e,t){return function(n,i,r){if(!n)return;let o;const s=n[0];if(t){const e=t.getFullTileRange(s);e&&(o=e.getHeight()-1)}return function(e,t,n,i,r){return e.replace(Yy,t.toString()).replace(Qy,n.toString()).replace(Jy,i.toString()).replace(ev,function(){if(void 0===r)throw new Error("If the URL template has a {-y} placeholder, the grid extent must be known");return(r-i).toString()})}(e,s,n[1],n[2],o)}}function nv(e,t){const n=e.length,i=new Array(n);for(let r=0;r<n;++r)i[r]=tv(e[r],t);return function(e){return 1===e.length?e[0]:function(t,n,i){if(!t)return;const r=function(e){return t=e[0],(e[1]<<t)+e[2];var t}(t),o=ir(r,e.length);return e[o](t,n,i)}}(i)}function iv(e){return e?"function"==typeof e?e:(Array.isArray(e)||(e=[e]),t=>e):null}const rv=class extends ps{constructor(e){super(),this.projection=ro(e.projection),this.attributions_=iv(e.attributions),this.attributionsCollapsible_=e.attributionsCollapsible??!0,this.loading=!1,this.state_=void 0!==e.state?e.state:"ready",this.wrapX_=void 0!==e.wrapX&&e.wrapX,this.interpolate_=!!e.interpolate,this.viewResolver=null,this.viewRejector=null;const t=this;this.viewPromise_=new Promise(function(e,n){t.viewResolver=e,t.viewRejector=n})}getAttributions(){return this.attributions_}getAttributionsCollapsible(){return this.attributionsCollapsible_}getProjection(){return this.projection}getResolutions(e){return null}getView(){return this.viewPromise_}getState(){return this.state_}getWrapX(){return this.wrapX_}getInterpolate(){return this.interpolate_}refresh(){this.changed()}setAttributions(e){this.attributions_=iv(e),this.changed()}setState(e){this.state_=e,this.changed()}};class ov extends ts{constructor(e,t){super(e),this.tile=t}}const sv=class extends rv{constructor(e){super({attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,projection:e.projection,state:e.state,wrapX:e.wrapX,interpolate:e.interpolate}),this.on,this.once,this.un,this.tilePixelRatio_=void 0!==e.tilePixelRatio?e.tilePixelRatio:1,this.tileGrid=void 0!==e.tileGrid?e.tileGrid:null;this.tileGrid&&mu(this.tileGrid.getTileSize(this.tileGrid.getMinZoom()),[256,256]),this.tmpSize=[0,0],this.key_=e.key||us(this),this.tileOptions={transition:e.transition,interpolate:e.interpolate},this.zDirection=e.zDirection?e.zDirection:0}getGutterForProjection(e){return 0}getKey(){return this.key_}setKey(e){this.key_!==e&&(this.key_=e,this.changed())}getResolutions(e){const t=e?this.getTileGridForProjection(e):this.tileGrid;return t?t.getResolutions():null}getTile(e,t,n,i,r){return ls()}getTileGrid(){return this.tileGrid}getTileGridForProjection(e){return this.tileGrid?this.tileGrid:$y(e)}getTilePixelRatio(e){return this.tilePixelRatio_}getTilePixelSize(e,t,n){const i=this.getTileGridForProjection(n),r=this.getTilePixelRatio(t),o=mu(i.getTileSize(e),this.tmpSize);return 1==r?o:(s=o,a=r,void 0===(l=this.tmpSize)&&(l=[0,0]),l[0]=s[0]*a+.5|0,l[1]=s[1]*a+.5|0,l);var s,a,l}getTileCoordForTileUrlFunction(e,t){const n=void 0!==t?t:this.getProjection(),i=void 0!==t?this.getTileGridForProjection(n):this.tileGrid||this.getTileGridForProjection(n);return this.getWrapX()&&n.isGlobal()&&(e=function(e,t,n){const i=t[0],r=e.getTileCoordCenter(t),o=Zy(n);if(!fi(o,r)){const t=Ni(o),n=Math.ceil((o[0]-r[0])/t);return r[0]+=t*n,e.getTileCoordForCoordAndZ(r,i)}return t}(i,e,n)),function(e,t){const n=e[0],i=e[1],r=e[2];if(t.getMinZoom()>n||n>t.getMaxZoom())return!1;const o=t.getFullTileRange(n);return!o||o.containsXY(i,r)}(e,i)?e:null}clear(){}refresh(){this.clear(),super.refresh()}};class av extends sv{constructor(e){super({attributions:e.attributions,cacheSize:e.cacheSize,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tilePixelRatio:e.tilePixelRatio,wrapX:e.wrapX,transition:e.transition,interpolate:e.interpolate,key:e.key,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.generateTileUrlFunction_=this.tileUrlFunction===av.prototype.tileUrlFunction,this.tileLoadFunction=e.tileLoadFunction,e.tileUrlFunction&&(this.tileUrlFunction=e.tileUrlFunction),this.urls=null,e.urls?this.setUrls(e.urls):e.url&&this.setUrl(e.url),this.tileLoadingKeys_={}}getTileLoadFunction(){return this.tileLoadFunction}getTileUrlFunction(){return Object.getPrototypeOf(this).tileUrlFunction===this.tileUrlFunction?this.tileUrlFunction.bind(this):this.tileUrlFunction}getUrls(){return this.urls}handleTileChange(e){const t=e.target,n=us(t),i=t.getState();let r;1==i?(this.tileLoadingKeys_[n]=!0,r="tileloadstart"):n in this.tileLoadingKeys_&&(delete this.tileLoadingKeys_[n],r=3==i?"tileloaderror":2==i?"tileloadend":void 0),null!=r&&this.dispatchEvent(new ov(r,t))}setTileLoadFunction(e){this.tileLoadFunction=e,this.changed()}setTileUrlFunction(e,t){this.tileUrlFunction=e,void 0!==t?this.setKey(t):this.changed()}setUrl(e){const t=function(e){const t=[];let n=/\{([a-z])-([a-z])\}/.exec(e);if(n){const i=n[1].charCodeAt(0),r=n[2].charCodeAt(0);let o;for(o=i;o<=r;++o)t.push(e.replace(n[0],String.fromCharCode(o)));return t}if(n=/\{(\d+)-(\d+)\}/.exec(e),n){const i=parseInt(n[2],10);for(let r=parseInt(n[1],10);r<=i;r++)t.push(e.replace(n[0],r.toString()));return t}return t.push(e),t}(e);this.urls=t,this.setUrls(t)}setUrls(e){this.urls=e;const t=e.join("\n");this.generateTileUrlFunction_?this.setTileUrlFunction(nv(e,this.tileGrid),t):this.setKey(t)}tileUrlFunction(e,t,n){}}const lv=av;function cv(e,t){e.getImage().src=t}const uv=class extends lv{constructor(e){super({attributions:e.attributions,cacheSize:e.cacheSize,projection:e.projection,state:e.state,tileGrid:e.tileGrid,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:cv,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:e.wrapX,transition:e.transition,interpolate:void 0===e.interpolate||e.interpolate,key:e.key,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.crossOrigin=void 0!==e.crossOrigin?e.crossOrigin:null,this.tileClass=void 0!==e.tileClass?e.tileClass:my,this.tileGridForProjection={},this.reprojectionErrorThreshold_=e.reprojectionErrorThreshold,this.renderReprojectionEdges_=!1}getGutterForProjection(e){return this.getProjection()&&e&&!uo(this.getProjection(),e)?0:this.getGutter()}getGutter(){return 0}getKey(){let e=super.getKey();return this.getInterpolate()||(e+=":disable-interpolation"),e}getTileGridForProjection(e){const t=this.getProjection();if(this.tileGrid&&(!t||uo(t,e)))return this.tileGrid;const n=us(e);return n in this.tileGridForProjection||(this.tileGridForProjection[n]=$y(e)),this.tileGridForProjection[n]}createTile_(e,t,n,i,r,o){const s=[e,t,n],a=this.getTileCoordForTileUrlFunction(s,r),l=a?this.tileUrlFunction(a,i,r):void 0,c=new this.tileClass(s,void 0!==l?0:4,void 0!==l?l:"",this.crossOrigin,this.tileLoadFunction,this.tileOptions);return c.key=o,c.addEventListener(Lo,this.handleTileChange.bind(this)),c}getTile(e,t,n,i,r){const o=this.getProjection();if(!o||!r||uo(o,r))return this.getTileInternal(e,t,n,i,o||r);const s=[e,t,n],a=this.getKey(),l=this.getTileGridForProjection(o),c=this.getTileGridForProjection(r),u=this.getTileCoordForTileUrlFunction(s,r),d=new Iy(o,l,r,c,s,u,this.getTilePixelRatio(i),this.getGutter(),(e,t,n,i)=>this.getTileInternal(e,t,n,i,o),this.reprojectionErrorThreshold_,this.renderReprojectionEdges_,this.tileOptions);return d.key=a,d}getTileInternal(e,t,n,i,r){const o=this.getKey();return this.createTile_(e,t,n,i,r,o)}setRenderReprojectionEdges(e){this.renderReprojectionEdges_!=e&&(this.renderReprojectionEdges_=e,this.changed())}setTileGridForProjection(e,t){const n=ro(e);if(n){const e=us(n);e in this.tileGridForProjection||(this.tileGridForProjection[e]=t)}}},dv=class extends uv{constructor(e){const t=void 0!==(e=e||{}).projection?e.projection:"EPSG:3857",n=void 0!==e.tileGrid?e.tileGrid:Ky({extent:Zy(t),maxResolution:e.maxResolution,maxZoom:e.maxZoom,minZoom:e.minZoom,tileSize:e.tileSize});super({attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:e.interpolate,projection:t,reprojectionErrorThreshold:e.reprojectionErrorThreshold,tileGrid:n,tileLoadFunction:e.tileLoadFunction,tilePixelRatio:e.tilePixelRatio,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,attributionsCollapsible:e.attributionsCollapsible,zDirection:e.zDirection}),this.gutter_=void 0!==e.gutter?e.gutter:0}getGutter(){return this.gutter_}};var pv={$version:8,$root:{version:{required:!0,type:"enum",values:[8]},name:{type:"string"},metadata:{type:"*"},center:{type:"array",value:"number"},centerAltitude:{type:"number"},zoom:{type:"number"},bearing:{type:"number",default:0,period:360,units:"degrees"},pitch:{type:"number",default:0,units:"degrees"},roll:{type:"number",default:0,units:"degrees"},state:{type:"state",default:{}},light:{type:"light"},sky:{type:"sky"},projection:{type:"projection"},terrain:{type:"terrain"},sources:{required:!0,type:"sources"},sprite:{type:"sprite"},glyphs:{type:"string"},transition:{type:"transition"},layers:{required:!0,type:"array",value:"layer"}},sources:{"*":{type:"source"}},source:["source_vector","source_raster","source_raster_dem","source_geojson","source_video","source_image"],source_vector:{type:{required:!0,type:"enum",values:{vector:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},attribution:{type:"string"},promoteId:{type:"promoteId"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster:{type:{required:!0,type:"enum",values:{raster:{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},scheme:{type:"enum",values:{xyz:{},tms:{}},default:"xyz"},attribution:{type:"string"},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_raster_dem:{type:{required:!0,type:"enum",values:{"raster-dem":{}}},url:{type:"string"},tiles:{type:"array",value:"string"},bounds:{type:"array",value:"number",length:4,default:[-180,-85.051129,180,85.051129]},minzoom:{type:"number",default:0},maxzoom:{type:"number",default:22},tileSize:{type:"number",default:512,units:"pixels"},attribution:{type:"string"},encoding:{type:"enum",values:{terrarium:{},mapbox:{},custom:{}},default:"mapbox"},redFactor:{type:"number",default:1},blueFactor:{type:"number",default:1},greenFactor:{type:"number",default:1},baseShift:{type:"number",default:0},volatile:{type:"boolean",default:!1},"*":{type:"*"}},source_geojson:{type:{required:!0,type:"enum",values:{geojson:{}}},data:{required:!0,type:"*"},maxzoom:{type:"number",default:18},attribution:{type:"string"},buffer:{type:"number",default:128,maximum:512,minimum:0},filter:{type:"*"},tolerance:{type:"number",default:.375},cluster:{type:"boolean",default:!1},clusterRadius:{type:"number",default:50,minimum:0},clusterMaxZoom:{type:"number"},clusterMinPoints:{type:"number"},clusterProperties:{type:"*"},lineMetrics:{type:"boolean",default:!1},generateId:{type:"boolean",default:!1},promoteId:{type:"promoteId"}},source_video:{type:{required:!0,type:"enum",values:{video:{}}},urls:{required:!0,type:"array",value:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},source_image:{type:{required:!0,type:"enum",values:{image:{}}},url:{required:!0,type:"string"},coordinates:{required:!0,type:"array",length:4,value:{type:"array",length:2,value:"number"}}},layer:{id:{type:"string",required:!0},type:{type:"enum",values:{fill:{},line:{},symbol:{},circle:{},heatmap:{},"fill-extrusion":{},raster:{},hillshade:{},"color-relief":{},background:{}},required:!0},metadata:{type:"*"},source:{type:"string"},"source-layer":{type:"string"},minzoom:{type:"number",minimum:0,maximum:24},maxzoom:{type:"number",minimum:0,maximum:24},filter:{type:"filter"},layout:{type:"layout"},paint:{type:"paint"}},layout:["layout_fill","layout_line","layout_circle","layout_heatmap","layout_fill-extrusion","layout_symbol","layout_raster","layout_hillshade","layout_color-relief","layout_background"],layout_background:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_fill:{"fill-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_circle:{"circle-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_heatmap:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_fill-extrusion":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_line:{"line-cap":{type:"enum",values:{butt:{},round:{},square:{}},default:"butt",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-join":{type:"enum",values:{bevel:{},round:{},miter:{}},default:"miter",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"line-miter-limit":{type:"number",default:2,requires:[{"line-join":"miter"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-round-limit":{type:"number",default:1.05,requires:[{"line-join":"round"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_symbol:{"symbol-placement":{type:"enum",values:{point:{},line:{},"line-center":{}},default:"point",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-spacing":{type:"number",default:250,minimum:1,units:"pixels",requires:[{"symbol-placement":"line"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"symbol-avoid-edges":{type:"boolean",default:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"symbol-sort-key":{type:"number",expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"symbol-z-order":{type:"enum",values:{auto:{},"viewport-y":{},source:{}},default:"auto",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-allow-overlap":{type:"boolean",default:!1,requires:["icon-image",{"!":"icon-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-ignore-placement":{type:"boolean",default:!1,requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-optional":{type:"boolean",default:!1,requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-rotation-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-size":{type:"number",default:1,minimum:0,units:"factor of the original icon size",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-text-fit":{type:"enum",values:{none:{},width:{},height:{},both:{}},default:"none",requires:["icon-image","text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-text-fit-padding":{type:"array",value:"number",length:4,default:[0,0,0,0],units:"pixels",requires:["icon-image","text-field",{"icon-text-fit":["both","width","height"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-image":{type:"resolvedImage",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-padding":{type:"padding",default:[2],units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-keep-upright":{type:"boolean",default:!1,requires:["icon-image",{"icon-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"icon-offset":{type:"array",value:"number",length:2,default:[0,0],requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"icon-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-pitch-alignment":{type:"enum",values:{map:{},viewport:{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotation-alignment":{type:"enum",values:{map:{},viewport:{},"viewport-glyph":{},auto:{}},default:"auto",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-field":{type:"formatted",default:"",tokens:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-font":{type:"array",value:"string",default:["Open Sans Regular","Arial Unicode MS Regular"],requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-size":{type:"number",default:16,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-width":{type:"number",default:10,minimum:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-line-height":{type:"number",default:1.2,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-letter-spacing":{type:"number",default:0,units:"ems",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-justify":{type:"enum",values:{auto:{},left:{},center:{},right:{}},default:"center",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-radial-offset":{type:"number",units:"ems",default:0,requires:["text-field"],"property-type":"data-driven",expression:{interpolated:!0,parameters:["zoom","feature"]}},"text-variable-anchor":{type:"array",value:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-variable-anchor-offset":{type:"variableAnchorOffsetCollection",requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-anchor":{type:"enum",values:{center:{},left:{},right:{},top:{},bottom:{},"top-left":{},"top-right":{},"bottom-left":{},"bottom-right":{}},default:"center",requires:["text-field",{"!":"text-variable-anchor"}],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-max-angle":{type:"number",default:45,units:"degrees",requires:["text-field",{"symbol-placement":["line","line-center"]}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-writing-mode":{type:"array",value:"enum",values:{horizontal:{},vertical:{}},requires:["text-field",{"symbol-placement":["point"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-rotate":{type:"number",default:0,period:360,units:"degrees",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-padding":{type:"number",default:2,minimum:0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-keep-upright":{type:"boolean",default:!0,requires:["text-field",{"text-rotation-alignment":"map"},{"symbol-placement":["line","line-center"]}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-transform":{type:"enum",values:{none:{},uppercase:{},lowercase:{}},default:"none",requires:["text-field"],expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-offset":{type:"array",value:"number",units:"ems",length:2,default:[0,0],requires:["text-field",{"!":"text-radial-offset"}],expression:{interpolated:!0,parameters:["zoom","feature"]},"property-type":"data-driven"},"text-allow-overlap":{type:"boolean",default:!1,requires:["text-field",{"!":"text-overlap"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-overlap":{type:"enum",values:{never:{},always:{},cooperative:{}},requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-ignore-placement":{type:"boolean",default:!1,requires:["text-field"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-optional":{type:"boolean",default:!1,requires:["text-field","icon-image"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_raster:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},layout_hillshade:{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},"layout_color-relief":{visibility:{type:"enum",values:{visible:{},none:{}},default:"visible","property-type":"constant"}},filter:{type:"array",value:"*"},filter_operator:{type:"enum",values:{"==":{},"!=":{},">":{},">=":{},"<":{},"<=":{},in:{},"!in":{},all:{},any:{},none:{},has:{},"!has":{}}},geometry_type:{type:"enum",values:{Point:{},LineString:{},Polygon:{}}},function:{expression:{type:"expression"},stops:{type:"array",value:"function_stop"},base:{type:"number",default:1,minimum:0},property:{type:"string",default:"$zoom"},type:{type:"enum",values:{identity:{},exponential:{},interval:{},categorical:{}},default:"exponential"},colorSpace:{type:"enum",values:{rgb:{},lab:{},hcl:{}},default:"rgb"},default:{type:"*",required:!1}},function_stop:{type:"array",minimum:0,maximum:24,value:["number","color"],length:2},expression:{type:"array",value:"*",minimum:1},light:{anchor:{type:"enum",default:"viewport",values:{map:{},viewport:{}},"property-type":"data-constant",transition:!1,expression:{interpolated:!1,parameters:["zoom"]}},position:{type:"array",default:[1.15,210,30],length:3,value:"number","property-type":"data-constant",transition:!0,expression:{interpolated:!0,parameters:["zoom"]}},color:{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},intensity:{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},sky:{"sky-color":{type:"color","property-type":"data-constant",default:"#88C6FC",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-color":{type:"color","property-type":"data-constant",default:"#ffffff",expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"fog-ground-blend":{type:"number","property-type":"data-constant",default:.5,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"horizon-fog-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"sky-horizon-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0},"atmosphere-blend":{type:"number","property-type":"data-constant",default:.8,minimum:0,maximum:1,expression:{interpolated:!0,parameters:["zoom"]},transition:!0}},terrain:{source:{type:"string",required:!0},exaggeration:{type:"number",minimum:0,default:1}},projection:{type:{type:"projectionDefinition",default:"mercator","property-type":"data-constant",transition:!1,expression:{interpolated:!0,parameters:["zoom"]}}},paint:["paint_fill","paint_line","paint_circle","paint_heatmap","paint_fill-extrusion","paint_symbol","paint_raster","paint_hillshade","paint_color-relief","paint_background"],paint_fill:{"fill-antialias":{type:"boolean",default:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-outline-color":{type:"color",transition:!0,requires:[{"!":"fill-pattern"},{"fill-antialias":!0}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"}},"paint_fill-extrusion":{"fill-extrusion-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"fill-extrusion-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["fill-extrusion-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"fill-extrusion-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"fill-extrusion-height":{type:"number",default:0,minimum:0,units:"meters",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-base":{type:"number",default:0,minimum:0,units:"meters",transition:!0,requires:["fill-extrusion-height"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"fill-extrusion-vertical-gradient":{type:"boolean",default:!0,transition:!1,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_line:{"line-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"line-pattern"}],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"line-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["line-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"line-width":{type:"number",default:1,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-gap-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-offset":{type:"number",default:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"line-dasharray":{type:"array",value:"number",minimum:0,transition:!0,units:"line widths",requires:[{"!":"line-pattern"}],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"line-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom","feature"]},"property-type":"cross-faded-data-driven"},"line-gradient":{type:"color",transition:!1,requires:[{"!":"line-dasharray"},{"!":"line-pattern"},{source:"geojson",has:{lineMetrics:!0}}],expression:{interpolated:!0,parameters:["line-progress"]},"property-type":"color-ramp"}},paint_circle:{"circle-radius":{type:"number",default:5,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-blur":{type:"number",default:0,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"circle-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["circle-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-scale":{type:"enum",values:{map:{},viewport:{}},default:"map",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-pitch-alignment":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"circle-stroke-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"circle-stroke-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"}},paint_heatmap:{"heatmap-radius":{type:"number",default:30,minimum:1,transition:!0,units:"pixels",expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-weight":{type:"number",default:1,minimum:0,transition:!1,expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"heatmap-intensity":{type:"number",default:1,minimum:0,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"heatmap-color":{type:"color",default:["interpolate",["linear"],["heatmap-density"],0,"rgba(0, 0, 255, 0)",.1,"royalblue",.3,"cyan",.5,"lime",.7,"yellow",1,"red"],transition:!1,expression:{interpolated:!0,parameters:["heatmap-density"]},"property-type":"color-ramp"},"heatmap-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_symbol:{"icon-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-color":{type:"color",default:"#000000",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"icon-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["icon-image"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"icon-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["icon-image","icon-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"text-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-color":{type:"color",default:"#000000",transition:!0,overridable:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-color":{type:"color",default:"rgba(0, 0, 0, 0)",transition:!0,requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-width":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-halo-blur":{type:"number",default:0,minimum:0,transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom","feature","feature-state"]},"property-type":"data-driven"},"text-translate":{type:"array",value:"number",length:2,default:[0,0],transition:!0,units:"pixels",requires:["text-field"],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"text-translate-anchor":{type:"enum",values:{map:{},viewport:{}},default:"map",requires:["text-field","text-translate"],expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},paint_raster:{"raster-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-hue-rotate":{type:"number",default:0,period:360,transition:!0,units:"degrees",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-min":{type:"number",default:0,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-brightness-max":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-saturation":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-contrast":{type:"number",default:0,minimum:-1,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"raster-resampling":{type:"enum",values:{linear:{},nearest:{}},default:"linear",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"raster-fade-duration":{type:"number",default:300,minimum:0,transition:!1,units:"milliseconds",expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},paint_hillshade:{"hillshade-illumination-direction":{type:"numberArray",default:335,minimum:0,maximum:359,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-altitude":{type:"numberArray",default:45,minimum:0,maximum:90,transition:!1,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-illumination-anchor":{type:"enum",values:{map:{},viewport:{}},default:"viewport",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-exaggeration":{type:"number",default:.5,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-shadow-color":{type:"colorArray",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-highlight-color":{type:"colorArray",default:"#FFFFFF",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-accent-color":{type:"color",default:"#000000",transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"hillshade-method":{type:"enum",values:{standard:{},basic:{},combined:{},igor:{},multidirectional:{}},default:"standard",expression:{interpolated:!1,parameters:["zoom"]},"property-type":"data-constant"}},"paint_color-relief":{"color-relief-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"color-relief-color":{type:"color",transition:!1,expression:{interpolated:!0,parameters:["elevation"]},"property-type":"color-ramp"}},paint_background:{"background-color":{type:"color",default:"#000000",transition:!0,requires:[{"!":"background-pattern"}],expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"},"background-pattern":{type:"resolvedImage",transition:!0,expression:{interpolated:!1,parameters:["zoom"]},"property-type":"cross-faded"},"background-opacity":{type:"number",default:1,minimum:0,maximum:1,transition:!0,expression:{interpolated:!0,parameters:["zoom"]},"property-type":"data-constant"}},transition:{duration:{type:"number",default:300,minimum:0,units:"milliseconds"},delay:{type:"number",default:0,minimum:0,units:"milliseconds"}},"property-type":{"data-driven":{type:"property-type"},"cross-faded":{type:"property-type"},"cross-faded-data-driven":{type:"property-type"},"color-ramp":{type:"property-type"},"data-constant":{type:"property-type"},constant:{type:"property-type"}},promoteId:{"*":{type:"string"}}};const hv=["type","source","source-layer","minzoom","maxzoom","filter","layout"];function fv(e,t){const n={};for(const t in e)"ref"!==t&&(n[t]=e[t]);return hv.forEach(e=>{e in t&&(n[e]=t[e])}),n}function _v(e){e=e.slice();const t=Object.create(null);for(let n=0;n<e.length;n++)t[e[n].id]=e[n];for(let n=0;n<e.length;n++)"ref"in e[n]&&(e[n]=fv(e[n],t[e[n].ref]));return e}class gv{constructor(e,t,n,i){this.message=(e?`${e}: `:"")+n,i&&(this.identifier=i),null!=t&&t.__line__&&(this.line=t.__line__)}}function mv(e,...t){for(const n of t)for(const t in n)e[t]=n[t];return e}class yv extends Error{constructor(e,t){super(t),this.message=t,this.key=e}}class vv{constructor(e,t=[]){this.parent=e,this.bindings={};for(const[e,n]of t)this.bindings[e]=n}concat(e){return new vv(this,e)}get(e){if(this.bindings[e])return this.bindings[e];if(this.parent)return this.parent.get(e);throw new Error(`${e} not found in scope.`)}has(e){return!!this.bindings[e]||!!this.parent&&this.parent.has(e)}}const bv={kind:"null"},xv={kind:"number"},wv={kind:"string"},kv={kind:"boolean"},Cv={kind:"color"},Av={kind:"projectionDefinition"},Sv={kind:"object"},Ev={kind:"value"},Iv={kind:"collator"},Tv={kind:"formatted"},Mv={kind:"padding"},Pv={kind:"colorArray"},Rv={kind:"numberArray"},zv={kind:"resolvedImage"},Lv={kind:"variableAnchorOffsetCollection"};function Ov(e,t){return{kind:"array",itemType:e,N:t}}function Fv(e){if("array"===e.kind){const t=Fv(e.itemType);return"number"==typeof e.N?`array<${t}, ${e.N}>`:"value"===e.itemType.kind?"array":`array<${t}>`}return e.kind}const jv=[bv,xv,wv,kv,Cv,Av,Tv,Sv,Ov(Ev),Mv,Rv,Pv,zv,Lv];function Dv(e,t){if("error"===t.kind)return null;if("array"===e.kind){if("array"===t.kind&&(0===t.N&&"value"===t.itemType.kind||!Dv(e.itemType,t.itemType))&&("number"!=typeof e.N||e.N===t.N))return null}else{if(e.kind===t.kind)return null;if("value"===e.kind)for(const e of jv)if(!Dv(e,t))return null}return`Expected ${Fv(e)} but found ${Fv(t)} instead.`}function Nv(e,t){return t.some(t=>t.kind===e.kind)}function Bv(e,t){return t.some(t=>"null"===t?null===e:"array"===t?Array.isArray(e):"object"===t?e&&!Array.isArray(e)&&"object"==typeof e:t===typeof e)}function qv(e,t){return"array"===e.kind&&"array"===t.kind?e.itemType.kind===t.itemType.kind&&"number"==typeof e.N:e.kind===t.kind}const Gv=.96422,Vv=.82521,Wv=4/29,Hv=6/29,Uv=3*Hv*Hv,$v=Hv*Hv*Hv,Kv=Math.PI/180,Xv=180/Math.PI;function Zv(e){return(e%=360)<0&&(e+=360),e}function Yv([e,t,n,i]){let r,o;const s=Jv((.2225045*(e=Qv(e))+.7168786*(t=Qv(t))+.0606169*(n=Qv(n)))/1);e===t&&t===n?r=o=s:(r=Jv((.4360747*e+.3850649*t+.1430804*n)/Gv),o=Jv((.0139322*e+.0971045*t+.7141733*n)/Vv));const a=116*s-16;return[a<0?0:a,500*(r-s),200*(s-o),i]}function Qv(e){return e<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function Jv(e){return e>$v?Math.pow(e,1/3):e/Uv+Wv}function eb([e,t,n,i]){let r=(e+16)/116,o=isNaN(t)?r:r+t/500,s=isNaN(n)?r:r-n/200;return r=1*nb(r),o=Gv*nb(o),s=Vv*nb(s),[tb(3.1338561*o-1.6168667*r-.4906146*s),tb(-.9787684*o+1.9161415*r+.033454*s),tb(.0719453*o-.2289914*r+1.4052427*s),i]}function tb(e){return(e=e<=.00304?12.92*e:1.055*Math.pow(e,1/2.4)-.055)<0?0:e>1?1:e}function nb(e){return e>Hv?e*e*e:Uv*(e-Wv)}const ib=Object.hasOwn||function(e,t){return Object.prototype.hasOwnProperty.call(e,t)};function rb(e,t){return ib(e,t)?e[t]:void 0}function ob(e){return parseInt(e.padEnd(2,e),16)/255}function sb(e,t){return ab(t?e/100:e,0,1)}function ab(e,t,n){return Math.min(Math.max(t,e),n)}function lb(e){return!e.some(Number.isNaN)}const cb={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};function ub(e,t,n){return e+n*(t-e)}function db(e,t,n){return e.map((e,i)=>ub(e,t[i],n))}class pb{constructor(e,t,n,i=1,r=!0){this.r=e,this.g=t,this.b=n,this.a=i,r||(this.r*=i,this.g*=i,this.b*=i,i||this.overwriteGetter("rgb",[e,t,n,i]))}static parse(e){if(e instanceof pb)return e;if("string"!=typeof e)return;const t=function(e){if("transparent"===(e=e.toLowerCase().trim()))return[0,0,0,0];const t=rb(cb,e);if(t){const[e,n,i]=t;return[e/255,n/255,i/255,1]}if(e.startsWith("#")&&/^#(?:[0-9a-f]{3,4}|[0-9a-f]{6}|[0-9a-f]{8})$/.test(e)){const t=e.length<6?1:2;let n=1;return[ob(e.slice(n,n+=t)),ob(e.slice(n,n+=t)),ob(e.slice(n,n+=t)),ob(e.slice(n,n+t)||"ff")]}if(e.startsWith("rgb")){const t=/^rgba?\(\s*([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s+|\s*(,)\s*)([\de.+-]+)(%)?(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/,n=e.match(t);if(n){const[e,t,i,r,o,s,a,l,c,u,d,p]=n,h=[r||" ",a||" ",u].join("");if(" "===h||" /"===h||",,"===h||",,,"===h){const e=[i,s,c].join(""),n="%%%"===e?100:""===e?255:0;if(n){const e=[ab(+t/n,0,1),ab(+o/n,0,1),ab(+l/n,0,1),d?sb(+d,p):1];if(lb(e))return e}}return}}const n=e.match(/^hsla?\(\s*([\de.+-]+)(?:deg)?(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s+|\s*(,)\s*)([\de.+-]+)%(?:\s*([,\/])\s*([\de.+-]+)(%)?)?\s*\)$/);if(n){const[e,t,i,r,o,s,a,l,c]=n,u=[i||" ",o||" ",a].join("");if(" "===u||" /"===u||",,"===u||",,,"===u){const e=[+t,ab(+r,0,100),ab(+s,0,100),l?sb(+l,c):1];if(lb(e))return function([e,t,n,i]){function r(i){const r=(i+e/30)%12,o=t*Math.min(n,1-n);return n-o*Math.max(-1,Math.min(r-3,9-r,1))}return e=Zv(e),t/=100,n/=100,[r(0),r(8),r(4),i]}(e)}}}(e);return t?new pb(...t,!1):void 0}get rgb(){const{r:e,g:t,b:n,a:i}=this,r=i||1/0;return this.overwriteGetter("rgb",[e/r,t/r,n/r,i])}get hcl(){return this.overwriteGetter("hcl",function(e){const[t,n,i,r]=Yv(e),o=Math.sqrt(n*n+i*i);return[Math.round(1e4*o)?Zv(Math.atan2(i,n)*Xv):NaN,o,t,r]}(this.rgb))}get lab(){return this.overwriteGetter("lab",Yv(this.rgb))}overwriteGetter(e,t){return Object.defineProperty(this,e,{value:t}),t}toString(){const[e,t,n,i]=this.rgb;return`rgba(${[e,t,n].map(e=>Math.round(255*e)).join(",")},${i})`}static interpolate(e,t,n,i="rgb"){switch(i){case"rgb":{const[i,r,o,s]=db(e.rgb,t.rgb,n);return new pb(i,r,o,s,!1)}case"hcl":{const[i,r,o,s]=e.hcl,[a,l,c,u]=t.hcl;let d,p;if(isNaN(i)||isNaN(a))isNaN(i)?isNaN(a)?d=NaN:(d=a,1!==o&&0!==o||(p=l)):(d=i,1!==c&&0!==c||(p=r));else{let e=a-i;a>i&&e>180?e-=360:a<i&&i-a>180&&(e+=360),d=i+n*e}const[h,f,_,g]=function([e,t,n,i]){return e=isNaN(e)?0:e*Kv,eb([n,Math.cos(e)*t,Math.sin(e)*t,i])}([d,null!=p?p:ub(r,l,n),ub(o,c,n),ub(s,u,n)]);return new pb(h,f,_,g,!1)}case"lab":{const[i,r,o,s]=eb(db(e.lab,t.lab,n));return new pb(i,r,o,s,!1)}}}}pb.black=new pb(0,0,0,1),pb.white=new pb(1,1,1,1),pb.transparent=new pb(0,0,0,0),pb.red=new pb(1,0,0,1);class hb{constructor(e,t,n){this.sensitivity=e?t?"variant":"case":t?"accent":"base",this.locale=n,this.collator=new Intl.Collator(this.locale?this.locale:[],{sensitivity:this.sensitivity,usage:"search"})}compare(e,t){return this.collator.compare(e,t)}resolvedLocale(){return new Intl.Collator(this.locale?this.locale:[]).resolvedOptions().locale}}const fb=["bottom","center","top"];class _b{constructor(e,t,n,i,r,o){this.text=e,this.image=t,this.scale=n,this.fontStack=i,this.textColor=r,this.verticalAlign=o}}class gb{constructor(e){this.sections=e}static fromString(e){return new gb([new _b(e,null,null,null,null,null)])}isEmpty(){return 0===this.sections.length||!this.sections.some(e=>0!==e.text.length||e.image&&0!==e.image.name.length)}static factory(e){return e instanceof gb?e:gb.fromString(e)}toString(){return 0===this.sections.length?"":this.sections.map(e=>e.text).join("")}}class mb{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof mb)return e;if("number"==typeof e)return new mb([e,e,e,e]);if(Array.isArray(e)&&!(e.length<1||e.length>4)){for(const t of e)if("number"!=typeof t)return;switch(e.length){case 1:e=[e[0],e[0],e[0],e[0]];break;case 2:e=[e[0],e[1],e[0],e[1]];break;case 3:e=[e[0],e[1],e[2],e[1]]}return new mb(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){return new mb(db(e.values,t.values,n))}}class yb{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof yb)return e;if("number"==typeof e)return new yb([e]);if(Array.isArray(e)){for(const t of e)if("number"!=typeof t)return;return new yb(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){return new yb(db(e.values,t.values,n))}}class vb{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof vb)return e;if("string"==typeof e){const t=pb.parse(e);if(!t)return;return new vb([t])}if(!Array.isArray(e))return;const t=[];for(const n of e){if("string"!=typeof n)return;const e=pb.parse(n);if(!e)return;t.push(e)}return new vb(t)}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n,i="rgb"){const r=[];if(e.values.length!=t.values.length)throw new Error(`colorArray: Arrays have mismatched length (${e.values.length} vs. ${t.values.length}), cannot interpolate.`);for(let o=0;o<e.values.length;o++)r.push(pb.interpolate(e.values[o],t.values[o],n,i));return new vb(r)}}class bb extends Error{constructor(e){super(e),this.name="RuntimeError"}toJSON(){return this.message}}const xb=new Set(["center","left","right","top","bottom","top-left","top-right","bottom-left","bottom-right"]);class wb{constructor(e){this.values=e.slice()}static parse(e){if(e instanceof wb)return e;if(Array.isArray(e)&&!(e.length<1)&&e.length%2==0){for(let t=0;t<e.length;t+=2){const n=e[t],i=e[t+1];if("string"!=typeof n||!xb.has(n))return;if(!Array.isArray(i)||2!==i.length||"number"!=typeof i[0]||"number"!=typeof i[1])return}return new wb(e)}}toString(){return JSON.stringify(this.values)}static interpolate(e,t,n){const i=e.values,r=t.values;if(i.length!==r.length)throw new bb(`Cannot interpolate values of different length. from: ${e.toString()}, to: ${t.toString()}`);const o=[];for(let e=0;e<i.length;e+=2){if(i[e]!==r[e])throw new bb(`Cannot interpolate values containing mismatched anchors. from[${e}]: ${i[e]}, to[${e}]: ${r[e]}`);o.push(i[e]);const[t,s]=i[e+1],[a,l]=r[e+1];o.push([ub(t,a,n),ub(s,l,n)])}return new wb(o)}}class kb{constructor(e){this.name=e.name,this.available=e.available}toString(){return this.name}static fromString(e){return e?new kb({name:e,available:!1}):null}}class Cb{constructor(e,t,n){this.from=e,this.to=t,this.transition=n}static interpolate(e,t,n){return new Cb(e,t,n)}static parse(e){return e instanceof Cb?e:Array.isArray(e)&&3===e.length&&"string"==typeof e[0]&&"string"==typeof e[1]&&"number"==typeof e[2]?new Cb(e[0],e[1],e[2]):"object"==typeof e&&"string"==typeof e.from&&"string"==typeof e.to&&"number"==typeof e.transition?new Cb(e.from,e.to,e.transition):"string"==typeof e?new Cb(e,e,1):void 0}}function Ab(e,t,n,i){return"number"==typeof e&&e>=0&&e<=255&&"number"==typeof t&&t>=0&&t<=255&&"number"==typeof n&&n>=0&&n<=255?void 0===i||"number"==typeof i&&i>=0&&i<=1?null:`Invalid rgba value [${[e,t,n,i].join(", ")}]: 'a' must be between 0 and 1.`:`Invalid rgba value [${("number"==typeof i?[e,t,n,i]:[e,t,n]).join(", ")}]: 'r', 'g', and 'b' must be between 0 and 255.`}function Sb(e){if(null===e||"string"==typeof e||"boolean"==typeof e||"number"==typeof e||e instanceof Cb||e instanceof pb||e instanceof hb||e instanceof gb||e instanceof mb||e instanceof yb||e instanceof vb||e instanceof wb||e instanceof kb)return!0;if(Array.isArray(e)){for(const t of e)if(!Sb(t))return!1;return!0}if("object"==typeof e){for(const t in e)if(!Sb(e[t]))return!1;return!0}return!1}function Eb(e){if(null===e)return bv;if("string"==typeof e)return wv;if("boolean"==typeof e)return kv;if("number"==typeof e)return xv;if(e instanceof pb)return Cv;if(e instanceof Cb)return Av;if(e instanceof hb)return Iv;if(e instanceof gb)return Tv;if(e instanceof mb)return Mv;if(e instanceof yb)return Rv;if(e instanceof vb)return Pv;if(e instanceof wb)return Lv;if(e instanceof kb)return zv;if(Array.isArray(e)){const t=e.length;let n;for(const t of e){const e=Eb(t);if(n){if(n===e)continue;n=Ev;break}n=e}return Ov(n||Ev,t)}return Sv}function Ib(e){const t=typeof e;return null===e?"":"string"===t||"number"===t||"boolean"===t?String(e):e instanceof pb||e instanceof Cb||e instanceof gb||e instanceof mb||e instanceof yb||e instanceof vb||e instanceof wb||e instanceof kb?e.toString():JSON.stringify(e)}class Tb{constructor(e,t){this.type=e,this.value=t}static parse(e,t){if(2!==e.length)return t.error(`'literal' expression requires exactly one argument, but found ${e.length-1} instead.`);if(!Sb(e[1]))return t.error("invalid value");const n=e[1];let i=Eb(n);const r=t.expectedType;return"array"!==i.kind||0!==i.N||!r||"array"!==r.kind||"number"==typeof r.N&&0!==r.N||(i=r),new Tb(i,n)}evaluate(){return this.value}eachChild(){}outputDefined(){return!0}}const Mb={string:wv,number:xv,boolean:kv,object:Sv};class Pb{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let n,i=1;const r=e[0];if("array"===r){let r,o;if(e.length>2){const n=e[1];if("string"!=typeof n||!(n in Mb)||"object"===n)return t.error('The item type argument of "array" must be one of string, number, boolean',1);r=Mb[n],i++}else r=Ev;if(e.length>3){if(null!==e[2]&&("number"!=typeof e[2]||e[2]<0||e[2]!==Math.floor(e[2])))return t.error('The length argument to "array" must be a positive integer literal',2);o=e[2],i++}n=Ov(r,o)}else{if(!Mb[r])throw new Error(`Types doesn't contain name = ${r}`);n=Mb[r]}const o=[];for(;i<e.length;i++){const n=t.parse(e[i],i,Ev);if(!n)return null;o.push(n)}return new Pb(n,o)}evaluate(e){for(let t=0;t<this.args.length;t++){const n=this.args[t].evaluate(e);if(!Dv(this.type,Eb(n)))return n;if(t===this.args.length-1)throw new bb(`Expected value to be of type ${Fv(this.type)}, but found ${Fv(Eb(n))} instead.`)}throw new Error}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}const Rb={"to-boolean":kv,"to-color":Cv,"to-number":xv,"to-string":wv};class zb{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const n=e[0];if(!Rb[n])throw new Error(`Can't parse ${n} as it is not part of the known types`);if(("to-boolean"===n||"to-string"===n)&&2!==e.length)return t.error("Expected one argument.");const i=Rb[n],r=[];for(let n=1;n<e.length;n++){const i=t.parse(e[n],n,Ev);if(!i)return null;r.push(i)}return new zb(i,r)}evaluate(e){switch(this.type.kind){case"boolean":return Boolean(this.args[0].evaluate(e));case"color":{let t,n;for(const i of this.args){if(t=i.evaluate(e),n=null,t instanceof pb)return t;if("string"==typeof t){const n=e.parseColor(t);if(n)return n}else if(Array.isArray(t)&&(n=t.length<3||t.length>4?`Invalid rgba value ${JSON.stringify(t)}: expected an array containing either three or four numeric values.`:Ab(t[0],t[1],t[2],t[3]),!n))return new pb(t[0]/255,t[1]/255,t[2]/255,t[3])}throw new bb(n||`Could not parse color from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"padding":{let t;for(const n of this.args){t=n.evaluate(e);const i=mb.parse(t);if(i)return i}throw new bb(`Could not parse padding from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"numberArray":{let t;for(const n of this.args){t=n.evaluate(e);const i=yb.parse(t);if(i)return i}throw new bb(`Could not parse numberArray from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"colorArray":{let t;for(const n of this.args){t=n.evaluate(e);const i=vb.parse(t);if(i)return i}throw new bb(`Could not parse colorArray from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"variableAnchorOffsetCollection":{let t;for(const n of this.args){t=n.evaluate(e);const i=wb.parse(t);if(i)return i}throw new bb(`Could not parse variableAnchorOffsetCollection from value '${"string"==typeof t?t:JSON.stringify(t)}'`)}case"number":{let t=null;for(const n of this.args){if(t=n.evaluate(e),null===t)return 0;const i=Number(t);if(!isNaN(i))return i}throw new bb(`Could not convert ${JSON.stringify(t)} to number.`)}case"formatted":return gb.fromString(Ib(this.args[0].evaluate(e)));case"resolvedImage":return kb.fromString(Ib(this.args[0].evaluate(e)));case"projectionDefinition":return this.args[0].evaluate(e);default:return Ib(this.args[0].evaluate(e))}}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}const Lb=["Unknown","Point","LineString","Polygon"];class Ob{constructor(){this.globals=null,this.feature=null,this.featureState=null,this.formattedSection=null,this._parseColorCache=new Map,this.availableImages=null,this.canonical=null}id(){return this.feature&&"id"in this.feature?this.feature.id:null}geometryType(){return this.feature?"number"==typeof this.feature.type?Lb[this.feature.type]:this.feature.type:null}geometry(){return this.feature&&"geometry"in this.feature?this.feature.geometry:null}canonicalID(){return this.canonical}properties(){return this.feature&&this.feature.properties||{}}parseColor(e){let t=this._parseColorCache.get(e);return t||(t=pb.parse(e),this._parseColorCache.set(e,t)),t}}class Fb{constructor(e,t,n=[],i,r=new vv,o=[]){this.registry=e,this.path=n,this.key=n.map(e=>`[${e}]`).join(""),this.scope=r,this.errors=o,this.expectedType=i,this._isConstant=t}parse(e,t,n,i,r={}){return t?this.concat(t,n,i)._parse(e,r):this._parse(e,r)}_parse(e,t){function n(e,t,n){return"assert"===n?new Pb(t,[e]):"coerce"===n?new zb(t,[e]):e}if(null!==e&&"string"!=typeof e&&"boolean"!=typeof e&&"number"!=typeof e||(e=["literal",e]),Array.isArray(e)){if(0===e.length)return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');const i=e[0];if("string"!=typeof i)return this.error(`Expression name must be a string, but found ${typeof i} instead. If you wanted a literal array, use ["literal", [...]].`,0),null;const r=this.registry[i];if(r){let i=r.parse(e,this);if(!i)return null;if(this.expectedType){const e=this.expectedType,r=i.type;if("string"!==e.kind&&"number"!==e.kind&&"boolean"!==e.kind&&"object"!==e.kind&&"array"!==e.kind||"value"!==r.kind){if("projectionDefinition"===e.kind&&["string","array"].includes(r.kind)||["color","formatted","resolvedImage"].includes(e.kind)&&["value","string"].includes(r.kind)||["padding","numberArray"].includes(e.kind)&&["value","number","array"].includes(r.kind)||"colorArray"===e.kind&&["value","string","array"].includes(r.kind)||"variableAnchorOffsetCollection"===e.kind&&["value","array"].includes(r.kind))i=n(i,e,t.typeAnnotation||"coerce");else if(this.checkSubtype(e,r))return null}else i=n(i,e,t.typeAnnotation||"assert")}if(!(i instanceof Tb)&&"resolvedImage"!==i.type.kind&&this._isConstant(i)){const e=new Ob;try{i=new Tb(i.type,i.evaluate(e))}catch(e){return this.error(e.message),null}}return i}return this.error(`Unknown expression "${i}". If you wanted a literal array, use ["literal", [...]].`,0)}return void 0===e?this.error("'undefined' value invalid. Use null instead."):"object"==typeof e?this.error('Bare objects invalid. Use ["literal", {...}] instead.'):this.error(`Expected an array, but found ${typeof e} instead.`)}concat(e,t,n){const i="number"==typeof e?this.path.concat(e):this.path,r=n?this.scope.concat(n):this.scope;return new Fb(this.registry,this._isConstant,i,t||null,r,this.errors)}error(e,...t){const n=`${this.key}${t.map(e=>`[${e}]`).join("")}`;this.errors.push(new yv(n,e))}checkSubtype(e,t){const n=Dv(e,t);return n&&this.error(n),n}}class jb{constructor(e,t){this.type=t.type,this.bindings=[].concat(e),this.result=t}evaluate(e){return this.result.evaluate(e)}eachChild(e){for(const t of this.bindings)e(t[1]);e(this.result)}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found ${e.length-1} instead.`);const n=[];for(let i=1;i<e.length-1;i+=2){const r=e[i];if("string"!=typeof r)return t.error(`Expected string, but found ${typeof r} instead.`,i);if(/[^a-zA-Z0-9_]/.test(r))return t.error("Variable names must contain only alphanumeric characters or '_'.",i);const o=t.parse(e[i+1],i+1);if(!o)return null;n.push([r,o])}const i=t.parse(e[e.length-1],e.length-1,t.expectedType,n);return i?new jb(n,i):null}outputDefined(){return this.result.outputDefined()}}class Db{constructor(e,t){this.type=t.type,this.name=e,this.boundExpression=t}static parse(e,t){if(2!==e.length||"string"!=typeof e[1])return t.error("'var' expression requires exactly one string literal argument.");const n=e[1];return t.scope.has(n)?new Db(n,t.scope.get(n)):t.error(`Unknown variable "${n}". Make sure "${n}" has been bound in an enclosing "let" expression before using it.`,1)}evaluate(e){return this.boundExpression.evaluate(e)}eachChild(){}outputDefined(){return!1}}class Nb{constructor(e,t,n){this.type=e,this.index=t,this.input=n}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const n=t.parse(e[1],1,xv),i=t.parse(e[2],2,Ov(t.expectedType||Ev));if(!n||!i)return null;const r=i.type;return new Nb(r.itemType,n,i)}evaluate(e){const t=this.index.evaluate(e),n=this.input.evaluate(e);if(t<0)throw new bb(`Array index out of bounds: ${t} < 0.`);if(t>=n.length)throw new bb(`Array index out of bounds: ${t} > ${n.length-1}.`);if(t!==Math.floor(t))throw new bb(`Array index must be an integer, but found ${t} instead.`);return n[t]}eachChild(e){e(this.index),e(this.input)}outputDefined(){return!1}}class Bb{constructor(e,t){this.type=kv,this.needle=e,this.haystack=t}static parse(e,t){if(3!==e.length)return t.error(`Expected 2 arguments, but found ${e.length-1} instead.`);const n=t.parse(e[1],1,Ev),i=t.parse(e[2],2,Ev);return n&&i?Nv(n.type,[kv,wv,xv,bv,Ev])?new Bb(n,i):t.error(`Expected first argument to be of type boolean, string, number or null, but found ${Fv(n.type)} instead`):null}evaluate(e){const t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!n)return!1;if(!Bv(t,["boolean","string","number","null"]))throw new bb(`Expected first argument to be of type boolean, string, number or null, but found ${Fv(Eb(t))} instead.`);if(!Bv(n,["string","array"]))throw new bb(`Expected second argument to be of type array or string, but found ${Fv(Eb(n))} instead.`);return n.indexOf(t)>=0}eachChild(e){e(this.needle),e(this.haystack)}outputDefined(){return!0}}class qb{constructor(e,t,n){this.type=xv,this.needle=e,this.haystack=t,this.fromIndex=n}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const n=t.parse(e[1],1,Ev),i=t.parse(e[2],2,Ev);if(!n||!i)return null;if(!Nv(n.type,[kv,wv,xv,bv,Ev]))return t.error(`Expected first argument to be of type boolean, string, number or null, but found ${Fv(n.type)} instead`);if(4===e.length){const r=t.parse(e[3],3,xv);return r?new qb(n,i,r):null}return new qb(n,i)}evaluate(e){const t=this.needle.evaluate(e),n=this.haystack.evaluate(e);if(!Bv(t,["boolean","string","number","null"]))throw new bb(`Expected first argument to be of type boolean, string, number or null, but found ${Fv(Eb(t))} instead.`);let i;if(this.fromIndex&&(i=this.fromIndex.evaluate(e)),Bv(n,["string"])){const e=n.indexOf(t,i);return-1===e?-1:[...n.slice(0,e)].length}if(Bv(n,["array"]))return n.indexOf(t,i);throw new bb(`Expected second argument to be of type array or string, but found ${Fv(Eb(n))} instead.`)}eachChild(e){e(this.needle),e(this.haystack),this.fromIndex&&e(this.fromIndex)}outputDefined(){return!1}}class Gb{constructor(e,t,n,i,r,o){this.inputType=e,this.type=t,this.input=n,this.cases=i,this.outputs=r,this.otherwise=o}static parse(e,t){if(e.length<5)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if(e.length%2!=1)return t.error("Expected an even number of arguments.");let n,i;t.expectedType&&"value"!==t.expectedType.kind&&(i=t.expectedType);const r={},o=[];for(let s=2;s<e.length-1;s+=2){let a=e[s];const l=e[s+1];Array.isArray(a)||(a=[a]);const c=t.concat(s);if(0===a.length)return c.error("Expected at least one branch label.");for(const e of a){if("number"!=typeof e&&"string"!=typeof e)return c.error("Branch labels must be numbers or strings.");if("number"==typeof e&&Math.abs(e)>Number.MAX_SAFE_INTEGER)return c.error(`Branch labels must be integers no larger than ${Number.MAX_SAFE_INTEGER}.`);if("number"==typeof e&&Math.floor(e)!==e)return c.error("Numeric branch labels must be integer values.");if(n){if(c.checkSubtype(n,Eb(e)))return null}else n=Eb(e);if(void 0!==r[String(e)])return c.error("Branch labels must be unique.");r[String(e)]=o.length}const u=t.parse(l,s,i);if(!u)return null;i=i||u.type,o.push(u)}const s=t.parse(e[1],1,Ev);if(!s)return null;const a=t.parse(e[e.length-1],e.length-1,i);return a?"value"!==s.type.kind&&t.concat(1).checkSubtype(n,s.type)?null:new Gb(n,i,s,r,o,a):null}evaluate(e){const t=this.input.evaluate(e);return(Eb(t)===this.inputType&&this.outputs[this.cases[t]]||this.otherwise).evaluate(e)}eachChild(e){e(this.input),this.outputs.forEach(e),e(this.otherwise)}outputDefined(){return this.outputs.every(e=>e.outputDefined())&&this.otherwise.outputDefined()}}class Vb{constructor(e,t,n){this.type=e,this.branches=t,this.otherwise=n}static parse(e,t){if(e.length<4)return t.error(`Expected at least 3 arguments, but found only ${e.length-1}.`);if(e.length%2!=0)return t.error("Expected an odd number of arguments.");let n;t.expectedType&&"value"!==t.expectedType.kind&&(n=t.expectedType);const i=[];for(let r=1;r<e.length-1;r+=2){const o=t.parse(e[r],r,kv);if(!o)return null;const s=t.parse(e[r+1],r+1,n);if(!s)return null;i.push([o,s]),n=n||s.type}const r=t.parse(e[e.length-1],e.length-1,n);if(!r)return null;if(!n)throw new Error("Can't infer output type");return new Vb(n,i,r)}evaluate(e){for(const[t,n]of this.branches)if(t.evaluate(e))return n.evaluate(e);return this.otherwise.evaluate(e)}eachChild(e){for(const[t,n]of this.branches)e(t),e(n);e(this.otherwise)}outputDefined(){return this.branches.every(([e,t])=>t.outputDefined())&&this.otherwise.outputDefined()}}class Wb{constructor(e,t,n,i){this.type=e,this.input=t,this.beginIndex=n,this.endIndex=i}static parse(e,t){if(e.length<=2||e.length>=5)return t.error(`Expected 3 or 4 arguments, but found ${e.length-1} instead.`);const n=t.parse(e[1],1,Ev),i=t.parse(e[2],2,xv);if(!n||!i)return null;if(!Nv(n.type,[Ov(Ev),wv,Ev]))return t.error(`Expected first argument to be of type array or string, but found ${Fv(n.type)} instead`);if(4===e.length){const r=t.parse(e[3],3,xv);return r?new Wb(n.type,n,i,r):null}return new Wb(n.type,n,i)}evaluate(e){const t=this.input.evaluate(e),n=this.beginIndex.evaluate(e);let i;if(this.endIndex&&(i=this.endIndex.evaluate(e)),Bv(t,["string"]))return[...t].slice(n,i).join("");if(Bv(t,["array"]))return t.slice(n,i);throw new bb(`Expected first argument to be of type array or string, but found ${Fv(Eb(t))} instead.`)}eachChild(e){e(this.input),e(this.beginIndex),this.endIndex&&e(this.endIndex)}outputDefined(){return!1}}function Hb(e,t){const n=e.length-1;let i,r,o=0,s=n,a=0;for(;o<=s;)if(a=Math.floor((o+s)/2),i=e[a],r=e[a+1],i<=t){if(a===n||t<r)return a;o=a+1}else{if(!(i>t))throw new bb("Input is not a number.");s=a-1}return 0}class Ub{constructor(e,t,n){this.type=e,this.input=t,this.labels=[],this.outputs=[];for(const[e,t]of n)this.labels.push(e),this.outputs.push(t)}static parse(e,t){if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");const n=t.parse(e[1],1,xv);if(!n)return null;const i=[];let r=null;t.expectedType&&"value"!==t.expectedType.kind&&(r=t.expectedType);for(let n=1;n<e.length;n+=2){const o=1===n?-1/0:e[n],s=e[n+1],a=n,l=n+1;if("number"!=typeof o)return t.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.',a);if(i.length&&i[i.length-1][0]>=o)return t.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.',a);const c=t.parse(s,l,r);if(!c)return null;r=r||c.type,i.push([o,c])}return new Ub(r,n,i)}evaluate(e){const t=this.labels,n=this.outputs;if(1===t.length)return n[0].evaluate(e);const i=this.input.evaluate(e);if(i<=t[0])return n[0].evaluate(e);const r=t.length;return i>=t[r-1]?n[r-1].evaluate(e):n[Hb(t,i)].evaluate(e)}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}}function $b(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Kb,Xb,Zb=function(){if(Xb)return Kb;function e(e,t,n,i){this.cx=3*e,this.bx=3*(n-e)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*t,this.by=3*(i-t)-this.cy,this.ay=1-this.cy-this.by,this.p1x=e,this.p1y=t,this.p2x=n,this.p2y=i}return Xb=1,Kb=e,e.prototype={sampleCurveX:function(e){return((this.ax*e+this.bx)*e+this.cx)*e},sampleCurveY:function(e){return((this.ay*e+this.by)*e+this.cy)*e},sampleCurveDerivativeX:function(e){return(3*this.ax*e+2*this.bx)*e+this.cx},solveCurveX:function(e,t){if(void 0===t&&(t=1e-6),e<0)return 0;if(e>1)return 1;for(var n=e,i=0;i<8;i++){var r=this.sampleCurveX(n)-e;if(Math.abs(r)<t)return n;var o=this.sampleCurveDerivativeX(n);if(Math.abs(o)<1e-6)break;n-=r/o}var s=0,a=1;for(n=e,i=0;i<20&&(r=this.sampleCurveX(n),!(Math.abs(r-e)<t));i++)e>r?s=n:a=n,n=.5*(a-s)+s;return n},solve:function(e,t){return this.sampleCurveY(this.solveCurveX(e,t))}},Kb}(),Yb=$b(Zb);class Qb{constructor(e,t,n,i,r){this.type=e,this.operator=t,this.interpolation=n,this.input=i,this.labels=[],this.outputs=[];for(const[e,t]of r)this.labels.push(e),this.outputs.push(t)}static interpolationFactor(e,t,n,i){let r=0;if("exponential"===e.name)r=Jb(t,e.base,n,i);else if("linear"===e.name)r=Jb(t,1,n,i);else if("cubic-bezier"===e.name){const o=e.controlPoints;r=new Yb(o[0],o[1],o[2],o[3]).solve(Jb(t,1,n,i))}return r}static parse(e,t){let[n,i,r,...o]=e;if(!Array.isArray(i)||0===i.length)return t.error("Expected an interpolation type expression.",1);if("linear"===i[0])i={name:"linear"};else if("exponential"===i[0]){const e=i[1];if("number"!=typeof e)return t.error("Exponential interpolation requires a numeric base.",1,1);i={name:"exponential",base:e}}else{if("cubic-bezier"!==i[0])return t.error(`Unknown interpolation type ${String(i[0])}`,1,0);{const e=i.slice(1);if(4!==e.length||e.some(e=>"number"!=typeof e||e<0||e>1))return t.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.",1);i={name:"cubic-bezier",controlPoints:e}}}if(e.length-1<4)return t.error(`Expected at least 4 arguments, but found only ${e.length-1}.`);if((e.length-1)%2!=0)return t.error("Expected an even number of arguments.");if(r=t.parse(r,2,xv),!r)return null;const s=[];let a=null;"interpolate-hcl"!==n&&"interpolate-lab"!==n||t.expectedType==Pv?t.expectedType&&"value"!==t.expectedType.kind&&(a=t.expectedType):a=Cv;for(let e=0;e<o.length;e+=2){const n=o[e],i=o[e+1],r=e+3,l=e+4;if("number"!=typeof n)return t.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.',r);if(s.length&&s[s.length-1][0]>=n)return t.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.',r);const c=t.parse(i,l,a);if(!c)return null;a=a||c.type,s.push([n,c])}return qv(a,xv)||qv(a,Av)||qv(a,Cv)||qv(a,Mv)||qv(a,Rv)||qv(a,Pv)||qv(a,Lv)||qv(a,Ov(xv))?new Qb(a,n,i,r,s):t.error(`Type ${Fv(a)} is not interpolatable.`)}evaluate(e){const t=this.labels,n=this.outputs;if(1===t.length)return n[0].evaluate(e);const i=this.input.evaluate(e);if(i<=t[0])return n[0].evaluate(e);const r=t.length;if(i>=t[r-1])return n[r-1].evaluate(e);const o=Hb(t,i),s=t[o],a=t[o+1],l=Qb.interpolationFactor(this.interpolation,i,s,a),c=n[o].evaluate(e),u=n[o+1].evaluate(e);switch(this.operator){case"interpolate":switch(this.type.kind){case"number":return ub(c,u,l);case"color":return pb.interpolate(c,u,l);case"padding":return mb.interpolate(c,u,l);case"colorArray":return vb.interpolate(c,u,l);case"numberArray":return yb.interpolate(c,u,l);case"variableAnchorOffsetCollection":return wb.interpolate(c,u,l);case"array":return db(c,u,l);case"projectionDefinition":return Cb.interpolate(c,u,l)}case"interpolate-hcl":switch(this.type.kind){case"color":return pb.interpolate(c,u,l,"hcl");case"colorArray":return vb.interpolate(c,u,l,"hcl")}case"interpolate-lab":switch(this.type.kind){case"color":return pb.interpolate(c,u,l,"lab");case"colorArray":return vb.interpolate(c,u,l,"lab")}}}eachChild(e){e(this.input);for(const t of this.outputs)e(t)}outputDefined(){return this.outputs.every(e=>e.outputDefined())}}function Jb(e,t,n,i){const r=i-n,o=e-n;return 0===r?0:1===t?o/r:(Math.pow(t,o)-1)/(Math.pow(t,r)-1)}pb.interpolate,mb.interpolate,yb.interpolate,vb.interpolate,wb.interpolate;class ex{constructor(e,t){this.type=e,this.args=t}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");let n=null;const i=t.expectedType;i&&"value"!==i.kind&&(n=i);const r=[];for(const i of e.slice(1)){const e=t.parse(i,1+r.length,n,void 0,{typeAnnotation:"omit"});if(!e)return null;n=n||e.type,r.push(e)}if(!n)throw new Error("No output type");const o=i&&r.some(e=>Dv(i,e.type));return new ex(o?Ev:n,r)}evaluate(e){let t,n=null,i=0;for(const r of this.args)if(i++,n=r.evaluate(e),n&&n instanceof kb&&!n.available&&(t||(t=n.name),n=null,i===this.args.length&&(n=t)),null!==n)break;return n}eachChild(e){this.args.forEach(e)}outputDefined(){return this.args.every(e=>e.outputDefined())}}function tx(e,t){return"=="===e||"!="===e?"boolean"===t.kind||"string"===t.kind||"number"===t.kind||"null"===t.kind||"value"===t.kind:"string"===t.kind||"number"===t.kind||"value"===t.kind}function nx(e,t,n,i){return 0===i.compare(t,n)}function ix(e,t,n){const i="=="!==e&&"!="!==e;return class r{constructor(e,t,n){this.type=kv,this.lhs=e,this.rhs=t,this.collator=n,this.hasUntypedArgument="value"===e.type.kind||"value"===t.type.kind}static parse(e,t){if(3!==e.length&&4!==e.length)return t.error("Expected two or three arguments.");const n=e[0];let o=t.parse(e[1],1,Ev);if(!o)return null;if(!tx(n,o.type))return t.concat(1).error(`"${n}" comparisons are not supported for type '${Fv(o.type)}'.`);let s=t.parse(e[2],2,Ev);if(!s)return null;if(!tx(n,s.type))return t.concat(2).error(`"${n}" comparisons are not supported for type '${Fv(s.type)}'.`);if(o.type.kind!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error(`Cannot compare types '${Fv(o.type)}' and '${Fv(s.type)}'.`);i&&("value"===o.type.kind&&"value"!==s.type.kind?o=new Pb(s.type,[o]):"value"!==o.type.kind&&"value"===s.type.kind&&(s=new Pb(o.type,[s])));let a=null;if(4===e.length){if("string"!==o.type.kind&&"string"!==s.type.kind&&"value"!==o.type.kind&&"value"!==s.type.kind)return t.error("Cannot use collator to compare non-string types.");if(a=t.parse(e[3],3,Iv),!a)return null}return new r(o,s,a)}evaluate(r){const o=this.lhs.evaluate(r),s=this.rhs.evaluate(r);if(i&&this.hasUntypedArgument){const t=Eb(o),n=Eb(s);if(t.kind!==n.kind||"string"!==t.kind&&"number"!==t.kind)throw new bb(`Expected arguments for "${e}" to be (string, string) or (number, number), but found (${t.kind}, ${n.kind}) instead.`)}if(this.collator&&!i&&this.hasUntypedArgument){const e=Eb(o),n=Eb(s);if("string"!==e.kind||"string"!==n.kind)return t(r,o,s)}return this.collator?n(r,o,s,this.collator.evaluate(r)):t(r,o,s)}eachChild(e){e(this.lhs),e(this.rhs),this.collator&&e(this.collator)}outputDefined(){return!0}}}const rx=ix("==",function(e,t,n){return t===n},nx),ox=ix("!=",function(e,t,n){return t!==n},function(e,t,n,i){return!nx(0,t,n,i)}),sx=ix("<",function(e,t,n){return t<n},function(e,t,n,i){return i.compare(t,n)<0}),ax=ix(">",function(e,t,n){return t>n},function(e,t,n,i){return i.compare(t,n)>0}),lx=ix("<=",function(e,t,n){return t<=n},function(e,t,n,i){return i.compare(t,n)<=0}),cx=ix(">=",function(e,t,n){return t>=n},function(e,t,n,i){return i.compare(t,n)>=0});class ux{constructor(e,t,n){this.type=Iv,this.locale=n,this.caseSensitive=e,this.diacriticSensitive=t}static parse(e,t){if(2!==e.length)return t.error("Expected one argument.");const n=e[1];if("object"!=typeof n||Array.isArray(n))return t.error("Collator options argument must be an object.");const i=t.parse(void 0!==n["case-sensitive"]&&n["case-sensitive"],1,kv);if(!i)return null;const r=t.parse(void 0!==n["diacritic-sensitive"]&&n["diacritic-sensitive"],1,kv);if(!r)return null;let o=null;return n.locale&&(o=t.parse(n.locale,1,wv),!o)?null:new ux(i,r,o)}evaluate(e){return new hb(this.caseSensitive.evaluate(e),this.diacriticSensitive.evaluate(e),this.locale?this.locale.evaluate(e):null)}eachChild(e){e(this.caseSensitive),e(this.diacriticSensitive),this.locale&&e(this.locale)}outputDefined(){return!1}}class dx{constructor(e,t,n,i,r){this.type=wv,this.number=e,this.locale=t,this.currency=n,this.minFractionDigits=i,this.maxFractionDigits=r}static parse(e,t){if(3!==e.length)return t.error("Expected two arguments.");const n=t.parse(e[1],1,xv);if(!n)return null;const i=e[2];if("object"!=typeof i||Array.isArray(i))return t.error("NumberFormat options argument must be an object.");let r=null;if(i.locale&&(r=t.parse(i.locale,1,wv),!r))return null;let o=null;if(i.currency&&(o=t.parse(i.currency,1,wv),!o))return null;let s=null;if(i["min-fraction-digits"]&&(s=t.parse(i["min-fraction-digits"],1,xv),!s))return null;let a=null;return i["max-fraction-digits"]&&(a=t.parse(i["max-fraction-digits"],1,xv),!a)?null:new dx(n,r,o,s,a)}evaluate(e){return new Intl.NumberFormat(this.locale?this.locale.evaluate(e):[],{style:this.currency?"currency":"decimal",currency:this.currency?this.currency.evaluate(e):void 0,minimumFractionDigits:this.minFractionDigits?this.minFractionDigits.evaluate(e):void 0,maximumFractionDigits:this.maxFractionDigits?this.maxFractionDigits.evaluate(e):void 0}).format(this.number.evaluate(e))}eachChild(e){e(this.number),this.locale&&e(this.locale),this.currency&&e(this.currency),this.minFractionDigits&&e(this.minFractionDigits),this.maxFractionDigits&&e(this.maxFractionDigits)}outputDefined(){return!1}}class px{constructor(e){this.type=Tv,this.sections=e}static parse(e,t){if(e.length<2)return t.error("Expected at least one argument.");const n=e[1];if(!Array.isArray(n)&&"object"==typeof n)return t.error("First argument must be an image or text section.");const i=[];let r=!1;for(let n=1;n<=e.length-1;++n){const o=e[n];if(r&&"object"==typeof o&&!Array.isArray(o)){r=!1;let e=null;if(o["font-scale"]&&(e=t.parse(o["font-scale"],1,xv),!e))return null;let n=null;if(o["text-font"]&&(n=t.parse(o["text-font"],1,Ov(wv)),!n))return null;let s=null;if(o["text-color"]&&(s=t.parse(o["text-color"],1,Cv),!s))return null;let a=null;if(o["vertical-align"]){if("string"==typeof o["vertical-align"]&&!fb.includes(o["vertical-align"]))return t.error(`'vertical-align' must be one of: 'bottom', 'center', 'top' but found '${o["vertical-align"]}' instead.`);if(a=t.parse(o["vertical-align"],1,wv),!a)return null}const l=i[i.length-1];l.scale=e,l.font=n,l.textColor=s,l.verticalAlign=a}else{const o=t.parse(e[n],1,Ev);if(!o)return null;const s=o.type.kind;if("string"!==s&&"value"!==s&&"null"!==s&&"resolvedImage"!==s)return t.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");r=!0,i.push({content:o,scale:null,font:null,textColor:null,verticalAlign:null})}}return new px(i)}evaluate(e){return new gb(this.sections.map(t=>{const n=t.content.evaluate(e);return Eb(n)===zv?new _b("",n,null,null,null,t.verticalAlign?t.verticalAlign.evaluate(e):null):new _b(Ib(n),null,t.scale?t.scale.evaluate(e):null,t.font?t.font.evaluate(e).join(","):null,t.textColor?t.textColor.evaluate(e):null,t.verticalAlign?t.verticalAlign.evaluate(e):null)}))}eachChild(e){for(const t of this.sections)e(t.content),t.scale&&e(t.scale),t.font&&e(t.font),t.textColor&&e(t.textColor),t.verticalAlign&&e(t.verticalAlign)}outputDefined(){return!1}}class hx{constructor(e){this.type=zv,this.input=e}static parse(e,t){if(2!==e.length)return t.error("Expected two arguments.");const n=t.parse(e[1],1,wv);return n?new hx(n):t.error("No image name provided.")}evaluate(e){const t=this.input.evaluate(e),n=kb.fromString(t);return n&&e.availableImages&&(n.available=e.availableImages.indexOf(t)>-1),n}eachChild(e){e(this.input)}outputDefined(){return!1}}class fx{constructor(e){this.type=xv,this.input=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);const n=t.parse(e[1],1);return n?"array"!==n.type.kind&&"string"!==n.type.kind&&"value"!==n.type.kind?t.error(`Expected argument of type string or array, but found ${Fv(n.type)} instead.`):new fx(n):null}evaluate(e){const t=this.input.evaluate(e);if("string"==typeof t)return[...t].length;if(Array.isArray(t))return t.length;throw new bb(`Expected value to be of type string or array, but found ${Fv(Eb(t))} instead.`)}eachChild(e){e(this.input)}outputDefined(){return!1}}const _x=8192;function gx(e,t){const n=(180+e[0])/360,i=(r=e[1],(180-180/Math.PI*Math.log(Math.tan(Math.PI/4+r*Math.PI/360)))/360);var r;const o=Math.pow(2,t.z);return[Math.round(n*o*_x),Math.round(i*o*_x)]}function mx(e,t){const n=Math.pow(2,t.z);return[(r=(e[0]/_x+t.x)/n,360*r-180),(i=(e[1]/_x+t.y)/n,360/Math.PI*Math.atan(Math.exp((180-360*i)*Math.PI/180))-90)];var i,r}function yx(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.max(e[2],t[0]),e[3]=Math.max(e[3],t[1])}function vx(e,t){return!(e[0]<=t[0]||e[2]>=t[2]||e[1]<=t[1]||e[3]>=t[3])}function bx(e,t,n){return t[1]>e[1]!=n[1]>e[1]&&e[0]<(n[0]-t[0])*(e[1]-t[1])/(n[1]-t[1])+t[0]}function xx(e,t,n){const i=e[0]-t[0],r=e[1]-t[1],o=e[0]-n[0],s=e[1]-n[1];return i*s-o*r===0&&i*o<=0&&r*s<=0}function wx(e,t,n,i){const r=[t[0]-e[0],t[1]-e[1]];return 0!==(o=[i[0]-n[0],i[1]-n[1]])[0]*(s=r)[1]-o[1]*s[0]&&!(!Ix(e,t,n,i)||!Ix(n,i,e,t));var o,s}function kx(e,t,n){for(const i of n)for(let n=0;n<i.length-1;++n)if(wx(e,t,i[n],i[n+1]))return!0;return!1}function Cx(e,t,n=!1){let i=!1;for(const r of t)for(let t=0;t<r.length-1;t++){if(xx(e,r[t],r[t+1]))return n;bx(e,r[t],r[t+1])&&(i=!i)}return i}function Ax(e,t){for(const n of t)if(Cx(e,n))return!0;return!1}function Sx(e,t){for(const n of e)if(!Cx(n,t))return!1;for(let n=0;n<e.length-1;++n)if(kx(e[n],e[n+1],t))return!1;return!0}function Ex(e,t){for(const n of t)if(Sx(e,n))return!0;return!1}function Ix(e,t,n,i){const r=e[0]-n[0],o=e[1]-n[1],s=t[0]-n[0],a=t[1]-n[1],l=i[0]-n[0],c=i[1]-n[1],u=r*c-l*o,d=s*c-l*a;return u>0&&d<0||u<0&&d>0}function Tx(e,t,n){const i=[];for(let r=0;r<e.length;r++){const o=[];for(let i=0;i<e[r].length;i++){const s=gx(e[r][i],n);yx(t,s),o.push(s)}i.push(o)}return i}function Mx(e,t,n){const i=[];for(let r=0;r<e.length;r++){const o=Tx(e[r],t,n);i.push(o)}return i}function Px(e,t,n,i){if(e[0]<n[0]||e[0]>n[2]){const t=.5*i;let r=e[0]-n[0]>t?-i:n[0]-e[0]>t?i:0;0===r&&(r=e[0]-n[2]>t?-i:n[2]-e[0]>t?i:0),e[0]+=r}yx(t,e)}function Rx(e,t,n,i){const r=Math.pow(2,i.z)*_x,o=[i.x*_x,i.y*_x],s=[];for(const i of e)for(const e of i){const i=[e.x+o[0],e.y+o[1]];Px(i,t,n,r),s.push(i)}return s}function zx(e,t,n,i){const r=Math.pow(2,i.z)*_x,o=[i.x*_x,i.y*_x],s=[];for(const n of e){const e=[];for(const i of n){const n=[i.x+o[0],i.y+o[1]];yx(t,n),e.push(n)}s.push(e)}if(t[2]-t[0]<=r/2){!function(e){e[0]=e[1]=1/0,e[2]=e[3]=-1/0}(t);for(const e of s)for(const i of e)Px(i,t,n,r)}return s}class Lx{constructor(e,t){this.type=kv,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'within' expression requires exactly one argument, but found ${e.length-1} instead.`);if(Sb(e[1])){const t=e[1];if("FeatureCollection"===t.type){const e=[];for(const n of t.features){const{type:t,coordinates:i}=n.geometry;"Polygon"===t&&e.push(i),"MultiPolygon"===t&&e.push(...i)}if(e.length)return new Lx(t,{type:"MultiPolygon",coordinates:e})}else if("Feature"===t.type){const e=t.geometry.type;if("Polygon"===e||"MultiPolygon"===e)return new Lx(t,t.geometry)}else if("Polygon"===t.type||"MultiPolygon"===t.type)return new Lx(t,t)}return t.error("'within' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=e.canonicalID();if("Polygon"===t.type){const o=Tx(t.coordinates,i,r),s=Rx(e.geometry(),n,i,r);if(!vx(n,i))return!1;for(const e of s)if(!Cx(e,o))return!1}if("MultiPolygon"===t.type){const o=Mx(t.coordinates,i,r),s=Rx(e.geometry(),n,i,r);if(!vx(n,i))return!1;for(const e of s)if(!Ax(e,o))return!1}return!0}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){const n=[1/0,1/0,-1/0,-1/0],i=[1/0,1/0,-1/0,-1/0],r=e.canonicalID();if("Polygon"===t.type){const o=Tx(t.coordinates,i,r),s=zx(e.geometry(),n,i,r);if(!vx(n,i))return!1;for(const e of s)if(!Sx(e,o))return!1}if("MultiPolygon"===t.type){const o=Mx(t.coordinates,i,r),s=zx(e.geometry(),n,i,r);if(!vx(n,i))return!1;for(const e of s)if(!Ex(e,o))return!1}return!0}(e,this.geometries)}return!1}eachChild(){}outputDefined(){return!0}}class Ox{constructor(e=[],t=(e,t)=>e<t?-1:e>t?1:0){if(this.data=e,this.length=this.data.length,this.compare=t,this.length>0)for(let e=(this.length>>1)-1;e>=0;e--)this._down(e)}push(e){this.data.push(e),this._up(this.length++)}pop(){if(0===this.length)return;const e=this.data[0],t=this.data.pop();return--this.length>0&&(this.data[0]=t,this._down(0)),e}peek(){return this.data[0]}_up(e){const{data:t,compare:n}=this,i=t[e];for(;e>0;){const r=e-1>>1,o=t[r];if(n(i,o)>=0)break;t[e]=o,e=r}t[e]=i}_down(e){const{data:t,compare:n}=this,i=this.length>>1,r=t[e];for(;e<i;){let i=1+(e<<1);const o=i+1;if(o<this.length&&n(t[o],t[i])<0&&(i=o),n(t[i],r)>=0)break;t[e]=t[i],e=i}t[e]=r}}function Fx(e){let t=0;for(let n,i,r=0,o=e.length,s=o-1;r<o;s=r++)n=e[r],i=e[s],t+=(i.x-n.x)*(n.y+i.y);return t}const jx=1/298.257223563,Dx=jx*(2-jx),Nx=Math.PI/180;class Bx{constructor(e){const t=6378.137*Nx*1e3,n=Math.cos(e*Nx),i=1/(1-Dx*(1-n*n)),r=Math.sqrt(i);this.kx=t*r*n,this.ky=t*r*i*(1-Dx)}distance(e,t){const n=this.wrap(e[0]-t[0])*this.kx,i=(e[1]-t[1])*this.ky;return Math.sqrt(n*n+i*i)}pointOnLine(e,t){let n,i,r,o,s=1/0;for(let a=0;a<e.length-1;a++){let l=e[a][0],c=e[a][1],u=this.wrap(e[a+1][0]-l)*this.kx,d=(e[a+1][1]-c)*this.ky,p=0;0===u&&0===d||(p=(this.wrap(t[0]-l)*this.kx*u+(t[1]-c)*this.ky*d)/(u*u+d*d),p>1?(l=e[a+1][0],c=e[a+1][1]):p>0&&(l+=u/this.kx*p,c+=d/this.ky*p)),u=this.wrap(t[0]-l)*this.kx,d=(t[1]-c)*this.ky;const h=u*u+d*d;h<s&&(s=h,n=l,i=c,r=a,o=p)}return{point:[n,i],index:r,t:Math.max(0,Math.min(1,o))}}wrap(e){for(;e<-180;)e+=360;for(;e>180;)e-=360;return e}}function qx(e,t){return t[0]-e[0]}function Gx(e){return e[1]-e[0]+1}function Vx(e,t){return e[1]>=e[0]&&e[1]<t}function Wx(e,t){if(e[0]>e[1])return[null,null];const n=Gx(e);if(t){if(2===n)return[e,null];const t=Math.floor(n/2);return[[e[0],e[0]+t],[e[0]+t,e[1]]]}if(1===n)return[e,null];const i=Math.floor(n/2)-1;return[[e[0],e[0]+i],[e[0]+i+1,e[1]]]}function Hx(e,t){if(!Vx(t,e.length))return[1/0,1/0,-1/0,-1/0];const n=[1/0,1/0,-1/0,-1/0];for(let i=t[0];i<=t[1];++i)yx(n,e[i]);return n}function Ux(e){const t=[1/0,1/0,-1/0,-1/0];for(const n of e)for(const e of n)yx(t,e);return t}function $x(e){return e[0]!==-1/0&&e[1]!==-1/0&&e[2]!==1/0&&e[3]!==1/0}function Kx(e,t,n){if(!$x(e)||!$x(t))return NaN;let i=0,r=0;return e[2]<t[0]&&(i=t[0]-e[2]),e[0]>t[2]&&(i=e[0]-t[2]),e[1]>t[3]&&(r=e[1]-t[3]),e[3]<t[1]&&(r=t[1]-e[3]),n.distance([0,0],[i,r])}function Xx(e,t,n){const i=n.pointOnLine(t,e);return n.distance(e,i.point)}function Zx(e,t,n,i,r){const o=Math.min(Xx(e,[n,i],r),Xx(t,[n,i],r)),s=Math.min(Xx(n,[e,t],r),Xx(i,[e,t],r));return Math.min(o,s)}function Yx(e,t,n,i,r){if(!Vx(t,e.length)||!Vx(i,n.length))return 1/0;let o=1/0;for(let s=t[0];s<t[1];++s){const t=e[s],a=e[s+1];for(let e=i[0];e<i[1];++e){const i=n[e],s=n[e+1];if(wx(t,a,i,s))return 0;o=Math.min(o,Zx(t,a,i,s,r))}}return o}function Qx(e,t,n,i,r){if(!Vx(t,e.length)||!Vx(i,n.length))return NaN;let o=1/0;for(let s=t[0];s<=t[1];++s)for(let t=i[0];t<=i[1];++t)if(o=Math.min(o,r.distance(e[s],n[t])),0===o)return o;return o}function Jx(e,t,n){if(Cx(e,t,!0))return 0;let i=1/0;for(const r of t){const t=r[0],o=r[r.length-1];if(t!==o&&(i=Math.min(i,Xx(e,[o,t],n)),0===i))return i;const s=n.pointOnLine(r,e);if(i=Math.min(i,n.distance(e,s.point)),0===i)return i}return i}function ew(e,t,n,i){if(!Vx(t,e.length))return NaN;for(let i=t[0];i<=t[1];++i)if(Cx(e[i],n,!0))return 0;let r=1/0;for(let o=t[0];o<t[1];++o){const t=e[o],s=e[o+1];for(const e of n)for(let n=0,o=e.length,a=o-1;n<o;a=n++){const o=e[a],l=e[n];if(wx(t,s,o,l))return 0;r=Math.min(r,Zx(t,s,o,l,i))}}return r}function tw(e,t){for(const n of e)for(const e of n)if(Cx(e,t,!0))return!0;return!1}function nw(e,t,n,i=1/0){const r=Ux(e),o=Ux(t);if(i!==1/0&&Kx(r,o,n)>=i)return i;if(vx(r,o)){if(tw(e,t))return 0}else if(tw(t,e))return 0;let s=1/0;for(const i of e)for(let e=0,r=i.length,o=r-1;e<r;o=e++){const r=i[o],a=i[e];for(const e of t)for(let t=0,i=e.length,o=i-1;t<i;o=t++){const i=e[o],l=e[t];if(wx(r,a,i,l))return 0;s=Math.min(s,Zx(r,a,i,l,n))}}return s}function iw(e,t,n,i,r,o){if(!o)return;const s=Kx(Hx(i,o),r,n);s<t&&e.push([s,o,[0,0]])}function rw(e,t,n,i,r,o,s){if(!o||!s)return;const a=Kx(Hx(i,o),Hx(r,s),n);a<t&&e.push([a,o,s])}function ow(e,t,n,i,r=1/0){let o=Math.min(i.distance(e[0],n[0][0]),r);if(0===o)return o;const s=new Ox([[0,[0,e.length-1],[0,0]]],qx),a=Ux(n);for(;s.length>0;){const r=s.pop();if(r[0]>=o)continue;const l=r[1],c=t?50:100;if(Gx(l)<=c){if(!Vx(l,e.length))return NaN;if(t){const t=ew(e,l,n,i);if(isNaN(t)||0===t)return t;o=Math.min(o,t)}else for(let t=l[0];t<=l[1];++t){const r=Jx(e[t],n,i);if(o=Math.min(o,r),0===o)return 0}}else{const n=Wx(l,t);iw(s,o,i,e,a,n[0]),iw(s,o,i,e,a,n[1])}}return o}function sw(e,t,n,i,r,o=1/0){let s=Math.min(o,r.distance(e[0],n[0]));if(0===s)return s;const a=new Ox([[0,[0,e.length-1],[0,n.length-1]]],qx);for(;a.length>0;){const o=a.pop();if(o[0]>=s)continue;const l=o[1],c=o[2],u=t?50:100,d=i?50:100;if(Gx(l)<=u&&Gx(c)<=d){if(!Vx(l,e.length)&&Vx(c,n.length))return NaN;let o;if(t&&i)o=Yx(e,l,n,c,r),s=Math.min(s,o);else if(t&&!i){const t=e.slice(l[0],l[1]+1);for(let e=c[0];e<=c[1];++e)if(o=Xx(n[e],t,r),s=Math.min(s,o),0===s)return s}else if(!t&&i){const t=n.slice(c[0],c[1]+1);for(let n=l[0];n<=l[1];++n)if(o=Xx(e[n],t,r),s=Math.min(s,o),0===s)return s}else o=Qx(e,l,n,c,r),s=Math.min(s,o)}else{const o=Wx(l,t),u=Wx(c,i);rw(a,s,r,e,n,o[0],u[0]),rw(a,s,r,e,n,o[0],u[1]),rw(a,s,r,e,n,o[1],u[0]),rw(a,s,r,e,n,o[1],u[1])}}return s}function aw(e){return"MultiPolygon"===e.type?e.coordinates.map(e=>({type:"Polygon",coordinates:e})):"MultiLineString"===e.type?e.coordinates.map(e=>({type:"LineString",coordinates:e})):"MultiPoint"===e.type?e.coordinates.map(e=>({type:"Point",coordinates:e})):[e]}class lw{constructor(e,t){this.type=xv,this.geojson=e,this.geometries=t}static parse(e,t){if(2!==e.length)return t.error(`'distance' expression requires exactly one argument, but found ${e.length-1} instead.`);if(Sb(e[1])){const t=e[1];if("FeatureCollection"===t.type)return new lw(t,t.features.map(e=>aw(e.geometry)).flat());if("Feature"===t.type)return new lw(t,aw(t.geometry));if("type"in t&&"coordinates"in t)return new lw(t,aw(t))}return t.error("'distance' expression requires valid geojson object that contains polygon geometry type.")}evaluate(e){if(null!=e.geometry()&&null!=e.canonicalID()){if("Point"===e.geometryType())return function(e,t){const n=e.geometry(),i=n.flat().map(t=>mx([t.x,t.y],e.canonical));if(0===n.length)return NaN;const r=new Bx(i[0][1]);let o=1/0;for(const e of t){switch(e.type){case"Point":o=Math.min(o,sw(i,!1,[e.coordinates],!1,r,o));break;case"LineString":o=Math.min(o,sw(i,!1,e.coordinates,!0,r,o));break;case"Polygon":o=Math.min(o,ow(i,!1,e.coordinates,r,o))}if(0===o)return o}return o}(e,this.geometries);if("LineString"===e.geometryType())return function(e,t){const n=e.geometry(),i=n.flat().map(t=>mx([t.x,t.y],e.canonical));if(0===n.length)return NaN;const r=new Bx(i[0][1]);let o=1/0;for(const e of t){switch(e.type){case"Point":o=Math.min(o,sw(i,!0,[e.coordinates],!1,r,o));break;case"LineString":o=Math.min(o,sw(i,!0,e.coordinates,!0,r,o));break;case"Polygon":o=Math.min(o,ow(i,!0,e.coordinates,r,o))}if(0===o)return o}return o}(e,this.geometries);if("Polygon"===e.geometryType())return function(e,t){const n=e.geometry();if(0===n.length||0===n[0].length)return NaN;const i=function(e){if(e.length<=1)return[e];const t=[];let n,i;for(const r of e){const e=Fx(r);0!==e&&(r.area=Math.abs(e),void 0===i&&(i=e<0),i===e<0?(n&&t.push(n),n=[r]):n.push(r))}return n&&t.push(n),t}(n).map(t=>t.map(t=>t.map(t=>mx([t.x,t.y],e.canonical)))),r=new Bx(i[0][0][0][1]);let o=1/0;for(const e of t)for(const t of i){switch(e.type){case"Point":o=Math.min(o,ow([e.coordinates],!1,t,r,o));break;case"LineString":o=Math.min(o,ow(e.coordinates,!0,t,r,o));break;case"Polygon":o=Math.min(o,nw(t,e.coordinates,r,o))}if(0===o)return o}return o}(e,this.geometries)}return NaN}eachChild(){}outputDefined(){return!0}}class cw{constructor(e){this.type=Ev,this.key=e}static parse(e,t){if(2!==e.length)return t.error(`Expected 1 argument, but found ${e.length-1} instead.`);const n=e[1];return null==n?t.error("Global state property must be defined."):"string"!=typeof n?t.error(`Global state property must be string, but found ${typeof e[1]} instead.`):new cw(n)}evaluate(e){var t;const n=null===(t=e.globals)||void 0===t?void 0:t.globalState;return n&&0!==Object.keys(n).length?rb(n,this.key):null}eachChild(){}outputDefined(){return!1}}const uw={"==":rx,"!=":ox,">":ax,"<":sx,">=":cx,"<=":lx,array:Pb,at:Nb,boolean:Pb,case:Vb,coalesce:ex,collator:ux,format:px,image:hx,in:Bb,"index-of":qb,interpolate:Qb,"interpolate-hcl":Qb,"interpolate-lab":Qb,length:fx,let:jb,literal:Tb,match:Gb,number:Pb,"number-format":dx,object:Pb,slice:Wb,step:Ub,string:Pb,"to-boolean":zb,"to-color":zb,"to-number":zb,"to-string":zb,var:Db,within:Lx,distance:lw,"global-state":cw};class dw{constructor(e,t,n,i){this.name=e,this.type=t,this._evaluate=n,this.args=i}evaluate(e){return this._evaluate(e,this.args)}eachChild(e){this.args.forEach(e)}outputDefined(){return!1}static parse(e,t){const n=e[0],i=dw.definitions[n];if(!i)return t.error(`Unknown expression "${n}". If you wanted a literal array, use ["literal", [...]].`,0);const r=Array.isArray(i)?i[0]:i.type,o=Array.isArray(i)?[[i[1],i[2]]]:i.overloads,s=o.filter(([t])=>!Array.isArray(t)||t.length===e.length-1);let a=null;for(const[i,o]of s){a=new Fb(t.registry,gw,t.path,null,t.scope);const s=[];let l=!1;for(let t=1;t<e.length;t++){const n=e[t],r=Array.isArray(i)?i[t-1]:i.type,o=a.parse(n,1+s.length,r);if(!o){l=!0;break}s.push(o)}if(!l)if(Array.isArray(i)&&i.length!==s.length)a.error(`Expected ${i.length} arguments, but found ${s.length} instead.`);else{for(let e=0;e<s.length;e++){const t=Array.isArray(i)?i[e]:i.type,n=s[e];a.concat(e+1).checkSubtype(t,n.type)}if(0===a.errors.length)return new dw(n,r,o,s)}}if(1===s.length)t.errors.push(...a.errors);else{const n=(s.length?s:o).map(([e])=>{return t=e,Array.isArray(t)?`(${t.map(Fv).join(", ")})`:`(${Fv(t.type)}...)`;var t}).join(" | "),i=[];for(let n=1;n<e.length;n++){const r=t.parse(e[n],1+i.length);if(!r)return null;i.push(Fv(r.type))}t.error(`Expected arguments of type ${n}, but found (${i.join(", ")}) instead.`)}return null}static register(e,t){dw.definitions=t;for(const n in t)e[n]=dw}}function pw(e,[t,n,i,r]){t=t.evaluate(e),n=n.evaluate(e),i=i.evaluate(e);const o=r?r.evaluate(e):1,s=Ab(t,n,i,o);if(s)throw new bb(s);return new pb(t/255,n/255,i/255,o,!1)}function hw(e,t){return e in t}function fw(e,t){const n=t[e];return void 0===n?null:n}function _w(e){return{type:e}}function gw(e){if(e instanceof Db)return gw(e.boundExpression);if(e instanceof dw&&"error"===e.name)return!1;if(e instanceof ux)return!1;if(e instanceof Lx)return!1;if(e instanceof lw)return!1;if(e instanceof cw)return!1;const t=e instanceof zb||e instanceof Pb;let n=!0;return e.eachChild(e=>{n=t?n&&gw(e):n&&e instanceof Tb}),!!n&&mw(e)&&vw(e,["zoom","heatmap-density","elevation","line-progress","accumulated","is-supported-script"])}function mw(e){if(e instanceof dw){if("get"===e.name&&1===e.args.length)return!1;if("feature-state"===e.name)return!1;if("has"===e.name&&1===e.args.length)return!1;if("properties"===e.name||"geometry-type"===e.name||"id"===e.name)return!1;if(/^filter-/.test(e.name))return!1}if(e instanceof Lx)return!1;if(e instanceof lw)return!1;let t=!0;return e.eachChild(e=>{t&&!mw(e)&&(t=!1)}),t}function yw(e){if(e instanceof dw&&"feature-state"===e.name)return!1;let t=!0;return e.eachChild(e=>{t&&!yw(e)&&(t=!1)}),t}function vw(e,t){if(e instanceof dw&&t.indexOf(e.name)>=0)return!1;let n=!0;return e.eachChild(e=>{n&&!vw(e,t)&&(n=!1)}),n}function bw(e){return{result:"success",value:e}}function xw(e){return{result:"error",value:e}}function ww(e){return"data-driven"===e["property-type"]||"cross-faded-data-driven"===e["property-type"]}function kw(e){return!!e.expression&&e.expression.parameters.indexOf("zoom")>-1}function Cw(e){return!!e.expression&&e.expression.interpolated}function Aw(e){return e instanceof Number?"number":e instanceof String?"string":e instanceof Boolean?"boolean":Array.isArray(e)?"array":null===e?"null":typeof e}function Sw(e){return"object"==typeof e&&null!==e&&!Array.isArray(e)&&Eb(e)===Sv}dw.register(uw,{error:[{kind:"error"},[wv],(e,[t])=>{throw new bb(t.evaluate(e))}],typeof:[wv,[Ev],(e,[t])=>Fv(Eb(t.evaluate(e)))],"to-rgba":[Ov(xv,4),[Cv],(e,[t])=>{const[n,i,r,o]=t.evaluate(e).rgb;return[255*n,255*i,255*r,o]}],rgb:[Cv,[xv,xv,xv],pw],rgba:[Cv,[xv,xv,xv,xv],pw],has:{type:kv,overloads:[[[wv],(e,[t])=>hw(t.evaluate(e),e.properties())],[[wv,Sv],(e,[t,n])=>hw(t.evaluate(e),n.evaluate(e))]]},get:{type:Ev,overloads:[[[wv],(e,[t])=>fw(t.evaluate(e),e.properties())],[[wv,Sv],(e,[t,n])=>fw(t.evaluate(e),n.evaluate(e))]]},"feature-state":[Ev,[wv],(e,[t])=>fw(t.evaluate(e),e.featureState||{})],properties:[Sv,[],e=>e.properties()],"geometry-type":[wv,[],e=>e.geometryType()],id:[Ev,[],e=>e.id()],zoom:[xv,[],e=>e.globals.zoom],"heatmap-density":[xv,[],e=>e.globals.heatmapDensity||0],elevation:[xv,[],e=>e.globals.elevation||0],"line-progress":[xv,[],e=>e.globals.lineProgress||0],accumulated:[Ev,[],e=>void 0===e.globals.accumulated?null:e.globals.accumulated],"+":[xv,_w(xv),(e,t)=>{let n=0;for(const i of t)n+=i.evaluate(e);return n}],"*":[xv,_w(xv),(e,t)=>{let n=1;for(const i of t)n*=i.evaluate(e);return n}],"-":{type:xv,overloads:[[[xv,xv],(e,[t,n])=>t.evaluate(e)-n.evaluate(e)],[[xv],(e,[t])=>-t.evaluate(e)]]},"/":[xv,[xv,xv],(e,[t,n])=>t.evaluate(e)/n.evaluate(e)],"%":[xv,[xv,xv],(e,[t,n])=>t.evaluate(e)%n.evaluate(e)],ln2:[xv,[],()=>Math.LN2],pi:[xv,[],()=>Math.PI],e:[xv,[],()=>Math.E],"^":[xv,[xv,xv],(e,[t,n])=>Math.pow(t.evaluate(e),n.evaluate(e))],sqrt:[xv,[xv],(e,[t])=>Math.sqrt(t.evaluate(e))],log10:[xv,[xv],(e,[t])=>Math.log(t.evaluate(e))/Math.LN10],ln:[xv,[xv],(e,[t])=>Math.log(t.evaluate(e))],log2:[xv,[xv],(e,[t])=>Math.log(t.evaluate(e))/Math.LN2],sin:[xv,[xv],(e,[t])=>Math.sin(t.evaluate(e))],cos:[xv,[xv],(e,[t])=>Math.cos(t.evaluate(e))],tan:[xv,[xv],(e,[t])=>Math.tan(t.evaluate(e))],asin:[xv,[xv],(e,[t])=>Math.asin(t.evaluate(e))],acos:[xv,[xv],(e,[t])=>Math.acos(t.evaluate(e))],atan:[xv,[xv],(e,[t])=>Math.atan(t.evaluate(e))],min:[xv,_w(xv),(e,t)=>Math.min(...t.map(t=>t.evaluate(e)))],max:[xv,_w(xv),(e,t)=>Math.max(...t.map(t=>t.evaluate(e)))],abs:[xv,[xv],(e,[t])=>Math.abs(t.evaluate(e))],round:[xv,[xv],(e,[t])=>{const n=t.evaluate(e);return n<0?-Math.round(-n):Math.round(n)}],floor:[xv,[xv],(e,[t])=>Math.floor(t.evaluate(e))],ceil:[xv,[xv],(e,[t])=>Math.ceil(t.evaluate(e))],"filter-==":[kv,[wv,Ev],(e,[t,n])=>e.properties()[t.value]===n.value],"filter-id-==":[kv,[Ev],(e,[t])=>e.id()===t.value],"filter-type-==":[kv,[wv],(e,[t])=>e.geometryType()===t.value],"filter-<":[kv,[wv,Ev],(e,[t,n])=>{const i=e.properties()[t.value],r=n.value;return typeof i==typeof r&&i<r}],"filter-id-<":[kv,[Ev],(e,[t])=>{const n=e.id(),i=t.value;return typeof n==typeof i&&n<i}],"filter->":[kv,[wv,Ev],(e,[t,n])=>{const i=e.properties()[t.value],r=n.value;return typeof i==typeof r&&i>r}],"filter-id->":[kv,[Ev],(e,[t])=>{const n=e.id(),i=t.value;return typeof n==typeof i&&n>i}],"filter-<=":[kv,[wv,Ev],(e,[t,n])=>{const i=e.properties()[t.value],r=n.value;return typeof i==typeof r&&i<=r}],"filter-id-<=":[kv,[Ev],(e,[t])=>{const n=e.id(),i=t.value;return typeof n==typeof i&&n<=i}],"filter->=":[kv,[wv,Ev],(e,[t,n])=>{const i=e.properties()[t.value],r=n.value;return typeof i==typeof r&&i>=r}],"filter-id->=":[kv,[Ev],(e,[t])=>{const n=e.id(),i=t.value;return typeof n==typeof i&&n>=i}],"filter-has":[kv,[Ev],(e,[t])=>t.value in e.properties()],"filter-has-id":[kv,[],e=>null!==e.id()&&void 0!==e.id()],"filter-type-in":[kv,[Ov(wv)],(e,[t])=>t.value.indexOf(e.geometryType())>=0],"filter-id-in":[kv,[Ov(Ev)],(e,[t])=>t.value.indexOf(e.id())>=0],"filter-in-small":[kv,[wv,Ov(Ev)],(e,[t,n])=>n.value.indexOf(e.properties()[t.value])>=0],"filter-in-large":[kv,[wv,Ov(Ev)],(e,[t,n])=>function(e,t,n,i){for(;n<=i;){const r=n+i>>1;if(t[r]===e)return!0;t[r]>e?i=r-1:n=r+1}return!1}(e.properties()[t.value],n.value,0,n.value.length-1)],all:{type:kv,overloads:[[[kv,kv],(e,[t,n])=>t.evaluate(e)&&n.evaluate(e)],[_w(kv),(e,t)=>{for(const n of t)if(!n.evaluate(e))return!1;return!0}]]},any:{type:kv,overloads:[[[kv,kv],(e,[t,n])=>t.evaluate(e)||n.evaluate(e)],[_w(kv),(e,t)=>{for(const n of t)if(n.evaluate(e))return!0;return!1}]]},"!":[kv,[kv],(e,[t])=>!t.evaluate(e)],"is-supported-script":[kv,[wv],(e,[t])=>{const n=e.globals&&e.globals.isSupportedScript;return!n||n(t.evaluate(e))}],upcase:[wv,[wv],(e,[t])=>t.evaluate(e).toUpperCase()],downcase:[wv,[wv],(e,[t])=>t.evaluate(e).toLowerCase()],concat:[wv,_w(Ev),(e,t)=>t.map(t=>Ib(t.evaluate(e))).join("")],"resolved-locale":[wv,[Iv],(e,[t])=>t.evaluate(e).resolvedLocale()]});class Ew{constructor(e,t){this.expression=e,this._warningHistory={},this._evaluator=new Ob,this._defaultValue=t?function(e){if("color"===e.type&&Sw(e.default))return new pb(0,0,0,0);switch(e.type){case"color":return pb.parse(e.default)||null;case"padding":return mb.parse(e.default)||null;case"numberArray":return yb.parse(e.default)||null;case"colorArray":return vb.parse(e.default)||null;case"variableAnchorOffsetCollection":return wb.parse(e.default)||null;case"projectionDefinition":return Cb.parse(e.default)||null;default:return void 0===e.default?null:e.default}}(t):null,this._enumValues=t&&"enum"===t.type?t.values:null}evaluateWithoutErrorHandling(e,t,n,i,r,o){return this._evaluator.globals=e,this._evaluator.feature=t,this._evaluator.featureState=n,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=o,this.expression.evaluate(this._evaluator)}evaluate(e,t,n,i,r,o){this._evaluator.globals=e,this._evaluator.feature=t||null,this._evaluator.featureState=n||null,this._evaluator.canonical=i,this._evaluator.availableImages=r||null,this._evaluator.formattedSection=o||null;try{const e=this.expression.evaluate(this._evaluator);if(null==e||"number"==typeof e&&e!=e)return this._defaultValue;if(this._enumValues&&!(e in this._enumValues))throw new bb(`Expected value to be one of ${Object.keys(this._enumValues).map(e=>JSON.stringify(e)).join(", ")}, but found ${JSON.stringify(e)} instead.`);return e}catch(e){return this._warningHistory[e.message]||(this._warningHistory[e.message]=!0,"undefined"!=typeof console&&console.warn(e.message)),this._defaultValue}}}function Iw(e){return Array.isArray(e)&&e.length>0&&"string"==typeof e[0]&&e[0]in uw}function Tw(e,t){const n=new Fb(uw,gw,[],t?function(e){const t={color:Cv,string:wv,number:xv,enum:wv,boolean:kv,formatted:Tv,padding:Mv,numberArray:Rv,colorArray:Pv,projectionDefinition:Av,resolvedImage:zv,variableAnchorOffsetCollection:Lv};return"array"===e.type?Ov(t[e.value]||Ev,e.length):t[e.type]}(t):void 0),i=n.parse(e,void 0,void 0,void 0,t&&"string"===t.type?{typeAnnotation:"coerce"}:void 0);return i?bw(new Ew(i,t)):xw(n.errors)}class Mw{constructor(e,t){this.kind=e,this._styleExpression=t,this.isStateDependent="constant"!==e&&!yw(t.expression),this.globalStateRefs=Lw(t.expression)}evaluateWithoutErrorHandling(e,t,n,i,r,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,n,i,r,o)}evaluate(e,t,n,i,r,o){return this._styleExpression.evaluate(e,t,n,i,r,o)}}class Pw{constructor(e,t,n,i){this.kind=e,this.zoomStops=n,this._styleExpression=t,this.isStateDependent="camera"!==e&&!yw(t.expression),this.globalStateRefs=Lw(t.expression),this.interpolationType=i}evaluateWithoutErrorHandling(e,t,n,i,r,o){return this._styleExpression.evaluateWithoutErrorHandling(e,t,n,i,r,o)}evaluate(e,t,n,i,r,o){return this._styleExpression.evaluate(e,t,n,i,r,o)}interpolationFactor(e,t,n){return this.interpolationType?Qb.interpolationFactor(this.interpolationType,e,t,n):0}}function Rw(e,t){const n=Tw(e,t);if("error"===n.result)return n;const i=n.value.expression,r=mw(i);if(!r&&!ww(t))return xw([new yv("","data expressions not supported")]);const o=vw(i,["zoom"]);if(!o&&!kw(t))return xw([new yv("","zoom expressions not supported")]);const s=zw(i);if(!s&&!o)return xw([new yv("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);if(s instanceof yv)return xw([s]);if(s instanceof Qb&&!Cw(t))return xw([new yv("",'"interpolate" expressions cannot be used with this property')]);if(!s)return bw(new Mw(r?"constant":"source",n.value));const a=s instanceof Qb?s.interpolation:void 0;return bw(new Pw(r?"camera":"composite",n.value,s.labels,a))}function zw(e){let t=null;if(e instanceof jb)t=zw(e.result);else if(e instanceof ex){for(const n of e.args)if(t=zw(n),t)break}else(e instanceof Ub||e instanceof Qb)&&e.input instanceof dw&&"zoom"===e.input.name&&(t=e);return t instanceof yv||e.eachChild(e=>{const n=zw(e);n instanceof yv?t=n:!t&&n?t=new yv("",'"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.'):t&&n&&t!==n&&(t=new yv("",'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))}),t}function Lw(e,t=new Set){return e instanceof cw&&t.add(e.key),e.eachChild(e=>{Lw(e,t)}),t}function Ow(e){if(!0===e||!1===e)return!0;if(!Array.isArray(e)||0===e.length)return!1;switch(e[0]){case"has":return e.length>=2&&"$id"!==e[1]&&"$type"!==e[1];case"in":return e.length>=3&&("string"!=typeof e[1]||Array.isArray(e[2]));case"!in":case"!has":case"none":return!1;case"==":case"!=":case">":case">=":case"<":case"<=":return 3!==e.length||Array.isArray(e[1])||Array.isArray(e[2]);case"any":case"all":for(const t of e.slice(1))if(!Ow(t)&&"boolean"!=typeof t)return!1;return!0;default:return!0}}const Fw={type:"boolean",default:!1,transition:!1,"property-type":"data-driven",expression:{interpolated:!1,parameters:["zoom","feature"]}};function jw(e,t){return e<t?-1:e>t?1:0}function Dw(e){if(!Array.isArray(e))return!1;if("within"===e[0]||"distance"===e[0])return!0;for(let t=1;t<e.length;t++)if(Dw(e[t]))return!0;return!1}function Nw(e){if(!e)return!0;const t=e[0];return e.length<=1?"any"!==t:"=="===t?Bw(e[1],e[2],"=="):"!="===t?Vw(Bw(e[1],e[2],"==")):"<"===t||">"===t||"<="===t||">="===t?Bw(e[1],e[2],t):"any"===t?(n=e.slice(1),["any"].concat(n.map(Nw))):"all"===t?["all"].concat(e.slice(1).map(Nw)):"none"===t?["all"].concat(e.slice(1).map(Nw).map(Vw)):"in"===t?qw(e[1],e.slice(2)):"!in"===t?Vw(qw(e[1],e.slice(2))):"has"===t?Gw(e[1]):"!has"!==t||Vw(Gw(e[1]));var n}function Bw(e,t,n){switch(e){case"$type":return[`filter-type-${n}`,t];case"$id":return[`filter-id-${n}`,t];default:return[`filter-${n}`,e,t]}}function qw(e,t){if(0===t.length)return!1;switch(e){case"$type":return["filter-type-in",["literal",t]];case"$id":return["filter-id-in",["literal",t]];default:return t.length>200&&!t.some(e=>typeof e!=typeof t[0])?["filter-in-large",e,["literal",t.sort(jw)]]:["filter-in-small",e,["literal",t]]}}function Gw(e){switch(e){case"$type":return!0;case"$id":return["filter-has-id"];default:return["filter-has",e]}}function Vw(e){return["!",e]}function Ww(e){return"object"==typeof e?["literal",e]:e}function Hw(e){switch(e.colorSpace){case"hcl":return"interpolate-hcl";case"lab":return"interpolate-lab";default:return"interpolate"}}function Uw(e,t){const n=Ww((i=e.default,r=t.default,void 0!==i?i:void 0!==r?r:void 0));var i,r;return void 0===n&&"resolvedImage"===t.type?"":n}function $w(e,t,n){const i=Zw(e,t),r=["get",e.property];if("categorical"===i&&"boolean"==typeof n[0][0]){const i=["case"];for(const e of n)i.push(["==",r,e[0]],e[1]);return i.push(Uw(e,t)),i}if("categorical"===i){const i=["match",r];for(const e of n)Xw(i,e[0],e[1],!1);return i.push(Uw(e,t)),i}if("interval"===i){const t=["step",["number",r]];for(const e of n)Xw(t,e[0],e[1],!0);return Kw(t),void 0===e.default?t:["case",["==",["typeof",r],"number"],t,Ww(e.default)]}if("exponential"===i){const t=void 0!==e.base?e.base:1,i=[Hw(e),1===t?["linear"]:["exponential",t],["number",r]];for(const e of n)Xw(i,e[0],e[1],!1);return void 0===e.default?i:["case",["==",["typeof",r],"number"],i,Ww(e.default)]}throw new Error(`Unknown property function type ${i}`)}function Kw(e){"step"===e[0]&&3===e.length&&(e.push(0),e.push(e[3]))}function Xw(e,t,n,i){e.length>3&&t===e[e.length-2]||(i&&2===e.length||e.push(t),e.push(n))}function Zw(e,t){return e.type?e.type:t.expression.interpolated?"exponential":"interval"}function Yw(e){const t=["concat"],n=/{([^{}]+)}/g;let i=0;for(let r=n.exec(e);null!==r;r=n.exec(e)){const o=e.slice(i,n.lastIndex-r[0].length);i=n.lastIndex,o.length>0&&t.push(o),t.push(["get",r[1]])}if(1===t.length)return e;if(i<e.length)t.push(e.slice(i));else if(2===t.length)return["to-string",t[1]];return t}function Qw(e){const t=e.key,n=e.value;return n?[new gv(t,n,"constants have been deprecated as of v8")]:[]}function Jw(e){return e instanceof Number||e instanceof String||e instanceof Boolean?e.valueOf():e}function ek(e){if(Array.isArray(e))return e.map(ek);if(e instanceof Object&&!(e instanceof Number||e instanceof String||e instanceof Boolean)){const t={};for(const n in e)t[n]=ek(e[n]);return t}return Jw(e)}function tk(e){const t=e.key,n=e.value,i=e.valueSpec||{},r=e.objectElementValidators||{},o=e.style,s=e.styleSpec,a=e.validateSpec;let l=[];const c=Aw(n);if("object"!==c)return[new gv(t,n,`object expected, ${c} found`)];for(const e in n){const c=e.split(".")[0],u=rb(i,c)||i["*"];let d;if(rb(r,c))d=r[c];else if(rb(i,c))d=a;else if(r["*"])d=r["*"];else{if(!i["*"]){l.push(new gv(t,n[e],`unknown property "${e}"`));continue}d=a}l=l.concat(d({key:(t?`${t}.`:t)+e,value:n[e],valueSpec:u,style:o,styleSpec:s,object:n,objectKey:e,validateSpec:a},n))}for(const e in i)r[e]||i[e].required&&void 0===i[e].default&&void 0===n[e]&&l.push(new gv(t,n,`missing required property "${e}"`));return l}function nk(e){const t=e.value,n=e.valueSpec,i=e.validateSpec,r=e.style,o=e.styleSpec,s=e.key,a=e.arrayElementValidator||i;if("array"!==Aw(t))return[new gv(s,t,`array expected, ${Aw(t)} found`)];if(n.length&&t.length!==n.length)return[new gv(s,t,`array length ${n.length} expected, length ${t.length} found`)];if(n["min-length"]&&t.length<n["min-length"])return[new gv(s,t,`array length at least ${n["min-length"]} expected, length ${t.length} found`)];let l={type:n.value,values:n.values};o.$version<7&&(l.function=n.function),"object"===Aw(n.value)&&(l=n.value);let c=[];for(let n=0;n<t.length;n++)c=c.concat(a({array:t,arrayIndex:n,value:t[n],valueSpec:l,validateSpec:e.validateSpec,style:r,styleSpec:o,key:`${s}[${n}]`}));return c}function ik(e){const t=e.key,n=e.value,i=e.valueSpec;let r=Aw(n);return"number"===r&&n!=n&&(r="NaN"),"number"!==r?[new gv(t,n,`number expected, ${r} found`)]:"minimum"in i&&n<i.minimum?[new gv(t,n,`${n} is less than the minimum value ${i.minimum}`)]:"maximum"in i&&n>i.maximum?[new gv(t,n,`${n} is greater than the maximum value ${i.maximum}`)]:[]}function rk(e){const t=e.valueSpec,n=Jw(e.value.type);let i,r,o,s={};const a="categorical"!==n&&void 0===e.value.property,l=!a,c="array"===Aw(e.value.stops)&&"array"===Aw(e.value.stops[0])&&"object"===Aw(e.value.stops[0][0]),u=tk({key:e.key,value:e.value,valueSpec:e.styleSpec.function,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{stops:function(e){if("identity"===n)return[new gv(e.key,e.value,'identity function may not have a "stops" property')];let t=[];const i=e.value;return t=t.concat(nk({key:e.key,value:i,valueSpec:e.valueSpec,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,arrayElementValidator:d})),"array"===Aw(i)&&0===i.length&&t.push(new gv(e.key,i,"array must have at least one stop")),t},default:function(e){return e.validateSpec({key:e.key,value:e.value,valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec})}}});return"identity"===n&&a&&u.push(new gv(e.key,e.value,'missing required property "property"')),"identity"===n||e.value.stops||u.push(new gv(e.key,e.value,'missing required property "stops"')),"exponential"===n&&e.valueSpec.expression&&!Cw(e.valueSpec)&&u.push(new gv(e.key,e.value,"exponential functions not supported")),e.styleSpec.$version>=8&&(l&&!ww(e.valueSpec)?u.push(new gv(e.key,e.value,"property functions not supported")):a&&!kw(e.valueSpec)&&u.push(new gv(e.key,e.value,"zoom functions not supported"))),"categorical"!==n&&!c||void 0!==e.value.property||u.push(new gv(e.key,e.value,'"property" property is required')),u;function d(e){let n=[];const i=e.value,a=e.key;if("array"!==Aw(i))return[new gv(a,i,`array expected, ${Aw(i)} found`)];if(2!==i.length)return[new gv(a,i,`array length 2 expected, length ${i.length} found`)];if(c){if("object"!==Aw(i[0]))return[new gv(a,i,`object expected, ${Aw(i[0])} found`)];if(void 0===i[0].zoom)return[new gv(a,i,"object stop key must have zoom")];if(void 0===i[0].value)return[new gv(a,i,"object stop key must have value")];if(o&&o>Jw(i[0].zoom))return[new gv(a,i[0].zoom,"stop zoom values must appear in ascending order")];Jw(i[0].zoom)!==o&&(o=Jw(i[0].zoom),r=void 0,s={}),n=n.concat(tk({key:`${a}[0]`,value:i[0],valueSpec:{zoom:{}},validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec,objectElementValidators:{zoom:ik,value:p}}))}else n=n.concat(p({key:`${a}[0]`,value:i[0],validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec},i));return Iw(ek(i[1]))?n.concat([new gv(`${a}[1]`,i[1],"expressions are not allowed in function stops.")]):n.concat(e.validateSpec({key:`${a}[1]`,value:i[1],valueSpec:t,validateSpec:e.validateSpec,style:e.style,styleSpec:e.styleSpec}))}function p(e,o){const a=Aw(e.value),l=Jw(e.value),c=null!==e.value?e.value:o;if(i){if(a!==i)return[new gv(e.key,c,`${a} stop domain type must match previous stop domain type ${i}`)]}else i=a;if("number"!==a&&"string"!==a&&"boolean"!==a)return[new gv(e.key,c,"stop domain value must be a number, string, or boolean")];if("number"!==a&&"categorical"!==n){let i=`number expected, ${a} found`;return ww(t)&&void 0===n&&(i+='\nIf you intended to use a categorical function, specify `"type": "categorical"`.'),[new gv(e.key,c,i)]}return"categorical"!==n||"number"!==a||isFinite(l)&&Math.floor(l)===l?"categorical"!==n&&"number"===a&&void 0!==r&&l<r?[new gv(e.key,c,"stop domain values must appear in ascending order")]:(r=l,"categorical"===n&&l in s?[new gv(e.key,c,"stop domain values must be unique")]:(s[l]=!0,[])):[new gv(e.key,c,`integer expected, found ${l}`)]}}function ok(e){const t=("property"===e.expressionContext?Rw:Tw)(ek(e.value),e.valueSpec);if("error"===t.result)return t.value.map(t=>new gv(`${e.key}${t.key}`,e.value,t.message));const n=t.value.expression||t.value._styleExpression.expression;if("property"===e.expressionContext&&"text-font"===e.propertyKey&&!n.outputDefined())return[new gv(e.key,e.value,`Invalid data expression for "${e.propertyKey}". Output values must be contained as literals within the expression.`)];if("property"===e.expressionContext&&"layout"===e.propertyType&&!yw(n))return[new gv(e.key,e.value,'"feature-state" data expressions are not supported with layout properties.')];if("filter"===e.expressionContext&&!yw(n))return[new gv(e.key,e.value,'"feature-state" data expressions are not supported with filters.')];if(e.expressionContext&&0===e.expressionContext.indexOf("cluster")){if(!vw(n,["zoom","feature-state"]))return[new gv(e.key,e.value,'"zoom" and "feature-state" expressions are not supported with cluster properties.')];if("cluster-initial"===e.expressionContext&&!mw(n))return[new gv(e.key,e.value,"Feature data expressions are not supported with initial expression part of cluster properties.")]}return[]}function sk(e){const t=e.key,n=e.value,i=Aw(n);return"string"!==i?[new gv(t,n,`color expected, ${i} found`)]:pb.parse(String(n))?[]:[new gv(t,n,`color expected, "${n}" found`)]}function ak(e){const t=e.key,n=e.value,i=e.valueSpec,r=[];return Array.isArray(i.values)?-1===i.values.indexOf(Jw(n))&&r.push(new gv(t,n,`expected one of [${i.values.join(", ")}], ${JSON.stringify(n)} found`)):-1===Object.keys(i.values).indexOf(Jw(n))&&r.push(new gv(t,n,`expected one of [${Object.keys(i.values).join(", ")}], ${JSON.stringify(n)} found`)),r}function lk(e){return Ow(ek(e.value))?ok(mv({},e,{expressionContext:"filter",valueSpec:{value:"boolean"}})):ck(e)}function ck(e){const t=e.value,n=e.key;if("array"!==Aw(t))return[new gv(n,t,`array expected, ${Aw(t)} found`)];const i=e.styleSpec;let r,o=[];if(t.length<1)return[new gv(n,t,"filter array must have at least 1 element")];switch(o=o.concat(ak({key:`${n}[0]`,value:t[0],valueSpec:i.filter_operator,style:e.style,styleSpec:e.styleSpec})),Jw(t[0])){case"<":case"<=":case">":case">=":t.length>=2&&"$type"===Jw(t[1])&&o.push(new gv(n,t,`"$type" cannot be use with operator "${t[0]}"`));case"==":case"!=":3!==t.length&&o.push(new gv(n,t,`filter array for operator "${t[0]}" must have 3 elements`));case"in":case"!in":t.length>=2&&(r=Aw(t[1]),"string"!==r&&o.push(new gv(`${n}[1]`,t[1],`string expected, ${r} found`)));for(let s=2;s<t.length;s++)r=Aw(t[s]),"$type"===Jw(t[1])?o=o.concat(ak({key:`${n}[${s}]`,value:t[s],valueSpec:i.geometry_type,style:e.style,styleSpec:e.styleSpec})):"string"!==r&&"number"!==r&&"boolean"!==r&&o.push(new gv(`${n}[${s}]`,t[s],`string, number, or boolean expected, ${r} found`));break;case"any":case"all":case"none":for(let i=1;i<t.length;i++)o=o.concat(ck({key:`${n}[${i}]`,value:t[i],style:e.style,styleSpec:e.styleSpec}));break;case"has":case"!has":r=Aw(t[1]),2!==t.length?o.push(new gv(n,t,`filter array for "${t[0]}" operator must have 2 elements`)):"string"!==r&&o.push(new gv(`${n}[1]`,t[1],`string expected, ${r} found`))}return o}function uk(e,t){const n=e.key,i=e.validateSpec,r=e.style,o=e.styleSpec,s=e.value,a=e.objectKey,l=o[`${t}_${e.layerType}`];if(!l)return[];const c=a.match(/^(.*)-transition$/);if("paint"===t&&c&&l[c[1]]&&l[c[1]].transition)return i({key:n,value:s,valueSpec:o.transition,style:r,styleSpec:o});const u=e.valueSpec||l[a];if(!u)return[new gv(n,s,`unknown property "${a}"`)];let d;if("string"===Aw(s)&&ww(u)&&!u.tokens&&(d=/^{([^}]+)}$/.exec(s)))return[new gv(n,s,`"${a}" does not support interpolation syntax\nUse an identity property function instead: \`{ "type": "identity", "property": ${JSON.stringify(d[1])} }\`.`)];const p=[];return"symbol"===e.layerType&&("text-field"===a&&r&&!r.glyphs&&p.push(new gv(n,s,'use of "text-field" requires a style "glyphs" property')),"text-font"===a&&Sw(ek(s))&&"identity"===Jw(s.type)&&p.push(new gv(n,s,'"text-font" does not support identity functions'))),p.concat(i({key:e.key,value:s,valueSpec:u,style:r,styleSpec:o,expressionContext:"property",propertyType:t,propertyKey:a}))}function dk(e){return uk(e,"paint")}function pk(e){return uk(e,"layout")}function hk(e){let t=[];const n=e.value,i=e.key,r=e.style,o=e.styleSpec;if("object"!==Aw(n))return[new gv(i,n,`object expected, ${Aw(n)} found`)];n.type||n.ref||t.push(new gv(i,n,'either "type" or "ref" is required'));let s=Jw(n.type);const a=Jw(n.ref);if(n.id){const o=Jw(n.id);for(let s=0;s<e.arrayIndex;s++){const e=r.layers[s];Jw(e.id)===o&&t.push(new gv(i,n.id,`duplicate layer id "${n.id}", previously used at line ${e.id.__line__}`))}}if("ref"in n){let e;["type","source","source-layer","filter","layout"].forEach(e=>{e in n&&t.push(new gv(i,n[e],`"${e}" is prohibited for ref layers`))}),r.layers.forEach(t=>{Jw(t.id)===a&&(e=t)}),e?e.ref?t.push(new gv(i,n.ref,"ref cannot reference another ref layer")):s=Jw(e.type):t.push(new gv(i,n.ref,`ref layer "${a}" not found`))}else if("background"!==s)if(n.source){const e=r.sources&&r.sources[n.source],o=e&&Jw(e.type);e?"vector"===o&&"raster"===s?t.push(new gv(i,n.source,`layer "${n.id}" requires a raster source`)):"raster-dem"!==o&&"hillshade"===s||"raster-dem"!==o&&"color-relief"===s?t.push(new gv(i,n.source,`layer "${n.id}" requires a raster-dem source`)):"raster"===o&&"raster"!==s?t.push(new gv(i,n.source,`layer "${n.id}" requires a vector source`)):"vector"!==o||n["source-layer"]?"raster-dem"===o&&"hillshade"!==s&&"color-relief"!==s?t.push(new gv(i,n.source,"raster-dem source can only be used with layer type 'hillshade' or 'color-relief'.")):"line"!==s||!n.paint||!n.paint["line-gradient"]||"geojson"===o&&e.lineMetrics||t.push(new gv(i,n,`layer "${n.id}" specifies a line-gradient, which requires a GeoJSON source with \`lineMetrics\` enabled.`)):t.push(new gv(i,n,`layer "${n.id}" must specify a "source-layer"`)):t.push(new gv(i,n.source,`source "${n.source}" not found`))}else t.push(new gv(i,n,'missing required property "source"'));return t=t.concat(tk({key:i,value:n,valueSpec:o.layer,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":()=>[],type:()=>e.validateSpec({key:`${i}.type`,value:n.type,valueSpec:o.layer.type,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,object:n,objectKey:"type"}),filter:lk,layout:e=>tk({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>pk(mv({layerType:s},e))}}),paint:e=>tk({layer:n,key:e.key,value:e.value,style:e.style,styleSpec:e.styleSpec,validateSpec:e.validateSpec,objectElementValidators:{"*":e=>dk(mv({layerType:s},e))}})}})),t}function fk(e){const t=e.value,n=e.key,i=Aw(t);return"string"!==i?[new gv(n,t,`string expected, ${i} found`)]:[]}const _k={promoteId:function({key:e,value:t}){if("string"===Aw(t))return fk({key:e,value:t});{const n=[];for(const i in t)n.push(...fk({key:`${e}.${i}`,value:t[i]}));return n}}};function gk(e){const t=e.value,n=e.key,i=e.styleSpec,r=e.style,o=e.validateSpec;if(!t.type)return[new gv(n,t,'"type" is required')];const s=Jw(t.type);let a;switch(s){case"vector":case"raster":return a=tk({key:n,value:t,valueSpec:i[`source_${s.replace("-","_")}`],style:e.style,styleSpec:i,objectElementValidators:_k,validateSpec:o}),a;case"raster-dem":return a=function(e){var t;const n=null!==(t=e.sourceName)&&void 0!==t?t:"",i=e.value,r=e.styleSpec,o=r.source_raster_dem,s=e.style;let a=[];const l=Aw(i);if(void 0===i)return a;if("object"!==l)return a.push(new gv("source_raster_dem",i,`object expected, ${l} found`)),a;const c="custom"===Jw(i.encoding),u=["redFactor","greenFactor","blueFactor","baseShift"],d=e.value.encoding?`"${e.value.encoding}"`:"Default";for(const t in i)!c&&u.includes(t)?a.push(new gv(t,i[t],`In "${n}": "${t}" is only valid when "encoding" is set to "custom". ${d} encoding found`)):o[t]?a=a.concat(e.validateSpec({key:t,value:i[t],valueSpec:o[t],validateSpec:e.validateSpec,style:s,styleSpec:r})):a.push(new gv(t,i[t],`unknown property "${t}"`));return a}({sourceName:n,value:t,style:e.style,styleSpec:i,validateSpec:o}),a;case"geojson":if(a=tk({key:n,value:t,valueSpec:i.source_geojson,style:r,styleSpec:i,validateSpec:o,objectElementValidators:_k}),t.cluster)for(const e in t.clusterProperties){const[i,r]=t.clusterProperties[e],o="string"==typeof i?[i,["accumulated"],["get",e]]:i;a.push(...ok({key:`${n}.${e}.map`,value:r,expressionContext:"cluster-map"})),a.push(...ok({key:`${n}.${e}.reduce`,value:o,expressionContext:"cluster-reduce"}))}return a;case"video":return tk({key:n,value:t,valueSpec:i.source_video,style:r,validateSpec:o,styleSpec:i});case"image":return tk({key:n,value:t,valueSpec:i.source_image,style:r,validateSpec:o,styleSpec:i});case"canvas":return[new gv(n,null,"Please use runtime APIs to add canvas sources, rather than including them in stylesheets.","source.canvas")];default:return ak({key:`${n}.type`,value:t.type,valueSpec:{values:["vector","raster","raster-dem","geojson","video","image"]}})}}function mk(e){const t=e.value,n=e.styleSpec,i=n.light,r=e.style;let o=[];const s=Aw(t);if(void 0===t)return o;if("object"!==s)return o=o.concat([new gv("light",t,`object expected, ${s} found`)]),o;for(const s in t){const a=s.match(/^(.*)-transition$/);o=a&&i[a[1]]&&i[a[1]].transition?o.concat(e.validateSpec({key:s,value:t[s],valueSpec:n.transition,validateSpec:e.validateSpec,style:r,styleSpec:n})):i[s]?o.concat(e.validateSpec({key:s,value:t[s],valueSpec:i[s],validateSpec:e.validateSpec,style:r,styleSpec:n})):o.concat([new gv(s,t[s],`unknown property "${s}"`)])}return o}function yk(e){const t=e.value,n=e.styleSpec,i=n.sky,r=e.style,o=Aw(t);if(void 0===t)return[];if("object"!==o)return[new gv("sky",t,`object expected, ${o} found`)];let s=[];for(const o in t)s=i[o]?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],style:r,styleSpec:n})):s.concat([new gv(o,t[o],`unknown property "${o}"`)]);return s}function vk(e){const t=e.value,n=e.styleSpec,i=n.terrain,r=e.style;let o=[];const s=Aw(t);if(void 0===t)return o;if("object"!==s)return o=o.concat([new gv("terrain",t,`object expected, ${s} found`)]),o;for(const s in t)o=i[s]?o.concat(e.validateSpec({key:s,value:t[s],valueSpec:i[s],validateSpec:e.validateSpec,style:r,styleSpec:n})):o.concat([new gv(s,t[s],`unknown property "${s}"`)]);return o}function bk(e){let t=[];const n=e.value,i=e.key;if(Array.isArray(n)){const r=[],o=[];for(const s in n){n[s].id&&r.includes(n[s].id)&&t.push(new gv(i,n,`all the sprites' ids must be unique, but ${n[s].id} is duplicated`)),r.push(n[s].id),n[s].url&&o.includes(n[s].url)&&t.push(new gv(i,n,`all the sprites' URLs must be unique, but ${n[s].url} is duplicated`)),o.push(n[s].url);const a={id:{type:"string",required:!0},url:{type:"string",required:!0}};t=t.concat(tk({key:`${i}[${s}]`,value:n[s],valueSpec:a,validateSpec:e.validateSpec}))}return t}return fk({key:i,value:n})}function xk(e){return t=e.value,Boolean(t)&&t.constructor===Object?[]:[new gv(e.key,e.value,`object expected, ${Aw(e.value)} found`)];var t}const wk={"*":()=>[],array:nk,boolean:function(e){const t=e.value,n=e.key,i=Aw(t);return"boolean"!==i?[new gv(n,t,`boolean expected, ${i} found`)]:[]},number:ik,color:sk,constants:Qw,enum:ak,filter:lk,function:rk,layer:hk,object:tk,source:gk,light:mk,sky:yk,terrain:vk,projection:function(e){const t=e.value,n=e.styleSpec,i=n.projection,r=e.style,o=Aw(t);if(void 0===t)return[];if("object"!==o)return[new gv("projection",t,`object expected, ${o} found`)];let s=[];for(const o in t)s=i[o]?s.concat(e.validateSpec({key:o,value:t[o],valueSpec:i[o],style:r,styleSpec:n})):s.concat([new gv(o,t[o],`unknown property "${o}"`)]);return s},projectionDefinition:function(e){const t=e.key;let n=e.value;n=n instanceof String?n.valueOf():n;const i=Aw(n);return"array"!==i||function(e){return Array.isArray(e)&&3===e.length&&"string"==typeof e[0]&&"string"==typeof e[1]&&"number"==typeof e[2]}(n)||function(e){return!!["interpolate","step","literal"].includes(e[0])}(n)?["array","string"].includes(i)?[]:[new gv(t,n,`projection expected, invalid type "${i}" found`)]:[new gv(t,n,`projection expected, invalid array ${JSON.stringify(n)} found`)]},string:fk,formatted:function(e){return 0===fk(e).length?[]:ok(e)},resolvedImage:function(e){return 0===fk(e).length?[]:ok(e)},padding:function(e){const t=e.key,n=e.value;if("array"===Aw(n)){if(n.length<1||n.length>4)return[new gv(t,n,`padding requires 1 to 4 values; ${n.length} values found`)];const i={type:"number"};let r=[];for(let o=0;o<n.length;o++)r=r.concat(e.validateSpec({key:`${t}[${o}]`,value:n[o],validateSpec:e.validateSpec,valueSpec:i}));return r}return ik({key:t,value:n,valueSpec:{}})},numberArray:function(e){const t=e.key,n=e.value;if("array"===Aw(n)){const i={type:"number"};if(n.length<1)return[new gv(t,n,"array length at least 1 expected, length 0 found")];let r=[];for(let o=0;o<n.length;o++)r=r.concat(e.validateSpec({key:`${t}[${o}]`,value:n[o],validateSpec:e.validateSpec,valueSpec:i}));return r}return ik({key:t,value:n,valueSpec:{}})},colorArray:function(e){const t=e.key,n=e.value;if("array"===Aw(n)){if(n.length<1)return[new gv(t,n,"array length at least 1 expected, length 0 found")];let e=[];for(let i=0;i<n.length;i++)e=e.concat(sk({key:`${t}[${i}]`,value:n[i]}));return e}return sk({key:t,value:n})},variableAnchorOffsetCollection:function(e){const t=e.key,n=e.value,i=Aw(n),r=e.styleSpec;if("array"!==i||n.length<1||n.length%2!=0)return[new gv(t,n,"variableAnchorOffsetCollection requires a non-empty array of even length")];let o=[];for(let i=0;i<n.length;i+=2)o=o.concat(ak({key:`${t}[${i}]`,value:n[i],valueSpec:r.layout_symbol["text-anchor"]})),o=o.concat(nk({key:`${t}[${i+1}]`,value:n[i+1],valueSpec:{length:2,value:"number"},validateSpec:e.validateSpec,style:e.style,styleSpec:r}));return o},sprite:bk,state:xk};function kk(e){const t=e.value,n=e.valueSpec,i=e.styleSpec;return e.validateSpec=kk,n.expression&&Sw(Jw(t))?rk(e):n.expression&&Iw(ek(t))?ok(e):n.type&&wk[n.type]?wk[n.type](e):tk(mv({},e,{valueSpec:n.type?i[n.type]:n}))}function Ck(e){const t=e.value,n=e.key,i=fk(e);return i.length||(-1===t.indexOf("{fontstack}")&&i.push(new gv(n,t,'"glyphs" url must include a "{fontstack}" token')),-1===t.indexOf("{range}")&&i.push(new gv(n,t,'"glyphs" url must include a "{range}" token'))),i}function Ak(e,t=pv){let n=[];return n=n.concat(kk({key:"",value:e,valueSpec:t.$root,styleSpec:t,style:e,validateSpec:kk,objectElementValidators:{glyphs:Ck,"*":()=>[]}})),e.constants&&(n=n.concat(Qw({key:"constants",value:e.constants}))),Ek(n)}function Sk(e){return function(t){return e({...t,validateSpec:kk})}}function Ek(e){return[].concat(e).sort((e,t)=>e.line-t.line)}function Ik(e){return function(...t){return Ek(e.apply(this,t))}}Ak.source=Ik(Sk(gk)),Ak.sprite=Ik(Sk(bk)),Ak.glyphs=Ik(Sk(Ck)),Ak.light=Ik(Sk(mk)),Ak.sky=Ik(Sk(yk)),Ak.terrain=Ik(Sk(vk)),Ak.state=Ik(Sk(xk)),Ak.layer=Ik(Sk(hk)),Ak.filter=Ik(Sk(lk)),Ak.paintProperty=Ik(Sk(dk)),Ak.layoutProperty=Ik(Sk(pk));const Tk=pv;var Mk={thin:100,hairline:100,"ultra-light":200,"extra-light":200,light:300,book:300,regular:400,normal:400,plain:400,roman:400,standard:400,medium:500,"semi-bold":600,"demi-bold":600,bold:700,"extra-bold":800,"ultra-bold":800,heavy:900,black:900,"heavy-black":900,fat:900,poster:900,"ultra-black":950,"extra-black":950},Pk=" ",Rk=/(italic|oblique)$/i,zk={};function Lk(e,t,n){var i=zk[e];if(!i){Array.isArray(e)||(e=[e]);for(var r,o,s=400,a="normal",l=[],c=0,u=e.length;c<u;++c){var d=e[c].split(" "),p=d[d.length-1].toLowerCase();for(var h in"normal"==p||"italic"==p||"oblique"==p?(a=o?a:p,o=!0,d.pop(),p=d[d.length-1].toLowerCase()):Rk.test(p)&&(p=p.replace(Rk,""),a=o?a:d[d.length-1].replace(p,""),o=!0),Mk){var f=d.length>1?d[d.length-2].toLowerCase():"";if(p==h||p==h.replace("-","")||f+"-"+p==h){s=r?s:Mk[h],d.pop(),f&&h.startsWith(f)&&d.pop();break}}r||"number"!=typeof p||(s=p,r=!0);var _=d.join(Pk).replace("Klokantech Noto Sans","Noto Sans").replace("DIN Pro","Barlow").replace("Arial Unicode MS","Arial");-1!==_.indexOf(Pk)&&(_='"'+_+'"'),l.push(_)}i=zk[e]=[a,s,l]}return i[0]+Pk+i[1]+Pk+t+"px"+(n?"/"+n:"")+Pk+i[2]}function Ok(e,t,n,i){const r=[];let o=[1/0,1/0,-1/0,-1/0];for(let s=0,a=n.length;s<a;++s){const a=n[s];o=xi(e,t,a[0],i),r.push((o[0]+o[2])/2,(o[1]+o[3])/2),t=a[a.length-1]}return r}function Fk(e,t,n,i,r,o,s){let a,l;const c=(n-t)/i;if(1===c)a=t;else if(2===c)a=t,l=r;else if(0!==c){let o=e[t],s=e[t+1],c=0;const u=[0];for(let r=t+i;r<n;r+=i){const t=e[r],n=e[r+1];c+=Math.sqrt((t-o)*(t-o)+(n-s)*(n-s)),u.push(c),o=t,s=n}const d=r*c,p=function(e,t,n){let i,r;n=n||Go;let o=0,s=e.length,a=!1;for(;o<s;)i=o+(s-o>>1),r=+n(e[i],t),r<0?o=i+1:(s=i,a=!r);return a?o:~o}(u,d);p<0?(l=(d-u[-p-2])/(u[-p-1]-u[-p-2]),a=t+(-p-2)*i):a=t+p*i}s=s>1?s:2,o=o||new Array(s);for(let t=0;t<s;++t)o[t]=void 0===a?NaN:void 0===l?e[a+t]:rr(e[a+t],e[a+i+t],l);return o}function jk(e,t,n,i,r,o){if(n==t)return null;let s;if(r<e[t+i-1])return o?(s=e.slice(t,t+i),s[i-1]=r,s):null;if(e[n-1]<r)return o?(s=e.slice(n-i,n),s[i-1]=r,s):null;if(r==e[t+i-1])return e.slice(t,t+i);let a=t/i,l=n/i;for(;a<l;){const t=a+l>>1;r<e[(t+1)*i-1]?l=t:a=t+1}const c=e[a*i-1];if(r==c)return e.slice((a-1)*i,(a-1)*i+i);const u=(r-c)/(e[(a+1)*i-1]-c);s=[];for(let t=0;t<i-1;++t)s.push(rr(e[(a-1)*i+t],e[a*i+t],u));return s.push(r),s}const Dk=[1,0,0,1,0,0];class Nk{constructor(e,t,n,i,r,o){this.styleFunction,this.extent_,this.id_=o,this.type_=e,this.flatCoordinates_=t,this.flatInteriorPoints_=null,this.flatMidpoints_=null,this.ends_=n||null,this.properties_=r,this.squaredTolerance_,this.stride_=i,this.simplifiedGeometry_}get(e){return this.properties_[e]}getExtent(){return this.extent_||(this.extent_="Point"===this.type_?bi(this.flatCoordinates_):xi(this.flatCoordinates_,0,this.flatCoordinates_.length,2)),this.extent_}getFlatInteriorPoint(){if(!this.flatInteriorPoints_){const e=Pi(this.getExtent());this.flatInteriorPoints_=ja(this.flatCoordinates_,0,this.ends_,2,e,0)}return this.flatInteriorPoints_}getFlatInteriorPoints(){if(!this.flatInteriorPoints_){const e=Za(this.flatCoordinates_,this.ends_),t=Ok(this.flatCoordinates_,0,e,2);this.flatInteriorPoints_=Da(this.flatCoordinates_,0,e,2,t)}return this.flatInteriorPoints_}getFlatMidpoint(){return this.flatMidpoints_||(this.flatMidpoints_=Fk(this.flatCoordinates_,0,this.flatCoordinates_.length,2,.5)),this.flatMidpoints_}getFlatMidpoints(){if(!this.flatMidpoints_){this.flatMidpoints_=[];const e=this.flatCoordinates_;let t=0;const n=this.ends_;for(let i=0,r=n.length;i<r;++i){const r=n[i],o=Fk(e,t,r,2,.5);Uo(this.flatMidpoints_,o),t=r}}return this.flatMidpoints_}getId(){return this.id_}getOrientedFlatCoordinates(){return this.flatCoordinates_}getGeometry(){return this}getSimplifiedGeometry(e){return this}simplifyTransformed(e,t){return this}getProperties(){return this.properties_}getPropertiesInternal(){return this.properties_}getStride(){return this.stride_}getStyleFunction(){return this.styleFunction}getType(){return this.type_}transform(e){const t=(e=ro(e)).getExtent(),n=e.getWorldExtent();if(t&&n){const e=Oi(n)/Oi(t);Js(Dk,n[0],n[3],e,-e,0,0,0),ia(this.flatCoordinates_,0,this.flatCoordinates_.length,2,Dk,this.flatCoordinates_)}}applyTransform(e){e(this.flatCoordinates_,this.flatCoordinates_,this.stride_)}clone(){return new Nk(this.type_,this.flatCoordinates_.slice(),this.ends_?.slice(),this.stride_,Object.assign({},this.properties_),this.id_)}getEnds(){return this.ends_}enableSimplifyTransformed(){return this.simplifyTransformed=Yo((e,t)=>{if(e===this.squaredTolerance_)return this.simplifiedGeometry_;this.simplifiedGeometry_=this.clone(),t&&this.simplifiedGeometry_.applyTransform(t);const n=this.simplifiedGeometry_.getFlatCoordinates();let i;switch(this.type_){case"LineString":n.length=Aa(n,0,this.simplifiedGeometry_.flatCoordinates_.length,this.simplifiedGeometry_.stride_,e,n,0),i=[n.length];break;case"MultiLineString":i=[],n.length=Sa(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,e,n,0,i);break;case"Polygon":i=[],n.length=Ta(n,0,this.simplifiedGeometry_.ends_,this.simplifiedGeometry_.stride_,Math.sqrt(e),n,0,i)}return i&&(this.simplifiedGeometry_=new Nk(this.type_,n,i,2,this.properties_,this.id_)),this.squaredTolerance_=e,this.simplifiedGeometry_}),this}}Nk.prototype.getFlatCoordinates=Nk.prototype.getOrientedFlatCoordinates;const Bk=Nk,qk=class extends py{constructor(e,t,n,i,r,o){super(e,t,o),this.extent=null,this.format_=i,this.features_=null,this.loader_,this.projection=null,this.resolution,this.tileLoadFunction_=r,this.url_=n,this.key=n}getTileUrl(){return this.url_}getFormat(){return this.format_}getFeatures(){return this.features_}load(){0==this.state&&(this.setState(1),this.tileLoadFunction_(this,this.url_),this.loader_&&this.loader_(this.extent,this.resolution,this.projection))}onLoad(e,t){this.setFeatures(e)}onError(){this.setState(3)}setFeatures(e){this.features_=e,this.setState(2)}setLoader(e){this.loader_=e}},Gk="https://api.mapbox.com";function Vk(e){return 0!==e.indexOf("mapbox://")?"":e.slice(9)}function Wk(e,t,n){const i=Vk(e);if(!i)return decodeURI(new URL(e,n).href);if(0!==i.indexOf("sprites/"))throw new Error(`unexpected sprites url: ${e}`);const r=i.slice(8);return`${Gk}/styles/v1/${r}/sprite?access_token=${t}`}function Hk(e,t){const n=Vk(e);if(!n)return decodeURI(new URL(e,location.href).href);if(0!==n.indexOf("styles/"))throw new Error(`unexpected style url: ${e}`);const i=n.slice(7);return`${Gk}/styles/v1/${i}?&access_token=${t}`}const Uk=["a","b","c","d"];function $k(e,t,n,i){const r=new URL(e,i||location.href),o=Vk(e);if(!o)return t?(r.searchParams.has(n)||r.searchParams.set(n,t),[decodeURI(r.href)]):[decodeURI(r.href)];if("mapbox.satellite"===o){const e=window.devicePixelRatio>=1.5?"@2x":"";return[`https://api.mapbox.com/v4/${o}/{z}/{x}/{y}${e}.webp?access_token=${t}`]}return Uk.map(e=>`https://${e}.tiles.mapbox.com/v4/${o}/{z}/{x}/{y}.vector.pbf?access_token=${t}`)}const Kk=Object.freeze({}),Xk={},Zk={};let Yk=0;function Qk(e){return e.id||(e.id=Yk++),e.id}function Jk(e){let t=Xk[e.id];return t||(t={},Xk[Qk(e)]=t),t}function eC(e){return e*Math.PI/180}const tC=function(){const e=[];for(let t=78271.51696402048;e.length<=24;t/=2)e.push(t);return e}();function nC(e,t){if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"undefined"!=typeof OffscreenCanvas)return new OffscreenCanvas(e,t);const n=document.createElement("canvas");return n.width=e,n.height=t,n}function iC(e,t){let n=0;const i=t.length;for(;n<i;++n)if(t[n]<e&&n+1<i){const i=t[n]/t[n+1];return n+Math.log(t[n]/e)/Math.log(i)}return i-1}function rC(e,t){const n=Math.floor(e),i=Math.pow(2,e-n);return t[n]/i}const oC={};function sC(e,t,n={},i){if(t in oC)return i&&(i.url=oC[t][0].url),oC[t][1];const r=n.transformRequest&&n.transformRequest(t,e)||t,o=function(e){return delete oC[t],Promise.reject(new Error("Error fetching source "+t))},s=function(e){return delete oC[t],e.ok?e.json():Promise.reject(new Error("Error fetching source "+t))},a=Qo(()=>r).then(e=>e instanceof Response?(i&&(i.url=e.url),s(e)):(e instanceof Request||(e=new Request(e)),e.headers.get("Accept")||e.headers.set("Accept","application/json"),i&&(i.url=e.url),fetch(e).then(s).catch(o))).catch(o);return oC[t]=[r,a],a}function aC(e,t){if("string"!=typeof e)return Promise.resolve(e);if(!e.trim().startsWith("{"))return sC("Style",e=Hk(e,t.accessToken),t);try{const t=JSON.parse(e);return Promise.resolve(t)}catch(e){return Promise.reject(e)}}const lC={};function cC(e,t,n={}){const i=[t,JSON.stringify(e)].toString();let r=lC[i];if(!r||n.transformRequest){let o;n.transformRequest&&(o=(e,t)=>{const i=n.transformRequest&&n.transformRequest(t,"Tiles")||t;if(e instanceof qk)e.setLoader((t,n,r)=>{const o=function(n){n.arrayBuffer().then(n=>{const i=e.getFormat().readFeatures(n,{extent:t,featureProjection:r});e.setFeatures(i)})};Qo(()=>i).then(t=>{if(t instanceof Response)return o(t);fetch(t).then(o).catch(t=>e.setState(3))}).catch(t=>e.setState(3))});else{const t=e.getImage();Qo(()=>i).then(n=>{if("string"==typeof n)return void(t.src=n);const i=e=>e.blob().then(e=>{const n=URL.createObjectURL(e);t.addEventListener("load",()=>URL.revokeObjectURL(n)),t.addEventListener("error",()=>URL.revokeObjectURL(n)),t.src=n});if(n instanceof Response)return i(n);fetch(n).then(i).catch(t=>e.setState(3))}).catch(t=>e.setState(3))}});const s=e.url;if(s&&!e.tiles){const i=$k(s,n.accessToken,n.accessTokenParam||"access_token",t||location.href);if(s.startsWith("mapbox://"))r=Promise.resolve({tileJson:Object.assign({},e,{url:void 0,tiles:i}),tileLoadFunction:o});else{const e={};r=sC("Source",i[0],n,e).then(function(t){return t.tiles=t.tiles.map(function(i){return"tms"===t.scheme&&(i=i.replace("{y}","{-y}")),$k(i,n.accessToken,n.accessTokenParam||"access_token",e.url)[0]}),Promise.resolve({tileJson:t,tileLoadFunction:o})})}}else e.tiles?(e=Object.assign({},e,{tiles:e.tiles.map(function(i){return"tms"===e.scheme&&(i=i.replace("{y}","{-y}")),$k(i,n.accessToken,n.accessTokenParam||"access_token",t||location.href)[0]})}),r=Promise.resolve({tileJson:Object.assign({},e),tileLoadFunction:o})):r=Promise.reject(new Error("source has no `tiles` nor `url`"));lC[i]=r}return r}function uC(e,t,n,i){const r=[2*n*t.pixelRatio+t.width,2*n*t.pixelRatio+t.height],o=nC(r[0],r[1]),s=o.getContext("2d");s.drawImage(e,t.x,t.y,t.width,t.height,n*t.pixelRatio,n*t.pixelRatio,t.width,t.height);const a=s.getImageData(0,0,r[0],r[1]);s.globalCompositeOperation="destination-over",s.fillStyle=`rgba(${255*i.r},${255*i.g},${255*i.b},${i.a})`;const l=a.data;for(let e=0,i=a.width;e<i;++e)for(let r=0,o=a.height;r<o;++r)l[4*(r*i+e)+3]>0&&s.arc(e,r,n*t.pixelRatio,0,2*Math.PI);return s.fill(),o}function dC(e,t,n){const i=Math.max(0,Math.min(1,(n-e)/(t-e)));return i*i*(3-2*i)}function pC(e,t,n){const i=nC(t.width,t.height),r=i.getContext("2d");r.drawImage(e,t.x,t.y,t.width,t.height,0,0,t.width,t.height);const o=r.getImageData(0,0,t.width,t.height),s=o.data;for(let e=0,t=o.width;e<t;++e)for(let i=0,r=o.height;i<r;++i){const r=4*(i*t+e),o=.75,a=.1,l=dC(o-a,o+a,s[r+3]/255);l>0?(s[r+0]=Math.round(255*n.r*l),s[r+1]=Math.round(255*n.g*l),s[r+2]=Math.round(255*n.b*l),s[r+3]=Math.round(255*l)):s[r+3]=0}return r.putImageData(o,0,0),i}const hC=Array(256).join(" ");function fC(e,t){if(t>=.05){let n="";const i=e.split("\n"),r=hC.slice(0,Math.round(t/.1));for(let e=0,t=i.length;e<t;++e)e>0&&(n+="\n"),n+=i[e].split("").join(r);return n}return e}let _C;function gC(){return _C||(_C=nC(1,1).getContext("2d")),_C}function mC(e,t){return gC().measureText(e).width+(e.length-1)*t}const yC={};function vC(e,t,n,i){if(-1!==e.indexOf("\n")){const r=e.split("\n"),o=[];for(let e=0,s=r.length;e<s;++e)o.push(vC(r[e],t,n,i));return o.join("\n")}const r=n+","+t+","+e+","+i;let o=yC[r];if(!o){const s=e.split(" ");if(s.length>1){const e=gC();e.font=t;const r=e.measureText("M").width*n;let a="";const l=[];for(let e=0,t=s.length;e<t;++e){const t=s[e],n=a+(a?" ":"")+t;mC(n,i)<=r?a=n:(a&&l.push(a),a=t)}a&&l.push(a);for(let e=0,t=l.length;e<t&&t>1;++e){const n=l[e];if(mC(n,i)<.35*r){const r=e>0?mC(l[e-1],i):1/0,o=e<t-1?mC(l[e+1],i):1/0;l.splice(e,1),t-=1,r<o?(l[e-1]+=" "+n,e-=1):l[e]=n+" "+l[e]}}for(let e=0,t=l.length-1;e<t;++e){const n=l[e],o=l[e+1];if(mC(n,i)>.7*r&&mC(o,i)<.6*r){const s=n.split(" "),a=s.pop();mC(a,i)<.2*r&&(l[e]=s.join(" "),l[e+1]=a+" "+o),t-=1}}o=l.join("\n")}else o=e;o=fC(o,i),yC[r]=o}return o}op.on("propertychange",()=>{for(const e in yC)delete yC[e]});const bC=["Arial","Courier New","Times New Roman","Verdana","sans-serif","serif","monospace","cursive","fantasy"],xC={},wC={Point:1,MultiPoint:1,LineString:2,MultiLineString:2,Polygon:3,MultiPolygon:3},kC={center:[.5,.5],left:[0,.5],right:[1,.5],top:[.5,0],bottom:[.5,1],"top-left":[0,0],"top-right":[1,0],"bottom-left":[0,1],"bottom-right":[1,1]},CC={zoom:0,distanceFromCenter:0};let AC,SC;function EC(e,t,n,i,r,o){const s=e.id;r||(r={},console.warn("No functionCache provided to getValue()")),r[s]||(r[s]={});const a=r[s];if(!a[n]){let i=(e[t]||Kk)[n];const r=Tk[`${t}_${e.type}`][n];void 0===i&&(i=r.default);let o=Iw(i);if(!o&&Sw(i)&&(i=function(e,t){let n=e.stops;if(!n)return function(e,t){const n=["get",e.property];if(void 0===e.default)return"string"===t.type?["string",n]:n;if("enum"===t.type)return["match",n,Object.keys(t.values),n,e.default];{const i=["color"===t.type?"to-color":t.type,n,Ww(e.default)];return"array"===t.type&&i.splice(1,0,t.value,t.length||null),i}}(e,t);const i=n&&"object"==typeof n[0][0],r=i||void 0!==e.property,o=i||!r;return n=n.map(e=>!r&&t.tokens&&"string"==typeof e[1]?[e[0],Yw(e[1])]:[e[0],Ww(e[1])]),i?function(e,t,n){const i={},r={},o=[];for(let t=0;t<n.length;t++){const s=n[t],a=s[0].zoom;void 0===i[a]&&(i[a]={zoom:a,type:e.type,property:e.property,default:e.default},r[a]=[],o.push(a)),r[a].push([s[0].value,s[1]])}if("exponential"===Zw({},t)){const n=[Hw(e),["linear"],["zoom"]];for(const e of o)Xw(n,e,$w(i[e],t,r[e]),!1);return n}{const e=["step",["zoom"]];for(const n of o)Xw(e,n,$w(i[n],t,r[n]),!0);return Kw(e),e}}(e,t,n):o?function(e,t,n,i=["zoom"]){const r=Zw(e,t);let o,s=!1;if("interval"===r)o=["step",i],s=!0;else{if("exponential"!==r)throw new Error(`Unknown zoom function type "${r}"`);{const t=void 0!==e.base?e.base:1;o=[Hw(e),1===t?["linear"]:["exponential",t],i]}}for(const e of n)Xw(o,e[0],e[1],s);return Kw(o),o}(e,t,n):$w(e,t,n)}(i,r),o=!0),o){const e=function(e,t){const n=Rw(e,t);if("error"===n.result)throw new Error(n.value.map(e=>`${e.key}: ${e.message}`).join(", "));return n.value}(i,r);a[n]=e.evaluate.bind(e)}else"color"==r.type&&(i=pb.parse(i)),a[n]=function(){return i}}return a[n](CC,i,o)}function IC(e,t,n,i){return EC(e,"layout",`${n}-allow-overlap`,t,i)?EC(e,"layout",`${n}-ignore-placement`,t,i)?"none":"obstacle":"declutter"}function TC(e,t,n,i){if(i||console.warn("No filterCache provided to evaluateFilter()"),!(e in i))try{i[e]=function(e){if(null==e)return{filter:()=>!0,needGeometry:!1,getGlobalStateRefs:()=>new Set};Ow(e)||(e=Nw(e));const t=Tw(e,Fw);if("error"===t.result)throw new Error(t.value.map(e=>`${e.key}: ${e.message}`).join(", "));return{filter:(e,n,i)=>t.value.evaluate(e,n,{},i),needGeometry:Dw(e),getGlobalStateRefs:()=>Lw(t.value.expression)}}(t).filter}catch(t){console.warn("Filter will evaluate to false: "+t.message),i[e]=function(){return!1}}return i[e](CC,n)}dw.register(uw,{...dw.definitions,pitch:[{kind:"number"},[],e=>CC.pitch||90],"distance-from-center":[{kind:"number"},[],e=>CC.distanceFromCenter||0]});function MC(e,t){if(e){if(0===e.a||0===t)return;const n=e.a;return t=void 0===t?1:t,0===n?"transparent":"rgba("+Math.round(255*e.r/n)+","+Math.round(255*e.g/n)+","+Math.round(255*e.b/n)+","+n*t+")"}return e}const PC=/\{[^{}}]*\}/g;function RC(e,t){return e.replace(PC,function(e){return t[e.slice(1,-1)]||""})}function zC(e,t){let n=e.split(":")[0];return n===e&&(n="default"),t[n]}const LC={};function OC(e,t,n,i){let r=e[t],o=e[t+1],s=0;for(let a=t+i;a<n;a+=i){const t=e[a],n=e[a+1];s+=Math.sqrt((t-r)*(t-r)+(n-o)*(n-o)),r=t,o=n}return s}class FC extends ua{constructor(e,t){super(),this.flatMidpoint_=null,this.flatMidpointRevision_=-1,this.maxDelta_=-1,this.maxDeltaRevision_=-1,void 0===t||Array.isArray(e[0])?this.setCoordinates(e,t):this.setFlatCoordinates(t,e)}appendCoordinate(e){Uo(this.flatCoordinates,e),this.changed()}clone(){const e=new FC(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,n,i){return i<hi(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(fa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ga(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,this.maxDelta_,!1,e,t,n,i))}forEachSegment(e){return Na(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e)}getCoordinateAtM(e,t){return"XYM"!=this.layout&&"XYZM"!=this.layout?null:(t=void 0!==t&&t,jk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t))}getCoordinates(){return wa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getCoordinateAt(e,t){return Fk(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,this.stride)}getLength(){return OC(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getFlatMidpoint(){return this.flatMidpointRevision_!=this.getRevision()&&(this.flatMidpoint_=this.getCoordinateAt(.5,this.flatMidpoint_??void 0),this.flatMidpointRevision_=this.getRevision()),this.flatMidpoint_}getSimplifiedGeometryInternal(e){const t=[];return t.length=Aa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,t,0),new FC(t,"XY")}getType(){return"LineString"}intersectsExtent(e){return qa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride,e,this.getExtent())}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=va(this.flatCoordinates,0,e,this.stride),this.changed()}}const jC=FC;class DC extends ua{constructor(e,t){super(),t&&!Array.isArray(e[0])?this.setFlatCoordinates(t,e):this.setCoordinates(e,t)}appendPoint(e){Uo(this.flatCoordinates,e.getFlatCoordinates()),this.changed()}clone(){const e=new DC(this.flatCoordinates.slice(),this.layout);return e.applyProperties(this),e}closestPointXY(e,t,n,i){if(i<hi(this.getExtent(),e,t))return i;const r=this.flatCoordinates,o=this.stride;for(let s=0,a=r.length;s<a;s+=o){const a=er(e,t,r[s],r[s+1]);if(a<i){i=a;for(let e=0;e<o;++e)n[e]=r[s+e];n.length=o}}return i}getCoordinates(){return wa(this.flatCoordinates,0,this.flatCoordinates.length,this.stride)}getPoint(e){const t=this.flatCoordinates.length/this.stride;return e<0||t<=e?null:new za(this.flatCoordinates.slice(e*this.stride,(e+1)*this.stride),this.layout)}getPoints(){const e=this.flatCoordinates,t=this.layout,n=this.stride,i=[];for(let r=0,o=e.length;r<o;r+=n){const o=new za(e.slice(r,r+n),t);i.push(o)}return i}getType(){return"MultiPoint"}intersectsExtent(e){const t=this.flatCoordinates,n=this.stride;for(let i=0,r=t.length;i<r;i+=n)if(gi(e,t[i],t[i+1]))return!0;return!1}setCoordinates(e,t){this.setLayout(t,e,1),this.flatCoordinates||(this.flatCoordinates=[]),this.flatCoordinates.length=va(this.flatCoordinates,0,e,this.stride),this.changed()}}const NC=DC;class BC extends ua{constructor(e,t,n){if(super(),this.ends_=[],this.maxDelta_=-1,this.maxDeltaRevision_=-1,Array.isArray(e[0]))this.setCoordinates(e,t);else if(void 0!==t&&n)this.setFlatCoordinates(t,e),this.ends_=n;else{const t=e,n=[],i=[];for(let e=0,r=t.length;e<r;++e)Uo(n,t[e].getFlatCoordinates()),i.push(n.length);const r=0===t.length?this.getLayout():t[0].getLayout();this.setFlatCoordinates(r,n),this.ends_=i}}appendLineString(e){Uo(this.flatCoordinates,e.getFlatCoordinates().slice()),this.ends_.push(this.flatCoordinates.length),this.changed()}clone(){const e=new BC(this.flatCoordinates.slice(),this.layout,this.ends_.slice());return e.applyProperties(this),e}closestPointXY(e,t,n,i){return i<hi(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(_a(this.flatCoordinates,0,this.ends_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),ma(this.flatCoordinates,0,this.ends_,this.stride,this.maxDelta_,!1,e,t,n,i))}getCoordinateAtM(e,t,n){return"XYM"!=this.layout&&"XYZM"!=this.layout||0===this.flatCoordinates.length?null:(t=void 0!==t&&t,n=void 0!==n&&n,function(e,t,n,i,r,o,s){if(s)return jk(e,t,n[n.length-1],i,r,o);let a;if(r<e[i-1])return o?(a=e.slice(0,i),a[i-1]=r,a):null;if(e[e.length-1]<r)return o?(a=e.slice(e.length-i),a[i-1]=r,a):null;for(let o=0,s=n.length;o<s;++o){const s=n[o];if(t!=s){if(r<e[t+i-1])return null;if(r<=e[s-1])return jk(e,t,s,i,r,!1);t=s}}return null}(this.flatCoordinates,0,this.ends_,this.stride,e,t,n))}getCoordinates(){return ka(this.flatCoordinates,0,this.ends_,this.stride)}getEnds(){return this.ends_}getLineString(e){return e<0||this.ends_.length<=e?null:new jC(this.flatCoordinates.slice(0===e?0:this.ends_[e-1],this.ends_[e]),this.layout)}getLineStrings(){const e=this.flatCoordinates,t=this.ends_,n=this.layout,i=[];let r=0;for(let o=0,s=t.length;o<s;++o){const s=t[o],a=new jC(e.slice(r,s),n);i.push(a),r=s}return i}getLength(){const e=this.ends_;let t=0,n=0;for(let i=0,r=e.length;i<r;++i)n+=OC(this.flatCoordinates,t,e[i],this.stride),t=e[i];return n}getFlatMidpoints(){const e=[],t=this.flatCoordinates;let n=0;const i=this.ends_,r=this.stride;for(let o=0,s=i.length;o<s;++o){const s=i[o];Uo(e,Fk(t,n,s,r,.5)),n=s}return e}getSimplifiedGeometryInternal(e){const t=[],n=[];return t.length=Sa(this.flatCoordinates,0,this.ends_,this.stride,e,t,0,n),new BC(t,"XY",n)}getType(){return"MultiLineString"}intersectsExtent(e){return function(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){if(qa(e,t,n[o],i,r))return!0;t=n[o]}return!1}(this.flatCoordinates,0,this.ends_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,2),this.flatCoordinates||(this.flatCoordinates=[]);const n=ba(this.flatCoordinates,0,e,this.stride,this.ends_);this.flatCoordinates.length=0===n.length?0:n[n.length-1],this.changed()}}const qC=BC;class GC extends ua{constructor(e,t,n){if(super(),this.endss_=[],this.flatInteriorPointsRevision_=-1,this.flatInteriorPoints_=null,this.maxDelta_=-1,this.maxDeltaRevision_=-1,this.orientedRevision_=-1,this.orientedFlatCoordinates_=null,!n&&!Array.isArray(e[0])){const i=e,r=[],o=[];for(let e=0,t=i.length;e<t;++e){const t=i[e],n=r.length,s=t.getEnds();for(let e=0,t=s.length;e<t;++e)s[e]+=n;Uo(r,t.getFlatCoordinates()),o.push(s)}t=0===i.length?this.getLayout():i[0].getLayout(),e=r,n=o}void 0!==t&&n?(this.setFlatCoordinates(t,e),this.endss_=n):this.setCoordinates(e,t)}appendPolygon(e){let t;if(this.flatCoordinates){const n=this.flatCoordinates.length;Uo(this.flatCoordinates,e.getFlatCoordinates()),t=e.getEnds().slice();for(let e=0,i=t.length;e<i;++e)t[e]+=n}else this.flatCoordinates=e.getFlatCoordinates().slice(),t=e.getEnds().slice(),this.endss_.push();this.endss_.push(t),this.changed()}clone(){const e=this.endss_.length,t=new Array(e);for(let n=0;n<e;++n)t[n]=this.endss_[n].slice();const n=new GC(this.flatCoordinates.slice(),this.layout,t);return n.applyProperties(this),n}closestPointXY(e,t,n,i){return i<hi(this.getExtent(),e,t)?i:(this.maxDeltaRevision_!=this.getRevision()&&(this.maxDelta_=Math.sqrt(function(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o];r=_a(e,t,s,i,r),t=s[s.length-1]}return r}(this.flatCoordinates,0,this.endss_,this.stride,0)),this.maxDeltaRevision_=this.getRevision()),function(e,t,n,i,r,o,s,a,l,c,u){u=u||[NaN,NaN];for(let o=0,d=n.length;o<d;++o){const d=n[o];c=ma(e,t,d,i,r,true,s,a,l,c,u),t=d[d.length-1]}return c}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,this.maxDelta_,0,e,t,n,i))}containsXY(e,t){return function(e,t,n,i,r,o){if(0===n.length)return!1;for(let s=0,a=n.length;s<a;++s){const a=n[s];if(Fa(e,t,a,i,r,o))return!0;t=a[a.length-1]}return!1}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e,t)}getArea(){return function(e,t,n,i){let r=0;for(let o=0,s=n.length;o<s;++o){const s=n[o];r+=pa(e,t,s,i),t=s[s.length-1]}return r}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride)}getCoordinates(e){let t;return void 0!==e?(t=this.getOrientedFlatCoordinates().slice(),Xa(t,0,this.endss_,this.stride,e)):t=this.flatCoordinates,Ca(t,0,this.endss_,this.stride)}getEndss(){return this.endss_}getFlatInteriorPoints(){if(this.flatInteriorPointsRevision_!=this.getRevision()){const e=Ok(this.flatCoordinates,0,this.endss_,this.stride);this.flatInteriorPoints_=Da(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e),this.flatInteriorPointsRevision_=this.getRevision()}return this.flatInteriorPoints_}getInteriorPoints(){return new NC(this.getFlatInteriorPoints().slice(),"XYM")}getOrientedFlatCoordinates(){if(this.orientedRevision_!=this.getRevision()){const e=this.flatCoordinates;$a(e,0,this.endss_,this.stride)?this.orientedFlatCoordinates_=e:(this.orientedFlatCoordinates_=e.slice(),this.orientedFlatCoordinates_.length=Xa(this.orientedFlatCoordinates_,0,this.endss_,this.stride)),this.orientedRevision_=this.getRevision()}return this.orientedFlatCoordinates_}getSimplifiedGeometryInternal(e){const t=[],n=[];return t.length=function(e,t,n,i,r,o,s,a){for(let l=0,c=n.length;l<c;++l){const c=n[l],u=[];s=Ta(e,t,c,i,r,o,s,u),a.push(u),t=c[c.length-1]}return s}(this.flatCoordinates,0,this.endss_,this.stride,Math.sqrt(e),t,0,n),new GC(t,"XY",n)}getPolygon(e){if(e<0||this.endss_.length<=e)return null;let t;if(0===e)t=0;else{const n=this.endss_[e-1];t=n[n.length-1]}const n=this.endss_[e].slice(),i=n[n.length-1];if(0!==t)for(let e=0,i=n.length;e<i;++e)n[e]-=t;return new Qa(this.flatCoordinates.slice(t,i),this.layout,n)}getPolygons(){const e=this.layout,t=this.flatCoordinates,n=this.endss_,i=[];let r=0;for(let o=0,s=n.length;o<s;++o){const s=n[o].slice(),a=s[s.length-1];if(0!==r)for(let e=0,t=s.length;e<t;++e)s[e]-=r;const l=new Qa(t.slice(r,a),e,s);i.push(l),r=a}return i}getType(){return"MultiPolygon"}intersectsExtent(e){return function(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o];if(Va(e,t,s,i,r))return!0;t=s[s.length-1]}return!1}(this.getOrientedFlatCoordinates(),0,this.endss_,this.stride,e)}setCoordinates(e,t){this.setLayout(t,e,3),this.flatCoordinates||(this.flatCoordinates=[]);const n=xa(this.flatCoordinates,0,e,this.stride,this.endss_);if(0===n.length)this.flatCoordinates.length=0;else{const e=n[n.length-1];this.flatCoordinates.length=0===e.length?0:e[e.length-1]}this.changed()}}const VC=GC;class WC extends aa{constructor(e){super(),this.geometries_=e,this.changeEventsKeys_=[],this.listenGeometriesChange_()}unlistenGeometriesChange_(){this.changeEventsKeys_.forEach(os),this.changeEventsKeys_.length=0}listenGeometriesChange_(){const e=this.geometries_;for(let t=0,n=e.length;t<n;++t)this.changeEventsKeys_.push(is(e[t],Lo,this.changed,this))}clone(){const e=new WC(HC(this.geometries_));return e.applyProperties(this),e}closestPointXY(e,t,n,i){if(i<hi(this.getExtent(),e,t))return i;const r=this.geometries_;for(let o=0,s=r.length;o<s;++o)i=r[o].closestPointXY(e,t,n,i);return i}containsXY(e,t){const n=this.geometries_;for(let i=0,r=n.length;i<r;++i)if(n[i].containsXY(e,t))return!0;return!1}computeExtent(e){vi(e);const t=this.geometries_;for(let n=0,i=t.length;n<i;++n)ki(e,t[n].getExtent());return e}getGeometries(){return HC(this.geometries_)}getGeometriesArray(){return this.geometries_}getGeometriesArrayRecursive(){let e=[];const t=this.geometries_;for(let n=0,i=t.length;n<i;++n)t[n].getType()===this.getType()?e=e.concat(t[n].getGeometriesArrayRecursive()):e.push(t[n]);return e}getSimplifiedGeometry(e){if(this.simplifiedGeometryRevision!==this.getRevision()&&(this.simplifiedGeometryMaxMinSquaredTolerance=0,this.simplifiedGeometryRevision=this.getRevision()),e<0||0!==this.simplifiedGeometryMaxMinSquaredTolerance&&e<this.simplifiedGeometryMaxMinSquaredTolerance)return this;const t=[],n=this.geometries_;let i=!1;for(let r=0,o=n.length;r<o;++r){const o=n[r],s=o.getSimplifiedGeometry(e);t.push(s),s!==o&&(i=!0)}return i?new WC(t):(this.simplifiedGeometryMaxMinSquaredTolerance=e,this)}getType(){return"GeometryCollection"}intersectsExtent(e){const t=this.geometries_;for(let n=0,i=t.length;n<i;++n)if(t[n].intersectsExtent(e))return!0;return!1}isEmpty(){return 0===this.geometries_.length}rotate(e,t){const n=this.geometries_;for(let i=0,r=n.length;i<r;++i)n[i].rotate(e,t);this.changed()}scale(e,t,n){n||(n=Pi(this.getExtent()));const i=this.geometries_;for(let r=0,o=i.length;r<o;++r)i[r].scale(e,t,n);this.changed()}setGeometries(e){this.setGeometriesArray(HC(e))}setGeometriesArray(e){this.unlistenGeometriesChange_(),this.geometries_=e,this.listenGeometriesChange_(),this.changed()}applyTransform(e){const t=this.geometries_;for(let n=0,i=t.length;n<i;++n)t[n].applyTransform(e);this.changed()}translate(e,t){const n=this.geometries_;for(let i=0,r=n.length;i<r;++i)n[i].translate(e,t);this.changed()}disposeInternal(){this.unlistenGeometriesChange_(),super.disposeInternal()}}function HC(e){return e.map(e=>e.clone())}const UC=WC,$C=class{constructor(){this.dataProjection=void 0,this.defaultFeatureProjection=void 0,this.featureClass=dy,this.supportedMediaTypes=null}getReadOptions(e,t){if(t){let n=t.dataProjection?ro(t.dataProjection):this.readProjection(e);t.extent&&n&&"tile-pixels"===n.getUnits()&&(n=ro(n),n.setWorldExtent(t.extent)),t={dataProjection:n,featureProjection:t.featureProjection}}return this.adaptOptions(t)}adaptOptions(e){return Object.assign({dataProjection:this.dataProjection,featureProjection:this.defaultFeatureProjection,featureClass:this.featureClass},e)}getType(){return ls()}readFeature(e,t){return ls()}readFeatures(e,t){return ls()}readGeometry(e,t){return ls()}readProjection(e){return ls()}writeFeature(e,t){return ls()}writeFeatures(e,t){return ls()}writeGeometry(e,t){return ls()}};function KC(e,t,n){const i=n?ro(n.featureProjection):null,r=n?ro(n.dataProjection):null;let o=e;if(i&&r&&!uo(i,r)){t&&(o=e.clone());const n=t?i:r,s=t?r:i;"tile-pixels"===n.getUnits()?o.transform(n,s):o.applyTransform(fo(n,s))}if(t&&n&&void 0!==n.decimals){const t=Math.pow(10,n.decimals),i=function(e){for(let n=0,i=e.length;n<i;++n)e[n]=Math.round(e[n]*t)/t;return e};o===e&&(o=e.clone()),o.applyTransform(i)}return o}const XC={Point:za,LineString:jC,Polygon:Qa,MultiPoint:NC,MultiLineString:qC,MultiPolygon:VC};function ZC(e,t){const n=e.geometry;if(!n)return[];if(Array.isArray(n))return n.map(t=>ZC({...e,geometry:t})).flat();const i="MultiPolygon"===n.type?"Polygon":n.type;if("GeometryCollection"===i||"Circle"===i)throw new Error("Unsupported geometry type: "+i);const r=n.layout.length;return KC(new Bk(i,"Polygon"===i?function(e,t,n){return Array.isArray(t[0])?($a(e,0,t,n)||Xa(e=e.slice(),0,t,n),e):(Ua(e,0,t,n)||Ka(e=e.slice(),0,t,n),e)}(n.flatCoordinates,n.ends,r):n.flatCoordinates,n.ends?.flat(),r,e.properties||{},e.id).enableSimplifyTransformed(),!1,t)}function YC(e,t){if(!e)return null;if(Array.isArray(e)){const n=e.map(e=>YC(e,t));return new UC(n)}return KC(new(0,XC[e.type])(e.flatCoordinates,e.layout||"XY",e.ends),!1,t)}function QC(e){if("string"==typeof e){return JSON.parse(e)||null}return null!==e?e:null}const JC=class extends $C{constructor(){super()}getType(){return"json"}readFeature(e,t){return this.readFeatureFromObject(QC(e),this.getReadOptions(e,t))}readFeatures(e,t){return this.readFeaturesFromObject(QC(e),this.getReadOptions(e,t))}readFeatureFromObject(e,t){return ls()}readFeaturesFromObject(e,t){return ls()}readGeometry(e,t){return this.readGeometryFromObject(QC(e),this.getReadOptions(e,t))}readGeometryFromObject(e,t){return ls()}readProjection(e){return this.readProjectionFromObject(QC(e))}readProjectionFromObject(e){return ls()}writeFeature(e,t){return JSON.stringify(this.writeFeatureObject(e,t))}writeFeatureObject(e,t){return ls()}writeFeatures(e,t){return JSON.stringify(this.writeFeaturesObject(e,t))}writeFeaturesObject(e,t){return ls()}writeGeometry(e,t){return JSON.stringify(this.writeGeometryObject(e,t))}writeGeometryObject(e,t){return ls()}};function eA(e,t){if(!e)return null;let n;switch(e.type){case"Point":n=function(e){const t=e.coordinates;return{type:"Point",flatCoordinates:t,layout:la(t.length)}}(e);break;case"LineString":n=function(e){const t=e.coordinates,n=t.flat();return{type:"LineString",flatCoordinates:n,ends:[n.length],layout:la(t[0]?.length||2)}}(e);break;case"Polygon":n=function(e){const t=e.coordinates,n=[],i=t[0]?.[0]?.length;return{type:"Polygon",flatCoordinates:n,ends:ba(n,0,t,i),layout:la(i)}}(e);break;case"MultiPoint":n=function(e){const t=e.coordinates;return{type:"MultiPoint",flatCoordinates:t.flat(),layout:la(t[0]?.length||2)}}(e);break;case"MultiLineString":n=function(e){const t=e.coordinates,n=t[0]?.[0]?.length||2,i=[];return{type:"MultiLineString",flatCoordinates:i,ends:ba(i,0,t,n),layout:la(n)}}(e);break;case"MultiPolygon":n=function(e){const t=e.coordinates,n=[],i=t[0]?.[0]?.[0].length||2;return{type:"MultiPolygon",flatCoordinates:n,ends:xa(n,0,t,i),layout:la(i)}}(e);break;case"GeometryCollection":n=function(e){const t=e.geometries.map(function(e){return eA(e)});return t}(e);break;default:throw new Error("Unsupported GeoJSON type: "+e.type)}return n}function tA(e,t){const n=(e=KC(e,!0,t)).getType();let i;switch(n){case"Point":i=function(e){return{type:"Point",coordinates:e.getCoordinates()}}(e);break;case"LineString":i=function(e){return{type:"LineString",coordinates:e.getCoordinates()}}(e);break;case"Polygon":i=function(e,t){let n;return t&&(n=t.rightHanded),{type:"Polygon",coordinates:e.getCoordinates(n)}}(e,t);break;case"MultiPoint":i=function(e){return{type:"MultiPoint",coordinates:e.getCoordinates()}}(e);break;case"MultiLineString":i=function(e){return{type:"MultiLineString",coordinates:e.getCoordinates()}}(e);break;case"MultiPolygon":i=function(e,t){let n;return t&&(n=t.rightHanded),{type:"MultiPolygon",coordinates:e.getCoordinates(n)}}(e,t);break;case"GeometryCollection":i=function(e,t){delete(t=Object.assign({},t)).featureProjection;return{type:"GeometryCollection",geometries:e.getGeometriesArray().map(function(e){return tA(e,t)})}}(e,t);break;case"Circle":i={type:"GeometryCollection",geometries:[]};break;default:throw new Error("Unsupported geometry type: "+n)}return i}const nA=class extends JC{constructor(e){e=e||{},super(),this.dataProjection=ro(e.dataProjection?e.dataProjection:"EPSG:4326"),e.featureProjection&&(this.defaultFeatureProjection=ro(e.featureProjection)),e.featureClass&&(this.featureClass=e.featureClass),this.geometryName_=e.geometryName,this.extractGeometryName_=e.extractGeometryName,this.supportedMediaTypes=["application/geo+json","application/vnd.geo+json"]}readFeatureFromObject(e,t){let n=null;n="Feature"===e.type?e:{type:"Feature",geometry:e,properties:null};const i=eA(n.geometry);if(this.featureClass===Bk)return ZC({geometry:i,id:n.id,properties:n.properties},t);const r=new dy;return this.geometryName_?r.setGeometryName(this.geometryName_):this.extractGeometryName_&&n.geometry_name&&r.setGeometryName(n.geometry_name),r.setGeometry(YC(i,t)),"id"in n&&r.setId(n.id),n.properties&&r.setProperties(n.properties,!0),r}readFeaturesFromObject(e,t){let n=null;if("FeatureCollection"===e.type){n=[];const i=e.features;for(let e=0,r=i.length;e<r;++e){const r=this.readFeatureFromObject(i[e],t);r&&n.push(r)}}else n=[this.readFeatureFromObject(e,t)];return n.flat()}readGeometryFromObject(e,t){return function(e,t){return YC(eA(e),t)}(e,t)}readProjectionFromObject(e){const t=e.crs;let n;if(t)if("name"==t.type)n=ro(t.properties.name);else{if("EPSG"!==t.type)throw new Error("Unknown SRS type");n=ro("EPSG:"+t.properties.code)}else n=this.dataProjection;return n}writeFeatureObject(e,t){t=this.adaptOptions(t);const n={type:"Feature",geometry:null,properties:null},i=e.getId();if(void 0!==i&&(n.id=i),!e.hasProperties())return n;const r=e.getProperties(),o=e.getGeometry();return o&&(n.geometry=tA(o,t),delete r[e.getGeometryName()]),es(r)||(n.properties=r),n}writeFeaturesObject(e,t){t=this.adaptOptions(t);const n=[];for(let i=0,r=e.length;i<r;++i)n.push(this.writeFeatureObject(e[i],t));return{type:"FeatureCollection",features:n}}writeGeometryObject(e,t){return tA(e,this.adaptOptions(t))}},iA=4294967296,rA=1/iA,oA="undefined"==typeof TextDecoder?null:new TextDecoder("utf-8");class sA{constructor(e=new Uint8Array(16)){this.buf=ArrayBuffer.isView(e)?e:new Uint8Array(e),this.dataView=new DataView(this.buf.buffer),this.pos=0,this.type=0,this.length=this.buf.length}readFields(e,t,n=this.length){for(;this.pos<n;){const n=this.readVarint(),i=n>>3,r=this.pos;this.type=7&n,e(i,t,this),this.pos===r&&this.skip(n)}return t}readMessage(e,t){return this.readFields(e,t,this.readVarint()+this.pos)}readFixed32(){const e=this.dataView.getUint32(this.pos,!0);return this.pos+=4,e}readSFixed32(){const e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}readFixed64(){const e=this.dataView.getUint32(this.pos,!0)+this.dataView.getUint32(this.pos+4,!0)*iA;return this.pos+=8,e}readSFixed64(){const e=this.dataView.getUint32(this.pos,!0)+this.dataView.getInt32(this.pos+4,!0)*iA;return this.pos+=8,e}readFloat(){const e=this.dataView.getFloat32(this.pos,!0);return this.pos+=4,e}readDouble(){const e=this.dataView.getFloat64(this.pos,!0);return this.pos+=8,e}readVarint(e){const t=this.buf;let n,i;return i=t[this.pos++],n=127&i,i<128?n:(i=t[this.pos++],n|=(127&i)<<7,i<128?n:(i=t[this.pos++],n|=(127&i)<<14,i<128?n:(i=t[this.pos++],n|=(127&i)<<21,i<128?n:(i=t[this.pos],n|=(15&i)<<28,function(e,t,n){const i=n.buf;let r,o;if(o=i[n.pos++],r=(112&o)>>4,o<128)return aA(e,r,t);if(o=i[n.pos++],r|=(127&o)<<3,o<128)return aA(e,r,t);if(o=i[n.pos++],r|=(127&o)<<10,o<128)return aA(e,r,t);if(o=i[n.pos++],r|=(127&o)<<17,o<128)return aA(e,r,t);if(o=i[n.pos++],r|=(127&o)<<24,o<128)return aA(e,r,t);if(o=i[n.pos++],r|=(1&o)<<31,o<128)return aA(e,r,t);throw new Error("Expected varint not more than 10 bytes")}(n,e,this)))))}readVarint64(){return this.readVarint(!0)}readSVarint(){const e=this.readVarint();return e%2==1?(e+1)/-2:e/2}readBoolean(){return Boolean(this.readVarint())}readString(){const e=this.readVarint()+this.pos,t=this.pos;return this.pos=e,e-t>=12&&oA?oA.decode(this.buf.subarray(t,e)):function(e,t,n){let i="",r=t;for(;r<n;){const t=e[r];let o,s,a,l=null,c=t>239?4:t>223?3:t>191?2:1;if(r+c>n)break;1===c?t<128&&(l=t):2===c?(o=e[r+1],128==(192&o)&&(l=(31&t)<<6|63&o,l<=127&&(l=null))):3===c?(o=e[r+1],s=e[r+2],128==(192&o)&&128==(192&s)&&(l=(15&t)<<12|(63&o)<<6|63&s,(l<=2047||l>=55296&&l<=57343)&&(l=null))):4===c&&(o=e[r+1],s=e[r+2],a=e[r+3],128==(192&o)&&128==(192&s)&&128==(192&a)&&(l=(15&t)<<18|(63&o)<<12|(63&s)<<6|63&a,(l<=65535||l>=1114112)&&(l=null))),null===l?(l=65533,c=1):l>65535&&(l-=65536,i+=String.fromCharCode(l>>>10&1023|55296),l=56320|1023&l),i+=String.fromCharCode(l),r+=c}return i}(this.buf,t,e)}readBytes(){const e=this.readVarint()+this.pos,t=this.buf.subarray(this.pos,e);return this.pos=e,t}readPackedVarint(e=[],t){const n=this.readPackedEnd();for(;this.pos<n;)e.push(this.readVarint(t));return e}readPackedSVarint(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSVarint());return e}readPackedBoolean(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readBoolean());return e}readPackedFloat(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFloat());return e}readPackedDouble(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readDouble());return e}readPackedFixed32(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed32());return e}readPackedSFixed32(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed32());return e}readPackedFixed64(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readFixed64());return e}readPackedSFixed64(e=[]){const t=this.readPackedEnd();for(;this.pos<t;)e.push(this.readSFixed64());return e}readPackedEnd(){return 2===this.type?this.readVarint()+this.pos:this.pos+1}skip(e){const t=7&e;if(0===t)for(;this.buf[this.pos++]>127;);else if(2===t)this.pos=this.readVarint()+this.pos;else if(5===t)this.pos+=4;else{if(1!==t)throw new Error(`Unimplemented type: ${t}`);this.pos+=8}}writeTag(e,t){this.writeVarint(e<<3|t)}realloc(e){let t=this.length||16;for(;t<this.pos+e;)t*=2;if(t!==this.length){const e=new Uint8Array(t);e.set(this.buf),this.buf=e,this.dataView=new DataView(e.buffer),this.length=t}}finish(){return this.length=this.pos,this.pos=0,this.buf.subarray(0,this.length)}writeFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeSFixed32(e){this.realloc(4),this.dataView.setInt32(this.pos,e,!0),this.pos+=4}writeFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,-1&e,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*rA),!0),this.pos+=8}writeSFixed64(e){this.realloc(8),this.dataView.setInt32(this.pos,-1&e,!0),this.dataView.setInt32(this.pos+4,Math.floor(e*rA),!0),this.pos+=8}writeVarint(e){(e=+e||0)>268435455||e<0?function(e,t){let n,i;if(e>=0?(n=e%4294967296|0,i=e/4294967296|0):(n=~(-e%4294967296),i=~(-e/4294967296),4294967295^n?n=n+1|0:(n=0,i=i+1|0)),e>=0x10000000000000000||e<-0x10000000000000000)throw new Error("Given varint doesn't fit into 10 bytes");t.realloc(10),function(e,t,n){n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos++]=127&e|128,e>>>=7,n.buf[n.pos]=127&e}(n,0,t),function(e,t){const n=(7&e)<<4;t.buf[t.pos++]|=n|((e>>>=3)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e|((e>>>=7)?128:0),e&&(t.buf[t.pos++]=127&e)))))}(i,t)}(e,this):(this.realloc(4),this.buf[this.pos++]=127&e|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=127&(e>>>=7)|(e>127?128:0),e<=127||(this.buf[this.pos++]=e>>>7&127))))}writeSVarint(e){this.writeVarint(e<0?2*-e-1:2*e)}writeBoolean(e){this.writeVarint(+e)}writeString(e){e=String(e),this.realloc(4*e.length),this.pos++;const t=this.pos;this.pos=function(e,t,n){for(let i,r,o=0;o<t.length;o++){if(i=t.charCodeAt(o),i>55295&&i<57344){if(!r){i>56319||o+1===t.length?(e[n++]=239,e[n++]=191,e[n++]=189):r=i;continue}if(i<56320){e[n++]=239,e[n++]=191,e[n++]=189,r=i;continue}i=r-55296<<10|i-56320|65536,r=null}else r&&(e[n++]=239,e[n++]=191,e[n++]=189,r=null);i<128?e[n++]=i:(i<2048?e[n++]=i>>6|192:(i<65536?e[n++]=i>>12|224:(e[n++]=i>>18|240,e[n++]=i>>12&63|128),e[n++]=i>>6&63|128),e[n++]=63&i|128)}return n}(this.buf,e,this.pos);const n=this.pos-t;n>=128&&lA(t,n,this),this.pos=t-1,this.writeVarint(n),this.pos+=n}writeFloat(e){this.realloc(4),this.dataView.setFloat32(this.pos,e,!0),this.pos+=4}writeDouble(e){this.realloc(8),this.dataView.setFloat64(this.pos,e,!0),this.pos+=8}writeBytes(e){const t=e.length;this.writeVarint(t),this.realloc(t);for(let n=0;n<t;n++)this.buf[this.pos++]=e[n]}writeRawMessage(e,t){this.pos++;const n=this.pos;e(t,this);const i=this.pos-n;i>=128&&lA(n,i,this),this.pos=n-1,this.writeVarint(i),this.pos+=i}writeMessage(e,t,n){this.writeTag(e,2),this.writeRawMessage(t,n)}writePackedVarint(e,t){t.length&&this.writeMessage(e,cA,t)}writePackedSVarint(e,t){t.length&&this.writeMessage(e,uA,t)}writePackedBoolean(e,t){t.length&&this.writeMessage(e,hA,t)}writePackedFloat(e,t){t.length&&this.writeMessage(e,dA,t)}writePackedDouble(e,t){t.length&&this.writeMessage(e,pA,t)}writePackedFixed32(e,t){t.length&&this.writeMessage(e,fA,t)}writePackedSFixed32(e,t){t.length&&this.writeMessage(e,_A,t)}writePackedFixed64(e,t){t.length&&this.writeMessage(e,gA,t)}writePackedSFixed64(e,t){t.length&&this.writeMessage(e,mA,t)}writeBytesField(e,t){this.writeTag(e,2),this.writeBytes(t)}writeFixed32Field(e,t){this.writeTag(e,5),this.writeFixed32(t)}writeSFixed32Field(e,t){this.writeTag(e,5),this.writeSFixed32(t)}writeFixed64Field(e,t){this.writeTag(e,1),this.writeFixed64(t)}writeSFixed64Field(e,t){this.writeTag(e,1),this.writeSFixed64(t)}writeVarintField(e,t){this.writeTag(e,0),this.writeVarint(t)}writeSVarintField(e,t){this.writeTag(e,0),this.writeSVarint(t)}writeStringField(e,t){this.writeTag(e,2),this.writeString(t)}writeFloatField(e,t){this.writeTag(e,5),this.writeFloat(t)}writeDoubleField(e,t){this.writeTag(e,1),this.writeDouble(t)}writeBooleanField(e,t){this.writeVarintField(e,+t)}}function aA(e,t,n){return n?4294967296*t+(e>>>0):4294967296*(t>>>0)+(e>>>0)}function lA(e,t,n){const i=t<=16383?1:t<=2097151?2:t<=268435455?3:Math.floor(Math.log(t)/(7*Math.LN2));n.realloc(i);for(let t=n.pos-1;t>=e;t--)n.buf[t+i]=n.buf[t]}function cA(e,t){for(let n=0;n<e.length;n++)t.writeVarint(e[n])}function uA(e,t){for(let n=0;n<e.length;n++)t.writeSVarint(e[n])}function dA(e,t){for(let n=0;n<e.length;n++)t.writeFloat(e[n])}function pA(e,t){for(let n=0;n<e.length;n++)t.writeDouble(e[n])}function hA(e,t){for(let n=0;n<e.length;n++)t.writeBoolean(e[n])}function fA(e,t){for(let n=0;n<e.length;n++)t.writeFixed32(e[n])}function _A(e,t){for(let n=0;n<e.length;n++)t.writeSFixed32(e[n])}function gA(e,t){for(let n=0;n<e.length;n++)t.writeFixed64(e[n])}function mA(e,t){for(let n=0;n<e.length;n++)t.writeSFixed64(e[n])}function yA(e,t,n){if(3===e){const e={keys:[],values:[],features:[]},i=n.readVarint()+n.pos;n.readFields(vA,e,i),e.length=e.features.length,e.length&&(t[e.name]=e)}}function vA(e,t,n){if(15===e)t.version=n.readVarint();else if(1===e)t.name=n.readString();else if(5===e)t.extent=n.readVarint();else if(2===e)t.features.push(n.pos);else if(3===e)t.keys.push(n.readString());else if(4===e){let i=null;const r=n.readVarint()+n.pos;for(;n.pos<r;)i=1==(e=n.readVarint()>>3)?n.readString():2===e?n.readFloat():3===e?n.readDouble():4===e?n.readVarint64():5===e?n.readVarint():6===e?n.readSVarint():7===e?n.readBoolean():null;t.values.push(i)}}function bA(e,t,n){if(1==e)t.id=n.readVarint();else if(2==e){const e=n.readVarint()+n.pos;for(;n.pos<e;){const e=t.layer.keys[n.readVarint()],i=t.layer.values[n.readVarint()];t.properties[e]=i}}else 3==e?t.type=n.readVarint():4==e&&(t.geometry=n.pos)}function xA(e,t,n){e.pos=t.features[n];const i=e.readVarint()+e.pos,r={layer:t,type:0,properties:{}};return e.readFields(bA,r,i),r}const wA=class extends $C{constructor(e){super(),e=e||{},this.dataProjection=new ur({code:"",units:"tile-pixels"}),this.featureClass=e.featureClass?e.featureClass:Bk,this.geometryName_=e.geometryName,this.layerName_=e.layerName?e.layerName:"layer",this.layers_=e.layers?e.layers:null,this.idProperty_=e.idProperty,this.supportedMediaTypes=["application/vnd.mapbox-vector-tile","application/x-protobuf"]}readRawGeometry_(e,t,n,i){e.pos=t.geometry;const r=e.readVarint()+e.pos;let o=1,s=0,a=0,l=0,c=0,u=0;for(;e.pos<r;){if(!s){const t=e.readVarint();o=7&t,s=t>>3}if(s--,1===o||2===o)a+=e.readSVarint(),l+=e.readSVarint(),1===o&&c>u&&(i.push(c),u=c),n.push(a,l),c+=2;else{if(7!==o)throw new Error("Invalid command found in the PBF");c>u&&(n.push(n[u],n[u+1]),c+=2)}}c>u&&(i.push(c),u=c)}createFeature_(e,t,n){const i=t.type;if(0===i)return null;let r;const o=t.properties;let s;this.idProperty_?(s=o[this.idProperty_],delete o[this.idProperty_]):s=t.id,o[this.layerName_]=t.layer.name;const a=[],l=[];this.readRawGeometry_(e,t,a,l);const c=function(e,t){let n;return 1===e?n=1===t?"Point":"MultiPoint":2===e?n=1===t?"LineString":"MultiLineString":3===e&&(n="Polygon"),n}(i,l.length);if(this.featureClass===Bk)r=new this.featureClass(c,a,l,2,o,s),r.transform(n.dataProjection);else{let e;if("Polygon"==c){const t=Za(a,l);e=t.length>1?new VC(a,"XY",t):new Qa(a,"XY",l)}else e="Point"===c?new za(a,"XY"):"LineString"===c?new jC(a,"XY"):"MultiPoint"===c?new NC(a,"XY"):"MultiLineString"===c?new qC(a,"XY",l):null;r=new(0,this.featureClass),this.geometryName_&&r.setGeometryName(this.geometryName_);const t=KC(e,!1,n);r.setGeometry(t),void 0!==s&&r.setId(s),r.setProperties(o,!0)}return r}getType(){return"arraybuffer"}readFeatures(e,t){const n=this.layers_,i=ro((t=this.adaptOptions(t)).dataProjection);i.setWorldExtent(t.extent),t.dataProjection=i;const r=new sA(e),o=r.readFields(yA,{}),s=[];for(const e in o){if(n&&!n.includes(e))continue;const a=o[e],l=a?[0,0,a.extent,a.extent]:null;i.setExtent(l);for(let e=0,n=a.length;e<n;++e){const n=xA(r,a,e),i=this.createFeature_(r,n,t);null!==i&&s.push(i)}}return s}readProjection(e){return this.dataProjection}setLayers(e){this.layers_=e}},kA=class extends Oy{constructor(e){super(e),this.image=null}getImage(){return this.image?this.image.getImage():null}prepareFrame(e){const t=e.layerStatesArray[e.layerIndex],n=e.pixelRatio,i=e.viewState,r=i.resolution,o=this.getLayer().getSource(),s=e.viewHints;let a=e.extent;if(void 0!==t.extent&&(a=Fi(a,wo(t.extent,i.projection))),!s[0]&&!s[1]&&!qi(a))if(o){const e=i.projection,t=o.getImage(a,r,n,e);t&&(this.loadImage(t)?this.image=t:4===t.getState()&&(this.image=null))}else this.image=null;return!!this.image}getData(e){const t=this.frameState;if(!t)return null;const n=this.getLayer(),i=Ys(t.pixelToCoordinateTransform,e.slice()),r=n.getExtent();if(r&&!fi(r,i))return null;const o=this.image.getExtent(),s=this.image.getImage(),a=Ni(o),l=Math.floor(s.width*((i[0]-o[0])/a));if(l<0||l>=s.width)return null;const c=Oi(o),u=Math.floor(s.height*((o[3]-i[1])/c));return u<0||u>=s.height?null:this.getImageData(s,l,u)}renderFrame(e,t){const n=this.image,i=n.getExtent(),r=n.getResolution(),[o,s]=Array.isArray(r)?r:[r,r],a=n.getPixelRatio(),l=e.layerStatesArray[e.layerIndex],c=e.pixelRatio,u=e.viewState,d=u.center,p=u.resolution,h=c*o/(p*a),f=c*s/(p*a);this.prepareContainer(e,t);const _=this.context.canvas.width,g=this.context.canvas.height,m=this.getRenderContext(e);let y=!1,v=!0;if(l.extent){const t=wo(l.extent,u.projection);v=Bi(t,e.extent),y=v&&!_i(t,e.extent),y&&this.clipUnrotated(m,e,t)}const b=n.getImage(),x=Js(this.tempTransform,_/2,g/2,h,f,0,a*(i[0]-d[0])/o,a*(d[1]-i[3])/s);this.renderedResolution=s*c/a;const w=b.width*x[0],k=b.height*x[3];if(this.getLayer().getSource().getInterpolate()||(m.imageSmoothingEnabled=!1),this.preRender(m,e),v&&w>=.5&&k>=.5){const e=x[4],t=x[5],n=l.opacity;1!==n&&(m.save(),m.globalAlpha=n),m.drawImage(b,0,0,+b.width,+b.height,e,t,w,k),1!==n&&m.restore()}return this.postRender(this.context,e),y&&m.restore(),m.imageSmoothingEnabled=!0,this.container}},CA=class extends Pc{constructor(e){super(e=e||{})}},AA=class extends CA{constructor(e){super(e)}createRenderer(){return new kA(this)}getData(e){return super.getData(e)}},SA=class{drawCustom(e,t,n,i,r){}drawGeometry(e){}setStyle(e){}drawCircle(e,t,n){}drawFeature(e,t,n){}drawGeometryCollection(e,t,n){}drawLineString(e,t,n){}drawMultiLineString(e,t,n){}drawMultiPoint(e,t,n){}drawMultiPolygon(e,t,n){}drawPoint(e,t,n){}drawPolygon(e,t,n){}drawText(e,t,n){}setFillStrokeStyle(e,t){}setImageStyle(e,t){}setTextStyle(e,t){}},EA={BEGIN_GEOMETRY:0,BEGIN_PATH:1,CIRCLE:2,CLOSE_PATH:3,CUSTOM:4,DRAW_CHARS:5,DRAW_IMAGE:6,END_GEOMETRY:7,FILL:8,MOVE_TO_LINE_TO:9,SET_FILL_STYLE:10,SET_STROKE_STYLE:11,STROKE:12},IA=[EA.FILL],TA=[EA.STROKE],MA=[EA.BEGIN_PATH],PA=[EA.CLOSE_PATH],RA=EA,zA=class extends SA{constructor(e,t,n,i){super(),this.tolerance=e,this.maxExtent=t,this.pixelRatio=i,this.maxLineWidth=0,this.resolution=n,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_=null,this.bufferedMaxExtent_=null,this.instructions=[],this.coordinates=[],this.tmpCoordinate_=[],this.hitDetectionInstructions=[],this.state={}}applyPixelRatio(e){const t=this.pixelRatio;return 1==t?e:e.map(function(e){return e*t})}appendFlatPointCoordinates(e,t){const n=this.getBufferedMaxExtent(),i=this.tmpCoordinate_,r=this.coordinates;let o=r.length;for(let s=0,a=e.length;s<a;s+=t)i[0]=e[s],i[1]=e[s+1],fi(n,i)&&(r[o++]=i[0],r[o++]=i[1]);return o}appendFlatLineCoordinates(e,t,n,i,r,o){const s=this.coordinates;let a=s.length;const l=this.getBufferedMaxExtent();o&&(t+=i);let c=e[t],u=e[t+1];const d=this.tmpCoordinate_;let p,h,f,_=!0;for(p=t+i;p<n;p+=i)d[0]=e[p],d[1]=e[p+1],f=mi(l,d),f!==h?(_&&(s[a++]=c,s[a++]=u,_=!1),s[a++]=d[0],s[a++]=d[1]):1===f?(s[a++]=d[0],s[a++]=d[1],_=!1):_=!0,c=d[0],u=d[1],h=f;return(r&&_||p===t+i)&&(s[a++]=c,s[a++]=u),a}drawCustomCoordinates_(e,t,n,i,r){for(let o=0,s=n.length;o<s;++o){const s=n[o],a=this.appendFlatLineCoordinates(e,t,s,i,!1,!1);r.push(a),t=s}return t}drawCustom(e,t,n,i,r){this.beginGeometry(e,t,r);const o=e.getType(),s=e.getStride(),a=this.coordinates.length;let l,c,u,d,p;switch(o){case"MultiPolygon":l=e.getOrientedFlatCoordinates(),d=[];const t=e.getEndss();p=0;for(let e=0,n=t.length;e<n;++e){const n=[];p=this.drawCustomCoordinates_(l,p,t[e],s,n),d.push(n)}this.instructions.push([RA.CUSTOM,a,d,e,n,Ca,r]),this.hitDetectionInstructions.push([RA.CUSTOM,a,d,e,i||n,Ca,r]);break;case"Polygon":case"MultiLineString":u=[],l="Polygon"==o?e.getOrientedFlatCoordinates():e.getFlatCoordinates(),p=this.drawCustomCoordinates_(l,0,e.getEnds(),s,u),this.instructions.push([RA.CUSTOM,a,u,e,n,ka,r]),this.hitDetectionInstructions.push([RA.CUSTOM,a,u,e,i||n,ka,r]);break;case"LineString":case"Circle":l=e.getFlatCoordinates(),c=this.appendFlatLineCoordinates(l,0,l.length,s,!1,!1),this.instructions.push([RA.CUSTOM,a,c,e,n,wa,r]),this.hitDetectionInstructions.push([RA.CUSTOM,a,c,e,i||n,wa,r]);break;case"MultiPoint":l=e.getFlatCoordinates(),c=this.appendFlatPointCoordinates(l,s),c>a&&(this.instructions.push([RA.CUSTOM,a,c,e,n,wa,r]),this.hitDetectionInstructions.push([RA.CUSTOM,a,c,e,i||n,wa,r]));break;case"Point":l=e.getFlatCoordinates(),this.coordinates.push(l[0],l[1]),c=this.coordinates.length,this.instructions.push([RA.CUSTOM,a,c,e,n,void 0,r]),this.hitDetectionInstructions.push([RA.CUSTOM,a,c,e,i||n,void 0,r])}this.endGeometry(t)}beginGeometry(e,t,n){this.beginGeometryInstruction1_=[RA.BEGIN_GEOMETRY,t,0,e,n],this.instructions.push(this.beginGeometryInstruction1_),this.beginGeometryInstruction2_=[RA.BEGIN_GEOMETRY,t,0,e,n],this.hitDetectionInstructions.push(this.beginGeometryInstruction2_)}finish(){return{instructions:this.instructions,hitDetectionInstructions:this.hitDetectionInstructions,coordinates:this.coordinates}}reverseHitDetectionInstructions(){const e=this.hitDetectionInstructions;let t;e.reverse();const n=e.length;let i,r,o=-1;for(t=0;t<n;++t)i=e[t],r=i[0],r==RA.END_GEOMETRY?o=t:r==RA.BEGIN_GEOMETRY&&(i[2]=t,Ho(this.hitDetectionInstructions,o,t),o=-1)}fillStyleToState(e,t={}){if(e){const n=e.getColor();t.fillPatternScale=n&&"object"==typeof n&&"src"in n?this.pixelRatio:1,t.fillStyle=Xd(n||Yd)}else t.fillStyle=void 0;return t}strokeStyleToState(e,t={}){if(e){const n=e.getColor();t.strokeStyle=Xd(n||tp);const i=e.getLineCap();t.lineCap=void 0!==i?i:Qd;const r=e.getLineDash();t.lineDash=r?r.slice():Jd;const o=e.getLineDashOffset();t.lineDashOffset=o||0;const s=e.getLineJoin();t.lineJoin=void 0!==s?s:ep;const a=e.getWidth();t.lineWidth=void 0!==a?a:1;const l=e.getMiterLimit();t.miterLimit=void 0!==l?l:10,t.lineWidth>this.maxLineWidth&&(this.maxLineWidth=t.lineWidth,this.bufferedMaxExtent_=null)}else t.strokeStyle=void 0,t.lineCap=void 0,t.lineDash=null,t.lineDashOffset=void 0,t.lineJoin=void 0,t.lineWidth=void 0,t.miterLimit=void 0;return t}setFillStrokeStyle(e,t){const n=this.state;this.fillStyleToState(e,n),this.strokeStyleToState(t,n)}createFill(e){const t=e.fillStyle,n=[RA.SET_FILL_STYLE,t];return"string"!=typeof t&&n.push(e.fillPatternScale),n}applyStroke(e){this.instructions.push(this.createStroke(e))}createStroke(e){return[RA.SET_STROKE_STYLE,e.strokeStyle,e.lineWidth*this.pixelRatio,e.lineCap,e.lineJoin,e.miterLimit,e.lineDash?this.applyPixelRatio(e.lineDash):null,e.lineDashOffset*this.pixelRatio]}updateFillStyle(e,t){const n=e.fillStyle;"string"==typeof n&&e.currentFillStyle==n||(this.instructions.push(t.call(this,e)),e.currentFillStyle=n)}updateStrokeStyle(e,t){const n=e.strokeStyle,i=e.lineCap,r=e.lineDash,o=e.lineDashOffset,s=e.lineJoin,a=e.lineWidth,l=e.miterLimit;(e.currentStrokeStyle!=n||e.currentLineCap!=i||r!=e.currentLineDash&&!$o(e.currentLineDash,r)||e.currentLineDashOffset!=o||e.currentLineJoin!=s||e.currentLineWidth!=a||e.currentMiterLimit!=l)&&(t.call(this,e),e.currentStrokeStyle=n,e.currentLineCap=i,e.currentLineDash=r,e.currentLineDashOffset=o,e.currentLineJoin=s,e.currentLineWidth=a,e.currentMiterLimit=l)}endGeometry(e){this.beginGeometryInstruction1_[2]=this.instructions.length,this.beginGeometryInstruction1_=null,this.beginGeometryInstruction2_[2]=this.hitDetectionInstructions.length,this.beginGeometryInstruction2_=null;const t=[RA.END_GEOMETRY,e];this.instructions.push(t),this.hitDetectionInstructions.push(t)}getBufferedMaxExtent(){if(!this.bufferedMaxExtent_&&(this.bufferedMaxExtent_=pi(this.maxExtent),this.maxLineWidth>0)){const e=this.resolution*(this.maxLineWidth+1)/2;di(this.bufferedMaxExtent_,e,this.bufferedMaxExtent_)}return this.bufferedMaxExtent_}},LA=class extends zA{constructor(e,t,n,i){super(e,t,n,i)}drawFlatCoordinatess_(e,t,n,i){const r=this.state,o=void 0!==r.fillStyle,s=void 0!==r.strokeStyle,a=n.length;this.instructions.push(MA),this.hitDetectionInstructions.push(MA);for(let r=0;r<a;++r){const o=n[r],a=this.coordinates.length,l=this.appendFlatLineCoordinates(e,t,o,i,!0,!s),c=[RA.MOVE_TO_LINE_TO,a,l];this.instructions.push(c),this.hitDetectionInstructions.push(c),s&&(this.instructions.push(PA),this.hitDetectionInstructions.push(PA)),t=o}return o&&(this.instructions.push(IA),this.hitDetectionInstructions.push(IA)),s&&(this.instructions.push(TA),this.hitDetectionInstructions.push(TA)),t}drawCircle(e,t,n){const i=this.state,r=i.fillStyle,o=i.strokeStyle;if(void 0===r&&void 0===o)return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,n),void 0!==i.fillStyle&&this.hitDetectionInstructions.push([RA.SET_FILL_STYLE,Yd]),void 0!==i.strokeStyle&&this.hitDetectionInstructions.push([RA.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0]);const s=e.getFlatCoordinates(),a=e.getStride(),l=this.coordinates.length;this.appendFlatLineCoordinates(s,0,s.length,a,!1,!1);const c=[RA.CIRCLE,l];this.instructions.push(MA,c),this.hitDetectionInstructions.push(MA,c),void 0!==i.fillStyle&&(this.instructions.push(IA),this.hitDetectionInstructions.push(IA)),void 0!==i.strokeStyle&&(this.instructions.push(TA),this.hitDetectionInstructions.push(TA)),this.endGeometry(t)}drawPolygon(e,t,n){const i=this.state,r=i.fillStyle,o=i.strokeStyle;if(void 0===r&&void 0===o)return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,n),void 0!==i.fillStyle&&this.hitDetectionInstructions.push([RA.SET_FILL_STYLE,Yd]),void 0!==i.strokeStyle&&this.hitDetectionInstructions.push([RA.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0]);const s=e.getEnds(),a=e.getOrientedFlatCoordinates(),l=e.getStride();this.drawFlatCoordinatess_(a,0,s,l),this.endGeometry(t)}drawMultiPolygon(e,t,n){const i=this.state,r=i.fillStyle,o=i.strokeStyle;if(void 0===r&&void 0===o)return;this.setFillStrokeStyles_(),this.beginGeometry(e,t,n),void 0!==i.fillStyle&&this.hitDetectionInstructions.push([RA.SET_FILL_STYLE,Yd]),void 0!==i.strokeStyle&&this.hitDetectionInstructions.push([RA.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0]);const s=e.getEndss(),a=e.getOrientedFlatCoordinates(),l=e.getStride();let c=0;for(let e=0,t=s.length;e<t;++e)c=this.drawFlatCoordinatess_(a,c,s[e],l);this.endGeometry(t)}finish(){this.reverseHitDetectionInstructions(),this.state=null;const e=this.tolerance;if(0!==e){const t=this.coordinates;for(let n=0,i=t.length;n<i;++n)t[n]=Ea(t[n],e)}return super.finish()}setFillStrokeStyles_(){const e=this.state;this.updateFillStyle(e,this.createFill),this.updateStrokeStyle(e,this.applyStroke)}};function OA(e,t,n,i,r){const o=[];let s=n,a=0,l=t.slice(n,2);for(;a<e&&s+r<i;){const[n,i]=l.slice(-2),c=t[s+r],u=t[s+r+1],d=Math.sqrt((c-n)*(c-n)+(u-i)*(u-i));if(a+=d,a>=e){const t=(e-a+d)/d,p=rr(n,c,t),h=rr(i,u,t);l.push(p,h),o.push(l),l=[p,h],a==e&&(s+=r),a=0}else if(a<e)l.push(t[s+r],t[s+r+1]),s+=r;else{const e=d-a,t=rr(n,c,e/d),p=rr(i,u,e/d);l.push(t,p),o.push(l),l=[t,p],a=0,s+=r}}return a>0&&o.push(l),o}function FA(e,t,n,i,r){let o,s,a,l,c,u,d,p,h,f,_=n,g=n,m=0,y=0,v=n;for(s=n;s<i;s+=r){const n=t[s],i=t[s+1];void 0!==c&&(h=n-c,f=i-u,l=Math.sqrt(h*h+f*f),void 0!==d&&(y+=a,o=Math.acos((d*h+p*f)/(a*l)),o>e&&(y>m&&(m=y,_=v,g=s),y=0,v=s-r)),a=l,d=h,p=f),c=n,u=i}return y+=l,y>m?[v,s]:[_,g]}const jA={left:0,center:.5,right:1,top:0,middle:.5,hanging:.2,alphabetic:.8,ideographic:.8,bottom:1},DA={Circle:LA,Default:zA,Image:class extends zA{constructor(e,t,n,i){super(e,t,n,i),this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.anchorX_=void 0,this.anchorY_=void 0,this.height_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.scale_=void 0,this.width_=void 0,this.declutterMode_=void 0,this.declutterImageWithText_=void 0}drawPoint(e,t,n){if(!this.image_||this.maxExtent&&!fi(this.maxExtent,e.getFlatCoordinates()))return;this.beginGeometry(e,t,n);const i=e.getFlatCoordinates(),r=e.getStride(),o=this.coordinates.length,s=this.appendFlatPointCoordinates(i,r);this.instructions.push([RA.DRAW_IMAGE,o,s,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([RA.DRAW_IMAGE,o,s,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(t)}drawMultiPoint(e,t,n){if(!this.image_)return;this.beginGeometry(e,t,n);const i=e.getFlatCoordinates(),r=[];for(let t=0,n=i.length;t<n;t+=e.getStride())this.maxExtent&&!fi(this.maxExtent,i.slice(t,t+2))||r.push(i[t],i[t+1]);const o=this.coordinates.length,s=this.appendFlatPointCoordinates(r,2);this.instructions.push([RA.DRAW_IMAGE,o,s,this.image_,this.anchorX_*this.imagePixelRatio_,this.anchorY_*this.imagePixelRatio_,Math.ceil(this.height_*this.imagePixelRatio_),this.opacity_,this.originX_*this.imagePixelRatio_,this.originY_*this.imagePixelRatio_,this.rotateWithView_,this.rotation_,[this.scale_[0]*this.pixelRatio/this.imagePixelRatio_,this.scale_[1]*this.pixelRatio/this.imagePixelRatio_],Math.ceil(this.width_*this.imagePixelRatio_),this.declutterMode_,this.declutterImageWithText_]),this.hitDetectionInstructions.push([RA.DRAW_IMAGE,o,s,this.hitDetectionImage_,this.anchorX_,this.anchorY_,this.height_,1,this.originX_,this.originY_,this.rotateWithView_,this.rotation_,this.scale_,this.width_,this.declutterMode_,this.declutterImageWithText_]),this.endGeometry(t)}finish(){return this.reverseHitDetectionInstructions(),this.anchorX_=void 0,this.anchorY_=void 0,this.hitDetectionImage_=null,this.image_=null,this.imagePixelRatio_=void 0,this.height_=void 0,this.scale_=void 0,this.opacity_=void 0,this.originX_=void 0,this.originY_=void 0,this.rotateWithView_=void 0,this.rotation_=void 0,this.width_=void 0,super.finish()}setImageStyle(e,t){const n=e.getAnchor(),i=e.getSize(),r=e.getOrigin();this.imagePixelRatio_=e.getPixelRatio(this.pixelRatio),this.anchorX_=n[0],this.anchorY_=n[1],this.hitDetectionImage_=e.getHitDetectionImage(),this.image_=e.getImage(this.pixelRatio),this.height_=i[1],this.opacity_=e.getOpacity(),this.originX_=r[0],this.originY_=r[1],this.rotateWithView_=e.getRotateWithView(),this.rotation_=e.getRotation(),this.scale_=e.getScaleArray(),this.width_=i[0],this.declutterMode_=e.getDeclutterMode(),this.declutterImageWithText_=t}},LineString:class extends zA{constructor(e,t,n,i){super(e,t,n,i)}drawFlatCoordinates_(e,t,n,i){const r=this.coordinates.length,o=this.appendFlatLineCoordinates(e,t,n,i,!1,!1),s=[RA.MOVE_TO_LINE_TO,r,o];return this.instructions.push(s),this.hitDetectionInstructions.push(s),n}drawLineString(e,t,n){const i=this.state,r=i.strokeStyle,o=i.lineWidth;if(void 0===r||void 0===o)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(e,t,n),this.hitDetectionInstructions.push([RA.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0],MA);const s=e.getFlatCoordinates(),a=e.getStride();this.drawFlatCoordinates_(s,0,s.length,a),this.hitDetectionInstructions.push(TA),this.endGeometry(t)}drawMultiLineString(e,t,n){const i=this.state,r=i.strokeStyle,o=i.lineWidth;if(void 0===r||void 0===o)return;this.updateStrokeStyle(i,this.applyStroke),this.beginGeometry(e,t,n),this.hitDetectionInstructions.push([RA.SET_STROKE_STYLE,i.strokeStyle,i.lineWidth,i.lineCap,i.lineJoin,i.miterLimit,Jd,0],MA);const s=e.getEnds(),a=e.getFlatCoordinates(),l=e.getStride();let c=0;for(let e=0,t=s.length;e<t;++e)c=this.drawFlatCoordinates_(a,c,s[e],l);this.hitDetectionInstructions.push(TA),this.endGeometry(t)}finish(){const e=this.state;return null!=e.lastStroke&&e.lastStroke!=this.coordinates.length&&this.instructions.push(TA),this.reverseHitDetectionInstructions(),this.state=null,super.finish()}applyStroke(e){null!=e.lastStroke&&e.lastStroke!=this.coordinates.length&&(this.instructions.push(TA),e.lastStroke=this.coordinates.length),e.lastStroke=0,super.applyStroke(e),this.instructions.push(MA)}},Polygon:LA,Text:class extends zA{constructor(e,t,n,i){super(e,t,n,i),this.labels_=null,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=void 0,this.textKeepUpright_=void 0,this.textRotation_=0,this.textFillState_=null,this.fillStates={},this.fillStates[Yd]={fillStyle:Yd},this.textStrokeState_=null,this.strokeStates={},this.textState_={},this.textStates={},this.textKey_="",this.fillKey_="",this.strokeKey_="",this.declutterMode_=void 0,this.declutterImageWithText_=void 0}finish(){const e=super.finish();return e.textStates=this.textStates,e.fillStates=this.fillStates,e.strokeStates=this.strokeStates,e}drawText(e,t,n){const i=this.textFillState_,r=this.textStrokeState_,o=this.textState_;if(""===this.text_||!o||!i&&!r)return;const s=this.coordinates;let a=s.length;const l=e.getType();let c=null,u=e.getStride();if("line"!==o.placement||"LineString"!=l&&"MultiLineString"!=l&&"Polygon"!=l&&"MultiPolygon"!=l){let i=o.overflow?null:[];switch(l){case"Point":case"MultiPoint":c=e.getFlatCoordinates();break;case"LineString":c=e.getFlatMidpoint();break;case"Circle":c=e.getCenter();break;case"MultiLineString":c=e.getFlatMidpoints(),u=2;break;case"Polygon":c=e.getFlatInteriorPoint(),o.overflow||i.push(c[2]/this.resolution),u=3;break;case"MultiPolygon":const t=e.getFlatInteriorPoints();c=[];for(let e=0,n=t.length;e<n;e+=3)o.overflow||i.push(t[e+2]/this.resolution),c.push(t[e],t[e+1]);if(0===c.length)return;u=2}const r=this.appendFlatPointCoordinates(c,u);if(r===a)return;if(i&&(r-a)/2!==c.length/u){let e=a/2;i=i.filter((t,n)=>{const i=s[2*(e+n)]===c[n*u]&&s[2*(e+n)+1]===c[n*u+1];return i||--e,i})}this.saveTextStates_();const d=o.backgroundFill?this.createFill(this.fillStyleToState(o.backgroundFill)):null,p=o.backgroundStroke?this.createStroke(this.strokeStyleToState(o.backgroundStroke)):null;this.beginGeometry(e,t,n);let h=o.padding;if(h!=rp&&(o.scale[0]<0||o.scale[1]<0)){let e=o.padding[0],t=o.padding[1],n=o.padding[2],i=o.padding[3];o.scale[0]<0&&(t=-t,i=-i),o.scale[1]<0&&(e=-e,n=-n),h=[e,t,n,i]}const f=this.pixelRatio;this.instructions.push([RA.DRAW_IMAGE,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[1,1],NaN,this.declutterMode_,this.declutterImageWithText_,h==rp?rp:h.map(function(e){return e*f}),d,p,this.text_,this.textKey_,this.strokeKey_,this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]);const _=1/f,g=d?d.slice(0):null;g&&(g[1]=Yd),this.hitDetectionInstructions.push([RA.DRAW_IMAGE,a,r,null,NaN,NaN,NaN,1,0,0,this.textRotateWithView_,this.textRotation_,[_,_],NaN,this.declutterMode_,this.declutterImageWithText_,h,g,p,this.text_,this.textKey_,this.strokeKey_,this.fillKey_?Yd:this.fillKey_,this.textOffsetX_,this.textOffsetY_,i]),this.endGeometry(t)}else{if(!Bi(this.maxExtent,e.getExtent()))return;let i;if(c=e.getFlatCoordinates(),"LineString"==l)i=[c.length];else if("MultiLineString"==l)i=e.getEnds();else if("Polygon"==l)i=e.getEnds().slice(0,1);else if("MultiPolygon"==l){const t=e.getEndss();i=[];for(let e=0,n=t.length;e<n;++e)i.push(t[e][0])}this.beginGeometry(e,t,n);const r=o.repeat,d=r?void 0:o.textAlign;let p=0;for(let e=0,t=i.length;e<t;++e){let t;t=r?OA(r*this.resolution,c,p,i[e],u):[c.slice(p,i[e])];for(let n=0,r=t.length;n<r;++n){const r=t[n];let l=0,c=r.length;if(null==d){const e=FA(o.maxAngle,r,0,r.length,2);l=e[0],c=e[1]}for(let e=l;e<c;e+=u)s.push(r[e],r[e+1]);const h=s.length;p=i[e],this.drawChars_(a,h),a=h}}this.endGeometry(t)}}saveTextStates_(){const e=this.textStrokeState_,t=this.textState_,n=this.textFillState_,i=this.strokeKey_;e&&(i in this.strokeStates||(this.strokeStates[i]={strokeStyle:e.strokeStyle,lineCap:e.lineCap,lineDashOffset:e.lineDashOffset,lineWidth:e.lineWidth,lineJoin:e.lineJoin,miterLimit:e.miterLimit,lineDash:e.lineDash}));const r=this.textKey_;r in this.textStates||(this.textStates[r]={font:t.font,textAlign:t.textAlign||np,justify:t.justify,textBaseline:t.textBaseline||ip,scale:t.scale});const o=this.fillKey_;n&&(o in this.fillStates||(this.fillStates[o]={fillStyle:n.fillStyle}))}drawChars_(e,t){const n=this.textStrokeState_,i=this.textState_,r=this.strokeKey_,o=this.textKey_,s=this.fillKey_;this.saveTextStates_();const a=this.pixelRatio,l=jA[i.textBaseline],c=this.textOffsetY_*a,u=this.text_,d=n?n.lineWidth*Math.abs(i.scale[0])/2:0;this.instructions.push([RA.DRAW_CHARS,e,t,l,i.overflow,s,i.maxAngle,a,c,r,d*a,u,o,1,this.declutterMode_,this.textKeepUpright_]),this.hitDetectionInstructions.push([RA.DRAW_CHARS,e,t,l,i.overflow,s?Yd:s,i.maxAngle,a,c,r,d*a,u,o,1/a,this.declutterMode_,this.textKeepUpright_])}setTextStyle(e,t){let n,i,r;if(e){const t=e.getFill();t?(i=this.textFillState_,i||(i={},this.textFillState_=i),i.fillStyle=Xd(t.getColor()||Yd)):(i=null,this.textFillState_=i);const o=e.getStroke();if(o){r=this.textStrokeState_,r||(r={},this.textStrokeState_=r);const e=o.getLineDash(),t=o.getLineDashOffset(),n=o.getWidth(),i=o.getMiterLimit();r.lineCap=o.getLineCap()||Qd,r.lineDash=e?e.slice():Jd,r.lineDashOffset=void 0===t?0:t,r.lineJoin=o.getLineJoin()||ep,r.lineWidth=void 0===n?1:n,r.miterLimit=void 0===i?10:i,r.strokeStyle=Xd(o.getColor()||tp)}else r=null,this.textStrokeState_=r;n=this.textState_;const s=e.getFont()||Zd;dp(s);const a=e.getScaleArray();n.overflow=e.getOverflow(),n.font=s,n.maxAngle=e.getMaxAngle(),n.placement=e.getPlacement(),n.textAlign=e.getTextAlign(),n.repeat=e.getRepeat(),n.justify=e.getJustify(),n.textBaseline=e.getTextBaseline()||ip,n.backgroundFill=e.getBackgroundFill(),n.backgroundStroke=e.getBackgroundStroke(),n.padding=e.getPadding()||rp,n.scale=void 0===a?[1,1]:a;const l=e.getOffsetX(),c=e.getOffsetY(),u=e.getRotateWithView(),d=e.getKeepUpright(),p=e.getRotation();this.text_=e.getText()||"",this.textOffsetX_=void 0===l?0:l,this.textOffsetY_=void 0===c?0:c,this.textRotateWithView_=void 0!==u&&u,this.textKeepUpright_=void 0===d||d,this.textRotation_=void 0===p?0:p,this.strokeKey_=r?("string"==typeof r.strokeStyle?r.strokeStyle:us(r.strokeStyle))+r.lineCap+r.lineDashOffset+"|"+r.lineWidth+r.lineJoin+r.miterLimit+"["+r.lineDash.join()+"]":"",this.textKey_=n.font+n.scale+(n.textAlign||"?")+(n.repeat||"?")+(n.justify||"?")+(n.textBaseline||"?"),this.fillKey_=i&&i.fillStyle?"string"==typeof i.fillStyle?i.fillStyle:"|"+us(i.fillStyle):""}else this.text_="";this.declutterMode_=e.getDeclutterMode(),this.declutterImageWithText_=t}}},NA=class{constructor(e,t,n,i){this.tolerance_=e,this.maxExtent_=t,this.pixelRatio_=i,this.resolution_=n,this.buildersByZIndex_={}}finish(){const e={};for(const t in this.buildersByZIndex_){e[t]=e[t]||{};const n=this.buildersByZIndex_[t];for(const i in n){const r=n[i].finish();e[t][i]=r}}return e}getBuilder(e,t){const n=void 0!==e?e.toString():"0";let i=this.buildersByZIndex_[n];void 0===i&&(i={},this.buildersByZIndex_[n]=i);let r=i[t];return void 0===r&&(r=new(0,DA[t])(this.tolerance_,this.maxExtent_,this.resolution_,this.pixelRatio_),i[t]=r),r}};function BA(e,t,n,i,r,o,s,a,l,c,u,d,p=!0){let h=e[t],f=e[t+1],_=0,g=0,m=0,y=0;function v(){_=h,g=f,h=e[t+=i],f=e[t+1],y+=m,m=Math.sqrt((h-_)*(h-_)+(f-g)*(f-g))}do{v()}while(t<n-i&&y+m<o);let b=0===m?0:(o-y)/m;const x=rr(_,h,b),w=rr(g,f,b),k=t-i,C=y,A=o+a*l(c,r,u);for(;t<n-i&&y+m<A;)v();b=0===m?0:(A-y)/m;const S=rr(_,h,b),E=rr(g,f,b);let I=!1;if(p)if(d){const e=[x,w,S,E];ra(e,0,4,2,d,e,e),I=e[0]>e[2]}else I=x>S;const T=Math.PI,M=[],P=k+i===t;let R;if(m=0,y=C,h=e[t=k],f=e[t+1],P){v(),R=Math.atan2(f-g,h-_),I&&(R+=R>0?-T:T);const e=(S+x)/2,t=(E+w)/2;return M[0]=[e,t,(A-o)/2,R,r],M}for(let e=0,d=(r=r.replace(/\n/g," ")).length;e<d;){v();let p=Math.atan2(f-g,h-_);if(I&&(p+=p>0?-T:T),void 0!==R){let e=p-R;if(e+=e>T?-2*T:e<-T?2*T:0,Math.abs(e)>s)return null}R=p;const x=e;let w=0;for(;e<d;++e){const s=a*l(c,r[I?d-e-1:e],u);if(t+i<n&&y+m<o+w+s/2)break;w+=s}if(e===x)continue;const k=I?r.substring(d-x,d-e):r.substring(x,e);b=0===m?0:(o+w/2-y)/m;const C=rr(_,h,b),A=rr(g,f,b);M.push([C,A,w/2,p,k]),o+=w}return M}const qA=[1/0,1/0,-1/0,-1/0],GA=[],VA=[],WA=[],HA=[];function UA(e){return e[3].declutterBox}const $A=new RegExp("["+String.fromCharCode(1425)+"-"+String.fromCharCode(2303)+String.fromCharCode(64285)+"-"+String.fromCharCode(65023)+String.fromCharCode(65136)+"-"+String.fromCharCode(65276)+String.fromCharCode(67584)+"-"+String.fromCharCode(69631)+String.fromCharCode(124928)+"-"+String.fromCharCode(126975)+"]");function KA(e,t){return"start"===t?t=$A.test(e)?"right":"left":"end"===t&&(t=$A.test(e)?"left":"right"),jA[t]}function XA(e,t,n){return n>0&&e.push("\n",""),e.push(t,""),e}function ZA(e,t,n){return n%2==0&&(e+=t),e}const YA=class{constructor(e,t,n,i,r){this.overlaps=n,this.pixelRatio=t,this.resolution=e,this.alignAndScaleFill_,this.instructions=i.instructions,this.coordinates=i.coordinates,this.coordinateCache_={},this.renderedTransform_=[1,0,0,1,0,0],this.hitDetectionInstructions=i.hitDetectionInstructions,this.pixelCoordinates_=null,this.viewRotation_=0,this.fillStates=i.fillStates||{},this.strokeStates=i.strokeStates||{},this.textStates=i.textStates||{},this.widths_={},this.labels_={},this.zIndexContext_=r?new Py:null}getZIndexContext(){return this.zIndexContext_}createLabel(e,t,n,i){const r=e+t+n+i;if(this.labels_[r])return this.labels_[r];const o=i?this.strokeStates[i]:null,s=n?this.fillStates[n]:null,a=this.textStates[t],l=this.pixelRatio,c=[a.scale[0]*l,a.scale[1]*l],u=a.justify?jA[a.justify]:KA(Array.isArray(e)?e[0]:e,a.textAlign||np),d=i&&o.lineWidth?o.lineWidth:0,p=Array.isArray(e)?e:String(e).split("\n").reduce(XA,[]),{width:h,height:f,widths:_,heights:g,lineWidths:m}=function(e,t){const n=[],i=[],r=[];let o=0,s=0,a=0,l=0;for(let c=0,u=t.length;c<=u;c+=2){const d=t[c];if("\n"===d||c===u){o=Math.max(o,s),r.push(s),s=0,a+=l,l=0;continue}const p=t[c+1]||e.font,h=fp(p,d);n.push(h),s+=h;const f=pp(p);i.push(f),l=Math.max(l,f)}return{width:o,height:a,widths:n,heights:i,lineWidths:r}}(a,p),y=h+d,v=[],b=(y+2)*c[0],x=(f+d)*c[1],w={width:b<0?Math.floor(b):Math.ceil(b),height:x<0?Math.floor(x):Math.ceil(x),contextInstructions:v};1==c[0]&&1==c[1]||v.push("scale",c),i&&(v.push("strokeStyle",o.strokeStyle),v.push("lineWidth",d),v.push("lineCap",o.lineCap),v.push("lineJoin",o.lineJoin),v.push("miterLimit",o.miterLimit),v.push("setLineDash",[o.lineDash]),v.push("lineDashOffset",o.lineDashOffset)),n&&v.push("fillStyle",s.fillStyle),v.push("textBaseline","middle"),v.push("textAlign","center");const k=.5-u;let C=u*y+k*d;const A=[],S=[];let E,I=0,T=0,M=0,P=0;for(let e=0,t=p.length;e<t;e+=2){const t=p[e];if("\n"===t){T+=I,I=0,C=u*y+k*d,++P;continue}const r=p[e+1]||a.font;r!==E&&(i&&A.push("font",r),n&&S.push("font",r),E=r),I=Math.max(I,g[M]);const o=[t,C+k*_[M]+u*(_[M]-m[P]),.5*(d+I)+T];C+=_[M],i&&A.push("strokeText",o),n&&S.push("fillText",o),++M}return Array.prototype.push.apply(v,A),Array.prototype.push.apply(v,S),this.labels_[r]=w,w}replayTextBackground_(e,t,n,i,r,o,s){e.beginPath(),e.moveTo.apply(e,t),e.lineTo.apply(e,n),e.lineTo.apply(e,i),e.lineTo.apply(e,r),e.lineTo.apply(e,t),o&&(this.alignAndScaleFill_=o[2],e.fillStyle=o[1],this.fill_(e)),s&&(this.setStrokeStyle_(e,s),e.stroke())}calculateImageOrLabelDimensions_(e,t,n,i,r,o,s,a,l,c,u,d,p,h,f,_){let g=n-(s*=d[0]),m=i-(a*=d[1]);const y=r+l>e?e-l:r,v=o+c>t?t-c:o,b=h[3]+y*d[0]+h[1],x=h[0]+v*d[1]+h[2],w=g-h[3],k=m-h[0];let C;return(f||0!==u)&&(GA[0]=w,HA[0]=w,GA[1]=k,VA[1]=k,VA[0]=w+b,WA[0]=VA[0],WA[1]=k+x,HA[1]=WA[1]),0!==u?(C=Js([1,0,0,1,0,0],n,i,1,1,u,-n,-i),Ys(C,GA),Ys(C,VA),Ys(C,WA),Ys(C,HA),yi(Math.min(GA[0],VA[0],WA[0],HA[0]),Math.min(GA[1],VA[1],WA[1],HA[1]),Math.max(GA[0],VA[0],WA[0],HA[0]),Math.max(GA[1],VA[1],WA[1],HA[1]),qA)):yi(Math.min(w,w+b),Math.min(k,k+x),Math.max(w,w+b),Math.max(k,k+x),qA),p&&(g=Math.round(g),m=Math.round(m)),{drawImageX:g,drawImageY:m,drawImageW:y,drawImageH:v,originX:l,originY:c,declutterBox:{minX:qA[0],minY:qA[1],maxX:qA[2],maxY:qA[3],value:_},canvasTransform:C,scale:d}}replayImageOrLabel_(e,t,n,i,r,o,s){const a=!(!o&&!s),l=i.declutterBox,c=s?s[2]*i.scale[0]/2:0;return l.minX-c<=t[0]&&l.maxX+c>=0&&l.minY-c<=t[1]&&l.maxY+c>=0&&(a&&this.replayTextBackground_(e,GA,VA,WA,HA,o,s),function(e,t,n,i,r,o,s,a,l,c,u){e.save(),1!==n&&(void 0===e.globalAlpha?e.globalAlpha=e=>e.globalAlpha*=n:e.globalAlpha*=n),t&&e.transform.apply(e,t),i.contextInstructions?(e.translate(l,c),e.scale(u[0],u[1]),function(e,t){const n=e.contextInstructions;for(let e=0,i=n.length;e<i;e+=2)Array.isArray(n[e+1])?t[n[e]].apply(t,n[e+1]):t[n[e]]=n[e+1]}(i,e)):u[0]<0||u[1]<0?(e.translate(l,c),e.scale(u[0],u[1]),e.drawImage(i,r,o,s,a,0,0,s,a)):e.drawImage(i,r,o,s,a,l,c,s*u[0],a*u[1]),e.restore()}(e,i.canvasTransform,r,n,i.originX,i.originY,i.drawImageW,i.drawImageH,i.drawImageX,i.drawImageY,i.scale)),!0}fill_(e){const t=this.alignAndScaleFill_;if(t){const n=Ys(this.renderedTransform_,[0,0]),i=512*this.pixelRatio;e.save(),e.translate(n[0]%i,n[1]%i),1!==t&&e.scale(t,t),e.rotate(this.viewRotation_)}e.fill(),t&&e.restore()}setStrokeStyle_(e,t){e.strokeStyle=t[1],t[1]&&(e.lineWidth=t[2],e.lineCap=t[3],e.lineJoin=t[4],e.miterLimit=t[5],e.lineDashOffset=t[7],e.setLineDash(t[6]))}drawLabelWithPointPlacement_(e,t,n,i){const r=this.textStates[t],o=this.createLabel(e,t,i,n),s=this.strokeStates[n],a=this.pixelRatio,l=KA(Array.isArray(e)?e[0]:e,r.textAlign||np),c=jA[r.textBaseline||ip],u=s&&s.lineWidth?s.lineWidth:0;return{label:o,anchorX:l*(o.width/a-2*r.scale[0])+2*(.5-l)*u,anchorY:c*o.height/a+2*(.5-c)*u}}execute_(e,t,n,i,r,o,s,a){const l=this.zIndexContext_;let c;var u,d;this.pixelCoordinates_&&$o(n,this.renderedTransform_)?c=this.pixelCoordinates_:(this.pixelCoordinates_||(this.pixelCoordinates_=[]),c=ia(this.coordinates,0,this.coordinates.length,2,n,this.pixelCoordinates_),d=n,(u=this.renderedTransform_)[0]=d[0],u[1]=d[1],u[2]=d[2],u[3]=d[3],u[4]=d[4],u[5]=d[5]);let p=0;const h=i.length;let f,_,g,m,y,v,b,x,w,k,C,A,S,E=0,I=0,T=0;const M=this.coordinateCache_,P=this.viewRotation_,R=Math.round(1e12*Math.atan2(-n[1],n[0]))/1e12,z={context:e,pixelRatio:this.pixelRatio,resolution:this.resolution,rotation:P},L=this.instructions!=i||this.overlaps?0:200;let O,F,j,D;for(;p<h;){const n=i[p];switch(n[0]){case RA.BEGIN_GEOMETRY:O=n[1],D=n[3],O.getGeometry()?void 0===s||Bi(s,D.getExtent())?++p:p=n[2]+1:p=n[2],l&&(l.zIndex=n[4]);break;case RA.BEGIN_PATH:I>L&&(this.fill_(e),I=0),T>L&&(e.stroke(),T=0),I||T||(e.beginPath(),y=NaN,v=NaN),++p;break;case RA.CIRCLE:E=n[1];const i=c[E],u=c[E+1],d=c[E+2]-i,h=c[E+3]-u,N=Math.sqrt(d*d+h*h);e.moveTo(i+N,u),e.arc(i,u,N,0,2*Math.PI,!0),++p;break;case RA.CLOSE_PATH:e.closePath(),++p;break;case RA.CUSTOM:E=n[1],f=n[2];const B=n[3],q=n[4],G=n[5];z.geometry=B,z.feature=O,p in M||(M[p]=[]);const V=M[p];G?G(c,E,f,2,V):(V[0]=c[E],V[1]=c[E+1],V.length=2),l&&(l.zIndex=n[6]),q(V,z),++p;break;case RA.DRAW_IMAGE:E=n[1],f=n[2],w=n[3],_=n[4],g=n[5];let W=n[6];const H=n[7],U=n[8],$=n[9],K=n[10];let X=n[11];const Z=n[12];let Y=n[13];m=n[14]||"declutter";const Q=n[15];if(!w&&n.length>=20){k=n[19],C=n[20],A=n[21],S=n[22];const e=this.drawLabelWithPointPlacement_(k,C,A,S);w=e.label,n[3]=w;const t=n[23];_=(e.anchorX-t)*this.pixelRatio,n[4]=_;const i=n[24];g=(e.anchorY-i)*this.pixelRatio,n[5]=g,W=w.height,n[6]=W,Y=w.width,n[13]=Y}let J,ee,te,ne;n.length>25&&(J=n[25]),n.length>17?(ee=n[16],te=n[17],ne=n[18]):(ee=rp,te=null,ne=null),K&&R?X+=P:K||R||(X-=P);let ie=0;for(;E<f;E+=2){if(J&&J[ie++]<Y/this.pixelRatio)continue;const n=this.calculateImageOrLabelDimensions_(w.width,w.height,c[E],c[E+1],Y,W,_,g,U,$,X,Z,r,ee,!!te||!!ne,O),i=[e,t,w,n,H,te,ne];if(a){let e,t,r,o,s;if(Q){const n=f-E;if(!Q[n]){Q[n]={args:i,declutterMode:m};continue}const o=Q[n];e=o.args,t=o.declutterMode,delete Q[n],r=UA(e)}if(!e||"declutter"===t&&a.collides(r)||(o=!0),"declutter"===m&&a.collides(n.declutterBox)||(s=!0),"declutter"===t&&"declutter"===m){const e=o&&s;o=e,s=e}o&&("none"!==t&&a.insert(r),this.replayImageOrLabel_.apply(this,e)),s&&("none"!==m&&a.insert(n.declutterBox),this.replayImageOrLabel_.apply(this,i))}else this.replayImageOrLabel_.apply(this,i)}++p;break;case RA.DRAW_CHARS:const re=n[1],oe=n[2],se=n[3],ae=n[4];S=n[5];const le=n[6],ce=n[7],ue=n[8];A=n[9];const de=n[10];k=n[11],Array.isArray(k)&&(k=k.reduce(ZA,"")),C=n[12];const pe=[n[13],n[13]];m=n[14]||"declutter";const he=n[15],fe=this.textStates[C],_e=fe.font,ge=[fe.scale[0]*ce,fe.scale[1]*ce];let me;_e in this.widths_?me=this.widths_[_e]:(me={},this.widths_[_e]=me);const ye=OC(c,re,oe,2),ve=Math.abs(ge[0])*_p(_e,k,me);if(ae||ve<=ye){const n=BA(c,re,oe,2,k,(ye-ve)*KA(k,this.textStates[C].textAlign),le,Math.abs(ge[0]),_p,_e,me,R?0:this.viewRotation_,he);e:if(n){const i=[];let r,o,s,l,c;if(A)for(r=0,o=n.length;r<o;++r){c=n[r],s=c[4],l=this.createLabel(s,C,"",A),_=c[2]+(ge[0]<0?-de:de),g=se*l.height+2*(.5-se)*de*ge[1]/ge[0]-ue;const o=this.calculateImageOrLabelDimensions_(l.width,l.height,c[0],c[1],l.width,l.height,_,g,0,0,c[3],pe,!1,rp,!1,O);if(a&&"declutter"===m&&a.collides(o.declutterBox))break e;i.push([e,t,l,o,1,null,null])}if(S)for(r=0,o=n.length;r<o;++r){c=n[r],s=c[4],l=this.createLabel(s,C,S,""),_=c[2],g=se*l.height-ue;const o=this.calculateImageOrLabelDimensions_(l.width,l.height,c[0],c[1],l.width,l.height,_,g,0,0,c[3],pe,!1,rp,!1,O);if(a&&"declutter"===m&&a.collides(o.declutterBox))break e;i.push([e,t,l,o,1,null,null])}a&&"none"!==m&&a.load(i.map(UA));for(let e=0,t=i.length;e<t;++e)this.replayImageOrLabel_.apply(this,i[e])}}++p;break;case RA.END_GEOMETRY:if(void 0!==o){O=n[1];const e=o(O,D,m);if(e)return e}++p;break;case RA.FILL:L?I++:this.fill_(e),++p;break;case RA.MOVE_TO_LINE_TO:for(E=n[1],f=n[2],F=c[E],j=c[E+1],e.moveTo(F,j),y=F+.5|0,v=j+.5|0,E+=2;E<f;E+=2)F=c[E],j=c[E+1],b=F+.5|0,x=j+.5|0,E!=f-2&&b===y&&x===v||(e.lineTo(F,j),y=b,v=x);++p;break;case RA.SET_FILL_STYLE:this.alignAndScaleFill_=n[2],I&&(this.fill_(e),I=0,T&&(e.stroke(),T=0)),e.fillStyle=n[1],++p;break;case RA.SET_STROKE_STYLE:T&&(e.stroke(),T=0),this.setStrokeStyle_(e,n),++p;break;case RA.STROKE:L?T++:e.stroke(),++p;break;default:++p}}I&&this.fill_(e),T&&e.stroke()}execute(e,t,n,i,r,o){this.viewRotation_=i,this.execute_(e,t,n,this.instructions,r,void 0,void 0,o)}executeHitDetection(e,t,n,i,r){return this.viewRotation_=n,this.execute_(e,[e.canvas.width,e.canvas.height],t,this.hitDetectionInstructions,!0,i,r)}},QA=["Polygon","Circle","LineString","Image","Text","Default"],JA=["Image","Text"],eS=QA.filter(e=>!JA.includes(e)),tS={},nS=class{constructor(e,t,n,i,r,o,s){this.maxExtent_=e,this.overlaps_=i,this.pixelRatio_=n,this.resolution_=t,this.renderBuffer_=o,this.executorsByZIndex_={},this.hitDetectionContext_=null,this.hitDetectionTransform_=[1,0,0,1,0,0],this.renderedContext_=null,this.deferredZIndexContexts_={},this.createExecutors_(r,s)}clip(e,t){const n=this.getClipCoords(t);e.beginPath(),e.moveTo(n[0],n[1]),e.lineTo(n[2],n[3]),e.lineTo(n[4],n[5]),e.lineTo(n[6],n[7]),e.clip()}createExecutors_(e,t){for(const n in e){let i=this.executorsByZIndex_[n];void 0===i&&(i={},this.executorsByZIndex_[n]=i);const r=e[n];for(const e in r){const n=r[e];i[e]=new YA(this.resolution_,this.pixelRatio_,this.overlaps_,n,t)}}}hasExecutors(e){for(const t in this.executorsByZIndex_){const n=this.executorsByZIndex_[t];for(let t=0,i=e.length;t<i;++t)if(e[t]in n)return!0}return!1}forEachFeatureAtCoordinate(e,t,n,i,r,o){const s=2*(i=Math.round(i))+1,a=Js(this.hitDetectionTransform_,i+.5,i+.5,1/t,-1/t,-n,-e[0],-e[1]),l=!this.hitDetectionContext_;l&&(this.hitDetectionContext_=yl(s,s));const c=this.hitDetectionContext_;let u;c.canvas.width!==s||c.canvas.height!==s?(c.canvas.width=s,c.canvas.height=s):l||c.clearRect(0,0,s,s),void 0!==this.renderBuffer_&&(u=[1/0,1/0,-1/0,-1/0],Ci(u,e),di(u,t*(this.renderBuffer_+i),u));const d=function(e){if(void 0!==tS[e])return tS[e];const t=2*e+1,n=e*e,i=new Array(n+1);for(let r=0;r<=e;++r)for(let o=0;o<=e;++o){const s=r*r+o*o;if(s>n)break;let a=i[s];a||(a=[],i[s]=a),a.push(4*((e+r)*t+(e+o))+3),r>0&&a.push(4*((e-r)*t+(e+o))+3),o>0&&(a.push(4*((e+r)*t+(e-o))+3),r>0&&a.push(4*((e-r)*t+(e-o))+3))}const r=[];for(let e=0,t=i.length;e<t;++e)i[e]&&r.push(...i[e]);return tS[e]=r,r}(i);let p;function h(e,t,n){const a=c.getImageData(0,0,s,s).data;for(let l=0,u=d.length;l<u;l++)if(a[d[l]]>0){if(!o||"none"===n||"Image"!==p&&"Text"!==p||o.includes(e)){const n=(d[l]-3)/4,o=i-n%s,a=i-(n/s|0),c=r(e,t,o*o+a*a);if(c)return c}c.clearRect(0,0,s,s);break}}const f=Object.keys(this.executorsByZIndex_).map(Number);let _,g,m,y,v;for(f.sort(Go),_=f.length-1;_>=0;--_){const e=f[_].toString();for(m=this.executorsByZIndex_[e],g=QA.length-1;g>=0;--g)if(p=QA[g],y=m[p],void 0!==y&&(v=y.executeHitDetection(c,a,n,h,u),v))return v}}getClipCoords(e){const t=this.maxExtent_;if(!t)return null;const n=t[0],i=t[1],r=t[2],o=t[3],s=[n,i,n,o,r,o,r,i];return ia(s,0,8,2,e,s),s}isEmpty(){return es(this.executorsByZIndex_)}execute(e,t,n,i,r,o,s){const a=Object.keys(this.executorsByZIndex_).map(Number);a.sort(s?Vo:Go),o=o||QA;const l=QA.length;for(let c=0,u=a.length;c<u;++c){const u=a[c].toString(),d=this.executorsByZIndex_[u];for(let u=0,p=o.length;u<p;++u){const p=o[u],h=d[p];if(void 0!==h){const o=null===s?void 0:h.getZIndexContext(),u=o?o.getContext():e,d=this.maxExtent_&&"Image"!==p&&"Text"!==p;if(d&&(u.save(),this.clip(u,n)),o&&"Text"!==p&&"Image"!==p?o.pushFunction(e=>h.execute(e,t,n,i,r,s)):h.execute(u,t,n,i,r,s),d&&u.restore(),o){o.offset();const e=a[c]*l+QA.indexOf(p);this.deferredZIndexContexts_[e]||(this.deferredZIndexContexts_[e]=[]),this.deferredZIndexContexts_[e].push(o)}}}}this.renderedContext_=e}getDeferredZIndexContexts(){return this.deferredZIndexContexts_}getRenderedContext(){return this.renderedContext_}renderDeferred(){const e=this.deferredZIndexContexts_,t=Object.keys(e).map(Number).sort(Go);for(let n=0,i=t.length;n<i;++n)e[t[n]].forEach(e=>{e.draw(this.renderedContext_),e.clear()}),e[t[n]].length=0}},iS=class extends SA{constructor(e,t,n,i,r,o,s){super(),this.context_=e,this.pixelRatio_=t,this.extent_=n,this.transform_=i,this.transformRotation_=i?or(Math.atan2(i[1],i[0]),10):0,this.viewRotation_=r,this.squaredTolerance_=o,this.userTransform_=s,this.contextFillState_=null,this.contextStrokeState_=null,this.contextTextState_=null,this.fillState_=null,this.strokeState_=null,this.image_=null,this.imageAnchorX_=0,this.imageAnchorY_=0,this.imageHeight_=0,this.imageOpacity_=0,this.imageOriginX_=0,this.imageOriginY_=0,this.imageRotateWithView_=!1,this.imageRotation_=0,this.imageScale_=[0,0],this.imageWidth_=0,this.text_="",this.textOffsetX_=0,this.textOffsetY_=0,this.textRotateWithView_=!1,this.textRotation_=0,this.textScale_=[0,0],this.textFillState_=null,this.textStrokeState_=null,this.textState_=null,this.pixelCoordinates_=[],this.tmpLocalTransform_=[1,0,0,1,0,0]}drawImages_(e,t,n,i){if(!this.image_)return;const r=ia(e,t,n,i,this.transform_,this.pixelCoordinates_),o=this.context_,s=this.tmpLocalTransform_,a=o.globalAlpha;1!=this.imageOpacity_&&(o.globalAlpha=a*this.imageOpacity_);let l=this.imageRotation_;0===this.transformRotation_&&(l-=this.viewRotation_),this.imageRotateWithView_&&(l+=this.viewRotation_);for(let e=0,t=r.length;e<t;e+=2){const t=r[e]-this.imageAnchorX_,n=r[e+1]-this.imageAnchorY_;if(0!==l||1!=this.imageScale_[0]||1!=this.imageScale_[1]){const e=t+this.imageAnchorX_,i=n+this.imageAnchorY_;Js(s,e,i,1,1,l,-e,-i),o.save(),o.transform.apply(o,s),o.translate(e,i),o.scale(this.imageScale_[0],this.imageScale_[1]),o.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,-this.imageAnchorX_,-this.imageAnchorY_,this.imageWidth_,this.imageHeight_),o.restore()}else o.drawImage(this.image_,this.imageOriginX_,this.imageOriginY_,this.imageWidth_,this.imageHeight_,t,n,this.imageWidth_,this.imageHeight_)}1!=this.imageOpacity_&&(o.globalAlpha=a)}drawText_(e,t,n,i){if(!this.textState_||""===this.text_)return;this.textFillState_&&this.setContextFillState_(this.textFillState_),this.textStrokeState_&&this.setContextStrokeState_(this.textStrokeState_),this.setContextTextState_(this.textState_);const r=ia(e,t,n,i,this.transform_,this.pixelCoordinates_),o=this.context_;let s=this.textRotation_;for(0===this.transformRotation_&&(s-=this.viewRotation_),this.textRotateWithView_&&(s+=this.viewRotation_);t<n;t+=i){const e=r[t]+this.textOffsetX_,n=r[t+1]+this.textOffsetY_;0!==s||1!=this.textScale_[0]||1!=this.textScale_[1]?(o.save(),o.translate(e-this.textOffsetX_,n-this.textOffsetY_),o.rotate(s),o.translate(this.textOffsetX_,this.textOffsetY_),o.scale(this.textScale_[0],this.textScale_[1]),this.textStrokeState_&&o.strokeText(this.text_,0,0),this.textFillState_&&o.fillText(this.text_,0,0),o.restore()):(this.textStrokeState_&&o.strokeText(this.text_,e,n),this.textFillState_&&o.fillText(this.text_,e,n))}}moveToLineTo_(e,t,n,i,r){const o=this.context_,s=ia(e,t,n,i,this.transform_,this.pixelCoordinates_);o.moveTo(s[0],s[1]);let a=s.length;r&&(a-=2);for(let e=2;e<a;e+=2)o.lineTo(s[e],s[e+1]);return r&&o.closePath(),n}drawRings_(e,t,n,i){for(let r=0,o=n.length;r<o;++r)t=this.moveToLineTo_(e,t,n[r],i,!0);return t}drawCircle(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),Bi(this.extent_,e.getExtent())){if(this.fillState_||this.strokeState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const t=function(e,t,n){const i=e.getFlatCoordinates();if(!i)return null;const r=e.getStride();return ia(i,0,i.length,r,t,n)}(e,this.transform_,this.pixelCoordinates_),n=t[2]-t[0],i=t[3]-t[1],r=Math.sqrt(n*n+i*i),o=this.context_;o.beginPath(),o.arc(t[0],t[1],r,0,2*Math.PI),this.fillState_&&o.fill(),this.strokeState_&&o.stroke()}""!==this.text_&&this.drawText_(e.getCenter(),0,2,2)}}setStyle(e){this.setFillStrokeStyle(e.getFill(),e.getStroke()),this.setImageStyle(e.getImage()),this.setTextStyle(e.getText())}setTransform(e){this.transform_=e}drawGeometry(e){switch(e.getType()){case"Point":this.drawPoint(e);break;case"LineString":this.drawLineString(e);break;case"Polygon":this.drawPolygon(e);break;case"MultiPoint":this.drawMultiPoint(e);break;case"MultiLineString":this.drawMultiLineString(e);break;case"MultiPolygon":this.drawMultiPolygon(e);break;case"GeometryCollection":this.drawGeometryCollection(e);break;case"Circle":this.drawCircle(e)}}drawFeature(e,t){const n=t.getGeometryFunction()(e);n&&(this.setStyle(t),this.drawGeometry(n))}drawGeometryCollection(e){const t=e.getGeometriesArray();for(let e=0,n=t.length;e<n;++e)this.drawGeometry(t[e])}drawPoint(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getFlatCoordinates(),n=e.getStride();this.image_&&this.drawImages_(t,0,t.length,n),""!==this.text_&&this.drawText_(t,0,t.length,n)}drawMultiPoint(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getFlatCoordinates(),n=e.getStride();this.image_&&this.drawImages_(t,0,t.length,n),""!==this.text_&&this.drawText_(t,0,t.length,n)}drawLineString(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),Bi(this.extent_,e.getExtent())){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const t=this.context_,n=e.getFlatCoordinates();t.beginPath(),this.moveToLineTo_(n,0,n.length,e.getStride(),!1),t.stroke()}if(""!==this.text_){const t=e.getFlatMidpoint();this.drawText_(t,0,2,2)}}}drawMultiLineString(e){this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_));const t=e.getExtent();if(Bi(this.extent_,t)){if(this.strokeState_){this.setContextStrokeState_(this.strokeState_);const t=this.context_,n=e.getFlatCoordinates();let i=0;const r=e.getEnds(),o=e.getStride();t.beginPath();for(let e=0,t=r.length;e<t;++e)i=this.moveToLineTo_(n,i,r[e],o,!1);t.stroke()}if(""!==this.text_){const t=e.getFlatMidpoints();this.drawText_(t,0,t.length,2)}}}drawPolygon(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),Bi(this.extent_,e.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const t=this.context_;t.beginPath(),this.drawRings_(e.getOrientedFlatCoordinates(),0,e.getEnds(),e.getStride()),this.fillState_&&t.fill(),this.strokeState_&&t.stroke()}if(""!==this.text_){const t=e.getFlatInteriorPoint();this.drawText_(t,0,2,2)}}}drawMultiPolygon(e){if(this.squaredTolerance_&&(e=e.simplifyTransformed(this.squaredTolerance_,this.userTransform_)),Bi(this.extent_,e.getExtent())){if(this.strokeState_||this.fillState_){this.fillState_&&this.setContextFillState_(this.fillState_),this.strokeState_&&this.setContextStrokeState_(this.strokeState_);const t=this.context_,n=e.getOrientedFlatCoordinates();let i=0;const r=e.getEndss(),o=e.getStride();t.beginPath();for(let e=0,t=r.length;e<t;++e){const t=r[e];i=this.drawRings_(n,i,t,o)}this.fillState_&&t.fill(),this.strokeState_&&t.stroke()}if(""!==this.text_){const t=e.getFlatInteriorPoints();this.drawText_(t,0,t.length,2)}}}setContextFillState_(e){const t=this.context_,n=this.contextFillState_;n?n.fillStyle!=e.fillStyle&&(n.fillStyle=e.fillStyle,t.fillStyle=e.fillStyle):(t.fillStyle=e.fillStyle,this.contextFillState_={fillStyle:e.fillStyle})}setContextStrokeState_(e){const t=this.context_,n=this.contextStrokeState_;n?(n.lineCap!=e.lineCap&&(n.lineCap=e.lineCap,t.lineCap=e.lineCap),$o(n.lineDash,e.lineDash)||t.setLineDash(n.lineDash=e.lineDash),n.lineDashOffset!=e.lineDashOffset&&(n.lineDashOffset=e.lineDashOffset,t.lineDashOffset=e.lineDashOffset),n.lineJoin!=e.lineJoin&&(n.lineJoin=e.lineJoin,t.lineJoin=e.lineJoin),n.lineWidth!=e.lineWidth&&(n.lineWidth=e.lineWidth,t.lineWidth=e.lineWidth),n.miterLimit!=e.miterLimit&&(n.miterLimit=e.miterLimit,t.miterLimit=e.miterLimit),n.strokeStyle!=e.strokeStyle&&(n.strokeStyle=e.strokeStyle,t.strokeStyle=e.strokeStyle)):(t.lineCap=e.lineCap,t.setLineDash(e.lineDash),t.lineDashOffset=e.lineDashOffset,t.lineJoin=e.lineJoin,t.lineWidth=e.lineWidth,t.miterLimit=e.miterLimit,t.strokeStyle=e.strokeStyle,this.contextStrokeState_={lineCap:e.lineCap,lineDash:e.lineDash,lineDashOffset:e.lineDashOffset,lineJoin:e.lineJoin,lineWidth:e.lineWidth,miterLimit:e.miterLimit,strokeStyle:e.strokeStyle})}setContextTextState_(e){const t=this.context_,n=this.contextTextState_,i=e.textAlign?e.textAlign:np;n?(n.font!=e.font&&(n.font=e.font,t.font=e.font),n.textAlign!=i&&(n.textAlign=i,t.textAlign=i),n.textBaseline!=e.textBaseline&&(n.textBaseline=e.textBaseline,t.textBaseline=e.textBaseline)):(t.font=e.font,t.textAlign=i,t.textBaseline=e.textBaseline,this.contextTextState_={font:e.font,textAlign:i,textBaseline:e.textBaseline})}setFillStrokeStyle(e,t){if(e){const t=e.getColor();this.fillState_={fillStyle:Xd(t||Yd)}}else this.fillState_=null;if(t){const e=t.getColor(),n=t.getLineCap(),i=t.getLineDash(),r=t.getLineDashOffset(),o=t.getLineJoin(),s=t.getWidth(),a=t.getMiterLimit(),l=i||Jd;this.strokeState_={lineCap:void 0!==n?n:Qd,lineDash:1===this.pixelRatio_?l:l.map(e=>e*this.pixelRatio_),lineDashOffset:(r||0)*this.pixelRatio_,lineJoin:void 0!==o?o:ep,lineWidth:(void 0!==s?s:1)*this.pixelRatio_,miterLimit:void 0!==a?a:10,strokeStyle:Xd(e||tp)}}else this.strokeState_=null}setImageStyle(e){let t;if(!e||!(t=e.getSize()))return void(this.image_=null);const n=e.getPixelRatio(this.pixelRatio_),i=e.getAnchor(),r=e.getOrigin();this.image_=e.getImage(this.pixelRatio_),this.imageAnchorX_=i[0]*n,this.imageAnchorY_=i[1]*n,this.imageHeight_=t[1]*n,this.imageOpacity_=e.getOpacity(),this.imageOriginX_=r[0],this.imageOriginY_=r[1],this.imageRotateWithView_=e.getRotateWithView(),this.imageRotation_=e.getRotation();const o=e.getScaleArray();this.imageScale_=[o[0]*this.pixelRatio_/n,o[1]*this.pixelRatio_/n],this.imageWidth_=t[0]*n}setTextStyle(e){if(e){const t=e.getFill();if(t){const e=t.getColor();this.textFillState_={fillStyle:Xd(e||Yd)}}else this.textFillState_=null;const n=e.getStroke();if(n){const e=n.getColor(),t=n.getLineCap(),i=n.getLineDash(),r=n.getLineDashOffset(),o=n.getLineJoin(),s=n.getWidth(),a=n.getMiterLimit();this.textStrokeState_={lineCap:void 0!==t?t:Qd,lineDash:i||Jd,lineDashOffset:r||0,lineJoin:void 0!==o?o:ep,lineWidth:void 0!==s?s:1,miterLimit:void 0!==a?a:10,strokeStyle:Xd(e||tp)}}else this.textStrokeState_=null;const i=e.getFont(),r=e.getOffsetX(),o=e.getOffsetY(),s=e.getRotateWithView(),a=e.getRotation(),l=e.getScaleArray(),c=e.getText(),u=e.getTextAlign(),d=e.getTextBaseline();this.textState_={font:void 0!==i?i:Zd,textAlign:void 0!==u?u:np,textBaseline:void 0!==d?d:ip},this.text_=void 0!==c?Array.isArray(c)?c.reduce((e,t,n)=>e+(n%2?" ":t),""):c:"",this.textOffsetX_=void 0!==r?this.pixelRatio_*r:0,this.textOffsetY_=void 0!==o?this.pixelRatio_*o:0,this.textRotateWithView_=void 0!==s&&s,this.textRotation_=void 0!==a?a:0,this.textScale_=[this.pixelRatio_*l[0],this.pixelRatio_*l[1]]}else this.text_=""}},rS=.5;function oS(e,t,n,i,r,o,s,a,l){const c=l?xo(r):r,u=yl(e[0]*rS,e[1]*rS);u.imageSmoothingEnabled=!1;const d=u.canvas,p=new iS(u,rS,r,null,s,a,l?po(yo(),l):null),h=n.length,f=Math.floor(16777215/h),_={};for(let e=1;e<=h;++e){const t=n[e-1],r=t.getStyleFunction()||i;if(!r)continue;let s=r(t,o);if(!s)continue;Array.isArray(s)||(s=[s]);const a=(e*f).toString(16).padStart(7,"#00000");for(let e=0,n=s.length;e<n;++e){const n=s[e],i=n.getGeometryFunction()(t);if(!i||!Bi(c,i.getExtent()))continue;const r=n.clone(),o=r.getFill();o&&o.setColor(a);const l=r.getStroke();l&&(l.setColor(a),l.setLineDash(null)),r.setText(void 0);const u=n.getImage();if(u){const e=u.getImageSize();if(!e)continue;const t=yl(e[0],e[1],void 0,{alpha:!1}),n=t.canvas;t.fillStyle=a,t.fillRect(0,0,n.width,n.height),r.setImage(new Sp({img:n,anchor:u.getAnchor(),anchorXUnits:"pixels",anchorYUnits:"pixels",offset:u.getOrigin(),opacity:1,size:u.getSize(),scale:u.getScale(),rotation:u.getRotation(),rotateWithView:u.getRotateWithView()}))}const d=r.getZIndex()||0;let p=_[d];p||(p={},_[d]=p,p.Polygon=[],p.Circle=[],p.LineString=[],p.Point=[]);const h=i.getType();if("GeometryCollection"===h){const e=i.getGeometriesArrayRecursive();for(let t=0,n=e.length;t<n;++t){const n=e[t];p[n.getType().replace("Multi","")].push(n,r)}}else p[h.replace("Multi","")].push(i,r)}}const g=Object.keys(_).map(Number).sort(Go);for(let e=0,n=g.length;e<n;++e){const n=_[g[e]];for(const e in n){const i=n[e];for(let e=0,n=i.length;e<n;e+=2){p.setStyle(i[e+1]);for(let n=0,r=t.length;n<r;++n)p.setTransform(t[n]),p.drawGeometry(i[e])}}}return u.getImageData(0,0,d.width,d.height)}function sS(e,t,n){const i=[];if(n){const r=Math.floor(Math.round(e[0])*rS),o=Math.floor(Math.round(e[1])*rS),s=4*(Qi(r,0,n.width-1)+Qi(o,0,n.height-1)*n.width),a=n.data[s],l=n.data[s+1],c=n.data[s+2]+256*(l+256*a),u=Math.floor(16777215/t.length);c&&c%u===0&&i.push(t[c/u-1])}return i}const aS={Point:function(e,t,n,i,r,o){const s=n.getImage(),a=n.getText(),l=a&&a.getText(),c=o&&s&&l?{}:void 0;if(s){if(2!=s.getImageState())return;const o=e.getBuilder(n.getZIndex(),"Image");o.setImageStyle(s,c),o.drawPoint(t,i,r)}if(l){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(a,c),o.drawText(t,i,r)}},LineString:function(e,t,n,i,r){const o=n.getStroke();if(o){const s=e.getBuilder(n.getZIndex(),"LineString");s.setFillStrokeStyle(null,o),s.drawLineString(t,i,r)}const s=n.getText();if(s&&s.getText()){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(s),o.drawText(t,i,r)}},Polygon:function(e,t,n,i,r){const o=n.getFill(),s=n.getStroke();if(o||s){const a=e.getBuilder(n.getZIndex(),"Polygon");a.setFillStrokeStyle(o,s),a.drawPolygon(t,i,r)}const a=n.getText();if(a&&a.getText()){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(a),o.drawText(t,i,r)}},MultiPoint:function(e,t,n,i,r,o){const s=n.getImage(),a=s&&0!==s.getOpacity(),l=n.getText(),c=l&&l.getText(),u=o&&a&&c?{}:void 0;if(a){if(2!=s.getImageState())return;const o=e.getBuilder(n.getZIndex(),"Image");o.setImageStyle(s,u),o.drawMultiPoint(t,i,r)}if(c){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(l,u),o.drawText(t,i,r)}},MultiLineString:function(e,t,n,i,r){const o=n.getStroke();if(o){const s=e.getBuilder(n.getZIndex(),"LineString");s.setFillStrokeStyle(null,o),s.drawMultiLineString(t,i,r)}const s=n.getText();if(s&&s.getText()){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(s),o.drawText(t,i,r)}},MultiPolygon:function(e,t,n,i,r){const o=n.getFill(),s=n.getStroke();if(s||o){const a=e.getBuilder(n.getZIndex(),"Polygon");a.setFillStrokeStyle(o,s),a.drawMultiPolygon(t,i,r)}const a=n.getText();if(a&&a.getText()){const o=e.getBuilder(n.getZIndex(),"Text");o.setTextStyle(a),o.drawText(t,i,r)}},GeometryCollection:function(e,t,n,i,r,o){const s=t.getGeometriesArray();let a,l;for(a=0,l=s.length;a<l;++a)(0,aS[s[a].getType()])(e,s[a],n,i,r,o)},Circle:function(e,t,n,i,r){const o=n.getFill(),s=n.getStroke();if(o||s){const a=e.getBuilder(n.getZIndex(),"Circle");a.setFillStrokeStyle(o,s),a.drawCircle(t,i,r)}const a=n.getText();if(a&&a.getText()){const r=e.getBuilder(n.getZIndex(),"Text");r.setTextStyle(a),r.drawText(t,i)}}};function lS(e,t){return parseInt(us(e),10)-parseInt(us(t),10)}function cS(e,t){const n=uS(e,t);return n*n}function uS(e,t){return.5*e/t}function dS(e,t,n,i,r,o,s,a){const l=[],c=n.getImage();if(c){let e=!0;const t=c.getImageState();2==t||3==t?e=!1:0==t&&c.load(),e&&l.push(c.ready())}const u=n.getFill();u&&u.loading()&&l.push(u.ready());const d=l.length>0;return d&&Promise.all(l).then(()=>r(null)),function(e,t,n,i,r,o,s){const a=n.getGeometryFunction()(t);if(!a)return;const l=a.simplifyTransformed(i,r);n.getRenderer()?pS(e,l,n,t,s):(0,aS[l.getType()])(e,l,n,t,s,o)}(e,t,n,i,o,s,a),d}function pS(e,t,n,i,r){if("GeometryCollection"==t.getType()){const o=t.getGeometries();for(let t=0,s=o.length;t<s;++t)pS(e,o[t],n,i,r);return}e.getBuilder(n.getZIndex(),"Default").drawCustom(t,i,n.getRenderer(),n.getHitDetectionRenderer(),r)}const hS=class extends Oy{constructor(e){super(e),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.animatingOrInteracting_,this.hitDetectionImageData_=null,this.clipped_=!1,this.renderedFeatures_=null,this.renderedRevision_=-1,this.renderedResolution_=NaN,this.renderedExtent_=[1/0,1/0,-1/0,-1/0],this.wrappedRenderedExtent_=[1/0,1/0,-1/0,-1/0],this.renderedRotation_,this.renderedCenter_=null,this.renderedProjection_=null,this.renderedPixelRatio_=1,this.renderedRenderOrder_=null,this.renderedFrameDeclutter_,this.replayGroup_=null,this.replayGroupChanged=!0,this.clipping=!0,this.targetContext_=null,this.opacity_=1}renderWorlds(e,t,n){const i=t.extent,r=t.viewState,o=r.center,s=r.resolution,a=r.projection,l=r.rotation,c=a.getExtent(),u=this.getLayer().getSource(),d=this.getLayer().getDeclutter(),p=t.pixelRatio,h=t.viewHints,f=!(h[0]||h[1]),_=this.context,g=Math.round(Ni(i)/s*p),m=Math.round(Oi(i)/s*p),y=u.getWrapX()&&a.canWrapX(),v=y?Ni(c):null,b=y?Math.ceil((i[2]-c[2])/v)+1:1;let x=y?Math.floor((i[0]-c[0])/v):0;do{let i=this.getRenderTransform(o,s,0,p,g,m,x*v);t.declutter&&(i=i.slice(0)),e.execute(_,[_.canvas.width,_.canvas.height],i,l,f,void 0===n?QA:n?JA:eS,n?d&&t.declutter[d]:void 0)}while(++x<b)}setDrawContext_(){1!==this.opacity_&&(this.targetContext_=this.context,this.context=yl(this.context.canvas.width,this.context.canvas.height,zy))}resetDrawContext_(){if(1!==this.opacity_&&this.targetContext_){const e=this.targetContext_.globalAlpha;this.targetContext_.globalAlpha=this.opacity_,this.targetContext_.drawImage(this.context.canvas,0,0),this.targetContext_.globalAlpha=e,xl(this.context),zy.push(this.context.canvas),this.context=this.targetContext_,this.targetContext_=null}}renderDeclutter(e){this.replayGroup_&&this.getLayer().getDeclutter()&&this.renderWorlds(this.replayGroup_,e,!0)}renderDeferredInternal(e){this.replayGroup_&&(this.replayGroup_.renderDeferred(),this.clipped_&&this.context.restore(),this.resetDrawContext_())}renderFrame(e,t){const n=e.layerStatesArray[e.layerIndex];this.opacity_=n.opacity;const i=e.viewState;this.prepareContainer(e,t);const r=this.context,o=this.replayGroup_;let s=o&&!o.isEmpty();if(!s&&!this.getLayer().hasListener(Sc)&&!this.getLayer().hasListener(Ec))return this.container;this.setDrawContext_(),this.preRender(r,e);i.projection;if(this.clipped_=!1,s&&n.extent&&this.clipping){const t=wo(n.extent);s=Bi(t,e.extent),this.clipped_=s&&!_i(t,e.extent),this.clipped_&&this.clipUnrotated(r,e,t)}return s&&this.renderWorlds(o,e,!this.getLayer().getDeclutter()&&void 0),!e.declutter&&this.clipped_&&r.restore(),this.postRender(r,e),this.renderedRotation_!==i.rotation&&(this.renderedRotation_=i.rotation,this.hitDetectionImageData_=null),e.declutter||this.resetDrawContext_(),this.container}getFeatures(e){return new Promise(t=>{if(this.frameState&&!this.hitDetectionImageData_&&!this.animatingOrInteracting_){const e=this.frameState.size.slice(),t=this.renderedCenter_,n=this.renderedResolution_,i=this.renderedRotation_,r=this.renderedProjection_,o=this.wrappedRenderedExtent_,s=this.getLayer(),a=[],l=e[0]*rS,c=e[1]*rS;a.push(this.getRenderTransform(t,n,i,rS,l,c,0).slice());const u=s.getSource(),d=r.getExtent();if(u.getWrapX()&&r.canWrapX()&&!_i(d,o)){let e=o[0];const r=Ni(d);let s,u=0;for(;e<d[0];)--u,s=r*u,a.push(this.getRenderTransform(t,n,i,rS,l,c,s).slice()),e+=r;for(u=0,e=o[2];e>d[2];)++u,s=r*u,a.push(this.getRenderTransform(t,n,i,rS,l,c,s).slice()),e-=r}const p=yo();this.hitDetectionImageData_=oS(e,a,this.renderedFeatures_,s.getStyleFunction(),o,n,i,cS(n,this.renderedPixelRatio_),p?r:null)}t(sS(e,this.renderedFeatures_,this.hitDetectionImageData_))})}forEachFeatureAtCoordinate(e,t,n,i,r){if(!this.replayGroup_)return;const o=t.viewState.resolution,s=t.viewState.rotation,a=this.getLayer(),l={},c=this.getLayer().getDeclutter();return this.replayGroup_.forEachFeatureAtCoordinate(e,o,s,n,function(e,t,n){const o=us(e),s=l[o];if(s){if(!0!==s&&n<s.distanceSq){if(0===n)return l[o]=!0,r.splice(r.lastIndexOf(s),1),i(e,a,t);s.geometry=t,s.distanceSq=n}}else{if(0===n)return l[o]=!0,i(e,a,t);r.push(l[o]={feature:e,layer:a,geometry:t,distanceSq:n,callback:i})}},c?t.declutter?.[c]?.all().map(e=>e.value):null)}handleFontsChanged(){const e=this.getLayer();e.getVisible()&&this.replayGroup_&&e.changed()}handleStyleImageChange_(e){this.renderIfReadyAndVisible()}prepareFrame(e){const t=this.getLayer(),n=t.getSource();if(!n)return!1;const i=e.viewHints[0],r=e.viewHints[1],o=t.getUpdateWhileAnimating(),s=t.getUpdateWhileInteracting();if(this.ready&&!o&&i||!s&&r)return this.animatingOrInteracting_=!0,!0;this.animatingOrInteracting_=!1;const a=e.extent,l=e.viewState,c=l.projection,u=l.resolution,d=e.pixelRatio,p=t.getRevision(),h=t.getRenderBuffer();let f=t.getRenderOrder();void 0===f&&(f=lS);const _=l.center.slice(),g=di(a,h*u),m=g.slice(),y=[g.slice()],v=c.getExtent();if(n.getWrapX()&&c.canWrapX()&&!_i(v,e.extent)){const e=Ni(v),t=Math.max(Ni(g)/2,e);g[0]=v[0]-t,g[2]=v[2]+t,Yi(_,c);const n=Vi(y[0],c);n[0]<v[0]&&n[2]<v[2]?y.push([n[0]+e,n[1],n[2]+e,n[3]]):n[0]>v[0]&&n[2]>v[2]&&y.push([n[0]-e,n[1],n[2]-e,n[3]])}if(this.ready&&this.renderedResolution_==u&&this.renderedRevision_==p&&this.renderedRenderOrder_==f&&this.renderedFrameDeclutter_===!!e.declutter&&_i(this.wrappedRenderedExtent_,g))return $o(this.renderedExtent_,m)||(this.hitDetectionImageData_=null,this.renderedExtent_=m),this.renderedCenter_=_,this.replayGroupChanged=!1,!0;this.replayGroup_=null;const b=new NA(uS(u,d),g,u,d),x=yo();let w;if(x){for(let e=0,t=y.length;e<t;++e){const t=xo(y[e]);n.loadFeatures(t,ko(u),x)}w=po(x,c)}else for(let e=0,t=y.length;e<t;++e)n.loadFeatures(y[e],u,c);const k=cS(u,d);let C=!0;const A=(e,n)=>{let i;const r=e.getStyleFunction()||t.getStyleFunction();if(r&&(i=r(e,u)),i){const t=this.renderFeature(e,k,i,b,w,this.getLayer().getDeclutter(),n);C=C&&!t}},S=xo(g),E=n.getFeaturesInExtent(S);f&&E.sort(f);for(let e=0,t=E.length;e<t;++e)A(E[e],e);this.renderedFeatures_=E,this.ready=C;const I=b.finish(),T=new nS(g,u,d,n.getOverlaps(),I,t.getRenderBuffer(),!!e.declutter);return this.renderedResolution_=u,this.renderedRevision_=p,this.renderedRenderOrder_=f,this.renderedFrameDeclutter_=!!e.declutter,this.renderedExtent_=m,this.wrappedRenderedExtent_=g,this.renderedCenter_=_,this.renderedProjection_=c,this.renderedPixelRatio_=d,this.replayGroup_=T,this.hitDetectionImageData_=null,this.replayGroupChanged=!0,!0}renderFeature(e,t,n,i,r,o,s){if(!n)return!1;let a=!1;if(Array.isArray(n))for(let l=0,c=n.length;l<c;++l)a=dS(i,e,n[l],t,this.boundHandleStyleImageChange_,r,o,s)||a;else a=dS(i,e,n,t,this.boundHandleStyleImageChange_,r,o,s);return a}},fS=class extends ah{constructor(e){super(e)}createRenderer(){return new hS(this)}},_S={image:["Polygon","Circle","LineString","Image","Text"],hybrid:["Polygon","LineString"],vector:[]},gS={hybrid:["Image","Text","Default"],vector:["Polygon","Circle","LineString","Image","Text","Default"]},mS=class extends By{constructor(e,t){super(e,t),this.boundHandleStyleImageChange_=this.handleStyleImageChange_.bind(this),this.renderedLayerRevision_,this.renderedPixelToCoordinateTransform_=null,this.renderedRotation_,this.renderedOpacity_=1,this.tmpTransform_=[1,0,0,1,0,0],this.tileClipContexts_=null}drawTile(e,t,n,i,r,o,s,a){this.updateExecutorGroup_(e,t.pixelRatio,t.viewState.projection),this.tileImageNeedsRender_(e)&&this.renderTileImage_(e,t),super.drawTile(e,t,n,i,r,o,s,a)}getTile(e,t,n,i){const r=this.getOrCreateTile(e,t,n,i);if(!r)return null;const o=i.viewState.resolution,s=i.viewHints;return!(!s[0]&&!s[1])&&r.wantedResolution||(r.wantedResolution=o),r}prepareFrame(e){const t=this.getLayer().getRevision();return this.renderedLayerRevision_!==t&&(this.renderedLayerRevision_=t,this.renderedTiles.length=0),super.prepareFrame(e)}updateExecutorGroup_(e,t,n){const i=this.getLayer(),r=i.getRevision(),o=i.getRenderOrder()||null,s=e.wantedResolution,a=e.getReplayState(i);if(!a.dirty&&a.renderedResolution===s&&a.renderedRevision==r&&a.renderedRenderOrder==o)return;const l=i.getSource(),c=!!i.getDeclutter(),u=l.getTileGrid(),d=l.getTileGridForProjection(n).getTileCoordExtent(e.wrappedTileCoord),p=l.getSourceTiles(t,n,e),h=us(i);delete e.hitDetectionImageData[h],e.executorGroups[h]=[],a.dirty=!1;for(let n=0,r=p.length;n<r;++n){const r=p[n];if(2!=r.getState())continue;const f=r.tileCoord,_=u.getTileCoordExtent(f),g=Fi(d,_),m=di(g,i.getRenderBuffer()*s,this.tempExtent),y=wi(_,g)?null:m,v=new NA(0,g,s,t),b=cS(s,t),x=function(e,t){let n;const r=e.getStyleFunction()||i.getStyleFunction();if(r&&(n=r(e,s)),n){const i=this.renderFeature(e,b,n,v,c,t);a.dirty=a.dirty||i}},w=r.getFeatures();o&&o!==a.renderedRenderOrder&&w.sort(o);for(let e=0,t=w.length;e<t;++e){const t=w[e];y&&!Bi(y,t.getGeometry().getExtent())||x.call(this,t,e)}const k=v.finish(),C="vector"!==i.getRenderMode()&&c&&1===p.length?null:g,A=new nS(C,s,t,l.getOverlaps(),k,i.getRenderBuffer(),!0);e.executorGroups[h].push(A)}a.renderedRevision=r,a.renderedRenderOrder=o,a.renderedResolution=s}forEachFeatureAtCoordinate(e,t,n,i,r){const o=t.viewState.resolution,s=t.viewState.rotation;n=null==n?0:n;const a=this.getLayer(),l=a.getSource().getTileGridForProjection(t.viewState.projection),c=ui([e]);di(c,o*n,c);const u={},d=function(e,t,n){let o=e.getId();void 0===o&&(o=us(e));const s=u[o];if(s){if(!0!==s&&n<s.distanceSq){if(0===n)return u[o]=!0,r.splice(r.lastIndexOf(s),1),i(e,a,t);s.geometry=t,s.distanceSq=n}}else{if(0===n)return u[o]=!0,i(e,a,t);r.push(u[o]={feature:e,layer:a,geometry:t,distanceSq:n,callback:i})}},p=this.renderedTiles,h=us(a),f=a.getDeclutter(),_=f?t.declutter?.[f]?.all().map(e=>e.value):null;let g;e:for(let t=0,i=p.length;t<i;++t){const i=p[t];if(!Bi(l.getTileCoordExtent(i.wrappedTileCoord),c))continue;const r=i.executorGroups[h];for(let t=0,i=r.length;t<i;++t)if(g=r[t].forEachFeatureAtCoordinate(e,o,s,n,d,_),g)break e}return g}getFeatures(e){return 0===this.renderedTiles.length?Promise.resolve([]):new Promise((t,n)=>{const i=this.getLayer(),r=i.getSource(),o=this.renderedProjection,s=o.getExtent(),a=this.renderedResolution,l=r.getTileGridForProjection(o),c=Ys(this.renderedPixelToCoordinateTransform_,e.slice()),u=l.getTileCoordForCoordAndResolution(c,a).toString(),d=this.renderedTiles.find(e=>e.tileCoord.toString()===u&&2===e.getState());if(!d||d.loadingSourceTiles>0)return void t([]);r.getWrapX()&&o.canWrapX()&&!_i(s,l.getTileCoordExtent(d.tileCoord))&&Yi(c,o);const p=us(i),h=ji(l.getTileCoordExtent(d.wrappedTileCoord)),f=[(c[0]-h[0])/a,(h[1]-c[1])/a],_=d.getSourceTiles().reduce((e,t)=>e.concat(t.getFeatures()),[]);let g=d.hitDetectionImageData[p];if(!g){const e=mu(l.getTileSize(l.getZForResolution(a,r.zDirection))),t=this.renderedRotation_;g=oS(e,[this.getRenderTransform(l.getTileCoordCenter(d.wrappedTileCoord),a,0,rS,e[0]*rS,e[1]*rS,0)],_,i.getStyleFunction(),l.getTileCoordExtent(d.wrappedTileCoord),d.getReplayState(i).renderedResolution,t),d.hitDetectionImageData[p]=g}t(sS(f,_,g))})}getFeaturesInExtent(e){const t=[],n=this.getTileCache();if(0===n.getCount())return t;const i=this.getLayer().getSource().getTileGridForProjection(this.frameState.viewState.projection),r=i.getZForResolution(this.renderedResolution),o={};return n.forEach(n=>{if(n.tileCoord[0]!==r||2!==n.getState())return;const s=n.getSourceTiles();for(let n=0,r=s.length;n<r;++n){const r=s[n],a=r.getKey();if(a in o)continue;o[a]=!0;const l=r.tileCoord;if(Bi(e,i.getTileCoordExtent(l))){const n=r.getFeatures();if(n)for(let i=0,r=n.length;i<r;++i){const r=n[i],o=r.getGeometry();Bi(e,o.getExtent())&&t.push(r)}}}}),t}handleFontsChanged(){const e=this.getLayer();e.getVisible()&&void 0!==this.renderedLayerRevision_&&e.changed()}handleStyleImageChange_(e){this.renderIfReadyAndVisible()}renderDeclutter(e,t){const n=this.context,i=n.globalAlpha;n.globalAlpha=t.opacity;const r=e.viewHints,o=!(r[0]||r[1]),s=[this.context.canvas.width,this.context.canvas.height],a=this.getLayer().getDeclutter(),l=a?e.declutter?.[a]:void 0,c=us(this.getLayer()),u=this.renderedTiles;for(let t=0,n=u.length;t<n;++t){const n=u[t],i=n.executorGroups[c];if(i)for(let t=i.length-1;t>=0;--t)i[t].execute(this.context,s,this.getTileRenderTransform(n,e),e.viewState.rotation,o,JA,l)}n.globalAlpha=i}renderDeferredInternal(e){const t=this.renderedTiles,n=us(this.getLayer()),i=t.reduce((e,t,i)=>(t.executorGroups[n].forEach(t=>e.push({executorGroup:t,index:i})),e),[]),r=i.map(({executorGroup:e})=>e.getDeferredZIndexContexts()),o={};for(let e=0,t=i.length;e<t;++e){const t=i[e].executorGroup.getDeferredZIndexContexts();for(const e in t)o[e]=!0}Object.keys(o).map(Number).sort(Go).forEach(e=>{r.forEach((t,n)=>{t[e]&&(t[e].forEach(e=>{const{executorGroup:t,index:r}=i[n],o=t.getRenderedContext(),s=o.globalAlpha;o.globalAlpha=this.renderedOpacity_;const a=this.tileClipContexts_[r];a&&a.draw(o),e.draw(o),a&&o.restore(),o.globalAlpha=s,e.clear()}),t[e].length=0)})})}getTileRenderTransform(e,t){const n=t.pixelRatio,i=t.viewState,r=i.center,o=i.resolution,s=i.rotation,a=t.size,l=Math.round(a[0]*n),c=Math.round(a[1]*n),u=this.getLayer().getSource().getTileGridForProjection(t.viewState.projection),d=e.tileCoord,p=u.getTileCoordExtent(e.wrappedTileCoord),h=u.getTileCoordExtent(d,this.tempExtent)[0]-p[0];return Xs(Qs(this.inversePixelTransform.slice(),1/n,1/n),this.getRenderTransform(r,o,s,n,l,c,h))}postRender(e,t){const n=t.viewHints,i=!(n[0]||n[1]);this.renderedPixelToCoordinateTransform_=t.pixelToCoordinateTransform.slice(),this.renderedRotation_=t.viewState.rotation,this.renderedOpacity_=t.layerStatesArray[t.layerIndex].opacity;const r=this.getLayer(),o=r.getRenderMode(),s=e.globalAlpha;e.globalAlpha=this.renderedOpacity_;const a=r.getDeclutter(),l=a?gS[o].filter(e=>!JA.includes(e)):gS[o],c=t.viewState,u=c.rotation,d=r.getSource(),p=d.getTileGridForProjection(c.projection).getZForResolution(c.resolution,d.zDirection),h=this.renderedTiles,f=[],_=[],g=[],m=us(r);let y=!0;for(let n=h.length-1;n>=0;--n){const o=h[n];y=y&&!o.getReplayState(r).dirty;const s=o.executorGroups[m].filter(e=>e.hasExecutors(l));if(0===s.length)continue;const c=this.getTileRenderTransform(o,t),d=o.tileCoord[0];let v=!1;const b=s[0].getClipCoords(c);let x,w=e;if(b){x=new Py,w=x.getContext();for(let e=0,t=f.length;e<t;++e)if(p!==d&&d<_[e]){const t=f[e];Bi([b[0],b[3],b[4],b[7]],[t[0],t[3],t[4],t[7]])&&(v||(w.save(),v=!0),w.beginPath(),w.moveTo(b[0],b[1]),w.lineTo(b[2],b[3]),w.lineTo(b[4],b[5]),w.lineTo(b[6],b[7]),w.moveTo(t[6],t[7]),w.lineTo(t[4],t[5]),w.lineTo(t[2],t[3]),w.lineTo(t[0],t[1]),w.clip())}f.push(b),_.push(d)}for(let n=0,r=s.length;n<r;++n)s[n].execute(e,[e.canvas.width,e.canvas.height],c,u,i,l,t.declutter?.[a]);v&&(w===e?w.restore():g[n]=x)}e.globalAlpha=s,this.ready=y,this.tileClipContexts_=g,t.declutter||this.renderDeferredInternal(t),super.postRender(e,t)}renderFeature(e,t,n,i,r,o){if(!n)return!1;let s=!1;if(Array.isArray(n))for(let a=0,l=n.length;a<l;++a)s=dS(i,e,n[a],t,this.boundHandleStyleImageChange_,void 0,r,o)||s;else s=dS(i,e,n,t,this.boundHandleStyleImageChange_,void 0,r,o);return s}tileImageNeedsRender_(e){const t=this.getLayer();if("vector"===t.getRenderMode())return!1;const n=e.getReplayState(t),i=t.getRevision(),r=e.wantedResolution;return n.renderedTileResolution!==r||n.renderedTileRevision!==i}renderTileImage_(e,t){const n=this.getLayer(),i=e.getReplayState(n),r=n.getRevision(),o=e.executorGroups[us(n)];i.renderedTileRevision=r;const s=e.wrappedTileCoord,a=s[0],l=n.getSource();let c=t.pixelRatio;const u=t.viewState.projection,d=l.getTileGridForProjection(u),p=d.getResolution(e.tileCoord[0]),h=t.pixelRatio/e.wantedResolution*p,f=d.getResolution(a),_=e.getContext();c=Math.round(Math.max(c,h/c));const g=l.getTilePixelSize(a,c,u);_.canvas.width=g[0],_.canvas.height=g[1];const m=c/h;if(1!==m){const e=Ks(this.tmpTransform_);Qs(e,m,m),_.setTransform.apply(_,e)}const y=d.getTileCoordExtent(s,this.tempExtent),v=h/f,b=Ks(this.tmpTransform_);Qs(b,v,-v),function(e,t,n){Xs(e,Zs($s,1,0,0,1,t,n))}(b,-y[0],-y[3]);for(let e=0,t=o.length;e<t;++e)o[e].execute(_,[_.canvas.width*m,_.canvas.height*m],b,0,!0,_S[n.getRenderMode()],null);i.renderedTileResolution=e.wantedResolution}},yS=class extends ah{constructor(e){e=e||{};const t=Object.assign({},e);delete t.preload;const n=void 0===e.cacheSize?0:e.cacheSize;delete e.cacheSize,delete t.useInterimTilesOnError,super(t),this.on,this.once,this.un,this.cacheSize_=n;const i=e.renderMode||"hybrid";Fs("hybrid"==i||"vector"==i,"`renderMode` must be `'hybrid'` or `'vector'`"),this.renderMode_=i,this.setPreload(e.preload?e.preload:0),this.setUseInterimTilesOnError(void 0===e.useInterimTilesOnError||e.useInterimTilesOnError),this.getBackground,this.setBackground}createRenderer(){return new mS(this,{cacheSize:this.cacheSize_})}getFeatures(e){return super.getFeatures(e)}getFeaturesInExtent(e){return this.getRenderer().getFeaturesInExtent(e)}getRenderMode(){return this.renderMode_}getPreload(){return this.get(qy)}getUseInterimTilesOnError(){return this.get(Gy)}setPreload(e){this.set(qy,e)}setUseInterimTilesOnError(e){this.set(Gy,e)}};function vS(e,t){return[[-1/0,-1/0,1/0,1/0]]}function bS(e,t){return[e]}const xS=class extends Gd{constructor(e,t,n,i,r){super(e,t,n,void 0!==r?0:2),this.loader_=void 0!==r?r:null,this.canvas_=i,this.error_=null}getError(){return this.error_}handleLoad_(e){e?(this.error_=e,this.state=3):this.state=2,this.changed()}load(){0==this.state&&(this.state=1,this.changed(),this.loader_(this.handleLoad_.bind(this)))}getImage(){return this.canvas_}};function wS(e){return Array.isArray(e)?Math.min(...e):e}const kS=class extends Gd{constructor(e,t,n,i,r,o,s){let a=e.getExtent();a&&e.canWrapX()&&(a=a.slice(),a[0]=-1/0,a[2]=1/0);let l=t.getExtent();l&&t.canWrapX()&&(l=l.slice(),l[0]=-1/0,l[2]=1/0);const c=l?Fi(n,l):n,u=Ay(e,t,Pi(c),i),d=new Ey(e,t,c,a,.5*u,i),p=d.calculateSourceExtent(),h=qi(p)?null:o(p,u,r),f=h?0:4,_=h?h.getPixelRatio():1;super(n,i,_,f),this.targetProj_=t,this.maxSourceExtent_=a,this.triangulation_=d,this.targetResolution_=i,this.targetExtent_=n,this.sourceImage_=h,this.sourcePixelRatio_=_,this.interpolate_=s,this.canvas_=null,this.sourceListenerKey_=null}disposeInternal(){1==this.state&&this.unlistenSource_(),super.disposeInternal()}getImage(){return this.canvas_}getProjection(){return this.targetProj_}reproject_(){const e=this.sourceImage_.getState();if(2==e){const e=Ni(this.targetExtent_)/this.targetResolution_,t=Oi(this.targetExtent_)/this.targetResolution_;this.canvas_=Sy(e,t,this.sourcePixelRatio_,wS(this.sourceImage_.getResolution()),this.maxSourceExtent_,this.targetResolution_,this.targetExtent_,this.triangulation_,[{extent:this.sourceImage_.getExtent(),image:this.sourceImage_.getImage()}],0,void 0,this.interpolate_,!0)}this.state=e,this.changed()}load(){if(0==this.state){this.state=1,this.changed();const e=this.sourceImage_.getState();2==e||3==e?this.reproject_():(this.sourceListenerKey_=is(this.sourceImage_,Lo,e=>{const t=this.sourceImage_.getState();2!=t&&3!=t||(this.unlistenSource_(),this.reproject_())}),this.sourceImage_.load())}}unlistenSource_(){os(this.sourceListenerKey_),this.sourceListenerKey_=null}};class CS extends ts{constructor(e,t){super(e),this.image=t}}const AS=class extends rv{constructor(e){super({attributions:e.attributions,projection:e.projection,state:e.state,interpolate:void 0===e.interpolate||e.interpolate}),this.on,this.once,this.un,this.loader=e.loader||null,this.resolutions_=void 0!==e.resolutions?e.resolutions:null,this.reprojectedImage_=null,this.reprojectedRevision_=0,this.image=null,this.wantedExtent_,this.wantedResolution_,this.static_=!!e.loader&&0===e.loader.length,this.wantedProjection_=null}getResolutions(){return this.resolutions_}setResolutions(e){this.resolutions_=e}findNearestResolution(e){const t=this.getResolutions();return t&&(e=t[Wo(t,e,0)]),e}getImage(e,t,n,i){const r=this.getProjection();if(!r||!i||uo(r,i))return r&&(i=r),this.getImageInternal(e,t,n,i);if(this.reprojectedImage_){if(this.reprojectedRevision_==this.getRevision()&&uo(this.reprojectedImage_.getProjection(),i)&&this.reprojectedImage_.getResolution()==t&&wi(this.reprojectedImage_.getExtent(),e))return this.reprojectedImage_;this.reprojectedImage_.dispose(),this.reprojectedImage_=null}return this.reprojectedImage_=new kS(r,i,e,t,n,(e,t,n)=>this.getImageInternal(e,t,n,r),this.getInterpolate()),this.reprojectedRevision_=this.getRevision(),this.reprojectedImage_}getImageInternal(e,t,n,i){if(this.loader){const r=function(e,t,n){const i=t/n,r=Pi(e),o=ar(Ni(e)/i,4),s=ar(Oi(e)/i,4);return zi(r,i,0,[o+2*ar(0*o/2,4),s+2*ar(0*s/2,4)])}(e,t,n),o=this.findNearestResolution(t);if(this.image&&(this.static_||this.wantedProjection_===i&&(this.wantedExtent_&&_i(this.wantedExtent_,r)||_i(this.image.getExtent(),r))&&(this.wantedResolution_&&wS(this.wantedResolution_)===o||wS(this.image.getResolution())===o)))return this.image;this.wantedProjection_=i,this.wantedExtent_=r,this.wantedResolution_=o,this.image=new Gd(r,o,n,this.loader),this.image.addEventListener(Lo,this.handleImageChange.bind(this))}return this.image}handleImageChange(e){const t=e.target;let n;switch(t.getState()){case 1:this.loading=!0,n="imageloadstart";break;case 2:this.loading=!1,n="imageloadend";break;case 3:this.loading=!1,n="imageloaderror";break;default:return}this.hasListener(n)&&this.dispatchEvent(new CS(n,t))}};function SS(e){return function(t){const n=t.buffers,i=t.meta,r=t.imageOps,o=t.width,s=t.height,a=n.length,l=n[0].byteLength;if(r){const t=new Array(a);for(let e=0;e<a;++e)t[e]=new ImageData(new Uint8ClampedArray(n[e]),o,s);return e(t,i).data.buffer}const c=new Uint8ClampedArray(l),u=new Array(a),d=new Array(a);for(let e=0;e<a;++e)u[e]=new Uint8ClampedArray(n[e]),d[e]=[0,0,0,0];for(let t=0;t<l;t+=4){for(let e=0;e<a;++e){const n=u[e];d[e][0]=n[t],d[e][1]=n[t+1],d[e][2]=n[t+2],d[e][3]=n[t+3]}const n=e(d,i);c[t]=n[0],c[t+1]=n[1],c[t+2]=n[2],c[t+3]=n[3]}return c.buffer}}function ES(e,t){const n=Object.keys(e.lib||{}).map(function(t){return"const "+t+" = "+e.lib[t].toString()+";"}).concat(["const __minion__ = ("+SS.toString()+")(",e.operation.toString(),");",'self.addEventListener("message", function(event) {'," const buffer = __minion__(event.data);"," self.postMessage({buffer: buffer, meta: event.data.meta}, [buffer]);","});"]),i=new Worker("undefined"==typeof Blob?"data:text/javascript;base64,"+Buffer.from(n.join("\n"),"binary").toString("base64"):URL.createObjectURL(new Blob(n,{type:"text/javascript"})));return i.addEventListener("message",t),i}class IS extends qo{constructor(e){let t;super(),this.imageOps_=!!e.imageOps,t=0===e.threads?0:this.imageOps_?1:e.threads||1;const n=new Array(t);if(t)for(let i=0;i<t;++i)n[i]=ES(e,this.onWorkerMessage_.bind(this,i));else n[0]=function(e,t){const n=SS(e.operation);let i=!1;return{postMessage:function(e){setTimeout(function(){i||t({data:{buffer:n(e),meta:e.meta}})},0)},terminate:function(){i=!0}}}(e,this.onWorkerMessage_.bind(this,0));this.workers_=n,this.queue_=[],this.maxQueueLength_=e.queue||1/0,this.running_=0,this.dataLookup_={},this.job_=null}process(e,t,n){this.enqueue_({inputs:e,meta:t,callback:n}),this.dispatch_()}enqueue_(e){for(this.queue_.push(e);this.queue_.length>this.maxQueueLength_;)this.queue_.shift().callback(null,null)}dispatch_(){if(this.running_||0===this.queue_.length)return;const e=this.queue_.shift();this.job_=e;const t=e.inputs[0].width,n=e.inputs[0].height,i=e.inputs.map(function(e){return e.data.buffer}),r=this.workers_.length;if(this.running_=r,1===r)return void this.workers_[0].postMessage({buffers:i,meta:e.meta,imageOps:this.imageOps_,width:t,height:n},i);const o=e.inputs[0].data.length,s=4*Math.ceil(o/4/r);for(let o=0;o<r;++o){const r=o*s,a=[];for(let e=0,t=i.length;e<t;++e)a.push(i[e].slice(r,r+s));this.workers_[o].postMessage({buffers:a,meta:e.meta,imageOps:this.imageOps_,width:t,height:n},a)}}onWorkerMessage_(e,t){this.disposed||(this.dataLookup_[e]=t.data,--this.running_,0===this.running_&&this.resolveJob_())}resolveJob_(){const e=this.job_,t=this.workers_.length;let n,i;if(1===t)n=new Uint8ClampedArray(this.dataLookup_[0].buffer),i=this.dataLookup_[0].meta;else{const r=e.inputs[0].data.length;n=new Uint8ClampedArray(r),i=new Array(t);const o=4*Math.ceil(r/4/t);for(let e=0;e<t;++e){const t=this.dataLookup_[e].buffer,r=e*o;n.set(new Uint8ClampedArray(t),r),i[e]=this.dataLookup_[e].meta}}this.job_=null,this.dataLookup_={},e.callback(null,new ImageData(n,e.inputs[0].width,e.inputs[0].height),i),this.dispatch_()}disposeInternal(){for(let e=0;e<this.workers_.length;++e)this.workers_[e].terminate();this.workers_.length=0}}class TS extends ts{constructor(e,t,n){super(e),this.extent=t.extent,this.resolution=t.viewState.resolution/t.pixelRatio,this.data=n}}class MS extends AS{constructor(e){super({projection:null}),this.on,this.once,this.un,this.processor_=null,this.operationType_=void 0!==e.operationType?e.operationType:"pixel",this.threads_=void 0!==e.threads?e.threads:1,this.layers_=function(e){const t=e.length,n=new Array(t);for(let i=0;i<t;++i)n[i]=zS(e[i]);return n}(e.sources);const t=this.changed.bind(this);for(let e=0,n=this.layers_.length;e<n;++e)this.layers_[e].addEventListener(Lo,t);var n;this.useResolutions_=null!==e.resolutions,this.tileQueue_=new Ns(function(){return 1},this.processSources_.bind(this)),this.requestedFrameState_,this.renderedImageCanvas_=null,this.renderedRevision_,this.frameState_={animate:!1,coordinateToPixelTransform:[1,0,0,1,0,0],declutter:null,extent:null,index:0,layerIndex:0,layerStatesArray:(n=this.layers_,n.map(function(e){return e.getLayerState()})),pixelRatio:1,pixelToCoordinateTransform:[1,0,0,1,0,0],postRenderFunctions:[],size:[0,0],tileQueue:this.tileQueue_,time:Date.now(),usedTiles:{},viewState:{rotation:0},viewHints:[],wantedTiles:{},mapId:us(this),renderTargets:{}},this.setAttributions(function(t){const n=[];for(let i=0,r=e.sources.length;i<r;++i){const r=e.sources[i],o=r instanceof rv?r:r.getSource();if(!o)continue;const s=o.getAttributions()?.(t);"string"==typeof s?n.push(s):void 0!==s&&n.push(...s)}return n}),void 0!==e.operation&&this.setOperation(e.operation,e.lib)}setOperation(e,t){this.processor_&&this.processor_.dispose(),this.processor_=new IS({operation:e,imageOps:"image"===this.operationType_,queue:1,lib:t,threads:this.threads_}),this.changed()}updateFrameState_(e,t,n){const i=Object.assign({},this.frameState_);i.viewState=Object.assign({},i.viewState);const r=Pi(e);i.size[0]=Math.ceil(Ni(e)/t),i.size[1]=Math.ceil(Oi(e)/t),i.extent=[r[0]-i.size[0]*t/2,r[1]-i.size[1]*t/2,r[0]+i.size[0]*t/2,r[1]+i.size[1]*t/2],i.time=Date.now();const o=i.viewState;return o.center=r,o.projection=n,o.resolution=t,i}allSourcesReady_(){let e,t=!0;for(let n=0,i=this.layers_.length;n<i;++n)if(e=this.layers_[n].getSource(),!e||"ready"!==e.getState()){t=!1;break}return t}getImage(e,t,n,i){if(!this.allSourcesReady_())return null;this.tileQueue_.loadMoreTiles(16,16),t=this.findNearestResolution(t);const r=this.updateFrameState_(e,t,i);if(this.requestedFrameState_=r,this.renderedImageCanvas_){const e=this.renderedImageCanvas_.getResolution(),n=this.renderedImageCanvas_.getExtent();t===e&&wi(r.extent,n)||(this.renderedImageCanvas_=null)}return this.renderedImageCanvas_&&this.getRevision()===this.renderedRevision_||this.processSources_(),r.animate&&requestAnimationFrame(this.changed.bind(this)),this.renderedImageCanvas_}processSources_(){const e=this.requestedFrameState_,t=this.layers_.length,n=new Array(t);for(let i=0;i<t;++i){e.layerIndex=i,e.renderTargets={};const t=RS(this.layers_[i],e);if(!t)return;n[i]=t}const i={};this.dispatchEvent(new TS("beforeoperations",e,i)),this.processor_.process(n,i,this.onWorkerComplete_.bind(this,e))}onWorkerComplete_(e,t,n,i){if(t||!n)return;const r=e.extent,o=e.viewState.resolution;if(o!==this.requestedFrameState_.viewState.resolution||!wi(r,this.requestedFrameState_.extent))return;let s;this.renderedImageCanvas_?s=this.renderedImageCanvas_.getImage().getContext("2d"):(s=yl(Math.round(Ni(r)/o),Math.round(Oi(r)/o)),this.renderedImageCanvas_=new xS(r,o,1,s.canvas)),s.putImageData(n,0,0),e.animate?requestAnimationFrame(this.changed.bind(this)):this.changed(),this.renderedRevision_=this.getRevision(),this.dispatchEvent(new TS("afteroperations",e,i))}getResolutions(e){if(!this.useResolutions_)return null;let t=super.getResolutions();if(!t)for(let n=0,i=this.layers_.length;n<i&&(t=this.layers_[n].getSource().getResolutions(e),!t);++n);return t}disposeInternal(){this.processor_&&this.processor_.dispose(),super.disposeInternal()}}MS.prototype.dispose;let PS=null;function RS(e,t){const n=e.getRenderer();if(!n)throw new Error("Unsupported layer type: "+e);if(!n.prepareFrame(t))return null;const i=t.size[0],r=t.size[1];if(0===i||0===r)return null;const o=n.renderFrame(t,null);let s;if(o instanceof HTMLCanvasElement)s=o;else{if(o&&(s=o.firstElementChild),!(s instanceof HTMLCanvasElement))throw new Error("Unsupported rendered element: "+s);if(s.width===i&&s.height===r)return s.getContext("2d").getImageData(0,0,i,r)}if(PS){const e=PS.canvas;e.width!==i||e.height!==r?PS=yl(i,r,void 0,{willReadFrequently:!0}):PS.clearRect(0,0,i,r)}else PS=yl(i,r,void 0,{willReadFrequently:!0});return PS.drawImage(s,0,0,i,r),PS.getImageData(0,0,i,r)}function zS(e){let t;return e instanceof rv?e instanceof sv?t=new Wy({source:e}):e instanceof AS&&(t=new AA({source:e})):t=e,t}const LS=MS;Error,Error;const OS=class extends uv{constructor(e){if(super({attributions:e.attributions,cacheSize:e.cacheSize,crossOrigin:e.crossOrigin,interpolate:e.interpolate,projection:ro("EPSG:3857"),reprojectionErrorThreshold:e.reprojectionErrorThreshold,state:"loading",tileLoadFunction:e.tileLoadFunction,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:e.zDirection}),this.tileJSON_=null,this.tileSize_=e.tileSize,e.url)if(e.jsonp)!function(e,t,n){const i=document.createElement("script"),r="olc_"+us(t);function o(){delete window[r],i.parentNode.removeChild(i)}i.async=!0,i.src=e+(e.includes("?")?"&":"?")+"callback="+r;const s=setTimeout(function(){o(),n&&n()},1e4);window[r]=function(e){clearTimeout(s),o(),t(e)},document.head.appendChild(i)}(e.url,this.handleTileJSONResponse.bind(this),this.handleTileJSONError.bind(this));else{const t=new XMLHttpRequest;t.addEventListener("load",this.onXHRLoad_.bind(this)),t.addEventListener("error",this.onXHRError_.bind(this)),t.open("GET",e.url),t.send()}else{if(!e.tileJSON)throw new Error("Either `url` or `tileJSON` options must be provided");this.handleTileJSONResponse(e.tileJSON)}}onXHRLoad_(e){const t=e.target;if(!t.status||t.status>=200&&t.status<300){let e;try{e=JSON.parse(t.responseText)}catch{return void this.handleTileJSONError()}this.handleTileJSONResponse(e)}else this.handleTileJSONError()}onXHRError_(e){this.handleTileJSONError()}getTileJSON(){return this.tileJSON_}handleTileJSONResponse(e){const t=ro("EPSG:4326"),n=this.getProjection();let i;if(void 0!==e.bounds){const r=po(t,n);i=Gi(e.bounds,r)}const r=Zy(n),o=e.minzoom||0,s=Ky({extent:r,maxZoom:e.maxzoom||22,minZoom:o,tileSize:this.tileSize_});if(this.tileGrid=s,this.tileUrlFunction=nv(e.tiles,s),e.attribution&&!this.getAttributions()){const t=void 0!==i?i:r;this.setAttributions(function(n){return Bi(t,n.extent)?[e.attribution]:null})}this.tileJSON_=e,this.setState("ready")}handleTileJSONError(){this.setState("error")}};function FS(e,t,n,i,r,o,s){const a=new XMLHttpRequest;a.open("GET","function"==typeof e?e(n,i,r):e,!0),"arraybuffer"==t.getType()&&(a.responseType="arraybuffer"),a.withCredentials=false,a.onload=function(e){if(!a.status||a.status>=200&&a.status<300){const e=t.getType();try{let i;"text"==e||"json"==e?i=a.responseText:"xml"==e?i=a.responseXML||a.responseText:"arraybuffer"==e&&(i=a.response),i?o(t.readFeatures(i,{extent:n,featureProjection:r}),t.readProjection(i)):s()}catch{s()}}else s()},a.onerror=s,a.send()}function jS(e,t){return function(n,i,r,o,s){FS(e,t,n,i,r,(e,t)=>{this.addFeatures(e),void 0!==o&&o(e)},()=>{this.changed(),void 0!==s&&s()})}}const DS=class{constructor(e){this.rbush_=new Oc(e),this.items_={}}insert(e,t){const n={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3],value:t};this.rbush_.insert(n),this.items_[us(t)]=n}load(e,t){const n=new Array(t.length);for(let i=0,r=t.length;i<r;i++){const r=e[i],o=t[i],s={minX:r[0],minY:r[1],maxX:r[2],maxY:r[3],value:o};n[i]=s,this.items_[us(o)]=s}this.rbush_.load(n)}remove(e){const t=us(e),n=this.items_[t];return delete this.items_[t],null!==this.rbush_.remove(n)}update(e,t){const n=this.items_[us(t)];wi([n.minX,n.minY,n.maxX,n.maxY],e)||(this.remove(t),this.insert(e,t))}getAll(){return this.rbush_.all().map(function(e){return e.value})}getInExtent(e){const t={minX:e[0],minY:e[1],maxX:e[2],maxY:e[3]};return this.rbush_.search(t).map(function(e){return e.value})}forEach(e){return this.forEach_(this.getAll(),e)}forEachInExtent(e,t){return this.forEach_(this.getInExtent(e),t)}forEach_(e,t){let n;for(let i=0,r=e.length;i<r;i++)if(n=t(e[i]),n)return n;return n}isEmpty(){return es(this.items_)}clear(){this.rbush_.clear(),this.items_={}}getExtent(e){const t=this.rbush_.toJSON();return yi(t.minX,t.minY,t.maxX,t.maxY,e)}concat(e){this.rbush_.load(e.rbush_.all());for(const t in e.items_)this.items_[t]=e.items_[t]}},NS="addfeature",BS="removefeature";class qS extends ts{constructor(e,t,n){super(e),this.feature=t,this.features=n}}const GS=class extends rv{constructor(e){super({attributions:(e=e||{}).attributions,interpolate:!0,projection:void 0,state:"ready",wrapX:void 0===e.wrapX||e.wrapX}),this.on,this.once,this.un,this.loader_=Zo,this.format_=e.format||null,this.overlaps_=void 0===e.overlaps||e.overlaps,this.url_=e.url,void 0!==e.loader?this.loader_=e.loader:void 0!==this.url_&&(Fs(this.format_,"`format` must be set when `url` is set"),this.loader_=jS(this.url_,this.format_)),this.strategy_=void 0!==e.strategy?e.strategy:vS;const t=void 0===e.useSpatialIndex||e.useSpatialIndex;let n,i;this.featuresRtree_=t?new DS:null,this.loadedExtentsRtree_=new DS,this.loadingExtentsCount_=0,this.nullGeometryFeatures_={},this.idIndex_={},this.uidIndex_={},this.featureChangeKeys_={},this.featuresCollection_=null,Array.isArray(e.features)?i=e.features:e.features&&(n=e.features,i=n.getArray()),t||void 0!==n||(n=new _s(i)),void 0!==i&&this.addFeaturesInternal(i),void 0!==n&&this.bindFeaturesCollection_(n)}addFeature(e){this.addFeatureInternal(e),this.changed()}addFeatureInternal(e){const t=us(e);if(!this.addToIndex_(t,e))return void(this.featuresCollection_&&this.featuresCollection_.remove(e));this.setupChangeEvents_(t,e);const n=e.getGeometry();if(n){const t=n.getExtent();this.featuresRtree_&&this.featuresRtree_.insert(t,e)}else this.nullGeometryFeatures_[t]=e;this.dispatchEvent(new qS(NS,e))}setupChangeEvents_(e,t){t instanceof Bk||(this.featureChangeKeys_[e]=[is(t,Lo,this.handleFeatureChange_,this),is(t,zo,this.handleFeatureChange_,this)])}addToIndex_(e,t){let n=!0;if(void 0!==t.getId()){const e=String(t.getId());if(e in this.idIndex_)if(t instanceof Bk){const i=this.idIndex_[e];i instanceof Bk?Array.isArray(i)?i.push(t):this.idIndex_[e]=[i,t]:n=!1}else n=!1;else this.idIndex_[e]=t}return n&&(Fs(!(e in this.uidIndex_),"The passed `feature` was already added to the source"),this.uidIndex_[e]=t),n}addFeatures(e){this.addFeaturesInternal(e),this.changed()}addFeaturesInternal(e){const t=[],n=[],i=[];for(let t=0,i=e.length;t<i;t++){const i=e[t],r=us(i);this.addToIndex_(r,i)&&n.push(i)}for(let e=0,r=n.length;e<r;e++){const r=n[e],o=us(r);this.setupChangeEvents_(o,r);const s=r.getGeometry();if(s){const e=s.getExtent();t.push(e),i.push(r)}else this.nullGeometryFeatures_[o]=r}if(this.featuresRtree_&&this.featuresRtree_.load(t,i),this.hasListener(NS))for(let e=0,t=n.length;e<t;e++)this.dispatchEvent(new qS(NS,n[e]))}bindFeaturesCollection_(e){let t=!1;this.addEventListener(NS,function(n){t||(t=!0,e.push(n.feature),t=!1)}),this.addEventListener(BS,function(n){t||(t=!0,e.remove(n.feature),t=!1)}),e.addEventListener(Po,e=>{t||(t=!0,this.addFeature(e.element),t=!1)}),e.addEventListener(Ro,e=>{t||(t=!0,this.removeFeature(e.element),t=!1)}),this.featuresCollection_=e}clear(e){if(e){for(const e in this.featureChangeKeys_)this.featureChangeKeys_[e].forEach(os);this.featuresCollection_||(this.featureChangeKeys_={},this.idIndex_={},this.uidIndex_={})}else if(this.featuresRtree_){this.featuresRtree_.forEach(e=>{this.removeFeatureInternal(e)});for(const e in this.nullGeometryFeatures_)this.removeFeatureInternal(this.nullGeometryFeatures_[e])}this.featuresCollection_&&this.featuresCollection_.clear(),this.featuresRtree_&&this.featuresRtree_.clear(),this.nullGeometryFeatures_={};const t=new qS("clear");this.dispatchEvent(t),this.changed()}forEachFeature(e){if(this.featuresRtree_)return this.featuresRtree_.forEach(e);this.featuresCollection_&&this.featuresCollection_.forEach(e)}forEachFeatureAtCoordinateDirect(e,t){const n=[e[0],e[1],e[0],e[1]];return this.forEachFeatureInExtent(n,function(n){const i=n.getGeometry();if(i instanceof Bk||i.intersectsCoordinate(e))return t(n)})}forEachFeatureInExtent(e,t){if(this.featuresRtree_)return this.featuresRtree_.forEachInExtent(e,t);this.featuresCollection_&&this.featuresCollection_.forEach(t)}forEachFeatureIntersectingExtent(e,t){return this.forEachFeatureInExtent(e,function(n){const i=n.getGeometry();if(i instanceof Bk||i.intersectsExtent(e)){const e=t(n);if(e)return e}})}getFeaturesCollection(){return this.featuresCollection_}getFeatures(){let e;return this.featuresCollection_?e=this.featuresCollection_.getArray().slice(0):this.featuresRtree_&&(e=this.featuresRtree_.getAll(),es(this.nullGeometryFeatures_)||Uo(e,Object.values(this.nullGeometryFeatures_))),e}getFeaturesAtCoordinate(e){const t=[];return this.forEachFeatureAtCoordinateDirect(e,function(e){t.push(e)}),t}getFeaturesInExtent(e,t){if(this.featuresRtree_){if(!(t&&t.canWrapX()&&this.getWrapX()))return this.featuresRtree_.getInExtent(e);const n=Wi(e,t);return[].concat(...n.map(e=>this.featuresRtree_.getInExtent(e)))}return this.featuresCollection_?this.featuresCollection_.getArray().slice(0):[]}getClosestFeatureToCoordinate(e,t){const n=e[0],i=e[1];let r=null;const o=[NaN,NaN];let s=1/0;const a=[-1/0,-1/0,1/0,1/0];return t=t||Ko,this.featuresRtree_.forEachInExtent(a,function(e){if(t(e)){const t=e.getGeometry(),l=s;if(s=t instanceof Bk?0:t.closestPointXY(n,i,o,s),s<l){r=e;const t=Math.sqrt(s);a[0]=n-t,a[1]=i-t,a[2]=n+t,a[3]=i+t}}}),r}getExtent(e){return this.featuresRtree_.getExtent(e)}getFeatureById(e){const t=this.idIndex_[e.toString()];return void 0!==t?t:null}getFeatureByUid(e){const t=this.uidIndex_[e];return void 0!==t?t:null}getFormat(){return this.format_}getOverlaps(){return this.overlaps_}getUrl(){return this.url_}handleFeatureChange_(e){const t=e.target,n=us(t),i=t.getGeometry();if(i){const e=i.getExtent();n in this.nullGeometryFeatures_?(delete this.nullGeometryFeatures_[n],this.featuresRtree_&&this.featuresRtree_.insert(e,t)):this.featuresRtree_&&this.featuresRtree_.update(e,t)}else n in this.nullGeometryFeatures_||(this.featuresRtree_&&this.featuresRtree_.remove(t),this.nullGeometryFeatures_[n]=t);const r=t.getId();if(void 0!==r){const e=r.toString();this.idIndex_[e]!==t&&(this.removeFromIdIndex_(t),this.idIndex_[e]=t)}else this.removeFromIdIndex_(t),this.uidIndex_[n]=t;this.changed(),this.dispatchEvent(new qS("changefeature",t))}hasFeature(e){const t=e.getId();return void 0!==t?t in this.idIndex_:us(e)in this.uidIndex_}isEmpty(){return this.featuresRtree_?this.featuresRtree_.isEmpty()&&es(this.nullGeometryFeatures_):!this.featuresCollection_||0===this.featuresCollection_.getLength()}loadFeatures(e,t,n){const i=this.loadedExtentsRtree_,r=this.strategy_(e,t,n);for(let e=0,o=r.length;e<o;++e){const o=r[e];i.forEachInExtent(o,function(e){return _i(e.extent,o)})||(++this.loadingExtentsCount_,this.dispatchEvent(new qS("featuresloadstart")),this.loader_.call(this,o,t,n,e=>{--this.loadingExtentsCount_,this.dispatchEvent(new qS("featuresloadend",void 0,e))},()=>{--this.loadingExtentsCount_,this.dispatchEvent(new qS("featuresloaderror"))}),i.insert(o,{extent:o.slice()}))}this.loading=!(this.loader_.length<4)&&this.loadingExtentsCount_>0}refresh(){this.clear(!0),this.loadedExtentsRtree_.clear(),super.refresh()}removeLoadedExtent(e){const t=this.loadedExtentsRtree_,n=t.forEachInExtent(e,function(t){if(wi(t.extent,e))return t});n&&t.remove(n)}removeFeatures(e){let t=!1;for(let n=0,i=e.length;n<i;++n)t=this.removeFeatureInternal(e[n])||t;t&&this.changed()}removeFeature(e){e&&this.removeFeatureInternal(e)&&this.changed()}removeFeatureInternal(e){const t=us(e);if(!(t in this.uidIndex_))return!1;t in this.nullGeometryFeatures_?delete this.nullGeometryFeatures_[t]:this.featuresRtree_&&this.featuresRtree_.remove(e);const n=this.featureChangeKeys_[t];n?.forEach(os),delete this.featureChangeKeys_[t];const i=e.getId();if(void 0!==i){const t=i.toString(),n=this.idIndex_[t];n===e?delete this.idIndex_[t]:Array.isArray(n)&&(n.splice(n.indexOf(e),1),1===n.length&&(this.idIndex_[t]=n[0]))}return delete this.uidIndex_[t],this.hasListener(BS)&&this.dispatchEvent(new qS(BS,e)),!0}removeFromIdIndex_(e){for(const t in this.idIndex_)if(this.idIndex_[t]===e){delete this.idIndex_[t];break}}setLoader(e){this.loader_=e}setUrl(e){Fs(this.format_,"`format` must be set when `url` is set"),this.url_=e,this.setLoader(jS(e,this.format_))}setOverlaps(e){this.overlaps_=e,this.changed()}},VS=[],WS=class extends py{constructor(e,t,n,i,r){super(e,t,{transition:0}),this.context_=null,this.executorGroups={},this.loadingSourceTiles=0,this.hitDetectionImageData={},this.replayState_={},this.sourceTiles=[],this.errorTileKeys={},this.wantedResolution,this.getSourceTiles=i.bind(void 0,this),this.removeSourceTiles_=r,this.wrappedTileCoord=n}getContext(){return this.context_||(this.context_=yl(1,1,VS)),this.context_}hasContext(){return!!this.context_}getImage(){return this.hasContext()?this.getContext().canvas:null}getReplayState(e){const t=us(e);return t in this.replayState_||(this.replayState_[t]={dirty:!1,renderedRenderOrder:null,renderedResolution:NaN,renderedRevision:-1,renderedTileResolution:NaN,renderedTileRevision:-1,renderedTileZ:-1}),this.replayState_[t]}load(){this.getSourceTiles()}release(){this.context_&&(xl(this.context_),VS.push(this.context_.canvas),this.context_=null),this.removeSourceTiles_(this),this.sourceTiles.length=0,super.release()}},HS=class extends lv{constructor(e){const t=e.projection||"EPSG:3857",n=e.extent||Zy(t),i=e.tileGrid||Ky({extent:n,maxResolution:e.maxResolution,maxZoom:void 0!==e.maxZoom?e.maxZoom:22,minZoom:e.minZoom,tileSize:e.tileSize||512});super({attributions:e.attributions,attributionsCollapsible:e.attributionsCollapsible,cacheSize:e.cacheSize,interpolate:!0,projection:t,state:e.state,tileGrid:i,tileLoadFunction:e.tileLoadFunction?e.tileLoadFunction:US,tileUrlFunction:e.tileUrlFunction,url:e.url,urls:e.urls,wrapX:void 0===e.wrapX||e.wrapX,transition:e.transition,zDirection:void 0===e.zDirection?1:e.zDirection}),this.format_=e.format?e.format:null,this.tileKeysBySourceTileUrl_={},this.sourceTiles_={},this.overlaps_=null==e.overlaps||e.overlaps,this.tileClass=e.tileClass?e.tileClass:qk,this.tileGrids_={}}getOverlaps(){return this.overlaps_}getSourceTiles(e,t,n){if(0===n.getState()){n.setState(1);const i=n.wrappedTileCoord,r=this.getTileGridForProjection(t),o=r.getTileCoordExtent(i),s=i[0],a=r.getResolution(s);di(o,-a,o);const l=this.tileGrid,c=l.getExtent();c&&Fi(o,c,o);const u=l.getZForResolution(a,this.zDirection);l.forEachTileCoord(o,u,i=>{const r=this.tileUrlFunction(i,e,t);this.sourceTiles_[r]||(this.sourceTiles_[r]=new this.tileClass(i,r?0:4,r,this.format_,this.tileLoadFunction));const o=this.sourceTiles_[r];n.sourceTiles.push(o),this.tileKeysBySourceTileUrl_[r]||(this.tileKeysBySourceTileUrl_[r]=[]),this.tileKeysBySourceTileUrl_[r].push(n.getKey());const s=o.getState();if(s<2){const e=t=>{this.handleTileChange(t);const i=o.getState();if(2===i||3===i){const t=o.getKey();t in n.errorTileKeys?2===o.getState()&&delete n.errorTileKeys[t]:n.loadingSourceTiles--,3===i?n.errorTileKeys[t]=!0:o.removeEventListener(Lo,e),0===n.loadingSourceTiles&&n.setState(es(n.errorTileKeys)?2:3)}};o.addEventListener(Lo,e),n.loadingSourceTiles++}0===s&&(o.extent=l.getTileCoordExtent(i),o.projection=t,o.resolution=l.getResolution(i[0]),o.load())}),n.loadingSourceTiles||n.setState(n.sourceTiles.some(e=>3===e.getState())?3:2)}return n.sourceTiles}removeSourceTiles(e){const t=e.getKey(),n=e.sourceTiles;for(let e=0,i=n.length;e<i;++e){const i=n[e].getTileUrl();if(!this.tileKeysBySourceTileUrl_[i])return;const r=this.tileKeysBySourceTileUrl_[i].indexOf(t);-1!==r&&(this.tileKeysBySourceTileUrl_[i].splice(r,1),0===this.tileKeysBySourceTileUrl_[i].length&&(delete this.tileKeysBySourceTileUrl_[i],delete this.sourceTiles_[i]))}}getTile(e,t,n,i,r){const o=[e,t,n];let s=this.getTileCoordForTileUrlFunction(o,r);const a=this.getTileGrid().getExtent(),l=this.getTileGridForProjection(r);if(s&&a){const t=l.getTileCoordExtent(s);di(t,-l.getResolution(e),t),Bi(a,t)||(s=null)}let c=!0;if(null!==s){const t=this.tileGrid,n=l.getResolution(e),o=t.getZForResolution(n,1),a=l.getTileCoordExtent(s);di(a,-n,a),t.forEachTileCoord(a,o,e=>{c=c&&!this.tileUrlFunction(e,i,r)})}const u=new WS(o,c?4:0,s,this.getSourceTiles.bind(this,i,r),this.removeSourceTiles.bind(this));return u.key=this.getKey(),u}getTileGridForProjection(e){const t=e.getCode();let n=this.tileGrids_[t];if(!n){const i=this.getProjection();Fs(null===i||uo(i,e),"A VectorTile source can only be rendered if it has a projection compatible with the view projection.");const r=this.tileGrid,o=r.getResolutions().slice(),s=o.map(function(e,t){return r.getOrigin(t)}),a=o.map(function(e,t){return r.getTileSize(t)}),l=43;for(let e=o.length;e<l;++e)o.push(o[e-1]/2),s.push(s[e-1]),a.push(a[e-1]);n=new Uy({extent:r.getExtent(),origins:s,resolutions:o,tileSizes:a}),this.tileGrids_[t]=n}return n}getTilePixelRatio(e){return e}getTilePixelSize(e,t,n){const i=mu(this.getTileGridForProjection(n).getTileSize(e),this.tmpSize);return[Math.round(i[0]*t),Math.round(i[1]*t)]}setOverlaps(e){this.overlaps_=e,this.changed()}};function US(e,t){e.setLoader(function(n,i,r){FS(t,e.getFormat(),n,i,r,e.onLoad.bind(e),e.onError.bind(e))})}function $S(e,t){const n=e[0],i=n.width,r=n.height,o=n.data,s=new Uint8ClampedArray(o.length),a=2*t.resolution,l=i-1,c=r-1,u=[0,0,0,0],d=2*Math.PI,p=Math.PI/2,h=Math.PI*t.sunEl/180,f=Math.PI*t.sunAz/180,_=Math.cos(h),g=Math.sin(h),m=t.highlightColor,y=t.shadowColor,v=t.accentColor,b=t.encoding;let x,w,k,C,A,S,E,I,T,M,P,R,z,L,O,F,j,D,N,B,q,G;function V(e,t="mapbox"){return"mapbox"===t?.1*(256*e[0]*256+256*e[1]+e[2])-1e4:"terrarium"===t?256*e[0]+e[1]+e[2]/256-32768:void 0}for(w=0;w<=c;++w)for(A=0===w?0:w-1,S=w===c?c:w+1,x=0;x<=l;++x)k=0===x?0:x-1,C=x===l?l:x+1,E=4*(w*i+k),u[0]=o[E],u[1]=o[E+1],u[2]=o[E+2],u[3]=o[E+3],I=t.vert*V(u,b),E=4*(w*i+C),u[0]=o[E],u[1]=o[E+1],u[2]=o[E+2],u[3]=o[E+3],T=t.vert*V(u,b),M=(T-I)/a,E=4*(A*i+x),u[0]=o[E],u[1]=o[E+1],u[2]=o[E+2],u[3]=o[E+3],I=t.vert*V(u,b),E=4*(S*i+x),u[0]=o[E],u[1]=o[E+1],u[2]=o[E+2],u[3]=o[E+3],T=t.vert*V(u,b),P=(T-I)/a,z=Math.atan2(P,-M),z=z<0?p-z:z>p?d-z+p:p-z,R=Math.atan(Math.sqrt(M*M+P*P)),G=g*Math.cos(R)+_*Math.sin(R)*Math.cos(f-z),L=Math.cos(R),O=255*G,N=Math.min(Math.max(2*t.sunEl,0),1),B=1.875-1.75*t.opacity,q=.5!==t.opacity?p*((Math.pow(B,R)-1)/(Math.pow(B,p)-1)):R,j={r:(1-L)*v.r*N*255,g:(1-L)*v.g*N*255,b:(1-L)*v.b*N*255,a:(1-L)*v.a*N*255},F=Math.abs(((z+f)/Math.PI+.5)%2-1),D={r:(m.r*(1-F)+y.r*F)*O,g:(m.g*(1-F)+y.g*F)*O,b:(m.b*(1-F)+y.b*F)*O,a:(m.a*(1-F)+y.a*F)*O},E=4*(w*i+x),s[E]=j.r*(1-F)+D.r,s[E+1]=j.g*(1-F)+D.g,s[E+2]=j.b*(1-F)+D.b,s[E+3]=o[E+3]*t.opacity*N*Math.sin(q);return new ImageData(s,i,r)}function KS(e,t=512){return e.getExtent()?Ky({extent:e.getExtent(),tileSize:t,maxZoom:22}).getResolutions():tC}function XS(e,t){return t.accessToken||(t=Object.assign({},t),new URL(e).searchParams.forEach((e,n)=>{t.accessToken=e,t.accessTokenParam=n})),t}function ZS(e,t,n="",i={},r=void 0){let o,s,a,l,c=!0;return"string"==typeof n||Array.isArray(n)?l=n:(a=n,l=a.source||a.layers,i=a),"string"==typeof i?(o=i,a={}):(o=i.styleUrl,a=i),!1===a.updateSource&&(c=!1),r||(r=a.resolutions),o||"string"!=typeof t||t.trim().startsWith("{")||(o=t),o&&(o=o.startsWith("data:")?location.href:Hk(o,a.accessToken),a=XS(o,a)),new Promise(function(n,i){aC(t,a).then(function(t){if(8!=t.version)return i(new Error("glStyle version 8 required."));if(!(e instanceof fS||e instanceof yS))return i(new Error("Can only apply to VectorLayer or VectorTileLayer"));const u=e instanceof yS?"vector":"geojson";if(l?s=Array.isArray(l)?t.layers.find(function(e){return e.id===l[0]}).source:l:(s=t.layers.find(function(e){return e.source&&t.sources[e.source].type===u}).source,l=s),!s)return i(new Error(`No ${u} source found in the glStyle.`));function d(){if(!c)return Promise.resolve();if(e instanceof yS)return eE(t.sources[s],o,a).then(function(t){const n=e.getSource();n?t!==n&&(n.setTileUrlFunction(t.getTileUrlFunction()),"function"==typeof n.setUrls&&"function"==typeof t.getUrls&&n.setUrls(t.getUrls()),n.format_||(n.format_=t.format_),n.getAttributions()||n.setAttributions(t.getAttributions()),n.getTileLoadFunction()===US&&n.setTileLoadFunction(t.getTileLoadFunction()),uo(n.getProjection(),t.getProjection())&&(n.tileGrid=t.getTileGrid())):e.setSource(t);const i=e.getSource().getTileGrid();!isFinite(e.getMaxResolution())&&!isFinite(e.getMinZoom())&&i.getMinZoom()>0&&e.setMaxResolution(rC(Math.max(0,i.getMinZoom()-1e-12),i.getResolutions()))});const n=t.sources[s];let i=e.getSource();i&&i.get("mapbox-source")===n||(i=iE(n,o,a));const r=e.getSource();return r?i!==r&&(r.getAttributions()||r.setAttributions(i.getAttributions()),r.format_||(r.format_=i.getFormat()),r.url_=i.getUrl()):e.setSource(i),Promise.resolve()}let p,h;const f={},_={};function g(){if(h||t.sprite&&!f)h?(e.setStyle(h),d().then(n).catch(i)):i(new Error("Something went wrong trying to apply style."));else{if(a.projection&&!r){const e=ro(a.projection).getUnits();"m"!==e&&(r=tC.map(t=>t/cr[e]))}let o;const c=e.getSource();c instanceof HS&&c.format_ instanceof wA&&(o=c.format_.layerName_),h=function(e,t,n,i=tC,r,o,s,a){if("string"==typeof t&&(t=JSON.parse(t)),8!=t.version)throw new Error("glStyle version 8 required.");LC[function(e,t){return Qk(e)+"."+us(t)}(t,e)]=Array.from(arguments);const l={};("string"==typeof o||o instanceof Request||o instanceof Response||o instanceof Promise)&&(o={default:o});for(const t in o){const n=o[t];Qo(()=>n).then(async n=>{let i;if("undefined"!=typeof Image){const r=new Image;if("string"==typeof n)r.crossOrigin="anonymous",r.src=n;else{let e;n instanceof Request?e=await fetch(n):n instanceof Response&&(e=n);const t=await e.blob();i=URL.createObjectURL(t),r.src=i}r.addEventListener("load",function n(){r.removeEventListener("load",n),l[t]={image:r,size:[r.width,r.height]},e.changed(),i&&URL.revokeObjectURL(i)}),r.addEventListener("error",function e(){URL.revokeObjectURL(i),r.removeEventListener("error",e)})}else if("undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope){const e=self;e.postMessage({action:"loadImage",src:n}),e.addEventListener("message",function(e){"imageLoaded"===e.data.action&&e.data.src===n&&(l[t]={image:e.data.image,size:[e.data.image.width,e.data.image.height]})})}})}const c=_v(t.layers),u={},d=[],p={},h={},f=Jk(t),_=function(e){let t=Zk[e.id];return t||(t={},Zk[Qk(e)]=t),t}(t);let g;for(let e=0,i=c.length;e<i;++e){const i=c[e],r=i.id;if("string"==typeof n&&i.source==n||Array.isArray(n)&&-1!==n.indexOf(r)){const n=i["source-layer"];if(g){if(i.source!==g)throw new Error(`Layer "${r}" does not use source "${g}`)}else{g=i.source;const e=t.sources[g];if(!e)throw new Error(`Source "${g}" is not defined`);const n=e.type;if("vector"!==n&&"geojson"!==n)throw new Error(`Source "${g}" is not of type "vector" or "geojson", but "${n}"`)}let o=u[n];o||(o=[],u[n]=o),o.push({layer:i,index:e}),d.push(r)}}const m=new Ip,y=new kp,v=[],b=function(n,o,c){const d=e.getSource?.()?.format_?.layerName_??"mvt:layer",g=n.getProperties(),b=u[g[d]];if(!b)return;let x=i.indexOf(o);-1==x&&(x=iC(o,i)),CC.zoom=x,CC.distanceFromCenter=0;const w=n.getGeometry(),k=wC[w.getType()],C=e.get("map");if(C&&C instanceof fh&&1===k){const e=C.getSize();if(e){const t=C.getView().getCenter(),n=Pi(w.getExtent());CC.distanceFromCenter=Zi(t,n)/o/e[1]}}const A={id:n.getId(),properties:g,type:k},S=e.get("mapbox-featurestate")[n.getId()];let E,I=-1;for(let i=0,u=b.length;i<u;++i){const u=b[i],d=u.layer,w=d.id;if(void 0!==c&&c!==w)continue;const C=d.layout||Kk,T=d.paint||Kk;if("none"===C.visibility||"minzoom"in d&&x<d.minzoom||"maxzoom"in d&&x>=d.maxzoom)continue;const M=d.filter;if(!M||TC(w,M,A,_)){let i,c,_,b,x,w;E=d;const M=u.index;if(3==k&&("fill"==d.type||"fill-extrusion"==d.type))if(c=EC(d,"paint",d.type+"-opacity",A,f,S),d.type+"-pattern"in T){const e=EC(d,"paint",d.type+"-pattern",A,f,S);if(e){const t="string"==typeof e?RC(e,g):e.toString(),n=zC(t,l);if(r&&r[t]&&n){++I,w=v[I],w&&w.getFill()&&!w.getStroke()&&!w.getText()||(w=new Lp({fill:new kp}),v[I]=w),_=w.getFill(),w.setZIndex(M);const e=t+"."+c;let i=h[e];if(!i){const o=r[t],s=nC(o.width,o.height),a=s.getContext("2d");a.globalAlpha=c,a.drawImage(n.image,o.x,o.y,o.width,o.height,0,0,o.width,o.height),i=a.createPattern(s,"repeat"),h[e]=i}_.setColor(i)}}}else i=MC(EC(d,"paint",d.type+"-color",A,f,S),c),d.type+"-outline-color"in T&&(x=MC(EC(d,"paint",d.type+"-outline-color",A,f,S),c)),x||(x=i),(i||x)&&(++I,w=v[I],(!w||i&&!w.getFill()||!i&&w.getFill()||x&&!w.getStroke()||!x&&w.getStroke()||w.getText())&&(w=new Lp({fill:i?new kp:void 0,stroke:x?new Ip:void 0}),v[I]=w),i&&(_=w.getFill(),_.setColor(i)),x&&(b=w.getStroke(),b.setColor(x),b.setWidth(.5)),w.setZIndex(M));if(1!=k&&"line"==d.type){i="line-pattern"in T?void 0:MC(EC(d,"paint","line-color",A,f,S),EC(d,"paint","line-opacity",A,f,S));const e=EC(d,"paint","line-width",A,f,S);i&&e>0&&(++I,w=v[I],w&&w.getStroke()&&!w.getFill()&&!w.getText()||(w=new Lp({stroke:new Ip}),v[I]=w),b=w.getStroke(),b.setLineCap(EC(d,"layout","line-cap",A,f,S)),b.setLineJoin(EC(d,"layout","line-join",A,f,S)),b.setMiterLimit(EC(d,"layout","line-miter-limit",A,f,S)),b.setColor(i),b.setWidth(e),b.setLineDash(T["line-dasharray"]?EC(d,"paint","line-dasharray",A,f,S).map(function(t){return t*e}):null),w.setZIndex(M))}let P,R,z,L,O,F,j,D,N,B=!1,q=null,G=0;if((1==k||2==k)&&"icon-image"in C){const t=EC(d,"layout","icon-image",A,f,S);if(t){let i;P="string"==typeof t?RC(t,g):t.toString();const s=a?a(e,P):void 0,c=zC(P,l);if(r&&r[P]&&c||s){const e=EC(d,"layout","icon-rotation-alignment",A,f,S);if(2==k){const t=n.getGeometry();if(t.getFlatMidpoint||t.getFlatMidpoints){const n=t.getExtent();if(Math.sqrt(Math.max(Math.pow((n[2]-n[0])/o,2),Math.pow((n[3]-n[1])/o,2)))>150){const n="MultiLineString"===t.getType()?t.getFlatMidpoints():t.getFlatMidpoint();if(SC||(AC=[NaN,NaN],SC=new Bk("Point",AC,[],2,{},void 0)),i=SC,AC[0]=n[0],AC[1]=n[1],"line"===EC(d,"layout","symbol-placement",A,f,S)&&"map"===e){const e=t.getStride(),i=t.getFlatCoordinates();for(let t=0,r=i.length-e;t<r;t+=e){const r=i[t],o=i[t+1],s=i[t+e],a=i[t+e+1],l=Math.min(r,s),c=Math.max(r,s),u=n[0],d=(a-o)*(u-r)-(s-r)*(n[1]-o);if(Math.abs(d)<.001&&u<=c&&u>=l){G=Math.atan2(o-a,s-r);break}}}}}}if(2!==k||i){const t=EC(d,"layout","icon-size",A,f,S),n=void 0!==T["icon-color"]?EC(d,"paint","icon-color",A,f,S):null;if(!n||0!==n.a){const i=EC(d,"paint","icon-halo-color",A,f,S),o=EC(d,"paint","icon-halo-width",A,f,S);let a=`${P}.${t}.${o}.${i}`;if(null!==n&&(a+=`.${n}`),R=p[a],!R){const l=IC(d,A,"icon",f);let u;"icon-offset"in C&&(u=EC(d,"layout","icon-offset",A,f,S).slice(0),u[0]*=t,u[1]*=-t);let h=n?[255*n.r,255*n.g,255*n.b,n.a]:void 0;if(s){const n={color:h,rotateWithView:"map"===e,displacement:u,declutterMode:l,scale:t};"string"==typeof s?n.src=s:(n.img=s,n.imgSize=[s.width,s.height]),R=new Sp(n)}else{const s=r[P];let a,d,p;if(o)s.sdf?(a=uC(pC(c.image,s,n||[0,0,0,1]),{x:0,y:0,width:s.width,height:s.height,pixelRatio:s.pixelRatio},o,i),h=void 0):a=uC(c.image,s,o,i);else{if(s.sdf&&!c.unSDFed){const e=pC(c.image,{x:0,y:0,width:c.size[0],height:c.size[1]},{r:1,g:1,b:1,a:1});c.image=e,c.unSDFed=!0}a=c.image,d=[s.width,s.height],p=[s.x,s.y]}R=new Sp({color:h,img:a,imgSize:c.size,size:d,offset:p,rotateWithView:"map"===e,scale:t/s.pixelRatio,displacement:u,declutterMode:l})}p[a]=R}}R&&(++I,w=v[I],w&&w.getImage()&&!w.getFill()&&!w.getStroke()||(w=new Lp,v[I]=w),w.setGeometry(i),R.setRotation(G+eC(EC(d,"layout","icon-rotate",A,f,S))),R.setOpacity(EC(d,"paint","icon-opacity",A,f,S)),R.setAnchor(kC[EC(d,"layout","icon-anchor",A,f,S)]),w.setImage(R),q=w.getText(),w.setText(void 0),w.setZIndex(M),B=!0,z=!1)}else z=!0}}}if(1==k&&"circle"===d.type){++I,w=v[I],w&&w.getImage()&&!w.getFill()&&!w.getStroke()||(w=new Lp,v[I]=w);const e="circle-radius"in T?EC(d,"paint","circle-radius",A,f,S):5,t=MC(EC(d,"paint","circle-stroke-color",A,f,S),EC(d,"paint","circle-stroke-opacity",A,f,S)),n=EC(d,"paint","circle-translate",A,f,S),i=MC(EC(d,"paint","circle-color",A,f,S),EC(d,"paint","circle-opacity",A,f,S)),r=EC(d,"paint","circle-stroke-width",A,f,S),o=e+"."+t+"."+i+"."+r+"."+n[0]+"."+n[1];R=p[o],R||(R=new xp({radius:e,displacement:[n[0],-n[1]],stroke:t&&r>0?new Ip({width:r,color:t}):void 0,fill:i?new kp({color:i}):void 0,declutterMode:"none"}),p[o]=R),w.setImage(R),q=w.getText(),w.setText(void 0),w.setGeometry(void 0),w.setZIndex(M),B=!0}if("text-field"in C){j=Math.round(EC(d,"layout","text-size",A,f,S));const e=EC(d,"layout","text-font",A,f,S);F=EC(d,"layout","text-line-height",A,f,S),O=Lk(s?s(e,t.metadata?t.metadata["ol:webfonts"]:void 0):e,j,F),O.includes("sans-serif")||(O+=",sans-serif"),D=EC(d,"layout","text-letter-spacing",A,f,S),N=EC(d,"layout","text-max-width",A,f,S);const n=EC(d,"layout","text-field",A,f,S);L="object"==typeof n&&n.sections?1===n.sections.length?n.toString():n.sections.reduce((t,n,i)=>{const r=n.fontStack?n.fontStack.split(","):e,o=Lk(s?s(r):r,j*(n.scale||1),F);let a=n.text;if("\n"===a)return t.push("\n",""),t;if(2==k)return t.push(fC(a,D),o),t;a=vC(a,o,N,D).split("\n");for(let e=0,n=a.length;e<n;++e)e>0&&t.push("\n",""),t.push(a[e],o);return t},[]):RC(n,g).trim(),c=EC(d,"paint","text-opacity",A,f,S)}if(L&&c&&!z){B||(++I,w=v[I],w&&w.getText()&&!w.getFill()&&!w.getStroke()||(w=new Lp,v[I]=w),w.setImage(void 0),w.setGeometry(void 0));const e=IC(d,A,"text",f);w.getText()||w.setText(q),q=w.getText(),(!q||"getDeclutterMode"in q&&q.getDeclutterMode()!==e)&&(q=new Fp({padding:[2,2,2,2],declutterMode:e}),w.setText(q));const t=EC(d,"layout","text-transform",A,f,S);"uppercase"==t?L=Array.isArray(L)?L.map((e,t)=>t%2?e:e.toUpperCase()):L.toUpperCase():"lowercase"==t&&(L=Array.isArray(L)?L.map((e,t)=>t%2?e:e.toLowerCase()):L.toLowerCase());const n=Array.isArray(L)?L:2==k?fC(L,D):vC(L,O,N,D);if(q.setText(n),q.setFont(O),q.setRotation(eC(EC(d,"layout","text-rotate",A,f,S))),"function"==typeof q.setKeepUpright){const e=EC(d,"layout","text-keep-upright",A,f,S);q.setKeepUpright(e)}const i=EC(d,"layout","text-anchor",A,f,S),r=B||1==k?"point":EC(d,"layout","symbol-placement",A,f,S);let o;if("line-center"===r?(q.setPlacement("line"),o="center"):q.setPlacement(r),"line"===r&&"function"==typeof q.setRepeat){const e=EC(d,"layout","symbol-spacing",A,f,S);q.setRepeat(2*e)}q.setOverflow("point"===r);let s=EC(d,"paint","text-halo-width",A,f,S);const a=EC(d,"layout","text-offset",A,f,S),l=EC(d,"paint","text-translate",A,f,S);let u=0,p=0;if("point"==r){o="center",-1!==i.indexOf("left")?(o="left",p=s):-1!==i.indexOf("right")&&(o="right",p=-s);const e=EC(d,"layout","text-rotation-alignment",A,f,S);q.setRotateWithView("map"==e)}else q.setMaxAngle(eC(EC(d,"layout","text-max-angle",A,f,S))*L.length/n.length),q.setRotateWithView(!1);q.setTextAlign(o);let h="middle";0==i.indexOf("bottom")?(h="bottom",u=-s-.5*(F-1)*j):0==i.indexOf("top")&&(h="top",u=s+.5*(F-1)*j),q.setTextBaseline(h);const _=EC(d,"layout","text-justify",A,f,S);q.setJustify("auto"===_?void 0:_),q.setOffsetX(a[0]*j+p+l[0]),q.setOffsetY(a[1]*j+u+l[1]),y.setColor(MC(EC(d,"paint","text-color",A,f,S),c)),q.setFill(y);const g=MC(EC(d,"paint","text-halo-color",A,f,S),c);if(g&&s>0){m.setColor(g),s*=2;const e=.5*j;m.setWidth(s<=e?s:e),q.setStroke(m)}else q.setStroke(void 0);const b=EC(d,"layout","text-padding",A,f,S),x=q.getPadding();b!==x[0]&&(x[0]=b,x[1]=b,x[2]=b,x[3]=b),w.setZIndex(M)}}}return I>-1?(v.length=I+1,v):void 0};return e.setStyle(b),e.set("mapbox-layers",d),e.set("mapbox-source",g),e.set("mapbox-featurestate",e.get("mapbox-featurestate")||{}),b}(e,t,l,r,f,_,(e,t=a.webfonts)=>function(e,t="https://cdn.jsdelivr.net/npm/@fontsource/{font-family}/{fontweight}{-fontstyle}.css"){let n;for(let t=0,i=e.length;t<i;++t){const i=e[t];if(i in xC)continue;xC[i]=!0;const r=Lk(i,16).split(" ");n||(n=[]),n.push([r.slice(3).join(" ").replace(/"/g,""),r[1],r[0]])}return n?((async()=>{await document.fonts.ready;for(let e=0,i=n.length;e<i;++e){const i=n[e],r=i[0];if(bC.includes(r))continue;const o=i[1],s=i[2];if(!(await document.fonts.load(`${s} ${o} 16px "${r}"`)).some(e=>e.family.replace(/^['"]|['"]$/g,"").toLowerCase()===r.toLowerCase()&&e.weight==o&&e.style===s)){const e=t.replace("{font-family}",r.replace(/ /g,"-").toLowerCase()).replace("{Font+Family}",r.replace(/ /g,"+")).replace("{fontweight}",o).replace("{-fontstyle}",s.replace("normal","").replace(/(.+)/,"-$1")).replace("{fontstyle}",s);if(!document.querySelector('link[href="'+e+'"]')){const t=document.createElement("link");t.href=e,t.rel="stylesheet",document.head.appendChild(t)}}}})(),e):e}(e,t),a.getImage,o),e.getStyle()?d().then(n).catch(i):i(new Error(`Nothing to show for source [${s}]`))}}if(t.sprite){const e=function(e,t,n){if("string"==typeof e)return[{id:"default",url:Wk(e,t,n)}];for(const i of e)i.url=Wk(i.url,t,n);return e}(t.sprite,a.accessToken,o||location.href);p=window.devicePixelRatio>=1.5?.5:1;const n=.5==p?"@2x":"";Promise.all(e.map(function(e){const t=new URL(e.url);let r=t.origin+t.pathname+n+".json"+t.search;return new Promise(function(e,n){sC("Sprite",r,a).then(e).catch(function(i){r=t.origin+t.pathname+".json"+t.search,sC("Sprite",r,a).then(e).catch(n)})}).then(function(r){let o;if(void 0===r&&i(new Error("No sprites found.")),o=t.origin+t.pathname+n+".png"+t.search,a.transformRequest){const e=a.transformRequest(o,"SpriteImage")||o;(e instanceof Request||e instanceof Promise)&&(o=e)}_[e.id]=o;for(const t in r){const n="default"==e.id?t:`${e.id}:${t}`;f[n]=r[t]}}).catch(function(e){i(new Error(`Sprites cannot be loaded: ${r}: ${e.message}`))})})).then(g).catch(i)}else g()}).catch(i)})}function YS(e,t){let n;return e.some(function(e){if(e.id==t)return n=e.source,!0}),n}function QS(e,t,n){const i=new OS({tileJSON:t,tileSize:e.tileSize||t.tileSize||512}),r=i.getTileJSON(),o=i.getTileGrid(),s=ro(n.projection||"EPSG:3857"),a=function(e,t){const n=e.bounds;if(n){const e=lo([n[0],n[1]],t),i=lo([n[2],n[3]],t);return[e[0],e[1],i[0],i[1]]}return ro(t).getExtent()}(r,s),l=s.getExtent(),c=r.minzoom||0,u=r.maxzoom||22,d={attributions:i.getAttributions(),projection:s,tileGrid:new Uy({origin:l?ji(l):o.getOrigin(0),extent:a||o.getExtent(),minZoom:c,resolutions:KS(s,t.tileSize).slice(0,u+1),tileSize:o.getTileSize(0)})};return Array.isArray(r.tiles)?d.urls=r.tiles:d.url=r.tiles,d}function JS(e,t,n){const i=document.createElement("div");return i.className="ol-mapbox-style-background",i.style.position="absolute",i.style.width="100%",i.style.height="100%",new Pc({source:new rv({}),render(r){const o=function(e,t,n,i){const r={id:e.id,type:e.type},o=e.layout||{},s=e.paint||{};let a;r.paint=s,CC.zoom=iC(t,n.resolutions||tC),CC.distanceFromCenter=0;const l=EC(r,"paint","background-color",Kk,i);return void 0!==s["background-opacity"]&&(a=EC(r,"paint","background-opacity",Kk,i)),"none"==o.visibility?void 0:MC(l,a)}(e,r.viewState.resolution,t,n);return i.style.backgroundColor=o,i}})}function eE(e,t,n){return new Promise(function(i,r){cC(e,t,n).then(function({tileJson:t,tileLoadFunction:r}){const o=QS(e,t,n);o.tileLoadFunction=r,o.format=new wA({layerName:"mvt:layer"});const s=new HS(o);s.set("mapbox-source",e),i(s)}).catch(r)})}function tE(e){return`{bbox-${(e?e.getCode():"EPSG:3857").toLowerCase().replace(/[^a-z0-9]/g,"-")}}`}function nE(e,t,n){const i=new Wy;return function(e,t,n){return new Promise(function(i,r){cC(e,t,n).then(function({tileJson:t,tileLoadFunction:r}){const o=new OS({interpolate:void 0===n.interpolate||n.interpolate,transition:0,crossOrigin:"anonymous",tileJSON:t});o.tileGrid=QS(e,t,n).tileGrid,n.projection&&(o.projection=ro(n.projection));const s=o.getTileUrlFunction();r&&o.setTileLoadFunction(r),o.setTileUrlFunction(function(e,t,n){const i=tE(n);let r=s(e,t,n);if(-1!=r.indexOf(i)){const t=o.getTileGrid().getTileCoordExtent(e);r=r.replace(i,t.toString())}return r}),o.set("mapbox-source",e),i(o)}).catch(function(e){r(e)})})}(e,t,n).then(function(e){i.setSource(e)}).catch(function(){i.setSource(void 0)}),i}function iE(e,t,n){const i=n.projection?new nA({dataProjection:n.projection}):new nA,r=e.data,o={};if("string"==typeof r){const[o]=$k(r,n.accessToken,n.accessTokenParam||"access_token",t||location.href);if(/\{bbox-[0-9a-z-]+\}/.test(o)){const t=(e,t,n)=>{const i=tE(n);return o.replace(i,`${e.join(",")}`)},r=new GS({attributions:e.attribution,format:i,loader:(e,i,o,s,a)=>{sC("GeoJSON","function"==typeof t?t(e,i,o):t,n).then(e=>{const t=r.getFormat().readFeatures(e,{featureProjection:o});r.addFeatures(t),s(t)}).catch(t=>{r.removeLoadedExtent(e),a()})},strategy:bS});return r.set("mapbox-source",e),r}const s=new GS({attributions:e.attribution,format:i,url:o,loader:(e,t,i,r,a)=>{sC("GeoJSON",o,n).then(e=>{const t=s.getFormat().readFeatures(e,{featureProjection:i});s.addFeatures(t),r(t)}).catch(t=>{s.removeLoadedExtent(e),a()})}});return s}o.features=i.readFeatures(r,{featureProjection:yo()||"EPSG:3857"});const s=new GS(Object.assign({attributions:e.attribution,format:i},o));return s.set("mapbox-source",e),s}function rE(e,t,n,i){const r=Jk(e),o=e.layers,s=n.type,a=n.source||YS(o,n.ref),l=e.sources[a];let c;if("background"==s)c=JS(n,i,r);else if("vector"==l.type)c=function(e,t,n){const i=new yS({declutter:!0,visible:!1});return eE(e,t,n).then(function(e){i.setSource(e)}).catch(function(e){i.setSource(void 0)}),i}(l,t,i);else if("raster"==l.type)c=nE(l,t,i),c.setVisible(!n.layout||"none"!==n.layout.visibility),c.on("prerender",function(e,t,n){let i=null;return function(r){e.paint&&"raster-opacity"in e.paint&&r.frameState.viewState.zoom!==i&&(i=r.frameState.viewState.zoom,delete n[e.id],function(e,t,n,i){CC.zoom=n,CC.distanceFromCenter=0;const r=EC(e,"paint","raster-opacity",Kk,i);t.setOpacity(r)}(e,t,i,n))}}(n,c,r));else if("geojson"==l.type)c=function(e,t,n){return new fS({declutter:!0,source:iE(e,t,n),visible:!1})}(l,t,i);else if("raster-dem"==l.type&&"hillshade"==n.type){const e=function(e,t,n){const i=nE(e,t,n);return new AA({source:new LS({operationType:"image",operation:$S,sources:[i]})})}(l,t,i);c=e,e.getSource().on("beforeoperations",function(e){const t=e.data;t.resolution=oo(i.projection||"EPSG:3857",e.resolution,Pi(e.extent),"m"),CC.zoom=iC(e.resolution,i.resolutions||tC),CC.distanceFromCenter=0,t.encoding=l.encoding,t.vert=5*EC(n,"paint","hillshade-exaggeration",Kk,r),t.sunAz=EC(n,"paint","hillshade-illumination-direction",Kk,r),t.sunEl=35,t.opacity=.3,t.highlightColor=EC(n,"paint","hillshade-highlight-color",Kk,r),t.shadowColor=EC(n,"paint","hillshade-shadow-color",Kk,r),t.accentColor=EC(n,"paint","hillshade-accent-color",Kk,r)}),c.setVisible(!n.layout||"none"!==n.layout.visibility)}const u=a;return c&&c.set("mapbox-source",u),c}function oE(e,t,n,i){const r=[];let o=null;if(t instanceof fh){if(o=t.getView(),!o.isDef()&&!o.getRotation()&&!o.getResolutions()){const e=i.projection?ro(i.projection):o.getProjection();o=new cl(Object.assign(o.getProperties(),{maxResolution:tC[0]/cr[e.getUnits()],projection:i.projection||o.getProjection()})),t.setView(o)}"center"in e&&!o.getCenter()&&o.setCenter(lo(e.center,o.getProjection())),"zoom"in e&&void 0===o.getZoom()&&o.setResolution(tC[0]/cr[o.getProjection().getUnits()]/Math.pow(2,e.zoom)),o.getCenter()&&void 0!==o.getZoom()||o.fit(o.getProjection().getExtent(),{nearest:!0,size:t.getSize()})}t.set("mapbox-style",e),t.set("mapbox-metadata",{styleUrl:n,options:i});const s=e.layers;let a,l,c,u=[];for(let o=0,d=s.length;o<d;++o){const d=s[o],p=d.type;"heatmap"!=p?(c=d.source||YS(s,d.ref),c&&c==l||(u.length&&(r.push(sE(a,u,e,n,t,i)),u=[]),a=rE(e,n,d,i),a instanceof fS||a instanceof yS||(u=[]),l=a.get("mapbox-source")),u.push(d.id)):console.debug(`layers[${o}].type "${p}" not supported`)}return r.push(sE(a,u,e,n,t,i)),Promise.all(r)}function sE(e,t,n,i,r,o={}){let s=24,a=0;const l=n.layers;for(let e=0,n=l.length;e<n;++e){const n=l[e];-1!==t.indexOf(n.id)&&(s=Math.min("minzoom"in n?n.minzoom:0,s),a=Math.max("maxzoom"in n?n.maxzoom:24,a))}return new Promise(function(l,c){const u=function(){const u=e.getSource();if(u&&"error"!==u.getState()){if("getTileGrid"in u){const t=u.getTileGrid();if(t){const n=t.getMinZoom();(s>0||n>0)&&e.setMaxResolution(Math.min(rC(Math.max(0,s-1e-12),tC),rC(Math.max(0,n-1e-12),t.getResolutions()))),a<24&&e.setMinResolution(rC(a,tC))}}else s>0&&e.setMaxResolution(rC(Math.max(0,s-1e-12),tC));u instanceof GS||u instanceof HS?ZS(e,n,t,Object.assign({styleUrl:i},o)).then(function(){!function(e,t){function n(){const n=t.get("mapbox-style");if(!n)return;const i=_v(n.layers),r=e.get("mapbox-layers"),o=i.filter(function(e){return r.includes(e.id)}).some(function(e){return!e.layout||!e.layout.visibility||"visible"===e.layout.visibility});e.get("visible")!==o&&e.setVisible(o)}e.on("change",n),n()}(e,r),l()}).catch(c):l()}else c(new Error("Error accessing data for source "+e.get("mapbox-source")))};e.set("mapbox-layers",t);const d=r.getLayers();-1===d.getArray().indexOf(e)&&d.push(e),e.getSource()?u():e.once("change:source",u)})}function aE(e){e.getLayers().getArray().filter(e=>e.get("mapbox-source")||e.get("background-raster-layer")).forEach(t=>e.removeLayer(t))}const lE=[0,0,0,0],cE=[],uE="modifyend";class dE extends ts{constructor(e,t,n){super(e),this.features=t,this.mapBrowserEvent=n}}function pE(e,t){return e.index-t.index}function hE(e,t,n){const i=t.geometry;if("Circle"===i.getType()){let r=i;if(1===t.index){const t=yo();t&&(r=r.clone().transform(t,n));const i=Xi(r.getCenter(),bo(e)),o=Math.sqrt(i)-r.getRadius();return o*o}}const r=bo(e);return cE[0]=bo(t.segment[0]),cE[1]=bo(t.segment[1]),function(e,t){return Xi(e,Ui(e,t))}(r,cE)}function fE(e,t,n){const i=t.geometry;if("Circle"===i.getType()&&1===t.index){let t=i;const r=yo();return r&&(t=t.clone().transform(r,n)),vo(t.getClosestPoint(bo(e)))}const r=bo(e);return cE[0]=bo(t.segment[0]),cE[1]=bo(t.segment[1]),vo(Ui(r,cE))}function _E(){const e=Rp();return function(t,n){return e.Point}}const gE=class extends Zl{constructor(e){let t;if(super(e),this.on,this.once,this.un,this.boundHandleFeatureChange_=this.handleFeatureChange_.bind(this),this.condition_=e.condition?e.condition:Kl,this.defaultDeleteCondition_=function(e){return function(e){const t=e.originalEvent;return t.altKey&&!(t.metaKey||t.ctrlKey)&&!t.shiftKey}(e)&&Vl(e)},this.deleteCondition_=e.deleteCondition?e.deleteCondition:this.defaultDeleteCondition_,this.insertVertexCondition_=e.insertVertexCondition?e.insertVertexCondition:Nl,this.vertexFeature_=null,this.vertexSegments_=null,this.lastPixel_=[0,0],this.ignoreNextSingleClick_=!1,this.featuresBeingModified_=null,this.rBush_=new DS,this.pixelTolerance_=void 0!==e.pixelTolerance?e.pixelTolerance:10,this.snappedToVertex_=!1,this.changingFeature_=!1,this.dragSegments_=[],this.overlay_=new fS({source:new GS({useSpatialIndex:!1,wrapX:!!e.wrapX}),style:e.style?e.style:_E(),updateWhileAnimating:!0,updateWhileInteracting:!0}),this.SEGMENT_WRITERS_={Point:this.writePointGeometry_.bind(this),LineString:this.writeLineStringGeometry_.bind(this),LinearRing:this.writeLineStringGeometry_.bind(this),Polygon:this.writePolygonGeometry_.bind(this),MultiPoint:this.writeMultiPointGeometry_.bind(this),MultiLineString:this.writeMultiLineStringGeometry_.bind(this),MultiPolygon:this.writeMultiPolygonGeometry_.bind(this),Circle:this.writeCircleGeometry_.bind(this),GeometryCollection:this.writeGeometryCollectionGeometry_.bind(this)},this.source_=null,this.hitDetection_=null,e.features?t=e.features:e.source&&(this.source_=e.source,t=new _s(this.source_.getFeatures()),this.source_.addEventListener(NS,this.handleSourceAdd_.bind(this)),this.source_.addEventListener(BS,this.handleSourceRemove_.bind(this))),!t)throw new Error("The modify interaction requires features, a source or a layer");e.hitDetection&&(this.hitDetection_=e.hitDetection),this.features_=t,this.features_.forEach(this.addFeature_.bind(this)),this.features_.addEventListener(Po,this.handleFeatureAdd_.bind(this)),this.features_.addEventListener(Ro,this.handleFeatureRemove_.bind(this)),this.lastPointerEvent_=null,this.delta_=[0,0],this.snapToPointer_=void 0===e.snapToPointer?!this.hitDetection_:e.snapToPointer}addFeature_(e){const t=e.getGeometry();if(t){const n=this.SEGMENT_WRITERS_[t.getType()];n&&n(e,t)}const n=this.getMap();n&&n.isRendered()&&this.getActive()&&this.handlePointerAtPixel_(n.getCoordinateFromPixel(this.lastPixel_)),e.addEventListener(Lo,this.boundHandleFeatureChange_)}willModifyFeatures_(e,t){if(!this.featuresBeingModified_){this.featuresBeingModified_=new _s;const n=this.featuresBeingModified_.getArray();for(let e=0,i=t.length;e<i;++e){const i=t[e].feature;i&&!n.includes(i)&&this.featuresBeingModified_.push(i)}0===this.featuresBeingModified_.getLength()?this.featuresBeingModified_=null:this.dispatchEvent(new dE("modifystart",this.featuresBeingModified_,e))}}removeFeature_(e){this.removeFeatureSegmentData_(e),this.vertexFeature_&&0===this.features_.getLength()&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),e.removeEventListener(Lo,this.boundHandleFeatureChange_)}removeFeatureSegmentData_(e){const t=this.rBush_,n=[];t.forEach(function(t){e===t.feature&&n.push(t)});for(let e=n.length-1;e>=0;--e){const i=n[e];for(let e=this.dragSegments_.length-1;e>=0;--e)this.dragSegments_[e][0]===i&&this.dragSegments_.splice(e,1);t.remove(i)}}setActive(e){this.vertexFeature_&&!e&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),super.setActive(e)}setMap(e){this.overlay_.setMap(e),super.setMap(e)}getOverlay(){return this.overlay_}handleSourceAdd_(e){e.feature&&this.features_.push(e.feature)}handleSourceRemove_(e){e.feature&&this.features_.remove(e.feature)}handleFeatureAdd_(e){this.addFeature_(e.element)}handleFeatureChange_(e){if(!this.changingFeature_){const t=e.target;this.removeFeature_(t),this.addFeature_(t)}}handleFeatureRemove_(e){this.removeFeature_(e.element)}writePointGeometry_(e,t){const n=t.getCoordinates(),i={feature:e,geometry:t,segment:[n,n]};this.rBush_.insert(t.getExtent(),i)}writeMultiPointGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length;i<r;++i){const r=n[i],o={feature:e,geometry:t,depth:[i],index:i,segment:[r,r]};this.rBush_.insert(t.getExtent(),o)}}writeLineStringGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length-1;i<r;++i){const r=n.slice(i,i+2),o={feature:e,geometry:t,index:i,segment:r};this.rBush_.insert(ui(r),o)}}writeMultiLineStringGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length;i<r;++i){const r=n[i];for(let n=0,o=r.length-1;n<o;++n){const o=r.slice(n,n+2),s={feature:e,geometry:t,depth:[i],index:n,segment:o};this.rBush_.insert(ui(o),s)}}}writePolygonGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length;i<r;++i){const r=n[i];for(let n=0,o=r.length-1;n<o;++n){const o=r.slice(n,n+2),s={feature:e,geometry:t,depth:[i],index:n,segment:o};this.rBush_.insert(ui(o),s)}}}writeMultiPolygonGeometry_(e,t){const n=t.getCoordinates();for(let i=0,r=n.length;i<r;++i){const r=n[i];for(let n=0,o=r.length;n<o;++n){const o=r[n];for(let r=0,s=o.length-1;r<s;++r){const s=o.slice(r,r+2),a={feature:e,geometry:t,depth:[n,i],index:r,segment:s};this.rBush_.insert(ui(s),a)}}}}writeCircleGeometry_(e,t){const n=t.getCenter(),i={feature:e,geometry:t,index:0,segment:[n,n]},r={feature:e,geometry:t,index:1,segment:[n,n]},o=[i,r];i.featureSegments=o,r.featureSegments=o,this.rBush_.insert(bi(n),i);let s=t;const a=yo();if(a&&this.getMap()){const e=this.getMap().getView().getProjection();s=s.clone().transform(a,e),s=el(s).transform(e,a)}this.rBush_.insert(s.getExtent(),r)}writeGeometryCollectionGeometry_(e,t){const n=t.getGeometriesArray();for(let t=0;t<n.length;++t){const i=n[t];(0,this.SEGMENT_WRITERS_[i.getType()])(e,i)}}createOrUpdateVertexFeature_(e,t,n,i){let r=this.vertexFeature_;return r?r.getGeometry().setCoordinates(e):(r=new dy(new za(e)),this.vertexFeature_=r,this.overlay_.getSource().addFeature(r)),r.set("features",t),r.set("geometries",n),r.set("existing",i),r}handleEvent(e){if(!e.originalEvent)return!0;let t;return this.lastPointerEvent_=e,e.map.getView().getInteracting()||e.type!=ys.POINTERMOVE||this.handlingDownUpSequence||this.handlePointerMove_(e),this.vertexFeature_&&this.deleteCondition_(e)&&(t=!(e.type!=ys.SINGLECLICK||!this.ignoreNextSingleClick_)||this.removePoint()),e.type==ys.SINGLECLICK&&(this.ignoreNextSingleClick_=!1),super.handleEvent(e)&&!t}findInsertVerticesAndUpdateDragSegments_(e){this.handlePointerAtPixel_(e),this.dragSegments_.length=0,this.featuresBeingModified_=null;const t=this.vertexFeature_;if(!t)return;const n=this.getMap().getView().getProjection(),i=[],r=t.getGeometry().getCoordinates(),o=ui([r]),s=this.rBush_.getInExtent(o),a={};s.sort(pE);for(let t=0,o=s.length;t<o;++t){const o=s[t],l=o.segment;let c=us(o.geometry);const u=o.depth;if(u&&(c+="-"+u.join("-")),a[c]||(a[c]=new Array(2)),"Circle"!==o.geometry.getType()||1!==o.index)if(!$i(l[0],r)||a[c][0])if(!$i(l[1],r)||a[c][1])!(us(l)in this.vertexSegments_)||a[c][0]||a[c][1]||i.push(o);else{if(a[c][0]&&0===a[c][0].index){let e=o.geometry.getCoordinates();switch(o.geometry.getType()){case"LineString":case"MultiLineString":continue;case"MultiPolygon":e=e[u[1]];case"Polygon":if(o.index!==e[u[0]].length-2)continue}}this.dragSegments_.push([o,1]),a[c][1]=o}else this.dragSegments_.push([o,0]),a[c][0]=o;else $i(fE(e,o,n),r)&&!a[c][0]&&(this.dragSegments_.push([o,0]),a[c][0]=o)}return i}handleDragEvent(e){this.ignoreNextSingleClick_=!1,this.willModifyFeatures_(e,this.dragSegments_.map(([e])=>e));const t=[e.coordinate[0]+this.delta_[0],e.coordinate[1]+this.delta_[1]],n=[],i=[];for(let r=0,o=this.dragSegments_.length;r<o;++r){const o=this.dragSegments_[r],s=o[0],a=s.feature;n.includes(a)||n.push(a);const l=s.geometry;i.includes(l)||i.push(l);const c=s.depth;let u;const d=s.segment,p=o[1];for(;t.length<l.getStride();)t.push(d[p][t.length]);switch(l.getType()){case"Point":u=t,d[0]=t,d[1]=t;break;case"MultiPoint":u=l.getCoordinates(),u[s.index]=t,d[0]=t,d[1]=t;break;case"LineString":u=l.getCoordinates(),u[s.index+p]=t,d[p]=t;break;case"MultiLineString":case"Polygon":u=l.getCoordinates(),u[c[0]][s.index+p]=t,d[p]=t;break;case"MultiPolygon":u=l.getCoordinates(),u[c[1]][c[0]][s.index+p]=t,d[p]=t;break;case"Circle":const n=l;if(d[0]=t,d[1]=t,0===s.index)this.changingFeature_=!0,n.setCenter(t),this.changingFeature_=!1;else{this.changingFeature_=!0;const i=e.map.getView().getProjection();let r=Zi(bo(n.getCenter()),bo(t));const o=yo();if(o){const e=n.clone().transform(o,i);e.setRadius(r),r=e.transform(i,o).getRadius()}n.setRadius(r),this.changingFeature_=!1}}u&&this.setGeometryCoordinates_(l,u)}this.createOrUpdateVertexFeature_(t,n,i,!0)}handleDownEvent(e){if(!this.condition_(e))return!1;const t=e.coordinate,n=this.findInsertVerticesAndUpdateDragSegments_(t);if(n?.length&&this.insertVertexCondition_(e)&&(this.willModifyFeatures_(e,n),this.vertexFeature_)){const e=this.vertexFeature_.getGeometry().getCoordinates();for(let t=n.length-1;t>=0;--t)this.insertVertex_(n[t],e);this.ignoreNextSingleClick_=!0}return!!this.vertexFeature_}handleUpEvent(e){for(let t=this.dragSegments_.length-1;t>=0;--t){const n=this.dragSegments_[t][0],i=n.geometry;if("Circle"===i.getType()){const t=i,r=t.getCenter(),o=n.featureSegments[0],s=n.featureSegments[1];o.segment[0]=r,o.segment[1]=r,s.segment[0]=r,s.segment[1]=r,this.rBush_.update(bi(r),o);let a=t;const l=yo();if(l){const t=e.map.getView().getProjection();a=a.clone().transform(l,t),a=el(a).transform(t,l)}this.rBush_.update(a.getExtent(),s)}else this.rBush_.update(ui(n.segment),n)}return this.featuresBeingModified_&&(this.dispatchEvent(new dE(uE,this.featuresBeingModified_,e)),this.featuresBeingModified_=null),!1}handlePointerMove_(e){this.lastPixel_=e.pixel,this.handlePointerAtPixel_(e.coordinate)}handlePointerAtPixel_(e){const t=this.getMap(),n=t.getPixelFromCoordinate(e),i=t.getView().getProjection(),r=function(t,n){return hE(e,t,i)-hE(e,n,i)};let o,s;if(this.hitDetection_){const e="object"==typeof this.hitDetection_?e=>e===this.hitDetection_:void 0;t.forEachFeatureAtPixel(n,(e,t,n)=>{n&&"Point"===n.getType()&&(n=new za(vo(n.getCoordinates())));const i=n||e.getGeometry();if(i&&"Point"===i.getType()&&e instanceof dy&&this.features_.getArray().includes(e)){s=i;const t=e.getGeometry().getFlatCoordinates().slice(0,2);o=[{feature:e,geometry:s,segment:[t,t]}]}return!0},{layerFilter:e})}if(!o){const n=xo(di(wo(bi(e,lE)),t.getView().getResolution()*this.pixelTolerance_,lE));o=this.rBush_.getInExtent(n)}if(o&&o.length>0){const a=o.sort(r)[0],l=a.segment;let c=fE(e,a,i);const u=t.getPixelFromCoordinate(c);let d=Zi(n,u);if(s||d<=this.pixelTolerance_){const n={};if(n[us(l)]=!0,this.snapToPointer_||(this.delta_[0]=c[0]-e[0],this.delta_[1]=c[1]-e[1]),"Circle"===a.geometry.getType()&&1===a.index)this.snappedToVertex_=!0,this.createOrUpdateVertexFeature_(c,[a.feature],[a.geometry],this.snappedToVertex_);else{const e=t.getPixelFromCoordinate(l[0]),i=t.getPixelFromCoordinate(l[1]),r=Xi(u,e),s=Xi(u,i);if(d=Math.sqrt(Math.min(r,s)),this.snappedToVertex_=d<=this.pixelTolerance_,!this.snappedToVertex_&&!this.insertVertexCondition_(this.lastPointerEvent_))return void(this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null));this.snappedToVertex_&&(c=r>s?l[1]:l[0]),this.createOrUpdateVertexFeature_(c,[a.feature],[a.geometry],this.snappedToVertex_);const p={};p[us(a.geometry)]=!0;for(let e=1,t=o.length;e<t;++e){const t=o[e].segment;if(!($i(l[0],t[0])&&$i(l[1],t[1])||$i(l[0],t[1])&&$i(l[1],t[0])))break;{const i=us(o[e].geometry);i in p||(p[i]=!0,n[us(t)]=!0)}}}return void(this.vertexSegments_=n)}}this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null)}insertVertex_(e,t){const n=e.segment,i=e.feature,r=e.geometry,o=e.depth,s=e.index;let a;for(;t.length<r.getStride();)t.push(0);switch(r.getType()){case"MultiLineString":case"Polygon":a=r.getCoordinates(),a[o[0]].splice(s+1,0,t);break;case"MultiPolygon":a=r.getCoordinates(),a[o[1]][o[0]].splice(s+1,0,t);break;case"LineString":a=r.getCoordinates(),a.splice(s+1,0,t);break;default:return!1}this.setGeometryCoordinates_(r,a);const l=this.rBush_;l.remove(e),this.updateSegmentIndices_(r,s,o,1);const c={segment:[n[0],t],feature:i,geometry:r,depth:o,index:s};l.insert(ui(c.segment),c),this.dragSegments_.push([c,1]);const u={segment:[t,n[1]],feature:i,geometry:r,depth:o,index:s+1};return l.insert(ui(u.segment),u),this.dragSegments_.push([u,0]),!0}updatePointer_(e){return e&&this.findInsertVerticesAndUpdateDragSegments_(e),this.vertexFeature_?.getGeometry().getCoordinates()}getPoint(){const e=this.vertexFeature_?.getGeometry().getCoordinates();return e?vo(e,this.getMap().getView().getProjection()):null}canRemovePoint(){if(!this.vertexFeature_)return!1;if(this.vertexFeature_.get("geometries").every(e=>"Circle"===e.getType()||e.getType().endsWith("Point")))return!1;const e=this.vertexFeature_.getGeometry().getCoordinates();return this.rBush_.getInExtent(ui([e])).some(({segment:t})=>$i(t[0],e)||$i(t[1],e))}removePoint(e){if(e&&(e=bo(e,this.getMap().getView().getProjection()),this.updatePointer_(e)),!this.lastPointerEvent_||this.lastPointerEvent_&&this.lastPointerEvent_.type!=ys.POINTERDRAG){const e=this.lastPointerEvent_;this.willModifyFeatures_(e,this.dragSegments_.map(([e])=>e));const t=this.removeVertex_();return this.featuresBeingModified_&&this.dispatchEvent(new dE(uE,this.featuresBeingModified_,e)),this.featuresBeingModified_=null,t}return!1}removeVertex_(){const e=this.dragSegments_,t={};let n,i,r,o,s,a,l,c,u,d,p,h=!1;for(s=e.length-1;s>=0;--s)r=e[s],d=r[0],p=us(d.feature),d.depth&&(p+="-"+d.depth.join("-")),p in t||(t[p]={}),0===r[1]?(t[p].right=d,t[p].index=d.index):1==r[1]&&(t[p].left=d,t[p].index=d.index+1);for(p in t){switch(u=t[p].right,l=t[p].left,a=t[p].index,c=a-1,d=void 0!==l?l:u,c<0&&(c=0),o=d.geometry,i=o.getCoordinates(),n=i,h=!1,o.getType()){case"MultiLineString":i[d.depth[0]].length>2&&(i[d.depth[0]].splice(a,1),h=!0);break;case"LineString":i.length>2&&(i.splice(a,1),h=!0);break;case"MultiPolygon":n=n[d.depth[1]];case"Polygon":n=n[d.depth[0]],n.length>4&&(a==n.length-1&&(a=0),n.splice(a,1),h=!0,0===a&&(n.pop(),n.push(n[0]),c=n.length-1))}if(h){this.setGeometryCoordinates_(o,i);const t=[];if(void 0!==l&&(this.rBush_.remove(l),t.push(l.segment[0])),void 0!==u&&(this.rBush_.remove(u),t.push(u.segment[1])),void 0!==l&&void 0!==u){const e={depth:d.depth,feature:d.feature,geometry:d.geometry,index:c,segment:t};this.rBush_.insert(ui(e.segment),e)}this.updateSegmentIndices_(o,a,d.depth,-1),this.vertexFeature_&&(this.overlay_.getSource().removeFeature(this.vertexFeature_),this.vertexFeature_=null),e.length=0}}return h}canInsertPoint(){if(!this.vertexFeature_)return!1;if(this.vertexFeature_.get("geometries").every(e=>"Circle"===e.getType()||e.getType().endsWith("Point")))return!1;const e=this.vertexFeature_.getGeometry().getCoordinates();return this.rBush_.getInExtent(ui([e])).some(({segment:t})=>!($i(t[0],e)||$i(t[1],e)))}insertPoint(e){const t=e?bo(e,this.getMap().getView().getProjection()):this.vertexFeature_?.getGeometry().getCoordinates();return!!t&&this.findInsertVerticesAndUpdateDragSegments_(t).reduce((e,n)=>e||this.insertVertex_(n,t),!1)}setGeometryCoordinates_(e,t){this.changingFeature_=!0,e.setCoordinates(t),this.changingFeature_=!1}updateSegmentIndices_(e,t,n,i){this.rBush_.forEachInExtent(e.getExtent(),function(r){r.geometry===e&&(void 0===n||void 0===r.depth||$o(r.depth,n))&&r.index>t&&(r.index+=i)})}};function mE(e){return`<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 -1260 960 1560">\n <path color="rgb(249, 119, 119)" fill="currentColor" d="m -46.278793,-739.50038 c -0.119546,-249.77515 165.728493,-515.03832 526.428923,-516.08842 392.86041,-1.1438 528.51077,269.46826 528.84707,519.24315 0.3488,259.06981 -254.78805,473.49828 -382.7069,701.499743 C 519.97666,154.64661 509.30678,296.87227 479.27479,296.44795 444.1137,295.95116 422.98296,153.89016 311.80839,-41.049369 182.8093,-267.24338 -46.156365,-483.7031 -46.278793,-739.50038 Z" style="stroke-width:2.3555"/> \n <path color="white" fill="currentColor" d="${e}" transform="scale(0.8) translate(120, -450)"/>\n </svg>`}function yE({color:e,number:t,size:n=0}){return`<svg aria-hidden="true" focusable="false" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 658" width="${n}" height="${n}" style="stroke: none; fill: ${function(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(!t)throw new Error("invalid hex color: "+e);return`rgb(${parseInt(t[1],16)}, ${parseInt(t[2],16)}, ${parseInt(t[3],16)})`}(e)};">\n <path d="M 172.968 632.025 C 26.97 291.031 0 269.413 0 192 C 0 85.961 85.961 0 192 0 S 384 85.961 384 192 C 384 269.413 357.03 291.031 213 632 C 193.781 667.361 192.57 667.361 172.968 632.025 Z"/>${void 0===t?'<path d="M192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z" fill="white" />':'<circle cx="192" cy="190" r="120" fill="white" />'}<text x="50%" y="40%" text-anchor="middle" style="font-size: 180px" fill="black">${void 0!==t?t:""}</text></svg>`}function vE(e){e.getLayers().getArray().filter(e=>e.get("gh:query_points")).forEach(t=>e.removeLayer(t))}function bE(e){e.getInteractions().getArray().filter(e=>e.get("gh:drag_query_point")).forEach(t=>e.removeInteraction(t))}class xE extends ts{constructor(e,t,n,i){super(e),this.selected=t,this.deselected=n,this.mapBrowserEvent=i}}const wE={};class kE extends Ll{constructor(e){let t;if(super(),this.on,this.once,this.un,e=e||{},this.boundAddFeature_=this.addFeature_.bind(this),this.boundRemoveFeature_=this.removeFeature_.bind(this),this.condition_=e.condition?e.condition:Vl,this.addCondition_=e.addCondition?e.addCondition:Gl,this.removeCondition_=e.removeCondition?e.removeCondition:Gl,this.toggleCondition_=e.toggleCondition?e.toggleCondition:Hl,this.multi_=!!e.multi&&e.multi,this.filter_=e.filter?e.filter:Ko,this.hitTolerance_=e.hitTolerance?e.hitTolerance:0,this.style_=void 0!==e.style?e.style:function(){const e=Rp();return Uo(e.Polygon,e.LineString),Uo(e.GeometryCollection,e.LineString),function(t){return t.getGeometry()?e[t.getGeometry().getType()]:null}}(),this.features_=e.features||new _s,e.layers)if("function"==typeof e.layers)t=e.layers;else{const n=e.layers;t=function(e){return n.includes(e)}}else t=Ko;this.layerFilter_=t,this.featureLayerAssociation_={}}addFeatureLayerAssociation_(e,t){this.featureLayerAssociation_[us(e)]=t}getFeatures(){return this.features_}getHitTolerance(){return this.hitTolerance_}getLayer(e){return this.featureLayerAssociation_[us(e)]}setHitTolerance(e){this.hitTolerance_=e}setMap(e){this.getMap()&&this.style_&&this.features_.forEach(this.restorePreviousStyle_.bind(this)),super.setMap(e),e?(this.features_.addEventListener(Po,this.boundAddFeature_),this.features_.addEventListener(Ro,this.boundRemoveFeature_),this.style_&&this.features_.forEach(this.applySelectedStyle_.bind(this))):(this.features_.removeEventListener(Po,this.boundAddFeature_),this.features_.removeEventListener(Ro,this.boundRemoveFeature_))}addFeature_(e){const t=e.element;if(this.style_&&this.applySelectedStyle_(t),!this.getLayer(t)){const e=this.getMap().getAllLayers().find(function(e){if(e instanceof fS&&e.getSource()&&e.getSource().hasFeature(t))return e});e&&this.addFeatureLayerAssociation_(t,e)}}removeFeature_(e){this.style_&&this.restorePreviousStyle_(e.element)}getStyle(){return this.style_}applySelectedStyle_(e){const t=us(e);t in wE||(wE[t]=e.getStyle()),e.setStyle(this.style_)}restorePreviousStyle_(e){const t=this.getMap().getInteractions().getArray();for(let n=t.length-1;n>=0;--n){const i=t[n];if(i!==this&&i instanceof kE&&i.getStyle()&&-1!==i.getFeatures().getArray().lastIndexOf(e))return void e.setStyle(i.getStyle())}const n=us(e);e.setStyle(wE[n]),delete wE[n]}removeFeatureLayerAssociation_(e){delete this.featureLayerAssociation_[us(e)]}handleEvent(e){if(!this.condition_(e))return!0;const t=this.addCondition_(e),n=this.removeCondition_(e),i=this.toggleCondition_(e),r=!t&&!n&&!i,o=e.map,s=this.getFeatures(),a=[],l=[];if(r){Jo(this.featureLayerAssociation_),o.forEachFeatureAtPixel(e.pixel,(e,t)=>{if(e instanceof dy&&this.filter_(e,t))return this.addFeatureLayerAssociation_(e,t),l.push(e),!this.multi_},{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let e=s.getLength()-1;e>=0;--e){const t=s.item(e),n=l.indexOf(t);n>-1?l.splice(n,1):(s.remove(t),a.push(t))}0!==l.length&&s.extend(l)}else{o.forEachFeatureAtPixel(e.pixel,(e,r)=>{if(e instanceof dy&&this.filter_(e,r))return!t&&!i||s.getArray().includes(e)?(n||i)&&s.getArray().includes(e)&&(a.push(e),this.removeFeatureLayerAssociation_(e)):(this.addFeatureLayerAssociation_(e,r),l.push(e)),!this.multi_},{layerFilter:this.layerFilter_,hitTolerance:this.hitTolerance_});for(let e=a.length-1;e>=0;--e)s.remove(a[e]);s.extend(l)}return(l.length>0||a.length>0)&&this.dispatchEvent(new xE("select",l,a,e)),!0}}const CE=kE,AE="pathsLayer",SE="selectedPathLayer",EE="accessNetworkLayer";function IE(e){e.getLayers().getArray().filter(e=>e.get(AE)||e.get(SE)||e.get(EE)).forEach(t=>e.removeLayer(t))}function TE(e,t){const n=[],i=[(e[0]+t[0])/2,(e[1]+t[1])/2],r=Zi(e,t)/2,o=Math.atan2(e[1]-i[1],e[0]-i[0]),s=Math.atan2(t[1]-i[1],t[0]-i[0]),a=[i[0]+.5*r*Math.sin(o+.5*(s-o)),i[1]+.5*r*Math.cos(o+.5*(s-o))];n.push(e);for(let i=0;i<=1;i+=.1){const r=[(1-i)*(1-i)*e[0]+2*i*(1-i)*a[0]+i*i*t[0],(1-i)*(1-i)*e[1]+2*i*(1-i)*a[1]+i*i*t[1]];n.push(r)}return n.push(t),new jC(n)}const ME="element",PE="map",RE="offset",zE="position",LE="positioning",OE=class extends ps{constructor(e){super(),this.on,this.once,this.un,this.options=e,this.id=e.id,this.insertFirst=void 0===e.insertFirst||e.insertFirst,this.stopEvent=void 0===e.stopEvent||e.stopEvent,this.element=document.createElement("div"),this.element.className=void 0!==e.className?e.className:"ol-overlay-container ol-selectable",this.element.style.position="absolute",this.element.style.pointerEvents="auto",this.autoPan=!0===e.autoPan?{}:e.autoPan||void 0,this.rendered={transform_:"",visible:!0},this.mapPostrenderListenerKey=null,this.addChangeListener(ME,this.handleElementChanged),this.addChangeListener(PE,this.handleMapChanged),this.addChangeListener(RE,this.handleOffsetChanged),this.addChangeListener(zE,this.handlePositionChanged),this.addChangeListener(LE,this.handlePositioningChanged),void 0!==e.element&&this.setElement(e.element),this.setOffset(void 0!==e.offset?e.offset:[0,0]),this.setPositioning(e.positioning||"top-left"),void 0!==e.position&&this.setPosition(e.position)}getElement(){return this.get(ME)}getId(){return this.id}getMap(){return this.get(PE)||null}getOffset(){return this.get(RE)}getPosition(){return this.get(zE)}getPositioning(){return this.get(LE)}handleElementChanged(){Al(this.element);const e=this.getElement();e&&this.element.appendChild(e)}handleMapChanged(){this.mapPostrenderListenerKey&&(this.element?.remove(),os(this.mapPostrenderListenerKey),this.mapPostrenderListenerKey=null);const e=this.getMap();if(e){this.mapPostrenderListenerKey=is(e,Ts,this.render,this),this.updatePixelPosition();const t=this.stopEvent?e.getOverlayContainerStopEvent():e.getOverlayContainer();this.insertFirst?t.insertBefore(this.element,t.childNodes[0]||null):t.appendChild(this.element),this.performAutoPan()}}render(){this.updatePixelPosition()}handleOffsetChanged(){this.updatePixelPosition()}handlePositionChanged(){this.updatePixelPosition(),this.performAutoPan()}handlePositioningChanged(){this.updatePixelPosition()}setElement(e){this.set(ME,e)}setMap(e){this.set(PE,e)}setOffset(e){this.set(RE,e)}setPosition(e){this.set(zE,e)}performAutoPan(){this.autoPan&&this.panIntoView(this.autoPan)}panIntoView(e){const t=this.getMap();if(!t||!t.getTargetElement()||!this.get(zE))return;const n=this.getRect(t.getTargetElement(),t.getSize()),i=this.getElement(),r=this.getRect(i,[wl(i),kl(i)]),o=void 0===(e=e||{}).margin?20:e.margin;if(!_i(n,r)){const i=r[0]-n[0],s=n[2]-r[2],a=r[1]-n[1],l=n[3]-r[3],c=[0,0];if(i<0?c[0]=i-o:s<0&&(c[0]=Math.abs(s)+o),a<0?c[1]=a-o:l<0&&(c[1]=Math.abs(l)+o),0!==c[0]||0!==c[1]){const n=t.getView().getCenterInternal(),i=t.getPixelFromCoordinateInternal(n);if(!i)return;const r=[i[0]+c[0],i[1]+c[1]],o=e.animation||{};t.getView().animateInternal({center:t.getCoordinateFromPixelInternal(r),duration:o.duration,easing:o.easing})}}}getRect(e,t){const n=e.getBoundingClientRect(),i=n.left+window.pageXOffset,r=n.top+window.pageYOffset;return[i,r,i+t[0],r+t[1]]}setPositioning(e){this.set(LE,e)}setVisible(e){this.rendered.visible!==e&&(this.element.style.display=e?"":"none",this.rendered.visible=e)}updatePixelPosition(){const e=this.getMap(),t=this.getPosition();if(!e||!e.isRendered()||!t)return void this.setVisible(!1);const n=e.getPixelFromCoordinate(t),i=e.getSize();this.updateRenderedPosition(n,i)}updateRenderedPosition(e,t){const n=this.element.style,i=this.getOffset(),r=this.getPositioning();this.setVisible(!0);let o="0%",s="0%";"bottom-right"==r||"center-right"==r||"top-right"==r?o="-100%":"bottom-center"!=r&&"center-center"!=r&&"top-center"!=r||(o="-50%"),"bottom-left"==r||"bottom-center"==r||"bottom-right"==r?s="-100%":"center-left"!=r&&"center-center"!=r&&"center-right"!=r||(s="-50%");const a=`translate(${o}, ${s}) translate(${e[0]+i[0]}px, ${e[1]+i[1]}px)`;this.rendered.transform_!=a&&(this.rendered.transform_=a,n.transform=a)}getOptions(){return this.options}};var FE=n(4825),jE={};jE.styleTagTransform=we(),jE.setAttributes=ye(),jE.insert=ge().bind(null,"head"),jE.domAPI=fe(),jE.insertStyleElement=be(),pe()(FE.A,jE);const DE=FE.A&&FE.A.locals?FE.A.locals:void 0;function NE({coordinate:t,queryPoints:n,route:i,onSelect:r}){const o=function(e,t){r(),Q.dispatch(new p({...e,coordinate:t,queryText:Nt(t),isInitialized:!0},!1))},s=n.length>=2&&n[1].isInitialized;return(0,e.jsxs)("div",{className:DE.wrapper,onMouseUp:e=>{const t=new MouseEvent("click",{bubbles:!0});t.stopPropagation=()=>{},e.target.dispatchEvent(t)},children:[(0,e.jsxs)("button",{className:DE.entry,onClick:()=>o(n[0],t),children:[(0,e.jsx)("div",{children:(0,e.jsx)(Ch,{size:16,color:$t.getMarkerColor(Ht.From)})}),(0,e.jsx)("span",{children:l("set_start")})]}),(0,e.jsxs)("button",{className:DE.entry,disabled:function(e){const t=e.filter(e=>e.type===Ht.Via);return 0!==t.length&&t.every(e=>!e.isInitialized)}(n),onClick:()=>function(e,n){const i=e.filter(e=>e.type===Ht.Via).find(e=>!e.isInitialized);if(r(),i)o(i,t);else{const e=function(e,t){if(e.length<1||e.some(e=>e.coordinates.length<2||e.wayPoints.length<2||e.wayPoints.length>e.coordinates.length))throw new Error("Invalid input when trying to find the next way point");let n=Number.MAX_VALUE,i=0,r=0;return e.forEach((e,o)=>{let s=0;e.coordinates.forEach(a=>{_t(a,e.wayPoints[s])<1&&(s=Math.min(e.wayPoints.length-1,s+1));const l=_t(a,t);l<n&&(n=l,i=o,r=s==e.wayPoints.length?s-1:s)})}),{closestRoute:i,nextWayPoint:r,distance:n}}(n.routingResult.paths.map(e=>({coordinates:e.points.coordinates.map(e=>({lat:e[1],lng:e[0]})),wayPoints:e.snapped_waypoints.coordinates.map(e=>({lat:e[1],lng:e[0]}))})),t).nextWayPoint;Q.dispatch(new _(e,t,!0,!1))}}(n,i),children:[(0,e.jsx)("div",{children:(0,e.jsx)(Ch,{size:16,color:$t.getMarkerColor(Ht.Via)})}),(0,e.jsx)("span",{children:l("set_intermediate")})]}),(0,e.jsxs)("button",{style:s?{}:{paddingBottom:"10px"},className:DE.entry,onClick:()=>o(n[n.length-1],t),children:[(0,e.jsx)("div",{children:(0,e.jsx)(Ch,{size:16,color:$t.getMarkerColor(Ht.To)})}),(0,e.jsx)("span",{children:l("set_end")})]}),s&&(0,e.jsxs)("button",{style:{paddingBottom:"10px"},className:DE.entry,onClick:()=>function(e){r(),Q.dispatch(new _(n.length,e,!0,!1))}(t),children:[(0,e.jsx)("div",{children:(0,e.jsx)(Ch,{size:16,color:$t.getMarkerColor(Ht.To),number:"+"})}),(0,e.jsx)("span",{children:l("add_to_route")})]}),(0,e.jsx)("button",{style:{borderTop:"1px solid lightgray",paddingTop:"10px"},className:DE.entry,onClick:()=>{n.length>0&&Q.dispatch(new p(n[0],!0))},children:(0,e.jsx)("span",{children:l("zoom_to_route")})}),(0,e.jsx)("button",{className:DE.entry,onClick:()=>{r(),Q.dispatch(new L(t))},children:l("center_map")}),(0,e.jsx)("button",{className:DE.entry,onClick:()=>{r(),window.open(`https://www.openstreetmap.org/query?lat=${t.lat}&lon=${t.lng}`,"_blank","noopener,noreferrer")},children:l("query_osm")})]})}var BE=n(8766),qE={};qE.styleTagTransform=we(),qE.setAttributes=ye(),qE.insert=ge().bind(null,"head"),qE.domAPI=fe(),qE.insertStyleElement=be(),pe()(BE.A,qE);const GE=BE.A&&BE.A.locals?BE.A.locals:void 0,VE=new OE({autoPan:!0});function WE({map:t,route:n,queryPoints:i}){const[r,o]=(0,c.useState)(null),s=(0,c.useRef)(null),a=e=>{e.preventDefault();const n=co(t.getEventCoordinate(e));o({lng:n[0],lat:n[1]})},l=()=>{o(null)};return(0,c.useEffect)(()=>{VE.setElement(s.current),t.addOverlay(VE);const e=new HE(e=>a(e)),n=t=>e.onTouchStart(t),i=()=>e.onTouchEnd(),r=()=>e.onTouchEnd();function o(){t.getTargetElement().addEventListener("contextmenu",a),t.getTargetElement().addEventListener("touchstart",n),t.getTargetElement().addEventListener("touchmove",i),t.getTargetElement().addEventListener("touchend",r),t.getTargetElement().addEventListener("click",l)}return t.on("change:target",o),()=>{t.getTargetElement().removeEventListener("contextmenu",a),t.getTargetElement().removeEventListener("touchstart",n),t.getTargetElement().removeEventListener("touchmove",i),t.getTargetElement().removeEventListener("touchend",r),t.getTargetElement().removeEventListener("click",l),t.removeOverlay(VE),t.un("change:target",o)}},[t]),(0,c.useEffect)(()=>{VE.setPosition(r?lo([r.lng,r.lat]):void 0)},[r]),(0,e.jsx)("div",{className:GE.contextMenu,ref:s,children:r&&(0,e.jsx)(NE,{coordinate:r,queryPoints:i,route:n,onSelect:l})})}class HE{constructor(e){this.currentTimeout=0,this.callback=e}onTouchStart(e){this.currentEvent=e,this.currentTimeout=window.setTimeout(()=>{console.log("long touch"),this.currentEvent&&this.callback(this.currentEvent)},500)}onTouchEnd(){console.log("touch end"),window.clearTimeout(this.currentTimeout),this.currentEvent=void 0}}const UE="highlightedPathSegmentLayer",$E="activeDetailLayer";function KE(e,t){e.getLayers().getArray().filter(e=>e.get(t)).forEach(t=>e.removeLayer(t))}const XE="urbanDensityLayer";function ZE(e){e.getLayers().getArray().filter(e=>e.get(XE)).forEach(t=>e.removeLayer(t))}const YE="borderLayer";function QE(e){e.getLayers().getArray().filter(e=>e.get(YE)).forEach(t=>e.removeLayer(t))}var JE=n(9799),eI={};eI.styleTagTransform=we(),eI.setAttributes=ye(),eI.insert=ge().bind(null,"head"),eI.domAPI=fe(),eI.insertStyleElement=be(),pe()(JE.A,eI);const tI=JE.A&&JE.A.locals?JE.A.locals:void 0;function nI({map:t,coordinate:n,children:i}){const[r,o]=(0,c.useState)(),s=(0,c.useRef)(null);return(0,c.useEffect)(()=>{const e=new OE({element:s.current,autoPan:!1});return o(e),t.addOverlay(e),()=>{t.removeOverlay(e)}},[t]),(0,c.useEffect)(()=>{null==r||r.setPosition(n?lo([n.lng,n.lat]):void 0)},[n]),(0,e.jsx)("div",{ref:s,children:i})}function iI({map:t,pathDetails:n}){const i=(0,c.useContext)(Y);return(0,e.jsx)(nI,{map:t,coordinate:n.pathDetailsPoint?n.pathDetailsPoint.point:null,children:(0,e.jsx)("div",{className:tI.popup,children:n.pathDetailsPoint&&(0,e.jsxs)("p",{children:[Ot(Math.round(n.pathDetailsPoint.elevation),i.showDistanceInMiles,!0),(0,e.jsx)("br",{}),n.pathDetailsPoint.description]})})})}var rI=n(7508),oI={};oI.styleTagTransform=we(),oI.setAttributes=ye(),oI.insert=ge().bind(null,"head"),oI.domAPI=fe(),oI.insertStyleElement=be(),pe()(rI.A,oI);const sI=rI.A&&rI.A.locals?rI.A.locals:void 0;function aI({map:t,properties:n,coordinate:i}){return(0,e.jsx)(nI,{map:t,coordinate:i,children:(0,e.jsx)("div",{className:sI.popup,children:(0,e.jsx)("ul",{children:Object.entries(n).sort().map(([t,n],i)=>(0,e.jsx)("li",{children:`${t}=${n}`},i))})})})}function lI({map:t,instructionText:n,coordinate:i}){return(0,c.useEffect)(()=>{const e=()=>Q.dispatch(new B(null,""));return t.once("change:target",()=>{var n;null===(n=t.getTargetElement())||void 0===n||n.addEventListener("click",e)}),()=>{var n;null===(n=t.getTargetElement())||void 0===n||n.removeEventListener("click",e)}},[]),(0,e.jsx)(nI,{map:t,coordinate:i,children:(0,e.jsx)("div",{className:tI.popup,children:(0,e.jsx)("p",{children:n})})})}function cI(t){return(0,e.jsx)("table",{className:sI.poiPopupTable,children:(0,e.jsx)("tbody",{children:Object.entries(t.poi.tags).map(([n,i])=>{const r=i.startsWith("https://")||i.startsWith("http://"),o=n.toLowerCase().includes("phone"),s=n.toLowerCase().includes("email"),a=i.split(":").map(e=>e.trim()),l=n.toLowerCase().includes("wikipedia")&&2==a.length,c=l?"https://"+a[0]+".wikipedia.org/wiki/"+encodeURIComponent(a[1]):"";return!(t.poi.query.queries&&t.poi.query.queries.some(e=>e.phrases.some(e=>e.k==n&&e.v===i))||"source"===n||"image"===n||"check_data"===n||n.includes("fax")||n.startsWith("addr")||n.startsWith("name")||n.startsWith("building"))&&(0,e.jsxs)("tr",{children:[(0,e.jsx)("td",{children:n}),(0,e.jsxs)("td",{children:[r&&(0,e.jsx)("a",{href:i,target:"_blank",children:i}),o&&(0,e.jsx)("a",{href:"tel:"+i,children:i}),s&&(0,e.jsx)("a",{href:"mailto:"+i,children:i}),l&&(0,e.jsx)("a",{href:c,target:"_blank",children:i}),!r&&!o&&!s&&!l&&i]})]},n)})})})}function uI({map:t,poiState:n,points:i}){const r=n.selected,o=null==r?void 0:r.osm_type;function s(e){if(r&&e<i.length){const t={...i[e],queryText:null==r?void 0:r.name,coordinate:null==r?void 0:r.coordinate,isInitialized:!0};Q.dispatch(new p(t,!1)),Q.dispatch(new G(null)),Q.dispatch(new V([]))}}return(0,e.jsx)(nI,{map:t,coordinate:r?r.coordinate:null,children:(0,e.jsxs)("div",{className:sI.poiPopup,children:[(0,e.jsx)("div",{children:null==r?void 0:r.name}),(0,e.jsx)("div",{children:null==r?void 0:r.address}),(0,e.jsxs)("div",{className:sI.poiPopupButton,onClick:()=>s(0),children:[(0,e.jsx)(Ch,{color:$t.getMarkerColor(Ht.From),size:18}),(0,e.jsx)(Ct,{children:l("as_start")})]}),(0,e.jsxs)("div",{className:sI.poiPopupButton,onClick:()=>s(i.length-1),children:[(0,e.jsx)(Ch,{color:$t.getMarkerColor(Ht.To),size:18}),(0,e.jsx)(Ct,{children:l("as_destination")})]}),r&&(0,e.jsx)(cI,{poi:r}),(0,e.jsx)("div",{className:sI.osmLink,children:(0,e.jsx)("a",{href:"https://www.openstreetmap.org/"+o+"/"+(null==r?void 0:r.osm_id),target:"_blank",children:"OpenStreetMap.org"})})]})})}function dI({map:t,pathDetails:n,mapFeatures:i,poiState:r,query:o}){return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(iI,{map:t,pathDetails:n}),(0,e.jsx)(aI,{map:t,properties:i.roadAttributes,coordinate:i.roadAttributesCoordinate}),(0,e.jsx)(lI,{map:t,instructionText:i.instructionText,coordinate:i.instructionCoordinate}),(0,e.jsx)(uI,{map:t,poiState:r,points:o.queryPoints})]})}var pI;function hI(){return hI=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},hI.apply(null,arguments)}const fI=function(e){return c.createElement("svg",hI({xmlns:"http://www.w3.org/2000/svg",width:50,height:40,viewBox:"0 0 48 44"},e),pI||(pI=c.createElement("path",{d:"M6 36v-3h36v3Zm0-10.5v-3h36v3ZM6 15v-3h36v3Z"})))};class _I extends ua{constructor(e,t,n){super(),void 0!==n&&void 0===t?this.setFlatCoordinates(n,e):(t=t||0,this.setCenterAndRadius(e,t,n))}clone(){const e=new _I(this.flatCoordinates.slice(),void 0,this.layout);return e.applyProperties(this),e}closestPointXY(e,t,n,i){const r=this.flatCoordinates,o=e-r[0],s=t-r[1],a=o*o+s*s;if(a<i){if(0===a)for(let e=0;e<this.stride;++e)n[e]=r[e];else{const e=this.getRadius()/Math.sqrt(a);n[0]=r[0]+e*o,n[1]=r[1]+e*s;for(let e=2;e<this.stride;++e)n[e]=r[e]}return n.length=this.stride,a}return i}containsXY(e,t){const n=this.flatCoordinates,i=e-n[0],r=t-n[1];return i*i+r*r<=this.getRadiusSquared_()}getCenter(){return this.flatCoordinates.slice(0,this.stride)}computeExtent(e){const t=this.flatCoordinates,n=t[this.stride]-t[0];return yi(t[0]-n,t[1]-n,t[0]+n,t[1]+n,e)}getRadius(){return Math.sqrt(this.getRadiusSquared_())}getRadiusSquared_(){const e=this.flatCoordinates[this.stride]-this.flatCoordinates[0],t=this.flatCoordinates[this.stride+1]-this.flatCoordinates[1];return e*e+t*t}getType(){return"Circle"}intersectsExtent(e){if(Bi(e,this.getExtent())){const t=this.getCenter();return e[0]<=t[0]&&e[2]>=t[0]||e[1]<=t[1]&&e[3]>=t[1]||Ei(e,this.intersectsCoordinate.bind(this))}return!1}setCenter(e){const t=this.stride,n=this.flatCoordinates[t]-this.flatCoordinates[0],i=e.slice();i[t]=i[0]+n;for(let n=1;n<t;++n)i[t+n]=e[n];this.setFlatCoordinates(this.layout,i),this.changed()}setCenterAndRadius(e,t,n){this.setLayout(n,e,0),this.flatCoordinates||(this.flatCoordinates=[]);const i=this.flatCoordinates;let r=ya(i,0,e,this.stride);i[r++]=i[0]+t;for(let e=1,t=this.stride;e<t;++e)i[r++]=i[e];i.length=r,this.changed()}getCoordinates(){return null}setCoordinates(e,t){}setRadius(e){this.flatCoordinates[this.stride]=this.flatCoordinates[0]+e,this.changed()}rotate(e,t){const n=this.getCenter(),i=this.getStride();this.setCenter(ra(n,0,n.length,i,e,t,n)),this.changed()}}_I.prototype.transform;const gI=_I,mI="drawstart";class yI extends ts{constructor(e,t){super(e),this.feature=t}}function vI(e,t){return er(e[0],e[1],t[0],t[1])}function bI(e,t){const n=e.length;return t<0?e[t+n]:t>=n?e[t-n]:e[t]}function xI(e,t,n){let i,r;t<n?(i=t,r=n):(i=n,r=t);const o=Math.ceil(i),s=Math.floor(r);if(o>s)return vI(EI(e,i),EI(e,r));let a=0;i<o&&(a+=vI(EI(e,i),bI(e,o))),s<r&&(a+=vI(bI(e,s),EI(e,r)));for(let t=o;t<s-1;++t)a+=vI(bI(e,t),bI(e,t+1));return a}function wI(e,t,n){if(t instanceof jC)CI(e,t.getCoordinates(),!1,n);else{if(t instanceof qC){const i=t.getCoordinates();for(let t=0,r=i.length;t<r;++t)CI(e,i[t],!1,n);return}if(t instanceof Qa){const i=t.getCoordinates();for(let t=0,r=i.length;t<r;++t)CI(e,i[t],!0,n);return}if(t instanceof VC){const i=t.getCoordinates();for(let t=0,r=i.length;t<r;++t){const r=i[t];for(let t=0,i=r.length;t<i;++t)CI(e,r[t],!0,n)}return}if(t instanceof UC){const i=t.getGeometries();for(let t=0;t<i.length;++t)wI(e,i[t],n);return}}}const kI={index:-1,endIndex:NaN};function CI(e,t,n,i){const r=e[0],o=e[1];for(let e=0,s=t.length-1;e<s;++e){const s=SI(r,o,t[e],t[e+1]);if(0===s.squaredDistance){const r=e+s.along;return void i.push({coordinates:t,ring:n,startIndex:r,endIndex:r})}}}const AI={along:0,squaredDistance:0};function SI(e,t,n,i){const r=n[0],o=n[1],s=i[0]-r,a=i[1]-o;let l=0,c=r,u=o;return 0===s&&0===a||(l=Qi(((e-r)*s+(t-o)*a)/(s*s+a*a),0,1),c+=s*l,u+=a*l),AI.along=l,AI.squaredDistance=or(er(e,t,c,u),10),AI}function EI(e,t){const n=e.length;let i=Math.floor(t);const r=t-i;i>=n?i-=n:i<0&&(i+=n);let o=i+1;o>=n&&(o-=n);const s=e[i],a=s[0],l=s[1],c=e[o];return[a+(c[0]-a)*r,l+(c[1]-l)*r]}function II(){const e=Rp();return function(t,n){return e[t.getGeometry().getType()]}}const TI=class extends Zl{constructor(e){const t=e;t.stopDown||(t.stopDown=Xo),super(t),this.on,this.once,this.un,this.shouldHandle_=!1,this.downPx_=null,this.downTimeout_,this.lastDragTime_,this.pointerType_,this.freehand_=!1,this.source_=e.source?e.source:null,this.features_=e.features?e.features:null,this.snapTolerance_=e.snapTolerance?e.snapTolerance:12,this.type_=e.type,this.mode_=function(e){switch(e){case"Point":case"MultiPoint":return"Point";case"LineString":case"MultiLineString":return"LineString";case"Polygon":case"MultiPolygon":return"Polygon";case"Circle":return"Circle";default:throw new Error("Invalid type: "+e)}}(this.type_),this.stopClick_=!!e.stopClick,this.minPoints_=e.minPoints?e.minPoints:"Polygon"===this.mode_?3:2,this.maxPoints_="Circle"===this.mode_?2:e.maxPoints?e.maxPoints:1/0,this.finishCondition_=e.finishCondition?e.finishCondition:Ko,this.geometryLayout_=e.geometryLayout?e.geometryLayout:"XY";let n=e.geometryFunction;if(!n){const e=this.mode_;if("Circle"===e)n=(e,t,n)=>{const i=t||new gI([NaN,NaN]),r=bo(e[0]),o=Xi(r,bo(e[e.length-1]));i.setCenterAndRadius(r,Math.sqrt(o),this.geometryLayout_);const s=yo();return s&&i.transform(n,s),i};else{let t;"Point"===e?t=za:"LineString"===e?t=jC:"Polygon"===e&&(t=Qa),n=(n,i,r)=>(i?"Polygon"===e?n[0].length?i.setCoordinates([n[0].concat([n[0][0]])],this.geometryLayout_):i.setCoordinates([],this.geometryLayout_):i.setCoordinates(n,this.geometryLayout_):i=new t(n,this.geometryLayout_),i)}}this.geometryFunction_=n,this.dragVertexDelay_=void 0!==e.dragVertexDelay?e.dragVertexDelay:500,this.finishCoordinate_=null,this.sketchFeature_=null,this.sketchPoint_=null,this.sketchCoords_=null,this.sketchLine_=null,this.sketchLineCoords_=null,this.squaredClickTolerance_=e.clickTolerance?e.clickTolerance*e.clickTolerance:36,this.overlay_=new fS({source:new GS({useSpatialIndex:!1,wrapX:!!e.wrapX&&e.wrapX}),style:e.style?e.style:II(),updateWhileInteracting:!0}),this.geometryName_=e.geometryName,this.condition_=e.condition?e.condition:Wl,this.freehandCondition_,e.freehand?this.freehandCondition_=Nl:this.freehandCondition_=e.freehandCondition?e.freehandCondition:Hl,this.traceCondition_,this.setTrace(e.trace||!1),this.traceState_={active:!1},this.traceSource_=e.traceSource||e.source||null,this.addChangeListener(Rl,this.updateState_)}setTrace(e){let t;t=e?!0===e?Nl:e:Gl,this.traceCondition_=t}setMap(e){super.setMap(e),this.updateState_()}getOverlay(){return this.overlay_}handleEvent(e){e.originalEvent.type===Oo&&e.originalEvent.preventDefault(),this.freehand_="Point"!==this.mode_&&this.freehandCondition_(e);let t=e.type===ys.POINTERMOVE,n=!0;return!this.freehand_&&this.lastDragTime_&&e.type===ys.POINTERDRAG&&(Date.now()-this.lastDragTime_>=this.dragVertexDelay_?(this.downPx_=e.pixel,this.shouldHandle_=!this.freehand_,t=!0):this.lastDragTime_=void 0,this.shouldHandle_&&void 0!==this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0)),this.freehand_&&e.type===ys.POINTERDRAG&&null!==this.sketchFeature_?(this.addToDrawing_(e.coordinate),n=!1):this.freehand_&&e.type===ys.POINTERDOWN?n=!1:t&&this.getPointerCount()<2?(n=e.type===ys.POINTERMOVE,n&&this.freehand_?(this.handlePointerMove_(e),this.shouldHandle_&&e.originalEvent.preventDefault()):("mouse"===e.originalEvent.pointerType||e.type===ys.POINTERDRAG&&void 0===this.downTimeout_)&&this.handlePointerMove_(e)):e.type===ys.DBLCLICK&&(n=!1),super.handleEvent(e)&&n}handleDownEvent(e){return this.shouldHandle_=!this.freehand_,this.freehand_?(this.downPx_=e.pixel,this.finishCoordinate_||this.startDrawing_(e.coordinate),!0):this.condition_(e)?(this.lastDragTime_=Date.now(),this.downTimeout_=setTimeout(()=>{this.handlePointerMove_(new ms(ys.POINTERMOVE,e.map,e.originalEvent,!1,e.frameState))},this.dragVertexDelay_),this.downPx_=e.pixel,!0):(this.lastDragTime_=void 0,!1)}deactivateTrace_(){this.traceState_={active:!1}}toggleTraceState_(e){if(!this.traceSource_||!this.traceCondition_(e))return;if(this.traceState_.active)return void this.deactivateTrace_();const t=this.getMap(),n=ui([t.getCoordinateFromPixel([e.pixel[0]-this.snapTolerance_,e.pixel[1]+this.snapTolerance_]),t.getCoordinateFromPixel([e.pixel[0]+this.snapTolerance_,e.pixel[1]-this.snapTolerance_])]),i=this.traceSource_.getFeaturesInExtent(n);if(0===i.length)return;const r=function(e,t){const n=[];for(let i=0;i<t.length;++i)wI(e,t[i].getGeometry(),n);return n}(e.coordinate,i);r.length&&(this.traceState_={active:!0,startPx:e.pixel.slice(),targets:r,targetIndex:-1})}addOrRemoveTracedCoordinates_(e,t){const n=e.startIndex<=e.endIndex;n===e.startIndex<=t?n&&t>e.endIndex||!n&&t<e.endIndex?this.addTracedCoordinates_(e,e.endIndex,t):(n&&t<e.endIndex||!n&&t>e.endIndex)&&this.removeTracedCoordinates_(t,e.endIndex):(this.removeTracedCoordinates_(e.startIndex,e.endIndex),this.addTracedCoordinates_(e,e.startIndex,t))}removeTracedCoordinates_(e,t){if(e===t)return;let n=0;if(e<t){const i=Math.ceil(e);let r=Math.floor(t);r===t&&(r-=1),n=r-i+1}else{const i=Math.floor(e);let r=Math.ceil(t);r===t&&(r+=1),n=i-r+1}n>0&&this.removeLastPoints_(n)}addTracedCoordinates_(e,t,n){if(t===n)return;const i=[];if(t<n){const r=Math.ceil(t);let o=Math.floor(n);o===n&&(o-=1);for(let t=r;t<=o;++t)i.push(bI(e.coordinates,t))}else{const r=Math.floor(t);let o=Math.ceil(n);o===n&&(o+=1);for(let t=r;t>=o;--t)i.push(bI(e.coordinates,t))}i.length&&this.appendCoordinates(i)}updateTrace_(e){const t=this.traceState_;if(!t.active)return;if(-1===t.targetIndex&&Zi(t.startPx,e.pixel)<this.snapTolerance_)return;const n=function(e,t,n,i){const r=e[0],o=e[1];let s=1/0,a=-1,l=NaN;for(let e=0;e<t.targets.length;++e){const n=t.targets[e],i=n.coordinates;let c,u=1/0;for(let e=0;e<i.length-1;++e){const t=SI(r,o,i[e],i[e+1]);t.squaredDistance<u&&(u=t.squaredDistance,c=e+t.along)}u<s&&(s=u,n.ring&&t.targetIndex===e&&(n.endIndex>n.startIndex?c<n.startIndex&&(c+=i.length):n.endIndex<n.startIndex&&c>n.startIndex&&(c-=i.length)),l=c,a=e)}const c=t.targets[a];let u=c.ring;if(t.targetIndex===a&&u){const e=EI(c.coordinates,l);Zi(n.getPixelFromCoordinate(e),t.startPx)>i&&(u=!1)}if(u){const e=c.coordinates,t=e.length,n=c.startIndex,i=l;if(n<i){const r=xI(e,n,i);xI(e,n,i-t)<r&&(l-=t)}else{const r=xI(e,n,i);xI(e,n,i+t)<r&&(l+=t)}}return kI.index=a,kI.endIndex=l,kI}(e.coordinate,t,this.getMap(),this.snapTolerance_);if(t.targetIndex!==n.index){if(-1!==t.targetIndex){const e=t.targets[t.targetIndex];this.removeTracedCoordinates_(e.startIndex,e.endIndex)}const e=t.targets[n.index];this.addTracedCoordinates_(e,e.startIndex,n.endIndex)}else{const e=t.targets[t.targetIndex];this.addOrRemoveTracedCoordinates_(e,n.endIndex)}t.targetIndex=n.index;const i=t.targets[t.targetIndex];i.endIndex=n.endIndex;const r=EI(i.coordinates,i.endIndex),o=this.getMap().getPixelFromCoordinate(r);e.coordinate=r,e.pixel=[Math.round(o[0]),Math.round(o[1])]}handleUpEvent(e){let t=!0;if(0===this.getPointerCount()){this.downTimeout_&&(clearTimeout(this.downTimeout_),this.downTimeout_=void 0),this.handlePointerMove_(e);const n=this.traceState_.active;if(this.toggleTraceState_(e),this.shouldHandle_){const i=!this.finishCoordinate_;i&&this.startDrawing_(e.coordinate),!i&&this.freehand_?this.finishDrawing():this.freehand_||i&&"Point"!==this.mode_||(this.atFinish_(e.pixel,n)?this.finishCondition_(e)&&this.finishDrawing():this.addToDrawing_(e.coordinate)),t=!1}else this.freehand_&&this.abortDrawing()}return!t&&this.stopClick_&&e.preventDefault(),t}handlePointerMove_(e){if(this.pointerType_=e.originalEvent.pointerType,this.downPx_&&(!this.freehand_&&this.shouldHandle_||this.freehand_&&!this.shouldHandle_)){const t=this.downPx_,n=e.pixel,i=t[0]-n[0],r=t[1]-n[1],o=i*i+r*r;if(this.shouldHandle_=this.freehand_?o>this.squaredClickTolerance_:o<=this.squaredClickTolerance_,!this.shouldHandle_)return}this.finishCoordinate_?(this.updateTrace_(e),this.modifyDrawing_(e.coordinate)):this.createOrUpdateSketchPoint_(e.coordinate.slice())}atFinish_(e,t){let n=!1;if(this.sketchFeature_){let i=!1,r=[this.finishCoordinate_];const o=this.mode_;if("Point"===o)n=!0;else if("Circle"===o)n=2===this.sketchCoords_.length;else if("LineString"===o)i=!t&&this.sketchCoords_.length>this.minPoints_;else if("Polygon"===o){const e=this.sketchCoords_;i=e[0].length>this.minPoints_,r=[e[0][0],e[0][e[0].length-2]],r=t?[e[0][0]]:[e[0][0],e[0][e[0].length-2]]}if(i){const t=this.getMap();for(let i=0,o=r.length;i<o;i++){const o=r[i],s=t.getPixelFromCoordinate(o),a=e[0]-s[0],l=e[1]-s[1],c=this.freehand_?1:this.snapTolerance_;if(n=Math.sqrt(a*a+l*l)<=c,n){this.finishCoordinate_=o;break}}}}return n}createOrUpdateSketchPoint_(e){this.sketchPoint_?this.sketchPoint_.getGeometry().setCoordinates(e):(this.sketchPoint_=new dy(new za(e)),this.updateSketchFeatures_())}createOrUpdateCustomSketchLine_(e){this.sketchLine_||(this.sketchLine_=new dy);const t=e.getLinearRing(0);let n=this.sketchLine_.getGeometry();n?(n.setFlatCoordinates(t.getLayout(),t.getFlatCoordinates()),n.changed()):(n=new jC(t.getFlatCoordinates(),t.getLayout()),this.sketchLine_.setGeometry(n))}startDrawing_(e){const t=this.getMap().getView().getProjection(),n=ca(this.geometryLayout_);for(;e.length<n;)e.push(0);this.finishCoordinate_=e,"Point"===this.mode_?this.sketchCoords_=e.slice():"Polygon"===this.mode_?(this.sketchCoords_=[[e.slice(),e.slice()]],this.sketchLineCoords_=this.sketchCoords_[0]):this.sketchCoords_=[e.slice(),e.slice()],this.sketchLineCoords_&&(this.sketchLine_=new dy(new jC(this.sketchLineCoords_)));const i=this.geometryFunction_(this.sketchCoords_,void 0,t);this.sketchFeature_=new dy,this.geometryName_&&this.sketchFeature_.setGeometryName(this.geometryName_),this.sketchFeature_.setGeometry(i),this.updateSketchFeatures_(),this.dispatchEvent(new yI(mI,this.sketchFeature_))}modifyDrawing_(e){const t=this.getMap(),n=this.sketchFeature_.getGeometry(),i=t.getView().getProjection(),r=ca(this.geometryLayout_);let o,s;for(;e.length<r;)e.push(0);"Point"===this.mode_?s=this.sketchCoords_:"Polygon"===this.mode_?(o=this.sketchCoords_[0],s=o[o.length-1],this.atFinish_(t.getPixelFromCoordinate(e))&&(e=this.finishCoordinate_.slice())):(o=this.sketchCoords_,s=o[o.length-1]),s[0]=e[0],s[1]=e[1],this.geometryFunction_(this.sketchCoords_,n,i),this.sketchPoint_&&this.sketchPoint_.getGeometry().setCoordinates(e),"Polygon"===n.getType()&&"Polygon"!==this.mode_?this.createOrUpdateCustomSketchLine_(n):this.sketchLineCoords_&&this.sketchLine_.getGeometry().setCoordinates(this.sketchLineCoords_),this.updateSketchFeatures_()}addToDrawing_(e){const t=this.sketchFeature_.getGeometry(),n=this.getMap().getView().getProjection();let i,r;const o=this.mode_;return"LineString"===o||"Circle"===o?(this.finishCoordinate_=e.slice(),r=this.sketchCoords_,r.length>=this.maxPoints_&&(this.freehand_?r.pop():i=!0),r.push(e.slice()),this.geometryFunction_(r,t,n)):"Polygon"===o&&(r=this.sketchCoords_[0],r.length>=this.maxPoints_&&(this.freehand_?r.pop():i=!0),r.push(e.slice()),i&&(this.finishCoordinate_=r[0]),this.geometryFunction_(this.sketchCoords_,t,n)),this.createOrUpdateSketchPoint_(e.slice()),this.updateSketchFeatures_(),i?this.finishDrawing():this.sketchFeature_}removeLastPoints_(e){if(!this.sketchFeature_)return;const t=this.sketchFeature_.getGeometry(),n=this.getMap().getView().getProjection(),i=this.mode_;for(let r=0;r<e;++r){let e;if("LineString"===i||"Circle"===i){if(e=this.sketchCoords_,e.splice(-2,1),e.length>=2){this.finishCoordinate_=e[e.length-2].slice();const t=this.finishCoordinate_.slice();e[e.length-1]=t,this.createOrUpdateSketchPoint_(t)}this.geometryFunction_(e,t,n),"Polygon"===t.getType()&&this.sketchLine_&&this.createOrUpdateCustomSketchLine_(t)}else if("Polygon"===i){e=this.sketchCoords_[0],e.splice(-2,1);const i=this.sketchLine_.getGeometry();if(e.length>=2){const t=e[e.length-2].slice();e[e.length-1]=t,this.createOrUpdateSketchPoint_(t)}i.setCoordinates(e),this.geometryFunction_(this.sketchCoords_,t,n)}if(1===e.length){this.abortDrawing();break}}this.updateSketchFeatures_()}removeLastPoint(){this.removeLastPoints_(1)}finishDrawing(){const e=this.abortDrawing_();if(!e)return null;let t=this.sketchCoords_;const n=e.getGeometry(),i=this.getMap().getView().getProjection();return"LineString"===this.mode_?(t.pop(),this.geometryFunction_(t,n,i)):"Polygon"===this.mode_&&(t[0].pop(),this.geometryFunction_(t,n,i),t=n.getCoordinates()),"MultiPoint"===this.type_?e.setGeometry(new NC([t])):"MultiLineString"===this.type_?e.setGeometry(new qC([t])):"MultiPolygon"===this.type_&&e.setGeometry(new VC([t])),this.dispatchEvent(new yI("drawend",e)),this.features_&&this.features_.push(e),this.source_&&this.source_.addFeature(e),e}abortDrawing_(){this.finishCoordinate_=null;const e=this.sketchFeature_;return this.sketchFeature_=null,this.sketchPoint_=null,this.sketchLine_=null,this.overlay_.getSource().clear(!0),this.deactivateTrace_(),e}abortDrawing(){const e=this.abortDrawing_();e&&this.dispatchEvent(new yI("drawabort",e))}appendCoordinates(e){const t=this.mode_,n=!this.sketchFeature_;let i;if(n&&this.startDrawing_(e[0]),"LineString"===t||"Circle"===t)i=this.sketchCoords_;else{if("Polygon"!==t)return;i=this.sketchCoords_&&this.sketchCoords_.length?this.sketchCoords_[0]:[]}n&&i.shift(),i.pop();for(let t=0;t<e.length;t++)this.addToDrawing_(e[t]);const r=e[e.length-1];this.sketchFeature_=this.addToDrawing_(r),this.modifyDrawing_(r)}extend(e){const t=e.getGeometry();this.sketchFeature_=e,this.sketchCoords_=t.getCoordinates();const n=this.sketchCoords_[this.sketchCoords_.length-1];this.finishCoordinate_=n.slice(),this.sketchCoords_.push(n.slice()),this.sketchPoint_=new dy(new za(n)),this.updateSketchFeatures_(),this.dispatchEvent(new yI(mI,this.sketchFeature_))}updateSketchFeatures_(){const e=[];this.sketchFeature_&&e.push(this.sketchFeature_),this.sketchLine_&&e.push(this.sketchLine_),this.sketchPoint_&&e.push(this.sketchPoint_);const t=this.overlay_.getSource();t.clear(!0),t.addFeatures(e)}updateState_(){const e=this.getMap(),t=this.getActive();e&&t||this.abortDrawing(),this.overlay_.setMap(t?e:null)}},MI="unsnap";class PI extends ts{constructor(e,t){super(e),this.vertex=t.vertex,this.vertexPixel=t.vertexPixel,this.feature=t.feature,this.segment=t.segment}}const RI={Circle(e,t){let n=e;const i=yo();i&&(n=n.clone().transform(i,t));const r=el(n);return i&&r.transform(t,i),RI.Polygon(r)},GeometryCollection(e,t){const n=[],i=e.getGeometriesArray();for(let e=0;e<i.length;++e){const r=RI[i[e].getType()];r&&n.push(r(i[e],t))}return n.flat()},LineString(e){const t=[],n=e.getFlatCoordinates(),i=e.getStride();for(let e=0,r=n.length-i;e<r;e+=i)t.push([n.slice(e,e+2),n.slice(e+i,e+i+2)]);return t},MultiLineString(e){const t=[],n=e.getFlatCoordinates(),i=e.getStride(),r=e.getEnds();let o=0;for(let e=0,s=r.length;e<s;++e){const s=r[e];for(let e=o,r=s-i;e<r;e+=i)t.push([n.slice(e,e+2),n.slice(e+i,e+i+2)]);o=s}return t},MultiPoint(e){const t=[],n=e.getFlatCoordinates(),i=e.getStride();for(let e=0,r=n.length;e<r;e+=i)t.push([n.slice(e,e+2)]);return t},MultiPolygon(e){const t=[],n=e.getFlatCoordinates(),i=e.getStride(),r=e.getEndss();let o=0;for(let e=0,s=r.length;e<s;++e){const s=r[e];for(let e=0,r=s.length;e<r;++e){const r=s[e];for(let e=o,s=r-i;e<s;e+=i)t.push([n.slice(e,e+2),n.slice(e+i,e+i+2)]);o=r}}return t},Point:e=>[[e.getFlatCoordinates().slice(0,2)]],Polygon(e){const t=[],n=e.getFlatCoordinates(),i=e.getStride(),r=e.getEnds();let o=0;for(let e=0,s=r.length;e<s;++e){const s=r[e];for(let e=o,r=s-i;e<r;e+=i)t.push([n.slice(e,e+2),n.slice(e+i,e+i+2)]);o=s}return t}};function zI(e){return e.feature?e.feature:e.element?e.element:null}const LI=[],OI=[],FI=[],jI=class extends Zl{constructor(e){const t=e=e||{};t.handleDownEvent||(t.handleDownEvent=Ko),t.stopDown||(t.stopDown=Xo),super(t),this.on,this.once,this.un,this.source_=e.source?e.source:null,this.vertex_=void 0===e.vertex||e.vertex,this.edge_=void 0===e.edge||e.edge,this.intersection_=void 0!==e.intersection&&e.intersection,this.features_=e.features?e.features:null,this.featuresListenerKeys_=[],this.featureChangeListenerKeys_={},this.indexedFeaturesExtents_={},this.pendingFeatures_={},this.pixelTolerance_=void 0!==e.pixelTolerance?e.pixelTolerance:10,this.rBush_=new DS,this.snapped_=null,this.segmenters_=Object.assign({},RI,e.segmenters)}addFeature(e,t){t=void 0===t||t;const n=us(e),i=e.getGeometry();if(i){const t=this.segmenters_[i.getType()];if(t){this.indexedFeaturesExtents_[n]=i.getExtent([1/0,1/0,-1/0,-1/0]);const r=t(i,this.getMap().getView().getProjection());let o=r.length;for(let t=0;t<o;++t){const n=r[t];OI[t]=ui(n),FI[t]={feature:e,segment:n}}if(OI.length=o,FI.length=o,this.intersection_)for(let t=0,n=r.length;t<n;++t){const n=r[t];if(1===n.length)continue;const i=OI[t];for(let s=0,a=r.length;s<a;++s){if(t===s||t-1===s||t+1===s)continue;const a=r[s];if(!Bi(i,OI[s]))continue;const l=Ba(n,a);if(!l)continue;const c=[l];OI[o]=ui(c),FI[o++]={feature:e,segment:c,isIntersection:!0}}const s=this.rBush_.getInExtent(OI[t]);for(const{segment:t}of s){if(1===t.length)continue;const i=Ba(n,t);if(!i)continue;const r=[i];OI[o]=ui(r),FI[o++]={feature:e,segment:r,isIntersection:!0}}}1===o?this.rBush_.insert(OI[0],FI[0]):this.rBush_.load(OI,FI)}}t&&(this.featureChangeListenerKeys_[n]=is(e,Lo,this.handleFeatureChange_,this))}getFeatures_(){let e;return this.features_?e=this.features_:this.source_&&(e=this.source_.getFeatures()),e}areSnapDataEqual_(e,t){return e.segment===t.segment&&e.feature===t.feature}handleEvent(e){const t=this.snapTo(e.pixel,e.coordinate,e.map);return t?(e.coordinate=t.vertex.slice(0,2),e.pixel=t.vertexPixel,this.snapped_&&!this.areSnapDataEqual_(this.snapped_,t)&&this.dispatchEvent(new PI(MI,this.snapped_)),this.snapped_={vertex:e.coordinate,vertexPixel:e.pixel,feature:t.feature,segment:t.segment},this.dispatchEvent(new PI("snap",this.snapped_))):this.snapped_&&(this.dispatchEvent(new PI(MI,this.snapped_)),this.snapped_=null),super.handleEvent(e)}handleFeatureAdd_(e){const t=zI(e);t&&this.addFeature(t)}handleFeatureRemove_(e){const t=zI(e);t&&this.removeFeature(t)}handleFeatureChange_(e){const t=e.target;if(this.handlingDownUpSequence){const e=us(t);e in this.pendingFeatures_||(this.pendingFeatures_[e]=t)}else this.updateFeature_(t)}handleUpEvent(e){const t=Object.values(this.pendingFeatures_);if(t.length)for(const e of t)this.updateFeature_(e);return!1}removeFeature(e,t){const n=void 0===t||t,i=us(e),r=this.indexedFeaturesExtents_[i];if(r){const t=this.rBush_,n=[];t.forEachInExtent(r,function(t){e===t.feature&&n.push(t)});for(let e=n.length-1;e>=0;--e)t.remove(n[e])}n&&(os(this.featureChangeListenerKeys_[i]),delete this.featureChangeListenerKeys_[i])}setMap(e){const t=this.getMap(),n=this.featuresListenerKeys_;let i=this.getFeatures_();if(Array.isArray(i)||(i=i.getArray()),t&&(n.forEach(os),n.length=0,this.rBush_.clear(),Object.values(this.featureChangeListenerKeys_).forEach(os),this.featureChangeListenerKeys_={}),super.setMap(e),e){this.features_?n.push(is(this.features_,Po,this.handleFeatureAdd_,this),is(this.features_,Ro,this.handleFeatureRemove_,this)):this.source_&&n.push(is(this.source_,NS,this.handleFeatureAdd_,this),is(this.source_,BS,this.handleFeatureRemove_,this));for(const e of i)this.addFeature(e)}}snapTo(e,t,n){const i=n.getView().getProjection(),r=bo(t),o=xo(di(ui([r]),n.getView().getResolution()*this.pixelTolerance_)),s=this.rBush_.getInExtent(o),a=s.length;if(0===a)return null;let l,c,u,d=1/0,p=null;const h=this.pixelTolerance_*this.pixelTolerance_,f=()=>{if(l){const t=n.getPixelFromCoordinate(l);if(Xi(e,t)<=h&&(u&&this.intersection_||!u&&(this.vertex_||this.edge_)))return{vertex:l,vertexPixel:[Math.round(t[0]),Math.round(t[1])],feature:c,segment:p}}return null};if(this.vertex_||this.intersection_){for(let e=0;e<a;++e){const t=s[e];if("Circle"!==t.feature.getGeometry().getType())for(const e of t.segment){const n=Xi(r,bo(e));n<d&&(l=e,d=n,c=t.feature,u=t.isIntersection)}}const e=f();if(e)return e}if(this.edge_){for(let e=0;e<a;++e){let t=null;const n=s[e];if("Circle"===n.feature.getGeometry().getType()){let e=n.feature.getGeometry();const o=yo();o&&(e=e.clone().transform(o,i)),t=Hi(r,e)}else{const[e,i]=n.segment;i&&(LI[0]=bo(e),LI[1]=bo(i),t=Ui(r,LI))}if(t){const e=Xi(r,t);e<d&&(l=vo(t),p="Circle"===n.feature.getGeometry().getType()?null:n.segment,d=e,c=n.feature)}}const e=f();if(e)return e}return null}updateFeature_(e){this.removeFeature(e,!1),this.addFeature(e,!1)}},DI="areasLayer";function NI(e){try{return JSON.parse(e)}catch{return null}}function BI(e){var t;const n=null===(t=e.getGeometry())||void 0===t?void 0:t.clone().transform("EPSG:3857","EPSG:4326"),i=(new nA).writeFeature(new dy(n)),r=JSON.parse(i);return r.properties={},r.geometry.coordinates[0]=r.geometry.coordinates[0].map(e=>[Math.round(1e6*e[0])/1e6,Math.round(1e6*e[1])/1e6]),r}function qI(e){e.getLayers().getArray().filter(e=>e.get(DI)).forEach(t=>e.removeLayer(t))}var GI=n(1211),VI={};VI.styleTagTransform=we(),VI.setAttributes=ye(),VI.insert=ge().bind(null,"head"),VI.domAPI=fe(),VI.insertStyleElement=be(),pe()(GI.A,VI);const WI=GI.A&&GI.A.locals?GI.A.locals:void 0;var HI;function UI(){return UI=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},UI.apply(null,arguments)}const $I=function(e){return c.createElement("svg",UI({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 -960 960 960"},e),c.createElement("text",{x:"50%",y:-300,fill:"red",style:{fontSize:500},textAnchor:"middle"},"\n ?\n "),HI||(HI=c.createElement("path",{fill:"currentColor",d:"M450-40v-75q-137-14-228-105T117-448H42v-60h75q14-137 105-228t228-105v-75h60v75q137 14 228 105t105 228h75v60h-75q-14 137-105 228T510-115v75zm30-134q125 0 214.5-89.5T784-478t-89.5-214.5T480-782t-214.5 89.5T176-478t89.5 214.5T480-174"})))};var KI,XI;function ZI(){return ZI=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ZI.apply(null,arguments)}const YI=function(e){return c.createElement("svg",ZI({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 -960 960 960"},e),KI||(KI=c.createElement("path",{fill:"currentColor",d:"M450-40v-75q-137-14-228-105T117-448H42v-60h75q14-137 105-228t228-105v-75h60v75q137 14 228 105t105 228h75v60h-75q-14 137-105 228T510-115v75zm30-134q125 0 214.5-89.5T784-478t-89.5-214.5T480-782t-214.5 89.5T176-478t89.5 214.5T480-174"})),XI||(XI=c.createElement("circle",{cx:479.609,cy:-481.741,r:100,fill:"currentColor"},c.createElement("animate",{attributeName:"r",dur:"2s",repeatCount:"indefinite",values:"0;200;0"}))))};var QI,JI;function eT(){return eT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},eT.apply(null,arguments)}const tT=function(e){return c.createElement("svg",eT({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 -960 960 960"},e),QI||(QI=c.createElement("path",{fill:"#368fe8",d:"M450-40v-75q-137-14-228-105T117-448H42v-60h75q14-137 105-228t228-105v-75h60v75q137 14 228 105t105 228h75v60h-75q-14 137-105 228T510-115v75zm30-134q125 0 214.5-89.5T784-478t-89.5-214.5T480-782t-214.5 89.5T176-478t89.5 214.5T480-174"})),JI||(JI=c.createElement("circle",{cx:479.609,cy:-481.741,r:200,fill:"#368fe8"})))};var nT,iT;function rT(){return rT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},rT.apply(null,arguments)}const oT=function(e){return c.createElement("svg",rT({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 -960 960 960"},e),nT||(nT=c.createElement("path",{fill:"currentColor",d:"M450-40v-75q-137-14-228-105T117-448H42v-60h75q14-137 105-228t228-105v-75h60v75q137 14 228 105t105 228h75v60h-75q-14 137-105 228T510-115v75zm30-134q125 0 214.5-89.5T784-478t-89.5-214.5T480-782t-214.5 89.5T176-478t89.5 214.5T480-174"})),iT||(iT=c.createElement("circle",{cx:479.609,cy:-481.741,r:200,fill:"currentColor"})))};var sT;function aT(){return aT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},aT.apply(null,arguments)}const lT=function(e){return c.createElement("svg",aT({xmlns:"http://www.w3.org/2000/svg",width:48,height:48,viewBox:"0 96 960 960"},e),sT||(sT=c.createElement("path",{fill:"#368fe8",d:"M450 1016v-75q-137-14-228-105T117 608H42v-60h75q14-137 105-228t228-105v-75h60v75q137 14 228 105t105 228h75v60h-75q-14 137-105 228T510 941v75zm30-134q125 0 214.5-89.5T784 578t-89.5-214.5T480 274t-214.5 89.5T176 578t89.5 214.5T480 882"})))};function cT(t){return(0,e.jsx)("div",{className:WI.locationOnOff,onClick:()=>{!t.currentLocation.enabled||t.currentLocation.syncView||t.currentLocation.error?t.currentLocation.enabled?Q.dispatch(new H):Q.dispatch(new W):Q.dispatch(new U)},children:t.currentLocation.error?(0,e.jsx)($I,{}):t.currentLocation.enabled?t.currentLocation.syncView?null!=t.currentLocation.coordinate?(0,e.jsx)(tT,{}):(0,e.jsx)(YI,{}):(0,e.jsx)(lT,{}):(0,e.jsx)(oT,{})})}var uT;function dT(){return dT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},dT.apply(null,arguments)}var pT;function hT(){return hT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},hT.apply(null,arguments)}var fT;function _T(){return _T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},_T.apply(null,arguments)}var gT,mT;function yT(){return yT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},yT.apply(null,arguments)}function vT(){return vT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},vT.apply(null,arguments)}var bT;function xT(){return xT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},xT.apply(null,arguments)}var wT;function kT(){return kT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},kT.apply(null,arguments)}var CT;function AT(){return AT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},AT.apply(null,arguments)}var ST;function ET(){return ET=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},ET.apply(null,arguments)}var IT;function TT(){return TT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},TT.apply(null,arguments)}var MT;function PT(){return PT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},PT.apply(null,arguments)}var RT;function zT(){return zT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},zT.apply(null,arguments)}var LT;function OT(){return OT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},OT.apply(null,arguments)}var FT;function jT(){return jT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},jT.apply(null,arguments)}var DT;function NT(){return NT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},NT.apply(null,arguments)}var BT;function qT(){return qT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},qT.apply(null,arguments)}var GT;function VT(){return VT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},VT.apply(null,arguments)}var WT;function HT(){return HT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},HT.apply(null,arguments)}var UT;function $T(){return $T=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},$T.apply(null,arguments)}var KT;function XT(){return XT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},XT.apply(null,arguments)}var ZT;function YT(){return YT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},YT.apply(null,arguments)}var QT;function JT(){return JT=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},JT.apply(null,arguments)}var eM;function tM(){return tM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},tM.apply(null,arguments)}var nM;function iM(){return iM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},iM.apply(null,arguments)}var rM;function oM(){return oM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},oM.apply(null,arguments)}var sM;function aM(){return aM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},aM.apply(null,arguments)}var lM;function cM(){return cM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},cM.apply(null,arguments)}var uM;function dM(){return dM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},dM.apply(null,arguments)}var pM;function hM(){return hM=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)({}).hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},hM.apply(null,arguments)}const fM={},_M={car_rental:c.createElement("svg",yT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},void 0),gT||(gT=c.createElement("path",{d:"M320-680q-50 0-85-35t-35-85 35-85 85-35q38 0 69 22.5t45 57.5h326v80h-40v80h-80v-80H434q-14 35-45 57.5T320-680m0-80q17 0 28.5-11.5T360-800t-11.5-28.5T320-840t-28.5 11.5T280-800t11.5 28.5T320-760m40 500q17 0 28.5-11.5T400-300t-11.5-28.5T360-340t-28.5 11.5T320-300t11.5 28.5T360-260m240 0q17 0 28.5-11.5T640-300t-11.5-28.5T600-340t-28.5 11.5T560-300t11.5 28.5T600-260M200-376l66-192q5-14 16.5-23t25.5-9h344q14 0 25.5 9t16.5 23l66 192v264q0 14-9 23t-23 9h-16q-14 0-23-9t-9-23v-48H280v48q0 14-9 23t-23 9h-16q-14 0-23-9t-9-23zm106-64h348l-28-80H334zm-26 80v120zm0 120h400v-120H280z"}))),car_repair:c.createElement("svg",_T({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},gM),fT||(fT=c.createElement("path",{d:"M440-80v-120H160v-80h640v80H520v120zm-80-420q17 0 28.5-11.5T400-540t-11.5-28.5T360-580t-28.5 11.5T320-540t11.5 28.5T360-500m240 0q17 0 28.5-11.5T640-540t-11.5-28.5T600-580t-28.5 11.5T560-540t11.5 28.5T600-500M200-616l66-192q5-14 16.5-23t25.5-9h344q14 0 25.5 9t16.5 23l66 192v264q0 14-9 23t-23 9h-16q-14 0-23-9t-9-23v-48H280v48q0 14-9 23t-23 9h-16q-14 0-23-9t-9-23zm106-64h348l-28-80H334zm-26 80v120zm0 120h400v-120H280z"}))),charger:function(e){return c.createElement("svg",dT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),uT||(uT=c.createElement("path",{d:"m452-160 200-390H512v-250L312-410h140zm28 80q-83 0-156-31.5T197-197t-85.5-127T80-480t31.5-156T197-763t127-85.5T480-880t156 31.5T763-763t85.5 127T880-480t-31.5 156T763-197t-127 85.5T480-80m0-80q133 0 226.5-93.5T800-480t-93.5-226.5T480-800t-226.5 93.5T160-480t93.5 226.5T480-160"})))}(),cinematic_blur:function(e){return c.createElement("svg",hT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),pT||(pT=c.createElement("path",{d:"m160-840 80 160h120l-80-160h80l80 160h120l-80-160h80l80 160h120l-80-160h120q33 0 56.5 23.5T880-760v560q0 33-23.5 56.5T800-120H160q-33 0-56.5-23.5T80-200v-560q0-33 23.5-56.5T160-840m0 240v400h640v-400zm0 0v400zm160 360h320v-22q0-44-44-71t-116-27-116 27-44 71zm160-160q33 0 56.5-23.5T560-480t-23.5-56.5T480-560t-56.5 23.5T400-480t23.5 56.5T480-400"})))}(),flight_takeoff:function(e){return c.createElement("svg",vT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),mT||(mT=c.createElement("path",{fill:"currentColor",d:"M120-120v-80h720v80zm74-200L80-514l62-12 70 62 192-52-162-274 78-24 274 246 200-54q32-9 58 12t26 56q0 22-13.5 39T830-492z"})))}(),home_and_garden:function(e){return c.createElement("svg",xT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),bT||(bT=c.createElement("path",{d:"M160-160v-375l-72 55-47-63 439-337 440 336-48 64-392-300-240 184v356h160v80zm540 95q-42 29-92.5 24.5T521-81t-40.5-86.5T505-260q-29-42-24.5-92.5T521-439t86.5-40.5T700-455q42-29 92.5-24.5T879-439t40.5 86.5T895-260q29 42 24.5 92.5T879-81t-86.5 40.5T700-65m0-98 46 32q18 13 39 11t37-18 18-37-11-39l-32-46 32-46q13-18 11-39t-18-37-37-18-39 11l-46 32-46-32q-18-13-39-11t-37 18-18 37 11 39l32 46-32 46q-13 18-11 39t18 37 37 18 39-11zm0-47q21 0 35.5-14.5T750-260t-14.5-35.5T700-310t-35.5 14.5T650-260t14.5 35.5T700-210m0-50"})))}(),hotel:function(e){return c.createElement("svg",kT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),wT||(wT=c.createElement("path",{fill:"currentColor",d:"M40-200v-600h80v400h320v-320h320q66 0 113 47t47 113v360h-80v-120H120v120zm240-240q-50 0-85-35t-35-85 35-85 85-35 85 35 35 85-35 85-85 35m240 40h320v-160q0-33-23.5-56.5T760-640H520zM280-520q17 0 28.5-11.5T320-560t-11.5-28.5T280-600t-28.5 11.5T240-560t11.5 28.5T280-520m240-120v240z"})))}(),local_atm:function(e){return c.createElement("svg",PT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),MT||(MT=c.createElement("path",{d:"M440-280h80v-40h40q17 0 28.5-11.5T600-360v-120q0-17-11.5-28.5T560-520H440v-40h160v-80h-80v-40h-80v40h-40q-17 0-28.5 11.5T360-600v120q0 17 11.5 28.5T400-440h120v40H360v80h80zM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160zm0-80h640v-480H160zm0 0v-480z"})))}(),local_gas_station:function(e){return c.createElement("svg",zT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),RT||(RT=c.createElement("path",{d:"M160-120v-640q0-33 23.5-56.5T240-840h240q33 0 56.5 23.5T560-760v280h40q33 0 56.5 23.5T680-400v180q0 17 11.5 28.5T720-180t28.5-11.5T760-220v-288q-9 5-19 6.5t-21 1.5q-42 0-71-29t-29-71q0-32 17.5-57.5T684-694l-84-84 42-42 148 144q15 15 22.5 35t7.5 41v380q0 42-29 71t-71 29-71-29-29-71v-200h-60v300zm80-440h240v-200H240zm480 0q17 0 28.5-11.5T760-600t-11.5-28.5T720-640t-28.5 11.5T680-600t11.5 28.5T720-560M240-200h240v-280H240zm240 0H240z"})))}(),local_hospital:function(e){return c.createElement("svg",AT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),CT||(CT=c.createElement("path",{fill:"currentColor",d:"M420-280h120v-140h140v-120H540v-140H420v140H280v120h140zM200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120zm0-80h560v-560H200zm0-560v560z"})))}(),local_parking:function(e){return c.createElement("svg",ET({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),ST||(ST=c.createElement("path",{fill:"currentColor",d:"M240-120v-720h280q100 0 170 70t70 170-70 170-170 70H400v240zm160-400h128q33 0 56.5-23.5T608-600t-23.5-56.5T528-680H400z"})))}(),local_pharmacy:function(e){return c.createElement("svg",TT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),IT||(IT=c.createElement("path",{fill:"currentColor",d:"M120-120v-80l80-240-80-240v-80h508l58-160 94 34-46 126h106v80l-80 240 80 240v80zm320-160h80v-120h120v-80H520v-120h-80v120H320v80h120zm-236 80h552l-80-240 80-240H204l80 240zm276-240"})))}(),local_post_office:function(e){return c.createElement("svg",OT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),LT||(LT=c.createElement("path",{d:"M640-200v80q0 17-11.5 28.5T600-80H120q-17 0-28.5-11.5T80-120v-320q0-17 11.5-28.5T120-480h120v-160q0-100 70-170t170-70h160q100 0 170 70t70 170v560h-80v-120zm0-80h160v-360q0-66-47-113t-113-47H480q-66 0-113 47t-47 113v160h280q17 0 28.5 11.5T640-440zM400-560v-80h320v80zm-40 274 200-114H160zm0 70L160-330v170h400v-170zM160-400v240z"})))}(),location_city:function(e){return c.createElement("svg",jT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),FT||(FT=c.createElement("path",{d:"M120-120v-560h240v-80l120-120 120 120v240h240v400zm80-80h80v-80h-80zm0-160h80v-80h-80zm0-160h80v-80h-80zm240 320h80v-80h-80zm0-160h80v-80h-80zm0-160h80v-80h-80zm0-160h80v-80h-80zm240 480h80v-80h-80zm0-160h80v-80h-80z"})))}(),luggage:function(e){return c.createElement("svg",NT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),DT||(DT=c.createElement("path",{fill:"currentColor",d:"M280-120q-33 0-56.5-23.5T200-200v-440q0-33 23.5-56.5T280-720h80v-100q0-25 17.5-42.5T420-880h120q25 0 42.5 17.5T600-820v100h80q33 0 56.5 23.5T760-640v440q0 33-23.5 56.5T680-120q0 17-11.5 28.5T640-80t-28.5-11.5T600-120H360q0 17-11.5 28.5T320-80t-28.5-11.5T280-120m0-80h400v-440H280zm40-40h60v-360h-60zm130 0h60v-360h-60zm130 0h60v-360h-60zM420-720h120v-100H420z"})))}(),museum:function(e){return c.createElement("svg",qT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),BT||(BT=c.createElement("path",{fill:"currentColor",d:"M80-80v-80h80v-360H80v-80l400-280 400 280v80h-80v360h80v80zm160-80h480zm80-80h80v-160l80 120 80-120v160h80v-280h-80l-80 120-80-120h-80zm400 80v-454L480-782 240-614v454z"})))}(),pedal_bike:function(e){return c.createElement("svg",VT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),GT||(GT=c.createElement("path",{d:"M200-160q-85 0-142.5-57.5T0-360t58.5-142.5T200-560q77 0 129.5 46T396-400h26l-72-200h-70v-80h200v80h-44l14 40h192l-58-160H480v-80h104q26 0 46.5 14t29.5 38l68 186h32q83 0 141.5 58.5T960-362q0 84-58 143t-142 59q-72 0-126.5-45T564-320H396q-14 69-68 114.5T200-160m0-80q41 0 70.5-22.5T312-320H200v-80h112q-12-36-41.5-58T200-480q-51 0-85.5 34.5T80-360q0 50 34.5 85t85.5 35m308-160h56q5-23 13.5-43t22.5-37H478zm252 160q51 0 85.5-35t34.5-85q0-51-34.5-85.5T760-480h-4l40 106-76 28-38-106q-20 17-31 40t-11 52q0 50 34.5 85t85.5 35m0-120"})))}(),police:function(e){return c.createElement("svg",HT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),WT||(WT=c.createElement("path",{d:"m368-336 112-84 110 84-42-136 112-88H524l-44-136-44 136H300l110 88zM480-80q-139-35-229.5-159.5T160-516v-244l320-120 320 120v244q0 152-90.5 276.5T480-80m0-84q104-33 172-132t68-220v-189l-240-90-240 90v189q0 121 68 220t172 132m0-316"})))}(),recycling:function(e){return c.createElement("svg",XT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),KT||(KT=c.createElement("path",{d:"m368-592 89-147-59-98q-12-20-34.5-20T329-837l-98 163zm387 272-89-148 139-80 64 107q11 17 12 38t-9 39q-10 20-29.5 32T800-320zM640-40 480-200l160-160v80h190l-58 116q-11 20-30 32t-42 12h-60zm-387-80q-20 0-36.5-10.5T192-158q-8-16-7.5-33.5T194-224l34-56h172v160zm-99-114L89-364q-9-18-8.5-38.5T92-441l16-27-68-41 219-55 55 220-69-42zm540-342-219-55 69-41-125-208h141q21 0 39.5 10.5T629-841l52 87 68-42z"})))}(),restaurant:function(e){return c.createElement("svg",YT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),ZT||(ZT=c.createElement("path",{fill:"currentColor",d:"M280-80v-366q-51-14-85.5-56T160-600v-280h80v280h40v-280h80v280h40v-280h80v280q0 56-34.5 98T360-446v366zm400 0v-320H560v-280q0-83 58.5-141.5T760-880v800z"})))}(),school:function(e){return c.createElement("svg",JT({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),QT||(QT=c.createElement("path",{fill:"currentColor",d:"M480-120 200-272v-240L40-600l440-240 440 240v320h-80v-276l-80 44v240zm0-332 274-148-274-148-274 148zm0 241 200-108v-151L480-360 280-470v151zm0-151"})))}(),sports_handball:function(e){return c.createElement("svg",tM({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),eM||(eM=c.createElement("path",{fill:"currentColor",d:"m368-4-70-40 120-208-68-40-60 104-70-40 206-356q-38-39-57-89t-19-103q0-36 9-71.5t29-68.5l68 40q-14 23-20 47.5t-6 50.5q0 53 26 99.5t74 74.5l90 52q62 36 91 103.5T740-322q0 38-10 74t-28 68l-70-40q14-24 20-49t6-51q0-32-9-62t-29-56zm272-596q-33 0-56.5-23.5T560-680t23.5-56.5T640-760t56.5 23.5T720-680t-23.5 56.5T640-600M540-800q-26 0-43-18t-17-42q0-26 18-43t42-17q26 0 43 18t17 42q0 26-18 43t-42 17"})))}(),pool:function(e){return c.createElement("svg",$T({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),UT||(UT=c.createElement("path",{d:"M80-120v-80q38 0 57-20t75-20 77 20 57 20 57-20 77-20 77 20 57 20 57-20 77-20 75 20 57 20v80q-59 0-77.5-20T748-160t-57 20-77 20-77-20-57-20-57 20-77 20-77-20-57-20-54.5 20T80-120m0-180v-80q38 0 57-20t75-20 77.5 20 56.5 20q36 0 57-20t77-20 77 20 57 20 57-20 77-20 75 20 57 20v80q-59 0-77.5-20T748-340t-55.5 20-78.5 20q-57 0-77.5-20T480-340q-38 0-56.5 20T346-300t-78.5-20-55.5-20-54.5 20T80-300m196-204 133-133-40-40q-33-33-70-48t-91-15v-100q75 0 124 16.5t96 63.5l256 256q-17 11-33 17.5t-37 6.5q-36 0-57-20t-77-20-77 20-57 20q-21 0-37-6.5T276-504m392-336q42 0 71 29.5t29 70.5q0 42-29 71t-71 29-71-29-29-71q0-41 29-70.5t71-29.5"})))}(),store:function(e){return c.createElement("svg",iM({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),nM||(nM=c.createElement("path",{fill:"currentColor",d:"M160-720v-80h640v80zm0 560v-240h-40v-80l40-200h640l40 200v80h-40v240h-80v-240H560v240zm80-80h240v-160H240zm-38-240h556zm0 0h556l-24-120H226z"})))}(),train:function(e){return c.createElement("svg",oM({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),rM||(rM=c.createElement("path",{fill:"currentColor",d:"M160-340v-380q0-53 27.5-84.5t72.5-48 102.5-22T480-880q66 0 124.5 5.5t102 22 68.5 48 25 84.5v380q0 59-40.5 99.5T660-200l60 60v20h-80l-80-80H400l-80 80h-80v-20l60-60q-59 0-99.5-40.5T160-340m320-460q-106 0-155 12.5T258-760h448q-15-17-64.5-28.5T480-800M240-560h200v-120H240zm420 80H240h480zm-140-80h200v-120H520zM340-320q26 0 43-17t17-43-17-43-43-17-43 17-17 43 17 43 43 17m280 0q26 0 43-17t17-43-17-43-43-17-43 17-17 43 17 43 43 17m-320 40h360q26 0 43-17t17-43v-140H240v140q0 26 17 43t43 17m180-480h226-448z"})))}(),universal_currency_alt:function(e){return c.createElement("svg",aM({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 -960 960 960"},e),sM||(sM=c.createElement("path",{fill:"currentColor",d:"M160-200q-33 0-56.5-23.5T80-280v-400q0-33 23.5-56.5T160-760h640q33 0 56.5 23.5T880-680v400q0 33-23.5 56.5T800-200zm0-80h640v-400H160zm440-40h160v-160h-60v100H600zm-120-40q50 0 85-35t35-85-35-85-85-35-85 35-35 85 35 85 85 35M200-480h60v-100h100v-60H200zm-40 200v-400z"})))}(),visibility:function(e){return c.createElement("svg",cM({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),lM||(lM=c.createElement("path",{d:"M480-320q75 0 127.5-52.5T660-500t-52.5-127.5T480-680t-127.5 52.5T300-500t52.5 127.5T480-320m0-72q-45 0-76.5-31.5T372-500t31.5-76.5T480-608t76.5 31.5T588-500t-31.5 76.5T480-392m0 192q-146 0-266-81.5T40-500q54-137 174-218.5T480-800t266 81.5T920-500q-54 137-174 218.5T480-200m0-80q113 0 207.5-59.5T832-500q-50-101-144.5-160.5T480-720t-207.5 59.5T128-500q50 101 144.5 160.5T480-280"})))}(),water_drop:function(e){return c.createElement("svg",hM({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),pM||(pM=c.createElement("path",{d:"M491-200q12-1 20.5-9.5T520-230q0-14-9-22.5t-23-7.5q-41 3-87-22.5T343-375q-2-11-10.5-18t-19.5-7q-14 0-23 10.5t-6 24.5q17 91 80 130t127 35M480-80q-137 0-228.5-94T160-408q0-100 79.5-217.5T480-880q161 137 240.5 254.5T800-408q0 140-91.5 234T480-80m0-80q104 0 172-70.5T720-408q0-73-60.5-165T480-774Q361-665 300.5-573T240-408q0 107 68 177.5T480-160m0-320"})))}(),wifi:function(e){return c.createElement("svg",dM({xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"#5f6368",viewBox:"0 -960 960 960"},e),uM||(uM=c.createElement("path",{d:"M480-120q-42 0-71-29t-29-71 29-71 71-29 71 29 29 71-29 71-71 29M254-346l-84-86q59-59 138.5-93.5T480-560t171.5 35T790-430l-84 84q-44-44-102-69t-124-25-124 25-102 69M84-516 0-600q92-94 215-147t265-53 265 53 215 147l-84 84q-77-77-178.5-120.5T480-680t-217.5 43.5T84-516"})))}()};var gM;for(const e in _M){const t=_M[e];fM[e]=mE(t.props.children.props.d)}function mM(e){e.getLayers().getArray().filter(e=>e.get("gh:pois")).forEach(t=>e.removeLayer(t))}const yM="popup-container",vM="sidebar-content";function bM({query:t,route:n,map:i,error:r,mapOptions:o,encodedValues:s,drawAreas:a,currentLocation:l,onActiveDetailChanged:u}){var d;const[p,h]=(0,c.useState)(!0),[f,_]=(0,c.useState)(!1),[g,m]=(0,c.useState)("compact");(0,c.useEffect)(()=>{m(e=>"closed"===e?"compact":e)},[n.selectedPath]),(0,c.useEffect)(()=>{var e;const t=null===(e=i.getTargetElement())||void 0===e?void 0:e.querySelector("."+dt.customAttribution);t&&(t.style.display="expanded"===g?"none":"")},[g,i]);const y=n.selectedPath.points.coordinates.length>0;return(0,e.jsxs)(e.Fragment,{children:[p?(0,e.jsx)("div",{className:Be.sidebar,children:(0,e.jsxs)("div",{className:Be.sidebarContent,id:vM,children:[(0,e.jsx)(Ct,{onClick:()=>h(!1),className:Be.sidebarCloseButton,children:(0,e.jsx)(Wh,{})}),(0,e.jsx)(xf,{routingProfiles:t.profiles,selectedProfile:t.routingProfile,memorizedProfilePerGroup:t.memorizedProfilePerGroup,showCustomModelBox:f,toggleCustomModelBox:()=>_(!f),customModelBoxEnabled:t.customModelEnabled}),f&&(0,e.jsx)(Og,{customModelEnabled:t.customModelEnabled,encodedValues:s,customModelStr:t.customModelStr,queryOngoing:(null===(d=t.currentRequest.subRequests[0])||void 0===d?void 0:d.state)===Ut.SENT,drawAreas:a}),(0,e.jsx)(jh,{points:t.queryPoints,profile:t.routingProfile,map:i}),(0,e.jsx)("div",{children:!r.isDismissed&&(0,e.jsx)(Hh,{error:r})}),(0,e.jsx)(Dm,{info:n.routingResult.info,paths:n.routingResult.paths,selectedPath:n.selectedPath,currentRequest:t.currentRequest,profile:t.routingProfile.name}),(0,e.jsx)("div",{children:(0,e.jsx)(cy,{})})]})}):(0,e.jsx)("div",{className:Be.sidebarWhenClosed,onClick:()=>h(!0),children:(0,e.jsx)(Ct,{className:Be.sidebarOpenButton,children:(0,e.jsx)(fI,{})})}),(0,e.jsx)("div",{className:Be.popupContainer,id:yM}),(0,e.jsxs)("div",{className:Be.onMapRightSide,children:[(0,e.jsx)(Mt,{...o}),(0,e.jsx)(cT,{currentLocation:l})]}),(0,e.jsx)("div",{className:Be.map,children:(0,e.jsx)(mt,{map:i})}),"closed"===g&&y&&(0,e.jsx)("div",{className:Be.pathDetails,children:(0,e.jsx)("button",{className:Be.elevationReopenButton,onClick:()=>m("compact"),title:"Show elevation",children:(0,e.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 1792 1792",fill:"#666",children:(0,e.jsx)("path",{d:"M1920 1536v128h-2048v-1536h128v1408h1920zm-384-1024l256 896h-1664v-576l448-576 576 576z"})})})}),(0,e.jsx)("div",{className:"expanded"===g?Be.pathDetailsExpanded:Be.pathDetails,style:{display:"closed"===g?"none":void 0},children:(0,e.jsx)(je,{selectedPath:n.selectedPath,alternativePaths:n.routingResult.paths,profile:t.routingProfile.name,isExpanded:"expanded"===g,onToggleExpanded:()=>m(e=>"expanded"===e?"compact":"expanded"),onClose:()=>m("closed"),onActiveDetailChanged:u})})]})}function xM({query:t,route:n,map:i,error:r,mapOptions:o,encodedValues:s,drawAreas:a,currentLocation:l,onActiveDetailChanged:c}){const u=n.selectedPath.points.coordinates.length>0?(0,e.jsx)(je,{selectedPath:n.selectedPath,alternativePaths:n.routingResult.paths,profile:t.routingProfile.name,isExpanded:!1,onToggleExpanded:()=>{},onActiveDetailChanged:c}):void 0;return(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:Be.smallScreenSidebar,children:(0,e.jsx)(Fg,{query:t,route:n,error:r,encodedValues:s,drawAreas:a,map:i})}),(0,e.jsx)("div",{className:Be.smallScreenMap,children:(0,e.jsx)(mt,{map:i})}),(0,e.jsx)("div",{className:Be.smallScreenMapOptions,children:(0,e.jsxs)("div",{className:Be.onMapRightSide,children:[(0,e.jsx)(Mt,{...o}),(0,e.jsx)(cT,{currentLocation:l})]})}),(0,e.jsx)("div",{className:Be.smallScreenRoutingResult,children:(0,e.jsx)(Dm,{info:n.routingResult.info,paths:n.routingResult.paths,selectedPath:n.selectedPath,currentRequest:t.currentRequest,profile:t.routingProfile.name,detailsExtra:u})}),(0,e.jsx)("div",{className:Be.smallScreenPoweredBy,children:(0,e.jsx)(cy,{})})]})}class wM extends u{static getEmptyPath(){return{bbox:void 0,instructions:[],points:{coordinates:[],type:"LineString"},points_encoded:!1,points_encoded_multiplier:1e5,snapped_waypoints:{type:"LineString",coordinates:[]},ascend:0,descend:0,details:{max_speed:[],street_name:[],toll:[],road_environment:[],road_class:[],road_access:[],access_conditional:[],foot_conditional:[],bike_conditional:[],track_type:[],country:[],get_off_bike:[],mtb_rating:[],hike_rating:[]},distance:0,points_order:[],time:0,description:""}}constructor(){super(wM.getInitialState())}reduce(e,t){return t instanceof k?this.reduceRouteReceived(e,t):t instanceof E?{...e,selectedPath:t.path}:t instanceof p||t instanceof S||t instanceof m||t instanceof y?wM.getInitialState():e}static getInitialState(){return{routingResult:{paths:[],info:{copyright:[],road_data_timestamp:"",took:0}},selectedPath:wM.getEmptyPath()}}reduceRouteReceived(e,t){return wM.containsPaths(t.result.paths)?{routingResult:t.result,selectedPath:t.result.paths[0]}:wM.getInitialState()}static containsPaths(e){return e.length>0}}class kM extends u{constructor(){super(kM.getInitialState())}static getInitialState(){return{version:"",bbox:[0,0,0,0],profiles:[],elevation:!1,encoded_values:[]}}reduce(e,t){return t instanceof d?t.result:e}}class CM extends u{constructor(){super(CM.getInitialState())}static getInitialState(){return{isDismissed:!0,lastError:""}}reduce(e,t){return t instanceof C?{lastError:t.message,isDismissed:!1}:t instanceof I||t instanceof k?{...e,isDismissed:!0}:e}}const AM=Tt().keys.omniscale,SM=Tt().keys.maptiler,EM=Tt().keys.thunderforest,IM=Tt().keys.kurviger,TM='© <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors',MM=window.devicePixelRatio>1||window.matchMedia&&window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5),(min--moz-device-pixel-ratio: 1.5),(-o-min-device-pixel-ratio: 3/2),(min-resolution: 1.5dppx)").matches,PM=MM?2:1,RM=MM?"@2x":"",zM={name:"Omniscale",type:"raster",url:["https://maps.omniscale.net/v2/"+AM+"/style.default/{z}/{x}/{y}.png"+(MM?"?hq=true":"")],attribution:TM+', © <a href="https://maps.omniscale.com/" target="_blank">Omniscale</a>',tilePixelRatio:PM},LM=[zM,{name:"OpenStreetMap",type:"raster",url:["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],attribution:TM,maxZoom:19},{name:"Cyclosm",type:"raster",url:["https://a.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png","https://b.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png","https://c.tile-cyclosm.openstreetmap.fr/cyclosm/{z}/{x}/{y}.png"],attribution:TM+', © <a href="https://github.com/cyclosm/cyclosm-cartocss-style/releases" target="_blank">CyclOSM</a>',maxZoom:19},{name:"Esri Satellite",type:"raster",url:["https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}"],attribution:'© <a href="http://www.esri.com/" target="_blank">Esri</a> i-cubed, USDA, USGS, AEX, GeoEye, Getmapping, Aerogrid, IGN, IGP, UPR-EGP, and the GIS User Community',maxZoom:18},{name:"MapTiler Satellite",type:"vector",url:"https://api.maptiler.com/maps/hybrid/style.json?key="+SM,attribution:TM+', © <a href="https://www.maptiler.com/copyright/" target="_blank">MapTiler</a>'},{name:"TF Transport",type:"raster",url:["https://a.tile.thunderforest.com/transport/{z}/{x}/{y}"+RM+".png?apikey="+EM,"https://b.tile.thunderforest.com/transport/{z}/{x}/{y}"+RM+".png?apikey="+EM,"https://c.tile.thunderforest.com/transport/{z}/{x}/{y}"+RM+".png?apikey="+EM],attribution:TM+', <a href="https://www.thunderforest.com/maps/transport/" target="_blank">Thunderforest Transport</a>',tilePixelRatio:PM},{name:"TF Cycle",type:"raster",url:["https://a.tile.thunderforest.com/cycle/{z}/{x}/{y}"+RM+".png?apikey="+EM,"https://b.tile.thunderforest.com/cycle/{z}/{x}/{y}"+RM+".png?apikey="+EM,"https://c.tile.thunderforest.com/cycle/{z}/{x}/{y}"+RM+".png?apikey="+EM],attribution:TM+', <a href="https://www.thunderforest.com/maps/opencyclemap/" target="_blank">Thunderforest Cycle</a>',tilePixelRatio:PM},{name:"TF Outdoors",type:"raster",url:["https://a.tile.thunderforest.com/outdoors/{z}/{x}/{y}"+RM+".png?apikey="+EM,"https://b.tile.thunderforest.com/outdoors/{z}/{x}/{y}"+RM+".png?apikey="+EM,"https://c.tile.thunderforest.com/outdoors/{z}/{x}/{y}"+RM+".png?apikey="+EM],attribution:TM+', <a href="https://www.thunderforest.com/maps/outdoors/" target="_blank">Thunderforest Outdoors</a>',tilePixelRatio:PM},{name:"Mapilion",type:"vector",url:"https://tiles.mapilion.com/assets/osm-bright/style.json?key="+IM,attribution:TM+', © <a href="https://mapilion.com/attribution" target="_blank">Mapilion</a> <a href="http://www.openmaptiles.org/" target="_blank">© OpenMapTiles</a>'},{name:"WanderReitKarte",type:"raster",url:["https://topo.wanderreitkarte.de/topo/{z}/{x}/{y}.png","https://topo2.wanderreitkarte.de/topo/{z}/{x}/{y}.png","https://topo3.wanderreitkarte.de/topo/{z}/{x}/{y}.png","https://topo4.wanderreitkarte.de/topo/{z}/{x}/{y}.png"],attribution:TM+', <a href="https://wanderreitkarte.de" target="_blank">WanderReitKarte</a>',maxZoom:18}];class OM extends u{constructor(){super(OM.getInitialState())}static getInitialState(){const e=LM.find(e=>e.name===Tt().defaultTiles);return e||console.warn(`Could not find tile layer specified in config: '${Tt().defaultTiles}', using default instead`),{selectedStyle:e||zM,styleOptions:LM,routingGraphEnabled:!1,urbanDensityEnabled:!1,externalMVTEnabled:!1,isMapLoaded:!1}}reduce(e,t){if(t instanceof T){const n=e.styleOptions.find(e=>e.name===t.layer);if(n)return{...e,selectedStyle:n}}else{if(t instanceof M)return{...e,routingGraphEnabled:t.routingGraphEnabled};if(t instanceof P)return{...e,urbanDensityEnabled:t.urbanDensityEnabled};if(t instanceof R)return{...e,externalMVTEnabled:t.externalMVTLayerEnabled};if(t instanceof z)return{...e,isMapLoaded:!0}}return e}}class FM extends u{constructor(){super(FM.getInitialState())}static getInitialState(){return{pathDetailsPoint:null,pathDetailBbox:void 0,pathDetailsHighlightedSegments:[]}}reduce(e,t){return t instanceof F?{...e,pathDetailsPoint:t.pathDetailsPoint}:t instanceof j?{...e,pathDetailBbox:t.bbox?t.bbox:void 0}:t instanceof D?{...e,pathDetailsHighlightedSegments:t.segments}:e}}const jM=window;class DM{constructor(e,t){this.ignoreStateUpdates=!1,this.queryStore=e,this.mapStore=t,jM.addEventListener("popstate",async()=>await this.updateStateFromUrl())}async startSyncingUrlWithAppState(){jM.history.replaceState(null,"",this.createUrlFromState()),this.queryStore.register(()=>this.updateUrlFromState()),this.mapStore.register(()=>this.updateUrlFromState())}static createUrl(e,t,n){const i=new URL(e);return t.queryPoints.filter(e=>e.isInitialized).length>0&&t.queryPoints.map(e=>e.isInitialized?DM.pointToParam(e):"").forEach(e=>i.searchParams.append("point",e)),i.searchParams.append("profile",t.routingProfile.name),i.searchParams.append("layer",n.selectedStyle.name),t.customModelEnabled&&i.searchParams.append("custom_model",t.customModelStr.replace(/\s+/g,"")),i}static pointToParam(e){const t=Nt(e.coordinate);return t===e.queryText?t:t+"_"+e.queryText}static parsePoints(e){return e.searchParams.getAll("point").map((e,t)=>{const n=e.split("_"),i={coordinate:{lat:0,lng:0},isInitialized:!1,id:t,queryText:e,color:"",type:Ht.Via};if(n.length>=1)try{i.coordinate=DM.parseCoordinate(n[0]),Number.isNaN(i.coordinate.lat)||Number.isNaN(i.coordinate.lng)||(i.queryText=n.length>=2?n[1]:Nt(i.coordinate),i.isInitialized=!0)}catch(e){}return i})}static parseCoordinate(e){const t=e.split(",");if(2!==t.length)throw Error('Could not parse coordinate with value: "'+e[0]+'"');return{lat:Number.parseFloat(t[0]),lng:Number.parseFloat(t[1])}}static parseProfile(e){return e.searchParams.has("profile")?e.searchParams.get("profile"):e.searchParams.has("vehicle")?e.searchParams.get("vehicle"):""}static parseLayer(e){return e.searchParams.get("layer")}async updateStateFromUrl(){this.ignoreStateUpdates=!0,Q.dispatch(new m);const e=new URL(jM.location.href),t=DM.parseProfile(e);t&&Q.dispatch(new h({name:t}));const n=DM.parsePoints(e);if(n.some(e=>!e.isInitialized&&e.queryText.length>0)){const e=n.map(e=>{if(e.isInitialized)return Promise.resolve(e);const t=Eo.parse(e.queryText,!1);return t.hasPOIs()&&t.location?qt().geocode(t.location,"nominatim").then(n=>(0==n.hits.length||qt().reverseGeocode(t.query,n.hits[0].extent).then(e=>Eo.handleGeocodingResponse(e,t)),e)):qt().geocode(e.queryText,"nominatim").then(t=>0==t.hits.length?e:{...e,queryText:t.hits[0].name,coordinate:{lat:t.hits[0].point.lat,lng:t.hits[0].point.lng},isInitialized:!0}).catch(()=>e)}),t=await Promise.all(e);DM.dispatchQueryPoints(t)}else DM.dispatchQueryPoints(n);const i=DM.parseLayer(e);i&&Q.dispatch(new T(i)),this.ignoreStateUpdates=!1}static dispatchQueryPoints(e){const t=e.filter(e=>e.isInitialized),n=1==t.length?ht(t[0].coordinate):ft(t.map(e=>e.coordinate));return n&&Q.dispatch(new O(n)),Q.dispatch(new g(e))}updateUrlFromState(){if(this.ignoreStateUpdates)return;const e=this.createUrlFromState();e!==jM.location.href&&jM.history.pushState(null,"",e)}createUrlFromState(){return DM.createUrl(jM.location.origin+jM.location.pathname,this.queryStore.state,this.mapStore.state).toString()}}function NM(e,t,n,i){const r=lo([t[0],t[1]]),o=lo([t[2],t[3]]);e.getView().fit([r[0],r[1],o[0],o[1]],{size:i||e.getSize(),padding:n?[200,16,32,16]:[100,100,200,500]})}console.log("Source code: https://github.com/graphhopper/graphhopper-maps/tree/0eaff08e608fc553c7dc7ad2885596dd464bc2fc");const BM=new URL(window.location.href);var qM;!function(e,t=!1){if(o&&!t)throw new Error("translation already initialized");e=e.toLowerCase().replace("-","_");const n=i;let a=Object.keys(n).find(t=>e==t||e==s(t));if(!a){const t=e.length>2?e.substring(0,2):e;a=Object.keys(n).find(e=>t==s(e)),a||(a="en_US",console.warn("cannot find language "+e+" fallback to "+a))}o=new r(a,n[a],n.en_US)}(BM.searchParams.get("locale")||navigator.language),qM=new Intl.NumberFormat(navigator.language,{maximumFractionDigits:1}),Lt=qM,Eo.setPOITriggerPhrases(a());const GM=BM.searchParams.has("key")?BM.searchParams.get("key"):It.keys.graphhopper;!function(e,t,n){zt=new Gt(e,t,n)}(It.routingApi,It.geocodingApi,GM||"");const VM=BM.searchParams.get("custom_model"),WM=new $t(qt(),VM),HM=new wM;var UM;UM={settingsStore:new class extends u{constructor(){super(Z)}reduce(e,t){if(t instanceof x){if(!t.enabled&&e.drawAreasEnabled)return{...e,drawAreasEnabled:!1}}else if(t instanceof q)return{...e,...t.updatedSettings};return e}},queryStore:WM,routeStore:HM,infoStore:new kM,errorStore:new CM,mapOptionsStore:new OM,pathDetailsStore:new FM,mapFeatureStore:new class extends u{constructor(){super({roadAttributesCoordinate:null,roadAttributes:{},instructionCoordinate:null,instructionText:""})}reduce(e,t){return t instanceof N?{...e,roadAttributesCoordinate:t.point,roadAttributes:t.properties}:t instanceof B?{...e,instructionCoordinate:t.coordinate,instructionText:t.text}:e}},poisStore:new class extends u{constructor(){super({pois:[],selected:null})}reduce(e,t){return t instanceof V?{pois:t.pois,selected:null}:t instanceof G?{...e,selected:t.selected}:e}},currentLocationStore:new class extends u{constructor(){super({error:null,enabled:!1,syncView:!1,accuracy:0,heading:null,coordinate:null}),this.watchId=null}reduce(e,t){return t instanceof W?e.enabled?(console.log("NOW cannot start as already started. ID = "+this.watchId),e):(this.start(),{...e,error:null,enabled:!0,syncView:!0,heading:null,coordinate:null}):t instanceof H?(this.stop(),{...e,error:null,enabled:!1,heading:null,syncView:!1}):t instanceof K?{...e,enabled:!1,syncView:!1,error:t.error,heading:null,coordinate:null}:t instanceof X?{...e,heading:t.heading,accuracy:t.accuracy,coordinate:t.coordinate}:t instanceof U?e.enabled?{...e,error:null,enabled:!0,syncView:!0}:(console.warn("cannot start synchronizing view as current location not enabled"),e):t instanceof $&&e.enabled?{...e,error:null,syncView:!1}:e}start(){if(!navigator.geolocation)return Q.dispatch(new K("Geolocation is not supported in this browser")),void(this.watchId=null);this.watchId=navigator.geolocation.watchPosition(e=>{Q.dispatch(new X({lng:e.coords.longitude,lat:e.coords.latitude},e.coords.accuracy,e.coords.heading))},e=>{Q.dispatch(new K(l("searching_location_failed")+": "+e.message))},{timeout:3e5,enableHighAccuracy:!0})}stop(){this.watchId&&navigator.geolocation.clearWatch(this.watchId)}}},qe=UM.settingsStore,Ge=UM.queryStore,Ve=UM.routeStore,We=UM.infoStore,He=UM.errorStore,Ue=UM.mapOptionsStore,$e=UM.pathDetailsStore,Ke=UM.mapFeatureStore,Xe=UM.poisStore,Ze=UM.currentLocationStore,_h=new fh({view:new cl({enableRotation:!1,multiWorld:!1,constrainResolution:!0,center:lo([10,10]),zoom:2}),controls:Ml({zoom:!0,zoomOptions:{className:dt.customZoom},attribution:!0,attributionOptions:{className:dt.customAttribution,collapsible:!1}})}),_h.once("postrender",()=>{Q.dispatch(new z)}),_h.on("pointerdrag",()=>{gh().getView().getAnimating()||Q.dispatch(new $)}),Q.register(Ye()),Q.register(Qe()),Q.register(Je()),Q.register(et()),Q.register(tt()),Q.register(nt()),Q.register(it()),Q.register(rt()),Q.register(ot()),Q.register(st());const $M=window.matchMedia("(max-width: 44rem)"),KM=new class{constructor(e,t,n){this.map=e,this.routeStore=t,this.isSmallScreenQuery=n}receive(e){const t=this.isSmallScreenQuery();if(e instanceof O)NM(this.map,e.bbox,t,[window.innerWidth,window.innerHeight]);else if(e instanceof L){let t=this.map.getView().getZoom();(null==t||t<8)&&(t=8),this.map.getView().animate({zoom:t,center:lo([e.coordinate.lng,e.coordinate.lat]),duration:400})}else if(e instanceof k){const n=e.result.paths[0].bbox,i=[n[0],n[1],n[2],n[3]];e.request.points.forEach(e=>{i[0]=Math.min(e[0],i[0]),i[1]=Math.min(e[1],i[1]),i[2]=Math.max(e[0],i[2]),i[3]=Math.max(e[1],i[3])}),i[2]-i[0]<.001&&(i[0]-=5e-4,i[2]+=5e-4),i[3]-i[1]<.001&&(i[1]-=5e-4,i[3]+=5e-4),e.zoom&&NM(this.map,i,t)}else if(e instanceof E);else if(e instanceof j){const n=e.bbox?e.bbox:this.routeStore.state.selectedPath.bbox;n&&NM(this.map,n,t)}else e instanceof d&&("[-180,-90,180,90]"===JSON.stringify(e.result.bbox)||NM(this.map,e.result.bbox,t))}}(gh(),HM,()=>$M.matches);Q.register(KM);const XM=new DM(Qe(),nt());qt().info().then(e=>{Q.dispatch(new d(e)),XM.updateStateFromUrl().then(()=>XM.startSyncingUrlWithAppState())}).catch(e=>Q.dispatch(new C(e.message)));const ZM=document.createElement("div");ZM.id="root",ZM.style.height="100%",document.body.appendChild(ZM),(0,t.createRoot)(ZM).render((0,e.jsx)(function(){const[t,n]=(0,c.useState)(Ye().state),[i,r]=(0,c.useState)(Qe().state),[o,s]=(0,c.useState)(et().state),[a,l]=(0,c.useState)(Je().state),[u,d]=(0,c.useState)(tt().state),[h,f]=(0,c.useState)(nt().state),[_,g]=(0,c.useState)(it().state),[m,y]=(0,c.useState)(rt().state),[v,b]=(0,c.useState)(ot().state),[x,k]=(0,c.useState)(st().state),C=gh();(0,c.useEffect)(()=>{const e=()=>n(Ye().state),t=()=>r(Qe().state),i=()=>s(et().state),o=()=>l(Je().state),a=()=>d(tt().state),c=()=>f(nt().state),u=()=>g(it().state),p=()=>y(rt().state),h=()=>b(ot().state),_=()=>k(st().state);return Ye().register(e),Qe().register(t),et().register(i),Je().register(o),tt().register(a),nt().register(c),it().register(u),rt().register(p),ot().register(h),st().register(_),t(),i(),o(),a(),c(),u(),p(),h(),_(),()=>{Ye().deregister(e),Qe().deregister(t),et().deregister(i),Je().deregister(o),tt().deregister(a),nt().deregister(c),it().deregister(u),rt().deregister(p),ot().deregister(h),st().deregister(_)}},[]),function(e,t){(0,c.useEffect)(()=>(aE(e),function(e,t){if("vector"===t.type)!function(e,t,n={}){let i,r;if(r="string"==typeof e||e instanceof HTMLElement?new fh({target:e}):e,"string"==typeof t){const e=t.startsWith("data:")?location.href:Hk(t,n.accessToken);n=XS(e,n),i=new Promise(function(i,o){aC(t,n).then(function(t){oE(t,r,e,n).then(function(){i(r)}).catch(o)}).catch(function(e){o(new Error(`Could not load ${t}: ${e.message}`))})})}else i=new Promise(function(e,i){oE(t,r,!n.styleUrl||n.styleUrl.startsWith("data:")?location.href:Hk(n.styleUrl,n.accessToken),n).then(function(){e(r)}).catch(i)})}(e,t.url);else{const n=t,i=new Wy({source:new dv({urls:n.url,maxZoom:n.maxZoom,attributions:[n.attribution],tilePixelRatio:n.tilePixelRatio})});i.set("background-raster-layer",!0),e.addLayer(i)}}(e,t),function(e){e.on("pointermove",function(t){const n=e.getFeaturesAtPixel(t.pixel).some(e=>e instanceof dy);e.getTargetElement().style.cursor=n?"pointer":"default"})}(e),()=>{aE(e)}),[e,t])}(C,h.selectedStyle),function(e,t){(0,c.useEffect)(()=>{const n=new yS({declutter:!0,source:new HS({attributions:"",format:new wA({featureClass:Bk}),url:It.externalMVTLayer?It.externalMVTLayer.url:"",maxZoom:It.externalMVTLayer?It.externalMVTLayer.maxZoom:14}),renderMode:"vector",zIndex:.6,style:e=>function(e){const t=It.externalMVTLayer.styles[e.get("layer")];return t?new Lp({stroke:new Ip({color:[...t.color,1],width:t.width}),fill:new kp({color:[...t.color,.3]})}):void 0}(e)}),i=new GS,r=new fS({source:i,zIndex:.7,style:e=>{const t=It.externalMVTLayer.styles[e.get("layer")];return new Lp({stroke:new Ip({color:[252,144,175],width:1.2*t.width})})}}),o=t=>{i.clear();const r=e.getFeaturesAtPixel(t.pixel,{layerFilter:e=>e===n,hitTolerance:5});if(r.length>0){i.addFeatures(r);const e=co(t.coordinate),n=r[0].getProperties();Q.dispatch(new N({lat:e[1],lng:e[0]},n))}else Q.dispatch(new N(null,{}))};return e.removeLayer(n),e.removeLayer(r),t&&(e.addLayer(n),e.addLayer(r),e.on("pointermove",o)),()=>{e.un("pointermove",o),e.removeLayer(n),e.removeLayer(r)}},[e,t])}(C,h.externalMVTEnabled),function(e,t){(0,c.useEffect)(()=>(QE(e),"[-180,-90,180,90]"!==JSON.stringify(t)&&function(e,t){const n=new fS({source:new GS({features:(new nA).readFeatures({type:"Feature",geometry:{type:"LineString",coordinates:[[t[0],t[1]],[t[0],t[3]],[t[2],t[3]],[t[2],t[1]],[t[0],t[1]]].map(e=>lo(e))}})}),style:new Lp({stroke:new Ip({color:"#AAAAAA",width:2})})});n.set(YE,!0),n.setZIndex(.1),e.addLayer(n)}(e,t),()=>{QE(e)}),[e,t])}(C,o.bbox),function(e,t,n,i){const r=(0,c.useRef)(n);(0,c.useEffect)(()=>(qI(e),r.current=n,function(e,t,n){let i=NI(n.current);if(null==i)return;const r=new Lp({stroke:new Ip({color:"#F97777",width:3}),fill:new kp({color:"rgba(229,229,229,0.5)"})}),o=function(e){try{return new nA({featureProjection:"EPSG:3857"}).readFeatures(e)}catch(e){return null}}(null==i?void 0:i.areas),s=new GS({features:o||[]}),a=new fS({source:s,style:r});if(a.set(DI,!0),a.setZIndex(1),e.addLayer(a),!t)return void function(e){e.getInteractions().getArray().forEach(e=>{"gh:areas"==e.get("source")&&(e instanceof TI||e instanceof gE||e instanceof jI||e instanceof CE)&&e.setActive(!1)})}(e);const l=new gE({source:s});l.set("source","gh:areas"),e.addInteraction(l),l.on("modifyend",e=>{const t=NI(n.current);if(null==t)return;e.features.getArray().forEach(e=>{const n=BI(e);n.id=e.getId(),t.areas.features=t.areas.features.map(t=>t.id==e.getId()?n:t)});const i=JSON.stringify(t,null,2);Q.dispatch(new w(i,!0))});const c=new TI({source:s,type:"Polygon"});c.set("source","gh:areas"),e.addInteraction(c),c.on("drawend",e=>{var t;if(!e.feature)return;const i=NI(n.current);if(null==i)return;let r=0;if(null===(t=i.areas)||void 0===t?void 0:t.features){const e=i.areas.features.map(e=>e.id?parseInt(e.id.match(/\d+/)[0]):0);e.length>0&&(r=Math.max(...e))}else i.areas={type:"FeatureCollection",features:[]};const o=BI(e.feature);o.id="area"+(r+1),i.areas.features.push(o),i.priority.push({if:"in_"+o.id,multiply_by:"0"});const s=JSON.stringify(i,null,2);return Q.dispatch(new w(s,!0)),!1});const u=new jI({source:s});u.set("source","gh:areas"),e.addInteraction(u)}(e,t,r),()=>{qI(e)}),[e,t,i,n])}(C,t.drawAreasEnabled,i.customModelStr,i.customModelEnabled),function(e,t){(0,c.useEffect)(()=>{const n=new yS({declutter:!0,source:new HS({attributions:"",format:new wA,url:`${It.routingApi}mvt/{z}/{x}/{y}.mvt`}),zIndex:.5,style:(t,n)=>function(e,t){if("roads"===e.get("layer")){const n=e.get("road_class");let i="#aaa5a7",r=1;return"motorway"===n?(i="#dd504b",r=3):"primary"===n||"trunk"===n?(i="#e2a012",r=2):"secondary"===n&&(i="#f7c913",r=2),t>16?r+=3:t>15?r+=2:t>13&&(r+=1),new Lp({stroke:new Ip({color:i,width:r})})}}(t,e.getView().getZoomForResolution(n))}),i=new yS({renderMode:"vector",source:n.getSource(),zIndex:.6}),r=t=>{const r=e.getFeaturesAtPixel(t.pixel,{layerFilter:e=>e===n,hitTolerance:5});if(r.length>0){const e=co(t.coordinate),n=r[0].getProperties();i.setStyle(e=>{if(n.edge_id&&e.getProperties().edge_id===n.edge_id)return new Lp({stroke:new Ip({color:"red",width:5})})}),Q.dispatch(new N({lat:e[1],lng:e[0]},n))}else i.setStyle(()=>{}),Q.dispatch(new N(null,{}))};return e.removeLayer(n),e.removeLayer(i),t&&(e.addLayer(n),e.addLayer(i),e.on("pointermove",r)),()=>{Q.dispatch(new N(null,{})),e.un("pointermove",r),e.removeLayer(n),e.removeLayer(i)}},[e,t])}(C,h.routingGraphEnabled),function(e,t){(0,c.useEffect)(()=>(ZE(e),t&&function(e){const t=new yS({declutter:!0,source:new HS({attributions:"",format:new wA,url:`${It.routingApi}mvt/{z}/{x}/{y}.mvt?render_all=true`}),style:e=>function(e){if("roads"===e.get("layer")){const t=e.get("urban_density");let n="#0aaff1";return"residential"===t?n="#fd084a":"city"===t&&(n="#edf259"),new Lp({stroke:new Ip({color:n,width:2})})}}(e)});t.set(XE,!0),t.setZIndex(.6),e.addLayer(t)}(e),()=>{ZE(e)}),[e,t])}(C,h.urbanDensityEnabled),function(e,t,n,i){const[r,o]=(0,c.useState)(!0);(0,c.useEffect)(()=>(IE(e),r&&(function(e,t){const n=[new Lp({stroke:new Ip({color:"rgba(39,93,173,0.8)",width:6})}),new Lp({stroke:new Ip({color:"rgba(201,217,241,0.7)",width:4})})],i=new fS({source:new GS({features:t.map((e,t)=>{var n;const i=new dy({index:t});return(null===(n=e.points)||void 0===n?void 0:n.coordinates)&&i.setGeometry(new jC(e.points.coordinates.map(e=>lo(e)))),i})}),style:n,opacity:.7,zIndex:1});i.set(AE,!0),e.addLayer(i),function(e){e.getInteractions().getArray().filter(e=>e.get("gh:select_path_interaction")).forEach(t=>e.removeInteraction(t))}(e);const r=new CE({condition:Bl,layers:[i],style:null,hitTolerance:5});r.on("select",e=>{const n=e.selected[0].getProperties().index;Q.dispatch(new E(t[n]))}),r.set("gh:select_path_interaction",!0),e.addInteraction(r)}(e,t.filter(e=>e!=n)),function(e,t){const n=[new Lp({stroke:new Ip({color:"rgba(255,255,255,0.9)",width:10})}),new Lp({stroke:new Ip({color:"rgba(39,100,200,0.85)",width:8})})],i=new fS({source:new GS({features:[new dy(new jC(t.points.coordinates.map(e=>lo(e))))]}),style:n,opacity:.8,zIndex:2});i.set(SE,!0),e.addLayer(i)}(e,n),function(e,t,n){var i;const r=new Lp({stroke:new Ip({color:"rgba(143,183,241,0.9)",width:5,lineDash:[1,10],lineCap:"round",lineJoin:"round"})}),o=new fS({source:new GS});o.setStyle(r);for(let e=0;e<t.snapped_waypoints.coordinates.length&&!(e>=n.length);e++){const r=lo([n[e].coordinate.lng,n[e].coordinate.lat]),s=lo(t.snapped_waypoints.coordinates[e]);null===(i=o.getSource())||void 0===i||i.addFeature(new dy(TE(r,s)))}o.set(EE,!0),o.setZIndex(1),e.addLayer(o)}(e,n,i)),()=>{IE(e)}),[e,t,n,r]),(0,c.useEffect)(()=>{const t=e=>{"h"===e.key&&o(!1)},n=e=>{"h"===e.key&&o(!0)},i=e.getViewport();if(i)return i.tabIndex=-1,i.addEventListener("keydown",t),i.addEventListener("keyup",n),()=>{i.removeEventListener("keydown",t),i.removeEventListener("keyup",n)}},[])}(C,a.routingResult.paths,a.selectedPath,i.queryPoints),function(e,t){(0,c.useEffect)(()=>{vE(e);const n=function(e,t){const n=t.map((e,t)=>({index:t,point:e})).filter(e=>e.point.isInitialized).map((e,t)=>{const n=new dy({geometry:new za(lo([e.point.coordinate.lng,e.point.coordinate.lat]))});return n.set("gh:query_point",e.point),n.set("gh:marker_props",{color:e.point.color,number:e.point.type==Ht.Via?t:void 0,size:35}),n}),i=new fS({source:new GS({features:n})});i.set("gh:query_points",!0),i.setZIndex(3);const r={};return i.setStyle(e=>{const t=e.get("gh:marker_props"),n=t.number+"-"+t.color+"-"+t.size;let i=r[n];return i||(i=new Lp({image:new Sp({src:"data:image/svg+xml;utf8,"+yE(t),displacement:[0,17.5]})}),r[n]=i,i)}),e.addLayer(i),i}(e,t);return bE(e),function(e,t){let n=t.getSource();if(null==n)throw new Error("source must not be null");const i=new gE({hitDetection:t,source:n,style:[]});i.on("modifystart",t=>{e.getViewport().style.cursor="grabbing"}),i.on("modifyend",t=>{e.getViewport().style.cursor="default";const n=t.features.getArray()[0],i=n.get("gh:query_point"),r=co(n.getGeometry().getCoordinates()),o={lng:r[0],lat:r[1]};Q.dispatch(new p({...i,coordinate:o,queryText:Nt(o)},!1))}),i.set("gh:drag_query_point",!0),e.addInteraction(i)}(e,n),()=>{vE(e),bE(e)}},[e,t])}(C,i.queryPoints);const[A,S]=(0,c.useState)(null);(function(e,t,n=null){(0,c.useEffect)(()=>(KE(e,UE),function(e,t){const n=new Lp({stroke:new Ip({color:"red",width:4,lineCap:"round",lineJoin:"round"})}),i=new fS({source:new GS({features:(new nA).readFeatures((r=t.pathDetailsHighlightedSegments,{type:"FeatureCollection",features:[{type:"Feature",geometry:{type:"MultiLineString",coordinates:r.map(e=>e.map(e=>lo([e.lng,e.lat])))},properties:{}}]}))}),style:()=>n});var r;i.set(UE,!0),i.setZIndex(3),e.addLayer(i)}(e,t),()=>{KE(e,UE)}),[e,t]),(0,c.useEffect)(()=>(KE(e,$E),n&&function(e,t){const n={type:"FeatureCollection",features:[...t.segments].sort((e,t)=>t.coordinates.length-e.coordinates.length).map(e=>({type:"Feature",geometry:{type:"LineString",coordinates:e.coordinates.map(e=>lo(e))},properties:{color:e.color}}))},i={},r=new fS({source:new GS({features:(new nA).readFeatures(n)}),style:e=>{const t=e.get("color")||"#666";let n=i[t];return n||(n=new Lp({stroke:new Ip({color:t,width:6,lineCap:"butt",lineJoin:"round"})}),i[t]=n),n}});r.set($E,!0),r.setZIndex(2),e.addLayer(r)}(e,n),()=>{KE(e,$E)}),[e,n])})(C,_,A),function(e,t){(0,c.useEffect)(()=>{mM(e);let n=null;return function(e,t){if(0==t.length)return!1;const n=t.map((e,t)=>{const n=new dy({geometry:new za(lo([e.coordinate.lng,e.coordinate.lat]))});return n.set("gh:marker_props",{icon:e.icon,poi:e}),n}),i=new fS({source:new GS({features:n})});i.set("gh:pois",!0);const r={};return i.setStyle(e=>{const t=e.get("gh:marker_props");let n=r[t.icon];return n||(n=new Lp({image:new Sp({src:"data:image/svg+xml;utf8,"+fM[t.icon],displacement:[0,18]})}),r[t.icon]=n,n)}),e.addLayer(i),!0}(e,t.pois)&&(n=function(e){const t=new CE;return e.addInteraction(t),t.on("select",e=>{const t=e.selected;if(t.length>0){const e=t[0],n=e.get("gh:marker_props");e.setStyle(new Lp({zIndex:2,image:new Sp({scale:[1.4,1.4],src:"data:image/svg+xml;utf8,"+fM[n.icon],displacement:[0,18]})})),Q.dispatch(new G(n.poi))}else Q.dispatch(new G(null))}),t}(e)),()=>{mM(e),n&&e.removeInteraction(n)}},[e,t.pois])}(C,v),function(e,t){const n=(0,c.useRef)(null),i=(0,c.useRef)(null),r=(0,c.useRef)(null),o=(0,c.useRef)(null);(0,c.useEffect)(()=>{var s,a,l;if(t.enabled){if(!n.current){const t=new fS({source:new GS,style:e=>{const t=e.getGeometry();if(t instanceof za){const t=e.get("heading");return new Lp(void 0!==t?{image:new vp({points:3,radius:8,displacement:[0,9],rotation:t*Math.PI/180,fill:new kp({color:"#368fe8"}),stroke:new Ip({color:"#FFFFFF",width:1})}),zIndex:1}:{image:new xp({radius:8,fill:new kp({color:"#368fe8"}),stroke:new Ip({color:"#FFFFFF",width:2})}),zIndex:2})}return t instanceof gI?new Lp({fill:new kp({color:"rgba(66, 133, 244, 0.1)"}),stroke:new Ip({color:"rgba(66, 133, 244, 0.3)",width:1}),zIndex:0}):[]},zIndex:4});null===(s=t.getSource())||void 0===s||s.addFeature(i.current=new dy),null===(a=t.getSource())||void 0===a||a.addFeature(r.current=new dy),null===(l=t.getSource())||void 0===l||l.addFeature(o.current=new dy),e.addLayer(t),n.current=t}return()=>{n.current&&(e.removeLayer(n.current),n.current=null)}}n.current&&(e.removeLayer(n.current),n.current=null)},[t.enabled]),(0,c.useEffect)(()=>{if(!(t.enabled&&t.coordinate&&n.current&&i.current&&r.current&&o.current))return;const s=lo([t.coordinate.lng,t.coordinate.lat]);if(i.current.setGeometry(new za(s)),r.current.setGeometry(new gI(s,t.accuracy)),null!=t.heading?(o.current.setGeometry(new za(s)),o.current.set("heading",t.heading)):(o.current.setGeometry(void 0),o.current.unset("heading")),t.syncView){const t=e.getView().getZoom(),n=null==t||t<16?16:t;Math.abs(n-(t||0))>.1?e.getView().animate({zoom:n,center:s,duration:400}):e.getView().setCenter(s)}},[t.coordinate,t.accuracy,t.heading,t.syncView,t.enabled])}(C,x);const I=ti({query:"(max-width: 44rem)"});return(0,e.jsx)(Y.Provider,{value:t,children:(0,e.jsxs)("div",{className:Be.appWrapper,children:[(0,e.jsx)(dI,{map:C,pathDetails:_,mapFeatures:m,poiState:v,query:i}),(0,e.jsx)(WE,{map:C,route:a,queryPoints:i.queryPoints}),I?(0,e.jsx)(xM,{query:i,route:a,map:C,mapOptions:h,error:u,encodedValues:o.encoded_values,drawAreas:t.drawAreasEnabled,currentLocation:x,onActiveDetailChanged:S}):(0,e.jsx)(bM,{query:i,route:a,map:C,mapOptions:h,error:u,encodedValues:o.encoded_values,drawAreas:t.drawAreasEnabled,currentLocation:x,onActiveDetailChanged:S})]})})},{}))})()})();
|