1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,995526,(e,t,n)=>{"use strict";t.exports=function e(t,n){if(t===n)return!0;if(t&&n&&"object"==typeof t&&"object"==typeof n){if(t.constructor!==n.constructor)return!1;if(Array.isArray(t)){if((r=t.length)!=n.length)return!1;for(l=r;0!=l--;)if(!e(t[l],n[l]))return!1;return!0}if(t.constructor===RegExp)return t.source===n.source&&t.flags===n.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===n.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===n.toString();if((r=(o=Object.keys(t)).length)!==Object.keys(n).length)return!1;for(l=r;0!=l--;)if(!Object.prototype.hasOwnProperty.call(n,o[l]))return!1;for(l=r;0!=l--;){var r,l,o,a=o[l];if(!e(t[a],n[a]))return!1}return!0}return t!=t&&n!=n}},913392,e=>{"use strict";let t;var n,r=e.i(191788),l=e.i(730943),o=e.i(995526);function a(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&0>t.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var l=0,r=Object.getOwnPropertySymbols(e);l<r.length;l++)0>t.indexOf(r[l])&&Object.prototype.propertyIsEnumerable.call(e,r[l])&&(n[r[l]]=e[r[l]]);return n}function i(e,t,n,r){return new(n||(n=Promise))(function(l,o){function a(e){try{s(r.next(e))}catch(e){o(e)}}function i(e){try{s(r.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?l(e.value):((t=e.value)instanceof n?t:new n(function(e){e(t)})).then(a,i)}s((r=r.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;let s=()=>{},u=!1;async function d(e){if(u||s("No options were set before calling importLibrary. Make sure to configure the loader using setOptions()."),!window?.google?.maps?.importLibrary)throw Error("google.maps.importLibrary is not installed.");return await google.maps.importLibrary(e)}let c="NOT_LOADED",g="LOADING",f="LOADED",p=["gmp_visgl_reactgooglemaps_v1.8.3"],m=r.default.createContext(null),h=c,v=new Set;function y(e){e!==h&&(h=e,v.forEach(e=>e(h)))}let b=e=>{let{children:n}=e,l=a(e,["children"]),{mapInstances:o,addMapInstance:c,removeMapInstance:b,clearMapInstances:E}=function(){let[e,t]=(0,r.useState)({});return{mapInstances:e,addMapInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMapInstance:(e="default")=>{t(t=>(t[e],a(t,["symbol"==typeof e?e:e+""])))},clearMapInstances:()=>{t({})}}}(),{map3dInstances:C,addMap3DInstance:O,removeMap3DInstance:w,clearMap3DInstances:S}=function(){let[e,t]=(0,r.useState)({});return{map3dInstances:e,addMap3DInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMap3DInstance:(e="default")=>{t(t=>(t[e],a(t,["symbol"==typeof e?e:e+""])))},clearMap3DInstances:()=>{t({})}}}(),{status:P,loadedLibraries:k,importLibrary:M}=function(e){let{onLoad:n,onError:l,apiKey:o,version:a,libraries:c=[],region:p,language:m,authReferrerPolicy:b,channel:E,solutionChannel:C,fetchAppCheckToken:O}=e,[w,S]=(0,r.useState)(h),[P,k]=(0,r.useReducer)((e,t)=>e[t.name]?e:Object.assign(Object.assign({},e),{[t.name]:t.value}),{}),M=(0,r.useMemo)(()=>JSON.stringify({apiKey:o,version:a,libraries:c.join(","),region:p,language:m,authReferrerPolicy:b,channel:E,solutionChannel:C}),[o,a,c,p,m,b,E,C]),A=(0,r.useCallback)(e=>i(this,void 0,void 0,function*(){if(P[e])return P[e];let t=yield d(e);return k({name:e,value:t}),t}),[P]);return(0,r.useEffect)(()=>(v.add(S),S(h),()=>{v.delete(S)}),[]),(0,r.useEffect)(()=>{i(this,void 0,void 0,function*(){var e,r;try{t&&t!==M&&console.warn("The Google Maps JavaScript API has already been loaded with different parameters. The new parameters will be ignored. If you need to use different parameters, please refresh the page.");let l=["core","maps",...c];if(null==(r=null==(e=window.google)?void 0:e.maps)?void 0:r.importLibrary){t||y(f),yield Promise.all(l.map(e=>A(e))),n&&n();return}if(h===g||h===f){h===f&&n&&n();return}t=M,y(g);let i=Object.fromEntries(Object.entries({key:o,v:a,libraries:c,region:p,language:m,authReferrerPolicy:b}).filter(([,e])=>void 0!==e));void 0!==E&&E>=0&&E<=999&&(i.channel=String(E)),void 0===C?i.solutionChannel="GMP_visgl_rgmlibrary_v1_default":""!==C&&(i.solutionChannel=C),function(e){if(u)return s(`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`);(function(e){var t,n,r,l,o,a,i,s,u,d,c;let g=!!window.google?.maps?.importLibrary;g&&JSON.stringify(e);g||(l="google",o="importLibrary",a=document,u=(s=(i=window)[l]||(i[l]={})).maps||(s.maps={}),d=new Set,c=new URLSearchParams,u[o]?console.warn("The Google Maps JavaScript API only loads once. Ignoring:",e):u[o]=(i,...s)=>d.add(i)&&(t||(t=new Promise(async(o,i)=>{for(r in await (n=a.createElement("script")),c.set("libraries",[...d]+""),e)c.set(r.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[r]);c.set("callback",l+".maps.__ib__"),n.src="https://maps.googleapis.com/ma
1ps/api/js?"+c,u.__ib__=o,n.onerror=()=>t=i(Error("The Google Maps JavaScript API could not load.")),n.nonce=a.querySelector("script[nonce]")?.nonce||"",a.head.append(n)}))).then(()=>u[o](i,...s)))})(e),u=!0}(i),yield Promise.all(l.map(e=>A(e))),y(f),n&&n()}catch(e){y("FAILED"),l?l(e):console.error("The Google Maps JavaScript API failed to load.",e)}})},[M,n,l,A,c]),(0,r.useEffect)(()=>{if(w!==f)return;let e=google.maps.Settings.getInstance();O?e.fetchAppCheckToken=O:e.fetchAppCheckToken&&(e.fetchAppCheckToken=null)},[w,O]),{status:w,loadedLibraries:P,importLibrary:A}}(l),A=(0,r.useMemo)(()=>l.disableUsageAttribution?null:p,[l.disableUsageAttribution]),x=(0,r.useMemo)(()=>({mapInstances:o,addMapInstance:c,removeMapInstance:b,clearMapInstances:E,map3dInstances:C,addMap3DInstance:O,removeMap3DInstance:w,clearMap3DInstances:S,status:P,loadedLibraries:k,importLibrary:M,internalUsageAttributionIds:A}),[o,c,b,E,C,O,w,S,P,k,M,A]);return r.default.createElement(m.Provider,{value:x},n)},E={onBoundsChanged:"bounds_changed",onCenterChanged:"center_changed",onClick:"click",onContextmenu:"contextmenu",onDblclick:"dblclick",onDrag:"drag",onDragend:"dragend",onDragstart:"dragstart",onHeadingChanged:"heading_changed",onIdle:"idle",onIsFractionalZoomEnabledChanged:"isfractionalzoomenabled_changed",onMapCapabilitiesChanged:"mapcapabilities_changed",onMapTypeIdChanged:"maptypeid_changed",onMousemove:"mousemove",onMouseout:"mouseout",onMouseover:"mouseover",onProjectionChanged:"projection_changed",onRenderingTypeChanged:"renderingtype_changed",onTilesLoaded:"tilesloaded",onTiltChanged:"tilt_changed",onZoomChanged:"zoom_changed",onCameraChanged:"bounds_changed"},C=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],O=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],w=Object.keys(E);function S(e,t){let n=(0,r.useRef)(e);return t(e,n.current)||(n.current=e),n.current}function P(e,t){var n;n=o.default,(0,r.useEffect)(e,[S(t,n)])}let k=new Set(["backgroundColor","clickableIcons","controlSize","disableDefaultUI","disableDoubleClickZoom","draggable","draggableCursor","draggingCursor","fullscreenControl","fullscreenControlOptions","gestureHandling","headingInteractionEnabled","isFractionalZoomEnabled","keyboardShortcuts","mapTypeControl","mapTypeControlOptions","mapTypeId","maxZoom","minZoom","noClear","panControl","panControlOptions","restriction","rotateControl","rotateControlOptions","scaleControl","scaleControlOptions","scrollwheel","streetView","streetViewControl","streetViewControlOptions","styles","tiltInteractionEnabled","zoomControl","zoomControlOptions"]);function M(){var e;return(null==(e=(0,r.useContext)(m))?void 0:e.status)||c}function A(e,t){if(!e||!t)return!1;let n=x(e),r=x(t);return n.lat===r.lat&&n.lng===r.lng}function x(e){return e&&"object"==typeof e&&"lat"in e&&"lng"in e&&Number.isFinite(e.lat)&&Number.isFinite(e.lng)?e:e.toJSON()}function L(e){if("north"in e&&"south"in e&&"east"in e&&"west"in e)return e;
1let t=e.getNorthEast().toJSON(),n=e.getSouthWest().toJSON();return{north:t.lat,east:t.lng,south:n.lat,west:n.lng}}function I(e,t){if(!e||!t)return e===t;let n="getArray"in t?t.getArray():t;if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(!A(e[t],n[t]))return!1;return!0}let N=()=>r.default.createElement("div",{style:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:999,display:"flex",flexFlow:"column nowrap",textAlign:"center",justifyContent:"center",fontSize:".8rem",color:"rgba(0,0,0,0.6)",background:"#dddddd",padding:"1rem 1.5rem"}},r.default.createElement("h2",null,"Error: AuthFailure"),r.default.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",r.default.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."));function j(){let[e,t]=(0,r.useState)(null);return[e,(0,r.useCallback)(e=>t(e),[t])]}function T(){return M()===f}function R(){let[,e]=(0,r.useReducer)(e=>e+1,0);return e}class _{static has(e){return this.entries[e]&&this.entries[e].length>0}static pop(e){return this.entries[e]&&this.entries[e].pop()||null}static push(e,t){this.entries[e]||(this.entries[e]=[]),this.entries[e].push(t)}}_.entries={};let D=r.default.createContext(null),F=e=>{let t,n,l,o,i,s,{children:u,id:d,className:c,style:g}=e,f=(0,r.useContext)(m),p=M();if(!f)throw Error("<Map> can only be used inside an <ApiProvider> component.");let[h,v,y]=function(e,t){let n,l,o=T(),[i,s]=(0,r.useState)(null),[u,d]=j(),c=(n=R(),l=(0,r.useRef)({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0}),(0,r.useEffect)(()=>{if(!i)return;let e=google.maps.event.addListener(i,"bounds_changed",()=>{let e,t,r,o,a;e=i.getCenter(),t=i.getZoom(),r=i.getHeading()||0,o=i.getTilt()||0,a=i.getBounds(),e&&a&&Number.isFinite(t)||console.warn("[useTrackedCameraState] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),Object.assign(l.current,{center:(null==e?void 0:e.toJSON())||{lat:0,lng:0},zoom:t||0,heading:r,tilt:o}),n()});return()=>e.remove()},[i,n]),l),{id:g,defaultBounds:f,defaultCenter:p,defaultZoom:m,defaultHeading:h,defaultTilt:v,reuseMaps:y,renderingType:b,colorScheme:E}=e,C=a(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),O=void 0!==e.zoom||void 0!==e.defaultZoom,w=void 0!==e.center||void 0!==e.defaultCenter;f||O&&w||console.warn("<Map> component is missing configuration. You have to provide zoom and center (via the `zoom`/`defaultZoom` and `center`/`defaultCenter` props) or specify the region to show using `defaultBounds`. See https://visgl.github.io/react-google-maps/docs/api-reference/components/map#required"),!C.center&&p&&(C.center=p),!C.zoom&&Number.isFinite(m)&&(C.zoom=m),!C.heading&&Number.isFinite(h)&&(C.heading=h),!C.tilt&&Number.isFinite(v)&&(C.tilt=v);let S=C.internalUsageAttributionIds;for(let e of(null==S?C.internalUsageAttributionIds=t.internalUsageAttributionIds:C.internalUsageAttributionIds=[...t.internalUsageAttributionIds||[],...S],Object.keys(C)))void 0===C[e]&&delete C[e];let P=(0,r.useRef)(void 0);return(0,r.useEffect)(()=>{let n,r;if(!u||!o)return;let{addMapInstance:l,removeMapInstance:i}=t,{mapId:d}=e,p=`${d||"default"}:${b||"default"}:${E||"LIGHT"}`;if(y&&_.has(p)?(n=(r=_.pop(p)).getDiv(),u.appendChild(n),r.setOptions(C),setTimeout(()=>r.moveCamera({}),0)):((n=document.createElement("div")).style.height="100%",u.appendChild(n),r=new google.maps.Map(n,Object.assign(Object.assign(Object.assign({},C),b?{renderingType:b}:{}),E?{colorScheme:E}:{}))),s(r),l(r,g),f){let{padding:e}=f,t=a(f,["padding"]);r.fitBounds(t,e)}else O&&w||r.fitBounds({east:180,west:-180,south:-90,north:90});if(P.current){let{mapId:e,cameraState:t}=P.current;e!==d&&r.moveCamera(t)}return()=>
1{P.current={mapId:d,cameraState:c.current},n.remove(),y?_.push(p,r):google.maps.event.clearInstanceListeners(r),s(null),i(g)}},[u,o,g,e.mapId,e.renderingType,e.colorScheme]),[i,d,c]}(e,f);for(let a of(t=e.center?x(e.center):null,n=null,l=null,t&&Number.isFinite(t.lat)&&Number.isFinite(t.lng)&&(n=t.lat,l=t.lng),o=Number.isFinite(e.zoom)?e.zoom:null,i=Number.isFinite(e.heading)?e.heading:null,s=Number.isFinite(e.tilt)?e.tilt:null,(0,r.useLayoutEffect)(()=>{if(!h)return;let e={},t=!1;null!==n&&null!==l&&(y.current.center.lat!==n||y.current.center.lng!==l)&&(e.center={lat:n,lng:l},t=!0),null!==o&&y.current.zoom!==o&&(e.zoom=o,t=!0),null!==i&&y.current.heading!==i&&(e.heading=i,t=!0),null!==s&&y.current.tilt!==s&&(e.tilt=s,t=!0),t&&h.moveCamera(e)}),w)){let t=e[a],n=E[a];(0,r.useEffect)(()=>{if(!h||!t)return;let e=google.maps.event.addListener(h,n,e=>{t(function(e,t,n){var r;let l={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(C.includes(e)){let e=t.getCenter(),n=t.getZoom(),r=t.getHeading()||0,o=t.getTilt()||0,a=t.getBounds();return e&&a&&Number.isFinite(n)||console.warn("[createEvent] at least one of the values from the map returned undefined. This is not expected to happen. Please report an issue at https://github.com/visgl/react-google-maps/issues/new"),l.detail={center:(null==e?void 0:e.toJSON())||{lat:0,lng:0},zoom:n||0,heading:r,tilt:o,bounds:(null==a?void 0:a.toJSON())||{north:90,east:180,south:-90,west:-180}},l}if(O.includes(e)){if(!n)throw Error("[createEvent] mouse events must provide a srcEvent");return l.domEvent=n.domEvent,l.stoppable=!0,l.stop=()=>n.stop(),l.detail={latLng:(null==(r=n.latLng)?void 0:r.toJSON())||null,placeId:n.placeId},l}return l}(n,h,e))});return()=>e.remove()},[h,n,t])}let b={};for(let t of Object.keys(e))k.has(t)&&(b[t]=e[t]);P(()=>{h&&h.setOptions(b)},[b]);let S=function(e,t){let{viewport:n,viewState:l}=t;return(0,r.useLayoutEffect)(()=>{if(!e||!l)return;let{latitude:t,longitude:n,bearing:r,pitch:o,zoom:a}=l;e.moveCamera({center:{lat:t,lng:n},heading:r,tilt:o,zoom:a+1})},[e,l]),!!n}(h,e),A=!!e.controlled;(0,r.useEffect)(()=>{if(h)return S&&h.setOptions({disableDefaultUI:!0}),(S||A)&&h.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{h.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[h,S,A,e.gestureHandling,e.keyboardShortcuts]);let L=e.center?x(e.center):null,I=null,F=null;L&&Number.isFinite(L.lat)&&Number.isFinite(L.lng)&&(I=L.lat,F=L.lng);let z=(0,r.useMemo)(()=>{var t,n,r;return{center:{lat:null!=I?I:0,lng:null!=F?F:0},zoom:null!=(t=e.zoom)?t:0,heading:null!=(n=e.heading)?n:0,tilt:null!=(r=e.tilt)?r:0}},[I,F,e.zoom,e.heading,e.tilt]);(0,r.useLayoutEffect)(()=>{if(!h||!A)return;h.moveCamera(z);let e=h.addListener("bounds_changed",()=>{h.moveCamera(z)});return()=>e.remove()},[h,A,z]);let H=(0,r.useMemo)(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:S?-1:0},g),[g,S]),J=(0,r.useMemo)(()=>({map:h}),[h]);return"AUTH_FAILURE"===p?r.default.createElement("div",{style:Object.assign({position:"relative"},c?{}:H),className:c},r.default.createElement(N,null)):r.default.createElement("div",Object.assign({ref:v,"data-testid":"map",style:c?void 0:H,className:c},d?{id:d}:{}),h?r.default.createElement(D.Provider,{value:J},u):null)};F.deckGLViewProps=!0;let z=new Set;function H(...e){let t=JSON.stringify(e);z.has(t)||(z.add(t),console.error(...e))}let J=(e=null)=>{let t=(0,r.useContext)(m),{map:n}=(0,r.useContext)(D)||{};if(null===t)return H("useMap(): failed to retrieve APIProviderContext. Make sure that the <APIProvider> component exists and that the component you are calling `useMap()` from is a sibling of the <APIProvider>."),null;let{mapInstances:l}=t;return null!==e?l[e]||null:n||l.default||null};function B(e){let t=T(),n=(0,r.useContext)(m);return(0,r.useEffect)(()=>{t&&n&&n.importLibrary(e)},[t,n,e]),(null==n?void 0:n.loadedLibraries[e])||null}let{useLayoutEffect:U,useRef:G}=r,Z=null!=(n=r.useInsertionEffect)?n:U;function $(){throw Error("useEffectEvent: invalid call during rendering.")}let W=function(e){let t=G($);return Z(()=>{t.current=e},[e]),(...e)=>t.current(...e)},V=()=>{};function K(e,t,n){let l=W(null!=n?n:V),o=!!n;(0,r.useEffect)(()=>
1{if(!e||!t||!o)return;let n=google.maps.event.addListener(e,t,l);return()=>n.remove()},[e,t,o])}function q(e,t,n){(0,r.useEffect)(()=>{e&&(e[t]=n)},[e,t,n])}let X=()=>{};function Y(e,t,n){let l=W(null!=n?n:X),o=!!n;(0,r.useEffect)(()=>{if(e&&t&&o)return e.addEventListener(t,l),()=>e.removeEventListener(t,l)},[e,t,o])}let Q=new class{constructor(){this.renderedStyles=new Set,this.styleElement=null}getStyleElement(){return this.styleElement||(this.styleElement=document.createElement("style"),this.styleElement.setAttribute("data-rgm-anchor-styles",""),document.head.appendChild(this.styleElement)),this.styleElement}addAdvancedMarkerPointerEventsOverwrite(){if(this.renderedStyles.has("marker-pointer-events"))return;let e=this.getStyleElement();e.textContent+=` 2 gmp-advanced-marker[data-origin='rgm'] { 3 pointer-events: none !important; 4 } 5 `,this.renderedStyles.add("marker-pointer-events")}cleanup(){this.styleElement&&(this.styleElement.remove(),this.styleElement=null,this.renderedStyles.clear())}},ee=r.default.createContext(null),et=["50%","100%"],en=(0,r.forwardRef)((e,t)=>{let{children:n,style:o,className:a,anchorPoint:i}=e,[s,u]=function(e){var t,n,l,o,a;let[i,s]=(0,r.useState)(null),[u,d]=(0,r.useState)(null),c=J(),g=B("marker"),{children:f,onClick:p,className:m,onMouseEnter:h,onMouseLeave:v,onDrag:y,onDragStart:b,onDragEnd:E,collisionBehavior:C,clickable:O,draggable:w,position:S,title:P,zIndex:k,anchorPoint:M,anchorLeft:A,anchorTop:x}=e,L=r.Children.count(f);return(0,r.useEffect)(()=>{if(!c||!g)return;let e=new g.AdvancedMarkerElement;e.map=c,s(e);let t=null;return L>0&&(e.content=t=document.createElement("div"),d(t)),()=>{e.map=null,null==t||t.remove(),s(null),d(null)}},[c,g,L]),(0,r.useEffect)(()=>{(null==i?void 0:i.content)&&er(i.content)&&!(L>0)&&(i.content.className=null!=m?m:"")},[i,m,L]),t=i,n=M,l=A,o=x,a=L>0,(0,r.useEffect)(()=>{if(!t||!a)return;let e=function(e,t){var n;if(!(null==(n=null==google?void 0:google.maps)?void 0:n.version))return;let r=google.maps.version.split("."),l=parseInt(r[0],10),o=parseInt(r[1],10);return l>3||3===l&&o>=62}(0,0),r=t.content;if(r&&er(r)){if(void 0!==l||void 0!==o){e||console.warn(`AdvancedMarker: The anchorLeft and anchorTop props are only supported in Google Maps API version 3.62 and above. The current version is ${google.maps.version}.`),t.anchorLeft=l,t.anchorTop=o,void 0!==n&&console.warn("AdvancedMarker: the anchorPoint prop is ignored when anchorLeft and/or anchorTop are set.");return}if(void 0!==n){let[l,o]=null!=n?n:et,a=`calc(-1 * ${l})`,i=`calc(-1 * ${o})`;e?(t.anchorLeft=a,t.anchorTop=i,r.style.transform=""):(r.style.transform=`translate(50%, 100%) translate(${a}, ${i})`,t.dataset.origin="rgm",Q.addAdvancedMarkerPointerEventsOverwrite())}}},[t,n,l,o,a]),q(i,"position",S),q(i,"title",null!=P?P:""),q(i,"zIndex",k),q(i,"collisionBehavior",C),(0,r.useEffect)(()=>{i&&(void 0!==w?i.gmpDraggable=w:y||b||E?i.gmpDraggable=!0:i.gmpDraggable=!1)},[i,w,y,E,b]),(0,r.useEffect)(()=>{if(!i)return;let e=void 0!==O?O:!!p||!!h||!!v;i.gmpClickable=e,e&&(null==i?void 0:i.content)&&er(i.content)&&(i.content.style.pointerEvents="all",p&&(i.content.style.cursor="pointer"))},[i,O,p,h,v]),K(i,"click",p),K(i,"drag",y),K(i,"dragstart",b),K(i,"dragend",E),Y(null==i?void 0:i.element,"mouseenter",h),Y(null==i?void 0:i.element,"mouseleave",v),[i,u]}(e),d=(0,r.useMemo)(()=>s?{marker:s}:null,[s]);return((0,r.useImperativeHandle)(t,()=>s,[s]),u)?r.default.createElement(ee.Provider,{value:d},(0,l.createPortal)(r.default.createElement(el,{anchorPoint:i,styles:o,className:a},n),u)):null});function er(e){return e.nodeType===Node.ELEMENT_NODE}en.displayName="AdvancedMarker";let el=({children:e,styles:t,className:n})=>r.default.createElement("div",{className:n,style:t},e);function eo(e,t,n){if(null!=t&&"object"!=typeof t)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");let r=e.style;if(null==n){if(null==t)return;for(let e in t)t.hasOwnProperty(e)&&ea(r,e,t[e]);return}for(let e in n)n.hasOwnProperty(e)&&(null==t||!t.hasOwnProperty(e))&&(0===e.indexOf("--")?r.setProperty(e,""):"float"===e?r.cssFloat="":r[e]="");if(null!=t)for(let e in t){let l=t[e];t.hasOwnProperty(e)&&n[e]!==l&&ea(r,e,l)}}function ea(e,t,n){var r;let l=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?l?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":l?e.setProperty(t,n):"number"!=typeof n||0===n||(r=t,ei.has(r))?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}(0,r.forwardRef)((e,t)=>{let n=function(e){var t,n,l;let{onClick:i,onDrag:s,onDragStart:u,onDragEnd:d,onMouseOver:c,onMouseOut:g,onRadiusChanged:f,onCenterChanged:p,center:m,defaultCenter:h,radius:v,defaultRadius:y}=e,b=a(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onRadiusChanged","onCenterChanged","center","defaultCenter","radius","defaultRadius"]),[E,C]=(0,r.useState)(null),O=J(),w=S(Object.assign(Object.assign({},b),{clickable:null!=(t=b.clickable)?t:!!i,draggable:null!=(n=b.draggable)?n:!!(s||u||d||p),editable:null!=(l=b.editable)?l:!!f}),o.default);return(0,r.useEffect)(()=>
5{if(!O){void 0===O&&console.error("<Circle> has to be inside a Map component.");return}let e=new google.maps.Circle(Object.assign(Object.assign({},w),{center:null!=m?m:h,radius:null!=v?v:y}));return e.setMap(O),C(e),()=>{e.setMap(null),C(null)}},[O]),K(E,"click",i),K(E,"drag",s),K(E,"dragstart",u),K(E,"dragend",d),K(E,"mouseover",c),K(E,"mouseout",g),K(E,"radius_changed",f?()=>{let e=null==E?void 0:E.getRadius();void 0!==e&&f(e)}:null),K(E,"center_changed",p?()=>{p(null==E?void 0:E.getCenter())}:null),(0,r.useEffect)(()=>{E&&E.setOptions(w)},[E,w]),(0,r.useEffect)(()=>{E&&m&&(A(m,E.getCenter())||E.setCenter(m))},[E,m]),(0,r.useEffect)(()=>{E&&void 0!==v&&v!==E.getRadius()&&E.setRadius(v)},[E,v]),E}(e);return(0,r.useImperativeHandle)(t,()=>n,[n]),r.default.createElement(r.default.Fragment,null)}).displayName="Circle";let ei=new Set(["animationIterationCount","aspectRatio","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","scale","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth"]),es=e=>{let{children:t,headerContent:n,style:i,className:s,pixelOffset:u,anchor:d,shouldFocus:c,onClose:g,onCloseClick:f}=e,p=a(e,["children","headerContent","style","className","pixelOffset","anchor","shouldFocus","onClose","onCloseClick"]),m=B("maps"),[h,v]=(0,r.useState)(null),y=(0,r.useRef)(null),b=(0,r.useRef)(null),E=S(p,o.default);(0,r.useEffect)(()=>{if(!m)return;y.current=document.createElement("div"),b.current=document.createElement("div");let e=Object.assign({},E);u&&(e.pixelOffset=new google.maps.Size(u[0],u[1])),n&&(e.headerContent="string"==typeof n?n:b.current);let t=new google.maps.InfoWindow(e);return t.setContent(y.current),v(t),()=>{var e,n;t.setContent(null),null==(e=y.current)||e.remove(),null==(n=b.current)||n.remove(),y.current=null,b.current=null,v(null)}},[m]);let C=(0,r.useRef)(null);(0,r.useLayoutEffect)(()=>{h&&y.current&&(eo(y.current,i||null,C.current),C.current=i||null,s!==y.current.className&&(y.current.className=s||""))},[h,s,i]),(0,r.useEffect)(()=>{if(!h)return;let e=Object.assign({},E);u?e.pixelOffset=new google.maps.Size(u[0],u[1]):e.pixelOffset=null,n?e.headerContent="string"==typeof n?n:b.current:e.headerContent=null,h.setOptions(e)},[E,u,n]),K(h,"close",g),K(h,"closeclick",f);let O=J();return(0,r.useEffect)(()=>{var e;if(!O||!h||null===d)return;let t=!!d,n={map:O};if(d&&(n.anchor=d,void 0!==d.content&&d.content instanceof Element)){let t=null==d?void 0:d.getBoundingClientRect();if(t&&"rgm"===d.dataset.origin){let n=null==(e=d.content.firstElementChild)?void 0:e.firstElementChild,r=null==n?void 0:n.getBoundingClientRect(),l=r.x-t.x+(r.width-t.width)/2,o=r.y-t.y,a=Object.assign({},E);a.pixelOffset=new google.maps.Size(u?u[0]+l:l,u?u[1]+o:o),h.setOptions(a)}}return void 0!==c&&(n.shouldFocus=c),h.open(n),()=>{t&&h.set("anchor",null),h.close()}},[h,d,O,c,E,u]),r.default.createElement(r.default.Fragment,null,y.current&&(0,l.createPortal)(t,y.current),null!==b.current&&(0,l.createPortal)(n,b.current))};function eu(e){let t=e.getPaths(),n=[];for(let e=0;e<t.getLength();e++)n.push(t.getAt(e).getArray());return n}(0,r.forwardRef)((e,t)=>{let n=function(e){var t,n,l;let{onClick:i,onDrag:s,onDragStart:u,onDragEnd:d,onMouseOver:c,onMouseOut:g,onPathsChanged:f,polygon:p,encodedPaths:m,paths:h,defaultPaths:v}=e,y=a(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathsChanged","polygon","encodedPaths","paths","defaultPaths"]),[b,E]=(0,r.useState)(null),C=J(),O=B("geometry"),w=(0,r.useRef)(!1),P=S(Object.assign(Object.assign({},y),{clickable:null!=(t=y.clickable)?t:!!i,draggable:null!=(n=y.draggable)?n:!!(s||u||d||f),editable:null!=(l=y.editable)?l:!!f}),o.default);return(0,r.useEffect)(()=>{let e;if(!C){void 0===C&&console.error("<Polygon> has to be inside a Map component.");return}if(p){e=p;let t=null!=h?h:v;t&&Array.isArray(t)&&e.setPaths(t),e.setOptions(P)}else{let t=null!=h?h:v,n=Object.assign({},P);t&&Array.isArray(t)&&(n.paths=t),e=new google.maps.Polygon(n)}return e.setMap(C),E(e),()=>{e.setMap(null),E(null)}},[C,p]),K(b,"click",i),K(b,"drag",s),K(b,"dragstart",u),K(b,"mouseover",c),K(b,"mouseout",g),K(b,"dragend",e=>{null==d||d(e),f&&b&&!w.current&&f(eu(b))}),(0,r.useEffect)(()=>
5{if(!b||!f)return;let e=[],t=b.getPaths();if("function"!=typeof t.getLength||"function"!=typeof t.getAt)return;let n=()=>{w.current||f(eu(b))},r=t=>{e.push(google.maps.event.addListener(t,"insert_at",n)),e.push(google.maps.event.addListener(t,"remove_at",n)),e.push(google.maps.event.addListener(t,"set_at",n))};for(let e=0;e<t.getLength();e++)r(t.getAt(e));return e.push(google.maps.event.addListener(t,"insert_at",e=>{r(t.getAt(e)),n()})),e.push(google.maps.event.addListener(t,"set_at",e=>{r(t.getAt(e)),n()})),e.push(google.maps.event.addListener(t,"remove_at",n)),()=>{e.forEach(e=>e.remove())}},[b,f,h,m,P.editable,P.draggable]),(0,r.useEffect)(()=>{b&&b.setOptions(P)},[b,P]),(0,r.useEffect)(()=>{b&&h&&Array.isArray(h)&&!function(e,t){if(!e||!t)return e===t;let n="getArray"in t?t.getArray().map(e=>e.getArray()):t;if(e.length!==n.length)return!1;for(let t=0;t<e.length;t++)if(!I(e[t],n[t]))return!1;return!0}(Array.isArray(h[0])?h:[h],b.getPaths())&&(w.current=!0,b.setPaths(h),w.current=!1)},[b,h]),(0,r.useEffect)(()=>{if(!b||!m||!O)return;w.current=!0;let e=m.map(e=>O.encoding.decodePath(e));b.setPaths(e),w.current=!1},[b,m,O]),b}(e);return(0,r.useImperativeHandle)(t,()=>n,[n]),r.default.createElement(r.default.Fragment,null)}).displayName="Polygon",(0,r.forwardRef)((e,t)=>{let n=function(e){var t,n,l;let{onClick:i,onDrag:s,onDragStart:u,onDragEnd:d,onMouseOver:c,onMouseOut:g,onPathChanged:f,polyline:p,encodedPath:m,path:h,defaultPath:v}=e,y=a(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathChanged","polyline","encodedPath","path","defaultPath"]),[b,E]=(0,r.useState)(null),C=J(),O=B("geometry"),w=(0,r.useRef)(!1),P=S(Object.assign(Object.assign({},y),{clickable:null!=(t=y.clickable)?t:!!i,draggable:null!=(n=y.draggable)?n:!!(s||u||d||f),editable:null!=(l=y.editable)?l:!!f}),o.default);return(0,r.useEffect)(()=>{let e;if(!C){void 0===C&&console.error("<Polyline> has to be inside a Map component.");return}if(p){e=p;let t=null!=h?h:v;t&&Array.isArray(t)&&e.setPath(t),e.setOptions(P)}else{let t=null!=h?h:v,n=Object.assign({},P);t&&Array.isArray(t)&&(n.path=t),e=new google.maps.Polyline(n)}return e.setMap(C),E(e),()=>{e.setMap(null),E(null)}},[C,p]),K(b,"click",i),K(b,"drag",s),K(b,"dragstart",u),K(b,"mouseover",c),K(b,"mouseout",g),K(b,"dragend",e=>{null==d||d(e),f&&b&&!w.current&&f(b.getPath().getArray())}),(0,r.useEffect)(()=>{if(!b||!f)return;let e=b.getPath();if(!e)return;let t=()=>{w.current||f(e.getArray())},n=[google.maps.event.addListener(e,"insert_at",t),google.maps.event.addListener(e,"remove_at",t),google.maps.event.addListener(e,"set_at",t)];return()=>{n.forEach(e=>e.remove())}},[b,f,h,m,P.editable,P.draggable]),(0,r.useEffect)(()=>{b&&b.setOptions(P)},[b,P]),(0,r.useEffect)(()=>{b&&h&&(I(h,b.getPath())||(w.current=!0,b.setPath(h),w.current=!1))},[b,h]),(0,r.useEffect)(()=>{if(!b||!m||!O)return;w.current=!0;let e=O.encoding.decodePath(m);b.setPath(e),w.current=!1},[b,m,O]),b}(e);return(0,r.useImperativeHandle)(t,()=>n,[n]),r.default.createElement(r.default.Fragment,null)}).displayName="Polyline";let ed={center:{lat:0,lng:0,altitude:0},range:0,heading:0,tilt:0,roll:0},ec=["center","range","heading","tilt","roll"],eg=["gmp-centerchange","gmp-headingchange","gmp-tiltchange","gmp-rangechange","gmp-rollchange"];function ef(e,t){let n=e.center;return{type:t,map3d:e,detail:{center:n&&"toJSON"in n&&"function"==typeof n.toJSON?n.toJSON():n||{lat:0,lng:0,altitude:0},range:e.range||0,heading:e.heading||0,tilt:e.tilt||0,roll:e.roll||0}}}function ep(e,t,n,l){(0,r.useEffect)(()=>{if(!e||!n)return;let r=()=>{n(l(e,t))};return e.addEventListener(t,r),()=>e.removeEventListener(t,r)},[e,t,n,l])}let em=new Set(["bounds","defaultUIHidden","gestureHandling","internalUsageAttributionIds","maxAltitude","maxHeading","maxTilt","minAltitude","minHeading","minTilt","mode"]),eh=r.default.createContext(null),ev={width:"100%",height:"100%",position:"relative"};(0,r.forwardRef)((e,t)=>{var n,l,o,i,s,u,d,c;let g,f,p,h,v,y,b,E,C,{children:O,id:w,className:S,style:k}=e,M=(0,r.useContext)(m);if(!M)throw Error("<Map3D> can only be used inside an <APIProvider> component.");let{addMap3DInstance:A,removeMap3DInstance:x}=M,[L,I,N,T,_]=function(e){let t,n,l=B("maps3d"),[o,i]=(0,r.useState)(!1),[,s]=j(),[u,d]=j(),c=(t=R(),n=(0,r.useRef)(Object.assign({},ed)),(0,r.useEffect)(()=>
5{if(!u)return;let e=[];for(let r of ec){let l=`gmp-${r}change`,o=()=>{!function(e,t,n){let r=e[n];null!=r&&("center"===n?t.current.center=r.toJSON?r.toJSON():r:t.current[n]=r)}(u,n,r),t()};u.addEventListener(l,o),e.push(()=>u.removeEventListener(l,o))}return()=>{for(let t of e)t()}},[u,t]),n);return(0,r.useEffect)(()=>{customElements.whenDefined("gmp-map-3d").then(()=>{i(!0)})},[]),(0,r.useEffect)(()=>{if(!u)return;let{center:t,heading:n,tilt:r,range:l,roll:o,defaultCenter:i,defaultHeading:s,defaultTilt:d,defaultRange:c,defaultRoll:g,id:f,style:p,className:m,children:h,onCenterChanged:v,onHeadingChanged:y,onTiltChanged:b,onRangeChanged:E,onRollChanged:C,onCameraChanged:O,onClick:w,onSteadyChange:S,onAnimationEnd:P,onError:k,mode:M,gestureHandling:A}=e,x=a(e,["center","heading","tilt","range","roll","defaultCenter","defaultHeading","defaultTilt","defaultRange","defaultRoll","id","style","className","children","onCenterChanged","onHeadingChanged","onTiltChanged","onRangeChanged","onRollChanged","onCameraChanged","onClick","onSteadyChange","onAnimationEnd","onError","mode","gestureHandling"]),L=null!=t?t:i,I=null!=n?n:s,N=null!=r?r:d,j=null!=l?l:c,T=null!=o?o:g,R=Object.assign({},x);L&&(R.center=L),void 0!==I&&(R.heading=I),void 0!==N&&(R.tilt=N),void 0!==j&&(R.range=j),void 0!==T&&(R.roll=T),Object.assign(u,R)},[u]),[u,s,d,c,!!l&&o]}(e);f=null!=(n=null==(g=(c=e.center)?"toJSON"in c&&"function"==typeof c.toJSON?c.toJSON():c:null)?void 0:g.lat)?n:null,p=null!=(l=null==g?void 0:g.lng)?l:null,h=null!=(o=null==g?void 0:g.altitude)?o:null,v=null!=(i=e.range)?i:null,y=null!=(s=e.heading)?s:null,b=null!=(u=e.tilt)?u:null,E=null!=(d=e.roll)?d:null,(0,r.useLayoutEffect)(()=>{var e;if(!L)return;let t=T.current;null!==f&&null!==p&&(t.center.lat!==f||t.center.lng!==p||null!==h&&t.center.altitude!==h)&&(L.center={lat:f,lng:p,altitude:null!=(e=null!=h?h:t.center.altitude)?e:0}),null!==v&&t.range!==v&&(L.range=v),null!==y&&t.heading!==y&&(L.heading=y),null!==b&&t.tilt!==b&&(L.tilt=b),null!==E&&t.roll!==E&&(L.roll=E)}),function(e,t){let{onCenterChanged:n,onHeadingChanged:l,onTiltChanged:o,onRangeChanged:a,onRollChanged:i,onCameraChanged:s,onClick:u,onSteadyChange:d,onAnimationEnd:c,onError:g}=t;ep(e,"gmp-centerchange",n,ef),ep(e,"gmp-headingchange",l,ef),ep(e,"gmp-tiltchange",o,ef),ep(e,"gmp-rangechange",a,ef),ep(e,"gmp-rollchange",i,ef),(0,r.useEffect)(()=>{if(!e||!s)return;let t=()=>{s(ef(e,"camerachange"))};for(let n of eg)e.addEventListener(n,t);return()=>{for(let n of eg)e.removeEventListener(n,t)}},[e,s]),(0,r.useEffect)(()=>{if(!e||!u)return;let t=t=>{u({type:"gmp-click",map3d:e,detail:{position:t.position||null,placeId:t.placeId}})};return e.addEventListener("gmp-click",t),()=>e.removeEventListener("gmp-click",t)},[e,u]),(0,r.useEffect)(()=>{if(!e||!d)return;let t=t=>{d({type:"gmp-steadychange",map3d:e,detail:{isSteady:t.isSteady}})};return e.addEventListener("gmp-steadychange",t),()=>e.removeEventListener("gmp-steadychange",t)},[e,d]),ep(e,"gmp-animationend",c,(e,t)=>({type:t,map3d:e})),ep(e,"gmp-error",g,(e,t)=>({type:t,map3d:e}))}(L,e),P(()=>{L&&Object.assign(L,C)},[L,C=(0,r.useMemo)(()=>{let t={};for(let n of Object.keys(e)){if(!em.has(n))continue;let r=e[n];void 0!==r&&(t[n]=r)}return t},[e])]),(0,r.useEffect)(()=>{if(!L)return;let e=null!=w?w:"default";return A(L,e),()=>{x(e)}},[L,w]),(0,r.useImperativeHandle)(t,()=>({map3d:L,flyCameraAround:e=>{null==L||L.flyCameraAround(e)},flyCameraTo:e=>{null==L||L.flyCameraTo(e)},stopCameraAnimation:()=>{null==L||L.stopCameraAnimation()}}),[L]);let D=(0,r.useMemo)(()=>Object.assign(Object.assign({},ev),k),[k]),F=(0,r.useMemo)(()=>({map3d:L}),[L]);return _?r.default.createElement("div",Object.assign({ref:I,"data-testid":"map-3d",style:S?void 0:D,className:S},w?{id:w}:{}),r.default.createElement("gmp-map-3d",{ref:N,style:{width:"100%",height:"100%"}},L&&r.default.createElement(eh.Provider,{value:F},O))):r.default.createElement("div",Object.assign({ref:I,"data-testid":"map-3d",style:S?void 0:D,className:S},w?{id:w}:{}))}).displayName="Map3D";let ey=(0,r.createContext)(null);(0,r.forwardRef)(function(e,t){let{children:n,onClick:o,position:a,altitudeMode:i,collisionBehavior:s,drawsWhenOccluded:u,extruded:d,label:c,sizePreserved:g,zIndex:f,title:p}=e,m=!!o,[h,v]=(0,r.useState)(null),[y,b]=(0,r.useState)(!1),E=(0,r.useMemo)(()=>{let e=document.createElement("div");return e.style.display="none",document.body.appendChild(e),e},[]);(0,r.useEffect)(()=>()=>E.remove(),[E]);let C=(0,r.useCallback)(e=>{v(e),"function"==typeof t?t(e):t&&(t.current=e)},[t]);Y(h,"gmp-click",o),(0,r.useLayoutEffect)(()=>
5{if(!y&&h&&E){for(;h.firstChild;)h.removeChild(h.firstChild);for(let e of Array.from(E.childNodes)){if(e.nodeType!==Node.ELEMENT_NODE)continue;let t=e.tagName.toLowerCase();if("img"===t||"svg"===t){let t=document.createElement("template");t.content.appendChild(e.cloneNode(!0)),h.appendChild(t)}else h.appendChild(e.cloneNode(!0))}}},[h,E,n,y]);let O=(0,r.useMemo)(()=>({marker:h,setContentHandledExternally:b}),[h]);return q(h,"position",a),q(h,"altitudeMode",i),q(h,"collisionBehavior",s),q(h,"drawsWhenOccluded",u),q(h,"extruded",d),q(h,"label",c),q(h,"sizePreserved",g),q(h,"zIndex",f),q(h,"title",null!=p?p:""),r.default.createElement(ey.Provider,{value:O},m?r.default.createElement("gmp-marker-3d-interactive",{ref:C}):r.default.createElement("gmp-marker-3d",{ref:C}),(0,l.createPortal)(n,E))}).displayName="Marker3D",(0,r.forwardRef)(function(e,t){var n,l,o,a;let i,s,{children:u,headerContent:d,style:c,className:g,open:f=!0,position:p,anchor:m,anchorId:h,altitudeMode:v,lightDismissDisabled:y,autoPanDisabled:b,onClose:E}=e,[C,O]=(0,r.useState)(null),w=(0,r.useRef)(null);return(0,r.useImperativeHandle)(t,()=>C,[C]),l=C,o=f,a=E,i=(0,r.useRef)(void 0),s=(0,r.useRef)(o),(0,r.useEffect)(()=>{s.current=o},[o]),(0,r.useEffect)(()=>{if(!l||!a)return;let e=new MutationObserver(e=>{for(let t of e)if("attributes"===t.type&&"open"===t.attributeName){let e=l.hasAttribute("open");!0!==i.current||e||!1===s.current||a(),i.current=e}});return e.observe(l,{attributes:!0,attributeFilter:["open"]}),i.current=l.hasAttribute("open"),()=>{e.disconnect()}},[l,a]),q(C,"open",null!=f&&f),q(C,"altitudeMode",v),q(C,"lightDismissDisabled",y),q(C,"autoPanDisabled",b),q(C,"positionAnchor",null!=(n=null!=m?m:h)?n:p),(0,r.useLayoutEffect)(()=>{C&&(eo(C,c||null,w.current),w.current=c||null)},[C,c]),r.default.createElement("gmp-popover",{ref:O,className:g},d&&r.default.createElement("div",{slot:"header"},d),u)}).displayName="Popover",(0,r.forwardRef)((e,t)=>{let n=function(e){let[t,n]=(0,r.useState)(null),l=J(),{onClick:o,onDrag:i,onDragStart:s,onDragEnd:u,onMouseOver:d,onMouseOut:c}=e,g=a(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"]),{position:f,draggable:p}=g;return(0,r.useEffect)(()=>{if(!l){void 0===l&&console.error("<Marker> has to be inside a Map component.");return}let e=new google.maps.Marker(g);return e.setMap(l),n(e),()=>{e.setMap(null),n(null)}},[l]),(0,r.useEffect)(()=>{if(!t)return;let e=google.maps.event;return o&&e.addListener(t,"click",o),i&&e.addListener(t,"drag",i),s&&e.addListener(t,"dragstart",s),u&&e.addListener(t,"dragend",u),d&&e.addListener(t,"mouseover",d),c&&e.addListener(t,"mouseout",c),t.setDraggable(!!p),()=>{e.clearInstanceListeners(t)}},[t,p,o,i,s,u,d,c]),(0,r.useEffect)(()=>{t&&t.setOptions(g)},[t,g]),(0,r.useEffect)(()=>{!p&&f&&t&&t.setPosition(f)},[p,f,t]),t}(e);return(0,r.useImperativeHandle)(t,()=>n,[n]),r.default.createElement(r.default.Fragment,null)}).displayName="Marker";let eb=e=>{let t=(0,r.useContext)(ee),n=(0,r.useContext)(ey),o=null==t?void 0:t.marker,a=null==n?void 0:n.marker,i=null==n?void 0:n.setContentHandledExternally,s=(0,r.useMemo)(()=>document.createElement("div"),[]),u=B("marker");return(0,r.useEffect)(()=>{if(a&&i)return i(!0),()=>i(!1)},[a,i]),(0,r.useEffect)(()=>{if(!a||!u)return;let t=Object.assign({},e),n=new u.PinElement(t);for(e.children&&(n.glyph=s);a.firstChild;)a.removeChild(a.firstChild);return a.append(n),()=>{}},[a,u,s,e]),(0,r.useEffect)(()=>{var t;if(a)return;if(!o){void 0===o&&void 0===a&&console.error("The <Pin> component can only be used inside <AdvancedMarker> or <Marker3D>.");return}e.glyph&&e.children&&H("The <Pin> component only uses children to render the glyph if both the glyph property and children are present."),r.Children.count(e.children)>1&&H("Passing multiple children to the <Pin> component might lead to unexpected results.");let n=Object.assign({},e),l=new google.maps.marker.PinElement(n);e.children&&(l.glyph=s);let i=null==(t=o.content)?void 0:t.firstChild;for(;null==i?void 0:i.firstChild;)i.removeChild(i.firstChild);i&&i.appendChild(l.element)},[o,s,a,e]),(0,l.createPortal)(e.children,s)},eE=e=>{let{children:t}=e,n=(0,r.useContext)(ee),o=(0,r.useContext)(ey),a=null==n?void 0:n.marker,i=null==o?void 0:o.marker,s=null==o?void 0:o.setContentHandledExternally,u=(0,r.useMemo)(()=>document.createElement("div"),[]),d=B("marker");return(0,r.useEffect)(()=>
5{if(i&&s)return s(!0),()=>s(!1)},[i,s]),(0,r.useEffect)(()=>{if(!i||!d)return;let n=Object.assign({},e),r=new d.PinElement(n);for(t&&r.appendChild(u);i.firstChild;)i.removeChild(i.firstChild);return i.appendChild(r),()=>{}},[i,d,u,t,e]),(0,r.useEffect)(()=>{var n;if(i)return;if(!a||!d){void 0===a&&void 0===i&&console.error("The <Pin> component can only be used inside <AdvancedMarker> or <Marker3D>.");return}(e.glyphSrc||e.glyphText)&&t&&H("The <Pin> component only uses children to render the glyph if both glyphSrc/glyphText and children are present."),r.Children.count(t)>1&&H("Passing multiple children to the <Pin> component might lead to unexpected results.");let l=Object.assign({},e),o=new d.PinElement(l);t&&o.appendChild(u);let s=null==(n=a.content)?void 0:n.firstChild;for(;null==s?void 0:s.firstChild;)s.removeChild(s.firstChild);s&&s.appendChild(o)},[a,d,u,i,t,e]),(0,l.createPortal)(t,u)},eC=e=>{var t;let n=B("marker"),l=(0,r.useMemo)(()=>!!n&&"undefined"!=typeof customElements&&void 0!==customElements.get("gmp-pin"),[n]);if(!n)return null;if(l){let{glyph:t,glyphSrc:n,glyphText:l}=e,o=a(e,["glyph","glyphSrc","glyphText"]),i=t instanceof URL||"string"==typeof t&&t.startsWith("http"),s=null!=l?l:"string"!=typeof t||i?void 0:t,u=null!=n?n:i?String(t):void 0;return r.default.createElement(eE,Object.assign({},o,{glyphText:s,glyphSrc:u}))}{let{glyph:n,glyphSrc:l,glyphText:o}=e,i=a(e,["glyph","glyphSrc","glyphText"]),s=null!=(t=null!=n?n:l)?t:o;return r.default.createElement(eb,Object.assign({},i,{glyph:s}))}};(0,r.forwardRef)((e,t)=>{let n=function(e){var t,n,l;let{onClick:i,onDrag:s,onDragStart:u,onDragEnd:d,onMouseOver:c,onMouseOut:g,onBoundsChanged:f,bounds:p,defaultBounds:m}=e,h=a(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onBoundsChanged","bounds","defaultBounds"]),[v,y]=(0,r.useState)(null),b=J(),E=S(Object.assign(Object.assign({},h),{clickable:null!=(t=h.clickable)?t:!!i,draggable:null!=(n=h.draggable)?n:!!(s||u||d||f),editable:null!=(l=h.editable)?l:!!f}),o.default);return(0,r.useEffect)(()=>{if(!b){void 0===b&&console.error("<Rectangle> has to be inside a Map component.");return}let e=new google.maps.Rectangle(Object.assign(Object.assign({},E),{bounds:null!=p?p:m}));return e.setMap(b),y(e),()=>{e.setMap(null),y(null)}},[b]),K(v,"click",i),K(v,"drag",s),K(v,"dragstart",u),K(v,"dragend",d),K(v,"mouseover",c),K(v,"mouseout",g),K(v,"bounds_changed",f?()=>{f(null==v?void 0:v.getBounds())}:null),(0,r.useEffect)(()=>{v&&v.setOptions(E)},[v,E]),(0,r.useEffect)(()=>{v&&p&&!function(e,t){if(!e||!t)return!1;let n=L(e),r=L(t);return n.north===r.north&&n.south===r.south&&n.east===r.east&&n.west===r.west}(p,v.getBounds())&&v.setBounds(p)},[v,p]),v}(e);return(0,r.useImperativeHandle)(t,()=>n,[n]),r.default.createElement(r.default.Fragment,null)}).displayName="Rectangle",e.s(["APIProvider",()=>b,"AdvancedMarker",()=>en,"InfoWindow",()=>es,"Map",()=>F,"Pin",()=>eC,"useApiIsLoaded",()=>T,"useMap",()=>J])}]);
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.