1import{b2 as i,aX as G,b1 as ge,an as Et,bA as wt,g as xt}from"./vendor-DacH4Axe.js";import{R as ls,j as Fn,a2 as St,r as us}from"./common-BQRL9VEI.js";import"./react-hook-form-DKq7G64E.js";import"./devlop-Cl3hj7Sz.js";import"./react-markdown-C0K8dZ-l.js";import"./micromark-util-sanitize-uri-Dr-249hl.js";import"./micromark-util-character-Crq1AjvP.js";import"./unist-util-visit-BEqpjG-T.js";import"./unist-util-visit-parents-BzuIhZFT.js";import"./unist-util-is-D9KQvrmg.js";import"./micromark-util-decode-numeric-character-reference-CNs1qBpV.js";import"./micromark-util-decode-string-strjl-tx.js";import"./decode-named-character-reference-C3-224fz.js";import"./micromark-util-normalize-identifier-C9ANKk3v.js";import"./micromark-util-subtokenize-BC4BSQ9J.js";import"./micromark-util-chunked-DrRIdSP-.js";import"./micromark-util-combine-extensions-Bka6Sc1c.js";import"./micromark-factory-space-BWWALS__.js";import"./micromark-core-commonmark-3inbqGMm.js";import"./micromark-util-classify-character-CmoJ_zKU.js";import"./micromark-util-resolve-all-PQCKh0dx.js";import"./micromark-factory-destination-C2qZjv7H.js";import"./micromark-factory-label-Bolj5dRz.js";import"./micromark-factory-title-Cioy9Ajn.js";import"./micromark-factory-whitespace-TGriqLdU.js";import"./mdast-util-to-string-C_aolqmU.js";import"./remark-gfm-CfmVxcyc.js";function Ce(t){"@babel/helpers - typeof";return Ce=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Ce(t)}function ps(t,e){if(Ce(t)!="object"||!t)return t;var n=t[Symbol.toPrimitive];if(n!==void 0){var s=n.call(t,e);if(Ce(s)!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function ds(t){var e=ps(t,"string");return Ce(e)=="symbol"?e:e+""}function v(t,e,n){return(e=ds(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function $n(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Ge,kt;function cs(){if(kt)return Ge;kt=1;var t=function(n,s,r,o,a,l,u,g){if(!n){var p;if(s===void 0)p=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var h=[r,o,a,l,u,g],c=0;p=new Error(s.replace(/%s/g,function(){return h[c++]})),p.name="Invariant Violation"}throw p.framesToPop=1,p}};return Ge=t,Ge}var gs=cs(),se=$n(gs),A=i.createContext(null);function hs(){se(!!i.useContext,"useGoogleMap is React hook and requires React version 16.8+");var t=i.useContext(A);return se(!!t,"useGoogleMap needs a GoogleMap available up in the tree"),t}function fs(t,e,n){return Object.keys(t).reduce(function(r,o){return e(r,t[o],o)},n)}function vs(t,e){Object.keys(t).forEach(n=>e(t[n],n))}function ms(t,e,n,s){var r={},o=(a,l)=>{var u=n[l];u!==e[l]&&(r[l]=u,a(s,u))};return vs(t,o),r}function Ls(t,e,n){var s=fs(n,function(o,a,l){return typeof t[l]=="function"&&o.push(google.maps.event.addListener(e,a,t[l])),o},[]);return s}function ys(t){google.maps.event.removeListener(t)}function Z(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[];t.forEach(ys)}function _(t){var{updaterMap:e,eventMap:n,prevProps:s,nextProps:r,instance:o}=t,a=Ls(r,o,n);return ms(e,s,r,o),a}var Ot={onDblClick:"dblclick",onDragEnd:"dragend",onDragStart:"dragstart",onMapTypeIdChanged:"maptypeid_changed",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseDown:"mousedown",onMouseUp:"mouseup",onRightClick:"rightclick",onTilesLoaded:"tilesloaded",onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onDrag:"drag",onHeadingChanged:"heading_changed",onIdle:"idle",onProjectionChanged:"projection_changed",onResize:"resize",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed"},Pt={extraMapTypes(t,e){e.forEach(function(s,r){t.mapTypes.set(String(r),s)})},center(t,e){t.setCenter(e)},clickableIcons(t,e){t.setClickableIcons(e)},heading(t,e){t.setHeading(e)},mapTypeId(t,e){t.setMapTypeId(e)},options(t,e){t.setOptions(e)},streetView(t,e){t.setStreetView(e)},tilt(t,e){t.setTilt(e)},zoom(t,e){t.setZoom(e)}};function bs(t){var{children:e,options:n,id:s,mapContainerStyle:r,mapContainerClassName:o,center:a,onClick:l,onDblClick:u,onDrag:g,onDragEnd:p,onDragStart:h,onMouseMove:c,onMouseOut:f,onMouseOver:d,onMouseDown:w,onMouseUp:y,onRightClick:S,onCenterChanged:E,onLoad:P,onUnmount:C}=t,[m,M]=i.useState(null),x=i.useRef(null),[D,b]=i.useState(null),[k,O]=i.useState(null),[U,V]=i.useState(null),[T,B]=i.useState(null),[W,J]=i.useState(null),[N,K]=i.useState(null),[F,q]=i.useState(null),[Y,j]=i.useState(null),[Q,L]=i.useState(null),[te,ee]=i.useState(null),[z,ne]=i.useState(null),[I,$]=i.useState(null);return i.useEffect(()=>{n&&m!==null&&m.setOptions(n)},[m,n]),i.useEffect(()=>{m!==null&&typeof a<"u"&&m.setCenter(a)},[m,a]),i.useEffect(()=>{m&&u&&(k!==null&&google.maps.event.removeListener(k),O(google.maps.event.addListener(m,"dblclick",u)))},[u]),i.useEffect(()=>{m&&p&&(U!==null&&google.maps.event.removeListener(U),V(google.maps.event.addListener(m,"dragend",p)))}
1,[p]),i.useEffect(()=>{m&&h&&(T!==null&&google.maps.event.removeListener(T),B(google.maps.event.addListener(m,"dragstart",h)))},[h]),i.useEffect(()=>{m&&w&&(W!==null&&google.maps.event.removeListener(W),J(google.maps.event.addListener(m,"mousedown",w)))},[w]),i.useEffect(()=>{m&&c&&(N!==null&&google.maps.event.removeListener(N),K(google.maps.event.addListener(m,"mousemove",c)))},[c]),i.useEffect(()=>{m&&f&&(F!==null&&google.maps.event.removeListener(F),q(google.maps.event.addListener(m,"mouseout",f)))},[f]),i.useEffect(()=>{m&&d&&(Y!==null&&google.maps.event.removeListener(Y),j(google.maps.event.addListener(m,"mouseover",d)))},[d]),i.useEffect(()=>{m&&y&&(Q!==null&&google.maps.event.removeListener(Q),L(google.maps.event.addListener(m,"mouseup",y)))},[y]),i.useEffect(()=>{m&&S&&(te!==null&&google.maps.event.removeListener(te),ee(google.maps.event.addListener(m,"rightclick",S)))},[S]),i.useEffect(()=>{m&&l&&(z!==null&&google.maps.event.removeListener(z),ne(google.maps.event.addListener(m,"click",l)))},[l]),i.useEffect(()=>{m&&g&&(I!==null&&google.maps.event.removeListener(I),$(google.maps.event.addListener(m,"drag",g)))},[g]),i.useEffect(()=>{m&&E&&(D!==null&&google.maps.event.removeListener(D),b(google.maps.event.addListener(m,"center_changed",E)))},[l]),i.useEffect(()=>{var oe=x.current===null?null:new google.maps.Map(x.current,n);return M(oe),oe!==null&&P&&P(oe),()=>{oe!==null&&C&&C(oe)}},[]),G.jsx("div",{id:s,ref:x,style:r,className:o,children:G.jsx(A.Provider,{value:m,children:m!==null?e:null})})}i.memo(bs);class Cs extends i.PureComponent{constructor(){super(...arguments),v(this,"state",{map:null}),v(this,"registeredEvents",[]),v(this,"mapRef",null),v(this,"getInstance",()=>this.mapRef===null?null:new google.maps.Map(this.mapRef,this.props.options)),v(this,"panTo",e=>{var n=this.getInstance();n&&n.panTo(e)}),v(this,"setMapCallback",()=>{this.state.map!==null&&this.props.onLoad&&this.props.onLoad(this.state.map)}),v(this,"getRef",e=>{this.mapRef=e})}componentDidMount(){var e=this.getInstance();this.registeredEvents=_({updaterMap:Pt,eventMap:Ot,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{map:e}},this.setMapCallback)}componentDidUpdate(e){this.state.map!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:Pt,eventMap:Ot,prevProps:e,nextProps:this.props,instance:this.state.map}))}componentWillUnmount(){this.state.map!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.map),Z(this.registeredEvents))}render(){return G.jsx("div",{id:this.props.id,ref:this.getRef,style:this.props.mapContainerStyle,className:this.props.mapContainerClassName,children:G.jsx(A.Provider,{value:this.state.map,children:this.state.map!==null?this.props.children:null})})}}function Dt(t,e,n,s,r,o,a){try{var l=t[o](a),u=l.value}catch(g){return void n(g)}l.done?e(u):Promise.resolve(u).then(s,r)}function Hn(t){return function(){var e=this,n=arguments;return new Promise(function(s,r){var o=t.apply(e,n);function a(u){Dt(o,s,r,a,l,"next",u)}function l(u){Dt(o,s,r,a,l,"throw",u)}a(void 0)})}}function Gn(t){var{googleMapsApiKey:e,googleMapsClientId:n,version:s="weekly",language:r,region:o,libraries:a,channel:l,mapIds:u,authReferrerPolicy:g}=t,p=[];return se(e&&n||!(e&&n),"You need to specify either googleMapsApiKey or googleMapsClientId for @react-google-maps/api load script to work. You cannot use both at the same time."),e?p.push("key=".concat(e)):n&&p.push("client=".concat(n)),s&&p.push("v=".concat(s)),r&&p.push("language=".concat(r)),o&&p.push("region=".concat(o)),a&&a.length&&p.push("libraries=".concat(a.sort().join(","))),l&&p.push("channel=".concat(l)),u&&u.length&&p.push("map_ids=".concat(u.join(","))),g&&p.push("auth_referrer_policy=".concat(g)),p.push("loading=async"),p.push("callback=initMap"),"https://maps.googleapis.com/maps/api/js?".concat(p.join("&"))}var de=typeof document<"u";function Kn(t){var{url:e,id:n,nonce:s}=t;return de?new Promise(function(o,a){var l=document.getElementById(n),u=window;if(l){var g=l.getAttribute("data-state");if(l.src===e&&g!=="error"){if(g==="ready")return o(n);var p=u.initMap,h=l.onerror;u.initMap=function(){p&&p(),o(n)},l.onerror=function(f){h&&h(f),a(f)};return}else l.remove()}var c=document.createElement("script");c.type="text/javascript",c.src=e,c.id=n,c.async=!0,c.nonce=s||"",c.onerror=function(d){c.setAttribute("data-state","error"),a(d)},u.initMap=function(){c.setAttribute("data-state","ready"),o(n)},document.head.appendChild(c)}).catch(r=>{throw console.error("injectScript error: ",r),r}):Promise.reject(new Error("document is undefined"))}function It(t){var e=t.href;return e&&(e.indexOf("https://fonts.googleapis.com/css?family=Roboto")===0||e.indexOf("https://fonts.googleapis.com/css?family=Google+Sans+Text")===0)?!0:t.tagName.toLowerCase()==="style"&&t.styleSheet&&t.styleSheet.cssText&&t.styleSheet.cssText.replace(`\r 2`,"").indexOf(".gm-style")===0?(t.styleSheet.cssText="",!0):t.tagName.toLowerCase()==="style"&&t.innerHTML&&t.innerHTML.replace(`\r 3`,"").indexOf(".gm-style")===0?(t.innerHTML="",!0):t.tagName.toLowerCase()==="style"&&!t.styleSheet&&!t.innerHTML}function qn(){var t=document.getElementsByTagName("head")[0];if(t){var e=t.insertBefore.bind(t);t.insertBefore=function(r,o){return It(r)||Reflect.apply(e,t,[r,o]),r};var n=t.appendChild.bind(t);t.appendChild=function(r){return It(r)||Reflect.apply(n,t,[r]),r}}}var me=!1;function Jn(){return G.jsx("div",{children:"Loading..."})}var Qe={id:"script-loader",version:"weekly"};class Ms extends i.PureComponent{constructor(){super(...arguments),v(this,"check",null),v(this,"state",{loaded:!1}),v(this,"cleanupCallback",()=>{delete window.google.maps,this.injectScript()}),v(this,"isCleaningUp",Hn(function*(){function e(n){if(!me)n();else if(de)var s=window.setInterval(function(){me||(window.clearInterval(s),n())},1)}return new Promise(e)})),v(this,"cleanup",()=>{me=!0;var e=document.getElementById(this.props.id);e&&e.parentNode&&e.parentNode.removeChild(e),Array.prototype.slice.call(document.getElementsByTagName("script")).filter(function(s){return typeof s.src=="string"&&s.src.includes("maps.googleapis")}
3).forEach(function(s){s.parentNode&&s.parentNode.removeChild(s)}),Array.prototype.slice.call(document.getElementsByTagName("link")).filter(function(s){return s.href==="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"}).forEach(function(s){s.parentNode&&s.parentNode.removeChild(s)}),Array.prototype.slice.call(document.getElementsByTagName("style")).filter(function(s){return s.innerText!==void 0&&s.innerText.length>0&&s.innerText.includes(".gm-")}).forEach(function(s){s.parentNode&&s.parentNode.removeChild(s)})}),v(this,"injectScript",()=>{this.props.preventGoogleFontsLoading&&qn(),se(!!this.props.id,'LoadScript requires "id" prop to be a string: %s',this.props.id);var e={id:this.props.id,nonce:this.props.nonce,url:Gn(this.props)};Kn(e).then(()=>{this.props.onLoad&&this.props.onLoad(),this.setState(function(){return{loaded:!0}})}).catch(n=>{this.props.onError&&this.props.onError(n),console.error(` 4 There has been an Error with loading Google Maps API script, please check that you provided correct google API key (`.concat(this.props.googleMapsApiKey||"-",") or Client ID (").concat(this.props.googleMapsClientId||"-",`) to <LoadScript /> 5 Otherwise it is a Network issue. 6 `))})}),v(this,"getRef",e=>{this.check=e})}componentDidMount(){if(de){if(window.google&&window.google.maps&&!me){console.error("google api is already presented");return}this.isCleaningUp().then(this.injectScript).catch(function(n){console.error("Error at injecting script after cleaning up: ",n)})}}componentDidUpdate(e){this.props.libraries!==e.libraries&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),de&&e.language!==this.props.language&&(this.cleanup(),this.setState(function(){return{loaded:!1}},this.cleanupCallback))}componentWillUnmount(){if(de){this.cleanup();var e=()=>{this.check||(delete window.google,me=!1)};window.setTimeout(e,1),this.props.onUnmount&&this.props.onUnmount()}}render(){return G.jsxs(G.Fragment,{children:[G.jsx("div",{ref:this.getRef}),this.state.loaded?this.props.children:this.props.loadingElement||G.jsx(Jn,{})]})}}v(Ms,"defaultProps",Qe);function Es(t,e){if(t==null)return{};var n={};for(var s in t)if({}.hasOwnProperty.call(t,s)){if(e.includes(s))continue;n[s]=t[s]}return n}function tt(t,e){if(t==null)return{};var n,s,r=Es(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(s=0;s<o.length;s++)n=o[s],e.includes(n)||{}.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}var jt;function Yn(t){var{id:e=Qe.id,version:n=Qe.version,nonce:s,googleMapsApiKey:r,googleMapsClientId:o,language:a,region:l,libraries:u,preventGoogleFontsLoading:g,channel:p,mapIds:h,authReferrerPolicy:c}=t,f=i.useRef(!1),[d,w]=i.useState(!1),[y,S]=i.useState(void 0);i.useEffect(function(){return f.current=!0,()=>{f.current=!1}},[]),i.useEffect(function(){de&&g&&qn()},[g]),i.useEffect(function(){d&&se(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[d]);var E=Gn({version:n,googleMapsApiKey:r,googleMapsClientId:o,language:a,region:l,libraries:u,channel:p,mapIds:h,authReferrerPolicy:c});i.useEffect(function(){if(!de)return;function m(){f.current&&(w(!0),jt=E)}if(window.google&&window.google.maps&&jt===E){m();return}Kn({id:e,url:E,nonce:s}).then(m).catch(function(x){f.current&&S(x),console.warn(` 7 There has been an Error with loading Google Maps API script, please check that you provided correct google API key (`.concat(r||"-",") or Client ID (").concat(o||"-",`) 8 Otherwise it is a Network issue. 9 `)),console.error(x)})},[e,E,s]);var P=i.useRef(void 0);return i.useEffect(function(){P.current&&u!==P.current&&console.warn("Performance warning! LoadScript has been reloaded unintentionally! You should not pass `libraries` prop as new array. Please keep an array of libraries as
9static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),P.current=u},[u]),{isLoaded:d,loadError:y,url:E}}var ws=["loadingElement","onLoad","onError","onUnmount","children"],xs=G.jsx(Jn,{});function Ss(t){var{loadingElement:e,onLoad:n,onError:s,onUnmount:r,children:o}=t,a=tt(t,ws),{isLoaded:l,loadError:u}=Yn(a);return i.useEffect(function(){l&&typeof n=="function"&&n()},[l,n]),i.useEffect(function(){u&&typeof s=="function"&&s(u)},[u,s]),i.useEffect(function(){return()=>{r&&r()}},[r]),l?o:e||xs}i.memo(Ss);var Tt;(function(t){t[t.INITIALIZED=0]="INITIALIZED",t[t.LOADING=1]="LOADING",t[t.SUCCESS=2]="SUCCESS",t[t.FAILURE=3]="FAILURE"})(Tt||(Tt={}));function Bt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function ze(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Bt(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Bt(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var Rt={},Ut={options(t,e){t.setOptions(e)}};function ks(t){var{options:e,onLoad:n,onUnmount:s}=t,r=i.useContext(A),[o,a]=i.useState(null);return i.useEffect(()=>{o!==null&&o.setMap(r)},[r]),i.useEffect(()=>{e&&o!==null&&o.setOptions(e)},[o,e]),i.useEffect(()=>{var l=new google.maps.TrafficLayer(ze(ze({},e),{},{map:r}));return a(l),n&&n(l),()=>{o!==null&&(s&&s(o),o.setMap(null))}},[]),null}i.memo(ks);class Os extends i.PureComponent{constructor(){super(...arguments),v(this,"state",{trafficLayer:null}),v(this,"setTrafficLayerCallback",()=>{this.state.trafficLayer!==null&&this.props.onLoad&&this.props.onLoad(this.state.trafficLayer)}),v(this,"registeredEvents",[])}componentDidMount(){var e=new google.maps.TrafficLayer(ze(ze({},this.props.options),{},{map:this.context}));this.registeredEvents=_({updaterMap:Ut,eventMap:Rt,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{trafficLayer:e}},this.setTrafficLayerCallback)}componentDidUpdate(e){this.state.trafficLayer!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:Ut,eventMap:Rt,prevProps:e,nextProps:this.props,instance:this.state.trafficLayer}))}componentWillUnmount(){this.state.trafficLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),Z(this.registeredEvents),this.state.trafficLayer.setMap(null))}render(){return null}}v(Os,"contextType",A);function Ps(t){var{onLoad:e,onUnmount:n}=t,s=i.useContext(A),[r,o]=i.useState(null);return i.useEffect(()=>{r!==null&&r.setMap(s)},[s]),i.useEffect(()=>{var a=new google.maps.BicyclingLayer;return o(a),a.setMap(s),e&&e(a),()=>{a!==null&&(n&&n(a),a.setMap(null))}},[]),null}i.memo(Ps);class Ds extends i.PureComponent{constructor(){super(...arguments),v(this,"state",{bicyclingLayer:null}),v(this,"setBicyclingLayerCallback",()=>{this.state.bicyclingLayer!==null&&(this.state.bicyclingLayer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.bicyclingLayer))})}componentDidMount(){var e=new google.maps.BicyclingLayer;this.setState(()=>({bicyclingLayer:e}),this.setBicyclingLayerCallback)}componentWillUnmount(){this.state.bicyclingLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))}render(){return null}}v(Ds,"contextType",A);function Is(t){var{onLoad:e,onUnmount:n}=t,s=i.useContext(A),[r,o]=i.useState(null);return i.useEffect(()=>{r!==null&&r.setMap(s)},[s]),i.useEffect(()=>{var a=new google.maps.TransitLayer;return o(a),a.setMap(s),e&&e(a),()=>{r!==null&&(n&&n(r),r.setMap(null))}},[]),null}i.memo(Is);class js extends i.PureComponent{constructor(){super(...arguments),v(this,"state",{transitLayer:null}),v(this,"setTransitLayerCallback",()=>{this.state.transitLayer!==null&&(this.state.transitLayer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.transitLayer))})}componentDidMount(){var e=new google.maps.TransitLayer;this.setState(function(){return{transitLayer:e}},this.setTransitLayerCallback)}componentWillUnmount(){this.state.transitLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))}render(){return null}}v(js,"contextType",A);function At(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function _e(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};
9e%2?At(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):At(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var zt={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},_t={drawingMode(t,e){t.setDrawingMode(e)},options(t,e){t.setOptions(e)}};function Ts(t){var{options:e,drawingMode:n,onCircleComplete:s,onMarkerComplete:r,onOverlayComplete:o,onPolygonComplete:a,onPolylineComplete:l,onRectangleComplete:u,onLoad:g,onUnmount:p}=t,h=i.useContext(A),[c,f]=i.useState(null),[d,w]=i.useState(null),[y,S]=i.useState(null),[E,P]=i.useState(null),[C,m]=i.useState(null),[M,x]=i.useState(null),[D,b]=i.useState(null);return i.useEffect(()=>{c!==null&&c.setMap(h)},[h]),i.useEffect(()=>{e&&c!==null&&c.setOptions(e)},[c,e]),i.useEffect(()=>{c!==null&&c.setDrawingMode(n??null)},[c,n]),i.useEffect(()=>{c&&s&&(d!==null&&google.maps.event.removeListener(d),w(google.maps.event.addListener(c,"circlecomplete",s)))},[c,s]),i.useEffect(()=>{c&&r&&(y!==null&&google.maps.event.removeListener(y),S(google.maps.event.addListener(c,"markercomplete",r)))},[c,r]),i.useEffect(()=>{c&&o&&(E!==null&&google.maps.event.removeListener(E),P(google.maps.event.addListener(c,"overlaycomplete",o)))},[c,o]),i.useEffect(()=>{c&&a&&(C!==null&&google.maps.event.removeListener(C),m(google.maps.event.addListener(c,"polygoncomplete",a)))},[c,a]),i.useEffect(()=>{c&&l&&(M!==null&&google.maps.event.removeListener(M),x(google.maps.event.addListener(c,"polylinecomplete",l)))},[c,l]),i.useEffect(()=>{c&&u&&(D!==null&&google.maps.event.removeListener(D),b(google.maps.event.addListener(c,"rectanglecomplete",u)))},[c,u]),i.useEffect(()=>{se(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);var k=new google.maps.drawing.DrawingManager(_e(_e({},e),{},{map:h}));return n&&k.setDrawingMode(n),s&&w(google.maps.event.addListener(k,"circlecomplete",s)),r&&S(google.maps.event.addListener(k,"markercomplete",r)),o&&P(google.maps.event.addListener(k,"overlaycomplete",o)),a&&m(google.maps.event.addListener(k,"polygoncomplete",a)),l&&x(google.maps.event.addListener(k,"polylinecomplete",l)),u&&b(google.maps.event.addListener(k,"rectanglecomplete",u)),f(k),g&&g(k),()=>{c!==null&&(d&&google.maps.event.removeListener(d),y&&google.maps.event.removeListener(y),E&&google.maps.event.removeListener(E),C&&google.maps.event.removeListener(C),M&&google.maps.event.removeListener(M),D&&google.maps.event.removeListener(D),p&&p(c),c.setMap(null))}},[]),null}i.memo(Ts);class Bs extends i.PureComponent{constructor(e){super(e),v(this,"registeredEvents",[]),v(this,"state",{drawingManager:null}),v(this,"setDrawingManagerCallback",()=>{this.state.drawingManager!==null&&this.props.onLoad&&this.props.onLoad(this.state.drawingManager)}),se(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing)}componentDidMount(){var e=new google.maps.drawing.DrawingManager(_e(_e({},this.props.options),{},{map:this.context}));this.registeredEvents=_({updaterMap:_t,eventMap:zt,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{drawingManager:e}},this.setDrawingManagerCallback)}componentDidUpdate(e){this.state.drawingManager!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:_t,eventMap:zt,prevProps:e,nextProps:this.props,instance:this.state.drawingManager}))}componentWillUnmount(){this.state.drawingManager!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),Z(this.registeredEvents),this.state.drawingManager.setMap(null))}render(){return null}}v(Bs,"contextType",A);function Zt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function ce(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};
9e%2?Zt(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Zt(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var Vt={onAnimationChanged:"animation_changed",onClick:"click",onClickableChanged:"clickable_changed",onCursorChanged:"cursor_changed",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDraggableChanged:"draggable_changed",onDragStart:"dragstart",onFlatChanged:"flat_changed",onIconChanged:"icon_changed",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onPositionChanged:"position_changed",onRightClick:"rightclick",onShapeChanged:"shape_changed",onTitleChanged:"title_changed",onVisibleChanged:"visible_changed",onZindexChanged:"zindex_changed"},Wt={animation(t,e){t.setAnimation(e)},clickable(t,e){t.setClickable(e)},cursor(t,e){t.setCursor(e)},draggable(t,e){t.setDraggable(e)},icon(t,e){t.setIcon(e)},label(t,e){t.setLabel(e)},map(t,e){t.setMap(e)},opacity(t,e){t.setOpacity(e)},options(t,e){t.setOptions(e)},position(t,e){t.setPosition(e)},shape(t,e){t.setShape(e)},title(t,e){t.setTitle(e)},visible(t,e){t.setVisible(e)},zIndex(t,e){t.setZIndex(e)}},Ze={};function Rs(t){var{position:e,options:n,clusterer:s,noClustererRedraw:r,children:o,draggable:a,visible:l,animation:u,clickable:g,cursor:p,icon:h,label:c,opacity:f,shape:d,title:w,zIndex:y,onClick:S,onDblClick:E,onDrag:P,onDragEnd:C,onDragStart:m,onMouseOut:M,onMouseOver:x,onMouseUp:D,onMouseDown:b,onRightClick:k,onClickableChanged:O,onCursorChanged:U,onAnimationChanged:V,onDraggableChanged:T,onFlatChanged:B,onIconChanged:W,onPositionChanged:J,onShapeChanged:N,onTitleChanged:K,onVisibleChanged:F,onZindexChanged:q,onLoad:Y,onUnmount:j}=t,Q=i.useContext(A),[L,te]=i.useState(null),[ee,z]=i.useState(null),[ne,I]=i.useState(null),[$,oe]=i.useState(null),[ae,fe]=i.useState(null),[X,it]=i.useState(null),[Me,rt]=i.useState(null),[Ee,ot]=i.useState(null),[we,at]=i.useState(null),[xe,lt]=i.useState(null),[ut,pt]=i.useState(null),[Se,dt]=i.useState(null),[ke,ct]=i.useState(null),[Oe,gt]=i.useState(null),[Pe,ht]=i.useState(null),[De,ft]=i.useState(null),[Ie,vt]=i.useState(null),[je,mt]=i.useState(null),[Lt,yt]=i.useState(null),[Te,bt]=i.useState(null),[Be,Ct]=i.useState(null),[Re,Mt]=i.useState(null);i.useEffect(()=>{L!==null&&L.setMap(Q)},[Q]),i.useEffect(()=>{typeof n<"u"&&L!==null&&L.setOptions(n)},[L,n]),i.useEffect(()=>{typeof a<"u"&&L!==null&&L.setDraggable(a)},[L,a]),i.useEffect(()=>{e&&L!==null&&L.setPosition(e)},[L,e]),i.useEffect(()=>{typeof l<"u"&&L!==null&&L.setVisible(l)},[L,l]),i.useEffect(()=>{L==null||L.setAnimation(u)},[L,u]),i.useEffect(()=>{L&&g!==void 0&&L.setClickable(g)},[L,g]),i.useEffect(()=>{L&&p!==void 0&&L.setCursor(p)},[L,p]),i.useEffect(()=>{L&&h!==void 0&&L.setIcon(h)},[L,h]),i.useEffect(()=>{L&&c!==void 0&&L.setLabel(c)},[L,c]),i.useEffect(()=>{L&&f!==void 0&&L.setOpacity(f)},[L,f]),i.useEffect(()=>{L&&d!==void 0&&L.setShape(d)},[L,d]),i.useEffect(()=>{L&&w!==void 0&&L.setTitle(w)},[L,w]),i.useEffect(()=>{L&&y!==void 0&&L.setZIndex(y)},[L,y]),i.useEffect(()=>{L&&E&&(ee!==null&&google.maps.event.removeListener(ee),z(google.maps.event.addListener(L,"dblclick",E)))},[E]),i.useEffect(()=>{L&&C&&(ne!==null&&google.maps.event.removeListener(ne),I(google.maps.event.addListener(L,"dragend",C)))},[C]),i.useEffect(()=>{L&&m&&($!==null&&google.maps.event.removeListener($),oe(google.maps.event.addListener(L,"dragstart",m)))},[m]),i.useEffect(()=>{L&&b&&(ae!==null&&google.maps.event.removeListener(ae),fe(google.maps.event.addListener(L,"mousedown",b)))},[b]),i.useEffect(()=>{L&&M&&(X!==null&&google.maps.event.removeListener(X),it(google.maps.event.addListener(L,"mouseout",M)))},[M]),i.useEffect(()=>{L&&x&&(Me!==null&&google.maps.event.removeListener(Me),rt(google.maps.event.addListener(L,"mouseover",x)))},[x]),i.useEffect(()=>{L&&D&&(Ee!==null&&google.maps.event.removeListener(Ee),ot(google.maps.event.addListener(L,"mouseup",D)))},[D]),i.useEffect(()=>{L&&k&&(we!==null&&google.maps.event.removeListener(we),at(google.maps.event.addListener(L,"rightclick",k)))},[k]),i.useEffect(()=>{L&&S&&(xe!==null&&google.maps.event.removeListener(xe),lt(google.maps.event.addListener(L,"click",S)))},[S]),i.useEffect(()=>{L&&P&&(ut!==null&&google.maps.event.removeListener(ut),pt(google.maps.event.addListener(L,"drag",P)))},[P]),i.useEffect(()=>{L&&O&&(Se!==null&&google.maps.event.removeListener(Se),dt(google.maps.event.addListener(L,"clickable_changed",O)))},[O]),i.useEffect(()=>{L&&U&&(ke!==null&&google.maps.event.removeListener(ke),ct(google.maps.event.addListener(L,"cursor_changed",U)))},[U]),i.useEffect(()=>{L&&V&&(Oe!==null&&google.maps.event.removeListener(Oe),gt(google.maps.event.addListener(L,"animation_changed",V)))},[V]),i.useEffect(()=>{L&&T&&(Pe!==null&&google.maps.event.removeListener(Pe),ht(google.maps.event.addListener(L,"draggable_changed",T)))},[T]),i.useEffect(()=>
9{L&&B&&(De!==null&&google.maps.event.removeListener(De),ft(google.maps.event.addListener(L,"flat_changed",B)))},[B]),i.useEffect(()=>{L&&W&&(Ie!==null&&google.maps.event.removeListener(Ie),vt(google.maps.event.addListener(L,"icon_changed",W)))},[W]),i.useEffect(()=>{L&&J&&(je!==null&&google.maps.event.removeListener(je),mt(google.maps.event.addListener(L,"position_changed",J)))},[J]),i.useEffect(()=>{L&&N&&(Lt!==null&&google.maps.event.removeListener(Lt),yt(google.maps.event.addListener(L,"shape_changed",N)))},[N]),i.useEffect(()=>{L&&K&&(Te!==null&&google.maps.event.removeListener(Te),bt(google.maps.event.addListener(L,"title_changed",K)))},[K]),i.useEffect(()=>{L&&F&&(Be!==null&&google.maps.event.removeListener(Be),Ct(google.maps.event.addListener(L,"visible_changed",F)))},[F]),i.useEffect(()=>{L&&q&&(Re!==null&&google.maps.event.removeListener(Re),Mt(google.maps.event.addListener(L,"zindex_changed",q)))},[q]),i.useEffect(()=>{var ve=ce(ce(ce({},n||Ze),s?Ze:{map:Q}),{},{position:e}),R=new google.maps.Marker(ve);return s?s.addMarker(R,!!r):R.setMap(Q),e&&R.setPosition(e),typeof l<"u"&&R.setVisible(l),typeof a<"u"&&R.setDraggable(a),typeof g<"u"&&R.setClickable(g),typeof p=="string"&&R.setCursor(p),h&&R.setIcon(h),typeof c<"u"&&R.setLabel(c),typeof f<"u"&&R.setOpacity(f),d&&R.setShape(d),typeof w=="string"&&R.setTitle(w),typeof y=="number"&&R.setZIndex(y),E&&z(google.maps.event.addListener(R,"dblclick",E)),C&&I(google.maps.event.addListener(R,"dragend",C)),m&&oe(google.maps.event.addListener(R,"dragstart",m)),b&&fe(google.maps.event.addListener(R,"mousedown",b)),M&&it(google.maps.event.addListener(R,"mouseout",M)),x&&rt(google.maps.event.addListener(R,"mouseover",x)),D&&ot(google.maps.event.addListener(R,"mouseup",D)),k&&at(google.maps.event.addListener(R,"rightclick",k)),S&<(google.maps.event.addListener(R,"click",S)),P&&pt(google.maps.event.addListener(R,"drag",P)),O&&dt(google.maps.event.addListener(R,"clickable_changed",O)),U&&ct(google.maps.event.addListener(R,"cursor_changed",U)),V&>(google.maps.event.addListener(R,"animation_changed",V)),T&&ht(google.maps.event.addListener(R,"draggable_changed",T)),B&&ft(google.maps.event.addListener(R,"flat_changed",B)),W&&vt(google.maps.event.addListener(R,"icon_changed",W)),J&&mt(google.maps.event.addListener(R,"position_changed",J)),N&&yt(google.maps.event.addListener(R,"shape_changed",N)),K&&bt(google.maps.event.addListener(R,"title_changed",K)),F&&Ct(google.maps.event.addListener(R,"visible_changed",F)),q&&Mt(google.maps.event.addListener(R,"zindex_changed",q)),te(R),Y&&Y(R),()=>{ee!==null&&google.maps.event.removeListener(ee),ne!==null&&google.maps.event.removeListener(ne),$!==null&&google.maps.event.removeListener($),ae!==null&&google.maps.event.removeListener(ae),X!==null&&google.maps.event.removeListener(X),Me!==null&&google.maps.event.removeListener(Me),Ee!==null&&google.maps.event.removeListener(Ee),we!==null&&google.maps.event.removeListener(we),xe!==null&&google.maps.event.removeListener(xe),Se!==null&&google.maps.event.removeListener(Se),ke!==null&&google.maps.event.removeListener(ke),Oe!==null&&google.maps.event.removeListener(Oe),Pe!==null&&google.maps.event.removeListener(Pe),De!==null&&google.maps.event.removeListener(De),Ie!==null&&google.maps.event.removeListener(Ie),je!==null&&google.maps.event.removeListener(je),Te!==null&&google.maps.event.removeListener(Te),Be!==null&&google.maps.event.removeListener(Be),Re!==null&&google.maps.event.removeListener(Re),j&&j(R),s?s.removeMarker(R,!!r):R&&R.setMap(null)}},[]);var as=i.useMemo(()=>o?i.Children.map(o,ve=>{if(!i.isValidElement(ve))return ve;var R=ve;return i.cloneElement(R,{anchor:L})}):null,[o,L]);return G.jsx(G.Fragment,{children:as})||null}var Us=i.memo(Rs);class As extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[])}componentDidMount(){var e=this;return Hn(function*(){var n=ce(ce(ce({},e.props.options||Ze),e.props.clusterer?Ze:{map:e.context}),{},{position:e.props.position});e.marker=new google.maps.Marker(n),e.props.clusterer?e.props.clusterer.addMarker(e.marker,!!e.props.noClustererRedraw):e.marker.setMap(e.context),e.registeredEvents=_({updaterMap:Wt,eventMap:Vt,prevProps:{},nextProps:e.props,instance:e.marker}),e.props.onLoad&&e.props.onLoad(e.marker)})()}componentDidUpdate(e){this.marker&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:Wt,eventMap:Vt,prevProps:e,nextProps:this.props,instance:this.marker}))}componentWillUnmount(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),Z(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))}render(){var e=this.props.children?i.Children.map(this.props.children,n=>{if(!i.isValidElement(n))return n;var s=n;
9return i.cloneElement(s,{anchor:this.marker})}):null;return e||null}}v(As,"contextType",A);var zs=function(){function t(e,n){e.getClusterer().extend(t,google.maps.OverlayView),this.cluster=e,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=n,this.center=void 0,this.div=null,this.sums=null,this.visible=!1,this.boundsChangedListener=null,this.url="",this.height=0,this.width=0,this.anchorText=[0,0],this.anchorIcon=[0,0],this.textColor="black",this.textSize=11,this.textDecoration="none",this.fontWeight="bold",this.fontStyle="normal",this.fontFamily="Arial,sans-serif",this.backgroundPosition="0 0",this.cMouseDownInCluster=null,this.cDraggingMapByCluster=null,this.timeOut=null,this.setMap(e.getMap()),this.onBoundsChanged=this.onBoundsChanged.bind(this),this.onMouseDown=this.onMouseDown.bind(this),this.onClick=this.onClick.bind(this),this.onMouseOver=this.onMouseOver.bind(this),this.onMouseOut=this.onMouseOut.bind(this),this.onAdd=this.onAdd.bind(this),this.onRemove=this.onRemove.bind(this),this.draw=this.draw.bind(this),this.hide=this.hide.bind(this),this.show=this.show.bind(this),this.useStyle=this.useStyle.bind(this),this.setCenter=this.setCenter.bind(this),this.getPosFromLatLng=this.getPosFromLatLng.bind(this)}return t.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},t.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},t.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var n=this.cluster.getClusterer();if(google.maps.event.trigger(n,"click",this.cluster),google.maps.event.trigger(n,"clusterclick",this.cluster),n.getZoomOnClick()){var s=n.getMaxZoom(),r=this.cluster.getBounds(),o=n.getMap();o!==null&&"fitBounds"in o&&o.fitBounds(r),this.timeOut=window.setTimeout(function(){var a=n.getMap();if(a!==null){"fitBounds"in a&&a.fitBounds(r);var l=a.getZoom()||0;s!==null&&l>s&&a.setZoom(s+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},t.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},t.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},t.prototype.onAdd=function(){var e;this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),(e=this.getPanes())===null||e===void 0||e.overlayMouseTarget.appendChild(this.div);var n=this.getMap();n!==null&&(this.boundsChangedListener=google.maps.event.addListener(n,"bounds_changed",this.onBoundsChanged),this.div.addEventListener("mousedown",this.onMouseDown),this.div.addEventListener("click",this.onClick),this.div.addEventListener("mouseover",this.onMouseOver),this.div.addEventListener("mouseout",this.onMouseOut))},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),this.boundsChangedListener!==null&&google.maps.event.removeListener(this.boundsChangedListener),this.div.removeEventListener("mousedown",this.onMouseDown),this.div.removeEventListener("click",this.onClick),this.div.removeEventListener("mouseover",this.onMouseOver),this.div.removeEventListener("mouseout",this.onMouseOut),this.div.parentNode.removeChild(this.div),this.timeOut!==null&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},t.prototype.draw=function(){if(this.visible&&this.div!==null&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=e!==null?"".concat(e.y,"px"):"0",this.div.style.left=e!==null?"".concat(e.x,"px"):"0"}},t.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},t.prototype.show=function(){var e,n,s,r,o,a;if(this.div&&this.center){var l=this.sums===null||typeof this.sums.title>"u"||this.sums.title===""?this.cluster.getClusterer().getTitle():this.sums.title,u=this.backgroundPosition.split(" "),g=parseInt(((e=u[0])===null||e===void 0?void 0:e.replace(/^\s+|\s+$/g,""))||"0",10),p=parseInt(((n=u[1])===null||n===void 0?void 0:n.replace(/^\s+|\s+$/g,""))||"0",10),h=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(h!==null?"".concat(h.y,"px"):"0","; left: ").concat(h!==null?"".concat(h.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var c=document.createElement("img");c.alt=l,c.src=this.url,c.width=this.width,c.height=this.height,c.setAttribute("style","position: absolute; top: ".concat(p,"px; left: ").concat(g,"px")),this.cluster.getClusterer().enableRetinaIcons||(c.style.clip="rect(-".concat(p,"px, -").concat(g+this.width,"px, -").concat(p+this.height,", -").concat(g,")"));var f=document.createElement("div");f.setAttribute("style","position: absolute; top: ".concat(this.anchorText[0],"px; left: ").concat(this.anchorText[1],"px; color: ").concat(this.textColor,"; font-size: ").concat(this.textSize,"px; font-family: ").concat(this.fontFamily,"; font-weight: ").concat(this.fontWeight,"; fontStyle: ").concat(this.fontStyle,"; text-decoration: ").concat(this.textDecoration,"; text-align: center; width: ").concat(this.width,"px; line-height: ").concat(this.height,"px")),!((s=this.sums)===null||s===void 0)&&s.text&&(f.innerText="".concat((r=this.sums)===null||r===void 0?void 0:r.text)),!((o=this.sums)===null||o===void 0)&&o.html&&(f.innerHTML="".concat((a=this.sums)===null||a===void 0?void 0:a.html)),this.div.innerHTML="",this.div.appendChild(c),this.div.appendChild(f),this.div.title=l,this.div.style.display=""}this.visible=!0},t.prototype.useStyle=function(e){this.sums=e;var n=this.cluster.getClusterer().getStyles(),s=n[Math.min(n.length-1,Math.max(0,e.index-1))];s&&(this.url=s.url,this.height=s.height,this.width=s.width,s.className&&(this.className="".concat(this.clusterClassName," ").concat(s.className)),this.anchorText=s.anch
9orText||[0,0],this.anchorIcon=s.anchorIcon||[this.height/2,this.width/2],this.textColor=s.textColor||"black",this.textSize=s.textSize||11,this.textDecoration=s.textDecoration||"none",this.fontWeight=s.fontWeight||"bold",this.fontStyle=s.fontStyle||"normal",this.fontFamily=s.fontFamily||"Arial,sans-serif",this.backgroundPosition=s.backgroundPosition||"0 0")},t.prototype.setCenter=function(e){this.center=e},t.prototype.getPosFromLatLng=function(e){var n=this.getProjection().fromLatLngToDivPixel(e);return n!==null&&(n.x-=this.anchorIcon[1],n.y-=this.anchorIcon[0]),n},t}(),_s=function(){function t(e){this.markerClusterer=e,this.map=this.markerClusterer.getMap(),this.gridSize=this.markerClusterer.getGridSize(),this.minClusterSize=this.markerClusterer.getMinimumClusterSize(),this.averageCenter=this.markerClusterer.getAverageCenter(),this.markers=[],this.center=void 0,this.bounds=null,this.clusterIcon=new zs(this,this.markerClusterer.getStyles()),this.getSize=this.getSize.bind(this),this.getMarkers=this.getMarkers.bind(this),this.getCenter=this.getCenter.bind(this),this.getMap=this.getMap.bind(this),this.getClusterer=this.getClusterer.bind(this),this.getBounds=this.getBounds.bind(this),this.remove=this.remove.bind(this),this.addMarker=this.addMarker.bind(this),this.isMarkerInClusterBounds=this.isMarkerInClusterBounds.bind(this),this.calculateBounds=this.calculateBounds.bind(this),this.updateIcon=this.updateIcon.bind(this),this.isMarkerAlreadyAdded=this.isMarkerAlreadyAdded.bind(this)}return t.prototype.getSize=function(){return this.markers.length},t.prototype.getMarkers=function(){return this.markers},t.prototype.getCenter=function(){return this.center},t.prototype.getMap=function(){return this.map},t.prototype.getClusterer=function(){return this.markerClusterer},t.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),n=this.getMarkers(),s=0,r=n;s<r.length;s++){var o=r[s],a=o.getPosition();a&&e.extend(a)}return e},t.prototype.remove=function(){this.clusterIcon.setMap(null),this.markers=[],delete this.markers},t.prototype.addMarker=function(e){var n;if(this.isMarkerAlreadyAdded(e))return!1;if(this.center){if(this.averageCenter){var s=e.getPosition();if(s){var r=this.markers.length+1;this.center=new google.maps.LatLng((this.center.lat()*(r-1)+s.lat())/r,(this.center.lng()*(r-1)+s.lng())/r),this.calculateBounds()}}}else{var s=e.getPosition();s&&(this.center=s,this.calculateBounds())}e.isAdded=!0,this.markers.push(e);var o=this.markers.length,a=this.markerClusterer.getMaxZoom(),l=(n=this.map)===null||n===void 0?void 0:n.getZoom();if(a!==null&&typeof l<"u"&&l>a)e.getMap()!==this.map&&e.setMap(this.map);else if(o<this.minClusterSize)e.getMap()!==this.map&&e.setMap(this.map);else if(o===this.minClusterSize)for(var u=0,g=this.markers;u<g.length;u++){var p=g[u];p.setMap(null)}else e.setMap(null);return!0},t.prototype.isMarkerInClusterBounds=function(e){if(this.bounds!==null){var n=e.getPosition();if(n)return this.bounds.contains(n)}return!1},t.prototype.calculateBounds=function(){this.bounds=this.markerClusterer.getExtendedBounds(new google.maps.LatLngBounds(this.center,this.center))},t.prototype.updateIcon=function(){var e,n=this.markers.length,s=this.markerClusterer.getMaxZoom(),r=(e=this.map)===null||e===void 0?void 0:e.getZoom();if(s!==null&&typeof r<"u"&&r>s){this.clusterIcon.hide();return}if(n<this.minClusterSize){this.clusterIcon.hide();return}this.center&&this.clusterIcon.setCenter(this.center),this.clusterIcon.useStyle(this.markerClusterer.getCalculator()(this.markers,this.markerClusterer.getStyles().length)),this.clusterIcon.show()},t.prototype.isMarkerAlreadyAdded=function(e){if(this.markers.includes)return this.markers.includes(e);for(var n=0;n<this.markers.length;n++)if(e===this.markers[n])return!0;return!1},t}();function Zs(t,e){var n=t.length,s=n.toString().length,r=Math.min(s,e);return{text:n.toString(),index:r,title:""}}var Vs=2e3,Ws=500,Ns="https://developers.google.com/maps/documentation/javascript/examples/markerclusterer/m",Fs="png",$s=[53,56,66,78,90],Hs="cluster",Qn=function(){function t(e,n,s){n===void 0&&(n=[]),s===void 0&&(s={}),this.getMinimumClusterSize=this.getMinimumClusterSize.bind(this),this.setMinimumClusterSize=this.setMinimumClusterSize.bind(this),this.getEnableRetinaIcons=this.getEnableRetinaIcons.bind(this),this.setEnableRetinaIcons=this.setEnableRetinaIcons.bind(this),this.addToClosestCluster=this.addToClosestCluster.bind(this),this.getImageExtension=this.getImageExtension.bind(this),this.setImageExtension=this.setImageExtension.bind(this),this.getExtendedBounds=this.getExtendedBounds.bind(this),this.getAverageCenter=this.getAverageCenter.bind(this),this.setAverageCenter=this.setAverageCenter.bind(this),this.getTotalClusters=this.getTotalClusters.bind(this),this.fitMapToMarkers=this.fitMapToMarkers.bind(this),this.getIgnoreHidden=this.getIgnoreHidden.bind(this),this.setIgnoreHidden=this.setIgnoreHidden.bind(this),this.getClusterClass=this.getClusterClass.bind(this),this.setClusterClass=this.setClusterClass.bind(this),this.getTotalMarkers=this.getTotalMarkers.bind(this),this.getZoomOnClick=this.getZoomOnClick.bind(this),this.setZoomOnClick=this.setZoomOnClick.bind(this),this.getBatchSizeIE=this.getBatchSizeIE.bind(this),this.setBatchSizeIE=this.setBatchSizeIE.bind(this),this.createCluster
9s=this.createClusters.bind(this),this.onZoomChanged=this.onZoomChanged.bind(this),this.getImageSizes=this.getImageSizes.bind(this),this.setImageSizes=this.setImageSizes.bind(this),this.getCalculator=this.getCalculator.bind(this),this.setCalculator=this.setCalculator.bind(this),this.removeMarkers=this.removeMarkers.bind(this),this.resetViewport=this.resetViewport.bind(this),this.getImagePath=this.getImagePath.bind(this),this.setImagePath=this.setImagePath.bind(this),this.pushMarkerTo=this.pushMarkerTo.bind(this),this.removeMarker=this.removeMarker.bind(this),this.clearMarkers=this.clearMarkers.bind(this),this.setupStyles=this.setupStyles.bind(this),this.getGridSize=this.getGridSize.bind(this),this.setGridSize=this.setGridSize.bind(this),this.getClusters=this.getClusters.bind(this),this.getMaxZoom=this.getMaxZoom.bind(this),this.setMaxZoom=this.setMaxZoom.bind(this),this.getMarkers=this.getMarkers.bind(this),this.addMarkers=this.addMarkers.bind(this),this.getStyles=this.getStyles.bind(this),this.setStyles=this.setStyles.bind(this),this.addMarker=this.addMarker.bind(this),this.onRemove=this.onRemove.bind(this),this.getTitle=this.getTitle.bind(this),this.setTitle=this.setTitle.bind(this),this.repaint=this.repaint.bind(this),this.onIdle=this.onIdle.bind(this),this.redraw=this.redraw.bind(this),this.onAdd=this.onAdd.bind(this),this.draw=this.draw.bind(this),this.extend=this.extend.bind(this),this.extend(t,google.maps.OverlayView),this.markers=[],this.clusters=[],this.listeners=[],this.activeMap=null,this.ready=!1,this.gridSize=s.gridSize||60,this.minClusterSize=s.minimumClusterSize||2,this.maxZoom=s.maxZoom||null,this.styles=s.styles||[],this.title=s.title||"",this.zoomOnClick=!0,s.zoomOnClick!==void 0&&(this.zoomOnClick=s.zoomOnClick),this.averageCenter=!1,s.averageCenter!==void 0&&(this.averageCenter=s.averageCenter),this.ignoreHidden=!1,s.ignoreHidden!==void 0&&(this.ignoreHidden=s.ignoreHidden),this.enableRetinaIcons=!1,s.enableRetinaIcons!==void 0&&(this.enableRetinaIcons=s.enableRetinaIcons),this.imagePath=s.imagePath||Ns,this.imageExtension=s.imageExtension||Fs,this.imageSizes=s.imageSizes||$s,this.calculator=s.calculator||Zs,this.batchSize=s.batchSize||Vs,this.batchSizeIE=s.batchSizeIE||Ws,this.clusterClass=s.clusterClass||Hs,navigator.userAgent.toLowerCase().indexOf("msie")!==-1&&(this.batchSize=this.batchSizeIE),this.timerRefStatic=null,this.setupStyles(),this.addMarkers(n,!0),this.setMap(e)}return t.prototype.onZoomChanged=function(){var e,n;this.resetViewport(!1),(((e=this.getMap())===null||e===void 0?void 0:e.getZoom())===(this.get("minZoom")||0)||((n=this.getMap())===null||n===void 0?void 0:n.getZoom())===this.get("maxZoom"))&&google.maps.event.trigger(this,"idle")},t.prototype.onIdle=function(){this.redraw()},t.prototype.onAdd=function(){var e=this.getMap();this.activeMap=e,this.ready=!0,this.repaint(),e!==null&&(this.listeners=[google.maps.event.addListener(e,"zoom_changed",this.onZoomChanged),google.maps.event.addListener(e,"idle",this.onIdle)])},t.prototype.onRemove=function(){for(var e=0,n=this.markers;e<n.length;e++){var s=n[e];s.getMap()!==this.activeMap&&s.setMap(this.activeMap)}
9for(var r=0,o=this.clusters;r<o.length;r++){var a=o[r];a.remove()}this.clusters=[];for(var l=0,u=this.listeners;l<u.length;l++){var g=u[l];google.maps.event.removeListener(g)}this.listeners=[],this.activeMap=null,this.ready=!1},t.prototype.draw=function(){},t.prototype.getMap=function(){return null},t.prototype.getPanes=function(){return null},t.prototype.getProjection=function(){return{fromContainerPixelToLatLng:function(){return null},fromDivPixelToLatLng:function(){return null},fromLatLngToContainerPixel:function(){return null},fromLatLngToDivPixel:function(){return null},getVisibleRegion:function(){return null},getWorldWidth:function(){return 0}}},t.prototype.setMap=function(){},t.prototype.addListener=function(){return{remove:function(){}}},t.prototype.bindTo=function(){},t.prototype.get=function(){},t.prototype.notify=function(){},t.prototype.set=function(){},t.prototype.setValues=function(){},t.prototype.unbind=function(){},t.prototype.unbindAll=function(){},t.prototype.setupStyles=function(){if(!(this.styles.length>0))for(var e=0;e<this.imageSizes.length;e++)this.styles.push({url:"".concat(this.imagePath+(e+1),".").concat(this.imageExtension),height:this.imageSizes[e]||0,width:this.imageSizes[e]||0})},t.prototype.fitMapToMarkers=function(){for(var e=this.getMarkers(),n=new google.maps.LatLngBounds,s=0,r=e;s<r.length;s++){var o=r[s],a=o.getPosition();a&&n.extend(a)}var l=this.getMap();l!==null&&"fitBounds"in l&&l.fitBounds(n)},t.prototype.getGridSize=function(){return this.gridSize},t.prototype.setGridSize=function(e){this.gridSize=e},t.prototype.getMinimumClusterSize=function(){return this.minClusterSize},t.prototype.setMinimumClusterSize=function(e){this.minClusterSize=e},t.prototype.getMaxZoom=function(){return this.maxZoom},t.prototype.setMaxZoom=function(e){this.maxZoom=e},t.prototype.getStyles=function(){return this.styles},t.prototype.setStyles=function(e){this.styles=e},t.prototype.getTitle=function(){return this.title},t.prototype.setTitle=function(e){this.title=e},t.prototype.getZoomOnClick=function(){return this.zoomOnClick},t.prototype.setZoomOnClick=function(e){this.zoomOnClick=e},t.prototype.getAverageCenter=function(){return this.averageCenter},t.prototype.setAverageCenter=function(e){this.averageCenter=e},t.prototype.getIgnoreHidden=function(){return this.ignoreHidden},t.prototype.setIgnoreHidden=function(e){this.ignoreHidden=e},t.prototype.getEnableRetinaIcons=function(){return this.enableRetinaIcons},t.prototype.setEnableRetinaIcons=function(e){this.enableRetinaIcons=e},t.prototype.getImageExtension=function(){return this.imageExtension},t.prototype.setImageExtension=function(e){this.imageExtension=e},t.prototype.getImagePath=function(){return this.imagePath},t.prototype.setImagePath=function(e){this.imagePath=e},t.prototype.getImageSizes=function(){return this.imageSizes},t.prototype.setImageSizes=function(e){this.imageSizes=e},t.prototype.getCalculator=function(){return this.calculator},t.prototype.setCalculator=function(e){this.calculator=e},t.prototype.getBatchSizeIE=function(){return this.batchSizeIE},t.prototype.setBatchSizeIE=function(e){this.batchSizeIE=e},t.prototype.getClusterClass=function(){return this.clusterClass},t.prototype.setClusterClass=function(e){this.clusterClass=e},t.prototype.getMarkers=function(){return this.markers},t.prototype.getTotalMarkers=function(){return this.markers.length},t.prototype.getClusters=function(){return this.clusters},t.prototype.getTotalClusters=function(){return this.clusters.length},t.prototype.addMarker=function(e,n){this.pushMarkerTo(e),n||this.redraw()},t.prototype.addMarkers=function(e,n){for(var s in e)if(Object.prototype.hasOwnProperty.call(e,s)){var r=e[s];r&&this.pushMarkerTo(r)}n||this.redraw()},t.prototype.pushMarkerTo=function(e){var n=this;e.getDraggable()&&google.maps.event.addListener(e,"dragend",function(){n.ready&&(e.isAdded=!1,n.repaint())}),e.isAdded=!1,this.markers.push(e)},t.prototype.removeMarker_=function(e){var n=-1;if(this.markers.indexOf)n=this.markers.indexOf(e);else for(var s=0;s<this.markers.length;s++)if(e===this.markers[s]){n=s;break}return n===-1?!1:(e.setMap(null),this.markers.splice(n,1),!0)},t.prototype.removeMarker=function(e,n){var s=this.removeMarker_(e);return!n&&s&&this.repaint(),s},t.prototype.removeMarkers=function(e,n){for(var s=!1,r=0,o=e;r<o.length;r++){var a=o[r];s=s||this.removeMarker_(a)}return!n&&s&&this.repaint(),s},t.prototype.clearMarkers=function(){this.resetViewport(!0),this.markers=[]}
9,t.prototype.repaint=function(){var e=this.clusters.slice();this.clusters=[],this.resetViewport(!1),this.redraw(),setTimeout(function(){for(var s=0,r=e;s<r.length;s++){var o=r[s];o.remove()}},0)},t.prototype.getExtendedBounds=function(e){var n=this.getProjection(),s=n.fromLatLngToDivPixel(new google.maps.LatLng(e.getNorthEast().lat(),e.getNorthEast().lng()));s!==null&&(s.x+=this.gridSize,s.y-=this.gridSize);var r=n.fromLatLngToDivPixel(new google.maps.LatLng(e.getSouthWest().lat(),e.getSouthWest().lng()));if(r!==null&&(r.x-=this.gridSize,r.y+=this.gridSize),s!==null){var o=n.fromDivPixelToLatLng(s);o!==null&&e.extend(o)}if(r!==null){var a=n.fromDivPixelToLatLng(r);a!==null&&e.extend(a)}return e},t.prototype.redraw=function(){this.createClusters(0)},t.prototype.resetViewport=function(e){for(var n=0,s=this.clusters;n<s.length;n++){var r=s[n];r.remove()}this.clusters=[];for(var o=0,a=this.markers;o<a.length;o++){var l=a[o];l.isAdded=!1,e&&l.setMap(null)}},t.prototype.distanceBetweenPoints=function(e,n){var s=6371,r=(n.lat()-e.lat())*Math.PI/180,o=(n.lng()-e.lng())*Math.PI/180,a=Math.sin(r/2)*Math.sin(r/2)+Math.cos(e.lat()*Math.PI/180)*Math.cos(n.lat()*Math.PI/180)*Math.sin(o/2)*Math.sin(o/2);return s*(2*Math.atan2(Math.sqrt(a),Math.sqrt(1-a)))},t.prototype.isMarkerInBounds=function(e,n){var s=e.getPosition();return s?n.contains(s):!1},t.prototype.addToClosestCluster=function(e){for(var n,s=4e4,r=null,o=0,a=this.cluster
9s;o<a.length;o++){var l=a[o];n=l;var u=n.getCenter(),g=e.getPosition();if(u&&g){var p=this.distanceBetweenPoints(u,g);p<s&&(s=p,r=n)}}r&&r.isMarkerInClusterBounds(e)?r.addMarker(e):(n=new _s(this),n.addMarker(e),this.clusters.push(n))},t.prototype.createClusters=function(e){var n=this;if(this.ready){e===0&&(google.maps.event.trigger(this,"clusteringbegin",this),this.timerRefStatic!==null&&(window.clearTimeout(this.timerRefStatic),delete this.timerRefStatic));for(var s=this.getMap(),r=s!==null&&("getBounds"in s)?s.getBounds():null,o=(s==null?void 0:s.getZoom())||0,a=o>3?new google.maps.LatLngBounds(r==null?void 0:r.getSouthWest(),r==null?void 0:r.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),l=this.getExtendedBounds(a),u=Math.min(e+this.batchSize,this.markers.length),g=e;g<u;g++){var p=this.markers[g];p&&!p.isAdded&&this.isMarkerInBounds(p,l)&&(!this.ignoreHidden||this.ignoreHidden&&p.getVisible())&&this.addToClosestCluster(p)}if(u<this.markers.length)this.timerRefStatic=window.setTimeout(function(){n.createClusters(u)},0);else{this.timerRefStatic=null,google.maps.event.trigger(this,"clusteringend",this);
9for(var h=0,c=this.clusters;h<c.length;h++){var f=c[h];f.updateIcon()}}}},t.prototype.extend=function(e,n){return(function(r){for(var o in r.prototype){var a=o;this.prototype[a]=r.prototype[a]}return this}).apply(e,[n])},t}();function Nt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function Gs(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Nt(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Nt(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var re={onClick:"click",onClusteringBegin:"clusteringbegin",onClusteringEnd:"clusteringend",onMouseOut:"mouseout",onMouseOver:"mouseover"},H={averageCenter(t,e){t.setAverageCenter(e)},batchSizeIE(t,e){t.setBatchSizeIE(e)},calculator(t,e){t.setCalculator(e)},clusterClass(t,e){t.setClusterClass(e)},enableRetinaIcons(t,e){t.setEnableRetinaIcons(e)},gridSize(t,e){t.setGridSize(e)},ignoreHidden(t,e){t.setIgnoreHidden(e)},imageExtension(t,e){t.setImageExtension(e)},imagePath(t,e){t.setImagePath(e)},imageSizes(t,e){t.setImageSizes(e)},maxZoom(t,e){t.setMaxZoom(e)},minimumClusterSize(t,e){t.setMinimumClusterSize(e)},styles(t,e){t.setStyles(e)},title(t,e){t.setTitle(e)},zoomOnClick(t,e){t.setZoomOnClick(e)}},Ks={};function qs(t){var{children:e,options:n,averageCenter:s,batchSizeIE:r,calculator:o,clusterClass:a,enableRetinaIcons:l,gridSize:u,ignoreHidden:g,imageExtension:p,imagePath:h,imageSizes:c,maxZoom:f,minimumClusterSize:d,styles:w,title:y,zoomOnClick:S,onClick:E,onClusteringBegin:P,onClusteringEnd:C,onMouseOver:m,onMouseOut:M,onLoad:x,onUnmount:D}=t,[b,k]=i.useState(null),O=i.useContext(A),[U,V]=i.useState(null),[T,B]=i.useState(null),[W,J]=i.useState(null),[N,K]=i.useState(null),[F,q]=i.useState(null);return i.useEffect(()=>{b&&M&&(N!==null&&google.maps.event.removeListener(N),K(google.maps.event.addListener(b,re.onMouseOut,M)))},[M]),i.useEffect(()=>{b&&m&&(F!==null&&google.maps.event.removeListener(F),q(google.maps.event.addListener(b,re.onMouseOver,m)))},[m]),i.useEffect(()=>{b&&E&&(U!==null&&google.maps.event.removeListener(U),V(google.maps.event.addListener(b,re.onClick,E)))},[E]),i.useEffect(()=>{b&&P&&(T!==null&&google.maps.event.removeListener(T),B(google.maps.event.addListener(b,re.onClusteringBegin,P)))},[P]),i.useEffect(()=>{b&&C&&(W!==null&&google.maps.event.removeListener(W),B(google.maps.event.addListener(b,re.onClusteringEnd,C)))},[C]),i.useEffect(()=>{typeof s<"u"&&b!==null&&H.averageCenter(b,s)},[b,s]),i.useEffect(()=>{typeof r<"u"&&b!==null&&H.batchSizeIE(b,r)},[b,r]),i.useEffect(()=>{typeof o<"u"&&b!==null&&H.calculator(b,o)},[b,o]),i.useEffect(()=>{typeof a<"u"&&b!==null&&H.clusterClass(b,a)},[b,a]),i.useEffect(()=>{typeof l<"u"&&b!==null&&H.enableRetinaIcons(b,l)},[b,l]),i.useEffect(()=>{typeof u<"u"&&b!==null&&H.gridSize(b,u)},[b,u]),i.useEffect(()=>{typeof g<"u"&&b!==null&&H.ignoreHidden(b,g)},[b,g]),i.useEffect(()=>{typeof p<"u"&&b!==null&&H.imageExtension(b,p)},[b,p]),i.useEffect(()=>{typeof h<"u"&&b!==null&&H.imagePath(b,h)},[b,h]),i.useEffect(()=>{typeof c<"u"&&b!==null&&H.imageSizes(b,c)},[b,c]),i.useEffect(()=>{typeof f<"u"&&b!==null&&H.maxZoom(b,f)},[b,f]),i.useEffect(()=>{typeof d<"u"&&b!==null&&H.minimumClusterSize(b,d)},[b,d]),i.useEffect(()=>{typeof w<"u"&&b!==null&&H.styles(b,w)},[b,w]),i.useEffect(()=>{typeof y<"u"&&b!==null&&H.title(b,y)},[b,y]),i.useEffect(()=>{typeof S<"u"&&b!==null&&H.zoomOnClick(b,S)},[b,S]),i.useEffect(()=>{if(O){var Y=Gs({},n||Ks),j=new Qn(O,[],Y);return s&&H.averageCenter(j,s),r&&H.batchSizeIE(j,r),o&&H.calculator(j,o),a&&H.clusterClass(j,a),l&&H.enableRetinaIcons(j,l),u&&H.gridSize(j,u),g&&H.ignoreHidden(j,g),p&&H.imageExtension(j,p),h&&H.imagePath(j,h),c&&H.imageSizes(j,c),f&&H.maxZoom(j,f),d&&H.minimumClusterSize(j,d),w&&H.styles(j,w),y&&H.title(j,y),S&&H.zoomOnClick(j,S),M&&K(google.maps.event.addListener(j,re.onMouseOut,M)),m&&q(google.maps.event.addListener(j,re.onMouseOver,m)),E&&V(google.maps.event.addListener(j,re.onClick,E)),P&&B(google.maps.event.addListener(j,re.onClusteringBegin,P)),C&&J(google.maps.event.addListener(j,re.onClusteringEnd,C)),k(j),x&&x(j),()=>{N!==null&&google.maps.event.removeListener(N),F!==null&&google.maps.event.removeListener(F),U!==null&&google.maps.event.removeListener(U),T!==null&&google.maps.event.removeListener(T),W!==null&&google.maps.event.removeListener(W),D&&D(j)}}},[]),b!==null&&e(b)||null}i.memo(qs);class Js extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{markerClusterer:null}),v(this,"setClustererCallback",()=>{this.state.markerClusterer!==null&&this.props.onLoad&&this.props.onLoad(this.state.markerClusterer)})}componentDidMount(){if(this.context){var e=new Qn(this.context,[],this.props.options);this.registeredEvents=_({updaterMap:H,eventMap:re,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({markerClusterer:e}),this.setClustererCallback)}}componentDidUpdate(e){this.state.markerClusterer&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:H,eventMap:re,prevProps:e,nextProps:this.props,instance:this.state.markerClusterer}))}componentWillUnmount(){this.state.markerClusterer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.markerClusterer),Z(this.registeredEvents),this.state.markerClusterer.setMap(null))}render(){return this.state.markerClusterer!==null?this.props.children(this.state.markerClusterer):null}}v(Js,"contextType",A);function Ft(t){t.cancelBubble=!0,t.stopPropagation&&t.stopPropagation()}var Xn=function(){function t(e){e===void 0&&(e={}),this.getCloseClickHandler=this.getCloseClickHandler.bind(this),this.closeClickHandler=this.closeClickHandler.bind(this),this.createInfoBoxDiv=this.createInfoBoxDiv.bind(this),this.addClickHandler=this.addClickHandler.bind(this),this.getCloseBoxImg=this.getCloseBoxImg.b
9ind(this),this.getBoxWidths=this.getBoxWidths.bind(this),this.setBoxStyle=this.setBoxStyle.bind(this),this.setPosition=this.setPosition.bind(this),this.getPosition=this.getPosition.bind(this),this.setOptions=this.setOptions.bind(this),this.setContent=this.setContent.bind(this),this.setVisible=this.setVisible.bind(this),this.getContent=this.getContent.bind(this),this.getVisible=this.getVisible.bind(this),this.setZIndex=this.setZIndex.bind(this),this.getZIndex=this.getZIndex.bind(this),this.onRemove=this.onRemove.bind(this),this.panBox=this.panBox.bind(this),this.extend=this.extend.bind(this),this.close=this.close.bind(this),this.draw=this.draw.bind(this),this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.open=this.open.bind(this),this.extend(t,google.maps.OverlayView),this.content=e.content||"",this.disableAutoPan=e.disableAutoPan||!1,this.maxWidth=e.maxWidth||0,this.pixelOffset=e.pixelOffset||new google.maps.Size(0,0),this.position=e.position||new google.maps.LatLng(0,0),this.zIndex=e.zIndex||null,this.boxClass=e.boxClass||"infoBox",this.boxStyle=e.boxStyle||{},this.closeBoxMargin=e.closeBoxMargin||"2px",this.closeBoxURL=e.closeBoxURL||"http://www.google.com/intl/en_us/mapfiles/close.gif",e.closeBoxURL===""&&(this.closeBoxURL=""),this.infoBoxClearance=e.infoBoxClearance||new google.maps.Size(1,1),typeof e.visible>"u"&&(typeof e.isHidden>"u"?e.visible=!0:e.visible=!e.isHidden),this.isHidden=!e.visible,this.alignBottom=e.alignBottom||!1,this.pane=e.pane||"floatPane",this.enableEventPropagation=e.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return t.prototype.createInfoBoxDiv=function(){var e=this,n=function(p){p.returnValue=!1,p.preventDefault&&p.preventDefault(),e.enableEventPropagation||Ft(p)};if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),typeof this.content=="string"?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var s=this.getPanes();if(s!==null&&s[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(this.maxWidth!==0&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var r=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-r.left-r.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var o=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"],a=0,l=o;a<l.length;a++){var u=l[a];this.eventListeners.push(google.maps.event.addListener(this.div,u,Ft))}this.eventListeners.push(google.maps.event.addListener(this.div,"mouseover",function(){e.div&&(e.div.style.cursor="default")}))}this.contextListener=google.maps.event.addListener(this.div,"contextmenu",n),google.maps.event.trigger(this,"domready")}},t.prototype.getCloseBoxImg=function(){var e="";return this.closeBoxURL!==""&&(e='<img alt=""',e+=' aria-hidden="true"',e+=" src='"+this.closeBoxURL+"'",e+=" align=right",e+=" style='",e+=" position: relative;",e+=" cursor: pointer;",e+=" margin: "+this.closeBoxMargin+";",e+="'>"),e},t.prototype.addClickHandler=function(){this.closeListener=this.div&&this.div.firstChild&&this.closeBoxURL!==""?google.maps.event.addListener(this.div.firstChild,"click",this.getCloseClickHandler()):null},t.prototype.closeClickHandler=function(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation(),google.maps.event.trigger(this,"closeclick"),this.close()},t.prototype.getCloseClickHandler=function(){return this.closeClickHandler},t.prototype.panBox=function(e){if(this.div&&!e){var n=this.getMap();if(n instanceof google.maps.Map){var s=0,r=0,o=n.getBounds();o&&!o.contains(this.position)&&n.setCenter(this.position);var a=n.getDiv(),l=a.offsetWidth,u=a.offsetHeight,g=this.pixelOffset.width,p=this.pixelOffset.height,h=this.div.offsetWidth,c=this.div.offsetHeight,f=this.infoBoxClearance.width,d=this.infoBoxClearance.height,w=this.getProjection(),y=w.fromLatLngToContainerPixel(this.position);y!==null&&(y.x<-g+f?s=y.x+g-f:y.x+h+g+f>l&&(s=y.x+h+g+f-l),this.alignBottom?y.y<-p+d+c?r=y.y+p-d-c:y.y+p+d>u&&(r=y.y+p+d-u):y.y<-p+d?r=y.y+p-d:y.y+c+p+d>u&&(r=y.y+c+p+d-u)),s===0&&r===0||n.panBy(s,r)}}},t.prototype.setBoxStyle=function(){if(this.div){this.div.className=this.boxClass,this.div.style.cssText="";var e=this.boxStyle;for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(this.div.style[n]=e[n]);if(this.div.style.webkitTransform="translateZ(0)",typeof this.div.style.opacity<"u"&&this.div.style.opacity!==""){var s=parseFloat(this.div.style.opacity||"");this.div.style.msFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+s*100+')"',this.div.style.filter="alpha(opacity="+s*100+")"}this.div.style.position="absolute",this.div.style.visibility="hidden",this.zIndex!==null&&(this.div.style.zIndex=this.zIndex+""),this.div.style.overflow||(this.div.style.overflow="auto")}},t.prototype.getBoxWidths=function(){var e={top:0,bottom:0,left:0,right:0};if(!this.div)return e;if(document.defaultView){var n=this.div.ownerDocument,s=n&&n.defaultView?n.defaultView.getComputedStyle(this.div,""):null;s&&(e.top=parseInt(s.borderTopWidth||"",10)||0,e.bottom=parseInt(s.borderBottomWidth||"",10)||0,e.left=parseInt(s.borderLeftWidth||"",10)||0,e.right=parseInt(s.borderRightWidth||"",10)||0)}else if(document.documentElement.currentStyle){var r=this.div.currentStyle;r&&(e.top=parseInt(r.borderTopWidth||"",10)||0,e.bottom=parseInt(r.borderBottomWidth||"",10)||0,e.left=parseInt(r.borderLeftWidth||"",10)||0,e.right=parseInt(r.borderRightWidth||"",10)||0)}return e},t.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.div.parentNode.removeChild(this.div),this.div=null)},t.prototype.draw=function(){if(this.createInfoBoxDiv(),this.div){var e=this.getProjection(),n=e.fromLatLngToDivPixel(this.position);n!==null&&(this.div.style.left=n.x+this.pixelOffset.width+"px",this.alignBottom?this.div.style.bottom=-(n.y+this.pixelOffset.height)+"px":this.div.style.top=n.y+this.pixelOffset.height+"px"),this.isHidden?this.div.style.visibility="hidden":this.div.style.visibility="visible"}},t.prototype.setOptions=function(e){e===void 0&&(e={}),typeof e.boxClass<"u"&&(this.boxClass=e.boxClass,this.setBoxStyle()),typeof e.boxStyle<"u"&&(this.boxStyle=e.boxStyle,this.setBoxStyle()),typeof e.content<"u"&&this.setContent(e.content),typeof e.disableAutoPan<"u"&&(this.disableAutoPan=e.disableAutoPan),typeof e.maxWidth<"u"&&(this.maxWidth=e.maxWidth),typeof e.pixelOffset<"u"&&(this.pixelOffset=e.pixelOffset),typeof e.alignBottom<"u"&&(this.alignBottom=e.alignBottom),typeof e.position<"u"&&this.setPosition(e.position),typeof e.zIndex<"u"&&this.setZIndex(e.zIndex),typeof e.closeBoxMargin<"u"&&(this.closeBoxMargin=e.closeBoxMargin),typeof e.closeBoxURL<"u"&&(this.closeBoxURL=e.closeBoxURL),typeof e.infoBoxClearance<"u"&&(this.infoBoxClearance=e.infoBoxClearance),typeof e.isHidden<"u"&&(this.isHidden=e.isHidden),typeof e.visible<"u"&&(this.isHidden=!e.visible),typeof e.enableEventPropagation<"u"&&(this.enableEventPropagation=e.enableEventPropagation),this.div&&this.draw()},t.prototype.setContent=function(e){this.content=e,this.div&&(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.fixedWidthSet||(this.div.style.width=""),typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e)),this.fixedWidthSet||(this.div.style.width=this.div.offsetWidth+"px",typeof e=="string"?this.div.innerHTML=this.getCloseBoxImg()+e:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(e))),this.addClickHandler()),google.maps.event.trigger(this,"content_changed")},t.prototype.setPosition=function(e){this.position=e,this.div&&this.draw(),google.maps.event.trigger(this,"position_changed")},t.prototype.setVisible=function(e){this.isHidden=!e,this.div&&(this.div.style.visibility=this.isHidden?"hidden":"visible")},t.prototype.setZIndex=function(e){this.zIndex=e,this.div&&(this.div.style.zIndex=e+""),google.maps.event.trigger(this,"zindex_changed")},t.prototype.getContent=function(){return this.content},t.prototype.getPosition=function(){return this.position},t.prototype.getZIndex=function(){return this.zIndex},t.prototype.getVisible=function(){var e=this.getMap();return typeof e>"u"||e===null?!1:!this.isHidden},t.prototype.show=function(){this.isHidden=!1,this.div&&(this.div.style.visibility="visible")},t.prototype.hide=function(){this.isHidden=!0,this.div&&(this.div.style.visibility="hidden")},t.prototype.open=function(e,n){var s=this;n&&(this.position=n.getPosition(),this.moveListener=google.maps.event.addListener(n,"position_changed",function(){var r=n.getPosition();s.setPosition(r)}),this.mapListener=google.maps.event.addListener(n,"map_changed",function(){s.setMap(n.map)})),this.setMap(e),this.div&&this.panBox()},t.prototype.close=function(){if(this.closeListener&&(google.maps.event.removeListener(this.closeListener),this.closeListener=null),this.eventListeners){for(var e=0,n=this.eventListeners;e<n.length;e++){var s=n[e];google.maps.event.removeListener(s)}this.eventListeners=null}this.moveListener&&(google.maps.event.removeListener(this.moveListener),this.moveListener=null),this.mapListener&&(google.maps.event.removeListener(this.mapListener),this.mapListener=null),this.contextListener&&(google.maps.event.removeListener(this.contextListener),this.contextListener=null),this.setMap(null)},t.prototype.extend=function(e,n){return(function(r){for(var o in r.prototype)Object.prototype.hasOwnProperty.call(this,o)||(this.prototype[o]=r.prototype[o]);return this}).apply(e,[n])},t}(),Ys=["position"],Qs=["position"];function $t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function Ve(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};
9e%2?$t(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):$t(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var Ht={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},Gt={options(t,e){t.setOptions(e)},position(t,e){e instanceof google.maps.LatLng?t.setPosition(e):t.setPosition(new google.maps.LatLng(e.lat,e.lng))},visible(t,e){t.setVisible(e)},zIndex(t,e){t.setZIndex(e)}},Xs={};function ei(t){var{children:e,anchor:n,options:s,position:r,zIndex:o,onCloseClick:a,onDomReady:l,onContentChanged:u,onPositionChanged:g,onZindexChanged:p,onLoad:h,onUnmount:c}=t,f=i.useContext(A),[d,w]=i.useState(null),[y,S]=i.useState(null),[E,P]=i.useState(null),[C,m]=i.useState(null),[M,x]=i.useState(null),[D,b]=i.useState(null),k=i.useRef(null);return i.useEffect(()=>{f&&d!==null&&(d.close(),n?d.open(f,n):d.getPosition()&&d.open(f))},[f,d,n]),i.useEffect(()=>{s&&d!==null&&d.setOptions(s)},[d,s]),i.useEffect(()=>{if(r&&d!==null){var O=r instanceof google.maps.LatLng?r:new google.maps.LatLng(r.lat,r.lng);d.setPosition(O)}},[r]),i.useEffect(()=>{typeof o=="number"&&d!==null&&d.setZIndex(o)},[o]),i.useEffect(()=>{d&&a&&(y!==null&&google.maps.event.removeListener(y),S(google.maps.event.addListener(d,"closeclick",a)))},[a]),i.useEffect(()=>{d&&l&&(E!==null&&google.maps.event.removeListener(E),P(google.maps.event.addListener(d,"domready",l)))},[l]),i.useEffect(()=>{d&&u&&(C!==null&&google.maps.event.removeListener(C),m(google.maps.event.addListener(d,"content_changed",u)))},[u]),i.useEffect(()=>{d&&g&&(M!==null&&google.maps.event.removeListener(M),x(google.maps.event.addListener(d,"position_changed",g)))},[g]),i.useEffect(()=>{d&&p&&(D!==null&&google.maps.event.removeListener(D),b(google.maps.event.addListener(d,"zindex_changed",p)))},[p]),i.useEffect(()=>{if(f){var O=s||Xs,{position:U}=O,V=tt(O,Ys),T;U&&!(U instanceof google.maps.LatLng)&&(T=new google.maps.LatLng(U.lat,U.lng));var B=new Xn(Ve(Ve({},V),T?{position:T}:{}));k.current=document.createElement("div"),w(B),a&&S(google.maps.event.addListener(B,"closeclick",a)),l&&P(google.maps.event.addListener(B,"domready",l)),u&&m(google.maps.event.addListener(B,"content_changed",u)),g&&x(google.maps.event.addListener(B,"position_changed",g)),p&&b(google.maps.event.addListener(B,"zindex_changed",p)),B.setContent(k.current),n?B.open(f,n):B.getPosition()?B.open(f):se(!1,"You must provide either an anchor or a position prop for <InfoBox>."),h&&h(B)}return()=>{d!==null&&(y&&google.maps.event.removeListener(y),C&&google.maps.event.removeListener(C),E&&google.maps.event.removeListener(E),M&&google.maps.event.removeListener(M),D&&google.maps.event.removeListener(D),c&&c(d),d.close())}},[]),k.current?ge.createPortal(i.Children.only(e),k.current):null}i.memo(ei);class ti extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"containerElement",null),v(this,"state",{infoBox:null}),v(this,"open",(e,n)=>{n?this.context!==null&&e.open(this.context,n):e.getPosition()?this.context!==null&&e.open(this.context):se(!1,"You must provide either an anchor or a position prop for <InfoBox>.")}),v(this,"setInfoBoxCallback",()=>{this.state.infoBox!==null&&this.containerElement!==null&&(this.state.infoBox.setContent(this.containerElement),this.open(this.state.infoBox,this.props.anchor),this.props.onLoad&&this.props.onLoad(this.state.infoBox))})}componentDidMount(){var e=this.props.options||{},{position:n}=e,s=tt(e,Qs),r;n&&!(n instanceof google.maps.LatLng)&&(r=new google.maps.LatLng(n.lat,n.lng));var o=new Xn(Ve(Ve({},s),r?{position:r}:{}));this.containerElement=document.createElement("div"),this.registeredEvents=_({updaterMap:Gt,eventMap:Ht,prevProps:{},nextProps:this.props,instance:o}),this.setState({infoBox:o},this.setInfoBoxCallback)}componentDidUpdate(e){var{infoBox:n}=this.state;n!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:Gt,eventMap:Ht,prevProps:e,nextProps:this.props,instance:n}))}componentWillUnmount(){var{onUnmount:e}=this.props,{infoBox:n}=this.state;n!==null&&(e&&e(n),Z(this.registeredEvents),n.close())}render(){return this.containerElement?ge.createPortal(i.Children.only(this.props.children),this.containerElement):null}}v(ti,"contextType",A);var Ke,Kt;function ni(){return Kt||(Kt=1,Ke=function t(e,n){if(e===n)return!0;
9if(e&&n&&typeof e=="object"&&typeof n=="object"){if(e.constructor!==n.constructor)return!1;var s,r,o;if(Array.isArray(e)){if(s=e.length,s!=n.length)return!1;for(r=s;r--!==0;)if(!t(e[r],n[r]))return!1;return!0}if(e.constructor===RegExp)return e.source===n.source&&e.flags===n.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===n.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===n.toString();if(o=Object.keys(e),s=o.length,s!==Object.keys(n).length)return!1;for(r=s;r--!==0;)if(!Object.prototype.hasOwnProperty.call(n,o[r]))return!1;for(r=s;r--!==0;){var a=o[r];if(!t(e[a],n[a]))return!1}return!0}return e!==e&&n!==n}),Ke}var si=ni(),qt=$n(si),Jt=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],qe=1,Le=8;class nt{static from(e){if(!(e instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");var[n,s]=new Uint8Array(e,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");var r=s>>4;if(r!==qe)throw new Error("Got v".concat(r," data when expected v").concat(qe,"."));var o=Jt[s&15];if(!o)throw new Error("Unrecognized array type.");var[a]=new Uint16Array(e,2,1),[l]=new Uint32Array(e,4,1);return new nt(l,a,o,e)}constructor(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:64,s=arguments.length>2&&arguments[2]!==void 0?arguments[2]:Float64Array,r=arguments.length>3?arguments[3]:void 0;if(isNaN(e)||e<0)throw new Error("Unpexpected numItems value: ".concat(e,"."));this.numItems=+e,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=s,this.IndexArrayType=e<65536?Uint16Array:Uint32Array;var o=Jt.indexOf(this.ArrayType),a=e*2*this.ArrayType.BYTES_PER_ELEMENT,l=e*this.IndexArrayType.BYTES_PER_ELEMENT,u=(8-l%8)%8;if(o<0)throw new Error("Unexpected typed array class: ".concat(s,"."));r&&r instanceof ArrayBuffer?(this.data=r,this.ids=new this.IndexArrayType(this.data,Le,e),this.coords=new this.ArrayType(this.data,Le+l+u,e*2),this._pos=e*2,this._finished=!0):(this.data=new ArrayBuffer(Le+a+l+u),this.ids=new this.IndexArrayType(this.data,Le,e),this.coords=new this.ArrayType(this.data,Le+l+u,e*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(qe<<4)+o]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=e)}add(e,n){var s=this._pos>>1;return this.ids[s]=s,this.coords[this._pos++]=e,this.coords[this._pos++]=n,s}finish(){var e=this._pos>>1;if(e!==this.numItems)throw new Error("Added ".concat(e," items when expected ").concat(this.numItems,"."));return Xe(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(e,n,s,r){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");for(var{ids:o,coords:a,nodeSize:l}=this,u=[0,o.length-1,0],g=[];u.length;){var p=u.pop()||0,h=u.pop()||0,c=u.pop()||0;if(h-c<=l){for(var f=c;f<=h;f++){var d=a[2*f],w=a[2*f+1];d>=e&&d<=s&&w>=n&&w<=r&&g.push(o[f])}continue}var y=c+h>>1,S=a[2*y],E=a[2*y+1];S>=e&&S<=s&&E>=n&&E<=r&&g.push(o[y]),(p===0?e<=S:n<=E)&&(u.push(c),u.push(y-1),u.push(1-p)),(p===0?s>=S:r>=E)&&(u.push(y+1),u.push(h),u.push(1-p))}return g}within(e,n,s){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");for(var{ids:r,coords:o,nodeSize:a}=this,l=[0,r.length-1,0],u=[],g=s*s;l.length;){var p=l.pop()||0,h=l.pop()||0,c=l.pop()||0;if(h-c<=a){for(var f=c;f<=h;f++)Yt(o[2*f],o[2*f+1],e,n)<=g&&u.push(r[f]);continue}var d=c+h>>1,w=o[2*d],y=o[2*d+1];Yt(w,y,e,n)<=g&&u.push(r[d]),(p===0?e-s<=w:n-s<=y)&&(l.push(c),l.push(d-1),l.push(1-p)),(p===0?e+s>=w:n+s>=y)&&(l.push(d+1),l.push(h),l.push(1-p))}return u}}function Xe(t,e,n,s,r,o){if(!(r-s<=n)){var a=s+r>>1;es(t,e,a,s,r,o),Xe(t,e,n,s,a-1,1-o),Xe(t,e,n,a+1,r,1-o)}}function es(t,e,n,s,r,o){for(;r>s;){if(r-s>600){var a=r-s+1,l=n-s+1,u=Math.log(a),g=.5*Math.exp(2*u/3),p=.5*Math.sqrt(u*g*(a-g)/a)*(l-a/2<0?-1:1),h=Math.max(s,Math.floor(n-l*g/a+p)),c=Math.min(r,Math.floor(n+(a-l)*g/a+p));es(t,e,n,h,c,o)}var f=e[2*n+o],d=s,w=r;for(ye(t,e,s,n),e[2*r+o]>f&&ye(t,e,s,r);d<w;){for(ye(t,e,d,w),d++,w--;e[2*d+o]<f;)d++;for(;e[2*w+o]>f;)w--}e[2*s+o]===f?ye(t,e,s,w):(w++,ye(t,e,w,r)),w<=n&&(s=w+1),n<=w&&(r=w-1)}}function ye(t,e,n,s){Je(t,n,s),Je(e,2*n,2*s),Je(e,2*n+1,2*s+1)}function Je(t,e,n){var s=t[e];t[e]=t[n],t[n]=s}function Yt(t,e,n,s){var r=t-n,o=e-s;return r*r+o*o}var ii={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:t=>t},Qt=Math.fround||(t=>e=>(t[0]=+e,t[0]))(new Float32Array(1)),pe=2,ue=3,Ye=4,le=5,ts=6;class ri{constructor(e){this.options=Object.assign(Object.create(ii),e),this.trees=new Array(this.options.maxZoom+1),this.stride=this.options.reduce?7:6,this.clusterProps=[]}load(e){var{log:n,minZoom:s,maxZoom:r}=this.options;n&&console.time("total time");var o="prepare ".concat(e.length," points");n&&console.time(o),this.points=e;for(var a=[],l=0;l<e.length;l++){var u=e[l];if(u.geometry){var[g,p]=u.geometry.coordinates,h=Qt(Ue(g)),c=Qt(Ae(p));a.push(h,c,1/0,l,-1,1),this.options.reduce&&a.push(0)}}var f=this.trees[r+1]=this._createTree(a);n&&console.timeEnd(o);for(var d=r;d>=s;d--){var w=+Date.now();f=this.trees[d]=this._createTree(this._cluster(f,d)),n&&console.log("z%d: %d clusters in %dms",d,f.numItems,+Date.now()-w)}return n&&console.timeEnd("total time"),this}getClusters(e,n){var s=((e[0]+180)%360+360)%360-180,r=Math.max(-90,Math.min(90,e[1])),o=e[2]===180?180:((e[2]+180)%360+360)%360-180,a=Math.max(-90,Math.min(90,e[3]));if(e[2]-e[0]>=360)s=-180,o=180;else if(s>o){var l=this.getClusters([s,r,180,a],n),u=this.getClusters([-180,r,o,a],n);return l.concat(u)}var g=this.trees[this._limitZoom(n)],p=g.range(Ue(s),Ae(a),Ue(o),Ae(r)),h=g.data,c=[];for(var f of p){var d=this.stride*f;c.push(h[d+le]>1?Xt(h,d,this.clusterProps):this.points[h[d+ue]])}return c}getChildren(e){var n=this._getOriginId(e),s=this._getOriginZoom(e),r="No cluster with the specified id.",o=this.trees[s];if(!o)throw new Error(r);var a=o.data;if(n*this.stride>=a.length)throw new Error(r);var l=this.options.radius/(this.options.extent*Math.pow(2,s-1)),u=a[n*this.stride],g=
9a[n*this.stride+1],p=o.within(u,g,l),h=[];for(var c of p){var f=c*this.stride;a[f+Ye]===e&&h.push(a[f+le]>1?Xt(a,f,this.clusterProps):this.points[a[f+ue]])}if(h.length===0)throw new Error(r);return h}getLeaves(e,n,s){n=n||10,s=s||0;var r=[];return this._appendLeaves(r,e,n,s,0),r}getTile(e,n,s){var r=this.trees[this._limitZoom(e)],o=Math.pow(2,e),{extent:a,radius:l}=this.options,u=l/a,g=(s-u)/o,p=(s+1+u)/o,h={features:[]};return this._addTileFeatures(r.range((n-u)/o,g,(n+1+u)/o,p),r.data,n,s,o,h),n===0&&this._addTileFeatures(r.range(1-u/o,g,1,p),r.data,o,s,o,h),n===o-1&&this._addTileFeatures(r.range(0,g,u/o,p),r.data,-1,s,o,h),h.features.length?h:null}getClusterExpansionZoom(e){for(var n=this._getOriginZoom(e)-1;n<=this.options.maxZoom;){var s=this.getChildren(e);if(n++,s.length!==1)break;e=s[0].properties.cluster_id}return n}_appendLeaves(e,n,s,r,o){var a=this.getChildren(n);for(var l of a){var u=l.properties;if(u&&u.cluster?o+u.point_count<=r?o+=u.point_count:o=this._appendLeaves(e,u.cluster_id,s,r,o):o<r?o++:e.push(l),e.length===s)break}return o}_createTree(e){for(var n=new nt(e.length/this.stride|0,this.options.nodeSize,Float32Array),s=0;s<e.length;s+=this.stride)n.add(e[s],e[s+1]);return n.finish(),n.data=e,n}_addTileFeatures(e,n,s,r,o,a){for(var l of e){var u=l*this.stride,g=n[u+le]>1,p=void 0,h=void 0,c=void 0;if(g)p=ns(n,u,this.clusterProps),h=n[u],c=n[u+1];else{var f=this.points[n[u+ue]];p=f.properties;var[d,w]=f.geometry.coordinates;h=Ue(d),c=Ae(w)}var y={type:1,geometry:[[Math.round(this.options.extent*(h*o-s)),Math.round(this.options.extent*(c*o-r))]],tags:p},S=void 0;g||this.options.generateId?S=n[u+ue]:S=this.points[n[u+ue]].id,S!==void 0&&(y.id=S),a.features.push(y)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,n){for(var{radius:s,extent:r,reduce:o,minPoints:a}=this.options,l=s/(r*Math.pow(2,n)),u=e.data,g=[],p=this.stride,h=0;h<u.length;h+=p)if(!(u[h+pe]<=n)){u[h+pe]=n;var c=u[h],f=u[h+1],d=e.within(u[h],u[h+1],l),w=u[h+le],y=w;for(var S of d){var E=S*p;u[E+pe]>n&&(y+=u[E+le])}if(y>w&&y>=a){var P=c*w,C=f*w,m=void 0,M=-1,x=((h/p|0)<<5)+(n+1)+this.points.length;for(var D of d){var b=D*p;if(!(u[b+pe]<=n)){u[b+pe]=n;var k=u[b+le];P+=u[b]*k,C+=u[b+1]*k,u[b+Ye]=x,o&&(m||(m=this._map(u,h,!0),M=this.clusterProps.length,this.clusterProps.push(m)),o(m,this._map(u,b)))}}u[h+Ye]=x,g.push(P/y,C/y,1/0,x,-1,y),o&&g.push(M)}else{for(var O=0;O<p;O++)g.push(u[h+O]);if(y>1)for(var U of d){var V=U*p;if(!(u[V+pe]<=n)){u[V+pe]=n;for(var T=0;T<p;T++)g.push(u[V+T])}}}}return g}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,n,s){if(e[n+le]>1){var r=this.clusterProps[e[n+ts]];return s?Object.assign({},r):r}var o=this.points[e[n+ue]].properties,a=this.options.map(o);return s&&a===o?Object.assign({},a):a}}function Xt(t,e,n){return{type:"Feature",id:t[e+ue],properties:ns(t,e,n),geometry:{type:"Point",coordinates:[oi(t[e]),ai(t[e+1])]}}}function ns(t,e,n){var s=t[e+le],r=s>=1e4?"".concat(Math.round(s/1e3),"k"):s>=1e3?"".concat(Math.round(s/100)/10,"k"):s,o=t[e+ts],a=o===-1?{}:Object.assign({},n[o]);return Object.assign(a,{cluster:!0,cluster_id:t[e+ue],point_count:s,point_count_abbreviated:r})}function Ue(t){return t/360+.5}function Ae(t){var e=Math.sin(t*Math.PI/180),n=.5-.25*Math.log((1+e)/(1-e))/Math.PI;return n<0?0:n>1?1:n}function oi(t){return(t-.5)*360}function ai(t){var e=(180-t*360)*Math.PI/180;return 360*Math.atan(Math.exp(e))/Math.PI-90}/*! ***************************************************************************** 10Copyright (c) Microsoft Corporation. 11 12Permission to use, copy, modify, and/or distribute this software for any 13purpose with or without fee is hereby granted. 14 15THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 16REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 17AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 18INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 19LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 20OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 21PERFORMANCE OF THIS SOFTWARE. 22***************************************************************************** */function li(t,e){var n={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&e.indexOf(s)<0&&(n[s]=t[s]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,s=Object.getOwnPropertySymbols(t);r<s.length;r++)e.indexOf(s[r])<0&&Object.prototype.propertyIsEnumerable.call(t,s[r])&&(n[s[r]]=t[s[r]]);return n}class ie{static isAdvancedMarkerAvailable(e){return google.maps.marker&&e.getMapCapabilities().isAdvancedMarkersAvailable===!0}static isAdvancedMarker(e){return google.maps.marker&&e instanceof google.maps.marker.AdvancedMarkerElement}static setMap(e,n){this.isAdvancedMarker(e)?e.map=n:e.setMap(n)}static getPosition(e){if(this.isAdvancedMarker(e)){if(e.position){if(e.position instanceof google.maps.LatLng)return e.position;if(e.position.lat&&e.position.lng)return new google.maps.LatLng(e.position.lat,e.position.lng)}return new google.maps.LatLng(null)}return e.getPosition()}static getVisible(e){return this.isAdvancedMarker(e)?!0:e.getVisible()}}class et{constructor(e){var{markers:n,position:s}=e;this.markers=n,s&&(s instanceof google.maps.LatLng?this._position=s:this._position=new google.maps.LatLng(s))}get bounds(){if(!(this.markers.length===0&&!this._position)){var e=new google.maps.LatLngBounds(this._position,this._position);for(var n of this.markers)e.extend(ie.getPosition(n));return e}}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>ie.getVisible(e)).length}push(e){this.markers.push(e)}delete(){this.marker&&(ie.setMap(this.marker,null),this.marker=void 0),this.markers.length=0}}class ui{constructor(e){var{maxZoom:n=16}=e;this.maxZoom=n}noop(e){var{markers:n}=e;return pi(n)}}var pi=t=>{var e=t.map(n=>new et({position:ie.getPosition(n),markers:[n]}));return e};class di extends ui{constructor(e){var{maxZoom:n,radius:s=60}=e,r=li(e,["maxZoom","radius"]);super({maxZoom:n}),this.state={zoom:-1}
22,this.superCluster=new ri(Object.assign({maxZoom:this.maxZoom,radius:s},r))}calculate(e){var n=!1,s={zoom:e.map.getZoom()};if(!qt(e.markers,this.markers)){n=!0,this.markers=[...e.markers];var r=this.markers.map(o=>{var a=ie.getPosition(o),l=[a.lng(),a.lat()];return{type:"Feature",geometry:{type:"Point",coordinates:l},properties:{marker:o}}});this.superCluster.load(r)}return n||(this.state.zoom<=this.maxZoom||s.zoom<=this.maxZoom)&&(n=!qt(this.state,s)),this.state=s,n&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:n}}cluster(e){var{map:n}=e;return this.superCluster.getClusters([-180,-90,180,90],Math.round(n.getZoom())).map(s=>this.transformCluster(s))}transformCluster(e){var{geometry:{coordinates:[n,s]},properties:r}=e;if(r.cluster)return new et({markers:this.superCluster.getLeaves(r.cluster_id,1/0).map(a=>a.properties.marker),position:{lat:s,lng:n}});var o=r.marker;return new et({markers:[o],position:ie.getPosition(o)})}}class ci{constructor(e,n){this.markers={sum:e.length};var s=n.map(o=>o.count),r=s.reduce((o,a)=>o+a,0);this.clusters={count:n.length,markers:{mean:r/n.length,sum:r,min:Math.min(...s),max:Math.max(...s)}}}}class gi{render(e,n,s){var{count:r,position:o}=e,a=r>Math.max(10,n.clusters.markers.mean)?"#ff0000":"#0000ff",l='<svg fill="'.concat(a,`" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240" width="50" height="50"> 23<circle cx="120" cy="120" opacity=".6" r="70" /> 24<circle cx="120" cy="120" opacity=".3" r="90" /> 25<circle cx="120" cy="120" opacity=".2" r="110" /> 26<text x="50%" y="50%" style="fill:#fff" text-anchor="middle" font-size="50" dominant-baseline="middle" font-family="roboto,arial,sans-serif">`).concat(r,`</text> 27</svg>`),u="Cluster of ".concat(r," markers"),g=Number(google.maps.Marker.MAX_ZINDEX)+r;if(ie.isAdvancedMarkerAvailable(s)){var p=new DOMParser,h=p.parseFromString(l,"image/svg+xml").documentElement;h.setAttribute("transform","translate(0 25)");var c={map:s,position:o,zIndex:g,title:u,content:h};return new google.maps.marker.AdvancedMarkerElement(c)}var f={position:o,zIndex:g,title:u,icon:{url:"data:image/svg+xml;base64,".concat(btoa(l)),anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(f)}}function hi(t,e){for(var n in e.prototype)t.prototype[n]=e.prototype[n]}class st{constructor(){hi(st,google.maps.OverlayView)}}var be;(function(t){t.CLUSTERING_BEGIN="clusteringbegin",t.CLUSTERING_END="clusteringend",t.CLUSTER_CLICK="click"})(be||(be={}));var fi=(t,e,n)=>{n.fitBounds(e.bounds)};class vi extends st{constructor(e){var{map:n,markers:s=[],algorithmOptions:r={},algorithm:o=new di(r),renderer:a=new gi,onClusterClick:l=fi}=e;super(),this.markers=[...s],this.clusters=[],this.algorithm=o,this.renderer=a,this.onClusterClick=l,n&&this.setMap(n)}addMarker(e,n){this.markers.includes(e)||(this.markers.push(e),n||this.render())}addMarkers(e,n){e.forEach(s=>{this.addMarker(s,!0)}),n||this.render()}removeMarker(e,n){var s=this.markers.indexOf(e);return s===-1?!1:(ie.setMap(e,null),this.markers.splice(s,1),n||this.render(),!0)}removeMarkers(e,n){var s=!1;return e.forEach(r=>{s=this.removeMarker(r,!0)||s}),s&&!n&&this.render(),s}clearMarkers(e){this.markers.length=0,e||this.render()}render(){var e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,be.CLUSTERING_BEGIN,this);var{clusters:n,changed:s}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});if(s||s==null){var r=new Set;for(var o of n)o.markers.length==1&&r.add(o.markers[0]);var a=[];for(var l of this.clusters)l.marker!=null&&(l.markers.length==1?r.has(l.marker)||ie.setMap(l.marker,null):a.push(l.marker));this.clusters=n,this.renderClusters(),requestAnimationFrame(()=>a.forEach(u=>ie.setMap(u,null)))}google.maps.event.trigger(this,be.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(e=>ie.setMap(e,null)),this.clusters.forEach(e=>
27e.delete()),this.clusters=[]}renderClusters(){var e=new ci(this.markers,this.clusters),n=this.getMap();this.clusters.forEach(s=>{s.markers.length===1?s.marker=s.markers[0]:(s.marker=this.renderer.render(s,e,n),s.markers.forEach(r=>ie.setMap(r,null)),this.onClusterClick&&s.marker.addListener("click",r=>{google.maps.event.trigger(this,be.CLUSTER_CLICK,s),this.onClusterClick(r,s,n)})),ie.setMap(s.marker,n)})}}function en(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function tn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?en(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):en(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}function mi(t){var e=hs(),[n,s]=i.useState(null);return i.useEffect(()=>{if(e&&n===null){var r=new vi(tn(tn({},t),{},{map:e}));s(r)}},[e]),n}function Li(t){var{children:e,options:n}=t,s=mi(n);return s!==null?e(s):null}i.memo(Li);var nn={onCloseClick:"closeclick",onContentChanged:"content_changed",onDomReady:"domready",onPositionChanged:"position_changed",onZindexChanged:"zindex_changed"},sn={options(t,e){t.setOptions(e)},position(t,e){t.setPosition(e)},zIndex(t,e){t.setZIndex(e)}};function yi(t){var{children:e,anchor:n,options:s,position:r,zIndex:o,onCloseClick:a,onDomReady:l,onContentChanged:u,onPositionChanged:g,onZindexChanged:p,onLoad:h,onUnmount:c}=t,f=i.useContext(A),[d,w]=i.useState(null),[y,S]=i.useState(null),[E,P]=i.useState(null),[C,m]=i.useState(null),[M,x]=i.useState(null),[D,b]=i.useState(null),k=i.useRef(null);return i.useEffect(()=>{d!==null&&(d.close(),n?d.open(f,n):d.getPosition()&&d.open(f))},[f,d,n]),i.useEffect(()=>{s&&d!==null&&d.setOptions(s)},[d,s]),i.useEffect(()=>{r&&d!==null&&d.setPosition(r)},[r]),i.useEffect(()=>{typeof o=="number"&&d!==null&&d.setZIndex(o)},[o]),i.useEffect(()=>{d&&a&&(y!==null&&google.maps.event.removeListener(y),S(google.maps.event.addListener(d,"closeclick",a)))},[a]),i.useEffect(()=>{d&&l&&(E!==null&&google.maps.event.removeListener(E),P(google.maps.event.addListener(d,"domready",l)))},[l]),i.useEffect(()=>{d&&u&&(C!==null&&google.maps.event.removeListener(C),m(google.maps.event.addListener(d,"content_changed",u)))},[u]),i.useEffect(()=>{d&&g&&(M!==null&&google.maps.event.removeListener(M),x(google.maps.event.addListener(d,"position_changed",g)))},[g]),i.useEffect(()=>{d&&p&&(D!==null&&google.maps.event.removeListener(D),b(google.maps.event.addListener(d,"zindex_changed",p)))},[p]),i.useEffect(()=>{var O=new google.maps.InfoWindow(s);return w(O),k.current=document.createElement("div"),a&&S(google.maps.event.addListener(O,"closeclick",a)),l&&P(google.maps.event.addListener(O,"domready",l)),u&&m(google.maps.event.addListener(O,"content_changed",u)),g&&x(google.maps.event.addListener(O,"position_changed",g)),p&&b(google.maps.event.addListener(O,"zindex_changed",p)),O.setContent(k.current),r&&O.setPosition(r),o&&O.setZIndex(o),n?O.open(f,n):O.getPosition()?O.open(f):se(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>."),h&&h(O),()=>{y&&google.maps.event.removeListener(y),C&&google.maps.event.removeListener(C),E&&google.maps.event.removeListener(E),M&&google.maps.event.removeListener(M),D&&google.maps.event.removeListener(D),c&&c(O),O.close()}},[]),k.current?ge.createPortal(i.Children.only(e),k.current):null}var bi=i.memo(yi);class Ci extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"containerElement",null),v(this,"state",{infoWindow:null}),v(this,"open",(e,n)=>{n?e.open(this.context,n):e.getPosition()?e.open(this.context):se(!1,"You must provide either an anchor (typically render it inside a <Marker>) or a position props for <InfoWindow>.")}),v(this,"setInfoWindowCallback",()=>{this.state.infoWindow!==null&&this.containerElement!==null&&(this.state.infoWindow.setContent(this.containerElement),this.open(this.state.infoWindow,this.props.anchor),this.props.onLoad&&this.props.onLoad(this.state.infoWindow))})}componentDidMount(){var e=new google.maps.InfoWindow(this.props.options);this.containerElement=document.createElement("div"),this.registeredEvents=_({updaterMap:sn,eventMap:nn,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({infoWindow:e}),this.setInfoWindowCallback)}componentDidUpdate(e){this.state.infoWindow!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:sn,eventMap:nn,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))}componentWillUnmount(){this.state.infoWindow!==null&&(Z(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())}render(){return this.containerElement?ge.createPortal(i.Children.only(this.props.children),this.containerElement):null}}v(Ci,"contextType",A);function rn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function We(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};
27e%2?rn(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):rn(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var on={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},an={draggable(t,e){t.setDraggable(e)},editable(t,e){t.setEditable(e)},map(t,e){t.setMap(e)},options(t,e){t.setOptions(e)},path(t,e){t.setPath(e)},visible(t,e){t.setVisible(e)}},Mi={};function Ei(t){var{options:e,draggable:n,editable:s,visible:r,path:o,onDblClick:a,onDragEnd:l,onDragStart:u,onMouseDown:g,onMouseMove:p,onMouseOut:h,onMouseOver:c,onMouseUp:f,onRightClick:d,onClick:w,onDrag:y,onLoad:S,onUnmount:E}=t,P=i.useContext(A),[C,m]=i.useState(null),[M,x]=i.useState(null),[D,b]=i.useState(null),[k,O]=i.useState(null),[U,V]=i.useState(null),[T,B]=i.useState(null),[W,J]=i.useState(null),[N,K]=i.useState(null),[F,q]=i.useState(null),[Y,j]=i.useState(null),[Q,L]=i.useState(null),[te,ee]=i.useState(null);return i.useEffect(()=>{C!==null&&C.setMap(P)},[P]),i.useEffect(()=>{typeof e<"u"&&C!==null&&C.setOptions(e)},[C,e]),i.useEffect(()=>{typeof n<"u"&&C!==null&&C.setDraggable(n)},[C,n]),i.useEffect(()=>{typeof s<"u"&&C!==null&&C.setEditable(s)},[C,s]),i.useEffect(()=>{typeof r<"u"&&C!==null&&C.setVisible(r)},[C,r]),i.useEffect(()=>{typeof o<"u"&&C!==null&&C.setPath(o)},[C,o]),i.useEffect(()=>{C&&a&&(M!==null&&google.maps.event.removeListener(M),x(google.maps.event.addListener(C,"dblclick",a)))},[a]),i.useEffect(()=>{C&&l&&(D!==null&&google.maps.event.removeListener(D),b(google.maps.event.addListener(C,"dragend",l)))},[l]),i.useEffect(()=>{C&&u&&(k!==null&&google.maps.event.removeListener(k),O(google.maps.event.addListener(C,"dragstart",u)))},[u]),i.useEffect(()=>{C&&g&&(U!==null&&google.maps.event.removeListener(U),V(google.maps.event.addListener(C,"mousedown",g)))},[g]),i.useEffect(()=>{C&&p&&(T!==null&&google.maps.event.removeListener(T),B(google.maps.event.addListener(C,"mousemove",p)))},[p]),i.useEffect(()=>{C&&h&&(W!==null&&google.maps.event.removeListener(W),J(google.maps.event.addListener(C,"mouseout",h)))},[h]),i.useEffect(()=>{C&&c&&(N!==null&&google.maps.event.removeListener(N),K(google.maps.event.addListener(C,"mouseover",c)))},[c]),i.useEffect(()=>{C&&f&&(F!==null&&google.maps.event.removeListener(F),q(google.maps.event.addListener(C,"mouseup",f)))},[f]),i.useEffect(()=>{C&&d&&(Y!==null&&google.maps.event.removeListener(Y),j(google.maps.event.addListener(C,"rightclick",d)))},[d]),i.useEffect(()=>{C&&w&&(Q!==null&&google.maps.event.removeListener(Q),L(google.maps.event.addListener(C,"click",w)))},[w]),i.useEffect(()=>{C&&y&&(te!==null&&google.maps.event.removeListener(te),ee(google.maps.event.addListener(C,"drag",y)))},[y]),i.useEffect(()=>{var z=new google.maps.Polyline(We(We({},e||Mi),{},{map:P}));return o&&z.setPath(o),typeof r<"u"&&z.setVisible(r),typeof s<"u"&&z.setEditable(s),typeof n<"u"&&z.setDraggable(n),a&&x(google.maps.event.addListener(z,"dblclick",a)),l&&b(google.maps.event.addListener(z,"dragend",l)),u&&O(google.maps.event.addListener(z,"dragstart",u)),g&&V(google.maps.event.addListener(z,"mousedown",g)),p&&B(google.maps.event.addListener(z,"mousemove",p)),h&&J(google.maps.event.addListener(z,"mouseout",h)),c&&K(google.maps.event.addListener(z,"mouseover",c)),f&&q(google.maps.event.addListener(z,"mouseup",f)),d&&j(google.maps.event.addListener(z,"rightclick",d)),w&&L(google.maps.event.addListener(z,"click",w)),y&&ee(google.maps.event.addListener(z,"drag",y)),m(z),S&&S(z),()=>{M!==null&&google.maps.event.removeListener(M),D!==null&&google.maps.event.removeListener(D),k!==null&&google.maps.event.removeListener(k),U!==null&&google.maps.event.removeListener(U),T!==null&&google.maps.event.removeListener(T),W!==null&&google.maps.event.removeListener(W),N!==null&&google.maps.event.removeListener(N),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),E&&E(z),z.setMap(null)}},[]),null}i.memo(Ei);class wi extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{polyline:null}),v(this,"setPolylineCallback",()=>{this.state.polyline!==null&&this.props.onLoad&&this.props.onLoad(this.state.polyline)})}componentDidMount(){var e=new google.maps.Polyline(We(We({},this.props.options),{},{map:this.context}));this.registeredEvents=_({updaterMap:an,eventMap:on,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{polyline:e}},this.setPolylineCallback)}componentDidUpdate(e){this.state.polyline!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:an,eventMap:on,prevProps:e,nextProps:this.props,instance:this.state.polyline}))}componentWillUnmount(){this.state.polyline!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.polyline),Z(this.registeredEvents),this.state.polyline.setMap(null))}render(){return null}}v(wi,"contextType",A);function ln(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function un(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};
27e%2?ln(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ln(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var pn={onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},dn={draggable(t,e){t.setDraggable(e)},editable(t,e){t.setEditable(e)},map(t,e){t.setMap(e)},options(t,e){t.setOptions(e)},path(t,e){t.setPath(e)},paths(t,e){t.setPaths(e)},visible(t,e){t.setVisible(e)}};function xi(t){var{options:e,draggable:n,editable:s,visible:r,path:o,paths:a,onDblClick:l,onDragEnd:u,onDragStart:g,onMouseDown:p,onMouseMove:h,onMouseOut:c,onMouseOver:f,onMouseUp:d,onRightClick:w,onClick:y,onDrag:S,onLoad:E,onUnmount:P,onEdit:C}=t,m=i.useContext(A),[M,x]=i.useState(null),[D,b]=i.useState(null),[k,O]=i.useState(null),[U,V]=i.useState(null),[T,B]=i.useState(null),[W,J]=i.useState(null),[N,K]=i.useState(null),[F,q]=i.useState(null),[Y,j]=i.useState(null),[Q,L]=i.useState(null),[te,ee]=i.useState(null),[z,ne]=i.useState(null);return i.useEffect(()=>{M!==null&&M.setMap(m)},[m]),i.useEffect(()=>{typeof e<"u"&&M!==null&&M.setOptions(e)},[M,e]),i.useEffect(()=>{typeof n<"u"&&M!==null&&M.setDraggable(n)},[M,n]),i.useEffect(()=>{typeof s<"u"&&M!==null&&M.setEditable(s)},[M,s]),i.useEffect(()=>{typeof r<"u"&&M!==null&&M.setVisible(r)},[M,r]),i.useEffect(()=>{typeof o<"u"&&M!==null&&M.setPath(o)},[M,o]),i.useEffect(()=>{typeof a<"u"&&M!==null&&M.setPaths(a)},[M,a]),i.useEffect(()=>
27{M&&typeof l=="function"&&(D!==null&&google.maps.event.removeListener(D),b(google.maps.event.addListener(M,"dblclick",l)))},[l]),i.useEffect(()=>{M&&(google.maps.event.addListener(M.getPath(),"insert_at",()=>{C==null||C(M)}),google.maps.event.addListener(M.getPath(),"set_at",()=>{C==null||C(M)}),google.maps.event.addListener(M.getPath(),"remove_at",()=>{C==null||C(M)}))},[M,C]),i.useEffect(()=>{M&&typeof u=="function"&&(k!==null&&google.maps.event.removeListener(k),O(google.maps.event.addListener(M,"dragend",u)))},[u]),i.useEffect(()=>{M&&typeof g=="function"&&(U!==null&&google.maps.event.removeListener(U),V(google.maps.event.addListener(M,"dragstart",g)))},[g]),i.useEffect(()=>{M&&typeof p=="function"&&(T!==null&&google.maps.event.removeListener(T),B(google.maps.event.addListener(M,"mousedown",p)))},[p]),i.useEffect(()=>{M&&typeof h=="function"&&(W!==null&&google.maps.event.removeListener(W),J(google.maps.event.addListener(M,"mousemove",h)))},[h]),i.useEffect(()=>{M&&typeof c=="function"&&(N!==null&&google.maps.event.removeListener(N),K(google.maps.event.addListener(M,"mouseout",c)))},[c]),i.useEffect(()=>
27{M&&typeof f=="function"&&(F!==null&&google.maps.event.removeListener(F),q(google.maps.event.addListener(M,"mouseover",f)))},[f]),i.useEffect(()=>{M&&typeof d=="function"&&(Y!==null&&google.maps.event.removeListener(Y),j(google.maps.event.addListener(M,"mouseup",d)))},[d]),i.useEffect(()=>{M&&typeof w=="function"&&(Q!==null&&google.maps.event.removeListener(Q),L(google.maps.event.addListener(M,"rightclick",w)))},[w]),i.useEffect(()=>{M&&typeof y=="function"&&(te!==null&&google.maps.event.removeListener(te),ee(google.maps.event.addListener(M,"click",y)))},[y]),i.useEffect(()=>{M&&typeof S=="function"&&(z!==null&&google.maps.event.removeListener(z),ne(google.maps.event.addListener(M,"drag",S)))},[S]),i.useEffect(()=>{var I=new google.maps.Polygon(un(un({},e),{},{map:m}));return o&&I.setPath(o),a&&I.setPaths(a),typeof r<"u"&&I.setVisible(r),typeof s<"u"&&I.setEditable(s),typeof n<"u"&&I.setDraggable(n),l&&b(google.maps.event.addListener(I,"dblclick",l)),u&&O(google.maps.event.addListener(I,"dragend",u)),g&&V(google.maps.event.addListener(I,"dragstart",g)),p&&B(google.maps.event.addListener(I,"mousedown",p)),h&&J(google.maps.event.addListener(I,"mousemove",h)),c&&K(google.maps.event.addListener(I,"mouseout",c)),f&&q(google.maps.event.addListener(I,"mouseover",f)),d&&j(google.maps.event.addListener(I,"mouseup",d)),w&&L(google.maps.event.addListener(I,"rightclick",w)),y&&ee(google.maps.event.addListener(I,"click",y)),S&&ne(google.maps.event.addListener(I,"drag",S)),x(I),E&&E(I),()=>{D!==null&&google.maps.event.removeListener(D),k!==null&&google.maps.event.removeListener(k),U!==null&&google.maps.event.removeListener(U),T!==null&&google.maps.event.removeListener(T),W!==null&&google.maps.event.removeListener(W),N!==null&&google.maps.event.removeListener(N),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),te!==null&&google.maps.event.removeListener(te),P&&P(I),I.setMap(null)}},[]),null}i.memo(xi);class Si extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[])}componentDidMount(){var e=this.props.options||{};this.polygon=new google.maps.Polygon(e),this.polygon.setMap(this.context),this.registeredEvents=_({updaterMap:dn,eventMap:pn,prevProps:{},nextProps:this.props,instance:this.polygon}),this.props.onLoad&&this.props.onLoad(this.polygon)}componentDidUpdate(e){this.polygon&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:dn,eventMap:pn,prevProps:e,nextProps:this.props,instance:this.polygon}))}componentWillUnmount(){this.polygon&&(this.props.onUnmount&&this.props.onUnmount(this.polygon),Z(this.registeredEvents),this.polygon&&this.polygon.setMap(null))}render(){return null}}v(Si,"contextType",A);function cn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function Ne(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?cn(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):cn(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var gn={onBoundsChanged:"bounds_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},hn={bounds(t,e){t.setBounds(e)},draggable(t,e){t.setDraggable(e)},editable(t,e){t.setEditable(e)},map(t,e){t.setMap(e)},options(t,e){t.setOptions(e)},visible(t,e){t.setVisible(e)}};function ki(t){var{options:e,bounds:n,draggable:s,editable:r,visible:o,onDblClick:a,onDragEnd:l,onDragStart:u,onMouseDown:g,onMouseMove:p,onMouseOut:h,onMouseOver:c,onMouseUp:f,onRightClick:d,onClick:w,onDrag:y,onBoundsChanged:S,onLoad:E,onUnmount:P}=t,C=i.useContext(A),[m,M]=i.useState(null),[x,D]=i.useState(null),[b,k]=i.useState(null),[O,U]=i.useState(null),[V,T]=i.useState(null),[B,W]=i.useState(null),[J,N]=i.useState(null),[K,F]=i.useState(null),[q,Y]=i.useState(null),[j,Q]=i.useState(null),[L,te]=i.useState(null),[ee,z]=i.useState(null),[ne,I]=i.useState(null);return i.useEffect(()=>{m!==null&&m.setMap(C)},[C]),i.useEffect(()=>{typeof e<"u"&&m!==null&&m.setOptions(e)},[m,e]),i.useEffect(()=>{typeof s<"u"&&m!==null&&m.setDraggable(s)},[m,s]),i.useEffect(()=>{typeof r<"u"&&m!==null&&m.setEditable(r)},[m,r]),i.useEffect(()=>{typeof o<"u"&&m!==null&&m.setVisible(o)},[m,o]),i.useEffect(()=>{typeof n<"u"&&m!==null&&m.setBounds(n)},[m,n]),i.useEffect(()=>{m&&a&&(x!==null&&google.maps.event.removeListener(x),D(google.maps.event.addListener(m,"dblclick",a)))},[a]),i.useEffect(()=>{m&&l&&(b!==null&&google.maps.event.removeListener(b),k(google.maps.event.addListener(m,"dragend",l)))},[l]),i.useEffect(()=>{m&&u&&(O!==null&&google.maps.event.removeListener(O),U(google.maps.event.addListener(m,"dragstart",u)))},[u]),i.useEffect(()=>{m&&g&&(V!==null&&google.maps.event.removeListener(V),T(google.maps.event.addListener(m,"mousedown",g)))},[g]),i.useEffect(()=>{m&&p&&(B!==null&&google.maps.event.removeListener(B),W(google.maps.event.addListener(m,"mousemove",p)))}
27,[p]),i.useEffect(()=>{m&&h&&(J!==null&&google.maps.event.removeListener(J),N(google.maps.event.addListener(m,"mouseout",h)))},[h]),i.useEffect(()=>{m&&c&&(K!==null&&google.maps.event.removeListener(K),F(google.maps.event.addListener(m,"mouseover",c)))},[c]),i.useEffect(()=>{m&&f&&(q!==null&&google.maps.event.removeListener(q),Y(google.maps.event.addListener(m,"mouseup",f)))},[f]),i.useEffect(()=>{m&&d&&(j!==null&&google.maps.event.removeListener(j),Q(google.maps.event.addListener(m,"rightclick",d)))},[d]),i.useEffect(()=>{m&&w&&(L!==null&&google.maps.event.removeListener(L),te(google.maps.event.addListener(m,"click",w)))},[w]),i.useEffect(()=>{m&&y&&(ee!==null&&google.maps.event.removeListener(ee),z(google.maps.event.addListener(m,"drag",y)))},[y]),i.useEffect(()=>{m&&S&&(ne!==null&&google.maps.event.removeListener(ne),I(google.maps.event.addListener(m,"bounds_changed",S)))},[S]),i.useEffect(()=>{var $=new google.maps.Rectangle(Ne(Ne({},e),{},{map:C}));return typeof o<"u"&&$.setVisible(o),typeof r<"u"&&$.setEditable(r),typeof s<"u"&&$.setDraggable(s),typeof n<"u"&&$.setBounds(n),a&&D(google.maps.event.addListener($,"dblclick",a)),l&&k(google.maps.event.addListener($,"dragend",l)),u&&U(google.maps.event.addListener($,"dragstart",u)),g&&T(google.maps.event.addListener($,"mousedown",g)),p&&W(google.maps.event.addListener($,"mousemove",p)),h&&N(google.maps.event.addListener($,"mouseout",h)),c&&F(google.maps.event.addListener($,"mouseover",c)),f&&Y(google.maps.event.addListener($,"mouseup",f)),d&&Q(google.maps.event.addListener($,"rightclick",d)),w&&te(google.maps.event.addListener($,"click",w)),y&&z(google.maps.event.addListener($,"drag",y)),S&&I(google.maps.event.addListener($,"bounds_changed",S)),M($),E&&E($),()=>{x!==null&&google.maps.event.removeListener(x),b!==null&&google.maps.event.removeListener(b),O!==null&&google.maps.event.removeListener(O),V!==null&&google.maps.event.removeListener(V),B!==null&&google.maps.event.removeListener(B),J!==null&&google.maps.event.removeListener(J),K!==null&&google.maps.event.removeListener(K),q!==null&&google.maps.event.removeListener(q),j!==null&&google.maps.event.removeListener(j),L!==null&&google.maps.event.removeListener(L),ee!==null&&google.maps.event.removeListener(ee),ne!==null&&google.maps.event.removeListener(ne),P&&P($),$.setMap(null)}},[]),null}i.memo(ki);class Oi extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{rectangle:null}),v(this,"setRectangleCallback",()=>{this.state.rectangle!==null&&this.props.onLoad&&this.props.onLoad(this.state.rectangle)})}componentDidMount(){var e=new google.maps.Rectangle(Ne(Ne({},this.props.options),{},{map:this.context}));this.registeredEvents=_({updaterMap:hn,eventMap:gn,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{rectangle:e}},this.setRectangleCallback)}componentDidUpdate(e){this.state.rectangle!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:hn,eventMap:gn,prevProps:e,nextProps:this.props,instance:this.state.rectangle}))}componentWillUnmount(){this.state.rectangle!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.rectangle),Z(this.registeredEvents),this.state.rectangle.setMap(null))}render(){return null}}v(Oi,"contextType",A);function fn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function Fe(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?fn(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):fn(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var vn={onCenterChanged:"center_changed",onRadiusChanged:"radius_changed",onClick:"click",onDblClick:"dblclick",onDrag:"drag",onDragEnd:"dragend",onDragStart:"dragstart",onMouseDown:"mousedown",onMouseMove:"mousemove",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick"},mn={center(t,e){t.setCenter(e)},draggable(t,e){t.setDraggable(e)},editable(t,e){t.setEditable(e)},map(t,e){t.setMap(e)},options(t,e){t.setOptions(e)},radius(t,e){t.setRadius(e)},visible(t,e){t.setVisible(e)}},Pi={};function Di(t){var{options:e,center:n,radius:s,draggable:r,editable:o,visible:a,onDblClick:l,onDragEnd:u,onDragStart:g,onMouseDown:p,onMouseMove:h,onMouseOut:c,onMouseOver:f,onMouseUp:d,onRightClick:w,onClick:y,onDrag:S,onCenterChanged:E,onRadiusChanged:P,onLoad:C,onUnmount:m}=t,M=i.useContext(A),[x,D]=i.useState(null),[b,k]=i.useState(null),[O,U]=i.useState(null),[V,T]=i.useState(null),[B,W]=i.useState(null),[J,N]=i.useState(null),[K,F]=i.useState(null),[q,Y]=i.useState(null),[j,Q]=i.useState(null),[L,te]=i.useState(null),[ee,z]=i.useState(null),[ne,I]=i.useState(null),[$,oe]=i.useState(null),[ae,fe]=i.useState(null);return i.useEffect(()=>{x!==null&&x.setMap(M)},[M]),i.useEffect(()=>{typeof e<"u"&&x!==null&&x.setOptions(e)},[x,e]),i.useEffect(()=>{typeof r<"u"&&x!==null&&x.setDraggable(r)},[x,r]),i.useEffect(()=>{typeof o<"u"&&x!==null&&x.setEditable(o)},[x,o]),i.useEffect(()=>{typeof a<"u"&&x!==null&&x.setVisible(a)},[x,a]),i.useEffect(()=>{typeof s=="number"&&x!==null&&x.setRadius(s)},[x,s]),i.useEffect(()=>{typeof n<"u"&&x!==null&&x.setCenter(n)},[x,n]),i.useEffect(()=>{x&&l&&(b!==null&&google.maps.event.removeListener(b),k(google.maps.event.addListener(x,"dblclick",l)))},[l]),i.useEffect(()=>{x&&u&&(O!==null&&google.maps.event.removeListener(O),U(google.maps.event.addListener(x,"dragend",u)))},[u]),i.useEffect(()=>{x&&g&&(V!==null&&google.maps.event.removeListener(V),T(google.maps.event.addListener(x,"dragstart",g)))},[g]),i.useEffect(()=>{x&&p&&(B!==null&&google.maps.event.removeListener(B),W(google.maps.event.addListener(x,"mousedown",p)))}
27,[p]),i.useEffect(()=>{x&&h&&(J!==null&&google.maps.event.removeListener(J),N(google.maps.event.addListener(x,"mousemove",h)))},[h]),i.useEffect(()=>{x&&c&&(K!==null&&google.maps.event.removeListener(K),F(google.maps.event.addListener(x,"mouseout",c)))},[c]),i.useEffect(()=>{x&&f&&(q!==null&&google.maps.event.removeListener(q),Y(google.maps.event.addListener(x,"mouseover",f)))},[f]),i.useEffect(()=>{x&&d&&(j!==null&&google.maps.event.removeListener(j),Q(google.maps.event.addListener(x,"mouseup",d)))},[d]),i.useEffect(()=>{x&&w&&(L!==null&&google.maps.event.removeListener(L),te(google.maps.event.addListener(x,"rightclick",w)))},[w]),i.useEffect(()=>{x&&y&&(ee!==null&&google.maps.event.removeListener(ee),z(google.maps.event.addListener(x,"click",y)))},[y]),i.useEffect(()=>{x&&S&&(ne!==null&&google.maps.event.removeListener(ne),I(google.maps.event.addListener(x,"drag",S)))},[S]),i.useEffect(()=>{x&&E&&($!==null&&google.maps.event.removeListener($),oe(google.maps.event.addListener(x,"center_changed",E)))},[y]),i.useEffect(()=>{x&&P&&(ae!==null&&google.maps.event.removeListener(ae),fe(google.maps.event.addListener(x,"radius_changed",P)))},[P]),i.useEffect(()=>{var X=new google.maps.Circle(Fe(Fe({},e||Pi),{},{map:M}));return typeof s=="number"&&X.setRadius(s),typeof n<"u"&&X.setCenter(n),typeof s=="number"&&X.setRadius(s),typeof a<"u"&&X.setVisible(a),typeof o<"u"&&X.setEditable(o),typeof r<"u"&&X.setDraggable(r),l&&k(google.maps.event.addListener(X,"dblclick",l)),u&&U(google.maps.event.addListener(X,"dragend",u)),g&&T(google.maps.event.addListener(X,"dragstart",g)),p&&W(google.maps.event.addListener(X,"mousedown",p)),h&&N(google.maps.event.addListener(X,"mousemove",h)),c&&F(google.maps.event.addListener(X,"mouseout",c)),f&&Y(google.maps.event.addListener(X,"mouseover",f)),d&&Q(google.maps.event.addListener(X,"mouseup",d)),w&&te(google.maps.event.addListener(X,"rightclick",w)),y&&z(google.maps.event.addListener(X,"click",y)),S&&I(google.maps.event.addListener(X,"drag",S)),E&&oe(google.maps.event.addListener(X,"center_changed",E)),P&&fe(google.maps.event.addListener(X,"radiu
27s_changed",P)),D(X),C&&C(X),()=>{b!==null&&google.maps.event.removeListener(b),O!==null&&google.maps.event.removeListener(O),V!==null&&google.maps.event.removeListener(V),B!==null&&google.maps.event.removeListener(B),J!==null&&google.maps.event.removeListener(J),K!==null&&google.maps.event.removeListener(K),q!==null&&google.maps.event.removeListener(q),j!==null&&google.maps.event.removeListener(j),L!==null&&google.maps.event.removeListener(L),ee!==null&&google.maps.event.removeListener(ee),$!==null&&google.maps.event.removeListener($),ae!==null&&google.maps.event.removeListener(ae),m&&m(X),X.setMap(null)}},[]),null}i.memo(Di);class Ii extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{circle:null}),v(this,"setCircleCallback",()=>{this.state.circle!==null&&this.props.onLoad&&this.props.onLoad(this.state.circle)})}componentDidMount(){var e=new google.maps.Circle(Fe(Fe({},this.props.options),{},{map:this.context}));this.registeredEvents=_({updaterMap:mn,eventMap:vn,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{circle:e}},this.setCircleCallback)}componentDidUpdate(e){this.state.circle!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:mn,eventMap:vn,prevProps:e,nextProps:this.props,instance:this.state.circle}))}componentWillUnmount(){if(this.state.circle!==null){var e;this.props.onUnmount&&this.props.onUnmount(this.state.circle),Z(this.registeredEvents),(e=this.state.circle)===null||e===void 0||e.setMap(null)}}render(){return null}}v(Ii,"contextType",A);function Ln(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function $e(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Ln(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Ln(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var yn={onClick:"click",onDblClick:"dblclick",onMouseDown:"mousedown",onMouseOut:"mouseout",onMouseOver:"mouseover",onMouseUp:"mouseup",onRightClick:"rightclick",onAddFeature:"addfeature",onRemoveFeature:"removefeature",onRemoveProperty:"removeproperty",onSetGeometry:"setgeometry",onSetProperty:"setproperty"},bn={add(t,e){t.add(e)},addgeojson(t,e,n){t.addGeoJson(e,n)},contains(t,e){t.contains(e)},foreach(t,e){t.forEach(e)},loadgeojson(t,e,n,s){t.loadGeoJson(e,n,s)},overridestyle(t,e,n){t.overrideStyle(e,n)},remove(t,e){t.remove(e)},revertstyle(t,e){t.revertStyle(e)},controlposition(t,e){t.setControlPosition(e)},controls(t,e){t.setControls(e)},drawingmode(t,e){t.setDrawingMode(e)},map(t,e){t.setMap(e)},style(t,e){t.setStyle(e)},togeojson(t,e){t.toGeoJson(e)}};function ji(t){var{options:e,onClick:n,onDblClick:s,onMouseDown:r,onMouseMove:o,onMouseOut:a,onMouseOver:l,onMouseUp:u,onRightClick:g,onAddFeature:p,onRemoveFeature:h,onRemoveProperty:c,onSetGeometry:f,onSetProperty:d,onLoad:w,onUnmount:y}=t,S=i.useContext(A),[E,P]=i.useState(null),[C,m]=i.useState(null),[M,x]=i.useState(null),[D,b]=i.useState(null),[k,O]=i.useState(null),[U,V]=i.useState(null),[T,B]=i.useState(null),[W,J]=i.useState(null),[N,K]=i.useState(null),[F,q]=i.useState(null),[Y,j]=i.useState(null),[Q,L]=i.useState(null),[te,ee]=i.useState(null),[z,ne]=i.useState(null);return i.useEffect(()=>{E!==null&&E.setMap(S)},[S]),i.useEffect(()=>{E&&s&&(C!==null&&google.maps.event.removeListener(C),m(google.maps.event.addListener(E,"dblclick",s)))},[s]),i.useEffect(()=>{E&&r&&(M!==null&&google.maps.event.removeListener(M),x(google.maps.event.addListener(E,"mousedown",r)))},[r]),i.useEffect(()=>{E&&o&&(D!==null&&google.maps.event.removeListener(D),b(google.maps.event.addListener(E,"mousemove",o)))},[o]),i.useEffect(()=>{E&&a&&(k!==null&&google.maps.event.removeListener(k),O(google.maps.event.addListener(E,"mouseout",a)))},[a]),i.useEffect(()=>{E&&l&&(U!==null&&google.maps.event.removeListener(U),V(google.maps.event.addListener(E,"mouseover",l)))},[l]),i.useEffect(()=>{E&&u&&(T!==null&&google.maps.event.removeListener(T),B(google.maps.event.addListener(E,"mouseup",u)))},[u]),i.useEffect(()=>{E&&g&&(W!==null&&google.maps.event.removeListener(W),J(google.maps.event.addListener(E,"rightclick",g)))},[g]),i.useEffect(()=>{E&&n&&(N!==null&&google.maps.event.removeListener(N),K(google.maps.event.addListener(E,"click",n)))},[n]),i.useEffect(()=>{E&&p&&(F!==null&&google.maps.event.removeListener(F),q(google.maps.event.addListener(E,"addfeature",p)))}
27,[p]),i.useEffect(()=>{E&&h&&(Y!==null&&google.maps.event.removeListener(Y),j(google.maps.event.addListener(E,"removefeature",h)))},[h]),i.useEffect(()=>{E&&c&&(Q!==null&&google.maps.event.removeListener(Q),L(google.maps.event.addListener(E,"removeproperty",c)))},[c]),i.useEffect(()=>{E&&f&&(te!==null&&google.maps.event.removeListener(te),ee(google.maps.event.addListener(E,"setgeometry",f)))},[f]),i.useEffect(()=>{E&&d&&(z!==null&&google.maps.event.removeListener(z),ne(google.maps.event.addListener(E,"setproperty",d)))},[d]),i.useEffect(()=>{if(S!==null){var I=new google.maps.Data($e($e({},e),{},{map:S}));s&&m(google.maps.event.addListener(I,"dblclick",s)),r&&x(google.maps.event.addListener(I,"mousedown",r)),o&&b(google.maps.event.addListener(I,"mousemove",o)),a&&O(google.maps.event.addListener(I,"mouseout",a)),l&&V(google.maps.event.addListener(I,"mouseover",l)),u&&B(google.maps.event.addListener(I,"mouseup",u)),g&&J(google.maps.event.addListener(I,"rightclick",g)),n&&K(google.maps.event.addListener(I,"click",n)),p&&q(google.maps.event.addListener(I,"addfeature",p)),h&&j(google.maps.event.addListener(I,"removefeature",h)),c&&L(google.maps.event.addListener(I,"removeproperty",c)),f&&ee(google.maps.event.addListener(I,"setgeometry",f)),d&&ne(google.maps.event.addListener(I,"setproperty",d)),P(I),w&&w(I)}return()=>{E&&(C!==null&&google.maps.event.removeListener(C),M!==null&&google.maps.event.removeListener(M),D!==null&&google.maps.event.removeListener(D),k!==null&&google.maps.event.removeListener(k),U!==null&&google.maps.event.removeListener(U),T!==null&&google.maps.event.removeListener(T),W!==null&&google.maps.event.removeListener(W),N!==null&&google.maps.event.removeListener(N),F!==null&&google.maps.event.removeListener(F),Y!==null&&google.maps.event.removeListener(Y),Q!==null&&google.maps.event.removeListener(Q),te!==null&&google.maps.event.removeListener(te),z!==null&&google.maps.event.removeListener(z),y&&y(E),E.setMap(null))}},[]),null}i.memo(ji);class Ti extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{data:null}),v(this,"setDataCallback",()=>{this.state.data!==null&&this.props.onLoad&&this.props.onLoad(this.state.data)})}componentDidMount(){if(this.context!==null){var e=new google.maps.Data($e($e({},this.props.options),{},{map:this.context}));this.registeredEvents=_({updaterMap:bn,eventMap:yn,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({data:e}),this.setDataCallback)}}componentDidUpdate(e){this.state.data!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:bn,eventMap:yn,prevProps:e,nextProps:this.props,instance:this.state.data}))}componentWillUnmount(){this.state.data!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.data),Z(this.registeredEvents),this.state.data&&this.state.data.setMap(null))}render(){return null}}v(Ti,"contextType",A);function Cn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function Mn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Cn(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Cn(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var En={onClick:"click",onDefaultViewportChanged:"defaultviewport_changed",onStatusChanged:"status_changed"},wn={options(t,e){t.setOptions(e)},url(t,e){t.setUrl(e)},zIndex(t,e){t.setZIndex(e)}};class Bi extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{kmlLayer:null}),v(this,"setKmlLayerCallback",()=>{this.state.kmlLayer!==null&&this.props.onLoad&&this.props.onLoad(this.state.kmlLayer)})}componentDidMount(){var e=new google.maps.KmlLayer(Mn(Mn({},this.props.options),{},{map:this.context}));this.registeredEvents=_({updaterMap:wn,eventMap:En,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{kmlLayer:e}},this.setKmlLayerCallback)}componentDidUpdate(e){this.state.kmlLayer!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:wn,eventMap:En,prevProps:e,nextProps:this.props,instance:this.state.kmlLayer}))}componentWillUnmount(){this.state.kmlLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.kmlLayer),Z(this.registeredEvents),this.state.kmlLayer.setMap(null))}render(){return null}}v(Bi,"contextType",A);function ss(t,e){return typeof e=="function"?e(t.offsetWidth,t.offsetHeight):{x:0,y:0}}function Ri(t,e){return new e(t.lat,t.lng)}function Ui(t,e){return new e(new google.maps.LatLng(t.ne.lat,t.ne.lng),new google.maps.LatLng(t.sw.lat,t.sw.lng))}function Ai(t,e,n){return t instanceof e?t:n(t,e)}function zi(t,e,n){return t instanceof e?t:n(t,e)}function _i(t,e,n){var s=t&&t.fromLatLngToDivPixel(n.getNorthEast()),r=t&&t.fromLatLngToDivPixel(n.getSouthWest
27());return s&&r?{left:"".concat(r.x+e.x,"px"),top:"".concat(s.y+e.y,"px"),width:"".concat(s.x-r.x-e.x,"px"),height:"".concat(r.y-s.y-e.y,"px")}:{left:"-9999px",top:"-9999px"}}function Zi(t,e,n){var s=t&&t.fromLatLngToDivPixel(n);if(s){var{x:r,y:o}=s;return{left:"".concat(r+e.x,"px"),top:"".concat(o+e.y,"px")}}return{left:"-9999px",top:"-9999px"}}function is(t,e,n,s){return n!==void 0?_i(t,e,zi(n,google.maps.LatLngBounds,Ui)):Zi(t,e,Ai(s,google.maps.LatLng,Ri))}function Vi(t,e){return t.left===e.left&&t.top===e.top&&t.width===e.height&&t.height===e.height}function xn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function Wi(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?xn(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):xn(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}function Ni(t,e,n,s,r){class o extends google.maps.OverlayView{constructor(l,u,g,p){super(),this.container=l,this.pane=u,this.position=g,this.bounds=p}onAdd(){var l,u=(l=this.getPanes())===null||l===void 0?void 0:l[this.pane];u==null||u.appendChild(this.container)}draw(){var l=this.getProjection(),u=Wi({},this.container?ss(this.container,r):{x:0,y:0}),g=is(l,u,this.bounds,this.position);for(var[p,h]of Object.entries(g))this.container.style[p]=h}onRemove(){this.container.parentNode!==null&&this.container.parentNode.removeChild(this.container)}}return new o(t,e,n,s)}function Sn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function Fi(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Sn(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Sn(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}function kn(t){if(!t)return"";var e=t instanceof google.maps.LatLng?t:new google.maps.LatLng(t.lat,t.lng);return e+""}function On(t){if(!t)return"";var e=t instanceof google.maps.LatLngBounds?t:new google.maps.LatLngBounds(new google.maps.LatLng(t.south,t.east),new google.maps.LatLng(t.north,t.west));return e+""}function $i(t){var{position:e,bounds:n,mapPaneName:s,zIndex:r,onLoad:o,onUnmount:a,getPixelPositionOffset:l,children:u}=t,g=i.useContext(A),p=i.useMemo(()=>{var c=document.createElement("div");return c.style.position="absolute",c},[]),h=i.useMemo(()=>Ni(p,s,e,n,l),[p,s,e,n]);return i.useEffect(()=>(o==null||o(h),h==null||h.setMap(g),()=>{a==null||a(h),h==null||h.setMap(null)}),[g,h]),i.useEffect(()=>{p.style.zIndex="".concat(r)},[r,p]),ge.createPortal(u,p)}i.memo($i);class he extends i.PureComponent{constructor(e){super(e),v(this,"state",{paneEl:null,containerStyle:{position:"absolute"}}),v(this,"updatePane",()=>{var s=this.props.mapPaneName,r=this.overlayView.getPanes();se(!!s,"OverlayView requires props.mapPaneName but got %s",s),r?this.setState({paneEl:r[s]}):this.setState({paneEl:null})}),v(this,"onAdd",()=>{var s,r;this.updatePane(),(s=(r=this.props).onLoad)===null||s===void 0||s.call(r,this.overlayView)}),v(this,"onPositionElement",()=>{var s=this.overlayView.getProjection(),r=Fi({x:0,y:0},this.containerRef.current?ss(this.containerRef.current,this.props.getPixelPositionOffset):{}),o=is(s,r,this.props.bounds,this.props.position);if(!Vi(o,{left:this.state.containerStyle.left,top:this.state.containerStyle.top,width:this.state.containerStyle.width,height:this.state.containerStyle.height})){var a,l,u,g;this.setState({containerStyle:{top:(a=o.top)!==null&&a!==void 0?a:0,left:(l=o.left)!==null&&l!==void 0?l:0,width:(u=o.width)!==null&&u!==void 0?u:0,height:(g=o.height)!==null&&g!==void 0?g:0,position:"absolute"}})}}),v(this,"draw",()=>{this.onPositionElement()}),v(this,"onRemove",()=>{var s,r;this.setState(()=>({paneEl:null})),(s=(r=this.props).onUnmount)===null||s===void 0||s.call(r,this.overlayView)}
27),this.containerRef=i.createRef();var n=new google.maps.OverlayView;n.onAdd=this.onAdd,n.draw=this.draw,n.onRemove=this.onRemove,this.overlayView=n}componentDidMount(){this.overlayView.setMap(this.context)}componentDidUpdate(e){var n=kn(e.position),s=kn(this.props.position),r=On(e.bounds),o=On(this.props.bounds);(n!==s||r!==o)&&this.overlayView.draw(),e.mapPaneName!==this.props.mapPaneName&&this.updatePane()}componentWillUnmount(){this.overlayView.setMap(null)}render(){var e=this.state.paneEl;return e?ge.createPortal(G.jsx("div",{ref:this.containerRef,style:this.state.containerStyle,children:i.Children.only(this.props.children)}),e):null}}v(he,"FLOAT_PANE","floatPane");v(he,"MAP_PANE","mapPane");v(he,"MARKER_LAYER","markerLayer");v(he,"OVERLAY_LAYER","overlayLayer");v(he,"OVERLAY_MOUSE_TARGET","overlayMouseTarget");v(he,"contextType",A);function Hi(){}function Pn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function Dn(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};e%2?Pn(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Pn(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var In={onDblClick:"dblclick",onClick:"click"},jn={opacity(t,e){t.setOpacity(e)}};function Gi(t){var{url:e,bounds:n,options:s,visible:r}=t,o=i.useContext(A),a=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east)),l=i.useMemo(()=>new google.maps.GroundOverlay(e,a,s),[]);return i.useEffect(()=>{l!==null&&l.setMap(o)},[o]),i.useEffect(()=>{typeof e<"u"&&l!==null&&(l.set("url",e),l.setMap(o))},[l,e]),i.useEffect(()=>{typeof r<"u"&&l!==null&&l.setOpacity(r?1:0)},[l,r]),i.useEffect(()=>{var u=new google.maps.LatLngBounds(new google.maps.LatLng(n.south,n.west),new google.maps.LatLng(n.north,n.east));typeof n<"u"&&l!==null&&(l.set("bounds",u),l.setMap(o))},[l,n]),null}i.memo(Gi);class rs extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{groundOverlay:null}),v(this,"setGroundOverlayCallback",()=>{this.state.groundOverlay!==null&&this.props.onLoad&&this.props.onLoad(this.state.groundOverlay)})}componentDidMount(){se(!!this.props.url||!!this.props.bounds,"For GroundOverlay, url and bounds are passed in to constructor and are immutable after instantiated. This is the behavior of Google Maps JavaScript API v3 ( See https://developers.google.com/maps/documentation/javascript/reference#GroundOverlay) Hence, use the corresponding two props provided by `react-google-maps-api`, url and bounds. In some cases, you'll need the GroundOverlay component to reflect the changes of url and bounds. You can leverage the React's key property to remount the component. Typically, just `key={url}` would serve your need. See https://github.com/tomchentw/react-google-maps/issues/655");var e=new google.maps.GroundOverlay(this.props.url,this.props.bounds,Dn(Dn({},this.props.options),{},{map:this.context}));this.registeredEvents=_({updaterMap:jn,eventMap:In,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{groundOverlay:e}},this.setGroundOverlayCallback)}componentDidUpdate(e){this.state.groundOverlay!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:jn,eventMap:In,prevProps:e,nextProps:this.props,instance:this.state.groundOverlay}))}componentWillUnmount(){this.state.groundOverlay&&(this.props.onUnmount&&this.props.onUnmount(this.state.groundOverlay),this.state.groundOverlay.setMap(null))}render(){return null}}v(rs,"defaultProps",{onLoad:Hi});v(rs,"contextType",A);function Tn(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter(function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable})),n.push.apply(n,s)}return n}function He(t){for(var e=1;e<arguments.length;e++){var n=arguments[e]!=null?arguments[e]:{};
27e%2?Tn(Object(n),!0).forEach(function(s){v(t,s,n[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):Tn(Object(n)).forEach(function(s){Object.defineProperty(t,s,Object.getOwnPropertyDescriptor(n,s))})}return t}var Bn={},Rn={data(t,e){t.setData(e)},map(t,e){t.setMap(e)},options(t,e){t.setOptions(e)}};function Ki(t){var{data:e,onLoad:n,onUnmount:s,options:r}=t,o=i.useContext(A),[a,l]=i.useState(null);return i.useEffect(()=>{google.maps.visualization||se(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} in useJsApiScript? %s',google.maps.visualization)},[]),i.useEffect(()=>{se(!!e,"data property is required in HeatmapLayer %s",e)},[e]),i.useEffect(()=>{a!==null&&a.setMap(o)},[o]),i.useEffect(()=>{r&&a!==null&&a.setOptions(r)},[a,r]),i.useEffect(()=>{var u=new google.maps.visualization.HeatmapLayer(He(He({},r),{},{data:e,map:o}));return l(u),n&&n(u),()=>{a!==null&&(s&&s(a),a.setMap(null))}},[]),null}i.memo(Ki);class qi extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{heatmapLayer:null}),v(this,"setHeatmapLayerCallback",()=>{this.state.heatmapLayer!==null&&this.props.onLoad&&this.props.onLoad(this.state.heatmapLayer)})}componentDidMount(){se(!!google.maps.visualization,'Did you include prop libraries={["visualization"]} to <LoadScript />? %s',google.maps.visualization),se(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(He(He({},this.props.options),{},{data:this.props.data,map:this.context}));this.registeredEvents=_({updaterMap:Rn,eventMap:Bn,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{heatmapLayer:e}},this.setHeatmapLayerCallback)}componentDidUpdate(e){Z(this.registeredEvents),this.registeredEvents=_({updaterMap:Rn,eventMap:Bn,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})}componentWillUnmount(){this.state.heatmapLayer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),Z(this.registeredEvents),this.state.heatmapLayer.setMap(null))}render(){return null}}v(qi,"contextType",A);var Un={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},An={register(t,e,n){t.registerPanoProvider(e,n)},links(t,e){t.setLinks(e)},motionTracking(t,e){t.setMotionTracking(e)},options(t,e){t.setOptions(e)},pano(t,e){t.setPano(e)},position(t,e){t.setPosition(e)},pov(t,e){t.setPov(e)},visible(t,e){t.setVisible(e)},zoom(t,e){t.setZoom(e)}};class Ji extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{streetViewPanorama:null}),v(this,"setStreetViewPanoramaCallback",()=>{this.state.streetViewPanorama!==null&&this.props.onLoad&&this.props.onLoad(this.state.streetViewPanorama)})}componentDidMount(){var e,n,s=(e=(n=this.context)===null||n===void 0?void 0:n.getStreetView())!==null&&e!==void 0?e:null;this.registeredEvents=_({updaterMap:An,eventMap:Un,prevProps:{},nextProps:this.props,instance:s}),this.setState(()=>({streetViewPanorama:s}),this.setStreetViewPanoramaCallback)}componentDidUpdate(e){this.state.streetViewPanorama!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:An,eventMap:Un,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))}componentWillUnmount(){this.state.streetViewPanorama!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),Z(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))}render(){return null}}v(Ji,"contextType",A);class Yi extends i.PureComponent{constructor(){super(...arguments),v(this,"state",{streetViewService:null}),v(this,"setStreetViewServiceCallback",()=>{this.state.streetViewService!==null&&this.props.onLoad&&this.props.onLoad(this.state.streetViewService)})}componentDidMount(){var e=new google.maps.StreetViewService;this.setState(function(){return{streetViewService:e}},this.setStreetViewServiceCallback)}componentWillUnmount(){this.state.streetViewService!==null&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)}render(){return null}}v(Yi,"contextType",A);var zn={onDirectionsChanged:"directions_changed"},_n={directions(t,e){t.setDirections(e)},map(t,e){t.setMap(e)},options(t,e){t.setOptions(e)},panel(t,e){t.setPanel(e)},routeIndex(t,e){t.setRouteIndex(e)}};class Qi extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"state",{directionsRenderer:null}),v(this,"setDirectionsRendererCallback",()=>{this.state.directionsRenderer!==null&&(this.state.directionsRenderer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.directionsRenderer))})}componentDidMount(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=_({updaterMap:_n,eventMap:zn,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{directionsRenderer:e}},this.setDirectionsRendererCallback)}componentDidUpdate(e){this.state.directionsRenderer!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:_n,eventMap:zn,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))}componentWillUnmount(){this.state.directionsRenderer!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),Z(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))}render(){return null}}v(Qi,"contextType",A);var Zn={onPlacesChanged:"places_changed"},Vn={bounds(t,e){t.setBounds(e)}};class Xi extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"containerElement",i.createRef()),v(this,"state",{searchBox:null}),v(this,"setSearchBoxCallback",()=>{this.state.searchBox!==null&&this.props.onLoad&&this.props.onLoad(this.state.searchBox
27)})}componentDidMount(){if(se(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places),this.containerElement!==null&&this.containerElement.current!==null){var e=this.containerElement.current.querySelector("input");if(e!==null){var n=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=_({updaterMap:Vn,eventMap:Zn,prevProps:{},nextProps:this.props,instance:n}),this.setState(function(){return{searchBox:n}},this.setSearchBoxCallback)}}}componentDidUpdate(e){this.state.searchBox!==null&&(Z(this.registeredEvents),this.registeredEvents=_({updaterMap:Vn,eventMap:Zn,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))}componentWillUnmount(){this.state.searchBox!==null&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),Z(this.registeredEvents))}render(){return G.jsx("div",{ref:this.containerElement,children:i.Children.only(this.props.children)})}}v(Xi,"contextType",A);var Wn={onPlaceChanged:"place_changed"},Nn={bounds(t,e){t.setBounds(e)},restrictions(t,e){t.setComponentRestrictions(e)},fields(t,e){t.setFields(e)},options(t,e){t.setOptions(e)},types(t,e){t.setTypes(e)}};class os extends i.PureComponent{constructor(){super(...arguments),v(this,"registeredEvents",[]),v(this,"containerElement",i.createRef()),v(this,"state",{autocomplete:null}),v(this,"setAutocompleteCallback",()=>{this.state.autocomplete!==null&&this.props.onLoad&&this.props.onLoad(this.state.autocomplete)})}componentDidMount(){var e;se(!!google.maps.places,'You need to provide libraries={["places"]} prop to <LoadScript /> component %s',google.maps.places);var n=(e=this.containerElement.current)===null||e===void 0?void 0:e.querySelector("input");if(n){var s=new google.maps.places.Autocomplete(n,this.props.options);this.registeredEvents=_({updaterMap:Nn,eventMap:Wn,prevProps:{},nextProps:this.props,instance:s}),this.setState(()=>({autocomplete:s}),this.setAutocompleteCallback)}}componentDidUpdate(e){Z(this.registeredEvents),this.registeredEvents=_({updaterMap:Nn,eventMap:Wn,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})}componentWillUnmount(){this.state.autocomplete!==null&&Z(this.registeredEvents)}render(){return G.jsx("div",{ref:this.containerElement,className:this.props.className,children:i.Children.only(this.props.children)})}}v(os,"defaultProps",{className:""});v(os,"contextType",A);const er=["geometry"],Pr=t=>{var n;const{isLoaded:e}=Yn({googleMapsApiKey:((n=t.rendering.customData)==null?void 0:n.googleMapApiKey)||"",libraries:er});return e?G.jsx(tr,{...t}):G.jsx(ls,{children:G.jsx(Fn,{children:"Loading...."})})},tr=({fields:t})=>{const[e,n]=i.useState(null),[s,r]=i.useState(null);if(!(t!=null&&t.locations))return G.jsx("div",{children:"Error"});let o=[];try{o=JSON.parse(t.locations.value)}catch(p){o=[],console.log("json invalid",p)}const a=p=>{p!==e&&n(p)},l=p=>{const h=new google.maps.LatLngBounds;o.forEach(({coords:c})=>h.extend(new google.maps.LatLng(c[0],c[1]))),p.fitBounds(h),u(p).then(()=>{setTimeout(()=>{p.setZoom(17),r(null)},500)})},u=p=>new Promise((h,c)=>{navigator!=null&&navigator.geolocation?navigator.geolocation.getCurrentPosition(f=>{if(f){const d=new google.maps.LatLng(f.coords.latitude,f.coords.longitude),w=[];let y=-1;for(let S=0;S<o.length;S++){const E=google.maps.geometry.spherical.computeDistanceBetween(new google.maps.LatLng(o[S].coords[0],o[S].coords[1]),d);w[S]=E,(y===-1||E<w[y])&&(y=S)}p.panTo(new google.maps.LatLng(o[y].coords[0],o[y].coords[1])),h(f)}else c(null)},f=>{g(f)}):(r("Geolocation is not supported by this device or browser."),c(null))}),g=p=>{switch(console.warn(p.message),p.code){case 1:r("We could not find the nearest station.<br><br><strong>Your browser's Geolocation is not enabled.</strong> Geolocation must be enabled to view nearest station.");break;case 2:r("We could not find the nearest station for you (location info unavailable).");break;case 3:r("We could not find the nearest station for you (request timed out).");break;default:r("We could not find the nearest station for you (unknown error).");break}};return G.jsxs(G.Fragment,{children:[s&&G.jsx(Fn,{children:G.jsx(Et,{size:"body",dangerouslySetInnerHTML:{__html:wt(s,St)}})}),G.jsx(xt,{sx:{".gm-style-iw button":{top:"4px !important",right:"4px !important",display:"flex !important",alignItems:"center",justifyContent:"center","> span":{width:"20px !important",height:"20px !important",margin:"0 !important"}}},children:G.jsx(Cs,{onLoad:l,onClick:()=>n(null),mapContainerStyle:{width:"100%",height:"80vh"},children:o.map(({title:p,coords:h,url:c},f)=>{var d,w;return G.jsx(Us,{position:new google.maps.LatLng(h[0],h[1]),icon:{url:((w=(d=t.markerIcon)==null?void 0:d.value)==null?void 0:w.src)||"",scaledSize:new google.maps.Size(30,37)},onClick:()=>a(f),children:e===f?G.jsx(bi,{onCloseClick:()=>n(null),children:G.jsxs(xt,{p:"2",children:[G.jsx(Et,{size:"body",dangerouslySetInnerHTML:{__html:wt(p||"",St)}}),G.jsx(us,{to:c,target:"_blank",rel:"noreferrer",variant:"secondary",size:"md",color:"primary.aramcoLinkBlue",mt:"4",mb:"1",children:"Get directions using Google Maps"})]})}):null},f)})})})]})};export{Pr as default}; 28//# sourceMappingURL=Maps_GoogleMap-JeSQKVUO.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.