Socket
Socket
Sign inDemoInstall

@googlemaps/markerclusterer

Package Overview
Dependencies
Maintainers
2
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@googlemaps/markerclusterer - npm Package Compare versions

Comparing version 2.0.15 to 2.1.0-beta.1

dist/marker-utils.d.ts

4

dist/algorithms/core.d.ts

@@ -29,3 +29,3 @@ /**

*/
markers: google.maps.Marker[];
markers: Marker[];
/**

@@ -113,2 +113,2 @@ * The `mapCanvasProjection` enables easy conversion from lat/lng to pixel.

*/
export declare const noop: (markers: google.maps.Marker[]) => Cluster[];
export declare const noop: (markers: Marker[]) => Cluster[];

@@ -44,3 +44,3 @@ /**

protected cluster({ markers, map, mapCanvasProjection, }: AlgorithmInput): Cluster[];
protected addToClosestCluster(marker: google.maps.Marker, map: google.maps.Map, projection: google.maps.MapCanvasProjection): void;
protected addToClosestCluster(marker: Marker, map: google.maps.Map, projection: google.maps.MapCanvasProjection): void;
}

@@ -16,3 +16,2 @@ /**

*/
/// <reference types="google.maps" />
import { AbstractAlgorithm, AlgorithmInput, AlgorithmOutput } from "./core";

@@ -33,3 +32,3 @@ import SuperCluster, { ClusterFeature } from "supercluster";

protected superCluster: SuperCluster;
protected markers: google.maps.Marker[];
protected markers: Marker[];
protected clusters: Cluster[];

@@ -43,4 +42,4 @@ protected state: {

protected transformCluster({ geometry: { coordinates: [lng, lat], }, properties, }: ClusterFeature<{
marker: google.maps.Marker;
marker: Marker;
}>): Cluster;
}

@@ -17,3 +17,3 @@ /**

/// <reference types="google.maps" />
export declare const filterMarkersToPaddedViewport: (map: google.maps.Map, mapCanvasProjection: google.maps.MapCanvasProjection, markers: google.maps.Marker[], viewportPadding: number) => google.maps.Marker[];
export declare const filterMarkersToPaddedViewport: (map: google.maps.Map, mapCanvasProjection: google.maps.MapCanvasProjection, markers: Marker[], viewportPadding: number) => Marker[];
/**

@@ -20,0 +20,0 @@ * Extends a bounds by a number of pixels in each direction.

@@ -19,7 +19,7 @@ /**

position?: google.maps.LatLng | google.maps.LatLngLiteral;
markers?: google.maps.Marker[];
markers?: Marker[];
}
export declare class Cluster {
marker: google.maps.Marker;
readonly markers?: google.maps.Marker[];
marker: Marker;
readonly markers?: Marker[];
protected _position: google.maps.LatLng;

@@ -36,3 +36,3 @@ constructor({ markers, position }: ClusterOptions);

*/
push(marker: google.maps.Marker): void;
push(marker: Marker): void;
/**

@@ -39,0 +39,0 @@ * Cleanup references and remove marker from map.

@@ -32,2 +32,67 @@ import equal from 'fast-deep-equal';

/**
* Copyright 2023 Google LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* util class that creates a common set of convenience functions to wrap
* shared behavior of Advanced Markers and Markers.
*/
class MarkerUtils {
static isAdvancedMarker(marker) {
if (marker instanceof google.maps.marker.AdvancedMarkerView) {
return true;
}
return false;
}
static setMap(marker, map) {
if (this.isAdvancedMarker(marker)) {
marker.map = map;
return;
}
marker.setMap(map);
}
static getPosition(marker) {
// SuperClusterAlgorithm.calculate expects a LatLng instance so we fake it for Adv Markers
if (this.isAdvancedMarker(marker)) {
marker = marker;
if (marker.position) {
if (marker.position instanceof google.maps.LatLng) {
return marker.position;
}
// since we can't cast to LatLngLiteral for reasons =(
if (marker.position.lat && marker.position.lng) {
return new google.maps.LatLng(marker.position.lat, marker.position.lng);
}
}
return new google.maps.LatLng(null);
}
return marker.getPosition();
}
static getVisible(marker) {
if (this.isAdvancedMarker(marker)) {
/**
* Always return true for Advanced Markers because the clusterer
* uses getVisible as a way to count legacy markers not as an actual
* indicator of visibility for some reason. Even when markers are hidden
* Marker.getVisible returns `true` and this is used to set the marker count
* on the cluster. See the behavior of Cluster.count
*/
return true;
}
return marker.getVisible();
}
}
/**
* Copyright 2021 Google LLC

@@ -64,3 +129,3 @@ *

return this.markers.reduce((bounds, marker) => {
return bounds.extend(marker.getPosition());
return bounds.extend(MarkerUtils.getPosition(marker));
}, new google.maps.LatLngBounds(this._position, this._position));

@@ -75,4 +140,3 @@ }

get count() {
return this.markers.filter((m) => m.getVisible())
.length;
return this.markers.filter((m) => MarkerUtils.getVisible(m)).length;
}

@@ -90,3 +154,3 @@ /**

if (this.marker) {
this.marker.setMap(null);
MarkerUtils.setMap(this.marker, null);
delete this.marker;

@@ -115,3 +179,3 @@ }

const extendedMapBounds = extendBoundsToPaddedViewport(map.getBounds(), mapCanvasProjection, viewportPadding);
return markers.filter((marker) => extendedMapBounds.contains(marker.getPosition()));
return markers.filter((marker) => extendedMapBounds.contains(MarkerUtils.getPosition(marker)));
};

@@ -246,3 +310,3 @@ /**

const clusters = markers.map((marker) => new Cluster({
position: marker.getPosition(),
position: MarkerUtils.getPosition(marker),
markers: [marker],

@@ -322,3 +386,3 @@ }));

const candidate = this.clusters[i];
const distance = distanceBetweenPoints(candidate.bounds.getCenter().toJSON(), marker.getPosition().toJSON());
const distance = distanceBetweenPoints(candidate.bounds.getCenter().toJSON(), MarkerUtils.getPosition(marker).toJSON());
if (distance < maxDistance) {

@@ -330,3 +394,3 @@ maxDistance = distance;

if (cluster &&
extendBoundsToPaddedViewport(cluster.bounds, projection, this.gridSize).contains(marker.getPosition())) {
extendBoundsToPaddedViewport(cluster.bounds, projection, this.gridSize).contains(MarkerUtils.getPosition(marker))) {
cluster.push(marker);

@@ -414,4 +478,4 @@ }

coordinates: [
marker.getPosition().lng(),
marker.getPosition().lat(),
MarkerUtils.getPosition(marker).lng(),
MarkerUtils.getPosition(marker).lat(),
],

@@ -455,3 +519,3 @@ },

markers: [marker],
position: marker.getPosition(),
position: MarkerUtils.getPosition(marker),
});

@@ -535,17 +599,47 @@ }

*/
render({ count, position }, stats) {
render({ count, position }, stats, map) {
// change color if this cluster has more markers than the mean cluster
const color = count > Math.max(10, stats.clusters.markers.mean) ? "#ff0000" : "#0000ff";
// create svg url with fill color
const svg = window.btoa(`
<svg fill="${color}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">
<circle cx="120" cy="120" opacity=".6" r="70" />
<circle cx="120" cy="120" opacity=".3" r="90" />
<circle cx="120" cy="120" opacity=".2" r="110" />
</svg>`);
// create marker using svg icon
return new google.maps.Marker({
const svg = `<svg fill="${color}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">
<circle cx="120" cy="120" opacity=".6" r="70" />
<circle cx="120" cy="120" opacity=".3" r="90" />
<circle cx="120" cy="120" opacity=".2" r="110" />
</svg>`;
const title = `Cluster of ${count} markers`,
// adjust zIndex to be above other markers
zIndex = Number(google.maps.Marker.MAX_ZINDEX) + count;
if (google.maps.marker &&
map.getMapCapabilities().isAdvancedMarkersAvailable) {
// create cluster SVG element
const div = document.createElement("div");
div.innerHTML = svg;
const svgEl = div.firstElementChild;
svgEl.setAttribute("width", "50");
svgEl.setAttribute("height", "50");
// create and append marker label to SVG
const label = document.createElementNS("http://www.w3.org/2000/svg", "text");
label.setAttribute("x", "50%");
label.setAttribute("y", "50%");
label.setAttribute("style", "fill: #FFF");
label.setAttribute("text-anchor", "middle");
label.setAttribute("font-size", "50");
label.setAttribute("dominant-baseline", "middle");
label.appendChild(document.createTextNode(`${count}`));
svgEl.appendChild(label);
const clusterOptions = {
map,
position,
zIndex,
title,
content: div.firstElementChild,
};
return new google.maps.marker.AdvancedMarkerView(clusterOptions);
}
const clusterOptions = {
position,
zIndex,
title,
icon: {
url: `data:image/svg+xml;base64,${svg}`,
url: `data:image/svg+xml;base64,${window.btoa(svg)}`,
scaledSize: new google.maps.Size(45, 45),

@@ -558,6 +652,4 @@ },

},
title: `Cluster of ${count} markers`,
// adjust zIndex to be above other markers
zIndex: Number(google.maps.Marker.MAX_ZINDEX) + count,
});
};
return new google.maps.Marker(clusterOptions);
}

@@ -674,3 +766,3 @@ }

}
marker.setMap(null);
MarkerUtils.setMap(marker, null);
this.markers.splice(index, 1); // Remove the marker from the list of managed markers

