1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3507],{72944:(e,t,n)=>{let r,l;n.d(t,{Fu:()=>ez,J8:()=>eD,T5:()=>em,c4:()=>C,ko:()=>eb});var o,a=n(41020),i=n(23245);function s(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 u(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 c=()=>{},d="@googlemaps/js-api-loader",f={createScriptURL:e=>e},g=!1;function p(e){if(g)return void c(`The setOptions() function should only be called once. The options passed to the additional call (${JSON.stringify(e)}) will be ignored.`);e.apiKey&&(c("The 'apiKey' parameter was used in setOptions(), but 'key' is the correct parameter name. Please update your configuration."),e.key||(e.key=e.apiKey)),function(e){var t,n,l,o,a,i,s,u,g,p,m;let h=!!window.google?.maps?.importLibrary;h&&JSON.stringify(e);h||(o="google",a="importLibrary",i=document,g=(u=(s=window)[o]||(s[o]={})).maps||(u.maps={}),p=new Set,m=new URLSearchParams,g[a]?console.warn("The Google Maps JavaScript API only loads once. Ignoring:",e):g[a]=(s,...u)=>p.add(s)&&(t||(t=new Promise(async(a,s)=>{var u,h;for(l in await (n=i.createElement("script")),m.set("libraries",[...p]+""),e)m.set(l.replace(/[A-Z]/g,e=>"_"+e[0].toLowerCase()),e[l]);m.set("callback",o+".maps.__ib__"),u=n,h="https://maps.googleapis.com/maps/api/js?"+m,u.src=(function(){if(r)return r;let e=globalThis.trustedTypes;if(!e)return r=f;try{r=e.createPolicy(d,{createScriptURL:e=>e})}catch(e){c(`Failed to create Trusted Types policy "${d}": ${e instanceof Error?e.message:String(e)}. 2 3If your Content Security Policy uses "require-trusted-types-for 'script'", allow this policy with "trusted-types ${d} google-maps-api-loader google-maps-api#html lit-html". The "google-maps-api-loader", "lit-html", and "google-maps-api#html" policies are required for full Maps JavaScript API execution. Falling back to a string script URL.`),r=f}return r})().createScriptURL(h),g.__ib__=a,n.onerror=()=>t=s(Error("The Google Maps JavaScript API could not load.")),n.nonce=i.querySelector("script[nonce]")?.nonce||"",i.head.append(n)}))).then(()=>g[a](s,...u)))}(e),g=!0}async function m(e){if(g||c("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 h={NOT_LOADED:"NOT_LOADED",LOADING:"LOADING",LOADED:"LOADED",FAILED:"FAILED",AUTH_FAILURE:"AUTH_FAILURE"},b=["gmp_visgl_reactgooglemaps_v1.9.0"],v=a.createContext(null),y=h.NOT_LOADED,E=new Set;function O(e){e!==y&&(y=e,E.forEach(e=>e(y)))}let C=e=>{let{children:t}=e,n=s(e,["children"]),{mapInstances:r,addMapInstance:o,removeMapInstance:i,clearMapInstances:c}=function(){let[e,t]=(0,a.useState)({});return{mapInstances:e,addMapInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMapInstance:(e="default")=>{t(t=>(t[e],s(t,["symbol"==typeof e?e:e+""])))},clearMapInstances:()=>{t({})}}}(),{map3dInstances:d,addMap3DInstance:f,removeMap3DInstance:g,clearMap3DInstances:C}=function(){let[e,t]=(0,a.useState)({});return{map3dInstances:e,addMap3DInstance:(e,n="default")=>{t(t=>Object.assign(Object.assign({},t),{[n]:e}))},removeMap3DInstance:(e="default")=>{t(t=>(t[e],s(t,["symbol"==typeof e?e:e+""])))},clearMap3DInstances:()=>{t({})}}}(),{status:w,loadedLibraries:A,importLibrary:S}=function(e){let{onLoad:t,onError:n,apiKey:r,version:o,libraries:i=[],region:s,language:c,authReferrerPolicy:d,channel:f,solutionChannel:g,fetchAppCheckToken:b}=e,[v,C]=(0,a.useState)(y),[w,A]=(0,a.useReducer)((e,t)=>e[t.name]?e:Object.assign(Object.assign({},e),{[t.name]:t.value}),{}),S=(0,a.useMemo)(()=>JSON.stringify({apiKey:r,version:o,libraries:i.join(","),region:s,language:c,authReferrerPolicy:d,channel:f,solutionChannel:g}),[r,o,i,s,c,d,f,g]),L=(0,a.useCallback)(e=>u(this,void 0,void 0,function*(){if(w[e])return w[e];let t=yield m(e);return A({name:e,value:t}),t}),[w]);return(0,a.useEffect)(()=>(E.add(C),C(y),()=>{E.delete(C)}),[]),(0,a.useEffect)(()=>{u(this,void 0,void 0,function*(){var e,a;try{l&&l!==S&&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 n=["core","maps",...i],u=Object.fromEntries(Object.entries({key:r,v:o,libraries:i,region:s,language:c,authReferrerPolicy:d}).filter(([,e])=>void 0!==e));if(void 0!==f&&f>=0&&f<=999&&(u.channel=String(f)),void 0===g?u.solutionChannel="GMP_visgl_rgmlibrary_v1_default":""!==g&&(u.solutionChannel=g),null==(a=null==(e=window.google)?void 0:e.maps)?void 0:a.importLibrary){let e=!l;e&&(l=S,p(u)),yield Promise.all(n.map(e=>L(e))),e&&O(h.LOADED),t&&t();return}if(y===h.LOADING||y===h.LOADED){y===h.LOADED&&t&&t();return}l=S,O(h.LOADING),p(u),yield Promise.all(n.map(e=>L(e))),O(h.LOADED),t&&t()}catch(e){O(h.FAILED),n?n(e):console.error("The Google Maps JavaScript API failed to load.",e)}})},[S,t,n,L,i]),(0,a.useEffect)(()=>
3{if(v!==h.LOADED)return;let e=google.maps.Settings.getInstance();b&&(e.fetchAppCheckToken=b)},[v,b]),{status:v,loadedLibraries:w,importLibrary:L}}(n),L=function(e){return(0,a.useMemo)(()=>e.disableUsageAttribution?null:b,[e.disableUsageAttribution])}(n),j=(0,a.useMemo)(()=>({mapInstances:r,addMapInstance:o,removeMapInstance:i,clearMapInstances:c,map3dInstances:d,addMap3DInstance:f,removeMap3DInstance:g,clearMap3DInstances:C,status:w,loadedLibraries:A,importLibrary:S,internalUsageAttributionIds:L}),[r,o,i,c,d,f,g,C,w,A,S,L]);return a.createElement(v.Provider,{value:j},t)},w={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"},A=["bounds_changed","center_changed","heading_changed","tilt_changed","zoom_changed"],S=["click","contextmenu","dblclick","mousemove","mouseout","mouseover"],L=Object.keys(w);function j(e,t){let n=(0,a.useRef)(e);return t(e,n.current)||(n.current=e),n.current}let{getOwnPropertyNames:k,getOwnPropertySymbols:I}=Object,{hasOwnProperty:M}=Object.prototype;function P(e,t){return function(n,r,l){return e(n,r,l)&&t(n,r,l)}}function N(e){return function(t,n,r){if(!t||!n||"object"!=typeof t||"object"!=typeof n)return e(t,n,r);let{cache:l}=r,o=l.get(t),a=l.get(n);if(o&&a)return o===n&&a===t;l.set(t,n),l.set(n,t);let i=e(t,n,r);return l.delete(t),l.delete(n),i}}function D(e){return k(e).concat(I(e))}let x=Object.hasOwn||((e,t)=>M.call(e,t)),{getOwnPropertyDescriptor:T,keys:_}=Object,R=Object.is||function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t};function F(e,t){return e===t}function z(e,t){return e.byteLength===t.byteLength&&K(new Uint8Array(e),new Uint8Array(t))}function U(e,t,n){let r=e.length;if(t.length!==r)return!1;for(;r-- >0;)if(!n.equals(e[r],t[r],r,r,e,t,n))return!1;return!0}function H(e,t){return e.byteLength===t.byteLength&&K(new Uint8Array(e.buffer,e.byteOffset,e.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength))}function J(e,t){return R(e.getTime(),t.getTime())}function q(e,t){return e.name===t.name&&e.message===t.message&&e.cause===t.cause&&e.stack===t.stack}function B(e,t,n){let r,l,o=e.size;if(o!==t.size)return!1;if(!o)return!0;let a=Array(o),i=e.entries(),s=0;for(;(r=i.next())&&!r.done;){let o=t.entries(),i=!1,u=0;for(;(l=o.next())&&!l.done;){if(a[u]){u++;continue}let o=r.value,c=l.value;if(n.equals(o[0],c[0],s,u,e,t,n)&&n.equals(o[1],c[1],o[0],c[0],e,t,n)){i=a[u]=!0;break}u++}if(!i)return!1;s++}return!0}function G(e,t,n){let r=_(e),l=r.length;if(_(t).length!==l)return!1;for(;l-- >0;)if(!Y(e,t,n,r[l]))return!1;return!0}function $(e,t,n){let r,l,o,a=D(e),i=a.length;if(D(t).length!==i)return!1;for(;i-- >0;)if(!Y(e,t,n,r=a[i])||(l=T(e,r),o=T(t,r),(l||o)&&(!l||!o||l.configurable!==o.configurable||l.enumerable!==o.enumerable||l.writable!==o.writable)))return!1;return!0}function Z(e,t){return R(e.valueOf(),t.valueOf())}function W(e,t){return e.source===t.source&&e.flags===t.flags}function V(e,t,n){let r,l,o=e.size;if(o!==t.size)return!1;if(!o)return!0;let a=Array(o),i=e.values();for(;(r=i.next())&&!r.done;){let o=t.values(),i=!1,s=0;for(;(l=o.next())&&!l.done;){if(!a[s]&&n.equals(r.value,l.value,r.value,l.value,e,t,n)){i=a[s]=!0;break}s++}if(!i)return!1}return!0}function K(e,t){let n=e.byteLength;if(t.byteLength!==n||e.byteOffset!==t.byteOffset)return!1;for(;n-- >0;)if(e[n]!==t[n])return!1;return!0}function X(e,t){return e.hostname===t.hostname&&e.pathname===t.pathname&&e.protocol===t.protocol&&e.port===t.port&&e.hash===t.hash&&e.username===t.username&&e.password===t.password}function Y(e,t,n,r){return("_owner"===r||"__o"===r||"__v"===r)&&(!!e.$$typeof||!!t.$$typeof)||x(t,r)&&n.equals(e[r],t[r],r,r,e,t,n)}let Q=Object.prototype.toString,ee=et();function et(e={}){let{circular:t=!1,createInternalComparator:n,createState:r,strict:l=!1}=e,o=function(e){let t=function({areArrayBuffersEqual:e,areArraysEqual:t,areDataViewsEqual:n,areDatesEqual:r,areErrorsEqual:l,areFunctionsEqual:o,areMapsEqual:a,areNumbersEqual:i,areObjectsEqual:s,arePrimitiveWrappersEqual:u,areRegExpsEqual:c,areSetsEqual:d,areTypedArraysEqual:f,areUrlsEqual:g}){return{"[object Arguments]":s,"[object Array]":t,"[object ArrayBuffer]":e,"[object AsyncGeneratorFunction]":o,"[object BigInt]":i,"[object BigInt64Array
3]":f,"[object BigUint64Array]":f,"[object Boolean]":u,"[object DataView]":n,"[object Date]":r,"[object Error]":l,"[object Float16Array]":f,"[object Float32Array]":f,"[object Float64Array]":f,"[object Function]":o,"[object GeneratorFunction]":o,"[object Int8Array]":f,"[object Int16Array]":f,"[object Int32Array]":f,"[object Map]":a,"[object Number]":u,"[object Object]":(e,t,n)=>"function"!=typeof e.then&&"function"!=typeof t.then&&s(e,t,n),"[object RegExp]":c,"[object Set]":d,"[object String]":u,"[object URL]":g,"[object Uint8Array]":f,"[object Uint8ClampedArray]":f,"[object Uint16Array]":f,"[object Uint32Array]":f}}(e),{areArraysEqual:n,areDatesEqual:r,areFunctionsEqual:l,areMapsEqual:o,areNumbersEqual:a,areObjectsEqual:i,areRegExpsEqual:s,areSetsEqual:u,getUnsupportedCustomComparator:c}=e;return function(e,d,f){if(e===d)return!0;if(null==e||null==d)return!1;let g=typeof e;if(g!==typeof d)return!1;if("object"!==g)return"number"===g||"bigint"===g?a(e,d,f):"function"===g&&l(e,d,f);let p=e.constructor;if(p!==d.constructor)return!1;if(p===Object)return i(e,d,f);if(p===Array)return n(e,d,f);if(p===Date)return r(e,d,f);if(p===RegExp)return s(e,d,f);if(p===Map)return o(e,d,f);if(p===Set)return u(e,d,f);if(p===Promise)return!1;if(Array.isArray(e))return n(e,d,f);let m=Q.call(e),h=t[m];if(h)return h(e,d,f);let b=c&&c(e,d,f,m);return!!b&&b(e,d,f)}}(function({circular:e,createCustomConfig:t,strict:n}){let r={areArrayBuffersEqual:z,areArraysEqual:n?$:U,areDataViewsEqual:H,areDatesEqual:J,areErrorsEqual:q,areFunctionsEqual:F,areMapsEqual:n?P(B,$):B,areNumbersEqual:R,areObjectsEqual:n?$:G,arePrimitiveWrappersEqual:Z,areRegExpsEqual:W,areSetsEqual:n?P(V,$):V,areTypedArraysEqual:n?P(K,$):K,areUrlsEqual:X,getUnsupportedCustomComparator:void 0};if(t&&(r=Object.assign({},r,t(r))),e){let e=N(r.areArraysEqual),t=N(r.areMapsEqual),n=N(r.areObjectsEqual),l=N(r.areSetsEqual);r=Object.assign({},r,{areArraysEqual:e,areMapsEqual:t,areObjectsEqual:n,areSetsEqual:l})}return r}(e)),a=n?n(o):function(e,t,n,r,l,a,i){return o(e,t,i)};return function({circular:e,comparator:t,createState:n,equals:r,strict:l}){if(n)return function(o,a){let{cache:i=e?new WeakMap:void 0,meta:s}=n();return t(o,a,{cache:i,equals:r,meta:s,strict:l})};if(e)return function(e,n){return t(e,n,{cache:new WeakMap,equals:r,meta:void 0,strict:l})};let o={cache:void 0,equals:r,meta:void 0,strict:l};return function(e,n){return t(e,n,o)}}({circular:t,comparator:o,createState:r,equals:a,strict:l})}function en(e,t){(0,a.useEffect)(e,[j(t,ee)])}et({strict:!0}),et({circular:!0}),et({circular:!0,strict:!0}),et({createInternalComparator:()=>R}),et({strict:!0,createInternalComparator:()=>R}),et({circular:!0,createInternalComparator:()=>R}),et({circular:!0,createInternalComparator:()=>R,strict:!0});let er=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 el(){var e;return(null==(e=(0,a.useContext)(v))?void 0:e.status)||h.NOT_LOADED}function eo(e,t){if(!e||!t)return!1;let n=ea(e),r=ea(t);return n.lat===r.lat&&n.lng===r.lng}function ea(e){return e&&"object"==typeof e&&"lat"in e&&"lng"in e&&Number.isFinite(e.lat)&&Number.isFinite(e.lng)?e:e.toJSON()}function ei(e){if("north"in e&&"south"in e&&"east"in e&&"west"in e)return e;
3let t=e.getNorthEast().toJSON(),n=e.getSouthWest().toJSON();return{north:t.lat,east:t.lng,south:n.lat,west:n.lng}}function es(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(!eo(e[t],n[t]))return!1;return!0}let eu=()=>a.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"}},a.createElement("h2",null,"Error: AuthFailure"),a.createElement("p",null,"A problem with your API key prevents the map from rendering correctly. Please make sure the value of the ",a.createElement("code",null,"APIProvider.apiKey")," prop is correct. Check the error-message in the console for further details."));function ec(){let[e,t]=(0,a.useState)(null);return[e,(0,a.useCallback)(e=>t(e),[t])]}function ed(){return el()===h.LOADED}function ef(){let[,e]=(0,a.useReducer)(e=>e+1,0);return e}class eg{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)}}eg.entries={};let ep=a.createContext(null),em=e=>{let{children:t,id:n,className:r,style:l}=e,o=(0,a.useContext)(v),i=el();if(!o)throw Error("<Map> can only be used inside an <ApiProvider> component.");let[u,c,d]=function(e,t){let n=ed(),[r,l]=(0,a.useState)(null),[o,i]=ec(),u=function(e){let t=ef(),n=(0,a.useRef)({center:{lat:0,lng:0},heading:0,tilt:0,zoom:0});return(0,a.useEffect)(()=>{if(!e)return;let r=google.maps.event.addListener(e,"bounds_changed",()=>{!function(e,t){let n=e.getCenter(),r=e.getZoom(),l=e.getHeading()||0,o=e.getTilt()||0,a=e.getBounds();n&&a&&Number.isFinite(r)||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(t.current,{center:(null==n?void 0:n.toJSON())||{lat:0,lng:0},zoom:r||0,heading:l,tilt:o})}(e,n),t()});return()=>r.remove()},[e,t]),n}(r),{id:c,defaultBounds:d,defaultCenter:f,defaultZoom:g,defaultHeading:p,defaultTilt:m,reuseMaps:h,renderingType:b,colorScheme:v}=e,y=s(e,["id","defaultBounds","defaultCenter","defaultZoom","defaultHeading","defaultTilt","reuseMaps","renderingType","colorScheme"]),E=void 0!==e.zoom||void 0!==e.defaultZoom,O=void 0!==e.center||void 0!==e.defaultCenter;d||E&&O||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"),!y.center&&f&&(y.center=f),!y.zoom&&Number.isFinite(g)&&(y.zoom=g),!y.heading&&Number.isFinite(p)&&(y.heading=p),!y.tilt&&Number.isFinite(m)&&(y.tilt=m);let C=y.internalUsageAttributionIds;for(let e of(null==C?y.internalUsageAttributionIds=t.internalUsageAttributionIds:y.internalUsageAttributionIds=[...t.internalUsageAttributionIds||[],...C],Object.keys(y)))void 0===y[e]&&delete y[e];let w=(0,a.useRef)(void 0);return(0,a.useEffect)(()=>{let r,a;if(!o||!n)return;let{addMapInstance:i,removeMapInstance:f}=t,{mapId:g}=e,p=`${g||"default"}:${b||"default"}:${v||"LIGHT"}`,m=h&&eg.has(p)?eg.pop(p):null,C=null==m?void 0:m.getDiv(),A=m&&C instanceof Node?m:null;if(A?(a=A,r=C,o.appendChild(r),a.setOptions(y),setTimeout(()=>a.moveCamera({}),0)):(m&&google.maps.event.clearInstanceListeners(m),(r=document.createElement("div")).style.height="100%",o.appendChild(r),a=new google.maps.Map(r,Object.assign(Object.assign(Object.assign({},y),b?{renderingType:b}:{}),v?{colorScheme:v}:{}))),l(a),i(a,c),d){let{padding:e}=d,t=s(d,["padding"]);a.fitBounds(t,e)}else E&&O||a.fitBounds({east:180,west:-180,south:-90,north:90});if(w.current){let{mapId:e,cameraState:t}=w.current;e!==g&&a.moveCamera(t)}return()=>{w.current={mapId:g,cameraState:u.current},r.remove(),h?eg.push(p,a):google.maps.event.clearInstanceListeners(a),l(null),f(c)}},[o,n,c,e.mapId,e.renderingType,e.colorScheme]),[r,i,u]}(e,o);!function(e,t,n){let r=n.center?ea(n.center):null,l=null,o=null;r&&Number.isFinite(r.lat)&&Number.isFinite(r.lng)&&(l=r.lat,o=r.lng);let i=Number.isFinite(n.zoom)?n.zoom:null,s=Number.isFinite(n.heading)?n.heading:null,u=Number.isFinite(n.tilt)?n.tilt:null;(0,a.useLayoutEffect)(()=>
3{if(!e)return;let n={},r=!1;null!==l&&null!==o&&(t.current.center.lat!==l||t.current.center.lng!==o)&&(n.center={lat:l,lng:o},r=!0),null!==i&&t.current.zoom!==i&&(n.zoom=i,r=!0),null!==s&&t.current.heading!==s&&(n.heading=s,r=!0),null!==u&&t.current.tilt!==u&&(n.tilt=u,r=!0),r&&e.moveCamera(n)})}(u,d,e),function(e,t){for(let n of L){let r=t[n],l=w[n];(0,a.useEffect)(()=>{if(!e||!r)return;let t=google.maps.event.addListener(e,l,t=>{r(function(e,t,n){var r;let l={type:e,map:t,detail:{},stoppable:!1,stop:()=>{}};if(A.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(S.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}(l,e,t))});return()=>t.remove()},[e,l,r])}}(u,e),function(e,t){let n={};for(let e of Object.keys(t))er.has(e)&&(n[e]=t[e]);en(()=>{e&&e.setOptions(n)},[n])}(u,e);let f=function(e,t){let{viewport:n,viewState:r}=t;return(0,a.useLayoutEffect)(()=>{if(!e||!r)return;let{latitude:t,longitude:n,bearing:l,pitch:o,zoom:a}=r;e.moveCamera({center:{lat:t,lng:n},heading:l,tilt:o,zoom:a+1})},[e,r]),!!n}(u,e),g=!!e.controlled;(0,a.useEffect)(()=>{if(u)return f&&u.setOptions({disableDefaultUI:!0}),(f||g)&&u.setOptions({gestureHandling:"none",keyboardShortcuts:!1}),()=>{u.setOptions({gestureHandling:e.gestureHandling,keyboardShortcuts:e.keyboardShortcuts})}},[u,f,g,e.gestureHandling,e.keyboardShortcuts]);let p=e.center?ea(e.center):null,m=null,b=null;p&&Number.isFinite(p.lat)&&Number.isFinite(p.lng)&&(m=p.lat,b=p.lng);let y=(0,a.useMemo)(()=>{var t,n,r;return{center:{lat:null!=m?m:0,lng:null!=b?b:0},zoom:null!=(t=e.zoom)?t:0,heading:null!=(n=e.heading)?n:0,tilt:null!=(r=e.tilt)?r:0}},[m,b,e.zoom,e.heading,e.tilt]);(0,a.useLayoutEffect)(()=>{if(!u||!g)return;u.moveCamera(y);let e=u.addListener("bounds_changed",()=>{u.moveCamera(y)});return()=>e.remove()},[u,g,y]);let E=(0,a.useMemo)(()=>Object.assign({width:"100%",height:"100%",position:"relative",zIndex:f?-1:0},l),[l,f]),O=(0,a.useMemo)(()=>({map:u}),[u]);return i===h.AUTH_FAILURE?a.createElement("div",{style:Object.assign({position:"relative"},r?{}:E),className:r},a.createElement(eu,null)):a.createElement("div",Object.assign({ref:c,"data-testid":"map",style:r?void 0:E,className:r},n?{id:n}:{}),u?a.createElement(ep.Provider,{value:O},t):null)};em.deckGLViewProps=!0;let eh=new Set,eb=(e=null)=>{let t=(0,a.useContext)(v),{map:n}=(0,a.useContext)(ep)||{};if(null===t)return!function(...e){let t=JSON.stringify(e);eh.has(t)||(eh.add(t),console.error(...e))}("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:r}=t;return null!==e?r[e]||null:n||r.default||null};function ev(e){var t;let n=ed(),r=(0,a.useContext)(v);return(0,a.useEffect)(()=>{n&&r&&r.importLibrary(e)},[n,r,e]),null!=(t=null==r?void 0:r.loadedLibraries[e])?t:null}let ey=Object.assign({},o||(o=n.t(a,2))),eE=ey.useInsertionEffect,eO=eE&&eE!==ey.useLayoutEffect?eE:e=>{e()};function eC(){throw Error("useEffectEvent: invalid call during rendering.")}let ew=function(e){let t=(0,a.useRef)(eC);return eO(()=>{t.current=e},[e]),(...e)=>t.current(...e)},eA=()=>{};function eS(e,t,n){let r=ew(null!=n?n:eA),l=!!n;(0,a.useEffect)(()=>{if(!e||!t||!l)return;let n=google.maps.event.addListener(e,t,r);return()=>n.remove()},[e,t,l])}
3function eL(e,t,n){(0,a.useEffect)(()=>{e&&(e[t]=n)},[e,t,n])}let ej=()=>{};function ek(e,t,n){let r=ew(null!=n?n:ej),l=!!n;(0,a.useEffect)(()=>{if(e&&t&&l)return e.addEventListener(t,r),()=>e.removeEventListener(t,r)},[e,t,l])}class eI{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+=` 4 gmp-advanced-marker[data-origin='rgm'] { 5 pointer-events: none !important; 6 } 7 `,this.renderedStyles.add("marker-pointer-events")}cleanup(){this.styleElement&&(this.styleElement.remove(),this.styleElement=null,this.renderedStyles.clear())}}let eM=new eI,eP=a.createContext(null),eN={BOTTOM:["50%","100%"]},eD=(0,a.forwardRef)((e,t)=>{let{children:n,style:r,className:l,anchorPoint:o}=e,[s,u]=function(e){var t,n,r,l,o;let[i,s]=(0,a.useState)(null),[u,c]=(0,a.useState)(null),d=eb(),f=ev("marker"),{children:g,onClick:p,onKeyDown:m,onKeyUp:h,className:b,onMouseEnter:v,onMouseLeave:y,onDrag:E,onDragStart:O,onDragEnd:C,collisionBehavior:w,clickable:A,draggable:S,position:L,title:j,zIndex:k,anchorPoint:I,anchorLeft:M,anchorTop:P}=e,N=a.Children.count(g);return(0,a.useEffect)(()=>{if(!d||!f)return;let e=new f.AdvancedMarkerElement;e.map=d,s(e);let t=null;return N>0&&(e.content=t=document.createElement("div"),c(t)),()=>{e.map=null,null==t||t.remove(),s(null),c(null)}},[d,f,N]),(0,a.useEffect)(()=>{(null==i?void 0:i.content)&&ex(i.content)&&!(N>0)&&(i.content.className=null!=b?b:"")},[i,b,N]),t=i,n=I,r=M,l=P,o=N>0,(0,a.useEffect)(()=>{if(!t||!o)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}(3,0),a=t.content;if(a&&ex(a)){if(void 0!==r||void 0!==l){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=r,t.anchorTop=l,void 0!==n&&console.warn("AdvancedMarker: the anchorPoint prop is ignored when anchorLeft and/or anchorTop are set.");return}if(void 0!==n){let[r,l]=null!=n?n:eN.BOTTOM,o=`calc(-1 * ${r})`,i=`calc(-1 * ${l})`;e?(t.anchorLeft=o,t.anchorTop=i,a.style.transform=""):(a.style.transform=`translate(50%, 100%) translate(${o}, ${i})`,t.dataset.origin="rgm",eM.addAdvancedMarkerPointerEventsOverwrite())}}},[t,n,r,l,o]),eL(i,"position",L),eL(i,"title",null!=j?j:""),eL(i,"zIndex",k),eL(i,"collisionBehavior",w),(0,a.useEffect)(()=>{i&&(void 0!==S?i.gmpDraggable=S:E||O||C?i.gmpDraggable=!0:i.gmpDraggable=!1)},[i,S,E,C,O]),(0,a.useEffect)(()=>{if(!i)return;let e=void 0!==A?A:!!p||!!m||!!h||!!v||!!y;i.gmpClickable=e,(null==i?void 0:i.content)&&ex(i.content)&&(i.content.style.pointerEvents=e?"all":"none",i.content.style.cursor=e&&p?"pointer":"")},[i,A,p,m,h,v,y]),eS(i,"drag",E),eS(i,"dragstart",O),eS(i,"dragend",C),ek(i,"gmp-click",p),ek(i,"keydown",m),ek(i,"keyup",h),ek(i,"mouseenter",v),ek(i,"mouseleave",y),[i,u]}(e),c=(0,a.useMemo)(()=>s?{marker:s}:null,[s]);return((0,a.useImperativeHandle)(t,()=>s,[s]),u)?a.createElement(eP.Provider,{value:c},(0,i.createPortal)(a.createElement(eT,{anchorPoint:o,styles:r,className:l},n),u)):null});function ex(e){return e.nodeType===Node.ELEMENT_NODE}eD.displayName="AdvancedMarker";let eT=({children:e,styles:t,className:n})=>a.createElement("div",{className:n,style:t},e);function e_(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)&&eR(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&&eR(r,e,l)}}function eR(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,eF.has(r))?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}(0,a.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:l,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onRadiusChanged:f,onCenterChanged:g,center:p,defaultCenter:m,radius:h,defaultRadius:b}=e,v=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onRadiusChanged","onCenterChanged","center","defaultCenter","radius","defaultRadius"]),[y,E]=(0,a.useState)(null),O=eb(),C=j(Object.assign(Object.assign({},v),{clickable:null!=(t=v.clickable)?t:!!l,draggable:null!=(n=v.draggable)?n:!!(o||i||u||g),editable:null!=(r=v.editable)?r:!!f}),ee);return(0,a.useEffect)(()=>
7{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({},C),{center:null!=p?p:m,radius:null!=h?h:b}));return e.setMap(O),E(e),()=>{e.setMap(null),E(null)}},[O]),eS(y,"click",l),eS(y,"drag",o),eS(y,"dragstart",i),eS(y,"dragend",u),eS(y,"mouseover",c),eS(y,"mouseout",d),eS(y,"radius_changed",f?()=>{let e=null==y?void 0:y.getRadius();void 0!==e&&f(e)}:null),eS(y,"center_changed",g?()=>{g(null==y?void 0:y.getCenter())}:null),(0,a.useEffect)(()=>{y&&y.setOptions(C)},[y,C]),(0,a.useEffect)(()=>{y&&p&&(eo(p,y.getCenter())||y.setCenter(p))},[y,p]),(0,a.useEffect)(()=>{y&&void 0!==h&&h!==y.getRadius()&&y.setRadius(h)},[y,h]),y}(e);return(0,a.useImperativeHandle)(t,()=>n,[n]),a.createElement(a.Fragment,null)}).displayName="Circle";let eF=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"]),ez=e=>{let{children:t,headerContent:n,style:r,className:l,pixelOffset:o,anchor:u,shouldFocus:c,onClose:d,onCloseClick:f}=e,g=s(e,["children","headerContent","style","className","pixelOffset","anchor","shouldFocus","onClose","onCloseClick"]),p=ev("maps"),[m,h]=(0,a.useState)(null),b=(0,a.useRef)(null),v=(0,a.useRef)(null),y=j(g,ee);(0,a.useEffect)(()=>{if(!p)return;b.current=document.createElement("div"),v.current=document.createElement("div");let e=Object.assign({},y);o&&(e.pixelOffset=new google.maps.Size(o[0],o[1])),n&&(e.headerContent="string"==typeof n?n:v.current);let t=new google.maps.InfoWindow(e);return t.setContent(b.current),h(t),()=>{var e,n;t.setContent(null),null==(e=b.current)||e.remove(),null==(n=v.current)||n.remove(),b.current=null,v.current=null,h(null)}},[p]);let E=(0,a.useRef)(null);(0,a.useLayoutEffect)(()=>{m&&b.current&&(e_(b.current,r||null,E.current),E.current=r||null,l!==b.current.className&&(b.current.className=l||""))},[m,l,r]),(0,a.useEffect)(()=>{if(!m)return;let e=Object.assign({},y);o?e.pixelOffset=new google.maps.Size(o[0],o[1]):e.pixelOffset=null,n?e.headerContent="string"==typeof n?n:v.current:e.headerContent=null,m.setOptions(e)},[y,o,n]),eS(m,"close",d),eS(m,"closeclick",f);let O=eb();return(0,a.useEffect)(()=>{var e;if(!O||!m||null===u)return;let t=!!u,n={map:O};if(u&&(n.anchor=u,void 0!==u.content&&u.content instanceof Element)){let t=null==u?void 0:u.getBoundingClientRect();if(t&&"rgm"===u.dataset.origin){let n=null==(e=u.content.firstElementChild)?void 0:e.firstElementChild,r=null==n?void 0:n.getBoundingClientRect(),l=r.x-t.x+(r.width-t.width)/2,a=r.y-t.y,i=Object.assign({},y);i.pixelOffset=new google.maps.Size(o?o[0]+l:l,o?o[1]+a:a),m.setOptions(i)}}return void 0!==c&&(n.shouldFocus=c),m.open(n),()=>{t&&m.set("anchor",null),m.close()}},[m,u,O,c,y,o]),a.createElement(a.Fragment,null,b.current&&(0,i.createPortal)(t,b.current),null!==v.current&&(0,i.createPortal)(n,v.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,a.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:l,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onPathsChanged:f,polygon:g,encodedPaths:p,paths:m,defaultPaths:h}=e,b=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathsChanged","polygon","encodedPaths","paths","defaultPaths"]),[v,y]=(0,a.useState)(null),E=eb(),O=ev("geometry"),C=(0,a.useRef)(!1),w=j(Object.assign(Object.assign({},b),{clickable:null!=(t=b.clickable)?t:!!l,draggable:null!=(n=b.draggable)?n:!!(o||i||u||f),editable:null!=(r=b.editable)?r:!!f}),ee);return(0,a.useEffect)(()=>{let e;if(!E){void 0===E&&console.error("<Polygon> has to be inside a Map component.");return}if(g){e=g;let t=null!=m?m:h;t&&Array.isArray(t)&&e.setPaths(t),e.setOptions(w)}else{let t=null!=m?m:h,n=Object.assign({},w);t&&Array.isArray(t)&&(n.paths=t),e=new google.maps.Polygon(n)}return e.setMap(E),y(e),()=>{e.setMap(null),y(null)}},[E,g]),eS(v,"click",l),eS(v,"drag",o),eS(v,"dragstart",i),eS(v,"mouseover",c),eS(v,"mouseout",d),eS(v,"dragend",e=>{null==u||u(e),f&&v&&!C.current&&f(eU(v))}),(0,a.useEffect)(()=>
7{if(!v||!f)return;let e=[],t=v.getPaths();if("function"!=typeof t.getLength||"function"!=typeof t.getAt)return;let n=()=>{C.current||f(eU(v))},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())}},[v,f,m,p,w.editable,w.draggable]),(0,a.useEffect)(()=>{v&&v.setOptions(w)},[v,w]),(0,a.useEffect)(()=>{if(v&&m&&Array.isArray(m))!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(!es(e[t],n[t]))return!1;return!0}(Array.isArray(m[0])?m:[m],v.getPaths())&&(C.current=!0,v.setPaths(m),C.current=!1)},[v,m]),(0,a.useEffect)(()=>{if(!v||!p||!O)return;C.current=!0;let e=p.map(e=>O.encoding.decodePath(e));v.setPaths(e),C.current=!1},[v,p,O]),v}(e);return(0,a.useImperativeHandle)(t,()=>n,[n]),a.createElement(a.Fragment,null)}).displayName="Polygon",(0,a.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:l,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onPathChanged:f,polyline:g,encodedPath:p,path:m,defaultPath:h}=e,b=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onPathChanged","polyline","encodedPath","path","defaultPath"]),[v,y]=(0,a.useState)(null),E=eb(),O=ev("geometry"),C=(0,a.useRef)(!1),w=j(Object.assign(Object.assign({},b),{clickable:null!=(t=b.clickable)?t:!!l,draggable:null!=(n=b.draggable)?n:!!(o||i||u||f),editable:null!=(r=b.editable)?r:!!f}),ee);return(0,a.useEffect)(()=>{let e;if(!E){void 0===E&&console.error("<Polyline> has to be inside a Map component.");return}if(g){e=g;let t=null!=m?m:h;t&&Array.isArray(t)&&e.setPath(t),e.setOptions(w)}else{let t=null!=m?m:h,n=Object.assign({},w);t&&Array.isArray(t)&&(n.path=t),e=new google.maps.Polyline(n)}return e.setMap(E),y(e),()=>{e.setMap(null),y(null)}},[E,g]),eS(v,"click",l),eS(v,"drag",o),eS(v,"dragstart",i),eS(v,"mouseover",c),eS(v,"mouseout",d),eS(v,"dragend",e=>{null==u||u(e),f&&v&&!C.current&&f(v.getPath().getArray())}),(0,a.useEffect)(()=>{if(!v||!f)return;let e=v.getPath();if(!e)return;let t=()=>{C.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())}},[v,f,m,p,w.editable,w.draggable]),(0,a.useEffect)(()=>{v&&v.setOptions(w)},[v,w]),(0,a.useEffect)(()=>{v&&m&&(es(m,v.getPath())||(C.current=!0,v.setPath(m),C.current=!1))},[v,m]),(0,a.useEffect)(()=>{if(!v||!p||!O)return;C.current=!0;let e=O.encoding.decodePath(p);v.setPath(e),C.current=!1},[v,p,O]),v}(e);return(0,a.useImperativeHandle)(t,()=>n,[n]),a.createElement(a.Fragment,null)}).displayName="Polyline";let eH={center:{lat:0,lng:0,altitude:0},range:0,heading:0,tilt:0,roll:0},eJ=["center","range","heading","tilt","roll"],eq=["gmp-centerchange","gmp-headingchange","gmp-tiltchange","gmp-rangechange","gmp-rollchange"];function eB(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 eG(e,t,n,r){(0,a.useEffect)(()=>{if(!e||!n)return;let l=()=>{n(r(e,t))};return e.addEventListener(t,l),()=>e.removeEventListener(t,l)},[e,t,n,r])}let e$=new Set(["bounds","defaultUIHidden","gestureHandling","internalUsageAttributionIds","maxAltitude","maxHeading","maxTilt","minAltitude","minHeading","minTilt","mode"]),eZ=a.createContext(null),eW={width:"100%",height:"100%",position:"relative"};(0,a.forwardRef)((e,t)=>{let{children:n,id:r,className:l,style:o}=e,i=(0,a.useContext)(v);if(!i)throw Error("<Map3D> can only be used inside an <APIProvider> component.");let{addMap3DInstance:u,removeMap3DInstance:c}=i,[d,f,g,p,m]=function(e){let t=ev("maps3d"),[n,r]=(0,a.useState)(!1),[,l]=ec(),[o,i]=ec(),u=function(e){let t=ef(),n=(0,a.useRef)(Object.assign({},eH));return(0,a.useEffect)(()=>
7{if(!e)return;let r=[];for(let l of eJ){let o=`gmp-${l}change`,a=()=>{let r=e[l];null!=r&&("center"===l?n.current.center=r.toJSON?r.toJSON():r:n.current[l]=r),t()};e.addEventListener(o,a),r.push(()=>e.removeEventListener(o,a))}return()=>{for(let e of r)e()}},[e,t]),n}(o);return(0,a.useEffect)(()=>{customElements.whenDefined("gmp-map-3d").then(()=>{r(!0)})},[]),(0,a.useEffect)(()=>{if(!o)return;let{center:t,heading:n,tilt:r,range:l,roll:a,defaultCenter:i,defaultHeading:u,defaultTilt:c,defaultRange:d,defaultRoll:f,id:g,style:p,className:m,children:h,onCenterChanged:b,onHeadingChanged:v,onTiltChanged:y,onRangeChanged:E,onRollChanged:O,onCameraChanged:C,onClick:w,onSteadyChange:A,onAnimationEnd:S,onError:L,mode:j,gestureHandling:k}=e,I=s(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"]),M=null!=t?t:i,P=null!=n?n:u,N=null!=r?r:c,D=null!=l?l:d,x=null!=a?a:f,T=Object.assign({},I);M&&(T.center=M),void 0!==P&&(T.heading=P),void 0!==N&&(T.tilt=N),void 0!==D&&(T.range=D),void 0!==x&&(T.roll=x),Object.assign(o,T)},[o]),[o,l,i,u,!!t&&n]}(e);!function(e,t,n){var r,l,o,i,s,u,c,d;let f=(d=n.center)?"toJSON"in d&&"function"==typeof d.toJSON?d.toJSON():d:null,g=null!=(r=null==f?void 0:f.lat)?r:null,p=null!=(l=null==f?void 0:f.lng)?l:null,m=null!=(o=null==f?void 0:f.altitude)?o:null,h=null!=(i=n.range)?i:null,b=null!=(s=n.heading)?s:null,v=null!=(u=n.tilt)?u:null,y=null!=(c=n.roll)?c:null;(0,a.useLayoutEffect)(()=>{var n;if(!e)return;let r=t.current;null!==g&&null!==p&&(r.center.lat!==g||r.center.lng!==p||null!==m&&r.center.altitude!==m)&&(e.center={lat:g,lng:p,altitude:null!=(n=null!=m?m:r.center.altitude)?n:0}),null!==h&&r.range!==h&&(e.range=h),null!==b&&r.heading!==b&&(e.heading=b),null!==v&&r.tilt!==v&&(e.tilt=v),null!==y&&r.roll!==y&&(e.roll=y)})}(d,p,e),function(e,t){let{onCenterChanged:n,onHeadingChanged:r,onTiltChanged:l,onRangeChanged:o,onRollChanged:i,onCameraChanged:s,onClick:u,onSteadyChange:c,onAnimationEnd:d,onError:f}=t;eG(e,"gmp-centerchange",n,eB),eG(e,"gmp-headingchange",r,eB),eG(e,"gmp-tiltchange",l,eB),eG(e,"gmp-rangechange",o,eB),eG(e,"gmp-rollchange",i,eB),(0,a.useEffect)(()=>{if(!e||!s)return;let t=()=>{s(eB(e,"camerachange"))};for(let n of eq)e.addEventListener(n,t);return()=>{for(let n of eq)e.removeEventListener(n,t)}},[e,s]),(0,a.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,a.useEffect)(()=>{if(!e||!c)return;let t=t=>{c({type:"gmp-steadychange",map3d:e,detail:{isSteady:t.isSteady}})};return e.addEventListener("gmp-steadychange",t),()=>e.removeEventListener("gmp-steadychange",t)},[e,c]),eG(e,"gmp-animationend",d,(e,t)=>({type:t,map3d:e})),eG(e,"gmp-error",f,(e,t)=>({type:t,map3d:e}))}(d,e),function(e,t){let n=(0,a.useMemo)(()=>{let e={};for(let n of Object.keys(t)){if(!e$.has(n))continue;let r=t[n];void 0!==r&&(e[n]=r)}return e},[t]);en(()=>{e&&Object.assign(e,n)},[e,n])}(d,e),(0,a.useEffect)(()=>{if(!d)return;let e=null!=r?r:"default";return u(d,e),()=>{c(e)}},[d,r]),(0,a.useImperativeHandle)(t,()=>({map3d:d,flyCameraAround:e=>{null==d||d.flyCameraAround(e)},flyCameraTo:e=>{null==d||d.flyCameraTo(e)},stopCameraAnimation:()=>{null==d||d.stopCameraAnimation()}}),[d]);let h=(0,a.useMemo)(()=>Object.assign(Object.assign({},eW),o),[o]),b=(0,a.useMemo)(()=>({map3d:d}),[d]);return m?a.createElement("div",Object.assign({ref:f,"data-testid":"map-3d",style:l?void 0:h,className:l},r?{id:r}:{}),a.createElement("gmp-map-3d",{ref:g,style:{width:"100%",height:"100%"}},d&&a.createElement(eZ.Provider,{value:b},n))):a.createElement("div",Object.assign({ref:f,"data-testid":"map-3d",style:l?void 0:h,className:l},r?{id:r}:{}))}).displayName="Map3D";let eV=(0,a.createContext)(null);(0,a.forwardRef)(function(e,t){let{children:n,onClick:r,position:l,altitudeMode:o,collisionBehavior:s,drawsWhenOccluded:u,extruded:c,label:d,sizePreserved:f,zIndex:g,title:p}=e,m=!!r,[h,b]=(0,a.useState)(null),[v,y]=(0,a.useState)(!1),E=(0,a.useMemo)(()=>{let e=document.createElement("div");return e.style.display="none",document.body.appendChild(e),e},[]);(0,a.useEffect)(()=>()=>E.remove(),[E]);let O=(0,a.useCallback)(e=>{b(e),"function"==typeof t?t(e):t&&(t.current=e)},[t]);ek(h,"gmp-click",r),(0,a.useLayoutEffect)(()=>
7{if(!v&&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,v]);let C=(0,a.useMemo)(()=>({marker:h,setContentHandledExternally:y}),[h]);return eL(h,"position",l),eL(h,"altitudeMode",o),eL(h,"collisionBehavior",s),eL(h,"drawsWhenOccluded",u),eL(h,"extruded",c),eL(h,"label",d),eL(h,"sizePreserved",f),eL(h,"zIndex",g),eL(h,"title",null!=p?p:""),a.createElement(eV.Provider,{value:C},m?a.createElement("gmp-marker-3d-interactive",{ref:O}):a.createElement("gmp-marker-3d",{ref:O}),(0,i.createPortal)(n,E))}).displayName="Marker3D",(0,a.forwardRef)(function(e,t){var n;let{children:r,headerContent:l,style:o,className:i,open:s=!0,position:u,anchor:c,anchorId:d,altitudeMode:f,lightDismissDisabled:g,autoPanDisabled:p,onClose:m}=e,[h,b]=(0,a.useState)(null),v=(0,a.useRef)(null);return(0,a.useImperativeHandle)(t,()=>h,[h]),function(e,t,n){let r=(0,a.useRef)(void 0),l=(0,a.useRef)(t);(0,a.useEffect)(()=>{l.current=t},[t]),(0,a.useEffect)(()=>{if(!e||!n)return;let t=new MutationObserver(t=>{for(let o of t)if("attributes"===o.type&&"open"===o.attributeName){let t=e.hasAttribute("open");!0!==r.current||t||!1===l.current||n(),r.current=t}});return t.observe(e,{attributes:!0,attributeFilter:["open"]}),r.current=e.hasAttribute("open"),()=>{t.disconnect()}},[e,n])}(h,s,m),eL(h,"open",null!=s&&s),eL(h,"altitudeMode",f),eL(h,"lightDismissDisabled",g),eL(h,"autoPanDisabled",p),eL(h,"positionAnchor",null!=(n=null!=c?c:d)?n:u),(0,a.useLayoutEffect)(()=>{h&&(e_(h,o||null,v.current),v.current=o||null)},[h,o]),a.createElement("gmp-popover",{ref:b,className:i},l&&a.createElement("div",{slot:"header"},l),r)}).displayName="Popover",(0,a.forwardRef)((e,t)=>{let n=function(e){let[t,n]=(0,a.useState)(null),r=eb(),{onClick:l,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d}=e,f=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut"]),{position:g,draggable:p}=f;return(0,a.useEffect)(()=>{if(!r){void 0===r&&console.error("<Marker> has to be inside a Map component.");return}let e=new google.maps.Marker(f);return e.setMap(r),n(e),()=>{e.setMap(null),n(null)}},[r]),(0,a.useEffect)(()=>{if(!t)return;let e=google.maps.event;return l&&e.addListener(t,"click",l),o&&e.addListener(t,"drag",o),i&&e.addListener(t,"dragstart",i),u&&e.addListener(t,"dragend",u),c&&e.addListener(t,"mouseover",c),d&&e.addListener(t,"mouseout",d),t.setDraggable(!!p),()=>{e.clearInstanceListeners(t)}},[t,p,l,o,i,u,c,d]),(0,a.useEffect)(()=>{t&&f&&t.setOptions(f)},[t,f]),(0,a.useEffect)(()=>{!p&&g&&t&&t.setPosition(g)},[p,g,t]),t}(e);return(0,a.useImperativeHandle)(t,()=>n,[n]),a.createElement(a.Fragment,null)}).displayName="Marker",(0,a.forwardRef)((e,t)=>{let n=function(e){var t,n,r;let{onClick:l,onDrag:o,onDragStart:i,onDragEnd:u,onMouseOver:c,onMouseOut:d,onBoundsChanged:f,bounds:g,defaultBounds:p}=e,m=s(e,["onClick","onDrag","onDragStart","onDragEnd","onMouseOver","onMouseOut","onBoundsChanged","bounds","defaultBounds"]),[h,b]=(0,a.useState)(null),v=eb(),y=j(Object.assign(Object.assign({},m),{clickable:null!=(t=m.clickable)?t:!!l,draggable:null!=(n=m.draggable)?n:!!(o||i||u||f),editable:null!=(r=m.editable)?r:!!f}),ee);return(0,a.useEffect)(()=>{if(!v){void 0===v&&console.error("<Rectangle> has to be inside a Map component.");return}let e=new google.maps.Rectangle(Object.assign(Object.assign({},y),{bounds:null!=g?g:p}));return e.setMap(v),b(e),()=>{e.setMap(null),b(null)}},[v]),eS(h,"click",l),eS(h,"drag",o),eS(h,"dragstart",i),eS(h,"dragend",u),eS(h,"mouseover",c),eS(h,"mouseout",d),eS(h,"bounds_changed",f?()=>{f(null==h?void 0:h.getBounds())}:null),(0,a.useEffect)(()=>{h&&h.setOptions(y)},[h,y]),(0,a.useEffect)(()=>{h&&g&&!function(e,t){if(!e||!t)return!1;let n=ei(e),r=ei(t);return n.north===r.north&&n.south===r.south&&n.east===r.east&&n.west===r.west}(g,h.getBounds())&&h.setBounds(g)},[h,g]),h}(e);return(0,a.useImperativeHandle)(t,()=>n,[n]),a.createElement(a.Fragment,null)}).displayName="Rectangle"}}]);
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.