import{P as qe,S as je,C as Be}from"./carousel.es.0b9f37d1.js";import{c as Ne}from"./close.435e0998.js";import{h as I,o as k,c as O,w as C,e as x,f as y,d as _,Z as B,i as f,v as S,x as z,F as ee,A as we,D as Ze,y as ue,W as Re,a1 as Ae,a0 as xe,a7 as q,l as b,m as te,aI as N,b6 as oe,E as re,G as ie,$ as M,k as D,b7 as E,b8 as Ce,b9 as _e}from"./entry.af4b0b72.js";import{o as de,G as Ue,z as Fe,U as De,f as Ke}from"./transition.d7ab7fbb.js";import{l as Ge}from"./arrow-left.061b047c.js";import{r as He}from"./arrow-right.cc60baed.js";import{_ as Ve}from"./_plugin-vue_export-helper.c27b6911.js";const We=_("div",{class:"fixed inset-0 bg-black bg-opacity-25"},null,-1),Xe={class:"fixed inset-0 overflow-y-auto m-2"},Je={class:"flex min-h-full items-center justify-center"},Ye={class:"flex flex-row items-center"},Qe=["innerHTML"],et={class:"mt-4 md:mt-8"},tt=I({__name:"Dialog",props:{open:{type:Boolean},noCancelAction:{type:Boolean},noAction:{type:Boolean},cancelIcon:{type:Boolean}},setup(i){return(e,t)=>(k(),O(y(Ke),{appear:"",show:e.open,as:"template"},{default:C(()=>[x(y(De),{as:"div",class:"relative z-100",onClose:t[1]||(t[1]=o=>e.$emit("cancel"))},{default:C(()=>[x(y(de),{as:"template",enter:"duration-300 ease-out","enter-from":"opacity-0","enter-to":"opacity-100",leave:"duration-200 ease-in","leave-from":"opacity-100","leave-to":"opacity-0"},{default:C(()=>[We]),_:1}),_("div",Xe,[_("div",Je,[x(y(de),{as:"template",enter:"duration-300 ease-out","enter-from":"opacity-0 scale-95","enter-to":"opacity-100 scale-100",leave:"duration-200 ease-in","leave-from":"opacity-100 scale-100","leave-to":"opacity-0 scale-95"},{default:C(()=>[x(y(Ue),{class:"flex flex-col max-w-page max-h-[850px] w-full md:w-fit transform overflow-hidden rounded-2xl bg-white px-4 py-4 md:px-12 md:py-8 text-center align-middle shadow-xl transition-all"},{default:C(()=>[x(y(Fe),{as:"h3",class:"text-xl font-medium leading-6 text-gray-900"},{default:C(()=>[_("div",Ye,[_("button",{class:"bg-transparent border-transparent focus:outline-none",onClick:t[0]||(t[0]=o=>e.$emit("cancel"))},[_("div",{class:"w-6",innerHTML:y(Ne)},null,8,Qe)])])]),_:1}),_("div",et,[B(e.$slots,"default")])]),_:3})]),_:3})])])]),_:3})]),_:3},8,["show"]))}}),ot={class:"me"},rt=["src","onClick"],it=["src","onClick"],nt={class:"relative w-full"},st=["innerHTML"],lt=["src"],at=["innerHTML"],ut=I({__name:"image-carousel",props:{imageUrls:{type:Array,required:!0},imageClass:{type:String,default:""},blurredContain:{type:Boolean,default:!1}},setup(i){const e=i,t=f(!1),o=f(""),r=f(0);function n(c){t.value=!0,r.value=c,o.value=e.imageUrls[r.value]}function u(){r.value=(r.value-1+e.imageUrls.length)%e.imageUrls.length,o.value=e.imageUrls[r.value]}function l(){r.value=(r.value+1)%e.imageUrls.length,o.value=e.imageUrls[r.value]}return(c,a)=>(k(),S("div",ot,[x(y(Be),{autoplay:i.imageUrls.length>1?3e3:0,"wrap-around":!0},{addons:C(()=>[i.imageUrls.length>1?(k(),O(y(qe),{key:0})):z("",!0)]),default:C(()=>[(k(!0),S(ee,null,we(i.imageUrls,(s,d)=>(k(),O(y(je),{key:s},{default:C(()=>[i.blurredContain?(k(),S("div",{key:0,class:"w-full h-full bg-cover rounded-2xl",style:Ze({backgroundImage:`url('${s}')`})},[_("img",{class:ue({[i.imageClass]:!0,"object-contain backdrop-blur-md":i.blurredContain}),src:s,onClick:p=>n(d)},null,10,rt)],4)):(k(),S("img",{key:1,class:ue({[i.imageClass]:!0,"object-contain backdrop-blur-md":i.blurredContain}),src:s,onClick:p=>n(d)},null,10,it))]),_:2},1024))),128))]),_:1},8,["autoplay"]),x(tt,{open:y(t),title:"","cancel-icon":!0,"no-action":!0,"no-cancel-action":!0,onCancel:a[2]||(a[2]=s=>t.value=!1)},{default:C(()=>[_("div",nt,[i.imageUrls.length>1?(k(),S("div",{key:0,class:"absolute w-7 md:w-10 left-0 flex h-full z-100 bg-opacity-25 bg-white cursor-pointer",onMouseup:a[0]||(a[0]=s=>u())},[_("div",{class:"my-auto w-6 md:w-10 translate-x-0.5 text-mono-500","aria-hidden":"true",innerHTML:y(Ge)},null,8,st)],32)):z("",!0),_("img",{class:"object-contain w-full max-h-[730px] select-none",src:y(o)},null,8,lt),i.imageUrls.length>1?(k(),S("div",{key:1,class:"absolute w-7 md:w-10 top-0 right-0 flex h-full z-100 bg-opacity-25 bg-white cursor-pointer",onMouseup:a[1]||(a[1]=s=>l())},[_("div",{class:"my-auto w-6 md:w-10 translate-x-0.5 text-mono-500","aria-hidden":"true",innerHTML:y(He)},null,8,at)],32)):z("",!0)])]),_:1},8,["open"])]))}});const Gt=Ve(ut,[["__scopeId","data-v-1bb5b94a"]]);let Z=Symbol("map"),R=Symbol("api"),Me=Symbol("marker"),be=Symbol("markerCluster"),K=Symbol("CustomMarker"),Ie=Symbol("mapTilesLoaded"),Se="click dblclick drag dragend dragstart mousedown mousemove mouseout mouseover mouseup rightclick".split(" ");var dt=function i(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var o;if(Array.isArray(e)){var r=e.length;if(r!=t.length)return!1;for(o=r;o--!==0;)if(!i(e[o],t[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();var n=Object.keys(e);if(r=n.length,r!==Object.keys(t).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(t,n[o]))return!1;for(o=r;o--!==0;)if(r=n[o],!i(e[r],t[r]))return!1;return!0}return e!==e&&t!==t};class P{constructor({apiKey:e,channel:t,client:o,id:r="__googleMapsScriptId",libraries:n=[],language:u,region:l,version:c,mapIds:a,nonce:s,retries:d=3,url:p="https://maps.googleapis.com/maps/api/js"}){if(this.CALLBACK="__googleMapsCallback",this.callbacks=[],this.loading=this.done=!1,this.errors=[],this.version=c,this.apiKey=e,this.channel=t,this.client=o,this.id=r||"__googleMapsScriptId",this.libraries=n,this.language=u,this.region=l,this.mapIds=a,this.nonce=s,this.retries=d,this.url=p,P.instance){if(!dt(this.options,P.instance.options))throw Error(`Loader must not be called again with different options. ${JSON.stringify(this.options)} !== ${JSON.stringify(P.instance.options)}`);return P.instance}P.instance=this}get options(){return{version:this.version,apiKey:this.apiKey,channel:this.channel,client:this.client,id:this.id,libraries:this.libraries,language:this.language,region:this.region,mapIds:this.mapIds,nonce:this.nonce,url:this.url}}get failed(){return this.done&&!this.loading&&this.errors.length>=this.retries+1}createUrl(){let e=this.url;return e+=`?callback=${this.CALLBACK}`,this.apiKey&&(e+=`&key=${this.apiKey}`),this.channel&&(e+=`&channel=${this.channel}`),this.client&&(e+=`&client=${this.client}`),0<this.libraries.length&&(e+=`&libraries=${this.libraries.join(",")}`),this.language&&(e+=`&language=${this.language}`),this.region&&(e+=`&region=${this.region}`),this.version&&(e+=`&v=${this.version}`),this.mapIds&&(e+=`&map_ids=${this.mapIds.join(",")}`),e}deleteScript(){let e=document.getElementById(this.id);e&&e.remove()}load(){return this.loadPromise()}loadPromise(){return new Promise((e,t)=>{this.loadCallback(o=>{o?t(o.error):e(window.google)})})}loadCallback(e){this.callbacks.push(e),this.execute()}setScript(){if(document.getElementById(this.id))this.callback();else{var e=this.createUrl(),t=document.createElement("script");t.id=this.id,t.type="text/javascript",t.src=e,t.onerror=this.loadErrorCallback.bind(this),t.defer=!0,t.async=!0,this.nonce&&(t.nonce=this.nonce),document.head.appendChild(t)}}reset(){this.deleteScript(),this.loading=this.done=!1,this.errors=[],this.onerrorEvent=null}resetIfRetryingFailed(){this.failed&&this.reset()}loadErrorCallback(e){this.errors.push(e),this.errors.length<=this.retries?(e=this.errors.length*Math.pow(2,this.errors.length),console.log(`Failed to load Google Maps script, retrying in ${e} ms.`),setTimeout(()=>{this.deleteScript(),this.setScript()},e)):(this.onerrorEvent=e,this.callback())}setCallback(){window.__googleMapsCallback=this.callback.bind(this)}callback(){this.done=!0,this.loading=!1,this.callbacks.forEach(e=>{e(this.onerrorEvent)}),this.callbacks=[]}execute(){this.resetIfRetryingFailed(),this.done?this.callback():window.google&&window.google.maps&&window.google.maps.version?(console.warn("Google Maps already loaded outside @googlemaps/js-api-loader.This may result in undesirable behavior as options and script parameters may not match."),this.callback()):this.loading||(this.loading=!0,this.setCallback(),this.setScript())}}function ct(i){return class extends i.OverlayView{constructor(e){super();let{element:t,...o}=e;this.element=t,this.opts=o,this.opts.map&&this.setMap(this.opts.map)}getPosition(){return this.opts.position?this.opts.position instanceof i.LatLng?this.opts.position:new i.LatLng(this.opts.position):null}getVisible(){if(!this.element)return!1;let e=this.element;return e.style.display!=="none"&&e.style.visibility!=="hidden"&&(e.style.opacity===""||.01<Number(e.style.opacity))}onAdd(){if(this.element){var e=this.getPanes();e&&e.overlayMouseTarget.appendChild(this.element)}}draw(){if(this.element){var e=this.getProjection().fromLatLngToDivPixel(this.getPosition());if(e){this.element.style.position="absolute";let o=this.element.offsetHeight;var t=this.element.offsetWidth;switch(this.opts.anchorPoint){case"TOP_CENTER":t=e.x-t/2,e=e.y;break;case"BOTTOM_CENTER":t=e.x-t/2,e=e.y-o;break;case"LEFT_CENTER":t=e.x,e=e.y-o/2;break;case"RIGHT_CENTER":t=e.x-t,e=e.y-o/2;break;case"TOP_LEFT":t=e.x,e=e.y;break;case"TOP_RIGHT":t=e.x-t,e=e.y;break;case"BOTTOM_LEFT":t=e.x,e=e.y-o;break;case"BOTTOM_RIGHT":t=e.x-t,e=e.y-o;break;default:t=e.x-t/2,e=e.y-o/2}this.element.style.left=t+"px",this.element.style.top=e+"px",this.element.style.transform=`translateX(${this.opts.offsetX||0}px) translateY(${this.opts.offsetY||0}px)`,this.opts.zIndex&&(this.element.style.zIndex=this.opts.zIndex.toString())}}}onRemove(){this.element&&this.element.remove()}setOptions(e){this.opts=e,this.draw()}}}let ce,pe="bounds_changed center_changed click dblclick drag dragend dragstart heading_changed idle maptypeid_changed mousemove mouseout mouseover projection_changed resize rightclick tilesloaded tilt_changed zoom_changed".split(" ");var ne=I({props:{apiPromise:{type:Promise},apiKey:{type:String,default:""},version:{type:String,default:"weekly"},libraries:{type:Array,default:()=>["places"]},region:{type:String,required:!1},language:{type:String,required:!1},backgroundColor:{type:String,required:!1},center:{type:Object,default:()=>({lat:0,lng:0})},clickableIcons:{type:Boolean,required:!1,default:void 0},controlSize:{type:Number,required:!1},disableDefaultUi:{type:Boolean,required:!1,default:void 0},disableDoubleClickZoom:{type:Boolean,required:!1,default:void 0},draggable:{type:Boolean,required:!1,default:void 0},draggableCursor:{type:String,required:!1},draggingCursor:{type:String,required:!1},fullscreenControl:{type:Boolean,required:!1,default:void 0},fullscreenControlPosition:{type:String,required:!1},gestureHandling:{type:String,required:!1},heading:{type:Number,required:!1},keyboardShortcuts:{type:Boolean,required:!1,default:void 0},mapTypeControl:{type:Boolean,required:!1,default:void 0},mapTypeControlOptions:{type:Object,required:!1},mapTypeId:{type:[Number,String],required:!1},mapId:{type:String,required:!1},maxZoom:{type:Number,required:!1},minZoom:{type:Number,required:!1},noClear:{type:Boolean,required:!1,default:void 0},panControl:{type:Boolean,required:!1,default:void 0},panControlPosition:{type:String,required:!1},restriction:{type:Object,required:!1},rotateControl:{type:Boolean,required:!1,default:void 0},rotateControlPosition:{type:String,required:!1},scaleControl:{type:Boolean,required:!1,default:void 0},scaleControlStyle:{type:Number,required:!1},scrollwheel:{type:Boolean,required:!1,default:void 0},streetView:{type:Object,required:!1},streetViewControl:{type:Boolean,required:!1,default:void 0},streetViewControlPosition:{type:String,required:!1},styles:{type:Array,required:!1},tilt:{type:Number,required:!1},zoom:{type:Number,required:!1},zoomControl:{type:Boolean,required:!1,default:void 0},zoomControlPosition:{type:String,required:!1}},emits:pe,setup(i,{emit:e}){let t=f(),o=f(!1),r=f(),n=f(),u=f(!1);q(Z,r),q(R,n),q(Ie,u);let l=()=>{const s={...i};Object.keys(s).forEach(p=>{s[p]===void 0&&delete s[p]});var d=p=>{var m;return p?{position:(m=n.value)===null||m===void 0?void 0:m.ControlPosition[p]}:{}};return d={scaleControlOptions:i.scaleControlStyle?{style:i.scaleControlStyle}:{},panControlOptions:d(i.panControlPosition),zoomControlOptions:d(i.zoomControlPosition),rotateControlOptions:d(i.rotateControlPosition),streetViewControlOptions:d(i.streetViewControlPosition),fullscreenControlOptions:d(i.fullscreenControlPosition),disableDefaultUI:i.disableDefaultUi},{...s,...d}},c=b([n,r],([s,d])=>{s&&d&&(s.event.addListenerOnce(d,"tilesloaded",()=>{u.value=!0}),setTimeout(c,0))},{immediate:!0}),a=s=>{n.value=E(s.maps),r.value=E(new s.maps.Map(t.value,l())),s=ct(n.value),n.value[K]=s,pe.forEach(d=>{var p;(p=r.value)===null||p===void 0||p.addListener(d,m=>e(d,m))}),o.value=!0,s=Object.keys(i).filter(d=>!"apiPromise apiKey version libraries region language center zoom".split(" ").includes(d)).map(d=>Ce(i,d)),b([()=>i.center,()=>i.zoom,...s],([d,p],[m,g])=>{var h,v,w;const{center:A,zoom:L,...V}=l();(h=r.value)===null||h===void 0||h.setOptions(V),p!==void 0&&p!==g&&((v=r.value)===null||v===void 0||v.setZoom(p)),p=!m||d.lng!==m.lng||d.lat!==m.lat,d&&p&&((w=r.value)===null||w===void 0||w.panTo(d))})};return te(()=>{if(i.apiPromise&&i.apiPromise instanceof Promise)i.apiPromise.then(a);else{try{const{apiKey:s,region:d,version:p,language:m,libraries:g}=i;ce=new P({apiKey:s,region:d,version:p,language:m,libraries:g})}catch(s){console.error(s)}ce.load().then(a)}}),N(()=>{var s;u.value=!1,r.value&&((s=n.value)===null||s===void 0||s.event.clearInstanceListeners(r.value))}),{mapRef:t,ready:o,map:r,api:n,mapTilesLoaded:u}}});function se(i,e){if(e===void 0&&(e={}),e=e.insertAt,i&&typeof document<"u"){var t=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",e==="top"&&t.firstChild?t.insertBefore(o,t.firstChild):t.appendChild(o),o.styleSheet?o.styleSheet.cssText=i:o.appendChild(document.createTextNode(i))}}se(`
.mapdiv[data-v-177d06e3] {
  width: 100%;
  height: 100%;
}
`);let pt=oe();re("data-v-177d06e3");let ht={ref:"mapRef",class:"mapdiv"};ie();let mt=pt(i=>(k(),O("div",null,[x("div",ht,null,512),B(i.$slots,"default",{ready:i.ready,map:i.map,api:i.api,mapTilesLoaded:i.mapTilesLoaded},void 0,!0)])));ne.render=mt;ne.__scopeId="data-v-177d06e3";var G=function i(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var o;if(Array.isArray(e)){var r=e.length;if(r!=t.length)return!1;for(o=r;o--!==0;)if(!i(e[o],t[o]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();var n=Object.keys(e);if(r=n.length,r!==Object.keys(t).length)return!1;for(o=r;o--!==0;)if(!Object.prototype.hasOwnProperty.call(t,n[o]))return!1;for(o=r;o--!==0;)if(r=n[o],!i(e[r],t[r]))return!1;return!0}return e!==e&&t!==t};let Oe=(i,e,t,o)=>{const r=f(),n=M(Z,f()),u=M(R,f()),l=M(be,f()),c=D(()=>!!(l.value&&u.value&&(r.value instanceof u.value.Marker||r.value instanceof u.value[K])));return b([n,t],(a,[s,d])=>{var p,m,g;a=!G(t.value,d)||n.value!==s,n.value&&u.value&&a&&(r.value?(r.value.setOptions(t.value),c.value&&((p=l.value)===null||p===void 0||p.removeMarker(r.value),(m=l.value)===null||m===void 0||m.addMarker(r.value))):(r.value=i==="Marker"?E(new u.value[i](t.value)):i===K?E(new u.value[i](t.value)):E(new u.value[i]({...t.value,map:n.value})),c.value?(g=l.value)===null||g===void 0||g.addMarker(r.value):r.value.setMap(n.value),e.forEach(h=>{var v;(v=r.value)===null||v===void 0||v.addListener(h,w=>o(h,w))})))},{immediate:!0}),N(()=>{var a,s;r.value&&((a=u.value)===null||a===void 0||a.event.clearInstanceListeners(r.value),c.value?(s=l.value)===null||s===void 0||s.removeMarker(r.value):r.value.setMap(null))}),r},he="animation_changed click dblclick rightclick dragstart dragend drag mouseover mousedown mouseout mouseup draggable_changed clickable_changed contextmenu cursor_changed flat_changed rightclick zindex_changed icon_changed position_changed shape_changed title_changed visible_changed".split(" ");var gt=I({name:"Marker",props:{options:{type:Object,required:!0}},emits:he,setup(i,{emit:e,expose:t,slots:o}){return i=Ce(i,"options"),e=Oe("Marker",he,i,e),q(Me,e),t({marker:e}),()=>{var r;return(r=o.default)===null||r===void 0?void 0:r.call(o)}}});Se.concat(["bounds_changed"]);Se.concat(["center_changed","radius_changed"]);var vt=I({props:{position:{type:String,required:!0},index:{type:Number,default:1}},emits:["content:loaded"],setup(i,{emit:e}){let t=f(null),o=M(Z,f()),r=M(R,f()),n=M(Ie,f(!1)),u=f(!1),l=b([n,r,t],([s,d,p])=>{d&&s&&p&&(c(i.position),u.value=!0,e("content:loaded"),setTimeout(l,0))},{immediate:!0}),c=s=>{o.value&&r.value&&t.value&&o.value.controls[r.value.ControlPosition[s]].push(t.value)},a=s=>{if(o.value&&r.value){let d=null;s=r.value.ControlPosition[s],o.value.controls[s].forEach((p,m)=>{p===t.value&&(d=m)}),d!==null&&o.value.controls[s].removeAt(d)}};return N(()=>a(i.position)),b(()=>i.position,(s,d)=>{a(d),c(s)}),b(()=>i.index,s=>{s&&t.value&&(t.value.index=i.index)}),{controlRef:t,showContent:u}}});let ft={ref:"controlRef"};vt.render=function(i){return k(),O(ee,null,[z(`
    v-show must be used instead of v-if otherwise there
    would be no rendered content pushed to the map controls
  `),Re(x("div",ft,[B(i.$slots,"default")],512),[[Ae,i.showContent]])],2112)};let me="closeclick content_changed domready position_changed visible zindex_changed".split(" ");var Le=I({inheritAttrs:!1,props:{options:{type:Object,default:()=>({})}},emits:me,setup(i,{slots:e,emit:t}){let o=f(),r=f(),n=M(Z,f()),u=M(R,f()),l=M(Me,f()),c,a=D(()=>{var s;return(s=e.default)===null||s===void 0?void 0:s.call(e).some(d=>d.type!==_e)});return te(()=>{b([n,()=>i.options],([,s],[d,p])=>{d=!G(s,p)||n.value!==d,n.value&&u.value&&d&&(o.value?(o.value.setOptions({...s,content:a.value?r.value:s.content}),l.value||o.value.open({map:n.value})):(o.value=E(new u.value.InfoWindow({...s,content:a.value?r.value:s.content})),l.value?c=l.value.addListener("click",()=>{o.value&&o.value.open({map:n.value,anchor:l.value})}):o.value.open({map:n.value}),me.forEach(m=>{var g;(g=o.value)===null||g===void 0||g.addListener(m,h=>t(m,h))})))},{immediate:!0})}),N(()=>{var s;c&&c.remove(),o.value&&((s=u.value)===null||s===void 0||s.event.clearInstanceListeners(o.value),o.value.close())}),{infoWindow:o,infoWindowRef:r,hasSlotContent:a}}});se(`
.info-window-wrapper[data-v-5b373d6e] {
  display: none;
}
.mapdiv .info-window-wrapper[data-v-5b373d6e] {
  display: inline-block;
}
`);let yt=oe();re("data-v-5b373d6e");let kt={key:0,class:"info-window-wrapper"};ie();let wt=yt(i=>i.hasSlotContent?(k(),O("div",kt,[x("div",xe({ref:"infoWindowRef"},i.$attrs),[B(i.$slots,"default",{},void 0,!0)],16)])):z("v-if",!0));Le.render=wt;Le.__scopeId="data-v-5b373d6e";function Y(i,e,t,o,r,n){if(!(r-o<=t)){var u=o+r>>1;Pe(i,e,u,o,r,n%2),Y(i,e,t,o,u-1,n+1),Y(i,e,t,u+1,r,n+1)}}function Pe(i,e,t,o,r,n){for(;r>o;){if(600<r-o){var u=r-o+1,l=t-o+1,c=Math.log(u),a=.5*Math.exp(2*c/3);c=.5*Math.sqrt(c*a*(u-a)/u)*(0>l-u/2?-1:1),Pe(i,e,t,Math.max(o,Math.floor(t-l*a/u+c)),Math.min(r,Math.floor(t+(u-l)*a/u+c)),n)}for(u=e[2*t+n],l=o,a=r,$(i,e,o,t),e[2*r+n]>u&&$(i,e,o,r);l<a;){for($(i,e,l,a),l++,a--;e[2*l+n]<u;)l++;for(;e[2*a+n]>u;)a--}e[2*o+n]===u?$(i,e,o,a):(a++,$(i,e,a,r)),a<=t&&(o=a+1),t<=a&&(r=a-1)}}function $(i,e,t,o){J(i,t,o),J(e,2*t,2*o),J(e,2*t+1,2*o+1)}function J(i,e,t){let o=i[e];i[e]=i[t],i[t]=o}let xt=i=>i[0],Ct=i=>i[1];class ge{constructor(e,t=xt,o=Ct,r=64,n=Float64Array){this.nodeSize=r,this.points=e;let u=this.ids=new(65536>e.length?Uint16Array:Uint32Array)(e.length);n=this.coords=new n(2*e.length);for(let l=0;l<e.length;l++)u[l]=l,n[2*l]=t(e[l]),n[2*l+1]=o(e[l]);Y(u,n,r,0,u.length-1,0)}range(e,t,o,r){{var n=this.ids,u=this.coords,l=this.nodeSize;let a=[0,n.length-1,0],s=[],d,p;for(;a.length;){var c=a.pop();let m=a.pop(),g=a.pop();if(m-g<=l){for(c=g;c<=m;c++)d=u[2*c],p=u[2*c+1],d>=e&&d<=o&&p>=t&&p<=r&&s.push(n[c]);continue}let h=Math.floor((g+m)/2);d=u[2*h],p=u[2*h+1],d>=e&&d<=o&&p>=t&&p<=r&&s.push(n[h]);let v=(c+1)%2;(c===0?e<=d:t<=p)&&(a.push(g),a.push(h-1),a.push(v)),(c===0?o>=d:r>=p)&&(a.push(h+1),a.push(m),a.push(v))}e=s}return e}within(e,t,o){{var r=this.ids,n=this.coords,u=this.nodeSize;let d=[0,r.length-1,0],p=[],m=o*o;for(;d.length;){var l=d.pop();let g=d.pop();var c=d.pop();if(g-c<=u){for(l=c;l<=g;l++){c=n[2*l]-e;var a=n[2*l+1]-t;c=c*c+a*a,c<=m&&p.push(r[l])}continue}a=Math.floor((c+g)/2);let h=n[2*a],v=n[2*a+1];{var s=h-e;let w=v-t;s=s*s+w*w}s<=m&&p.push(r[a]),s=(l+1)%2,(l===0?e-o<=h:t-o<=v)&&(d.push(c),d.push(a-1),d.push(s)),(l===0?e+o>=h:t+o>=v)&&(d.push(a+1),d.push(g),d.push(s))}e=p}return e}}let _t={minZoom:0,maxZoom:16,minPoints:2,radius:40,extent:512,nodeSize:64,log:!1,generateId:!1,reduce:null,map:i=>i},H=Math.fround||(i=>e=>(i[0]=+e,i[0]))(new Float32Array(1));class Mt{constructor(e){this.options=j(Object.create(_t),e),this.trees=Array(this.options.maxZoom+1)}load(e){let{log:t,minZoom:o,maxZoom:r,nodeSize:n}=this.options;t&&console.time("total time");var u=`prepare ${e.length} points`;t&&console.time(u),this.points=e;let l=[];for(let c=0;c<e.length;c++)e[c].geometry&&l.push(It(e[c],c));for(this.trees[r+1]=new ge(l,fe,ye,n,Float32Array),t&&console.timeEnd(u),e=r;e>=o;e--)u=+Date.now(),l=this._cluster(l,e),this.trees[e]=new ge(l,fe,ye,n,Float32Array),t&&console.log("z%d: %d clusters in %dms",e,l.length,+Date.now()-u);return t&&console.timeEnd("total time"),this}getClusters(e,t){let o=((e[0]+180)%360+360)%360-180;var r=Math.max(-90,Math.min(90,e[1])),n=e[2]===180?180:((e[2]+180)%360+360)%360-180;let u=Math.max(-90,Math.min(90,e[3]));if(360<=e[2]-e[0])o=-180,n=180;else if(o>n){var l=this.getClusters([o,r,180,u],t);return r=this.getClusters([-180,r,n,u],t),l.concat(r)}t=this.trees[this._limitZoom(t)],n=t.range(o/360+.5,F(u),n/360+.5,F(r)),r=[];for(l of n)n=t.points[l],r.push(n.numPoints?ve(n):this.points[n.index]);return r}getChildren(e){var t=this._getOriginId(e),o=this._getOriginZoom(e);let r=this.trees[o];if(!r||(t=r.points[t],!t))throw Error("No cluster with the specified id.");t=r.within(t.x,t.y,this.options.radius/(this.options.extent*Math.pow(2,o-1))),o=[];for(let n of t)t=r.points[n],t.parentId===e&&o.push(t.numPoints?ve(t):this.points[t.index]);if(o.length===0)throw Error("No cluster with the specified id.");return o}getLeaves(e,t,o){let r=[];return this._appendLeaves(r,e,t||10,o||0,0),r}getTile(e,t,o){let r=this.trees[this._limitZoom(e)];e=Math.pow(2,e);let{extent:n,radius:u}=this.options,l=u/n,c=(o-l)/e,a=(o+1+l)/e,s={features:[]};return this._addTileFeatures(r.range((t-l)/e,c,(t+1+l)/e,a),r.points,t,o,e,s),t===0&&this._addTileFeatures(r.range(1-l/e,c,1,a),r.points,e,o,e,s),t===e-1&&this._addTileFeatures(r.range(0,c,l/e,a),r.points,-1,o,e,s),s.features.length?s:null}getClusterExpansionZoom(e){let t=this._getOriginZoom(e)-1;for(;t<=this.options.maxZoom&&(e=this.getChildren(e),t++,e.length===1);)e=e[0].properties.cluster_id;return t}_appendLeaves(e,t,o,r,n){t=this.getChildren(t);for(let u of t)if((t=u.properties)&&t.cluster?n=n+t.point_count<=r?n+t.point_count:this._appendLeaves(e,t.cluster_id,o,r,n):n<r?n++:e.push(u),e.length===o)break;return n}_addTileFeatures(e,t,o,r,n,u){for(let a of e){e=t[a];let s=e.numPoints;var l=void 0;let d;var c=void 0;s?(l=Ee(e),d=e.x,c=e.y):(c=this.points[e.index],l=c.properties,d=c.geometry.coordinates[0]/360+.5,c=F(c.geometry.coordinates[1])),l={type:1,geometry:[[Math.round(this.options.extent*(d*n-o)),Math.round(this.options.extent*(c*n-r))]],tags:l};let p;s?p=e.id:this.options.generateId?p=e.index:this.points[e.index].id&&(p=this.points[e.index].id),p!==void 0&&(l.id=p),u.features.push(l)}}_limitZoom(e){return Math.max(this.options.minZoom,Math.min(Math.floor(+e),this.options.maxZoom+1))}_cluster(e,t){let o=[],{radius:r,extent:n,reduce:u,minPoints:l}=this.options,c=r/(n*Math.pow(2,t));for(let m=0;m<e.length;m++){var a=e[m];if(a.zoom<=t)continue;a.zoom=t;let g=this.trees[t+1];var s=g.within(a.x,a.y,c),d=a.numPoints||1;let h=d;for(let v of s){var p=g.points[v];p.zoom>t&&(h+=p.numPoints||1)}if(h>d&&h>=l){p=a.x*d;let v=a.y*d;d=u&&1<d?this._map(a,!0):null;let w=(m<<5)+(t+1)+this.points.length;for(let A of s){if(s=g.points[A],s.zoom<=t)continue;s.zoom=t;let L=s.numPoints||1;p+=s.x*L,v+=s.y*L,s.parentId=w,u&&(d||(d=this._map(a,!0)),u(d,this._map(s)))}a.parentId=w,o.push(bt(p/h,v/h,w,h,d))}else if(o.push(a),1<h)for(let v of s)a=g.points[v],a.zoom<=t||(a.zoom=t,o.push(a))}return o}_getOriginId(e){return e-this.points.length>>5}_getOriginZoom(e){return(e-this.points.length)%32}_map(e,t){if(e.numPoints)return t?j({},e.properties):e.properties;e=this.points[e.index].properties;let o=this.options.map(e);return t&&o===e?j({},o):o}}function bt(i,e,t,o,r){return{x:H(i),y:H(e),zoom:1/0,id:t,parentId:-1,numPoints:o,properties:r}}function It(i,e){let[t,o]=i.geometry.coordinates;return{x:H(t/360+.5),y:H(F(o)),zoom:1/0,index:e,parentId:-1}}function ve(i){var e=i.id,t=Ee(i);return{type:"Feature",id:e,properties:t,geometry:{type:"Point",coordinates:[360*(i.x-.5),360*Math.atan(Math.exp((180-360*i.y)*Math.PI/180))/Math.PI-90]}}}function Ee(i){let e=i.numPoints,t=1e4<=e?`${Math.round(e/1e3)}k`:1e3<=e?`${Math.round(e/100)/10}k`:e;return j(j({},i.properties),{cluster:!0,cluster_id:i.id,point_count:e,point_count_abbreviated:t})}function F(i){return i=Math.sin(i*Math.PI/180),i=.5-.25*Math.log((1+i)/(1-i))/Math.PI,0>i?0:1<i?1:i}function j(i,e){for(let t in e)i[t]=e[t];return i}function fe(i){return i.x}function ye(i){return i.y}class Q{constructor({markers:e,position:t}){this.markers=e,t&&(this._position=t instanceof google.maps.LatLng?t:new google.maps.LatLng(t))}get bounds(){if(this.markers.length!==0||this._position)return this.markers.reduce((e,t)=>e.extend(t.getPosition()),new google.maps.LatLngBounds(this._position,this._position))}get position(){return this._position||this.bounds.getCenter()}get count(){return this.markers.filter(e=>e.getVisible()).length}push(e){this.markers.push(e)}delete(){this.marker&&(this.marker.setMap(null),delete this.marker),this.markers.length=0}}class St{constructor({maxZoom:e=16}){this.maxZoom=e}noop({markers:e}){return Ot(e)}}let Ot=i=>i.map(e=>new Q({position:e.getPosition(),markers:[e]}));class Lt extends St{constructor(e){var{maxZoom:t,radius:o=60}=e,r=["maxZoom","radius"],n={},u;for(u in e)Object.prototype.hasOwnProperty.call(e,u)&&0>r.indexOf(u)&&(n[u]=e[u]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function"){var l=0;for(u=Object.getOwnPropertySymbols(e);l<u.length;l++)0>r.indexOf(u[l])&&Object.prototype.propertyIsEnumerable.call(e,u[l])&&(n[u[l]]=e[u[l]])}super({maxZoom:t}),this.superCluster=new Mt(Object.assign({maxZoom:this.maxZoom,radius:o},n)),this.state={zoom:null}}calculate(e){let t=!1;if(!G(e.markers,this.markers)){t=!0,this.markers=[...e.markers];var o=this.markers.map(r=>({type:"Feature",geometry:{type:"Point",coordinates:[r.getPosition().lng(),r.getPosition().lat()]},properties:{marker:r}}));this.superCluster.load(o)}return o={zoom:e.map.getZoom()},t||this.state.zoom>this.maxZoom&&o.zoom>this.maxZoom||(t=t||!G(this.state,o)),this.state=o,t&&(this.clusters=this.cluster(e)),{clusters:this.clusters,changed:t}}cluster({map:e}){return this.superCluster.getClusters([-180,-90,180,90],Math.round(e.getZoom())).map(this.transformCluster.bind(this))}transformCluster({geometry:{coordinates:[e,t]},properties:o}){return o.cluster?new Q({markers:this.superCluster.getLeaves(o.cluster_id,1/0).map(r=>r.properties.marker),position:new google.maps.LatLng({lat:t,lng:e})}):(e=o.marker,new Q({markers:[e],position:e.getPosition()}))}}class Pt{constructor(e,t){this.markers={sum:e.length},e=t.map(r=>r.count);let o=e.reduce((r,n)=>r+n,0);this.clusters={count:t.length,markers:{mean:o/t.length,sum:o,min:Math.min(...e),max:Math.max(...e)}}}}class Et{render({count:e,position:t},o){return o=window.btoa(`
  <svg fill="${e>Math.max(10,o.clusters.markers.mean)?"#ff0000":"#0000ff"}" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 240">
    <circle cx="120" cy="120" opacity=".6" r="70" />
    <circle cx="120" cy="120" opacity=".3" r="90" />
    <circle cx="120" cy="120" opacity=".2" r="110" />
  </svg>`),new google.maps.Marker({position:t,icon:{url:`data:image/svg+xml;base64,${o}`,scaledSize:new google.maps.Size(45,45)},label:{text:String(e),color:"rgba(255,255,255,0.9)",fontSize:"12px"},title:`Cluster of ${e} markers`,zIndex:Number(google.maps.Marker.MAX_ZINDEX)+e})}}class le{constructor(){var e=le,t=google.maps.OverlayView;for(let o in t.prototype)e.prototype[o]=t.prototype[o]}}var T,ae=T||(T={});ae.CLUSTERING_BEGIN="clusteringbegin";ae.CLUSTERING_END="clusteringend";ae.CLUSTER_CLICK="click";let zt=(i,e,t)=>{t.fitBounds(e.bounds)};class Tt extends le{constructor({map:e,markers:t=[],algorithm:o=new Lt({}),renderer:r=new Et,onClusterClick:n=zt}){super(),this.markers=[...t],this.clusters=[],this.algorithm=o,this.renderer=r,this.onClusterClick=n,e&&this.setMap(e)}addMarker(e,t){this.markers.includes(e)||(this.markers.push(e),t||this.render())}addMarkers(e,t){e.forEach(o=>{this.addMarker(o,!0)}),t||this.render()}removeMarker(e,t){let o=this.markers.indexOf(e);return o===-1?!1:(e.setMap(null),this.markers.splice(o,1),t||this.render(),!0)}removeMarkers(e,t){let o=!1;return e.forEach(r=>{o=this.removeMarker(r,!0)||o}),o&&!t&&this.render(),o}clearMarkers(e){this.markers.length=0,e||this.render()}render(){let e=this.getMap();if(e instanceof google.maps.Map&&this.getProjection()){google.maps.event.trigger(this,T.CLUSTERING_BEGIN,this);let{clusters:t,changed:o}=this.algorithm.calculate({markers:this.markers,map:e,mapCanvasProjection:this.getProjection()});(o||o==null)&&(this.reset(),this.clusters=t,this.renderClusters()),google.maps.event.trigger(this,T.CLUSTERING_END,this)}}onAdd(){this.idleListener=this.getMap().addListener("idle",this.render.bind(this)),this.render()}onRemove(){google.maps.event.removeListener(this.idleListener),this.reset()}reset(){this.markers.forEach(e=>e.setMap(null)),this.clusters.forEach(e=>e.delete()),this.clusters=[]}renderClusters(){let e=new Pt(this.markers,this.clusters),t=this.getMap();this.clusters.forEach(o=>{o.markers.length===1?o.marker=o.markers[0]:(o.marker=this.renderer.render(o,e),this.onClusterClick&&o.marker.addListener("click",r=>{google.maps.event.trigger(this,T.CLUSTER_CLICK,o),this.onClusterClick(r,o,t)})),o.marker.setMap(t)})}}let ke=Object.values(T);var $t=I({name:"MarkerCluster",props:{options:{type:Object,default:()=>({})}},emits:ke,setup(i,{emit:e,expose:t,slots:o}){let r=f(),n=M(Z,f()),u=M(R,f());return q(be,r),b(n,()=>{n.value&&(r.value=E(new Tt({map:n.value,...i.options})),ke.forEach(l=>{var c;(c=r.value)===null||c===void 0||c.addListener(l,a=>e(l,a))}))},{immediate:!0}),N(()=>{var l;r.value&&((l=u.value)===null||l===void 0||l.event.clearInstanceListeners(r.value),r.value.clearMarkers(),r.value.setMap(null))}),t({markerCluster:r}),()=>{var l;return(l=o.default)===null||l===void 0?void 0:l.call(o)}}}),ze=I({inheritAttrs:!1,props:{options:{type:Object,required:!0}},setup(i,{slots:e,emit:t}){let o=f(),r=f(),n=D(()=>{var l;return(l=e.default)===null||l===void 0?void 0:l.call(e).some(c=>c.type!==_e)}),u=D(()=>({...i.options,element:o.value}));return te(()=>{r=Oe(K,[],u,t)}),{customMarkerRef:o,customMarker:r,hasSlotContent:n}}});se(`
.custom-marker-wrapper[data-v-b9d5ec8a] {
  display: none;
}
.mapdiv .custom-marker-wrapper[data-v-b9d5ec8a] {
  display: inline-block;
}
`);let qt=oe();re("data-v-b9d5ec8a");let jt={key:0,class:"custom-marker-wrapper"};ie();let Bt=qt(i=>i.hasSlotContent?(k(),O("div",jt,[x("div",xe({ref:"customMarkerRef",style:{cursor:i.$attrs.onClick?"pointer":void 0}},i.$attrs),[B(i.$slots,"default",{},void 0,!0)],16)])):z("v-if",!0));ze.render=Bt;ze.__scopeId="data-v-b9d5ec8a";const Nt="AIzaSyDn5Fem8eT41sKO3DcZs47M_Li6JqCNqrs",Ht=I({__name:"index",props:{locations:{type:Array,required:!0}},setup(i){const e=i,t=f(),o=f(18),r=f({lat:0,lng:0});function n(){const c=e.locations,a=c.map(h=>h.lat),s=c.map(h=>h.lng),d=a.reduce((h,v)=>Math.min(h,v),99999),p=a.reduce((h,v)=>Math.max(h,v),-99999),m=s.reduce((h,v)=>Math.min(h,v),99999),g=s.reduce((h,v)=>Math.max(h,v),-99999);r.value={lat:(p+d)/2,lng:(g+m)/2},o.value=l(p,g,d,m,t.value.clientWidth,t.value.clientHeight)}b(()=>e.locations,n,{deep:!0}),b(()=>t.value,n,{deep:!0});function u(c){const a=`&query=${e.locations[c].lat},${e.locations[c].lng}&zoom=18`;window.open(`https://www.google.com/maps/search/?api=1${a}`,"_blank","noopener noreferrer")}function l(c,a,s,d,p,m){const g={height:256,width:256},h=18;function v(W){const U=Math.sin(W*Math.PI/180),X=Math.log((1+U)/(1-U))/2;return Math.max(Math.min(X,Math.PI),-Math.PI)/2}function w(W,U,X){return Math.floor(Math.log(W/U/X)/Math.LN2)}const A=(v(c)-v(s))/Math.PI,L=a-d,V=(L<0?L+360:L)/360,Te=w(m,g.height,A),$e=w(p,g.width,V);return Math.min(Te,$e,h)}return(c,a)=>(k(),S("div",{ref_key:"mapRef",ref:t,class:"w-full h-full"},[x(y(ne),{"api-key":Nt,style:{width:"100%",height:"100%"},center:r.value,zoom:o.value,"fullscreen-control":!0,"map-type-control":!0,"street-view-control":!0,"zoom-control":!0,draggable:!0,onClick:a[0]||(a[0]=s=>u(0))},{default:C(()=>[x(y($t),null,{default:C(()=>[(k(!0),S(ee,null,we(i.locations,(s,d)=>(k(),O(y(gt),{options:{position:s},key:d,onClick:p=>u(d)},null,8,["options","onClick"]))),128))]),_:1})]),_:1},8,["center","zoom"])],512))}});export{Gt as I,Ht as _};
