t&&(y+=u[L+5])}}catch(R){b.e(R)}finally{b.f()}if(y>v&&y>=a){var k,C=h*v,w=f*v,M=void 0,E=-1,x=((d/p|0)<<5)+(t+1)+this.points.length,Z=(0,s.Z)(m);try{for(Z.s();!(k=Z.n()).done;){var P=k.value*p;if(!(u[P+2]<=t)){u[P+2]=t;var S=u[P+5];C+=u[P]*S,w+=u[P+1]*S,u[P+4]=x,r&&(M||(M=this._map(u,d,!0),E=this.clusterProps.length,this.clusterProps.push(M)),r(M,this._map(u,P)))}}}catch(R){Z.e(R)}finally{Z.f()}u[d+4]=x,c.push(C/y,w/y,1/0,x,-1,y),r&&c.push(E)}else{for(var O=0;O1){var D,j=(0,s.Z)(m);try{for(j.s();!(D=j.n()).done;){var I=D.value*p;if(!(u[I+2]<=t)){u[I+2]=t;for(var B=0;B
>5}},{key:"_getOriginZoom",value:function(e){return(e-this.points.length)%32}},{key:"_map",value:function(e,t,n){if(e[t+5]>1){var o=this.clusterProps[e[t+6]];return n?Object.assign({},o):o}var i=this.points[e[t+3]].properties,s=this.options.map(i);return n&&s===i?Object.assign({},s):s}}]),e}();function Ye(e,t,n){return{type:"Feature",id:e[t+3],properties:qe(e,t,n),geometry:{type:"Point",coordinates:[Je(e[t]),$e(e[t+1])]}}}function qe(e,t,n){var o=e[t+5],i=o>=1e4?"".concat(Math.round(o/1e3),"k"):o>=1e3?"".concat(Math.round(o/100)/10,"k"):o,s=e[t+6],r=-1===s?{}:Object.assign({},n[s]);return Object.assign(r,{cluster:!0,cluster_id:e[t+3],point_count:o,point_count_abbreviated:i})}function Ke(e){return e/360+.5}function Xe(e){var t=Math.sin(e*Math.PI/180),n=.5-.25*Math.log((1+t)/(1-t))/Math.PI;return n<0?0:n>1?1:n}function Je(e){return 360*(e-.5)}function $e(e){var t=(180-360*e)*Math.PI/180;return 360*Math.atan(Math.exp(t))/Math.PI-90}function Qe(e,t){var n={};for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.indexOf(o)<0&&(n[o]=e[o]);if(null!=e&&"function"===typeof Object.getOwnPropertySymbols){var i=0;for(o=Object.getOwnPropertySymbols(e);iMath.max(10,t.clusters.markers.mean)?"#ff0000":"#0000ff",r='"),a="Cluster of ".concat(o," markers"),l=Number(google.maps.Marker.MAX_ZINDEX)+o;if(et.isAdvancedMarkerAvailable(n)){var u=(new DOMParser).parseFromString(r,"image/svg+xml").documentElement;u.setAttribute("transform","translate(0 25)");var c={map:n,position:i,zIndex:l,title:a,content:u};return new google.maps.marker.AdvancedMarkerElement(c)}var p={position:i,zIndex:l,title:a,icon:{url:"data:image/svg+xml;base64,".concat(btoa(r)),anchor:new google.maps.Point(25,25)}};return new google.maps.Marker(p)}}]),e}();var at,lt=(0,u.Z)((function e(){(0,l.Z)(this,e),function(e,t){for(var n in t.prototype)e.prototype[n]=t.prototype[n]}(e,google.maps.OverlayView)}));!function(e){e.CLUSTERING_BEGIN="clusteringbegin",e.CLUSTERING_END="clusteringend",e.CLUSTER_CLICK="click"}(at||(at={}));var ut=function(e,t,n){n.fitBounds(t.bounds)},ct=function(e){(0,p.Z)(n,e);var t=(0,d.Z)(n);function n(e){var o;(0,l.Z)(this,n);var i=e.map,s=e.markers,a=void 0===s?[]:s,u=e.algorithmOptions,c=void 0===u?{}:u,p=e.algorithm,d=void 0===p?new it(c):p,g=e.renderer,h=void 0===g?new rt:g,f=e.onClusterClick,m=void 0===f?ut:f;return(o=t.call(this)).markers=(0,r.Z)(a),o.clusters=[],o.algorithm=d,o.renderer=h,o.onClusterClick=m,i&&o.setMap(i),o}return(0,u.Z)(n,[{key:"addMarker",value:function(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}},{key:"addMarkers",value:function(e,t){var n=this;e.forEach((function(e){n.addMarker(e,!0)})),t||this.render()}},{key:"removeMarker",value:function(e,t){var n=this.markers.indexOf(e);return-1!==n&&(et.setMap(e,null),this.markers.splice(n,1),t||this.render(),!0)}},{key:"removeMarkers",value:function(e,t){var n=this,o=!1;return e.forEach((function(e){o=n.removeMarker(e,!0)||o})),o&&!t&&this.render(),o}},{key:"clearMarkers",value:function(e){this.markers.length=0,e||this.render()}},{key:"render",value:function(){var e=this.getMap();if(e instanceof google.maps.Map&&e.getProjection()){google.maps.event.trigger(this,at.CLUSTERING_BEGIN,this);var t=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()}),n=t.clusters,o=t.changed;if(o||void 0==o){var i,r=new Set,a=(0,s.Z)(n);try{for(a.s();!(i=a.n()).done;){var l=i.value;1==l.markers.length&&r.add(l.markers[0])}}catch(g){a.e(g)}finally{a.f()}var u,c=[],p=(0,s.Z)(this.clusters);try{for(p.s();!(u=p.n()).done;){var d=u.value;null!=d.marker&&(1==d.markers.length?r.has(d.marker)||et.setMap(d.marker,null):c.push(d.marker))}}catch(g){p.e(g)}finally{p.f()}this.clusters=n,this.renderClusters(),requestAnimationFrame((function(){return c.forEach((function(e){return et.setMap(e,null)}))}))}google.maps.event.trigger(this,at.CLUSTERING_END,this)}}},{key:"onAdd",value:function(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}},{key:"onRemove",value:function(){google.maps.event.removeListener(this.idleListener),this.reset()}},{key:"reset",value:function(){this.markers.forEach((function(e){return et.setMap(e,null)})),this.clusters.forEach((function(e){return e.delete()})),this.clusters=[]}},{key:"renderClusters",value:function(){var e=this,t=new st(this.markers,this.clusters),n=this.getMap();this.clusters.forEach((function(o){1===o.markers.length?o.marker=o.markers[0]:(o.marker=e.renderer.render(o,t,n),o.markers.forEach((function(e){return et.setMap(e,null)})),e.onClusterClick&&o.marker.addListener("click",(function(t){google.maps.event.trigger(e,at.CLUSTER_CLICK,o),e.onClusterClick(t,o,n)}))),et.setMap(o.marker,n)}))}}]),n}(lt);function pt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function dt(e){for(var t=1;t) or a position props for ."),p&&p(e),function(){E&&google.maps.event.removeListener(E),I&&google.maps.event.removeListener(I),S&&google.maps.event.removeListener(S),T&&google.maps.event.removeListener(T),V&&google.maps.event.removeListener(V),d&&d(e),e.close()}}),[]),W.current?(0,m.createPortal)(f.Children.only(t),W.current):null}));var mt=function(e){(0,p.Z)(n,e);var t=(0,d.Z)(n);function n(){var e;return(0,l.Z)(this,n),e=t.apply(this,arguments),b((0,c.Z)(e),"registeredEvents",[]),b((0,c.Z)(e),"containerElement",null),b((0,c.Z)(e),"state",{infoWindow:null}),b((0,c.Z)(e),"open",(function(t,n){n?t.open(e.context,n):t.getPosition()?t.open(e.context):k(!1,"You must provide either an anchor (typically render it inside a ) or a position props for .")})),b((0,c.Z)(e),"setInfoWindowCallback",(function(){null!==e.state.infoWindow&&null!==e.containerElement&&(e.state.infoWindow.setContent(e.containerElement),e.open(e.state.infoWindow,e.props.anchor),e.props.onLoad&&e.props.onLoad(e.state.infoWindow))})),e}return(0,u.Z)(n,[{key:"componentDidMount",value:function(){var e=new google.maps.InfoWindow(this.props.options);this.containerElement=document.createElement("div"),this.registeredEvents=Z({updaterMap:ft,eventMap:ht,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{infoWindow:e}}),this.setInfoWindowCallback)}},{key:"componentDidUpdate",value:function(e){null!==this.state.infoWindow&&(x(this.registeredEvents),this.registeredEvents=Z({updaterMap:ft,eventMap:ht,prevProps:e,nextProps:this.props,instance:this.state.infoWindow}))}},{key:"componentWillUnmount",value:function(){null!==this.state.infoWindow&&(x(this.registeredEvents),this.props.onUnmount&&this.props.onUnmount(this.state.infoWindow),this.state.infoWindow.close())}},{key:"render",value:function(){return this.containerElement?(0,m.createPortal)(f.Children.only(this.props.children),this.containerElement):null}}]),n}(f.PureComponent);function vt(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function yt(e){for(var t=1;t? %s',google.maps.visualization),k(!!this.props.data,"data property is required in HeatmapLayer %s",this.props.data);var e=new google.maps.visualization.HeatmapLayer(dn(dn({},this.props.options),{},{data:this.props.data,map:this.context}));this.registeredEvents=Z({updaterMap:hn,eventMap:gn,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{heatmapLayer:e}}),this.setHeatmapLayerCallback)}},{key:"componentDidUpdate",value:function(e){x(this.registeredEvents),this.registeredEvents=Z({updaterMap:hn,eventMap:gn,prevProps:e,nextProps:this.props,instance:this.state.heatmapLayer})}},{key:"componentWillUnmount",value:function(){null!==this.state.heatmapLayer&&(this.props.onUnmount&&this.props.onUnmount(this.state.heatmapLayer),x(this.registeredEvents),this.state.heatmapLayer.setMap(null))}},{key:"render",value:function(){return null}}]),n}(f.PureComponent);b(fn,"contextType",C);var mn={onCloseClick:"closeclick",onPanoChanged:"pano_changed",onPositionChanged:"position_changed",onPovChanged:"pov_changed",onResize:"resize",onStatusChanged:"status_changed",onVisibleChanged:"visible_changed",onZoomChanged:"zoom_changed"},vn={register:function(e,t,n){e.registerPanoProvider(t,n)},links:function(e,t){e.setLinks(t)},motionTracking:function(e,t){e.setMotionTracking(t)},options:function(e,t){e.setOptions(t)},pano:function(e,t){e.setPano(t)},position:function(e,t){e.setPosition(t)},pov:function(e,t){e.setPov(t)},visible:function(e,t){e.setVisible(t)},zoom:function(e,t){e.setZoom(t)}},yn=function(e){(0,p.Z)(n,e);var t=(0,d.Z)(n);function n(){var e;return(0,l.Z)(this,n),e=t.apply(this,arguments),b((0,c.Z)(e),"registeredEvents",[]),b((0,c.Z)(e),"state",{streetViewPanorama:null}),b((0,c.Z)(e),"setStreetViewPanoramaCallback",(function(){null!==e.state.streetViewPanorama&&e.props.onLoad&&e.props.onLoad(e.state.streetViewPanorama)})),e}return(0,u.Z)(n,[{key:"componentDidMount",value:function(){var e,t,n=null!==(e=null===(t=this.context)||void 0===t?void 0:t.getStreetView())&&void 0!==e?e:null;this.registeredEvents=Z({updaterMap:vn,eventMap:mn,prevProps:{},nextProps:this.props,instance:n}),this.setState((function(){return{streetViewPanorama:n}}),this.setStreetViewPanoramaCallback)}},{key:"componentDidUpdate",value:function(e){null!==this.state.streetViewPanorama&&(x(this.registeredEvents),this.registeredEvents=Z({updaterMap:vn,eventMap:mn,prevProps:e,nextProps:this.props,instance:this.state.streetViewPanorama}))}},{key:"componentWillUnmount",value:function(){null!==this.state.streetViewPanorama&&(this.props.onUnmount&&this.props.onUnmount(this.state.streetViewPanorama),x(this.registeredEvents),this.state.streetViewPanorama.setVisible(!1))}},{key:"render",value:function(){return null}}]),n}(f.PureComponent);b(yn,"contextType",C);var bn=function(e){(0,p.Z)(n,e);var t=(0,d.Z)(n);function n(){var e;return(0,l.Z)(this,n),e=t.apply(this,arguments),b((0,c.Z)(e),"state",{streetViewService:null}),b((0,c.Z)(e),"setStreetViewServiceCallback",(function(){null!==e.state.streetViewService&&e.props.onLoad&&e.props.onLoad(e.state.streetViewService)})),e}return(0,u.Z)(n,[{key:"componentDidMount",value:function(){var e=new google.maps.StreetViewService;this.setState((function(){return{streetViewService:e}}),this.setStreetViewServiceCallback)}},{key:"componentWillUnmount",value:function(){null!==this.state.streetViewService&&this.props.onUnmount&&this.props.onUnmount(this.state.streetViewService)}},{key:"render",value:function(){return null}}]),n}(f.PureComponent);b(bn,"contextType",C);f.PureComponent;var Ln={onDirectionsChanged:"directions_changed"},kn={directions:function(e,t){e.setDirections(t)},map:function(e,t){e.setMap(t)},options:function(e,t){e.setOptions(t)},panel:function(e,t){e.setPanel(t)},routeIndex:function(e,t){e.setRouteIndex(t)}},Cn=function(e){(0,p.Z)(n,e);var t=(0,d.Z)(n);function n(){var e;return(0,l.Z)(this,n),e=t.apply(this,arguments),b((0,c.Z)(e),"registeredEvents",[]),b((0,c.Z)(e),"state",{directionsRenderer:null}),b((0,c.Z)(e),"setDirectionsRendererCallback",(function(){null!==e.state.directionsRenderer&&(e.state.directionsRenderer.setMap(e.context),e.props.onLoad&&e.props.onLoad(e.state.directionsRenderer))})),e}return(0,u.Z)(n,[{key:"componentDidMount",value:function(){var e=new google.maps.DirectionsRenderer(this.props.options);this.registeredEvents=Z({updaterMap:kn,eventMap:Ln,prevProps:{},nextProps:this.props,instance:e}),this.setState((function(){return{directionsRenderer:e}}),this.setDirectionsRendererCallback)}},{key:"componentDidUpdate",value:function(e){null!==this.state.directionsRenderer&&(x(this.registeredEvents),this.registeredEvents=Z({updaterMap:kn,eventMap:Ln,prevProps:e,nextProps:this.props,instance:this.state.directionsRenderer}))}},{key:"componentWillUnmount",value:function(){null!==this.state.directionsRenderer&&(this.props.onUnmount&&this.props.onUnmount(this.state.directionsRenderer),x(this.registeredEvents),this.state.directionsRenderer&&this.state.directionsRenderer.setMap(null))}},{key:"render",value:function(){return null}}]),n}(f.PureComponent);b(Cn,"contextType",C);f.PureComponent;var wn={onPlacesChanged:"places_changed"},Mn={bounds:function(e,t){e.setBounds(t)}},En=function(e){(0,p.Z)(n,e);var t=(0,d.Z)(n);function n(){var e;return(0,l.Z)(this,n),e=t.apply(this,arguments),b((0,c.Z)(e),"registeredEvents",[]),b((0,c.Z)(e),"containerElement",(0,f.createRef)()),b((0,c.Z)(e),"state",{searchBox:null}),b((0,c.Z)(e),"setSearchBoxCallback",(function(){null!==e.state.searchBox&&e.props.onLoad&&e.props.onLoad(e.state.searchBox)})),e}return(0,u.Z)(n,[{key:"componentDidMount",value:function(){if(k(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places),null!==this.containerElement&&null!==this.containerElement.current){var e=this.containerElement.current.querySelector("input");if(null!==e){var t=new google.maps.places.SearchBox(e,this.props.options);this.registeredEvents=Z({updaterMap:Mn,eventMap:wn,prevProps:{},nextProps:this.props,instance:t}),this.setState((function(){return{searchBox:t}}),this.setSearchBoxCallback)}}}},{key:"componentDidUpdate",value:function(e){null!==this.state.searchBox&&(x(this.registeredEvents),this.registeredEvents=Z({updaterMap:Mn,eventMap:wn,prevProps:e,nextProps:this.props,instance:this.state.searchBox}))}},{key:"componentWillUnmount",value:function(){null!==this.state.searchBox&&(this.props.onUnmount&&this.props.onUnmount(this.state.searchBox),x(this.registeredEvents))}},{key:"render",value:function(){return(0,h.jsx)("div",{ref:this.containerElement,children:f.Children.only(this.props.children)})}}]),n}(f.PureComponent);b(En,"contextType",C);var xn={onPlaceChanged:"place_changed"},Zn={bounds:function(e,t){e.setBounds(t)},restrictions:function(e,t){e.setComponentRestrictions(t)},fields:function(e,t){e.setFields(t)},options:function(e,t){e.setOptions(t)},types:function(e,t){e.setTypes(t)}},Pn=function(e){(0,p.Z)(n,e);var t=(0,d.Z)(n);function n(){var e;return(0,l.Z)(this,n),e=t.apply(this,arguments),b((0,c.Z)(e),"registeredEvents",[]),b((0,c.Z)(e),"containerElement",(0,f.createRef)()),b((0,c.Z)(e),"state",{autocomplete:null}),b((0,c.Z)(e),"setAutocompleteCallback",(function(){null!==e.state.autocomplete&&e.props.onLoad&&e.props.onLoad(e.state.autocomplete)})),e}return(0,u.Z)(n,[{key:"componentDidMount",value:function(){var e;k(!!google.maps.places,'You need to provide libraries={["places"]} prop to component %s',google.maps.places);var t=null===(e=this.containerElement.current)||void 0===e?void 0:e.querySelector("input");if(t){var n=new google.maps.places.Autocomplete(t,this.props.options);this.registeredEvents=Z({updaterMap:Zn,eventMap:xn,prevProps:{},nextProps:this.props,instance:n}),this.setState((function(){return{autocomplete:n}}),this.setAutocompleteCallback)}}},{key:"componentDidUpdate",value:function(e){x(this.registeredEvents),this.registeredEvents=Z({updaterMap:Zn,eventMap:xn,prevProps:e,nextProps:this.props,instance:this.state.autocomplete})}},{key:"componentWillUnmount",value:function(){null!==this.state.autocomplete&&x(this.registeredEvents)}},{key:"render",value:function(){return(0,h.jsx)("div",{ref:this.containerElement,className:this.props.className,children:f.Children.only(this.props.children)})}}]),n}(f.PureComponent);b(Pn,"defaultProps",{className:""}),b(Pn,"contextType",C)},41962:function(e,t,n){n.d(t,{a:function(){return s}});var o=n(18948),i=n(51695);function s(e,t){return(0,i.r)(e,o.z,t)}}}]);