"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[11230],{896245:function(e,t,s){let n,o;s.d(t,{Db:function(){return I}});var i,r,a,l,u,p,g=s(652983),h=s(63730),d=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==s.g?s.g:"undefined"!=typeof self&&self,{exports:{}}),c={};d.exports=function(){if(l)return c;l=1;var e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,n=g.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,o={key:!0,ref:!0,__self:!0,__source:!0};function i(t,i,r){var a,l={},u=null,p=null;for(a in void 0!==r&&(u=""+r),void 0!==i.key&&(u=""+i.key),void 0!==i.ref&&(p=i.ref),i)s.call(i,a)&&!o.hasOwnProperty(a)&&(l[a]=i[a]);if(t&&t.defaultProps)for(a in i=t.defaultProps)void 0===l[a]&&(l[a]=i[a]);return{$$typeof:e,type:t,key:u,ref:p,props:l,_owner:n.current}}return c.Fragment=t,c.jsx=i,c.jsxs=i,c}();var m=function(e,t,s,n,o,i,r,a){if(!e){var l;if(void 0===t)l=Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var u=[s,n,o,i,r,a],p=0;(l=Error(t.replace(/%s/g,function(){return u[p++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}};let v=(0,g.createContext)(null);function f(e){google.maps.event.removeListener(e)}function L(e=[]){e.forEach(f)}function y({updaterMap:e,eventMap:t,prevProps:s,nextProps:n,instance:o}){var i,r;let a=(i=function(e,t,s){return"function"==typeof n[s]&&e.push(google.maps.event.addListener(o,t,n[s])),e},r=[],Object.keys(t).reduce(function(e,s){return i(e,t[s],s)},r));return!function(e,t,s,n){let o={};!function(e,t){Object.keys(e).forEach(s=>t(e[s],s))}(e,(e,i)=>{let r=s[i];r!==t[i]&&(o[i]=r,e(n,r))})}(e,s,n,o),a}function b(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(s[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var o=0,n=Object.getOwnPropertySymbols(e);ot.indexOf(n[o])&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(s[n[o]]=e[n[o]]);return s}(0,g.memo)(function({children:e,options:t,id:s,mapContainerStyle:n,mapContainerClassName:o,center:i,onClick:r,onDblClick:a,onDrag:l,onDragEnd:u,onDragStart:p,onMouseMove:h,onMouseOut:c,onMouseOver:m,onMouseDown:f,onMouseUp:L,onRightClick:y,onCenterChanged:b,onLoad:x,onUnmount:C}){let[E,M]=(0,g.useState)(null),k=(0,g.useRef)(null),[S,w]=(0,g.useState)(null),[P,O]=(0,g.useState)(null),[I,B]=(0,g.useState)(null),[D,z]=(0,g.useState)(null),[_,T]=(0,g.useState)(null),[R,j]=(0,g.useState)(null),[U,A]=(0,g.useState)(null),[Z,W]=(0,g.useState)(null),[V,N]=(0,g.useState)(null),[H,F]=(0,g.useState)(null),[G,$]=(0,g.useState)(null),[Y,q]=(0,g.useState)(null);return(0,g.useEffect)(()=>{t&&null!==E&&E.setOptions(t)},[E,t]),(0,g.useEffect)(()=>{null!==E&&void 0!==i&&E.setCenter(i)},[E,i]),(0,g.useEffect)(()=>{E&&a&&(null!==P&&google.maps.event.removeListener(P),O(google.maps.event.addListener(E,"dblclick",a)))},[a]),(0,g.useEffect)(()=>{E&&u&&(null!==I&&google.maps.event.removeListener(I),B(google.maps.event.addListener(E,"dragend",u)))},[u]),(0,g.useEffect)(()=>{E&&p&&(null!==D&&google.maps.event.removeListener(D),z(google.maps.event.addListener(E,"dragstart",p)))},[p]),(0,g.useEffect)(()=>{E&&f&&(null!==_&&google.maps.event.removeListener(_),T(google.maps.event.addListener(E,"mousedown",f)))},[f]),(0,g.useEffect)(()=>{E&&h&&(null!==R&&google.maps.event.removeListener(R),j(google.maps.event.addListener(E,"mousemove",h)))},[h]),(0,g.useEffect)(()=>{E&&c&&(null!==U&&google.maps.event.removeListener(U),A(google.maps.event.addListener(E,"mouseout",c)))},[c]),(0,g.useEffect)(()=>{E&&m&&(null!==Z&&google.maps.event.removeListener(Z),W(google.maps.event.addListener(E,"mouseover",m)))},[m]),(0,g.useEffect)(()=>{E&&L&&(null!==V&&google.maps.event.removeListener(V),N(google.maps.event.addListener(E,"mouseup",L)))},[L]),(0,g.useEffect)(()=>{E&&y&&(null!==H&&google.maps.event.removeListener(H),F(google.maps.event.addListener(E,"rightclick",y)))},[y]),(0,g.useEffect)(()=>{E&&r&&(null!==G&&google.maps.event.removeListener(G),$(google.maps.event.addListener(E,"click",r)))},[r]),(0,g.useEffect)(()=>{E&&l&&(null!==Y&&google.maps.event.removeListener(Y),q(google.maps.event.addListener(E,"drag",l)))},[l]),(0,g.useEffect)(()=>{E&&b&&(null!==S&&google.maps.event.removeListener(S),w(google.maps.event.addListener(E,"center_changed",b)))},[r]),(0,g.useEffect)(()=>{let e=null===k.current?null:new google.maps.Map(k.current,t);return M(e),null!==e&&x&&x(e),()=>{null!==e&&C&&C(e)}},[]),d.exports.jsx("div",Object.assign({id:s,ref:k,style:n,className:o},{children:d.exports.jsx(v.Provider,Object.assign({value:E},{children:null!==E?e:d.exports.jsx(d.exports.Fragment,{})}))}))});let x="undefined"!=typeof document;function C({url:e,id:t,nonce:s}){return x?new Promise(function(n,o){let i=document.getElementById(t),r=window;if(i){let s=i.getAttribute("data-state");if(i.src===e&&"error"!==s){if("ready"===s)return n(t);{let e=r.initMap,s=i.onerror;r.initMap=function(){e&&e(),n(t)},i.onerror=function(e){s&&s(e),o(e)};return}}i.remove()}let a=document.createElement("script");a.type="text/javascript",a.src=e,a.id=t,a.async=!0,a.nonce=s,a.onerror=function(e){a.setAttribute("data-state","error"),o(e)},r.initMap=function(){a.setAttribute("data-state","ready"),n(t)},document.head.appendChild(a)}).catch(e=>{throw console.error("injectScript error: ",e),e}):Promise.reject(Error("document is undefined"))}function E(e){let t=e.href;return!!t&&(0===t.indexOf("https://fonts.googleapis.com/css?family=Roboto")||0===t.indexOf("https://fonts.googleapis.com/css?family=Google+Sans+Text"))||("style"===e.tagName.toLowerCase()&&e.styleSheet&&e.styleSheet.cssText&&0===e.styleSheet.cssText.replace("\r\n","").indexOf(".gm-style")?(e.styleSheet.cssText="",!0):"style"===e.tagName.toLowerCase()&&e.innerHTML&&0===e.innerHTML.replace("\r\n","").indexOf(".gm-style")?(e.innerHTML="",!0):"style"===e.tagName.toLowerCase()&&!e.styleSheet&&!e.innerHTML)}function M(){let e=document.getElementsByTagName("head")[0],t=e.insertBefore.bind(e);e.insertBefore=function(s,n){E(s)||Reflect.apply(t,e,[s,n])};let s=e.appendChild.bind(e);e.appendChild=function(t){E(t)||Reflect.apply(s,e,[t])}}function k({googleMapsApiKey:e,googleMapsClientId:t,version:s="weekly",language:n,region:o,libraries:i,channel:r,mapIds:a,authReferrerPolicy:l}){let u=[];return m(e&&t||!(e&&t),"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?u.push(`key=${e}`):t&&u.push(`client=${t}`),s&&u.push(`v=${s}`),n&&u.push(`language=${n}`),o&&u.push(`region=${o}`),i&&i.length&&u.push(`libraries=${i.sort().join(",")}`),r&&u.push(`channel=${r}`),a&&a.length&&u.push(`map_ids=${a.join(",")}`),l&&u.push(`auth_referrer_policy=${l}`),u.push("callback=initMap"),`https://maps.googleapis.com/maps/api/js?${u.join("&")}`}let S=!1;function w(){return d.exports.jsx("div",{children:"Loading..."})}let P={id:"script-loader",version:"weekly"};class O extends g.PureComponent{constructor(){super(...arguments),this.check=(0,g.createRef)(),this.state={loaded:!1},this.cleanupCallback=()=>{delete window.google.maps,this.injectScript()},this.isCleaningUp=()=>{var e,t,s,n;return e=this,t=void 0,s=void 0,n=function*(){return new Promise(function(e){if(S){if(x){let t=window.setInterval(function(){S||(window.clearInterval(t),e())},1)}}else e()})},new(s||(s=Promise))(function(o,i){function r(e){try{l(n.next(e))}catch(e){i(e)}}function a(e){try{l(n.throw(e))}catch(e){i(e)}}function l(e){var t;e.done?o(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(r,a)}l((n=n.apply(e,t||[])).next())})},this.cleanup=()=>{S=!0;let e=document.getElementById(this.props.id);e&&e.parentNode&&e.parentNode.removeChild(e),Array.prototype.slice.call(document.getElementsByTagName("script")).filter(function(e){return"string"==typeof e.src&&e.src.includes("maps.googleapis")}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)}),Array.prototype.slice.call(document.getElementsByTagName("link")).filter(function(e){return"https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Google+Sans"===e.href}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)}),Array.prototype.slice.call(document.getElementsByTagName("style")).filter(function(e){return void 0!==e.innerText&&e.innerText.length>0&&e.innerText.includes(".gm-")}).forEach(function(e){e.parentNode&&e.parentNode.removeChild(e)})},this.injectScript=()=>{this.props.preventGoogleFontsLoading&&M(),m(!!this.props.id,'LoadScript requires "id" prop to be a string: %s',this.props.id),C({id:this.props.id,nonce:this.props.nonce,url:k(this.props)}).then(()=>{this.props.onLoad&&this.props.onLoad(),this.setState(function(){return{loaded:!0}})}).catch(e=>{this.props.onError&&this.props.onError(e),console.error(` There has been an Error with loading Google Maps API script, please check that you provided correct google API key (${this.props.googleMapsApiKey||"-"}) or Client ID (${this.props.googleMapsClientId||"-"}) to Otherwise it is a Network issue. `)})}}componentDidMount(){if(x){if(window.google&&window.google.maps&&!S){console.error("google api is already presented");return}this.isCleaningUp().then(this.injectScript).catch(function(e){console.error("Error at injecting script after cleaning up: ",e)})}}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"),x&&e.language!==this.props.language&&(this.cleanup(),this.setState(function(){return{loaded:!1}},this.cleanupCallback))}componentWillUnmount(){x&&(this.cleanup(),window.setTimeout(()=>{this.check.current||(delete window.google,S=!1)},1),this.props.onUnmount&&this.props.onUnmount())}render(){return d.exports.jsxs(d.exports.Fragment,{children:[d.exports.jsx("div",{ref:this.check}),this.state.loaded?this.props.children:this.props.loadingElement||d.exports.jsx(w,{})]})}}function I({id:e=P.id,version:t=P.version,nonce:s,googleMapsApiKey:o,googleMapsClientId:i,language:r,region:a,libraries:l,preventGoogleFontsLoading:u,channel:p,mapIds:h,authReferrerPolicy:d}){let c=(0,g.useRef)(!1),[v,f]=(0,g.useState)(!1),[L,y]=(0,g.useState)(void 0);(0,g.useEffect)(function(){return c.current=!0,()=>{c.current=!1}},[]),(0,g.useEffect)(function(){x&&u&&M()},[u]),(0,g.useEffect)(function(){v&&m(!!window.google,"useLoadScript was marked as loaded, but window.google is not present. Something went wrong.")},[v]);let b=k({version:t,googleMapsApiKey:o,googleMapsClientId:i,language:r,region:a,libraries:l,channel:p,mapIds:h,authReferrerPolicy:d});(0,g.useEffect)(function(){if(x){if(window.google&&window.google.maps&&n===b){t();return}C({id:e,url:b,nonce:s}).then(t).catch(function(e){c.current&&y(e),console.warn(` There has been an Error with loading Google Maps API script, please check that you provided correct google API key (${o||"-"}) or Client ID (${i||"-"}) Otherwise it is a Network issue. `),console.error(e)})}function t(){c.current&&(f(!0),n=b)}},[e,b,s]);let E=(0,g.useRef)();return(0,g.useEffect)(function(){E.current&&l!==E.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 static class property for Components and PureComponents, or just a const variable outside of component, or somewhere in config files or ENV variables"),E.current=l},[l]),{isLoaded:v,loadError:L,url:b}}O.defaultProps=P;let B=d.exports.jsx(w,{});(0,g.memo)(function(e){var{loadingElement:t,onLoad:s,onError:n,onUnmount:o,children:i}=e;let{isLoaded:r,loadError:a}=I(b(e,["loadingElement","onLoad","onError","onUnmount","children"]));return(0,g.useEffect)(function(){r&&"function"==typeof s&&s()},[r,s]),(0,g.useEffect)(function(){a&&"function"==typeof n&&n(a)},[a,n]),(0,g.useEffect)(function(){return()=>{o&&o()}},[o]),r?i:t||B}),(i=u||(u={}))[i.INITIALIZED=0]="INITIALIZED",i[i.LOADING=1]="LOADING",i[i.SUCCESS=2]="SUCCESS",i[i.FAILURE=3]="FAILURE";let D={},z={options(e,t){e.setOptions(t)}};(0,g.memo)(function({options:e,onLoad:t,onUnmount:s}){let n=(0,g.useContext)(v),[o,i]=(0,g.useState)(null);return(0,g.useEffect)(()=>{null!==o&&o.setMap(n)},[n]),(0,g.useEffect)(()=>{e&&null!==o&&o.setOptions(e)},[o,e]),(0,g.useEffect)(()=>{let r=new google.maps.TrafficLayer(Object.assign(Object.assign({},e||{}),{map:n}));return i(r),t&&t(r),()=>{null!==o&&(s&&s(o),o.setMap(null))}},[]),null});class _ extends g.PureComponent{constructor(){super(...arguments),this.state={trafficLayer:null},this.setTrafficLayerCallback=()=>{null!==this.state.trafficLayer&&this.props.onLoad&&this.props.onLoad(this.state.trafficLayer)},this.registeredEvents=[]}componentDidMount(){let e=new google.maps.TrafficLayer(Object.assign(Object.assign({},this.props.options||{}),{map:this.context}));this.registeredEvents=y({updaterMap:z,eventMap:D,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{trafficLayer:e}},this.setTrafficLayerCallback)}componentDidUpdate(e){null!==this.state.trafficLayer&&(L(this.registeredEvents),this.registeredEvents=y({updaterMap:z,eventMap:D,prevProps:e,nextProps:this.props,instance:this.state.trafficLayer}))}componentWillUnmount(){null!==this.state.trafficLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.trafficLayer),L(this.registeredEvents),this.state.trafficLayer.setMap(null))}render(){return null}}_.contextType=v,(0,g.memo)(function({onLoad:e,onUnmount:t}){let s=(0,g.useContext)(v),[n,o]=(0,g.useState)(null);return(0,g.useEffect)(()=>{null!==n&&n.setMap(s)},[s]),(0,g.useEffect)(()=>{let n=new google.maps.BicyclingLayer;return o(n),n.setMap(s),e&&e(n),()=>{null!==n&&(t&&t(n),n.setMap(null))}},[]),null});class T extends g.PureComponent{constructor(){super(...arguments),this.state={bicyclingLayer:null},this.setBicyclingLayerCallback=()=>{null!==this.state.bicyclingLayer&&(this.state.bicyclingLayer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.bicyclingLayer))}}componentDidMount(){let e=new google.maps.BicyclingLayer;this.setState(()=>({bicyclingLayer:e}),this.setBicyclingLayerCallback)}componentWillUnmount(){null!==this.state.bicyclingLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.bicyclingLayer),this.state.bicyclingLayer.setMap(null))}render(){return null}}T.contextType=v,(0,g.memo)(function({onLoad:e,onUnmount:t}){let s=(0,g.useContext)(v),[n,o]=(0,g.useState)(null);return(0,g.useEffect)(()=>{null!==n&&n.setMap(s)},[s]),(0,g.useEffect)(()=>{let i=new google.maps.TransitLayer;return o(i),i.setMap(s),e&&e(i),()=>{null!==n&&(t&&t(n),this.state.transitLayer.setMap(null))}},[]),null});class R extends g.PureComponent{constructor(){super(...arguments),this.state={transitLayer:null},this.setTransitLayerCallback=()=>{null!==this.state.transitLayer&&(this.state.transitLayer.setMap(this.context),this.props.onLoad&&this.props.onLoad(this.state.transitLayer))}}componentDidMount(){let e=new google.maps.TransitLayer;this.setState(function(){return{transitLayer:e}},this.setTransitLayerCallback)}componentWillUnmount(){null!==this.state.transitLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.transitLayer),this.state.transitLayer.setMap(null))}render(){return null}}R.contextType=v;let j={onCircleComplete:"circlecomplete",onMarkerComplete:"markercomplete",onOverlayComplete:"overlaycomplete",onPolygonComplete:"polygoncomplete",onPolylineComplete:"polylinecomplete",onRectangleComplete:"rectanglecomplete"},U={drawingMode(e,t){e.setDrawingMode(t)},options(e,t){e.setOptions(t)}};(0,g.memo)(function({options:e,drawingMode:t,onCircleComplete:s,onMarkerComplete:n,onOverlayComplete:o,onPolygonComplete:i,onPolylineComplete:r,onRectangleComplete:a,onLoad:l,onUnmount:u}){let p=(0,g.useContext)(v),[h,d]=(0,g.useState)(null),[c,f]=(0,g.useState)(null),[L,y]=(0,g.useState)(null),[b,x]=(0,g.useState)(null),[C,E]=(0,g.useState)(null),[M,k]=(0,g.useState)(null),[S,w]=(0,g.useState)(null);return(0,g.useEffect)(()=>{null!==h&&h.setMap(p)},[p]),(0,g.useEffect)(()=>{e&&null!==h&&h.setOptions(e)},[h,e]),(0,g.useEffect)(()=>{t&&null!==h&&h.setDrawingMode(t)},[h,t]),(0,g.useEffect)(()=>{h&&s&&(null!==c&&google.maps.event.removeListener(c),f(google.maps.event.addListener(h,"circlecomplete",s)))},[h,s]),(0,g.useEffect)(()=>{h&&n&&(null!==L&&google.maps.event.removeListener(L),y(google.maps.event.addListener(h,"markercomplete",n)))},[h,n]),(0,g.useEffect)(()=>{h&&o&&(null!==b&&google.maps.event.removeListener(b),x(google.maps.event.addListener(h,"overlaycomplete",o)))},[h,o]),(0,g.useEffect)(()=>{h&&i&&(null!==C&&google.maps.event.removeListener(C),E(google.maps.event.addListener(h,"polygoncomplete",i)))},[h,i]),(0,g.useEffect)(()=>{h&&r&&(null!==M&&google.maps.event.removeListener(M),k(google.maps.event.addListener(h,"polylinecomplete",r)))},[h,r]),(0,g.useEffect)(()=>{h&&a&&(null!==S&&google.maps.event.removeListener(S),w(google.maps.event.addListener(h,"rectanglecomplete",a)))},[h,a]),(0,g.useEffect)(()=>{m(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing);let g=new google.maps.drawing.DrawingManager(Object.assign(Object.assign({},e||{}),{map:p}));return t&&g.setDrawingMode(t),s&&f(google.maps.event.addListener(g,"circlecomplete",s)),n&&y(google.maps.event.addListener(g,"markercomplete",n)),o&&x(google.maps.event.addListener(g,"overlaycomplete",o)),i&&E(google.maps.event.addListener(g,"polygoncomplete",i)),r&&k(google.maps.event.addListener(g,"polylinecomplete",r)),a&&w(google.maps.event.addListener(g,"rectanglecomplete",a)),d(g),l&&l(g),()=>{null!==h&&(c&&google.maps.event.removeListener(c),L&&google.maps.event.removeListener(L),b&&google.maps.event.removeListener(b),C&&google.maps.event.removeListener(C),M&&google.maps.event.removeListener(M),S&&google.maps.event.removeListener(S),u&&u(h),h.setMap(null))}},[]),null});class A extends g.PureComponent{constructor(e){super(e),this.registeredEvents=[],this.state={drawingManager:null},this.setDrawingManagerCallback=()=>{null!==this.state.drawingManager&&this.props.onLoad&&this.props.onLoad(this.state.drawingManager)},m(!!google.maps.drawing,"Did you include prop libraries={['drawing']} in the URL? %s",google.maps.drawing)}componentDidMount(){let e=new google.maps.drawing.DrawingManager(Object.assign(Object.assign({},this.props.options||{}),{map:this.context}));this.registeredEvents=y({updaterMap:U,eventMap:j,prevProps:{},nextProps:this.props,instance:e}),this.setState(function(){return{drawingManager:e}},this.setDrawingManagerCallback)}componentDidUpdate(e){null!==this.state.drawingManager&&(L(this.registeredEvents),this.registeredEvents=y({updaterMap:U,eventMap:j,prevProps:e,nextProps:this.props,instance:this.state.drawingManager}))}componentWillUnmount(){null!==this.state.drawingManager&&(this.props.onUnmount&&this.props.onUnmount(this.state.drawingManager),L(this.registeredEvents),this.state.drawingManager.setMap(null))}render(){return null}}A.contextType=v;let Z={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"},W={animation(e,t){e.setAnimation(t)},clickable(e,t){e.setClickable(t)},cursor(e,t){e.setCursor(t)},draggable(e,t){e.setDraggable(t)},icon(e,t){e.setIcon(t)},label(e,t){e.setLabel(t)},map(e,t){e.setMap(t)},opacity(e,t){e.setOpacity(t)},options(e,t){e.setOptions(t)},position(e,t){e.setPosition(t)},shape(e,t){e.setShape(t)},title(e,t){e.setTitle(t)},visible(e,t){e.setVisible(t)},zIndex(e,t){e.setZIndex(t)}},V={};(0,g.memo)(function({position:e,options:t,clusterer:s,noClustererRedraw:n,children:o,draggable:i,visible:r,animation:a,clickable:l,cursor:u,icon:p,label:h,opacity:c,shape:m,title:f,zIndex:L,onClick:y,onDblClick:b,onDrag:x,onDragEnd:C,onDragStart:E,onMouseOut:M,onMouseOver:k,onMouseUp:S,onMouseDown:w,onRightClick:P,onClickableChanged:O,onCursorChanged:I,onAnimationChanged:B,onDraggableChanged:D,onFlatChanged:z,onIconChanged:_,onPositionChanged:T,onShapeChanged:R,onTitleChanged:j,onVisibleChanged:U,onZindexChanged:A,onLoad:Z,onUnmount:W}){let N=(0,g.useContext)(v),[H,F]=(0,g.useState)(null),[G,$]=(0,g.useState)(null),[Y,q]=(0,g.useState)(null),[K,J]=(0,g.useState)(null),[X,Q]=(0,g.useState)(null),[ee,et]=(0,g.useState)(null),[es,en]=(0,g.useState)(null),[eo,ei]=(0,g.useState)(null),[er,ea]=(0,g.useState)(null),[el,eu]=(0,g.useState)(null),[ep,eg]=(0,g.useState)(null),[eh,ed]=(0,g.useState)(null),[ec,em]=(0,g.useState)(null),[ev,ef]=(0,g.useState)(null),[eL,ey]=(0,g.useState)(null),[eb,ex]=(0,g.useState)(null),[eC,eE]=(0,g.useState)(null),[eM,ek]=(0,g.useState)(null),[eS,ew]=(0,g.useState)(null),[eP,eO]=(0,g.useState)(null),[eI,eB]=(0,g.useState)(null),[eD,ez]=(0,g.useState)(null);(0,g.useEffect)(()=>{null!==H&&H.setMap(N)},[N]),(0,g.useEffect)(()=>{void 0!==t&&null!==H&&H.setOptions(t)},[H,t]),(0,g.useEffect)(()=>{void 0!==i&&null!==H&&H.setDraggable(i)},[H,i]),(0,g.useEffect)(()=>{e&&null!==H&&H.setPosition(e)},[H,e]),(0,g.useEffect)(()=>{void 0!==r&&null!==H&&H.setVisible(r)},[H,r]),(0,g.useEffect)(()=>{a&&null!==H&&H.setAnimation(a)},[H,a]),(0,g.useEffect)(()=>{H&&b&&(null!==G&&google.maps.event.removeListener(G),$(google.maps.event.addListener(H,"dblclick",b)))},[b]),(0,g.useEffect)(()=>{H&&C&&(null!==Y&&google.maps.event.removeListener(Y),q(google.maps.event.addListener(H,"dragend",C)))},[C]),(0,g.useEffect)(()=>{H&&E&&(null!==K&&google.maps.event.removeListener(K),J(google.maps.event.addListener(H,"dragstart",E)))},[E]),(0,g.useEffect)(()=>{H&&w&&(null!==X&&google.maps.event.removeListener(X),Q(google.maps.event.addListener(H,"mousedown",w)))},[w]),(0,g.useEffect)(()=>{H&&M&&(null!==ee&&google.maps.event.removeListener(ee),et(google.maps.event.addListener(H,"mouseout",M)))},[M]),(0,g.useEffect)(()=>{H&&k&&(null!==es&&google.maps.event.removeListener(es),en(google.maps.event.addListener(H,"mouseover",k)))},[k]),(0,g.useEffect)(()=>{H&&S&&(null!==eo&&google.maps.event.removeListener(eo),ei(google.maps.event.addListener(H,"mouseup",S)))},[S]),(0,g.useEffect)(()=>{H&&P&&(null!==er&&google.maps.event.removeListener(er),ea(google.maps.event.addListener(H,"rightclick",P)))},[P]),(0,g.useEffect)(()=>{H&&y&&(null!==el&&google.maps.event.removeListener(el),eu(google.maps.event.addListener(H,"click",y)))},[y]),(0,g.useEffect)(()=>{H&&x&&(null!==ep&&google.maps.event.removeListener(ep),eg(google.maps.event.addListener(H,"drag",x)))},[x]),(0,g.useEffect)(()=>{H&&O&&(null!==eh&&google.maps.event.removeListener(eh),ed(google.maps.event.addListener(H,"clickable_changed",O)))},[O]),(0,g.useEffect)(()=>{H&&I&&(null!==ec&&google.maps.event.removeListener(ec),em(google.maps.event.addListener(H,"cursor_changed",I)))},[I]),(0,g.useEffect)(()=>{H&&B&&(null!==ev&&google.maps.event.removeListener(ev),ef(google.maps.event.addListener(H,"animation_changed",B)))},[B]),(0,g.useEffect)(()=>{H&&D&&(null!==eL&&google.maps.event.removeListener(eL),ey(google.maps.event.addListener(H,"draggable_changed",D)))},[D]),(0,g.useEffect)(()=>{H&&z&&(null!==eb&&google.maps.event.removeListener(eb),ex(google.maps.event.addListener(H,"flat_changed",z)))},[z]),(0,g.useEffect)(()=>{H&&_&&(null!==eC&&google.maps.event.removeListener(eC),eE(google.maps.event.addListener(H,"icon_changed",_)))},[_]),(0,g.useEffect)(()=>{H&&T&&(null!==eM&&google.maps.event.removeListener(eM),ek(google.maps.event.addListener(H,"position_changed",T)))},[T]),(0,g.useEffect)(()=>{H&&R&&(null!==eS&&google.maps.event.removeListener(eS),ew(google.maps.event.addListener(H,"shape_changed",R)))},[R]),(0,g.useEffect)(()=>{H&&j&&(null!==eP&&google.maps.event.removeListener(eP),eO(google.maps.event.addListener(H,"title_changed",j)))},[j]),(0,g.useEffect)(()=>{H&&U&&(null!==eI&&google.maps.event.removeListener(eI),eB(google.maps.event.addListener(H,"visible_changed",U)))},[U]),(0,g.useEffect)(()=>{H&&A&&(null!==eD&&google.maps.event.removeListener(eD),ez(google.maps.event.addListener(H,"zindex_changed",A)))},[A]),(0,g.useEffect)(()=>{let o=Object.assign(Object.assign(Object.assign({},t||V),s?V:{map:N}),{position:e}),a=new google.maps.Marker(o);return s?s.addMarker(a,!!n):a.setMap(N),e&&a.setPosition(e),void 0!==r&&a.setVisible(r),void 0!==i&&a.setDraggable(i),void 0!==l&&a.setClickable(l),"string"==typeof u&&a.setCursor(u),p&&a.setIcon(p),void 0!==h&&a.setLabel(h),void 0!==c&&a.setOpacity(c),m&&a.setShape(m),"string"==typeof f&&a.setTitle(f),"number"==typeof L&&a.setZIndex(L),b&&$(google.maps.event.addListener(a,"dblclick",b)),C&&q(google.maps.event.addListener(a,"dragend",C)),E&&J(google.maps.event.addListener(a,"dragstart",E)),w&&Q(google.maps.event.addListener(a,"mousedown",w)),M&&et(google.maps.event.addListener(a,"mouseout",M)),k&&en(google.maps.event.addListener(a,"mouseover",k)),S&&ei(google.maps.event.addListener(a,"mouseup",S)),P&&ea(google.maps.event.addListener(a,"rightclick",P)),y&&eu(google.maps.event.addListener(a,"click",y)),x&&eg(google.maps.event.addListener(a,"drag",x)),O&&ed(google.maps.event.addListener(a,"clickable_changed",O)),I&&em(google.maps.event.addListener(a,"cursor_changed",I)),B&&ef(google.maps.event.addListener(a,"animation_changed",B)),D&&ey(google.maps.event.addListener(a,"draggable_changed",D)),z&&ex(google.maps.event.addListener(a,"flat_changed",z)),_&&eE(google.maps.event.addListener(a,"icon_changed",_)),T&&ek(google.maps.event.addListener(a,"position_changed",T)),R&&ew(google.maps.event.addListener(a,"shape_changed",R)),j&&eO(google.maps.event.addListener(a,"title_changed",j)),U&&eB(google.maps.event.addListener(a,"visible_changed",U)),A&&ez(google.maps.event.addListener(a,"zindex_changed",A)),F(a),Z&&Z(a),()=>{null!==G&&google.maps.event.removeListener(G),null!==Y&&google.maps.event.removeListener(Y),null!==K&&google.maps.event.removeListener(K),null!==X&&google.maps.event.removeListener(X),null!==ee&&google.maps.event.removeListener(ee),null!==es&&google.maps.event.removeListener(es),null!==eo&&google.maps.event.removeListener(eo),null!==er&&google.maps.event.removeListener(er),null!==el&&google.maps.event.removeListener(el),null!==eh&&google.maps.event.removeListener(eh),null!==ec&&google.maps.event.removeListener(ec),null!==ev&&google.maps.event.removeListener(ev),null!==eL&&google.maps.event.removeListener(eL),null!==eb&&google.maps.event.removeListener(eb),null!==eC&&google.maps.event.removeListener(eC),null!==eM&&google.maps.event.removeListener(eM),null!==eP&&google.maps.event.removeListener(eP),null!==eI&&google.maps.event.removeListener(eI),null!==eD&&google.maps.event.removeListener(eD),W&&W(a),s?s.removeMarker(a,!!n):a&&a.setMap(null)}},[]);let e_=(0,g.useMemo)(()=>o?g.Children.map(o,e=>(0,g.isValidElement)(e)?(0,g.cloneElement)(e,{anchor:H}):e):null,[o,H]);return d.exports.jsx(d.exports.Fragment,{children:e_})||null});class N extends g.PureComponent{constructor(){super(...arguments),this.registeredEvents=[]}componentDidMount(){let e=Object.assign(Object.assign(Object.assign({},this.props.options||V),this.props.clusterer?V:{map:this.context}),{position:this.props.position});this.marker=new google.maps.Marker(e),this.props.clusterer?this.props.clusterer.addMarker(this.marker,!!this.props.noClustererRedraw):this.marker.setMap(this.context),this.registeredEvents=y({updaterMap:W,eventMap:Z,prevProps:{},nextProps:this.props,instance:this.marker}),this.props.onLoad&&this.props.onLoad(this.marker)}componentDidUpdate(e){this.marker&&(L(this.registeredEvents),this.registeredEvents=y({updaterMap:W,eventMap:Z,prevProps:e,nextProps:this.props,instance:this.marker}))}componentWillUnmount(){this.marker&&(this.props.onUnmount&&this.props.onUnmount(this.marker),L(this.registeredEvents),this.props.clusterer?this.props.clusterer.removeMarker(this.marker,!!this.props.noClustererRedraw):this.marker&&this.marker.setMap(null))}render(){let e=null;return this.props.children&&(e=g.Children.map(this.props.children,e=>(0,g.isValidElement)(e)?(0,g.cloneElement)(e,{anchor:this.marker}):e)),e||null}}N.contextType=v;var H=function(){function e(t,s){t.getClusterer().extend(e,google.maps.OverlayView),this.cluster=t,this.clusterClassName=this.cluster.getClusterer().getClusterClass(),this.className=this.clusterClassName,this.styles=s,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(t.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 e.prototype.onBoundsChanged=function(){this.cDraggingMapByCluster=this.cMouseDownInCluster},e.prototype.onMouseDown=function(){this.cMouseDownInCluster=!0,this.cDraggingMapByCluster=!1},e.prototype.onClick=function(e){if(this.cMouseDownInCluster=!1,!this.cDraggingMapByCluster){var t=this.cluster.getClusterer();if(google.maps.event.trigger(t,"click",this.cluster),google.maps.event.trigger(t,"clusterclick",this.cluster),t.getZoomOnClick()){var s=t.getMaxZoom(),n=this.cluster.getBounds(),o=t.getMap();null!==o&&"fitBounds"in o&&o.fitBounds(n),this.timeOut=window.setTimeout(function(){var e=t.getMap();if(null!==e){"fitBounds"in e&&e.fitBounds(n);var o=e.getZoom()||0;null!==s&&o>s&&e.setZoom(s+1)}},100)}e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}},e.prototype.onMouseOver=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseover",this.cluster)},e.prototype.onMouseOut=function(){google.maps.event.trigger(this.cluster.getClusterer(),"mouseout",this.cluster)},e.prototype.onAdd=function(){this.div=document.createElement("div"),this.div.className=this.className,this.visible&&this.show(),null===(e=this.getPanes())||void 0===e||e.overlayMouseTarget.appendChild(this.div);var e,t=this.getMap();null!==t&&(this.boundsChangedListener=google.maps.event.addListener(t,"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))},e.prototype.onRemove=function(){this.div&&this.div.parentNode&&(this.hide(),null!==this.boundsChangedListener&&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),null!==this.timeOut&&(window.clearTimeout(this.timeOut),this.timeOut=null),this.div=null)},e.prototype.draw=function(){if(this.visible&&null!==this.div&&this.center){var e=this.getPosFromLatLng(this.center);this.div.style.top=null!==e?"".concat(e.y,"px"):"0",this.div.style.left=null!==e?"".concat(e.x,"px"):"0"}},e.prototype.hide=function(){this.div&&(this.div.style.display="none"),this.visible=!1},e.prototype.show=function(){var e,t,s,n;if(this.div&&this.center){var o=null===this.sums||void 0===this.sums.title||""===this.sums.title?this.cluster.getClusterer().getTitle():this.sums.title,i=this.backgroundPosition.split(" "),r=parseInt(i[0].replace(/^\s+|\s+$/g,""),10),a=parseInt(i[1].replace(/^\s+|\s+$/g,""),10),l=this.getPosFromLatLng(this.center);this.div.className=this.className,this.div.setAttribute("style","cursor: pointer; position: absolute; top: ".concat(null!==l?"".concat(l.y,"px"):"0","; left: ").concat(null!==l?"".concat(l.x,"px"):"0","; width: ").concat(this.width,"px; height: ").concat(this.height,"px; "));var u=document.createElement("img");u.alt=o,u.src=this.url,u.width=this.width,u.height=this.height,u.setAttribute("style","position: absolute; top: ".concat(a,"px; left: ").concat(r,"px")),this.cluster.getClusterer().enableRetinaIcons||(u.style.clip="rect(-".concat(a,"px, -").concat(r+this.width,"px, -").concat(a+this.height,", -").concat(r,")"));var p=document.createElement("div");p.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")),(null===(e=this.sums)||void 0===e?void 0:e.text)&&(p.innerText="".concat(null===(t=this.sums)||void 0===t?void 0:t.text)),(null===(s=this.sums)||void 0===s?void 0:s.html)&&(p.innerHTML="".concat(null===(n=this.sums)||void 0===n?void 0:n.html)),this.div.innerHTML="",this.div.appendChild(u),this.div.appendChild(p),this.div.title=o,this.div.style.display=""}this.visible=!0},e.prototype.useStyle=function(e){this.sums=e;var t=this.cluster.getClusterer().getStyles(),s=t[Math.min(t.length-1,Math.max(0,e.index-1))];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.anchorText||[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"},e.prototype.setCenter=function(e){this.center=e},e.prototype.getPosFromLatLng=function(e){var t=this.getProjection().fromLatLngToDivPixel(e);return null!==t&&(t.x-=this.anchorIcon[1],t.y-=this.anchorIcon[0]),t},e}(),F=function(){function e(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 H(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 e.prototype.getSize=function(){return this.markers.length},e.prototype.getMarkers=function(){return this.markers},e.prototype.getCenter=function(){return this.center},e.prototype.getMap=function(){return this.map},e.prototype.getClusterer=function(){return this.markerClusterer},e.prototype.getBounds=function(){for(var e=new google.maps.LatLngBounds(this.center,this.center),t=this.getMarkers(),s=0;si)e.getMap()!==this.map&&e.setMap(this.map);else if(os||t0))for(var e=0;e3?new google.maps.LatLngBounds(null==n?void 0:n.getSouthWest(),null==n?void 0:n.getNorthEast()):new google.maps.LatLngBounds(new google.maps.LatLng(85.02070771743472,-178.48388434375),new google.maps.LatLng(-85.08136444384544,178.00048865625)),i=this.getExtendedBounds(o),r=Math.min(e+this.batchSize,this.markers.length),a=e;a{w&&M&&(null!==R&&google.maps.event.removeListener(R),j(google.maps.event.addListener(w,q.onMouseOut,M)))},[M]),(0,g.useEffect)(()=>{w&&E&&(null!==U&&google.maps.event.removeListener(U),A(google.maps.event.addListener(w,q.onMouseOver,E)))},[E]),(0,g.useEffect)(()=>{w&&b&&(null!==I&&google.maps.event.removeListener(I),B(google.maps.event.addListener(w,q.onClick,b)))},[b]),(0,g.useEffect)(()=>{w&&x&&(null!==D&&google.maps.event.removeListener(D),z(google.maps.event.addListener(w,q.onClusteringBegin,x)))},[x]),(0,g.useEffect)(()=>{w&&C&&(null!==_&&google.maps.event.removeListener(_),z(google.maps.event.addListener(w,q.onClusteringEnd,C)))},[C]),(0,g.useEffect)(()=>{void 0!==n&&null!==w&&K.averageCenter(w,n)},[w,n]),(0,g.useEffect)(()=>{void 0!==o&&null!==w&&K.batchSizeIE(w,o)},[w,o]),(0,g.useEffect)(()=>{void 0!==i&&null!==w&&K.calculator(w,i)},[w,i]),(0,g.useEffect)(()=>{void 0!==r&&null!==w&&K.clusterClass(w,r)},[w,r]),(0,g.useEffect)(()=>{void 0!==a&&null!==w&&K.enableRetinaIcons(w,a)},[w,a]),(0,g.useEffect)(()=>{void 0!==l&&null!==w&&K.gridSize(w,l)},[w,l]),(0,g.useEffect)(()=>{void 0!==u&&null!==w&&K.ignoreHidden(w,u)},[w,u]),(0,g.useEffect)(()=>{void 0!==p&&null!==w&&K.imageExtension(w,p)},[w,p]),(0,g.useEffect)(()=>{void 0!==h&&null!==w&&K.imagePath(w,h)},[w,h]),(0,g.useEffect)(()=>{void 0!==d&&null!==w&&K.imageSizes(w,d)},[w,d]),(0,g.useEffect)(()=>{void 0!==c&&null!==w&&K.maxZoom(w,c)},[w,c]),(0,g.useEffect)(()=>{void 0!==m&&null!==w&&K.minimumClusterSize(w,m)},[w,m]),(0,g.useEffect)(()=>{void 0!==f&&null!==w&&K.styles(w,f)},[w,f]),(0,g.useEffect)(()=>{void 0!==L&&null!==w&&K.title(w,L)},[w,L]),(0,g.useEffect)(()=>{void 0!==y&&null!==w&&K.zoomOnClick(w,y)},[w,y]),(0,g.useEffect)(()=>{if(!O)return;let e=new Y(O,[],Object.assign({},s||J));return n&&K.averageCenter(e,n),o&&K.batchSizeIE(e,o),i&&K.calculator(e,i),r&&K.clusterClass(e,r),a&&K.enableRetinaIcons(e,a),l&&K.gridSize(e,l),u&&K.ignoreHidden(e,u),p&&K.imageExtension(e,p),h&&K.imagePath(e,h),d&&K.imageSizes(e,d),c&&K.maxZoom(e,c),m&&K.minimumClusterSize(e,m),f&&K.styles(e,f),L&&K.title(e,L),y&&K.zoomOnClick(e,y),M&&j(google.maps.event.addListener(e,q.onMouseOut,M)),E&&A(google.maps.event.addListener(e,q.onMouseOver,E)),b&&B(google.maps.event.addListener(e,q.onClick,b)),x&&z(google.maps.event.addListener(e,q.onClusteringBegin,x)),C&&T(google.maps.event.addListener(e,q.onClusteringEnd,C)),P(e),k&&k(e),()=>{null!==R&&google.maps.event.removeListener(R),null!==U&&google.maps.event.removeListener(U),null!==I&&google.maps.event.removeListener(I),null!==D&&google.maps.event.removeListener(D),null!==_&&google.maps.event.removeListener(_),S&&S(e)}},[]),null!==w&&t(w)||null});class X extends g.PureComponent{constructor(){super(...arguments),this.registeredEvents=[],this.state={markerClusterer:null},this.setClustererCallback=()=>{null!==this.state.markerClusterer&&this.props.onLoad&&this.props.onLoad(this.state.markerClusterer)}}componentDidMount(){if(this.context){let e=new Y(this.context,[],this.props.options);this.registeredEvents=y({updaterMap:K,eventMap:q,prevProps:{},nextProps:this.props,instance:e}),this.setState(()=>({markerClusterer:e}),this.setClustererCallback)}}componentDidUpdate(e){this.state.markerClusterer&&(L(this.registeredEvents),this.registeredEvents=y({updaterMap:K,eventMap:q,prevProps:e,nextProps:this.props,instance:this.state.markerClusterer}))}componentWillUnmount(){null!==this.state.markerClusterer&&(this.props.onUnmount&&this.props.onUnmount(this.state.markerClusterer),L(this.registeredEvents),this.state.markerClusterer.setMap(null))}render(){return null!==this.state.markerClusterer?this.props.children(this.state.markerClusterer):null}}function Q(e){e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation()}X.contextType=v;var ee=function(){function e(t){void 0===t&&(t={}),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.bind(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(e,google.maps.OverlayView),this.content=t.content||"",this.disableAutoPan=t.disableAutoPan||!1,this.maxWidth=t.maxWidth||0,this.pixelOffset=t.pixelOffset||new google.maps.Size(0,0),this.position=t.position||new google.maps.LatLng(0,0),this.zIndex=t.zIndex||null,this.boxClass=t.boxClass||"infoBox",this.boxStyle=t.boxStyle||{},this.closeBoxMargin=t.closeBoxMargin||"2px",this.closeBoxURL=t.closeBoxURL||"http://www.google.com/intl/en_us/mapfiles/close.gif",""===t.closeBoxURL&&(this.closeBoxURL=""),this.infoBoxClearance=t.infoBoxClearance||new google.maps.Size(1,1),void 0===t.visible&&(void 0===t.isHidden?t.visible=!0:t.visible=!t.isHidden),this.isHidden=!t.visible,this.alignBottom=t.alignBottom||!1,this.pane=t.pane||"floatPane",this.enableEventPropagation=t.enableEventPropagation||!1,this.div=null,this.closeListener=null,this.moveListener=null,this.mapListener=null,this.contextListener=null,this.eventListeners=null,this.fixedWidthSet=null}return e.prototype.createInfoBoxDiv=function(){var e=this;if(!this.div){this.div=document.createElement("div"),this.setBoxStyle(),"string"==typeof this.content?this.div.innerHTML=this.getCloseBoxImg()+this.content:(this.div.innerHTML=this.getCloseBoxImg(),this.div.appendChild(this.content));var t=this.getPanes();if(null!==t&&t[this.pane].appendChild(this.div),this.addClickHandler(),this.div.style.width)this.fixedWidthSet=!0;else if(0!==this.maxWidth&&this.div.offsetWidth>this.maxWidth)this.div.style.width=this.maxWidth+"px",this.fixedWidthSet=!0;else{var s=this.getBoxWidths();this.div.style.width=this.div.offsetWidth-s.left-s.right+"px",this.fixedWidthSet=!1}if(this.panBox(this.disableAutoPan),!this.enableEventPropagation){this.eventListeners=[];for(var n=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"],o=0;o