@@ -703,4 +795,9 @@ if (!noDraw) {

const map = this.getMap();
if (map instanceof google.maps.Map && this.getProjection()) {
if (map instanceof google.maps.Map && map.getProjection()) {
google.maps.event.trigger(this, MarkerClustererEvents.CLUSTERING_BEGIN, this);
this.markers.forEach((marker) => {
marker.addListener("animation_changed", () => {
console.log("animation_changed");
});
});
const { clusters, changed } = this.algorithm.calculate({

@@ -731,3 +828,3 @@ markers: this.markers,

reset() {
this.markers.forEach((marker) => marker.setMap(null));
this.markers.forEach((marker) => MarkerUtils.setMap(marker, null));
this.clusters.forEach((cluster) => cluster.delete());

@@ -745,3 +842,3 @@ this.clusters = [];

else {
cluster.marker = this.renderer.render(cluster, stats);
cluster.marker = this.renderer.render(cluster, stats, map);
if (this.onClusterClick) {

@@ -756,3 +853,3 @@ cluster.marker.addListener("click",

}
cluster.marker.setMap(map);
MarkerUtils.setMap(cluster.marker, map);
});

@@ -759,0 +856,0 @@ }

@@ -1,2 +0,2 @@

var markerClusterer=function(t){"use strict";function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function n(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}function s(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function u(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=i(t);if(e){var o=i(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return s(this,r)}}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw i}}return r}(t,e)||l(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t){return function(t){if(Array.isArray(t))return p(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||l(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){if(t){if("string"==typeof t)return p(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?p(t,e):void 0}}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},m=function(t){return t&&t.Math==Math&&t},d=m("object"==typeof globalThis&&globalThis)||m("object"==typeof window&&window)||m("object"==typeof self&&self)||m("object"==typeof h&&h)||function(){return this}()||Function("return this")(),g={},v=function(t){try{return!!t()}catch(t){return!0}},y=!v((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),b=!v((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),w=b,k=Function.prototype.call,S=w?k.bind(k):function(){return k.apply(k,arguments)},O={},x={}.propertyIsEnumerable,M=Object.getOwnPropertyDescriptor,P=M&&!x.call({1:2},1);O.f=P?function(t){var e=M(this,t);return!!e&&e.enumerable}:x;var j,E,C=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},_=b,L=Function.prototype,T=L.call,I=_&&L.bind.bind(T,T),A=_?I:function(t){return function(){return T.apply(t,arguments)}},N=A,z=N({}.toString),D=N("".slice),R=function(t){return D(z(t),8,-1)},F=v,Z=R,G=Object,V=A("".split),B=F((function(){return!G("z").propertyIsEnumerable(0)}))?function(t){return"String"==Z(t)?V(t,""):G(t)}:G,U=function(t){return null==t},W=U,H=TypeError,q=function(t){if(W(t))throw H("Can't call method on "+t);return t},X=B,$=q,J=function(t){return X($(t))},K="object"==typeof document&&document.all,Y={all:K,IS_HTMLDDA:void 0===K&&void 0!==K},Q=Y.all,tt=Y.IS_HTMLDDA?function(t){return"function"==typeof t||t===Q}:function(t){return"function"==typeof t},et=tt,rt=Y.all,nt=Y.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:et(t)||t===rt}:function(t){return"object"==typeof t?null!==t:et(t)},ot=d,it=tt,at=function(t){return it(t)?t:void 0},st=function(t,e){return arguments.length<2?at(ot[t]):ot[t]&&ot[t][e]},ut=A({}.isPrototypeOf),ct=d,ft=st("navigator","userAgent")||"",lt=ct.process,pt=ct.Deno,ht=lt&&lt.versions||pt&&pt.version,mt=ht&&ht.v8;mt&&(E=(j=mt.split("."))[0]>0&&j[0]<4?1:+(j[0]+j[1])),!E&&ft&&(!(j=ft.match(/Edge\/(\d+)/))||j[1]>=74)&&(j=ft.match(/Chrome\/(\d+)/))&&(E=+j[1]);var dt=E,gt=dt,vt=v,yt=!!Object.getOwnPropertySymbols&&!vt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&gt&&gt<41})),bt=yt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,wt=st,kt=tt,St=ut,Ot=Object,xt=bt?function(t){return"symbol"==typeof t}:function(t){var e=wt("Symbol");return kt(e)&&St(e.prototype,Ot(t))},Mt=String,Pt=function(t){try{return Mt(t)}catch(t){return"Object"}},jt=tt,Et=Pt,Ct=TypeError,_t=function(t){if(jt(t))return t;throw Ct(Et(t)+" is not a function")},Lt=_t,Tt=U,It=S,At=tt,Nt=nt,zt=TypeError,Dt={},Rt={get exports(){return Dt},set exports(t){Dt=t}},Ft=d,Zt=Object.defineProperty,Gt=function(t,e){try{Zt(Ft,t,{value:e,configurable:!0,writable:!0})}catch(r){Ft[t]=e}return e},Vt=Gt,Bt="__core-js_shared__",Ut=d[Bt]||Vt(Bt,{}),Wt=Ut;(Rt.exports=function(t,e){return Wt[t]||(Wt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.27.1",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Ht=q,qt=Object,Xt=function(t){return qt(Ht(t))},$t=Xt,Jt=A({}.hasOwnProperty),Kt=Object.hasOwn||function(t,e){return Jt($t(t),e)},Yt=A,Qt=0,te=Math.random(),ee=Yt(1..toString),re=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ee(++Qt+te,36)},ne=d,oe=Kt,ie=re,ae=yt,se=bt,ue=Dt("wks"),ce=ne.Symbol,fe=ce&&ce.for,le=se?ce:ce&&ce.withoutSetter||ie,pe=function(t){if(!oe(ue,t)||!ae&&"string"!=typeof ue[t]){var e="Symbol."+t;ae&&oe(ce,t)?ue[t]=ce[t]:ue[t]=se&&fe?fe(e):le(e)}return ue[t]},he=S,me=nt,de=xt,ge=function(t,e){var r=t[e];return Tt(r)?void 0:Lt(r)},ve=function(t,e){var r,n;if("string"===e&&At(r=t.toString)&&!Nt(n=It(r,t)))return n;if(At(r=t.valueOf)&&!Nt(n=It(r,t)))return n;if("string"!==e&&At(r=t.toString)&&!Nt(n=It(r,t)))return n;throw zt("Can't convert object to primitive value")},ye=TypeError,be=pe("toPrimitive"),we=function(t,e){if(!me(t)||de(t))return t;var r,n=ge(t,be);if(n){if(void 0===e&&(e="default"),r=he(n,t,e),!me(r)||de(r))return r;throw ye("Can't convert object to primitive value")}return void 0===e&&(e="number"),ve(t,e)},ke=we,Se=xt,Oe=function(t){var e=ke(t,"string");return Se(e)?e:e+""},xe=nt,Me=d.document,Pe=xe(Me)&&xe(Me.createElement),je=function(t){return Pe?Me.createElement(t):{}},Ee=je,Ce=!y&&!v((function(){return 7!=Object.defineProperty(Ee("div"),"a",{get:function(){return 7}}).a})),_e=y,Le=S,Te=O,Ie=C,Ae=J,Ne=Oe,ze=Kt,De=Ce,Re=Object.getOwnPropertyDescriptor;g.f=_e?Re:function(t,e){if(t=Ae(t),e=Ne(e),De)try{return Re(t,e)}catch(t){}if(ze(t,e))return Ie(!Le(Te.f,t,e),t[e])};var Fe={},Ze=y&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Ge=nt,Ve=String,Be=TypeError,Ue=function(t){if(Ge(t))return t;throw Be(Ve(t)+" is not an object")},We=y,He=Ce,qe=Ze,Xe=Ue,$e=Oe,Je=TypeError,Ke=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,Qe="enumerable",tr="configurable",er="writable";Fe.f=We?qe?function(t,e,r){if(Xe(t),e=$e(e),Xe(r),"function"==typeof t&&"prototype"===e&&"value"in r&&er in r&&!r.writable){var n=Ye(t,e);n&&n.writable&&(t[e]=r.value,r={configurable:tr in r?r.configurable:n.configurable,enumerable:Qe in r?r.enumerable:n.enumerable,writable:!1})}return Ke(t,e,r)}:Ke:function(t,e,r){if(Xe(t),e=$e(e),Xe(r),He)try{return Ke(t,e,r)}catch(t){}if("get"in r||"set"in r)throw Je("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var rr=Fe,nr=C,or=y?function(t,e,r){return rr.f(t,e,nr(1,r))}:function(t,e,r){return t[e]=r,t},ir={},ar={get exports(){return ir},set exports(t){ir=t}},sr=y,ur=Kt,cr=Function.prototype,fr=sr&&Object.getOwnPropertyDescriptor,lr=ur(cr,"name"),pr={EXISTS:lr,PROPER:lr&&"something"===function(){}.name,CONFIGURABLE:lr&&(!sr||sr&&fr(cr,"name").configurable)},hr=tt,mr=Ut,dr=A(Function.toString);hr(mr.inspectSource)||(mr.inspectSource=function(t){return dr(t)});var gr,vr,yr,br=mr.inspectSource,wr=tt,kr=d.WeakMap,Sr=wr(kr)&&/native code/.test(String(kr)),Or=re,xr=Dt("keys"),Mr=function(t){return xr[t]||(xr[t]=Or(t))},Pr={},jr=Sr,Er=d,Cr=nt,_r=or,Lr=Kt,Tr=Ut,Ir=Mr,Ar=Pr,Nr="Object already initialized",zr=Er.TypeError,Dr=Er.WeakMap;if(jr||Tr.state){var Rr=Tr.state||(Tr.state=new Dr);Rr.get=Rr.get,Rr.has=Rr.has,Rr.set=Rr.set,gr=function(t,e){if(Rr.has(t))throw zr(Nr);return e.facade=t,Rr.set(t,e),e},vr=function(t){return Rr.get(t)||{}},yr=function(t){return Rr.has(t)}}else{var Fr=Ir("state");Ar[Fr]=!0,gr=function(t,e){if(Lr(t,Fr))throw zr(Nr);return e.facade=t,_r(t,Fr,e),e},vr=function(t){return Lr(t,Fr)?t[Fr]:{}},yr=function(t){return Lr(t,Fr)}}var Zr={set:gr,get:vr,has:yr,enforce:function(t){return yr(t)?vr(t):gr(t,{})},getterFor:function(t){return function(e){var r;if(!Cr(e)||(r=vr(e)).type!==t)throw zr("Incompatible receiver, "+t+" required");return r}}},Gr=v,Vr=tt,Br=Kt,Ur=y,Wr=pr.CONFIGURABLE,Hr=br,qr=Zr.enforce,Xr=Zr.get,$r=Object.defineProperty,Jr=Ur&&!Gr((function(){return 8!==$r((function(){}),"length",{value:8}).length})),Kr=String(String).split("String"),Yr=ar.exports=function(t,e,r){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Br(t,"name")||Wr&&t.name!==e)&&(Ur?$r(t,"name",{value:e,configurable:!0}):t.name=e),Jr&&r&&Br(r,"arity")&&t.length!==r.arity&&$r(t,"length",{value:r.arity});try{r&&Br(r,"constructor")&&r.constructor?Ur&&$r(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=qr(t);return Br(n,"source")||(n.source=Kr.join("string"==typeof e?e:"")),t};Function.prototype.toString=Yr((function(){return Vr(this)&&Xr(this).source||Hr(this)}),"toString");var Qr=tt,tn=Fe,en=ir,rn=Gt,nn=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;if(Qr(r)&&en(r,i,n),n.global)o?t[e]=r:rn(e,r);else{try{n.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=r:tn.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},on={},an=Math.ceil,sn=Math.floor,un=Math.trunc||function(t){var e=+t;return(e>0?sn:an)(e)},cn=function(t){var e=+t;return e!=e||0===e?0:un(e)},fn=cn,ln=Math.max,pn=Math.min,hn=function(t,e){var r=fn(t);return r<0?ln(r+e,0):pn(r,e)},mn=cn,dn=Math.min,gn=function(t){return t>0?dn(mn(t),9007199254740991):0},vn=function(t){return gn(t.length)},yn=J,bn=hn,wn=vn,kn=function(t){return function(e,r,n){var o,i=yn(e),a=wn(i),s=bn(n,a);if(t&&r!=r){for(;a>s;)if((o=i[s++])!=o)return!0}else for(;a>s;s++)if((t||s in i)&&i[s]===r)return t||s||0;return!t&&-1}},Sn={includes:kn(!0),indexOf:kn(!1)},On=Kt,xn=J,Mn=Sn.indexOf,Pn=Pr,jn=A([].push),En=function(t,e){var r,n=xn(t),o=0,i=[];for(r in n)!On(Pn,r)&&On(n,r)&&jn(i,r);for(;e.length>o;)On(n,r=e[o++])&&(~Mn(i,r)||jn(i,r));return i},Cn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],_n=En,Ln=Cn.concat("length","prototype");on.f=Object.getOwnPropertyNames||function(t){return _n(t,Ln)};var Tn={};Tn.f=Object.getOwnPropertySymbols;var In=st,An=on,Nn=Tn,zn=Ue,Dn=A([].concat),Rn=In("Reflect","ownKeys")||function(t){var e=An.f(zn(t)),r=Nn.f;return r?Dn(e,r(t)):e},Fn=Kt,Zn=Rn,Gn=g,Vn=Fe,Bn=v,Un=tt,Wn=/#|\.prototype\./,Hn=function(t,e){var r=Xn[qn(t)];return r==Jn||r!=$n&&(Un(e)?Bn(e):!!e)},qn=Hn.normalize=function(t){return String(t).replace(Wn,".").toLowerCase()},Xn=Hn.data={},$n=Hn.NATIVE="N",Jn=Hn.POLYFILL="P",Kn=Hn,Yn=d,Qn=g.f,to=or,eo=nn,ro=Gt,no=function(t,e,r){for(var n=Zn(e),o=Vn.f,i=Gn.f,a=0;a<n.length;a++){var s=n[a];Fn(t,s)||r&&Fn(r,s)||o(t,s,i(e,s))}},oo=Kn,io=function(t,e){var r,n,o,i,a,s=t.target,u=t.global,c=t.stat;if(r=u?Yn:c?Yn[s]||ro(s,{}):(Yn[s]||{}).prototype)for(n in e){if(i=e[n],o=t.dontCallGetSet?(a=Qn(r,n))&&a.value:r[n],!oo(u?n:s+(c?".":"#")+n,t.forced)&&void 0!==o){if(typeof i==typeof o)continue;no(i,o)}(t.sham||o&&o.sham)&&to(i,"sham",!0),eo(r,n,i,t)}},ao=R,so=A,uo=function(t){if("Function"===ao(t))return so(t)},co=_t,fo=b,lo=uo(uo.bind),po=R,ho=Array.isArray||function(t){return"Array"==po(t)},mo={};mo[pe("toStringTag")]="z";var go="[object z]"===String(mo),vo=go,yo=tt,bo=R,wo=pe("toStringTag"),ko=Object,So="Arguments"==bo(function(){return arguments}()),Oo=vo?bo:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=ko(t),wo))?r:So?bo(e):"Object"==(n=bo(e))&&yo(e.callee)?"Arguments":n},xo=A,Mo=v,Po=tt,jo=Oo,Eo=br,Co=function(){},_o=[],Lo=st("Reflect","construct"),To=/^\s*(?:class|function)\b/,Io=xo(To.exec),Ao=!To.exec(Co),No=function(t){if(!Po(t))return!1;try{return Lo(Co,_o,t),!0}catch(t){return!1}},zo=function(t){if(!Po(t))return!1;switch(jo(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Ao||!!Io(To,Eo(t))}catch(t){return!0}};zo.sham=!0;var Do=!Lo||Mo((function(){var t;return No(No.call)||!No(Object)||!No((function(){t=!0}))||t}))?zo:No,Ro=ho,Fo=Do,Zo=nt,Go=pe("species"),Vo=Array,Bo=function(t){var e;return Ro(t)&&(e=t.constructor,(Fo(e)&&(e===Vo||Ro(e.prototype))||Zo(e)&&null===(e=e[Go]))&&(e=void 0)),void 0===e?Vo:e},Uo=function(t,e){return new(Bo(t))(0===e?0:e)},Wo=function(t,e){return co(t),void 0===e?t:fo?lo(t,e):function(){return t.apply(e,arguments)}},Ho=B,qo=Xt,Xo=vn,$o=Uo,Jo=A([].push),Ko=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=7==t,s=5==t||i;return function(u,c,f,l){for(var p,h,m=qo(u),d=Ho(m),g=Wo(c,f),v=Xo(d),y=0,b=l||$o,w=e?b(u,v):r||a?b(u,0):void 0;v>y;y++)if((s||y in d)&&(h=g(p=d[y],y,m),t))if(e)w[y]=h;else if(h)switch(t){case 3:return!0;case 5:return p;case 6:return y;case 2:Jo(w,p)}else switch(t){case 4:return!1;case 7:Jo(w,p)}return i?-1:n||o?o:w}},Yo={forEach:Ko(0),map:Ko(1),filter:Ko(2),some:Ko(3),every:Ko(4),find:Ko(5),findIndex:Ko(6),filterReject:Ko(7)},Qo=v,ti=dt,ei=pe("species"),ri=function(t){return ti>=51||!Qo((function(){var e=[];return(e.constructor={})[ei]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},ni=Yo.map;function oi(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}io({target:"Array",proto:!0,forced:!ri("map")},{map:function(t){return ni(this,t,arguments.length>1?arguments[1]:void 0)}});var ii=_t,ai=Xt,si=B,ui=vn,ci=TypeError,fi=function(t){return function(e,r,n,o){ii(r);var i=ai(e),a=si(i),s=ui(i),u=t?s-1:0,c=t?-1:1;if(n<2)for(;;){if(u in a){o=a[u],u+=c;break}if(u+=c,t?u<0:s<=u)throw ci("Reduce of empty array with no initial value")}for(;t?u>=0:s>u;u+=c)u in a&&(o=r(o,a[u],u,i));return o}},li={left:fi(!1),right:fi(!0)},pi=v,hi=function(t,e){var r=[][t];return!!r&&pi((function(){r.call(null,e||function(){return 1},1)}))},mi="process"==R(d.process),di=li.left,gi=dt,vi=mi;io({target:"Array",proto:!0,forced:!hi("reduce")||!vi&&gi>79&&gi<83},{reduce:function(t){var e=arguments.length;return di(this,t,e,e>1?arguments[1]:void 0)}});var yi=Oo,bi=go?{}.toString:function(){return"[object "+yi(this)+"]"};go||nn(Object.prototype,"toString",bi,{unsafe:!0});var wi=Yo.filter;io({target:"Array",proto:!0,forced:!ri("filter")},{filter:function(t){return wi(this,t,arguments.length>1?arguments[1]:void 0)}});var ki=function(){function t(r){var n=r.markers,o=r.position;e(this,t),this.markers=n,o&&(o instanceof google.maps.LatLng?this._position=o:this._position=new google.maps.LatLng(o))}return n(t,[{key:"bounds",get:function(){if(0!==this.markers.length||this._position)return this.markers.reduce((function(t,e){return t.extend(e.getPosition())}),new google.maps.LatLngBounds(this._position,this._position))}},{key:"position",get:function(){return this._position||this.bounds.getCenter()}},{key:"count",get:function(){return this.markers.filter((function(t){return t.getVisible()})).length}},{key:"push",value:function(t){this.markers.push(t)}},{key:"delete",value:function(){this.marker&&(this.marker.setMap(null),delete this.marker),this.markers.length=0}}]),t}(),Si=function(t,e,r,n){var o=Oi(t.getBounds(),e,n);return r.filter((function(t){return o.contains(t.getPosition())}))},Oi=function(t,e,r){var n=Mi(t,e),o=n.northEast,i=n.southWest,a=Pi({northEast:o,southWest:i},r);return ji(a,e)},xi=function(t,e){var r=(e.lat-t.lat)*Math.PI/180,n=(e.lng-t.lng)*Math.PI/180,o=Math.sin(r/2)*Math.sin(r/2)+Math.cos(t.lat*Math.PI/180)*Math.cos(e.lat*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o)))},Mi=function(t,e){return{northEast:e.fromLatLngToDivPixel(t.getNorthEast()),southWest:e.fromLatLngToDivPixel(t.getSouthWest())}},Pi=function(t,e){var r=t.northEast,n=t.southWest;return r.x+=e,r.y-=e,n.x-=e,n.y+=e,{northEast:r,southWest:n}},ji=function(t,e){var r=t.northEast,n=t.southWest,o=new google.maps.LatLngBounds;return o.extend(e.fromDivPixelToLatLng(r)),o.extend(e.fromDivPixelToLatLng(n)),o},Ei=function(){function t(r){var n=r.maxZoom,o=void 0===n?16:n;e(this,t),this.maxZoom=o}return n(t,[{key:"noop",value:function(t){var e=t.markers;return _i(e)}}]),t}(),Ci=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.viewportPadding,a=void 0===o?60:o,s=oi(t,["viewportPadding"]);return(n=r.call(this,s)).viewportPadding=60,n.viewportPadding=a,n}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection;return r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:!1}:{clusters:this.cluster({markers:Si(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}}]),i}(Ei),_i=function(t){return t.map((function(t){return new ki({position:t.getPosition(),markers:[t]})}))},Li=je("span").classList,Ti=Li&&Li.constructor&&Li.constructor.prototype,Ii=Ti===Object.prototype?void 0:Ti,Ai=Yo.forEach,Ni=hi("forEach")?[].forEach:function(t){return Ai(this,t,arguments.length>1?arguments[1]:void 0)},zi=d,Di={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Ri=Ii,Fi=Ni,Zi=or,Gi=function(t){if(t&&t.forEach!==Fi)try{Zi(t,"forEach",Fi)}catch(e){t.forEach=Fi}};for(var Vi in Di)Di[Vi]&&Gi(zi[Vi]&&zi[Vi].prototype);Gi(Ri);var Bi=S;io({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Bi(URL.prototype.toString,this)}});var Ui=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(e)){if((n=e.length)!=r.length)return!1;for(o=n;0!=o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((n=(i=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var a=i[o];if(!t(e[a],r[a]))return!1}return!0}return e!=e&&r!=r},Wi=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.maxDistance,a=void 0===o?4e4:o,s=t.gridSize,u=void 0===s?40:s,c=oi(t,["maxDistance","gridSize"]);return(n=r.call(this,c)).clusters=[],n.maxDistance=a,n.gridSize=u,n.state={zoom:null},n}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection,o={zoom:r.getZoom()},i=!1;return this.state.zoom>this.maxZoom&&o.zoom>this.maxZoom||(i=!Ui(this.state,o)),this.state=o,r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:i}:{clusters:this.cluster({markers:Si(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}},{key:"cluster",value:function(t){var e=this,r=t.markers,n=t.map,o=t.mapCanvasProjection;return this.clusters=[],r.forEach((function(t){e.addToClosestCluster(t,n,o)})),this.clusters}},{key:"addToClosestCluster",value:function(t,e,r){for(var n=this.maxDistance,o=null,i=0;i<this.clusters.length;i++){var a=this.clusters[i],s=xi(a.bounds.getCenter().toJSON(),t.getPosition().toJSON());s<n&&(n=s,o=a)}if(o&&Oi(o.bounds,r,this.gridSize).contains(t.getPosition()))o.push(t);else{var u=new ki({markers:[t]});this.clusters.push(u)}}}]),i}(Ci),Hi=function(t){o(i,t);var r=u(i);function i(t){e(this,i);var n=oi(t,[]);return r.call(this,n)}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection;return{clusters:this.cluster({markers:e,map:r,mapCanvasProjection:n}),changed:!1}}},{key:"cluster",value:function(t){return this.noop(t)}}]),i}(Ei),qi=En,Xi=Cn,$i=Object.keys||function(t){return qi(t,Xi)},Ji=y,Ki=A,Yi=S,Qi=v,ta=$i,ea=Tn,ra=O,na=Xt,oa=B,ia=Object.assign,aa=Object.defineProperty,sa=Ki([].concat),ua=!ia||Qi((function(){if(Ji&&1!==ia({b:1},ia(aa({},"a",{enumerable:!0,get:function(){aa(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach((function(t){e[t]=t})),7!=ia({},t)[r]||ta(ia({},e)).join("")!=n}))?function(t,e){for(var r=na(t),n=arguments.length,o=1,i=ea.f,a=ra.f;n>o;)for(var s,u=oa(arguments[o++]),c=i?sa(ta(u),i(u)):ta(u),f=c.length,l=0;f>l;)s=c[l++],Ji&&!Yi(a,u,s)||(r[s]=u[s]);return r}:ia,ca=ua;io({target:"Object",stat:!0,arity:2,forced:Object.assign!==ca},{assign:ca});var fa={};({get exports(){return fa},set exports(t){fa=t}}).exports=function(){function t(r,n,o,i,a,s){if(!(a-i<=o)){var u=i+a>>1;e(r,n,u,i,a,s%2),t(r,n,o,i,u-1,s+1),t(r,n,o,u+1,a,s+1)}}function e(t,n,o,i,a,s){for(;a>i;){if(a-i>600){var u=a-i+1,c=o-i+1,f=Math.log(u),l=.5*Math.exp(2*f/3),p=.5*Math.sqrt(f*l*(u-l)/u)*(c-u/2<0?-1:1);e(t,n,o,Math.max(i,Math.floor(o-c*l/u+p)),Math.min(a,Math.floor(o+(u-c)*l/u+p)),s)}var h=n[2*o+s],m=i,d=a;for(r(t,n,i,o),n[2*a+s]>h&&r(t,n,i,a);m<d;){for(r(t,n,m,d),m++,d--;n[2*m+s]<h;)m++;for(;n[2*d+s]>h;)d--}n[2*i+s]===h?r(t,n,i,d):r(t,n,++d,a),d<=o&&(i=d+1),o<=d&&(a=d-1)}}function r(t,e,r,o){n(t,r,o),n(e,2*r,2*o),n(e,2*r+1,2*o+1)}function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function o(t,e,r,n,o,i,a){for(var s,u,c=[0,t.length-1,0],f=[];c.length;){var l=c.pop(),p=c.pop(),h=c.pop();if(p-h<=a)for(var m=h;m<=p;m++)s=e[2*m],u=e[2*m+1],s>=r&&s<=o&&u>=n&&u<=i&&f.push(t[m]);else{var d=Math.floor((h+p)/2);s=e[2*d],u=e[2*d+1],s>=r&&s<=o&&u>=n&&u<=i&&f.push(t[d]);var g=(l+1)%2;(0===l?r<=s:n<=u)&&(c.push(h),c.push(d-1),c.push(g)),(0===l?o>=s:i>=u)&&(c.push(d+1),c.push(p),c.push(g))}}return f}function i(t,e,r,n,o,i){for(var s=[0,t.length-1,0],u=[],c=o*o;s.length;){var f=s.pop(),l=s.pop(),p=s.pop();if(l-p<=i)for(var h=p;h<=l;h++)a(e[2*h],e[2*h+1],r,n)<=c&&u.push(t[h]);else{var m=Math.floor((p+l)/2),d=e[2*m],g=e[2*m+1];a(d,g,r,n)<=c&&u.push(t[m]);var v=(f+1)%2;(0===f?r-o<=d:n-o<=g)&&(s.push(p),s.push(m-1),s.push(v)),(0===f?r+o>=d:n+o>=g)&&(s.push(m+1),s.push(l),s.push(v))}}return u}function a(t,e,r,n){var o=t-r,i=e-n;return o*o+i*i}var s=function(t){return t[0]},u=function(t){return t[1]},c=function(e,r,n,o,i){void 0===r&&(r=s),void 0===n&&(n=u),void 0===o&&(o=64),void 0===i&&(i=Float64Array),this.nodeSize=o,this.points=e;for(var a=e.length<65536?Uint16Array:Uint32Array,c=this.ids=new a(e.length),f=this.coords=new i(2*e.length),l=0;l<e.length;l++)c[l]=l,f[2*l]=r(e[l]),f[2*l+1]=n(e[l]);t(c,f,o,0,c.length-1,0)};return c.prototype.range=function(t,e,r,n){return o(this.ids,this.coords,t,e,r,n,this.nodeSize)},c.prototype.within=function(t,e,r){return i(this.ids,this.coords,t,e,r,this.nodeSize)},c}();var la=fa;const pa={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},ha=Math.fround||(ma=new Float32Array(1),t=>(ma[0]=+t,ma[0]));var ma;class da{constructor(t){this.options=Oa(Object.create(pa),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:r,maxZoom:n,nodeSize:o}=this.options;e&&console.time("total time");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;let a=[];for(let e=0;e<t.length;e++)t[e].geometry&&a.push(va(t[e],e));this.trees[n+1]=new la(a,xa,Ma,o,Float32Array),e&&console.timeEnd(i);for(let t=n;t>=r;t--){const r=+Date.now();a=this._cluster(a,t),this.trees[t]=new la(a,xa,Ma,o,Float32Array),e&&console.log("z%d: %d clusters in %dms",t,a.length,+Date.now()-r)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let o=180===t[2]?180:((t[2]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,o=180;else if(r>o){const t=this.getClusters([r,n,180,i],e),a=this.getClusters([-180,n,o,i],e);return t.concat(a)}const a=this.trees[this._limitZoom(e)],s=a.range(wa(r),ka(i),wa(o),ka(n)),u=[];for(const t of s){const e=a.points[t];u.push(e.numPoints?ya(e):this.points[e.index])}return u}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",o=this.trees[r];if(!o)throw new Error(n);const i=o.points[e];if(!i)throw new Error(n);const a=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=o.within(i.x,i.y,a),u=[];for(const e of s){const r=o.points[e];r.parentId===t&&u.push(r.numPoints?ya(r):this.points[r.index])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],o=Math.pow(2,t),{extent:i,radius:a}=this.options,s=a/i,u=(r-s)/o,c=(r+1+s)/o,f={features:[]};return this._addTileFeatures(n.range((e-s)/o,u,(e+1+s)/o,c),n.points,e,r,o,f),0===e&&this._addTileFeatures(n.range(1-s/o,u,1,c),n.points,o,r,o,f),e===o-1&&this._addTileFeatures(n.range(0,u,s/o,c),n.points,-1,r,o,f),f.features.length?f:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,o){const i=this.getChildren(e);for(const e of i){const i=e.properties;if(i&&i.cluster?o+i.point_count<=n?o+=i.point_count:o=this._appendLeaves(t,i.cluster_id,r,n,o):o<n?o++:t.push(e),t.length===r)break}return o}_addTileFeatures(t,e,r,n,o,i){for(const a of t){const t=e[a],s=t.numPoints;let u,c,f;if(s)u=ba(t),c=t.x,f=t.y;else{const e=this.points[t.index];u=e.properties,c=wa(e.geometry.coordinates[0]),f=ka(e.geometry.coordinates[1])}const l={type:1,geometry:[[Math.round(this.options.extent*(c*o-r)),Math.round(this.options.extent*(f*o-n))]],tags:u};let p;s?p=t.id:this.options.generateId?p=t.index:this.points[t.index].id&&(p=this.points[t.index].id),void 0!==p&&(l.id=p),i.features.push(l)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const r=[],{radius:n,extent:o,reduce:i,minPoints:a}=this.options,s=n/(o*Math.pow(2,e));for(let n=0;n<t.length;n++){const o=t[n];if(o.zoom<=e)continue;o.zoom=e;const u=this.trees[e+1],c=u.within(o.x,o.y,s),f=o.numPoints||1;let l=f;for(const t of c){const r=u.points[t];r.zoom>e&&(l+=r.numPoints||1)}if(l>f&&l>=a){let t=o.x*f,a=o.y*f,s=i&&f>1?this._map(o,!0):null;const p=(n<<5)+(e+1)+this.points.length;for(const r of c){const n=u.points[r];if(n.zoom<=e)continue;n.zoom=e;const c=n.numPoints||1;t+=n.x*c,a+=n.y*c,n.parentId=p,i&&(s||(s=this._map(o,!0)),i(s,this._map(n)))}o.parentId=p,r.push(ga(t/l,a/l,p,l,s))}else if(r.push(o),l>1)for(const t of c){const n=u.points[t];n.zoom<=e||(n.zoom=e,r.push(n))}}return r}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?Oa({},t.properties):t.properties;const r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Oa({},n):n}}function ga(t,e,r,n,o){return{x:ha(t),y:ha(e),zoom:1/0,id:r,parentId:-1,numPoints:n,properties:o}}function va(t,e){const[r,n]=t.geometry.coordinates;return{x:ha(wa(r)),y:ha(ka(n)),zoom:1/0,index:e,parentId:-1}}function ya(t){return{type:"Feature",id:t.id,properties:ba(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),Sa(t.y)]}};var e}function ba(t){const e=t.numPoints,r=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return Oa(Oa({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function wa(t){return t/360+.5}function ka(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Sa(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function Oa(t,e){for(const r in e)t[r]=e[r];return t}function xa(t){return t.x}function Ma(t){return t.y}var Pa=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.maxZoom,a=t.radius,s=void 0===a?60:a,u=oi(t,["maxZoom","radius"]);return(n=r.call(this,{maxZoom:o})).superCluster=new da(Object.assign({maxZoom:n.maxZoom,radius:s},u)),n.state={zoom:null},n}return n(i,[{key:"calculate",value:function(t){var e=!1;if(!Ui(t.markers,this.markers)){e=!0,this.markers=f(t.markers);var r=this.markers.map((function(t){return{type:"Feature",geometry:{type:"Point",coordinates:[t.getPosition().lng(),t.getPosition().lat()]},properties:{marker:t}}}));this.superCluster.load(r)}var n={zoom:t.map.getZoom()};return e||this.state.zoom>this.maxZoom&&n.zoom>this.maxZoom||(e=e||!Ui(this.state,n)),this.state=n,e&&(this.clusters=this.cluster(t)),{clusters:this.clusters,changed:e}}},{key:"cluster",value:function(t){var e=t.map;return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(this.transformCluster.bind(this))}},{key:"transformCluster",value:function(t){var e=c(t.geometry.coordinates,2),r=e[0],n=e[1],o=t.properties;if(o.cluster)return new ki({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map((function(t){return t.properties.marker})),position:new google.maps.LatLng({lat:n,lng:r})});var i=o.marker;return new ki({markers:[i],position:i.getPosition()})}}]),i}(Ei),ja={},Ea=y,Ca=Ze,_a=Fe,La=Ue,Ta=J,Ia=$i;ja.f=Ea&&!Ca?Object.defineProperties:function(t,e){La(t);for(var r,n=Ta(e),o=Ia(e),i=o.length,a=0;i>a;)_a.f(t,r=o[a++],n[r]);return t};var Aa,Na=st("document","documentElement"),za=Ue,Da=ja,Ra=Cn,Fa=Pr,Za=Na,Ga=je,Va=Mr("IE_PROTO"),Ba=function(){},Ua=function(t){return"<script>"+t+"</"+"script>"},Wa=function(t){t.write(Ua("")),t.close();var e=t.parentWindow.Object;return t=null,e},Ha=function(){try{Aa=new ActiveXObject("htmlfile")}catch(t){}var t,e;Ha="undefined"!=typeof document?document.domain&&Aa?Wa(Aa):((e=Ga("iframe")).style.display="none",Za.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Ua("document.F=Object")),t.close(),t.F):Wa(Aa);for(var r=Ra.length;r--;)delete Ha.prototype[Ra[r]];return Ha()};Fa[Va]=!0;var qa=pe,Xa=Object.create||function(t,e){var r;return null!==t?(Ba.prototype=za(t),r=new Ba,Ba.prototype=null,r[Va]=t):r=Ha(),void 0===e?r:Da.f(r,e)},$a=Fe.f,Ja=qa("unscopables"),Ka=Array.prototype;null==Ka[Ja]&&$a(Ka,Ja,{configurable:!0,value:Xa(null)});var Ya=Sn.includes,Qa=function(t){Ka[Ja][t]=!0};io({target:"Array",proto:!0,forced:v((function(){return!Array(1).includes()}))},{includes:function(t){return Ya(this,t,arguments.length>1?arguments[1]:void 0)}}),Qa("includes");var ts=nt,es=R,rs=pe("match"),ns=function(t){var e;return ts(t)&&(void 0!==(e=t[rs])?!!e:"RegExp"==es(t))},os=TypeError,is=Oo,as=String,ss=function(t){if("Symbol"===is(t))throw TypeError("Cannot convert a Symbol value to a string");return as(t)},us=pe("match"),cs=io,fs=function(t){if(ns(t))throw os("The method doesn't accept regular expressions");return t},ls=q,ps=ss,hs=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[us]=!1,"/./"[t](e)}catch(t){}}return!1},ms=A("".indexOf);cs({target:"String",proto:!0,forced:!hs("includes")},{includes:function(t){return!!~ms(ps(ls(this)),ps(fs(t)),arguments.length>1?arguments[1]:void 0)}});var ds=io,gs=Sn.indexOf,vs=hi,ys=uo([].indexOf),bs=!!ys&&1/ys([1],1,-0)<0,ws=vs("indexOf");ds({target:"Array",proto:!0,forced:bs||!ws},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return bs?ys(this,t,e)||0:gs(this,t,e)}});var ks=y,Ss=ho,Os=TypeError,xs=Object.getOwnPropertyDescriptor,Ms=ks&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}(),Ps=TypeError,js=Oe,Es=Fe,Cs=C,_s=Pt,Ls=TypeError,Ts=io,Is=Xt,As=hn,Ns=cn,zs=vn,Ds=Ms?function(t,e){if(Ss(t)&&!xs(t,"length").writable)throw Os("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e},Rs=function(t){if(t>9007199254740991)throw Ps("Maximum allowed index exceeded");return t},Fs=Uo,Zs=function(t,e,r){var n=js(e);n in t?Es.f(t,n,Cs(0,r)):t[n]=r},Gs=function(t,e){if(!delete t[e])throw Ls("Cannot delete property "+_s(e)+" of "+_s(t))},Vs=ri("splice"),Bs=Math.max,Us=Math.min;Ts({target:"Array",proto:!0,forced:!Vs},{splice:function(t,e){var r,n,o,i,a,s,u=Is(this),c=zs(u),f=As(t,c),l=arguments.length;for(0===l?r=n=0:1===l?(r=0,n=c-f):(r=l-2,n=Us(Bs(Ns(e),0),c-f)),Rs(c+r-n),o=Fs(u,n),i=0;i<n;i++)(a=f+i)in u&&Zs(o,i,u[a]);if(o.length=n,r<n){for(i=f;i<c-n;i++)s=i+r,(a=i+n)in u?u[s]=u[a]:Gs(u,s);for(i=c;i>c-n+r;i--)Gs(u,i-1)}else if(r>n)for(i=c-n;i>f;i--)s=i+r-1,(a=i+n-1)in u?u[s]=u[a]:Gs(u,s);for(i=0;i<r;i++)u[i+f]=arguments[i+2];return Ds(u,c-n+r),o}});var Ws=d,Hs=tt,qs=String,Xs=TypeError,$s=A,Js=Ue,Ks=function(t){if("object"==typeof t||Hs(t))return t;throw Xs("Can't set "+qs(t)+" as a prototype")},Ys=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=$s(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return Js(r),Ks(n),e?t(r,n):r.__proto__=n,r}}():void 0),Qs=tt,tu=nt,eu=Ys,ru=A(1..valueOf),nu=q,ou=ss,iu=A("".replace),au="[\t\n\v\f\r                 \u2028\u2029\ufeff]",su=RegExp("^"+au+au+"*"),uu=RegExp(au+au+"*$"),cu=function(t){return function(e){var r=ou(nu(e));return 1&t&&(r=iu(r,su,"")),2&t&&(r=iu(r,uu,"")),r}},fu={start:cu(1),end:cu(2),trim:cu(3)},lu=io,pu=y,hu=d,mu=Ws,du=A,gu=Kn,vu=Kt,yu=function(t,e,r){var n,o;return eu&&Qs(n=e.constructor)&&n!==r&&tu(o=n.prototype)&&o!==r.prototype&&eu(t,o),t},bu=ut,wu=xt,ku=we,Su=v,Ou=on.f,xu=g.f,Mu=Fe.f,Pu=ru,ju=fu.trim,Eu="Number",Cu=hu.Number;mu.Number;var _u=Cu.prototype,Lu=hu.TypeError,Tu=du("".slice),Iu=du("".charCodeAt),Au=function(t){var e=ku(t,"number");return"bigint"==typeof e?e:Nu(e)},Nu=function(t){var e,r,n,o,i,a,s,u,c=ku(t,"number");if(wu(c))throw Lu("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=ju(c),43===(e=Iu(c,0))||45===e){if(88===(r=Iu(c,2))||120===r)return NaN}else if(48===e){switch(Iu(c,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=Tu(c,2)).length,s=0;s<a;s++)if((u=Iu(i,s))<48||u>o)return NaN;return parseInt(i,n)}return+c},zu=gu(Eu,!Cu(" 0o1")||!Cu("0b1")||Cu("+0x1")),Du=function(t){return bu(_u,t)&&Su((function(){Pu(t)}))},Ru=function(t){var e=arguments.length<1?0:Cu(Au(t));return Du(this)?yu(Object(e),this,Ru):e};Ru.prototype=_u,zu&&(_u.constructor=Ru),lu({global:!0,constructor:!0,wrap:!0,forced:zu},{Number:Ru});zu&&function(t,e){for(var r,n=pu?Ou(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),o=0;n.length>o;o++)vu(e,r=n[o])&&!vu(t,r)&&Mu(t,r,xu(e,r))}(mu.Number,Cu);var Fu=n((function t(r,n){e(this,t),this.markers={sum:r.length};var o=n.map((function(t){return t.count})),i=o.reduce((function(t,e){return t+e}),0);this.clusters={count:n.length,markers:{mean:i/n.length,sum:i,min:Math.min.apply(Math,f(o)),max:Math.max.apply(Math,f(o))}}})),Zu=function(){function t(){e(this,t)}return n(t,[{key:"render",value:function(t,e){var r=t.count,n=t.position,o=r>Math.max(10,e.clusters.markers.mean)?"#ff0000":"#0000ff",i=window.btoa('\n <svg fill="'.concat(o,'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">\n <circle cx="120" cy="120" opacity=".6" r="70" />\n <circle cx="120" cy="120" opacity=".3" r="90" />\n <circle cx="120" cy="120" opacity=".2" r="110" />\n </svg>'));return new google.maps.Marker({position:n,icon:{url:"data:image/svg+xml;base64,".concat(i),scaledSize:new google.maps.Size(45,45)},label:{text:String(r),color:"rgba(255,255,255,0.9)",fontSize:"12px"},title:"Cluster of ".concat(r," markers"),zIndex:Number(google.maps.Marker.MAX_ZINDEX)+r})}}]),t}();var Gu,Vu=n((function t(){e(this,t),function(t,e){for(var r in e.prototype)t.prototype[r]=e.prototype[r]}(t,google.maps.OverlayView)}));t.MarkerClustererEvents=void 0,(Gu=t.MarkerClustererEvents||(t.MarkerClustererEvents={})).CLUSTERING_BEGIN="clusteringbegin",Gu.CLUSTERING_END="clusteringend",Gu.CLUSTER_CLICK="click";var Bu=function(t,e,r){r.fitBounds(e.bounds)},Uu=function(r){o(a,r);var i=u(a);function a(t){var r,n=t.map,o=t.markers,s=void 0===o?[]:o,u=t.algorithm,c=void 0===u?new Pa({}):u,l=t.renderer,p=void 0===l?new Zu:l,h=t.onClusterClick,m=void 0===h?Bu:h;return e(this,a),(r=i.call(this)).markers=f(s),r.clusters=[],r.algorithm=c,r.renderer=p,r.onClusterClick=m,n&&r.setMap(n),r}return n(a,[{key:"addMarker",value:function(t,e){this.markers.includes(t)||(this.markers.push(t),e||this.render())}},{key:"addMarkers",value:function(t,e){var r=this;t.forEach((function(t){r.addMarker(t,!0)})),e||this.render()}},{key:"removeMarker",value:function(t,e){var r=this.markers.indexOf(t);return-1!==r&&(t.setMap(null),this.markers.splice(r,1),e||this.render(),!0)}},{key:"removeMarkers",value:function(t,e){var r=this,n=!1;return t.forEach((function(t){n=r.removeMarker(t,!0)||n})),n&&!e&&this.render(),n}},{key:"clearMarkers",value:function(t){this.markers.length=0,t||this.render()}},{key:"render",value:function(){var e=this.getMap();if(e instanceof google.maps.Map&&this.getProjection()){google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTERING_BEGIN,this);var r=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()}),n=r.clusters,o=r.changed;(o||null==o)&&(this.reset(),this.clusters=n,this.renderClusters()),google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTERING_END,this)}}},{key:"onAdd",value:function(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}},{key:"onRemove",value:function(){google.maps.event.removeListener(this.idleListener),this.reset()}},{key:"reset",value:function(){this.markers.forEach((function(t){return t.setMap(null)})),this.clusters.forEach((function(t){return t.delete()})),this.clusters=[]}},{key:"renderClusters",value:function(){var e=this,r=new Fu(this.markers,this.clusters),n=this.getMap();this.clusters.forEach((function(o){1===o.markers.length?o.marker=o.markers[0]:(o.marker=e.renderer.render(o,r),e.onClusterClick&&o.marker.addListener("click",(function(r){google.maps.event.trigger(e,t.MarkerClustererEvents.CLUSTER_CLICK,o),e.onClusterClick(r,o,n)}))),o.marker.setMap(n)}))}}]),a}(Vu);return t.AbstractAlgorithm=Ei,t.AbstractViewportAlgorithm=Ci,t.Cluster=ki,t.ClusterStats=Fu,t.DefaultRenderer=Zu,t.GridAlgorithm=Wi,t.MarkerClusterer=Uu,t.NoopAlgorithm=Hi,t.SuperClusterAlgorithm=Pa,t.defaultOnClusterClickHandler=Bu,t.distanceBetweenPoints=xi,t.extendBoundsToPaddedViewport=Oi,t.extendPixelBounds=Pi,t.filterMarkersToPaddedViewport=Si,t.noop=_i,t.pixelBoundsToLatLngBounds=ji,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
var markerClusterer=function(t){"use strict";function e(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}class r{static isAdvancedMarker(t){return t instanceof google.maps.marker.AdvancedMarkerView}static setMap(t,e){this.isAdvancedMarker(t)?t.map=e:t.setMap(e)}static getPosition(t){if(this.isAdvancedMarker(t)){if(t.position){if(t.position instanceof google.maps.LatLng)return t.position;if(t.position.lat&&t.position.lng)return new google.maps.LatLng(t.position.lat,t.position.lng)}return new google.maps.LatLng(null)}return t.getPosition()}static getVisible(t){return!!this.isAdvancedMarker(t)||t.getVisible()}}class n{constructor(t){let{markers:e,position:r}=t;this.markers=e,r&&(r instanceof google.maps.LatLng?this._position=r:this._position=new google.maps.LatLng(r))}get bounds(){if(0!==this.markers.length||this._position)return this.markers.reduce(((t,e)=>t.extend(r.getPosition(e))),new google.maps.LatLngBounds(this._position,this._position))}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter((t=>r.getVisible(t))).length}push(t){this.markers.push(t)}delete(){this.marker&&(r.setMap(this.marker,null),delete this.marker),this.markers.length=0}}const o=(t,e,n,o)=>{const s=i(t.getBounds(),e,o);return n.filter((t=>s.contains(r.getPosition(t))))},i=(t,e,r)=>{const{northEast:n,southWest:o}=a(t,e),i=u({northEast:n,southWest:o},r);return c(i,e)},s=(t,e)=>{const r=(e.lat-t.lat)*Math.PI/180,n=(e.lng-t.lng)*Math.PI/180,o=Math.sin(r/2)*Math.sin(r/2)+Math.cos(t.lat*Math.PI/180)*Math.cos(e.lat*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o)))},a=(t,e)=>({northEast:e.fromLatLngToDivPixel(t.getNorthEast()),southWest:e.fromLatLngToDivPixel(t.getSouthWest())}),u=(t,e)=>{let{northEast:r,southWest:n}=t;return r.x+=e,r.y-=e,n.x-=e,n.y+=e,{northEast:r,southWest:n}},c=(t,e)=>{let{northEast:r,southWest:n}=t;const o=new google.maps.LatLngBounds;return o.extend(e.fromDivPixelToLatLng(r)),o.extend(e.fromDivPixelToLatLng(n)),o};class l{constructor(t){let{maxZoom:e=16}=t;this.maxZoom=e}noop(t){let{markers:e}=t;return h(e)}}class p extends l{constructor(t){var{viewportPadding:r=60}=t;super(e(t,["viewportPadding"])),this.viewportPadding=60,this.viewportPadding=r}calculate(t){let{markers:e,map:r,mapCanvasProjection:n}=t;return r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:!1}:{clusters:this.cluster({markers:o(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}}const h=t=>t.map((t=>new n({position:r.getPosition(t),markers:[t]})));var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function m(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var g=function(t){return t&&t.Math==Math&&t},d=g("object"==typeof globalThis&&globalThis)||g("object"==typeof window&&window)||g("object"==typeof self&&self)||g("object"==typeof f&&f)||function(){return this}()||Function("return this")(),y={},v=function(t){try{return!!t()}catch(t){return!0}},b=!v((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),w=!v((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),k=w,M=Function.prototype.call,x=k?M.bind(M):function(){return M.apply(M,arguments)},O={},S={}.propertyIsEnumerable,P=Object.getOwnPropertyDescriptor,C=P&&!S.call({1:2},1);O.f=C?function(t){var e=P(this,t);return!!e&&e.enumerable}:S;var L,j,_=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},E=w,A=Function.prototype,T=A.call,I=E&&A.bind.bind(T,T),z=E?I:function(t){return function(){return T.apply(t,arguments)}},Z=z,D=Z({}.toString),F=Z("".slice),R=v,N=function(t){return F(D(t),8,-1)},G=Object,B=z("".split),V=R((function(){return!G("z").propertyIsEnumerable(0)}))?function(t){return"String"==N(t)?B(t,""):G(t)}:G,U=function(t){return null==t},W=U,H=TypeError,q=function(t){if(W(t))throw H("Can't call method on "+t);return t},X=V,J=q,K=function(t){return X(J(t))},Y="object"==typeof document&&document.all,$={all:Y,IS_HTMLDDA:void 0===Y&&void 0!==Y},Q=$.all,tt=$.IS_HTMLDDA?function(t){return"function"==typeof t||t===Q}:function(t){return"function"==typeof t},et=tt,rt=$.all,nt=$.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:et(t)||t===rt}:function(t){return"object"==typeof t?null!==t:et(t)},ot=d,it=tt,st=function(t,e){return arguments.length<2?(r=ot[t],it(r)?r:void 0):ot[t]&&ot[t][e];var r},at=z({}.isPrototypeOf),ut=d,ct="undefined"!=typeof navigator&&String(navigator.userAgent)||"",lt=ut.process,pt=ut.Deno,ht=lt&&lt.versions||pt&&pt.version,ft=ht&&ht.v8;ft&&(j=(L=ft.split("."))[0]>0&&L[0]<4?1:+(L[0]+L[1])),!j&&ct&&(!(L=ct.match(/Edge\/(\d+)/))||L[1]>=74)&&(L=ct.match(/Chrome\/(\d+)/))&&(j=+L[1]);var mt=j,gt=v,dt=!!Object.getOwnPropertySymbols&&!gt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&mt&&mt<41})),yt=dt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,vt=st,bt=tt,wt=at,kt=Object,Mt=yt?function(t){return"symbol"==typeof t}:function(t){var e=vt("Symbol");return bt(e)&&wt(e.prototype,kt(t))},xt=String,Ot=tt,St=function(t){try{return xt(t)}catch(t){return"Object"}},Pt=TypeError,Ct=function(t){if(Ot(t))return t;throw Pt(St(t)+" is not a function")},Lt=Ct,jt=U,_t=x,Et=tt,At=nt,Tt=TypeError,It={exports:{}},zt=d,Zt=Object.defineProperty,Dt=function(t,e){try{Zt(zt,t,{value:e,configurable:!0,writable:!0})}catch(r){zt[t]=e}return e},Ft=Dt,Rt="__core-js_shared__",Nt=d[Rt]||Ft(Rt,{}),Gt=Nt;(It.exports=function(t,e){return Gt[t]||(Gt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.30.1",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Bt=It.exports,Vt=q,Ut=Object,Wt=function(t){return Ut(Vt(t))},Ht=Wt,qt=z({}.hasOwnProperty),Xt=Object.hasOwn||function(t,e){return qt(Ht(t),e)},Jt=z,Kt=0,Yt=Math.random(),$t=Jt(1..toString),Qt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+$t(++Kt+Yt,36)},te=Bt,ee=Xt,re=Qt,ne=dt,oe=yt,ie=d.Symbol,se=te("wks"),ae=oe?ie.for||ie:ie&&ie.withoutSetter||re,ue=function(t){return ee(se,t)||(se[t]=ne&&ee(ie,t)?ie[t]:ae("Symbol."+t)),se[t]},ce=x,le=nt,pe=Mt,he=function(t,e){var r=t[e];return jt(r)?void 0:Lt(r)},fe=function(t,e){var r,n;if("string"===e&&Et(r=t.toString)&&!At(n=_t(r,t)))return n;if(Et(r=t.valueOf)&&!At(n=_t(r,t)))return n;if("string"!==e&&Et(r=t.toString)&&!At(n=_t(r,t)))return n;throw Tt("Can't convert object to primitive value")},me=TypeError,ge=ue("toPrimitive"),de=function(t,e){if(!le(t)||pe(t))return t;var r,n=he(t,ge);if(n){if(void 0===e&&(e="default"),r=ce(n,t,e),!le(r)||pe(r))return r;throw me("Can't convert object to primitive value")}return void 0===e&&(e="number"),fe(t,e)},ye=Mt,ve=function(t){var e=de(t,"string");return ye(e)?e:e+""},be=nt,we=d.document,ke=be(we)&&be(we.createElement),Me=function(t){return ke?we.createElement(t):{}},xe=Me,Oe=!b&&!v((function(){return 7!=Object.defineProperty(xe("div"),"a",{get:function(){return 7}}).a})),Se=b,Pe=x,Ce=O,Le=_,je=K,_e=ve,Ee=Xt,Ae=Oe,Te=Object.getOwnPropertyDescriptor;y.f=Se?Te:function(t,e){if(t=je(t),e=_e(e),Ae)try{return Te(t,e)}catch(t){}if(Ee(t,e))return Le(!Pe(Ce.f,t,e),t[e])};var Ie={},ze=b&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Ze=nt,De=String,Fe=TypeError,Re=function(t){if(Ze(t))return t;throw Fe(De(t)+" is not an object")},Ne=b,Ge=Oe,Be=ze,Ve=Re,Ue=ve,We=TypeError,He=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Xe="enumerable",Je="configurable",Ke="writable";Ie.f=Ne?Be?function(t,e,r){if(Ve(t),e=Ue(e),Ve(r),"function"==typeof t&&"prototype"===e&&"value"in r&&Ke in r&&!r[Ke]){var n=qe(t,e);n&&n[Ke]&&(t[e]=r.value,r={configurable:Je in r?r[Je]:n[Je],enumerable:Xe in r?r[Xe]:n[Xe],writable:!1})}return He(t,e,r)}:He:function(t,e,r){if(Ve(t),e=Ue(e),Ve(r),Ge)try{return He(t,e,r)}catch(t){}if("get"in r||"set"in r)throw We("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var Ye=Ie,$e=_,Qe=b?function(t,e,r){return Ye.f(t,e,$e(1,r))}:function(t,e,r){return t[e]=r,t},tr={exports:{}},er=b,rr=Xt,nr=Function.prototype,or=er&&Object.getOwnPropertyDescriptor,ir=rr(nr,"name"),sr={EXISTS:ir,PROPER:ir&&"something"===function(){}.name,CONFIGURABLE:ir&&(!er||er&&or(nr,"name").configurable)},ar=tt,ur=Nt,cr=z(Function.toString);ar(ur.inspectSource)||(ur.inspectSource=function(t){return cr(t)});var lr,pr,hr,fr=ur.inspectSource,mr=tt,gr=d.WeakMap,dr=mr(gr)&&/native code/.test(String(gr)),yr=Qt,vr=Bt("keys"),br=function(t){return vr[t]||(vr[t]=yr(t))},wr={},kr=dr,Mr=d,xr=nt,Or=Qe,Sr=Xt,Pr=Nt,Cr=br,Lr=wr,jr="Object already initialized",_r=Mr.TypeError,Er=Mr.WeakMap;if(kr||Pr.state){var Ar=Pr.state||(Pr.state=new Er);Ar.get=Ar.get,Ar.has=Ar.has,Ar.set=Ar.set,lr=function(t,e){if(Ar.has(t))throw _r(jr);return e.facade=t,Ar.set(t,e),e},pr=function(t){return Ar.get(t)||{}},hr=function(t){return Ar.has(t)}}else{var Tr=Cr("state");Lr[Tr]=!0,lr=function(t,e){if(Sr(t,Tr))throw _r(jr);return e.facade=t,Or(t,Tr,e),e},pr=function(t){return Sr(t,Tr)?t[Tr]:{}},hr=function(t){return Sr(t,Tr)}}var Ir={set:lr,get:pr,has:hr,enforce:function(t){return hr(t)?pr(t):lr(t,{})},getterFor:function(t){return function(e){var r;if(!xr(e)||(r=pr(e)).type!==t)throw _r("Incompatible receiver, "+t+" required");return r}}},zr=z,Zr=v,Dr=tt,Fr=Xt,Rr=b,Nr=sr.CONFIGURABLE,Gr=fr,Br=Ir.enforce,Vr=Ir.get,Ur=String,Wr=Object.defineProperty,Hr=zr("".slice),qr=zr("".replace),Xr=zr([].join),Jr=Rr&&!Zr((function(){return 8!==Wr((function(){}),"length",{value:8}).length})),Kr=String(String).split("String"),Yr=tr.exports=function(t,e,r){"Symbol("===Hr(Ur(e),0,7)&&(e="["+qr(Ur(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Fr(t,"name")||Nr&&t.name!==e)&&(Rr?Wr(t,"name",{value:e,configurable:!0}):t.name=e),Jr&&r&&Fr(r,"arity")&&t.length!==r.arity&&Wr(t,"length",{value:r.arity});try{r&&Fr(r,"constructor")&&r.constructor?Rr&&Wr(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=Br(t);return Fr(n,"source")||(n.source=Xr(Kr,"string"==typeof e?e:"")),t};Function.prototype.toString=Yr((function(){return Dr(this)&&Vr(this).source||Gr(this)}),"toString");var $r=tr.exports,Qr=tt,tn=Ie,en=$r,rn=Dt,nn=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;if(Qr(r)&&en(r,i,n),n.global)o?t[e]=r:rn(e,r);else{try{n.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=r:tn.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},on={},sn=Math.ceil,an=Math.floor,un=Math.trunc||function(t){var e=+t;return(e>0?an:sn)(e)},cn=function(t){var e=+t;return e!=e||0===e?0:un(e)},ln=cn,pn=Math.max,hn=Math.min,fn=cn,mn=Math.min,gn=function(t){return t>0?mn(fn(t),9007199254740991):0},dn=K,yn=function(t,e){var r=ln(t);return r<0?pn(r+e,0):hn(r,e)},vn=function(t){return gn(t.length)},bn=function(t){return function(e,r,n){var o,i=dn(e),s=vn(i),a=yn(n,s);if(t&&r!=r){for(;s>a;)if((o=i[a++])!=o)return!0}else for(;s>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},wn={includes:bn(!0),indexOf:bn(!1)},kn=Xt,Mn=K,xn=wn.indexOf,On=wr,Sn=z([].push),Pn=function(t,e){var r,n=Mn(t),o=0,i=[];for(r in n)!kn(On,r)&&kn(n,r)&&Sn(i,r);for(;e.length>o;)kn(n,r=e[o++])&&(~xn(i,r)||Sn(i,r));return i},Cn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ln=Pn,jn=Cn.concat("length","prototype");on.f=Object.getOwnPropertyNames||function(t){return Ln(t,jn)};var _n={};_n.f=Object.getOwnPropertySymbols;var En=st,An=on,Tn=_n,In=Re,zn=z([].concat),Zn=En("Reflect","ownKeys")||function(t){var e=An.f(In(t)),r=Tn.f;return r?zn(e,r(t)):e},Dn=Xt,Fn=Zn,Rn=y,Nn=Ie,Gn=v,Bn=tt,Vn=/#|\.prototype\./,Un=function(t,e){var r=Hn[Wn(t)];return r==Xn||r!=qn&&(Bn(e)?Gn(e):!!e)},Wn=Un.normalize=function(t){return String(t).replace(Vn,".").toLowerCase()},Hn=Un.data={},qn=Un.NATIVE="N",Xn=Un.POLYFILL="P",Jn=Un,Kn=d,Yn=y.f,$n=Qe,Qn=nn,to=Dt,eo=function(t,e,r){for(var n=Fn(e),o=Nn.f,i=Rn.f,s=0;s<n.length;s++){var a=n[s];Dn(t,a)||r&&Dn(r,a)||o(t,a,i(e,a))}},ro=Jn,no=function(t,e){var r,n,o,i,s,a=t.target,u=t.global,c=t.stat;if(r=u?Kn:c?Kn[a]||to(a,{}):(Kn[a]||{}).prototype)for(n in e){if(i=e[n],o=t.dontCallGetSet?(s=Yn(r,n))&&s.value:r[n],!ro(u?n:a+(c?".":"#")+n,t.forced)&&void 0!==o){if(typeof i==typeof o)continue;eo(i,o)}(t.sham||o&&o.sham)&&$n(i,"sham",!0),Qn(r,n,i,t)}},oo=x;no({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return oo(URL.prototype.toString,this)}});var io=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(e)){if((n=e.length)!=r.length)return!1;for(o=n;0!=o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((n=(i=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var s=i[o];if(!t(e[s],r[s]))return!1}return!0}return e!=e&&r!=r},so=m(io);var ao=Me("span").classList,uo=ao&&ao.constructor&&ao.constructor.prototype,co=uo===Object.prototype?void 0:uo,lo={},po=Pn,ho=Cn,fo=Object.keys||function(t){return po(t,ho)},mo=b,go=ze,yo=Ie,vo=Re,bo=K,wo=fo;lo.f=mo&&!go?Object.defineProperties:function(t,e){vo(t);for(var r,n=bo(e),o=wo(e),i=o.length,s=0;i>s;)yo.f(t,r=o[s++],n[r]);return t};var ko,Mo=st("document","documentElement"),xo=Re,Oo=lo,So=Cn,Po=wr,Co=Mo,Lo=Me,jo="prototype",_o="script",Eo=br("IE_PROTO"),Ao=function(){},To=function(t){return"<"+_o+">"+t+"</"+_o+">"},Io=function(t){t.write(To("")),t.close();var e=t.parentWindow.Object;return t=null,e},zo=function(){try{ko=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;zo="undefined"!=typeof document?document.domain&&ko?Io(ko):(e=Lo("iframe"),r="java"+_o+":",e.style.display="none",Co.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(To("document.F=Object")),t.close(),t.F):Io(ko);for(var n=So.length;n--;)delete zo[jo][So[n]];return zo()};Po[Eo]=!0;var Zo=Object.create||function(t,e){var r;return null!==t?(Ao[jo]=xo(t),r=new Ao,Ao[jo]=null,r[Eo]=t):r=zo(),void 0===e?r:Oo.f(r,e)},Do=ue,Fo=Zo,Ro=Ie.f,No=Do("unscopables"),Go=Array.prototype;null==Go[No]&&Ro(Go,No,{configurable:!0,value:Fo(null)});var Bo,Vo,Uo,Wo={},Ho=!v((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),qo=Xt,Xo=tt,Jo=Wt,Ko=Ho,Yo=br("IE_PROTO"),$o=Object,Qo=$o.prototype,ti=Ko?$o.getPrototypeOf:function(t){var e=Jo(t);if(qo(e,Yo))return e[Yo];var r=e.constructor;return Xo(r)&&e instanceof r?r.prototype:e instanceof $o?Qo:null},ei=v,ri=tt,ni=nt,oi=ti,ii=nn,si=ue("iterator"),ai=!1;[].keys&&("next"in(Uo=[].keys())?(Vo=oi(oi(Uo)))!==Object.prototype&&(Bo=Vo):ai=!0),(!ni(Bo)||ei((function(){var t={};return Bo[si].call(t)!==t})))&&(Bo={}),ri(Bo[si])||ii(Bo,si,(function(){return this}));var ui={IteratorPrototype:Bo,BUGGY_SAFARI_ITERATORS:ai},ci=Ie.f,li=Xt,pi=ue("toStringTag"),hi=function(t,e,r){t&&!r&&(t=t.prototype),t&&!li(t,pi)&&ci(t,pi,{configurable:!0,value:e})},fi=ui.IteratorPrototype,mi=Zo,gi=_,di=hi,yi=Wo,vi=function(){return this},bi=z,wi=Ct,ki=tt,Mi=String,xi=TypeError,Oi=function(t,e,r){try{return bi(wi(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(t){}},Si=Re,Pi=function(t){if("object"==typeof t||ki(t))return t;throw xi("Can't set "+Mi(t)+" as a prototype")},Ci=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Oi(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return Si(r),Pi(n),e?t(r,n):r.__proto__=n,r}}():void 0),Li=no,ji=x,_i=tt,Ei=function(t,e,r,n){var o=e+" Iterator";return t.prototype=mi(fi,{next:gi(+!n,r)}),di(t,o,!1),yi[o]=vi,t},Ai=ti,Ti=Ci,Ii=hi,zi=Qe,Zi=nn,Di=Wo,Fi=sr.PROPER,Ri=sr.CONFIGURABLE,Ni=ui.IteratorPrototype,Gi=ui.BUGGY_SAFARI_ITERATORS,Bi=ue("iterator"),Vi="keys",Ui="values",Wi="entries",Hi=function(){return this},qi=K,Xi=function(t){Go[No][t]=!0},Ji=Wo,Ki=Ir,Yi=Ie.f,$i=function(t,e,r,n,o,i,s){Ei(r,e,n);var a,u,c,l=function(t){if(t===o&&g)return g;if(!Gi&&t in f)return f[t];switch(t){case Vi:case Ui:case Wi:return function(){return new r(this,t)}}return function(){return new r(this)}},p=e+" Iterator",h=!1,f=t.prototype,m=f[Bi]||f["@@iterator"]||o&&f[o],g=!Gi&&m||l(o),d="Array"==e&&f.entries||m;if(d&&(a=Ai(d.call(new t)))!==Object.prototype&&a.next&&(Ai(a)!==Ni&&(Ti?Ti(a,Ni):_i(a[Bi])||Zi(a,Bi,Hi)),Ii(a,p,!0)),Fi&&o==Ui&&m&&m.name!==Ui&&(Ri?zi(f,"name",Ui):(h=!0,g=function(){return ji(m,this)})),o)if(u={values:l(Ui),keys:i?g:l(Vi),entries:l(Wi)},s)for(c in u)(Gi||h||!(c in f))&&Zi(f,c,u[c]);else Li({target:e,proto:!0,forced:Gi||h},u);return f[Bi]!==g&&Zi(f,Bi,g,{name:o}),Di[e]=g,u},Qi=function(t,e){return{value:t,done:e}},ts=b,es="Array Iterator",rs=Ki.set,ns=Ki.getterFor(es),os=$i(Array,"Array",(function(t,e){rs(this,{type:es,target:qi(t),index:0,kind:e})}),(function(){var t=ns(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,Qi(void 0,!0)):Qi("keys"==r?n:"values"==r?e[n]:[n,e[n]],!1)}),"values"),is=Ji.Arguments=Ji.Array;if(Xi("keys"),Xi("values"),Xi("entries"),ts&&"values"!==is.name)try{Yi(is,"name",{value:"values"})}catch(t){}var ss=d,as={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},us=co,cs=os,ls=Qe,ps=ue,hs=ps("iterator"),fs=ps("toStringTag"),ms=cs.values,gs=function(t,e){if(t){if(t[hs]!==ms)try{ls(t,hs,ms)}catch(e){t[hs]=ms}if(t[fs]||ls(t,fs,e),as[e])for(var r in cs)if(t[r]!==cs[r])try{ls(t,r,cs[r])}catch(e){t[r]=cs[r]}}};for(var ds in as)gs(ss[ds]&&ss[ds].prototype,ds);function ys(t,e,r,n,o,i){if(o-n<=r)return;const s=n+o>>1;vs(t,e,s,n,o,i%2),ys(t,e,r,n,s-1,i+1),ys(t,e,r,s+1,o,i+1)}function vs(t,e,r,n,o,i){for(;o>n;){if(o-n>600){const s=o-n+1,a=r-n+1,u=Math.log(s),c=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*c*(s-c)/s)*(a-s/2<0?-1:1);vs(t,e,r,Math.max(n,Math.floor(r-a*c/s+l)),Math.min(o,Math.floor(r+(s-a)*c/s+l)),i)}const s=e[2*r+i];let a=n,u=o;for(bs(t,e,n,r),e[2*o+i]>s&&bs(t,e,n,o);a<u;){for(bs(t,e,a,u),a++,u--;e[2*a+i]<s;)a++;for(;e[2*u+i]>s;)u--}e[2*n+i]===s?bs(t,e,n,u):(u++,bs(t,e,u,o)),u<=r&&(n=u+1),r<=u&&(o=u-1)}}function bs(t,e,r,n){ws(t,r,n),ws(e,2*r,2*n),ws(e,2*r+1,2*n+1)}function ws(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function ks(t,e,r,n){const o=t-r,i=e-n;return o*o+i*i}gs(us,"DOMTokenList");const Ms=t=>t[0],xs=t=>t[1];class Os{constructor(t,e=Ms,r=xs,n=64,o=Float64Array){this.nodeSize=n,this.points=t;const i=t.length<65536?Uint16Array:Uint32Array,s=this.ids=new i(t.length),a=this.coords=new o(2*t.length);for(let n=0;n<t.length;n++)s[n]=n,a[2*n]=e(t[n]),a[2*n+1]=r(t[n]);ys(s,a,n,0,s.length-1,0)}range(t,e,r,n){return function(t,e,r,n,o,i,s){const a=[0,t.length-1,0],u=[];let c,l;for(;a.length;){const p=a.pop(),h=a.pop(),f=a.pop();if(h-f<=s){for(let s=f;s<=h;s++)c=e[2*s],l=e[2*s+1],c>=r&&c<=o&&l>=n&&l<=i&&u.push(t[s]);continue}const m=Math.floor((f+h)/2);c=e[2*m],l=e[2*m+1],c>=r&&c<=o&&l>=n&&l<=i&&u.push(t[m]);const g=(p+1)%2;(0===p?r<=c:n<=l)&&(a.push(f),a.push(m-1),a.push(g)),(0===p?o>=c:i>=l)&&(a.push(m+1),a.push(h),a.push(g))}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)}within(t,e,r){return function(t,e,r,n,o,i){const s=[0,t.length-1,0],a=[],u=o*o;for(;s.length;){const c=s.pop(),l=s.pop(),p=s.pop();if(l-p<=i){for(let o=p;o<=l;o++)ks(e[2*o],e[2*o+1],r,n)<=u&&a.push(t[o]);continue}const h=Math.floor((p+l)/2),f=e[2*h],m=e[2*h+1];ks(f,m,r,n)<=u&&a.push(t[h]);const g=(c+1)%2;(0===c?r-o<=f:n-o<=m)&&(s.push(p),s.push(h-1),s.push(g)),(0===c?r+o>=f:n+o>=m)&&(s.push(h+1),s.push(l),s.push(g))}return a}(this.ids,this.coords,t,e,r,this.nodeSize)}}const Ss={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},Ps=Math.fround||(Cs=new Float32Array(1),t=>(Cs[0]=+t,Cs[0]));var Cs,Ls;class js{constructor(t){this.options=Ds(Object.create(Ss),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:r,maxZoom:n,nodeSize:o}=this.options;e&&console.time("total time");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;let s=[];for(let e=0;e<t.length;e++)t[e].geometry&&s.push(Es(t[e],e));this.trees[n+1]=new Os(s,Fs,Rs,o,Float32Array),e&&console.timeEnd(i);for(let t=n;t>=r;t--){const r=+Date.now();s=this._cluster(s,t),this.trees[t]=new Os(s,Fs,Rs,o,Float32Array),e&&console.log("z%d: %d clusters in %dms",t,s.length,+Date.now()-r)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let o=180===t[2]?180:((t[2]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,o=180;else if(r>o){const t=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,o,i],e);return t.concat(s)}const s=this.trees[this._limitZoom(e)],a=s.range(Is(r),zs(i),Is(o),zs(n)),u=[];for(const t of a){const e=s.points[t];u.push(e.numPoints?As(e):this.points[e.index])}return u}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",o=this.trees[r];if(!o)throw new Error(n);const i=o.points[e];if(!i)throw new Error(n);const s=this.options.radius/(this.options.extent*Math.pow(2,r-1)),a=o.within(i.x,i.y,s),u=[];for(const e of a){const r=o.points[e];r.parentId===t&&u.push(r.numPoints?As(r):this.points[r.index])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],o=Math.pow(2,t),{extent:i,radius:s}=this.options,a=s/i,u=(r-a)/o,c=(r+1+a)/o,l={features:[]};return this._addTileFeatures(n.range((e-a)/o,u,(e+1+a)/o,c),n.points,e,r,o,l),0===e&&this._addTileFeatures(n.range(1-a/o,u,1,c),n.points,o,r,o,l),e===o-1&&this._addTileFeatures(n.range(0,u,a/o,c),n.points,-1,r,o,l),l.features.length?l:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,o){const i=this.getChildren(e);for(const e of i){const i=e.properties;if(i&&i.cluster?o+i.point_count<=n?o+=i.point_count:o=this._appendLeaves(t,i.cluster_id,r,n,o):o<n?o++:t.push(e),t.length===r)break}return o}_addTileFeatures(t,e,r,n,o,i){for(const s of t){const t=e[s],a=t.numPoints;let u,c,l;if(a)u=Ts(t),c=t.x,l=t.y;else{const e=this.points[t.index];u=e.properties,c=Is(e.geometry.coordinates[0]),l=zs(e.geometry.coordinates[1])}const p={type:1,geometry:[[Math.round(this.options.extent*(c*o-r)),Math.round(this.options.extent*(l*o-n))]],tags:u};let h;a?h=t.id:this.options.generateId?h=t.index:this.points[t.index].id&&(h=this.points[t.index].id),void 0!==h&&(p.id=h),i.features.push(p)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const r=[],{radius:n,extent:o,reduce:i,minPoints:s}=this.options,a=n/(o*Math.pow(2,e));for(let n=0;n<t.length;n++){const o=t[n];if(o.zoom<=e)continue;o.zoom=e;const u=this.trees[e+1],c=u.within(o.x,o.y,a),l=o.numPoints||1;let p=l;for(const t of c){const r=u.points[t];r.zoom>e&&(p+=r.numPoints||1)}if(p>l&&p>=s){let t=o.x*l,s=o.y*l,a=i&&l>1?this._map(o,!0):null;const h=(n<<5)+(e+1)+this.points.length;for(const r of c){const n=u.points[r];if(n.zoom<=e)continue;n.zoom=e;const c=n.numPoints||1;t+=n.x*c,s+=n.y*c,n.parentId=h,i&&(a||(a=this._map(o,!0)),i(a,this._map(n)))}o.parentId=h,r.push(_s(t/p,s/p,h,p,a))}else if(r.push(o),p>1)for(const t of c){const n=u.points[t];n.zoom<=e||(n.zoom=e,r.push(n))}}return r}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?Ds({},t.properties):t.properties;const r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Ds({},n):n}}function _s(t,e,r,n,o){return{x:Ps(t),y:Ps(e),zoom:1/0,id:r,parentId:-1,numPoints:n,properties:o}}function Es(t,e){const[r,n]=t.geometry.coordinates;return{x:Ps(Is(r)),y:Ps(zs(n)),zoom:1/0,index:e,parentId:-1}}function As(t){return{type:"Feature",id:t.id,properties:Ts(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),Zs(t.y)]}};var e}function Ts(t){const e=t.numPoints,r=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return Ds(Ds({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Is(t){return t/360+.5}function zs(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Zs(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function Ds(t,e){for(const r in e)t[r]=e[r];return t}function Fs(t){return t.x}function Rs(t){return t.y}class Ns extends l{constructor(t){var{maxZoom:r,radius:n=60}=t,o=e(t,["maxZoom","radius"]);super({maxZoom:r}),this.superCluster=new js(Object.assign({maxZoom:this.maxZoom,radius:n},o)),this.state={zoom:null}}calculate(t){let e=!1;if(!so(t.markers,this.markers)){e=!0,this.markers=[...t.markers];const n=this.markers.map((t=>({type:"Feature",geometry:{type:"Point",coordinates:[r.getPosition(t).lng(),r.getPosition(t).lat()]},properties:{marker:t}})));this.superCluster.load(n)}const n={zoom:t.map.getZoom()};return e||this.state.zoom>this.maxZoom&&n.zoom>this.maxZoom||(e=e||!so(this.state,n)),this.state=n,e&&(this.clusters=this.cluster(t)),{clusters:this.clusters,changed:e}}cluster(t){let{map:e}=t;return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(this.transformCluster.bind(this))}transformCluster(t){let{geometry:{coordinates:[e,o]},properties:i}=t;if(i.cluster)return new n({markers:this.superCluster.getLeaves(i.cluster_id,1/0).map((t=>t.properties.marker)),position:new google.maps.LatLng({lat:o,lng:e})});{const t=i.marker;return new n({markers:[t],position:r.getPosition(t)})}}}class Gs{constructor(t,e){this.markers={sum:t.length};const r=e.map((t=>t.count)),n=r.reduce(((t,e)=>t+e),0);this.clusters={count:e.length,markers:{mean:n/e.length,sum:n,min:Math.min(...r),max:Math.max(...r)}}}}class Bs{render(t,e,r){let{count:n,position:o}=t;const i=n>Math.max(10,e.clusters.markers.mean)?"#ff0000":"#0000ff",s='<svg fill="'.concat(i,'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">\n <circle cx="120" cy="120" opacity=".6" r="70" />\n <circle cx="120" cy="120" opacity=".3" r="90" />\n <circle cx="120" cy="120" opacity=".2" r="110" />\n </svg>'),a="Cluster of ".concat(n," markers"),u=Number(google.maps.Marker.MAX_ZINDEX)+n;if(google.maps.marker&&r.getMapCapabilities().isAdvancedMarkersAvailable){const t=document.createElement("div");t.innerHTML=s;const e=t.firstElementChild;e.setAttribute("width","50"),e.setAttribute("height","50");const i=document.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("x","50%"),i.setAttribute("y","50%"),i.setAttribute("style","fill: #FFF"),i.setAttribute("text-anchor","middle"),i.setAttribute("font-size","50"),i.setAttribute("dominant-baseline","middle"),i.appendChild(document.createTextNode("".concat(n))),e.appendChild(i);const c={map:r,position:o,zIndex:u,title:a,content:t.firstElementChild};return new google.maps.marker.AdvancedMarkerView(c)}const c={position:o,zIndex:u,title:a,icon:{url:"data:image/svg+xml;base64,".concat(window.btoa(s)),scaledSize:new google.maps.Size(45,45)},label:{text:String(n),color:"rgba(255,255,255,0.9)",fontSize:"12px"}};return new google.maps.Marker(c)}}class Vs{constructor(){!function(t,e){for(let r in e.prototype)t.prototype[r]=e.prototype[r]}(Vs,google.maps.OverlayView)}}t.MarkerClustererEvents=void 0,(Ls=t.MarkerClustererEvents||(t.MarkerClustererEvents={})).CLUSTERING_BEGIN="clusteringbegin",Ls.CLUSTERING_END="clusteringend",Ls.CLUSTER_CLICK="click";const Us=(t,e,r)=>{r.fitBounds(e.bounds)};return t.AbstractAlgorithm=l,t.AbstractViewportAlgorithm=p,t.Cluster=n,t.ClusterStats=Gs,t.DefaultRenderer=Bs,t.GridAlgorithm=class extends p{constructor(t){var{maxDistance:r=4e4,gridSize:n=40}=t;super(e(t,["maxDistance","gridSize"])),this.clusters=[],this.maxDistance=r,this.gridSize=n,this.state={zoom:null}}calculate(t){let{markers:e,map:r,mapCanvasProjection:n}=t;const i={zoom:r.getZoom()};let s=!1;return this.state.zoom>this.maxZoom&&i.zoom>this.maxZoom||(s=!so(this.state,i)),this.state=i,r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:s}:{clusters:this.cluster({markers:o(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}cluster(t){let{markers:e,map:r,mapCanvasProjection:n}=t;return this.clusters=[],e.forEach((t=>{this.addToClosestCluster(t,r,n)})),this.clusters}addToClosestCluster(t,e,o){let a=this.maxDistance,u=null;for(let e=0;e<this.clusters.length;e++){const n=this.clusters[e],o=s(n.bounds.getCenter().toJSON(),r.getPosition(t).toJSON());o<a&&(a=o,u=n)}if(u&&i(u.bounds,o,this.gridSize).contains(r.getPosition(t)))u.push(t);else{const e=new n({markers:[t]});this.clusters.push(e)}}},t.MarkerClusterer=class extends Vs{constructor(t){let{map:e,markers:r=[],algorithm:n=new Ns({}),renderer:o=new Bs,onClusterClick:i=Us}=t;super(),this.markers=[...r],this.clusters=[],this.algorithm=n,this.renderer=o,this.onClusterClick=i,e&&this.setMap(e)}addMarker(t,e){this.markers.includes(t)||(this.markers.push(t),e||this.render())}addMarkers(t,e){t.forEach((t=>{this.addMarker(t,!0)})),e||this.render()}removeMarker(t,e){const n=this.markers.indexOf(t);return-1!==n&&(r.setMap(t,null),this.markers.splice(n,1),e||this.render(),!0)}removeMarkers(t,e){let r=!1;return t.forEach((t=>{r=this.removeMarker(t,!0)||r})),r&&!e&&this.render(),r}clearMarkers(t){this.markers.length=0,t||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTERING_BEGIN,this),this.markers.forEach((t=>{t.addListener("animation_changed",(()=>{console.log("animation_changed")}))}));const{clusters:r,changed:n}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});(n||null==n)&&(this.reset(),this.clusters=r,this.renderClusters()),google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach((t=>r.setMap(t,null))),this.clusters.forEach((t=>t.delete())),this.clusters=[]}renderClusters(){const e=new Gs(this.markers,this.clusters),n=this.getMap();this.clusters.forEach((o=>{1===o.markers.length?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,n),this.onClusterClick&&o.marker.addListener("click",(e=>{google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTER_CLICK,o),this.onClusterClick(e,o,n)}))),r.setMap(o.marker,n)}))}},t.NoopAlgorithm=class extends l{constructor(t){super(e(t,[]))}calculate(t){let{markers:e,map:r,mapCanvasProjection:n}=t;return{clusters:this.cluster({markers:e,map:r,mapCanvasProjection:n}),changed:!1}}cluster(t){return this.noop(t)}},t.SuperClusterAlgorithm=Ns,t.defaultOnClusterClickHandler=Us,t.distanceBetweenPoints=s,t.extendBoundsToPaddedViewport=i,t.extendPixelBounds=u,t.filterMarkersToPaddedViewport=o,t.noop=h,t.pixelBoundsToLatLngBounds=c,Object.defineProperty(t,"__esModule",{value:!0}),t}({});
//# sourceMappingURL=index.min.js.map

@@ -1,2 +0,2 @@

!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).markerClusterer={})}(this,(function(t){"use strict";function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}function n(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t}function o(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&a(t,e)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)},i(t)}function a(t,e){return a=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},a(t,e)}function s(t,e){return!e||"object"!=typeof e&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function u(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(t){return!1}}();return function(){var r,n=i(t);if(e){var o=i(this).constructor;r=Reflect.construct(n,arguments,o)}else r=n.apply(this,arguments);return s(this,r)}}function c(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var r=[],n=!0,o=!1,i=void 0;try{for(var a,s=t[Symbol.iterator]();!(n=(a=s.next()).done)&&(r.push(a.value),!e||r.length!==e);n=!0);}catch(t){o=!0,i=t}finally{try{n||null==s.return||s.return()}finally{if(o)throw i}}return r}(t,e)||l(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t){return function(t){if(Array.isArray(t))return p(t)}(t)||function(t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(t))return Array.from(t)}(t)||l(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(t,e){if(t){if("string"==typeof t)return p(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?p(t,e):void 0}}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var h="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},m=function(t){return t&&t.Math==Math&&t},d=m("object"==typeof globalThis&&globalThis)||m("object"==typeof window&&window)||m("object"==typeof self&&self)||m("object"==typeof h&&h)||function(){return this}()||Function("return this")(),g={},v=function(t){try{return!!t()}catch(t){return!0}},y=!v((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),b=!v((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),w=b,k=Function.prototype.call,S=w?k.bind(k):function(){return k.apply(k,arguments)},O={},x={}.propertyIsEnumerable,M=Object.getOwnPropertyDescriptor,P=M&&!x.call({1:2},1);O.f=P?function(t){var e=M(this,t);return!!e&&e.enumerable}:x;var j,E,C=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},_=b,L=Function.prototype,T=L.call,I=_&&L.bind.bind(T,T),A=_?I:function(t){return function(){return T.apply(t,arguments)}},N=A,z=N({}.toString),D=N("".slice),R=function(t){return D(z(t),8,-1)},F=v,Z=R,G=Object,V=A("".split),B=F((function(){return!G("z").propertyIsEnumerable(0)}))?function(t){return"String"==Z(t)?V(t,""):G(t)}:G,U=function(t){return null==t},W=U,H=TypeError,q=function(t){if(W(t))throw H("Can't call method on "+t);return t},X=B,$=q,J=function(t){return X($(t))},K="object"==typeof document&&document.all,Y={all:K,IS_HTMLDDA:void 0===K&&void 0!==K},Q=Y.all,tt=Y.IS_HTMLDDA?function(t){return"function"==typeof t||t===Q}:function(t){return"function"==typeof t},et=tt,rt=Y.all,nt=Y.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:et(t)||t===rt}:function(t){return"object"==typeof t?null!==t:et(t)},ot=d,it=tt,at=function(t){return it(t)?t:void 0},st=function(t,e){return arguments.length<2?at(ot[t]):ot[t]&&ot[t][e]},ut=A({}.isPrototypeOf),ct=d,ft=st("navigator","userAgent")||"",lt=ct.process,pt=ct.Deno,ht=lt&&lt.versions||pt&&pt.version,mt=ht&&ht.v8;mt&&(E=(j=mt.split("."))[0]>0&&j[0]<4?1:+(j[0]+j[1])),!E&&ft&&(!(j=ft.match(/Edge\/(\d+)/))||j[1]>=74)&&(j=ft.match(/Chrome\/(\d+)/))&&(E=+j[1]);var dt=E,gt=dt,vt=v,yt=!!Object.getOwnPropertySymbols&&!vt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&gt&&gt<41})),bt=yt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,wt=st,kt=tt,St=ut,Ot=Object,xt=bt?function(t){return"symbol"==typeof t}:function(t){var e=wt("Symbol");return kt(e)&&St(e.prototype,Ot(t))},Mt=String,Pt=function(t){try{return Mt(t)}catch(t){return"Object"}},jt=tt,Et=Pt,Ct=TypeError,_t=function(t){if(jt(t))return t;throw Ct(Et(t)+" is not a function")},Lt=_t,Tt=U,It=S,At=tt,Nt=nt,zt=TypeError,Dt={},Rt={get exports(){return Dt},set exports(t){Dt=t}},Ft=d,Zt=Object.defineProperty,Gt=function(t,e){try{Zt(Ft,t,{value:e,configurable:!0,writable:!0})}catch(r){Ft[t]=e}return e},Vt=Gt,Bt="__core-js_shared__",Ut=d[Bt]||Vt(Bt,{}),Wt=Ut;(Rt.exports=function(t,e){return Wt[t]||(Wt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.27.1",mode:"global",copyright:"© 2014-2022 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.27.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Ht=q,qt=Object,Xt=function(t){return qt(Ht(t))},$t=Xt,Jt=A({}.hasOwnProperty),Kt=Object.hasOwn||function(t,e){return Jt($t(t),e)},Yt=A,Qt=0,te=Math.random(),ee=Yt(1..toString),re=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ee(++Qt+te,36)},ne=d,oe=Kt,ie=re,ae=yt,se=bt,ue=Dt("wks"),ce=ne.Symbol,fe=ce&&ce.for,le=se?ce:ce&&ce.withoutSetter||ie,pe=function(t){if(!oe(ue,t)||!ae&&"string"!=typeof ue[t]){var e="Symbol."+t;ae&&oe(ce,t)?ue[t]=ce[t]:ue[t]=se&&fe?fe(e):le(e)}return ue[t]},he=S,me=nt,de=xt,ge=function(t,e){var r=t[e];return Tt(r)?void 0:Lt(r)},ve=function(t,e){var r,n;if("string"===e&&At(r=t.toString)&&!Nt(n=It(r,t)))return n;if(At(r=t.valueOf)&&!Nt(n=It(r,t)))return n;if("string"!==e&&At(r=t.toString)&&!Nt(n=It(r,t)))return n;throw zt("Can't convert object to primitive value")},ye=TypeError,be=pe("toPrimitive"),we=function(t,e){if(!me(t)||de(t))return t;var r,n=ge(t,be);if(n){if(void 0===e&&(e="default"),r=he(n,t,e),!me(r)||de(r))return r;throw ye("Can't convert object to primitive value")}return void 0===e&&(e="number"),ve(t,e)},ke=we,Se=xt,Oe=function(t){var e=ke(t,"string");return Se(e)?e:e+""},xe=nt,Me=d.document,Pe=xe(Me)&&xe(Me.createElement),je=function(t){return Pe?Me.createElement(t):{}},Ee=je,Ce=!y&&!v((function(){return 7!=Object.defineProperty(Ee("div"),"a",{get:function(){return 7}}).a})),_e=y,Le=S,Te=O,Ie=C,Ae=J,Ne=Oe,ze=Kt,De=Ce,Re=Object.getOwnPropertyDescriptor;g.f=_e?Re:function(t,e){if(t=Ae(t),e=Ne(e),De)try{return Re(t,e)}catch(t){}if(ze(t,e))return Ie(!Le(Te.f,t,e),t[e])};var Fe={},Ze=y&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Ge=nt,Ve=String,Be=TypeError,Ue=function(t){if(Ge(t))return t;throw Be(Ve(t)+" is not an object")},We=y,He=Ce,qe=Ze,Xe=Ue,$e=Oe,Je=TypeError,Ke=Object.defineProperty,Ye=Object.getOwnPropertyDescriptor,Qe="enumerable",tr="configurable",er="writable";Fe.f=We?qe?function(t,e,r){if(Xe(t),e=$e(e),Xe(r),"function"==typeof t&&"prototype"===e&&"value"in r&&er in r&&!r.writable){var n=Ye(t,e);n&&n.writable&&(t[e]=r.value,r={configurable:tr in r?r.configurable:n.configurable,enumerable:Qe in r?r.enumerable:n.enumerable,writable:!1})}return Ke(t,e,r)}:Ke:function(t,e,r){if(Xe(t),e=$e(e),Xe(r),He)try{return Ke(t,e,r)}catch(t){}if("get"in r||"set"in r)throw Je("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var rr=Fe,nr=C,or=y?function(t,e,r){return rr.f(t,e,nr(1,r))}:function(t,e,r){return t[e]=r,t},ir={},ar={get exports(){return ir},set exports(t){ir=t}},sr=y,ur=Kt,cr=Function.prototype,fr=sr&&Object.getOwnPropertyDescriptor,lr=ur(cr,"name"),pr={EXISTS:lr,PROPER:lr&&"something"===function(){}.name,CONFIGURABLE:lr&&(!sr||sr&&fr(cr,"name").configurable)},hr=tt,mr=Ut,dr=A(Function.toString);hr(mr.inspectSource)||(mr.inspectSource=function(t){return dr(t)});var gr,vr,yr,br=mr.inspectSource,wr=tt,kr=d.WeakMap,Sr=wr(kr)&&/native code/.test(String(kr)),Or=re,xr=Dt("keys"),Mr=function(t){return xr[t]||(xr[t]=Or(t))},Pr={},jr=Sr,Er=d,Cr=nt,_r=or,Lr=Kt,Tr=Ut,Ir=Mr,Ar=Pr,Nr="Object already initialized",zr=Er.TypeError,Dr=Er.WeakMap;if(jr||Tr.state){var Rr=Tr.state||(Tr.state=new Dr);Rr.get=Rr.get,Rr.has=Rr.has,Rr.set=Rr.set,gr=function(t,e){if(Rr.has(t))throw zr(Nr);return e.facade=t,Rr.set(t,e),e},vr=function(t){return Rr.get(t)||{}},yr=function(t){return Rr.has(t)}}else{var Fr=Ir("state");Ar[Fr]=!0,gr=function(t,e){if(Lr(t,Fr))throw zr(Nr);return e.facade=t,_r(t,Fr,e),e},vr=function(t){return Lr(t,Fr)?t[Fr]:{}},yr=function(t){return Lr(t,Fr)}}var Zr={set:gr,get:vr,has:yr,enforce:function(t){return yr(t)?vr(t):gr(t,{})},getterFor:function(t){return function(e){var r;if(!Cr(e)||(r=vr(e)).type!==t)throw zr("Incompatible receiver, "+t+" required");return r}}},Gr=v,Vr=tt,Br=Kt,Ur=y,Wr=pr.CONFIGURABLE,Hr=br,qr=Zr.enforce,Xr=Zr.get,$r=Object.defineProperty,Jr=Ur&&!Gr((function(){return 8!==$r((function(){}),"length",{value:8}).length})),Kr=String(String).split("String"),Yr=ar.exports=function(t,e,r){"Symbol("===String(e).slice(0,7)&&(e="["+String(e).replace(/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Br(t,"name")||Wr&&t.name!==e)&&(Ur?$r(t,"name",{value:e,configurable:!0}):t.name=e),Jr&&r&&Br(r,"arity")&&t.length!==r.arity&&$r(t,"length",{value:r.arity});try{r&&Br(r,"constructor")&&r.constructor?Ur&&$r(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=qr(t);return Br(n,"source")||(n.source=Kr.join("string"==typeof e?e:"")),t};Function.prototype.toString=Yr((function(){return Vr(this)&&Xr(this).source||Hr(this)}),"toString");var Qr=tt,tn=Fe,en=ir,rn=Gt,nn=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;if(Qr(r)&&en(r,i,n),n.global)o?t[e]=r:rn(e,r);else{try{n.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=r:tn.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},on={},an=Math.ceil,sn=Math.floor,un=Math.trunc||function(t){var e=+t;return(e>0?sn:an)(e)},cn=function(t){var e=+t;return e!=e||0===e?0:un(e)},fn=cn,ln=Math.max,pn=Math.min,hn=function(t,e){var r=fn(t);return r<0?ln(r+e,0):pn(r,e)},mn=cn,dn=Math.min,gn=function(t){return t>0?dn(mn(t),9007199254740991):0},vn=function(t){return gn(t.length)},yn=J,bn=hn,wn=vn,kn=function(t){return function(e,r,n){var o,i=yn(e),a=wn(i),s=bn(n,a);if(t&&r!=r){for(;a>s;)if((o=i[s++])!=o)return!0}else for(;a>s;s++)if((t||s in i)&&i[s]===r)return t||s||0;return!t&&-1}},Sn={includes:kn(!0),indexOf:kn(!1)},On=Kt,xn=J,Mn=Sn.indexOf,Pn=Pr,jn=A([].push),En=function(t,e){var r,n=xn(t),o=0,i=[];for(r in n)!On(Pn,r)&&On(n,r)&&jn(i,r);for(;e.length>o;)On(n,r=e[o++])&&(~Mn(i,r)||jn(i,r));return i},Cn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],_n=En,Ln=Cn.concat("length","prototype");on.f=Object.getOwnPropertyNames||function(t){return _n(t,Ln)};var Tn={};Tn.f=Object.getOwnPropertySymbols;var In=st,An=on,Nn=Tn,zn=Ue,Dn=A([].concat),Rn=In("Reflect","ownKeys")||function(t){var e=An.f(zn(t)),r=Nn.f;return r?Dn(e,r(t)):e},Fn=Kt,Zn=Rn,Gn=g,Vn=Fe,Bn=v,Un=tt,Wn=/#|\.prototype\./,Hn=function(t,e){var r=Xn[qn(t)];return r==Jn||r!=$n&&(Un(e)?Bn(e):!!e)},qn=Hn.normalize=function(t){return String(t).replace(Wn,".").toLowerCase()},Xn=Hn.data={},$n=Hn.NATIVE="N",Jn=Hn.POLYFILL="P",Kn=Hn,Yn=d,Qn=g.f,to=or,eo=nn,ro=Gt,no=function(t,e,r){for(var n=Zn(e),o=Vn.f,i=Gn.f,a=0;a<n.length;a++){var s=n[a];Fn(t,s)||r&&Fn(r,s)||o(t,s,i(e,s))}},oo=Kn,io=function(t,e){var r,n,o,i,a,s=t.target,u=t.global,c=t.stat;if(r=u?Yn:c?Yn[s]||ro(s,{}):(Yn[s]||{}).prototype)for(n in e){if(i=e[n],o=t.dontCallGetSet?(a=Qn(r,n))&&a.value:r[n],!oo(u?n:s+(c?".":"#")+n,t.forced)&&void 0!==o){if(typeof i==typeof o)continue;no(i,o)}(t.sham||o&&o.sham)&&to(i,"sham",!0),eo(r,n,i,t)}},ao=R,so=A,uo=function(t){if("Function"===ao(t))return so(t)},co=_t,fo=b,lo=uo(uo.bind),po=R,ho=Array.isArray||function(t){return"Array"==po(t)},mo={};mo[pe("toStringTag")]="z";var go="[object z]"===String(mo),vo=go,yo=tt,bo=R,wo=pe("toStringTag"),ko=Object,So="Arguments"==bo(function(){return arguments}()),Oo=vo?bo:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=ko(t),wo))?r:So?bo(e):"Object"==(n=bo(e))&&yo(e.callee)?"Arguments":n},xo=A,Mo=v,Po=tt,jo=Oo,Eo=br,Co=function(){},_o=[],Lo=st("Reflect","construct"),To=/^\s*(?:class|function)\b/,Io=xo(To.exec),Ao=!To.exec(Co),No=function(t){if(!Po(t))return!1;try{return Lo(Co,_o,t),!0}catch(t){return!1}},zo=function(t){if(!Po(t))return!1;switch(jo(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Ao||!!Io(To,Eo(t))}catch(t){return!0}};zo.sham=!0;var Do=!Lo||Mo((function(){var t;return No(No.call)||!No(Object)||!No((function(){t=!0}))||t}))?zo:No,Ro=ho,Fo=Do,Zo=nt,Go=pe("species"),Vo=Array,Bo=function(t){var e;return Ro(t)&&(e=t.constructor,(Fo(e)&&(e===Vo||Ro(e.prototype))||Zo(e)&&null===(e=e[Go]))&&(e=void 0)),void 0===e?Vo:e},Uo=function(t,e){return new(Bo(t))(0===e?0:e)},Wo=function(t,e){return co(t),void 0===e?t:fo?lo(t,e):function(){return t.apply(e,arguments)}},Ho=B,qo=Xt,Xo=vn,$o=Uo,Jo=A([].push),Ko=function(t){var e=1==t,r=2==t,n=3==t,o=4==t,i=6==t,a=7==t,s=5==t||i;return function(u,c,f,l){for(var p,h,m=qo(u),d=Ho(m),g=Wo(c,f),v=Xo(d),y=0,b=l||$o,w=e?b(u,v):r||a?b(u,0):void 0;v>y;y++)if((s||y in d)&&(h=g(p=d[y],y,m),t))if(e)w[y]=h;else if(h)switch(t){case 3:return!0;case 5:return p;case 6:return y;case 2:Jo(w,p)}else switch(t){case 4:return!1;case 7:Jo(w,p)}return i?-1:n||o?o:w}},Yo={forEach:Ko(0),map:Ko(1),filter:Ko(2),some:Ko(3),every:Ko(4),find:Ko(5),findIndex:Ko(6),filterReject:Ko(7)},Qo=v,ti=dt,ei=pe("species"),ri=function(t){return ti>=51||!Qo((function(){var e=[];return(e.constructor={})[ei]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},ni=Yo.map;function oi(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}io({target:"Array",proto:!0,forced:!ri("map")},{map:function(t){return ni(this,t,arguments.length>1?arguments[1]:void 0)}});var ii=_t,ai=Xt,si=B,ui=vn,ci=TypeError,fi=function(t){return function(e,r,n,o){ii(r);var i=ai(e),a=si(i),s=ui(i),u=t?s-1:0,c=t?-1:1;if(n<2)for(;;){if(u in a){o=a[u],u+=c;break}if(u+=c,t?u<0:s<=u)throw ci("Reduce of empty array with no initial value")}for(;t?u>=0:s>u;u+=c)u in a&&(o=r(o,a[u],u,i));return o}},li={left:fi(!1),right:fi(!0)},pi=v,hi=function(t,e){var r=[][t];return!!r&&pi((function(){r.call(null,e||function(){return 1},1)}))},mi="process"==R(d.process),di=li.left,gi=dt,vi=mi;io({target:"Array",proto:!0,forced:!hi("reduce")||!vi&&gi>79&&gi<83},{reduce:function(t){var e=arguments.length;return di(this,t,e,e>1?arguments[1]:void 0)}});var yi=Oo,bi=go?{}.toString:function(){return"[object "+yi(this)+"]"};go||nn(Object.prototype,"toString",bi,{unsafe:!0});var wi=Yo.filter;io({target:"Array",proto:!0,forced:!ri("filter")},{filter:function(t){return wi(this,t,arguments.length>1?arguments[1]:void 0)}});var ki=function(){function t(r){var n=r.markers,o=r.position;e(this,t),this.markers=n,o&&(o instanceof google.maps.LatLng?this._position=o:this._position=new google.maps.LatLng(o))}return n(t,[{key:"bounds",get:function(){if(0!==this.markers.length||this._position)return this.markers.reduce((function(t,e){return t.extend(e.getPosition())}),new google.maps.LatLngBounds(this._position,this._position))}},{key:"position",get:function(){return this._position||this.bounds.getCenter()}},{key:"count",get:function(){return this.markers.filter((function(t){return t.getVisible()})).length}},{key:"push",value:function(t){this.markers.push(t)}},{key:"delete",value:function(){this.marker&&(this.marker.setMap(null),delete this.marker),this.markers.length=0}}]),t}(),Si=function(t,e,r,n){var o=Oi(t.getBounds(),e,n);return r.filter((function(t){return o.contains(t.getPosition())}))},Oi=function(t,e,r){var n=Mi(t,e),o=n.northEast,i=n.southWest,a=Pi({northEast:o,southWest:i},r);return ji(a,e)},xi=function(t,e){var r=(e.lat-t.lat)*Math.PI/180,n=(e.lng-t.lng)*Math.PI/180,o=Math.sin(r/2)*Math.sin(r/2)+Math.cos(t.lat*Math.PI/180)*Math.cos(e.lat*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o)))},Mi=function(t,e){return{northEast:e.fromLatLngToDivPixel(t.getNorthEast()),southWest:e.fromLatLngToDivPixel(t.getSouthWest())}},Pi=function(t,e){var r=t.northEast,n=t.southWest;return r.x+=e,r.y-=e,n.x-=e,n.y+=e,{northEast:r,southWest:n}},ji=function(t,e){var r=t.northEast,n=t.southWest,o=new google.maps.LatLngBounds;return o.extend(e.fromDivPixelToLatLng(r)),o.extend(e.fromDivPixelToLatLng(n)),o},Ei=function(){function t(r){var n=r.maxZoom,o=void 0===n?16:n;e(this,t),this.maxZoom=o}return n(t,[{key:"noop",value:function(t){var e=t.markers;return _i(e)}}]),t}(),Ci=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.viewportPadding,a=void 0===o?60:o,s=oi(t,["viewportPadding"]);return(n=r.call(this,s)).viewportPadding=60,n.viewportPadding=a,n}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection;return r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:!1}:{clusters:this.cluster({markers:Si(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}}]),i}(Ei),_i=function(t){return t.map((function(t){return new ki({position:t.getPosition(),markers:[t]})}))},Li=je("span").classList,Ti=Li&&Li.constructor&&Li.constructor.prototype,Ii=Ti===Object.prototype?void 0:Ti,Ai=Yo.forEach,Ni=hi("forEach")?[].forEach:function(t){return Ai(this,t,arguments.length>1?arguments[1]:void 0)},zi=d,Di={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Ri=Ii,Fi=Ni,Zi=or,Gi=function(t){if(t&&t.forEach!==Fi)try{Zi(t,"forEach",Fi)}catch(e){t.forEach=Fi}};for(var Vi in Di)Di[Vi]&&Gi(zi[Vi]&&zi[Vi].prototype);Gi(Ri);var Bi=S;io({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Bi(URL.prototype.toString,this)}});var Ui=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(e)){if((n=e.length)!=r.length)return!1;for(o=n;0!=o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((n=(i=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var a=i[o];if(!t(e[a],r[a]))return!1}return!0}return e!=e&&r!=r},Wi=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.maxDistance,a=void 0===o?4e4:o,s=t.gridSize,u=void 0===s?40:s,c=oi(t,["maxDistance","gridSize"]);return(n=r.call(this,c)).clusters=[],n.maxDistance=a,n.gridSize=u,n.state={zoom:null},n}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection,o={zoom:r.getZoom()},i=!1;return this.state.zoom>this.maxZoom&&o.zoom>this.maxZoom||(i=!Ui(this.state,o)),this.state=o,r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:i}:{clusters:this.cluster({markers:Si(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}},{key:"cluster",value:function(t){var e=this,r=t.markers,n=t.map,o=t.mapCanvasProjection;return this.clusters=[],r.forEach((function(t){e.addToClosestCluster(t,n,o)})),this.clusters}},{key:"addToClosestCluster",value:function(t,e,r){for(var n=this.maxDistance,o=null,i=0;i<this.clusters.length;i++){var a=this.clusters[i],s=xi(a.bounds.getCenter().toJSON(),t.getPosition().toJSON());s<n&&(n=s,o=a)}if(o&&Oi(o.bounds,r,this.gridSize).contains(t.getPosition()))o.push(t);else{var u=new ki({markers:[t]});this.clusters.push(u)}}}]),i}(Ci),Hi=function(t){o(i,t);var r=u(i);function i(t){e(this,i);var n=oi(t,[]);return r.call(this,n)}return n(i,[{key:"calculate",value:function(t){var e=t.markers,r=t.map,n=t.mapCanvasProjection;return{clusters:this.cluster({markers:e,map:r,mapCanvasProjection:n}),changed:!1}}},{key:"cluster",value:function(t){return this.noop(t)}}]),i}(Ei),qi=En,Xi=Cn,$i=Object.keys||function(t){return qi(t,Xi)},Ji=y,Ki=A,Yi=S,Qi=v,ta=$i,ea=Tn,ra=O,na=Xt,oa=B,ia=Object.assign,aa=Object.defineProperty,sa=Ki([].concat),ua=!ia||Qi((function(){if(Ji&&1!==ia({b:1},ia(aa({},"a",{enumerable:!0,get:function(){aa(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol(),n="abcdefghijklmnopqrst";return t[r]=7,n.split("").forEach((function(t){e[t]=t})),7!=ia({},t)[r]||ta(ia({},e)).join("")!=n}))?function(t,e){for(var r=na(t),n=arguments.length,o=1,i=ea.f,a=ra.f;n>o;)for(var s,u=oa(arguments[o++]),c=i?sa(ta(u),i(u)):ta(u),f=c.length,l=0;f>l;)s=c[l++],Ji&&!Yi(a,u,s)||(r[s]=u[s]);return r}:ia,ca=ua;io({target:"Object",stat:!0,arity:2,forced:Object.assign!==ca},{assign:ca});var fa={};!function(t,e){t.exports=function(){function t(r,n,o,i,a,s){if(!(a-i<=o)){var u=i+a>>1;e(r,n,u,i,a,s%2),t(r,n,o,i,u-1,s+1),t(r,n,o,u+1,a,s+1)}}function e(t,n,o,i,a,s){for(;a>i;){if(a-i>600){var u=a-i+1,c=o-i+1,f=Math.log(u),l=.5*Math.exp(2*f/3),p=.5*Math.sqrt(f*l*(u-l)/u)*(c-u/2<0?-1:1);e(t,n,o,Math.max(i,Math.floor(o-c*l/u+p)),Math.min(a,Math.floor(o+(u-c)*l/u+p)),s)}var h=n[2*o+s],m=i,d=a;for(r(t,n,i,o),n[2*a+s]>h&&r(t,n,i,a);m<d;){for(r(t,n,m,d),m++,d--;n[2*m+s]<h;)m++;for(;n[2*d+s]>h;)d--}n[2*i+s]===h?r(t,n,i,d):r(t,n,++d,a),d<=o&&(i=d+1),o<=d&&(a=d-1)}}function r(t,e,r,o){n(t,r,o),n(e,2*r,2*o),n(e,2*r+1,2*o+1)}function n(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function o(t,e,r,n,o,i,a){for(var s,u,c=[0,t.length-1,0],f=[];c.length;){var l=c.pop(),p=c.pop(),h=c.pop();if(p-h<=a)for(var m=h;m<=p;m++)s=e[2*m],u=e[2*m+1],s>=r&&s<=o&&u>=n&&u<=i&&f.push(t[m]);else{var d=Math.floor((h+p)/2);s=e[2*d],u=e[2*d+1],s>=r&&s<=o&&u>=n&&u<=i&&f.push(t[d]);var g=(l+1)%2;(0===l?r<=s:n<=u)&&(c.push(h),c.push(d-1),c.push(g)),(0===l?o>=s:i>=u)&&(c.push(d+1),c.push(p),c.push(g))}}return f}function i(t,e,r,n,o,i){for(var s=[0,t.length-1,0],u=[],c=o*o;s.length;){var f=s.pop(),l=s.pop(),p=s.pop();if(l-p<=i)for(var h=p;h<=l;h++)a(e[2*h],e[2*h+1],r,n)<=c&&u.push(t[h]);else{var m=Math.floor((p+l)/2),d=e[2*m],g=e[2*m+1];a(d,g,r,n)<=c&&u.push(t[m]);var v=(f+1)%2;(0===f?r-o<=d:n-o<=g)&&(s.push(p),s.push(m-1),s.push(v)),(0===f?r+o>=d:n+o>=g)&&(s.push(m+1),s.push(l),s.push(v))}}return u}function a(t,e,r,n){var o=t-r,i=e-n;return o*o+i*i}var s=function(t){return t[0]},u=function(t){return t[1]},c=function(e,r,n,o,i){void 0===r&&(r=s),void 0===n&&(n=u),void 0===o&&(o=64),void 0===i&&(i=Float64Array),this.nodeSize=o,this.points=e;for(var a=e.length<65536?Uint16Array:Uint32Array,c=this.ids=new a(e.length),f=this.coords=new i(2*e.length),l=0;l<e.length;l++)c[l]=l,f[2*l]=r(e[l]),f[2*l+1]=n(e[l]);t(c,f,o,0,c.length-1,0)};return c.prototype.range=function(t,e,r,n){return o(this.ids,this.coords,t,e,r,n,this.nodeSize)},c.prototype.within=function(t,e,r){return i(this.ids,this.coords,t,e,r,this.nodeSize)},c}()}({get exports(){return fa},set exports(t){fa=t}});var la=fa;const pa={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},ha=Math.fround||(ma=new Float32Array(1),t=>(ma[0]=+t,ma[0]));var ma;class da{constructor(t){this.options=Oa(Object.create(pa),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:r,maxZoom:n,nodeSize:o}=this.options;e&&console.time("total time");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;let a=[];for(let e=0;e<t.length;e++)t[e].geometry&&a.push(va(t[e],e));this.trees[n+1]=new la(a,xa,Ma,o,Float32Array),e&&console.timeEnd(i);for(let t=n;t>=r;t--){const r=+Date.now();a=this._cluster(a,t),this.trees[t]=new la(a,xa,Ma,o,Float32Array),e&&console.log("z%d: %d clusters in %dms",t,a.length,+Date.now()-r)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let o=180===t[2]?180:((t[2]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,o=180;else if(r>o){const t=this.getClusters([r,n,180,i],e),a=this.getClusters([-180,n,o,i],e);return t.concat(a)}const a=this.trees[this._limitZoom(e)],s=a.range(wa(r),ka(i),wa(o),ka(n)),u=[];for(const t of s){const e=a.points[t];u.push(e.numPoints?ya(e):this.points[e.index])}return u}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",o=this.trees[r];if(!o)throw new Error(n);const i=o.points[e];if(!i)throw new Error(n);const a=this.options.radius/(this.options.extent*Math.pow(2,r-1)),s=o.within(i.x,i.y,a),u=[];for(const e of s){const r=o.points[e];r.parentId===t&&u.push(r.numPoints?ya(r):this.points[r.index])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],o=Math.pow(2,t),{extent:i,radius:a}=this.options,s=a/i,u=(r-s)/o,c=(r+1+s)/o,f={features:[]};return this._addTileFeatures(n.range((e-s)/o,u,(e+1+s)/o,c),n.points,e,r,o,f),0===e&&this._addTileFeatures(n.range(1-s/o,u,1,c),n.points,o,r,o,f),e===o-1&&this._addTileFeatures(n.range(0,u,s/o,c),n.points,-1,r,o,f),f.features.length?f:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,o){const i=this.getChildren(e);for(const e of i){const i=e.properties;if(i&&i.cluster?o+i.point_count<=n?o+=i.point_count:o=this._appendLeaves(t,i.cluster_id,r,n,o):o<n?o++:t.push(e),t.length===r)break}return o}_addTileFeatures(t,e,r,n,o,i){for(const a of t){const t=e[a],s=t.numPoints;let u,c,f;if(s)u=ba(t),c=t.x,f=t.y;else{const e=this.points[t.index];u=e.properties,c=wa(e.geometry.coordinates[0]),f=ka(e.geometry.coordinates[1])}const l={type:1,geometry:[[Math.round(this.options.extent*(c*o-r)),Math.round(this.options.extent*(f*o-n))]],tags:u};let p;s?p=t.id:this.options.generateId?p=t.index:this.points[t.index].id&&(p=this.points[t.index].id),void 0!==p&&(l.id=p),i.features.push(l)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const r=[],{radius:n,extent:o,reduce:i,minPoints:a}=this.options,s=n/(o*Math.pow(2,e));for(let n=0;n<t.length;n++){const o=t[n];if(o.zoom<=e)continue;o.zoom=e;const u=this.trees[e+1],c=u.within(o.x,o.y,s),f=o.numPoints||1;let l=f;for(const t of c){const r=u.points[t];r.zoom>e&&(l+=r.numPoints||1)}if(l>f&&l>=a){let t=o.x*f,a=o.y*f,s=i&&f>1?this._map(o,!0):null;const p=(n<<5)+(e+1)+this.points.length;for(const r of c){const n=u.points[r];if(n.zoom<=e)continue;n.zoom=e;const c=n.numPoints||1;t+=n.x*c,a+=n.y*c,n.parentId=p,i&&(s||(s=this._map(o,!0)),i(s,this._map(n)))}o.parentId=p,r.push(ga(t/l,a/l,p,l,s))}else if(r.push(o),l>1)for(const t of c){const n=u.points[t];n.zoom<=e||(n.zoom=e,r.push(n))}}return r}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?Oa({},t.properties):t.properties;const r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Oa({},n):n}}function ga(t,e,r,n,o){return{x:ha(t),y:ha(e),zoom:1/0,id:r,parentId:-1,numPoints:n,properties:o}}function va(t,e){const[r,n]=t.geometry.coordinates;return{x:ha(wa(r)),y:ha(ka(n)),zoom:1/0,index:e,parentId:-1}}function ya(t){return{type:"Feature",id:t.id,properties:ba(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),Sa(t.y)]}};var e}function ba(t){const e=t.numPoints,r=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return Oa(Oa({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function wa(t){return t/360+.5}function ka(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Sa(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function Oa(t,e){for(const r in e)t[r]=e[r];return t}function xa(t){return t.x}function Ma(t){return t.y}var Pa=function(t){o(i,t);var r=u(i);function i(t){var n;e(this,i);var o=t.maxZoom,a=t.radius,s=void 0===a?60:a,u=oi(t,["maxZoom","radius"]);return(n=r.call(this,{maxZoom:o})).superCluster=new da(Object.assign({maxZoom:n.maxZoom,radius:s},u)),n.state={zoom:null},n}return n(i,[{key:"calculate",value:function(t){var e=!1;if(!Ui(t.markers,this.markers)){e=!0,this.markers=f(t.markers);var r=this.markers.map((function(t){return{type:"Feature",geometry:{type:"Point",coordinates:[t.getPosition().lng(),t.getPosition().lat()]},properties:{marker:t}}}));this.superCluster.load(r)}var n={zoom:t.map.getZoom()};return e||this.state.zoom>this.maxZoom&&n.zoom>this.maxZoom||(e=e||!Ui(this.state,n)),this.state=n,e&&(this.clusters=this.cluster(t)),{clusters:this.clusters,changed:e}}},{key:"cluster",value:function(t){var e=t.map;return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(this.transformCluster.bind(this))}},{key:"transformCluster",value:function(t){var e=c(t.geometry.coordinates,2),r=e[0],n=e[1],o=t.properties;if(o.cluster)return new ki({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map((function(t){return t.properties.marker})),position:new google.maps.LatLng({lat:n,lng:r})});var i=o.marker;return new ki({markers:[i],position:i.getPosition()})}}]),i}(Ei),ja={},Ea=y,Ca=Ze,_a=Fe,La=Ue,Ta=J,Ia=$i;ja.f=Ea&&!Ca?Object.defineProperties:function(t,e){La(t);for(var r,n=Ta(e),o=Ia(e),i=o.length,a=0;i>a;)_a.f(t,r=o[a++],n[r]);return t};var Aa,Na=st("document","documentElement"),za=Ue,Da=ja,Ra=Cn,Fa=Pr,Za=Na,Ga=je,Va=Mr("IE_PROTO"),Ba=function(){},Ua=function(t){return"<script>"+t+"</"+"script>"},Wa=function(t){t.write(Ua("")),t.close();var e=t.parentWindow.Object;return t=null,e},Ha=function(){try{Aa=new ActiveXObject("htmlfile")}catch(t){}var t,e;Ha="undefined"!=typeof document?document.domain&&Aa?Wa(Aa):((e=Ga("iframe")).style.display="none",Za.appendChild(e),e.src=String("javascript:"),(t=e.contentWindow.document).open(),t.write(Ua("document.F=Object")),t.close(),t.F):Wa(Aa);for(var r=Ra.length;r--;)delete Ha.prototype[Ra[r]];return Ha()};Fa[Va]=!0;var qa=pe,Xa=Object.create||function(t,e){var r;return null!==t?(Ba.prototype=za(t),r=new Ba,Ba.prototype=null,r[Va]=t):r=Ha(),void 0===e?r:Da.f(r,e)},$a=Fe.f,Ja=qa("unscopables"),Ka=Array.prototype;null==Ka[Ja]&&$a(Ka,Ja,{configurable:!0,value:Xa(null)});var Ya=Sn.includes,Qa=function(t){Ka[Ja][t]=!0};io({target:"Array",proto:!0,forced:v((function(){return!Array(1).includes()}))},{includes:function(t){return Ya(this,t,arguments.length>1?arguments[1]:void 0)}}),Qa("includes");var ts=nt,es=R,rs=pe("match"),ns=function(t){var e;return ts(t)&&(void 0!==(e=t[rs])?!!e:"RegExp"==es(t))},os=TypeError,is=Oo,as=String,ss=function(t){if("Symbol"===is(t))throw TypeError("Cannot convert a Symbol value to a string");return as(t)},us=pe("match"),cs=io,fs=function(t){if(ns(t))throw os("The method doesn't accept regular expressions");return t},ls=q,ps=ss,hs=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[us]=!1,"/./"[t](e)}catch(t){}}return!1},ms=A("".indexOf);cs({target:"String",proto:!0,forced:!hs("includes")},{includes:function(t){return!!~ms(ps(ls(this)),ps(fs(t)),arguments.length>1?arguments[1]:void 0)}});var ds=io,gs=Sn.indexOf,vs=hi,ys=uo([].indexOf),bs=!!ys&&1/ys([1],1,-0)<0,ws=vs("indexOf");ds({target:"Array",proto:!0,forced:bs||!ws},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return bs?ys(this,t,e)||0:gs(this,t,e)}});var ks=y,Ss=ho,Os=TypeError,xs=Object.getOwnPropertyDescriptor,Ms=ks&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(t){return t instanceof TypeError}}(),Ps=TypeError,js=Oe,Es=Fe,Cs=C,_s=Pt,Ls=TypeError,Ts=io,Is=Xt,As=hn,Ns=cn,zs=vn,Ds=Ms?function(t,e){if(Ss(t)&&!xs(t,"length").writable)throw Os("Cannot set read only .length");return t.length=e}:function(t,e){return t.length=e},Rs=function(t){if(t>9007199254740991)throw Ps("Maximum allowed index exceeded");return t},Fs=Uo,Zs=function(t,e,r){var n=js(e);n in t?Es.f(t,n,Cs(0,r)):t[n]=r},Gs=function(t,e){if(!delete t[e])throw Ls("Cannot delete property "+_s(e)+" of "+_s(t))},Vs=ri("splice"),Bs=Math.max,Us=Math.min;Ts({target:"Array",proto:!0,forced:!Vs},{splice:function(t,e){var r,n,o,i,a,s,u=Is(this),c=zs(u),f=As(t,c),l=arguments.length;for(0===l?r=n=0:1===l?(r=0,n=c-f):(r=l-2,n=Us(Bs(Ns(e),0),c-f)),Rs(c+r-n),o=Fs(u,n),i=0;i<n;i++)(a=f+i)in u&&Zs(o,i,u[a]);if(o.length=n,r<n){for(i=f;i<c-n;i++)s=i+r,(a=i+n)in u?u[s]=u[a]:Gs(u,s);for(i=c;i>c-n+r;i--)Gs(u,i-1)}else if(r>n)for(i=c-n;i>f;i--)s=i+r-1,(a=i+n-1)in u?u[s]=u[a]:Gs(u,s);for(i=0;i<r;i++)u[i+f]=arguments[i+2];return Ds(u,c-n+r),o}});var Ws=d,Hs=tt,qs=String,Xs=TypeError,$s=A,Js=Ue,Ks=function(t){if("object"==typeof t||Hs(t))return t;throw Xs("Can't set "+qs(t)+" as a prototype")},Ys=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=$s(Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return Js(r),Ks(n),e?t(r,n):r.__proto__=n,r}}():void 0),Qs=tt,tu=nt,eu=Ys,ru=A(1..valueOf),nu=q,ou=ss,iu=A("".replace),au="[\t\n\v\f\r                 \u2028\u2029\ufeff]",su=RegExp("^"+au+au+"*"),uu=RegExp(au+au+"*$"),cu=function(t){return function(e){var r=ou(nu(e));return 1&t&&(r=iu(r,su,"")),2&t&&(r=iu(r,uu,"")),r}},fu={start:cu(1),end:cu(2),trim:cu(3)},lu=io,pu=y,hu=d,mu=Ws,du=A,gu=Kn,vu=Kt,yu=function(t,e,r){var n,o;return eu&&Qs(n=e.constructor)&&n!==r&&tu(o=n.prototype)&&o!==r.prototype&&eu(t,o),t},bu=ut,wu=xt,ku=we,Su=v,Ou=on.f,xu=g.f,Mu=Fe.f,Pu=ru,ju=fu.trim,Eu="Number",Cu=hu.Number;mu.Number;var _u=Cu.prototype,Lu=hu.TypeError,Tu=du("".slice),Iu=du("".charCodeAt),Au=function(t){var e=ku(t,"number");return"bigint"==typeof e?e:Nu(e)},Nu=function(t){var e,r,n,o,i,a,s,u,c=ku(t,"number");if(wu(c))throw Lu("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=ju(c),43===(e=Iu(c,0))||45===e){if(88===(r=Iu(c,2))||120===r)return NaN}else if(48===e){switch(Iu(c,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=Tu(c,2)).length,s=0;s<a;s++)if((u=Iu(i,s))<48||u>o)return NaN;return parseInt(i,n)}return+c},zu=gu(Eu,!Cu(" 0o1")||!Cu("0b1")||Cu("+0x1")),Du=function(t){return bu(_u,t)&&Su((function(){Pu(t)}))},Ru=function(t){var e=arguments.length<1?0:Cu(Au(t));return Du(this)?yu(Object(e),this,Ru):e};Ru.prototype=_u,zu&&(_u.constructor=Ru),lu({global:!0,constructor:!0,wrap:!0,forced:zu},{Number:Ru});zu&&function(t,e){for(var r,n=pu?Ou(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),o=0;n.length>o;o++)vu(e,r=n[o])&&!vu(t,r)&&Mu(t,r,xu(e,r))}(mu.Number,Cu);var Fu=n((function t(r,n){e(this,t),this.markers={sum:r.length};var o=n.map((function(t){return t.count})),i=o.reduce((function(t,e){return t+e}),0);this.clusters={count:n.length,markers:{mean:i/n.length,sum:i,min:Math.min.apply(Math,f(o)),max:Math.max.apply(Math,f(o))}}})),Zu=function(){function t(){e(this,t)}return n(t,[{key:"render",value:function(t,e){var r=t.count,n=t.position,o=r>Math.max(10,e.clusters.markers.mean)?"#ff0000":"#0000ff",i=window.btoa('\n <svg fill="'.concat(o,'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">\n <circle cx="120" cy="120" opacity=".6" r="70" />\n <circle cx="120" cy="120" opacity=".3" r="90" />\n <circle cx="120" cy="120" opacity=".2" r="110" />\n </svg>'));return new google.maps.Marker({position:n,icon:{url:"data:image/svg+xml;base64,".concat(i),scaledSize:new google.maps.Size(45,45)},label:{text:String(r),color:"rgba(255,255,255,0.9)",fontSize:"12px"},title:"Cluster of ".concat(r," markers"),zIndex:Number(google.maps.Marker.MAX_ZINDEX)+r})}}]),t}();var Gu,Vu=n((function t(){e(this,t),function(t,e){for(var r in e.prototype)t.prototype[r]=e.prototype[r]}(t,google.maps.OverlayView)}));t.MarkerClustererEvents=void 0,(Gu=t.MarkerClustererEvents||(t.MarkerClustererEvents={})).CLUSTERING_BEGIN="clusteringbegin",Gu.CLUSTERING_END="clusteringend",Gu.CLUSTER_CLICK="click";var Bu=function(t,e,r){r.fitBounds(e.bounds)},Uu=function(r){o(a,r);var i=u(a);function a(t){var r,n=t.map,o=t.markers,s=void 0===o?[]:o,u=t.algorithm,c=void 0===u?new Pa({}):u,l=t.renderer,p=void 0===l?new Zu:l,h=t.onClusterClick,m=void 0===h?Bu:h;return e(this,a),(r=i.call(this)).markers=f(s),r.clusters=[],r.algorithm=c,r.renderer=p,r.onClusterClick=m,n&&r.setMap(n),r}return n(a,[{key:"addMarker",value:function(t,e){this.markers.includes(t)||(this.markers.push(t),e||this.render())}},{key:"addMarkers",value:function(t,e){var r=this;t.forEach((function(t){r.addMarker(t,!0)})),e||this.render()}},{key:"removeMarker",value:function(t,e){var r=this.markers.indexOf(t);return-1!==r&&(t.setMap(null),this.markers.splice(r,1),e||this.render(),!0)}},{key:"removeMarkers",value:function(t,e){var r=this,n=!1;return t.forEach((function(t){n=r.removeMarker(t,!0)||n})),n&&!e&&this.render(),n}},{key:"clearMarkers",value:function(t){this.markers.length=0,t||this.render()}},{key:"render",value:function(){var e=this.getMap();if(e instanceof google.maps.Map&&this.getProjection()){google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTERING_BEGIN,this);var r=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()}),n=r.clusters,o=r.changed;(o||null==o)&&(this.reset(),this.clusters=n,this.renderClusters()),google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTERING_END,this)}}},{key:"onAdd",value:function(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}},{key:"onRemove",value:function(){google.maps.event.removeListener(this.idleListener),this.reset()}},{key:"reset",value:function(){this.markers.forEach((function(t){return t.setMap(null)})),this.clusters.forEach((function(t){return t.delete()})),this.clusters=[]}},{key:"renderClusters",value:function(){var e=this,r=new Fu(this.markers,this.clusters),n=this.getMap();this.clusters.forEach((function(o){1===o.markers.length?o.marker=o.markers[0]:(o.marker=e.renderer.render(o,r),e.onClusterClick&&o.marker.addListener("click",(function(r){google.maps.event.trigger(e,t.MarkerClustererEvents.CLUSTER_CLICK,o),e.onClusterClick(r,o,n)}))),o.marker.setMap(n)}))}}]),a}(Vu);t.AbstractAlgorithm=Ei,t.AbstractViewportAlgorithm=Ci,t.Cluster=ki,t.ClusterStats=Fu,t.DefaultRenderer=Zu,t.GridAlgorithm=Wi,t.MarkerClusterer=Uu,t.NoopAlgorithm=Hi,t.SuperClusterAlgorithm=Pa,t.defaultOnClusterClickHandler=Bu,t.distanceBetweenPoints=xi,t.extendBoundsToPaddedViewport=Oi,t.extendPixelBounds=Pi,t.filterMarkersToPaddedViewport=Si,t.noop=_i,t.pixelBoundsToLatLngBounds=ji,Object.defineProperty(t,"__esModule",{value:!0})}));
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).markerClusterer={})}(this,(function(t){"use strict";function e(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(n=Object.getOwnPropertySymbols(t);o<n.length;o++)e.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(t,n[o])&&(r[n[o]]=t[n[o]])}return r}class r{static isAdvancedMarker(t){return t instanceof google.maps.marker.AdvancedMarkerView}static setMap(t,e){this.isAdvancedMarker(t)?t.map=e:t.setMap(e)}static getPosition(t){if(this.isAdvancedMarker(t)){if(t.position){if(t.position instanceof google.maps.LatLng)return t.position;if(t.position.lat&&t.position.lng)return new google.maps.LatLng(t.position.lat,t.position.lng)}return new google.maps.LatLng(null)}return t.getPosition()}static getVisible(t){return!!this.isAdvancedMarker(t)||t.getVisible()}}class n{constructor(t){let{markers:e,position:r}=t;this.markers=e,r&&(r instanceof google.maps.LatLng?this._position=r:this._position=new google.maps.LatLng(r))}get bounds(){if(0!==this.markers.length||this._position)return this.markers.reduce(((t,e)=>t.extend(r.getPosition(e))),new google.maps.LatLngBounds(this._position,this._position))}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter((t=>r.getVisible(t))).length}push(t){this.markers.push(t)}delete(){this.marker&&(r.setMap(this.marker,null),delete this.marker),this.markers.length=0}}const o=(t,e,n,o)=>{const s=i(t.getBounds(),e,o);return n.filter((t=>s.contains(r.getPosition(t))))},i=(t,e,r)=>{const{northEast:n,southWest:o}=a(t,e),i=u({northEast:n,southWest:o},r);return c(i,e)},s=(t,e)=>{const r=(e.lat-t.lat)*Math.PI/180,n=(e.lng-t.lng)*Math.PI/180,o=Math.sin(r/2)*Math.sin(r/2)+Math.cos(t.lat*Math.PI/180)*Math.cos(e.lat*Math.PI/180)*Math.sin(n/2)*Math.sin(n/2);return 6371*(2*Math.atan2(Math.sqrt(o),Math.sqrt(1-o)))},a=(t,e)=>({northEast:e.fromLatLngToDivPixel(t.getNorthEast()),southWest:e.fromLatLngToDivPixel(t.getSouthWest())}),u=(t,e)=>{let{northEast:r,southWest:n}=t;return r.x+=e,r.y-=e,n.x-=e,n.y+=e,{northEast:r,southWest:n}},c=(t,e)=>{let{northEast:r,southWest:n}=t;const o=new google.maps.LatLngBounds;return o.extend(e.fromDivPixelToLatLng(r)),o.extend(e.fromDivPixelToLatLng(n)),o};class l{constructor(t){let{maxZoom:e=16}=t;this.maxZoom=e}noop(t){let{markers:e}=t;return h(e)}}class p extends l{constructor(t){var{viewportPadding:r=60}=t;super(e(t,["viewportPadding"])),this.viewportPadding=60,this.viewportPadding=r}calculate(t){let{markers:e,map:r,mapCanvasProjection:n}=t;return r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:!1}:{clusters:this.cluster({markers:o(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}}const h=t=>t.map((t=>new n({position:r.getPosition(t),markers:[t]})));var f="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function m(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var d=function(t){return t&&t.Math==Math&&t},g=d("object"==typeof globalThis&&globalThis)||d("object"==typeof window&&window)||d("object"==typeof self&&self)||d("object"==typeof f&&f)||function(){return this}()||Function("return this")(),y={},v=function(t){try{return!!t()}catch(t){return!0}},b=!v((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),w=!v((function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")})),k=w,M=Function.prototype.call,x=k?M.bind(M):function(){return M.apply(M,arguments)},O={},S={}.propertyIsEnumerable,P=Object.getOwnPropertyDescriptor,C=P&&!S.call({1:2},1);O.f=C?function(t){var e=P(this,t);return!!e&&e.enumerable}:S;var L,j,_=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},E=w,T=Function.prototype,A=T.call,I=E&&T.bind.bind(A,A),z=E?I:function(t){return function(){return A.apply(t,arguments)}},Z=z,D=Z({}.toString),F=Z("".slice),R=v,N=function(t){return F(D(t),8,-1)},G=Object,B=z("".split),V=R((function(){return!G("z").propertyIsEnumerable(0)}))?function(t){return"String"==N(t)?B(t,""):G(t)}:G,U=function(t){return null==t},W=U,H=TypeError,q=function(t){if(W(t))throw H("Can't call method on "+t);return t},X=V,J=q,K=function(t){return X(J(t))},Y="object"==typeof document&&document.all,$={all:Y,IS_HTMLDDA:void 0===Y&&void 0!==Y},Q=$.all,tt=$.IS_HTMLDDA?function(t){return"function"==typeof t||t===Q}:function(t){return"function"==typeof t},et=tt,rt=$.all,nt=$.IS_HTMLDDA?function(t){return"object"==typeof t?null!==t:et(t)||t===rt}:function(t){return"object"==typeof t?null!==t:et(t)},ot=g,it=tt,st=function(t,e){return arguments.length<2?(r=ot[t],it(r)?r:void 0):ot[t]&&ot[t][e];var r},at=z({}.isPrototypeOf),ut=g,ct="undefined"!=typeof navigator&&String(navigator.userAgent)||"",lt=ut.process,pt=ut.Deno,ht=lt&&lt.versions||pt&&pt.version,ft=ht&&ht.v8;ft&&(j=(L=ft.split("."))[0]>0&&L[0]<4?1:+(L[0]+L[1])),!j&&ct&&(!(L=ct.match(/Edge\/(\d+)/))||L[1]>=74)&&(L=ct.match(/Chrome\/(\d+)/))&&(j=+L[1]);var mt=j,dt=v,gt=!!Object.getOwnPropertySymbols&&!dt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&mt&&mt<41})),yt=gt&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,vt=st,bt=tt,wt=at,kt=Object,Mt=yt?function(t){return"symbol"==typeof t}:function(t){var e=vt("Symbol");return bt(e)&&wt(e.prototype,kt(t))},xt=String,Ot=tt,St=function(t){try{return xt(t)}catch(t){return"Object"}},Pt=TypeError,Ct=function(t){if(Ot(t))return t;throw Pt(St(t)+" is not a function")},Lt=Ct,jt=U,_t=x,Et=tt,Tt=nt,At=TypeError,It={exports:{}},zt=g,Zt=Object.defineProperty,Dt=function(t,e){try{Zt(zt,t,{value:e,configurable:!0,writable:!0})}catch(r){zt[t]=e}return e},Ft=Dt,Rt="__core-js_shared__",Nt=g[Rt]||Ft(Rt,{}),Gt=Nt;(It.exports=function(t,e){return Gt[t]||(Gt[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.30.1",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.1/LICENSE",source:"https://github.com/zloirock/core-js"});var Bt=It.exports,Vt=q,Ut=Object,Wt=function(t){return Ut(Vt(t))},Ht=Wt,qt=z({}.hasOwnProperty),Xt=Object.hasOwn||function(t,e){return qt(Ht(t),e)},Jt=z,Kt=0,Yt=Math.random(),$t=Jt(1..toString),Qt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+$t(++Kt+Yt,36)},te=Bt,ee=Xt,re=Qt,ne=gt,oe=yt,ie=g.Symbol,se=te("wks"),ae=oe?ie.for||ie:ie&&ie.withoutSetter||re,ue=function(t){return ee(se,t)||(se[t]=ne&&ee(ie,t)?ie[t]:ae("Symbol."+t)),se[t]},ce=x,le=nt,pe=Mt,he=function(t,e){var r=t[e];return jt(r)?void 0:Lt(r)},fe=function(t,e){var r,n;if("string"===e&&Et(r=t.toString)&&!Tt(n=_t(r,t)))return n;if(Et(r=t.valueOf)&&!Tt(n=_t(r,t)))return n;if("string"!==e&&Et(r=t.toString)&&!Tt(n=_t(r,t)))return n;throw At("Can't convert object to primitive value")},me=TypeError,de=ue("toPrimitive"),ge=function(t,e){if(!le(t)||pe(t))return t;var r,n=he(t,de);if(n){if(void 0===e&&(e="default"),r=ce(n,t,e),!le(r)||pe(r))return r;throw me("Can't convert object to primitive value")}return void 0===e&&(e="number"),fe(t,e)},ye=Mt,ve=function(t){var e=ge(t,"string");return ye(e)?e:e+""},be=nt,we=g.document,ke=be(we)&&be(we.createElement),Me=function(t){return ke?we.createElement(t):{}},xe=Me,Oe=!b&&!v((function(){return 7!=Object.defineProperty(xe("div"),"a",{get:function(){return 7}}).a})),Se=b,Pe=x,Ce=O,Le=_,je=K,_e=ve,Ee=Xt,Te=Oe,Ae=Object.getOwnPropertyDescriptor;y.f=Se?Ae:function(t,e){if(t=je(t),e=_e(e),Te)try{return Ae(t,e)}catch(t){}if(Ee(t,e))return Le(!Pe(Ce.f,t,e),t[e])};var Ie={},ze=b&&v((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Ze=nt,De=String,Fe=TypeError,Re=function(t){if(Ze(t))return t;throw Fe(De(t)+" is not an object")},Ne=b,Ge=Oe,Be=ze,Ve=Re,Ue=ve,We=TypeError,He=Object.defineProperty,qe=Object.getOwnPropertyDescriptor,Xe="enumerable",Je="configurable",Ke="writable";Ie.f=Ne?Be?function(t,e,r){if(Ve(t),e=Ue(e),Ve(r),"function"==typeof t&&"prototype"===e&&"value"in r&&Ke in r&&!r[Ke]){var n=qe(t,e);n&&n[Ke]&&(t[e]=r.value,r={configurable:Je in r?r[Je]:n[Je],enumerable:Xe in r?r[Xe]:n[Xe],writable:!1})}return He(t,e,r)}:He:function(t,e,r){if(Ve(t),e=Ue(e),Ve(r),Ge)try{return He(t,e,r)}catch(t){}if("get"in r||"set"in r)throw We("Accessors not supported");return"value"in r&&(t[e]=r.value),t};var Ye=Ie,$e=_,Qe=b?function(t,e,r){return Ye.f(t,e,$e(1,r))}:function(t,e,r){return t[e]=r,t},tr={exports:{}},er=b,rr=Xt,nr=Function.prototype,or=er&&Object.getOwnPropertyDescriptor,ir=rr(nr,"name"),sr={EXISTS:ir,PROPER:ir&&"something"===function(){}.name,CONFIGURABLE:ir&&(!er||er&&or(nr,"name").configurable)},ar=tt,ur=Nt,cr=z(Function.toString);ar(ur.inspectSource)||(ur.inspectSource=function(t){return cr(t)});var lr,pr,hr,fr=ur.inspectSource,mr=tt,dr=g.WeakMap,gr=mr(dr)&&/native code/.test(String(dr)),yr=Qt,vr=Bt("keys"),br=function(t){return vr[t]||(vr[t]=yr(t))},wr={},kr=gr,Mr=g,xr=nt,Or=Qe,Sr=Xt,Pr=Nt,Cr=br,Lr=wr,jr="Object already initialized",_r=Mr.TypeError,Er=Mr.WeakMap;if(kr||Pr.state){var Tr=Pr.state||(Pr.state=new Er);Tr.get=Tr.get,Tr.has=Tr.has,Tr.set=Tr.set,lr=function(t,e){if(Tr.has(t))throw _r(jr);return e.facade=t,Tr.set(t,e),e},pr=function(t){return Tr.get(t)||{}},hr=function(t){return Tr.has(t)}}else{var Ar=Cr("state");Lr[Ar]=!0,lr=function(t,e){if(Sr(t,Ar))throw _r(jr);return e.facade=t,Or(t,Ar,e),e},pr=function(t){return Sr(t,Ar)?t[Ar]:{}},hr=function(t){return Sr(t,Ar)}}var Ir={set:lr,get:pr,has:hr,enforce:function(t){return hr(t)?pr(t):lr(t,{})},getterFor:function(t){return function(e){var r;if(!xr(e)||(r=pr(e)).type!==t)throw _r("Incompatible receiver, "+t+" required");return r}}},zr=z,Zr=v,Dr=tt,Fr=Xt,Rr=b,Nr=sr.CONFIGURABLE,Gr=fr,Br=Ir.enforce,Vr=Ir.get,Ur=String,Wr=Object.defineProperty,Hr=zr("".slice),qr=zr("".replace),Xr=zr([].join),Jr=Rr&&!Zr((function(){return 8!==Wr((function(){}),"length",{value:8}).length})),Kr=String(String).split("String"),Yr=tr.exports=function(t,e,r){"Symbol("===Hr(Ur(e),0,7)&&(e="["+qr(Ur(e),/^Symbol\(([^)]*)\)/,"$1")+"]"),r&&r.getter&&(e="get "+e),r&&r.setter&&(e="set "+e),(!Fr(t,"name")||Nr&&t.name!==e)&&(Rr?Wr(t,"name",{value:e,configurable:!0}):t.name=e),Jr&&r&&Fr(r,"arity")&&t.length!==r.arity&&Wr(t,"length",{value:r.arity});try{r&&Fr(r,"constructor")&&r.constructor?Rr&&Wr(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var n=Br(t);return Fr(n,"source")||(n.source=Xr(Kr,"string"==typeof e?e:"")),t};Function.prototype.toString=Yr((function(){return Dr(this)&&Vr(this).source||Gr(this)}),"toString");var $r=tr.exports,Qr=tt,tn=Ie,en=$r,rn=Dt,nn=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;if(Qr(r)&&en(r,i,n),n.global)o?t[e]=r:rn(e,r);else{try{n.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=r:tn.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},on={},sn=Math.ceil,an=Math.floor,un=Math.trunc||function(t){var e=+t;return(e>0?an:sn)(e)},cn=function(t){var e=+t;return e!=e||0===e?0:un(e)},ln=cn,pn=Math.max,hn=Math.min,fn=cn,mn=Math.min,dn=function(t){return t>0?mn(fn(t),9007199254740991):0},gn=K,yn=function(t,e){var r=ln(t);return r<0?pn(r+e,0):hn(r,e)},vn=function(t){return dn(t.length)},bn=function(t){return function(e,r,n){var o,i=gn(e),s=vn(i),a=yn(n,s);if(t&&r!=r){for(;s>a;)if((o=i[a++])!=o)return!0}else for(;s>a;a++)if((t||a in i)&&i[a]===r)return t||a||0;return!t&&-1}},wn={includes:bn(!0),indexOf:bn(!1)},kn=Xt,Mn=K,xn=wn.indexOf,On=wr,Sn=z([].push),Pn=function(t,e){var r,n=Mn(t),o=0,i=[];for(r in n)!kn(On,r)&&kn(n,r)&&Sn(i,r);for(;e.length>o;)kn(n,r=e[o++])&&(~xn(i,r)||Sn(i,r));return i},Cn=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ln=Pn,jn=Cn.concat("length","prototype");on.f=Object.getOwnPropertyNames||function(t){return Ln(t,jn)};var _n={};_n.f=Object.getOwnPropertySymbols;var En=st,Tn=on,An=_n,In=Re,zn=z([].concat),Zn=En("Reflect","ownKeys")||function(t){var e=Tn.f(In(t)),r=An.f;return r?zn(e,r(t)):e},Dn=Xt,Fn=Zn,Rn=y,Nn=Ie,Gn=v,Bn=tt,Vn=/#|\.prototype\./,Un=function(t,e){var r=Hn[Wn(t)];return r==Xn||r!=qn&&(Bn(e)?Gn(e):!!e)},Wn=Un.normalize=function(t){return String(t).replace(Vn,".").toLowerCase()},Hn=Un.data={},qn=Un.NATIVE="N",Xn=Un.POLYFILL="P",Jn=Un,Kn=g,Yn=y.f,$n=Qe,Qn=nn,to=Dt,eo=function(t,e,r){for(var n=Fn(e),o=Nn.f,i=Rn.f,s=0;s<n.length;s++){var a=n[s];Dn(t,a)||r&&Dn(r,a)||o(t,a,i(e,a))}},ro=Jn,no=function(t,e){var r,n,o,i,s,a=t.target,u=t.global,c=t.stat;if(r=u?Kn:c?Kn[a]||to(a,{}):(Kn[a]||{}).prototype)for(n in e){if(i=e[n],o=t.dontCallGetSet?(s=Yn(r,n))&&s.value:r[n],!ro(u?n:a+(c?".":"#")+n,t.forced)&&void 0!==o){if(typeof i==typeof o)continue;eo(i,o)}(t.sham||o&&o.sham)&&$n(i,"sham",!0),Qn(r,n,i,t)}},oo=x;no({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return oo(URL.prototype.toString,this)}});var io=function t(e,r){if(e===r)return!0;if(e&&r&&"object"==typeof e&&"object"==typeof r){if(e.constructor!==r.constructor)return!1;var n,o,i;if(Array.isArray(e)){if((n=e.length)!=r.length)return!1;for(o=n;0!=o--;)if(!t(e[o],r[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if((n=(i=Object.keys(e)).length)!==Object.keys(r).length)return!1;for(o=n;0!=o--;)if(!Object.prototype.hasOwnProperty.call(r,i[o]))return!1;for(o=n;0!=o--;){var s=i[o];if(!t(e[s],r[s]))return!1}return!0}return e!=e&&r!=r},so=m(io);var ao=Me("span").classList,uo=ao&&ao.constructor&&ao.constructor.prototype,co=uo===Object.prototype?void 0:uo,lo={},po=Pn,ho=Cn,fo=Object.keys||function(t){return po(t,ho)},mo=b,go=ze,yo=Ie,vo=Re,bo=K,wo=fo;lo.f=mo&&!go?Object.defineProperties:function(t,e){vo(t);for(var r,n=bo(e),o=wo(e),i=o.length,s=0;i>s;)yo.f(t,r=o[s++],n[r]);return t};var ko,Mo=st("document","documentElement"),xo=Re,Oo=lo,So=Cn,Po=wr,Co=Mo,Lo=Me,jo="prototype",_o="script",Eo=br("IE_PROTO"),To=function(){},Ao=function(t){return"<"+_o+">"+t+"</"+_o+">"},Io=function(t){t.write(Ao("")),t.close();var e=t.parentWindow.Object;return t=null,e},zo=function(){try{ko=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;zo="undefined"!=typeof document?document.domain&&ko?Io(ko):(e=Lo("iframe"),r="java"+_o+":",e.style.display="none",Co.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write(Ao("document.F=Object")),t.close(),t.F):Io(ko);for(var n=So.length;n--;)delete zo[jo][So[n]];return zo()};Po[Eo]=!0;var Zo=Object.create||function(t,e){var r;return null!==t?(To[jo]=xo(t),r=new To,To[jo]=null,r[Eo]=t):r=zo(),void 0===e?r:Oo.f(r,e)},Do=ue,Fo=Zo,Ro=Ie.f,No=Do("unscopables"),Go=Array.prototype;null==Go[No]&&Ro(Go,No,{configurable:!0,value:Fo(null)});var Bo,Vo,Uo,Wo={},Ho=!v((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),qo=Xt,Xo=tt,Jo=Wt,Ko=Ho,Yo=br("IE_PROTO"),$o=Object,Qo=$o.prototype,ti=Ko?$o.getPrototypeOf:function(t){var e=Jo(t);if(qo(e,Yo))return e[Yo];var r=e.constructor;return Xo(r)&&e instanceof r?r.prototype:e instanceof $o?Qo:null},ei=v,ri=tt,ni=nt,oi=ti,ii=nn,si=ue("iterator"),ai=!1;[].keys&&("next"in(Uo=[].keys())?(Vo=oi(oi(Uo)))!==Object.prototype&&(Bo=Vo):ai=!0),(!ni(Bo)||ei((function(){var t={};return Bo[si].call(t)!==t})))&&(Bo={}),ri(Bo[si])||ii(Bo,si,(function(){return this}));var ui={IteratorPrototype:Bo,BUGGY_SAFARI_ITERATORS:ai},ci=Ie.f,li=Xt,pi=ue("toStringTag"),hi=function(t,e,r){t&&!r&&(t=t.prototype),t&&!li(t,pi)&&ci(t,pi,{configurable:!0,value:e})},fi=ui.IteratorPrototype,mi=Zo,di=_,gi=hi,yi=Wo,vi=function(){return this},bi=z,wi=Ct,ki=tt,Mi=String,xi=TypeError,Oi=function(t,e,r){try{return bi(wi(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(t){}},Si=Re,Pi=function(t){if("object"==typeof t||ki(t))return t;throw xi("Can't set "+Mi(t)+" as a prototype")},Ci=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=Oi(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return Si(r),Pi(n),e?t(r,n):r.__proto__=n,r}}():void 0),Li=no,ji=x,_i=tt,Ei=function(t,e,r,n){var o=e+" Iterator";return t.prototype=mi(fi,{next:di(+!n,r)}),gi(t,o,!1),yi[o]=vi,t},Ti=ti,Ai=Ci,Ii=hi,zi=Qe,Zi=nn,Di=Wo,Fi=sr.PROPER,Ri=sr.CONFIGURABLE,Ni=ui.IteratorPrototype,Gi=ui.BUGGY_SAFARI_ITERATORS,Bi=ue("iterator"),Vi="keys",Ui="values",Wi="entries",Hi=function(){return this},qi=K,Xi=function(t){Go[No][t]=!0},Ji=Wo,Ki=Ir,Yi=Ie.f,$i=function(t,e,r,n,o,i,s){Ei(r,e,n);var a,u,c,l=function(t){if(t===o&&d)return d;if(!Gi&&t in f)return f[t];switch(t){case Vi:case Ui:case Wi:return function(){return new r(this,t)}}return function(){return new r(this)}},p=e+" Iterator",h=!1,f=t.prototype,m=f[Bi]||f["@@iterator"]||o&&f[o],d=!Gi&&m||l(o),g="Array"==e&&f.entries||m;if(g&&(a=Ti(g.call(new t)))!==Object.prototype&&a.next&&(Ti(a)!==Ni&&(Ai?Ai(a,Ni):_i(a[Bi])||Zi(a,Bi,Hi)),Ii(a,p,!0)),Fi&&o==Ui&&m&&m.name!==Ui&&(Ri?zi(f,"name",Ui):(h=!0,d=function(){return ji(m,this)})),o)if(u={values:l(Ui),keys:i?d:l(Vi),entries:l(Wi)},s)for(c in u)(Gi||h||!(c in f))&&Zi(f,c,u[c]);else Li({target:e,proto:!0,forced:Gi||h},u);return f[Bi]!==d&&Zi(f,Bi,d,{name:o}),Di[e]=d,u},Qi=function(t,e){return{value:t,done:e}},ts=b,es="Array Iterator",rs=Ki.set,ns=Ki.getterFor(es),os=$i(Array,"Array",(function(t,e){rs(this,{type:es,target:qi(t),index:0,kind:e})}),(function(){var t=ns(this),e=t.target,r=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,Qi(void 0,!0)):Qi("keys"==r?n:"values"==r?e[n]:[n,e[n]],!1)}),"values"),is=Ji.Arguments=Ji.Array;if(Xi("keys"),Xi("values"),Xi("entries"),ts&&"values"!==is.name)try{Yi(is,"name",{value:"values"})}catch(t){}var ss=g,as={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},us=co,cs=os,ls=Qe,ps=ue,hs=ps("iterator"),fs=ps("toStringTag"),ms=cs.values,ds=function(t,e){if(t){if(t[hs]!==ms)try{ls(t,hs,ms)}catch(e){t[hs]=ms}if(t[fs]||ls(t,fs,e),as[e])for(var r in cs)if(t[r]!==cs[r])try{ls(t,r,cs[r])}catch(e){t[r]=cs[r]}}};for(var gs in as)ds(ss[gs]&&ss[gs].prototype,gs);function ys(t,e,r,n,o,i){if(o-n<=r)return;const s=n+o>>1;vs(t,e,s,n,o,i%2),ys(t,e,r,n,s-1,i+1),ys(t,e,r,s+1,o,i+1)}function vs(t,e,r,n,o,i){for(;o>n;){if(o-n>600){const s=o-n+1,a=r-n+1,u=Math.log(s),c=.5*Math.exp(2*u/3),l=.5*Math.sqrt(u*c*(s-c)/s)*(a-s/2<0?-1:1);vs(t,e,r,Math.max(n,Math.floor(r-a*c/s+l)),Math.min(o,Math.floor(r+(s-a)*c/s+l)),i)}const s=e[2*r+i];let a=n,u=o;for(bs(t,e,n,r),e[2*o+i]>s&&bs(t,e,n,o);a<u;){for(bs(t,e,a,u),a++,u--;e[2*a+i]<s;)a++;for(;e[2*u+i]>s;)u--}e[2*n+i]===s?bs(t,e,n,u):(u++,bs(t,e,u,o)),u<=r&&(n=u+1),r<=u&&(o=u-1)}}function bs(t,e,r,n){ws(t,r,n),ws(e,2*r,2*n),ws(e,2*r+1,2*n+1)}function ws(t,e,r){const n=t[e];t[e]=t[r],t[r]=n}function ks(t,e,r,n){const o=t-r,i=e-n;return o*o+i*i}ds(us,"DOMTokenList");const Ms=t=>t[0],xs=t=>t[1];class Os{constructor(t,e=Ms,r=xs,n=64,o=Float64Array){this.nodeSize=n,this.points=t;const i=t.length<65536?Uint16Array:Uint32Array,s=this.ids=new i(t.length),a=this.coords=new o(2*t.length);for(let n=0;n<t.length;n++)s[n]=n,a[2*n]=e(t[n]),a[2*n+1]=r(t[n]);ys(s,a,n,0,s.length-1,0)}range(t,e,r,n){return function(t,e,r,n,o,i,s){const a=[0,t.length-1,0],u=[];let c,l;for(;a.length;){const p=a.pop(),h=a.pop(),f=a.pop();if(h-f<=s){for(let s=f;s<=h;s++)c=e[2*s],l=e[2*s+1],c>=r&&c<=o&&l>=n&&l<=i&&u.push(t[s]);continue}const m=Math.floor((f+h)/2);c=e[2*m],l=e[2*m+1],c>=r&&c<=o&&l>=n&&l<=i&&u.push(t[m]);const d=(p+1)%2;(0===p?r<=c:n<=l)&&(a.push(f),a.push(m-1),a.push(d)),(0===p?o>=c:i>=l)&&(a.push(m+1),a.push(h),a.push(d))}return u}(this.ids,this.coords,t,e,r,n,this.nodeSize)}within(t,e,r){return function(t,e,r,n,o,i){const s=[0,t.length-1,0],a=[],u=o*o;for(;s.length;){const c=s.pop(),l=s.pop(),p=s.pop();if(l-p<=i){for(let o=p;o<=l;o++)ks(e[2*o],e[2*o+1],r,n)<=u&&a.push(t[o]);continue}const h=Math.floor((p+l)/2),f=e[2*h],m=e[2*h+1];ks(f,m,r,n)<=u&&a.push(t[h]);const d=(c+1)%2;(0===c?r-o<=f:n-o<=m)&&(s.push(p),s.push(h-1),s.push(d)),(0===c?r+o>=f:n+o>=m)&&(s.push(h+1),s.push(l),s.push(d))}return a}(this.ids,this.coords,t,e,r,this.nodeSize)}}const Ss={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},Ps=Math.fround||(Cs=new Float32Array(1),t=>(Cs[0]=+t,Cs[0]));var Cs,Ls;class js{constructor(t){this.options=Ds(Object.create(Ss),t),this.trees=new Array(this.options.maxZoom+1)}load(t){const{log:e,minZoom:r,maxZoom:n,nodeSize:o}=this.options;e&&console.time("total time");const i=`prepare ${t.length} points`;e&&console.time(i),this.points=t;let s=[];for(let e=0;e<t.length;e++)t[e].geometry&&s.push(Es(t[e],e));this.trees[n+1]=new Os(s,Fs,Rs,o,Float32Array),e&&console.timeEnd(i);for(let t=n;t>=r;t--){const r=+Date.now();s=this._cluster(s,t),this.trees[t]=new Os(s,Fs,Rs,o,Float32Array),e&&console.log("z%d: %d clusters in %dms",t,s.length,+Date.now()-r)}return e&&console.timeEnd("total time"),this}getClusters(t,e){let r=((t[0]+180)%360+360)%360-180;const n=Math.max(-90,Math.min(90,t[1]));let o=180===t[2]?180:((t[2]+180)%360+360)%360-180;const i=Math.max(-90,Math.min(90,t[3]));if(t[2]-t[0]>=360)r=-180,o=180;else if(r>o){const t=this.getClusters([r,n,180,i],e),s=this.getClusters([-180,n,o,i],e);return t.concat(s)}const s=this.trees[this._limitZoom(e)],a=s.range(Is(r),zs(i),Is(o),zs(n)),u=[];for(const t of a){const e=s.points[t];u.push(e.numPoints?Ts(e):this.points[e.index])}return u}getChildren(t){const e=this._getOriginId(t),r=this._getOriginZoom(t),n="No cluster with the specified id.",o=this.trees[r];if(!o)throw new Error(n);const i=o.points[e];if(!i)throw new Error(n);const s=this.options.radius/(this.options.extent*Math.pow(2,r-1)),a=o.within(i.x,i.y,s),u=[];for(const e of a){const r=o.points[e];r.parentId===t&&u.push(r.numPoints?Ts(r):this.points[r.index])}if(0===u.length)throw new Error(n);return u}getLeaves(t,e,r){e=e||10,r=r||0;const n=[];return this._appendLeaves(n,t,e,r,0),n}getTile(t,e,r){const n=this.trees[this._limitZoom(t)],o=Math.pow(2,t),{extent:i,radius:s}=this.options,a=s/i,u=(r-a)/o,c=(r+1+a)/o,l={features:[]};return this._addTileFeatures(n.range((e-a)/o,u,(e+1+a)/o,c),n.points,e,r,o,l),0===e&&this._addTileFeatures(n.range(1-a/o,u,1,c),n.points,o,r,o,l),e===o-1&&this._addTileFeatures(n.range(0,u,a/o,c),n.points,-1,r,o,l),l.features.length?l:null}getClusterExpansionZoom(t){let e=this._getOriginZoom(t)-1;for(;e<=this.options.maxZoom;){const r=this.getChildren(t);if(e++,1!==r.length)break;t=r[0].properties.cluster_id}return e}_appendLeaves(t,e,r,n,o){const i=this.getChildren(e);for(const e of i){const i=e.properties;if(i&&i.cluster?o+i.point_count<=n?o+=i.point_count:o=this._appendLeaves(t,i.cluster_id,r,n,o):o<n?o++:t.push(e),t.length===r)break}return o}_addTileFeatures(t,e,r,n,o,i){for(const s of t){const t=e[s],a=t.numPoints;let u,c,l;if(a)u=As(t),c=t.x,l=t.y;else{const e=this.points[t.index];u=e.properties,c=Is(e.geometry.coordinates[0]),l=zs(e.geometry.coordinates[1])}const p={type:1,geometry:[[Math.round(this.options.extent*(c*o-r)),Math.round(this.options.extent*(l*o-n))]],tags:u};let h;a?h=t.id:this.options.generateId?h=t.index:this.points[t.index].id&&(h=this.points[t.index].id),void 0!==h&&(p.id=h),i.features.push(p)}}_limitZoom(t){return Math.max(this.options.minZoom,Math.min(Math.floor(+t),this.options.maxZoom+1))}_cluster(t,e){const r=[],{radius:n,extent:o,reduce:i,minPoints:s}=this.options,a=n/(o*Math.pow(2,e));for(let n=0;n<t.length;n++){const o=t[n];if(o.zoom<=e)continue;o.zoom=e;const u=this.trees[e+1],c=u.within(o.x,o.y,a),l=o.numPoints||1;let p=l;for(const t of c){const r=u.points[t];r.zoom>e&&(p+=r.numPoints||1)}if(p>l&&p>=s){let t=o.x*l,s=o.y*l,a=i&&l>1?this._map(o,!0):null;const h=(n<<5)+(e+1)+this.points.length;for(const r of c){const n=u.points[r];if(n.zoom<=e)continue;n.zoom=e;const c=n.numPoints||1;t+=n.x*c,s+=n.y*c,n.parentId=h,i&&(a||(a=this._map(o,!0)),i(a,this._map(n)))}o.parentId=h,r.push(_s(t/p,s/p,h,p,a))}else if(r.push(o),p>1)for(const t of c){const n=u.points[t];n.zoom<=e||(n.zoom=e,r.push(n))}}return r}_getOriginId(t){return t-this.points.length>>5}_getOriginZoom(t){return(t-this.points.length)%32}_map(t,e){if(t.numPoints)return e?Ds({},t.properties):t.properties;const r=this.points[t.index].properties,n=this.options.map(r);return e&&n===r?Ds({},n):n}}function _s(t,e,r,n,o){return{x:Ps(t),y:Ps(e),zoom:1/0,id:r,parentId:-1,numPoints:n,properties:o}}function Es(t,e){const[r,n]=t.geometry.coordinates;return{x:Ps(Is(r)),y:Ps(zs(n)),zoom:1/0,index:e,parentId:-1}}function Ts(t){return{type:"Feature",id:t.id,properties:As(t),geometry:{type:"Point",coordinates:[(e=t.x,360*(e-.5)),Zs(t.y)]}};var e}function As(t){const e=t.numPoints,r=e>=1e4?`${Math.round(e/1e3)}k`:e>=1e3?Math.round(e/100)/10+"k":e;return Ds(Ds({},t.properties),{cluster:!0,cluster_id:t.id,point_count:e,point_count_abbreviated:r})}function Is(t){return t/360+.5}function zs(t){const e=Math.sin(t*Math.PI/180),r=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return r<0?0:r>1?1:r}function Zs(t){const e=(180-360*t)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}function Ds(t,e){for(const r in e)t[r]=e[r];return t}function Fs(t){return t.x}function Rs(t){return t.y}class Ns extends l{constructor(t){var{maxZoom:r,radius:n=60}=t,o=e(t,["maxZoom","radius"]);super({maxZoom:r}),this.superCluster=new js(Object.assign({maxZoom:this.maxZoom,radius:n},o)),this.state={zoom:null}}calculate(t){let e=!1;if(!so(t.markers,this.markers)){e=!0,this.markers=[...t.markers];const n=this.markers.map((t=>({type:"Feature",geometry:{type:"Point",coordinates:[r.getPosition(t).lng(),r.getPosition(t).lat()]},properties:{marker:t}})));this.superCluster.load(n)}const n={zoom:t.map.getZoom()};return e||this.state.zoom>this.maxZoom&&n.zoom>this.maxZoom||(e=e||!so(this.state,n)),this.state=n,e&&(this.clusters=this.cluster(t)),{clusters:this.clusters,changed:e}}cluster(t){let{map:e}=t;return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(this.transformCluster.bind(this))}transformCluster(t){let{geometry:{coordinates:[e,o]},properties:i}=t;if(i.cluster)return new n({markers:this.superCluster.getLeaves(i.cluster_id,1/0).map((t=>t.properties.marker)),position:new google.maps.LatLng({lat:o,lng:e})});{const t=i.marker;return new n({markers:[t],position:r.getPosition(t)})}}}class Gs{constructor(t,e){this.markers={sum:t.length};const r=e.map((t=>t.count)),n=r.reduce(((t,e)=>t+e),0);this.clusters={count:e.length,markers:{mean:n/e.length,sum:n,min:Math.min(...r),max:Math.max(...r)}}}}class Bs{render(t,e,r){let{count:n,position:o}=t;const i=n>Math.max(10,e.clusters.markers.mean)?"#ff0000":"#0000ff",s='<svg fill="'.concat(i,'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">\n <circle cx="120" cy="120" opacity=".6" r="70" />\n <circle cx="120" cy="120" opacity=".3" r="90" />\n <circle cx="120" cy="120" opacity=".2" r="110" />\n </svg>'),a="Cluster of ".concat(n," markers"),u=Number(google.maps.Marker.MAX_ZINDEX)+n;if(google.maps.marker&&r.getMapCapabilities().isAdvancedMarkersAvailable){const t=document.createElement("div");t.innerHTML=s;const e=t.firstElementChild;e.setAttribute("width","50"),e.setAttribute("height","50");const i=document.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("x","50%"),i.setAttribute("y","50%"),i.setAttribute("style","fill: #FFF"),i.setAttribute("text-anchor","middle"),i.setAttribute("font-size","50"),i.setAttribute("dominant-baseline","middle"),i.appendChild(document.createTextNode("".concat(n))),e.appendChild(i);const c={map:r,position:o,zIndex:u,title:a,content:t.firstElementChild};return new google.maps.marker.AdvancedMarkerView(c)}const c={position:o,zIndex:u,title:a,icon:{url:"data:image/svg+xml;base64,".concat(window.btoa(s)),scaledSize:new google.maps.Size(45,45)},label:{text:String(n),color:"rgba(255,255,255,0.9)",fontSize:"12px"}};return new google.maps.Marker(c)}}class Vs{constructor(){!function(t,e){for(let r in e.prototype)t.prototype[r]=e.prototype[r]}(Vs,google.maps.OverlayView)}}t.MarkerClustererEvents=void 0,(Ls=t.MarkerClustererEvents||(t.MarkerClustererEvents={})).CLUSTERING_BEGIN="clusteringbegin",Ls.CLUSTERING_END="clusteringend",Ls.CLUSTER_CLICK="click";const Us=(t,e,r)=>{r.fitBounds(e.bounds)};t.AbstractAlgorithm=l,t.AbstractViewportAlgorithm=p,t.Cluster=n,t.ClusterStats=Gs,t.DefaultRenderer=Bs,t.GridAlgorithm=class extends p{constructor(t){var{maxDistance:r=4e4,gridSize:n=40}=t;super(e(t,["maxDistance","gridSize"])),this.clusters=[],this.maxDistance=r,this.gridSize=n,this.state={zoom:null}}calculate(t){let{markers:e,map:r,mapCanvasProjection:n}=t;const i={zoom:r.getZoom()};let s=!1;return this.state.zoom>this.maxZoom&&i.zoom>this.maxZoom||(s=!so(this.state,i)),this.state=i,r.getZoom()>=this.maxZoom?{clusters:this.noop({markers:e,map:r,mapCanvasProjection:n}),changed:s}:{clusters:this.cluster({markers:o(r,n,e,this.viewportPadding),map:r,mapCanvasProjection:n})}}cluster(t){let{markers:e,map:r,mapCanvasProjection:n}=t;return this.clusters=[],e.forEach((t=>{this.addToClosestCluster(t,r,n)})),this.clusters}addToClosestCluster(t,e,o){let a=this.maxDistance,u=null;for(let e=0;e<this.clusters.length;e++){const n=this.clusters[e],o=s(n.bounds.getCenter().toJSON(),r.getPosition(t).toJSON());o<a&&(a=o,u=n)}if(u&&i(u.bounds,o,this.gridSize).contains(r.getPosition(t)))u.push(t);else{const e=new n({markers:[t]});this.clusters.push(e)}}},t.MarkerClusterer=class extends Vs{constructor(t){let{map:e,markers:r=[],algorithm:n=new Ns({}),renderer:o=new Bs,onClusterClick:i=Us}=t;super(),this.markers=[...r],this.clusters=[],this.algorithm=n,this.renderer=o,this.onClusterClick=i,e&&this.setMap(e)}addMarker(t,e){this.markers.includes(t)||(this.markers.push(t),e||this.render())}addMarkers(t,e){t.forEach((t=>{this.addMarker(t,!0)})),e||this.render()}removeMarker(t,e){const n=this.markers.indexOf(t);return-1!==n&&(r.setMap(t,null),this.markers.splice(n,1),e||this.render(),!0)}removeMarkers(t,e){let r=!1;return t.forEach((t=>{r=this.removeMarker(t,!0)||r})),r&&!e&&this.render(),r}clearMarkers(t){this.markers.length=0,t||this.render()}render(){const e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTERING_BEGIN,this),this.markers.forEach((t=>{t.addListener("animation_changed",(()=>{console.log("animation_changed")}))}));const{clusters:r,changed:n}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});(n||null==n)&&(this.reset(),this.clusters=r,this.renderClusters()),google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach((t=>r.setMap(t,null))),this.clusters.forEach((t=>t.delete())),this.clusters=[]}renderClusters(){const e=new Gs(this.markers,this.clusters),n=this.getMap();this.clusters.forEach((o=>{1===o.markers.length?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e,n),this.onClusterClick&&o.marker.addListener("click",(e=>{google.maps.event.trigger(this,t.MarkerClustererEvents.CLUSTER_CLICK,o),this.onClusterClick(e,o,n)}))),r.setMap(o.marker,n)}))}},t.NoopAlgorithm=class extends l{constructor(t){super(e(t,[]))}calculate(t){let{markers:e,map:r,mapCanvasProjection:n}=t;return{clusters:this.cluster({markers:e,map:r,mapCanvasProjection:n}),changed:!1}}cluster(t){return this.noop(t)}},t.SuperClusterAlgorithm=Ns,t.defaultOnClusterClickHandler=Us,t.distanceBetweenPoints=s,t.extendBoundsToPaddedViewport=i,t.extendPixelBounds=u,t.filterMarkersToPaddedViewport=o,t.noop=h,t.pixelBoundsToLatLngBounds=c,Object.defineProperty(t,"__esModule",{value:!0})}));
//# sourceMappingURL=index.umd.js.map

@@ -23,3 +23,3 @@ /**

export interface MarkerClustererOptions {
markers?: google.maps.Marker[];
markers?: Marker[];
/**

@@ -56,3 +56,3 @@ * An algorithm to cluster markers. Default is {@link SuperClusterAlgorithm}. Must

protected clusters: Cluster[];
protected markers: google.maps.Marker[];
protected markers: Marker[];
/** @see {@link MarkerClustererOptions.renderer} */

@@ -65,6 +65,6 @@ protected renderer: Renderer;

constructor({ map, markers, algorithm, renderer, onClusterClick, }: MarkerClustererOptions);
addMarker(marker: google.maps.Marker, noDraw?: boolean): void;
addMarkers(markers: google.maps.Marker[], noDraw?: boolean): void;
removeMarker(marker: google.maps.Marker, noDraw?: boolean): boolean;
removeMarkers(markers: google.maps.Marker[], noDraw?: boolean): boolean;
addMarker(marker: Marker, noDraw?: boolean): void;
addMarkers(markers: Marker[], noDraw?: boolean): void;
removeMarker(marker: Marker, noDraw?: boolean): boolean;
removeMarkers(markers: Marker[], noDraw?: boolean): boolean;
clearMarkers(noDraw?: boolean): void;

@@ -71,0 +71,0 @@ /**

@@ -34,3 +34,3 @@ /**

};
constructor(markers: google.maps.Marker[], clusters: Cluster[]);
constructor(markers: Marker[], clusters: Cluster[]);
}

@@ -50,3 +50,3 @@ export interface Renderer {

*/
render(cluster: Cluster, stats: ClusterStats): google.maps.Marker;
render(cluster: Cluster, stats: ClusterStats, map: google.maps.Map): Marker;
}

@@ -92,3 +92,3 @@ export declare class DefaultRenderer implements Renderer {

*/
render({ count, position }: Cluster, stats: ClusterStats): google.maps.Marker;
render({ count, position }: Cluster, stats: ClusterStats, map: google.maps.Map): Marker;
}
{
"name": "@googlemaps/markerclusterer",
"version": "2.0.15",
"version": "2.1.0-beta.1",
"description": "Creates and manages per-zoom-level clusters for large amounts of markers.",

@@ -35,3 +35,4 @@ "keywords": [

"test": "jest --passWithNoTests src/*",
"test:e2e": "jest --passWithNoTests e2e/*"
"test:e2e": "jest --passWithNoTests e2e/*",
"test:all": "jest"
},

@@ -52,3 +53,3 @@ "dependencies": {

"@rollup/plugin-node-resolve": "^15.0.0",
"@rollup/plugin-typescript": "^10.0.1",
"@rollup/plugin-typescript": "^11.0.0",
"@types/d3-interpolate": "^3.0.1",

@@ -61,3 +62,3 @@ "@types/google.maps": "^3.44.2",

"@typescript-eslint/parser": ">=4.1.0",
"chromedriver": "^108.0.0",
"chromedriver": "^111.0.0",
"core-js": "^3.6.5",

@@ -64,0 +65,0 @@ "d3-interpolate": "^3.0.1",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc